diff --git a/.circleci/config.yml b/.circleci/config.yml index 2d9fe5c5..1938c119 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ jobs: "test": &test-template working_directory: ~/dashr docker: - - image: byronz/dashr:ci + - image: plotly/dashr:ci environment: PERCY_PARALLEL_TOTAL: '-1' PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'True' @@ -37,7 +37,10 @@ jobs: command: | python -m venv venv . venv/bin/activate - pip install -e git+https://github.com/plotly/dash.git#egg=dash[testing] + git clone --depth 1 https://github.com/plotly/dash.git dash-main + cd dash-main && pip install -e .[dev,testing] --progress-bar off && cd .. + cd dash-main/\@plotly/dash-generator-test-component-nested && npm ci && npm run build && sudo R CMD INSTALL . && cd ../../.. + cd dash-main/\@plotly/dash-generator-test-component-standard && npm ci && npm run build && sudo R CMD INSTALL . && cd ../../.. export PATH=$PATH:/home/circleci/.local/bin/ pytest --nopercyfinalize --junitxml=test-reports/dashr.xml tests/integration/ - store_artifacts: diff --git a/CHANGELOG.md b/CHANGELOG.md index e888e0ab..8f21e910 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,18 @@ # Change Log for Dash for R All notable changes to this project will be documented in this file. +## [0.4.0] - 2020-05-05 +### Added +- Support for inline clientside callbacks in JavaScript [#140](https://github.com/plotly/dashR/pull/140) +- Support for arbitrary file extensions for assets within component libraries [#186](https://github.com/plotly/dashR/pull/186) +- Dash for R now provides a `show_undo_redo` parameter as in Dash for Python [#194](https://github.com/plotly/dashR/pull/194) + +### Changed +- `dash-renderer` updated to v1.4.1 [#195](https://github.com/plotly/dashR/pull/195) +- `dashHtmlComponents` updated to v1.0.3 +- `dashCoreComponents` updated to v1.10.0 +- `dashTable` updated to v4.7.0 + ## [0.3.1] - 2020-02-14 ### Fixed - License file in `dashHtmlComponents` now loads properly when installing Dash for R on systems running Microsoft Windows [#150](https://github.com/plotly/dash-html-components/pull/150) @@ -53,8 +65,8 @@ All notable changes to this project will be documented in this file. - Initial release - Support for `plot_ly` and `ggplotly` "subplots" [#84](https://github.com/plotly/dashR/pull/84) - Improved debugging support [#87](https://github.com/plotly/dashR/pull/87), including Dash Dev Tools and `debug` mode - - Provide a useful warning message when JS dependencies cannot be found [#81](https://github.com/plotly/dashR/pull/81) - - Support for externalized PropTypes introduced + - Provide a useful warning message when JS dependencies cannot be found [#81](https://github.com/plotly/dashR/pull/81) + - Support for externalized PropTypes introduced - Support for `callback_context` added - Options to set `dev_tools_ui` and `dev_tools_props_check` added @@ -69,11 +81,11 @@ All notable changes to this project will be documented in this file. ### Fixed - CSS dependencies are now properly loaded [#94](https://github.com/plotly/dashR/pull/94) - - + + ## [0.0.7] - 2019-04-09 ### Removed -- `dependencies_set`, `dependencies_get`, and `dependencies_get_internal` methods removed from package +- `dependencies_set`, `dependencies_get`, and `dependencies_get_internal` methods removed from package ### [0.0.6] - 2019-04-08 @@ -107,9 +119,9 @@ All notable changes to this project will be documented in this file. ### [0.0.3] - 2019-03-08 ### Added -- `assert_valid_callbacks` to validate callback handler definitions and ordering of `input` and `state` using +- `assert_valid_callbacks` to validate callback handler definitions and ordering of `input` and `state` using new `valid_seq` function - + ### Changed - Callback method and handling refactored to match current Dash for Python API [#51](https://github.com/plotly/dashR/pull/51) - Handler function for callbacks now passed via `func` argument to `app$callback()` diff --git a/DESCRIPTION b/DESCRIPTION index 57962403..31197c74 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,14 +1,14 @@ Package: dash Title: An Interface to the Dash Ecosystem for Authoring Reactive Web Applications -Version: 0.3.1 +Version: 0.4.0 Authors@R: c(person("Chris", "Parmer", role = c("aut"), email = "chris@plotly.com"), person("Ryan Patrick", "Kyle", role = c("aut", "cre"), comment = c(ORCID = "0000-0001-5829-9867"), email = "ryan@plotly.com"), person("Carson", "Sievert", role = c("aut"), comment = c(ORCID = "0000-0002-4958-2844")), person("Hammad", "Khan", role = c("aut"), email = "hammadkhan@plotly.com"), person(family = "Plotly Technologies", role = "cph")) Description: A framework for building analytical web applications, Dash offers a pleasant and productive development experience. No JavaScript required. Depends: R (>= 3.0.2) Imports: - dashHtmlComponents (== 1.0.2), - dashCoreComponents (== 1.8.0), - dashTable (== 4.6.0), + dashHtmlComponents (== 1.0.3), + dashCoreComponents (== 1.10.0), + dashTable (== 4.7.0), R6, fiery (> 1.0.0), routr (> 0.2.0), @@ -31,9 +31,9 @@ Collate: 'imports.R' 'print.R' 'internal.R' -Remotes: plotly/dash-html-components@6f4e7be, - plotly/dash-core-components@fc153b4, - plotly/dash-table@79d46ca +Remotes: plotly/dash-html-components@e63acfa, + plotly/dash-core-components@e322758, + plotly/dash-table@f5620fd License: MIT + file LICENSE Encoding: UTF-8 LazyData: true diff --git a/NAMESPACE b/NAMESPACE index 6daedb64..e5c7d9ec 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -27,4 +27,4 @@ importFrom(routr,RouteStack) importFrom(routr,ressource_route) importFrom(stats,setNames) importFrom(tools,file_ext) -importFrom(utils,getFromNamespace) \ No newline at end of file +importFrom(utils,getFromNamespace) diff --git a/R/dash.R b/R/dash.R index 14fc024c..48db012c 100644 --- a/R/dash.R +++ b/R/dash.R @@ -18,12 +18,13 @@ #' requests_pathname_prefix = NULL, #' external_scripts = NULL, #' external_stylesheets = NULL, -#' suppress_callback_exceptions = FALSE +#' suppress_callback_exceptions = FALSE, +#' show_undo_redo = FALSE #' ) #' #' @section Arguments: #' \tabular{lll}{ -#' `name` \tab \tab Character. The name of the Dash application (placed in the `` +#' `name` \tab \tab Character. The name of the Dash application (placed in the title #' of the HTML page). DEPRECATED; please use `index_string()` or `interpolate_index()` instead.\cr #' `server` \tab \tab The web server used to power the application. #' Must be a [fiery::Fire] object.\cr @@ -38,6 +39,9 @@ #' cannot use this to prevent access to sensitive files. \cr #' `serve_locally` \tab \tab Logical. Whether to serve HTML dependencies locally or #' remotely (via URL).\cr +#' `compress` \tab \tab Logical. Whether to try to compress files and data served by Fiery. +#' By default, `brotli` is attempted first, then `gzip`, then the `deflate` algorithm, before falling +#' back to `identity`.\cr #' `meta_tags` \tab \tab List of lists. HTML `<meta>`tags to be added to the index page. #' Each list element should have the attributes and values for one tag, eg: #' `list(name = 'description', content = 'My App')`.\cr @@ -53,7 +57,9 @@ #' `external_stylesheets` \tab \tab List. An optional list of valid URLs from which #' to serve CSS for rendered pages.\cr #' `suppress_callback_exceptions` \tab \tab Logical. Whether to relay warnings about -#' possible layout mis-specifications when registering a callback. +#' possible layout mis-specifications when registering a callback.\cr +#' `show_undo_redo` \tab \tab Logical. Set to `TRUE` to enable undo and redo buttons for +#' stepping through the history of the app state. #' } #' #' @section Fields: @@ -87,18 +93,24 @@ #' \describe{ #' \item{output}{a named list including a component `id` and `property`} #' \item{params}{an unnamed list of [input] and [state] statements, each with defined `id` and `property`} -#' \item{func}{any valid R function which generates [output] provided [input] and/or [state] arguments, or a call to [clientsideFunction] including `namespace` and `function_name` arguments for a locally served JavaScript function} +#' \item{func}{any valid R function which generates [output] provided [input] and/or [state] arguments, +#' a character string containing valid JavaScript, or a call to [clientsideFunction] including `namespace` +#' and `function_name` arguments for a locally served JavaScript function} #' } #' The `output` argument defines which layout component property should #' receive the results (via the [output] object). The events that #' trigger the callback are then described by the [input] (and/or [state]) #' object(s) (which should reference layout components), which become #' argument values for R callback handlers defined in `func`. Here `func` may -#' either be an anonymous R function, or a call to `clientsideFunction()`, which -#' describes a locally served JavaScript function instead. The latter defines a -#' "clientside callback", which updates components without passing data to and +#' either be an anonymous R function, a JavaScript function provided as a +#' character string, or a call to `clientsideFunction()`, which describes a +#' locally served JavaScript function instead. The latter two methods define +#' a "clientside callback", which updates components without passing data to and #' from the Dash backend. The latter may offer improved performance relative -#' to callbacks written in R. +#' to callbacks written purely in R. +#' } +#' \item{`title("dash")`}{ +#' The title of the app. If no title is supplied, Dash for R will use 'dash'. #' } #' \item{`title("dash")`}{ #' The title of the app. If no title is supplied, Dash for R will use 'dash'. @@ -119,25 +131,27 @@ #' } #' \item{`get_relative_path(path, requests_pathname_prefix)`}{ #' The `get_relative_path` method simplifies the handling of URLs and pathnames for apps -#' running locally and on a deployment server such as Dash Enterprise. It handles the prefix -#' for requesting assets similar to the `get_asset_url` method, but can also be used for URL handling +#' running locally and on a deployment server such as Dash Enterprise. It handles the prefix +#' for requesting assets similar to the `get_asset_url` method, but can also be used for URL handling #' in components such as `dccLink` or `dccLocation`. For example, `app$get_relative_url("/page/")` #' would return `/app/page/` for an app running on a deployment server. The path must be prefixed with #' a `/`. #' \describe{ #' \item{path}{Character. A path string prefixed with a leading `/` which directs at a path or asset directory.} #' \item{requests_pathname_prefix}{Character. The pathname prefix for the app on a deployed application. Defaults to the environment variable set by the server, or `""` if run locally.} +#' } #' } #' \item{`strip_relative_path(path, requests_pathname_prefix)`}{ #' The `strip_relative_path` method simplifies the handling of URLs and pathnames for apps #' running locally and on a deployment server such as Dash Enterprise. It acts almost opposite the `get_relative_path` #' method, by taking a `relative path` as an input, and returning the `path` stripped of the `requests_pathname_prefix`, -#' and any leading or trailing `/`. For example, a path string `/app/homepage/`, would be returned as -#' `homepage`. This is particularly useful for `dccLocation` URL routing. +#' and any leading or trailing `/`. For example, a path string `/app/homepage/`, would be returned as +#' `homepage`. This is particularly useful for `dccLocation` URL routing. #' \describe{ #' \item{path}{Character. A path string prefixed with a leading `/` and `requests_pathname_prefix` which directs at a path or asset directory.} #' \item{requests_pathname_prefix}{Character. The pathname prefix for the app on a deployed application. Defaults to the environment variable set by the server, or `""` if run locally.} -#' } +#' } +#' } #' \item{`index_string(string)`}{ #' The `index_string` method allows the specification of a custom index by changing #' the default `HTML` template that is generated by the Dash UI. Meta tags, CSS, Javascript, @@ -183,9 +197,9 @@ #' but offers the ability to change the default components of the Dash index as seen in the example below: #' \preformatted{ #' app$interpolate_index( -#' template_index, -#' metas = "<meta_charset='UTF-8'/>", -#' renderer = renderer, +#' template_index, +#' metas = "<meta_charset='UTF-8'/>", +#' renderer = renderer, #' config = config) #' } #' \describe{ @@ -193,7 +207,7 @@ #' \item{...}{Named List. The unnamed arguments can be passed as individual named lists corresponding to the components #' of the Dash html index. These include the same arguments as those found in the `index_string()` template.} #' } -#' } +#' } #' \item{`run_server(host = Sys.getenv('HOST', "127.0.0.1"), #' port = Sys.getenv('PORT', 8050), block = TRUE, showcase = FALSE, ...)`}{ #' The `run_server` method has 13 formal arguments, several of which are optional: @@ -268,7 +282,8 @@ Dash <- R6::R6Class( external_scripts = NULL, external_stylesheets = NULL, compress = TRUE, - suppress_callback_exceptions = FALSE) { + suppress_callback_exceptions = FALSE, + show_undo_redo = FALSE) { # argument type checking assertthat::assert_that(inherits(server, "Fire")) @@ -302,6 +317,7 @@ Dash <- R6::R6Class( self$config$requests_pathname_prefix <- resolvePrefix(requests_pathname_prefix, "DASH_REQUESTS_PATHNAME_PREFIX", url_base_pathname) self$config$external_scripts <- external_scripts self$config$external_stylesheets <- external_stylesheets + self$config$show_undo_redo <- show_undo_redo # ------------------------------------------------------------ # Initialize a route stack and register a static resource route @@ -349,8 +365,6 @@ Dash <- R6::R6Class( response$status <- 200L response$type <- 'json' - - TRUE }) @@ -558,9 +572,25 @@ Dash <- R6::R6Class( dep_path <- system.file(dep_pkg$rpkg_path, package = dep_pkg$rpkg_name) - response$body <- readLines(dep_path, - warn = FALSE, - encoding = "UTF-8") + response$type <- get_mimetype(filename) + + if (grepl("text|javascript", response$type)) { + response$body <- readLines(dep_path, + warn = FALSE, + encoding = "UTF-8") + + if (private$compress && length(response$body) > 0) { + response <- tryCompress(request, response) + } + } else { + file_handle <- file(dep_path, "rb") + file_size <- file.size(dep_path) + + response$body <- readBin(dep_path, + raw(), + file_size) + close(file_handle) + } if (!private$debug && has_fingerprint) { response$status <- 200L @@ -584,13 +614,8 @@ Dash <- R6::R6Class( } else { response$status <- 200L } - - response$type <- get_mimetype(filename) } - if (private$compress && length(response$body) > 0) - response <- tryCompress(request, response) - TRUE }) @@ -626,8 +651,7 @@ Dash <- R6::R6Class( # and opens/closes a file handle if the type is assumed to be binary if (!(is.null(asset_path)) && file.exists(asset_path)) { response$type <- request$headers[["Content-Type"]] %||% - mime::guess_type(asset_to_match, - empty = "application/octet-stream") + get_mimetype(asset_to_match) if (grepl("text|javascript", response$type)) { response$body <- readLines(asset_path, @@ -778,6 +802,25 @@ Dash <- R6::R6Class( if (is.function(func)) { clientside_function <- NULL + } else if (is.character(func)) { + # update the scripts before generating tags, and remove exact + # duplicates from inline_scripts + fn_name <- paste0("_dashprivate_", output$id) + + func <- paste0('<script>\n', + 'var clientside = window.dash_clientside = window.dash_clientside || {};\n', + 'var ns = clientside["', fn_name, '"] = clientside["', fn_name, '"] || {};\n', + 'ns["', output$property, '"] = \n', + func, + '\n;', + '</script>') + + private$inline_scripts <- unique(c(private$inline_scripts, func)) + + clientside_function <- clientsideFunction(namespace = fn_name, + function_name = output$property) + + func <- NULL } else { clientside_function <- func func <- NULL @@ -801,13 +844,13 @@ Dash <- R6::R6Class( } private$callback_context_ }, - + # ------------------------------------------------------------------------ # return asset URLs # ------------------------------------------------------------------------ get_asset_url = function(asset_path, prefix = self$config$requests_pathname_prefix) { app_root_path <- Sys.getenv("DASH_APP_PATH") - + if (app_root_path == "" && getAppPath() != FALSE) { # app loaded via source(), root path is known app_root_path <- dirname(private$app_root_path) @@ -816,14 +859,14 @@ Dash <- R6::R6Class( warning("application not started via source(), and DASH_APP_PATH environment variable is undefined. get_asset_url returns NULL since root path cannot be reliably identified.") return(NULL) } - - asset <- lapply(private$asset_map, + + asset <- lapply(private$asset_map, function(x) { # asset_path should be prepended with the full app root & assets path # if leading slash(es) present in asset_path, remove them before # assembling full asset path asset_path <- file.path(app_root_path, - private$assets_folder, + private$assets_folder, sub(pattern="^/+", replacement="", asset_path)) @@ -831,23 +874,23 @@ Dash <- R6::R6Class( } ) asset <- unlist(asset, use.names = FALSE) - + if (length(asset) == 0) stop(sprintf("the asset path '%s' is not valid; please verify that this path exists within the '%s' directory.", asset_path, private$assets_folder)) - + # strip multiple slashes if present, since we'll # introduce one when we concatenate the prefix and # asset path & prepend the asset name with route prefix return(gsub(pattern="/+", replacement="/", - paste(prefix, - private$assets_url_path, - asset, + paste(prefix, + private$assets_url_path, + asset, sep="/"))) }, - + # ------------------------------------------------------------------------ # return relative asset URLs # ------------------------------------------------------------------------ @@ -1385,6 +1428,9 @@ Dash <- R6::R6Class( # the input/output mapping passed back-and-forth between the client & server callback_map = list(), + # the list of inline scripts passed as strings via (clientside) callbacks + inline_scripts = list(), + # akin to https://github.com/plotly/dash-renderer/blob/master/dash_renderer/__init__.py react_version_enabled= function() { version <- private$dependencies_internal$`react-prod`$version @@ -1455,7 +1501,7 @@ Dash <- R6::R6Class( depsAll <- compact(c( private$react_deps()[private$react_versions() %in% private$react_version_enabled()], private$dependencies_internal[grepl(pattern = "prop-types", x = private$dependencies_internal)], - private$dependencies_internal[grepl(pattern = "polyfill", x = private$dependencies_internal)], + private$dependencies_internal[grepl(pattern = "polyfill", x = private$dependencies_internal)], private$dependencies, private$dependencies_user, private$dependencies_internal[grepl(pattern = "dash-renderer", x = private$dependencies_internal)] @@ -1554,6 +1600,9 @@ Dash <- R6::R6Class( "application/javascript", "var renderer = new DashRenderer();") + # add inline tags + scripts_inline <- private$inline_scripts + # serving order of CSS and JS tags: package -> external -> assets css_tags <- paste(c(css_deps, css_external, @@ -1563,6 +1612,7 @@ Dash <- R6::R6Class( scripts_tags <- paste(c(scripts_deps, scripts_external, scripts_assets, + scripts_inline, scripts_invoke_renderer), collapse = "\n ") @@ -1609,6 +1659,24 @@ Dash <- R6::R6Class( private$.index <- private$template_index } + # define the react-entry-point + app_entry <- "<div id='react-entry-point'><div class='_dash-loading'>Loading...</div></div>" + # define the dash default config key + config <- sprintf("<script id='_dash-config' type='application/json'> %s </script>", to_JSON(self$config)) + + if (is.null(private$name)) + private$name <- 'dash' + + if (!is.null(private$custom_index)) { + string_index <- glue::glue(private$custom_index, .open = "{%", .close = "%}") + + private$.index <- string_index + } + + else if (length(private$template_index) == 1) { + private$.index <- private$template_index + } + else { private$.index <- sprintf( '<!DOCTYPE html> diff --git a/R/internal.R b/R/internal.R index 1bccf976..326336ad 100644 --- a/R/internal.R +++ b/R/internal.R @@ -36,9 +36,9 @@ all_files = FALSE), class = "html_dependency"), `dash-renderer-dev` = structure(list(name = "dash-renderer", - version = "1.2.2", - src = list(href = "https://unpkg.com/dash-renderer@1.2.2", - file = "lib/dash-renderer@1.2.2"), + version = "1.4.1", + src = list(href = "https://unpkg.com/dash-renderer@1.4.1", + file = "lib/dash-renderer@1.4.1"), meta = NULL, script = "dash-renderer/dash_renderer.dev.js", stylesheet = NULL, @@ -48,9 +48,9 @@ all_files = FALSE), class = "html_dependency"), `dash-renderer-map-dev` = structure(list(name = "dash-renderer", - version = "1.2.2", - src = list(href = "https://unpkg.com/dash-renderer@1.2.2", - file = "lib/dash-renderer@1.2.2"), + version = "1.4.1", + src = list(href = "https://unpkg.com/dash-renderer@1.4.1", + file = "lib/dash-renderer@1.4.1"), meta = NULL, script = "dash-renderer/dash_renderer.dev.js.map", stylesheet = NULL, @@ -60,9 +60,9 @@ all_files = FALSE), class = "html_dependency"), `dash-renderer-prod` = structure(list(name = "dash-renderer", - version = "1.2.2", - src = list(href = "https://unpkg.com/dash-renderer@1.2.2", - file = "lib/dash-renderer@1.2.2"), + version = "1.4.1", + src = list(href = "https://unpkg.com/dash-renderer@1.4.1", + file = "lib/dash-renderer@1.4.1"), meta = NULL, script = "dash-renderer/dash_renderer.min.js", stylesheet = NULL, @@ -72,9 +72,9 @@ all_files = FALSE), class = "html_dependency"), `dash-renderer-map-prod` = structure(list(name = "dash-renderer", - version = "1.2.2", - src = list(href = "https://unpkg.com/dash-renderer@1.2.2", - file = "lib/dash-renderer@1.2.2"), + version = "1.4.1", + src = list(href = "https://unpkg.com/dash-renderer@1.4.1", + file = "lib/dash-renderer@1.4.1"), meta = NULL, script = "dash-renderer/dash_renderer.min.js.map", stylesheet = NULL, diff --git a/R/utils.R b/R/utils.R index 31a4e215..71e7baf3 100644 --- a/R/utils.R +++ b/R/utils.R @@ -315,9 +315,9 @@ assert_no_names <- function (x) # filtered out by the subsequent vapply statement clean_dependencies <- function(deps) { dep_list <- lapply(deps, function(x) { - if (is.null(x$src$file) | (is.null(x$script) & is.null(x$stylesheet)) | (is.null(x$package))) { + if (is.null(x$src$file) | (is.null(x$script) & is.null(x$stylesheet) & is.null(x$other)) | (is.null(x$package))) { if (is.null(x$src$href)) - stop(sprintf("Script or CSS dependencies with NULL href fields must include a file path, dependency name, and R package name."), call. = FALSE) + stop(sprintf("Script, CSS, or other dependencies with NULL href fields must include a file path, dependency name, and R package name."), call. = FALSE) else return(NULL) } @@ -467,7 +467,6 @@ resolvePrefix <- function(prefix, environment_var, base_pathname) { prefix_env <- Sys.getenv(environment_var) env_base_pathname <- Sys.getenv("DASH_URL_BASE_PATHNAME") app_name <- Sys.getenv("DASH_APP_NAME") - if (prefix_env != "") return(prefix_env) else if (app_name != "") @@ -504,6 +503,8 @@ get_package_mapping <- function(script_name, url_package, dependencies) { dep_path <- file.path(x$src$file, x$script) else if (!is.null(x$stylesheet)) dep_path <- file.path(x$src$file, x$stylesheet) + else if (!is.null(x$other)) + dep_path <- file.path(x$src$file, x$other) # remove n>1 slashes and replace with / if present; # htmltools seems to permit // in pathnames, but @@ -531,17 +532,17 @@ get_package_mapping <- function(script_name, url_package, dependencies) { } get_mimetype <- function(filename) { - # the tools package is available to all - filename_ext <- file_ext(filename) + filename_ext <- getFileExt(filename) if (filename_ext == 'js') return('application/JavaScript') else if (filename_ext == 'css') return('text/css') - else if (filename_ext == 'map') + else if (filename_ext %in% c('js.map', 'map')) return('application/json') else - return(NULL) + return(mime::guess_type(filename, + empty = "application/octet-stream")) } generate_css_dist_html <- function(href, @@ -1118,6 +1119,8 @@ dashLogger <- function(event = NULL, #' Define a clientside callback #' #' Create a callback that updates the output by calling a clientside (JavaScript) function instead of an R function. +#' Note that it is also possible to specify JavaScript as a character string instead of passing `clientsideFunction`. +#' In this case Dash will inline your JavaScript automatically, without needing to save a script inside `assets`. #' #' @param namespace Character. Describes where the JavaScript function resides (Dash will look #' for the function at `window[namespace][function_name]`.) @@ -1147,7 +1150,16 @@ dashLogger <- function(event = NULL, #' namespace = 'my_clientside_library', #' function_name = 'my_function' #' ) -#' )} +#' ) +#' +#' # Passing JavaScript as a character string +#' app$callback( +#' output('output-clientside', 'children'), +#' params=list(input('input', 'value')), +#' "function (value) { +#' return 'Client says \"' + value + '\"'; +#' }" +#')} clientsideFunction <- function(namespace, function_name) { return(list(namespace=namespace, function_name=function_name)) } @@ -1274,8 +1286,8 @@ tryCompress <- function(request, response) { get_relative_path <- function(requests_pathname, path) { # Returns a path with the config setting 'requests_pathname_prefix' prefixed to # it. This is particularly useful for apps deployed on Dash Enterprise, which makes - # it easier to serve apps under both URL prefixes and localhost. - + # it easier to serve apps under both URL prefixes and localhost. + if (requests_pathname == "/" && path == "") { return("/") } @@ -1295,7 +1307,6 @@ get_relative_path <- function(requests_pathname, path) { strip_relative_path <- function(requests_pathname, path) { # Returns a relative path with the `requests_pathname_prefix` and leadings and trailing # slashes stripped from it. This function is particularly relevant to dccLocation pathname routing. - if (is.null(path)) { return(NULL) } @@ -1316,27 +1327,27 @@ strip_relative_path <- function(requests_pathname, path) { interpolate_str <- function(index_template, ...) { # This function takes an index string, along with # user specified keys for the html keys of the index - # and sets the default values of the keys to the + # and sets the default values of the keys to the # ones specified by the keys themselves, returning - # the custom index template. - template = index_template + # the custom index template. + template = index_template kwargs <- list(...) - + for (name in names(kwargs)) { key = paste0('\\{', name, '\\}') - + template = sub(key, kwargs[[name]], template) - } + } return(template) } validate_keys <- function(string) { required_keys <- c("app_entry", "config", "scripts") - + keys_present <- vapply(required_keys, function(x) grepl(x, string), logical(1)) - + if (!all(keys_present)) { - stop(sprintf("Did you forget to include %s in your index string?", + stop(sprintf("Did you forget to include %s in your index string?", paste(names(keys_present[keys_present==FALSE]), collapse = ", "))) } else { return(string) diff --git a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js b/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js deleted file mode 100644 index 2a909b43..00000000 --- a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js +++ /dev/null @@ -1,35000 +0,0 @@ -window["dash_renderer"] = -/******/ (function(modules) { // webpackBootstrap -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ // expose the modules object (__webpack_modules__) -/******/ __webpack_require__.m = modules; -/******/ -/******/ // expose the module cache -/******/ __webpack_require__.c = installedModules; -/******/ -/******/ // define getter function for harmony exports -/******/ __webpack_require__.d = function(exports, name, getter) { -/******/ if(!__webpack_require__.o(exports, name)) { -/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); -/******/ } -/******/ }; -/******/ -/******/ // define __esModule on exports -/******/ __webpack_require__.r = function(exports) { -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); -/******/ } -/******/ Object.defineProperty(exports, '__esModule', { value: true }); -/******/ }; -/******/ -/******/ // create a fake namespace object -/******/ // mode & 1: value is a module id, require it -/******/ // mode & 2: merge all properties of value into the ns -/******/ // mode & 4: return value when already ns object -/******/ // mode & 8|1: behave like require -/******/ __webpack_require__.t = function(value, mode) { -/******/ if(mode & 1) value = __webpack_require__(value); -/******/ if(mode & 8) return value; -/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; -/******/ var ns = Object.create(null); -/******/ __webpack_require__.r(ns); -/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); -/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); -/******/ return ns; -/******/ }; -/******/ -/******/ // getDefaultExport function for compatibility with non-harmony modules -/******/ __webpack_require__.n = function(module) { -/******/ var getter = module && module.__esModule ? -/******/ function getDefault() { return module['default']; } : -/******/ function getModuleExports() { return module; }; -/******/ __webpack_require__.d(getter, 'a', getter); -/******/ return getter; -/******/ }; -/******/ -/******/ // Object.prototype.hasOwnProperty.call -/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; -/******/ -/******/ // __webpack_public_path__ -/******/ __webpack_require__.p = ""; -/******/ -/******/ -/******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 0); -/******/ }) -/************************************************************************/ -/******/ ({ - -/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@plotly/dash-component-plugins/dist/index.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -!function(e,t){ true?module.exports=t(__webpack_require__(/*! react */ "react")):undefined}(window,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){"use strict";n.r(t);var r=n(0),o=function(e,t){var n,o={isReady:new Promise((function(e){n=e})),get:Object(r.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(n(!0));case 2:o.isReady=!0;case 3:case"end":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},u=function(e){return e&&e._dashprivate_isLazyComponentReady};n.d(t,"asyncDecorator",(function(){return o})),n.d(t,"isReady",(function(){return u}))}])})); - -/***/ }), - -/***/ "./node_modules/base64-js/index.js": -/*!*****************************************!*\ - !*** ./node_modules/base64-js/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.byteLength = byteLength -exports.toByteArray = toByteArray -exports.fromByteArray = fromByteArray - -var lookup = [] -var revLookup = [] -var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array - -var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' -for (var i = 0, len = code.length; i < len; ++i) { - lookup[i] = code[i] - revLookup[code.charCodeAt(i)] = i -} - -// Support decoding URL-safe base64 strings, as Node.js does. -// See: https://en.wikipedia.org/wiki/Base64#URL_applications -revLookup['-'.charCodeAt(0)] = 62 -revLookup['_'.charCodeAt(0)] = 63 - -function getLens (b64) { - var len = b64.length - - if (len % 4 > 0) { - throw new Error('Invalid string. Length must be a multiple of 4') - } - - // Trim off extra bytes after placeholder bytes are found - // See: https://github.com/beatgammit/base64-js/issues/42 - var validLen = b64.indexOf('=') - if (validLen === -1) validLen = len - - var placeHoldersLen = validLen === len - ? 0 - : 4 - (validLen % 4) - - return [validLen, placeHoldersLen] -} - -// base64 is 4/3 + up to two characters of the original data -function byteLength (b64) { - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function _byteLength (b64, validLen, placeHoldersLen) { - return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen -} - -function toByteArray (b64) { - var tmp - var lens = getLens(b64) - var validLen = lens[0] - var placeHoldersLen = lens[1] - - var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) - - var curByte = 0 - - // if there are placeholders, only get up to the last complete 4 chars - var len = placeHoldersLen > 0 - ? validLen - 4 - : validLen - - var i - for (i = 0; i < len; i += 4) { - tmp = - (revLookup[b64.charCodeAt(i)] << 18) | - (revLookup[b64.charCodeAt(i + 1)] << 12) | - (revLookup[b64.charCodeAt(i + 2)] << 6) | - revLookup[b64.charCodeAt(i + 3)] - arr[curByte++] = (tmp >> 16) & 0xFF - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 2) { - tmp = - (revLookup[b64.charCodeAt(i)] << 2) | - (revLookup[b64.charCodeAt(i + 1)] >> 4) - arr[curByte++] = tmp & 0xFF - } - - if (placeHoldersLen === 1) { - tmp = - (revLookup[b64.charCodeAt(i)] << 10) | - (revLookup[b64.charCodeAt(i + 1)] << 4) | - (revLookup[b64.charCodeAt(i + 2)] >> 2) - arr[curByte++] = (tmp >> 8) & 0xFF - arr[curByte++] = tmp & 0xFF - } - - return arr -} - -function tripletToBase64 (num) { - return lookup[num >> 18 & 0x3F] + - lookup[num >> 12 & 0x3F] + - lookup[num >> 6 & 0x3F] + - lookup[num & 0x3F] -} - -function encodeChunk (uint8, start, end) { - var tmp - var output = [] - for (var i = start; i < end; i += 3) { - tmp = - ((uint8[i] << 16) & 0xFF0000) + - ((uint8[i + 1] << 8) & 0xFF00) + - (uint8[i + 2] & 0xFF) - output.push(tripletToBase64(tmp)) - } - return output.join('') -} - -function fromByteArray (uint8) { - var tmp - var len = uint8.length - var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes - var parts = [] - var maxChunkLength = 16383 // must be multiple of 3 - - // go through the array every three bytes, we'll deal with trailing stuff later - for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { - parts.push(encodeChunk( - uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) - )) - } - - // pad the end with zeros, but make sure to not forget the extra bytes - if (extraBytes === 1) { - tmp = uint8[len - 1] - parts.push( - lookup[tmp >> 2] + - lookup[(tmp << 4) & 0x3F] + - '==' - ) - } else if (extraBytes === 2) { - tmp = (uint8[len - 2] << 8) + uint8[len - 1] - parts.push( - lookup[tmp >> 10] + - lookup[(tmp >> 4) & 0x3F] + - lookup[(tmp << 2) & 0x3F] + - '=' - ) - } - - return parts.join('') -} - - -/***/ }), - -/***/ "./node_modules/bowser/src/bowser.js": -/*!*******************************************!*\ - !*** ./node_modules/bowser/src/bowser.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/*! - * Bowser - a browser detector - * https://github.com/ded/bowser - * MIT License | (c) Dustin Diaz 2015 - */ - -!function (root, name, definition) { - if ( true && module.exports) module.exports = definition() - else if (true) __webpack_require__(/*! !webpack amd define */ "./node_modules/webpack/buildin/amd-define.js")(name, definition) - else {} -}(this, 'bowser', function () { - /** - * See useragents.js for examples of navigator.userAgent - */ - - var t = true - - function detect(ua) { - - function getFirstMatch(regex) { - var match = ua.match(regex); - return (match && match.length > 1 && match[1]) || ''; - } - - function getSecondMatch(regex) { - var match = ua.match(regex); - return (match && match.length > 1 && match[2]) || ''; - } - - var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase() - , likeAndroid = /like android/i.test(ua) - , android = !likeAndroid && /android/i.test(ua) - , nexusMobile = /nexus\s*[0-6]\s*/i.test(ua) - , nexusTablet = !nexusMobile && /nexus\s*[0-9]+/i.test(ua) - , chromeos = /CrOS/.test(ua) - , silk = /silk/i.test(ua) - , sailfish = /sailfish/i.test(ua) - , tizen = /tizen/i.test(ua) - , webos = /(web|hpw)(o|0)s/i.test(ua) - , windowsphone = /windows phone/i.test(ua) - , samsungBrowser = /SamsungBrowser/i.test(ua) - , windows = !windowsphone && /windows/i.test(ua) - , mac = !iosdevice && !silk && /macintosh/i.test(ua) - , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua) - , edgeVersion = getSecondMatch(/edg([ea]|ios)\/(\d+(\.\d+)?)/i) - , versionIdentifier = getFirstMatch(/version\/(\d+(\.\d+)?)/i) - , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua) - , mobile = !tablet && /[^-]mobi/i.test(ua) - , xbox = /xbox/i.test(ua) - , result - - if (/opera/i.test(ua)) { - // an old Opera - result = { - name: 'Opera' - , opera: t - , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i) - } - } else if (/opr\/|opios/i.test(ua)) { - // a new Opera - result = { - name: 'Opera' - , opera: t - , version: getFirstMatch(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i) || versionIdentifier - } - } - else if (/SamsungBrowser/i.test(ua)) { - result = { - name: 'Samsung Internet for Android' - , samsungBrowser: t - , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i) - } - } - else if (/Whale/i.test(ua)) { - result = { - name: 'NAVER Whale browser' - , whale: t - , version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/MZBrowser/i.test(ua)) { - result = { - name: 'MZ Browser' - , mzbrowser: t - , version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/coast/i.test(ua)) { - result = { - name: 'Opera Coast' - , coast: t - , version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i) - } - } - else if (/focus/i.test(ua)) { - result = { - name: 'Focus' - , focus: t - , version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/yabrowser/i.test(ua)) { - result = { - name: 'Yandex Browser' - , yandexbrowser: t - , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i) - } - } - else if (/ucbrowser/i.test(ua)) { - result = { - name: 'UC Browser' - , ucbrowser: t - , version: getFirstMatch(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/mxios/i.test(ua)) { - result = { - name: 'Maxthon' - , maxthon: t - , version: getFirstMatch(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/epiphany/i.test(ua)) { - result = { - name: 'Epiphany' - , epiphany: t - , version: getFirstMatch(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/puffin/i.test(ua)) { - result = { - name: 'Puffin' - , puffin: t - , version: getFirstMatch(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i) - } - } - else if (/sleipnir/i.test(ua)) { - result = { - name: 'Sleipnir' - , sleipnir: t - , version: getFirstMatch(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (/k-meleon/i.test(ua)) { - result = { - name: 'K-Meleon' - , kMeleon: t - , version: getFirstMatch(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i) - } - } - else if (windowsphone) { - result = { - name: 'Windows Phone' - , osname: 'Windows Phone' - , windowsphone: t - } - if (edgeVersion) { - result.msedge = t - result.version = edgeVersion - } - else { - result.msie = t - result.version = getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i) - } - } - else if (/msie|trident/i.test(ua)) { - result = { - name: 'Internet Explorer' - , msie: t - , version: getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i) - } - } else if (chromeos) { - result = { - name: 'Chrome' - , osname: 'Chrome OS' - , chromeos: t - , chromeBook: t - , chrome: t - , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) - } - } else if (/edg([ea]|ios)/i.test(ua)) { - result = { - name: 'Microsoft Edge' - , msedge: t - , version: edgeVersion - } - } - else if (/vivaldi/i.test(ua)) { - result = { - name: 'Vivaldi' - , vivaldi: t - , version: getFirstMatch(/vivaldi\/(\d+(\.\d+)?)/i) || versionIdentifier - } - } - else if (sailfish) { - result = { - name: 'Sailfish' - , osname: 'Sailfish OS' - , sailfish: t - , version: getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i) - } - } - else if (/seamonkey\//i.test(ua)) { - result = { - name: 'SeaMonkey' - , seamonkey: t - , version: getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i) - } - } - else if (/firefox|iceweasel|fxios/i.test(ua)) { - result = { - name: 'Firefox' - , firefox: t - , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i) - } - if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) { - result.firefoxos = t - result.osname = 'Firefox OS' - } - } - else if (silk) { - result = { - name: 'Amazon Silk' - , silk: t - , version : getFirstMatch(/silk\/(\d+(\.\d+)?)/i) - } - } - else if (/phantom/i.test(ua)) { - result = { - name: 'PhantomJS' - , phantom: t - , version: getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i) - } - } - else if (/slimerjs/i.test(ua)) { - result = { - name: 'SlimerJS' - , slimer: t - , version: getFirstMatch(/slimerjs\/(\d+(\.\d+)?)/i) - } - } - else if (/blackberry|\bbb\d+/i.test(ua) || /rim\stablet/i.test(ua)) { - result = { - name: 'BlackBerry' - , osname: 'BlackBerry OS' - , blackberry: t - , version: versionIdentifier || getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i) - } - } - else if (webos) { - result = { - name: 'WebOS' - , osname: 'WebOS' - , webos: t - , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i) - }; - /touchpad\//i.test(ua) && (result.touchpad = t) - } - else if (/bada/i.test(ua)) { - result = { - name: 'Bada' - , osname: 'Bada' - , bada: t - , version: getFirstMatch(/dolfin\/(\d+(\.\d+)?)/i) - }; - } - else if (tizen) { - result = { - name: 'Tizen' - , osname: 'Tizen' - , tizen: t - , version: getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || versionIdentifier - }; - } - else if (/qupzilla/i.test(ua)) { - result = { - name: 'QupZilla' - , qupzilla: t - , version: getFirstMatch(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i) || versionIdentifier - } - } - else if (/chromium/i.test(ua)) { - result = { - name: 'Chromium' - , chromium: t - , version: getFirstMatch(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i) || versionIdentifier - } - } - else if (/chrome|crios|crmo/i.test(ua)) { - result = { - name: 'Chrome' - , chrome: t - , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) - } - } - else if (android) { - result = { - name: 'Android' - , version: versionIdentifier - } - } - else if (/safari|applewebkit/i.test(ua)) { - result = { - name: 'Safari' - , safari: t - } - if (versionIdentifier) { - result.version = versionIdentifier - } - } - else if (iosdevice) { - result = { - name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod' - } - // WTF: version is not part of user agent in web apps - if (versionIdentifier) { - result.version = versionIdentifier - } - } - else if(/googlebot/i.test(ua)) { - result = { - name: 'Googlebot' - , googlebot: t - , version: getFirstMatch(/googlebot\/(\d+(\.\d+))/i) || versionIdentifier - } - } - else { - result = { - name: getFirstMatch(/^(.*)\/(.*) /), - version: getSecondMatch(/^(.*)\/(.*) /) - }; - } - - // set webkit or gecko flag for browsers based on these engines - if (!result.msedge && /(apple)?webkit/i.test(ua)) { - if (/(apple)?webkit\/537\.36/i.test(ua)) { - result.name = result.name || "Blink" - result.blink = t - } else { - result.name = result.name || "Webkit" - result.webkit = t - } - if (!result.version && versionIdentifier) { - result.version = versionIdentifier - } - } else if (!result.opera && /gecko\//i.test(ua)) { - result.name = result.name || "Gecko" - result.gecko = t - result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i) - } - - // set OS flags for platforms that have multiple browsers - if (!result.windowsphone && (android || result.silk)) { - result.android = t - result.osname = 'Android' - } else if (!result.windowsphone && iosdevice) { - result[iosdevice] = t - result.ios = t - result.osname = 'iOS' - } else if (mac) { - result.mac = t - result.osname = 'macOS' - } else if (xbox) { - result.xbox = t - result.osname = 'Xbox' - } else if (windows) { - result.windows = t - result.osname = 'Windows' - } else if (linux) { - result.linux = t - result.osname = 'Linux' - } - - function getWindowsVersion (s) { - switch (s) { - case 'NT': return 'NT' - case 'XP': return 'XP' - case 'NT 5.0': return '2000' - case 'NT 5.1': return 'XP' - case 'NT 5.2': return '2003' - case 'NT 6.0': return 'Vista' - case 'NT 6.1': return '7' - case 'NT 6.2': return '8' - case 'NT 6.3': return '8.1' - case 'NT 10.0': return '10' - default: return undefined - } - } - - // OS version extraction - var osVersion = ''; - if (result.windows) { - osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i)) - } else if (result.windowsphone) { - osVersion = getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i); - } else if (result.mac) { - osVersion = getFirstMatch(/Mac OS X (\d+([_\.\s]\d+)*)/i); - osVersion = osVersion.replace(/[_\s]/g, '.'); - } else if (iosdevice) { - osVersion = getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i); - osVersion = osVersion.replace(/[_\s]/g, '.'); - } else if (android) { - osVersion = getFirstMatch(/android[ \/-](\d+(\.\d+)*)/i); - } else if (result.webos) { - osVersion = getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i); - } else if (result.blackberry) { - osVersion = getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i); - } else if (result.bada) { - osVersion = getFirstMatch(/bada\/(\d+(\.\d+)*)/i); - } else if (result.tizen) { - osVersion = getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i); - } - if (osVersion) { - result.osversion = osVersion; - } - - // device type extraction - var osMajorVersion = !result.windows && osVersion.split('.')[0]; - if ( - tablet - || nexusTablet - || iosdevice == 'ipad' - || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile))) - || result.silk - ) { - result.tablet = t - } else if ( - mobile - || iosdevice == 'iphone' - || iosdevice == 'ipod' - || android - || nexusMobile - || result.blackberry - || result.webos - || result.bada - ) { - result.mobile = t - } - - // Graded Browser Support - // http://developer.yahoo.com/yui/articles/gbs - if (result.msedge || - (result.msie && result.version >= 10) || - (result.yandexbrowser && result.version >= 15) || - (result.vivaldi && result.version >= 1.0) || - (result.chrome && result.version >= 20) || - (result.samsungBrowser && result.version >= 4) || - (result.whale && compareVersions([result.version, '1.0']) === 1) || - (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) || - (result.focus && compareVersions([result.version, '1.0']) === 1) || - (result.firefox && result.version >= 20.0) || - (result.safari && result.version >= 6) || - (result.opera && result.version >= 10.0) || - (result.ios && result.osversion && result.osversion.split(".")[0] >= 6) || - (result.blackberry && result.version >= 10.1) - || (result.chromium && result.version >= 20) - ) { - result.a = t; - } - else if ((result.msie && result.version < 10) || - (result.chrome && result.version < 20) || - (result.firefox && result.version < 20.0) || - (result.safari && result.version < 6) || - (result.opera && result.version < 10.0) || - (result.ios && result.osversion && result.osversion.split(".")[0] < 6) - || (result.chromium && result.version < 20) - ) { - result.c = t - } else result.x = t - - return result - } - - var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '') - - bowser.test = function (browserList) { - for (var i = 0; i < browserList.length; ++i) { - var browserItem = browserList[i]; - if (typeof browserItem=== 'string') { - if (browserItem in bowser) { - return true; - } - } - } - return false; - } - - /** - * Get version precisions count - * - * @example - * getVersionPrecision("1.10.3") // 3 - * - * @param {string} version - * @return {number} - */ - function getVersionPrecision(version) { - return version.split(".").length; - } - - /** - * Array::map polyfill - * - * @param {Array} arr - * @param {Function} iterator - * @return {Array} - */ - function map(arr, iterator) { - var result = [], i; - if (Array.prototype.map) { - return Array.prototype.map.call(arr, iterator); - } - for (i = 0; i < arr.length; i++) { - result.push(iterator(arr[i])); - } - return result; - } - - /** - * Calculate browser version weight - * - * @example - * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1 - * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1 - * compareVersions(['1.10.2.1', '1.10.2.1']); // 0 - * compareVersions(['1.10.2.1', '1.0800.2']); // -1 - * - * @param {Array<String>} versions versions to compare - * @return {Number} comparison result - */ - function compareVersions(versions) { - // 1) get common precision for both versions, for example for "10.0" and "9" it should be 2 - var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1])); - var chunks = map(versions, function (version) { - var delta = precision - getVersionPrecision(version); - - // 2) "9" -> "9.0" (for precision = 2) - version = version + new Array(delta + 1).join(".0"); - - // 3) "9.0" -> ["000000000"", "000000009"] - return map(version.split("."), function (chunk) { - return new Array(20 - chunk.length).join("0") + chunk; - }).reverse(); - }); - - // iterate in reverse order by reversed chunks array - while (--precision >= 0) { - // 4) compare: "000000009" > "000000010" = false (but "9" > "10" = true) - if (chunks[0][precision] > chunks[1][precision]) { - return 1; - } - else if (chunks[0][precision] === chunks[1][precision]) { - if (precision === 0) { - // all version chunks are same - return 0; - } - } - else { - return -1; - } - } - } - - /** - * Check if browser is unsupported - * - * @example - * bowser.isUnsupportedBrowser({ - * msie: "10", - * firefox: "23", - * chrome: "29", - * safari: "5.1", - * opera: "16", - * phantom: "534" - * }); - * - * @param {Object} minVersions map of minimal version to browser - * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map - * @param {String} [ua] user agent string - * @return {Boolean} - */ - function isUnsupportedBrowser(minVersions, strictMode, ua) { - var _bowser = bowser; - - // make strictMode param optional with ua param usage - if (typeof strictMode === 'string') { - ua = strictMode; - strictMode = void(0); - } - - if (strictMode === void(0)) { - strictMode = false; - } - if (ua) { - _bowser = detect(ua); - } - - var version = "" + _bowser.version; - for (var browser in minVersions) { - if (minVersions.hasOwnProperty(browser)) { - if (_bowser[browser]) { - if (typeof minVersions[browser] !== 'string') { - throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions)); - } - - // browser version and min supported version. - return compareVersions([version, minVersions[browser]]) < 0; - } - } - } - - return strictMode; // not found - } - - /** - * Check if browser is supported - * - * @param {Object} minVersions map of minimal version to browser - * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map - * @param {String} [ua] user agent string - * @return {Boolean} - */ - function check(minVersions, strictMode, ua) { - return !isUnsupportedBrowser(minVersions, strictMode, ua); - } - - bowser.isUnsupportedBrowser = isUnsupportedBrowser; - bowser.compareVersions = compareVersions; - bowser.check = check; - - /* - * Set our detect method to the main bowser object so we can - * reuse it to test other user agents. - * This is needed to implement future tests. - */ - bowser._detect = detect; - - /* - * Set our detect public method to the main bowser object - * This is needed to implement bowser in server side - */ - bowser.detect = detect; - return bowser -}); - - -/***/ }), - -/***/ "./node_modules/buffer/index.js": -/*!**************************************!*\ - !*** ./node_modules/buffer/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) {/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org> - * @license MIT - */ -/* eslint-disable no-proto */ - - - -var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js") -var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js") -var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js") - -exports.Buffer = Buffer -exports.SlowBuffer = SlowBuffer -exports.INSPECT_MAX_BYTES = 50 - -/** - * If `Buffer.TYPED_ARRAY_SUPPORT`: - * === true Use Uint8Array implementation (fastest) - * === false Use Object implementation (most compatible, even IE6) - * - * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, - * Opera 11.6+, iOS 4.2+. - * - * Due to various browser bugs, sometimes the Object implementation will be used even - * when the browser supports typed arrays. - * - * Note: - * - * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, - * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. - * - * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. - * - * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of - * incorrect length in some situations. - - * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they - * get the Object implementation, which is slower but behaves correctly. - */ -Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined - ? global.TYPED_ARRAY_SUPPORT - : typedArraySupport() - -/* - * Export kMaxLength after typed array support is determined. - */ -exports.kMaxLength = kMaxLength() - -function typedArraySupport () { - try { - var arr = new Uint8Array(1) - arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} - return arr.foo() === 42 && // typed array instances can be augmented - typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` - arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` - } catch (e) { - return false - } -} - -function kMaxLength () { - return Buffer.TYPED_ARRAY_SUPPORT - ? 0x7fffffff - : 0x3fffffff -} - -function createBuffer (that, length) { - if (kMaxLength() < length) { - throw new RangeError('Invalid typed array length') - } - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = new Uint8Array(length) - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - if (that === null) { - that = new Buffer(length) - } - that.length = length - } - - return that -} - -/** - * The Buffer constructor returns instances of `Uint8Array` that have their - * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of - * `Uint8Array`, so the returned instances will have all the node `Buffer` methods - * and the `Uint8Array` methods. Square bracket notation works as expected -- it - * returns a single octet. - * - * The `Uint8Array` prototype remains unmodified. - */ - -function Buffer (arg, encodingOrOffset, length) { - if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { - return new Buffer(arg, encodingOrOffset, length) - } - - // Common case. - if (typeof arg === 'number') { - if (typeof encodingOrOffset === 'string') { - throw new Error( - 'If encoding is specified then the first argument must be a string' - ) - } - return allocUnsafe(this, arg) - } - return from(this, arg, encodingOrOffset, length) -} - -Buffer.poolSize = 8192 // not used by this implementation - -// TODO: Legacy, not needed anymore. Remove in next major version. -Buffer._augment = function (arr) { - arr.__proto__ = Buffer.prototype - return arr -} - -function from (that, value, encodingOrOffset, length) { - if (typeof value === 'number') { - throw new TypeError('"value" argument must not be a number') - } - - if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { - return fromArrayBuffer(that, value, encodingOrOffset, length) - } - - if (typeof value === 'string') { - return fromString(that, value, encodingOrOffset) - } - - return fromObject(that, value) -} - -/** - * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError - * if value is a number. - * Buffer.from(str[, encoding]) - * Buffer.from(array) - * Buffer.from(buffer) - * Buffer.from(arrayBuffer[, byteOffset[, length]]) - **/ -Buffer.from = function (value, encodingOrOffset, length) { - return from(null, value, encodingOrOffset, length) -} - -if (Buffer.TYPED_ARRAY_SUPPORT) { - Buffer.prototype.__proto__ = Uint8Array.prototype - Buffer.__proto__ = Uint8Array - if (typeof Symbol !== 'undefined' && Symbol.species && - Buffer[Symbol.species] === Buffer) { - // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 - Object.defineProperty(Buffer, Symbol.species, { - value: null, - configurable: true - }) - } -} - -function assertSize (size) { - if (typeof size !== 'number') { - throw new TypeError('"size" argument must be a number') - } else if (size < 0) { - throw new RangeError('"size" argument must not be negative') - } -} - -function alloc (that, size, fill, encoding) { - assertSize(size) - if (size <= 0) { - return createBuffer(that, size) - } - if (fill !== undefined) { - // Only pay attention to encoding if it's a string. This - // prevents accidentally sending in a number that would - // be interpretted as a start offset. - return typeof encoding === 'string' - ? createBuffer(that, size).fill(fill, encoding) - : createBuffer(that, size).fill(fill) - } - return createBuffer(that, size) -} - -/** - * Creates a new filled Buffer instance. - * alloc(size[, fill[, encoding]]) - **/ -Buffer.alloc = function (size, fill, encoding) { - return alloc(null, size, fill, encoding) -} - -function allocUnsafe (that, size) { - assertSize(size) - that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) { - for (var i = 0; i < size; ++i) { - that[i] = 0 - } - } - return that -} - -/** - * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. - * */ -Buffer.allocUnsafe = function (size) { - return allocUnsafe(null, size) -} -/** - * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. - */ -Buffer.allocUnsafeSlow = function (size) { - return allocUnsafe(null, size) -} - -function fromString (that, string, encoding) { - if (typeof encoding !== 'string' || encoding === '') { - encoding = 'utf8' - } - - if (!Buffer.isEncoding(encoding)) { - throw new TypeError('"encoding" must be a valid string encoding') - } - - var length = byteLength(string, encoding) | 0 - that = createBuffer(that, length) - - var actual = that.write(string, encoding) - - if (actual !== length) { - // Writing a hex string, for example, that contains invalid characters will - // cause everything after the first invalid character to be ignored. (e.g. - // 'abxxcd' will be treated as 'ab') - that = that.slice(0, actual) - } - - return that -} - -function fromArrayLike (that, array) { - var length = array.length < 0 ? 0 : checked(array.length) | 0 - that = createBuffer(that, length) - for (var i = 0; i < length; i += 1) { - that[i] = array[i] & 255 - } - return that -} - -function fromArrayBuffer (that, array, byteOffset, length) { - array.byteLength // this throws if `array` is not a valid ArrayBuffer - - if (byteOffset < 0 || array.byteLength < byteOffset) { - throw new RangeError('\'offset\' is out of bounds') - } - - if (array.byteLength < byteOffset + (length || 0)) { - throw new RangeError('\'length\' is out of bounds') - } - - if (byteOffset === undefined && length === undefined) { - array = new Uint8Array(array) - } else if (length === undefined) { - array = new Uint8Array(array, byteOffset) - } else { - array = new Uint8Array(array, byteOffset, length) - } - - if (Buffer.TYPED_ARRAY_SUPPORT) { - // Return an augmented `Uint8Array` instance, for best performance - that = array - that.__proto__ = Buffer.prototype - } else { - // Fallback: Return an object instance of the Buffer class - that = fromArrayLike(that, array) - } - return that -} - -function fromObject (that, obj) { - if (Buffer.isBuffer(obj)) { - var len = checked(obj.length) | 0 - that = createBuffer(that, len) - - if (that.length === 0) { - return that - } - - obj.copy(that, 0, 0, len) - return that - } - - if (obj) { - if ((typeof ArrayBuffer !== 'undefined' && - obj.buffer instanceof ArrayBuffer) || 'length' in obj) { - if (typeof obj.length !== 'number' || isnan(obj.length)) { - return createBuffer(that, 0) - } - return fromArrayLike(that, obj) - } - - if (obj.type === 'Buffer' && isArray(obj.data)) { - return fromArrayLike(that, obj.data) - } - } - - throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') -} - -function checked (length) { - // Note: cannot use `length < kMaxLength()` here because that fails when - // length is NaN (which is otherwise coerced to zero.) - if (length >= kMaxLength()) { - throw new RangeError('Attempt to allocate Buffer larger than maximum ' + - 'size: 0x' + kMaxLength().toString(16) + ' bytes') - } - return length | 0 -} - -function SlowBuffer (length) { - if (+length != length) { // eslint-disable-line eqeqeq - length = 0 - } - return Buffer.alloc(+length) -} - -Buffer.isBuffer = function isBuffer (b) { - return !!(b != null && b._isBuffer) -} - -Buffer.compare = function compare (a, b) { - if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { - throw new TypeError('Arguments must be Buffers') - } - - if (a === b) return 0 - - var x = a.length - var y = b.length - - for (var i = 0, len = Math.min(x, y); i < len; ++i) { - if (a[i] !== b[i]) { - x = a[i] - y = b[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -Buffer.isEncoding = function isEncoding (encoding) { - switch (String(encoding).toLowerCase()) { - case 'hex': - case 'utf8': - case 'utf-8': - case 'ascii': - case 'latin1': - case 'binary': - case 'base64': - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return true - default: - return false - } -} - -Buffer.concat = function concat (list, length) { - if (!isArray(list)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - - if (list.length === 0) { - return Buffer.alloc(0) - } - - var i - if (length === undefined) { - length = 0 - for (i = 0; i < list.length; ++i) { - length += list[i].length - } - } - - var buffer = Buffer.allocUnsafe(length) - var pos = 0 - for (i = 0; i < list.length; ++i) { - var buf = list[i] - if (!Buffer.isBuffer(buf)) { - throw new TypeError('"list" argument must be an Array of Buffers') - } - buf.copy(buffer, pos) - pos += buf.length - } - return buffer -} - -function byteLength (string, encoding) { - if (Buffer.isBuffer(string)) { - return string.length - } - if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && - (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { - return string.byteLength - } - if (typeof string !== 'string') { - string = '' + string - } - - var len = string.length - if (len === 0) return 0 - - // Use a for loop to avoid recursion - var loweredCase = false - for (;;) { - switch (encoding) { - case 'ascii': - case 'latin1': - case 'binary': - return len - case 'utf8': - case 'utf-8': - case undefined: - return utf8ToBytes(string).length - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return len * 2 - case 'hex': - return len >>> 1 - case 'base64': - return base64ToBytes(string).length - default: - if (loweredCase) return utf8ToBytes(string).length // assume utf8 - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} -Buffer.byteLength = byteLength - -function slowToString (encoding, start, end) { - var loweredCase = false - - // No need to verify that "this.length <= MAX_UINT32" since it's a read-only - // property of a typed array. - - // This behaves neither like String nor Uint8Array in that we set start/end - // to their upper/lower bounds if the value passed is out of range. - // undefined is handled specially as per ECMA-262 6th Edition, - // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. - if (start === undefined || start < 0) { - start = 0 - } - // Return early if start > this.length. Done here to prevent potential uint32 - // coercion fail below. - if (start > this.length) { - return '' - } - - if (end === undefined || end > this.length) { - end = this.length - } - - if (end <= 0) { - return '' - } - - // Force coersion to uint32. This will also coerce falsey/NaN values to 0. - end >>>= 0 - start >>>= 0 - - if (end <= start) { - return '' - } - - if (!encoding) encoding = 'utf8' - - while (true) { - switch (encoding) { - case 'hex': - return hexSlice(this, start, end) - - case 'utf8': - case 'utf-8': - return utf8Slice(this, start, end) - - case 'ascii': - return asciiSlice(this, start, end) - - case 'latin1': - case 'binary': - return latin1Slice(this, start, end) - - case 'base64': - return base64Slice(this, start, end) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return utf16leSlice(this, start, end) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = (encoding + '').toLowerCase() - loweredCase = true - } - } -} - -// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect -// Buffer instances. -Buffer.prototype._isBuffer = true - -function swap (b, n, m) { - var i = b[n] - b[n] = b[m] - b[m] = i -} - -Buffer.prototype.swap16 = function swap16 () { - var len = this.length - if (len % 2 !== 0) { - throw new RangeError('Buffer size must be a multiple of 16-bits') - } - for (var i = 0; i < len; i += 2) { - swap(this, i, i + 1) - } - return this -} - -Buffer.prototype.swap32 = function swap32 () { - var len = this.length - if (len % 4 !== 0) { - throw new RangeError('Buffer size must be a multiple of 32-bits') - } - for (var i = 0; i < len; i += 4) { - swap(this, i, i + 3) - swap(this, i + 1, i + 2) - } - return this -} - -Buffer.prototype.swap64 = function swap64 () { - var len = this.length - if (len % 8 !== 0) { - throw new RangeError('Buffer size must be a multiple of 64-bits') - } - for (var i = 0; i < len; i += 8) { - swap(this, i, i + 7) - swap(this, i + 1, i + 6) - swap(this, i + 2, i + 5) - swap(this, i + 3, i + 4) - } - return this -} - -Buffer.prototype.toString = function toString () { - var length = this.length | 0 - if (length === 0) return '' - if (arguments.length === 0) return utf8Slice(this, 0, length) - return slowToString.apply(this, arguments) -} - -Buffer.prototype.equals = function equals (b) { - if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') - if (this === b) return true - return Buffer.compare(this, b) === 0 -} - -Buffer.prototype.inspect = function inspect () { - var str = '' - var max = exports.INSPECT_MAX_BYTES - if (this.length > 0) { - str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') - if (this.length > max) str += ' ... ' - } - return '<Buffer ' + str + '>' -} - -Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { - if (!Buffer.isBuffer(target)) { - throw new TypeError('Argument must be a Buffer') - } - - if (start === undefined) { - start = 0 - } - if (end === undefined) { - end = target ? target.length : 0 - } - if (thisStart === undefined) { - thisStart = 0 - } - if (thisEnd === undefined) { - thisEnd = this.length - } - - if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { - throw new RangeError('out of range index') - } - - if (thisStart >= thisEnd && start >= end) { - return 0 - } - if (thisStart >= thisEnd) { - return -1 - } - if (start >= end) { - return 1 - } - - start >>>= 0 - end >>>= 0 - thisStart >>>= 0 - thisEnd >>>= 0 - - if (this === target) return 0 - - var x = thisEnd - thisStart - var y = end - start - var len = Math.min(x, y) - - var thisCopy = this.slice(thisStart, thisEnd) - var targetCopy = target.slice(start, end) - - for (var i = 0; i < len; ++i) { - if (thisCopy[i] !== targetCopy[i]) { - x = thisCopy[i] - y = targetCopy[i] - break - } - } - - if (x < y) return -1 - if (y < x) return 1 - return 0 -} - -// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, -// OR the last index of `val` in `buffer` at offset <= `byteOffset`. -// -// Arguments: -// - buffer - a Buffer to search -// - val - a string, Buffer, or number -// - byteOffset - an index into `buffer`; will be clamped to an int32 -// - encoding - an optional encoding, relevant is val is a string -// - dir - true for indexOf, false for lastIndexOf -function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { - // Empty buffer means no match - if (buffer.length === 0) return -1 - - // Normalize byteOffset - if (typeof byteOffset === 'string') { - encoding = byteOffset - byteOffset = 0 - } else if (byteOffset > 0x7fffffff) { - byteOffset = 0x7fffffff - } else if (byteOffset < -0x80000000) { - byteOffset = -0x80000000 - } - byteOffset = +byteOffset // Coerce to Number. - if (isNaN(byteOffset)) { - // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer - byteOffset = dir ? 0 : (buffer.length - 1) - } - - // Normalize byteOffset: negative offsets start from the end of the buffer - if (byteOffset < 0) byteOffset = buffer.length + byteOffset - if (byteOffset >= buffer.length) { - if (dir) return -1 - else byteOffset = buffer.length - 1 - } else if (byteOffset < 0) { - if (dir) byteOffset = 0 - else return -1 - } - - // Normalize val - if (typeof val === 'string') { - val = Buffer.from(val, encoding) - } - - // Finally, search either indexOf (if dir is true) or lastIndexOf - if (Buffer.isBuffer(val)) { - // Special case: looking for empty string/buffer always fails - if (val.length === 0) { - return -1 - } - return arrayIndexOf(buffer, val, byteOffset, encoding, dir) - } else if (typeof val === 'number') { - val = val & 0xFF // Search for a byte value [0-255] - if (Buffer.TYPED_ARRAY_SUPPORT && - typeof Uint8Array.prototype.indexOf === 'function') { - if (dir) { - return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) - } else { - return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) - } - } - return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) - } - - throw new TypeError('val must be string, number or Buffer') -} - -function arrayIndexOf (arr, val, byteOffset, encoding, dir) { - var indexSize = 1 - var arrLength = arr.length - var valLength = val.length - - if (encoding !== undefined) { - encoding = String(encoding).toLowerCase() - if (encoding === 'ucs2' || encoding === 'ucs-2' || - encoding === 'utf16le' || encoding === 'utf-16le') { - if (arr.length < 2 || val.length < 2) { - return -1 - } - indexSize = 2 - arrLength /= 2 - valLength /= 2 - byteOffset /= 2 - } - } - - function read (buf, i) { - if (indexSize === 1) { - return buf[i] - } else { - return buf.readUInt16BE(i * indexSize) - } - } - - var i - if (dir) { - var foundIndex = -1 - for (i = byteOffset; i < arrLength; i++) { - if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { - if (foundIndex === -1) foundIndex = i - if (i - foundIndex + 1 === valLength) return foundIndex * indexSize - } else { - if (foundIndex !== -1) i -= i - foundIndex - foundIndex = -1 - } - } - } else { - if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength - for (i = byteOffset; i >= 0; i--) { - var found = true - for (var j = 0; j < valLength; j++) { - if (read(arr, i + j) !== read(val, j)) { - found = false - break - } - } - if (found) return i - } - } - - return -1 -} - -Buffer.prototype.includes = function includes (val, byteOffset, encoding) { - return this.indexOf(val, byteOffset, encoding) !== -1 -} - -Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, true) -} - -Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { - return bidirectionalIndexOf(this, val, byteOffset, encoding, false) -} - -function hexWrite (buf, string, offset, length) { - offset = Number(offset) || 0 - var remaining = buf.length - offset - if (!length) { - length = remaining - } else { - length = Number(length) - if (length > remaining) { - length = remaining - } - } - - // must be an even number of digits - var strLen = string.length - if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') - - if (length > strLen / 2) { - length = strLen / 2 - } - for (var i = 0; i < length; ++i) { - var parsed = parseInt(string.substr(i * 2, 2), 16) - if (isNaN(parsed)) return i - buf[offset + i] = parsed - } - return i -} - -function utf8Write (buf, string, offset, length) { - return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) -} - -function asciiWrite (buf, string, offset, length) { - return blitBuffer(asciiToBytes(string), buf, offset, length) -} - -function latin1Write (buf, string, offset, length) { - return asciiWrite(buf, string, offset, length) -} - -function base64Write (buf, string, offset, length) { - return blitBuffer(base64ToBytes(string), buf, offset, length) -} - -function ucs2Write (buf, string, offset, length) { - return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) -} - -Buffer.prototype.write = function write (string, offset, length, encoding) { - // Buffer#write(string) - if (offset === undefined) { - encoding = 'utf8' - length = this.length - offset = 0 - // Buffer#write(string, encoding) - } else if (length === undefined && typeof offset === 'string') { - encoding = offset - length = this.length - offset = 0 - // Buffer#write(string, offset[, length][, encoding]) - } else if (isFinite(offset)) { - offset = offset | 0 - if (isFinite(length)) { - length = length | 0 - if (encoding === undefined) encoding = 'utf8' - } else { - encoding = length - length = undefined - } - // legacy write(string, encoding, offset, length) - remove in v0.13 - } else { - throw new Error( - 'Buffer.write(string, encoding, offset[, length]) is no longer supported' - ) - } - - var remaining = this.length - offset - if (length === undefined || length > remaining) length = remaining - - if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { - throw new RangeError('Attempt to write outside buffer bounds') - } - - if (!encoding) encoding = 'utf8' - - var loweredCase = false - for (;;) { - switch (encoding) { - case 'hex': - return hexWrite(this, string, offset, length) - - case 'utf8': - case 'utf-8': - return utf8Write(this, string, offset, length) - - case 'ascii': - return asciiWrite(this, string, offset, length) - - case 'latin1': - case 'binary': - return latin1Write(this, string, offset, length) - - case 'base64': - // Warning: maxLength not taken into account in base64Write - return base64Write(this, string, offset, length) - - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return ucs2Write(this, string, offset, length) - - default: - if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) - encoding = ('' + encoding).toLowerCase() - loweredCase = true - } - } -} - -Buffer.prototype.toJSON = function toJSON () { - return { - type: 'Buffer', - data: Array.prototype.slice.call(this._arr || this, 0) - } -} - -function base64Slice (buf, start, end) { - if (start === 0 && end === buf.length) { - return base64.fromByteArray(buf) - } else { - return base64.fromByteArray(buf.slice(start, end)) - } -} - -function utf8Slice (buf, start, end) { - end = Math.min(buf.length, end) - var res = [] - - var i = start - while (i < end) { - var firstByte = buf[i] - var codePoint = null - var bytesPerSequence = (firstByte > 0xEF) ? 4 - : (firstByte > 0xDF) ? 3 - : (firstByte > 0xBF) ? 2 - : 1 - - if (i + bytesPerSequence <= end) { - var secondByte, thirdByte, fourthByte, tempCodePoint - - switch (bytesPerSequence) { - case 1: - if (firstByte < 0x80) { - codePoint = firstByte - } - break - case 2: - secondByte = buf[i + 1] - if ((secondByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) - if (tempCodePoint > 0x7F) { - codePoint = tempCodePoint - } - } - break - case 3: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) - if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { - codePoint = tempCodePoint - } - } - break - case 4: - secondByte = buf[i + 1] - thirdByte = buf[i + 2] - fourthByte = buf[i + 3] - if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { - tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) - if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { - codePoint = tempCodePoint - } - } - } - } - - if (codePoint === null) { - // we did not generate a valid codePoint so insert a - // replacement char (U+FFFD) and advance only 1 byte - codePoint = 0xFFFD - bytesPerSequence = 1 - } else if (codePoint > 0xFFFF) { - // encode to utf16 (surrogate pair dance) - codePoint -= 0x10000 - res.push(codePoint >>> 10 & 0x3FF | 0xD800) - codePoint = 0xDC00 | codePoint & 0x3FF - } - - res.push(codePoint) - i += bytesPerSequence - } - - return decodeCodePointsArray(res) -} - -// Based on http://stackoverflow.com/a/22747272/680742, the browser with -// the lowest limit is Chrome, with 0x10000 args. -// We go 1 magnitude less, for safety -var MAX_ARGUMENTS_LENGTH = 0x1000 - -function decodeCodePointsArray (codePoints) { - var len = codePoints.length - if (len <= MAX_ARGUMENTS_LENGTH) { - return String.fromCharCode.apply(String, codePoints) // avoid extra slice() - } - - // Decode in chunks to avoid "call stack size exceeded". - var res = '' - var i = 0 - while (i < len) { - res += String.fromCharCode.apply( - String, - codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) - ) - } - return res -} - -function asciiSlice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i] & 0x7F) - } - return ret -} - -function latin1Slice (buf, start, end) { - var ret = '' - end = Math.min(buf.length, end) - - for (var i = start; i < end; ++i) { - ret += String.fromCharCode(buf[i]) - } - return ret -} - -function hexSlice (buf, start, end) { - var len = buf.length - - if (!start || start < 0) start = 0 - if (!end || end < 0 || end > len) end = len - - var out = '' - for (var i = start; i < end; ++i) { - out += toHex(buf[i]) - } - return out -} - -function utf16leSlice (buf, start, end) { - var bytes = buf.slice(start, end) - var res = '' - for (var i = 0; i < bytes.length; i += 2) { - res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) - } - return res -} - -Buffer.prototype.slice = function slice (start, end) { - var len = this.length - start = ~~start - end = end === undefined ? len : ~~end - - if (start < 0) { - start += len - if (start < 0) start = 0 - } else if (start > len) { - start = len - } - - if (end < 0) { - end += len - if (end < 0) end = 0 - } else if (end > len) { - end = len - } - - if (end < start) end = start - - var newBuf - if (Buffer.TYPED_ARRAY_SUPPORT) { - newBuf = this.subarray(start, end) - newBuf.__proto__ = Buffer.prototype - } else { - var sliceLen = end - start - newBuf = new Buffer(sliceLen, undefined) - for (var i = 0; i < sliceLen; ++i) { - newBuf[i] = this[i + start] - } - } - - return newBuf -} - -/* - * Need to make sure that buffer isn't trying to write out of bounds. - */ -function checkOffset (offset, ext, length) { - if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') - if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') -} - -Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - - return val -} - -Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - checkOffset(offset, byteLength, this.length) - } - - var val = this[offset + --byteLength] - var mul = 1 - while (byteLength > 0 && (mul *= 0x100)) { - val += this[offset + --byteLength] * mul - } - - return val -} - -Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - return this[offset] -} - -Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return this[offset] | (this[offset + 1] << 8) -} - -Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - return (this[offset] << 8) | this[offset + 1] -} - -Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return ((this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16)) + - (this[offset + 3] * 0x1000000) -} - -Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] * 0x1000000) + - ((this[offset + 1] << 16) | - (this[offset + 2] << 8) | - this[offset + 3]) -} - -Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var val = this[offset] - var mul = 1 - var i = 0 - while (++i < byteLength && (mul *= 0x100)) { - val += this[offset + i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) checkOffset(offset, byteLength, this.length) - - var i = byteLength - var mul = 1 - var val = this[offset + --i] - while (i > 0 && (mul *= 0x100)) { - val += this[offset + --i] * mul - } - mul *= 0x80 - - if (val >= mul) val -= Math.pow(2, 8 * byteLength) - - return val -} - -Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { - if (!noAssert) checkOffset(offset, 1, this.length) - if (!(this[offset] & 0x80)) return (this[offset]) - return ((0xff - this[offset] + 1) * -1) -} - -Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset] | (this[offset + 1] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 2, this.length) - var val = this[offset + 1] | (this[offset] << 8) - return (val & 0x8000) ? val | 0xFFFF0000 : val -} - -Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset]) | - (this[offset + 1] << 8) | - (this[offset + 2] << 16) | - (this[offset + 3] << 24) -} - -Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - - return (this[offset] << 24) | - (this[offset + 1] << 16) | - (this[offset + 2] << 8) | - (this[offset + 3]) -} - -Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, true, 23, 4) -} - -Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 4, this.length) - return ieee754.read(this, offset, false, 23, 4) -} - -Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, true, 52, 8) -} - -Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { - if (!noAssert) checkOffset(offset, 8, this.length) - return ieee754.read(this, offset, false, 52, 8) -} - -function checkInt (buf, value, offset, ext, max, min) { - if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') - if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') - if (offset + ext > buf.length) throw new RangeError('Index out of range') -} - -Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var mul = 1 - var i = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - byteLength = byteLength | 0 - if (!noAssert) { - var maxBytes = Math.pow(2, 8 * byteLength) - 1 - checkInt(this, value, offset, byteLength, maxBytes, 0) - } - - var i = byteLength - 1 - var mul = 1 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - this[offset + i] = (value / mul) & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - this[offset] = (value & 0xff) - return offset + 1 -} - -function objectWriteUInt16 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { - buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> - (littleEndian ? i : 1 - i) * 8 - } -} - -Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -function objectWriteUInt32 (buf, value, offset, littleEndian) { - if (value < 0) value = 0xffffffff + value + 1 - for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { - buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff - } -} - -Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset + 3] = (value >>> 24) - this[offset + 2] = (value >>> 16) - this[offset + 1] = (value >>> 8) - this[offset] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = 0 - var mul = 1 - var sub = 0 - this[offset] = value & 0xFF - while (++i < byteLength && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) { - var limit = Math.pow(2, 8 * byteLength - 1) - - checkInt(this, value, offset, byteLength, limit - 1, -limit) - } - - var i = byteLength - 1 - var mul = 1 - var sub = 0 - this[offset + i] = value & 0xFF - while (--i >= 0 && (mul *= 0x100)) { - if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { - sub = 1 - } - this[offset + i] = ((value / mul) >> 0) - sub & 0xFF - } - - return offset + byteLength -} - -Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) - if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) - if (value < 0) value = 0xff + value + 1 - this[offset] = (value & 0xff) - return offset + 1 -} - -Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - } else { - objectWriteUInt16(this, value, offset, true) - } - return offset + 2 -} - -Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 8) - this[offset + 1] = (value & 0xff) - } else { - objectWriteUInt16(this, value, offset, false) - } - return offset + 2 -} - -Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value & 0xff) - this[offset + 1] = (value >>> 8) - this[offset + 2] = (value >>> 16) - this[offset + 3] = (value >>> 24) - } else { - objectWriteUInt32(this, value, offset, true) - } - return offset + 4 -} - -Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { - value = +value - offset = offset | 0 - if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) - if (value < 0) value = 0xffffffff + value + 1 - if (Buffer.TYPED_ARRAY_SUPPORT) { - this[offset] = (value >>> 24) - this[offset + 1] = (value >>> 16) - this[offset + 2] = (value >>> 8) - this[offset + 3] = (value & 0xff) - } else { - objectWriteUInt32(this, value, offset, false) - } - return offset + 4 -} - -function checkIEEE754 (buf, value, offset, ext, max, min) { - if (offset + ext > buf.length) throw new RangeError('Index out of range') - if (offset < 0) throw new RangeError('Index out of range') -} - -function writeFloat (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) - } - ieee754.write(buf, value, offset, littleEndian, 23, 4) - return offset + 4 -} - -Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { - return writeFloat(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { - return writeFloat(this, value, offset, false, noAssert) -} - -function writeDouble (buf, value, offset, littleEndian, noAssert) { - if (!noAssert) { - checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) - } - ieee754.write(buf, value, offset, littleEndian, 52, 8) - return offset + 8 -} - -Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { - return writeDouble(this, value, offset, true, noAssert) -} - -Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { - return writeDouble(this, value, offset, false, noAssert) -} - -// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) -Buffer.prototype.copy = function copy (target, targetStart, start, end) { - if (!start) start = 0 - if (!end && end !== 0) end = this.length - if (targetStart >= target.length) targetStart = target.length - if (!targetStart) targetStart = 0 - if (end > 0 && end < start) end = start - - // Copy 0 bytes; we're done - if (end === start) return 0 - if (target.length === 0 || this.length === 0) return 0 - - // Fatal error conditions - if (targetStart < 0) { - throw new RangeError('targetStart out of bounds') - } - if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') - if (end < 0) throw new RangeError('sourceEnd out of bounds') - - // Are we oob? - if (end > this.length) end = this.length - if (target.length - targetStart < end - start) { - end = target.length - targetStart + start - } - - var len = end - start - var i - - if (this === target && start < targetStart && targetStart < end) { - // descending copy from end - for (i = len - 1; i >= 0; --i) { - target[i + targetStart] = this[i + start] - } - } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { - // ascending copy from start - for (i = 0; i < len; ++i) { - target[i + targetStart] = this[i + start] - } - } else { - Uint8Array.prototype.set.call( - target, - this.subarray(start, start + len), - targetStart - ) - } - - return len -} - -// Usage: -// buffer.fill(number[, offset[, end]]) -// buffer.fill(buffer[, offset[, end]]) -// buffer.fill(string[, offset[, end]][, encoding]) -Buffer.prototype.fill = function fill (val, start, end, encoding) { - // Handle string cases: - if (typeof val === 'string') { - if (typeof start === 'string') { - encoding = start - start = 0 - end = this.length - } else if (typeof end === 'string') { - encoding = end - end = this.length - } - if (val.length === 1) { - var code = val.charCodeAt(0) - if (code < 256) { - val = code - } - } - if (encoding !== undefined && typeof encoding !== 'string') { - throw new TypeError('encoding must be a string') - } - if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { - throw new TypeError('Unknown encoding: ' + encoding) - } - } else if (typeof val === 'number') { - val = val & 255 - } - - // Invalid ranges are not set to a default, so can range check early. - if (start < 0 || this.length < start || this.length < end) { - throw new RangeError('Out of range index') - } - - if (end <= start) { - return this - } - - start = start >>> 0 - end = end === undefined ? this.length : end >>> 0 - - if (!val) val = 0 - - var i - if (typeof val === 'number') { - for (i = start; i < end; ++i) { - this[i] = val - } - } else { - var bytes = Buffer.isBuffer(val) - ? val - : utf8ToBytes(new Buffer(val, encoding).toString()) - var len = bytes.length - for (i = 0; i < end - start; ++i) { - this[i + start] = bytes[i % len] - } - } - - return this -} - -// HELPER FUNCTIONS -// ================ - -var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g - -function base64clean (str) { - // Node strips out invalid characters like \n and \t from the string, base64-js does not - str = stringtrim(str).replace(INVALID_BASE64_RE, '') - // Node converts strings with length < 2 to '' - if (str.length < 2) return '' - // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not - while (str.length % 4 !== 0) { - str = str + '=' - } - return str -} - -function stringtrim (str) { - if (str.trim) return str.trim() - return str.replace(/^\s+|\s+$/g, '') -} - -function toHex (n) { - if (n < 16) return '0' + n.toString(16) - return n.toString(16) -} - -function utf8ToBytes (string, units) { - units = units || Infinity - var codePoint - var length = string.length - var leadSurrogate = null - var bytes = [] - - for (var i = 0; i < length; ++i) { - codePoint = string.charCodeAt(i) - - // is surrogate component - if (codePoint > 0xD7FF && codePoint < 0xE000) { - // last char was a lead - if (!leadSurrogate) { - // no lead yet - if (codePoint > 0xDBFF) { - // unexpected trail - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } else if (i + 1 === length) { - // unpaired lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - continue - } - - // valid lead - leadSurrogate = codePoint - - continue - } - - // 2 leads in a row - if (codePoint < 0xDC00) { - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - leadSurrogate = codePoint - continue - } - - // valid surrogate pair - codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 - } else if (leadSurrogate) { - // valid bmp char, but last char was a lead - if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) - } - - leadSurrogate = null - - // encode utf8 - if (codePoint < 0x80) { - if ((units -= 1) < 0) break - bytes.push(codePoint) - } else if (codePoint < 0x800) { - if ((units -= 2) < 0) break - bytes.push( - codePoint >> 0x6 | 0xC0, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x10000) { - if ((units -= 3) < 0) break - bytes.push( - codePoint >> 0xC | 0xE0, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else if (codePoint < 0x110000) { - if ((units -= 4) < 0) break - bytes.push( - codePoint >> 0x12 | 0xF0, - codePoint >> 0xC & 0x3F | 0x80, - codePoint >> 0x6 & 0x3F | 0x80, - codePoint & 0x3F | 0x80 - ) - } else { - throw new Error('Invalid code point') - } - } - - return bytes -} - -function asciiToBytes (str) { - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - // Node's code seems to be doing this and not & 0x7F.. - byteArray.push(str.charCodeAt(i) & 0xFF) - } - return byteArray -} - -function utf16leToBytes (str, units) { - var c, hi, lo - var byteArray = [] - for (var i = 0; i < str.length; ++i) { - if ((units -= 2) < 0) break - - c = str.charCodeAt(i) - hi = c >> 8 - lo = c % 256 - byteArray.push(lo) - byteArray.push(hi) - } - - return byteArray -} - -function base64ToBytes (str) { - return base64.toByteArray(base64clean(str)) -} - -function blitBuffer (src, dst, offset, length) { - for (var i = 0; i < length; ++i) { - if ((i + offset >= dst.length) || (i >= src.length)) break - dst[i + offset] = src[i] - } - return i -} - -function isnan (val) { - return val !== val // eslint-disable-line no-self-compare -} - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/cookie/index.js": -/*!**************************************!*\ - !*** ./node_modules/cookie/index.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/*! - * cookie - * Copyright(c) 2012-2014 Roman Shtylman - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */ - - - -/** - * Module exports. - * @public - */ - -exports.parse = parse; -exports.serialize = serialize; - -/** - * Module variables. - * @private - */ - -var decode = decodeURIComponent; -var encode = encodeURIComponent; -var pairSplitRegExp = /; */; - -/** - * RegExp to match field-content in RFC 7230 sec 3.2 - * - * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] - * field-vchar = VCHAR / obs-text - * obs-text = %x80-FF - */ - -var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; - -/** - * Parse a cookie header. - * - * Parse the given cookie header string into an object - * The object has the various cookies as keys(names) => values - * - * @param {string} str - * @param {object} [options] - * @return {object} - * @public - */ - -function parse(str, options) { - if (typeof str !== 'string') { - throw new TypeError('argument str must be a string'); - } - - var obj = {} - var opt = options || {}; - var pairs = str.split(pairSplitRegExp); - var dec = opt.decode || decode; - - for (var i = 0; i < pairs.length; i++) { - var pair = pairs[i]; - var eq_idx = pair.indexOf('='); - - // skip things that don't look like key=value - if (eq_idx < 0) { - continue; - } - - var key = pair.substr(0, eq_idx).trim() - var val = pair.substr(++eq_idx, pair.length).trim(); - - // quoted values - if ('"' == val[0]) { - val = val.slice(1, -1); - } - - // only assign once - if (undefined == obj[key]) { - obj[key] = tryDecode(val, dec); - } - } - - return obj; -} - -/** - * Serialize data into a cookie header. - * - * Serialize the a name value pair into a cookie string suitable for - * http headers. An optional options object specified cookie parameters. - * - * serialize('foo', 'bar', { httpOnly: true }) - * => "foo=bar; httpOnly" - * - * @param {string} name - * @param {string} val - * @param {object} [options] - * @return {string} - * @public - */ - -function serialize(name, val, options) { - var opt = options || {}; - var enc = opt.encode || encode; - - if (typeof enc !== 'function') { - throw new TypeError('option encode is invalid'); - } - - if (!fieldContentRegExp.test(name)) { - throw new TypeError('argument name is invalid'); - } - - var value = enc(val); - - if (value && !fieldContentRegExp.test(value)) { - throw new TypeError('argument val is invalid'); - } - - var str = name + '=' + value; - - if (null != opt.maxAge) { - var maxAge = opt.maxAge - 0; - if (isNaN(maxAge)) throw new Error('maxAge should be a Number'); - str += '; Max-Age=' + Math.floor(maxAge); - } - - if (opt.domain) { - if (!fieldContentRegExp.test(opt.domain)) { - throw new TypeError('option domain is invalid'); - } - - str += '; Domain=' + opt.domain; - } - - if (opt.path) { - if (!fieldContentRegExp.test(opt.path)) { - throw new TypeError('option path is invalid'); - } - - str += '; Path=' + opt.path; - } - - if (opt.expires) { - if (typeof opt.expires.toUTCString !== 'function') { - throw new TypeError('option expires is invalid'); - } - - str += '; Expires=' + opt.expires.toUTCString(); - } - - if (opt.httpOnly) { - str += '; HttpOnly'; - } - - if (opt.secure) { - str += '; Secure'; - } - - if (opt.sameSite) { - var sameSite = typeof opt.sameSite === 'string' - ? opt.sameSite.toLowerCase() : opt.sameSite; - - switch (sameSite) { - case true: - str += '; SameSite=Strict'; - break; - case 'lax': - str += '; SameSite=Lax'; - break; - case 'strict': - str += '; SameSite=Strict'; - break; - default: - throw new TypeError('option sameSite is invalid'); - } - } - - return str; -} - -/** - * Try decoding a string using a decoding function. - * - * @param {string} str - * @param {function} decode - * @private - */ - -function tryDecode(str, decode) { - try { - return decode(str); - } catch (e) { - return str; - } -} - - -/***/ }), - -/***/ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js": -/*!***************************************************************!*\ - !*** ./node_modules/css-in-js-utils/lib/hyphenateProperty.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = hyphenateProperty; - -var _hyphenateStyleName = __webpack_require__(/*! hyphenate-style-name */ "./node_modules/hyphenate-style-name/index.js"); - -var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function hyphenateProperty(property) { - return (0, _hyphenateStyleName2.default)(property); -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js": -/*!*************************************************************!*\ - !*** ./node_modules/css-in-js-utils/lib/isPrefixedValue.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isPrefixedValue; -var regex = /-webkit-|-moz-|-ms-/; - -function isPrefixedValue(value) { - return typeof value === 'string' && regex.test(value); -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! - \*************************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".dash-callback-dag--container {\n border-radius: 4px;\n position: fixed;\n bottom: 165px;\n right: 16px;\n max-width: 80vw;\n max-height: calc(100vh - 180px);\n overflow: auto;\n box-sizing: border-box;\n background: #ffffff;\n display: inline-block;\n /* shadow-1 */\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\n 0px 2px 6px rgba(80, 103, 132, 0.12),\n 0px 0px 1px rgba(80, 103, 132, 0.32);\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css": -/*!***********************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css ***! - \***********************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".error-container {\n margin-top: 10px;\n}\n\n.dash-fe-errors {\n min-width: 386px;\n max-width: 650px;\n max-height: 450px;\n display: inline-block;\n}\n\n.dash-fe-error__icon-error {\n width: 20px;\n height: 20px;\n display: inline-block;\n margin-right: 16px;\n}\n.dash-fe-error__icon-close {\n width: 10px;\n height: 10px;\n position: absolute;\n right: 12px;\n top: 12px;\n display: inline-block;\n}\n.dash-fe-error__icon-arrow {\n width: 8px;\n height: 28px;\n margin: 0px 8px;\n}\n.dash-fe-error-top {\n height: 20px;\n display: flex;\n justify-content: space-between;\n width: 100%;\n cursor: pointer;\n}\n.dash-fe-error-top__group:first-child {\n /*\n * 77% is the maximum space allowed based off of the other elements\n * in the top part of the error container (timestamp & collapse arrow).\n * this was manually determined */\n width: 77%;\n}\n.dash-fe-error-top__group {\n display: inline-flex;\n align-items: center;\n}\n.dash-fe-error__title {\n text-align: left;\n margin: 0px;\n margin-left: 5px;\n padding: 0px;\n font-size: 14px;\n display: inline-block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.dash-fe-error__timestamp {\n margin-right: 20px;\n}\n.dash-fe-error__collapse--flipped {\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.dash-fe-error__info_title {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n padding: 10px;\n}\n\n.dash-fe-error__info {\n border: 1px solid #dfe8f3;\n margin: 0 0 1em 0;\n padding: 10px;\n\n background-color: white;\n border: 2px solid #dfe8f3;\n color: #506784;\n overflow: auto;\n white-space: pre-wrap;\n}\n\n.dash-fe-error__curved {\n border-radius: 4px;\n}\n\n.dash-fe-error__curved-top {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-width: 0px;\n}\n\n.dash-fe-error__curved-bottom {\n border-radius-bottom-left: 4px;\n border-radius-bottom-right: 4px;\n background-color: #FFEFEF;\n}\n\n.dash-be-error__st {\n background-color: #fdf3f4;\n min-width: 386px;\n max-width: 650px;\n /* iframe container handles the scrolling */\n overflow: hidden;\n display: inline-block;\n}\n\n.dash-be-error__str {\n background-color: #fdf3f4;\n min-width: 386px;\n max-width: 650px;\n overflow: auto;\n display: inline-block;\n white-space: pre-wrap;\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css": -/*!*******************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css ***! - \*******************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".dash-error-menu {\n max-width: 50%;\n max-height: 60%;\n display: contents;\n font-family: monospace;\n font-size: 14px;\n font-variant-ligatures: common-ligatures;\n}\n\n.dash-error-card {\n box-sizing: border-box;\n background: #ffffff;\n display: inline-block;\n /* shadow-1 */\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\n 0px 2px 6px rgba(80, 103, 132, 0.12),\n 0px 0px 1px rgba(80, 103, 132, 0.32);\n border-radius: 4px;\n position: fixed;\n top: 16px;\n right: 16px;\n animation: dash-error-card-animation 0.5s;\n padding: 24px;\n text-align: left;\n background-color: white;\n\n}\n.dash-error-card--alerts-tray {\n position: absolute;\n top: -300px;\n left: -1px;\n animation: none;\n box-shadow: none;\n border: 1px solid #ececec;\n border-bottom: 0;\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n width: 422px;\n}\n.dash-error-card--container {\n padding: 10px 10px;\n width: 600px;\n max-width: 800px;\n max-height: calc(100vh - 50px);\n margin: 10px;\n overflow: auto;\n z-index: 1001; /* above the plotly.js toolbar */\n}\n\n.dash-error-card__topbar {\n width: 100%;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dash-error-card__message {\n font-size: 14px;\n}\n\n.dash-error-card__message > strong {\n color: #ff4500;\n}\n\n.dash-error-card__content {\n box-sizing: border-box;\n padding: 10px 10px;\n background-color: white;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 2px;\n margin-bottom: 8px;\n}\n\n.dash-error-card__list-item {\n background: #ffffff;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 2px;\n padding: 10px 10px;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n}\n\n@keyframes dash-error-card-animation {\n from {\n opacity: 0;\n -webkit-transform: scale(1.1);\n -moz-transform: scale(1.1);\n -ms-transform: scale(1.1);\n transform: scale(1.1);\n }\n to {\n opacity: 1;\n -webkit-transform: scale(1);\n -moz-transform: scale(1);\n -ms-transform: scale(1);\n transform: scale(1);\n }\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css": -/*!******************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css ***! - \******************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".percy-show {\n display: none;\n}\n\n@media only percy {\n .percy-hide {\n display: none;\n }\n .percy-show {\n display: block;\n }\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css": -/*!*************************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css ***! - \*************************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".dash-debug-alert-container {\n box-sizing: border-box;\n background: #f3f6fa;\n border-radius: 2px;\n padding: 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n transition: background-color 0.1s, border 0.1s;\n}\n.dash-debug-alert-container:hover {\n cursor: pointer;\n}\n.dash-debug-alert-container--opened {\n background-color: #119dff;\n color: white;\n}\n.dash-debug-alert-container__icon {\n width: 12px;\n height: 12px;\n margin-right: 4px;\n}\n.dash-debug-alert-container__icon--warning {\n height: auto;\n}\n\n.dash-debug-alert {\n display: flex;\n align-items: center;\n font-size: 10px;\n}\n\n.dash-debug-alert-label {\n display: flex;\n position: fixed;\n bottom: 81px;\n right: 29px;\n z-index: 10001;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 32px;\n background-color: white;\n padding: 4px;\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css": -/*!***************************************************************************************!*\ - !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css ***! - \***************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false); -// Module -exports.push([module.i, ".dash-debug-menu {\n transition: width 0.05s, background-color 0.1s;\n position: fixed;\n bottom: 35px;\n right: 35px;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n}\n.dash-debug-menu--closed {\n background-color: #119dff;\n border-radius: 100%;\n width: 64px;\n height: 64px;\n}\n.dash-debug-menu--opened {\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 4px;\n padding: 12px 0px;\n background-color: white;\n}\n\n.dash-debug-menu--closed:hover {\n cursor: pointer;\n background-color: #108de4;\n}\n\n.dash-debug-menu__icon {\n width: 24px;\n height: 28px;\n}\n.dash-debug-menu__icon--close {\n width: 14px;\n height: 14px;\n}\n.dash-debug-menu__icon--bell {\n height: 24px;\n width: 28px;\n}\n.dash-debug-menu__icon--debug {\n height: 24px;\n width: auto;\n}\n.dash-debug-menu__icon--graph {\n height: 24px;\n}\n\n.dash-debug-menu__content {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.dash-debug-menu__button-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 74px;\n margin-left: 10px;\n}\n.dash-debug-menu__button-label {\n color: #A2B1C6;\n font-size: 10px;\n margin-top: 4px;\n}\n\n.dash-debug-menu__button {\n background-color: white;\n border-radius: 100%;\n border: 1px solid #B9C2CE;\n width: 64px;\n height: 64px;\n font-size: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: background-color 0.2s;\n color: black;\n}\n.dash-debug-menu__button--enabled {\n background-color: #00CC96;\n color: white;\n}\n.dash-debug-menu__button--small {\n width: 32px;\n height: 32px;\n background-color: #B9C2CE;\n}\n.dash-debug-menu__button:hover {\n cursor: pointer;\n background-color: #f5f5f5;\n}\n.dash-debug-menu__button--small:hover {\n background-color: #a1a9b5;\n}\n\n.dash-debug-menu__button--enabled:hover {\n background-color: #03bb8a;\n}\n", ""]); - - -/***/ }), - -/***/ "./node_modules/css-loader/dist/runtime/api.js": -/*!*****************************************************!*\ - !*** ./node_modules/css-loader/dist/runtime/api.js ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/* - MIT License http://www.opensource.org/licenses/mit-license.php - Author Tobias Koppers @sokra -*/ -// css base code, injected by the css-loader -// eslint-disable-next-line func-names -module.exports = function (useSourceMap) { - var list = []; // return the list of modules as css string - - list.toString = function toString() { - return this.map(function (item) { - var content = cssWithMappingToString(item, useSourceMap); - - if (item[2]) { - return "@media ".concat(item[2], "{").concat(content, "}"); - } - - return content; - }).join(''); - }; // import a list of modules into the list - // eslint-disable-next-line func-names - - - list.i = function (modules, mediaQuery) { - if (typeof modules === 'string') { - // eslint-disable-next-line no-param-reassign - modules = [[null, modules, '']]; - } - - var alreadyImportedModules = {}; - - for (var i = 0; i < this.length; i++) { - // eslint-disable-next-line prefer-destructuring - var id = this[i][0]; - - if (id != null) { - alreadyImportedModules[id] = true; - } - } - - for (var _i = 0; _i < modules.length; _i++) { - var item = modules[_i]; // skip already imported module - // this implementation is not 100% perfect for weird media query combinations - // when a module is imported multiple times with different media queries. - // I hope this will never occur (Hey this way we have smaller bundles) - - if (item[0] == null || !alreadyImportedModules[item[0]]) { - if (mediaQuery && !item[2]) { - item[2] = mediaQuery; - } else if (mediaQuery) { - item[2] = "(".concat(item[2], ") and (").concat(mediaQuery, ")"); - } - - list.push(item); - } - } - }; - - return list; -}; - -function cssWithMappingToString(item, useSourceMap) { - var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring - - var cssMapping = item[3]; - - if (!cssMapping) { - return content; - } - - if (useSourceMap && typeof btoa === 'function') { - var sourceMapping = toComment(cssMapping); - var sourceURLs = cssMapping.sources.map(function (source) { - return "/*# sourceURL=".concat(cssMapping.sourceRoot).concat(source, " */"); - }); - return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); - } - - return [content].join('\n'); -} // Adapted from convert-source-map (MIT) - - -function toComment(sourceMap) { - // eslint-disable-next-line no-undef - var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); - var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); - return "/*# ".concat(data, " */"); -} - -/***/ }), - -/***/ "./node_modules/dependency-graph/lib/dep_graph.js": -/*!********************************************************!*\ - !*** ./node_modules/dependency-graph/lib/dep_graph.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * A simple dependency graph - */ - -/** - * Helper for creating a Depth-First-Search on - * a set of edges. - * - * Detects cycles and throws an Error if one is detected. - * - * @param edges The set of edges to DFS through - * @param leavesOnly Whether to only return "leaf" nodes (ones who have no edges) - * @param result An array in which the results will be populated - */ -function createDFS(edges, leavesOnly, result) { - var currentPath = []; - var visited = {}; - return function DFS(currentNode) { - visited[currentNode] = true; - currentPath.push(currentNode); - edges[currentNode].forEach(function (node) { - if (!visited[node]) { - DFS(node); - } else if (currentPath.indexOf(node) >= 0) { - currentPath.push(node); - throw new Error('Dependency Cycle Found: ' + currentPath.join(' -> ')); - } - }); - currentPath.pop(); - if ((!leavesOnly || edges[currentNode].length === 0) && result.indexOf(currentNode) === -1) { - result.push(currentNode); - } - }; -} - -/** - * Simple Dependency Graph - */ -var DepGraph = exports.DepGraph = function DepGraph() { - this.nodes = {}; - this.outgoingEdges = {}; // Node -> [Dependency Node] - this.incomingEdges = {}; // Node -> [Dependant Node] -}; -DepGraph.prototype = { - /** - * Add a node to the dependency graph. If a node already exists, this method will do nothing. - */ - addNode:function (node, data) { - if (!this.hasNode(node)) { - // Checking the arguments length allows the user to add a node with undefined data - if (arguments.length === 2) { - this.nodes[node] = data; - } else { - this.nodes[node] = node; - } - this.outgoingEdges[node] = []; - this.incomingEdges[node] = []; - } - }, - /** - * Remove a node from the dependency graph. If a node does not exist, this method will do nothing. - */ - removeNode:function (node) { - if (this.hasNode(node)) { - delete this.nodes[node]; - delete this.outgoingEdges[node]; - delete this.incomingEdges[node]; - [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) { - Object.keys(edgeList).forEach(function (key) { - var idx = edgeList[key].indexOf(node); - if (idx >= 0) { - edgeList[key].splice(idx, 1); - } - }, this); - }); - } - }, - /** - * Check if a node exists in the graph - */ - hasNode:function (node) { - return this.nodes.hasOwnProperty(node); - }, - /** - * Get the data associated with a node name - */ - getNodeData:function (node) { - if (this.hasNode(node)) { - return this.nodes[node]; - } else { - throw new Error('Node does not exist: ' + node); - } - }, - /** - * Set the associated data for a given node name. If the node does not exist, this method will throw an error - */ - setNodeData:function (node, data) { - if (this.hasNode(node)) { - this.nodes[node] = data; - } else { - throw new Error('Node does not exist: ' + node); - } - }, - /** - * Add a dependency between two nodes. If either of the nodes does not exist, - * an Error will be thrown. - */ - addDependency:function (from, to) { - if (!this.hasNode(from)) { - throw new Error('Node does not exist: ' + from); - } - if (!this.hasNode(to)) { - throw new Error('Node does not exist: ' + to); - } - if (this.outgoingEdges[from].indexOf(to) === -1) { - this.outgoingEdges[from].push(to); - } - if (this.incomingEdges[to].indexOf(from) === -1) { - this.incomingEdges[to].push(from); - } - return true; - }, - /** - * Remove a dependency between two nodes. - */ - removeDependency:function (from, to) { - var idx; - if (this.hasNode(from)) { - idx = this.outgoingEdges[from].indexOf(to); - if (idx >= 0) { - this.outgoingEdges[from].splice(idx, 1); - } - } - - if (this.hasNode(to)) { - idx = this.incomingEdges[to].indexOf(from); - if (idx >= 0) { - this.incomingEdges[to].splice(idx, 1); - } - } - }, - /** - * Get an array containing the nodes that the specified node depends on (transitively). - * - * Throws an Error if the graph has a cycle, or the specified node does not exist. - * - * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned - * in the array. - */ - dependenciesOf:function (node, leavesOnly) { - if (this.hasNode(node)) { - var result = []; - var DFS = createDFS(this.outgoingEdges, leavesOnly, result); - DFS(node); - var idx = result.indexOf(node); - if (idx >= 0) { - result.splice(idx, 1); - } - return result; - } - else { - throw new Error('Node does not exist: ' + node); - } - }, - /** - * get an array containing the nodes that depend on the specified node (transitively). - * - * Throws an Error if the graph has a cycle, or the specified node does not exist. - * - * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array. - */ - dependantsOf:function (node, leavesOnly) { - if (this.hasNode(node)) { - var result = []; - var DFS = createDFS(this.incomingEdges, leavesOnly, result); - DFS(node); - var idx = result.indexOf(node); - if (idx >= 0) { - result.splice(idx, 1); - } - return result; - } else { - throw new Error('Node does not exist: ' + node); - } - }, - /** - * Construct the overall processing order for the dependency graph. - * - * Throws an Error if the graph has a cycle. - * - * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned. - */ - overallOrder:function (leavesOnly) { - var self = this; - var result = []; - var keys = Object.keys(this.nodes); - if (keys.length === 0) { - return result; // Empty graph - } else { - // Look for cycles - we run the DFS starting at all the nodes in case there - // are several disconnected subgraphs inside this dependency graph. - var CycleDFS = createDFS(this.outgoingEdges, false, []); - keys.forEach(function(n) { - CycleDFS(n); - }); - - var DFS = createDFS(this.outgoingEdges, leavesOnly, result); - // Find all potential starting points (nodes with nothing depending on them) an - // run a DFS starting at these points to get the order - keys.filter(function (node) { - return self.incomingEdges[node].length === 0; - }).forEach(function (n) { - DFS(n); - }); - - return result; - } - }, - - -}; - - -/***/ }), - -/***/ "./node_modules/exenv/index.js": -/*!*************************************!*\ - !*** ./node_modules/exenv/index.js ***! - \*************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_RESULT__;/*! - Copyright (c) 2015 Jed Watson. - Based on code that is Copyright 2013-2015, Facebook, Inc. - All rights reserved. -*/ -/* global define */ - -(function () { - 'use strict'; - - var canUseDOM = !!( - typeof window !== 'undefined' && - window.document && - window.document.createElement - ); - - var ExecutionEnvironment = { - - canUseDOM: canUseDOM, - - canUseWorkers: typeof Worker !== 'undefined', - - canUseEventListeners: - canUseDOM && !!(window.addEventListener || window.attachEvent), - - canUseViewport: canUseDOM && !!window.screen - - }; - - if (true) { - !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { - return ExecutionEnvironment; - }).call(exports, __webpack_require__, exports, module), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); - } else {} - -}()); - - -/***/ }), - -/***/ "./node_modules/flux-standard-action/lib/index.js": -/*!********************************************************!*\ - !*** ./node_modules/flux-standard-action/lib/index.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.isFSA = isFSA; -exports.isError = isError; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _lodashIsplainobject = __webpack_require__(/*! lodash.isplainobject */ "./node_modules/lodash.isplainobject/index.js"); - -var _lodashIsplainobject2 = _interopRequireDefault(_lodashIsplainobject); - -var validKeys = ['type', 'payload', 'error', 'meta']; - -function isValidKey(key) { - return validKeys.indexOf(key) > -1; -} - -function isFSA(action) { - return _lodashIsplainobject2['default'](action) && typeof action.type !== 'undefined' && Object.keys(action).every(isValidKey); -} - -function isError(action) { - return action.error === true; -} - -/***/ }), - -/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": -/*!**********************************************************************************!*\ - !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Copyright 2015, Yahoo! Inc. - * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. - */ -var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); -var REACT_STATICS = { - childContextTypes: true, - contextType: true, - contextTypes: true, - defaultProps: true, - displayName: true, - getDefaultProps: true, - getDerivedStateFromError: true, - getDerivedStateFromProps: true, - mixins: true, - propTypes: true, - type: true -}; - -var KNOWN_STATICS = { - name: true, - length: true, - prototype: true, - caller: true, - callee: true, - arguments: true, - arity: true -}; - -var FORWARD_REF_STATICS = { - '$$typeof': true, - render: true, - defaultProps: true, - displayName: true, - propTypes: true -}; - -var MEMO_STATICS = { - '$$typeof': true, - compare: true, - defaultProps: true, - displayName: true, - propTypes: true, - type: true -}; - -var TYPE_STATICS = {}; -TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS; - -function getStatics(component) { - if (ReactIs.isMemo(component)) { - return MEMO_STATICS; - } - return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; -} - -var defineProperty = Object.defineProperty; -var getOwnPropertyNames = Object.getOwnPropertyNames; -var getOwnPropertySymbols = Object.getOwnPropertySymbols; -var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; -var getPrototypeOf = Object.getPrototypeOf; -var objectPrototype = Object.prototype; - -function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { - if (typeof sourceComponent !== 'string') { - // don't hoist over string (html) components - - if (objectPrototype) { - var inheritedComponent = getPrototypeOf(sourceComponent); - if (inheritedComponent && inheritedComponent !== objectPrototype) { - hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); - } - } - - var keys = getOwnPropertyNames(sourceComponent); - - if (getOwnPropertySymbols) { - keys = keys.concat(getOwnPropertySymbols(sourceComponent)); - } - - var targetStatics = getStatics(targetComponent); - var sourceStatics = getStatics(sourceComponent); - - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { - var descriptor = getOwnPropertyDescriptor(sourceComponent, key); - try { - // Avoid failures from read-only properties - defineProperty(targetComponent, key, descriptor); - } catch (e) {} - } - } - - return targetComponent; - } - - return targetComponent; -} - -module.exports = hoistNonReactStatics; - - -/***/ }), - -/***/ "./node_modules/hyphenate-style-name/index.js": -/*!****************************************************!*\ - !*** ./node_modules/hyphenate-style-name/index.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* eslint-disable no-var, prefer-template */ -var uppercasePattern = /[A-Z]/g -var msPattern = /^ms-/ -var cache = {} - -function toHyphenLower(match) { - return '-' + match.toLowerCase() -} - -function hyphenateStyleName(name) { - if (cache.hasOwnProperty(name)) { - return cache[name] - } - - var hName = name.replace(uppercasePattern, toHyphenLower) - return (cache[name] = msPattern.test(hName) ? '-' + hName : hName) -} - -/* harmony default export */ __webpack_exports__["default"] = (hyphenateStyleName); - - -/***/ }), - -/***/ "./node_modules/ieee754/index.js": -/*!***************************************!*\ - !*** ./node_modules/ieee754/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -exports.read = function (buffer, offset, isLE, mLen, nBytes) { - var e, m - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var nBits = -7 - var i = isLE ? (nBytes - 1) : 0 - var d = isLE ? -1 : 1 - var s = buffer[offset + i] - - i += d - - e = s & ((1 << (-nBits)) - 1) - s >>= (-nBits) - nBits += eLen - for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - m = e & ((1 << (-nBits)) - 1) - e >>= (-nBits) - nBits += mLen - for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} - - if (e === 0) { - e = 1 - eBias - } else if (e === eMax) { - return m ? NaN : ((s ? -1 : 1) * Infinity) - } else { - m = m + Math.pow(2, mLen) - e = e - eBias - } - return (s ? -1 : 1) * m * Math.pow(2, e - mLen) -} - -exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { - var e, m, c - var eLen = (nBytes * 8) - mLen - 1 - var eMax = (1 << eLen) - 1 - var eBias = eMax >> 1 - var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) - var i = isLE ? 0 : (nBytes - 1) - var d = isLE ? 1 : -1 - var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 - - value = Math.abs(value) - - if (isNaN(value) || value === Infinity) { - m = isNaN(value) ? 1 : 0 - e = eMax - } else { - e = Math.floor(Math.log(value) / Math.LN2) - if (value * (c = Math.pow(2, -e)) < 1) { - e-- - c *= 2 - } - if (e + eBias >= 1) { - value += rt / c - } else { - value += rt * Math.pow(2, 1 - eBias) - } - if (value * c >= 2) { - e++ - c /= 2 - } - - if (e + eBias >= eMax) { - m = 0 - e = eMax - } else if (e + eBias >= 1) { - m = ((value * c) - 1) * Math.pow(2, mLen) - e = e + eBias - } else { - m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) - e = 0 - } - } - - for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} - - e = (e << mLen) | m - eLen += mLen - for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} - - buffer[offset + i - d] |= s * 128 -} - - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/createPrefixer.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/createPrefixer.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -exports.default = createPrefixer; - -var _getBrowserInformation = __webpack_require__(/*! ../utils/getBrowserInformation */ "./node_modules/inline-style-prefixer/utils/getBrowserInformation.js"); - -var _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation); - -var _getPrefixedKeyframes = __webpack_require__(/*! ../utils/getPrefixedKeyframes */ "./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js"); - -var _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes); - -var _capitalizeString = __webpack_require__(/*! ../utils/capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); - -var _capitalizeString2 = _interopRequireDefault(_capitalizeString); - -var _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js"); - -var _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly); - -var _isObject = __webpack_require__(/*! ../utils/isObject */ "./node_modules/inline-style-prefixer/utils/isObject.js"); - -var _isObject2 = _interopRequireDefault(_isObject); - -var _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ "./node_modules/inline-style-prefixer/utils/prefixValue.js"); - -var _prefixValue2 = _interopRequireDefault(_prefixValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function createPrefixer(_ref) { - var prefixMap = _ref.prefixMap, - plugins = _ref.plugins; - var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) { - return style; - }; - - return function () { - /** - * Instantiante a new prefixer - * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com - * @param {string} keepUnprefixed - keeps unprefixed properties and values - */ - function Prefixer() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - - _classCallCheck(this, Prefixer); - - var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined; - - this._userAgent = options.userAgent || defaultUserAgent; - this._keepUnprefixed = options.keepUnprefixed || false; - - if (this._userAgent) { - this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent); - } - - // Checks if the userAgent was resolved correctly - if (this._browserInfo && this._browserInfo.cssPrefix) { - this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix); - } else { - this._useFallback = true; - return false; - } - - var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName]; - if (prefixData) { - this._requiresPrefix = {}; - - for (var property in prefixData) { - if (prefixData[property] >= this._browserInfo.browserVersion) { - this._requiresPrefix[property] = true; - } - } - - this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0; - } else { - this._useFallback = true; - } - - this._metaData = { - browserVersion: this._browserInfo.browserVersion, - browserName: this._browserInfo.browserName, - cssPrefix: this._browserInfo.cssPrefix, - jsPrefix: this._browserInfo.jsPrefix, - keepUnprefixed: this._keepUnprefixed, - requiresPrefix: this._requiresPrefix - }; - } - - _createClass(Prefixer, [{ - key: 'prefix', - value: function prefix(style) { - // use static prefixer as fallback if userAgent can not be resolved - if (this._useFallback) { - return fallback(style); - } - - // only add prefixes if needed - if (!this._hasPropsRequiringPrefix) { - return style; - } - - return this._prefixStyle(style); - } - }, { - key: '_prefixStyle', - value: function _prefixStyle(style) { - for (var property in style) { - var value = style[property]; - - // handle nested objects - if ((0, _isObject2.default)(value)) { - style[property] = this.prefix(value); - // handle array values - } else if (Array.isArray(value)) { - var combinedValue = []; - - for (var i = 0, len = value.length; i < len; ++i) { - var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData); - (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]); - } - - // only modify the value if it was touched - // by any plugin to prevent unnecessary mutations - if (combinedValue.length > 0) { - style[property] = combinedValue; - } - } else { - var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData); - - // only modify the value if it was touched - // by any plugin to prevent unnecessary mutations - if (_processedValue) { - style[property] = _processedValue; - } - - // add prefixes to properties - if (this._requiresPrefix.hasOwnProperty(property)) { - style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value; - if (!this._keepUnprefixed) { - delete style[property]; - } - } - } - } - - return style; - } - - /** - * Returns a prefixed version of the style object using all vendor prefixes - * @param {Object} styles - Style object that gets prefixed properties added - * @returns {Object} - Style object with prefixed properties and values - */ - - }], [{ - key: 'prefixAll', - value: function prefixAll(styles) { - return fallback(styles); - } - }]); - - return Prefixer; - }(); -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/calc.js": -/*!********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/calc.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = calc; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function calc(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) { - return (0, _getPrefixedValue2.default)(value.replace(/calc\(/g, cssPrefix + 'calc('), value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js": -/*!*************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = crossFade; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function crossFade(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) { - return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cursor; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var grabValues = { - grab: true, - grabbing: true -}; - - -var zoomValues = { - 'zoom-in': true, - 'zoom-out': true -}; - -function cursor(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - // adds prefixes for firefox, chrome, safari, and opera regardless of - // version until a reliable browser support info can be found - // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79 - if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) { - return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); - } - - if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) { - return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/filter.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/filter.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = filter; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function filter(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) { - return (0, _getPrefixedValue2.default)(value.replace(/filter\(/g, cssPrefix + 'filter('), value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flex.js": -/*!********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flex.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flex; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var values = { - flex: true, - 'inline-flex': true -}; -function flex(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) { - return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js": -/*!*************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flexboxIE; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var alternativeValues = { - 'space-around': 'distribute', - 'space-between': 'justify', - 'flex-start': 'start', - 'flex-end': 'end', - flex: 'flexbox', - 'inline-flex': 'inline-flexbox' -}; - -var alternativeProps = { - alignContent: 'msFlexLinePack', - alignSelf: 'msFlexItemAlign', - alignItems: 'msFlexAlign', - justifyContent: 'msFlexPack', - order: 'msFlexOrder', - flexGrow: 'msFlexPositive', - flexShrink: 'msFlexNegative', - flexBasis: 'msFlexPreferredSize' -}; - -function flexboxIE(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed, - requiresPrefix = _ref.requiresPrefix; - - if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) { - delete requiresPrefix[property]; - - if (!keepUnprefixed && !Array.isArray(style[property])) { - delete style[property]; - } - if (property === 'display' && alternativeValues.hasOwnProperty(value)) { - return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed); - } - if (alternativeProps.hasOwnProperty(property)) { - style[alternativeProps[property]] = alternativeValues[value] || value; - } - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js": -/*!**************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flexboxOld; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var alternativeValues = { - 'space-around': 'justify', - 'space-between': 'justify', - 'flex-start': 'start', - 'flex-end': 'end', - 'wrap-reverse': 'multiple', - wrap: 'multiple', - flex: 'box', - 'inline-flex': 'inline-box' -}; - - -var alternativeProps = { - alignItems: 'WebkitBoxAlign', - justifyContent: 'WebkitBoxPack', - flexWrap: 'WebkitBoxLines', - flexGrow: 'WebkitBoxFlex' -}; - -var otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection']; -var properties = Object.keys(alternativeProps).concat(otherProps); - -function flexboxOld(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed, - requiresPrefix = _ref.requiresPrefix; - - if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) { - delete requiresPrefix[property]; - - if (!keepUnprefixed && !Array.isArray(style[property])) { - delete style[property]; - } - if (property === 'flexDirection' && typeof value === 'string') { - if (value.indexOf('column') > -1) { - style.WebkitBoxOrient = 'vertical'; - } else { - style.WebkitBoxOrient = 'horizontal'; - } - if (value.indexOf('reverse') > -1) { - style.WebkitBoxDirection = 'reverse'; - } else { - style.WebkitBoxDirection = 'normal'; - } - } - if (property === 'display' && alternativeValues.hasOwnProperty(value)) { - return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed); - } - if (alternativeProps.hasOwnProperty(property)) { - style[alternativeProps[property]] = alternativeValues[value] || value; - } - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js": -/*!************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = gradient; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi; -function gradient(property, value, style, _ref) { - var browserName = _ref.browserName, - browserVersion = _ref.browserVersion, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) { - return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) { - return cssPrefix + grad; - }), value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js": -/*!************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = imageSet; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function imageSet(property, value, style, _ref) { - var browserName = _ref.browserName, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) { - return (0, _getPrefixedValue2.default)(value.replace(/image-set\(/g, cssPrefix + 'image-set('), value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/position.js": -/*!************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/position.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = position; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function position(property, value, style, _ref) { - var browserName = _ref.browserName, - cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) { - return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = sizing; - -var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); - -var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var properties = { - maxHeight: true, - maxWidth: true, - width: true, - height: true, - columnWidth: true, - minWidth: true, - minHeight: true -}; - -var values = { - 'min-content': true, - 'max-content': true, - 'fill-available': true, - 'fit-content': true, - 'contain-floats': true - - // TODO: chrome & opera support it -};function sizing(property, value, style, _ref) { - var cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed; - - // This might change in the future - // Keep an eye on it - if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) { - return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/transition.js": -/*!**************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/dynamic/plugins/transition.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = transition; - -var _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js"); - -var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var properties = { - transition: true, - transitionProperty: true, - WebkitTransition: true, - WebkitTransitionProperty: true, - MozTransition: true, - MozTransitionProperty: true -}; - - -var requiresPrefixDashCased = void 0; - -function transition(property, value, style, _ref) { - var cssPrefix = _ref.cssPrefix, - keepUnprefixed = _ref.keepUnprefixed, - requiresPrefix = _ref.requiresPrefix; - - if (typeof value === 'string' && properties.hasOwnProperty(property)) { - // memoize the prefix array for later use - if (!requiresPrefixDashCased) { - requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) { - return (0, _hyphenateProperty2.default)(prop); - }); - } - - // only split multi values, not cubic beziers - var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); - - requiresPrefixDashCased.forEach(function (prop) { - multipleValues.forEach(function (val, index) { - if (val.indexOf(prop) > -1 && prop !== 'order') { - multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : ''); - } - }); - }); - - return multipleValues.join(','); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/createPrefixer.js": -/*!*********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/createPrefixer.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = createPrefixer; - -var _prefixProperty = __webpack_require__(/*! ../utils/prefixProperty */ "./node_modules/inline-style-prefixer/utils/prefixProperty.js"); - -var _prefixProperty2 = _interopRequireDefault(_prefixProperty); - -var _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ "./node_modules/inline-style-prefixer/utils/prefixValue.js"); - -var _prefixValue2 = _interopRequireDefault(_prefixValue); - -var _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js"); - -var _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly); - -var _isObject = __webpack_require__(/*! ../utils/isObject */ "./node_modules/inline-style-prefixer/utils/isObject.js"); - -var _isObject2 = _interopRequireDefault(_isObject); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function createPrefixer(_ref) { - var prefixMap = _ref.prefixMap, - plugins = _ref.plugins; - - function prefixAll(style) { - for (var property in style) { - var value = style[property]; - - // handle nested objects - if ((0, _isObject2.default)(value)) { - style[property] = prefixAll(value); - // handle array values - } else if (Array.isArray(value)) { - var combinedValue = []; - - for (var i = 0, len = value.length; i < len; ++i) { - var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap); - (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]); - } - - // only modify the value if it was touched - // by any plugin to prevent unnecessary mutations - if (combinedValue.length > 0) { - style[property] = combinedValue; - } - } else { - var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap); - - // only modify the value if it was touched - // by any plugin to prevent unnecessary mutations - if (_processedValue) { - style[property] = _processedValue; - } - - style = (0, _prefixProperty2.default)(prefixMap, property, style); - } - } - - return style; - } - - return prefixAll; -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/calc.js": -/*!*******************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/calc.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = calc; - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var prefixes = ['-webkit-', '-moz-', '']; -function calc(property, value) { - if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) { - return prefixes.map(function (prefix) { - return value.replace(/calc\(/g, prefix + 'calc('); - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/crossFade.js": -/*!************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/crossFade.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = crossFade; - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// http://caniuse.com/#search=cross-fade -var prefixes = ['-webkit-', '']; -function crossFade(property, value) { - if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) { - return prefixes.map(function (prefix) { - return value.replace(/cross-fade\(/g, prefix + 'cross-fade('); - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/cursor.js": -/*!*********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/cursor.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = cursor; -var prefixes = ['-webkit-', '-moz-', '']; - -var values = { - 'zoom-in': true, - 'zoom-out': true, - grab: true, - grabbing: true -}; - -function cursor(property, value) { - if (property === 'cursor' && values.hasOwnProperty(value)) { - return prefixes.map(function (prefix) { - return prefix + value; - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/filter.js": -/*!*********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/filter.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = filter; - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// http://caniuse.com/#feat=css-filter-function -var prefixes = ['-webkit-', '']; -function filter(property, value) { - if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) { - return prefixes.map(function (prefix) { - return value.replace(/filter\(/g, prefix + 'filter('); - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/flex.js": -/*!*******************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/flex.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flex; -var values = { - flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'], - 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex'] -}; - -function flex(property, value) { - if (property === 'display' && values.hasOwnProperty(value)) { - return values[value]; - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js": -/*!************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flexboxIE; -var alternativeValues = { - 'space-around': 'distribute', - 'space-between': 'justify', - 'flex-start': 'start', - 'flex-end': 'end' -}; -var alternativeProps = { - alignContent: 'msFlexLinePack', - alignSelf: 'msFlexItemAlign', - alignItems: 'msFlexAlign', - justifyContent: 'msFlexPack', - order: 'msFlexOrder', - flexGrow: 'msFlexPositive', - flexShrink: 'msFlexNegative', - flexBasis: 'msFlexPreferredSize' -}; - -function flexboxIE(property, value, style) { - if (alternativeProps.hasOwnProperty(property)) { - style[alternativeProps[property]] = alternativeValues[value] || value; - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js": -/*!*************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = flexboxOld; -var alternativeValues = { - 'space-around': 'justify', - 'space-between': 'justify', - 'flex-start': 'start', - 'flex-end': 'end', - 'wrap-reverse': 'multiple', - wrap: 'multiple', - flex: 'box', - 'inline-flex': 'inline-box' -}; - -var alternativeProps = { - alignItems: 'WebkitBoxAlign', - justifyContent: 'WebkitBoxPack', - flexWrap: 'WebkitBoxLines', - flexGrow: 'WebkitBoxFlex' -}; - -function flexboxOld(property, value, style) { - if (property === 'flexDirection' && typeof value === 'string') { - if (value.indexOf('column') > -1) { - style.WebkitBoxOrient = 'vertical'; - } else { - style.WebkitBoxOrient = 'horizontal'; - } - if (value.indexOf('reverse') > -1) { - style.WebkitBoxDirection = 'reverse'; - } else { - style.WebkitBoxDirection = 'normal'; - } - } - if (alternativeProps.hasOwnProperty(property)) { - style[alternativeProps[property]] = alternativeValues[value] || value; - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/gradient.js": -/*!***********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/gradient.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = gradient; - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var prefixes = ['-webkit-', '-moz-', '']; - -var values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi; - -function gradient(property, value) { - if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) { - return prefixes.map(function (prefix) { - return value.replace(values, function (grad) { - return prefix + grad; - }); - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/imageSet.js": -/*!***********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/imageSet.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = imageSet; - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// http://caniuse.com/#feat=css-image-set -var prefixes = ['-webkit-', '']; -function imageSet(property, value) { - if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) { - return prefixes.map(function (prefix) { - return value.replace(/image-set\(/g, prefix + 'image-set('); - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/position.js": -/*!***********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/position.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = position; -function position(property, value) { - if (property === 'position' && value === 'sticky') { - return ['-webkit-sticky', 'sticky']; - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/sizing.js": -/*!*********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/sizing.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = sizing; -var prefixes = ['-webkit-', '-moz-', '']; - -var properties = { - maxHeight: true, - maxWidth: true, - width: true, - height: true, - columnWidth: true, - minWidth: true, - minHeight: true -}; -var values = { - 'min-content': true, - 'max-content': true, - 'fill-available': true, - 'fit-content': true, - 'contain-floats': true -}; - -function sizing(property, value) { - if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) { - return prefixes.map(function (prefix) { - return prefix + value; - }); - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/static/plugins/transition.js": -/*!*************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/static/plugins/transition.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = transition; - -var _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js"); - -var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); - -var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); - -var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); - -var _capitalizeString = __webpack_require__(/*! ../../utils/capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); - -var _capitalizeString2 = _interopRequireDefault(_capitalizeString); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var properties = { - transition: true, - transitionProperty: true, - WebkitTransition: true, - WebkitTransitionProperty: true, - MozTransition: true, - MozTransitionProperty: true -}; - - -var prefixMapping = { - Webkit: '-webkit-', - Moz: '-moz-', - ms: '-ms-' -}; - -function prefixValue(value, propertyPrefixMap) { - if ((0, _isPrefixedValue2.default)(value)) { - return value; - } - - // only split multi values, not cubic beziers - var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); - - for (var i = 0, len = multipleValues.length; i < len; ++i) { - var singleValue = multipleValues[i]; - var values = [singleValue]; - for (var property in propertyPrefixMap) { - var dashCaseProperty = (0, _hyphenateProperty2.default)(property); - - if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') { - var prefixes = propertyPrefixMap[property]; - for (var j = 0, pLen = prefixes.length; j < pLen; ++j) { - // join all prefixes and create a new value - values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty)); - } - } - } - - multipleValues[i] = values.join(','); - } - - return multipleValues.join(','); -} - -function transition(property, value, style, propertyPrefixMap) { - // also check for already prefixed transitions - if (typeof value === 'string' && properties.hasOwnProperty(property)) { - var outputValue = prefixValue(value, propertyPrefixMap); - // if the property is already prefixed - var webkitOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function (val) { - return !/-moz-|-ms-/.test(val); - }).join(','); - - if (property.indexOf('Webkit') > -1) { - return webkitOutput; - } - - var mozOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function (val) { - return !/-webkit-|-ms-/.test(val); - }).join(','); - - if (property.indexOf('Moz') > -1) { - return mozOutput; - } - - style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput; - style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput; - return outputValue; - } -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = addNewValuesOnly; -function addIfNew(list, value) { - if (list.indexOf(value) === -1) { - list.push(value); - } -} - -function addNewValuesOnly(list, values) { - if (Array.isArray(values)) { - for (var i = 0, len = values.length; i < len; ++i) { - addIfNew(list, values[i]); - } - } else { - addIfNew(list, values); - } -} -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/capitalizeString.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/capitalizeString.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = capitalizeString; -function capitalizeString(str) { - return str.charAt(0).toUpperCase() + str.slice(1); -} -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/getBrowserInformation.js": -/*!***************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/getBrowserInformation.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getBrowserInformation; - -var _bowser = __webpack_require__(/*! bowser */ "./node_modules/bowser/src/bowser.js"); - -var _bowser2 = _interopRequireDefault(_bowser); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var prefixByBrowser = { - chrome: 'Webkit', - safari: 'Webkit', - ios: 'Webkit', - android: 'Webkit', - phantom: 'Webkit', - opera: 'Webkit', - webos: 'Webkit', - blackberry: 'Webkit', - bada: 'Webkit', - tizen: 'Webkit', - chromium: 'Webkit', - vivaldi: 'Webkit', - firefox: 'Moz', - seamoney: 'Moz', - sailfish: 'Moz', - msie: 'ms', - msedge: 'ms' -}; - - -var browserByCanIuseAlias = { - chrome: 'chrome', - chromium: 'chrome', - safari: 'safari', - firfox: 'firefox', - msedge: 'edge', - opera: 'opera', - vivaldi: 'opera', - msie: 'ie' -}; - -function getBrowserName(browserInfo) { - if (browserInfo.firefox) { - return 'firefox'; - } - - if (browserInfo.mobile || browserInfo.tablet) { - if (browserInfo.ios) { - return 'ios_saf'; - } else if (browserInfo.android) { - return 'android'; - } else if (browserInfo.opera) { - return 'op_mini'; - } - } - - for (var browser in browserByCanIuseAlias) { - if (browserInfo.hasOwnProperty(browser)) { - return browserByCanIuseAlias[browser]; - } - } -} - -/** - * Uses bowser to get default browser browserInformation such as version and name - * Evaluates bowser browserInfo and adds vendorPrefix browserInformation - * @param {string} userAgent - userAgent that gets evaluated - */ -function getBrowserInformation(userAgent) { - var browserInfo = _bowser2.default._detect(userAgent); - - if (browserInfo.yandexbrowser) { - browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\/[0-9.]*/, '')); - } - - for (var browser in prefixByBrowser) { - if (browserInfo.hasOwnProperty(browser)) { - var prefix = prefixByBrowser[browser]; - - browserInfo.jsPrefix = prefix; - browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-'; - break; - } - } - - browserInfo.browserName = getBrowserName(browserInfo); - - // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN - if (browserInfo.version) { - browserInfo.browserVersion = parseFloat(browserInfo.version); - } else { - browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10); - } - - browserInfo.osVersion = parseFloat(browserInfo.osversion); - - // iOS forces all browsers to use Safari under the hood - // as the Safari version seems to match the iOS version - // we just explicitely use the osversion instead - // https://github.com/rofrischmann/inline-style-prefixer/issues/72 - if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) { - browserInfo.browserVersion = browserInfo.osVersion; - } - - // seperate native android chrome - // https://github.com/rofrischmann/inline-style-prefixer/issues/45 - if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) { - browserInfo.browserName = 'and_chr'; - } - - // For android < 4.4 we want to check the osversion - // not the chrome version, see issue #26 - // https://github.com/rofrischmann/inline-style-prefixer/issues/26 - if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) { - browserInfo.browserVersion = browserInfo.osVersion; - } - - // Samsung browser are basically build on Chrome > 44 - // https://github.com/rofrischmann/inline-style-prefixer/issues/102 - if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) { - browserInfo.browserName = 'and_chr'; - browserInfo.browserVersion = 44; - } - - return browserInfo; -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js": -/*!**************************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getPrefixedKeyframes; -function getPrefixedKeyframes(browserName, browserVersion, cssPrefix) { - var prefixedKeyframes = 'keyframes'; - - if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') { - return cssPrefix + prefixedKeyframes; - } - return prefixedKeyframes; -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js": -/*!**********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/getPrefixedValue.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = getPrefixedValue; -function getPrefixedValue(prefixedValue, value, keepUnprefixed) { - if (keepUnprefixed) { - return [prefixedValue, value]; - } - return prefixedValue; -} -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/isObject.js": -/*!**************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/isObject.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isObject; -function isObject(value) { - return value instanceof Object && !Array.isArray(value); -} -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/prefixProperty.js": -/*!********************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/prefixProperty.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = prefixProperty; - -var _capitalizeString = __webpack_require__(/*! ./capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); - -var _capitalizeString2 = _interopRequireDefault(_capitalizeString); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function prefixProperty(prefixProperties, property, style) { - if (prefixProperties.hasOwnProperty(property)) { - var newStyle = {}; - var requiredPrefixes = prefixProperties[property]; - var capitalizedProperty = (0, _capitalizeString2.default)(property); - var keys = Object.keys(style); - for (var i = 0; i < keys.length; i++) { - var styleProperty = keys[i]; - if (styleProperty === property) { - for (var j = 0; j < requiredPrefixes.length; j++) { - newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property]; - } - } - newStyle[styleProperty] = style[styleProperty]; - } - return newStyle; - } - return style; -} -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/inline-style-prefixer/utils/prefixValue.js": -/*!*****************************************************************!*\ - !*** ./node_modules/inline-style-prefixer/utils/prefixValue.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = prefixValue; -function prefixValue(plugins, property, value, style, metaData) { - for (var i = 0, len = plugins.length; i < len; ++i) { - var processedValue = plugins[i](property, value, style, metaData); - - // we can stop processing if a value is returned - // as all plugin criteria are unique - if (processedValue) { - return processedValue; - } - } -} -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/invariant/browser.js": -/*!*******************************************!*\ - !*** ./node_modules/invariant/browser.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -/** - * Use invariant() to assert state which your program assumes to be true. - * - * Provide sprintf-style format (only %s is supported) and arguments - * to provide information about what broke and what you were - * expecting. - * - * The invariant message will be stripped in production, but the invariant - * will remain to ensure logic does not differ in production. - */ - -var invariant = function(condition, format, a, b, c, d, e, f) { - if (true) { - if (format === undefined) { - throw new Error('invariant requires an error message argument'); - } - } - - if (!condition) { - var error; - if (format === undefined) { - error = new Error( - 'Minified exception occurred; use the non-minified dev environment ' + - 'for the full error message and additional helpful warnings.' - ); - } else { - var args = [a, b, c, d, e, f]; - var argIndex = 0; - error = new Error( - format.replace(/%s/g, function() { return args[argIndex++]; }) - ); - error.name = 'Invariant Violation'; - } - - error.framesToPop = 1; // we don't care about invariant's own frame - throw error; - } -}; - -module.exports = invariant; - - -/***/ }), - -/***/ "./node_modules/isarray/index.js": -/*!***************************************!*\ - !*** ./node_modules/isarray/index.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - - -/***/ }), - -/***/ "./node_modules/lodash-es/_Symbol.js": -/*!*******************************************!*\ - !*** ./node_modules/lodash-es/_Symbol.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _root_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_root.js */ "./node_modules/lodash-es/_root.js"); - - -/** Built-in value references. */ -var Symbol = _root_js__WEBPACK_IMPORTED_MODULE_0__["default"].Symbol; - -/* harmony default export */ __webpack_exports__["default"] = (Symbol); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_baseGetTag.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash-es/_baseGetTag.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); -/* harmony import */ var _getRawTag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getRawTag.js */ "./node_modules/lodash-es/_getRawTag.js"); -/* harmony import */ var _objectToString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_objectToString.js */ "./node_modules/lodash-es/_objectToString.js"); - - - - -/** `Object#toString` result references. */ -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; - -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? Object(_getRawTag_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value) - : Object(_objectToString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value); -} - -/* harmony default export */ __webpack_exports__["default"] = (baseGetTag); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_freeGlobal.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash-es/_freeGlobal.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -/* harmony default export */ __webpack_exports__["default"] = (freeGlobal); - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/lodash-es/_getPrototype.js": -/*!*************************************************!*\ - !*** ./node_modules/lodash-es/_getPrototype.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _overArg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_overArg.js */ "./node_modules/lodash-es/_overArg.js"); - - -/** Built-in value references. */ -var getPrototype = Object(_overArg_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Object.getPrototypeOf, Object); - -/* harmony default export */ __webpack_exports__["default"] = (getPrototype); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_getRawTag.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash-es/_getRawTag.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _Symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_Symbol.js */ "./node_modules/lodash-es/_Symbol.js"); - - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag = _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"] ? _Symbol_js__WEBPACK_IMPORTED_MODULE_0__["default"].toStringTag : undefined; - -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; -} - -/* harmony default export */ __webpack_exports__["default"] = (getRawTag); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_objectToString.js": -/*!***************************************************!*\ - !*** ./node_modules/lodash-es/_objectToString.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ -function objectToString(value) { - return nativeObjectToString.call(value); -} - -/* harmony default export */ __webpack_exports__["default"] = (objectToString); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_overArg.js": -/*!********************************************!*\ - !*** ./node_modules/lodash-es/_overArg.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (overArg); - - -/***/ }), - -/***/ "./node_modules/lodash-es/_root.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash-es/_root.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_freeGlobal.js */ "./node_modules/lodash-es/_freeGlobal.js"); - - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = _freeGlobal_js__WEBPACK_IMPORTED_MODULE_0__["default"] || freeSelf || Function('return this')(); - -/* harmony default export */ __webpack_exports__["default"] = (root); - - -/***/ }), - -/***/ "./node_modules/lodash-es/isObjectLike.js": -/*!************************************************!*\ - !*** ./node_modules/lodash-es/isObjectLike.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -/* harmony default export */ __webpack_exports__["default"] = (isObjectLike); - - -/***/ }), - -/***/ "./node_modules/lodash-es/isPlainObject.js": -/*!*************************************************!*\ - !*** ./node_modules/lodash-es/isPlainObject.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_baseGetTag.js */ "./node_modules/lodash-es/_baseGetTag.js"); -/* harmony import */ var _getPrototype_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_getPrototype.js */ "./node_modules/lodash-es/_getPrototype.js"); -/* harmony import */ var _isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isObjectLike.js */ "./node_modules/lodash-es/isObjectLike.js"); - - - - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - if (!Object(_isObjectLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(value) || Object(_baseGetTag_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value) != objectTag) { - return false; - } - var proto = Object(_getPrototype_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; -} - -/* harmony default export */ __webpack_exports__["default"] = (isPlainObject); - - -/***/ }), - -/***/ "./node_modules/lodash._basefor/index.js": -/*!***********************************************!*\ - !*** ./node_modules/lodash._basefor/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * lodash 3.0.3 (Custom Build) <https://lodash.com/> - * Build: `lodash modularize exports="npm" -o ./` - * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/> - * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> - * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license <https://lodash.com/license> - */ - -/** - * The base implementation of `baseForIn` and `baseForOwn` which iterates - * over `object` properties returned by `keysFunc` invoking `iteratee` for - * each property. Iteratee functions may exit iteration early by explicitly - * returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -/** - * Creates a base function for methods like `_.forIn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -module.exports = baseFor; - - -/***/ }), - -/***/ "./node_modules/lodash.isarguments/index.js": -/*!**************************************************!*\ - !*** ./node_modules/lodash.isarguments/index.js ***! - \**************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * lodash (Custom Build) <https://lodash.com/> - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors <https://jquery.org/> - * Released under MIT license <https://lodash.com/license> - * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var objectToString = objectProto.toString; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -function isArguments(value) { - // Safari 8.1 makes `arguments.callee` enumerable in strict mode. - return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && - (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); -} - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} - -/** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ -function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); -} - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. - var tag = isObject(value) ? objectToString.call(value) : ''; - return tag == funcTag || tag == genTag; -} - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ -function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -module.exports = isArguments; - - -/***/ }), - -/***/ "./node_modules/lodash.isarray/index.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash.isarray/index.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * lodash 3.0.4 (Custom Build) <https://lodash.com/> - * Build: `lodash modern modularize exports="npm" -o ./` - * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> - * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license <https://lodash.com/license> - */ - -/** `Object#toString` result references. */ -var arrayTag = '[object Array]', - funcTag = '[object Function]'; - -/** Used to detect host constructors (Safari > 5). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var fnToString = Function.prototype.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - fnToString.call(hasOwnProperty).replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/* Native method references for those with the same name as other `lodash` methods. */ -var nativeIsArray = getNative(Array, 'isArray'); - -/** - * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = object == null ? undefined : object[key]; - return isNative(value) ? value : undefined; -} - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(function() { return arguments; }()); - * // => false - */ -var isArray = nativeIsArray || function(value) { - return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag; -}; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in older versions of Chrome and Safari which return 'function' for regexes - // and Safari 8 equivalents which return 'object' for typed array constructors. - return isObject(value) && objToString.call(value) == funcTag; -} - -/** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ -function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Checks if `value` is a native function. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ -function isNative(value) { - if (value == null) { - return false; - } - if (isFunction(value)) { - return reIsNative.test(fnToString.call(value)); - } - return isObjectLike(value) && reIsHostCtor.test(value); -} - -module.exports = isArray; - - -/***/ }), - -/***/ "./node_modules/lodash.isplainobject/index.js": -/*!****************************************************!*\ - !*** ./node_modules/lodash.isplainobject/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * lodash 3.2.0 (Custom Build) <https://lodash.com/> - * Build: `lodash modern modularize exports="npm" -o ./` - * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> - * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license <https://lodash.com/license> - */ -var baseFor = __webpack_require__(/*! lodash._basefor */ "./node_modules/lodash._basefor/index.js"), - isArguments = __webpack_require__(/*! lodash.isarguments */ "./node_modules/lodash.isarguments/index.js"), - keysIn = __webpack_require__(/*! lodash.keysin */ "./node_modules/lodash.keysin/index.js"); - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** - * Checks if `value` is object-like. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) - * of values. - */ -var objToString = objectProto.toString; - -/** - * The base implementation of `_.forIn` without support for callback - * shorthands and `this` binding. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForIn(object, iteratee) { - return baseFor(object, iteratee, keysIn); -} - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * **Note:** This method assumes objects created by the `Object` constructor - * have no inherited enumerable properties. - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - var Ctor; - - // Exit early for non `Object` objects. - if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) || - (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) { - return false; - } - // IE < 9 iterates inherited properties before own properties. If the first - // iterated property is an object's own property then there are no inherited - // enumerable properties. - var result; - // In most environments an object's own properties are iterated before - // its inherited properties. If the last iterated property is an object's - // own property then there are no inherited enumerable properties. - baseForIn(value, function(subValue, key) { - result = key; - }); - return result === undefined || hasOwnProperty.call(value, result); -} - -module.exports = isPlainObject; - - -/***/ }), - -/***/ "./node_modules/lodash.keysin/index.js": -/*!*********************************************!*\ - !*** ./node_modules/lodash.keysin/index.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * lodash 3.0.8 (Custom Build) <https://lodash.com/> - * Build: `lodash modern modularize exports="npm" -o ./` - * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/> - * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> - * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - * Available under MIT license <https://lodash.com/license> - */ -var isArguments = __webpack_require__(/*! lodash.isarguments */ "./node_modules/lodash.isarguments/index.js"), - isArray = __webpack_require__(/*! lodash.isarray */ "./node_modules/lodash.isarray/index.js"); - -/** Used to detect unsigned integer values. */ -var reIsUint = /^\d+$/; - -/** Used for native method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer) - * of an array-like value. - */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1; - length = length == null ? MAX_SAFE_INTEGER : length; - return value > -1 && value % 1 == 0 && value < length; -} - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength). - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - */ -function isLength(value) { - return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -/** - * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`. - * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(1); - * // => false - */ -function isObject(value) { - // Avoid a V8 JIT bug in Chrome 19-20. - // See https://code.google.com/p/v8/issues/detail?id=2291 for more details. - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - if (object == null) { - return []; - } - if (!isObject(object)) { - object = Object(object); - } - var length = object.length; - length = (length && isLength(length) && - (isArray(object) || isArguments(object)) && length) || 0; - - var Ctor = object.constructor, - index = -1, - isProto = typeof Ctor == 'function' && Ctor.prototype === object, - result = Array(length), - skipIndexes = length > 0; - - while (++index < length) { - result[index] = (index + ''); - } - for (var key in object) { - if (!(skipIndexes && isIndex(key, length)) && - !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -module.exports = keysIn; - - -/***/ }), - -/***/ "./node_modules/lodash/_Symbol.js": -/*!****************************************!*\ - !*** ./node_modules/lodash/_Symbol.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var root = __webpack_require__(/*! ./_root */ "./node_modules/lodash/_root.js"); - -/** Built-in value references. */ -var Symbol = root.Symbol; - -module.exports = Symbol; - - -/***/ }), - -/***/ "./node_modules/lodash/_baseGetTag.js": -/*!********************************************!*\ - !*** ./node_modules/lodash/_baseGetTag.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"), - getRawTag = __webpack_require__(/*! ./_getRawTag */ "./node_modules/lodash/_getRawTag.js"), - objectToString = __webpack_require__(/*! ./_objectToString */ "./node_modules/lodash/_objectToString.js"); - -/** `Object#toString` result references. */ -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); -} - -module.exports = baseGetTag; - - -/***/ }), - -/***/ "./node_modules/lodash/_freeGlobal.js": -/*!********************************************!*\ - !*** ./node_modules/lodash/_freeGlobal.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(global) {/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -module.exports = freeGlobal; - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/lodash/_getPrototype.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash/_getPrototype.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var overArg = __webpack_require__(/*! ./_overArg */ "./node_modules/lodash/_overArg.js"); - -/** Built-in value references. */ -var getPrototype = overArg(Object.getPrototypeOf, Object); - -module.exports = getPrototype; - - -/***/ }), - -/***/ "./node_modules/lodash/_getRawTag.js": -/*!*******************************************!*\ - !*** ./node_modules/lodash/_getRawTag.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var Symbol = __webpack_require__(/*! ./_Symbol */ "./node_modules/lodash/_Symbol.js"); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; -} - -module.exports = getRawTag; - - -/***/ }), - -/***/ "./node_modules/lodash/_objectToString.js": -/*!************************************************!*\ - !*** ./node_modules/lodash/_objectToString.js ***! - \************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ -function objectToString(value) { - return nativeObjectToString.call(value); -} - -module.exports = objectToString; - - -/***/ }), - -/***/ "./node_modules/lodash/_overArg.js": -/*!*****************************************!*\ - !*** ./node_modules/lodash/_overArg.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} - -module.exports = overArg; - - -/***/ }), - -/***/ "./node_modules/lodash/_root.js": -/*!**************************************!*\ - !*** ./node_modules/lodash/_root.js ***! - \**************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var freeGlobal = __webpack_require__(/*! ./_freeGlobal */ "./node_modules/lodash/_freeGlobal.js"); - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -module.exports = root; - - -/***/ }), - -/***/ "./node_modules/lodash/isObjectLike.js": -/*!*********************************************!*\ - !*** ./node_modules/lodash/isObjectLike.js ***! - \*********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -module.exports = isObjectLike; - - -/***/ }), - -/***/ "./node_modules/lodash/isPlainObject.js": -/*!**********************************************!*\ - !*** ./node_modules/lodash/isPlainObject.js ***! - \**********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var baseGetTag = __webpack_require__(/*! ./_baseGetTag */ "./node_modules/lodash/_baseGetTag.js"), - getPrototype = __webpack_require__(/*! ./_getPrototype */ "./node_modules/lodash/_getPrototype.js"), - isObjectLike = __webpack_require__(/*! ./isObjectLike */ "./node_modules/lodash/isObjectLike.js"); - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; -} - -module.exports = isPlainObject; - - -/***/ }), - -/***/ "./node_modules/process/browser.js": -/*!*****************************************!*\ - !*** ./node_modules/process/browser.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - - -/***/ }), - -/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": -/*!*************************************************************!*\ - !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Copyright (c) 2013-present, Facebook, Inc. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - -var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - -module.exports = ReactPropTypesSecret; - - -/***/ }), - -/***/ "./node_modules/radium/es/append-important-to-each-value.js": -/*!******************************************************************!*\ - !*** ./node_modules/radium/es/append-important-to-each-value.js ***! - \******************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return appendImportantToEachValue; }); -/* harmony import */ var _append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-px-if-needed */ "./node_modules/radium/es/append-px-if-needed.js"); -/* harmony import */ var _map_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map-object */ "./node_modules/radium/es/map-object.js"); - - - -function appendImportantToEachValue(style) { - return Object(_map_object__WEBPACK_IMPORTED_MODULE_1__["default"])(style, function (result, key) { - return Object(_append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__["default"])(key, style[key]) + ' !important'; - }); -} - -/***/ }), - -/***/ "./node_modules/radium/es/append-px-if-needed.js": -/*!*******************************************************!*\ - !*** ./node_modules/radium/es/append-px-if-needed.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return appendPxIfNeeded; }); - - -// Copied from https://github.com/facebook/react/blob/ -// 102cd291899f9942a76c40a0e78920a6fe544dc1/ -// src/renderers/dom/shared/CSSProperty.js -var isUnitlessNumber = { - animationIterationCount: true, - boxFlex: true, - boxFlexGroup: true, - boxOrdinalGroup: true, - columnCount: true, - flex: true, - flexGrow: true, - flexPositive: true, - flexShrink: true, - flexNegative: true, - flexOrder: true, - gridRow: true, - gridColumn: true, - fontWeight: true, - lineClamp: true, - lineHeight: true, - opacity: true, - order: true, - orphans: true, - tabSize: true, - widows: true, - zIndex: true, - zoom: true, - - // SVG-related properties - fillOpacity: true, - stopOpacity: true, - strokeDashoffset: true, - strokeOpacity: true, - strokeWidth: true -}; - -function appendPxIfNeeded(propertyName, value) { - var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0; - return needsPxSuffix ? value + 'px' : value; -} - -/***/ }), - -/***/ "./node_modules/radium/es/camel-case-props-to-dash-case.js": -/*!*****************************************************************!*\ - !*** ./node_modules/radium/es/camel-case-props-to-dash-case.js ***! - \*****************************************************************/ -/*! exports provided: camelCaseToDashCase, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "camelCaseToDashCase", function() { return camelCaseToDashCase; }); -var _camelCaseRegex = /([a-z])?([A-Z])/g; - -var _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) { - return (p1 || '') + '-' + p2.toLowerCase(); -}; - -var camelCaseToDashCase = function camelCaseToDashCase(s) { - return s.replace(_camelCaseRegex, _camelCaseReplacer); -}; - -var camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) { - // Since prefix is expected to work on inline style objects, we must - // translate the keys to dash case for rendering to CSS. - return Object.keys(prefixedStyle).reduce(function (result, key) { - var dashCaseKey = camelCaseToDashCase(key); - - // Fix IE vendor prefix - if (/^ms-/.test(dashCaseKey)) { - dashCaseKey = '-' + dashCaseKey; - } - - result[dashCaseKey] = prefixedStyle[key]; - return result; - }, {}); -}; - -/* harmony default export */ __webpack_exports__["default"] = (camelCasePropsToDashCase); - -/***/ }), - -/***/ "./node_modules/radium/es/clean-state-key.js": -/*!***************************************************!*\ - !*** ./node_modules/radium/es/clean-state-key.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* flow */ - -var cleanStateKey = function cleanStateKey(key) { - return key === null || typeof key === 'undefined' ? 'main' : key.toString(); -}; - -/* harmony default export */ __webpack_exports__["default"] = (cleanStateKey); - -/***/ }), - -/***/ "./node_modules/radium/es/components/style-root.js": -/*!*********************************************************!*\ - !*** ./node_modules/radium/es/components/style-root.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../enhancer */ "./node_modules/radium/es/enhancer.js"); -/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../style-keeper */ "./node_modules/radium/es/style-keeper.js"); -/* harmony import */ var _style_sheet__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style-sheet */ "./node_modules/radium/es/components/style-sheet.js"); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - - - - -function _getStyleKeeper(instance) { - if (!instance._radiumStyleKeeper) { - var userAgent = instance.props.radiumConfig && instance.props.radiumConfig.userAgent || instance.context._radiumConfig && instance.context._radiumConfig.userAgent; - instance._radiumStyleKeeper = new _style_keeper__WEBPACK_IMPORTED_MODULE_3__["default"](userAgent); - } - - return instance._radiumStyleKeeper; -} - -var StyleRoot = function (_PureComponent) { - _inherits(StyleRoot, _PureComponent); - - function StyleRoot() { - _classCallCheck(this, StyleRoot); - - var _this = _possibleConstructorReturn(this, (StyleRoot.__proto__ || Object.getPrototypeOf(StyleRoot)).apply(this, arguments)); - - _getStyleKeeper(_this); - return _this; - } - - _createClass(StyleRoot, [{ - key: 'getChildContext', - value: function getChildContext() { - return { _radiumStyleKeeper: _getStyleKeeper(this) }; - } - }, { - key: 'render', - value: function render() { - /* eslint-disable no-unused-vars */ - // Pass down all props except config to the rendered div. - var _props = this.props, - radiumConfig = _props.radiumConfig, - otherProps = _objectWithoutProperties(_props, ['radiumConfig']); - /* eslint-enable no-unused-vars */ - - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement( - 'div', - otherProps, - this.props.children, - react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_style_sheet__WEBPACK_IMPORTED_MODULE_4__["default"], null) - ); - } - }]); - - return StyleRoot; -}(react__WEBPACK_IMPORTED_MODULE_0__["PureComponent"]); - -StyleRoot.contextTypes = { - _radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _radiumStyleKeeper: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_style_keeper__WEBPACK_IMPORTED_MODULE_3__["default"]) -}; - -StyleRoot.childContextTypes = { - _radiumStyleKeeper: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_style_keeper__WEBPACK_IMPORTED_MODULE_3__["default"]) -}; - -StyleRoot = Object(_enhancer__WEBPACK_IMPORTED_MODULE_2__["default"])(StyleRoot); - -/* harmony default export */ __webpack_exports__["default"] = (StyleRoot); - -/***/ }), - -/***/ "./node_modules/radium/es/components/style-sheet.js": -/*!**********************************************************!*\ - !*** ./node_modules/radium/es/components/style-sheet.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return StyleSheet; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../style-keeper */ "./node_modules/radium/es/style-keeper.js"); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _class, _temp; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - -var StyleSheet = (_temp = _class = function (_PureComponent) { - _inherits(StyleSheet, _PureComponent); - - function StyleSheet() { - _classCallCheck(this, StyleSheet); - - var _this = _possibleConstructorReturn(this, (StyleSheet.__proto__ || Object.getPrototypeOf(StyleSheet)).apply(this, arguments)); - - _this._onChange = function () { - setTimeout(function () { - _this._isMounted && _this.setState(_this._getCSSState()); - }, 0); - }; - - _this.state = _this._getCSSState(); - return _this; - } - - _createClass(StyleSheet, [{ - key: 'componentDidMount', - value: function componentDidMount() { - this._isMounted = true; - this._subscription = this.context._radiumStyleKeeper.subscribe(this._onChange); - this._onChange(); - } - }, { - key: 'componentWillUnmount', - value: function componentWillUnmount() { - this._isMounted = false; - if (this._subscription) { - this._subscription.remove(); - } - } - }, { - key: '_getCSSState', - value: function _getCSSState() { - return { css: this.context._radiumStyleKeeper.getCSS() }; - } - }, { - key: 'render', - value: function render() { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement('style', { dangerouslySetInnerHTML: { __html: this.state.css } }); - } - }]); - - return StyleSheet; -}(react__WEBPACK_IMPORTED_MODULE_0__["PureComponent"]), _class.contextTypes = { - _radiumStyleKeeper: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_style_keeper__WEBPACK_IMPORTED_MODULE_2__["default"]) -}, _temp); - - -/***/ }), - -/***/ "./node_modules/radium/es/components/style.js": -/*!****************************************************!*\ - !*** ./node_modules/radium/es/components/style.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _class, _temp; - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - -var Style = (_temp = _class = function (_PureComponent) { - _inherits(Style, _PureComponent); - - function Style() { - _classCallCheck(this, Style); - - return _possibleConstructorReturn(this, (Style.__proto__ || Object.getPrototypeOf(Style)).apply(this, arguments)); - } - - _createClass(Style, [{ - key: '_buildStyles', - value: function _buildStyles(styles) { - var _this2 = this; - - var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.context && this.context._radiumConfig && this.context._radiumConfig.userAgent; - - var scopeSelector = this.props.scopeSelector; - - var rootRules = Object.keys(styles).reduce(function (accumulator, selector) { - if (_typeof(styles[selector]) !== 'object') { - accumulator[selector] = styles[selector]; - } - - return accumulator; - }, {}); - var rootStyles = Object.keys(rootRules).length ? Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(scopeSelector || '', rootRules, userAgent) : ''; - - return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) { - var rules = styles[selector]; - - if (selector === 'mediaQueries') { - accumulator += _this2._buildMediaQueryString(rules); - } else if (_typeof(styles[selector]) === 'object') { - var completeSelector = scopeSelector ? selector.split(',').map(function (part) { - return scopeSelector + ' ' + part.trim(); - }).join(',') : selector; - - accumulator += Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(completeSelector, rules, userAgent); - } - - return accumulator; - }, ''); - } - }, { - key: '_buildMediaQueryString', - value: function _buildMediaQueryString(stylesByMediaQuery) { - var _this3 = this; - - var mediaQueryString = ''; - - Object.keys(stylesByMediaQuery).forEach(function (query) { - mediaQueryString += '@media ' + query + '{' + _this3._buildStyles(stylesByMediaQuery[query]) + '}'; - }); - - return mediaQueryString; - } - }, { - key: 'render', - value: function render() { - if (!this.props.rules) { - return null; - } - - var styles = this._buildStyles(this.props.rules); - - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement('style', { dangerouslySetInnerHTML: { __html: styles } }); - } - }]); - - return Style; -}(react__WEBPACK_IMPORTED_MODULE_1__["PureComponent"]), _class.propTypes = { - radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - rules: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - scopeSelector: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string -}, _class.contextTypes = { - _radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object -}, _class.defaultProps = { - scopeSelector: '' -}, _temp); - - -/* harmony default export */ __webpack_exports__["default"] = (Style); - -/***/ }), - -/***/ "./node_modules/radium/es/css-rule-set-to-string.js": -/*!**********************************************************!*\ - !*** ./node_modules/radium/es/css-rule-set-to-string.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return cssRuleSetToString; }); -/* harmony import */ var _append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-px-if-needed */ "./node_modules/radium/es/append-px-if-needed.js"); -/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ "./node_modules/radium/es/camel-case-props-to-dash-case.js"); -/* harmony import */ var _map_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map-object */ "./node_modules/radium/es/map-object.js"); -/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefixer */ "./node_modules/radium/es/prefixer.js"); - - - - - -function createMarkupForStyles(style) { - return Object.keys(style).map(function (property) { - return property + ': ' + style[property] + ';'; - }).join('\n'); -} - -function cssRuleSetToString(selector, rules, userAgent) { - if (!rules) { - return ''; - } - - var rulesWithPx = Object(_map_object__WEBPACK_IMPORTED_MODULE_2__["default"])(rules, function (value, key) { - return Object(_append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__["default"])(key, value); - }); - var prefixedRules = Object(_prefixer__WEBPACK_IMPORTED_MODULE_3__["getPrefixedStyle"])(rulesWithPx, userAgent); - var cssPrefixedRules = Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_1__["default"])(prefixedRules); - var serializedRules = createMarkupForStyles(cssPrefixedRules); - return selector + '{' + serializedRules + '}'; -} - -/***/ }), - -/***/ "./node_modules/radium/es/enhancer.js": -/*!********************************************!*\ - !*** ./node_modules/radium/es/enhancer.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return enhanceWithRadium; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style-keeper */ "./node_modules/radium/es/style-keeper.js"); -/* harmony import */ var _resolve_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolve-styles */ "./node_modules/radium/es/resolve-styles.js"); -/* harmony import */ var _get_radium_style_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-radium-style-state */ "./node_modules/radium/es/get-radium-style-state.js"); -var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if ("value" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } }; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - - - - - - - - -var KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type']; - -function copyProperties(source, target) { - Object.getOwnPropertyNames(source).forEach(function (key) { - if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) { - var descriptor = Object.getOwnPropertyDescriptor(source, key); - Object.defineProperty(target, key, descriptor); - } - }); -} - -function isStateless(component) { - return !component.render && !(component.prototype && component.prototype.render); -} - -// Check if value is a real ES class in Native / Node code. -// See: https://stackoverflow.com/a/30760236 -function isNativeClass(component) { - return typeof component === 'function' && /^\s*class\s+/.test(component.toString()); -} - -// Manually apply babel-ish class inheritance. -function inherits(subClass, superClass) { - if (typeof superClass !== 'function' && superClass !== null) { - throw new TypeError('Super expression must either be null or a function, not ' + (typeof superClass === 'undefined' ? 'undefined' : _typeof(superClass))); - } - - subClass.prototype = Object.create(superClass && superClass.prototype, { - constructor: { - value: subClass, - enumerable: false, - writable: true, - configurable: true - } - }); - - if (superClass) { - if (Object.setPrototypeOf) { - Object.setPrototypeOf(subClass, superClass); - } else { - subClass.__proto__ = superClass; // eslint-disable-line no-proto - } - } -} - -function enhanceWithRadium(configOrComposedComponent) { - var _class, _temp; - - var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; - - if (typeof configOrComposedComponent !== 'function') { - var newConfig = _extends({}, config, configOrComposedComponent); - return function (configOrComponent) { - return enhanceWithRadium(configOrComponent, newConfig); - }; - } - - var component = configOrComposedComponent; - var ComposedComponent = component; - - // Handle Native ES classes. - if (isNativeClass(ComposedComponent)) { - // Manually approximate babel's class transpilation, but _with_ a real `new` call. - ComposedComponent = function (OrigComponent) { - function NewComponent() { - // Ordinarily, babel would produce something like: - // - // ``` - // return _possibleConstructorReturn(this, OrigComponent.apply(this, arguments)); - // ``` - // - // Instead, we just call `new` directly without the `_possibleConstructorReturn` wrapper. - var source = new (Function.prototype.bind.apply(OrigComponent, [null].concat(Array.prototype.slice.call(arguments))))(); - - // Then we manually update context with properties. - copyProperties(source, this); - - return this; - } - - inherits(NewComponent, OrigComponent); - - return NewComponent; - }(ComposedComponent); - } - - // Handle stateless components - if (isStateless(ComposedComponent)) { - ComposedComponent = function (_Component) { - _inherits(ComposedComponent, _Component); - - function ComposedComponent() { - _classCallCheck(this, ComposedComponent); - - return _possibleConstructorReturn(this, (ComposedComponent.__proto__ || Object.getPrototypeOf(ComposedComponent)).apply(this, arguments)); - } - - _createClass(ComposedComponent, [{ - key: 'render', - value: function render() { - return component(this.props, this.context); - } - }]); - - return ComposedComponent; - }(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - - ComposedComponent.displayName = component.displayName || component.name; - } - - var RadiumEnhancer = (_temp = _class = function (_ComposedComponent) { - _inherits(RadiumEnhancer, _ComposedComponent); - - function RadiumEnhancer() { - _classCallCheck(this, RadiumEnhancer); - - var _this2 = _possibleConstructorReturn(this, (RadiumEnhancer.__proto__ || Object.getPrototypeOf(RadiumEnhancer)).apply(this, arguments)); - - _this2.state = _this2.state || {}; - _this2.state._radiumStyleState = {}; - _this2._radiumIsMounted = true; - return _this2; - } - - _createClass(RadiumEnhancer, [{ - key: 'componentWillUnmount', - value: function componentWillUnmount() { - if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this)) { - _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this).call(this); - } - - this._radiumIsMounted = false; - - if (this._radiumMouseUpListener) { - this._radiumMouseUpListener.remove(); - } - - if (this._radiumMediaQueryListenersByQuery) { - Object.keys(this._radiumMediaQueryListenersByQuery).forEach(function (query) { - this._radiumMediaQueryListenersByQuery[query].remove(); - }, this); - } - } - }, { - key: 'getChildContext', - value: function getChildContext() { - var superChildContext = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this) ? _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this).call(this) : {}; - - if (!this.props.radiumConfig) { - return superChildContext; - } - - var newContext = _extends({}, superChildContext); - - if (this.props.radiumConfig) { - newContext._radiumConfig = this.props.radiumConfig; - } - - return newContext; - } - }, { - key: 'render', - value: function render() { - var renderedElement = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'render', this).call(this); - var currentConfig = this.props.radiumConfig || this.context._radiumConfig || config; - - if (config && currentConfig !== config) { - currentConfig = _extends({}, config, currentConfig); - } - - var _resolveStyles = Object(_resolve_styles__WEBPACK_IMPORTED_MODULE_3__["default"])(this, renderedElement, currentConfig), - extraStateKeyMap = _resolveStyles.extraStateKeyMap, - element = _resolveStyles.element; - - this._extraRadiumStateKeys = Object.keys(extraStateKeyMap); - - return element; - } - - /* eslint-disable react/no-did-update-set-state, no-unused-vars */ - - }, { - key: 'componentDidUpdate', - value: function componentDidUpdate(prevProps, prevState) { - if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this)) { - _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this).call(this, prevProps, prevState); - } - - if (this._extraRadiumStateKeys.length > 0) { - var trimmedRadiumState = this._extraRadiumStateKeys.reduce(function (state, key) { - var extraStateKey = state[key], - remainingState = _objectWithoutProperties(state, [key]); - - return remainingState; - }, Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_4__["default"])(this)); - - this._lastRadiumState = trimmedRadiumState; - this.setState({ _radiumStyleState: trimmedRadiumState }); - } - } - /* eslint-enable react/no-did-update-set-state, no-unused-vars */ - - }]); - - return RadiumEnhancer; - }(ComposedComponent), _class._isRadiumEnhanced = true, _temp); - - // Class inheritance uses Object.create and because of __proto__ issues - // with IE <10 any static properties of the superclass aren't inherited and - // so need to be manually populated. - // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below- - - copyProperties(component, RadiumEnhancer); - - if (true) { - // This also fixes React Hot Loader by exposing the original components top - // level prototype methods on the Radium enhanced prototype as discussed in - // https://github.com/FormidableLabs/radium/issues/219. - copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype); - } - - if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) { - RadiumEnhancer.propTypes = _extends({}, RadiumEnhancer.propTypes, { - style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object]) - }); - } - - RadiumEnhancer.displayName = component.displayName || component.name || 'Component'; - - RadiumEnhancer.contextTypes = _extends({}, RadiumEnhancer.contextTypes, { - _radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _radiumStyleKeeper: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_style_keeper__WEBPACK_IMPORTED_MODULE_2__["default"]) - }); - - RadiumEnhancer.childContextTypes = _extends({}, RadiumEnhancer.childContextTypes, { - _radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _radiumStyleKeeper: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.instanceOf(_style_keeper__WEBPACK_IMPORTED_MODULE_2__["default"]) - }); - - return RadiumEnhancer; -} - -/***/ }), - -/***/ "./node_modules/radium/es/get-radium-style-state.js": -/*!**********************************************************!*\ - !*** ./node_modules/radium/es/get-radium-style-state.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var getRadiumStyleState = function getRadiumStyleState(component) { - return component._lastRadiumState || component.state && component.state._radiumStyleState || {}; -}; - -/* harmony default export */ __webpack_exports__["default"] = (getRadiumStyleState); - -/***/ }), - -/***/ "./node_modules/radium/es/get-state-key.js": -/*!*************************************************!*\ - !*** ./node_modules/radium/es/get-state-key.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var getStateKey = function getStateKey(renderedElement) { - return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key; -}; - -/* harmony default export */ __webpack_exports__["default"] = (getStateKey); - -/***/ }), - -/***/ "./node_modules/radium/es/get-state.js": -/*!*********************************************!*\ - !*** ./node_modules/radium/es/get-state.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _clean_state_key__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clean-state-key */ "./node_modules/radium/es/clean-state-key.js"); - - -var getState = function getState(state, elementKey, value) { - var key = Object(_clean_state_key__WEBPACK_IMPORTED_MODULE_0__["default"])(elementKey); - - return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value]; -}; - -/* harmony default export */ __webpack_exports__["default"] = (getState); - -/***/ }), - -/***/ "./node_modules/radium/es/hash.js": -/*!****************************************!*\ - !*** ./node_modules/radium/es/hash.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return hash; }); - - -// a simple djb2 hash based on hash-string: -// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js -// returns a hex-encoded hash -function hash(text) { - if (!text) { - return ''; - } - - var hashValue = 5381; - var index = text.length - 1; - - while (index) { - hashValue = hashValue * 33 ^ text.charCodeAt(index); - index -= 1; - } - - return (hashValue >>> 0).toString(16); -} - -/***/ }), - -/***/ "./node_modules/radium/es/index.js": -/*!*****************************************!*\ - !*** ./node_modules/radium/es/index.js ***! - \*****************************************/ -/*! exports provided: default, Plugins, Style, StyleRoot, getState, keyframes */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enhancer */ "./node_modules/radium/es/enhancer.js"); -/* harmony import */ var _plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugins */ "./node_modules/radium/es/plugins/index.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Plugins", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _components_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/style */ "./node_modules/radium/es/components/style.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Style", function() { return _components_style__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _components_style_root__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/style-root */ "./node_modules/radium/es/components/style-root.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "StyleRoot", function() { return _components_style_root__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _get_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-state */ "./node_modules/radium/es/get-state.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getState", function() { return _get_state__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - -/* harmony import */ var _keyframes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keyframes */ "./node_modules/radium/es/keyframes.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keyframes", function() { return _keyframes__WEBPACK_IMPORTED_MODULE_5__["default"]; }); - -/* harmony import */ var _resolve_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resolve-styles */ "./node_modules/radium/es/resolve-styles.js"); - - - - - - - - -function Radium(ComposedComponent) { - return Object(_enhancer__WEBPACK_IMPORTED_MODULE_0__["default"])(ComposedComponent); -} - -// Legacy object support. -// -// Normally it would be disfavored to attach these to the `Radium` object -// because it defeats tree-shaking, using instead the ESM exports. But, -// the `Radium` `Enhancer` uses **all** of these, so there's no extra "cost" -// to them being explicitly on the `Radium` object. -Radium.Plugins = _plugins__WEBPACK_IMPORTED_MODULE_1__["default"]; -Radium.Style = _components_style__WEBPACK_IMPORTED_MODULE_2__["default"]; -Radium.StyleRoot = _components_style_root__WEBPACK_IMPORTED_MODULE_3__["default"]; -Radium.getState = _get_state__WEBPACK_IMPORTED_MODULE_4__["default"]; -Radium.keyframes = _keyframes__WEBPACK_IMPORTED_MODULE_5__["default"]; - -if (true) { - Radium.TestMode = { - clearState: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__clearStateForTests, - disable: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__setTestMode.bind(null, false), - enable: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__setTestMode.bind(null, true) - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (Radium); - -// ESM re-exports - - -/***/ }), - -/***/ "./node_modules/radium/es/keyframes.js": -/*!*********************************************!*\ - !*** ./node_modules/radium/es/keyframes.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return keyframes; }); -/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); -/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hash */ "./node_modules/radium/es/hash.js"); -/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prefixer */ "./node_modules/radium/es/prefixer.js"); - - - - -function keyframes(keyframeRules, name) { - return { - __radiumKeyframes: true, - __process: function __process(userAgent) { - var keyframesPrefixed = Object(_prefixer__WEBPACK_IMPORTED_MODULE_2__["getPrefixedKeyframes"])(userAgent); - var rules = Object.keys(keyframeRules).map(function (percentage) { - return Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(percentage, keyframeRules[percentage], userAgent); - }).join('\n'); - var animationName = (name ? name + '-' : '') + 'radium-animation-' + Object(_hash__WEBPACK_IMPORTED_MODULE_1__["default"])(rules); - var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\n' + rules + '\n}\n'; - return { css: css, animationName: animationName }; - } - }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/map-object.js": -/*!**********************************************!*\ - !*** ./node_modules/radium/es/map-object.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return mapObject; }); -function mapObject(object, mapper) { - return Object.keys(object).reduce(function (result, key) { - result[key] = mapper(object[key], key); - return result; - }, {}); -} - -/***/ }), - -/***/ "./node_modules/radium/es/merge-styles.js": -/*!************************************************!*\ - !*** ./node_modules/radium/es/merge-styles.js ***! - \************************************************/ -/*! exports provided: isNestedStyle, mergeStyles */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNestedStyle", function() { return isNestedStyle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeStyles", function() { return mergeStyles; }); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -function isNestedStyle(value) { - // Don't merge objects overriding toString, since they should be converted - // to string values. - return value && value.constructor === Object && value.toString === Object.prototype.toString; -} - -// Merge style objects. Deep merge plain object values. -function mergeStyles(styles) { - var result = {}; - - styles.forEach(function (style) { - if (!style || (typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') { - return; - } - - if (Array.isArray(style)) { - style = mergeStyles(style); - } - - Object.keys(style).forEach(function (key) { - // Simple case, nothing nested - if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) { - result[key] = style[key]; - return; - } - - // If nested media, don't merge the nested styles, append a space to the - // end (benign when converted to CSS). This way we don't end up merging - // media queries that appear later in the chain with those that appear - // earlier. - if (key.indexOf('@media') === 0) { - var newKey = key; - // eslint-disable-next-line no-constant-condition - while (true) { - newKey += ' '; - if (!result[newKey]) { - result[newKey] = style[key]; - return; - } - } - } - - // Merge all other nested styles recursively - result[key] = mergeStyles([result[key], style[key]]); - }); - }); - - return result; -} - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/check-props-plugin.js": -/*!**************************************************************!*\ - !*** ./node_modules/radium/es/plugins/check-props-plugin.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -var _checkProps = function checkProps() {}; - -if (true) { - // Warn if you use longhand and shorthand properties in the same style - // object. - // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties - - var shorthandPropertyExpansions = { - background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'], - border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'], - borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'], - borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'], - font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'], - listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'], - margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'], - padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'], - transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'] - }; - - _checkProps = function checkProps(config) { - var componentName = config.componentName, - style = config.style; - - if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object' || !style) { - return; - } - - var styleKeys = Object.keys(style); - styleKeys.forEach(function (styleKey) { - if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) { - return styleKeys.indexOf(sp) !== -1; - })) { - if (true) { - /* eslint-disable no-console */ - console.warn('Radium: property "' + styleKey + '" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.'); - /* eslint-enable no-console */ - } - } - }); - - styleKeys.forEach(function (k) { - return _checkProps(_extends({}, config, { style: style[k] })); - }); - return; - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (_checkProps); - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/index.js": -/*!*************************************************!*\ - !*** ./node_modules/radium/es/plugins/index.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _check_props_plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./check-props-plugin */ "./node_modules/radium/es/plugins/check-props-plugin.js"); -/* harmony import */ var _keyframes_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keyframes-plugin */ "./node_modules/radium/es/plugins/keyframes-plugin.js"); -/* harmony import */ var _merge_style_array_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./merge-style-array-plugin */ "./node_modules/radium/es/plugins/merge-style-array-plugin.js"); -/* harmony import */ var _prefix_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-plugin */ "./node_modules/radium/es/plugins/prefix-plugin.js"); -/* harmony import */ var _remove_nested_styles_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./remove-nested-styles-plugin */ "./node_modules/radium/es/plugins/remove-nested-styles-plugin.js"); -/* harmony import */ var _resolve_interaction_styles_plugin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./resolve-interaction-styles-plugin */ "./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js"); -/* harmony import */ var _resolve_media_queries_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resolve-media-queries-plugin */ "./node_modules/radium/es/plugins/resolve-media-queries-plugin.js"); -/* harmony import */ var _visited_plugin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./visited-plugin */ "./node_modules/radium/es/plugins/visited-plugin.js"); - - - -/* eslint-disable block-scoped-const */ - - - - - - - - - -/* harmony default export */ __webpack_exports__["default"] = ({ - checkProps: _check_props_plugin__WEBPACK_IMPORTED_MODULE_0__["default"], - keyframes: _keyframes_plugin__WEBPACK_IMPORTED_MODULE_1__["default"], - mergeStyleArray: _merge_style_array_plugin__WEBPACK_IMPORTED_MODULE_2__["default"], - prefix: _prefix_plugin__WEBPACK_IMPORTED_MODULE_3__["default"], - removeNestedStyles: _remove_nested_styles_plugin__WEBPACK_IMPORTED_MODULE_4__["default"], - resolveInteractionStyles: _resolve_interaction_styles_plugin__WEBPACK_IMPORTED_MODULE_5__["default"], - resolveMediaQueries: _resolve_media_queries_plugin__WEBPACK_IMPORTED_MODULE_6__["default"], - visited: _visited_plugin__WEBPACK_IMPORTED_MODULE_7__["default"] -}); - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/keyframes-plugin.js": -/*!************************************************************!*\ - !*** ./node_modules/radium/es/plugins/keyframes-plugin.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return keyframesPlugin; }); -function keyframesPlugin(_ref // eslint-disable-line no-shadow -) { - var addCSS = _ref.addCSS, - config = _ref.config, - style = _ref.style; - - var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { - var value = style[key]; - if (key === 'animationName' && value && value.__radiumKeyframes) { - var keyframesValue = value; - - var _keyframesValue$__pro = keyframesValue.__process(config.userAgent), - animationName = _keyframesValue$__pro.animationName, - css = _keyframesValue$__pro.css; - - addCSS(css); - value = animationName; - } - - newStyleInProgress[key] = value; - return newStyleInProgress; - }, {}); - return { style: newStyle }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/merge-style-array-plugin.js": -/*!********************************************************************!*\ - !*** ./node_modules/radium/es/plugins/merge-style-array-plugin.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - - -// Convenient syntax for multiple styles: `style={[style1, style2, etc]}` -// Ignores non-objects, so you can do `this.state.isCool && styles.cool`. -var mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) { - var style = _ref.style, - mergeStyles = _ref.mergeStyles; - - // eslint-disable-line no-shadow - var newStyle = Array.isArray(style) ? mergeStyles(style) : style; - return { style: newStyle }; -}; - -/* harmony default export */ __webpack_exports__["default"] = (mergeStyleArrayPlugin); - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/mouse-up-listener.js": -/*!*************************************************************!*\ - !*** ./node_modules/radium/es/plugins/mouse-up-listener.js ***! - \*************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var _callbacks = []; -var _mouseUpListenerIsActive = false; - -function _handleMouseUp() { - _callbacks.forEach(function (callback) { - callback(); - }); -} - -var subscribe = function subscribe(callback) { - if (_callbacks.indexOf(callback) === -1) { - _callbacks.push(callback); - } - - if (!_mouseUpListenerIsActive) { - window.addEventListener('mouseup', _handleMouseUp); - _mouseUpListenerIsActive = true; - } - - return { - remove: function remove() { - var index = _callbacks.indexOf(callback); - _callbacks.splice(index, 1); - - if (_callbacks.length === 0 && _mouseUpListenerIsActive) { - window.removeEventListener('mouseup', _handleMouseUp); - _mouseUpListenerIsActive = false; - } - } - }; -}; - -/* harmony default export */ __webpack_exports__["default"] = ({ - subscribe: subscribe, - __triggerForTests: _handleMouseUp -}); - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/prefix-plugin.js": -/*!*********************************************************!*\ - !*** ./node_modules/radium/es/plugins/prefix-plugin.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return prefixPlugin; }); -/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prefixer */ "./node_modules/radium/es/prefixer.js"); - - - - -function prefixPlugin(_ref // eslint-disable-line no-shadow -) { - var config = _ref.config, - style = _ref.style; - - var newStyle = Object(_prefixer__WEBPACK_IMPORTED_MODULE_0__["getPrefixedStyle"])(style, config.userAgent); - return { style: newStyle }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/remove-nested-styles-plugin.js": -/*!***********************************************************************!*\ - !*** ./node_modules/radium/es/plugins/remove-nested-styles-plugin.js ***! - \***********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return removeNestedStyles; }); - - -function removeNestedStyles(_ref) { - var isNestedStyle = _ref.isNestedStyle, - style = _ref.style; - - // eslint-disable-line no-shadow - var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { - var value = style[key]; - if (!isNestedStyle(value)) { - newStyleInProgress[key] = value; - } - return newStyleInProgress; - }, {}); - - return { - style: newStyle - }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js ***! - \*****************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _mouse_up_listener__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mouse-up-listener */ "./node_modules/radium/es/plugins/mouse-up-listener.js"); - - - - -var _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) { - return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus'; -}; - -var resolveInteractionStyles = function resolveInteractionStyles(config) { - var ExecutionEnvironment = config.ExecutionEnvironment, - getComponentField = config.getComponentField, - getState = config.getState, - mergeStyles = config.mergeStyles, - props = config.props, - setState = config.setState, - style = config.style; - - - var newComponentFields = {}; - var newProps = {}; - - // Only add handlers if necessary - if (style[':hover']) { - // Always call the existing handler if one is already defined. - // This code, and the very similar ones below, could be abstracted a bit - // more, but it hurts readability IMO. - var existingOnMouseEnter = props.onMouseEnter; - newProps.onMouseEnter = function (e) { - existingOnMouseEnter && existingOnMouseEnter(e); - setState(':hover', true); - }; - - var existingOnMouseLeave = props.onMouseLeave; - newProps.onMouseLeave = function (e) { - existingOnMouseLeave && existingOnMouseLeave(e); - setState(':hover', false); - }; - } - - if (style[':active']) { - var existingOnMouseDown = props.onMouseDown; - newProps.onMouseDown = function (e) { - existingOnMouseDown && existingOnMouseDown(e); - newComponentFields._lastMouseDown = Date.now(); - setState(':active', 'viamousedown'); - }; - - var existingOnKeyDown = props.onKeyDown; - newProps.onKeyDown = function (e) { - existingOnKeyDown && existingOnKeyDown(e); - if (e.key === ' ' || e.key === 'Enter') { - setState(':active', 'viakeydown'); - } - }; - - var existingOnKeyUp = props.onKeyUp; - newProps.onKeyUp = function (e) { - existingOnKeyUp && existingOnKeyUp(e); - if (e.key === ' ' || e.key === 'Enter') { - setState(':active', false); - } - }; - } - - if (style[':focus']) { - var existingOnFocus = props.onFocus; - newProps.onFocus = function (e) { - existingOnFocus && existingOnFocus(e); - setState(':focus', true); - }; - - var existingOnBlur = props.onBlur; - newProps.onBlur = function (e) { - existingOnBlur && existingOnBlur(e); - setState(':focus', false); - }; - } - - if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) { - newComponentFields._radiumMouseUpListener = _mouse_up_listener__WEBPACK_IMPORTED_MODULE_0__["default"].subscribe(function () { - Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) { - if (getState(':active', key) === 'viamousedown') { - setState(':active', false, key); - } - }); - }); - } - - // Merge the styles in the order they were defined - var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) { - return _isInteractiveStyleField(name) && getState(name); - }).map(function (name) { - return style[name]; - }); - - var newStyle = mergeStyles([style].concat(interactionStyles)); - - // Remove interactive styles - newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) { - if (!_isInteractiveStyleField(name) && name !== ':disabled') { - styleWithoutInteractions[name] = newStyle[name]; - } - return styleWithoutInteractions; - }, {}); - - return { - componentFields: newComponentFields, - props: newProps, - style: newStyle - }; -}; - -/* harmony default export */ __webpack_exports__["default"] = (resolveInteractionStyles); - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/resolve-media-queries-plugin.js": -/*!************************************************************************!*\ - !*** ./node_modules/radium/es/plugins/resolve-media-queries-plugin.js ***! - \************************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return resolveMediaQueries; }); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _windowMatchMedia = void 0; -function _getWindowMatchMedia(ExecutionEnvironment) { - if (_windowMatchMedia === undefined) { - _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) { - return window.matchMedia(mediaQueryString); - } || null; - } - return _windowMatchMedia; -} - -function _filterObject(obj, predicate) { - return Object.keys(obj).filter(function (key) { - return predicate(obj[key], key); - }).reduce(function (result, key) { - result[key] = obj[key]; - return result; - }, {}); -} - -function _removeMediaQueries(style) { - return Object.keys(style).reduce(function (styleWithoutMedia, key) { - if (key.indexOf('@media') !== 0) { - styleWithoutMedia[key] = style[key]; - } - return styleWithoutMedia; - }, {}); -} - -function _topLevelRulesToCSS(_ref) { - var addCSS = _ref.addCSS, - appendImportantToEachValue = _ref.appendImportantToEachValue, - cssRuleSetToString = _ref.cssRuleSetToString, - hash = _ref.hash, - isNestedStyle = _ref.isNestedStyle, - style = _ref.style, - userAgent = _ref.userAgent; - - var className = ''; - Object.keys(style).filter(function (name) { - return name.indexOf('@media') === 0; - }).map(function (query) { - var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) { - return !isNestedStyle(value); - })); - - if (!Object.keys(topLevelRules).length) { - return; - } - - var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent); - - // CSS classes cannot start with a number - var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS); - var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}'; - - addCSS(css); - - className += (className ? ' ' : '') + mediaQueryClassName; - }); - return className; -} - -function _subscribeToMediaQuery(_ref2) { - var listener = _ref2.listener, - listenersByQuery = _ref2.listenersByQuery, - matchMedia = _ref2.matchMedia, - mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery, - query = _ref2.query; - - query = query.replace('@media ', ''); - - var mql = mediaQueryListsByQuery[query]; - if (!mql && matchMedia) { - mediaQueryListsByQuery[query] = mql = matchMedia(query); - } - - if (!listenersByQuery || !listenersByQuery[query]) { - mql.addListener(listener); - - listenersByQuery[query] = { - remove: function remove() { - mql.removeListener(listener); - } - }; - } - return mql; -} - -function resolveMediaQueries(_ref3) { - var ExecutionEnvironment = _ref3.ExecutionEnvironment, - addCSS = _ref3.addCSS, - appendImportantToEachValue = _ref3.appendImportantToEachValue, - config = _ref3.config, - cssRuleSetToString = _ref3.cssRuleSetToString, - getComponentField = _ref3.getComponentField, - getGlobalState = _ref3.getGlobalState, - hash = _ref3.hash, - isNestedStyle = _ref3.isNestedStyle, - mergeStyles = _ref3.mergeStyles, - props = _ref3.props, - setState = _ref3.setState, - style = _ref3.style; - - // eslint-disable-line no-shadow - var newStyle = _removeMediaQueries(style); - var mediaQueryClassNames = _topLevelRulesToCSS({ - addCSS: addCSS, - appendImportantToEachValue: appendImportantToEachValue, - cssRuleSetToString: cssRuleSetToString, - hash: hash, - isNestedStyle: isNestedStyle, - style: style, - userAgent: config.userAgent - }); - - var newProps = mediaQueryClassNames ? { - className: mediaQueryClassNames + (props.className ? ' ' + props.className : '') - } : null; - - var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment); - - if (!matchMedia) { - return { - props: newProps, - style: newStyle - }; - } - - var listenersByQuery = _extends({}, getComponentField('_radiumMediaQueryListenersByQuery')); - var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {}; - - Object.keys(style).filter(function (name) { - return name.indexOf('@media') === 0; - }).map(function (query) { - var nestedRules = _filterObject(style[query], isNestedStyle); - - if (!Object.keys(nestedRules).length) { - return; - } - - var mql = _subscribeToMediaQuery({ - listener: function listener() { - return setState(query, mql.matches, '_all'); - }, - listenersByQuery: listenersByQuery, - matchMedia: matchMedia, - mediaQueryListsByQuery: mediaQueryListsByQuery, - query: query - }); - - // Apply media query states - if (mql.matches) { - newStyle = mergeStyles([newStyle, nestedRules]); - } - }); - - return { - componentFields: { - _radiumMediaQueryListenersByQuery: listenersByQuery - }, - globalState: { mediaQueryListsByQuery: mediaQueryListsByQuery }, - props: newProps, - style: newStyle - }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/plugins/visited-plugin.js": -/*!**********************************************************!*\ - !*** ./node_modules/radium/es/plugins/visited-plugin.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return visited; }); - - -function visited(_ref) { - var addCSS = _ref.addCSS, - appendImportantToEachValue = _ref.appendImportantToEachValue, - config = _ref.config, - cssRuleSetToString = _ref.cssRuleSetToString, - hash = _ref.hash, - props = _ref.props, - style = _ref.style; - - // eslint-disable-line no-shadow - var className = props.className; - - var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { - var value = style[key]; - if (key === ':visited') { - value = appendImportantToEachValue(value); - var ruleCSS = cssRuleSetToString('', value, config.userAgent); - var visitedClassName = 'rad-' + hash(ruleCSS); - var css = '.' + visitedClassName + ':visited' + ruleCSS; - - addCSS(css); - className = (className ? className + ' ' : '') + visitedClassName; - } else { - newStyleInProgress[key] = value; - } - - return newStyleInProgress; - }, {}); - - return { - props: className === props.className ? null : { className: className }, - style: newStyle - }; -} - -/***/ }), - -/***/ "./node_modules/radium/es/prefix-data/dynamic.js": -/*!*******************************************************!*\ - !*** ./node_modules/radium/es/prefix-data/dynamic.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/calc */ "./node_modules/inline-style-prefixer/dynamic/plugins/calc.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/crossFade */ "./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/cursor */ "./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/filter */ "./node_modules/inline-style-prefixer/dynamic/plugins/filter.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flex */ "./node_modules/inline-style-prefixer/dynamic/plugins/flex.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flexboxIE */ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flexboxOld */ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/gradient */ "./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/imageSet */ "./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/position */ "./node_modules/inline-style-prefixer/dynamic/plugins/position.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/sizing */ "./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/transition */ "./node_modules/inline-style-prefixer/dynamic/plugins/transition.js"); -/* harmony import */ var inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11__); - - - - - - - - - - - - - -/* harmony default export */ __webpack_exports__["default"] = ({ - plugins: [inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default.a, inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default.a, inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default.a, inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default.a, inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default.a, inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default.a, inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default.a, inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default.a, inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default.a, inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9___default.a, inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default.a, inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default.a], - prefixMap: { - chrome: { - transform: 35, - transformOrigin: 35, - transformOriginX: 35, - transformOriginY: 35, - backfaceVisibility: 35, - perspective: 35, - perspectiveOrigin: 35, - transformStyle: 35, - transformOriginZ: 35, - animation: 42, - animationDelay: 42, - animationDirection: 42, - animationFillMode: 42, - animationDuration: 42, - animationIterationCount: 42, - animationName: 42, - animationPlayState: 42, - animationTimingFunction: 42, - appearance: 66, - userSelect: 53, - fontKerning: 32, - textEmphasisPosition: 66, - textEmphasis: 66, - textEmphasisStyle: 66, - textEmphasisColor: 66, - boxDecorationBreak: 66, - clipPath: 54, - maskImage: 66, - maskMode: 66, - maskRepeat: 66, - maskPosition: 66, - maskClip: 66, - maskOrigin: 66, - maskSize: 66, - maskComposite: 66, - mask: 66, - maskBorderSource: 66, - maskBorderMode: 66, - maskBorderSlice: 66, - maskBorderWidth: 66, - maskBorderOutset: 66, - maskBorderRepeat: 66, - maskBorder: 66, - maskType: 66, - textDecorationStyle: 56, - textDecorationSkip: 56, - textDecorationLine: 56, - textDecorationColor: 56, - filter: 52, - fontFeatureSettings: 47, - breakAfter: 49, - breakBefore: 49, - breakInside: 49, - columnCount: 49, - columnFill: 49, - columnGap: 49, - columnRule: 49, - columnRuleColor: 49, - columnRuleStyle: 49, - columnRuleWidth: 49, - columns: 49, - columnSpan: 49, - columnWidth: 49, - writingMode: 47 - }, - safari: { - flex: 8, - flexBasis: 8, - flexDirection: 8, - flexGrow: 8, - flexFlow: 8, - flexShrink: 8, - flexWrap: 8, - alignContent: 8, - alignItems: 8, - alignSelf: 8, - justifyContent: 8, - order: 8, - transition: 6, - transitionDelay: 6, - transitionDuration: 6, - transitionProperty: 6, - transitionTimingFunction: 6, - transform: 8, - transformOrigin: 8, - transformOriginX: 8, - transformOriginY: 8, - backfaceVisibility: 8, - perspective: 8, - perspectiveOrigin: 8, - transformStyle: 8, - transformOriginZ: 8, - animation: 8, - animationDelay: 8, - animationDirection: 8, - animationFillMode: 8, - animationDuration: 8, - animationIterationCount: 8, - animationName: 8, - animationPlayState: 8, - animationTimingFunction: 8, - appearance: 11, - userSelect: 11, - backdropFilter: 11, - fontKerning: 9, - scrollSnapType: 10.1, - scrollSnapPointsX: 10.1, - scrollSnapPointsY: 10.1, - scrollSnapDestination: 10.1, - scrollSnapCoordinate: 10.1, - textEmphasisPosition: 7, - textEmphasis: 7, - textEmphasisStyle: 7, - textEmphasisColor: 7, - boxDecorationBreak: 11, - clipPath: 11, - maskImage: 11, - maskMode: 11, - maskRepeat: 11, - maskPosition: 11, - maskClip: 11, - maskOrigin: 11, - maskSize: 11, - maskComposite: 11, - mask: 11, - maskBorderSource: 11, - maskBorderMode: 11, - maskBorderSlice: 11, - maskBorderWidth: 11, - maskBorderOutset: 11, - maskBorderRepeat: 11, - maskBorder: 11, - maskType: 11, - textDecorationStyle: 11, - textDecorationSkip: 11, - textDecorationLine: 11, - textDecorationColor: 11, - shapeImageThreshold: 10, - shapeImageMargin: 10, - shapeImageOutside: 10, - filter: 9, - hyphens: 11, - flowInto: 11, - flowFrom: 11, - breakBefore: 8, - breakAfter: 8, - breakInside: 8, - regionFragment: 11, - columnCount: 8, - columnFill: 8, - columnGap: 8, - columnRule: 8, - columnRuleColor: 8, - columnRuleStyle: 8, - columnRuleWidth: 8, - columns: 8, - columnSpan: 8, - columnWidth: 8, - writingMode: 10.1 - }, - firefox: { - appearance: 60, - userSelect: 60, - boxSizing: 28, - textAlignLast: 48, - textDecorationStyle: 35, - textDecorationSkip: 35, - textDecorationLine: 35, - textDecorationColor: 35, - tabSize: 60, - hyphens: 42, - fontFeatureSettings: 33, - breakAfter: 51, - breakBefore: 51, - breakInside: 51, - columnCount: 51, - columnFill: 51, - columnGap: 51, - columnRule: 51, - columnRuleColor: 51, - columnRuleStyle: 51, - columnRuleWidth: 51, - columns: 51, - columnSpan: 51, - columnWidth: 51 - }, - opera: { - flex: 16, - flexBasis: 16, - flexDirection: 16, - flexGrow: 16, - flexFlow: 16, - flexShrink: 16, - flexWrap: 16, - alignContent: 16, - alignItems: 16, - alignSelf: 16, - justifyContent: 16, - order: 16, - transform: 22, - transformOrigin: 22, - transformOriginX: 22, - transformOriginY: 22, - backfaceVisibility: 22, - perspective: 22, - perspectiveOrigin: 22, - transformStyle: 22, - transformOriginZ: 22, - animation: 29, - animationDelay: 29, - animationDirection: 29, - animationFillMode: 29, - animationDuration: 29, - animationIterationCount: 29, - animationName: 29, - animationPlayState: 29, - animationTimingFunction: 29, - appearance: 50, - userSelect: 40, - fontKerning: 19, - textEmphasisPosition: 50, - textEmphasis: 50, - textEmphasisStyle: 50, - textEmphasisColor: 50, - boxDecorationBreak: 50, - clipPath: 41, - maskImage: 50, - maskMode: 50, - maskRepeat: 50, - maskPosition: 50, - maskClip: 50, - maskOrigin: 50, - maskSize: 50, - maskComposite: 50, - mask: 50, - maskBorderSource: 50, - maskBorderMode: 50, - maskBorderSlice: 50, - maskBorderWidth: 50, - maskBorderOutset: 50, - maskBorderRepeat: 50, - maskBorder: 50, - maskType: 50, - textDecorationStyle: 43, - textDecorationSkip: 43, - textDecorationLine: 43, - textDecorationColor: 43, - filter: 39, - fontFeatureSettings: 34, - breakAfter: 36, - breakBefore: 36, - breakInside: 36, - columnCount: 36, - columnFill: 36, - columnGap: 36, - columnRule: 36, - columnRuleColor: 36, - columnRuleStyle: 36, - columnRuleWidth: 36, - columns: 36, - columnSpan: 36, - columnWidth: 36, - writingMode: 34 - }, - ie: { - flex: 10, - flexDirection: 10, - flexFlow: 10, - flexWrap: 10, - transform: 9, - transformOrigin: 9, - transformOriginX: 9, - transformOriginY: 9, - userSelect: 11, - wrapFlow: 11, - wrapThrough: 11, - wrapMargin: 11, - scrollSnapType: 11, - scrollSnapPointsX: 11, - scrollSnapPointsY: 11, - scrollSnapDestination: 11, - scrollSnapCoordinate: 11, - touchAction: 10, - hyphens: 11, - flowInto: 11, - flowFrom: 11, - breakBefore: 11, - breakAfter: 11, - breakInside: 11, - regionFragment: 11, - gridTemplateColumns: 11, - gridTemplateRows: 11, - gridTemplateAreas: 11, - gridTemplate: 11, - gridAutoColumns: 11, - gridAutoRows: 11, - gridAutoFlow: 11, - grid: 11, - gridRowStart: 11, - gridColumnStart: 11, - gridRowEnd: 11, - gridRow: 11, - gridColumn: 11, - gridColumnEnd: 11, - gridColumnGap: 11, - gridRowGap: 11, - gridArea: 11, - gridGap: 11, - textSizeAdjust: 11, - writingMode: 11 - }, - edge: { - userSelect: 17, - wrapFlow: 17, - wrapThrough: 17, - wrapMargin: 17, - scrollSnapType: 17, - scrollSnapPointsX: 17, - scrollSnapPointsY: 17, - scrollSnapDestination: 17, - scrollSnapCoordinate: 17, - hyphens: 17, - flowInto: 17, - flowFrom: 17, - breakBefore: 17, - breakAfter: 17, - breakInside: 17, - regionFragment: 17, - gridTemplateColumns: 15, - gridTemplateRows: 15, - gridTemplateAreas: 15, - gridTemplate: 15, - gridAutoColumns: 15, - gridAutoRows: 15, - gridAutoFlow: 15, - grid: 15, - gridRowStart: 15, - gridColumnStart: 15, - gridRowEnd: 15, - gridRow: 15, - gridColumn: 15, - gridColumnEnd: 15, - gridColumnGap: 15, - gridRowGap: 15, - gridArea: 15, - gridGap: 15 - }, - ios_saf: { - flex: 8.1, - flexBasis: 8.1, - flexDirection: 8.1, - flexGrow: 8.1, - flexFlow: 8.1, - flexShrink: 8.1, - flexWrap: 8.1, - alignContent: 8.1, - alignItems: 8.1, - alignSelf: 8.1, - justifyContent: 8.1, - order: 8.1, - transition: 6, - transitionDelay: 6, - transitionDuration: 6, - transitionProperty: 6, - transitionTimingFunction: 6, - transform: 8.1, - transformOrigin: 8.1, - transformOriginX: 8.1, - transformOriginY: 8.1, - backfaceVisibility: 8.1, - perspective: 8.1, - perspectiveOrigin: 8.1, - transformStyle: 8.1, - transformOriginZ: 8.1, - animation: 8.1, - animationDelay: 8.1, - animationDirection: 8.1, - animationFillMode: 8.1, - animationDuration: 8.1, - animationIterationCount: 8.1, - animationName: 8.1, - animationPlayState: 8.1, - animationTimingFunction: 8.1, - appearance: 11, - userSelect: 11, - backdropFilter: 11, - fontKerning: 11, - scrollSnapType: 10.3, - scrollSnapPointsX: 10.3, - scrollSnapPointsY: 10.3, - scrollSnapDestination: 10.3, - scrollSnapCoordinate: 10.3, - boxDecorationBreak: 11, - clipPath: 11, - maskImage: 11, - maskMode: 11, - maskRepeat: 11, - maskPosition: 11, - maskClip: 11, - maskOrigin: 11, - maskSize: 11, - maskComposite: 11, - mask: 11, - maskBorderSource: 11, - maskBorderMode: 11, - maskBorderSlice: 11, - maskBorderWidth: 11, - maskBorderOutset: 11, - maskBorderRepeat: 11, - maskBorder: 11, - maskType: 11, - textSizeAdjust: 11, - textDecorationStyle: 11, - textDecorationSkip: 11, - textDecorationLine: 11, - textDecorationColor: 11, - shapeImageThreshold: 10, - shapeImageMargin: 10, - shapeImageOutside: 10, - filter: 9, - hyphens: 11, - flowInto: 11, - flowFrom: 11, - breakBefore: 8.1, - breakAfter: 8.1, - breakInside: 8.1, - regionFragment: 11, - columnCount: 8.1, - columnFill: 8.1, - columnGap: 8.1, - columnRule: 8.1, - columnRuleColor: 8.1, - columnRuleStyle: 8.1, - columnRuleWidth: 8.1, - columns: 8.1, - columnSpan: 8.1, - columnWidth: 8.1, - writingMode: 10.3 - }, - android: { - borderImage: 4.2, - borderImageOutset: 4.2, - borderImageRepeat: 4.2, - borderImageSlice: 4.2, - borderImageSource: 4.2, - borderImageWidth: 4.2, - flex: 4.2, - flexBasis: 4.2, - flexDirection: 4.2, - flexGrow: 4.2, - flexFlow: 4.2, - flexShrink: 4.2, - flexWrap: 4.2, - alignContent: 4.2, - alignItems: 4.2, - alignSelf: 4.2, - justifyContent: 4.2, - order: 4.2, - transition: 4.2, - transitionDelay: 4.2, - transitionDuration: 4.2, - transitionProperty: 4.2, - transitionTimingFunction: 4.2, - transform: 4.4, - transformOrigin: 4.4, - transformOriginX: 4.4, - transformOriginY: 4.4, - backfaceVisibility: 4.4, - perspective: 4.4, - perspectiveOrigin: 4.4, - transformStyle: 4.4, - transformOriginZ: 4.4, - animation: 4.4, - animationDelay: 4.4, - animationDirection: 4.4, - animationFillMode: 4.4, - animationDuration: 4.4, - animationIterationCount: 4.4, - animationName: 4.4, - animationPlayState: 4.4, - animationTimingFunction: 4.4, - appearance: 62, - userSelect: 4.4, - fontKerning: 4.4, - textEmphasisPosition: 62, - textEmphasis: 62, - textEmphasisStyle: 62, - textEmphasisColor: 62, - boxDecorationBreak: 62, - clipPath: 4.4, - maskImage: 62, - maskMode: 62, - maskRepeat: 62, - maskPosition: 62, - maskClip: 62, - maskOrigin: 62, - maskSize: 62, - maskComposite: 62, - mask: 62, - maskBorderSource: 62, - maskBorderMode: 62, - maskBorderSlice: 62, - maskBorderWidth: 62, - maskBorderOutset: 62, - maskBorderRepeat: 62, - maskBorder: 62, - maskType: 62, - filter: 4.4, - fontFeatureSettings: 4.4, - breakAfter: 4.4, - breakBefore: 4.4, - breakInside: 4.4, - columnCount: 4.4, - columnFill: 4.4, - columnGap: 4.4, - columnRule: 4.4, - columnRuleColor: 4.4, - columnRuleStyle: 4.4, - columnRuleWidth: 4.4, - columns: 4.4, - columnSpan: 4.4, - columnWidth: 4.4, - writingMode: 4.4 - }, - and_chr: { - appearance: 62, - textEmphasisPosition: 62, - textEmphasis: 62, - textEmphasisStyle: 62, - textEmphasisColor: 62, - boxDecorationBreak: 62, - maskImage: 62, - maskMode: 62, - maskRepeat: 62, - maskPosition: 62, - maskClip: 62, - maskOrigin: 62, - maskSize: 62, - maskComposite: 62, - mask: 62, - maskBorderSource: 62, - maskBorderMode: 62, - maskBorderSlice: 62, - maskBorderWidth: 62, - maskBorderOutset: 62, - maskBorderRepeat: 62, - maskBorder: 62, - maskType: 62 - }, - and_uc: { - flex: 11.4, - flexBasis: 11.4, - flexDirection: 11.4, - flexGrow: 11.4, - flexFlow: 11.4, - flexShrink: 11.4, - flexWrap: 11.4, - alignContent: 11.4, - alignItems: 11.4, - alignSelf: 11.4, - justifyContent: 11.4, - order: 11.4, - transform: 11.4, - transformOrigin: 11.4, - transformOriginX: 11.4, - transformOriginY: 11.4, - backfaceVisibility: 11.4, - perspective: 11.4, - perspectiveOrigin: 11.4, - transformStyle: 11.4, - transformOriginZ: 11.4, - animation: 11.4, - animationDelay: 11.4, - animationDirection: 11.4, - animationFillMode: 11.4, - animationDuration: 11.4, - animationIterationCount: 11.4, - animationName: 11.4, - animationPlayState: 11.4, - animationTimingFunction: 11.4, - appearance: 11.4, - userSelect: 11.4, - textEmphasisPosition: 11.4, - textEmphasis: 11.4, - textEmphasisStyle: 11.4, - textEmphasisColor: 11.4, - clipPath: 11.4, - maskImage: 11.4, - maskMode: 11.4, - maskRepeat: 11.4, - maskPosition: 11.4, - maskClip: 11.4, - maskOrigin: 11.4, - maskSize: 11.4, - maskComposite: 11.4, - mask: 11.4, - maskBorderSource: 11.4, - maskBorderMode: 11.4, - maskBorderSlice: 11.4, - maskBorderWidth: 11.4, - maskBorderOutset: 11.4, - maskBorderRepeat: 11.4, - maskBorder: 11.4, - maskType: 11.4, - textSizeAdjust: 11.4, - filter: 11.4, - hyphens: 11.4, - fontFeatureSettings: 11.4, - breakAfter: 11.4, - breakBefore: 11.4, - breakInside: 11.4, - columnCount: 11.4, - columnFill: 11.4, - columnGap: 11.4, - columnRule: 11.4, - columnRuleColor: 11.4, - columnRuleStyle: 11.4, - columnRuleWidth: 11.4, - columns: 11.4, - columnSpan: 11.4, - columnWidth: 11.4, - writingMode: 11.4 - }, - op_mini: {} - } -}); - -/***/ }), - -/***/ "./node_modules/radium/es/prefix-data/static.js": -/*!******************************************************!*\ - !*** ./node_modules/radium/es/prefix-data/static.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/calc */ "./node_modules/inline-style-prefixer/static/plugins/calc.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/crossFade */ "./node_modules/inline-style-prefixer/static/plugins/crossFade.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/cursor */ "./node_modules/inline-style-prefixer/static/plugins/cursor.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/filter */ "./node_modules/inline-style-prefixer/static/plugins/filter.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flex */ "./node_modules/inline-style-prefixer/static/plugins/flex.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flexboxIE */ "./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flexboxOld */ "./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/gradient */ "./node_modules/inline-style-prefixer/static/plugins/gradient.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/imageSet */ "./node_modules/inline-style-prefixer/static/plugins/imageSet.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/position */ "./node_modules/inline-style-prefixer/static/plugins/position.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/sizing */ "./node_modules/inline-style-prefixer/static/plugins/sizing.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/transition */ "./node_modules/inline-style-prefixer/static/plugins/transition.js"); -/* harmony import */ var inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11__); - - - - - - - - - - - - -var w = ['Webkit']; -var m = ['Moz']; -var ms = ['ms']; -var wm = ['Webkit', 'Moz']; -var wms = ['Webkit', 'ms']; -var wmms = ['Webkit', 'Moz', 'ms']; - -/* harmony default export */ __webpack_exports__["default"] = ({ - plugins: [inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default.a, inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default.a, inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default.a, inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default.a, inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default.a, inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default.a, inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default.a, inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default.a, inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default.a, inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9___default.a, inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default.a, inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default.a], - prefixMap: { - transform: wms, - transformOrigin: wms, - transformOriginX: wms, - transformOriginY: wms, - backfaceVisibility: w, - perspective: w, - perspectiveOrigin: w, - transformStyle: w, - transformOriginZ: w, - animation: w, - animationDelay: w, - animationDirection: w, - animationFillMode: w, - animationDuration: w, - animationIterationCount: w, - animationName: w, - animationPlayState: w, - animationTimingFunction: w, - appearance: wm, - userSelect: wmms, - fontKerning: w, - textEmphasisPosition: w, - textEmphasis: w, - textEmphasisStyle: w, - textEmphasisColor: w, - boxDecorationBreak: w, - clipPath: w, - maskImage: w, - maskMode: w, - maskRepeat: w, - maskPosition: w, - maskClip: w, - maskOrigin: w, - maskSize: w, - maskComposite: w, - mask: w, - maskBorderSource: w, - maskBorderMode: w, - maskBorderSlice: w, - maskBorderWidth: w, - maskBorderOutset: w, - maskBorderRepeat: w, - maskBorder: w, - maskType: w, - textDecorationStyle: wm, - textDecorationSkip: wm, - textDecorationLine: wm, - textDecorationColor: wm, - filter: w, - fontFeatureSettings: wm, - breakAfter: wmms, - breakBefore: wmms, - breakInside: wmms, - columnCount: wm, - columnFill: wm, - columnGap: wm, - columnRule: wm, - columnRuleColor: wm, - columnRuleStyle: wm, - columnRuleWidth: wm, - columns: wm, - columnSpan: wm, - columnWidth: wm, - writingMode: wms, - flex: wms, - flexBasis: w, - flexDirection: wms, - flexGrow: w, - flexFlow: wms, - flexShrink: w, - flexWrap: wms, - alignContent: w, - alignItems: w, - alignSelf: w, - justifyContent: w, - order: w, - transitionDelay: w, - transitionDuration: w, - transitionProperty: w, - transitionTimingFunction: w, - backdropFilter: w, - scrollSnapType: wms, - scrollSnapPointsX: wms, - scrollSnapPointsY: wms, - scrollSnapDestination: wms, - scrollSnapCoordinate: wms, - shapeImageThreshold: w, - shapeImageMargin: w, - shapeImageOutside: w, - hyphens: wmms, - flowInto: wms, - flowFrom: wms, - regionFragment: wms, - boxSizing: m, - textAlignLast: m, - tabSize: m, - wrapFlow: ms, - wrapThrough: ms, - wrapMargin: ms, - touchAction: ms, - gridTemplateColumns: ms, - gridTemplateRows: ms, - gridTemplateAreas: ms, - gridTemplate: ms, - gridAutoColumns: ms, - gridAutoRows: ms, - gridAutoFlow: ms, - grid: ms, - gridRowStart: ms, - gridColumnStart: ms, - gridRowEnd: ms, - gridRow: ms, - gridColumn: ms, - gridColumnEnd: ms, - gridColumnGap: ms, - gridRowGap: ms, - gridArea: ms, - gridGap: ms, - textSizeAdjust: wms, - borderImage: w, - borderImageOutset: w, - borderImageRepeat: w, - borderImageSlice: w, - borderImageSource: w, - borderImageWidth: w - } -}); - -/***/ }), - -/***/ "./node_modules/radium/es/prefixer.js": -/*!********************************************!*\ - !*** ./node_modules/radium/es/prefixer.js ***! - \********************************************/ -/*! exports provided: getPrefixedKeyframes, getPrefixedStyle */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefixedKeyframes", function() { return getPrefixedKeyframes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefixedStyle", function() { return getPrefixedStyle; }); -/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/createPrefixer */ "./node_modules/inline-style-prefixer/static/createPrefixer.js"); -/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/createPrefixer */ "./node_modules/inline-style-prefixer/dynamic/createPrefixer.js"); -/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! exenv */ "./node_modules/exenv/index.js"); -/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _prefix_data_static__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-data/static */ "./node_modules/radium/es/prefix-data/static.js"); -/* harmony import */ var _prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./prefix-data/dynamic */ "./node_modules/radium/es/prefix-data/dynamic.js"); -/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ "./node_modules/radium/es/camel-case-props-to-dash-case.js"); -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - -/** - * Based on https://github.com/jsstyles/css-vendor, but without having to - * convert between different cases all the time. - * - * - */ - - - - - - - - - - -var prefixAll = inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default()(_prefix_data_static__WEBPACK_IMPORTED_MODULE_3__["default"]); -var InlineStylePrefixer = inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default()(_prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__["default"], prefixAll); - -function transformValues(style) { - return Object.keys(style).reduce(function (newStyle, key) { - var value = style[key]; - if (Array.isArray(value)) { - value = value.join(';' + key + ':'); - } else if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString === 'function') { - value = value.toString(); - } - - newStyle[key] = value; - return newStyle; - }, {}); -} - -// Flatten prefixed values that are arrays to strings. -// -// We get prefixed styles back in the form of: -// - `display: "flex"` OR -// - `display: "-webkit-flex"` OR -// - `display: [/* ... */, "-webkit-flex", "flex"] -// -// The last form is problematic for eventual use in the browser and server -// render. More confusingly, we have to do **different** things on the -// browser and server (noted inline below). -// -// https://github.com/FormidableLabs/radium/issues/958 -function flattenStyleValues(style) { - return Object.keys(style).reduce(function (newStyle, key) { - var val = style[key]; - if (Array.isArray(val)) { - if (exenv__WEBPACK_IMPORTED_MODULE_2___default.a.canUseDOM) { - // For the **browser**, when faced with multiple values, we just take - // the **last** one, which is the original passed in value before - // prefixing. This _should_ work, because `inline-style-prefixer` - // we're just passing through what would happen without ISP. - - val = val[val.length - 1].toString(); - } else { - // For the **server**, we just concatenate things together and convert - // the style object values into a hacked-up string of like `display: - // "-webkit-flex;display:flex"` that will SSR render correctly to like - // `"display:-webkit-flex;display:flex"` but would otherwise be - // totally invalid values. - - // We convert keys to dash-case only for the serialize values and - // leave the real key camel-cased so it's as expected to React and - // other parts of the processing chain. - val = val.join(';' + Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__["camelCaseToDashCase"])(key) + ':'); - } - } - - newStyle[key] = val; - return newStyle; - }, {}); -} - -var _hasWarnedAboutUserAgent = false; -var _lastUserAgent = void 0; -var _cachedPrefixer = void 0; - -function getPrefixer(userAgent) { - var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent; - - if (true) { - if (!actualUserAgent && !_hasWarnedAboutUserAgent) { - /* eslint-disable no-console */ - console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.'); - /* eslint-enable no-console */ - _hasWarnedAboutUserAgent = true; - } - } - - if ( false || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) { - if (actualUserAgent === 'all') { - _cachedPrefixer = { - prefix: prefixAll, - prefixedKeyframes: 'keyframes' - }; - } else { - _cachedPrefixer = new InlineStylePrefixer({ userAgent: actualUserAgent }); - } - _lastUserAgent = actualUserAgent; - } - - return _cachedPrefixer; -} - -function getPrefixedKeyframes(userAgent) { - return getPrefixer(userAgent).prefixedKeyframes || 'keyframes'; -} - -// Returns a new style object with vendor prefixes added to property names and -// values. -function getPrefixedStyle(style, userAgent) { - var styleWithFallbacks = transformValues(style); - var prefixer = getPrefixer(userAgent); - var prefixedStyle = prefixer.prefix(styleWithFallbacks); - var flattenedStyle = flattenStyleValues(prefixedStyle); - return flattenedStyle; -} -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) - -/***/ }), - -/***/ "./node_modules/radium/es/resolve-styles.js": -/*!**************************************************!*\ - !*** ./node_modules/radium/es/resolve-styles.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _append_important_to_each_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-important-to-each-value */ "./node_modules/radium/es/append-important-to-each-value.js"); -/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); -/* harmony import */ var _get_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-state */ "./node_modules/radium/es/get-state.js"); -/* harmony import */ var _get_state_key__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-state-key */ "./node_modules/radium/es/get-state-key.js"); -/* harmony import */ var _clean_state_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./clean-state-key */ "./node_modules/radium/es/clean-state-key.js"); -/* harmony import */ var _get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./get-radium-style-state */ "./node_modules/radium/es/get-radium-style-state.js"); -/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hash */ "./node_modules/radium/es/hash.js"); -/* harmony import */ var _merge_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./merge-styles */ "./node_modules/radium/es/merge-styles.js"); -/* harmony import */ var _plugins___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./plugins/ */ "./node_modules/radium/es/plugins/index.js"); -/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! exenv */ "./node_modules/exenv/index.js"); -/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; - - - - - - - - - - - - - - - -var DEFAULT_CONFIG = { - plugins: [_plugins___WEBPACK_IMPORTED_MODULE_8__["default"].mergeStyleArray, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].checkProps, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].resolveMediaQueries, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].resolveInteractionStyles, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].keyframes, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].visited, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].removeNestedStyles, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].prefix, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].checkProps] -}; - -// Gross -var globalState = {}; - -// Declare early for recursive helpers. -var resolveStyles = null; - -var _shouldResolveStyles = function _shouldResolveStyles(component) { - return component.type && !component.type._isRadiumEnhanced; -}; - -var _resolveChildren = function _resolveChildren(_ref) { - var children = _ref.children, - component = _ref.component, - config = _ref.config, - existingKeyMap = _ref.existingKeyMap, - extraStateKeyMap = _ref.extraStateKeyMap; - - if (!children) { - return children; - } - - var childrenType = typeof children === 'undefined' ? 'undefined' : _typeof(children); - - if (childrenType === 'string' || childrenType === 'number') { - // Don't do anything with a single primitive child - return children; - } - - if (childrenType === 'function') { - // Wrap the function, resolving styles on the result - return function () { - var result = children.apply(this, arguments); - - if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(result)) { - var _key = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(result); - delete extraStateKeyMap[_key]; - - var _resolveStyles = resolveStyles(component, result, config, existingKeyMap, true, extraStateKeyMap), - _element = _resolveStyles.element; - - return _element; - } - - return result; - }; - } - - if (react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.count(children) === 1 && children.type) { - // If a React Element is an only child, don't wrap it in an array for - // React.Children.map() for React.Children.only() compatibility. - var onlyChild = react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.only(children); - var _key2 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(onlyChild); - delete extraStateKeyMap[_key2]; - - var _resolveStyles2 = resolveStyles(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap), - _element2 = _resolveStyles2.element; - - return _element2; - } - - return react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.map(children, function (child) { - if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(child)) { - var _key3 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(child); - delete extraStateKeyMap[_key3]; - - var _resolveStyles3 = resolveStyles(component, child, config, existingKeyMap, true, extraStateKeyMap), - _element3 = _resolveStyles3.element; - - return _element3; - } - - return child; - }); -}; - -// Recurse over props, just like children -var _resolveProps = function _resolveProps(_ref2) { - var component = _ref2.component, - config = _ref2.config, - existingKeyMap = _ref2.existingKeyMap, - props = _ref2.props, - extraStateKeyMap = _ref2.extraStateKeyMap; - - var newProps = props; - - Object.keys(props).forEach(function (prop) { - // We already recurse over children above - if (prop === 'children') { - return; - } - - var propValue = props[prop]; - if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(propValue)) { - var _key4 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(propValue); - delete extraStateKeyMap[_key4]; - newProps = _extends({}, newProps); - - var _resolveStyles4 = resolveStyles(component, propValue, config, existingKeyMap, true, extraStateKeyMap), - _element4 = _resolveStyles4.element; - - newProps[prop] = _element4; - } - }); - - return newProps; -}; - -var _buildGetKey = function _buildGetKey(_ref3) { - var componentName = _ref3.componentName, - existingKeyMap = _ref3.existingKeyMap, - renderedElement = _ref3.renderedElement; - - // We need a unique key to correlate state changes due to user interaction - // with the rendered element, so we know to apply the proper interactive - // styles. - var originalKey = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(renderedElement); - var key = Object(_clean_state_key__WEBPACK_IMPORTED_MODULE_4__["default"])(originalKey); - - var alreadyGotKey = false; - var getKey = function getKey() { - if (alreadyGotKey) { - return key; - } - - alreadyGotKey = true; - - if (existingKeyMap[key]) { - var elementName = void 0; - if (typeof renderedElement.type === 'string') { - elementName = renderedElement.type; - } else if (renderedElement.type.constructor) { - elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name; - } - - throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key "' + originalKey + '" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: "' + componentName + '". ' + (elementName ? 'Element: "' + elementName + '".' : '')); - } - - existingKeyMap[key] = true; - - return key; - }; - - return getKey; -}; - -var _setStyleState = function _setStyleState(component, key, stateKey, value) { - if (!component._radiumIsMounted) { - return; - } - - var existing = Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__["default"])(component); - var state = { _radiumStyleState: _extends({}, existing) }; - - state._radiumStyleState[key] = _extends({}, state._radiumStyleState[key]); - state._radiumStyleState[key][stateKey] = value; - - component._lastRadiumState = state._radiumStyleState; - component.setState(state); -}; - -var _runPlugins = function _runPlugins(_ref4) { - var component = _ref4.component, - config = _ref4.config, - existingKeyMap = _ref4.existingKeyMap, - props = _ref4.props, - renderedElement = _ref4.renderedElement; - - // Don't run plugins if renderedElement is not a simple ReactDOMElement or has - // no style. - if (!react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) { - return props; - } - - var newProps = props; - - var plugins = config.plugins || DEFAULT_CONFIG.plugins; - - var componentName = component.constructor.displayName || component.constructor.name; - var getKey = _buildGetKey({ - renderedElement: renderedElement, - existingKeyMap: existingKeyMap, - componentName: componentName - }); - var getComponentField = function getComponentField(key) { - return component[key]; - }; - var getGlobalState = function getGlobalState(key) { - return globalState[key]; - }; - var componentGetState = function componentGetState(stateKey, elementKey) { - return Object(_get_state__WEBPACK_IMPORTED_MODULE_2__["default"])(component.state, elementKey || getKey(), stateKey); - }; - var setState = function setState(stateKey, value, elementKey) { - return _setStyleState(component, elementKey || getKey(), stateKey, value); - }; - - var addCSS = function addCSS(css) { - var styleKeeper = component._radiumStyleKeeper || component.context._radiumStyleKeeper; - if (!styleKeeper) { - if (__isTestModeEnabled) { - return { - remove: function remove() {} - }; - } - - throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.'); - } - - return styleKeeper.addCSS(css); - }; - - var newStyle = props.style; - - plugins.forEach(function (plugin) { - var result = plugin({ - ExecutionEnvironment: exenv__WEBPACK_IMPORTED_MODULE_9___default.a, - addCSS: addCSS, - appendImportantToEachValue: _append_important_to_each_value__WEBPACK_IMPORTED_MODULE_0__["default"], - componentName: componentName, - config: config, - cssRuleSetToString: _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_1__["default"], - getComponentField: getComponentField, - getGlobalState: getGlobalState, - getState: componentGetState, - hash: _hash__WEBPACK_IMPORTED_MODULE_6__["default"], - mergeStyles: _merge_styles__WEBPACK_IMPORTED_MODULE_7__["mergeStyles"], - props: newProps, - setState: setState, - isNestedStyle: _merge_styles__WEBPACK_IMPORTED_MODULE_7__["isNestedStyle"], - style: newStyle - }) || {}; - - newStyle = result.style || newStyle; - - newProps = result.props && Object.keys(result.props).length ? _extends({}, newProps, result.props) : newProps; - - var newComponentFields = result.componentFields || {}; - Object.keys(newComponentFields).forEach(function (fieldName) { - component[fieldName] = newComponentFields[fieldName]; - }); - - var newGlobalState = result.globalState || {}; - Object.keys(newGlobalState).forEach(function (key) { - globalState[key] = newGlobalState[key]; - }); - }); - - if (newStyle !== props.style) { - newProps = _extends({}, newProps, { style: newStyle }); - } - - return newProps; -}; - -// Wrapper around React.cloneElement. To avoid processing the same element -// twice, whenever we clone an element add a special prop to make sure we don't -// process this element again. -var _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) { - // Only add flag if this is a normal DOM element - if (typeof renderedElement.type === 'string') { - newProps = _extends({}, newProps, { 'data-radium': true }); - } - - return react__WEBPACK_IMPORTED_MODULE_10___default.a.cloneElement(renderedElement, newProps, newChildren); -}; - -// -// The nucleus of Radium. resolveStyles is called on the rendered elements -// before they are returned in render. It iterates over the elements and -// children, rewriting props to add event handlers required to capture user -// interactions (e.g. mouse over). It also replaces the style prop because it -// adds in the various interaction styles (e.g. :hover). -// -/* eslint-disable max-params */ -resolveStyles = function resolveStyles(component, // ReactComponent, flow+eslint complaining -renderedElement) { - var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG; - var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; - var extraStateKeyMap = arguments[5]; - - // The extraStateKeyMap is for determining which keys should be erased from - // the state (i.e. which child components are unmounted and should no longer - // have a style state). - if (!extraStateKeyMap) { - var state = Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__["default"])(component); - extraStateKeyMap = Object.keys(state).reduce(function (acc, key) { - // 'main' is the auto-generated key when there is only one element with - // interactive styles and if a custom key is not assigned. Because of - // this, it is impossible to know which child is 'main', so we won't - // count this key when generating our extraStateKeyMap. - if (key !== 'main') { - acc[key] = true; - } - return acc; - }, {}); - } - - // ReactElement - if (!renderedElement || - // Bail if we've already processed this element. This ensures that only the - // owner of an element processes that element, since the owner's render - // function will be called first (which will always be the case, since you - // can't know what else to render until you render the parent component). - renderedElement.props && renderedElement.props['data-radium'] || - // Bail if this element is a radium enhanced element, because if it is, - // then it will take care of resolving its own styles. - shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) { - return { extraStateKeyMap: extraStateKeyMap, element: renderedElement }; - } - - var newChildren = _resolveChildren({ - children: renderedElement.props.children, - component: component, - config: config, - existingKeyMap: existingKeyMap, - extraStateKeyMap: extraStateKeyMap - }); - - var newProps = _resolveProps({ - component: component, - config: config, - existingKeyMap: existingKeyMap, - extraStateKeyMap: extraStateKeyMap, - props: renderedElement.props - }); - - newProps = _runPlugins({ - component: component, - config: config, - existingKeyMap: existingKeyMap, - props: newProps, - renderedElement: renderedElement - }); - - // If nothing changed, don't bother cloning the element. Might be a bit - // wasteful, as we add the sentinal to stop double-processing when we clone. - // Assume benign double-processing is better than unneeded cloning. - if (newChildren === renderedElement.props.children && newProps === renderedElement.props) { - return { extraStateKeyMap: extraStateKeyMap, element: renderedElement }; - } - - var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren); - - return { extraStateKeyMap: extraStateKeyMap, element: element }; -}; -/* eslint-enable max-params */ - -// Only for use by tests -var __isTestModeEnabled = false; -if (true) { - resolveStyles.__clearStateForTests = function () { - globalState = {}; - }; - resolveStyles.__setTestMode = function (isEnabled) { - __isTestModeEnabled = isEnabled; - }; -} - -/* harmony default export */ __webpack_exports__["default"] = (resolveStyles); - -/***/ }), - -/***/ "./node_modules/radium/es/style-keeper.js": -/*!************************************************!*\ - !*** ./node_modules/radium/es/style-keeper.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return StyleKeeper; }); -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -var StyleKeeper = function () { - function StyleKeeper(userAgent) { - _classCallCheck(this, StyleKeeper); - - this._userAgent = userAgent; - this._listeners = []; - this._cssSet = {}; - } - - _createClass(StyleKeeper, [{ - key: 'subscribe', - value: function subscribe(listener) { - var _this = this; - - if (this._listeners.indexOf(listener) === -1) { - this._listeners.push(listener); - } - - return { - // Must be fat arrow to capture `this` - remove: function remove() { - var listenerIndex = _this._listeners.indexOf(listener); - if (listenerIndex > -1) { - _this._listeners.splice(listenerIndex, 1); - } - } - }; - } - }, { - key: 'addCSS', - value: function addCSS(css) { - var _this2 = this; - - if (!this._cssSet[css]) { - this._cssSet[css] = true; - this._emitChange(); - } - - return { - // Must be fat arrow to capture `this` - remove: function remove() { - delete _this2._cssSet[css]; - _this2._emitChange(); - } - }; - } - }, { - key: 'getCSS', - value: function getCSS() { - return Object.keys(this._cssSet).join('\n'); - } - }, { - key: '_emitChange', - value: function _emitChange() { - this._listeners.forEach(function (listener) { - return listener(); - }); - } - }]); - - return StyleKeeper; -}(); - - - -/***/ }), - -/***/ "./node_modules/ramda/es/F.js": -/*!************************************!*\ - !*** ./node_modules/ramda/es/F.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - - -/** - * A function that always returns `false`. Any passed in parameters are ignored. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Function - * @sig * -> Boolean - * @param {*} - * @return {Boolean} - * @see R.T - * @example - * - * R.F(); //=> false - */ -var F = function () { - return false; -}; -/* harmony default export */ __webpack_exports__["default"] = (F); - -/***/ }), - -/***/ "./node_modules/ramda/es/T.js": -/*!************************************!*\ - !*** ./node_modules/ramda/es/T.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - - -/** - * A function that always returns `true`. Any passed in parameters are ignored. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Function - * @sig * -> Boolean - * @param {*} - * @return {Boolean} - * @see R.F - * @example - * - * R.T(); //=> true - */ -var T = function () { - return true; -}; -/* harmony default export */ __webpack_exports__["default"] = (T); - -/***/ }), - -/***/ "./node_modules/ramda/es/__.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/__.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * A special placeholder value used to specify "gaps" within curried functions, - * allowing partial application of any combination of arguments, regardless of - * their positions. - * - * If `g` is a curried ternary function and `_` is `R.__`, the following are - * equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2, _)(1, 3)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @name __ - * @constant - * @memberOf R - * @since v0.6.0 - * @category Function - * @example - * - * const greet = R.replace('{name}', R.__, 'Hello, {name}!'); - * greet('Alice'); //=> 'Hello, Alice!' - */ -/* harmony default export */ __webpack_exports__["default"] = ({ '@@functional/placeholder': true }); - -/***/ }), - -/***/ "./node_modules/ramda/es/add.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/add.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Adds two values. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a - * @param {Number} b - * @return {Number} - * @see R.subtract - * @example - * - * R.add(2, 3); //=> 5 - * R.add(7)(10); //=> 17 - */ -var add = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function add(a, b) { - return Number(a) + Number(b); -}); -/* harmony default export */ __webpack_exports__["default"] = (add); - -/***/ }), - -/***/ "./node_modules/ramda/es/addIndex.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/addIndex.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - - -/** - * Creates a new list iteration function from an existing one by adding two new - * parameters to its callback function: the current index, and the entire list. - * - * This would turn, for instance, [`R.map`](#map) function into one that - * more closely resembles `Array.prototype.map`. Note that this will only work - * for functions in which the iteration callback function is the first - * parameter, and where the list is the last parameter. (This latter might be - * unimportant if the list parameter is not used.) - * - * @func - * @memberOf R - * @since v0.15.0 - * @category Function - * @category List - * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *) - * @param {Function} fn A list iteration function that does not pass index or list to its callback - * @return {Function} An altered list iteration function that passes (item, index, list) to its callback - * @example - * - * const mapIndexed = R.addIndex(R.map); - * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']); - * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r'] - */ -var addIndex = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function addIndex(fn) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(fn.length, function () { - var idx = 0; - var origFn = arguments[0]; - var list = arguments[arguments.length - 1]; - var args = Array.prototype.slice.call(arguments, 0); - args[0] = function () { - var result = origFn.apply(this, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments, [idx, list])); - idx += 1; - return result; - }; - return fn.apply(this, args); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (addIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/adjust.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/adjust.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - - -/** - * Applies a function to the value at the given index of an array, returning a - * new copy of the array with the element at the given index replaced with the - * result of the function application. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig Number -> (a -> a) -> [a] -> [a] - * @param {Number} idx The index. - * @param {Function} fn The function to apply. - * @param {Array|Arguments} list An array-like object whose value - * at the supplied index will be replaced. - * @return {Array} A copy of the supplied array-like object with - * the element at index `idx` replaced with the value - * returned by applying `fn` to the existing element. - * @see R.update - * @example - * - * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd'] - * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D'] - * @symb R.adjust(-1, f, [a, b]) = [a, f(b)] - * @symb R.adjust(0, f, [a, b]) = [f(a), b] - */ -var adjust = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function adjust(idx, fn, list) { - if (idx >= list.length || idx < -list.length) { - return list; - } - var start = idx < 0 ? list.length : 0; - var _idx = start + idx; - var _list = Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list); - _list[_idx] = fn(list[_idx]); - return _list; -}); -/* harmony default export */ __webpack_exports__["default"] = (adjust); - -/***/ }), - -/***/ "./node_modules/ramda/es/all.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/all.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xall.js */ "./node_modules/ramda/es/internal/_xall.js"); - - - - -/** - * Returns `true` if all elements of the list match the predicate, `false` if - * there are any that don't. - * - * Dispatches to the `all` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is satisfied by every element, `false` - * otherwise. - * @see R.any, R.none, R.transduce - * @example - * - * const equals3 = R.equals(3); - * R.all(equals3)([3, 3, 3, 3]); //=> true - * R.all(equals3)([3, 3, 1, 3]); //=> false - */ -var all = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['all'], _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__["default"], function all(fn, list) { - var idx = 0; - while (idx < list.length) { - if (!fn(list[idx])) { - return false; - } - idx += 1; - } - return true; -})); -/* harmony default export */ __webpack_exports__["default"] = (all); - -/***/ }), - -/***/ "./node_modules/ramda/es/allPass.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/allPass.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - - - - -/** - * Takes a list of predicates and returns a predicate that returns true for a - * given list of arguments if every one of the provided predicates is satisfied - * by those arguments. - * - * The function returned is a curried function whose arity matches that of the - * highest-arity predicate. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Logic - * @sig [(*... -> Boolean)] -> (*... -> Boolean) - * @param {Array} predicates An array of predicates to check - * @return {Function} The combined predicate - * @see R.anyPass - * @example - * - * const isQueen = R.propEq('rank', 'Q'); - * const isSpade = R.propEq('suit', '♠︎'); - * const isQueenOfSpades = R.allPass([isQueen, isSpade]); - * - * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false - * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true - */ -var allPass = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function allPass(preds) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_2__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_3__["default"])('length', preds)), function () { - var idx = 0; - var len = preds.length; - while (idx < len) { - if (!preds[idx].apply(this, arguments)) { - return false; - } - idx += 1; - } - return true; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (allPass); - -/***/ }), - -/***/ "./node_modules/ramda/es/always.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/always.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Returns a function that always returns the given value. Note that for - * non-primitives the value returned is a reference to the original value. - * - * This function is known as `const`, `constant`, or `K` (for K combinator) in - * other languages and libraries. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig a -> (* -> a) - * @param {*} val The value to wrap in a function - * @return {Function} A Function :: * -> val. - * @example - * - * const t = R.always('Tee'); - * t(); //=> 'Tee' - */ -var always = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function always(val) { - return function () { - return val; - }; -}); -/* harmony default export */ __webpack_exports__["default"] = (always); - -/***/ }), - -/***/ "./node_modules/ramda/es/and.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/and.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if both arguments are `true`; `false` otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig a -> b -> a | b - * @param {Any} a - * @param {Any} b - * @return {Any} the first argument if it is falsy, otherwise the second argument. - * @see R.both - * @example - * - * R.and(true, true); //=> true - * R.and(true, false); //=> false - * R.and(false, true); //=> false - * R.and(false, false); //=> false - */ -var and = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function and(a, b) { - return a && b; -}); -/* harmony default export */ __webpack_exports__["default"] = (and); - -/***/ }), - -/***/ "./node_modules/ramda/es/any.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/any.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xany_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xany.js */ "./node_modules/ramda/es/internal/_xany.js"); - - - - -/** - * Returns `true` if at least one of the elements of the list match the predicate, - * `false` otherwise. - * - * Dispatches to the `any` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false` - * otherwise. - * @see R.all, R.none, R.transduce - * @example - * - * const lessThan0 = R.flip(R.lt)(0); - * const lessThan2 = R.flip(R.lt)(2); - * R.any(lessThan0)([1, 2]); //=> false - * R.any(lessThan2)([1, 2]); //=> true - */ -var any = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['any'], _internal_xany_js__WEBPACK_IMPORTED_MODULE_2__["default"], function any(fn, list) { - var idx = 0; - while (idx < list.length) { - if (fn(list[idx])) { - return true; - } - idx += 1; - } - return false; -})); -/* harmony default export */ __webpack_exports__["default"] = (any); - -/***/ }), - -/***/ "./node_modules/ramda/es/anyPass.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/anyPass.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - - - - -/** - * Takes a list of predicates and returns a predicate that returns true for a - * given list of arguments if at least one of the provided predicates is - * satisfied by those arguments. - * - * The function returned is a curried function whose arity matches that of the - * highest-arity predicate. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Logic - * @sig [(*... -> Boolean)] -> (*... -> Boolean) - * @param {Array} predicates An array of predicates to check - * @return {Function} The combined predicate - * @see R.allPass - * @example - * - * const isClub = R.propEq('suit', '♣'); - * const isSpade = R.propEq('suit', '♠'); - * const isBlackCard = R.anyPass([isClub, isSpade]); - * - * isBlackCard({rank: '10', suit: '♣'}); //=> true - * isBlackCard({rank: 'Q', suit: '♠'}); //=> true - * isBlackCard({rank: 'Q', suit: '♦'}); //=> false - */ -var anyPass = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function anyPass(preds) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_2__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_3__["default"])('length', preds)), function () { - var idx = 0; - var len = preds.length; - while (idx < len) { - if (preds[idx].apply(this, arguments)) { - return true; - } - idx += 1; - } - return false; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (anyPass); - -/***/ }), - -/***/ "./node_modules/ramda/es/ap.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/ap.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); - - - - - -/** - * ap applies a list of functions to a list of values. - * - * Dispatches to the `ap` method of the second argument, if present. Also - * treats curried functions as applicatives. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig [a -> b] -> [a] -> [b] - * @sig Apply f => f (a -> b) -> f a -> f b - * @sig (r -> a -> b) -> (r -> a) -> (r -> b) - * @param {*} applyF - * @param {*} applyX - * @return {*} - * @example - * - * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6] - * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> ["tasty pizza", "tasty salad", "PIZZA", "SALAD"] - * - * // R.ap can also be used as S combinator - * // when only two functions are passed - * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA' - * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)] - */ -var ap = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function ap(applyF, applyX) { - return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) { - return applyF(x)(applyX(x)); - } : Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (acc, f) { - return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, Object(_map_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, applyX)); - }, [], applyF); -}); -/* harmony default export */ __webpack_exports__["default"] = (ap); - -/***/ }), - -/***/ "./node_modules/ramda/es/aperture.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/aperture.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_aperture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_aperture.js */ "./node_modules/ramda/es/internal/_aperture.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xaperture_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xaperture.js */ "./node_modules/ramda/es/internal/_xaperture.js"); - - - - - -/** - * Returns a new list, composed of n-tuples of consecutive elements. If `n` is - * greater than the length of the list, an empty list is returned. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @param {Number} n The size of the tuples to create - * @param {Array} list The list to split into `n`-length tuples - * @return {Array} The resulting list of `n`-length tuples - * @see R.transduce - * @example - * - * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] - * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] - * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] - */ -var aperture = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__["default"])([], _internal_xaperture_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_aperture_js__WEBPACK_IMPORTED_MODULE_0__["default"])); -/* harmony default export */ __webpack_exports__["default"] = (aperture); - -/***/ }), - -/***/ "./node_modules/ramda/es/append.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/append.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns a new list containing the contents of the given list, followed by - * the given element. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> [a] - * @param {*} el The element to add to the end of the new list. - * @param {Array} list The list of elements to add a new item to. - * list. - * @return {Array} A new list containing the elements of the old list followed by `el`. - * @see R.prepend - * @example - * - * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests'] - * R.append('tests', []); //=> ['tests'] - * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']] - */ -var append = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function append(el, list) { - return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, [el]); -}); -/* harmony default export */ __webpack_exports__["default"] = (append); - -/***/ }), - -/***/ "./node_modules/ramda/es/apply.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/apply.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Applies function `fn` to the argument list `args`. This is useful for - * creating a fixed-arity function from a variadic function. `fn` should be a - * bound function if context is significant. - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Function - * @sig (*... -> a) -> [*] -> a - * @param {Function} fn The function which will be called with `args` - * @param {Array} args The arguments to call `fn` with - * @return {*} result The result, equivalent to `fn(...args)` - * @see R.call, R.unapply - * @example - * - * const nums = [1, 2, 3, -99, 42, 6, 7]; - * R.apply(Math.max, nums); //=> 42 - * @symb R.apply(f, [a, b, c]) = f(a, b, c) - */ -var apply = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function apply(fn, args) { - return fn.apply(this, args); -}); -/* harmony default export */ __webpack_exports__["default"] = (apply); - -/***/ }), - -/***/ "./node_modules/ramda/es/applySpec.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/applySpec.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./apply.js */ "./node_modules/ramda/es/apply.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); -/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./values.js */ "./node_modules/ramda/es/values.js"); - - - - - - - - - -// Use custom mapValues function to avoid issues with specs that include a "map" key and R.map -// delegating calls to .map -function mapValues(fn, obj) { - return Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(obj).reduce(function (acc, key) { - acc[key] = fn(obj[key]); - return acc; - }, {}); -} - -/** - * Given a spec object recursively mapping properties to functions, creates a - * function producing an object of the same structure, by mapping each property - * to the result of calling its associated function with the supplied arguments. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Function - * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v}) - * @param {Object} spec an object recursively mapping properties to functions for - * producing the values for these properties. - * @return {Function} A function that returns an object of the same structure - * as `spec', with each property set to the value returned by calling its - * associated function with the supplied arguments. - * @see R.converge, R.juxt - * @example - * - * const getMetrics = R.applySpec({ - * sum: R.add, - * nested: { mul: R.multiply } - * }); - * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } } - * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } } - */ -var applySpec = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function applySpec(spec) { - spec = mapValues(function (v) { - return typeof v == 'function' ? v : applySpec(v); - }, spec); - - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', Object(_values_js__WEBPACK_IMPORTED_MODULE_7__["default"])(spec))), function () { - var args = arguments; - return mapValues(function (f) { - return Object(_apply_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f, args); - }, spec); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (applySpec); - -/***/ }), - -/***/ "./node_modules/ramda/es/applyTo.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/applyTo.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Takes a value and applies a function to it. - * - * This function is also known as the `thrush` combinator. - * - * @func - * @memberOf R - * @since v0.25.0 - * @category Function - * @sig a -> (a -> b) -> b - * @param {*} x The value - * @param {Function} f The function to apply - * @return {*} The result of applying `f` to `x` - * @example - * - * const t42 = R.applyTo(42); - * t42(R.identity); //=> 42 - * t42(R.add(1)); //=> 43 - */ -var applyTo = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function applyTo(x, f) { - return f(x); -}); -/* harmony default export */ __webpack_exports__["default"] = (applyTo); - -/***/ }), - -/***/ "./node_modules/ramda/es/ascend.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/ascend.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Makes an ascending comparator function out of a function that returns a value - * that can be compared with `<` and `>`. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Function - * @sig Ord b => (a -> b) -> a -> a -> Number - * @param {Function} fn A function of arity one that returns a value that can be compared - * @param {*} a The first item to be compared. - * @param {*} b The second item to be compared. - * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0` - * @see R.descend - * @example - * - * const byAge = R.ascend(R.prop('age')); - * const people = [ - * { name: 'Emma', age: 70 }, - * { name: 'Peter', age: 78 }, - * { name: 'Mikhail', age: 62 }, - * ]; - * const peopleByYoungestFirst = R.sort(byAge, people); - * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] - */ -var ascend = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ascend(fn, a, b) { - var aa = fn(a); - var bb = fn(b); - return aa < bb ? -1 : aa > bb ? 1 : 0; -}); -/* harmony default export */ __webpack_exports__["default"] = (ascend); - -/***/ }), - -/***/ "./node_modules/ramda/es/assoc.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/assoc.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Makes a shallow clone of an object, setting or overriding the specified - * property with the given value. Note that this copies and flattens prototype - * properties onto the new object as well. All non-primitive properties are - * copied by reference. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @sig String -> a -> {k: v} -> {k: v} - * @param {String} prop The property name to set - * @param {*} val The new value - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original except for the changed property. - * @see R.dissoc, R.pick - * @example - * - * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3} - */ -var assoc = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function assoc(prop, val, obj) { - var result = {}; - for (var p in obj) { - result[p] = obj[p]; - } - result[prop] = val; - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (assoc); - -/***/ }), - -/***/ "./node_modules/ramda/es/assocPath.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/assocPath.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); -/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); -/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isNil.js */ "./node_modules/ramda/es/isNil.js"); - - - - - - - -/** - * Makes a shallow clone of an object, setting or overriding the nodes required - * to create the given path, and placing the specific value at the tail end of - * that path. Note that this copies and flattens prototype properties onto the - * new object as well. All non-primitive properties are copied by reference. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> a -> {a} -> {a} - * @param {Array} path the path to set - * @param {*} val The new value - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original except along the specified path. - * @see R.dissocPath - * @example - * - * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}} - * - * // Any missing or non-object keys in path will be overridden - * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}} - */ -var assocPath = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function assocPath(path, val, obj) { - if (path.length === 0) { - return val; - } - var idx = path[0]; - if (path.length > 1) { - var nextObj = !Object(_isNil_js__WEBPACK_IMPORTED_MODULE_5__["default"])(obj) && Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, obj) ? obj[idx] : Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__["default"])(path[1]) ? [] : {}; - val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj); - } - if (Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__["default"])(idx) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { - var arr = [].concat(obj); - arr[idx] = val; - return arr; - } else { - return Object(_assoc_js__WEBPACK_IMPORTED_MODULE_4__["default"])(idx, val, obj); - } -}); -/* harmony default export */ __webpack_exports__["default"] = (assocPath); - -/***/ }), - -/***/ "./node_modules/ramda/es/binary.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/binary.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); - - - -/** - * Wraps a function of any arity (including nullary) in a function that accepts - * exactly 2 parameters. Any extraneous parameters will not be passed to the - * supplied function. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Function - * @sig (* -> c) -> (a, b -> c) - * @param {Function} fn The function to wrap. - * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of - * arity 2. - * @see R.nAry, R.unary - * @example - * - * const takesThreeArgs = function(a, b, c) { - * return [a, b, c]; - * }; - * takesThreeArgs.length; //=> 3 - * takesThreeArgs(1, 2, 3); //=> [1, 2, 3] - * - * const takesTwoArgs = R.binary(takesThreeArgs); - * takesTwoArgs.length; //=> 2 - * // Only 2 arguments are passed to the wrapped function - * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined] - * @symb R.binary(f)(a, b, c) = f(a, b) - */ -var binary = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function binary(fn) { - return Object(_nAry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(2, fn); -}); -/* harmony default export */ __webpack_exports__["default"] = (binary); - -/***/ }), - -/***/ "./node_modules/ramda/es/bind.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/bind.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Creates a function that is bound to a context. - * Note: `R.bind` does not provide the additional argument-binding capabilities of - * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Function - * @category Object - * @sig (* -> *) -> {*} -> (* -> *) - * @param {Function} fn The function to bind to context - * @param {Object} thisObj The context to bind `fn` to - * @return {Function} A function that will execute in the context of `thisObj`. - * @see R.partial - * @example - * - * const log = R.bind(console.log, console); - * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3} - * // logs {a: 2} - * @symb R.bind(f, o)(a, b) = f.call(o, a, b) - */ -var bind = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function bind(fn, thisObj) { - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { - return fn.apply(thisObj, arguments); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (bind); - -/***/ }), - -/***/ "./node_modules/ramda/es/both.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/both.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); -/* harmony import */ var _and_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./and.js */ "./node_modules/ramda/es/and.js"); -/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); - - - - - -/** - * A function which calls the two provided functions and returns the `&&` - * of the results. - * It returns the result of the first function if it is false-y and the result - * of the second function otherwise. Note that this is short-circuited, - * meaning that the second function will not be invoked if the first returns a - * false-y value. - * - * In addition to functions, `R.both` also accepts any fantasy-land compatible - * applicative functor. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) - * @param {Function} f A predicate - * @param {Function} g Another predicate - * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together. - * @see R.and - * @example - * - * const gt10 = R.gt(R.__, 10) - * const lt20 = R.lt(R.__, 20) - * const f = R.both(gt10, lt20); - * f(15); //=> true - * f(30); //=> false - * - * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false) - * R.both([false, false, 'a'], [11]); //=> [false, false, 11] - */ -var both = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function both(f, g) { - return Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _both() { - return f.apply(this, arguments) && g.apply(this, arguments); - } : Object(_lift_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_and_js__WEBPACK_IMPORTED_MODULE_2__["default"])(f, g); -}); -/* harmony default export */ __webpack_exports__["default"] = (both); - -/***/ }), - -/***/ "./node_modules/ramda/es/call.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/call.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); - - -/** - * Returns the result of calling its first argument with the remaining - * arguments. This is occasionally useful as a converging function for - * [`R.converge`](#converge): the first branch can produce a function while the - * remaining branches produce values to be passed to that function as its - * arguments. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Function - * @sig (*... -> a),*... -> a - * @param {Function} fn The function to apply to the remaining arguments. - * @param {...*} args Any number of positional arguments. - * @return {*} - * @see R.apply - * @example - * - * R.call(R.add, 1, 2); //=> 3 - * - * const indentN = R.pipe(R.repeat(' '), - * R.join(''), - * R.replace(/^(?!$)/gm)); - * - * const format = R.converge(R.call, [ - * R.pipe(R.prop('indent'), indentN), - * R.prop('value') - * ]); - * - * format({indent: 2, value: 'foo\nbar\nbaz\n'}); //=> ' foo\n bar\n baz\n' - * @symb R.call(f, a, b) = f(a, b) - */ -var call = /*#__PURE__*/Object(_curry_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function call(fn) { - return fn.apply(this, Array.prototype.slice.call(arguments, 1)); -}); -/* harmony default export */ __webpack_exports__["default"] = (call); - -/***/ }), - -/***/ "./node_modules/ramda/es/chain.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/chain.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_makeFlat.js */ "./node_modules/ramda/es/internal/_makeFlat.js"); -/* harmony import */ var _internal_xchain_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xchain.js */ "./node_modules/ramda/es/internal/_xchain.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); - - - - - - -/** - * `chain` maps a function over a list and concatenates the results. `chain` - * is also known as `flatMap` in some libraries. - * - * Dispatches to the `chain` method of the second argument, if present, - * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain). - * - * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig Chain m => (a -> m b) -> m a -> m b - * @param {Function} fn The function to map with - * @param {Array} list The list to map over - * @return {Array} The result of flat-mapping `list` with `fn` - * @example - * - * const duplicate = n => [n, n]; - * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3] - * - * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1] - */ -var chain = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/chain', 'chain'], _internal_xchain_js__WEBPACK_IMPORTED_MODULE_3__["default"], function chain(fn, monad) { - if (typeof monad === 'function') { - return function (x) { - return fn(monad(x))(x); - }; - } - return Object(_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_2__["default"])(false)(Object(_map_js__WEBPACK_IMPORTED_MODULE_4__["default"])(fn, monad)); -})); -/* harmony default export */ __webpack_exports__["default"] = (chain); - -/***/ }), - -/***/ "./node_modules/ramda/es/clamp.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/clamp.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Restricts a number to be within a range. - * - * Also works for other ordered types such as Strings and Dates. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Relation - * @sig Ord a => a -> a -> a -> a - * @param {Number} minimum The lower limit of the clamp (inclusive) - * @param {Number} maximum The upper limit of the clamp (inclusive) - * @param {Number} value Value to be clamped - * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise - * @example - * - * R.clamp(1, 10, -5) // => 1 - * R.clamp(1, 10, 15) // => 10 - * R.clamp(1, 10, 4) // => 4 - */ -var clamp = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function clamp(min, max, value) { - if (min > max) { - throw new Error('min must not be greater than max in clamp(min, max, value)'); - } - return value < min ? min : value > max ? max : value; -}); -/* harmony default export */ __webpack_exports__["default"] = (clamp); - -/***/ }), - -/***/ "./node_modules/ramda/es/clone.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/clone.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone.js */ "./node_modules/ramda/es/internal/_clone.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - - -/** - * Creates a deep copy of the value which may contain (nested) `Array`s and - * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are - * assigned by reference rather than copied - * - * Dispatches to a `clone` method if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {*} -> {*} - * @param {*} value The object or array to clone - * @return {*} A deeply cloned copy of `val` - * @example - * - * const objects = [{}, {}, {}]; - * const objectsClone = R.clone(objects); - * objects === objectsClone; //=> false - * objects[0] === objectsClone[0]; //=> false - */ -var clone = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function clone(value) { - return value != null && typeof value.clone === 'function' ? value.clone() : Object(_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, [], [], true); -}); -/* harmony default export */ __webpack_exports__["default"] = (clone); - -/***/ }), - -/***/ "./node_modules/ramda/es/comparator.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/comparator.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Makes a comparator function out of a function that reports whether the first - * element is less than the second. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((a, b) -> Boolean) -> ((a, b) -> Number) - * @param {Function} pred A predicate function of arity two which will return `true` if the first argument - * is less than the second, `false` otherwise - * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0` - * @example - * - * const byAge = R.comparator((a, b) => a.age < b.age); - * const people = [ - * { name: 'Emma', age: 70 }, - * { name: 'Peter', age: 78 }, - * { name: 'Mikhail', age: 62 }, - * ]; - * const peopleByIncreasingAge = R.sort(byAge, people); - * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] - */ -var comparator = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function comparator(pred) { - return function (a, b) { - return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; - }; -}); -/* harmony default export */ __webpack_exports__["default"] = (comparator); - -/***/ }), - -/***/ "./node_modules/ramda/es/complement.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/complement.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); -/* harmony import */ var _not_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./not.js */ "./node_modules/ramda/es/not.js"); - - - -/** - * Takes a function `f` and returns a function `g` such that if called with the same arguments - * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. - * - * `R.complement` may be applied to any functor - * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> *) -> (*... -> Boolean) - * @param {Function} f - * @return {Function} - * @see R.not - * @example - * - * const isNotNil = R.complement(R.isNil); - * isNil(null); //=> true - * isNotNil(null); //=> false - * isNil(7); //=> false - * isNotNil(7); //=> true - */ -var complement = /*#__PURE__*/Object(_lift_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_not_js__WEBPACK_IMPORTED_MODULE_1__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (complement); - -/***/ }), - -/***/ "./node_modules/ramda/es/compose.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/compose.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return compose; }); -/* harmony import */ var _pipe_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipe.js */ "./node_modules/ramda/es/pipe.js"); -/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); - - - -/** - * Performs right-to-left function composition. The rightmost function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of compose is not automatically curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z) - * @param {...Function} ...functions The functions to compose - * @return {Function} - * @see R.pipe - * @example - * - * const classyGreeting = (firstName, lastName) => "The name's " + lastName + ", " + firstName + " " + lastName - * const yellGreeting = R.compose(R.toUpper, classyGreeting); - * yellGreeting('James', 'Bond'); //=> "THE NAME'S BOND, JAMES BOND" - * - * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7 - * - * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b))) - */ -function compose() { - if (arguments.length === 0) { - throw new Error('compose requires at least one argument'); - } - return _pipe_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/composeK.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/composeK.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return composeK; }); -/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); -/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); - - - - -/** - * Returns the right-to-left Kleisli composition of the provided functions, - * each of which must return a value of a type supported by [`chain`](#chain). - * - * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Function - * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z) - * @param {...Function} ...functions The functions to compose - * @return {Function} - * @see R.pipeK - * @deprecated since v0.26.0 - * @example - * - * // get :: String -> Object -> Maybe * - * const get = R.curry((propName, obj) => Maybe(obj[propName])) - * - * // getStateCode :: Maybe String -> Maybe String - * const getStateCode = R.composeK( - * R.compose(Maybe.of, R.toUpper), - * get('state'), - * get('address'), - * get('user'), - * ); - * getStateCode({"user":{"address":{"state":"ny"}}}); //=> Maybe.Just("NY") - * getStateCode({}); //=> Maybe.Nothing() - * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a))) - */ -function composeK() { - if (arguments.length === 0) { - throw new Error('composeK requires at least one argument'); - } - var init = Array.prototype.slice.call(arguments); - var last = init.pop(); - return Object(_compose_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_compose_js__WEBPACK_IMPORTED_MODULE_1__["default"].apply(this, Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_chain_js__WEBPACK_IMPORTED_MODULE_0__["default"], init)), last); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/composeP.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/composeP.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return composeP; }); -/* harmony import */ var _pipeP_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipeP.js */ "./node_modules/ramda/es/pipeP.js"); -/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); - - - -/** - * Performs right-to-left composition of one or more Promise-returning - * functions. The rightmost function may have any arity; the remaining - * functions must be unary. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z) - * @param {...Function} functions The functions to compose - * @return {Function} - * @see R.pipeP - * @deprecated since v0.26.0 - * @example - * - * const db = { - * users: { - * JOE: { - * name: 'Joe', - * followers: ['STEVE', 'SUZY'] - * } - * } - * } - * - * // We'll pretend to do a db lookup which returns a promise - * const lookupUser = (userId) => Promise.resolve(db.users[userId]) - * const lookupFollowers = (user) => Promise.resolve(user.followers) - * lookupUser('JOE').then(lookupFollowers) - * - * // followersForUser :: String -> Promise [UserId] - * const followersForUser = R.composeP(lookupFollowers, lookupUser); - * followersForUser('JOE').then(followers => console.log('Followers:', followers)) - * // Followers: ["STEVE","SUZY"] - */ -function composeP() { - if (arguments.length === 0) { - throw new Error('composeP requires at least one argument'); - } - return _pipeP_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/composeWith.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/composeWith.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _pipeWith_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pipeWith.js */ "./node_modules/ramda/es/pipeWith.js"); -/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); - - - - -/** - * Performs right-to-left function composition using transforming function. The rightmost function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of compose is not automatically curried. - * - * @func - * @memberOf R - * @category Function - * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z) - * @param {...Function} ...functions The functions to compose - * @return {Function} - * @see R.compose, R.pipeWith - * @example - * - * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res)); - * - * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2 - * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined - * - * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, f(i, ...args))) - */ -var composeWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function composeWith(xf, list) { - return _pipeWith_js__WEBPACK_IMPORTED_MODULE_1__["default"].apply(this, [xf, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list)]); -}); -/* harmony default export */ __webpack_exports__["default"] = (composeWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/concat.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/concat.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); -/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); -/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); - - - - - - -/** - * Returns the result of concatenating the given lists or strings. - * - * Note: `R.concat` expects both arguments to be of the same type, - * unlike the native `Array.prototype.concat` method. It will throw - * an error if you `concat` an Array with a non-Array value. - * - * Dispatches to the `concat` method of the first argument, if present. - * Can also concatenate two members of a [fantasy-land - * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] -> [a] - * @sig String -> String -> String - * @param {Array|String} firstList The first list - * @param {Array|String} secondList The second list - * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of - * `secondList`. - * - * @example - * - * R.concat('ABC', 'DEF'); // 'ABCDEF' - * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] - * R.concat([], []); //=> [] - */ -var concat = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function concat(a, b) { - if (Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a)) { - if (Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b)) { - return a.concat(b); - } - throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(b) + ' is not an array'); - } - if (Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(a)) { - if (Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(b)) { - return a + b; - } - throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(b) + ' is not a string'); - } - if (a != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a['fantasy-land/concat'])) { - return a['fantasy-land/concat'](b); - } - if (a != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.concat)) { - return a.concat(b); - } - throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); -}); -/* harmony default export */ __webpack_exports__["default"] = (concat); - -/***/ }), - -/***/ "./node_modules/ramda/es/cond.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/cond.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - - - - -/** - * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic. - * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments - * to `fn` are applied to each of the predicates in turn until one returns a - * "truthy" value, at which point `fn` returns the result of applying its - * arguments to the corresponding transformer. If none of the predicates - * matches, `fn` returns undefined. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Logic - * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *) - * @param {Array} pairs A list of [predicate, transformer] - * @return {Function} - * @see R.ifElse, R.unless, R.when - * @example - * - * const fn = R.cond([ - * [R.equals(0), R.always('water freezes at 0°C')], - * [R.equals(100), R.always('water boils at 100°C')], - * [R.T, temp => 'nothing special happens at ' + temp + '°C'] - * ]); - * fn(0); //=> 'water freezes at 0°C' - * fn(50); //=> 'nothing special happens at 50°C' - * fn(100); //=> 'water boils at 100°C' - */ -var cond = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function cond(pairs) { - var arity = Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (pair) { - return pair[0].length; - }, pairs)); - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arity, function () { - var idx = 0; - while (idx < pairs.length) { - if (pairs[idx][0].apply(this, arguments)) { - return pairs[idx][1].apply(this, arguments); - } - idx += 1; - } - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (cond); - -/***/ }), - -/***/ "./node_modules/ramda/es/construct.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/construct.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _constructN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructN.js */ "./node_modules/ramda/es/constructN.js"); - - - -/** - * Wraps a constructor function inside a curried function that can be called - * with the same arguments and returns the same type. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (* -> {*}) -> (* -> {*}) - * @param {Function} fn The constructor function to wrap. - * @return {Function} A wrapped, curried constructor function. - * @see R.invoker - * @example - * - * // Constructor function - * function Animal(kind) { - * this.kind = kind; - * }; - * Animal.prototype.sighting = function() { - * return "It's a " + this.kind + "!"; - * } - * - * const AnimalConstructor = R.construct(Animal) - * - * // Notice we no longer need the 'new' keyword: - * AnimalConstructor('Pig'); //=> {"kind": "Pig", "sighting": function (){...}}; - * - * const animalTypes = ["Lion", "Tiger", "Bear"]; - * const animalSighting = R.invoker(0, 'sighting'); - * const sightNewAnimal = R.compose(animalSighting, AnimalConstructor); - * R.map(sightNewAnimal, animalTypes); //=> ["It's a Lion!", "It's a Tiger!", "It's a Bear!"] - */ -var construct = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function construct(Fn) { - return Object(_constructN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Fn.length, Fn); -}); -/* harmony default export */ __webpack_exports__["default"] = (construct); - -/***/ }), - -/***/ "./node_modules/ramda/es/constructN.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/constructN.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); -/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); - - - - -/** - * Wraps a constructor function inside a curried function that can be called - * with the same arguments and returns the same type. The arity of the function - * returned is specified to allow using variadic constructor functions. - * - * @func - * @memberOf R - * @since v0.4.0 - * @category Function - * @sig Number -> (* -> {*}) -> (* -> {*}) - * @param {Number} n The arity of the constructor function. - * @param {Function} Fn The constructor function to wrap. - * @return {Function} A wrapped, curried constructor function. - * @example - * - * // Variadic Constructor function - * function Salad() { - * this.ingredients = arguments; - * } - * - * Salad.prototype.recipe = function() { - * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients); - * return R.join('\n', instructions); - * }; - * - * const ThreeLayerSalad = R.constructN(3, Salad); - * - * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments. - * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup'); - * - * console.log(salad.recipe()); - * // Add a dollop of Mayonnaise - * // Add a dollop of Potato Chips - * // Add a dollop of Ketchup - */ -var constructN = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function constructN(n, Fn) { - if (n > 10) { - throw new Error('Constructor with greater than ten arguments'); - } - if (n === 0) { - return function () { - return new Fn(); - }; - } - return Object(_curry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_nAry_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { - switch (arguments.length) { - case 1: - return new Fn($0); - case 2: - return new Fn($0, $1); - case 3: - return new Fn($0, $1, $2); - case 4: - return new Fn($0, $1, $2, $3); - case 5: - return new Fn($0, $1, $2, $3, $4); - case 6: - return new Fn($0, $1, $2, $3, $4, $5); - case 7: - return new Fn($0, $1, $2, $3, $4, $5, $6); - case 8: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7); - case 9: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); - case 10: - return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); - } - })); -}); -/* harmony default export */ __webpack_exports__["default"] = (constructN); - -/***/ }), - -/***/ "./node_modules/ramda/es/contains.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/contains.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns `true` if the specified value is equal, in [`R.equals`](#equals) - * terms, to at least one element of the given list; `false` otherwise. - * Works also with strings. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Boolean - * @param {Object} a The item to compare against. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. - * @see R.includes - * @deprecated since v0.26.0 - * @example - * - * R.contains(3, [1, 2, 3]); //=> true - * R.contains(4, [1, 2, 3]); //=> false - * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true - * R.contains([42], [[42]]); //=> true - * R.contains('ba', 'banana'); //=>true - */ -var contains = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (contains); - -/***/ }), - -/***/ "./node_modules/ramda/es/converge.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/converge.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - - - - - -/** - * Accepts a converging function and a list of branching functions and returns - * a new function. The arity of the new function is the same as the arity of - * the longest branching function. When invoked, this new function is applied - * to some arguments, and each branching function is applied to those same - * arguments. The results of each branching function are passed as arguments - * to the converging function to produce the return value. - * - * @func - * @memberOf R - * @since v0.4.2 - * @category Function - * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z) - * @param {Function} after A function. `after` will be invoked with the return values of - * `fn1` and `fn2` as its arguments. - * @param {Array} functions A list of functions. - * @return {Function} A new function. - * @see R.useWith - * @example - * - * const average = R.converge(R.divide, [R.sum, R.length]) - * average([1, 2, 3, 4, 5, 6, 7]) //=> 4 - * - * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower]) - * strangeConcat("Yodel") //=> "YODELyodel" - * - * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b)) - */ -var converge = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function converge(after, fns) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', fns)), function () { - var args = arguments; - var context = this; - return after.apply(context, Object(_internal_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (fn) { - return fn.apply(context, args); - }, fns)); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (converge); - -/***/ }), - -/***/ "./node_modules/ramda/es/countBy.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/countBy.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); - - -/** - * Counts the elements of a list according to how many match each value of a - * key generated by the supplied function. Returns an object mapping the keys - * produced by `fn` to the number of occurrences in the list. Note that all - * keys are coerced to strings because of how JavaScript objects work. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig (a -> String) -> [a] -> {*} - * @param {Function} fn The function used to map values to keys. - * @param {Array} list The list to count elements from. - * @return {Object} An object mapping keys to number of occurrences in the list. - * @example - * - * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2]; - * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1} - * - * const letters = ['a', 'b', 'A', 'a', 'B', 'c']; - * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1} - */ -var countBy = /*#__PURE__*/Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (acc, elem) { - return acc + 1; -}, 0); -/* harmony default export */ __webpack_exports__["default"] = (countBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/curry.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/curry.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - -/** - * Returns a curried equivalent of the provided function. The curried function - * has two unusual capabilities. First, its arguments needn't be provided one - * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the - * following are equivalent: - * - * - `g(1)(2)(3)` - * - `g(1)(2, 3)` - * - `g(1, 2)(3)` - * - `g(1, 2, 3)` - * - * Secondly, the special placeholder value [`R.__`](#__) may be used to specify - * "gaps", allowing partial application of any combination of arguments, - * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), - * the following are equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (* -> a) -> (* -> a) - * @param {Function} fn The function to curry. - * @return {Function} A new, curried function. - * @see R.curryN, R.partial - * @example - * - * const addFourNumbers = (a, b, c, d) => a + b + c + d; - * - * const curriedAddFourNumbers = R.curry(addFourNumbers); - * const f = curriedAddFourNumbers(1, 2); - * const g = f(3); - * g(4); //=> 10 - */ -var curry = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function curry(fn) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); -}); -/* harmony default export */ __webpack_exports__["default"] = (curry); - -/***/ }), - -/***/ "./node_modules/ramda/es/curryN.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/curryN.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); - - - - - -/** - * Returns a curried equivalent of the provided function, with the specified - * arity. The curried function has two unusual capabilities. First, its - * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the - * following are equivalent: - * - * - `g(1)(2)(3)` - * - `g(1)(2, 3)` - * - `g(1, 2)(3)` - * - `g(1, 2, 3)` - * - * Secondly, the special placeholder value [`R.__`](#__) may be used to specify - * "gaps", allowing partial application of any combination of arguments, - * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), - * the following are equivalent: - * - * - `g(1, 2, 3)` - * - `g(_, 2, 3)(1)` - * - `g(_, _, 3)(1)(2)` - * - `g(_, _, 3)(1, 2)` - * - `g(_, 2)(1)(3)` - * - `g(_, 2)(1, 3)` - * - `g(_, 2)(_, 3)(1)` - * - * @func - * @memberOf R - * @since v0.5.0 - * @category Function - * @sig Number -> (* -> a) -> (* -> a) - * @param {Number} length The arity for the returned function. - * @param {Function} fn The function to curry. - * @return {Function} A new, curried function. - * @see R.curry - * @example - * - * const sumArgs = (...args) => R.sum(args); - * - * const curriedAddFourNumbers = R.curryN(4, sumArgs); - * const f = curriedAddFourNumbers(1, 2); - * const g = f(3); - * g(4); //=> 10 - */ -var curryN = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function curryN(length, fn) { - if (length === 1) { - return Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn); - } - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(length, Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(length, [], fn)); -}); -/* harmony default export */ __webpack_exports__["default"] = (curryN); - -/***/ }), - -/***/ "./node_modules/ramda/es/dec.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/dec.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); - - -/** - * Decrements its argument. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Math - * @sig Number -> Number - * @param {Number} n - * @return {Number} n - 1 - * @see R.inc - * @example - * - * R.dec(42); //=> 41 - */ -var dec = /*#__PURE__*/Object(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"])(-1); -/* harmony default export */ __webpack_exports__["default"] = (dec); - -/***/ }), - -/***/ "./node_modules/ramda/es/defaultTo.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/defaultTo.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns the second argument if it is not `null`, `undefined` or `NaN`; - * otherwise the first argument is returned. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Logic - * @sig a -> b -> a | b - * @param {a} default The default value. - * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`. - * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value - * @example - * - * const defaultTo42 = R.defaultTo(42); - * - * defaultTo42(null); //=> 42 - * defaultTo42(undefined); //=> 42 - * defaultTo42(false); //=> false - * defaultTo42('Ramda'); //=> 'Ramda' - * // parseInt('string') results in NaN - * defaultTo42(parseInt('string')); //=> 42 - */ -var defaultTo = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function defaultTo(d, v) { - return v == null || v !== v ? d : v; -}); -/* harmony default export */ __webpack_exports__["default"] = (defaultTo); - -/***/ }), - -/***/ "./node_modules/ramda/es/descend.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/descend.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Makes a descending comparator function out of a function that returns a value - * that can be compared with `<` and `>`. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Function - * @sig Ord b => (a -> b) -> a -> a -> Number - * @param {Function} fn A function of arity one that returns a value that can be compared - * @param {*} a The first item to be compared. - * @param {*} b The second item to be compared. - * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0` - * @see R.ascend - * @example - * - * const byAge = R.descend(R.prop('age')); - * const people = [ - * { name: 'Emma', age: 70 }, - * { name: 'Peter', age: 78 }, - * { name: 'Mikhail', age: 62 }, - * ]; - * const peopleByOldestFirst = R.sort(byAge, people); - * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }] - */ -var descend = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function descend(fn, a, b) { - var aa = fn(a); - var bb = fn(b); - return aa > bb ? -1 : aa < bb ? 1 : 0; -}); -/* harmony default export */ __webpack_exports__["default"] = (descend); - -/***/ }), - -/***/ "./node_modules/ramda/es/difference.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/difference.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_Set.js */ "./node_modules/ramda/es/internal/_Set.js"); - - - -/** - * Finds the set (i.e. no duplicates) of all elements in the first list not - * contained in the second list. Objects and Arrays are compared in terms of - * value equality, not reference equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` that are not in `list2`. - * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without - * @example - * - * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2] - * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5] - * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}] - */ -var difference = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function difference(first, second) { - var out = []; - var idx = 0; - var firstLen = first.length; - var secondLen = second.length; - var toFilterOut = new _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__["default"](); - - for (var i = 0; i < secondLen; i += 1) { - toFilterOut.add(second[i]); - } - - while (idx < firstLen) { - if (toFilterOut.add(first[idx])) { - out[out.length] = first[idx]; - } - idx += 1; - } - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (difference); - -/***/ }), - -/***/ "./node_modules/ramda/es/differenceWith.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/differenceWith.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - - -/** - * Finds the set (i.e. no duplicates) of all elements in the first list not - * contained in the second list. Duplication is determined according to the - * value returned by applying the supplied predicate to two list elements. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` that are not in `list2`. - * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith - * @example - * - * const cmp = (x, y) => x.a === y.a; - * const l1 = [{a: 1}, {a: 2}, {a: 3}]; - * const l2 = [{a: 3}, {a: 4}]; - * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}] - */ -var differenceWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function differenceWith(pred, first, second) { - var out = []; - var idx = 0; - var firstLen = first.length; - while (idx < firstLen) { - if (!Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, first[idx], second) && !Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, first[idx], out)) { - out.push(first[idx]); - } - idx += 1; - } - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (differenceWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/dissoc.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/dissoc.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns a new object that does not contain a `prop` property. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Object - * @sig String -> {k: v} -> {k: v} - * @param {String} prop The name of the property to dissociate - * @param {Object} obj The object to clone - * @return {Object} A new object equivalent to the original but without the specified property - * @see R.assoc, R.omit - * @example - * - * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3} - */ -var dissoc = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function dissoc(prop, obj) { - var result = {}; - for (var p in obj) { - result[p] = obj[p]; - } - delete result[prop]; - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (dissoc); - -/***/ }), - -/***/ "./node_modules/ramda/es/dissocPath.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/dissocPath.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); -/* harmony import */ var _dissoc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dissoc.js */ "./node_modules/ramda/es/dissoc.js"); -/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./remove.js */ "./node_modules/ramda/es/remove.js"); -/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); - - - - - - - - -/** - * Makes a shallow clone of an object, omitting the property at the given path. - * Note that this copies and flattens prototype properties onto the new object - * as well. All non-primitive properties are copied by reference. - * - * @func - * @memberOf R - * @since v0.11.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> {k: v} -> {k: v} - * @param {Array} path The path to the value to omit - * @param {Object} obj The object to clone - * @return {Object} A new object without the property at path - * @see R.assocPath - * @example - * - * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}} - */ -var dissocPath = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function dissocPath(path, obj) { - switch (path.length) { - case 0: - return obj; - case 1: - return Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(path[0]) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj) ? Object(_remove_js__WEBPACK_IMPORTED_MODULE_5__["default"])(path[0], 1, obj) : Object(_dissoc_js__WEBPACK_IMPORTED_MODULE_4__["default"])(path[0], obj); - default: - var head = path[0]; - var tail = Array.prototype.slice.call(path, 1); - if (obj[head] == null) { - return obj; - } else if (Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(head) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { - return Object(_update_js__WEBPACK_IMPORTED_MODULE_6__["default"])(head, dissocPath(tail, obj[head]), obj); - } else { - return Object(_assoc_js__WEBPACK_IMPORTED_MODULE_3__["default"])(head, dissocPath(tail, obj[head]), obj); - } - } -}); -/* harmony default export */ __webpack_exports__["default"] = (dissocPath); - -/***/ }), - -/***/ "./node_modules/ramda/es/divide.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/divide.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Divides two numbers. Equivalent to `a / b`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a The first value. - * @param {Number} b The second value. - * @return {Number} The result of `a / b`. - * @see R.multiply - * @example - * - * R.divide(71, 100); //=> 0.71 - * - * const half = R.divide(R.__, 2); - * half(42); //=> 21 - * - * const reciprocal = R.divide(1); - * reciprocal(4); //=> 0.25 - */ -var divide = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function divide(a, b) { - return a / b; -}); -/* harmony default export */ __webpack_exports__["default"] = (divide); - -/***/ }), - -/***/ "./node_modules/ramda/es/drop.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/drop.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xdrop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdrop.js */ "./node_modules/ramda/es/internal/_xdrop.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - - -/** - * Returns all but the first `n` elements of the given list, string, or - * transducer/transformer (or object with a `drop` method). - * - * Dispatches to the `drop` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n - * @param {*} list - * @return {*} A copy of list without the first `n` elements - * @see R.take, R.transduce, R.dropLast, R.dropWhile - * @example - * - * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] - * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz'] - * R.drop(3, ['foo', 'bar', 'baz']); //=> [] - * R.drop(4, ['foo', 'bar', 'baz']); //=> [] - * R.drop(3, 'ramda'); //=> 'da' - */ -var drop = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['drop'], _internal_xdrop_js__WEBPACK_IMPORTED_MODULE_2__["default"], function drop(n, xs) { - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Math.max(0, n), Infinity, xs); -})); -/* harmony default export */ __webpack_exports__["default"] = (drop); - -/***/ }), - -/***/ "./node_modules/ramda/es/dropLast.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/dropLast.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_dropLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLast.js */ "./node_modules/ramda/es/internal/_dropLast.js"); -/* harmony import */ var _internal_xdropLast_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLast.js */ "./node_modules/ramda/es/internal/_xdropLast.js"); - - - - - -/** - * Returns a list containing all but the last `n` elements of the given `list`. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n The number of elements of `list` to skip. - * @param {Array} list The list of elements to consider. - * @return {Array} A copy of the list with only the first `list.length - n` elements - * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile - * @example - * - * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.dropLast(3, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(4, ['foo', 'bar', 'baz']); //=> [] - * R.dropLast(3, 'ramda'); //=> 'ra' - */ -var dropLast = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropLast_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_dropLast_js__WEBPACK_IMPORTED_MODULE_2__["default"])); -/* harmony default export */ __webpack_exports__["default"] = (dropLast); - -/***/ }), - -/***/ "./node_modules/ramda/es/dropLastWhile.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/dropLastWhile.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_dropLastWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLastWhile.js */ "./node_modules/ramda/es/internal/_dropLastWhile.js"); -/* harmony import */ var _internal_xdropLastWhile_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLastWhile.js */ "./node_modules/ramda/es/internal/_xdropLastWhile.js"); - - - - - -/** - * Returns a new list excluding all the tailing elements of a given list which - * satisfy the supplied predicate function. It passes each value from the right - * to the supplied predicate function, skipping elements until the predicate - * function returns a `falsy` value. The predicate function is applied to one argument: - * *(value)*. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} predicate The function to be called on each element - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`. - * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile - * @example - * - * const lteThree = x => x <= 3; - * - * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4] - * - * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd' - */ -var dropLastWhile = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropLastWhile_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_dropLastWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"])); -/* harmony default export */ __webpack_exports__["default"] = (dropLastWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/dropRepeats.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/dropRepeats.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith.js */ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js"); -/* harmony import */ var _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropRepeatsWith.js */ "./node_modules/ramda/es/dropRepeatsWith.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - - - - -/** - * Returns a new list without any consecutively repeating elements. - * [`R.equals`](#equals) is used to determine equality. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig [a] -> [a] - * @param {Array} list The array to consider. - * @return {Array} `list` without repeating elements. - * @see R.transduce - * @example - * - * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2] - */ -var dropRepeats = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], /*#__PURE__*/Object(_internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_4__["default"]), /*#__PURE__*/Object(_dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_4__["default"]))); -/* harmony default export */ __webpack_exports__["default"] = (dropRepeats); - -/***/ }), - -/***/ "./node_modules/ramda/es/dropRepeatsWith.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/dropRepeatsWith.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith.js */ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js"); -/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./last.js */ "./node_modules/ramda/es/last.js"); - - - - - -/** - * Returns a new list without any consecutively repeating elements. Equality is - * determined by applying the supplied predicate to each pair of consecutive elements. The - * first element in a series of equal elements will be preserved. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig ((a, a) -> Boolean) -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list The array to consider. - * @return {Array} `list` without repeating elements. - * @see R.transduce - * @example - * - * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3]; - * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3] - */ -var dropRepeatsWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__["default"], function dropRepeatsWith(pred, list) { - var result = []; - var idx = 1; - var len = list.length; - if (len !== 0) { - result[0] = list[0]; - while (idx < len) { - if (!pred(Object(_last_js__WEBPACK_IMPORTED_MODULE_3__["default"])(result), list[idx])) { - result[result.length] = list[idx]; - } - idx += 1; - } - } - return result; -})); -/* harmony default export */ __webpack_exports__["default"] = (dropRepeatsWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/dropWhile.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/dropWhile.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropWhile.js */ "./node_modules/ramda/es/internal/_xdropWhile.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - - -/** - * Returns a new list excluding the leading elements of a given list which - * satisfy the supplied predicate function. It passes each value to the supplied - * predicate function, skipping elements while the predicate function returns - * `true`. The predicate function is applied to one argument: *(value)*. - * - * Dispatches to the `dropWhile` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.takeWhile, R.transduce, R.addIndex - * @example - * - * const lteTwo = x => x <= 2; - * - * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1] - * - * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da' - */ -var dropWhile = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['dropWhile'], _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"], function dropWhile(pred, xs) { - var idx = 0; - var len = xs.length; - while (idx < len && pred(xs[idx])) { - idx += 1; - } - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(idx, Infinity, xs); -})); -/* harmony default export */ __webpack_exports__["default"] = (dropWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/either.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/either.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); -/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); -/* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./or.js */ "./node_modules/ramda/es/or.js"); - - - - - -/** - * A function wrapping calls to the two functions in an `||` operation, - * returning the result of the first function if it is truth-y and the result - * of the second function otherwise. Note that this is short-circuited, - * meaning that the second function will not be invoked if the first returns a - * truth-y value. - * - * In addition to functions, `R.either` also accepts any fantasy-land compatible - * applicative functor. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) - * @param {Function} f a predicate - * @param {Function} g another predicate - * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. - * @see R.or - * @example - * - * const gt10 = x => x > 10; - * const even = x => x % 2 === 0; - * const f = R.either(gt10, even); - * f(101); //=> true - * f(8); //=> true - * - * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) - * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] - */ -var either = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function either(f, g) { - return Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _either() { - return f.apply(this, arguments) || g.apply(this, arguments); - } : Object(_lift_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_or_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, g); -}); -/* harmony default export */ __webpack_exports__["default"] = (either); - -/***/ }), - -/***/ "./node_modules/ramda/es/empty.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/empty.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArguments.js */ "./node_modules/ramda/es/internal/_isArguments.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); -/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); - - - - - - -/** - * Returns the empty value of its argument's type. Ramda defines the empty - * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other - * types are supported if they define `<Type>.empty`, - * `<Type>.prototype.empty` or implement the - * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). - * - * Dispatches to the `empty` method of the first argument, if present. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig a -> a - * @param {*} x - * @return {*} - * @example - * - * R.empty(Just(42)); //=> Nothing() - * R.empty([1, 2, 3]); //=> [] - * R.empty('unicorns'); //=> '' - * R.empty({x: 1, y: 2}); //=> {} - */ -var empty = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function empty(x) { - return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x) ? [] : Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x) ? '' : Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x) ? {} : Object(_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x) ? function () { - return arguments; - }() : void 0 // else - ; -}); -/* harmony default export */ __webpack_exports__["default"] = (empty); - -/***/ }), - -/***/ "./node_modules/ramda/es/endsWith.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/endsWith.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); -/* harmony import */ var _takeLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast.js */ "./node_modules/ramda/es/takeLast.js"); - - - - -/** - * Checks if a list ends with the provided sublist. - * - * Similarly, checks if a string ends with the provided substring. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category List - * @sig [a] -> [a] -> Boolean - * @sig String -> String -> Boolean - * @param {*} suffix - * @param {*} list - * @return {Boolean} - * @see R.startsWith - * @example - * - * R.endsWith('c', 'abc') //=> true - * R.endsWith('b', 'abc') //=> false - * R.endsWith(['c'], ['a', 'b', 'c']) //=> true - * R.endsWith(['b'], ['a', 'b', 'c']) //=> false - */ -var endsWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (suffix, list) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_takeLast_js__WEBPACK_IMPORTED_MODULE_2__["default"])(suffix.length, list), suffix); -}); -/* harmony default export */ __webpack_exports__["default"] = (endsWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/eqBy.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/eqBy.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - -/** - * Takes a function and two values in its domain and returns `true` if the - * values map to the same value in the codomain; `false` otherwise. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Relation - * @sig (a -> b) -> a -> a -> Boolean - * @param {Function} f - * @param {*} x - * @param {*} y - * @return {Boolean} - * @example - * - * R.eqBy(Math.abs, 5, -5); //=> true - */ -var eqBy = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function eqBy(f, x, y) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f(x), f(y)); -}); -/* harmony default export */ __webpack_exports__["default"] = (eqBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/eqProps.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/eqProps.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - -/** - * Reports whether two objects have the same value, in [`R.equals`](#equals) - * terms, for the specified property. Useful as a curried predicate. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig k -> {k: v} -> {k: v} -> Boolean - * @param {String} prop The name of the property to compare - * @param {Object} obj1 - * @param {Object} obj2 - * @return {Boolean} - * - * @example - * - * const o1 = { a: 1, b: 2, c: 3, d: 4 }; - * const o2 = { a: 10, b: 20, c: 3, d: 40 }; - * R.eqProps('a', o1, o2); //=> false - * R.eqProps('c', o1, o2); //=> true - */ -var eqProps = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function eqProps(prop, obj1, obj2) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj1[prop], obj2[prop]); -}); -/* harmony default export */ __webpack_exports__["default"] = (eqProps); - -/***/ }), - -/***/ "./node_modules/ramda/es/equals.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/equals.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_equals.js */ "./node_modules/ramda/es/internal/_equals.js"); - - - -/** - * Returns `true` if its arguments are equivalent, `false` otherwise. Handles - * cyclical data structures. - * - * Dispatches symmetrically to the `equals` methods of both arguments, if - * present. - * - * @func - * @memberOf R - * @since v0.15.0 - * @category Relation - * @sig a -> b -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @example - * - * R.equals(1, 1); //=> true - * R.equals(1, '1'); //=> false - * R.equals([1, 2, 3], [1, 2, 3]); //=> true - * - * const a = {}; a.v = a; - * const b = {}; b.v = b; - * R.equals(a, b); //=> true - */ -var equals = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function equals(a, b) { - return Object(_internal_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a, b, [], []); -}); -/* harmony default export */ __webpack_exports__["default"] = (equals); - -/***/ }), - -/***/ "./node_modules/ramda/es/evolve.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/evolve.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Creates a new object by recursively evolving a shallow copy of `object`, - * according to the `transformation` functions. All non-primitive properties - * are copied by reference. - * - * A `transformation` function will not be invoked if its corresponding key - * does not exist in the evolved object. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {k: (v -> v)} -> {k: v} -> {k: v} - * @param {Object} transformations The object specifying transformation functions to apply - * to the object. - * @param {Object} object The object to be transformed. - * @return {Object} The transformed object. - * @example - * - * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123}; - * const transformations = { - * firstName: R.trim, - * lastName: R.trim, // Will not get invoked. - * data: {elapsed: R.add(1), remaining: R.add(-1)} - * }; - * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123} - */ -var evolve = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function evolve(transformations, object) { - var result = object instanceof Array ? [] : {}; - var transformation, key, type; - for (key in object) { - transformation = transformations[key]; - type = typeof transformation; - result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key]; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (evolve); - -/***/ }), - -/***/ "./node_modules/ramda/es/filter.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/filter.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); -/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/_xfilter.js */ "./node_modules/ramda/es/internal/_xfilter.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - - - - - - -/** - * Takes a predicate and a `Filterable`, and returns a new filterable of the - * same type containing the members of the given filterable which satisfy the - * given predicate. Filterable objects include plain objects or any object - * that has a filter method such as `Array`. - * - * Dispatches to the `filter` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> f a - * @param {Function} pred - * @param {Array} filterable - * @return {Array} Filterable - * @see R.reject, R.transduce, R.addIndex - * @example - * - * const isEven = n => n % 2 === 0; - * - * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4] - * - * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} - */ -var filter = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['filter'], _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_5__["default"], function (pred, filterable) { - return Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(filterable) ? Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (acc, key) { - if (pred(filterable[key])) { - acc[key] = filterable[key]; - } - return acc; - }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(filterable)) : - // else - Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, filterable); -})); -/* harmony default export */ __webpack_exports__["default"] = (filter); - -/***/ }), - -/***/ "./node_modules/ramda/es/find.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/find.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xfind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfind.js */ "./node_modules/ramda/es/internal/_xfind.js"); - - - - -/** - * Returns the first element of the list which matches the predicate, or - * `undefined` if no element matches. - * - * Dispatches to the `find` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> a | undefined - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Object} The element found, or `undefined`. - * @see R.transduce - * @example - * - * const xs = [{a: 1}, {a: 2}, {a: 3}]; - * R.find(R.propEq('a', 2))(xs); //=> {a: 2} - * R.find(R.propEq('a', 4))(xs); //=> undefined - */ -var find = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['find'], _internal_xfind_js__WEBPACK_IMPORTED_MODULE_2__["default"], function find(fn, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (fn(list[idx])) { - return list[idx]; - } - idx += 1; - } -})); -/* harmony default export */ __webpack_exports__["default"] = (find); - -/***/ }), - -/***/ "./node_modules/ramda/es/findIndex.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/findIndex.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xfindIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindIndex.js */ "./node_modules/ramda/es/internal/_xfindIndex.js"); - - - - -/** - * Returns the index of the first element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce - * @example - * - * const xs = [{a: 1}, {a: 2}, {a: 3}]; - * R.findIndex(R.propEq('a', 2))(xs); //=> 1 - * R.findIndex(R.propEq('a', 4))(xs); //=> -1 - */ -var findIndex = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindIndex_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findIndex(fn, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - if (fn(list[idx])) { - return idx; - } - idx += 1; - } - return -1; -})); -/* harmony default export */ __webpack_exports__["default"] = (findIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/findLast.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/findLast.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xfindLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLast.js */ "./node_modules/ramda/es/internal/_xfindLast.js"); - - - - -/** - * Returns the last element of the list which matches the predicate, or - * `undefined` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> a | undefined - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Object} The element found, or `undefined`. - * @see R.transduce - * @example - * - * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; - * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1} - * R.findLast(R.propEq('a', 4))(xs); //=> undefined - */ -var findLast = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindLast_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findLast(fn, list) { - var idx = list.length - 1; - while (idx >= 0) { - if (fn(list[idx])) { - return list[idx]; - } - idx -= 1; - } -})); -/* harmony default export */ __webpack_exports__["default"] = (findLast); - -/***/ }), - -/***/ "./node_modules/ramda/es/findLastIndex.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/findLastIndex.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xfindLastIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLastIndex.js */ "./node_modules/ramda/es/internal/_xfindLastIndex.js"); - - - - -/** - * Returns the index of the last element of the list which matches the - * predicate, or `-1` if no element matches. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> Boolean) -> [a] -> Number - * @param {Function} fn The predicate function used to determine if the element is the - * desired one. - * @param {Array} list The array to consider. - * @return {Number} The index of the element found, or `-1`. - * @see R.transduce - * @example - * - * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; - * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1 - * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1 - */ -var findLastIndex = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindLastIndex_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findLastIndex(fn, list) { - var idx = list.length - 1; - while (idx >= 0) { - if (fn(list[idx])) { - return idx; - } - idx -= 1; - } - return -1; -})); -/* harmony default export */ __webpack_exports__["default"] = (findLastIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/flatten.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/flatten.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_makeFlat.js */ "./node_modules/ramda/es/internal/_makeFlat.js"); - - - -/** - * Returns a new list by pulling every item out of it (and all its sub-arrays) - * and putting them in a new array, depth-first. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [b] - * @param {Array} list The array to consider. - * @return {Array} The flattened list. - * @see R.unnest - * @example - * - * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]); - * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] - */ -var flatten = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(true)); -/* harmony default export */ __webpack_exports__["default"] = (flatten); - -/***/ }), - -/***/ "./node_modules/ramda/es/flip.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/flip.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - -/** - * Returns a new function much like the supplied one, except that the first two - * arguments' order is reversed. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z) - * @param {Function} fn The function to invoke with its first two parameters reversed. - * @return {*} The result of invoking `fn` with its first two parameters' order reversed. - * @example - * - * const mergeThree = (a, b, c) => [].concat(a, b, c); - * - * mergeThree(1, 2, 3); //=> [1, 2, 3] - * - * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3] - * @symb R.flip(f)(a, b, c) = f(b, a, c) - */ -var flip = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function flip(fn) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, function (a, b) { - var args = Array.prototype.slice.call(arguments, 0); - args[0] = b; - args[1] = a; - return fn.apply(this, args); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (flip); - -/***/ }), - -/***/ "./node_modules/ramda/es/forEach.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/forEach.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Iterate over an input `list`, calling a provided function `fn` for each - * element in the list. - * - * `fn` receives one argument: *(value)*. - * - * Note: `R.forEach` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.forEach` method. For more - * details on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description - * - * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns - * the original array. In some libraries this function is named `each`. - * - * Dispatches to the `forEach` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig (a -> *) -> [a] -> [a] - * @param {Function} fn The function to invoke. Receives one argument, `value`. - * @param {Array} list The list to iterate over. - * @return {Array} The original list. - * @see R.addIndex - * @example - * - * const printXPlusFive = x => console.log(x + 5); - * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3] - * // logs 6 - * // logs 7 - * // logs 8 - * @symb R.forEach(f, [a, b, c]) = [a, b, c] - */ -var forEach = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('forEach', function forEach(fn, list) { - var len = list.length; - var idx = 0; - while (idx < len) { - fn(list[idx]); - idx += 1; - } - return list; -})); -/* harmony default export */ __webpack_exports__["default"] = (forEach); - -/***/ }), - -/***/ "./node_modules/ramda/es/forEachObjIndexed.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/forEachObjIndexed.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - -/** - * Iterate over an input `object`, calling a provided function `fn` for each - * key and value in the object. - * - * `fn` receives three argument: *(value, key, obj)*. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Object - * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a - * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`. - * @param {Object} obj The object to iterate over. - * @return {Object} The original object. - * @example - * - * const printKeyConcatValue = (value, key) => console.log(key + ':' + value); - * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2} - * // logs x:1 - * // logs y:2 - * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b} - */ -var forEachObjIndexed = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function forEachObjIndexed(fn, obj) { - var keyList = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); - var idx = 0; - while (idx < keyList.length) { - var key = keyList[idx]; - fn(obj[key], key, obj); - idx += 1; - } - return obj; -}); -/* harmony default export */ __webpack_exports__["default"] = (forEachObjIndexed); - -/***/ }), - -/***/ "./node_modules/ramda/es/fromPairs.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/fromPairs.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Creates a new object from a list key-value pairs. If a key appears in - * multiple pairs, the rightmost pair is included in the object. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig [[k,v]] -> {k: v} - * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object. - * @return {Object} The object made by pairing up `keys` and `values`. - * @see R.toPairs, R.pair - * @example - * - * R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3} - */ -var fromPairs = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function fromPairs(pairs) { - var result = {}; - var idx = 0; - while (idx < pairs.length) { - result[pairs[idx][0]] = pairs[idx][1]; - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (fromPairs); - -/***/ }), - -/***/ "./node_modules/ramda/es/groupBy.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/groupBy.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); - - - - -/** - * Splits a list into sub-lists stored in an object, based on the result of - * calling a String-returning function on each element, and grouping the - * results according to values returned. - * - * Dispatches to the `groupBy` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> String) -> [a] -> {String: [a]} - * @param {Function} fn Function :: a -> String - * @param {Array} list The array to group - * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements - * that produced that key when passed to `fn`. - * @see R.reduceBy, R.transduce - * @example - * - * const byGrade = R.groupBy(function(student) { - * const score = student.score; - * return score < 65 ? 'F' : - * score < 70 ? 'D' : - * score < 80 ? 'C' : - * score < 90 ? 'B' : 'A'; - * }); - * const students = [{name: 'Abby', score: 84}, - * {name: 'Eddy', score: 58}, - * // ... - * {name: 'Jack', score: 69}]; - * byGrade(students); - * // { - * // 'A': [{name: 'Dianne', score: 99}], - * // 'B': [{name: 'Abby', score: 84}] - * // // ..., - * // 'F': [{name: 'Eddy', score: 58}] - * // } - */ -var groupBy = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('groupBy', /*#__PURE__*/Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (acc, item) { - if (acc == null) { - acc = []; - } - acc.push(item); - return acc; -}, null))); -/* harmony default export */ __webpack_exports__["default"] = (groupBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/groupWith.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/groupWith.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Takes a list and returns a list of lists where each sublist's elements are - * all satisfied pairwise comparison according to the provided function. - * Only adjacent elements are passed to the comparison function. - * - * @func - * @memberOf R - * @since v0.21.0 - * @category List - * @sig ((a, a) → Boolean) → [a] → [[a]] - * @param {Function} fn Function for determining whether two given (adjacent) - * elements should be in the same group - * @param {Array} list The array to group. Also accepts a string, which will be - * treated as a list of characters. - * @return {List} A list that contains sublists of elements, - * whose concatenations are equal to the original list. - * @example - * - * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] - * - * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) - * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] - * - * R.groupWith(R.eqBy(isVowel), 'aestiou') - * //=> ['ae', 'st', 'iou'] - */ -var groupWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (fn, list) { - var res = []; - var idx = 0; - var len = list.length; - while (idx < len) { - var nextidx = idx + 1; - while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { - nextidx += 1; - } - res.push(list.slice(idx, nextidx)); - idx = nextidx; - } - return res; -}); -/* harmony default export */ __webpack_exports__["default"] = (groupWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/gt.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/gt.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if the first argument is greater than the second; `false` - * otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @see R.lt - * @example - * - * R.gt(2, 1); //=> true - * R.gt(2, 2); //=> false - * R.gt(2, 3); //=> false - * R.gt('a', 'z'); //=> false - * R.gt('z', 'a'); //=> true - */ -var gt = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function gt(a, b) { - return a > b; -}); -/* harmony default export */ __webpack_exports__["default"] = (gt); - -/***/ }), - -/***/ "./node_modules/ramda/es/gte.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/gte.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if the first argument is greater than or equal to the second; - * `false` otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {Number} a - * @param {Number} b - * @return {Boolean} - * @see R.lte - * @example - * - * R.gte(2, 1); //=> true - * R.gte(2, 2); //=> true - * R.gte(2, 3); //=> false - * R.gte('a', 'z'); //=> false - * R.gte('z', 'a'); //=> true - */ -var gte = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function gte(a, b) { - return a >= b; -}); -/* harmony default export */ __webpack_exports__["default"] = (gte); - -/***/ }), - -/***/ "./node_modules/ramda/es/has.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/has.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hasPath.js */ "./node_modules/ramda/es/hasPath.js"); - - - -/** - * Returns whether or not an object has an own property with the specified name - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Object - * @sig s -> {s: x} -> Boolean - * @param {String} prop The name of the property to check for. - * @param {Object} obj The object to query. - * @return {Boolean} Whether the property exists. - * @example - * - * const hasName = R.has('name'); - * hasName({name: 'alice'}); //=> true - * hasName({name: 'bob'}); //=> true - * hasName({}); //=> false - * - * const point = {x: 0, y: 0}; - * const pointHas = R.has(R.__, point); - * pointHas('x'); //=> true - * pointHas('y'); //=> true - * pointHas('z'); //=> false - */ -var has = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function has(prop, obj) { - return Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__["default"])([prop], obj); -}); -/* harmony default export */ __webpack_exports__["default"] = (has); - -/***/ }), - -/***/ "./node_modules/ramda/es/hasIn.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/hasIn.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns whether or not an object or its prototype chain has a property with - * the specified name - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Object - * @sig s -> {s: x} -> Boolean - * @param {String} prop The name of the property to check for. - * @param {Object} obj The object to query. - * @return {Boolean} Whether the property exists. - * @example - * - * function Rectangle(width, height) { - * this.width = width; - * this.height = height; - * } - * Rectangle.prototype.area = function() { - * return this.width * this.height; - * }; - * - * const square = new Rectangle(2, 2); - * R.hasIn('width', square); //=> true - * R.hasIn('area', square); //=> true - */ -var hasIn = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function hasIn(prop, obj) { - return prop in obj; -}); -/* harmony default export */ __webpack_exports__["default"] = (hasIn); - -/***/ }), - -/***/ "./node_modules/ramda/es/hasPath.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/hasPath.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - - -/** - * Returns whether or not a path exists in an object. Only the object's - * own properties are checked. - * - * @func - * @memberOf R - * @since v0.26.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> {a} -> Boolean - * @param {Array} path The path to use. - * @param {Object} obj The object to check the path in. - * @return {Boolean} Whether the path exists. - * @see R.has - * @example - * - * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true - * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true - * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false - * R.hasPath(['a', 'b'], {}); // => false - */ -var hasPath = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function hasPath(_path, obj) { - if (_path.length === 0) { - return false; - } - var val = obj; - var idx = 0; - while (idx < _path.length) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_path[idx], val)) { - val = val[_path[idx]]; - idx += 1; - } else { - return false; - } - } - return true; -}); -/* harmony default export */ __webpack_exports__["default"] = (hasPath); - -/***/ }), - -/***/ "./node_modules/ramda/es/head.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/head.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); - - -/** - * Returns the first element of the given list or string. In some libraries - * this function is named `first`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> a | Undefined - * @sig String -> String - * @param {Array|String} list - * @return {*} - * @see R.tail, R.init, R.last - * @example - * - * R.head(['fi', 'fo', 'fum']); //=> 'fi' - * R.head([]); //=> undefined - * - * R.head('abc'); //=> 'a' - * R.head(''); //=> '' - */ -var head = /*#__PURE__*/Object(_nth_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0); -/* harmony default export */ __webpack_exports__["default"] = (head); - -/***/ }), - -/***/ "./node_modules/ramda/es/identical.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/identical.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectIs.js */ "./node_modules/ramda/es/internal/_objectIs.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns true if its arguments are identical, false otherwise. Values are - * identical if they reference the same memory. `NaN` is identical to `NaN`; - * `0` and `-0` are not identical. - * - * Note this is merely a curried version of ES6 `Object.is`. - * - * @func - * @memberOf R - * @since v0.15.0 - * @category Relation - * @sig a -> a -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @example - * - * const o = {}; - * R.identical(o, o); //=> true - * R.identical(1, 1); //=> true - * R.identical(1, '1'); //=> false - * R.identical([], []); //=> false - * R.identical(0, -0); //=> false - * R.identical(NaN, NaN); //=> true - */ -var identical = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (identical); - -/***/ }), - -/***/ "./node_modules/ramda/es/identity.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/identity.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); - - - -/** - * A function that does nothing but return the parameter supplied to it. Good - * as a default or placeholder function. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig a -> a - * @param {*} x The value to return. - * @return {*} The input value, `x`. - * @example - * - * R.identity(1); //=> 1 - * - * const obj = {}; - * R.identity(obj) === obj; //=> true - * @symb R.identity(a) = a - */ -var identity = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (identity); - -/***/ }), - -/***/ "./node_modules/ramda/es/ifElse.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/ifElse.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - -/** - * Creates a function that will process either the `onTrue` or the `onFalse` - * function depending upon the result of the `condition` predicate. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Logic - * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) - * @param {Function} condition A predicate function - * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. - * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. - * @return {Function} A new function that will process either the `onTrue` or the `onFalse` - * function depending upon the result of the `condition` predicate. - * @see R.unless, R.when, R.cond - * @example - * - * const incCount = R.ifElse( - * R.has('count'), - * R.over(R.lensProp('count'), R.inc), - * R.assoc('count', 1) - * ); - * incCount({}); //=> { count: 1 } - * incCount({ count: 1 }); //=> { count: 2 } - */ -var ifElse = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ifElse(condition, onTrue, onFalse) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { - return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (ifElse); - -/***/ }), - -/***/ "./node_modules/ramda/es/inc.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/inc.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); - - -/** - * Increments its argument. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Math - * @sig Number -> Number - * @param {Number} n - * @return {Number} n + 1 - * @see R.dec - * @example - * - * R.inc(42); //=> 43 - */ -var inc = /*#__PURE__*/Object(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1); -/* harmony default export */ __webpack_exports__["default"] = (inc); - -/***/ }), - -/***/ "./node_modules/ramda/es/includes.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/includes.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns `true` if the specified value is equal, in [`R.equals`](#equals) - * terms, to at least one element of the given list; `false` otherwise. - * Works also with strings. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Boolean - * @param {Object} a The item to compare against. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. - * @see R.any - * @example - * - * R.includes(3, [1, 2, 3]); //=> true - * R.includes(4, [1, 2, 3]); //=> false - * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true - * R.includes([42], [[42]]); //=> true - * R.includes('ba', 'banana'); //=>true - */ -var includes = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (includes); - -/***/ }), - -/***/ "./node_modules/ramda/es/index.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/index.js ***! - \****************************************/ -/*! exports provided: F, T, __, add, addIndex, adjust, all, allPass, always, and, any, anyPass, ap, aperture, append, apply, applySpec, applyTo, ascend, assoc, assocPath, binary, bind, both, call, chain, clamp, clone, comparator, complement, compose, composeK, composeP, composeWith, concat, cond, construct, constructN, contains, converge, countBy, curry, curryN, dec, defaultTo, descend, difference, differenceWith, dissoc, dissocPath, divide, drop, dropLast, dropLastWhile, dropRepeats, dropRepeatsWith, dropWhile, either, empty, endsWith, eqBy, eqProps, equals, evolve, filter, find, findIndex, findLast, findLastIndex, flatten, flip, forEach, forEachObjIndexed, fromPairs, groupBy, groupWith, gt, gte, has, hasIn, hasPath, head, identical, identity, ifElse, inc, includes, indexBy, indexOf, init, innerJoin, insert, insertAll, intersection, intersperse, into, invert, invertObj, invoker, is, isEmpty, isNil, join, juxt, keys, keysIn, last, lastIndexOf, length, lens, lensIndex, lensPath, lensProp, lift, liftN, lt, lte, map, mapAccum, mapAccumRight, mapObjIndexed, match, mathMod, max, maxBy, mean, median, memoizeWith, merge, mergeAll, mergeDeepLeft, mergeDeepRight, mergeDeepWith, mergeDeepWithKey, mergeLeft, mergeRight, mergeWith, mergeWithKey, min, minBy, modulo, move, multiply, nAry, negate, none, not, nth, nthArg, o, objOf, of, omit, once, or, otherwise, over, pair, partial, partialRight, partition, path, pathEq, pathOr, pathSatisfies, pick, pickAll, pickBy, pipe, pipeK, pipeP, pipeWith, pluck, prepend, product, project, prop, propEq, propIs, propOr, propSatisfies, props, range, reduce, reduceBy, reduceRight, reduceWhile, reduced, reject, remove, repeat, replace, reverse, scan, sequence, set, slice, sort, sortBy, sortWith, split, splitAt, splitEvery, splitWhen, startsWith, subtract, sum, symmetricDifference, symmetricDifferenceWith, tail, take, takeLast, takeLastWhile, takeWhile, tap, test, then, times, toLower, toPairs, toPairsIn, toString, toUpper, transduce, transpose, traverse, trim, tryCatch, type, unapply, unary, uncurryN, unfold, union, unionWith, uniq, uniqBy, uniqWith, unless, unnest, until, update, useWith, values, valuesIn, view, when, where, whereEq, without, xprod, zip, zipObj, zipWith, thunkify */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _F_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./F.js */ "./node_modules/ramda/es/F.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "F", function() { return _F_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _T_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./T.js */ "./node_modules/ramda/es/T.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "T", function() { return _T_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./__.js */ "./node_modules/ramda/es/__.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "__", function() { return _js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "add", function() { return _add_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _addIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addIndex.js */ "./node_modules/ramda/es/addIndex.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "addIndex", function() { return _addIndex_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - -/* harmony import */ var _adjust_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./adjust.js */ "./node_modules/ramda/es/adjust.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "adjust", function() { return _adjust_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }); - -/* harmony import */ var _all_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./all.js */ "./node_modules/ramda/es/all.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "all", function() { return _all_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }); - -/* harmony import */ var _allPass_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./allPass.js */ "./node_modules/ramda/es/allPass.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "allPass", function() { return _allPass_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }); - -/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "always", function() { return _always_js__WEBPACK_IMPORTED_MODULE_8__["default"]; }); - -/* harmony import */ var _and_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./and.js */ "./node_modules/ramda/es/and.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "and", function() { return _and_js__WEBPACK_IMPORTED_MODULE_9__["default"]; }); - -/* harmony import */ var _any_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./any.js */ "./node_modules/ramda/es/any.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "any", function() { return _any_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }); - -/* harmony import */ var _anyPass_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./anyPass.js */ "./node_modules/ramda/es/anyPass.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "anyPass", function() { return _anyPass_js__WEBPACK_IMPORTED_MODULE_11__["default"]; }); - -/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ap", function() { return _ap_js__WEBPACK_IMPORTED_MODULE_12__["default"]; }); - -/* harmony import */ var _aperture_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./aperture.js */ "./node_modules/ramda/es/aperture.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "aperture", function() { return _aperture_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }); - -/* harmony import */ var _append_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./append.js */ "./node_modules/ramda/es/append.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "append", function() { return _append_js__WEBPACK_IMPORTED_MODULE_14__["default"]; }); - -/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./apply.js */ "./node_modules/ramda/es/apply.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "apply", function() { return _apply_js__WEBPACK_IMPORTED_MODULE_15__["default"]; }); - -/* harmony import */ var _applySpec_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./applySpec.js */ "./node_modules/ramda/es/applySpec.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applySpec", function() { return _applySpec_js__WEBPACK_IMPORTED_MODULE_16__["default"]; }); - -/* harmony import */ var _applyTo_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./applyTo.js */ "./node_modules/ramda/es/applyTo.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applyTo", function() { return _applyTo_js__WEBPACK_IMPORTED_MODULE_17__["default"]; }); - -/* harmony import */ var _ascend_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ascend.js */ "./node_modules/ramda/es/ascend.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ascend", function() { return _ascend_js__WEBPACK_IMPORTED_MODULE_18__["default"]; }); - -/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assoc", function() { return _assoc_js__WEBPACK_IMPORTED_MODULE_19__["default"]; }); - -/* harmony import */ var _assocPath_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./assocPath.js */ "./node_modules/ramda/es/assocPath.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assocPath", function() { return _assocPath_js__WEBPACK_IMPORTED_MODULE_20__["default"]; }); - -/* harmony import */ var _binary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./binary.js */ "./node_modules/ramda/es/binary.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "binary", function() { return _binary_js__WEBPACK_IMPORTED_MODULE_21__["default"]; }); - -/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./bind.js */ "./node_modules/ramda/es/bind.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bind", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_22__["default"]; }); - -/* harmony import */ var _both_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./both.js */ "./node_modules/ramda/es/both.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "both", function() { return _both_js__WEBPACK_IMPORTED_MODULE_23__["default"]; }); - -/* harmony import */ var _call_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./call.js */ "./node_modules/ramda/es/call.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "call", function() { return _call_js__WEBPACK_IMPORTED_MODULE_24__["default"]; }); - -/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chain", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_25__["default"]; }); - -/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./clamp.js */ "./node_modules/ramda/es/clamp.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clamp", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_26__["default"]; }); - -/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./clone.js */ "./node_modules/ramda/es/clone.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clone", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_27__["default"]; }); - -/* harmony import */ var _comparator_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./comparator.js */ "./node_modules/ramda/es/comparator.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "comparator", function() { return _comparator_js__WEBPACK_IMPORTED_MODULE_28__["default"]; }); - -/* harmony import */ var _complement_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./complement.js */ "./node_modules/ramda/es/complement.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "complement", function() { return _complement_js__WEBPACK_IMPORTED_MODULE_29__["default"]; }); - -/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return _compose_js__WEBPACK_IMPORTED_MODULE_30__["default"]; }); - -/* harmony import */ var _composeK_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./composeK.js */ "./node_modules/ramda/es/composeK.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeK", function() { return _composeK_js__WEBPACK_IMPORTED_MODULE_31__["default"]; }); - -/* harmony import */ var _composeP_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./composeP.js */ "./node_modules/ramda/es/composeP.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeP", function() { return _composeP_js__WEBPACK_IMPORTED_MODULE_32__["default"]; }); - -/* harmony import */ var _composeWith_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./composeWith.js */ "./node_modules/ramda/es/composeWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeWith", function() { return _composeWith_js__WEBPACK_IMPORTED_MODULE_33__["default"]; }); - -/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_34__["default"]; }); - -/* harmony import */ var _cond_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./cond.js */ "./node_modules/ramda/es/cond.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "cond", function() { return _cond_js__WEBPACK_IMPORTED_MODULE_35__["default"]; }); - -/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./construct.js */ "./node_modules/ramda/es/construct.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "construct", function() { return _construct_js__WEBPACK_IMPORTED_MODULE_36__["default"]; }); - -/* harmony import */ var _constructN_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./constructN.js */ "./node_modules/ramda/es/constructN.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "constructN", function() { return _constructN_js__WEBPACK_IMPORTED_MODULE_37__["default"]; }); - -/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./contains.js */ "./node_modules/ramda/es/contains.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "contains", function() { return _contains_js__WEBPACK_IMPORTED_MODULE_38__["default"]; }); - -/* harmony import */ var _converge_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./converge.js */ "./node_modules/ramda/es/converge.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "converge", function() { return _converge_js__WEBPACK_IMPORTED_MODULE_39__["default"]; }); - -/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./countBy.js */ "./node_modules/ramda/es/countBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "countBy", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_40__["default"]; }); - -/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "curry", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_41__["default"]; }); - -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "curryN", function() { return _curryN_js__WEBPACK_IMPORTED_MODULE_42__["default"]; }); - -/* harmony import */ var _dec_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./dec.js */ "./node_modules/ramda/es/dec.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dec", function() { return _dec_js__WEBPACK_IMPORTED_MODULE_43__["default"]; }); - -/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./defaultTo.js */ "./node_modules/ramda/es/defaultTo.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultTo", function() { return _defaultTo_js__WEBPACK_IMPORTED_MODULE_44__["default"]; }); - -/* harmony import */ var _descend_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./descend.js */ "./node_modules/ramda/es/descend.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "descend", function() { return _descend_js__WEBPACK_IMPORTED_MODULE_45__["default"]; }); - -/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./difference.js */ "./node_modules/ramda/es/difference.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "difference", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_46__["default"]; }); - -/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./differenceWith.js */ "./node_modules/ramda/es/differenceWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "differenceWith", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_47__["default"]; }); - -/* harmony import */ var _dissoc_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dissoc.js */ "./node_modules/ramda/es/dissoc.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dissoc", function() { return _dissoc_js__WEBPACK_IMPORTED_MODULE_48__["default"]; }); - -/* harmony import */ var _dissocPath_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./dissocPath.js */ "./node_modules/ramda/es/dissocPath.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dissocPath", function() { return _dissocPath_js__WEBPACK_IMPORTED_MODULE_49__["default"]; }); - -/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./divide.js */ "./node_modules/ramda/es/divide.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "divide", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_50__["default"]; }); - -/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./drop.js */ "./node_modules/ramda/es/drop.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "drop", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_51__["default"]; }); - -/* harmony import */ var _dropLast_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./dropLast.js */ "./node_modules/ramda/es/dropLast.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropLast", function() { return _dropLast_js__WEBPACK_IMPORTED_MODULE_52__["default"]; }); - -/* harmony import */ var _dropLastWhile_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./dropLastWhile.js */ "./node_modules/ramda/es/dropLastWhile.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropLastWhile", function() { return _dropLastWhile_js__WEBPACK_IMPORTED_MODULE_53__["default"]; }); - -/* harmony import */ var _dropRepeats_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./dropRepeats.js */ "./node_modules/ramda/es/dropRepeats.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropRepeats", function() { return _dropRepeats_js__WEBPACK_IMPORTED_MODULE_54__["default"]; }); - -/* harmony import */ var _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./dropRepeatsWith.js */ "./node_modules/ramda/es/dropRepeatsWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropRepeatsWith", function() { return _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_55__["default"]; }); - -/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./dropWhile.js */ "./node_modules/ramda/es/dropWhile.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropWhile", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_56__["default"]; }); - -/* harmony import */ var _either_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./either.js */ "./node_modules/ramda/es/either.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "either", function() { return _either_js__WEBPACK_IMPORTED_MODULE_57__["default"]; }); - -/* harmony import */ var _empty_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./empty.js */ "./node_modules/ramda/es/empty.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return _empty_js__WEBPACK_IMPORTED_MODULE_58__["default"]; }); - -/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./endsWith.js */ "./node_modules/ramda/es/endsWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endsWith", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_59__["default"]; }); - -/* harmony import */ var _eqBy_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./eqBy.js */ "./node_modules/ramda/es/eqBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eqBy", function() { return _eqBy_js__WEBPACK_IMPORTED_MODULE_60__["default"]; }); - -/* harmony import */ var _eqProps_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./eqProps.js */ "./node_modules/ramda/es/eqProps.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eqProps", function() { return _eqProps_js__WEBPACK_IMPORTED_MODULE_61__["default"]; }); - -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "equals", function() { return _equals_js__WEBPACK_IMPORTED_MODULE_62__["default"]; }); - -/* harmony import */ var _evolve_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./evolve.js */ "./node_modules/ramda/es/evolve.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "evolve", function() { return _evolve_js__WEBPACK_IMPORTED_MODULE_63__["default"]; }); - -/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_64__["default"]; }); - -/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./find.js */ "./node_modules/ramda/es/find.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _find_js__WEBPACK_IMPORTED_MODULE_65__["default"]; }); - -/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findIndex.js */ "./node_modules/ramda/es/findIndex.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_66__["default"]; }); - -/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLast.js */ "./node_modules/ramda/es/findLast.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findLast", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_67__["default"]; }); - -/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./findLastIndex.js */ "./node_modules/ramda/es/findLastIndex.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findLastIndex", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_68__["default"]; }); - -/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./flatten.js */ "./node_modules/ramda/es/flatten.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatten", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_69__["default"]; }); - -/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flip", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_70__["default"]; }); - -/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./forEach.js */ "./node_modules/ramda/es/forEach.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forEach", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_71__["default"]; }); - -/* harmony import */ var _forEachObjIndexed_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./forEachObjIndexed.js */ "./node_modules/ramda/es/forEachObjIndexed.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forEachObjIndexed", function() { return _forEachObjIndexed_js__WEBPACK_IMPORTED_MODULE_72__["default"]; }); - -/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./fromPairs.js */ "./node_modules/ramda/es/fromPairs.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromPairs", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_73__["default"]; }); - -/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./groupBy.js */ "./node_modules/ramda/es/groupBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_74__["default"]; }); - -/* harmony import */ var _groupWith_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./groupWith.js */ "./node_modules/ramda/es/groupWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupWith", function() { return _groupWith_js__WEBPACK_IMPORTED_MODULE_75__["default"]; }); - -/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./gt.js */ "./node_modules/ramda/es/gt.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "gt", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_76__["default"]; }); - -/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./gte.js */ "./node_modules/ramda/es/gte.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "gte", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_77__["default"]; }); - -/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./has.js */ "./node_modules/ramda/es/has.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "has", function() { return _has_js__WEBPACK_IMPORTED_MODULE_78__["default"]; }); - -/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./hasIn.js */ "./node_modules/ramda/es/hasIn.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasIn", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_79__["default"]; }); - -/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./hasPath.js */ "./node_modules/ramda/es/hasPath.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasPath", function() { return _hasPath_js__WEBPACK_IMPORTED_MODULE_80__["default"]; }); - -/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./head.js */ "./node_modules/ramda/es/head.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "head", function() { return _head_js__WEBPACK_IMPORTED_MODULE_81__["default"]; }); - -/* harmony import */ var _identical_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./identical.js */ "./node_modules/ramda/es/identical.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identical", function() { return _identical_js__WEBPACK_IMPORTED_MODULE_82__["default"]; }); - -/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return _identity_js__WEBPACK_IMPORTED_MODULE_83__["default"]; }); - -/* harmony import */ var _ifElse_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./ifElse.js */ "./node_modules/ramda/es/ifElse.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ifElse", function() { return _ifElse_js__WEBPACK_IMPORTED_MODULE_84__["default"]; }); - -/* harmony import */ var _inc_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./inc.js */ "./node_modules/ramda/es/inc.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "inc", function() { return _inc_js__WEBPACK_IMPORTED_MODULE_85__["default"]; }); - -/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./includes.js */ "./node_modules/ramda/es/includes.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "includes", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_86__["default"]; }); - -/* harmony import */ var _indexBy_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./indexBy.js */ "./node_modules/ramda/es/indexBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "indexBy", function() { return _indexBy_js__WEBPACK_IMPORTED_MODULE_87__["default"]; }); - -/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./indexOf.js */ "./node_modules/ramda/es/indexOf.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "indexOf", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_88__["default"]; }); - -/* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./init.js */ "./node_modules/ramda/es/init.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "init", function() { return _init_js__WEBPACK_IMPORTED_MODULE_89__["default"]; }); - -/* harmony import */ var _innerJoin_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./innerJoin.js */ "./node_modules/ramda/es/innerJoin.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "innerJoin", function() { return _innerJoin_js__WEBPACK_IMPORTED_MODULE_90__["default"]; }); - -/* harmony import */ var _insert_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./insert.js */ "./node_modules/ramda/es/insert.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "insert", function() { return _insert_js__WEBPACK_IMPORTED_MODULE_91__["default"]; }); - -/* harmony import */ var _insertAll_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./insertAll.js */ "./node_modules/ramda/es/insertAll.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "insertAll", function() { return _insertAll_js__WEBPACK_IMPORTED_MODULE_92__["default"]; }); - -/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./intersection.js */ "./node_modules/ramda/es/intersection.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "intersection", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_93__["default"]; }); - -/* harmony import */ var _intersperse_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./intersperse.js */ "./node_modules/ramda/es/intersperse.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "intersperse", function() { return _intersperse_js__WEBPACK_IMPORTED_MODULE_94__["default"]; }); - -/* harmony import */ var _into_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./into.js */ "./node_modules/ramda/es/into.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "into", function() { return _into_js__WEBPACK_IMPORTED_MODULE_95__["default"]; }); - -/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./invert.js */ "./node_modules/ramda/es/invert.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invert", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_96__["default"]; }); - -/* harmony import */ var _invertObj_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./invertObj.js */ "./node_modules/ramda/es/invertObj.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invertObj", function() { return _invertObj_js__WEBPACK_IMPORTED_MODULE_97__["default"]; }); - -/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invoker", function() { return _invoker_js__WEBPACK_IMPORTED_MODULE_98__["default"]; }); - -/* harmony import */ var _is_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./is.js */ "./node_modules/ramda/es/is.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "is", function() { return _is_js__WEBPACK_IMPORTED_MODULE_99__["default"]; }); - -/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./isEmpty.js */ "./node_modules/ramda/es/isEmpty.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_100__["default"]; }); - -/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./isNil.js */ "./node_modules/ramda/es/isNil.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isNil", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_101__["default"]; }); - -/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./join.js */ "./node_modules/ramda/es/join.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "join", function() { return _join_js__WEBPACK_IMPORTED_MODULE_102__["default"]; }); - -/* harmony import */ var _juxt_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./juxt.js */ "./node_modules/ramda/es/juxt.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "juxt", function() { return _juxt_js__WEBPACK_IMPORTED_MODULE_103__["default"]; }); - -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keys", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_104__["default"]; }); - -/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/ramda/es/keysIn.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keysIn", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_105__["default"]; }); - -/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./last.js */ "./node_modules/ramda/es/last.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _last_js__WEBPACK_IMPORTED_MODULE_106__["default"]; }); - -/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./lastIndexOf.js */ "./node_modules/ramda/es/lastIndexOf.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lastIndexOf", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_107__["default"]; }); - -/* harmony import */ var _length_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./length.js */ "./node_modules/ramda/es/length.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "length", function() { return _length_js__WEBPACK_IMPORTED_MODULE_108__["default"]; }); - -/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lens", function() { return _lens_js__WEBPACK_IMPORTED_MODULE_109__["default"]; }); - -/* harmony import */ var _lensIndex_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./lensIndex.js */ "./node_modules/ramda/es/lensIndex.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensIndex", function() { return _lensIndex_js__WEBPACK_IMPORTED_MODULE_110__["default"]; }); - -/* harmony import */ var _lensPath_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./lensPath.js */ "./node_modules/ramda/es/lensPath.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensPath", function() { return _lensPath_js__WEBPACK_IMPORTED_MODULE_111__["default"]; }); - -/* harmony import */ var _lensProp_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./lensProp.js */ "./node_modules/ramda/es/lensProp.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensProp", function() { return _lensProp_js__WEBPACK_IMPORTED_MODULE_112__["default"]; }); - -/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lift", function() { return _lift_js__WEBPACK_IMPORTED_MODULE_113__["default"]; }); - -/* harmony import */ var _liftN_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./liftN.js */ "./node_modules/ramda/es/liftN.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "liftN", function() { return _liftN_js__WEBPACK_IMPORTED_MODULE_114__["default"]; }); - -/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./lt.js */ "./node_modules/ramda/es/lt.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lt", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_115__["default"]; }); - -/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./lte.js */ "./node_modules/ramda/es/lte.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lte", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_116__["default"]; }); - -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _map_js__WEBPACK_IMPORTED_MODULE_117__["default"]; }); - -/* harmony import */ var _mapAccum_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./mapAccum.js */ "./node_modules/ramda/es/mapAccum.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapAccum", function() { return _mapAccum_js__WEBPACK_IMPORTED_MODULE_118__["default"]; }); - -/* harmony import */ var _mapAccumRight_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./mapAccumRight.js */ "./node_modules/ramda/es/mapAccumRight.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapAccumRight", function() { return _mapAccumRight_js__WEBPACK_IMPORTED_MODULE_119__["default"]; }); - -/* harmony import */ var _mapObjIndexed_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./mapObjIndexed.js */ "./node_modules/ramda/es/mapObjIndexed.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapObjIndexed", function() { return _mapObjIndexed_js__WEBPACK_IMPORTED_MODULE_120__["default"]; }); - -/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./match.js */ "./node_modules/ramda/es/match.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "match", function() { return _match_js__WEBPACK_IMPORTED_MODULE_121__["default"]; }); - -/* harmony import */ var _mathMod_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./mathMod.js */ "./node_modules/ramda/es/mathMod.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mathMod", function() { return _mathMod_js__WEBPACK_IMPORTED_MODULE_122__["default"]; }); - -/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _max_js__WEBPACK_IMPORTED_MODULE_123__["default"]; }); - -/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./maxBy.js */ "./node_modules/ramda/es/maxBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "maxBy", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_124__["default"]; }); - -/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./mean.js */ "./node_modules/ramda/es/mean.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mean", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_125__["default"]; }); - -/* harmony import */ var _median_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./median.js */ "./node_modules/ramda/es/median.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "median", function() { return _median_js__WEBPACK_IMPORTED_MODULE_126__["default"]; }); - -/* harmony import */ var _memoizeWith_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./memoizeWith.js */ "./node_modules/ramda/es/memoizeWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "memoizeWith", function() { return _memoizeWith_js__WEBPACK_IMPORTED_MODULE_127__["default"]; }); - -/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./merge.js */ "./node_modules/ramda/es/merge.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_128__["default"]; }); - -/* harmony import */ var _mergeAll_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./mergeAll.js */ "./node_modules/ramda/es/mergeAll.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return _mergeAll_js__WEBPACK_IMPORTED_MODULE_129__["default"]; }); - -/* harmony import */ var _mergeDeepLeft_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./mergeDeepLeft.js */ "./node_modules/ramda/es/mergeDeepLeft.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepLeft", function() { return _mergeDeepLeft_js__WEBPACK_IMPORTED_MODULE_130__["default"]; }); - -/* harmony import */ var _mergeDeepRight_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./mergeDeepRight.js */ "./node_modules/ramda/es/mergeDeepRight.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepRight", function() { return _mergeDeepRight_js__WEBPACK_IMPORTED_MODULE_131__["default"]; }); - -/* harmony import */ var _mergeDeepWith_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./mergeDeepWith.js */ "./node_modules/ramda/es/mergeDeepWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepWith", function() { return _mergeDeepWith_js__WEBPACK_IMPORTED_MODULE_132__["default"]; }); - -/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepWithKey", function() { return _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_133__["default"]; }); - -/* harmony import */ var _mergeLeft_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./mergeLeft.js */ "./node_modules/ramda/es/mergeLeft.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeLeft", function() { return _mergeLeft_js__WEBPACK_IMPORTED_MODULE_134__["default"]; }); - -/* harmony import */ var _mergeRight_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./mergeRight.js */ "./node_modules/ramda/es/mergeRight.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeRight", function() { return _mergeRight_js__WEBPACK_IMPORTED_MODULE_135__["default"]; }); - -/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./mergeWith.js */ "./node_modules/ramda/es/mergeWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeWith", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_136__["default"]; }); - -/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeWithKey", function() { return _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_137__["default"]; }); - -/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./min.js */ "./node_modules/ramda/es/min.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _min_js__WEBPACK_IMPORTED_MODULE_138__["default"]; }); - -/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./minBy.js */ "./node_modules/ramda/es/minBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "minBy", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_139__["default"]; }); - -/* harmony import */ var _modulo_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./modulo.js */ "./node_modules/ramda/es/modulo.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "modulo", function() { return _modulo_js__WEBPACK_IMPORTED_MODULE_140__["default"]; }); - -/* harmony import */ var _move_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./move.js */ "./node_modules/ramda/es/move.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "move", function() { return _move_js__WEBPACK_IMPORTED_MODULE_141__["default"]; }); - -/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./multiply.js */ "./node_modules/ramda/es/multiply.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multiply", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_142__["default"]; }); - -/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nAry", function() { return _nAry_js__WEBPACK_IMPORTED_MODULE_143__["default"]; }); - -/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./negate.js */ "./node_modules/ramda/es/negate.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "negate", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_144__["default"]; }); - -/* harmony import */ var _none_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./none.js */ "./node_modules/ramda/es/none.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "none", function() { return _none_js__WEBPACK_IMPORTED_MODULE_145__["default"]; }); - -/* harmony import */ var _not_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./not.js */ "./node_modules/ramda/es/not.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "not", function() { return _not_js__WEBPACK_IMPORTED_MODULE_146__["default"]; }); - -/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nth", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_147__["default"]; }); - -/* harmony import */ var _nthArg_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./nthArg.js */ "./node_modules/ramda/es/nthArg.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nthArg", function() { return _nthArg_js__WEBPACK_IMPORTED_MODULE_148__["default"]; }); - -/* harmony import */ var _o_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./o.js */ "./node_modules/ramda/es/o.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "o", function() { return _o_js__WEBPACK_IMPORTED_MODULE_149__["default"]; }); - -/* harmony import */ var _objOf_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./objOf.js */ "./node_modules/ramda/es/objOf.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "objOf", function() { return _objOf_js__WEBPACK_IMPORTED_MODULE_150__["default"]; }); - -/* harmony import */ var _of_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./of.js */ "./node_modules/ramda/es/of.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "of", function() { return _of_js__WEBPACK_IMPORTED_MODULE_151__["default"]; }); - -/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./omit.js */ "./node_modules/ramda/es/omit.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "omit", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_152__["default"]; }); - -/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./once.js */ "./node_modules/ramda/es/once.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "once", function() { return _once_js__WEBPACK_IMPORTED_MODULE_153__["default"]; }); - -/* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./or.js */ "./node_modules/ramda/es/or.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "or", function() { return _or_js__WEBPACK_IMPORTED_MODULE_154__["default"]; }); - -/* harmony import */ var _otherwise_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./otherwise.js */ "./node_modules/ramda/es/otherwise.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "otherwise", function() { return _otherwise_js__WEBPACK_IMPORTED_MODULE_155__["default"]; }); - -/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./over.js */ "./node_modules/ramda/es/over.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "over", function() { return _over_js__WEBPACK_IMPORTED_MODULE_156__["default"]; }); - -/* harmony import */ var _pair_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./pair.js */ "./node_modules/ramda/es/pair.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pair", function() { return _pair_js__WEBPACK_IMPORTED_MODULE_157__["default"]; }); - -/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./partial.js */ "./node_modules/ramda/es/partial.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partial", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_158__["default"]; }); - -/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./partialRight.js */ "./node_modules/ramda/es/partialRight.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partialRight", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_159__["default"]; }); - -/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./partition.js */ "./node_modules/ramda/es/partition.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_160__["default"]; }); - -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "path", function() { return _path_js__WEBPACK_IMPORTED_MODULE_161__["default"]; }); - -/* harmony import */ var _pathEq_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./pathEq.js */ "./node_modules/ramda/es/pathEq.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathEq", function() { return _pathEq_js__WEBPACK_IMPORTED_MODULE_162__["default"]; }); - -/* harmony import */ var _pathOr_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./pathOr.js */ "./node_modules/ramda/es/pathOr.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathOr", function() { return _pathOr_js__WEBPACK_IMPORTED_MODULE_163__["default"]; }); - -/* harmony import */ var _pathSatisfies_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./pathSatisfies.js */ "./node_modules/ramda/es/pathSatisfies.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathSatisfies", function() { return _pathSatisfies_js__WEBPACK_IMPORTED_MODULE_164__["default"]; }); - -/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./pick.js */ "./node_modules/ramda/es/pick.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pick", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_165__["default"]; }); - -/* harmony import */ var _pickAll_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./pickAll.js */ "./node_modules/ramda/es/pickAll.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pickAll", function() { return _pickAll_js__WEBPACK_IMPORTED_MODULE_166__["default"]; }); - -/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./pickBy.js */ "./node_modules/ramda/es/pickBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pickBy", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_167__["default"]; }); - -/* harmony import */ var _pipe_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./pipe.js */ "./node_modules/ramda/es/pipe.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return _pipe_js__WEBPACK_IMPORTED_MODULE_168__["default"]; }); - -/* harmony import */ var _pipeK_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./pipeK.js */ "./node_modules/ramda/es/pipeK.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeK", function() { return _pipeK_js__WEBPACK_IMPORTED_MODULE_169__["default"]; }); - -/* harmony import */ var _pipeP_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./pipeP.js */ "./node_modules/ramda/es/pipeP.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeP", function() { return _pipeP_js__WEBPACK_IMPORTED_MODULE_170__["default"]; }); - -/* harmony import */ var _pipeWith_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./pipeWith.js */ "./node_modules/ramda/es/pipeWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeWith", function() { return _pipeWith_js__WEBPACK_IMPORTED_MODULE_171__["default"]; }); - -/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _pluck_js__WEBPACK_IMPORTED_MODULE_172__["default"]; }); - -/* harmony import */ var _prepend_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./prepend.js */ "./node_modules/ramda/es/prepend.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prepend", function() { return _prepend_js__WEBPACK_IMPORTED_MODULE_173__["default"]; }); - -/* harmony import */ var _product_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./product.js */ "./node_modules/ramda/es/product.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "product", function() { return _product_js__WEBPACK_IMPORTED_MODULE_174__["default"]; }); - -/* harmony import */ var _project_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./project.js */ "./node_modules/ramda/es/project.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "project", function() { return _project_js__WEBPACK_IMPORTED_MODULE_175__["default"]; }); - -/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prop", function() { return _prop_js__WEBPACK_IMPORTED_MODULE_176__["default"]; }); - -/* harmony import */ var _propEq_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./propEq.js */ "./node_modules/ramda/es/propEq.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propEq", function() { return _propEq_js__WEBPACK_IMPORTED_MODULE_177__["default"]; }); - -/* harmony import */ var _propIs_js__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./propIs.js */ "./node_modules/ramda/es/propIs.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propIs", function() { return _propIs_js__WEBPACK_IMPORTED_MODULE_178__["default"]; }); - -/* harmony import */ var _propOr_js__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./propOr.js */ "./node_modules/ramda/es/propOr.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propOr", function() { return _propOr_js__WEBPACK_IMPORTED_MODULE_179__["default"]; }); - -/* harmony import */ var _propSatisfies_js__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./propSatisfies.js */ "./node_modules/ramda/es/propSatisfies.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propSatisfies", function() { return _propSatisfies_js__WEBPACK_IMPORTED_MODULE_180__["default"]; }); - -/* harmony import */ var _props_js__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./props.js */ "./node_modules/ramda/es/props.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "props", function() { return _props_js__WEBPACK_IMPORTED_MODULE_181__["default"]; }); - -/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./range.js */ "./node_modules/ramda/es/range.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "range", function() { return _range_js__WEBPACK_IMPORTED_MODULE_182__["default"]; }); - -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_183__["default"]; }); - -/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceBy", function() { return _reduceBy_js__WEBPACK_IMPORTED_MODULE_184__["default"]; }); - -/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./reduceRight.js */ "./node_modules/ramda/es/reduceRight.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceRight", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_185__["default"]; }); - -/* harmony import */ var _reduceWhile_js__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./reduceWhile.js */ "./node_modules/ramda/es/reduceWhile.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceWhile", function() { return _reduceWhile_js__WEBPACK_IMPORTED_MODULE_186__["default"]; }); - -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./reduced.js */ "./node_modules/ramda/es/reduced.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduced", function() { return _reduced_js__WEBPACK_IMPORTED_MODULE_187__["default"]; }); - -/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reject", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_188__["default"]; }); - -/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./remove.js */ "./node_modules/ramda/es/remove.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "remove", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_189__["default"]; }); - -/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./repeat.js */ "./node_modules/ramda/es/repeat.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_190__["default"]; }); - -/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./replace.js */ "./node_modules/ramda/es/replace.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "replace", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_191__["default"]; }); - -/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reverse", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_192__["default"]; }); - -/* harmony import */ var _scan_js__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./scan.js */ "./node_modules/ramda/es/scan.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _scan_js__WEBPACK_IMPORTED_MODULE_193__["default"]; }); - -/* harmony import */ var _sequence_js__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./sequence.js */ "./node_modules/ramda/es/sequence.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequence", function() { return _sequence_js__WEBPACK_IMPORTED_MODULE_194__["default"]; }); - -/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./set.js */ "./node_modules/ramda/es/set.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "set", function() { return _set_js__WEBPACK_IMPORTED_MODULE_195__["default"]; }); - -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "slice", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_196__["default"]; }); - -/* harmony import */ var _sort_js__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./sort.js */ "./node_modules/ramda/es/sort.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sort", function() { return _sort_js__WEBPACK_IMPORTED_MODULE_197__["default"]; }); - -/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./sortBy.js */ "./node_modules/ramda/es/sortBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sortBy", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_198__["default"]; }); - -/* harmony import */ var _sortWith_js__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./sortWith.js */ "./node_modules/ramda/es/sortWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sortWith", function() { return _sortWith_js__WEBPACK_IMPORTED_MODULE_199__["default"]; }); - -/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./split.js */ "./node_modules/ramda/es/split.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "split", function() { return _split_js__WEBPACK_IMPORTED_MODULE_200__["default"]; }); - -/* harmony import */ var _splitAt_js__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./splitAt.js */ "./node_modules/ramda/es/splitAt.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitAt", function() { return _splitAt_js__WEBPACK_IMPORTED_MODULE_201__["default"]; }); - -/* harmony import */ var _splitEvery_js__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./splitEvery.js */ "./node_modules/ramda/es/splitEvery.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitEvery", function() { return _splitEvery_js__WEBPACK_IMPORTED_MODULE_202__["default"]; }); - -/* harmony import */ var _splitWhen_js__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./splitWhen.js */ "./node_modules/ramda/es/splitWhen.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitWhen", function() { return _splitWhen_js__WEBPACK_IMPORTED_MODULE_203__["default"]; }); - -/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./startsWith.js */ "./node_modules/ramda/es/startsWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startsWith", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_204__["default"]; }); - -/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./subtract.js */ "./node_modules/ramda/es/subtract.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subtract", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_205__["default"]; }); - -/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./sum.js */ "./node_modules/ramda/es/sum.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sum", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_206__["default"]; }); - -/* harmony import */ var _symmetricDifference_js__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./symmetricDifference.js */ "./node_modules/ramda/es/symmetricDifference.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "symmetricDifference", function() { return _symmetricDifference_js__WEBPACK_IMPORTED_MODULE_207__["default"]; }); - -/* harmony import */ var _symmetricDifferenceWith_js__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./symmetricDifferenceWith.js */ "./node_modules/ramda/es/symmetricDifferenceWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "symmetricDifferenceWith", function() { return _symmetricDifferenceWith_js__WEBPACK_IMPORTED_MODULE_208__["default"]; }); - -/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tail", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_209__["default"]; }); - -/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./take.js */ "./node_modules/ramda/es/take.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _take_js__WEBPACK_IMPORTED_MODULE_210__["default"]; }); - -/* harmony import */ var _takeLast_js__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./takeLast.js */ "./node_modules/ramda/es/takeLast.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _takeLast_js__WEBPACK_IMPORTED_MODULE_211__["default"]; }); - -/* harmony import */ var _takeLastWhile_js__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./takeLastWhile.js */ "./node_modules/ramda/es/takeLastWhile.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLastWhile", function() { return _takeLastWhile_js__WEBPACK_IMPORTED_MODULE_212__["default"]; }); - -/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./takeWhile.js */ "./node_modules/ramda/es/takeWhile.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_213__["default"]; }); - -/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./tap.js */ "./node_modules/ramda/es/tap.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_214__["default"]; }); - -/* harmony import */ var _test_js__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./test.js */ "./node_modules/ramda/es/test.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "test", function() { return _test_js__WEBPACK_IMPORTED_MODULE_215__["default"]; }); - -/* harmony import */ var _then_js__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./then.js */ "./node_modules/ramda/es/then.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "then", function() { return _then_js__WEBPACK_IMPORTED_MODULE_216__["default"]; }); - -/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./times.js */ "./node_modules/ramda/es/times.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "times", function() { return _times_js__WEBPACK_IMPORTED_MODULE_217__["default"]; }); - -/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./toLower.js */ "./node_modules/ramda/es/toLower.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toLower", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_218__["default"]; }); - -/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./toPairs.js */ "./node_modules/ramda/es/toPairs.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toPairs", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_219__["default"]; }); - -/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./toPairsIn.js */ "./node_modules/ramda/es/toPairsIn.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toPairsIn", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_220__["default"]; }); - -/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toString", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_221__["default"]; }); - -/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./toUpper.js */ "./node_modules/ramda/es/toUpper.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toUpper", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_222__["default"]; }); - -/* harmony import */ var _transduce_js__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./transduce.js */ "./node_modules/ramda/es/transduce.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transduce", function() { return _transduce_js__WEBPACK_IMPORTED_MODULE_223__["default"]; }); - -/* harmony import */ var _transpose_js__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./transpose.js */ "./node_modules/ramda/es/transpose.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transpose", function() { return _transpose_js__WEBPACK_IMPORTED_MODULE_224__["default"]; }); - -/* harmony import */ var _traverse_js__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./traverse.js */ "./node_modules/ramda/es/traverse.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "traverse", function() { return _traverse_js__WEBPACK_IMPORTED_MODULE_225__["default"]; }); - -/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./trim.js */ "./node_modules/ramda/es/trim.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "trim", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_226__["default"]; }); - -/* harmony import */ var _tryCatch_js__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./tryCatch.js */ "./node_modules/ramda/es/tryCatch.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tryCatch", function() { return _tryCatch_js__WEBPACK_IMPORTED_MODULE_227__["default"]; }); - -/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./type.js */ "./node_modules/ramda/es/type.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "type", function() { return _type_js__WEBPACK_IMPORTED_MODULE_228__["default"]; }); - -/* harmony import */ var _unapply_js__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./unapply.js */ "./node_modules/ramda/es/unapply.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unapply", function() { return _unapply_js__WEBPACK_IMPORTED_MODULE_229__["default"]; }); - -/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./unary.js */ "./node_modules/ramda/es/unary.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unary", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_230__["default"]; }); - -/* harmony import */ var _uncurryN_js__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./uncurryN.js */ "./node_modules/ramda/es/uncurryN.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uncurryN", function() { return _uncurryN_js__WEBPACK_IMPORTED_MODULE_231__["default"]; }); - -/* harmony import */ var _unfold_js__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./unfold.js */ "./node_modules/ramda/es/unfold.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unfold", function() { return _unfold_js__WEBPACK_IMPORTED_MODULE_232__["default"]; }); - -/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./union.js */ "./node_modules/ramda/es/union.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "union", function() { return _union_js__WEBPACK_IMPORTED_MODULE_233__["default"]; }); - -/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./unionWith.js */ "./node_modules/ramda/es/unionWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unionWith", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_234__["default"]; }); - -/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniq", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_235__["default"]; }); - -/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./uniqBy.js */ "./node_modules/ramda/es/uniqBy.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniqBy", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_236__["default"]; }); - -/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./uniqWith.js */ "./node_modules/ramda/es/uniqWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniqWith", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_237__["default"]; }); - -/* harmony import */ var _unless_js__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./unless.js */ "./node_modules/ramda/es/unless.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unless", function() { return _unless_js__WEBPACK_IMPORTED_MODULE_238__["default"]; }); - -/* harmony import */ var _unnest_js__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./unnest.js */ "./node_modules/ramda/es/unnest.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unnest", function() { return _unnest_js__WEBPACK_IMPORTED_MODULE_239__["default"]; }); - -/* harmony import */ var _until_js__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./until.js */ "./node_modules/ramda/es/until.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "until", function() { return _until_js__WEBPACK_IMPORTED_MODULE_240__["default"]; }); - -/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "update", function() { return _update_js__WEBPACK_IMPORTED_MODULE_241__["default"]; }); - -/* harmony import */ var _useWith_js__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./useWith.js */ "./node_modules/ramda/es/useWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useWith", function() { return _useWith_js__WEBPACK_IMPORTED_MODULE_242__["default"]; }); - -/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./values.js */ "./node_modules/ramda/es/values.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "values", function() { return _values_js__WEBPACK_IMPORTED_MODULE_243__["default"]; }); - -/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./valuesIn.js */ "./node_modules/ramda/es/valuesIn.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "valuesIn", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_244__["default"]; }); - -/* harmony import */ var _view_js__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./view.js */ "./node_modules/ramda/es/view.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "view", function() { return _view_js__WEBPACK_IMPORTED_MODULE_245__["default"]; }); - -/* harmony import */ var _when_js__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./when.js */ "./node_modules/ramda/es/when.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "when", function() { return _when_js__WEBPACK_IMPORTED_MODULE_246__["default"]; }); - -/* harmony import */ var _where_js__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./where.js */ "./node_modules/ramda/es/where.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "where", function() { return _where_js__WEBPACK_IMPORTED_MODULE_247__["default"]; }); - -/* harmony import */ var _whereEq_js__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./whereEq.js */ "./node_modules/ramda/es/whereEq.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "whereEq", function() { return _whereEq_js__WEBPACK_IMPORTED_MODULE_248__["default"]; }); - -/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./without.js */ "./node_modules/ramda/es/without.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "without", function() { return _without_js__WEBPACK_IMPORTED_MODULE_249__["default"]; }); - -/* harmony import */ var _xprod_js__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./xprod.js */ "./node_modules/ramda/es/xprod.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "xprod", function() { return _xprod_js__WEBPACK_IMPORTED_MODULE_250__["default"]; }); - -/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./zip.js */ "./node_modules/ramda/es/zip.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_251__["default"]; }); - -/* harmony import */ var _zipObj_js__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./zipObj.js */ "./node_modules/ramda/es/zipObj.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipObj", function() { return _zipObj_js__WEBPACK_IMPORTED_MODULE_252__["default"]; }); - -/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./zipWith.js */ "./node_modules/ramda/es/zipWith.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipWith", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_253__["default"]; }); - -/* harmony import */ var _thunkify_js__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./thunkify.js */ "./node_modules/ramda/es/thunkify.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "thunkify", function() { return _thunkify_js__WEBPACK_IMPORTED_MODULE_254__["default"]; }); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -/***/ }), - -/***/ "./node_modules/ramda/es/indexBy.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/indexBy.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); - - -/** - * Given a function that generates a key, turns a list of objects into an - * object indexing the objects by the given key. Note that if multiple - * objects generate the same value for the indexing key only the last value - * will be included in the generated object. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (a -> String) -> [{k: v}] -> {k: {k: v}} - * @param {Function} fn Function :: a -> String - * @param {Array} array The array of objects to index - * @return {Object} An object indexing each array element by the given property. - * @example - * - * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}]; - * R.indexBy(R.prop('id'), list); - * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}} - */ -var indexBy = /*#__PURE__*/Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (acc, elem) { - return elem; -}, null); -/* harmony default export */ __webpack_exports__["default"] = (indexBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/indexOf.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/indexOf.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_indexOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_indexOf.js */ "./node_modules/ramda/es/internal/_indexOf.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); - - - - -/** - * Returns the position of the first occurrence of an item in an array, or -1 - * if the item is not included in the array. [`R.equals`](#equals) is used to - * determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Number - * @param {*} target The item to find. - * @param {Array} xs The array to search in. - * @return {Number} the index of the target, or -1 if the target is not found. - * @see R.lastIndexOf - * @example - * - * R.indexOf(3, [1,2,3,4]); //=> 2 - * R.indexOf(10, [1,2,3,4]); //=> -1 - */ -var indexOf = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function indexOf(target, xs) { - return typeof xs.indexOf === 'function' && !Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xs) ? xs.indexOf(target) : Object(_internal_indexOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xs, target, 0); -}); -/* harmony default export */ __webpack_exports__["default"] = (indexOf); - -/***/ }), - -/***/ "./node_modules/ramda/es/init.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/init.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - -/** - * Returns all but the last element of the given list or string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.last, R.head, R.tail - * @example - * - * R.init([1, 2, 3]); //=> [1, 2] - * R.init([1, 2]); //=> [1] - * R.init([1]); //=> [] - * R.init([]); //=> [] - * - * R.init('abc'); //=> 'ab' - * R.init('ab'); //=> 'a' - * R.init('a'); //=> '' - * R.init(''); //=> '' - */ -var init = /*#__PURE__*/Object(_slice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, -1); -/* harmony default export */ __webpack_exports__["default"] = (init); - -/***/ }), - -/***/ "./node_modules/ramda/es/innerJoin.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/innerJoin.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); - - - - -/** - * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list - * `xs'` comprising each of the elements of `xs` which is equal to one or more - * elements of `ys` according to `pred`. - * - * `pred` must be a binary function expecting an element from each list. - * - * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should - * not be significant, but since `xs'` is ordered the implementation guarantees - * that its values are in the same order as they appear in `xs`. Duplicates are - * not removed, so `xs'` may contain duplicates if `xs` contains duplicates. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Relation - * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a] - * @param {Function} pred - * @param {Array} xs - * @param {Array} ys - * @return {Array} - * @see R.intersection - * @example - * - * R.innerJoin( - * (record, id) => record.id === id, - * [{id: 824, name: 'Richie Furay'}, - * {id: 956, name: 'Dewey Martin'}, - * {id: 313, name: 'Bruce Palmer'}, - * {id: 456, name: 'Stephen Stills'}, - * {id: 177, name: 'Neil Young'}], - * [177, 456, 999] - * ); - * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}] - */ -var innerJoin = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function innerJoin(pred, xs, ys) { - return Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (x) { - return Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, x, ys); - }, xs); -}); -/* harmony default export */ __webpack_exports__["default"] = (innerJoin); - -/***/ }), - -/***/ "./node_modules/ramda/es/insert.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/insert.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Inserts the supplied element into the list, at the specified `index`. _Note that - - * this is not destructive_: it returns a copy of the list with the changes. - * <small>No lists have been harmed in the application of this function.</small> - * - * @func - * @memberOf R - * @since v0.2.2 - * @category List - * @sig Number -> a -> [a] -> [a] - * @param {Number} index The position to insert the element - * @param {*} elt The element to insert into the Array - * @param {Array} list The list to insert into - * @return {Array} A new Array with `elt` inserted at `index`. - * @example - * - * R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4] - */ -var insert = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function insert(idx, elt, list) { - idx = idx < list.length && idx >= 0 ? idx : list.length; - var result = Array.prototype.slice.call(list, 0); - result.splice(idx, 0, elt); - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (insert); - -/***/ }), - -/***/ "./node_modules/ramda/es/insertAll.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/insertAll.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Inserts the sub-list into the list, at the specified `index`. _Note that this is not - * destructive_: it returns a copy of the list with the changes. - * <small>No lists have been harmed in the application of this function.</small> - * - * @func - * @memberOf R - * @since v0.9.0 - * @category List - * @sig Number -> [a] -> [a] -> [a] - * @param {Number} index The position to insert the sub-list - * @param {Array} elts The sub-list to insert into the Array - * @param {Array} list The list to insert the sub-list into - * @return {Array} A new Array with `elts` inserted starting at `index`. - * @example - * - * R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4] - */ -var insertAll = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function insertAll(idx, elts, list) { - idx = idx < list.length && idx >= 0 ? idx : list.length; - return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx)); -}); -/* harmony default export */ __webpack_exports__["default"] = (insertAll); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_Set.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/internal/_Set.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); - - -var _Set = /*#__PURE__*/function () { - function _Set() { - /* globals Set */ - this._nativeSet = typeof Set === 'function' ? new Set() : null; - this._items = {}; - } - - // until we figure out why jsdoc chokes on this - // @param item The item to add to the Set - // @returns {boolean} true if the item did not exist prior, otherwise false - // - _Set.prototype.add = function (item) { - return !hasOrAdd(item, true, this); - }; - - // - // @param item The item to check for existence in the Set - // @returns {boolean} true if the item exists in the Set, otherwise false - // - _Set.prototype.has = function (item) { - return hasOrAdd(item, false, this); - }; - - // - // Combines the logic for checking whether an item is a member of the set and - // for adding a new item to the set. - // - // @param item The item to check or add to the Set instance. - // @param shouldAdd If true, the item will be added to the set if it doesn't - // already exist. - // @param set The set instance to check or add to. - // @return {boolean} true if the item already existed, otherwise false. - // - return _Set; -}(); - -function hasOrAdd(item, shouldAdd, set) { - var type = typeof item; - var prevSize, newSize; - switch (type) { - case 'string': - case 'number': - // distinguish between +0 and -0 - if (item === 0 && 1 / item === -Infinity) { - if (set._items['-0']) { - return true; - } else { - if (shouldAdd) { - set._items['-0'] = true; - } - return false; - } - } - // these types can all utilise the native Set - if (set._nativeSet !== null) { - if (shouldAdd) { - prevSize = set._nativeSet.size; - set._nativeSet.add(item); - newSize = set._nativeSet.size; - return newSize === prevSize; - } else { - return set._nativeSet.has(item); - } - } else { - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = {}; - set._items[type][item] = true; - } - return false; - } else if (item in set._items[type]) { - return true; - } else { - if (shouldAdd) { - set._items[type][item] = true; - } - return false; - } - } - - case 'boolean': - // set._items['boolean'] holds a two element array - // representing [ falseExists, trueExists ] - if (type in set._items) { - var bIdx = item ? 1 : 0; - if (set._items[type][bIdx]) { - return true; - } else { - if (shouldAdd) { - set._items[type][bIdx] = true; - } - return false; - } - } else { - if (shouldAdd) { - set._items[type] = item ? [false, true] : [true, false]; - } - return false; - } - - case 'function': - // compare functions for reference equality - if (set._nativeSet !== null) { - if (shouldAdd) { - prevSize = set._nativeSet.size; - set._nativeSet.add(item); - newSize = set._nativeSet.size; - return newSize === prevSize; - } else { - return set._nativeSet.has(item); - } - } else { - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = [item]; - } - return false; - } - if (!Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { - if (shouldAdd) { - set._items[type].push(item); - } - return false; - } - return true; - } - - case 'undefined': - if (set._items[type]) { - return true; - } else { - if (shouldAdd) { - set._items[type] = true; - } - return false; - } - - case 'object': - if (item === null) { - if (!set._items['null']) { - if (shouldAdd) { - set._items['null'] = true; - } - return false; - } - return true; - } - /* falls through */ - default: - // reduce the search size of heterogeneous sets by creating buckets - // for each type. - type = Object.prototype.toString.call(item); - if (!(type in set._items)) { - if (shouldAdd) { - set._items[type] = [item]; - } - return false; - } - // scan through all previously applied items - if (!Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { - if (shouldAdd) { - set._items[type].push(item); - } - return false; - } - return true; - } -} - -// A simple Set type that honours R.equals semantics -/* harmony default export */ __webpack_exports__["default"] = (_Set); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_aperture.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_aperture.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _aperture; }); -function _aperture(n, list) { - var idx = 0; - var limit = list.length - (n - 1); - var acc = new Array(limit >= 0 ? limit : 0); - while (idx < limit) { - acc[idx] = Array.prototype.slice.call(list, idx, idx + n); - idx += 1; - } - return acc; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_arity.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_arity.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _arity; }); -function _arity(n, fn) { - /* eslint-disable no-unused-vars */ - switch (n) { - case 0: - return function () { - return fn.apply(this, arguments); - }; - case 1: - return function (a0) { - return fn.apply(this, arguments); - }; - case 2: - return function (a0, a1) { - return fn.apply(this, arguments); - }; - case 3: - return function (a0, a1, a2) { - return fn.apply(this, arguments); - }; - case 4: - return function (a0, a1, a2, a3) { - return fn.apply(this, arguments); - }; - case 5: - return function (a0, a1, a2, a3, a4) { - return fn.apply(this, arguments); - }; - case 6: - return function (a0, a1, a2, a3, a4, a5) { - return fn.apply(this, arguments); - }; - case 7: - return function (a0, a1, a2, a3, a4, a5, a6) { - return fn.apply(this, arguments); - }; - case 8: - return function (a0, a1, a2, a3, a4, a5, a6, a7) { - return fn.apply(this, arguments); - }; - case 9: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { - return fn.apply(this, arguments); - }; - case 10: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return fn.apply(this, arguments); - }; - default: - throw new Error('First argument to _arity must be a non-negative integer no greater than ten'); - } -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js": -/*!**************************************************************!*\ - !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _arrayFromIterator; }); -function _arrayFromIterator(iter) { - var list = []; - var next; - while (!(next = iter.next()).done) { - list.push(next.value); - } - return list; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_assertPromise.js": -/*!**********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_assertPromise.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _assertPromise; }); -/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); -/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_toString.js */ "./node_modules/ramda/es/internal/_toString.js"); - - - -function _assertPromise(name, p) { - if (p == null || !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p.then)) { - throw new TypeError('`' + name + '` expected a Promise, received ' + Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p, [])); - } -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_checkForMethod.js": -/*!***********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _checkForMethod; }); -/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); - - -/** - * This checks whether a function has a [methodname] function. If it isn't an - * array it will execute that function otherwise it will default to the ramda - * implementation. - * - * @private - * @param {Function} fn ramda implemtation - * @param {String} methodname property to check for a custom implementation - * @return {Object} Whatever the return value of the method is. - */ -function _checkForMethod(methodname, fn) { - return function () { - var length = arguments.length; - if (length === 0) { - return fn(); - } - var obj = arguments[length - 1]; - return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_clone.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_clone.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _clone; }); -/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneRegExp.js */ "./node_modules/ramda/es/internal/_cloneRegExp.js"); -/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../type.js */ "./node_modules/ramda/es/type.js"); - - - -/** - * Copies an object. - * - * @private - * @param {*} value The value to be copied - * @param {Array} refFrom Array containing the source references - * @param {Array} refTo Array containing the copied source references - * @param {Boolean} deep Whether or not to perform deep cloning. - * @return {*} The copied value. - */ -function _clone(value, refFrom, refTo, deep) { - var copy = function copy(copiedValue) { - var len = refFrom.length; - var idx = 0; - while (idx < len) { - if (value === refFrom[idx]) { - return refTo[idx]; - } - idx += 1; - } - refFrom[idx + 1] = value; - refTo[idx + 1] = copiedValue; - for (var key in value) { - copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; - } - return copiedValue; - }; - switch (Object(_type_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) { - case 'Object': - return copy({}); - case 'Array': - return copy([]); - case 'Date': - return new Date(value.valueOf()); - case 'RegExp': - return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value); - default: - return value; - } -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js": -/*!********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _cloneRegExp; }); -function _cloneRegExp(pattern) { - return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '')); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_complement.js": -/*!*******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_complement.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _complement; }); -function _complement(f) { - return function () { - return !f.apply(this, arguments); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_concat.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_concat.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _concat; }); -/** - * Private `concat` function to merge two array-like objects. - * - * @private - * @param {Array|Arguments} [set1=[]] An array-like object. - * @param {Array|Arguments} [set2=[]] An array-like object. - * @return {Array} A new, merged array. - * @example - * - * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] - */ -function _concat(set1, set2) { - set1 = set1 || []; - set2 = set2 || []; - var idx; - var len1 = set1.length; - var len2 = set2.length; - var result = []; - - idx = 0; - while (idx < len1) { - result[result.length] = set1[idx]; - idx += 1; - } - idx = 0; - while (idx < len2) { - result[result.length] = set2[idx]; - idx += 1; - } - return result; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_createPartialApplicator.js": -/*!********************************************************************!*\ - !*** ./node_modules/ramda/es/internal/_createPartialApplicator.js ***! - \********************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _createPartialApplicator; }); -/* harmony import */ var _arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -function _createPartialApplicator(concat) { - return Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (fn, args) { - return Object(_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Math.max(0, fn.length - args.length), function () { - return fn.apply(this, concat(args, arguments)); - }); - }); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_curry1.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_curry1.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry1; }); -/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); - - -/** - * Optimized internal one-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ -function _curry1(fn) { - return function f1(a) { - if (arguments.length === 0 || Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a)) { - return f1; - } else { - return fn.apply(this, arguments); - } - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_curry2.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_curry2.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry2; }); -/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); - - - -/** - * Optimized internal two-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ -function _curry2(fn) { - return function f2(a, b) { - switch (arguments.length) { - case 0: - return f2; - case 1: - return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) ? f2 : Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { - return fn(a, _b); - }); - default: - return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b) ? f2 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_a) { - return fn(_a, b); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { - return fn(a, _b); - }) : fn(a, b); - } - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_curry3.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_curry3.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry3; }); -/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); - - - - -/** - * Optimized internal three-arity curry function. - * - * @private - * @category Function - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ -function _curry3(fn) { - return function f3(a, b, c) { - switch (arguments.length) { - case 0: - return f3; - case 1: - return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? f3 : Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { - return fn(a, _b, _c); - }); - case 2: - return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? f3 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { - return fn(_a, b, _c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { - return fn(a, _b, _c); - }) : Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_c) { - return fn(a, b, _c); - }); - default: - return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? f3 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _b) { - return fn(_a, _b, c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { - return fn(_a, b, _c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { - return fn(a, _b, _c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_a) { - return fn(_a, b, c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { - return fn(a, _b, c); - }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_c) { - return fn(a, b, _c); - }) : fn(a, b, c); - } - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_curryN.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_curryN.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curryN; }); -/* harmony import */ var _arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); - - - -/** - * Internal curryN function. - * - * @private - * @category Function - * @param {Number} length The arity of the curried function. - * @param {Array} received An array of arguments received thus far. - * @param {Function} fn The function to curry. - * @return {Function} The curried function. - */ -function _curryN(length, received, fn) { - return function () { - var combined = []; - var argsIdx = 0; - var left = length; - var combinedIdx = 0; - while (combinedIdx < received.length || argsIdx < arguments.length) { - var result; - if (combinedIdx < received.length && (!Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(received[combinedIdx]) || argsIdx >= arguments.length)) { - result = received[combinedIdx]; - } else { - result = arguments[argsIdx]; - argsIdx += 1; - } - combined[combinedIdx] = result; - if (!Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(result)) { - left -= 1; - } - combinedIdx += 1; - } - return left <= 0 ? fn.apply(this, combined) : Object(_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(left, _curryN(length, combined, fn)); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_dispatchable.js": -/*!*********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_dispatchable.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _dispatchable; }); -/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _isTransformer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); - - - -/** - * Returns a function that dispatches with different strategies based on the - * object in list position (last argument). If it is an array, executes [fn]. - * Otherwise, if it has a function with one of the given method names, it will - * execute that function (functor case). Otherwise, if it is a transformer, - * uses transducer [xf] to return a new transformer (transducer case). - * Otherwise, it will default to executing [fn]. - * - * @private - * @param {Array} methodNames properties to check for a custom implementation - * @param {Function} xf transducer to initialize if object is transformer - * @param {Function} fn default ramda implementation - * @return {Function} A function that dispatches on object in list position - */ -function _dispatchable(methodNames, xf, fn) { - return function () { - if (arguments.length === 0) { - return fn(); - } - var args = Array.prototype.slice.call(arguments, 0); - var obj = args.pop(); - if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj)) { - var idx = 0; - while (idx < methodNames.length) { - if (typeof obj[methodNames[idx]] === 'function') { - return obj[methodNames[idx]].apply(obj, args); - } - idx += 1; - } - if (Object(_isTransformer_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj)) { - var transducer = xf.apply(null, args); - return transducer(obj); - } - } - return fn.apply(this, arguments); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_dropLast.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_dropLast.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return dropLast; }); -/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../take.js */ "./node_modules/ramda/es/take.js"); - - -function dropLast(n, xs) { - return Object(_take_js__WEBPACK_IMPORTED_MODULE_0__["default"])(n < xs.length ? xs.length - n : 0, xs); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_dropLastWhile.js": -/*!**********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_dropLastWhile.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return dropLastWhile; }); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../slice.js */ "./node_modules/ramda/es/slice.js"); - - -function dropLastWhile(pred, xs) { - var idx = xs.length - 1; - while (idx >= 0 && pred(xs[idx])) { - idx -= 1; - } - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, idx + 1, xs); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_equals.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_equals.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _equals; }); -/* harmony import */ var _arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFromIterator.js */ "./node_modules/ramda/es/internal/_arrayFromIterator.js"); -/* harmony import */ var _includesWith_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); -/* harmony import */ var _functionName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_functionName.js */ "./node_modules/ramda/es/internal/_functionName.js"); -/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _objectIs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_objectIs.js */ "./node_modules/ramda/es/internal/_objectIs.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../keys.js */ "./node_modules/ramda/es/keys.js"); -/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../type.js */ "./node_modules/ramda/es/type.js"); - - - - - - - - -/** - * private _uniqContentEquals function. - * That function is checking equality of 2 iterator contents with 2 assumptions - * - iterators lengths are the same - * - iterators values are unique - * - * false-positive result will be returned for comparision of, e.g. - * - [1,2,3] and [1,2,3,4] - * - [1,1,1] and [1,2,3] - * */ - -function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { - var a = Object(_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(aIterator); - var b = Object(_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bIterator); - - function eq(_a, _b) { - return _equals(_a, _b, stackA.slice(), stackB.slice()); - } - - // if *a* array contains any element that is not included in *b* - return !Object(_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (b, aItem) { - return !Object(_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(eq, aItem, b); - }, b, a); -} - -function _equals(a, b, stackA, stackB) { - if (Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a, b)) { - return true; - } - - var typeA = Object(_type_js__WEBPACK_IMPORTED_MODULE_6__["default"])(a); - - if (typeA !== Object(_type_js__WEBPACK_IMPORTED_MODULE_6__["default"])(b)) { - return false; - } - - if (a == null || b == null) { - return false; - } - - if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { - return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); - } - - if (typeof a.equals === 'function' || typeof b.equals === 'function') { - return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); - } - - switch (typeA) { - case 'Arguments': - case 'Array': - case 'Object': - if (typeof a.constructor === 'function' && Object(_functionName_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.constructor) === 'Promise') { - return a === b; - } - break; - case 'Boolean': - case 'Number': - case 'String': - if (!(typeof a === typeof b && Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.valueOf(), b.valueOf()))) { - return false; - } - break; - case 'Date': - if (!Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.valueOf(), b.valueOf())) { - return false; - } - break; - case 'Error': - return a.name === b.name && a.message === b.message; - case 'RegExp': - if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { - return false; - } - break; - } - - var idx = stackA.length - 1; - while (idx >= 0) { - if (stackA[idx] === a) { - return stackB[idx] === b; - } - idx -= 1; - } - - switch (typeA) { - case 'Map': - if (a.size !== b.size) { - return false; - } - - return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); - case 'Set': - if (a.size !== b.size) { - return false; - } - - return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); - case 'Arguments': - case 'Array': - case 'Object': - case 'Boolean': - case 'Number': - case 'String': - case 'Date': - case 'Error': - case 'RegExp': - case 'Int8Array': - case 'Uint8Array': - case 'Uint8ClampedArray': - case 'Int16Array': - case 'Uint16Array': - case 'Int32Array': - case 'Uint32Array': - case 'Float32Array': - case 'Float64Array': - case 'ArrayBuffer': - break; - default: - // Values of other types are only equal if identical. - return false; - } - - var keysA = Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(a); - if (keysA.length !== Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(b).length) { - return false; - } - - var extendedStackA = stackA.concat([a]); - var extendedStackB = stackB.concat([b]); - - idx = keysA.length - 1; - while (idx >= 0) { - var key = keysA[idx]; - if (!(Object(_has_js__WEBPACK_IMPORTED_MODULE_3__["default"])(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { - return false; - } - idx -= 1; - } - return true; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_filter.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_filter.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _filter; }); -function _filter(fn, list) { - var idx = 0; - var len = list.length; - var result = []; - - while (idx < len) { - if (fn(list[idx])) { - result[result.length] = list[idx]; - } - idx += 1; - } - return result; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_flatCat.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_flatCat.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _forceReduced_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_forceReduced.js */ "./node_modules/ramda/es/internal/_forceReduced.js"); -/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - - -var preservingReduced = function (xf) { - return { - '@@transducer/init': _xfBase_js__WEBPACK_IMPORTED_MODULE_3__["default"].init, - '@@transducer/result': function (result) { - return xf['@@transducer/result'](result); - }, - '@@transducer/step': function (result, input) { - var ret = xf['@@transducer/step'](result, input); - return ret['@@transducer/reduced'] ? Object(_forceReduced_js__WEBPACK_IMPORTED_MODULE_0__["default"])(ret) : ret; - } - }; -}; - -var _flatCat = function _xcat(xf) { - var rxf = preservingReduced(xf); - return { - '@@transducer/init': _xfBase_js__WEBPACK_IMPORTED_MODULE_3__["default"].init, - '@@transducer/result': function (result) { - return rxf['@@transducer/result'](result); - }, - '@@transducer/step': function (result, input) { - return !Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(input) ? Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(rxf, result, [input]) : Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(rxf, result, input); - } - }; -}; - -/* harmony default export */ __webpack_exports__["default"] = (_flatCat); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_forceReduced.js": -/*!*********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_forceReduced.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _forceReduced; }); -function _forceReduced(x) { - return { - '@@transducer/value': x, - '@@transducer/reduced': true - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_functionName.js": -/*!*********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_functionName.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _functionName; }); -function _functionName(f) { - // String(x => x) evaluates to "x => x", so the pattern may not match. - var match = String(f).match(/^function (\w*)/); - return match == null ? '' : match[1]; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_has.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/internal/_has.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _has; }); -function _has(prop, obj) { - return Object.prototype.hasOwnProperty.call(obj, prop); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_identity.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_identity.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _identity; }); -function _identity(x) { - return x; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_includes.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_includes.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _includes; }); -/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_indexOf.js */ "./node_modules/ramda/es/internal/_indexOf.js"); - - -function _includes(a, list) { - return Object(_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_includesWith.js": -/*!*********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_includesWith.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _includesWith; }); -function _includesWith(pred, x, list) { - var idx = 0; - var len = list.length; - - while (idx < len) { - if (pred(x, list[idx])) { - return true; - } - idx += 1; - } - return false; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_indexOf.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_indexOf.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _indexOf; }); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../equals.js */ "./node_modules/ramda/es/equals.js"); - - -function _indexOf(list, a, idx) { - var inf, item; - // Array.prototype.indexOf doesn't exist below IE9 - if (typeof list.indexOf === 'function') { - switch (typeof a) { - case 'number': - if (a === 0) { - // manually crawl the list to distinguish between +0 and -0 - inf = 1 / a; - while (idx < list.length) { - item = list[idx]; - if (item === 0 && 1 / item === inf) { - return idx; - } - idx += 1; - } - return -1; - } else if (a !== a) { - // NaN - while (idx < list.length) { - item = list[idx]; - if (typeof item === 'number' && item !== item) { - return idx; - } - idx += 1; - } - return -1; - } - // non-zero numbers can utilise Set - return list.indexOf(a, idx); - - // all these types can utilise Set - case 'string': - case 'boolean': - case 'function': - case 'undefined': - return list.indexOf(a, idx); - - case 'object': - if (a === null) { - // null can utilise Set - return list.indexOf(a, idx); - } - } - } - // anything else not covered above, defer to R.equals - while (idx < list.length) { - if (Object(_equals_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list[idx], a)) { - return idx; - } - idx += 1; - } - return -1; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isArguments.js": -/*!********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isArguments.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - -var toString = Object.prototype.toString; -var _isArguments = /*#__PURE__*/function () { - return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) { - return toString.call(x) === '[object Arguments]'; - } : function _isArguments(x) { - return Object(_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])('callee', x); - }; -}(); - -/* harmony default export */ __webpack_exports__["default"] = (_isArguments); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isArray.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isArray.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Tests whether or not an object is an array. - * - * @private - * @param {*} val The object to test. - * @return {Boolean} `true` if `val` is an array, `false` otherwise. - * @example - * - * _isArray([]); //=> true - * _isArray(null); //=> false - * _isArray({}); //=> false - */ -/* harmony default export */ __webpack_exports__["default"] = (Array.isArray || function _isArray(val) { - return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; -}); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isArrayLike.js": -/*!********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); - - - - -/** - * Tests whether or not an object is similar to an array. - * - * @private - * @category Type - * @category List - * @sig * -> Boolean - * @param {*} x The object to test. - * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. - * @example - * - * _isArrayLike([]); //=> true - * _isArrayLike(true); //=> false - * _isArrayLike({}); //=> false - * _isArrayLike({length: 10}); //=> false - * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true - */ -var _isArrayLike = /*#__PURE__*/Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isArrayLike(x) { - if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)) { - return true; - } - if (!x) { - return false; - } - if (typeof x !== 'object') { - return false; - } - if (Object(_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x)) { - return false; - } - if (x.nodeType === 1) { - return !!x.length; - } - if (x.length === 0) { - return true; - } - if (x.length > 0) { - return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); - } - return false; -}); -/* harmony default export */ __webpack_exports__["default"] = (_isArrayLike); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isFunction.js": -/*!*******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isFunction.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isFunction; }); -function _isFunction(x) { - return Object.prototype.toString.call(x) === '[object Function]'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isInteger.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isInteger.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Determine if the passed argument is an integer. - * - * @private - * @param {*} n - * @category Type - * @return {Boolean} - */ -/* harmony default export */ __webpack_exports__["default"] = (Number.isInteger || function _isInteger(n) { - return n << 0 === n; -}); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isNumber.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isNumber.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isNumber; }); -function _isNumber(x) { - return Object.prototype.toString.call(x) === '[object Number]'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isObject.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isObject.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isObject; }); -function _isObject(x) { - return Object.prototype.toString.call(x) === '[object Object]'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js": -/*!**********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isPlaceholder; }); -function _isPlaceholder(a) { - return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isRegExp.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isRegExp.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isRegExp; }); -function _isRegExp(x) { - return Object.prototype.toString.call(x) === '[object RegExp]'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isString.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isString.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isString; }); -function _isString(x) { - return Object.prototype.toString.call(x) === '[object String]'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_isTransformer.js": -/*!**********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_isTransformer.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isTransformer; }); -function _isTransformer(obj) { - return obj != null && typeof obj['@@transducer/step'] === 'function'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_makeFlat.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_makeFlat.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _makeFlat; }); -/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); - - -/** - * `_makeFlat` is a helper function that returns a one-level or fully recursive - * function based on the flag passed in. - * - * @private - */ -function _makeFlat(recursive) { - return function flatt(list) { - var value, jlen, j; - var result = []; - var idx = 0; - var ilen = list.length; - - while (idx < ilen) { - if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list[idx])) { - value = recursive ? flatt(list[idx]) : list[idx]; - j = 0; - jlen = value.length; - while (j < jlen) { - result[result.length] = value[j]; - j += 1; - } - } else { - result[result.length] = list[idx]; - } - idx += 1; - } - return result; - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_map.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/internal/_map.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _map; }); -function _map(fn, functor) { - var idx = 0; - var len = functor.length; - var result = Array(len); - while (idx < len) { - result[idx] = fn(functor[idx]); - idx += 1; - } - return result; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_objectAssign.js": -/*!*********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_objectAssign.js ***! - \*********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - -// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign -function _objectAssign(target) { - if (target == null) { - throw new TypeError('Cannot convert undefined or null to object'); - } - - var output = Object(target); - var idx = 1; - var length = arguments.length; - while (idx < length) { - var source = arguments[idx]; - if (source != null) { - for (var nextKey in source) { - if (Object(_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])(nextKey, source)) { - output[nextKey] = source[nextKey]; - } - } - } - idx += 1; - } - return output; -} - -/* harmony default export */ __webpack_exports__["default"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_objectIs.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_objectIs.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is -function _objectIs(a, b) { - // SameValue algorithm - if (a === b) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return a !== 0 || 1 / a === 1 / b; - } else { - // Step 6.a: NaN == NaN - return a !== a && b !== b; - } -} - -/* harmony default export */ __webpack_exports__["default"] = (typeof Object.is === 'function' ? Object.is : _objectIs); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_of.js": -/*!***********************************************!*\ - !*** ./node_modules/ramda/es/internal/_of.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _of; }); -function _of(x) { - return [x]; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_pipe.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/internal/_pipe.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _pipe; }); -function _pipe(f, g) { - return function () { - return g.call(this, f.apply(this, arguments)); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_pipeP.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_pipeP.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _pipeP; }); -function _pipeP(f, g) { - return function () { - var ctx = this; - return f.apply(ctx, arguments).then(function (x) { - return g.call(ctx, x); - }); - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_quote.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_quote.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _quote; }); -function _quote(s) { - var escaped = s.replace(/\\/g, '\\\\').replace(/[\b]/g, '\\b') // \b matches word boundary; [\b] matches backspace - .replace(/\f/g, '\\f').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\t/g, '\\t').replace(/\v/g, '\\v').replace(/\0/g, '\\0'); - - return '"' + escaped.replace(/"/g, '\\"') + '"'; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_reduce.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_reduce.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _reduce; }); -/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); -/* harmony import */ var _xwrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xwrap.js */ "./node_modules/ramda/es/internal/_xwrap.js"); -/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bind.js */ "./node_modules/ramda/es/bind.js"); - - - - -function _arrayReduce(xf, acc, list) { - var idx = 0; - var len = list.length; - while (idx < len) { - acc = xf['@@transducer/step'](acc, list[idx]); - if (acc && acc['@@transducer/reduced']) { - acc = acc['@@transducer/value']; - break; - } - idx += 1; - } - return xf['@@transducer/result'](acc); -} - -function _iterableReduce(xf, acc, iter) { - var step = iter.next(); - while (!step.done) { - acc = xf['@@transducer/step'](acc, step.value); - if (acc && acc['@@transducer/reduced']) { - acc = acc['@@transducer/value']; - break; - } - step = iter.next(); - } - return xf['@@transducer/result'](acc); -} - -function _methodReduce(xf, acc, obj, methodName) { - return xf['@@transducer/result'](obj[methodName](Object(_bind_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xf['@@transducer/step'], xf), acc)); -} - -var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator'; - -function _reduce(fn, acc, list) { - if (typeof fn === 'function') { - fn = Object(_xwrap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn); - } - if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list)) { - return _arrayReduce(fn, acc, list); - } - if (typeof list['fantasy-land/reduce'] === 'function') { - return _methodReduce(fn, acc, list, 'fantasy-land/reduce'); - } - if (list[symIterator] != null) { - return _iterableReduce(fn, acc, list[symIterator]()); - } - if (typeof list.next === 'function') { - return _iterableReduce(fn, acc, list); - } - if (typeof list.reduce === 'function') { - return _methodReduce(fn, acc, list, 'reduce'); - } - - throw new TypeError('reduce: list must be array or iterable'); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_reduced.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_reduced.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _reduced; }); -function _reduced(x) { - return x && x['@@transducer/reduced'] ? x : { - '@@transducer/value': x, - '@@transducer/reduced': true - }; -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_stepCat.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_stepCat.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _stepCat; }); -/* harmony import */ var _objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); -/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); -/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); -/* harmony import */ var _isTransformer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); -/* harmony import */ var _objOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objOf.js */ "./node_modules/ramda/es/objOf.js"); - - - - - - -var _stepCatArray = { - '@@transducer/init': Array, - '@@transducer/step': function (xs, x) { - xs.push(x); - return xs; - }, - '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}; -var _stepCatString = { - '@@transducer/init': String, - '@@transducer/step': function (a, b) { - return a + b; - }, - '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}; -var _stepCatObject = { - '@@transducer/init': Object, - '@@transducer/step': function (result, input) { - return Object(_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(input) ? Object(_objOf_js__WEBPACK_IMPORTED_MODULE_4__["default"])(input[0], input[1]) : input); - }, - '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] -}; - -function _stepCat(obj) { - if (Object(_isTransformer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(obj)) { - return obj; - } - if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { - return _stepCatArray; - } - if (typeof obj === 'string') { - return _stepCatString; - } - if (typeof obj === 'object') { - return _stepCatObject; - } - throw new Error('Cannot create transformer for ' + obj); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_toISOString.js": -/*!********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_toISOString.js ***! - \********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/** - * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>. - */ -var pad = function pad(n) { - return (n < 10 ? '0' : '') + n; -}; - -var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { - return d.toISOString(); -} : function _toISOString(d) { - return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; -}; - -/* harmony default export */ __webpack_exports__["default"] = (_toISOString); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_toString.js": -/*!*****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_toString.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _toString; }); -/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_map.js */ "./node_modules/ramda/es/internal/_map.js"); -/* harmony import */ var _quote_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_quote.js */ "./node_modules/ramda/es/internal/_quote.js"); -/* harmony import */ var _toISOString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toISOString.js */ "./node_modules/ramda/es/internal/_toISOString.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../keys.js */ "./node_modules/ramda/es/keys.js"); -/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../reject.js */ "./node_modules/ramda/es/reject.js"); - - - - - - - -function _toString(x, seen) { - var recur = function recur(y) { - var xs = seen.concat([x]); - return Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(y, xs) ? '<Circular>' : _toString(y, xs); - }; - - // mapPairs :: (Object, [String]) -> [String] - var mapPairs = function (obj, keys) { - return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k) { - return Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(k) + ': ' + recur(obj[k]); - }, keys.slice().sort()); - }; - - switch (Object.prototype.toString.call(x)) { - case '[object Arguments]': - return '(function() { return arguments; }(' + Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).join(', ') + '))'; - case '[object Array]': - return '[' + Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).concat(mapPairs(x, Object(_reject_js__WEBPACK_IMPORTED_MODULE_5__["default"])(function (k) { - return (/^\d+$/.test(k) - ); - }, Object(_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)))).join(', ') + ']'; - case '[object Boolean]': - return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); - case '[object Date]': - return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_toISOString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x))) + ')'; - case '[object Null]': - return 'null'; - case '[object Number]': - return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10); - case '[object String]': - return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x); - case '[object Undefined]': - return 'undefined'; - default: - if (typeof x.toString === 'function') { - var repr = x.toString(); - if (repr !== '[object Object]') { - return repr; - } - } - return '{' + mapPairs(x, Object(_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)).join(', ') + '}'; - } -} - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xall.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xall.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XAll = /*#__PURE__*/function () { - function XAll(f, xf) { - this.xf = xf; - this.f = f; - this.all = true; - } - XAll.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XAll.prototype['@@transducer/result'] = function (result) { - if (this.all) { - result = this.xf['@@transducer/step'](result, true); - } - return this.xf['@@transducer/result'](result); - }; - XAll.prototype['@@transducer/step'] = function (result, input) { - if (!this.f(input)) { - this.all = false; - result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, false)); - } - return result; - }; - - return XAll; -}(); - -var _xall = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xall(f, xf) { - return new XAll(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xall); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xany.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xany.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XAny = /*#__PURE__*/function () { - function XAny(f, xf) { - this.xf = xf; - this.f = f; - this.any = false; - } - XAny.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XAny.prototype['@@transducer/result'] = function (result) { - if (!this.any) { - result = this.xf['@@transducer/step'](result, false); - } - return this.xf['@@transducer/result'](result); - }; - XAny.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.any = true; - result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, true)); - } - return result; - }; - - return XAny; -}(); - -var _xany = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xany(f, xf) { - return new XAny(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xany); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xaperture.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xaperture.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XAperture = /*#__PURE__*/function () { - function XAperture(n, xf) { - this.xf = xf; - this.pos = 0; - this.full = false; - this.acc = new Array(n); - } - XAperture.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XAperture.prototype['@@transducer/result'] = function (result) { - this.acc = null; - return this.xf['@@transducer/result'](result); - }; - XAperture.prototype['@@transducer/step'] = function (result, input) { - this.store(input); - return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result; - }; - XAperture.prototype.store = function (input) { - this.acc[this.pos] = input; - this.pos += 1; - if (this.pos === this.acc.length) { - this.pos = 0; - this.full = true; - } - }; - XAperture.prototype.getCopy = function () { - return Object(_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); - }; - - return XAperture; -}(); - -var _xaperture = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function _xaperture(n, xf) { - return new XAperture(n, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xaperture); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xchain.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xchain.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _flatCat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatCat.js */ "./node_modules/ramda/es/internal/_flatCat.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../map.js */ "./node_modules/ramda/es/map.js"); - - - - -var _xchain = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xchain(f, xf) { - return Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(f, Object(_flatCat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xf)); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xchain); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xdrop.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xdrop.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XDrop = /*#__PURE__*/function () { - function XDrop(n, xf) { - this.xf = xf; - this.n = n; - } - XDrop.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XDrop.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XDrop.prototype['@@transducer/step'] = function (result, input) { - if (this.n > 0) { - this.n -= 1; - return result; - } - return this.xf['@@transducer/step'](result, input); - }; - - return XDrop; -}(); - -var _xdrop = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdrop(n, xf) { - return new XDrop(n, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xdrop); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xdropLast.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xdropLast.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XDropLast = /*#__PURE__*/function () { - function XDropLast(n, xf) { - this.xf = xf; - this.pos = 0; - this.full = false; - this.acc = new Array(n); - } - XDropLast.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XDropLast.prototype['@@transducer/result'] = function (result) { - this.acc = null; - return this.xf['@@transducer/result'](result); - }; - XDropLast.prototype['@@transducer/step'] = function (result, input) { - if (this.full) { - result = this.xf['@@transducer/step'](result, this.acc[this.pos]); - } - this.store(input); - return result; - }; - XDropLast.prototype.store = function (input) { - this.acc[this.pos] = input; - this.pos += 1; - if (this.pos === this.acc.length) { - this.pos = 0; - this.full = true; - } - }; - - return XDropLast; -}(); - -var _xdropLast = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropLast(n, xf) { - return new XDropLast(n, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xdropLast); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xdropLastWhile.js": -/*!***********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xdropLastWhile.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XDropLastWhile = /*#__PURE__*/function () { - function XDropLastWhile(fn, xf) { - this.f = fn; - this.retained = []; - this.xf = xf; - } - XDropLastWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XDropLastWhile.prototype['@@transducer/result'] = function (result) { - this.retained = null; - return this.xf['@@transducer/result'](result); - }; - XDropLastWhile.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.retain(result, input) : this.flush(result, input); - }; - XDropLastWhile.prototype.flush = function (result, input) { - result = Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'], result, this.retained); - this.retained = []; - return this.xf['@@transducer/step'](result, input); - }; - XDropLastWhile.prototype.retain = function (result, input) { - this.retained.push(input); - return result; - }; - - return XDropLastWhile; -}(); - -var _xdropLastWhile = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropLastWhile(fn, xf) { - return new XDropLastWhile(fn, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xdropLastWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js": -/*!*************************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xdropRepeatsWith.js ***! - \*************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XDropRepeatsWith = /*#__PURE__*/function () { - function XDropRepeatsWith(pred, xf) { - this.xf = xf; - this.pred = pred; - this.lastValue = undefined; - this.seenFirstValue = false; - } - - XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { - var sameAsLast = false; - if (!this.seenFirstValue) { - this.seenFirstValue = true; - } else if (this.pred(this.lastValue, input)) { - sameAsLast = true; - } - this.lastValue = input; - return sameAsLast ? result : this.xf['@@transducer/step'](result, input); - }; - - return XDropRepeatsWith; -}(); - -var _xdropRepeatsWith = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropRepeatsWith(pred, xf) { - return new XDropRepeatsWith(pred, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xdropRepeatsWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xdropWhile.js": -/*!*******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xdropWhile.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XDropWhile = /*#__PURE__*/function () { - function XDropWhile(f, xf) { - this.xf = xf; - this.f = f; - } - XDropWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XDropWhile.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XDropWhile.prototype['@@transducer/step'] = function (result, input) { - if (this.f) { - if (this.f(input)) { - return result; - } - this.f = null; - } - return this.xf['@@transducer/step'](result, input); - }; - - return XDropWhile; -}(); - -var _xdropWhile = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropWhile(f, xf) { - return new XDropWhile(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xdropWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfBase.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfBase.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony default export */ __webpack_exports__["default"] = ({ - init: function () { - return this.xf['@@transducer/init'](); - }, - result: function (result) { - return this.xf['@@transducer/result'](result); - } -}); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfilter.js": -/*!****************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfilter.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XFilter = /*#__PURE__*/function () { - function XFilter(f, xf) { - this.xf = xf; - this.f = f; - } - XFilter.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XFilter.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XFilter.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.xf['@@transducer/step'](result, input) : result; - }; - - return XFilter; -}(); - -var _xfilter = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfilter(f, xf) { - return new XFilter(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xfilter); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfind.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfind.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XFind = /*#__PURE__*/function () { - function XFind(f, xf) { - this.xf = xf; - this.f = f; - this.found = false; - } - XFind.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XFind.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, void 0); - } - return this.xf['@@transducer/result'](result); - }; - XFind.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.found = true; - result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, input)); - } - return result; - }; - - return XFind; -}(); - -var _xfind = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfind(f, xf) { - return new XFind(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xfind); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfindIndex.js": -/*!*******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XFindIndex = /*#__PURE__*/function () { - function XFindIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.found = false; - } - XFindIndex.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XFindIndex.prototype['@@transducer/result'] = function (result) { - if (!this.found) { - result = this.xf['@@transducer/step'](result, -1); - } - return this.xf['@@transducer/result'](result); - }; - XFindIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.found = true; - result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, this.idx)); - } - return result; - }; - - return XFindIndex; -}(); - -var _xfindIndex = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindIndex(f, xf) { - return new XFindIndex(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xfindIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfindLast.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfindLast.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XFindLast = /*#__PURE__*/function () { - function XFindLast(f, xf) { - this.xf = xf; - this.f = f; - } - XFindLast.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XFindLast.prototype['@@transducer/result'] = function (result) { - return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last)); - }; - XFindLast.prototype['@@transducer/step'] = function (result, input) { - if (this.f(input)) { - this.last = input; - } - return result; - }; - - return XFindLast; -}(); - -var _xfindLast = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindLast(f, xf) { - return new XFindLast(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xfindLast); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xfindLastIndex.js": -/*!***********************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xfindLastIndex.js ***! - \***********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XFindLastIndex = /*#__PURE__*/function () { - function XFindLastIndex(f, xf) { - this.xf = xf; - this.f = f; - this.idx = -1; - this.lastIdx = -1; - } - XFindLastIndex.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XFindLastIndex.prototype['@@transducer/result'] = function (result) { - return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx)); - }; - XFindLastIndex.prototype['@@transducer/step'] = function (result, input) { - this.idx += 1; - if (this.f(input)) { - this.lastIdx = this.idx; - } - return result; - }; - - return XFindLastIndex; -}(); - -var _xfindLastIndex = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindLastIndex(f, xf) { - return new XFindLastIndex(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xfindLastIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xmap.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xmap.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XMap = /*#__PURE__*/function () { - function XMap(f, xf) { - this.xf = xf; - this.f = f; - } - XMap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XMap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XMap.prototype['@@transducer/step'] = function (result, input) { - return this.xf['@@transducer/step'](result, this.f(input)); - }; - - return XMap; -}(); - -var _xmap = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xmap(f, xf) { - return new XMap(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xmap); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xreduceBy.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); -/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XReduceBy = /*#__PURE__*/function () { - function XReduceBy(valueFn, valueAcc, keyFn, xf) { - this.valueFn = valueFn; - this.valueAcc = valueAcc; - this.keyFn = keyFn; - this.xf = xf; - this.inputs = {}; - } - XReduceBy.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XReduceBy.prototype['@@transducer/result'] = function (result) { - var key; - for (key in this.inputs) { - if (Object(_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(key, this.inputs)) { - result = this.xf['@@transducer/step'](result, this.inputs[key]); - if (result['@@transducer/reduced']) { - result = result['@@transducer/value']; - break; - } - } - } - this.inputs = null; - return this.xf['@@transducer/result'](result); - }; - XReduceBy.prototype['@@transducer/step'] = function (result, input) { - var key = this.keyFn(input); - this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; - this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); - return result; - }; - - return XReduceBy; -}(); - -var _xreduceBy = /*#__PURE__*/Object(_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) { - return new XReduceBy(valueFn, valueAcc, keyFn, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xreduceBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xtake.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xtake.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XTake = /*#__PURE__*/function () { - function XTake(n, xf) { - this.xf = xf; - this.n = n; - this.i = 0; - } - XTake.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XTake.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].result; - XTake.prototype['@@transducer/step'] = function (result, input) { - this.i += 1; - var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input); - return this.n >= 0 && this.i >= this.n ? Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(ret) : ret; - }; - - return XTake; -}(); - -var _xtake = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtake(n, xf) { - return new XTake(n, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xtake); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xtakeWhile.js": -/*!*******************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xtakeWhile.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - - -var XTakeWhile = /*#__PURE__*/function () { - function XTakeWhile(f, xf) { - this.xf = xf; - this.f = f; - } - XTakeWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; - XTakeWhile.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].result; - XTakeWhile.prototype['@@transducer/step'] = function (result, input) { - return this.f(input) ? this.xf['@@transducer/step'](result, input) : Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(result); - }; - - return XTakeWhile; -}(); - -var _xtakeWhile = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtakeWhile(f, xf) { - return new XTakeWhile(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xtakeWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xtap.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xtap.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); - - - -var XTap = /*#__PURE__*/function () { - function XTap(f, xf) { - this.xf = xf; - this.f = f; - } - XTap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; - XTap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; - XTap.prototype['@@transducer/step'] = function (result, input) { - this.f(input); - return this.xf['@@transducer/step'](result, input); - }; - - return XTap; -}(); - -var _xtap = /*#__PURE__*/Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtap(f, xf) { - return new XTap(f, xf); -}); -/* harmony default export */ __webpack_exports__["default"] = (_xtap); - -/***/ }), - -/***/ "./node_modules/ramda/es/internal/_xwrap.js": -/*!**************************************************!*\ - !*** ./node_modules/ramda/es/internal/_xwrap.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _xwrap; }); -var XWrap = /*#__PURE__*/function () { - function XWrap(fn) { - this.f = fn; - } - XWrap.prototype['@@transducer/init'] = function () { - throw new Error('init not implemented on XWrap'); - }; - XWrap.prototype['@@transducer/result'] = function (acc) { - return acc; - }; - XWrap.prototype['@@transducer/step'] = function (acc, x) { - return this.f(acc, x); - }; - - return XWrap; -}(); - -function _xwrap(fn) { - return new XWrap(fn); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/intersection.js": -/*!***********************************************!*\ - !*** ./node_modules/ramda/es/intersection.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); -/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); -/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); - - - - - - -/** - * Combines two lists into a set (i.e. no duplicates) composed of those - * elements common to both lists. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The list of elements found in both `list1` and `list2`. - * @see R.innerJoin - * @example - * - * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3] - */ -var intersection = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function intersection(list1, list2) { - var lookupList, filteredList; - if (list1.length > list2.length) { - lookupList = list1; - filteredList = list2; - } else { - lookupList = list2; - filteredList = list1; - } - return Object(_uniq_js__WEBPACK_IMPORTED_MODULE_4__["default"])(Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_flip_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(lookupList), filteredList)); -}); -/* harmony default export */ __webpack_exports__["default"] = (intersection); - -/***/ }), - -/***/ "./node_modules/ramda/es/intersperse.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/intersperse.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Creates a new list with the separator interposed between elements. - * - * Dispatches to the `intersperse` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig a -> [a] -> [a] - * @param {*} separator The element to add to the list. - * @param {Array} list The list to be interposed. - * @return {Array} The new list. - * @example - * - * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's'] - */ -var intersperse = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('intersperse', function intersperse(separator, list) { - var out = []; - var idx = 0; - var length = list.length; - while (idx < length) { - if (idx === length - 1) { - out.push(list[idx]); - } else { - out.push(list[idx], separator); - } - idx += 1; - } - return out; -})); -/* harmony default export */ __webpack_exports__["default"] = (intersperse); - -/***/ }), - -/***/ "./node_modules/ramda/es/into.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/into.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone.js */ "./node_modules/ramda/es/internal/_clone.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_isTransformer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_stepCat_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_stepCat.js */ "./node_modules/ramda/es/internal/_stepCat.js"); - - - - - - -/** - * Transforms the items of the list with the transducer and appends the - * transformed items to the accumulator using an appropriate iterator function - * based on the accumulator type. - * - * The accumulator can be an array, string, object or a transformer. Iterated - * items will be appended to arrays and concatenated to strings. Objects will - * be merged directly or 2-item arrays will be merged as key, value pairs. - * - * The accumulator can also be a transformer object that provides a 2-arity - * reducing iterator function, step, 0-arity initial value function, init, and - * 1-arity result extraction function result. The step function is used as the - * iterator function in reduce. The result function is used to convert the - * final accumulator into the return type and in most cases is R.identity. The - * init function is used to provide the initial accumulator. - * - * The iteration is performed with [`R.reduce`](#reduce) after initializing the - * transducer. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig a -> (b -> b) -> [c] -> a - * @param {*} acc The initial accumulator value. - * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.transduce - * @example - * - * const numbers = [1, 2, 3, 4]; - * const transducer = R.compose(R.map(R.add(1)), R.take(2)); - * - * R.into([], transducer, numbers); //=> [2, 3] - * - * const intoArray = R.into([]); - * intoArray(transducer, numbers); //=> [2, 3] - */ -var into = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function into(acc, xf, list) { - return Object(_internal_isTransformer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(acc) ? Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(xf(acc), acc['@@transducer/init'](), list) : Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(xf(Object(_internal_stepCat_js__WEBPACK_IMPORTED_MODULE_4__["default"])(acc)), Object(_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, [], [], false), list); -}); -/* harmony default export */ __webpack_exports__["default"] = (into); - -/***/ }), - -/***/ "./node_modules/ramda/es/invert.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/invert.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - - -/** - * Same as [`R.invertObj`](#invertObj), however this accounts for objects with - * duplicate values by putting the values into an array. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {s: x} -> {x: [ s, ... ]} - * @param {Object} obj The object or array to invert - * @return {Object} out A new object with keys in an array. - * @see R.invertObj - * @example - * - * const raceResultsByFirstName = { - * first: 'alice', - * second: 'jake', - * third: 'alice', - * }; - * R.invert(raceResultsByFirstName); - * //=> { 'alice': ['first', 'third'], 'jake':['second'] } - */ -var invert = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invert(obj) { - var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj); - var len = props.length; - var idx = 0; - var out = {}; - - while (idx < len) { - var key = props[idx]; - var val = obj[key]; - var list = Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, out) ? out[val] : out[val] = []; - list[list.length] = key; - idx += 1; - } - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (invert); - -/***/ }), - -/***/ "./node_modules/ramda/es/invertObj.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/invertObj.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - -/** - * Returns a new object with the keys of the given object as values, and the - * values of the given object, which are coerced to strings, as keys. Note - * that the last key found is preferred when handling the same value. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig {s: x} -> {x: s} - * @param {Object} obj The object or array to invert - * @return {Object} out A new object - * @see R.invert - * @example - * - * const raceResults = { - * first: 'alice', - * second: 'jake' - * }; - * R.invertObj(raceResults); - * //=> { 'alice': 'first', 'jake':'second' } - * - * // Alternatively: - * const raceResults = ['alice', 'jake']; - * R.invertObj(raceResults); - * //=> { 'alice': '0', 'jake':'1' } - */ -var invertObj = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invertObj(obj) { - var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); - var len = props.length; - var idx = 0; - var out = {}; - - while (idx < len) { - var key = props[idx]; - out[obj[key]] = key; - idx += 1; - } - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (invertObj); - -/***/ }), - -/***/ "./node_modules/ramda/es/invoker.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/invoker.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); - - - - - -/** - * Turns a named method with a specified arity into a function that can be - * called directly supplied with arguments and a target object. - * - * The returned function is curried and accepts `arity + 1` parameters where - * the final parameter is the target object. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *) - * @param {Number} arity Number of arguments the returned function should take - * before the target object. - * @param {String} method Name of the method to call. - * @return {Function} A new curried function. - * @see R.construct - * @example - * - * const sliceFrom = R.invoker(1, 'slice'); - * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm' - * const sliceFrom6 = R.invoker(2, 'slice')(6); - * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh' - * @symb R.invoker(0, 'method')(o) = o['method']() - * @symb R.invoker(1, 'method')(a, o) = o['method'](a) - * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b) - */ -var invoker = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invoker(arity, method) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arity + 1, function () { - var target = arguments[arity]; - if (target != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(target[method])) { - return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); - } - throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target) + ' does not have a method named "' + method + '"'); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (invoker); - -/***/ }), - -/***/ "./node_modules/ramda/es/is.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/is.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * See if an object (`val`) is an instance of the supplied constructor. This - * function will check up the inheritance chain, if any. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Type - * @sig (* -> {*}) -> a -> Boolean - * @param {Object} ctor A constructor - * @param {*} val The value to test - * @return {Boolean} - * @example - * - * R.is(Object, {}); //=> true - * R.is(Number, 1); //=> true - * R.is(Object, 1); //=> false - * R.is(String, 's'); //=> true - * R.is(String, new String('')); //=> true - * R.is(Object, new String('')); //=> true - * R.is(Object, 's'); //=> false - * R.is(Number, {}); //=> false - */ -var is = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function is(Ctor, val) { - return val != null && val.constructor === Ctor || val instanceof Ctor; -}); -/* harmony default export */ __webpack_exports__["default"] = (is); - -/***/ }), - -/***/ "./node_modules/ramda/es/isEmpty.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/isEmpty.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _empty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./empty.js */ "./node_modules/ramda/es/empty.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - - -/** - * Returns `true` if the given value is its type's empty value; `false` - * otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig a -> Boolean - * @param {*} x - * @return {Boolean} - * @see R.empty - * @example - * - * R.isEmpty([1, 2, 3]); //=> false - * R.isEmpty([]); //=> true - * R.isEmpty(''); //=> true - * R.isEmpty(null); //=> false - * R.isEmpty({}); //=> true - * R.isEmpty({length: 0}); //=> false - */ -var isEmpty = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isEmpty(x) { - return x != null && Object(_equals_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x, Object(_empty_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)); -}); -/* harmony default export */ __webpack_exports__["default"] = (isEmpty); - -/***/ }), - -/***/ "./node_modules/ramda/es/isNil.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/isNil.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Checks if the input value is `null` or `undefined`. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Type - * @sig * -> Boolean - * @param {*} x The value to test. - * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`. - * @example - * - * R.isNil(null); //=> true - * R.isNil(undefined); //=> true - * R.isNil(0); //=> false - * R.isNil([]); //=> false - */ -var isNil = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isNil(x) { - return x == null; -}); -/* harmony default export */ __webpack_exports__["default"] = (isNil); - -/***/ }), - -/***/ "./node_modules/ramda/es/join.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/join.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); - - -/** - * Returns a string made by inserting the `separator` between each element and - * concatenating all the elements into a single string. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig String -> [a] -> String - * @param {Number|String} separator The string used to separate the elements. - * @param {Array} xs The elements to join into a string. - * @return {String} str The string made by concatenating `xs` with `separator`. - * @see R.split - * @example - * - * const spacer = R.join(' '); - * spacer(['a', 2, 3.4]); //=> 'a 2 3.4' - * R.join('|', [1, 2, 3]); //=> '1|2|3' - */ -var join = /*#__PURE__*/Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'join'); -/* harmony default export */ __webpack_exports__["default"] = (join); - -/***/ }), - -/***/ "./node_modules/ramda/es/juxt.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/juxt.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _converge_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./converge.js */ "./node_modules/ramda/es/converge.js"); - - - -/** - * juxt applies a list of functions to a list of values. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Function - * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n]) - * @param {Array} fns An array of functions - * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters. - * @see R.applySpec - * @example - * - * const getRange = R.juxt([Math.min, Math.max]); - * getRange(3, 4, 9, -3); //=> [-3, 9] - * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)] - */ -var juxt = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function juxt(fns) { - return Object(_converge_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function () { - return Array.prototype.slice.call(arguments, 0); - }, fns); -}); -/* harmony default export */ __webpack_exports__["default"] = (juxt); - -/***/ }), - -/***/ "./node_modules/ramda/es/keys.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/keys.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArguments.js */ "./node_modules/ramda/es/internal/_isArguments.js"); - - - - -// cover IE < 9 keys issues -var hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString'); -var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; -// Safari bug -var hasArgsEnumBug = /*#__PURE__*/function () { - 'use strict'; - - return arguments.propertyIsEnumerable('length'); -}(); - -var contains = function contains(list, item) { - var idx = 0; - while (idx < list.length) { - if (list[idx] === item) { - return true; - } - idx += 1; - } - return false; -}; - -/** - * Returns a list containing the names of all the enumerable own properties of - * the supplied object. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {k: v} -> [k] - * @param {Object} obj The object to extract properties from - * @return {Array} An array of the object's own properties. - * @see R.keysIn, R.values - * @example - * - * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c'] - */ -var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { - return Object(obj) !== obj ? [] : Object.keys(obj); -}) : /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { - if (Object(obj) !== obj) { - return []; - } - var prop, nIdx; - var ks = []; - var checkArgsLength = hasArgsEnumBug && Object(_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj); - for (prop in obj) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj) && (!checkArgsLength || prop !== 'length')) { - ks[ks.length] = prop; - } - } - if (hasEnumBug) { - nIdx = nonEnumerableProps.length - 1; - while (nIdx >= 0) { - prop = nonEnumerableProps[nIdx]; - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj) && !contains(ks, prop)) { - ks[ks.length] = prop; - } - nIdx -= 1; - } - } - return ks; -}); -/* harmony default export */ __webpack_exports__["default"] = (keys); - -/***/ }), - -/***/ "./node_modules/ramda/es/keysIn.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/keysIn.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Returns a list containing the names of all the properties of the supplied - * object, including prototype properties. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Object - * @sig {k: v} -> [k] - * @param {Object} obj The object to extract properties from - * @return {Array} An array of the object's own and prototype properties. - * @see R.keys, R.valuesIn - * @example - * - * const F = function() { this.x = 'X'; }; - * F.prototype.y = 'Y'; - * const f = new F(); - * R.keysIn(f); //=> ['x', 'y'] - */ -var keysIn = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keysIn(obj) { - var prop; - var ks = []; - for (prop in obj) { - ks[ks.length] = prop; - } - return ks; -}); -/* harmony default export */ __webpack_exports__["default"] = (keysIn); - -/***/ }), - -/***/ "./node_modules/ramda/es/last.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/last.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); - - -/** - * Returns the last element of the given list or string. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig [a] -> a | Undefined - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.init, R.head, R.tail - * @example - * - * R.last(['fi', 'fo', 'fum']); //=> 'fum' - * R.last([]); //=> undefined - * - * R.last('abc'); //=> 'c' - * R.last(''); //=> '' - */ -var last = /*#__PURE__*/Object(_nth_js__WEBPACK_IMPORTED_MODULE_0__["default"])(-1); -/* harmony default export */ __webpack_exports__["default"] = (last); - -/***/ }), - -/***/ "./node_modules/ramda/es/lastIndexOf.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/lastIndexOf.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - - -/** - * Returns the position of the last occurrence of an item in an array, or -1 if - * the item is not included in the array. [`R.equals`](#equals) is used to - * determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> Number - * @param {*} target The item to find. - * @param {Array} xs The array to search in. - * @return {Number} the index of the target, or -1 if the target is not found. - * @see R.indexOf - * @example - * - * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6 - * R.lastIndexOf(10, [1,2,3,4]); //=> -1 - */ -var lastIndexOf = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lastIndexOf(target, xs) { - if (typeof xs.lastIndexOf === 'function' && !Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xs)) { - return xs.lastIndexOf(target); - } else { - var idx = xs.length - 1; - while (idx >= 0) { - if (Object(_equals_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xs[idx], target)) { - return idx; - } - idx -= 1; - } - return -1; - } -}); -/* harmony default export */ __webpack_exports__["default"] = (lastIndexOf); - -/***/ }), - -/***/ "./node_modules/ramda/es/length.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/length.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber.js */ "./node_modules/ramda/es/internal/_isNumber.js"); - - - -/** - * Returns the number of elements in the array by returning `list.length`. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig [a] -> Number - * @param {Array} list The array to inspect. - * @return {Number} The length of the array. - * @example - * - * R.length([]); //=> 0 - * R.length([1, 2, 3]); //=> 3 - */ -var length = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function length(list) { - return list != null && Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list.length) ? list.length : NaN; -}); -/* harmony default export */ __webpack_exports__["default"] = (length); - -/***/ }), - -/***/ "./node_modules/ramda/es/lens.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/lens.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); - - - -/** - * Returns a lens for the given getter and setter functions. The getter "gets" - * the value of the focus; the setter "sets" the value of the focus. The setter - * should not mutate the data structure. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig (s -> a) -> ((a, s) -> s) -> Lens s a - * @param {Function} getter - * @param {Function} setter - * @return {Lens} - * @see R.view, R.set, R.over, R.lensIndex, R.lensProp - * @example - * - * const xLens = R.lens(R.prop('x'), R.assoc('x')); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} - */ -var lens = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lens(getter, setter) { - return function (toFunctorFn) { - return function (target) { - return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (focus) { - return setter(focus, target); - }, toFunctorFn(getter(target))); - }; - }; -}); -/* harmony default export */ __webpack_exports__["default"] = (lens); - -/***/ }), - -/***/ "./node_modules/ramda/es/lensIndex.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/lensIndex.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); -/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); -/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); - - - - - -/** - * Returns a lens whose focus is the specified index. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig Number -> Lens s a - * @param {Number} n - * @return {Lens} - * @see R.view, R.set, R.over - * @example - * - * const headLens = R.lensIndex(0); - * - * R.view(headLens, ['a', 'b', 'c']); //=> 'a' - * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c'] - * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c'] - */ -var lensIndex = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensIndex(n) { - return Object(_lens_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n), Object(_update_js__WEBPACK_IMPORTED_MODULE_3__["default"])(n)); -}); -/* harmony default export */ __webpack_exports__["default"] = (lensIndex); - -/***/ }), - -/***/ "./node_modules/ramda/es/lensPath.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/lensPath.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _assocPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assocPath.js */ "./node_modules/ramda/es/assocPath.js"); -/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); - - - - - -/** - * Returns a lens whose focus is the specified path. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Object - * @typedefn Idx = String | Int - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig [Idx] -> Lens s a - * @param {Array} path The path to use. - * @return {Lens} - * @see R.view, R.set, R.over - * @example - * - * const xHeadYLens = R.lensPath(['x', 0, 'y']); - * - * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> 2 - * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]} - * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); - * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]} - */ -var lensPath = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensPath(p) { - return Object(_lens_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_path_js__WEBPACK_IMPORTED_MODULE_3__["default"])(p), Object(_assocPath_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p)); -}); -/* harmony default export */ __webpack_exports__["default"] = (lensPath); - -/***/ }), - -/***/ "./node_modules/ramda/es/lensProp.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/lensProp.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); -/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); -/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); - - - - - -/** - * Returns a lens whose focus is the specified property. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig String -> Lens s a - * @param {String} k - * @return {Lens} - * @see R.view, R.set, R.over - * @example - * - * const xLens = R.lensProp('x'); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} - */ -var lensProp = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensProp(k) { - return Object(_lens_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_prop_js__WEBPACK_IMPORTED_MODULE_3__["default"])(k), Object(_assoc_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k)); -}); -/* harmony default export */ __webpack_exports__["default"] = (lensProp); - -/***/ }), - -/***/ "./node_modules/ramda/es/lift.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/lift.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _liftN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./liftN.js */ "./node_modules/ramda/es/liftN.js"); - - - -/** - * "lifts" a function of arity > 1 so that it may "map over" a list, Function or other - * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Function - * @sig (*... -> *) -> ([*]... -> [*]) - * @param {Function} fn The function to lift into higher context - * @return {Function} The lifted function. - * @see R.liftN - * @example - * - * const madd3 = R.lift((a, b, c) => a + b + c); - * - * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] - * - * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e); - * - * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24] - */ -var lift = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lift(fn) { - return Object(_liftN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); -}); -/* harmony default export */ __webpack_exports__["default"] = (lift); - -/***/ }), - -/***/ "./node_modules/ramda/es/liftN.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/liftN.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); - - - - - - -/** - * "lifts" a function to be the specified arity, so that it may "map over" that - * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Function - * @sig Number -> (*... -> *) -> ([*]... -> [*]) - * @param {Function} fn The function to lift into higher context - * @return {Function} The lifted function. - * @see R.lift, R.ap - * @example - * - * const madd3 = R.liftN(3, (...args) => R.sum(args)); - * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] - */ -var liftN = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function liftN(arity, fn) { - var lifted = Object(_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arity, fn); - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arity, function () { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_ap_js__WEBPACK_IMPORTED_MODULE_2__["default"], Object(_map_js__WEBPACK_IMPORTED_MODULE_4__["default"])(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (liftN); - -/***/ }), - -/***/ "./node_modules/ramda/es/lt.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/lt.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if the first argument is less than the second; `false` - * otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {*} a - * @param {*} b - * @return {Boolean} - * @see R.gt - * @example - * - * R.lt(2, 1); //=> false - * R.lt(2, 2); //=> false - * R.lt(2, 3); //=> true - * R.lt('a', 'z'); //=> true - * R.lt('z', 'a'); //=> false - */ -var lt = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lt(a, b) { - return a < b; -}); -/* harmony default export */ __webpack_exports__["default"] = (lt); - -/***/ }), - -/***/ "./node_modules/ramda/es/lte.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/lte.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if the first argument is less than or equal to the second; - * `false` otherwise. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> Boolean - * @param {Number} a - * @param {Number} b - * @return {Boolean} - * @see R.gte - * @example - * - * R.lte(2, 1); //=> false - * R.lte(2, 2); //=> true - * R.lte(2, 3); //=> true - * R.lte('a', 'z'); //=> true - * R.lte('z', 'a'); //=> false - */ -var lte = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lte(a, b) { - return a <= b; -}); -/* harmony default export */ __webpack_exports__["default"] = (lte); - -/***/ }), - -/***/ "./node_modules/ramda/es/map.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/map.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_xmap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xmap.js */ "./node_modules/ramda/es/internal/_xmap.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - - - - - - -/** - * Takes a function and - * a [functor](https://github.com/fantasyland/fantasy-land#functor), - * applies the function to each of the functor's values, and returns - * a functor of the same shape. - * - * Ramda provides suitable `map` implementations for `Array` and `Object`, - * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. - * - * Dispatches to the `map` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * Also treats functions as functors and will compose them together. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Functor f => (a -> b) -> f a -> f b - * @param {Function} fn The function to be called on every element of the input `list`. - * @param {Array} list The list to be iterated over. - * @return {Array} The new list. - * @see R.transduce, R.addIndex - * @example - * - * const double = x => x * 2; - * - * R.map(double, [1, 2, 3]); //=> [2, 4, 6] - * - * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} - * @symb R.map(f, [a, b]) = [f(a), f(b)] - * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } - * @symb R.map(f, functor_o) = functor_o.map(f) - */ -var map = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/map', 'map'], _internal_xmap_js__WEBPACK_IMPORTED_MODULE_4__["default"], function map(fn, functor) { - switch (Object.prototype.toString.call(functor)) { - case '[object Function]': - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_5__["default"])(functor.length, function () { - return fn.call(this, functor.apply(this, arguments)); - }); - case '[object Object]': - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (acc, key) { - acc[key] = fn(functor[key]); - return acc; - }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(functor)); - default: - return Object(_internal_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(fn, functor); - } -})); -/* harmony default export */ __webpack_exports__["default"] = (map); - -/***/ }), - -/***/ "./node_modules/ramda/es/mapAccum.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/mapAccum.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * The `mapAccum` function behaves like a combination of map and reduce; it - * applies a function to each element of a list, passing an accumulating - * parameter from left to right, and returning a final value of this - * accumulator together with the new list. - * - * The iterator function receives two arguments, *acc* and *value*, and should - * return a tuple *[acc, value]*. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y]) - * @param {Function} fn The function to be called on every element of the input `list`. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.scan, R.addIndex, R.mapAccumRight - * @example - * - * const digits = ['1', '2', '3', '4']; - * const appender = (a, b) => [a + b, a + b]; - * - * R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']] - * @symb R.mapAccum(f, a, [b, c, d]) = [ - * f(f(f(a, b)[0], c)[0], d)[0], - * [ - * f(a, b)[1], - * f(f(a, b)[0], c)[1], - * f(f(f(a, b)[0], c)[0], d)[1] - * ] - * ] - */ -var mapAccum = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapAccum(fn, acc, list) { - var idx = 0; - var len = list.length; - var result = []; - var tuple = [acc]; - while (idx < len) { - tuple = fn(tuple[0], list[idx]); - result[idx] = tuple[1]; - idx += 1; - } - return [tuple[0], result]; -}); -/* harmony default export */ __webpack_exports__["default"] = (mapAccum); - -/***/ }), - -/***/ "./node_modules/ramda/es/mapAccumRight.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/mapAccumRight.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * The `mapAccumRight` function behaves like a combination of map and reduce; it - * applies a function to each element of a list, passing an accumulating - * parameter from right to left, and returning a final value of this - * accumulator together with the new list. - * - * Similar to [`mapAccum`](#mapAccum), except moves through the input list from - * the right to the left. - * - * The iterator function receives two arguments, *acc* and *value*, and should - * return a tuple *[acc, value]*. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y]) - * @param {Function} fn The function to be called on every element of the input `list`. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.addIndex, R.mapAccum - * @example - * - * const digits = ['1', '2', '3', '4']; - * const appender = (a, b) => [b + a, b + a]; - * - * R.mapAccumRight(appender, 5, digits); //=> ['12345', ['12345', '2345', '345', '45']] - * @symb R.mapAccumRight(f, a, [b, c, d]) = [ - * f(f(f(a, d)[0], c)[0], b)[0], - * [ - * f(a, d)[1], - * f(f(a, d)[0], c)[1], - * f(f(f(a, d)[0], c)[0], b)[1] - * ] - * ] - */ -var mapAccumRight = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapAccumRight(fn, acc, list) { - var idx = list.length - 1; - var result = []; - var tuple = [acc]; - while (idx >= 0) { - tuple = fn(tuple[0], list[idx]); - result[idx] = tuple[1]; - idx -= 1; - } - return [tuple[0], result]; -}); -/* harmony default export */ __webpack_exports__["default"] = (mapAccumRight); - -/***/ }), - -/***/ "./node_modules/ramda/es/mapObjIndexed.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/mapObjIndexed.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - - -/** - * An Object-specific version of [`map`](#map). The function is applied to three - * arguments: *(value, key, obj)*. If only the value is significant, use - * [`map`](#map) instead. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Object - * @sig ((*, String, Object) -> *) -> Object -> Object - * @param {Function} fn - * @param {Object} obj - * @return {Object} - * @see R.map - * @example - * - * const xyz = { x: 1, y: 2, z: 3 }; - * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); - * - * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } - */ -var mapObjIndexed = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapObjIndexed(fn, obj) { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, key) { - acc[key] = fn(obj[key], key, obj); - return acc; - }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)); -}); -/* harmony default export */ __webpack_exports__["default"] = (mapObjIndexed); - -/***/ }), - -/***/ "./node_modules/ramda/es/match.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/match.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Tests a regular expression against a String. Note that this function will - * return an empty array when there are no matches. This differs from - * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match) - * which returns `null` when there are no matches. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category String - * @sig RegExp -> String -> [String | Undefined] - * @param {RegExp} rx A regular expression. - * @param {String} str The string to match against - * @return {Array} The list of matches or empty array. - * @see R.test - * @example - * - * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na'] - * R.match(/a/, 'b'); //=> [] - * R.match(/a/, null); //=> TypeError: null does not have a method named "match" - */ -var match = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function match(rx, str) { - return str.match(rx) || []; -}); -/* harmony default export */ __webpack_exports__["default"] = (match); - -/***/ }), - -/***/ "./node_modules/ramda/es/mathMod.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/mathMod.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); - - - -/** - * `mathMod` behaves like the modulo operator should mathematically, unlike the - * `%` operator (and by extension, [`R.modulo`](#modulo)). So while - * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer - * arguments, and returns NaN when the modulus is zero or negative. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} m The dividend. - * @param {Number} p the modulus. - * @return {Number} The result of `b mod a`. - * @see R.modulo - * @example - * - * R.mathMod(-17, 5); //=> 3 - * R.mathMod(17, 5); //=> 2 - * R.mathMod(17, -5); //=> NaN - * R.mathMod(17, 0); //=> NaN - * R.mathMod(17.2, 5); //=> NaN - * R.mathMod(17, 5.3); //=> NaN - * - * const clock = R.mathMod(R.__, 12); - * clock(15); //=> 3 - * clock(24); //=> 0 - * - * const seventeenMod = R.mathMod(17); - * seventeenMod(3); //=> 2 - * seventeenMod(4); //=> 1 - * seventeenMod(10); //=> 7 - */ -var mathMod = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mathMod(m, p) { - if (!Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(m)) { - return NaN; - } - if (!Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p) || p < 1) { - return NaN; - } - return (m % p + p) % p; -}); -/* harmony default export */ __webpack_exports__["default"] = (mathMod); - -/***/ }), - -/***/ "./node_modules/ramda/es/max.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/max.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns the larger of its two arguments. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> a - * @param {*} a - * @param {*} b - * @return {*} - * @see R.maxBy, R.min - * @example - * - * R.max(789, 123); //=> 789 - * R.max('a', 'b'); //=> 'b' - */ -var max = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function max(a, b) { - return b > a ? b : a; -}); -/* harmony default export */ __webpack_exports__["default"] = (max); - -/***/ }), - -/***/ "./node_modules/ramda/es/maxBy.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/maxBy.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Takes a function and two values, and returns whichever value produces the - * larger result when passed to the provided function. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Relation - * @sig Ord b => (a -> b) -> a -> a -> a - * @param {Function} f - * @param {*} a - * @param {*} b - * @return {*} - * @see R.max, R.minBy - * @example - * - * // square :: Number -> Number - * const square = n => n * n; - * - * R.maxBy(square, -3, 2); //=> -3 - * - * R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5 - * R.reduce(R.maxBy(square), 0, []); //=> 0 - */ -var maxBy = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function maxBy(f, a, b) { - return f(b) > f(a) ? b : a; -}); -/* harmony default export */ __webpack_exports__["default"] = (maxBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/mean.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/mean.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sum.js */ "./node_modules/ramda/es/sum.js"); - - - -/** - * Returns the mean of the given list of numbers. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list - * @return {Number} - * @see R.median - * @example - * - * R.mean([2, 7, 9]); //=> 6 - * R.mean([]); //=> NaN - */ -var mean = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mean(list) { - return Object(_sum_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) / list.length; -}); -/* harmony default export */ __webpack_exports__["default"] = (mean); - -/***/ }), - -/***/ "./node_modules/ramda/es/median.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/median.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mean.js */ "./node_modules/ramda/es/mean.js"); - - - -/** - * Returns the median of the given list of numbers. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list - * @return {Number} - * @see R.mean - * @example - * - * R.median([2, 9, 7]); //=> 7 - * R.median([7, 2, 10, 9]); //=> 8 - * R.median([]); //=> NaN - */ -var median = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function median(list) { - var len = list.length; - if (len === 0) { - return NaN; - } - var width = 2 - len % 2; - var idx = (len - width) / 2; - return Object(_mean_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Array.prototype.slice.call(list, 0).sort(function (a, b) { - return a < b ? -1 : a > b ? 1 : 0; - }).slice(idx, idx + width)); -}); -/* harmony default export */ __webpack_exports__["default"] = (median); - -/***/ }), - -/***/ "./node_modules/ramda/es/memoizeWith.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/memoizeWith.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - - - -/** - * Creates a new function that, when invoked, caches the result of calling `fn` - * for a given argument set and returns the result. Subsequent calls to the - * memoized `fn` with the same argument set will not result in an additional - * call to `fn`; instead, the cached result for that set of arguments will be - * returned. - * - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Function - * @sig (*... -> String) -> (*... -> a) -> (*... -> a) - * @param {Function} fn The function to generate the cache key. - * @param {Function} fn The function to memoize. - * @return {Function} Memoized version of `fn`. - * @example - * - * let count = 0; - * const factorial = R.memoizeWith(R.identity, n => { - * count += 1; - * return R.product(R.range(1, n + 1)); - * }); - * factorial(5); //=> 120 - * factorial(5); //=> 120 - * factorial(5); //=> 120 - * count; //=> 1 - */ -var memoizeWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function memoizeWith(mFn, fn) { - var cache = {}; - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { - var key = mFn.apply(this, arguments); - if (!Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, cache)) { - cache[key] = fn.apply(this, arguments); - } - return cache[key]; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (memoizeWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/merge.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/merge.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Create a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects, - * the value from the second object will be used. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {k: v} -> {k: v} -> {k: v} - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeRight, R.mergeDeepRight, R.mergeWith, R.mergeWithKey - * @deprecated - * @example - * - * R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); - * //=> { 'name': 'fred', 'age': 40 } - * - * const withDefaults = R.merge({x: 0, y: 0}); - * withDefaults({y: 2}); //=> {x: 0, y: 2} - * @symb R.merge(a, b) = {...a, ...b} - */ -var merge = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function merge(l, r) { - return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, l, r); -}); -/* harmony default export */ __webpack_exports__["default"] = (merge); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeAll.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/mergeAll.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - - -/** - * Merges a list of objects together into one object. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig [{k: v}] -> {k: v} - * @param {Array} list An array of objects - * @return {Object} A merged object. - * @see R.reduce - * @example - * - * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3} - * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2} - * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 } - */ -var mergeAll = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeAll(list) { - return _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(null, [{}].concat(list)); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeAll); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeDeepLeft.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/mergeDeepLeft.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); - - - -/** - * Creates a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects: - * - and both values are objects, the two values will be recursively merged - * - otherwise the value from the first object will be used. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig {a} -> {a} -> {a} - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey - * @example - * - * R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, - * { age: 40, contact: { email: 'baa@example.com' }}); - * //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }} - */ -var mergeDeepLeft = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepLeft(lObj, rObj) { - return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { - return lVal; - }, lObj, rObj); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeDeepLeft); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeDeepRight.js": -/*!*************************************************!*\ - !*** ./node_modules/ramda/es/mergeDeepRight.js ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); - - - -/** - * Creates a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects: - * - and both values are objects, the two values will be recursively merged - * - otherwise the value from the second object will be used. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig {a} -> {a} -> {a} - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey - * @example - * - * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, - * { age: 40, contact: { email: 'baa@example.com' }}); - * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }} - */ -var mergeDeepRight = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepRight(lObj, rObj) { - return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { - return rVal; - }, lObj, rObj); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeDeepRight); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeDeepWith.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/mergeDeepWith.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); - - - -/** - * Creates a new object with the own properties of the two provided objects. - * If a key exists in both objects: - * - and both associated values are also objects then the values will be - * recursively merged. - * - otherwise the provided function is applied to associated values using the - * resulting value as the new value associated with the key. - * If a key only exists in one object, the value will be associated with the key - * of the resulting object. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig ((a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.mergeWith, R.mergeDeepWithKey - * @example - * - * R.mergeDeepWith(R.concat, - * { a: true, c: { values: [10, 20] }}, - * { b: true, c: { values: [15, 35] }}); - * //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }} - */ -var mergeDeepWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepWith(fn, lObj, rObj) { - return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { - return fn(lVal, rVal); - }, lObj, rObj); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeDeepWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeDeepWithKey.js": -/*!***************************************************!*\ - !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***! - \***************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); -/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); - - - - -/** - * Creates a new object with the own properties of the two provided objects. - * If a key exists in both objects: - * - and both associated values are also objects then the values will be - * recursively merged. - * - otherwise the provided function is applied to the key and associated values - * using the resulting value as the new value associated with the key. - * If a key only exists in one object, the value will be associated with the key - * of the resulting object. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Object - * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} lObj - * @param {Object} rObj - * @return {Object} - * @see R.mergeWithKey, R.mergeDeepWith - * @example - * - * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r - * R.mergeDeepWithKey(concatValues, - * { a: true, c: { thing: 'foo', values: [10, 20] }}, - * { b: true, c: { thing: 'bar', values: [15, 35] }}); - * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }} - */ -var mergeDeepWithKey = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepWithKey(fn, lObj, rObj) { - return Object(_mergeWithKey_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (k, lVal, rVal) { - if (Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(lVal) && Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(rVal)) { - return mergeDeepWithKey(fn, lVal, rVal); - } else { - return fn(k, lVal, rVal); - } - }, lObj, rObj); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeDeepWithKey); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeLeft.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/mergeLeft.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Create a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects, - * the value from the first object will be used. - * - * @func - * @memberOf R - * @category Object - * @sig {k: v} -> {k: v} -> {k: v} - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey - * @example - * - * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 }); - * //=> { 'name': 'fred', 'age': 40 } - * - * const resetToDefault = R.mergeLeft({x: 0}); - * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2} - * @symb R.mergeLeft(a, b) = {...b, ...a} - */ -var mergeLeft = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeLeft(l, r) { - return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, r, l); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeLeft); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeRight.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/mergeRight.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Create a new object with the own properties of the first object merged with - * the own properties of the second object. If a key exists in both objects, - * the value from the second object will be used. - * - * @func - * @memberOf R - * @category Object - * @sig {k: v} -> {k: v} -> {k: v} - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey - * @example - * - * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); - * //=> { 'name': 'fred', 'age': 40 } - * - * const withDefaults = R.mergeRight({x: 0, y: 0}); - * withDefaults({y: 2}); //=> {x: 0, y: 2} - * @symb R.mergeRight(a, b) = {...a, ...b} - */ -var mergeRight = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeRight(l, r) { - return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, l, r); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeRight); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeWith.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/mergeWith.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); - - - -/** - * Creates a new object with the own properties of the two provided objects. If - * a key exists in both objects, the provided function is applied to the values - * associated with the key in each object, with the result being used as the - * value associated with the key in the returned object. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Object - * @sig ((a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeDeepWith, R.merge, R.mergeWithKey - * @example - * - * R.mergeWith(R.concat, - * { a: true, values: [10, 20] }, - * { b: true, values: [15, 35] }); - * //=> { a: true, b: true, values: [10, 20, 15, 35] } - */ -var mergeWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeWith(fn, l, r) { - return Object(_mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_, _l, _r) { - return fn(_l, _r); - }, l, r); -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/mergeWithKey.js": -/*!***********************************************!*\ - !*** ./node_modules/ramda/es/mergeWithKey.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - - -/** - * Creates a new object with the own properties of the two provided objects. If - * a key exists in both objects, the provided function is applied to the key - * and the values associated with the key in each object, with the result being - * used as the value associated with the key in the returned object. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Object - * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} - * @param {Function} fn - * @param {Object} l - * @param {Object} r - * @return {Object} - * @see R.mergeDeepWithKey, R.merge, R.mergeWith - * @example - * - * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r - * R.mergeWithKey(concatValues, - * { a: true, thing: 'foo', values: [10, 20] }, - * { b: true, thing: 'bar', values: [15, 35] }); - * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] } - * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 } - */ -var mergeWithKey = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeWithKey(fn, l, r) { - var result = {}; - var k; - - for (k in l) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, l)) { - result[k] = Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) ? fn(k, l[k], r[k]) : l[k]; - } - } - - for (k in r) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) && !Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, result)) { - result[k] = r[k]; - } - } - - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (mergeWithKey); - -/***/ }), - -/***/ "./node_modules/ramda/es/min.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/min.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns the smaller of its two arguments. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord a => a -> a -> a - * @param {*} a - * @param {*} b - * @return {*} - * @see R.minBy, R.max - * @example - * - * R.min(789, 123); //=> 123 - * R.min('a', 'b'); //=> 'a' - */ -var min = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function min(a, b) { - return b < a ? b : a; -}); -/* harmony default export */ __webpack_exports__["default"] = (min); - -/***/ }), - -/***/ "./node_modules/ramda/es/minBy.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/minBy.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Takes a function and two values, and returns whichever value produces the - * smaller result when passed to the provided function. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Relation - * @sig Ord b => (a -> b) -> a -> a -> a - * @param {Function} f - * @param {*} a - * @param {*} b - * @return {*} - * @see R.min, R.maxBy - * @example - * - * // square :: Number -> Number - * const square = n => n * n; - * - * R.minBy(square, -3, 2); //=> 2 - * - * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1 - * R.reduce(R.minBy(square), Infinity, []); //=> Infinity - */ -var minBy = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function minBy(f, a, b) { - return f(b) < f(a) ? b : a; -}); -/* harmony default export */ __webpack_exports__["default"] = (minBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/modulo.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/modulo.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Divides the first parameter by the second and returns the remainder. Note - * that this function preserves the JavaScript-style behavior for modulo. For - * mathematical modulo see [`mathMod`](#mathMod). - * - * @func - * @memberOf R - * @since v0.1.1 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a The value to the divide. - * @param {Number} b The pseudo-modulus - * @return {Number} The result of `b % a`. - * @see R.mathMod - * @example - * - * R.modulo(17, 3); //=> 2 - * // JS behavior: - * R.modulo(-17, 3); //=> -2 - * R.modulo(17, -3); //=> 2 - * - * const isOdd = R.modulo(R.__, 2); - * isOdd(42); //=> 0 - * isOdd(21); //=> 1 - */ -var modulo = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function modulo(a, b) { - return a % b; -}); -/* harmony default export */ __webpack_exports__["default"] = (modulo); - -/***/ }), - -/***/ "./node_modules/ramda/es/move.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/move.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Move an item, at index `from`, to index `to`, in a list of elements. - * A new list will be created containing the new elements order. - * - * @func - * @memberOf R - * @category List - * @sig Number -> Number -> [a] -> [a] - * @param {Number} from The source index - * @param {Number} to The destination index - * @param {Array} list The list which will serve to realise the move - * @return {Array} The new list reordered - * @example - * - * R.move(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['b', 'c', 'a', 'd', 'e', 'f'] - * R.move(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'a', 'b', 'c', 'd', 'e'] list rotation - */ -var move = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (from, to, list) { - var length = list.length; - var result = list.slice(); - var positiveFrom = from < 0 ? length + from : from; - var positiveTo = to < 0 ? length + to : to; - var item = result.splice(positiveFrom, 1); - - return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length)); -}); - -/* harmony default export */ __webpack_exports__["default"] = (move); - -/***/ }), - -/***/ "./node_modules/ramda/es/multiply.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/multiply.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Multiplies two numbers. Equivalent to `a * b` but curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a The first value. - * @param {Number} b The second value. - * @return {Number} The result of `a * b`. - * @see R.divide - * @example - * - * const double = R.multiply(2); - * const triple = R.multiply(3); - * double(3); //=> 6 - * triple(4); //=> 12 - * R.multiply(2, 5); //=> 10 - */ -var multiply = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function multiply(a, b) { - return a * b; -}); -/* harmony default export */ __webpack_exports__["default"] = (multiply); - -/***/ }), - -/***/ "./node_modules/ramda/es/nAry.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/nAry.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Wraps a function of any arity (including nullary) in a function that accepts - * exactly `n` parameters. Any extraneous parameters will not be passed to the - * supplied function. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig Number -> (* -> a) -> (* -> a) - * @param {Number} n The desired arity of the new function. - * @param {Function} fn The function to wrap. - * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of - * arity `n`. - * @see R.binary, R.unary - * @example - * - * const takesTwoArgs = (a, b) => [a, b]; - * - * takesTwoArgs.length; //=> 2 - * takesTwoArgs(1, 2); //=> [1, 2] - * - * const takesOneArg = R.nAry(1, takesTwoArgs); - * takesOneArg.length; //=> 1 - * // Only `n` arguments are passed to the wrapped function - * takesOneArg(1, 2); //=> [1, undefined] - * @symb R.nAry(0, f)(a, b) = f() - * @symb R.nAry(1, f)(a, b) = f(a) - * @symb R.nAry(2, f)(a, b) = f(a, b) - */ -var nAry = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nAry(n, fn) { - switch (n) { - case 0: - return function () { - return fn.call(this); - }; - case 1: - return function (a0) { - return fn.call(this, a0); - }; - case 2: - return function (a0, a1) { - return fn.call(this, a0, a1); - }; - case 3: - return function (a0, a1, a2) { - return fn.call(this, a0, a1, a2); - }; - case 4: - return function (a0, a1, a2, a3) { - return fn.call(this, a0, a1, a2, a3); - }; - case 5: - return function (a0, a1, a2, a3, a4) { - return fn.call(this, a0, a1, a2, a3, a4); - }; - case 6: - return function (a0, a1, a2, a3, a4, a5) { - return fn.call(this, a0, a1, a2, a3, a4, a5); - }; - case 7: - return function (a0, a1, a2, a3, a4, a5, a6) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6); - }; - case 8: - return function (a0, a1, a2, a3, a4, a5, a6, a7) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); - }; - case 9: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); - }; - case 10: - return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { - return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); - }; - default: - throw new Error('First argument to nAry must be a non-negative integer no greater than ten'); - } -}); -/* harmony default export */ __webpack_exports__["default"] = (nAry); - -/***/ }), - -/***/ "./node_modules/ramda/es/negate.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/negate.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Negates its argument. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Math - * @sig Number -> Number - * @param {Number} n - * @return {Number} - * @example - * - * R.negate(42); //=> -42 - */ -var negate = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function negate(n) { - return -n; -}); -/* harmony default export */ __webpack_exports__["default"] = (negate); - -/***/ }), - -/***/ "./node_modules/ramda/es/none.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/none.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_complement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement.js */ "./node_modules/ramda/es/internal/_complement.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _all_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./all.js */ "./node_modules/ramda/es/all.js"); - - - - -/** - * Returns `true` if no elements of the list match the predicate, `false` - * otherwise. - * - * Dispatches to the `all` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig (a -> Boolean) -> [a] -> Boolean - * @param {Function} fn The predicate function. - * @param {Array} list The array to consider. - * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise. - * @see R.all, R.any - * @example - * - * const isEven = n => n % 2 === 0; - * const isOdd = n => n % 2 === 1; - * - * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true - * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false - */ -var none = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function none(fn, input) { - return Object(_all_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_internal_complement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn), input); -}); -/* harmony default export */ __webpack_exports__["default"] = (none); - -/***/ }), - -/***/ "./node_modules/ramda/es/not.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/not.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * A function that returns the `!` of its argument. It will return `true` when - * passed false-y value, and `false` when passed a truth-y one. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig * -> Boolean - * @param {*} a any value - * @return {Boolean} the logical inverse of passed argument. - * @see R.complement - * @example - * - * R.not(true); //=> false - * R.not(false); //=> true - * R.not(0); //=> true - * R.not(1); //=> false - */ -var not = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function not(a) { - return !a; -}); -/* harmony default export */ __webpack_exports__["default"] = (not); - -/***/ }), - -/***/ "./node_modules/ramda/es/nth.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/nth.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); - - - -/** - * Returns the nth element of the given list or string. If n is negative the - * element at index length + n is returned. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> a | Undefined - * @sig Number -> String -> String - * @param {Number} offset - * @param {*} list - * @return {*} - * @example - * - * const list = ['foo', 'bar', 'baz', 'quux']; - * R.nth(1, list); //=> 'bar' - * R.nth(-1, list); //=> 'quux' - * R.nth(-99, list); //=> undefined - * - * R.nth(2, 'abc'); //=> 'c' - * R.nth(3, 'abc'); //=> '' - * @symb R.nth(-1, [a, b, c]) = c - * @symb R.nth(0, [a, b, c]) = a - * @symb R.nth(1, [a, b, c]) = b - */ -var nth = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nth(offset, list) { - var idx = offset < 0 ? list.length + offset : offset; - return Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) ? list.charAt(idx) : list[idx]; -}); -/* harmony default export */ __webpack_exports__["default"] = (nth); - -/***/ }), - -/***/ "./node_modules/ramda/es/nthArg.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/nthArg.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); - - - - -/** - * Returns a function which returns its nth argument. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category Function - * @sig Number -> *... -> * - * @param {Number} n - * @return {Function} - * @example - * - * R.nthArg(1)('a', 'b', 'c'); //=> 'b' - * R.nthArg(-1)('a', 'b', 'c'); //=> 'c' - * @symb R.nthArg(-1)(a, b, c) = c - * @symb R.nthArg(0)(a, b, c) = a - * @symb R.nthArg(1)(a, b, c) = b - */ -var nthArg = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nthArg(n) { - var arity = n < 0 ? 1 : n + 1; - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, function () { - return Object(_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n, arguments); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (nthArg); - -/***/ }), - -/***/ "./node_modules/ramda/es/o.js": -/*!************************************!*\ - !*** ./node_modules/ramda/es/o.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * `o` is a curried composition function that returns a unary function. - * Like [`compose`](#compose), `o` performs right-to-left function composition. - * Unlike [`compose`](#compose), the rightmost function passed to `o` will be - * invoked with only one argument. Also, unlike [`compose`](#compose), `o` is - * limited to accepting only 2 unary functions. The name o was chosen because - * of its similarity to the mathematical composition operator ∘. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category Function - * @sig (b -> c) -> (a -> b) -> a -> c - * @param {Function} f - * @param {Function} g - * @return {Function} - * @see R.compose, R.pipe - * @example - * - * const classyGreeting = name => "The name's " + name.last + ", " + name.first + " " + name.last - * const yellGreeting = R.o(R.toUpper, classyGreeting); - * yellGreeting({first: 'James', last: 'Bond'}); //=> "THE NAME'S BOND, JAMES BOND" - * - * R.o(R.multiply(10), R.add(10))(-4) //=> 60 - * - * @symb R.o(f, g, x) = f(g(x)) - */ -var o = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function o(f, g, x) { - return f(g(x)); -}); -/* harmony default export */ __webpack_exports__["default"] = (o); - -/***/ }), - -/***/ "./node_modules/ramda/es/objOf.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/objOf.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Creates an object containing a single key:value pair. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Object - * @sig String -> a -> {String:a} - * @param {String} key - * @param {*} val - * @return {Object} - * @see R.pair - * @example - * - * const matchPhrases = R.compose( - * R.objOf('must'), - * R.map(R.objOf('match_phrase')) - * ); - * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]} - */ -var objOf = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function objOf(key, val) { - var obj = {}; - obj[key] = val; - return obj; -}); -/* harmony default export */ __webpack_exports__["default"] = (objOf); - -/***/ }), - -/***/ "./node_modules/ramda/es/of.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/of.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_of_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_of.js */ "./node_modules/ramda/es/internal/_of.js"); - - - -/** - * Returns a singleton array containing the value provided. - * - * Note this `of` is different from the ES6 `of`; See - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of - * - * @func - * @memberOf R - * @since v0.3.0 - * @category Function - * @sig a -> [a] - * @param {*} x any value - * @return {Array} An array wrapping `x`. - * @example - * - * R.of(null); //=> [null] - * R.of([42]); //=> [[42]] - */ -var of = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_of_js__WEBPACK_IMPORTED_MODULE_1__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (of); - -/***/ }), - -/***/ "./node_modules/ramda/es/omit.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/omit.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns a partial copy of an object omitting the keys specified. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [String] -> {String: *} -> {String: *} - * @param {Array} names an array of String property names to omit from the new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with properties from `names` not on it. - * @see R.pick - * @example - * - * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3} - */ -var omit = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function omit(names, obj) { - var result = {}; - var index = {}; - var idx = 0; - var len = names.length; - - while (idx < len) { - index[names[idx]] = 1; - idx += 1; - } - - for (var prop in obj) { - if (!index.hasOwnProperty(prop)) { - result[prop] = obj[prop]; - } - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (omit); - -/***/ }), - -/***/ "./node_modules/ramda/es/once.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/once.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - - -/** - * Accepts a function `fn` and returns a function that guards invocation of - * `fn` such that `fn` can only ever be called once, no matter how many times - * the returned function is invoked. The first value calculated is returned in - * subsequent invocations. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (a... -> b) -> (a... -> b) - * @param {Function} fn The function to wrap in a call-only-once wrapper. - * @return {Function} The wrapped function. - * @example - * - * const addOneOnce = R.once(x => x + 1); - * addOneOnce(10); //=> 11 - * addOneOnce(addOneOnce(50)); //=> 11 - */ -var once = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function once(fn) { - var called = false; - var result; - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { - if (called) { - return result; - } - called = true; - result = fn.apply(this, arguments); - return result; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (once); - -/***/ }), - -/***/ "./node_modules/ramda/es/or.js": -/*!*************************************!*\ - !*** ./node_modules/ramda/es/or.js ***! - \*************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns `true` if one or both of its arguments are `true`. Returns `false` - * if both arguments are `false`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Logic - * @sig a -> b -> a | b - * @param {Any} a - * @param {Any} b - * @return {Any} the first argument if truthy, otherwise the second argument. - * @see R.either - * @example - * - * R.or(true, true); //=> true - * R.or(true, false); //=> true - * R.or(false, true); //=> true - * R.or(false, false); //=> false - */ -var or = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function or(a, b) { - return a || b; -}); -/* harmony default export */ __webpack_exports__["default"] = (or); - -/***/ }), - -/***/ "./node_modules/ramda/es/otherwise.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/otherwise.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_assertPromise.js */ "./node_modules/ramda/es/internal/_assertPromise.js"); - - - -/** - * Returns the result of applying the onFailure function to the value inside - * a failed promise. This is useful for handling rejected promises - * inside function compositions. - * - * @func - * @memberOf R - * @category Function - * @sig (e -> b) -> (Promise e a) -> (Promise e b) - * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b) - * @param {Function} onFailure The function to apply. Can return a value or a promise of a value. - * @param {Promise} p - * @return {Promise} The result of calling `p.then(null, onFailure)` - * @see R.then - * @example - * - * var failedFetch = (id) => Promise.reject('bad ID'); - * var useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' }) - * - * //recoverFromFailure :: String -> Promise ({firstName, lastName}) - * var recoverFromFailure = R.pipe( - * failedFetch, - * R.otherwise(useDefault), - * R.then(R.pick(['firstName', 'lastName'])), - * ); - * recoverFromFailure(12345).then(console.log) - */ -var otherwise = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function otherwise(f, p) { - Object(_internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__["default"])('otherwise', p); - - return p.then(null, f); -}); -/* harmony default export */ __webpack_exports__["default"] = (otherwise); - -/***/ }), - -/***/ "./node_modules/ramda/es/over.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/over.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -// `Identity` is a functor that holds a single value, where `map` simply -// transforms the held value with the provided function. -var Identity = function (x) { - return { value: x, map: function (f) { - return Identity(f(x)); - } }; -}; - -/** - * Returns the result of "setting" the portion of the given data structure - * focused by the given lens to the result of applying the given function to - * the focused value. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig Lens s a -> (a -> a) -> s -> s - * @param {Lens} lens - * @param {*} v - * @param {*} x - * @return {*} - * @see R.prop, R.lensIndex, R.lensProp - * @example - * - * const headLens = R.lensIndex(0); - * - * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz'] - */ -var over = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function over(lens, f, x) { - // The value returned by the getter function is first transformed with `f`, - // then set as the value of an `Identity`. This is then mapped over with the - // setter function of the lens. - return lens(function (y) { - return Identity(f(y)); - })(x).value; -}); -/* harmony default export */ __webpack_exports__["default"] = (over); - -/***/ }), - -/***/ "./node_modules/ramda/es/pair.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/pair.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category List - * @sig a -> b -> (a,b) - * @param {*} fst - * @param {*} snd - * @return {Array} - * @see R.objOf, R.of - * @example - * - * R.pair('foo', 'bar'); //=> ['foo', 'bar'] - */ -var pair = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pair(fst, snd) { - return [fst, snd]; -}); -/* harmony default export */ __webpack_exports__["default"] = (pair); - -/***/ }), - -/***/ "./node_modules/ramda/es/partial.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/partial.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator.js */ "./node_modules/ramda/es/internal/_createPartialApplicator.js"); - - - -/** - * Takes a function `f` and a list of arguments, and returns a function `g`. - * When applied, `g` returns the result of applying `f` to the arguments - * provided initially followed by the arguments provided to `g`. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x) - * @param {Function} f - * @param {Array} args - * @return {Function} - * @see R.partialRight, R.curry - * @example - * - * const multiply2 = (a, b) => a * b; - * const double = R.partial(multiply2, [2]); - * double(2); //=> 4 - * - * const greet = (salutation, title, firstName, lastName) => - * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; - * - * const sayHello = R.partial(greet, ['Hello']); - * const sayHelloToMs = R.partial(sayHello, ['Ms.']); - * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!' - * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d) - */ -var partial = /*#__PURE__*/Object(_internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (partial); - -/***/ }), - -/***/ "./node_modules/ramda/es/partialRight.js": -/*!***********************************************!*\ - !*** ./node_modules/ramda/es/partialRight.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator.js */ "./node_modules/ramda/es/internal/_createPartialApplicator.js"); -/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); - - - - -/** - * Takes a function `f` and a list of arguments, and returns a function `g`. - * When applied, `g` returns the result of applying `f` to the arguments - * provided to `g` followed by the arguments provided initially. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x) - * @param {Function} f - * @param {Array} args - * @return {Function} - * @see R.partial - * @example - * - * const greet = (salutation, title, firstName, lastName) => - * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; - * - * const greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']); - * - * greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!' - * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b) - */ -var partialRight = /*#__PURE__*/Object(_internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_flip_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])); -/* harmony default export */ __webpack_exports__["default"] = (partialRight); - -/***/ }), - -/***/ "./node_modules/ramda/es/partition.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/partition.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); -/* harmony import */ var _juxt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./juxt.js */ "./node_modules/ramda/es/juxt.js"); -/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); - - - - -/** - * Takes a predicate and a list or other `Filterable` object and returns the - * pair of filterable objects of the same type of elements which do and do not - * satisfy, the predicate, respectively. Filterable objects include plain objects or any object - * that has a filter method such as `Array`. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] - * @param {Function} pred A predicate to determine which side the element belongs to. - * @param {Array} filterable the list (or other filterable) to partition. - * @return {Array} An array, containing first the subset of elements that satisfy the - * predicate, and second the subset of elements that do not satisfy. - * @see R.filter, R.reject - * @example - * - * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']); - * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] - * - * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); - * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] - */ -var partition = /*#__PURE__*/Object(_juxt_js__WEBPACK_IMPORTED_MODULE_1__["default"])([_filter_js__WEBPACK_IMPORTED_MODULE_0__["default"], _reject_js__WEBPACK_IMPORTED_MODULE_2__["default"]]); -/* harmony default export */ __webpack_exports__["default"] = (partition); - -/***/ }), - -/***/ "./node_modules/ramda/es/path.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/path.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Retrieve the value at a given path. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Object - * @typedefn Idx = String | Int - * @sig [Idx] -> {a} -> a | Undefined - * @param {Array} path The path to use. - * @param {Object} obj The object to retrieve the nested property from. - * @return {*} The data at `path`. - * @see R.prop - * @example - * - * R.path(['a', 'b'], {a: {b: 2}}); //=> 2 - * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined - */ -var path = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function path(paths, obj) { - var val = obj; - var idx = 0; - while (idx < paths.length) { - if (val == null) { - return; - } - val = val[paths[idx]]; - idx += 1; - } - return val; -}); -/* harmony default export */ __webpack_exports__["default"] = (path); - -/***/ }), - -/***/ "./node_modules/ramda/es/pathEq.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/pathEq.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); - - - - -/** - * Determines whether a nested path on an object has a specific value, in - * [`R.equals`](#equals) terms. Most likely used to filter a list. - * - * @func - * @memberOf R - * @since v0.7.0 - * @category Relation - * @typedefn Idx = String | Int - * @sig [Idx] -> a -> {a} -> Boolean - * @param {Array} path The path of the nested property to use - * @param {*} val The value to compare the nested property with - * @param {Object} obj The object to check the nested property in - * @return {Boolean} `true` if the value equals the nested object property, - * `false` otherwise. - * @example - * - * const user1 = { address: { zipCode: 90210 } }; - * const user2 = { address: { zipCode: 55555 } }; - * const user3 = { name: 'Bob' }; - * const users = [ user1, user2, user3 ]; - * const isFamous = R.pathEq(['address', 'zipCode'], 90210); - * R.filter(isFamous, users); //=> [ user1 ] - */ -var pathEq = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathEq(_path, val, obj) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_path_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_path, obj), val); -}); -/* harmony default export */ __webpack_exports__["default"] = (pathEq); - -/***/ }), - -/***/ "./node_modules/ramda/es/pathOr.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/pathOr.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultTo.js */ "./node_modules/ramda/es/defaultTo.js"); -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); - - - - -/** - * If the given, non-null object has a value at the given path, returns the - * value at that path. Otherwise returns the provided default value. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Object - * @typedefn Idx = String | Int - * @sig a -> [Idx] -> {a} -> a - * @param {*} d The default value. - * @param {Array} p The path to use. - * @param {Object} obj The object to retrieve the nested property from. - * @return {*} The data at `path` of the supplied object or the default value. - * @example - * - * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 - * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" - */ -var pathOr = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathOr(d, p, obj) { - return Object(_defaultTo_js__WEBPACK_IMPORTED_MODULE_1__["default"])(d, Object(_path_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, obj)); -}); -/* harmony default export */ __webpack_exports__["default"] = (pathOr); - -/***/ }), - -/***/ "./node_modules/ramda/es/pathSatisfies.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/pathSatisfies.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); - - - -/** - * Returns `true` if the specified object property at given path satisfies the - * given predicate; `false` otherwise. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Logic - * @typedefn Idx = String | Int - * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean - * @param {Function} pred - * @param {Array} propPath - * @param {*} obj - * @return {Boolean} - * @see R.propSatisfies, R.path - * @example - * - * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true - */ -var pathSatisfies = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathSatisfies(pred, propPath, obj) { - return propPath.length > 0 && pred(Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])(propPath, obj)); -}); -/* harmony default export */ __webpack_exports__["default"] = (pathSatisfies); - -/***/ }), - -/***/ "./node_modules/ramda/es/pick.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/pick.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns a partial copy of an object containing only the keys specified. If - * the key does not exist, the property is ignored. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> {k: v} - * @param {Array} names an array of String property names to copy onto a new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties from `names` on it. - * @see R.omit, R.props - * @example - * - * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} - * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1} - */ -var pick = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pick(names, obj) { - var result = {}; - var idx = 0; - while (idx < names.length) { - if (names[idx] in obj) { - result[names[idx]] = obj[names[idx]]; - } - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (pick); - -/***/ }), - -/***/ "./node_modules/ramda/es/pickAll.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/pickAll.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Similar to `pick` except that this one includes a `key: undefined` pair for - * properties that don't exist. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> {k: v} - * @param {Array} names an array of String property names to copy onto a new object - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties from `names` on it. - * @see R.pick - * @example - * - * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} - * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined} - */ -var pickAll = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pickAll(names, obj) { - var result = {}; - var idx = 0; - var len = names.length; - while (idx < len) { - var name = names[idx]; - result[name] = obj[name]; - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (pickAll); - -/***/ }), - -/***/ "./node_modules/ramda/es/pickBy.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/pickBy.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns a partial copy of an object containing only the keys that satisfy - * the supplied predicate. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Object - * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v} - * @param {Function} pred A predicate to determine whether or not a key - * should be included on the output object. - * @param {Object} obj The object to copy from - * @return {Object} A new object with only properties that satisfy `pred` - * on it. - * @see R.pick, R.filter - * @example - * - * const isUpperCase = (val, key) => key.toUpperCase() === key; - * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4} - */ -var pickBy = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pickBy(test, obj) { - var result = {}; - for (var prop in obj) { - if (test(obj[prop], prop, obj)) { - result[prop] = obj[prop]; - } - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (pickBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/pipe.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/pipe.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipe; }); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_pipe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipe.js */ "./node_modules/ramda/es/internal/_pipe.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); -/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); - - - - - -/** - * Performs left-to-right function composition. The leftmost function may have - * any arity; the remaining functions must be unary. - * - * In some libraries this function is named `sequence`. - * - * **Note:** The result of pipe is not automatically curried. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z) - * @param {...Function} functions - * @return {Function} - * @see R.compose - * @example - * - * const f = R.pipe(Math.pow, R.negate, R.inc); - * - * f(3, 4); // -(3^4) + 1 - * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b))) - */ -function pipe() { - if (arguments.length === 0) { - throw new Error('pipe requires at least one argument'); - } - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments[0].length, Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_pipe_js__WEBPACK_IMPORTED_MODULE_1__["default"], arguments[0], Object(_tail_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arguments))); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/pipeK.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/pipeK.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipeK; }); -/* harmony import */ var _composeK_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./composeK.js */ "./node_modules/ramda/es/composeK.js"); -/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); - - - -/** - * Returns the left-to-right Kleisli composition of the provided functions, - * each of which must return a value of a type supported by [`chain`](#chain). - * - * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Function - * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z) - * @param {...Function} - * @return {Function} - * @see R.composeK - * @deprecated since v0.26.0 - * @example - * - * // parseJson :: String -> Maybe * - * // get :: String -> Object -> Maybe * - * - * // getStateCode :: Maybe String -> Maybe String - * const getStateCode = R.pipeK( - * parseJson, - * get('user'), - * get('address'), - * get('state'), - * R.compose(Maybe.of, R.toUpper) - * ); - * - * getStateCode('{"user":{"address":{"state":"ny"}}}'); - * //=> Just('NY') - * getStateCode('[Invalid JSON]'); - * //=> Nothing() - * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a))) - */ -function pipeK() { - if (arguments.length === 0) { - throw new Error('pipeK requires at least one argument'); - } - return _composeK_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/pipeP.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/pipeP.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipeP; }); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_pipeP_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipeP.js */ "./node_modules/ramda/es/internal/_pipeP.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); -/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); - - - - - -/** - * Performs left-to-right composition of one or more Promise-returning - * functions. The leftmost function may have any arity; the remaining functions - * must be unary. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category Function - * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z) - * @param {...Function} functions - * @return {Function} - * @see R.composeP - * @deprecated since v0.26.0 - * @example - * - * // followersForUser :: String -> Promise [User] - * const followersForUser = R.pipeP(db.getUserById, db.getFollowers); - */ -function pipeP() { - if (arguments.length === 0) { - throw new Error('pipeP requires at least one argument'); - } - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments[0].length, Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_pipeP_js__WEBPACK_IMPORTED_MODULE_1__["default"], arguments[0], Object(_tail_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arguments))); -} - -/***/ }), - -/***/ "./node_modules/ramda/es/pipeWith.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/pipeWith.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./head.js */ "./node_modules/ramda/es/head.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); -/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); - - - - - - - -/** - * Performs left-to-right function composition using transforming function. The leftmost function may have - * any arity; the remaining functions must be unary. - * - * **Note:** The result of pipeWith is not automatically curried. - * - * @func - * @memberOf R - * @category Function - * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z) - * @param {...Function} functions - * @return {Function} - * @see R.composeWith, R.pipe - * @example - * - * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res)); - * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc]) - * - * f(3, 4); // -(3^4) + 1 - * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, f(g, ...args))) - */ -var pipeWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function pipeWith(xf, list) { - if (list.length <= 0) { - return _identity_js__WEBPACK_IMPORTED_MODULE_5__["default"]; - } - - var headList = Object(_head_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list); - var tailList = Object(_tail_js__WEBPACK_IMPORTED_MODULE_4__["default"])(list); - - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(headList.length, function () { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (result, f) { - return xf.call(this, f, result); - }, headList.apply(this, arguments), tailList); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (pipeWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/pluck.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/pluck.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); - - - - -/** - * Returns a new list by plucking the same named property off all objects in - * the list supplied. - * - * `pluck` will work on - * any [functor](https://github.com/fantasyland/fantasy-land#functor) in - * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Functor f => k -> f {k: v} -> f v - * @param {Number|String} key The key name to pluck off of each object. - * @param {Array} f The array or functor to consider. - * @return {Array} The list of values for the given key. - * @see R.props - * @example - * - * var getAges = R.pluck('age'); - * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27] - * - * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3] - * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5} - * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5] - * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5] - */ -var pluck = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pluck(p, list) { - return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_prop_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p), list); -}); -/* harmony default export */ __webpack_exports__["default"] = (pluck); - -/***/ }), - -/***/ "./node_modules/ramda/es/prepend.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/prepend.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns a new list with the given element at the front, followed by the - * contents of the list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig a -> [a] -> [a] - * @param {*} el The item to add to the head of the output list. - * @param {Array} list The array to add to the tail of the output list. - * @return {Array} A new array. - * @see R.append - * @example - * - * R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum'] - */ -var prepend = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function prepend(el, list) { - return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])([el], list); -}); -/* harmony default export */ __webpack_exports__["default"] = (prepend); - -/***/ }), - -/***/ "./node_modules/ramda/es/product.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/product.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiply.js */ "./node_modules/ramda/es/multiply.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - -/** - * Multiplies together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The product of all the numbers in the list. - * @see R.reduce - * @example - * - * R.product([2,4,6,8,100,1]); //=> 38400 - */ -var product = /*#__PURE__*/Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_multiply_js__WEBPACK_IMPORTED_MODULE_0__["default"], 1); -/* harmony default export */ __webpack_exports__["default"] = (product); - -/***/ }), - -/***/ "./node_modules/ramda/es/project.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/project.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); -/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); -/* harmony import */ var _pickAll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickAll.js */ "./node_modules/ramda/es/pickAll.js"); -/* harmony import */ var _useWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useWith.js */ "./node_modules/ramda/es/useWith.js"); - - - - - -/** - * Reasonable analog to SQL `select` statement. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @category Relation - * @sig [k] -> [{k: v}] -> [{k: v}] - * @param {Array} props The property names to project - * @param {Array} objs The objects to query - * @return {Array} An array of objects with just the `props` properties. - * @example - * - * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2}; - * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7}; - * const kids = [abby, fred]; - * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}] - */ -var project = /*#__PURE__*/Object(_useWith_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_internal_map_js__WEBPACK_IMPORTED_MODULE_0__["default"], [_pickAll_js__WEBPACK_IMPORTED_MODULE_2__["default"], _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]]); // passing `identity` gives correct arity -/* harmony default export */ __webpack_exports__["default"] = (project); - -/***/ }), - -/***/ "./node_modules/ramda/es/prop.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/prop.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); - - - -/** - * Returns a function that when supplied an object returns the indicated - * property of that object, if it exists. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig s -> {s: a} -> a | Undefined - * @param {String} p The property name - * @param {Object} obj The object to query - * @return {*} The value at `obj.p`. - * @see R.path - * @example - * - * R.prop('x', {x: 100}); //=> 100 - * R.prop('x', {}); //=> undefined - * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 - */ - -var prop = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function prop(p, obj) { - return Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])([p], obj); -}); -/* harmony default export */ __webpack_exports__["default"] = (prop); - -/***/ }), - -/***/ "./node_modules/ramda/es/propEq.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/propEq.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); - - - -/** - * Returns `true` if the specified object property is equal, in - * [`R.equals`](#equals) terms, to the given value; `false` otherwise. - * You can test multiple properties with [`R.whereEq`](#whereEq). - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig String -> a -> Object -> Boolean - * @param {String} name - * @param {*} val - * @param {*} obj - * @return {Boolean} - * @see R.whereEq, R.propSatisfies, R.equals - * @example - * - * const abby = {name: 'Abby', age: 7, hair: 'blond'}; - * const fred = {name: 'Fred', age: 12, hair: 'brown'}; - * const rusty = {name: 'Rusty', age: 10, hair: 'brown'}; - * const alois = {name: 'Alois', age: 15, disposition: 'surly'}; - * const kids = [abby, fred, rusty, alois]; - * const hasBrownHair = R.propEq('hair', 'brown'); - * R.filter(hasBrownHair, kids); //=> [fred, rusty] - */ -var propEq = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propEq(name, val, obj) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, obj[name]); -}); -/* harmony default export */ __webpack_exports__["default"] = (propEq); - -/***/ }), - -/***/ "./node_modules/ramda/es/propIs.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/propIs.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _is_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is.js */ "./node_modules/ramda/es/is.js"); - - - -/** - * Returns `true` if the specified object property is of the given type; - * `false` otherwise. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Type - * @sig Type -> String -> Object -> Boolean - * @param {Function} type - * @param {String} name - * @param {*} obj - * @return {Boolean} - * @see R.is, R.propSatisfies - * @example - * - * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true - * R.propIs(Number, 'x', {x: 'foo'}); //=> false - * R.propIs(Number, 'x', {}); //=> false - */ -var propIs = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propIs(type, name, obj) { - return Object(_is_js__WEBPACK_IMPORTED_MODULE_1__["default"])(type, obj[name]); -}); -/* harmony default export */ __webpack_exports__["default"] = (propIs); - -/***/ }), - -/***/ "./node_modules/ramda/es/propOr.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/propOr.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _pathOr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pathOr.js */ "./node_modules/ramda/es/pathOr.js"); - - - -/** - * If the given, non-null object has an own property with the specified name, - * returns the value of that property. Otherwise returns the provided default - * value. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category Object - * @sig a -> String -> Object -> a - * @param {*} val The default value. - * @param {String} p The name of the property to return. - * @param {Object} obj The object to query. - * @return {*} The value of given property of the supplied object or the default value. - * @example - * - * const alice = { - * name: 'ALICE', - * age: 101 - * }; - * const favorite = R.prop('favoriteLibrary'); - * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary'); - * - * favorite(alice); //=> undefined - * favoriteWithDefault(alice); //=> 'Ramda' - */ -var propOr = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propOr(val, p, obj) { - return Object(_pathOr_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, [p], obj); -}); -/* harmony default export */ __webpack_exports__["default"] = (propOr); - -/***/ }), - -/***/ "./node_modules/ramda/es/propSatisfies.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/propSatisfies.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Returns `true` if the specified object property satisfies the given - * predicate; `false` otherwise. You can test multiple properties with - * [`R.where`](#where). - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Logic - * @sig (a -> Boolean) -> String -> {String: a} -> Boolean - * @param {Function} pred - * @param {String} name - * @param {*} obj - * @return {Boolean} - * @see R.where, R.propEq, R.propIs - * @example - * - * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true - */ -var propSatisfies = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propSatisfies(pred, name, obj) { - return pred(obj[name]); -}); -/* harmony default export */ __webpack_exports__["default"] = (propSatisfies); - -/***/ }), - -/***/ "./node_modules/ramda/es/props.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/props.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Acts as multiple `prop`: array of keys in, array of values out. Preserves - * order. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig [k] -> {k: v} -> [v] - * @param {Array} ps The property names to fetch - * @param {Object} obj The object to query - * @return {Array} The corresponding values or partially applied function. - * @example - * - * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2] - * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2] - * - * const fullName = R.compose(R.join(' '), R.props(['first', 'last'])); - * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth' - */ -var props = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function props(ps, obj) { - var len = ps.length; - var out = []; - var idx = 0; - - while (idx < len) { - out[idx] = obj[ps[idx]]; - idx += 1; - } - - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (props); - -/***/ }), - -/***/ "./node_modules/ramda/es/range.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/range.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber.js */ "./node_modules/ramda/es/internal/_isNumber.js"); - - - -/** - * Returns a list of numbers from `from` (inclusive) to `to` (exclusive). - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> Number -> [Number] - * @param {Number} from The first number in the list. - * @param {Number} to One more than the last number in the list. - * @return {Array} The list of numbers in the set `[a, b)`. - * @example - * - * R.range(1, 5); //=> [1, 2, 3, 4] - * R.range(50, 53); //=> [50, 51, 52] - */ -var range = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function range(from, to) { - if (!(Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(from) && Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(to))) { - throw new TypeError('Both arguments to range must be numbers'); - } - var result = []; - var n = from; - while (n < to) { - result.push(n); - n += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (range); - -/***/ }), - -/***/ "./node_modules/ramda/es/reduce.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/reduce.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); - - - -/** - * Returns a single item by iterating through the list, successively calling - * the iterator function and passing it an accumulator value and the current - * value from the array, and then passing the result to the next call. - * - * The iterator function receives two values: *(acc, value)*. It may use - * [`R.reduced`](#reduced) to shortcut the iteration. - * - * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function - * is *(value, acc)*. - * - * Note: `R.reduce` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.reduce` method. For more details - * on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description - * - * Dispatches to the `reduce` method of the third argument, if present. When - * doing so, it is up to the user to handle the [`R.reduced`](#reduced) - * shortcuting, as this is not implemented by `reduce`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, b) -> a) -> a -> [b] -> a - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduced, R.addIndex, R.reduceRight - * @example - * - * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10 - * // - -10 - * // / \ / \ - * // - 4 -6 4 - * // / \ / \ - * // - 3 ==> -3 3 - * // / \ / \ - * // - 2 -1 2 - * // / \ / \ - * // 0 1 0 1 - * - * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d) - */ -var reduce = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (reduce); - -/***/ }), - -/***/ "./node_modules/ramda/es/reduceBy.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/reduceBy.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_xreduceBy_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xreduceBy.js */ "./node_modules/ramda/es/internal/_xreduceBy.js"); - - - - - - -/** - * Groups the elements of the list according to the result of calling - * the String-returning function `keyFn` on each element and reduces the elements - * of each group to a single value via the reducer function `valueFn`. - * - * This function is basically a more general [`groupBy`](#groupBy) function. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category List - * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a} - * @param {Function} valueFn The function that reduces the elements of each group to a single - * value. Receives two values, accumulator for a particular group and the current element. - * @param {*} acc The (initial) accumulator value for each group. - * @param {Function} keyFn The function that maps the list's element into a key. - * @param {Array} list The array to group. - * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of - * `valueFn` for elements which produced that key when passed to `keyFn`. - * @see R.groupBy, R.reduce - * @example - * - * const groupNames = (acc, {name}) => acc.concat(name) - * const toGrade = ({score}) => - * score < 65 ? 'F' : - * score < 70 ? 'D' : - * score < 80 ? 'C' : - * score < 90 ? 'B' : 'A' - * - * var students = [ - * {name: 'Abby', score: 83}, - * {name: 'Bart', score: 62}, - * {name: 'Curt', score: 88}, - * {name: 'Dora', score: 92}, - * ] - * - * reduceBy(groupNames, [], toGrade, students) - * //=> {"A": ["Dora"], "B": ["Abby", "Curt"], "F": ["Bart"]} - */ -var reduceBy = /*#__PURE__*/Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, [], /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xreduceBy_js__WEBPACK_IMPORTED_MODULE_4__["default"], function reduceBy(valueFn, valueAcc, keyFn, list) { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (acc, elt) { - var key = keyFn(elt); - acc[key] = valueFn(Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, acc) ? acc[key] : valueAcc, elt); - return acc; - }, {}, list); -})); -/* harmony default export */ __webpack_exports__["default"] = (reduceBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/reduceRight.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/reduceRight.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Returns a single item by iterating through the list, successively calling - * the iterator function and passing it an accumulator value and the current - * value from the array, and then passing the result to the next call. - * - * Similar to [`reduce`](#reduce), except moves through the input list from the - * right to the left. - * - * The iterator function receives two values: *(value, acc)*, while the arguments' - * order of `reduce`'s iterator function is *(acc, value)*. - * - * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse - * arrays), unlike the native `Array.prototype.reduceRight` method. For more details - * on this behavior, see: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, b) -> b) -> b -> [a] -> b - * @param {Function} fn The iterator function. Receives two values, the current element from the array - * and the accumulator. - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.addIndex - * @example - * - * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2 - * // - -2 - * // / \ / \ - * // 1 - 1 3 - * // / \ / \ - * // 2 - ==> 2 -1 - * // / \ / \ - * // 3 - 3 4 - * // / \ / \ - * // 4 0 4 0 - * - * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a))) - */ -var reduceRight = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reduceRight(fn, acc, list) { - var idx = list.length - 1; - while (idx >= 0) { - acc = fn(list[idx], acc); - idx -= 1; - } - return acc; -}); -/* harmony default export */ __webpack_exports__["default"] = (reduceRight); - -/***/ }), - -/***/ "./node_modules/ramda/es/reduceWhile.js": -/*!**********************************************!*\ - !*** ./node_modules/ramda/es/reduceWhile.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); - - - - -/** - * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating - * through the list, successively calling the iterator function. `reduceWhile` - * also takes a predicate that is evaluated before each step. If the predicate - * returns `false`, it "short-circuits" the iteration and returns the current - * value of the accumulator. - * - * @func - * @memberOf R - * @since v0.22.0 - * @category List - * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a - * @param {Function} pred The predicate. It is passed the accumulator and the - * current element. - * @param {Function} fn The iterator function. Receives two values, the - * accumulator and the current element. - * @param {*} a The accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.reduced - * @example - * - * const isOdd = (acc, x) => x % 2 === 1; - * const xs = [1, 3, 5, 60, 777, 800]; - * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9 - * - * const ys = [2, 4, 6] - * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111 - */ -var reduceWhile = /*#__PURE__*/Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, [], function _reduceWhile(pred, fn, a, list) { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, x) { - return pred(acc, x) ? fn(acc, x) : Object(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_2__["default"])(acc); - }, a, list); -}); -/* harmony default export */ __webpack_exports__["default"] = (reduceWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/reduced.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/reduced.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); - - - -/** - * Returns a value wrapped to indicate that it is the final value of the reduce - * and transduce functions. The returned value should be considered a black - * box: the internal structure is not guaranteed to be stable. - * - * Note: this optimization is only available to the below functions: - * - [`reduce`](#reduce) - * - [`reduceWhile`](#reduceWhile) - * - [`transduce`](#transduce) - * - * @func - * @memberOf R - * @since v0.15.0 - * @category List - * @sig a -> * - * @param {*} x The final value of the reduce. - * @return {*} The wrapped value. - * @see R.reduce, R.reduceWhile, R.transduce - * @example - * - * R.reduce( - * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), - * [], - * [1, 2, 3, 4, 5]) // [1, 2, 3] - */ -var reduced = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (reduced); - -/***/ }), - -/***/ "./node_modules/ramda/es/reject.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/reject.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_complement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement.js */ "./node_modules/ramda/es/internal/_complement.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); - - - - -/** - * The complement of [`filter`](#filter). - * - * Acts as a transducer if a transformer is given in list position. Filterable - * objects include plain objects or any object that has a filter method such - * as `Array`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Filterable f => (a -> Boolean) -> f a -> f a - * @param {Function} pred - * @param {Array} filterable - * @return {Array} - * @see R.filter, R.transduce, R.addIndex - * @example - * - * const isOdd = (n) => n % 2 === 1; - * - * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4] - * - * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} - */ -var reject = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function reject(pred, filterable) { - return Object(_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_internal_complement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred), filterable); -}); -/* harmony default export */ __webpack_exports__["default"] = (reject); - -/***/ }), - -/***/ "./node_modules/ramda/es/remove.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/remove.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Removes the sub-list of `list` starting at index `start` and containing - * `count` elements. _Note that this is not destructive_: it returns a copy of - * the list with the changes. - * <small>No lists have been harmed in the application of this function.</small> - * - * @func - * @memberOf R - * @since v0.2.2 - * @category List - * @sig Number -> Number -> [a] -> [a] - * @param {Number} start The position to start removing elements - * @param {Number} count The number of elements to remove - * @param {Array} list The list to remove from - * @return {Array} A new Array with `count` elements from `start` removed. - * @see R.without - * @example - * - * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8] - */ -var remove = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function remove(start, count, list) { - var result = Array.prototype.slice.call(list, 0); - result.splice(start, count); - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (remove); - -/***/ }), - -/***/ "./node_modules/ramda/es/repeat.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/repeat.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); -/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./times.js */ "./node_modules/ramda/es/times.js"); - - - - -/** - * Returns a fixed list of size `n` containing a specified identical value. - * - * @func - * @memberOf R - * @since v0.1.1 - * @category List - * @sig a -> n -> [a] - * @param {*} value The value to repeat. - * @param {Number} n The desired size of the output list. - * @return {Array} A new array containing `n` `value`s. - * @see R.times - * @example - * - * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi'] - * - * const obj = {}; - * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}] - * repeatedObjs[0] === repeatedObjs[1]; //=> true - * @symb R.repeat(a, 0) = [] - * @symb R.repeat(a, 1) = [a] - * @symb R.repeat(a, 2) = [a, a] - */ -var repeat = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function repeat(value, n) { - return Object(_times_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_always_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value), n); -}); -/* harmony default export */ __webpack_exports__["default"] = (repeat); - -/***/ }), - -/***/ "./node_modules/ramda/es/replace.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/replace.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Replace a substring or regex match in a string with a replacement. - * - * The first two parameters correspond to the parameters of the - * `String.prototype.replace()` function, so the second parameter can also be a - * function. - * - * @func - * @memberOf R - * @since v0.7.0 - * @category String - * @sig RegExp|String -> String -> String -> String - * @param {RegExp|String} pattern A regular expression or a substring to match. - * @param {String} replacement The string to replace the matches with. - * @param {String} str The String to do the search and replacement in. - * @return {String} The result. - * @example - * - * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo' - * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo' - * - * // Use the "g" (global) flag to replace all occurrences: - * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar' - */ -var replace = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function replace(regex, replacement, str) { - return str.replace(regex, replacement); -}); -/* harmony default export */ __webpack_exports__["default"] = (replace); - -/***/ }), - -/***/ "./node_modules/ramda/es/reverse.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/reverse.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); - - - -/** - * Returns a new list or string with the elements or characters in reverse - * order. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {Array|String} list - * @return {Array|String} - * @example - * - * R.reverse([1, 2, 3]); //=> [3, 2, 1] - * R.reverse([1, 2]); //=> [2, 1] - * R.reverse([1]); //=> [1] - * R.reverse([]); //=> [] - * - * R.reverse('abc'); //=> 'cba' - * R.reverse('ab'); //=> 'ba' - * R.reverse('a'); //=> 'a' - * R.reverse(''); //=> '' - */ -var reverse = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reverse(list) { - return Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse(); -}); -/* harmony default export */ __webpack_exports__["default"] = (reverse); - -/***/ }), - -/***/ "./node_modules/ramda/es/scan.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/scan.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Scan is similar to [`reduce`](#reduce), but returns a list of successively - * reduced values from the left - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig ((a, b) -> a) -> a -> [b] -> [a] - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array - * @param {*} acc The accumulator value. - * @param {Array} list The list to iterate over. - * @return {Array} A list of all intermediately reduced values. - * @see R.reduce, R.mapAccum - * @example - * - * const numbers = [1, 2, 3, 4]; - * const factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24] - * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)] - */ -var scan = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function scan(fn, acc, list) { - var idx = 0; - var len = list.length; - var result = [acc]; - while (idx < len) { - acc = fn(acc, list[idx]); - result[idx + 1] = acc; - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (scan); - -/***/ }), - -/***/ "./node_modules/ramda/es/sequence.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/sequence.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony import */ var _prepend_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prepend.js */ "./node_modules/ramda/es/prepend.js"); -/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduceRight.js */ "./node_modules/ramda/es/reduceRight.js"); - - - - - - -/** - * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable) - * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an - * Applicative of Traversable. - * - * Dispatches to the `sequence` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a) - * @param {Function} of - * @param {*} traversable - * @return {*} - * @see R.traverse - * @example - * - * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3]) - * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing() - * - * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)] - * R.sequence(R.of, Nothing()); //=> [Nothing()] - */ -var sequence = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sequence(of, traversable) { - return typeof traversable.sequence === 'function' ? traversable.sequence(of) : Object(_reduceRight_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (x, acc) { - return Object(_ap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_prepend_js__WEBPACK_IMPORTED_MODULE_3__["default"], x), acc); - }, of([]), traversable); -}); -/* harmony default export */ __webpack_exports__["default"] = (sequence); - -/***/ }), - -/***/ "./node_modules/ramda/es/set.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/set.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); -/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./over.js */ "./node_modules/ramda/es/over.js"); - - - - -/** - * Returns the result of "setting" the portion of the given data structure - * focused by the given lens to the given value. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig Lens s a -> a -> s -> s - * @param {Lens} lens - * @param {*} v - * @param {*} x - * @return {*} - * @see R.prop, R.lensIndex, R.lensProp - * @example - * - * const xLens = R.lensProp('x'); - * - * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} - * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2} - */ -var set = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function set(lens, v, x) { - return Object(_over_js__WEBPACK_IMPORTED_MODULE_2__["default"])(lens, Object(_always_js__WEBPACK_IMPORTED_MODULE_1__["default"])(v), x); -}); -/* harmony default export */ __webpack_exports__["default"] = (set); - -/***/ }), - -/***/ "./node_modules/ramda/es/slice.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/slice.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - - -/** - * Returns the elements of the given list or string (or object with a `slice` - * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). - * - * Dispatches to the `slice` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.1.4 - * @category List - * @sig Number -> Number -> [a] -> [a] - * @sig Number -> Number -> String -> String - * @param {Number} fromIndex The start index (inclusive). - * @param {Number} toIndex The end index (exclusive). - * @param {*} list - * @return {*} - * @example - * - * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] - * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] - * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] - * R.slice(0, 3, 'ramda'); //=> 'ram' - */ -var slice = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('slice', function slice(fromIndex, toIndex, list) { - return Array.prototype.slice.call(list, fromIndex, toIndex); -})); -/* harmony default export */ __webpack_exports__["default"] = (slice); - -/***/ }), - -/***/ "./node_modules/ramda/es/sort.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/sort.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Returns a copy of the list, sorted according to the comparator function, - * which should accept two values at a time and return a negative number if the - * first value is smaller, a positive number if it's larger, and zero if they - * are equal. Please note that this is a **copy** of the list. It does not - * modify the original. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, a) -> Number) -> [a] -> [a] - * @param {Function} comparator A sorting function :: a -> b -> Int - * @param {Array} list The list to sort - * @return {Array} a new array with its elements sorted by the comparator function. - * @example - * - * const diff = function(a, b) { return a - b; }; - * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7] - */ -var sort = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sort(comparator, list) { - return Array.prototype.slice.call(list, 0).sort(comparator); -}); -/* harmony default export */ __webpack_exports__["default"] = (sort); - -/***/ }), - -/***/ "./node_modules/ramda/es/sortBy.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/sortBy.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Sorts the list according to the supplied function. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig Ord b => (a -> b) -> [a] -> [a] - * @param {Function} fn - * @param {Array} list The list to sort. - * @return {Array} A new list sorted by the keys generated by `fn`. - * @example - * - * const sortByFirstItem = R.sortBy(R.prop(0)); - * const pairs = [[-1, 1], [-2, 2], [-3, 3]]; - * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]] - * - * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name'))); - * const alice = { - * name: 'ALICE', - * age: 101 - * }; - * const bob = { - * name: 'Bob', - * age: -10 - * }; - * const clara = { - * name: 'clara', - * age: 314.159 - * }; - * const people = [clara, bob, alice]; - * sortByNameCaseInsensitive(people); //=> [alice, bob, clara] - */ -var sortBy = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sortBy(fn, list) { - return Array.prototype.slice.call(list, 0).sort(function (a, b) { - var aa = fn(a); - var bb = fn(b); - return aa < bb ? -1 : aa > bb ? 1 : 0; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (sortBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/sortWith.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/sortWith.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Sorts a list according to a list of comparators. - * - * @func - * @memberOf R - * @since v0.23.0 - * @category Relation - * @sig [(a, a) -> Number] -> [a] -> [a] - * @param {Array} functions A list of comparator functions. - * @param {Array} list The list to sort. - * @return {Array} A new list sorted according to the comarator functions. - * @example - * - * const alice = { - * name: 'alice', - * age: 40 - * }; - * const bob = { - * name: 'bob', - * age: 30 - * }; - * const clara = { - * name: 'clara', - * age: 40 - * }; - * const people = [clara, bob, alice]; - * const ageNameSort = R.sortWith([ - * R.descend(R.prop('age')), - * R.ascend(R.prop('name')) - * ]); - * ageNameSort(people); //=> [alice, clara, bob] - */ -var sortWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sortWith(fns, list) { - return Array.prototype.slice.call(list, 0).sort(function (a, b) { - var result = 0; - var i = 0; - while (result === 0 && i < fns.length) { - result = fns[i](a, b); - i += 1; - } - return result; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (sortWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/split.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/split.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); - - -/** - * Splits a string into an array of strings based on the given - * separator. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category String - * @sig (String | RegExp) -> String -> [String] - * @param {String|RegExp} sep The pattern. - * @param {String} str The string to separate into an array. - * @return {Array} The array of strings from `str` separated by `str`. - * @see R.join - * @example - * - * const pathComponents = R.split('/'); - * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node'] - * - * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd'] - */ -var split = /*#__PURE__*/Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'split'); -/* harmony default export */ __webpack_exports__["default"] = (split); - -/***/ }), - -/***/ "./node_modules/ramda/es/splitAt.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/splitAt.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _length_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./length.js */ "./node_modules/ramda/es/length.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - -/** - * Splits a given list or string at a given index. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig Number -> [a] -> [[a], [a]] - * @sig Number -> String -> [String, String] - * @param {Number} index The index where the array/string is split. - * @param {Array|String} array The array/string to be split. - * @return {Array} - * @example - * - * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]] - * R.splitAt(5, 'hello world'); //=> ['hello', ' world'] - * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r'] - */ -var splitAt = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitAt(index, array) { - return [Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(0, index, array), Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(index, Object(_length_js__WEBPACK_IMPORTED_MODULE_1__["default"])(array), array)]; -}); -/* harmony default export */ __webpack_exports__["default"] = (splitAt); - -/***/ }), - -/***/ "./node_modules/ramda/es/splitEvery.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/splitEvery.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - -/** - * Splits a collection into slices of the specified length. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [[a]] - * @sig Number -> String -> [String] - * @param {Number} n - * @param {Array} list - * @return {Array} - * @example - * - * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]] - * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz'] - */ -var splitEvery = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitEvery(n, list) { - if (n <= 0) { - throw new Error('First argument to splitEvery must be a positive integer'); - } - var result = []; - var idx = 0; - while (idx < list.length) { - result.push(Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, idx += n, list)); - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (splitEvery); - -/***/ }), - -/***/ "./node_modules/ramda/es/splitWhen.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/splitWhen.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Takes a list and a predicate and returns a pair of lists with the following properties: - * - * - the result of concatenating the two output lists is equivalent to the input list; - * - none of the elements of the first output list satisfies the predicate; and - * - if the second output list is non-empty, its first element satisfies the predicate. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [[a], [a]] - * @param {Function} pred The predicate that determines where the array is split. - * @param {Array} list The array to be split. - * @return {Array} - * @example - * - * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]] - */ -var splitWhen = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitWhen(pred, list) { - var idx = 0; - var len = list.length; - var prefix = []; - - while (idx < len && !pred(list[idx])) { - prefix.push(list[idx]); - idx += 1; - } - - return [prefix, Array.prototype.slice.call(list, idx)]; -}); -/* harmony default export */ __webpack_exports__["default"] = (splitWhen); - -/***/ }), - -/***/ "./node_modules/ramda/es/startsWith.js": -/*!*********************************************!*\ - !*** ./node_modules/ramda/es/startsWith.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); -/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take.js */ "./node_modules/ramda/es/take.js"); - - - - -/** - * Checks if a list starts with the provided sublist. - * - * Similarly, checks if a string starts with the provided substring. - * - * @func - * @memberOf R - * @since v0.24.0 - * @category List - * @sig [a] -> [a] -> Boolean - * @sig String -> String -> Boolean - * @param {*} prefix - * @param {*} list - * @return {Boolean} - * @see R.endsWith - * @example - * - * R.startsWith('a', 'abc') //=> true - * R.startsWith('b', 'abc') //=> false - * R.startsWith(['a'], ['a', 'b', 'c']) //=> true - * R.startsWith(['b'], ['a', 'b', 'c']) //=> false - */ -var startsWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prefix, list) { - return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_take_js__WEBPACK_IMPORTED_MODULE_2__["default"])(prefix.length, list), prefix); -}); -/* harmony default export */ __webpack_exports__["default"] = (startsWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/subtract.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/subtract.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Subtracts its second argument from its first argument. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig Number -> Number -> Number - * @param {Number} a The first value. - * @param {Number} b The second value. - * @return {Number} The result of `a - b`. - * @see R.add - * @example - * - * R.subtract(10, 8); //=> 2 - * - * const minus5 = R.subtract(R.__, 5); - * minus5(17); //=> 12 - * - * const complementaryAngle = R.subtract(90); - * complementaryAngle(30); //=> 60 - * complementaryAngle(72); //=> 18 - */ -var subtract = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function subtract(a, b) { - return Number(a) - Number(b); -}); -/* harmony default export */ __webpack_exports__["default"] = (subtract); - -/***/ }), - -/***/ "./node_modules/ramda/es/sum.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/sum.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); -/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); - - - -/** - * Adds together all the elements of a list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Math - * @sig [Number] -> Number - * @param {Array} list An array of numbers - * @return {Number} The sum of all the numbers in the list. - * @see R.reduce - * @example - * - * R.sum([2,4,6,8,100,1]); //=> 121 - */ -var sum = /*#__PURE__*/Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"], 0); -/* harmony default export */ __webpack_exports__["default"] = (sum); - -/***/ }), - -/***/ "./node_modules/ramda/es/symmetricDifference.js": -/*!******************************************************!*\ - !*** ./node_modules/ramda/es/symmetricDifference.js ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); -/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./difference.js */ "./node_modules/ramda/es/difference.js"); - - - - -/** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifferenceWith, R.difference, R.differenceWith - * @example - * - * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] - * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] - */ -var symmetricDifference = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function symmetricDifference(list1, list2) { - return Object(_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_difference_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list1, list2), Object(_difference_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list2, list1)); -}); -/* harmony default export */ __webpack_exports__["default"] = (symmetricDifference); - -/***/ }), - -/***/ "./node_modules/ramda/es/symmetricDifferenceWith.js": -/*!**********************************************************!*\ - !*** ./node_modules/ramda/es/symmetricDifferenceWith.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); -/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./differenceWith.js */ "./node_modules/ramda/es/differenceWith.js"); - - - - -/** - * Finds the set (i.e. no duplicates) of all elements contained in the first or - * second list, but not both. Duplication is determined according to the value - * returned by applying the supplied predicate to two list elements. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category Relation - * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The elements in `list1` or `list2`, but not both. - * @see R.symmetricDifference, R.difference, R.differenceWith - * @example - * - * const eqA = R.eqBy(R.prop('a')); - * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}]; - * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}]; - * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}] - */ -var symmetricDifferenceWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function symmetricDifferenceWith(pred, list1, list2) { - return Object(_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_differenceWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, list1, list2), Object(_differenceWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, list2, list1)); -}); -/* harmony default export */ __webpack_exports__["default"] = (symmetricDifferenceWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/tail.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/tail.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - -/** - * Returns all but the first element of the given list or string (or object - * with a `tail` method). - * - * Dispatches to the `slice` method of the first argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @sig String -> String - * @param {*} list - * @return {*} - * @see R.head, R.init, R.last - * @example - * - * R.tail([1, 2, 3]); //=> [2, 3] - * R.tail([1, 2]); //=> [2] - * R.tail([1]); //=> [] - * R.tail([]); //=> [] - * - * R.tail('abc'); //=> 'bc' - * R.tail('ab'); //=> 'b' - * R.tail('a'); //=> '' - * R.tail(''); //=> '' - */ -var tail = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('tail', /*#__PURE__*/Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(1, Infinity))); -/* harmony default export */ __webpack_exports__["default"] = (tail); - -/***/ }), - -/***/ "./node_modules/ramda/es/take.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/take.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtake.js */ "./node_modules/ramda/es/internal/_xtake.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - - -/** - * Returns the first `n` elements of the given list, string, or - * transducer/transformer (or object with a `take` method). - * - * Dispatches to the `take` method of the second argument, if present. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n - * @param {*} list - * @return {*} - * @see R.drop - * @example - * - * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] - * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] - * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.take(3, 'ramda'); //=> 'ram' - * - * const personnel = [ - * 'Dave Brubeck', - * 'Paul Desmond', - * 'Eugene Wright', - * 'Joe Morello', - * 'Gerry Mulligan', - * 'Bob Bates', - * 'Joe Dodge', - * 'Ron Crotty' - * ]; - * - * const takeFive = R.take(5); - * takeFive(personnel); - * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] - * @symb R.take(-1, [a, b]) = [a, b] - * @symb R.take(0, [a, b]) = [] - * @symb R.take(1, [a, b]) = [a] - * @symb R.take(2, [a, b]) = [a, b] - */ -var take = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['take'], _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__["default"], function take(n, xs) { - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(0, n < 0 ? Infinity : n, xs); -})); -/* harmony default export */ __webpack_exports__["default"] = (take); - -/***/ }), - -/***/ "./node_modules/ramda/es/takeLast.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/takeLast.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drop.js */ "./node_modules/ramda/es/drop.js"); - - - -/** - * Returns a new list containing the last `n` elements of the given list. - * If `n > list.length`, returns a list of `list.length` elements. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig Number -> [a] -> [a] - * @sig Number -> String -> String - * @param {Number} n The number of elements to return. - * @param {Array} xs The collection to consider. - * @return {Array} - * @see R.dropLast - * @example - * - * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz'] - * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] - * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] - * R.takeLast(3, 'ramda'); //=> 'mda' - */ -var takeLast = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function takeLast(n, xs) { - return Object(_drop_js__WEBPACK_IMPORTED_MODULE_1__["default"])(n >= 0 ? xs.length - n : 0, xs); -}); -/* harmony default export */ __webpack_exports__["default"] = (takeLast); - -/***/ }), - -/***/ "./node_modules/ramda/es/takeLastWhile.js": -/*!************************************************!*\ - !*** ./node_modules/ramda/es/takeLastWhile.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - -/** - * Returns a new list containing the last `n` elements of a given list, passing - * each value to the supplied predicate function, and terminating when the - * predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropLastWhile, R.addIndex - * @example - * - * const isNotOne = x => x !== 1; - * - * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4] - * - * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda' - */ -var takeLastWhile = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function takeLastWhile(fn, xs) { - var idx = xs.length - 1; - while (idx >= 0 && fn(xs[idx])) { - idx -= 1; - } - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx + 1, Infinity, xs); -}); -/* harmony default export */ __webpack_exports__["default"] = (takeLastWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/takeWhile.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/takeWhile.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xtakeWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtakeWhile.js */ "./node_modules/ramda/es/internal/_xtakeWhile.js"); -/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); - - - - - -/** - * Returns a new list containing the first `n` elements of a given list, - * passing each value to the supplied predicate function, and terminating when - * the predicate function returns `false`. Excludes the element that caused the - * predicate function to fail. The predicate function is passed one argument: - * *(value)*. - * - * Dispatches to the `takeWhile` method of the second argument, if present. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig (a -> Boolean) -> [a] -> [a] - * @sig (a -> Boolean) -> String -> String - * @param {Function} fn The function called per iteration. - * @param {Array} xs The collection to iterate over. - * @return {Array} A new array. - * @see R.dropWhile, R.transduce, R.addIndex - * @example - * - * const isNotFour = x => x !== 4; - * - * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3] - * - * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram' - */ -var takeWhile = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['takeWhile'], _internal_xtakeWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"], function takeWhile(fn, xs) { - var idx = 0; - var len = xs.length; - while (idx < len && fn(xs[idx])) { - idx += 1; - } - return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(0, idx, xs); -})); -/* harmony default export */ __webpack_exports__["default"] = (takeWhile); - -/***/ }), - -/***/ "./node_modules/ramda/es/tap.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/tap.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); -/* harmony import */ var _internal_xtap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtap.js */ "./node_modules/ramda/es/internal/_xtap.js"); - - - - -/** - * Runs the given function with the supplied object, then returns the object. - * - * Acts as a transducer if a transformer is given as second parameter. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig (a -> *) -> a -> a - * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away. - * @param {*} x - * @return {*} `x`. - * @example - * - * const sayX = x => console.log('x is ' + x); - * R.tap(sayX, 100); //=> 100 - * // logs 'x is 100' - * @symb R.tap(f, a) = a - */ -var tap = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( /*#__PURE__*/Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xtap_js__WEBPACK_IMPORTED_MODULE_2__["default"], function tap(fn, x) { - fn(x); - return x; -})); -/* harmony default export */ __webpack_exports__["default"] = (tap); - -/***/ }), - -/***/ "./node_modules/ramda/es/test.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/test.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_cloneRegExp.js */ "./node_modules/ramda/es/internal/_cloneRegExp.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isRegExp.js */ "./node_modules/ramda/es/internal/_isRegExp.js"); -/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); - - - - - -/** - * Determines whether a given string matches a given regular expression. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category String - * @sig RegExp -> String -> Boolean - * @param {RegExp} pattern - * @param {String} str - * @return {Boolean} - * @see R.match - * @example - * - * R.test(/^x/, 'xyz'); //=> true - * R.test(/^y/, 'xyz'); //=> false - */ -var test = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function test(pattern, str) { - if (!Object(_internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pattern)) { - throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(pattern)); - } - return Object(_internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pattern).test(str); -}); -/* harmony default export */ __webpack_exports__["default"] = (test); - -/***/ }), - -/***/ "./node_modules/ramda/es/then.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/then.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_assertPromise.js */ "./node_modules/ramda/es/internal/_assertPromise.js"); - - - -/** - * Returns the result of applying the onSuccess function to the value inside - * a successfully resolved promise. This is useful for working with promises - * inside function compositions. - * - * @func - * @memberOf R - * @category Function - * @sig (a -> b) -> (Promise e a) -> (Promise e b) - * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b) - * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value. - * @param {Promise} p - * @return {Promise} The result of calling `p.then(onSuccess)` - * @see R.otherwise - * @example - * - * var makeQuery = (email) => ({ query: { email }}); - * - * //getMemberName :: String -> Promise ({firstName, lastName}) - * var getMemberName = R.pipe( - * makeQuery, - * fetchMember, - * R.then(R.pick(['firstName', 'lastName'])) - * ); - */ -var then = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function then(f, p) { - Object(_internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__["default"])('then', p); - - return p.then(f); -}); -/* harmony default export */ __webpack_exports__["default"] = (then); - -/***/ }), - -/***/ "./node_modules/ramda/es/thunkify.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/thunkify.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - - -/** - * Creates a thunk out of a function. A thunk delays a calculation until - * its result is needed, providing lazy evaluation of arguments. - * - * @func - * @memberOf R - * @category Function - * @sig ((a, b, ..., j) -> k) -> (a, b, ..., j) -> (() -> k) - * @param {Function} fn A function to wrap in a thunk - * @return {Function} Expects arguments for `fn` and returns a new function - * that, when called, applies those arguments to `fn`. - * @see R.partial, R.partialRight - * @example - * - * R.thunkify(R.identity)(42)(); //=> 42 - * R.thunkify((a, b) => a + b)(25, 17)(); //=> 42 - */ -var thunkify = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function thunkify(fn) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function createThunk() { - var fnArgs = arguments; - return function invokeThunk() { - return fn.apply(this, fnArgs); - }; - }); -}); - -/* harmony default export */ __webpack_exports__["default"] = (thunkify); - -/***/ }), - -/***/ "./node_modules/ramda/es/times.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/times.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Calls an input function `n` times, returning an array containing the results - * of those function calls. - * - * `fn` is passed one argument: The current value of `n`, which begins at `0` - * and is gradually incremented to `n - 1`. - * - * @func - * @memberOf R - * @since v0.2.3 - * @category List - * @sig (Number -> a) -> Number -> [a] - * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`. - * @param {Number} n A value between `0` and `n - 1`. Increments after each function call. - * @return {Array} An array containing the return values of all calls to `fn`. - * @see R.repeat - * @example - * - * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4] - * @symb R.times(f, 0) = [] - * @symb R.times(f, 1) = [f(0)] - * @symb R.times(f, 2) = [f(0), f(1)] - */ -var times = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function times(fn, n) { - var len = Number(n); - var idx = 0; - var list; - - if (len < 0 || isNaN(len)) { - throw new RangeError('n must be a non-negative number'); - } - list = new Array(len); - while (idx < len) { - list[idx] = fn(idx); - idx += 1; - } - return list; -}); -/* harmony default export */ __webpack_exports__["default"] = (times); - -/***/ }), - -/***/ "./node_modules/ramda/es/toLower.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/toLower.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); - - -/** - * The lower case version of a string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category String - * @sig String -> String - * @param {String} str The string to lower case. - * @return {String} The lower case version of `str`. - * @see R.toUpper - * @example - * - * R.toLower('XYZ'); //=> 'xyz' - */ -var toLower = /*#__PURE__*/Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, 'toLowerCase'); -/* harmony default export */ __webpack_exports__["default"] = (toLower); - -/***/ }), - -/***/ "./node_modules/ramda/es/toPairs.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/toPairs.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - - -/** - * Converts an object into an array of key, value arrays. Only the object's - * own properties are used. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.4.0 - * @category Object - * @sig {String: *} -> [[String,*]] - * @param {Object} obj The object to extract from - * @return {Array} An array of key, value arrays from the object's own properties. - * @see R.fromPairs - * @example - * - * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]] - */ -var toPairs = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toPairs(obj) { - var pairs = []; - for (var prop in obj) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj)) { - pairs[pairs.length] = [prop, obj[prop]]; - } - } - return pairs; -}); -/* harmony default export */ __webpack_exports__["default"] = (toPairs); - -/***/ }), - -/***/ "./node_modules/ramda/es/toPairsIn.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/toPairsIn.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Converts an object into an array of key, value arrays. The object's own - * properties and prototype properties are used. Note that the order of the - * output array is not guaranteed to be consistent across different JS - * platforms. - * - * @func - * @memberOf R - * @since v0.4.0 - * @category Object - * @sig {String: *} -> [[String,*]] - * @param {Object} obj The object to extract from - * @return {Array} An array of key, value arrays from the object's own - * and prototype properties. - * @example - * - * const F = function() { this.x = 'X'; }; - * F.prototype.y = 'Y'; - * const f = new F(); - * R.toPairsIn(f); //=> [['x','X'], ['y','Y']] - */ -var toPairsIn = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toPairsIn(obj) { - var pairs = []; - for (var prop in obj) { - pairs[pairs.length] = [prop, obj[prop]]; - } - return pairs; -}); -/* harmony default export */ __webpack_exports__["default"] = (toPairsIn); - -/***/ }), - -/***/ "./node_modules/ramda/es/toString.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/toString.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _internal_toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_toString.js */ "./node_modules/ramda/es/internal/_toString.js"); - - - -/** - * Returns the string representation of the given value. `eval`'ing the output - * should result in a value equivalent to the input value. Many of the built-in - * `toString` methods do not satisfy this requirement. - * - * If the given value is an `[object Object]` with a `toString` method other - * than `Object.prototype.toString`, this method is invoked with no arguments - * to produce the return value. This means user-defined constructor functions - * can provide a suitable `toString` method. For example: - * - * function Point(x, y) { - * this.x = x; - * this.y = y; - * } - * - * Point.prototype.toString = function() { - * return 'new Point(' + this.x + ', ' + this.y + ')'; - * }; - * - * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)' - * - * @func - * @memberOf R - * @since v0.14.0 - * @category String - * @sig * -> String - * @param {*} val - * @return {String} - * @example - * - * R.toString(42); //=> '42' - * R.toString('abc'); //=> '"abc"' - * R.toString([1, 2, 3]); //=> '[1, 2, 3]' - * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{"bar": 2, "baz": 3, "foo": 1}' - * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date("2001-02-03T04:05:06.000Z")' - */ -var toString = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toString(val) { - return Object(_internal_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, []); -}); -/* harmony default export */ __webpack_exports__["default"] = (toString); - -/***/ }), - -/***/ "./node_modules/ramda/es/toUpper.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/toUpper.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); - - -/** - * The upper case version of a string. - * - * @func - * @memberOf R - * @since v0.9.0 - * @category String - * @sig String -> String - * @param {String} str The string to upper case. - * @return {String} The upper case version of `str`. - * @see R.toLower - * @example - * - * R.toUpper('abc'); //=> 'ABC' - */ -var toUpper = /*#__PURE__*/Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, 'toUpperCase'); -/* harmony default export */ __webpack_exports__["default"] = (toUpper); - -/***/ }), - -/***/ "./node_modules/ramda/es/transduce.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/transduce.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); -/* harmony import */ var _internal_xwrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_xwrap.js */ "./node_modules/ramda/es/internal/_xwrap.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - - -/** - * Initializes a transducer using supplied iterator function. Returns a single - * item by iterating through the list, successively calling the transformed - * iterator function and passing it an accumulator value and the current value - * from the array, and then passing the result to the next call. - * - * The iterator function receives two values: *(acc, value)*. It will be - * wrapped as a transformer to initialize the transducer. A transformer can be - * passed directly in place of an iterator function. In both cases, iteration - * may be stopped early with the [`R.reduced`](#reduced) function. - * - * A transducer is a function that accepts a transformer and returns a - * transformer and can be composed directly. - * - * A transformer is an an object that provides a 2-arity reducing iterator - * function, step, 0-arity initial value function, init, and 1-arity result - * extraction function, result. The step function is used as the iterator - * function in reduce. The result function is used to convert the final - * accumulator into the return type and in most cases is - * [`R.identity`](#identity). The init function can be used to provide an - * initial accumulator, but is ignored by transduce. - * - * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. - * - * @func - * @memberOf R - * @since v0.12.0 - * @category List - * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a - * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. - * @param {Function} fn The iterator function. Receives two values, the accumulator and the - * current element from the array. Wrapped as transformer, if necessary, and used to - * initialize the transducer - * @param {*} acc The initial accumulator value. - * @param {Array} list The list to iterate over. - * @return {*} The final, accumulated value. - * @see R.reduce, R.reduced, R.into - * @example - * - * const numbers = [1, 2, 3, 4]; - * const transducer = R.compose(R.map(R.add(1)), R.take(2)); - * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] - * - * const isOdd = (x) => x % 2 === 1; - * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); - * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] - */ -var transduce = /*#__PURE__*/Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(4, function transduce(xf, fn, acc, list) { - return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_0__["default"])(xf(typeof fn === 'function' ? Object(_internal_xwrap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn) : fn), acc, list); -}); -/* harmony default export */ __webpack_exports__["default"] = (transduce); - -/***/ }), - -/***/ "./node_modules/ramda/es/transpose.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/transpose.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Transposes the rows and columns of a 2D list. - * When passed a list of `n` lists of length `x`, - * returns a list of `x` lists of length `n`. - * - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig [[a]] -> [[a]] - * @param {Array} list A 2D list - * @return {Array} A 2D list - * @example - * - * R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']] - * R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']] - * - * // If some of the rows are shorter than the following rows, their elements are skipped: - * R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]] - * @symb R.transpose([[a], [b], [c]]) = [a, b, c] - * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]] - * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]] - */ -var transpose = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function transpose(outerlist) { - var i = 0; - var result = []; - while (i < outerlist.length) { - var innerlist = outerlist[i]; - var j = 0; - while (j < innerlist.length) { - if (typeof result[j] === 'undefined') { - result[j] = []; - } - result[j].push(innerlist[j]); - j += 1; - } - i += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (transpose); - -/***/ }), - -/***/ "./node_modules/ramda/es/traverse.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/traverse.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony import */ var _sequence_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sequence.js */ "./node_modules/ramda/es/sequence.js"); - - - - -/** - * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning - * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), - * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative - * into an Applicative of Traversable. - * - * Dispatches to the `traverse` method of the third argument, if present. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) - * @param {Function} of - * @param {Function} f - * @param {*} traversable - * @return {*} - * @see R.sequence - * @example - * - * // Returns `Maybe.Nothing` if the given divisor is `0` - * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) - * - * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) - * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing - */ -var traverse = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function traverse(of, f, traversable) { - return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : Object(_sequence_js__WEBPACK_IMPORTED_MODULE_2__["default"])(of, Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f, traversable)); -}); -/* harmony default export */ __webpack_exports__["default"] = (traverse); - -/***/ }), - -/***/ "./node_modules/ramda/es/trim.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/trim.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + '\u2029\uFEFF'; -var zeroWidth = '\u200b'; -var hasProtoTrim = typeof String.prototype.trim === 'function'; -/** - * Removes (strips) whitespace from both ends of the string. - * - * @func - * @memberOf R - * @since v0.6.0 - * @category String - * @sig String -> String - * @param {String} str The string to trim. - * @return {String} Trimmed version of `str`. - * @example - * - * R.trim(' xyz '); //=> 'xyz' - * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] - */ -var trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { - var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); - var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); - return str.replace(beginRx, '').replace(endRx, ''); -}) : /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { - return str.trim(); -}); -/* harmony default export */ __webpack_exports__["default"] = (trim); - -/***/ }), - -/***/ "./node_modules/ramda/es/tryCatch.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/tryCatch.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - - -/** - * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned - * function evaluates the `tryer`; if it does not throw, it simply returns the - * result. If the `tryer` *does* throw, the returned function evaluates the - * `catcher` function and returns its result. Note that for effective - * composition with this function, both the `tryer` and `catcher` functions - * must return the same type of results. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Function - * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a) - * @param {Function} tryer The function that may throw. - * @param {Function} catcher The function that will be evaluated if `tryer` throws. - * @return {Function} A new function that will catch exceptions and send then to the catcher. - * @example - * - * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true - * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched' - * R.tryCatch(R.times(R.identity), R.always([]))('s') // => [] - `` */ -var tryCatch = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _tryCatch(tryer, catcher) { - return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(tryer.length, function () { - try { - return tryer.apply(this, arguments); - } catch (e) { - return catcher.apply(this, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])([e], arguments)); - } - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (tryCatch); - -/***/ }), - -/***/ "./node_modules/ramda/es/type.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/type.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Gives a single-word string description of the (native) type of a value, - * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not - * attempt to distinguish user Object types any further, reporting them all as - * 'Object'. - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Type - * @sig (* -> {*}) -> String - * @param {*} val The value to test - * @return {String} - * @example - * - * R.type({}); //=> "Object" - * R.type(1); //=> "Number" - * R.type(false); //=> "Boolean" - * R.type('s'); //=> "String" - * R.type(null); //=> "Null" - * R.type([]); //=> "Array" - * R.type(/[A-z]/); //=> "RegExp" - * R.type(() => {}); //=> "Function" - * R.type(undefined); //=> "Undefined" - */ -var type = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function type(val) { - return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1); -}); -/* harmony default export */ __webpack_exports__["default"] = (type); - -/***/ }), - -/***/ "./node_modules/ramda/es/unapply.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/unapply.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Takes a function `fn`, which takes a single array argument, and returns a - * function which: - * - * - takes any number of positional arguments; - * - passes these arguments to `fn` as an array; and - * - returns the result. - * - * In other words, `R.unapply` derives a variadic function from a function which - * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply). - * - * @func - * @memberOf R - * @since v0.8.0 - * @category Function - * @sig ([*...] -> a) -> (*... -> a) - * @param {Function} fn - * @return {Function} - * @see R.apply - * @example - * - * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]' - * @symb R.unapply(f)(a, b) = f([a, b]) - */ -var unapply = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unapply(fn) { - return function () { - return fn(Array.prototype.slice.call(arguments, 0)); - }; -}); -/* harmony default export */ __webpack_exports__["default"] = (unapply); - -/***/ }), - -/***/ "./node_modules/ramda/es/unary.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/unary.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); - - - -/** - * Wraps a function of any arity (including nullary) in a function that accepts - * exactly 1 parameter. Any extraneous parameters will not be passed to the - * supplied function. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Function - * @sig (* -> b) -> (a -> b) - * @param {Function} fn The function to wrap. - * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of - * arity 1. - * @see R.binary, R.nAry - * @example - * - * const takesTwoArgs = function(a, b) { - * return [a, b]; - * }; - * takesTwoArgs.length; //=> 2 - * takesTwoArgs(1, 2); //=> [1, 2] - * - * const takesOneArg = R.unary(takesTwoArgs); - * takesOneArg.length; //=> 1 - * // Only 1 argument is passed to the wrapped function - * takesOneArg(1, 2); //=> [1, undefined] - * @symb R.unary(f)(a, b, c) = f(a) - */ -var unary = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unary(fn) { - return Object(_nAry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(1, fn); -}); -/* harmony default export */ __webpack_exports__["default"] = (unary); - -/***/ }), - -/***/ "./node_modules/ramda/es/uncurryN.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/uncurryN.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - -/** - * Returns a function of arity `n` from a (manually) curried function. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Function - * @sig Number -> (a -> b) -> (a -> c) - * @param {Number} length The arity for the returned function. - * @param {Function} fn The function to uncurry. - * @return {Function} A new function. - * @see R.curry - * @example - * - * const addFour = a => b => c => d => a + b + c + d; - * - * const uncurriedAddFour = R.uncurryN(4, addFour); - * uncurriedAddFour(1, 2, 3, 4); //=> 10 - */ -var uncurryN = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function uncurryN(depth, fn) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(depth, function () { - var currentDepth = 1; - var value = fn; - var idx = 0; - var endIdx; - while (currentDepth <= depth && typeof value === 'function') { - endIdx = currentDepth === depth ? arguments.length : idx + value.length; - value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx)); - currentDepth += 1; - idx = endIdx; - } - return value; - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (uncurryN); - -/***/ }), - -/***/ "./node_modules/ramda/es/unfold.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/unfold.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Builds a list from a seed value. Accepts an iterator function, which returns - * either false to stop iteration or an array of length 2 containing the value - * to add to the resulting list and the seed to be used in the next call to the - * iterator function. - * - * The iterator function receives one argument: *(seed)*. - * - * @func - * @memberOf R - * @since v0.10.0 - * @category List - * @sig (a -> [b]) -> * -> [b] - * @param {Function} fn The iterator function. receives one argument, `seed`, and returns - * either false to quit iteration or an array of length two to proceed. The element - * at index 0 of this array will be added to the resulting array, and the element - * at index 1 will be passed to the next call to `fn`. - * @param {*} seed The seed value. - * @return {Array} The final list. - * @example - * - * const f = n => n > 50 ? false : [-n, n + 10]; - * R.unfold(f, 10); //=> [-10, -20, -30, -40, -50] - * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...] - */ -var unfold = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unfold(fn, seed) { - var pair = fn(seed); - var result = []; - while (pair && pair.length) { - result[result.length] = pair[0]; - pair = fn(pair[1]); - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (unfold); - -/***/ }), - -/***/ "./node_modules/ramda/es/union.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/union.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); -/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); - - - - - -/** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig [*] -> [*] -> [*] - * @param {Array} as The first list. - * @param {Array} bs The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. - * @example - * - * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] - */ -var union = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( /*#__PURE__*/Object(_compose_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_uniq_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])); -/* harmony default export */ __webpack_exports__["default"] = (union); - -/***/ }), - -/***/ "./node_modules/ramda/es/unionWith.js": -/*!********************************************!*\ - !*** ./node_modules/ramda/es/unionWith.js ***! - \********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uniqWith.js */ "./node_modules/ramda/es/uniqWith.js"); - - - - -/** - * Combines two lists into a set (i.e. no duplicates) composed of the elements - * of each list. Duplication is determined according to the value returned by - * applying the supplied predicate to two list elements. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Relation - * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list1 The first list. - * @param {Array} list2 The second list. - * @return {Array} The first and second lists concatenated, with - * duplicates removed. - * @see R.union - * @example - * - * const l1 = [{a: 1}, {a: 2}]; - * const l2 = [{a: 1}, {a: 4}]; - * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}] - */ -var unionWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function unionWith(pred, list1, list2) { - return Object(_uniqWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list1, list2)); -}); -/* harmony default export */ __webpack_exports__["default"] = (unionWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/uniq.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/uniq.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); -/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uniqBy.js */ "./node_modules/ramda/es/uniqBy.js"); - - - -/** - * Returns a new list containing only one copy of each element in the original - * list. [`R.equals`](#equals) is used to determine equality. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [a] - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * R.uniq([1, 1, 2, 1]); //=> [1, 2] - * R.uniq([1, '1']); //=> [1, '1'] - * R.uniq([[42], [42]]); //=> [[42]] - */ -var uniq = /*#__PURE__*/Object(_uniqBy_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (uniq); - -/***/ }), - -/***/ "./node_modules/ramda/es/uniqBy.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/uniqBy.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_Set_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_Set.js */ "./node_modules/ramda/es/internal/_Set.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns a new list containing only one copy of each element in the original - * list, based upon the value returned by applying the supplied function to - * each list element. Prefers the first item if the supplied function produces - * the same value on two items. [`R.equals`](#equals) is used for comparison. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category List - * @sig (a -> b) -> [a] -> [a] - * @param {Function} fn A function used to produce a value to use during comparisons. - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10] - */ -var uniqBy = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function uniqBy(fn, list) { - var set = new _internal_Set_js__WEBPACK_IMPORTED_MODULE_0__["default"](); - var result = []; - var idx = 0; - var appliedItem, item; - - while (idx < list.length) { - item = list[idx]; - appliedItem = fn(item); - if (set.add(appliedItem)) { - result.push(item); - } - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (uniqBy); - -/***/ }), - -/***/ "./node_modules/ramda/es/uniqWith.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/uniqWith.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - - -/** - * Returns a new list containing only one copy of each element in the original - * list, based upon the value returned by applying the supplied predicate to - * two list elements. Prefers the first item if two items compare equal based - * on the predicate. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category List - * @sig ((a, a) -> Boolean) -> [a] -> [a] - * @param {Function} pred A predicate used to test whether two items are equal. - * @param {Array} list The array to consider. - * @return {Array} The list of unique items. - * @example - * - * const strEq = R.eqBy(String); - * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2] - * R.uniqWith(strEq)([{}, {}]); //=> [{}] - * R.uniqWith(strEq)([1, '1', 1]); //=> [1] - * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1'] - */ -var uniqWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function uniqWith(pred, list) { - var idx = 0; - var len = list.length; - var result = []; - var item; - while (idx < len) { - item = list[idx]; - if (!Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, item, result)) { - result[result.length] = item; - } - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (uniqWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/unless.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/unless.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Tests the final argument by passing it to the given predicate function. If - * the predicate is not satisfied, the function will return the result of - * calling the `whenFalseFn` function with the same argument. If the predicate - * is satisfied, the argument is returned as is. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Logic - * @sig (a -> Boolean) -> (a -> a) -> a -> a - * @param {Function} pred A predicate function - * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates - * to a falsy value. - * @param {*} x An object to test with the `pred` function and - * pass to `whenFalseFn` if necessary. - * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`. - * @see R.ifElse, R.when, R.cond - * @example - * - * let safeInc = R.unless(R.isNil, R.inc); - * safeInc(null); //=> null - * safeInc(1); //=> 2 - */ -var unless = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unless(pred, whenFalseFn, x) { - return pred(x) ? x : whenFalseFn(x); -}); -/* harmony default export */ __webpack_exports__["default"] = (unless); - -/***/ }), - -/***/ "./node_modules/ramda/es/unnest.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/unnest.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); -/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); - - - -/** - * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from - * any [Chain](https://github.com/fantasyland/fantasy-land#chain). - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig Chain c => c (c a) -> c a - * @param {*} list - * @return {*} - * @see R.flatten, R.chain - * @example - * - * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]] - * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6] - */ -var unnest = /*#__PURE__*/Object(_chain_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); -/* harmony default export */ __webpack_exports__["default"] = (unnest); - -/***/ }), - -/***/ "./node_modules/ramda/es/until.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/until.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Takes a predicate, a transformation function, and an initial value, - * and returns a value of the same type as the initial value. - * It does so by applying the transformation until the predicate is satisfied, - * at which point it returns the satisfactory value. - * - * @func - * @memberOf R - * @since v0.20.0 - * @category Logic - * @sig (a -> Boolean) -> (a -> a) -> a -> a - * @param {Function} pred A predicate function - * @param {Function} fn The iterator function - * @param {*} init Initial value - * @return {*} Final value that satisfies predicate - * @example - * - * R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128 - */ -var until = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function until(pred, fn, init) { - var val = init; - while (!pred(val)) { - val = fn(val); - } - return val; -}); -/* harmony default export */ __webpack_exports__["default"] = (until); - -/***/ }), - -/***/ "./node_modules/ramda/es/update.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/update.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); -/* harmony import */ var _adjust_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adjust.js */ "./node_modules/ramda/es/adjust.js"); -/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); - - - - -/** - * Returns a new copy of the array with the element at the provided index - * replaced with the given value. - * - * @func - * @memberOf R - * @since v0.14.0 - * @category List - * @sig Number -> a -> [a] -> [a] - * @param {Number} idx The index to update. - * @param {*} x The value to exist at the given index of the returned array. - * @param {Array|Arguments} list The source array-like object to be updated. - * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`. - * @see R.adjust - * @example - * - * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c'] - * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_'] - * @symb R.update(-1, a, [b, c]) = [b, a] - * @symb R.update(0, a, [b, c]) = [a, c] - * @symb R.update(1, a, [b, c]) = [b, a] - */ -var update = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function update(idx, x, list) { - return Object(_adjust_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, Object(_always_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x), list); -}); -/* harmony default export */ __webpack_exports__["default"] = (update); - -/***/ }), - -/***/ "./node_modules/ramda/es/useWith.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/useWith.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); - - - -/** - * Accepts a function `fn` and a list of transformer functions and returns a - * new curried function. When the new function is invoked, it calls the - * function `fn` with parameters consisting of the result of calling each - * supplied handler on successive arguments to the new function. - * - * If more arguments are passed to the returned function than transformer - * functions, those arguments are passed directly to `fn` as additional - * parameters. If you expect additional arguments that don't need to be - * transformed, although you can ignore them, it's best to pass an identity - * function so that the new function reports the correct arity. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Function - * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) - * @param {Function} fn The function to wrap. - * @param {Array} transformers A list of transformer functions - * @return {Function} The wrapped function. - * @see R.converge - * @example - * - * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 - * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 - * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 - * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 - * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b)) - */ -var useWith = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function useWith(fn, transformers) { - return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(transformers.length, function () { - var args = []; - var idx = 0; - while (idx < transformers.length) { - args.push(transformers[idx].call(this, arguments[idx])); - idx += 1; - } - return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); - }); -}); -/* harmony default export */ __webpack_exports__["default"] = (useWith); - -/***/ }), - -/***/ "./node_modules/ramda/es/values.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/values.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); -/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); - - - -/** - * Returns a list of all the enumerable own properties of the supplied object. - * Note that the order of the output array is not guaranteed across different - * JS platforms. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category Object - * @sig {k: v} -> [v] - * @param {Object} obj The object to extract values from - * @return {Array} An array of the values of the object's own properties. - * @see R.valuesIn, R.keys - * @example - * - * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3] - */ -var values = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function values(obj) { - var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); - var len = props.length; - var vals = []; - var idx = 0; - while (idx < len) { - vals[idx] = obj[props[idx]]; - idx += 1; - } - return vals; -}); -/* harmony default export */ __webpack_exports__["default"] = (values); - -/***/ }), - -/***/ "./node_modules/ramda/es/valuesIn.js": -/*!*******************************************!*\ - !*** ./node_modules/ramda/es/valuesIn.js ***! - \*******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); - - -/** - * Returns a list of all the properties, including prototype properties, of the - * supplied object. - * Note that the order of the output array is not guaranteed to be consistent - * across different JS platforms. - * - * @func - * @memberOf R - * @since v0.2.0 - * @category Object - * @sig {k: v} -> [v] - * @param {Object} obj The object to extract values from - * @return {Array} An array of the values of the object's own and prototype properties. - * @see R.values, R.keysIn - * @example - * - * const F = function() { this.x = 'X'; }; - * F.prototype.y = 'Y'; - * const f = new F(); - * R.valuesIn(f); //=> ['X', 'Y'] - */ -var valuesIn = /*#__PURE__*/Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function valuesIn(obj) { - var prop; - var vs = []; - for (prop in obj) { - vs[vs.length] = obj[prop]; - } - return vs; -}); -/* harmony default export */ __webpack_exports__["default"] = (valuesIn); - -/***/ }), - -/***/ "./node_modules/ramda/es/view.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/view.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -// `Const` is a functor that effectively ignores the function given to `map`. -var Const = function (x) { - return { value: x, 'fantasy-land/map': function () { - return this; - } }; -}; - -/** - * Returns a "view" of the given data structure, determined by the given lens. - * The lens's focus determines which portion of the data structure is visible. - * - * @func - * @memberOf R - * @since v0.16.0 - * @category Object - * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s - * @sig Lens s a -> s -> a - * @param {Lens} lens - * @param {*} x - * @return {*} - * @see R.prop, R.lensIndex, R.lensProp - * @example - * - * const xLens = R.lensProp('x'); - * - * R.view(xLens, {x: 1, y: 2}); //=> 1 - * R.view(xLens, {x: 4, y: 2}); //=> 4 - */ -var view = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function view(lens, x) { - // Using `Const` effectively ignores the setter function of the `lens`, - // leaving the value returned by the getter function unmodified. - return lens(Const)(x).value; -}); -/* harmony default export */ __webpack_exports__["default"] = (view); - -/***/ }), - -/***/ "./node_modules/ramda/es/when.js": -/*!***************************************!*\ - !*** ./node_modules/ramda/es/when.js ***! - \***************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Tests the final argument by passing it to the given predicate function. If - * the predicate is satisfied, the function will return the result of calling - * the `whenTrueFn` function with the same argument. If the predicate is not - * satisfied, the argument is returned as is. - * - * @func - * @memberOf R - * @since v0.18.0 - * @category Logic - * @sig (a -> Boolean) -> (a -> a) -> a -> a - * @param {Function} pred A predicate function - * @param {Function} whenTrueFn A function to invoke when the `condition` - * evaluates to a truthy value. - * @param {*} x An object to test with the `pred` function and - * pass to `whenTrueFn` if necessary. - * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`. - * @see R.ifElse, R.unless, R.cond - * @example - * - * // truncate :: String -> String - * const truncate = R.when( - * R.propSatisfies(R.gt(R.__, 10), 'length'), - * R.pipe(R.take(10), R.append('…'), R.join('')) - * ); - * truncate('12345'); //=> '12345' - * truncate('0123456789ABC'); //=> '0123456789…' - */ -var when = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function when(pred, whenTrueFn, x) { - return pred(x) ? whenTrueFn(x) : x; -}); -/* harmony default export */ __webpack_exports__["default"] = (when); - -/***/ }), - -/***/ "./node_modules/ramda/es/where.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/where.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); - - - -/** - * Takes a spec object and a test object; returns true if the test satisfies - * the spec. Each of the spec's own properties must be a predicate function. - * Each predicate is applied to the value of the corresponding property of the - * test object. `where` returns true if all the predicates return true, false - * otherwise. - * - * `where` is well suited to declaratively expressing constraints for other - * functions such as [`filter`](#filter) and [`find`](#find). - * - * @func - * @memberOf R - * @since v0.1.1 - * @category Object - * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean - * @param {Object} spec - * @param {Object} testObj - * @return {Boolean} - * @see R.propSatisfies, R.whereEq - * @example - * - * // pred :: Object -> Boolean - * const pred = R.where({ - * a: R.equals('foo'), - * b: R.complement(R.equals('bar')), - * x: R.gt(R.__, 10), - * y: R.lt(R.__, 20) - * }); - * - * pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true - * pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false - * pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false - * pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false - * pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false - */ -var where = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function where(spec, testObj) { - for (var prop in spec) { - if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, spec) && !spec[prop](testObj[prop])) { - return false; - } - } - return true; -}); -/* harmony default export */ __webpack_exports__["default"] = (where); - -/***/ }), - -/***/ "./node_modules/ramda/es/whereEq.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/whereEq.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); -/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); -/* harmony import */ var _where_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./where.js */ "./node_modules/ramda/es/where.js"); - - - - - -/** - * Takes a spec object and a test object; returns true if the test satisfies - * the spec, false otherwise. An object satisfies the spec if, for each of the - * spec's own properties, accessing that property of the object gives the same - * value (in [`R.equals`](#equals) terms) as accessing that property of the - * spec. - * - * `whereEq` is a specialization of [`where`](#where). - * - * @func - * @memberOf R - * @since v0.14.0 - * @category Object - * @sig {String: *} -> {String: *} -> Boolean - * @param {Object} spec - * @param {Object} testObj - * @return {Boolean} - * @see R.propEq, R.where - * @example - * - * // pred :: Object -> Boolean - * const pred = R.whereEq({a: 1, b: 2}); - * - * pred({a: 1}); //=> false - * pred({a: 1, b: 2}); //=> true - * pred({a: 1, b: 2, c: 3}); //=> true - * pred({a: 1, b: 1}); //=> false - */ -var whereEq = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function whereEq(spec, testObj) { - return Object(_where_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"], spec), testObj); -}); -/* harmony default export */ __webpack_exports__["default"] = (whereEq); - -/***/ }), - -/***/ "./node_modules/ramda/es/without.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/without.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); -/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); -/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); - - - - - -/** - * Returns a new list without values in the first argument. - * [`R.equals`](#equals) is used to determine equality. - * - * Acts as a transducer if a transformer is given in list position. - * - * @func - * @memberOf R - * @since v0.19.0 - * @category List - * @sig [a] -> [a] -> [a] - * @param {Array} list1 The values to be removed from `list2`. - * @param {Array} list2 The array to remove values from. - * @return {Array} The new array without values in `list1`. - * @see R.transduce, R.difference, R.remove - * @example - * - * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4] - */ -var without = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (xs, list) { - return Object(_reject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Object(_flip_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(xs), list); -}); -/* harmony default export */ __webpack_exports__["default"] = (without); - -/***/ }), - -/***/ "./node_modules/ramda/es/xprod.js": -/*!****************************************!*\ - !*** ./node_modules/ramda/es/xprod.js ***! - \****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Creates a new list out of the two supplied by creating each possible pair - * from the lists. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [b] -> [[a,b]] - * @param {Array} as The first list. - * @param {Array} bs The second list. - * @return {Array} The list made by combining each possible pair from - * `as` and `bs` into pairs (`[a, b]`). - * @example - * - * R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']] - * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]] - */ -var xprod = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function xprod(a, b) { - // = xprodWith(prepend); (takes about 3 times as long...) - var idx = 0; - var ilen = a.length; - var j; - var jlen = b.length; - var result = []; - while (idx < ilen) { - j = 0; - while (j < jlen) { - result[result.length] = [a[idx], b[j]]; - j += 1; - } - idx += 1; - } - return result; -}); -/* harmony default export */ __webpack_exports__["default"] = (xprod); - -/***/ }), - -/***/ "./node_modules/ramda/es/zip.js": -/*!**************************************!*\ - !*** ./node_modules/ramda/es/zip.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Creates a new list out of the two supplied by pairing up equally-positioned - * items from both lists. The returned list is truncated to the length of the - * shorter of the two input lists. - * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`. - * - * @func - * @memberOf R - * @since v0.1.0 - * @category List - * @sig [a] -> [b] -> [[a,b]] - * @param {Array} list1 The first array to consider. - * @param {Array} list2 The second array to consider. - * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`. - * @example - * - * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']] - * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]] - */ -var zip = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zip(a, b) { - var rv = []; - var idx = 0; - var len = Math.min(a.length, b.length); - while (idx < len) { - rv[idx] = [a[idx], b[idx]]; - idx += 1; - } - return rv; -}); -/* harmony default export */ __webpack_exports__["default"] = (zip); - -/***/ }), - -/***/ "./node_modules/ramda/es/zipObj.js": -/*!*****************************************!*\ - !*** ./node_modules/ramda/es/zipObj.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); - - -/** - * Creates a new object out of a list of keys and a list of values. - * Key/value pairing is truncated to the length of the shorter of the two lists. - * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`. - * - * @func - * @memberOf R - * @since v0.3.0 - * @category List - * @sig [String] -> [*] -> {String: *} - * @param {Array} keys The array that will be properties on the output object. - * @param {Array} values The list of values on the output object. - * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`. - * @example - * - * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3} - */ -var zipObj = /*#__PURE__*/Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zipObj(keys, values) { - var idx = 0; - var len = Math.min(keys.length, values.length); - var out = {}; - while (idx < len) { - out[keys[idx]] = values[idx]; - idx += 1; - } - return out; -}); -/* harmony default export */ __webpack_exports__["default"] = (zipObj); - -/***/ }), - -/***/ "./node_modules/ramda/es/zipWith.js": -/*!******************************************!*\ - !*** ./node_modules/ramda/es/zipWith.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); - - -/** - * Creates a new list out of the two supplied by applying the function to each - * equally-positioned pair in the lists. The returned list is truncated to the - * length of the shorter of the two input lists. - * - * @function - * @memberOf R - * @since v0.1.0 - * @category List - * @sig ((a, b) -> c) -> [a] -> [b] -> [c] - * @param {Function} fn The function used to combine the two elements into one value. - * @param {Array} list1 The first array to consider. - * @param {Array} list2 The second array to consider. - * @return {Array} The list made by combining same-indexed elements of `list1` and `list2` - * using `fn`. - * @example - * - * const f = (x, y) => { - * // ... - * }; - * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']); - * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')] - * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)] - */ -var zipWith = /*#__PURE__*/Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zipWith(fn, a, b) { - var rv = []; - var idx = 0; - var len = Math.min(a.length, b.length); - while (idx < len) { - rv[idx] = fn(a[idx], b[idx]); - idx += 1; - } - return rv; -}); -/* harmony default export */ __webpack_exports__["default"] = (zipWith); - -/***/ }), - -/***/ "./node_modules/react-is/cjs/react-is.development.js": -/*!***********************************************************!*\ - !*** ./node_modules/react-is/cjs/react-is.development.js ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** @license React v16.11.0 - * react-is.development.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - - - - - -if (true) { - (function() { -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -// The Symbol used to tag the ReactElement-like types. If there is no native Symbol -// nor polyfill, then a plain number is used for performance. -var hasSymbol = typeof Symbol === 'function' && Symbol.for; -var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; -var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; -var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; -var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; -var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; -var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; -var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary -// (unstable) APIs that have been removed. Can we remove the symbols? - -var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; -var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; -var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; -var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; -var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; -var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; -var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; -var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; -var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; -var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; - -function isValidElementType(type) { - return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. - type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE); -} - -/** - * Forked from fbjs/warning: - * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js - * - * Only change is we use console.warn instead of console.error, - * and do nothing when 'console' is not supported. - * This really simplifies the code. - * --- - * Similar to invariant but only logs a warning if the condition is not met. - * This can be used to log issues in development environments in critical - * paths. Removing the logging code for production environments will keep the - * same logic and follow the same code paths. - */ -var lowPriorityWarningWithoutStack = function () {}; - -{ - var printWarning = function (format) { - for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; - } - - var argIndex = 0; - var message = 'Warning: ' + format.replace(/%s/g, function () { - return args[argIndex++]; - }); - - if (typeof console !== 'undefined') { - console.warn(message); - } - - try { - // --- Welcome to debugging React --- - // This error was thrown as a convenience so that you can use this stack - // to find the callsite that caused this warning to fire. - throw new Error(message); - } catch (x) {} - }; - - lowPriorityWarningWithoutStack = function (condition, format) { - if (format === undefined) { - throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument'); - } - - if (!condition) { - for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { - args[_key2 - 2] = arguments[_key2]; - } - - printWarning.apply(void 0, [format].concat(args)); - } - }; -} - -var lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack; - -function typeOf(object) { - if (typeof object === 'object' && object !== null) { - var $$typeof = object.$$typeof; - - switch ($$typeof) { - case REACT_ELEMENT_TYPE: - var type = object.type; - - switch (type) { - case REACT_ASYNC_MODE_TYPE: - case REACT_CONCURRENT_MODE_TYPE: - case REACT_FRAGMENT_TYPE: - case REACT_PROFILER_TYPE: - case REACT_STRICT_MODE_TYPE: - case REACT_SUSPENSE_TYPE: - return type; - - default: - var $$typeofType = type && type.$$typeof; - - switch ($$typeofType) { - case REACT_CONTEXT_TYPE: - case REACT_FORWARD_REF_TYPE: - case REACT_PROVIDER_TYPE: - return $$typeofType; - - default: - return $$typeof; - } - - } - - case REACT_LAZY_TYPE: - case REACT_MEMO_TYPE: - case REACT_PORTAL_TYPE: - return $$typeof; - } - } - - return undefined; -} // AsyncMode is deprecated along with isAsyncMode - -var AsyncMode = REACT_ASYNC_MODE_TYPE; -var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; -var ContextConsumer = REACT_CONTEXT_TYPE; -var ContextProvider = REACT_PROVIDER_TYPE; -var Element = REACT_ELEMENT_TYPE; -var ForwardRef = REACT_FORWARD_REF_TYPE; -var Fragment = REACT_FRAGMENT_TYPE; -var Lazy = REACT_LAZY_TYPE; -var Memo = REACT_MEMO_TYPE; -var Portal = REACT_PORTAL_TYPE; -var Profiler = REACT_PROFILER_TYPE; -var StrictMode = REACT_STRICT_MODE_TYPE; -var Suspense = REACT_SUSPENSE_TYPE; -var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated - -function isAsyncMode(object) { - { - if (!hasWarnedAboutDeprecatedIsAsyncMode) { - hasWarnedAboutDeprecatedIsAsyncMode = true; - lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); - } - } - - return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; -} -function isConcurrentMode(object) { - return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; -} -function isContextConsumer(object) { - return typeOf(object) === REACT_CONTEXT_TYPE; -} -function isContextProvider(object) { - return typeOf(object) === REACT_PROVIDER_TYPE; -} -function isElement(object) { - return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; -} -function isForwardRef(object) { - return typeOf(object) === REACT_FORWARD_REF_TYPE; -} -function isFragment(object) { - return typeOf(object) === REACT_FRAGMENT_TYPE; -} -function isLazy(object) { - return typeOf(object) === REACT_LAZY_TYPE; -} -function isMemo(object) { - return typeOf(object) === REACT_MEMO_TYPE; -} -function isPortal(object) { - return typeOf(object) === REACT_PORTAL_TYPE; -} -function isProfiler(object) { - return typeOf(object) === REACT_PROFILER_TYPE; -} -function isStrictMode(object) { - return typeOf(object) === REACT_STRICT_MODE_TYPE; -} -function isSuspense(object) { - return typeOf(object) === REACT_SUSPENSE_TYPE; -} - -exports.typeOf = typeOf; -exports.AsyncMode = AsyncMode; -exports.ConcurrentMode = ConcurrentMode; -exports.ContextConsumer = ContextConsumer; -exports.ContextProvider = ContextProvider; -exports.Element = Element; -exports.ForwardRef = ForwardRef; -exports.Fragment = Fragment; -exports.Lazy = Lazy; -exports.Memo = Memo; -exports.Portal = Portal; -exports.Profiler = Profiler; -exports.StrictMode = StrictMode; -exports.Suspense = Suspense; -exports.isValidElementType = isValidElementType; -exports.isAsyncMode = isAsyncMode; -exports.isConcurrentMode = isConcurrentMode; -exports.isContextConsumer = isContextConsumer; -exports.isContextProvider = isContextProvider; -exports.isElement = isElement; -exports.isForwardRef = isForwardRef; -exports.isFragment = isFragment; -exports.isLazy = isLazy; -exports.isMemo = isMemo; -exports.isPortal = isPortal; -exports.isProfiler = isProfiler; -exports.isStrictMode = isStrictMode; -exports.isSuspense = isSuspense; - })(); -} - - -/***/ }), - -/***/ "./node_modules/react-is/index.js": -/*!****************************************!*\ - !*** ./node_modules/react-is/index.js ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -if (false) {} else { - module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js"); -} - - -/***/ }), - -/***/ "./node_modules/react-redux/lib/components/Provider.js": -/*!*************************************************************!*\ - !*** ./node_modules/react-redux/lib/components/Provider.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports["default"] = undefined; - -var _react = __webpack_require__(/*! react */ "react"); - -var _propTypes = __webpack_require__(/*! prop-types */ "prop-types"); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -var _storeShape = __webpack_require__(/*! ../utils/storeShape */ "./node_modules/react-redux/lib/utils/storeShape.js"); - -var _storeShape2 = _interopRequireDefault(_storeShape); - -var _warning = __webpack_require__(/*! ../utils/warning */ "./node_modules/react-redux/lib/utils/warning.js"); - -var _warning2 = _interopRequireDefault(_warning); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var didWarnAboutReceivingStore = false; -function warnAboutReceivingStore() { - if (didWarnAboutReceivingStore) { - return; - } - didWarnAboutReceivingStore = true; - - (0, _warning2["default"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.'); -} - -var Provider = function (_Component) { - _inherits(Provider, _Component); - - Provider.prototype.getChildContext = function getChildContext() { - return { store: this.store }; - }; - - function Provider(props, context) { - _classCallCheck(this, Provider); - - var _this = _possibleConstructorReturn(this, _Component.call(this, props, context)); - - _this.store = props.store; - return _this; - } - - Provider.prototype.render = function render() { - return _react.Children.only(this.props.children); - }; - - return Provider; -}(_react.Component); - -exports["default"] = Provider; - - -if (true) { - Provider.prototype.componentWillReceiveProps = function (nextProps) { - var store = this.store; - var nextStore = nextProps.store; - - - if (store !== nextStore) { - warnAboutReceivingStore(); - } - }; -} - -Provider.propTypes = { - store: _storeShape2["default"].isRequired, - children: _propTypes2["default"].element.isRequired -}; -Provider.childContextTypes = { - store: _storeShape2["default"].isRequired -}; - -/***/ }), - -/***/ "./node_modules/react-redux/lib/components/connect.js": -/*!************************************************************!*\ - !*** ./node_modules/react-redux/lib/components/connect.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - -exports["default"] = connect; - -var _react = __webpack_require__(/*! react */ "react"); - -var _storeShape = __webpack_require__(/*! ../utils/storeShape */ "./node_modules/react-redux/lib/utils/storeShape.js"); - -var _storeShape2 = _interopRequireDefault(_storeShape); - -var _shallowEqual = __webpack_require__(/*! ../utils/shallowEqual */ "./node_modules/react-redux/lib/utils/shallowEqual.js"); - -var _shallowEqual2 = _interopRequireDefault(_shallowEqual); - -var _wrapActionCreators = __webpack_require__(/*! ../utils/wrapActionCreators */ "./node_modules/react-redux/lib/utils/wrapActionCreators.js"); - -var _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators); - -var _warning = __webpack_require__(/*! ../utils/warning */ "./node_modules/react-redux/lib/utils/warning.js"); - -var _warning2 = _interopRequireDefault(_warning); - -var _isPlainObject = __webpack_require__(/*! lodash/isPlainObject */ "./node_modules/lodash/isPlainObject.js"); - -var _isPlainObject2 = _interopRequireDefault(_isPlainObject); - -var _hoistNonReactStatics = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); - -var _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics); - -var _invariant = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); - -var _invariant2 = _interopRequireDefault(_invariant); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } - -var defaultMapStateToProps = function defaultMapStateToProps(state) { - return {}; -}; // eslint-disable-line no-unused-vars -var defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) { - return { dispatch: dispatch }; -}; -var defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) { - return _extends({}, parentProps, stateProps, dispatchProps); -}; - -function getDisplayName(WrappedComponent) { - return WrappedComponent.displayName || WrappedComponent.name || 'Component'; -} - -var errorObject = { value: null }; -function tryCatch(fn, ctx) { - try { - return fn.apply(ctx); - } catch (e) { - errorObject.value = e; - return errorObject; - } -} - -// Helps track hot reloading. -var nextVersion = 0; - -function connect(mapStateToProps, mapDispatchToProps, mergeProps) { - var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; - - var shouldSubscribe = Boolean(mapStateToProps); - var mapState = mapStateToProps || defaultMapStateToProps; - - var mapDispatch = void 0; - if (typeof mapDispatchToProps === 'function') { - mapDispatch = mapDispatchToProps; - } else if (!mapDispatchToProps) { - mapDispatch = defaultMapDispatchToProps; - } else { - mapDispatch = (0, _wrapActionCreators2["default"])(mapDispatchToProps); - } - - var finalMergeProps = mergeProps || defaultMergeProps; - var _options$pure = options.pure, - pure = _options$pure === undefined ? true : _options$pure, - _options$withRef = options.withRef, - withRef = _options$withRef === undefined ? false : _options$withRef; - - var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps; - - // Helps track hot reloading. - var version = nextVersion++; - - return function wrapWithConnect(WrappedComponent) { - var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')'; - - function checkStateShape(props, methodName) { - if (!(0, _isPlainObject2["default"])(props)) { - (0, _warning2["default"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.')); - } - } - - function computeMergedProps(stateProps, dispatchProps, parentProps) { - var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps); - if (true) { - checkStateShape(mergedProps, 'mergeProps'); - } - return mergedProps; - } - - var Connect = function (_Component) { - _inherits(Connect, _Component); - - Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() { - return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged; - }; - - function Connect(props, context) { - _classCallCheck(this, Connect); - - var _this = _possibleConstructorReturn(this, _Component.call(this, props, context)); - - _this.version = version; - _this.store = props.store || context.store; - - (0, _invariant2["default"])(_this.store, 'Could not find "store" in either the context or ' + ('props of "' + connectDisplayName + '". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass "store" as a prop to "' + connectDisplayName + '".')); - - var storeState = _this.store.getState(); - _this.state = { storeState: storeState }; - _this.clearCache(); - return _this; - } - - Connect.prototype.computeStateProps = function computeStateProps(store, props) { - if (!this.finalMapStateToProps) { - return this.configureFinalMapState(store, props); - } - - var state = store.getState(); - var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state); - - if (true) { - checkStateShape(stateProps, 'mapStateToProps'); - } - return stateProps; - }; - - Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) { - var mappedState = mapState(store.getState(), props); - var isFactory = typeof mappedState === 'function'; - - this.finalMapStateToProps = isFactory ? mappedState : mapState; - this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1; - - if (isFactory) { - return this.computeStateProps(store, props); - } - - if (true) { - checkStateShape(mappedState, 'mapStateToProps'); - } - return mappedState; - }; - - Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) { - if (!this.finalMapDispatchToProps) { - return this.configureFinalMapDispatch(store, props); - } - - var dispatch = store.dispatch; - - var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch); - - if (true) { - checkStateShape(dispatchProps, 'mapDispatchToProps'); - } - return dispatchProps; - }; - - Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) { - var mappedDispatch = mapDispatch(store.dispatch, props); - var isFactory = typeof mappedDispatch === 'function'; - - this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch; - this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1; - - if (isFactory) { - return this.computeDispatchProps(store, props); - } - - if (true) { - checkStateShape(mappedDispatch, 'mapDispatchToProps'); - } - return mappedDispatch; - }; - - Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() { - var nextStateProps = this.computeStateProps(this.store, this.props); - if (this.stateProps && (0, _shallowEqual2["default"])(nextStateProps, this.stateProps)) { - return false; - } - - this.stateProps = nextStateProps; - return true; - }; - - Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() { - var nextDispatchProps = this.computeDispatchProps(this.store, this.props); - if (this.dispatchProps && (0, _shallowEqual2["default"])(nextDispatchProps, this.dispatchProps)) { - return false; - } - - this.dispatchProps = nextDispatchProps; - return true; - }; - - Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() { - var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props); - if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2["default"])(nextMergedProps, this.mergedProps)) { - return false; - } - - this.mergedProps = nextMergedProps; - return true; - }; - - Connect.prototype.isSubscribed = function isSubscribed() { - return typeof this.unsubscribe === 'function'; - }; - - Connect.prototype.trySubscribe = function trySubscribe() { - if (shouldSubscribe && !this.unsubscribe) { - this.unsubscribe = this.store.subscribe(this.handleChange.bind(this)); - this.handleChange(); - } - }; - - Connect.prototype.tryUnsubscribe = function tryUnsubscribe() { - if (this.unsubscribe) { - this.unsubscribe(); - this.unsubscribe = null; - } - }; - - Connect.prototype.componentDidMount = function componentDidMount() { - this.trySubscribe(); - }; - - Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { - if (!pure || !(0, _shallowEqual2["default"])(nextProps, this.props)) { - this.haveOwnPropsChanged = true; - } - }; - - Connect.prototype.componentWillUnmount = function componentWillUnmount() { - this.tryUnsubscribe(); - this.clearCache(); - }; - - Connect.prototype.clearCache = function clearCache() { - this.dispatchProps = null; - this.stateProps = null; - this.mergedProps = null; - this.haveOwnPropsChanged = true; - this.hasStoreStateChanged = true; - this.haveStatePropsBeenPrecalculated = false; - this.statePropsPrecalculationError = null; - this.renderedElement = null; - this.finalMapDispatchToProps = null; - this.finalMapStateToProps = null; - }; - - Connect.prototype.handleChange = function handleChange() { - if (!this.unsubscribe) { - return; - } - - var storeState = this.store.getState(); - var prevStoreState = this.state.storeState; - if (pure && prevStoreState === storeState) { - return; - } - - if (pure && !this.doStatePropsDependOnOwnProps) { - var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this); - if (!haveStatePropsChanged) { - return; - } - if (haveStatePropsChanged === errorObject) { - this.statePropsPrecalculationError = errorObject.value; - } - this.haveStatePropsBeenPrecalculated = true; - } - - this.hasStoreStateChanged = true; - this.setState({ storeState: storeState }); - }; - - Connect.prototype.getWrappedInstance = function getWrappedInstance() { - (0, _invariant2["default"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.'); - - return this.refs.wrappedInstance; - }; - - Connect.prototype.render = function render() { - var haveOwnPropsChanged = this.haveOwnPropsChanged, - hasStoreStateChanged = this.hasStoreStateChanged, - haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated, - statePropsPrecalculationError = this.statePropsPrecalculationError, - renderedElement = this.renderedElement; - - - this.haveOwnPropsChanged = false; - this.hasStoreStateChanged = false; - this.haveStatePropsBeenPrecalculated = false; - this.statePropsPrecalculationError = null; - - if (statePropsPrecalculationError) { - throw statePropsPrecalculationError; - } - - var shouldUpdateStateProps = true; - var shouldUpdateDispatchProps = true; - if (pure && renderedElement) { - shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps; - shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps; - } - - var haveStatePropsChanged = false; - var haveDispatchPropsChanged = false; - if (haveStatePropsBeenPrecalculated) { - haveStatePropsChanged = true; - } else if (shouldUpdateStateProps) { - haveStatePropsChanged = this.updateStatePropsIfNeeded(); - } - if (shouldUpdateDispatchProps) { - haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded(); - } - - var haveMergedPropsChanged = true; - if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) { - haveMergedPropsChanged = this.updateMergedPropsIfNeeded(); - } else { - haveMergedPropsChanged = false; - } - - if (!haveMergedPropsChanged && renderedElement) { - return renderedElement; - } - - if (withRef) { - this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, { - ref: 'wrappedInstance' - })); - } else { - this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps); - } - - return this.renderedElement; - }; - - return Connect; - }(_react.Component); - - Connect.displayName = connectDisplayName; - Connect.WrappedComponent = WrappedComponent; - Connect.contextTypes = { - store: _storeShape2["default"] - }; - Connect.propTypes = { - store: _storeShape2["default"] - }; - - if (true) { - Connect.prototype.componentWillUpdate = function componentWillUpdate() { - if (this.version === version) { - return; - } - - // We are hot reloading! - this.version = version; - this.trySubscribe(); - this.clearCache(); - }; - } - - return (0, _hoistNonReactStatics2["default"])(Connect, WrappedComponent); - }; -} - -/***/ }), - -/***/ "./node_modules/react-redux/lib/index.js": -/*!***********************************************!*\ - !*** ./node_modules/react-redux/lib/index.js ***! - \***********************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports.connect = exports.Provider = undefined; - -var _Provider = __webpack_require__(/*! ./components/Provider */ "./node_modules/react-redux/lib/components/Provider.js"); - -var _Provider2 = _interopRequireDefault(_Provider); - -var _connect = __webpack_require__(/*! ./components/connect */ "./node_modules/react-redux/lib/components/connect.js"); - -var _connect2 = _interopRequireDefault(_connect); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -exports.Provider = _Provider2["default"]; -exports.connect = _connect2["default"]; - -/***/ }), - -/***/ "./node_modules/react-redux/lib/utils/shallowEqual.js": -/*!************************************************************!*\ - !*** ./node_modules/react-redux/lib/utils/shallowEqual.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports["default"] = shallowEqual; -function shallowEqual(objA, objB) { - if (objA === objB) { - return true; - } - - var keysA = Object.keys(objA); - var keysB = Object.keys(objB); - - if (keysA.length !== keysB.length) { - return false; - } - - // Test for A's keys different from B. - var hasOwn = Object.prototype.hasOwnProperty; - for (var i = 0; i < keysA.length; i++) { - if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) { - return false; - } - } - - return true; -} - -/***/ }), - -/***/ "./node_modules/react-redux/lib/utils/storeShape.js": -/*!**********************************************************!*\ - !*** ./node_modules/react-redux/lib/utils/storeShape.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -var _propTypes = __webpack_require__(/*! prop-types */ "prop-types"); - -var _propTypes2 = _interopRequireDefault(_propTypes); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } - -exports["default"] = _propTypes2["default"].shape({ - subscribe: _propTypes2["default"].func.isRequired, - dispatch: _propTypes2["default"].func.isRequired, - getState: _propTypes2["default"].func.isRequired -}); - -/***/ }), - -/***/ "./node_modules/react-redux/lib/utils/warning.js": -/*!*******************************************************!*\ - !*** ./node_modules/react-redux/lib/utils/warning.js ***! - \*******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports["default"] = warning; -/** - * Prints a warning in the console if it exists. - * - * @param {String} message The warning message. - * @returns {void} - */ -function warning(message) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error(message); - } - /* eslint-enable no-console */ - try { - // This error was thrown as a convenience so that if you enable - // "break on all exceptions" in your console, - // it would pause the execution at this line. - throw new Error(message); - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ -} - -/***/ }), - -/***/ "./node_modules/react-redux/lib/utils/wrapActionCreators.js": -/*!******************************************************************!*\ - !*** ./node_modules/react-redux/lib/utils/wrapActionCreators.js ***! - \******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports["default"] = wrapActionCreators; - -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); - -function wrapActionCreators(actionCreators) { - return function (dispatch) { - return (0, _redux.bindActionCreators)(actionCreators, dispatch); - }; -} - -/***/ }), - -/***/ "./node_modules/reduce-reducers/dist/index.js": -/*!****************************************************!*\ - !*** ./node_modules/reduce-reducers/dist/index.js ***! - \****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -exports.default = function () { - for (var _len = arguments.length, reducers = Array(_len), _key = 0; _key < _len; _key++) { - reducers[_key] = arguments[_key]; - } - - return function (previous, current) { - return reducers.reduce(function (p, r) { - return r(p, current); - }, previous); - }; -}; - -module.exports = exports["default"]; - -/***/ }), - -/***/ "./node_modules/redux-actions/lib/createAction.js": -/*!********************************************************!*\ - !*** ./node_modules/redux-actions/lib/createAction.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports['default'] = createAction; -function identity(t) { - return t; -} - -function createAction(type, actionCreator, metaCreator) { - var finalActionCreator = typeof actionCreator === 'function' ? actionCreator : identity; - - return function () { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var action = { - type: type, - payload: finalActionCreator.apply(undefined, args) - }; - - if (args.length === 1 && args[0] instanceof Error) { - // Handle FSA errors where the payload is an Error object. Set error. - action.error = true; - } - - if (typeof metaCreator === 'function') { - action.meta = metaCreator.apply(undefined, args); - } - - return action; - }; -} - -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/redux-actions/lib/handleAction.js": -/*!********************************************************!*\ - !*** ./node_modules/redux-actions/lib/handleAction.js ***! - \********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports['default'] = handleAction; - -var _fluxStandardAction = __webpack_require__(/*! flux-standard-action */ "./node_modules/flux-standard-action/lib/index.js"); - -function isFunction(val) { - return typeof val === 'function'; -} - -function handleAction(type, reducers) { - return function (state, action) { - // If action type does not match, return previous state - if (action.type !== type) return state; - - var handlerKey = _fluxStandardAction.isError(action) ? 'throw' : 'next'; - - // If function is passed instead of map, use as reducer - if (isFunction(reducers)) { - reducers.next = reducers['throw'] = reducers; - } - - // Otherwise, assume an action map was passed - var reducer = reducers[handlerKey]; - - return isFunction(reducer) ? reducer(state, action) : state; - }; -} - -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/redux-actions/lib/handleActions.js": -/*!*********************************************************!*\ - !*** ./node_modules/redux-actions/lib/handleActions.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports['default'] = handleActions; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _handleAction = __webpack_require__(/*! ./handleAction */ "./node_modules/redux-actions/lib/handleAction.js"); - -var _handleAction2 = _interopRequireDefault(_handleAction); - -var _ownKeys = __webpack_require__(/*! ./ownKeys */ "./node_modules/redux-actions/lib/ownKeys.js"); - -var _ownKeys2 = _interopRequireDefault(_ownKeys); - -var _reduceReducers = __webpack_require__(/*! reduce-reducers */ "./node_modules/reduce-reducers/dist/index.js"); - -var _reduceReducers2 = _interopRequireDefault(_reduceReducers); - -function handleActions(handlers, defaultState) { - var reducers = _ownKeys2['default'](handlers).map(function (type) { - return _handleAction2['default'](type, handlers[type]); - }); - - return typeof defaultState !== 'undefined' ? function (state, action) { - if (state === undefined) state = defaultState; - return _reduceReducers2['default'].apply(undefined, reducers)(state, action); - } : _reduceReducers2['default'].apply(undefined, reducers); -} - -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/redux-actions/lib/index.js": -/*!*************************************************!*\ - !*** ./node_modules/redux-actions/lib/index.js ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } - -var _createAction = __webpack_require__(/*! ./createAction */ "./node_modules/redux-actions/lib/createAction.js"); - -var _createAction2 = _interopRequireDefault(_createAction); - -var _handleAction = __webpack_require__(/*! ./handleAction */ "./node_modules/redux-actions/lib/handleAction.js"); - -var _handleAction2 = _interopRequireDefault(_handleAction); - -var _handleActions = __webpack_require__(/*! ./handleActions */ "./node_modules/redux-actions/lib/handleActions.js"); - -var _handleActions2 = _interopRequireDefault(_handleActions); - -exports.createAction = _createAction2['default']; -exports.handleAction = _handleAction2['default']; -exports.handleActions = _handleActions2['default']; - -/***/ }), - -/***/ "./node_modules/redux-actions/lib/ownKeys.js": -/*!***************************************************!*\ - !*** ./node_modules/redux-actions/lib/ownKeys.js ***! - \***************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -exports.__esModule = true; -exports['default'] = ownKeys; - -function ownKeys(object) { - if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') { - return Reflect.ownKeys(object); - } - - var keys = Object.getOwnPropertyNames(object); - - if (typeof Object.getOwnPropertySymbols === 'function') { - keys = keys.concat(Object.getOwnPropertySymbols(object)); - } - - return keys; -} - -module.exports = exports['default']; - -/***/ }), - -/***/ "./node_modules/redux-thunk/es/index.js": -/*!**********************************************!*\ - !*** ./node_modules/redux-thunk/es/index.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function createThunkMiddleware(extraArgument) { - return function (_ref) { - var dispatch = _ref.dispatch, - getState = _ref.getState; - return function (next) { - return function (action) { - if (typeof action === 'function') { - return action(dispatch, getState, extraArgument); - } - - return next(action); - }; - }; - }; -} - -var thunk = createThunkMiddleware(); -thunk.withExtraArgument = createThunkMiddleware; - -/* harmony default export */ __webpack_exports__["default"] = (thunk); - -/***/ }), - -/***/ "./node_modules/redux/es/applyMiddleware.js": -/*!**************************************************!*\ - !*** ./node_modules/redux/es/applyMiddleware.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return applyMiddleware; }); -/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./compose */ "./node_modules/redux/es/compose.js"); -var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; - - - -/** - * Creates a store enhancer that applies middleware to the dispatch method - * of the Redux store. This is handy for a variety of tasks, such as expressing - * asynchronous actions in a concise manner, or logging every action payload. - * - * See `redux-thunk` package as an example of the Redux middleware. - * - * Because middleware is potentially asynchronous, this should be the first - * store enhancer in the composition chain. - * - * Note that each middleware will be given the `dispatch` and `getState` functions - * as named arguments. - * - * @param {...Function} middlewares The middleware chain to be applied. - * @returns {Function} A store enhancer applying the middleware. - */ -function applyMiddleware() { - for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) { - middlewares[_key] = arguments[_key]; - } - - return function (createStore) { - return function (reducer, preloadedState, enhancer) { - var store = createStore(reducer, preloadedState, enhancer); - var _dispatch = store.dispatch; - var chain = []; - - var middlewareAPI = { - getState: store.getState, - dispatch: function dispatch(action) { - return _dispatch(action); - } - }; - chain = middlewares.map(function (middleware) { - return middleware(middlewareAPI); - }); - _dispatch = _compose__WEBPACK_IMPORTED_MODULE_0__["default"].apply(undefined, chain)(store.dispatch); - - return _extends({}, store, { - dispatch: _dispatch - }); - }; - }; -} - -/***/ }), - -/***/ "./node_modules/redux/es/bindActionCreators.js": -/*!*****************************************************!*\ - !*** ./node_modules/redux/es/bindActionCreators.js ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return bindActionCreators; }); -function bindActionCreator(actionCreator, dispatch) { - return function () { - return dispatch(actionCreator.apply(undefined, arguments)); - }; -} - -/** - * Turns an object whose values are action creators, into an object with the - * same keys, but with every function wrapped into a `dispatch` call so they - * may be invoked directly. This is just a convenience method, as you can call - * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. - * - * For convenience, you can also pass a single function as the first argument, - * and get a function in return. - * - * @param {Function|Object} actionCreators An object whose values are action - * creator functions. One handy way to obtain it is to use ES6 `import * as` - * syntax. You may also pass a single function. - * - * @param {Function} dispatch The `dispatch` function available on your Redux - * store. - * - * @returns {Function|Object} The object mimicking the original object, but with - * every action creator wrapped into the `dispatch` call. If you passed a - * function as `actionCreators`, the return value will also be a single - * function. - */ -function bindActionCreators(actionCreators, dispatch) { - if (typeof actionCreators === 'function') { - return bindActionCreator(actionCreators, dispatch); - } - - if (typeof actionCreators !== 'object' || actionCreators === null) { - throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?'); - } - - var keys = Object.keys(actionCreators); - var boundActionCreators = {}; - for (var i = 0; i < keys.length; i++) { - var key = keys[i]; - var actionCreator = actionCreators[key]; - if (typeof actionCreator === 'function') { - boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); - } - } - return boundActionCreators; -} - -/***/ }), - -/***/ "./node_modules/redux/es/combineReducers.js": -/*!**************************************************!*\ - !*** ./node_modules/redux/es/combineReducers.js ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return combineReducers; }); -/* harmony import */ var _createStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createStore */ "./node_modules/redux/es/createStore.js"); -/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash-es/isPlainObject */ "./node_modules/lodash-es/isPlainObject.js"); -/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/warning */ "./node_modules/redux/es/utils/warning.js"); - - - - -function getUndefinedStateErrorMessage(key, action) { - var actionType = action && action.type; - var actionName = actionType && '"' + actionType.toString() + '"' || 'an action'; - - return 'Given action ' + actionName + ', reducer "' + key + '" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.'; -} - -function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { - var reducerKeys = Object.keys(reducers); - var argumentName = action && action.type === _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; - - if (reducerKeys.length === 0) { - return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; - } - - if (!Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(inputState)) { - return 'The ' + argumentName + ' has unexpected type of "' + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"'); - } - - var unexpectedKeys = Object.keys(inputState).filter(function (key) { - return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; - }); - - unexpectedKeys.forEach(function (key) { - unexpectedKeyCache[key] = true; - }); - - if (unexpectedKeys.length > 0) { - return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('"' + unexpectedKeys.join('", "') + '" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('"' + reducerKeys.join('", "') + '". Unexpected keys will be ignored.'); - } -} - -function assertReducerShape(reducers) { - Object.keys(reducers).forEach(function (key) { - var reducer = reducers[key]; - var initialState = reducer(undefined, { type: _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT }); - - if (typeof initialState === 'undefined') { - throw new Error('Reducer "' + key + '" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.'); - } - - var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.'); - if (typeof reducer(undefined, { type: type }) === 'undefined') { - throw new Error('Reducer "' + key + '" returned undefined when probed with a random type. ' + ('Don\'t try to handle ' + _createStore__WEBPACK_IMPORTED_MODULE_0__["ActionTypes"].INIT + ' or other actions in "redux/*" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.'); - } - }); -} - -/** - * Turns an object whose values are different reducer functions, into a single - * reducer function. It will call every child reducer, and gather their results - * into a single state object, whose keys correspond to the keys of the passed - * reducer functions. - * - * @param {Object} reducers An object whose values correspond to different - * reducer functions that need to be combined into one. One handy way to obtain - * it is to use ES6 `import * as reducers` syntax. The reducers may never return - * undefined for any action. Instead, they should return their initial state - * if the state passed to them was undefined, and the current state for any - * unrecognized action. - * - * @returns {Function} A reducer function that invokes every reducer inside the - * passed object, and builds a state object with the same shape. - */ -function combineReducers(reducers) { - var reducerKeys = Object.keys(reducers); - var finalReducers = {}; - for (var i = 0; i < reducerKeys.length; i++) { - var key = reducerKeys[i]; - - if (true) { - if (typeof reducers[key] === 'undefined') { - Object(_utils_warning__WEBPACK_IMPORTED_MODULE_2__["default"])('No reducer provided for key "' + key + '"'); - } - } - - if (typeof reducers[key] === 'function') { - finalReducers[key] = reducers[key]; - } - } - var finalReducerKeys = Object.keys(finalReducers); - - var unexpectedKeyCache = void 0; - if (true) { - unexpectedKeyCache = {}; - } - - var shapeAssertionError = void 0; - try { - assertReducerShape(finalReducers); - } catch (e) { - shapeAssertionError = e; - } - - return function combination() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments[1]; - - if (shapeAssertionError) { - throw shapeAssertionError; - } - - if (true) { - var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); - if (warningMessage) { - Object(_utils_warning__WEBPACK_IMPORTED_MODULE_2__["default"])(warningMessage); - } - } - - var hasChanged = false; - var nextState = {}; - for (var _i = 0; _i < finalReducerKeys.length; _i++) { - var _key = finalReducerKeys[_i]; - var reducer = finalReducers[_key]; - var previousStateForKey = state[_key]; - var nextStateForKey = reducer(previousStateForKey, action); - if (typeof nextStateForKey === 'undefined') { - var errorMessage = getUndefinedStateErrorMessage(_key, action); - throw new Error(errorMessage); - } - nextState[_key] = nextStateForKey; - hasChanged = hasChanged || nextStateForKey !== previousStateForKey; - } - return hasChanged ? nextState : state; - }; -} - -/***/ }), - -/***/ "./node_modules/redux/es/compose.js": -/*!******************************************!*\ - !*** ./node_modules/redux/es/compose.js ***! - \******************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return compose; }); -/** - * Composes single-argument functions from right to left. The rightmost - * function can take multiple arguments as it provides the signature for - * the resulting composite function. - * - * @param {...Function} funcs The functions to compose. - * @returns {Function} A function obtained by composing the argument functions - * from right to left. For example, compose(f, g, h) is identical to doing - * (...args) => f(g(h(...args))). - */ - -function compose() { - for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) { - funcs[_key] = arguments[_key]; - } - - if (funcs.length === 0) { - return function (arg) { - return arg; - }; - } - - if (funcs.length === 1) { - return funcs[0]; - } - - return funcs.reduce(function (a, b) { - return function () { - return a(b.apply(undefined, arguments)); - }; - }); -} - -/***/ }), - -/***/ "./node_modules/redux/es/createStore.js": -/*!**********************************************!*\ - !*** ./node_modules/redux/es/createStore.js ***! - \**********************************************/ -/*! exports provided: ActionTypes, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ActionTypes", function() { return ActionTypes; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createStore; }); -/* harmony import */ var lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash-es/isPlainObject */ "./node_modules/lodash-es/isPlainObject.js"); -/* harmony import */ var symbol_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! symbol-observable */ "./node_modules/symbol-observable/es/index.js"); - - - -/** - * These are private action types reserved by Redux. - * For any unknown actions, you must return the current state. - * If the current state is undefined, you must return the initial state. - * Do not reference these action types directly in your code. - */ -var ActionTypes = { - INIT: '@@redux/INIT' - - /** - * Creates a Redux store that holds the state tree. - * The only way to change the data in the store is to call `dispatch()` on it. - * - * There should only be a single store in your app. To specify how different - * parts of the state tree respond to actions, you may combine several reducers - * into a single reducer function by using `combineReducers`. - * - * @param {Function} reducer A function that returns the next state tree, given - * the current state tree and the action to handle. - * - * @param {any} [preloadedState] The initial state. You may optionally specify it - * to hydrate the state from the server in universal apps, or to restore a - * previously serialized user session. - * If you use `combineReducers` to produce the root reducer function, this must be - * an object with the same shape as `combineReducers` keys. - * - * @param {Function} [enhancer] The store enhancer. You may optionally specify it - * to enhance the store with third-party capabilities such as middleware, - * time travel, persistence, etc. The only store enhancer that ships with Redux - * is `applyMiddleware()`. - * - * @returns {Store} A Redux store that lets you read the state, dispatch actions - * and subscribe to changes. - */ -};function createStore(reducer, preloadedState, enhancer) { - var _ref2; - - if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { - enhancer = preloadedState; - preloadedState = undefined; - } - - if (typeof enhancer !== 'undefined') { - if (typeof enhancer !== 'function') { - throw new Error('Expected the enhancer to be a function.'); - } - - return enhancer(createStore)(reducer, preloadedState); - } - - if (typeof reducer !== 'function') { - throw new Error('Expected the reducer to be a function.'); - } - - var currentReducer = reducer; - var currentState = preloadedState; - var currentListeners = []; - var nextListeners = currentListeners; - var isDispatching = false; - - function ensureCanMutateNextListeners() { - if (nextListeners === currentListeners) { - nextListeners = currentListeners.slice(); - } - } - - /** - * Reads the state tree managed by the store. - * - * @returns {any} The current state tree of your application. - */ - function getState() { - return currentState; - } - - /** - * Adds a change listener. It will be called any time an action is dispatched, - * and some part of the state tree may potentially have changed. You may then - * call `getState()` to read the current state tree inside the callback. - * - * You may call `dispatch()` from a change listener, with the following - * caveats: - * - * 1. The subscriptions are snapshotted just before every `dispatch()` call. - * If you subscribe or unsubscribe while the listeners are being invoked, this - * will not have any effect on the `dispatch()` that is currently in progress. - * However, the next `dispatch()` call, whether nested or not, will use a more - * recent snapshot of the subscription list. - * - * 2. The listener should not expect to see all state changes, as the state - * might have been updated multiple times during a nested `dispatch()` before - * the listener is called. It is, however, guaranteed that all subscribers - * registered before the `dispatch()` started will be called with the latest - * state by the time it exits. - * - * @param {Function} listener A callback to be invoked on every dispatch. - * @returns {Function} A function to remove this change listener. - */ - function subscribe(listener) { - if (typeof listener !== 'function') { - throw new Error('Expected listener to be a function.'); - } - - var isSubscribed = true; - - ensureCanMutateNextListeners(); - nextListeners.push(listener); - - return function unsubscribe() { - if (!isSubscribed) { - return; - } - - isSubscribed = false; - - ensureCanMutateNextListeners(); - var index = nextListeners.indexOf(listener); - nextListeners.splice(index, 1); - }; - } - - /** - * Dispatches an action. It is the only way to trigger a state change. - * - * The `reducer` function, used to create the store, will be called with the - * current state tree and the given `action`. Its return value will - * be considered the **next** state of the tree, and the change listeners - * will be notified. - * - * The base implementation only supports plain object actions. If you want to - * dispatch a Promise, an Observable, a thunk, or something else, you need to - * wrap your store creating function into the corresponding middleware. For - * example, see the documentation for the `redux-thunk` package. Even the - * middleware will eventually dispatch plain object actions using this method. - * - * @param {Object} action A plain object representing “what changed”. It is - * a good idea to keep actions serializable so you can record and replay user - * sessions, or use the time travelling `redux-devtools`. An action must have - * a `type` property which may not be `undefined`. It is a good idea to use - * string constants for action types. - * - * @returns {Object} For convenience, the same action object you dispatched. - * - * Note that, if you use a custom middleware, it may wrap `dispatch()` to - * return something else (for example, a Promise you can await). - */ - function dispatch(action) { - if (!Object(lodash_es_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(action)) { - throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); - } - - if (typeof action.type === 'undefined') { - throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); - } - - if (isDispatching) { - throw new Error('Reducers may not dispatch actions.'); - } - - try { - isDispatching = true; - currentState = currentReducer(currentState, action); - } finally { - isDispatching = false; - } - - var listeners = currentListeners = nextListeners; - for (var i = 0; i < listeners.length; i++) { - var listener = listeners[i]; - listener(); - } - - return action; - } - - /** - * Replaces the reducer currently used by the store to calculate the state. - * - * You might need this if your app implements code splitting and you want to - * load some of the reducers dynamically. You might also need this if you - * implement a hot reloading mechanism for Redux. - * - * @param {Function} nextReducer The reducer for the store to use instead. - * @returns {void} - */ - function replaceReducer(nextReducer) { - if (typeof nextReducer !== 'function') { - throw new Error('Expected the nextReducer to be a function.'); - } - - currentReducer = nextReducer; - dispatch({ type: ActionTypes.INIT }); - } - - /** - * Interoperability point for observable/reactive libraries. - * @returns {observable} A minimal observable of state changes. - * For more information, see the observable proposal: - * https://github.com/tc39/proposal-observable - */ - function observable() { - var _ref; - - var outerSubscribe = subscribe; - return _ref = { - /** - * The minimal observable subscription method. - * @param {Object} observer Any object that can be used as an observer. - * The observer object should have a `next` method. - * @returns {subscription} An object with an `unsubscribe` method that can - * be used to unsubscribe the observable from the store, and prevent further - * emission of values from the observable. - */ - subscribe: function subscribe(observer) { - if (typeof observer !== 'object') { - throw new TypeError('Expected the observer to be an object.'); - } - - function observeState() { - if (observer.next) { - observer.next(getState()); - } - } - - observeState(); - var unsubscribe = outerSubscribe(observeState); - return { unsubscribe: unsubscribe }; - } - }, _ref[symbol_observable__WEBPACK_IMPORTED_MODULE_1__["default"]] = function () { - return this; - }, _ref; - } - - // When a store is created, an "INIT" action is dispatched so that every - // reducer returns their initial state. This effectively populates - // the initial state tree. - dispatch({ type: ActionTypes.INIT }); - - return _ref2 = { - dispatch: dispatch, - subscribe: subscribe, - getState: getState, - replaceReducer: replaceReducer - }, _ref2[symbol_observable__WEBPACK_IMPORTED_MODULE_1__["default"]] = observable, _ref2; -} - -/***/ }), - -/***/ "./node_modules/redux/es/index.js": -/*!****************************************!*\ - !*** ./node_modules/redux/es/index.js ***! - \****************************************/ -/*! exports provided: createStore, combineReducers, bindActionCreators, applyMiddleware, compose */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _createStore__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./createStore */ "./node_modules/redux/es/createStore.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return _createStore__WEBPACK_IMPORTED_MODULE_0__["default"]; }); - -/* harmony import */ var _combineReducers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./combineReducers */ "./node_modules/redux/es/combineReducers.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return _combineReducers__WEBPACK_IMPORTED_MODULE_1__["default"]; }); - -/* harmony import */ var _bindActionCreators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./bindActionCreators */ "./node_modules/redux/es/bindActionCreators.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return _bindActionCreators__WEBPACK_IMPORTED_MODULE_2__["default"]; }); - -/* harmony import */ var _applyMiddleware__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./applyMiddleware */ "./node_modules/redux/es/applyMiddleware.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return _applyMiddleware__WEBPACK_IMPORTED_MODULE_3__["default"]; }); - -/* harmony import */ var _compose__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./compose */ "./node_modules/redux/es/compose.js"); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return _compose__WEBPACK_IMPORTED_MODULE_4__["default"]; }); - -/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/warning */ "./node_modules/redux/es/utils/warning.js"); - - - - - - - -/* -* This is a dummy function to check if the function name has been altered by minification. -* If the function has been minified and NODE_ENV !== 'production', warn the user. -*/ -function isCrushed() {} - -if ( true && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') { - Object(_utils_warning__WEBPACK_IMPORTED_MODULE_5__["default"])('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.'); -} - - - -/***/ }), - -/***/ "./node_modules/redux/es/utils/warning.js": -/*!************************************************!*\ - !*** ./node_modules/redux/es/utils/warning.js ***! - \************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return warning; }); -/** - * Prints a warning in the console if it exists. - * - * @param {String} message The warning message. - * @returns {void} - */ -function warning(message) { - /* eslint-disable no-console */ - if (typeof console !== 'undefined' && typeof console.error === 'function') { - console.error(message); - } - /* eslint-enable no-console */ - try { - // This error was thrown as a convenience so that if you enable - // "break on all exceptions" in your console, - // it would pause the execution at this line. - throw new Error(message); - /* eslint-disable no-empty */ - } catch (e) {} - /* eslint-enable no-empty */ -} - -/***/ }), - -/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": -/*!****************************************************************************!*\ - !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! - \****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var stylesInDom = {}; - -var isOldIE = function isOldIE() { - var memo; - return function memorize() { - if (typeof memo === 'undefined') { - // Test for IE <= 9 as proposed by Browserhacks - // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 - // Tests for existence of standard globals is to allow style-loader - // to operate correctly into non-standard environments - // @see https://github.com/webpack-contrib/style-loader/issues/177 - memo = Boolean(window && document && document.all && !window.atob); - } - - return memo; - }; -}(); - -var getTarget = function getTarget() { - var memo = {}; - return function memorize(target) { - if (typeof memo[target] === 'undefined') { - var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself - - if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { - try { - // This will throw an exception if access to iframe is blocked - // due to cross-origin restrictions - styleTarget = styleTarget.contentDocument.head; - } catch (e) { - // istanbul ignore next - styleTarget = null; - } - } - - memo[target] = styleTarget; - } - - return memo[target]; - }; -}(); - -function listToStyles(list, options) { - var styles = []; - var newStyles = {}; - - for (var i = 0; i < list.length; i++) { - var item = list[i]; - var id = options.base ? item[0] + options.base : item[0]; - var css = item[1]; - var media = item[2]; - var sourceMap = item[3]; - var part = { - css: css, - media: media, - sourceMap: sourceMap - }; - - if (!newStyles[id]) { - styles.push(newStyles[id] = { - id: id, - parts: [part] - }); - } else { - newStyles[id].parts.push(part); - } - } - - return styles; -} - -function addStylesToDom(styles, options) { - for (var i = 0; i < styles.length; i++) { - var item = styles[i]; - var domStyle = stylesInDom[item.id]; - var j = 0; - - if (domStyle) { - domStyle.refs++; - - for (; j < domStyle.parts.length; j++) { - domStyle.parts[j](item.parts[j]); - } - - for (; j < item.parts.length; j++) { - domStyle.parts.push(addStyle(item.parts[j], options)); - } - } else { - var parts = []; - - for (; j < item.parts.length; j++) { - parts.push(addStyle(item.parts[j], options)); - } - - stylesInDom[item.id] = { - id: item.id, - refs: 1, - parts: parts - }; - } - } -} - -function insertStyleElement(options) { - var style = document.createElement('style'); - - if (typeof options.attributes.nonce === 'undefined') { - var nonce = true ? __webpack_require__.nc : undefined; - - if (nonce) { - options.attributes.nonce = nonce; - } - } - - Object.keys(options.attributes).forEach(function (key) { - style.setAttribute(key, options.attributes[key]); - }); - - if (typeof options.insert === 'function') { - options.insert(style); - } else { - var target = getTarget(options.insert || 'head'); - - if (!target) { - throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); - } - - target.appendChild(style); - } - - return style; -} - -function removeStyleElement(style) { - // istanbul ignore if - if (style.parentNode === null) { - return false; - } - - style.parentNode.removeChild(style); -} -/* istanbul ignore next */ - - -var replaceText = function replaceText() { - var textStore = []; - return function replace(index, replacement) { - textStore[index] = replacement; - return textStore.filter(Boolean).join('\n'); - }; -}(); - -function applyToSingletonTag(style, index, remove, obj) { - var css = remove ? '' : obj.css; // For old IE - - /* istanbul ignore if */ - - if (style.styleSheet) { - style.styleSheet.cssText = replaceText(index, css); - } else { - var cssNode = document.createTextNode(css); - var childNodes = style.childNodes; - - if (childNodes[index]) { - style.removeChild(childNodes[index]); - } - - if (childNodes.length) { - style.insertBefore(cssNode, childNodes[index]); - } else { - style.appendChild(cssNode); - } - } -} - -function applyToTag(style, options, obj) { - var css = obj.css; - var media = obj.media; - var sourceMap = obj.sourceMap; - - if (media) { - style.setAttribute('media', media); - } - - if (sourceMap && btoa) { - css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); - } // For old IE - - /* istanbul ignore if */ - - - if (style.styleSheet) { - style.styleSheet.cssText = css; - } else { - while (style.firstChild) { - style.removeChild(style.firstChild); - } - - style.appendChild(document.createTextNode(css)); - } -} - -var singleton = null; -var singletonCounter = 0; - -function addStyle(obj, options) { - var style; - var update; - var remove; - - if (options.singleton) { - var styleIndex = singletonCounter++; - style = singleton || (singleton = insertStyleElement(options)); - update = applyToSingletonTag.bind(null, style, styleIndex, false); - remove = applyToSingletonTag.bind(null, style, styleIndex, true); - } else { - style = insertStyleElement(options); - update = applyToTag.bind(null, style, options); - - remove = function remove() { - removeStyleElement(style); - }; - } - - update(obj); - return function updateStyle(newObj) { - if (newObj) { - if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { - return; - } - - update(obj = newObj); - } else { - remove(); - } - }; -} - -module.exports = function (list, options) { - options = options || {}; - options.attributes = typeof options.attributes === 'object' ? options.attributes : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> - // tags it will allow on a page - - if (!options.singleton && typeof options.singleton !== 'boolean') { - options.singleton = isOldIE(); - } - - var styles = listToStyles(list, options); - addStylesToDom(styles, options); - return function update(newList) { - var mayRemove = []; - - for (var i = 0; i < styles.length; i++) { - var item = styles[i]; - var domStyle = stylesInDom[item.id]; - - if (domStyle) { - domStyle.refs--; - mayRemove.push(domStyle); - } - } - - if (newList) { - var newStyles = listToStyles(newList, options); - addStylesToDom(newStyles, options); - } - - for (var _i = 0; _i < mayRemove.length; _i++) { - var _domStyle = mayRemove[_i]; - - if (_domStyle.refs === 0) { - for (var j = 0; j < _domStyle.parts.length; j++) { - _domStyle.parts[j](); - } - - delete stylesInDom[_domStyle.id]; - } - } - }; -}; - -/***/ }), - -/***/ "./node_modules/symbol-observable/es/index.js": -/*!****************************************************!*\ - !*** ./node_modules/symbol-observable/es/index.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ponyfill.js */ "./node_modules/symbol-observable/es/ponyfill.js"); -/* global window */ - - -var root; - -if (typeof self !== 'undefined') { - root = self; -} else if (typeof window !== 'undefined') { - root = window; -} else if (typeof global !== 'undefined') { - root = global; -} else if (true) { - root = module; -} else {} - -var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__["default"])(root); -/* harmony default export */ __webpack_exports__["default"] = (result); - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) - -/***/ }), - -/***/ "./node_modules/symbol-observable/es/ponyfill.js": -/*!*******************************************************!*\ - !*** ./node_modules/symbol-observable/es/ponyfill.js ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return symbolObservablePonyfill; }); -function symbolObservablePonyfill(root) { - var result; - var Symbol = root.Symbol; - - if (typeof Symbol === 'function') { - if (Symbol.observable) { - result = Symbol.observable; - } else { - result = Symbol('observable'); - Symbol.observable = result; - } - } else { - result = '@@observable'; - } - - return result; -}; - - -/***/ }), - -/***/ "./node_modules/viz.js/viz.js": -/*!************************************!*\ - !*** ./node_modules/viz.js/viz.js ***! - \************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -/* WEBPACK VAR INJECTION */(function(process, Buffer) {/* -Viz.js 1.7.1 (Graphviz 2.40.1, Expat 2.1.0, Emscripten 1.37.9) -Copyright (c) 2014-2017 Michael Daines -Licensed under MIT license - -This distribution contains other software in object code form: - -Graphviz -Licensed under Eclipse Public License - v 1.0 -http://www.graphviz.org - -Expat -Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper -Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. -Licensed under MIT license -http://www.libexpat.org - -zlib -Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler -http://www.zlib.net/zlib_license.html -*/ -(function(global) { -var Module = function(Module) { - Module = Module || {}; - var Module = Module; - -var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&"function"==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=console.log;if(!Module["printErr"])Module["printErr"]=console.warn;var nodeFS;var nodePath;Module["read"]=function read(filename,binary){if(!nodeFS)nodeFS=__webpack_require__(/*! fs */ 1);if(!nodePath)nodePath=__webpack_require__(/*! path */ 2);filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module["load"]=function load(f){globalEval(read(f))};if(!Module["thisProgram"]){if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}else{Module["thisProgram"]="unknown-program"}}Module["arguments"]=process["argv"].slice(2);if(true){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return xhr.response}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module["load"]=importScripts}if(typeof Module["setWindowTitle"]==="undefined"){Module["setWindowTitle"]=(function(title){document.title=title})}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}if(!Module["quit"]){Module["quit"]=(function(status,toThrow){throw toThrow})}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type==="double"||type==="i64"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];if(!func){abort("NO_DYNAMIC_EXECUTION=1 was set, cannot eval")}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var ccall;((function(){var JSfuncs={"stackSave":(function(){Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore()}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};cwrap=function cwrap(ident,returnType,argTypes){return(function(){return ccall(ident,returnType,argTypes,arguments)})}}))();Module["ccall"]=ccall;function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module["UTF8ToString"](ptr)}Module["Pointer_stringify"]=Pointer_stringify;var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module["UTF8ToString"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function demangle(func){var __cxa_demangle_func=Module["___cxa_demangle"]||Module["__cxa_demangle"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";Module["HEAP"]=HEAP;Module["buffer"]=buffer;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var ASM_CONSTS=[(function($0,$1){{var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)}})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+197520;__ATINIT__.push();allocate([0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,32,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,2,16,0,0,0,0,0,0,0,0,0,0,0,0,16,64,200,47,0,0,8,0,0,0,1,0,0,0,0,0,0,0,2,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,150,64,0,0,0,0,0,128,150,64,4,144,195,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,3,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,16,64,104,54,0,0,147,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,16,0,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,0,0,68,58,0,0,16,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,64,32,62,3,0,0,0,0,0,0,0,0,0,0,16,64,76,59,0,0,122,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,255,255,255,255,255,255,255,239,255,0,0,0,0,0,0,248,63,51,51,51,51,51,51,211,63,60,0,0,0,0,0,0,0,154,153,153,153,153,153,169,63,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,51,51,51,51,51,51,243,63,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,211,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,227,63,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,40,86,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,37,117,2,154,8,27,218,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,44,212,154,230,29,167,234,63,106,222,113,138,142,228,232,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,93,220,70,3,120,11,226,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,13,113,172,139,219,104,220,63,100,93,220,70,3,120,237,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,196,66,173,105,222,113,236,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,134,56,214,197,109,52,238,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,166,10,70,37,117,2,222,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,244,108,86,125,174,182,222,63,17,54,60,189,82,150,201,63,244,108,86,125,174,182,222,63,59,1,77,132,13,79,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,62,232,217,172,250,92,197,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,130,115,70,148,246,6,199,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,7,240,22,72,80,252,220,63,162,180,55,248,194,100,214,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,196,66,173,105,222,113,236,63,0,0,0,0,0,0,208,63,127,217,61,121,88,168,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,196,66,173,105,222,113,236,63,19,242,65,207,102,213,211,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,16,122,54,171,62,87,229,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,244,108,86,125,174,182,214,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,196,66,173,105,222,113,236,63,16,122,54,171,62,87,229,63,245,219,215,129,115,70,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,181,21,251,203,238,201,225,63,204,93,75,200,7,61,240,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,44,212,154,230,29,167,234,63,210,111,95,7,206,25,231,63,106,222,113,138,142,228,232,63,16,122,54,171,62,87,229,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,134,56,214,197,109,52,238,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,166,10,70,37,117,2,222,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,72,191,125,29,56,103,204,63,0,0,0,0,0,0,224,63,72,191,125,29,56,103,204,63,44,212,154,230,29,167,234,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,2,154,8,27,158,94,213,63,224,190,14,156,51,162,208,63,2,154,8,27,158,94,213,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,62,232,217,172,250,92,197,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,29,56,103,68,105,111,200,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,231,29,167,232,72,46,225,63,162,180,55,248,194,100,214,63,72,191,125,29,56,103,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,234,149,178,12,113,172,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([181,21,251,203,238,201,225,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,240,63,152,221,147,135,133,90,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,196,66,173,105,222,113,236,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,72,191,125,29,56,103,204,63,120,11,36,40,126,140,227,63,134,56,214,197,109,52,238,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,81,160,79,228,73,210,14,64,180,200,118,190,159,58,53,192,58,34,223,165,212,37,213,191,243,130,62,71,154,46,138,63,159,229,121,112,119,214,249,191,126,253,16,27,44,156,230,63,150,236,216,8,196,235,204,63,205,206,162,119,42,224,208,63,176,227,191,64,16,32,237,191,173,161,212,94,68,219,216,63,59,161,124,230,81,150,118,63,211,110,112,249,122,132,123,63,129,204,206,162,119,42,228,191,209,173,215,244,160,160,200,63,106,223,55,25,176,63,132,63,190,202,144,25,94,255,132,63,28,150,6,126,84,195,196,191,165,73,41,232,246,226,35,64,169,217,3,173,192,144,193,63,8,196,144,65,147,105,137,63,250,68,158,36,93,51,208,191,1,240,153,54,45,194,94,63,13,156,125,47,207,148,151,63,137,181,248,20,0,227,137,63,229,169,88,70,52,203,177,191,143,0,201,207,161,103,166,191,92,181,198,251,204,180,136,63,77,164,143,84,58,179,144,63,230,199,4,161,97,214,160,191,199,105,103,28,19,247,130,191,42,127,107,229,45,112,92,191,228,87,98,84,8,154,117,63,209,241,135,85,114,4,183,63,149,212,9,104,34,60,51,192,100,35,16,175,235,119,16,192,167,33,170,240,103,120,199,63,218,255,0,107,213,174,193,63,78,40,68,192,33,84,247,191,170,72,133,177,133,32,245,63,157,104,87,33,229,39,246,63,77,46,198,192,58,142,205,63,89,107,40,181,23,209,220,191,3,63,170,97,191,39,204,63,166,71,83,61,153,127,218,63,182,129,59,80,167,60,174,63,81,76,222,0,51,223,185,191,245,118,149,255,218,11,166,63,212,165,53,188,15,246,148,63,31,173,32,188,44,220,144,63,40,44,241,128,178,201,35,64,35,90,225,76,2,138,183,63,72,163,101,81,150,41,127,63,187,180,134,247,193,158,147,63,23,168,123,83,71,125,160,191,33,43,174,224,109,148,139,63,51,115,220,132,214,30,181,191,160,120,132,137,245,252,143,63,105,53,36,238,177,244,145,191,184,205,51,122,94,191,106,63,146,62,173,162,63,52,205,191,126,176,231,198,79,62,152,191,7,35,155,80,45,199,164,63,62,24,194,123,88,185,145,191,45,124,125,173,75,141,198,63,0,0,0,64,251,33,249,63,0,0,0,0,45,68,116,62,0,0,0,128,152,70,248,60,0,0,0,96,81,204,120,59,0,0,0,128,131,27,240,57,0,0,0,64,32,37,122,56,0,0,0,128,34,130,227,54,0,0,0,0,29,243,105,53,204,5,1,0,16,43,0,0,3,0,0,0,56,45,0,0,3,0,0,0,16,48,0,0,3,0,0,0,216,48,0,0,3,0,0,0,40,50,0,0,3,0,0,0,160,53,0,0,3,0,0,0,220,56,0,0,3,0,0,0,236,46,0,0,3,0,0,0,164,57,0,0,3,0,0,0,172,58,0,0,3,0,0,0,56,63,0,0,3,0,0,0,92,61,0,0,0,0,0,0,252,44,0,0,0,0,0,0,232,47,0,0,0,0,0,0,56,48,0,0,0,0,0,0,0,50,0,0,0,0,0,0,80,50,0,0,0,0,0,0,180,56,0,0,0,0,0,0,136,46,0,0,0,0,0,0,124,57,0,0,0,0,0,0,132,58,0,0,0,0,0,0,16,63,0,0,0,0,0,0,52,61,0,0,4,0,0,0,96,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,176,217,2,0,192,217,2,0,208,217,2,0,224,217,2,0,240,217,2,0,0,218,2,0,16,218,2,0,32,218,2,0,192,217,2,0,192,217,2,0,0,218,2,0,0,218,2,0,31,0,0,0,63,0,0,0,127,0,0,0,0,0,0,0,207,134,1,0,1,0,0,0,208,43,0,0,104,0,0,0,4,0,0,0,229,9,1,0,1,0,0,0,72,44,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,136,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,1,0,0,0,143,6,1,0,1,0,0,0,0,0,0,0,168,0,0,0,2,0,0,0,153,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,3,0,0,0,163,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,4,0,0,0,177,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,5,0,0,0,187,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,6,0,0,0,200,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,1,0,0,0,239,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,2,0,0,0,245,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,3,0,0,0,254,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,1,0,0,0,18,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,2,0,0,0,29,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,3,0,0,0,43,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,37,4,2,0,101,10,2,0,92,17,2,0,155,21,2,0,27,25,2,0,44,25,2,0,0,0,0,0,114,10,1,0,1,0,0,0,80,47,0,0,168,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,10,1,0,1,0,0,0,0,0,0,0,200,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,126,10,1,0,1,0,0,0,96,48,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,182,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,2,0,0,0,192,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,201,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,3,0,0,0,210,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,220,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,3,0,0,0,232,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,3,0,0,0,3,0,0,0,10,0,0,0,4,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,101,10,2,0,37,4,2,0,155,21,2,0,92,17,2,0,44,25,2,0,27,25,2,0,0,0,0,0,0,0,0,0,165,13,1,0,255,255,255,255,100,49,0,0,144,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,13,1,0,255,255,255,255,0,0,0,0,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,142,1,0,1,0,0,0,120,50,0,0,232,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,5,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,3,0,0,0,165,17,1,0,179,17,1,0,201,17,1,0,13,251,2,0,215,17,1,0,230,17,1,0,235,17,1,0,9,18,1,0,13,251,2,0,27,18,1,0,75,18,1,0,13,251,2,0,105,18,1,0,145,18,1,0,159,18,1,0,206,18,1,0,2,19,1,0,19,19,1,0,56,19,1,0,91,19,1,0,97,19,1,0,125,19,1,0,154,19,1,0,181,19,1,0,214,19,1,0,240,19,1,0,18,20,1,0,49,20,1,0,87,20,1,0,111,20,1,0,143,20,1,0,172,20,1,0,208,20,1,0,220,20,1,0,13,251,2,0,231,20,1,0,13,21,1,0,49,21,1,0,87,21,1,0,13,251,2,0,141,21,1,0,165,21,1,0,178,21,1,0,225,21,1,0,220,20,1,0,13,251,2,0,238,21,1,0,247,21,1,0,24,22,1,0,83,22,1,0,158,22,1,0,242,22,1,0,20,23,1,0,41,23,1,0,64,23,1,0,86,23,1,0,110,23,1,0,13,251,2,0,132,23,1,0,159,23,1,0,195,23,1,0,231,23,1,0,12,24,1,0,13,251,2,0,45,24,1,0,71,24,1,0,89,24,1,0,102,24,1,0,115,24,1,0,135,24,1,0,150,24,1,0,158,24,1,0,179,24,1,0,193,24,1,0,255,24,1,0,10,25,1,0,220,20,1,0,13,251,2,0,16,25,1,0,28,25,1,0,43,25,1,0,91,19,1,0,13,251,2,0,62,25,1,0,103,25,1,0,133,25,1,0,149,25,1,0,166,25,1,0,173,25,1,0,188,25,1,0,204,25,1,0,16,26,1,0,23,26,1,0,91,19,1,0,13,251,2,0,33,26,1,0,77,26,1,0,88,26,1,0,97,26,1,0,106,26,1,0,123,26,1,0,140,26,1,0,160,26,1,0,220,20,1,0,13,251,2,0,172,26,1,0,188,26,1,0,202,26,1,0,216,26,1,0,229,26,1,0,242,26,1,0,8,27,1,0,17,27,1,0,32,27,1,0,45,27,1,0,62,27,1,0,220,20,1,0,13,251,2,0,73,27,1,0,104,27,1,0,13,251,2,0,122,27,1,0,137,27,1,0,185,27,1,0,195,27,1,0,208,27,1,0,221,27,1,0,234,27,1,0,247,27,1,0,250,27,1,0,13,251,2,0,254,27,1,0,13,251,2,0,33,28,1,0,82,28,1,0,129,28,1,0,152,28,1,0,179,28,1,0,206,28,1,0,220,20,1,0,13,251,2,0,234,28,1,0,13,251,2,0,18,29,1,0,30,29,1,0,49,29,1,0,68,29,1,0,89,29,1,0,110,29,1,0,114,29,1,0,91,19,1,0,13,251,2,0,126,29,1,0,13,251,2,0,142,29,1,0,156,29,1,0,168,29,1,0,181,29,1,0,213,29,1,0,235,29,1,0,13,251,2,0,255,29,1,0,72,30,1,0,142,30,1,0,190,30,1,0,241,30,1,0,248,30,1,0,31,31,1,0,70,31,1,0,13,251,2,0,75,31,1,0,0,0,0,0,0,0,0,0,0,73,1,0,1,0,0,0,0,0,0,0,8,3,0,0,1,0,0,0,191,31,1,0,1,0,0,0,0,0,0,0,8,3,0,0,2,0,0,0,249,72,1,0,1,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,36,0,0,0,37,0,0,0,6,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,4,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,15,0,0,0,7,0,0,0,5,0,0,0,16,0,0,0,6,0,0,0,0,0,0,0,172,1,2,0,182,1,2,0,137,50,1,0,251,1,2,0,54,2,2,0,88,2,2,0,94,2,2,0,143,25,2,0,133,2,2,0,148,2,2,0,177,2,2,0,188,2,2,0,222,2,2,0,20,3,2,0,74,3,2,0,133,3,2,0,187,3,2,0,221,3,2,0,236,3,2,0,29,4,2,0,37,4,2,0,79,38,1,0,88,38,1,0,66,4,2,0,97,38,1,0,140,4,2,0,106,38,1,0,150,4,2,0,115,38,1,0,160,4,2,0,239,4,2,0,42,5,2,0,127,38,1,0,101,5,2,0,112,5,2,0,181,5,2,0,195,5,2,0,13,6,2,0,27,6,2,0,41,6,2,0,52,6,2,0,101,6,2,0,165,6,2,0,173,6,2,0,181,6,2,0,240,6,2,0,38,7,2,0,50,7,2,0,142,50,1,0,62,7,2,0,72,7,2,0,83,7,2,0,112,7,2,0,166,7,2,0,101,10,2,0,135,10,2,0,147,10,2,0,82,13,2,0,131,13,2,0,175,13,2,0,229,13,2,0,242,13,2,0,20,14,2,0,54,14,2,0,63,14,2,0,137,14,2,0,147,14,2,0,216,14,2,0,14,15,2,0,25,15,2,0,158,15,2,0,179,15,2,0,135,38,1,0,189,15,2,0,199,15,2,0,253,15,2,0,61,16,2,0,75,16,2,0,159,16,2,0,174,16,2,0,189,16,2,0,12,17,2,0,150,50,1,0,76,17,2,0,86,17,2,0,92,17,2,0,136,17,2,0,175,17,2,0,192,17,2,0,203,17,2,0,16,18,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,166,18,2,0,179,18,2,0,189,18,2,0,243,18,2,0,252,18,2,0,60,19,2,0,79,19,2,0,155,50,1,0,87,19,2,0,141,19,2,0,180,19,2,0,234,19,2,0,17,20,2,0,31,20,2,0,85,20,2,0,159,20,2,0,233,20,2,0,244,20,2,0,42,21,2,0,47,21,2,0,76,21,2,0,105,21,2,0,116,21,2,0,155,21,2,0,179,21,2,0,233,21,2,0,31,22,2,0,43,22,2,0,82,22,2,0,93,22,2,0,142,22,2,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,72,23,2,0,126,23,2,0,136,23,2,0,165,23,2,0,229,23,2,0,27,24,2,0,161,50,1,0,51,24,2,0,95,24,2,0,134,24,2,0,188,24,2,0,249,24,2,0,27,25,2,0,33,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,216,142,1,0,1,0,0,0,240,53,0,0,120,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,73,1,0,1,0,0,0,0,0,0,0,152,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,8,0,0,0,6,0,0,0,19,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,189,39,1,0,1,0,0,0,4,57,0,0,208,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,39,1,0,1,0,0,0,0,0,0,0,240,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,21,0,0,0,9,0,0,0,7,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,137,50,1,0,143,25,2,0,148,2,2,0,142,50,1,0,166,7,2,0,101,10,2,0,150,50,1,0,136,17,2,0,60,19,2,0,155,50,1,0,116,21,2,0,155,21,2,0,136,61,1,0,161,50,1,0,27,25,2,0,44,25,2,0,0,0,0,0,166,50,1,0,1,0,0,0,204,57,0,0,40,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,50,1,0,1,0,0,0,0,0,0,0,72,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,57,0,0,0,58,0,0,0,10,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,11,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,0,0,0,0,251,1,2,0,30,60,1,0,143,25,2,0,148,2,2,0,177,2,2,0,41,60,1,0,47,60,1,0,58,60,1,0,65,60,1,0,188,2,2,0,20,3,2,0,73,60,1,0,79,60,1,0,90,60,1,0,187,3,2,0,221,3,2,0,37,4,2,0,97,60,1,0,140,4,2,0,160,4,2,0,42,5,2,0,107,60,1,0,181,5,2,0,195,5,2,0,13,6,2,0,118,60,1,0,27,6,2,0,126,60,1,0,135,60,1,0,149,60,1,0,159,60,1,0,240,6,2,0,168,60,1,0,50,7,2,0,83,7,2,0,112,7,2,0,174,60,1,0,183,7,2,0,226,7,2,0,11,8,2,0,46,8,2,0,87,8,2,0,122,8,2,0,163,8,2,0,198,8,2,0,239,8,2,0,18,9,2,0,59,9,2,0,94,9,2,0,135,9,2,0,170,9,2,0,211,9,2,0,246,9,2,0,31,10,2,0,66,10,2,0,101,10,2,0,181,60,1,0,135,10,2,0,193,60,1,0,175,13,2,0,20,14,2,0,216,14,2,0,206,60,1,0,189,16,2,0,219,60,1,0,76,17,2,0,92,17,2,0,229,60,1,0,136,17,2,0,175,17,2,0,192,17,2,0,244,60,1,0,6,61,1,0,203,17,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,22,61,1,0,33,61,1,0,44,61,1,0,166,18,2,0,60,19,2,0,65,19,2,0,49,61,1,0,58,61,1,0,67,61,1,0,83,61,1,0,90,61,1,0,141,19,2,0,180,19,2,0,234,19,2,0,31,20,2,0,47,21,2,0,76,21,2,0,98,61,1,0,155,21,2,0,105,61,1,0,43,22,2,0,114,61,1,0,93,22,2,0,122,61,1,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,143,61,1,0,165,23,2,0,229,23,2,0,153,61,1,0,27,24,2,0,51,24,2,0,134,24,2,0,163,61,1,0,177,61,1,0,188,24,2,0,195,24,2,0,249,24,2,0,27,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,195,61,1,0,1,0,0,0,212,58,0,0,128,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,61,1,0,1,0,0,0,0,0,0,0,160,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,27,0,0,0,12,0,0,0,9,0,0,0,28,0,0,0,10,0,0,0,0,0,0,0,65,66,0,0,221,162,1,0,65,73,0,0,183,162,1,0,65,82,0,0,138,162,1,0,65,88,0,0,242,162,1,0,66,32,0,0,46,165,1,0,66,73,0,0,63,165,1,0,67,66,0,0,119,163,1,0,67,79,0,0,101,163,1,0,67,88,0,0,132,163,1,0,72,32,0,0,168,163,1,0,72,66,0,0,178,163,1,0,72,73,0,0,62,164,1,0,72,88,0,0,193,163,1,0,72,98,0,0,242,163,1,0,72,105,0,0,37,164,1,0,72,114,0,0,215,163,1,0,72,120,0,0,8,164,1,0,73,32,0,0,80,165,1,0,75,66,0,0,9,163,1,0,75,73,0,0,81,163,1,0,75,82,0,0,61,163,1,0,75,88,0,0,42,163,1,0,78,66,0,0,80,164,1,0,78,73,0,0,151,164,1,0,78,82,0,0,175,164,1,0,78,88,0,0,123,164,1,0,80,65,0,0,16,165,1,0,80,66,0,0,204,164,1,0,80,73,0,0,0,165,1,0,80,88,0,0,236,164,1,0,82,32,0,0,7,167,1,0,83,32,0,0,31,165,1,0,90,68,0,0,141,165,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,109,72,1,0,255,255,255,255,132,61,0,0,216,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,72,1,0,255,255,255,255,0,0,0,0,248,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,121,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,16,0,0,0,129,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,137,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,146,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,154,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,19,0,0,0,162,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,20,0,0,0,170,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,178,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,187,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,195,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,22,0,0,0,203,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,23,0,0,0,212,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,221,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,231,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,240,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,25,0,0,0,249,72,1,0,1,0,0,0,84,67,0,0,0,0,0,0,25,0,0,0,0,73,1,0,1,0,0,0,84,67,0,0,0,0,0,0,26,0,0,0,6,73,1,0,1,0,0,0,88,67,0,0,0,0,0,0,10,0,0,0,15,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,11,0,0,0,23,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,31,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,40,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,48,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,56,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,63,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,13,0,0,0,71,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,5,0,0,0,79,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,6,0,0,0,87,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,95,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,104,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,112,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,120,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,127,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,8,0,0,0,135,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,0,0,0,0,143,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,1,0,0,0,152,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,161,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,171,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,180,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,189,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,197,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,3,0,0,0,206,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,18,0,0,0,215,73,1,0,1,0,0,0,72,67,0,0,0,0,0,0,27,0,0,0,223,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,28,0,0,0,231,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,239,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,248,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,0,74,1,0,1,0,0,0,100,67,0,0,0,0,0,0,30,0,0,0,8,74,1,0,1,0,0,0,104,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,115,77,1,0,116,67,0,0,1,0,0,0,144,67,0,0,0,0,0,0,0,0,0,0,72,0,0,0,73,0,0,0,1,0,0,0,0,0,0,0,207,134,1,0,0,0,0,0,132,67,0,0,140,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,24,1,0,0,48,1,0,0,176,0,0,0,152,85,1,0,157,85,1,0,161,85,1,0,168,85,1,0,172,85,1,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,161,90,1,0,80,68,0,0,1,0,0,0,168,68,0,0,0,0,0,0,0,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,75,0,0,0,85,0,0,0,75,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,0,0,0,0,174,90,1,0,0,0,0,0,96,68,0,0,208,219,2,0,1,0,0,0,180,90,1,0,0,0,0,0,104,68,0,0,208,219,2,0,2,0,0,0,184,90,1,0,0,0,0,0,112,68,0,0,208,219,2,0,3,0,0,0,189,90,1,0,0,0,0,0,120,68,0,0,208,219,2,0,4,0,0,0,195,90,1,0,0,0,0,0,128,68,0,0,208,219,2,0,5,0,0,0,201,90,1,0,0,0,0,0,152,68,0,0,208,219,2,0,6,0,0,0,211,90,1,0,0,0,0,0,160,68,0,0,208,219,2,0,7,0,0,0,217,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,221,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,226,90,1,0,0,0,0,0,144,68,0,0,208,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,48,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,105,104,1,0,129,104,1,0,160,104,1,0,189,104,1,0,220,104,1,0,227,104,1,0,236,104,1,0,105,104,1,0,110,104,1,0,117,104,1,0,122,104,1,0,11,104,1,0,29,104,1,0,43,104,1,0,57,104,1,0,71,104,1,0,78,104,1,0,93,104,1,0,105,104,1,0,0,0,0,0,13,251,2,0,0,0,0,0,74,19,2,0,1,0,0,0,37,107,1,0,7,0,0,0,233,106,1,0,3,0,0,0,245,38,2,0,5,0,0,0,45,107,1,0,15,0,0,0,189,142,1,0,8,0,0,0,189,142,1,0,16,0,0,0,53,107,1,0,4,0,0,0,53,107,1,0,17,0,0,0,58,107,1,0,5,0,0,0,58,107,1,0,2,0,0,0,64,107,1,0,6,0,0,0,71,107,1,0,4,0,0,0,83,107,1,0,7,0,0,0,91,107,1,0,7,0,0,0,107,107,1,0,5,0,0,0,113,107,1,0,8,0,0,0,136,107,1,0,8,0,0,0,113,107,1,0,9,0,0,0,145,107,1,0,7,0,0,0,153,107,1,0,10,0,0,0,179,107,1,0,7,0,0,0,187,107,1,0,11,0,0,0,213,107,1,0,6,0,0,0,220,107,1,0,12,0,0,0,250,107,1,0,9,0,0,0,220,107,1,0,13,0,0,0,4,108,1,0,8,0,0,0,13,108,1,0,14,0,0,0,46,108,1,0,8,0,0,0,55,108,1,0,18,0,0,0,88,108,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,33,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,34,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,64,0,0,0,176,71,0,0,192,71,0,0,6,0,0,0,4,0,0,0,204,71,0,0,6,0,0,0,8,0,0,0,6,0,0,0,4,0,0,0,212,71,0,0,0,4,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,121,1,0,53,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,10,0,0,0,92,73,0,0,224,72,0,0,68,73,0,0,1,0,0,0,1,0,0,0,10,0,0,0,22,0,0,0,11,0,0,0,90,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,16,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,30,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,19,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,46,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,47,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,48,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,128,0,0,0,166,180,1,0,135,180,1,0,77,125,1,0,179,180,1,0,171,180,1,0,185,180,1,0,0,0,0,0,83,129,1,0,92,129,1,0,99,129,1,0,113,129,1,0,167,179,1,0,207,180,1,0,120,129,1,0,127,129,1,0,1,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,131,1,0,8,0,0,0,3,0,0,0,38,131,1,0,42,131,1,0,11,0,0,0,6,0,0,0,213,142,1,0,54,131,1,0,2,0,0,0,1,0,0,0,57,131,1,0,61,131,1,0,4,0,0,0,2,0,0,0,66,131,1,0,70,131,1,0,4,0,0,0,4,0,0,0,75,131,1,0,80,131,1,0,5,0,0,0,5,0,0,0,86,131,1,0,90,131,1,0,4,0,0,0,7,0,0,0,95,131,1,0,99,131,1,0,5,0,0,0,9,0,0,0,105,131,1,0,109,131,1,0,4,0,0,0,10,0,0,0,114,131,1,0,119,131,1,0,4,0,0,0,12,0,0,0,124,131,1,0,15,136,1,0,0,0,0,0,1,0,0,0,23,136,1,0,1,0,0,0,0,0,0,0,162,179,1,0,1,0,0,0,1,0,0,0,74,19,2],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([248,134,1,0,49,0,0,0,0,0,0,0,0,0,0,0,208,174,1,0,16,0,0,0,116,31,2,0,128,0,0,0,241,134,1,0,64,0,0,0,59,161,1,0,16,0,0,0,243,134,1,0,64,0,0,0,0,0,0,0,0,0,0,0,191,134,1,0,1,0,0,0,198,134,1,0,2,0,0,0,203,134,1,0,3,0,0,0,249,167,1,0,4,0,0,0,93,158,1,0,5,0,0,0,207,134,1,0,6,0,0,0,74,19,2,0,8,0,0,0,211,134,1,0,33,0,0,0,215,134,1,0,34,0,0,0,219,134,1,0,34,0,0,0,223,134,1,0,1,0,0,0,228,134,1,0,7,0,0,0,234,134,1,0,39,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,140,1,0,49,140,1,0,0,0,0,0,80,6,0,0,210,142,1,0,213,142,1,0,216,142,1,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,255,255,255,255,149,142,1,0,155,142,1,0,74,19,2,0,0,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,100,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,9,0,0,0,43,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,1,0,144,85,0,0,176,6,0,0,0,0,0,0,38,158,1,0,144,85,0,0,224,6,0,0,0,0,0,0,255,166,1,0,144,85,0,0,16,7,0,0,0,0,0,0,46,158,1,0,144,85,0,0,16,7,0,0,0,0,0,0,51,158,1,0,144,85,0,0,64,7,0,0,0,0,0,0,58,158,1,0,168,85,0,0,64,7,0,0,0,0,0,0,64,158,1,0,144,85,0,0,112,7,0,0,0,0,0,0,68,158,1,0,144,85,0,0,160,7,0,0,0,0,0,0,74,19,2,0,144,85,0,0,208,7,0,0,0,0,0,0,77,158,1,0,144,85,0,0,208,7,0,0,0,0,0,0,87,158,1,0,144,85,0,0,128,6,0,0,0,0,0,0,93,158,1,0,144,85,0,0,0,8,0,0,0,0,0,0,101,158,1,0,144,85,0,0,48,8,0,0,0,0,0,0,111,158,1,0,144,85,0,0,96,8,0,0,0,0,0,0,125,158,1,0,144,85,0,0,144,8,0,0,0,0,0,0,131,158,1,0,144,85,0,0,192,8,0,0,0,0,0,0,140,158,1,0,144,85,0,0,240,8,0,0,0,0,0,0,148,158,1,0,144,85,0,0,32,9,0,0,0,0,0,0,157,158,1,0,144,85,0,0,80,9,0,0,0,0,0,0,165,158,1,0,144,85,0,0,128,9,0,0,0,0,0,0,170,158,1,0,144,85,0,0,176,9,0,0,0,0,0,0,174,158,1,0,144,85,0,0,224,9,0,0,0,0,0,0,181,158,1,0,144,85,0,0,16,10,0,0,0,0,0,0,187,158,1,0,144,85,0,0,64,10,0,0,0,0,0,0,197,158,1,0,192,85,0,0,112,10,0,0,0,0,0,0,206,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,211,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,221,158,1,0,144,85,0,0,160,10,0,0,0,0,0,0,228,158,1,0,144,85,0,0,208,10,0,0,0,0,0,0,241,158,1,0,144,85,0,0,0,11,0,0,0,0,0,0,255,158,1,0,144,85,0,0,48,11,0,0,0,0,0,0,13,159,1,0,144,85,0,0,96,11,0,0,0,0,0,0,25,159,1,0,144,85,0,0,144,11,0,0,0,0,0,0,38,159,1,0,144,85,0,0,192,11,0,0,0,0,0,0,47,159,1,0,144,85,0,0,240,11,0,0,0,0,0,0,57,159,1,0,144,85,0,0,32,12,0,0,0,0,0,0,66,159,1,0,144,85,0,0,80,12,0,0,0,0,0,0,74,159,1,0,144,85,0,0,128,12,0,0,0,0,0,0,82,159,1,0,144,85,0,0,176,12,0,0,0,0,0,0,91,159,1,0,144,85,0,0,224,12,0,0,0,0,0,0,95,159,1,0,144,85,0,0,16,13,0,0,0,0,0,0,106,159,1,0,144,85,0,0,64,13,0,0,0,0,0,0,110,159,1,0,144,85,0,0,112,13,0,0,0,0,0,0,120,159,1,0,144,85,0,0,160,13,0,0,0,0,0,0,129,159,1,0,144,85,0,0,208,13,0,0,0,0,0,0,137,159,1,0,144,85,0,0,0,14,0,0,0,0,0,0,150,159,1,0,144,85,0,0,48,14,0,0,0,0,0,0,162,159,1,0,144,85,0,0,96,14,0,0,0,0,0,0,173,159,1,0,144,85,0,0,144,14,0,0,0,0,0,0,189,159,1,0,144,85,0,0,192,14,0,0,0,0,0,0,203,159,1,0,144,85,0,0,240,14,0,0,0,0,0,0,218,159,1,0,144,85,0,0,32,15,0,0,0,0,0,0,228,159,1,0,144,85,0,0,80,15,0,0,0,0,0,0,237,159,1,0,144,85,0,0,128,15,0,0,0,0,0,0,247,159,1,0,144,85,0,0,176,15,0,0,0,0,0,0,1,160,1,0,144,85,0,0,224,15,0,0,0,0,0,0,8,160,1,0,144,85,0,0,16,16,0,0,0,0,0,0,15,160,1,0,144,85,0,0,64,16,0,0,0,0,0,0,25,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,32,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,2,158,1,0,240,85,0,0,0,0,0,0,0,0,0,0,40,160,1,0,8,86,0,0,112,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,93,0,0,0,92,0,0,0,23,0,0,0,5,0,0,0,0,0,0,0,13,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,94,0,0,0,95,0,0,0,24,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,96,0,0,0,97,0,0,0,23,0,0,0,7,0,0,0,0,0,0,0,15,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,8,0,0,0,2,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,42,161,1,0,49,161,1,0,0,0,0,0,57,161,1,0,59,161,1,0,174,31,2,0,61,161,1,0,12,0,0,0,4,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,138,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,0,0,0,0,4,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,183,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,206,162,1,0,5,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,221,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,0,0,0,0,6,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,242,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,206,162,1,0,7,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,9,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,0,0,0,0,10,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,42,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,214,162,1,0,11,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,61,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,0,0,0,0,8,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,81,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,214,162,1,0,9,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,101,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,109,163,1,0,0,0,0,0,0,0,0,0,119,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,14,0,0,0,109,163,1,0,24,179,1,0,0,0,0,0,132,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,15,0,0,0,109,163,1,0,24,179,1,0,214,162,1,0,152,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,13,0,0,0,109,163,1,0,0,0,0,0,214,162,1,0,168,163,1,0,168,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,178,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,18,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,193,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,19,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,215,163,1,0,168,163,1,0,0,0,0,0,232,163,1,0,0,0,0,0,20,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,242,163,1,0,168,163,1,0,24,179,1,0,232,163,1,0,0,0,0,0,22,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,8,164,1,0,168,163,1,0,24,179,1,0,232,163,1,0,206,162,1,0,23,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,37,164,1,0,168,163,1,0,0,0,0,0,232,163,1,0,206,162,1,0,21,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,62,164,1,0,168,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,17,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,80,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,26,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,123,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,27,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,151,164,1,0,102,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,25,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,175,164,1,0,102,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,24,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,204,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,30,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,236,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,31,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,0,165,1,0,218,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,29,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,16,165,1,0,218,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,28,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,31,165,1,0,31,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,46,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,0,0,0,0,2,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,63,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,214,162,1,0,3,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,80,165,1,0,57,165,1,0,0,0,0,0,0,0,0,0,214,162,1,0,1,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,7,167,1,0,57,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,93,165,1,0,119,165,1,0,134,165,1,0,0,0,0,0,214,162,1,0,33,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,141,165,1,0,154,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,45,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,168,1,0,198,0,0,0,60,168,1,0,193,0,0,0,67,168,1,0,194,0,0,0,73,168,1,0,192,0,0,0,80,168,1,0,145,3,0,0,86,168,1,0,197,0,0,0,92,168,1,0,195,0,0,0,99,168,1,0,196,0,0,0,104,168,1,0,146,3,0,0,109,168,1,0,199,0,0,0,116,168,1,0,167,3,0,0,120,168,1,0,33,32,0,0,127,168,1,0,148,3,0,0,133,168,1,0,208,0,0,0,137,168,1,0,201,0,0,0,144,168,1,0,202,0,0,0,150,168,1,0,200,0,0,0,157,168,1,0,149,3,0,0,165,168,1,0,151,3,0,0,169,168,1,0,203,0,0,0,174,168,1,0,147,3,0,0,180,168,1,0,205,0,0,0,187,168,1,0,206,0,0,0,193,168,1,0,204,0,0,0,200,168,1,0,153,3,0,0,205,168,1,0,207,0,0,0,210,168,1,0,154,3,0,0,216,168,1,0,155,3,0,0,223,168,1,0,156,3,0,0,226,168,1,0,209,0,0,0,233,168,1,0,157,3,0,0,236,168,1,0,82,1,0,0,242,168,1,0,211,0,0,0,249,168,1,0,212,0,0,0,255,168,1,0,210,0,0,0,6,169,1,0,169,3,0,0,12,169,1,0,159,3,0,0,20,169,1,0,216,0,0,0,27,169,1,0,213,0,0,0,34,169,1,0,214,0,0,0,39,169,1,0,166,3,0,0,43,169,1,0,160,3,0,0,46,169,1,0,51,32,0,0,52,169,1,0,168,3,0,0,56,169,1,0,161,3,0,0,60,169,1,0,96,1,0,0,67,169,1,0,163,3,0,0,73,169,1,0,222,0,0,0,79,169,1,0,164,3,0,0,83,169,1,0,152,3,0,0,89,169,1,0,218,0,0,0,96,169,1,0,219,0,0,0,102,169,1,0,217,0,0,0,109,169,1,0,165,3,0,0,117,169,1,0,220,0,0,0,122,169,1,0,158,3,0,0,125,169,1,0,221,0,0,0,132,169,1,0,120,1,0,0,137,169,1,0,150,3,0,0,142,169,1,0,225,0,0,0,149,169,1,0,226,0,0,0,155,169,1,0,180,0,0,0,161,169,1,0,230,0,0,0,167,169,1,0,224,0,0,0,174,169,1,0,53,33,0,0,182,169,1,0,177,3,0,0,188,169,1,0,38,0,0,0,192,169,1,0,39,34,0,0,196,169,1,0,32,34,0,0,200,169,1,0,229,0,0,0,206,169,1,0,72,34,0,0,212,169,1,0,227,0,0,0,219,169,1,0,228,0,0,0,224,169,1,0,30,32,0,0,230,169,1,0,178,3,0,0,235,169,1,0,166,0,0,0,242,169,1,0,34,32,0,0,247,169,1,0,41,34,0,0,251,169,1,0,231,0,0,0,2,170,1,0,184,0,0,0,8,170,1,0,162,0,0,0,13,170,1,0,199,3,0,0,17,170,1,0,198,2,0,0,22,170,1,0,99,38,0,0,28,170,1,0,69,34,0,0,33,170,1,0,169,0,0,0,38,170,1,0,181,33,0,0,44,170,1,0,42,34,0,0,48,170,1,0,164,0,0,0,55,170,1,0,211,33,0,0,60,170,1,0,32,32,0,0,67,170,1,0,147,33,0,0,72,170,1,0,176,0,0,0,76,170,1,0,180,3,0,0,82,170,1,0,102,38,0,0,88,170,1,0,247,0,0,0,95,170,1,0,233,0,0,0,102,170,1,0,234,0,0,0,108,170,1,0,232,0,0,0,115,170,1,0,5,34,0,0,121,170,1,0,3,32,0,0,126,170,1,0,2,32,0,0,131,170,1,0,181,3,0,0,139,170,1,0,97,34,0,0,145,170,1,0,183,3,0,0,149,170,1,0,240,0,0,0,153,170,1,0,235,0,0,0,158,170,1,0,172,32,0,0,163,170,1,0,3,34,0,0,169,170,1,0,146,1,0,0,174,170,1,0,0,34,0,0,181,170,1,0,189,0,0,0,188,170,1,0,188,0,0,0,195,170,1,0,190,0,0,0,202,170,1,0,68,32,0,0,208,170,1,0,179,3,0,0,214,170,1,0,101,34,0,0,217,170,1,0,62,0,0,0,220,170,1,0,212,33,0,0,225,170,1,0,148,33,0,0,230,170,1,0,101,38,0,0,237,170,1,0,38,32,0,0,244,170,1,0,237,0,0,0,251,170,1,0,238,0,0,0,1,171,1,0,161,0,0,0,7,171,1,0,236,0,0,0,14,171,1,0,17,33,0,0,20,171,1,0,30,34,0,0,26,171,1,0,43,34,0,0,30,171,1,0,185,3,0,0,35,171,1,0,191,0,0,0,42,171,1,0,8,34,0,0,47,171,1,0,239,0,0,0,52,171,1,0,186,3,0,0,58,171,1,0,208,33,0,0,63,171,1,0,187,3,0,0,70,171,1,0,41,35,0,0,75,171,1,0,171,0,0,0,81,171,1,0,144,33,0,0,86,171,1,0,8,35,0,0,92,171,1,0,28,32,0,0,98,171,1,0,100,34,0,0,101,171,1,0,10,35,0,0,108,171,1,0,23,34,0,0,115,171,1,0,202,37,0,0,119,171,1,0,14,32,0,0,123,171,1,0,57,32,0,0,130,171,1,0,24,32,0,0,136,171,1,0,60,0,0,0,139,171,1,0,175,0,0,0,144,171,1,0,20,32,0,0,150,171,1,0,181,0,0,0,156,171,1,0,183,0,0,0,115,180,1,0,18,34,0,0,163,171,1,0,188,3,0,0,166,171,1,0,7,34,0,0,172,171,1,0,160,0,0,0,177,171,1,0,19,32,0,0,183,171,1,0,96,34,0,0,186,171,1,0,11,34,0,0,189,171,1,0,172,0,0,0,193,171,1,0,9,34,0,0,199,171,1,0,132,34,0,0,204,171,1,0,241,0,0,0,211,171,1,0,189,3,0,0,214,171,1,0,243,0,0,0,221,171,1,0,244,0,0,0,227,171,1,0,83,1,0,0,233,171,1,0,242,0,0,0,240,171,1,0,62,32,0,0,246,171,1,0,201,3,0,0,252,171,1,0,191,3,0,0,4,172,1,0,149,34,0,0,10,172,1,0,40,34,0,0,13,172,1,0,170,0,0,0,18,172,1,0,186,0,0,0,23,172,1,0,248,0,0,0,30,172,1,0,245,0,0,0,37,172,1,0,151,34,0,0,44,172,1,0,246,0,0,0,49,172,1,0,182,0,0,0,54,172,1,0,2,34,0,0,59,172,1,0,48,32,0,0,66,172,1,0,165,34,0,0,71,172,1,0,198,3,0,0,75,172,1,0,192,3,0,0,78,172,1,0,214,3,0,0,82,172,1,0,177,0,0,0,89,172,1,0,163,0,0,0,95,172,1,0,50,32,0,0,101,172,1,0,15,34,0,0,106,172,1,0,29,34,0,0,111,172,1,0,200,3,0,0,115,172,1,0,34,0,0,0,120,172,1,0,210,33,0,0,125,172,1,0,26,34,0,0,131,172,1,0,42,35,0,0,136,172,1,0,187,0,0,0,142,172,1,0,146,33,0,0,147,172,1,0,9,35,0,0,153,172,1,0,29,32,0,0,159,172,1,0,28,33,0,0,164,172,1,0,174,0,0,0,168,172,1,0,11,35,0,0,175,172,1,0,193,3,0,0,179,172,1,0,15,32,0,0,183,172,1,0,58,32,0,0,190,172,1,0,25,32,0,0,196,172,1,0,26,32,0,0,202,172,1,0,97,1,0,0,209,172,1,0,197,34,0,0,214,172,1,0,167,0,0,0,219,172,1,0,173,0,0,0,223,172,1,0,195,3,0,0,229,172,1,0,194,3,0,0,236,172,1,0,60,34,0,0,240,172,1,0,96,38,0,0,247,172,1,0,130,34,0,0,251,172,1,0,134,34,0,0,0,173,1,0,17,34,0,0,4,173,1,0,131,34,0,0,8,173,1,0,185,0,0,0,13,173,1,0,178,0,0,0,18,173,1,0,179,0,0,0,23,173,1,0,135,34,0,0,28,173,1,0,223,0,0,0,34,173,1,0,196,3,0,0,38,173,1,0,52,34,0,0,45,173,1,0,184,3,0,0,51,173,1,0,209,3,0,0,60,173,1,0,9,32,0,0,67,173,1,0,254,0,0,0,73,173,1,0,220,2,0,0,79,173,1,0,215,0,0,0,85,173,1,0,34,33,0,0,91,173,1,0,209,33,0,0,96,173,1,0,250,0,0,0,103,173,1,0,145,33,0,0,108,173,1,0,251,0,0,0,114,173,1,0,249,0,0,0,121,173,1,0,168,0,0,0,125,173,1,0,210,3,0,0,131,173,1,0,197,3,0,0,139,173,1,0,252,0,0,0,144,173,1,0,24,33,0,0,151,173,1,0,190,3,0,0,154,173,1,0,253,0,0,0,161,173,1,0,165,0,0,0,165,173,1,0,255,0,0,0,170,173,1,0,182,3,0,0,175,173,1,0,13,32,0,0,179,173,1,0,12,32,0,0,7,0,0,0,8,0,0,0,1,1,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,180,1,0,9,0,0,0,53,180,1,0,10,0,0,0,58,180,1,0,10,0,0,0,66,180,1,0,11,0,0,0,72,180,1,0,11,0,0,0,81,180,1,0,12,0,0,0,84,180,1,0,12,0,0,0,90,180,1,0,13,0,0,0,95,180,1,0,13,0,0,0,103,180,1,0,14,0,0,0,108,180,1,0,14,0,0,0,115,180,1,0,15,0,0,0,121,180,1,0,15,0,0,0,133,180,1,0,16,0,0,0,14,0,0,0,98,0,0,0,49,0,0,0,50,0,0,0,20,0,0,0,51,0,0,0,99,0,0,0,52,0,0,0,21,0,0,0,53,0,0,0,8,0,0,0,4,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,181,1,0,85,93,201,127,201,127,255,0,219,181,1,0,187,45,212,190,174,212,255,0,230,181,1,0,20,119,253,253,192,134,255,0,241,181,1,0,85,93,201,127,201,127,255,0,252,181,1,0,187,45,212,190,174,212,255,0,7,182,1,0,20,119,253,253,192,134,255,0,18,182,1,0,42,102,255,255,255,153,255,0,29,182,1,0,85,93,201,127,201,127,255,0,40,182,1,0,187,45,212,190,174,212,255,0,51,182,1,0,20,119,253,253,192,134,255,0,62,182,1,0,42,102,255,255,255,153,255,0,73,182,1,0,151,173,176,56,108,176,255,0,84,182,1,0,85,93,201,127,201,127,255,0,95,182,1,0,187,45,212,190,174,212,255,0,106,182,1,0,20,119,253,253,192,134,255,0,117,182,1,0,42,102,255,255,255,153,255,0,128,182,1,0,151,173,176,56,108,176,255,0,139,182,1,0,232,252,240,240,2,127,255,0,150,182,1,0,85,93,201,127,201,127,255,0,161,182,1,0,187,45,212,190,174,212,255,0,172,182,1,0,20,119,253,253,192,134,255,0,183,182,1,0,42,102,255,255,255,153,255,0,194,182,1,0,151,173,176,56,108,176,255,0,205,182,1,0,232,252,240,240,2,127,255,0,216,182,1,0,17,224,191,191,91,23,255,0,227,182,1,0,85,93,201,127,201,127,255,0,238,182,1,0,187,45,212,190,174,212,255,0,249,182,1,0,20,119,253,253,192,134,255,0,4,183,1,0,42,102,255,255,255,153,255,0,15,183,1,0,151,173,176,56,108,176,255,0,26,183,1,0,232,252,240,240,2,127,255,0,37,183,1,0,17,224,191,191,91,23,255,0,48,183,1,0,0,0,102,102,102,102,255,0,59,183,1,0,147,25,247,222,235,247,255,0,69,183,1,0,142,75,225,158,202,225,255,0,79,183,1,0,145,188,189,49,130,189,255,0,89,183,1,0,159,16,255,239,243,255,255,0,99,183,1,0,143,46,231,189,215,231,255,0,109,183,1,0,143,127,214,107,174,214,255,0,119,183,1,0,147,208,181,33,113,181,255,0,129,183,1,0,159,16,255,239,243,255,255,0,139,183,1,0,143,46,231,189,215,231,255,0,149,183,1,0,143,127,214,107,174,214,255,0,159,183,1,0,145,188,189,49,130,189,255,0,169,183,1,0,149,241,156,8,81,156,255,0,179,183,1,0,159,16,255,239,243,255,255,0,189,183,1,0,148,43,239,198,219,239,255,0,199,183,1,0,142,75,225,158,202,225,255,0,209,183,1,0,143,127,214,107,174,214,255,0,219,183,1,0,145,188,189,49,130,189,255,0,229,183,1,0,149,241,156,8,81,156,255,0,239,183,1,0,159,16,255,239,243,255,255,0,249,183,1,0,148,43,239,198,219,239,255,0,3,184,1,0,142,75,225,158,202,225,255,0,13,184,1,0,143,127,214,107,174,214,255,0,23,184,1,0,144,169,198,66,146,198,255,0,33,184,1,0,147,208,181,33,113,181,255,0,43,184,1,0,151,241,148,8,69,148,255,0,53,184,1,0,148,8,255,247,251,255,255,0,63,184,1,0,147,25,247,222,235,247,255,0,73,184,1,0,148,43,239,198,219,239,255,0,83,184,1,0,142,75,225,158,202,225,255,0,93,184,1,0,143,127,214,107,174,214,255,0,103,184,1,0,144,169,198,66,146,198,255,0,113,184,1,0,147,208,181,33,113,181,255,0,123,184,1,0,151,241,148,8,69,148,255,0,133,184,1,0,148,8,255,247,251,255,255,0,143,184,1,0,147,25,247,222,235,247,255,0,153,184,1,0,148,43,239,198,219,239,255,0,163,184,1,0,142,75,225,158,202,225,255,0,173,184,1,0,143,127,214,107,174,214,255,0,183,184,1,0,144,169,198,66,146,198,255,0,193,184,1,0,147,208,181,33,113,181,255,0,203,184,1,0,149,241,156,8,81,156,255,0,213,184,1,0,152,235,107,8,48,107,255,0,223,184,1,0,23,239,84,84,48,5,255,0,233,184,1,0,119,255,60,0,60,48,255,0,244,184,1,0,23,236,140,140,81,10,255,0,254,184,1,0,24,194,191,191,129,45,255,0,8,185,1,0,29,112,223,223,194,125,255,0,18,185,1,0,30,52,246,246,232,195,255,0,28,185,1,0,121,38,234,199,234,229,255,0,38,185,1,0,120,95,205,128,205,193,255,0,48,185,1,0,124,165,151,53,151,143,255,0,58,185,1,0,124,252,102,1,102,94,255,0,68,185,1,0,23,239,84,84,48,5,255,0,78,185,1,0,124,252,102,1,102,94,255,0,89,185,1,0,119,255,60,0,60,48,255,0,100,185,1,0,23,236,140,140,81,10,255,0,110,185,1,0,24,194,191,191,129,45,255,0,120,185,1,0,29,112,223,223,194,125,255,0,130,185,1,0,30,52,246,246,232,195,255,0,140,185,1,0,0,0,245,245,245,245,255,0,150,185,1,0,121,38,234,199,234,229,255,0,160,185,1,0,120,95,205,128,205,193,255,0,170,185,1,0,124,165,151,53,151,143,255,0,180,185,1,0,28,135,216,216,179,101,255,0,189,185,1,0,0,0,245,245,245,245,255,0,198,185,1,0,123,127,180,90,180,172,255,0,207,185,1,0,21,215,166,166,97,26,255,0,216,185,1,0,29,112,223,223,194,125,255,0,225,185,1,0,120,95,205,128,205,193,255,0,234,185,1,0,121,253,133,1,133,113,255,0,243,185,1,0,21,215,166,166,97,26,255,0,252,185,1,0,29,112,223,223,194,125,255,0,5,186,1,0,0,0,245,245,245,245,255,0,14,186,1,0,120,95,205,128,205,193,255,0,23,186,1,0,121,253,133,1,133,113,255,0,32,186,1,0,23,236,140,140,81,10,255,0,41,186,1,0,28,135,216,216,179,101,255,0,50,186,1,0,30,52,246,246,232,195,255,0,59,186,1,0,121,38,234,199,234,229,255,0,68,186,1,0,123,127,180,90,180,172,255,0,77,186,1,0,124,252,102,1,102,94,255,0,86,186,1,0,23,236,140,140,81,10,255,0,95,186,1,0,28,135,216,216,179,101,255,0,104,186,1,0,30,52,246,246,232,195,255,0,113,186,1,0,0,0,245,245,245,245,255,0,122,186,1,0,121,38,234,199,234,229,255,0,131,186,1,0,123,127,180,90,180,172,255,0,140,186,1,0,124,252,102,1,102,94,255,0,149,186,1,0,23,236,140,140,81,10,255,0,158,186,1,0,24,194,191,191,129,45,255,0,167,186,1,0,29,112,223,223,194,125,255,0,176,186,1,0,30,52,246,246,232,195,255,0,185,186,1,0,121,38,234,199,234,229,255,0,194,186,1,0,120,95,205,128,205,193,255,0,203,186,1,0,124,165,151,53,151,143,255,0,212,186,1,0,124,252,102,1,102,94,255,0,221,186,1,0,23,236,140,140,81,10,255,0,230,186,1,0,24,194,191,191,129,45,255,0,239,186,1,0,29,112,223,223,194,125,255,0,248,186,1,0,30,52,246,246,232,195,255,0,1,187,1,0,0,0,245,245,245,245,255,0,10,187,1,0,121,38,234,199,234,229,255,0,19,187,1,0,120,95,205,128,205,193,255,0,28,187,1,0,124,165,151,53,151,143,255,0,37,187,1,0,124,252,102,1,102,94,255,0,46,187,1,0,135,20,249,229,245,249,255,0,55,187,1,0,117,74,216,153,216,201,255,0,64,187,1,0,103,185,162,44,162,95,255,0,73,187,1,0,136,14,251,237,248,251,255,0,82,187,1,0,127,54,226,178,226,226,255,0,91,187,1,0,113,120,194,102,194,164,255,0,100,187,1,0,98,190,139,35,139,69,255,0,109,187,1,0,136,14,251,237,248,251,255,0,118,187,1,0,127,54,226,178,226,226,255,0,127,187,1,0,113,120,194,102,194,164,255,0,136,187,1,0,103,185,162,44,162,95,255,0,145,187,1,0,102,255,109,0,109,44,255,0,154,187,1,0,136,14,251,237,248,251,255,0,163,187,1,0,119,34,236,204,236,230,255,0,172,187,1,0,117,74,216,153,216,201,255,0,181,187,1,0,113,120,194,102,194,164,255,0,190,187,1,0,103,185,162,44,162,95,255,0,199,187,1,0,102,255,109,0,109,44,255,0,208,187,1,0,136,14,251,237,248,251,255,0,217,187,1,0,119,34,236,204,236,230,255,0,226,187,1,0,117,74,216,153,216,201,255,0,235,187,1,0,113,120,194,102,194,164,255,0,244,187,1,0,105,159,174,65,174,118,255,0,253,187,1,0,98,190,139,35,139,69,255,0,6,188,1,0,102,255,88,0,88,36,255,0,15,188,1,0,134,6,253,247,252,253,255,0,24,188,1,0,135,20,249,229,245,249,255,0,33,188,1,0,119,34,236,204,236,230,255,0,42,188,1,0,117,74,216,153,216,201,255,0,51,188,1,0,113,120,194,102,194,164,255,0,60,188,1,0,105,159,174,65,174,118,255,0,69,188,1,0,98,190,139,35,139,69,255,0,78,188,1,0,102,255,88,0,88,36,255,0,87,188,1,0,134,6,253,247,252,253,255,0,96,188,1,0,135,20,249,229,245,249,255,0,105,188,1,0,119,34,236,204,236,230,255,0,114,188,1,0,117,74,216,153,216,201,255,0,123,188,1,0,113,120,194,102,194,164,255,0,132,188,1,0,105,159,174,65,174,118,255,0,141,188,1,0,98,190,139,35,139,69,255,0,150,188,1,0,102,255,109,0,109,44,255,0,159,188,1,0,101,255,68,0,68,27,255,0,168,188,1,0,144,20,244,224,236,244,255,0,177,188,1,0,148,70,218,158,188,218,255,0,186,188,1,0,196,123,167,136,86,167,255,0,195,188,1,0,136,14,251,237,248,251,255,0,204,188,1,0,146,53,227,179,205,227,255,0,213,188,1,0,162,74,198,140,150,198,255,0,222,188,1,0,202,149,157,136,65,157,255,0,231,188,1,0,136,14,251,237,248,251,255,0,240,188,1,0,146,53,227,179,205,227,255,0,249,188,1,0,162,74,198,140,150,198,255,0,2,189,1,0,196,123,167,136,86,167,255,0,11,189,1,0,214,225,129,129,15,124,255,0,20,189,1,0,136,14,251,237,248,251,255,0,29,189,1,0,148,43,230,191,211,230,255,0,38,189,1,0,148,70,218,158,188,218,255,0,47,189,1,0,162,74,198,140,150,198,255,0,56,189,1,0,196,123,167,136,86,167,255,0,65,189,1,0,214,225,129,129,15,124,255,0,74,189,1,0,136,14,251,237,248,251,255,0,83,189,1,0,148,43,230,191,211,230,255,0,92,189,1,0,148,70,218,158,188,218,255,0,101,189,1,0,162,74,198,140,150,198,255,0,110,189,1,0,190,100,177,140,107,177,255,0,119,189,1,0,202,149,157,136,65,157,255,0,128,189,1,0,213,252,110,110,1,107,255,0,137,189,1,0,134,6,253,247,252,253,255,0,146,189,1,0,144,20,244,224,236,244,255,0,155,189,1,0,148,43,230,191,211,230,255,0,164,189,1,0,148,70,218,158,188,218,255,0,173,189,1,0,162,74,198,140,150,198,255,0,182,189,1,0,190,100,177,140,107,177,255,0,191,189,1,0,202,149,157,136,65,157,255,0,200,189,1,0,213,252,110,110,1,107,255,0,209,189,1,0,134,6,253,247,252,253,255,0,218,189,1,0,144,20,244,224,236,244,255,0,227,189,1,0,148,43,230,191,211,230,255,0,236,189,1,0,148,70,218,158,188,218,255,0,245,189,1,0,162,74,198,140,150,198,255,0,254,189,1,0,190,100,177,140,107,177,255,0,7,190,1,0,202,149,157,136,65,157,255,0,16,190,1,0,214,225,129,129,15,124,255,0,25,190,1,0,213,255,77,77,0,75,255,0,34,190,1,0,114,211,158,27,158,119,255,0,44,190,1,0,18,252,217,217,95,2,255,0,54,190,1,0,173,95,179,117,112,179,255,0,64,190,1,0,114,211,158,27,158,119,255,0,74,190,1,0,18,252,217,217,95,2,255,0,84,190,1,0,173,95,179,117,112,179,255,0,94,190,1,0,233,209,231,231,41,138,255,0,104,190,1,0,114,211,158,27,158,119,255,0,114,190,1,0,18,252,217,217,95,2,255,0,124,190,1,0,173,95,179,117,112,179,255,0,134,190,1,0,233,209,231,231,41,138,255,0,144,190,1,0,62,208,166,102,166,30,255,0,154,190,1,0,114,211,158,27,158,119,255,0,164,190,1,0,18,252,217,217,95,2,255,0,174,190,1,0,173,95,179,117,112,179,255,0,184,190,1,0,233,209,231,231,41,138,255,0,194,190,1,0,62,208,166,102,166,30,255,0,204,190,1,0,31,252,230,230,171,2,255,0,214,190,1,0,114,211,158,27,158,119,255,0,224,190,1,0,18,252,217,217,95,2,255,0,234,190,1,0,173,95,179,117,112,179,255,0,244,190,1,0,233,209,231,231,41,138,255,0,254,190,1,0,62,208,166,102,166,30,255,0,8,191,1,0,31,252,230,230,171,2,255,0,18,191,1,0,27,210,166,166,118,29,255,0,28,191,1,0,114,211,158,27,158,119,255,0,38,191,1,0,18,252,217,217,95,2,255,0,48,191,1,0,173,95,179,117,112,179,255,0,58,191,1,0,233,209,231,231,41,138,255,0,68,191,1,0,62,208,166,102,166,30,255,0,78,191,1,0,31,252,230,230,171,2,255,0,88,191,1,0,27,210,166,166,118,29,255,0,98,191,1,0,0,0,102,102,102,102,255,0,108,191,1,0,76,25,243,224,243,219,255,0,117,191,1,0,95,61,221,168,221,181,255,0,126,191,1,0,140,170,202,67,162,202,255,0,135,191,1,0,65,17,249,240,249,232,255,0,144,191,1,0,87,46,228,186,228,188,255,0,153,191,1,0,123,101,204,123,204,196,255,0,162,191,1,0,141,197,190,43,140,190,255,0,171,191,1,0,65,17,249,240,249,232,255,0,180,191,1,0,87,46,228,186,228,188,255,0,189,191,1,0,123,101,204,123,204,196,255,0,198,191,1,0,140,170,202,67,162,202,255,0,207,191,1,0,145,243,172,8,104,172,255,0,216,191,1,0,65,17,249,240,249,232,255,0,225,191,1,0,77,41,235,204,235,197,255,0,234,191,1,0,95,61,221,168,221,181,255,0,243,191,1,0,123,101,204,123,204,196,255,0,252,191,1,0,140,170,202,67,162,202,255,0,5,192,1,0,145,243,172,8,104,172,255,0,14,192,1,0,65,17,249,240,249,232,255,0,23,192,1,0,77,41,235,204,235,197,255,0,32,192,1,0,95,61,221,168,221,181,255,0,41,192,1,0,123,101,204,123,204,196,255,0,50,192,1,0,137,160,211,78,179,211,255,0,59,192,1,0,141,197,190,43,140,190,255,0,68,192,1,0,147,242,158,8,88,158,255,0,77,192,1,0,60,12,252,247,252,240,255,0,86,192,1,0,76,25,243,224,243,219,255,0,95,192,1,0,77,41,235,204,235,197,255,0,104,192,1,0,95,61,221,168,221,181,255,0,113,192,1,0,123,101,204,123,204,196,255,0,122,192,1,0,137,160,211,78,179,211,255,0,131,192,1,0,141,197,190,43,140,190,255,0,140,192,1,0,147,242,158,8,88,158,255,0,149,192,1,0,60,12,252,247,252,240,255,0,158,192,1,0,76,25,243,224,243,219,255,0,167,192,1,0,77,41,235,204,235,197,255,0,176,192,1,0,95,61,221,168,221,181,255,0,185,192,1,0,123,101,204,123,204,196,255,0,194,192,1,0,137,160,211,78,179,211,255,0,203,192,1,0,141,197,190,43,140,190,255,0,212,192,1,0,145,243,172,8,104,172,255,0,221,192,1,0,150,239,129,8,64,129,255,0,230,192,1,0,74,21,245,229,245,224,255,0,241,192,1,0,80,72,217,161,217,155,255,0,252,192,1,0,98,178,163,49,163,84,255,0,7,193,1,0,73,15,248,237,248,233,255,0,18,193,1,0,78,54,228,186,228,179,255,0,29,193,1,0,86,104,196,116,196,118,255,0,40,193,1,0,98,190,139,35,139,69,255,0,51,193,1,0,73,15,248,237,248,233,255,0,62,193,1,0,78,54,228,186,228,179,255,0,73,193,1,0,86,104,196,116,196,118,255,0,84,193,1,0,98,178,163,49,163,84,255,0,95,193,1,0,102,255,109,0,109,44,255,0,106,193,1,0,73,15,248,237,248,233,255,0,117,193,1,0,77,44,233,199,233,192,255,0,128,193,1,0,80,72,217,161,217,155,255,0,139,193,1,0,86,104,196,116,196,118,255,0,150,193,1,0,98,178,163,49,163,84,255,0,161,193,1,0,102,255,109,0,109,44,255,0,172,193,1,0,73,15,248,237,248,233,255,0,183,193,1,0,77,44,233,199,233,192,255,0,194,193,1,0,80,72,217,161,217,155,255,0,205,193,1,0,86,104,196,116,196,118,255,0,216,193,1,0,96,158,171,65,171,93,255,0,227,193,1,0,98,190,139,35,139,69,255,0,238,193,1,0,108,255,90,0,90,50,255,0,249,193,1,0,72,7,252,247,252,245,255,0,4,194,1,0,74,21,245,229,245,224,255,0,15,194,1,0,77,44,233,199,233,192,255,0,26,194,1,0,80,72,217,161,217,155,255,0,37,194,1,0,86,104,196,116,196,118,255,0,48,194,1,0,96,158,171,65,171,93,255,0,59,194,1,0,98,190,139,35,139,69,255,0,70,194,1,0,108,255,90,0,90,50,255,0,81,194,1,0,72,7,252,247,252,245,255,0,92,194,1,0,74,21,245,229,245,224,255,0,103,194,1,0,77,44,233,199,233,192,255,0,114,194,1,0,80,72,217,161,217,155,255,0,125,194,1,0,86,104,196,116,196,118,255,0,136,194,1,0,96,158,171,65,171,93,255,0,147,194,1,0,98,190,139,35,139,69,255,0,158,194,1,0,102,255,109,0,109,44,255,0,169,194,1,0,101,255,68,0,68,27,255,0,180,194,1,0,0,0,240,240,240,240,255,0,190,194,1,0,0,0,189,189,189,189,255,0,200,194,1,0,0,0,99,99,99,99,255,0,210,194,1,0,0,0,247,247,247,247,255,0,220,194,1,0,0,0,204,204,204,204,255,0,230,194,1,0,0,0,150,150,150,150,255,0,240,194,1,0,0,0,82,82,82,82,255,0,250,194,1,0,0,0,247,247,247,247,255,0,4,195,1,0,0,0,204,204,204,204,255,0,14,195,1,0,0,0,150,150,150,150,255,0,24,195,1,0,0,0,99,99,99,99,255,0,34,195,1,0,0,0,37,37,37,37,255,0,44,195,1,0,0,0,247,247,247,247,255,0,54,195,1,0,0,0,217,217,217,217,255,0,64,195,1,0,0,0,189,189,189,189,255,0,74,195,1,0,0,0,150,150,150,150,255,0,84,195,1,0,0,0,99,99,99,99,255,0,94,195,1,0,0,0,37,37,37,37,255,0,104,195,1,0,0,0,247,247,247,247,255,0,114,195,1,0,0,0,217,217,217,217,255,0,124,195,1,0,0,0,189,189,189,189,255,0,134,195,1,0,0,0,150,150,150,150,255,0,144,195,1,0,0,0,115,115,115,115,255,0,154,195,1,0,0,0,82,82,82,82,255,0,164,195,1,0,0,0,37,37,37,37,255,0,174,195,1,0,0,0,255,255,255,255,255,0,184,195,1,0,0,0,240,240,240,240,255,0,194,195,1,0,0,0,217,217,217,217,255,0,204,195,1,0,0,0,189,189,189,189,255,0,214,195,1,0,0,0,150,150,150,150,255,0,224,195,1,0,0,0,115,115,115,115,255,0,234,195,1,0,0,0,82,82,82,82,255,0,244,195,1,0,0,0,37,37,37,37,255,0,254,195,1,0,0,0,255,255,255,255,255,0,8,196,1,0,0,0,240,240,240,240,255,0,18,196,1,0,0,0,217,217,217,217,255,0,28,196,1,0,0,0,189,189,189,189,255,0,38,196,1,0,0,0,150,150,150,150,255,0,48,196,1,0,0,0,115,115,115,115,255,0,58,196,1,0,0,0,82,82,82,82,255,0,68,196,1,0,0,0,37,37,37,37,255,0,78,196,1,0,0,0,0,0,0,0,255,0,88,196,1,0,21,48,254,254,230,206,255,0,100,196,1,0,19,147,253,253,174,107,255,0,112,196,1,0,14,240,230,230,85,13,255,0,124,196,1,0,19,32,254,254,237,222,255,0,136,196,1,0,20,120,253,253,190,133,255,0,148,196,1,0,17,194,253,253,141,60,255,0,160,196,1,0,13,253,217,217,71,1,255,0,172,196,1,0,19,32,254,254,237,222,255,0,184,196,1,0,20,120,253,253,190,133,255,0,196,196,1,0,17,194,253,253,141,60,255,0,208,196,1,0,14,240,230,230,85,13,255,0,220,196,1,0,13,250,166,166,54,3,255,0,232,196,1,0,19,32,254,254,237,222,255,0,244,196,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+20484);allocate([21,91,253,253,208,162,255,0,0,197,1,0,19,147,253,253,174,107,255,0,12,197,1,0,17,194,253,253,141,60,255,0,24,197,1,0,14,240,230,230,85,13,255,0,36,197,1,0,13,250,166,166,54,3,255,0,48,197,1,0,19,32,254,254,237,222,255,0,60,197,1,0,21,91,253,253,208,162,255,0,72,197,1,0,19,147,253,253,174,107,255,0,84,197,1,0,17,194,253,253,141,60,255,0,96,197,1,0,16,234,241,241,105,19,255,0,108,197,1,0,13,253,217,217,72,1,255,0,120,197,1,0,12,247,140,140,45,4,255,0,132,197,1,0,21,20,255,255,245,235,255,0,144,197,1,0,21,48,254,254,230,206,255,0,156,197,1,0,21,91,253,253,208,162,255,0,168,197,1,0,19,147,253,253,174,107,255,0,180,197,1,0,17,194,253,253,141,60,255,0,192,197,1,0,16,234,241,241,105,19,255,0,204,197,1,0,13,253,217,217,72,1,255,0,216,197,1,0,12,247,140,140,45,4,255,0,228,197,1,0,21,20,255,255,245,235,255,0,240,197,1,0,21,48,254,254,230,206,255,0,252,197,1,0,21,91,253,253,208,162,255,0,8,198,1,0,19,147,253,253,174,107,255,0,20,198,1,0,17,194,253,253,141,60,255,0,32,198,1,0,16,234,241,241,105,19,255,0,44,198,1,0,13,253,217,217,72,1,255,0,56,198,1,0,13,250,166,166,54,3,255,0,68,198,1,0,12,246,127,127,39,4,255,0,80,198,1,0,25,54,254,254,232,200,255,0,89,198,1,0,19,121,253,253,187,132,255,0,98,198,1,0,5,197,227,227,74,51,255,0,107,198,1,0,26,37,254,254,240,217,255,0,116,198,1,0,24,115,253,253,204,138,255,0,125,198,1,0,13,164,252,252,141,89,255,0,134,198,1,0,3,218,215,215,48,31,255,0,143,198,1,0,26,37,254,254,240,217,255,0,152,198,1,0,24,115,253,253,204,138,255,0,161,198,1,0,13,164,252,252,141,89,255,0,170,198,1,0,5,197,227,227,74,51,255,0,179,198,1,0,0,255,179,179,0,0,255,0,188,198,1,0,26,37,254,254,240,217,255,0,197,198,1,0,24,95,253,253,212,158,255,0,206,198,1,0,19,121,253,253,187,132,255,0,215,198,1,0,13,164,252,252,141,89,255,0,224,198,1,0,5,197,227,227,74,51,255,0,233,198,1,0,0,255,179,179,0,0,255,0,242,198,1,0,26,37,254,254,240,217,255,0,251,198,1,0,24,95,253,253,212,158,255,0,4,199,1,0,19,121,253,253,187,132,255,0,13,199,1,0,13,164,252,252,141,89,255,0,22,199,1,0,7,178,239,239,101,72,255,0,31,199,1,0,3,218,215,215,48,31,255,0,40,199,1,0,0,255,153,153,0,0,255,0,49,199,1,0,24,18,255,255,247,236,255,0,58,199,1,0,25,54,254,254,232,200,255,0,67,199,1,0,24,95,253,253,212,158,255,0,76,199,1,0,19,121,253,253,187,132,255,0,85,199,1,0,13,164,252,252,141,89,255,0,94,199,1,0,7,178,239,239,101,72,255,0,103,199,1,0,3,218,215,215,48,31,255,0,112,199,1,0,0,255,153,153,0,0,255,0,121,199,1,0,24,18,255,255,247,236,255,0,130,199,1,0,25,54,254,254,232,200,255,0,139,199,1,0,24,95,253,253,212,158,255,0,148,199,1,0,19,121,253,253,187,132,255,0,157,199,1,0,13,164,252,252,141,89,255,0,166,199,1,0,7,178,239,239,101,72,255,0,175,199,1,0,3,218,215,215,48,31,255,0,184,199,1,0,0,255,179,179,0,0,255,0,193,199,1,0,0,255,127,127,0,0,255,0,202,199,1,0,142,68,227,166,206,227,255,0,214,199,1,0,190,153,154,106,61,154,255,0,227,199,1,0,144,211,180,31,120,180,255,0,239,199,1,0,65,97,223,178,223,138,255,0,251,199,1,0,82,184,160,51,160,44,255,0,7,200,1,0,0,99,251,251,154,153,255,0,19,200,1,0,254,225,227,227,26,28,255,0,31,200,1,0,23,143,253,253,191,111,255,0,43,200,1,0,21,255,255,255,127,0,255,0,55,200,1,0,198,42,214,202,178,214,255,0,67,200,1,0,142,68,227,166,206,227,255,0,79,200,1,0,190,153,154,106,61,154,255,0,92,200,1,0,42,102,255,255,255,153,255,0,105,200,1,0,144,211,180,31,120,180,255,0,117,200,1,0,65,97,223,178,223,138,255,0,129,200,1,0,82,184,160,51,160,44,255,0,141,200,1,0,0,99,251,251,154,153,255,0,153,200,1,0,254,225,227,227,26,28,255,0,165,200,1,0,23,143,253,253,191,111,255,0,177,200,1,0,21,255,255,255,127,0,255,0,189,200,1,0,198,42,214,202,178,214,255,0,201,200,1,0,142,68,227,166,206,227,255,0,213,200,1,0,190,153,154,106,61,154,255,0,226,200,1,0,42,102,255,255,255,153,255,0,239,200,1,0,15,197,177,177,89,40,255,0,252,200,1,0,144,211,180,31,120,180,255,0,8,201,1,0,65,97,223,178,223,138,255,0,20,201,1,0,82,184,160,51,160,44,255,0,32,201,1,0,0,99,251,251,154,153,255,0,44,201,1,0,254,225,227,227,26,28,255,0,56,201,1,0,23,143,253,253,191,111,255,0,68,201,1,0,21,255,255,255,127,0,255,0,80,201,1,0,198,42,214,202,178,214,255,0,92,201,1,0,142,68,227,166,206,227,255,0,103,201,1,0,144,211,180,31,120,180,255,0,114,201,1,0,65,97,223,178,223,138,255,0,125,201,1,0,142,68,227,166,206,227,255,0,136,201,1,0,144,211,180,31,120,180,255,0,147,201,1,0,65,97,223,178,223,138,255,0,158,201,1,0,82,184,160,51,160,44,255,0,169,201,1,0,142,68,227,166,206,227,255,0,180,201,1,0,144,211,180,31,120,180,255,0,191,201,1,0,65,97,223,178,223,138,255,0,202,201,1,0,82,184,160,51,160,44,255,0,213,201,1,0,0,99,251,251,154,153,255,0,224,201,1,0,142,68,227,166,206,227,255,0,235,201,1,0,144,211,180,31,120,180,255,0,246,201,1,0,65,97,223,178,223,138,255,0,1,202,1,0,82,184,160,51,160,44,255,0,12,202,1,0,0,99,251,251,154,153,255,0,23,202,1,0,254,225,227,227,26,28,255,0,34,202,1,0,142,68,227,166,206,227,255,0,45,202,1,0,144,211,180,31,120,180,255,0,56,202,1,0,65,97,223,178,223,138,255,0,67,202,1,0,82,184,160,51,160,44,255,0,78,202,1,0,0,99,251,251,154,153,255,0,89,202,1,0,254,225,227,227,26,28,255,0,100,202,1,0,23,143,253,253,191,111,255,0,111,202,1,0,142,68,227,166,206,227,255,0,122,202,1,0,144,211,180,31,120,180,255,0,133,202,1,0,65,97,223,178,223,138,255,0,144,202,1,0,82,184,160,51,160,44,255,0,155,202,1,0,0,99,251,251,154,153,255,0,166,202,1,0,254,225,227,227,26,28,255,0,177,202,1,0,23,143,253,253,191,111,255,0,188,202,1,0,21,255,255,255,127,0,255,0,199,202,1,0,142,68,227,166,206,227,255,0,210,202,1,0,144,211,180,31,120,180,255,0,221,202,1,0,65,97,223,178,223,138,255,0,232,202,1,0,82,184,160,51,160,44,255,0,243,202,1,0,0,99,251,251,154,153,255,0,254,202,1,0,254,225,227,227,26,28,255,0,9,203,1,0,23,143,253,253,191,111,255,0,20,203,1,0,21,255,255,255,127,0,255,0,31,203,1,0,198,42,214,202,178,214,255,0,42,203,1,0,3,78,251,251,180,174,255,0,54,203,1,0,146,53,227,179,205,227,255,0,66,203,1,0,77,41,235,204,235,197,255,0,78,203,1,0,3,78,251,251,180,174,255,0,90,203,1,0,146,53,227,179,205,227,255,0,102,203,1,0,77,41,235,204,235,197,255,0,114,203,1,0,202,27,228,222,203,228,255,0,126,203,1,0,3,78,251,251,180,174,255,0,138,203,1,0,146,53,227,179,205,227,255,0,150,203,1,0,77,41,235,204,235,197,255,0,162,203,1,0,202,27,228,222,203,228,255,0,174,203,1,0,24,88,254,254,217,166,255,0,186,203,1,0,3,78,251,251,180,174,255,0,198,203,1,0,146,53,227,179,205,227,255,0,210,203,1,0,77,41,235,204,235,197,255,0,222,203,1,0,202,27,228,222,203,228,255,0,234,203,1,0,24,88,254,254,217,166,255,0,246,203,1,0,42,50,255,255,255,204,255,0,2,204,1,0,3,78,251,251,180,174,255,0,14,204,1,0,146,53,227,179,205,227,255,0,26,204,1,0,77,41,235,204,235,197,255,0,38,204,1,0,202,27,228,222,203,228,255,0,50,204,1,0,24,88,254,254,217,166,255,0,62,204,1,0,42,50,255,255,255,204,255,0,74,204,1,0,28,44,229,229,216,189,255,0,86,204,1,0,3,78,251,251,180,174,255,0,98,204,1,0,146,53,227,179,205,227,255,0,110,204,1,0,77,41,235,204,235,197,255,0,122,204,1,0,202,27,228,222,203,228,255,0,134,204,1,0,24,88,254,254,217,166,255,0,146,204,1,0,42,50,255,255,255,204,255,0,158,204,1,0,28,44,229,229,216,189,255,0,170,204,1,0,233,35,253,253,218,236,255,0,182,204,1,0,3,78,251,251,180,174,255,0,194,204,1,0,146,53,227,179,205,227,255,0,206,204,1,0,77,41,235,204,235,197,255,0,218,204,1,0,202,27,228,222,203,228,255,0,230,204,1,0,24,88,254,254,217,166,255,0,242,204,1,0,42,50,255,255,255,204,255,0,254,204,1,0,28,44,229,229,216,189,255,0,10,205,1,0,233,35,253,253,218,236,255,0,22,205,1,0,0,0,242,242,242,242,255,0,34,205,1,0,108,53,226,179,226,205,255,0,46,205,1,0,17,81,253,253,205,172,255,0,58,205,1,0,155,31,232,203,213,232,255,0,70,205,1,0,108,53,226,179,226,205,255,0,82,205,1,0,17,81,253,253,205,172,255,0,94,205,1,0,155,31,232,203,213,232,255,0,106,205,1,0,228,43,244,244,202,228,255,0,118,205,1,0,108,53,226,179,226,205,255,0,130,205,1,0,17,81,253,253,205,172,255,0,142,205,1,0,155,31,232,203,213,232,255,0,154,205,1,0,228,43,244,244,202,228,255,0,166,205,1,0,56,45,245,230,245,201,255,0,178,205,1,0,108,53,226,179,226,205,255,0,190,205,1,0,17,81,253,253,205,172,255,0,202,205,1,0,155,31,232,203,213,232,255,0,214,205,1,0,228,43,244,244,202,228,255,0,226,205,1,0,56,45,245,230,245,201,255,0,238,205,1,0,35,81,255,255,242,174,255,0,250,205,1,0,108,53,226,179,226,205,255,0,6,206,1,0,17,81,253,253,205,172,255,0,18,206,1,0,155,31,232,203,213,232,255,0,30,206,1,0,228,43,244,244,202,228,255,0,42,206,1,0,56,45,245,230,245,201,255,0,54,206,1,0,35,81,255,255,242,174,255,0,66,206,1,0,25,39,241,241,226,204,255,0,78,206,1,0,108,53,226,179,226,205,255,0,90,206,1,0,17,81,253,253,205,172,255,0,102,206,1,0,155,31,232,203,213,232,255,0,114,206,1,0,228,43,244,244,202,228,255,0,126,206,1,0,56,45,245,230,245,201,255,0,138,206,1,0,35,81,255,255,242,174,255,0,150,206,1,0,25,39,241,241,226,204,255,0,162,206,1,0,0,0,204,204,204,204,255,0,174,206,1,0,230,253,142,142,1,82,255,0,184,206,1,0,77,191,100,39,100,25,255,0,195,206,1,0,230,220,197,197,27,125,255,0,205,206,1,0,232,118,222,222,119,174,255,0,215,206,1,0,229,62,241,241,182,218,255,0,225,206,1,0,233,29,253,253,224,239,255,0,235,206,1,0,59,38,245,230,245,208,255,0,245,206,1,0,61,103,225,184,225,134,255,0,255,206,1,0,63,166,188,127,188,65,255,0,9,207,1,0,68,197,146,77,146,33,255,0,19,207,1,0,230,253,142,142,1,82,255,0,29,207,1,0,68,197,146,77,146,33,255,0,40,207,1,0,77,191,100,39,100,25,255,0,51,207,1,0,230,220,197,197,27,125,255,0,61,207,1,0,232,118,222,222,119,174,255,0,71,207,1,0,229,62,241,241,182,218,255,0,81,207,1,0,233,29,253,253,224,239,255,0,91,207,1,0,0,0,247,247,247,247,255,0,101,207,1,0,59,38,245,230,245,208,255,0,111,207,1,0,61,103,225,184,225,134,255,0,121,207,1,0,63,166,188,127,188,65,255,0,131,207,1,0,231,76,233,233,163,201,255,0,140,207,1,0,0,0,247,247,247,247,255,0,149,207,1,0,63,129,215,161,215,106,255,0,158,207,1,0,228,220,208,208,28,139,255,0,167,207,1,0,229,62,241,241,182,218,255,0,176,207,1,0,61,103,225,184,225,134,255,0,185,207,1,0,72,198,172,77,172,38,255,0,194,207,1,0,228,220,208,208,28,139,255,0,203,207,1,0,229,62,241,241,182,218,255,0,212,207,1,0,0,0,247,247,247,247,255,0,221,207,1,0,61,103,225,184,225,134,255,0,230,207,1,0,72,198,172,77,172,38,255,0,239,207,1,0,230,220,197,197,27,125,255,0,248,207,1,0,231,76,233,233,163,201,255,0,1,208,1,0,233,29,253,253,224,239,255,0,10,208,1,0,59,38,245,230,245,208,255,0,19,208,1,0,63,129,215,161,215,106,255,0,28,208,1,0,68,197,146,77,146,33,255,0,37,208,1,0,230,220,197,197,27,125,255,0,46,208,1,0,231,76,233,233,163,201,255,0,55,208,1,0,233,29,253,253,224,239,255,0,64,208,1,0,0,0,247,247,247,247,255,0,73,208,1,0,59,38,245,230,245,208,255,0,82,208,1,0,63,129,215,161,215,106,255,0,91,208,1,0,68,197,146,77,146,33,255,0,100,208,1,0,230,220,197,197,27,125,255,0,109,208,1,0,232,118,222,222,119,174,255,0,118,208,1,0,229,62,241,241,182,218,255,0,127,208,1,0,233,29,253,253,224,239,255,0,136,208,1,0,59,38,245,230,245,208,255,0,145,208,1,0,61,103,225,184,225,134,255,0,154,208,1,0,63,166,188,127,188,65,255,0,163,208,1,0,68,197,146,77,146,33,255,0,172,208,1,0,230,220,197,197,27,125,255,0,181,208,1,0,232,118,222,222,119,174,255,0,190,208,1,0,229,62,241,241,182,218,255,0,199,208,1,0,233,29,253,253,224,239,255,0,208,208,1,0,0,0,247,247,247,247,255,0,217,208,1,0,59,38,245,230,245,208,255,0,226,208,1,0,61,103,225,184,225,134,255,0,235,208,1,0,63,166,188,127,188,65,255,0,244,208,1,0,68,197,146,77,146,33,255,0,253,208,1,0,206,255,75,64,0,75,255,0,7,209,1,0,101,255,68,0,68,27,255,0,18,209,1,0,206,173,131,118,42,131,255,0,28,209,1,0,199,87,171,153,112,171,255,0,38,209,1,0,199,51,207,194,165,207,255,0,48,209,1,0,210,21,232,231,212,232,255,0,58,209,1,0,76,30,240,217,240,211,255,0,68,209,1,0,80,68,219,166,219,160,255,0,78,209,1,0,88,123,174,90,174,97,255,0,88,209,1,0,97,197,120,27,120,55,255,0,98,209,1,0,206,255,75,64,0,75,255,0,108,209,1,0,97,197,120,27,120,55,255,0,119,209,1,0,101,255,68,0,68,27,255,0,130,209,1,0,206,173,131,118,42,131,255,0,140,209,1,0,199,87,171,153,112,171,255,0,150,209,1,0,199,51,207,194,165,207,255,0,160,209,1,0,210,21,232,231,212,232,255,0,170,209,1,0,0,0,247,247,247,247,255,0,180,209,1,0,76,30,240,217,240,211,255,0,190,209,1,0,80,68,219,166,219,160,255,0,200,209,1,0,88,123,174,90,174,97,255,0,210,209,1,0,196,70,195,175,141,195,255,0,219,209,1,0,0,0,247,247,247,247,255,0,228,209,1,0,82,90,191,127,191,123,255,0,237,209,1,0,201,168,148,123,50,148,255,0,246,209,1,0,199,51,207,194,165,207,255,0,255,209,1,0,80,68,219,166,219,160,255,0,8,210,1,0,102,255,136,0,136,55,255,0,17,210,1,0,201,168,148,123,50,148,255,0,26,210,1,0,199,51,207,194,165,207,255,0,35,210,1,0,0,0,247,247,247,247,255,0,44,210,1,0,80,68,219,166,219,160,255,0,53,210,1,0,102,255,136,0,136,55,255,0,62,210,1,0,206,173,131,118,42,131,255,0,71,210,1,0,196,70,195,175,141,195,255,0,80,210,1,0,210,21,232,231,212,232,255,0,89,210,1,0,76,30,240,217,240,211,255,0,98,210,1,0,82,90,191,127,191,123,255,0,107,210,1,0,97,197,120,27,120,55,255,0,116,210,1,0,206,173,131,118,42,131,255,0,125,210,1,0,196,70,195,175,141,195,255,0,134,210,1,0,210,21,232,231,212,232,255,0,143,210,1,0,0,0,247,247,247,247,255,0,152,210,1,0,76,30,240,217,240,211,255,0,161,210,1,0,82,90,191,127,191,123,255,0,170,210,1,0,97,197,120,27,120,55,255,0,179,210,1,0,206,173,131,118,42,131,255,0,188,210,1,0,199,87,171,153,112,171,255,0,197,210,1,0,199,51,207,194,165,207,255,0,206,210,1,0,210,21,232,231,212,232,255,0,215,210,1,0,76,30,240,217,240,211,255,0,224,210,1,0,80,68,219,166,219,160,255,0,233,210,1,0,88,123,174,90,174,97,255,0,242,210,1,0,97,197,120,27,120,55,255,0,251,210,1,0,206,173,131,118,42,131,255,0,4,211,1,0,199,87,171,153,112,171,255,0,13,211,1,0,199,51,207,194,165,207,255,0,22,211,1,0,210,21,232,231,212,232,255,0,31,211,1,0,0,0,247,247,247,247,255,0,40,211,1,0,76,30,240,217,240,211,255,0,49,211,1,0,80,68,219,166,219,160,255,0,58,211,1,0,88,123,174,90,174,97,255,0,67,211,1,0,97,197,120,27,120,55,255,0,76,211,1,0,189,11,242,236,231,242,255,0,85,211,1,0,151,61,219,166,189,219,255,0,94,211,1,0,141,197,190,43,140,190,255,0,103,211,1,0,185,8,246,241,238,246,255,0,112,211,1,0,155,40,225,189,201,225,255,0,121,211,1,0,145,112,207,116,169,207,255,0,130,211,1,0,143,247,176,5,112,176,255,0,139,211,1,0,185,8,246,241,238,246,255,0,148,211,1,0,155,40,225,189,201,225,255,0,157,211,1,0,145,112,207,116,169,207,255,0,166,211,1,0,141,197,190,43,140,190,255,0,175,211,1,0,143,247,141,4,90,141,255,0,184,211,1,0,185,8,246,241,238,246,255,0,193,211,1,0,168,24,230,208,209,230,255,0,202,211,1,0,151,61,219,166,189,219,255,0,211,211,1,0,145,112,207,116,169,207,255,0,220,211,1,0,141,197,190,43,140,190,255,0,229,211,1,0,143,247,141,4,90,141,255,0,238,211,1,0,185,8,246,241,238,246,255,0,247,211,1,0,168,24,230,208,209,230,255,0,0,212,1,0,151,61,219,166,189,219,255,0,9,212,1,0,145,112,207,116,169,207,255,0,18,212,1,0,142,183,192,54,144,192,255,0,27,212,1,0,143,247,176,5,112,176,255,0,36,212,1,0,143,248,123,3,78,123,255,0,45,212,1,0,233,8,255,255,247,251,255,0,54,212,1,0,189,11,242,236,231,242,255,0,63,212,1,0,168,24,230,208,209,230,255,0,72,212,1,0,151,61,219,166,189,219,255,0,81,212,1,0,145,112,207,116,169,207,255,0,90,212,1,0,142,183,192,54,144,192,255,0,99,212,1,0,143,247,176,5,112,176,255,0,108,212,1,0,143,248,123,3,78,123,255,0,117,212,1,0,233,8,255,255,247,251,255,0,126,212,1,0,189,11,242,236,231,242,255,0,135,212,1,0,168,24,230,208,209,230,255,0,144,212,1,0,151,61,219,166,189,219,255,0,153,212,1,0,145,112,207,116,169,207,255,0,162,212,1,0,142,183,192,54,144,192,255,0,171,212,1,0,143,247,176,5,112,176,255,0,180,212,1,0,143,247,141,4,90,141,255,0,189,212,1,0,143,249,88,2,56,88,255,0,198,212,1,0,200,14,240,236,226,240,255,0,209,212,1,0,151,61,219,166,189,219,255,0,220,212,1,0,130,208,153,28,144,153,255,0,231,212,1,0,207,8,247,246,239,247,255,0,242,212,1,0,155,40,225,189,201,225,255,0,253,212,1,0,143,128,207,103,169,207,255,0,8,213,1,0,130,251,138,2,129,138,255,0,19,213,1,0,207,8,247,246,239,247,255,0,30,213,1,0,155,40,225,189,201,225,255,0,41,213,1,0,143,128,207,103,169,207,255,0,52,213,1,0,130,208,153,28,144,153,255,0,63,213,1,0,119,252,108,1,108,89,255,0,74,213,1,0,207,8,247,246,239,247,255,0,85,213,1,0,168,24,230,208,209,230,255,0,96,213,1,0,151,61,219,166,189,219,255,0,107,213,1,0,143,128,207,103,169,207,255,0,118,213,1,0,130,208,153,28,144,153,255,0,129,213,1,0,119,252,108,1,108,89,255,0,140,213,1,0,207,8,247,246,239,247,255,0,151,213,1,0,168,24,230,208,209,230,255,0,162,213,1,0,151,61,219,166,189,219,255,0,173,213,1,0,143,128,207,103,169,207,255,0,184,213,1,0,142,183,192,54,144,192,255,0,195,213,1,0,130,251,138,2,129,138,255,0,206,213,1,0,118,252,100,1,100,80,255,0,217,213,1,0,233,8,255,255,247,251,255,0,228,213,1,0,200,14,240,236,226,240,255,0,239,213,1,0,168,24,230,208,209,230,255,0,250,213,1,0,151,61,219,166,189,219,255,0,5,214,1,0,143,128,207,103,169,207,255,0,16,214,1,0,142,183,192,54,144,192,255,0,27,214,1,0,130,251,138,2,129,138,255,0,38,214,1,0,118,252,100,1,100,80,255,0,49,214,1,0,233,8,255,255,247,251,255,0,60,214,1,0,200,14,240,236,226,240,255,0,71,214,1,0,168,24,230,208,209,230,255,0,82,214,1,0,151,61,219,166,189,219,255,0,93,214,1,0,143,128,207,103,169,207,255,0,104,214,1,0,142,183,192,54,144,192,255,0,115,214,1,0,130,251,138,2,129,138,255,0,126,214,1,0,119,252,108,1,108,89,255,0,137,214,1,0,117,251,70,1,70,54,255,0,148,214,1,0,18,238,127,127,59,8,255,0,158,214,1,0,195,255,75,45,0,75,255,0,169,214,1,0,20,246,179,179,88,6,255,0,179,214,1,0,22,232,224,224,130,20,255,0,189,214,1,0,23,155,253,253,184,99,255,0,199,214,1,0,24,72,254,254,224,182,255,0,209,214,1,0,165,20,235,216,218,235,255,0,219,214,1,0,177,47,210,178,171,210,255,0,229,214,1,0,179,84,172,128,115,172,255,0,239,214,1,0,189,181,136,84,39,136,255,0,249,214,1,0,18,238,127,127,59,8,255,0,3,215,1,0,189,181,136,84,39,136,255,0,14,215,1,0,195,255,75,45,0,75,255,0,25,215,1,0,20,246,179,179,88,6,255,0,35,215,1,0,22,232,224,224,130,20,255,0,45,215,1,0,23,155,253,253,184,99,255,0,55,215,1,0,24,72,254,254,224,182,255,0,65,215,1,0,0,0,247,247,247,247,255,0,75,215,1,0,165,20,235,216,218,235,255,0,85,215,1,0,177,47,210,178,171,210,255,0,95,215,1,0,179,84,172,128,115,172,255,0,105,215,1,0,23,187,241,241,163,64,255,0,114,215,1,0,0,0,247,247,247,247,255,0,123,215,1,0,178,69,195,153,142,195,255,0,132,215,1,0,17,253,230,230,97,1,255,0,141,215,1,0,23,155,253,253,184,99,255,0,150,215,1,0,177,47,210,178,171,210,255,0,159,215,1,0,185,155,153,94,60,153,255,0,168,215,1,0,17,253,230,230,97,1,255,0,177,215,1,0,23,155,253,253,184,99,255,0,186,215,1,0,0,0,247,247,247,247,255,0,195,215,1,0,177,47,210,178,171,210,255,0,204,215,1,0,185,155,153,94,60,153,255,0,213,215,1,0,20,246,179,179,88,6,255,0,222,215,1,0,23,187,241,241,163,64,255,0,231,215,1,0,24,72,254,254,224,182,255,0,240,215,1,0,165,20,235,216,218,235,255,0,249,215,1,0,178,69,195,153,142,195,255,0,2,216,1,0,189,181,136,84,39,136,255,0,11,216,1,0,20,246,179,179,88,6,255,0,20,216,1,0,23,187,241,241,163,64,255,0,29,216,1,0,24,72,254,254,224,182,255,0,38,216,1,0,0,0,247,247,247,247,255,0,47,216,1,0,165,20,235,216,218,235,255,0,56,216,1,0,178,69,195,153,142,195,255,0,65,216,1,0,189,181,136,84,39,136,255,0,74,216,1,0,20,246,179,179,88,6,255,0,83,216,1,0,22,232,224,224,130,20,255,0,92,216,1,0,23,155,253,253,184,99,255,0,101,216,1,0,24,72,254,254,224,182,255,0,110,216,1,0,165,20,235,216,218,235,255,0,119,216,1,0,177,47,210,178,171,210,255,0,128,216,1,0,179,84,172,128,115,172,255,0,137,216,1,0,189,181,136,84,39,136,255,0,146,216,1,0,20,246,179,179,88,6,255,0,155,216,1,0,22,232,224,224,130,20,255,0,164,216,1,0,23,155,253,253,184,99,255,0,173,216,1,0,24,72,254,254,224,182,255,0,182,216,1,0,0,0,247,247,247,247,255,0,191,216,1,0,165,20,235,216,218,235,255,0,200,216,1,0,177,47,210,178,171,210,255,0,209,216,1,0,179,84,172,128,115,172,255,0,218,216,1,0,189,181,136,84,39,136,255,0,227,216,1,0,188,14,239,231,225,239,255,0,236,216,1,0,214,67,201,201,148,199,255,0,245,216,1,0,234,222,221,221,28,119,255,0,254,216,1,0,185,8,246,241,238,246,255,0,7,217,1,0,211,41,216,215,181,216,255,0,16,217,1,0,228,139,223,223,101,176,255,0,25,217,1,0,239,232,206,206,18,86,255,0,34,217,1,0,185,8,246,241,238,246,255,0,43,217,1,0,211,41,216,215,181,216,255,0,52,217,1,0,228,139,223,223,101,176,255,0,61,217,1,0,234,222,221,221,28,119,255,0,70,217,1,0,236,255,152,152,0,67,255,0,79,217,1,0,185,8,246,241,238,246,255,0,88,217,1,0,204,38,218,212,185,218,255,0,97,217,1,0,214,67,201,201,148,199,255,0,106,217,1,0,228,139,223,223,101,176,255,0,115,217,1,0,234,222,221,221,28,119,255,0,124,217,1,0,236,255,152,152,0,67,255,0,133,217,1,0,185,8,246,241,238,246,255,0,142,217,1,0,204,38,218,212,185,218,255,0,151,217,1,0,214,67,201,201,148,199,255,0,160,217,1,0,228,139,223,223,101,176,255,0,169,217,1,0,233,209,231,231,41,138,255,0,178,217,1,0,239,232,206,206,18,86,255,0,187,217,1,0,236,255,145,145,0,63,255,0,196,217,1,0,195,5,249,247,244,249,255,0,205,217,1,0,188,14,239,231,225,239,255,0,214,217,1,0,204,38,218,212,185,218,255,0,223,217,1,0,214,67,201,201,148,199,255,0,232,217,1,0,228,139,223,223,101,176,255,0,241,217,1,0,233,209,231,231,41,138,255,0,250,217,1,0,239,232,206,206,18,86,255,0,3,218,1,0,236,255,145,145,0,63,255,0,12,218,1,0,195,5,249,247,244,249,255,0,21,218,1,0,188,14,239,231,225,239,255,0,30,218,1,0,204,38,218,212,185,218,255,0,39,218,1,0,214,67,201,201,148,199,255,0,48,218,1,0,228,139,223,223,101,176,255,0,57,218,1,0,233,209,231,231,41,138,255,0,66,218,1,0,239,232,206,206,18,86,255,0,75,218,1,0,236,255,152,152,0,67,255,0,84,218,1,0,242,255,103,103,0,31,255,0,93,218,1,0,180,8,245,239,237,245,255,0,105,218,1,0,168,37,220,188,189,220,255,0,117,218,1,0,176,100,177,117,107,177,255,0,129,218,1,0,182,7,247,242,240,247,255,0,141,218,1,0,173,28,226,203,201,226,255,0,153,218,1,0,173,58,200,158,154,200,255,0,165,218,1,0,182,128,163,106,81,163,255,0,177,218,1,0,182,7,247,242,240,247,255,0,189,218,1,0,173,28,226,203,201,226,255,0,201,218,1,0,173,58,200,158,154,200,255,0,213,218,1,0,176,100,177,117,107,177,255,0,225,218,1,0,188,185,143,84,39,143,255,0,237,218,1,0,182,7,247,242,240,247,255,0,249,218,1,0,170,18,235,218,218,235,255,0,5,219,1,0,168,37,220,188,189,220,255,0,17,219,1,0,173,58,200,158,154,200,255,0,29,219,1,0,176,100,177,117,107,177,255,0,41,219,1,0,188,185,143,84,39,143,255,0,53,219,1,0,182,7,247,242,240,247,255,0,65,219,1,0,170,18,235,218,218,235,255,0,77,219,1,0,168,37,220,188,189,220,255,0,89,219,1,0,173,58,200,158,154,200,255,0,101,219,1,0,172,83,186,128,125,186,255,0,113,219,1,0,182,128,163,106,81,163,255,0,125,219,1,0,190,216,134,74,20,134,255,0,137,219,1,0,191,2,253,252,251,253,255,0,149,219,1,0,180,8,245,239,237,245,255,0,161,219,1,0,170,18,235,218,218,235,255,0,173,219,1,0,168,37,220,188,189,220,255,0,185,219,1,0,173,58,200,158,154,200,255,0,197,219,1,0,172,83,186,128,125,186,255,0,209,219,1,0,182,128,163,106,81,163,255,0,221,219,1,0,190,216,134,74,20,134,255,0,233,219,1,0,191,2,253,252,251,253,255,0,245,219,1,0,180,8,245,239,237,245,255,0,1,220,1,0,170,18,235,218,218,235,255,0,13,220,1,0,168,37,220,188,189,220,255,0,25,220,1,0,173,58,200,158,154,200,255,0,37,220,1,0,172,83,186,128,125,186,255,0,49,220,1,0,182,128,163,106,81,163,255,0,61,220,1,0,188,185,143,84,39,143,255,0,73,220,1,0,191,255,125,63,0,125,255,0,85,220,1,0,242,255,103,103,0,31,255,0,95,220,1,0,150,241,97,5,48,97,255,0,106,220,1,0,249,220,178,178,24,43,255,0,116,220,1,0,5,163,214,214,96,77,255,0,126,220,1,0,13,119,244,244,165,130,255,0,136,220,1,0,15,54,253,253,219,199,255,0,146,220,1,0,142,32,240,209,229,240,255,0,156,220,1,0,141,87,222,146,197,222,255,0,166,220,1,0,143,167,195,67,147,195,255,0,176,220,1,0,148,206,172,33,102,172,255,0,186,220,1,0,242,255,103,103,0,31,255,0,196,220,1,0,148,206,172,33,102,172,255,0,207,220,1,0,150,241,97,5,48,97,255,0,218,220,1,0,249,220,178,178,24,43,255,0,228,220,1,0,5,163,214,214,96,77,255,0,238,220,1,0,13,119,244,244,165,130,255,0,248,220,1,0,15,54,253,253,219,199,255,0,2,221,1,0,0,0,247,247,247,247,255,0,12,221,1,0,142,32,240,209,229,240,255,0,22,221,1,0,141,87,222,146,197,222,255,0,32,221,1,0,143,167,195,67,147,195,255,0,42,221,1,0,12,150,239,239,138,98,255,0,51,221,1,0,0,0,247,247,247,247,255,0,60,221,1,0,143,128,207,103,169,207,255,0,69,221,1,0,248,255,202,202,0,32,255,0,78,221,1,0,13,119,244,244,165,130,255,0,87,221,1,0,141,87,222,146,197,222,255,0,96,221,1,0,143,247,176,5,113,176,255,0,105,221,1,0,248,255,202,202,0,32,255,0,114,221,1,0,13,119,244,244,165,130,255,0,123,221,1,0,0,0,247,247,247,247,255,0,132,221,1,0,141,87,222,146,197,222,255,0,141,221,1,0,143,247,176,5,113,176,255,0,150,221,1,0,249,220,178,178,24,43,255,0,159,221,1,0,12,150,239,239,138,98,255,0,168,221,1,0,15,54,253,253,219,199,255,0,177,221,1,0,142,32,240,209,229,240,255,0,186,221,1,0,143,128,207,103,169,207,255,0,195,221,1,0,148,206,172,33,102,172,255,0,204,221,1,0,249,220,178,178,24,43,255,0,213,221,1,0,12,150,239,239,138,98,255,0,222,221,1,0,15,54,253,253,219,199,255,0,231,221,1,0,0,0,247,247,247,247,255,0,240,221,1,0,142,32,240,209,229,240,255,0,249,221,1,0,143,128,207,103,169,207,255,0,2,222,1,0,148,206,172,33,102,172,255,0,11,222,1,0,249,220,178,178,24,43,255,0,20,222,1,0,5,163,214,214,96,77,255,0,29,222,1,0,13,119,244,244,165,130,255,0,38,222,1,0,15,54,253,253,219,199,255,0,47,222,1,0,142,32,240,209,229,240,255,0,56,222,1,0,141,87,222,146,197,222,255,0,65,222,1,0,143,167,195,67,147,195,255,0,74,222,1,0,148,206,172,33,102,172,255,0,83,222,1,0,249,220,178,178,24,43,255,0,92,222,1,0,5,163,214,214,96,77,255,0,101,222,1,0,13,119,244,244,165,130,255,0,110,222,1,0,15,54,253,253,219,199,255,0,119,222,1,0,0,0,247,247,247,247,255,0,128,222,1,0,142,32,240,209,229,240,255,0,137,222,1,0,141,87,222,146,197,222,255,0,146,222,1,0,143,167,195,67,147,195,255,0,155,222,1,0,148,206,172,33,102,172,255,0,164,222,1,0,242,255,103,103,0,31,255,0,174,222,1,0,0,0,26,26,26,26,255,0,185,222,1,0,249,220,178,178,24,43,255,0,195,222,1,0,5,163,214,214,96,77,255,0,205,222,1,0,13,119,244,244,165,130,255,0,215,222,1,0,15,54,253,253,219,199,255,0,225,222,1,0,0,0,224,224,224,224,255,0,235,222,1,0,0,0,186,186,186,186,255,0,245,222,1,0,0,0,135,135,135,135,255,0,255,222,1,0,0,0,77,77,77,77,255,0,9,223,1,0,242,255,103,103,0,31,255,0,19,223,1,0,0,0,77,77,77,77,255,0,30,223,1,0,0,0,26,26,26,26,255,0,41,223,1,0,249,220,178,178,24,43,255,0,51,223,1,0,5,163,214,214,96,77,255,0,61,223,1,0,13,119,244,244,165,130,255,0,71,223,1,0,15,54,253,253,219,199,255,0,81,223,1,0,0,0,255,255,255,255,255,0,91,223,1,0,0,0,224,224,224,224,255,0,101,223,1,0,0,0,186,186,186,186,255,0,111,223,1,0,0,0,135,135,135,135,255,0,121,223,1,0,12,150,239,239,138,98,255,0,130,223,1,0,0,0,255,255,255,255,255,0,139,223,1,0,0,0,153,153,153,153,255,0,148,223,1,0,248,255,202,202,0,32,255,0,157,223,1,0,13,119,244,244,165,130,255,0,166,223,1,0,0,0,186,186,186,186,255,0,175,223,1,0,0,0,64,64,64,64,255,0,184,223,1,0,248,255,202,202,0,32,255,0,193,223,1,0,13,119,244,244,165,130,255,0,202,223,1,0,0,0,255,255,255,255,255,0,211,223,1,0,0,0,186,186,186,186,255,0,220,223,1,0,0,0,64,64,64,64,255,0,229,223,1,0,249,220,178,178,24,43,255,0,238,223,1,0,12,150,239,239,138,98,255,0,247,223,1,0,15,54,253,253,219,199,255,0,0,224,1,0,0,0,224,224,224,224,255,0,9,224,1,0,0,0,153,153,153,153,255,0,18,224,1,0,0,0,77,77,77,77,255,0,27,224,1,0,249,220,178,178,24,43,255,0,36,224,1,0,12,150,239,239,138,98,255,0,45,224,1,0,15,54,253,253,219,199,255,0,54,224,1,0,0,0,255,255,255,255,255,0,63,224,1,0,0,0,224,224,224,224,255,0,72,224,1,0,0,0,153,153,153,153,255,0,81,224,1,0,0,0,77,77,77,77,255,0,90,224,1,0,249,220,178,178,24,43,255,0,99,224,1,0,5,163,214,214,96,77,255,0,108,224,1,0,13,119,244,244,165,130,255,0,117,224,1,0,15,54,253,253,219,199,255,0,126,224,1,0,0,0,224,224,224,224,255,0,135,224,1,0,0,0,186,186,186,186,255,0,144,224,1,0,0,0,135,135,135,135,255,0,153,224,1,0,0,0,77,77,77,77,255,0,162,224,1,0,249,220,178,178,24,43,255,0,171,224,1,0,5,163,214,214,96,77,255,0,180,224,1,0,13,119,244,244,165,130,255,0,189,224,1,0,15,54,253,253,219,199,255,0,198,224,1,0,0,0,255,255,255,255,255,0,207,224,1,0,0,0,224,224,224,224,255,0,216,224,1,0,0,0,186,186,186,186,255,0,225,224,1,0,0,0,135,135,135,135,255,0,234,224,1,0,0,0,77,77,77,77,255,0,243,224,1,0,3,32,253,253,224,221,255,0,252,224,1,0,244,92,250,250,159,181,255,0,5,225,1,0,227,220,197,197,27,138,255,0,14,225,1,0,13,28,254,254,235,226,255,0,23,225,1,0,252,72,251,251,180,185,255,0,32,225,1,0,238,147,247,247,104,161,255,0,41,225,1,0,224,253,174,174,1,126,255,0,50,225,1,0,13,28,254,254,235,226,255,0,59,225,1,0,252,72,251,251,180,185,255,0,68,225,1,0,238,147,247,247,104,161,255,0,77,225,1,0,227,220,197,197,27,138,255,0,86,225,1,0,213,252,122,122,1,119,255,0,95,225,1,0,13,28,254,254,235,226,255,0,104,225,1,0,3,60,252,252,197,192,255,0,113,225,1,0,244,92,250,250,159,181,255,0,122,225,1,0,238,147,247,247,104,161,255,0,131,225,1,0,227,220,197,197,27,138,255,0,140,225,1,0,213,252,122,122,1,119,255,0,149,225,1,0,13,28,254,254,235,226,255,0,158,225,1,0,3,60,252,252,197,192,255,0,167,225,1,0,244,92,250,250,159,181,255,0,176,225,1,0,238,147,247,247,104,161,255,0,185,225,1,0,230,195,221,221,52,151,255,0,194,225,1,0,224,253,174,174,1,126,255,0,203,225,1,0,213,252,122,122,1,119,255,0,212,225,1,0,14,12,255,255,247,243,255,0,221,225,1,0,3,32,253,253,224,221,255,0,230,225,1,0,3,60,252,252,197,192,255,0,239,225,1,0,244,92,250,250,159,181,255,0,248,225,1,0,238,147,247,247,104,161,255,0,1,226,1,0,230,195,221,221,52,151,255,0,10,226,1,0,224,253,174,174,1,126,255,0,19,226,1,0,213,252,122,122,1,119,255,0,28,226,1,0,14,12,255,255,247,243,255,0,37,226,1,0,3,32,253,253,224,221,255,0,46,226,1,0,3,60,252,252,197,192,255,0,55,226,1,0,244,92,250,250,159,181,255,0,64,226,1,0,238,147,247,247,104,161,255,0,73,226,1,0,230,195,221,221,52,151,255,0,82,226,1,0,224,253,174,174,1,126,255,0,91,226,1,0,213,252,122,122,1,119,255,0,100,226,1,0,199,255,106,73,0,106,255,0,109,226,1,0,245,255,165,165,0,38,255,0,121,226,1,0,167,171,149,49,54,149,255,0,134,226,1,0,2,208,215,215,48,39,255,0,146,226,1,0,10,184,244,244,109,67,255,0,158,226,1,0,20,157,253,253,174,97,255,0,170,226,1,0,30,110,254,254,224,144,255,0,182,226,1,0,136,24,248,224,243,248,255,0,194,226,1,0,138,67,233,171,217,233,255,0,206,226,1,0,143,113,209,116,173,209,255,0,218,226,1,0,151,157,180,69,117,180,255,0,230,226,1,0,245,255,165,165,0,38,255,0,242,226,1,0,151,157,180,69,117,180,255,0,255,226,1,0,167,171,149,49,54,149,255,0,12,227,1,0,2,208,215,215,48,39,255,0,24,227,1,0,10,184,244,244,109,67,255,0,36,227,1,0,20,157,253,253,174,97,255,0,48,227,1,0,30,110,254,254,224,144,255,0,60,227,1,0,42,64,255,255,255,191,255,0,72,227,1,0,136,24,248,224,243,248,255,0,84,227,1,0,138,67,233,171,217,233,255,0,96,227,1,0,143,113,209,116,173,209,255,0,108,227,1,0,13,164,252,252,141,89,255,0,119,227,1,0,42,64,255,255,255,191,255,0,130,227,1,0,143,86,219,145,191,219,255,0,141,227,1,0,254,225,215,215,25,28,255,0,152,227,1,0,20,157,253,253,174,97,255,0,163,227,1,0,138,67,233,171,217,233,255,0,174,227,1,0,145,193,182,44,123,182,255,0,185,227,1,0,254,225,215,215,25,28,255,0,196,227,1,0,20,157,253,253,174,97,255,0,207,227,1,0,42,64,255,255,255,191,255,0,218,227,1,0,138,67,233,171,217,233,255,0,229,227,1,0,145,193,182,44,123,182,255,0,240,227,1,0,2,208,215,215,48,39,255,0,251,227,1,0,13,164,252,252,141,89,255,0,6,228,1,0,30,110,254,254,224,144,255,0,17,228,1,0,136,24,248,224,243,248,255,0,28,228,1,0,143,86,219,145,191,219,255,0,39,228,1,0,151,157,180,69,117,180,255,0,50,228,1,0,2,208,215,215,48,39,255,0,61,228,1,0,13,164,252,252,141,89,255,0,72,228,1,0,30,110,254,254,224,144,255,0,83,228,1,0,42,64,255,255,255,191,255,0,94,228,1,0,136,24,248,224,243,248,255,0,105,228,1,0,143,86,219,145,191,219,255,0,116,228,1,0,151,157,180,69,117,180,255,0,127,228,1,0,2,208,215,215,48,39,255,0,138,228,1,0,10,184,244,244,109,67,255,0,149,228,1,0,20,157,253,253,174,97,255,0,160,228,1,0,30,110,254,254,224,144,255,0,171,228,1,0,136,24,248,224,243,248,255,0,182,228,1,0,138,67,233,171,217,233,255,0,193,228,1,0,143,113,209,116,173,209,255,0,204,228,1,0,151,157,180,69,117,180,255,0,215,228,1,0,2,208,215,215,48,39,255,0,226,228,1,0,10,184,244,244,109,67,255,0,237,228,1,0,20,157,253,253,174,97,255,0,248,228,1,0,30,110,254,254,224,144,255,0,3,229,1,0,42,64,255,255,255,191,255,0,14,229,1,0,136,24,248,224,243,248,255,0,25,229,1,0,138,67,233,171,217,233,255,0,36,229,1,0,143,113,209,116,173,209,255,0,47,229,1,0,151,157,180,69,117,180,255,0,58,229,1,0,245,255,165,165,0,38,255,0,70,229,1,0,107,255,104,0,104,55,255,0,83,229,1,0,2,208,215,215,48,39,255,0,95,229,1,0,10,184,244,244,109,67,255,0,107,229,1,0,20,157,253,253,174,97,255,0,119,229,1,0,31,115,254,254,224,139,255,0,131,229,1,0,51,106,239,217,239,139,255,0,143,229,1,0,62,130,217,166,217,106,255,0,155,229,1,0,83,121,189,102,189,99,255,0,167,229,1,0,103,211,152,26,152,80,255,0,179,229,1,0,245,255,165,165,0,38,255,0,191,229,1,0,103,211,152,26,152,80,255,0,204,229,1,0,107,255,104,0,104,55,255,0,217,229,1,0,2,208,215,215,48,39,255,0,229,229,1,0,10,184,244,244,109,67,255,0,241,229,1,0,20,157,253,253,174,97,255,0,253,229,1,0,31,115,254,254,224,139,255,0,9,230,1,0,42,64,255,255,255,191,255,0,21,230,1,0,51,106,239,217,239,139,255,0,33,230,1,0,62,130,217,166,217,106,255,0,45,230,1,0,83,121,189,102,189,99,255,0,57,230,1,0,13,164,252,252,141,89,255,0,68,230,1,0,42,64,255,255,255,191,255,0,79,230,1,0,66,136,207,145,207,96,255,0,90,230,1,0,254,225,215,215,25,28,255,0,101,230,1,0,20,157,253,253,174,97,255,0,112,230,1,0,62,130,217,166,217,106,255,0,123,230,1,0,98,210,150,26,150,65,255,0,134,230,1,0,254,225,215,215,25,28,255,0,145,230,1,0,20,157,253,253,174,97,255,0,156,230,1,0,42,64,255,255,255,191,255,0,167,230,1,0,62,130,217,166,217,106,255,0,178,230,1,0,98,210,150,26,150,65,255,0,189,230,1,0,2,208,215,215,48,39,255,0,200,230,1,0,13,164,252,252,141,89,255,0,211,230,1,0,31,115,254,254,224,139,255,0,222,230,1,0,51,106,239,217,239,139,255,0,233,230,1,0,66,136,207,145,207,96,255,0,244,230,1,0,103,211,152,26,152,80,255,0,255,230,1,0,2,208,215,215,48,39,255,0,10,231,1,0,13,164,252,252,141,89,255,0,21,231,1,0,31,115,254,254,224,139,255,0,32,231,1,0,42,64,255,255,255,191,255,0,43,231,1,0,51,106,239,217,239,139,255,0,54,231,1,0,66,136,207,145],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+30724);allocate([207,96,255,0,65,231,1,0,103,211,152,26,152,80,255,0,76,231,1,0,2,208,215,215,48,39,255,0,87,231,1,0,10,184,244,244,109,67,255,0,98,231,1,0,20,157,253,253,174,97,255,0,109,231,1,0,31,115,254,254,224,139,255,0,120,231,1,0,51,106,239,217,239,139,255,0,131,231,1,0,62,130,217,166,217,106,255,0,142,231,1,0,83,121,189,102,189,99,255,0,153,231,1,0,103,211,152,26,152,80,255,0,164,231,1,0,2,208,215,215,48,39,255,0,175,231,1,0,10,184,244,244,109,67,255,0,186,231,1,0,20,157,253,253,174,97,255,0,197,231,1,0,31,115,254,254,224,139,255,0,208,231,1,0,42,64,255,255,255,191,255,0,219,231,1,0,51,106,239,217,239,139,255,0,230,231,1,0,62,130,217,166,217,106,255,0,241,231,1,0,83,121,189,102,189,99,255,0,252,231,1,0,103,211,152,26,152,80,255,0,7,232,1,0,13,44,254,254,224,210,255,0,16,232,1,0,9,139,252,252,146,114,255,0,25,232,1,0,1,211,222,222,45,38,255,0,34,232,1,0,13,37,254,254,229,217,255,0,43,232,1,0,11,108,252,252,174,145,255,0,52,232,1,0,7,179,251,251,106,74,255,0,61,232,1,0,253,224,203,203,24,29,255,0,70,232,1,0,13,37,254,254,229,217,255,0,79,232,1,0,11,108,252,252,174,145,255,0,88,232,1,0,7,179,251,251,106,74,255,0,97,232,1,0,1,211,222,222,45,38,255,0,106,232,1,0,253,231,165,165,15,21,255,0,115,232,1,0,13,37,254,254,229,217,255,0,124,232,1,0,12,92,252,252,187,161,255,0,133,232,1,0,9,139,252,252,146,114,255,0,142,232,1,0,7,179,251,251,106,74,255,0,151,232,1,0,1,211,222,222,45,38,255,0,160,232,1,0,253,231,165,165,15,21,255,0,169,232,1,0,13,37,254,254,229,217,255,0,178,232,1,0,12,92,252,252,187,161,255,0,187,232,1,0,9,139,252,252,146,114,255,0,196,232,1,0,7,179,251,251,106,74,255,0,205,232,1,0,3,208,239,239,59,44,255,0,214,232,1,0,253,224,203,203,24,29,255,0,223,232,1,0,251,255,153,153,0,13,255,0,232,232,1,0,14,15,255,255,245,240,255,0,241,232,1,0,13,44,254,254,224,210,255,0,250,232,1,0,12,92,252,252,187,161,255,0,3,233,1,0,9,139,252,252,146,114,255,0,12,233,1,0,7,179,251,251,106,74,255,0,21,233,1,0,3,208,239,239,59,44,255,0,30,233,1,0,253,224,203,203,24,29,255,0,39,233,1,0,251,255,153,153,0,13,255,0,48,233,1,0,14,15,255,255,245,240,255,0,57,233,1,0,13,44,254,254,224,210,255,0,66,233,1,0,12,92,252,252,187,161,255,0,75,233,1,0,9,139,252,252,146,114,255,0,84,233,1,0,7,179,251,251,106,74,255,0,93,233,1,0,3,208,239,239,59,44,255,0,102,233,1,0,253,224,203,203,24,29,255,0,111,233,1,0,253,231,165,165,15,21,255,0,120,233,1,0,249,255,103,103,0,13,255,0,129,233,1,0,254,225,228,228,26,28,255,0,138,233,1,0,146,178,184,55,126,184,255,0,147,233,1,0,83,147,175,77,175,74,255,0,156,233,1,0,254,225,228,228,26,28,255,0,165,233,1,0,146,178,184,55,126,184,255,0,174,233,1,0,83,147,175,77,175,74,255,0,183,233,1,0,207,132,163,152,78,163,255,0,192,233,1,0,254,225,228,228,26,28,255,0,201,233,1,0,146,178,184,55,126,184,255,0,210,233,1,0,83,147,175,77,175,74,255,0,219,233,1,0,207,132,163,152,78,163,255,0,228,233,1,0,21,255,255,255,127,0,255,0,237,233,1,0,254,225,228,228,26,28,255,0,246,233,1,0,146,178,184,55,126,184,255,0,255,233,1,0,83,147,175,77,175,74,255,0,8,234,1,0,207,132,163,152,78,163,255,0,17,234,1,0,21,255,255,255,127,0,255,0,26,234,1,0,42,204,255,255,255,51,255,0,35,234,1,0,254,225,228,228,26,28,255,0,44,234,1,0,146,178,184,55,126,184,255,0,53,234,1,0,83,147,175,77,175,74,255,0,62,234,1,0,207,132,163,152,78,163,255,0,71,234,1,0,21,255,255,255,127,0,255,0,80,234,1,0,42,204,255,255,255,51,255,0,89,234,1,0,15,193,166,166,86,40,255,0,98,234,1,0,254,225,228,228,26,28,255,0,107,234,1,0,146,178,184,55,126,184,255,0,116,234,1,0,83,147,175,77,175,74,255,0,125,234,1,0,207,132,163,152,78,163,255,0,134,234,1,0,21,255,255,255,127,0,255,0,143,234,1,0,42,204,255,255,255,51,255,0,152,234,1,0,15,193,166,166,86,40,255,0,161,234,1,0,232,121,247,247,129,191,255,0,170,234,1,0,254,225,228,228,26,28,255,0,179,234,1,0,146,178,184,55,126,184,255,0,188,234,1,0,83,147,175,77,175,74,255,0,197,234,1,0,207,132,163,152,78,163,255,0,206,234,1,0,21,255,255,255,127,0,255,0,215,234,1,0,42,204,255,255,255,51,255,0,224,234,1,0,15,193,166,166,86,40,255,0,233,234,1,0,232,121,247,247,129,191,255,0,242,234,1,0,0,0,153,153,153,153,255,0,251,234,1,0,114,120,194,102,194,165,255,0,4,235,1,0,11,155,252,252,141,98,255,0,13,235,1,0,156,77,203,141,160,203,255,0,22,235,1,0,114,120,194,102,194,165,255,0,31,235,1,0,11,155,252,252,141,98,255,0,40,235,1,0,156,77,203,141,160,203,255,0,49,235,1,0,228,102,231,231,138,195,255,0,58,235,1,0,114,120,194,102,194,165,255,0,67,235,1,0,11,155,252,252,141,98,255,0,76,235,1,0,156,77,203,141,160,203,255,0,85,235,1,0,228,102,231,231,138,195,255,0,94,235,1,0,58,155,216,166,216,84,255,0,103,235,1,0,114,120,194,102,194,165,255,0,112,235,1,0,11,155,252,252,141,98,255,0,121,235,1,0,156,77,203,141,160,203,255,0,130,235,1,0,228,102,231,231,138,195,255,0,139,235,1,0,58,155,216,166,216,84,255,0,148,235,1,0,34,208,255,255,217,47,255,0,157,235,1,0,114,120,194,102,194,165,255,0,166,235,1,0,11,155,252,252,141,98,255,0,175,235,1,0,156,77,203,141,160,203,255,0,184,235,1,0,228,102,231,231,138,195,255,0,193,235,1,0,58,155,216,166,216,84,255,0,202,235,1,0,34,208,255,255,217,47,255,0,211,235,1,0,25,90,229,229,196,148,255,0,220,235,1,0,114,120,194,102,194,165,255,0,229,235,1,0,11,155,252,252,141,98,255,0,238,235,1,0,156,77,203,141,160,203,255,0,247,235,1,0,228,102,231,231,138,195,255,0,0,236,1,0,58,155,216,166,216,84,255,0,9,236,1,0,34,208,255,255,217,47,255,0,18,236,1,0,25,90,229,229,196,148,255,0,27,236,1,0,0,0,179,179,179,179,255,0,36,236,1,0,120,84,211,141,211,199,255,0,46,236,1,0,211,82,189,188,128,189,255,0,57,236,1,0,42,76,255,255,255,179,255,0,67,236,1,0,175,37,218,190,186,218,255,0,77,236,1,0,4,139,251,251,128,114,255,0,87,236,1,0,144,100,211,128,177,211,255,0,97,236,1,0,22,156,253,253,180,98,255,0,107,236,1,0,58,134,222,179,222,105,255,0,117,236,1,0,233,47,252,252,205,229,255,0,127,236,1,0,0,0,217,217,217,217,255,0,137,236,1,0,120,84,211,141,211,199,255,0,147,236,1,0,211,82,189,188,128,189,255,0,158,236,1,0,77,41,235,204,235,197,255,0,169,236,1,0,42,76,255,255,255,179,255,0,179,236,1,0,175,37,218,190,186,218,255,0,189,236,1,0,4,139,251,251,128,114,255,0,199,236,1,0,144,100,211,128,177,211,255,0,209,236,1,0,22,156,253,253,180,98,255,0,219,236,1,0,58,134,222,179,222,105,255,0,229,236,1,0,233,47,252,252,205,229,255,0,239,236,1,0,0,0,217,217,217,217,255,0,249,236,1,0,120,84,211,141,211,199,255,0,3,237,1,0,211,82,189,188,128,189,255,0,14,237,1,0,77,41,235,204,235,197,255,0,25,237,1,0,37,144,255,255,237,111,255,0,36,237,1,0,42,76,255,255,255,179,255,0,46,237,1,0,175,37,218,190,186,218,255,0,56,237,1,0,4,139,251,251,128,114,255,0,66,237,1,0,144,100,211,128,177,211,255,0,76,237,1,0,22,156,253,253,180,98,255,0,86,237,1,0,58,134,222,179,222,105,255,0,96,237,1,0,233,47,252,252,205,229,255,0,106,237,1,0,0,0,217,217,217,217,255,0,116,237,1,0,120,84,211,141,211,199,255,0,125,237,1,0,42,76,255,255,255,179,255,0,134,237,1,0,175,37,218,190,186,218,255,0,143,237,1,0,120,84,211,141,211,199,255,0,152,237,1,0,42,76,255,255,255,179,255,0,161,237,1,0,175,37,218,190,186,218,255,0,170,237,1,0,4,139,251,251,128,114,255,0,179,237,1,0,120,84,211,141,211,199,255,0,188,237,1,0,42,76,255,255,255,179,255,0,197,237,1,0,175,37,218,190,186,218,255,0,206,237,1,0,4,139,251,251,128,114,255,0,215,237,1,0,144,100,211,128,177,211,255,0,224,237,1,0,120,84,211,141,211,199,255,0,233,237,1,0,42,76,255,255,255,179,255,0,242,237,1,0,175,37,218,190,186,218,255,0,251,237,1,0,4,139,251,251,128,114,255,0,4,238,1,0,144,100,211,128,177,211,255,0,13,238,1,0,22,156,253,253,180,98,255,0,22,238,1,0,120,84,211,141,211,199,255,0,31,238,1,0,42,76,255,255,255,179,255,0,40,238,1,0,175,37,218,190,186,218,255,0,49,238,1,0,4,139,251,251,128,114,255,0,58,238,1,0,144,100,211,128,177,211,255,0,67,238,1,0,22,156,253,253,180,98,255,0,76,238,1,0,58,134,222,179,222,105,255,0,85,238,1,0,120,84,211,141,211,199,255,0,94,238,1,0,42,76,255,255,255,179,255,0,103,238,1,0,175,37,218,190,186,218,255,0,112,238,1,0,4,139,251,251,128,114,255,0,121,238,1,0,144,100,211,128,177,211,255,0,130,238,1,0,22,156,253,253,180,98,255,0,139,238,1,0,58,134,222,179,222,105,255,0,148,238,1,0,233,47,252,252,205,229,255,0,157,238,1,0,120,84,211,141,211,199,255,0,166,238,1,0,42,76,255,255,255,179,255,0,175,238,1,0,175,37,218,190,186,218,255,0,184,238,1,0,4,139,251,251,128,114,255,0,193,238,1,0,144,100,211,128,177,211,255,0,202,238,1,0,22,156,253,253,180,98,255,0,211,238,1,0,58,134,222,179,222,105,255,0,220,238,1,0,233,47,252,252,205,229,255,0,229,238,1,0,0,0,217,217,217,217,255,0,238,238,1,0,237,253,158,158,1,66,255,0,252,238,1,0,177,130,162,94,79,162,255,0,11,239,1,0,250,180,213,213,62,79,255,0,25,239,1,0,10,184,244,244,109,67,255,0,39,239,1,0,20,157,253,253,174,97,255,0,53,239,1,0,31,115,254,254,224,139,255,0,67,239,1,0,49,96,245,230,245,152,255,0,81,239,1,0,79,65,221,171,221,164,255,0,95,239,1,0,114,120,194,102,194,165,255,0,109,239,1,0,143,187,189,50,136,189,255,0,123,239,1,0,237,253,158,158,1,66,255,0,137,239,1,0,143,187,189,50,136,189,255,0,152,239,1,0,177,130,162,94,79,162,255,0,167,239,1,0,250,180,213,213,62,79,255,0,181,239,1,0,10,184,244,244,109,67,255,0,195,239,1,0,20,157,253,253,174,97,255,0,209,239,1,0,31,115,254,254,224,139,255,0,223,239,1,0,42,64,255,255,255,191,255,0,237,239,1,0,49,96,245,230,245,152,255,0,251,239,1,0,79,65,221,171,221,164,255,0,9,240,1,0,114,120,194,102,194,165,255,0,23,240,1,0,13,164,252,252,141,89,255,0,36,240,1,0,42,64,255,255,255,191,255,0,49,240,1,0,81,77,213,153,213,148,255,0,62,240,1,0,254,225,215,215,25,28,255,0,75,240,1,0,20,157,253,253,174,97,255,0,88,240,1,0,79,65,221,171,221,164,255,0,101,240,1,0,143,196,186,43,131,186,255,0,114,240,1,0,254,225,215,215,25,28,255,0,127,240,1,0,20,157,253,253,174,97,255,0,140,240,1,0,42,64,255,255,255,191,255,0,153,240,1,0,79,65,221,171,221,164,255,0,166,240,1,0,143,196,186,43,131,186,255,0,179,240,1,0,250,180,213,213,62,79,255,0,192,240,1,0,13,164,252,252,141,89,255,0,205,240,1,0,31,115,254,254,224,139,255,0,218,240,1,0,49,96,245,230,245,152,255,0,231,240,1,0,81,77,213,153,213,148,255,0,244,240,1,0,143,187,189,50,136,189,255,0,1,241,1,0,250,180,213,213,62,79,255,0,14,241,1,0,13,164,252,252,141,89,255,0,27,241,1,0,31,115,254,254,224,139,255,0,40,241,1,0,42,64,255,255,255,191,255,0,53,241,1,0,49,96,245,230,245,152,255,0,66,241,1,0,81,77,213,153,213,148,255,0,79,241,1,0,143,187,189,50,136,189,255,0,92,241,1,0,250,180,213,213,62,79,255,0,105,241,1,0,10,184,244,244,109,67,255,0,118,241,1,0,20,157,253,253,174,97,255,0,131,241,1,0,31,115,254,254,224,139,255,0,144,241,1,0,49,96,245,230,245,152,255,0,157,241,1,0,79,65,221,171,221,164,255,0,170,241,1,0,114,120,194,102,194,165,255,0,183,241,1,0,143,187,189,50,136,189,255,0,196,241,1,0,250,180,213,213,62,79,255,0,209,241,1,0,10,184,244,244,109,67,255,0,222,241,1,0,20,157,253,253,174,97,255,0,235,241,1,0,31,115,254,254,224,139,255,0,248,241,1,0,42,64,255,255,255,191,255,0,5,242,1,0,49,96,245,230,245,152,255,0,18,242,1,0,79,65,221,171,221,164,255,0,31,242,1,0,114,120,194,102,194,165,255,0,44,242,1,0,143,187,189,50,136,189,255,0,57,242,1,0,147,15,255,240,248,255,255,0,72,242,1,0,24,35,250,250,235,215,255,0,90,242,1,0,127,255,255,0,255,255,255,0,100,242,1,0,113,128,255,127,255,212,255,0,116,242,1,0,127,15,255,240,255,255,255,0,127,242,1,0,42,26,245,245,245,220,255,0,138,242,1,0,23,58,255,255,228,196,255,0,150,242,1,0,0,0,0,0,0,0,255,0,161,242,1,0,25,49,255,255,235,205,255,0,181,242,1,0,170,255,255,0,0,255,255,0,191,242,1,0,192,206,226,138,43,226,255,0,207,242,1,0,0,190,165,165,42,42,255,0,218,242,1,0,23,99,222,222,184,135,255,0,233,242,1,0,128,103,160,95,158,160,255,0,248,242,1,0,63,255,255,127,255,0,255,0,8,243,1,0,17,218,210,210,105,30,255,0,23,243,1,0,11,175,255,255,127,80,255,0,34,243,1,0,154,147,237,100,149,237,255,0,54,243,1,0,33,34,255,255,248,220,255,0,68,243,1,0,246,231,220,220,20,60,255,0,81,243,1,0,127,255,255,0,255,255,255,0,91,243,1,0,170,255,139,0,0,139,255,0,105,243,1,0,127,255,139,0,139,139,255,0,119,243,1,0,30,239,184,184,134,11,255,0,138,243,1,0,0,0,169,169,169,169,255,0,152,243,1,0,85,255,100,0,100,0,255,0,167,243,1,0,0,0,169,169,169,169,255,0,181,243,1,0,39,110,189,189,183,107,255,0,196,243,1,0,212,255,139,139,0,139,255,0,213,243,1,0,58,142,107,85,107,47,255,0,233,243,1,0,23,255,255,255,140,0,255,0,249,243,1,0,198,192,204,153,50,204,255,0,9,244,1,0,0,255,139,139,0,0,255,0,22,244,1,0,10,121,233,233,150,122,255,0,38,244,1,0,85,61,188,143,188,143,255,0,56,244,1,0,175,143,139,72,61,139,255,0,75,244,1,0,127,103,79,47,79,79,255,0,94,244,1,0,127,103,79,47,79,79,255,0,113,244,1,0,128,255,209,0,206,209,255,0,132,244,1,0,199,255,211,148,0,211,255,0,148,244,1,0,232,235,255,255,20,147,255,0,162,244,1,0,138,255,255,0,191,255,255,0,179,244,1,0,0,0,105,105,105,105,255,0,192,244,1,0,0,0,105,105,105,105,255,0,205,244,1,0,148,225,255,30,144,255,255,0,221,244,1,0,0,206,178,178,34,34,255,0,236,244,1,0,28,15,255,255,250,240,255,0,253,244,1,0,85,192,139,34,139,34,255,0,14,245,1,0,212,255,255,255,0,255,255,0,27,245,1,0,0,0,220,220,220,220,255,0,42,245,1,0,170,7,255,248,248,255,255,0,58,245,1,0,35,255,255,255,215,0,255,0,68,245,1,0,30,217,218,218,165,32,255,0,83,245,1,0,0,0,128,128,128,128,255,0,93,245,1,0,85,255,128,0,128,0,255,0,104,245,1,0,59,208,255,173,255,47,255,0,121,245,1,0,0,0,128,128,128,128,255,0,131,245,1,0,85,15,255,240,255,240,255,0,145,245,1,0,233,150,255,255,105,180,255,0,158,245,1,0,0,140,205,205,92,92,255,0,173,245,1,0,194,255,130,75,0,130,255,0,185,245,1,0,42,15,255,255,255,240,255,0,196,245,1,0,38,106,240,240,230,140,255,0,207,245,1,0,170,20,250,230,230,250,255,0,221,245,1,0,240,15,255,255,240,245,255,0,240,245,1,0,64,255,252,124,252,0,255,0,255,245,1,0,38,49,255,255,250,205,255,0,17,246,1,0,137,63,230,173,216,230,255,0,32,246,1,0,0,119,240,240,128,128,255,0,48,246,1,0,127,31,255,224,255,255,255,0,63,246,1,0,42,40,250,250,250,210,255,0,89,246,1,0,0,0,211,211,211,211,255,0,104,246,1,0,85,100,238,144,238,144,255,0,120,246,1,0,0,0,211,211,211,211,255,0,135,246,1,0,248,73,255,255,182,193,255,0,150,246,1,0,12,132,255,255,160,122,255,0,167,246,1,0,125,209,178,32,178,170,255,0,186,246,1,0,143,117,250,135,206,250,255,0,204,246,1,0,148,56,153,119,136,153,255,0,224,246,1,0,148,56,153,119,136,153,255,0,244,246,1,0,151,52,222,176,196,222,255,0,8,247,1,0,42,31,255,255,255,224,255,0,25,247,1,0,85,255,255,0,255,0,255,0,35,247,1,0,85,192,205,50,205,50,255,0,50,247,1,0,21,20,250,250,240,230,255,0,61,247,1,0,212,255,255,255,0,255,255,0,74,247,1,0,0,255,128,128,0,0,255,0,86,247,1,0,113,128,205,102,205,170,255,0,108,247,1,0,170,255,205,0,0,205,255,0,124,247,1,0,204,152,211,186,85,211,255,0,142,247,1,0,183,124,219,147,112,219,255,0,160,247,1,0,103,169,179,60,179,113,255,0,180,247,1,0,176,143,238,123,104,238,255,0,201,247,1,0,111,255,250,0,250,154,255,0,224,247,1,0,125,167,209,72,209,204,255,0,245,247,1,0,228,228,199,199,21,133,255,0,10,248,1,0,170,198,112,25,25,112,255,0,28,248,1,0,106,9,255,245,255,250,255,0,43,248,1,0,4,30,255,255,228,225,255,0,58,248,1,0,26,73,255,255,228,181,255,0,72,248,1,0,25,81,255,255,222,173,255,0,89,248,1,0,170,255,128,0,0,128,255,0,99,248,1,0,27,23,253,253,245,230,255,0,112,248,1,0,42,255,128,128,128,0,255,0,123,248,1,0,56,192,142,107,142,35,255,0,138,248,1,0,27,255,255,255,165,0,255,0,150,248,1,0,11,255,255,255,69,0,255,0,165,248,1,0,214,123,218,218,112,214,255,0,177,248,1,0,38,72,238,238,232,170,255,0,196,248,1,0,85,100,251,152,251,152,255,0,211,248,1,0,127,67,238,175,238,238,255,0,230,248,1,0,241,124,219,219,112,147,255,0,249,248,1,0,26,41,255,255,239,213,255,0,9,249,1,0,20,70,255,255,218,185,255,0,24,249,1,0,20,176,205,205,133,63,255,0,34,249,1,0,247,63,255,255,192,203,255,0,44,249,1,0,212,70,221,221,160,221,255,0,54,249,1,0,132,59,230,176,224,230,255,0,70,249,1,0,212,255,128,128,0,128,255,0,82,249,1,0,0,255,255,255,0,0,255,0,91,249,1,0,0,61,188,188,143,143,255,0,106,249,1,0,159,181,225,65,105,225,255,0,121,249,1,0,17,220,139,139,69,19,255,0,138,249,1,0,4,138,250,250,128,114,255,0,150,249,1,0,19,154,244,244,164,96,255,0,166,249,1,0,103,170,139,46,139,87,255,0,180,249,1,0,17,16,255,255,245,238,255,0,194,249,1,0,13,183,160,160,82,45,255,0,206,249,1,0,0,0,192,192,192,192,255,0,218,249,1,0,139,108,235,135,206,235,255,0,231,249,1,0,175,143,205,106,90,205,255,0,246,249,1,0,148,56,144,112,128,144,255,0,5,250,1,0,148,56,144,112,128,144,255,0,20,250,1,0,0,5,255,255,250,250,255,0,30,250,1,0,106,255,255,0,255,127,255,0,47,250,1,0,146,155,180,70,130,180,255,0,62,250,1,0,24,84,210,210,180,140,255,0,71,250,1,0,127,255,128,0,128,128,255,0,81,250,1,0,212,29,216,216,191,216,255,0,94,250,1,0,6,184,255,255,99,71,255,0,106,250,1,0,123,182,224,64,224,208,255,0,121,250,1,0,212,115,238,238,130,238,255,0,133,250,1,0,27,68,245,245,222,179,255,0,144,250,1,0,0,0,255,255,255,255,255,0,155,250,1,0,0,0,245,245,245,245,255,0,171,250,1,0,42,255,255,255,255,0,255,0,183,250,1,0,56,192,205,154,205,50,255,0,200,250,1,0,45,67,252,247,252,185,255,0,209,250,1,0,68,91,221,173,221,142,255,0,218,250,1,0,98,178,163,49,163,84,255,0,227,250,1,0,42,50,255,255,255,204,255,0,236,250,1,0,62,85,230,194,230,153,255,0,245,250,1,0,85,100,198,120,198,121,255,0,254,250,1,0,99,187,132,35,132,67,255,0,7,251,1,0,42,50,255,255,255,204,255,0,16,251,1,0,62,85,230,194,230,153,255,0,25,251,1,0,85,100,198,120,198,121,255,0,34,251,1,0,98,178,163,49,163,84,255,0,43,251,1,0,107,255,104,0,104,55,255,0,52,251,1,0,42,50,255,255,255,204,255,0,61,251,1,0,55,81,240,217,240,163,255,0,70,251,1,0,68,91,221,173,221,142,255,0,79,251,1,0,85,100,198,120,198,121,255,0,88,251,1,0,98,178,163,49,163,84,255,0,97,251,1,0,107,255,104,0,104,55,255,0,106,251,1,0,42,50,255,255,255,204,255,0,115,251,1,0,55,81,240,217,240,163,255,0,124,251,1,0,68,91,221,173,221,142,255,0,133,251,1,0,85,100,198,120,198,121,255,0,142,251,1,0,96,158,171,65,171,93,255,0,151,251,1,0,99,187,132,35,132,67,255,0,160,251,1,0,108,255,90,0,90,50,255,0,169,251,1,0,42,25,255,255,255,229,255,0,178,251,1,0,45,67,252,247,252,185,255,0,187,251,1,0,55,81,240,217,240,163,255,0,196,251,1,0,68,91,221,173,221,142,255,0,205,251,1,0,85,100,198,120,198,121,255,0,214,251,1,0,96,158,171,65,171,93,255,0,223,251,1,0,99,187,132,35,132,67,255,0,232,251,1,0,108,255,90,0,90,50,255,0,241,251,1,0,42,25,255,255,255,229,255,0,250,251,1,0,45,67,252,247,252,185,255,0,3,252,1,0,55,81,240,217,240,163,255,0,12,252,1,0,68,91,221,173,221,142,255,0,21,252,1,0,85,100,198,120,198,121,255,0,30,252,1,0,96,158,171,65,171,93,255,0,39,252,1,0,99,187,132,35,132,67,255,0,48,252,1,0,107,255,104,0,104,55,255,0,57,252,1,0,110,255,69,0,69,41,255,0,66,252,1,0,49,73,248,237,248,177,255,0,77,252,1,0,117,97,205,127,205,187,255,0,88,252,1,0,144,194,184,44,127,184,255,0,99,252,1,0,42,50,255,255,255,204,255,0,110,252,1,0,99,66,218,161,218,180,255,0,121,252,1,0,132,170,196,65,182,196,255,0,132,252,1,0,150,203,168,34,94,168,255,0,143,252,1,0,42,50,255,255,255,204,255,0,154,252,1,0,99,66,218,161,218,180,255,0,165,252,1,0,132,170,196,65,182,196,255,0,176,252,1,0,144,194,184,44,127,184,255,0,187,252,1,0,164,191,148,37,52,148,255,0,198,252,1,0,42,50,255,255,255,204,255,0,209,252,1,0,69,58,233,199,233,180,255,0,220,252,1,0,117,97,205,127,205,187,255,0,231,252,1,0,132,170,196,65,182,196,255,0,242,252,1,0,144,194,184,44,127,184,255,0,253,252,1,0,164,191,148,37,52,148,255,0,8,253,1,0,42,50,255,255,255,204,255,0,19,253,1,0,69,58,233,199,233,180,255,0,30,253,1,0,117,97,205,127,205,187,255,0,41,253,1,0,132,170,196,65,182,196,255,0,52,253,1,0,139,216,192,29,145,192,255,0,63,253,1,0,150,203,168,34,94,168,255,0,74,253,1,0,158,231,132,12,44,132,255,0,85,253,1,0,42,38,255,255,255,217,255,0,96,253,1,0,49,73,248,237,248,177,255,0,107,253,1,0,69,58,233,199,233,180,255,0,118,253,1,0,117,97,205,127,205,187,255,0,129,253,1,0,132,170,196,65,182,196,255,0,140,253,1,0,139,216,192,29,145,192,255,0,151,253,1,0,150,203,168,34,94,168,255,0,162,253,1,0,158,231,132,12,44,132,255,0,173,253,1,0,42,38,255,255,255,217,255,0,184,253,1,0,49,73,248,237,248,177,255,0,195,253,1,0,69,58,233,199,233,180,255,0,206,253,1,0,117,97,205,127,205,187,255,0,217,253,1,0,132,170,196,65,182,196,255,0,228,253,1,0,139,216,192,29,145,192,255,0,239,253,1,0,150,203,168,34,94,168,255,0,250,253,1,0,164,191,148,37,52,148,255,0,5,254,1,0,158,231,88,8,29,88,255,0,16,254,1,0,37,66,255,255,247,188,255,0,27,254,1,0,28,175,254,254,196,79,255,0,38,254,1,0,16,238,217,217,95,14,255,0,49,254,1,0,42,42,255,255,255,212,255,0,60,254,1,0,28,112,254,254,217,142,255,0,71,254,1,0,22,213,254,254,153,41,255,0,82,254,1,0,15,252,204,204,76,2,255,0,93,254,1,0,42,42,255,255,255,212,255,0,104,254,1,0,28,112,254,254,217,142,255,0,115,254,1,0,22,213,254,254,153,41,255,0,126,254,1,0,16,238,217,217,95,14,255,0,137,254,1,0,13,248,153,153,52,4,255,0,148,254,1,0,42,42,255,255,255,212,255,0,159,254,1,0,31,109,254,254,227,145,255,0,170,254,1,0,28,175,254,254,196,79,255,0,181,254,1,0,22,213,254,254,153,41,255,0,192,254,1,0,16,238,217,217,95,14,255,0,203,254,1,0,13,248,153,153,52,4,255,0,214,254,1,0,42,42,255,255,255,212,255,0,225,254,1,0,31,109,254,254,227,145,255,0,236,254,1,0,28,175,254,254,196,79,255,0,247,254,1,0,22,213,254,254,153,41,255,0,2,255,1,0,18,233,236,236,112,20,255,0,13,255,1,0,15,252,204,204,76,2,255,0,24,255,1,0,12,247,140,140,45,4,255,0,35,255,1,0,42,25,255,255,255,229,255,0,46,255,1,0,37,66,255,255,247,188,255,0,57,255,1,0,31,109,254,254,227,145,255,0,68,255,1,0,28,175,254,254,196,79,255,0,79,255,1,0,22,213,254,254,153,41,255,0,90,255,1,0,18,233,236,236,112,20,255,0,101,255,1,0,15,252,204,204,76,2,255,0,112,255,1,0,12,247,140,140,45,4,255,0,123,255,1,0,42,25,255,255,255,229,255,0,134,255,1,0,37,66,255,255,247,188,255,0,145,255,1,0,31,109,254,254,227,145,255,0,156,255,1,0,28,175,254,254,196,79,255,0,167,255,1,0,22,213,254,254,153,41,255,0,178,255,1,0,18,233,236,236,112,20,255,0,189,255,1,0,15,252,204,204,76,2,255,0,200,255,1,0,13,248,153,153,52,4,255,0,211,255,1,0,13,240,102,102,37,6,255,0,222,255,1,0,34,95,255,255,237,160,255,0,233,255,1,0,24,178,254,254,178,76,255,0,244,255,1,0,5,221,240,240,59,32,255,0,255,255,1,0,42,77,255,255,255,178,255,0,10,0,2,0,29,162,254,254,204,92,255,0,21,0,2,0,17,194,253,253,141,60,255,0,32,0,2,0,254,225,227,227,26,28,255,0,43,0,2,0,42,77,255,255,255,178,255,0,54,0,2,0,29,162,254,254,204,92,255,0,65,0,2,0,17,194,253,253,141,60,255,0,76,0,2,0,5,221,240,240,59,32,255,0,87,0,2,0,246,255,189,189,0,38,255,0,98,0,2,0,42,77,255,255,255,178,255,0,109,0,2,0,30,136,254,254,217,118,255,0,120,0,2,0,24,178,254,254,178,76,255,0,131,0,2,0,17,194,253,253,141,60,255,0,142,0,2,0,5,221,240,240,59,32,255,0,153,0,2,0,246,255,189,189,0,38,255,0,164,0,2,0,42,77,255,255,255,178,255,0,175,0,2,0,30,136,254,254,217,118,255,0,186,0,2,0,24,178,254,254,178,76,255,0,197,0,2,0,17,194,253,253,141,60,255,0,208,0,2,0,7,212,252,252,78,42,255,0,219,0,2,0,254,225,227,227,26,28,255,0,230,0,2,0,245,255,177,177,0,38,255,0,241,0,2,0,42,50,255,255,255,204,255,0,252,0,2,0,34,95,255,255,237,160,255,0,7,1,2,0,30,136,254,254,217,118,255,0,18,1,2,0,24,178,254,254,178,76,255,0,29,1,2,0,17,194,253,253,141,60,255,0,40,1,2,0,7,212,252,252,78,42,255,0,51,1,2,0,254,225,227,227,26,28,255,0,62,1,2,0,245,255,177,177,0,38,255,0,73,1,2,0,42,50,255,255,255,204,255,0,84,1,2,0,34,95,255,255,237,160,255,0,95,1,2,0,30,136,254,254,217,118,255,0,106,1,2,0,24,178,254,254,178,76,255,0,117,1,2,0,17,194,253,253,141,60,255,0,128,1,2,0,7,212,252,252,78,42,255,0,139,1,2,0,254,225,227,227,26,28,255,0,150,1,2,0,246,255,189,189,0,38,255,0,161,1,2,0,242,255,128,128,0,38,255,0,172,1,2,0,147,15,255,240,248,255,255,0,182,1,2,0,24,35,250,250,235,215,255,0,195,1,2,0,23,36,255,255,239,219,255,0,209,1,2,0,23,36,238,238,223,204,255,0,223,1,2,0,23,36,205,205,192,176,255,0,237,1,2,0,24,34,139,139,131,120,255,0,251,1,2,0,113,128,255,127,255,212,255,0,6,2,2,0,113,128,255,127,255,212,255,0,18,2,2,0,113,128,238,118,238,198,255,0,30,2,2,0,113,128,205,102,205,170,255,0,42,2,2,0,113,128,139,69,139,116,255,0,54,2,2,0,127,15,255,240,255,255,255,0,60,2,2,0,127,15,255,240,255,255,255,0,67,2,2,0,127,15,238,224,238,238,255,0,74,2,2,0,127,14,205,193,205,205,255,0,81,2,2,0,127,14,139,131,139,139,255,0,88,2,2,0,42,26,245,245,245,220,255,0,94,2,2,0,23,58,255,255,228,196,255,0,101,2,2,0,23,58,255,255,228,196,255,0,109,2,2,0,23,58,238,238,213,183,255,0,117,2,2,0,22,58,205,205,183,158,255,0,125,2,2,0,23,58,139,139,125,107,255,0,143,25,2,0,0,0,0,0,0,0,255,0,133,2,2,0,25,49,255,255,235,205,255,0,148,2,2,0,170,255,255,0,0,255,255,0,153,2,2,0,170,255,255,0,0,255,255,0,159,2,2,0,170,255,238,0,0,238,255,0,165,2,2,0,170,255,205,0,0,205,255,0,171,2,2,0,170,255,139,0,0,139,255,0,177,2,2,0,192,206,226,138,43,226,255,0,188,2,2,0,0,190,165,165,42,42,255,0,194,2,2,0,0,191,255,255,64,64,255,0,201,2,2,0,0,191,238,238,59,59,255,0,208,2,2,0,0,191,205,205,51,51,255,0,215,2,2,0,0,190,139,139,35,35,255,0,222,2,2,0,23,99,222,222,184,135,255,0,232,2,2,0,23,100,255,255,211,155,255,0,243,2,2,0,23,99,238,238,197,145,255,0,254,2,2,0,23,99,205,205,170,125,255,0,9,3,2,0,23,99,139,139,115,85,255,0,20,3,2,0,128,103,160,95,158,160,255,0,30,3,2,0,131,103,255,152,245,255,255,0,41,3,2,0,131,102,238,142,229,238,255,0,52,3,2,0,131,103,205,122,197,205,255,0,63,3,2,0,131,102,139,83,134,139,255,0,74,3,2,0,63,255,255,127,255,0,255,0,85,3,2,0,63,255,255,127,255,0,255,0,97,3,2,0,63,255,238,118,238,0,255,0,109,3,2,0,63,255,205,102,205,0,255,0,121,3,2,0,63,255,139,69,139,0,255,0,133,3,2,0,17,218,210,210,105,30,255,0,143,3,2,0,17,219,255,255,127,36,255,0,154,3,2,0,17,219,238,238,118,33,255,0,165,3,2,0,17,218,205,205,102,29,255,0,176,3,2,0,17,220,139,139,69,19,255,0,187,3,2,0,11,175,255,255,127,80,255,0,193,3,2,0,7,169,255,255,114,86,255,0,200,3,2,0,6,169,238,238,106,80,255,0,207,3,2,0,6,169,205,205,91,69,255,0,214,3,2,0,6,168,139,139,62,47,255,0,221,3,2,0,154,147,237,100,149,237,255,0,236,3,2,0,33,34,255,255,248,220,255,0,245,3,2,0,33,34,255,255,248,220,255,0,255,3,2,0,34,35,238,238,232,205,255,0,9,4,2,0,34,34,205,205,200,177,255,0,19,4,2,0,35,34,139,139,136,120,255,0,29,4,2,0,246,231,220,220,20,60,255,0,37,4,2,0,127,255,255,0,255,255,255,0,42,4,2,0,127,255,255,0,255,255,255,0,48,4,2,0,127,255,238,0,238,238,255,0,54,4,2,0,127,255,205,0,205,205,255,0,60,4,2,0,127,255,139,0,139,139,255,0,66,4,2,0,30,239,184,184,134,11,255,0,80,4,2,0,30,240,255,255,185,15,255,0,95,4,2,0,30,240,238,238,173,14,255,0,110,4,2,0,30,240,205,205,149,12,255,0,125,4,2,0,30,240,139,139,101,8,255,0,140,4,2,0,85,255,100,0,100,0,255,0,150,4,2,0,39,110,189,189,183,107,255,0,160,4,2,0,58,142,107,85,107,47,255,0,175,4,2,0,58,143,255,202,255,112,255,0,191,4,2,0,58,143,238,188,238,104,255,0,207,4,2,0,58,143,205,162,205,90,255,0,223,4,2,0,58,143,139,110,139,61,255,0,239,4,2,0,23,255,255,255,140,0,255,0,250,4,2,0,21,255,255,255,127,0,255,0,6,5,2,0,21,255,238,238,118,0,255,0,18,5,2,0,21,255,205,205,102,0,255,0,30,5,2,0,21,255,139,139,69,0,255,0,42,5,2,0,198,192,204,153,50,204,255,0,53,5,2,0,198,193,255,191,62,255,255,0,65,5,2,0,198,192,238,178,58,238,255,0,77,5,2,0,198,192,205,154,50,205,255,0,89,5,2,0,198,192,139,104,34,139,255,0,101,5,2,0,10,121,233,233,150,122,255,0,112,5,2,0,85,61,188,143,188,143,255,0,125,5,2,0,85,62,255,193,255,193,255,0,139,5,2,0,85,62,238,180,238,180,255,0,153,5,2,0,85,62,205,155,205,155,255,0,167,5,2,0,85,62,139,105,139,105,255,0,181,5,2,0,175,143,139,72,61,139,255,0,195,5,2,0,127,103,79,47,79,79,255,0,209,5,2,0,127,104,255,151,255,255,255,0,224,5,2,0,127,103,238,141,238,238,255,0,239,5,2,0,127,104,205,121,205,205,255,0,254,5,2,0,127,104,139,82,139,139,255,0,13,6,2,0,127,103,79,47,79,79,255,0,27,6,2,0,128,255,209,0,206,209,255,0,41,6,2,0,199,255,211,148,0,211,255,0,52,6,2,0,232,235,255,255,20,147,255,0,61,6,2,0,232,235,255,255,20,147,255,0,71,6,2,0,232,235,238,238,18,137,255,0,81,6,2,0,232,235,205,205,16,118,255,0,91,6,2,0,231,236,139,139,10,80,255,0,101,6,2,0,138,255,255,0,191,255,255,0,113,6,2,0,138,255,255,0,191,255,255,0,126,6,2,0,138,255,238,0,178,238,255,0,139,6,2,0,138,255,205,0,154,205,255,0,152,6,2,0,138,255,139,0,104,139,255,0,165,6,2,0,0,0,105,105,105,105,255,0,173,6,2,0,0,0,105,105,105,105,255,0,181,6,2,0,148,225,255,30,144,255,255,0,192,6,2,0,148,225,255,30,144,255,255,0,204,6,2,0,148,225,238,28,134,238,255,0,216,6,2,0,148,225,205,24,116,205,255,0,228,6,2,0,148,225,139,16,78,139,255,0,240,6,2,0,0,206,178,178,34,34,255,0,250,6,2,0,0,207,255,255,48,48,255,0,5,7,2,0,0,207,238,238,44,44,255,0,16,7,2,0,0,207,205,205,38,38,255,0,27,7,2,0,0,207,139,139,26,26,255,0,38,7,2,0,28,15,255,255,250,240,255,0,50,7,2,0,85,192,139,34,139,34,255,0,62,7,2,0,0,0,220,220,220,220,255,0,72,7,2,0,170,7,255,248,248,255,255,0,83,7,2,0,35,255,255,255,215,0,255,0,88,7,2,0,35,255,255,255,215,0,255,0,94,7,2,0,35,255,238,238,201,0,255,0,100,7,2,0,35,255,205,205,173,0,255,0,106,7,2,0,35,255,139,139,117,0,255,0,112,7,2,0,30,217,218,218,165,32,255,0,122,7,2,0,30,218,255,255,193,37,255,0,133,7,2,0,30,218,238,238,180,34,255,0,144,7,2,0,30,218,205,205,155,29,255,0,155,7,2,0,30,218,139,139,105,20,255,0,166,7,2,0,0,0,192,192,192,192,255,0,171,7,2,0,0,0,0,0,0,0,255,0,177,7,2,0,0,0,3,3,3,3,255,0,183,7,2,0,0,0,26,26,26,26,255,0,190,7,2,0,0,0,255,255,255,255,255,0,198,7,2,0,0,0,28,28,28,28,255,0,205,7,2,0,0,0,31,31,31,31,255,0,212,7,2,0,0,0,33,33,33,33,255,0,219,7,2,0,0,0,36,36,36,36,255,0,226,7,2,0,0,0,38,38,38,38,255,0,233,7,2,0,0,0,41,41,41,41,255,0,240,7,2,0,0,0,43,43,43,43,255,0,247,7,2,0,0,0,46,46,46,46,255,0,254,7,2,0,0,0,48,48,48,48,255,0,5,8,2,0,0,0,5,5,5,5,255,0,11,8,2,0,0,0,51,51,51,51,255,0,18,8,2,0,0,0,54,54,54,54,255,0,25,8,2,0,0,0,56,56,56,56,255,0,32,8,2,0,0,0,59,59,59,59,255,0,39,8,2,0,0,0,61,61,61,61,255,0,46,8,2,0,0,0,64,64,64,64,255,0,53,8,2,0,0,0,66,66,66,66,255,0,60,8,2,0,0,0,69,69,69,69,255,0,67,8,2,0,0,0,71,71,71,71,255,0,74,8,2,0,0,0,74,74,74,74,255,0,81,8,2,0,0,0,8,8,8,8,255,0,87,8,2,0,0,0,77,77,77,77,255,0,94,8,2,0,0,0,79,79,79,79,255,0,101,8,2,0,0,0,82,82,82,82,255,0,108,8,2,0,0,0,84,84,84,84,255,0,115,8,2,0,0,0,87,87,87,87,255,0,122,8,2,0,0,0,89,89,89,89,255,0,129,8,2,0,0,0,92,92,92,92,255,0,136,8,2,0,0,0,94,94,94,94,255,0,143,8,2,0,0,0,97,97,97,97,255,0,150,8,2,0,0,0,99,99,99,99,255,0,157,8,2,0,0,0,10,10,10,10,255,0,163,8,2,0,0,0,102,102,102,102,255,0,170,8,2,0,0,0,105,105,105,105,255,0,177,8,2,0,0,0,107,107,107,107,255,0,184,8,2,0,0,0,110,110,110,110,255,0,191,8,2,0,0,0,112,112,112,112,255,0,198,8,2,0,0,0,115,115,115,115,255,0,205,8,2,0,0,0,117,117,117,117,255,0,212,8,2,0,0,0,120,120,120,120,255,0,219,8,2,0,0,0,122,122,122,122,255,0,226,8,2,0,0,0,125,125,125,125,255,0,233,8,2,0,0,0,13,13,13,13,255,0,239,8,2,0,0,0,127,127,127,127,255,0,246,8,2,0,0,0,130,130,130,130,255,0,253,8,2,0,0,0,133,133,133,133,255,0,4,9,2,0,0,0,135,135,135,135,255,0,11,9,2,0,0,0,138,138,138,138,255,0,18,9,2,0,0,0,140,140,140,140,255,0,25,9,2,0,0,0,143,143,143,143,255,0,32,9,2,0,0,0,145,145,145,145,255,0,39,9,2,0,0,0,148,148,148,148,255,0,46,9,2,0,0,0,150,150,150,150,255,0,53,9,2,0,0,0,15,15,15,15,255,0,59,9,2,0,0,0,153,153,153,153,255,0,66,9,2,0,0,0,156,156,156,156,255,0,73,9,2,0,0,0,158,158,158,158,255,0,80,9,2,0,0,0,161,161,161,161,255,0,87,9,2,0,0,0,163,163,163,163,255,0,94,9,2,0,0,0,166,166,166,166,255,0,101,9,2,0,0,0,168,168,168,168,255,0,108,9,2,0,0,0,171,171,171,171,255,0,115,9,2,0,0,0,173,173,173,173,255,0,122,9,2,0,0,0,176,176,176,176,255,0,129,9,2,0,0,0,18,18,18,18,255,0,135,9,2,0,0,0,179,179,179,179,255,0,142,9,2,0,0,0,181,181,181,181,255,0,149,9,2,0,0,0,184,184,184,184,255,0,156,9,2,0,0,0,186,186,186,186,255,0,163,9,2,0,0,0,189,189,189,189,255,0,170,9,2,0,0,0,191,191,191,191,255,0,177,9,2,0,0,0,194,194,194,194,255,0,184,9,2,0,0,0,196,196,196,196,255,0,191,9,2,0,0,0,199,199,199,199,255,0,198,9,2,0,0,0,201,201,201,201,255,0,205,9,2,0,0,0,20,20,20,20,255,0,211,9,2,0,0,0,204,204,204,204,255,0,218,9,2,0,0,0,207,207,207,207,255,0,225,9,2,0,0,0,209,209,209,209,255,0,232,9,2,0,0,0,212,212,212,212,255,0,239,9,2,0,0,0,214,214,214,214,255,0,246,9,2,0,0,0,217,217,217,217,255,0,253,9,2,0,0,0,219,219,219,219,255,0,4,10,2,0,0,0,222,222,222,222,255,0,11,10,2,0,0,0,224,224,224,224,255,0,18,10,2,0,0,0,227,227,227,227,255,0,25,10,2,0,0,0,23,23,23,23,255,0,31,10,2,0,0,0,229,229,229,229,255,0,38,10,2,0,0,0,232,232,232,232,255,0,45,10,2,0,0,0,235,235,235,235,255,0,52,10,2,0,0,0,237,237,237,237,255,0,59,10,2,0,0,0,240,240,240,240,255,0,66,10,2,0,0,0,242,242,242,242,255,0,73,10,2,0,0,0,245,245,245,245,255,0,80,10,2,0,0,0,247,247,247,247,255,0,87,10,2,0,0,0,250,250,250,250,255,0,94,10,2,0,0,0,252,252,252,252,255,0,101,10,2,0,85,255,255,0,255,0,255,0,107,10,2,0,85,255,255,0,255,0,255,0,114,10,2,0,85,255,238,0,238,0,255,0,121,10,2,0,85,255,205,0,205,0,255,0,128,10,2,0,85,255,139,0,139,0,255,0,135,10,2,0,59,208,255,173,255,47,255,0,147,10,2,0,0,0,192,192,192,192,255,0,152,10,2,0,0,0,0,0,0,0,255,0,158,10,2,0,0,0,3,3,3,3,255,0,164,10,2,0,0,0,26,26,26,26,255,0,171,10,2,0,0,0,255,255,255,255,255,0,179,10,2,0,0,0,28,28,28,28,255,0,186,10,2,0,0,0,31,31,31,31,255,0,193,10,2,0,0,0,33,33,33,33,255,0,200,10,2,0,0,0,36,36,36,36,255,0,207,10,2,0,0,0,38,38,38,38,255,0,214,10,2,0,0,0,41,41,41,41,255,0,221,10,2,0,0,0,43,43,43,43,255],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+40964);allocate([228,10,2,0,0,0,46,46,46,46,255,0,235,10,2,0,0,0,48,48,48,48,255,0,242,10,2,0,0,0,5,5,5,5,255,0,248,10,2,0,0,0,51,51,51,51,255,0,255,10,2,0,0,0,54,54,54,54,255,0,6,11,2,0,0,0,56,56,56,56,255,0,13,11,2,0,0,0,59,59,59,59,255,0,20,11,2,0,0,0,61,61,61,61,255,0,27,11,2,0,0,0,64,64,64,64,255,0,34,11,2,0,0,0,66,66,66,66,255,0,41,11,2,0,0,0,69,69,69,69,255,0,48,11,2,0,0,0,71,71,71,71,255,0,55,11,2,0,0,0,74,74,74,74,255,0,62,11,2,0,0,0,8,8,8,8,255,0,68,11,2,0,0,0,77,77,77,77,255,0,75,11,2,0,0,0,79,79,79,79,255,0,82,11,2,0,0,0,82,82,82,82,255,0,89,11,2,0,0,0,84,84,84,84,255,0,96,11,2,0,0,0,87,87,87,87,255,0,103,11,2,0,0,0,89,89,89,89,255,0,110,11,2,0,0,0,92,92,92,92,255,0,117,11,2,0,0,0,94,94,94,94,255,0,124,11,2,0,0,0,97,97,97,97,255,0,131,11,2,0,0,0,99,99,99,99,255,0,138,11,2,0,0,0,10,10,10,10,255,0,144,11,2,0,0,0,102,102,102,102,255,0,151,11,2,0,0,0,105,105,105,105,255,0,158,11,2,0,0,0,107,107,107,107,255,0,165,11,2,0,0,0,110,110,110,110,255,0,172,11,2,0,0,0,112,112,112,112,255,0,179,11,2,0,0,0,115,115,115,115,255,0,186,11,2,0,0,0,117,117,117,117,255,0,193,11,2,0,0,0,120,120,120,120,255,0,200,11,2,0,0,0,122,122,122,122,255,0,207,11,2,0,0,0,125,125,125,125,255,0,214,11,2,0,0,0,13,13,13,13,255,0,220,11,2,0,0,0,127,127,127,127,255,0,227,11,2,0,0,0,130,130,130,130,255,0,234,11,2,0,0,0,133,133,133,133,255,0,241,11,2,0,0,0,135,135,135,135,255,0,248,11,2,0,0,0,138,138,138,138,255,0,255,11,2,0,0,0,140,140,140,140,255,0,6,12,2,0,0,0,143,143,143,143,255,0,13,12,2,0,0,0,145,145,145,145,255,0,20,12,2,0,0,0,148,148,148,148,255,0,27,12,2,0,0,0,150,150,150,150,255,0,34,12,2,0,0,0,15,15,15,15,255,0,40,12,2,0,0,0,153,153,153,153,255,0,47,12,2,0,0,0,156,156,156,156,255,0,54,12,2,0,0,0,158,158,158,158,255,0,61,12,2,0,0,0,161,161,161,161,255,0,68,12,2,0,0,0,163,163,163,163,255,0,75,12,2,0,0,0,166,166,166,166,255,0,82,12,2,0,0,0,168,168,168,168,255,0,89,12,2,0,0,0,171,171,171,171,255,0,96,12,2,0,0,0,173,173,173,173,255,0,103,12,2,0,0,0,176,176,176,176,255,0,110,12,2,0,0,0,18,18,18,18,255,0,116,12,2,0,0,0,179,179,179,179,255,0,123,12,2,0,0,0,181,181,181,181,255,0,130,12,2,0,0,0,184,184,184,184,255,0,137,12,2,0,0,0,186,186,186,186,255,0,144,12,2,0,0,0,189,189,189,189,255,0,151,12,2,0,0,0,191,191,191,191,255,0,158,12,2,0,0,0,194,194,194,194,255,0,165,12,2,0,0,0,196,196,196,196,255,0,172,12,2,0,0,0,199,199,199,199,255,0,179,12,2,0,0,0,201,201,201,201,255,0,186,12,2,0,0,0,20,20,20,20,255,0,192,12,2,0,0,0,204,204,204,204,255,0,199,12,2,0,0,0,207,207,207,207,255,0,206,12,2,0,0,0,209,209,209,209,255,0,213,12,2,0,0,0,212,212,212,212,255,0,220,12,2,0,0,0,214,214,214,214,255,0,227,12,2,0,0,0,217,217,217,217,255,0,234,12,2,0,0,0,219,219,219,219,255,0,241,12,2,0,0,0,222,222,222,222,255,0,248,12,2,0,0,0,224,224,224,224,255,0,255,12,2,0,0,0,227,227,227,227,255,0,6,13,2,0,0,0,23,23,23,23,255,0,12,13,2,0,0,0,229,229,229,229,255,0,19,13,2,0,0,0,232,232,232,232,255,0,26,13,2,0,0,0,235,235,235,235,255,0,33,13,2,0,0,0,237,237,237,237,255,0,40,13,2,0,0,0,240,240,240,240,255,0,47,13,2,0,0,0,242,242,242,242,255,0,54,13,2,0,0,0,245,245,245,245,255,0,61,13,2,0,0,0,247,247,247,247,255,0,68,13,2,0,0,0,250,250,250,250,255,0,75,13,2,0,0,0,252,252,252,252,255,0,82,13,2,0,85,15,255,240,255,240,255,0,91,13,2,0,85,15,255,240,255,240,255,0,101,13,2,0,85,15,238,224,238,224,255,0,111,13,2,0,85,14,205,193,205,193,255,0,121,13,2,0,85,14,139,131,139,131,255,0,131,13,2,0,233,150,255,255,105,180,255,0,139,13,2,0,234,145,255,255,110,180,255,0,148,13,2,0,235,141,238,238,106,167,255,0,157,13,2,0,236,135,205,205,96,144,255,0,166,13,2,0,234,148,139,139,58,98,255,0,175,13,2,0,0,140,205,205,92,92,255,0,185,13,2,0,0,148,255,255,106,106,255,0,196,13,2,0,0,148,238,238,99,99,255,0,207,13,2,0,0,149,205,205,85,85,255,0,218,13,2,0,0,148,139,139,58,58,255,0,229,13,2,0,194,255,130,75,0,130,255,0,236,13,2,0,42,0,255,255,255,254,0,0,242,13,2,0,42,15,255,255,255,240,255,0,248,13,2,0,42,15,255,255,255,240,255,0,255,13,2,0,42,15,238,238,238,224,255,0,6,14,2,0,42,14,205,205,205,193,255,0,13,14,2,0,42,14,139,139,139,131,255,0,20,14,2,0,38,106,240,240,230,140,255,0,26,14,2,0,39,112,255,255,246,143,255,0,33,14,2,0,39,112,238,238,230,133,255,0,40,14,2,0,39,111,205,205,198,115,255,0,47,14,2,0,39,111,139,139,134,78,255,0,54,14,2,0,170,20,250,230,230,250,255,0,63,14,2,0,240,15,255,255,240,245,255,0,77,14,2,0,240,15,255,255,240,245,255,0,92,14,2,0,239,15,238,238,224,229,255,0,107,14,2,0,240,14,205,205,193,197,255,0,122,14,2,0,239,14,139,139,131,134,255,0,137,14,2,0,64,255,252,124,252,0,255,0,147,14,2,0,38,49,255,255,250,205,255,0,160,14,2,0,38,49,255,255,250,205,255,0,174,14,2,0,37,50,238,238,233,191,255,0,188,14,2,0,38,49,205,205,201,165,255,0,202,14,2,0,39,49,139,139,137,112,255,0,216,14,2,0,137,63,230,173,216,230,255,0,226,14,2,0,138,64,255,191,239,255,255,0,237,14,2,0,138,64,238,178,223,238,255,0,248,14,2,0,138,63,205,154,192,205,255,0,3,15,2,0,137,64,139,104,131,139,255,0,14,15,2,0,0,119,240,240,128,128,255,0,25,15,2,0,127,31,255,224,255,255,255,0,35,15,2,0,127,31,255,224,255,255,255,0,46,15,2,0,127,31,238,209,238,238,255,0,57,15,2,0,127,31,205,180,205,205,255,0,68,15,2,0,127,31,139,122,139,139,255,0,79,15,2,0,35,115,238,238,221,130,255,0,94,15,2,0,35,116,255,255,236,139,255,0,110,15,2,0,35,115,238,238,220,130,255,0,126,15,2,0,35,115,205,205,190,112,255,0,142,15,2,0,35,115,139,139,129,76,255,0,158,15,2,0,42,40,250,250,250,210,255,0,179,15,2,0,0,0,211,211,211,211,255,0,189,15,2,0,0,0,211,211,211,211,255,0,199,15,2,0,248,73,255,255,182,193,255,0,209,15,2,0,249,81,255,255,174,185,255,0,220,15,2,0,248,81,238,238,162,173,255,0,231,15,2,0,249,80,205,205,140,149,255,0,242,15,2,0,249,80,139,139,95,101,255,0,253,15,2,0,12,132,255,255,160,122,255,0,9,16,2,0,12,132,255,255,160,122,255,0,22,16,2,0,11,132,238,238,149,114,255,0,35,16,2,0,12,133,205,205,129,98,255,0,48,16,2,0,12,133,139,139,87,66,255,0,61,16,2,0,125,209,178,32,178,170,255,0,75,16,2,0,143,117,250,135,206,250,255,0,88,16,2,0,143,79,255,176,226,255,255,0,102,16,2,0,143,79,238,164,211,238,255,0,116,16,2,0,142,79,205,141,182,205,255,0,130,16,2,0,143,78,139,96,123,139,255,0,144,16,2,0,175,143,255,132,112,255,255,0,159,16,2,0,148,56,153,119,136,153,255,0,174,16,2,0,148,56,153,119,136,153,255,0,189,16,2,0,151,52,222,176,196,222,255,0,204,16,2,0,151,53,255,202,225,255,255,0,220,16,2,0,151,53,238,188,210,238,255,0,236,16,2,0,151,53,205,162,181,205,255,0,252,16,2,0,150,53,139,110,123,139,255,0,12,17,2,0,42,31,255,255,255,224,255,0,24,17,2,0,42,31,255,255,255,224,255,0,37,17,2,0,42,31,238,238,238,209,255,0,50,17,2,0,42,31,205,205,205,180,255,0,63,17,2,0,42,31,139,139,139,122,255,0,76,17,2,0,85,192,205,50,205,50,255,0,86,17,2,0,21,20,250,250,240,230,255,0,92,17,2,0,212,255,255,255,0,255,255,0,100,17,2,0,212,255,255,255,0,255,255,0,109,17,2,0,212,255,238,238,0,238,255,0,118,17,2,0,212,255,205,205,0,205,255,0,127,17,2,0,212,255,139,139,0,139,255,0,136,17,2,0,239,185,176,176,48,96,255,0,143,17,2,0,228,203,255,255,52,179,255,0,151,17,2,0,228,203,238,238,48,167,255,0,159,17,2,0,228,204,205,205,41,144,255,0,167,17,2,0,228,203,139,139,28,98,255,0,175,17,2,0,113,128,205,102,205,170,255,0,192,17,2,0,170,255,205,0,0,205,255,0,203,17,2,0,204,152,211,186,85,211,255,0,216,17,2,0,203,153,255,224,102,255,255,0,230,17,2,0,203,153,238,209,95,238,255,0,244,17,2,0,203,153,205,180,82,205,255,0,2,18,2,0,203,154,139,122,55,139,255,0,16,18,2,0,183,124,219,147,112,219,255,0,29,18,2,0,183,125,255,171,130,255,255,0,43,18,2,0,183,125,238,159,121,238,255,0,57,18,2,0,183,125,205,137,104,205,255,0,71,18,2,0,183,124,139,93,71,139,255,0,85,18,2,0,103,169,179,60,179,113,255,0,100,18,2,0,176,143,238,123,104,238,255,0,116,18,2,0,111,255,250,0,250,154,255,0,134,18,2,0,125,167,209,72,209,204,255,0,150,18,2,0,228,228,199,199,21,133,255,0,166,18,2,0,170,198,112,25,25,112,255,0,179,18,2,0,106,9,255,245,255,250,255,0,189,18,2,0,4,30,255,255,228,225,255,0,199,18,2,0,4,30,255,255,228,225,255,0,210,18,2,0,4,30,238,238,213,210,255,0,221,18,2,0,3,29,205,205,183,181,255,0,232,18,2,0,5,29,139,139,125,123,255,0,243,18,2,0,26,73,255,255,228,181,255,0,252,18,2,0,25,81,255,255,222,173,255,0,8,19,2,0,25,81,255,255,222,173,255,0,21,19,2,0,25,82,238,238,207,161,255,0,34,19,2,0,25,82,205,205,179,139,255,0,47,19,2,0,25,82,139,139,121,94,255,0,60,19,2,0,170,255,128,0,0,128,255,0,65,19,2,0,170,255,128,0,0,128,255,0,74,19,2,0,42,0,255,255,255,254,0,0,79,19,2,0,27,23,253,253,245,230,255,0,87,19,2,0,56,192,142,107,142,35,255,0,97,19,2,0,56,193,255,192,255,62,255,0,108,19,2,0,56,192,238,179,238,58,255,0,119,19,2,0,56,192,205,154,205,50,255,0,130,19,2,0,56,192,139,105,139,34,255,0,141,19,2,0,27,255,255,255,165,0,255,0,148,19,2,0,27,255,255,255,165,0,255,0,156,19,2,0,27,255,238,238,154,0,255,0,164,19,2,0,27,255,205,205,133,0,255,0,172,19,2,0,27,255,139,139,90,0,255,0,180,19,2,0,11,255,255,255,69,0,255,0,190,19,2,0,11,255,255,255,69,0,255,0,201,19,2,0,11,255,238,238,64,0,255,0,212,19,2,0,11,255,205,205,55,0,255,0,223,19,2,0,11,255,139,139,37,0,255,0,234,19,2,0,214,123,218,218,112,214,255,0,241,19,2,0,214,124,255,255,131,250,255,0,249,19,2,0,214,124,238,238,122,233,255,0,1,20,2,0,214,124,205,205,105,201,255,0,9,20,2,0,213,124,139,139,71,137,255,0,17,20,2,0,38,72,238,238,232,170,255,0,31,20,2,0,85,100,251,152,251,152,255,0,41,20,2,0,85,101,255,154,255,154,255,0,52,20,2,0,85,100,238,144,238,144,255,0,63,20,2,0,85,100,205,124,205,124,255,0,74,20,2,0,85,100,139,84,139,84,255,0,85,20,2,0,127,67,238,175,238,238,255,0,99,20,2,0,127,68,255,187,255,255,255,0,114,20,2,0,127,68,238,174,238,238,255,0,129,20,2,0,127,68,205,150,205,205,255,0,144,20,2,0,127,67,139,102,139,139,255,0,159,20,2,0,241,124,219,219,112,147,255,0,173,20,2,0,241,125,255,255,130,171,255,0,188,20,2,0,241,125,238,238,121,159,255,0,203,20,2,0,241,125,205,205,104,137,255,0,218,20,2,0,241,124,139,139,71,93,255,0,233,20,2,0,26,41,255,255,239,213,255,0,244,20,2,0,20,70,255,255,218,185,255,0,254,20,2,0,20,70,255,255,218,185,255,0,9,21,2,0,19,69,238,238,203,173,255,0,20,21,2,0,19,69,205,205,175,149,255,0,31,21,2,0,20,69,139,139,119,101,255,0,42,21,2,0,20,176,205,205,133,63,255,0,47,21,2,0,247,63,255,255,192,203,255,0,52,21,2,0,245,73,255,255,181,197,255,0,58,21,2,0,245,73,238,238,169,184,255,0,64,21,2,0,245,74,205,205,145,158,255,0,70,21,2,0,245,73,139,139,99,108,255,0,76,21,2,0,212,70,221,221,160,221,255,0,81,21,2,0,212,68,255,255,187,255,255,0,87,21,2,0,212,68,238,238,174,238,255,0,93,21,2,0,212,68,205,205,150,205,255,0,99,21,2,0,212,67,139,139,102,139,255,0,105,21,2,0,132,59,230,176,224,230,255,0,116,21,2,0,196,221,240,160,32,240,255,0,123,21,2,0,191,207,255,155,48,255,255,0,131,21,2,0,192,207,238,145,44,238,255,0,139,21,2,0,192,207,205,125,38,205,255,0,147,21,2,0,192,207,139,85,26,139,255,0,155,21,2,0,0,255,255,255,0,0,255,0,159,21,2,0,0,255,255,255,0,0,255,0,164,21,2,0,0,255,238,238,0,0,255,0,169,21,2,0,0,255,205,205,0,0,255,0,174,21,2,0,0,255,139,139,0,0,255,0,179,21,2,0,0,61,188,188,143,143,255,0,189,21,2,0,0,62,255,255,193,193,255,0,200,21,2,0,0,62,238,238,180,180,255,0,211,21,2,0,0,62,205,205,155,155,255,0,222,21,2,0,0,62,139,139,105,105,255,0,233,21,2,0,159,181,225,65,105,225,255,0,243,21,2,0,159,183,255,72,118,255,255,0,254,21,2,0,159,183,238,67,110,238,255,0,9,22,2,0,159,182,205,58,95,205,255,0,20,22,2,0,159,183,139,39,64,139,255,0,31,22,2,0,17,220,139,139,69,19,255,0,43,22,2,0,4,138,250,250,128,114,255,0,50,22,2,0,9,150,255,255,140,105,255,0,58,22,2,0,9,150,238,238,130,98,255,0,66,22,2,0,9,150,205,205,112,84,255,0,74,22,2,0,9,150,139,139,76,57,255,0,82,22,2,0,19,154,244,244,164,96,255,0,93,22,2,0,103,170,139,46,139,87,255,0,102,22,2,0,103,171,255,84,255,159,255,0,112,22,2,0,103,171,238,78,238,148,255,0,122,22,2,0,103,171,205,67,205,128,255,0,132,22,2,0,103,170,139,46,139,87,255,0,142,22,2,0,17,16,255,255,245,238,255,0,151,22,2,0,17,16,255,255,245,238,255,0,161,22,2,0,18,17,238,238,229,222,255,0,171,22,2,0,18,17,205,205,197,191,255,0,181,22,2,0,18,16,139,139,134,130,255,0,191,22,2,0,13,183,160,160,82,45,255,0,198,22,2,0,13,184,255,255,130,71,255,0,206,22,2,0,13,184,238,238,121,66,255,0,214,22,2,0,13,184,205,205,104,57,255,0,222,22,2,0,13,185,139,139,71,38,255,0,230,22,2,0,139,108,235,135,206,235,255,0,238,22,2,0,144,120,255,135,206,255,255,0,247,22,2,0,144,120,238,126,192,238,255,0,0,23,2,0,144,120,205,108,166,205,255,0,9,23,2,0,145,119,139,74,112,139,255,0,18,23,2,0,175,143,205,106,90,205,255,0,28,23,2,0,175,144,255,131,111,255,255,0,39,23,2,0,175,144,238,122,103,238,255,0,50,23,2,0,175,144,205,105,89,205,255,0,61,23,2,0,175,144,139,71,60,139,255,0,72,23,2,0,148,56,144,112,128,144,255,0,82,23,2,0,149,56,255,198,226,255,255,0,93,23,2,0,149,56,238,185,211,238,255,0,104,23,2,0,148,57,205,159,182,205,255,0,115,23,2,0,149,56,139,108,123,139,255,0,126,23,2,0,148,56,144,112,128,144,255,0,136,23,2,0,0,5,255,255,250,250,255,0,141,23,2,0,0,5,255,255,250,250,255,0,147,23,2,0,0,5,238,238,233,233,255,0,153,23,2,0,0,4,205,205,201,201,255,0,159,23,2,0,0,3,139,139,137,137,255,0,165,23,2,0,106,255,255,0,255,127,255,0,177,23,2,0,106,255,255,0,255,127,255,0,190,23,2,0,106,255,238,0,238,118,255,0,203,23,2,0,106,255,205,0,205,102,255,0,216,23,2,0,106,255,139,0,139,69,255,0,229,23,2,0,146,155,180,70,130,180,255,0,239,23,2,0,146,156,255,99,184,255,255,0,250,23,2,0,146,156,238,92,172,238,255,0,5,24,2,0,146,156,205,79,148,205,255,0,16,24,2,0,147,155,139,54,100,139,255,0,27,24,2,0,24,84,210,210,180,140,255,0,31,24,2,0,20,176,255,255,165,79,255,0,36,24,2,0,20,176,238,238,154,73,255,0,41,24,2,0,20,176,205,205,133,63,255,0,46,24,2,0,20,176,139,139,90,43,255,0,51,24,2,0,212,29,216,216,191,216,255,0,59,24,2,0,212,30,255,255,225,255,255,0,68,24,2,0,212,30,238,238,210,238,255,0,77,24,2,0,212,29,205,205,181,205,255,0,86,24,2,0,212,29,139,139,123,139,255,0,95,24,2,0,6,184,255,255,99,71,255,0,102,24,2,0,6,184,255,255,99,71,255,0,110,24,2,0,6,184,238,238,92,66,255,0,118,24,2,0,6,184,205,205,79,57,255,0,126,24,2,0,6,185,139,139,54,38,255,0,208,25,2,0,42,0,255,255,255,254,0,0,134,24,2,0,123,182,224,64,224,208,255,0,144,24,2,0,129,255,255,0,245,255,255,0,155,24,2,0,129,255,238,0,229,238,255,0,166,24,2,0,129,255,205,0,197,205,255,0,177,24,2,0,129,255,139,0,134,139,255,0,188,24,2,0,212,115,238,238,130,238,255,0,195,24,2,0,227,215,208,208,32,144,255,0,205,24,2,0,235,193,255,255,62,150,255,0,216,24,2,0,235,192,238,238,58,140,255,0,227,24,2,0,235,192,205,205,50,120,255,0,238,24,2,0,235,192,139,139,34,82,255,0,249,24,2,0,27,68,245,245,222,179,255,0,255,24,2,0,27,69,255,255,231,186,255,0,6,25,2,0,27,68,238,238,216,174,255,0,13,25,2,0,27,68,205,205,186,150,255,0,20,25,2,0,27,67,139,139,126,102,255,0,27,25,2,0,0,0,255,255,255,255,255,0,33,25,2,0,0,0,245,245,245,245,255,0,44,25,2,0,42,255,255,255,255,0,255,0,51,25,2,0,42,255,255,255,255,0,255,0,59,25,2,0,42,255,238,238,238,0,255,0,67,25,2,0,42,255,205,205,205,0,255,0,75,25,2,0,42,255,139,139,139,0,255,0,83,25,2,0,56,192,205,154,205,50,255,0,201,29,2,0,227,25,2,0,229,25,2,0,231,25,2,0,233,25,2,0,235,25,2,0,237,25,2,0,239,25,2,0,241,25,2,0,243,25,2,0,245,25,2,0,248,25,2,0,251,25,2,0,254,25,2,0,1,26,2,0,4,26,2,0,7,26,2,0,10,26,2,0,13,26,2,0,16,26,2,0,19,26,2,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,54,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,27,2,0,149,28,2,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,38,2,0,9,0,0,0,251,38,2,0,10,0,0,0,4,39,2,0,11,0,0,0,70,39,2,0,12,0,0,0,76,39,2,0,13,0,0,0,81,39,2,0,14,0,0,0,4,39,2,0,15,0,0,0,217,39,2,0,16,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,7,40,2,0,22,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,59,40,2,0,29,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,4,39,2,0,36,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,98,42,2,0,37,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,109,42,2,0,38,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,117,42,2,0,39,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,0,0,0,0,76,45,2,0,90,45,2,0,103,45,2,0,120,45,2,0,152,45,2,0,167,45,2,0,185,45,2,0,200,45,2,0,220,45,2,0,248,45,2,0,27,46,2,0,44,46,2,0,71,46,2,0,91,46,2,0,129,46,2,0,156,46,2,0,198,46,2,0,245,46,2,0,6,47,2,0,57,47,2,0,80,47,2,0,126,47,2,0,153,47,2,0,204,47,2,0,240,47,2,0,36,48,2,0,81,48,2,0,96,48,2,0,122,48,2,0,160,48,2,0,192,48,2,0,225,48,2,0,3,49,2,0,20,49,2,0,41,49,2,0,57,49,2,0,74,49,2,0,118,49,2,0,198,49,2,0,1,50,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,4,254,255,255,135,254,255,255,7,0,0,0,0,0,0,0,0,255,255,127,255,255,255,127,255,255,255,255,255,255,255,243,127,254,253,255,255,255,255,255,127,255,255,255,255,255,255,255,255,15,224,255,255,255,255,49,252,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,3,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,0,0,0,0,0,0,0,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,254,7,0,0,0,0,254,255,255,255,255,255,255,255,255,124,255,127,47,0,96,0,0,0,224,255,255,255,255,255,255,35,0,0,0,255,3,0,0,0,224,159,249,255,255,253,197,3,0,0,0,176,3,0,3,0,224,135,249,255,255,253,109,3,0,0,0,94,0,0,28,0,224,175,251,255,255,253,237,35,0,0,0,0,1,0,0,0,224,159,249,255,255,253,205,35,0,0,0,176,3,0,0,0,224,199,61,214,24,199,191,3,0,0,0,0,0,0,0,0,224,223,253,255,255,253,239,3,0,0,0,0,3,0,0,0,224,223,253,255,255,253,239,3,0,0,0,64,3,0,0,0,224,223,253,255,255,253,255,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,13,0,63,0,0,0,0,0,0,0,150,37,240,254,174,108,13,32,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,254,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,63,0,255,255,255,255,127,0,237,218,7,0,0,0,0,80,1,80,49,130,171,98,44,0,0,0,0,64,0,201,128,245,7,0,0,0,0,8,1,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,3,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,64,76,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,254,3,0,0,254,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,7,224,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,255,7,254,255,255,135,254,255,255,7,0,0,0,0,0,0,128,0,255,255,127,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,3,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,3,0,0,0,192,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,123,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,254,255,251,255,255,187,22,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,255,255,7,0,255,3,255,255,255,255,255,255,255,255,255,124,255,127,239,255,255,61,255,3,238,255,255,255,255,255,255,243,255,63,30,255,207,255,0,0,238,159,249,255,255,253,197,211,159,57,128,176,207,255,3,0,228,135,249,255,255,253,109,211,135,57,0,94,192,255,31,0,238,175,251,255,255,253,237,243,191,59,0,0,193,255,0,0,238,159,249,255,255,253,205,243,143,57,192,176,195,255,0,0,236,199,61,214,24,199,191,195,199,61,128,0,128,255,0,0,238,223,253,255,255,253,239,195,223,61,96,0,195,255,0,0,236,223,253,255,255,253,239,195,223,61,96,64,195,255,0,0,236,223,253,255,255,253,255,195,207,61,128,0,195,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,255,7,255,127,255,3,0,0,0,0,150,37,240,254,174,108,255,59,95,63,255,3,0,0,0,0,0,0,0,3,255,3,160,194,255,254,255,255,255,3,254,255,223,15,191,254,255,63,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,31,2,0,0,0,160,0,0,0,254,255,62,0,254,255,255,255,255,255,255,255,255,255,31,102,254,255,255,255,255,255,255,255,255,255,255,119,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,224,221,0,0,76,231,0,0,192,229,0,0,188,232,0,0,188,232,0,0,44,234,0,0,192,229,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,142,1,0,71,52,2,0,128,143,1,0,80,52,2,0,87,52,2,0,96,52,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,64,237,0,0,176,238,0,0,32,240,0,0,144,241,0,0,144,241,0,0,0,243,0,0,32,240,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+51204);allocate([25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,52,2,0,248,52,2,0,251,52,2,0,1,53,2,0,155,52,2,0,8,53,2,0,17,53,2,0,25,53,2,0,172,244,0,0,20,0,0,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,0,0,0,0,222,18,4,149,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,144,245,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,19,0,0,0,22,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,231,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,247,0,0,9,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,19,0,0,0,30,251,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,247,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,19,0,0,0,38,255,2,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,131,249,162,0,68,78,110,0,252,41,21,0,209,87,39,0,221,52,245,0,98,219,192,0,60,153,149,0,65,144,67,0,99,81,254,0,187,222,171,0,183,97,197,0,58,110,36,0,210,77,66,0,73,6,224,0,9,234,46,0,28,146,209,0,235,29,254,0,41,177,28,0,232,62,167,0,245,53,130,0,68,187,46,0,156,233,132,0,180,38,112,0,65,126,95,0,214,145,57,0,83,131,57,0,156,244,57,0,139,95,132,0,40,249,189,0,248,31,59,0,222,255,151,0,15,152,5,0,17,47,239,0,10,90,139,0,109,31,109,0,207,126,54,0,9,203,39,0,70,79,183,0,158,102,63,0,45,234,95,0,186,39,117,0,229,235,199,0,61,123,241,0,247,57,7,0,146,82,138,0,251,107,234,0,31,177,95,0,8,93,141,0,48,3,86,0,123,252,70,0,240,171,107,0,32,188,207,0,54,244,154,0,227,169,29,0,94,97,145,0,8,27,230,0,133,153,101,0,160,20,95,0,141,64,104,0,128,216,255,0,39,115,77,0,6,6,49,0,202,86,21,0,201,168,115,0,123,226,96,0,107,140,192,0,116,0,0,0,146,88,2,0,110,0,0,0,148,88,2,0,114,0,0,0,150,88,2,0,102,0,0,0,152,88,2,0,97,0,0,0,154,88,2,0,101,0,0,0,156,88,2,0,119,0,0,0,158,88,2,0,87,0,0,0,171,88,2,0,115,0,0,0,185,88,2,0,83,0,0,0,197,88,2,0,100,0,0,0,210,88,2,0,68,0,0,0,222,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,0,27,0,27,0,32,0,32,0,35,0,33,0,10,0,2,0,22,0,9,0,33,0,33,0,33,0,21,0,28,0,1,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,27,0,2,0,23,0,27,0,32,0,31,0,30,0,29,0,9,0,19,0,0,0,21,0,18,0,21,0,3,0,7,0,21,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,5,0,6,0,27,0,26,0,24,0,25,0,32,0,7,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,11,0,20,0,13,0,20,0,12,0,20,0,20,0,20,0,14,0,20,0,20,0,20,0,16,0,20,0,15,0,20,0,17,0,0,0,0,0,0,0,174,0,46,0,47,0,51,0,53,0,48,0,55,0,170,0,219,0,219,0,219,0,219,0,0,0,61,0,135,0,55,0,55,0,219,0,219,0,0,0,40,0,53,0,46,0,50,0,47,0,98,0,0,0,0,0,71,0,0,0,0,0,219,0,81,0,0,0,219,0,219,0,219,0,0,0,219,0,132,0,85,0,219,0,130,0,219,0,0,0,129,0,219,0,0,0,62,0,66,0,65,0,72,0,68,0,82,0,91,0,0,0,0,0,94,0,95,0,219,0,0,0,219,0,219,0,219,0,0,0,0,0,123,0,73,0,87,0,82,0,90,0,90,0,93,0,0,0,95,0,0,0,95,0,0,0,101,0,93,0,95,0,0,0,93,0,110,0,106,0,0,0,105,0,0,0,110,0,0,0,219,0,147,0,154,0,161,0,168,0,171,0,112,0,177,0,184,0,191,0,198,0,205,0,211,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,4,0,7,0,3,0,4,0,5,0,5,0,6,0,6,0,8,0,7,0,7,0,17,0,22,0,18,0,17,0,18,0,8,0,8,0,15,0,15,0,23,0,15,0,24,0,15,0,25,0,26,0,26,0,30,0,22,0,52,0,30,0,5,0,50,0,6,0,34,0,34,0,51,0,23,0,24,0,53,0,25,0,26,0,26,0,42,0,54,0,42,0,52,0,55,0,50,0,69,0,59,0,60,0,51,0,59,0,60,0,70,0,53,0,71,0,72,0,76,0,54,0,34,0,73,0,74,0,55,0,69,0,78,0,80,0,98,0,81,0,82,0,84,0,70,0,71,0,85,0,72,0,76,0,86,0,73,0,74,0,88,0,90,0,78,0,68,0,80,0,81,0,82,0,84,0,56,0,47,0,44,0,85,0,41,0,86,0,27,0,16,0,88,0,90,0,93,0,93,0,93,0,93,0,93,0,93,0,93,0,94,0,94,0,94,0,94,0,94,0,94,0,94,0,95,0,95,0,95,0,95,0,95,0,95,0,95,0,96,0,9,0,96,0,96,0,96,0,96,0,96,0,97,0,97,0,99,0,2,0,99,0,99,0,99,0,99,0,99,0,100,0,0,0,100,0,0,0,100,0,100,0,100,0,101,0,0,0,101,0,101,0,101,0,101,0,101,0,102,0,102,0,0,0,102,0,102,0,102,0,102,0,103,0,0,0,103,0,103,0,103,0,103,0,104,0,0,0,104,0,104,0,104,0,104,0,104,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,92,0,1,0,93,0,93,0,94,0,94,0,95,0,95,0,92,0,92,0,92,0,92,0,92,0,96,0,92,0,92,0,92,0,97,0,92,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,102,0,102,0,92,0,92,0,103,0,92,0,92,0,92,0,96,0,92,0,92,0,97,0,92,0,97,0,92,0,104,0,97,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,101,0,92,0,102,0,92,0,92,0,92,0,103,0,104,0,97,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,10,0,11,0,12,0,13,0,14,0,10,0,15,0,16,0,17,0,18,0,19,0,10,0,20,0,21,0,21,0,21,0,22,0,23,0,21,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,10,0,21,0,21,0,21,0,22,0,23,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,21,0,21,0,27,0,12,0,12,0,36,0,30,0,30,0,32,0,33,0,32,0,33,0,36,0,37,0,38,0,45,0,50,0,47,0,46,0,42,0,37,0,38,0,40,0,41,0,51,0,42,0,52,0,43,0,53,0,54,0,55,0,60,0,50,0,71,0,61,0,34,0,69,0,34,0,63,0,64,0,70,0,51,0,52,0,72,0,53,0,54,0,55,0,47,0,73,0,42,0,71,0,74,0,69,0,76,0,92,0,60,0,70,0,92,0,61,0,77,0,72,0,78,0,79,0,82,0,73,0,65,0,80,0,81,0,74,0,76,0,83,0,84,0,49,0,85,0,86,0,87,0,77,0,78,0,88,0,79,0,82,0,89,0,80,0,81,0,90,0,91,0,83,0,68,0,84,0,85,0,86,0,87,0,75,0,68,0,44,0,88,0,44,0,89,0,56,0,44,0,90,0,91,0,29,0,29,0,29,0,29,0,29,0,29,0,29,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,39,0,92,0,39,0,39,0,39,0,39,0,39,0,48,0,48,0,57,0,28,0,57,0,57,0,57,0,57,0,57,0,58,0,92,0,58,0,92,0,58,0,58,0,58,0,59,0,92,0,59,0,59,0,59,0,59,0,59,0,62,0,62,0,92,0,62,0,62,0,62,0,62,0,66,0,92,0,66,0,66,0,66,0,66,0,67,0,92,0,67,0,67,0,67,0,67,0,67,0,9,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,8,0,174,255,209,0,10,0,174,255,174,255,11,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,5,0,209,0,174,255,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,174,255,251,255,174,255,14,0,236,255,174,255,174,255,174,255,174,255,209,0,209,0,209,0,209,0,209,0,13,0,37,0,12,0,66,0,16,0,80,0,19,0,109,0,123,0,20,0,152,0,15,0,166,0,195,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,23,0,174,255,119,0,174,255,7,0,46,0,174,255,38,0,174,255,23,0,17,0,35,0,174,255,13,0,174,255,174,255,174,255,174,255,58,0,174,255,174,255,53,0,174,255,174,255,174,255,40,0,174,255,7,0,174,255,59,0,69,0,174,255,72,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,252,255,232,0,246,255,255,255,26,0,0,0,39,0,1,0,50,0,174,255,174,255,2,0,36,0,3,0,47,0,174,255,174,255,174,255,174,255,174,255,254,255,148,0,174,255,9,0,27,0,174,255,188,255,174,255,174,255,175,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,0,0,0,0,0,0,109,230,236,222,5,0,11,0,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,123,32,118,97,114,32,112,97,116,104,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,59,32,118,97,114,32,100,97,116,97,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,59,32,70,83,46,99,114,101,97,116,101,80,97,116,104,40,34,47,34,44,32,80,65,84,72,46,100,105,114,110,97,109,101,40,112,97,116,104,41,41,59,32,70,83,46,119,114,105,116,101,70,105,108,101,40,80,65,84,72,46,106,111,105,110,40,34,47,34,44,32,112,97,116,104,41,44,32,100,97,116,97,41,59,32,125,0,99,111,114,101,0,120,100,111,116,118,101,114,115,105,111,110,0,49,46,55,0,49,46,52,0,49,46,50,0,95,108,100,114,97,119,95,0,95,104,100,114,97,119,95,0,95,116,100,114,97,119,95,0,95,104,108,100,114,97,119,95,0,95,116,108,100,114,97,119,95,0,120,100,111,116,32,118,101,114,115,105,111,110,32,34,37,115,34,32,116,111,111,32,108,111,110,103,0,32,37,100,32,0,37,46,48,50,102,0,37,115,37,100,32,45,0,35,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,115,101,116,108,105,110,101,119,105,100,116,104,40,0,37,46,51,102,0,83,32,0,67,32,0,50,32,0,69,32,0,101,32,0,70,32,0,116,32,37,117,32,0,84,32,0,100,111,116,58,100,111,116,0,103,118,58,100,111,116,0,99,97,110,111,110,58,100,111,116,0,112,108,97,105,110,58,100,111,116,0,112,108,97,105,110,45,101,120,116,58,100,111,116,0,120,100,111,116,58,120,100,111,116,0,120,100,111,116,49,46,50,58,120,100,111,116,0,120,100,111,116,49,46,52,58,120,100,111,116,0,73,32,0,34,95,115,117,98,103,114,97,112,104,95,99,110,116,34,58,32,37,100,0,34,95,103,118,105,100,34,58,32,37,100,0,34,101,100,103,101,115,34,58,32,91,10,0,34,95,103,118,105,100,34,58,32,37,100,44,10,0,34,116,97,105,108,34,58,32,37,100,44,10,0,34,104,101,97,100,34,58,32,37,100,0,34,111,98,106,101,99,116,115,34,58,32,91,10,0,34,110,111,100,101,115,34,58,32,91,10,0,34,110,97,109,101,34,58,32,34,37,115,34,0,92,34,0,92,47,0,92,98,0,92,102,0,92,110,0,92,114,0,92,116,0,34,115,117,98,103,114,97,112,104,115,34,58,32,91,10,0,34,37,115,34,58,32,0,34,37,115,34,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,120,100,111,116,32,34,37,115,34,10,0,91,10,0,34,111,112,34,58,32,34,37,99,34,44,10,0,34,114,101,99,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,10,0,34,111,112,34,58,32,34,76,34,44,10,0,34,111,112,34,58,32,34,84,34,44,10,0,34,112,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,97,108,105,103,110,34,58,32,34,37,99,34,44,10,0,34,119,105,100,116,104,34,58,32,37,46,48,51,102,44,10,0,34,116,101,120,116,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,110,111,110,101,34,44,10,0,34,99,111,108,111,114,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,108,105,110,101,97,114,34,44,10,0,34,103,114,97,100,34,58,32,34,114,97,100,105,97,108,34,44,10,0,34,111,112,34,58,32,34,70,34,44,10,0,34,115,105,122,101,34,58,32,37,46,48,51,102,44,10,0,34,102,97,99,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,83,34,44,10,0,34,115,116,121,108,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,116,34,44,10,0,34,102,111,110,116,99,104,97,114,34,58,32,37,100,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,115,116,111,112,115,34,58,32,91,0,123,34,102,114,97,99,34,58,32,37,46,48,51,102,44,32,34,99,111,108,111,114,34,58,32,34,37,115,34,125,0,93,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,111,105,110,116,115,34,58,32,91,0,91,37,46,48,51,102,44,37,46,48,51,102,93,0,100,114,97,119,95,0,108,100,114,97,119,95,0,104,100,114,97,119,95,0,116,100,114,97,119,95,0,104,108,100,114,97,119,95,0,116,108,100,114,97,119,95,0,34,100,105,114,101,99,116,101,100,34,58,32,37,115,44,10,0,34,115,116,114,105,99,116,34,58,32,37,115,0,68,117,112,108,105,99,97,116,101,32,99,108,117,115,116,101,114,32,110,97,109,101,32,34,37,115,34,10,0,120,100,111,116,0,106,115,111,110,0,106,115,111,110,48,0,100,111,116,95,106,115,111,110,0,120,100,111,116,95,106,115,111,110,0,106,115,111,110,58,106,115,111,110,0,106,115,111,110,48,58,106,115,111,110,0,100,111,116,95,106,115,111,110,58,106,115,111,110,0,120,100,111,116,95,106,115,111,110,58,106,115,111,110,0,110,32,62,61,32,52,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,102,105,103,46,99,0,102,105,103,95,98,101,122,105,101,114,0,102,105,103,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,102,105,103,0,102,105,103,58,102,105,103,0,109,97,112,0,114,101,99,116,32,37,115,32,37,100,44,37,100,32,37,100,44,37,100,10,0,99,105,114,99,108,101,32,37,115,32,37,100,44,37,100,44,37,100,10,0,112,111,108,121,32,37,115,0,32,37,100,44,37,100,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,97,112,46,99,0,109,97,112,95,111,117,116,112,117,116,95,115,104,97,112,101,0,114,101,99,116,97,110,103,108,101,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,32,37,115,32,37,115,10,0,60,97,114,101,97,32,115,104,97,112,101,61,34,99,105,114,99,108,101,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,114,101,99,116,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,112,111,108,121,34,0,32,104,114,101,102,61,34,0,32,116,105,116,108,101,61,34,0,32,97,108,116,61,34,34,0,32,99,111,111,114,100,115,61,34,0,37,100,44,37,100,44,37,100,0,37,100,44,37,100,44,37,100,44,37,100,0,37,100,44,37,100,0,44,37,100,44,37,100,0,34,62,10,0,60,47,109,97,112,62,10,0,98,97,115,101,32,114,101,102,101,114,101,114,10,0,100,101,102,97,117,108,116,32,0,60,109,97,112,32,105,100,61,34,0,34,32,110,97,109,101,61,34,0,105,115,109,97,112,58,109,97,112,0,99,109,97,112,58,109,97,112,0,105,109,97,112,58,109,97,112,0,99,109,97,112,120,58,109,97,112,0,105,109,97,112,95,110,112,58,109,97,112,0,99,109,97,112,120,95,110,112,58,109,97,112,0,35,32,37,115,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,51,102,32,37,100,32,37,46,52,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,35,37,48,50,120,37,48,50,120,37,48,50,120,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,112,46,99,0,109,112,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,46,52,102,32,37,100,32,37,46,49,102,32,37,46,49,102,32,37,100,32,37,100,32,37,115,92,48,48,49,10,0,35,32,101,110,100,32,111,102,32,70,73,71,32,102,105,108,101,10,0,35,70,73,71,32,51,46,50,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,35,32,84,105,116,108,101,58,32,37,115,10,0,35,32,80,97,103,101,115,58,32,37,100,10,0,80,111,114,116,114,97,105,116,10,0,67,101,110,116,101,114,10,0,73,110,99,104,101,115,10,0,76,101,116,116,101,114,10,0,49,48,48,46,48,48,10,0,83,105,110,103,108,101,10,0,45,50,10,0,49,50,48,48,0,32,50,10,0,109,112,0,109,112,58,109,112,0,32,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,32,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,32,115,101,116,108,105,110,101,119,105,100,116,104,10,0,37,115,32,0,115,101,116,104,115,98,0,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,115,99,111,108,111,114,10,0,37,32,0,110,101,119,112,97,116,104,32,0,32,109,111,118,101,116,111,10,0,32,108,105,110,101,116,111,10,0,115,116,114,111,107,101,10,0,32,99,117,114,118,101,116,111,10,0,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,0,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,102,105,108,108,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,115,116,114,111,107,101,10,0,32,47,37,115,32,115,101,116,95,102,111,110,116,10,0,32,109,111,118,101,116,111,32,0,32,37,115,32,97,108,105,103,110,101,100,116,101,120,116,10,0,91,32,47,82,101,99,116,32,91,32,0,32,93,10,0,32,32,47,66,111,114,100,101,114,32,91,32,48,32,48,32,48,32,93,10,32,32,47,65,99,116,105,111,110,32,60,60,32,47,83,117,98,116,121,112,101,32,47,85,82,73,32,47,85,82,73,32,37,115,32,62,62,10,32,32,47,83,117,98,116,121,112,101,32,47,76,105,110,107,10,47,65,78,78,32,112,100,102,109,97,114,107,10,0,103,115,97,118,101,10,0,37,37,32,37,115,10,0,48,32,48,32,48,32,101,100,103,101,99,111,108,111,114,10,0,101,110,100,112,97,103,101,10,115,104,111,119,112,97,103,101,10,103,114,101,115,116,111,114,101,10,0,37,37,80,97,103,101,84,114,97,105,108,101,114,10,0,37,37,37,37,69,110,100,80,97,103,101,58,32,37,100,10,0,37,37,37,37,80,97,103,101,58,32,37,100,32,37,100,10,0,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,76,97,110,100,115,99,97,112,101,0,80,111,114,116,114,97,105,116,0,37,37,37,37,80,97,103,101,79,114,105,101,110,116,97,116,105,111,110,58,32,37,115,10,0,60,60,32,47,80,97,103,101,83,105,122,101,32,91,37,100,32,37,100,93,32,62,62,32,115,101,116,112,97,103,101,100,101,118,105,99,101,10,0,37,100,32,37,100,32,37,100,32,98,101,103,105,110,112,97,103,101,10,0,103,115,97,118,101,10,37,100,32,37,100,32,37,100,32,37,100,32,98,111,120,112,114,105,109,32,99,108,105,112,32,110,101,119,112,97,116,104,10,0,37,103,32,37,103,32,115,101,116,95,115,99,97,108,101,32,37,100,32,114,111,116,97,116,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,10,0,99,97,110,118,97,115,32,115,105,122,101,32,40,37,100,44,37,100,41,32,101,120,99,101,101,100,115,32,80,68,70,32,108,105,109,105,116,32,40,37,100,41,10,9,40,115,117,103,103,101,115,116,32,115,101,116,116,105,110,103,32,97,32,98,111,117,110,100,105,110,103,32,98,111,120,32,115,105,122,101,44,32,115,101,101,32,100,111,116,40,49,41,41,10,0,91,32,47,67,114,111,112,66,111,120,32,91,37,100,32,37,100,32,37,100,32,37,100,93,32,47,80,65,71,69,83,32,112,100,102,109,97,114,107,10,0,37,100,32,37,100,32,115,101,116,108,97,121,101,114,10,0,37,37,37,37,84,105,116,108,101,58,32,37,115,10,0,37,37,80,97,103,101,115,58,32,40,97,116,101,110,100,41,10,0,37,37,80,97,103,101,115,58,32,49,10,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,37,69,110,100,67,111,109,109,101,110,116,115,10,115,97,118,101,10,0,115,101,116,117,112,76,97,116,105,110,49,10,0,91,32,123,67,97,116,97,108,111,103,125,32,60,60,32,47,85,82,73,32,60,60,32,47,66,97,115,101,32,37,115,32,62,62,32,62,62,10,47,80,85,84,32,112,100,102,109,97,114,107,10,0,37,37,66,101,103,105,110,80,114,111,108,111,103,0,47,68,111,116,68,105,99,116,32,50,48,48,32,100,105,99,116,32,100,101,102,0,68,111,116,68,105,99,116,32,98,101,103,105,110,0,47,115,101,116,117,112,76,97,116,105,110,49,32,123,0,109,97,114,107,0,47,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,50,53,54,32,97,114,114,97,121,32,100,101,102,0,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,48,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,32,48,32,50,53,53,32,103,101,116,105,110,116,101,114,118,97,108,32,112,117,116,105,110,116,101,114,118,97,108,0,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,52,53,32,47,104,121,112,104,101,110,32,112,117,116,0,37,32,83,101,116,32,117,112,32,73,83,79,32,76,97,116,105,110,32,49,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,0,47,115,116,97,114,110,101,116,73,83,79,32,123,0,32,32,32,32,32,32,32,32,100,117,112,32,100,117,112,32,102,105,110,100,102,111,110,116,32,100,117,112,32,108,101,110,103,116,104,32,100,105,99,116,32,98,101,103,105,110,0,32,32,32,32,32,32,32,32,123,32,49,32,105,110,100,101,120,32,47,70,73,68,32,110,101,32,123,32,100,101,102,32,125,123,32,112,111,112,32,112,111,112,32,125,32,105,102,101,108,115,101,0,32,32,32,32,32,32,32,32,125,32,102,111,114,97,108,108,0,32,32,32,32,32,32,32,32,47,69,110,99,111,100,105,110,103,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,100,101,102,0,32,32,32,32,32,32,32,32,99,117,114,114,101,110,116,100,105,99,116,32,101,110,100,32,100,101,102,105,110,101,102,111,110,116,0,125,32,100,101,102,0,47,84,105,109,101,115,45,82,111,109,97,110,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,99,108,101,97,114,116,111,109,97,114,107,0,125,32,98,105,110,100,32,100,101,102,0,37,37,66,101,103,105,110,82,101,115,111,117,114,99,101,58,32,112,114,111,99,115,101,116,32,103,114,97,112,104,118,105,122,32,48,32,48,0,47,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,99,111,111,114,100,102,111,110,116,32,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,102,105,110,100,102,111,110,116,32,56,32,115,99,97,108,101,102,111,110,116,32,100,101,102,0,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,49,46,48,32,100,101,102,0,47,115,101,116,95,115,99,97,108,101,32,123,0,32,32,32,32,32,32,32,100,117,112,32,49,32,101,120,99,104,32,100,105,118,32,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,101,120,99,104,32,100,101,102,0,32,32,32,32,32,32,32,115,99,97,108,101,0,37,32,115,116,121,108,101,115,0,47,115,111,108,105,100,32,123,32,91,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,97,115,104,101,100,32,123,32,91,57,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,100,117,112,32,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,111,116,116,101,100,32,123,32,91,49,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,54,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,105,110,118,105,115,32,123,47,102,105,108,108,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,116,114,111,107,101,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,104,111,119,32,123,112,111,112,32,110,101,119,112,97,116,104,125,32,100,101,102,125,32,98,105,110,100,32,100,101,102,0,47,98,111,108,100,32,123,32,50,32,115,101,116,108,105,110,101,119,105,100,116,104,32,125,32,98,105,110,100,32,100,101,102,0,47,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,117,110,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,114,111,117,110,100,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,100,105,97,103,111,110,97,108,115,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,116,97,112,101,114,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,37,32,104,111,111,107,115,32,102,111,114,32,115,101,116,116,105,110,103,32,99,111,108,111,114,32,0,47,110,111,100,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,101,100,103,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,103,114,97,112,104,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,110,111,112,99,111,108,111,114,32,123,112,111,112,32,112,111,112,32,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+61464);allocate([111,112,125,32,98,105,110,100,32,100,101,102,0,47,98,101,103,105,110,112,97,103,101,32,123,9,37,32,105,32,106,32,110,112,97,103,101,115,0,9,47,110,112,97,103,101,115,32,101,120,99,104,32,100,101,102,0,9,47,106,32,101,120,99,104,32,100,101,102,0,9,47,105,32,101,120,99,104,32,100,101,102,0,9,47,115,116,114,32,49,48,32,115,116,114,105,110,103,32,100,101,102,0,9,110,112,97,103,101,115,32,49,32,103,116,32,123,0,9,9,103,115,97,118,101,0,9,9,9,99,111,111,114,100,102,111,110,116,32,115,101,116,102,111,110,116,0,9,9,9,48,32,48,32,109,111,118,101,116,111,0,9,9,9,40,92,40,41,32,115,104,111,119,32,105,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,44,41,32,115,104,111,119,32,106,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,92,41,41,32,115,104,111,119,0,9,9,103,114,101,115,116,111,114,101,0,9,125,32,105,102,0,47,115,101,116,95,102,111,110,116,32,123,0,9,102,105,110,100,102,111,110,116,32,101,120,99,104,0,9,115,99,97,108,101,102,111,110,116,32,115,101,116,102,111,110,116,0,37,32,100,114,97,119,32,116,101,120,116,32,102,105,116,116,101,100,32,116,111,32,105,116,115,32,101,120,112,101,99,116,101,100,32,119,105,100,116,104,0,47,97,108,105,103,110,101,100,116,101,120,116,32,123,9,9,9,37,32,119,105,100,116,104,32,116,101,120,116,0,9,47,116,101,120,116,32,101,120,99,104,32,100,101,102,0,9,47,119,105,100,116,104,32,101,120,99,104,32,100,101,102,0,9,103,115,97,118,101,0,9,9,119,105,100,116,104,32,48,32,103,116,32,123,0,9,9,9,91,93,32,48,32,115,101,116,100,97,115,104,0,9,9,9,116,101,120,116,32,115,116,114,105,110,103,119,105,100,116,104,32,112,111,112,32,119,105,100,116,104,32,101,120,99,104,32,115,117,98,32,116,101,120,116,32,108,101,110,103,116,104,32,100,105,118,32,48,32,116,101,120,116,32,97,115,104,111,119,0,9,9,125,32,105,102,0,9,103,114,101,115,116,111,114,101,0,47,98,111,120,112,114,105,109,32,123,9,9,9,9,37,32,120,99,111,114,110,101,114,32,121,99,111,114,110,101,114,32,120,115,105,122,101,32,121,115,105,122,101,0,9,9,52,32,50,32,114,111,108,108,0,9,9,109,111,118,101,116,111,0,9,9,50,32,99,111,112,121,0,9,9,101,120,99,104,32,48,32,114,108,105,110,101,116,111,0,9,9,48,32,101,120,99,104,32,114,108,105,110,101,116,111,0,9,9,112,111,112,32,110,101,103,32,48,32,114,108,105,110,101,116,111,0,9,9,99,108,111,115,101,112,97,116,104,0,47,101,108,108,105,112,115,101,95,112,97,116,104,32,123,0,9,47,114,121,32,101,120,99,104,32,100,101,102,0,9,47,114,120,32,101,120,99,104,32,100,101,102,0,9,47,121,32,101,120,99,104,32,100,101,102,0,9,47,120,32,101,120,99,104,32,100,101,102,0,9,109,97,116,114,105,120,32,99,117,114,114,101,110,116,109,97,116,114,105,120,0,9,110,101,119,112,97,116,104,0,9,120,32,121,32,116,114,97,110,115,108,97,116,101,0,9,114,120,32,114,121,32,115,99,97,108,101,0,9,48,32,48,32,49,32,48,32,51,54,48,32,97,114,99,0,9,115,101,116,109,97,116,114,105,120,0,47,101,110,100,112,97,103,101,32,123,32,115,104,111,119,112,97,103,101,32,125,32,98,105,110,100,32,100,101,102,0,47,115,104,111,119,112,97,103,101,32,123,32,125,32,100,101,102,0,47,108,97,121,101,114,99,111,108,111,114,115,101,113,0,9,91,9,37,32,108,97,121,101,114,32,99,111,108,111,114,32,115,101,113,117,101,110,99,101,32,45,32,100,97,114,107,101,115,116,32,116,111,32,108,105,103,104,116,101,115,116,0,9,9,91,48,32,48,32,48,93,0,9,9,91,46,50,32,46,56,32,46,56,93,0,9,9,91,46,52,32,46,56,32,46,56,93,0,9,9,91,46,54,32,46,56,32,46,56,93,0,9,9,91,46,56,32,46,56,32,46,56,93,0,9,93,0,100,101,102,0,47,108,97,121,101,114,108,101,110,32,108,97,121,101,114,99,111,108,111,114,115,101,113,32,108,101,110,103,116,104,32,100,101,102,0,47,115,101,116,108,97,121,101,114,32,123,47,109,97,120,108,97,121,101,114,32,101,120,99,104,32,100,101,102,32,47,99,117,114,108,97,121,101,114,32,101,120,99,104,32,100,101,102,0,9,108,97,121,101,114,99,111,108,111,114,115,101,113,32,99,117,114,108,97,121,101,114,32,49,32,115,117,98,32,108,97,121,101,114,108,101,110,32,109,111,100,32,103,101,116,0,9,97,108,111,97,100,32,112,111,112,32,115,101,116,104,115,98,99,111,108,111,114,0,9,47,110,111,100,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,101,100,103,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,103,114,97,112,104,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,47,111,110,108,97,121,101,114,32,123,32,99,117,114,108,97,121,101,114,32,110,101,32,123,105,110,118,105,115,125,32,105,102,32,125,32,100,101,102,0,47,111,110,108,97,121,101,114,115,32,123,0,9,47,109,121,117,112,112,101,114,32,101,120,99,104,32,100,101,102,0,9,47,109,121,108,111,119,101,114,32,101,120,99,104,32,100,101,102,0,9,99,117,114,108,97,121,101,114,32,109,121,108,111,119,101,114,32,108,116,0,9,99,117,114,108,97,121,101,114,32,109,121,117,112,112,101,114,32,103,116,0,9,111,114,0,9,123,105,110,118,105,115,125,32,105,102,0,47,99,117,114,108,97,121,101,114,32,48,32,100,101,102,0,37,37,69,110,100,82,101,115,111,117,114,99,101,0,37,37,69,110,100,80,114,111,108,111,103,0,37,37,66,101,103,105,110,83,101,116,117,112,0,49,52,32,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,115,101,116,95,102,111,110,116,0,37,32,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,0,37,32,47,97,114,114,111,119,119,105,100,116,104,32,53,32,100,101,102,0,37,32,109,97,107,101,32,115,117,114,101,32,112,100,102,109,97,114,107,32,105,115,32,104,97,114,109,108,101,115,115,32,102,111,114,32,80,83,45,105,110,116,101,114,112,114,101,116,101,114,115,32,111,116,104,101,114,32,116,104,97,110,32,68,105,115,116,105,108,108,101,114,0,47,112,100,102,109,97,114,107,32,119,104,101,114,101,32,123,112,111,112,125,32,123,117,115,101,114,100,105,99,116,32,47,112,100,102,109,97,114,107,32,47,99,108,101,97,114,116,111,109,97,114,107,32,108,111,97,100,32,112,117,116,125,32,105,102,101,108,115,101,0,37,32,109,97,107,101,32,39,60,60,39,32,97,110,100,32,39,62,62,39,32,115,97,102,101,32,111,110,32,80,83,32,76,101,118,101,108,32,49,32,100,101,118,105,99,101,115,0,47,108,97,110,103,117,97,103,101,108,101,118,101,108,32,119,104,101,114,101,32,123,112,111,112,32,108,97,110,103,117,97,103,101,108,101,118,101,108,125,123,49,125,32,105,102,101,108,115,101,0,50,32,108,116,32,123,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,60,60,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,62,62,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,125,32,105,102,0,37,37,69,110,100,83,101,116,117,112,0,37,37,84,114,97,105,108,101,114,10,0,37,37,37,37,80,97,103,101,115,58,32,37,100,10,0,101,110,100,10,114,101,115,116,111,114,101,10,0,37,37,69,79,70,10,0,37,33,80,83,45,65,100,111,98,101,45,51,46,48,0,32,69,80,83,70,45,51,46,48,10,0,37,37,37,37,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,112,115,50,58,112,115,0,60,33,45,45,32,0,60,112,111,108,121,108,105,110,101,0,32,112,111,105,110,116,115,61,34,0,34,47,62,10,0,32,102,105,108,108,61,34,0,117,114,108,40,35,108,95,37,100,41,0,117,114,108,40,35,114,95,37,100,41,0,34,32,102,105,108,108,45,111,112,97,99,105,116,121,61,34,37,102,0,34,32,115,116,114,111,107,101,61,34,0,34,32,115,116,114,111,107,101,45,119,105,100,116,104,61,34,0,34,32,115,116,114,111,107,101,45,100,97,115,104,97,114,114,97,121,61,34,37,115,0,53,44,50,0,49,44,53,0,34,32,115,116,114,111,107,101,45,111,112,97,99,105,116,121,61,34,37,102,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,115,118,103,46,99,0,115,118,103,95,112,114,105,110,116,95,99,111,108,111,114,0,60,112,97,116,104,0,32,105,100,61,34,0,95,112,34,32,0,32,100,61,34,0,37,99,0,60,100,101,102,115,62,10,60,114,97,100,105,97,108,71,114,97,100,105,101,110,116,32,105,100,61,34,114,95,37,100,34,32,99,120,61,34,53,48,37,37,34,32,99,121,61,34,53,48,37,37,34,32,114,61,34,55,53,37,37,34,32,102,120,61,34,37,100,37,37,34,32,102,121,61,34,37,100,37,37,34,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,48,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,115,116,111,112,45,111,112,97,99,105,116,121,58,0,49,46,0,59,34,47,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,49,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,114,97,100,105,97,108,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,100,101,102,115,62,10,60,108,105,110,101,97,114,71,114,97,100,105,101,110,116,32,105,100,61,34,108,95,37,100,34,32,103,114,97,100,105,101,110,116,85,110,105,116,115,61,34,117,115,101,114,83,112,97,99,101,79,110,85,115,101,34,32,0,120,49,61,34,0,34,32,121,49,61,34,0,34,32,120,50,61,34,0,34,32,121,50,61,34,0,34,32,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,37,46,48,51,102,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,108,105,110,101,97,114,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,112,111,108,121,103,111,110,0,60,101,108,108,105,112,115,101,0,32,99,120,61,34,0,34,32,99,121,61,34,0,34,32,114,120,61,34,0,34,32,114,121,61,34,0,60,116,101,120,116,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,115,116,97,114,116,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,101,110,100,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,109,105,100,100,108,101,34,0,32,120,61,34,0,34,32,121,61,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,0,44,37,115,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,37,115,34,0,32,102,111,110,116,45,115,116,114,101,116,99,104,61,34,37,115,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,37,115,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,34,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,98,111,108,100,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,105,116,97,108,105,99,34,0,32,116,101,120,116,45,100,101,99,111,114,97,116,105,111,110,61,34,0,37,115,111,118,101,114,108,105,110,101,0,37,115,108,105,110,101,45,116,104,114,111,117,103,104,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,112,101,114,34,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,98,34,0,32,102,111,110,116,45,115,105,122,101,61,34,37,46,50,102,34,0,32,102,105,108,108,61,34,37,115,34,0,32,102,105,108,108,61,34,35,37,48,50,120,37,48,50,120,37,48,50,120,34,0,115,118,103,95,116,101,120,116,115,112,97,110,0,62,0,60,116,101,120,116,80,97,116,104,32,120,108,105,110,107,58,104,114,101,102,61,34,35,37,115,95,112,34,32,115,116,97,114,116,79,102,102,115,101,116,61,34,53,48,37,37,34,62,0,60,116,115,112,97,110,32,120,61,34,48,34,32,100,121,61,34,0,34,62,0,60,47,116,115,112,97,110,62,60,47,116,101,120,116,80,97,116,104,62,0,60,47,116,101,120,116,62,10,0,60,47,103,62,10,0,60,103,0,32,105,100,61,34,97,95,0,32,120,108,105,110,107,58,104,114,101,102,61,34,0,32,120,108,105,110,107,58,116,105,116,108,101,61,34,0,32,116,97,114,103,101,116,61,34,0,60,116,105,116,108,101,62,0,60,47,116,105,116,108,101,62,10,0,60,103,32,105,100,61,34,0,95,37,115,0,34,32,99,108,97,115,115,61,34,37,115,0,99,108,97,115,115,0,32,116,114,97,110,115,102,111,114,109,61,34,115,99,97,108,101,40,0,41,32,114,111,116,97,116,101,40,37,100,41,32,116,114,97,110,115,108,97,116,101,40,0,41,34,62,10,0,60,47,115,118,103,62,10,0,60,33,45,45,0,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,60,115,118,103,32,119,105,100,116,104,61,34,37,100,112,116,34,32,104,101,105,103,104,116,61,34,37,100,112,116,34,10,0,32,118,105,101,119,66,111,120,61,34,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,34,0,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,0,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,0,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,32,115,116,97,110,100,97,108,111,110,101,61,34,110,111,34,63,62,10,0,115,116,121,108,101,115,104,101,101,116,0,60,63,120,109,108,45,115,116,121,108,101,115,104,101,101,116,32,104,114,101,102,61,34,0,34,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,63,62,10,0,60,33,68,79,67,84,89,80,69,32,115,118,103,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,83,86,71,32,49,46,49,47,47,69,78,34,10,0,32,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,71,114,97,112,104,105,99,115,47,83,86,71,47,49,46,49,47,68,84,68,47,115,118,103,49,49,46,100,116,100,34,62,10,0,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,100,97,114,107,98,108,117,101,0,100,97,114,107,99,121,97,110,0,100,97,114,107,103,114,97,121,0,100,97,114,107,103,114,101,121,0,100,97,114,107,109,97,103,101,110,116,97,0,100,97,114,107,114,101,100,0,108,105,103,104,116,103,114,101,101,110,0,35,32,0,32,99,114,101,97,116,101,32,108,105,110,101,32,0,32,45,102,105,108,108,32,0,32,45,100,97,115,104,32,53,0,32,45,100,97,115,104,32,50,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,116,107,46,99,0,116,107,103,101,110,95,112,114,105,110,116,95,116,97,103,115,0,103,114,97,112,104,32,108,97,98,101,108,0,32,45,116,97,103,115,32,123,37,100,37,115,37,112,125,0,116,107,103,101,110,95,112,114,105,110,116,95,99,111,108,111,114,0,36,99,0,32,45,119,105,100,116,104,32,0,32,45,115,109,111,111,116,104,32,98,101,122,105,101,114,32,0,32,99,114,101,97,116,101,32,112,111,108,121,103,111,110,32,0,32,45,111,117,116,108,105,110,101,32,0,32,99,114,101,97,116,101,32,111,118,97,108,32,0,32,99,114,101,97,116,101,32,116,101,120,116,32,0,32,45,116,101,120,116,32,123,0,125,0,32,45,102,111,110,116,32,123,0,32,37,100,125,0,32,45,97,110,99,104,111,114,32,119,0,32,45,97,110,99,104,111,114,32,101,0,35,0,32,84,105,116,108,101,58,32,0,32,80,97,103,101,115,58,32,37,100,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,41,10,0,116,107,0,116,107,58,116,107,0,32,32,32,32,32,32,60,33,45,45,32,0,32,45,45,62,10,0,69,114,114,111,114,32,100,117,114,105,110,103,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,34,85,84,70,45,56,34,46,32,32,81,117,105,116,105,110,103,46,10,0,32,60,118,58,115,104,97,112,101,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,0,60,118,58,112,97,116,104,32,118,61,34,0,32,109,32,0,37,46,48,102,44,37,46,48,102,32,0,32,108,32,0,32,101,32,0,34,47,62,0,60,47,118,58,115,104,97,112,101,62,10,0,60,118,58,115,116,114,111,107,101,32,99,111,108,111,114,61,34,0,34,32,119,101,105,103,104,116,61,34,37,46,48,102,112,116,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,97,115,104,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,111,116,0,34,32,47,62,0,35,37,48,50,120,37,48,50,120,37,48,50,120,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,118,109,108,46,99,0,118,109,108,95,112,114,105,110,116,95,99,111,108,111,114,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,0,32,62,0,60,118,58,112,97,116,104,32,32,118,61,34,0,47,62,60,47,118,58,115,104,97,112,101,62,10,0,109,32,0,37,115,37,46,48,102,44,37,46,48,102,32,0,99,32,0,32,102,105,108,108,101,100,61,34,116,114,117,101,34,32,102,105,108,108,99,111,108,111,114,61,34,0,34,32,0,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,32,0,37,46,48,102,32,37,46,48,102,32,0,108,32,0,120,32,101,32,34,47,62,0,32,32,60,118,58,111,118,97,108,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,0,32,108,101,102,116,58,32,37,46,50,102,59,32,116,111,112,58,32,37,46,50,102,59,0,32,119,105,100,116,104,58,32,37,46,50,102,59,32,104,101,105,103,104,116,58,32,37,46,50,102,34,0,60,47,118,58,111,118,97,108,62,10,0,60,118,58,114,101,99,116,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,115,116,114,111,107,101,100,61,34,102,97,108,115,101,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,10,0,60,118,58,116,101,120,116,98,111,120,32,105,110,115,101,116,61,34,48,44,48,44,48,44,48,34,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,118,45,116,101,120,116,45,119,114,97,112,112,105,110,103,58,39,102,97,108,115,101,39,59,112,97,100,100,105,110,103,58,39,48,39,59,0,102,111,110,116,45,102,97,109,105,108,121,58,32,39,37,115,39,59,0,102,111,110,116,45,119,101,105,103,104,116,58,32,37,115,59,0,102,111,110,116,45,115,116,114,101,116,99,104,58,32,37,115,59,0,102,111,110,116,45,115,116,121,108,101,58,32,37,115,59,0,32,102,111,110,116,45,115,105,122,101,58,32,37,46,50,102,112,116,59,0,99,111,108,111,114,58,37,115,59,0,99,111,108,111,114,58,35,37,48,50,120,37,48,50,120,37,48,50,120,59,0,118,109,108,95,116,101,120,116,115,112,97,110,0,34,62,60,99,101,110,116,101,114,62,0,60,47,99,101,110,116,101,114,62,60,47,118,58,116,101,120,116,98,111,120,62,10,0,60,47,118,58,114,101,99,116,62,10,0,60,47,97,62,10,0,60,97,0,32,104,114,101,102,61,34,37,115,34,0,32,116,105,116,108,101,61,34,37,115,34,0,32,116,97,114,103,101,116,61,34,37,115,34,0,62,10,0,60,47,118,58,103,114,111,117,112,62,10,0,60,47,68,73,86,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,116,104,105,115,32,115,104,111,117,108,100,32,111,110,108,121,32,100,105,115,112,108,97,121,32,111,110,32,78,79,78,45,73,69,32,98,114,111,119,115,101,114,115,32,45,45,62,10,0,60,72,50,62,83,111,114,114,121,44,32,116,104,105,115,32,100,105,97,103,114,97,109,32,119,105,108,108,32,111,110,108,121,32,100,105,115,112,108,97,121,32,99,111,114,114,101,99,116,108,121,32,111,110,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,32,53,32,40,97,110,100,32,117,112,41,32,98,114,111,119,115,101,114,115,46,60,47,72,50,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,78,79,78,45,73,69,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,47,66,79,68,89,62,10,60,47,72,84,77,76,62,10,0,60,72,69,65,68,62,0,60,77,69,84,65,32,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,116,101,110,116,45,84,121,112,101,34,32,99,111,110,116,101,110,116,61,34,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56,34,62,10,0,60,84,73,84,76,69,62,0,60,47,84,73,84,76,69,62,0,60,33,45,45,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,32,32,32,60,83,67,82,73,80,84,32,76,65,78,71,85,65,71,69,61,39,74,97,118,97,115,99,114,105,112,116,39,62,10,0,32,32,32,102,117,110,99,116,105,111,110,32,98,114,111,119,115,101,114,99,104,101,99,107,40,41,10,0,32,32,32,123,10,0,32,32,32,32,32,32,118,97,114,32,117,97,32,61,32,119,105,110,100,111,119,46,110,97,118,105,103,97,116,111,114,46,117,115,101,114,65,103,101,110,116,10,0,32,32,32,32,32,32,118,97,114,32,109,115,105,101,32,61,32,117,97,46,105,110,100,101,120,79,102,32,40,32,39,77,83,73,69,32,39,32,41,10,0,32,32,32,32,32,32,118,97,114,32,105,101,118,101,114,115,59,10,0,32,32,32,32,32,32,118,97,114,32,105,116,101,109,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,121,101,115,61,110,101,119,32,65,114,114,97,121,40,39,95,86,77,76,49,95,39,44,39,95,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,110,111,61,110,101,119,32,65,114,114,97,121,40,39,95,110,111,116,86,77,76,49,95,39,44,39,95,110,111,116,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,105,102,32,40,32,109,115,105,101,32,62,32,48,32,41,123,32,32,32,32,32,32,47,47,32,73,102,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,44,32,114,101,116,117,114,110,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,10,0,32,32,32,32,32,32,32,32,32,105,101,118,101,114,115,61,32,112,97,114,115,101,73,110,116,32,40,117,97,46,115,117,98,115,116,114,105,110,103,32,40,109,115,105,101,43,53,44,32,117,97,46,105,110,100,101,120,79,102,32,40,39,46,39,44,32,109,115,105,101,32,41,41,41,10,0,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,105,102,32,40,105,101,118,101,114,115,62,61,53,41,123,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,121,101,115,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,121,101,115,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,105,102,32,40,105,116,101,109,41,32,123,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,118,105,115,105,98,108,101,39,59,10,0,32,32,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,110,111,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,110,111,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,104,105,100,100,101,110,39,59,10,0,32,32,32,32,32,125,101,108,115,101,123,10,0,32,32,32,32,32,125,10,0,32,32,32,125,10,0,32,32,32,60,47,83,67,82,73,80,84,62,10,0,60,47,72,69,65,68,62,0,60,66,79,68,89,32,111,110,108,111,97,100,61,39,98,114,111,119,115,101,114,99,104,101,99,107,40,41,59,39,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,100,105,115,112,108,97,121,58,105,110,108,105,110,101,59,32,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,62,10,0,60,83,84,89,76,69,62,10,0,118,92,58,42,32,123,32,98,101,104,97,118,105,111,114,58,32,117,114,108,40,35,100,101,102,97,117,108,116,35,86,77,76,41,59,100,105,115,112,108,97,121,58,105,110,108,105,110,101,45,98,108,111,99,107,125,10,0,60,47,83,84,89,76,69,62,10,0,60,120,109,108,58,110,97,109,101,115,112,97,99,101,32,110,115,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,118,109,108,34,32,112,114,101,102,105,120,61,34,118,34,32,47,62,10,0,32,60,118,58,103,114,111,117,112,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,0,32,99,111,111,114,100,111,114,105,103,105,110,61,34,48,44,48,34,32,99,111,111,114,100,115,105,122,101,61,34,37,100,44,37,100,34,32,62,0,60,72,84,77,76,62,10,0,10,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,32,118,101,114,115,105,111,110,32,0,32,40,0,41,10,45,45,62,10,0,97,113,117,97,0,102,117,99,104,115,105,97,0,108,105,109,101,0,111,108,105,118,101,0,116,101,97,108,0,118,109,108,0,118,109,108,58,118,109,108,0,47,47,42,42,42,32,99,111,109,109,101,110,116,58,32,37,115,10,0,47,47,42,42,42,32,112,111,108,121,108,105,110,101,10,0,115,99,97,108,101,32,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,114,111,116,97,116,101,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,116,114,97,110,115,108,97,116,101,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,115,112,104,101,114,101,95,115,119,101,101,112,32,123,10,32,32,32,32,37,115,10,32,32,32,32,37,100,44,10,0,108,105,110,101,97,114,95,115,112,108,105,110,101,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,37,46,51,102,10,0,37,115,32,32,32,32,37,115,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,37,115,37,115,0,37,115,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,82,101,100,0,71,114,101,101,110,0,66,108,117,101,0,114,103,98,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,111,111,112,115,44,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,99,111,108,111,114,32,116,121,112,101,61,37,100,32,37,115,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,112,111,118,46,99,0,112,111,118,95,99,111,108,111,114,95,97,115,95,115,116,114,0,112,105,103,109,101,110,116,32,123,32,99,111,108,111,114,32,37,115,32,125,10,0,112,111,118,32,114,101,110,100,101,114,101,114,58,101,108,32,45,32,37,115,10,0,47,47,42,42,42,32,98,101,122,105,101,114,10,0,98,95,115,112,108,105,110,101,0,32,32,32,32,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,112,111,108,121,103,111,110,10,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,112,111,108,121,103,111,110,32,123,32,37,100,44,10,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,0,37,115,10,32,32,32,32,37,115,0,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,101,108,108,105,112,115,101,10,0,116,111,114,117,115,32,123,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,115,112,104,101,114,101,32,123,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,49,46,48,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,116,101,120,116,115,112,97,110,58,32,37,115,44,32,102,111,110,116,115,105,122,101,32,61,32,37,46,51,102,44,32,102,111,110,116,110,97,109,101,32,61,32,37,115,10,0,115,99,97,108,101,32,37,46,51,102,10,0,116,101,120,116,32,123,10,32,32,32,32,116,116,102,32,34,37,115,34,44,10,32,32,32,32,34,37,115,34,44,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,32,32,32,32,110,111,95,115,104,97,100,111,119,10,0,47,47,42,42,42,32,101,110,100,95,101,100,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,101,100,103,101,10,0,47,47,42,42,42,32,101,110,100,95,110,111,100,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,110,111,100,101,58,32,37,115,10,0,47,47,42,42,42,32,101,110,100,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,101,110,100,95,112,97,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,112,97,103,101,10,0,47,47,42,42,42,32,101,110,100,95,108,97,121,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,108,97,121,101,114,58,32,37,115,44,32,37,100,47,37,100,10,0,47,47,42,42,42,32,101,110,100,95,103,114,97,112,104,10,0,47,47,42,42,42,32,98,101,103,105,110,95,103,114,97,112,104,32,37,115,10,0,99,97,109,101,114,97,32,123,32,108,111,99,97,116,105,111,110,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,108,111,111,107,95,97,116,32,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,114,105,103,104,116,32,120,32,42,32,105,109,97,103,101,95,119,105,100,116,104,32,47,32,105,109,97,103,101,95,104,101,105,103,104,116,10,32,32,32,32,32,32,32,32,32,97,110,103,108,101,32,37,46,51,102,10,125,10,0,47,47,115,107,121,10,112,108,97,110,101,32,123,32,60,48,44,32,49,44,32,48,62,44,32,49,32,104,111,108,108,111,119,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,32,123,32,98,111,122,111,32,116,117,114,98,117,108,101,110,99,101,32,48,46,57,53,10,32,32,32,32,32,32,32,32,32,32,32,32,99,111,108,111,114,95,109,97,112,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,48,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,53,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,48,46,50,53,44,32,48,46,50,53,44,32,48,46,50,53,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,49,46,48,48,32,114,103,98,32,60,48,46,53,48,44,32,48,46,53,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,115,99,97,108,101,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,53,48,62,32,42,32,50,46,53,48,10,32,32,32,32,32,32,32,32,32,32,32,32,116,114,97,110,115,108,97,116,101,32,60,48,46,48,48,44,32,48,46,48,48,44,32,48,46,48,48,62,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,49,32,100,105,102,102,117,115,101,32,48,32,125,10,32,32,32,32,125,10,32,32,32,32,115,99,97,108,101,32,49,48,48,48,48,10,125,10,47,47,109,105,115,116,10,102,111,103,32,123,32,102,111,103,95,116,121,112,101,32,50,10,32,32,32,32,100,105,115,116,97,110,99,101,32,53,48,10,32,32,32,32,99,111,108,111,114,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,32,42,32,48,46,55,53,10,32,32,32,32,102,111,103,95,111,102,102,115,101,116,32,48,46,49,48,10,32,32,32,32,102,111,103,95,97,108,116,32,49,46,53,48,10,32,32,32,32,116,117,114,98,117,108,101,110,99,101,32,49,46,55,53,10,125,10,47,47,103,110,100,10,112,108,97,110,101,32,123,32,60,48,46,48,48,44,32,49,46,48,48,44,32,48,46,48,48,62,44,32,48,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,123,32,99,111,108,111,114,32,114,103,98,32,60,48,46,50,53,44,32,48,46,52,53,44,32,48,46,48,48,62,32,125,10,32,32,32,32,32,32,32,32,110,111,114,109,97,108,32,123,32,98,117,109,112,115,32,48,46,55,53,32,115,99,97,108,101,32,48,46,48,49,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,112,104,111,110,103,32,48,46,49,48,32,125,10,32,32,32,32,125,10,125,10,0,108,105,103,104,116,95,115,111,117,114,99,101,32,123,32,60,49,53,48,48,44,51,48,48,48,44,45,50,53,48,48,62,32,99,111,108,111,114,32,87,104,105,116,101,32,125,10,0,35,118,101,114,115,105,111,110,32,51,46,54,59,10,0,103,108,111,98,97,108,95,115,101,116,116,105,110,103,115,32,123,32,97,115,115,117,109,101,100,95,103,97,109,109,97,32,49,46,48,32,125,10,0,35,100,101,102,97,117,108,116,32,123,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,48,46,49,32,100,105,102,102,117,115,101,32,48,46,57,32,125,32,125,10,0,35,105,110,99,108,117,100,101,32,34,99,111,108,111,114,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,116,101,120,116,117,114,101,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,115,104,97,112,101,115,46,105,110,99,34,10,0,35,100,101,99,108,97,114,101,32,37,115,32,61,32,37,115,59,10,0,66,108,97,99,107,0,87,104,105,116,101,0,98,97,107,101,114,115,99,104,111,99,0,98,114,97,115,115,0,98,114,105,103,104,116,103,111,108,100,0,98,114,111,110,122,101,0,98,114,111,110,122,101,50,0,99,108,101,97,114,0,99,111,111,108,99,111,112,112,101,114,0,99,111,112,112,101,114,0,100,97,114,107,98,114,111,119,110,0,100,97,114,107,112,117,114,112,108,101,0,100,97,114,107,116,97,110,0,100,97,114,107,119,111,111,100,0,100,107,103,114,101,101,110,99,111,112,112,101,114,0,100,117,115,116,121,114,111,115,101,0,102,101,108,100,115,112,97,114,0,102,108,101,115,104,0,103,114,97,121,48,53,0,103,114,101,101,110,99,111,112,112,101,114,0,104,117,110,116,101,114,115,103,114,101,101,110,0,108,105,103,104,116,95,112,117,114,112,108,101,0,108,105,103,104,116,119,111,111,100,0,109,97,110,100,97,114,105,110,111,114,97,110,103,101,0,109,101,100,105,117,109,102,111,114,101,115,116,103,114,101,101,110,0,109,101,100,105,117,109,103,111,108,100,101,110,114,111,100,0,109,101,100,105,117,109,119,111,111,100,0,109,101,100,95,112,117,114,112,108,101,0,109,105,99,97,0,110,101,111,110,98,108,117,101,0,110,101,111,110,112,105,110,107,0,110,101,119,109,105,100,110,105,103,104,116,98,108,117,101,0,110,101,119,116,97,110,0,111,108,100,103,111,108,100,0,113,117,97,114,116,122,0,114,105,99,104,98,108,117,101,0,115,99,97,114,108,101,116,0,115,101,109,105,83,119,101,101,116,67,104,111,99,0,115,105,108,118,101,114,0,115,112,105,99,121,112,105,110,107,0,115,117,109,109,101,114,115,107,121,0,118,101,114,121,100,97,114,107,98,114,111,119,110,0,118,101,114,121,95,108,105,103,104,116,95,112,117,114,112,108,101,0,112,111,118,0,112,111,118,58,112,111,118,0,37,115,32,37,115,10,0,46,92,34,32,0,32,37,100,32,37,100,0,32,37,115,10,0,32,37,100,0,102,105,108,108,32,0,101,108,108,105,112,115,101,32,97,116,116,114,115,37,100,32,37,115,119,105,100,32,37,46,53,102,32,104,116,32,37,46,53,102,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,46,102,116,32,37,115,10,0,46,112,115,32,37,100,42,92,110,40,83,70,117,47,37,46,48,102,117,10,0,34,37,115,34,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,37,48,51,111,0,37,115,37,115,32,105,115,32,110,111,116,32,97,32,116,114,111,102,102,32,102,111,110,116,10,0,100,111,116,32,112,105,99,32,112,108,117,103,105,110,58,32,0,82,0,93,10,46,80,69,10,0,46,80,83,32,37,46,53,102,32,37,46,53,102,10,0,37,115,32,116,111,32,99,104,97,110,103,101,32,100,114,97,119,105,110,103,32,115,105,122,101,44,32,109,117,108,116,105,112,108,121,32,116,104,101,32,119,105,100,116,104,32,97,110,100,32,104,101,105,103,104,116,32,111,110,32,116,104,101,32,46,80,83,32,108,105,110,101,32,97,98,111,118,101,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,110,32,116,104,101,32,116,119,111,32,108,105,110,101,115,32,98,101,108,111,119,32,40,114,111,117,110,100,101,100,32,116,111,32,116,104,101,32,110,101,97,114,101,115,116,32,105,110,116,101,103,101,114,41,32,98,121,32,97,32,115,99,97,108,101,32,102,97,99,116,111,114,10,0,46,110,114,32,83,70,32,37,46,48,102,10,115,99,97,108,101,116,104,105,99,107,110,101,115,115,32,61,32,37,46,48,102,10,0,37,115,32,100,111,110,39,116,32,99,104,97,110,103,101,32,97,110,121,116,104,105,110,103,32,98,101,108,111,119,32,116,104,105,115,32,108,105,110,101,32,105,110,32,116,104,105,115,32,100,114,97,119,105,110,103,10,0,37,115,32,110,111,110,45,102,97,116,97,108,32,114,117,110,45,116,105,109,101,32,112,105,99,32,118,101,114,115,105,111,110,32,100,101,116,101,114,109,105,110,97,116,105,111,110,44,32,118,101,114,115,105,111,110,32,50,10,0,98,111,120,114,97,100,61,50,46,48,32,37,115,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32,48,46,48,32,98,121,32,103,112,105,99,32,111,110,108,121,10,0,115,99,97,108,101,61,49,46,48,32,37,115,32],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+71704);allocate([114,101,113,117,105,114,101,100,32,102,111,114,32,99,111,109,112,97,114,105,115,111,110,115,10,0,37,115,32,98,111,120,114,97,100,32,105,115,32,110,111,119,32,48,46,48,32,105,110,32,103,112,105,99,44,32,101,108,115,101,32,105,116,32,114,101,109,97,105,110,115,32,50,46,48,10,0,37,115,32,100,97,115,104,119,105,100,32,105,115,32,48,46,49,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,44,32,48,46,48,53,32,105,110,32,68,87,66,32,50,32,97,110,100,32,105,110,32,103,112,105,99,10,0,37,115,32,102,105,108,108,118,97,108,32,105,115,32,48,46,51,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,98,108,97,99,107,41,44,32,48,46,53,32,105,110,32,103,112,105,99,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,119,104,105,116,101,41,44,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,102,105,108,108,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,103,112,105,99,32,99,97,110,32,117,115,101,32,102,105,108,108,32,111,114,32,102,105,108,108,101,100,44,32,49,48,116,104,32,69,100,105,116,105,111,110,32,117,115,101,115,32,102,105,108,108,32,111,110,108,121,10,0,37,115,32,68,87,66,32,50,32,100,111,101,115,110,39,116,32,117,115,101,32,102,105,108,108,32,97,110,100,32,100,111,101,115,110,39,116,32,100,101,102,105,110,101,32,102,105,108,108,118,97,108,10,0,37,115,32,114,101,115,101,116,32,119,111,114,107,115,32,105,110,32,103,112,105,99,32,97,110,100,32,49,48,116,104,32,101,100,105,116,105,111,110,44,32,98,117,116,32,105,115,110,39,116,32,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,68,87,66,32,50,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,100,101,102,105,110,105,116,105,111,110,115,10,0,105,102,32,98,111,120,114,97,100,32,62,32,49,46,48,32,38,38,32,100,97,115,104,119,105,100,32,60,32,48,46,48,55,53,32,116,104,101,110,32,88,10,9,102,105,108,108,118,97,108,32,61,32,49,59,10,9,100,101,102,105,110,101,32,102,105,108,108,32,89,32,89,59,10,9,100,101,102,105,110,101,32,115,111,108,105,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,114,101,115,101,116,32,89,32,115,99,97,108,101,61,49,46,48,32,89,59,10,88,10,0,114,101,115,101,116,32,37,115,32,115,101,116,32,116,111,32,107,110,111,119,110,32,115,116,97,116,101,10,0,37,115,32,71,78,85,32,112,105,99,32,118,115,46,32,49,48,116,104,32,69,100,105,116,105,111,110,32,100,92,40,101,39,116,101,110,116,101,10,0,105,102,32,102,105,108,108,118,97,108,32,62,32,48,46,52,32,116,104,101,110,32,88,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,49,32,45,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,116,104,105,99,107,110,101,115,115,32,50,32,89,59,10,0,9,37,115,32,105,102,32,121,111,117,32,117,115,101,32,103,112,105,99,32,97,110,100,32,105,116,32,98,97,114,102,115,32,111,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,34,115,111,108,105,100,34,44,10,0,9,37,115,9,105,110,115,116,97,108,108,32,97,32,109,111,114,101,32,114,101,99,101,110,116,32,118,101,114,115,105,111,110,32,111,102,32,103,112,105,99,32,111,114,32,115,119,105,116,99,104,32,116,111,32,68,87,66,32,111,114,32,49,48,116,104,32,69,100,105,116,105,111,110,32,112,105,99,59,10,0,9,37,115,9,115,111,114,114,121,44,32,116,104,101,32,103,114,111,102,102,32,102,111,108,107,115,32,99,104,97,110,103,101,100,32,103,112,105,99,59,32,115,101,110,100,32,97,110,121,32,99,111,109,112,108,97,105,110,116,32,116,111,32,116,104,101,109,59,10,0,88,32,101,108,115,101,32,90,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,102,105,108,108,101,100,32,89,32,102,105,108,108,32,89,59,10,90,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,97,114,114,111,119,104,101,97,100,32,61,32,55,32,109,97,107,101,115,32,102,105,108,108,101,100,32,97,114,114,111,119,104,101,97,100,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,44,32,105,110,105,116,105,97,108,108,121,32,49,32,105,110,32,103,112,105,99,44,32,50,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,97,114,114,111,119,104,101,97,100,32,61,32,55,32,37,115,32,110,111,116,32,117,115,101,100,32,98,121,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,98,111,120,114,97,100,32,118,97,114,105,97,98,108,101,32,116,111,32,100,114,97,119,32,98,111,120,101,115,32,119,105,116,104,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,98,111,120,114,97,100,32,61,32,48,32,37,115,32,110,111,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,32,105,110,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,108,105,110,101,116,104,105,99,107,32,118,97,114,105,97,98,108,101,32,116,111,32,115,101,116,32,108,105,110,101,32,116,104,105,99,107,110,101,115,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,108,105,110,101,116,104,105,99,107,32,61,32,48,59,32,111,108,100,108,105,110,101,116,104,105,99,107,32,61,32,108,105,110,101,116,104,105,99,107,10,0,37,115,32,46,80,83,32,119,47,111,32,97,114,103,115,32,99,97,117,115,101,115,32,71,78,85,32,112,105,99,32,116,111,32,115,99,97,108,101,32,100,114,97,119,105,110,103,32,116,111,32,102,105,116,32,56,46,53,120,49,49,32,112,97,112,101,114,59,32,68,87,66,32,100,111,101,115,32,110,111,116,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,104,97,118,101,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,46,48,44,32,115,101,116,32,112,97,103,101,32,98,111,117,110,100,97,114,105,101,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,97,114,101,32,112,114,101,100,101,102,105,110,101,100,32,116,111,32,49,49,46,48,32,97,110,100,32,56,46,53,32,105,110,32,103,112,105,99,10,0,109,97,120,112,115,104,116,32,61,32,37,102,10,109,97,120,112,115,119,105,100,32,61,32,37,102,10,0,68,111,116,58,32,91,10,0,100,101,102,105,110,101,32,97,116,116,114,115,48,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,117,110,102,105,108,108,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,114,111,117,110,100,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,100,105,97,103,111,110,97,108,115,32,37,37,32,37,37,10,0,37,115,37,115,32,117,110,115,117,112,112,111,114,116,101,100,10,0,37,115,32,114,101,115,116,111,114,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,112,115,32,92,110,40,46,83,10,46,102,116,32,92,110,40,68,70,10,0,37,115,32,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,37,115,32,84,105,116,108,101,58,32,37,115,10,0,37,115,32,115,97,118,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,110,114,32,46,83,32,92,110,40,46,115,10,46,110,114,32,68,70,32,92,110,40,46,102,10,0,112,105,99,0,112,105,99,58,112,105,99,0,112,110,103,58,115,118,103,0,103,105,102,58,115,118,103,0,106,112,101,103,58,115,118,103,0,106,112,101,58,115,118,103,0,106,112,103,58,115,118,103,0,112,110,103,58,102,105,103,0,103,105,102,58,102,105,103,0,106,112,101,103,58,102,105,103,0,106,112,101,58,102,105,103,0,106,112,103,58,102,105,103,0,112,110,103,58,118,114,109,108,0,103,105,102,58,118,114,109,108,0,106,112,101,103,58,118,114,109,108,0,106,112,101,58,118,114,109,108,0,106,112,103,58,118,114,109,108,0,101,112,115,58,112,115,0,112,115,58,112,115,0,40,108,105,98,41,58,112,115,0,112,110,103,58,109,97,112,0,103,105,102,58,109,97,112,0,106,112,101,103,58,109,97,112,0,106,112,101,58,109,97,112,0,106,112,103,58,109,97,112,0,112,115,58,109,97,112,0,101,112,115,58,109,97,112,0,115,118,103,58,109,97,112,0,112,110,103,58,100,111,116,0,103,105,102,58,100,111,116,0,106,112,101,103,58,100,111,116,0,106,112,101,58,100,111,116,0,106,112,103,58,100,111,116,0,112,115,58,100,111,116,0,101,112,115,58,100,111,116,0,115,118,103,58,100,111,116,0,112,110,103,58,120,100,111,116,0,103,105,102,58,120,100,111,116,0,106,112,101,103,58,120,100,111,116,0,106,112,101,58,120,100,111,116,0,106,112,103,58,120,100,111,116,0,112,115,58,120,100,111,116,0,101,112,115,58,120,100,111,116,0,115,118,103,58,120,100,111,116,0,115,118,103,58,115,118,103,0,112,110,103,58,118,109,108,0,103,105,102,58,118,109,108,0,106,112,101,103,58,118,109,108,0,106,112,101,58,118,109,108,0,106,112,103,58,118,109,108,0,103,105,102,58,116,107,0,105,109,97,103,101,32,99,114,101,97,116,101,32,112,104,111,116,111,32,34,112,104,111,116,111,95,37,115,34,32,45,102,105,108,101,32,34,37,115,34,10,0,36,99,32,99,114,101,97,116,101,32,105,109,97,103,101,32,37,46,50,102,32,37,46,50,102,32,45,105,109,97,103,101,32,34,112,104,111,116,111,95,37,115,34,10,0,60,118,58,105,109,97,103,101,32,115,114,99,61,34,37,115,34,32,115,116,121,108,101,61,34,32,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,119,105,100,116,104,58,37,46,50,102,59,32,104,101,105,103,104,116,58,37,46,50,102,59,32,108,101,102,116,58,37,46,50,102,32,59,32,116,111,112,58,37,46,50,102,34,0,32,47,62,10,0,103,118,108,111,97,100,105,109,97,103,101,95,99,111,114,101,46,99,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,108,105,98,0,91,32,0,37,103,32,37,103,32,0,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,0,103,115,97,118,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,10,0,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,103,114,101,115,116,111,114,101,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,118,114,109,108,0,83,104,97,112,101,32,123,10,0,32,32,97,112,112,101,97,114,97,110,99,101,32,65,112,112,101,97,114,97,110,99,101,32,123,10,0,32,32,32,32,109,97,116,101,114,105,97,108,32,77,97,116,101,114,105,97,108,32,123,10,0,32,32,32,32,32,32,97,109,98,105,101,110,116,73,110,116,101,110,115,105,116,121,32,48,46,51,51,10,0,32,32,32,32,32,32,32,32,100,105,102,102,117,115,101,67,111,108,111,114,32,49,32,49,32,49,10,0,32,32,32,32,125,10,0,32,32,32,32,116,101,120,116,117,114,101,32,73,109,97,103,101,84,101,120,116,117,114,101,32,123,32,117,114,108,32,34,37,115,34,32,125,10,0,32,32,125,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,102,105,103,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,32,37,100,32,37,115,10,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,115,118,103,0,60,105,109,97,103,101,32,120,108,105,110,107,58,104,114,101,102,61,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,100,89,77,105,100,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,32,116,114,97,110,115,102,111,114,109,61,34,114,111,116,97,116,101,40,37,100,32,37,103,32,37,103,41,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,110,89,77,105,110,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,47,62,10,0,100,111,116,95,108,97,121,111,117,116,0,112,104,97,115,101,0,100,111,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,100,105,115,99,111,110,110,101,99,116,101,100,32,103,114,97,112,104,115,32,111,114,32,103,114,97,112,104,115,32,119,105,116,104,32,99,108,117,115,116,101,114,115,10,0,99,111,109,112,111,117,110,100,0,118,32,61,61,32,110,0,100,111,116,105,110,105,116,46,99,0,114,101,109,111,118,101,95,102,114,111,109,95,114,97,110,107,0,111,114,100,101,114,0,101,100,103,101,32,108,97,98,101,108,115,32,119,105,116,104,32,115,112,108,105,110,101,115,61,99,117,114,118,101,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,100,111,116,32,45,32,117,115,101,32,120,108,97,98,101,108,115,10,0,69,68,95,108,97,98,101,108,40,102,101,41,0,100,111,116,115,112,108,105,110,101,115,46,99,0,95,100,111,116,95,115,112,108,105,110,101,115,0,102,108,97,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,97,100,106,97,99,101,110,116,32,110,111,100,101,115,32,111,110,101,32,111,102,32,119,104,105,99,104,32,104,97,115,32,97,32,114,101,99,111,114,100,32,115,104,97,112,101,32,45,32,114,101,112,108,97,99,101,32,114,101,99,111,114,100,115,32,119,105,116,104,32,72,84,77,76,45,108,105,107,101,32,108,97,98,101,108,115,10,0,32,32,69,100,103,101,32,37,115,32,37,115,32,37,115,10,0,120,120,120,0,49,48,48,48,48,0,123,37,115,125,0,97,117,120,103,0,108,97,98,101,108,95,102,108,111,97,116,0,102,105,120,101,100,0,40,108,32,61,32,69,68,95,108,97,98,101,108,40,102,101,41,41,0,115,101,116,69,100,103,101,76,97,98,101,108,80,111,115,0,101,32,33,61,32,78,85,76,76,0,102,97,115,116,103,114,46,99,0,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,110,32,33,61,32,78,68,95,110,101,120,116,40,110,41,0,102,97,115,116,95,110,111,100,101,0,117,32,33,61,32,118,0,102,97,115,116,95,110,111,100,101,97,112,112,0,78,68,95,110,101,120,116,40,118,41,32,61,61,32,78,85,76,76,0,102,105,110,100,95,102,97,115,116,95,110,111,100,101,40,103,44,32,110,41,0,100,101,108,101,116,101,95,102,97,115,116,95,110,111,100,101,0,100,101,108,101,116,101,95,102,108,97,116,95,101,100,103,101,0,109,101,114,103,101,95,111,110,101,119,97,121,32,103,108,105,116,99,104,10,0,109,101,114,103,101,95,111,110,101,119,97,121,0,115,97,102,101,95,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,108,103,0,99,111,109,112,0,99,110,116,32,61,61,32,115,122,0,109,105,110,99,114,111,115,115,46,99,0,102,105,120,76,97,98,101,108,79,114,100,101,114,0,114,101,109,105,110,99,114,111,115,115,0,109,105,110,99,114,111,115,115,32,37,115,58,32,37,100,32,99,114,111,115,115,105,110,103,115,44,32,37,46,50,102,32,115,101,99,115,46,10,0,118,0,110,101,105,103,104,98,111,114,0,40,114,118,32,61,61,32,48,41,32,124,124,32,40,78,68,95,111,114,100,101,114,40,114,118,41,45,78,68,95,111,114,100,101,114,40,118,41,41,42,100,105,114,32,62,32,48,0,99,111,110,115,116,114,97,105,110,105,110,103,95,102,108,97,116,95,101,100,103,101,40,103,44,118,44,101,41,32,61,61,32,70,65,76,83,69,0,102,108,97,116,95,114,101,111,114,100,101,114,0,78,68,95,114,97,110,107,40,118,41,32,61,61,32,114,0,112,111,115,116,111,114,100,101,114,0,102,108,97,116,105,110,100,101,120,40,97,103,104,101,97,100,40,101,41,41,32,60,32,77,45,62,110,114,111,119,115,0,102,108,97,116,95,115,101,97,114,99,104,0,102,108,97,116,105,110,100,101,120,40,97,103,116,97,105,108,40,101,41,41,32,60,32,77,45,62,110,99,111,108,115,0,111,117,116,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,10,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,32,102,111,114,32,110,111,100,101,32,39,37,115,39,46,10,0,109,101,114,103,101,50,58,32,103,114,97,112,104,32,37,115,44,32,114,97,110,107,32,37,100,32,104,97,115,32,111,110,108,121,32,37,100,32,60,32,37,100,32,110,111,100,101,115,10,0,109,105,110,99,114,111,115,115,58,32,112,97,115,115,32,37,100,32,105,116,101,114,32,37,100,32,116,114,121,105,110,103,32,37,100,32,99,117,114,95,99,114,111,115,115,32,37,100,32,98,101,115,116,95,99,114,111,115,115,32,37,100,10,0,78,68,95,111,114,100,101,114,40,118,41,32,60,32,78,68,95,111,114,100,101,114,40,119,41,0,98,97,108,97,110,99,101,0,116,114,97,110,115,112,111,115,101,95,115,116,101,112,0,115,117,114,112,114,105,115,101,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,37,115,32,37,115,32,114,97,110,107,32,37,100,32,105,32,61,32,37,100,32,97,110,32,61,32,48,10,0,71,68,95,114,97,110,107,40,103,41,91,114,93,46,110,32,60,61,32,71,68,95,114,97,110,107,40,103,41,91,114,93,46,97,110,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,114,97,110,107,32,37,100,32,110,111,116,32,105,110,32,114,97,110,107,32,114,97,110,103,101,32,91,37,100,44,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,118,32,43,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,97,118,32,43,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,95,110,101,119,95,114,97,110,107,0,109,99,108,105,109,105,116,0,114,97,110,107,40,103,44,32,50,44,32,110,115,105,116,101,114,50,40,103,41,41,32,61,61,32,48,0,112,111,115,105,116,105,111,110,46,99,0,100,111,116,95,112,111,115,105,116,105,111,110,0,65,82,61,37,48,46,52,108,102,9,32,65,114,101,97,61,32,37,48,46,52,108,102,9,0,68,117,109,109,121,61,37,100,10,0,71,111,105,110,103,32,116,111,32,97,112,112,108,121,32,97,110,111,116,104,101,114,32,101,120,112,97,110,115,105,111,110,46,10,0,110,101,120,116,35,105,116,101,114,61,37,100,10,0,104,112,0,99,111,110,110,101,99,116,71,114,97,112,104,0,69,100,103,101,32,108,101,110,103,116,104,32,37,102,32,108,97,114,103,101,114,32,116,104,97,110,32,109,97,120,105,109,117,109,32,37,117,32,97,108,108,111,119,101,100,46,10,67,104,101,99,107,32,102,111,114,32,111,118,101,114,119,105,100,101,32,110,111,100,101,40,115,41,46,10,0,110,115,108,105,109,105,116,0,99,111,110,116,97,105,110,95,110,111,100,101,115,32,99,108,117,115,116,32,37,115,32,114,97,110,107,32,37,100,32,109,105,115,115,105,110,103,32,110,111,100,101,10,0,110,115,108,105,109,105,116,49,0,110,101,119,114,97,110,107,0,77,97,120,114,97,110,107,32,61,32,37,100,44,32,109,105,110,114,97,110,107,32,61,32,37,100,10,0,108,101,97,100,101,114,32,33,61,32,78,85,76,76,0,114,97,110,107,46,99,0,99,108,117,115,116,101,114,95,108,101,97,100,101,114,0,40,78,68,95,85,70,95,115,105,122,101,40,110,41,32,60,61,32,49,41,32,124,124,32,40,110,32,61,61,32,108,101,97,100,101,114,41,0,97,103,104,101,97,100,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,104,101,97,100,40,101,41,41,0,109,105,110,109,97,120,95,101,100,103,101,115,0,97,103,116,97,105,108,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,116,97,105,108,40,101,41,41,0,114,97,110,107,0,115,97,109,101,0,109,105,110,0,115,111,117,114,99,101,0,109,97,120,0,115,105,110,107,0,108,101,118,101,108,32,97,115,115,105,103,110,109,101,110,116,32,99,111,110,115,116,114,97,105,110,116,115,0,108,101,118,101,108,32,103,114,97,112,104,32,114,101,99,0,127,114,111,111,116,0,127,116,111,112,0,127,98,111,116,0,99,111,109,112,97,99,116,0,95,119,101,97,107,95,37,100,0,114,97,110,107,105,110,103,58,32,102,97,105,108,117,114,101,32,116,111,32,99,114,101,97,116,101,32,115,116,114,111,110,103,32,99,111,110,115,116,114,97,105,110,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,110,111,100,101,115,32,37,115,32,97,110,100,32,37,115,10,0,37,115,32,104,97,115,32,117,110,114,101,99,111,103,110,105,122,101,100,32,114,97,110,107,61,37,115,0,108,101,118,101,108,32,101,100,103,101,32,114,101,99,0,108,101,118,101,108,32,110,111,100,101,32,114,101,99,0,115,97,109,101,104,101,97,100,0,115,97,109,101,116,97,105,108,0,116,111,111,32,109,97,110,121,32,40,62,32,37,100,41,32,115,97,109,101,123,104,101,97,100,44,116,97,105,108,125,32,103,114,111,117,112,115,32,102,111,114,32,110,111,100,101,32,37,115,10,0,99,111,109,98,105,65,82,32,61,32,37,108,102,10,0,37,108,102,44,37,100,0,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,32,100,117,101,32,116,111,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,102,108,97,119,115,32,45,32,97,116,116,114,105,98,117,116,101,32,105,103,110,111,114,101,100,46,10,0,69,68,95,116,111,95,118,105,114,116,40,101,41,32,61,61,32,78,85,76,76,0,99,108,97,115,115,50,46,99,0,109,101,114,103,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,61,61,32,78,85,76,76,0,109,97,107,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,33,61,32,78,85,76,76,0,78,68,95,114,97,110,107,40,102,114,111,109,41,32,60,32,78,68,95,114,97,110,107,40,116,111,41,0,99,108,117,115,116,101,114,46,99,0,109,97,112,95,112,97,116,104,0,37,115,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,97,32,114,97,110,107,115,101,116,44,32,100,101,108,101,116,101,100,32,102,114,111,109,32,99,108,117,115,116,101,114,32,37,115,10,0,108,104,101,97,100,0,108,116,97,105,108,0,37,115,32,45,62,32,37,115,58,32,115,112,108,105,110,101,32,115,105,122,101,32,62,32,49,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,110,111,116,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,105,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,98,101,122,45,62,115,102,108,97,103,0,99,111,109,112,111,117,110,100,46,99,0,109,97,107,101,67,111,109,112,111,117,110,100,69,100,103,101,0,98,101,122,45,62,101,102,108,97,103,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,110,111,116,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,105,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,115,101,103,109,101,110,116,32,91,37,115,44,37,115,93,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,115,101,99,116,32,98,111,120,32,108,108,61,37,115,44,117,114,61,37,115,10,0,98,111,120,73,110,116,101,114,115,101,99,116,102,0,40,37,46,53,103,44,37,46,53,103,41,0,99,108,117,115,116,101,114,32,110,97,109,101,100,32,37,115,32,110,111,116,32,102,111,117,110,100,10,0,99,111,110,99,101,110,116,114,97,116,101,61,116,114,117,101,32,109,97,121,32,110,111,116,32,119,111,114,107,32,99,111,114,114,101,99,116,108,121,46,10,0,114,101,98,117,105,108,116,100,95,118,108,105,115,116,115,58,32,114,97,110,107,32,108,101,97,100,32,37,115,32,110,111,116,32,105,110,32,111,114,100,101,114,32,37,100,32,111,102,32,114,97,110,107,32,37,100,10,0,100,101,103,101,110,101,114,97,116,101,32,99,111,110,99,101,110,116,114,97,116,101,100,32,114,97,110,107,32,37,115,44,37,100,10,0,78,68,95,105,110,40,114,105,103,104,116,41,46,115,105,122,101,32,43,32,78,68,95,111,117,116,40,114,105,103,104,116,41,46,115,105,122,101,32,61,61,32,48,0,99,111,110,99,46,99,0,109,101,114,103,101,118,105,114,116,117,97,108,0,100,111,116,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,78,68,95,111,117,116,40,118,41,46,115,105,122,101,32,61,61,32,50,0,102,108,97,116,46,99,0,115,101,116,98,111,117,110,100,115,0,71,68,95,109,105,110,114,97,110,107,40,103,41,32,61,61,32,48,0,97,98,111,109,105,110,97,116,105,111,110,0,110,101,97,116,111,95,108,97,121,111,117,116,0,110,101,97,116,111,0,102,100,112,0,115,102,100,112,0,116,119,111,112,105,0,99,105,114,99,111,0,112,97,116,99,104,119,111,114,107,0,111,115,97,103,101,0,110,111,112,0,110,111,112,49,0,110,111,112,50,0,37,108,102,44,37,108,102,44,37,108,102,37,99,0,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,100,111,117,98,108,101,115,10,0,110,111,116,114,97,110,115,108,97,116,101,0,110,111,100,101,32,37,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,115,32,110,111,32,112,111,115,105,116,105,111,110,10,0,115,44,37,108,102,44,37,108,102,37,110,0,32,101,44,37,108,102,44,37,108,102,37,110,0,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,32,100,111,101,115,110,39,116,32,104,97,118,101,32,51,110,43,49,32,112,111,105,110,116,115,10,0,37,108,102,44,37,108,102,37,110,0,115,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,115,116,97,114,116,0,115,101,108,102,0,114,97,110,100,111,109,0,110,111,100,101,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,105,103,110,111,114,101,100,32,117,110,108,101,115,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,97,115,32,114,101,113,117,105,114,101,100,32,98,121,32,116,104,101,32,45,110,32,102,108,97,103,10,0,95,110,101,97,116,111,95,99,99,0,103,114,97,112,104,32,37,115,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,65,108,116,101,114,110,97,116,105,118,101,108,121,44,32,99,111,110,115,105,100,101,114,32,114,117,110,110,105,110,103,32,110,101,97,116,111,32,117,115,105,110,103,32,45,71,112,97,99,107,61,116,114,117,101,32,111,114,32,100,101,99,111,109,112,111,115,105,110,103,10,0,116,104,101,32,103,114,97,112,104,32,105,110,116,111,32,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,115,46,10,0,83,111,108,118,105,110,103,32,109,111,100,101,108,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,78,68,95,105,100,40,110,112,41,32,61,61,32,105,0,110,101,97,116,111,105,110,105,116,46,99,0,109,97,107,101,71,114,97,112,104,68,97,116,97,0,102,32,60,32,103,114,97,112,104,91,106,93,46,110,101,100,103,101,115,0,100,102,115,67,121,99,108,101,0,109,111,100,101,108,32,37,100,32,115,109,97,114,116,95,105,110,105,116,32,37,100,32,115,116,114,101,115,115,119,116,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,99,111,110,118,101,114,116,32,103,114,97,112,104,58,32,0,109,97,106,111,114,105,122,97,116,105,111,110,10,0,37,100,32,110,111,100,101,115,32,37,46,50,102,32,115,101,99,10,0,108,101,118,101,108,115,103,97,112,0,108,97,121,111,117,116,32,97,98,111,114,116,101,100,10,0,115,116,114,101,115,115,119,116,0,37,115,32,97,116,116,114,105,98,117,116,101,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,49,32,111,114,32,50,32,45,32,105,103,110,111,114,105,110,103,10,0,109,111,100,101,108,0,99,105,114,99,117,105,116,0,115,117,98,115,101,116,0,115,104,111,114,116,112,97,116,104,0,109,100,115,0,101,100,103,101,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,118,101,32,110,111,32,108,101,110,32,97,116,116,114,105,98,117,116,101,46,32,72,101,110,99,101,44,32,116,104,101,32,109,100,115,32,109,111,100,101,108,10,0,105,115,32,105,110,97,112,112,114,111,112,114,105,97,116,101,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,108,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,111,100,101,0,75,75,0,109,97,106,111,114,0,104,105,101,114,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,97,107,101,83,112,108,105,110,101,58,32,102,97,105,108,101,100,32,116,111,32,109,97,107,101,32,115,112,108,105,110,101,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,115,112,108,105,110,101,32,37,115,32,37,115,10,0,98,32,61,61,32,110,0,110,101,97,116,111,115,112,108,105,110,101,115,46,99,0,109,97,107,101,95,98,97,114,114,105,101,114,115,0,116,104,101,32,98,111,117,110,100,105,110,103,32,98,111,120,101,115,32,111,102,32,115,111,109,101,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,115,111,109,101,32,110,111,100,101,115,32,119,105,116,104,32,109,97,114,103,105,110,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,111,114,116,104,111,103,111,110,97,108,32,108,105,110,101,115,0,108,105,110,101,32,115,101,103,109,101,110,116,115,0,112,111,108,121,108,105,110,101,115,0,67,114,101,97,116,105,110,103,32,101,100,103,101,115,32,117,115,105,110,103,32,37,115,10,0,112,111,108,121,108,105,110,101,32,37,115,32,37,115,10,0,109,100,115,77,111,100,101,108,58,32,100,101,108,116,97,32,61,32,37,102,10,0,83,101,116,116,105,110,103,32,117,112,32,115,116,114,101,115,115,32,102,117,110,99,116,105,111,110,0,83,111,108,118,105,110,103,32,109,111,100,101,108,58,32,0,10,102,105,110,97,108,32,101,32,61,32,37,102,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,83,99,97,110,110,105,110,103,32,103,114,97,112,104,32,37,115,44,32,37,100,32,110,111,100,101,115,10,0,68,97,109,112,105,110,103,0,100,101,102,97,117,108,116,100,105,115,116,0,32,105,110,32,37,115,32,45,32,115,101,116,116,105,110,103,32,116,111,32,37,46,48,50,102,10,0,98,97,100,32,101,100,103,101,32,108,101,110,32,34,37,115,34,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,10,0,115,116,97,114,116,61,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,109,111,100,101,61,115,101,108,102,32,45,32,105,103,110,111,114,101,100,10,0,83,101,116,116,105,110,103,32,117,112,32,115,112,114,105,110,103,32,109,111,100,101,108,58,32,0,37,46,50,102,32,115,101,99,10,0,10,102,105,110,97,108,32,101,32,61,32,37,102,0,33,0,32,37,100,37,115,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,77,97,120,46,32,105,116,101,114,97,116,105,111,110,115,32,40,37,100,41,32,114,101,97,99,104,101,100,32,111,110,32,103,114,97,112,104,32,37,115,10,0,37,115,32,37,46,51,102,10,0,37,46,51,102,32,0,78,68,95,104,101,97,112,105,110,100,101,120,40,118,41,32,60,32,48,0,115,116,117,102,102,46,99,0,110,101,97,116,111,95,101,110,113,117,101,117,101,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,58,32,0,115,112,101,99,105,102,105,101,100,32,114,111,111,116,32,110,111,100,101,32,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,46,0,85,115,105,110,103,32,100,101,102,97,117,108,116,32,99,97,108,99,117,108,97,116,105,111,110,32,102,111,114,32,114,111,111,116,32,110,111,100,101,10,0,114,101,112,111,115,105,116,105,111,110,32,37,115,10,0,37,115,32,58,32,37,102,32,37,102,10,0,37,115,32,58,32,37,102,32,37,102,32,37,102,32,37,102,10,0,32,32,0,71,114,97,112,104,32,37,115,32,104,97,115,32,97,114,114,97,121,32,112,97,99,107,105,110,103,32,119,105,116,104,32,117,115,101,114,32,118,97,108,117,101,115,32,98,117,116,32,110,111,32,34,115,111,114,116,118,34,32,97,116,116,114,105,98,117,116,101,115,32,97,114,101,32,100,101,102,105,110,101,100,46,0,112,105,110,0,87,97,114,110,105,110,103,58,32,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,102,108,111,97,116,115,10,0,99,111,111,114,100,115,0,108,97,121,111,117,116,32,37,115,10,0,101,110,100,32,37,115,10,0,105,100,120,32,61,61,32,115,122,0,108,97,121,111,117,116,46,99,0,101,120,112,97,110,100,67,108,117,115,116,101,114,0,105,32,61,61,32,100,101,103,0,103,101,116,69,100,103,101,76,105,115,116,0,95,100,103,95,37,100,0,100,101,114,105,118,101,32,103,114,97,112,104,32,37,115,32,111,102,32,37,115,10,0,110,111,100,101,32,34,37,115,34,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32,116,119,111,32,110,111,110,45,99,111,109,112,97,114,97,98,108,101,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,95,112,111,114,116,95,37,115,95,37,115,95,37,115,95,37,108,100,0,95,112,111,114,116,95,37,115,95,40,37,100,41,95,40,37,100,41,95,37,108,100,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,37,99,0,103,114,97,112,104,32,37,115,44,32,99,111,111,114,100,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,111,117,114,32,100,111,117,98,108,101,115,10,0,115,112,108,105,110,101,115,32,97,110,100,32,99,108,117,115,116,101,114,32,101,100,103,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,45,32,117,115,105,110,103,32,108,105,110,101,32,115,101,103,109,101,110,116,115,10,0,109,97,120,105,116,101,114,0,84,48,0,102,100,112,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,116,97,114,116,61,115,101,108,102,32,45,32,105,103,110,111,114,105,110,103,10,0,120,76,97,121,111,117,116,32,0,57,58,112,114,105,115,109,0,116,114,105,101,115,32,61,32,37,100,44,32,109,111,100,101,32,61,32,37,115,10,0,100,101,114,105,118,101,100,0,105,110,102,111,0,115,102,100,112,32,111,110,108,121,32,115,117,112,112,111,114,116,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,75,0,114,101,112,117,108,115,105,118,101,102,111,114,99,101,0,108,101,118,101,108,115,0,115,109,111,111,116,104,105,110,103,0,113,117,97,100,116,114,101,101,0,98,101,97,117,116,105,102,121,0,111,118,101,114,108,97,112,95,115,104,114,105,110,107,0,114,111,116,97,116,105,111,110,0,108,97,98,101,108,95,115,99,104,101,109,101,0,108,97,98,101,108,95,115,99,104,101,109,101,32,61,32,37,100,32,62,32,52,32,58,32,105,103,110,111,114,105,110,103,10,0,102,97,115,116,0,97,118,103,95,100,105,115,116,0,103,114,97,112,104,95,100,105,115,116,0,112,111,119,101,114,95,100,105,115,116,0,115,112,114,105,110,103,0,100,105,109,101,110,0,100,105,109,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,99,111,110,116,114,111,108,58,10,0,32,32,114,101,112,117,108,115,105,118,101,32,97,110,100,32,97,116,116,114,97,99,116,105,118,101,32,101,120,112,111,110,101,110,116,115,58,32,37,46,48,51,102,32,37,46,48,51,102,10,0,32,32,114,97,110,100,111,109,32,115,116,97,114,116,32,37,100,32,115,101,101,100,32,37,100,10,0,32,32,75,32,58,32,37,46,48,51,102,32,67,32,58,32,37,46,48,51,102,10,0,32,32,109,97,120,32,108,101,118,101,108,115,32,37,100,32,99,111,97,114,115,101,110,95,115,99,104,101,109,101,32,37,100,32,99,111,97,114,115,101,110,95,110,111,100,101,32,37,100,10,0,32,32,113,117,97,100,116,114,101,101,32,115,105,122,101,32,37,100,32,109,97,120,95,108,101,118,101,108,32,37,100,10,0,32,32,66,97,114,110,101,115,45,72,117,116,116,32,99,111,110,115,116,97,110,116,32,37,46,48,51,102,32,116,111,108,101,114,97,110,99,101,32,32,37,46,48,51,102,32,109,97,120,105,116,101,114,32,37,100,10,0,32,32,99,111,111,108,105,110,103,32,37,46,48,51,102,32,115,116,101,112,32,115,105,122,101,32,32,37,46,48,51,102,32,97,100,97,112,116,105,118,101,32,37,100,10,0,32,32,98,101,97,117,116,105,102,121,95,108,101,97,118,101,115,32,37,100,32,110,111,100,101,32,119,101,105,103,104,116,115,32,37,100,32,114,111,116,97,116,105,111,110,32,37,46,48,51,102,10,0,32,32,115,109,111,111,116,104,105,110,103,32,37,115,32,111,118,101,114,108,97,112,32,37,100,32,105,110,105,116,105,97,108,95,115,99,97,108,105,110,103,32,37,46,48,51,102,32,100,111,95,115,104,114,105,110,107,105,110,103,32,37,100,10,0,32,32,111,99,116,114,101,101,32,115,99,104,101,109,101,32,37,115,32,109,101,116,104,111,100,32,37,115,10,0,32,32,101,100,103,101,95,108,97,98,101,108,105,110,103,95,115,99,104,101,109,101,32,37,100,10,0,83,80,82,73,78,71,95,69,76,69,67,84,82,73,67,65,76,0,83,80,82],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+81944);allocate([73,78,71,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,65,80,80,82,79,88,0,83,84,82,69,83,83,0,85,78,73,70,79,82,77,95,83,84,82,69,83,83,0,70,85,76,76,95,83,84,82,69,83,83,0,78,79,78,69,0,78,79,82,77,65,76,0,70,65,83,84,0,72,89,66,82,73,68,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,71,82,65,80,72,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,65,86,71,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,80,79,87,69,82,95,68,73,83,84,0,83,80,82,73,78,71,0,84,82,73,65,78,71,76,69,0,82,78,71,0,13,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,114,32,61,32,37,100,44,32,115,116,101,112,32,61,32,37,102,32,70,110,111,114,109,32,61,32,37,102,32,110,122,32,61,32,37,100,32,32,75,32,61,32,37,102,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,101,109,98,101,100,100,105,110,103,95,115,108,111,119,0,100,109,101,97,110,32,61,32,37,102,44,32,114,104,111,32,61,32,37,102,10,0,115,101,110,100,32,114,97,110,100,111,109,32,99,111,111,114,100,105,110,97,116,101,115,10,0,115,99,97,108,105,110,103,32,102,97,99,116,111,114,32,61,32,37,102,10,0,81,85,65,68,95,84,82,69,69,95,72,89,66,82,73,68,44,32,115,105,122,101,32,108,97,114,103,101,114,32,116,104,97,110,32,37,100,44,32,115,119,105,116,99,104,32,116,111,32,102,97,115,116,32,113,117,97,100,116,114,101,101,0,99,116,114,108,45,62,111,118,101,114,108,97,112,61,37,100,10,0,37,100,32,37,100,10,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,46,99,0,85,110,105,102,111,114,109,83,116,114,101,115,115,83,109,111,111,116,104,101,114,95,110,101,119,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,66,44,32,70,65,76,83,69,41,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,0,124,101,100,103,101,108,97,98,101,108,124,0,108,101,110,0,110,111,114,109,97,108,105,122,101,0,111,118,101,114,108,97,112,0,79,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,117,110,115,117,112,112,111,114,116,101,100,32,45,32,105,103,110,111,114,101,100,10,0,85,110,114,101,99,111,103,110,105,122,101,100,32,111,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,45,32,117,115,105,110,103,32,102,97,108,115,101,10,0,86,111,114,111,110,111,105,0,111,118,101,114,108,97,112,58,32,37,115,32,118,97,108,117,101,32,37,100,32,115,99,97,108,105,110,103,32,37,46,48,52,102,10,0,111,118,101,114,108,97,112,95,115,99,97,108,105,110,103,0,118,111,114,111,110,111,105,0,115,99,97,108,105,110,103,0,118,112,115,99,0,105,112,115,101,112,0,111,115,99,97,108,101,0,111,108,100,32,115,99,97,108,105,110,103,0,115,99,97,108,101,120,121,0,120,32,97,110,100,32,121,32,115,99,97,108,105,110,103,0,111,114,116,104,111,0,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,95,121,120,0,111,114,116,104,111,120,121,0,120,121,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,121,120,0,121,120,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,0,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,95,121,120,0,112,111,114,116,104,111,120,121,0,120,121,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,121,120,0,121,120,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,114,105,115,109,0,65,100,106,117,115,116,105,110,103,32,37,115,32,117,115,105,110,103,32,37,115,10,0,85,110,104,97,110,100,108,101,100,32,97,100,106,117,115,116,32,111,112,116,105,111,110,32,37,115,10,0,78,117,109,98,101,114,32,111,102,32,105,116,101,114,97,116,105,111,110,115,32,61,32,37,100,10,0,78,117,109,98,101,114,32,111,102,32,105,110,99,114,101,97,115,101,115,32,61,32,37,100,10,0,111,118,101,114,108,97,112,32,91,37,100,93,32,58,32,37,100,10,0,118,111,114,111,95,109,97,114,103,105,110,0,115,101,112,0,101,115,101,112,0,78,111,100,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,37,102,44,37,102,0,115,99,97,108,101,32,61,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,69,100,103,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,67,97,108,99,117,108,97,116,105,110,103,32,99,105,114,99,117,105,116,32,109,111,100,101,108,0,99,111,110,106,117,103,97,116,101,95,103,114,97,100,105,101,110,116,58,32,117,110,101,120,112,101,99,116,101,100,32,108,101,110,103,116,104,32,48,32,118,101,99,116,111,114,10,0,67,97,108,99,117,108,97,116,105,110,103,32,115,117,98,115,101,116,32,109,111,100,101,108,0,103,114,97,112,104,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,105,115,32,117,110,100,101,102,105,110,101,100,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,67,97,108,99,117,108,97,116,105,110,103,32,77,68,83,32,109,111,100,101,108,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,0,58,32,37,46,50,102,32,115,101,99,10,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,0,58,32,37,46,50,102,32,115,101,99,0,99,103,0,100,101,108,116,97,32,60,61,32,48,120,70,70,70,70,0,99,111,110,115,116,114,97,105,110,116,46,99,0,109,107,78,67,111,110,115,116,114,97,105,110,116,71,0,118,103,0,99,111,109,112,114,101,115,115,32,37,103,32,10,0,115,99,97,108,101,32,98,121,32,37,103,44,37,103,32,10,0,98,101,115,116,99,111,115,116,32,60,32,72,85,71,69,95,86,65,76,0,99,111,109,112,117,116,101,83,99,97,108,101,88,89,0,71,114,97,112,104,118,105,122,32,98,117,105,108,116,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,100,101,108,97,117,110,97,121,95,116,114,105,97,110,103,117,108,97,116,105,111,110,58,32,37,115,10,0,100,101,108,97,117,110,97,121,95,116,114,105,58,32,37,115,10,0,116,114,121,105,110,103,32,116,111,32,100,101,108,101,116,101,32,97,32,110,111,110,45,108,105,110,101,10,0,10,105,110,116,101,114,115,101,99,116,105,111,110,32,97,116,32,37,46,51,102,32,37,46,51,102,10,0,115,101,103,35,37,100,32,58,32,40,37,46,51,102,44,32,37,46,51,102,41,32,40,37,46,51,102,44,32,37,46,51,102,41,10,0,114,101,109,111,118,101,95,111,118,101,114,108,97,112,58,32,71,114,97,112,104,118,105,122,32,110,111,116,32,98,117,105,108,116,32,119,105,116,104,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,109,97,107,101,65,100,100,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,109,97,107,101,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,120,33,61,78,85,76,76,0,115,109,97,114,116,95,105,110,105,95,120,46,99,0,73,77,68,83,95,103,105,118,101,110,95,100,105,109,0,105,108,108,45,99,111,110,100,105,116,105,111,110,101,100,0,114,111,111,116,32,61,32,37,115,32,109,97,120,32,115,116,101,112,115,32,116,111,32,114,111,111,116,32,61,32,37,100,10,0,116,119,111,112,105,58,32,117,115,101,32,111,102,32,119,101,105,103,104,116,61,48,32,99,114,101,97,116,101,115,32,100,105,115,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,46,10,0,82,97,110,107,32,115,101,112,97,114,97,116,105,111,110,32,61,32,0,37,46,48,51,108,102,32,0,97,114,101,97,0,105,110,115,101,116,0,37,115,32,99,111,111,114,100,32,37,46,53,103,32,37,46,53,103,32,104,116,32,37,102,32,119,105,100,116,104,32,37,102,10,0,37,46,48,51,102,0,114,101,99,32,37,102,32,37,102,32,37,102,32,37,102,10,0,37,102,32,45,32,37,102,32,37,102,32,37,102,32,37,102,32,61,32,37,102,32,40,37,102,32,37,102,32,37,102,32,37,102,41,10,0,116,114,121,105,110,103,32,116,111,32,97,100,100,32,116,111,32,114,101,99,116,32,123,37,102,32,43,47,45,32,37,102,44,32,37,102,32,43,47,45,32,37,102,125,10,0,116,111,116,97,108,32,97,100,100,101,100,32,115,111,32,102,97,114,32,61,32,37,100,10,0,97,100,100,105,110,103,32,37,100,32,105,116,101,109,115,44,32,116,111,116,97,108,32,97,114,101,97,32,61,32,37,102,44,32,119,32,61,32,37,102,44,32,97,114,101,97,47,119,61,37,102,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,99,111,117,108,100,32,110,111,116,32,99,111,110,115,116,114,117,99,116,32,111,98,115,116,97,99,108,101,115,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,112,97,99,107,32,118,97,108,117,101,32,37,100,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,115,101,112,32,118,97,108,117,101,32,40,37,46,48,51,102,44,37,46,48,51,102,41,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,99,99,37,115,95,37,100,0,99,99,37,115,43,37,100,0,99,95,99,110,116,32,61,61,32,48,0,99,111,109,112,46,99,0,102,105,110,100,67,67,111,109,112,0,103,114,105,100,40,37,100,44,37,100,41,58,32,37,115,10,0,119,103,116,32,62,32,48,0,81,117,97,100,84,114,101,101,46,99,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,97,99,99,117,109,117,108,97,116,101,0,113,116,50,45,62,110,32,62,32,48,0,113,116,49,45,62,110,32,62,32,48,32,38,38,32,113,116,50,45,62,110,32,62,32,48,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,105,110,116,101,114,97,99,116,0,100,105,115,116,32,62,32,48,0,33,40,113,45,62,108,41,0,81,117,97,100,84,114,101,101,95,97,100,100,95,105,110,116,101,114,110,97,108,0,105,105,32,60,32,49,60,60,100,105,109,32,38,38,32,105,105,32,62,61,32,48,0,113,45,62,113,116,115,91,105,105,93,0,113,45,62,110,32,61,61,32,49,0,33,40,113,45,62,113,116,115,41,0,113,45,62,108,0,119,105,100,116,104,32,62,32,48,0,81,117,97,100,84,114,101,101,95,110,101,119,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,83,112,97,114,115,101,77,97,116,114,105,120,46,99,0,83,112,97,114,115,101,77,97,116,114,105,120,95,116,114,97,110,115,112,111,115,101,0,65,32,38,38,32,66,0,83,112,97,114,115,101,77,97,116,114,105,120,95,97,100,100,0,65,45,62,102,111,114,109,97,116,32,61,61,32,66,45,62,102,111,114,109,97,116,32,38,38,32,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,65,45,62,116,121,112,101,32,61,61,32,66,45,62,116,121,112,101,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,79,79,82,68,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,97,116,0,109,32,62,32,48,32,38,38,32,110,32,62,32,48,32,38,38,32,110,122,32,62,61,32,48,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,97,114,114,97,121,115,95,105,110,116,101,114,110,97,108,0,65,0,106,97,91,109,97,115,107,91,106,97,91,106,93,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,115,117,109,95,114,101,112,101,97,116,95,101,110,116,114,105,101,115,0,105,100,32,60,32,110,42,40,121,109,97,120,45,121,109,105,110,43,49,41,0,106,97,91,109,97,115,107,91,105,100,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,50,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,118,101,99,116,111,114,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,32,124,124,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,73,78,84,69,71,69,82,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,49,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,0,106,99,91,109,97,115,107,91,106,98,91,107,93,93,93,32,61,61,32,106,98,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,51,0,106,100,91,109,97,115,107,91,106,99,91,107,93,93,93,32,61,61,32,106,99,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,95,97,100,100,95,101,110,116,114,105,101,115,0,83,112,97,114,115,101,77,97,116,114,105,120,95,100,105,118,105,100,101,95,114,111,119,95,98,121,95,100,101,103,114,101,101,0,110,32,62,32,49,0,103,101,110,101,114,97,108,46,99,0,105,114,97,110,100,0,111,110,101,98,108,111,99,107,0,109,105,110,100,105,115,116,0,97,114,116,105,99,117,108,97,116,105,111,110,95,112,111,115,0,114,111,111,116,0,80,114,105,111,114,105,116,121,81,117,101,117,101,46,99,0,80,114,105,111,114,105,116,121,81,117,101,117,101,95,112,117,115,104,0,103,97,105,110,32,60,61,32,113,45,62,110,103,97,105,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,0,112,111,115,116,95,112,114,111,99,101,115,115,46,99,0,105,100,101,97,108,95,100,105,115,116,97,110,99,101,95,109,97,116,114,105,120,0,108,101,110,32,62,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,50,95,110,101,119,0,110,122,32,62,32,48,0,105,100,101,97,108,95,100,105,115,116,95,115,99,104,101,109,101,32,118,97,108,117,101,32,119,114,111,110,103,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,32,38,38,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,110,101,119,0,105,100,105,97,103,32,62,61,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,40,33,106,99,110,41,32,38,38,32,40,33,118,97,108,41,0,103,101,116,95,101,100,103,101,95,108,97,98,101,108,95,109,97,116,114,105,120,0,84,114,105,97,110,103,108,101,83,109,111,111,116,104,101,114,95,110,101,119,0,106,100,105,97,103,32,62,61,32,48,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,110,101,119,0,33,102,108,97,103,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,110,101,105,103,104,98,61,37,100,10,0,114,111,111,116,32,61,32,37,115,10,0,95,98,108,111,99,107,95,37,100,0,115,45,62,115,122,32,62,32,48,0,98,108,111,99,107,116,114,101,101,46,99,0,112,111,112,0,97,99,116,117,97,108,0,110,111,100,101,108,105,115,116,46,99,0,105,110,115,101,114,116,78,111,100,101,108,105,115,116,0,95,115,112,97,110,95,37,100,0,95,99,108,111,110,101,95,37,100,0,105,112,0,100,101,103,108,105,115,116,46,99,0,114,101,109,111,118,101,68,101,103,108,105,115,116,0,69,114,114,111,114,0,87,97,114,110,105,110,103,0,37,115,58,32,0,117,115,101,114,111,117,116,58,32,99,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,10,0,95,65,71,95,115,116,114,100,97,116,97,0,95,65,71,95,100,97,116,97,100,105,99,116,0,97,103,100,105,99,116,111,102,58,32,117,110,107,110,111,119,110,32,107,105,110,100,32,37,100,10,0,37,99,37,108,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,0,97,103,100,101,108,101,116,101,32,111,110,32,119,114,111,110,103,32,103,114,97,112,104,0,95,65,71,95,112,101,110,100,105,110,103,0,97,103,114,101,99,111,114,100,95,99,97,108,108,98,97,99,107,32,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,112,101,110,100,32,100,105,99,116,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,109,111,118,101,32,116,111,32,102,114,111,110,116,32,108,111,99,107,32,105,110,99,111,110,115,105,115,116,101,110,99,121,0,92,92,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,110,111,32,97,99,116,105,111,110,32,102,111,117,110,100,0,37,115,10,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,101,110,100,32,111,102,32,98,117,102,102,101,114,32,109,105,115,115,101,100,0,102,97,116,97,108,32,101,114,114,111,114,32,45,32,115,99,97,110,110,101,114,32,105,110,112,117,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,103,101,116,95,110,101,120,116,95,98,117,102,102,101,114,40,41,0,105,110,112,117,116,0,115,121,110,116,97,120,32,97,109,98,105,103,117,105,116,121,32,45,32,98,97,100,108,121,32,100,101,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,39,0,39,32,105,110,32,108,105,110,101,32,37,100,32,111,102,32,0,32,115,112,108,105,116,115,32,105,110,116,111,32,116,119,111,32,116,111,107,101,110,115,10,0,37,115,0,108,105,110,101,0,37,100,32,37,49,91,34,93,37,110,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,99,114,101,97,116,101,95,98,117,102,102,101,114,40,41,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,101,110,115,117,114,101,95,98,117,102,102,101,114,95,115,116,97,99,107,40,41,0,58,32,0,32,105,110,32,108,105,110,101,32,37,100,0,32,110,101,97,114,32,39,0,32,115,99,97,110,110,105,110,103,32,97,32,113,117,111,116,101,100,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,101,110,100,113,117,111,116,101,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,34,0,32,115,99,97,110,110,105,110,103,32,97,32,72,84,77,76,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,39,62,39,63,32,98,97,100,32,110,101,115,116,105,110,103,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,60,0,32,115,99,97,110,110,105,110,103,32,97,32,47,42,46,46,46,42,47,32,99,111,109,109,101,110,116,32,40,109,105,115,115,105,110,103,32,39,42,47,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,102,108,101,120,32,115,99,97,110,110,101,114,32,112,117,115,104,45,98,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,0,115,116,114,105,99,116,0,108,105,110,101,108,101,110,103,116,104,0,59,10,0,32,91,107,101,121,61,0,93,0,32,91,0,44,10,0,61,0,95,37,108,100,95,83,85,83,80,69,67,84,0,100,105,0,115,116,114,105,99,116,32,0,123,10,0,93,59,10,0,18,238,238,20,9,3,238,254,238,238,238,1,238,238,238,1,238,238,10,254,238,19,25,21,238,19,1,238,238,238,238,11,17,238,238,238,238,238,238,238,238,238,1,238,238,22,9,1,1,29,15,23,238,238,26,23,27,238,238,28,238,238,238,238,1,25,251,238,238,238,1,238,16,238,238,30,238,238,238,238,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,23,17,2,2,2,2,2,2,2,2,2,2,2,2,2,18,16,2,19,2,2,22,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,20,2,21,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,14,2,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,11,3,4,5,15,7,3,12,13,6,12,13,14,12,13,26,21,22,0,1,0,3,7,14,6,15,8,12,13,18,19,42,16,17,9,16,47,48,17,50,23,19,13,20,18,46,18,20,65,19,50,19,44,64,42,66,25,44,66,70,34,12,13,14,35,15,9,16,17,10,16,17,201,16,17,45,69,70,252,1,6,246,15,7,246,36,2,16,17,47,48,54,77,78,40,38,59,60,42,54,49,57,61,63,47,58,64,216,68,48,62,37,55,67,53,75,43,56,73,76,0,3,9,0,0,0,1,14,2,11,12,8,35,36,37,54,59,61,0,13,16,18,27,22,28,18,39,50,34,23,51,30,60,6,7,53,5,15,17,20,24,41,0,19,41,0,0,0,0,0,55,21,40,29,30,0,33,38,52,31,48,62,25,44,0,27,0,32,26,42,0,43,58,46,47,0,49,56,57,45,0,2,2,1,0,3,3,1,0,1,0,1,1,1,0,2,1,1,0,2,2,3,1,1,0,0,5,0,1,3,1,3,5,3,1,1,1,1,2,0,1,0,4,2,0,2,1,1,3,2,1,0,3,2,1,0,1,1,0,1,1,1,3,0,24,25,25,25,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,36,36,38,39,37,37,40,40,41,41,41,42,42,43,43,43,44,44,45,45,46,47,47,48,49,49,50,51,52,54,53,55,55,55,56,56,56,57,57,58,58,238,238,255,238,238,238,238,238,238,31,32,238,0,239,238,238,238,12,238,238,238,8,13,238,238,238,248,238,238,238,238,238,238,245,238,255,3,8,4,33,5,11,18,19,39,20,21,22,41,50,65,23,24,25,26,44,51,52,66,71,72,27,74,28,29,46,30,79,31,32,107,101,121,0,97,116,116,114,105,98,117,116,101,32,109,97,99,114,111,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,37,115,58,37,115,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,34,37,115,34,32,102,111,114,32,119,114,105,116,105,110,103,32,58,32,37,115,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,46,10,0,46,37,100,0,110,111,110,97,109,101,46,103,118,0,103,118,119,114,105,116,101,95,110,111,95,122,32,112,114,111,98,108,101,109,32,37,100,10,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,10,0,103,118,112,114,105,110,116,102,58,32,37,115,10,0,45,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,46,57,57,0,103,114,97,112,104,118,105,122,0,50,46,52,48,46,49,0,50,48,49,54,49,50,50,53,46,48,51,48,52,0,114,101,110,100,101,114,0,100,101,118,105,99,101,0,108,111,97,100,105,109,97,103,101,0,100,121,110,97,109,105,99,32,108,111,97,100,105,110,103,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,85,115,105,110,103,32,37,115,58,32,37,115,58,37,115,10,0,103,118,117,115,101,114,115,104,97,112,101,46,99,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,110,100,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,108,101,95,97,99,99,101,115,115,0,70,105,108,101,110,97,109,101,32,34,37,115,34,32,105,115,32,117,110,115,97,102,101,10,0,37,115,32,119,104,105,108,101,32,111,112,101,110,105,110,103,32,37,115,10,0,117,115,45,62,102,0,103,118,117,115,101,114,115,104,97,112,101,95,111,112,101,110,0,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,115,32,97,32,102,105,108,101,32,111,114,32,97,115,32,97,32,115,104,97,112,101,32,108,105,98,114,97,114,121,32,109,101,109,98,101,114,10,0,47,77,101,100,105,97,66,111,120,0,40,91,97,45,122,93,91,97,45,122,65,45,90,93,42,41,61,34,40,91,94,34,93,42,41,34,0,99,97,110,110,111,116,32,99,111,109,112,105,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,37,115,0,37,108,102,37,50,115,0,112,116,0,118,105,101,119,66,111,120,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,105,110,0,112,120,0,112,99,0,34,0,99,109,0,109,109,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,0,1,208,209,210,211,212,213,214,215,216,217,0,60,115,118,103,0,87,69,66,80,0,119,101,98,112,0,40,108,105,98,41,0,137,80,78,71,13,10,26,10,0,112,110,103,0,37,33,80,83,45,65,100,111,98,101,45,0,66,77,0,98,109,112,0,71,73,70,56,0,103,105,102,0,255,216,255,224,0,106,112,101,103,0,37,80,68,70,45,0,112,100,102,0,197,208,211,198,0,101,112,115,0,60,63,120,109,108,0,120,109,108,0,82,73,70,70,0,114,105,102,102,0,0,0,1,0,0,105,99,111,0,37,100,32,37,100,32,37,100,32,37,100,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,102,97,105,108,117,114,101,32,109,97,108,108,111,99,39,105,110,103,32,102,111,114,32,114,101,115,117,108,116,32,115,116,114,105,110,103,0,103,99,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,95,99,99,95,0,111,114,105,103,0,111,112,0,99,99,111,109,112,115,46,99,0,109,97,112,67,108,117,115,116,0,99,99,103,114,97,112,104,105,110,102,111,0,99,99,103,110,111,100,101,105,110,102,111,0,40,37,52,108,100,41,32,37,55,108,100,32,110,111,100,101,115,32,37,55,108,100,32,101,100,103,101,115,10,0,32,32,32,32,32,32,32,37,55,100,32,110,111,100,101,115,32,37,55,100,32,101,100,103,101,115,32,37,55,108,100,32,99,111,109,112,111,110,101,110,116,115,32,37,115,10,0,100,103,0,69,114,114,111,114,58,32,110,111,100,101,32,34,37,115,34,32,98,101,108,111,110,103,115,32,116,111,32,116,119,111,32,110,111,110,45,110,101,115,116,101,100,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,115,111,114,116,118,0,114,111,119,32,109,97,106,111,114,0,99,111,108,117,109,110,32,109,97,106,111,114,0,97,114,114,97,121,32,112,97,99,107,105,110,103,58,32,37,115,32,37,100,32,114,111,119,115,32,37,100,32,99,111,108,117,109,110,115,10,0,98,98,91,37,115,93,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,10,0,115,116,101,112,32,115,105,122,101,32,61,32,37,100,10,0,112,111,115,91,37,100,93,32,37,100,32,37,100,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,10,0,37,115,32,110,111,46,32,99,101,108,108,115,32,37,100,32,87,32,37,100,32,72,32,37,100,10,0,32,32,37,100,32,37,100,32,99,101,108,108,10,0,108,105,98,112,97,99,107,58,32,100,105,115,99,32,61,32,37,102,32,40,32,60,32,48,41,10,0,80,97,99,107,105,110,103,58,32,99,111,109,112,117,116,101,32,103,114,105,100,32,115,105,122,101,10,0,97,32,37,102,32,98,32,37,102,32,99,32,37,102,32,100,32,37,102,32,114,32,37,102,10,0,114,111,111,116,32,37,100,32,40,37,102,41,32,37,100,32,40,37,102,41,10,0,32,114,49,32,37,102,32,114,50,32,37,102,10,0,112,105,110,102,111,0,112,97,99,107,46,99,0,103,101,116,80,97,99,107,73,110,102,111,0,32,32,109,97,114,103,105,110,32,37,100,10,0,112,97,99,107,109,111,100,101,0,112,97,114,115,101,80,97,99,107,77,111,100,101,73,110,102,111,0,97,114,114,97,121,0,97,115,112,101,99,116,0,37,102,0,112,97,99,107,32,105,110,102,111,58,10,0,32,32,109,111,100,101,32,32,32,37,115,10,0,32,32,97,115,112,101,99,116,32,37,102,10,0,32,32,115,105,122,101,32,32,32,37,100,10,0,32,32,102,108,97,103,115,32,32,37,100,10,0,117,110,100,101,102,105,110,101,100,0,112,97,99,107,0,65,114,114,111,119,32,116,121,112,101,32,34,37,115,34,32,117,110,107,110,111,119,110,32,45,32,105,103,110,111,114,105,110,103,10,0,110,111,114,109,97,108,0,99,114,111,119,0,116,101,101,0,100,111,116,0,105,110,118,0,118,101,101,0,112,101,110,0,109,112,116,121,0,99,117,114,118,101,0,105,99,117,114,118,101,0,108,0,104,97,108,102,0,105,110,118,101,109,112,116,121,0,95,98,97,99,107,103,114,111,117,110,100,0,95,100,114,97,119,95,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,34,95,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,32,105,110,32,103,114,97,112,104,32,37,115,10,0,32,32,34,37,115,34,10,0,110,111,32,109,101,109,111,114,121,32,102,114,111,109,32,122,109,97,108,108,111,99,40,41,10,0,111,98,106,0,101,109,105,116,46,99,0,112,111,112,95,111,98,106,95,115,116,97,116,101,0,99,108,117,115,116,0,37,108,100,0,112,97,103,101,37,100,44,37,100,95,0,84,111,116,97,108,32,115,105,122,101,32,62,32,49,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,115,112,101,99,32,0,73,108,108,101,103,97,108,32,108,101,110,103,116,104,32,118,97,108,117,101,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,97,116,116,114,105,98,117,116,101,32,0,108,110,114,99,111,108,111,114,115,99,104,101,109,101,0,101,109,105,116,95,101,100,103,101,95,108,97,98,101,108,0,37,115,45,37,115,0,102,111,114,119,97,114,100,0,98,97,99,107,0,32,45,62,32,0,32,45,45,32,0,105,110,32,101,100,103,101,32,37,115,37,115,37,115,10,0,108,97,98,101,108,97,108,105,103,110,101,100,0,101,100,103,101,104,114,101,102,0,101,100,103,101,85,82,76,0,108,97,98,101,108,104,114,101,102,0,108,97,98,101,108,85,82,76,0,116,97,105,108,104,114,101,102,0,116,97,105,108,85,82,76,0,104,101,97,100,104,114,101,102,0,104,101,97,100,85,82,76,0,101,100,103,101,116,97,114,103,101,116,0,108,97,98,101,108,116,97,114,103,101,116,0,116,97,105,108,116,97,114,103,101,116,0,104,101,97,100,116,97,114,103,101,116,0,101,100,103,101,116,111,111,108,116,105,112,0,108,97,98,101,108,116,111,111,108,116,105,112,0,116,97,105,108,116,111,111,108,116,105,112,0,104,101,97,100,116,111,111,108,116,105,112,0,1,110,101,115,116,105,110,103,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,117,110,109,97,116,99,104,101,100,32,39,41,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,116,114,117,110,99,97,116,105,110,103,32,115,116,121,108,101,32,39,37,115,39,10,0,117,110,109,97,116,99,104,101,100,32,39,40,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,97,108,108,0,105,110,32,99,108,117,115,116,101,114,32,37,115,10,0,77,111,114,101,32,116,104,97,110,32,50,32,99,111,108,111,114,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,103,114,97,100,105,101,110,116,32,45,32,105,103,110,111,114,105,110,103,32,114,101,109,97,105,110,105,110,103,10,0,103,114,97,100,105,101,110,116,32,112,101,110,32,99,111,108,111,114,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,10,0,73,109,97,103,101,115,32,117,110,115,117,112,112,111,114,116,101,100,32,105,110,32,34,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,10,0,108,97,121,101,114,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,37,115,32,111,117,116,112,117,116,10,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,46,32,32,77,105,115,115,105,110,103,32,108,97,121,111,117,116,32,112,108,117,103,105,110,115,63,32,10,0,103,118,82,101,110,100,101,114,74,111,98,115,32,37,115,58,32,37,46,50,102,32,115,101,99,115,46,10,0,108,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,114,101,110,100,101,114,101,114,32,102,111,114,32,37,115,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,10,0,112,97,103,101,100,105,114,61,37,115,32,105,103,110,111,114,101,100,10,0,118,105,101,119,112,111,114,116,0,37,108,102,44,37,108,102,44,37,108,102,44,39,37,91,94,39,93,39,0,37,108,102,44,37,108,102,44,37,108,102,44,37,91,94,44,93,37,115,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,111,117,116,112,117,116,111,114,100,101,114,0,111,100,101,115,102,105,114,115,116,0,100,103,101,115,102,105,114,115,116,0,108,97,121,101,114,115,0,108,97,121,101,114,115,101,108,101,99,116,0,84,104,101,32,108,97,121,101,114,115,101,108,101,99,116,32,97,116,116,114,105,98,117,116,101,32,34,37,115,34,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,108,97,121,101,114,32,115,112,101,99,105,102,101,100,32,98,121,32,116,104,101,32,108,97,121,101,114,115,32,97,116,116,114,105,98,117,116,101,32,45,32,105,103,110,111,114,101,100,46,10,0,108,97,121,101,114,115,101,112,0,58,9,32,0,108,97,121,101,114,108,105,115,116,115,101,112,0,44,0,84,104,101,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,97,112,112,101,97,114,115,32,105,110,32,98,111,116,104,32,116,104,101,32,108,97,121,101,114,115,101,112,32,97,110,100,32,108,97,121,101,114,108,105,115,116,115,101,112,32,97,116,116,114,105,98,117,116,101,115,32,45,32,108,97,121,101,114,108,105,115,116,115,101,112,32,105,103,110,111,114,101,100,46,10,0,112,97,100,0,66,76,0,112,97,103,101,100,105,114,0,115,111,108,105,100,0,0,115,101,116,108,105,110,101,119,105,100,116,104,0,49,0,0,115,112,108,45,62,115,105,122,101,32,62,32,48,0,105,110,105,116,95,115,112,108,105,110,101,115,95,98,98,0,98,122,46,115,105,122,101,32,62,32,48,0,98,101,122,105,101,114,95,98,98,0,98,122,46,115,105,122,101,32,37,32,51,32,61,61,32,49,0,37,108,102,0,102,111,110,116,112,97,116,104,0,68,79,84,70,79,78,84,80,65,84,72,0,71,68,70,79,78,84,80,65,84,72,0,105,109,97,103,101,112,97,116,104,0,113,117,97,110,116,117,109,0,114,97,110,107,100,105,114,0,76,82,0,66,84,0,82,76,0,110,111,100,101,115,101,112,0,114,97,110,107,115,101,112,0,101,113,117,97,108,108,121,0,115,104,111,119,98,111,120,101,115,0,102,111,110,116,110,97,109,101,115,0,115,105,122,101,0,112,97,103,101,0,99,101,110,116,101,114,0,114,111,116,97,116,101,0,111,114,105,101,110,116,97,116,105,111,110,0,108,97,110,100,115,99,97,112,101,0,99,108,117,115,116,101,114,114,97,110,107,0,99,111,110,99,101,110,116,114,97,116,101,0,100,112,105,0,114,101,115,111,108,117,116,105,111,110,0,111,114,100,101,114,105,110,103,0,102,105,108,108,99,111,108,111,114,0,102,111,110,116,115,105,122,101,0,102,111,110,116,110,97,109,101,0,102,111,110,116,99,111,108,111,114,0,120,108,97,98,101,108,0,112,101,110,119,105,100,116,104,0,112,101,114,105,112,104,101,114,105,101,115,0,115,107,101,119,0,100,105,115,116,111,114,116,105,111,110,0,110,111,106,117,115,116,105,102,121,0,108,97,121,101,114,0,103,114,111,117,112,0,99,111,109,109,101,110,116,0,118,101,114,116,105,99,101,115,0,122,0,119,101,105,103,104,116,0,108,97,98,101,108,102,108,111,97,116,0,100,105,114,0,97,114,114,111,119,104,101,97,100,0,97,114,114,111,119,116,97,105,108,0,104,101,97,100,108,97,98,101,108,0,116,97,105,108,108,97,98,101,108,0,108,97,98,101,108,102,111,110,116,115,105,122,101,0,108,97,98,101,108,102,111,110,116,110,97,109,101,0,108,97,98,101,108,102,111,110,116,99,111,108,111,114,0,108,97,98,101,108,100,105,115,116,97,110,99,101,0,108,97,98,101,108,97,110,103,108,101,0,109,105,110,108,101,110,0,100,101,99,111,114,97,116,101,0,97,114,114,111,119,115,105,122,101,0,99,111,110,115,116,114,97,105,110,116,0,116,97,105,108,99,108,105,112,0,104,101,97,100,99,108,105,112,0,108,97,98,101,108,106,117,115,116,0,108,111,99,97,108,0,103,108,111,98,97,108,0,37,108,102,44,37,108,102,37,99,0,37,108,102,37,99,0,114,97,116,105,111,0,97,117,116,111,0,99,111,109,112,114,101,115,115,0,101,120,112,97,110,100,0,102,105,108,108,0,103,100,0,112,115,0,115,118,103,0,99,104,97,114,115,101,116,0,117,116,102,45,56,0,108,97,116,105,110,45,49,0,108,97,116,105,110,49,0,108,49,0,73,83,79,45,56,56,53,57,45,49,0,73,83,79,95,56,56,53,57,45,49,0,73,83,79,56,56,53,57,45,49,0,73,83,79,45,73,82,45,49,48,48,0,98,105,103,45,53,0,98,105,103,53,0,117,116,102,56,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,34,37,115,34,32,45,32,97,115,115,117,109,105,110,103,32,117,116,102,45,56,10,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,118,97,108,117,101,32,37,100,10,0,85,84,70,45,56,0,66,73,71,45,53,0,105,110,32,108,97,98,101,108,32,111,102,32,103,114,97,112,104,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,110,111,100,101,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,101,100,103,101,32,37,115,32,37,115,32,37,115,10,0,107,105,110,100,32,61,61,32,76,84,95,78,79,78,69,0,108,97,98,101,108,115,46,99,0,109,97,107,101,95,108,97,98,101,108,0,92,76,0,92,71,0,92,69,0,92,72,0,92,84,0,38,35,49,51,59,0,38,113,117,111,116,59,0,38,35,49,48,59,0,38,35,49,54,48,59,0,38],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+92184);allocate([97,109,112,59,0,38,103,116,59,0,38,35,51,57,59,0,38,35,52,53,59,0,38,108,116,59,0,37,115,32,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,109,97,120,105,116,101,114,61,37,100,32,98,97,108,97,110,99,101,61,37,100,10,0,110,101,116,119,111,114,107,32,115,105,109,112,108,101,120,58,32,0,37,100,32,0,37,115,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,37,100,32,105,116,101,114,32,37,46,50,102,32,115,101,99,10,0,117,112,100,97,116,101,58,32,109,105,115,109,97,116,99,104,101,100,32,108,99,97,32,105,110,32,116,114,101,101,117,112,100,97,116,101,115,10,0,84,114,101,101,95,101,100,103,101,46,115,105,122,101,32,61,61,32,78,95,110,111,100,101,115,32,45,32,49,0,110,115,46,99,0,102,101,97,115,105,98,108,101,95,116,114,101,101,0,33,84,82,69,69,95,69,68,71,69,40,101,41,0,109,101,114,103,101,95,116,114,101,101,115,0,40,114,48,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,32,124,124,32,40,114,49,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,0,83,84,115,101,116,85,110,105,111,110,0,114,45,62,104,101,97,112,95,105,110,100,101,120,32,62,61,32,48,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,109,105,115,115,105,110,103,32,116,114,101,101,32,101,100,103,101,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,111,117,116,101,100,103,101,32,108,105,115,116,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,105,110,101,100,103,101,32,108,105,115,116,10,0,116,114,111,117,98,108,101,32,105,110,32,105,110,105,116,95,114,97,110,107,10,0,9,37,115,32,37,100,10,0,115,101,97,114,99,104,115,105,122,101,0,103,114,97,112,104,32,0,32,0,110,111,100,101,32,0,115,116,111,112,10,0,37,46,53,103,0,112,111,115,0,114,101,99,116,115,0,120,108,112,0,108,112,0,104,101,97,100,95,108,112,0,116,97,105,108,95,108,112,0,108,119,105,100,116,104,0,108,104,101,105,103,104,116,0,98,98,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,44,37,46,53,103,0,37,46,53,103,44,37,46,53,103,0,115,97,109,112,108,101,112,111,105,110,116,115,0,37,46,53,103,32,37,46,53,103,0,115,44,37,46,53,103,44,37,46,53,103,32,0,101,44,37,46,53,103,44,37,46,53,103,32,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,37,46,50,102,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,32,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,88,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,32,125,32,100,101,102,10,47,100,98,103,115,116,97,114,116,32,123,32,103,115,97,118,101,32,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,125,32,100,101,102,10,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,10,47,97,114,114,111,119,119,105,100,116,104,32,97,114,114,111,119,108,101,110,103,116,104,32,50,32,100,105,118,32,100,101,102,10,47,97,114,114,111,119,104,101,97,100,32,123,10,32,32,32,32,103,115,97,118,101,10,32,32,32,32,114,111,116,97,116,101,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,10,32,32,32,32,110,101,119,112,97,116,104,10,32,32,32,32,109,111,118,101,116,111,10,32,32,32,32,97,114,114,111,119,108,101,110,103,116,104,32,97,114,114,111,119,119,105,100,116,104,32,50,32,100,105,118,32,114,108,105,110,101,116,111,10,32,32,32,32,48,32,97,114,114,111,119,119,105,100,116,104,32,110,101,103,32,114,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,32,32,32,32,103,114,101,115,116,111,114,101,10,125,32,98,105,110,100,32,100,101,102,10,47,109,97,107,101,97,114,114,111,119,32,123,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,32,101,120,99,104,32,112,111,112,32,115,117,98,32,101,120,99,104,32,99,117,114,114,101,110,116,112,111,105,110,116,32,112,111,112,32,115,117,98,32,97,116,97,110,10,32,32,32,32,97,114,114,111,119,104,101,97,100,10,125,32,98,105,110,100,32,100,101,102,10,47,112,111,105,110,116,32,123,32,32,32,32,110,101,119,112,97,116,104,32,32,32,32,50,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,125,32,100,101,102,47,109,97,107,101,118,101,99,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,32,32,32,32,88,32,89,32,109,111,118,101,116,111,10,32,32,32,32,120,32,121,32,109,97,107,101,97,114,114,111,119,10,125,32,100,101,102,10,0,108,111,115,116,32,37,115,32,37,115,32,101,100,103,101,10,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,116,97,105,108,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,104,101,97,100,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,120,108,97,98,101,108,32,37,115,0,102,111,114,99,101,108,97,98,101,108,115,0,37,100,32,111,117,116,32,111,102,32,37,100,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,117,116,32,111,102,32,37,100,32,101,120,116,101,114,105,111,114,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,98,106,115,32,37,100,32,120,108,97,98,101,108,115,32,102,111,114,99,101,61,37,100,32,98,98,61,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,10,0,111,98,106,101,99,116,115,10,0,32,91,37,100,93,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,112,32,34,37,115,34,10,0,120,108,97,98,101,108,115,10,0,32,91,37,100,93,32,37,112,32,115,101,116,32,37,100,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,115,10,0,115,104,97,112,101,102,105,108,101,32,110,111,116,32,115,101,116,32,111,114,32,110,111,116,32,102,111,117,110,100,32,102,111,114,32,101,112,115,102,32,110,111,100,101,32,37,115,10,0,99,111,117,108,100,110,39,116,32,111,112,101,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,0,114,101,97,100,0,66,111,117,110,100,105,110,103,66,111,120,32,110,111,116,32,102,111,117,110,100,32,105,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,102,105,110,100,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,69,79,70,0,66,69,71,73,78,0,69,78,68,0,84,82,65,73,76,69,82,0,47,117,115,101,114,95,115,104,97,112,101,95,37,100,32,123,10,0,37,37,66,101,103,105,110,68,111,99,117,109,101,110,116,58,10,0,37,37,69,110,100,68,111,99,117,109,101,110,116,10,0,125,32,98,105,110,100,32,100,101,102,10,0,85,84,70,45,56,32,105,110,112,117,116,32,117,115,101,115,32,110,111,110,45,76,97,116,105,110,49,32,99,104,97,114,97,99,116,101,114,115,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,32,98,121,32,116,104,105,115,32,80,111,115,116,83,99,114,105,112,116,32,100,114,105,118,101,114,10,0,99,97,110,110,111,116,32,114,101,45,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,105,110,105,116,58,32,99,97,110,110,111,116,32,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,58,32,37,100,32,101,100,103,101,115,44,32,37,100,32,98,111,120,101,115,32,37,46,50,102,32,115,101,99,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,99,97,110,110,111,116,32,102,105,110,100,32,78,79,82,77,65,76,32,101,100,103,101,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,105,108,108,101,103,97,108,32,118,97,108,117,101,115,32,111,102,32,112,114,101,118,32,37,100,32,97,110,100,32,110,101,120,116,32,37,100,44,32,108,105,110,101,32,37,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,101,100,103,101,32,105,115,32,97,32,108,111,111,112,32,97,116,32,37,115,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,115,104,111,114,116,101,115,116,112,97,116,104,32,102,97,105,108,101,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,114,111,117,116,101,115,112,108,105,110,101,32,102,97,105,108,101,100,10,0,85,110,97,98,108,101,32,116,111,32,114,101,99,108,97,105,109,32,98,111,120,32,115,112,97,99,101,32,105,110,32,115,112,108,105,110,101,32,114,111,117,116,105,110,103,32,102,111,114,32,101,100,103,101,32,34,37,115,34,32,45,62,32,34,37,115,34,46,32,83,111,109,101,116,104,105,110,103,32,105,115,32,112,114,111,98,97,98,108,121,32,115,101,114,105,111,117,115,108,121,32,119,114,111,110,103,46,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,48,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,37,100,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,101,115,32,37,100,32,97,110,100,32,37,100,32,100,111,110,39,116,32,116,111,117,99,104,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,115,116,97,114,116,32,112,111,114,116,32,110,111,116,32,105,110,32,102,105,114,115,116,32,98,111,120,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,101,110,100,32,112,111,114,116,32,110,111,116,32,105,110,32,108,97,115,116,32,98,111,120,10,0,37,100,32,98,111,120,101,115,58,10,0,37,100,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,40,37,46,53,103,44,32,37,46,53,103,41,10,0,99,111,110,115,116,114,97,105,110,101,100,0,110,111,116,32,99,111,110,115,116,114,97,105,110,101,100,0,115,116,97,114,116,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,101,110,100,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,115,105,100,101,115,32,61,61,32,52,0,115,104,97,112,101,115,46,99,0,114,111,117,110,100,95,99,111,114,110,101,114,115,0,98,97,100,32,108,97,98,101,108,32,102,111,114,109,97,116,32,37,115,10,0,92,78,0,109,97,114,103,105,110,0,37,108,102,44,37,108,102,0,114,101,103,117,108,97,114,0,99,117,115,116,111,109,0,115,104,97,112,101,102,105,108,101,0,60,110,105,108,62,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,115,104,97,112,101,102,105,108,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,108,97,98,101,108,108,111,99,0,110,111,100,101,32,39,37,115,39,44,32,103,114,97,112,104,32,39,37,115,39,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,108,97,98,101,108,10,0,101,112,115,102,0,117,115,105,110,103,32,37,115,32,102,111,114,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,37,115,10,0,112,111,108,121,103,111,110,0,111,118,97,108,0,99,105,114,99,108,101,0,112,111,105,110,116,0,101,103,103,0,116,114,105,97,110,103,108,101,0,112,108,97,105,110,116,101,120,116,0,112,108,97,105,110,0,100,105,97,109,111,110,100,0,116,114,97,112,101,122,105,117,109,0,112,97,114,97,108,108,101,108,111,103,114,97,109,0,104,111,117,115,101,0,112,101,110,116,97,103,111,110,0,104,101,120,97,103,111,110,0,115,101,112,116,97,103,111,110,0,111,99,116,97,103,111,110,0,110,111,116,101,0,116,97,98,0,102,111,108,100,101,114,0,98,111,120,51,100,0,99,111,109,112,111,110,101,110,116,0,99,121,108,105,110,100,101,114,0,114,101,99,116,0,114,101,99,116,97,110,103,108,101,0,115,113,117,97,114,101,0,100,111,117,98,108,101,99,105,114,99,108,101,0,100,111,117,98,108,101,111,99,116,97,103,111,110,0,116,114,105,112,108,101,111,99,116,97,103,111,110,0,105,110,118,116,114,105,97,110,103,108,101,0,105,110,118,116,114,97,112,101,122,105,117,109,0,105,110,118,104,111,117,115,101,0,117,110,100,101,114,108,105,110,101,0,77,100,105,97,109,111,110,100,0,77,115,113,117,97,114,101,0,77,99,105,114,99,108,101,0,112,114,111,109,111,116,101,114,0,99,100,115,0,116,101,114,109,105,110,97,116,111,114,0,117,116,114,0,105,110,115,117,108,97,116,111,114,0,114,105,98,111,115,105,116,101,0,114,110,97,115,116,97,98,0,112,114,111,116,101,97,115,101,115,105,116,101,0,112,114,111,116,101,105,110,115,116,97,98,0,112,114,105,109,101,114,115,105,116,101,0,114,101,115,116,114,105,99,116,105,111,110,115,105,116,101,0,102,105,118,101,112,111,118,101,114,104,97,110,103,0,116,104,114,101,101,112,111,118,101,114,104,97,110,103,0,110,111,118,101,114,104,97,110,103,0,97,115,115,101,109,98,108,121,0,115,105,103,110,97,116,117,114,101,0,114,112,114,111,109,111,116,101,114,0,108,97,114,114,111,119,0,114,97,114,114,111,119,0,108,112,114,111,109,111,116,101,114,0,114,101,99,111,114,100,0,77,114,101,99,111,114,100,0,115,116,97,114,0,35,56,48,56,48,56,48,0,35,102,99,102,99,102,99,0,35,51,48,51,48,51,48,0,35,101,56,101,56,101,56,0,35,101,48,101,48,101,48,0,35,102,48,102,48,102,48,0,35,49,48,49,48,49,48,0,35,102,56,102,56,102,56,0,105,110,32,110,111,100,101,32,37,115,10,0,114,111,117,110,100,101,100,0,100,105,97,103,111,110,97,108,115,0,114,97,100,105,97,108,0,115,116,114,105,112,101,100,0,119,101,100,103,101,100,0,95,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,44,32,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,97,115,115,32,112,111,105,110,116,32,39,37,115,39,32,45,32,105,103,110,111,114,101,100,10,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,32,117,110,114,101,99,111,103,110,105,122,101,100,10,0,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,32,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,105,110,118,105,115,0,0,102,105,108,108,101,100,0,0,115,0,101,0,119,0,115,112,108,105,110,101,115,46,99,0,98,101,103,105,110,112,97,116,104,0,80,45,62,101,110,100,46,116,104,101,116,97,32,60,32,50,32,42,32,77,95,80,73,0,101,110,100,112,97,116,104,0,109,97,107,101,83,101,108,102,69,100,103,101,0,103,101,116,115,112,108,105,110,101,112,111,105,110,116,115,58,32,110,111,32,115,112,108,105,110,101,32,112,111,105,110,116,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,112,111,108,121,108,105,110,101,77,105,100,112,111,105,110,116,0,115,112,97,110,45,62,102,111,110,116,0,116,101,120,116,115,112,97,110,46,99,0,116,101,120,116,115,112,97,110,95,115,105,122,101,0,102,111,110,116,45,62,110,97,109,101,0,102,111,110,116,110,97,109,101,58,32,34,37,115,34,32,114,101,115,111,108,118,101,100,32,116,111,58,32,37,115,10,0,102,111,110,116,110,97,109,101,58,32,117,110,97,98,108,101,32,116,111,32,114,101,115,111,108,118,101,32,34,37,115,34,10,0,99,111,117,114,0,97,114,105,97,108,0,104,101,108,118,101,116,105,99,97,0,91,105,110,116,101,114,110,97,108,32,116,105,109,101,115,93,0,91,105,110,116,101,114,110,97,108,32,99,111,117,114,105,101,114,93,0,91,105,110,116,101,114,110,97,108,32,97,114,105,97,108,93,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,0,85,82,87,32,71,111,116,104,105,99,32,76,0,98,111,111,107,0,115,97,110,115,45,83,101,114,105,102,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,79,98,108,105,113,117,101,0,111,98,108,105,113,117,101,0,105,116,97,108,105,99,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,0,100,101,109,105,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,79,98,108,105,113,117,101,0,66,111,111,107,109,97,110,45,68,101,109,105,0,85,82,87,32,66,111,111,107,109,97,110,32,76,0,115,101,114,105,102,0,66,111,111,107,109,97,110,45,68,101,109,105,73,116,97,108,105,99,0,66,111,111,107,109,97,110,45,76,105,103,104,116,0,108,105,103,104,116,0,66,111,111,107,109,97,110,45,76,105,103,104,116,73,116,97,108,105,99,0,67,111,117,114,105,101,114,0,109,111,110,111,115,112,97,99,101,0,67,111,117,114,105,101,114,45,66,111,108,100,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,0,99,111,110,100,101,110,115,101,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,0,67,101,110,116,117,114,121,32,83,99,104,111,111,108,98,111,111,107,32,76,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,82,111,109,97,110,0,114,111,109,97,110,0,80,97,108,97,116,105,110,111,45,66,111,108,100,0,80,97,108,97,116,105,110,111,32,76,105,110,111,116,121,112,101,0,80,97,108,97,116,105,110,111,45,66,111,108,100,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,82,111,109,97,110,0,83,121,109,98,111,108,0,102,97,110,116,97,115,121,0,84,105,109,101,115,45,66,111,108,100,0,84,105,109,101,115,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,84,105,109,101,115,45,73,116,97,108,105,99,0,90,97,112,102,67,104,97,110,99,101,114,121,45,77,101,100,105,117,109,73,116,97,108,105,99,0,85,82,87,32,67,104,97,110,99,101,114,121,32,76,0,109,101,100,105,117,109,0,90,97,112,102,68,105,110,103,98,97,116,115,0,68,105,110,103,98,97,116,115,0,105,110,112,117,116,115,99,97,108,101,0,110,111,0,116,114,117,101,0,121,101,115,0,117,116,105,108,115,46,99,0,117,32,61,61,32,85,70,95,102,105,110,100,40,117,41,0,85,70,95,115,101,116,110,97,109,101,0,1,102,105,108,101,32,108,111,97,100,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,98,101,99,97,117,115,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,99,111,110,116,97,105,110,115,32,83,69,82,86,69,82,95,78,65,77,69,61,34,37,115,34,10,97,110,100,32,116,104,101,32,71,86,95,70,73,76,69,95,80,65,84,72,32,118,97,114,105,97,98,108,101,32,105,115,32,117,110,115,101,116,32,111,114,32,101,109,112,116,121,46,10,0,80,97,116,104,32,112,114,111,118,105,100,101,100,32,116,111,32,102,105,108,101,58,32,34,37,115,34,32,104,97,115,32,98,101,101,110,32,105,103,110,111,114,101,100,32,98,101,99,97,117,115,101,32,102,105,108,101,115,32,97,114,101,32,111,110,108,121,32,112,101,114,109,105,116,116,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32,34,37,115,34,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32,97,110,32,104,116,116,112,32,115,101,114,118,101,114,46,10,0,37,115,37,115,37,115,0,47,0,58,0,101,108,108,105,112,115,101,0,84,105,109,101,115,45,82,111,109,97,110,0,99,108,117,115,116,101,114,0,95,95,99,108,117,115,116,101,114,110,111,100,101,115,0,99,108,117,115,116,101,114,32,99,121,99,108,101,32,37,115,32,45,45,32,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,116,97,105,108,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,95,95,0,108,97,98,101,108,0,115,104,97,112,101,0,98,111,120,0,84,119,111,32,99,108,117,115,116,101,114,115,32,110,97,109,101,100,32,37,115,32,45,32,116,104,101,32,115,101,99,111,110,100,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,109,97,112,78,0,65,69,108,105,103,0,65,97,99,117,116,101,0,65,99,105,114,99,0,65,103,114,97,118,101,0,65,108,112,104,97,0,65,114,105,110,103,0,65,116,105,108,100,101,0,65,117,109,108,0,66,101,116,97,0,67,99,101,100,105,108,0,67,104,105,0,68,97,103,103,101,114,0,68,101,108,116,97,0,69,84,72,0,69,97,99,117,116,101,0,69,99,105,114,99,0,69,103,114,97,118,101,0,69,112,115,105,108,111,110,0,69,116,97,0,69,117,109,108,0,71,97,109,109,97,0,73,97,99,117,116,101,0,73,99,105,114,99,0,73,103,114,97,118,101,0,73,111,116,97,0,73,117,109,108,0,75,97,112,112,97,0,76,97,109,98,100,97,0,77,117,0,78,116,105,108,100,101,0,78,117,0,79,69,108,105,103,0,79,97,99,117,116,101,0,79,99,105,114,99,0,79,103,114,97,118,101,0,79,109,101,103,97,0,79,109,105,99,114,111,110,0,79,115,108,97,115,104,0,79,116,105,108,100,101,0,79,117,109,108,0,80,104,105,0,80,105,0,80,114,105,109,101,0,80,115,105,0,82,104,111,0,83,99,97,114,111,110,0,83,105,103,109,97,0,84,72,79,82,78,0,84,97,117,0,84,104,101,116,97,0,85,97,99,117,116,101,0,85,99,105,114,99,0,85,103,114,97,118,101,0,85,112,115,105,108,111,110,0,85,117,109,108,0,88,105,0,89,97,99,117,116,101,0,89,117,109,108,0,90,101,116,97,0,97,97,99,117,116,101,0,97,99,105,114,99,0,97,99,117,116,101,0,97,101,108,105,103,0,97,103,114,97,118,101,0,97,108,101,102,115,121,109,0,97,108,112,104,97,0,97,109,112,0,97,110,100,0,97,110,103,0,97,114,105,110,103,0,97,115,121,109,112,0,97,116,105,108,100,101,0,97,117,109,108,0,98,100,113,117,111,0,98,101,116,97,0,98,114,118,98,97,114,0,98,117,108,108,0,99,97,112,0,99,99,101,100,105,108,0,99,101,100,105,108,0,99,101,110,116,0,99,104,105,0,99,105,114,99,0,99,108,117,98,115,0,99,111,110,103,0,99,111,112,121,0,99,114,97,114,114,0,99,117,112,0,99,117,114,114,101,110,0,100,65,114,114,0,100,97,103,103,101,114,0,100,97,114,114,0,100,101,103,0,100,101,108,116,97,0,100,105,97,109,115,0,100,105,118,105,100,101,0,101,97,99,117,116,101,0,101,99,105,114,99,0,101,103,114,97,118,101,0,101,109,112,116,121,0,101,109,115,112,0,101,110,115,112,0,101,112,115,105,108,111,110,0,101,113,117,105,118,0,101,116,97,0,101,116,104,0,101,117,109,108,0,101,117,114,111,0,101,120,105,115,116,0,102,110,111,102,0,102,111,114,97,108,108,0,102,114,97,99,49,50,0,102,114,97,99,49,52,0,102,114,97,99,51,52,0,102,114,97,115,108,0,103,97,109,109,97,0,103,101,0,103,116,0,104,65,114,114,0,104,97,114,114,0,104,101,97,114,116,115,0,104,101,108,108,105,112,0,105,97,99,117,116,101,0,105,99,105,114,99,0,105,101,120,99,108,0,105,103,114,97,118,101,0,105,109,97,103,101,0,105,110,102,105,110,0,105,110,116,0,105,111,116,97,0,105,113,117,101,115,116,0,105,115,105,110,0,105,117,109,108,0,107,97,112,112,97,0,108,65,114,114,0,108,97,109,98,100,97,0,108,97,110,103,0,108,97,113,117,111,0,108,97,114,114,0,108,99,101,105,108,0,108,100,113,117,111,0,108,101,0,108,102,108,111,111,114,0,108,111,119,97,115,116,0,108,111,122,0,108,114,109,0,108,115,97,113,117,111,0,108,115,113,117,111,0,108,116,0,109,97,99,114,0,109,100,97,115,104,0,109,105,99,114,111,0,109,105,100,100,111,116,0,109,117,0,110,97,98,108,97,0,110,98,115,112,0,110,100,97,115,104,0,110,101,0,110,105,0,110,111,116,0,110,111,116,105,110,0,110,115,117,98,0,110,116,105,108,100,101,0,110,117,0,111,97,99,117,116,101,0,111,99,105,114,99,0,111,101,108,105,103,0,111,103,114,97,118,101,0,111,108,105,110,101,0,111,109,101,103,97,0,111,109,105,99,114,111,110,0,111,112,108,117,115,0,111,114,0,111,114,100,102,0,111,114,100,109,0,111,115,108,97,115,104,0,111,116,105,108,100,101,0,111,116,105,109,101,115,0,111,117,109,108,0,112,97,114,97,0,112,97,114,116,0,112,101,114,109,105,108,0,112,101,114,112,0,112,104,105,0,112,105,0,112,105,118,0,112,108,117,115,109,110,0,112,111,117,110,100,0,112,114,105,109,101,0,112,114,111,100,0,112,114,111,112,0,112,115,105,0,113,117,111,116,0,114,65,114,114,0,114,97,100,105,99,0,114,97,110,103,0,114,97,113,117,111,0,114,97,114,114,0,114,99,101,105,108,0,114,100,113,117,111,0,114,101,97,108,0,114,101,103,0,114,102,108,111,111,114,0,114,104,111,0,114,108,109,0,114,115,97,113,117,111,0,114,115,113,117,111,0,115,98,113,117,111,0,115,99,97,114,111,110,0,115,100,111,116,0,115,101,99,116,0,115,104,121,0,115,105,103,109,97,0,115,105,103,109,97,102,0,115,105,109,0,115,112,97,100,101,115,0,115,117,98,0,115,117,98,101,0,115,117,109,0,115,117,112,0,115,117,112,49,0,115,117,112,50,0,115,117,112,51,0,115,117,112,101,0,115,122,108,105,103,0,116,97,117,0,116,104,101,114,101,52,0,116,104,101,116,97,0,116,104,101,116,97,115,121,109,0,116,104,105,110,115,112,0,116,104,111,114,110,0,116,105,108,100,101,0,116,105,109,101,115,0,116,114,97,100,101,0,117,65,114,114,0,117,97,99,117,116,101,0,117,97,114,114,0,117,99,105,114,99,0,117,103,114,97,118,101,0,117,109,108,0,117,112,115,105,104,0,117,112,115,105,108,111,110,0,117,117,109,108,0,119,101,105,101,114,112,0,120,105,0,121,97,99,117,116,101,0,121,101,110,0,121,117,109,108,0,122,101,116,97,0,122,119,106,0,122,119,110,106,0,85,84,70,56,32,99,111,100,101,115,32,62,32,52,32,98,121,116,101,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,40,103,114,97,112,104,32,37,115,41,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,73,110,118,97,108,105,100,32,37,100,45,98,121,116,101,32,85,84,70,56,32,102,111,117,110,100,32,105,110,32,105,110,112,117,116,32,111,102,32,103,114,97,112,104,32,37,115,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,98,122,46,115,105,122,101,0,111,118,101,114,108,97,112,95,98,101,122,105,101,114,0,117,114,118,101,100,0,111,109,112,111,117,110,100,0,97,108,115,101,0,105,110,101,0,111,110,101,0,111,0,114,116,104,111,0,111,108,121,108,105,110,101,0,112,108,105,110,101,0,114,117,101,0,101,115,0,85,110,107,110,111,119,110,32,34,115,112,108,105,110,101,115,34,32,118,97,108,117,101,58,32,34,37,115,34,32,45,32,105,103,110,111,114,101,100,10,0,115,112,108,105,110,101,115,0,111,100,98,0,79,114,116,104,111,103,111,110,97,108,32,101,100,103,101,115,32,100,111,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,104,97,110,100,108,101,32,101,100,103,101,32,108,97,98,101,108,115,46,32,84,114,121,32,117,115,105,110,103,32,120,108,97,98,101,108,115,46,10,0,111,114,116,104,111,32,37,115,32,37,115,10,0,99,104,97,110,105,0,111,114,116,104,111,46,99,0,99,104,97,110,83,101,97,114,99,104,0,99,112,0,37,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,47,112,111,105,110,116,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,88,32,89,32,51,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,47,110,111,100,101,32,123,10,32,47,117,32,101,120,99,104,32,100,101,102,10,32,47,114,32,101,120,99,104,32,100,101,102,10,32,47,100,32,101,120,99,104,32,100,101,102,10,32,47,108,32,101,120,99,104,32,100,101,102,10,32,110,101,119,112,97,116,104,32,108,32,100,32,109,111,118,101,116,111,10,32,114,32,100,32,108,105,110,101,116,111,32,114,32,117,32,108,105,110,101,116,111,32,108,32,117,32,108,105,110,101,116,111,10,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,10,0,37,100,32,37,100,32,116,114,97,110,115,108,97,116,101,10,0,48,46,56,32,48,46,56,32,48,46,56,32,115,101,116,114,103,98,99,111,108,111,114,10,0,115,104,111,119,112,97,103,101,10,37,37,37,37,84,114,97,105,108,101,114,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,110,101,119,112,97,116,104,32,37,100,32,37,100,32,109,111,118,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,0,99,104,97,110,110,101,108,32,37,100,32,40,37,102,44,37,102,41,10,0,32,45,62,10,0,32,32,32,32,32,0,40,40,37,102,44,37,102,41,44,40,37,102,44,37,102,41,41,32,37,115,32,37,115,0,66,95,82,73,71,72,84,0,66,95,68,79,87,78,0,66,95,76,69,70,84,0,66,95,85,80,0,66,95,78,79,68,69,0,115,101,103,0,110,101,120,116,95,115,101,103,0,100,101,99,105,100,101,95,112,111,105,110,116,0,105,110,99,111,109,112,97,114,97,98,108,101,32,115,101,103,109,101,110,116,115,32,33,33,32,45,45,32,65,98,111,114,116,105,110,103,10,0,115,49,45,62,99,111,109,109,95,99,111,111,114,100,61,61,115,50,45,62,99,111,109,109,95,99,111,111,114,100,0,105,115,95,112,97,114,97,108,108,101,108,0,103,114,97,112,104,32,71,32,123,10,0,32,110,111,100,101,91,115,104,97,112,101,61,112,111,105,110,116,93,10,0,32,32,37,100,32,91,112,111,115,61,34,37,100,44,37,100,34,93,10,0,32,32,37,100,32,45,45,32,37,100,91,108,101,110,61,34,37,102,34,93,10,0,125,10,0,99,111,108,111,114,32,37,115,0,37,115,32,105,115,32,110,111,116,32,97,32,107,110,111,119,110,32,99,111,108,111,114,46,10,0,101,114,114,111,114,32,105,110,32,99,111,108,120,108,97,116,101,40,41,10,0,115,111,108,105,100,0,105,110,118,105,115,105,98,108,101,0,98,111,108,100,0,115,101,116,108,105,110,101,119,105,100,116,104,0,102,105,108,108,101,100,0,117,110,102,105,108,108,101,100,0,116,97,112,101,114,101,100,0,103,118,114,101,110,100,101,114,95,115,101,116,95,115,116,121,108,101,58,32,117,110,115,117,112,112,111,114,116,101,100,32,115,116,121,108,101,32,37,115,32,45,32,105,103,110,111,114,105,110,103,10,0,103,118,114,101,110,100,101,114,46,99,0,103,118,114,101,110,100,101,114,95,117,115,101,114,115,104,97,112,101,0,110,97,109,101,0,110,97,109,101,91,48,93,0,98,111,116,104,0,108,97,121,111,117,116,0,76,97,121,111,117,116,32,116,121,112,101,58,32,34,37,115,34,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,32,85,115,101,32,111,110,101,32,111,102,58,37,115,10,0,106,111,98,0,103,118,108,111,97,100,105,109,97,103,101,46,99,0,103,118,108,111,97,100,105,109,97,103,101,0,117,115,0,117,115,45,62,110,97,109,101,0,117,115,45,62,110,97,109,101,91,48,93,0,78,111,32,108,111,97,100,105,109,97,103,101,32,112,108,117,103,105,110,32,102,111,114,32,34,37,115,34,10,0,81,0,76,101,102,116,0,75,80,95,76,101,102,116,0,82,105,103,104,116,0,75,80,95,82,105,103,104,116,0,85,112,0,75,80,95,85,112,0,68,111,119,110,0,75,80,95,68,111,119,110,0,112,108,117,115,0,75,80,95,65,100,100,0,109,105,110,117,115,0,75,80,95,83,117,98,116,114,97,99,116,0,70,0,101,100,103,101,0,116,97,105,108,112,111,114,116,0,104,101,97,100,112,111,114,116,0,107,101,121,0,85,82,76,0,110,111,100,101,0,100,105,103,114,97,112,104,0,103,114,97,112,104,0,115,117,98,103,114,97,112,104,0,95,76,84,88,95,108,105,98,114,97,114,121,0,116,101,120,116,108,97,121,111,117,116,0,111,98,106,112,45,62,108,98,108,0,120,108,97,98,101,108,115,46,99,0,120,108,97,100,106,117,115,116,0,120,108,105,110,116,101,114,115,101,99,116,105,111,110,115,0,108,112,32,33,61,32,99,108,112,0,103,101,116,105,110,116,114,115,120,105,0,111,98,106,112,49,45,62,115,122,46,120,32,61,61,32,48,32,38,38,32,111,98,106,112,49,45,62,115,122,46,121,32,61,61,32,48,0,108,98,108,101,110,99,108,111,115,105,110,103,0,118,112,0,120,108,104,100,120,117,110,108,111,97,100,0,115,105,122,101,61,61,102,114,101,101,100,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,50,93,32,60,32,73,78,84,95,77,65,88,0,111,98,106,112,108,112,109,107,115,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,51,93,32,60,32,73,78,84,95,77,65,88,0,111,117,116,32,111,102,32,109,101,109,111,114,121,10,0,35,37,50,120,37,50,120,37,50,120,37,50,120,0,37,108,102,37,108,102,37,108,102,0,47,97,99,99,101,110,116,51,47,49,0,47,97,99,99,101,110,116,51,47,50,0,47,97,99,99,101,110,116,51,47,51,0,47,97,99,99,101,110,116,52,47,49,0,47,97,99,99,101,110,116,52,47,50,0,47,97,99,99,101,110,116,52,47,51,0,47,97,99,99,101,110,116,52,47,52,0,47,97,99,99,101,110,116,53,47,49,0,47,97,99,99,101,110,116,53,47,50,0,47,97,99,99,101,110,116,53,47,51,0,47,97,99,99,101,110,116,53,47,52,0,47,97,99,99,101,110,116,53,47,53,0,47,97,99,99,101,110,116,54,47,49,0,47,97,99,99,101,110,116,54,47,50,0,47,97,99,99,101,110,116,54,47,51,0,47,97,99,99,101,110,116,54,47,52,0,47,97,99,99,101,110,116,54,47,53,0,47,97,99,99,101,110,116,54,47,54,0,47,97,99,99,101,110,116,55,47,49,0,47,97,99,99,101,110,116,55,47,50,0,47,97,99,99,101,110,116,55,47,51,0,47,97,99,99,101,110,116,55,47,52,0,47,97,99,99,101,110,116,55,47,53,0,47,97,99,99,101,110,116,55,47,54,0,47,97,99,99,101,110,116,55,47,55,0,47,97,99,99,101,110,116,56,47,49,0,47,97,99,99,101,110,116,56,47,50,0,47,97,99,99,101,110,116,56,47,51,0,47,97,99,99,101,110,116,56,47,52,0,47,97,99,99,101,110,116,56,47,53,0,47,97,99,99,101,110,116,56,47,54,0,47,97,99,99,101,110,116,56,47,55,0,47,97,99,99,101,110,116,56,47,56,0,47,98,108,117,101,115,51,47,49,0,47,98,108,117,101,115,51,47,50,0,47,98,108,117,101,115,51,47,51,0,47,98,108,117,101,115,52,47,49,0,47,98,108,117,101,115,52,47,50,0,47,98,108,117,101,115,52,47,51,0,47,98,108,117,101,115,52,47,52,0,47,98,108,117,101,115,53,47,49,0,47,98,108,117,101,115,53,47,50,0,47,98,108,117,101,115,53,47,51,0,47,98,108,117,101,115,53,47,52,0,47,98,108,117,101,115,53,47,53,0,47,98,108,117,101,115,54,47,49,0,47,98,108,117,101,115,54,47,50,0,47,98,108,117,101,115,54,47,51,0,47,98,108,117,101,115,54,47,52,0,47,98,108,117,101,115,54,47,53,0,47,98,108,117,101,115,54,47,54,0,47,98,108,117,101,115,55,47,49,0,47,98,108,117,101,115,55,47,50,0,47,98,108,117,101,115,55,47,51,0,47,98,108,117,101,115,55,47,52,0,47,98,108,117,101,115,55,47,53],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+102424);allocate([0,47,98,108,117,101,115,55,47,54,0,47,98,108,117,101,115,55,47,55,0,47,98,108,117,101,115,56,47,49,0,47,98,108,117,101,115,56,47,50,0,47,98,108,117,101,115,56,47,51,0,47,98,108,117,101,115,56,47,52,0,47,98,108,117,101,115,56,47,53,0,47,98,108,117,101,115,56,47,54,0,47,98,108,117,101,115,56,47,55,0,47,98,108,117,101,115,56,47,56,0,47,98,108,117,101,115,57,47,49,0,47,98,108,117,101,115,57,47,50,0,47,98,108,117,101,115,57,47,51,0,47,98,108,117,101,115,57,47,52,0,47,98,108,117,101,115,57,47,53,0,47,98,108,117,101,115,57,47,54,0,47,98,108,117,101,115,57,47,55,0,47,98,108,117,101,115,57,47,56,0,47,98,108,117,101,115,57,47,57,0,47,98,114,98,103,49,48,47,49,0,47,98,114,98,103,49,48,47,49,48,0,47,98,114,98,103,49,48,47,50,0,47,98,114,98,103,49,48,47,51,0,47,98,114,98,103,49,48,47,52,0,47,98,114,98,103,49,48,47,53,0,47,98,114,98,103,49,48,47,54,0,47,98,114,98,103,49,48,47,55,0,47,98,114,98,103,49,48,47,56,0,47,98,114,98,103,49,48,47,57,0,47,98,114,98,103,49,49,47,49,0,47,98,114,98,103,49,49,47,49,48,0,47,98,114,98,103,49,49,47,49,49,0,47,98,114,98,103,49,49,47,50,0,47,98,114,98,103,49,49,47,51,0,47,98,114,98,103,49,49,47,52,0,47,98,114,98,103,49,49,47,53,0,47,98,114,98,103,49,49,47,54,0,47,98,114,98,103,49,49,47,55,0,47,98,114,98,103,49,49,47,56,0,47,98,114,98,103,49,49,47,57,0,47,98,114,98,103,51,47,49,0,47,98,114,98,103,51,47,50,0,47,98,114,98,103,51,47,51,0,47,98,114,98,103,52,47,49,0,47,98,114,98,103,52,47,50,0,47,98,114,98,103,52,47,51,0,47,98,114,98,103,52,47,52,0,47,98,114,98,103,53,47,49,0,47,98,114,98,103,53,47,50,0,47,98,114,98,103,53,47,51,0,47,98,114,98,103,53,47,52,0,47,98,114,98,103,53,47,53,0,47,98,114,98,103,54,47,49,0,47,98,114,98,103,54,47,50,0,47,98,114,98,103,54,47,51,0,47,98,114,98,103,54,47,52,0,47,98,114,98,103,54,47,53,0,47,98,114,98,103,54,47,54,0,47,98,114,98,103,55,47,49,0,47,98,114,98,103,55,47,50,0,47,98,114,98,103,55,47,51,0,47,98,114,98,103,55,47,52,0,47,98,114,98,103,55,47,53,0,47,98,114,98,103,55,47,54,0,47,98,114,98,103,55,47,55,0,47,98,114,98,103,56,47,49,0,47,98,114,98,103,56,47,50,0,47,98,114,98,103,56,47,51,0,47,98,114,98,103,56,47,52,0,47,98,114,98,103,56,47,53,0,47,98,114,98,103,56,47,54,0,47,98,114,98,103,56,47,55,0,47,98,114,98,103,56,47,56,0,47,98,114,98,103,57,47,49,0,47,98,114,98,103,57,47,50,0,47,98,114,98,103,57,47,51,0,47,98,114,98,103,57,47,52,0,47,98,114,98,103,57,47,53,0,47,98,114,98,103,57,47,54,0,47,98,114,98,103,57,47,55,0,47,98,114,98,103,57,47,56,0,47,98,114,98,103,57,47,57,0,47,98,117,103,110,51,47,49,0,47,98,117,103,110,51,47,50,0,47,98,117,103,110,51,47,51,0,47,98,117,103,110,52,47,49,0,47,98,117,103,110,52,47,50,0,47,98,117,103,110,52,47,51,0,47,98,117,103,110,52,47,52,0,47,98,117,103,110,53,47,49,0,47,98,117,103,110,53,47,50,0,47,98,117,103,110,53,47,51,0,47,98,117,103,110,53,47,52,0,47,98,117,103,110,53,47,53,0,47,98,117,103,110,54,47,49,0,47,98,117,103,110,54,47,50,0,47,98,117,103,110,54,47,51,0,47,98,117,103,110,54,47,52,0,47,98,117,103,110,54,47,53,0,47,98,117,103,110,54,47,54,0,47,98,117,103,110,55,47,49,0,47,98,117,103,110,55,47,50,0,47,98,117,103,110,55,47,51,0,47,98,117,103,110,55,47,52,0,47,98,117,103,110,55,47,53,0,47,98,117,103,110,55,47,54,0,47,98,117,103,110,55,47,55,0,47,98,117,103,110,56,47,49,0,47,98,117,103,110,56,47,50,0,47,98,117,103,110,56,47,51,0,47,98,117,103,110,56,47,52,0,47,98,117,103,110,56,47,53,0,47,98,117,103,110,56,47,54,0,47,98,117,103,110,56,47,55,0,47,98,117,103,110,56,47,56,0,47,98,117,103,110,57,47,49,0,47,98,117,103,110,57,47,50,0,47,98,117,103,110,57,47,51,0,47,98,117,103,110,57,47,52,0,47,98,117,103,110,57,47,53,0,47,98,117,103,110,57,47,54,0,47,98,117,103,110,57,47,55,0,47,98,117,103,110,57,47,56,0,47,98,117,103,110,57,47,57,0,47,98,117,112,117,51,47,49,0,47,98,117,112,117,51,47,50,0,47,98,117,112,117,51,47,51,0,47,98,117,112,117,52,47,49,0,47,98,117,112,117,52,47,50,0,47,98,117,112,117,52,47,51,0,47,98,117,112,117,52,47,52,0,47,98,117,112,117,53,47,49,0,47,98,117,112,117,53,47,50,0,47,98,117,112,117,53,47,51,0,47,98,117,112,117,53,47,52,0,47,98,117,112,117,53,47,53,0,47,98,117,112,117,54,47,49,0,47,98,117,112,117,54,47,50,0,47,98,117,112,117,54,47,51,0,47,98,117,112,117,54,47,52,0,47,98,117,112,117,54,47,53,0,47,98,117,112,117,54,47,54,0,47,98,117,112,117,55,47,49,0,47,98,117,112,117,55,47,50,0,47,98,117,112,117,55,47,51,0,47,98,117,112,117,55,47,52,0,47,98,117,112,117,55,47,53,0,47,98,117,112,117,55,47,54,0,47,98,117,112,117,55,47,55,0,47,98,117,112,117,56,47,49,0,47,98,117,112,117,56,47,50,0,47,98,117,112,117,56,47,51,0,47,98,117,112,117,56,47,52,0,47,98,117,112,117,56,47,53,0,47,98,117,112,117,56,47,54,0,47,98,117,112,117,56,47,55,0,47,98,117,112,117,56,47,56,0,47,98,117,112,117,57,47,49,0,47,98,117,112,117,57,47,50,0,47,98,117,112,117,57,47,51,0,47,98,117,112,117,57,47,52,0,47,98,117,112,117,57,47,53,0,47,98,117,112,117,57,47,54,0,47,98,117,112,117,57,47,55,0,47,98,117,112,117,57,47,56,0,47,98,117,112,117,57,47,57,0,47,100,97,114,107,50,51,47,49,0,47,100,97,114,107,50,51,47,50,0,47,100,97,114,107,50,51,47,51,0,47,100,97,114,107,50,52,47,49,0,47,100,97,114,107,50,52,47,50,0,47,100,97,114,107,50,52,47,51,0,47,100,97,114,107,50,52,47,52,0,47,100,97,114,107,50,53,47,49,0,47,100,97,114,107,50,53,47,50,0,47,100,97,114,107,50,53,47,51,0,47,100,97,114,107,50,53,47,52,0,47,100,97,114,107,50,53,47,53,0,47,100,97,114,107,50,54,47,49,0,47,100,97,114,107,50,54,47,50,0,47,100,97,114,107,50,54,47,51,0,47,100,97,114,107,50,54,47,52,0,47,100,97,114,107,50,54,47,53,0,47,100,97,114,107,50,54,47,54,0,47,100,97,114,107,50,55,47,49,0,47,100,97,114,107,50,55,47,50,0,47,100,97,114,107,50,55,47,51,0,47,100,97,114,107,50,55,47,52,0,47,100,97,114,107,50,55,47,53,0,47,100,97,114,107,50,55,47,54,0,47,100,97,114,107,50,55,47,55,0,47,100,97,114,107,50,56,47,49,0,47,100,97,114,107,50,56,47,50,0,47,100,97,114,107,50,56,47,51,0,47,100,97,114,107,50,56,47,52,0,47,100,97,114,107,50,56,47,53,0,47,100,97,114,107,50,56,47,54,0,47,100,97,114,107,50,56,47,55,0,47,100,97,114,107,50,56,47,56,0,47,103,110,98,117,51,47,49,0,47,103,110,98,117,51,47,50,0,47,103,110,98,117,51,47,51,0,47,103,110,98,117,52,47,49,0,47,103,110,98,117,52,47,50,0,47,103,110,98,117,52,47,51,0,47,103,110,98,117,52,47,52,0,47,103,110,98,117,53,47,49,0,47,103,110,98,117,53,47,50,0,47,103,110,98,117,53,47,51,0,47,103,110,98,117,53,47,52,0,47,103,110,98,117,53,47,53,0,47,103,110,98,117,54,47,49,0,47,103,110,98,117,54,47,50,0,47,103,110,98,117,54,47,51,0,47,103,110,98,117,54,47,52,0,47,103,110,98,117,54,47,53,0,47,103,110,98,117,54,47,54,0,47,103,110,98,117,55,47,49,0,47,103,110,98,117,55,47,50,0,47,103,110,98,117,55,47,51,0,47,103,110,98,117,55,47,52,0,47,103,110,98,117,55,47,53,0,47,103,110,98,117,55,47,54,0,47,103,110,98,117,55,47,55,0,47,103,110,98,117,56,47,49,0,47,103,110,98,117,56,47,50,0,47,103,110,98,117,56,47,51,0,47,103,110,98,117,56,47,52,0,47,103,110,98,117,56,47,53,0,47,103,110,98,117,56,47,54,0,47,103,110,98,117,56,47,55,0,47,103,110,98,117,56,47,56,0,47,103,110,98,117,57,47,49,0,47,103,110,98,117,57,47,50,0,47,103,110,98,117,57,47,51,0,47,103,110,98,117,57,47,52,0,47,103,110,98,117,57,47,53,0,47,103,110,98,117,57,47,54,0,47,103,110,98,117,57,47,55,0,47,103,110,98,117,57,47,56,0,47,103,110,98,117,57,47,57,0,47,103,114,101,101,110,115,51,47,49,0,47,103,114,101,101,110,115,51,47,50,0,47,103,114,101,101,110,115,51,47,51,0,47,103,114,101,101,110,115,52,47,49,0,47,103,114,101,101,110,115,52,47,50,0,47,103,114,101,101,110,115,52,47,51,0,47,103,114,101,101,110,115,52,47,52,0,47,103,114,101,101,110,115,53,47,49,0,47,103,114,101,101,110,115,53,47,50,0,47,103,114,101,101,110,115,53,47,51,0,47,103,114,101,101,110,115,53,47,52,0,47,103,114,101,101,110,115,53,47,53,0,47,103,114,101,101,110,115,54,47,49,0,47,103,114,101,101,110,115,54,47,50,0,47,103,114,101,101,110,115,54,47,51,0,47,103,114,101,101,110,115,54,47,52,0,47,103,114,101,101,110,115,54,47,53,0,47,103,114,101,101,110,115,54,47,54,0,47,103,114,101,101,110,115,55,47,49,0,47,103,114,101,101,110,115,55,47,50,0,47,103,114,101,101,110,115,55,47,51,0,47,103,114,101,101,110,115,55,47,52,0,47,103,114,101,101,110,115,55,47,53,0,47,103,114,101,101,110,115,55,47,54,0,47,103,114,101,101,110,115,55,47,55,0,47,103,114,101,101,110,115,56,47,49,0,47,103,114,101,101,110,115,56,47,50,0,47,103,114,101,101,110,115,56,47,51,0,47,103,114,101,101,110,115,56,47,52,0,47,103,114,101,101,110,115,56,47,53,0,47,103,114,101,101,110,115,56,47,54,0,47,103,114,101,101,110,115,56,47,55,0,47,103,114,101,101,110,115,56,47,56,0,47,103,114,101,101,110,115,57,47,49,0,47,103,114,101,101,110,115,57,47,50,0,47,103,114,101,101,110,115,57,47,51,0,47,103,114,101,101,110,115,57,47,52,0,47,103,114,101,101,110,115,57,47,53,0,47,103,114,101,101,110,115,57,47,54,0,47,103,114,101,101,110,115,57,47,55,0,47,103,114,101,101,110,115,57,47,56,0,47,103,114,101,101,110,115,57,47,57,0,47,103,114,101,121,115,51,47,49,0,47,103,114,101,121,115,51,47,50,0,47,103,114,101,121,115,51,47,51,0,47,103,114,101,121,115,52,47,49,0,47,103,114,101,121,115,52,47,50,0,47,103,114,101,121,115,52,47,51,0,47,103,114,101,121,115,52,47,52,0,47,103,114,101,121,115,53,47,49,0,47,103,114,101,121,115,53,47,50,0,47,103,114,101,121,115,53,47,51,0,47,103,114,101,121,115,53,47,52,0,47,103,114,101,121,115,53,47,53,0,47,103,114,101,121,115,54,47,49,0,47,103,114,101,121,115,54,47,50,0,47,103,114,101,121,115,54,47,51,0,47,103,114,101,121,115,54,47,52,0,47,103,114,101,121,115,54,47,53,0,47,103,114,101,121,115,54,47,54,0,47,103,114,101,121,115,55,47,49,0,47,103,114,101,121,115,55,47,50,0,47,103,114,101,121,115,55,47,51,0,47,103,114,101,121,115,55,47,52,0,47,103,114,101,121,115,55,47,53,0,47,103,114,101,121,115,55,47,54,0,47,103,114,101,121,115,55,47,55,0,47,103,114,101,121,115,56,47,49,0,47,103,114,101,121,115,56,47,50,0,47,103,114,101,121,115,56,47,51,0,47,103,114,101,121,115,56,47,52,0,47,103,114,101,121,115,56,47,53,0,47,103,114,101,121,115,56,47,54,0,47,103,114,101,121,115,56,47,55,0,47,103,114,101,121,115,56,47,56,0,47,103,114,101,121,115,57,47,49,0,47,103,114,101,121,115,57,47,50,0,47,103,114,101,121,115,57,47,51,0,47,103,114,101,121,115,57,47,52,0,47,103,114,101,121,115,57,47,53,0,47,103,114,101,121,115,57,47,54,0,47,103,114,101,121,115,57,47,55,0,47,103,114,101,121,115,57,47,56,0,47,103,114,101,121,115,57,47,57,0,47,111,114,97,110,103,101,115,51,47,49,0,47,111,114,97,110,103,101,115,51,47,50,0,47,111,114,97,110,103,101,115,51,47,51,0,47,111,114,97,110,103,101,115,52,47,49,0,47,111,114,97,110,103,101,115,52,47,50,0,47,111,114,97,110,103,101,115,52,47,51,0,47,111,114,97,110,103,101,115,52,47,52,0,47,111,114,97,110,103,101,115,53,47,49,0,47,111,114,97,110,103,101,115,53,47,50,0,47,111,114,97,110,103,101,115,53,47,51,0,47,111,114,97,110,103,101,115,53,47,52,0,47,111,114,97,110,103,101,115,53,47,53,0,47,111,114,97,110,103,101,115,54,47,49,0,47,111,114,97,110,103,101,115,54,47,50,0,47,111,114,97,110,103,101,115,54,47,51,0,47,111,114,97,110,103,101,115,54,47,52,0,47,111,114,97,110,103,101,115,54,47,53,0,47,111,114,97,110,103,101,115,54,47,54,0,47,111,114,97,110,103,101,115,55,47,49,0,47,111,114,97,110,103,101,115,55,47,50,0,47,111,114,97,110,103,101,115,55,47,51,0,47,111,114,97,110,103,101,115,55,47,52,0,47,111,114,97,110,103,101,115,55,47,53,0,47,111,114,97,110,103,101,115,55,47,54,0,47,111,114,97,110,103,101,115,55,47,55,0,47,111,114,97,110,103,101,115,56,47,49,0,47,111,114,97,110,103,101,115,56,47,50,0,47,111,114,97,110,103,101,115,56,47,51,0,47,111,114,97,110,103,101,115,56,47,52,0,47,111,114,97,110,103,101,115,56,47,53,0,47,111,114,97,110,103,101,115,56,47,54,0,47,111,114,97,110,103,101,115,56,47,55,0,47,111,114,97,110,103,101,115,56,47,56,0,47,111,114,97,110,103,101,115,57,47,49,0,47,111,114,97,110,103,101,115,57,47,50,0,47,111,114,97,110,103,101,115,57,47,51,0,47,111,114,97,110,103,101,115,57,47,52,0,47,111,114,97,110,103,101,115,57,47,53,0,47,111,114,97,110,103,101,115,57,47,54,0,47,111,114,97,110,103,101,115,57,47,55,0,47,111,114,97,110,103,101,115,57,47,56,0,47,111,114,97,110,103,101,115,57,47,57,0,47,111,114,114,100,51,47,49,0,47,111,114,114,100,51,47,50,0,47,111,114,114,100,51,47,51,0,47,111,114,114,100,52,47,49,0,47,111,114,114,100,52,47,50,0,47,111,114,114,100,52,47,51,0,47,111,114,114,100,52,47,52,0,47,111,114,114,100,53,47,49,0,47,111,114,114,100,53,47,50,0,47,111,114,114,100,53,47,51,0,47,111,114,114,100,53,47,52,0,47,111,114,114,100,53,47,53,0,47,111,114,114,100,54,47,49,0,47,111,114,114,100,54,47,50,0,47,111,114,114,100,54,47,51,0,47,111,114,114,100,54,47,52,0,47,111,114,114,100,54,47,53,0,47,111,114,114,100,54,47,54,0,47,111,114,114,100,55,47,49,0,47,111,114,114,100,55,47,50,0,47,111,114,114,100,55,47,51,0,47,111,114,114,100,55,47,52,0,47,111,114,114,100,55,47,53,0,47,111,114,114,100,55,47,54,0,47,111,114,114,100,55,47,55,0,47,111,114,114,100,56,47,49,0,47,111,114,114,100,56,47,50,0,47,111,114,114,100,56,47,51,0,47,111,114,114,100,56,47,52,0,47,111,114,114,100,56,47,53,0,47,111,114,114,100,56,47,54,0,47,111,114,114,100,56,47,55,0,47,111,114,114,100,56,47,56,0,47,111,114,114,100,57,47,49,0,47,111,114,114,100,57,47,50,0,47,111,114,114,100,57,47,51,0,47,111,114,114,100,57,47,52,0,47,111,114,114,100,57,47,53,0,47,111,114,114,100,57,47,54,0,47,111,114,114,100,57,47,55,0,47,111,114,114,100,57,47,56,0,47,111,114,114,100,57,47,57,0,47,112,97,105,114,101,100,49,48,47,49,0,47,112,97,105,114,101,100,49,48,47,49,48,0,47,112,97,105,114,101,100,49,48,47,50,0,47,112,97,105,114,101,100,49,48,47,51,0,47,112,97,105,114,101,100,49,48,47,52,0,47,112,97,105,114,101,100,49,48,47,53,0,47,112,97,105,114,101,100,49,48,47,54,0,47,112,97,105,114,101,100,49,48,47,55,0,47,112,97,105,114,101,100,49,48,47,56,0,47,112,97,105,114,101,100,49,48,47,57,0,47,112,97,105,114,101,100,49,49,47,49,0,47,112,97,105,114,101,100,49,49,47,49,48,0,47,112,97,105,114,101,100,49,49,47,49,49,0,47,112,97,105,114,101,100,49,49,47,50,0,47,112,97,105,114,101,100,49,49,47,51,0,47,112,97,105,114,101,100,49,49,47,52,0,47,112,97,105,114,101,100,49,49,47,53,0,47,112,97,105,114,101,100,49,49,47,54,0,47,112,97,105,114,101,100,49,49,47,55,0,47,112,97,105,114,101,100,49,49,47,56,0,47,112,97,105,114,101,100,49,49,47,57,0,47,112,97,105,114,101,100,49,50,47,49,0,47,112,97,105,114,101,100,49,50,47,49,48,0,47,112,97,105,114,101,100,49,50,47,49,49,0,47,112,97,105,114,101,100,49,50,47,49,50,0,47,112,97,105,114,101,100,49,50,47,50,0,47,112,97,105,114,101,100,49,50,47,51,0,47,112,97,105,114,101,100,49,50,47,52,0,47,112,97,105,114,101,100,49,50,47,53,0,47,112,97,105,114,101,100,49,50,47,54,0,47,112,97,105,114,101,100,49,50,47,55,0,47,112,97,105,114,101,100,49,50,47,56,0,47,112,97,105,114,101,100,49,50,47,57,0,47,112,97,105,114,101,100,51,47,49,0,47,112,97,105,114,101,100,51,47,50,0,47,112,97,105,114,101,100,51,47,51,0,47,112,97,105,114,101,100,52,47,49,0,47,112,97,105,114,101,100,52,47,50,0,47,112,97,105,114,101,100,52,47,51,0,47,112,97,105,114,101,100,52,47,52,0,47,112,97,105,114,101,100,53,47,49,0,47,112,97,105,114,101,100,53,47,50,0,47,112,97,105,114,101,100,53,47,51,0,47,112,97,105,114,101,100,53,47,52,0,47,112,97,105,114,101,100,53,47,53,0,47,112,97,105,114,101,100,54,47,49,0,47,112,97,105,114,101,100,54,47,50,0,47,112,97,105,114,101,100,54,47,51,0,47,112,97,105,114,101,100,54,47,52,0,47,112,97,105,114,101,100,54,47,53,0,47,112,97,105,114,101,100,54,47,54,0,47,112,97,105,114,101,100,55,47,49,0,47,112,97,105,114,101,100,55,47,50,0,47,112,97,105,114,101,100,55,47,51,0,47,112,97,105,114,101,100,55,47,52,0,47,112,97,105,114,101,100,55,47,53,0,47,112,97,105,114,101,100,55,47,54,0,47,112,97,105,114,101,100,55,47,55,0,47,112,97,105,114,101,100,56,47,49,0,47,112,97,105,114,101,100,56,47,50,0,47,112,97,105,114,101,100,56,47,51,0,47,112,97,105,114,101,100,56,47,52,0,47,112,97,105,114,101,100,56,47,53,0,47,112,97,105,114,101,100,56,47,54,0,47,112,97,105,114,101,100,56,47,55,0,47,112,97,105,114,101,100,56,47,56,0,47,112,97,105,114,101,100,57,47,49,0,47,112,97,105,114,101,100,57,47,50,0,47,112,97,105,114,101,100,57,47,51,0,47,112,97,105,114,101,100,57,47,52,0,47,112,97,105,114,101,100,57,47,53,0,47,112,97,105,114,101,100,57,47,54,0,47,112,97,105,114,101,100,57,47,55,0,47,112,97,105,114,101,100,57,47,56,0,47,112,97,105,114,101,100,57,47,57,0,47,112,97,115,116,101,108,49,51,47,49,0,47,112,97,115,116,101,108,49,51,47,50,0,47,112,97,115,116,101,108,49,51,47,51,0,47,112,97,115,116,101,108,49,52,47,49,0,47,112,97,115,116,101,108,49,52,47,50,0,47,112,97,115,116,101,108,49,52,47,51,0,47,112,97,115,116,101,108,49,52,47,52,0,47,112,97,115,116,101,108,49,53,47,49,0,47,112,97,115,116,101,108,49,53,47,50,0,47,112,97,115,116,101,108,49,53,47,51,0,47,112,97,115,116,101,108,49,53,47,52,0,47,112,97,115,116,101,108,49,53,47,53,0,47,112,97,115,116,101,108,49,54,47,49,0,47,112,97,115,116,101,108,49,54,47,50,0,47,112,97,115,116,101,108,49,54,47,51,0,47,112,97,115,116,101,108,49,54,47,52,0,47,112,97,115,116,101,108,49,54,47,53,0,47,112,97,115,116,101,108,49,54,47,54,0,47,112,97,115,116,101,108,49,55,47,49,0,47,112,97,115,116,101,108,49,55,47,50,0,47,112,97,115,116,101,108,49,55,47,51,0,47,112,97,115,116,101,108,49,55,47,52,0,47,112,97,115,116,101,108,49,55,47,53,0,47,112,97,115,116,101,108,49,55,47,54,0,47,112,97,115,116,101,108,49,55,47,55,0,47,112,97,115,116,101,108,49,56,47,49,0,47,112,97,115,116,101,108,49,56,47,50,0,47,112,97,115,116,101,108,49,56,47,51,0,47,112,97,115,116,101,108,49,56,47,52,0,47,112,97,115,116,101,108,49,56,47,53,0,47,112,97,115,116,101,108,49,56,47,54,0,47,112,97,115,116,101,108,49,56,47,55,0,47,112,97,115,116,101,108,49,56,47,56,0,47,112,97,115,116,101,108,49,57,47,49,0,47,112,97,115,116,101,108,49,57,47,50,0,47,112,97,115,116,101,108,49,57,47,51,0,47,112,97,115,116,101,108,49,57,47,52,0,47,112,97,115,116,101,108,49,57,47,53,0,47,112,97,115,116,101,108,49,57,47,54,0,47,112,97,115,116,101,108,49,57,47,55,0,47,112,97,115,116,101,108,49,57,47,56,0,47,112,97,115,116,101,108,49,57,47,57,0,47,112,97,115,116,101,108,50,51,47,49,0,47,112,97,115,116,101,108,50,51,47,50,0,47,112,97,115,116,101,108,50,51,47,51,0,47,112,97,115,116,101,108,50,52,47,49,0,47,112,97,115,116,101,108,50,52,47,50,0,47,112,97,115,116,101,108,50,52,47,51,0,47,112,97,115,116,101,108,50,52,47,52,0,47,112,97,115,116,101,108,50,53,47,49,0,47,112,97,115,116,101,108,50,53,47,50,0,47,112,97,115,116,101,108,50,53,47,51,0,47,112,97,115,116,101,108,50,53,47,52,0,47,112,97,115,116,101,108,50,53,47,53,0,47,112,97,115,116,101,108,50,54,47,49,0,47,112,97,115,116,101,108,50,54,47,50,0,47,112,97,115,116,101,108,50,54,47,51,0,47,112,97,115,116,101,108,50,54,47,52,0,47,112,97,115,116,101,108,50,54,47,53,0,47,112,97,115,116,101,108,50,54,47,54,0,47,112,97,115,116,101,108,50,55,47,49,0,47,112,97,115,116,101,108,50,55,47,50,0,47,112,97,115,116,101,108,50,55,47,51,0,47,112,97,115,116,101,108,50,55,47,52,0,47,112,97,115,116,101,108,50,55,47,53,0,47,112,97,115,116,101,108,50,55,47,54,0,47,112,97,115,116,101,108,50,55,47,55,0,47,112,97,115,116,101,108,50,56,47,49,0,47,112,97,115,116,101,108,50,56,47,50,0,47,112,97,115,116,101,108,50,56,47,51,0,47,112,97,115,116,101,108,50,56,47,52,0,47,112,97,115,116,101,108,50,56,47,53,0,47,112,97,115,116,101,108,50,56,47,54,0,47,112,97,115,116,101,108,50,56,47,55,0,47,112,97,115,116,101,108,50,56,47,56,0,47,112,105,121,103,49,48,47,49,0,47,112,105,121,103,49,48,47,49,48,0,47,112,105,121,103,49,48,47,50,0,47,112,105,121,103,49,48,47,51,0,47,112,105,121,103,49,48,47,52,0,47,112,105,121,103,49,48,47,53,0,47,112,105,121,103,49,48,47,54,0,47,112,105,121,103,49,48,47,55,0,47,112,105,121,103,49,48,47,56,0,47,112,105,121,103,49,48,47,57,0,47,112,105,121,103,49,49,47,49,0,47,112,105,121,103,49,49,47,49,48,0,47,112,105,121,103,49,49,47,49,49,0,47,112,105,121,103,49,49,47,50,0,47,112,105,121,103,49,49,47,51,0,47,112,105,121,103,49,49,47,52,0,47,112,105,121,103,49,49,47,53,0,47,112,105,121,103,49,49,47,54,0,47,112,105,121,103,49,49,47,55,0,47,112,105,121,103,49,49,47,56,0,47,112,105,121,103,49,49,47,57,0,47,112,105,121,103,51,47,49,0,47,112,105,121,103,51,47,50,0,47,112,105,121,103,51,47,51,0,47,112,105,121,103,52,47,49,0,47,112,105,121,103,52,47,50,0,47,112,105,121,103,52,47,51,0,47,112,105,121,103,52,47,52,0,47,112,105,121,103,53,47,49,0,47,112,105,121,103,53,47,50,0,47,112,105,121,103,53,47,51,0,47,112,105,121,103,53,47,52,0,47,112,105,121,103,53,47,53,0,47,112,105,121,103,54,47,49,0,47,112,105,121,103,54,47,50,0,47,112,105,121,103,54,47,51,0,47,112,105,121,103,54,47,52,0,47,112,105,121,103,54,47,53,0,47,112,105,121,103,54,47,54,0,47,112,105,121,103,55,47,49,0,47,112,105,121,103,55,47,50,0,47,112,105,121,103,55,47,51,0,47,112,105,121,103,55,47,52,0,47,112,105,121,103,55,47,53,0,47,112,105,121,103,55,47,54,0,47,112,105,121,103,55,47,55,0,47,112,105,121,103,56,47,49,0,47,112,105,121,103,56,47,50,0,47,112,105,121,103,56,47,51,0,47,112,105,121,103,56,47,52,0,47,112,105,121,103,56,47,53,0,47,112,105,121,103,56,47,54,0,47,112,105,121,103,56,47,55,0,47,112,105,121,103,56,47,56,0,47,112,105,121,103,57,47,49,0,47,112,105,121,103,57,47,50,0,47,112,105,121,103,57,47,51,0,47,112,105,121,103,57,47,52,0,47,112,105,121,103,57,47,53,0,47,112,105,121,103,57,47,54,0,47,112,105,121,103,57,47,55,0,47,112,105,121,103,57,47,56,0,47,112,105,121,103,57,47,57,0,47,112,114,103,110,49,48,47,49,0,47,112,114,103,110,49,48,47,49,48,0,47,112,114,103,110,49,48,47,50,0,47,112,114,103,110,49,48,47,51,0,47,112,114,103,110,49,48,47,52,0,47,112,114,103,110,49,48,47,53,0,47,112,114,103,110,49,48,47,54,0,47,112,114,103,110,49,48,47,55,0,47,112,114,103,110,49,48,47,56,0,47,112,114,103,110,49,48,47,57,0,47,112,114,103,110,49,49,47,49,0,47,112,114,103,110,49,49,47,49,48,0,47,112,114,103,110,49,49,47,49,49,0,47,112,114,103,110,49,49,47,50,0,47,112,114,103,110,49,49,47,51,0,47,112,114,103,110,49,49,47,52,0,47,112,114,103,110,49,49,47,53,0,47,112,114,103,110,49,49,47,54,0,47,112,114,103,110,49,49,47,55,0,47,112,114,103,110,49,49,47,56,0,47,112,114,103,110,49,49,47,57,0,47,112,114,103,110,51,47,49,0,47,112,114,103,110,51,47,50,0,47,112,114,103,110,51,47,51,0,47,112,114,103,110,52,47,49,0,47,112,114,103,110,52,47,50,0,47,112,114,103,110,52,47,51,0,47,112,114,103,110,52,47,52,0,47,112,114,103,110,53,47,49,0,47,112,114,103,110,53,47,50,0,47,112,114,103,110,53,47,51,0,47,112,114,103,110,53,47,52,0,47,112,114,103,110,53,47,53,0,47,112,114,103,110,54,47,49,0,47,112,114,103,110,54,47,50,0,47,112,114,103,110,54,47,51,0,47,112,114,103,110,54,47,52,0,47,112,114,103,110,54,47,53,0,47,112,114,103,110,54,47,54,0,47,112,114,103,110,55,47,49,0,47,112,114,103,110,55,47,50,0,47,112,114,103,110,55,47,51,0,47,112,114,103,110,55,47,52,0,47,112,114,103,110,55,47,53,0,47,112,114,103,110,55,47,54,0,47,112,114,103,110,55,47,55,0,47,112,114,103,110,56,47,49,0,47,112,114,103,110,56,47,50,0,47,112,114,103,110,56,47,51,0,47,112,114,103,110,56,47,52,0,47,112,114,103,110,56,47,53,0,47,112,114,103,110,56,47,54,0,47,112,114,103,110,56,47,55,0,47,112,114,103,110,56,47,56,0,47,112,114,103,110,57,47,49,0,47,112,114,103,110,57,47,50,0,47,112,114,103,110,57,47,51,0,47,112,114,103,110,57,47,52,0,47,112,114,103,110,57,47,53,0,47,112,114,103,110,57,47,54,0,47,112,114,103,110,57,47,55,0,47,112,114,103,110,57,47,56,0,47,112,114,103,110,57,47,57,0,47,112,117,98,117,51,47,49,0,47,112,117,98,117,51,47,50,0,47,112,117,98,117,51,47,51,0,47,112,117,98,117,52,47,49,0,47,112,117,98,117,52,47,50,0,47,112,117,98,117,52,47,51,0,47,112,117,98,117,52,47,52,0,47,112,117,98,117,53,47,49,0,47,112,117,98,117,53,47,50,0,47,112,117,98,117,53,47,51,0,47,112,117,98,117,53,47,52,0,47,112,117,98,117,53,47,53,0,47,112,117,98,117,54,47,49,0,47,112,117,98,117,54,47,50,0,47,112,117,98,117,54,47,51,0,47,112,117,98,117,54,47,52,0,47,112,117,98,117,54,47,53,0,47,112,117,98,117,54,47,54,0,47,112,117,98,117,55,47,49,0,47,112,117,98,117,55,47,50,0,47,112,117,98,117,55,47,51,0,47,112,117,98,117,55,47,52,0,47,112,117,98,117,55,47,53,0,47,112,117,98,117,55,47,54,0,47,112,117,98,117,55,47,55,0,47,112,117,98,117,56,47,49,0,47,112,117,98,117,56,47,50,0,47,112,117,98,117,56,47,51,0,47,112,117,98,117,56,47,52,0,47,112,117,98,117,56,47,53,0,47,112,117,98,117,56,47,54,0,47,112,117,98,117,56,47,55,0,47,112,117,98,117,56,47,56,0,47,112,117,98,117,57,47,49,0,47,112,117,98,117,57,47,50,0,47,112,117,98,117,57,47,51,0,47,112,117,98,117,57,47,52,0,47,112,117,98,117,57,47,53,0,47,112,117,98,117,57,47,54,0,47,112,117,98,117,57,47,55,0,47,112,117,98,117,57,47,56,0,47,112,117,98,117,57,47,57,0,47,112,117,98,117,103,110,51,47,49,0,47,112,117,98,117,103,110,51,47,50,0,47,112,117,98,117,103,110,51,47,51,0,47,112,117,98,117,103,110,52,47,49,0,47,112,117,98,117,103,110,52,47,50,0,47,112,117,98,117,103,110,52,47,51,0,47,112,117,98,117,103,110,52,47,52,0,47,112,117,98,117,103,110,53,47,49,0,47,112,117,98,117,103,110,53,47,50,0,47,112,117,98,117,103,110,53,47,51,0,47,112,117,98,117,103,110,53,47,52,0,47,112,117,98,117,103,110,53,47,53,0,47,112,117,98,117,103,110,54,47,49,0,47,112,117,98,117,103,110,54,47,50,0,47,112,117,98,117,103,110,54,47,51,0,47,112,117,98,117,103,110,54,47,52,0,47,112,117,98,117,103,110,54,47,53,0,47,112,117,98,117,103,110,54,47,54,0,47,112,117,98,117,103,110,55,47,49,0,47,112,117,98,117,103,110,55,47,50,0,47,112,117,98,117,103,110,55,47,51,0,47,112,117,98,117,103,110,55,47,52,0,47,112,117,98,117,103,110,55,47,53,0,47,112,117,98,117,103,110,55,47,54,0,47,112,117,98,117,103,110,55,47,55,0,47,112,117,98,117,103,110,56,47,49,0,47,112,117,98,117,103,110,56,47,50,0,47,112,117,98,117,103,110,56,47,51,0,47,112,117,98,117,103,110,56,47,52,0,47,112,117,98,117,103,110,56,47,53,0,47,112,117,98,117,103,110,56,47,54,0,47,112,117,98,117,103,110,56,47,55,0,47,112,117,98,117,103,110,56,47,56,0,47,112,117,98,117,103,110,57,47,49,0,47,112,117,98,117,103,110,57,47,50,0,47,112,117,98,117,103,110,57,47,51,0,47,112,117,98,117,103,110,57,47,52,0,47,112,117,98,117,103,110,57,47,53,0,47,112,117,98,117,103,110,57,47,54,0,47,112,117,98,117,103,110,57,47,55,0,47,112,117,98,117,103,110,57,47,56,0,47,112,117,98,117,103,110,57,47,57,0,47,112,117,111,114,49,48,47,49,0,47,112,117,111,114,49,48,47,49,48,0,47,112,117,111,114,49,48,47,50,0,47,112,117,111,114,49,48,47,51,0,47,112,117,111,114,49,48,47,52,0,47,112,117,111,114,49,48,47,53,0,47,112,117,111,114,49,48,47,54,0,47,112,117,111,114,49,48,47,55,0,47,112,117,111,114,49,48,47,56,0,47,112,117,111,114,49,48,47,57,0,47,112,117,111,114,49,49,47,49,0,47,112,117,111,114,49,49,47,49,48,0,47,112,117,111,114,49,49,47,49,49,0,47,112,117,111,114,49,49,47,50,0,47,112,117,111,114,49,49,47,51,0,47,112,117,111,114,49,49,47,52,0,47,112,117,111,114,49,49,47,53,0,47,112,117,111,114,49,49,47,54,0,47,112,117,111,114,49,49,47,55,0,47,112,117,111,114,49,49,47,56,0,47,112,117,111,114,49,49,47,57,0,47,112,117,111,114,51,47,49,0,47,112,117,111,114,51,47,50,0,47,112,117,111,114,51,47,51,0,47,112,117,111,114,52,47,49,0,47,112,117,111,114,52,47,50,0,47,112,117,111,114,52,47,51,0,47,112,117,111,114,52,47,52,0,47,112,117,111,114,53,47,49,0,47,112,117,111,114,53,47,50,0,47,112,117,111,114,53,47,51,0,47,112,117,111,114,53,47,52,0,47,112,117,111,114,53,47,53,0,47,112,117,111,114,54,47,49,0,47,112,117,111,114,54,47,50,0,47,112,117,111,114,54,47,51,0,47,112,117,111,114,54,47,52,0,47,112,117,111,114,54,47,53,0,47,112,117,111,114,54,47,54,0,47,112,117,111,114,55,47,49,0,47,112,117,111,114,55,47,50,0,47,112,117,111,114,55,47,51,0,47,112,117,111,114,55,47,52,0,47,112,117,111,114,55,47,53,0,47,112,117,111,114,55,47,54,0,47,112,117,111,114,55,47,55,0,47,112,117,111,114,56,47,49,0,47,112,117,111,114,56,47,50,0,47,112,117,111,114,56,47,51,0,47,112,117,111,114,56,47,52,0,47,112,117,111,114,56,47,53,0,47,112,117,111,114,56,47,54,0,47,112,117,111,114,56,47,55,0,47,112,117,111,114,56,47,56,0,47,112,117,111,114,57,47,49,0,47,112,117,111,114,57,47,50,0,47,112,117,111,114,57,47,51,0,47,112,117,111,114,57,47,52,0,47,112,117,111,114,57,47,53,0,47,112,117,111,114,57,47,54,0,47,112,117,111,114,57,47,55,0,47,112,117,111,114,57,47,56,0,47,112,117,111,114,57,47,57,0,47,112,117,114,100,51,47,49,0,47,112,117,114,100,51,47,50,0,47,112,117,114,100,51,47,51,0,47,112,117,114,100,52,47,49,0,47,112,117,114,100,52,47,50,0,47,112,117,114,100,52,47,51,0,47,112,117,114,100,52,47,52,0,47,112,117,114,100,53,47,49,0,47,112,117,114,100,53,47,50,0,47,112,117,114,100,53,47,51,0,47,112,117,114,100,53,47,52,0,47,112,117,114,100,53,47,53,0,47,112,117,114,100,54,47,49,0,47,112,117,114,100,54,47,50,0,47,112,117,114,100,54,47,51,0,47,112,117,114,100,54,47,52,0,47,112,117,114,100,54,47,53,0,47,112,117,114,100,54,47,54,0,47,112,117,114,100,55,47,49,0,47,112,117,114,100,55,47,50,0,47,112,117,114,100,55,47,51,0,47,112,117,114,100,55,47,52,0,47,112,117,114,100,55,47,53,0,47,112,117,114,100,55,47,54,0,47,112,117,114,100,55,47,55,0,47,112,117,114,100,56,47,49,0,47,112,117,114,100,56,47,50,0,47,112,117,114,100,56,47,51,0,47,112,117,114,100,56,47,52,0,47,112,117,114,100,56,47,53,0,47,112,117,114,100,56,47,54,0,47,112,117,114,100,56,47,55,0,47,112,117,114,100,56,47,56,0,47,112,117,114,100,57,47,49,0,47,112,117,114,100,57,47,50,0,47,112,117,114,100,57,47,51,0,47,112,117,114,100,57,47,52,0,47,112,117,114,100,57,47,53,0,47,112,117,114,100,57,47,54,0,47,112,117,114,100,57,47,55,0,47,112,117,114,100,57,47,56,0,47,112,117,114,100,57,47,57,0,47,112,117,114,112,108,101,115,51,47,49,0,47,112,117,114,112,108,101,115,51,47,50,0,47,112,117,114,112,108,101,115,51,47,51,0,47,112,117,114,112,108,101,115,52,47,49,0,47,112,117,114,112,108,101,115,52,47,50,0,47,112,117,114,112,108,101,115,52,47,51,0,47,112,117,114,112,108,101,115,52,47,52,0,47,112,117,114,112,108,101,115,53,47,49,0,47,112,117,114,112,108,101,115,53,47,50,0,47,112,117,114,112,108,101,115,53,47,51,0,47,112,117,114,112,108,101,115,53,47,52,0,47,112,117,114,112,108,101,115,53,47,53,0,47,112,117,114,112,108,101,115,54,47,49,0,47,112,117,114,112,108,101,115,54,47,50,0,47,112,117,114,112,108,101,115,54,47,51,0,47,112,117,114,112,108,101,115,54,47,52,0,47,112,117,114,112,108,101,115,54,47,53,0,47,112,117,114,112,108,101,115,54,47,54,0,47,112,117,114,112,108,101,115,55,47,49,0,47,112,117,114,112,108,101,115,55,47,50,0,47,112,117,114,112,108,101,115,55,47,51,0,47,112,117,114,112,108,101,115,55,47,52,0,47,112,117,114,112,108,101,115,55,47,53,0,47,112,117,114,112,108,101,115,55,47,54,0,47,112,117,114,112,108,101,115,55,47,55,0,47,112,117,114,112,108,101,115,56,47,49,0,47,112,117,114,112,108,101,115,56,47,50,0,47,112,117,114,112,108,101,115,56,47,51,0,47,112,117,114,112,108,101,115,56,47,52,0,47,112,117,114,112,108,101,115,56,47,53,0,47,112,117,114,112,108,101,115,56,47,54,0,47,112,117,114,112,108,101,115,56,47,55,0,47,112,117,114,112,108,101,115,56,47,56,0,47,112,117,114,112,108,101,115,57,47,49,0,47,112,117,114,112,108,101,115,57,47,50,0,47,112,117,114,112,108,101,115,57,47,51,0,47,112,117,114,112,108,101,115,57,47,52,0,47,112,117,114,112,108,101,115,57,47,53,0,47,112,117,114,112,108,101,115,57,47,54,0,47,112,117,114,112,108,101,115,57,47,55,0,47,112,117,114,112,108,101,115,57,47,56,0,47,112,117,114,112,108,101,115,57,47,57,0,47,114,100,98,117,49,48,47,49,0,47,114,100,98,117,49,48,47,49,48,0,47,114,100,98,117,49,48,47,50,0,47,114,100,98,117,49,48,47,51,0,47,114,100,98,117,49,48,47,52,0,47,114,100,98,117,49,48,47,53,0,47,114,100,98,117,49,48,47,54,0,47,114,100,98,117,49,48,47,55,0,47,114,100,98,117,49,48,47,56,0,47,114,100,98,117,49,48,47,57,0,47,114,100,98,117,49,49,47,49,0,47,114,100,98,117,49,49,47,49,48,0,47,114,100,98,117,49,49,47,49,49,0,47,114,100,98,117,49,49,47,50,0,47,114,100,98,117,49,49,47,51,0,47,114,100,98,117,49,49,47,52,0,47,114,100,98,117,49,49,47,53,0,47,114,100,98,117,49,49,47,54,0,47,114,100,98,117,49,49,47,55,0,47,114,100,98,117,49,49,47,56,0,47,114,100,98,117,49,49,47,57,0,47,114,100,98,117,51,47,49,0,47,114,100,98,117,51,47,50,0,47,114,100,98,117,51,47,51,0,47,114,100,98,117,52,47,49,0,47,114,100,98,117,52,47,50,0,47,114,100,98,117,52,47,51,0,47,114,100,98,117,52,47,52,0,47,114,100,98,117,53,47,49,0,47,114,100,98,117,53,47,50,0,47,114,100,98,117,53,47,51,0,47,114,100,98,117,53,47,52,0,47,114,100,98,117,53,47,53,0,47,114,100,98,117,54,47,49,0,47,114,100,98,117,54,47,50,0,47,114,100,98,117,54,47,51,0,47,114,100,98,117,54,47,52,0,47,114,100,98,117,54,47,53,0,47,114,100,98,117,54,47,54,0,47,114,100,98,117,55,47,49,0,47,114,100,98,117,55,47,50,0,47,114,100,98,117,55,47,51,0,47,114,100,98,117,55,47,52,0,47,114,100,98,117,55,47,53,0,47,114,100,98,117,55,47,54,0,47,114,100,98,117,55,47,55,0,47,114,100,98,117,56,47,49,0,47,114,100,98,117,56,47,50,0,47,114,100,98,117,56,47,51,0,47,114,100,98,117,56,47,52,0,47,114,100,98,117,56,47,53,0,47,114,100,98,117,56,47,54,0,47,114,100,98,117,56,47,55,0,47,114,100,98,117,56,47,56,0,47,114,100,98,117,57,47,49,0,47,114,100,98,117,57,47,50,0,47,114,100,98,117,57,47,51,0,47,114,100,98,117,57,47,52,0,47,114,100,98,117,57,47,53,0,47,114,100,98,117,57,47,54,0,47,114,100,98,117,57,47,55,0,47,114,100,98,117,57,47,56,0,47,114,100,98,117,57,47,57,0,47,114,100,103,121,49,48,47,49,0,47,114,100,103,121,49,48,47,49,48,0,47,114,100,103,121,49,48,47,50,0,47,114,100,103,121,49,48,47,51,0,47,114,100,103,121,49,48,47,52,0,47,114,100,103,121,49,48,47,53,0,47,114,100,103,121,49,48,47,54,0,47,114,100,103,121,49,48,47,55,0,47,114,100,103,121,49,48,47,56,0,47,114,100,103,121,49,48,47,57,0,47,114,100,103,121,49,49,47,49,0,47,114,100,103,121,49,49,47,49,48,0,47,114,100,103,121,49,49,47,49,49,0,47,114,100,103,121,49,49,47,50,0,47,114,100,103,121,49,49,47,51,0,47,114,100,103,121,49,49,47,52,0,47,114,100,103,121,49,49,47,53,0,47,114,100,103,121,49,49,47,54,0,47,114,100,103,121,49,49,47,55,0,47,114,100,103,121,49,49,47,56,0,47,114,100,103,121,49,49,47,57,0,47,114,100,103,121,51,47,49,0,47,114,100,103,121,51,47,50,0,47,114,100,103,121,51,47,51,0,47,114,100,103,121,52,47,49,0,47,114,100,103,121,52,47,50,0,47,114,100,103,121,52,47,51,0,47,114,100,103,121,52,47,52,0,47,114,100,103,121,53,47,49,0,47,114,100,103,121,53,47,50,0,47,114,100,103,121,53,47,51,0,47,114,100,103,121,53,47,52,0,47,114,100,103,121,53,47,53,0,47,114,100,103,121,54,47,49,0,47,114,100,103,121,54,47,50,0,47,114,100,103,121,54,47,51,0,47,114,100,103,121,54,47,52,0,47,114,100,103,121,54,47,53,0,47,114,100,103,121,54,47,54,0,47,114,100,103,121],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+112664);allocate([55,47,49,0,47,114,100,103,121,55,47,50,0,47,114,100,103,121,55,47,51,0,47,114,100,103,121,55,47,52,0,47,114,100,103,121,55,47,53,0,47,114,100,103,121,55,47,54,0,47,114,100,103,121,55,47,55,0,47,114,100,103,121,56,47,49,0,47,114,100,103,121,56,47,50,0,47,114,100,103,121,56,47,51,0,47,114,100,103,121,56,47,52,0,47,114,100,103,121,56,47,53,0,47,114,100,103,121,56,47,54,0,47,114,100,103,121,56,47,55,0,47,114,100,103,121,56,47,56,0,47,114,100,103,121,57,47,49,0,47,114,100,103,121,57,47,50,0,47,114,100,103,121,57,47,51,0,47,114,100,103,121,57,47,52,0,47,114,100,103,121,57,47,53,0,47,114,100,103,121,57,47,54,0,47,114,100,103,121,57,47,55,0,47,114,100,103,121,57,47,56,0,47,114,100,103,121,57,47,57,0,47,114,100,112,117,51,47,49,0,47,114,100,112,117,51,47,50,0,47,114,100,112,117,51,47,51,0,47,114,100,112,117,52,47,49,0,47,114,100,112,117,52,47,50,0,47,114,100,112,117,52,47,51,0,47,114,100,112,117,52,47,52,0,47,114,100,112,117,53,47,49,0,47,114,100,112,117,53,47,50,0,47,114,100,112,117,53,47,51,0,47,114,100,112,117,53,47,52,0,47,114,100,112,117,53,47,53,0,47,114,100,112,117,54,47,49,0,47,114,100,112,117,54,47,50,0,47,114,100,112,117,54,47,51,0,47,114,100,112,117,54,47,52,0,47,114,100,112,117,54,47,53,0,47,114,100,112,117,54,47,54,0,47,114,100,112,117,55,47,49,0,47,114,100,112,117,55,47,50,0,47,114,100,112,117,55,47,51,0,47,114,100,112,117,55,47,52,0,47,114,100,112,117,55,47,53,0,47,114,100,112,117,55,47,54,0,47,114,100,112,117,55,47,55,0,47,114,100,112,117,56,47,49,0,47,114,100,112,117,56,47,50,0,47,114,100,112,117,56,47,51,0,47,114,100,112,117,56,47,52,0,47,114,100,112,117,56,47,53,0,47,114,100,112,117,56,47,54,0,47,114,100,112,117,56,47,55,0,47,114,100,112,117,56,47,56,0,47,114,100,112,117,57,47,49,0,47,114,100,112,117,57,47,50,0,47,114,100,112,117,57,47,51,0,47,114,100,112,117,57,47,52,0,47,114,100,112,117,57,47,53,0,47,114,100,112,117,57,47,54,0,47,114,100,112,117,57,47,55,0,47,114,100,112,117,57,47,56,0,47,114,100,112,117,57,47,57,0,47,114,100,121,108,98,117,49,48,47,49,0,47,114,100,121,108,98,117,49,48,47,49,48,0,47,114,100,121,108,98,117,49,48,47,50,0,47,114,100,121,108,98,117,49,48,47,51,0,47,114,100,121,108,98,117,49,48,47,52,0,47,114,100,121,108,98,117,49,48,47,53,0,47,114,100,121,108,98,117,49,48,47,54,0,47,114,100,121,108,98,117,49,48,47,55,0,47,114,100,121,108,98,117,49,48,47,56,0,47,114,100,121,108,98,117,49,48,47,57,0,47,114,100,121,108,98,117,49,49,47,49,0,47,114,100,121,108,98,117,49,49,47,49,48,0,47,114,100,121,108,98,117,49,49,47,49,49,0,47,114,100,121,108,98,117,49,49,47,50,0,47,114,100,121,108,98,117,49,49,47,51,0,47,114,100,121,108,98,117,49,49,47,52,0,47,114,100,121,108,98,117,49,49,47,53,0,47,114,100,121,108,98,117,49,49,47,54,0,47,114,100,121,108,98,117,49,49,47,55,0,47,114,100,121,108,98,117,49,49,47,56,0,47,114,100,121,108,98,117,49,49,47,57,0,47,114,100,121,108,98,117,51,47,49,0,47,114,100,121,108,98,117,51,47,50,0,47,114,100,121,108,98,117,51,47,51,0,47,114,100,121,108,98,117,52,47,49,0,47,114,100,121,108,98,117,52,47,50,0,47,114,100,121,108,98,117,52,47,51,0,47,114,100,121,108,98,117,52,47,52,0,47,114,100,121,108,98,117,53,47,49,0,47,114,100,121,108,98,117,53,47,50,0,47,114,100,121,108,98,117,53,47,51,0,47,114,100,121,108,98,117,53,47,52,0,47,114,100,121,108,98,117,53,47,53,0,47,114,100,121,108,98,117,54,47,49,0,47,114,100,121,108,98,117,54,47,50,0,47,114,100,121,108,98,117,54,47,51,0,47,114,100,121,108,98,117,54,47,52,0,47,114,100,121,108,98,117,54,47,53,0,47,114,100,121,108,98,117,54,47,54,0,47,114,100,121,108,98,117,55,47,49,0,47,114,100,121,108,98,117,55,47,50,0,47,114,100,121,108,98,117,55,47,51,0,47,114,100,121,108,98,117,55,47,52,0,47,114,100,121,108,98,117,55,47,53,0,47,114,100,121,108,98,117,55,47,54,0,47,114,100,121,108,98,117,55,47,55,0,47,114,100,121,108,98,117,56,47,49,0,47,114,100,121,108,98,117,56,47,50,0,47,114,100,121,108,98,117,56,47,51,0,47,114,100,121,108,98,117,56,47,52,0,47,114,100,121,108,98,117,56,47,53,0,47,114,100,121,108,98,117,56,47,54,0,47,114,100,121,108,98,117,56,47,55,0,47,114,100,121,108,98,117,56,47,56,0,47,114,100,121,108,98,117,57,47,49,0,47,114,100,121,108,98,117,57,47,50,0,47,114,100,121,108,98,117,57,47,51,0,47,114,100,121,108,98,117,57,47,52,0,47,114,100,121,108,98,117,57,47,53,0,47,114,100,121,108,98,117,57,47,54,0,47,114,100,121,108,98,117,57,47,55,0,47,114,100,121,108,98,117,57,47,56,0,47,114,100,121,108,98,117,57,47,57,0,47,114,100,121,108,103,110,49,48,47,49,0,47,114,100,121,108,103,110,49,48,47,49,48,0,47,114,100,121,108,103,110,49,48,47,50,0,47,114,100,121,108,103,110,49,48,47,51,0,47,114,100,121,108,103,110,49,48,47,52,0,47,114,100,121,108,103,110,49,48,47,53,0,47,114,100,121,108,103,110,49,48,47,54,0,47,114,100,121,108,103,110,49,48,47,55,0,47,114,100,121,108,103,110,49,48,47,56,0,47,114,100,121,108,103,110,49,48,47,57,0,47,114,100,121,108,103,110,49,49,47,49,0,47,114,100,121,108,103,110,49,49,47,49,48,0,47,114,100,121,108,103,110,49,49,47,49,49,0,47,114,100,121,108,103,110,49,49,47,50,0,47,114,100,121,108,103,110,49,49,47,51,0,47,114,100,121,108,103,110,49,49,47,52,0,47,114,100,121,108,103,110,49,49,47,53,0,47,114,100,121,108,103,110,49,49,47,54,0,47,114,100,121,108,103,110,49,49,47,55,0,47,114,100,121,108,103,110,49,49,47,56,0,47,114,100,121,108,103,110,49,49,47,57,0,47,114,100,121,108,103,110,51,47,49,0,47,114,100,121,108,103,110,51,47,50,0,47,114,100,121,108,103,110,51,47,51,0,47,114,100,121,108,103,110,52,47,49,0,47,114,100,121,108,103,110,52,47,50,0,47,114,100,121,108,103,110,52,47,51,0,47,114,100,121,108,103,110,52,47,52,0,47,114,100,121,108,103,110,53,47,49,0,47,114,100,121,108,103,110,53,47,50,0,47,114,100,121,108,103,110,53,47,51,0,47,114,100,121,108,103,110,53,47,52,0,47,114,100,121,108,103,110,53,47,53,0,47,114,100,121,108,103,110,54,47,49,0,47,114,100,121,108,103,110,54,47,50,0,47,114,100,121,108,103,110,54,47,51,0,47,114,100,121,108,103,110,54,47,52,0,47,114,100,121,108,103,110,54,47,53,0,47,114,100,121,108,103,110,54,47,54,0,47,114,100,121,108,103,110,55,47,49,0,47,114,100,121,108,103,110,55,47,50,0,47,114,100,121,108,103,110,55,47,51,0,47,114,100,121,108,103,110,55,47,52,0,47,114,100,121,108,103,110,55,47,53,0,47,114,100,121,108,103,110,55,47,54,0,47,114,100,121,108,103,110,55,47,55,0,47,114,100,121,108,103,110,56,47,49,0,47,114,100,121,108,103,110,56,47,50,0,47,114,100,121,108,103,110,56,47,51,0,47,114,100,121,108,103,110,56,47,52,0,47,114,100,121,108,103,110,56,47,53,0,47,114,100,121,108,103,110,56,47,54,0,47,114,100,121,108,103,110,56,47,55,0,47,114,100,121,108,103,110,56,47,56,0,47,114,100,121,108,103,110,57,47,49,0,47,114,100,121,108,103,110,57,47,50,0,47,114,100,121,108,103,110,57,47,51,0,47,114,100,121,108,103,110,57,47,52,0,47,114,100,121,108,103,110,57,47,53,0,47,114,100,121,108,103,110,57,47,54,0,47,114,100,121,108,103,110,57,47,55,0,47,114,100,121,108,103,110,57,47,56,0,47,114,100,121,108,103,110,57,47,57,0,47,114,101,100,115,51,47,49,0,47,114,101,100,115,51,47,50,0,47,114,101,100,115,51,47,51,0,47,114,101,100,115,52,47,49,0,47,114,101,100,115,52,47,50,0,47,114,101,100,115,52,47,51,0,47,114,101,100,115,52,47,52,0,47,114,101,100,115,53,47,49,0,47,114,101,100,115,53,47,50,0,47,114,101,100,115,53,47,51,0,47,114,101,100,115,53,47,52,0,47,114,101,100,115,53,47,53,0,47,114,101,100,115,54,47,49,0,47,114,101,100,115,54,47,50,0,47,114,101,100,115,54,47,51,0,47,114,101,100,115,54,47,52,0,47,114,101,100,115,54,47,53,0,47,114,101,100,115,54,47,54,0,47,114,101,100,115,55,47,49,0,47,114,101,100,115,55,47,50,0,47,114,101,100,115,55,47,51,0,47,114,101,100,115,55,47,52,0,47,114,101,100,115,55,47,53,0,47,114,101,100,115,55,47,54,0,47,114,101,100,115,55,47,55,0,47,114,101,100,115,56,47,49,0,47,114,101,100,115,56,47,50,0,47,114,101,100,115,56,47,51,0,47,114,101,100,115,56,47,52,0,47,114,101,100,115,56,47,53,0,47,114,101,100,115,56,47,54,0,47,114,101,100,115,56,47,55,0,47,114,101,100,115,56,47,56,0,47,114,101,100,115,57,47,49,0,47,114,101,100,115,57,47,50,0,47,114,101,100,115,57,47,51,0,47,114,101,100,115,57,47,52,0,47,114,101,100,115,57,47,53,0,47,114,101,100,115,57,47,54,0,47,114,101,100,115,57,47,55,0,47,114,101,100,115,57,47,56,0,47,114,101,100,115,57,47,57,0,47,115,101,116,49,51,47,49,0,47,115,101,116,49,51,47,50,0,47,115,101,116,49,51,47,51,0,47,115,101,116,49,52,47,49,0,47,115,101,116,49,52,47,50,0,47,115,101,116,49,52,47,51,0,47,115,101,116,49,52,47,52,0,47,115,101,116,49,53,47,49,0,47,115,101,116,49,53,47,50,0,47,115,101,116,49,53,47,51,0,47,115,101,116,49,53,47,52,0,47,115,101,116,49,53,47,53,0,47,115,101,116,49,54,47,49,0,47,115,101,116,49,54,47,50,0,47,115,101,116,49,54,47,51,0,47,115,101,116,49,54,47,52,0,47,115,101,116,49,54,47,53,0,47,115,101,116,49,54,47,54,0,47,115,101,116,49,55,47,49,0,47,115,101,116,49,55,47,50,0,47,115,101,116,49,55,47,51,0,47,115,101,116,49,55,47,52,0,47,115,101,116,49,55,47,53,0,47,115,101,116,49,55,47,54,0,47,115,101,116,49,55,47,55,0,47,115,101,116,49,56,47,49,0,47,115,101,116,49,56,47,50,0,47,115,101,116,49,56,47,51,0,47,115,101,116,49,56,47,52,0,47,115,101,116,49,56,47,53,0,47,115,101,116,49,56,47,54,0,47,115,101,116,49,56,47,55,0,47,115,101,116,49,56,47,56,0,47,115,101,116,49,57,47,49,0,47,115,101,116,49,57,47,50,0,47,115,101,116,49,57,47,51,0,47,115,101,116,49,57,47,52,0,47,115,101,116,49,57,47,53,0,47,115,101,116,49,57,47,54,0,47,115,101,116,49,57,47,55,0,47,115,101,116,49,57,47,56,0,47,115,101,116,49,57,47,57,0,47,115,101,116,50,51,47,49,0,47,115,101,116,50,51,47,50,0,47,115,101,116,50,51,47,51,0,47,115,101,116,50,52,47,49,0,47,115,101,116,50,52,47,50,0,47,115,101,116,50,52,47,51,0,47,115,101,116,50,52,47,52,0,47,115,101,116,50,53,47,49,0,47,115,101,116,50,53,47,50,0,47,115,101,116,50,53,47,51,0,47,115,101,116,50,53,47,52,0,47,115,101,116,50,53,47,53,0,47,115,101,116,50,54,47,49,0,47,115,101,116,50,54,47,50,0,47,115,101,116,50,54,47,51,0,47,115,101,116,50,54,47,52,0,47,115,101,116,50,54,47,53,0,47,115,101,116,50,54,47,54,0,47,115,101,116,50,55,47,49,0,47,115,101,116,50,55,47,50,0,47,115,101,116,50,55,47,51,0,47,115,101,116,50,55,47,52,0,47,115,101,116,50,55,47,53,0,47,115,101,116,50,55,47,54,0,47,115,101,116,50,55,47,55,0,47,115,101,116,50,56,47,49,0,47,115,101,116,50,56,47,50,0,47,115,101,116,50,56,47,51,0,47,115,101,116,50,56,47,52,0,47,115,101,116,50,56,47,53,0,47,115,101,116,50,56,47,54,0,47,115,101,116,50,56,47,55,0,47,115,101,116,50,56,47,56,0,47,115,101,116,51,49,48,47,49,0,47,115,101,116,51,49,48,47,49,48,0,47,115,101,116,51,49,48,47,50,0,47,115,101,116,51,49,48,47,51,0,47,115,101,116,51,49,48,47,52,0,47,115,101,116,51,49,48,47,53,0,47,115,101,116,51,49,48,47,54,0,47,115,101,116,51,49,48,47,55,0,47,115,101,116,51,49,48,47,56,0,47,115,101,116,51,49,48,47,57,0,47,115,101,116,51,49,49,47,49,0,47,115,101,116,51,49,49,47,49,48,0,47,115,101,116,51,49,49,47,49,49,0,47,115,101,116,51,49,49,47,50,0,47,115,101,116,51,49,49,47,51,0,47,115,101,116,51,49,49,47,52,0,47,115,101,116,51,49,49,47,53,0,47,115,101,116,51,49,49,47,54,0,47,115,101,116,51,49,49,47,55,0,47,115,101,116,51,49,49,47,56,0,47,115,101,116,51,49,49,47,57,0,47,115,101,116,51,49,50,47,49,0,47,115,101,116,51,49,50,47,49,48,0,47,115,101,116,51,49,50,47,49,49,0,47,115,101,116,51,49,50,47,49,50,0,47,115,101,116,51,49,50,47,50,0,47,115,101,116,51,49,50,47,51,0,47,115,101,116,51,49,50,47,52,0,47,115,101,116,51,49,50,47,53,0,47,115,101,116,51,49,50,47,54,0,47,115,101,116,51,49,50,47,55,0,47,115,101,116,51,49,50,47,56,0,47,115,101,116,51,49,50,47,57,0,47,115,101,116,51,51,47,49,0,47,115,101,116,51,51,47,50,0,47,115,101,116,51,51,47,51,0,47,115,101,116,51,52,47,49,0,47,115,101,116,51,52,47,50,0,47,115,101,116,51,52,47,51,0,47,115,101,116,51,52,47,52,0,47,115,101,116,51,53,47,49,0,47,115,101,116,51,53,47,50,0,47,115,101,116,51,53,47,51,0,47,115,101,116,51,53,47,52,0,47,115,101,116,51,53,47,53,0,47,115,101,116,51,54,47,49,0,47,115,101,116,51,54,47,50,0,47,115,101,116,51,54,47,51,0,47,115,101,116,51,54,47,52,0,47,115,101,116,51,54,47,53,0,47,115,101,116,51,54,47,54,0,47,115,101,116,51,55,47,49,0,47,115,101,116,51,55,47,50,0,47,115,101,116,51,55,47,51,0,47,115,101,116,51,55,47,52,0,47,115,101,116,51,55,47,53,0,47,115,101,116,51,55,47,54,0,47,115,101,116,51,55,47,55,0,47,115,101,116,51,56,47,49,0,47,115,101,116,51,56,47,50,0,47,115,101,116,51,56,47,51,0,47,115,101,116,51,56,47,52,0,47,115,101,116,51,56,47,53,0,47,115,101,116,51,56,47,54,0,47,115,101,116,51,56,47,55,0,47,115,101,116,51,56,47,56,0,47,115,101,116,51,57,47,49,0,47,115,101,116,51,57,47,50,0,47,115,101,116,51,57,47,51,0,47,115,101,116,51,57,47,52,0,47,115,101,116,51,57,47,53,0,47,115,101,116,51,57,47,54,0,47,115,101,116,51,57,47,55,0,47,115,101,116,51,57,47,56,0,47,115,101,116,51,57,47,57,0,47,115,112,101,99,116,114,97,108,49,48,47,49,0,47,115,112,101,99,116,114,97,108,49,48,47,49,48,0,47,115,112,101,99,116,114,97,108,49,48,47,50,0,47,115,112,101,99,116,114,97,108,49,48,47,51,0,47,115,112,101,99,116,114,97,108,49,48,47,52,0,47,115,112,101,99,116,114,97,108,49,48,47,53,0,47,115,112,101,99,116,114,97,108,49,48,47,54,0,47,115,112,101,99,116,114,97,108,49,48,47,55,0,47,115,112,101,99,116,114,97,108,49,48,47,56,0,47,115,112,101,99,116,114,97,108,49,48,47,57,0,47,115,112,101,99,116,114,97,108,49,49,47,49,0,47,115,112,101,99,116,114,97,108,49,49,47,49,48,0,47,115,112,101,99,116,114,97,108,49,49,47,49,49,0,47,115,112,101,99,116,114,97,108,49,49,47,50,0,47,115,112,101,99,116,114,97,108,49,49,47,51,0,47,115,112,101,99,116,114,97,108,49,49,47,52,0,47,115,112,101,99,116,114,97,108,49,49,47,53,0,47,115,112,101,99,116,114,97,108,49,49,47,54,0,47,115,112,101,99,116,114,97,108,49,49,47,55,0,47,115,112,101,99,116,114,97,108,49,49,47,56,0,47,115,112,101,99,116,114,97,108,49,49,47,57,0,47,115,112,101,99,116,114,97,108,51,47,49,0,47,115,112,101,99,116,114,97,108,51,47,50,0,47,115,112,101,99,116,114,97,108,51,47,51,0,47,115,112,101,99,116,114,97,108,52,47,49,0,47,115,112,101,99,116,114,97,108,52,47,50,0,47,115,112,101,99,116,114,97,108,52,47,51,0,47,115,112,101,99,116,114,97,108,52,47,52,0,47,115,112,101,99,116,114,97,108,53,47,49,0,47,115,112,101,99,116,114,97,108,53,47,50,0,47,115,112,101,99,116,114,97,108,53,47,51,0,47,115,112,101,99,116,114,97,108,53,47,52,0,47,115,112,101,99,116,114,97,108,53,47,53,0,47,115,112,101,99,116,114,97,108,54,47,49,0,47,115,112,101,99,116,114,97,108,54,47,50,0,47,115,112,101,99,116,114,97,108,54,47,51,0,47,115,112,101,99,116,114,97,108,54,47,52,0,47,115,112,101,99,116,114,97,108,54,47,53,0,47,115,112,101,99,116,114,97,108,54,47,54,0,47,115,112,101,99,116,114,97,108,55,47,49,0,47,115,112,101,99,116,114,97,108,55,47,50,0,47,115,112,101,99,116,114,97,108,55,47,51,0,47,115,112,101,99,116,114,97,108,55,47,52,0,47,115,112,101,99,116,114,97,108,55,47,53,0,47,115,112,101,99,116,114,97,108,55,47,54,0,47,115,112,101,99,116,114,97,108,55,47,55,0,47,115,112,101,99,116,114,97,108,56,47,49,0,47,115,112,101,99,116,114,97,108,56,47,50,0,47,115,112,101,99,116,114,97,108,56,47,51,0,47,115,112,101,99,116,114,97,108,56,47,52,0,47,115,112,101,99,116,114,97,108,56,47,53,0,47,115,112,101,99,116,114,97,108,56,47,54,0,47,115,112,101,99,116,114,97,108,56,47,55,0,47,115,112,101,99,116,114,97,108,56,47,56,0,47,115,112,101,99,116,114,97,108,57,47,49,0,47,115,112,101,99,116,114,97,108,57,47,50,0,47,115,112,101,99,116,114,97,108,57,47,51,0,47,115,112,101,99,116,114,97,108,57,47,52,0,47,115,112,101,99,116,114,97,108,57,47,53,0,47,115,112,101,99,116,114,97,108,57,47,54,0,47,115,112,101,99,116,114,97,108,57,47,55,0,47,115,112,101,99,116,114,97,108,57,47,56,0,47,115,112,101,99,116,114,97,108,57,47,57,0,47,115,118,103,47,97,108,105,99,101,98,108,117,101,0,47,115,118,103,47,97,110,116,105,113,117,101,119,104,105,116,101,0,47,115,118,103,47,97,113,117,97,0,47,115,118,103,47,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,97,122,117,114,101,0,47,115,118,103,47,98,101,105,103,101,0,47,115,118,103,47,98,105,115,113,117,101,0,47,115,118,103,47,98,108,97,99,107,0,47,115,118,103,47,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,47,115,118,103,47,98,108,117,101,0,47,115,118,103,47,98,108,117,101,118,105,111,108,101,116,0,47,115,118,103,47,98,114,111,119,110,0,47,115,118,103,47,98,117,114,108,121,119,111,111,100,0,47,115,118,103,47,99,97,100,101,116,98,108,117,101,0,47,115,118,103,47,99,104,97,114,116,114,101,117,115,101,0,47,115,118,103,47,99,104,111,99,111,108,97,116,101,0,47,115,118,103,47,99,111,114,97,108,0,47,115,118,103,47,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,47,115,118,103,47,99,111,114,110,115,105,108,107,0,47,115,118,103,47,99,114,105,109,115,111,110,0,47,115,118,103,47,99,121,97,110,0,47,115,118,103,47,100,97,114,107,98,108,117,101,0,47,115,118,103,47,100,97,114,107,99,121,97,110,0,47,115,118,103,47,100,97,114,107,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,100,97,114,107,103,114,97,121,0,47,115,118,103,47,100,97,114,107,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,103,114,101,121,0,47,115,118,103,47,100,97,114,107,107,104,97,107,105,0,47,115,118,103,47,100,97,114,107,109,97,103,101,110,116,97,0,47,115,118,103,47,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,111,114,97,110,103,101,0,47,115,118,103,47,100,97,114,107,111,114,99,104,105,100,0,47,115,118,103,47,100,97,114,107,114,101,100,0,47,115,118,103,47,100,97,114,107,115,97,108,109,111,110,0,47,115,118,103,47,100,97,114,107,115,101,97,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,100,97,114,107,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,100,97,114,107,118,105,111,108,101,116,0,47,115,118,103,47,100,101,101,112,112,105,110,107,0,47,115,118,103,47,100,101,101,112,115,107,121,98,108,117,101,0,47,115,118,103,47,100,105,109,103,114,97,121,0,47,115,118,103,47,100,105,109,103,114,101,121,0,47,115,118,103,47,100,111,100,103,101,114,98,108,117,101,0,47,115,118,103,47,102,105,114,101,98,114,105,99,107,0,47,115,118,103,47,102,108,111,114,97,108,119,104,105,116,101,0,47,115,118,103,47,102,111,114,101,115,116,103,114,101,101,110,0,47,115,118,103,47,102,117,99,104,115,105,97,0,47,115,118,103,47,103,97,105,110,115,98,111,114,111,0,47,115,118,103,47,103,104,111,115,116,119,104,105,116,101,0,47,115,118,103,47,103,111,108,100,0,47,115,118,103,47,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,103,114,97,121,0,47,115,118,103,47,103,114,101,101,110,0,47,115,118,103,47,103,114,101,101,110,121,101,108,108,111,119,0,47,115,118,103,47,103,114,101,121,0,47,115,118,103,47,104,111,110,101,121,100,101,119,0,47,115,118,103,47,104,111,116,112,105,110,107,0,47,115,118,103,47,105,110,100,105,97,110,114,101,100,0,47,115,118,103,47,105,110,100,105,103,111,0,47,115,118,103,47,105,118,111,114,121,0,47,115,118,103,47,107,104,97,107,105,0,47,115,118,103,47,108,97,118,101,110,100,101,114,0,47,115,118,103,47,108,97,118,101,110,100,101,114,98,108,117,115,104,0,47,115,118,103,47,108,97,119,110,103,114,101,101,110,0,47,115,118,103,47,108,101,109,111,110,99,104,105,102,102,111,110,0,47,115,118,103,47,108,105,103,104,116,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,99,111,114,97,108,0,47,115,118,103,47,108,105,103,104,116,99,121,97,110,0,47,115,118,103,47,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,47,115,118,103,47,108,105,103,104,116,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,112,105,110,107,0,47,115,118,103,47,108,105,103,104,116,115,97,108,109,111,110,0,47,115,118,103,47,108,105,103,104,116,115,101,97,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,115,107,121,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,121,101,108,108,111,119,0,47,115,118,103,47,108,105,109,101,0,47,115,118,103,47,108,105,109,101,103,114,101,101,110,0,47,115,118,103,47,108,105,110,101,110,0,47,115,118,103,47,109,97,103,101,110,116,97,0,47,115,118,103,47,109,97,114,111,111,110,0,47,115,118,103,47,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,109,101,100,105,117,109,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,111,114,99,104,105,100,0,47,115,118,103,47,109,101,100,105,117,109,112,117,114,112,108,101,0,47,115,118,103,47,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,109,105,100,110,105,103,104,116,98,108,117,101,0,47,115,118,103,47,109,105,110,116,99,114,101,97,109,0,47,115,118,103,47,109,105,115,116,121,114,111,115,101,0,47,115,118,103,47,109,111,99,99,97,115,105,110,0,47,115,118,103,47,110,97,118,97,106,111,119,104,105,116,101,0,47,115,118,103,47,110,97,118,121,0,47,115,118,103,47,111,108,100,108,97,99,101,0,47,115,118,103,47,111,108,105,118,101,0,47,115,118,103,47,111,108,105,118,101,100,114,97,98,0,47,115,118,103,47,111,114,97,110,103,101,0,47,115,118,103,47,111,114,97,110,103,101,114,101,100,0,47,115,118,103,47,111,114,99,104,105,100,0,47,115,118,103,47,112,97,108,101,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,112,97,108,101,103,114,101,101,110,0,47,115,118,103,47,112,97,108,101,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,112,97,108,101,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,112,97,112,97,121,97,119,104,105,112,0,47,115,118,103,47,112,101,97,99,104,112,117,102,102,0,47,115,118,103,47,112,101,114,117,0,47,115,118,103,47,112,105,110,107,0,47,115,118,103,47,112,108,117,109,0,47,115,118,103,47,112,111,119,100,101,114,98,108,117,101,0,47,115,118,103,47,112,117,114,112,108,101,0,47,115,118,103,47,114,101,100,0,47,115,118,103,47,114,111,115,121,98,114,111,119,110,0,47,115,118,103,47,114,111,121,97,108,98,108,117,101,0,47,115,118,103,47,115,97,100,100,108,101,98,114,111,119,110,0,47,115,118,103,47,115,97,108,109,111,110,0,47,115,118,103,47,115,97,110,100,121,98,114,111,119,110,0,47,115,118,103,47,115,101,97,103,114,101,101,110,0,47,115,118,103,47,115,101,97,115,104,101,108,108,0,47,115,118,103,47,115,105,101,110,110,97,0,47,115,118,103,47,115,105,108,118,101,114,0,47,115,118,103,47,115,107,121,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,115,110,111,119,0,47,115,118,103,47,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,116,97,110,0,47,115,118,103,47,116,101,97,108,0,47,115,118,103,47,116,104,105,115,116,108,101,0,47,115,118,103,47,116,111,109,97,116,111,0,47,115,118,103,47,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,118,105,111,108,101,116,0,47,115,118,103,47,119,104,101,97,116,0,47,115,118,103,47,119,104,105,116,101,0,47,115,118,103,47,119,104,105,116,101,115,109,111,107,101,0,47,115,118,103,47,121,101,108,108,111,119,0,47,115,118,103,47,121,101,108,108,111,119,103,114,101,101,110,0,47,121,108,103,110,51,47,49,0,47,121,108,103,110,51,47,50,0,47,121,108,103,110,51,47,51,0,47,121,108,103,110,52,47,49,0,47,121,108,103,110,52,47,50,0,47,121,108,103,110,52,47,51,0,47,121,108,103,110,52,47,52,0,47,121,108,103,110,53,47,49,0,47,121,108,103,110,53,47,50,0,47,121,108,103,110,53,47,51,0,47,121,108,103,110,53,47,52,0,47,121,108,103,110,53,47,53,0,47,121,108,103,110,54,47,49,0,47,121,108,103,110,54,47,50,0,47,121,108,103,110,54,47,51,0,47,121,108,103,110,54,47,52,0,47,121,108,103,110,54,47,53,0,47,121,108,103,110,54,47,54,0,47,121,108,103,110,55,47,49,0,47,121,108,103,110,55,47,50,0,47,121,108,103,110,55,47,51,0,47,121,108,103,110,55,47,52,0,47,121,108,103,110,55,47,53,0,47,121,108,103,110,55,47,54,0,47,121,108,103,110,55,47,55,0,47,121,108,103,110,56,47,49,0,47,121,108,103,110,56,47,50,0,47,121,108,103,110,56,47,51,0,47,121,108,103,110,56,47,52,0,47,121,108,103,110,56,47,53,0,47,121,108,103,110,56,47,54,0,47,121,108,103,110,56,47,55,0,47,121,108,103,110,56,47,56,0,47,121,108,103,110,57,47,49,0,47,121,108,103,110,57,47,50,0,47,121,108,103,110,57,47,51,0,47,121,108,103,110,57,47,52,0,47,121,108,103,110,57,47,53,0,47,121,108,103,110,57,47,54,0,47,121,108,103,110,57,47,55,0,47,121,108,103,110,57,47,56,0,47,121,108,103,110,57,47,57,0,47,121,108,103,110,98,117,51,47,49,0,47,121,108,103,110,98,117,51,47,50,0,47,121,108,103,110,98,117,51,47,51,0,47,121,108,103,110,98,117,52,47,49,0,47,121,108,103,110,98,117,52,47,50,0,47,121,108,103,110,98,117,52,47,51,0,47,121,108,103,110,98,117,52,47,52,0,47,121,108,103,110,98,117,53,47,49,0,47,121,108,103,110,98,117,53,47,50,0,47,121,108,103,110,98,117,53,47,51,0,47,121,108,103,110,98,117,53,47,52,0,47,121,108,103,110,98,117,53,47,53,0,47,121,108,103,110,98,117,54,47,49,0,47,121,108,103,110,98,117,54,47,50,0,47,121,108,103,110,98,117,54,47,51,0,47,121,108,103,110,98,117,54,47,52,0,47,121,108,103,110,98,117,54,47,53,0,47,121,108,103,110,98,117,54,47,54,0,47,121,108,103,110,98,117,55,47,49,0,47,121,108,103,110,98,117,55,47,50,0,47,121,108,103,110,98,117,55,47,51,0,47,121,108,103,110,98,117,55,47,52,0,47,121,108,103,110,98,117,55,47,53,0,47,121,108,103,110,98,117,55,47,54,0,47,121,108,103,110,98,117,55,47,55,0,47,121,108,103,110,98,117,56,47,49,0,47,121,108,103,110,98,117,56,47,50,0,47,121,108,103,110,98,117,56,47,51,0,47,121,108,103,110,98,117,56,47,52,0,47,121,108,103,110,98,117,56,47,53,0,47,121,108,103,110,98,117,56,47,54,0,47,121,108,103,110,98,117,56,47,55,0,47,121,108,103,110,98,117,56,47,56,0,47,121,108,103,110,98,117,57,47,49,0,47,121,108,103,110,98,117,57,47,50,0,47,121,108,103,110,98,117,57,47,51,0,47,121,108,103,110,98,117,57,47,52,0,47,121,108,103,110,98,117,57,47,53,0,47,121,108,103,110,98,117,57,47,54,0,47,121,108,103,110,98,117,57,47,55,0,47,121,108,103,110,98,117,57,47,56,0,47,121,108,103,110,98,117,57,47,57,0,47,121,108,111,114,98,114,51,47,49,0,47,121,108,111,114,98,114,51,47,50,0,47,121,108,111,114,98,114,51,47,51,0,47,121,108,111,114,98,114,52,47,49,0,47,121,108,111,114,98,114,52,47,50,0,47,121,108,111,114,98,114,52,47,51,0,47,121,108,111,114,98,114,52,47,52,0,47,121,108,111,114,98,114,53,47,49,0,47,121,108,111,114,98,114,53,47,50,0,47,121,108,111,114,98,114,53,47,51,0,47,121,108,111,114,98,114,53,47,52,0,47,121,108,111,114,98,114,53,47,53,0,47,121,108,111,114,98,114,54,47,49,0,47,121,108,111,114,98,114,54,47,50,0,47,121,108,111,114,98,114,54,47,51,0,47,121,108,111,114,98,114,54,47,52,0,47,121,108,111,114,98,114,54,47,53,0,47,121,108,111,114,98,114,54,47,54,0,47,121,108,111,114,98,114,55,47,49,0,47,121,108,111,114,98,114,55,47,50,0,47,121,108,111,114,98,114,55,47,51,0,47,121,108,111,114,98,114,55,47,52,0,47,121,108,111,114,98,114,55,47,53,0,47,121,108,111,114,98,114,55,47,54,0,47,121,108,111,114,98,114,55,47,55,0,47,121,108,111,114,98,114,56,47,49,0,47,121,108,111,114,98,114,56,47,50,0,47,121,108,111,114,98,114,56,47,51,0,47,121,108,111,114,98,114,56,47,52,0,47,121,108,111,114,98,114,56,47,53,0,47,121,108,111,114,98,114,56,47,54,0,47,121,108,111,114,98,114,56,47,55,0,47,121,108,111,114,98,114,56,47,56,0,47,121,108,111,114,98,114,57,47,49,0,47,121,108,111,114,98,114,57,47,50,0,47,121,108,111,114,98,114,57,47,51,0,47,121,108,111,114,98,114,57,47,52,0,47,121,108,111,114,98,114,57,47,53,0,47,121,108,111,114,98,114,57,47,54,0,47,121,108,111,114,98,114,57,47,55,0,47,121,108,111,114,98,114,57,47,56,0,47,121,108,111,114,98,114,57,47,57,0,47,121,108,111,114,114,100,51,47,49,0,47,121,108,111,114,114,100,51,47,50,0,47,121,108,111,114,114,100,51,47,51,0,47,121,108,111,114,114,100,52,47,49,0,47,121,108,111,114,114,100,52,47,50,0,47,121,108,111,114,114,100,52,47,51,0,47,121,108,111,114,114,100,52,47,52,0,47,121,108,111,114,114,100,53,47,49,0,47,121,108,111,114,114,100,53,47,50,0,47,121,108,111,114,114,100,53,47,51,0,47,121,108,111,114,114,100,53,47,52,0,47,121,108,111,114,114,100,53,47,53,0,47,121,108,111,114,114,100,54,47,49,0,47,121,108,111,114,114,100,54,47,50,0,47,121,108,111,114,114,100,54,47,51,0,47,121,108,111,114,114,100,54,47,52,0,47,121,108,111,114,114,100,54,47,53,0,47,121,108,111,114,114,100,54,47,54,0,47,121,108,111,114,114,100,55,47,49,0,47,121,108,111,114,114,100,55,47,50,0,47,121,108,111,114,114,100,55,47,51,0,47,121,108,111,114,114,100,55,47,52,0,47,121,108,111,114,114,100,55,47,53,0,47,121,108,111,114,114,100,55,47,54,0,47,121,108,111,114,114,100,55,47,55,0,47,121,108,111,114,114,100,56,47,49,0,47,121,108,111,114,114,100,56,47,50,0,47,121,108,111,114,114,100,56,47,51,0,47,121,108,111,114,114,100,56,47,52,0,47,121,108,111,114,114,100,56,47,53,0,47,121,108,111,114,114,100,56,47,54,0,47,121,108,111,114,114,100,56,47,55,0,47,121,108,111,114,114,100,56,47,56,0,47,121,108,111,114,114,100,57,47,49,0,47,121,108,111,114,114,100,57,47,50,0,47,121,108,111,114,114,100,57,47,51,0,47,121,108,111,114,114,100,57,47,52,0,47,121,108,111,114,114,100,57,47,53,0,47,121,108,111,114,114,100,57,47,54,0,47,121,108,111,114,114,100,57,47,55,0,47,121,108,111,114,114,100,57,47,56,0,47,121,108,111,114,114,100,57,47,57,0,97,108,105,99,101,98,108,117,101,0,97,110,116,105,113,117,101,119,104,105,116,101,0,97,110,116,105,113,117,101,119,104,105,116,101,49,0,97,110,116,105,113,117,101,119,104,105,116,101,50,0,97,110,116,105,113,117,101,119,104,105,116,101,51,0,97,110,116,105,113,117,101,119,104,105,116,101,52,0,97,113,117,97,109,97,114,105,110,101,0,97,113,117,97,109,97,114,105,110,101,49,0,97,113,117,97,109,97,114,105,110,101,50,0,97,113,117,97,109,97,114,105,110,101,51,0,97,113,117,97,109,97,114,105,110,101,52,0,97,122,117,114,101,0,97,122,117,114,101,49,0,97,122,117,114,101,50,0,97,122,117,114,101,51,0,97,122,117,114,101,52,0,98,101,105,103,101,0,98,105,115,113,117,101,0,98,105,115,113,117,101,49,0,98,105,115,113,117,101,50,0,98,105,115,113,117,101,51,0,98,105,115,113,117,101,52,0,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,98,108,117,101,0,98,108,117,101,49,0,98,108,117,101,50,0,98,108,117,101,51,0,98,108,117,101,52,0,98,108,117,101,118,105,111,108,101,116,0,98,114,111,119,110,0,98,114,111,119,110,49,0,98,114,111,119,110,50,0,98,114,111,119,110,51,0,98,114,111,119,110,52,0,98,117,114,108,121,119,111,111,100,0,98,117,114,108,121,119,111,111,100,49,0,98,117,114,108,121,119,111,111,100,50,0,98,117,114,108,121,119,111,111,100,51,0,98,117,114,108,121,119,111,111,100,52,0,99,97,100,101,116,98,108,117,101,0,99,97,100,101,116,98,108,117,101,49,0,99,97,100,101,116,98,108,117,101,50,0,99,97,100,101,116,98,108,117,101,51,0,99,97,100,101,116,98,108,117,101,52,0,99,104,97,114,116,114,101,117,115,101,0,99,104,97,114,116,114,101,117,115,101,49,0,99,104,97,114,116,114,101,117,115,101,50,0,99,104,97,114,116,114,101,117,115,101,51,0,99,104,97,114,116,114,101,117,115,101,52,0,99,104,111,99,111,108,97,116,101,0,99,104,111,99,111,108,97,116,101,49,0,99,104,111,99,111,108,97,116,101,50,0,99,104,111,99,111,108,97,116,101,51,0,99,104,111,99,111,108,97,116,101,52,0,99,111,114,97,108,0,99,111,114,97,108,49,0,99,111,114,97,108,50,0,99,111,114,97,108,51,0,99,111,114,97,108,52,0,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,99,111,114,110,115,105,108,107,0,99,111,114,110,115,105,108,107,49,0,99,111,114,110,115,105,108,107,50,0,99,111,114,110,115,105,108,107,51,0,99,111,114,110,115,105,108,107,52,0,99,114,105,109,115,111,110,0,99,121,97,110,0,99,121,97,110,49,0,99,121,97,110,50,0,99,121,97,110,51,0,99,121,97,110,52,0,100,97,114,107,103,111,108,100,101,110,114,111,100,0,100,97,114,107,103,111,108,100,101,110,114,111,100,49,0,100,97,114,107,103,111,108,100,101,110,114,111,100,50,0,100,97,114,107,103,111,108,100,101,110,114,111,100,51,0,100,97,114,107,103,111,108,100,101,110,114,111,100,52,0,100,97,114,107,103,114,101,101,110,0,100,97,114,107,107,104,97,107,105,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,49,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,50,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,51,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,52,0,100,97,114,107,111,114,97,110,103,101,0,100,97,114,107,111,114,97,110,103,101,49,0,100,97,114,107,111,114,97,110,103,101,50,0,100,97,114,107,111,114,97,110,103,101,51,0,100,97,114,107,111,114,97,110,103,101,52,0,100,97,114,107,111,114,99,104,105,100,0,100,97,114,107,111,114,99,104,105,100,49,0,100,97,114,107,111,114,99,104,105,100,50,0,100,97,114,107,111,114,99,104,105,100,51,0,100,97,114,107,111,114,99,104,105,100,52,0,100,97,114,107,115,97,108,109,111,110,0,100,97,114,107,115,101,97,103,114,101,101,110,0,100,97,114,107,115,101,97,103,114,101,101,110,49,0,100,97,114,107,115,101,97,103,114,101,101,110,50,0,100,97,114,107,115,101,97,103,114,101,101,110,51,0,100,97,114,107,115,101,97,103,114,101,101,110,52,0,100,97,114,107,115,108,97,116,101,98,108,117,101,0,100,97,114,107,115,108,97,116,101,103,114,97,121,0,100,97,114,107,115,108,97,116,101,103,114,97,121,49,0,100,97,114,107,115,108,97,116,101,103,114,97,121,50,0,100,97,114,107,115,108,97,116,101,103,114,97,121,51,0,100,97,114,107,115,108,97,116,101,103,114,97,121,52,0,100,97,114,107,115,108,97,116,101,103,114,101,121,0,100,97,114,107,116,117,114,113,117,111,105,115,101,0,100,97,114,107,118,105,111,108,101,116,0,100,101,101,112,112,105,110,107,0,100,101,101,112,112,105,110,107,49,0,100,101,101,112,112,105,110,107,50,0,100,101,101,112,112,105,110,107,51,0,100,101,101,112,112,105,110,107,52,0,100,101,101,112,115,107,121,98,108,117,101,0,100,101,101,112,115,107,121,98,108,117,101,49,0,100,101,101,112,115,107,121,98,108,117,101,50,0,100,101,101,112,115,107,121,98,108,117,101,51,0,100,101,101,112,115,107,121,98,108,117,101,52,0,100,105,109,103,114,97,121,0,100,105,109,103,114,101,121,0,100,111,100,103,101,114,98,108,117,101,0,100,111,100,103,101,114,98,108,117,101,49,0,100,111,100,103,101,114,98,108,117,101,50,0,100,111,100,103,101,114,98,108,117,101,51,0,100,111,100,103,101,114,98,108,117,101,52,0,102,105,114,101,98,114,105,99,107,0,102,105,114,101,98,114,105,99,107,49,0,102,105,114,101,98,114,105,99,107,50,0,102,105,114,101,98,114,105,99,107,51,0,102,105,114,101,98,114,105,99,107,52,0,102,108,111,114,97,108,119,104,105,116,101,0,102,111,114,101,115,116,103,114,101,101,110,0,103,97,105,110,115,98,111,114,111,0,103,104,111,115,116,119,104,105,116,101,0,103,111,108,100,0,103,111,108,100,49,0,103,111,108,100,50,0,103,111,108,100,51,0,103,111,108,100,52,0,103,111,108,100,101,110,114,111,100,0,103,111,108,100,101,110,114,111,100,49,0,103,111,108,100,101,110,114,111,100,50,0,103,111,108,100,101,110,114,111,100,51,0,103,111,108,100,101,110,114,111,100,52,0,103,114,97,121,0,103,114,97,121,48,0,103,114,97,121,49,0,103,114,97,121,49,48,0,103,114,97,121,49,48,48,0,103,114,97,121,49,49,0,103,114,97,121,49,50,0,103,114,97,121,49,51,0,103,114,97,121,49,52,0,103,114,97,121,49,53,0,103,114,97,121,49,54,0,103,114,97,121,49,55,0,103,114,97,121,49,56,0,103,114,97,121,49,57,0,103,114,97,121,50,0,103,114,97,121,50,48,0,103,114,97,121,50,49,0,103,114,97,121,50,50],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+122904);allocate([103,114,97,121,50,51,0,103,114,97,121,50,52,0,103,114,97,121,50,53,0,103,114,97,121,50,54,0,103,114,97,121,50,55,0,103,114,97,121,50,56,0,103,114,97,121,50,57,0,103,114,97,121,51,0,103,114,97,121,51,48,0,103,114,97,121,51,49,0,103,114,97,121,51,50,0,103,114,97,121,51,51,0,103,114,97,121,51,52,0,103,114,97,121,51,53,0,103,114,97,121,51,54,0,103,114,97,121,51,55,0,103,114,97,121,51,56,0,103,114,97,121,51,57,0,103,114,97,121,52,0,103,114,97,121,52,48,0,103,114,97,121,52,49,0,103,114,97,121,52,50,0,103,114,97,121,52,51,0,103,114,97,121,52,52,0,103,114,97,121,52,53,0,103,114,97,121,52,54,0,103,114,97,121,52,55,0,103,114,97,121,52,56,0,103,114,97,121,52,57,0,103,114,97,121,53,0,103,114,97,121,53,48,0,103,114,97,121,53,49,0,103,114,97,121,53,50,0,103,114,97,121,53,51,0,103,114,97,121,53,52,0,103,114,97,121,53,53,0,103,114,97,121,53,54,0,103,114,97,121,53,55,0,103,114,97,121,53,56,0,103,114,97,121,53,57,0,103,114,97,121,54,0,103,114,97,121,54,48,0,103,114,97,121,54,49,0,103,114,97,121,54,50,0,103,114,97,121,54,51,0,103,114,97,121,54,52,0,103,114,97,121,54,53,0,103,114,97,121,54,54,0,103,114,97,121,54,55,0,103,114,97,121,54,56,0,103,114,97,121,54,57,0,103,114,97,121,55,0,103,114,97,121,55,48,0,103,114,97,121,55,49,0,103,114,97,121,55,50,0,103,114,97,121,55,51,0,103,114,97,121,55,52,0,103,114,97,121,55,53,0,103,114,97,121,55,54,0,103,114,97,121,55,55,0,103,114,97,121,55,56,0,103,114,97,121,55,57,0,103,114,97,121,56,0,103,114,97,121,56,48,0,103,114,97,121,56,49,0,103,114,97,121,56,50,0,103,114,97,121,56,51,0,103,114,97,121,56,52,0,103,114,97,121,56,53,0,103,114,97,121,56,54,0,103,114,97,121,56,55,0,103,114,97,121,56,56,0,103,114,97,121,56,57,0,103,114,97,121,57,0,103,114,97,121,57,48,0,103,114,97,121,57,49,0,103,114,97,121,57,50,0,103,114,97,121,57,51,0,103,114,97,121,57,52,0,103,114,97,121,57,53,0,103,114,97,121,57,54,0,103,114,97,121,57,55,0,103,114,97,121,57,56,0,103,114,97,121,57,57,0,103,114,101,101,110,0,103,114,101,101,110,49,0,103,114,101,101,110,50,0,103,114,101,101,110,51,0,103,114,101,101,110,52,0,103,114,101,101,110,121,101,108,108,111,119,0,103,114,101,121,0,103,114,101,121,48,0,103,114,101,121,49,0,103,114,101,121,49,48,0,103,114,101,121,49,48,48,0,103,114,101,121,49,49,0,103,114,101,121,49,50,0,103,114,101,121,49,51,0,103,114,101,121,49,52,0,103,114,101,121,49,53,0,103,114,101,121,49,54,0,103,114,101,121,49,55,0,103,114,101,121,49,56,0,103,114,101,121,49,57,0,103,114,101,121,50,0,103,114,101,121,50,48,0,103,114,101,121,50,49,0,103,114,101,121,50,50,0,103,114,101,121,50,51,0,103,114,101,121,50,52,0,103,114,101,121,50,53,0,103,114,101,121,50,54,0,103,114,101,121,50,55,0,103,114,101,121,50,56,0,103,114,101,121,50,57,0,103,114,101,121,51,0,103,114,101,121,51,48,0,103,114,101,121,51,49,0,103,114,101,121,51,50,0,103,114,101,121,51,51,0,103,114,101,121,51,52,0,103,114,101,121,51,53,0,103,114,101,121,51,54,0,103,114,101,121,51,55,0,103,114,101,121,51,56,0,103,114,101,121,51,57,0,103,114,101,121,52,0,103,114,101,121,52,48,0,103,114,101,121,52,49,0,103,114,101,121,52,50,0,103,114,101,121,52,51,0,103,114,101,121,52,52,0,103,114,101,121,52,53,0,103,114,101,121,52,54,0,103,114,101,121,52,55,0,103,114,101,121,52,56,0,103,114,101,121,52,57,0,103,114,101,121,53,0,103,114,101,121,53,48,0,103,114,101,121,53,49,0,103,114,101,121,53,50,0,103,114,101,121,53,51,0,103,114,101,121,53,52,0,103,114,101,121,53,53,0,103,114,101,121,53,54,0,103,114,101,121,53,55,0,103,114,101,121,53,56,0,103,114,101,121,53,57,0,103,114,101,121,54,0,103,114,101,121,54,48,0,103,114,101,121,54,49,0,103,114,101,121,54,50,0,103,114,101,121,54,51,0,103,114,101,121,54,52,0,103,114,101,121,54,53,0,103,114,101,121,54,54,0,103,114,101,121,54,55,0,103,114,101,121,54,56,0,103,114,101,121,54,57,0,103,114,101,121,55,0,103,114,101,121,55,48,0,103,114,101,121,55,49,0,103,114,101,121,55,50,0,103,114,101,121,55,51,0,103,114,101,121,55,52,0,103,114,101,121,55,53,0,103,114,101,121,55,54,0,103,114,101,121,55,55,0,103,114,101,121,55,56,0,103,114,101,121,55,57,0,103,114,101,121,56,0,103,114,101,121,56,48,0,103,114,101,121,56,49,0,103,114,101,121,56,50,0,103,114,101,121,56,51,0,103,114,101,121,56,52,0,103,114,101,121,56,53,0,103,114,101,121,56,54,0,103,114,101,121,56,55,0,103,114,101,121,56,56,0,103,114,101,121,56,57,0,103,114,101,121,57,0,103,114,101,121,57,48,0,103,114,101,121,57,49,0,103,114,101,121,57,50,0,103,114,101,121,57,51,0,103,114,101,121,57,52,0,103,114,101,121,57,53,0,103,114,101,121,57,54,0,103,114,101,121,57,55,0,103,114,101,121,57,56,0,103,114,101,121,57,57,0,104,111,110,101,121,100,101,119,0,104,111,110,101,121,100,101,119,49,0,104,111,110,101,121,100,101,119,50,0,104,111,110,101,121,100,101,119,51,0,104,111,110,101,121,100,101,119,52,0,104,111,116,112,105,110,107,0,104,111,116,112,105,110,107,49,0,104,111,116,112,105,110,107,50,0,104,111,116,112,105,110,107,51,0,104,111,116,112,105,110,107,52,0,105,110,100,105,97,110,114,101,100,0,105,110,100,105,97,110,114,101,100,49,0,105,110,100,105,97,110,114,101,100,50,0,105,110,100,105,97,110,114,101,100,51,0,105,110,100,105,97,110,114,101,100,52,0,105,110,100,105,103,111,0,105,110,118,105,115,0,105,118,111,114,121,0,105,118,111,114,121,49,0,105,118,111,114,121,50,0,105,118,111,114,121,51,0,105,118,111,114,121,52,0,107,104,97,107,105,0,107,104,97,107,105,49,0,107,104,97,107,105,50,0,107,104,97,107,105,51,0,107,104,97,107,105,52,0,108,97,118,101,110,100,101,114,0,108,97,118,101,110,100,101,114,98,108,117,115,104,0,108,97,118,101,110,100,101,114,98,108,117,115,104,49,0,108,97,118,101,110,100,101,114,98,108,117,115,104,50,0,108,97,118,101,110,100,101,114,98,108,117,115,104,51,0,108,97,118,101,110,100,101,114,98,108,117,115,104,52,0,108,97,119,110,103,114,101,101,110,0,108,101,109,111,110,99,104,105,102,102,111,110,0,108,101,109,111,110,99,104,105,102,102,111,110,49,0,108,101,109,111,110,99,104,105,102,102,111,110,50,0,108,101,109,111,110,99,104,105,102,102,111,110,51,0,108,101,109,111,110,99,104,105,102,102,111,110,52,0,108,105,103,104,116,98,108,117,101,0,108,105,103,104,116,98,108,117,101,49,0,108,105,103,104,116,98,108,117,101,50,0,108,105,103,104,116,98,108,117,101,51,0,108,105,103,104,116,98,108,117,101,52,0,108,105,103,104,116,99,111,114,97,108,0,108,105,103,104,116,99,121,97,110,0,108,105,103,104,116,99,121,97,110,49,0,108,105,103,104,116,99,121,97,110,50,0,108,105,103,104,116,99,121,97,110,51,0,108,105,103,104,116,99,121,97,110,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,49,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,50,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,51,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,108,105,103,104,116,103,114,97,121,0,108,105,103,104,116,103,114,101,121,0,108,105,103,104,116,112,105,110,107,0,108,105,103,104,116,112,105,110,107,49,0,108,105,103,104,116,112,105,110,107,50,0,108,105,103,104,116,112,105,110,107,51,0,108,105,103,104,116,112,105,110,107,52,0,108,105,103,104,116,115,97,108,109,111,110,0,108,105,103,104,116,115,97,108,109,111,110,49,0,108,105,103,104,116,115,97,108,109,111,110,50,0,108,105,103,104,116,115,97,108,109,111,110,51,0,108,105,103,104,116,115,97,108,109,111,110,52,0,108,105,103,104,116,115,101,97,103,114,101,101,110,0,108,105,103,104,116,115,107,121,98,108,117,101,0,108,105,103,104,116,115,107,121,98,108,117,101,49,0,108,105,103,104,116,115,107,121,98,108,117,101,50,0,108,105,103,104,116,115,107,121,98,108,117,101,51,0,108,105,103,104,116,115,107,121,98,108,117,101,52,0,108,105,103,104,116,115,108,97,116,101,98,108,117,101,0,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,49,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,50,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,51,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,52,0,108,105,103,104,116,121,101,108,108,111,119,0,108,105,103,104,116,121,101,108,108,111,119,49,0,108,105,103,104,116,121,101,108,108,111,119,50,0,108,105,103,104,116,121,101,108,108,111,119,51,0,108,105,103,104,116,121,101,108,108,111,119,52,0,108,105,109,101,103,114,101,101,110,0,108,105,110,101,110,0,109,97,103,101,110,116,97,0,109,97,103,101,110,116,97,49,0,109,97,103,101,110,116,97,50,0,109,97,103,101,110,116,97,51,0,109,97,103,101,110,116,97,52,0,109,97,114,111,111,110,0,109,97,114,111,111,110,49,0,109,97,114,111,111,110,50,0,109,97,114,111,111,110,51,0,109,97,114,111,111,110,52,0,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,109,101,100,105,117,109,98,108,117,101,0,109,101,100,105,117,109,111,114,99,104,105,100,0,109,101,100,105,117,109,111,114,99,104,105,100,49,0,109,101,100,105,117,109,111,114,99,104,105,100,50,0,109,101,100,105,117,109,111,114,99,104,105,100,51,0,109,101,100,105,117,109,111,114,99,104,105,100,52,0,109,101,100,105,117,109,112,117,114,112,108,101,0,109,101,100,105,117,109,112,117,114,112,108,101,49,0,109,101,100,105,117,109,112,117,114,112,108,101,50,0,109,101,100,105,117,109,112,117,114,112,108,101,51,0,109,101,100,105,117,109,112,117,114,112,108,101,52,0,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,109,105,100,110,105,103,104,116,98,108,117,101,0,109,105,110,116,99,114,101,97,109,0,109,105,115,116,121,114,111,115,101,0,109,105,115,116,121,114,111,115,101,49,0,109,105,115,116,121,114,111,115,101,50,0,109,105,115,116,121,114,111,115,101,51,0,109,105,115,116,121,114,111,115,101,52,0,109,111,99,99,97,115,105,110,0,110,97,118,97,106,111,119,104,105,116,101,0,110,97,118,97,106,111,119,104,105,116,101,49,0,110,97,118,97,106,111,119,104,105,116,101,50,0,110,97,118,97,106,111,119,104,105,116,101,51,0,110,97,118,97,106,111,119,104,105,116,101,52,0,110,97,118,121,0,110,97,118,121,98,108,117,101,0,110,111,110,101,0,111,108,100,108,97,99,101,0,111,108,105,118,101,100,114,97,98,0,111,108,105,118,101,100,114,97,98,49,0,111,108,105,118,101,100,114,97,98,50,0,111,108,105,118,101,100,114,97,98,51,0,111,108,105,118,101,100,114,97,98,52,0,111,114,97,110,103,101,0,111,114,97,110,103,101,49,0,111,114,97,110,103,101,50,0,111,114,97,110,103,101,51,0,111,114,97,110,103,101,52,0,111,114,97,110,103,101,114,101,100,0,111,114,97,110,103,101,114,101,100,49,0,111,114,97,110,103,101,114,101,100,50,0,111,114,97,110,103,101,114,101,100,51,0,111,114,97,110,103,101,114,101,100,52,0,111,114,99,104,105,100,0,111,114,99,104,105,100,49,0,111,114,99,104,105,100,50,0,111,114,99,104,105,100,51,0,111,114,99,104,105,100,52,0,112,97,108,101,103,111,108,100,101,110,114,111,100,0,112,97,108,101,103,114,101,101,110,0,112,97,108,101,103,114,101,101,110,49,0,112,97,108,101,103,114,101,101,110,50,0,112,97,108,101,103,114,101,101,110,51,0,112,97,108,101,103,114,101,101,110,52,0,112,97,108,101,116,117,114,113,117,111,105,115,101,0,112,97,108,101,116,117,114,113,117,111,105,115,101,49,0,112,97,108,101,116,117,114,113,117,111,105,115,101,50,0,112,97,108,101,116,117,114,113,117,111,105,115,101,51,0,112,97,108,101,116,117,114,113,117,111,105,115,101,52,0,112,97,108,101,118,105,111,108,101,116,114,101,100,0,112,97,108,101,118,105,111,108,101,116,114,101,100,49,0,112,97,108,101,118,105,111,108,101,116,114,101,100,50,0,112,97,108,101,118,105,111,108,101,116,114,101,100,51,0,112,97,108,101,118,105,111,108,101,116,114,101,100,52,0,112,97,112,97,121,97,119,104,105,112,0,112,101,97,99,104,112,117,102,102,0,112,101,97,99,104,112,117,102,102,49,0,112,101,97,99,104,112,117,102,102,50,0,112,101,97,99,104,112,117,102,102,51,0,112,101,97,99,104,112,117,102,102,52,0,112,101,114,117,0,112,105,110,107,0,112,105,110,107,49,0,112,105,110,107,50,0,112,105,110,107,51,0,112,105,110,107,52,0,112,108,117,109,0,112,108,117,109,49,0,112,108,117,109,50,0,112,108,117,109,51,0,112,108,117,109,52,0,112,111,119,100,101,114,98,108,117,101,0,112,117,114,112,108,101,0,112,117,114,112,108,101,49,0,112,117,114,112,108,101,50,0,112,117,114,112,108,101,51,0,112,117,114,112,108,101,52,0,114,101,100,0,114,101,100,49,0,114,101,100,50,0,114,101,100,51,0,114,101,100,52,0,114,111,115,121,98,114,111,119,110,0,114,111,115,121,98,114,111,119,110,49,0,114,111,115,121,98,114,111,119,110,50,0,114,111,115,121,98,114,111,119,110,51,0,114,111,115,121,98,114,111,119,110,52,0,114,111,121,97,108,98,108,117,101,0,114,111,121,97,108,98,108,117,101,49,0,114,111,121,97,108,98,108,117,101,50,0,114,111,121,97,108,98,108,117,101,51,0,114,111,121,97,108,98,108,117,101,52,0,115,97,100,100,108,101,98,114,111,119,110,0,115,97,108,109,111,110,0,115,97,108,109,111,110,49,0,115,97,108,109,111,110,50,0,115,97,108,109,111,110,51,0,115,97,108,109,111,110,52,0,115,97,110,100,121,98,114,111,119,110,0,115,101,97,103,114,101,101,110,0,115,101,97,103,114,101,101,110,49,0,115,101,97,103,114,101,101,110,50,0,115,101,97,103,114,101,101,110,51,0,115,101,97,103,114,101,101,110,52,0,115,101,97,115,104,101,108,108,0,115,101,97,115,104,101,108,108,49,0,115,101,97,115,104,101,108,108,50,0,115,101,97,115,104,101,108,108,51,0,115,101,97,115,104,101,108,108,52,0,115,105,101,110,110,97,0,115,105,101,110,110,97,49,0,115,105,101,110,110,97,50,0,115,105,101,110,110,97,51,0,115,105,101,110,110,97,52,0,115,107,121,98,108,117,101,0,115,107,121,98,108,117,101,49,0,115,107,121,98,108,117,101,50,0,115,107,121,98,108,117,101,51,0,115,107,121,98,108,117,101,52,0,115,108,97,116,101,98,108,117,101,0,115,108,97,116,101,98,108,117,101,49,0,115,108,97,116,101,98,108,117,101,50,0,115,108,97,116,101,98,108,117,101,51,0,115,108,97,116,101,98,108,117,101,52,0,115,108,97,116,101,103,114,97,121,0,115,108,97,116,101,103,114,97,121,49,0,115,108,97,116,101,103,114,97,121,50,0,115,108,97,116,101,103,114,97,121,51,0,115,108,97,116,101,103,114,97,121,52,0,115,108,97,116,101,103,114,101,121,0,115,110,111,119,0,115,110,111,119,49,0,115,110,111,119,50,0,115,110,111,119,51,0,115,110,111,119,52,0,115,112,114,105,110,103,103,114,101,101,110,0,115,112,114,105,110,103,103,114,101,101,110,49,0,115,112,114,105,110,103,103,114,101,101,110,50,0,115,112,114,105,110,103,103,114,101,101,110,51,0,115,112,114,105,110,103,103,114,101,101,110,52,0,115,116,101,101,108,98,108,117,101,0,115,116,101,101,108,98,108,117,101,49,0,115,116,101,101,108,98,108,117,101,50,0,115,116,101,101,108,98,108,117,101,51,0,115,116,101,101,108,98,108,117,101,52,0,116,97,110,0,116,97,110,49,0,116,97,110,50,0,116,97,110,51,0,116,97,110,52,0,116,104,105,115,116,108,101,0,116,104,105,115,116,108,101,49,0,116,104,105,115,116,108,101,50,0,116,104,105,115,116,108,101,51,0,116,104,105,115,116,108,101,52,0,116,111,109,97,116,111,0,116,111,109,97,116,111,49,0,116,111,109,97,116,111,50,0,116,111,109,97,116,111,51,0,116,111,109,97,116,111,52,0,116,117,114,113,117,111,105,115,101,0,116,117,114,113,117,111,105,115,101,49,0,116,117,114,113,117,111,105,115,101,50,0,116,117,114,113,117,111,105,115,101,51,0,116,117,114,113,117,111,105,115,101,52,0,118,105,111,108,101,116,0,118,105,111,108,101,116,114,101,100,0,118,105,111,108,101,116,114,101,100,49,0,118,105,111,108,101,116,114,101,100,50,0,118,105,111,108,101,116,114,101,100,51,0,118,105,111,108,101,116,114,101,100,52,0,119,104,101,97,116,0,119,104,101,97,116,49,0,119,104,101,97,116,50,0,119,104,101,97,116,51,0,119,104,101,97,116,52,0,119,104,105,116,101,0,119,104,105,116,101,115,109,111,107,101,0,121,101,108,108,111,119,0,121,101,108,108,111,119,49,0,121,101,108,108,111,119,50,0,121,101,108,108,111,119,51,0,121,101,108,108,111,119,52,0,121,101,108,108,111,119,103,114,101,101,110,0,108,97,99,107,0,104,105,116,101,0,105,103,104,116,103,114,101,121,0,88,49,49,47,0,47,37,115,47,37,115,0,105,109,97,103,101,115,99,97,108,101,0,102,97,108,115,101,0,98,108,97,99,107,0,100,111,116,116,101,100,0,100,97,115,104,101,100,0,99,112,45,62,115,114,99,0,104,116,109,108,116,97,98,108,101,46,99,0,101,109,105,116,95,104,116,109,108,95,105,109,103,0,99,112,45,62,115,114,99,91,48,93,0,116,114,97,110,115,112,97,114,101,110,116,0,95,37,100,0,37,100,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,49,48,0,49,49,0,49,50,0,49,51,0,49,52,0,49,53,0,49,54,0,49,55,0,49,56,0,49,57,0,50,48,0,65,103,110,111,100,101,105,110,102,111,95,116,0,65,103,101,100,103,101,105,110,102,111,95,116,0,114,111,119,103,0,99,111,108,103,0,65,103,114,97,112,104,105,110,102,111,95,116,0,100,101,108,120,32,62,61,32,48,0,112,111,115,95,104,116,109,108,95,116,98,108,0,100,101,108,121,32,62,61,32,48,0,116,97,98,108,101,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,116,97,98,108,101,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,99,101,108,108,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,99,101,108,108,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,32,102,105,108,101,61,34,37,115,34,10,0,112,101,110,99,111,108,111,114,0,45,62,0,102,80,81,46,99,0,80,81,99,104,101,99,107,0,72,101,97,112,32,111,118,101,114,102,108,111,119,10,0,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,47,110,111,100,101,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,115,104,111,119,112,97,103,101,10,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,48,93,10,0,110,112,45,62,99,101,108,108,115,91,48,93,0,109,97,122,101,46,99,0,99,104,107,83,103,114,97,112,104,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,49,93,10,0,110,112,45,62,99,101,108,108,115,91,49,93,0,100,105,116,101,109,115,0,102,105,110,100,83,86,101,114,116,0,37,37,37,37,80,97,103,101,58,32,49,32,49,10,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,102,32,37,102,32,116,114,97,110,115,108,97,116,101,10,0,48,32,48,32,49,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,110,111,100,101,10,0,48,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,99,101,108,108,10,0,49,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,117,110,101,120,112,101,99,116,101,100,32,99,97,115,101,32,105,110,32,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,10,0,48,0,116,114,97,112,101,122,111,105,100,46,99,0,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,0,97,100,100,95,115,101,103,109,101,110,116,58,32,101,114,114,111,114,10,0,110,101,119,110,111,100,101,58,32,81,117,101,114,121,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,10,0,110,101,119,110,111,100,101,0,110,101,119,116,114,97,112,58,32,84,114,97,112,101,122,111,105,100,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,32,37,100,10,0,110,101,119,116,114,97,112,0,105,110,100,101,120,46,99,0,82,84,114,101,101,83,101,97,114,99,104,0,110,45,62,108,101,118,101,108,32,62,61,32,48,0,82,84,114,101,101,73,110,115,101,114,116,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,40,42,110,41,45,62,108,101,118,101,108,0,114,45,62,98,111,117,110,100,97,114,121,91,105,93,32,60,61,32,114,45,62,98,111,117,110,100,97,114,121,91,78,85,77,68,73,77,83,32,43,32,105,93,0,114,32,38,38,32,110,32,38,38,32,110,101,119,0,82,84,114,101,101,73,110,115,101,114,116,50,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,110,45,62,108,101,118,101,108,0,70,65,76,83,69,0,110,111,100,101,46,99,0,78,111,100,101,67,111,118,101,114,0,114,32,38,38,32,110,0,80,105,99,107,66,114,97,110,99,104,0,65,100,100,66,114,97,110,99,104,0,105,32,60,32,78,79,68,69,67,65,82,68,0,110,101,119,0,110,32,38,38,32,105,32,62,61,32,48,32,38,38,32,105,32,60,32,78,79,68,69,67,65,82,68,0,68,105,115,99,111,110,66,114,97,110,99,104,0,114,0,114,101,99,116,97,110,103,108,101,46,99,0,82,101,99,116,65,114,101,97,0,114,32,38,38,32,114,114,0,67,111,109,98,105,110,101,82,101,99,116,0,114,32,38,38,32,115,0,79,118,101,114,108,97,112,0,110,0,115,112,108,105,116,46,113,46,99,0,83,112,108,105,116,78,111,100,101,0,98,0,110,45,62,99,111,117,110,116,32,43,32,40,42,110,110,41,45,62,99,111,117,110,116,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,76,111,97,100,78,111,100,101,115,0,113,0,112,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,48,32,124,124,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,49,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,43,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,77,101,116,104,111,100,90,101,114,111,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,32,38,38,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,0,33,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,116,97,107,101,110,91,105,93,0,67,108,97,115,115,105,102,121,0,71,101,116,66,114,97,110,99,104,101,115,0,110,45,62,98,114,97,110,99,104,91,105,93,46,99,104,105,108,100,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,2,2,2,2,2,2,16,12,89,1,0,31,80,8,3,7,18,19,20,87,22,23,8,11,105,12,31,10,5,12,14,41,17,43,15,45,16,47,48,32,50,6,52,53,27,28,29,30,11,12,33,34,35,36,37,38,39,40,12,24,25,23,4,10,27,28,26,32,42,10,33,34,35,36,37,38,39,40,12,10,14,83,10,44,88,49,88,88,88,88,88,88,12,27,28,15,46,88,51,33,34,35,36,37,38,39,40,27,28,255,83,255,255,33,34,35,36,37,38,39,40,12,255,255,5,255,255,255,9,20,255,255,255,255,255,12,27,28,255,16,21,22,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,18,19,20,17,22,23,255,255,255,255,255,255,12,27,28,255,255,255,18,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,255,255,255,255,255,19,255,255,255,255,255,255,12,27,28,255,255,255,255,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,18,19,20,21,22,23,24,25,255,255,255,255,255,255,255,255,255,35,36,37,38,39,27,18,19,20,22,23,34,54,104,1,31,56,86,33,32,2,27,27,27,94,27,27,55,57,112,54,210,194,79,4,60,34,71,34,63,34,68,34,34,88,34,101,34,34,5,6,95,96,57,4,7,8,9,10,11,12,13,14,4,102,103,93,106,109,5,6,111,88,59,113,7,8,9,10,11,12,13,14,4,114,60,91,115,62,97,70,27,18,19,20,22,23,4,5,6,63,65,98,73,7,8,9,10,11,12,13,14,5,6,0,92,0,0,7,8,9,10,11,12,13,14,4,0,0,79,0,0,0,83,66,0,0,0,0,0,4,5,6,0,68,84,85,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,42,44,46,71,49,51,0,0,0,0,0,0,4,5,6,0,0,0,74,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,0,0,0,0,0,76,0,0,0,0,0,0,4,5,6,0,0,0,0,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,41,43,45,47,48,50,52,53,0,0,0,0,0,0,0,0,0,41,43,45,48,50,0,4,47,0,36,35,0,18,20,22,26,28,30,32,24,0,5,7,47,47,47,0,47,47,0,0,9,8,40,0,0,1,34,2,6,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,37,3,38,19,10,41,21,11,42,23,14,45,25,17,27,12,43,29,13,44,31,15,33,16,0,51,0,48,0,47,67,0,49,0,47,0,53,46,39,66,50,65,0,58,56,0,60,52,69,0,54,0,64,0,0,63,0,68,55,59,57,61,0,2,3,3,1,1,2,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,0,6,1,3,3,3,3,3,1,0,1,2,3,0,4,1,2,3,0,4,0,4,0,4,0,3,2,1,2,1,2,1,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,98,101,102,111,114,101,32,60,84,65,66,76,69,62,0,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,97,102,116,101,114,32,60,47,84,65,66,76,69,62,0,0,41,42,42,42,43,44,44,45,45,45,45,45,45,45,45,45,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,62,63,63,65,64,66,66,66,66,66,66,67,67,68,68,68,70,69,71,71,71,73,72,74,72,75,72,76,72,77,77,78,78,79,79,255,3,15,16,17,35,58,36,61,37,64,21,67,38,69,39,72,24,75,25,77,26,40,28,78,29,30,80,81,82,89,90,108,107,110,99,100,87,105,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,37,115,32,105,110,32,108,105,110,101,32,37,100,32,10,0,46,46,46,32,37,115,32,46,46,46,10,0,84,65,66,76,69,0,84,82,0,84,72,0,84,68,0,72,84,77,76,0,70,79,78,84,0,66,0,85,0,79,0,73,0,83,85,80,0,83,85,66,0,83,0,66,82,0,72,82,0,86,82,0,73,77,71,0,85,110,107,110,111,119,110,32,72,84,77,76,32,101,108,101,109,101,110,116,32,60,37,115,62,32,111,110,32,108,105,110,101,32,37,100,32,10,0,60,73,77,71,62,0,73,108,108,101,103,97,108,32,97,116,116,114,105,98,117,116,101,32,37,115,32,105,110,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,115,99,97,108,101,0,115,114,99,0,60,66,82,62,0,97,108,105,103,110,0,73,71,72,84,0,69,70,84,0,69,78,84,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,60,70,79,78,84,62,0,99,111,108,111,114,0,102,97,99,101,0,112,111,105,110,116,45,115,105,122,101,0,80,79,73,78,84,45,83,73,90,69,0,73,109,112,114,111,112,101,114,32,37,115,32,118,97,108,117,101,32,37,115,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,62,32,37,100,32,45,32,116,111,111,32,108,97,114,103,101,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,60,32,37,100,32,45,32,116,111,111,32,115,109,97,108,108,32,45,32,105,103,110,111,114,101,100,0,60,84,68,62,0,98,97,108,105,103,110,0,98,103,99,111,108,111,114,0,98,111,114,100,101,114,0,99,101,108,108,112,97,100,100,105,110,103,0,99,101,108,108,115,112,97,99,105,110,103,0,99,111,108,115,112,97,110,0,102,105,120,101,100,115,105,122,101,0,103,114,97,100,105,101,110,116,97,110,103,108,101,0,104,101,105,103,104,116,0,104,114,101,102,0,105,100,0,112,111,114,116,0,114,111,119,115,112,97,110,0,115,105,100,101,115,0,115,116,121,108,101,0,116,97,114,103,101,116,0,116,105,116,108,101,0,116,111,111,108,116,105,112,0,118,97,108,105,103,110,0,119,105,100,116,104,0,87,73,68,84,72,0,79,84,84,79,77,0,79,80,0,73,68,68,76,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,86,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,32,44,0,79,85,78,68,69,68,0,65,68,73,65,76,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,83,84,89,76,69,32,45,32,105,103,110,111,114,101,100,10,0,83,79,76,73,68,0,73,78,86,73,83,73,66,76,69,0,73,78,86,73,83,0,68,79,84,84,69,68,0,68,65,83,72,69,68,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,40,37,100,41,32,105,110,32,115,105,100,101,115,32,97,116,116,114,105,98,117,116,101,10,0,82,79,87,83,80,65,78,0,82,79,87,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,72,69,73,71,72,84,0,71,82,65,68,73,69,78,84,65,78,71,76,69,0,82,85,69,0,65,76,83,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,70,73,88,69,68,83,73,90,69,32,45,32,105,103,110,111,114,101,100,10,0,67,79,76,83,80,65,78,0,67,79,76,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,80,65,67,73,78,71,0,67,69,76,76,80,65,68,68,73,78,71,0,66,79,82,68,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,66,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,69,88,84,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,60,84,65,66,76,69,62,0,99,101,108,108,98,111,114,100,101,114,0,99,111,108,117,109,110,115,0,114,111,119,115,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,82,79,87,83,32,45,32,105,103,110,111,114,101,100,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,67,79,76,85,77,78,83,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,66,79,82,68,69,82,0,60,72,84,77,76,62,0,60,47,72,84,77,76,62,0,45,45,0,76,97,98,101,108,32,99,108,111,115,101,100,32,98,101,102,111,114,101,32,101,110,100,32,111,102,32,72,84,77,76,32,101,108,101,109,101,110,116,10,0,85,110,99,108,111,115,101,100,32,99,111,109,109,101,110,116,10,0,106,32,61,61,32,48,0,99,118,116,46,99,0,80,111,98,115,112,97,116,104,0,114,111,117,116,101,46,99,0,108,105,98,112,97,116,104,47,37,115,58,37,100,58,32,37,115,10,0,115,104,111,114,116,101,115,116,46,99,0,115,111,117,114,99,101,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,100,101,115,116,105,110,97,116,105,111,110,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,99,97,110,110,111,116,32,102,105,110,100,32,116,114,105,97,110,103,108,101,32,112,97,116,104,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,111,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,111,112,115,0,116,114,105,97,110,103,117,108,97,116,105,111,110,32,102,97,105,108,101,100,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,112,115,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,89,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,79,84,65,84,73,79,78,40,0,40,0,124,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,120,109,108,110,115,47,0,120,109,108,61,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,115,121,110,116,97,120,32,101,114,114,111,114,0,110,111,32,101,108,101,109,101,110,116,32,102,111,117,110,100,0,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,32,40,105,110,118,97,108,105,100,32,116,111,107,101,110,41,0,117,110,99,108,111,115,101,100,32,116,111,107,101,110,0,112,97,114,116,105,97,108,32,99,104,97,114,97,99,116,101,114,0,109,105,115,109,97,116,99,104,101,100,32,116,97,103,0,100,117,112,108,105,99,97,116,101,32,97,116,116,114,105,98,117,116,101,0,106,117,110,107,32,97,102,116,101,114,32,100,111,99,117,109,101,110,116,32,101,108,101,109,101,110,116,0,105,108,108,101,103,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,117,110,100,101,102,105,110,101,100,32,101,110,116,105,116,121,0,114,101,99,117,114,115,105,118,101,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,97,115,121,110,99,104,114,111,110,111,117,115,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,0,114,101,102,101,114,101,110,99,101,32,116,111,32,98,105,110,97,114,121,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,105,110,32,97,116,116,114,105,98,117,116,101,0,88,77,76,32,111,114,32,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,97,116,32,115,116,97,114,116,32,111,102,32,101,110,116,105,116,121,0,117,110,107,110,111,119,110,32,101,110,99,111,100,105,110,103,0,101,110,99,111,100,105,110,103,32,115,112,101,99,105,102,105,101,100,32,105,110,32,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,105,115,32,105,110,99,111,114,114,101,99,116,0,117,110,99,108,111,115,101,100,32,67,68,65,84,65,32,115,101,99,116,105,111,110,0,101,114,114,111,114,32,105,110,32,112,114,111,99,101,115,115,105,110,103,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,100,111,99,117,109,101,110,116,32,105,115,32,110,111,116,32,115,116,97,110,100,97,108,111,110,101,0,117,110,101,120,112,101,99,116,101,100,32,112,97,114,115,101,114,32,115,116,97,116,101,32,45,32,112,108,101,97,115,101,32,115,101,110,100,32,97,32,98,117,103,32,114,101,112,111,114,116,0,101,110,116,105,116,121,32,100,101,99,108,97,114,101,100,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,115,32,88,77,76,95,68,84,68,32,115,117,112,112,111,114,116,32,105,110,32,69,120],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+133144);allocate([112,97,116,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,115,101,116,116,105,110,103,32,111,110,99,101,32,112,97,114,115,105,110,103,32,104,97,115,32,98,101,103,117,110,0,117,110,98,111,117,110,100,32,112,114,101,102,105,120,0,109,117,115,116,32,110,111,116,32,117,110,100,101,99,108,97,114,101,32,112,114,101,102,105,120,0,105,110,99,111,109,112,108,101,116,101,32,109,97,114,107,117,112,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,40,115,41,32,105,110,32,112,117,98,108,105,99,32,105,100,0,112,97,114,115,101,114,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,101,114,32,110,111,116,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,105,110,103,32,97,98,111,114,116,101,100,0,112,97,114,115,105,110,103,32,102,105,110,105,115,104,101,100,0,99,97,110,110,111,116,32,115,117,115,112,101,110,100,32,105,110,32,101,120,116,101,114,110,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,41,32,109,117,115,116,32,110,111,116,32,98,101,32,117,110,100,101,99,108,97,114,101,100,32,111,114,32,98,111,117,110,100,32,116,111,32,97,110,111,116,104,101,114,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,110,115,41,32,109,117,115,116,32,110,111,116,32,98,101,32,100,101,99,108,97,114,101,100,32,111,114,32,117,110,100,101,99,108,97,114,101,100,0,112,114,101,102,105,120,32,109,117,115,116,32,110,111,116,32,98,101,32,98,111,117,110,100,32,116,111,32,111,110,101,32,111,102,32,116,104,101,32,114,101,115,101,114,118,101,100,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,115,0,2,3,4,5,6,7,8,0,0,9,10,11,12,13,14,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,3,26,27,28,29,30,0,0,31,32,33,34,35,36,37,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,38,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,68,65,84,65,91,85,83,45,65,83,67,73,73,0,85,84,70,45,49,54,0,85,84,70,45,49,54,66,69,0,85,84,70,45,49,54,76,69,0,118,101,114,115,105,111,110,0,101,110,99,111,100,105,110,103,0,115,116,97,110,100,97,108,111,110,101,0,68,79,67,84,89,80,69,0,83,89,83,84,69,77,0,80,85,66,76,73,67,0,69,78,84,73,84,89,0,65,84,84,76,73,83,84,0,69,76,69,77,69,78,84,0,78,79,84,65,84,73,79,78,0,73,78,67,76,85,68,69,0,73,71,78,79,82,69,0,69,77,80,84,89,0,65,78,89,0,80,67,68,65,84,65,0,73,77,80,76,73,69,68,0,82,69,81,85,73,82,69,68,0,70,73,88,69,68,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,68,65,84,65,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,108,110,117,109,0,97,108,112,104,97,0,98,108,97,110,107,0,99,110,116,114,108,0,100,105,103,105,116,0,103,114,97,112,104,0,108,111,119,101,114,0,112,114,105,110,116,0,112,117,110,99,116,0,115,112,97,99,101,0,117,112,112,101,114,0,120,100,105,103,105,116,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0,105,110,102,105,110,105,116,121,0,110,97,110,0,76,67,95,65,76,76,0,76,67,95,67,84,89,80,69],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+143384);allocate([76,67,95,78,85,77,69,82,73,67,0,0,76,67,95,84,73,77,69,0,0,0,0,0,76,67,95,67,79,76,76,65,84,69,0,0,76,67,95,77,79,78,69,84,65,82,89,0,76,67,95,77,69,83,83,65,71,69,83,0,76,65,78,71,0,67,46,85,84,70,45,56,0,80,79,83,73,88,0,77,85,83,76,95,76,79,67,80,65,84,72,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,67,0,114,119,97,0,9,0,10,0,13,0,12,0,7,0,27,0,91,91,58,97,108,110,117,109,58,93,95,93,0,91,94,91,58,97,108,110,117,109,58,93,95,93,0,91,91,58,115,112,97,99,101,58,93,93,0,91,94,91,58,115,112,97,99,101,58,93,93,0,91,91,58,100,105,103,105,116,58,93,93,0,91,94,91,58,100,105,103,105,116,58,93,93,0,47,116,109,112,47,116,109,112,102,105,108,101,95,88,88,88,88,88,88,0,119,43,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+153624);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module["_i64Subtract"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw"Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"]+" at "+stackTrace()}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:"binary",canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return __webpack_require__(/*! crypto */ 3).randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_memset"]=_memset;Module["_bitshift64Shl"]=_bitshift64Shl;function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}Module["_i64Add"]=_i64Add;function _realloc(){throw"bad"}Module["_realloc"]=_realloc;Module["_saveSetjmp"]=_saveSetjmp;var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module["_bitshift64Ashr"]=_bitshift64Ashr;Module["_bitshift64Lshr"]=_bitshift64Lshr;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _llvm_trap(){abort("trap!")}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);Module["_llvm_cttz_i32"]=_llvm_cttz_i32;Module["___udivmoddi4"]=___udivmoddi4;Module["___udivdi3"]=___udivdi3;Module["___muldsi3"]=___muldsi3;Module["___muldi3"]=___muldi3;var _llvm_pow_f64=Math_pow;Module["_sbrk"]=_sbrk;Module["_memmove"]=_memmove;Module["___uremdi3"]=___uremdi3;function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}function _abort(){Module["abort"]()}Module["_llvm_bswap_i32"]=_llvm_bswap_i32;Module["_llvm_bswap_i16"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=__webpack_require__(/*! fs */ 1);var NODEJS_PATH=__webpack_require__(/*! path */ 2);NODEFS.staticInit()}___buildEnvironment(ENV);if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}DYNAMICTOP_PTR=allocate(1,"i32",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_d(index){try{return Module["dynCall_d"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module["dynCall_iiidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_vi":invoke_vi,"invoke_iiii":invoke_iiii,"invoke_viiiii":invoke_viiiii,"invoke_d":invoke_d,"invoke_di":invoke_di,"invoke_i":invoke_i,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_iiidd":invoke_iiidd,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_viiiddi":invoke_viiiddi,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_ii":invoke_ii,"invoke_dddd":invoke_dddd,"invoke_viii":invoke_viii,"invoke_v":invoke_v,"invoke_iiiii":invoke_iiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiii":invoke_viiii,"___syscall221":___syscall221,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_llvm_pow_f64":_llvm_pow_f64,"___syscall6":___syscall6,"___syscall20":___syscall20,"_setenv":_setenv,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"_longjmp":_longjmp,"_clock_gettime":_clock_gettime,"_times":_times,"___setErrNo":___setErrNo,"___syscall192":___syscall192,"___syscall197":___syscall197,"_emscripten_get_now":_emscripten_get_now,"___syscall195":___syscall195,"__exit":__exit,"_emscripten_memcpy_big":_emscripten_memcpy_big,"___syscall91":___syscall91,"_getenv":_getenv,"___map_file":___map_file,"___syscall33":___syscall33,"___syscall54":___syscall54,"___unlock":___unlock,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"___syscall10":___syscall10,"___lock":___lock,"_abort":_abort,"___syscall5":___syscall5,"___clock_gettime":___clock_gettime,"_time":_time,"___syscall140":___syscall140,"_llvm_trap":_llvm_trap,"_exit":_exit,"___syscall145":___syscall145,"___syscall146":___syscall146,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM -var asm=(function(global,env,buffer) { -"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_vi;var aa=env.invoke_iiii;var ba=env.invoke_viiiii;var ca=env.invoke_d;var da=env.invoke_di;var ea=env.invoke_i;var fa=env.invoke_iiiiiiiiiii;var ga=env.invoke_iiidd;var ha=env.invoke_vii;var ia=env.invoke_iiiiiii;var ja=env.invoke_viiiddi;var ka=env.invoke_viiiiiiiii;var la=env.invoke_ii;var ma=env.invoke_dddd;var na=env.invoke_viii;var oa=env.invoke_v;var pa=env.invoke_iiiii;var qa=env.invoke_viiiiii;var ra=env.invoke_iii;var sa=env.invoke_iiiiii;var ta=env.invoke_viiii;var ua=env.___syscall221;var va=env._emscripten_get_now_is_monotonic;var wa=env._llvm_pow_f64;var xa=env.___syscall6;var ya=env.___syscall20;var za=env._setenv;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._longjmp;var Da=env._clock_gettime;var Ea=env._times;var Fa=env.___setErrNo;var Ga=env.___syscall192;var Ha=env.___syscall197;var Ia=env._emscripten_get_now;var Ja=env.___syscall195;var Ka=env.__exit;var La=env._emscripten_memcpy_big;var Ma=env.___syscall91;var Na=env._getenv;var Oa=env.___map_file;var Pa=env.___syscall33;var Qa=env.___syscall54;var Ra=env.___unlock;var Sa=env._emscripten_asm_const_iii;var Ta=env.___syscall10;var Ua=env.___lock;var Va=env._abort;var Wa=env.___syscall5;var Xa=env.___clock_gettime;var Ya=env._time;var Za=env.___syscall140;var _a=env._llvm_trap;var $a=env._exit;var ab=env.___syscall145;var bb=env.___syscall146;var cb=0.0; -// EMSCRIPTEN_START_FUNCS -function CV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+96|0;X=$+32|0;f=$+16|0;Y=$;r=X;k=b+(a*56|0)|0;q=r+56|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));Z=X+16|0;_=X+24|0;i=+h[_>>3];P=X+8|0;j=+h[P>>3];g=X+36|0;p=X+40|0;do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[Z>>3]>+h[X>>3]:0){O=4;break}O=(GV(a,b,1)|0)==0;f=c[g>>2]|0;if(O){n=0;O=7}else{f=EV(X,Z,f,b,e)|0;O=20}}else O=4;while(0);if((O|0)==4){c[f>>2]=c[X>>2];c[f+4>>2]=c[X+4>>2];c[f+8>>2]=c[X+8>>2];c[f+12>>2]=c[X+12>>2];c[X>>2]=c[Z>>2];c[X+4>>2]=c[Z+4>>2];c[X+8>>2]=c[Z+8>>2];c[X+12>>2]=c[Z+12>>2];c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];O=c[g>>2]|0;f=c[p>>2]|0;c[g>>2]=f;c[p>>2]=O;if(!(GV(a,b,2)|0)){n=1;O=7}else{f=EV(X,Z,f,b,e)|0;O=19}}if((O|0)==7){m=EV(X,Z,f,b,e)|0;f=HV(d)|0;c[d+(f*72|0)+68>>2]=1;r=d+(f*72|0)|0;k=d+(m*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[P>>3];h[d+(f*72|0)+16>>3]=t;h[d+(m*72|0)+32>>3]=t;t=+h[X>>3];h[d+(f*72|0)+8>>3]=t;h[d+(m*72|0)+24>>3]=t;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}M=IV()|0;O=IV()|0;N=d+(m*72|0)+56|0;L=c[N>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[X>>2];c[K+4>>2]=c[X+4>>2];c[K+8>>2]=c[X+8>>2];c[K+12>>2]=c[X+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=O;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=m;c[e+(M*40|0)+28>>2]=L;c[e+(O*40|0)>>2]=3;c[e+(O*40|0)+24>>2]=f;c[e+(O*40|0)+28>>2]=L;c[N>>2]=M;c[d+(f*72|0)+56>>2]=O;if(n)O=19;else O=20}if((O|0)==19)if(!(GV(a,b,1)|0)){o=1;O=21}else{g=1;O=32}else if((O|0)==20)if(!(GV(a,b,2)|0)){o=0;O=21}else{g=0;O=32}if((O|0)==21){n=EV(Z,X,c[p>>2]|0,b,e)|0;m=HV(d)|0;c[d+(m*72|0)+68>>2]=1;r=d+(m*72|0)|0;k=d+(n*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[_>>3];h[d+(m*72|0)+16>>3]=t;h[d+(n*72|0)+32>>3]=t;t=+h[Z>>3];h[d+(m*72|0)+8>>3]=t;h[d+(n*72|0)+24>>3]=t;c[d+(n*72|0)+48>>2]=m;c[d+(n*72|0)+52>>2]=0;c[d+(m*72|0)+40>>2]=n;c[d+(m*72|0)+44>>2]=0;g=c[d+(m*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}g=c[d+(m*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}M=IV()|0;N=IV()|0;g=d+(n*72|0)+56|0;L=c[g>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[Z>>2];c[K+4>>2]=c[Z+4>>2];c[K+8>>2]=c[Z+8>>2];c[K+12>>2]=c[Z+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=N;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=n;c[e+(M*40|0)+28>>2]=L;c[e+(N*40|0)>>2]=3;c[e+(N*40|0)+24>>2]=m;c[e+(N*40|0)+28>>2]=L;c[g>>2]=M;c[d+(m*72|0)+56>>2]=N;N=f;f=0;g=o}else if((O|0)==32){N=f;n=EV(Z,X,c[p>>2]|0,b,e)|0;f=1}a:do if((N|0)>0){L=d+(n*72|0)+24|0;M=d+(n*72|0)+32|0;K=(f|0)!=0;G=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;I=Y+8|0;g=0;f=0;H=N;while(1){k=d+(H*72|0)|0;D=d+(H*72|0)+24|0;if(!(JV(D,L)|0))break a;m=d+(H*72|0)+56|0;C=c[m>>2]|0;o=IV()|0;p=IV()|0;c[e+(C*40|0)>>2]=1;c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=o;c[e+(C*40|0)+36>>2]=p;c[e+(o*40|0)>>2]=3;c[e+(o*40|0)+24>>2]=H;c[e+(o*40|0)+28>>2]=C;c[e+(p*40|0)>>2]=3;E=HV(d)|0;c[e+(p*40|0)+24>>2]=E;J=d+(E*72|0)|0;c[d+(E*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=C;g=(H|0)==(N|0)?E:g;C=d+(H*72|0)+32|0;if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0)f=E;r=J;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));c[m>>2]=o;c[d+(E*72|0)+56>>2]=p;z=d+(H*72|0)+48|0;k=c[z>>2]|0;q=(k|0)<1;m=d+(H*72|0)+52|0;if(q?(c[m>>2]|0)<1:0)break;A=d+(E*72|0)+48|0;r=d+(H*72|0)+64|0;p=d+(E*72|0)+44|0;o=d+(E*72|0)+52|0;v=d+(H*72|0)+60|0;w=d+(E*72|0)+60|0;y=d+(E*72|0)+40|0;x=d+(H*72|0)+44|0;B=d+(H*72|0)+40|0;do if((k|0)>0?(c[m>>2]|0)<1:0){k=c[B>>2]|0;do if((k|0)>0?(Q=c[x>>2]|0,(Q|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=Q;c[p>>2]=-1;c[x>>2]=-1;c[d+(Q*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=Q;c[x>>2]=-1;c[p>>2]=k;r=E;q=Q;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=52;while(0);do if((O|0)==52){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[z>>2]|0)*72|0)+40>>2]=H;m=o;k=E}else{c[d+((c[A>>2]|0)*72|0)+44>>2]=E;k=H}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[z>>2]|0;break}k=c[z>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(R=c[p>>2]|0,S=(o|0)==(H|0),(R|0)>0):0){c[d+(k*72|0)+60>>2]=S?R:o;c[d+(k*72|0)+64>>2]=S?1:2}c[m>>2]=H;c[p>>2]=E}else O=70;while(0);do if((O|0)==70){O=0;if(q?(c[m>>2]|0)>0:0){k=c[B>>2]|0;do if((k|0)>0?(T=c[x>>2]|0,(T|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=T;c[p>>2]=-1;c[x>>2]=-1;c[d+(T*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=T;c[x>>2]=-1;c[p>>2]=k;r=E;q=T;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=80;while(0);do if((O|0)==80){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=H;k=E}else{c[d+((c[o>>2]|0)*72|0)+44>>2]=E;o=m;k=H}c[o>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(U=c[p>>2]|0,V=(o|0)==(H|0),(U|0)>0):0){c[d+(k*72|0)+60>>2]=V?U:o;c[d+(k*72|0)+64>>2]=V?1:2}c[m>>2]=H;c[p>>2]=E;break}i=+h[C>>3];j=+h[P>>3];s=i-j;u=!(+F(+s)<=1.0e-07);t=+h[X>>3];if(u){h[I>>3]=i;h[Y>>3]=t+s/(+h[_>>3]-j)*(+h[Z>>3]-t);u=(KV(Y,D)|0)!=0}else u=+h[D>>3]>t;k=c[B>>2]|0;do if((k|0)>0?(W=c[x>>2]|0,(W|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=W;c[p>>2]=-1;c[x>>2]=-1;c[d+(W*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=W;c[x>>2]=-1;c[p>>2]=k;r=E;q=W;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=109;while(0);do if((O|0)==109){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=E;c[d+(k*72|0)+44>>2]=-1;c[A>>2]=k;c[o>>2]=-1;c[m>>2]=-1;k=-1}else O=119;do if((O|0)==119){O=0;k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;p=d+(k*72|0)+44|0;if(u){c[p>>2]=E;D=c[m>>2]|0;c[d+(D*72|0)+40>>2]=E;c[d+(D*72|0)+44>>2]=-1;c[m>>2]=-1;break}else{c[p>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=E;c[A>>2]=k;c[o>>2]=-1;k=c[m>>2]|0;break}}while(0)}while(0);c[J>>2]=a;c[d+(H*72|0)+4>>2]=a;if((k|0)>0)H=k;else break a}_3(138727,19,1,c[15715]|0)|0}else{g=0;f=0}while(0);LV(a,N,n,1,d,e);LV(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=$;return}function DV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((EV(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((EV(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function EV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0;p=b+8|0;r=a+8|0;i=d;a:while(1){m=f+(i*40|0)+36|0;d=f+(i*40|0)+32|0;b:do switch(c[f+(i*40|0)>>2]|0){case 3:{s=3;break a}case 2:{g=+h[r>>3];j=+h[f+(i*40|0)+16>>3];k=j+1.0e-07;if(!(g>k)){l=j+-1.0e-07;i=f+(i*40|0)+8|0;if(!(g<l)?+h[a>>3]>+h[i>>3]:0){d=m;break b}if(+F(+(g-j))<=1.0e-07?(n=+h[i>>3],+F(+(+h[a>>3]-n))<=1.0e-07):0){g=+h[p>>3];if(g>k)d=m;else if(!(g<l)?+h[b>>3]>n:0){d=m;break b}}}else d=m;break}case 1:{j=+h[r>>3];i=c[f+(i*40|0)+4>>2]|0;if(+F(+(j-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(o=+h[a>>3],+F(+(o-+h[e+(i*56|0)>>3]))<=1.0e-07):0)g=o;else s=16;do if((s|0)==16){s=0;if(+F(+(j-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(q=+h[a>>3],+F(+(q-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){g=q;break}i=(FV(i,e,a)|0)==0;d=i?m:d;break b}while(0);if(!(+F(+(j-+h[p>>3]))<=1.0e-07)){i=(FV(i,e,b)|0)==0;d=i?m:d;break b}if(!(+h[b>>3]<g))d=m;break}default:{s=23;break a}}while(0);i=c[d>>2]|0}if((s|0)==3)return c[f+(i*40|0)+24>>2]|0;else if((s|0)==23){_3(138661,35,1,c[15715]|0)|0;Aa(138697,138699,349,138711)}return 0}function FV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0,l=0.0;i=+h[b+(a*56|0)+24>>3];j=+h[b+(a*56|0)+8>>3];k=b+(a*56|0)+16|0;b=b+(a*56|0)|0;a=c+8|0;do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[k>>3]>+h[b>>3]:0){g=4;break}f=+h[a>>3];a=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!a){d=e<+h[k>>3]?1.0:-1.0;break}c=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(c){l=+h[k>>3];d=(f-i)*(d-l)-(j-i)*(e-l);break}else{d=e<d?1.0:-1.0;break}}else g=4;while(0);do if((g|0)==4){f=+h[a>>3];g=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!g){d=e<+h[k>>3]?1.0:-1.0;break}g=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(g){d=(f-j)*(+h[k>>3]-d)-(i-j)*(e-d);break}else{d=e<d?1.0:-1.0;break}}while(0);return d>0.0|0}function GV(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function HV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47466]|0;if((b|0)<(c[47465]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[47466]=b+1;l=e;return b|0}else{e=c[15715]|0;c[d>>2]=b;z4(e,138786,d)|0;Aa(138697,138699,88,138824)}return 0}function IV(){var a=0;a=c[47467]|0;if((a|0)<(c[47464]|0)){c[47467]=a+1;return a|0}else{_3(138747,30,1,c[15715]|0)|0;Aa(138697,138699,72,138778)}return 0}function JV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function KV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function LV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(JV(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)+4|0;r=13}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)|0;r=13}while(0);if((r|0)==13){r=0;if((c[d>>2]|0)==(a|0))d=e;else{b=e;continue a}}if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}s=c[f+(d*72|0)+56>>2]|0;e=c[g+(s*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(s|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);s=f+(d*72|0)+24|0;c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[o+12>>2]=c[s+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+F(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function NV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+F(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function OV(a){a=a|0;var b=0;b=HK(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function PV(a,b){a=a|0;b=b|0;if(b){b=OV(b)|0;c[b>>2]=a;a=b}return a|0}function QV(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;l6(b)}while((a|0)!=0);return}function RV(){var a=0;a=HK(1992)|0;if(a|0)c[a>>2]=SV(a)|0;return a|0}function SV(a){a=a|0;var b=0;b=YV(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function TV(a){a=a|0;UV(a,c[a>>2]|0);l6(c[a>>2]|0);l6(a);return 0}function UV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1936|0;h=a+1980|0;i=a+1912|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(UV(a,f),l6(c[e>>2]|0),cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}while(0);return}function VV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)Aa(139182,138832,194,138840);e=c[b+4>>2]|0;if((e|0)<=-1)Aa(138852,138832,195,138840);if(!d)Aa(139124,138832,196,138840);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(hW(d,b+8+(i*20|0)|0)|0)!=0:0){g=VV(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(hW(d,f)|0)!=0:0)e=PV(e,f)|0;g=g+1|0}}while(0);return e|0}function WV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+52|0;k=o+32|0;m=o+16|0;n=o;c[j>>2]=0;if(!((b|0)!=0&(e|0)!=0))Aa(139038,138832,247,138866);if((f|0)>-1?(i=c[e>>2]|0,(c[i+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)Aa(138913,138832,250,138866);g=a+1912|0;h=a+1908|0;if(c[g>>2]|0){p=c[h>>2]|0?a+1924|0:a+1916|0;c[p>>2]=(c[p>>2]|0)+1}if(!(c[h>>2]|0)){p=a+1964|0;c[p>>2]=(c[p>>2]|0)+1}if(!(XV(a,b,d,i,j,f)|0))g=0;else{if(c[g>>2]|0){p=c[h>>2]|0?a+1948|0:a+1944|0;c[p>>2]=(c[p>>2]|0)+1}g=YV(a)|0;p=a+1976|0;c[p>>2]=(c[p>>2]|0)+1;p=c[e>>2]|0;c[g+4>>2]=(c[p+4>>2]|0)+1;$V(m,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];p=k+16|0;c[p>>2]=c[e>>2];bW(a,k,g,0)|0;$V(n,c[j>>2]|0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[p>>2]=c[j>>2];bW(a,k,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=o;return g|0}Aa(138878,138832,248,138866);return 0}function XV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))Aa(138956,138832,311,138970);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=aW(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(XV(a,b,d,c[h>>2]|0,n,g)|0)){gW(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{$V(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;$V(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}else Aa(139015,138832,341,138970);while(0);l=q;return j|0}Aa(138983,138832,312,138970);return 0}function YV(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=k6(1288)|0;ZV(a);return a|0}function ZV(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;_V(a+8+(b*20|0)|0);b=b+1|0}return}function _V(a){a=a|0;dW(a);c[a+16>>2]=0;return}function $V(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)Aa(139182,139021,99,139028);dW(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){gW(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))Aa(139038,139021,125,139045);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=fW(n)|0;gW(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(fW(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)Aa(139204,139021,167,139056);if(!d)Aa(139182,139021,168,139056);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)Aa(139066,139021,178,139056)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)Aa(139079,139021,187,139056);else{iW(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function cW(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))Aa(139083,139021,201,139111);if(!(c[a+8+(b*20|0)+16>>2]|0))Aa(139605,139021,202,139111);else{_V(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function dW(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function eW(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function fW(a){a=a|0;var b=0,d=0,e=0;if(!a)Aa(139124,139126,128,139138);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=S(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function gW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))Aa(139147,139126,195,139155);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function hW(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else Aa(139167,139126,216,139174);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function iW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;if(!b)Aa(139182,139184,40,139194);if(!d)Aa(139204,139184,41,139194);j=a+1912|0;k=a+1908|0;if(c[j>>2]|0){i=c[k>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;jW(a,b,d);d=a+1324|0;kW(a);f=fW(a+1852|0)|0;f=(fW(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[k>>2]|0)==0:0){k=a+1960|0;g[k>>2]=+g[k>>2]+ +((c[a+1320>>2]|0)>>>0)/+(f|0)}k=YV(a)|0;c[e>>2]=k;c[h>>2]=i;c[k+4>>2]=i;lW(a,b,k,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else Aa(139206,139184,86,139194)}function jW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)Aa(139182,139184,106,139593);if(!d)Aa(139204,139184,107,139593);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)Aa(139605,139184,111,139593);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;gW(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=fW(d)|0;ZV(b);l=h;return}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;mW(a);nW(a);s=a+1844|0;q=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){b=c[s>>2]|0;d=c[q>>2]|0;if((d+b|0)>=65)break;h=65-(c[t>>2]|0)|0;b=(b|0)<(h|0);if(b&(d|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;gW(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=fW(i)|0;d=c[o>>2]|0;gW(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=fW(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}oW(a,e,f)}if((r|0)==12){b=(b^1)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))oW(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((d+b|0)!=65)Aa(139349,139184,210,139435);v=c[t>>2]|0;if((b|0)<(v|0)|(d|0)<(v|0))Aa(139446,139184,212,139435);else{l=u;return}}function lW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!b)Aa(139182,139184,297,139246);if(!d)Aa(139256,139184,298,139246);if(!e)Aa(139258,139184,299,139246);else g=0;while(1){if((g|0)>=65){e=14;break}f=c[a+1324+(g<<2)>>2]|0;if(f>>>0>=2){e=9;break}e=a+4+(g*20|0)|0;switch(f|0){case 0:{bW(a,e,b,0)|0;break}case 1:{bW(a,e,d,0)|0;break}default:{}}g=g+1|0}if((e|0)==9)Aa(139260,139184,303,139246);else if((e|0)==14)return}function mW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;eW(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function nW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=fW(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}gW(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=fW(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}oW(a,d,0);oW(a,b,1);l=o;return}function oW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)Aa(139549,139184,257,139584);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{gW(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=fW(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function pW(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1200|0;t=v+800|0;h=v;c[47468]=0;c[47469]=-2;f=t;j=200;n=h;o=0;q=0;g=t;a:while(1){b[g>>1]=o;if((f+(j<<1)+-2|0)>>>0>g>>>0){r=j;s=f;p=h;i=n}else{m=(g-f>>1)+1|0;if(j>>>0>9999){u=96;break}j=j<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(t|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;u=97;break a}case 4:{u=96;break a}case 0:{r=j;s=f;p=e?i+(m<<2)+-4|0:h;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==31){e=0;f=s;u=97;break}e=b[65806+(o<<1)>>1]|0;j=e<<16>>16;k=(q|0)!=0;do if(e<<16>>16!=-82){f=c[47469]|0;if((f|0)==-2){f=EX()|0;c[47469]=f}if((f|0)>=1)if(f>>>0<296)h=d[139624+f>>0]|0;else h=2;else{c[47469]=0;h=0}f=h+j|0;if(f>>>0<=271?(a[139920+f>>0]|0)==(h|0):0){o=a[140192+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;u=23;break}else{c[47469]=-2;h=p+4|0;c[h>>2]=c[47470];k=k?q+-1|0:0;break}}else u=22}else u=22;while(0);if((u|0)==22){u=0;o=a[140464+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(k)if((q|0)==3){f=c[47469]|0;if((f|0)<1)if(!f){e=1;f=s;u=97;break a}else{f=p;break}else{c[47469]=-2;f=p;break}}else f=p;else{c[47468]=(c[47468]|0)+1;KW(142682);f=p}while(0);while(1){if(e<<16>>16==8)break;if((g|0)==(s|0)){e=1;f=s;u=97;break a}e=g+-2|0;f=f+-4|0;g=e;e=b[65806+(b[e>>1]<<1)>>1]|0}h=f+4|0;c[h>>2]=c[47470];e=1;k=3}else u=23}do if((u|0)==23){u=0;m=d[140580+f>>0]|0;e=c[p+(1-m<<2)>>2]|0;h=p+-12|0;j=p+-4|0;k=p+-8|0;do switch(f|0){case 4:{u=26;break a}case 2:{c[47471]=qW(c[j>>2]|0,2)|0;break}case 3:{c[47471]=qW(c[j>>2]|0,1)|0;break}case 5:{e=sW()|0;break}case 8:{tW(c[47472]|0);break}case 9:{uW(c[p>>2]|0);break}case 18:{vW(c[p>>2]|0);break}case 19:{wW();break}case 20:{vW(c[p>>2]|0);break}case 21:{wW();break}case 22:{vW(c[p>>2]|0);break}case 23:{wW();break}case 24:{vW(c[p>>2]|0);break}case 25:{wW();break}case 26:{vW(c[p>>2]|0);break}case 27:{wW();break}case 28:{vW(c[p>>2]|0);break}case 29:{wW();break}case 30:{vW(c[p>>2]|0);break}case 31:{wW();break}case 32:{vW(c[p>>2]|0);break}case 33:{wW();break}case 34:{e=c[j>>2]|0;break}case 35:{e=c[p>>2]|0;break}case 38:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=51;break a}c[(c[p>>2]|0)+80>>2]=c[47473];e=Sz(56092,c[4590]|0)|0;c[(c[p>>2]|0)+84>>2]=e;c[47473]=c[p>>2];c[(c[p>>2]|0)+108>>2]=c[c[47474]>>2];e=c[p>>2]|0;break}case 39:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=56;break a}e=c[47473]|0;c[47473]=c[e+80>>2];break}case 40:{e=c[p>>2]|0;break}case 41:{e=c[j>>2]|0;break}case 42:{e=c[j>>2]|0;break}case 43:{e=c[j>>2]|0;break}case 44:{e=c[j>>2]|0;break}case 45:{e=c[j>>2]|0;break}case 48:{e=c[p>>2]|0;break}case 49:{e=c[p>>2]|0;break}case 50:{a[(c[k>>2]|0)+12>>0]=1;e=c[p>>2]|0;break}case 51:{yW();break}case 52:{e=zW()|0;break}case 53:{e=c[p>>2]|0;break}case 54:{e=c[p>>2]|0;break}case 55:{e=(c[k>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[p>>2]|0;break}case 56:{AW(c[j>>2]|0,c[p>>2]|0,1);break}case 57:{e=c[h>>2]|0;break}case 58:{AW(c[j>>2]|0,c[p>>2]|0,2);break}case 59:{e=c[h>>2]|0;break}case 60:{AW(c[j>>2]|0,c[p>>2]|0,3);break}case 61:{e=c[h>>2]|0;break}case 62:{AW(c[p>>2]|0,sW()|0,2);break}case 63:{e=c[k>>2]|0;break}case 64:{e=c[j>>2]|0;break}case 65:{e=c[p>>2]|0;break}default:{}}while(0);h=0-m|0;p=p+(h<<2)|0;g=g+(h<<1)|0;h=p+4|0;c[p+4>>2]=e;e=(d[140752+f>>0]|0)+-41|0;p=b[g>>1]|0;f=p+(b[66038+(e<<1)>>1]|0)|0;if(f>>>0<272?(a[139920+f>>0]|0)==(p|0):0){e=a[140192+f>>0]|0;k=q;break}e=a[140822+e>>0]|0;k=q}while(0);f=s;j=r;n=i;o=e;q=k;g=g+2|0}if((u|0)==26){rW();e=1;f=s;u=97}else if((u|0)==51){KW(140650);rW();e=1;f=s;u=97}else if((u|0)==56){KW(140701);rW();e=1;f=s;u=97}else if((u|0)==96){KW(140861);e=2;u=97}if((u|0)==97)if((f|0)!=(t|0))l6(f);l=v;return e|0}function qW(b,d){b=b|0;d=d|0;var e=0;e=HK(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function rW(){var a=0,b=0;a=c[47473]|0;b=c[47471]|0;if(b|0){kU(b,1);c[47471]=0}c[14036]=67;while(1){if(!a)break;b=c[a+80>>2]|0;EW(a);a=b}c[14036]=56;c[14045]=68;b=c[47476]|0;eb[c[b>>2]&63](b,0,64)|0;c[14045]=56;c[14054]=69;b=c[47477]|0;eb[c[b>>2]&63](b,0,64)|0;c[14054]=56;HW();return}function sW(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[47477]|0;f=HK(40)|0;if(Uz(c[47476]|0)|0)uW(0);a=Uz(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=HK(a*24|0)|0;a=0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);eb[c[a>>2]&63](e,0,64)|0;return f|0}function tW(b){b=b|0;var d=0,e=0,f=0;e=HK(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=Y3(b)|0;c[e+12>>2]=c[c[47474]>>2];f=c[47476]|0;eb[c[f>>2]&63](f,e,1)|0;return}function uW(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=HK(32)|0;j=c[47476]|0;e=Uz(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=HK(56)|0;b[i+12>>1]=1;h=Y3(195341)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[47474]>>2]}else{b[i+12>>1]=e;c[k>>2]=HK(e*56|0)|0;d=0;e=Qz(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);eb[c[j>>2]&63](j,0,64)|0;k=c[47477]|0;eb[c[k>>2]&63](k,i,1)|0;return}function vW(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=HK(8)|0;f=c[c[47474]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[47475]|0)+144>>2]|0;c[i>>2]=eb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[47474];c[47474]=i;l=j;return}function wW(){var a=0,b=0;b=c[47474]|0;a=c[b+4>>2]|0;l6(b);c[47474]=a;return}function xW(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function yW(){var b=0,d=0,e=0;e=Sz(56128,c[4590]|0)|0;b=c[47473]|0;d=HK(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function zW(){var a=0;a=c[(c[47473]|0)+84>>2]|0;return eb[c[a>>2]&63](a,0,256)|0}function AW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=HK(16)|0;f=c[47473]|0;h=c[f+84>>2]|0;h=c[(eb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;eb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function BW(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function CW(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+8>>2]|0)|0;l6(b);return}function DW(a,b,d){a=a|0;b=b|0;d=d|0;IW(c[b+8>>2]|0);l6(b);return}function EW(a){a=a|0;Oz(c[a+84>>2]|0)|0;hU(a);l6(a);return}function FW(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function GW(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;l6(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}l6(c[h>>2]|0)}l6(d);return}function HW(){var a=0,b=0;a=c[47474]|0;while(1){b=c[a+4>>2]|0;if(!b)break;l6(a);a=b}return}function IW(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{EW(c[d>>2]|0);break}case 2:{iU(c[d>>2]|0);break}default:{}}hU(b);l6(b);return}function JW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[47474]=g;c[47473]=0;c[47471]=0;c[47475]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[47476]=Sz(56164,c[4590]|0)|0;c[47477]=Sz(56200,c[4590]|0)|0;hA(e,128,f+24|0);c[47472]=e;if(!(NW(a,e,d)|0)){pW()|0;c[b>>2]=DX()|0;a=c[47471]|0}else{c[b>>2]=2;a=0}Oz(c[47476]|0)|0;Oz(c[47477]|0)|0;c[47476]=0;c[47477]=0;c[47474]=0;lA(e);l=f;return a|0}function KW(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[189945]|0)){a[189945]=1;f=LW()|0;c[d>>2]=b;c[d+4>>2]=f;dA(1,140878,d)|0;MW()}l=e;return}function LW(){return f_(c[47478]|0)|0}function MW(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[47481]|0;c[b+4>>2]=c[b>>2];d=c[47490]|0;if((d|0)>0){jA(b,c[47488]|0,d)|0;b=c[47481]|0}jA(b,c[47487]|0,c[47489]|0)|0;d=c[47481]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[47481]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[47481]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;dA(3,140894,e)|0;l=f;return}function NW(b,e,f){b=b|0;e=e|0;f=f|0;c[47481]=e;hA(189928,128,0);c[47479]=b;a[189947]=0;a[189944]=0;a[189945]=0;c[47489]=0;c[47490]=0;a[189946]=1;f=f+52|0;e=SY(uK(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[47478]=e;XZ(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);YZ(c[47478]|0,70,27);ZZ(c[47478]|0,71);return 0}function OW(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(C3(d,140906)|0)){c[47470]=SW(e)|0;a[189946]=0;c[47480]=286}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){a[189946]=1;c[47470]=TW(e)|0;c[47480]=287;break}if(!(C3(d,140926)|0)){c[47470]=UW(b,e,0)|0;c[47480]=288;break}if(!(C3(d,140931)|0)){c[47470]=UW(b,0,1)|0;c[47480]=290;break}if(!(C3(d,140947)|0)){c[47470]=UW(b,0,32)|0;c[47480]=295;break}if(!(C3(d,140933)|0)){c[47470]=UW(b,0,4)|0;c[47480]=291;break}if(!(C3(d,140935)|0)){c[47470]=UW(b,0,64)|0;c[47480]=292;break}if(!(C3(d,140937)|0)){c[47470]=UW(b,0,2)|0;c[47480]=289;break}if(!(C3(d,140939)|0)){c[47470]=UW(b,0,8)|0;c[47480]=293;break}if(!(C3(d,140943)|0)){c[47470]=UW(b,0,16)|0;c[47480]=294;break}if(!(C3(d,140949)|0)){VW(e);c[47480]=283;break}if(!(C3(d,140952)|0)){c[47480]=277;break}if(!(C3(d,140955)|0)){c[47480]=280;break}if(!(C3(d,140958)|0)){c[47470]=WW(e)|0;c[47480]=285;break}if(!(C3(d,140921)|0)){c[47480]=262;break}else{RW(d);break}}a[189946]=0;c[47480]=260}while(0);return}function PW(b,d){b=b|0;d=d|0;do if(!(C3(d,140906)|0)){c[47480]=264;a[189946]=1}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){c[47480]=265;a[189946]=0;break}if(!(C3(d,140921)|0)){c[47480]=263;break}if(!(C3(d,140926)|0)){c[47480]=266;break}if(!(C3(d,140931)|0)){c[47480]=270;break}if(!(C3(d,140933)|0)){c[47480]=271;break}if(!(C3(d,140935)|0)){c[47480]=272;break}if(!(C3(d,140937)|0)){c[47480]=269;break}if(!(C3(d,140939)|0)){c[47480]=273;break}if(!(C3(d,140943)|0)){c[47480]=274;break}if(!(C3(d,140947)|0)){c[47480]=275;break}if(!(C3(d,140949)|0)){c[47480]=(c[47480]|0)==283?282:258;break}if(!(C3(d,140952)|0)){c[47480]=(c[47480]|0)==277?276:278;break}if(!(C3(d,140955)|0)){c[47480]=(c[47480]|0)==280?279:281;break}if(!(C3(d,140958)|0)){c[47480]=(c[47480]|0)==285?284:259;break}else{RW(d);break}}c[47480]=261}while(0);return}function QW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[189946]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[47481]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;f=c[47481]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[47480]=267}return}function RW(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[47480]=268;a[189945]=1;f=LW()|0;c[e>>2]=b;c[e+4>>2]=f;dA(1,140962,e)|0;l=d;return}function SW(b){b=b|0;var d=0;d=HK(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;XW(d,56460,22,b,141914);return d|0}function TW(a){a=a|0;var c=0;c=HK(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;XW(c,56284,22,a,141268);return c|0}function UW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)XW(e,56260,3,b,141119);d=c[a+144>>2]|0;e=eb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function VW(a){a=a|0;c[47470]=0;XW(189880,56252,1,a,141055);return}function WW(a){a=a|0;var b=0;b=HK(40)|0;XW(b,56236,2,a,141001);return b|0}function XW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e6(m,e,f,8,104)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;dA(0,141007,n)|0;i=1}else{i=vb[c[j+4>>2]&127](b,i)|0;i=(d[189944]|0|i)&255}a[189944]=i;g=g+8|0}l=o;return}function YW(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ZW(a,b){a=a|0;b=b|0;c[a+36>>2]=Y3(b)|0;return 0}function _W(a,b){a=a|0;b=b|0;c[a+32>>2]=Y3(b)|0;return 0}function $W(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=(a2(a[d>>0]|0)|0)<<24>>24;f=d+1|0;switch(e|0){case 82:{if(!(C3(f,141066)|0)){c[b>>2]=114;b=0}else h=4;break}case 76:{h=5;break}default:h=4}do if((h|0)==4)if(!(C3(f,141071)|0))h=5;else{if((e|0)!=67?(C3(f,141075)|0)==0:0){c[g>>2]=d;dA(0,141081,g)|0;b=1;break}c[b>>2]=110;b=0}while(0);if((h|0)==5){c[b>>2]=108;b=0}l=i;return b|0}function aX(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function bX(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function cX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141148,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function dX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=$1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;dA(0,141190,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;dA(0,141229,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;dA(0,141159,h)|0;a=1}while(0);l=k;return a|0}function eX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=9;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=9;break}case 84:{if(!(C3(f,141866)|0)){b[d>>1]=b[d>>1]|6;d=0}else h=9;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=9;break}default:h=9}if((h|0)==9){c[g>>2]=e;dA(0,141870,g)|0;d=1}l=i;return d|0}function fX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|512;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|256;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141821,g)|0;d=1}l=i;return d|0}function gX(a,b){a=a|0;b=b|0;c[a+20>>2]=Y3(b)|0;return 0}function hX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141814,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function iX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141802,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function jX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141790,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function kX(a,b){a=a|0;b=b|0;c[a+24>>2]=Y3(b)|0;return 0}function lX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141745,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141753,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function mX(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;switch((a2(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(C3(f,141694)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else h=5;break}case 70:{if(!(C3(f,141698)|0))a=0;else h=5;break}default:h=5}if((h|0)==5){c[g>>2]=e;dA(0,141703,g)|0;a=1}l=i;return a|0}function nX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141680,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function oX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141673,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function pX(a,b){a=a|0;b=b|0;c[a>>2]=Y3(b)|0;return 0}function qX(a,b){a=a|0;b=b|0;c[a+16>>2]=Y3(b)|0;return 0}function rX(a,b){a=a|0;b=b|0;c[a+4>>2]=Y3(b)|0;return 0}function sX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141628,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141636,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function tX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(R1(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;dA(0,141575,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=(h&65535|f)&65535}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function uX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=Y3(e)|0;g=d+42|0;f=0;e=h;while(1){d=i6(e,141485)|0;if(!d)break;if(((a2(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(C3(e,141488)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(C3(e,141495)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;dA(0,141501,i)|0;f=1;e=0;continue}}if(!(C3(d,141539)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(C3(d,141545)|0?C3(d,141555)|0:0){if(!(C3(d,141561)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(C3(d,141568)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;dA(0,141501,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}l6(h);l=k;return f|0}function vX(a,b){a=a|0;b=b|0;c[a+8>>2]=Y3(b)|0;return 0}function wX(a,b){a=a|0;b=b|0;c[a+12>>2]=Y3(b)|0;return 0}function xX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(C3(f,141431)|0)){b[d>>1]=b[d>>1]|16;d=0}else h=7;break}case 84:{if(!(C3(f,141437)|0)){b[d>>1]=b[d>>1]|8;d=0}else h=7;break}case 77:{if(!(C3(f,141440)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141446,g)|0;d=1}l=i;return d|0}function yX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141425,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function zX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141081,g)|0;d=1}l=i;return d|0}function AX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,142023,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function BX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;dA(0,141983,e)|0;b=1}l=f;return b|0}function CX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;dA(0,141946,e)|0;b=1}l=f;return b|0}function DX(){var b=0;b=(a[189945]|a[189944])<<24>>24;YY(c[47478]|0);lA(189928);return b|0}function EX(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[47480]=0;d=0;a:do{b:do switch(a[189947]|0){case 2:{b=-1;break a}case 0:{a[189947]=1;h=6;b=142035;d=0;break}default:{b=c[47479]|0;if(!(a[b>>0]|0)){a[189947]=2;h=7;b=142042;break b}else{d=FX(b)|0;h=d-b|0;break b}}}while(0);c[47488]=c[47487];c[47490]=c[47489];c[47487]=b;c[47489]=h;e=c[47483]|0;f=e-(c[47482]|0)|0;g=c[47478]|0;if(!f)b=_Z(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[47484]|0)>>>0)b=e;else{iA(189928,1)|0;b=c[47483]|0}a[b>>0]=0;b=c[47482]|0;c[47483]=b;b=_Z(g,b,f,0)|0}if(!((b|0)!=0|(a[189945]|0)!=0)){g=g_(e_(c[47478]|0)|0)|0;h=LW()|0;c[i>>2]=g;c[i+4>>2]=h;dA(1,140878,i)|0;MW();a[189945]=1;c[47480]=268}if(d|0)c[47479]=d;b=c[47480]|0}while((b|0)==0);l=j;return b|0}function FX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;d=b+1|0;f=a[b>>0]|0;a:do if(f<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(h2(b+2|0,142050,2)|0)){e=GX(b+4|0)|0;d=e;e=a[e>>0]|0}else{e=33;h=5}else h=5;b:do if((h|0)==5)while(1){switch(e<<24>>24){case 62:case 0:break b;default:{}}e=d+1|0;d=e;e=a[e>>0]|0;h=5}while(0);if(e<<24>>24==62){d=d+1|0;break}else{dA(0,142053,g)|0;a[189944]=1;break}}else{d=b;while(1){switch(f<<24>>24){case 60:case 0:break a;default:{}}e=d+1|0;if(f<<24>>24==38?(a[e>>0]|0)!=35:0)e=ZP(e,189928)|0;else{d=c[47483]|0;if(d>>>0>=(c[47484]|0)>>>0){iA(189928,1)|0;d=c[47483]|0}c[47483]=d+1;a[d>>0]=f}d=e;f=a[e>>0]|0}}while(0);l=i;return d|0}function GX(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(h2(c,142050,2)|0)==0:0)break;dA(0,142094,i)|0;a[189944]=1}while(0);l=j;return d|0}function HX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=k6(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=IX(f<<4)|0;p=d+12|0;c[p>>2]=IX((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=IX(e)|0;e=IX(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}IY(d)}return d|0}function IX(a){a=a|0;if(!a)a=0;else a=k6(a)|0;return a|0}function JX(a){a=a|0;var b=0,d=0;l6(c[a+8>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){l6(c[b>>2]|0);l6(c[d>>2]|0)}l6(a);return}function KX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=PY(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=PY(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=yY(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=k6(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)Aa(142112,142119,148,142125);if(n|0)l6(n);if(o|0)l6(o);c[g+4>>2]=k;c[g>>2]=i;l6(m);l=p;return 1}function LX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((EY(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function MX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=k6(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=x6(189964,1,j|0,s|0)|0;j=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1)d=D;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ha(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ha(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[47530]=0;o=0;$(115,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue}g=c[47531]|0;d=c[47530]|0;c[47530]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=ia(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,s|0,j|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1)d=D;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[47530];c[f>>2]=c[47531];d=0}l6(s|0);l=u;return d|0}function NX(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];g=d*d+f*f;if(g>1.0e-06){g=+G(+g);h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function OX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47534]|0)<(a|0)){b=c[47531]|0;d=a<<4;if(!b){f=k6(d)|0;c[47531]=f;if(!f){f=c[15715]|0;c[e>>2]=142134;c[e+4>>2]=531;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(189964,1)}}else{e=n6(b,d)|0;c[47531]=e;if(!e){e=c[15715]|0;c[f>>2]=142134;c[f+4>>2]=537;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(189964,1)}}c[47534]=a}l=g;return}function PX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[47533]|0;do if((c[47532]|0)<(e|0)){k=e*40|0;if(!i){i=k6(k)|0;c[47533]=i;if(!i){i=-1;break}}else{i=n6(i,k)|0;c[47533]=i;if(!i){i=-1;break}}c[47532]=e;n=6}else n=6;while(0);if((n|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=j+ +QX(I,J);h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+RX(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];SX(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+TX(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];SX(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];UX(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(VX(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];SX(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];WX(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];SX(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];XX(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[47533]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;W=+h[q+(k*40|0)>>3];T=+YX(W);U=+RX(W);V=+TX(W);W=+ZX(W);h[Q>>3]=T*r+v*U+t*V+W*s;h[n>>3]=W*m+(p*V+(u*U+T*o));S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+QX(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];XX(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];NX(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];XX(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];NX(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];WX(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];NX(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];PX(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];PX(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function QX(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]-+h[a>>3];c=+h[b+8>>3]-+h[a+8>>3];return +(+G(+(d*d+c*c)))}function RX(a){a=+a;var b=0.0;b=1.0-a;return +(b*(a*3.0*b))}function SX(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function TX(a){a=+a;return +((1.0-a)*(a*3.0*a))}function UX(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+96|0;u=G;r=G+80|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=x+ +dY(v,B);J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=A+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=y+ +dY(v,B);L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+eY(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];SX(s,B,I);I=+fY(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];SX(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];WX(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];XX(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=w+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=z+ +dY(v,B);A=p}o=x*y-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(w*y-z*A)/o,n=(z*x-w*A)/o,!(n<=0.0|(m<=0.0|p<1.0e-06))):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+QX(v,B)/3.0;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];SX(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];SX(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function VX(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;h[x>>3]=y+m*w/3.0;h[q>>3]=u+m*p/3.0;h[t>>3]=r-k*s/3.0;h[e>>3]=o-k*n/3.0;h[f>>3]=r;h[g>>3]=o;if(d?(D=+_X(B,4),D<+_X(i,j)+-.001):0){d=0;break}if($X(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function WX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function XX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function YX(a){a=+a;a=1.0-a;return +(a*(a*a))}function ZX(a){a=+a;return +(a*a*a)}function _X(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;f=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];e=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=c+ +G(+(f*f+e*e));d=d+1|0}return +c}function $X(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;x=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=aY(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(y=s*(s*s),v=s*3.0,E=1.0-s,D=E*(s*v),s=E*(v*E),E=E*(E*E),v=E*+h[d>>3]+s*+h[x>>3]+D*+h[z>>3]+y*+h[A>>3],y=E*+h[B>>3]+s*+h[g>>3]+D*+h[i>>3]+y*+h[j>>3],D=v-o,s=y-p,!(D*D+s*s<.001)):0)?(D=v-q,E=y-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function aY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+48|0;A=C+24|0;z=C;B=C+80|0;u=+h[b>>3];s=+h[b+16>>3]-u;t=+h[b+8>>3];o=+h[b+24>>3]-t;c[B>>2]=0;v=y+8|0;f=a+48|0;e=a+56|0;w=y+16|0;i=a+32|0;p=a+40|0;q=a+8|0;x=y+24|0;g=+h[a>>3];j=+h[f>>3];k=+h[i>>3];r=a+24|0;n=a+16|0;m=+h[n>>3];a:do if(!(s==0.0)){o=o/s;bY(+h[q>>3]-o*g,+h[r>>3]-o*m,+h[p>>3]-o*k,+h[e>>3]-o*j,y);h[y>>3]=u*o-t+ +h[y>>3];e=zY(y,A)|0;if((e|0)==4)b=4;else{b=0;while(1){if((b|0)>=(e|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[a>>3],+h[n>>3],+h[i>>3],+h[f>>3],y),t=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-u)/s,t>=0.0&t<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0}}else{bY(g,m,k,j,y);h[y>>3]=+h[y>>3]-u;n=zY(y,A)|0;if(!(o==0.0)){if((n|0)==4){b=4;break}else b=0;while(1){if((b|0)>=(n|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y),u=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-t)/o,u>=0.0&u<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0;break}bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y);h[y>>3]=+h[y>>3]-t;i=zY(y,z)|0;b=(i|0)==4;b:do if((n|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;cY(+h[z+(b<<3)>>3],d,B);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(n|0))break b;cY(+h[A+(b<<3)>>3],d,B);b=b+1|0}}else e=0;while(1){if((e|0)>=(n|0))break b;f=A+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[z+(b<<3)>>3])cY(g,d,B);b=b+1|0}e=e+1|0}}while(0);b=c[B>>2]|0}while(0);l=C;return b|0}function bY(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;c=c*3.0;h[e+24>>3]=b*3.0+d-(c+a);h[e+16>>3]=a*3.0+c-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function cY(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function dY(a,b){a=a|0;b=b|0;return +(+h[a>>3]*+h[b>>3]+ +h[a+8>>3]*+h[b+8>>3])}function eY(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function fY(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function gY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+112|0;G=J+80|0;F=J+64|0;E=J+48|0;I=4;H=k6(40)|0;c[H>>2]=0;x=J+32|0;y=J+16|0;z=J;A=J+96|0;I=x6(190140,1,H|0,I|0)|0;H=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1)e=D;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;$(116,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}c[47574]=0;c[47575]=0;o=0;$(117,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}n=(c[47577]|0)/2|0;c[47578]=n;c[47579]=n+-1;n=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(n|0))break;K=+h[g+(e<<4)>>3];w=i>K;v=w?e:f;e=e+1|0;f=v;i=w?K:i}m=g+(f<<4)|0;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];m=g+(((f|0)==0?n:f)+-1<<4)|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];m=n+-1|0;w=g+(((f|0)==(m|0)?0:f+1|0)<<4)|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];K=+h[y>>3];if((+h[x>>3]==K?K==+h[z>>3]:0)?+h[z+8>>3]>+h[y+8>>3]:0)w=15;else w=12;b:do if((w|0)==12){w=0;o=0;e=aa(39,x|0,y|0,z|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((e|0)==1){g=c[47581]|0;e=c[47582]|0;f=0;while(1){if((f|0)>=(n|0))break b;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)>0?(C=f+-1|0,+h[k>>3]==+h[j+(C<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(C<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+1|0}}else w=15}while(0);c:do if((w|0)==15){w=0;g=c[47581]|0;e=c[47582]|0;f=m;while(1){if((f|0)<=-1)break c;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)<(m|0)?(B=f+1|0,+h[k>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+-1|0}}while(0);o=0;ha(29,e|0,c[47574]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}j=0;e=c[47575]|0;d:while(1){if((j|0)>=(e|0)){u=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ha(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue a}g=g+1|0;e=c[47575]|0}}while(1){if((u|0)>=(e|0))break;o=0;f=ra(105,u|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;u=u+1|0}if((u|0)==(e|0)){e=c[15715]|0;o=0;c[E>>2]=142161;c[E+4>>2]=192;c[E+8>>2]=142172;aa(35,e|0,142142,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=42;break}}v=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=ra(105,k|0,v|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15715]|0;o=0;c[F>>2]=142161;c[F+4>>2]=200;c[F+8>>2]=142205;aa(35,e|0,142142,F|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=49;break}}o=0;e=ra(106,u|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}if(!e){e=c[15715]|0;o=0;c[G>>2]=142161;c[G+4>>2]=207;c[G+8>>2]=142243;aa(35,e|0,142142,G|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=54;break}}s=d+4|0;if((u|0)==(k|0)){o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=57;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=v;c[A+12>>2]=0;o=0;ha(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}c[47580]=c[47578];q=u;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[47584]|0;c[r+(q*52|0)>>2]=2;g=0;while(1){j=g+1|0;if((g|0)>=3){w=65;break}e=c[r+(q*52|0)+4+(g<<4)+12>>2]|0;if(!e){g=j;continue}if((c[e>>2]|0)==1){w=68;break}else g=j}if((w|0)==65){w=0;if((g|0)==3){e=c[47576]|0;k=c[e+(c[47579]<<2)>>2]|0;o=0;e=aa(39,v|0,c[c[e+(c[47578]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else w=68}if((w|0)==68){w=0;m=c[r+(q*52|0)+4+(g<<4)>>2]|0;k=c[r+(q*52|0)+4+(g<<4)+4>>2]|0;o=0;e=aa(39,c[m>>2]|0,c[c[r+(q*52|0)+4+(((j|0)%3|0)<<4)+4>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?m:k;j=j?k:m}do if((q|0)==(u|0)){o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}e=0}else{m=c[47576]|0;if((c[m+(c[47578]<<2)>>2]|0)!=(n|0)?(c[m+(c[47579]<<2)>>2]|0)!=(n|0):0){o=0;j=la(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((j|0)<=(c[47580]|0)){e=0;break}c[47580]=j;e=0;break}o=0;k=la(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((k|0)>=(c[47580]|0)){e=0;break}c[47580]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[47584]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;$(118,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1)e=D;else{w=94;break}}if((w|0)==42)e=-1;else if((w|0)==49)e=-1;else if((w|0)==54){c[d+4>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==57){c[s>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==94){c[s>>2]=e;g=c[47583]|0;while(1){e=e+-1|0;if(!f)break;H=g+(e<<4)|0;G=c[f>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}l6(I|0);l=J;return e|0}function hY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;g=j+48|0;i=j+32|0;h=j+16|0;f=j;if((c[47587]|0)<(a|0)){b=c[47581]|0;d=a<<3;e=a<<2;if(!b){i=k6(d)|0;c[47581]=i;if(!i){i=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=523;c[f+8>>2]=142411;z4(i,142142,f)|0;Ca(190140,1)}i=k6(e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=527;c[h+8>>2]=142430;z4(i,142142,h)|0;Ca(190140,1)}}else{h=n6(b,d)|0;c[47581]=h;if(!h){h=c[15715]|0;c[i>>2]=142161;c[i+4>>2]=533;c[i+8>>2]=142450;z4(h,142142,i)|0;Ca(190140,1)}i=n6(c[47582]|0,e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[g>>2]=142161;c[g+4>>2]=539;c[g+8>>2]=142470;z4(i,142142,g)|0;Ca(190140,1)}}c[47587]=a}l=j;return}function iY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47577]|0)<(a|0)){b=c[47576]|0;d=a<<2;if(!b){f=k6(d)|0;c[47576]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=573;c[e+8>>2]=142366;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47576]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=580;c[f+8>>2]=142388;z4(e,142142,f)|0;Ca(190140,1)}}c[47577]=a}l=g;return}function jY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function kY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(sY(e,g,a,b)|0))e=f;else break}tY(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=324;c[h+8>>2]=142306;z4(a,142142,h)|0}else if((b|0)==9)tY(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function lY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[47584]|0;i=h+(a*52|0)|0;j=h+(b*52|0)|0;e=0;while(1){if((e|0)==3)break;k=h+(a*52|0)+4+(e<<4)|0;l=h+(a*52|0)+4+(e<<4)+4|0;m=h+(a*52|0)+4+(e<<4)+12|0;d=0;while(1){if((d|0)==3)break;n=c[c[k>>2]>>2]|0;f=c[c[h+(b*52|0)+4+(d<<4)>>2]>>2]|0;g=c[c[h+(b*52|0)+4+(d<<4)+4>>2]>>2]|0;if((n|0)==(f|0)?(c[c[l>>2]>>2]|0)==(g|0):0)o=9;else o=7;if(((o|0)==7?(o=0,(n|0)==(g|0)):0)?(c[c[l>>2]>>2]|0)==(f|0):0)o=9;if((o|0)==9){c[m>>2]=j;c[h+(b*52|0)+4+(d<<4)+12>>2]=i}d=d+1|0}e=e+1|0}return}function mY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[47584]|0;d=0;e=0;while(1){if((e|0)==3)break;d=((jY(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)+d|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function nY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[47584]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(nY((e-d|0)/52|0,b)|0){d=1;break a}d=c[47584]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function oY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47585]|0)<(a|0)){b=c[47583]|0;d=a<<4;if(!b){f=k6(d)|0;c[47583]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=593;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47583]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=599;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(190140,1)}}c[47585]=a}l=g;return}function pY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[47579]|0;e=c[47578]|0;f=(d|0)>=(e|0);g=b+4|0;if((a|0)==1){if(f)c[g>>2]=c[(c[47576]|0)+(e<<2)>>2];a=e+-1|0;d=190312}else{if(f)c[g>>2]=c[(c[47576]|0)+(d<<2)>>2];a=d+1|0;d=190316}c[d>>2]=a;c[(c[47576]|0)+(a<<2)>>2]=b;return}function qY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[47580]|0;g=c[47576]|0;b=c[47578]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[47579]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function rY(a,b){a=a|0;b=b|0;c[((a|0)==1?190316:190312)>>2]=b;return}function sY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(jY(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((jY(i,j,f)|0)==1){f=jY(j,i,g)|0;g=1;h=5}else f=0;else{f=jY(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(vY(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function tY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[47575]|0;f=c[47586]|0;if((e|0)<(f|0))h=e;else{uY(f+20|0);h=c[47575]|0}g=c[47584]|0;c[47575]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function uY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47586]|0)<(a|0)){b=c[47584]|0;d=a*52|0;if(!b){f=k6(d)|0;c[47584]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=552;c[e+8>>2]=142327;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47584]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=558;c[f+8>>2]=142346;z4(e,142142,f)|0;Ca(190140,1)}}c[47586]=a}l=g;return}function vY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=jY(a,b,c)|0;if((((f|0)!=3?(g=jY(a,b,d)|0,(g|0)!=3):0)?(h=jY(c,d,a)|0,(h|0)!=3):0)?(e=jY(c,d,b)|0,(e|0)!=3):0)a=((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1;else if(((wY(a,b,c)|0)==0?(wY(a,b,d)|0)==0:0)?(wY(c,d,a)|0)==0:0)return (wY(c,d,b)|0)!=0|0;else a=1;return a|0}function wY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((jY(a,b,c)|0)==3)a=(g*e+d*f>=0.0?e*e+f*f<=g*g+d*d:0)&1;else a=0;return a|0}function xY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=k6(d<<2)|0;n=k6((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g<j){h[i>>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}l6(n);return m|0}function yY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];a=i+2|0;if(!(RY(m,b,k,f,h)|0)){m=c[h+24>>2]|0;c[m+(i<<2)>>2]=g;k=i+1|0;c[m+(k<<2)>>2]=d;a=xY(k,i,a,m)|0}else{a=k6(a<<2)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function zY(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=AY(a,b)|0;else{i=+h[a+16>>3]/(d*3.0);e=+h[a+8>>3]/d;g=i*i;d=+h[a>>3]/d+(i*2.0*g-e*i);g=e/3.0-g;e=d*d;g=e+g*(g*(g*4.0));a=b+16|0;f=-d;c=b+8|0;if(!(g<0.0)){d=(+G(+g)-d)*.5;e=+U3(d);d=e+ +U3(f-d);h[b>>3]=d;d=d*-.5;if(g>0.0)a=1;else{h[a>>3]=d;h[c>>3]=d;a=3}}else{f=+O(+(+G(+-g)),+f);g=+U3(+G(+(e-g))*.5)*2.0;h[b>>3]=g*+I(+(f/3.0));h[c>>3]=g*+I(+((f+3.141592653589793+3.141592653589793)/3.0));h[a>>3]=g*+I(+((f+-3.141592653589793+-3.141592653589793)/3.0));a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-i;c=c+1|0}}while(0);return a|0}function AY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+G(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=BY(a,b)|0;while(0);return a|0}function BY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function CY(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function DY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[a+4>>2]|0;l=(f*3|0)+-2|0;e=c[47589]|0;if((l|0)>(c[47588]|0)){d=l<<4;if(!e)d=k6(d)|0;else d=n6(e,d)|0;c[47589]=d;c[47588]=l;k=d;j=d}else{k=e;j=e}i=c[a>>2]|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];I6(k+16|0,i|0,16)|0;a=f+-1|0;d=1;e=2;while(1){f=k+(e<<4)|0;g=k+(e+1<<4)|0;h=i+(d<<4)|0;if((d|0)>=(a|0))break;m=k+(e+2<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];d=d+1|0;e=e+3|0}c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[b+4>>2]=l;c[b>>2]=j;return}function EY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function FY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e<d&d<f))if(f<d)a=d<e;else a=0;else a=1}else{f=+h[a+8>>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f<e&e<d))if(d<e)a=e<f;else a=0;else a=1}return a&1|0}function GY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+32|0;h=m+16|0;g=m;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=EY(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(FY(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=EY(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],FY(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];k=EY(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];f=((S(EY(g,h,i)|0,k)|0)&(S(f,j)|0))>>>31}while(0);l=m;return f|0}function HY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function IY(a){a=a|0;c[a+24>>2]=JY(c[a+4>>2]|0)|0;KY(a);return}function JY(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=k6(e<<2)|0;b=m6(S(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function KY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+LY(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((MY(b,a,m,n,o)|0?MY(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],NY(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+LY(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function LY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+G(+(+HY(g,f)));l=e;return +d}function MY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=OY(k,j,i,h)|0;l=g;return f|0}function NY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(GY(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(GY(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function OY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=EY(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=EY(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(EY(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function PY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;k=t+64|0;j=t+48|0;i=t+32|0;m=t+16|0;p=t;q=c[a+4>>2]|0;r=c[a+8>>2]|0;s=c[a+16>>2]|0;n=c[a+20>>2]|0;o=k6((q<<3)+16|0)|0;if((b|0)==-2222){c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];b=QY(a,k)|0}if((b|0)>-1){f=c[a+12>>2]|0;g=c[f+(b+1<<2)>>2]|0;f=c[f+(b<<2)>>2]|0}else{g=q;f=q}b=0;while(1){if((b|0)>=(f|0)){b=f;break}u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}while(1){if((b|0)>=(g|0)){b=g;break}h[o+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(q|0))break;u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}h[o+(q<<3)>>3]=0.0;h[o+(q+1<<3)>>3]=0.0;l=t;return o|0}function QY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m;e=m+24|0;h=m+16|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(LX(e,f)|0))d=g;else break}l=m;return d|0}function RY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+48|0;k=t+32|0;o=t+16|0;n=t;q=c[f+4>>2]|0;r=c[f+8>>2]|0;p=c[f+16>>2]|0;h=e+1|0;f=f+12|0;g=(e|0)<0;if((b|0)<0)if(g){f=0;e=0;g=0;b=0}else{g=c[f>>2]|0;f=c[g+(h<<2)>>2]|0;e=c[g+(e<<2)>>2]|0;g=0;b=0}else{f=c[f>>2]|0;j=c[f+(b<<2)>>2]|0;i=c[f+(b+1<<2)>>2]|0;if(g){f=i;e=j;g=0;b=0}else{u=(b|0)>(e|0);b=c[f+(e<<2)>>2]|0;g=c[f+(h<<2)>>2]|0;f=u?i:g;e=u?j:b;g=u?g:i;b=u?b:j}}h=0;while(1){if((h|0)>=(b|0)){s=9;break}j=r+(h<<4)|0;u=r+(c[p+(h<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))h=h+1|0;else{f=0;break}}a:do if((s|0)==9){while(1){if((g|0)>=(e|0))break;s=r+(g<<4)|0;u=r+(c[p+(g<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0)){g=g+1|0;s=9}else{f=0;break a}}while(1){if((f|0)>=(q|0)){f=1;break a}s=r+(f<<4)|0;u=r+(c[p+(f<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))f=f+1|0;else{f=0;break}}}while(0);l=t;return f|0}function SY(a){a=a|0;return TY(a,0,0)|0}function TY(a,b,c){a=a|0;b=b|0;c=c|0;return UY(a,b,c,0)|0}function UY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!d){g=k6(500)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=107;c[g+20>>2]=105;d=35;h=6}}else{g=pb[c[d>>2]&63](500)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+380>>2]=16;k=g+12|0;j=pb[d&63](256)|0;d=g+392|0;c[d>>2]=j;h=g+20|0;if(!j){db[c[h>>2]&127](g);g=0;break}i=pb[c[k>>2]&63](1024)|0;j=g+44|0;c[j>>2]=i;if(!i){db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}c[g+48>>2]=i+1024;if(!f){f=VY(k)|0;c[g+356>>2]=f;if(!f){db[c[h>>2]&127](c[j>>2]|0);db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}}else c[g+356>>2]=f;c[g+376>>2]=0;c[g+368>>2]=0;c[g+304>>2]=0;c[g+468>>2]=0;c[g+464>>2]=0;c[g+124>>2]=0;c[g+248>>2]=0;d=g+472|0;a[d>>0]=33;h=g+236|0;a[h>>0]=0;a[g+237>>0]=0;c[g+396>>2]=0;c[g+400>>2]=0;a[g+404>>0]=0;WY(g+416|0,k);WY(g+440|0,k);XY(g,b);if(b|0?(c[g+232>>2]|0)==0:0){YY(g);g=0;break}if(!e){c[g+228>>2]=V_()|0;break}else{a[h>>0]=1;c[g+228>>2]=B0()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function VY(b){b=b|0;var d=0;d=pb[c[b>>2]&63](188)|0;if(d|0){WY(d+80|0,b);WY(d+104|0,b);VZ(d,b);VZ(d+20|0,b);VZ(d+40|0,b);VZ(d+60|0,b);a[d+131>>0]=0;VZ(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function WY(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function XY(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+280>>2]=56;I0(d+256|0);if(!e)e=0;else e=eZ(d+416|0,e)|0;c[d+232>>2]=e;c[d+360>>2]=0;K$(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+316|0;g=d+408|0;c[g>>2]=0;c[g+4>>2]=0;g=d+284|0;f=d+308|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+312>>2]=0;c[d+364>>2]=0;c[d+372>>2]=0;c[d+384>>2]=0;c[d+240>>2]=0;c[d+252>>2]=0;c[d+244>>2]=0;c[d+476>>2]=0;c[d+480>>2]=0;a[d+488>>0]=0;a[d+489>>0]=0;c[d+492>>2]=0;c[d+496>>2]=0;return}function YY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+368|0;g=b+20|0;d=c[b+364>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;db[c[g>>2]&127](c[d+36>>2]|0);ZY(c[d+44>>2]|0,b);db[c[g>>2]&127](d);d=h}e=b+304|0;d=c[b+300>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;db[c[g>>2]&127](d);d=h}d=b+12|0;ZY(c[b+376>>2]|0,b);ZY(c[b+372>>2]|0,b);_Y(b+416|0);_Y(b+440|0);if((a[b+488>>0]|0)==0?(f=c[b+356>>2]|0,f|0):0)$Y(f,(c[b+476>>2]|0)==0&1,d);db[c[g>>2]&127](c[b+392>>2]|0);db[c[g>>2]&127](c[b+464>>2]|0);db[c[g>>2]&127](c[b+8>>2]|0);db[c[g>>2]&127](c[b+44>>2]|0);db[c[g>>2]&127](c[b+396>>2]|0);db[c[g>>2]&127](c[b+240>>2]|0);d=c[b+252>>2]|0;if(d|0)db[d&127](c[b+244>>2]|0);db[c[g>>2]&127](b)}return}function ZY(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;db[c[b>>2]&127](c[a+16>>2]|0);db[c[b>>2]&127](a);a=d}return}function _Y(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function $Y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;aZ(f,g);d=d+8|0;while(1){e=bZ(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;db[c[d>>2]&127](c[e+20>>2]|0)}cZ(a);cZ(a+132|0);cZ(g);cZ(a+40|0);cZ(a+60|0);_Y(a+80|0);_Y(a+104|0);if(b<<24>>24){db[c[d>>2]&127](c[a+184>>2]|0);db[c[d>>2]&127](c[a+164>>2]|0)}db[c[d>>2]&127](a);l=h;return}function aZ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function bZ(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function cZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;db[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}db[f&127](g);return}function dZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=gZ(a)|0;if(!f){c[a+280>>2]=57;f=hZ(a,b,d,e)|0}return f|0}function eZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function fZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;f=c[b>>2]|0;i=a+16|0;j=a+12|0;k=a+8|0;do if(f){g=c[i>>2]|0;if(!g){c[a>>2]=f;c[b>>2]=c[f>>2];c[f>>2]=0;b=f+8|0;c[i>>2]=b;c[k>>2]=(c[f+4>>2]|0)+(f+8);c[j>>2]=b;b=1;break}d=c[k>>2]|0;e=d-g|0;if((e|0)<(c[f+4>>2]|0)){d=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=f;c[b>>2]=d;B6(f+8|0,g|0,e|0)|0;b=c[a>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=7}else{d=c[k>>2]|0;h=7}while(0);a:do if((h|0)==7){e=c[a>>2]|0;f=a+20|0;do if(!e){h=i;b=c[i>>2]|0}else{h=c[i>>2]|0;b=h;if((h|0)!=(e+8|0)){h=i;break}d=d-b<<1;b=vb[c[(c[f>>2]|0)+4>>2]&127](e,d+8|0)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=d;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=b+8+d;b=1;break a}while(0);g=d-b|0;g=(g|0)<1024?1024:g<<1;b=pb[c[c[f>>2]>>2]&63](g+8|0)|0;if(!b)b=0;else{c[b+4>>2]=g;c[b>>2]=c[a>>2];c[a>>2]=b;a=c[j>>2]|0;e=c[i>>2]|0;f=b+8|0;d=a;b=e;if((a|0)!=(e|0)){B6(f|0,e|0,d-b|0)|0;d=c[j>>2]|0;b=c[h>>2]|0}c[j>>2]=f+(d-b);c[i>>2]=f;c[k>>2]=f+g;b=1}}while(0);return b|0}function gZ(b){b=b|0;var d=0;d=b+232|0;if(!(eb[(a[b+236>>0]<<24>>24?40:41)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=UZ(b,c[d>>2]|0)|0;else b=0;return b|0}function hZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=tb[c[i>>2]&127](i,d,e,h)|0;f=iZ(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;l=g;return f|0}function iZ(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;Ha=l;l=l+16|0;wa=Ha;c[wa>>2]=i;s=c[b+356>>2]|0;t=b+144|0;u=b+300|0;if((c[t>>2]|0)==(e|0)){q=b+288|0;r=b+292|0}else{r=c[u>>2]|0;q=r;r=r+4|0}v=b+256|0;w=k<<24>>24!=0;x=b+328|0;y=b+344|0;z=b+136|0;A=b+353|0;xa=b+116|0;oa=b+489|0;ya=b+4|0;B=s+80|0;C=b+340|0;D=b+348|0;E=b+316|0;F=s+168|0;G=s+164|0;za=s+130|0;H=b+352|0;I=b+260|0;J=s+184|0;K=b+476|0;sa=b+492|0;L=s+96|0;M=b+332|0;N=s+160|0;O=b+324|0;P=b+128|0;Q=b+96|0;R=b+464|0;S=s+180|0;Aa=b+108|0;Ba=s+131|0;T=b+132|0;U=b+336|0;Ca=s+129|0;Da=b+360|0;V=b+416|0;W=b+80|0;ta=s+132|0;X=b+320|0;Ea=b+112|0;Y=s+128|0;Z=b+84|0;_=b+428|0;$=b+424|0;aa=s+92|0;ba=b+12|0;ca=b+432|0;da=b+480|0;ea=b+88|0;fa=s+120|0;ga=s+116|0;ha=b+92|0;ia=b+468|0;ja=b+16|0;ka=b+272|0;la=b+120|0;ma=s+176|0;p=e;o=f;e=h;a:while(1){c[q>>2]=o;f=c[wa>>2]|0;c[r>>2]=f;i=f;b:do if((e|0)<1){if(w&(e|0)!=0){n=7;break a}h=0-e|0;switch(e|0){case -1:{i=5;n=278;break a}case 0:{n=9;break a}case -2:{i=6;break a}case -4:{n=10;break a}case -15:{e=h;break b}default:{}}c[wa>>2]=g;e=h;i=g}while(0);m=wb[c[v>>2]&63](v,e,o,i,p)|0;i=p+56|0;f=p+68|0;c:do switch(m|0){case 2:{n=58;break a}case -1:{n=184;break a}case 1:{i=jZ(b,0,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 4:{if(!(c[Z>>2]|0))i=1;else{n=kZ(V,p,o,c[wa>>2]|0)|0;c[X>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];c[x>>2]=0;i=0}c[O>>2]=0;n=272;break}case 7:{i=c[Z>>2]|0;if(!i)n=273;else{fb[i&31](c[ya>>2]|0,c[X>>2]|0,c[O>>2]|0,c[x>>2]|0,1);c[X>>2]=0;lZ(V);i=p}break}case 57:{i=jZ(b,1,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 6:{a[oa>>0]=0;n=mZ(b,ta,75667,36)|0;c[E>>2]=n;if(!n){i=1;n=278;break a}a[Ca>>0]=1;if(!(c[Z>>2]|0))n=33;else{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[ca>>2]=c[_>>2];c[x>>2]=i;i=0;n=34}break}case 14:{n=33;break}case 8:{i=c[X>>2]|0;if(!i)i=1;else{fb[c[Z>>2]&31](c[ya>>2]|0,i,c[O>>2]|0,c[x>>2]|0,0);lZ(V);i=0}if(!((c[O>>2]|0)==0?!(a[oa>>0]|0):0)){f=a[Ca>>0]|0;a[Ca>>0]=1;do if(c[sa>>2]|0?c[Ea>>2]|0:0){h=mZ(b,ta,75667,36)|0;if(!h){i=1;n=278;break a}e=h+20|0;if(!(a[oa>>0]|0))e=c[e>>2]|0;else{m=c[Da>>2]|0;c[e>>2]=m;e=m}a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,e,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;n=278;break a}if(!(a[Ba>>0]|0)){if(c[O>>2]|0)break;a[Ca>>0]=f;break}if(((a[za>>0]|0)==0?(na=c[Aa>>2]|0,na|0):0)?(pb[na&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}}while(0);a[oa>>0]=0}e=c[ea>>2]|0;if(!e)n=272;else{db[e&127](c[ya>>2]|0);i=p}break}case 34:{n=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=n;if(!n){i=1;n=278;break a}else n=80;break}case 22:{n=qZ(b,p,o,c[wa>>2]|0)|0;c[D>>2]=n;if(!n){i=1;n=278;break a}a[H>>0]=0;c[M>>2]=0;a[A>>0]=0;n=80;break}case 23:{a[H>>0]=1;c[M>>2]=142491;n=80;break}case 24:{a[A>>0]=1;c[M>>2]=142497;n=80;break}case 25:{c[M>>2]=142500;n=80;break}case 26:{c[M>>2]=142506;n=80;break}case 27:{c[M>>2]=142513;n=80;break}case 28:{c[M>>2]=142520;n=80;break}case 29:{c[M>>2]=142529;n=80;break}case 30:{c[M>>2]=142537;n=80;break}case 32:case 31:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0){if(!(rZ(V,(c[M>>2]|0)==0?((m|0)==32?142546:142556):142558)|0)){i=1;n=278;break a}if(!(sZ(V,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}c[M>>2]=c[ca>>2];i=p}else n=273;break}case 36:case 35:{if(a[Y>>0]|0){if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,a[A>>0]|0,0,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(pa=c[M>>2]|0,(pa|0)!=0):0){switch(a[pa>>0]|0){case 40:{n=93;break}case 78:{if((a[pa+1>>0]|0)==79)n=93;break}default:{}}if((n|0)==93){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,0,(m|0)==36&1);lZ(V);i=p}else n=273}else n=273;break}case 38:case 37:{if(a[Y>>0]|0){i=c[f>>2]|0;i=uZ(b,p,a[H>>0]|0,o+i|0,(c[wa>>2]|0)+(0-i)|0,B)|0;if(i|0){n=278;break a}e=c[L>>2]|0;c[L>>2]=c[aa>>2];if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,0,e,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(qa=c[M>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{n=108;break}case 78:{if((a[qa+1>>0]|0)==79)n=108;break}default:{}}if((n|0)==108){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,e,(m|0)==38&1);lZ(V);i=p}else n=273}else n=273;break}case 12:{if(a[Y>>0]|0){i=c[f>>2]|0;i=vZ(b,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;e=c[E>>2]|0;f=c[fa>>2]|0;if(e){c[e+4>>2]=f;n=c[ga>>2]|0;c[e+8>>2]=n-f;c[fa>>2]=n;if(!(c[z>>2]|0))e=1;else{c[r>>2]=o;e=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Da>>2]|0,0,0,0);e=0}}else{c[ga>>2]=f;e=1}if(!i){i=e;n=272}else{n=278;break a}}else n=273;break}case 5:{a[oa>>0]=0;a[Ca>>0]=1;if(!(c[Z>>2]|0)){c[O>>2]=75667;i=1}else{n=c[f>>2]|0;n=kZ(V,p,o+n|0,(c[wa>>2]|0)+(0-n)|0)|0;c[O>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=0}if((((a[za>>0]|0)==0?(c[sa>>2]|0)==0:0)?(ra=c[Aa>>2]|0,ra|0):0)?(pb[ra&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}if(!(c[E>>2]|0)){e=mZ(b,ta,75667,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}c[e+24>>2]=0;n=133}else n=133;break}case 13:{i=1;n=133;break}case 15:{if(((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0)?(c[z>>2]|0)!=0:0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=p}else n=273;break}case 16:{if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=kZ(B,p,o,c[wa>>2]|0)|0;c[(c[E>>2]|0)+28>>2]=m;if(!m){i=1;n=278;break a}c[L>>2]=c[aa>>2];if(c[ha>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ub[c[ha>>2]&15](c[ya>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p;break c}if(c[z>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p}else n=273}else n=273;break}case 9:{if(eb[c[p+48>>2]&63](p,o,c[wa>>2]|0)|0){c[E>>2]=0;n=273;break c}if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,s,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=0;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 10:{if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,ta,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=1;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 18:{c[C>>2]=0;c[U>>2]=0;if(!(c[Q>>2]|0))n=273;else{o=kZ(V,p,o,c[wa>>2]|0)|0;c[U>>2]=o;if(!o){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=p}break}case 21:{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}if(!(c[U>>2]|0))n=273;else{i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[C>>2]=i;c[ca>>2]=c[_>>2];i=p}break}case 19:{if((c[U>>2]|0)!=0?(c[Q>>2]|0)!=0:0){i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,i,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 20:{if((c[C>>2]|0)!=0?(c[Q>>2]|0)!=0:0){c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,0,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 58:{if(c[W>>2]|0)wZ(b,p,o,c[wa>>2]|0);i=xZ(b,p,wa,g,j,k)|0;if(i|0){n=278;break a}if(!(c[wa>>2]|0)){n=189;break a}else i=p;break}case 44:{i=c[ia>>2]|0;do if((c[I>>2]|0)>>>0>=i>>>0){if(!i){m=c[ba>>2]|0;c[ia>>2]=32;m=pb[m&63](32)|0;c[R>>2]=m;if(!m){i=1;n=278;break a}else break}h=c[ja>>2]|0;m=c[R>>2]|0;i=i<<1;c[ia>>2]=i;i=vb[h&127](m,i)|0;if(!i){i=1;n=278;break a}c[R>>2]=i;i=c[J>>2]|0;if(i|0){i=vb[c[ja>>2]&127](i,c[ia>>2]<<2)|0;if(!i){i=1;n=278;break a}c[J>>2]=i}}while(0);a[(c[R>>2]|0)+(c[I>>2]|0)>>0]=0;if(a[N>>0]|0){i=zZ(b)|0;if((i|0)<0){i=1;n=278;break a}c[(c[J>>2]|0)+(c[S>>2]<<2)>>2]=i;c[S>>2]=(c[S>>2]|0)+1;c[(c[G>>2]|0)+(i*28|0)>>2]=6;if(c[P>>2]|0)i=p;else n=273}else n=273;break}case 50:{i=(c[R>>2]|0)+(c[I>>2]|0)|0;if((a[i>>0]|0)==124){i=2;n=278;break a}a[i>>0]=44;if((a[N>>0]|0)!=0?(c[P>>2]|0)!=0:0)i=p;else n=273;break}case 49:{e=(c[R>>2]|0)+(c[I>>2]|0)|0;i=a[e>>0]|0;if(i<<24>>24==44){i=2;n=278;break a}if(i<<24>>24==0&(a[N>>0]|0)!=0?(ua=(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[ua>>2]|0)!=3):0){c[ua>>2]=5;i=(c[P>>2]|0)==0&1}else i=1;a[e>>0]=124;n=272;break}case 59:case 60:{a[Ca>>0]=1;if(c[sa>>2]|0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break a}h=mZ(b,ta,e,0)|0;c[aa>>2]=c[L>>2];i=(h|0)!=0;f=(m|0)==60;do if(c[ka>>2]|0){if(!(a[za>>0]|0)){if(a[Ca>>0]|0){n=217;break}}else if(c[u>>2]|0){n=217;break}if(!i){i=11;n=278;break a}if(!(a[h+34>>0]|0)){i=24;n=278;break a}}else n=217;while(0);if((n|0)==217?(n=0,!i):0){a[Y>>0]=a[za>>0]|0;if(!f){n=273;break c}i=c[la>>2]|0;if(!i){n=273;break c}rb[i&127](c[ya>>2]|0,e,1);i=p;break c}e=h+32|0;if(a[e>>0]|0){i=12;n=278;break a}if(c[h+4>>2]|0){i=AZ(b,h,f&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;n=272;break c}else{n=278;break a}}i=c[Ea>>2]|0;if(!i){a[Y>>0]=a[za>>0]|0;n=273;break c}a[Ba>>0]=0;a[e>>0]=1;m=(wb[i&63](c[xa>>2]|0,0,c[h+20>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)==0;a[e>>0]=0;if(m){i=21;n=278;break a}e=a[za>>0]|0;if(!(a[Ba>>0]|0)){a[Y>>0]=e;i=p;break c}else i=0}else{e=a[za>>0]|0;a[Y>>0]=e;i=1}if((e<<24>>24==0?(va=c[Aa>>2]|0,(va|0)!=0):0)?(pb[va&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}else n=272;break}case 40:{if(!(c[P>>2]|0))n=273;else{o=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=o;if(!o){i=1;n=278;break a}c[S>>2]=0;c[ma>>2]=0;a[N>>0]=1;i=p}break}case 42:case 41:{if(!(a[N>>0]|0))n=273;else{if(!(c[P>>2]|0))i=1;else{i=pb[c[ba>>2]&63](20)|0;if(!i){i=1;n=278;break a}n=i+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[i>>2]=(m|0)==41?2:1;c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,i);i=0}a[N>>0]=0;n=272}break}case 43:{if((a[N>>0]|0)!=0?(c[(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[P>>2]|0)!=0):0)i=p;else n=273;break}case 51:{e=0;n=245;break}case 53:{e=1;n=245;break}case 52:{e=2;n=245;break}case 54:{e=3;n=245;break}case 45:{f=0;n=256;break}case 47:{f=1;n=256;break}case 46:{f=2;n=256;break}case 48:{f=3;n=256;break}case 55:{if(!(CZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 56:{if(!(DZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 0:{if((e|0)==14)i=p;else n=273;break}case 3:{if(!(c[Z>>2]|0))n=273;else i=p;break}case 11:{if((a[Y>>0]|0)!=0?(c[z>>2]|0)!=0:0)i=p;else n=273;break}case 17:{if(!(c[Q>>2]|0))n=273;else i=p;break}case 33:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273;break}case 39:{if(!(c[P>>2]|0))n=273;else i=p;break}default:n=273}while(0);if((n|0)==33)if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break}else{i=1;n=34}else if((n|0)==80){n=0;if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273}else if((n|0)==133){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=c[f>>2]|0;m=kZ(B,p,o+m|0,(c[wa>>2]|0)+(0-m)|0)|0;e=c[E>>2]|0;c[e+16>>2]=m;if(!m){i=1;n=278;break}c[e+20>>2]=c[Da>>2];c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}else if((n|0)==245){n=0;if(a[N>>0]|0){i=c[wa>>2]|0;if(e)i=i+(0-(c[f>>2]|0))|0;f=zZ(b)|0;if((f|0)<0){i=1;n=278;break}m=c[G>>2]|0;c[m+(f*28|0)>>2]=4;c[m+(f*28|0)+4>>2]=e;i=pZ(b,p,o,i)|0;if(!i){i=1;n=278;break}e=c[i>>2]|0;c[(c[G>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{m=i;i=i+1|0}while((a[e+m>>0]|0)!=0);c[F>>2]=(c[F>>2]|0)+i;if(c[P>>2]|0)i=p;else n=273}else n=273}else if((n|0)==256)if(a[N>>0]|0){e=(c[P>>2]|0)==0;i=e&1;n=(c[S>>2]|0)+-1|0;c[S>>2]=n;c[(c[G>>2]|0)+((c[(c[J>>2]|0)+(n<<2)>>2]|0)*28|0)+4>>2]=f;if(!n){if(!e){e=BZ(b)|0;if(!e){i=1;n=278;break}c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,e)}a[N>>0]=0;c[F>>2]=0;n=272}else n=272}else n=273;if((n|0)==34){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break}nZ(e);c[(c[E>>2]|0)+24>>2]=e;c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}if((n|0)==272){n=0;if(!(i<<24>>24))i=p;else n=273}if((n|0)==273){n=0;if(!(c[W>>2]|0))i=p;else{wZ(b,p,o,c[wa>>2]|0);i=p}}switch(c[da>>2]|0){case 3:{n=276;break a}case 2:{i=35;n=278;break a}default:{}}e=c[wa>>2]|0;p=i;o=e;e=tb[c[i>>2]&127](i,e,g,wa)|0}d:do if((n|0)==7){c[j>>2]=o;i=0}else if((n|0)==9){c[q>>2]=f;i=4}else if((n|0)==10){if((p|0)==(c[t>>2]|0)){if(!(a[b+488>>0]|0)){i=3;break}}else if(!(a[(c[u>>2]|0)+20>>0]|0)){c[j>>2]=o;i=0;break}if((wb[c[v>>2]&63](v,-4,g,g,p)|0)==-1)i=29;else{c[j>>2]=o;i=0}}else if((n|0)==58){e=b+280|0;do if((a[oa>>0]|0?(Fa=a[Ca>>0]|0,a[Ca>>0]=1,c[sa>>2]|0):0)?c[Ea>>2]|0:0){i=mZ(b,ta,75667,36)|0;if(!i){i=1;break d}Da=c[Da>>2]|0;c[i+20>>2]=Da;a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,Da,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[Ba>>0]|0)){a[Ca>>0]=Fa;break}if(((a[za>>0]|0)==0?(Ga=c[Aa>>2]|0,Ga|0):0)?(pb[Ga&63](c[ya>>2]|0)|0)==0:0){i=22;break d}}while(0);c[e>>2]=58;i=oZ(b,o,g,j)|0}else if((n|0)==184)i=(e|0)==28?10:(e|0)==12?17:2;else if((n|0)==189){c[b+280>>2]=59;i=0}else if((n|0)==276){c[j>>2]=c[wa>>2];i=0}while(0);l=Ha;return i|0}function jZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;m=r+12|0;i=r+8|0;j=r+4|0;k=r;c[q>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;p=b+288|0;g=(d|0)!=0;a:do if(jb[(a[b+236>>0]<<24>>24?1:2)&3](d,c[n>>2]|0,e,f,p,i,j,q,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+356>>2]|0)+130>>0]=1,h=b+492|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;o=b+440|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{wZ(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[q>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=kZ(o,f,d,d+(vb[c[f+32>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+456>>2]=c[b+452>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=kZ(o,i,g,(c[j>>2]|0)+(0-(c[i+68>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}h=(d|0)!=0;do if(!(c[b+232>>2]|0)){g=c[m>>2]|0;if(g|0)if((c[g+68>>2]|0)==(c[(c[n>>2]|0)+68>>2]|0)){c[n>>2]=g;break}else{c[p>>2]=c[q>>2];d=19;break a}g=c[q>>2]|0;if(g|0){if(!h){d=c[n>>2]|0;d=kZ(o,d,g,g+(vb[c[d+32>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=UZ(b,d)|0;lZ(o);if((d|0)!=18)break a;c[p>>2]=c[q>>2];d=18;break a}}while(0);if(h|(e|0)!=0){lZ(o);d=0}else d=0}else d=g?31:30;while(0);l=r;return d|0}function kZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(sZ(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function lZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;d=c[a>>2]|0;a:do if(!b)c[e>>2]=d;else while(1){if(!d)break a;g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}while(0);c[a>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function mZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=e+8|0;n=c[x>>2]|0;z=e+12|0;v=e+4|0;o=(g|0)!=0;y=e+16|0;a:do if(!n)if(o){a[v>>0]=6;c[x>>2]=64;h=pb[c[c[y>>2]>>2]&63](256)|0;c[e>>2]=h;if(!h){c[x>>2]=0;h=0;break}else{u6(h|0,0,256)|0;i=SZ(b,f)|0;i=(c[x>>2]|0)+-1&i;p=26;break}}else h=0;else{w=SZ(b,f)|0;i=n+-1|0;k=c[e>>2]|0;l=w&0-n;m=i>>>2;j=0;i=w&i;while(1){h=c[k+(i<<2)>>2]|0;if(!h)break;if((TZ(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(j<<24>>24))h=(l>>>((d[v>>0]|0)+-1|0)&m|1)&255;else h=j;u=h&255;j=h;i=i-u+(i>>>0<u>>>0?n:0)|0}if(o){h=d[v>>0]|0;if((c[z>>2]|0)>>>(h+-1|0)){i=h+1|0;r=i&255;i=i&255;t=1<<i;s=t+-1|0;h=t<<2;u=pb[c[c[y>>2]>>2]&63](h)|0;if(!u)h=0;else{u6(u|0,0,h|0)|0;p=0-t|0;q=s>>>2;n=i+-1|0;m=c[x>>2]|0;l=0;while(1){if(l>>>0>=m>>>0)break;h=c[(c[e>>2]|0)+(l<<2)>>2]|0;o=h;if(h|0){h=SZ(b,c[h>>2]|0)|0;j=((h&p)>>>n&q|1)&255;h=h&s;i=0;while(1){k=u+(h<<2)|0;if(!(c[k>>2]|0))break;k=i<<24>>24==0?j:i;A=k&255;h=h+(h>>>0<A>>>0?t:0)-A|0;i=k}c[k>>2]=o}l=l+1|0}db[c[(c[y>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=u;a[v>>0]=r;c[x>>2]=t;j=((w&p)>>>n&q|1)&255;i=s&w;h=0;while(1){if(!(c[u+(i<<2)>>2]|0)){p=26;break a}A=h<<24>>24==0?j:h;x=A&255;i=i+(i>>>0<x>>>0?t:0)-x|0;h=A}}}else p=26}else h=0}while(0);if((p|0)==26){h=pb[c[c[y>>2]>>2]&63](g)|0;c[(c[e>>2]|0)+(i<<2)>>2]=h;h=c[(c[e>>2]|0)+(i<<2)>>2]|0;if(!h)h=0;else{u6(h|0,0,g|0)|0;h=(c[e>>2]|0)+(i<<2)|0;c[c[h>>2]>>2]=f;c[z>>2]=(c[z>>2]|0)+1;h=c[h>>2]|0}}return h|0}function nZ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b;c=b;while(1){d=a[h>>0]|0;e=c+-1|0;f=(c|0)!=(b|0);if(!(d<<24>>24))break;g=c+1|0;switch(d<<24>>24|0){case 10:case 13:case 32:{if(f){if((a[e>>0]|0)!=32){a[c>>0]=32;c=g}}else c=b;break}default:{a[c>>0]=d;c=g}}h=h+1|0}if(f)b=(a[e>>0]|0)==32?e:c;a[b>>0]=0;return}function oZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,0,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function pZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+356>>2]|0;e=kZ(g+80|0,b,d,e)|0;do if((e|0)!=0?(f=mZ(a,g+20|0,e,24)|0,(f|0)!=0):0){d=g+92|0;b=g+96|0;if((c[f>>2]|0)==(e|0)){c[b>>2]=c[d>>2];if(!(PZ(a,f)|0)){f=0;break}}else c[d>>2]=c[b>>2]}else f=0;while(0);return f|0}function qZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[b+356>>2]|0;m=j+80|0;o=j+92|0;h=c[o>>2]|0;n=j+88|0;if((h|0)==(c[n>>2]|0))if(!((fZ(m)|0)<<24>>24))g=0;else{h=c[o>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[o>>2]=h+1;a[h>>0]=0;e=kZ(m,d,e,f)|0;if((e|0)!=0?(l=e+1|0,g=mZ(b,j+40|0,l,12)|0,(g|0)!=0):0){k=j+96|0;if((c[g>>2]|0)!=(l|0)){c[o>>2]=c[k>>2];break}h=c[o>>2]|0;c[k>>2]=h;if(a[b+236>>0]|0){d=a[l>>0]|0;i=j+60|0;b:do if(d<<24>>24==120)if((((a[e+2>>0]|0)==109?(a[e+3>>0]|0)==108:0)?(a[e+4>>0]|0)==110:0)?(a[e+5>>0]|0)==115:0){switch(a[e+6>>0]|0){case 0:{h=j+152|0;break}case 58:{h=mZ(b,i,e+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else f=0;while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[l+d>>0]|0}while(1){d=(h|0)==(c[n>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break a}h=c[o>>2]|0}j=a[l+e>>0]|0;c[o>>2]=h+1;a[h>>0]=j;e=e+1|0;h=c[o>>2]|0}if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break}h=c[o>>2]|0}c[o>>2]=h+1;a[h>>0]=0;b=mZ(b,i,c[k>>2]|0,8)|0;c[g+4>>2]=b;h=c[k>>2]|0;if((c[b>>2]|0)==(h|0)){c[k>>2]=c[o>>2];break}else{c[o>>2]=h;break}}}else g=0}while(0);return g|0}function rZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function sZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(fZ(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+60|0;f=a+8|0;while(1){fb[c[d>>2]&31](b,h,e,g,c[f>>2]|0);if((c[h>>2]|0)==(e|0))break;if(!((fZ(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function tZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=b+12|0;m=b+20|0;l=c[n>>2]|0;i=f<<24>>24!=0;a:do if(i|(g|0)!=0){f=0;while(1){if((f|0)>=(l|0))break;if((c[(c[m>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((i?(j=b+8|0,(c[j>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[j>>2]=d;k=8}else k=8}else k=8;while(0);b:do if((k|0)==8){i=b+16|0;do if((l|0)==(c[i>>2]|0)){if(!l){c[i>>2]=8;f=pb[c[h+12>>2]&63](96)|0;c[m>>2]=f;if(!f){f=0;break b}else break}f=vb[c[h+16>>2]&127](c[m>>2]|0,l*24|0)|0;if(!f){f=0;break b}c[i>>2]=l<<1;c[m>>2]=f}else f=c[m>>2]|0;while(0);i=c[n>>2]|0;c[f+(i*12|0)>>2]=d;c[f+(i*12|0)+8>>2]=g;a[f+(i*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=i+1;f=1}while(0);return f|0}function uZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=RZ(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(b|0)!=(c[h+16>>2]|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((fZ(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function vZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+356>>2]|0;D=g+104|0;F=b+276|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(fZ(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+144|0;p=g+116|0;q=g+112|0;r=d+68|0;s=b+488|0;t=b+416|0;u=g+132|0;v=b+432|0;w=b+428|0;x=g+130|0;y=g+128|0;z=b+228|0;A=b+112|0;j=g+131|0;k=b+116|0;m=d+44|0;a:while(1){b:do switch(tb[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=39;break a}case 0:{G=41;break a}case 28:{if((a[s>>0]|0)==0?(c[o>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=kZ(t,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=mZ(b,u,g,0)|0;c[w>>2]=c[v>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=c[h+16>>2]|0;if(!g){a[i>>0]=1;g=c[h+4>>2]|0;g=vZ(b,c[z>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}e=c[A>>2]|0;if(e|0){a[j>>0]=0;a[i>>0]=1;h=(wb[e&63](c[k>>2]|0,0,c[h+20>>2]|0,g,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[j>>0]|0)break b}a[y>>0]=a[x>>0]|0;break}case 6:case 9:{if(!(sZ(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=vb[c[m>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=h_(g,C)|0;if(!h){G=30;break a}else e=0;while(1){if((e|0)>=(h|0))break;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;G=37;break a}g=c[p>>2]|0}i=a[C+e>>0]|0;c[p>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=43;break a}}while(0);if((G|0)==22){G=0;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;break}g=c[p>>2]|0}c[p>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[y>>0]=a[x>>0]|0;g=0}else if((G|0)==11)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+288>>2]=e;g=10}else if((G|0)==27)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==30)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==39)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=4}else g=4;else if((G|0)==41)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=c[B>>2];g=4}else g=4;else if((G|0)==43)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function wZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+72>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+292|0;h=b+288|0}else{h=c[b+300>>2]|0;g=h+4|0}i=b+44|0;j=d+60|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];fb[c[j>>2]&31](d,n,f,o,c[k>>2]|0);c[g>>2]=c[n>>2];b=c[i>>2]|0;rb[c[m>>2]&127](c[e>>2]|0,b,(c[o>>2]|0)-b|0);c[h>>2]=c[n>>2]}while((c[n>>2]|0)!=(f|0))}else rb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function xZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+288|0;c[i>>2]=k;h=a+292|0}else{i=c[a+300>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=tb[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;h=g<<24>>24!=0;switch(n|0){case 42:{if(c[a+80>>2]|0){wZ(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+480>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(h){c[f>>2]=k;e=0}else e=6;break}case -4:case -1:{if(h){c[f>>2]=k;e=0}else e=2;break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function yZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;if(!d){d=c[g>>2]|0;if(!d)d=0;else{c[b+280>>2]=57;d=hZ(b,d,e,f)|0}}l=h;return d|0}function zZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+356>>2]|0;k=j+184|0;f=a+12|0;if(!(c[k>>2]|0)){b=pb[c[f>>2]&63](c[a+468>>2]<<2)|0;c[k>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){i=j+176|0;b=c[i>>2]|0;g=j+172|0;d=c[g>>2]|0;h=j+164|0;e=c[h>>2]|0;if(b>>>0<d>>>0)g=e;else{if(!e){b=pb[c[f>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=vb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[h>>2]=d;b=c[i>>2]|0;g=d}c[i>>2]=b+1;d=c[j+180>>2]|0;if(d|0){a=c[(c[k>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}k=g+(b*28|0)+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0}while(0);return b|0}function AZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;q=b+304|0;f=c[q>>2]|0;if(!f){f=pb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{o=f;g=4}}else{c[q>>2]=c[f+8>>2];o=f;g=4}do if((g|0)==4){j=d+32|0;a[j>>0]=1;k=d+12|0;c[k>>2]=0;m=b+300|0;n=o+8|0;c[n>>2]=c[m>>2];c[m>>2]=o;c[o+12>>2]=d;h=c[b+312>>2]|0;c[o+16>>2]=h;a[o+20>>0]=e;c[o>>2]=0;c[o+4>>2]=0;e=c[d+4>>2]|0;i=e+(c[d+8>>2]|0)|0;f=b+228|0;g=c[f>>2]|0;if(!(a[d+33>>0]|0))f=GZ(b,h,g,e,i,p,0)|0;else{d=tb[c[g>>2]&127](g,e,i,p)|0;f=iZ(b,c[f>>2]|0,e,i,d,c[p>>2]|0,p,0)|0}if(!f){f=c[p>>2]|0;if((i|0)!=(f|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=f-e;c[b+280>>2]=60;f=0;break}a[j>>0]=0;c[m>>2]=c[n>>2];c[n>>2]=c[q>>2];c[q>>2]=o;f=0}}while(0);l=r;return f|0}function BZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+356>>2]|0;f=b+176|0;b=pb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;FZ(a,0,b,d,e)}l=g;return b|0}function CZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{wZ(a,b,d,e);d=1}else{h=b+68|0;g=d+(c[h>>2]<<1)|0;d=g+(vb[c[b+32>>2]&127](b,g)|0)|0;f=a+416|0;g=kZ(f,b,g,d)|0;if((g|0)!=0?(c[a+432>>2]=c[a+428>>2],i=vb[c[b+36>>2]&127](b,d)|0,i=kZ(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){EZ(i);rb[c[j>>2]&127](c[a+4>>2]|0,g,i);lZ(f);d=1}else d=0}return d|0}function DZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{wZ(a,b,d,e);b=1}else{f=a+416|0;h=c[b+68>>2]|0;b=kZ(f,b,d+(h<<2)|0,e+(S(h,-3)|0)|0)|0;if(!b)b=0;else{EZ(b);lb[c[g>>2]&63](c[a+4>>2]|0,b);lZ(f);b=1}}return b|0}function EZ(b){b=b|0;var c=0,d=0,e=0,f=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{f=b;e=13;c=4;break a}default:{}}b=b+1|0}if((c|0)==4){while(1){c=f;f=f+1|0;d=b+1|0;if(e<<24>>24==13){a[c>>0]=10;b=(a[d>>0]|0)==10?b+2|0:d}else{a[c>>0]=e;b=d}e=a[b>>0]|0;if(!(e<<24>>24))break;else c=4}a[f>>0]=0}return}function FZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(c[b+356>>2]|0)+164|0;h=c[k>>2]|0;m=c[h+(d*28|0)>>2]|0;c[e>>2]=m;c[e+4>>2]=c[h+(d*28|0)+4>>2];l=e+12|0;i=e+8|0;j=e+16|0;if((m|0)==4){c[i>>2]=c[g>>2];e=c[h+(d*28|0)+8>>2]|0;while(1){k=a[e>>0]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=k;if(!(a[e>>0]|0))break;else e=e+1|0}c[l>>2]=0;c[j>>2]=0}else{h=c[h+(d*28|0)+20>>2]|0;c[l>>2]=h;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);e=(c[k>>2]|0)+(d*28|0)+12|0;d=0;while(1){e=c[e>>2]|0;if(d>>>0>=h>>>0)break;FZ(b,e,(c[j>>2]|0)+(d*20|0)|0,f,g);e=(c[k>>2]|0)+(e*28|0)+24|0;d=d+1|0;h=c[l>>2]|0}c[i>>2]=0}return}function GZ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=l;l=l+48|0;ja=ma+28|0;_=ma+32|0;ka=ma+24|0;Y=ma;c[ja>>2]=f;Z=c[b+356>>2]|0;if((c[b+144>>2]|0)==(e|0)){ea=b+288|0;$=b+292|0}else{$=c[b+300>>2]|0;ea=$;$=$+4|0}c[ea>>2]=f;t=e+4|0;aa=e+72|0;u=b+56|0;v=b+376|0;ba=b+48|0;ga=b+80|0;w=e+68|0;ca=b+44|0;ha=b+312|0;x=b+52|0;da=e+60|0;y=e+32|0;z=b+104|0;A=b+416|0;B=b+392|0;C=b+368|0;fa=b+60|0;ia=b+4|0;D=b+364|0;E=b+432|0;F=b+428|0;G=b+480|0;H=e+48|0;I=Z+80|0;J=Z+96|0;K=Z+92|0;L=Z+129|0;M=b+120|0;N=b+112|0;O=b+116|0;P=b+308|0;Q=Z+130|0;R=b+12|0;S=b+16|0;T=b+236|0;U=b+237|0;V=b+472|0;W=e+44|0;X=b+72|0;a:while(1){s=c[ja>>2]|0;c[_>>2]=s;s=tb[c[t>>2]&127](e,s,g,_)|0;f=c[_>>2]|0;c[$>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=136;break a}case 9:{s=c[w>>2]|0;s=(eb[c[H>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[fa>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,ka,1);break}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[w>>2]|0;j=kZ(I,e,(c[ja>>2]|0)+j|0,(c[_>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=mZ(b,Z,j,0)|0;c[K>>2]=c[J>>2];f=(k|0)!=0;if((a[L>>0]|0)!=0?(a[Q>>0]|0)==0:0){if(!f){f=c[M>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}}else{if(!f){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[N>>2]|0)){if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}a[f>>0]=1;j=IZ(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(wb[c[N>>2]&63](c[O>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[F>>2]=c[E>>2];break}if(a[P>>0]|0){f=AZ(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[M>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[C>>2]|0;if(!f){f=pb[c[R>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=pb[c[R>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[C>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[D>>2];c[D>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;p=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=p;p=vb[c[y>>2]&127](e,p)|0;c[f+8>>2]=p;c[ha>>2]=(c[ha>>2]|0)+1;q=c[q>>2]|0;p=q+p|0;c[Y>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){fb[c[da>>2]&31](e,Y,p,ka,j+-1|0);j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((c[Y>>2]|0)==(p|0))break;k=(c[r>>2]|0)-k<<1;j=vb[c[S>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;m=j+k|0;c[r>>2]=m;c[ka>>2]=j+n;j=m}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=JZ(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[x>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[s>>2]|0,c[B>>2]|0);lZ(A);break}case 3:case 4:{s=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;s=kZ(A,e,s,s+(vb[c[y>>2]&127](e,s)|0)|0)|0;c[Y>>2]=s;if(!s){f=1;la=93;break a}c[E>>2]=c[F>>2];f=JZ(b,e,c[ja>>2]|0,Y,ka)|0;if(f|0){la=93;break a}c[E>>2]=c[F>>2];f=c[x>>2]|0;if(!f)j=1;else{rb[f&127](c[ia>>2]|0,c[Y>>2]|0,c[B>>2]|0);j=0}f=c[u>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{if(c[x>>2]|0){c[ea>>2]=c[$>>2];f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[Y>>2]|0)}lZ(A);f=c[ka>>2]|0;while(1){if(!f)break;j=c[z>>2]|0;if(j|0)lb[j&63](c[ia>>2]|0,c[c[f>>2]>>2]|0);s=c[f+4>>2]|0;c[ka>>2]=s;c[f+4>>2]=c[v>>2];c[v>>2]=f;c[(c[f>>2]|0)+4>>2]=c[f+8>>2];f=s}if(!(c[ha>>2]|0)){la=95;break a}break}case 5:{if((c[ha>>2]|0)==(d|0)){f=13;break a}o=c[D>>2]|0;c[D>>2]=c[o>>2];c[o>>2]=c[C>>2];c[C>>2]=o;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=vb[c[y>>2]&127](e,f)|0;if((j|0)!=(c[o+8>>2]|0)){la=99;break a}if(g2(c[o+4>>2]|0,f,j)|0){la=99;break a}c[ha>>2]=(c[ha>>2]|0)+-1;f=c[u>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[o+16>>2]|0;n=o+12|0;if((j|0)!=0&(a[T>>0]|0)!=0){f=(c[n>>2]|0)+(c[o+28>>2]|0)|0;while(1){k=a[j>>0]|0;m=f+1|0;if(!(k<<24>>24))break;a[f>>0]=k;f=m;j=j+1|0}j=c[o+20>>2]|0;c:do if((j|0)!=0&(a[U>>0]|0)!=0){a[f>>0]=a[V>>0]|0;f=m;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0;f=f+1|0}}while(0);a[f>>0]=0;f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[n>>2]|0)}j=o+44|0;k=c[j>>2]|0;while(1){if(!k)break;f=c[z>>2]|0;if(!f)f=k;else{lb[f&63](c[ia>>2]|0,c[c[k>>2]>>2]|0);f=c[j>>2]|0}s=c[f+4>>2]|0;c[j>>2]=s;c[k+4>>2]=c[v>>2];c[v>>2]=k;c[(c[k>>2]|0)+4>>2]=c[k+8>>2];k=s}if(!(c[ha>>2]|0)){la=119;break a}break}case 10:{f=vb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[fa>>2]|0;if(j|0){r=c[ia>>2]|0;s=h_(f,ka)|0;rb[j&127](r,ka,s);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}case 7:{f=c[fa>>2]|0;if(f|0){a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}else db[f&127](c[ia>>2]|0);f=LZ(b,e,_,g,h,i)|0;if(f|0)break a;if(!(c[_>>2]|0)){la=135;break a}break}case 6:{j=c[fa>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;wZ(b,e,c[ja>>2]|0,k);break b}if(!(a[aa>>0]|0))f=k;else{s=c[ja>>2]|0;rb[j&127](c[ia>>2]|0,s,f-s|0);break b}while(1){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,f,ka,c[ba>>2]|0);c[$>>2]=c[ja>>2];f=c[ca>>2]|0;rb[j&127](c[ia>>2]|0,f,(c[ka>>2]|0)-f|0);f=c[ja>>2]|0;if((f|0)==(c[_>>2]|0))break;c[ea>>2]=f;f=c[_>>2]|0}break}case 11:{if(!(CZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(DZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}while(0);s=c[_>>2]|0;c[ja>>2]=s;c[ea>>2]=s;switch(c[G>>2]|0){case 2:{f=35;break a}case 3:{la=162;break a}default:{}}}switch(la|0){case 6:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[$>>2]=g;f=c[fa>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1)}if(!j)if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ha>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[ea>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{db[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 93:break;case 95:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 99:{c[ea>>2]=f;f=7;break}case 119:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 135:{c[b+280>>2]=61;f=0;break}case 136:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[fa>>2]|0;do if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else if(!(a[aa>>0]|0)){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,g,ka,c[ba>>2]|0);ja=c[ca>>2]|0;rb[c[fa>>2]&127](c[ia>>2]|0,ja,(c[ka>>2]|0)-ja|0);break}else{ka=c[ja>>2]|0;rb[f&127](c[ia>>2]|0,ka,g-ka|0);break}while(0);if(j){c[ea>>2]=g;f=3;break}if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[ea>>2]=g;f=13;break}}case 162:{c[h>>2]=c[_>>2];f=0;break}}l=ma;return f|0}function HZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;n=b+300|0;o=c[n>>2]|0;do if(o){p=c[o+12>>2]|0;j=p+4|0;m=c[j>>2]|0;k=p+12|0;g=m+(c[k>>2]|0)|0;m=m+(c[p+8>>2]|0)|0;q=p+33|0;h=b+228|0;i=c[h>>2]|0;if(!(a[q>>0]|0))g=GZ(b,c[o+16>>2]|0,i,g,m,r,0)|0;else{i=tb[c[i>>2]&127](i,g,m,r)|0;g=iZ(b,c[h>>2]|0,g,m,i,c[r>>2]|0,r,0)|0}if(!g){g=c[r>>2]|0;if((m|0)!=(g|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=g-(c[j>>2]|0);g=0;break}a[p+32>>0]=0;h=o+8|0;c[n>>2]=c[h>>2];g=b+304|0;c[h>>2]=c[g>>2];c[g>>2]=o;g=b+280|0;h=b+144|0;i=c[h>>2]|0;if(!(a[q>>0]|0)){c[g>>2]=58;g=GZ(b,(c[b+476>>2]|0)!=0&1,i,d,e,f,(a[b+484>>0]|0)==0&1)|0;break}else{c[g>>2]=57;g=tb[c[i>>2]&127](i,d,e,r)|0;g=iZ(b,c[h>>2]|0,d,e,g,c[r>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=s;return g|0}function IZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;k=p;i=c[b+356>>2]|0;g=i+156|0;j=b+472|0;n=b+416|0;o=b+428|0;m=b+424|0;a:do if(!(c[g>>2]|0)){d=0;h=11}else{d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;e=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[g>>2]|0)+20>>2]|0)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;h=11;break a}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break a}d=c[o>>2]|0}q=a[(c[(c[g>>2]|0)+16>>2]|0)+f>>0]|0;c[o>>2]=d+1;a[d>>0]=q;f=f+1|0}}while(0);b:do if((h|0)==11){aZ(k,i+60|0);c:while(1){do{e=bZ(k)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[o>>2]|0;f=(d|0)==(c[m>>2]|0);if(!(e<<24>>24))break;if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[g>>0]|0}c[o>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;f=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[h>>2]|0)+20>>2]|0)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}q=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[o>>2]=d+1;a[d>>0]=q;e=e+1|0}}aZ(k,i);d:while(1){do{e=bZ(k)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[f>>0]|0}c[o>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=0;d=c[b+432>>2]|0}while(0);l=p;return d|0}function JZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=c[b+356>>2]|0;k=L+20|0;i=mZ(b,k,c[g>>2]|0,0)|0;K=b+236|0;if(!i){i=eZ(L+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=mZ(b,k,i,24)|0,(j|0)!=0):0)if((a[K>>0]|0)!=0?(PZ(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){w=c[j+12>>2]|0;l=e+40|0;i=b+380|0;s=b+392|0;t=tb[c[l>>2]&127](e,f,c[i>>2]|0,c[s>>2]|0)|0;k=t+w|0;m=c[i>>2]|0;z=b+16|0;if((k|0)>(m|0)){J=k+16|0;c[i>>2]=J;i=vb[c[z>>2]&127](c[s>>2]|0,J<<4)|0;if(!i){i=1;break}c[s>>2]=i;if((t|0)>(m|0))tb[c[l>>2]&127](e,f,t,i)|0}J=c[s>>2]|0;v=j+20|0;G=b+416|0;H=b+432|0;I=b+428|0;q=e+32|0;r=0;p=0;k=0;while(1){if((p|0)>=(t|0))break;o=c[(c[s>>2]|0)+(p<<4)>>2]|0;o=qZ(b,e,o,o+(vb[c[q>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=14;break}a[i>>0]=1;c[J+(r<<2)>>2]=c[o>>2];F=c[s>>2]|0;n=J+(r+1<<2)|0;m=F+(p<<4)+4|0;f=F+(p<<4)+8|0;if(a[F+(p<<4)+12>>0]|0){F=kZ(G,e,c[m>>2]|0,c[f>>2]|0)|0;c[n>>2]=F;if(!F){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(w|0)){i=1;break b}l=c[v>>2]|0;if((o|0)==(c[l+(i*12|0)>>2]|0))break;i=i+1|0}i=a[l+(i*12|0)+4>>0]|0}while(0);i=uZ(b,e,i,c[m>>2]|0,c[f>>2]|0,G)|0;if(i|0)break a;c[n>>2]=c[H>>2]}c[H>>2]=c[I>>2];l=c[o+4>>2]|0;i=r+2|0;do if(l)if(a[o+9>>0]|0){i=QZ(b,l,o,c[n>>2]|0,h)|0;if(!i){i=r;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;break}while(0);r=i;p=p+1|0}if((A|0)==14){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+288>>2]=c[(c[s>>2]|0)+(p<<4)>>2];i=8;break}c[b+384>>2]=r;i=c[j+8>>2]|0;c:do if((i|0)!=0?(u=c[i>>2]|0,(a[u+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(r|0)){p=0;q=k;E=r;break c}if((c[J+(i<<2)>>2]|0)==(u|0)){A=35;break c}i=i+2|0}}else{i=-1;A=35}while(0);if((A|0)==35){c[b+388>>2]=i;p=0;q=k;E=r}while(1){n=J+(E<<2)|0;if((p|0)>=(w|0))break;i=c[v>>2]|0;o=i+(p*12|0)|0;l=c[o>>2]|0;m=(c[l>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(x=i+(p*12|0)+8|0,y=c[x>>2]|0,(y|0)!=0):0){k=c[l+4>>2]|0;i=E+2|0;f=J+(E+1<<2)|0;do if(k)if(a[l+9>>0]|0){i=QZ(b,k,l,y,h)|0;if(!i){k=q;i=E;break d}else break a}else{a[m>>0]=2;k=q+1|0;break}else{a[m>>0]=1;k=q}while(0);c[n>>2]=c[c[o>>2]>>2];c[f>>2]=c[x>>2]}else{k=q;i=E}while(0);p=p+1|0;q=k;E=i}c[n>>2]=0;F=b+472|0;D=b+237|0;e:do if(!q)i=0;else{m=b+400|0;l=c[m>>2]|0;B=b+404|0;i=a[B>>0]|0;k=i&255;C=b+396|0;if(!(q<<1>>k)){i=1<<k;if(!l){k=i;A=52}else{k=i;i=l}}else{do{A=i;i=i+1<<24>>24}while((q>>(A&255)|0)!=0);k=(i&255)>3?i:3;a[B>>0]=k;k=k&255;i=vb[c[z>>2]&127](c[C>>2]|0,12<<k)|0;if(!i){i=1;break a}c[C>>2]=i;k=1<<k;A=52}f:do if((A|0)==52){i=k;while(1){if(!i){i=-1;break f}A=i+-1|0;c[(c[C>>2]|0)+(A*12|0)>>2]=-1;i=A}}while(0);A=i+-1|0;c[m>>2]=A;u=b+496|0;v=L+40|0;w=b+424|0;x=k+-1|0;y=0-k|0;z=x>>>2;i=0;e=q;do{while(1){if((i|0)>=(E|0))break e;t=J+(i<<2)|0;p=c[t>>2]|0;l=p+-1|0;if((a[l>>0]|0)==2)break;a[l>>0]=0;i=i+2|0}m=c[u>>2]|0;a[l>>0]=0;s=c[(c[(mZ(b,v,p,0)|0)+4>>2]|0)+4>>2]|0;if(!s){i=27;break a}n=s+20|0;o=s+16|0;q=m;m=0;while(1){if((m|0)>=(c[n>>2]|0)){l=p;break}f=a[(c[o>>2]|0)+m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}c[I>>2]=l+1;a[l>>0]=f;q=f&255^q*1000003;m=m+1|0}while(1){m=l+1|0;if((a[l>>0]|0)==58)break;else l=m}while(1){n=a[m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0;f=a[m>>0]|0}else f=n;c[I>>2]=l+1;a[l>>0]=f;q=n&255^q*1000003;if(!(a[m>>0]|0))break;else m=m+1|0}o=c[C>>2]|0;p=q&y;l=0;r=q&x;while(1){if((c[o+(r*12|0)>>2]|0)!=(A|0))break;if((q|0)==(c[o+(r*12|0)+4>>2]|0)){m=c[o+(r*12|0)+8>>2]|0;f=c[H>>2]|0;while(1){M=a[f>>0]|0;n=M<<24>>24==0;if(n|M<<24>>24!=(a[m>>0]|0))break;m=m+1|0;f=f+1|0}if(n){i=8;break a}}if(!(l<<24>>24))l=(p>>>((d[B>>0]|0)+-1|0)&z|1)&255;M=l&255;r=r+((r|0)<(M|0)?k:0)-M|0}if(a[D>>0]|0){a[(c[I>>2]|0)+-1>>0]=a[F>>0]|0;m=c[c[s>>2]>>2]|0;while(1){l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}M=a[m>>0]|0;c[I>>2]=l+1;a[l>>0]=M;if(!(a[m>>0]|0))break;else m=m+1|0}}s=c[H>>2]|0;c[H>>2]=c[I>>2];c[t>>2]=s;M=c[C>>2]|0;c[M+(r*12|0)>>2]=A;c[M+(r*12|0)+4>>2]=q;c[M+(r*12|0)+8>>2]=s;e=e+-1|0;i=i+2|0}while((e|0)!=0)}while(0);while(1){if((i|0)>=(E|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[K>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[L+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}m=c[c[i>>2]>>2]|0;if((a[D>>0]|0)==0|(m|0)==0)l=0;else{j=0;while(1){l=j+1|0;if(!(a[m+j>>0]|0))break;else j=l}}c[g+4>>2]=k;o=i+20|0;j=c[o>>2]|0;c[g+16>>2]=j;c[g+8>>2]=m;c[g+20>>2]=l;p=0;while(1){q=p+1|0;if(!(a[k+p>>0]|0))break;else p=q}m=j+l+q|0;f=i+24|0;r=i+16|0;if((m|0)>(c[f>>2]|0)){j=m+24|0;m=pb[c[b+12>>2]&63](j)|0;if(!m){i=1;break}c[f>>2]=j;B6(m|0,c[r>>2]|0,c[o>>2]|0)|0;n=c[r>>2]|0;j=b+364|0;while(1){j=c[j>>2]|0;if(!j)break;f=j+12|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m}db[c[b+20>>2]&127](n);c[r>>2]=m;j=c[o>>2]|0}else m=c[r>>2]|0;j=m+j|0;B6(j|0,k|0,q|0)|0;if(l|0){M=j+p|0;a[M>>0]=a[F>>0]|0;B6(M+1|0,c[c[i>>2]>>2]|0,l|0)|0}c[g>>2]=c[r>>2];i=0}}while(0);return i|0}function KZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+280>>2]=62;k=b+288|0;c[k>>2]=d;m=b+144|0;n=b+292|0;o=b+80|0;i=b+480|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=tb[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)wZ(b,c[m>>2]|0,g,h);break}case 11:{if(!(CZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(DZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){wZ(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function LZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+288|0;c[s>>2]=i;t=b+292|0}else{t=c[b+300>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;m=d+8|0;u=b+4|0;v=b+80|0;n=b+60|0;w=b+480|0;o=d+72|0;p=b+44|0;q=d+60|0;r=b+48|0;a:while(1){k=tb[c[m>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;j=i;b:do switch(k|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[n>>2]|0;if(i|0){a[x>>0]=10;rb[i&127](c[u>>2]|0,x,1);break b}if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j);break}case 6:{k=c[n>>2]|0;if(!k){if(!(c[v>>2]|0))break b;wZ(b,d,c[y>>2]|0,j);break b}if(!(a[o>>0]|0))i=j;else{j=c[y>>2]|0;rb[k&127](c[u>>2]|0,j,i-j|0);break b}while(1){c[x>>2]=c[p>>2];fb[c[q>>2]&31](d,y,i,x,c[r>>2]|0);c[t>>2]=c[z>>2];i=c[p>>2]|0;rb[k&127](c[u>>2]|0,i,(c[x>>2]|0)-i|0);i=c[y>>2]|0;if((i|0)==(c[z>>2]|0))break;c[s>>2]=i;i=c[z>>2]|0}break}default:{A=28;break a}}while(0);k=c[z>>2]|0;c[y>>2]=k;c[s>>2]=k;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j)}else db[i&127](c[u>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function MZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=LZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;do if(!d){d=c[g>>2]|0;if(d){g=b+280|0;if(!(c[b+476>>2]|0)){c[g>>2]=58;d=oZ(b,d,e,f)|0;break}else{c[g>>2]=63;d=NZ(b,d,e,f)|0;break}}else d=0}while(0);l=h;return d|0}function NZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,1,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function OZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+364|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=vb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}B6(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function PZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+356>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=mZ(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function QZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c[d>>2]|0;i=(h|0)!=0;a:do if((a[f>>0]|0)!=0|i^1){b:do if(((i?(a[h>>0]|0)==120:0)?(a[h+1>>0]|0)==109:0)?(a[h+2>>0]|0)==108:0){switch(a[h+3>>0]|0){case 110:break;case 0:{m=1;break b}default:{m=0;break b}}if((a[h+4>>0]|0)==115?(a[h+5>>0]|0)==0:0){h=39;break a}else m=0}else m=0;while(0);n=m<<24>>24!=0;l=1;h=1;i=0;c:while(1){p=n|l^1;while(1){k=a[f+i>>0]|0;j=h<<24>>24!=0;o=i+1|0;if(!(k<<24>>24))break c;do if(j){if((i|0)<=36?k<<24>>24==(a[142560+i>>0]|0):0)break;h=0}else h=0;while(0);if(p){i=o;continue}if((i|0)>29){l=0;i=o;continue c}if(k<<24>>24==(a[142597+i>>0]|0))i=o;else{l=0;i=o;continue c}}}if((m&255|0)!=(j&(i|0)==36&1|0)){h=n?38:40;break}if(!(l&(i|0)==29)){p=b+472|0;n=(a[p>>0]|0)==0?i:o;h=b+376|0;j=c[h>>2]|0;m=n+24|0;do if(!j){h=b+12|0;i=pb[c[h>>2]&63](28)|0;if(!i){h=1;break a}o=pb[c[h>>2]&63](m)|0;c[i+16>>2]=o;if(!o){db[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=m;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=vb[c[b+16>>2]&127](c[k>>2]|0,m)|0;if(!l){h=1;break a}c[k>>2]=l;c[i>>2]=m}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;B6(c[i>>2]|0,f|0,n|0)|0;h=a[p>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+356>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(q=c[b+100>>2]|0,(q|0)!=0):0){rb[q&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}else h=28;while(0);return h|0}function RZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+356>>2]|0;o=d+16|0;p=d+68|0;q=b+144|0;r=h+16|0;s=h+8|0;t=h+12|0;v=b+288|0;w=d+44|0;x=e<<24>>24==0;y=d+48|0;z=b+440|0;A=b+456|0;B=b+452|0;C=(K+80|0)==(h|0);D=K+130|0;E=K+129|0;F=b+272|0;G=b+300|0;H=b+228|0;i=0;a:while(1){b:while(1){switch(tb[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=63;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=23;break b}case -3:{n=24;break b}case 7:case 39:{n=25;break b}case 10:{j=vb[c[w>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;j=1;i=14}else{j=1;i=14}else{if(x&(j|0)==32){k=c[t>>2]|0;if((k|0)==(c[r>>2]|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=h_(j,J)|0;if(!m){if((c[q>>2]|0)!=(d|0)){j=1;i=14;break}c[v>>2]=f;j=1;i=14;break}else k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[p>>2]|0;j=(eb[c[y>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=33;break b}j=c[p>>2]|0;j=kZ(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=63;break a}m=mZ(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[F>>2]|0))if(!m)break b;else break;if(!(a[D>>0]|0)){j=(m|0)!=0;if(!(a[E>>0]|0)){n=47;break}else{u=j;n=49;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=47;break}else{u=j;n=49;break}}}else if(!(a[E>>0]|0))if(!m){i=11;n=63;break a}else{n=48;break}else{j=(m|0)!=0;if(!(a[D>>0]|0)){u=j;n=49;break}else{n=47;break}}while(0);if((n|0)==47)if(j)n=48;else{i=11;n=63;break a}else if((n|0)==49?(n=0,!u):0)break b;if((n|0)==48?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=63;break a}k=m+32|0;if(a[k>>0]|0){n=51;break a}if(c[m+28>>2]|0){n=54;break a}j=c[m+4>>2]|0;if(!j){n=57;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=RZ(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=60;break a}}if(j)break a}if((n|0)==23){n=0;if(!(sZ(h,d,f,c[I>>2]|0)|0)){i=1;n=63;break}}else if((n|0)==24){c[I>>2]=f+(c[p>>2]|0);n=25}else if((n|0)==33){n=0;f=c[t>>2]|0;if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==25){n=0;f=c[t>>2]|0;if(x){if((f|0)==(c[r>>2]|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[v>>2]=c[I>>2];i=4;n=63}else{i=4;n=63}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=4;n=63}else{i=4;n=63}else if((n|0)==51)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=12;n=63}else{i=12;n=63}else if((n|0)==54)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=15;n=63}else{i=15;n=63}else if((n|0)==57)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=16;n=63}else{i=16;n=63}else if((n|0)==60)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=23;n=63}else{i=23;n=63}l=L;return i|0}function SZ(b,d){b=b|0;d=d|0;var e=0;e=c[b+496>>2]|0;b=d;while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;e=d&255^e*1000003;b=b+1|0}return e|0}function TZ(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function UZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(eb[f&63](c[b+248>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=i_()|0;e=pb[f&63](e)|0;c[b+240>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{db[e&127](c[j>>2]|0);e=1}}else{e=tb[(a[b+236>>0]<<24>>24?64:65)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+244>>2]=c[j>>2];c[b+252>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)db[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function VZ(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function WZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+356>>2]|0;m=b+416|0;n=b+428|0;o=b+424|0;p=b+432|0;q=l+152|0;r=b+372|0;j=l+60|0;k=l+80|0;a:while(1){g=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}e=a[g>>0]|0;h=g+1|0;switch(e<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}f=c[n>>2]|0;if((f|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break a}f=c[n>>2]|0;e=a[g>>0]|0}c[n>>2]=f+1;a[f>>0]=e;g=h}if((s|0)==5){s=0;d=c[n>>2]|0;if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;d=mZ(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[g>>0]|0)==0?g:h;c[n>>2]=c[p>>2];continue}d=c[n>>2]|0;if((d|0)==(c[p>>2]|0))f=q;else{if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;f=mZ(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=eZ(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[n>>2]=d}c:while(1){e=a[h>>0]|0;g=(d|0)==(c[o>>2]|0);i=h+1|0;switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break a}d=c[n>>2]|0;e=a[h>>0]|0}c[n>>2]=d+1;a[d>>0]=e;h=i;d=c[n>>2]|0}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;if(QZ(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[n>>2]=c[p>>2];d=(a[h>>0]|0)==0?h:i}return d|0}function XZ(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=(c[d>>2]|0)==(c[a>>2]|0);c[a>>2]=b;if(e)c[d>>2]=b;return}function YZ(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=b;c[a+56>>2]=d;return}function ZZ(a,b){a=a|0;b=b|0;c[a+60>>2]=b;return}function _Z(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+480|0;j=b+284|0;switch(c[i>>2]|0){case 3:{c[j>>2]=33;g=0;break}case 2:{c[j>>2]=36;g=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[j>>2]=1;g=0}else h=7;break}default:h=7}a:do if((h|0)==7){c[i>>2]=1;if(e|0){g=b_(b,e)|0;if(!g){g=0;break}B6(g|0,d|0,e|0)|0;g=c_(b,e,f)|0;break}a[b+484>>0]=f;if(!f)g=1;else{g=b+24|0;f=c[g>>2]|0;d=b+296|0;c[d>>2]=f;h=c[b+28>>2]|0;c[b+40>>2]=h;e=b+280|0;h=tb[c[e>>2]&127](b,f,h,g)|0;c[j>>2]=h;if(h|0){c[b+292>>2]=c[b+288>>2];c[e>>2]=66;g=0;break}switch(c[i>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+52>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+408|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[i>>2]=2;g=1;break a}default:{g=1;break a}}}}while(0);return g|0}function $Z(b){b=b|0;var d=0;d=b+496|0;if(!(c[d>>2]|0))c[d>>2]=d_()|0;if(!(a[b+236>>0]|0))b=1;else b=WZ(b,142627)|0;return b|0}function a_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+284>>2]|0}function b_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=a+284|0;a:do switch(c[a+480>>2]|0){case 3:{c[l>>2]=33;d=0;break}case 2:{c[l>>2]=36;d=0;break}default:{m=a+32|0;k=c[m>>2]|0;p=a+28|0;e=c[p>>2]|0;d=e;if((k-e|0)<(b|0)){q=a+24|0;j=c[q>>2]|0;f=e-j|0;o=a+8|0;g=c[o>>2]|0;r=g;h=j-r|0;i=(h|0)>1024;e=i?1024:h;b=f+b+e|0;do if((b|0)>(k-r|0)){d=k-j|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(b|0));e=pb[c[a+12>>2]&63](d)|0;if(!e){c[l>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[q>>2]|0;b=d;f=(c[p>>2]|0)-b|0;if(!d){d=e+f|0;c[p>>2]=d;c[o>>2]=e;n=14;break}else{n=b-(c[o>>2]|0)|0;n=(n|0)<1024?n:1024;B6(e|0,d+(0-n)|0,n+f|0)|0;db[c[a+20>>2]&127](c[o>>2]|0);c[o>>2]=e;d=e+((c[p>>2]|0)-(c[q>>2]|0))+n|0;c[p>>2]=d;e=e+n|0;n=14;break}}else if(i){d=h-e|0;I6(g|0,g+d|0,e+f|0)|0;e=0-d|0;d=(c[p>>2]|0)+e|0;c[p>>2]=d;e=(c[q>>2]|0)+e|0;n=14}while(0);if((n|0)==14)c[q>>2]=e;c[a+292>>2]=0;c[a+288>>2]=0;c[a+296>>2]=0}}}while(0);return d|0}function c_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=b+480|0;i=b+284|0;switch(c[h>>2]|0){case 3:{c[i>>2]=33;d=0;break}case 2:{c[i>>2]=36;d=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[i>>2]=1;d=0}else f=7;break}default:f=7}a:do if((f|0)==7){c[h>>2]=1;f=b+24|0;k=c[f>>2]|0;g=b+296|0;c[g>>2]=k;l=b+28|0;j=(c[l>>2]|0)+d|0;c[l>>2]=j;c[b+40>>2]=j;l=b+36|0;c[l>>2]=(c[l>>2]|0)+d;a[b+484>>0]=e;d=b+280|0;j=tb[c[d>>2]&127](b,k,j,f)|0;c[i>>2]=j;if(j|0){c[b+292>>2]=c[b+288>>2];c[d>>2]=66;d=0;break}switch(c[h>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[h>>2]=2;d=1;break a}break}default:d=1}l=c[b+144>>2]|0;xb[c[l+52>>2]&31](l,c[g>>2]|0,c[f>>2]|0,b+408|0);c[g>>2]=c[f>>2]}while(0);return d|0}function d_(){var a=0;a=Ya(0)|0;T4(((a|0)==-1&1)+a|0);return U4()|0}function e_(a){a=a|0;return c[a+284>>2]|0}function f_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+288|0;d=c[b>>2]|0;e=a+408|0;if(d|0?(f=a+296|0,g=c[f>>2]|0,d>>>0>=g>>>0):0){a=c[a+144>>2]|0;xb[c[a+52>>2]&31](a,g,d,e);c[f>>2]=c[b>>2]}return (c[e>>2]|0)+1|0}function g_(a){a=a|0;if((a+-1|0)>>>0<40)a=c[56636+(a<<2)>>2]|0;else a=0;return a|0}function h_(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;d=1;break}h=c+1|0;d=b>>>6;e=(b&63|128)&255;if((b|0)<2048){a[c>>0]=d|192;a[h>>0]=e;d=2;break}f=b>>>12;g=c+2|0;d=(d&63|128)&255;if((b|0)<65536){a[c>>0]=f|224;a[h>>0]=d;a[g>>0]=e;d=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[h>>0]=f&63|128;a[g>>0]=d;a[c+3>>0]=e;d=4}else d=0}else d=0;while(0);return d|0}function i_(){return 1912}function j_(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=0;while(1){if((i|0)==368){i=0;break}a[e+i>>0]=a[56800+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56876+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){t=e+376|0;m=e+888|0;n=e+76|0;l=0;while(1){if((l|0)>=256)break;o=c[f+(l<<2)>>2]|0;p=t+(l<<1)|0;q=m+(l<<2)|0;r=m+(l<<2)+1|0;s=n+l|0;do if((o|0)==-1){a[s>>0]=1;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0}else{if((o|0)<0){if((o|0)<-4){e=0;break b}a[s>>0]=3-o;a[q>>0]=0;b[p>>1]=0;break}if((o|0)<128){i=a[56876+o>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((o|0)!=(l|0)){e=0;break b}}a[s>>0]=i;a[q>>0]=1;a[r>>0]=o;b[p>>1]=(o|0)==0?-1:o&65535;break}if((k_(o)|0)<0){a[s>>0]=0;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0;break}if((o|0)>65535){e=0;break b}i=o>>>8;j=o>>>5&7;k=1<<(o&31);if(!(c[57168+((d[143937+i>>0]<<3|j)<<2)>>2]&k))i=c[57168+((d[144193+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else i=22;a[s>>0]=i;a[q>>0]=h_(o,r)|0;b[p>>1]=o}while(0);l=l+1|0}c[e+372>>2]=h;c[e+368>>2]=g;if(g|0){c[e+332>>2]=108;c[e+336>>2]=108;c[e+340>>2]=108;c[e+344>>2]=109;c[e+348>>2]=109;c[e+352>>2]=109;c[e+356>>2]=110;c[e+360>>2]=110;c[e+364>>2]=110}c[e+60>>2]=18;c[e+64>>2]=19}while(0);return e|0}function k_(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56876+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function l_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[144193+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function m_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[143937+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function n_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(k_(a)|0)<0;return a&1|0}function o_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+368|0;o=b+888|0;p=b+372|0;k=b+76|0;a:while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;r=d[j>>0]|0;i=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=h_(vb[c[n>>2]&127](c[p>>2]|0,j)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0))break;j=c[e>>2]|0;i=m;j=j+((d[k+(d[j>>0]|0)>>0]|0)+-3)|0}else{if((b|0)>(h-(c[g>>2]|0)|0))break;j=j+1|0}c[e>>2]=j;while(1){j=a[i>>0]|0;r=c[g>>2]|0;c[g>>2]=r+1;a[r>>0]=j;b=b+-1|0;if(!b)continue a;else i=i+1|0}}l=q;return}function p_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=a+376|0;m=a+368|0;n=a+372|0;k=a+76|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;a=b[l+((d[i>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(vb[c[m>>2]&127](c[n>>2]|0,i)|0)&65535;i=c[e>>2]|0;j=(d[k+(d[i>>0]|0)>>0]|0)+-3|0}else j=1;c[e>>2]=i+j;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=a}return}function q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)==(f|0))h=-4;else{q=b+76|0;i=e+1|0;l=b+332|0;m=f;h=(i|0)==(f|0);n=b+340|0;o=b+336|0;k=e+2|0;j=m-e|0;do switch(a[q+(d[e>>0]|0)>>0]|0){case 12:{h=S_(12,b,i,f,g)|0;break a}case 13:{h=S_(13,b,i,f,g)|0;break a}case 2:{if(h){h=-1;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 16:{h=T_(b,k,f,g)|0;break a}case 15:{h=O_(b,k,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=i;h=0;break a}}}case 9:{if(h){c[g>>2]=f;h=-15;break a}else p=13;break}case 10:case 21:{p=13;break}case 30:{h=I_(b,i,f,g)|0;break a}case 35:{c[g>>2]=i;h=38;break a}case 20:{c[g>>2]=i;h=25;break a}case 4:{if(h){h=-26;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){h=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=i;h=23;break a}case 32:{if(h){h=-24;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 33:{c[g>>2]=k;h=36;break a}case 15:{c[g>>2]=k;h=35;break a}case 34:{c[g>>2]=k;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=i;h=24;break a}default:{c[g>>2]=i;h=0;break a}}}case 36:{c[g>>2]=i;h=21;break a}case 11:{c[g>>2]=i;h=17;break a}case 19:{h=U_(b,i,f,g)|0;break a}case 5:{if((j|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0))if(!(vb[c[l>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=k}else{h=18;i=k}break}case 6:{if((j|0)<3){h=-2;break a}i=e+3|0;if(!(vb[c[b+348>>2]&127](b,e)|0))if(!(vb[c[o>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 7:{if((j|0)<4){h=-2;break a}i=e+4|0;if(!(vb[c[b+352>>2]&127](b,e)|0))if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 24:case 22:{h=18;break}case 23:case 27:case 26:case 25:{h=19;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((p|0)==13){b:while(1){h=e;e=e+1|0;if((e|0)==(f|0)){p=17;break}switch(a[q+(d[e>>0]|0)>>0]|0){case 10:case 21:{p=13;continue b}case 9:break;default:{p=16;break b}}if((h+2|0)==(f|0)){p=16;break}else p=13}if((p|0)==16){c[g>>2]=e;h=15;break}else if((p|0)==17){c[g>>2]=f;h=15;break}}c:while(1){if((i|0)==(f|0)){p=96;break}j=i+1|0;e=m-i|0;switch(a[q+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{p=h;i=j;h=p;continue c}case 29:{p=54;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{p=67;break c}case 34:{p=86;break c}case 33:{p=89;break c}case 15:{p=92;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){p=57;break c}p=h;i=i+2|0;h=p;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,i)|0)){p=61;break c}p=h;i=i+3|0;h=p;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,i)|0)){p=65;break c}p=h;i=i+4|0;h=p;continue c}case 23:{switch(h&63){case 18:break;case 41:{h=19;i=j;continue c}default:{p=h;i=j;h=p;continue c}}if((j|0)==(f|0)){h=-1;break a}h=m-j|0;switch(a[q+(d[j>>0]|0)>>0]|0){case 29:{p=71;break c}case 27:case 26:case 25:case 24:case 22:{h=41;i=i+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){p=75;break c}h=41;i=i+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,j)|0)){p=79;break c}h=41;i=i+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){p=83;break c}h=41;i=i+5|0;continue c}default:{h=19;i=j;continue c}}}default:{p=95;break c}}}switch(p|0){case 54:{c[g>>2]=i;h=0;break a}case 57:{c[g>>2]=i;h=0;break a}case 61:{c[g>>2]=i;h=0;break a}case 65:{c[g>>2]=i;h=0;break a}case 67:{c[g>>2]=i;break a}case 71:{c[g>>2]=j;h=0;break a}case 75:{c[g>>2]=j;h=0;break a}case 79:{c[g>>2]=j;h=0;break a}case 83:{c[g>>2]=j;h=0;break a}case 86:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=32;break a}case 89:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=31;break a}case 92:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=30;break a}case 95:{c[g>>2]=i;h=0;break a}case 96:{h=0-h|0;break a}}}while(0);return h|0}function r_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=e+2|0;k=(i|0)==(f|0);b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 2:{e=L_(b,i,f,g)|0;break a}case 3:{e=H_(b,i,f,g)|0;break a}case 9:{if(k){e=-3;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?j:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 4:{if(k){e=-5;break a}if((a[i>>0]|0)==93){if((j|0)==(f|0)){e=-5;break a}if((a[j>>0]|0)==62){c[g>>2]=j;e=0;break a}}break}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=j;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=44;break}j=i+2|0;e=i+1|0;h=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=43;break c}case 5:{if((h|0)<2){h=29;break c}if(!(vb[c[l>>2]&127](b,i)|0)){i=j;continue c}else{h=29;break c}}case 6:{if((h|0)<3){h=32;break c}if(vb[c[n>>2]&127](b,i)|0){h=32;break c}i=i+3|0;continue c}case 7:{if((h|0)<4){h=36;break c}if(vb[c[o>>2]&127](b,i)|0){h=36;break c}i=i+4|0;continue c}case 4:{if((e|0)==(f|0)){h=43;break c}if((a[e>>0]|0)!=93){i=e;continue c}if((j|0)==(f|0)){h=43;break c}if((a[j>>0]|0)==62){h=42;break c}else{i=e;continue c}}default:{i=e;continue c}}}if((h|0)==29){c[g>>2]=i;e=6;break}else if((h|0)==32){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=i;e=6;break}else if((h|0)==42){c[g>>2]=j;e=0;break}else if((h|0)==43){c[g>>2]=i;e=6;break}else if((h|0)==44){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0} -function s_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=(i|0)==(f|0);k=e+2|0;b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 4:{if(j){e=-1;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){e=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;e=40;break a}}break}case 9:{if(j){e=-1;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?k:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=k;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=36;break}e=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{h=34;break c}case 5:{if((e|0)<2){h=27;break c}if(!(vb[c[l>>2]&127](b,i)|0))e=2;else{h=27;break c}break}case 6:{if((e|0)<3){h=30;break c}if(!(vb[c[n>>2]&127](b,i)|0))e=3;else{h=30;break c}break}case 7:{if((e|0)<4){h=33;break c}if(!(vb[c[o>>2]&127](b,i)|0))e=4;else{h=33;break c}break}default:e=1}i=i+e|0}if((h|0)==27){c[g>>2]=i;e=6;break}else if((h|0)==30){c[g>>2]=i;e=6;break}else if((h|0)==33){c[g>>2]=i;e=6;break}else if((h|0)==34){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0}function t_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=b+76|0;p=f;q=b+356|0;r=b+360|0;s=b+364|0;n=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=e+1|0;i=e+2|0;j=(i|0)==(f|0);k=e+3|0;l=p-e|0;m=(h|0)==(f|0);switch(a[o+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{t=14;break a}case 5:{if((l|0)<2){e=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){m=n;e=i;n=m;continue a}else{t=6;break a}}case 6:{if((l|0)<3){e=-2;break a}if(!(vb[c[r>>2]&127](b,e)|0)){m=n;e=k;n=m;continue a}else{t=9;break a}}case 7:{if((l|0)<4){e=-2;break a}if(vb[c[s>>2]&127](b,e)|0){t=12;break a}m=n;e=e+4|0;n=m;continue a}case 2:{if(m){e=-1;break a}if((a[h>>0]|0)!=33){m=n;e=h;n=m;continue a}if(j){e=-1;break a}e=(a[i>>0]|0)==91;n=(e&1)+n|0;e=e?k:i;continue a}case 4:{if(m){e=-1;break a}if((a[h>>0]|0)!=93){m=n;e=h;n=m;continue a}if(j){e=-1;break a}if((a[i>>0]|0)!=62){m=n;e=i;n=m;continue a}if(!n){t=24;break a}n=n+-1|0;e=k;continue a}default:{m=n;e=h;n=m;continue a}}}if((t|0)==6){c[g>>2]=e;e=0}else if((t|0)==9){c[g>>2]=e;e=0}else if((t|0)==12){c[g>>2]=e;e=0}else if((t|0)==14){c[g>>2]=e;e=0}else if((t|0)==24){c[g>>2]=k;e=42}return e|0}function u_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=22;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 2:{k=11;break a}case 10:{k=12;break a}case 9:{k=15;break a}case 21:{k=19;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11){c[g>>2]=h;h=0;break}else if((k|0)==12)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==15){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==19)if((h|0)==(e|0)){c[g>>2]=i;h=39;break}else{c[g>>2]=h;h=6;break}else if((k|0)==22){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function v_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=21;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 30:{k=11;break a}case 10:{k=14;break a}case 9:{k=17;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11)if((h|0)==(e|0)){h=I_(b,i,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=h;h=6;break}else if((k|0)==14)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==17){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==21){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function w_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=b+76|0;a:while(1){f=a[c>>0]|0;b=d+1|0;e=c+1|0;switch(a[g+(f&255)>>0]|0){case 7:{h=3;break}case 6:{b=f;h=5;break}case 5:{b=f;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:if((a[d>>0]|0)==f<<24>>24){d=b;c=e;continue a}else{b=0;break a}default:{h=10;break a}}if((h|0)==3){h=0;if(f<<24>>24!=(a[d>>0]|0)){b=0;break}d=b;c=e;b=a[e>>0]|0;h=5}if((h|0)==5){h=0;e=c+1|0;if(b<<24>>24!=(a[d>>0]|0)){b=0;break}d=d+1|0;c=e;b=a[e>>0]|0}if(b<<24>>24!=(a[d>>0]|0)){b=0;break}if((a[c+1>>0]|0)==(a[d+1>>0]|0)){d=d+2|0;c=c+2|0}else{b=0;break}}b:do if((h|0)==10){b=a[d>>0]|0;if(f<<24>>24==b<<24>>24)b=1;else{switch(a[g+(b&255)>>0]|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}}while(0);return b|0}function x_(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=6;break}if(f){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=f&1;return b|0}function y_(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function z_(b,c){b=b|0;c=c|0;b=b+76|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function A_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=b+76|0;u=0;v=0;b=1;a:while(1){h=e+1|0;s=a[h>>0]|0;t=v+1|0;i=(b|0)!=2;j=(b|0)==2;k=e+2|0;l=(v|0)<(f|0);m=(b|0)==1;n=g+(v<<4)+12|0;o=g+(v<<4)+4|0;p=g+(v<<4)|0;q=(b|0)==0;r=g+(v<<4)+8|0;do switch(a[w+(s&255)>>0]|0){case 5:{if(!q){r=b;s=v;t=u;e=k;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=k;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=k;v=s;u=t;continue a}case 6:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+3|0;v=s;u=t;continue a}case 7:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+4|0;v=s;u=t;continue a}case 24:case 22:case 29:{if(!q){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=h;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=h;v=s;u=t;continue a}case 12:{if(i){if(!l){t=v;u=12;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=12;b=2;e=h;v=t;continue a}if((u|0)!=12){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=12;v=t;b=0;e=h;continue a}c[r>>2]=h;u=12;v=t;b=0;e=h;continue a}case 13:{if(i){if(!l){t=v;u=13;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=13;b=2;e=h;v=t;continue a}if((u|0)!=13){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=13;v=t;b=0;e=h;continue a}c[r>>2]=h;u=13;v=t;b=0;e=h;continue a}case 3:{if(!l){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}a[n>>0]=0;r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}case 21:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!(a[n>>0]|0)){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(((s<<24>>24==32?(h|0)!=(c[o>>2]|0):0)?(x=a[k>>0]|0,x<<24>>24!=32):0)?(d[w+(x&255)>>0]|0)!=(u|0):0){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 10:case 9:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 17:case 11:if(i)break a;else{s=v;t=u;b=2;e=h;v=s;u=t;continue a}default:{r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}}while(0)}return v|0}function B_(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(b*10|0)+-48+(d<<24>>24)|0;d=c+1|0;if((b|0)>=1114112){b=-1;break a}c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=k_(b)|0;return b|0}function C_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c+1|0;f=c+2|0;a:do switch(d-c|0){case 2:{if((a[e>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else g=14;break}case 3:{if(((a[c>>0]|0)==97?(a[e>>0]|0)==109:0)?(a[f>>0]|0)==112:0)b=38;else g=14;break}case 4:{b=c+3|0;switch(a[c>>0]|0){case 113:{if((a[e>>0]|0)!=117){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==116){b=34;break a}else{g=14;break a}}case 97:{if((a[e>>0]|0)!=112){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==115){b=39;break a}else{g=14;break a}}default:{g=14;break a}}}default:g=14}while(0);if((g|0)==14)b=0;return b|0}function D_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+76|0;i=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;e=b+1|0;switch(a[h+(d[b>>0]|0)>>0]|0){case 5:{b=b+2|0;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=e;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;if((e|0)==(f|0))b=f;else b=(a[h+(d[e>>0]|0)>>0]|0)==10?b+2|0:e;c[i>>2]=-1;break}default:b=e}c[i>>2]=(c[i>>2]|0)+1}return}function E_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e+-1|0;g=b+76|0;a:while(1){d=d+1|0;if((d|0)==(h|0)){d=1;break}b=a[d>>0]|0;e=b<<24>>24;switch(a[g+(b&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(b<<24>>24==9){i=7;break a}else continue a;case 22:case 26:{if(b<<24>>24>=0)continue a;break}default:{}}switch(e|0){case 64:case 36:break;default:{i=7;break a}}}if((i|0)==7){c[f>>2]=d;d=0}return d|0}function F_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0))break;c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2)break;c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return}function G_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;while(1){a=c[e>>2]|0;if((a|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;c[e>>2]=a+1;i=d[a>>0]|0;a=c[g>>2]|0;c[g>>2]=a+2;b[a>>1]=i}return}function H_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;i=e+1|0;b:do switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;e=0;break a}case 24:case 22:break;case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+2|0;break b}}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+3|0;break b}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+4|0;break b}}case 19:{e=J_(b,i,f,g)|0;break a}default:{c[g>>2]=e;e=0;break a}}while(0);h=b+332|0;j=b+336|0;k=b+340|0;c:while(1){if((i|0)==(f|0)){e=-1;break a}l=i+1|0;e=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=l;continue c}case 29:{h=21;break c}case 18:{h=34;break c}case 5:{if((e|0)<2){e=-2;break a}if(!(vb[c[h>>2]&127](b,i)|0)){h=24;break c}i=i+2|0;continue c}case 6:{if((e|0)<3){e=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){h=28;break c}i=i+3|0;continue c}case 7:{if((e|0)<4){e=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){h=32;break c}i=i+4|0;continue c}default:{h=35;break c}}}if((h|0)==21){c[g>>2]=i;e=0;break}else if((h|0)==24){c[g>>2]=i;e=0;break}else if((h|0)==28){c[g>>2]=i;e=0;break}else if((h|0)==32){c[g>>2]=i;e=0;break}else if((h|0)==34){c[g>>2]=l;e=9;break}else if((h|0)==35){c[g>>2]=i;e=0;break}}else e=-1;while(0);return e|0}function I_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){o=b+76|0;n=f;h=n-e|0;switch(a[o+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;h=22;break a}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;l=b+336|0;m=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-1;break a}j=i+1|0;h=n-i|0;switch(a[o+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 29:{e=18;break b}case 18:{e=31;break b}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=21;break b}i=i+2|0;continue b}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=25;break b}i=i+3|0;continue b}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,i)|0)){e=29;break b}i=i+4|0;continue b}default:{e=32;break b}}}if((e|0)==18){c[g>>2]=i;h=0;break}else if((e|0)==21){c[g>>2]=i;h=0;break}else if((e|0)==25){c[g>>2]=i;h=0;break}else if((e|0)==29){c[g>>2]=i;h=0;break}else if((e|0)==31){c[g>>2]=j;h=28;break}else if((e|0)==32){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function J_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=a[e>>0]|0;h=e+1|0;if(i<<24>>24==120){h=K_(b,h,f,g)|0;break}b=b+76|0;if((a[b+(i&255)>>0]|0)!=25){c[g>>2]=e;h=0;break}b:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[b+(d[h>>0]|0)>>0]|0){case 25:{h=e;break}case 18:{b=8;break b}default:{b=9;break b}}}if((b|0)==8){c[g>>2]=e;h=10;break}else if((b|0)==9){c[g>>2]=h;h=0;break}}else h=-1;while(0);return h|0}function K_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=b+76|0;if((a[i+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;b=0;break}b=e+1|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=b+1|0;switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 25:{b=h;break}case 18:{e=7;break b}default:{e=8;break b}}}if((e|0)==7){c[g>>2]=h;b=10;break}else if((e|0)==8){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function L_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:do if((e|0)!=(f|0)){r=b+76|0;n=b+344|0;o=f;h=e+1|0;p=b+352|0;q=b+348|0;i=o-e|0;b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:break;case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+2|0;break b}}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+3|0;break b}}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+4|0;break b}}case 16:{if((h|0)==(f|0)){h=-1;break a}e=e+2|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:{h=M_(b,e,f,g)|0;break a}case 20:{h=N_(e,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=O_(b,h,f,g)|0;break a}case 17:{h=P_(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}while(0);k=b+332|0;l=b+336|0;m=b+340|0;i=0;c:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;e=o-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{e=i;h=j;i=e;continue c}case 29:{s=27;break c}case 10:case 9:case 21:{h=j;s=59;break c}case 11:{s=76;break c}case 17:break c;case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){s=30;break c}j=i;h=h+2|0;i=j;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,h)|0)){s=34;break c}j=i;h=h+3|0;i=j;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){s=38;break c}j=i;h=h+4|0;i=j;continue c}case 23:{if(i|0){s=41;break c}if((j|0)==(f|0)){h=-1;break a}e=o-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 29:{s=44;break c}case 24:case 22:{i=1;h=h+2|0;continue c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){s=48;break c}i=1;h=h+3|0;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,j)|0)){s=52;break c}i=1;h=h+4|0;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,j)|0)){s=56;break c}i=1;h=h+5|0;continue c}default:{s=58;break c}}}default:{s=81;break c}}}d:switch(s|0){case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=h;h=0;break a}case 41:{c[g>>2]=h;h=0;break a}case 44:{c[g>>2]=j;h=0;break a}case 48:{c[g>>2]=j;h=0;break a}case 52:{c[g>>2]=j;h=0;break a}case 56:{c[g>>2]=j;h=0;break a}case 58:{c[g>>2]=j;h=0;break a}case 59:{e:while(1){s=0;if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{s=76;break d}case 17:break d;case 10:case 9:case 21:{h=e;s=59;break}case 29:{s=61;break e}case 24:case 22:{h=e;break e}case 5:{s=62;break e}case 6:{s=66;break e}case 7:{s=70;break e}default:{s=74;break e}}}do if((s|0)==61){c[g>>2]=h;h=0;break a}else if((s|0)==62){if((o-h|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+2|0;break}}else if((s|0)==66){if((o-h|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+3|0;break}}else if((s|0)==70){if((o-h|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+4|0;break}}else if((s|0)==74){c[g>>2]=h;h=0;break a}while(0);h=Q_(b,h,f,g)|0;break a}case 81:{c[g>>2]=h;h=0;break a}}if((s|0)==76){c[g>>2]=h+1;h=2;break}e=h+1|0;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=e;h=0;break}else h=-1}else h=-1;while(0);return h|0}function M_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){if((a[e>>0]|0)!=45){c[g>>2]=e;e=0;break}l=b+76|0;m=f;i=b+356|0;j=b+360|0;k=b+364|0;n=e+1|0;b:while(1){if((n|0)==(f|0)){e=-1;break a}e=n+1|0;h=m-n|0;switch(a[l+(d[n>>0]|0)>>0]|0){case 8:case 1:case 0:{h=19;break b}case 5:{if((h|0)<2){e=-2;break a}if(vb[c[i>>2]&127](b,n)|0){h=9;break b}n=n+2|0;continue b}case 6:{if((h|0)<3){e=-2;break a}if(vb[c[j>>2]&127](b,n)|0){h=13;break b}n=n+3|0;continue b}case 7:{if((h|0)<4){e=-2;break a}if(vb[c[k>>2]&127](b,n)|0){h=17;break b}n=n+4|0;continue b}case 27:{if((e|0)==(f|0)){e=-1;break a}if((a[e>>0]|0)==45){h=22;break b}else{n=e;continue b}}default:{n=e;continue b}}}if((h|0)==9){c[g>>2]=n;e=0;break}else if((h|0)==13){c[g>>2]=n;e=0;break}else if((h|0)==17){c[g>>2]=n;e=0;break}else if((h|0)==19){c[g>>2]=n;e=0;break}else if((h|0)==22){e=n+2|0;if((e|0)==(f|0)){e=-1;break}if((a[e>>0]|0)==62){c[g>>2]=n+3;e=13;break}else{c[g>>2]=e;e=0;break}}}else e=-1;while(0);return e|0}function N_(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<6)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}return d|0}function O_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;a:do if((e|0)==(f|0))h=-1;else{r=b+76|0;p=f;h=p-e|0;switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;m=b+336|0;n=b+340|0;h=e+h|0;b:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;i=p-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{h=j;continue b}case 29:{o=17;break b}case 10:case 9:case 21:{o=30;break b}case 15:{o=51;break b}case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){o=20;break b}h=h+2|0;continue b}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){o=24;break b}h=h+3|0;continue b}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){o=28;break b}h=h+4|0;continue b}default:break b}}if((o|0)==17){c[g>>2]=h;h=0;break}else if((o|0)==20){c[g>>2]=h;h=0;break}else if((o|0)==24){c[g>>2]=h;h=0;break}else if((o|0)==28){c[g>>2]=h;h=0;break}else if((o|0)==30){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}k=b+356|0;m=b+360|0;n=b+364|0;c:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;i=p-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 8:case 1:case 0:{o=47;break c}case 5:{if((i|0)<2){h=-2;break a}if(vb[c[k>>2]&127](b,j)|0){o=37;break c}j=j+2|0;continue c}case 6:{if((i|0)<3){h=-2;break a}if(vb[c[m>>2]&127](b,j)|0){o=41;break c}j=j+3|0;continue c}case 7:{if((i|0)<4){h=-2;break a}if(vb[c[n>>2]&127](b,j)|0){o=45;break c}j=j+4|0;continue c}case 15:{if((h|0)==(f|0)){h=-1;break a}if((a[h>>0]|0)==62){o=50;break c}else{j=h;continue c}}default:{j=h;continue c}}}if((o|0)==37){c[g>>2]=j;h=0;break}else if((o|0)==41){c[g>>2]=j;h=0;break}else if((o|0)==45){c[g>>2]=j;h=0;break}else if((o|0)==47){c[g>>2]=j;h=0;break}else if((o|0)==50){c[g>>2]=j+2;h=c[q>>2]|0;break}}else if((o|0)==51){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}if((j|0)==(f|0)){h=-1;break}if((a[j>>0]|0)==62){c[g>>2]=h+2;h=c[q>>2]|0;break}else h=j}c[g>>2]=h;h=0}while(0);l=s;return h|0}function P_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}i=b+332|0;k=b+336|0;l=b+340|0;j=e+h|0;b:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;e=m-j|0;switch(a[n+(d[j>>0]|0)>>0]|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=h;continue b}case 29:{i=17;break b}case 10:case 9:case 21:{i=30;break b}case 11:{i=34;break b}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[i>>2]&127](b,j)|0)){i=20;break b}j=j+2|0;continue b}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,j)|0)){i=24;break b}j=j+3|0;continue b}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){i=28;break b}j=j+4|0;continue b}default:{i=35;break b}}}if((i|0)==17){c[g>>2]=j;h=0;break}else if((i|0)==20){c[g>>2]=j;h=0;break}else if((i|0)==24){c[g>>2]=j;h=0;break}else if((i|0)==28){c[g>>2]=j;h=0;break}else if((i|0)==30){c:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[n+(d[h>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=30;break}case 11:{i=32;break c}default:{i=33;break c}}}if((i|0)==32){c[g>>2]=e;h=5;break}else if((i|0)==33){c[g>>2]=h;h=0;break}}else if((i|0)==34){c[g>>2]=h;h=5;break}else if((i|0)==35){c[g>>2]=j;h=0;break}}else h=-1;while(0);return h|0}function Q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z;c[x>>2]=e;s=b+76|0;t=b+344|0;u=b+348|0;v=f;w=b+352|0;m=b+332|0;n=b+336|0;o=b+340|0;p=b+356|0;q=b+360|0;r=b+364|0;i=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=v-e|0;j=e+1|0;b:do switch(a[s+(d[e>>0]|0)>>0]|0){case 29:{y=4;break a}case 27:case 26:case 25:case 24:case 22:{c[x>>2]=j;k=i;e=j;i=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[m>>2]&127](b,e)|0)){y=8;break a}j=e+2|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){y=12;break a}j=e+3|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){y=16;break a}j=e+4|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 23:{if(i|0){y=19;break a}c[x>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=v-j|0;switch(a[s+(d[j>>0]|0)>>0]|0){case 29:{y=22;break a}case 24:case 22:{k=e+2|0;c[x>>2]=k;i=1;e=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[t>>2]&127](b,j)|0)){y=26;break a}k=e+3|0;c[x>>2]=k;i=1;e=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[u>>2]&127](b,j)|0)){y=30;break a}k=e+4|0;c[x>>2]=k;i=1;e=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[w>>2]&127](b,j)|0)){y=34;break a}k=e+5|0;c[x>>2]=k;i=1;e=k;continue a}default:{y=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[x>>2]=e;if((e|0)==(f|0)){e=-1;break a}switch(a[s+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{y=39;break a}}}case 14:break;default:{y=92;break a}}while(0);while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}k=a[s+(d[h>>0]|0)>>0]|0;if((k|1)<<24>>24==13)break;switch(k<<24>>24){case 9:case 10:case 21:{e=h;break}default:{y=43;break a}}}e=e+2|0;c[x>>2]=e;c:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[s+(d[e>>0]|0)>>0]|0;if(h<<24>>24==k<<24>>24)break;i=e+1|0;j=v-e|0;switch(h<<24>>24){case 8:case 1:case 0:{y=60;break a}case 2:{y=65;break a}case 5:{if((j|0)<2){e=-2;break a}if(vb[c[p>>2]&127](b,e)|0){y=50;break a}j=e+2|0;c[x>>2]=j;e=j;continue c}case 6:{if((j|0)<3){e=-2;break a}if(vb[c[q>>2]&127](b,e)|0){y=54;break a}j=e+3|0;c[x>>2]=j;e=j;continue c}case 7:{if((j|0)<4){e=-2;break a}if(vb[c[r>>2]&127](b,e)|0){y=58;break a}j=e+4|0;c[x>>2]=j;e=j;continue c}case 3:{e=H_(b,i,f,x)|0;if((e|0)<1){y=63;break a}e=c[x>>2]|0;continue c}default:{c[x>>2]=i;e=i;continue c}}}h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break}switch(a[s+(d[h>>0]|0)>>0]|0){case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}default:{y=69;break a}}d:while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}switch(a[s+(d[h>>0]|0)>>0]|0){case 29:{y=72;break a}case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{y=73;break d}case 5:{y=74;break d}case 6:{y=78;break d}case 7:{y=82;break d}default:{y=91;break a}}}if((y|0)==73){y=0;e=e+2|0;c[x>>2]=e;i=0;continue}else if((y|0)==74){y=0;if((v-h|0)<2){e=-2;break}if(!(vb[c[t>>2]&127](b,h)|0)){y=76;break}e=e+3|0;c[x>>2]=e;i=0;continue}else if((y|0)==78){y=0;if((v-h|0)<3){e=-2;break}if(!(vb[c[u>>2]&127](b,h)|0)){y=80;break}e=e+4|0;c[x>>2]=e;i=0;continue}else if((y|0)==82){y=0;if((v-h|0)<4){e=-2;break}if(!(vb[c[w>>2]&127](b,h)|0)){y=84;break}e=e+5|0;c[x>>2]=e;i=0;continue}}switch(y|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=j;e=0;break}case 26:{c[g>>2]=j;e=0;break}case 30:{c[g>>2]=j;e=0;break}case 34:{c[g>>2]=j;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[x>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[x>>2]=e;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=z;return e|0}function R_(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function S_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=e+76|0;m=g;n=e+356|0;o=e+360|0;p=e+364|0;a:while(1){if((f|0)==(g|0)){f=-1;break}i=a[l+(d[f>>0]|0)>>0]|0;j=f+1|0;k=m-f|0;switch(i<<24>>24){case 8:case 1:case 0:{q=16;break a}case 5:{if((k|0)<2){f=-2;break a}if(vb[c[n>>2]&127](e,f)|0){q=6;break a}f=f+2|0;continue a}case 6:{if((k|0)<3){f=-2;break a}if(vb[c[o>>2]&127](e,f)|0){q=10;break a}f=f+3|0;continue a}case 7:{if((k|0)<4){f=-2;break a}if(vb[c[p>>2]&127](e,f)|0){q=14;break a}f=f+4|0;continue a}case 13:case 12:if((i&255|0)==(b|0)){q=18;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((q|0)==6){c[h>>2]=f;f=0}else if((q|0)==10){c[h>>2]=f;f=0}else if((q|0)==14){c[h>>2]=f;f=0}else if((q|0)==16){c[h>>2]=f;f=0}else if((q|0)==18)if((j|0)==(g|0))f=-27;else{c[h>>2]=j;switch(a[l+(d[j>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break b}default:{}}f=0}while(0);return f|0}function T_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)==(f|0))h=-1;else{i=b+76|0;h=e+1|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{h=M_(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b:while(1){if((h|0)==(f|0)){h=-1;break a}b=h+1|0;switch(a[i+(d[h>>0]|0)>>0]|0){case 24:case 22:{h=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=h;h=0;break a}c:do if((j|0)==8){if((b|0)==(f|0)){h=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=h;h=0;break a}while(0);c[g>>2]=h;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function U_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}j=b+332|0;k=b+336|0;l=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-20;break a}h=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{e=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{e=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){e=20;break b}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=23;break b}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=26;break b}else h=4;break}default:{e=29;break b}}i=i+h|0}if((e|0)==17){c[g>>2]=i;h=0;break}else if((e|0)==20){c[g>>2]=i;h=0;break}else if((e|0)==23){c[g>>2]=i;h=0;break}else if((e|0)==26){c[g>>2]=i;h=0;break}else if((e|0)==28){c[g>>2]=i;h=20;break}else if((e|0)==29){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function V_(){return 58448}function W_(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[d>>2]|0;b=c[f>>2]|0;g=g-b|0;a:do if((e-h|0)>(g|0)){e=h+g|0;while(1){if(e>>>0<=h>>>0)break a;g=e+-1|0;if((a[g>>0]&-64)<<24>>24==-128)e=g;else break}}while(0);while(1){if((h|0)==(e|0))break;a[b>>0]=a[h>>0]|0;h=h+1|0;b=b+1|0}c[d>>2]=e;c[f>>2]=b;return}function X_(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d+76|0;d=c[g>>2]|0;i=c[e>>2]|0;a:while(1){if((i|0)==(f|0)|(d|0)==(h|0))break;j=a[i>>0]|0;k=i+1|0;l=d+2|0;m=i+3|0;n=j<<24>>24;o=i+2|0;switch(a[p+(j&255)>>0]|0){case 5:{b[d>>1]=a[k>>0]&63|n<<6&1984;d=l;i=o;continue a}case 6:{b[d>>1]=(a[k>>0]&63)<<6|n<<12|a[o>>0]&63;d=l;i=m;continue a}case 7:{if((l|0)==(h|0))break a;o=((a[k>>0]&63)<<12|n<<18&1835008|(a[o>>0]&63)<<6|a[m>>0]&63)+-65536|0;b[d>>1]=o>>>10|55296;b[l>>1]=o&1023|56320;d=d+4|0;i=i+4|0;continue a}default:{b[d>>1]=j<<24>>24;d=l;i=k;continue a}}}c[e>>2]=i;c[g>>2]=d;return}function Y_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function Z_(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function __(a,b){a=a|0;b=b|0;return 0}function $_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function a$(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function b$(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)a=1;else{a=d[b+1>>0]|0;a=(a&128|0)==0|(a&192|0)==192}return a&1|0}function c$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c+2>>0]|0;e=d&255;do if(!(e&128))b=1;else{f=a[c>>0]|0;b=c+1|0;if(f<<24>>24==-17?(a[b>>0]|0)==-65:0)if((d&255)>189){b=1;break}else{b=191;d=-65;c=0}else{if((e&192|0)==192){b=1;break}d=a[b>>0]|0;b=d&255;c=(b&192|0)==192;if(f<<24>>24==-32){b=(d&255)<160|c;break}}b=(b&128|0)==0|(f<<24>>24==-19?(d&255)>159:c)}while(0);return b&1|0}function d$(b,c){b=b|0;c=c|0;var e=0,f=0;f=d[c+3>>0]|0;do if(!((f&128|0)==0|(f&192|0)==192)?(f=d[c+2>>0]|0,!((f&128|0)==0|(f&192|0)==192)):0){f=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;e=(c&192|0)==192;if(f<<24>>24==-16){b=(b&255)<144|e;break}else{b=(c&128|0)==0|(f<<24>>24==-12?(b&255)>143:e);break}}else b=1;while(0);return b&1|0}function e$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e+1>>0]|0;q=b+76|0;m=a[e>>0]|0;if(!(i<<24>>24))l=d[q+(m&255)>>0]|0;else l=v$(i,m)|0;j=e+2|0;o=p;k=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(l|0){case 12:{f=H$(12,b,j,p,g)|0;break a}case 13:{f=H$(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 16:{f=I$(b,n,p,g)|0;break a}case 15:{f=D$(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=x$(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[n>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=J$(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=m&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[i+3>>0]|0;h=a[e>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[j+3>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function f$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e+1>>0]|0;h=a[e>>0]|0;p=b+76|0;if(!(f<<24>>24))j=d[p+(h&255)>>0]|0;else j=v$(f,h)|0;k=e+2|0;n=o;i=e+3|0;m=e+4|0;f=n-l|0;h=(k|0)==(o|0);switch(j|0){case 2:{f=A$(b,k,o,g)|0;break a}case 3:{f=w$(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}f=a[i>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))f=d[p+(h&255)>>0]|0;else f=v$(f,h)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[i>>0]|0)==0?(a[k>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[e+5>>0]|0)==0?(a[m>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=i;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k+1>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[k+3>>0]|0){k=f;continue b}if((a[f>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[k+5>>0]|0){k=f;continue b}if((a[j>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function g$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){f=a[e+1>>0]|0;h=a[e>>0]|0;n=b+76|0;if(!(f<<24>>24))j=d[n+(h&255)>>0]|0;else j=v$(f,h)|0;i=e+2|0;l=m;h=(i|0)==(m|0);f=l-k|0;b=e+3|0;k=e+4|0;switch(j|0){case 4:{if(h){f=-1;break a}if((a[b>>0]|0)==0?(a[i>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[k>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(h){f=-1;break a}f=a[b>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))f=d[n+(b&255)>>0]|0;else f=v$(f,b)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=b;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i+1>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function h$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e+1>>0]|0;b=a[e>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+4|0;i=e+3|0;j=e+6|0;k=(h|0)==(r|0);l=e+5|0;m=q-e|0;switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((m|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((m|0)<3){f=-2;break a}else{n=o;e=i;o=n;continue a}case 7:if((m|0)<4){f=-2;break a}else{n=o;e=h;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=33){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}e=(a[h>>0]|0)==91;o=(e&1)+o|0;e=e?j:h;continue a}case 4:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=93){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}if((a[h>>0]|0)!=62){n=o;e=h;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=j;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=j;f=42}return f|0}function i$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function j$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=x$(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function k$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;f=e;b=c;a:while(1){h=b+1|0;i=a[h>>0]|0;e=a[b>>0]|0;if(!(i<<24>>24))g=d[j+(e&255)>>0]|0;else g=v$(i,e)|0;c=f+1|0;switch(g|0){case 7:{if(e<<24>>24==(a[f>>0]|0)){f=c;b=h;e=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[f>>0]|0)!=e<<24>>24){b=0;break a}if((a[c>>0]|0)==i<<24>>24)e=f;else{b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;c=b+1|0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}f=f+1|0;b=c;e=a[c>>0]|0;k=9}if((k|0)==9){k=0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}if((a[b+1>>0]|0)==(a[f+1>>0]|0))e=f;else{b=0;break}}f=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[c>>0]|0;b=a[f>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function l$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function m$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function n$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function o$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;r=e+3|0;b=a[r>>0]|0;s=b<<24>>24==0;t=a[w>>0]|0;if(s)p=d[z+(t&255)>>0]|0;else p=v$(b,t)|0;b=(y|0)<(f|0);q=e+4|0;h=(u|0)==1;i=(u|0)==2;v=g+(y<<4)+12|0;j=y+1|0;k=(u|0)==0;l=(u|0)!=2;m=g+(y<<4)+8|0;n=g+(y<<4)+4|0;o=g+(y<<4)|0;do switch(p|0){case 5:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!k){t=u;v=y;w=x;e=r;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=r;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=r;y=v;x=w;continue a}case 7:{if(!k){t=u;v=y;w=x;e=q;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=q;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=q;y=v;x=w;continue a}case 24:case 22:case 29:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(l){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=j;u=0;e=w;continue a}c[m>>2]=w;x=12;y=j;u=0;e=w;continue a}case 13:{if(l){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=j;u=0;e=w;continue a}c[m>>2]=w;x=13;y=j;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(s&(w|0)!=(c[n>>2]|0)&t<<24>>24==32){e=a[e+5>>0]|0;b=a[q>>0]|0;if(!(e<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(e,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(l)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function p$(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=k_(b)|0;return b|0}function q$(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c+2|0;b=c+1|0;h=c+3|0;e=c+4|0;f=c+5|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[h>>0]|0)==0?(a[g>>0]|0)==116:0){if(!(a[b>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else i=27;break}case 3:{if((((((a[b>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[h>>0]|0)==0:0)?(a[g>>0]|0)==109:0)?(a[f>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else i=27;break}case 4:{if(!(a[b>>0]|0)){b=c+6|0;d=c+7|0;switch(a[c>>0]|0){case 113:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=117){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{i=27;break a}}case 97:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=112){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{i=27;break a}}default:{i=27;break a}}}else i=27;break}default:i=27}while(0);if((i|0)==27)b=0;return b|0}function r$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b+1>>0]|0;e=a[b>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[b+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function s$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+76|0;f=e;a:while(1){h=f+2|0;if((h|0)==(j|0)){f=1;break}f=a[f+3>>0]|0;e=f<<24>>24==0;b=a[h>>0]|0;if(e)f=d[i+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(e&b<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!e){k=12;break a}if(b<<24>>24>=0){f=h;continue a}break}default:if(!e){k=12;break a}}switch(b<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function t$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b>>0]|0;i=a[b+1>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[n>>0]|0;l=(j<<4&48|m>>>6|a[b+3>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function u$(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0))g=(a[g+-1>>0]&-8)<<24>>24==-40?g+-2|0:g;while(1){if((e|0)==(g|0))break;j=c[h>>2]|0;if((j|0)==(i|0))break;k=((d[e+1>>0]|0)<<8|(d[e>>0]|0))&65535;c[h>>2]=j+2;b[j>>1]=k;j=(c[f>>2]|0)+2|0;c[f>>2]=j;e=j}return}function v$(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function w$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;m=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=y$(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function x$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function y$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e>>0]|0;if(i&k<<24>>24==120){b=z$(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function z$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;j=b+76|0;b=a[e>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function A$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;n=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=B$(b,i,f,g)|0;break a}case 20:{h=C$(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=D$(b,h,f,g)|0;break a}case 17:{h=E$(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[h+3>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=F$(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function B$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[i+3>>0]|0){i=b;continue b}if((a[b>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[i+5>>0]|0)==0?(a[b>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function C$(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function D$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e+1>>0]|0;o=b+76|0;b=a[e>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[j+3>>0]|0){j=b;continue c}if((a[b>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[b+3>>0]|0)==0?(a[j>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function E$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;l=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function F$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e+1>>0]|0;i=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}h=a[h+3>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=w$(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function G$(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;a:while(1){if((f|0)==(g|0)){e=-1;break}i=a[f+1>>0]|0;e=a[f>>0]|0;if(!(i<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(i,e)|0;j=f+2|0;e=k-f|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((e|0)<2){e=-2;break a}else{f=j;continue a}case 6:{if((e|0)<3){e=-2;break a}f=f+3|0;continue a}case 7:{if((e|0)<4){e=-2;break a}f=f+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((m|0)==12){c[h>>2]=f;e=0}else if((m|0)==14)if((j|0)==(g|0))e=-27;else{c[h>>2]=j;f=a[f+3>>0]|0;e=a[j>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function I$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e+1>>0]|0;i=a[e>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=B$(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{e=h;b:while(1){if((e|0)==(f|0)){h=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;b=e+2|0;switch(h|0){case 24:case 22:{e=b;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=e;h=0;break a}c:do if((j|0)==14){if((b|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;h=a[b>>0]|0;if(!(i<<24>>24))h=d[k+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=e;h=0;break a}while(0);c[g>>2]=e;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function J$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}b=a[b+3>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=h&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function K$(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function L$(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(u0(a,c[60316+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,0,b,c,d)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,1,b,c,d)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D_(58816,b,c,d);return}function P$(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((f|0)==(g|0))d=-4;else{p=c[d+76>>2]|0;i=f+1|0;o=(e|0)==1;n=d+73|0;b:do if((i|0)==(g|0)){d=a[n>>0]|0;if(((d<<24>>24)+-3|0)>>>0<3){d=-1;break a}switch(a[f>>0]|0){case 60:case 0:{d=-1;break a}case -17:case -1:case -2:break;default:break b}if(!(o&d<<24>>24==0)){d=-1;break a}}else{l=a[f>>0]|0;d=a[i>>0]|0;i=b+16|0;m=b+20|0;j=f+2|0;k=((l&255)<<8|d&255)&65535;c:do if(k<<16>>16<-2){if(k<<16>>16>=-257){switch(k<<16>>16){case -257:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[i>>2];d=14;break a}switch(k<<16>>16){case -4165:break;default:break c}if(o)switch(a[n>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}if((j|0)==(g|0)){d=-1;break a}if((a[j>>0]|0)!=-65)break b;c[h>>2]=f+3;c[p>>2]=c[b+8>>2];d=14;break a}else{if(k<<16>>16<15360){switch(k<<16>>16){case -2:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[m>>2];d=14;break a}switch(k<<16>>16){case 15360:break;default:break c}d=a[n>>0]|0;if(d<<24>>24==4){if(o)break b}else if(o&d<<24>>24==3)break b;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);if(l<<24>>24){if(o|d<<24>>24!=0)break;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}if(o?(a[n>>0]|0)==5:0)break;d=c[i>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);d=c[b+(a[n>>0]<<2)>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0}while(0);return d|0}function Q$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e>>0]|0;q=b+76|0;l=a[e+1>>0]|0;if(!(i<<24>>24))k=d[q+(l&255)>>0]|0;else k=v$(i,l)|0;j=e+2|0;o=p;m=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(k|0){case 12:{f=q0(12,b,j,p,g)|0;break a}case 13:{f=q0(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 16:{f=r0(b,n,p,g)|0;break a}case 15:{f=m0(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=g0(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[j>>0]|0)==0?(a[m>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[n>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=s0(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=l&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[e>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[k>>0]|0;h=a[j+3>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function R$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e>>0]|0;p=b+76|0;h=a[e+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;k=e+2|0;n=o;h=(k|0)==(o|0);j=e+3|0;m=e+4|0;f=n-l|0;switch(i|0){case 2:{f=j0(b,k,o,g)|0;break a}case 3:{f=f0(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}h=a[k>>0]|0;f=a[j>>0]|0;if(!(h<<24>>24))f=d[p+(f&255)>>0]|0;else f=v$(h,f)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[m>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=j;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k>>0]|0;h=a[k+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[f>>0]|0){k=f;continue b}if((a[k+3>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[j>>0]|0){k=f;continue b}if((a[k+5>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function S$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){h=a[e>>0]|0;n=b+76|0;f=a[e+1>>0]|0;if(!(h<<24>>24))h=d[n+(f&255)>>0]|0;else h=v$(h,f)|0;i=e+2|0;j=e+3|0;l=m;b=(i|0)==(m|0);f=l-k|0;k=e+4|0;switch(h|0){case 4:{if(b){f=-1;break a}if((a[i>>0]|0)==0?(a[j>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[k>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(b){f=-1;break a}b=a[i>>0]|0;f=a[j>>0]|0;if(!(b<<24>>24))f=d[n+(f&255)>>0]|0;else f=v$(b,f)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=j;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i>>0]|0;b=a[i+1>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function T$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e>>0]|0;b=a[e+1>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+3|0;i=e+4|0;j=e+5|0;k=e+6|0;l=q-e|0;m=(i|0)==(r|0);switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((l|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((l|0)<3){f=-2;break a}else{n=o;e=h;o=n;continue a}case 7:if((l|0)<4){f=-2;break a}else{n=o;e=i;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=33){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}e=(a[j>>0]|0)==91;o=(e&1)+o|0;e=e?k:i;continue a}case 4:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=93){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}if((a[j>>0]|0)!=62){n=o;e=i;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=k;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=k;f=42}return f|0}function U$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function V$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=g0(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function W$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;b=c;a:while(1){c=a[b>>0]|0;h=b+1|0;i=a[h>>0]|0;if(!(c<<24>>24))f=d[j+(i&255)>>0]|0;else f=v$(c,i)|0;g=e+1|0;switch(f|0){case 7:{if(c<<24>>24==(a[e>>0]|0)){e=g;b=h;c=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[e>>0]|0)!=c<<24>>24){b=0;break a}if((a[g>>0]|0)!=i<<24>>24){b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;f=b+1|0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}e=e+1|0;b=f;c=a[f>>0]|0;k=9}if((k|0)==9){k=0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}if((a[b+1>>0]|0)!=(a[e+1>>0]|0)){b=0;break}}e=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[e>>0]|0;b=a[g>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function X$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function Y$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function Z$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function _$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;b=a[w>>0]|0;r=b<<24>>24==0;s=e+3|0;t=a[s>>0]|0;if(r)q=d[z+(t&255)>>0]|0;else q=v$(b,t)|0;b=(y|0)<(f|0);h=e+4|0;i=(u|0)==1;j=(u|0)==2;v=g+(y<<4)+12|0;k=y+1|0;l=(u|0)==0;m=(u|0)!=2;n=g+(y<<4)+8|0;o=g+(y<<4)+4|0;p=g+(y<<4)|0;do switch(q|0){case 5:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!l){t=u;v=y;w=x;e=s;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=s;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=s;y=v;x=w;continue a}case 7:{if(!l){t=u;v=y;w=x;e=h;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=h;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=h;y=v;x=w;continue a}case 24:case 22:case 29:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(m){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=k;u=0;e=w;continue a}c[n>>2]=w;x=12;y=k;u=0;e=w;continue a}case 13:{if(m){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=k;u=0;e=w;continue a}c[n>>2]=w;x=13;y=k;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(r&(w|0)!=(c[o>>2]|0)&t<<24>>24==32){h=a[h>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(h,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(m)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function $$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;b=c+4|0;d=a[b>>0]|0;a:do if(!(d<<24>>24))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){f=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break b}default:{}}}c=c+2|0}if((f|0)==8){f=0;b=d+-48|b<<4}else if((f|0)==9){f=0;b=(b<<4)+-55+d|0}else if((f|0)==10){f=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{e=b;b=0;c=0;f=13}else{e=b;b=0;c=d;f=13}while(0);c:do if((f|0)==13)while(1){f=0;if(!(c<<24>>24)){c=a[e+1>>0]|0;if(c<<24>>24==59){f=18;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;c=e+2|0;if((b|0)>=1114112){b=-1;break c}e=c;c=a[c>>0]|0;f=13}while(0);if((f|0)==18)b=k_(b)|0;return b|0}function a0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=c+2|0;h=c+3|0;i=c+4|0;e=c+5|0;f=c+1|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[g>>0]|0)==0?(a[h>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[f>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else j=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[f>>0]|0)==97:0)?(a[g>>0]|0)==0:0)?(a[h>>0]|0)==109:0)?(a[i>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else j=27;break}case 4:{if(!(a[c>>0]|0)){d=c+6|0;b=c+7|0;switch(a[f>>0]|0){case 113:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=117){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{j=27;break a}}case 97:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=112){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{j=27;break a}}default:{j=27;break a}}}else j=27;break}default:j=27}while(0);if((j|0)==27)b=0;return b|0}function b0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b>>0]|0;e=a[b+1>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[i>>0]|0;h=a[b+3>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function c0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+76|0;a:while(1){h=e+2|0;if((h|0)==(k|0)){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function d0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b+1>>0]|0;i=a[b>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[b+3>>0]|0;l=(j<<4&48|m>>>6|a[n>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function e0(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0)){j=g+-2|0;j=(a[j>>0]&-8)<<24>>24==-40?j:g}else j=g;while(1){if((e|0)==(j|0))break;g=c[h>>2]|0;if((g|0)==(i|0))break;k=((d[e>>0]|0)<<8|(d[e+1>>0]|0))&65535;c[h>>2]=g+2;b[g>>1]=k;g=(c[f>>2]|0)+2|0;c[f>>2]=g;e=g}return}function f0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;m=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=h0(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function g0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function h0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e+1>>0]|0;if(i&k<<24>>24==120){b=i0(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function i0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;j=b+76|0;b=a[e+1>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function j0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;n=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=k0(b,i,f,g)|0;break a}case 20:{h=l0(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=m0(b,h,f,g)|0;break a}case 17:{h=n0(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=o0(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function k0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){i=b;continue b}if((a[i+3>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[b>>0]|0)==0?(a[i+5>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function l0(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function m0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e>>0]|0;o=b+76|0;b=a[e+1>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){j=b;continue c}if((a[j+3>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[j>>0]|0)==0?(a[b+3>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function n0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;l=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function o0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e>>0]|0;i=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}i=a[e>>0]|0;h=a[h+3>>0]|0;if(!(i<<24>>24))h=d[m+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=f0(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function p0(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function q0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;j=f;a:while(1){if((j|0)==(g|0)){e=-1;break}f=a[j>>0]|0;e=a[j+1>>0]|0;if(!(f<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(f,e)|0;e=j+2|0;f=k-j|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((f|0)<2){e=-2;break a}else{j=e;continue a}case 6:{if((f|0)<3){e=-2;break a}j=j+3|0;continue a}case 7:{if((f|0)<4){e=-2;break a}j=j+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{j=e;continue a}default:{j=e;continue a}}}b:do if((m|0)==12){c[h>>2]=j;e=0}else if((m|0)==14)if((e|0)==(g|0))e=-27;else{c[h>>2]=e;f=a[e>>0]|0;e=a[j+3>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function r0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e>>0]|0;i=a[e+1>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=k0(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b=h;b:while(1){if((b|0)==(f|0)){h=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=b+2|0;switch(i|0){case 24:case 22:{b=h;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=b;h=0;break a}c:do if((j|0)==14){if((h|0)==(f|0)){h=-1;break a}h=a[h>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;h=0;break a}while(0);c[g>>2]=b;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function s0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}i=a[e>>0]|0;b=a[b+3>>0]|0;if(!(i<<24>>24))h=d[k+(b&255)>>0]|0;else h=v$(i,b)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=b&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(i&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function t0(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;while(1){b=c[d>>2]|0;if((b|0)==(e|0))break;if((c[f>>2]|0)==(g|0))break;c[d>>2]=b+1;h=a[b>>0]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[b>>0]=h}return}function u0(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function v0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(42,a,b,c,d,e,f,g,h,i,j)|0}function w0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[59184+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function x0(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+68|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(y0(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+28|0;f=c[p>>2]|0;b=(b|0)!=0;do if(!(tb[c[r>>2]&127](d,n,f,144489)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];e=c[t>>2]|0;if(i|0)c[i>>2]=e;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}e=c[o>>2]|0;if(e|0){n=e;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(tb[c[r>>2]&127](d,n,f,144497)|0){f=c[q>>2]|0;e=f;if((((z0(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=eb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if(b|(tb[c[r>>2]&127](d,n,f,144506)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=(m|0)!=0;b=f;if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107958)|0)){if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107950)|0)){c[g>>2]=b;e=0;break}if(n)c[m>>2]=0}else if(n)c[m>>2]=1;while(1){if(!(A0(z0(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function y0(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(A0(z0(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+68|0;do b=b+(c[j>>2]|0)|0;while((A0(z0(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=z0(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(A0(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=z0(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function z0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+1|0);l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function A0(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function B0(){return 60340}function C0(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,0,b,c,d)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,1,b,c,d)|0}function F0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(43,a,b,c,d,e,f,g,h,i,j)|0}function G0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[60708+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function H0(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=j_(b,c,d,e)|0;if(b|0)a[b+76+58>>0]=23;return b|0}function I0(a){a=a|0;c[a>>2]=4;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function J0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=5;a=0;break}case 12:{c[a>>2]=5;a=1;break}case 11:{c[a>>2]=5;a=55;break}case 13:{c[a>>2]=5;a=56;break}case 14:{a=0;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=9;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function K0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=7;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=7}if((g|0)==7)a=N0(a,b)|0;return a|0}function L0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=8;a=4;break}default:a=N0(a,b)|0}return a|0}function M0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function N0(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=7;a=-1}return a|0}function O0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=11;a=3;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=8;else{c[a>>2]=12;a=3}break}default:h=8}while(0);if((h|0)==8)a=N0(a,b)|0;return a|0}function P0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144539)|0){c[a>>2]=13;a=11;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144546)|0){c[a>>2]=14;a=33;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144554)|0){c[a>>2]=15;a=39;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144562)|0))i=14;else{c[a>>2]=16;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=17;a=3;break}default:i=14}while(0);if((i|0)==14)a=N0(a,b)|0;return a|0}function Q0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=7;a=2;break}default:a=N0(a,b)|0}return a|0}function R0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=18;a=5;break}default:a=N0(a,b)|0}return a|0}function S0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=11;a=6;break}default:a=N0(a,b)|0}return a|0}function T0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function U0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=19;a=11;break}case 18:{c[a>>2]=20;a=9;break}default:a=N0(a,b)|0}return a|0}function V0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=21;a=34;break}default:a=N0(a,b)|0}return a|0}function W0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=22;a=40;break}default:a=N0(a,b)|0}return a|0}function X0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=23;a=18;break}default:a=N0(a,b)|0}return a|0}function Y0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function Z0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=24;a=17;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=6;else{c[a>>2]=25;a=17}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function _0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}default:a=N0(a,b)|0}return a|0}function $0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=27;a=21;break}default:a=N0(a,b)|0}return a|0}function a1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=20;break}default:a=N0(a,b)|0}return a|0}function b1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=c[d>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;d=c[d>>2]|0;break}default:d=N0(a,b)|0}return d|0}function c1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+12|0;switch(b|0){case 33:{c[a>>2]=29;d=0;break}case 34:{d=c[g>>2]|0;if(!d)h=7;else{c[g>>2]=d+-1;d=0}break}case 15:{d=0;break}case 26:{h=7;break}case -4:{if(!(c[g>>2]|0))d=0;else h=7;break}default:d=P0(a,b,d,e,f)|0}if((h|0)==7)d=N0(a,b)|0;return d|0}function d1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144571)|0){c[a>>2]=30;a=0;break a}if(!(tb[c[g>>2]&127](f,d,e,144579)|0))h=6;else{c[a>>2]=31;a=0}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function e1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=N0(a,b)|0}return a|0}function f1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=58;break}default:a=N0(a,b)|0}return a|0}function g1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+28|0;h=a+8|0;if(tb[c[g>>2]&127](f,d,e,144586)|0){c[a>>2]=26;c[h>>2]=39;a=42;break a}if(!(tb[c[g>>2]&127](f,d,e,144592)|0))i=7;else{c[a>>2]=26;c[h>>2]=39;a=41}break}case 23:{c[a>>2]=32;c[a+4>>2]=1;a=44;break}default:i=7}while(0);if((i|0)==7)a=N0(a,b)|0;return a|0}function h1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]|0)|0,e,144596)|0))g=9;else{c[a>>2]=33;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=34;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function i1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=39;break}case 24:{c[a>>2]=26;c[d>>2]=39;d=45;break}case 36:{c[a>>2]=26;c[d>>2]=39;d=46;break}case 21:{c[a>>2]=36;d=39;break}default:d=N0(a,b)|0}return d|0}function j1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:a=N0(a,b)|0}return a|0}function k1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;e=a+4|0;switch(b|0){case 15:{d=39;break}case 24:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=45}else d=45;break}case 36:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=46}else d=46;break}case 35:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=47}else d=47;break}case 37:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=48}else d=48;break}case 38:{c[a>>2]=34;d=50;break}case 21:{c[a>>2]=34;d=49;break}default:d=N0(a,b)|0}return d|0}function l1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=37;a=51;break}default:a=N0(a,b)|0}return a|0}function m1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=26;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=36;a=39;break}default:a=N0(a,b)|0}return a|0}function n1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=33;break}case 41:case 18:{c[a>>2]=38;a=22;break}default:a=N0(a,b)|0}return a|0}function o1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+28|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(tb[i&127](f,d,e,c[62576+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=39;g=g+23|0;break a}if(!(tb[i&127](f,d,e,144562)|0))j=10;else{c[a>>2]=40;g=33}break}case 23:{c[a>>2]=41;g=33;break}default:j=10}while(0);if((j|0)==10)g=N0(a,b)|0;return g|0}function p1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144603)|0){c[a>>2]=21;a=35;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144611)|0){c[a>>2]=21;a=36;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144620)|0))i=9;else{c[a>>2]=42;a=33}break}case 27:{c[a>>2]=21;a=37;break}default:i=9}while(0);if((i|0)==9)a=N0(a,b)|0;return a|0}function q1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function r1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=44;a=31;break}default:a=N0(a,b)|0}return a|0}function s1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=41;a=33;break}default:a=N0(a,b)|0}return a|0}function t1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=45;a=32;break}default:a=N0(a,b)|0}return a|0}function u1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function v1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=21;a=38;break}default:a=N0(a,b)|0}return a|0}function w1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=46;a=10;break}default:a=N0(a,b)|0}return a|0}function x1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=47;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=48;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function y1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=49;a=13;break}default:a=N0(a,b)|0}return a|0}function z1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=47;a=14;break}default:a=N0(a,b)|0}return a|0}function A1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}case 18:{if(!(tb[c[f+28>>2]&127](f,d,e,144674)|0))g=5;else{c[a>>2]=50;a=11}break}default:g=5}if((g|0)==5)a=N0(a,b)|0;return a|0}function B1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=26;c[a+8>>2]=11;a=16;break}default:a=N0(a,b)|0}return a|0}function C1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=51;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=52;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function D1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=53;a=13;break}default:a=N0(a,b)|0}return a|0}function E1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=51;a=14;break}default:a=N0(a,b)|0}return a|0}function F1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}default:a=N0(a,b)|0}return a|0}function G1(){return 190360}function H1(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=O1(c[a+60>>2]|0)|0;a=K1(xa(6,d|0)|0)|0;l=b;return a|0}function I1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=K1(bb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=K1(bb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function J1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((K1(Za(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function K1(a){a=a|0;if(a>>>0>4294963200){c[(L1()|0)>>2]=0-a;a=-1}return a|0}function L1(){return (M1()|0)+64|0}function M1(){return N1()|0}function N1(){return 62988}function O1(a){a=a|0;return a|0}function P1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=K1(ab(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function Q1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Qa(54,f|0)|0):0)a[b+75>>0]=-1;f=I1(b,d,e)|0;l=g;return f|0}function R1(a){a=a|0;var b=0;b=(S1(a)|0)==0;return (b?a:a|32)|0}function S1(a){a=a|0;return (a+-65|0)>>>0<26|0}function T1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;U1(h,0);d=V1(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function U1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function V1(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(L1()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=W1(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((d[144681+i>>0]|0)>15){g=(c[q>>2]|0)!=0;if(g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){U1(b,0);h=0;g=0;break a}if(!g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[144681+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;U1(b,0);c[(L1()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=G6(i|0,f|0,10,0)|0;l=D;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=w6(e|0,l|0,k|0,m|0)|0;f=D;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=W1(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[144937+((e*23|0)>>>5&7)>>0]|0;f=a[144681+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0<e>>>0);k=0}else{j=i;k=0;i=0}l=z6(-1,-1,n|0)|0;m=D;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=v6(i|0,j|0,n|0)|0;k=D;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[144681+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k+(S(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0<e>>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0<e>>>0){n=E6(-1,-1,e|0,0)|0;o=D;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=G6(i|0,m|0,e|0,0)|0;l=D;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=w6(f|0,0,k|0,l|0)|0;k=D;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[144681+j>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((d[144681+i>>0]|0)>>>0<e>>>0);c[(L1()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(L1()|0)>>2]=34;g=w6(g|0,h|0,-1,-1)|0;h=D;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(L1()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t6(i^j|0,e^g|0,j|0,g|0)|0;h=D}while(0);D=h;return g|0}function W1(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=Y1(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){i=c[f>>2]|0;f=c[b+4>>2]|0;h=b+108|0;g=g-(c[h>>2]|0)|0;j=i;if((i-f|0)<(g|0)){i=j;g=j}else{i=f+(g+-1)|0;g=j}}else{g=c[f>>2]|0;h=b+108|0;i=g;f=c[b+4>>2]|0}c[b+100>>2]=i;if(g|0)c[h>>2]=g+1-f+(c[h>>2]|0);f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function X1(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Y1(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((Z1(a)|0)==0?(eb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function Z1(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)eb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function _1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-1,0)|0;return c|0}function $1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-2147483648,0)|0;return c|0}function a2(a){a=a|0;var b=0;b=(b2(a)|0)==0;return (b?a:a&95)|0}function b2(a){a=a|0;return (a+-97|0)>>>0<26|0}function c2(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z6(s|0,r|0,52)|0;i=z6(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if(g>>>0>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=i>>>0<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}d2(m,n,b);d2(o,p,a);a=d*+G(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function d2(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function e2(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function f2(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function g2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function h2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function i2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=j2(a,b,f)|0;l=e;return d|0}function j2(a,b,c){a=a|0;b=b|0;c=c|0;return k2(a,2147483647,b,c)|0}function k2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63492;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(L1()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=l2(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function l2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;o=s+80|0;q=s;r=s+136|0;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((m2(0,d,n,q,o)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)p=n2(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=m2(b,d,n,q,o)|0;if(h){eb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=m2(b,d,n,q,o)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(p|0)o2(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function m2(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+64|0;C=H+16|0;E=H;A=H+24|0;F=H+8|0;G=H+20|0;c[C>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=F+4|0;k=0;j=0;p=0;a:while(1){do if((j|0)>-1)if((k|0)>(2147483647-j|0)){c[(L1()|0)>>2]=75;j=-1;break}else{j=k+j|0;break}while(0);k=a[e>>0]|0;if(!(k<<24>>24)){w=87;break}else m=e;b:while(1){switch(k<<24>>24){case 37:{k=m;w=9;break b}case 0:{k=m;break b}default:{}}v=m+1|0;c[C>>2]=v;k=a[v>>0]|0;m=v}c:do if((w|0)==9)while(1){w=0;if((a[m+1>>0]|0)!=37)break c;k=k+1|0;m=m+2|0;c[C>>2]=m;if((a[m>>0]|0)==37)w=9;else break}while(0);k=k-e|0;if(x)p2(d,e,k);if(k|0){e=m;continue}n=m+1|0;k=(a[n>>0]|0)+-48|0;if(k>>>0<10){v=(a[m+2>>0]|0)==36;u=v?k:-1;p=v?1:p;n=v?m+3|0:n}else u=-1;c[C>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;d:do if(m>>>0<32){o=0;q=k;while(1){k=1<<m;if(!(k&75913)){k=q;break d}o=k|o;n=n+1|0;c[C>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;if(m>>>0>=32)break;else q=k}}else o=0;while(0);if(k<<24>>24==42){m=n+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10?(a[n+2>>0]|0)==36:0){c[i+(k<<2)>>2]=10;k=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;p=1;n=n+3|0}else{if(p|0){j=-1;break}if(x){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4;p=0;n=m}else{k=0;p=0;n=m}}c[C>>2]=n;v=(k|0)<0;k=v?0-k|0:k;o=v?o|8192:o}else{k=q2(C)|0;if((k|0)<0){j=-1;break}n=c[C>>2]|0}do if((a[n>>0]|0)==46){if((a[n+1>>0]|0)!=42){c[C>>2]=n+1;m=q2(C)|0;n=c[C>>2]|0;break}q=n+2|0;m=(a[q>>0]|0)+-48|0;if(m>>>0<10?(a[n+3>>0]|0)==36:0){c[i+(m<<2)>>2]=10;m=c[g+((a[q>>0]|0)+-48<<3)>>2]|0;n=n+4|0;c[C>>2]=n;break}if(p|0){j=-1;break a}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);m=c[v>>2]|0;c[f>>2]=v+4}else m=0;c[C>>2]=q;n=q}else m=-1;while(0);t=0;while(1){if(((a[n>>0]|0)+-65|0)>>>0>57){j=-1;break a}v=n+1|0;c[C>>2]=v;q=a[(a[n>>0]|0)+-65+(144946+(t*58|0))>>0]|0;r=q&255;if((r+-1|0)>>>0<8){t=r;n=v}else break}if(!(q<<24>>24)){j=-1;break}s=(u|0)>-1;do if(q<<24>>24==19)if(s){j=-1;break a}else w=49;else{if(s){c[i+(u<<2)>>2]=r;s=g+(u<<3)|0;u=c[s+4>>2]|0;w=E;c[w>>2]=c[s>>2];c[w+4>>2]=u;w=49;break}if(!x){j=0;break a}r2(E,r,f)}while(0);if((w|0)==49?(w=0,!x):0){k=0;e=v;continue}n=a[n>>0]|0;n=(t|0)!=0&(n&15|0)==3?n&-33:n;s=o&-65537;u=(o&8192|0)==0?o:s;e:do switch(n|0){case 110:switch((t&255)<<24>>24){case 0:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 1:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 2:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}case 3:{b[c[E>>2]>>1]=j;k=0;e=v;continue a}case 4:{a[c[E>>2]>>0]=j;k=0;e=v;continue a}case 6:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 7:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}default:{k=0;e=v;continue a}}case 112:{n=120;m=m>>>0>8?m:8;e=u|8;w=61;break}case 88:case 120:{e=u;w=61;break}case 111:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;r=t2(e,n,y)|0;s=z-r|0;o=0;q=145410;m=(u&8|0)==0|(m|0)>(s|0)?m:s+1|0;s=u;w=67;break}case 105:case 100:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){e=t6(0,0,e|0,n|0)|0;n=D;o=E;c[o>>2]=e;c[o+4>>2]=n;o=1;q=145410;w=66;break e}else{o=(u&2049|0)!=0&1;q=(u&2048|0)==0?((u&1|0)==0?145410:145412):145411;w=66;break e}}case 117:{n=E;o=0;q=145410;e=c[n>>2]|0;n=c[n+4>>2]|0;w=66;break}case 99:{a[A>>0]=c[E>>2];e=A;o=0;q=145410;r=y;n=1;m=s;break}case 109:{n=v2(c[(L1()|0)>>2]|0)|0;w=71;break}case 115:{n=c[E>>2]|0;n=n|0?n:145420;w=71;break}case 67:{c[F>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=F;r=-1;n=F;w=75;break}case 83:{e=c[E>>2]|0;if(!m){x2(d,32,k,0,u);e=0;w=84}else{r=m;n=e;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=z2(d,+h[E>>3],k,m,u,n)|0;e=v;continue a}default:{o=0;q=145410;r=y;n=m;m=u}}while(0);f:do if((w|0)==61){u=E;t=c[u>>2]|0;u=c[u+4>>2]|0;r=s2(t,u,y,n&32)|0;q=(e&8|0)==0|(t|0)==0&(u|0)==0;o=q?0:2;q=q?145410:145410+(n>>4)|0;s=e;e=t;n=u;w=67}else if((w|0)==66){r=u2(e,n,y)|0;s=u;w=67}else if((w|0)==71){w=0;u=w2(n,0,m)|0;t=(u|0)==0;e=n;o=0;q=145410;r=t?n+m|0:u;n=t?m:u-n|0;m=s}else if((w|0)==75){w=0;q=n;e=0;m=0;while(1){o=c[q>>2]|0;if(!o)break;m=y2(G,o)|0;if((m|0)<0|m>>>0>(r-e|0)>>>0)break;e=m+e|0;if(r>>>0>e>>>0)q=q+4|0;else break}if((m|0)<0){j=-1;break a}x2(d,32,k,e,u);if(!e){e=0;w=84}else{o=0;while(1){m=c[n>>2]|0;if(!m){w=84;break f}m=y2(G,m)|0;o=m+o|0;if((o|0)>(e|0)){w=84;break f}p2(d,G,m);if(o>>>0>=e>>>0){w=84;break}else n=n+4|0}}}while(0);if((w|0)==67){w=0;n=(e|0)!=0|(n|0)!=0;u=(m|0)!=0|n;n=((n^1)&1)+(z-r)|0;e=u?r:y;r=y;n=u?((m|0)>(n|0)?m:n):m;m=(m|0)>-1?s&-65537:s}else if((w|0)==84){w=0;x2(d,32,k,e,u^8192);k=(k|0)>(e|0)?k:e;e=v;continue}t=r-e|0;s=(n|0)<(t|0)?t:n;u=s+o|0;k=(k|0)<(u|0)?u:k;x2(d,32,k,u,m);p2(d,q,o);x2(d,48,k,u,m^65536);x2(d,48,s,t,0);p2(d,e,t);x2(d,32,k,u,m^8192);e=v}g:do if((w|0)==87)if(!d)if(!p)j=0;else{j=1;while(1){e=c[i+(j<<2)>>2]|0;if(!e)break;r2(g+(j<<3)|0,e,f);j=j+1|0;if((j|0)>=10){j=1;break g}}while(1){if(c[i+(j<<2)>>2]|0){j=-1;break g}j=j+1|0;if((j|0)>=10){j=1;break}}}while(0);l=H;return j|0}function n2(a){a=a|0;return 0}function o2(a){a=a|0;return}function p2(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))L2(b,d,a)|0;return}function q2(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=(a[e>>0]|0)+-48|0;if(f>>>0<10){d=0;do{d=f+(d*10|0)|0;e=e+1|0;c[b>>2]=e;f=(a[e>>0]|0)+-48|0}while(f>>>0<10)}else d=0;return d|0}function r2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function s2(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[145458+(b&15)>>0]|0|f;b=z6(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function t2(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z6(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function u2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=J6(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=E6(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function v2(a){a=a|0;return G2(a,c[(F2()|0)+188>>2]|0)|0}function w2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=S(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;u6(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{p2(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}p2(a,f,e)}l=g;return}function y2(a,b){a=a|0;b=b|0;if(!a)a=0;else a=D2(a,b,0)|0;return a|0}function z2(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;A2(e)|0;if((D|0)<0){e=-e;B=1;A=145427}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?145428:145433):145430}A2(e)|0;C=D&2146435072;do if(C>>>0<2146435072|(C|0)==2146435072&0<0){r=+B2(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){s=i&32;q=(s|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[q>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=u2(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;n=(g|0)<1;m=(h&8|0)==0;j=G;do{C=~~e;k=j+1|0;a[j>>0]=d[145458+C>>0]|s;e=(e-+(C|0))*16.0;if((k-F|0)==1?!(m&(n&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);C=j-F|0;F=E-o|0;E=(g|0)!=0&(C+-2|0)<(g|0)?g+2|0:C;j=F+p+E|0;x2(b,32,f,j,h);p2(b,q,p);x2(b,48,f,j,h^65536);p2(b,G,C);x2(b,48,E-C|0,0,0);p2(b,o,F);x2(b,32,f,j,h^8192);break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}C=(j|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=C;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=v6(c[j>>2]|0,0,o|0)|0;x=w6(x|0,D|0,m|0,0)|0;y=D;v=J6(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=E6(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=S(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?C:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=C;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=C+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(B){x=(a[A>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=((v^1)&1)+k|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(z=c[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=u2(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=B+1+k+p+j|0;x2(b,32,f,j,h);p2(b,A,B);x2(b,48,f,j,h^65536);if(q){o=x>>>0>C>>>0?C:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=u2(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,p-m|0);n=n+4|0}while(n>>>0<=C>>>0);if(t|0)p2(b,145474,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=u2(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}x2(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=u2(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;p2(b,m,1);if(s&(k|0)<1){m=n;break}p2(b,145474,1);m=n}else{if(m>>>0<=G>>>0)break;u6(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;p2(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}x2(b,48,k+18|0,18,0);p2(b,v,E-v|0)}x2(b,32,f,j,h^8192)}else{G=(i&32|0)!=0;j=B+3|0;x2(b,32,f,j,h&-65537);p2(b,A,B);p2(b,e!=e|0.0!=0.0?(G?153609:145454):G?145446:145450,3);x2(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function A2(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function B2(a,b){a=+a;b=b|0;return +(+C2(a,b))}function C2(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z6(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+C2(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function D2(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(E2()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(L1()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(L1()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function E2(){return N1()|0}function F2(){return N1()|0}function G2(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[145476+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=145564;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=145564;else{f=145564;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return H2(f,c[e+20>>2]|0)|0}function H2(a,b){a=a|0;b=b|0;return I2(a,b)|0}function I2(a,b){a=a|0;b=b|0;if(!b)b=0;else b=J2(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function J2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=K2(c[b+8>>2]|0,o)|0;f=K2(c[b+12>>2]|0,o)|0;g=K2(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=K2(c[b+(g<<2)>>2]|0,o)|0;g=K2(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=f2(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=K2(c[b+(f<<2)>>2]|0,o)|0;f=K2(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function K2(a,b){a=a|0;b=b|0;var c=0;c=K6(a|0)|0;return ((b|0)==0?a:c)|0}function L2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(M2(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=eb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=eb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);B6(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function M2(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;B6(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function O2(a){a=a|0;return ((a+-48|0)>>>0<10|(P2(a)|0)!=0)&1|0}function P2(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Q2(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function R2(a){a=a|0;if(!(S2(a)|0))a=(T2(a)|0)!=0;else a=1;return a&1|0}function S2(a){a=a|0;return (a+-48|0)>>>0<10|0}function T2(a){a=a|0;if(a>>>0<131072)a=(d[147368+((d[147368+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U2(a){a=a|0;return Q2(a)|0}function V2(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function W2(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=R2(a)|0;break}case 2:{a=T2(a)|0;break}case 3:{a=U2(a)|0;break}case 4:{a=V2(a)|0;break}case 5:{a=S2(a)|0;break}case 6:{a=X2(a)|0;break}case 7:{a=Y2(a)|0;break}case 8:{a=Z2(a)|0;break}case 9:{a=_2(a)|0;break}case 10:{a=$2(a)|0;break}case 11:{a=a3(a)|0;break}case 12:{a=b3(a)|0;break}default:a=0}while(0);return a|0}function X2(a){a=a|0;if(!($2(a)|0))a=(Z2(a)|0)!=0;else a=0;return a&1|0}function Y2(a){a=a|0;return (g3(a)|0)!=(a|0)|0}function Z2(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function _2(a){a=a|0;if(a>>>0<131072)a=(d[150344+((d[150344+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function $2(a){a=a|0;if(!a)a=0;else a=(e3(63616,a)|0)!=0;return a&1|0}function a3(a){a=a|0;return (c3(a)|0)!=(a|0)|0}function b3(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function c3(a){a=a|0;return d3(a,1)|0}function d3(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T2(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66618+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66618+(g<<2)>>1]|0)|0;if((h-(j&l)|0)>>>0<(d[66618+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(S(j,k)|0)+c|0;break}i=1-f|0;g=b[66130+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[66130+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[66130+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function e3(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)a=a+((f3(a)|0)<<2)|0;else{while(1){e=c[a>>2]|0;d=(e|0)!=0;if((e|0)==(b|0)|d^1)break;else a=a+4|0}a=d?a:0}return a|0}function f3(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function g3(a){a=a|0;return d3(a,0)|0}function h3(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=153512;f=97;while(1){if(e<<24>>24==f<<24>>24?(f2(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function i3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ha(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ua(221,e|0)|0)>=0):0){j3(e,a);c[f>>2]=e;c[f+4>>2]=b;b=K1(Ja(195,f|0)|0)|0}else b=K1(d)|0;l=g;return b|0}function j3(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=153585;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function k3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=S(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)l3(a,d,e,f,j);else n3(a,d,e,k,f,0,j);if((f|0)==1){o3(k,1);f=0;break}else{o3(k,b);f=1;break}}else{l3(a,d,e,f,j);m3(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}n3(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){o3(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;m3(k,1);n3(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);o3(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;n3(h,d,e,k,n,1,j);a=h;f=n;continue}b=p3(k)|0;m3(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function l3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((vb[d&127](a,g)|0)>-1?(vb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((vb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);r3(b,m,e);l=n;return}function m3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function n3(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(vb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((vb[d&127](g,j)|0)>-1){i=10;break a}if((vb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=p3(n)|0;m3(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((vb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){r3(b,o,e);l3(a,b,d,f,h)}l=p;return}function o3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function p3(a){a=a|0;var b=0;b=q3((c[a>>2]|0)+-1|0)|0;if(!b){b=q3(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function q3(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0} -function yb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function zb(){return l|0}function Ab(a){a=a|0;l=a}function Bb(a,b){a=a|0;b=b|0;l=a;m=b}function Cb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Db(a){a=a|0;D=a}function Eb(){return D|0}function Fb(a){a=a|0;c[46696]=a;return 0}function Gb(){return c[46696]|0}function Hb(a,b){a=a|0;b=b|0;Sa(0,a|0,b|0)|0;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=kG()|0;pG(h,11016);pG(h,17260);pG(h,17480);cA(1)|0;bA(18)|0;while(1){a=WB(a)|0;e=c[f>>2]|0;if(!a)break;if(e|0){a=195341;continue}lG(h,a,d)|0;oG(h,a,b,f,g)|0;a=195341}l=i;return e|0}function Jb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{HL(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)SP(f);break}case 4:case 5:case 6:{EL(f,e,d);Mb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[46697]|0)){c[46697]=c[4689];c[46698]=57;c[46699]=19}f=e+64|0;d=(c[f>>2]|0)+8|0;b=c[d>>2]|0;c[d>>2]=186788;d=a+152|0;switch(c[a+64>>2]|0){case 2:{uL(a,e,a,0);break}case 3:{uL(a,e,a,1);break}case 1:case 0:{if(!(c[d>>2]&134217728))bE(e,a)|0;break}case 6:case 5:case 4:{Lb(e);if(!(c[d>>2]&134217728))bE(e,a)|0;break}default:{}}c[(c[f>>2]|0)+8>>2]=b;return}function Lb(b){b=b|0;var d=0,e=0;d=c[46701]|0;if((d|0)!=(c[46700]|0)){e=c[c[46732]>>2]|0;if(!e){e=YP(b,0,100109,195341)|0;c[c[46732]>>2]=e;d=c[46701]|0}if(d>>>0>=(c[46702]|0)>>>0){iA(186800,1)|0;d=c[46701]|0}a[d>>0]=0;d=c[46700]|0;c[46701]=d;HA(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[46732]|0)+4>>2]|0;d=c[46717]|0;if(d>>>0>=(c[46718]|0)>>>0){iA(186864,1)|0;d=c[46717]|0}a[d>>0]=0;d=c[46716]|0;c[46717]=d;HA(b,e,d)|0}QA(b,67025,c[(c[46732]|0)+8236>>2]|0,195341)|0;d=0;while(1){if((d|0)==8)break;lA(186800+(d<<4)|0);d=d+1|0}l6(c[46732]|0);h[1]=1.0;h[5]=1.0;c[46733]=0;c[46737]=0;return}function Mb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=k6(8240)|0;c[46732]=j;h=j+8232|0;a:do switch(g|0){case 6:{b[h>>1]=14;g=67041;h=j;break}case 5:{b[h>>1]=12;g=67045;h=j;break}default:{g=NA(d,67025)|0;if((g|0?a[g>>0]|0:0)?(i=Nb(g)|0,(i&65535)>10):0){h=c[46732]|0;b[h+8232>>1]=i;break a}g=Nb(67037)|0;h=c[46732]|0;b[h+8232>>1]=g;g=67037}}while(0);c[h+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))i=0;else{i=YP(d,0,100109,195341)|0;h=c[46732]|0;g=c[j>>2]|0}c[h>>2]=i;if(!(a[g+113>>0]&8))g=0;else g=YP(d,0,67049,195341)|0;c[(c[46732]|0)+4>>2]=g;i=YP(d,1,100109,195341)|0;c[(c[46732]|0)+8>>2]=i;i=YP(d,1,67049,195341)|0;c[(c[46732]|0)+12>>2]=i;i=YP(d,2,100109,195341)|0;g=c[46732]|0;c[g+16>>2]=i;if(!f)h=0;else{h=YP(d,2,67057,195341)|0;g=c[46732]|0}c[g+20>>2]=h;if(!e)h=0;else{h=YP(d,2,67065,195341)|0;g=c[46732]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=YP(d,2,67049,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=YP(d,2,67073,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=YP(d,2,67082,195341)|0;g=c[46732]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;hA(186800+(g<<4)|0,1024,(c[46732]|0)+40+(g<<10)|0);g=g+1|0}return}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;i=j+8|0;g=0;d=b;a:while(1){e=d;do{f=e;e=e+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){e=8;break a}}while(((f<<24>>24)+-48|0)>>>0>=10);d=i+g|0;if((g|0)>=1023){e=7;break}a[d>>0]=f;g=g+1|0;d=e}if((e|0)==7){c[h>>2]=b;dA(0,67091,h)|0}else if((e|0)==8)d=i+g|0;a[d>>0]=0;i=(d6(i)|0)&65535;l=j;return i|0}function Ob(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[46732]>>2]|0;b=c[46705]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[46732]|0)+4>>2]|0;b=c[46721]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[46734]=0;c[46738]=0;return}function Pb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+8>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+12>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[46741]=0;c[46743]=0;return}function Qb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+16>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46709]|0;if((b|0)!=(c[46708]|0)){d=c[(c[46732]|0)+24>>2]|0;if(b>>>0>=(c[46710]|0)>>>0){iA(186832,1)|0;b=c[46709]|0}a[b>>0]=0;b=c[46708]|0;c[46709]=b;HA(e,d,b)|0}b=c[46713]|0;if((b|0)!=(c[46712]|0)){d=c[(c[46732]|0)+20>>2]|0;if(b>>>0>=(c[46714]|0)>>>0){iA(186848,1)|0;b=c[46713]|0}a[b>>0]=0;b=c[46712]|0;c[46713]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+28>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}b=c[46725]|0;if((b|0)!=(c[46724]|0)){d=c[(c[46732]|0)+36>>2]|0;if(b>>>0>=(c[46726]|0)>>>0){iA(186896,1)|0;b=c[46725]|0}a[b>>0]=0;b=c[46724]|0;c[46725]=b;HA(e,d,b)|0}b=c[46729]|0;if((b|0)!=(c[46728]|0)){d=c[(c[46732]|0)+32>>2]|0;if(b>>>0>=(c[46730]|0)>>>0){iA(186912,1)|0;b=c[46729]|0}a[b>>0]=0;b=c[46728]|0;c[46729]=b;HA(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[46742]=0;c[46744]=0;c[46735]=0;c[46736]=0;c[46739]=0;c[46740]=0;return}function Rb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11456+(o<<2)>>2]|0;kA(p,67188)|0;g=f+4|0;_b(k,+h[(c[g>>2]|0)+16>>3]);kA(p,k)|0;bc(d,195341,c[c[g>>2]>>2]|0);Xb(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[46732]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11504+((i&65535)+-15<<2)>>2]&g,n=186932+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;i2(k,67191,r)|0;kA(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[f+24>>3]+ +h[r>>3];kA(p,67197)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Zb(p,j);c[s>>2]=q;i2(k,102521,s)|0;kA(p,k)|0;_b(k,+h[f+32>>3]);kA(p,k)|0;bc(d,195341,c[f>>2]|0);l=t;return}function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Wb(a);Xb(a);e=11456+(e<<2)|0;if(!d){a=c[e>>2]|0;kA(a,67185)|0}else{if((d|1|0)==3)dc(a,d,b,2);else ec(a);a=c[e>>2]|0;kA(a,67182)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Zb(a,f);_b(g,+h[b+16>>3]-+h[b>>3]);kA(a,g)|0;_b(g,+h[b+24>>3]-+h[b+8>>3]);kA(a,g)|0;l=i;return}function Tb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb(a);Xb(a);if(!d)Yb(a,112,b,c);else{if((d|1|0)==3)dc(a,d,b,c);else ec(a);Yb(a,80,b,c)}return}function Ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wb(a);Xb(a);if(!f)Yb(a,66,b,c);else{if((f|1|0)==3)dc(a,f,b,c);else ec(a);Yb(a,98,b,c)}return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;Wb(a);Xb(a);Yb(a,76,b,c);return}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;hA(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;kA(m,67154)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];i2(f,67168,i)|0;$b(f,0);kA(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;bc(b,67173,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(f2(d,111402)|0)){d=i;continue a}break}case 98:{if(!(f2(d,111384)|0)){d=i;continue a}break}case 115:{if(!(f2(d,111389)|0)){d=i;continue a}break}default:{}}kA(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}kA(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;bc(b,67173,d);d=i}lA(m)}l=n;return}function Xb(a){a=a|0;ac((c[a+16>>2]|0)+16|0);bc(a,76106,194038);return}function Yb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11456+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;i2(i,67118,j)|0;kA(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Zb(h,j);b=b+1|0}l=k;return}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,+h[b>>3]);kA(a,d)|0;_b(d,+tL(+h[b+8>>3]));kA(a,d)|0;l=c;return}function _b(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;i2(a,67123,d)|0;$b(a,1);l=c;return}function $b(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=F3(b,46)|0;e=(c|0)!=0;if(!d){if(e){d=b+(D3(b)|0)|0;f=10}}else{while(1){c=d+1|0;if(!(a[c>>0]|0))break;else d=c}a:while(1){switch(a[d>>0]|0){case 46:{f=5;break a}case 48:break;default:{f=6;break a}}a[d>>0]=0;d=d+-1|0}if((f|0)==5)a[d>>0]=0;else if((f|0)==6)d=d+1|0;if(e)f=10}if((f|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function ac(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;i2(194038,75986,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;i2(194038,67136,i)|0}l=j;return}function bc(a,b,d){a=a|0;b=b|0;d=d|0;cc(c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=D3(e)|0;c[h>>2]=d;c[h+4>>2]=i;i2(g,67129,h)|0;kA(b,g)|0;kA(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function dc(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1120|0;s=w+64|0;v=w+80|0;k=w+32|0;q=w+16|0;r=w;t=c[b+16>>2]|0;j=+(c[t+136>>2]|0)*3.141592653589793/180.0;if((e[(c[46732]|0)+8232>>1]|0)<14)ec(b);else{hA(v,1024,w+96|0);u=(d|0)==2;if(u){nQ(f,k,i,j,2);f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];Zb(v,s);r=k+16|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s)}else{nQ(f,k,i,0.0,3);p=+h[k+24>>3];n=+h[k>>3];m=+h[k+8>>3];o=p*.25;if(j==0.0){h[q>>3]=n;j=m}else{h[q>>3]=n+o*+I(+j);j=m+o*+J(+j)}h[q+8>>3]=j;h[r>>3]=n;h[r+8>>3]=m;f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];Zb(v,s);fc(v,o);c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s);fc(v,p)}kA(v,67179)|0;f=t+140|0;j=+g[f>>2];i=t+56|0;d=t+96|0;if(j>0.0){gc(v,j,i);gc(v,+g[f>>2],d)}else{gc(v,0.0,i);gc(v,1.0,d)}mA(v)|0;k=v+4|0;d=c[k>>2]|0;i=v+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(u){if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){iA(v,1)|0;d=c[k>>2]|0}a[d>>0]=0;u=c[v>>2]|0;c[k>>2]=u;bc(b,67176,u);lA(v)}l=w;return}function ec(a){a=a|0;ac((c[a+16>>2]|0)+56|0);bc(a,67176,194038);return}function fc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,b);kA(a,d)|0;l=c;return}function gc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;i2(e,94469,f)|0;$b(e,1);ac(c);cc(a,e,194038);l=d;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;kA(g,67285)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Zb(g,i);_b(f,+h[d+16>>3]-+h[d>>3]);kA(g,f)|0;_b(f,+h[d+24>>3]-+h[d+8>>3]);kA(g,f)|0;bc(a,195341,c[b+8>>2]|0);l=e;return}function ic(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=yF(c[a>>2]|0)|0;mG(b,c[(c[a+16>>2]|0)+8>>2]|0,68069,0)|0;zF(b);break}case 1:{HL(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function jc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[46745]|0)){c[46745]=c[4689];c[46746]=57;c[46747]=19}c[(c[e+64>>2]|0)+8>>2]=186980;kc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;lc(e,b,1,d);l=f;return}function kc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;kc(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Sz(11876,c[4591]|0)|0;WC(a,1,141363,12,0);WC(a,2,141363,12,0);WC(a,0,141363,-12,0);f=mc(a,0,m)|0;j=gC(a)|0;i=0;g=0;while(1){if(!j)break;if(!(h2(HB(j)|0,108307,7)|0)){k=g;g=nc(m,HB(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(PC(j,141363,0)|0)+8>>2]=g;h=UA(a,j)|0;g=i;while(1){if(!h)break;c[(PC(h,141363,0)|0)+8>>2]=g;h=WA(a,h)|0;g=g+1|0}j=hC(a,j)|0;i=g;g=k}Oz(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;oc(b,m);mF(b,97675)|0;pc(a,b,d,e);qc(a,b,e);mF(b,97646)|0;oc(b,c[e>>2]|0);if(n){c[o>>2]=f;sF(b,67288,o)}else{c[p>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67308,p)}sc(a,b,d,rc(a,b,d,e)|0,e);tc(a,b,d,e);mF(b,153748)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;oc(b,p);if(n)mF(b,111309)|0;else mF(b,75629)|0;l=q;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((vC(a)|0)!=(a|0)){e=b+1|0;c[(PC(a,141363,0)|0)+8>>2]=b;if(!(h2(HB(a)|0,108307,7)|0)){b=HB(a)|0;Fc(d,b,c[(PC(a,141363,0)|0)+8>>2]|0);b=e}else b=e}e=MD(a)|0;while(1){if(!e)break;a=mc(e,b,d)|0;e=ND(e)|0;b=a}return b|0}function nc(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function oc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;mF(a,90875)|0;b=b+-1|0}return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=HB(a)|0;oc(b,c[e>>2]|0);c[i>>2]=wc(j,e)|0;sF(b,67396,i);if(d|0){mF(b,97646)|0;oc(b,c[e>>2]|0);j=(uB(a)|0)!=0;c[f>>2]=j?107953:137609;sF(b,68010,f);oc(b,c[e>>2]|0);j=(wB(a)|0)!=0;c[g>>2]=j?107953:137609;sF(b,68027,g)}l=h;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=vC(b)|0;j=c[b>>2]&3;f=IA(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=OA(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(f2(g,108525)|0)break}mF(d,97646)|0;oc(d,c[e>>2]|0);c[m>>2]=wc(c[h>>2]|0,e)|0;sF(d,67446,m);if(a[k>>0]|0?yc(c[h>>2]|0)|0:0){zc(OA(b,f)|0,d,e);break}c[n>>2]=wc(OA(b,f)|0,e)|0;sF(d,67453,n)}while(0);f=IA(i,j,f)|0}}while(0);l=o;return}function rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=MD(a)|0;if(f){mF(b,97646)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(b,g);g=(d|0)!=0;if(g){mF(b,67370)|0;a=0;d=f}else{mF(b,67430)|0;oc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else mF(b,97646)|0;if(g)xc(d,b,e);else{c[h>>2]=c[(PC(d,141363,0)|0)+8>>2];sF(b,137696,h)}d=ND(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0;a=1}}else a=0;l=i;return a|0}function sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=gC(a)|0;e=(e|0)!=0;if(!g){if((d|0)!=0&e){c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}}else{mF(b,97646)|0;h=(d|0)!=0;if(h)if(e)e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67370)|0;e=0}else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67384)|0;oc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(h2(HB(g)|0,108307,7)|0){do if(e)if(h){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else e=1;while(0);vc(g,b,d,f)}g=hC(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=gC(a)|0;a:do if(f|0){while(1){if(!f)break a;if(UA(a,f)|0)break;f=hC(a,f)|0}mF(b,97646)|0;i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,67320)|0;i=(d|0)!=0;if(i)g=0;else{oc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=UA(a,f)|0;while(1){if(!h)break;do if(g)if(i){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else g=1;while(0);uc(h,b,d,e);h=WA(a,h)|0}f=hC(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0}while(0);return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=c[(PC(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67346,g);oc(b,c[e>>2]|0);c[h>>2]=c[(PC(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67359,h);qc(a,b,e);mF(b,153748)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;oc(b,i);mF(b,75629)|0}l=j;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;oc(b,h);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=wc(HB(a)|0,e)|0;sF(b,67396,g);qc(a,b,e);mF(b,153748)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;oc(b,h);mF(b,75629)|0}l=i;return}function wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=cQ(b)|0;if(!(c[46748]|0)){hA(186992,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{kA(186992,67409)|0;break}case 92:{kA(186992,96917)|0;break}case 47:{kA(186992,67412)|0;break}case 8:{kA(186992,67415)|0;break}case 12:{kA(186992,67418)|0;break}case 10:{kA(186992,67421)|0;break}case 13:{kA(186992,67424)|0;break}case 9:{kA(186992,67427)|0;break}default:{d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}c[46749]=d+1;a[d>>0]=f}}e=e+1|0}d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}a[d>>0]=0;d=c[46748]|0;c[46749]=d;if(a[g>>0]|0)l6(b);return d|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;lc(a,b,0,c);a=MD(a)|0;while(1){if(!a)break;mF(b,97646)|0;xc(a,b,c);a=ND(a)|0}return}function yc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(f2(c,67967)|0)){b=1;break a}break}case 2:{if(!(f2(c,67973)|0)){b=1;break a}break}case 1:{if(!(f2(c,67980)|0)){b=1;break a}b=(f2(c,67994)|0)==0;break a}case 4:{if(!(f2(c,67987)|0)){b=1;break a}b=(f2(c,68002)|0)==0;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b&1|0}function zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=BH(b)|0;if(!h){c[f>>2]=b;dA(0,67458,f)|0;break}mF(d,153748)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(d,g);mF(d,67485)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else mF(d,97646)|0;Ac((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;mF(d,153748)|0;oc(d,c[e>>2]|0);mF(d,97641)|0;CH(h)}while(0);l=i;return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;oc(b,e);mF(b,97675)|0;oc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;sF(b,67488,f);oc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;sF(b,67501,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;sF(b,67488,z);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;sF(b,67488,i);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 6:{sF(b,67536,A+56|0);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 7:{sF(b,67548,A+64|0);oc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;sF(b,67560,j);oc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;sF(b,67582,k);oc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];sF(b,67598,m);oc(b,c[d>>2]|0);c[n>>2]=wc(c[a+40>>2]|0,d)|0;sF(b,67615,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;sF(b,67488,o);oc(b,c[d>>2]|0);sF(b,67629,A+120|0);oc(b,c[d>>2]|0);c[p>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67646,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;sF(b,67488,q);oc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{sF(b,67629,A+144|0);oc(b,c[d>>2]|0);c[r>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67646,r);break a}case 1:{sF(b,67661,A+160|0);oc(b,c[d>>2]|0);Cc(b,a+16|0,d);break a}default:{sF(b,67680,A+168|0);oc(b,c[d>>2]|0);Dc(b,a+16|0,d);break a}}}case 10:{sF(b,67699,s);oc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];sF(b,67711,t);oc(b,c[d>>2]|0);c[u>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67727,u);break}case 11:{sF(b,67741,v);oc(b,c[d>>2]|0);c[w>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67753,w);break}case 15:{sF(b,67768,x);oc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];sF(b,67780,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;oc(b,z);mF(b,75629)|0;l=A;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;sF(a,67941,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)sF(a,101300,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;sF(a,67953,g);b=b+1|0}sF(a,67894,i);l=j;return}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;sF(a,67897,i);oc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;sF(a,67919,f);oc(a,c[d>>2]|0);Ec(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;sF(a,67796,j);oc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,67824,f);oc(a,c[d>>2]|0);Ec(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;sF(a,67852,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)sF(a,101300,i);o=+g[d+(f<<3)>>2];n=wc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;sF(a,67863,j);f=f+1|0}sF(a,67894,k);l=m;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=eb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;dA(0,68040,f)|0}}else{f=m6(1,16)|0;c[f+8>>2]=Y3(b)|0;c[f+12>>2]=d;eb[c[a>>2]&63](a,f,1)|0}l=g;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function Hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function Ic(a){a=a|0;mF(a,68876)|0;return}function Jc(a){a=a|0;c[46752]=2;return}function Kc(a){a=a|0;c[46752]=1;return}function Lc(a){a=a|0;c[46752]=2;return}function Mc(a){a=a|0;c[46752]=0;return}function Nc(a){a=a|0;c[46752]=2;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[46752]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*2.0/3.0*+((D3(j)|0)>>>0)*.5;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;e=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3]+-72.0;j=Yc(j)|0;c[o>>2]=4;c[o+4>>2]=e<<24>>24==108?0:e<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q>=0.0?.5:-.5));c[o+72>>2]=j;sF(b,68821,o);l=p;return}function Pc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Xc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}default:Aa(138697,68161,163,68192)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46752]|0;Vc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function Rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46752]|0;Vc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);Wc(a,b,d,1);l=f;return}function Sc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[46752]|0;if((d|0)<=3)Aa(68154,68161,360,68181);t=k6((d*140|0)+140|0)|0;Vc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function Tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46752]|0;Vc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);Wc(a,b,d,0);l=e;return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function Xc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46753]|0;h=195075;g=0;i=-1;while(1){j=190960+(g<<1)|0;k=191472+(g<<1)|0;l=191984+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46753]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46754]|0;if(!d){c[46755]=64;d=k6(64)|0;c[46754]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46755]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46755]=d;d=n6(c[46754]|0,d)|0;c[46754]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46754]|0}function Zc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{mF(b,68492)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,153748)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,102905)|0;mF(b,DK(HB(c[e+8>>2]|0)|0)|0)|0;mF(b,153748)|0}break}case 3:{f=DK(HB(c[e+8>>2]|0)|0)|0;mF(b,68515)|0;mF(b,f)|0;mF(b,68525)|0;mF(b,f)|0;mF(b,68480)|0;break}default:{}}return}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+16>>2]|0;e=d+264|0;f=d+228|0;g=d+244|0;h=d+208|0;i=d+272|0;b=d+268|0;d=d+212|0;switch(c[a+64>>2]|0){case 2:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);break}case 3:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);mF(a,68484)|0;break}default:{}}return}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;ad(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function ad(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[46756]|0)<(f|0)){c[46756]=m;o=n6(c[46757]|0,m<<3)|0;c[46757]=o}else o=c[46757]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;sF(b,68226,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;sF(b,68247,v);break a}case 2:{c[q>>2]=g;sF(b,68267,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[46757]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;sF(b,68275,w);m=m+1|0}mF(b,153748)|0;break a}default:Aa(138697,68282,63,68302)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;sF(b,68319,r);break}else Aa(138697,68282,75,68302)}if((m&-2|0)==2){switch(d|0){case 1:{mF(b,68352)|0;break}case 0:{mF(b,68373)|0;break}case 2:{mF(b,68392)|0;break}default:Aa(138697,68282,91,68302)}if(k|0?a[k>>0]|0:0){mF(b,73872)|0;mF(b,GK(k)|0)|0;mF(b,99045)|0}if(e?a[g>>0]|0:0){mF(b,68411)|0;mF(b,GK(g)|0)|0;mF(b,99045)|0}if(j|0?a[j>>0]|0:0){mF(b,74831)|0;mF(b,DK(j)|0)|0;mF(b,99045)|0}if(i|0?a[i>>0]|0:0){mF(b,68419)|0;mF(b,DK(i)|0)|0;mF(b,99045)|0}mF(b,68428)|0;mF(b,68436)|0;b:do switch(d|0){case 1:{f=c[46757]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;sF(b,68446,s);break}case 0:{v=c[46757]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;sF(b,68455,t);break}case 2:{w=c[46757]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;sF(b,68467,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[46757]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;sF(b,68473,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){mF(b,73696)|0;break}else{mF(b,68480)|0;break}}}while(0);l=y;return}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function cd(a){a=a|0;mF(a,68876)|0;return}function dd(a){a=a|0;c[46758]=2;return}function ed(a){a=a|0;c[46758]=1;return}function fd(a){a=a|0;c[46758]=2;return}function gd(a){a=a|0;c[46758]=0;return}function hd(a){a=a|0;c[46758]=2;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[46758]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=sd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;sF(b,68821,m);l=n;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(rd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}case 0:{f=0;k=10;break}default:Aa(138697,68785,168,68804)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46758]|0;pd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46758]|0;pd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);qd(a,b,d,1);l=f;return}function md(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[46758]|0;t=k6((d*140|0)+140|0)|0;pd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46758]|0;pd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);qd(a,b,d,0);l=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function rd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46759]|0;h=195075;g=0;i=-1;while(1){j=192496+(g<<1)|0;k=193008+(g<<1)|0;l=193520+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46759]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46760]|0;if(!d){c[46761]=64;d=k6(64)|0;c[46760]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46761]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46761]=d;d=n6(c[46760]|0,d)|0;c[46760]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46760]|0}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;mF(a,73604)|0;if((c[a+64>>2]|0)==2)mF(a,73619)|0;else mF(a,153748)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;sF(a,73630,b);l=d;return}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;mF(a,73558)|0;b=a+64|0;d=a+12|0;if((c[b>>2]|0)!=2){c[e>>2]=c[(c[d>>2]|0)+28>>2];sF(a,73569,e)}if((c[(c[d>>2]|0)+20>>2]|0)==0?(c[b>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;sF(a,69938,f)}mF(a,73584)|0;mF(a,73597)|0;l=g;return}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[194048]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=HB(c[h>>2]|0)|0;sF(b,69869,i);d=b+64|0;if((c[d>>2]|0)==2)mF(b,69902)|0;else mF(b,69884)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;sF(b,69938,f);break}else{mF(b,69914)|0;break}while(0);mF(b,69968)|0;wM(b,c[(c[e>>2]|0)+24>>2]|0,13040);yM(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;wM(b,0,i)}}c[46762]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[194048]|0)){mF(b,69988)|0;a[194048]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=zM(d,c[46762]|0)|0;sF(b,70001,j)}l=k;return}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;sF(a,69853,f);l=b;return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;sF(a,69480,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;sF(a,69497,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69531:69541;sF(a,69550,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;sF(a,69575,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;sF(a,69614,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;sF(a,69634,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;sF(a,69674,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;lb[t&63](69717,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;sF(a,69812,r)}l=s;return}function yd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){mF(a,69404)|0;wM(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}mF(a,69421)|0;mF(a,69448)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];sF(a,69463,d);l=e;return}function zd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,69397,d);mF(a,69390)|0;l=b;return}function Ad(a){a=a|0;mF(a,84824)|0;return}function Bd(a){a=a|0;mF(a,69390)|0;return}function Cd(a){a=a|0;mF(a,84824)|0;return}function Dd(a){a=a|0;mF(a,69390)|0;return}function Ed(a){a=a|0;mF(a,84824)|0;return}function Fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){mF(a,69286)|0;wF(a,c[g>>2]|0,2);mF(a,69297)|0;c[d>>2]=zM(b,c[46762]|0)|0;sF(a,69301,d)}l=e;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Nd(b,f+16|0);f=e+4|0;tF(b,+h[(c[f>>2]|0)+16>>3]);c[j>>2]=c[c[f>>2]>>2];sF(b,69245,j);f=zM(c[e>>2]|0,c[46762]|0)|0;i=e+32|0;switch(a[e+48>>0]|0){case 114:{g=+h[i>>3];break}case 108:{g=0.0;break}default:g=+h[i>>3]*.5}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[e+24>>3]+ +h[n>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];vF(b,j);mF(b,69260)|0;tF(b,+h[i>>3]);c[k>>2]=f;sF(b,69269,k)}l=m;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Nd(a,e+56|0);wF(a,f,2);mF(a,69203)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[b>>2]|0)+16|0);wF(a,f,2);mF(a,69223)|0}l=g;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Nd(a,f+56|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69169)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[g>>2]|0)+16|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69185)|0}l=j;return}function Jd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69169)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69151)|0}l=k;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[e>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];vF(a,f);mF(a,69142)|0;e=e+1|0}mF(a,69151)|0}l=g;return}function Ld(a,b){a=a|0;b=b|0;mF(a,69121)|0;mF(a,b)|0;mF(a,153748)|0;return}function Md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[k>>2]=e;c[k+4>>2]=b;sF(a,69038,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[m>>2]=e;c[m+4>>2]=b;sF(a,69054,m)}l=n;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=111795;break}case 2:{d=111782;break}case 3:{d=111751;break}default:d=69090}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;sF(a,69097,e)}l=f;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;tF(b,+h[i+152>>3]);mF(b,69071)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(f2(f,111389)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;sF(b,69086,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(f2(f,134636)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;sF(b,96971,k);d=i}l=m;return}function Pd(b){b=b|0;var d=0;mF(b,75110)|0;d=NA(c[(c[b>>2]|0)+168>>2]|0,75166)|0;if(d|0?a[d>>0]|0:0){mF(b,75177)|0;mF(b,d)|0;mF(b,75201)|0}mF(b,75222)|0;mF(b,75270)|0;mF(b,75324)|0;d=b+12|0;mF(b,DK(c[c[c[d>>2]>>2]>>2]|0)|0)|0;mF(b,78453)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;mF(b,78463)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;mF(b,75706)|0;mF(b,75730)|0;return}function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;mF(b,74945)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,74950,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;sF(b,74966,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;sF(b,74999,g);mF(b,75030)|0;mF(b,75066)|0;mF(b,76660)|0;l=i;return}function Rd(a){a=a|0;mF(a,74937)|0;return}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ne(a,b,0,101811,c[(c[a+16>>2]|0)+8>>2]|0);mF(a,76660)|0;return}function Td(a){a=a|0;mF(a,74785)|0;return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;ne(b,c[g+212>>2]|0,0,111795,c[d>>2]|0);mF(b,74889)|0;tF(b,+h[b+488>>3]);mF(b,102905)|0;tF(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);sF(b,74908,f);tF(b,+h[b+504>>3]);mF(b,102905)|0;tF(b,-+h[b+512>>3]);mF(b,74932)|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,74841)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0;mF(b,74849)|0}l=e;return}function Vd(a){a=a|0;mF(a,74785)|0;return}function Wd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,108307,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[b>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Xd(a){a=a|0;mF(a,74785)|0;return}function Yd(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;ne(a,c[d+212>>2]|0,b,111782,c[e>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[e>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Zd(a){a=a|0;mF(a,74785)|0;return}function _d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,111751,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;b=CK(102396,c[b>>2]|0)|0;mF(a,DK(b)|0)|0;l6(b);mF(a,74849)|0;return}function $d(a){a=a|0;mF(a,74785)|0;return}function ae(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mF(b,74791)|0;if(f|0){mF(b,74794)|0;mF(b,DK(f)|0)|0;mF(b,99045)|0}mF(b,74684)|0;mF(b,76621)|0;if(c|0?a[c>>0]|0:0){mF(b,74802)|0;mF(b,c)|0;mF(b,99045)|0}if(d|0?a[d>>0]|0:0){mF(b,74816)|0;mF(b,EK(d,1)|0)|0;mF(b,99045)|0}if(e|0?a[e>>0]|0:0){mF(b,74831)|0;mF(b,DK(e)|0)|0;mF(b,99045)|0}mF(b,76660)|0;return}function be(a){a=a|0;mF(a,76615)|0;mF(a,74785)|0;return}function ce(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;mF(e,74316)|0;switch(a[g+48>>0]|0){case 108:{mF(e,74322)|0;break}case 114:{mF(e,74343)|0;break}default:mF(e,74362)|0}H=f+8|0;G=+h[g+24>>3]+ +h[H>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){mF(e,74384)|0;tF(e,+h[f>>3]);mF(e,74389)|0;tF(e,-G);mF(e,99045)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){f=n+16|0;i=n+8|0;switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:m=n+4|0}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];sF(e,74395,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;sF(e,74412,p)}mF(e,99045)|0;if(f|0){c[r>>2]=f;sF(e,74416,r)}if(k|0){c[s>>2]=k;sF(e,74434,s)}if(!j)j=0;else{c[q>>2]=j;sF(e,74453,q)}}else{c[i>>2]=c[f>>2];sF(e,74470,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))sF(e,74488,t);if(!((j|0)!=0|(z&2|0)==0))sF(e,74508,u);if(z&100|0){sF(e,74529,v);if(!(z&4))f=0;else{sF(e,106287,w);f=1}if(z&64){c[y>>2]=f|0?101300:195341;sF(e,74548,y);f=1}if(z&32|0){c[A>>2]=f|0?101300:195341;sF(e,74559,A)}sF(e,99045,B)}if(z&8|0)sF(e,74574,C);if(z&16|0)sF(e,74598,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];sF(e,74620,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(C3(f,137615)|0){c[J>>2]=f;sF(e,74638,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;sF(e,74649,F);break}default:Aa(138697,73830,486,74671)}mF(e,74684)|0;if(b[H>>1]&512){c[K>>2]=DK(c[I+212>>2]|0)|0;sF(e,74686,K);mF(e,74735)|0;tF(e,-G);mF(e,74753)|0}mF(e,EK(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)sF(e,74756,L);mF(e,74776)|0;l=M;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=ke(a,b,2)|0;break}case 3:{d=le(a)|0;break}default:d=0}mF(a,74280)|0;ie(a,c,d);mF(a,74289)|0;tF(a,+h[b>>3]);mF(a,74295)|0;c=b+8|0;tF(a,-+h[c>>3]);mF(a,74302)|0;tF(a,+h[b+16>>3]-+h[b>>3]);mF(a,74309)|0;tF(a,+h[b+24>>3]-+h[c>>3]);mF(a,73696)|0;return}function ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=ke(a,b,c)|0;break}case 3:{e=le(a)|0;break}default:e=0}mF(a,74271)|0;ie(a,d,e);mF(a,73686)|0;e=0;while(1){if((e|0)>=(c|0))break;tF(a,+h[b+(e<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(e<<4)+8>>3]);mF(a,102905)|0;e=e+1|0}tF(a,+h[b>>3]);mF(a,101300)|0;tF(a,-+h[b+8>>3]);mF(a,73696)|0;return}function fe(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=ke(a,d,e)|0;break}case 3:{f=le(a)|0;break}default:f=0}mF(a,73866)|0;if(b[g+260>>1]&512){mF(a,73872)|0;mF(a,DK(c[g+212>>2]|0)|0)|0;mF(a,73878)|0}ie(a,h,f);mF(a,73883)|0;me(a,d,e);mF(a,73696)|0;return}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;mF(a,73676)|0;ie(a,0,0);mF(a,73686)|0;d=0;while(1){if((d|0)>=(c|0))break;tF(a,+h[b+(d<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(d<<4)+8>>3]);mF(a,102905)|0;d=d+1|0}mF(a,73696)|0;return}function he(a,b){a=a|0;b=b|0;mF(a,73670)|0;mF(a,DK(b)|0)|0;mF(a,75730)|0;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;mF(b,73701)|0;a:do switch(d|0){case 2:{c[f>>2]=e;sF(b,73709,f);break}case 3:{c[g>>2]=e;sF(b,73720,g);break}case 0:{mF(b,136010)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)/255.0;sF(b,73731,j)}}}while(0);mF(b,73750)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);d=m+152|0;if(+h[d>>3]!=1.0){mF(b,73761)|0;tF(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73801;sF(b,73778,o);break}case 2:{c[n>>2]=73805;sF(b,73778,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)/255.0;sF(b,73809,p)}while(0);mF(b,99045)|0;l=q;return}function je(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,137680)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,73830,117,73850)}while(0);l=g;return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[46764]|0;c[46764]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*3.141592653589793/180.0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;nQ(d,k,e,f,0);c[o>>2]=q;sF(b,74103,o);mF(b,74168)|0;tF(b,+h[k>>3]);mF(b,74173)|0;tF(b,+h[k+8>>3]);mF(b,74180)|0;tF(b,+h[k+16>>3]);mF(b,74187)|0;tF(b,+h[k+24>>3]);mF(b,74194)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;sF(b,74199,i)}else mF(b,73975)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)/255.0;sF(b,99913,m)}else s=7;while(0);if((s|0)==7)mF(b,74026)|0;mF(b,74029)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;sF(b,74199,n)}else mF(b,74035)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)/255.0;sF(b,99913,r)}else s=14;while(0);if((s|0)==14)mF(b,74026)|0;mF(b,74239)|0;l=t;return q|0}function le(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[46763]|0;c[46763]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*3.141592653589793/180.0;e=r;if(r==0.0){f=50;d=50}else{f=~~((+I(+e)+1.0)*50.0);d=~~((1.0-+J(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;sF(b,73891,k);mF(b,73975)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)/255.0;sF(b,99913,j)}else p=6;while(0);if((p|0)==6)mF(b,74026)|0;mF(b,74029)|0;mF(b,74035)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)/255.0;sF(b,99913,o)}else p=10;while(0);if((p|0)==10)mF(b,74026)|0;mF(b,74071)|0;l=q;return n|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;sF(a,73888,g);tF(a,+h[b+(f<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function ne(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;mF(b,74859)|0;mF(b,DK(d)|0)|0;if(e|0){c[h>>2]=DK(e)|0;sF(b,74867,h)}c[i>>2]=f;sF(b,74871,i);d=NA(g,74883)|0;if(d|0?a[d>>0]|0:0){mF(b,102905)|0;mF(b,DK(d)|0)|0}mF(b,99045)|0;l=j;return}function oe(a){a=a|0;var b=0;mF(a,75690)|0;b=a+12|0;mF(a,ye(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,75706)|0;return}function pe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;mF(b,75667)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,ye(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,75678,e);c[46765]=0;l=f;return}function qe(a){a=a|0;c[46765]=1;return}function re(a){a=a|0;c[46765]=-1;return}function se(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[(c[k>>2]|0)+16>>3]*+h[b+352>>3]),j|0):0){ze(b);mF(b,75606)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];vF(b,i);mF(b,75620)|0;mF(b,c[e>>2]|0)|0;mF(b,75629)|0;mF(b,75427)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Ae(b,i);mF(b,75631)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;mF(b,99045)|0;mF(b,k)|0;mF(b,99045)|0;c[m>>2]=j;sF(b,75640,m);switch(a[e+48>>0]|0){case 108:{mF(b,75645)|0;break}case 114:{mF(b,75656)|0;break}default:{}}Be(b);mF(b,153748)|0}l=n;return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];e=b+8|0;m=+h[e>>3];k=+h[b+24>>3]-m;h[b>>3]=n-(+h[b+16>>3]-n);h[e>>3]=m-k;ze(a);mF(a,75592)|0;wF(a,b,2);mF(a,75427)|0;do if(!d)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){ze(a);mF(a,75564)|0;wF(a,b,d);mF(a,75427)|0;do if(!e)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ve(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ae(a,i);mF(a,75538)|0;tF(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){mF(a,75435)|0;e=c[k>>2]|0}if((e|0)==2)mF(a,75444)|0;mF(a,75547)|0;Be(a);mF(a,153748)|0}l=m;return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Ae(a,g);b=c[h>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[h>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=i;return}function xe(a,b){a=a|0;b=b|0;mF(a,75410)|0;mF(a,ye(b)|0)|0;mF(a,153748)|0;return}function ye(a){a=a|0;return a|0}function ze(b){b=b|0;if(!(a[b+144>>0]|0))mF(b,75535)|0;else mF(b,c[b+148>>2]|0)|0;return}function Ae(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,97610)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,75453,49,75517)}while(0);l=g;return}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;h=c[a+16>>2]|0;e=h+8|0;switch(c[h+12>>2]|0){case 8:{b=1;d=111782;break}case 10:{b=0;d=111782;break}case 3:case 2:case 9:{b=1;d=111751;break}case 7:case 6:case 11:{b=0;d=111751;break}case 0:{b=1;d=111795;break}case 4:{b=0;d=75489;break}case 1:{b=1;d=111795;break}case 5:{b=0;d=111795;break}default:Aa(138697,75453,106,75472)}h=c[(c[e>>2]|0)+8>>2]|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;sF(a,75501,f);l=g;return}function Ce(a){a=a|0;var b=0;mF(a,78425)|0;mF(a,78433)|0;b=a+12|0;mF(a,Ne(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,78466)|0;return}function De(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[46769]=~~(+h[b+232>>3]-+h[b+216>>3]);c[46768]=~~(+h[b+224>>3]-+h[b+208>>3]);mF(b,77112)|0;mF(b,77119)|0;d=HB(c[d+8>>2]|0)|0;if(a[d>>0]|0){mF(b,77188)|0;mF(b,Ne(d)|0)|0;mF(b,77196)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,77205,e);mF(b,77225)|0;mF(b,77260)|0;mF(b,77288)|0;mF(b,77294)|0;mF(b,77337)|0;mF(b,77378)|0;mF(b,77397)|0;mF(b,77414)|0;mF(b,77462)|0;mF(b,77515)|0;mF(b,77591)|0;mF(b,77667)|0;mF(b,77676)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77990)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,78003)|0;mF(b,78011)|0;mF(b,78017)|0;mF(b,78031)|0;mF(b,78039)|0;mF(b,78072)|0;e=(c[46769]|0)+10|0;c[f>>2]=c[46768];c[f+4>>2]=e;sF(b,78149,f);mF(b,78179)|0;mF(b,78188)|0;mF(b,78246)|0;mF(b,78256)|0;mF(b,78321)|0;f=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=f;sF(b,78358,g);g=c[46769]|0;c[i>>2]=c[46768];c[i+4>>2]=g;sF(b,78386,i);l=j;return}function Ee(a){a=a|0;mF(a,76663)|0;mF(a,76675)|0;mF(a,76683)|0;mF(a,76746)|0;mF(a,76675)|0;mF(a,76791)|0;mF(a,76840)|0;mF(a,76894)|0;mF(a,76675)|0;mF(a,76994)|0;mF(a,77043)|0;mF(a,76675)|0;mF(a,77095)|0;return}function Fe(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;mF(b,76621)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Ne(d)|0;sF(b,76624,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Ne(e)|0;sF(b,76635,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Ne(f)|0;sF(b,76647,i)}mF(b,76660)|0;l=j;return}function Ge(a){a=a|0;mF(a,76615)|0;return}function He(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;m=+h[f+32>>3];switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];break}case 114:{j=+h[e>>3]-m;break}default:j=+h[e>>3]-m*.5}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}D=j+-8.0;B=+((c[46769]|0)>>>0)-+h[e+8>>3];C=k/5.0+(k<12.0?1.4:2.0);k=C+(B-i);sF(b,76277,n);h[o>>3]=D;h[o+8>>3]=k;sF(b,76214,o);h[p>>3]=m+j+8.0-D;h[p+8>>3]=C+B-k;sF(b,76238,p);mF(b,76312)|0;mF(b,76346)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];sF(b,76436,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;sF(b,76455,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;sF(b,76472,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;sF(b,76490,v)}}else{c[q>>2]=c[g>>2];sF(b,76436,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];sF(b,76506,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(C3(g,137615)|0){c[z>>2]=g;sF(b,76526,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;sF(b,76536,y);break}default:Aa(138697,76e3,438,76557)}mF(b,76570)|0;mF(b,Ne(c[f>>2]|0)|0)|0;mF(b,76581)|0;mF(b,76604)|0;l=A;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;mF(a,76178)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+8>>3];g=+h[b+24>>3]-k;k=+((c[46769]|0)>>>0)-(k+g);h[j>>3]=m-i;h[j+8>>3]=k;sF(a,76214,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;sF(a,76238,f);Re(a,d);mF(a,76060)|0;Pe(a);mF(a,76266)|0;l=e;return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;mF(a,75783)|0;n=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=n;sF(a,76036,g);Re(a,e);mF(a,76060)|0;Pe(a);mF(a,76063)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){mF(a,76090)|0;h[j>>3]=i;h[j+8>>3]=f;sF(a,76156,j);mF(a,76167)|0}else{h[k>>3]=i;h[k+8>>3]=f;sF(a,76156,k)}if((e|0)==(g|0))mF(a,76170)|0;e=e+1|0}mF(a,75899)|0;l=m;return}function Ke(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;mF(a,75783)|0;h=c[46769]|0;c[e>>2]=c[46768];c[e+4>>2]=h;sF(a,76036,e);Re(a,g);mF(a,76060)|0;Pe(a);mF(a,76063)|0;Se(a,b,d);mF(a,76076)|0;l=f;return}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;mF(a,75783)|0;g=c[46769]|0;c[f>>2]=c[46768];c[f+4>>2]=g;sF(a,75820,f);mF(a,75860)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){mF(a,75872)|0;m=+((c[46769]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;sF(a,75876,i);mF(a,75887)|0}else{m=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;sF(a,75876,j)}if((e|0)==(f|0))mF(a,75891)|0;e=e+1|0}mF(a,75895)|0;Pe(a);mF(a,75899)|0;l=k;return}function Me(a,b){a=a|0;b=b|0;mF(a,75718)|0;mF(a,Ne(b)|0)|0;mF(a,75730)|0;return}function Ne(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[46766]|0;if(!d){c[46767]=64;d=IK(64)|0;c[46766]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;m=g;p=b;j=e;k=f;b:while(1){if(!p){t=29;break a}b=a[p>>0]|0;if(!(b<<24>>24)){t=29;break a}e=c[46767]|0;if((q|0)>(e+-8|0)){d=e<<1;c[46767]=d;d=KK(c[46766]|0,d)|0;c[46766]=d;d=d+q|0;e=a[p>>0]|0}else e=b;b=p+1|0;switch(e<<24>>24){case 60:{e=4;f=102454;t=24;break b}case 62:{e=4;f=102437;t=25;break b}case 38:{t=11;break b}case 45:{e=5;f=102448;i=m;break b}default:{}}if(n&e<<24>>24==32){t=13;break}switch(e<<24>>24){case 34:{e=6;f=102411;t=24;break b}case 39:{e=5;f=102442;t=25;break b}default:{}}if(e<<24>>24<0){i=127;f=0}else{e=1;f=p;t=24;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=h&i&255;i=g>>>1;f=f+1|0}g=(f|0)>1;j=v6(j|0,k|0,6)|0;k=g?f:m;f=w6(e&255|0,0,(g?0:j)|0,(g?0:D)|0)|0;g=D;m=k+-1|0;if((k|0)>1){p=b;j=f;k=g}else{t=19;break}}if((t|0)==11){t=0;f=(Oe(p)|0)==0;e=f?5:1;f=f?102431:p;i=m}else if((t|0)==13){t=0;f=(a[o>>0]|0)==32;e=f?6:1;f=f?102424:p;i=m}else if((t|0)==19){t=0;a[s>>0]=59;e=3;i=r;j=f;k=g;while(1){f=J6(j|0,k|0,10,0)|0;h=i+-1|0;a[i>>0]=f|48;f=j;j=E6(j|0,k|0,10,0)|0;g=k;k=D;o=e;e=e+1|0;if((o|0)>11){t=21;break a}if(!(g>>>0>0|(g|0)==0&f>>>0>9))break;else i=h}f=i+-2|0;a[h>>0]=35;a[f>>0]=38;i=m}else if((t|0)==24){t=0;i=m}else if((t|0)==25){t=0;i=m}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[f>>0]|0;g=g+-1|0;f=f+1|0;d=d+1|0}g=i;q=e+q|0;o=p;d=h;e=j;f=k}if((t|0)==21){_3(75736,46,1,c[15715]|0)|0;$a(1)}else if((t|0)==29){a[d>>0]=0;l=u;return c[46766]|0}return 0}function Oe(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Pe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;mF(a,75911)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Qe(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;sF(a,75929,j)}switch(c[i+144>>2]|0){case 1:{mF(a,75946)|0;break}case 2:{mF(a,75964)|0;break}default:{}}mF(a,75981)|0;l=k;return}function Qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,136010)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,76e3,94,76020)}while(0);l=g;return}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)mF(a,76139)|0;else{d=c[a+16>>2]|0;mF(a,76109)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Qe(a,f);mF(a,76136)|0}l=g;return}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=76090;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[46769]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;sF(a,76093,g);e=(f|0)==0?76106:195341;f=f+1|0}mF(a,99045)|0;l=i;return}function Te(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;mF(a,80723)|0;mF(a,80738)|0;mF(a,80777)|0;mF(a,80826)|0;c[e>>2]=137615;c[e+4>>2]=80914;sF(a,80895,e);c[d>>2]=137499;c[d+4>>2]=80920;sF(a,80895,d);l=b;return}function Ue(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79676,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+N(+(i/500.0))*180.0/3.141592653589793*2.0;e=+N(+(g/500.0))*180.0/3.141592653589793*2.0;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;sF(a,79698,d);mF(a,79845)|0;mF(a,80675)|0;l=b;return}function Ve(a){a=a|0;mF(a,79659)|0;return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;sF(a,79629,h);g[46770]=+(S(d,-10)|0);l=f;return}function Xe(a){a=a|0;mF(a,79612)|0;return}function Ye(a){a=a|0;mF(a,79594)|0;return}function Ze(a){a=a|0;mF(a,79578)|0;return}function _e(a){a=a|0;mF(a,79557)|0;g[46770]=+g[46770]+-2.0;return}function $e(a){a=a|0;mF(a,79538)|0;return}function af(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79516,d);l=b;return}function bf(a){a=a|0;mF(a,79500)|0;return}function cf(a){a=a|0;mF(a,79482)|0;g[46770]=+g[46770]+-5.0;return}function df(a){a=a|0;mF(a,79466)|0;g[46770]=+g[46770]+5.0;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;i=r;p=e+4|0;n=c[p>>2]|0;f=+h[n+16>>3];n=c[n>>2]|0;c[i>>2]=c[e>>2];h[i+8>>3]=f;c[i+16>>2]=n;sF(b,79312,i);g[46771]=+g[46770]+-9.0;i=e+32|0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{f=+h[d>>3]-+h[i>>3];k=5;break}default:{f=+h[d>>3]-+h[i>>3]*.5;k=5}}if((k|0)==5)h[d>>3]=f;u=+h[b+488>>3];t=(f+ +h[b+504>>3])*u;s=(+h[d+8>>3]+ +h[b+512>>3])*+h[b+496>>3];h[j>>3]=u*+h[(c[p>>2]|0)+16>>3];n=lf(b,79364,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=lf(b,78581,m)|0;f=+g[46771];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=lf(b,78613,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=mf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79451;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=lf(b,79376,q)|0;mF(b,q)|0;l6(q);l6(i);l6(o);l6(d);l6(n);l=r;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;mF(a,79189)|0;g[46771]=+g[46770]+-6.0;j=+h[b>>3];i=+h[a+488>>3];p=(j+ +h[a+504>>3])*i;k=+h[b+8>>3];A=+h[a+496>>3];q=(k+ +h[a+512>>3])*A;j=i*(+h[b+16>>3]-j);k=A*(+h[b+24>>3]-k);s=a+16|0;A=j+k;i=+h[(c[s>>2]|0)+152>>3]/A*.5*5.0;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=lf(a,78549,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=lf(a,78581,e)|0;A=+g[46771];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=lf(a,78613,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=mf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=lf(a,79204,n)|0;mF(a,w)|0;l6(b);l6(e);l6(f);l6(v);l6(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=lf(a,78549,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=lf(a,78581,r)|0;A=+g[46771];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=lf(a,78613,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=mf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=lf(a,79250,y)|0;mF(a,y)|0;l6(f);l6(e);l6(b);l6(x);l6(y)}l=z;return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+336|0;E=N+296|0;M=N+288|0;L=N+272|0;K=N+264|0;J=N+240|0;G=N+232|0;D=N+208|0;C=N+184|0;A=N+160|0;z=N+152|0;y=N+136|0;x=N+128|0;w=N+96|0;v=N+88|0;u=N+56|0;f=N+48|0;m=N+24|0;k=N;mF(a,79054)|0;g[46771]=+g[46770]+-2.0;s=a+488|0;t=a+496|0;q=+h[t>>3];h[k>>3]=+h[s>>3];h[k+8>>3]=q;h[k+16>>3]=1.0;k=lf(a,78549,k)|0;B=a+360|0;q=+(c[B>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=q;m=lf(a,78581,m)|0;q=+g[46771]+-2.0;h[E>>3]=0.0;h[E+8>>3]=0.0;h[E+16>>3]=q;n=lf(a,78613,E)|0;F=a+16|0;i=E;j=(c[F>>2]|0)+16|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,0.0)|0;c[f>>2]=78676;c[f+4>>2]=d+1;H=a+512|0;I=a+504|0;i=0;f=lf(a,78645,f)|0;while(1){o=+h[H>>3];p=+h[I>>3];q=+h[(c[F>>2]|0)+152>>3];if((i|0)>=(d|0))break;o=o+ +h[b+(i<<4)+8>>3];h[u>>3]=p+ +h[b+(i<<4)>>3];h[u+8>>3]=o;h[u+16>>3]=0.0;h[u+24>>3]=q;O=lf(a,78690,u)|0;c[v>>2]=f;c[v+4>>2]=O;r=lf(a,78719,v)|0;l6(O);l6(f);i=i+1|0;f=r}o=o+ +h[b+8>>3];h[w>>3]=p+ +h[b>>3];h[w+8>>3]=o;h[w+16>>3]=0.0;h[w+24>>3]=q;w=lf(a,78690,w)|0;c[x>>2]=f;c[x+4>>2]=w;O=lf(a,78719,x)|0;l6(w);l6(f);c[y>>2]=k;c[y+4>>2]=m;c[y+8>>2]=n;c[y+12>>2]=j;y=lf(a,79069,y)|0;c[z>>2]=O;c[z+4>>2]=y;O=lf(a,78774,z)|0;l6(y);mF(a,O)|0;l6(k);l6(m);l6(n);l6(j);l6(O);if(e|0){q=+h[t>>3];h[A>>3]=+h[s>>3];h[A+8>>3]=q;h[A+16>>3]=1.0;n=lf(a,78549,A)|0;q=+(c[B>>2]|0);h[C>>3]=0.0;h[C+8>>3]=0.0;h[C+16>>3]=q;m=lf(a,78581,C)|0;q=+g[46771]+-2.0;h[D>>3]=0.0;h[D+8>>3]=0.0;h[D+16>>3]=q;k=lf(a,78613,D)|0;i=E;j=(c[F>>2]|0)+56|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,.25)|0;c[G>>2]=d;i=0;f=lf(a,79114,G)|0;while(1){if((i|0)>=(d|0))break;q=+h[b+(i<<4)+8>>3]+ +h[H>>3];h[J>>3]=+h[b+(i<<4)>>3]+ +h[I>>3];h[J+8>>3]=q;h[J+16>>3]=0.0;G=lf(a,79129,J)|0;c[K>>2]=f;c[K+4>>2]=G;O=lf(a,79151,K)|0;l6(G);l6(f);i=i+1|0;f=O}c[L>>2]=n;c[L+4>>2]=m;c[L+8>>2]=k;c[L+12>>2]=j;L=lf(a,79161,L)|0;c[M>>2]=f;c[M+4>>2]=L;O=lf(a,78774,M)|0;l6(L);mF(a,O)|0;l6(n);l6(m);l6(k);l6(j);l6(O)}l=N;return}function hf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;mF(a,78981)|0;g[46771]=+g[46770]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=lf(a,78549,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=lf(a,78581,s)|0;C=+g[46771]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=lf(a,78613,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=mf(a,e,0.0)|0;c[k>>2]=78995;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=lf(a,78645,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[i>>3]+ +h[p>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[f>>3]+ +h[o>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=lf(a,78690,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=lf(a,78719,w)|0;l6(k);l6(e);if((m|0)==0|(m|0)==(q|0)){C=+h[i>>3]+ +h[p>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[f>>3]+ +h[o>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=lf(a,78690,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=lf(a,78719,y)|0;l6(k);l6(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=lf(a,79004,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=lf(a,78774,A)|0;l6(b);mF(a,d)|0;l6(r);l6(s);l6(t);l6(n);l6(d);l=B;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;mF(a,78533)|0;g[46771]=+g[46770]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=lf(a,78549,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=lf(a,78581,n)|0;w=+g[46771];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=lf(a,78613,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=mf(a,e,0.0)|0;c[m>>2]=78676;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=lf(a,78645,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[b+(f<<4)+8>>3]+ +h[k>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[b+(f<<4)>>3]+ +h[j>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=lf(a,78690,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=lf(a,78719,s)|0;l6(x);l6(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=lf(a,78728,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=lf(a,78774,u)|0;l6(t);mF(a,x)|0;l6(q);l6(n);l6(o);l6(i);l6(x);l=v;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,78514,e);l=d;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=k2(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=k6(g+1|0)|0;c[f>>2]=d;j2(a,b,f)|0;break}else{a=Y3(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=v2(c[(L1()|0)>>2]|0)|0;lb[a&63](78959,h);a=Y3(195341)|0}while(0);l=i;return a|0}function mf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;m=q+48|0;p=q+32|0;n=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(f2(f,136603)|0)){c[k>>2]=78796;h[k+8>>3]=e;f=lf(a,78779,k)|0;break a}if(!(f2(f,133733)|0)){c[n>>2]=78800;h[n+8>>3]=e;f=lf(a,78779,n)|0;break a}if(!(f2(f,131732)|0)){c[p>>2]=78806;h[p+8>>3]=e;f=lf(a,78779,p)|0;break a}else{c[m>>2]=f;h[m+8>>3]=e;f=lf(a,78779,m)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=lf(a,78811,i)|0;break}default:{p=c[15715]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;z4(p,78850,j)|0;Aa(138697,78900,436,78920)}}while(0);c[o>>2]=f;p=lf(a,78937,o)|0;l6(f);l=q;return p|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=81366;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;sF(a,83976,g);f=HB(c[f+8>>2]|0)|0;c[e>>2]=81366;c[e+4>>2]=f;sF(a,84008,e);c[d>>2]=81366;sF(a,84022,d);l=b;return}function of(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=81366;sF(a,83924,d);l=b;return}function pf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;G=W+184|0;F=W+176|0;E=W+168|0;D=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;f=c[a+456>>2]|0;g=c[a+460>>2]|0;i=c[a+464>>2]|0;j=c[a+468>>2]|0;k=a+360|0;a:do if(c[4035]|0){switch(c[k>>2]|0){case 90:case 0:break a;default:{}}Bf();c[4035]=0}while(0);e=(+(j|0)-+(g|0))/72.0;b=(+(i|0)-+(f|0))/72.0;k=(c[k>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;sF(a,81553,m);c[n>>2]=81366;sF(a,81568,n);if(d>0.0){b=+V3(d);h[19233]=b;b=b+(3.0-+(~~b|0))}else b=3.0;b=+H(10.0,+b);h[19233]=b;h[B>>3]=b;h[B+8>>3]=b;sF(a,81737,B);c[S>>2]=81366;sF(a,81772,S);c[o>>2]=81366;sF(a,81830,o);c[p>>2]=81366;sF(a,81890,p);c[q>>2]=81366;sF(a,81939,q);c[r>>2]=81366;sF(a,81978,r);c[s>>2]=81366;sF(a,82029,s);c[t>>2]=81366;sF(a,82091,t);c[u>>2]=81366;sF(a,82201,u);c[v>>2]=81366;sF(a,82292,v);c[w>>2]=81366;sF(a,82346,w);c[x>>2]=81366;sF(a,82415,x);sF(a,82451,y);c[z>>2]=81366;sF(a,82576,z);c[A>>2]=81366;sF(a,82605,A);sF(a,82645,C);c[D>>2]=81366;sF(a,82738,D);c[E>>2]=81366;sF(a,82797,E);c[F>>2]=81366;sF(a,82878,F);sF(a,82948,G);c[I>>2]=81366;sF(a,83037,I);c[J>>2]=81366;sF(a,83142,J);c[K>>2]=81366;sF(a,83218,K);c[L>>2]=81366;sF(a,83257,L);c[M>>2]=81366;sF(a,83356,M);c[N>>2]=81366;sF(a,83402,N);sF(a,83491,O);c[P>>2]=81366;sF(a,83532,P);c[Q>>2]=81366;sF(a,83615,Q);c[R>>2]=81366;sF(a,83716,R);h[T>>3]=e;h[T+8>>3]=d;sF(a,83780,T);sF(a,83808,U);sF(a,83816,V);l=W;return}function qf(a){a=a|0;var b=0;b=l;l=l+16|0;sF(a,81546,b);l=b;return}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;p=q+24|0;o=q+8|0;n=q;j=+h[e+32>>3];switch(a[e+48>>0]|0){case 108:{i=+h[d>>3];break}case 114:{g=j;f=4;break}default:{g=j*.5;f=4}}if((f|0)==4){i=+h[d>>3]-g;h[d>>3]=i}k=e+4|0;f=c[k>>2]|0;g=+h[f+16>>3];r=d+8|0;m=+h[r>>3]+g/216.0;h[r>>3]=m;i=j/144.0+i;h[d>>3]=i;f=c[f>>2]|0;do if(f){d=c[46772]|0;if(d|0?(f2(d,f)|0)==0:0)break;c[n>>2]=zf(f)|0;sF(b,81445,n);r=c[k>>2]|0;c[46772]=c[r>>2];g=+h[r+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[46773]|0)){j=+h[19233];c[o>>2]=f;h[o+8>>3]=j;sF(b,81453,o);c[46773]=f}c[p>>2]=Af(c[e>>2]|0)|0;h[p+8>>3]=i;h[p+16>>3]=m;sF(b,81474,p);l=q;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*2.0/72.0;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*2.0/72.0;c[f>>2]=1;c[f+4>>2]=d|0?81387:195341;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i/72.0;h[f+32>>3]=g/72.0;sF(a,81393,f);l=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,1);l=e;return}function uf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=k6((d*140|0)+140|0)|0;xf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(i2(j,81371,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(o,n,3,+(f|0)/6.0,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;sF(a,81378,q);l6(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,s);e=e+1|0}mF(a,153748)|0;l=t;return}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,0);l=e;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=81366;c[e+4>>2]=b;sF(a,81359,e);l=d;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15868;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(f2(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81527;c[f+4>>2]=b;dA(1,81501,f)|0;d=I4(b,45)|0;if(!d){d=81544;break}a[d>>0]=0}l=h;return d|0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46774]|0;if(!d){c[46775]=64;d=k6(64)|0;c[46774]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46775]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46775]=d;d=n6(c[46774]|0,d)|0;c[46774]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46774]|0}function Bf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81527;c[b+4>>2]=91570;dA(0,83906,b)|0;l=a;return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;sF(a,84495,j);i=(+h[d+16>>3]+ +h[d>>3])*.5;g=(+h[d+24>>3]+ +h[d+8>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,84537,f);l=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;sF(a,84582,f);mF(a,84674)|0;l=e;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)Aa(111583,84679,212,84698);if(!b)Aa(111613,84679,213,84698);p=b+8|0;if(!(c[p>>2]|0))Aa(111616,84679,214,84698);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){sF(a,84719,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;sF(a,84722,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;sF(a,84722,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;sF(a,84729,n)}sF(a,84719,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;sF(a,84722,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;sF(a,84722,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;sF(a,84744,s)}l=t;return}function Gf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+112|0;o=p+24|0;n=p+16|0;m=p;g=p+28|0;if(!b)Aa(111583,84679,153,84760);if(!d)Aa(111613,84679,154,84760);if(!(c[d+8>>2]|0))Aa(111616,84679,155,84760);j=d+52|0;k=d+60|0;if(c[j>>2]|0){f=c[k>>2]|0;if((f|0)==100)i=18;else{db[f&127](d);c[j>>2]=0;c[k>>2]=0;c[d+56>>2]=0;i=10}}else i=10;do if((i|0)==10){if(!((MF(d)|0)<<24>>24))break;f=V5(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){i3(f,g)|0;g=c[g+36>>2]|0;c[d+56>>2]=g;f=K4(0,g,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[k>>2]=100;NF(d);if(c[j>>2]|0)i=18}while(0);if((i|0)==18){q=+h[e+8>>3]-+(c[d+36>>2]|0);h[m>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[m+8>>3]=q;sF(b,84778,m);if(!(a[d+16>>0]|0)){c[n>>2]=c[d+12>>2];sF(b,84809,n)}else xM(b,d);sF(b,84824,o)}l=p;return}function Hf(a){a=a|0;E3(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)Aa(111583,84679,121,84834);e=c[a+16>>2]|0;if(!e)Aa(100203,84679,123,84834);if(!b)Aa(111613,84679,124,84834);d=b+8|0;if(!(c[d>>2]|0))Aa(111616,84679,125,84834);if(!(c[e+8>>2]|0))Aa(139182,84679,128,84834);else{sF(a,84854,g);sF(a,84863,g+8|0);sF(a,84890,g+16|0);sF(a,84915,g+24|0);sF(a,84944,g+32|0);sF(a,84972,g+40|0);c[f>>2]=c[d>>2];sF(a,84979,f);sF(a,85018,g+56|0);sF(a,111309,g+64|0);l=g;return}}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)Aa(111583,84679,97,85023);if(!b)Aa(111613,84679,98,85023);e=c[b+8>>2]|0;if(!e)Aa(111616,84679,99,85023);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;sF(a,85042,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;sF(a,85100,g);l=i;return}}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+96|0;o=p+56|0;n=p+32|0;m=p;q=+h[d+16>>3];i=+h[d>>3];k=q-i;j=+h[d+24>>3];f=+h[d+8>>3];g=j-f;i=(q+i-k)*.5;if(!a)Aa(111583,84679,53,85132);if(!b)Aa(111613,84679,54,85132);e=b+8|0;if(!(c[e>>2]|0))Aa(111616,84679,55,85132);mF(a,85151)|0;mF(a,c[e>>2]|0)|0;e=a+360|0;f=-((j+f+g)*.5);if(!(c[e>>2]|0)){h[o>>3]=k;h[o+8>>3]=g;h[o+16>>3]=i;h[o+24>>3]=f;sF(a,85280,o)}else{h[m>>3]=g;h[m+8>>3]=k;h[m+16>>3]=i;h[m+24>>3]=f;sF(a,85171,m);c[n>>2]=c[e>>2];h[n+8>>3]=i;h[n+16>>3]=f;sF(a,85250,n)}mF(a,85359)|0;l=p;return}function Lf(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Mf(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Nf(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Mf(a){a=a|0;var b=0,d=0;RC(a,137750,304,1)|0;qP(a);oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=HK(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=HK(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=HK(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=HK(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=HK(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Nf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;RC(d,137763,176,1)|0;rP(d)|0;h=XO(d,c[47236]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=_O(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[47230]|0,195341)|0;i=_O(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[47230]|0,195341)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Jk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(XO(d,c[47256]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(XO(d,c[47237]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Of(a){a=a|0;var b=0,d=0;Pf(c[(c[a+16>>2]|0)+192>>2]|0);d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}Qf(d);d=hC(a,d)|0}Rf(a);return}function Pf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Sf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}l6(d);l6(b);b=g}return}function Qf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){l6(d);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)db[c[(c[b+4>>2]|0)+4>>2]&127](a);TC(a,137750)|0;return}function Rf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=MD(a)|0;while(1){if(!d)break;Rf(d);d=ND(d)|0}if(RC(a,137786,0,1)|0){g=a+16|0;d=c[g>>2]|0;e=c[d+184>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+268>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+216>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+196>>2]|0;do if(e|0){f=b[d+236>>1]|0;while(1){if((f|0)>(b[d+238>>1]|0))break;l6(c[e+(f<<6)+12>>2]|0);h=c[g>>2]|0;f=f+1|0;d=h;e=c[h+196>>2]|0}if((b[d+236>>1]|0)==-1){l6(e+-64|0);break}else{l6(e);break}}while(0);if((vC(a)|0)!=(a|0)){AK(c[(c[g>>2]|0)+12>>2]|0);TC(a,137786)|0}}return}function Sf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a}return}function Tf(a){a=a|0;if(qB(a)|0)Uf(a);rM(a);return}function Uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=jH(a,-1,8)|0;d=kH(a,0,f)|0;iH(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Vf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=EG(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Vf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Vf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Wf(b,a);Vf(b);d=d+1|0;b=c[g>>2]|0}Xf(a);hH(c[g>>2]|0,e,a,f)|0;Yf(a);Zf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;l6(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Rf(c[f>>2]|0);tC(a,c[f>>2]|0)|0;b=b+1|0}l6(e)}l=h;return}function Vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=XO(a,DA(a,0,85374,0)|0,-1,1)|0;mQ(a,10);d=Ik(a,e)|0;$f(a,a);Lf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){uj(a,d);if(f){d=3;break}if(c[g>>2]|0){dA(0,85380,k)|0;c[e>>2]=0;d=0}Eh(a,(d|0)!=0&1);if(h){d=7;break}Hi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)ag(a,1);else if((d|0)==7)ag(a,2);else if((d|0)==9)ag(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)bg(a);ok(a);fg(a);if((bP(NA(a,85471)|0)|0)<<24>>24)il(a)}l=m;return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0;RC(b,137786,280,1)|0;e=HK(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Xf(a){a=a|0;var b=0,d=0,e=0;b=HK((qB(a)|0)<<4)|0;d=gC(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]/72.0;h[b+8>>3]=+h[e+24>>3]/72.0;b=b+16|0;d=hC(a,d)|0}return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=hC(a,d)|0}l6(e);return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=HK((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=DG(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;_f(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function _f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;RC(d,137786,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=HK((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=DG(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;_f(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function $f(a,b){a=a|0;b=b|0;if((vC(a)|0)!=(a|0))RC(a,137786,280,1)|0;if((a|0)==(b|0))c[(c[(vC(a)|0)+16>>2]|0)+188>>2]=a;a=MD(a)|0;while(1){if(!a)break;$f(a,b);a=ND(a)|0}return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=DA(a,1,87443,195341)|0;g=DA(a,1,85514,195341)|0;h=(b|0)>0;d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],i2(e,137696,j)|0,HA(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];i2(e,137696,k)|0;HA(b,g,e)|0}b=hC(a,b)|0}l=m;return}function bg(a){a=a|0;var b=0,c=0,d=0;c=LD(a,86947,0)|0;if(c|0){b=gC(c)|0;while(1){if(!b)break;d=hC(c,b)|0;nh(a,b);cg(a,b);Qf(b);sC(a,b)|0;b=d}PD(a,c)|0}return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)Aa(85480,85487,248,85497);return}function dg(a){a=a|0;return c[(c[(vC(a)|0)+16>>2]|0)+188>>2]|0}function eg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function fg(a){a=a|0;gg(a,1);return}function gg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+656|0;P=_+592|0;O=_+552|0;g=_+544|0;U=_+96|0;V=_;Z=_+632|0;W=d+16|0;Y=b[(c[W>>2]|0)+136>>1]&14;Q=Y&65535;R=U+16|0;c[R>>2]=_+368;S=V+16|0;c[S>>2]=_+192;do if(Y<<16>>16){T=Y<<16>>16==4;f=d+60|0;do if(T){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1))C=9;else{dA(0,85520,g)|0;C=9}}else if(Y<<16>>16==8){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1)){pQ(d,0);n=0;m=0;k=0;break}else{ig(d);pQ(d,1);n=0;m=0;k=0;break}}else C=9;while(0);if((C|0)==9){gl(d);if(DM()|0)break;X=HK(96)|0;L=c[(c[W>>2]|0)+248>>2]|0;c[Z+8>>2]=(L|0)/4|0;c[Z+12>>2]=L;q=HK(512)|0;G=Z+4|0;c[G>>2]=0;c[Z>>2]=0;j=c[W>>2]|0;D=b[j+236>>1]|0;E=0;M=0;N=q;F=q;m=q;n=q;p=q;I=0;J=0;a:while(1){if((D|0)>(b[j+238>>1]|0))break;r=c[j+196>>2]|0;i=c[r+(D<<6)>>2]|0;H=i+E|0;g=c[r+(D<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=I;else{o=+(I|0);f=c[f+16>>2]|0;z=+h[f+16>>3]-+h[f+88>>3];f=~~(o<z?o:z)}if((i|0)!=0?(K=c[g+(i+-1<<2)>>2]|0,(K|0)!=0):0){o=+(J|0);g=c[K+16>>2]|0;z=+h[g+16>>3]+ +h[g+96>>3];g=~~(o>z?o:z)}else g=J;B=f+-16|0;A=g+16|0;y=0;u=M;v=N;s=j;w=F;k=m;g=q;f=r;while(1){if((y|0)>=(i|0))break;q=c[(c[f+(D<<6)+4>>2]|0)+(y<<2)>>2]|0;x=q+16|0;f=c[x>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){C=21;break a}t=j+56|0;f=f+16|0;c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[x>>2]|0}if((a[f+156>>0]|0)!=0?(pb[c[17340>>2]&63](q)|0)<<24>>24==0:0){r=u;f=v;j=w;i=p}else{t=0;r=u;s=v;j=w;C=25}b:do if((C|0)==25){while(1){C=0;q=c[x>>2]|0;i=c[(c[q+180>>2]|0)+(t<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=r;i=s;break}default:{jg(i,1,16,64);f=r+1|0;c[s+(r<<2)>>2]=i;if(!(f&127)){g=KK(g,(r<<2)+516|0)|0;i=g;j=g;k=g;n=g;p=g}else i=s}}t=t+1|0;r=f;s=i;C=25}f=c[q+188>>2]|0;c:do if(!f)i=p;else{t=0;i=p;while(1){f=c[f+(t<<2)>>2]|0;if(!f)break c;jg(f,2,0,128);p=r+1|0;c[s+(r<<2)>>2]=f;if(!(p&127)){g=KK(i,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=s;q=c[x>>2]|0;t=t+1|0;r=p;s=f;f=c[q+188>>2]|0}}while(0);f=c[q+204>>2]|0;if(!f)f=s;else{if(!(a[q+156>>0]|0)){w=q+96|0;z=+h[w>>3];t=q+240|0;h[w>>3]=+h[t>>3];h[t>>3]=z;t=0;q=s}else{t=0;q=s}while(1){f=c[f+(t<<2)>>2]|0;if(!f){f=q;break b}jg(f,0,0,128);p=r+1|0;c[q+(r<<2)>>2]=f;if(!(p&127)){g=KK(n,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=q;t=t+1|0;r=p;q=f;f=c[(c[x>>2]|0)+204>>2]|0}}}while(0);s=c[W>>2]|0;x=c[s+196>>2]|0;y=y+1|0;u=r;v=f;w=j;p=i;i=c[x+(D<<6)>>2]|0;f=x}D=D+1|0;E=H;M=u;N=v;F=w;j=s;m=k;q=g;I=B;J=A}if((C|0)==21)Aa(85588,85601,313,85614);c[Z>>2]=I;c[G>>2]=J;k3(F,M,4,58);c[X+84>>2]=HK((E<<5)+11520|0)|0;c[Z+16>>2]=HK(D<<5)|0;d:do if(Y<<16>>16==2){f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);f=c[i>>2]|0}f=f+164|0}}while(0);B=V+48|0;C=V+-48|0;D=U+48|0;E=U+-48|0;A=V+16|0;z=+(L|0);y=0;e:while(1){if((y|0)>=(M|0))break;v=N+(y<<2)|0;s=c[v>>2]|0;t=mg(s)|0;u=s+16|0;g=c[u>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:s;f=g;g=c[g+16>>2]|0}else f=s;i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=U;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[R>>2]=g;p=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:D)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:E)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;f=U}r=f+16|0;x=1;f=y;while(1){w=f+1|0;if((w|0)>=(M|0))break;j=N+(w<<2)|0;f=c[j>>2]|0;if((t|0)!=(mg(f)|0))break;if(!(a[(c[u>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[S>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=V;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[S>>2]=g;p=c[f>>2]&3;n=c[V>>2]&3;c[((n|0)==3?V:B)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?V:C)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;g=c[A>>2]|0}i=c[r>>2]|0;f=g+16|0;n=O;p=i+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;f=g+56|0;n=O;p=i+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;L=c[u>>2]|0;if((c[L+164>>2]&15|0)==2?(c[L+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}x=x+1|0;f=w}if(T){if((x|0)==1)f=P;else f=HK(x<<2)|0;c[f>>2]=mg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(x|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}NM(d,f,x,Q,17336);if((x|0)>1)l6(f);y=w;continue}f=c[s>>2]&3;L=c[((f|0)==3?s:s+48|0)+40>>2]|0;f=c[((f|0)==2?s:s+-48|0)+40>>2]|0;g=c[L+16>>2]|0;n=c[g+232>>2]|0;if((L|0)!=(f|0))if((n|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){ng(d,Z,X,N,y,x,Q);y=w;continue}else{og(d,Z,X,N,y,x,Q);y=w;continue}j=c[W>>2]|0;f=j+196|0;k=n+-1|0;i=g+24|0;do if((n|0)==(b[j+238>>1]|0))if((n|0)>0){f=~~(+h[(c[(c[c[(c[f>>2]|0)+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[i>>3]);break}else{f=~~+h[g+80>>3];break}else{g=c[f>>2]|0;o=+h[i>>3];f=~~(o-+h[(c[(c[c[g+(n+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);if((n|0)!=(b[j+236>>1]|0)){L=~~(+h[(c[(c[c[g+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-o);f=(L|0)<(f|0)?L:f}}while(0);jO(X,N,y,x,z,+((f|0)/2|0|0),17336);f=0;while(1){if((f|0)>=(x|0)){y=w;continue e}g=c[(c[(c[N+(f+y<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)xP(d,g);f=f+1|0}}f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);xP(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=X;k=X}else{pg(d);n=X;k=X}}f:do if((c[47266]|0)!=0|(c[47267]|0)!=0?(c[47272]|0)!=0|(c[47271]|0)!=0:0){j=gC(d)|0;while(1){if(!j)break f;g:do if(c[47266]|0){f=XA(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){rO(i,1)|0;xP(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=YA(d,f)|0}}while(0);h:do if(c[47267]|0){f=UA(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?rO(f,0)|0:0)xP(d,c[(c[g>>2]|0)+104>>2]|0);f=WA(d,f)|0}}while(0);j=hC(d,j)|0}}while(0);switch(Y&15){case 4:case 8:break;default:{l6(m);l6(c[n+84>>2]|0);l6(k);l6(c[Z+16>>2]|0);EM()}}c[47185]=1;c[47186]=1}while(0);l=_;return}function hg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=hC(a,b)|0}return}function ig(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;lg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}xP(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)Aa(85788,85601,234,85807);else if((d|0)==12)return}function jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=b+-48|0;i=b+48|0;j=b+16|0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:i)+40>>2]|0;g=c[((g|0)==2?b:h)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[j>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[j>>2]|0)+164>>2]=d|f|e;return}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+624|0;y=C+584|0;x=C+544|0;r=C+368|0;s=C+96|0;u=C;t=s+16|0;c[t>>2]=r;v=u+16|0;c[v>>2]=C+192;B=c[b>>2]|0;A=c[d>>2]|0;w=B+16|0;p=c[w>>2]|0;d=c[p+164>>2]|0;e=d&15;z=A+16|0;b=c[z>>2]|0;f=c[b+164>>2]&15;do if((f|0)==(e|0)){o=mg(B)|0;q=mg(A)|0;m=c[o>>2]|0;f=m&3;e=c[(c[((f|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;f=c[(c[((f|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;g=(c[e+232>>2]|0)-(c[f+232>>2]|0)|0;n=c[q>>2]|0;k=n&3;j=c[(c[((k|0)==3?q:q+48|0)+40>>2]|0)+16>>2]|0;k=c[(c[((k|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0;i=(c[j+232>>2]|0)-(c[k+232>>2]|0)|0;g=(g|0)>-1?g:0-g|0;i=(i|0)>-1?i:0-i|0;if((g|0)!=(i|0)){b=g-i|0;break}f=~~(+h[e+16>>3]-+h[f+16>>3]);f=(f|0)>-1?f:0-f|0;e=~~(+h[j+16>>3]-+h[k+16>>3]);e=(e|0)>-1?e:0-e|0;if((f|0)!=(e|0)){b=f-e|0;break}f=m>>>4;e=n>>>4;if((f|0)!=(e|0)){b=f-e|0;break}if(!(a[p+44>>0]|0)){d=(a[p+84>>0]|0)==0?o:B;f=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else f=B;e=f+16|0;if(d&32){B6(r|0,c[e>>2]|0,176)|0;g=s;i=f;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[t>>2]=r;i=c[f>>2]&3;g=c[s>>2]&3;c[((g|0)==3?s:s+48|0)+40>>2]=c[((i|0)==2?f:f+-48|0)+40>>2];c[((g|0)==2?s:s+-48|0)+40>>2]=c[((i|0)==3?f:f+48|0)+40>>2];g=r+16|0;i=(c[e>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=r+56|0;i=(c[e>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[r+112>>0]=1;c[r+116>>2]=f;f=s;b=c[z>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?q:A;e=b;b=c[b+16>>2]|0}else e=A;d=e+16|0;if(!(c[b+164>>2]&32))e=b;else{b=c[v>>2]|0;B6(b|0,c[d>>2]|0,176)|0;g=u;i=e;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[v>>2]=b;i=c[e>>2]&3;g=c[u>>2]&3;c[((g|0)==3?u:u+48|0)+40>>2]=c[((i|0)==2?e:e+-48|0)+40>>2];c[((g|0)==2?u:u+-48|0)+40>>2]=c[((i|0)==3?e:e+48|0)+40>>2];g=b+16|0;i=(c[d>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=b+56|0;i=(c[d>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[b+112>>0]=1;c[b+116>>2]=e;e=c[u+16>>2]|0}d=c[f+16>>2]|0;b=e+16|0;g=x;i=d+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){b=e+56|0;g=x;i=d+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){d=c[(c[w>>2]|0)+164>>2]&192;b=c[(c[z>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[B>>2]|0)>>>4)-((c[A>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=f-e|0;while(0);l=C;return b|0}function lg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=+h[b+16>>3]+(e?i:g)*.5;h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function mg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function ng(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;o=B+1488|0;u=B+1392|0;A=B+1696|0;y=B+696|0;z=B;n=u+16|0;c[n>>2]=o;s=c[f+(g<<2)>>2]|0;t=s+16|0;k=c[t>>2]|0;v=a[k+113>>0]|0;if(c[k+164>>2]&32){B6(o|0,k|0,176)|0;p=u;q=s;r=p+48|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));c[n>>2]=o;p=c[u>>2]&3;c[((p|0)==3?u:u+48|0)+40>>2]=c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2];c[((p|0)==2?u:u+-48|0)+40>>2]=c[((c[s>>2]&3|0)==3?s:s+48|0)+40>>2];p=o+16|0;q=(c[t>>2]|0)+56|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));k=c[n>>2]|0;p=k+56|0;q=(c[t>>2]|0)+16|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));a[k+112>>0]=1;c[k+116>>2]=s;s=u}k=1;while(1){if((k|0)>=(i|0)){u=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{u=7;break}}a:do if((u|0)==6)if(!(v<<24>>24)){k=c[s+16>>2]|0;if(c[k+96>>2]|0){Ng(b,d,e,s,j);break}n=s+48|0;o=s+-48|0;if((j|0)==2){A=c[s>>2]&3;Og(c[((A|0)==3?s:n)+40>>2]|0,c[((A|0)==2?s:o)+40>>2]|0,f,g,i,2);break}r=a[k+49>>0]|0;v=a[k+89>>0]|0;t=(j|0)==10;if(!(r<<24>>24==1&v<<24>>24!=4)?!(r<<24>>24!=4&v<<24>>24==1):0){p=c[s>>2]&3;q=c[((p|0)==3?s:n)+40>>2]|0;p=c[((p|0)==2?s:o)+40>>2]|0;k=c[q+16>>2]|0;n=c[k+232>>2]|0;o=c[b+16>>2]|0;if((n|0)>0){j=c[o+196>>2]|0;v=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[j+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[j+(v<<6)+16>>3]-+h[k+24>>3]-+h[j+(n<<6)+24>>3]}else m=+(c[o+252>>2]|0);C=+(i+1|0);w=+(c[d+12>>2]|0)/C;m=m/C;Qg(b,d,e,q,s,y,1);Qg(b,d,e,p,s,z,0);p=y+52|0;q=z+52|0;r=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;s=c[f+(k+g<<2)>>2]|0;o=c[p>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];C=+h[y+56+(n<<5)+24>>3];h[19234]=G;h[19235]=C;k=k+1|0;E=+(k|0);D=w*E;h[19236]=D+F;C=m*E+C;h[19237]=C;h[19238]=G;h[19239]=C;n=(c[q>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[19240]=G;h[19241]=m+C;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[19244]=G;h[19243]=F;h[19242]=E-D;h[19245]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);n=n+1|0;o=c[p>>2]|0}while(1){if((n|0)==3)break;d=153872+(n<<5)|0;c[x>>2]=c[d>>2];c[x+4>>2]=c[d+4>>2];c[x+8>>2]=c[d+8>>2];c[x+12>>2]=c[d+12>>2];c[x+16>>2]=c[d+16>>2];c[x+20>>2]=c[d+20>>2];c[x+24>>2]=c[d+24>>2];c[x+28>>2]=c[d+28>>2];dO(e,x);n=n+1|0}o=c[q>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);o=n}if(t)n=FM(e,A)|0;else n=LM(e,A)|0;o=c[A>>2]|0;if(!o)break a;bO(s,c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,n,o,17336);c[r>>2]=0}}Pg(b,d,e,f,g,i,s,t&1)}else u=7;while(0);if((u|0)==7)Mg(b,f,g,i,s,j);l=B;return}function og(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+2576|0;T=da+2528|0;aa=da+2568|0;k=da+2352|0;n=da+2176|0;w=da+1904|0;Z=da+1808|0;ba=da+1712|0;U=da+1016|0;V=da+320|0;W=da+256|0;Y=da+2564|0;_=da+2560|0;B=da+288|0;C=da+224|0;M=da+192|0;N=da+160|0;O=da+128|0;P=da+96|0;Q=da+64|0;R=da+32|0;X=da;t=w+16|0;c[t>>2]=k;o=Z+16|0;c[o>>2]=n;ca=ba+16|0;c[ca>>2]=da+2e3;if(!(c[46776]|0)){c[46776]=IK(32e3)|0;c[46777]=IK(32e3)|0;c[46778]=2e3;c[46779]=2e3}x=c[f+(g<<2)>>2]|0;K=c[x>>2]&3;p=x+48|0;q=x+-48|0;K=(c[(c[(c[((K|0)==3?x:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?x:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;u=w+-48|0;$=Z+-48|0;r=x+16|0;s=w+48|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){w=x;n=0}else{n=c[t>>2]|0;B6(n|0,k|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=n;y=c[w>>2]&3;c[((y|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?w:u)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[t>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;n=0;L=12}}else{B6(k|0,c[r>>2]|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));y=w+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=Z+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}else{n=c[o>>2]|0;B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;y=c[Z>>2]&3;c[((y|0)==3?Z:Z+48|0)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?Z:$)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[o>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=x;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];y=(c[t>>2]|0)+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}k=mg(x)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?w:u)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[t>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;L=12}if((L|0)==12)c[k+116>>2]=x;J=(j|0)==2;if(J?(v=sg(b,w,c[46776]|0,aa)|0,c[_>>2]=v,(v|0)!=0):0)L=63;else L=15;a:do if((L|0)==15){I=(j|0)==10;c[_>>2]=0;o=c[w>>2]&3;k=c[((o|0)==3?w:w+48|0)+40>>2]|0;o=c[((o|0)==2?w:w+-48|0)+40>>2]|0;c[aa>>2]=o;tg(B,b,d,k,0,w);c[U>>2]=c[B>>2];c[U+4>>2]=c[B+4>>2];c[U+8>>2]=c[B+8>>2];c[U+12>>2]=c[B+12>>2];c[U+16>>2]=c[B+16>>2];c[U+20>>2]=c[B+20>>2];c[U+24>>2]=c[B+24>>2];c[U+28>>2]=c[B+28>>2];c[W>>2]=c[B>>2];c[W+4>>2]=c[B+4>>2];c[W+8>>2]=c[B+8>>2];c[W+12>>2]=c[B+12>>2];c[W+16>>2]=c[B+16>>2];c[W+20>>2]=c[B+20>>2];eO(e,w,1,U,ug(k)|0);D=U+52|0;K=(c[D>>2]|0)+-1|0;F=W+24|0;h[F>>3]=+h[U+56+(K<<5)+24>>3];G=W+8|0;h[G>>3]=+h[U+56+(K<<5)+8>>3];K=c[k+16>>2]|0;H=b+16|0;m=+h[K+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[K+232>>2]<<6)+16>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(C,T,1,m);c[W>>2]=c[C>>2];c[W+4>>2]=c[C+4>>2];c[W+8>>2]=c[C+8>>2];c[W+12>>2]=c[C+12>>2];c[W+16>>2]=c[C+16>>2];c[W+20>>2]=c[C+20>>2];c[W+24>>2]=c[C+24>>2];c[W+28>>2]=c[C+28>>2];C=W+16|0;if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}y=b+60|0;E=V+52|0;z=e+56|0;A=e+69|0;j=e+16|0;B=e+29|0;K=w;q=0;r=-1;b:while(1){s=0;p=0;v=K;while(1){t=o;x=o;u=s|1;o=153872+(s<<5)|0;k=k+16|0;if((a[(c[t+16>>2]|0)+156>>0]|0)!=1)break b;if((pb[c[17340>>2]&63](t)|0)<<24>>24)break b;wg(M,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[M>>2];c[o+4>>2]=c[M+4>>2];c[o+8>>2]=c[M+8>>2];c[o+12>>2]=c[M+12>>2];c[o+16>>2]=c[M+16>>2];c[o+20>>2]=c[M+20>>2];c[o+24>>2]=c[M+24>>2];c[o+28>>2]=c[M+28>>2];if(!p){q=xg(t)|0;o=(q|0)<((a[(c[(c[y>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=o?q:q+-2|0;r=o?r:1;o=(o^1)&1}else o=p;if(!((o|0)==0|(r|0)>0))break;u=153872+(u<<5)|0;tg(N,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[u>>2]=c[N>>2];c[u+4>>2]=c[N+4>>2];c[u+8>>2]=c[N+8>>2];c[u+12>>2]=c[N+12>>2];c[u+16>>2]=c[N+16>>2];c[u+20>>2]=c[N+20>>2];c[u+24>>2]=c[N+24>>2];c[u+28>>2]=c[N+28>>2];u=c[c[(c[x+16>>2]|0)+180>>2]>>2]|0;x=c[u>>2]&3;k=c[((x|0)==3?u:u+48|0)+40>>2]|0;x=c[((x|0)==2?u:u+-48|0)+40>>2]|0;c[aa>>2]=x;s=s+2|0;r=r+-1|0;p=o;v=u;o=x}tg(O,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[V>>2]=c[O>>2];c[V+4>>2]=c[O+4>>2];c[V+8>>2]=c[O+8>>2];c[V+12>>2]=c[O+12>>2];c[V+16>>2]=c[O+16>>2];c[V+20>>2]=c[O+20>>2];c[V+24>>2]=c[O+24>>2];c[V+28>>2]=c[O+28>>2];hO(e,v,1,V,ug(c[((c[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0)|0);t=V+56+((c[E>>2]|0)+-1<<5)|0;s=c[x+16>>2]|0;m=+h[s+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[s+232>>2]<<6)+24>>3];c[T>>2]=c[t>>2];c[T+4>>2]=c[t+4>>2];c[T+8>>2]=c[t+8>>2];c[T+12>>2]=c[t+12>>2];c[T+16>>2]=c[t+16>>2];c[T+20>>2]=c[t+20>>2];c[T+24>>2]=c[t+24>>2];c[T+28>>2]=c[t+28>>2];vg(W,T,4,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){t=c[E>>2]|0;c[E>>2]=t+1;t=V+56+(t<<5)|0;c[t>>2]=c[W>>2];c[t+4>>2]=c[W+4>>2];c[t+8>>2]=c[W+8>>2];c[t+12>>2]=c[W+12>>2];c[t+16>>2]=c[W+16>>2];c[t+20>>2]=c[W+20>>2];c[t+24>>2]=c[W+24>>2];c[t+28>>2]=c[W+28>>2]}h[z>>3]=1.5707963267948966;a[A>>0]=1;yg(e,K,v,U,V,u);if(!I){k=LM(e,Y)|0;o=c[Y>>2]|0;if(J&(o|0)>4){v=k+16|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=k+32|0;o=k+(o+-1<<4)|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];I6(k+48|0,o|0,16)|0;c[Y>>2]=4;o=4}else L=33}else{k=FM(e,Y)|0;o=c[Y>>2]|0;L=33}if((L|0)==33){L=0;if(!o)break a}u=c[_>>2]|0;p=u+o|0;if((p|0)>(c[46778]|0)){c[46778]=p<<1;t=KK(c[46776]|0,p<<5)|0;c[46776]=t;o=c[Y>>2]|0}else t=c[46776]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;v=t+(p<<4)|0;u=k+(s<<4)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[_>>2]=p;o=zg(c[c[(c[x+16>>2]|0)+180>>2]>>2]|0,q,t,_)|0;Ag(K,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[aa>>2]=p;x=k+16|0;tg(P,b,d,k,c[c[(c[x>>2]|0)+172>>2]>>2]|0,o);c[U>>2]=c[P>>2];c[U+4>>2]=c[P+4>>2];c[U+8>>2]=c[P+8>>2];c[U+12>>2]=c[P+12>>2];c[U+16>>2]=c[P+16>>2];c[U+20>>2]=c[P+20>>2];c[U+24>>2]=c[P+24>>2];c[U+28>>2]=c[P+28>>2];eO(e,o,1,U,ug(k)|0);K=U+56+((c[D>>2]|0)+-1<<5)|0;x=c[x>>2]|0;m=+h[x+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[x+232>>2]<<6)+16>>3];c[T>>2]=c[K>>2];c[T+4>>2]=c[K+4>>2];c[T+8>>2]=c[K+8>>2];c[T+12>>2]=c[K+12>>2];c[T+16>>2]=c[K+16>>2];c[T+20>>2]=c[K+20>>2];c[T+24>>2]=c[K+24>>2];c[T+28>>2]=c[K+28>>2];vg(W,T,1,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}h[j>>3]=-1.5707963267948966;a[B>>0]=1;K=o;o=p}s=v+-48|0;wg(Q,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[Q>>2];c[o+4>>2]=c[Q+4>>2];c[o+8>>2]=c[Q+8>>2];c[o+12>>2]=c[Q+12>>2];c[o+16>>2]=c[Q+16>>2];c[o+20>>2]=c[Q+20>>2];c[o+24>>2]=c[Q+24>>2];c[o+28>>2]=c[Q+28>>2];tg(R,b,d,t,v,0);c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];c[W>>2]=c[R>>2];c[W+4>>2]=c[R+4>>2];c[W+8>>2]=c[R+8>>2];c[W+12>>2]=c[R+12>>2];c[W+16>>2]=c[R+16>>2];c[W+20>>2]=c[R+20>>2];c[W+24>>2]=c[R+24>>2];c[W+28>>2]=c[R+28>>2];r=(n|0)!=0;hO(e,r?Z:v,1,V,ug(c[((c[v>>2]&3|0)==2?v:s)+40>>2]|0)|0);R=(c[E>>2]|0)+-1|0;h[F>>3]=+h[V+56+(R<<5)+24>>3];h[G>>3]=+h[V+56+(R<<5)+8>>3];R=c[x+16>>2]|0;m=+h[R+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[R+232>>2]<<6)+24>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(X,T,4,m);c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];c[W+16>>2]=c[X+16>>2];c[W+20>>2]=c[X+20>>2];c[W+24>>2]=c[X+24>>2];c[W+28>>2]=c[X+28>>2];if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){X=c[E>>2]|0;c[E>>2]=X+1;X=V+56+(X<<5)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];c[X+16>>2]=c[W+16>>2];c[X+20>>2]=c[W+20>>2];c[X+24>>2]=c[W+24>>2];c[X+28>>2]=c[W+28>>2]}yg(e,K,v,U,V,u);if(I)q=FM(e,Y)|0;else q=LM(e,Y)|0;k=c[Y>>2]|0;if(!(J&(k|0)>4)){if(!k)break}else{X=q+32|0;k=q+(k+-1<<4)|0;W=q+16|0;c[W>>2]=c[q>>2];c[W+4>>2]=c[q+4>>2];c[W+8>>2]=c[q+8>>2];c[W+12>>2]=c[q+12>>2];c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];I6(q+48|0,k|0,16)|0;c[Y>>2]=4;k=4}o=c[_>>2]|0;n=o+k|0;if((n|0)>(c[46778]|0)){c[46778]=n<<1;p=KK(c[46776]|0,n<<5)|0;c[46776]=p;k=c[Y>>2]|0}else p=c[46776]|0;n=0;while(1){if((n|0)>=(k|0))break;Y=p+(o<<4)|0;X=q+(n<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[_>>2]=o;Ag(K,e);if(r)k=(c[Z>>2]&3|0)==2?Z:$;else k=(c[v>>2]&3|0)==2?v:s;c[aa>>2]=c[k+40>>2];v=o;L=63}while(0);c:do if((L|0)==63){if((i|0)==1){bO(w,c[aa>>2]|0,c[46776]|0,v,17336);break}t=d+12|0;u=v+-1|0;m=+((S(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;d=n+(k<<4)|0;h[d>>3]=+h[d>>3]-m;k=k+1|0}k=c[46778]|0;if((k|0)>(c[46779]|0)){c[46779]=k;o=KK(c[46777]|0,k<<4)|0;c[46777]=o;n=c[46776]|0}else o=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;d=o+(k<<4)|0;$=n+(k<<4)|0;c[d>>2]=c[$>>2];c[d+4>>2]=c[$+4>>2];c[d+8>>2]=c[$+8>>2];c[d+12>>2]=c[$+12>>2];k=k+1|0}bO(w,c[aa>>2]|0,o,v,17336);r=ba+48|0;s=ba+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[ca>>2]|0;B6(n|0,k|0,176)|0;y=ba;z=o;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[ca>>2]=n;y=c[ba>>2]&3;c[((y|0)==3?ba:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((y|0)==2?ba:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];y=n+16|0;z=(c[p>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[ca>>2]|0;y=k+56|0;z=(c[p>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=o;o=ba}p=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;aa=p+(k<<4)|0;h[aa>>3]=+(c[t>>2]|0)+ +h[aa>>3];k=k+1|0}n=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;aa=n+(k<<4)|0;d=p+(k<<4)|0;c[aa>>2]=c[d>>2];c[aa+4>>2]=c[d+4>>2];c[aa+8>>2]=c[d+8>>2];c[aa+12>>2]=c[d+12>>2];k=k+1|0}bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17336);q=q+1|0}}while(0);l=da;return}function pg(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;if((pb[c[4334]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)qg(e);d=WA(a,d)|0}b=hC(a,b)|0}return}function qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=IK(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}rg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;l6(c[d+(b*48|0)>>2]|0);b=b+1|0}l6(d);c[a>>2]=g;return}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=IK(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function sg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+96|0;r=y+80|0;t=y+64|0;s=y+48|0;v=y+32|0;w=y+16|0;x=y;n=d;while(1){u=n+16|0;g=c[u>>2]|0;if(!(a[g+112>>0]|0))break;n=c[g+116>>2]|0}g=c[n>>2]&3;q=c[((g|0)==2?n:n+-48|0)+40>>2]|0;g=c[((g|0)==3?n:n+48|0)+40>>2]|0;n=q+16|0;o=g+16|0;z=(c[(c[n>>2]|0)+232>>2]|0)-(c[(c[o>>2]|0)+232>>2]|0)|0;switch(((z|0)>-1?z:0-z|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=q;z=(c[o>>2]|0)+16|0;p=(c[u>>2]|0)+16|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[n>>2]|0)+16|0;z=(c[u>>2]|0)+56|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}else{c[f>>2]=g;z=(c[n>>2]|0)+16|0;p=(c[u>>2]|0)+56|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[o>>2]|0)+16|0;z=(c[u>>2]|0)+16|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}g=c[(c[u>>2]|0)+96>>2]|0;n=e+16|0;o=e+32|0;b=e+48|0;if(!g){c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[b>>2]=c[w>>2];c[b+4>>2]=c[w+4>>2];c[b+8>>2]=c[w+8>>2];c[b+12>>2]=c[w+12>>2];g=4;break}k=+h[g+24>>3];m=+h[g+32>>3];q=(c[(c[(uC(q)|0)+16>>2]|0)+116>>2]&1|0)==0;z=(c[(c[u>>2]|0)+96>>2]|0)+56|0;c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];z=(Lg(s,t,r)|0)==0;i=(q?k:m)*.5;j=+h[x>>3];g=x+8|0;k=(q?m:k)*.5;m=+h[g>>3];if(z){h[x>>3]=j-i;i=k+m}else{h[x>>3]=i+j;i=m-k}h[g>>3]=i;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];g=e+64|0;c[g>>2]=c[x>>2];c[g+4>>2]=c[x+4>>2];c[g+8>>2]=c[x+8>>2];c[g+12>>2]=c[x+12>>2];c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[o>>2]=c[x>>2];c[o+4>>2]=c[x+4>>2];c[o+8>>2]=c[x+8>>2];c[o+12>>2]=c[x+12>>2];g=e+80|0;z=e+96|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=7}while(0);l=y;return g|0}function tg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0;s=c[f+16>>2]|0;q=+h[s+16>>3];m=q-+h[s+88>>3]+-4.0;k=Gg(d,f,g,i,-1)|0;p=e+8|0;r=d+16|0;if(!k){n=~~(m+(m>=0.0?.5:-.5));k=c[e>>2]|0;k=(n|0)<(k|0)?n:k}else{l=Hg(d,f,k)|0;do if(!l){n=c[k+16>>2]|0;j=+h[n+16>>3]+ +h[n+240>>3];if(!(a[n+156>>0]|0)){j=j+ +(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j+ +(c[p>>2]|0);break}}else j=+h[(c[l+16>>2]|0)+32>>3]+ +(c[p>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[s+156>>0]|0)==1;if(n?(c[s+104>>2]|0)!=0:0)m=q+10.0;else m=q+ +h[s+96>>3]+4.0;l=Gg(d,f,g,i,1)|0;if(!l){p=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(p|0)>(k|0)?p:k}else{k=Hg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[p>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[p>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[s+104>>2]|0)!=0:0){j=j-+h[s+96>>3];if(j<o)j=q}q=+h[s+24>>3];r=c[(c[r>>2]|0)+196>>2]|0;s=c[s+232>>2]|0;m=q-+h[r+(s<<6)+16>>3];q=q+ +h[r+(s<<6)+24>>3];h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=q;return}function ug(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,i=0;i=l;l=l+32|0;f=i;g=b+16|0;switch(d|0){case 1:{Fg(f,+h[b>>3],e,+h[g>>3],+h[b+8>>3]);break}case 4:{Fg(f,+h[b>>3],+h[b+24>>3],+h[g>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=i;return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[d+(o<<6)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function xg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function yg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Cg(b,-1)|0;b=Cg(b,1)|0;if(!((h|0)!=0?!(sO(h)|0):0))i=3;do if((i|0)==3){if(b|0?(sO(b)|0)==0:0)break;h=Dg(d,-1)|0;b=Dg(d,1)|0;if(h|0?(sO(h)|0)==0:0)break;if(b|0?(sO(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];dO(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=153872+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];dO(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];dO(a,j);h=b}Eg(a,d,i)}while(0);l=k;return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;n=d+80|0;m=d+84|0;e=0;d=b;a:while(1){k=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;l=k+16|0;if((a[(c[l>>2]|0)+156>>0]|0)!=1)break;if((pb[c[17340>>2]&63](k)|0)<<24>>24)break;d=c[n>>2]|0;while(1){if((e|0)>=(d|0))break a;b=c[m>>2]|0;j=c[l>>2]|0;f=+h[j+24>>3];if(!(+h[b+(e<<5)+8>>3]>f))break;e=e+1|0}do if(!(+h[b+(e<<5)+24>>3]<f)){g=+h[b+(e<<5)>>3];i=~~g;f=+h[b+(e<<5)+16>>3];d=~~f;if(!(c[j+104>>2]|0)){Bg(k,i,~~((g+f)*.5),d);break}else{Bg(k,i,d,~~(f+ +h[j+96>>3]));break}}while(0);d=c[c[(c[l>>2]|0)+180>>2]>>2]|0}return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0;p=a+84|0;f=b+-1|0;while(1){if((f|0)>(d|0))break;i=c[p>>2]|0;g=i+(f<<5)|0;e=+h[g>>3];i=i+(f<<5)+16|0;j=+h[i>>3];o=~~((e+j)*.5);k=+(o+-8|0);l=+(o+8|0);if(!(f-b&1)){if(e>=j){h[g>>3]=k;h[i>>3]=l}}else if(e+16.0>j){h[g>>3]=k;h[i>>3]=l}f=f+1|0}o=(c[a+80>>2]|0)+-1|0;f=0;while(1){if((f|0)>=(o|0))break;g=c[p>>2]|0;n=f+1|0;i=g+(n<<5)|0;m=g+(f<<5)+16|0;a=g+(n<<5)+16|0;g=g+(f<<5)|0;if(!((f|0)<(b|0)|(f|0)>(d|0))?(f-b&1|0)==0:0){e=+h[g>>3]+16.0;if(e>+h[a>>3])h[a>>3]=e;e=+h[m>>3]+-16.0;if(!(e<+h[i>>3])){f=n;continue}h[i>>3]=e;f=n;continue}if(!((f|0)<(d|0)&(n|0)>=(b|0))){f=n;continue}if(n-b&1|0){f=n;continue}e=+h[a>>3];if(+h[g>>3]+16.0>e)h[g>>3]=e+-16.0;e=+h[i>>3];if(!(+h[m>>3]+-16.0<e)){f=n;continue}h[m>>3]=e+16.0;f=n}return}function Fg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Gg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Jg(b,d,e,f)|0)<<24>>24!=0);return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ig(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ig(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3];else a=0;return a&1|0}function Jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return (~~((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))|0)>0|0}function Mg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+256|0;E=S+232|0;D=S+216|0;Q=S+88|0;P=S+80|0;L=S+64|0;M=S+200|0;N=S+184|0;O=S;F=S+168|0;G=S+152|0;H=S+136|0;I=S+120|0;J=S+104|0;C=c[g>>2]&3;K=c[((C|0)==3?g:g+48|0)+40>>2]|0;C=c[((C|0)==2?g:g+-48|0)+40>>2]|0;do if((UM(K)|0)!=2?(UM(C)|0)!=2:0){g=0;j=0;m=0;while(1){if((m|0)>=(f|0))break;B=c[(c[d+(m+e<<2)>>2]|0)+16>>2]|0;g=((c[B+96>>2]|0)!=0&1)+g|0;if(!((a[B+44>>0]|0)==0?(a[B+84>>0]|0)==0:0))j=1;m=m+1|0}if(!j)if(!g){Og(K,C,d,e,f,i);break}else{Tg(K,C,d,e,f,i,g);break}z=HK(156)|0;A=Ug(b,z)|0;w=LD(A,85750,1)|0;RC(w,137786,280,1)|0;PA(w,87443,87457)|0;k=+h[(c[C+16>>2]|0)+16>>3];n=+h[(c[K+16>>2]|0)+16>>3];B=b+16|0;u=(c[(c[B>>2]|0)+116>>2]&1|0)==0;v=u?C:K;u=u?K:C;w=Vg(w,u)|0;x=Vg(A,v)|0;g=0;t=0;while(1){s=(g|0)!=0;if((t|0)>=(f|0))break;j=d+(t+e<<2)|0;while(1){r=c[j>>2]|0;q=r+16|0;j=c[q>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(u|0))m=Wg(A,w,x,r)|0;else m=Wg(A,x,w,r)|0;j=c[q>>2]|0;c[j+120>>2]=m;if(!s)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[m+16>>2]|0)+120>>2]=r;g=m}else g=0;t=t+1|0}if(s)y=g;else y=fB(A,w,x,0,1)|0;HA(y,c[47236]|0,85754)|0;g=A+16|0;r=c[g>>2]|0;c[r+144>>2]=c[(c[B>>2]|0)+144>>2];c[r+188>>2]=A;mQ(A,i);Lf(A);uj(A,0);Eh(A,0);Hi(A,0);r=u+16|0;u=c[r>>2]|0;i=c[v+16>>2]|0;s=w+16|0;p=+(~~((+h[(c[s>>2]|0)+16>>3]+ +h[(c[x+16>>2]|0)+16>>3])*.5)|0);o=+(~~k|0);k=+(~~n|0);n=+(~~((+h[u+16>>3]-+h[u+96>>3]+ +h[i+16>>3]+ +h[i+88>>3])*.5)|0);g=(c[g>>2]|0)+192|0;while(1){g=c[g>>2]|0;if(!g)break;j=c[g+16>>2]|0;m=j+16|0;q=j+24|0;do if((g|0)!=(w|0))if((g|0)==(x|0)){h[q>>3]=k;h[m>>3]=p;break}else{h[q>>3]=n;break}else{h[q>>3]=o;h[m>>3]=p}while(0);g=j+164|0}ok(A);gg(A,0);rM(A);w=c[r>>2]|0;p=+h[w+16>>3];x=c[s>>2]|0;k=+h[w+24>>3];n=+h[x+16>>3];o=+h[x+24>>3];if(!(c[(c[B>>2]|0)+116>>2]&1)){h[L>>3]=p-n;k=k-o}else{h[L>>3]=p-o;k=k+n}h[L+8>>3]=k;v=O+16|0;i=O+32|0;w=O+48|0;u=0;while(1){if((u|0)>=(f|0))break;g=d+(u+e<<2)|0;while(1){j=c[g>>2]|0;t=j+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}x=c[g+120>>2]|0;s=x+16|0;g=c[s>>2]|0;if(!((x|0)==(y|0)&(c[g+120>>2]|0)==0)){q=c[c[g+8>>2]>>2]|0;r=q+4|0;j=aO(j,c[r>>2]|0)|0;c[j+8>>2]=c[q+8>>2];g=j+16|0;x=q+16|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(M,D,E,m);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];c[j+12>>2]=c[q+12>>2];g=j+32|0;m=q+32|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(N,D,E,x);c[g>>2]=c[N>>2];c[g+4>>2]=c[N+4>>2];c[g+8>>2]=c[N+8>>2];c[g+12>>2]=c[N+12>>2];g=0;while(1){if((g|0)>=(c[r>>2]|0))break;m=(c[j>>2]|0)+(g<<4)|0;T=(c[q>>2]|0)+(g<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[T>>2];c[D+4>>2]=c[T+4>>2];c[D+8>>2]=c[T+8>>2];c[D+12>>2]=c[T+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(F,D,E,x);c[m>>2]=c[F>>2];c[m+4>>2]=c[F+4>>2];c[m+8>>2]=c[F+8>>2];c[m+12>>2]=c[F+12>>2];c[O>>2]=c[F>>2];c[O+4>>2]=c[F+4>>2];c[O+8>>2]=c[F+8>>2];c[O+12>>2]=c[F+12>>2];m=g+1|0;if((m|0)>=(c[r>>2]|0)){R=48;break}x=(c[j>>2]|0)+(m<<4)|0;m=(c[q>>2]|0)+(m<<4)|0;T=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(G,D,E,T);c[x>>2]=c[G>>2];c[x+4>>2]=c[G+4>>2];c[x+8>>2]=c[G+8>>2];c[x+12>>2]=c[G+12>>2];c[v>>2]=c[G>>2];c[v+4>>2]=c[G+4>>2];c[v+8>>2]=c[G+8>>2];c[v+12>>2]=c[G+12>>2];x=g+2|0;T=(c[j>>2]|0)+(x<<4)|0;x=(c[q>>2]|0)+(x<<4)|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(H,D,E,m);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];c[i>>2]=c[H>>2];c[i+4>>2]=c[H+4>>2];c[i+8>>2]=c[H+8>>2];c[i+12>>2]=c[H+12>>2];T=g+3|0;m=(c[q>>2]|0)+(T<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(I,D,E,x);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];jI((c[B>>2]|0)+16|0,O);g=T}if((R|0)==48)R=0;g=c[(c[t>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;s=(c[(c[s>>2]|0)+96>>2]|0)+56|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(J,D,E,x);c[T>>2]=c[J>>2];c[T+4>>2]=c[J+4>>2];c[T+8>>2]=c[J+8>>2];c[T+12>>2]=c[J+12>>2];T=c[(c[t>>2]|0)+96>>2]|0;a[T+81>>0]=1;xP(b,T)}}u=u+1|0}Yg(A,z)}else R=3;while(0);if((R|0)==3?(c[46780]|0)==0:0){c[46780]=1;dA(0,85627,P)|0;P=HB(K)|0;R=(uB(b)|0)!=0;T=HB(C)|0;c[Q>>2]=P;c[Q+4>>2]=R?138041:142050;c[Q+8>>2]=T;dA(3,85733,Q)|0}l=S;return}function Ng(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;m=c[p+16>>2]|0;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=C+ +h[k+96>>3];B=+h[k+24>>3];D=B+ +h[k+80>>3]*.5;k=c[(c[b+16>>2]|0)+196>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)/6.0)|0);B=D-(B<5.0?5.0:B);Qg(b,d,e,p,f,t,1);Qg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[19234]=A;h[19235]=+h[t+56+(m<<5)+24>>3];h[19236]=E;h[19237]=B;h[19238]=A;h[19239]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[19240]=A;h[19241]=D;h[19242]=C;h[19245]=B;h[19243]=+h[v+56+(i<<5)+24>>3];h[19244]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];dO(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=153872+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];dO(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];dO(e,u);j=i}if((g|0)==10)j=FM(e,w)|0;else j=LM(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=m+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Kg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Kg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)bO(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17336);l=z;return}function Og(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+352|0;z=P+336|0;y=P+320|0;N=P+144|0;u=P+304|0;A=P+128|0;O=P+112|0;G=P+96|0;H=P+80|0;I=P+64|0;J=P+48|0;K=P+32|0;L=P+16|0;M=P;a=a+16|0;s=(c[a>>2]|0)+16|0;x=(c[d+(e<<2)>>2]|0)+16|0;t=(c[x>>2]|0)+16|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[z>>2]=c[t>>2];c[z+4>>2]=c[t+4>>2];c[z+8>>2]=c[t+8>>2];c[z+12>>2]=c[t+12>>2];Kg(u,y,z);E=+h[u>>3];F=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];c[z>>2]=c[x>>2];c[z+4>>2]=c[x+4>>2];c[z+8>>2]=c[x+8>>2];c[z+12>>2]=c[x+12>>2];Kg(A,y,z);C=+h[A>>3];D=+h[A+8>>3];if((f|0)>1){B=+h[(c[a>>2]|0)+80>>3];i=B*.5;B=B/+(f+-1|0)}else{i=0.0;B=0.0}r=(g|8|0)==10;o=N+8|0;s=N+16|0;t=N+48|0;u=N+32|0;v=(E*2.0+C)/3.0;w=(E+C*2.0)/3.0;p=N+24|0;x=N+64|0;y=N+80|0;z=N+96|0;A=N+112|0;m=N+128|0;q=N+136|0;n=N+144|0;i=F-i;b=0;while(1){if((b|0)>=(f|0))break;k=c[d+(b+e<<2)>>2]|0;h[N>>3]=E;h[o>>3]=F;if(r){Sg(O,v,i);c[s>>2]=c[O>>2];c[s+4>>2]=c[O+4>>2];c[s+8>>2]=c[O+8>>2];c[s+12>>2]=c[O+12>>2];Sg(G,w,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];a=4;g=3;j=t}else{h[s>>3]=E;h[p>>3]=F;Sg(H,v,i);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];Sg(I,v,i);c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];Sg(J,v,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Sg(K,w,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];Sg(L,w,i);c[z>>2]=c[L>>2];c[z+4>>2]=c[L+4>>2];c[z+8>>2]=c[L+8>>2];c[z+12>>2]=c[L+12>>2];Sg(M,w,i);c[A>>2]=c[M>>2];c[A+4>>2]=c[M+4>>2];c[A+8>>2]=c[M+8>>2];c[A+12>>2]=c[M+12>>2];h[m>>3]=C;h[q>>3]=D;a=10;g=9;j=n}h[j>>3]=C;h[N+(g<<4)+8>>3]=D;bO(k,c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,N,a,17336);i=B+i;b=b+1|0}l=P;return}function Pg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-(+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[y+(p<<6)+40>>3])}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Rg(a,d,e,q,j,w,1);Rg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[19234]=D;h[19237]=B;m=m+1|0;z=+(m|0);A=s*z;h[19236]=A+C;z=B-n*z;h[19235]=z;h[19238]=D;h[19241]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[19240]=D;h[19239]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[19244]=D;h[19245]=C;h[19242]=B-A;h[19243]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=153872+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];dO(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);p=o}if(a)o=LM(e,v)|0;else o=FM(e,v)|0;p=c[v>>2]|0;if(!p)break;bO(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17336);c[d>>2]=0}l=x;return}function Qg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]+ +h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Rg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Sg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+288|0;U=$+256|0;T=$+240|0;S=$+224|0;Y=$+280|0;Z=$+272|0;_=$+32|0;V=$+16|0;W=$;m=$+208|0;n=$+192|0;o=c[e+(f<<2)>>2]|0;X=HK(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[X+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}k3(X,g,4,59);E=b+16|0;G=(c[E>>2]|0)+16|0;F=o+16|0;K=(c[F>>2]|0)+16|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[K>>2];c[U+4>>2]=c[K+4>>2];c[U+8>>2]=c[K+8>>2];c[U+12>>2]=c[K+12>>2];Kg(m,T,U);c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];K=d+16|0;G=(c[K>>2]|0)+16|0;F=(c[F>>2]|0)+56|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[F>>2];c[U+4>>2]=c[F+4>>2];c[U+8>>2]=c[F+8>>2];c[U+12>>2]=c[F+12>>2];Kg(n,T,U);c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];y=+h[V>>3]+ +h[(c[E>>2]|0)+96>>3];z=+h[W>>3]-+h[(c[K>>2]|0)+88>>3];x=(y+z)*.5;K=c[X>>2]|0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];E=_+16|0;c[E>>2]=c[V>>2];c[E+4>>2]=c[V+4>>2];c[E+8>>2]=c[V+8>>2];c[E+12>>2]=c[V+12>>2];F=_+32|0;c[F>>2]=c[W>>2];c[F+4>>2]=c[W+4>>2];c[F+8>>2]=c[W+8>>2];c[F+12>>2]=c[W+12>>2];G=_+48|0;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];bO(K,c[((c[K>>2]&3|0)==2?K:K+-48|0)+40>>2]|0,_,4,17336);K=c[(c[K+16>>2]|0)+96>>2]|0;h[K+56>>3]=x;H=V+8|0;v=+h[H>>3];w=+h[K+32>>3];h[K+64>>3]=v+(w+6.0)*.5;a[K+81>>0]=1;v=v+3.0;J=+h[K+24>>3]*.5;I=x-J;J=x+J;K=W+8|0;L=_+72|0;M=_+40|0;N=_+120|0;O=_+64|0;P=Y+4|0;Q=_+56|0;R=_+24|0;o=(i|0)==6&1;e=_+104|0;f=_+96|0;i=_+80|0;C=_+88|0;D=_+112|0;t=0.0;s=0.0;w=v+w;m=1;while(1){if((m|0)>=(j|0)){B=6;break}d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];n=d+16|0;if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;A=w+6.0;h[e>>3]=A;h[D>>3]=p;h[N>>3]=A;A=+h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3];p=w+A*.5+6.0;w=w+(A+6.0)}else{k=c[(c[n>>2]|0)+96>>2]|0;if((m|0)==1){s=+h[k+24>>3]*.5;t=x+s;s=x-s}v=v-(+h[k+32>>3]+6.0);c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;p=v+-6.0;h[R>>3]=p;h[F>>3]=r;h[M>>3]=p;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=v;h[f>>3]=s;h[e>>3]=v;h[D>>3]=s;h[N>>3]=u;p=v+ +h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3]*.5}c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break;n=c[(c[n>>2]|0)+96>>2]|0;h[n+56>>3]=x;h[n+64>>3]=p;a[n+81>>0]=1;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}a:do if((B|0)==6){A=(y*2.0+z)/3.0;x=(y+z*2.0)/3.0;while(1){if((m|0)>=(g|0))break;d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;q=w+6.0;w=q;r=q}else{B=(m|0)==1;y=B?A:s;t=B?x:t;z=v+-6.0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;v=z+-6.0;h[R>>3]=v;h[F>>3]=r;h[M>>3]=v;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=z;h[f>>3]=y;v=z;s=y;r=u;p=y;q=z}h[e>>3]=q;h[D>>3]=p;h[N>>3]=r;c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break a;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}l6(X)}while(0);l=$;return}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(uB(b)|0)==0;c[f>>2]=c[(j?18636:18628)>>2];f=lB(85765,f,0)|0;RC(f,137786,280,1)|0;DA(f,0,87443,195341)|0;j=HK(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=IA(vC(b)|0,1,0)|0;while(1){if(!e)break;DA(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,1,e)|0}e=IA(vC(b)|0,2,0)|0;while(1){if(!e)break;DA(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,2,e)|0}if(!(DA(f,2,111765,0)|0))DA(f,2,111765,195341)|0;if(!(DA(f,2,111756,0)|0))DA(f,2,111756,195341)|0;Zg(f,d);l=g;return f|0}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=qC(a,HB(b)|0,1)|0;RC(a,137750,304,1)|0;RA(b,a)|0;if((UM(b)|0)==2){f=b+16|0;b=IK((D3(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];i2(b,85760,d)|0;PA(a,108525,b)|0}l=e;return a|0}function Wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=fB(a,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(d,c)|0;return c|0}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Kg(a,f,g);l=i;return}function Yg(a,b){a=a|0;b=b|0;c[47258]=c[b>>2];c[47262]=c[b+4>>2];c[47263]=c[b+8>>2];c[47236]=c[b+12>>2];c[47237]=c[b+16>>2];c[47250]=c[b+20>>2];c[47249]=c[b+24>>2];c[47248]=c[b+28>>2];c[47274]=c[b+32>>2];c[47266]=c[b+36>>2];c[47251]=c[b+40>>2];c[47261]=c[b+44>>2];c[47270]=c[b+48>>2];c[47269]=c[b+52>>2];c[47268]=c[b+56>>2];c[47273]=c[b+60>>2];c[47267]=c[b+64>>2];c[47252]=c[b+68>>2];c[47199]=c[b+72>>2];c[47200]=c[b+76>>2];c[47201]=c[b+80>>2];c[47219]=c[b+84>>2];c[47212]=c[b+88>>2];c[47213]=c[b+92>>2];c[47214]=c[b+96>>2];c[47216]=c[b+100>>2];c[47217]=c[b+104>>2];c[47220]=c[b+108>>2];c[47223]=c[b+112>>2];c[47221]=c[b+116>>2];c[47222]=c[b+120>>2];c[47225]=c[b+124>>2];c[47224]=c[b+128>>2];c[47226]=c[b+132>>2];c[47227]=c[b+136>>2];c[47218]=c[b+140>>2];c[47230]=c[b+144>>2];c[47194]=c[b+148>>2];c[47185]=c[b+152>>2];l6(b);Of(a);pB(a)|0;return}function Zg(a,b){a=a|0;b=b|0;c[b>>2]=c[47258];c[b+4>>2]=c[47262];c[b+8>>2]=c[47263];c[b+12>>2]=c[47236];c[b+16>>2]=c[47237];c[b+20>>2]=c[47250];c[b+24>>2]=c[47249];c[b+28>>2]=c[47248];c[b+32>>2]=c[47274];c[b+36>>2]=c[47266];c[b+40>>2]=c[47251];c[b+44>>2]=c[47261];c[b+48>>2]=c[47270];c[b+52>>2]=c[47269];c[b+56>>2]=c[47268];c[b+60>>2]=c[47273];c[b+64>>2]=c[47267];c[b+68>>2]=c[47252];c[b+72>>2]=c[47199];c[b+76>>2]=c[47200];c[b+80>>2]=c[47201];c[b+84>>2]=c[47219];c[b+88>>2]=c[47212];c[b+92>>2]=c[47213];c[b+96>>2]=c[47214];c[b+100>>2]=c[47216];c[b+104>>2]=c[47217];c[b+108>>2]=c[47220];c[b+112>>2]=c[47223];c[b+116>>2]=c[47221];c[b+120>>2]=c[47222];c[b+124>>2]=c[47225];c[b+128>>2]=c[47224];c[b+132>>2]=c[47226];c[b+136>>2]=c[47227];c[b+140>>2]=c[47218];c[b+144>>2]=c[47230];c[b+152>>2]=c[47185];c[b+148>>2]=c[47194];c[47258]=0;c[47262]=DA(a,2,87684,0)|0;c[47263]=DA(a,2,87693,0)|0;b=DA(a,2,101842,0)|0;c[47236]=b;if(!b)c[47236]=DA(a,2,101842,195341)|0;c[47237]=0;c[47250]=0;c[47249]=DA(a,2,101738,0)|0;c[47248]=DA(a,2,101729,0)|0;c[47274]=DA(a,2,102018,0)|0;c[47266]=0;c[47251]=DA(a,2,108525,0)|0;c[47261]=DA(a,2,85770,0)|0;c[47270]=0;c[47269]=DA(a,2,101918,0)|0;c[47268]=DA(a,2,101904,0)|0;c[47273]=DA(a,2,102009,0)|0;c[47267]=0;c[47252]=0;c[47199]=DA(a,1,141351,0)|0;c[47200]=DA(a,1,141419,0)|0;c[47201]=DA(a,1,108531,0)|0;c[47219]=0;c[47212]=DA(a,1,101729,0)|0;c[47213]=DA(a,1,101738,0)|0;c[47214]=0;c[47216]=DA(a,1,108525,0)|0;c[47217]=0;c[47220]=0;c[47223]=DA(a,1,101710,0)|0;c[47221]=DA(a,1,141379,0)|0;c[47222]=DA(a,1,101773,0)|0;c[47225]=DA(a,1,101785,0)|0;c[47224]=DA(a,1,101649,0)|0;c[47226]=DA(a,1,101790,0)|0;c[47227]=DA(a,1,85782,0)|0;c[47218]=0;c[47230]=0;c[47194]=DA(a,0,101710,0)|0;return}function _g(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0} -function EB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=(e|0)!=0;i=b+64|0;do if(j){if((a[e>>0]|0)!=37?(h=c[i>>2]|0,h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=JB(b,d,e,f)|0;if(!h)k=5}else k=5;while(0);if((k|0)==5)if(g){h=c[i>>2]|0;h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,0,f,g)|0;if(j&(h|0)!=0){k=f;KB(b,d,e,c[k>>2]|0,c[k+4>>2]|0)}}else h=0;return h|0}function FB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return tb[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;PB(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function HB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=uC(a)|0;f=a+8|0;b=f;b=NB(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=tb[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;i2(195053,96757,g)|0;b=195053}}while(0);l=h;return b|0}function IB(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;rb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function JB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=aD(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=eb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=aC(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=dD(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=SD(a,18684,c[4599]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=SD(a,18720,c[4599]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}eb[c[f>>2]&63](f,h,1)|0;eb[c[b>>2]&63](b,h,1)|0;return}function LB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function MB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=OB(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=eb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=OB(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;eb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;eb[c[e>>2]&63](e,b,2)|0;fD(a,c[b+24>>2]|0)|0;bC(a,b);b=1}return b|0}function QB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46985]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=eb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;PB(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function RB(a){a=a|0;c[46985]=a;a=a+64|0;SB((c[a>>2]|0)+56|0);SB((c[a>>2]|0)+68|0);return}function SB(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Oz(e)|0;c[d>>2]=0}b=b+1|0}return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;if(!(o4(b,c,a)|0))a=0;else a=D3(b)|0;return a|0}function UB(a,b){a=a|0;b=b|0;return Z3(b,a)|0}function VB(a){a=a|0;return m4(a)|0}function WB(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4693]=c[4690];c[4694]=c[4691];c[e>>2]=a;c[e+4>>2]=D3(a)|0;c[e+8>>2]=0;c[d>>2]=18780;c[d+4>>2]=18656;c[d+8>>2]=18768;a=hF(e,d)|0;iD(0);l=b;return a|0}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function YB(a){a=a|0;return 0}function ZB(a,b){a=a|0;b=b|0;a=k6(b)|0;u6(a|0,0,b|0)|0;return a|0}function _B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=n6(b,d)|0;if(d>>>0>c>>>0)u6(a+c|0,0,d-c|0)|0;return a|0}function $B(a,b){a=a|0;b=b|0;l6(b);return}function aC(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=vb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)dA(1,96763,d)|0;l=d;return a|0}function bC(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;lb[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function cC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function dC(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))bC(c[a+24>>2]|0,b);return}function eC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=186424;c[e>>2]=b;c[e+4>>2]=d;c[46990]=186416;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,187944,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function gC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function hC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function iC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function jC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function kC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fC(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=vC(a)|0;if((e|0)!=(a|0)?(f=fC(e,b,c)|0,f|0):0){lC(a,f,1)|0;e=f;break}if(!(FB(a,1,b,c)|0))e=0;else{e=oB(a,1)|0;e=mC(a,b,c,e,D)|0;nC(a,e);oC(a,e)}}while(0);return e|0}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vC(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=fC(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=OD(a)|0;if(!e)e=0;else{d=lC(e,b,d)|0;pC(a,d);return d|0}}}else e=0;return e|0}function mC(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=aC(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=vC(b)|0;if(a[(vC(b)|0)+24>>0]&64)RC(g,c[4610]|0,16,0)|0;return g|0}function nC(a,b){a=a|0;b=b|0;do{pC(a,b);a=OD(a)|0}while((a|0)!=0);return}function oC(b,c){b=b|0;c=c|0;if(a[(vC(b)|0)+24>>0]&64)rA(b,c);wC(b,c);return}function pC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Uz(c[e>>2]|0)|0;if((vC(a)|0)==(a|0))d=b+28|0;else d=aC(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;eb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=vC(a)|0;e=(d|0)!=0;if(EB(a,1,b,g,0)|0){d=g;d=fC(a,c[d>>2]|0,c[d+4>>2]|0)|0;if(!d)if(!((h|0)==(a|0)|e^1)?(f=g,f=fC(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)d=lC(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if(e?(EB(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;d=oB(a,1)|0;d=mC(a,h,i,d,D)|0;nC(a,d);oC(a,d);IB(a,1,d)}else d=0;l=j;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46999]=b;d=ZA(a,b)|0;while(1){if(!d)break;e=_A(a,d,b)|0;gB(a,d,0);d=e}e=c[a+40>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;return}function sC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(fC(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((vC(b)|0)==(b|0)){e=ZA(b,d)|0;while(1){if(!e)break;g=_A(b,e,d)|0;iB(b,e)|0;e=g}if(a[b+24>>0]&64)LA(d);AC(b,d);ZC(d);g=f;GB(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(zE(b,d,59,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function tC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((OD(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{dA(1,96789,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=sC(a,b)|0;break a}case 2:case 3:{f=iB(a,b)|0;break a}case 0:{f=pB(b)|0;break a}default:{}}while(0);l=h;return f|0}function uC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function vC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function wC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,100,0);else xC(b,d,c[e+48>>2]|0);return}function xC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){xC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function yC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))GC(b,d,101,e);else zC(b,d,e,c[f+48>>2]|0);return}function zC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){zC(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function AC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,102,0);else BC(b,d,c[e+48>>2]|0);return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){BC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){e=d+8|0;if(!d){d=-1;break a}f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];bC(a,d);d=0}while(0);return d|0}function EC(a,b){a=a|0;b=b|0;var d=0;d=vC(a)|0;a:do if((d|0)==(vC(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=OD(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(kC(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(jB(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function FC(a){a=a|0;return c[a>>2]&3|0}function GC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=RC(a,96813,44,0)|0;switch(c|0){case 100:{c=HC(e,b,100)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}case 101:{if((IC(HC(e,b,100)|0,b)|0)==0?(IC(HC(e,b,102)|0,b)|0)==0:0){e=HC(e,b,101)|0;c=IC(e,b)|0;if(!c)c=JC(e,a,b,d)|0;KC(b,c,d)}break}case 102:{LC(HC(e,b,100)|0,b);LC(HC(e,b,101)|0,b);c=HC(e,b,102)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}default:dA(1,96825,f)|0}l=g;return}function HC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){dA(1,96859,e)|0;d=0}a=c[d>>2]|0;if(!a){a=uC(b)|0;a=SD(a,18872,c[4599]|0)|0;c[d>>2]=a}l=g;return a|0}function IC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=MC(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=D;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function JC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aC(uC(d)|0,32)|0;c[f+20>>2]=d;g=MC(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=D;c[f+16>>2]=b;if(e|0){g=aC(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}eb[c[a>>2]&63](a,f,1)|0;return f|0}function KC(a,b,d){a=a|0;b=b|0;d=d|0;a=b+24|0;while(1){a=c[a>>2]|0;if(!a)break;if((c[a>>2]|0)==(d|0))break;else a=a+4|0}return}function LC(a,b){a=a|0;b=b|0;b=IC(a,b)|0;if(b|0)eb[c[a>>2]&63](a,b,2)|0;return}function MC(a){a=a|0;a=a+8|0;D=c[a+4>>2]|0;return c[a>>2]|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;OC(b);bC(c[b+16>>2]|0,b);return}function OC(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;bC(c[b>>2]|0,a);a=d}return}function PC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(f2(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}QC(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else dA(1,96884,i)|0}while(0);l=k;return f|0}function QC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function RC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=uC(a)|0;f=PC(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=aC(h,d)|0;c[d>>2]=dD(h,b)|0;switch(c[a>>2]&3){case 0:{SC(a,d);g=d;break a}case 1:{SC(a,d);g=d;break a}case 2:case 3:{SC(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)PC(a,b,1)|0;return g|0}function SC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))QC(a,b,0);return}function TC(a,b){a=a|0;b=b|0;var d=0,e=0;e=uC(a)|0;d=PC(a,b,0)|0;if(!d)b=-1;else{UC(a,d);if(!(c[a>>2]&3)){VC(e,a,d);b=d}else{zE(vC(e)|0,a,60,d,0)|0;b=d}fD(e,c[d>>2]|0)|0;bC(e,b);b=0}return b|0}function UC(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function VC(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;QC(b,(a|0)==(d|0)?0:a,0)}return}function WC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{RC(a,c,g,e)|0;if(!f){b=MD(a)|0;while(1){if(!b)break a;WC(b,0,c,d,e);b=ND(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break a;b:do if(d)RC(b,c,g,e)|0;else{f=UA(a,b)|0;while(1){if(!f)break b;RC(f,c,g,e)|0;f=WA(a,f)|0}}while(0);b=hC(a,b)|0}}default:{}}while(0);return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{zE(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=gC(a)|0;while(1){if(!d)break a;b:do if(e)TC(d,c)|0;else{b=UA(a,d)|0;while(1){if(!b)break b;TC(b,c)|0;b=WA(a,b)|0}}while(0);d=hC(a,d)|0}}default:{}}while(0);return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;TC(b,c)|0;return}function ZC(a){a=a|0;var b=0,d=0,e=0;d=uC(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;fD(d,c[e>>2]|0)|0;bC(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function _C(a){a=a|0;return UD(a,$C(a)|0)|0}function $C(a){a=a|0;var b=0,d=0;if(!a)d=188016;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=SD(a,18908,c[4599]|0)|0;c[d>>2]=b;a=186480;c[a>>2]=-2147483648;c[a+4>>2]=0;a=186488;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function aD(a,b){a=a|0;b=b|0;return bD($C(a)|0,b)|0}function bD(a,b){a=a|0;b=b|0;a=cD(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function cD(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function dD(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=D}d=c[d+16>>2]|0}return d|0}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;g=186480;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=D}d=c[d+16>>2]|0}return d|0}function fD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=$C(a)|0,e=cD(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=w6(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=D,b,c[b>>2]=g,c[b+4>>2]=f,b=186488,!(((g|0)!=0|(f|0)!=0)&((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0))):0){TD(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function gD(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=186480;a=c[b>>2]&c[a>>2]}return a|0}function hD(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=186480;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function iD(a){a=a|0;c[47009]=a;c[4736]=1;return}function jD(a,b){a=a|0;b=b|0;c[47010]=a;c[47011]=b;c[47012]=0;return}function kD(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[47013]|0)){c[47013]=1;if(!(c[47014]|0))c[47014]=1;if(!(c[47005]|0))c[47005]=c[15808];if(!(c[47006]|0))c[47006]=c[15840];k=c[47015]|0;if(!((k|0)!=0?(c[k+(c[47016]<<2)>>2]|0)!=0:0)){lD();k=mD(c[47005]|0,16384)|0;c[(c[47015]|0)+(c[47016]<<2)>>2]=k}nD()}a:while(1){h=c[47017]|0;a[h>>0]=a[195085]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;f=h;b:while(1){i=f;while(1){f=c[18948+(d[i>>0]<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=i}c:while(1){g=f&255;do{f=(b[64314+(e<<1)>>1]|0)+g|0;if((b[64524+(f<<1)>>1]|0)==(e|0))break c;k=b[65060+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19972+(g<<2)>>2]|0}e=b[65270+(f<<1)>>1]|0;f=i+1|0;if((b[64314+(e<<1)>>1]|0)==219)break;else i=f}d:while(1){k=h;e:while(1){e=b[64128+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[64128+(c[47018]<<1)>>1]|0;f=c[47019]|0}else e=e<<16>>16;c[47007]=h;j=f;c[47008]=j-k;a[195085]=a[f>>0]|0;a[f>>0]=0;c[47017]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}i=c[47007]|0;a[f>>0]=a[195085]|0;e=(c[47015]|0)+(c[47016]<<2)|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[47021]=n;c[g>>2]=c[47005];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[47021]|0;if((c[47017]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(wD()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[47017]=c[47007];e=(((c[47014]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[195085]|0;f=c[47019]|0;e=c[47018]|0}if((m|0)==128){m=0;g=(c[47007]|0)+(j-i+-1)|0;c[47017]=g;e=uD()|0;f=vD(e)|0;h=c[47007]|0;if(!f){f=g;continue}else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+4>>2]|0)+(c[47021]|0)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}if((m|0)==129){m=0;n=g+1|0;c[47017]=n;e=f;f=n;continue}else if((m|0)==132){m=0;f=(c[47007]|0)+(j-i+-1)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}switch(m|0){case 29:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 32:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=3;continue a}case 35:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;continue a}case 42:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;oD();continue a}case 47:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=5;qD();continue a}case 89:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(99045);continue a}case 92:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(96917);continue a}case 95:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 98:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 101:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=7;c[47020]=1;qD();continue a}case 104:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;n=(c[47020]|0)+-1|0;c[47020]=n;if(!n){m=108;break a}sD(c[47007]|0);continue a}case 109:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47020]=(c[47020]|0)+1;sD(f);continue a}case 112:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);c[4736]=(c[4736]|0)+1;continue a}case 115:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 121:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;_3(f,e,1,c[47006]|0)|0;continue a}}}switch(m|0){case 27:{e=c[47008]|0;if(!e)l=-1;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[47008]|0;if(!e)l=259;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[47008]|0;if(!e)l=260;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=258;l=258}else l=258;break}case 61:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=261;l=261}else l=261;break}case 65:{e=c[47008]|0;if(!e)l=263;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[47008]|0;if(!e)l=262;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==261?264:45;break}case 72:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==258?264:45;break}case 75:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47036]=dD(c[46985]|0,f)|0;l=267;break}case 78:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(pD()|0){m=(c[47008]|0)+-1|0;a[f>>0]=a[195085]|0;n=h+m|0;c[47017]=n;c[47007]=h;c[47008]=m;a[195085]=a[n>>0]|0;a[n>>0]=0;c[47017]=n}c[47036]=dD(c[46985]|0,c[47007]|0)|0;l=267;break}case 86:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;rD();l=268;break}case 108:{c[47014]=1;tD();l=268;break}case 118:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;l=a[f>>0]|0;break}case 134:{xD(96920);break}}return l|0}function lD(){var a=0,b=0,d=0;b=c[47015]|0;do if(!b){a=ED(4)|0;c[47015]=a;if(!a)xD(97278);else{c[a>>2]=0;c[47027]=1;c[47016]=0;break}}else{a=c[47027]|0;if((c[47016]|0)>>>0>=(a+-1|0)>>>0){d=a+8|0;a=yD(b,d<<2)|0;c[47015]=a;if(!a)xD(97278);else{b=a+(c[47027]<<2)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[47027]=d;break}}}while(0);return}function mD(a,b){a=a|0;b=b|0;var d=0;d=ED(48)|0;if(!d)xD(97233);c[d+12>>2]=b;b=ED(b+2|0)|0;c[d+4>>2]=b;if(!b)xD(97233);else{c[d+20>>2]=1;AD(d,a);return d|0}return 0}function nD(){var b=0,d=0;d=(c[47015]|0)+(c[47016]<<2)|0;b=c[d>>2]|0;c[47021]=c[b+16>>2];b=c[b+8>>2]|0;c[47017]=b;c[47007]=b;c[47005]=c[c[d>>2]>>2];a[195085]=a[b>>0]|0;return}function oD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[47007]|0;b=h+1|0;i=(h2(b,97217,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=q4(b,97222,f)|0;if((f|0)>0?(c[4736]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;DD(d,b-d|0)}}l=g;return}function pD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[47007]|0)+((c[47008]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(CD()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[47009]|0;hA(h,1024,b);kA(h,97128)|0;kA(h,c[47007]|0)|0;c[f>>2]=c[4736];i2(d,97172,f)|0;kA(h,d)|0;kA(h,(k|0)==0?97122:k)|0;kA(h,97189)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;dA(0,97214,i)|0;lA(h);b=1}l=j;return b|0}function qD(){var b=0;b=c[47022]|0;if(!b){b=k6(1024)|0;c[47022]=b;c[47024]=b+1024}c[47023]=b;a[b>>0]=0;return}function rD(){c[47036]=dD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[47023]|0;d=c[47022]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[47023]=e;f=c[47024]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[47023]=e;f=d;i=g-f<<1;d=n6(d,i)|0;c[47022]=d;c[47024]=d+i;e=d+(e-f)|0;f=3}c[47023]=e;return}function tD(){c[47036]=eD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function uD(){var d=0,e=0,f=0,g=0,h=0;h=c[47017]|0;g=c[47007]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18948+((d&255)<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=g}a:while(1){f=d&255;do{d=(b[64314+(e<<1)>>1]|0)+f|0;if((b[64524+(d<<1)>>1]|0)==(e|0))break a;d=b[65060+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19972+(f<<2)>>2]|0}g=g+1|0;e=b[65270+(d<<1)>>1]|0}return e|0}function vD(a){a=a|0;var d=0;if(b[64128+(a<<1)>>1]|0){d=c[47017]|0;c[47018]=a;c[47019]=d}while(1){d=(b[64314+(a<<1)>>1]|0)+1|0;if((b[64524+(d<<1)>>1]|0)==(a|0))break;a=b[65060+(a<<1)>>1]|0}d=b[65270+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function wD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=(c[47015]|0)+(c[47016]<<2)|0;g=c[i>>2]|0;h=c[g+4>>2]|0;e=c[47007]|0;l=c[47017]|0;j=l;if(l>>>0>(h+((c[47021]|0)+1)|0)>>>0)xD(96975);f=j-e|0;if(!(c[g+40>>2]|0))b=(f|0)==1?1:2;else{l=f+-1|0;g=h;f=0;while(1){if((f|0)>=(l|0))break;a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0;f=f+1|0}e=c[i>>2]|0;do if((c[e+44>>2]|0)==2){c[47021]=0;c[e+16>>2]=0;m=17}else{while(1){h=e+12|0;g=c[h>>2]|0;f=g-l+-1|0;if(f|0){m=16;break}f=e+4|0;i=c[f>>2]|0;if(!(c[e+20>>2]|0)){m=12;break}e=g<<1;e=(e|0)==0?(g>>>3)+g|0:e;c[h>>2]=e;e=yD(i,e+2|0)|0;c[f>>2]=e;if(!e)break;i=e+(j-i)|0;c[47017]=i;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;j=i}if((m|0)==12)c[f>>2]=0;else if((m|0)==16){d=eb[c[c[(c[47010]|0)+8>>2]>>2]&63](c[47011]|0,(c[e+4>>2]|0)+l|0,f>>>0<8192?f:8192)|0;c[47021]=d;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;k=e;break}}xD(97031)}while(0);do if((m|0)==17)if(!l){zD(c[47005]|0);b=1;d=c[47021]|0;k=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;k=e;break}while(0);e=d+l|0;do if(e>>>0>(c[k+12>>2]|0)>>>0){m=yD(c[k+4>>2]|0,e+(d>>>1)|0)|0;d=(c[47015]|0)+(c[47016]<<2)|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)xD(97075);else{n=c[47021]|0;o=d;break}}else{n=d;o=c[k+4>>2]|0}while(0);n=n+l|0;c[47021]=n;a[o+n>>0]=0;o=(c[47015]|0)+(c[47016]<<2)|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[47021]|0)+1)>>0]=0;c[47007]=c[(c[o>>2]|0)+4>>2]}return b|0}function xD(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15715]|0;c[b>>2]=a;z4(d,96971,b)|0;$a(2)}function yD(a,b){a=a|0;b=b|0;return n6(a,b)|0}function zD(a){a=a|0;var b=0,d=0,e=0;d=c[47015]|0;if((d|0)!=0?(b=c[d+(c[47016]<<2)>>2]|0,(b|0)!=0):0)e=4;else{lD();b=mD(c[47005]|0,16384)|0;d=c[47015]|0;c[d+(c[47016]<<2)>>2]=b;if(!d)b=0;else e=4}AD(b,a);nD();return}function AD(a,b){a=a|0;b=b|0;var d=0;d=c[(L1()|0)>>2]|0;BD(a);c[a>>2]=b;c[a+40>>2]=1;b=c[47015]|0;if(!b)b=0;else b=c[b+(c[47016]<<2)>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(L1()|0)>>2]=d;return}function BD(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[47015]|0;if(!d)d=0;else d=c[d+(c[47016]<<2)>>2]|0;if((d|0)==(b|0))nD()}return}function CD(){var b=0,d=0;d=c[47007]|0;b=(c[47008]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function DD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[47025]|0;if((d|0)<(b|0)){e=b+1|0;if(!d)d=k6(e)|0;else d=n6(c[47026]|0,e)|0;c[47026]=d;c[47025]=b}else d=c[47026]|0;O3(d,a)|0;c[47009]=c[47026];return}function ED(a){a=a|0;return k6(a)|0}function FD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;hA(j,1024,m+1080|0);e=c[47009]|0;if(e|0){kA(j,e)|0;kA(j,97328)|0}kA(j,b)|0;c[f>>2]=c[4736];i2(d,97331,f)|0;kA(j,d)|0;a:do if(!(a[c[47007]>>0]|0))switch(((c[47014]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;i2(d,97351,g)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97413)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 3:{c[h>>2]=16384;i2(d,97432,h)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97500)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 1:{c[i>>2]=16384;i2(d,97519,i)|0;kA(j,d)|0;break a}default:break a}else{kA(j,97343)|0;kA(j,c[47007]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){iA(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;dA(1,97214,k)|0;lA(j);l=m;return}function GD(){HD(c[47007]|0);return}function HD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[47017]|0;a[j>>0]=a[195085]|0;i=(c[47015]|0)+(c[47016]<<2)|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[47021]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[47021]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)xD(97578);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[47007]=l;a[195085]=a[b>>0]|0;c[47017]=b;return}function ID(){var a=0;a=c[47015]|0;if(!a)a=0;else a=c[a+(c[47016]<<2)>>2]|0;BD(a);return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;VD(a,c[g>>2]|0,18592);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function KD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=JD(b,d,e)|0;if(!f){f=aC(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;nB(f)|0}return f|0}function LD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(EB(a,0,b,f,0)|0)!=0:0)?(e=f,e=JD(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(EB(a,0,b,f,1)|0)!=0:0){e=f;e=KD(a,c[e>>2]|0,c[e+4>>2]|0)|0;IB(a,0,e)}else e=0;l=g;return e|0}function MD(a){a=a|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,0,128)|0}function ND(a){a=a|0;var b=0;b=OD(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=eb[c[b>>2]&63](b,a,8)|0}return a|0}function OD(a){a=a|0;return c[a+56>>2]|0}function PD(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,b,2)|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[47028]|0;e=(b|0)!=0;do if(!a)if(e){l6(b);a=0;break}else{a=k6(d)|0;break}else if(e){bC(a,b);a=0;break}else{a=aC(a,d)|0;break}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;a=c[47028]|0;if(!a)l6(b);else bC(a,b);return}function SD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[47028]=a;d=Sz(b,d)|0;c[e>>2]=f;c[47028]=0;return d|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;c[47028]=a;return eb[c[b>>2]&63](b,d,2)|0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0;d=(_z(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[47028]=a;if(!(Oz(b)|0)){c[d>>2]=e;c[47028]=0;a=0}else a=1;return a|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(_z(b,0,0)|0)!=(c|0):0)_z(b,c,0)|0;return}function WD(a,b){a=a|0;b=b|0;if(!(gD(a)|0))b=YD(a,b)|0;else XD(a,b)|0;return b|0}function XD(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;f=c+1|0;while(1){d=a[b>>0]|0;e=f+1|0;if(!(d<<24>>24))break;a[f>>0]=d;f=e;b=b+1|0}a[f>>0]=62;a[e>>0]=0;return c|0}function YD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;k=a[b>>0]|0;t=0;g=((k+-45&255)<2|((k&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){o=g;l=e;p=k;while(1){g=l+1|0;if(!(p<<24>>24))break b;e=p&255;c:do if(p<<24>>24==34){a[l>>0]=92;h=1}else{if(!o){g=p<<24>>24>-1&(p<<24>>24!=95&(O2(e)|0)==0);o=0;h=g?1:h;g=l;break}switch(p<<24>>24){case 45:{g=(j|0)==0;o=g?o:0;h=g?h:1;g=l;break c}case 46:{g=(i|0)==0;o=g?o:0;h=g?h:1;i=i+1|0;g=l;break c}default:{g=(e+-48|0)>>>0<10;o=g?o:0;h=g?h:1;g=l;break c}}}while(0);e=g+1|0;a[g>>0]=p;s=f+1|0;r=a[f>>0]|0;j=j+1|0;f=c[5042]|0;if(!f){l=e;f=s;p=r;continue}k=r&255;l=r<<24>>24!=0;m=g+2|0;n=r<<24>>24>-1;q=g+3|0;if((t&l?!(p<<24>>24==92|p<<24>>24>-1&((p+-45&255)>1&(O2(p<<24>>24)|0)==0)^1):0)?(r+-45&255)<2|(O2(k)|0)!=0|n^1:0)break;if((j|0)<(f|0)|l^1){l=e;f=s;p=r;continue}if(p<<24>>24==92|p<<24>>24>-1&((O2(p<<24>>24)|0)==0&(p+-45&255)>1)^1){t=1;g=o;k=r;f=s;continue b}if(!((r+-45&255)<2|(O2(k)|0)!=0|n^1)){t=1;g=o;k=r;f=s;continue b}a[e>>0]=92;a[m>>0]=10;h=1;j=0;l=q;f=s;p=r}a[e>>0]=92;a[m>>0]=10;t=0;g=o;h=1;j=0;k=r;e=q;f=s}a[l>>0]=34;a[g>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20172;while(1){f=c[e>>2]|0;if(!f)break a;if(!(C3(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=97610;while(0);return b|0}function ZD(a){a=a|0;return WD(a,_D(a)|0)|0}function _D(a){a=a|0;var b=0;b=((D3(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[47030]|0;if(b>>>0>(c[47029]|0)>>>0){if(!a)a=k6(b)|0;else a=n6(a,b)|0;c[47030]=a;c[47029]=b}return a|0}function $D(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if((aE(a)|0)==0?lC(a,b,0)|0:0){a=1;break}a=ND(a)|0}return a|0}function aE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=HB(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=tA(b)|0;b:do if(d|0?(f=tA(OD(b)|0)|0,f|0):0){h=Uz(c[(tA(vC(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?f2(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=oA(b,0)|0;if(d)if((Uz(c[d+8>>2]|0)|0)>0)d=0;else return (Uz(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function bE(b,d){b=b|0;d=d|0;var e=0,f=0;c[47031]=0;e=NA(b,97620)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=$1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5042]=f;cE(b,1);if(((dE(b,d,1)|0)!=-1?(eE(b,d)|0)!=-1:0)?(fE(b,d)|0)!=-1:0){c[5042]=128;b=pb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function cE(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;cE(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function dE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(OD(b)|0)!=0:0){i=0;g=195341;k=109815}else{k=(a[b+24>>0]&1)==0?195341:97664;g=(wB(b)|0)==0;c[47032]=DA(b,2,111756,0)|0;c[47033]=DA(b,2,111765,0)|0;i=1;g=g?195341:97667}f=HB(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=102905}else{h=0;j=195341;f=195341}do if((gE(b,d)|0)!=-1?(hE(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((hE(b,d,k)|0)==-1){f=-1;break}if((hE(b,d,102898)|0)==-1){f=-1;break}}if(!g?(sE(b,d,f)|0)==-1:0){f=-1;break}if(((hE(b,d,j)|0)!=-1?(hE(b,d,97675)|0)!=-1:0)?(c[47031]=(c[47031]|0)+1,(xE(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((iE(a,b)|0)==-1)d=-1;else{k=oA(vC(a)|0,0)|0;i=(k|0)!=0;j=k+8|0;k=k+12|0;h=gC(a)|0;while(1){if(!h){d=0;break a}if(jE(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=c[j>>2]|0;else d=0;if((kE(h,b,d)|0)==-1){d=-1;break a}}g=UA(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(jE(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=c[j>>2]|0;else d=0;if((kE(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(lE(a,g)|0){if(i)e=c[k>>2]|0;else e=0;if((mE(g,b,e)|0)==-1){d=-1;break a}}g=WA(a,g)|0}h=hC(a,h)|0}}while(0);return d|0}function fE(a,b){a=a|0;b=b|0;c[47031]=(c[47031]|0)+-1;if((gE(a,b)|0)==-1)a=-1;else a=((hE(a,b,111309)|0)==-1)<<31>>31;return a|0}function gE(a,b){a=a|0;b=b|0;var d=0;d=c[47031]|0;while(1){if((d|0)<=0){d=0;break}if((hE(a,b,153746)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function hE(a,b,d){a=a|0;b=b|0;d=d|0;return vb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function iE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if(!(aE(a)|0)){if((dE(a,b,0)|0)==-1){a=-1;break}if((eE(a,b)|0)==-1){a=-1;break}if((fE(a,b)|0)==-1){a=-1;break}}else iE(a,b)|0;a=ND(a)|0}return a|0}function jE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(($D(a,b)|0)==0?(uE(a,b,c,d)|0)!=0:0)if((vE(a,b)|0)==0?(wE(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=uC(a)|0;do if((gE(d,b)|0)!=-1?(nE(a,b)|0)!=-1:0){if((pE(a)|0)==0?(qE(a,b,c)|0)==-1:0){a=-1;break}a=hE(d,b,97631)|0}else a=-1;while(0);return a|0}function lE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=1;break}if((aE(a)|0)==0?jB(a,b,0)|0:0){a=0;break}a=ND(a)|0}return a|0}function mE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=uC(g)|0;do if((((((gE(f,b)|0)!=-1?(nE(g,b)|0)!=-1:0)?(oE(a,b,c[47032]|0)|0)!=-1:0)?(g=(uB(uC(g)|0)|0)!=0,(hE(f,b,g?100380:100385)|0)!=-1):0)?(nE(e,b)|0)!=-1:0)?(oE(a,b,c[47033]|0)|0)!=-1:0){if(!(pE(a)|0)){if((qE(a,b,d)|0)==-1){a=-1;break}}else if((rE(a,b,1)|0)==-1){a=-1;break}a=hE(f,b,97631)|0}else a=-1;while(0);return a|0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=HB(a)|0;f=uC(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;i2(d,97651,g)|0;if((hE(f,b,d)|0)==-1)a=-1;else h=4}else if((sE(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function oE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=uC(b)|0,f=OA(b,d)|0,(a[f>>0]|0)!=0):0)if((hE(e,c,108285)|0)==-1)b=-1;else{do if(gD(f)|0){if((sE(e,c,f)|0)==-1){b=-1;break a}}else{b=F3(f,58)|0;if(!b)if((tE(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((tE(e,c,f,0)|0)==-1){b=-1;break a}if((hE(e,c,108285)|0)==-1){b=-1;break a}if((tE(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function pE(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(rE(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=tA(a)|0;j=uC(a)|0;c:do if(f){i=f+12|0;h=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;f=h+16|0;do if(c[a>>2]&2){g=c[47032]|0;if(g|0?(c[f>>2]|0)==(c[g+16>>2]|0):0)break;g=c[47033]|0;if(!((g|0)!=0?(c[f>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((hE(j,b,97646)|0)==-1){e=-1;break b}if((gE(j,b)|0)==-1){e=-1;break b}}else{if((gE(j,b)|0)==-1){e=-1;break b}if((hE(j,b,97643)|0)==-1){e=-1;break b}c[47031]=(c[47031]|0)+1}if((sE(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((hE(j,b,97649)|0)==-1){e=-1;break b}if((sE(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=eb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((hE(j,b,97641)|0)==-1){e=-1;break}c[47031]=(c[47031]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function rE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=HB(b)|0;b=uC(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((hE(b,c,97634)|0)!=-1?(sE(b,c,e)|0)!=-1:0)if((d|0)!=0?(hE(b,c,97641)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function sE(a,b,c){a=a|0;b=b|0;c=c|0;return tE(a,b,c,1)|0}function tE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=YD(c,_D(c)|0)|0;else c=ZD(c)|0;return hE(a,b,c)|0}function uE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=XA(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=YA(a,b)|0}}while(0);return b|0}function vE(a,b){a=a|0;b=b|0;if(!(XA(a,b)|0))a=(UA(a,b)|0)==0;else a=0;return a&1|0}function wE(a){a=a|0;var b=0,d=0,e=0;a=tA(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function xE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oA(a,0)|0;if(e)if(((yE(a,b,111795,c[e+16>>2]|0,d)|0)!=-1?(yE(a,b,111782,c[e+8>>2]|0,d)|0)!=-1:0)?(yE(a,b,111751,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function yE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Xz(f,0)|0;k=(l|0)==0;j=eb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=eb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((hE(b,d,97646)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}else{if((gE(b,d)|0)==-1){g=-1;break}if((hE(b,d,e)|0)==-1){g=-1;break}if((hE(b,d,97643)|0)==-1){g=-1;break}c[47031]=(c[47031]|0)+1}if((sE(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((hE(b,d,97649)|0)==-1){g=-1;break}if((sE(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=eb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[47031]=(c[47031]|0)+-1;if((g|0)!=1){if((hE(b,d,153748)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}g=(hE(b,d,97678)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Xz(f,l)|0;g=0}while(0);return g|0}function zE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=82;break}case 1:{g=83;break}case 3:case 2:{g=84;break}default:{}}b=vb[g&127](a,b)|0;if(!b)b=-1;else{DE(a,b,d,e,g,f);b=0}return b|0}function AE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=jB(a,b,0)|0;return b|0}function BE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=lC(a,b,0)|0;return b|0}function CE(a,b){a=a|0;b=b|0;return a|0}function DE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)rb[c&127](a,b,d);g=MD(a)|0;while(1){if(!g)break;i=vb[e&127](g,b)|0;if(i|0)DE(g,i,c,d,e,f);g=ND(g)|0}if(!h)rb[c&127](a,b,d);return}function EE(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+1200|0;s=u+800|0;h=u;c[47034]=0;c[47035]=-2;f=s;i=200;n=h;o=0;p=0;g=s;a:while(1){b[g>>1]=o;if((f+(i<<1)+-2|0)>>>0>g>>>0){q=i;r=f;k=h}else{m=(g-f>>1)+1|0;if(i>>>0>9999){t=76;break}j=i<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(s|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;t=77;break a}case 4:{t=76;break a}case 0:{q=j;r=f;k=e?i+(m<<2)+-4|0:h;n=i;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==6){e=0;f=r;t=77;break}e=a[97682+o>>0]|0;i=e<<24>>24;j=(p|0)!=0;do if(e<<24>>24!=-18){f=c[47035]|0;if((f|0)==-2){f=kD()|0;c[47035]=f}if((f|0)>=1)if(f>>>0<269)h=d[97762+f>>0]|0;else h=2;else{c[47035]=0;h=0}f=h+i|0;if(f>>>0<=59?(d[98031+f>>0]|0)==(h|0):0){o=a[98091+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;t=23;break}else{c[47035]=-2;h=k+4|0;c[h>>2]=c[47036];j=j?p+-1|0:0;break}}else t=22}else t=22;while(0);if((t|0)==22){t=0;o=a[98151+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(j)if((p|0)==3){f=c[47035]|0;if((f|0)<1)if(!f){e=1;f=r;t=77;break a}else{f=k;break}else{c[47035]=-2;f=k;break}}else f=k;else{c[47034]=(c[47034]|0)+1;FD(142682);f=k}while(0);while(1){if(e<<24>>24==18)break;if((g|0)==(r|0)){e=1;f=r;t=77;break a}e=g+-2|0;f=f+-4|0;g=e;e=a[97682+(b[e>>1]|0)>>0]|0}h=f+4|0;c[h>>2]=c[47036];e=1;j=3}else t=23}do if((t|0)==23){t=0;j=d[98231+f>>0]|0;e=c[k+(1-j<<2)>>2]|0;h=k+-4|0;i=k+-8|0;b:do switch(f|0){case 2:{FE();GE();break}case 3:{if(c[47037]|0){FE();GE();pB(c[47037]|0)|0;c[46985]=0;c[47037]=0}break}case 6:{HE(c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);break}case 7:{e=c[k>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[h>>2]|0)){JE();break b}else{IE();break b}case 24:{KE();break}case 25:{KE();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{LE(c[k>>2]|0,0,0);break}case 31:{LE(c[i>>2]|0,c[k>>2]|0,0);break}case 32:{LE(c[k+-16>>2]|0,c[i>>2]|0,c[k>>2]|0);break}case 33:{ME(c[i>>2]|0,c[h>>2]|0);break}case 34:{ME(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[h>>2]|0;break}case 39:{e=0;break}case 48:{NE(c[i>>2]|0,c[k>>2]|0);break}case 49:{NE(c[k>>2]|0,0);break}case 51:{OE(c[k>>2]|0);break}case 52:{PE();break}case 53:{e=c[k>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[k>>2]|0;break}case 60:{e=c[k>>2]|0;break}case 61:{e=c[k>>2]|0;break}case 62:{e=QE(c[i>>2]|0,c[k>>2]|0)|0;break}default:{}}while(0);h=0-j|0;o=k+(h<<2)|0;g=g+(h<<1)|0;h=o+4|0;c[o+4>>2]=e;e=(d[98294+f>>0]|0)+-24|0;o=b[g>>1]|0;f=o+(a[98357+e>>0]|0)|0;if(f>>>0<60?(d[98031+f>>0]|0)==(o|0):0){e=a[98091+f>>0]|0;j=p;break}e=a[98392+e>>0]|0;j=p}while(0);f=r;i=q;o=e;p=j;g=g+2|0}if((t|0)==76){FD(140861);e=2;t=77}if((t|0)==77)if((f|0)!=(s|0))l6(f);l=u;return e|0}function FE(){var a=0,b=0;a=c[47038]|0;while(1){if(!a)break;YE(a+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);b=RE(c[47038]|0)|0;c[47038]=b;a=b}return}function GE(){GD();QB(c[47037]|0);return}function HE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[47037]|0;if(!f){a[188156]=d&1|(e&255)<<1&2|a[188156]&-12|8;f=c[47040]|0;c[g>>2]=c[47039];f=lB(b,g,f)|0;c[47037]=f}c[46985]=f;c[47038]=SE(c[47038]|0,f)|0;fD(0,b)|0;l=h;return}function IE(){var b=0,d=0,e=0,f=0,g=0,h=0;XE(2);e=c[47038]|0;f=a[98427]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(f2(g,98427)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=gC(e)|0;while(1){if(!d)continue a;g=lC(c[c[47038]>>2]|0,d,0)|0;dF(g,0,c[b>>2]|0,h);d=hC(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;dF(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}YE((c[47038]|0)+8|0);YE((c[47038]|0)+16|0);YE((c[47038]|0)+24|0);c[(c[47038]|0)+4>>2]=0;return}function JE(){var a=0;XE(1);a=(c[47038]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;cF(c[a+4>>2]|0);a=a+12|0}YE((c[47038]|0)+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);c[(c[47038]|0)+4>>2]=0;return}function KE(){var a=0,b=0;a=c[47038]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=bF(b)|0;a=c[47038]|0}c[a+4>>2]=0}else{b=aF(b)|0;a=c[47038]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)UE(a+16|0,b);return}function LE(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=_E(b,d)|0;d=$E(qC(c[c[47038]>>2]|0,a,1)|0,b)|0;UE((c[47038]|0)+8|0,d);fD(c[47037]|0,a)|0;return}function ME(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)WE();d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))WE();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;XE(g);b=c[47038]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[47037]|0))){d=DA(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[47038]|0;if((c[b>>2]|0)!=(c[47037]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}YE(b+24|0);return}function NE(a,b){a=a|0;b=b|0;b=TE(a,b)|0;UE((c[47038]|0)+24|0,b);return}function OE(a){a=a|0;var b=0;b=c[47038]|0;c[47038]=SE(b,LD(c[b>>2]|0,a,1)|0)|0;fD(c[47037]|0,a)|0;return}function PE(){var a=0,b=0;a=c[47038]|0;b=c[a>>2]|0;a=RE(a)|0;c[47038]=a;c[a+4>>2]=b;return}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=D3(a)|0;d=d+1+(D3(b)|0)|0;if(d>>>0<1025)d=f;else d=k6(d)|0;O3(d,a)|0;g6(d,b)|0;e=dD(c[47037]|0,d)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((d|0)!=(f|0))l6(d);l=g;return e|0}function RE(a){a=a|0;var b=0;b=c[(c[47038]|0)+32>>2]|0;bC(c[47037]|0,a);return b|0}function SE(a,b){a=a|0;b=b|0;var d=0;d=aC(c[47037]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function TE(a,b){a=a|0;b=b|0;return VE(267,a,b)|0}function UE(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function VE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(c[47037]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function WE(){var a=0;a=l;l=l+16|0;dA(0,98431,a)|0;l=a;return}function XE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[98427]|0):0)?!(f2(f,98427)|0):0)){h=DA(c[c[47038]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=DA(c[c[47038]>>2]|0,b,f,195341)|0;c[d>>2]=266;fD(c[47037]|0,f)|0}d=d+12|0}return}function YE(a){a=a|0;ZE(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function ZE(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{ZE(c[a+4>>2]|0);break}case 266:case 267:{fD(c[47037]|0,c[a+8>>2]|0)|0;break}default:{}}bC(c[47037]|0,a);a=b}return}function _E(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=D3(a)|0;d=d+2+(D3(b)|0)|0;if(d>>>0<1025)e=g;else e=k6(d)|0;c[f>>2]=a;c[f+4>>2]=b;i2(e,98464,f)|0;d=dD(c[47037]|0,e)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((e|0)!=(g|0))l6(e);l=h;return d|0}function $E(a,b){a=a|0;b=b|0;return VE(259,a,b)|0}function aF(a){a=a|0;return VE(265,a,0)|0}function bF(a){a=a|0;return VE(262,a,0)|0}function cF(a){a=a|0;var b=0,d=0;b=(c[47038]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)HA(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function dF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=gC(d)|0;while(1){if(!f)break a;eF(a,b,lC(c[c[47038]>>2]|0,f,0)|0,0,e);f=hC(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=lC(c[c[47038]>>2]|0,c[f+4>>2]|0,0)|0;eF(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function eF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=fB(c[c[47038]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;fF(d,111756,a?e:b);fF(d,111765,a?b:e);cF(d)}return}function fF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=DA(c[c[47038]>>2]|0,2,b,0)|0;if(!e)e=DA(c[c[47038]>>2]|0,2,b,195341)|0;HA(a,e,d)|0}return}function gF(a,b,d){a=a|0;b=b|0;d=d|0;c[47005]=b;c[47037]=a;c[46985]=0;a=d|0?d:18644;c[47040]=a;jD(a,b);EE()|0;a=c[46985]|0;if(!a){ID();a=c[46985]|0}return a|0}function hF(a,b){a=a|0;b=b|0;return gF(0,a,b)|0}function iF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;d=c[b+76>>2]|0;f=c[b>>2]|0;i=b+12|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){db[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)jF(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15840];g=12;break}f=f4(e,106813)|0;c[h>>2]=f;if(!f){k=c[(c[i>>2]|0)+16>>2]|0;i=c[d>>2]|0;d=v2(c[(L1()|0)>>2]|0)|0;c[j>>2]=i;c[j+4>>2]=d;lb[k&63](98470,j);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{lb[c[(c[i>>2]|0)+16>>2]&63](98508,k);d=1}l=m;return d|0}function jF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;i2(g,98526,e)|0}e=c[b+20>>2]|0;e=e|0?e:98530;d=D3(e)|0;i=D3(g)|0;f=b+52|0;i=d+1+i+(D3(c[f>>2]|0)|0)|0;d=i+11|0;if((c[47041]|0)>>>0<(i+1|0)>>>0){c[47041]=d;d=n6(c[47042]|0,d)|0;c[47042]=d}else d=c[47042]|0;O3(d,e)|0;g6(c[47042]|0,g)|0;d=c[47042]|0;d=d+(D3(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=Y3(c[f>>2]|0)|0;f=c[47042]|0;while(1){e=I4(d,58)|0;if(!e)break;g6(f,e+1|0)|0;i=c[47042]|0;g=i+(D3(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}g6(f,d)|0;l6(d);c[b+32>>2]=c[47042];l=h;return}function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;if((b|0)!=0&(d|0)!=0){f=a+12|0;if(c[a+152>>2]&1024|0){lb[c[(c[f>>2]|0)+16>>2]&63](98508,g);$a(1)}if((lF(a,b,d)|0)==(d|0))e=d;else{g=c[(c[f>>2]|0)+16>>2]|0;c[h>>2]=d;lb[g&63](98540,h);$a(1)}}else e=0;l=i;return e|0}function lF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=_3(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=n6(h,g)|0;c[j>>2]=f;if(!f){lb[c[(c[b+12>>2]|0)+16>>2]&63](98565,n);$a(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);B6(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=eb[f&63](b,d,e)|0;while(0);l=o;return e|0}function mF(a,b){a=a|0;b=b|0;var c=0;c=D3(b)|0;b=(kF(a,b,c)|0)==(c|0);return (b?1:-1)|0}function nF(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(kF(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function oF(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=m4(d)|0;else b=0;return b|0}function pF(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);oF(a)|0;return}function qF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){lb[c[(c[a+12>>2]|0)+16>>2]&63](98592,e);$a(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)db[b&127](a);else{oF(a)|0;rF(a)}l=e;return}function rF(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15840]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){l4(f)|0;c[e>>2]=0}c[d>>2]=0}return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=k2(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=IK(e+1|0)|0;c[g>>2]=d;f=e;e=j2(e,b,g)|0}else f=h;kF(a,f,e)|0;if((f|0)!=(h|0))l6(f)}else{c[f>>2]=v2(c[(L1()|0)>>2]|0)|0;dA(1,98609,f)|0}l=i;return}function tF(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,b)|0;kF(a,f,c[e>>2]|0)|0;l=d;return}function uF(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~(d+(d<0.0?-.5:.5));if(!f){f=138697;e=1}else{l=(f|0)<0;k=4;i=0;e=195106;f=l?0-f|0:f;while(1){h=e+-1|0;if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){a[h>>0]=45;e=h}f=e;e=195106-e|0}}else{f=98624;e=18}else{f=98623;e=19}c[b>>2]=e;return f|0}function vF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,+h[b>>3])|0;kF(a,f,c[e>>2]|0)|0;kF(a,102905,1)|0;b=uF(e,+h[b+8>>3])|0;kF(a,b,c[e>>2]|0)|0;l=d;return}function wF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vF(a,f);e=e+1|0;if((e|0)>=(d|0))break;kF(a,102905,1)|0}l=g;return}function xF(a,b){a=a|0;b=b|0;var d=0;d=HK(392)|0;if(d|0){c[d>>2]=20200;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function yF(a){a=a|0;var b=0,d=0,e=0,f=0;b=HK(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function zF(a){a=a|0;GF(a);l6(a);return}function AF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47043]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47043]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47043]=d;c[d+32>>2]=b;c[d>>2]=a;return}function BF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47044]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47044]=d;c[d+52>>2]=b;c[d>>2]=a;return (JF(a,3,b)|0)!=0|0}function CF(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function DF(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function EF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function FF(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)l6(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function GF(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;FF(b+604|0);FF(b+592|0);l6(c[b+584>>2]|0);l6(c[b+588>>2]|0);l6(b);b=e}c[47044]=0;c[47043]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function HF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+128|0;j=m+64|0;k=m;N4(j,e,63)|0;i=F3(j,58)|0;if(i|0)a[i>>0]=0;d=b+60+(d<<2)|0;while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if((f2(j,k)|0)<1)break;d=c[d>>2]|0}while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if(f2(j,k)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)>(f|0))d=b;else break}k=IK(20)|0;c[k>>2]=c[d>>2];c[d>>2]=k;c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;c[k+16>>2]=h;l=m;return 1}function IF(a,b){a=a|0;b=b|0;b=l;l=l+16|0;dA(1,98697,b)|0;l=b;return 0}function JF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;N4(o,e,63)|0;e=F3(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=F3(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}N4(p,c[e+4>>2]|0,63)|0;e=F3(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(f2(p,o)|0)){g=(e|0)!=0;if(i&g?f2(e,f)|0:0)break;if(!j?f2(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(JF(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;f=e+16|0;g=b+8|0;if(e){if((c[f>>2]|0)==0?(IF(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[g>>2]|0)>0){q=c[15715]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20212+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;z4(q,98728,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5058]|0){hA(188180,0,0);c[5058]=0}h=Y3(e)|0;e=F3(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(C3(h,d)|0)!=0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=58;kA(188180,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}l6(d);g=c[g>>2]|0}l6(h);if(e<<24>>24){g=0;i=19}}else{l6(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(C3(g,d)|0)==0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=195341;break}}e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}a[e>>0]=0;e=c[47045]|0;c[47046]=e}while(0);return e|0}function LF(b){b=b|0;var d=0;if(!b)Aa(111509,98745,573,98759);if(!(a[b>>0]|0))Aa(111514,98745,574,98759);d=c[47049]|0;if(!d)b=0;else b=eb[c[d>>2]&63](d,b,512)|0;return b|0}function MF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)Aa(111613,98745,589,98776);g=b+8|0;e=c[g>>2]|0;if(!e)Aa(111616,98745,590,98776);if(!(a[e>>0]|0))Aa(111625,98745,591,98776);h=b+20|0;f=c[h>>2]|0;do if(!f){d=kP(e)|0;if(!d){c[i>>2]=c[g>>2];dA(0,98800,i)|0;d=0;break}i=f4(d,139124)|0;c[h>>2]=i;if(!i){c[j>>2]=v2(c[(L1()|0)>>2]|0)|0;c[j+4>>2]=d;dA(0,98825,j)|0;d=0;break}d=c[47050]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[47050]=d+1;d=1;break}}else{y4(f,0,0)|0;if(!(c[h>>2]|0))Aa(98846,98745,614,98776);else d=1}while(0);l=k;return d|0}function NF(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){l4(e)|0;c[d>>2]=0}return}function OF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0;if(!b){e=-1;d=-1}else{i=c[b+48>>2]|0;e=d+8|0;f=+(i|0);if(!i){g=+h[d>>3];f=+h[e>>3]}else{h[e>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function PF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;f=n+16|0;j=n;k=n+32|0;m=b+4|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if(((c[47179]|0)==0?(g=c[47178]|0,(c[47051]|0)!=(g|0)):0)?(c[47051]=g,i=c[47049]|0,i|0):0){Oz(i)|0;c[47049]=0}o=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];o=!(o>=1.0)?96.0:o;h[j+8>>3]=o;h[j>>3]=o;d=QF(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];OF(k,d,f);d=c[k+4>>2]|0;f=c[k>>2]|0}else{d=-1;f=-1}c[b>>2]=f;c[m>>2]=d;l=n;return}function QF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)Aa(111509,98745,638,98852);if(!(c[47049]|0))c[47049]=Sz(20236,c[4599]|0)|0;b=LF(a)|0;a:do if(!b){b=HK(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=dD(0,a)|0;if(!((MF(b)|0)<<24>>24)){RF(b);b=0;break}if(!(c[b+20>>2]|0))Aa(98846,98745,653,98852);do switch(SF(b)|0){case 0:{a=gN(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];dA(0,98869,e)|0;RF(b);b=0;break a}break}case 2:{TF(b);break}case 3:{UF(b);break}case 1:{VF(b);break}case 4:{WF(b);break}case 6:{XF(b);break}case 11:{YF(b);break}case 8:{ZF(b);break}case 5:{_F(b);break}case 12:{$F(b);break}default:{}}while(0);NF(b);e=c[47049]|0;eb[c[e>>2]&63](e,b,1)|0}}else NF(b);while(0);l=f;return b|0}function RF(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)fD(0,b)|0;l6(a);return}function SF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;e=j+200|0;f=j;g=a+20|0;b=c[g>>2]|0;h=a+24|0;d=a+28|0;a:do if((b|0)!=0?(X5(e,1,20,b)|0)==20:0){b=0;while(1){if(b>>>0>=10){i=13;break a}if(!(g2(e,c[20272+(b<<4)>>2]|0,c[20272+(b<<4)+4>>2]|0)|0))break;b=b+1|0}c[d>>2]=c[20272+(b<<4)+12>>2];a=c[20272+(b<<4)+8>>2]|0;c[h>>2]=a;switch(b|0){case 7:break;case 8:{if(g2(e+8|0,99085,4)|0)break a;c[d>>2]=99090;c[h>>2]=11;a=11;break a}default:break a}while(1){if(!(o4(f,200,c[g>>2]|0)|0)){i=11;break}if(!(g2(f,99080,4)|0)){i=8;break}}if((i|0)==8){c[d>>2]=102104;c[h>>2]=8;a=8;break}else if((i|0)==11){a=c[h>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[d>>2]=99095;c[h>>2]=0;a=0}l=j;return a|0}function TF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((iG(c[e>>2]|0,2,b)|0)<<24>>24?(iG(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function UF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,16,0)|0;if((aG(c[e>>2]|0,4,b)|0)<<24>>24?(aG(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function VF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;y4(c[g>>2]|0,16,0)|0;if((((iG(c[g>>2]|0,2,b)|0)<<24>>24?(iG(c[g>>2]|0,2,d)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,e)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function WF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;b=o+16|0;e=o+12|0;j=o+8|0;k=o+4|0;m=o;c[a+48>>2]=0;n=a+20|0;while(1){if(!((aG(c[n>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(F3(99068,d)|0)continue;if((d|0)==192){i=6;break}f=c[n>>2]|0;if((d|0)==194){i=11;break}if(!((aG(f,2,e)|0)<<24>>24))break;y4(c[n>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((i|0)==6){d=a+40|0;b=a+44|0;if(((aG(c[n>>2]|0,3,m)|0)<<24>>24?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[b>>2]=c[j>>2];c[d>>2]=c[k>>2]}}else if((((i|0)==11?(g=a+40|0,h=a+44|0,(aG(f,3,m)|0)<<24>>24):0)?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[h>>2]=c[j>>2];c[g>>2]=c[k>>2]}l=o;return}function XF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;y4(c[i>>2]|0,0,0)|0;while(1){if(!(o4(b,1024,c[i>>2]|0)|0))break;d=C4(b,99053)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((q4(d,104612,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function YF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;b=h+4|0;e=h;c[a+48>>2]=0;f=a+20|0;y4(c[f>>2]|0,15,0)|0;i=(S5(c[f>>2]|0)|0)==88;g=c[f>>2]|0;d=a+40|0;a=a+44|0;if(i){y4(g,24,0)|0;if((iG(c[f>>2]|0,4,b)|0)<<24>>24?(iG(c[f>>2]|0,4,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}else{y4(g,26,0)|0;if((iG(c[f>>2]|0,2,b)|0)<<24>>24?(iG(c[f>>2]|0,2,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}l=h;return}function ZF(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[47052]|0)){if(X4(188212,98938,1)|0){c[d>>2]=98938;dA(1,98965,d)|0}c[47052]=188212}m=b+20|0;y4(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(o4(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(M5(188212,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(f2(e,141419)|0))break;if(!(f2(e,141351)|0))break c;if(f2(e,99012)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((q4(f,99020,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((q4(f,99002,A)|0)!=2){c[D>>2]=s;if((q4(f,101510,D)|0)==1){e=1;f=hG(+h[s>>3],99009)|0}else{e=g;f=j}}else{e=1;f=hG(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((q4(f,99002,E)|0)!=2){c[B>>2]=s;if((q4(f,101510,B)|0)==1){d=1;e=hG(+h[s>>3],99009)|0}else e=k}else{d=1;e=hG(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]-+h[t>>3]+1.0)>>>0;e=~~(+h[w>>3]-+h[u>>3]+1.0)>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function _F(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,0,0)|0;if(!(bG(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function $F(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((aG(c[e>>2]|0,1,b)|0)<<24>>24?(aG(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(o4(e,1024,a)|0)){a=1;break}f=C4(e,98928)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=cG(d,b)|0}l=h;return a|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;dG(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(eG(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,fG(b,f),(gG(f,d)|0)==0):0)?(fG(b,f),(gG(f,d+8|0)|0)==0):0)?(fG(b,f),(gG(f,d+16|0)|0)==0):0){fG(b,f);e=(gG(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function dG(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(eG(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(X1(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function eG(b){b=b|0;var d=0;d=b+4|0;if(!(o4(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function fG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;dG(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(eG(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function gG(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+b6(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function hG(a,b){a=+a;b=b|0;var c=0.0,d=0.0;d=a*72.0;do if(!(f2(b,99036)|0)){c=d;a=d>=0.0?.5:-.5}else{if(!(f2(b,99039)|0)){a=d/96.0;c=a;a=a>=0.0?.5:-.5;break}if(!(f2(b,99042)|0)){a=d/6.0;c=a;a=a>=0.0?.5:-.5;break}if(f2(b,99009)|0?f2(b,99045)|0:0)if(!(f2(b,99047)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(f2(b,99050)|0)==0;d=a*2.8346456663999997;return (b?~~(d+(d>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function iG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)l4(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)db[e&127](b);l6(b);return}function kG(){var a=0;DA(0,1,108525,105794)|0;a=xF(0,1)|0;_S(a,0);return a|0}function lG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0;m=l;l=l+304|0;k=m+24|0;j=m+8|0;f=m;i=m+40|0;if((tS(b,e)|0)!=999)if((uS(b,d)|0)==-1)b=-1;else{n=c[d+16>>2]|0;p=+h[n+32>>3];q=+h[n+16>>3];r=+h[n+24>>3];o=+h[n+40>>3];b=~~(r+(r>=0.0?.5:-.5));e=~~(q+(q>=0.0?.5:-.5));f=~~(p+(p>=0.0?.5:-.5));g=~~(o+(o>=0.0?.5:-.5));if(!(a[(c[n+8>>2]|0)+81>>0]|0)){c[k>>2]=e;c[k+4>>2]=b;c[k+8>>2]=f;c[k+12>>2]=g;i2(i,99200,k)|0}else{c[j>>2]=b;c[j+4>>2]=e;c[j+8>>2]=g;c[j+12>>2]=f;i2(i,99200,j)|0}QA(d,102972,i,195341)|0;b=0}else{b=KF(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;dA(1,111534,f)|0;b=-1}l=m;return b|0}function mG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;d=c[a+164>>2]|0;c[d+56>>2]=HR(d,c[d+52>>2]|0)|0;b=d+152|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){c[d+36>>2]=e;if(!e)c[b>>2]=c[b>>2]|134217728;b=QJ(a,f)|0;JR(d);GF(a)}l=i;return b|0}function nG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=HR(b,c[b+52>>2]|0)|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){AF(a,e);h=QJ(a,f)|0;JR(b);qF(b);GF(a);b=h}l=i;return b|0}function oG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;BF(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=HR(j,c[j+52>>2]|0)|0;if((RC(b,137786,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){gA(99212,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=k6(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=QJ(a,b)|0;JR(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}GF(a);break}dA(1,99233,h)|0;b=-1}while(0);l=m;return b|0}function pG(a,b){a=a|0;b=b|0;YS(a,0,b);return}function qG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+4288|0;C=G+8|0;B=G;E=4;F=k6(40)|0;c[F>>2]=0;y=G+4152|0;z=G+4148|0;A=G+4128|0;j=G+4112|0;k=G+16|0;o=0;i=la(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=aa(32,e|0,z|0,y|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;m=la(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;ba(16,A|0,j|0,k|0,24,85);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){j=A+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;ra(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}o=0;g=ra(86,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}}F=x6(188244,1,F|0,E|0)|0;E=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){x=m;w=j;v=m;u=n;g=D;m=15}else{x=m;w=j;v=m;u=n;g=0;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=0;g=D;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}t=u+(c[z>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=A6(c[h>>2]|0,F|0,E|0)|0;if(!i)Ca(h|0,p|0);D=p}else i=-1;if((i|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[B>>2]=j;aa(33,t|0,137696,B|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;i=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,i|0,137786,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}c[x+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;pa(54,b|0,e|0,i|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}}else i=m;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}m=i}o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}i=10;q=x;n=v;s=v;while(1){if(!e){e=0;m=q;i=s;break c}o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=A6(c[h>>2]|0,F|0,E|0)|0;if(!m)Ca(h|0,p|0);D=p}else m=-1;if((m|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if(!g){o=0;c[C>>2]=j;aa(33,t|0,137696,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;r=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,r|0,137786,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=A6(c[h>>2]|0,F|0,E|0)|0;if(!g)Ca(h|0,p|0);D=p}else g=-1;if((g|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(54,b|0,e|0,r|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=ra(87,n|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=m;n=m;h=m}else{g=q;h=s}c[g+(j<<2)>>2]=r;q=g;j=j+1|0;m=h}else m=s;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}s=m}}else{e=1;k=0;m=x;j=0;i=v}while(0);o=0;$(108,A|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}if((u|0)!=(y|0)){o=0;$(105,u|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}}if(!e){o=0;g=ra(87,i|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;la(26,c[m+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=g+1|0}o=0;$(105,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);l6(F|0);l=G;return g|0}function rG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!((a|0)!=0?(AG(a)|0)!=0:0))a=99289;f=D3(a)|0;e=f+25|0;if((e|0)>=129){d=IK(e)|0;if(!d)d=0;else g=6}else g=6;if((g|0)==6){O3(d,a)|0;c[b>>2]=f}return d|0}function sG(a,b){a=a|0;b=b|0;lC(b,a,1)|0;return}function tG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function vG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;yG(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=zG(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)lb[f&63](k,d);h=ZA(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(vb[c[j>>2]&127](f,-1)|0))yG(e,f);h=_A(a,h,k)|0}}return b|0}function wG(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;xG(a);a=b}return}function xG(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function yG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=IK(16)|0;if(!e){dA(1,99270,f)|0;Ca(188244,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=IK(4e6)|0;c[e>>2]=d;if(!d){dA(1,99270,j)|0;Ca(188244,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}vb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function zG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function AG(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(O2(c&255)|0)){b=0;break}}return b|0}function BG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+4272|0;w=z;x=4;y=k6(40)|0;c[y>>2]=0;t=z+4144|0;u=z+4140|0;v=z+4120|0;h=z+4104|0;i=z+8|0;o=0;f=la(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=A6(c[g>>2]|0,y|0,x|0)|0;if(!e)Ca(g|0,p|0);D=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=aa(32,d|0,u|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;j=la(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;ba(16,v|0,h|0,i|0,24,85);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){h=v+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;ra(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}o=0;e=ra(86,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}}y=x6(188244,1,y|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){s=h;r=j;q=k;e=D;j=14}else{s=h;r=j;q=k;e=0;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=0;q=k;e=D;j=14}}else{d=0;e=0}else{s=0;r=0;q=0;e=D;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;$(108,v|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;$(105,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0)){d=0;e=0;break b}o=0;$(105,q|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}else{j=19;break}}o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}n=q+(c[u>>2]|0)|0;m=10;i=r;e=0;j=r;while(1){if(!f)break;o=0;d=ra(c[s>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,y|0,x|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if(!d){o=0;c[w>>2]=e;aa(33,n|0,137696,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;k=aa(34,a|0,q|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(53,k|0,137786,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(54,a|0,f|0,k|0,v|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if((e|0)==(m|0)){h=e<<1;o=0;i=ra(87,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}g=i;d=i}else{h=m;g=i;d=j}c[g+(e<<2)>>2]=k;e=e+1|0;i=g;j=d}else h=m;o=0;f=ra(86,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}m=h}o=0;$(108,v|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;d=ra(87,j|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0))break b;o=0;$(105,q|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;l6(y|0);l=z;return d|0}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=gC(a)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if(lC(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){jB(a,e,1)|0;d=d+1|0}e=WA(b,e)|0}f=hC(a,f)|0}return d|0}function DG(a){a=a|0;a=PC(a,99294,0)|0;if(!a)Aa(99299,99302,529,99311);else return c[a+8>>2]|0;return 0}function EG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(qB(b)|0){WC(b,0,99320,-12,0);WC(b,1,99332,16,0);o=rG(e,f,t)|0;k=FG(b)|0;m=IK((qB(k)|0)<<2)|0;uG(p,u+4144|0,u+48|0,24,88);h=gC(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15715]|0;e=0;while(1){if(!h)break;if(!(vb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;i2(i,100234,q)|0;v=LD(k,o,1)|0;w=LD(b,o,1)|0;RC(w,99320,12,0)|0;a[(PC(w,99320,0)|0)+8>>0]=1;f=vG(k,h,v,p)|0;HG(v,w);g=IG(w)|0;JG(b,w);c[m+(e<<2)>>2]=w;tC(k,v)|0;if(a[195234]|0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;z4(j,99344,r)|0}e=e+1|0}h=hC(k,h)|0}if(a[195234]|0){r=qB(b)|0;v=rB(b)|0;w=HB(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;z4(j,99374,s)|0}pB(k)|0;XC(b,0,99320);XC(b,1,99332);wG(p);f=KK(m,e<<2)|0;if((o|0)!=(t|0))l6(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function FG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=c[4660];g=lB(99421,g,0)|0;MG(g,a);b=gC(a)|0;while(1){if(!b)break;if(!(c[(PC(b,99332,0)|0)+12>>2]|0)){f=qC(g,HB(b)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=b;c[(PC(b,99332,0)|0)+12>>2]=f}b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;e=c[(PC(d,99332,0)|0)+12>>2]|0;b=UA(a,d)|0;while(1){if(!b)break;f=c[(PC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,99332,0)|0)+12>>2]|0;do if((f|0)!=(e|0))if(f>>>0>e>>>0){fB(g,e,f,0,1)|0;break}else{fB(g,f,e,0,1)|0;break}while(0);b=WA(a,b)|0}d=hC(a,d)|0}l=h;return g|0}function GG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=gC(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)lC(b,f,1)|0;else{d=gC(f)|0;while(1){if(!d)break a;lC(b,d,1)|0;d=hC(f,d)|0}}while(0);e=hC(a,e)|0}return}function IG(a){a=a|0;return CG(a,c[a+60>>2]|0)|0}function JG(a,b){a=a|0;b=b|0;KG(a,b,0);return}function KG(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=MD(b)|0;while(1){if(!b)break;if((a[(PC(b,99320,0)|0)+8>>0]|0)==0?(f=LG(b,c,d)|0,f|0):0){if(g)e=(h2(HB(b)|0,108307,7)|0)==0;else e=1;KG(b,f,e&1)}b=ND(b)|0}return}function LG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;h=gC(a)|0;while(1){f=(e|0)==0;if(!h)break;g=qC(b,HB(h)|0,0)|0;if(g){if(f)e=LD(b,HB(a)|0,1)|0;lC(e,g,1)|0}h=hC(a,h)|0}if((d|0)!=0&f)e=LD(b,HB(a)|0,1)|0;if(e|0?(CG(e,a)|0,RA(a,e)|0,(h2(HB(e)|0,108307,7)|0)==0):0)c[(RC(e,99294,12,0)|0)+8>>2]=a;return e|0}function MG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=MD(b)|0;e=c[15715]|0;while(1){if(!d)break;a:do if(!(h2(HB(d)|0,108307,7)|0)){f=qC(a,HB(d)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=gC(d)|0;while(1){if(!b)break a;if(c[(PC(b,99332,0)|0)+12>>2]|0){k=HB(b)|0;j=HB(d)|0;i=HB(c[(PC(b,99332,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;z4(e,99424,g)|0}c[(PC(b,99332,0)|0)+12>>2]=f;b=hC(d,b)|0}}else MG(a,d);while(0);d=ND(d)|0}l=h;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){OL(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){OL(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function OG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=PG(a,b,d,e)|0;break}m=IK(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;zP(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=HK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=NA(c[b+(d<<2)>>2]|0,99491)|0;if(g|0?(c[k>>2]=j,g=(q4(g,137696,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=QG(a,m,e)|0;if(c[h>>2]&2)l6(c[e+24>>2]|0)}else d=0;l6(m)}while(0);l=n;return d|0}function PG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0;H=l;l=l+144|0;C=H+136|0;B=H+64|0;G=H+48|0;w=H+40|0;v=H;u=H+120|0;A=H+104|0;D=H+96|0;E=c[g+20>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;a:do if((b|0)>=1){x=A+12|0;y=A+8|0;z=A+4|0;p=(E|0)==0;F=c[15715]|0;q=u+4|0;r=u+8|0;s=u+12|0;o=0;i=0;while(1){if((o|0)==(b|0))break;t=c[e+(o<<2)>>2]|0;zP(t);if(!p?(a[E+o>>0]|0)!=0:0){n=c[t+16>>2]|0;I=+h[n+16>>3];j=~~(I+(I>=0.0?.5:-.5));c[u>>2]=j;I=+h[n+24>>3];k=~~(I+(I>=0.0?.5:-.5));c[q>>2]=k;I=+h[n+32>>3];m=~~(I+(I>=0.0?.5:-.5));c[r>>2]=m;I=+h[n+40>>3];n=~~(I+(I>=0.0?.5:-.5));c[s>>2]=n;if(!i){c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2]}else{c[A>>2]=c[((j|0)<(c[A>>2]|0)?u:A)>>2];c[z>>2]=c[((k|0)<(c[z>>2]|0)?u:A)+4>>2];c[y>>2]=c[((m|0)>(c[y>>2]|0)?u:A)+8>>2];c[x>>2]=c[((n|0)>(c[x>>2]|0)?u:A)+12>>2]}i=i+1|0}if((d[195234]|0)>2){n=HB(t)|0;t=c[t+16>>2]|0;L=+h[t+16>>3];K=+h[t+24>>3];J=+h[t+32>>3];I=+h[t+40>>3];c[v>>2]=n;h[v+8>>3]=L;h[v+16>>3]=K;h[v+24>>3]=J;h[v+32>>3]=I;z4(F,99558,v)|0}o=o+1|0}r=IK(b<<5)|0;i=0;while(1){if((i|0)==(b|0))break;v=r+(i<<5)|0;u=(c[(c[e+(i<<2)>>2]|0)+16>>2]|0)+16|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[v+16>>2]=c[u+16>>2];c[v+20>>2]=c[u+20>>2];c[v+24>>2]=c[u+24>>2];c[v+28>>2]=c[u+28>>2];i=i+1|0}p=g+8|0;q=TG(b,r,c[p>>2]|0)|0;if(a[195234]|0){c[w>>2]=q;z4(F,99586,w)|0}if((q|0)>=1){o=(E|0)!=0;i=D+4|0;if(o){c[D>>2]=((c[y>>2]|0)+(c[A>>2]|0)|0)/2|0;c[i>>2]=((c[x>>2]|0)+(c[z>>2]|0)|0)/2|0}else{c[i>>2]=0;c[D>>2]=0}n=HK(b<<4)|0;m=g+16|0;i=0;while(1){if((i|0)>=(b|0))break;j=c[e+(i<<2)>>2]|0;k=n+(i<<4)|0;c[n+(i<<4)+12>>2]=i;if((c[m>>2]|0)==3){y=(c[j+16>>2]|0)+16|0;z=c[p>>2]|0;A=HB(j)|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[B+16>>2]=c[y+16>>2];c[B+20>>2]=c[y+20>>2];c[B+24>>2]=c[y+24>>2];c[B+28>>2]=c[y+28>>2];c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];UG(B,k,q,z,C,A)}else{c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];VG(f,j,k,q,g,C)}i=i+1|0}k=HK(b<<2)|0;i=0;while(1){if((i|0)>=(b|0))break;c[k+(i<<2)>>2]=n+(i<<4);i=i+1|0}k3(k,b,4,89);m=IL()|0;i=HK(b<<3)|0;b:do if(o){j=0;while(1){if((j|0)>=(b|0)){j=0;break}if(a[E+j>>0]|0){f=c[k+(j<<2)>>2]|0;g=i+(c[f+12>>2]<<3)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];XG(f,m,g,C)}j=j+1|0}while(1){if((j|0)>=(b|0))break b;if(!(a[E+j>>0]|0)){D=c[k+(j<<2)>>2]|0;YG(j,D,m,i+(c[D+12>>2]<<3)|0,q,c[p>>2]|0,r)}j=j+1|0}}else{j=0;while(1){if((j|0)>=(b|0))break b;E=c[k+(j<<2)>>2]|0;YG(j,E,m,i+(c[E+12>>2]<<3)|0,q,c[p>>2]|0,r);j=j+1|0}}while(0);l6(k);j=0;while(1){if((j|0)>=(b|0))break;l6(c[n+(j<<4)+4>>2]|0);j=j+1|0}l6(n);LL(m);l6(r);if((d[195234]|0)>1){j=0;while(1){if((j|0)>=(b|0))break a;D=c[i+(j<<3)>>2]|0;E=c[i+(j<<3)+4>>2]|0;c[G>>2]=j;c[G+4>>2]=D;c[G+8>>2]=E;z4(F,99602,G)|0;j=j+1|0}}}else i=0}else i=0;while(0);l=H;return i|0}function QG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;f=C;A=HK(b<<3)|0;y=c[e+4>>2]|0;B=e+28|0;z=(c[B>>2]&1|0)==0;v=(y|0)>0;w=b+-1|0;x=~~+R(+(+G(+(+(b|0)))));w=v?(w+y|0)/(y|0)|0:(w+x|0)/(x|0)|0;x=v?y:x;y=z?x:w;x=z?w:x;if(a[195234]|0){w=c[15715]|0;c[f>>2]=z?99497:99507;c[f+4>>2]=x;c[f+8>>2]=y;z4(w,99520,f)|0}u=HK((y<<3)+8|0)|0;v=HK((x<<3)+8|0)|0;w=HK(b*24|0)|0;j=e+8|0;f=0;i=w;while(1){if((f|0)>=(b|0))break;o=+h[d+(f<<5)+8>>3];n=+h[d+(f<<5)+24>>3];p=+((c[j>>2]|0)>>>0);h[i>>3]=+h[d+(f<<5)+16>>3]-+h[d+(f<<5)>>3]+p;h[i+8>>3]=n-o+p;c[i+16>>2]=f;f=f+1|0;i=i+24|0}t=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[t+(f<<2)>>2]=w+(f*24|0);f=f+1|0}f=c[e+24>>2]|0;if(!f)if(!(c[B>>2]&64)){k3(t,b,4,91);i=0;f=0;k=0}else{i=0;f=0;k=0}else{c[47100]=f;k3(t,b,4,90);i=0;f=0;k=0}while(1){if((k|0)>=(b|0)){g=0.0;f=0;break}e=c[t+(k<<2)>>2]|0;j=u+(f<<3)|0;p=+h[j>>3];o=+h[e>>3];h[j>>3]=p>o?p:o;j=v+(i<<3)|0;o=+h[j>>3];p=+h[e+8>>3];h[j>>3]=o>p?o:p;j=i+1|0;e=f+1|0;if(z){f=(e|0)==(y|0);i=f?j:i;f=f?0:e}else{s=(j|0)==(x|0);i=s?0:j;f=s?e:f}k=k+1|0}while(1){if((f|0)>(y|0)){g=0.0;f=x;break}s=u+(f<<3)|0;p=+h[s>>3];h[s>>3]=g;g=g+p;f=f+1|0}while(1){if((f|0)<=0)break;s=f+-1|0;p=+h[v+(s<<3)>>3];h[v+(f<<3)>>3]=g;g=g+p;f=s}h[v>>3]=g;i=0;f=0;s=0;while(1){if((s|0)>=(b|0))break;q=c[(c[t+(s<<2)>>2]|0)+16>>2]|0;g=+h[d+(q<<5)>>3];p=+h[d+(q<<5)+8>>3];m=+h[d+(q<<5)+16>>3];o=+h[d+(q<<5)+24>>3];k=c[B>>2]|0;j=u+(f<<3)|0;r=f+1|0;do if(!(k&4)){n=+h[u+(r<<3)>>3];if(!(k&8)){g=(n+ +h[j>>3]-m-g)*.5;break}else{g=n-(m-g);break}}else g=+h[j>>3];while(0);c[A+(q<<3)>>2]=~~g;j=v+(i<<3)|0;e=i+1|0;if(!(k&16)){g=+h[v+(e<<3)>>3];if(!(k&32))g=(g+ +h[j>>3]-o-p)*.5}else g=+h[j>>3]-(o-p);c[A+(q<<3)+4>>2]=~~g;if(z){f=(r|0)==(y|0);i=f?e:i;f=f?0:r}else{q=(e|0)==(x|0);i=q?0:e;f=q?r:f}s=s+1|0}l6(w);l6(t);l6(u);l6(v);l=C;return A|0}function RG(a,b){a=a|0;b=b|0;var d=0;d=c[47100]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function SG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a+8>>3]+ +h[a>>3];d=+h[b+8>>3]+ +h[b>>3];return (e<d?1:(e>d)<<31>>31)|0}function TG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;r=t+80|0;s=t+48|0;q=t+8|0;n=t;m=(a*100|0)+-1|0;f=+(e<<1|0);o=0.0;p=0.0;e=0;while(1){if((e|0)>=(a|0))break;j=f+(+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]);k=f+(+h[b+(e<<5)+24>>3]-+h[b+(e<<5)+8>>3]);o=o-(j+k);p=p-j*k;e=e+1|0}j=+(m|0);k=o*o-j*4.0*p;if(!(k<0.0)){f=+G(+k);i=j*2.0;g=(f-o)/i;i=(-o-f)/i;e=~~g;e=(e|0)==0?1:e;if((d[195234]|0)>2){n=c[15715]|0;_3(99745,27,1,n)|0;h[q>>3]=j;h[q+8>>3]=o;h[q+16>>3]=p;h[q+24>>3]=k;h[q+32>>3]=f;z4(n,99773,q)|0;c[s>>2]=e;h[s+8>>3]=g;c[s+16>>2]=~~i;h[s+24>>3]=i;z4(n,99799,s)|0;h[r>>3]=p+(o*g+g*(j*g));h[r+8>>3]=p+(o*i+i*(j*i));z4(n,99821,r)|0}}else{h[n>>3]=k;dA(1,99718,n)|0;e=-1}l=t;return e|0}function UG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=l;l=l+32|0;u=v+16|0;t=v;q=+h[a>>3];r=+h[a+8>>3];o=+h[a+16>>3];p=+h[a+24>>3];s=IL()|0;k=c[g>>2]|0;a=k-f|0;m=c[g+4>>2]|0;j=m-f|0;k=f-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;m=f-~~(r+(r>=0.0?.5:-.5))+m+~~(p+(p>=0.0?.5:-.5))|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)n=(j|0)/(e|0)|0;else n=((j+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(e|0)|0;else k=((k+1|0)/(e|0)|0)+-1|0;if((m|0)>-1)j=(m|0)/(e|0)|0;else j=((m+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(k|0))break;else a=n;while(1){if((a|0)>(j|0))break;OL(s,g,a);a=a+1|0}g=g+1|0}m=b+4|0;c[m>>2]=SL(s)|0;k=RL(s)|0;n=b+8|0;c[n>>2]=k;x=+(f<<1|0);w=+(e|0);j=~~+R(+((x+(o-q))/w));a=~~+R(+((x+(p-r))/w));c[b>>2]=a+j;a:do if((d[195234]|0)>2){g=c[15715]|0;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=a;z4(g,99677,t)|0;a=0;while(1){if((a|0)>=(c[n>>2]|0))break a;i=c[m>>2]|0;t=c[i+(a<<3)+4>>2]|0;c[u>>2]=c[i+(a<<3)>>2];c[u+4>>2]=t;z4(g,99704,u)|0;a=a+1|0}}while(0);LL(s);l=v;return}function VG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,S=0.0;P=l;l=l+128|0;G=P+112|0;F=P+104|0;O=P+16|0;N=P;I=P+64|0;J=P+56|0;A=P+40|0;B=P+96|0;z=P+88|0;w=P+24|0;x=P+80|0;y=P+72|0;L=c[g+8>>2]|0;H=c[g+12>>2]|0;D=(a|0)==0?b:a;M=IL()|0;K=b+16|0;C=c[K>>2]|0;u=+h[C+16>>3];E=(c[i>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;u=+h[C+24>>3];C=(c[i+4>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;a:do if((c[g+16>>2]|0)==1){w=IK((qB(b)|0)<<2)|0;a=0;i=gC(b)|0;while(1){if(!i)break;y=i+16|0;c[w+(a<<2)>>2]=c[(c[y>>2]|0)+112>>2];c[(c[y>>2]|0)+112>>2]=0;a=a+1|0;i=hC(b,i)|0}p=E-L|0;q=C-L|0;r=E+L|0;s=C+L|0;o=1;while(1){a=c[K>>2]|0;if((o|0)>(c[a+180>>2]|0))break;n=c[(c[a+184>>2]|0)+(o<<2)>>2]|0;j=c[n+16>>2]|0;u=+h[j+16>>3];a=~~(u+(u>=0.0?.5:-.5));u=+h[j+24>>3];i=~~(u+(u>=0.0?.5:-.5));u=+h[j+32>>3];g=~~(u+(u>=0.0?.5:-.5));u=+h[j+40>>3];j=~~(u+(u>=0.0?.5:-.5));b:do if((g|0)>(a|0)&(j|0)>(i|0)){a=p+a|0;k=q+i|0;g=r+g|0;m=s+j|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(f|0)|0;else k=((k+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)j=(g|0)/(f|0)|0;else j=((g+1|0)/(f|0)|0)+-1|0;if((m|0)>-1)g=(m|0)/(f|0)|0;else g=((m+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=k;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}a=gC(n)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=n;a=hC(n,a)|0}}while(0);o=o+1|0}s=A+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=B+4|0;q=z+4|0;p=gC(b)|0;while(1){if(!p)break;hP(A,p);S=+h[A>>3];Q=+h[s>>3];n=~~(S+(S>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(Q+(Q>=0.0?.5:-.5))+C|0;c[t>>2]=o;i=p+16|0;a=c[i>>2]|0;c:do if(!(c[a+212>>2]|0)){c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(B,F,G);a=c[B>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(z,F,G);j=c[z>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}}else{if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;if((c[(c[i>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H)}a=WA(D,a)|0}}while(0);p=hC(b,p)|0}a=0;i=gC(b)|0;while(1){if(!i)break;c[(c[i+16>>2]|0)+112>>2]=c[w+(a<<2)>>2];a=a+1|0;i=hC(b,i)|0}l6(w)}else{s=w+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=x+4|0;q=y+4|0;p=gC(b)|0;while(1){if(!p)break a;hP(w,p);Q=+h[w>>3];S=+h[s>>3];n=~~(Q+(Q>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(S+(S>=0.0?.5:-.5))+C|0;c[t>>2]=o;a=c[p+16>>2]|0;c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(x,F,G);a=c[x>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(y,F,G);j=c[y>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}p=hC(b,p)|0}}while(0);j=e+4|0;c[j>>2]=SL(M)|0;k=e+8|0;c[k>>2]=RL(M)|0;i=c[K>>2]|0;Q=+(L<<1|0);S=+(f|0);a=~~+R(+((Q+(+h[i+32>>3]-+h[i+16>>3]))/S));i=~~+R(+((Q+(+h[i+40>>3]-+h[i+24>>3]))/S));c[e>>2]=i+a;d:do if((d[195234]|0)>2){g=c[15715]|0;e=HB(b)|0;b=c[k>>2]|0;c[N>>2]=e;c[N+4>>2]=b;c[N+8>>2]=a;c[N+12>>2]=i;z4(g,99677,N)|0;a=0;while(1){if((a|0)>=(c[k>>2]|0))break d;b=c[j>>2]|0;N=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=N;z4(g,99704,O)|0;a=a+1|0}}while(0);LL(M);l=P;return}function WG(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function XG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+16|0;j=k;m=c[a+4>>2]|0;h=c[a+8>>2]|0;c[e>>2]=0-(c[f>>2]|0);g=e+4|0;c[g>>2]=0-(c[f+4>>2]|0);a=0;f=m;while(1){if((a|0)>=(h|0))break;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];ML(b,i);a=a+1|0;f=f+8|0}if((d[195234]|0)>1){m=c[15715]|0;b=c[e>>2]|0;e=c[g>>2]|0;c[j>>2]=h;c[j+4>>2]=b;c[j+8>>2]=e;z4(m,99651,j)|0}l=k;return}function YG(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0;m=c[b+12>>2]|0;j=+h[i+(m<<5)+24>>3]-+h[i+(m<<5)+8>>3];k=+h[i+(m<<5)+16>>3]-+h[i+(m<<5)>>3];if(!((a|0)==0?(o=+(g<<1|0),n=+(f|0),(ZG((~~+R(+((o+k)/n))|0)/-2|0,(~~+R(+((o+j)/n))|0)/-2|0,b,d,e,f,i)|0)!=0):0))l=3;a:do if((l|0)==3?(ZG(0,0,b,d,e,f,i)|0)==0:0)if((~~+R(+k)|0)<(~~+R(+j)|0)){m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)<=(l|0)){g=l;break}if(ZG(l,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(l|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(ZG(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}m=m+1|0}}else{m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)>=(m|0)){g=l;break}if(ZG(a,l,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(m|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(ZG(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}m=m+1|0}}while(0);return}function ZG(a,b,e,f,g,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;u=l;l=l+48|0;s=u+32|0;t=u+8|0;r=u;n=e+4|0;p=c[e+8>>2]|0;q=r+4|0;k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0)){o=5;break}w=k;v=c[w+4>>2]|0;c[r>>2]=(c[w>>2]|0)+a;c[q>>2]=v+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];if(PL(f,s)|0){k=0;break}k=k+8|0;m=m+1|0}if((o|0)==5){e=c[e+12>>2]|0;y=+h[j+(e<<5)>>3];x=+h[j+(e<<5)+8>>3];c[g>>2]=(S(i,a)|0)-~~(y+(y>=0.0?.5:-.5));e=g+4|0;c[e>>2]=(S(i,b)|0)-~~(x+(x>=0.0?.5:-.5));k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0))break;v=k;w=c[v+4>>2]|0;c[r>>2]=(c[v>>2]|0)+a;c[q>>2]=w+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];ML(f,s);k=k+8|0;m=m+1|0}if((d[195234]|0)>1){k=c[15715]|0;v=c[g>>2]|0;w=c[e>>2]|0;c[t>>2]=p;c[t+4>>2]=a;c[t+8>>2]=b;c[t+12>>2]=v;c[t+16>>2]=w;z4(k,99617,t)|0;k=1}else k=1}l=u;return k|0}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function aH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;q=A+48|0;r=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);s=y+8|0;h[s>>3]=+(c[b+4>>2]|0);v=+(g|0);a:do if((i|0)!=0?(t=a+16|0,m=c[(c[t>>2]|0)+8>>2]|0,(m|0)!=0):0){p=+(e|0);o=+(f|0);i=z+8|0;e=0;while(1){if((e|0)>=(c[m+4>>2]|0))break a;n=c[m>>2]|0;b=c[n+(e*48|0)>>2]|0;g=c[n+(e*48|0)+4>>2]|0;f=c[n+(e*48|0)+8>>2]|0;a=c[n+(e*48|0)+12>>2]|0;m=n+(e*48|0)+16|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];n=n+(e*48|0)+32|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];if(!f){c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];m=b+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[q>>2];c[y+4>>2]=c[q+4>>2];c[y+8>>2]=c[q+8>>2];c[y+12>>2]=c[q+12>>2];c[z>>2]=c[b>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];m=1}j=p+ +h[y>>3];h[y>>3]=j;k=o+ +h[s>>3];h[s>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[s>>3]=j;j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);while(1){if((m|0)>=(g|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];f=b+(m<<4)|0;c[z>>2]=c[f>>2];c[z+4>>2]=c[f+4>>2];c[z+8>>2]=c[f+8>>2];c[z+12>>2]=c[f+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);m=m+1|0}if(a|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[r>>2];c[z+4>>2]=c[r+4>>2];c[z+8>>2]=c[r+8>>2];c[z+12>>2]=c[r+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}e=e+1|0;m=c[(c[t>>2]|0)+8>>2]|0}}else u=4;while(0);if((u|0)==4){hP(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+(e|0)+ +h[z>>3];h[z>>3]=j;m=z+8|0;k=+(f|0)+ +h[m>>3];h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}l=A;return}function bH(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=QG(a,b,d)|0;break a}case 3:{a=cH(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function cH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+80|0;i=p+64|0;h=p+24|0;o=p+8|0;g=p;j=p+56|0;m=f+8|0;n=TG(b,e,c[m>>2]|0)|0;if(a[195234]|0){k=c[15715]|0;c[g>>2]=n;z4(k,99586,g)|0}a:do if((n|0)>=1){c[j+4>>2]=0;c[j>>2]=0;k=HK(b<<4)|0;f=0;while(1){if((f|0)>=(b|0))break;c[k+(f<<4)+12>>2]=f;q=e+(f<<5)|0;g=c[m>>2]|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[h+16>>2]=c[q+16>>2];c[h+20>>2]=c[q+20>>2];c[h+24>>2]=c[q+24>>2];c[h+28>>2]=c[q+28>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];UG(h,k+(f<<4)|0,n,g,i,195341);f=f+1|0}h=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[h+(f<<2)>>2]=k+(f<<4);f=f+1|0}k3(h,b,4,89);i=IL()|0;f=HK(b<<3)|0;g=0;while(1){if((g|0)>=(b|0))break;q=c[h+(g<<2)>>2]|0;YG(g,q,i,f+(c[q+12>>2]<<3)|0,n,c[m>>2]|0,e);g=g+1|0}l6(h);g=0;while(1){if((g|0)>=(b|0))break;l6(c[k+(g<<4)+4>>2]|0);g=g+1|0}l6(k);LL(i);if((d[195234]|0)>1){h=c[15715]|0;g=0;while(1){if((g|0)>=(b|0))break a;e=c[f+(g<<3)>>2]|0;q=c[f+(g<<3)+4>>2]|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=q;z4(h,99602,o)|0;g=g+1|0}}}else f=0;while(0);l=p;return f|0}function dH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m/72.0;o=+(l|0);p=o/72.0;i=gC(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=n+ +h[t>>3];t=t+8|0;h[t>>3]=p+ +h[t>>3];t=f+16|0;h[t>>3]=m+ +h[t>>3];t=f+24|0;h[t>>3]=o+ +h[t>>3];f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=m+ +h[t>>3];t=f+64|0;h[t>>3]=o+ +h[t>>3]}b:do if(!q){f=UA(g,i)|0;while(1){if(!f)break b;eH(f,k,l);f=WA(g,f)|0}}while(0);i=hC(r,i)|0}fH(r,k,l);j=j+1|0}}while(0);return f|0}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;m=+(b|0);l=+(d|0);if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+108>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+100>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+104>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}j=c[e+8>>2]|0;a:do if(j|0){d=c[j+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;k=c[j>>2]|0;e=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;b=0;while(1){if((b|0)>=(f|0))break;n=e+(b<<4)|0;h[n>>3]=m+ +h[n>>3];n=e+(b<<4)+8|0;h[n>>3]=l+ +h[n>>3];b=b+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+24|0;h[n>>3]=l+ +h[n>>3]}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+40|0;h[n>>3]=l+ +h[n>>3]}a=a+1|0}}while(0);return}function fH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=g+ +h[f>>3];i=+(e|0);n=i+ +h[m>>3];k=i+ +h[b>>3];h[o>>3]=g+ +h[o>>3];h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=g+ +h[o>>3];f=f+64|0;h[f>>3]=i+ +h[f>>3];f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;fH(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function gH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=OG(a,b,d,e)|0;if(!f)a=1;else{a=dH(a,b,f,d,c[e+12>>2]|0)|0;l6(f)}return a|0}function hH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=gH(a,b,d,e)|0;if(!n){zP(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[o>>3]=+h[(+h[o>>3]<+h[q>>3]?o:q)>>3];h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function iH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+16|0;g=h;if(!f)Aa(99835,99841,1400,99848);e=jH(b,e,e)|0;c[f+8>>2]=e;if(a[195234]|0){i=c[15715]|0;c[g>>2]=e;z4(i,99860,g)|0}c[f+12>>2]=0;c[f+20>>2]=0;kH(b,d,f)|0;l=h;return c[f+16>>2]|0}function jH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=NA(b,99990)|0;a:do if(g){c[h>>2]=f;h=(q4(g,137696,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function kH(a,b,c){a=a|0;b=b|0;c=c|0;return lH(NA(a,99873)|0,b,c)|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)Aa(99835,99841,1292,99882);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{d=b+5|0;if(!(h2(b,99900,5)|0)){c[p>>2]=4;m=mH(d,e)|0;c[k>>2]=j;m=(q4(m,137696,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(h2(b,99906,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(q4(d,99913,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}}case 99:{if(f<<24>>24!=99)break a;if(f2(b,108307)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(f2(b,111795)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(f2(b,111782)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(a[195234]|0){d=c[15715]|0;_3(99916,11,1,d)|0;c[s>>2]=nH(c[p>>2]|0)|0;z4(d,99928,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];z4(d,99941,t)|0}c[q>>2]=c[n>>2];z4(d,99954,q)|0;c[r>>2]=c[o>>2];z4(d,99967,r)|0}l=u;return c[p>>2]|0}function mH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function nH(a){a=a|0;switch(a|0){case 1:{a=108307;break}case 2:{a=111782;break}case 3:{a=111795;break}case 4:{a=99900;break}case 5:{a=99906;break}default:a=99980}return a|0}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=m6(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=m6(100,j)|0}else{h=d+100|0;i=n6(c[e+8>>2]|0,S(h,j)|0)|0;u6(i+(S(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=pH(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=S(h,j)|0;if((a|0)==(h|0)){i=n6(i,S(f,j)|0)|0;u6(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(S(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){l6(i);l6(e);e=0;break}else{c[e+8>>2]=n6(i,S(d,j)|0)|0;break}}while(0);l=n;return e|0}function pH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;n=r+64|0;g=r;c[f>>2]=0;do{h=a[d>>0]|0;d=d+1|0}while((X1(h)|0)!=0);p=(e|0)!=0;j=e+4|0;k=g+8|0;q=b+72|0;m=e+8|0;o=e+40|0;i=b+8|0;a:do switch(h|0){case 69:{c[b>>2]=0;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 112:{c[b>>2]=3;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 98:{c[b>>2]=4;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 66:{c[b>>2]=5;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 99:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=9;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+24>>2];break a}else{c[b>>2]=14;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 67:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=8;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+20>>2];break a}else{c[b>>2]=13;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 76:{c[b>>2]=6;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=vH(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=sH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=wH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=r;return d|0}function qH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+b6(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+b6(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+b6(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+b6(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=xH(a,j)|0;do if(a){d=c[j>>2]|0;i=m6(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+b6(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+b6(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==7){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function sH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=xH(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){do{h=a[b>>0]|0;e=h<<24>>24==0;b=b+1|0}while(h<<24>>24!=45&(e^1));if(!e){h=m6(f+1|0,1)|0;g=h;e=f;while(1){if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0;b=b+1|0}if((e|0)==8){l6(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function tH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=a[b>>0]|0;f=d+8|0;g=b+1|0;switch(e|0){case 91:{b=yH(g,d)|0;break}case 40:{b=zH(g,d)|0;break}case 47:case 35:{c[d>>2]=0;c[f>>2]=b;break}default:if(!(O2(e)|0))b=0;else{c[d>>2]=0;c[f>>2]=b}}return b|0}function uH(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+b6(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function vH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=xH(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function wH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=_1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function xH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=$1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=uH(a,n)|0;do if(((((i|0)!=0?(j=uH(i,b+16|0)|0,(j|0)!=0):0)?(e=uH(j,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=xH(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=m6(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=uH(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=sH(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){l6(f);a=0;break}else if((d|0)==12){l6(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function zH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=uH(a,b+8|0)|0;do if(((((((k|0)!=0?(m=uH(k,b+16|0)|0,(m|0)!=0):0)?(e=uH(m,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(i=uH(f,b+40|0)|0,(i|0)!=0):0)?(j=uH(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=xH(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=m6(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=uH(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=sH(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){l6(i);a=0;break}else if((d|0)==14){l6(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;return oH(a,b,c,0)|0}function BH(a){a=a|0;return AH(a,0,0)|0}function CH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(S(c[g>>2]|0,b)|0)|0;if(!h)db[e&127](d);DH(d);b=b+1|0}l6(f);l6(a)}return}function DH(a){a=a|0;var b=0,d=0;b=a+8|0;d=b+4|0;switch(c[a>>2]|0){case 3:case 2:{l6(c[d>>2]|0);break}case 5:case 4:{l6(c[d>>2]|0);break}case 6:{l6(c[d>>2]|0);break}case 7:{l6(c[a+40>>2]|0);break}case 9:case 8:{l6(c[b>>2]|0);break}case 14:case 13:{EH(b);break}case 10:{l6(c[a+16>>2]|0);break}case 11:{l6(c[b>>2]|0);break}case 12:{l6(c[a+40>>2]|0);break}default:{}}return}function EH(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[d+(a<<3)+4>>2]|0);a=a+1|0}l6(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[b+(a<<3)+4>>2]|0);a=a+1|0}l6(b);break}default:{}}return}function FH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(uB(uC(b)|0)|0)!=0&1;f=c[47253]|0;a:do if(f|0?(h=OA(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20432;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(f2(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[47264]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=OA(b,f)|0,a[j>>0]|0):0)GH(j,e);f=c[47265]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=OA(b,f)|0,a[m>>0]|0):0)GH(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=uC(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;FH(fB(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function GH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;f=(j|0)<4;g=(j|0)==3;h=(j|0)==0;while(1){if(!(f&(a[b>>0]|0)!=0))break a;c[k>>2]=0;i=HH(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(g&b)){if(!(h&b)){b=e;break}if(a[i>>0]|0){b=8;break}}c[k>>2]=0;b=i}e=c[d>>2]|b<<(j<<3);j=j+1|0;b=i}if((n|0)==5){c[m>>2]=b;dA(0,99995,m)|0}l=o;return}function HH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=IH(a,20492,e)|0;if((d|0)==(a|0)){while(1){d=IH(a,20508,e)|0;if((a|0)==(d|0))break;else a=d}d=IH(a,20556,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=D3(e)|0;if(!(h2(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function JH(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=d+ +h[e+8>>3]}g=g+1|0}return +(d*10.0*+YO(a,c[47257]|0,1.0,0.0))}function KH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;n=s+80|0;r=s;m=f>4.0?f*.25*.35:.35;k=+h[d+8>>3];o=m*k;i=+h[d>>3];m=m*i;f=+h[b>>3];i=i+f;h[n>>3]=i;e=+h[b+8>>3];k=k+e;h[n+8>>3]=k;d=r+64|0;p=r+32|0;q=r+16|0;j=r+24|0;if(!(g&32)){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];h[q>>3]=o+i;h[j>>3]=k-m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];f=i;e=k}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[q>>3]=o+f;h[j>>3]=e-m;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2]}h[r+48>>3]=f-o;h[r+56>>3]=m+e;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,q,3,d);break}else{lS(a,p,3,d);break}else lS(a,r,3,d);while(0);l=s;return}function LH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0,D=0,E=0;D=l;l=l+160|0;A=D+144|0;C=D;u=e*4.0;E=(g&32|0)!=0;z=E^1;u=!(u<f)|z?.45:f/u*.45;w=!(f>1.0)|z?0.0:(f+-1.0)*.05/e;y=+h[d+8>>3];v=-y;B=u*v;x=+h[d>>3];u=u*x;v=w*v;w=w*x;f=+h[b>>3];s=x+f;h[A>>3]=s;t=+h[b+8>>3];e=y+t;h[A+8>>3]=e;x=f+x*.5;y=y*.5+t;d=C+128|0;i=x-v;j=y-w;z=C+48|0;k=C+64|0;m=C+40|0;n=C+32|0;o=C+24|0;p=C+16|0;q=C+80|0;r=C+56|0;if(E){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[C>>2]=c[b>>2];c[C+4>>2]=c[b+4>>2];c[C+8>>2]=c[b+8>>2];c[C+12>>2]=c[b+12>>2];h[p>>3]=s-B;h[o>>3]=e-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=s-v;h[r>>3]=e-w;c[k>>2]=c[A>>2];c[k+4>>2]=c[A+4>>2];c[k+8>>2]=c[A+8>>2];c[k+12>>2]=c[A+12>>2];h[q>>3]=v+s;i=w+e;f=s}else{c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2];h[p>>3]=f-B;h[o>>3]=t-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=f;h[r>>3]=t;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];h[q>>3]=f;i=t;e=t}h[C+88>>3]=i;h[C+96>>3]=v+x;h[C+104>>3]=w+y;h[C+112>>3]=B+f;h[C+120>>3]=u+e;do if(!(g&64))if(!(g&128)){lS(a,C,9,1);break}else{lS(a,z,6,1);break}else lS(a,C,6,1);while(0);l=D;return}function MH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=s+k;m=+h[b+8>>3];f=t+m;i=k+s*.2;j=t*.2+m;k=k+s*.6;m=t*.6+m;h[p>>3]=i-t;h[p+8>>3]=s+j;n=p+16|0;h[n>>3]=t+i;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=t+k;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=s+m;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}lS(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;oS(a,p,2);l=q;return}function NH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=j*.8+s;i=i+t;j=j+s;h[n>>3]=r+t;k=n+8|0;h[k>>3]=q+s;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=r+e;h[n+56>>3]=q+f;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}lS(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;oS(a,n,2);l=o;return}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=l;l=l+80|0;j=k;p=+h[d+8>>3];m=-p/3.0;r=+h[d>>3];f=r/3.0;q=+h[b>>3];n=q+r*.5;o=+h[b+8>>3];e=p*.5+o;i=j+64|0;h[j+64>>3]=r+q;h[j+72>>3]=p+o;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];h[j+16>>3]=m+n;h[j+24>>3]=f+e;i=j+32|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[j+48>>3]=n-m;h[j+56>>3]=e-f;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,j,4,d);break}else{lS(a,j,3,d);break}else lS(a,i,3,d);while(0);l=k;return}function PH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0;g=l;l=l+32|0;i=g;j=+h[c>>3];e=+h[c+8>>3];d=+G(+(j*j+e*e))*.5;j=j*.5+ +h[b>>3];h[i>>3]=j-d;e=e*.5+ +h[b+8>>3];h[i+8>>3]=e-d;h[i+16>>3]=d+j;h[i+24>>3]=d+e;kS(a,i,2,f>>>4&1^1);l=g;return}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+112|0;o=r+48|0;p=r+16|0;q=r;t=f>4.0?f*.5*.25:.5;s=+h[b>>3];m=+h[d>>3];f=+h[b+8>>3];e=+h[d+8>>3];k=t*e;t=t*m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[p+16>>3]=s+m;h[p+24>>3]=f+e;h[o>>3]=t+(s-k);e=f+t+k;h[o+8>>3]=e;h[o+48>>3]=t+(s+k);f=f-t+k;h[o+56>>3]=f;m=k*-.95;i=t+(s+m);j=t*4.0/3.0;b=o+32|0;k=k*4.0/3.0;m=t+(s-m);d=o+16|0;n=o+24|0;if(!(g&32)){h[d>>3]=i-j;h[n>>3]=e-k;h[b>>3]=m-j;e=f-k}else{h[d>>3]=j+i;h[n>>3]=k+e;h[b>>3]=j+m;e=f+k}h[o+40>>3]=e;oS(a,p,2);if(!(g&64)){if(g&128|0)iP(q,o,3,.5,o,0)}else iP(q,o,3,.5,0,o);nS(a,o,4,0,0,0);l=r;return}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[b>>3]+ +h[d>>3];f=+h[b+8>>3]+ +h[d+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;oS(a,i,2);l=g;return}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+JH(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(p=+h[b+(e<<4)>>3]-+h[f>>3],o=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;ZN(j,92,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function TH(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;e=+h[b>>3]-+h[f>>3];d=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function UH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+JH(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,q=+h[a>>3]-+h[b+(i<<4)>>3],p=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;ZN(k,92,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function VH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0;t=(g|0)!=0;p=(i|0)!=0;F=f+24|0;D=f+12|0;A=e+3|0;B=b+(A<<4)|0;x=e+1|0;E=f+16|0;A=b+(A<<4)+8|0;C=b+(x<<4)|0;z=f+32|0;v=b+(e<<4)|0;H=f+8|0;w=f+40|0;y=b+(e+2<<4)|0;x=b+(x<<4)+8|0;f=b+(e<<4)+8|0;if(!((e|0)==(d|0)&(t&p))){if(p){j=+JH(a,i);o=+h[v>>3];n=+h[f>>3];l=+h[B>>3];m=+h[A>>3];r=o-l;s=n-m;s=+G(+(r*r+s*s))*.9;j=j>=s?s:j;if(n==m){k=l+(o<l?-j:j);j=n}else{k=o;j=m+(n<m?-j:j)}h[C>>3]=o;h[x>>3]=n;h[B>>3]=k;h[A>>3]=j;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=l;h[w>>3]=m}if(t){l=+JH(a,g);f=b+(d<<4)|0;k=+h[f>>3];j=+h[b+(d<<4)+8>>3];D=d+3|0;n=+h[b+(D<<4)>>3];o=+h[b+(D<<4)+8>>3];r=k-n;s=j-o;s=+G(+(r*r+s*s))*.9;l=l>=s?s:l;if(j==o){m=k+(k<n?l:-l);l=j}else{m=k;l=j+(j<o?l:-l)}D=d+1|0;u=b+(D<<4)|0;h[u>>3]=m;h[b+(D<<4)+8>>3]=l;c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];u=d+2|0;h[b+(u<<4)>>3]=n;h[b+(u<<4)+8>>3]=o;u=16}}else{s=+h[v>>3];r=+h[f>>3];k=+h[B>>3];j=+h[A>>3];l=+JH(a,g);q=+JH(a,i);o=s-k;m=r-j;m=+G(+(o*o+m*m));d=!(l+q>=m);m=m/3.0;l=d?l:m;m=d?q:m;if(r==j){d=s<k;o=k+(d?-m:m);q=s+(d?l:-l);n=r;l=r}else{d=r<j;o=s;q=s;n=r+(d?l:-l);l=j+(d?-m:m)}h[C>>3]=q;h[x>>3]=n;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];h[B>>3]=o;h[A>>3]=l;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=s;h[w>>3]=r;u=16}if((u|0)==16){c[H>>2]=g;h[E>>3]=k;h[F>>3]=j}return}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;m=+h[b>>3];k=+h[c>>3]-m;o=+h[b+8>>3];j=+h[c+8>>3]-o;l=d*10.0/(+G(+(j*j+k*k))+.0001);k=(k+(k>=0.0?.0001:-.0001))*l;j=l*(j+(j>=0.0?.0001:-.0001));l=k*.5;n=j*.5;i=m-n;f=o-l;n=m+n;l=o+l;o=k+i;m=f+j;k=k+n;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function XH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;jS(a,c[(c[a>>2]|0)+336>>2]|0);sS(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;r=+h[b>>3]-+h[d+8>>3];s=10.0/(+G(+(r*r+t*t))+.0001);h[e>>3]=(t+(t>=0.0?.0001:-.0001))*s;h[b>>3]=s*(r+(r>=0.0?.0001:-.0001));b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];YH(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function YH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=+h[e>>3]*r;o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];nb[p&15](b,k,m,f,g,i);h[d>>3]=+h[d>>3]+ +h[e>>3];p=d+8|0;h[p>>3]=+h[p>>3]+ +h[o>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function ZH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=NA(b,100097)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=NA(b,100109)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=AH(e,0,120)|0;if(!d){c[f>>2]=HB(b)|0;dA(0,100116,f)|0;c[g>>2]=e;dA(3,100169,g)|0}}l=i;return d|0}function _H(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=HK(304)|0;if(!j)dA(1,100177,k)|0;b=a+16|0;a=c[b>>2]|0;c[j>>2]=a;c[b>>2]=j;b=j+152|0;d=j+144|0;e=j+148|0;if(!a){c[d>>2]=3;c[e>>2]=0;h[b>>3]=1.0}else{f=j+16|0;g=a+16|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));f=j+56|0;g=a+56|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));c[d>>2]=c[a+144>>2];c[e>>2]=c[a+148>>2];h[b>>3]=+h[a+152>>3];c[j+136>>2]=c[a+136>>2];f=j+96|0;g=a+96|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0))}l=k;return j|0}function $H(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)Aa(100203,100207,117,100214);else{l6(c[b+212>>2]|0);l6(c[b+208>>2]|0);l6(c[b+216>>2]|0);l6(c[b+220>>2]|0);l6(c[b+224>>2]|0);l6(c[b+228>>2]|0);l6(c[b+232>>2]|0);l6(c[b+236>>2]|0);l6(c[b+240>>2]|0);l6(c[b+244>>2]|0);l6(c[b+248>>2]|0);l6(c[b+252>>2]|0);l6(c[b+256>>2]|0);l6(c[b+272>>2]|0);l6(c[b+284>>2]|0);l6(c[b+280>>2]|0);c[a>>2]=c[b>>2];l6(b);return}}function aI(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[d+16>>2]|0;l=c[d+152>>2]|0;k=m+192|0;if((e|0)!=0&(l&32768|0)!=0)c[k>>2]=e;if(((l&65536|0)!=0?(c[m+212>>2]=CK(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[m+208>>2]=CK(f,j)|0;d=1}else d=0;do if(l&4194304){if(g|0?a[g>>0]|0:0){c[m+228>>2]=CK(g,j)|0;d=m+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[k>>2]|0;if(e){c[m+228>>2]=Y3(e)|0;d=1}}while(0);if((h|0)!=0&(l&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[m+244>>2]=CK(h,j)|0;d=1}return d|0}function bI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;cI(b,e);b=NA(d,141363)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){kA(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){kA(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(FC(d)|0){case 0:{f=(g|0)==(d|0)?111795:100228;b=(c[d>>2]|0)>>>4;break}case 1:{f=111782;b=(c[d>>2]|0)>>>4;break}case 2:{f=111751;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}kA(e,f)|0;c[i>>2]=b;i2(h,100234,i)|0;kA(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function cI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){kA(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;i2(g,100238,h)|0;kA(d,g)|0}l=i;return}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=eI(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(+h[b>>3]+e)*.5;h[q>>3]=k;i=+h[b+24>>3];m=(+h[b+8>>3]+i)*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)sS(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{hS(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=i+ +g[b>>2]*6.283185307179586;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=GT(p,k,m,i,e)|0;nS(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);CY(b)}i=e;f=f+12|0}if(n)sS(a,r);fI(j)}l=s;return o|0}function eI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+8|0;i=q;p=HK(12)|0;h=Y3(b)|0;a:do if(!d){d=1;f=h;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[p+4>>2]=h;o=HK((d*12|0)+12|0)|0;c[p+8>>2]=o;j=1.0;f=0;d=0;while(1){h=i6(h,108285)|0;if(!h){h=20;break}k=+gI(h);if(!(k>=0.0)){h=17;break}m=k-j;if(m>0.0)if((c[5167]|0)!=0?!(m<1.0e-05&m>-1.0e-05):0){c[i>>2]=b;dA(0,100249,i)|0;c[5167]=0;k=j;d=3}else k=j;j=j-k;if(k>0.0)a[o+(f*12|0)+8>>0]=1;if(a[h>>0]|0)c[o+(f*12|0)>>2]=h;g[o+(f*12|0)+4>>2]=k;if(j<1.0e-05&j>-1.0e-05){h=30;break}else{f=f+1|0;h=0}}b:do if((h|0)==17){if(!(c[5167]|0))d=1;else{c[n>>2]=b;dA(1,100284,n)|0;c[5167]=0;d=2}fI(p)}else if((h|0)==20){b=f+-1|0;if(j>0.0){h=0;i=0;while(1){if((h|0)>=(f|0))break;n=(+g[o+(h*12|0)+4>>2]==0.0&1)+i|0;h=h+1|0;i=n}if((i|0)<=0){f=o+(b*12|0)+4|0;g[f>>2]=j+ +g[f>>2];f=b;h=30;break}j=j/+(i|0);h=0;while(1){if((h|0)>=(f|0)){f=b;h=30;break b}i=o+(h*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;h=h+1|0}}else{f=b;h=30}}while(0);if((h|0)==30){while(1){if((f|0)<=-1)break;if(+g[o+(f*12|0)+4>>2]>0.0)break;f=f+-1|0}n=f+1|0;c[o+(n*12|0)>>2]=0;c[p>>2]=n;c[e>>2]=p}l=q;return d|0}function fI(a){a=a|0;l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(a);return}function gI(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=F3(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+b6(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;u=l;l=l+80|0;o=u+64|0;s=u;t=+h[(c[a+16>>2]|0)+152>>3];p=eI(d,0,o)|0;if((p+-1|0)>>>0>=2){q=s+16|0;d=s+48|0;i=b+48|0;r=s+32|0;j=b+32|0;k=b+16|0;if(!e){c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];c[r+12>>2]=c[j+12>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2]}else{c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}m=+h[q>>3];f=+h[s>>3];n=m-f;h[r>>3]=f;h[q>>3]=f;e=t>.5;if(e)sS(a,.5);k=c[o>>2]|0;b=s+48|0;j=c[k+8>>2]|0;while(1){d=c[j>>2]|0;if(!d)break;i=j+4|0;if(!(+g[i>>2]==0.0)){hS(a,d);if(!(c[j+12>>2]|0))f=m;else f=+h[s>>3]+n*+g[i>>2];h[r>>3]=f;h[q>>3]=f;lS(a,s,4,1);f=+h[q>>3];h[b>>3]=f;h[s>>3]=f}j=j+12|0}if(e)sS(a,t);fI(k)}l=u;return p|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;l6(c[g>>2]|0);d=HK(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function jI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+144|0;c=r+80|0;e=r+16|0;j=r;k=+h[b>>3];o=a+16|0;m=+h[o>>3];p=a+24|0;n=a+8|0;if(!(((((((((!(k>m)?(d=+h[a>>3],!(k<d)):0)?(f=+h[b+8>>3],g=+h[p>>3],!(f>g)):0)?(i=+h[n>>3],!(f<i)):0)?(k=+h[b+16>>3],!(k>m|k<d)):0)?(k=+h[b+24>>3],!(k>g|k<i)):0)?(k=+h[b+32>>3],!(k>m|k<d)):0)?(k=+h[b+40>>3],!(k>g|k<i)):0)?(k=+h[b+48>>3],!(k>m|k<d)):0)?(m=+h[b+56>>3],!(m>g|m<i)):0))q=11;a:do if((q|0)==11){if(!(kI(b)|0)){iP(j,b,3,.5,c,e);jI(a,c);jI(a,e);break}else e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;q=15}}else{c=o;q=15}if((q|0)==15){q=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[p>>3])){if(d<+h[n>>3]){c=a;q=18}}else{c=o;q=18}if((q|0)==18){q=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=r;return}function kI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+mK(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+mK(f,e,d)<4.0&1;l=b;return a|0}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;G=l;l=l+272|0;x=G+256|0;y=G+224|0;z=G+192|0;A=G+160|0;B=G+64|0;C=G;D=G+128|0;E=G+96|0;F=G+32|0;w=c[d+16>>2]|0;v=c[w+144>>2]|0;u=w+16|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];c[A+16>>2]=c[u+16>>2];c[A+20>>2]=c[u+20>>2];c[A+24>>2]=c[u+24>>2];c[A+28>>2]=c[u+28>>2];w=c[(c[w+8>>2]|0)+88>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;if(!w){c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}else{d=A+16|0;if(+h[A>>3]==+h[d>>3]?(e=A+8|0,f=A+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[A>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}n=y+8|0;o=y+16|0;p=y+24|0;q=B+16|0;r=B+24|0;s=v+144|0;t=z+16|0;u=w+12|0;d=0;k=c[w+8>>2]|0;e=0;g=0.0;m=0;while(1){if((m|0)>=(c[w>>2]|0))break;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];c[B+16>>2]=c[C+16>>2];c[B+20>>2]=c[C+20>>2];c[B+24>>2]=c[C+24>>2];c[B+28>>2]=c[C+28>>2];j=k+8|0;f=k+80|0;i=j+4|0;switch(c[k>>2]|0){case 1:case 0:{K=+h[j>>3];J=+h[k+24>>3];h[y>>3]=K-J;I=+h[k+16>>3];H=+h[k+32>>3];h[n>>3]=I-H;h[o>>3]=K+J;h[p>>3]=I+H;c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];j=k+96|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];mI(A,x);c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];mI(A,x);break}case 3:case 2:{nI(D,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[f+20>>2]=c[D+20>>2];c[f+24>>2]=c[D+24>>2];c[f+28>>2]=c[D+28>>2];break}case 5:case 4:{nI(E,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];c[f+16>>2]=c[E+16>>2];c[f+20>>2]=c[E+20>>2];c[f+24>>2]=c[E+24>>2];c[f+28>>2]=c[E+28>>2];break}case 6:{nI(F,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[F>>2];c[f+4>>2]=c[F+4>>2];c[f+8>>2]=c[F+8>>2];c[f+12>>2]=c[F+12>>2];c[f+16>>2]=c[F+16>>2];c[f+20>>2]=c[F+20>>2];c[f+24>>2]=c[F+24>>2];c[f+28>>2]=c[F+28>>2];break}case 7:{i=k+112|0;c[i>>2]=HK(56)|0;L=Y3(c[k+40>>2]|0)|0;M=c[i>>2]|0;c[M>>2]=L;a[M+48>>0]=a[100330+(c[k+24>>2]|0)>>0]|0;c[B>>2]=e;h[q>>3]=g;c[r>>2]=c[r>>2]&-128|d&127;M=c[s>>2]|0;M=eb[c[M>>2]&63](M,B,1)|0;L=c[i>>2]|0;c[L+4>>2]=M;JO(x,v,L);oI(z,+h[j>>3],+h[k+16>>3],c[i>>2]|0);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];c[f+20>>2]=c[z+20>>2];c[f+24>>2]=c[z+24>>2];c[f+28>>2]=c[z+28>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];mI(A,x);c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2];mI(A,x);if(!(c[u>>2]|0))c[u>>2]=109;break}case 10:{e=c[k+16>>2]|0;g=+h[j>>3];break}case 15:{d=c[j>>2]|0;break}default:{}}k=k+120|0;m=m+1|0}c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}l=G;return}function mI(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function nI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];mI(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];mI(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function oI(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function pI(a){a=a|0;if((c[a>>2]|0)==7)zK(c[a+112>>2]|0,1);return}function qI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;g=+h[b+352>>3];n=+h[b+432>>3];f=g*n/72.0;h[b+488>>3]=f;i=+h[b+440>>3];g=g*i/72.0;h[b+496>>3]=g;h[b+520>>3]=n/72.0;i=i/72.0;e=b+528|0;h[e>>3]=i;if(c[47187]|j&4096|0)h[e>>3]=-i;p=(c[b+360>>2]|0)==0;o=b+376|0;n=+((c[b+452>>2]|0)>>>0);e=b+368|0;h[(p?e:o)>>3]=+((c[b+448>>2]|0)>>>0)/(p?f:g);h[(p?o:e)>>3]=n/(p?g:f);pS(b,_O(d,DA(d,0,101823,0)|0,195341)|0);c[b+160>>2]=0;rI(b,d);if(j&2|0)sI(b,d);e=gC(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=hC(d,e)|0}tI(b,k);while(1){if(!((uI(b)|0)<<24>>24))break;if((vI(b)|0)>1)QR(b);wI(b);while(1){if(!((xI(b)|0)<<24>>24))break;yI(b,d);zI(b)}if((vI(b)|0)>1)RR(b);AI(b,k)}BI(b);l=m;return}function rI(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);MR(a,b);return}function sI(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;hS(b,135101);d=NA(c,141280)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(c,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);MJ(b,c);g=gC(c)|0;while(1){if(!g)break;d=NA(g,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(g,138032)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(g,101719)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(g,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=UA(c,g)|0;while(1){if(!f)break;d=NA(f,141126)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(f,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=WA(c,f)|0}g=hC(c,g)|0}return}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m+8|0;j=m;h=c[a>>2]|0;d=c[h+312>>2]|0;g=a+156|0;c[g>>2]=d;h=c[h+316>>2]|0;i=a+152|0;f=a+52|0;k=a+160|0;if(!h)if((d|0)>1?(c[i>>2]&64|0)==0:0){c[e>>2]=c[f>>2];dA(0,100868,e)|0;c[g>>2]=1;d=0;a=1}else{d=0;a=1}else{a=h+4|0;if((c[h>>2]|0)>1?(c[i>>2]&64|0)==0:0){c[j>>2]=c[f>>2];dA(0,100868,j)|0;c[h+8>>2]=(c[g>>2]|0)+1}d=h+8|0;a=c[a>>2]|0}c[k>>2]=a;c[b>>2]=d;l=m;return}function uI(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function vI(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function wI(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function xI(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function yI(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+176|0;m=q;f=q+48|0;n=q+32|0;o=c[d+16>>2]|0;p=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{hA(n,128,f);g=o+212|0;h=c[g>>2]|0;cI(d,n);kA(n,h)|0;i=n+4|0;f=c[i>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[i>>2]|0}a[f>>0]=0;j=c[n>>2]|0;c[i>>2]=j;c[g>>2]=j}FT(NA(e,100333)|0);DI(d);OR(d);fS(d,137615);hS(d,135101);i=o+208|0;j=o+260|0;do if(p&4259840|0){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;if(p&655360){g=p&131072;c[o+264>>2]=g>>>16^2;f=HK((g>>>12^32)+32|0)|0;r=d+288|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];r=f+16|0;s=d+304|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!g){hK(f);g=4}else g=2}else{f=0;g=0}if(!(p&8192))LR(d,f,f,g)|0;c[o+272>>2]=f;c[o+268>>2]=g}while(0);f=e+16|0;if(p&32768|0?(k=c[(c[f>>2]|0)+12>>2]|0,k|0):0)c[o+192>>2]=c[k>>2];g=(p&4|0)!=0;do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;s=d+256|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];c[m+16>>2]=c[s+16>>2];c[m+20>>2]=c[s+20>>2];c[m+24>>2]=c[s+24>>2];c[m+28>>2]=c[s+28>>2];iI(d,m);aS(d,c[i>>2]|0,c[o+228>>2]|0,c[o+244>>2]|0,c[o+212>>2]|0)}while(0);EI(d,e);f=c[(c[f>>2]|0)+12>>2]|0;if(f|0)BK(d,4,f);do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;bS(d)}while(0);FI(d,e,p);PR(d);if(h|0){lA(n);c[o+212>>2]=h}l=q;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];CI(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((xI(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];CI(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function AI(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;a=a+160|0;if(!d)c[a>>2]=(c[a>>2]|0)+1;else{c[a>>2]=c[d>>2];c[b>>2]=d+4}return}function BI(a){a=a|0;NR(a);$H(a);return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function DI(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0;v=l;l=l+48|0;n=v+32|0;g=v+24|0;j=v+8|0;k=v+16|0;m=v;e=a+196|0;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;o=a+164|0;i=c[o>>2]|0;o=c[o+4>>2]|0;u=j;c[u>>2]=i;c[u+4>>2]=o;u=a+360|0;if(c[u>>2]|0){c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];LJ(k,n);e=k;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];LJ(m,n);o=m;i=c[o>>2]|0;o=c[o+4>>2]|0;n=j;c[n>>2]=i;c[n+4>>2]=o}r=+(d|0);s=+h[a+320>>3];f=r*s-+h[a+240>>3];h[a+288>>3]=f;p=+(e|0);q=+h[a+328>>3];t=p*q-+h[a+248>>3];h[a+296>>3]=t;h[a+304>>3]=s+f;h[a+312>>3]=q+t;d=a+472|0;e=a+456|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2]}else{c[d>>2]=c[((c[d>>2]|0)<(c[e>>2]|0)?d:e)>>2];n=a+476|0;c[n>>2]=c[((c[n>>2]|0)<(c[a+460>>2]|0)?d:e)+4>>2];n=a+480|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+464>>2]|0)?d:e)+8>>2];n=a+484|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+468>>2]|0)?d:e)+12>>2]}j=c[a+152>>2]|0;b=+h[a+336>>3];d=a+256|0;e=a+264|0;f=+h[a+344>>3];g=a+272|0;if(!(j&128)){b=b+s*(r-+(i|0)*.5);h[d>>3]=b;t=f+q*(p-+(o|0)*.5);h[e>>3]=t;r=s+b;h[g>>3]=r;f=q+t;s=b;q=r}else{q=+h[a+368>>3]*.5;s=b-q;h[d>>3]=s;r=+h[a+376>>3]*.5;t=f-r;h[e>>3]=t;q=b+q;h[g>>3]=q;f=f+r}h[a+280>>3]=f;b=+h[a+352>>3];d=a+512|0;e=a+504|0;g=(c[47187]|j&4096|0)!=0;r=+h[a+384>>3]/b;b=+h[a+392>>3]/b;if(!(c[u>>2]|0)){h[e>>3]=r-s;p=b;b=b-t}else{h[d>>3]=-f-b;p=r;f=q;d=e;b=r-s}h[d>>3]=g?-f-p:b;l=v;return} -function EI(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=NA(d,141280)|0;if(!e){j=1;e=137499}else{i=(a[e>>0]|0)==0;j=i&1;e=i?137499:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(f2(e,137680)|0)==0;k=m?137499:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(f2(e,137680)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((HJ(k,o,p)|0)<<24>>24)){hS(b,k);fS(b,137680);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];mS(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;hS(b,i);fS(b,137680);GJ(d,r)|0;e=c[o+4>>2]|0;h=XO(d,c[47197]|0,0,0)|0;f=+g[p>>2];if(!e)iS(b,137615,h,f);else iS(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];mS(b,q,r);l6(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)JJ(b,e);l=s;return}function FI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)GI(a,b,d);a:do if(!(d&1)){if(d&16|0){WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a);UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);break}if(!(d&8)){f=gC(b)|0;while(1){if(!f)break a;HI(a,f);e=UA(b,f)|0;while(1){if(!e)break;HI(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}}UR(a);e=gC(b)|0;while(1){if(!e)break;if((JI(b,e)|0)<<24>>24)HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if((KI(b,e)|0)<<24>>24)II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}else{UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}while(0);if(g)GI(a,b,d);return}function GI(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+128|0;y=R+72|0;P=R+64|0;J=R+112|0;K=R;L=R+104|0;M=f+16|0;N=(i&4|0)!=0;O=e+16|0;z=K+24|0;A=K+56|0;C=K+8|0;D=K+16|0;E=K+32|0;F=K+40|0;G=K+48|0;H=(i&8|0)==0;I=L+4|0;x=1;while(1){j=c[M>>2]|0;if((x|0)>(c[j+180>>2]|0))break;w=c[(c[j+184>>2]|0)+(x<<2)>>2]|0;if((EJ(e,w)|0)<<24>>24){if(N)GI(e,w,i);FJ(e,w);j=c[O>>2]|0;s=j+208|0;if(!(c[s>>2]|0))v=(b[j+260>>1]&1)!=0;else v=1;FT(NA(w,100333)|0);t=j+212|0;u=j+228|0;q=j+244|0;r=w+16|0;if(!(N|v^1)){p=(c[r>>2]|0)+16|0;c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];c[y+20>>2]=c[p+20>>2];c[y+24>>2]=c[p+24>>2];c[y+28>>2]=c[p+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}c[J>>2]=0;j=GJ(w,J)|0;if(!j)o=0;else{jS(e,j);o=c[J>>2]&1}j=d[(c[r>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=$O(w,c[47188]|0,106557)|0;k=$O(w,c[47189]|0,106565)|0;Q=29;break}if(j&8|0){j=$O(w,c[47192]|0,106573)|0;k=$O(w,c[47193]|0,106581)|0;Q=29;break}if(j&4|0){j=$O(w,c[47190]|0,106589)|0;k=$O(w,c[47191]|0,106597)|0;Q=29;break}j=NA(w,141126)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=NA(w,138032)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=NA(w,101719)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((o|0)!=0&(k|0)!=0)){m=NA(w,141280)|0;if(m|0?a[m>>0]|0:0){k=m;Q=29;break}j=(j|0)==0?137615:j;m=(k|0)==0?135101:k;c[L>>2]=0;if(!o){k=0;o=m}else{o=m;Q=31}}else Q=29}else{j=$O(w,c[47188]|0,106541)|0;k=$O(w,c[47189]|0,106549)|0;Q=29}while(0);if((Q|0)==29){c[L>>2]=0;j=(j|0)==0?137615:j;o=(k|0)==0?135101:k;Q=31}if((Q|0)==31){Q=0;if(!((HJ(o,L,y)|0)<<24>>24)){hS(e,o);k=1}else{hS(e,c[L>>2]|0);k=c[I>>2]|0;m=XO(w,c[47197]|0,0,0)|0;n=+g[y>>2];if(!k)iS(e,137615,m,n);else iS(e,k,m,n);k=(c[J>>2]|0)>>>1&1|2}}m=c[47196]|0;if((m|0?(B=OA(w,m)|0,B|0):0)?a[B>>0]|0:0)sS(e,+YO(w,c[47196]|0,1.0,0.0));p=c[J>>2]|0;m=c[47195]|0;do if(p&4){m=XO(w,m,1,0)|0;if(m|k|0){o=c[r>>2]|0;S=o+16|0;c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];o=o+32|0;c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!m)fS(e,137680);else fS(e,j);RM(e,K,4,p,k)}}else{if(!(p&64)){if(XO(w,m,1,0)|0){fS(e,j);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}if(!k)break;fS(e,137680);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}S=c[r>>2]|0;p=S+16|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];S=S+32|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!(XO(w,m,1,0)|0))fS(e,137680);else fS(e,j);if((hI(e,K,o,0)|0)>1){c[P>>2]=HB(w)|0;dA(3,100701,P)|0}S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,0)}while(0);l6(c[L>>2]|0);j=c[(c[r>>2]|0)+12>>2]|0;if(j|0)BK(e,5,j);if(v){if(N){S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}bS(e)}a:do if(!H){k=gC(w)|0;while(1){if(!k)break a;HI(e,k);j=UA(w,k)|0;while(1){if(!j)break;II(e,j);j=WA(w,j)|0}k=hC(w,k)|0}}while(0);IJ(e,f);if(!N)GI(e,w,i)}x=x+1|0}l=R;return}function HI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(wJ(b,uC(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(xJ(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(a[f>>0]|0)!=(g|0)):0){a[f>>0]=g;pS(b,HB(d)|0);e=_O(d,c[47231]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47219]|0,195341)|0;b:do if(a[e>>0]|0){NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);yJ(b,d);lb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)BK(b,10,e);zJ(b)}while(0);l=j;return}function II(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((LI(d,g)|0)<<24>>24?(f=d+-48|0,(MI(b,d)|0)<<24>>24):0){i=d+48|0;e=D3(HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=k6(e+3+(D3(HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;O3(e,HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(uB(uC(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(D3(e)|0)|0;if(i){a[g>>0]=a[142050]|0;a[g+1>>0]=a[142051]|0;a[g+2>>0]=a[142052]|0}else{a[g>>0]=a[138041]|0;a[g+1>>0]=a[138042]|0;a[g+2>>0]=a[138043]|0}g6(e,HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;pS(b,e);l6(e);e=_O(d,c[47260]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47254]|0,195341)|0;b:do if(!(a[e>>0]|0))e=0;else{NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=188404;break b}if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);OI(b,d,e);PI(b,d,e);QI(b)}while(0);l=h;return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function KI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function LI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(vJ(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((gQ(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(gQ(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function MI(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,c[47259]|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=_O(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[47229]|0,195341)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((rJ(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function NI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;q=r+24|0;p=r+16|0;o=r+8|0;n=r;i=r+48|0;m=r+32|0;if(a[100583]|0){hA(188668,128,195106);a[100583]=0}hA(m,128,r+56|0);c[i>>2]=b;j=m+4|0;k=m+8|0;d=0;h=0;a:while(1){b:while(1){e=pJ(i,m)|0;f=d<<24>>24!=0;if(!e){d=22;break a}g=d<<24>>24==0;switch(e|0){case 40:if(f){d=8;break a}else{d=1;continue b}case 41:if(g){d=10;break a}else{d=0;continue b}default:break b}}f=188404+(h<<2)|0;if(g){if((h|0)==63){d=13;break}e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;c[f>>2]=c[47168];f=h+1|0}else f=h;e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}a[e>>0]=0;e=c[m>>2]|0;c[j>>2]=e;kA(188668,e)|0;e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;h=f}do if((d|0)==8){c[n>>2]=b;dA(1,100584,n)|0;c[47101]=0;lA(m)}else if((d|0)==10){c[o>>2]=b;dA(1,100618,o)|0;c[47101]=0;lA(m)}else if((d|0)==13){c[p>>2]=b;dA(0,100646,p)|0;c[f>>2]=0;lA(m)}else if((d|0)==22){if(f){c[q>>2]=b;dA(1,100669,q)|0;c[47101]=0;lA(m);break}c[188404+(h<<2)>>2]=0;lA(m);d=c[47168]|0;if(d>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;d=c[47168]|0}a[d>>0]=0;c[47168]=c[47167]}while(0);l=r;return 188404}function OI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+160|0;B=E+24|0;z=E+20|0;y=E+16|0;k=E;n=E+32|0;A=c[d+152>>2]|0;c[B>>2]=0;c[z>>2]=0;c[y>>2]=0;C=_H(d)|0;c[C+4>>2]=3;c[C+8>>2]=f;c[C+12>>2]=9;w=f+16|0;t=c[(c[w>>2]|0)+96>>2]|0;D=C+260|0;if((t|0?(a[t+82>>0]|0)==0:0)?(cP(NA(f,100406)|0,0)|0)<<24>>24:0)b[D>>1]=b[D>>1]|512;if(g|0?c[(c[w>>2]|0)+8>>2]|0:0)jS(d,g);g=c[47275]|0;if((g|0?(i=OA(f,g)|0,i|0):0)?a[i>>0]|0:0)sS(d,+YO(f,c[47275]|0,1.0,0.0));do if(A&16777216|0){g=f+48|0;i=C+176|0;if((e[(c[(uC(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[i>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[C+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;break}}while(0);r=C+200|0;s=C+204|0;q=C+192|0;if(A&32768|0){j=c[w>>2]|0;g=c[j+96>>2]|0;if(!g)g=c[q>>2]|0;else{g=c[g>>2]|0;c[q>>2]=g}i=C+196|0;c[i>>2]=g;c[s>>2]=g;c[r>>2]=g;g=c[j+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[j+104>>2]|0;if(g|0)c[r>>2]=c[g>>2];g=c[j+100>>2]|0;if(g|0)c[s>>2]=c[g>>2]}t=C+208|0;if(!(A&65536))k=0;else{hA(k,128,n);c[C+212>>2]=CK(bI(d,f,k)|0,f)|0;lA(k);g=NA(f,141358)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else{g=NA(f,111778)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else j=0}if((p|0)==31)j=CK(g,f)|0;g=NA(f,100419)|0;i=(j|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=36;else p=34;do if((p|0)==34){g=NA(f,100428)|0;if(g|0?a[g>>0]|0:0){p=36;break}if(i){g=Y3(j)|0;p=39}}while(0);if((p|0)==36){g=CK(g,f)|0;p=39}if((p|0)==39)c[t>>2]=g;g=NA(f,100436)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=44;else p=42;do if((p|0)==42){g=NA(f,100446)|0;if(g|0?a[g>>0]|0:0){p=44;break}if(i){g=Y3(j)|0;p=47}}while(0);if((p|0)==44){g=CK(g,f)|0;p=47}if((p|0)==47)c[C+216>>2]=g;g=NA(f,100455)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=52;else p=50;do if((p|0)==50){g=NA(f,100464)|0;if(g|0?a[g>>0]|0:0){p=52;break}if(i)c[C+220>>2]=Y3(j)|0}while(0);if((p|0)==52){c[C+220>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|128}g=NA(f,100472)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=59;else p=57;do if((p|0)==57){g=NA(f,100481)|0;if(g|0?a[g>>0]|0:0){p=59;break}if(i)c[C+224>>2]=Y3(j)|0}while(0);if((p|0)==59){c[C+224>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|256}k=j}o=C+244|0;do if(A&8388608){g=NA(f,141391)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=CK(g,f)|0;else i=0;g=NA(f,100489)|0;j=(i|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0){b[D>>1]=b[D>>1]|64;g=CK(g,f)|0;p=72}else p=70;if((p|0)==70?j:0){g=Y3(i)|0;p=72}if((p|0)==72)c[o>>2]=g;g=NA(f,100500)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=CK(g,f)|0;p=78}else p=76;if((p|0)==76?j:0){g=Y3(i)|0;p=78}if((p|0)==78)c[C+248>>2]=g;g=NA(f,100512)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[C+252>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|16}else p=82;if((p|0)==82?j:0)c[C+252>>2]=Y3(i)|0;g=NA(f,100523)|0;if(g|0?a[g>>0]|0:0){b[D>>1]=b[D>>1]|32;c[C+256>>2]=CK(g,f)|0;break}if(j)c[C+256>>2]=Y3(i)|0;else i=0}else i=0;while(0);do if(A&4194304|0){g=NA(f,141404)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=94;else p=92;do if((p|0)==92){g=NA(f,100534)|0;if(g|0?a[g>>0]|0:0){p=94;break}g=c[q>>2]|0;if(g|0)c[C+228>>2]=Y3(g)|0}while(0);if((p|0)==94){n=hJ(g,f)|0;c[C+228>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|1}g=NA(f,100546)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){n=hJ(g,f)|0;c[C+232>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|8}else p=100;if((p|0)==100?(u=c[q>>2]|0,u|0):0)c[C+232>>2]=Y3(u)|0;g=NA(f,100559)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){u=hJ(g,f)|0;c[C+236>>2]=CK(u,f)|0;l6(u);b[D>>1]=b[D>>1]|2}else p=105;if((p|0)==105?(v=c[r>>2]|0,v|0):0)c[C+236>>2]=Y3(v)|0;g=NA(f,100571)|0;if(g|0?a[g>>0]|0:0){v=hJ(g,f)|0;c[C+240>>2]=CK(v,f)|0;l6(v);b[D>>1]=b[D>>1]|4;break}g=c[s>>2]|0;if(g|0)c[C+240>>2]=Y3(g)|0}while(0);l6(k);l6(i);n=C+228|0;do if(A&4259840|0?(x=c[(c[w>>2]|0)+8>>2]|0,x|0):0){if(!(c[t>>2]|0)){if((A&524288|0)==0|(c[n>>2]|0)==0)break}else if(!(A&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[x+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;iJ(B,z,y,(c[x>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[y>>2]|0;c[C+276>>2]=j;k=c[z>>2]|0;c[C+280>>2]=k;if(!(A&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}B=c[B>>2]|0;LR(d,B,B,g)|0;g=B}else g=c[B>>2]|0;c[C+284>>2]=g;c[C+264>>2]=2;c[C+272>>2]=g;c[C+268>>2]=c[k>>2]}while(0);_R(d,f);g=c[t>>2]|0;if(!((g|0)==0?!(b[D>>1]&1):0))aS(d,g,c[n>>2]|0,c[o>>2]|0,c[C+212>>2]|0);l=E;return}function PI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;T=l;l=l+240|0;P=T+224|0;O=T+208|0;z=T+144|0;y=T+112|0;S=T+64|0;C=T+48|0;D=T+32|0;E=T+16|0;F=T;G=T+192|0;H=T+176|0;A=T+160|0;B=T+128|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;Q=+h[(c[b+16>>2]|0)+152>>3];FT(NA(e,100333)|0);N=e+16|0;a:do if(c[(c[N>>2]|0)+8>>2]|0){R=+YO(e,c[47257]|0,1.0,0.0);k=_O(e,c[47238]|0,195341)|0;r=(f|0)!=0;b:do if(r){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){p=0;break b}if((a[i>>0]|0)!=116)continue;if(!(f2(i,111418)|0)){p=1;break}}}else p=0;while(0);j=k;q=0;i=0;c:while(1){g=q+1|0;switch(a[j>>0]|0){case 0:break c;case 58:break;case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}o=(q|0)!=0;if((i|0)!=0&o)if(!(XI(b,e,f,k,g,R,Q)|0))break;else m=137615;else m=k;g=d[(c[N>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){u=m;g=$O(e,c[47239]|0,m)|0}else{j=106597;g=106589;k=188980;i=188976;n=18}else{j=106581;g=106573;k=188988;i=188984;n=18}else{j=106565;g=106557;k=188972;i=188968;n=18}else{j=106549;g=106541;k=188964;i=188960;n=18}if((n|0)==18){i=c[i>>2]|0;i=$O(e,i,YI(m,g)|0)|0;g=$O(e,c[k>>2]|0,j)|0;if((i|0)==(m|0))u=m;else{fS(b,i);u=i}}if((g|0)!=(m|0))hS(b,g);J=S+16|0;L=S+4|0;M=S+32|0;K=S+12|0;I=S+8|0;if(p<<24>>24){i=(a[u>>0]|0)==0?137615:u;g=(a[g>>0]|0)==0?137615:g;fS(b,137680);hS(b,i);o=S;m=c[c[(c[N>>2]|0)+8>>2]>>2]|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));N=xO(S,ZI(e)|0,Q,0,0)|0;lS(b,c[N+8>>2]|0,c[N>>2]|0,1);_I(N);fS(b,i);if((g|0)!=(i|0))hS(b,g);g=c[I>>2]|0;if(g|0){N=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(!g)break;S=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];XH(b,3,O,P,R,Q,g);break}i=c[N>>2]|0;if(!o){do if(!(a[i+115>>0]&3)){if(a[u>>0]|0){fS(b,u);hS(b,g);break}fS(b,137615);if(!(a[g>>0]|0)){hS(b,137615);break}else{hS(b,g);break}}while(0);k=b+152|0;j=0;while(1){g=c[(c[N>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;o=S;m=(c[g>>2]|0)+(j*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[S>>2]|0;i=c[L>>2]|0;do if(!(c[k>>2]&16384)){nS(b,g,i,0,0,0);g=c[I>>2]|0;if(g|0){H=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){H=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,3,O,P,R,Q,g)}if((c[(c[(c[N>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[I>>2]|0)){if(!(r&(c[K>>2]|0)!=0))break}else if(!r)break;jS(b,f)}}else nS(b,g,i,c[I>>2]|0,c[K>>2]|0,0);while(0);j=j+1|0}}w=c[(c[i+8>>2]|0)+4>>2]|0;v=w*48|0;x=k6(v)|0;v=k6(v)|0;t=+(q+2|0)*.5;e=C+8|0;f=D+8|0;r=E+8|0;s=F+8|0;q=0;while(1){if((q|0)>=(w|0))break;o=S;m=(c[c[(c[N>>2]|0)+8>>2]>>2]|0)+(q*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[L>>2]|0;c[x+(q*48|0)+4>>2]=g;c[v+(q*48|0)+4>>2]=g;k=g<<4;j=k6(k)|0;c[x+(q*48|0)>>2]=j;k=k6(k)|0;c[v+(q*48|0)>>2]=k;i=c[S>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];i=0;while(1){m=j+(i<<4)|0;n=k+(i<<4)+8|0;o=k+(i<<4)|0;p=j+(i<<4)+8|0;if((i|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=i+1|0;U=(c[S>>2]|0)+(g<<4)|0;c[D>>2]=c[U>>2];c[D+4>>2]=c[U+4>>2];c[D+8>>2]=c[U+8>>2];c[D+12>>2]=c[U+12>>2];if(!i){c[O>>2]=c[C>>2];c[O+4>>2]=c[C+4>>2];c[O+8>>2]=c[C+8>>2];c[O+12>>2]=c[C+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(G,O,P);c[m>>2]=c[G>>2];c[m+4>>2]=c[G+4>>2];c[m+8>>2]=c[G+8>>2];c[m+12>>2]=c[G+12>>2]}else{c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(H,O,P);c[m>>2]=c[H>>2];c[m+4>>2]=c[H+4>>2];c[m+8>>2]=c[H+8>>2];c[m+12>>2]=c[H+12>>2]}Y=c[S>>2]|0;V=i+2|0;Z=Y+(V<<4)|0;c[E>>2]=c[Z>>2];c[E+4>>2]=c[Z+4>>2];c[E+8>>2]=c[Z+8>>2];c[E+12>>2]=c[Z+12>>2];U=i+3|0;Y=Y+(U<<4)|0;c[F>>2]=c[Y>>2];c[F+4>>2]=c[Y+4>>2];c[F+8>>2]=c[Y+8>>2];c[F+12>>2]=c[Y+12>>2];X=j+(g<<4)|0;W=j+(V<<4)|0;c[y>>2]=c[C>>2];c[y+4>>2]=c[C+4>>2];c[y+8>>2]=c[C+8>>2];c[y+12>>2]=c[C+12>>2];c[z>>2]=c[D>>2];c[z+4>>2]=c[D+4>>2];c[z+8>>2]=c[D+8>>2];c[z+12>>2]=c[D+12>>2];c[O>>2]=c[Z>>2];c[O+4>>2]=c[Z+4>>2];c[O+8>>2]=c[Z+8>>2];c[O+12>>2]=c[Z+12>>2];c[P>>2]=c[Y>>2];c[P+4>>2]=c[Y+4>>2];c[P+8>>2]=c[Y+8>>2];c[P+12>>2]=c[Y+12>>2];aJ(A,y,z,O,P);c[W>>2]=c[A>>2];c[W+4>>2]=c[A+4>>2];c[W+8>>2]=c[A+8>>2];c[W+12>>2]=c[A+12>>2];c[X>>2]=c[A>>2];c[X+4>>2]=c[A+4>>2];c[X+8>>2]=c[A+8>>2];c[X+12>>2]=c[A+12>>2];h[o>>3]=+h[C>>3]-t*+h[m>>3];h[n>>3]=+h[e>>3]-t*+h[p>>3];h[k+(g<<4)>>3]=+h[D>>3]-t*+h[X>>3];h[k+(g<<4)+8>>3]=+h[f>>3]-t*+h[j+(g<<4)+8>>3];h[k+(V<<4)>>3]=+h[E>>3]-t*+h[W>>3];h[k+(V<<4)+8>>3]=+h[r>>3]-t*+h[j+(V<<4)+8>>3];i=U;g=c[L>>2]|0}c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[F>>2];c[P+4>>2]=c[F+4>>2];c[P+8>>2]=c[F+8>>2];c[P+12>>2]=c[F+12>>2];$I(B,O,P);c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[m+12>>2]=c[B+12>>2];h[o>>3]=+h[F>>3]-t*+h[m>>3];h[n>>3]=+h[s>>3]-t*+h[p>>3];q=q+1|0}s=Y3(u)|0;f=0;r=u;i=u;j=u;g=s;while(1){g=i6(g,108285)|0;if(!g)break;e=(a[g>>0]|0)==0?137615:g;if((e|0)!=(j|0))if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,e);hS(b,e);j=e}else j=e;m=(f|0)==0;n=(f|1|0)==1;g=0;while(1){if((g|0)>=(w|0))break;o=c[v+(g*48|0)>>2]|0;p=c[x+(g*48|0)>>2]|0;q=c[v+(g*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;Z=o+(k<<4)|0;h[Z>>3]=+h[p+(k<<4)>>3]+ +h[Z>>3];Z=o+(k<<4)+8|0;h[Z>>3]=+h[p+(k<<4)+8>>3]+ +h[Z>>3];k=k+1|0}nS(b,o,q,0,0,0);g=g+1|0}f=f+1|0;r=m?e:r;i=n?e:i;g=0}g=c[I>>2]|0;if(!g)i=0;else{if(i){if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,i);hS(b,i)}}else i=0;Z=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[N>>2]|0)+115>>0]&3)==0:0){fS(b,r);hS(b,r);g=c[K>>2]|0}Z=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,3,O,P,R,Q,g)}l6(s);g=0;while(1){if((g|0)>=(w|0))break;l6(c[x+(g*48|0)>>2]|0);l6(c[v+(g*48|0)>>2]|0);g=g+1|0}l6(x);l6(v)}while(0);l=T;return}function QI(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;q=D+48|0;t=D+32|0;s=D+16|0;r=D;z=c[a+16>>2]|0;A=c[z+8>>2]|0;p=z+208|0;C=z+212|0;m=z+268|0;B=z+260|0;n=z+272|0;if(!((c[p>>2]|0)==0?!(b[B>>1]&1):0))d=3;a:do if((d|0)==3?(bS(a),o=z+276|0,e=c[o>>2]|0,e|0):0){h=z+280|0;d=c[h>>2]|0;i=z+284|0;j=z+228|0;k=z+244|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[m>>2]=c[d+(g<<2)>>2];c[n>>2]=(c[i>>2]|0)+(f<<4);aS(a,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[C>>2]|0);bS(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[o>>2]|0;d=y}}while(0);c[m>>2]=0;c[n>>2]=0;o=A+16|0;d=c[o>>2]|0;e=c[d+8>>2]|0;p=z+236|0;u=z+240|0;v=z+224|0;w=z+256|0;x=z+220|0;y=z+252|0;if(e){m=c[e>>2]|0;d=c[m>>2]|0;n=c[m+8>>2]|0;k=m+16|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];m=m+32|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];if(!n){c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2]}else{c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}m=b[B>>1]|0;k=c[x>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(m<<8&65535)<<16>>16>>15&255,k,(m<<14&65535)<<16>>16>>15&255);m=c[(c[o>>2]|0)+8>>2]|0;k=c[m>>2]|0;m=(c[m+4>>2]|0)+-1|0;d=c[k+(m*48|0)>>2]|0;e=c[k+(m*48|0)+4>>2]|0;n=c[k+(m*48|0)+12>>2]|0;j=k+(m*48|0)+16|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];s=k+(m*48|0)+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!n){s=d+(e+-1<<4)|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}d=b[B>>1]|0;s=c[v>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(d<<7&65535)<<16>>16>>15&255,s,(d<<13&65535)<<16>>16>>15&255);d=c[o>>2]|0}g=c[d+96>>2]|0;h=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;k=z+216|0;i=c[k>>2]|0;m=z+232|0;j=c[m>>2]|0;n=z+248|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,g,11,h,i,j,e,f,d);i=c[(c[o>>2]|0)+108>>2]|0;j=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;h=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,i,11,j,h,g,e,f,d);SI(a,c[(c[o>>2]|0)+100>>2]|0,7,(b[B>>1]<<13&65535)<<16>>16>>15<<16>>16,c[v>>2]|0,c[u>>2]|0,c[w>>2]|0,c[C>>2]|0,0);SI(a,c[(c[o>>2]|0)+104>>2]|0,6,(b[B>>1]<<14&65535)<<16>>16>>15<<16>>16,c[x>>2]|0,c[p>>2]|0,c[y>>2]|0,c[C>>2]|0,0);$R(a);$H(a);l=D;return}function RI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];WI(a,h)}l=j;return}function SI(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s;r=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=HK((D3(j)|0)+11|0)|0;switch(e|0){case 11:{m=108525;break}case 7:{m=101884;break}case 6:{m=101894;break}default:Aa(138697,100207,2730,100345)}c[o>>2]=j;c[o+4>>2]=m;i2(n,100361,o)|0}o=b+16|0;q=(c[o>>2]|0)+12|0;p=c[q>>2]|0;c[q>>2]=e;q=(g|0)!=0;j=(f|0)!=0;m=(r&4|0)!=0;if(!(m|(j|q)^1)){TI(b,d);aS(b,g,h,i,n)}BK(b,e,d);if(k|0)UI(b,d,k);if(j|q){if(m){TI(b,d);aS(b,g,h,i,n)}bS(b)}l6(n);c[(c[o>>2]|0)+12>>2]=p}l=s;return}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;i=d+268|0;c[i>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[i>>2]<<4)|0;c[j>>2]=d;j=b+56|0;i=b+24|0;h[d>>3]=+h[j>>3]-+h[i>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]+ +h[i>>3]*.5;h[d+24>>3]=+h[g>>3]+ +h[b>>3]*.5;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function UI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(X1(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;VI(i,p*.5+ +h[m>>3],+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;VI(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];oP(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];jS(b,c[(c[b>>2]|0)+336>>2]|0);fS(b,c[d+8>>2]|0);oS(b,i,3)}l=o;return}function VI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function WI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function XI(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+256|0;C=I+224|0;B=I+208|0;j=I+192|0;E=I+144|0;F=I+96|0;G=I+48|0;D=I;k=I+240|0;e=eI(e,f,k)|0;if((e|0)>1){y=b+48|0;z=uC(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;y=HB(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;z=(uB(z)|0)!=0;A=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=y;c[j+4>>2]=z?100380:100385;c[j+8>>2]=A;dA(3,100390,j)|0;if((e|0)==2)e=1;else H=4}else if((e|0)==1)e=1;else H=4;if((H|0)==4){A=b+16|0;r=c[k>>2]|0;s=r+8|0;t=G+4|0;u=E+8|0;v=E+12|0;q=(d|0)!=0;w=E+32|0;x=E+4|0;y=E+16|0;z=D+4|0;e=0;p=0;while(1){f=c[(c[A>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=E;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{fS(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){fJ(E,n,G,D);k=c[G>>2]|0;nS(a,k,c[t>>2]|0,0,0,0);l6(k);if(m<1.0e-05&m>-1.0e-05){H=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){H=13;break a}j=F;f=D;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];fJ(F,n/(m+n),G,D);l6(c[F>>2]|0);f=c[G>>2]|0;nS(a,f,c[t>>2]|0,0,0,0);l6(f);f=0}while(0);b=f;o=o+12|0}if((H|0)==11){H=0;l6(c[D>>2]|0)}else if((H|0)==13){H=0;o=c[D>>2]|0;nS(a,o,c[z>>2]|0,0,0,0);l6(o)}if(c[u>>2]|0){fS(a,c[c[s>>2]>>2]|0);hS(a,c[c[s>>2]>>2]|0);k=c[E>>2]|0;o=c[u>>2]|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,2,B,C,h,i,o)}if(c[v>>2]|0){fS(a,e);hS(a,e);k=(c[E>>2]|0)+((c[x>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,3,B,C,h,i,o)}do if((c[(c[(c[A>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(q&(c[v>>2]|0)!=0))break}else if(!q)break;jS(a,d)}while(0);p=p+1|0}fI(r);e=0}l=I;return e|0}function YI(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=S((D3(d)|0)+1|0,e)|0;b=f+10|0;if((c[47165]|0)<(f|0)){c[47165]=b;b=n6(c[47166]|0,b)|0;c[47166]=b}else b=c[47166]|0;O3(b,d)|0;while(1){e=e+-1|0;b=c[47166]|0;if(!e)break;f=b+(D3(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;g6(b,d)|0}return b|0}function ZI(b){b=b|0;var d=0,e=0;d=c[47253]|0;a:do if(!d)e=7;else{d=OA(b,d)|0;switch(a[d>>0]|0){case 110:if(!(f2(d,136010)|0)){d=2;break a}else{e=7;break a}case 102:if(!(f2(d,100367)|0)){d=1;break a}else{e=7;break a}case 98:{if(!(f2(d,100375)|0)){d=3;break a}if(!(f2(d,111522)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(uB(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?1:2}return d|0}function _I(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+G(+(e*e+f*f+.0001));h[a>>3]=f*d;h[a+8>>3]=-(e*d);return}function aJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+G(+(g*g+i*i));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+G(+(j*j+f*f+.0001))}j=2.0/f;h[a>>3]=j*i;h[a+8>>3]=-(g*j);return}function bJ(a,b,c){a=+a;b=+b;c=+c;return +((1.0-a/b)*c*.5)}function cJ(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function dJ(a,b,c){a=+a;b=+b;c=+c;return +(a/b*c*.5)}function eJ(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function fJ(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;p=c[a+4>>2]|0;j=(p+-1|0)/3|0;k=d+4|0;if((p+-4|0)>>>0<3){c[k>>2]=4;c[d>>2]=HK(64)|0;c[e+4>>2]=4;p=HK(64)|0;c[e>>2]=p;iP(q,c[a>>2]|0,3,b,c[d>>2]|0,p)}else{p=HK(j<<3)|0;f=0;g=c[a>>2]|0;i=0.0;while(1){if((f|0)>=(j|0))break;s=+gJ(g);h[p+(f<<3)>>3]=s;f=f+1|0;g=g+48|0;i=i+s}b=b*i;n=0;i=0.0;while(1){f=n+1|0;o=p+(n<<3)|0;if((j|0)<=(n|0))break;i=i+ +h[o>>3];if(!(i>=b))n=f;else break}f=(f*3|0)+1|0;c[k>>2]=f;c[d>>2]=HK(f<<4)|0;f=((j-n|0)*3|0)+1|0;m=e+4|0;c[m>>2]=f;c[e>>2]=HK(f<<4)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;j=(c[d>>2]|0)+(f<<4)|0;g=(c[a>>2]|0)+(f<<4)|0;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];f=f+1|0}f=f+-4|0;g=0;while(1){j=c[a>>2]|0;k=c[e>>2]|0;if((g|0)>=(c[m>>2]|0))break;k=k+(g<<4)|0;j=j+(f<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];f=f+1|0;g=g+1|0}s=+h[o>>3];e=n*3|0;iP(q,j+(e<<4)|0,3,(b-(i-s))/s,(c[d>>2]|0)+(e<<4)|0,k);l6(p)}l=r;return}function gJ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];c=+h[a>>3]-e;d=+h[a+24>>3];f=+h[a+8>>3]-d;f=+G(+(c*c+f*f));c=+h[a+32>>3];e=e-c;b=+h[a+40>>3];d=d-b;d=f+ +G(+(e*e+d*d));c=c-+h[a+48>>3];b=b-+h[a+56>>3];return +(d+ +G(+(c*c+b*b)))}function hJ(b,d){b=b|0;d=d|0;d=vC(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=cQ(b)|0;else d=$P(b,d)|0;return oJ(d)|0}function iJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=IK(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=jJ(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;kJ(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}lJ(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;l6(g);h=s;g=s}l=q;return}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(kI(a)|0)){iP(f,a,3,.5,d,e);d=jJ(e,jJ(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=nJ(f,b)|0}l=g;return d|0}function kJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=l;l=l+96|0;p=t+80|0;o=t+64|0;n=t+48|0;q=t+32|0;r=t+16|0;s=t;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];m=q+8|0;b=s+8|0;k=r+8|0;do if(a){c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];if(!d){j=+h[q>>3];h[s>>3]=j*2.0-+h[r>>3];i=+h[m>>3];h[b>>3]=i*2.0-+h[k>>3];break}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];i=+h[m>>3];break}}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];h[r>>3]=j*2.0-+h[s>>3];i=+h[m>>3];h[k>>3]=i*2.0-+h[b>>3]}while(0);c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];v=+mJ(n,o,p);u=+I(+v)*g;g=+J(+v)*g;h[e>>3]=u+j;h[e+8>>3]=g+i;h[f>>3]=j-u;h[f+8>>3]=i-g;l=t;return}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;i=e<<1;j=c[d>>2]|0;k=c[b>>2]|0;h=0;l=0;while(1){if((h|0)>=(j|0))break;m=(c[k+(h<<2)>>2]|0)+l|0;h=h+1|0;l=m}m=j+1|0;c[d>>2]=m;m=KK(k,m<<2)|0;c[b>>2]=m;c[m+(h<<2)>>2]=i;c[a>>2]=KK(c[a>>2]|0,l+i<<4)|0;b=i+-1+l|0;h=0;while(1){if((h|0)>=(e|0))break;m=(c[a>>2]|0)+(h+l<<4)|0;k=f+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];m=(c[a>>2]|0)+(b-h<<4)|0;k=g+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];h=h+1|0}return}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[b>>3];d=+O(+(+h[c+8>>3]-f),+(+h[c>>3]-e));e=+O(+(+h[a+8>>3]-f),+(+h[a>>3]-e));d=d-e;return +(e+(d>0.0?d+-6.283185307179586:d)*.5)}function nJ(a,b){a=a|0;b=b|0;var d=0;d=IK(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function oJ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;g=b;a:while(1){d=0;while(1){e=c;c=c+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;if(d<<24>>24){f=5;break}if(e<<24>>24!=92){f=10;break}else d=1}b:do if((f|0)==5){d=g+1|0;switch(e<<24>>24|0){case 114:{e=13;break b}case 108:case 110:{e=10;break b}default:break b}}else if((f|0)==10)d=g+1|0;while(0);a[g>>0]=e;g=d}a[g>>0]=0;return b|0}function pJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b>>2]|0;while(1){j=a[e>>0]|0;f=j<<24>>24;if(!(j<<24>>24)){h=3;break}g=e+1|0;if(j<<24>>24==44|(X1(f)|0)!=0)e=g;else break}if((h|0)==3)g=e+1|0;a:do switch(f|0){case 0:{f=0;break}case 41:case 40:{e=g;break}default:{h=d+4|0;i=d+8|0;g=j;while(1){if((qJ(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;j=e+1|0;e=j;g=a[j>>0]|0}}}while(0);c[b>>2]=e;return f|0}function qJ(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function rJ(a,b){a=a|0;b=b|0;return sJ(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function sJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;hA(n,128,o+24|0);kA(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=j6(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=j6(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=j6(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=tJ(b,g,0)|0;f=tJ(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(tJ(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}lA(n);l=o;return f|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(f2(d,100697)|0)==0:0))f=3;a:do if((f|0)==3){if((uJ(d)|0)<<24>>24){e=d6(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(f2(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function uJ(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function vJ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function wJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=_O(e,c[47229]|0,195341)|0,(rJ(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(ZA(d,e)|0))f=1;else{f=ZA(d,e)|0;while(1){if(!f){f=0;break a}g=_O(f,c[47259]|0,195341)|0;if(!(a[g>>0]|0)){f=1;break a}if((rJ(b,g)|0)<<24>>24){f=1;break a}f=_A(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function xJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(vJ(f,e)|0)&255;l=d;return b|0}function yJ(a,d){a=a|0;d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0;s=c[a+152>>2]|0;t=_H(a)|0;c[t+4>>2]=2;c[t+8>>2]=d;c[t+12>>2]=8;n=d+16|0;if(s&16777216|0){if((e[(c[(uC(d)|0)+16>>2]|0)+178>>1]|0)>2){g=+h[(c[(c[n>>2]|0)+132>>2]|0)+16>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0)}else g=0.0;h[t+168>>3]=g}AJ(a,c[(c[n>>2]|0)+104>>2]|0,d);do if(s&4259840|0){if((c[t+208>>2]|0)==0?(b[t+260>>1]&1)==0:0)break;q=UM(d)|0;l=c[n>>2]|0;g=+h[l+16>>3];r=+h[l+24>>3];l=BJ(d)|0;a:do if((q|2|0)==3){m=c[(c[n>>2]|0)+12>>2]|0;if(!((CJ(m)|0)<<24>>24))f=0;else f=(c[m+4>>2]|l|0)!=0;o=t+264|0;if(!((s&524288|0)==0|((m|0)==0|f))){i=m+8|0;p=c[i>>2]|0;p=(p|0)<3?1:p;j=m+4|0;k=c[j>>2]|0;k=(k|0)>1?k:1;q=c[m+44>>2]|0;f=NA(d,103006)|0;if(!f)f=0;else f=d6(f)|0;f=(f+-4|0)>>>0>56?20:f;if(!(c[j>>2]|l)){c[o>>2]=0;i=HK(32)|0;f=c[n>>2]|0;w=+h[f+88>>3];h[i>>3]=g-w;v=+h[f+80>>3]*.5;h[i+8>>3]=r-v;h[i+16>>3]=g+w;h[i+24>>3]=r+v;f=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[m+32>>3]==0.0:0)?+h[m+24>>3]==0.0:0){if(c[m>>2]|0){c[o>>2]=1;i=HK(32)|0;h[i>>3]=g;h[i+8>>3]=r;f=(k<<1)+-1|0;h[i+16>>3]=g+ +h[q+(f<<4)>>3];h[i+24>>3]=r+ +h[q+(f<<4)+8>>3];f=2;break}c[o>>2]=2;i=(k<<1)+-1|0;i=DJ(+h[q+(i<<4)>>3],+h[q+(i<<4)+8>>3],f)|0;j=0;while(1){if((j|0)>=(f|0))break a;q=i+(j<<4)|0;h[q>>3]=g+ +h[q>>3];q=i+(j<<4)+8|0;h[q>>3]=r+ +h[q>>3];j=j+1|0}}m=S(i,k+-1|0)|0;c[o>>2]=2;if((i|0)<(f|0)){i=HK(p<<4)|0;f=0;while(1){if((f|0)>=(p|0)){f=p;break a}o=f+m|0;h[i+(f<<4)>>3]=g+ +h[q+(o<<4)>>3];h[i+(f<<4)+8>>3]=r+ +h[q+(o<<4)+8>>3];f=f+1|0}}else{l=(i|0)/(f|0)|0;i=HK(f<<4)|0;j=0;k=0;while(1){if((j|0)>=(f|0))break a;p=k+m|0;h[i+(j<<4)>>3]=g+ +h[q+(p<<4)>>3];h[i+(j<<4)+8>>3]=r+ +h[q+(p<<4)+8>>3];j=j+1|0;k=k+l|0}}}else{f=o;u=32}}else{f=t+264|0;u=32}while(0);if((u|0)==32){c[f>>2]=0;i=HK(32)|0;f=c[n>>2]|0;h[i>>3]=g-+h[f+88>>3];w=+h[f+80>>3]*.5;h[i+8>>3]=r-w;h[i+16>>3]=g+ +h[f+96>>3];h[i+24>>3]=r+w;f=2}if(!(s&8192))LR(a,i,i,f)|0;c[t+272>>2]=i;c[t+268>>2]=f}while(0);FT(NA(d,100333)|0);YR(a,d);return}function zJ(a){a=a|0;ZR(a);$H(a);return}function AJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=NA(e,141358)|0;i=NA(e,141404)|0;k=NA(e,141391)|0;hA(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=NA(e,111778)|0;g=bI(b,e,j)|0;if(!i)d=0;else d=hJ(i,e)|0;aI(b,h,f,d,k,g,e)|0;l6(d);lA(j);l=m;return}function BJ(b){b=b|0;var d=0,e=0;b=$O(b,c[47219]|0,195341)|0;a:do if(!(a[b>>0]|0))b=0;else{NI(b)|0;b=0;d=188404;while(1){e=c[d>>2]|0;if(!e)break a;e=(f2(e,111402)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function CJ(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function DJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=HK(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+I(+d)*a;h[g+(e<<4)+8>>3]=+J(+d)*b;d=f+d;e=e+1|0}return g|0}function EJ(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,DA(d,0,101811,0)|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=gC(d)|0;while(1){if(!e){e=0;break a}if((wJ(b,d,e)|0)<<24>>24){e=1;break a}e=hC(d,e)|0}}else e=0;else e=1;while(0);return e|0}function FJ(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);SR(a,b);return}function GJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;b=NA(b,141385)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){NI(b)|0;e=188404;b=0;while(1){g=e;while(1){f=c[g>>2]|0;if(!f){e=188404;break a}e=g+4|0;if(!(f2(f,111402)|0)){f=1;break}if(!(f2(f,106635)|0)){e=g;h=9;break}if(!(f2(f,106642)|0)){e=g;h=11;break}if(!(f2(f,106617)|0)){e=g;h=13;break}else g=e}if((h|0)==9)while(1){h=0;i=e;e=e+4|0;f=c[e>>2]|0;c[i>>2]=f;if(!f){e=g;f=3;break}else h=9}else if((h|0)==11)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=64;break}else h=11}else if((h|0)==13)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=4;break}else h=13}b=b|f}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function HJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(eI(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)dA(0,100716,i)|0;m=IK((D3(b)|0)+1|0)|0;c[d>>2]=m;O3(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((D3(m)|0)+1)|0;c[d+4>>2]=m;O3(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);fI(j);b=1}else{c[d>>2]=0;fI(j);b=0}l=k;return b|0}function IJ(a,b){a=a|0;b=b|0;TR(a,b);$H(a);return}function JJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+96|0;s=A+48|0;v=A+16|0;z=A+8|0;y=A;w=A+80|0;c[w>>2]=1e3;f=IK(16e3)|0;x=a+256|0;e=1;d=1;i=0;t=0;u=c[b+8>>2]|0;while(1){if((t|0)>=(c[b>>2]|0))break;p=c[u>>2]|0;k=u+80|0;m=f+8|0;q=u+8|0;n=q+4|0;a:do switch(p|0){case 1:case 0:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){B=+h[q>>3];j=+h[u+24>>3];h[f>>3]=B-j;o=+h[u+16>>3];r=+h[u+32>>3];h[m>>3]=o-r;h[f+16>>3]=B+j;h[f+24>>3]=o+r;kS(a,f,2,(p|0)==0?d:0)}break}case 3:case 2:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;lS(a,f,c[q>>2]|0,(c[u>>2]|0)==2?d:0)}break}case 5:case 4:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;nS(a,f,c[q>>2]|0,0,0,(c[u>>2]|0)==4?d&255:0)}break}case 6:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;oS(a,f,c[q>>2]|0)}break}case 7:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){h[f>>3]=+h[q>>3];h[m>>3]=+h[u+16>>3];q=c[u+112>>2]|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];eS(a,s,q)}break}case 8:{hS(a,c[q>>2]|0);d=1;break}case 9:{fS(a,c[q>>2]|0);d=1;break}case 13:{d=u+16|0;if((c[q>>2]|0)!=2){p=c[d+36>>2]|0;q=c[p+12>>2]|0;B=+g[p+8>>2];d=~~(+O(+(+h[u+40>>3]-+h[u+24>>3]),+(+h[u+32>>3]-+h[d>>3]))*180.0/3.141592653589793);hS(a,c[p+4>>2]|0);iS(a,q,d,B);d=2;break a}q=c[u+68>>2]|0;k=c[q+4>>2]|0;m=c[q+12>>2]|0;r=+g[q+8>>2];o=+h[u+40>>3];j=+h[d>>3];if(o==j?+h[u+48>>3]==+h[u+24>>3]:0)d=0;else d=~~(+L(+((j-o)/+h[u+32>>3]))*180.0/3.141592653589793);hS(a,k);iS(a,m,d,r);d=3;break}case 14:{dA(0,100782,y)|0;break}case 12:{if(!e)e=0;else{dA(0,100822,z)|0;e=0}break}case 11:{NI(c[q>>2]|0)|0;jS(a,188404);i=188404;break}default:{}}while(0);t=t+1|0;u=u+120|0}if(i|0)jS(a,c[(c[a>>2]|0)+336>>2]|0);l6(f);l=A;return}function KJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=KK(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function LJ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function MJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;MJ(b,e);d=NA(e,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,138032)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,141280)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,101719)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(e,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=f+1|0}return}function NJ(a){a=a|0;var b=0,d=0,e=0;b=c[47171]|0;if(!b){b=Sz(20672,c[4591]|0)|0;c[47171]=b}if(!(eb[c[b>>2]&63](b,a,4)|0)){d=c[47171]|0;e=c[d>>2]|0;b=Y3(a)|0;eb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PJ(a){a=a|0;var b=0;b=c[47172]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[47172]=b,(b|0)==0):0){L3(1,c[47173]|0)|0;l6(c[47173]|0)}}else{c[47172]=b+1;if(!b){c[47173]=Y3(L3(1,0)|0)|0;L3(1,153740)|0}}return}function QJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+96|0;s=v+72|0;r=v+56|0;q=v+48|0;u=v+32|0;t=v+24|0;f=v+8|0;e=v;if(a[195234]|0)RO();do if((RC(d,137786,0,1)|0)!=0?(p=d+16|0,(c[(c[p>>2]|0)+8>>2]|0)!=0):0){RJ(d);SJ(b,d);TJ(b,d);PJ(1);k=b+56|0;m=b+184|0;n=b+192|0;o=b+28|0;j=CF(b)|0;a:while(1){if(!j){i=33;break}e=c[k>>2]|0;f=j+20|0;if(!e){c[f>>2]=0;e=0}else{c[f>>2]=c[e+8>>2];e=c[e+12>>2]|0}c[j+24>>2]=e;c[j+12>>2]=b;c[j+28>>2]=c[m>>2];c[j+620>>2]=25812;c[j+624>>2]=c[6481];if(!(c[(c[p>>2]|0)+8>>2]|0)){i=13;break}f=j+52|0;i=HR(j,c[f>>2]|0)|0;c[j+56>>2]=i;switch(i|0){case 999:{i=16;break a}case 21:{e=1;break}case 24:{e=520;break}default:e=UJ(d)|0}g=j+152|0;c[g>>2]=c[g>>2]|e;e=c[n>>2]|0;do if(!e)i=24;else{if(c[e+152>>2]&32|0?(f2(c[f>>2]|0,c[e+52>>2]|0)|0)==0:0){e=c[47174]|0;if(!e){i=27;break}c[e+8>>2]=j;c[j+36>>2]=c[e+36>>2];i=29;break}JR(e);c[n>>2]=0;c[o>>2]=0;i=24}while(0);if((i|0)==24){c[47174]=0;i=27}if((i|0)==27?(i=0,(IR(j)|0)==0):0){c[n>>2]=j;i=29}if((i|0)==29){c[j+8>>2]=0;c[j+104>>2]=25928;VJ(j);WJ(j);XJ(j,d);YJ(j,d);ZJ(j,d);if(!(c[g>>2]&128))qI(j,d);c[47174]=j}j=DF(b)|0}if((i|0)==13){dA(1,100980,t)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;t=HB(d)|0;w=+SO();c[u>>2]=t;h[u+8>>3]=w;z4(e,100951,u)|0;e=-1;break}else if((i|0)==16){c[q>>2]=c[f>>2];dA(1,101001,q)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[r>>2]=u;h[r+8>>3]=w;z4(e,100951,r)|0;e=-1;break}else if((i|0)==33){PJ(0);if(!(a[195234]|0)){e=0;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[s>>2]=u;h[s+8>>3]=w;z4(e,100951,s)|0;e=0;break}}else i=5;while(0);if((i|0)==5){dA(1,100903,e)|0;if(!(a[195234]|0))e=-1;else{e=c[15715]|0;u=HB(d)|0;w=+SO();c[f>>2]=u;h[f+8>>3]=w;z4(e,100951,f)|0;e=-1}}l=v;return e|0}function RJ(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;cK(a,b);b=hC(a,b)|0}return}function SJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=NA(d,105797)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=q4(e,105804,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=NA(d,101403)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=q4(e,105804,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=101407;f=NA(d,101410)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[47195]=DA(d,0,101773,0)|0;c[47196]=DA(d,0,101764,0)|0;c[b+320>>2]=$O(0,c[47213]|0,108295)|0;h[b+328>>3]=+YO(0,c[47212]|0,14.0,1.0);c[b+336>>2]=20708;c[b+188>>2]=HB(d)|0;l=o;return}function TJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+304|0;f=c[e>>2]|0;if(f|0){l6(f);c[e>>2]=0}g=b+308|0;e=c[g>>2]|0;if(e|0){l6(e);c[g>>2]=0}h=b+316|0;e=c[h>>2]|0;if(e|0){l6(e);c[h>>2]=0}e=NA(d,101154)|0;f=b+312|0;if(e){c[f>>2]=aK(b,d,e)|0;e=NA(d,101161)|0;if(e|0?a[e>>0]|0:0)c[h>>2]=bK(b,e)|0}else{c[g>>2]=0;c[f>>2]=1}return}function UJ(b){b=b|0;var c=0;b=NA(b,101122)|0;a:do if(!b)b=0;else{c=b+1|0;switch(a[b>>0]|0){case 110:{if(!(f2(c,101134)|0))b=1;else{b=0;break a}break}case 101:{if(!(f2(c,101144)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}}while(0);return b|0}function VJ(b){b=b|0;var d=0,e=0.0,f=0;d=c[b>>2]|0;f=b+240|0;if(!(a[d+292>>0]|0)){if((c[b+56>>2]|0)==300)e=+h[(c[b+68>>2]|0)+8>>3];else e=4.0;h[b+248>>3]=e;h[f>>3]=e}else{b=d+216|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2]}return}function WJ(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=b+416|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=(c[b+84>>2]|0)+8|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[e>>3]=36.0;break a}default:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;break a}}else{d=d+200|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2]}while(0);return}function XJ(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];d=b+432|0;f=b+440|0;do if(!(e!=0.0)){if(g|0?a[g+128>>0]|0:0){g=g+112|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}if((c[b+56>>2]|0)==300){g=(c[b+84>>2]|0)+40|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}else{h[f>>3]=96.0;h[d>>3]=96.0;break}}else{h[f>>3]=e;h[d>>3]=e}while(0);return}function YJ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;u=B+80|0;v=B+56|0;t=B+40|0;w=B+32|0;x=B+24|0;y=B+16|0;z=B+8|0;A=B;m=c[b>>2]|0;p=+h[m+272>>3];r=+h[m+280>>3];q=+h[m+256>>3];s=+h[m+264>>3];f=+h[b+240>>3];e=q-f;h[b+208>>3]=e;i=+h[b+248>>3];j=s-i;h[b+216>>3]=j;f=p+f;h[b+224>>3]=f;i=r+i;h[b+232>>3]=i;e=f-e;j=i-j;h[y>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}o=i/e<k/f;i=(o?i:k)/(o?e:f);h[y>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+q)*.5;h[z>>3]=f;e=(r+s)*.5;h[A>>3]=e;c[b+360>>2]=c[m+288>>2];k=k*i;h[w>>3]=k;j=j*i;h[x>>3]=j;o=NA(d,101053)|0;if(o){m=k6((D3(o)|0)+1|0)|0;n=k6((D3(o)|0)+1|0)|0;c[t>>2]=w;c[t+4>>2]=x;c[t+8>>2]=y;c[t+12>>2]=m;g=d+60|0;do if((q4(o,101062,t)|0)==4){g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}else{c[v>>2]=w;c[v+4>>2]=x;c[v+8>>2]=y;c[v+12>>2]=m;c[v+16>>2]=n;if((q4(o,101082,v)|0)!=4){c[u>>2]=w;c[u+4>>2]=x;c[u+8>>2]=y;c[u+12>>2]=z;c[u+16>>2]=A;q4(o,101102,u)|0;break}g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}while(0);l6(m);l6(n);k=+h[w>>3];j=+h[x>>3];i=+h[y>>3];f=+h[z>>3];e=+h[A>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=B;return}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+224|0;J=M+200|0;x=M+176|0;C=M+152|0;G=M+120|0;D=M+96|0;F=M+80|0;e=M+184|0;t=M+168|0;u=M+144|0;w=M+136|0;v=M+112|0;y=M+64|0;z=M+48|0;A=M+32|0;B=M+16|0;K=M+8|0;L=M;s=c[b>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;H=b+368|0;c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(e,J);c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2]}E=b+416|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[E+4>>2];c[D+8>>2]=c[E+8>>2];c[D+12>>2]=c[E+12>>2];E=D+8|0;I=G+8|0;q=C+8|0;o=b+204|0;f=b+164|0;i=b+168|0;if((a[s+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){m=+h[s+232>>3]-+h[D>>3]*2.0;h[C>>3]=m;k=+h[s+240>>3]-+h[E>>3]*2.0;h[q>>3]=k;if(!(m<.0001)){p=+h[G>>3];e=~~(p/m);c[f>>2]=e;if(p-m*+(e|0)>.0001){e=e+1|0;r=8}}else{e=1;r=8}if((r|0)==8)c[f>>2]=e;j=+h[I>>3];if(!(k<.0001)){f=~~(j/k);c[i>>2]=f;if(j-k*+(f|0)>.0001){f=f+1|0;r=12}}else{f=1;r=12}if((r|0)==12)c[i>>2]=f;c[o>>2]=S(f,e)|0;g=+h[(+h[G>>3]<m?G:C)>>3];h[G>>3]=g;e=G;j=+h[(j<k?G:C)+8>>3];r=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;g=+h[e+24>>3]-+h[D>>3]*2.0;g=g<0.0?0.0:g;h[C>>3]=g;p=+h[e+32>>3]-+h[E>>3]*2.0;h[q>>3]=p;if(p<0.0){e=q;r=17}else j=g}else{h[q>>3]=0.0;e=C;r=17}if((r|0)==17){h[e>>3]=0.0;j=+h[C>>3]}c[o>>2]=1;c[i>>2]=1;c[f>>2]=1;g=+h[G>>3];if(j<g){h[C>>3]=g;m=g}else m=j;j=+h[q>>3];k=+h[I>>3];if(j<k){e=C;j=k;r=21}else p=j}if((r|0)==21){h[e+8>>3]=j;p=+h[q>>3]}n=+h[D>>3];q=b+432|0;k=+h[q>>3]*(m+n*2.0)/72.0;c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));k=+h[E>>3];r=b+440|0;j=+h[r>>3]*(p+k*2.0)/72.0;c[b+452>>2]=~~(j+(j>=0.0?.5:-.5));i=b+188|0;o=b+180|0;e=b+172|0;f=s+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;$J(t,b,a[c[f>>2]>>0]|0);s=t;t=c[s+4>>2]|0;e=o;c[e>>2]=c[s>>2];c[e+4>>2]=t;$J(u,b,a[(c[f>>2]|0)+1>>0]|0);e=u;u=c[e>>2]|0;e=c[e+4>>2]|0;t=i;c[t>>2]=u;c[t+4>>2]=e;u=u+(c[o>>2]|0)|0;if(!((((u|0)>-1?u:0-u|0)|0)==1?(u=e+(c[b+184>>2]|0)|0,(((u|0)>-1?u:0-u|0)|0)==1):0)){$J(w,b,66);t=w;w=c[t+4>>2]|0;u=o;c[u>>2]=c[t>>2];c[u+4>>2]=w;$J(v,b,76);u=v;v=c[u+4>>2]|0;w=i;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[x>>2]=c[f>>2];dA(0,101033,x)|0}e=F+8|0;if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(m>g){m=(m-g)*.5;h[F>>3]=m}else m=0.0;j=+h[I>>3];if(p>j){j=(p-j)*.5;h[e>>3]=j}else j=0.0}else{j=0.0;m=0.0}if(!(c[H>>2]|0))i=1;else{c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(y,J);c[G>>2]=c[y>>2];c[G+4>>2]=c[y+4>>2];c[G+8>>2]=c[y+8>>2];c[G+12>>2]=c[y+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];_J(z,J);c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];_J(A,J);c[D>>2]=c[A>>2];c[D+4>>2]=c[A+4>>2];c[D+8>>2]=c[A+8>>2];c[D+12>>2]=c[A+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];_J(B,J);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2];n=+h[D>>3];m=+h[F>>3];k=+h[E>>3];j=+h[e>>3];g=+h[G>>3];i=(c[H>>2]|0)==0}n=n+m;h[b+384>>3]=n;j=k+j;h[b+392>>3]=j;m=n+g;h[b+400>>3]=m;N=+h[I>>3];p=j+N;h[b+408>>3]=p;k=+h[b+352>>3];h[b+320>>3]=g/k;h[b+328>>3]=N/k;k=+h[q>>3];n=n*k/72.0;f=b+456|0;c[f>>2]=~~(n+(n>=0.0?.5:-.5));n=+h[r>>3];j=j*n/72.0;c[b+460>>2]=~~(j+(j>=0.0?.5:-.5));m=k*m/72.0;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));p=n*p/72.0;c[b+468>>2]=~~(p+(p>=0.0?.5:-.5));if(!i){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];LJ(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];LJ(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function _J(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function $J(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function aK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=NA(d,101274)|0;i=b+296|0;c[i>>2]=(f|0)==0?101283:f;d=NA(d,101287)|0;f=b+300|0;d=(d|0)==0?101300:d;c[f>>2]=d;d=h6(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];dA(0,101302,g)|0;c[f>>2]=195341}d=Y3(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=i6(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;b=f<<2;if(!d)d=IK(b)|0;else d=KK(d,b)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=KK(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function bK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=a+312|0;d=IK((c[j>>2]<<2)+8|0)|0;e=0;i=1;while(1){g=c[j>>2]|0;h=e+1|0;f=d+(h<<2)|0;if((i|0)>(g|0))break;if((sJ(a,i,g,b)|0)<<24>>24){c[f>>2]=i;e=h}i=i+1|0}if(!e){c[k>>2]=b;dA(0,101173,k)|0;l6(d);d=0}else{c[d>>2]=e;c[f>>2]=(c[j>>2]|0)+1}l=m;return d|0}function cK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];f=+h[d+24>>3];e=+h[d+80>>3]*.5;h[d+56>>3]=f-e;h[d+64>>3]=g+ +h[d+96>>3];h[d+72>>3]=f+e;b=UA(a,b)|0;while(1){if(!b)break;dK(b);b=WA(a,b)|0}return}function dK(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)eK(a);return}function eK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)Aa(101441,100207,3994,101455);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function fK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)Aa(101471,100207,3968,101483);if(((k>>>0)%3|0|0)!=1)Aa(101493,100207,3969,101483);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;o=+h[d+(b<<4)+8>>3];t=b+1|0;p=+h[d+(t<<4)+8>>3];r=(+h[d+(b<<4)>>3]+ +h[d+(t<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;t=+h[a>>3];u=+h[c>>3];o=t>=u;q=c+8|0;r=c+16|0;m=a+8|0;s=c+24|0;if((o?t<=+h[r>>3]:0)?(d=+h[m>>3],d>=+h[q>>3]):0)c=d<=+h[s>>3];else c=0;d=+h[b>>3];j=d>=u;a=b+8|0;if((j?d<=+h[r>>3]:0)?(e=+h[a>>3],e>=+h[q>>3]):0){a=e<=+h[s>>3];if(!(c^a))if(c&a)a=1;else{n=e;p=12}else a=0}else if(c)a=0;else{n=+h[a>>3];p=12}a:do if((p|0)==12){l=+h[m>>3];do if(t==d){u=+h[q>>3];if(o&(l>=u^n>=u)?t<=+h[r>>3]:0){a=0;break a}}else{if(l==n){if(!(o^j))break;if(!(l>=+h[q>>3]))break;if(!(l<=+h[s>>3]))break;else{a=0;break a}}k=(n-l)/(d-t);p=t<d;f=p?t:d;d=p?d:t;e=l+(u-t)*k;i=+h[q>>3];if(!(!(u>=f)|!(u<=d)|!(e>=i))?e<=+h[s>>3]:0){a=0;break a}g=+h[r>>3];e=e+k*(g-u);if(e>=i?!(!(g<=d)|(g>=f?!(e<=+h[s>>3]):1)):0){a=0;break a}r=l<n;f=r?l:n;e=r?n:l;d=t+(i-l)/k;if(!(!(i<=e)|(!(i>=f)|(!(d>=u)|!(d<=g))))){a=0;break a}n=+h[s>>3];t=d+(n-i)/k;if(!(!(n<=e)|(!(n>=f)|(!(t>=u)|!(t<=g))))){a=0;break a}}while(0);a=-1}while(0);return a|0}function hK(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function iK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[47175]|0)!=(d|0)){X3(+(d|0)/6.283185307179586,186496,186504);c[47175]=d}f=+h[b>>3];i=+h[23313];g=+h[b+8>>3];e=+h[23312];h[a>>3]=f*i-g*e;h[a+8>>3]=i*g+f*e;return}function jK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];jK(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iK(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function kK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;e=+h[b>>3];j=b+8|0;f=+h[j>>3];i=-f;a:do switch(d|0){case 0:{k=10;break}case 90:{f=i;k=8;break}case 180:{e=i;k=9;break}case 270:{k=8;break}default:{if((d|0)<0){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];jK(a,g,0-d|0);break a}if((d|0)>360){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(a,g,(d>>>0)%360|0);break a}else{c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];iK(a,g,360-d|0);break a}}}while(0);if((k|0)==8){h[b>>3]=f;k=9}if((k|0)==9){h[j>>3]=e;k=10}if((k|0)==10){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=m;return}function lK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=+h[b>>3]+d;e=+h[b+24>>3]+g;d=+h[b+16>>3]+d;h[a>>3]=+h[b+8>>3]+g;h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];e=+h[b>>3]-f;g=+h[a+8>>3];d=+h[b+8>>3]-g;f=e*(+h[c+8>>3]-g)-d*(+h[c>>3]-f);f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=NA(a,b)|0;if(a|0?(c[f>>2]=e,(q4(a,101510,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function oK(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=HK(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=NA(b,101514)|0;if(!e){e=Na(101523)|0;if(e|0)k=3}else k=3;if((k|0)==3)za(101535,e|0,1)|0;e=(pK(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if((c[47179]|0)==0?(e=NA(b,101546)|0,c[47178]=e,(e|0)==0):0)c[47178]=c[47177];f=+YO(b,DA(b,0,101556,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=NA(b,101564)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(f2(e,101572)|0)){e=1;break a}break}case 66:{if(!(f2(e,101575)|0)){e=2;break a}break}case 82:{e=(f2(e,101578)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+YO(b,DA(b,0,101581,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=_O(b,DA(b,0,101589,0)|0,0)|0;if(e){c[g>>2]=i;if(q4(e,101510,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(C4(e,101597)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(XO(b,DA(b,0,101605,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=nP(_O(b,DA(b,0,101615,0)|0,0)|0,20724,20740)|0;c[(c[m>>2]|0)+244>>2]=i;qK(b);i=rK(b,101625,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;rK(b,101630,e+48|0)|0;e=bP(NA(b,101635)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=NA(b,101642)|0;do if(!e){e=NA(b,101649)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=NA(b,101661)|0;if(e|0){e=bP(e)|0;k=27}}else{e=(d6(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[47182]=nP(NA(b,101671)|0,20756,20772)|0;a[195236]=bP(NA(b,101683)|0)|0;c[47185]=0;c[47186]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=NA(b,101695)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=NA(b,101699)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+a6(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}sK(b);h[23316]=1.e+37;c[47194]=DA(b,0,101710,0)|0;c[47197]=DA(b,0,141337,0)|0;c[47198]=DA(b,0,105797,0)|0;c[47199]=DA(b,1,141351,0)|0;c[47200]=DA(b,1,141419,0)|0;c[47201]=DA(b,1,108531,0)|0;c[47202]=DA(b,1,141126,0)|0;c[47203]=DA(b,1,101719,0)|0;c[47219]=DA(b,1,141385,0)|0;c[47212]=DA(b,1,101729,0)|0;c[47213]=DA(b,1,101738,0)|0;c[47214]=DA(b,1,101747,0)|0;k=DA(b,1,108525,0)|0;c[47216]=k;if(!k)c[47216]=DA(b,1,108525,105794)|0;c[47217]=DA(b,1,101757,0)|0;c[47220]=DA(b,1,101605,0)|0;c[47234]=DA(b,1,101764,0)|0;c[47223]=DA(b,1,101710,0)|0;c[47215]=DA(b,1,105797,0)|0;c[47221]=DA(b,1,141379,0)|0;c[47222]=DA(b,1,101773,0)|0;c[47225]=DA(b,1,101785,0)|0;c[47224]=DA(b,1,101649,0)|0;c[47226]=DA(b,1,101790,0)|0;c[47227]=DA(b,1,141327,0)|0;c[47228]=DA(b,1,137598,0)|0;c[47218]=DA(b,1,101801,0)|0;c[47229]=DA(b,1,101811,0)|0;c[47230]=DA(b,1,101817,0)|0;c[47231]=DA(b,1,101823,0)|0;c[47232]=DA(b,1,101831,0)|0;c[47233]=DA(b,1,101840,0)|0;c[47235]=DA(b,1,141337,0)|0;c[47236]=DA(b,2,101842,0)|0;c[47238]=DA(b,2,141126,0)|0;c[47239]=DA(b,2,101719,0)|0;c[47248]=DA(b,2,101729,0)|0;c[47249]=DA(b,2,101738,0)|0;c[47250]=DA(b,2,101747,0)|0;c[47251]=DA(b,2,108525,0)|0;c[47252]=DA(b,2,101757,0)|0;c[47261]=DA(b,2,101849,0)|0;c[47253]=DA(b,2,101860,0)|0;c[47264]=DA(b,2,101864,0)|0;c[47265]=DA(b,2,101874,0)|0;c[47266]=DA(b,2,101884,0)|0;c[47267]=DA(b,2,101894,0)|0;c[47268]=DA(b,2,101904,0)|0;c[47269]=DA(b,2,101918,0)|0;c[47270]=DA(b,2,101932,0)|0;c[47271]=DA(b,2,101947,0)|0;c[47272]=DA(b,2,101961,0)|0;c[47237]=DA(b,2,101972,0)|0;c[47256]=DA(b,2,101605,0)|0;c[47254]=DA(b,2,141385,0)|0;c[47255]=DA(b,2,101979,0)|0;c[47257]=DA(b,2,101988,0)|0;c[47258]=DA(b,2,101998,0)|0;c[47259]=DA(b,2,101811,0)|0;c[47260]=DA(b,2,101823,0)|0;c[47273]=DA(b,2,102009,0)|0;c[47274]=DA(b,2,102018,0)|0;c[47275]=DA(b,2,101764,0)|0;e=ZH(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=NA(b,141363)|0;if(e|0?a[e>>0]|0:0){b=CK(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function pK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=$O(a,DA(a,0,102108,0)|0,102116)|0;if(((((((C3(a,102122)|0)!=0?(C3(a,102130)|0)!=0:0)?(C3(a,102137)|0)!=0:0)?(C3(a,102140)|0)!=0:0)?(C3(a,102151)|0)!=0:0)?(C3(a,102162)|0)!=0:0)?(C3(a,102172)|0)!=0:0)if((C3(a,102183)|0)!=0?(C3(a,102189)|0)!=0:0)if((C3(a,102116)|0)!=0?(C3(a,102194)|0)!=0:0){c[b>>2]=a;dA(0,102199,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function qK(b){b=b|0;var d=0.0,e=0,f=0;e=NA(b,102066)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0){b=b+16|0;switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(f2(e,102072)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(f2(e,102077)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(f2(e,102086)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(f2(e,102093)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+a6(e);if(!(d>0.0))break a;f=c[(c[b>>2]|0)+8>>2]|0;c[f+84>>2]=1;h[f+16>>3]=d;break a}}}while(0);return}function rK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;d=NA(b,d)|0;do if(d){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(q4(d,102050,i)|0)>1;g=+h[k>>3];f=+h[j>>3];b=e+8|0;if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[b>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(q4(d,102060,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[b>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function sK(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0;d=NA(b,108525)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(gD(d)|0)!=0;i=+YO(b,DA(b,0,101729,0)|0,14.0,1.0);j=$O(b,DA(b,0,101738,0)|0,108295)|0;d=xK(b,d,e?2:0,i,j,$O(b,DA(b,0,101747,0)|0,137615)|0)|0;j=b+16|0;c[(c[j>>2]|0)+12>>2]=d;d=NA(b,105929)|0;e=(d|0)!=0;do if((vC(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=NA(b,102027)|0;a:do if(e){f=d&255;switch(a[e>>0]|0){case 108:{d=(f|2)&255;break a}case 114:{d=(f|4)&255;break a}default:break a}}while(0);a[(c[j>>2]|0)+275>>0]=d;if((vC(b)|0)!=(b|0)){d=c[(c[j>>2]|0)+12>>2]|0;g=+h[d+24>>3]+16.0;i=+h[d+32>>3]+8.0;b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[j>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=i;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=i;h[d+48+(b<<4)+8>>3]=g;break}}}while(0);return}function tK(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){CH(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}l6(c[b+92>>2]|0);b=c[e>>2]|0}while(0);l6(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;AK(c[e+12>>2]|0);XC(a,0,137786);return}function uK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=102272;break}case 1:{a=102140;break}case 2:{a=102278;break}default:{c[b>>2]=a;dA(1,102242,b)|0;a=102272}}l=d;return a|0}function vK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d>>2]|0;m=d+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;if(a[f>>0]|0){g=IK((D3(f)|0)+1|0)|0;a[g>>0]=0;k=d+12|0;e=g;a:while(1){b:while(1){i=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24))break a;j=e+1|0;f=f+2|0;if(!(h<<24>>24==-1|((h&255)<161|(c[k>>2]|0)!=2))){a[e>>0]=h;i=a[i>>0]|0;e=e+2|0;a[j>>0]=i;if(!(i<<24>>24))break a;else continue}switch(h<<24>>24){case 92:break b;case 10:{l=12;break b}default:{}}a[e>>0]=h;e=j;f=i}if((l|0)==12){l=0;a[e>>0]=0;wK(b,d,g,110);e=j;g=j;f=i;continue}h=a[i>>0]|0;switch(h<<24>>24|0){case 114:case 108:case 110:{a[e>>0]=0;wK(b,d,g,a[i>>0]|0);g=j;break}default:a[e>>0]=h}e=j;f=(a[i>>0]|0)==0?i:f}if((g|0)!=(e|0)){a[e>>0]=0;wK(b,d,g,110)}d=d+40|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2]}return}function wK(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;r=t+16|0;q=t;s=e+76|0;m=b[s>>1]|0;o=e+72|0;n=c[o>>2]|0;i=m+2|0;if(!n)p=HK(i*56|0)|0;else p=JK(n,i,56,m+1|0)|0;c[o>>2]=p;i=b[s>>1]|0;m=i<<16>>16;n=p+(m*56|0)|0;c[n>>2]=f;a[p+(m*56|0)+48>>0]=g;j=+h[e+16>>3];if((f|0)!=0?(a[f>>0]|0)!=0:0){c[46636]=c[e+4>>2];h[23320]=j;i=c[d+144>>2]|0;c[p+(m*56|0)+4>>2]=eb[c[i>>2]&63](i,186544,1)|0;JO(q,d,n);k=+h[q>>3];h[r>>3]=k;j=+h[q+8>>3];i=b[s>>1]|0}else{h[r>>3]=0.0;j=+(~~(j*1.2)|0);h[p+(m*56|0)+40>>3]=j;k=0.0}b[s>>1]=i+1<<16>>16;s=e+24|0;h[s>>3]=+h[(+h[s>>3]>k?s:r)>>3];s=e+32|0;h[s>>3]=j+ +h[s>>3];l=t;return}function xK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=HK(88)|0;switch(FC(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=vC(uC(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=vC(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=Y3(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=Y3(e)|0;a[t+82>>0]=1;if(!(zU(b,t)|0))break a;switch(FC(b)|0){case 0:{c[p>>2]=HB(n)|0;dA(3,102284,p)|0;break a}case 1:{c[q>>2]=HB(o)|0;dA(3,102306,q)|0;break a}case 2:{p=HB(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(uB(s)|0)!=0;s=HB(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?138041:142050;c[r+8>>2]=s;dA(3,102327,r)|0;break a}default:break a}}case 0:{i=yK(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=cQ(i)|0;else i=$P(i,s)|0;l6(c[t>>2]|0);c[t>>2]=i;vK(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:Aa(102354,102370,166,102379)}while(0);l=u;return t|0}function yK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=(b|0)!=0;switch(FC(d)|0){case 0:{i=HB(d)|0;g=D3(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 1:{i=HB(uC(d)|0)|0;g=D3(i)|0;j=HB(d)|0;h=D3(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 2:{h=d+48|0;i=HB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=D3(i)|0;l=HB(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=D3(l)|0;f=d+16|0;r=c[(c[f>>2]|0)+52>>2]|0;if(!r)p=0;else p=D3(r)|0;n=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)q=0;else q=D3(o)|0;j=D3(n)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(m)m=D3(f)|0;else m=2}else{m=2;f=102390}x=(uB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(p|0?p+1|0:0)+j+(q|0?q+1|0:0)|0;h=2;y=l;j=105794;w=f;x=x?142050:138041;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=102402;n=102399;j=105794;i=102393;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}}e=(e|0)!=0;k=0;f=b;a:while(1){d=f+1|0;l=k+1|0;switch(a[f>>0]|0){case 0:break a;case 92:break;default:{k=l;f=d;continue a}}f=f+2|0;switch(a[d>>0]|0){case 71:{k=k+g|0;continue a}case 78:{k=k+h|0;continue a}case 69:{k=k+s|0;continue a}case 72:{k=k+u|0;continue a}case 84:{k=k+t|0;continue a}case 76:{k=k+m|0;continue a}case 92:{if(e){k=l;continue a}break}default:{}}k=k+2|0}t=IK(l)|0;s=(v|0)==0;p=(p|0)==0;m=(q|0)==0;f=t;g=b;b:while(1){k=g+1|0;h=a[g>>0]|0;if(!(h<<24>>24))break;d=f+1|0;if(h<<24>>24!=92){a[f>>0]=h;f=d;g=k;continue}l=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 69:{if(s){g=l;continue b}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}c:do if(p)g=x;else{a[f>>0]=58;g=r;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break c}g=g+1|0;f=f+1|0}}while(0);while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=n;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}if(m){g=l;continue b}a[f>>0]=58;g=o;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 72:{g=n;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 92:{if(e){a[f>>0]=92;f=d;g=l;continue b}break}default:{}}a[f>>0]=92;a[d>>0]=g;f=f+2|0;g=l}a[f>>0]=0;return t|0}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)l6(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)db[f&127](g);d=d+56|0;e=e+1|0}l6(a)}return}function AK(d){d=d|0;var e=0;if(d|0){l6(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)kU(e,1)}else zK(c[e>>2]|0,b[d+76>>1]|0);l6(d)}return}function BK(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;m=c[d+16>>2]|0;s=m+12|0;t=c[s>>2]|0;c[s>>2]=e;o=f+72|0;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){cS(d,0);fS(d,c[f+8>>2]|0);e=f+64|0;i=f+48|0;j=f+32|0;switch(a[f+80>>0]|0){case 116:{k=+h[e>>3];g=k+ +h[i>>3]*.5;break}case 98:{k=+h[e>>3];g=+h[j>>3]+(k-+h[i>>3]*.5);break}default:{k=+h[e>>3];g=k+ +h[j>>3]*.5}}g=g-+h[f+16>>3];n=r+8|0;h[n>>3]=g;if(b[m+260>>1]&512)h[n>>3]=g-k;m=f+40|0;i=f+56|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;f=c[o>>2]|0;j=f+(e*56|0)|0;switch(a[f+(e*56|0)+48>>0]|0){case 108:{g=+h[i>>3]-+h[m>>3]*.5;break}case 114:{g=+h[i>>3]+ +h[m>>3]*.5;break}default:g=+h[i>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];eS(d,q,j);h[n>>3]=+h[n>>3]-+h[(c[o>>2]|0)+(e*56|0)+40>>3];e=e+1|0}dS(d);i=18}}else{RT(d,c[o>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function CK(a,b){a=a|0;b=b|0;return yK(a,b,1)|0}function DK(a){a=a|0;return EK(a,0)|0}function EK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[47276]|0;if(!e){c[47277]=64;e=IK(64)|0;c[47276]=e}j=d<<24>>24!=0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[47277]|0;if((i|0)>(b+-8|0)){e=b<<1;c[47277]=e;e=KK(c[47276]|0,e)|0;c[47276]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(!j?(FK(h)|0)!=0:0)k=19;else{f=5;d=102431}break}case 60:{f=4;d=102454;break}case 62:{f=4;d=102437;break}case 45:{f=5;d=102448;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=102424;break a}else{k=19;break a}switch(d<<24>>24){case 34:{f=6;d=102411;break a}case 39:{f=5;d=102442;break a}case 10:if(j){f=5;d=102418;break a}else{k=19;break a}case 13:if(j){f=5;d=102405;break a}else{k=19;break a}default:{k=19;break a}}}}while(0);if((k|0)==19){k=0;f=1;d=h}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[47276]|0}function FK(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function GK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[47278]|0;if(!d){c[47279]=64;d=IK(64)|0;c[47278]=d;i=0;h=b}else{i=0;h=b}while(1){if(!h)break;b=a[h>>0]|0;if(!(b<<24>>24))break;e=c[47279]|0;if((i|0)>(e+-8|0)){d=e<<1;c[47279]=d;d=KK(c[47278]|0,d)|0;c[47278]=d;d=d+i|0;b=a[h>>0]|0}switch(b<<24>>24){case 38:{if(!(FK(h)|0)){f=5;b=102431}else j=12;break}case 60:{f=4;b=102454;break}case 62:{f=4;b=102437;break}case 34:{f=6;b=102411;break}case 39:{f=5;b=102442;break}default:j=12}if((j|0)==12){j=0;f=1;b=h}g=d+f|0;e=f;while(1){if(!e)break;a[d>>0]=a[b>>0]|0;e=e+-1|0;b=b+1|0;d=d+1|0}i=f+i|0;d=g;h=h+1|0}a[d>>0]=0;return c[47278]|0}function HK(a){a=a|0;var b=0;if(!a)a=0;else{b=IK(a)|0;u6(b|0,0,a|0)|0;a=b}return a|0}function IK(a){a=a|0;if(a){a=k6(a)|0;if(!a){_3(112041,14,1,c[15715]|0)|0;a=0}}else a=0;return a|0}function JK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=n6(a,S(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)u6(a+(S(e,d)|0)|0,0,S(b-e|0,d)|0)|0}else _3(112041,14,1,c[15715]|0)|0;return a|0}function KK(a,b){a=a|0;b=b|0;a=n6(a,b)|0;if((b|0)!=0&(a|0)==0)_3(112041,14,1,c[15715]|0)|0;return a|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;s=v+40|0;r=v+32|0;q=v+24|0;n=v;t=4;u=k6(40)|0;c[u>>2]=0;g=v+68|0;i=v+64|0;if(a[195234]|0){o=0;na(62,b|0,g|0,i|0);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)!=1){k=c[15715]|0;j=c[g>>2]|0;g=c[i>>2]|0;o=0;c[n>>2]=102503;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=d;aa(35,k|0,102459,n|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1){o=0;oa(1);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1)k=6;else{g=D;k=15}}else{g=D;k=15}}else{g=D;k=15}}else k=6;do if((k|0)==6){o=0;g=la(27,b|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)!=1){if(!g){o=0;oa(2);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}}if((e|0)<1){o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;break}else{c[47280]=(f|0)>-1?f:30;u=x6(189124,1,u|0,t|0)|0;t=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;k=15;break}}else{g=D;k=15}}while(0);a:do if((k|0)==15){b:while(1){if(g|0){g=2;break a}o=0;oa(4);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}b=c[15715]|0;n=0;while(1){o=0;k=ea(2)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}if(!k)break;o=0;g=la(28,k|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}o=0;ha(25,k|0,g|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}n=n+1|0;do if(((n|0)%100|0|0)==0&(a[195234]|0)!=0){g=(n|0)%1e3|0;if((g|0)==100){o=0;ra(93,102503,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;c[q>>2]=n;aa(35,b|0,102521,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}o=0;c[r>>2]=n;aa(35,b|0,102521,r|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}if(!g){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}while(0);if((n|0)>=(e|0))break}switch(d|0){case 1:{o=0;oa(5);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}case 2:{o=0;oa(6);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}default:{o=0;oa(7);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}if(!(a[195234]|0)){g=0;break a}if((n|0)>99){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}}g=c[47320]|0;i=c[47321]|0;o=0;m=+ca(1);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)==1){g=D;k=15;continue}o=0;c[s>>2]=102503;c[s+4>>2]=g;c[s+8>>2]=i;c[s+12>>2]=n;h[s+16>>3]=m;aa(35,b|0,102525,s|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15}else break}g=0}while(0);l6(u|0);l=v;return g|0}function MK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function NK(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[47324]=b;c[47331]=0;c[47321]=0;c[47320]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[47320]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[47321]=k;b=b+1|0;f=k}b=g+164|0}b=c[47332]|0;if(!b)b=IK(h<<2)|0;else b=KK(b,h<<2)|0;c[47332]=b;c[47333]=0;b=c[47326]|0;d=c[47320]<<2;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[47326]=b;c[47325]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;h=c[k>>2]|0;i=h+292|0;c[i>>2]=0;h=c[h+172>>2]|0;j=d;b=0;d=0;while(1){g=c[h+(b<<2)>>2]|0;b=b+1|0;if(!g)break;d=d+1|0;c[i>>2]=d;f=c[g+16>>2]|0;c[f+160>>2]=0;c[f+164>>2]=-1;if(!j){j=0;continue}l=c[g>>2]&3;j=((c[(c[(c[((l|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[f+170>>1]|0|0)?0:j}b=HK(b<<2)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=HK(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=j;b=b+164|0}return d|0}function OK(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=TO(c[47320]|0)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){VO(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=WO(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(e[(c[g+16>>2]|0)+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){VO(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[47320]|0)){dA(1,102857,k)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=HB(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;dA(3,102879,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);UO(m);l=o;return}function PK(){var b=0,d=0,e=0;b=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function QK(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=HK(c[47320]<<2)|0;e=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=bL(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=cL(f,e)|0;while(1){if((dL(a)|0)<=1)break;hL(a,c[(gL(fL(eL(a)|0)|0)|0)+8>>2]|0)}l6(a);a=0;while(1){if((a|0)>=(e|0))break;l6(c[f+(a<<2)>>2]|0);a=a+1|0}l6(f);if((c[47325]|0)==((c[47320]|0)+-1|0)){iL();return}else Aa(102602,102632,523,102637)}function RK(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[47331]|0;f=c[47325]|0;j=c[47326]|0;k=c[47280]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[47331]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[47331]=f}return a|0}function SK(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[47327]=0;c[47328]=2147483647;d=c[a+16>>2]|0;c[47329]=c[d+284>>2];c[47330]=c[d+288>>2];if(b)aL(a);else $K(a);return c[47327]|0}function TK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=c[b>>2]&3;n=b+-48|0;k=b+48|0;m=b+16|0;h=(c[(c[(c[((h|0)==2?b:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?b:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[m>>2]|0)+170>>1]|0)|0;do if((h|0)>0){d=c[a>>2]&3;i=c[((d|0)==3?a:a+48|0)+40>>2]|0;j=c[i+16>>2]|0;if(((c[j+276>>2]|0)+(c[j+268>>2]|0)|0)==1){XK(i,h);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;g=0-h|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){XK(d,g);break}if((c[j+288>>2]|0)<(c[f+288>>2]|0)){XK(i,h);break}else{XK(d,g);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=YK(c[((g|0)==3?b:k)+40>>2]|0,c[((g|0)==2?b:n)+40>>2]|0,f,1)|0;j=c[b>>2]&3;if((YK(c[((j|0)==2?b:n)+40>>2]|0,c[((j|0)==3?b:k)+40>>2]|0,f,0)|0)==(g|0)){c[(c[m>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;ZK(a,b);o=c[g+16>>2]|0;_K(g,c[o+280>>2]|0,c[o+284>>2]|0)|0;l=p;return}else{dA(1,102563,o)|0;Ca(189124,1)}}function UK(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;WK();n=HK((c[47323]<<2)+4|0)|0;d=c[47323]|0;b=0;while(1){if((b|0)>(d|0))break;c[n+(b<<2)>>2]=0;b=b+1|0}b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;d=b;while(1){if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){m=n+(c[d+232>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1}d=c[d+164>>2]|0}while(1){if(!b)break;m=b+16|0;b=c[m>>2]|0;if(!(a[b+156>>0]|0)){h=c[47323]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;i=c[g+16>>2]|0;l=(e[i+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;k=(c[i+156>>2]|0)+k|0;j=(j|0)>(l|0)?j:l;d=d+1|0}g=c[b+180>>2]|0;i=0;l=h;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;h=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;l=(l|0)<(h|0)?l:h;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){h=d;f=d;while(1){d=f+1|0;g=n+(h<<2)|0;if((f|0)>=(l|0))break;h=(c[n+(d<<2)>>2]|0)<(c[g>>2]|0)?d:h;f=d}o=b+232|0;l=n+(c[o>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=h}d=c[b+264>>2]|0;if(d){l6(d);b=c[m>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[m>>2]|0}a[b+157>>0]=0}b=c[b+164>>2]|0}l6(n);return}function VK(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[47325]|0))break;a=c[(c[47326]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=SK(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){XK(g,f>>>1);break}else{XK(a,(f|0)/-2|0);break}}while(0);b=b+1|0}PK();return}function WK(){var b=0,d=0,e=0,f=0,g=0;c[47322]=2147483647;c[47323]=-2147483647;b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;e=b;d=2147483647;f=-2147483647;while(1){if(!e)break;e=c[e+16>>2]|0;if(!(a[e+156>>0]|0)){g=c[e+232>>2]|0;d=(d|0)<(g|0)?d:g;c[47322]=d;f=(f|0)>(g|0)?f:g;c[47323]=f}e=c[e+164>>2]|0}if(d|0){while(1){if(!b)break;g=c[b+16>>2]|0;e=g+232|0;c[e>>2]=(c[e>>2]|0)-d;b=c[g+164>>2]|0}c[47323]=f-d;c[47322]=0}return}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function YK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function ZK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+16|0;h=(c[e>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[h>>2];c[(c[47326]|0)+(c[h>>2]<<2)>>2]=b;c[(c[e>>2]|0)+164>>2]=-1;e=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+276|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+272>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+272>>2]|0)+(g<<2)>>2]=0;e=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+268|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+264>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+264>>2]|0)+(g<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;i=c[a>>2]|0;h=c[i+272>>2]|0;i=i+276|0;g=c[i>>2]|0;c[i>>2]=g+1;c[h+(g<<2)>>2]=b;a=c[a>>2]|0;c[(c[a+272>>2]|0)+(c[a+276>>2]<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;g=c[a>>2]|0;h=c[g+264>>2]|0;g=g+268|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=b;b=c[a>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;return}function _K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function $K(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+180>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==2?i:i+-48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[g+232>>2]|0)-(c[(c[(c[((d|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))$K(f);b=b+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){$K(b);a=c[l>>2]|0}d=d+1|0}return}function aL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+172>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==3?i:i+48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[(c[(c[((d|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[g+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))aL(f);b=b+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){aL(b);a=c[l>>2]|0}d=d+1|0}return}function bL(a){a=a|0;var b=0;b=HK(16)|0;c[b>>2]=a;c[b+4>>2]=rL(a,b)|0;c[b+12>>2]=b;return b|0}function cL(a,b){a=a|0;b=b|0;var d=0,e=0;e=HK(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;hL(e,d);d=d+-1|0}return e|0}function dL(a){a=a|0;return c[a+4>>2]|0}function eL(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;hL(a,0);return b|0}function fL(a){a=a|0;return qL(c[a>>2]|0,0,0)|0}function gL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)Aa(102651,102632,463,102665);g=a+48|0;d=mL(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=mL(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)nL(c[d>>2]|0,0,b);else nL(c[f>>2]|0,0,0-b|0);oL(a);return pL(d,f)|0}function hL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a>>2]|0;h=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;g=i+(b<<2)|0;if(!((a|0)<(h|0)?(c[(c[i+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[g>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(h|0))break;d=i+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[i+(a<<2)>>2]|0)+4>>2]|0))break;a=c[g>>2]|0;c[g>>2]=e;c[d>>2]=a;c[(c[g>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function iL(){_K(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0,1)|0;jL(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0);return}function jL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))jL(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){jL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)kL(b);return}function kL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(lL(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(lL(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;f=c[((h|0)==3?a:a+48|0)+40>>2]|0;e=(f|0)==(b|0);h=((h|0)==2?a:a+-48|0)+40|0;if(e)f=c[h>>2]|0;g=c[b+16>>2]|0;i=c[(c[f+16>>2]|0)+288>>2]|0;f=c[a+16>>2]|0;a=c[f+156>>2]|0;if((c[g+284>>2]|0)<=(i|0)?(i|0)<=(c[g+288>>2]|0):0){if((c[f+164>>2]|0)>-1)f=c[f+160>>2]|0;else f=0;g=0;f=f-a|0}else{g=1;f=a}if((d|0)>0)e=(c[h>>2]|0)==(b|0);i=e?1:-1;return ((((g|0)==0?i:0-i|0)|0)<0?0-f|0:f)|0}function mL(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function nL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function oL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){dA(1,102754,h)|0;Ca(189124,1)}g=c[47325]|0;c[d>>2]=g;d=c[47326]|0;c[47325]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){dA(1,102788,h+8|0)|0;Ca(189124,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){dA(1,102823,h+16|0)|0;Ca(189124,1)}else{l=h;return}}function pL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){i=a+12|0;d=c[i>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){h=b+12|0;d=c[h>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){d=c[a+8>>2]|0;e=c[b+8>>2]|0;if((e&d|0)<=-1)Aa(102677,102632,327,102724);f=c[a+4>>2]|0;g=c[b+4>>2]|0;if((e|0)!=-1){d=(d|0)==-1?b:(g|0)<(f|0)?a:b;a=d;d=c[d+8>>2]|0}c[h>>2]=a;c[i>>2]=a;c[a+4>>2]=g+f;if((d|0)>-1)j=a;else Aa(102735,102632,335,102724)}else j=a;return j|0}function qL(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=mL(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=qL(h,a,d)|0}else if((mL(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=qL(i,a,d)|0}else if((mL(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function rL(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){oL(g);a=(rL(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){oL(f);a=(rL(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,102887)|0;if(!d)d=30;else d=d6(d)|0;return LK(a,b,c,d)|0}function tL(a){a=+a;return +((c[47187]|0)==0?a:+h[23322]-a)}function uL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0;s=l;l=l+16|0;r=s;c[47334]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];vL(d);i=c[d+16>>2]|0;u=+h[i+32>>3];t=+h[i+40>>3];wL(e,102898,+h[b+352>>3]);wL(e,102905,u/72.0);wL(e,102905,t/72.0);xL(e);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){yL(e,102907,ZD(HB(i)|0)|0);q=(c[g>>2]|0)+16|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];zL(e,r);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=uC(i)|0;b=AL(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=ZD(OA(i,c[47216]|0)|0)|0;wL(e,102905,+h[(c[g>>2]|0)+32>>3]);wL(e,102905,+h[(c[g>>2]|0)+40>>3]);yL(e,102905,b);yL(e,102905,$O(i,c[47219]|0,111368)|0);yL(e,102905,c[c[(c[g>>2]|0)+8>>2]>>2]|0);yL(e,102905,$O(i,c[47202]|0,137615)|0);b=$O(i,c[47203]|0,195341)|0;if(!(a[b>>0]|0))b=$O(i,c[47202]|0,135101)|0;yL(e,102905,b);xL(e)}i=hC(d,i)|0}o=f<<24>>24==0;n=gC(d)|0;while(1){if(!n)break;m=UA(d,n)|0;while(1){if(!m)break;if(o){f=195341;j=195341}else{j=NA(m,111756)|0;f=NA(m,111765)|0;f=f|0?f:195341;j=j|0?j:195341}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;q=m+48|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;v=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=v}yL(e,0,111751);BL(e,c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0,j);BL(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);CL(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;v=g+(b<<4)|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){v=uC(c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0)|0;yL(e,102905,AL(v,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);v=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r)}yL(e,102905,$O(m,c[47254]|0,111368)|0);yL(e,102905,$O(m,c[47238]|0,137615)|0);xL(e);m=WA(d,m)|0}n=hC(d,n)|0}DL(102913,e);l=s;return}function vL(a){a=a|0;var b=0.0;if(c[47187]|0){a=c[a+16>>2]|0;b=+h[a+40>>3]+ +h[a+24>>3];h[23322]=b;h[23323]=b/72.0}return}function wL(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)DL(b,a);h[e>>3]=c;i2(d,102919,e)|0;DL(d,a);l=f;return}function xL(b){b=b|0;a[195237]=10;vb[c[47334]&127](b,195237)|0;return}function yL(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)DL(b,a);DL(c,a);return}function zL(a,b){a=a|0;b=b|0;var d=0.0;wL(a,102905,+h[b>>3]/72.0);d=+h[b+8>>3];wL(a,102905,((c[47187]|0)==0?d:+h[23322]-d)/72.0);return}function AL(a,b){a=a|0;b=b|0;var c=0;c=dD(a,b)|0;b=ZD(c)|0;fD(a,c)|0;return b|0}function BL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=ZD(HB(d)|0)|0;else{f=uC(d)|0;d=AL(f,(F3(HB(d)|0,58)|0)+1|0)|0}yL(b,102905,d);if(e|0?a[e>>0]|0:0)yL(b,108285,ZD(e)|0);return}function CL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;DL(102905,a);c[f>>2]=b;i2(e,137696,f)|0;DL(e,a);l=d;return}function DL(a,b){a=a|0;b=b|0;vb[c[47334]&127](b,a)|0;return}function EL(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0;X=l;l=l+2288|0;V=X+208|0;U=X+192|0;T=X+176|0;S=X+160|0;R=X+144|0;Q=X+128|0;O=X+112|0;N=X+96|0;M=X+80|0;L=X+64|0;K=X+56|0;H=X+48|0;W=X+32|0;P=X+24|0;G=X;D=X+1264|0;E=X+224|0;F=d+16|0;B=(e[(c[F>>2]|0)+178>>1]|0)>2;PJ(1);vL(d);hA(E,1024,X+240|0);YP(d,1,102924,195341)|0;YP(d,1,102928,195341)|0;c[47200]=YP(d,1,141419,195341)|0;c[47199]=YP(d,1,141351,195341)|0;YP(d,2,102924,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0;if(i&16){YP(d,1,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&1){YP(d,2,102938,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&32){YP(d,2,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&2){YP(d,2,102941,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&4){YP(d,2,102949,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(!(i&8)){u=0;v=0;w=0}else{w=YP(d,0,102938,195341)|0;v=YP(d,0,102957,195341)|0;u=YP(d,0,102964,195341)|0}y=YP(d,0,102972,195341)|0;z=E+4|0;A=E+8|0;t=0;i=0;x=gC(d)|0;while(1){if(!x)break;s=x+16|0;j=c[s>>2]|0;n=+h[j+16>>3];o=+h[j+24>>3];o=(c[47187]|0)==0?o:+h[23322]-o;if(B){Y=+h[(c[j+132>>2]|0)+16>>3]*72.0;h[G>>3]=n;h[G+8>>3]=o;h[G+16>>3]=Y;i2(D,102975,G)|0;kA(E,D)|0;j=3;while(1){if((j|0)>=(e[(c[F>>2]|0)+178>>1]|0))break;h[P>>3]=+h[(c[(c[s>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;i2(D,102990,P)|0;kA(E,D)|0;j=j+1|0}j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;r=c[E>>2]|0;c[z>>2]=r;PA(x,102924,r)|0;r=x}else{h[W>>3]=n;h[W+8>>3]=o;i2(D,102996,W)|0;PA(x,102924,D)|0;r=x}h[H>>3]=+h[(c[s>>2]|0)+80>>3]/72.0;i2(D,102919,H)|0;HA(r,c[47199]|0,D)|0;j=c[s>>2]|0;h[K>>3]=(+h[j+88>>3]+ +h[j+96>>3])/72.0;i2(D,102919,K)|0;HA(r,c[47200]|0,D)|0;j=c[s>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[L>>3]=+h[k+56>>3];h[L+8>>3]=Y;i2(D,102996,L)|0;PA(r,102934,D)|0;j=c[s>>2]|0}if(f2(c[c[j+8>>2]>>2]|0,106521)|0){if(c[47232]|0?(fN(x)|0)<<24>>24:0){k=c[(c[s>>2]|0)+12>>2]|0;q=k+8|0;j=c[q>>2]|0;if((j|0)<3){j=NA(r,103006)|0;if(!j)j=8;else j=d6(j)|0;j=(j|0)<3?8:j}p=k+44|0;n=+(j|0);m=0;while(1){if((m|0)>=(j|0))break;if((m|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32}k=(c[47187]|0)!=0;if((c[q>>2]|0)>2){Z=c[p>>2]|0;Y=+h[Z+(m<<4)+8>>3]/72.0;Y=k?+h[23323]-Y:Y;h[M>>3]=+h[Z+(m<<4)>>3]/72.0;h[M+8>>3]=Y;i2(D,103019,M)|0}else{Z=c[s>>2]|0;Y=+(m|0)/n*3.141592653589793*2.0;o=+h[Z+32>>3]*.5*+I(+Y);Y=+h[Z+40>>3]*.5*+J(+Y);Y=k?+h[23323]-Y:Y;h[N>>3]=o;h[N+8>>3]=Y;i2(D,103019,N)|0}kA(E,D)|0;m=m+1|0}k=c[47232]|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;HA(r,k,Z)|0}}else{FL(x,c[j+12>>2]|0,E);mA(E)|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;PA(r,102928,Z)|0}a:do if((c[47185]|0)>0){s=UA(d,x)|0;j=t;while(1){if(!s)break a;r=s+16|0;k=c[r>>2]|0;do if((a[k+112>>0]|0)!=6?(C=c[k+8>>2]|0,(C|0)!=0):0){q=0;k=C;while(1){if((q|0)>=(c[k+4>>2]|0))break;if((q|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=59;k=c[(c[r>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(q*48|0)+8>>2]|0){Y=+h[k+(q*48|0)+24>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[O>>3]=+h[k+(q*48|0)+16>>3];h[O+8>>3]=Y;i2(D,103029,O)|0;kA(E,D)|0;i=1;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}if(c[k+(q*48|0)+12>>2]|0){Y=+h[k+(q*48|0)+40>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[Q>>3]=+h[k+(q*48|0)+32>>3];h[Q+8>>3]=Y;i2(D,103042,Q)|0;kA(E,D)|0;j=1}p=0;while(1){k=c[(c[r>>2]|0)+8>>2]|0;m=c[k>>2]|0;if((p|0)>=(c[m+(q*48|0)+4>>2]|0))break;if((p|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}else k=m;Z=c[k+(q*48|0)>>2]|0;Y=+h[Z+(p<<4)+8>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[R>>3]=+h[Z+(p<<4)>>3];h[R+8>>3]=Y;i2(D,102996,R)|0;kA(E,D)|0;p=p+1|0}q=q+1|0}k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}a[k>>0]=0;k=c[E>>2]|0;c[z>>2]=k;PA(s,102924,k)|0;k=c[r>>2]|0;m=c[k+96>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[S>>3]=+h[m+56>>3];h[S+8>>3]=Y;i2(D,102996,S)|0;PA(s,102938,D)|0;k=c[r>>2]|0}m=c[k+108>>2]|0;do if(m){if(!(a[m+81>>0]|0))break;Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[T>>3]=+h[m+56>>3];h[T+8>>3]=Y;i2(D,102996,T)|0;PA(s,102934,D)|0;k=c[r>>2]|0}while(0);m=c[k+100>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[U>>3]=+h[m+56>>3];h[U+8>>3]=Y;i2(D,102996,U)|0;PA(s,102941,D)|0;k=c[r>>2]|0}k=c[k+104>>2]|0;if(!k)break;Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[V>>3]=+h[k+56>>3];h[V+8>>3]=Y;i2(D,102996,V)|0;PA(s,102949,D)|0}while(0);s=WA(d,s)|0}}else j=t;while(0);t=j;x=hC(d,x)|0}GL(d,y,w,v,u);lA(E);if(b[(c[F>>2]|0)+136>>1]&1)SP(d);c[f>>2]=i;c[g>>2]=t;PJ(0);l=X;return}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+1056|0;f=i;e=i+32|0;g=b+48|0;if(!(c[g>>2]|0)){q=c[a+16>>2]|0;p=+h[q+16>>3];m=(c[47187]|0)!=0;j=+h[q+24>>3];o=j+ +h[b+24>>3];k=+h[23322];n=p+ +h[b+32>>3];j=j+ +h[b+40>>3];h[f>>3]=+h[b+16>>3]+p;h[f+8>>3]=m?k-o:o;h[f+16>>3]=n;h[f+24>>3]=m?k-j:j;i2(e,103080,f)|0;kA(d,e)|0}e=b+56|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break;FL(a,c[(c[e>>2]|0)+(b<<2)>>2]|0,d);b=b+1|0}l=i;return}function GL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0;p=l;l=l+1088|0;k=p+56|0;n=p+48|0;m=p+32|0;i=p;j=p+64|0;o=b+16|0;v=c[o>>2]|0;s=(c[47187]|0)!=0;u=+h[v+24>>3];r=+h[23322];t=+h[v+32>>3];q=+h[v+40>>3];h[i>>3]=+h[v+16>>3];h[i+8>>3]=s?r-u:u;h[i+16>>3]=t;h[i+24>>3]=s?r-q:q;i2(j,103055,i)|0;HA(b,d,j)|0;i=c[(c[o>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){u=+h[i+64>>3];u=(c[47187]|0)==0?u:+h[23322]-u;h[m>>3]=+h[i+56>>3];h[m+8>>3]=u;i2(j,102996,m)|0;HA(b,e,j)|0;v=c[(c[o>>2]|0)+12>>2]|0;u=+h[v+32>>3];h[n>>3]=+h[v+24>>3]/72.0;i2(j,103075,n)|0;HA(b,f,j)|0;h[k>>3]=u/72.0;i2(j,103075,k)|0;HA(b,g,j)|0;b=1}else b=1;while(1){i=c[o>>2]|0;if((b|0)>(c[i+180>>2]|0))break;GL(c[(c[i+184>>2]|0)+(b<<2)>>2]|0,d,e,f,g);b=b+1|0}l=p;return}function HL(a){a=a|0;var b=0;b=l;l=l+16|0;EL(a,b,b+4|0);l=b;return}function IL(){return Sz(20788,c[4591]|0)|0}function JL(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function KL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function LL(a){a=a|0;Oz(a)|0;return}function ML(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=NL(e)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=d;return}function NL(a){a=a|0;var b=0,d=0,e=0;b=HK(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function OL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=NL(f)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=e;return}function PL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(eb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function QL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(eb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function RL(a){a=a|0;return Uz(a)|0}function SL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK((Uz(a)|0)<<3)|0;b=d;a=Qz(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function TL(){var a=0,b=0,d=0,e=0;a=IK(40)|0;b=a;d=20824;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Sz(a,c[4591]|0)|0}function UL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=IK(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function VL(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function WL(a){a=a|0;eb[c[a>>2]&63](a,0,64)|0;return}function XL(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;Oz(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;l6(a);a=d}l6(b);return}function YL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(eb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function ZL(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+64|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+48|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];a=d+16|0;if((b+-1|0)>>>0<2){_L(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];$L(d,q);_L(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];$L(m,q);c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2]}else{_L(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];$L(d,q);_L(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];$L(p,q);c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];$L(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;ZL(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function _L(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[47335]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[23324];e=b+8|0;h[e>>3]=+h[e>>3]-+h[23325];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function aM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+1168|0;x=A+144|0;z=A+96|0;y=A+64|0;w=A+48|0;s=A+32|0;t=A+16|0;u=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;v=b+16|0;q=c[(c[v>>2]|0)+116>>2]|0;c[47335]=q&3;q=q&1;a[195239]=q;if(!(q<<24>>24))cM(b);else bM(b);dM(b);q=c[v>>2]|0;g=c[q+12>>2]|0;do if(g|0?(a[g+81>>0]|0)==0:0){j=g+24|0;c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];r=+h[w>>3]+16.0;h[w>>3]=r;j=w+8|0;e=+h[j>>3]+8.0;h[j>>3]=e;j=(a[q+275>>0]&1)!=0;m=q+16|0;n=q+40|0;o=q+24|0;p=q+32|0;if(a[195239]|0){if(j)h[p>>3]=e+ +h[p>>3];else h[m>>3]=+h[m>>3]-e;e=+h[n>>3];f=+h[o>>3];B=e-f;i=(r-B)*.5;if(!(r>B))break;h[o>>3]=f-i;h[n>>3]=e+i;break}k=(c[47335]|0)==0;do if(j)if(k){h[n>>3]=e+ +h[n>>3];break}else{h[o>>3]=+h[o>>3]-e;break}else if(k){h[o>>3]=+h[o>>3]-e;break}else{h[n>>3]=e+ +h[n>>3];break}while(0);e=+h[p>>3];f=+h[m>>3];B=e-f;i=(r-B)*.5;if(r>B){h[m>>3]=f-i;h[p>>3]=e+i}}while(0);if(d){switch(c[47335]|0){case 0:{u=q+16|0;c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}case 1:{_L(s,-+h[q+40>>3],+h[q+16>>3]);c[46648]=c[s>>2];c[46649]=c[s+4>>2];c[46650]=c[s+8>>2];c[46651]=c[s+12>>2];break}case 2:{_L(t,+h[q+16>>3],-+h[q+40>>3]);c[46648]=c[t>>2];c[46649]=c[t+4>>2];c[46650]=c[t+8>>2];c[46651]=c[t+12>>2];break}case 3:{_L(u,+h[q+24>>3],+h[q+16>>3]);c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}default:{}}eM(b);g=c[(c[v>>2]|0)+12>>2]|0}if(g|0?(a[g+81>>0]|0)==0:0){c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];fM(b,x)}if(c[47181]|0){e=+h[23324];f=+h[23325];if(!(a[195239]|0)){h[z>>3]=f;h[z+8>>3]=e;h[z+16>>3]=f;h[z+24>>3]=e;h[z+32>>3]=-e;h[z+40>>3]=-f;i2(x,103316,z)|0}else{h[y>>3]=e;h[y+8>>3]=f;h[y+16>>3]=e;h[y+24>>3]=f;i2(x,103101,y)|0}z=Y3(x)|0;c[c[47181]>>2]=z}l=A;return}function bM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+16>>3]+ +h[i+96>>3]*.5;d=i+104|0}else{j=+h[i+32>>3]-+h[i+64>>3]*.5;d=i+72|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+24|0;do if(!(g&4)){e=+h[i+40>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=e-f;break}}else e=f+ +h[b>>3];while(0);h[k+56>>3]=j;h[k+64>>3]=e;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;bM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function cM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+24>>3]+ +h[i+56>>3]*.5;d=i+48|0}else{j=+h[i+40>>3]-+h[i+88>>3]*.5;d=i+80|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+32|0;do if(!(g&4)){e=+h[i+16>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=f+e;break}}else e=+h[b>>3]-f;while(0);h[k+56>>3]=e;h[k+64>>3]=j;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;cM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function dM(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+448|0;Q=S+408|0;K=S+352|0;J=S+312|0;I=S+304|0;H=S+248|0;M=S+200|0;B=S+184|0;O=S+96|0;q=S+488|0;C=S+456|0;D=S+416|0;E=S+376|0;F=S+360|0;G=S+320|0;w=S+288|0;x=S+256|0;y=S+232|0;z=S+152|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;p=e+16|0;u=c[p>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[47186]|0)!=0:0)){u=g<<16>>16!=0;o=gC(e)|0;h=0;j=0;i=0;while(1){if(!o)break;g=c[(c[o+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);n=UA(e,o)|0;g=j;while(1){if(!n)break;k=c[n+16>>2]|0;j=c[k+108>>2]|0;m=k+8|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);n=WA(e,n)|0}o=hC(e,o)|0;j=g}if(!(a[(c[p>>2]|0)+113>>0]&8))o=0;else o=hM(e)|0;t=j+i|0;if(t|0){p=h+j+o+(qB(e)|0)|0;r=HK(p*40|0)|0;s=HK(t*40|0)|0;_L(M,2147483647.0,2147483647.0);g=M+16|0;_L(q,-2147483647.0,-2147483647.0);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];g=s;i=r;n=gC(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];iM(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];kM(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=UA(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];dA(0,104128,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){lM(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];dA(0,104163,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){mM(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];dA(0,104203,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];dA(0,104243,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=WA(e,m)|0}n=hC(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));nM(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=aP(e,DA(e,0,104279,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];fT(r,p,s,t,O)|0;if(a[195234]|0)oM(r,p,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;pM(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];xP(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!(a[195234]|0)){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;dA(0,104324,R)|0}}else{R=c[15715]|0;c[Q>>2]=f;c[Q+4>>2]=t;z4(R,104291,Q)|0}l6(r);l6(s)}}l=S;return}function eM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[23324]!=0.0|+h[23325]!=0.0|(c[47335]|0)!=0){d=gC(a)|0;while(1){if(!d)break;if(c[47335]|0)oQ(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[47185]|0)==1){b=UA(a,d)|0;while(1){if(!b)break a;gM(b);b=WA(a,b)|0}}while(0);d=hC(a,d)|0}ZL(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function fM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=j+32|0;do if(!(g&4)){e=+h[j+16>>3];if(!(g&2)){f=(e+ +h[b>>3])*.5;break}else{f=e+ +h[d>>3]*.5;break}}else f=+h[b>>3]-+h[d>>3]*.5;while(0);e=+h[d+8>>3]*.5;if(!(g&1))e=e+ +h[j+24>>3];else e=+h[j+40>>3]-e;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function gM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[195236]|0)==0?(a[d+112>>0]|0)!=6:0){q=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;dA(1,104111,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function hM(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((vC(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(hM(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function iM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;d=c[d+16>>2]|0;m=+h[d+40>>3]*72.0;j=+h[d+32>>3]*72.0;k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function jM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;j=+h[d+24>>3];m=+h[d+32>>3];k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function kM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}f=b+24|0;if(!(a[195239]|0)){c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[f>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function lM(a,b){a=a|0;b=b|0;b=sO(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function mM(a,b){a=a|0;b=b|0;var d=0;b=sO(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function nM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));nM(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((vC(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];jM(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function oM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15715]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;z4(q,104366,o)|0;a:do if((d[195234]|0)>=2){_3(104426,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=195341;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;z4(q,104435,p)|0;o=o+1|0;a=a+40|0}_3(104478,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;z4(q,104487,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function pM(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+24>>3]+ +h[b+8>>3]*.5;h[a>>3]=+h[b+16>>3]+ +h[b>>3]*.5;h[a+8>>3]=c;return}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=j+ +h[b+16>>3];h[f>>3]=j;i=i+ +h[b+24>>3];h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function rM(a){a=a|0;aM(a,1);return}function sM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=kP(NA(a,105827)|0)|0;if(b){b=tM(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)/72.0;h[a+40>>3]=+(d|0)/72.0;a=HK(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=HB(a)|0;dA(0,104535,d)|0}l=e;return}function tM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[47336]|0;if(!d){d=Sz(20860,c[4591]|0)|0;c[47336]=d}d=eb[c[d>>2]&63](d,b,512)|0;do if(!d){g=f4(b,139124)|0;if(!g){c[e>>2]=b;dA(0,104584,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(o4(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(q4(f,104612,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(C4(f,104641)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;dA(0,104646,i)|0;d=0}else f=12;if((f|0)==12){q=IK(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[47337]|0;c[47337]=o+1;c[q+12>>2]=o;i3(V5(g)|0,j)|0;o=c[j+36>>2]|0;n=IK(o+1|0)|0;c[q+52>>2]=n;y4(g,0,0)|0;X5(n,o,1,g)|0;a[n+o>>0]=0;o=c[47336]|0;eb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}l4(g)|0}while(0);l=p;return d|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+52>>2]|0);return}function vM(a){a=a|0;l6(c[(c[a+16>>2]|0)+12>>2]|0);return}function wM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;mF(b,f)|0;mF(b,153748)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=kP(f)|0;if(!e){c[k>>2]=f;dA(0,104685,k)|0;break}g=f4(e,139124)|0;if(!g){c[m>>2]=e;dA(0,104713,m)|0;break}while(1){f=jP(g)|0;if(!f)break;mF(b,f)|0}mF(b,153748)|0;l4(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function xM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){f=d+2|0;if((((N3(f,104741,3)|0)!=0?(N3(f,104745,5)|0)!=0:0)?(N3(f,104751,3)|0)!=0:0)?(N3(f,104755,7)|0)!=0:0)break b;else f=37;while(1){if((f&255)<14){e=d+1|0;if(!(7166>>>(f&255)&1))break}else e=d+1|0;d=e;f=a[e>>0]|0}switch(f<<24>>24){case 0:continue a;case 13:{if((a[e>>0]|0)==10){d=d+2|0;continue a}break}default:{}}d=e;continue a}else e=37;break}default:{}}while(0);c:while(1){switch(e<<24>>24){case 10:case 13:case 0:break c;default:{}}nF(b,e<<24>>24)|0;f=d+1|0;d=f;e=a[f>>0]|0}f=d+1|0;switch(e<<24>>24){case 13:{if((a[f>>0]|0)==10)d=d+2|0;else g=21;break}case 0:break;default:g=21}if((g|0)==21){g=0;d=f}nF(b,10)|0}return}function yM(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[47336]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];sF(b,104763,e);mF(b,104781)|0;xM(b,d);mF(b,104799)|0;mF(b,104814)|0}g=c[47336]|0;d=eb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function zM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=dQ(b)|0;break}default:{switch(AM(b)|0){case 2:break;case 1:{f=dQ(b)|0;break a}default:{f=b;break a}}if(!(c[47338]|0)){dA(0,104826,e)|0;c[47338]=1;f=b}else f=b}}while(0);if(!(c[47339]|0))hA(189356,0,0);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=92;break}default:{}}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}h=a[e>>0]|0;c[47340]=d+1;a[d>>0]=h;e=e+1|0}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=41;if((f|0)!=(b|0))l6(f);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}a[d>>0]=0;h=c[47339]|0;c[47340]=h;l=g;return h|0}function AM(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function BM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((gY(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[47344]|0;if((a|0)>(c[47343]|0)){a=a<<5;if(!f)a=IK(a)|0;else a=KK(f,a)|0;c[47344]=a;g=c[b>>2]|0;c[47343]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((MX(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];DY(i,m)}a=m+4|0;if(!(CM(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[47345]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function CM(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47346]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=KK(c[47345]|0,a<<4)|0;c[47345]=b;if(!b){dA(1,104916,d)|0;a=1;break}else{c[47346]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function DM(){var b=0,d=0,e=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+1;do if((e|0)<=0){e=IK(4800)|0;c[47345]=e;if(!e){dA(1,104939,b)|0;b=1;break}c[47346]=300;c[47348]=0;c[47349]=0;if(a[195234]|0){RO();b=0}else b=0}else b=0;while(0);l=d;return b|0}function EM(){var b=0,d=0,e=0,f=0.0,g=0,i=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+-1;if((e|0)<=1?(l6(c[47345]|0),a[195234]|0):0){e=c[15715]|0;i=c[47348]|0;g=c[47349]|0;f=+SO();c[b>>2]=i;c[b+4>>2]=g;h[b+8>>3]=f;z4(e,104977,b)|0}l=d;return}function FM(a,b){a=a|0;b=b|0;return GM(a,b,0)|0}function GM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+176|0;K=P+168|0;O=P+128|0;B=P+120|0;z=P+112|0;j=P+104|0;w=P+88|0;s=P+72|0;g=P+64|0;x=P+160|0;M=P+152|0;C=P+144|0;y=P+32|0;A=P;N=P+136|0;c[47348]=(c[47348]|0)+1;L=c[b+80>>2]|0;c[47349]=(c[47349]|0)+L;f=b+88|0;while(1){G=c[f>>2]|0;if(!G){H=4;break}f=c[G+16>>2]|0;if(!(a[f+112>>0]|0)){H=5;break}else f=f+116|0}do if((H|0)==4){dA(1,105020,g)|0;f=0}else if((H|0)==5){F=c[b+84>>2]|0;if(!(HM(L,F,b)|0)){i=L<<3;if((i|0)>(c[47350]|0)){f=c[47351]|0;g=L<<7;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47351]=f;c[47350]=i}a:do if((L|0)>1?+h[F+8>>3]>+h[F+40>>3]:0){f=0;while(1){if((f|0)==(L|0)){u=1;break a}D=F+(f<<5)+24|0;Q=+h[D>>3];E=F+(f<<5)+8|0;h[D>>3]=-+h[E>>3];h[E>>3]=-Q;f=f+1|0}}else u=0;while(0);v=c[G>>2]&3;D=G+48|0;f=c[((v|0)==3?G:D)+40>>2]|0;E=G+-48|0;if((f|0)==(c[((v|0)==2?G:E)+40>>2]|0)){c[j>>2]=HB(f)|0;dA(1,105127,j)|0;f=0;break}t=L+-1|0;v=c[47351]|0;j=0;f=0;b:while(1){c:while(1){if((f|0)>=(L|0)){s=t;break b}i=F+(f<<5)+8|0;if((f|0)>0)k=+h[i>>3]>+h[F+(f+-1<<5)+8>>3]?-1:1;else k=0;r=f+1|0;if((f|0)<(t|0))m=+h[F+(r<<5)+8>>3]>+h[i>>3]?1:-1;else m=0;if((k|0)!=(m|0)){H=24;break}switch(k|0){case -1:{f=r;break}case 0:{H=28;break c}default:{H=29;break b}}}do if((H|0)==24){H=0;q=j+2|0;n=F+(f<<5)|0;o=F+(f<<5)+24|0;g=v+(j+1<<4)|0;p=v+(j<<4)+8|0;j=v+(j<<4)|0;if((k|0)==1|(m|0)==-1){h[j>>3]=+h[n>>3];h[p>>3]=+h[o>>3];h[g>>3]=+h[n>>3];f=q;break}else{f=F+(f<<5)+16|0;h[j>>3]=+h[f>>3];h[p>>3]=+h[i>>3];h[g>>3]=+h[f>>3];i=o;f=q;break}}else if((H|0)==28){H=0;q=F+(f<<5)|0;h[v+(j<<4)>>3]=+h[q>>3];h[v+(j<<4)+8>>3]=+h[F+(f<<5)+24>>3];g=v+(j+1<<4)|0;h[g>>3]=+h[q>>3];f=j+2|0}while(0);h[g+8>>3]=+h[i>>3];j=f;f=r}if((H|0)==29){c[s>>2]=k;c[s+4>>2]=k;c[s+8>>2]=480;dA(1,105062,s)|0;f=0;break}d:while(1){if((s|0)<=-1)break;g=F+(s<<5)+8|0;if((s|0)<(t|0))k=+h[g>>3]>+h[F+(s+1<<5)+8>>3]?-1:1;else k=0;if((s|0)>0)m=+h[F+(s+-1<<5)+8>>3]>+h[g>>3]?1:-1;else m=0;n=F+(s<<5)|0;f=j+1|0;i=j+2|0;o=F+(s<<5)+16|0;r=F+(s<<5)+24|0;e:do if((k|0)!=(m|0)){p=v+(f<<4)|0;q=v+(j<<4)|0;j=v+(j<<4)+8|0;if((k|0)==1|(m|0)==-1){h[q>>3]=+h[n>>3];h[j>>3]=+h[r>>3];h[p>>3]=+h[n>>3];break}else{h[q>>3]=+h[o>>3];h[j>>3]=+h[g>>3];h[p>>3]=+h[o>>3];g=r;break}}else switch(k|0){case 0:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];g=r;break e}case -1:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];h[v+(f<<4)+8>>3]=+h[r>>3];h[v+(i<<4)>>3]=+h[n>>3];f=j+3|0;h[v+(i<<4)+8>>3]=+h[r>>3];h[v+(f<<4)>>3]=+h[n>>3];i=j+4|0;break e}default:{H=42;break d}}while(0);h[v+(f<<4)+8>>3]=+h[g>>3];s=s+-1|0;j=i}if((H|0)==42){c[w>>2]=k;c[w+4>>2]=k;c[w+8>>2]=513;dA(1,105062,w)|0;f=0;break}f:do if(!u)f=0;else{f=0;while(1){if((f|0)>=(L|0)){f=0;break}u=F+(f<<5)+24|0;Q=+h[u>>3];w=F+(f<<5)+8|0;h[u>>3]=-+h[w>>3];h[w>>3]=-Q;f=f+1|0}while(1){if((f|0)>=(j|0)){f=0;break f}w=v+(f<<4)+8|0;h[w>>3]=-+h[w>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[x>>2]=v;i=x+4|0;c[i>>2]=j;h[y>>3]=+h[b>>3];h[y+8>>3]=+h[b+8>>3];h[y+16>>3]=+h[b+40>>3];h[y+24>>3]=+h[b+48>>3];if((gY(x,y,M)|0)<0){dA(1,105166,z)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[47344]|0;if((g|0)>(c[47343]|0)){g=g<<5;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47344]=f;g=c[i>>2]|0;c[47343]=g}j=c[47351]|0;i=0;while(1){if((i|0)>=(g|0))break;y=f+(i<<5)|0;z=j+(i<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];y=f+(i<<5)+16|0;z=i+1|0;x=j+(((z|0)%(g|0)|0)<<4)|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];i=z}if(!(a[b+29>>0]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0}else{Q=+h[b+16>>3];h[A>>3]=+I(+Q);h[A+8>>3]=+J(+Q)}i=A+16|0;if(!(a[b+69>>0]|0)){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}else{Q=+h[b+56>>3];h[i>>3]=-+I(+Q);h[A+24>>3]=-+J(+Q)};c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];if((MX(f,g,K,A,C)|0)<0){dA(1,105205,B)|0;f=0;break}}else{c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,C)}k=C+4|0;if(!(CM(c[k>>2]|0)|0)){f=0;while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[k>>2]|0;j=c[47345]|0;g=c[C>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}C=j+(f<<4)|0;B=g+(f<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;IM(F,L,c[47345]|0,c[k>>2]|0,f);j=0;while(1){if((j|0)>=(L|0))break;if(+h[F+(j<<5)>>3]==2147483647.0){H=84;break}if(+h[F+(j<<5)+16>>3]==-2147483648.0){H=84;break}j=j+1|0}if((H|0)==84){H=0;C=f<<1;f=C;g=(C|0)>(2147483647/(L|0)|0|0)?15:g}i=(j|0)==(L|0)?0:i;g=g+1|0}if(i<<24>>24){D=HB(c[((c[G>>2]&3|0)==3?G:D)+40>>2]|0)|0;H=HB(c[((c[G>>2]&3|0)==2?G:E)+40>>2]|0)|0;c[O>>2]=D;c[O+4>>2]=H;dA(0,105243,O)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,N);IM(F,L,c[N>>2]|0,c[N+4>>2]|0,10);l6(c[N>>2]|0)}c[d>>2]=c[k>>2];f=c[47345]|0}else f=0}else f=0}while(0);l=P;return f|0}function HM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0;S=l;l=l+32|0;J=S+16|0;I=S+8|0;m=S;f=0;k=0;while(1){if((k|0)>=(b|0))break;j=d+(k<<5)|0;t=+h[d+(k<<5)+8>>3]-+h[d+(k<<5)+24>>3];if(!((t>=0.0?t:-t)<.01)?(t=+h[j>>3]-+h[d+(k<<5)+16>>3],!((t>=0.0?t:-t)<.01)):0){if((f|0)!=(k|0)){P=d+(f<<5)|0;c[P>>2]=c[j>>2];c[P+4>>2]=c[j+4>>2];c[P+8>>2]=c[j+8>>2];c[P+12>>2]=c[j+12>>2];c[P+16>>2]=c[j+16>>2];c[P+20>>2]=c[j+20>>2];c[P+24>>2]=c[j+24>>2];c[P+28>>2]=c[j+28>>2]}f=f+1|0}k=k+1|0}K=d+16|0;do if(!(+h[d>>3]>+h[K>>3])?(M=d+8|0,N=d+24|0,!(+h[M>>3]>+h[N>>3])):0){O=f+-1|0;P=c[15715]|0;x=0;while(1){if((x|0)>=(O|0))break;E=x+1|0;F=d+(E<<5)|0;g=+h[F>>3];G=d+(E<<5)+16|0;i=+h[G>>3];if(g>i){R=16;break}B=d+(E<<5)+8|0;o=+h[B>>3];C=d+(E<<5)+24|0;p=+h[C>>3];if(o>p){R=16;break}H=d+(x<<5)+16|0;w=+h[H>>3]<g;f=w&1;D=d+(x<<5)|0;v=+h[D>>3]>i;b=v&1;A=d+(x<<5)+24|0;u=+h[A>>3]<o;k=u&1;z=d+(x<<5)+8|0;m=+h[z>>3]>p;j=m&1;y=b+f+k+j|0;n=(y|0)!=0;if(!((a[195234]|0)==0|n^1)){c[J>>2]=x;c[J+4>>2]=E;z4(P,105443,J)|0;JM(e)}a:do if(n){if(!w)if(!v)if(!u){if(m){m=0;n=f;f=C;j=z;R=24}}else{m=j;k=0;n=f;f=B;j=A;R=24}else{m=j;b=0;n=f;f=G;j=D;R=24}else{m=j;n=0;f=F;j=H;R=24}if((R|0)==24){R=0;x=~~+h[j>>3];h[j>>3]=+h[f>>3];h[f>>3]=+(x|0);j=m;f=n}n=y+-1|0;m=0;while(1){if((m|0)>=(n|0))break a;do if((f|0)!=1){if((b|0)==1){t=+(~~((+h[D>>3]+ +h[G>>3])*.5+.5)|0);h[G>>3]=t;h[D>>3]=t;b=0;break}if((k|0)==1){t=+(~~((+h[A>>3]+ +h[B>>3])*.5+.5)|0);h[B>>3]=t;h[A>>3]=t;k=0;break}if((j|0)==1){t=+(~~((+h[z>>3]+ +h[C>>3])*.5+.5)|0);h[C>>3]=t;h[z>>3]=t;j=0}}else{t=+(~~((+h[H>>3]+ +h[F>>3])*.5+.5)|0);h[F>>3]=t;h[H>>3]=t;f=0}while(0);m=m+1|0}}while(0);q=+h[D>>3];r=+h[H>>3];s=+h[F>>3];t=+h[G>>3];j=KM(~~q,~~r,~~s,~~t)|0;p=+h[z>>3];o=+h[A>>3];i=+h[B>>3];g=+h[C>>3];f=KM(~~p,~~o,~~i,~~g)|0;if(!((j|0)!=0&(f|0)!=0)){x=E;continue}if((j|0)<(f|0)){C=r-q>t-s;x=r<t;h[(C?(x?H:D):x?F:G)>>3]=C?(x?s:t):x?r:q;x=E;continue}else{C=o-p>g-i;x=o<g;h[(C?(x?H:D):x?F:G)+8>>3]=C?(x?i:g):x?o:p;x=E;continue}}if((R|0)==16){c[I>>2]=E;dA(1,105397,I)|0;JM(e);f=1;break}i=+h[e>>3];g=+h[d>>3];f=e+8|0;if(!(((!(i<g)?!(i>+h[K>>3]):0)?(L=+h[f>>3],!(L<+h[M>>3])):0)?!(L>+h[N>>3]):0)){if(a[195234]|0){_3(105486,42,1,P)|0;JM(e);i=+h[e>>3];g=+h[d>>3]}if(i<g){h[e>>3]=g;i=g}g=+h[K>>3];if(i>g)h[e>>3]=g;i=+h[f>>3];g=+h[M>>3];if(i<g){h[f>>3]=g;i=g}g=+h[N>>3];if(i>g)h[f>>3]=g}k=e+40|0;i=+h[k>>3];f=d+(O<<5)|0;g=+h[f>>3];n=e+48|0;b=d+(O<<5)+8|0;m=d+(O<<5)+24|0;j=d+(O<<5)+16|0;if(((!(i<g)?!(i>+h[j>>3]):0)?(Q=+h[n>>3],!(Q<+h[b>>3])):0)?!(Q>+h[m>>3]):0){f=0;break}if(a[195234]|0){_3(105529,39,1,P)|0;JM(e);i=+h[k>>3];g=+h[f>>3]}if(i<g){h[k>>3]=g;i=g}g=+h[j>>3];if(i>g)h[k>>3]=g;i=+h[n>>3];g=+h[b>>3];if(i<g){h[n>>3]=g;i=g}g=+h[m>>3];if(i>g){h[n>>3]=g;f=0}else f=0}else R=12;while(0);if((R|0)==12){dA(1,105352,m)|0;JM(e);f=1}l=S;return f|0}function IM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=S(e,b)|0;t=+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}x=+(g|0)/t;m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];v=+h[r>>3];z=+h[i>>3];w=+h[j>>3];m=m+x*(y-m);n=n+x*(v-n);y=y+x*(z-y);v=v+x*(w-v);m=m+x*(y-m);n=n+x*(v-n);m=m+x*(y+x*(z+x*(+h[k>>3]-z)-y)-m);n=n+x*(v+x*(w+x*(+h[l>>3]-w)-v)-n);f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function JM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15715]|0;f=b+80|0;c[g>>2]=c[f>>2];z4(e,105569,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;z4(e,105580,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?105611:105623;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;z4(e,105639,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?105611:105623;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;z4(e,105690,j)|0;l=m;return}function KM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function LM(a,b){a=a|0;b=b|0;return GM(a,b,1)|0}function MM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=HK(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}NM(a,g,i,d,e);if((i|0)>20)l6(g);l=j;return} -function aQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=cQ(g)|0;h=d+4|0;i=d+8|0;e=D3(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;l6(g);l=j;return k|0}function bQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;f=0;while(1){if((f|0)>=8){d=0;break a}g=a[e+f>>0]|0;if(!(g<<24>>24)){d=0;break a}f=f+1|0;if(g<<24>>24==59)break;a[d>>0]=g;d=d+1|0}a[d>>0]=0;d=e6(h,23712,252,8,96)|0;if(!d)d=0;else{e=e+f|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;b:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break b}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break b}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break b;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break b;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function cQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1056|0;i=n;k=n+8|0;c[i>>2]=b;hA(k,1024,n+24|0);j=k+8|0;m=k+4|0;while(1){c[i>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=bQ(i)|0;if(!b){b=38;e=c[j>>2]|0;h=7}else h=6}else h=6;do if((h|0)==6){h=0;e=c[j>>2]|0;if(b>>>0<127)h=7;else{d=c[m>>2]|0;e=d>>>0>=e>>>0;f=b>>>6;g=(b&63|128)&255;if(b>>>0<2047){if(e){iA(k,1)|0;b=c[m>>2]|0}else b=d;c[m>>2]=b+1;a[b>>0]=f|192;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g;break}if(e){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b>>>12|224;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=f&63|128;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g}}while(0);if((h|0)==7){d=c[m>>2]|0;if(d>>>0>=e>>>0){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b}b=c[i>>2]|0}b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}a[b>>0]=0;j=c[k>>2]|0;c[m>>2]=j;m=Y3(j)|0;lA(k);l=n;return m|0}function dQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;hA(h,1024,j+16|0);i=h+4|0;g=h+8|0;while(1){d=b+1|0;e=a[b>>0]|0;f=c[g>>2]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}c[i>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[i>>2]|0;if(d>>>0>=f>>>0){iA(h,1)|0;d=c[i>>2]|0}c[i>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}a[b>>0]=0;g=c[h>>2]|0;c[i>>2]=g;i=Y3(g)|0;lA(h);l=j;return i|0}function eQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];fQ(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];BP(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=vb[d&127](f,e)|0}else d=0;l=n;return d|0}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function gQ(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];BP(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];CP(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(iQ(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((jQ(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(gQ(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function iQ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)Aa(110238,107962,1637,110246);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((gK(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function kQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];WH(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function lQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){f=b+1|0;do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{if(!(C3(f,110261)|0)){d=4;break a}if(!(C3(f,110267)|0)){d=12;break a}break}case 70:case 102:{if(!(C3(f,110275)|0)){d=2;break a}break}case 76:case 108:{if(!(C3(f,110280)|0)){d=2;break a}break}case 78:case 110:{if(!(C3(f,110284)|0)){d=0;break a}if(!(C3(f,110288)|0)){d=2;break a}break}case 79:case 111:{if(!(C3(f,110290)|0)){d=8;break a}break}case 80:case 112:{if(!(C3(f,110295)|0)){d=6;break a}break}case 83:case 115:{if(!(C3(f,110303)|0)){d=10;break a}break}case 84:case 116:{if(!(C3(f,110309)|0)){d=10;break a}break}case 89:case 121:{if(!(C3(f,110313)|0)){d=10;break a}break}default:{}}while(0);c[g>>2]=b;dA(0,110316,g)|0}while(0);l=h;return d|0}function mQ(d,f){d=d|0;f=f|0;var g=0;g=NA(d,110357)|0;if(g)if(!(a[g>>0]|0))f=0;else f=lQ(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=e[d>>1]|f;return}function nQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0;w=l;l=l+32|0;n=w+16|0;p=w;v=e&1;u=e&2;j=n+8|0;k=p+8|0;g=+h[a>>3];i=+h[a+8>>3];a:do if((c|0)==2){t=+h[a+16>>3]-g;q=+h[a+24>>3]-i;s=g-t;h[n>>3]=s;t=g+t;h[p>>3]=t;f=i-q;h[j>>3]=f;q=i+q;h[k>>3]=q;g=s}else{h[p>>3]=g;h[n>>3]=g;h[k>>3]=i;h[j>>3]=i;e=0;m=g;f=i;while(1){if((e|0)>=(c|0)){t=g;g=m;q=i;break a}x=a+(e<<4)|0;s=+h[x>>3];q=+h[(s<m?x:n)>>3];h[n>>3]=q;t=+h[a+(e<<4)+8>>3];r=+h[(t<f?x:n)+8>>3];h[j>>3]=r;s=+h[(s>g?x:p)>>3];h[p>>3]=s;t=+h[(t>i?x:p)+8>>3];h[k>>3]=t;e=e+1|0;m=q;f=r;g=s;i=t}}while(0);s=g+(t-g)*.5;r=f+(q-f)*.5;e=(u|0)!=0;o=-r;j=b+8|0;a=b+24|0;m=r-f;k=b+16|0;if(!v){i=d;g=+J(+i);i=+I(+i);f=(q-r)*g;if(e){h[j>>3]=r-f;f=r+f}else{h[j>>3]=f-r;f=o-m*g}h[a>>3]=f;d=(t-s)*i;h[b>>3]=s-d;h[k>>3]=s+d}else{d=s-g;d=+G(+(d*d+m*m));h[j>>3]=e?r:o;h[b>>3]=s;h[k>>3]=d*.25;h[a>>3]=d}l=w;return}function oQ(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0;f=b<<24>>24==0;b=c[a+16>>2]|0;d=+h[b+32>>3]*72.0;e=+h[b+40>>3]*72.0;g=(f?d:e)*.5;h[b+96>>3]=g;h[b+88>>3]=g;h[b+80>>3]=f?e:d;return}function pQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+16|0;j=y+8|0;x=4;w=k6(40)|0;c[w>>2]=0;s=y;o=0;e=la(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;a:do if((g|0)!=1){o=0;v=la(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=A6(c[f>>2]|0,w|0,x|0)|0;if(!e)Ca(f|0,p|0);D=p}else e=-1;if((e|0)!=1){if(!(a[195236]|0))t=0;else{o=0;e=ea(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}t=e}o=0;e=ra(97,b|0,110365)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[47394]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=15;break}case 105:{e=18;u=15;break}case 109:{e=1;u=15;break}case 114:{e=4;u=15;break}case 115:{e=2;u=15;break}default:e=g}if((u|0)==15){u=0;e=g|e;c[47394]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(23,0,110369,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}}o=0;r=ra(98,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[47394]&2|0){o=0;ha(26,c[15715]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break}}o=0;g=la(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=ra(99,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[47180]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[195236]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(37,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}else{o=0;f=aa(37,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=la(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=ra(100,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}}o=0;g=ra(86,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}n=i}o=0;j=la(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;ta(28,v|0,n|0,8,101);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;$(110,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15715]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[47394]&16|0:0){o=0;ha(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ta(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}else{o=0;na(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}o=0;na(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}o=0;e=aa(38,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ta(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;$(111,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}h=h+1|0}o=0;oa(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;e=la(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=la(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;na(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){w=x6(189580,1,w|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=D;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;$(112,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){z=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=D;g=z;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[47394]&4|0){o=0;ba(17,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}}o=0;qa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}q=g}if(!(a[195236]|0))e=0;else{o=0;$(113,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;$(105,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;g=q;u=74;continue d}e=e+1|0}o=0;$(105,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(114,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(105,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74}else break}l6(w|0);l=y;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;Z3(111236,a)|0;Z3(111247,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){jR(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{lR(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;z4(a,111267,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;z4(a,111287,p)|0;d=d+1|0}Z3(111309,a)|0;l=q;return}function rQ(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;d=+h[e+16>>3]-+h[a+16>>3];b=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function sQ(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function tQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;jR(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){hR(j,h,c[h+24>>2]|0);CR(b,f,h,0.0)|0;break}else{hR(j,h,i);CR(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function uQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;jR(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;hR(h,g,e);CR(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function vQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+128|0;F=K+64|0;n=K+48|0;G=K+32|0;H=K+16|0;I=K;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}E=HK((g*56|0)+-112|0)|0;c[F+52>>2]=0;c[F+48>>2]=0;D=e+8|0;e=c[D>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;hR(n,e,g);j=e;o=e;q=0.0;p=+h[n>>3];C=0;m=0.0;A=+h[n+8>>3];while(1){B=i+8|0;if(!(c[B>>2]|0))break;y=iR(j,i)|0;aV(d,y,c[o+12>>2]|0);w=o+36|0;x=i+36|0;if((a[w>>0]|0)==(a[x>>0]|0))if((c[B>>2]|0)==(f|0)){hR(H,i,y);e=H;J=12}else{n=o;e=C;k=A}else{jR(G,y);e=G;J=12}if((J|0)==12){J=0;z=+h[e>>3];k=+h[e+8>>3];n=a[w>>0]|0;t=n<<24>>24!=0;e=(o|0)==(c[D>>2]|0);j=g+40|0;v=y+48|0;s=i+20|0;r=g+48|0;u=y+40|0;if(t){g=e?0:m>A?1:3;if(n<<24>>24==(a[x>>0]|0)){n=u;o=j;j=r;e=0}else{n=u;o=j;j=r;e=(c[s>>2]|0)==(y|0)?1:3}}else{g=e?0:q>p?4:2;if(!(a[x>>0]|0)){n=v;o=r;e=0}else{n=v;o=r;e=(c[s>>2]|0)==(y|0)?4:2}}kR(F,(t^1)&1,+h[j>>3],+h[o>>3],+h[n>>3],g,e);e=C+1|0;g=E+(C*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));if((a[w>>0]|0)!=(a[x>>0]|0)?(c[B>>2]|0)==(f|0):0){hR(I,i,y);j=(a[x>>0]|0)!=0;q=+h[(j?u:v)>>3];kR(F,(j^1)&1,+h[(j?v:u)>>3],q,q,j?(A>k?1:3):p>z?4:2,0);j=C+2|0;g=E+(e*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));g=y;n=i;q=p;p=z;e=j;m=A}else{g=y;n=i;q=p;p=z;m=A}}j=i;i=c[B>>2]|0;o=n;C=e;A=k}i=n6(E,C*56|0)|0;e=C+-1|0;g=0;while(1){if((g|0)>=(C|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);j=g+1|0;if((g|0)>=(e|0)){g=j;continue}c[i+(g*56|0)+52>>2]=i+(j*56|0);g=j}c[b>>2]=C;c[b+4>>2]=i;l=K;return}function wQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];cR(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function xQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];cR(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function yQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;bR(HQ(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function zQ(a){a=a|0;var b=0,d=0;d=a+20|0;JQ(c[d>>2]|0);b=a+24|0;JQ(c[b>>2]|0);KQ(c[d>>2]|0);KQ(c[b>>2]|0);LQ(c[d>>2]|0,a);LQ(c[b>>2]|0,a);MQ(c[d>>2]|0);MQ(c[b>>2]|0);return}function AQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z+32|0;o=z;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;Z3(110484,a)|0;c[n>>2]=10;c[n+4>>2]=10;z4(a,110890,n)|0;Z3(138568,a)|0;i=b+4|0;q=t+16|0;r=t+8|0;s=t+24|0;j=b+12|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[r>>3];B=+h[q>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;z4(a,138587,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];IQ(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}Z3(110907,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[r>>3];B=+h[q>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;z4(a,138624,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;z4(a,110932,x)|0;l=z;return}function BQ(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+112|0;I=Q+88|0;H=Q+72|0;P=Q+32|0;L=Q+16|0;M=Q;N=Q+56|0;O=Q+40|0;J=c[15715]|0;z=(j|0)==0;A=M+8|0;B=L+8|0;y=0;k=0;m=0;p=0;j=0;while(1){if((y|0)>=(f|0))break;C=c[i+(y<<3)+4>>2]|0;D=C+48|0;x=(c[(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)+16>>2]|0)+16|0;E=C+16|0;F=(c[E>>2]|0)+16|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];CQ(N,H,I);c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];F=C+-48|0;x=(c[(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)+16>>2]|0)+16|0;w=(c[E>>2]|0)+56|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];CQ(O,H,I);c[M>>2]=c[O>>2];c[M+4>>2]=c[O+4>>2];c[M+8>>2]=c[O+8>>2];c[M+12>>2]=c[O+12>>2];w=c[g+(y<<3)>>2]|0;x=c[g+(y<<3)+4>>2]|0;v=w*3|0;G=v+1|0;if((v|0)>=(m|0)){if(k|0)l6(j);p=IK(G<<4)|0;k=p;m=G;j=p}if(!(a[x>>0]|0)){o=+(EQ(x,e)|0);n=+h[L>>3]}else{n=+DQ(x,e);o=+h[B>>3]}s=k+16|0;h[k+16>>3]=n;h[k+24>>3]=o;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];s=1;q=x;t=2;while(1){r=t+1|0;u=k+(r<<4)|0;v=k+(t<<4)|0;if((s|0)>=(w|0))break;q=x+(s*56|0)|0;if(!(a[q>>0]|0))o=+(EQ(q,e)|0);else n=+DQ(q,e);r=k+(t+2<<4)|0;h[v>>3]=n;h[k+(t<<4)+8>>3]=o;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];s=s+1|0;t=t+3|0}if(!(a[q>>0]|0)){o=+(EQ(q,e)|0);n=+h[M>>3]}else{n=+DQ(q,e);o=+h[A>>3]}h[u>>3]=n;h[k+(r<<4)+8>>3]=o;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];if((d[195234]|0)>1){x=HB(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)|0;D=HB(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)|0;c[P>>2]=x;c[P+4>>2]=D;z4(J,110443,P)|0}bO(C,c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0,k,G,25728);if((!z?(K=c[(c[E>>2]|0)+96>>2]|0,K|0):0)?(a[K+81>>0]|0)==0:0){c[H>>2]=c[L>>2];c[H+4>>2]=c[L+4>>2];c[H+8>>2]=c[L+8>>2];c[H+12>>2]=c[L+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];wO(b,C,H,I)}y=y+1|0}l6(j);l=Q;return}function CQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+24>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+40>>3];return +(d+ +(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0)*(+h[b+56>>3]-d))}function EQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~(d+(1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d))|0}function FQ(a){a=a|0;return 0}function GQ(a){a=a|0;return 0}function HQ(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)Aa(110456,110462,423,110470);a=c[a+16>>2]|0;a=eb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)Aa(110481,110462,425,110470);else return a|0;return 0}function IQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){s=+h[j+56>>3];k=+h[j+40>>3];j=EQ(t,g)|0;k=(s+k)*.5}else{s=+h[j+64>>3];k=+h[j+48>>3];j=~~((s+k)*.5);k=+DQ(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;z4(d,110983,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=EQ(m,g)|0;else f=~~+DQ(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;z4(d,111005,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){D=+h[j+56>>3];k=+h[j+40>>3];j=EQ(m,g)|0;k=(D+k)*.5}else{D=+h[j+64>>3];k=+h[j+48>>3];j=~~((D+k)*.5);k=+DQ(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;z4(d,111019,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function JQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=mR(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function KQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)aR(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function LQ(a,b){a=a|0;b=b|0;var d=0;d=Qz(a)|0;while(1){if(!d)break;a=Qz(c[d+16>>2]|0)|0;while(1){if(!a)break;QQ(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function MQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Qz(a)|0;while(1){if(!e)break;i=e+8|0;f=Qz(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[47394]&8|0)NQ(f,~~+h[i>>3]);g=f+32|0;rR(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function NQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15715]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;z4(i,111040,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Uz(e)|0){OQ(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);Z3(111060,i)|0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;Z3(111065,i)|0;OQ(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);Z3(153748,i)|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function OQ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+80|0;k=m+40|0;j=m;n=(a[d>>0]|0)==0;i=+h[d+8>>3];e=+h[d+24>>3];f=+h[d+16>>3];g=PQ(c[d+32>>2]|0)|0;d=PQ(c[d+36>>2]|0)|0;if(n){h[k>>3]=f;h[k+8>>3]=i;h[k+16>>3]=e;h[k+24>>3]=i;c[k+32>>2]=g;c[k+36>>2]=d;z4(b,111071,k)|0}else{h[j>>3]=i;h[j+8>>3]=f;h[j+16>>3]=i;h[j+24>>3]=e;c[j+32>>2]=g;c[j+36>>2]=d;z4(b,111071,j)|0}l=m;return}function PQ(a){a=a|0;switch(a|0){case 0:{a=111122;break}case 1:{a=111117;break}case 2:{a=111110;break}case 3:{a=111103;break}case 4:{a=111095;break}default:a=0}return a|0}function QQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((qR(u,j,k)|0)==0?(qR(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,RQ(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;SQ(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;SQ(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function RQ(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))Aa(111193,110462,843,111224);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0);else a=0;return a&1|0}function SQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){b=VQ(b,e)|0;h=g+1|0;if(!b){i=0;break}d=VQ(d,f)|0;if(!d){j=5;break}if(!(RQ(b,d)|0)){j=6;break}else g=h}if((j|0)==5)Aa(138697,110462,871,111142);else if((j|0)==6)i=XQ(b,WQ(b,d)|0,h,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=i;return}function TQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i+24|0;v=i+20|0;i=HQ(c[((a[b>>0]|0)==0?v:w)>>2]|0,b)|0;oR(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);s=1;while(1){if((s|0)>(g|0))break;t=VQ(b,e)|0;u=VQ(d,f)|0;j=i+32|0;k=b+40|0;l=d+40|0;m=t+8|0;n=b+36|0;o=b+32|0;p=b+16|0;q=u+40|0;r=t+40|0;do if(!(a[b>>0]|0)){i=HQ(c[w>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}else{p=(c[n>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}}else{i=HQ(c[v>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}else{p=(c[n>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}}while(0);b=t;d=u;s=s+1|0}return}function UQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(RQ(b,d)|0))break;g=VQ(b,1)|0;d=VQ(d,e)|0;b=g}g=c[(HQ(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;pR(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function VQ(a,b){a=a|0;b=b|0;if(!a)Aa(111129,110462,798,111133);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function WQ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=YQ(b,c,3,1)|0;else b=YQ(b,c,4,2)|0;l=f;return b|0}dA(1,111155,e)|0;Ca(189580,1);return 0}function XQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=1;while(1){if((m|0)>(e|0))break;l=VQ(b,f)|0;g=+h[l+8>>3]==+h[b+16>>3];k=0-d|0;i=b+36|0;j=b+32|0;do if(!(a[b>>0]|0))if(g){g=(c[j>>2]|0)==1;break}else{g=(c[i>>2]|0)==3;break}else if(g){g=(c[j>>2]|0)==4;break}else{g=(c[i>>2]|0)==2;break}while(0);b=l;m=m+1|0;d=g?k:d}return d|0}function YQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0;p=+h[a+24>>3];i=+h[b+16>>3];do if(!(p<i)?(f=+h[a+16>>3],m=+h[b+24>>3],!(f>m)):0){if(i<p&f<i){b=ZQ(a,b,d,e)|0;break}if(i<f&f<m){b=0-(ZQ(b,a,d,e)|0)|0;break}g=b+36|0;s=a+36|0;b=b+32|0;a=a+32|0;if(!(f==i))if(p==i){d=c[s>>2]|0;return ((d|0)==(c[b>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{b=c[a>>2]|0;b=(b|0)==(c[g>>2]|0)?0:(b|0)==(e|0)?1:-1;break}q=c[b>>2]|0;r=c[a>>2]|0;if(!(p==m))if(p<m){s=(c[s>>2]|0)==(d|0);b=$Q(q,r,d,e)|0;b=s?b:0-b|0;break}else{s=(c[g>>2]|0)==(e|0);b=$Q(r,q,d,e)|0;b=s?b:0-b|0;break}n=c[g>>2]|0;if((r|0)==(q|0)?(c[s>>2]|0)==(n|0):0){b=0;break}o=(q|0)==(d|0);j=(r|0)!=(e|0);b=(r|0)!=(d|0);k=(q|0)==(e|0);if((q|0)==(n|0)){if(o|k){b=o?1:-1;break}if(b?(c[s>>2]|0)!=(d|0):0){b=1;break}if(j?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}l=(n|0)!=(e|0);if(!(l|o^1)){if(b?(c[s>>2]|0)==(e|0):0){b=1;break}if((r|0)==(d|0)?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}g=c[s>>2]|0;a=(n|0)!=(d|0);if(!(a|k^1)){if((r|0)==(e|0)&(g|0)!=(d|0)){b=1;break}return (j&(g|0)==(d|0))<<31>>31|0}b=(q|0)!=0;if(!(b|a)){b=_Q(r,g,d)|0;break}if(!(b|l)){b=0-(_Q(r,g,e)|0)|0;break}if(o&(n|0)==0){b=_Q(g,r,d)|0;break}else{b=0-(_Q(g,r,e)|0)|0;break}}else b=0;while(0);return b|0}function ZQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0;i=+h[a+24>>3];j=+h[b+24>>3];k=a+36|0;f=b+32|0;do if(i<j){a=c[k>>2]|0;if((a|0)==(d|0)?(c[f>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[f>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[f>>2]|0;g=(f|0)==(e|0);a=b+36|0;if(i==j){f=c[a>>2]|0;a=c[k>>2]|0;if(g){a=$Q(a,f,d,e)|0;break}else{a=0-($Q(f,a,d,e)|0)|0;break}}if(g?(c[a>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[a>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function _Q(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function $Q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function aR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(WQ(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{oR(d,a,b);break}case -1:{oR(d,b,a);break}default:{}}b=b+1|0}}return}function bR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=IK(d<<2)|0;else a=KK(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function cR(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=eb[c[a>>2]&63](a,f,512)|0;if(!e){e=HK(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Sz(25776,c[4591]|0)|0;eb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;eb[c[f>>2]&63](f,b,1)|0;l=g;return}function dR(a,b,d){a=a|0;b=b|0;d=d|0;nR(c[b+32>>2]|0);l6(c[b+28>>2]|0);l6(b);return}function eR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];d=c+8|0;a=b+8|0;if(!(e>f))if(e<f)a=!(+h[a>>3]>=+h[d>>3])<<31>>31;else a=0;else a=!(+h[a>>3]<=+h[d>>3])&1;return a|0}function fR(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+16>>2]|0)|0;l6(b);return}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function hR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=(a[d+36>>0]|0)!=0;k=e+40|0;j=e+48|0;i=e+64|0;l=e+56|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[k>>3];g=+h[j>>3];if(m){g=(g+ +h[i>>3])*.5;break}else{f=(f+ +h[l>>3])*.5;break}}else{g=+h[i>>3];f=+h[l>>3];if(m){g=(g+ +h[j>>3])*.5;break}else{f=(f+ +h[k>>3])*.5;break}}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function iR(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function jR(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+48>>3]+ +h[b+64>>3])*.5;h[a>>3]=(+h[b+40>>3]+ +h[b+56>>3])*.5;h[a+8>>3]=c;return}function kR(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;a[b>>0]=d;h[b+8>>3]=e;d=b+16|0;k=b+32|0;l=b+36|0;m=b+24|0;if(f<g){h[d>>3]=f;h[m>>3]=g;c[k>>2]=i;c[l>>2]=j;d=0}else{h[m>>3]=f;h[d>>3]=g;c[l>>2]=i;c[k>>2]=j;d=1}a[b+1>>0]=d;return}function lR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;f=c[b+36>>2]|0;i=b+64|0;g=b+56|0;e=b+40|0;do if((c[f+4>>2]|0)!=(d|0)){b=b+48|0;if((c[f+12>>2]|0)==(d|0)){e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[b>>3];break}if((c[f+8>>2]|0)==(d|0)){e=~~+h[e>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5);break}if((c[f>>2]|0)==(d|0)){e=~~+h[g>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5)}else{e=0;b=0}}else{e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[i>>3]}while(0);c[a>>2]=e;c[a+4>>2]=b;return}function mR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=HK(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=NU()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function nR(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Oz(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}l6(e);l6(a);return}function oR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,1)|0;l=e;return}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;eb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,2)|0;l=e;return}function qR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(eb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function rR(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;do if(b|0){f=a+4|0;if((b|0)==1){c[(c[f>>2]|0)+4>>2]=0;break}e=sR(b)|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=tR(a,d,b,e)|0;d=d+1|0}while(1){d=uR(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}vR(e)}while(0);return}function sR(a){a=a|0;var b=0;b=HK(8)|0;c[b+4>>2]=HK(a<<2)|0;c[b>>2]=-1;return b|0}function tR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Qz(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=tR(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;wR(e,b);return d+1|0}function uR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function vR(a){a=a|0;l6(c[a+4>>2]|0);l6(a);return}function wR(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function xR(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function yR(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function zR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=HK(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=HK((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function AR(a){a=a|0;var b=0;b=HK(24)|0;c[b>>2]=0;c[b+16>>2]=HK(a*40|0)|0;return b|0}function BR(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;DR(b,f);DR(d,f);return a|0}function DR(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function ER(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+28>>2]|0);l6(c[b>>2]|0);l6(c[a+20>>2]|0);l6(a);return}function FR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}VU();a:do if(!(YU(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=_U()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=GR(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+(c[g>>2]|0)+ +h[k>>3]);if((m|0)==-2147483648){c[l>>2]=n;if(YU(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;$U(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function GR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;JF(d,3,b)|0;b=c[d+92>>2]|0;do if(b){e=c[b+16>>2]|0;h=c[e+12>>2]|0;c[a+76>>2]=h;f=c[e+16>>2]|0;c[a+84>>2]=f;g=a+80|0;c[g>>2]=c[e>>2];c[a+88>>2]=c[b+4>>2];e=a+152|0;f=c[e>>2]|c[f>>2];c[e>>2]=f;b=c[d+80>>2]|0;d=a+60|0;if(!b){c[d>>2]=0;b=999;break}else{i=c[b+16>>2]|0;c[d>>2]=c[i+12>>2];d=c[i+16>>2]|0;c[a+68>>2]=d;c[a+72>>2]=c[b+4>>2];c[e>>2]=f|c[d>>2];c[a+64>>2]=c[((h|0)==0?g:i)>>2];b=300;break}}else b=999;while(0);return b|0}function IR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(iF(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){db[d&127](a);a=0}else a=0;else a=1;return a|0}function JR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);c[(c[a>>2]|0)+24>>2]=0;qF(a);return}function KR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0;j=+h[b+504>>3];g=+h[b+512>>3];l=+h[b+352>>3];k=(c[b+360>>2]|0)==0;i=+h[d>>3];f=+h[d+8>>3];e=l*+h[b+528>>3]*((k?g:j)+(k?f:i));h[a>>3]=l*+h[b+520>>3]*(k?j+i:-(g+f));h[a+8>>3]=e;return}function LR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=i*+h[a+520>>3];i=i*+h[a+528>>3];a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=j*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)+8>>3]=i*(g+ +h[b+(a<<4)+8>>3]);a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(g+ +h[b+(a<<4)+8>>3]));h[d+(a<<4)+8>>3]=i*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function MR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)db[d&127](a);return}function NR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)db[d&127](a);pF(a);return}function OR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)db[d&127](a);return}function PR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)db[d&127](a);return}function QR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function RR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)db[d&127](a);return}function SR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)db[d&127](a);return}function TR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)db[d&127](a);return}function UR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)db[d&127](a);return}function VR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)db[d&127](a);return}function WR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)db[d&127](a);return}function XR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)db[d&127](a);return}function YR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)db[d&127](a);return}function ZR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)db[d&127](a);return}function _R(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)db[d&127](a);return}function $R(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)db[d&127](a);return}function aS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)fb[h&31](a,b,d,e,f);return}function bS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)db[d&127](a);return}function cS(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)lb[e&63](a,b);return}function dS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)db[d&127](a);return}function eS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];KR(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];rb[g&127](b,f,e)}}while(0);l=k;return}function fS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function gS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=xT(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e6(e,f,c[a+20>>2]|0,4,102)|0)!=0:0))h=3;a:do if((h|0)==3){switch(yT(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{dA(1,111347,g)|0;break a}}a=IK((D3(b)|0)+16|0)|0;c[i>>2]=b;i2(a,111312,i)|0;if(NJ(a)|0){c[j>>2]=b;dA(0,111321,j)|0}l6(a)}while(0);l=k;return}function hS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function iS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(gS(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)lb[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function jS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(f2(b,111368)|0)){c[j>>2]=3;b=f;continue b}if(!(f2(b,111389)|0)){d=115;while(1){e=b+1|0;if(!(d<<24>>24))break;b=e;d=a[e>>0]|0}h[i>>3]=+a6(e);b=f;continue b}break}case 100:{if(!(f2(b,137628)|0)){c[j>>2]=1;b=f;continue b}if(!(f2(b,137621)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(f2(b,134636)|0?f2(b,111374)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(f2(b,111384)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(f2(b,111402)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(f2(b,111409)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(f2(b,111418)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;dA(0,111426,k)|0;b=f}}while(0);l=m;return}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[b>>3]+ +h[d>>3])*.5;h[g+8>>3]=(+h[b+8>>3]+ +h[b+24>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){LR(a,g,g,2)|0;f=c[i>>2]|0}rb[f&127](a,g,e)}l=j;return}function lS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,g=c[k>>2]|0,c[g+144>>2]|0):0){j=g+16|0;if(!(e&4))g=0;else{i=g+56|0;e=e&-5;f=m;g=j;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=j;g=i;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));g=1}if(!(c[a+152>>2]&8192)){f=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=f;f=KK(c[47435]|0,f<<4)|0;c[47435]=f}else f=c[47435]|0;LR(a,b,f,d)|0;xb[c[n>>2]&31](a,f,d,e)}else xb[c[n>>2]&31](a,b,d,e);if(g|0){f=(c[k>>2]|0)+16|0;g=m;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0))}}l=o;return}function mS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];lS(a,f,4,d);l=e;return}function nS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a+60>>2]|0;do if((h|0?(j=h+104|0,i=c[j>>2]|0,i|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){h=g&255;if(c[a+152>>2]&8192|0){ub[i&15](a,b,d,e,f,h);break}g=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=g;g=KK(c[47435]|0,g<<4)|0;c[47435]=g}else g=c[47435]|0;LR(a,b,g,d)|0;ub[c[j>>2]&15](a,g,d,e,f,h)}while(0);return}function oS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){rb[f&127](a,b,d);break}e=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=e;e=KK(c[47435]|0,e<<4)|0;c[47435]=e}else e=c[47435]|0;LR(a,b,e,d)|0;rb[c[g>>2]&127](a,e,d)}while(0);return}function pS(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)lb[f&63](b,d);return}function qS(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+112|0;D=H+64|0;G=H;n=H+96|0;z=H+48|0;A=H+32|0;E=c[b+60>>2]|0;if(!b)Aa(111583,111479,691,111490);if(!d)Aa(111509,111479,692,111490);if(!(a[d>>0]|0))Aa(111514,111479,693,111490);F=LF(d)|0;if(!F){if((E|0)!=0&(gN(d)|0)!=0?(m=c[E+116>>2]|0,m|0):0)fb[m&31](b,d,e,f,g&255)}else{s=b+432|0;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];OF(n,F,D);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=G+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2];B=G+24|0;C=G+8|0;d=1;k=+h[G>>3];x=+h[C>>3];j=+h[n>>3];y=+h[B>>3];while(1){if((d|0)>=(f|0))break;I=e+(d<<4)|0;v=+h[I>>3];t=+h[(k<v?G:I)>>3];h[G>>3]=t;w=+h[e+(d<<4)+8>>3];u=+h[(x<w?G:I)+8>>3];h[C>>3]=u;v=+h[(j>v?n:I)>>3];h[n>>3]=v;w=+h[(y>w?n:I)+8>>3];h[B>>3]=w;d=d+1|0;k=t;x=u;j=v;y=w}v=j-k;w=y-x;o=+(m|0);p=+(s|0);t=v/p;q=w/o;u=o*q;r=p*t;a:do switch(rS(i)|0){case 1:if(t<q){p=r;o=o*t;break a}else{p=p*q;o=u;break a}case 2:{p=r;break}case 3:{o=u;break}case 4:{p=r;o=u;break}default:{}}while(0);if(p<v){v=(v-p)*.5;k=v+k;h[G>>3]=k;j=j-v;h[n>>3]=j}if(o<w){w=(w-o)*.5;h[C>>3]=w+x;h[B>>3]=y-w}if(!(c[b+152>>2]&8192)){c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];KR(z,b,D);c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[D>>2]=c[n>>2];c[D+4>>2]=c[n+4>>2];c[D+8>>2]=c[n+8>>2];c[D+12>>2]=c[n+12>>2];KR(A,b,D);c[n>>2]=c[A>>2];c[n+4>>2]=c[A+4>>2];c[n+8>>2]=c[A+8>>2];c[n+12>>2]=c[A+12>>2];k=+h[G>>3];j=+h[n>>3]}if(k>j){h[G>>3]=j;h[n>>3]=k}j=+h[C>>3];k=+h[B>>3];if(j>k){h[C>>3]=k;h[B>>3]=j}if(E|0){I=c[b+72>>2]|0;c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];c[D+16>>2]=c[G+16>>2];c[D+20>>2]=c[G+20>>2];c[D+24>>2]=c[G+24>>2];c[D+28>>2]=c[G+28>>2];vS(b,F,D,g,I)}}}l=H;return}function rS(b){b=b|0;if(a[b>>0]|0)if(C3(b,141419)|0)if(C3(b,141351)|0)if(!(C3(b,111522)|0))b=4;else b=(bP(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function sS(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function tS(a,b){a=a|0;b=b|0;b=JF(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;RC(b,137786,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((vC(b)|0)!=(b|0))c[(c[(vC(b)|0)+16>>2]|0)+144>>2]=a;d=NA(b,111527)|0;e=a+172|0;if((d|0)!=0?(c[e>>2]=0,(tS(a,d)|0)==999):0){h=KF(a,1,d)|0;c[f>>2]=d;c[f+4>>2]=h;dA(1,111534,f)|0;d=-1}else{e=c[e>>2]|0;if(!e)d=-1;else{PJ(1);oK(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(vC(b)|0)+16>>2]|0)+8>>2]=d;YN();d=c[e>>2]|0;if(d|0?(db[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;PJ(0);d=0}}l=i;return d|0}function vS(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)Aa(111583,111587,52,111601);if(!d)Aa(111613,111587,53,111601);i=c[d+8>>2]|0;if(!i)Aa(111616,111587,54,111601);if(!(a[i>>0]|0))Aa(111625,111587,55,111601);O3(h,c[d+28>>2]|0)|0;i=h+(D3(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;g6(h,g)|0;if((wS(b,h)|0)==999){c[j>>2]=h;dA(0,111637,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function wS(a,b){a=a|0;b=b|0;b=JF(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function xS(a){a=a|0;return 1}function yS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function zS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function AS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function BS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function CS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function DS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]/1.1;a[b+537>>0]=1;return 0}function ES(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function FS(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;VS(b,d)}qI(b,d);a[b+540>>0]=1;return}function GS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;m=C;x=b+452|0;t=b+448|0;y=e+8|0;o=b+536|0;A=b+360|0;p=b+541|0;q=b+538|0;z=b+336|0;n=d&255;B=b+344|0;u=b+352|0;v=b+528|0;w=b+520|0;switch(d|0){case 1:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);US(b);a[q>>0]=1;a[p>>0]=n;r=13;break}case 2:{a[q>>0]=1;a[p>>0]=n;r=13;break}case 3:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);a[q>>0]=1;a[p>>0]=n;r=13;break}case 4:{a[o>>0]=0;j=+h[z>>3];k=+h[u>>3];i=+((c[t>>2]|0)>>>0)*.5;g=k*+h[w>>3];f=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009/(k*+h[v>>3]);if(!(c[A>>2]|0))h[z>>3]=j+(+h[e>>3]-i)*.10000000000000009/g;else{h[z>>3]=j-f;f=(+h[e>>3]-i)*.10000000000000009/g}h[B>>3]=f+ +h[B>>3];h[u>>3]=k*1.1;r=13;break}case 5:{a[o>>0]=0;s=+h[u>>3]/1.1;h[u>>3]=s;k=+h[z>>3];j=+((c[t>>2]|0)>>>0)*.5;f=+h[v>>3];i=+h[w>>3];g=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009;if(!(c[A>>2]|0))h[z>>3]=k-(+h[e>>3]-j)*.10000000000000009/(s*i);else{h[z>>3]=k+g/(s*f);g=(+h[e>>3]-j)*.10000000000000009;f=i}h[B>>3]=+h[B>>3]-g/(s*f);r=13;break}default:{}}if((r|0)==13)a[b+537>>0]=1;B=b+560|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];l=C;return}function HS(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function IS(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0;n=l;l=l+16|0;f=n;m=b+560|0;e=(+h[d>>3]-+h[m>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+F(+e)<.0001?+F(+g)<.0001:0)){switch(a[b+541>>0]|0){case 0:{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];OS(b,f);break}case 2:{f=b+336|0;o=+h[b+352>>3];j=+h[f>>3];i=e/o;k=b+344|0;e=g/o;g=+h[k>>3];if(!(c[b+360>>2]|0)){h[f>>3]=j-i;e=g-e}else{h[f>>3]=j-e;e=i+g}h[k>>3]=e;a[b+537>>0]=1;break}default:{}}c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2]}l=n;return}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return}function KS(a){a=a|0;return}function LS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=f4(d,139124)|0;if(d|0){i=hF(d,0)|0;l4(d)|0;f=5}}else{i=hF(c[15808]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){db[h&127](d);d=c[g>>2]|0}tK(d);pB(c[g>>2]|0)|0}WC(i,0,137786,280,1);WC(i,1,137750,304,1);WC(i,2,137763,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((lG(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function MS(a,b){a=a|0;b=b|0;a=c[a>>2]|0;lG(a,c[a+168>>2]|0,b)|0;return}function NS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}nG(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function OS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];PS(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=k+i;h[g+24>>3]=j+i;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=QS(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){RS(b);c[e>>2]=d;SS(b);a[b+537>>0]=1}l=f;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+352>>3];g=+h[d>>3];i=e*+h[b+520>>3];e=+h[d+8>>3]/(e*+h[b+528>>3]);if(!(c[b+360>>2]|0))f=g/i;else{f=e;e=-g/i}i=e-+h[b+512>>3];h[a>>3]=f-+h[b+504>>3];h[a+8>>3]=i;return}function QS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=gC(a)|0;a:while(1){if(!e){e=9;break}d=UA(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((hQ(d,f)|0)<<24>>24){e=6;break a}d=WA(a,d)|0}e=hC(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=iC(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((eQ(d,f)|0)<<24>>24){e=12;break}d=jC(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=TS(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function RS(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function SS(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){l6(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=DA(d,0,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=DA(uC(d)|0,1,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=DA(uC(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}default:break a}while(0);return}function TS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=TS(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function US(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){l6(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(FC(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;VS(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;WS(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;XS(b,d);break b}default:break b}while(0);return}function VS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((vC(b)|0)==(b|0))if(!(uB(b)|0)){EF(d,0,111795);break}else{EF(d,0,111787);break}else EF(d,0,111801);while(0);EF(d,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=IA(b,0,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e+1|0,OA(b,d)|0);EF(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=DA(b,0,141358,0)|0;if(!d){d=DA(b,0,111778,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function WS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;EF(f,0,111782);EF(f,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;g=vC(uC(b)|0)|0;e=2;d=0;while(1){d=IA(g,1,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e|1,OA(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=DA(uC(b)|0,1,141358,0)|0;if(!d){d=DA(uC(b)|0,1,111778,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function XS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;EF(h,0,111751);k=b+48|0;EF(h,1,HB(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(uB(uC(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;EF(h,3,k?138041:142050);k=b+-48|0;EF(h,4,HB(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=vC(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=IA(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(f2(f,111756)|0)){l=5;break}if(!(f2(f,111765)|0)){l=7;break}if(f2(f,111774)|0)break;EF(h,6,OA(b,d)|0)}if((l|0)==5){l=0;EF(h,2,OA(b,d)|0)}else if((l|0)==7){l=0;EF(h,5,OA(b,d)|0)}EF(i,g,c[e>>2]|0);EF(i,g+1|0,OA(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,141358,0)|0;if(!d){d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,111778,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function YS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=ZS(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;HF(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function ZS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=IK(12)|0;if(!b)b=0;else b=Y3(b)|0;c[e+4>>2]=b;c[e+8>>2]=Y3(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function _S(b,c){b=b|0;c=c|0;$S(b);a[b+44>>0]=0;aT(b)|0;NO(b)|0;return}function $S(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?C4(e,111810)|0:0)YS(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function aT(a){a=a|0;var b=0;b=JF(a,2,111823)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function bT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=vb[e&127](b,d)|0;else a=0;return a|0}function cT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function dT(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (eT(~~(d>b?d:b)>>>0)|0)+1|0}function eT(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{b=a>>>0>65535;c=b?a>>>16:a;a=b?16:0;b=c>>>0>255;c=b?c>>>8:c;a=b?a|8:a;b=c>>>0>15;c=b?c>>>4:c;a=b?a|4:a;b=c>>>0>3;a=((b?c>>>2:c)>>>0>1&1)+(b?a|2:a)|0}return a|0}function fT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=gT(b,d,e,f,g)|0;e=hT(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){iT(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}jT(p)}l=r;return e|0}function gT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=HK(28)|0;j=Sz(25964,c[4594]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=RV()|0;c[g+24>>2]=j;if(!j){_3(112041,14,1,c[15715]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{_3(112041,14,1,c[15715]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Oz(a)|0;a=c[g+24>>2]|0;if(a|0)TV(a)|0;l6(g);g=0}return g|0}function hT(a){a=a|0;var b=0;b=sT(a)|0;if((b|0)>=0){tT(a);uT(a);b=Oz(c[a+20>>2]|0)|0}return b|0}function iT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0,O=0;O=l;l=l+464|0;L=O+416|0;N=O+400|0;I=O+384|0;j=O+352|0;n=O+320|0;o=O+288|0;p=O+256|0;r=O+224|0;s=O+192|0;t=O+160|0;u=O+128|0;v=O+96|0;w=O+64|0;x=O+32|0;J=O;y=c[d+32>>2]|0;e=+h[y>>3];B=d+16|0;z=(e*2.0+ +h[B>>3])*.125;C=y+8|0;K=d+24|0;i=+h[K>>3];M=(+h[C>>3]*2.0+i)*.5;if(!y)Aa(111834,111844,445,111854);f=L;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));A=y+16|0;h[A>>3]=+h[d>>3]-e;D=d+8|0;E=y+24|0;h[E>>3]=i+ +h[D>>3];kT(j,b,d,L);m=c[j>>2]|0;f=c[j+4>>2]|0;e=+h[j+8>>3];H=j+16|0;c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];H=a+16|0;G=a+8|0;F=a+4|0;a:do if(!m){c[a>>2]=0;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}else{h[E>>3]=+h[D>>3];kT(n,b,d,L);g=c[n>>2]|0;j=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;h[E>>3]=+h[D>>3]-+h[C>>3];kT(o,b,d,L);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[I>>2]=c[o>>2];c[I+4>>2]=c[o+4>>2];c[I+8>>2]=c[o+8>>2];c[I+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else m=g;h[A>>3]=+h[d>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(p,b,d,L);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(r,b,d,L);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[A>>3]=+h[d>>3]+ +h[B>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(s,b,d,L);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3];kT(t,b,d,L);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[I>>2]=c[t>>2];c[I+4>>2]=c[t+4>>2];c[I+8>>2]=c[t+8>>2];c[I+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(u,b,d,L);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[I>>2]=c[u>>2];c[I+4>>2]=c[u+4>>2];c[I+8>>2]=c[u+8>>2];c[I+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;t=L+12|0;u=L+32|0;n=(c[L+28>>2]|0)!=0;o=(c[u>>2]|0)==0;j=c[t>>2]|0;m=c[L>>2]|0;do if(!(o&(((c[L+24>>2]|0)!=0|n)^1)&(j|0)==0&(m|0)==0)){do if(o&(n^1)){h[A>>3]=+h[d>>3]-+h[y>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=E;j=D;i=+h[K>>3];b:while(1){while(1){h[m>>3]=i+ +h[j>>3];if(!(+h[A>>3]<=+h[d>>3]+ +h[B>>3])){n=42;break b}kT(v,b,d,L);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=39;break b}if(k<e)break;else{m=A;j=A;i=z}}c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==39){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==42){j=c[t>>2]|0;m=c[L>>2]|0;break}}while(0);if(!((j|0)==0&(m|0)==0))break;h[A>>3]=+h[d>>3]-+h[y>>3];k=+h[D>>3];n=w+4|0;o=w+8|0;p=w+16|0;i=k;k=k+ +h[K>>3];while(1){h[E>>3]=k;if(!(k>=i-+h[C>>3])){n=51;break}kT(w,b,d,L);j=c[w>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j){n=47;break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}i=+h[D>>3];k=+h[E>>3]-M}if((n|0)==47){c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==51){m=c[L>>2]|0;break}}else m=0;while(0);i=+h[d>>3];k=i+ +h[B>>3];h[A>>3]=k;q=+h[C>>3];h[E>>3]=+h[D>>3]-q;t=L+20|0;o=(c[L+4>>2]|0)!=0;n=(m|0)==0;m=c[t>>2]|0;j=c[u>>2]|0;c:do if(!(n&(((c[L+8>>2]|0)!=0|o)^1)&(m|0)==0&(j|0)==0)){do if(n&(o^1)){h[A>>3]=k;p=x+4|0;r=x+8|0;s=x+16|0;m=E;j=D;i=q;d:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[A>>3]>=i-+h[y>>3])){n=61;break d}kT(x,b,d,L);n=c[x>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=58;break d}if(k<e)break;else{m=A;j=A;i=z}}c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==58){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==61){m=c[t>>2]|0;j=c[u>>2]|0;break}}while(0);if(!((m|0)==0&(j|0)==0))break;h[A>>3]=i+ +h[B>>3];i=+h[D>>3];n=J+4|0;o=J+8|0;p=J+16|0;k=i;i=i-+h[C>>3];while(1){h[E>>3]=i;if(!(i<=k+ +h[K>>3]))break c;kT(J,b,d,L);j=c[J>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}k=+h[D>>3];i=M+ +h[E>>3]}c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}while(0);c[a>>2]=g;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}while(0);l=O;return}function jT(a){a=a|0;TV(c[a+24>>2]|0)|0;l6(a);return}function kT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)Aa(111834,111844,382,111863);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=((lT(e,k)|0)!=0&1)+g|0}while(0);m=m+1|0}mT(e,q);m=c[d+24>>2]|0;m=VV(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){nT(j,s);n=+oT(q,s);if(n>0.0){g=g+1|0;i=i+ +pT(e,j,q,n,f)}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(mT(j,s),r=+oT(q,s),r>0.0):0){g=g+1|0;i=i+ +qT(e,j,q,r,f)}}k=c[k>>2]|0}QV(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function lT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if(!a)a=0;else{g=+h[b>>3];f=+h[a+16>>3];if((g>f?g<f+ +h[a>>3]:0)?(d=+h[b+8>>3],e=+h[a+24>>3],d>e):0)a=d<e+ +h[a+8>>3];else a=0;a=a&1}return a|0}Aa(111900,111844,219,111937);return 0}function mT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a>>3]);c[b+12>>2]=~~(d+ +h[a+8>>3]);return}function nT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a+16>>3]);c[b+12>>2]=~~(d+ +h[a+24>>3]);return}function oT(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0))*(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0));else d=0.0;return +d}function pT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function qT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function rT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))Aa(111879,111844,276,111889);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){k=+h[b>>3];e=b+8|0;if(k==0.0?+h[e>>3]==0.0:0){e=-1;break}i=+h[d>>3];j=+h[d+8>>3];if(!(i==0.0&j==0.0)){g=+h[e>>3];f=i<k;e=i>k;if(j<g){if(f){e=0;break}e=e?2:1;break}if(!(j>g))return (f|e^1?(f?3:-1):5)|0;if(f)e=6;else e=e?8:7}else e=-1}else e=-1;while(0);return e|0}function sT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=dT(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=HK(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;vT(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=wT(d,g)|0;n=c[j>>2]|0;if(!(eb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function tT(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;WV(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}return}function uT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Uz(c[e>>2]|0)|0;d=0;while(1){if(!(Uz(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}eb[c[g>>2]&63](g,a,4096)|0;l6(a);d=d+1|0}if((h|0)==8)Aa(111950,111844,616,111953);if((f|0)==(d|0))return;else Aa(111965,111844,623,111953)}function vT(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+E(+(l-e));g=+h[b+8>>3];j=~~+E(+(g-f));i=~~+R(+(e+(l+ +h[b+16>>3])));if((i|0)==2147483647)Aa(111977,111844,264,112004);d=~~+R(+(f+(g+ +h[b+24>>3])));if((d|0)==2147483647)Aa(112014,111844,266,112004);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function wT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function xT(b){b=b|0;var d=0,e=0,f=0,g=0;d=D3(b)|0;if(d>>>0>=(c[47436]|0)>>>0){d=d+11|0;c[47436]=d;d=KK(c[47437]|0,d)|0;c[47437]=d;if(!d)d=0;else e=4}else{d=c[47437]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(S1(f)|0)e=(R1(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function yT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0;N=l;l=l+144|0;s=N+96|0;q=N+80|0;v=N+124|0;t=N+72|0;w=N+64|0;x=N+56|0;K=N+48|0;L=N+40|0;M=N+32|0;G=N+24|0;H=N+16|0;I=N+8|0;J=N;k=N+120|0;n=N+116|0;o=N+112|0;p=N+108|0;c[e+32>>2]=f;while(1)if((a[b>>0]|0)==32)b=b+1|0;else break;c[p>>2]=255;g=a[b>>0]|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e+24|0;C=e+16|0;D=e+1|0;E=e+2|0;F=e+3|0;a:do if(g<<24>>24==35){c[q>>2]=k;c[q+4>>2]=n;c[q+8>>2]=o;c[q+12>>2]=p;if((q4(b,112056,q)|0)<=2){g=a[b>>0]|0;r=12;break}switch(f|0){case 0:{O=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=O;i=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=i;j=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=j;m=+((c[p>>2]|0)>>>0)/255.0;zT(O,i,j,t,w,x);h[e>>3]=+h[t>>3];h[z>>3]=+h[w>>3];h[C>>3]=+h[x>>3];h[B>>3]=m;b=0;break a}case 1:{a[e>>0]=c[k>>2];a[D>>0]=c[n>>2];a[E>>0]=c[o>>2];a[F>>0]=c[p>>2];b=0;break a}case 3:{j=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=j;m=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=m;O=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[k>>2]|0)*65535|0)>>>0)/255|0;c[A>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[z>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;c[y>>2]=(((c[p>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[k>>2]|0)>>>0)/255.0;h[z>>3]=+((c[n>>2]|0)>>>0)/255.0;h[C>>3]=+((c[o>>2]|0)>>>0)/255.0;h[B>>3]=+((c[p>>2]|0)>>>0)/255.0;b=0;break a}default:{b=0;break a}}}else r=12;while(0);b:do if((r|0)==12){if(!(g<<24>>24!=46?((g&255)+-48|0)>>>0>=10:0)){g=D3(b)|0;if(g>>>0>=(c[47438]|0)>>>0){g=g+11|0;c[47438]=g;g=KK(c[47439]|0,g)|0;c[47439]=g;if(!g){b=-1;break}}else g=c[47439]|0;n=g;k=b;c:while(1){o=k+1|0;k=a[k>>0]|0;switch(k<<24>>24){case 0:break c;case 44:{k=32;break}default:{}}a[n>>0]=k;n=n+1|0;k=o}a[n>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((q4(g,112070,s)|0)==3){m=+h[t>>3];m=m<1.0?m:1.0;m=m>0.0?m:0.0;h[t>>3]=m;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;i=+h[x>>3];i=i<1.0?i:1.0;i=i>0.0?i:0.0;h[x>>3]=i;switch(f|0){case 0:{h[e>>3]=m;h[z>>3]=j;h[C>>3]=i;h[B>>3]=1.0;b=0;break b}case 1:{BT(m,j,i,K,L,M);a[e>>0]=~~(+h[K>>3]*255.0);a[D>>0]=~~(+h[L>>3]*255.0);a[E>>0]=~~(+h[M>>3]*255.0);a[F>>0]=-1;b=0;break b}case 3:{BT(m,j,i,K,L,M);AT(+h[K>>3],+h[L>>3],+h[M>>3],G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{BT(m,j,i,K,L,M);c[e>>2]=~~(+h[K>>3]*65535.0);c[A>>2]=~~(+h[L>>3]*65535.0);c[z>>2]=~~(+h[M>>3]*65535.0);c[y>>2]=65535;b=0;break b}case 4:{BT(m,j,i,K,L,M);h[e>>3]=+h[K>>3];h[z>>3]=+h[L>>3];h[C>>3]=+h[M>>3];h[B>>3]=1.0;b=0;break b}default:{b=0;break b}}}}b=CT(b)|0;c[v>>2]=b;if(!b)b=-1;else{g=c[47440]|0;if(((g|0)!=0?(u=c[g>>2]|0,(a[u>>0]|0)==(a[b>>0]|0)):0)?(f2(u,b)|0)==0:0)k=g;else{b=e6(v,26e3,2491,12,103)|0;c[47440]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}case 1:{a[E>>0]=0;a[D>>0]=0;a[e>>0]=0;a[F>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[z>>2]=0;c[A>>2]=0;c[e>>2]=0;c[y>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}default:{b=1;break b}}else{k=b;g=b}}b=k+7|0;switch(f|0){case 0:{h[e>>3]=+(d[k+4>>0]|0)/255.0;h[z>>3]=+(d[k+5>>0]|0)/255.0;h[C>>3]=+(d[k+6>>0]|0)/255.0;h[B>>3]=+(d[k+10>>0]|0)/255.0;b=0;break b}case 1:{a[e>>0]=a[b>>0]|0;a[D>>0]=a[g+8>>0]|0;a[E>>0]=a[g+9>>0]|0;a[F>>0]=a[g+10>>0]|0;b=0;break b}case 3:{j=+(d[b>>0]|0)/255.0;h[K>>3]=j;m=+(d[g+8>>0]|0)/255.0;h[L>>3]=m;O=+(d[g+9>>0]|0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b>>0]|0)*257;c[A>>2]=(d[g+8>>0]|0)*257;c[z>>2]=(d[g+9>>0]|0)*257;c[y>>2]=(d[g+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b>>0]|0)/255.0;h[z>>3]=+(d[g+8>>0]|0)/255.0;h[C>>3]=+(d[g+9>>0]|0)/255.0;h[B>>3]=+(d[g+10>>0]|0)/255.0;b=0;break b}default:{b=0;break b}}}}while(0);l=N;return b|0}function zT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;g=b<c?b:c;l=b>c?b:c;l=l<a?a:l;g=l-(g>a?a:g);k=l>0.0?g/l:0.0;if(k>0.0){i=(l-a)/g;j=(l-b)/g;g=(l-c)/g;do if(!(l==a)){if(l==b){g=i+2.0-g;break}if(l==c)g=j+4.0-i;else g=0.0}else g=g-j;while(0);g=g*60.0;if(g<0.0)g=g+360.0}else g=0.0;h[d>>3]=g/360.0;h[f>>3]=l;h[e>>3]=k;return}function AT(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function BT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function CT(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(h2(e,137567,4)|0)==0)):0)?!(d<<24>>24==108|(h2(e,137572,4)|0)==0):0)?(h2(e,137577,8)|0)!=0:0){do if(d<<24>>24==47){d=F3(e,47)|0;if(d){if((a[e>>0]|0)!=47){e=(N3(137586,e,4)|0)==0;b=e?d+1|0:b;break}d=c[47441]|0;b=b+2|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}else b=e}else{d=c[47441]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}while(0);b=xT(b)|0}return b|0}function DT(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ET(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=D3(a)|0;g=(D3(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[47442]|0)>>>0)d=c[47443]|0;else{c[47442]=d;d=KK(c[47443]|0,d)|0;c[47443]=d}c[e>>2]=a;c[e+4>>2]=b;i2(d,137591,e)|0;l=f;return c[47443]|0}function FT(a){a=a|0;c[47441]=a;return}function GT(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;HT(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=IT(g)|0;l=f;return a|0}function HT(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+O(+(+J(+f)/e),+(+I(+f)/d));h[a+56>>3]=c;e=+O(+(+J(+g)/e),+(+I(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+E(+((e-c)/6.283185307179586))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;OT(a);PT(a);QT(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=g*(2.0-g);g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function IT(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=HK(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=o+c;b=+JT(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}c=+I(+f);u=+J(+f);d=a+16|0;s=+h[d>>3];g=c*s;j=a+24|0;r=+h[j>>3];v=u*r;r=c*r;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;i=+h[l>>3];e=c+g*t-v*i;m=a+8|0;n=+h[m>>3];g=v*t+(n+g*i);s=-(u*s);KT(q,c,n);LT(q,e,g);n=+K(+(o*.5));n=+J(+o)*(+G(+(n*(n*3.0)+4.0))+-1.0)/3.0;c=f;f=g;g=r*t+i*s;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=o+c;x=+I(+r);v=+J(+r);u=+h[d>>3];t=x*u;y=+h[j>>3];z=v*y;y=x*y;x=+h[k>>3];w=+h[l>>3];s=+h[a>>3]+t*x-z*w;t=z*x+(+h[m>>3]+t*w);u=-(v*u);v=x*u-y*w;u=y*x+w*u;MT(q,n*i+e,f+n*g,s-n*v,t-n*u,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}NT(q);return q|0}function JT(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;e=(b+c)*.5;i=+h[a+16>>3];d=+h[a+24>>3]/i;g=+I(+(e*2.0));f=+I(+(e*4.0));e=+I(+(e*6.0));a=d<.25?10440:10696;return +(i*((d*(d*.001+4.98)+.207)/(d+.0067))*+P(+((+h[a+16>>3]+d*(d*+h[a>>3]+ +h[a+8>>3]))/(d+ +h[a+24>>3])+g*((+h[a+48>>3]+d*(d*+h[a+32>>3]+ +h[a+40>>3]))/(d+ +h[a+56>>3]))+f*((+h[a+80>>3]+d*(d*+h[a+64>>3]+ +h[a+72>>3]))/(d+ +h[a+88>>3]))+e*((+h[a+112>>3]+d*(d*+h[a+96>>3]+ +h[a+104>>3]))/(d+ +h[a+120>>3]))+(c-b)*((+h[a+144>>3]+d*(d*+h[a+128>>3]+ +h[a+136>>3]))/(d+ +h[a+152>>3])+g*((+h[a+176>>3]+d*(d*+h[a+160>>3]+ +h[a+168>>3]))/(d+ +h[a+184>>3]))+f*((+h[a+208>>3]+d*(d*+h[a+192>>3]+ +h[a+200>>3]))/(d+ +h[a+216>>3]))+e*((+h[a+240>>3]+d*(d*+h[a+224>>3]+ +h[a+232>>3]))/(d+ +h[a+248>>3]))))))}function KT(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[47444]=100;e=HK(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function LT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;MT(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function MT(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[47444]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[47444]=k<<1;j=n6(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function NT(a){a=a|0;var b=0;b=c[a>>2]|0;LT(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=n6(c[a>>2]|0,c[a+4>>2]<<4)|0;c[47444]=0;return}function OT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;e=+h[a+16>>3];c=+h[a+24>>3];c=+G(+(e*e-c*c));e=c*+h[a+40>>3];c=c*+h[a+48>>3];d=+h[a>>3];h[a+104>>3]=d-e;b=+h[a+8>>3];h[a+112>>3]=b-c;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function PT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];j=+h[a+56>>3];i=d*+I(+j);g=+h[a+24>>3];j=g*+J(+j);f=+h[a+64>>3];d=d*+I(+f);f=g*+J(+f);g=+h[a>>3];e=+h[a+40>>3];c=+h[a+48>>3];h[a+72>>3]=g+i*e-j*c;b=+h[a+8>>3];h[a+80>>3]=j*e+(i*c+b);h[a+88>>3]=g+d*e-f*c;h[a+96>>3]=f*e+(d*c+b);return}function QT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;p=+h[a+24>>3];q=+h[a+16>>3];c=p/q;r=+h[a+48>>3];k=+F(+r)<.1;o=+h[a+40>>3];do if(k){n=r/o;d=+N(+(c*n));b=-d;c=1.5707963267948966-+N(+(n/c));if(o<0.0){e=b;b=3.141592653589793-d;d=c+3.141592653589793;break}else{e=-3.141592653589793-d;d=c;c=c+-3.141592653589793;break}}else{n=o/r;b=+N(+(n/c))+1.5707963267948966;c=+N(+(c*n));if(r<0.0){e=b+-3.141592653589793;d=c+3.141592653589793;break}else{e=b;b=b+3.141592653589793;d=c;c=c+-3.141592653589793;break}}while(0);m=+h[a+56>>3];e=e-+E(+((e-m)/6.283185307179586))*6.283185307179586;l=c-+E(+((c-m)/6.283185307179586))*6.283185307179586;b=b-+E(+((b-m)/6.283185307179586))*6.283185307179586;m=d-+E(+((d-m)/6.283185307179586))*6.283185307179586;n=+h[a+64>>3];f=a+88|0;g=a+72|0;if(!(e<=n)){e=+h[g>>3];c=+h[f>>3];c=e<c?e:c}else c=+h[a>>3]+q*+I(+e)*o-r*(p*+J(+e));h[a+136>>3]=c;i=a+96|0;j=a+80|0;k=a+8|0;if(!(l<=n)){l=+h[j>>3];d=+h[i>>3];d=l<d?l:d}else d=+h[k>>3]+r*(q*+I(+l))+p*+J(+l)*o;h[a+144>>3]=d;if(!(b<=n)){l=+h[g>>3];b=+h[f>>3];b=l>b?l:b}else b=+h[a>>3]+q*+I(+b)*o-r*(p*+J(+b));h[a+152>>3]=b-c;if(!(m<=n)){r=+h[j>>3];b=+h[i>>3];b=r>b?r:b}else b=+h[k>>3]+r*(q*+I(+m))+p*+J(+m)*o;h[a+160>>3]=b-d;return}function RT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;ST(b);k=+h[e+56>>3];g=+h[e+64>>3];f=e+48|0;switch(a[e+80>>0]|0){case 116:{g=g+(+h[f>>3]-+TT(d))*.5;i=4;break}case 98:{g=g-(+h[f>>3]-+TT(d))*.5;i=4;break}default:{}}if((i|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;e=NA(c[(c[j>>2]|0)+8>>2]|0,137598)|0;f=m+56|0;c[f>>2]=e;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))c[f>>2]=137609;if((a[d+4>>0]|0)==1){f=c[d>>2]|0;jS(b,c[(c[b>>2]|0)+336>>2]|0);e=c[f+24>>2]|0;if(!e)fS(b,137615);else fS(b,e);VT(b,f,m);if(a[j>>0]|0)l6(c[i>>2]|0)}else UT(b,c[d>>2]|0,m);WT(b);l=n;return}function ST(a){a=a|0;var d=0,e=0;a=_H(a)|0;d=c[a>>2]|0;e=c[d+4>>2]|0;c[a+4>>2]=e;c[a+12>>2]=c[d+12>>2];if(e>>>0<4)c[a+8>>2]=c[d+8>>2];c[a+208>>2]=c[d+208>>2];c[a+228>>2]=c[d+228>>2];c[a+244>>2]=c[d+244>>2];e=a+260|0;b[e>>1]=b[e>>1]&-2|b[d+260>>1]&1;return}function TT(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function UT(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=+h[f>>3]+(p+o)*.5;h[k+8>>3]=+h[f+8>>3]+(+h[e+32>>3]+ +h[e+16>>3])*.5;q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];gU(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function VT(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+176|0;w=B+96|0;y=B+64|0;z=B+136|0;q=B;r=B+128|0;s=g+48|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[y+16>>2]=c[s+16>>2];c[y+20>>2]=c[s+20>>2];c[y+24>>2]=c[s+24>>2];c[y+28>>2]=c[s+28>>2];m=+h[i>>3];n=+h[i+8>>3];s=g+84|0;j=c[s>>2]|0;if(!(c[g>>2]|0))A=(c[g+8>>2]|0)!=0;else A=1;x=g+108|0;k=c[x>>2]|0;if(k|0)XT(i,k,186712);h[y>>3]=m+ +h[y>>3];u=y+16|0;h[u>>3]=m+ +h[u>>3];u=y+8|0;h[u>>3]=n+ +h[u>>3];u=y+24|0;h[u>>3]=n+ +h[u>>3];u=f+152|0;if(A?(c[u>>2]&4|0)==0:0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];t=YT(f,i,g,w,z)|0}else t=0;p=g+42|0;k=e[p>>1]|0;if(!(k&32)){o=c[g+20>>2]|0;v=g+33|0;if(o){k=ZT(f,o,c[g+28>>2]|0,k,r)|0;if(!(b[p>>1]&4)){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];mS(f,w,k)}else{p=d[v>>0]|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];RM(f,_T(q,w,p)|0,4,4,k)}l6(c[r>>2]|0)}while(1){k=c[j>>2]|0;if(!k)break;$T(f,k,i);j=j+4|0}j=c[s>>2]|0;sS(f,1.0);k=g+24|0;while(1){o=j+4|0;j=c[j>>2]|0;if(!j)break;if(!(a[j+100>>0]|0)){j=o;continue}aU(f,j,i,c[k>>2]|0,c[o>>2]|0);j=o}if(a[v>>0]|0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];bU(f,g,w)}}if(t|0)cU(f,z);if((A?c[u>>2]&4|0:0)?(c[w>>2]=c[y>>2],c[w+4>>2]=c[y+4>>2],c[w+8>>2]=c[y+8>>2],c[w+12>>2]=c[y+12>>2],c[w+16>>2]=c[y+16>>2],c[w+20>>2]=c[y+20>>2],c[w+24>>2]=c[y+24>>2],c[w+28>>2]=c[y+28>>2],YT(f,i,g,w,z)|0):0)cU(f,z);if(c[x>>2]|0)dU(i,186712);l=B;return}function WT(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;$H(a);return}function XT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function YT(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;m=m+8|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{hA(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=Y3(bI(d,c[m>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}kA(t,h)|0;i=c[47445]|0;c[47445]=i+1;c[k>>2]=i;i2(j,137692,k)|0;kA(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){iA(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=aI(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m>>2]|0)|0;if(i)lA(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];iI(d,n);aS(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function ZT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((HJ(b,f,i)|0)<<24>>24)){hS(a,b);b=1}else{hS(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)iS(a,137615,d,h);else iS(a,b,d,h);b=e>>>1&1|2}fS(a,137680);l=j;return b|0}function _T(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];i=a+32|0;k=b+16|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];k=a+40|0;b=a+8|0;if((d|0)>1){e=+(d|0)*.5;g=e+ +h[a>>3];h[a>>3]=g;f=e+ +h[b>>3];h[b>>3]=f;j=+h[i>>3]-e;h[i>>3]=j;e=+h[k>>3]-e;h[k>>3]=e}else{j=+h[i>>3];f=+h[b>>3];g=+h[a>>3];e=+h[k>>3]}h[a+16>>3]=j;h[a+24>>3]=f;h[a+48>>3]=g;h[a+56>>3]=e;return a|0}function $T(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;u=y+96|0;v=y+136|0;w=y+64|0;s=y;t=y+128|0;x=g+48|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];k=+h[i>>3];m=+h[i+8>>3];if(!(c[g>>2]|0))x=(c[g+8>>2]|0)!=0;else x=1;h[w>>3]=k+ +h[w>>3];r=w+16|0;h[r>>3]=k+ +h[r>>3];r=w+8|0;h[r>>3]=m+ +h[r>>3];r=w+24|0;h[r>>3]=m+ +h[r>>3];r=f+152|0;if(x?(c[r>>2]&4|0)==0:0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];q=YT(f,i,g,u,v)|0}else q=0;o=g+42|0;j=e[o>>1]|0;a:do if(!(j&32)){n=c[g+20>>2]|0;p=g+33|0;if(n|0){j=ZT(f,n,c[g+28>>2]|0,j,t)|0;if(!(b[o>>1]&4)){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];mS(f,u,j)}else{o=d[p>>0]|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];RM(f,_T(s,u,o)|0,4,4,j)}l6(c[t>>2]|0)}if(a[p>>0]|0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];bU(f,g,u)}j=g+88|0;switch(a[g+92>>0]|0){case 1:{VT(f,c[j>>2]|0,i);break a}case 3:{fU(f,c[j>>2]|0,i);break a}default:{UT(f,c[j>>2]|0,i);break a}}}while(0);if(q|0)cU(f,v);if((x?c[r>>2]&4|0:0)?(c[u>>2]=c[w>>2],c[u+4>>2]=c[w+4>>2],c[u+8>>2]=c[w+8>>2],c[u+12>>2]=c[w+12>>2],c[u+16>>2]=c[w+16>>2],c[u+20>>2]=c[w+20>>2],c[u+24>>2]=c[w+24>>2],c[u+28>>2]=c[w+28>>2],YT(f,i,g,u,v)|0):0)cU(f,v);l=y;return}function aU(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0;G=l;l=l+32|0;E=G+16|0;F=G;y=+h[i>>3];s=+h[i+8>>3];p=(j|0)==0?137615:j;hS(f,p);fS(f,p);B=y+ +h[g+48>>3];C=y+ +h[g+64>>3];D=s+ +h[g+56>>3];s=s+ +h[g+72>>3];p=g+100|0;i=a[p>>0]|0;q=g+86|0;z=F+8|0;t=g+84|0;u=g+82|0;v=g+96|0;w=g+80|0;if((i&1)!=0?(o=c[v>>2]|0,((e[w>>1]|0)+(e[t>>1]|0)|0)<(c[o+104>>2]|0)):0){j=b[q>>1]|0;g=o+33|0;n=a[o+32>>0]|0;H=(n<<24>>24)/2|0;i=H<<24>>24;r=+(H<<24>>24);if(j<<16>>16)if(((e[u>>1]|0)+(j&65535)|0)==(c[o+100>>2]|0)){i=(d[g>>0]|0)+i|0;j=i;i=i&255;m=D-r}else{j=0;m=D}else{j=(d[g>>0]|0)+i|0;m=D}h[z>>3]=m-+(i|0);h[F>>3]=C+r;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,0.0,+(n<<24>>24)+(s+ +(j&255|0)-D));i=a[p>>0]|0}if(i&2?(A=b[q>>1]|0,x=c[v>>2]|0,((e[u>>1]|0)+(A&65535)|0)<(c[x+100>>2]|0)):0){H=b[t>>1]|0;q=(k|0)!=0;o=k+86|0;g=x+33|0;i=x+32|0;p=x+64|0;n=((e[w>>1]|0)+(H&65535)|0)==(c[x+104>>2]|0);do if(!(H<<16>>16)){i=a[i>>0]|0;H=(i<<24>>24)/2|0;g=(H<<24>>24)+(d[g>>0]|0)|0;j=g&255;g=g&255;m=+(H<<24>>24);h[F>>3]=B-+(g|0)-m;if(n){j=g<<1&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(+(j&255)+(y+ +h[p>>3]-(C+m)))&255}else{i=a[i>>0]|0;j=(i<<24>>24)/2|0;m=+(j<<24>>24);h[F>>3]=B-m;if(n){j=(d[g>>0]|0)+(j&255)&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(y+ +h[p>>3]-(C+m)+0.0)&255;else j=0}while(0);h[z>>3]=D-+(((i<<24>>24)/2|0)<<24>>24);c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,+(i<<24>>24)+(C+ +(j&255)-B),0.0)}l=G;return}function bU(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+160|0;o=q+112|0;p=q;j=q+144|0;m=c[f+24>>2]|0;fS(e,(m|0)==0?137615:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))jS(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=137621;k=4}}else{i=137628;k=4}if((k|0)==4)c[j>>2]=i;jS(e,j)}i=f+33|0;sS(e,+(d[i>>0]|0));i=a[i>>0]|0;j=i&255;a:do if(!(b[m>>1]&4)){n=b[f+36>>1]&15360;if(!(n<<16>>16)){if((i&255)>1){r=+(i&255)*.5;h[g>>3]=r+ +h[g>>3];p=g+8|0;h[p>>3]=r+ +h[p>>3];p=g+16|0;h[p>>3]=+h[p>>3]-r;p=g+24|0;h[p>>3]=+h[p>>3]-r};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];mS(e,o,0);break}m=p+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];_T(m,o,j)|0;i=p+32|0;j=p+64|0;k=p+48|0;f=p+80|0;do switch(((n&65535)+-1024|0)>>>10&4194303|0){case 7:{oS(e,m,2);break a}case 3:{oS(e,i,2);break a}case 1:{oS(e,k,2);break a}case 0:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);break a}case 11:{oS(e,m,3);break a}case 5:{oS(e,i,3);break a}case 2:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,k,3);break a}case 8:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,3);break a}case 13:{oS(e,m,4);break a}case 6:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,i,4);break a}case 10:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];p=p+96|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];oS(e,k,4);break a}case 12:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,4);break a}case 9:{oS(e,m,2);oS(e,k,2);break a}case 4:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);oS(e,i,2);break a}default:break a}while(0)}else{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];RM(e,_T(p,o,j)|0,4,4,0)}while(0);l=q;return}function cU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[d+16>>2]|0;f=h+208|0;i=h+260|0;if((c[f>>2]|0)==0?(b[i>>1]&1)==0:0)d=0;else{bS(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){l6(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}b[i>>1]=b[i>>1]&-2|a[e+16>>0]&1;return}function dU(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function eU(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];mS(a,g,1);l=f;return}function fU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=+h[d>>3]+k;m=+h[e+8>>3];j=+h[d+8>>3]+m;k=+h[d+16>>3]+k;m=+h[d+24>>3]+m;h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)Aa(137635,137643,623,137655);if(!(a[e>>0]|0))Aa(137669,137643,624,137655);else{qS(b,e,g,4,1,f);l=i;return}}function gU(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0;Q=l;l=l+128|0;K=Q+104|0;O=Q+48|0;P=Q+16|0;L=Q;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=+h[g+8>>3]+(+h[k+24>>3]-+h[k+8>>3])*.5;cS(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;u=(m|0)==0;v=O+24|0;w=O+8|0;x=O+32|0;y=O+40|0;z=O+48|0;A=j+16|0;B=P+8|0;C=j+4|0;t=0;while(1){if((t|0)>=(e|0))break;k=f+(t*24|0)+8|0;switch(a[f+(t*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[k>>3];break}default:i=M-+h[k>>3]*.5}h[g>>3]=i;r=f+(t*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[r>>3];s=f+(t*24|0)+4|0;p=c[f+(t*24|0)>>2]|0;q=0;while(1){if((q|0)>=(b[s>>1]|0))break;o=p+4|0;k=c[o>>2]|0;if(!k){h[D>>3]=+h[A>>3];c[P>>2]=c[j>>2];m=c[C>>2]|0;c[E>>2]=m;k=c[F>>2]&-128}else{h[D>>3]=+h[(+h[k+16>>3]>0.0?k:j)+16>>3];c[P>>2]=c[((c[k>>2]|0)==0?j:k)>>2];m=c[((c[k+4>>2]|0)==0?j:k)+4>>2]|0;c[E>>2]=m;k=c[k+24>>2]&127|c[F>>2]&-128}c[F>>2]=k;fS(d,m);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(u)n=1.0;else n=+h[p+24>>3];h[v>>3]=n;c[B>>2]=c[(c[o>>2]|0)+8>>2];c[w>>2]=c[p+8>>2];o=p+32|0;h[x>>3]=+h[o>>3];h[y>>3]=+h[r>>3];a[z>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];eS(d,K,O);n=i+ +h[o>>3];h[g>>3]=n;p=p+56|0;q=q+1|0;i=n}t=t+1|0}dS(d);l=Q;return}function hU(a){a=a|0;l6(c[a>>2]|0);l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(c[a+16>>2]|0);l6(c[a+12>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);return}function iU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;l6(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)db[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)l6(d);l6(a)}return}function jU(a){a=a|0;l6(c[a+32>>2]|0);l6(a);return}function kU(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{lU(c[b>>2]|0);break}case 3:{jU(c[b>>2]|0);break}default:iU(c[b>>2]|0)}if(d|0)l6(b);return}function lU(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Oz(c[e>>2]|0)|0;else{b=c[e>>2]|0;l6(c[a+92>>2]|0);l6(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;mU(d);b=b+4|0}l6(c[e>>2]|0)}hU(a);l6(a);return}function mU(a){a=a|0;kU(a+88|0,0);hU(a);l6(a);return}function nU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=oU(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function oU(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(C3(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=pU(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function pU(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(C3(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=oU(c[b+88>>2]|0,d)|0;else b=0;return b|0}function qU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function rU(d){d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=HK((c[d+100>>2]<<2)+4|0)|0;n=HK((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=d&65535;g=+h[l+72>>3];if(d<<16>>16==1)j=~~g;else{j=~~((g-+(S((a[o>>0]|0)+-1|0,f+-1|0)|0))/+(d&65535));j=(j|0)>1?j:1}d=b[l+80>>1]|0;k=d&65535;g=+h[l+64>>3];if(d<<16>>16==1)i=~~g;else{i=~~((g-+(S((a[o>>0]|0)+-1|0,k+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}d=e[l+86>>1]|0;f=d+f|0;while(1){if((d|0)>=(f|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(j|0)?r:j;d=d+1|0}d=e[l+84>>1]|0;f=d+k|0;while(1){if((d|0)>=(f|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(i|0)?q:i;d=d+1|0}m=m+4|0}return}function sU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55892+(a<<2)>>2]|0;else{c[b>>2]=a;i2(195241,137696,b)|0;a=195241}l=d;return a|0}function tU(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=qC(d,sU(f)|0,1)|0;RC(i,137750,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=HK((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=HK((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=qC(b,sU(f)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=HK((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=qC(d,sU(e[o>>1]|0)|0,0)|0;o=qC(d,sU((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=qC(b,sU(e[o>>1]|0)|0,0)|0;o=qC(b,sU((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(b,n,o,~~+h[g+72>>3]);f=f+4|0}vU(d);vU(b);return}function uU(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=fB(a,d,f,0,0)|0;if(!h){i=fB(a,d,f,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;h=c[d>>2]|0;a=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;h=c[d>>2]|0;a=c[h+172>>2]|0;h=(c[h+176>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function vU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[(c[a+16>>2]|0)+192>>2]|0;e=d;d=d+16|0;while(1){h=c[(c[d>>2]|0)+164>>2]|0;if(!h)break;d=h+16|0;if(fB(a,e,h,0,0)|0){e=h;continue}i=fB(a,e,h,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=0;g=e+16|0;f=c[g>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;j=c[g>>2]|0;c[j+180>>2]=e;j=j+184|0;f=c[j>>2]|0;c[j>>2]=f+1;c[e+(f<<2)>>2]=i;f=c[g>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=c[d>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;g=c[d>>2]|0;c[g+172>>2]=e;g=g+176|0;j=c[g>>2]|0;c[g>>2]=j+1;c[e+(j<<2)>>2]=i;e=c[d>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;e=h}return}function wU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function xU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;b=g;c[b>>2]=c[4658];d=c[a+100>>2]|0;if((d|0)!=1?(e=a+104|0,(c[e>>2]|0)!=1):0){c[a+92>>2]=HK((d<<2)+4|0)|0;c[a+96>>2]=HK((c[e>>2]<<2)+4|0)|0;c[f>>2]=c[b>>2];e=lB(137776,f,0)|0;c[f>>2]=c[b>>2];f=lB(137781,f,0)|0;RC(e,137786,280,1)|0;RC(f,137786,280,1)|0;tU(a,e,f);sL(e,2,2147483647)|0;sL(f,2,2147483647)|0;wU(a,e,f);yU(e,f)}else rU(a);l=g;return}function yU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}d=d+164|0}pB(a)|0;pB(b)|0;return}function zU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+272|0;p=r+104|0;q=r+136|0;n=r+72|0;o=r;g=r+144|0;c[o+48>>2]=b;i=o+52|0;switch(FC(b)|0){case 0:{e=c[b+60>>2]|0;f=5;break}case 1:{e=uC(b)|0;f=5;break}case 2:{e=uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;f=5;break}default:e=0}if((f|0)==5)c[i>>2]=e;m=c[e+60>>2]|0;h[o+32>>3]=+h[d+16>>3];c[o+16>>2]=c[d+4>>2];c[o+20>>2]=c[d+8>>2];c[o+40>>2]=0;k=JW(c[d>>2]|0,q,o)|0;if(!k){hA(p,128,g);a[d+82>>0]=0;e=Y3(AU(b,p)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=cQ(e)|0;else e=$P(e,c[i>>2]|0)|0;l6(c[d>>2]|0);c[d>>2]=e;vK(c[(c[m+16>>2]|0)+144>>2]|0,d);lA(p);e=c[q>>2]|0}else{e=k+4|0;f=d+24|0;g=n+8|0;i=n+24|0;j=n+16|0;if((a[e>>0]|0)==1){if((c[(c[k>>2]|0)+24>>2]|0)==0?BU(b)|0:0){b=Y3(BU(b)|0)|0;c[(c[k>>2]|0)+24>>2]=b}o=CU(m,c[k>>2]|0,0,o)|0;c[q>>2]=c[q>>2]|o;o=c[k>>2]|0;t=+h[o+64>>3]*.5;s=+h[o+72>>3]*.5;DU(n,-t,-s,t,s);o=c[k>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2];EU(o,p,15)}else{FU(c[(c[m+16>>2]|0)+144>>2]|0,c[k>>2]|0,o);p=c[k>>2]|0;s=+h[p+24>>3]*.5;t=+h[p+32>>3]*.5;DU(n,-s,-t,s,t);p=(c[k>>2]|0)+8|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2]}h[f>>3]=+h[j>>3]-+h[n>>3];h[d+32>>3]=+h[i>>3]-+h[g>>3];c[d+72>>2]=k;if((a[e>>0]|0)==1){l6(c[d>>2]|0);c[d>>2]=Y3(141914)|0}e=c[q>>2]|0}l=r;return e|0}function AU(b,d){b=b|0;d=d|0;var e=0;a:do switch(FC(b)|0){case 0:{kA(d,HB(b)|0)|0;break}case 1:{kA(d,HB(b)|0)|0;break}case 2:{kA(d,HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;kA(d,HB(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(uB(uC(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){kA(d,142050)|0;break a}else{kA(d,138041)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function BU(b){b=b|0;var c=0,d=0;c=NA(b,138032)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=NA(b,141126)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function CU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)XT(j,k,186744);c[g+80>>2]=i;k=JU(f,g,j)|0;r=g+36|0;f=e[r>>1]|0;i=g+32|0;if(!(f&128))a[i>>0]=2;m=g+33|0;if(!(f&32))a[m>>0]=1;xU(g);n=c[g+104>>2]|0;p=a[i>>0]|0;f=S(p,n+1|0)|0;o=d[m>>0]<<1;q=c[g+100>>2]|0;p=S(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;o=g+40|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[o>>1]|0,s<<16>>16):0){if(!((m|0)<(f|0)|(s&65535|0)<(i|0))){i=0;f=0;break}dA(0,137832,t)|0;k=1;i=0;f=0;break}dA(0,137866,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[o>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)dU(j,186744);l=w;return k|0}function DU(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function EU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+64|0;H=J+32|0;I=J;w=c[f+84>>2]|0;m=c[f+80>>2]|0;if((m|0?(j=c[m+24>>2]|0,j|0):0)?(k=f+24|0,(c[k>>2]|0)==0):0)c[k>>2]=Y3(j)|0;G=f+48|0;j=g+16|0;o=+h[j>>3];n=+h[g>>3];k=~~(o-n-+(~~+h[f+64>>3]|0));if((k|0)<=-1)Aa(137799,137643,1761,137809);m=g+24|0;u=+h[m>>3];p=g+8|0;q=+h[p>>3];r=+(~~+h[f+72>>3]|0);s=~~(u-q-r);if((s|0)<=-1)Aa(137822,137643,1764,137809);t=e[f+36>>1]|0;a:do if(t&1){b:do if((k|0)>0)switch(t&6){case 4:{h[j>>3]=n+r;break b}case 2:{K=+(k|0);h[j>>3]=o+K;n=K+n;h[g>>3]=n;break b}default:{K=+(k>>>1|0);n=n+K;h[g>>3]=n;h[j>>3]=o-K;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{u=q+r;h[m>>3]=u;s=0;j=0;break a}case 8:{K=+(s|0);u=K+u;h[m>>3]=u;h[p>>3]=q+K;s=0;j=0;break a}default:{K=+(s>>>1|0);h[p>>3]=q+K;u=u-K;h[m>>3]=u;s=0;j=0;break a}}else{s=0;j=0}}else j=k;while(0);o=+(d[f+33>>0]|0);E=f+32|0;F=a[E>>0]|0;v=F<<24>>24;q=+(F<<24>>24);F=f+104|0;m=c[F>>2]|0;t=(j|0)/(m|0)|0;p=j-(S(t,m)|0)|0;p=~~(+(p|0)+((p|0)>-1?.5:-.5));D=f+96|0;t=t+v|0;j=~~(n+o+q);k=0;while(1){if((k|0)>(m|0))break;C=(c[D>>2]|0)+(k<<2)|0;m=c[C>>2]|0;c[C>>2]=j;j=t+j+((k|0)<(p|0)&1)+m|0;k=k+1|0;m=c[F>>2]|0}C=f+100|0;m=c[C>>2]|0;p=(s|0)/(m|0)|0;s=s-(S(p,m)|0)|0;s=~~(+(s|0)+((s|0)>-1?.5:-.5));B=f+92|0;p=p+v|0;j=~~(u-o-q);k=0;while(1){if((k|0)>(m|0))break;A=(c[B>>2]|0)+(k<<2)|0;m=c[A>>2]|0;c[A>>2]=j;j=j-p+(((k|0)<(s|0))<<31>>31)-m|0;k=k+1|0;m=c[C>>2]|0}x=(i|0)==0;y=I+16|0;z=I+24|0;A=I+8|0;m=w;while(1){p=c[m>>2]|0;if(!p)break;j=b[p+84>>1]|0;k=b[p+86>>1]|0;s=k&65535;t=j&65535;v=(e[p+80>>1]|0)+t|0;w=(e[p+82>>1]|0)+s|0;if(x)j=0;else{j=j<<16>>16==0?8:0;j=k<<16>>16==0?j|4:j;j=(w|0)==(c[C>>2]|0)|((v|0)==(c[F>>2]|0)?j|2:j)}k=c[D>>2]|0;h[I>>3]=+(c[k+(t<<2)>>2]|0);t=a[E>>0]|0;h[y>>3]=+((c[k+(v<<2)>>2]|0)-t|0);v=c[B>>2]|0;h[z>>3]=+(c[v+(s<<2)>>2]|0);h[A>>3]=+((c[v+(w<<2)>>2]|0)+t|0);c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];c[H+16>>2]=c[I+16>>2];c[H+20>>2]=c[I+20>>2];c[H+24>>2]=c[I+24>>2];c[H+28>>2]=c[I+28>>2];GU(p,H,j&i);m=m+4|0}a[f+35>>0]=i;c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];c[G+16>>2]=c[g+16>>2];c[G+20>>2]=c[g+20>>2];c[G+24>>2]=c[g+24>>2];c[G+28>>2]=c[g+28>>2];l=J;return}function FU(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0;P=l;l=l+112|0;I=P+48|0;J=P+16|0;K=P;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;c[J+20>>2]=0;c[J+24>>2]=0;c[J+28>>2]=0;L=e+4|0;M=J+16|0;N=f+16|0;O=f+32|0;r=b[L>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[O>>3];h[M>>3]=k;i=N}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:N)+16>>3];h[M>>3]=k;i=(c[i>>2]|0)==0?N:i}i=c[i>>2]|0;c[J>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(f2(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=J+4|0;G=J+24|0;H=f+40|0;x=f+20|0;y=d+144|0;z=I+4|0;w=K+8|0;A=I+16|0;B=I+24|0;C=I+8|0;D=I+12|0;v=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;f=0;g=r;while(1){if((f|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;n=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((n|0)>=(b[i+(f*24|0)+4>>1]|0))break;c[I>>2]=CK(c[(c[i+(f*24|0)>>2]|0)+(n*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(f*24|0)|0;g=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;m=c[G>>2]&-128;if(!g){h[M>>3]=+h[O>>3];c[J>>2]=c[N>>2];c[F>>2]=c[x>>2];c[G>>2]=c[H>>2]&127|m}else{g=c[g+24>>2]&127;if(!g)g=c[H>>2]&127;c[G>>2]=g|m;r=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;h[M>>3]=+h[(+h[r+16>>3]>0.0?r:N)+16>>3];c[J>>2]=c[((c[r>>2]|0)==0?N:r)>>2];c[F>>2]=c[((c[r+4>>2]|0)==0?N:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=eb[c[i>>2]&63](i,J,1)|0;JO(K,d,I);R=+h[K>>3];o=+h[w>>3];l6(c[(c[(c[e>>2]|0)+(f*24|0)>>2]|0)+(n*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(f*24|0)>>2]|0;c[r+(n*56|0)>>2]=c[I>>2];h[r+(n*56|0)+32>>3]=R;h[r+(n*56|0)+16>>3]=+h[A>>3];h[r+(n*56|0)+24>>3]=+h[B>>3];c[r+(n*56|0)+4>>2]=c[z>>2];c[r+(n*56|0)+8>>2]=c[C>>2];c[r+(n*56|0)+12>>2]=c[D>>2];Q=+h[M>>3];S=+h[B>>3];k=S>k?S:k;q=q+R;n=n+1|0;p=Q>p?Q:p;j=o>j?o:j}h[i+(f*24|0)+8>>3]=q;g=(f|0)==0;do if(v)if(g){o=p;k=p-k;break}else{o=p;k=t+p-u-k;break}else{o=j;k=g?p:j}while(0);h[i+(f*24|0)+16>>3]=k;s=q>s?q:s;t=t+o;u=u+k;f=f+1|0;g=b[L>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=P;return}function GU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+64|0;v=z+32|0;y=z;k=f+24|0;if((c[k>>2]|0)==0?(j=c[(c[f+96>>2]|0)+24>>2]|0,j|0):0)c[k>>2]=Y3(j)|0;u=f+36|0;t=e[u>>1]|0;k=g+8|0;j=g+16|0;w=t&6;s=g+24|0;x=t&24;a:do if(t&1){m=+h[f+64>>3];r=+h[f+72>>3];n=+h[j>>3];p=+h[g>>3];o=n-p-m;b:do if(o>0.0)switch(w&7){case 4:{n=m+p;h[j>>3]=n;m=p;break b}case 2:{n=n+o;h[j>>3]=n;m=o+p;h[g>>3]=m;break b}default:{q=o*.5;m=p+q;h[g>>3]=m;n=n-q;h[j>>3]=n;break b}}else m=p;while(0);q=+h[s>>3];p=+h[k>>3];o=q-p-r;if(o>0.0)switch(x&31){case 16:{o=r+p;h[s>>3]=o;break a}case 8:{r=q+o;h[s>>3]=r;p=o+p;h[k>>3]=p;o=r;break a}default:{o=o*.5;p=p+o;h[k>>3]=p;o=q-o;h[s>>3]=o;break a}}else o=q}else{m=+h[g>>3];p=+h[k>>3];n=+h[j>>3];o=+h[s>>3]}while(0);t=f+48|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];c[t+16>>2]=c[g+16>>2];c[t+20>>2]=c[g+20>>2];c[t+24>>2]=c[g+24>>2];c[t+28>>2]=c[g+28>>2];a[f+35>>0]=i;B=+(d[f+33>>0]|0);A=+(d[f+34>>0]|0);q=m+B+A;h[y>>3]=q;r=A+(B+p);t=y+8|0;h[t>>3]=r;p=n-B-A;s=y+16|0;h[s>>3]=p;o=o-B-A;g=y+24|0;h[g>>3]=o;j=a[f+92>>0]|0;k=f+88|0;do if(j<<24>>24==1){x=c[k>>2]|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];EU(x,v,i)}else{m=p-q;if(j<<24>>24==3){j=c[k>>2]|0;n=+h[j+24>>3];m=m-+h[j+16>>3];c:do if(m>0.0)switch(w&7){case 4:{h[s>>3]=p-m;break c}case 2:{h[y>>3]=q+m;break c}default:break c}while(0);m=o-r-n;d:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break d}case 8:{h[t>>3]=r+m;break d}default:break d}while(0);c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];HU(j,v);break}j=c[k>>2]|0;n=+h[j+32>>3];m=m-+h[j+24>>3];e:do if(!((w|0)==6|!(m>0.0)))switch(w&7){case 4:{h[s>>3]=p-m;break e}case 2:{h[y>>3]=q+m;break e}default:{B=m*.5;h[y>>3]=q+B;h[s>>3]=p-B;break e}}while(0);m=o-r-n;f:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break f}case 8:{h[t>>3]=r+m;break f}default:{B=m*.5;h[t>>3]=r+B;h[g>>3]=o-B;break f}}while(0);x=j+8|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[x+28>>2]=c[y+28>>2];y=b[u>>1]&768;IU(c[k>>2]|0,(y&1023)==512?108:(y&1023)==256?114:110)}while(0);l=z;return}function HU(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function IU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function JU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=IL()|0;v=NU()|0;i=0;h=0;k=Qz(t)|0;while(1){if(!k)break;j=Qz(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)RU(v,h);k=c[k>>2]|0}h=HK((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Qz(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Qz(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=KU(d,n,f,g)|0|k;l=LU(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=(e[n+80>>1]|0)+l|0;m=(e[n+82>>1]|0)+q|0;if(SU(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Oz(t)|0;Oz(v)|0;LL(u);return k|0}function KU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+16|0;w=x+8|0;v=x;c[g+96>>2]=i;t=g+36|0;o=e[t>>1]|0;s=g+34|0;p=i+36|0;if(!(o&64)){if(!(b[p>>1]&64))n=2;else n=a[i+34>>0]|0;a[s>>0]=n}q=g+33|0;if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[p>>1]&32))n=1;else n=a[i+33>>0]|0;a[q>>0]=n}r=g+92|0;n=g+88|0;switch(a[r>>0]|0){case 1:{o=CU(f,c[n>>2]|0,g,j)|0;p=c[n>>2]|0;n=o;o=p+64|0;p=p+72|0;break}case 3:{o=MU(c[n>>2]|0,j)|0;p=c[n>>2]|0;n=o;o=p+16|0;p=p+24|0;break}default:{FU(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);p=c[n>>2]|0;n=0;o=p+24|0;p=p+32|0}}k=+((d[q>>0]|0)+(d[s>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[p>>3]+k;p=g+38|0;i=g+40|0;do if(b[t>>1]&1){o=b[p>>1]|0;if(o<<16>>16?(u=b[i>>1]|0,u<<16>>16):0){if(!(+(o&65535)<m|+(u&65535)<k)){m=0.0;k=0.0;break}if((a[r>>0]|0)==3){m=0.0;k=0.0;break}dA(0,137917,v)|0;n=1;m=0.0;k=0.0;break}dA(0,137950,w)|0;n=1}while(0);y=+(e[p>>1]|0);h[g+64>>3]=m>y?m:y;m=+(e[i>>1]|0);h[g+72>>3]=k>m?k:m;l=x;return n|0}function LU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(QL(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<((e[j>>1]|0)+c|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;OL(a,f,g);g=g+1|0}f=f+1|0}return c|0}function MU(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;PF(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];dA(1,138e3,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function NU(){return Sz(55976,c[4591]|0)|0}function OU(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(12)|0;c[d>>2]=c[b>>2];return d|0}function PU(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function QU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function RU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function SU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(eb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function TU(a){a=a|0;var b=0;if(!(c[47446]|0)){b=HK((a<<2)+4|0)|0;c[47446]=b;c[b>>2]=189788;c[47457]=a}c[47458]=0;return}function UU(){l6(c[47446]|0);c[47446]=0;c[47458]=0;return}function VU(){c[47458]=0;return}function WU(){var a=0,b=0,d=0;b=c[47458]|0;d=c[47446]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)Aa(138697,138044,59,138050);else if((a|0)==5)return}function XU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function YU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[47458]|0;if((b|0)==(c[47457]|0)){dA(1,138058,d)|0;a=1}else{b=b+1|0;c[47458]=b;c[(c[47446]|0)+(b<<2)>>2]=a;XU(b);WU();a=0}l=d;return a|0}function ZU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;i=c[47458]|0;j=(i|0)/2|0;while(1){e=f+(a<<2)|0;if((a|0)>(j|0))break;d=a<<1;b=c[f+(d<<2)>>2]|0;if((d|0)<(i|0)){m=d|1;k=c[f+(m<<2)>>2]|0;l=(c[b>>2]|0)<(c[k>>2]|0);d=l?m:d;b=l?k:b}if((h|0)>=(c[b>>2]|0))break;c[e>>2]=b;c[b+4>>2]=a;a=d}c[e>>2]=g;c[g+4>>2]=a;return}function _U(){var a=0,b=0,d=0,e=0;b=c[47458]|0;if(!b)a=0;else{e=c[47446]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[47458]=b;if(b|0)ZU(1);WU()}return a|0}function $U(a,b){a=a|0;b=b|0;c[a>>2]=b;XU(c[a+4>>2]|0);WU();return}function aV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]-+h[d+48>>3]+-3.0)*.5);l=~~((+h[d+56>>3]-+h[d+40>>3]+-3.0)*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}bV(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){bV(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function bV(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function cV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=HK(28)|0;b=qB(a)|0;s=w+4|0;c[s>>2]=b;b=HK(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=gC(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+88>>3]+ +h[D+96>>3])*.5;z=z<1.0?1.0:z;E=+h[D+80>>3]*.5;E=E<1.0?1.0:E;y=+h[D+16>>3];B=y-z;h[m>>3]=B;z=y+z;h[i>>3]=z;y=+h[D+24>>3];A=y-E;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=hC(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=mV(D,f,t,u)|0;if(c[47394]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];dV(r,C,u,f,D)}e=w+8|0;c[e>>2]=HK((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}l6(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=eV(w,u)|0;l=x;return w|0}function dV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15715]|0;Z3(c[14003]|0,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);z4(i,138503,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;z4(i,138551,r)|0;Z3(138568,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;z4(i,138587,j)|0;d=d+1|0}Z3(138605,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(i,138624,o)|0;d=d+1|0}Z3(138642,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;z4(i,138624,p)|0;Z3(c[14004]|0,i)|0;l=q;return}function eV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=l;l=l+32|0;t=z+16|0;m=z;v=c[a>>2]|0;x=AR(v<<2|2)|0;y=Sz(56020,c[4591]|0)|0;u=Sz(56056,c[4591]|0)|0;v=HK(v<<7)|0;g=HK(c[a>>2]<<4)|0;w=a+8|0;i=b+16|0;j=m+8|0;k=b+24|0;n=b+8|0;e=0;while(1){if((e|0)>=(c[a>>2]|0))break;d=c[w>>2]|0;o=d+(e*72|0)|0;c[d+(e*72|0)+32>>2]=4;p=d+(e*72|0)+36|0;c[p>>2]=g+(e<<2<<2);f=+h[d+(e*72|0)+56>>3];q=d+(e*72|0)+40|0;r=d+(e*72|0)+48|0;if(f<+h[i>>3]){h[m>>3]=f;h[j>>3]=+h[r>>3];c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,y,t,v,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}f=+h[d+(e*72|0)+64>>3];if(f<+h[k>>3]){h[m>>3]=+h[q>>3];h[j>>3]=f;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,u,t,v,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,y,t,v,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[r>>3]>+h[n>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,u,t,v,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}e=e+1|0}o=HK(c[x>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){e=0;break}e=c[s>>2]|0;i=e+(n*72|0)|0;j=e+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=e+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=e+(n*72|0)+56|0;k=e+(n*72|0)+32|0;d=eb[c[u>>2]&63](u,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;B=c[d>>2]|0;A=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;c[A+(g<<2)>>2]=B;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}g=e+(n*72|0)+64|0;d=eb[c[y>>2]&63](y,t,512)|0;while(1){f=+h[g>>3];if(!d)break;if(!(+h[d+16>>3]<f))break;C=c[d>>2]|0;A=c[j>>2]|0;B=c[k>>2]|0;c[k>>2]=B+1;c[A+(B<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}h[p>>3]=f;d=eb[c[u>>2]&63](u,t,512)|0;while(1){f=+h[b>>3];if(!d)break;if(!(+h[d+8>>3]<f))break;A=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=A;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}h[t>>3]=f;h[p>>3]=+h[e+(n*72|0)+48>>3];d=eb[c[y>>2]&63](y,t,512)|0;while(1){e=c[k>>2]|0;if(!d)break;if(!(+h[d+16>>3]<+h[g>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;c[k>>2]=e+1;c[C+(e<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}m=e+m|0;q=(e|0)>(q|0)?e:q;n=n+1|0}while(1){if((e|0)>=(d|0))break;gV((c[s>>2]|0)+(e*72|0)|0);e=e+1|0;d=c[r>>2]|0}d=c[x>>2]|0;C=c[x+16>>2]|0;c[C+(d*40|0)+32>>2]=d;d=d+1|0;c[C+(d*40|0)+32>>2]=d;zR(x,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;hV((c[w>>2]|0)+(d*72|0)|0,x);d=d+1|0}Oz(y)|0;Oz(u)|0;l6(v);iV(x);xR(x);l=z;return x|0}function fV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=eb[c[d>>2]&63](d,e,512)|0;do if(!h){b=BR(b)|0;if(!f)Aa(138486,138434,291,138493);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;eb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function gV(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=b+32|0;k=b+36|0;a:do if((+h[b+64>>3]-+h[b+48>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]-+h[b+40>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function hV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(g+i)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=CR(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=CR(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=CR(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=CR(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=CR(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=CR(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function iV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15715]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,z4(g,138399,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,z4(g,138451,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)Aa(138421,138434,311,138441);else if((b|0)==8)Aa(138473,138434,313,138441);else if((b|0)==10){l=j;return}}function jV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function kV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function lV(a){a=a|0;var b=0,d=0;d=a+8|0;l6(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;l6(c[(c[b>>2]|0)+36>>2]|0);l6(c[d>>2]|0);l6(c[b>>2]|0);ER(c[a+16>>2]|0);Oz(c[a+20>>2]|0)|0;Oz(c[a+24>>2]|0)|0;l6(a);return}function mV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=IK(i*56|0)|0;i=HK(i<<2)|0;g=f*5|1;j=IK(g*72|0)|0;m=g<<5;k=HK(m)|0;m=HK(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,0);W4(173);oV(f,i);yV(f,o,i,g,j)|0;n=pV(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,1);oV(f,i);yV(f,o,i,g,j)|0;f=pV(f,o,j,1,m)|0;g=HK(S(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=((qV(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)+a|0;e=e+1|0;a=q}b=b+1|0}q=KK(g,a<<5)|0;l6(o);l6(i);l6(j);l6(k);l6(m);c[d>>2]=a;l=p;return q|0}function nV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];wV(h,f,1,i);d=xV(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];wV(h,f,0,i);d=xV(e,d,i)|0;g=g+1|0}l=j;return}function oV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+(d|0)+ +(g-d|0)*+S4());e=b+(d<<2)|0;f=b+(h<<2)|0;if((h|0)!=(d|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function pV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=HK(j<<2)|0;c[47459]=HK(j<<4)|0;c[47460]=HK((a*56|0)+56|0)|0;j=HK(a<<2)|0;c[47461]=j;k=0;while(1){if((k|0)>(g|0))break;if(rV(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[47459]|0;i=c[47460]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[47462]=a;c[47463]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=sV(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=sV(l,f,0,b,d,0,k,g,e,1)|0;l6(l);l6(c[47459]|0);l6(c[47460]|0);l6(c[47461]|0);return g|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function rV(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function sV(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;E=(k|0)==0;D=g;a:while(1){if((i|0)<1)break;g=a+(i<<2)|0;if(c[g>>2]|0)break;c[g>>2]=1;r=f+(i*72|0)+16|0;n=+h[r>>3];x=f+(i*72|0)+32|0;o=+h[x>>3];v=f+(i*72|0)|0;y=f+(i*72|0)+4|0;if((n>o?(C=c[v>>2]|0,H=+h[e+(C*56|0)>>3],H==+h[e+(C*56|0)+16>>3]):0)?(C=c[y>>2]|0,I=+h[e+(C*56|0)>>3],I==+h[e+(C*56|0)+16>>3]):0){g=b+(d<<5)+16|0;m=b+(d<<5)+8|0;p=b+(d<<5)|0;if(E){h[p>>3]=H;h[m>>3]=o;h[g>>3]=I}else{h[p>>3]=o;h[m>>3]=-I;h[g>>3]=n;n=-H}h[b+(d<<5)+24>>3]=n;d=d+1|0}g=f+(i*72|0)+40|0;w=c[g>>2]|0;A=f+(i*72|0)+48|0;B=f+(i*72|0)+52|0;C=f+(i*72|0)+44|0;do if((w|0)<1?(c[C>>2]|0)<1:0){if((c[A>>2]|0)>0?(J=c[B>>2]|0,(J|0)>0):0){l=c[f+(J*72|0)>>2]|0;g=c[v>>2]|0;if((J|0)==(j|0)){j=tV(D,g,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,g)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;g=B;l=1;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1}else M=19;while(0);do if((M|0)==19){M=0;s=c[A>>2]|0;if((s|0)<1?(c[B>>2]|0)<1:0){if((w|0)>0?(K=c[C>>2]|0,(K|0)>0):0){m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if((K|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1;break}z=(l|0)==1;u=(l|0)==2;t=f+(i*72|0)+24|0;p=c[C>>2]|0;l=(p|0)>0;if((w|0)>0){if(l){if((s|0)>0?(L=c[B>>2]|0,(L|0)>0):0){m=c[f+(L*72|0)>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)|u&(L|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[v>>2]|0;if(+F(+(+h[x>>3]-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[t>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0){m=c[f+(w*72|0)+4>>2]|0;l=c[e+(l*56|0)+44>>2]|0;if(z&(w|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;l=2;break}}m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=C;l=2;break}}}else if(!l)break a;q=f+(i*72|0)+8|0;n=+h[r>>3];r=c[v>>2]|0;m=e+(r*56|0)|0;p=+F(+(n-+h[e+(r*56|0)+8>>3]))<=1.0e-07;if((s|0)>0?(G=c[B>>2]|0,(G|0)>0):0){if(p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0){l=c[f+(G*72|0)>>2]|0;if(u&(s|0)==(j|0)){j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}}m=c[f+(G*72|0)>>2]|0;l=c[e+((c[y>>2]|0)*56|0)+44>>2]|0;if(u&(G|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[y>>2]|0;if(((p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(l*56|0)+8>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(l*56|0)>>3]))<=1.0e-07:0)if(z){j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}if(((+F(+(n-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[q>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(r*56|0)+24>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(r*56|0)+16>>3]))<=1.0e-07:0){j=c[e+(l*56|0)+44>>2]|0;l=c[e+(r*56|0)+44>>2]|0;if(z){j=tV(D,l,j)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,j,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;j=D;g=B;l=1}while(0);C=i;D=j;i=c[g>>2]|0;j=C}return d|0}function tV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[47463]|0)+1|0;c[47463]=e;m=c[47460]|0;uV(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[47462]|0;g=n+1|0;n=n+2|0;c[47462]=n;q=c[47459]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[47461]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function uV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[47460]|0;m=l+(b*56|0)|0;n=l+(a*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+vV(n,l+(h*56|0)|0,m),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+vV(m,l+(h*56|0)|0,n),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function vV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;g=+h[a>>3];k=+h[b>>3]-g;j=+h[a+8>>3];i=+h[b+8>>3]-j;g=+h[c>>3]-g;j=+h[c+8>>3]-j;d=k*g+i*j;e=+G(+(k*k+i*i));f=+G(+(g*g+j*j));if(!(k*j-i*g>=0.0))d=-d/e/f+-2.0;else d=d/e/f;return +d}function wV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];l=e+32|0;k=a+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];d=(d|0)==0;g=+h[a+8>>3];j=+h[k>>3];i=+h[a>>3];f=+h[a+24>>3];h[e+16>>3]=d?i:j;h[e+24>>3]=d?f:g;h[e+48>>3]=d?j:i;h[e+56>>3]=d?g:f;a:do if(b|0){a=0;while(1){if((a|0)==4)break a;k=e+(a<<4)+8|0;j=+h[k>>3];l=e+(a<<4)|0;h[k>>3]=+h[l>>3];h[l>>3]=-j;a=a+1|0}}while(0);return}function xV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=b+3|0;i=b+1|0;j=b+2|0;f=0;g=b;while(1){if((g|0)>(h|0))break;k=g+1|0;e=a+(g*56|0)+44|0;do if((g|0)!=(b|0))if((g|0)==(h|0)){c[e>>2]=b;e=j;break}else{c[e>>2]=k;e=g+-1|0;break}else{c[e>>2]=i;e=h}while(0);c[a+(g*56|0)+48>>2]=e;c[a+(g*56|0)+32>>2]=0;m=a+(g*56|0)|0;l=d+(f<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];I6(a+(e*56|0)+16|0,l|0,16)|0;f=f+1|0;g=k}return b+4|0}function yV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[47464]=e<<1;c[47465]=e;k=HK(e*80|0)|0;c[47466]=1;c[47467]=1;u6(f|0,0,e*72|0)|0;g=zV(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=AV(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=BV(a,i+-1|0)|0;h=BV(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}CV(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;DV(e,b,f,k);e=e+1|0}i=i+1|0}e=BV(a,j)|0;while(1){if((e|0)>=(a|0))break;CV(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}l6(k);return c[47466]|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=IV()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;MV(s,k,l);n=IV()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=IV()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;NV(r,k,l);c[e+(j*40|0)+28>>2]=f;l=IV()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=IV()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=IV()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=IV()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=HV(d)|0;i=HV(d)|0;m=HV(d)|0;o=HV(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];I6(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];I6(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function AV(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+W3(b);a=a+1|0}return a+-1|0}function BV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+W3(c);a=a+1|0}return ~~+R(+(d/c))|0} -function pq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+32|0;ba=ha+24|0;ca=ha+20|0;da=ha+16|0;fa=ha+12|0;ga=ha+8|0;X=ha;q=+h[e>>3];p=e+24|0;o=+h[p>>3];r=e+32|0;n=+h[r>>3];Y=+h[e+72>>3];Z=c[e+80>>2]|0;_=+h[e+88>>3];t=+h[e+96>>3];$=c[e+104>>2]|0;c[ba>>2]=0;c[ca>>2]=10;c[da>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[X>>3]=0.0;if(!((b|0)==0|(Z|0)<1)?(aa=c[b>>2]|0,m=c[b+4>>2]|0,!((a|0)<1|(m|0)<1)):0){if((m|0)<(c[e+52>>2]|0)){s=0;j=0;k=0}else{k=IK(a*80|0)|0;c[da>>2]=k;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;s=1;j=k}c[i>>2]=0;if((aa|0)==(m|0)){R=sw(b,1)|0;T=c[R+20>>2]|0;U=c[R+24>>2]|0;V=c[d+20>>2]|0;W=c[d+24>>2]|0;Q=c[d+28>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);k=S(aa,a)|0;j=0;while(1){if((j|0)>=(k|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(R,a,g);h[p>>3]=o}if(n<0.0){h[r>>3]=.2;n=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}O=1.0-q;P=+H(+o,+O);K=+H(+n,+((2.0-q)/3.0))/o;M=a<<3;L=IK(M)|0;M=S(aa,M)|0;N=IK(M)|0;F=(s|0)!=0;I=e+116|0;J=K*.2;C=q==-1.0;D=e+64|0;E=(f|0)!=0;j=0;A=0;B=0.0;z=t;b:while(1){A=A+1|0;B6(N|0,g|0,M|0)|0;if(F)j=ew(a,aa,10,g,(c[I>>2]|0)==0?0:f)|0;s=0;o=0.0;c:while(1){if((s|0)<(aa|0))k=0;else break;while(1){if((k|0)>=(a|0))break;h[L+(k<<3)>>3]=0.0;k=k+1|0}x=s+1|0;d=T+(x<<2)|0;y=S(s,a)|0;m=c[T+(s<<2)>>2]|0;while(1){if((m|0)>=(c[d>>2]|0))break;p=U+(m<<2)|0;k=c[p>>2]|0;d:do if((k|0)!=(s|0)){n=+Xw(g,a,s,k);k=0;while(1){if((k|0)>=(a|0))break d;t=n*(K*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[p>>2]|0,a)|0)+k<<3)>>3]));w=L+(k<<3)|0;h[w>>3]=+h[w>>3]-t;k=k+1|0}}while(0);m=m+1|0}p=V+(x<<2)|0;d=c[V+(s<<2)>>2]|0;while(1){if((d|0)>=(c[p>>2]|0))break;r=W+(d<<2)|0;k=c[r>>2]|0;e:do if((k|0)!=(s|0)){n=+Ww(g,a,s,k);m=Q+(d<<3)|0;k=0;while(1){if((k|0)>=(a|0))break e;q=+h[m>>3];t=n-q;t=t*(t*(J*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[r>>2]|0,a)|0)+k<<3)>>3])))/n;w=L+(k<<3)|0;h[w>>3]=+h[w>>3]+(n<q?t:-t);k=k+1|0}}while(0);d=d+1|0}f:do if(!F)if(E&(c[I>>2]|0)!=0){k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}g:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=f+(k<<3)|0;p=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break g;r=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[r>>3]=+h[r>>3]+P*+h[d>>3]*(+h[g+(m+y<<3)>>3]-+h[g+(m+p<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}h:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break h;p=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[p>>3]=+h[p>>3]+P*(+h[g+(m+y<<3)>>3]-+h[g+(m+d<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{_v(j,+h[D>>3],g+(y<<3)|0,s,ba,ca,da,fa,ga,X,i);d=c[ba>>2]|0;if(c[i>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;s=c[da>>2]|0;k=0;while(1){if((k|0)>=(d|0)){n=0.0;k=0;break f}q=+h[p+(k<<3)>>3];q=q>1.0e-15?q:1.0e-15;u=r+(k<<3)|0;v=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break;w=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[w>>3]=+h[w>>3]+P*+h[u>>3]*(+h[g+(m+y<<3)>>3]-+h[s+(m+v<<3)>>3])/n;m=m+1|0}k=k+1|0}}while(0);while(1){if((k|0)>=(a|0))break;t=+h[L+(k<<3)>>3];n=n+t*t;k=k+1|0}n=+G(+n);o=o+n;i:do if(n>0.0){k=0;while(1){if((k|0)>=(a|0)){k=0;break i}w=L+(k<<3)|0;h[w>>3]=+h[w>>3]/n;k=k+1|0}}else k=0;while(0);while(1){if((k|0)>=(a|0)){s=x;continue c}w=g+(k+y<<3)|0;h[w>>3]=+h[w>>3]+z*+h[L+(k<<3)>>3];k=k+1|0}}if(j|0)lw(j);z=+gq($,z,o,B,_);if(!((A|0)<(Z|0)&z>Y)){ea=75;break}else B=o}if((ea|0)==75?c[e+112>>2]|0:0)hq(a,R,g);l6(N);if((R|0)!=(b|0))nw(R);l6(L);j=c[da>>2]|0;k=j}else c[i>>2]=-100;if(k|0)l6(j);j=c[fa>>2]|0;if(j|0)l6(j);j=c[ga>>2]|0;if(j|0)l6(j)}l=ha;return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c[b+20>>2]|0;o=c[b+24>>2]|0;p=IK(a<<3)|0;m=c[b>>2]|0;k=0;a:while(1){if((k|0)<(m|0))b=0;else break;while(1){if((b|0)>=(a|0))break;h[p+(b<<3)>>3]=0.0;b=b+1|0}l=k+1|0;j=c[n+(l<<2)>>2]|0;i=c[n+(k<<2)>>2]|0;b=0;while(1){if((i|0)>=(j|0))break;e=c[o+(i<<2)>>2]|0;if((e|0)!=(k|0)){g=S(e,a)|0;e=0;while(1){if((e|0)>=(a|0))break;q=p+(e<<3)|0;h[q>>3]=+h[d+(e+g<<3)>>3]+ +h[q>>3];e=e+1|0}b=b+1|0}i=i+1|0}if((b|0)<=0){k=l;continue}f=.5/+(b|0);e=S(k,a)|0;b=0;while(1){if((b|0)>=(a|0)){k=l;continue a}q=d+(b+e<<3)|0;h[q>>3]=+h[q>>3]*.5+f*+h[p+(b<<3)>>3];b=b+1|0}}l6(p);return}function rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0.0;i=c[a+20>>2]|0;j=c[a+24>>2]|0;h=c[a>>2]|0;k=IK((h<<2)+4|0)|0;a=0;while(1){if((a|0)>(h|0)){d=0;e=0;break}c[k+(a<<2)>>2]=0;a=a+1|0}while(1){if((e|0)>=(h|0))break;f=e+1|0;g=c[i+(f<<2)>>2]|0;a=0;b=c[i+(e<<2)>>2]|0;while(1){if((b|0)>=(g|0))break;a=((e|0)!=(c[j+(b<<2)>>2]|0)&1)+a|0;b=b+1|0}g=k+(a<<2)|0;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d=(d|0)>(e|0)?d:e;e=f}l=+(c[k+4>>2]|0);if(l>+(d|0)*.8?l>+(h|0)*.3:0)a=1;else a=0;l6(k);return a|0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;o=l;l=l+48|0;n=o+16|0;j=o;g=S(b,b)|0;e=0;while(1){if((e|0)>=(g|0)){e=0;break}h[n+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}d=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/d;e=e+1|0}while(1){if((g|0)>=(a|0)){i=0;break}i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}while(1){if((i|0)>=(a|0))break;j=S(i,b)|0;g=0;while(1){if((g|0)>=(b|0))break;k=c+(g+j<<3)|0;m=S(g,b)|0;e=0;while(1){if((e|0)==(b|0))break;p=n+(e+m<<3)|0;h[p>>3]=+h[p>>3]+ +h[k>>3]*+h[c+(e+j<<3)>>3];e=e+1|0}g=g+1|0}i=i+1|0}d=+h[n+8>>3];if(d==0.0)d=0.0;else{q=+h[n>>3];f=+h[n+24>>3];d=-(f-q-+G(+(f*f+(d*(d*4.0)+q*q-q*2.0*f))))/(d*2.0)}f=+G(+(d*d+1.0));d=d/f;f=1.0/f;e=0;while(1){if((e|0)>=(a|0))break;p=S(e,b)|0;n=c+(p<<3)|0;q=+h[n>>3];p=c+(p+1<<3)|0;r=+h[p>>3];h[n>>3]=d*q+f*r;h[p>>3]=d*r-f*q;e=e+1|0}l=o;return}function tq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;uq(a,b,c,d,e,f,g,h,i,j);return}function uq(b,d,e,f,g,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+192|0;D=H+176|0;B=H+168|0;F=H;B6(F|0,f|0,168)|0;c[n>>2]=0;do if(d|0?(G=c[d+4>>2]|0,!((b|0)<1|(G|0)<1)):0){A=f+136|0;if((tw(d,0)|0)!=0?(c[d+16>>2]|0)==1:0){if((c[A>>2]|0)==1)p=yw(e)|0;else p=e;E=yw(d)|0}else t=5;do if((t|0)==5)if((c[A>>2]|0)==1){E=xw(d,0)|0;p=xw(e,0)|0;break}else{E=Nw(d)|0;p=e;break}while(0);C=f+160|0;r=c[C>>2]|0;q=(k|0)>0;if((r|0)==3){if(q)t=14}else if(q&(r|0)==4)t=14;if((t|0)==14){e=IK(S(b<<3,c[E>>2]|0)|0)|0;G=vq(E,k,m)|0;tq(b,G,0,f,0,0,e,0,0,n);wq(b,E,k,m,j,e);iu(b,E,j,i,c[f+124>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m);nw(G);l6(e);if((E|0)==(d|0))break;nw(E);break}y=cx(c[f+44>>2]|0,c[f+48>>2]|0)|0;c[y+16>>2]=c[f+40>>2];z=qx(E,p,g,y)|0;r=tx(z)|0;if(!(c[r+32>>2]|0))s=j;else s=IK(S(b<<3,c[r+4>>2]|0)|0)|0;q=rq(E)|0;if(+h[f>>3]==-1.0001234){h[f>>3]=-1.0;o=(q|0)==0?-1.0:-1.8;q=f;t=20}while(1){if((t|0)==20){t=0;h[q>>3]=o}v=r+24|0;q=f+96|0;w=r+32|0;x=r+8|0;a:do switch(c[A>>2]|0){case 0:{u=c[f+132>>2]|0;switch(u|0){case 0:{kq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break a}case 2:break;default:t=24}do if((t|0)==24){t=c[x>>2]|0;if((u|0)==3?(c[t>>2]|0)>1e4:0){if(!(a[195234]|0))break;u=c[15715]|0;c[B>>2]=1e4;z4(u,92600,B)|0;break}lq(b,t,f,c[v>>2]|0,s,n);break a}while(0);fq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break}case 1:{h[q>>3]=1.0;t=f+104|0;c[t>>2]=1;I=(c[r+28>>2]|0)==0;o=I?.5:.05;c[f+80>>2]=I?500:100;I=(c[w>>2]|0)==0;u=r+12|0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o,n);if(I){c[f+16>>2]=0;h[q>>3]=.05;c[t>>2]=0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.5,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.125,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.03125,n)}break}default:{}}while(0);v=c[w>>2]|0;if(!v){t=38;break}if(c[n>>2]|0){t=34;break}t=c[r+16>>2]|0;r=c[r+40>>2]|0;if(!(c[v+32>>2]|0))u=j;else u=IK(S(b<<3,c[v+4>>2]|0)|0)|0;I=f+24|0;xq(b,c[v+8>>2]|0,t,c[v+20>>2]|0,s,u,r,+h[I>>3]*.001);l6(s);c[f+16>>2]=0;h[I>>3]=+h[I>>3]*.75;c[f+104>>2]=0;o=((c[(c[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;r=v;s=u;t=20}if((t|0)==34)l6(s);else if((t|0)==38){Rx(b,E,f,g,j,n);q=f+124|0;if(a[195234]|0){I=c[15715]|0;c[D>>2]=c[q>>2];z4(I,92663,D)|0}if((b|0)==2)sq(G,2,j);o=+h[f+152>>3];if(o!=0.0)yq(G,b,j,o);iu(b,E,j,i,c[q>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m)}B6(f|0,F|0,168)|0;if((E|0)!=(d|0))nw(E);if(!((p|0)==0|(p|0)==(e|0)))nw(p);dx(y);ex(z)}while(0);l=H;return}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;x=y;u=c[a+20>>2]|0;v=c[a+24>>2]|0;w=IK(c[a>>2]<<2)|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){e=0;break}c[w+(e<<2)>>2]=1;e=e+1|0}while(1){if((e|0)>=(b|0)){e=0;d=0;break}c[w+(c[d+(e<<2)>>2]<<2)>>2]=-1;e=e+1|0}while(1){m=c[a>>2]|0;if((d|0)>=(m|0)){d=0;b=0;break}b=w+(d<<2)|0;if((c[b>>2]|0)>0){c[b>>2]=e;e=e+1|0}d=d+1|0}a:while(1){while(1){if((b|0)>=(m|0))break a;j=b+1|0;if((c[w+(b<<2)>>2]|0)<0)b=j;else break}k=c[u+(j<<2)>>2]|0;i=c[u+(b<<2)>>2]|0;while(1){if((i|0)>=(k|0)){b=j;continue a}f=c[v+(i<<2)>>2]|0;b:do if((c[w+(f<<2)>>2]|0)>-1)d=d+1|0;else{h=c[u+(f+1<<2)>>2]|0;g=c[u+(f<<2)>>2]|0;while(1){if((g|0)>=(h|0))break b;f=c[v+(g<<2)>>2]|0;if((f|0)!=(b|0))d=((c[w+(f<<2)>>2]|0)>>>31^1)+d|0;g=g+1|0}}while(0);i=i+1|0}}b=d<<2;if((d|0)>0){r=IK(b)|0;s=IK(b)|0;p=s;q=r}else{p=0;q=0;r=0;s=0}t=c[15715]|0;b=0;d=0;c:while(1){f=c[a>>2]|0;while(1){if((b|0)>=(f|0))break c;n=w+(b<<2)|0;o=b+1|0;if((c[n>>2]|0)<0)b=o;else break}m=u+(o<<2)|0;k=c[u+(b<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0)){b=o;continue c}f=v+(k<<2)|0;g=c[f>>2]|0;d:do if((c[w+(g<<2)>>2]|0)>-1){c[q+(d<<2)>>2]=c[n>>2];c[p+(d<<2)>>2]=c[w+(c[f>>2]<<2)>>2];d=d+1|0}else{j=u+(g+1<<2)|0;i=c[u+(g<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break d;g=v+(i<<2)|0;h=c[g>>2]|0;if((h|0)!=(b|0)?(c[w+(h<<2)>>2]|0)>-1:0){c[q+(d<<2)>>2]=c[n>>2];h=d+1|0;c[p+(d<<2)>>2]=c[w+(c[g>>2]<<2)>>2];f=c[n>>2]|0;d=c[w+(c[g>>2]<<2)>>2]|0;if((f|0)==68|(d|0)==68){c[x>>2]=f;c[x+4>>2]=d;z4(t,92681,x)|0;d=h}else d=h}i=i+1|0}}while(0);k=k+1|0}}x=Aw(d,e,e,q,p,0,8,8)|0;l6(r);l6(s);l6(w);l=y;return x|0}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;p=IK(c[b>>2]<<2)|0;i=0;while(1){if((i|0)>=(c[b>>2]|0)){i=0;break}c[p+(i<<2)>>2]=1;i=i+1|0}while(1){if((i|0)>=(d|0)){i=0;l=0;break}j=c[e+(i<<2)>>2]|0;if((j|0)>-1?(j|0)<(c[b>>2]|0):0)c[p+(j<<2)>>2]=-1;i=i+1|0}while(1){n=c[b>>2]|0;if((l|0)>=(n|0)){m=0;break}j=p+(l<<2)|0;if((c[j>>2]|0)>-1){c[j>>2]=i;i=i+1|0}l=l+1|0}while(1){if((m|0)>=(n|0))break;i=c[p+(m<<2)>>2]|0;a:do if((i|0)>-1){j=S(i,a)|0;l=S(m,a)|0;i=0;while(1){if((i|0)>=(a|0))break a;h[f+(i+l<<3)>>3]=+h[g+(i+j<<3)>>3];i=i+1|0}}while(0);m=m+1|0}o=b+20|0;g=b+24|0;n=0;while(1){if((n|0)>=(d|0))break;b=c[e+(n<<2)>>2]|0;i=c[o>>2]|0;l=c[i+(b+1<<2)>>2]|0;i=c[i+(b<<2)>>2]|0;m=l-i|0;b=S(b,a)|0;j=0;while(1){if((j|0)>=(a|0))break;h[f+(j+b<<3)>>3]=0.0;j=j+1|0}while(1){if((i|0)<(l|0))j=0;else break;while(1){if((j|0)>=(a|0))break;k=+h[f+((S(c[(c[g>>2]|0)+(i<<2)>>2]|0,a)|0)+j<<3)>>3];q=f+(j+b<<3)|0;h[q>>3]=k+ +h[q>>3];j=j+1|0}i=i+1|0}k=+(m|0);i=0;while(1){if((i|0)>=(a|0))break;q=f+(i+b<<3)|0;h[q>>3]=+h[q>>3]/k;i=i+1|0}n=n+1|0}l6(p);return}function xq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=+j;var k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;n=o;c[n>>2]=g;Dw(d,0,f,0,n,0,a);a:do if((i+-1|0)>>>0<6){qq(a,b,c[n>>2]|0);k=c[e>>2]|0;m=c[e+20>>2]|0;g=c[e+24>>2]|0;b=0;b:while(1){if((b|0)>=(k|0))break a;i=b+1|0;e=m+(i<<2)|0;b=c[m+(b<<2)>>2]|0;c:while(1){b=b+1|0;if((b|0)>=(c[e>>2]|0)){b=i;continue b}f=g+(b<<2)|0;d=0;while(1){if((d|0)>=(a|0))continue c;q=(+Pw()+-.5)*j;p=(c[n>>2]|0)+((S(c[f>>2]|0,a)|0)+d<<3)|0;h[p>>3]=q+ +h[p>>3];d=d+1|0}}}}while(0);l=o;return}function yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+16|0;j=k;e=0;while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}f=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/f;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}d=d*-.017453277777777776;f=+I(+d);d=+J(+d);e=0;while(1){if((e|0)>=(a|0))break;m=S(e,b)|0;j=c+(m<<3)|0;n=+h[j>>3];m=c+(m+1<<3)|0;o=+h[m>>3];h[j>>3]=f*n+d*o;h[m>>3]=f*o-d*n;e=e+1|0}l=k;return}function zq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;var j=0,k=0,l=0,m=0;m=(tw(b,0)|0)!=0;j=(c[b+16>>2]|0)==1;do if(!(m&j))if(j){j=yw(sw(b,0)|0)|0;break}else{j=Nw(b)|0;break}else j=b;while(0);l=yw(j)|0;c[i>>2]=0;j=c[l>>2]|0;m=S(j,a)|0;if(!d){IK(S(a<<3,j)|0)|0;_a()}k=Dx(l,a,0.0,c[d>>2]|0,(e|0)==0?0:2,1)|0;if(!k)c[i>>2]=-1;else{h[k+40>>3]=.1;c[k+24>>2]=5;+Fx(k,a,c[d>>2]|0,f,g);e=k+32|0;j=0;while(1){if((j|0)>=(m|0))break;i=(c[d>>2]|0)+(j<<3)|0;h[i>>3]=+h[i>>3]/+h[e>>3];j=j+1|0}Ex(k)}if((l|0)!=(b|0))nw(l);return}function Aq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;zq(a,c,d,e,f,g,h);return}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;A=c[b>>2]|0;B=c[b+20>>2]|0;y=c[b+24>>2]|0;z=c[b+28>>2]|0;if(!(tw(b,0)|0))Aa(96096,92688,37,92705);a=IK(56)|0;p=a+20|0;c[p>>2]=0;c[a+24>>2]=2;c[a+12>>2]=0;o=IK(16)|0;c[p>>2]=o;h[o>>3]=e;h[o+8>>3]=f;c[a+16>>2]=105;h[a+40>>3]=.01;c[a+48>>2]=~~+G(+(+(c[b>>2]|0)));o=b+8|0;p=a+4|0;c[p>>2]=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;o=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;c[a+8>>2]=o;p=c[p>>2]|0;q=c[p+28>>2]|0;r=c[o+28>>2]|0;if((o|0)==0|(p|0)==0){Cx(a);a=0}else{s=c[p+20>>2]|0;t=c[p+24>>2]|0;u=c[o+20>>2]|0;v=c[o+24>>2]|0;c[u>>2]=0;c[s>>2]=0;m=0;d=0;while(1){if((m|0)>=(A|0))break;w=m+1|0;x=B+(w<<2)|0;e=0.0;f=0.0;n=c[B+(m<<2)>>2]|0;while(1){l=d+1|0;g=t+(d<<2)|0;b=q+(d<<3)|0;i=v+(d<<2)|0;j=r+(d<<3)|0;if((n|0)>=(c[x>>2]|0))break;k=c[y+(n<<2)>>2]|0;if((k|0)!=(m|0)){C=+h[z+(n<<3)>>3];C=C>=0.0?C:-C;C=C>.01?C:.01;c[g>>2]=k;c[i>>2]=k;h[b>>3]=-1.0;h[j>>3]=-C;e=e+ +h[b>>3];f=f-C;d=l}n=n+1|0}c[g>>2]=m;c[i>>2]=m;h[b>>3]=-e;h[j>>3]=-f;c[s+(w<<2)>>2]=l;c[u+(w<<2)>>2]=l;m=w;d=l}c[p+8>>2]=d;c[o+8>>2]=d}return a|0}function Cq(a){a=a|0;Cx(a);return}function Dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Gx(a,b,c,d,.001))}function Eq(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)d=sw(a,0)|0;else d=Nw(a)|0;f=c[d+28>>2]|0;a:do if(b!=1.0){e=c[d+8>>2]|0;a=0;while(1){if((a|0)>=(e|0))break a;g=f+(a<<3)|0;h[g>>3]=+h[g>>3]*b;a=a+1|0}}while(0);return d|0}function Fq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0;j=c[b>>2]|0;c[e>>2]=0;k=S(j,a)|0;e=0;while(1){if((e|0)>=(k|0)){e=1;f=1;break}h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}while(1){if((f|0)>=(j|0))break;i=S(f,a)|0;g=0;while(1){if((g|0)>=(a|0))break;l=+h[d+(g<<3)>>3]-+h[d+(g+i<<3)>>3];if((l>=0.0?l:-l)>1.0e-16){e=0;f=j;break}else g=g+1|0}f=f+1|0}a:do if(e|0){T4(1);e=0;while(1){if((e|0)>=(k|0))break a;h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}}while(0);e=Eq(b,1.0)|0;if(!(tw(e,0)|0))Aa(92731,92688,164,92767);else{k=Bq(0,e,0,101.0e5,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,101.0e3,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,1010.0,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,10.1,100.0,0)|0;+Dq(k,a,d,300);Cq(k);Zw(0.0,0.0,490.0,700.0,c[b>>2]|0,a,d);nw(e);return}}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=IK((qB(a)|0)<<4)|0;i=(e|0)!=0;j=b+8|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(i)f=((h2(HB(g)|0,92782,11)|0)==0&1)+f|0;m=c[g+16>>2]|0;l=c[m+120>>2]<<1;h[k+(l<<3)>>3]=+h[m+32>>3]*.5+ +h[b>>3];h[k+((l|1)<<3)>>3]=+h[m+40>>3]*.5+ +h[j>>3];g=hC(a,g)|0}if(i&(f|0)!=0){b=IK(f<<2)|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(!(h2(HB(g)|0,92782,11)|0)){c[b+(f<<2)>>2]=c[(c[g+16>>2]|0)+120>>2];f=f+1|0}g=hC(a,g)|0}c[e>>2]=b;c[d>>2]=f}return k|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+32|0;w=z+16|0;v=z+8|0;u=z;if(a){x=qB(a)|0;y=rB(a)|0;b=gC(a)|0;e=0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=e;b=hC(a,b)|0;e=e+1|0}r=y<<2;q=IK(r)|0;r=IK(r)|0;b=y<<3;s=IK(b)|0;o=DA(a,2,101842,0)|0;t=(d|0)!=0;if(t){e=DA(a,2,92794,0)|0;p=HK(b)|0;n=p}else{n=0;e=0;p=0}j=(o|0)==0;k=(e|0)==0;i=gC(a)|0;b=0;while(1){if(!i)break;m=c[(c[i+16>>2]|0)+120>>2]|0;g=UA(a,i)|0;while(1){if(!g)break;c[q+(b<<2)>>2]=m;c[r+(b<<2)>>2]=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!j?(A=OA(g,o)|0,c[v>>2]=u,(q4(A,101510,v)|0)==1):0)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[s+(b<<3)>>3]=f;if(!k){A=OA(g,e)|0;c[w>>2]=u;if((q4(A,101510,w)|0)==1)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[n+(b<<3)>>3]=f}g=WA(a,g)|0;b=b+1|0}i=hC(a,i)|0}b=Aw(y,x,x,q,r,s,1,8)|0;if(t)c[d>>2]=Aw(y,x,x,q,r,p,1,8)|0;l6(q);l6(r);l6(s);if(n)l6(p)}else b=0;l=z;return b|0}function Iq(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Jq(a,k)|0){b=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=gC(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=hC(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=gC(a)|0;while(1){if(!d)break a;f=UA(a,d)|0;if(f|0)break;d=hC(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+O(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+I(+e);e=+J(+e);b=gC(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=j+(g*p-e*o);h[n>>3]=i+(e*p+g*o);b=hC(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Jq(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=NA(b,92798)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+b6(b,f);if((c[f>>2]|0)==(b|0))if(!((bP(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e/180.0*3.141592653589793;b=1}else b=0;while(0);l=g;return b|0}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,92808)|0;return Lq(a,(d|0)==0?(c|0?c:195341):d,b)|0}function Lq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;n=o+16|0;j=o+8|0;i=o;m=e+4|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17936;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(N3(d,g,c[f+8>>2]|0)|0)){k=5;break}f=f+16|0}if((k|0)==5){if(!(c[f+12>>2]|0)){c[i>>2]=g;dA(0,92816,i)|0;f=17936}i=c[f>>2]|0;c[e>>2]=i;c[m>>2]=c[f+12>>2];if((i|0)==18)Mq(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=cP(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;dA(0,92858,j)|0;f=0}else f=f&255;g=(f|0)==0;f=g&1;g=g?92905:136010;k=14}}else{f=0;g=136010;k=14}if((k|0)==14){c[e>>2]=f;c[m>>2]=g}if(a[195234]|0){k=c[15715]|0;j=c[e+8>>2]|0;p=+h[e+16>>3];c[n>>2]=c[m>>2];c[n+4>>2]=j;h[n+8>>3]=p;z4(k,92913,n)|0}l=o;return e|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(q4(b,137696,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+YO(a,DA(a,0,92949,0)|0,-4.0,-1.0e10);l=e;return}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;h=i+8|0;g=i;do if((qB(b)|0)>=2){e=Iq(b)|0;e=(Oq(b)|0)+e|0;f=c[d>>2]|0;if(f){if(a[195234]|0){f=c[15715]|0;k=HB(b)|0;j=c[d+4>>2]|0;c[g>>2]=k;c[g+4>>2]=j;z4(f,93278,g)|0;f=c[d>>2]|0}if(f>>>0>2){switch(f|0){case 3:{f=Pr(b,1)|0;break}case 4:{f=Pr(b,0)|0;break}case 6:case 5:{f=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{zr(b,f)|0;f=0;break}case 15:{f=Pr(b,-1)|0;break}default:{c[h>>2]=c[d+4>>2];dA(0,93301,h)|0;f=0}}e=f+e|0;break}if(Pq(b)|0){Qq();l6(c[46887]|0);c[46887]=0;break}Rq(b);if((c[d>>2]|0)==2)f=Sq()|0;else f=Tq()|0;if(f|0)Uq();Qq();l6(c[46887]|0);c[46887]=0;e=f+e|0}}else e=0;while(0);l=i;return e|0}function Oq(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+24|0;g=n+16|0;k=n;d=NA(b,141045)|0;a:do if(((d|0)!=0?(m=k+8|0,c[g>>2]=k,c[g+4>>2]=m,f=q4(d,105804,g)|0,(f|0)!=0):0)?(i=+h[k>>3],!(+F(+i)<1.0e-09)):0){if((f|0)!=1){e=+h[m>>3];if(+F(+e)<1.0e-09){d=0;break}}else{h[m>>3]=i;e=i}if(!(i==1.0&e==1.0)){if(a[195234]|0){g=c[15715]|0;h[j>>3]=i;h[j+8>>3]=e;z4(g,93461,j)|0}d=gC(b)|0;while(1){if(!d){d=1;break a}j=c[(c[d+16>>2]|0)+132>>2]|0;h[j>>3]=+h[k>>3]*+h[j>>3];j=j+8|0;h[j>>3]=+h[m>>3]*+h[j>>3];d=hC(b,d)|0}}else d=0}else d=0;while(0);l=n;return d|0}function Pq(b){b=b|0;var d=0,e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46896]=qB(b)|0;qs();c[46911]=IK((c[46896]|0)*96|0)|0;d=gC(b)|0;i=c[46911]|0;ir(k,b);e=+g[k>>2];f=+g[k+4>>2];if(!(a[k+8>>0]|0))k=1;else{k=2;e=e/72.0;f=f/72.0}j=0;while(1){if((j|0)>=(c[46896]|0)){d=0;break}o=c[(c[d+16>>2]|0)+132>>2]|0;h[i+8>>3]=+h[o>>3];h[i+16>>3]=+h[o+8>>3];if(kb[k&3](i+40|0,d,e,f)|0){m=6;break}c[i+24>>2]=j;c[i+28>>2]=1;c[i>>2]=d;c[i+88>>2]=0;i=i+96|0;j=j+1|0;d=hC(b,d)|0}if((m|0)==6){l6(c[46911]|0);c[46911]=0;d=1}l=n;return d|0}function Qq(){var a=0,b=0;a=c[46911]|0;b=0;while(1){if((b|0)>=(c[46896]|0))break;mu(a+40|0);a=a+96|0;b=b+1|0}lu();Ss();l6(c[46911]|0);return}function Rq(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46911]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46896]|0;d=p;e=1;g=i+ +h[p+40>>3];i=i+ +h[p+56>>3];j=k+ +h[p+48>>3];k=k+ +h[p+64>>3];while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=s+ +h[d+136>>3];r=q+ +h[d+144>>3];s=s+ +h[d+152>>3];q=q+ +h[d+160>>3];d=d+96|0;e=e+1|0;g=t<g?t:g;i=s>i?s:i;j=r<j?r:j;k=q>k?q:k}d=NA(b,93401)|0;if(d|0?a[d>>0]|0:0)h[173]=+a6(d);s=+h[173];t=(k-j)*s;s=(i-g)*s;h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=i+s;h[n+8>>3]=k+t;ar(m,n);l=o;return}function Sq(){var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(Vq(0)|0){Wq();b=0;do{hr();b=b+1|0}while((Vq(b)|0)!=0);if(!(a[195234]|0))b=1;else{f=c[15715]|0;c[d>>2]=b;z4(f,93329,d)|0;b=1}}else b=0;l=e;return b|0}function Tq(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;d=Vq(0)|0;if(!d)b=0;else{Wq();Xq(0);Vu(0,1);b=0;f=0;e=0;while(1){Zq();e=e+1|0;g=Vq(e)|0;if(!g)break;d=(g|0)<(d|0)?0:f+1|0;c[46888]=1;if(d){_q();b=b+1|0}Xq(1);Vu(0,1);f=d;d=g}if(a[195234]|0){g=c[15715]|0;c[h>>2]=e;z4(g,93329,h)|0;c[i>>2]=b;z4(g,93356,i)|0}$q();b=1}l=j;return b|0}function Uq(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=c[46911]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function Vq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+24|0;o=r+8|0;q=r;e=c[46911]|0;f=c[46896]|0;b=0;while(1){if((b|0)>=(f|0)){g=0;b=0;break}c[e+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(f+-1|0))break;n=e+96|0;b=b+1|0;k=e+8|0;m=e+40|0;j=e+32|0;h=n;i=b;while(1){if((i|0)>=(f|0)){e=n;continue a}f=h+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];if(!(vu(o,m,p,h+40|0)|0))e=g;else{c[j>>2]=1;c[h+32>>2]=1;e=g+1|0}h=h+96|0;i=i+1|0;g=e;f=c[46896]|0}}if((d[195234]|0)>1){p=c[15715]|0;c[q>>2]=a;c[q+4>>2]=g;z4(p,93382,q)|0}l=r;return g|0}function Wq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;fr();l=c[46890]|0;m=c[46911]|0;a=c[46887]|0;a:while(1){k=a;if(a>>>0>=l>>>0)break;b=a+4|0;if(b>>>0>=l>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;j=+h[d>>3];if(+h[f>>3]!=j){a=b;continue}i=+h[d+8>>3];if(+h[f+8>>3]!=i){a=b;continue}f=a+8|0;d=2;while(1){if(f>>>0>=l>>>0)break;o=c[f>>2]|0;e=+h[o>>3];g=+h[o+8>>3];if(!(e==j&g==i)){n=10;break}f=f+4|0;d=d+1|0}if((n|0)==10){n=0;if(g==i){e=(e-j)/+(d|0);d=(((f>>>0>b>>>0?f:b)+-1+(0-k)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=f;continue a}o=c[b>>2]|0;h[o>>3]=e*+(a|0)+ +h[o>>3];a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=f>>>0){a=f;continue a}p=c[a>>2]|0;d=c[p+16>>2]|0;o=c[b>>2]|0;k=c[o+16>>2]|0;h[o>>3]=+h[p>>3]+(+h[m+(d*96|0)+56>>3]-+h[m+(d*96|0)+40>>3]+(+h[m+(k*96|0)+56>>3]-+h[m+(k*96|0)+40>>3]))*.5;b=b+4|0;a=a+4|0}}return}function Xq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0;if(a|0)fr();i=c[46887]|0;j=c[i>>2]|0;e=+h[j>>3];h[23291]=e;f=+h[j>>3];h[23292]=f;k=c[46896]|0;g=1;while(1){if((g|0)>=(k|0))break;a=c[i+(g<<2)>>2]|0;d=+h[a>>3];if(d<e){h[23291]=d;b=+h[a>>3]}else{b=d;d=e}if(b>f)h[23292]=b;else b=f;g=g+1|0;e=d;f=b}d=+h[j+8>>3];h[23293]=d;b=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3];h[23294]=b;h[23296]=b-d;h[23295]=f-e;return}function Yq(){var a=0;a=c[46889]|0;if(a>>>0<(c[46890]|0)>>>0){c[46889]=a+4;a=c[a>>2]|0}else a=0;return a|0}function Zq(){var a=0,b=0,d=0;a=c[46911]|0;br();d=(c[46888]|0)==0;b=0;while(1){if((b|0)>=(c[46896]|0))break;if(!(d?!(c[a+32>>2]|0):0))cr(a);a=a+96|0;b=b+1|0}return}function _q(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[23287];i=+h[23285];g=+h[23288];e=+h[23286];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=j+f;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;ar(c,b);l=a;return}function $q(){Ds();Fs();Hu();js();return}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[23288]=f;e=+h[b>>3];h[23287]=e;c=+h[a+8>>3];h[23286]=c;d=+h[b+8>>3];h[23285]=d;h[23277]=f;h[23279]=f;h[23281]=e;h[23283]=e;h[23284]=d;h[23280]=d;h[23282]=c;h[23278]=c;return}function br(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46911]|0;g=m+8|0;f=+rs(g,186216);e=+rs(g,186232);d=+rs(g,186248);a=1;b=+rs(g,186264);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46896]|0))break;q=m+104|0;r=+rs(q,186216);n=r<f;t=+rs(q,186248);p=t<d;s=+rs(q,186232);o=s<e;u=+rs(q,186264);q=u<b;a=a+1|0;b=q?u:b;d=p?t:d;e=o?s:e;f=n?r:f;g=q?l:g;i=p?l:i;j=o?l:j;k=n?l:k;m=l}Ts(k+8|0,+h[23277],+h[23278]);Ts(i+8|0,+h[23281],+h[23282]);Ts(j+8|0,+h[23279],+h[23280]);Ts(g+8|0,+h[23283],+h[23284]);return}function cr(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+64|0;j=p+48|0;i=p+32|0;g=p+16|0;m=p+8|0;n=p;k=c[a+88>>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+dr(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];er(g,i,j,m,n);b=b+q*+h[n>>3];d=d+q*+h[m>>3];e=e+q;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[c+8>>3];d=+h[a+8>>3];return +(+F(+(+h[c>>3]*(d-f)+(+h[a>>3]*(f-e)+ +h[b>>3]*(e-d))))*.5)}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[a>>3]+ +h[b>>3]+ +h[c>>3])/3.0;h[e>>3]=(+h[a+8>>3]+ +h[b+8>>3]+ +h[c+8>>3])/3.0;return}function fr(){var a=0,b=0,d=0,e=0;a=c[46887]|0;if(!a){a=IK(c[46896]<<2)|0;c[46887]=a;c[46890]=a+(c[46896]<<2)}d=c[46911]|0;Ss();e=c[46896]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}k3(c[46887]|0,e,4,69);c[46889]=c[46887];return}function gr(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(d<e))if(!(d>e)){e=+h[a>>3];d=+h[b>>3];if(e<d)a=-1;else a=e>d&1}else a=1;else a=-1;return a|0}function hr(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=0;b=c[46911]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function ir(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93413)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93417)|0;if(e|0?jr(e,j,.800000011920929,4.0)|0:0)break;g[m>>2]=4.0;g[j>>2]=4.0;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93422,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function jr(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;o=r;p=r+12|0;q=r+8|0;while(1){k=a[b>>0]|0;m=b+1|0;if(!(X1(k<<24>>24)|0))break;else b=m}s=k<<24>>24==43;k=d+8|0;a[k>>0]=s&1;c[o>>2]=p;c[o+4>>2]=q;b=q4(s?m:b,93455,o)|0;if(!b)b=0;else{n=+g[p>>2];if((b|0)==1){g[q>>2]=n;h=n}else h=+g[q>>2];i=n/e;j=h/e;do if(a[k>>0]|0){if(e>1.0){g[d>>2]=i>f?f:i;h=j>f?f:j;break}if(e<1.0){g[d>>2]=i<f?f:i;h=j<f?f:j;break}else{g[d>>2]=n;break}}else{g[d>>2]=i+1.0;h=j+1.0}while(0);g[d+4>>2]=h;b=1}l=r;return b|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((qB(a)|0)<2)a=0;else{Lq(a,b,c)|0;a=Nq(a,c)|0}l=d;return a|0}function lr(a){a=a|0;return kr(a,NA(a,92808)|0)|0}function mr(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93417)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93413)|0;if(e|0?jr(e,j,1.25,3.200000047683716)|0:0)break;g[m>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93484,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;or(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((pr(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;qr(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((pr(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=~~+g[(c[k>>2]|0)+(a<<2)>>2]+h;qr(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function or(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function rr(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function sr(a){a=a|0;l6(c[a>>2]|0);return}function tr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0;if(!(a[195234]|0))i=0;else{_3(93517,25,1,c[15715]|0)|0;i=0}while(1){if((i|0)>=(b|0))break;j=d+(i<<2)|0;g=0;f=0.0;while(1){if((g|0)==(b|0))break;if((i|0)!=(g|0))f=f+ +h[(c[j>>2]|0)+(g<<3)>>3];g=g+1|0}h[(c[j>>2]|0)+(i<<3)>>3]=-f;i=i+1|0}return tt(d,e,b+-1|0)|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=rn(b,b,0.0)|0;k=rn(b,b,0.0)|0;e=gC(a)|0;while(1){if(!e)break;d=ZA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=_A(a,d,e)|0}e=hC(a,e)|0}i=tr(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[a+(e<<3)>>3]+ +h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]-+h[a+(d<<3)>>3]*2.0;d=d+1|0}e=e+1|0}}while(0);sn(j);sn(k);return i|0}function vr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=IK(n)|0;p=IK(n)|0;q=IK(n)|0;k=IK(n)|0;m=IK(n)|0;n=IK(n)|0;Lt(d,c,n);Et(d,n);Et(d,b);Gt(a,d,b,k);It(d,n,k,o);Lt(d,o,p);i=f+-1|0;c=0;g=+Mt(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,o)>e)){c=0;break}Gt(a,d,p,q);h=+Mt(d,p,q);if(h==0.0){c=0;break}h=g/h;Kt(d,p,h,m);Jt(d,b,m,b);if((c|0)<(i|0)){Kt(d,q,h,q);It(d,o,q,o);h=+Mt(d,o,o);if(g==0.0){r=7;break}Kt(d,p,h/g,p);Jt(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){dA(1,93543,j)|0;c=1}l6(o);l6(p);l6(q);l6(k);l6(m);l6(n);l=s;return c|0}function wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=IK(o)|0;q=IK(o)|0;k=IK(o)|0;m=IK(o)|0;n=IK(o)|0;o=IK(o)|0;Lt(d,c,o);if(g<<24>>24){Et(d,o);Et(d,b)}Ht(a,d,b,m);It(d,o,m,p);Lt(d,p,q);g=f+-1|0;c=0;h=+Mt(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,p)>e)){c=0;break}Ht(a,d,q,k);i=+Mt(d,q,k);if(i==0.0){c=0;break}i=h/i;Kt(d,q,i,n);Jt(d,b,n,b);if((c|0)<(g|0)){Kt(d,k,i,k);It(d,p,k,p);i=+Mt(d,p,p);if(h==0.0){r=9;break}Kt(d,q,i/h,q);Jt(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){dA(1,93543,j)|0;c=1}l6(p);l6(q);l6(k);l6(m);l6(n);l6(o);l=s;return c|0}function xr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=HK(k)|0;n=HK(k)|0;o=HK(k)|0;k=HK(k)|0;Pt(d,b);Pt(d,c);Qt(a,d,b,k);Pt(d,k);Rt(d,c,k,m);Vt(d,m,n);i=f+-1|0;c=0;g=+Wt(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Zt(d,m)>e)){c=0;break}Pt(d,n);Pt(d,b);Pt(d,m);Qt(a,d,n,o);Pt(d,o);h=+Wt(d,n,o);if(h==0.0){c=0;break}h=g/h;Tt(d,b,h,n);if((c|0)<(i|0)){Tt(d,m,-h,o);h=+Wt(d,m,m);if(g==0.0){p=7;break}Ut(d,n,h/g,n);St(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){dA(1,93543,j)|0;c=1}l6(m);l6(n);l6(o);l6(k);l=q;return c|0}function yr(b,d,e,f,i,j,k,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=+o;var p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+48|0;I=P+24|0;D=P+16|0;C=P+8|0;B=P;M=P+40|0;N=P+36|0;K=P+32|0;t=k&4;c[M>>2]=0;c[N>>2]=0;a:do if(c[b+16>>2]|0){q=0;p=0;while(1){if((q|0)>=(d|0))break;u=c[b+(q*20|0)>>2]|0;v=b+(q*20|0)+16|0;s=1;while(1){if((s|0)>=(u|0))break;if(!(p<<24>>24))p=+g[(c[v>>2]|0)+(s<<2)>>2]!=0.0;else p=1;s=s+1|0;p=p&1}q=q+1|0}if(p<<24>>24){A=(t|0)!=0;G=f+4|0;E=o>0.0;if(A){b:do if((j|0)>2){p=j+-1|0;if((ln(b,d,e,G,i,p,k,m,15)|0)<0){p=-1;break a}q=f+(p<<2)|0;p=0;while(1){if((p|0)>=(d|0))break b;h[(c[q>>2]|0)+(p<<3)>>3]=+h[(c[G>>2]|0)+(p<<3)>>3];p=p+1|0}}while(0);w=c[f>>2]|0;x=c[G>>2]|0;if((gu(b,d,x,d)|0)==0?(qy(b,d,.01,.1,x,M,N,K)|0)==0:0){y=c[K>>2]|0;if((y|0)<1){p=ln(b,d,e,f,i,j,k,m,n)|0;break}c:do if(E){s=c[M>>2]|0;t=c[N>>2]|0;u=y+-1|0;r=0.0;q=0;d:while(1){if((q|0)==(y|0))break c;p=c[t+(q<<2)>>2]|0;H=o-(r+ +h[x+(c[s+(p<<2)>>2]<<3)>>3]-+h[x+(c[s+(p+-1<<2)>>2]<<3)>>3]);r=r+(H<0.0?0.0:H);v=q+1|0;if((q|0)<(u|0))q=c[t+(v<<2)>>2]|0;else q=d;while(1){if((p|0)>=(q|0)){q=v;continue d}L=x+(c[s+(p<<2)>>2]<<3)|0;h[L>>3]=r+ +h[L>>3];p=p+1|0}}}while(0);if((j|0)==2?(Nu(b,d,x,w,+h[23315])|0)!=0:0){q=0;p=-1}else O=32}else{q=0;p=-1}}else{en(b,d,j,f,i)|0;if(!(qy(b,d,.01,.1,0,M,N,K)|0))O=32;else{q=0;p=-1}}e:do if((O|0)==32){if((d|0)==1){p=0;break a}L=IK(c[K>>2]<<2)|0;if(!n){p=0;break a}if(a[195234]|0)RO();switch(m|0){case 2:{if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;p=kn(b,d)|0;O=45;break}case 1:{p=fn(b,d)|0;if(!p){dA(0,93616,B)|0;dA(3,93665,C)|0;O=46}else J=p;break}case 3:{if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;p=gn(b,d)|0;O=45;break}default:O=46}if((O|0)==45)if(!p)O=46;else J=p;if((O|0)==46){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;J=jn(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[D>>3]=+SO();z4(b,93767,D)|0;_3(93779,25,1,b)|0;RO()}C=d+-1|0;t=(S(C,d)|0)/2|0;b=t+d|0;f:do if(!A){r=1.0;q=0;while(1){if((q|0)>=(j|0))break;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;H=+F(+(+h[(c[s>>2]|0)+(p<<3)>>3]));r=H>r?H:r;p=p+1|0}q=q+1|0}r=10.0/r;q=0;while(1){if((q|0)>=(j|0))break f;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;D=(c[s>>2]|0)+(p<<3)|0;h[D>>3]=r*+h[D>>3];p=p+1|0}q=q+1|0}}while(0);H=+(t|0);g:do if(E){p=0;r=0.0;t=0;h:while(1){if((t|0)>=(C|0))break;u=t+1|0;s=p;q=u;while(1){p=s+1|0;if((q|0)>=(d|0)){t=u;continue h}z=+ct(f,j,t,q);s=p;r=r+z/+g[J+(p<<2)>>2];q=q+1|0}}r=r/H;p=0;while(1){if((p|0)>=(b|0)){p=0;break g}E=J+(p<<2)|0;g[E>>2]=r*+g[E>>2];p=p+1|0}}else p=0;while(0);while(1){if((p|0)>=(j|0))break;Et(d,c[f+(p<<2)>>2]|0);p=p+1|0}q=c[G>>2]|0;r=+h[q>>3];p=0;while(1){if((p|0)>=(d|0))break;G=q+(p<<3)|0;h[G>>3]=+h[G>>3]-r;p=p+1|0}v=j<<2;B=IK(v)|0;x=d<<2;w=S(x,j)|0;s=IK(w)|0;p=0;while(1){if((p|0)>=(j|0))break;t=s+((S(p,d)|0)<<2)|0;c[B+(p<<2)>>2]=t;u=f+(p<<2)|0;q=0;while(1){if((q|0)>=(d|0))break;g[t+(q<<2)>>2]=+h[(c[u>>2]|0)+(q<<3)>>3];q=q+1|0}p=p+1|0}if(a[195234]|0){G=c[15715]|0;h[I>>3]=+SO();z4(G,93805,I)|0}_t(b,J);$t(b,J);m=IK(d<<3)|0;Xt(d,0.0,m);p=0;s=0;while(1){if((s|0)>=(C|0)){p=d;q=0;s=0;break}t=d-s|0;r=0.0;q=1;while(1){p=p+1|0;if((q|0)>=(t|0))break;z=+g[J+(p<<2)>>2];I=m+(q+s<<3)|0;h[I>>3]=+h[I>>3]-z;r=r+z;q=q+1|0}I=m+(s<<3)|0;h[I>>3]=+h[I>>3]-r;s=s+1|0}while(1){if((q|0)>=(d|0))break;g[J+(s<<2)>>2]=+h[m+(q<<3)>>3];I=p+s|0;p=p+-1|0;q=q+1|0;s=I}A=IK(v)|0;c[A>>2]=IK(w)|0;p=1;while(1){if((p|0)>=(j|0))break;c[A+(p<<2)>>2]=(c[A>>2]|0)+((S(p,d)|0)<<2);p=p+1|0}k=IK(x)|0;e=IK(x)|0;i=IK(b<<2)|0;q=Bu(J,d)|0;y=Gu(J,d,c[M>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;s=0;z=1797693134862315708145274.0e284;p=0;while(1){if(!(s<<24>>24==0&(p|0)<(n|0)))break;Xt(d,0.0,m);au(b,J,i);w=0;u=0;while(1){if((w|0)>=(C|0)){s=0;t=d;u=0;break}x=d-w+-1|0;Yt(d,0.0,e);s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Yt(x,+g[(c[K>>2]|0)+(w<<2)>>2],k);Tt(x,k,-1.0,(c[K>>2]|0)+(w<<2)+4|0);_t(x,k);St(x,k,e,e);s=s+1|0}bu(x,e);s=0;while(1){if((s|0)>=(x|0))break;t=e+(s<<2)|0;r=+g[t>>2];if(r>=3402823466385288598117041.0e14|r<0.0)g[t>>2]=0.0;s=s+1|0}v=w+1|0;r=0.0;s=u;t=0;while(1){s=s+1|0;if((t|0)>=(x|0))break;K=i+(s<<2)|0;Q=+g[e+(t<<2)>>2]*+g[K>>2];g[K>>2]=Q;K=m+(v+t<<3)|0;h[K>>3]=+h[K>>3]-Q;r=r+Q;t=t+1|0}u=m+(w<<3)|0;h[u>>3]=+h[u>>3]-r;w=v;u=s}while(1){if((s|0)>=(d|0)){s=0;break}g[i+(u<<2)>>2]=+h[m+(s<<3)>>3];K=t+u|0;s=s+1|0;t=t+-1|0;u=K}while(1){if((s|0)>=(j|0)){r=0.0;s=0;break}Qt(i,d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}while(1){if((s|0)>=(j|0))break;r=r+ +Wt(d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}r=H+r*2.0;s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Qt(J,d,c[K>>2]|0,k);r=r-+Wt(d,c[K>>2]|0,k);s=s+1|0}Q=+F(+(r-z))/+F(+(z+1.0e-10));s=((p|0)>1&r>z|Q<+h[23315])&1;t=0;while(1){if((t|0)>=(j|0))break;u=c[A+(t<<2)>>2]|0;if((t|0)!=1){if(xr(J,c[B+(t<<2)>>2]|0,u,d,.001,d)|0){p=-1;break e}}else Cu(y,u,B,j,1,15,L,o)|0;t=t+1|0}z=r;p=p+1|0}l6(L);Fu(y);if(B|0){s=0;while(1){if((s|0)>=(j|0))break;u=B+(s<<2)|0;v=f+(s<<2)|0;t=0;while(1){if((t|0)>=(d|0))break;h[(c[v>>2]|0)+(t<<3)>>3]=+g[(c[u>>2]|0)+(t<<2)>>2];t=t+1|0}s=s+1|0}l6(c[B>>2]|0);l6(B)}if(A|0){l6(c[A>>2]|0);l6(A)}l6(k);l6(e);l6(m);l6(J);l6(i)}while(0);l6(c[M>>2]|0);l6(c[N>>2]|0);if(q){l6(c[q>>2]|0);l6(q)}}else O=10}else O=10;while(0);if((O|0)==10)p=ln(b,d,e,f,i,j,k,m,n)|0;l=P;return p|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=qB(a)|0;k=IK(i*48|0)|0;ir(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=gC(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Ar(d,e,f);d=hC(a,d)|0;e=e+48|0}a:do if(!(Br(k,i)|0))d=0;else{switch(b|0){case 9:{Dr(a,k,i,70,1);Fr(a,k,i,71,1);d=0;e=k;break}case 10:{Fr(a,k,i,71,1);Dr(a,k,i,70,1);d=0;e=k;break}case 7:{Dr(a,k,i,72,1);Fr(a,k,i,71,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Fr(a,k,i,71,0);Dr(a,k,i,70,0);d=0;e=k;break}case 12:{Fr(a,k,i,73,0);Dr(a,k,i,70,0);d=0;e=k;break}default:{Dr(a,k,i,72,0);Fr(a,k,i,71,0);d=0;e=k}}if((j|0)==9){Fr(a,k,i,73,1);Dr(a,k,i,70,1);j=10}if((j|0)==10){Dr(a,k,i,70,0);Fr(a,k,i,71,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)/72.0/10.0;h[j+8>>3]=+(g|0)/72.0/10.0;d=d+1|0;e=e+48|0}}while(0);l6(k);l=m;return d|0}function Ar(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0;f=c[b+16>>2]|0;n=c[f+132>>2]|0;l=+h[n>>3]*10.0*72.0;m=~~(l+(l>=0.0?.5:-.5));l=+h[n+8>>3]*10.0*72.0;n=~~(l+(l>=0.0?.5:-.5));l=+g[e+4>>2];i=+g[e>>2];j=+h[f+32>>3];k=+h[f+40>>3];if(!(a[e+8>>0]|0)){j=j*(i*5.0)*72.0;l=l*5.0*k*72.0;f=~~(j+(j>=0.0?.5:-.5));e=~~(l+(l>=0.0?.5:-.5))}else{j=j*.5*72.0;k=k*.5*72.0;f=~~((i+ +(~~(j+(j>=0.0?.5:-.5))|0))*10.0);e=~~((l+ +(~~(k+(k>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=m;c[d+16>>2]=n;c[d+20>>2]=b;c[d+32>>2]=m-f;c[d+36>>2]=n-e;c[d+40>>2]=f+m;c[d+44>>2]=e+n;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Cr(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0);return a&1|0}function Dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,74)|0;else h=Kr(i,e,74)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Er(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0);return a&1|0}function Fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,75)|0;else h=Kr(i,e,75)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Jr(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;f=c[a+16>>2]|0;a=Ir(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Ir(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;f=c[a+12>>2]|0;a=Jr(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Ir(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Jr(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Kr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;c[v>>2]=c[4658];w=lB(93816,v,0)|0;RC(w,137786,280,1)|0;f=Qz(a)|0;g=-2147483647;u=0;while(1){if(!f)break;s=c[f+8>>2]|0;t=((g|0)!=(s|0)&1)+u|0;f=c[f>>2]|0;g=s;u=t}s=w+16|0;t=(u<<3)+-4|0;f=0;j=0;i=0;m=0;k=0;r=Qz(a)|0;h=-2147483647;while(1){n=k+16|0;if(!r)break;q=c[r+8>>2]|0;if((h|0)!=(q|0)){p=qC(w,HB(c[r+20>>2]|0)|0,1)|0;RC(p,137750,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!m){c[(c[s>>2]|0)+192>>2]=p;m=p}else c[(c[f+16>>2]|0)+164>>2]=p;c[g+176>>2]=0;i=j+1|0;h=HK(i<<2)|0;c[(c[o>>2]|0)+172>>2]=h;if(!k){j=i;i=p;k=p;f=p;g=m;h=q}else{c[(c[n>>2]|0)+184>>2]=0;h=HK((k|0)==(m|0)?t:u-j<<2)|0;c[(c[n>>2]|0)+180>>2]=h;h=fB(w,k,p,0,1)|0;RC(h,137763,176,1)|0;g=c[h+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[n>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[n>>2]|0;c[k+180>>2]=f;k=k+184|0;g=c[k>>2]|0;c[k>>2]=g+1;c[f+(g<<2)>>2]=h;g=c[n>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[o>>2]|0;c[k+172>>2]=f;k=k+176|0;j=c[k>>2]|0;c[k>>2]=j+1;c[f+(j<<2)>>2]=h;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=i;i=p;k=p;f=p;g=m;h=q}}else g=m;c[r+24>>2]=i;m=g;r=c[r>>2]|0}c[(c[n>>2]|0)+184>>2]=0;k=HK(4)|0;c[(c[n>>2]|0)+180>>2]=k;c[v>>2]=c[4658];k=lB(93863,v,0)|0;f=Qz(a)|0;while(1){if(!f)break;v=qC(k,HB(c[f+20>>2]|0)|0,1)|0;RC(v,137750,304,1)|0;c[f+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=f;f=c[f>>2]|0}f=0;j=Qz(a)|0;g=-2147483647;a:while(1){if(!j)break;i=c[j+8>>2]|0;b:do if((g|0)==(i|0))i=g;else{f=j;while(1){f=c[f>>2]|0;if(!f)break a;if((c[f+8>>2]|0)!=(i|0))break b}}while(0);h=j+28|0;g=f;while(1){if(!g)break;if(vb[d&127](j,g)|0)fB(k,c[h>>2]|0,c[g+28>>2]|0,0,1)|0;g=c[g>>2]|0}j=c[j>>2]|0;g=i}Nr(k,w,e);pB(k)|0;l=x;return w|0}function Lr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;q=r;c[q>>2]=c[4658];q=lB(93816,q,0)|0;RC(q,137786,280,1)|0;j=q+16|0;g=Qz(d)|0;h=0;while(1){if(!g)break;i=qC(q,HB(c[g+20>>2]|0)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;m=c[o>>2]|0;c[m+112>>2]=g;c[g+24>>2]=i;c[m+176>>2]=0;m=HK(4)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK(4)|0;c[(c[o>>2]|0)+180>>2]=n;if(!h)c[(c[j>>2]|0)+192>>2]=i;else c[(c[h+16>>2]|0)+164>>2]=i;g=c[g>>2]|0;h=i}k=Qz(d)|0;a:while(1){if(!k)break;m=k+32|0;n=k+24|0;o=k+20|0;g=k;while(1){g=c[g>>2]|0;if(!g)break;if(vb[e&127](k,g)|0){h=vb[f&127](m,g+32|0)|0;i=fB(q,c[n>>2]|0,c[g+24>>2]|0,0,1)|0;RC(i,137763,176,1)|0;if((h|0)>=65536){p=13;break a}j=i+16|0;s=c[j>>2]|0;b[s+170>>1]=h;c[s+156>>2]=1;if(i|0?fB(a,c[o>>2]|0,c[g+20>>2]|0,0,0)|0:0)c[(c[j>>2]|0)+156>>2]=100}}k=c[k>>2]|0}if((p|0)==13)Aa(93819,93835,254,93848);k=Qz(d)|0;while(1){if(!k)break;j=c[k+24>>2]|0;m=j+16|0;j=UA(q,j)|0;while(1){if(!j)break;h=c[m>>2]|0;g=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!g)g=IK(h)|0;else g=KK(g,h)|0;h=c[m>>2]|0;c[h+180>>2]=g;h=h+184|0;i=c[h>>2]|0;c[h>>2]=i+1;c[g+(i<<2)>>2]=j;i=c[m>>2]|0;c[(c[i+180>>2]|0)+(c[i+184>>2]<<2)>>2]=0;i=j+-48|0;g=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;h=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!h)g=IK(g)|0;else g=KK(h,g)|0;c[(c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0)+172>>2]=g;f=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;p=c[f+172>>2]|0;f=f+176|0;s=c[f>>2]|0;c[f>>2]=s+1;c[p+(s<<2)>>2]=j;s=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;c[(c[s+172>>2]|0)+(c[s+176>>2]<<2)>>2]=0;j=WA(q,j)|0}k=c[k>>2]|0}l=r;return q|0}function Mr(a){a=a|0;var b=0,d=0,e=0,f=0;f=gC(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){l6(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)l6(b);f=hC(a,f)|0}pB(a)|0;return}function Nr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=gC(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=UA(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=vb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=fB(d,m,h,0,1)|0;RC(i,137763,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((g&65535|0)<(p|0)){if(!(g<<16>>16)){g=c[o>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;g=c[o>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;h=h+16|0;g=c[h>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=WA(a,l)|0}k=hC(a,k)|0}return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Pr(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+64|0;t=x+24|0;r=x+16|0;q=x+52|0;p=x+40|0;s=x;v=qB(b)|0;w=IK(v*72|0)|0;ir(p,b);i=+g[p>>2];j=+g[p+4>>2];p=(a[p+8>>0]|0)!=0;if(p){i=i/72.0;j=j/72.0}e=w;f=gC(b)|0;while(1){if(!f)break;o=c[f+16>>2]|0;k=+h[o+40>>3];n=+h[o+32>>3];if(p){m=j+k*.5;k=i+n*.5}else{m=j*k*.5;k=i*n*.5}o=c[o+132>>2]|0;y=+h[o>>3];h[e>>3]=y;n=+h[o+8>>3];h[e+8>>3]=n;h[e+16>>3]=y-k;h[e+24>>3]=n-m;h[e+32>>3]=k+y;h[e+40>>3]=m+n;h[e+48>>3]=k;h[e+56>>3]=m;c[e+64>>2]=f;e=e+72|0;f=hC(b,f)|0}do if((d|0)<0){i=+Qr(w,v);if(i==0.0){l6(w);e=0;break}if(!(a[195234]|0)){k=i;j=i;u=21}else{u=c[15715]|0;h[r>>3]=i;z4(u,93866,r)|0;k=i;j=i;u=21}}else{f=Rr(w,v,q)|0;e=c[q>>2]|0;if(!e){l6(f);l6(w);e=0;break}if(!d){Tr(s,f,e);i=+h[s>>3];j=+h[s+8>>3]}else{j=+Sr(f,e);i=j}l6(f);if(!(a[195234]|0)){k=i;u=21}else{u=c[15715]|0;h[t>>3]=i;h[t+8>>3]=j;z4(u,93880,t)|0;k=i;u=21}}while(0);if((u|0)==21){e=0;f=w;while(1){if((e|0)>=(v|0))break;u=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[u>>3]=k*+h[f>>3];h[u+8>>3]=j*+h[f+8>>3];e=e+1|0;f=f+72|0}l6(w);e=1}l=x;return e|0}function Qr(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else g=(+h[p>>3]+ +h[j+48>>3])/+F(+(e-f));e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else e=(+h[o>>3]+ +h[j+56>>3])/+F(+(e-f));g=e<g?e:g;i=i+1|0;j=j+72|0;c=g>c?g:c}}return +c}function Rr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=IK((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=KK(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[x>>3]+ +h[q+48>>3])/+F(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[w>>3]+ +h[q+56>>3])/+F(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=KK(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=g<f?g:f;d=d+1|0;e=f>e?f:e;a=c}return +e}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;k3(b+16|0,c,16,76);g=IK((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)>>3]*+h[g+(f<<4)+8>>3];b=i<d;d=b?i:d;e=b?f:e;f=f+1|0}if(d<t){i=+h[g+(e<<4)+8>>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else Aa(93897,93835,832,93917)}function Ur(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(c<d))if(!(c>d)){d=+h[a+8>>3];c=+h[b+8>>3];if(d<c)a=-1;else a=d>c&1}else a=1;else a=-1;return a|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;d=l;l=l+16|0;b=d;c[b>>2]=93932;dA(1,93982,b)|0;l=d;return 0}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;d=e;c[d>>2]=93932;dA(1,94010,d)|0;l=e;return 0}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do switch(d|0){case 2:{e=IK(16)|0;f=IK(24)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=2;c[e>>2]=0;c[e+4>>2]=1;d=e+8|0;c[f+16>>2]=d;c[f+20>>2]=0;c[f+12>>2]=2;c[d>>2]=1;c[e+12>>2]=0;break}case 1:{e=IK(4)|0;f=IK(12)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=1;c[e>>2]=0;break}default:{Vr(0,0,0)|0;a=(d|0)>0;if(!e){if(!a){f=0;break a}_a()}else{if(!a){f=0;break a}_a()}}}while(0);return f|0}function Yr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);l6(a)}return}function Zr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);b=c[a+16>>2]|0;if(b|0)l6(b);l6(a)}return}function _r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=n6(c[46891]|0,d<<2)|0;c[46891]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}$r(n,a,k,e,d);i=-2147483639;while(1){if(!((as(n,m,c[46891]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;bs(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,~~+g[(c[h>>2]|0)+(f<<2)>>2]+a|0,c[46891]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}cs(n);l=o;return}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+-1|0;if((f|0)==1)i=0;else i=IK(j<<2)|0;c[a>>2]=i;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;ds(a,g,d,e);g=g+-1|0}return}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;ds(a,0,d,e);a=1}return a|0}function bs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){k=e+(b<<2)|0;j=c[k>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=j;while(1){h=g+(a<<2)|0;if((a|0)<=0)break;i=a>>>1;j=c[g+(i<<2)>>2]|0;if((c[f+(j<<2)>>2]|0)<=(d|0))break;c[h>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h>>2]=b;c[k>>2]=a}return}function cs(a){a=a|0;a=c[a>>2]|0;if(a|0)l6(a);return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=IK(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}fs(m,a,o,e,d);a:while(1){if(!((gs(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;hs(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,k+ +g[(c[h>>2]|0)+(f<<2)>>2],o,e);f=f+1|0}}cs(m);l6(o);l=p;return}function fs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=IK(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;is(a,g,d,e);g=g+-1|0}return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;is(a,0,d,e);a=1}return a|0}function hs(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){l=e+(b<<2)|0;k=c[l>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=k;while(1){i=h+(a<<2)|0;if((a|0)<=0)break;j=a>>>1;k=c[h+(j<<2)>>2]|0;if(!(+g[f+(k<<2)>>2]>d))break;c[i>>2]=k;c[e+(k<<2)>>2]=a;a=j}c[i>>2]=b;c[l>>2]=a}return}function is(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function js(){cu(187568,48);c[46895]=0;return}function ks(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0;g=eu(187568)|0;c[g+32>>2]=a;c[g+36>>2]=b;Mu(a);Mu(b);c[g+24>>2]=0;c[g+28>>2]=0;i=+h[a>>3];f=+h[b>>3]-i;e=+h[a+8>>3];d=+h[b+8>>3]-e;b=g+16|0;h[b>>3]=i*f+e*d+(f*f+d*d)*.5;a=g+8|0;if((f>0.0?f:-f)>(d>0.0?d:-d)){h[g>>3]=1.0;e=d/f;d=f}else{h[a>>3]=1.0;e=f/d;a=g}h[a>>3]=e;h[b>>3]=+h[b>>3]/d;b=c[46895]|0;c[g+40>>2]=b;c[46895]=b+1;return g|0}function ls(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;r=+h[a>>3];l=r==1.0;q=a+8|0;e=c[a+28>>2]|0;f=c[a+24>>2]|0;if(l?+h[q>>3]>=0.0:0)p=f;else{p=e;e=f}f=(e|0)!=0;n=(p|0)!=0;t=a+16|0;o=p+8|0;k=e+8|0;a:do if(l){do if(f){d=+h[k>>3];if(d>+h[23285])break a;g=+h[23286];if(!(d>=g)){d=g;b=+h[t>>3]-g*+h[q>>3];break}else{b=+h[e>>3];break}}else{g=+h[23286];d=g;b=+h[t>>3]-g*+h[q>>3]}while(0);do if(n){i=+h[o>>3];if(i<g)break a;g=+h[23285];if(!(i<=g)){i=g;g=+h[t>>3]-g*+h[q>>3];break}else{g=+h[p>>3];break}}else{g=+h[23285];i=g;g=+h[t>>3]-g*+h[q>>3]}while(0);j=+h[23287];e=b>j;f=g>j;m=+h[23288];if(!(e&f|b<m&g<m)){if(e){d=(+h[t>>3]-j)/+h[q>>3];b=j}if(b<m){d=(+h[t>>3]-m)/+h[q>>3];b=m}if(f){i=(+h[t>>3]-j)/+h[q>>3];g=j}if(g<m){i=(+h[t>>3]-m)/+h[q>>3];g=m;s=47}else s=47}}else{do if(f){b=+h[e>>3];if(b>+h[23287])break a;i=+h[23288];if(!(b>=i)){d=+h[t>>3]-r*i;b=i;break}else{d=+h[k>>3];break}}else{i=+h[23288];d=+h[t>>3]-r*i;b=i}while(0);do if(n){g=+h[p>>3];if(g<i)break a;j=+h[23287];if(!(g<=j)){i=+h[t>>3]-r*j;g=j;break}else{i=+h[o>>3];break}}else{g=+h[23287];i=+h[t>>3]-r*g}while(0);j=+h[23285];e=d>j;f=i>j;m=+h[23286];if(!(e&f|d<m&i<m)){if(e){d=j;b=(+h[t>>3]-j)/r}if(d<m){d=m;b=(+h[t>>3]-m)/r}if(f){i=j;g=(+h[t>>3]-j)/r}if(i<m){i=m;g=(+h[t>>3]-m)/r;s=47}else s=47}}while(0);if((s|0)==47)ms(a,b,d,g,i);return}function ms(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Ts(c[g>>2]|0,b,d);Ts(c[g>>2]|0,e,f);a=a+36|0;Ts(c[a>>2]|0,b,d);Ts(c[a>>2]|0,e,f);return}function ns(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Mu(d);if(c[a+24+(1-b<<2)>>2]|0){ls(a);Lu(c[a+32>>2]|0);Lu(c[a+36>>2]|0);fu(a,187568)}return}function os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=IK(S(m,d)|0)|0;g=c[e>>2]|0;m=IK(m)|0;n=c[a+8>>2]|0;if(g|0){l6(c[g>>2]|0);l6(g)}k=IK(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((S(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)at(a,b);e=(U4()|0)%(b|0)|0;rr(o,b);g=c[k>>2]|0;if(j){_r(e,a,b,g);f=0;g=0}else{nr(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){_r(e,a,b,g);g=0;f=0}else{nr(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}l6(m);if(j)bt(a,b,n);l=p;return}function ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e/i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function qs(){c[46897]=~~+G(+(+((c[46896]|0)+4|0)));return}function rs(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function ss(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function ts(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=+h[b+8>>3]+ +h[c+8>>3];return}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return +((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+us(h,g,f)>0.0&1;l=e;return d|0}function ws(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=o*(p-q);n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=f*(i-k)+(m+n*(q-p)+l*j);if(g==0.0)d=0;else{p=(l*(q-i)+(m+f*(i-p)))/g;q=-(f*j+(o*(q-k)+n*(i-q)))/g;h[e>>3]=o+(n-o)*p;h[e+8>>3]=i+j*p;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function xs(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0,i=0;c[a+20>>2]=b;Mu(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46898]|0;e=e+((ys(a)|0)*40|0)|0;while(1){g=e+32|0;e=c[g>>2]|0;if(!e){e=0;break}d=+h[i>>3];f=+h[e+24>>3];if(d>f)continue;if(!(d==f))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[g>>2]=a;c[46899]=(c[46899]|0)+1;return}function ys(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46900]|0;e=+(d|0);b=(+h[a+24>>3]-+h[23293])/+h[23296]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46901]|0))c[46901]=a;return a|0}function zs(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46898]|0;b=b+((ys(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;Lu(c[d>>2]|0);c[d>>2]=0}return}function As(){return (c[46899]|0)==0|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46898]|0;d=c[46901]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46901]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Cs(){var a=0,b=0;b=(c[46898]|0)+((c[46901]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;return a|0}function Ds(){l6(c[46898]|0);c[46898]=0;return}function Es(){var a=0,b=0,d=0;c[46899]=0;c[46901]=0;a=c[46897]|0;b=a<<2;c[46900]=b;d=c[46898]|0;if(!d){d=IK(a*160|0)|0;c[46898]=d;b=c[46900]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Fs(){cu(187616,40);l6(c[46907]|0);c[46907]=0;return}function Gs(){var a=0,b=0,d=0;cu(187616,40);a=c[46897]|0;b=a<<1;c[46908]=b;d=c[46907]|0;if(!d){d=IK(a<<3)|0;c[46907]=d;b=c[46908]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46902]=Hs(0,0)|0;c[46903]=Hs(0,0)|0;c[c[46902]>>2]=0;d=c[46903]|0;b=c[46902]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46903]|0)+4>>2]=0;d=c[46907]|0;c[d>>2]=c[46902];c[d+((c[46908]|0)+-1<<2)>>2]=c[46903];return}function Hs(b,d){b=b|0;d=d|0;var e=0;e=eu(187616)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=j*f-g*l,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(f*p-g*q)/m;j=(j*q-l*p)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f<g)e=o;else{if(f==g?+h[o>>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Iu()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Js(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0;o=c[b+8>>2]|0;i=c[o+36>>2]|0;m=+h[d>>3];p=+h[i>>3];n=m>p;e=a[b+16>>0]|0;b=n^1;q=e<<24>>24!=0;if(q|b)if(e<<24>>24==1&b)b=0;else{g=+h[o>>3];b=o+16|0;j=+h[d+8>>3];f=+h[i+8>>3];k=m-p;l=k*k;do if(g==1.0){f=j-f;g=+h[o+8>>3];e=g<0.0;if(n?g>=0.0:e){b=f>=k*g;if(b){b=b&1;break}}else{b=e^m+j*g>+h[b>>3];if(!b){b=b&1;break}}p=p-+h[c[o+32>>2]>>3];b=(l-f*f)*g<f*p*(g*g+(k*2.0/p+1.0));if(e)b=(b^1)&1;else b=b&1}else{p=+h[b>>3]-m*g;m=j-p;p=p-f;b=m*m>l+p*p&1}while(0);b=b^q&1}else b=1;return b|0}function Ks(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Ls(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46908]|0;b=~~((+h[a>>3]-+h[23291])/+h[23295]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Ms(f)|0;if(!b){d=1;while(1){b=Ms(f-d|0)|0;if(b|0)break;b=Ms(d+f|0)|0;if(b|0)break;d=d+1|0}c[46909]=(c[46909]|0)+d}c[46910]=(c[46910]|0)+1;e=c[46902]|0;d=c[46903]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Js(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Js(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Js(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46908]|0)+-1|0):0){b=(c[46907]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Ms(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46908]|0)>(a|0)?(d=(c[46907]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){fu(b,187616);b=0}else b=0}}else b=0;return b|0}function Ns(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Os(a){a=a|0;return c[a+4>>2]|0}function Ps(a){a=a|0;return c[a>>2]|0}function Qs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)!=0&1)<<2)|0;return c[b>>2]|0}function Rs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)==0&1)<<2)|0;return c[b>>2]|0}function Ss(){cu(187648,24);return}function Ts(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46911]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Us(a,i,f)|0;do if(e|0){if((e|0)<0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Us(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];g=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==g&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];i=d-e;g=g-k;f=f-e;d=f/g;e=i/j;b=e<d;if(!(j>=0.0)){a=g>=0.0;b=a|b;b=e>d|b?(b?(a?1:-1):1):j>g?-1:1;break}if(!(g<0.0)){c=g>0.0;if(j>0.0)if(c)return (e==e&d==d&e!=d?(b?-1:1):j<g?-1:1)|0;else{b=f>0.0?-1:1;break}b=i<=0.0;if(c){b=b?-1:1;break}if(i<f){b=!(f<=0.0)?-1:1;break}else{b=b?-1:1;break}}else b=-1}else b=0}else b=-1;while(0);return b|0}function Vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+(d*20|0)>>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)+a|0;b=b+1|0;a=g}return a|0}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function Ys(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=_s(a,b)|0;else a=Zs(a,b)|0;return a|0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=IK(S(f,b)|0)|0;f=IK(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;_r(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=IK(S(g,b)|0)|0;g=IK(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}rr(f,b);d=0;while(1){if((d|0)>=(b|0))break;nr(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}sr(f);l=h;return g|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;at(a,b);d=Zs(a,b)|0;bt(a,b,e);return d|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=IK(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=IK(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;Ws(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Vs(a,0,m,l)|0)<<1)|0);d=d+1|0}Xs(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}l6(l);return}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;l6(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=g+i*i}return +(+G(+g))}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46915]=a;k3(b+(d<<2)|0,1-d+e|0,4,77)}return}function et(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46915]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (e<d?-1:e>d&1)|0}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){gt(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;ft(a,b,d,f);g=g+1|0;ft(a,b,g,e);if(!(ht(a,b,d,f)|0))ft(a,b,d,f);if(!(ht(a,b,g,e)|0))ft(a,b,g,e)}l=h;return}function gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;k=U4()|0;k=b+(((((U4()|0)<<16|k)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;l=c[k>>2]|0;m=b+(d<<2)|0;c[k>>2]=c[m>>2];c[m>>2]=l;n=+h[a+(l<<3)>>3];d=d+1|0;a:while(1){if((d|0)>=(e|0))break;while(1){j=d+1|0;k=b+(d<<2)|0;if((d|0)>=(e|0))break;if(!(+h[a+(c[k>>2]<<3)>>3]<=n))break;else d=j}while(1){i=b+(e<<2)|0;g=e;e=e+-1|0;if((d|0)>=(g|0)){e=g;continue a}g=c[i>>2]|0;if(!(+h[a+(g<<3)>>3]>n))break}d=c[k>>2]|0;c[k>>2]=g;c[i>>2]=d;d=j}a=((+h[a+(c[b+(d<<2)>>2]<<3)>>3]>n)<<31>>31)+d|0;c[f>>2]=a;f=b+(a<<2)|0;c[m>>2]=c[f>>2];c[f>>2]=l;return}function ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+16|0;v=4;w=k6(40)|0;c[w>>2]=0;t=x;o=0;u=la(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=la(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;z=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=z;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=g<z?g:z;i=i>z?i:z;j=j>y?j:y;k=k<y?k:y}c[u+(m*40|0)+4>>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=x6(187664,1,w|0,v|0)|0;v=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=D;q=0;m=s;n=u}}else{d=D;q=0;m=0;n=0}while(1){if(d|0){o=0;$(105,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=ra(78,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}if(!d){o=0;d=aa(27,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}}o=0;$(105,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;l6(w|0);l=x;return d|0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w;p=w+8|0;q=w+4|0;c[b+8>>2]=0;v=IK(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[v+(e<<2)>>2]=a+(e*24|0);e=e+1|0}k3(v,f,4,79);n=0;g=0;f=0;h=0;a:while(1){if((n|0)>=(c[b>>2]|0)){t=0;d=g;u=h;break}o=v+(n<<2)|0;e=c[o>>2]|0;c[p>>2]=e;a=c[e+16>>2]|0;if((e|0)==(c[a>>2]|0))e=c[a+4>>2]|0;else e=e+-24|0;c[q>>2]=e;m=0;a=g;k=h;while(1){if((m|0)>=2)break;j=e+20|0;switch(lt(p,q)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(k|0))break;i=mt(c[h>>2]|0,e)|0;if(i|0){t=i;d=a;u=k;break a}g=g+1|0;h=c[h+4>>2]|0}g=IK(12)|0;if(!k){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[j>>2]=g;h=a;f=g;g=k+1|0;break}case 1:{g=c[j>>2]|0;if(!g){s=19;break a}do if((k|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;e=f;break}if((g|0)==(f|0)){e=c[f+8>>2]|0;c[e+4>>2]=0;break}else{e=g+4|0;i=c[g+8>>2]|0;c[i+4>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=i;e=f;break}}else{a=0;e=0}while(0);l6(g);c[j>>2]=0;h=a;f=e;g=k+-1|0;break}default:{h=a;g=k}}e=c[o>>2]|0;a=c[e+16>>2]|0;if((e|0)==(c[a+4>>2]|0))a=c[a>>2]|0;else a=e+24|0;c[q>>2]=a;m=m+1|0;a=h;k=g}n=n+1|0;g=a;h=k}if((s|0)==19){dA(1,94028,r)|0;Ca(187664,1)}e=0;while(1){if((e|0)>=(u|0))break;s=c[d+4>>2]|0;l6(d);e=e+1|0;d=s}l6(v);l=w;return t|0}function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+48|0;s=G+16|0;r=G+32|0;y=G;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}C=c[a+(e<<2)>>2]|0;D=c[C>>2]|0;c[y>>2]=c[D>>2];c[y+4>>2]=c[D+4>>2];c[y+8>>2]=c[D+8>>2];c[y+12>>2]=c[D+12>>2];D=e+1|0;E=d+(e*40|0)+8|0;t=d+(e*40|0)+16|0;u=d+(e*40|0)+32|0;g=d+(e*40|0)+24|0;e=D;while(1){if((e|0)>=(b|0)){e=D;continue a}i=c[a+(e<<2)>>2]|0;j=+h[E>>3];k=+h[d+(e*40|0)+24>>3];m=d+(e*40|0)+32|0;n=d+(e*40|0)+16|0;o=+h[d+(e*40|0)+8>>3];p=+h[g>>3];q=p>=o;f=!(j<=k);if(((!(f|!(j>=o))?(v=+h[t>>3],w=+h[m>>3],v<=w):0)?(x=+h[n>>3],!(!(p<=k)|!(v>=x)|q^1)):0)?(H=+h[u>>3],!(!(H<=w)|!(H>=x))):0){c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];if(LX(r,s)|0){e=1;break a}}else F=10;if((((((F|0)==10?(F=0,!(!(o>=j)|q^1)):0)?(z=+h[n>>3],A=+h[u>>3],z<=A):0)?(B=+h[t>>3],!(f|(!(k<=p)|!(z>=B)))):0)?(H=+h[m>>3],!(!(H<=A)|!(H>=B))):0)?(q=c[i>>2]|0,c[r>>2]=c[C>>2],c[r+4>>2]=c[C+4>>2],c[s>>2]=c[q>>2],c[s+4>>2]=c[q+4>>2],c[s+8>>2]=c[q+8>>2],c[s+12>>2]=c[q+12>>2],LX(r,s)|0):0){e=1;break a}e=e+1|0}}l=G;return e|0}function lt(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;nt(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){nt(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ot(b,a,(d|0)>-1?d:0-d|0)|0}if(!(pt(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ot(a,b,0)|0;d=(ot(a,b,(d|0)<=(ot(a,b,1)|0)&1)|0)<<1}else d=ot(a,b,(d|0)>-1?d:0-d|0)|0;if(!(pt(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=qt(a,b,g)|0}while(0);l=m;return d|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))a=c[e>>2]|0;else a=a+24|0;g=+h[a>>3]-i;f=+h[a+8>>3]-j;a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0))a=c[a>>2]|0;else a=b+24|0;k=+h[a>>3]-i;l=+h[a+8>>3]-j;j=g*(+h[b+8>>3]-j)-f*(+h[b>>3]-i);b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=g*l-f*k;e=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=e;c[d+8>>2]=S(e,b)|0;return}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j){if(k==g)b=(st(l,e,i)|0)!=-1;else b=0;b=b&1}else b=st(k,g,j)|0;return b|0}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;a:do if((f|0)<1)g=0;else{q=+h[a>>3];s=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];p=+h[b>>3];r=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];n=s-j;o=q-l;b:do switch(f|0){case 3:{m=(r-i)/(p-k);if(q==l){h[d>>3]=q;i=i+(q-k)*m;break b}i=n/o;if(p==k){h[d>>3]=p;i=j+i*(p-l);break b}else{r=r-p*m;q=s-q*i;s=m-i;h[d>>3]=(q-r)/s;i=(q*m-i*r)/s;break b}}case 2:{if((ot(a,b,0)|0)==-1)if((ot(b,a,1)|0)==-1){f=(ot(b,a,0)|0)==-1;l=f?l:q;k=p;j=f?j:s;i=r}else{l=k;k=p;j=i;i=r}else if((ot(a,b,1)|0)!=-1)if((ot(b,a,0)|0)==-1){k=q;i=s}else{g=0;break a}else{l=p;j=r}h[d>>3]=(l+k)*.5;i=(j+i)*.5;break}case 1:if(o*(r-s)==n*(p-q)){h[d>>3]=p;i=r;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function qt(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+16|0;r=t;p=+h[a>>3];q=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))f=c[f>>2]|0;else f=a+24|0;n=+h[f>>3];k=+h[f+8>>3];m=+h[b>>3];o=+h[b+8>>3];f=c[b+16>>2]|0;if((c[f+4>>2]|0)==(b|0))f=c[f>>2]|0;else f=b+24|0;j=+h[f>>3];i=+h[f+8>>3];f=e+8|0;a:do if(!(p!=n&m!=j)){do if(p==n){g=+h[e>>3];if(p==g?q==+h[f>>3]:0)break;if(!(n==g)){s=18;break a}if(!(k==+h[f>>3])){s=18;break a}}while(0);if(m==j){g=+h[e>>3];if(m==g?o==+h[f>>3]:0){f=0;break}if(j==g?i==+h[f>>3]:0)f=0;else s=18}else f=0}else s=18;while(0);if((s|0)==18)if((d[195234]|0)>1){s=c[15715]|0;q=+h[f>>3];h[r>>3]=+h[e>>3];h[r+8>>3]=q;z4(s,94057,r)|0;rt(1,a);rt(2,b);f=1}else f=1;l=t;return f|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+48|0;i=j;e=c[15715]|0;f=+h[b>>3];g=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0))b=c[d>>2]|0;else b=b+24|0;m=+h[b>>3];k=+h[b+8>>3];c[i>>2]=a;h[i+8>>3]=f;h[i+16>>3]=g;h[i+24>>3]=m;h[i+32>>3]=k;z4(e,94085,i)|0;l=j;return}function st(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a<b?b<c:c<b)?1:-1)|0}function tt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;a:do if(!(ry(a,d)|0))a=0;else{f=HK(d<<3)|0;a=0;while(1){if((a|0)<(d|0))e=0;else break;while(1){if((e|0)==(d|0))break;h[f+(e<<3)>>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;sy(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}l6(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=IK(q)|0;q=IK(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((U4()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;wt(k,0,o,-+vt(g,0,o,k),g);d=d+1|0}j=+xt(k,0,o)}while(j<1.0e-10);yt(k,0,o,1.0/j,k);d=0;do{zt(q,0,o,k);At(a,b,b,k,p);zt(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+xt(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;yt(k,0,o,1.0/j,k);l=+vt(k,0,o,q)}while(+F(+l)<.999);h[f+(i<<3)>>3]=j*l;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((U4()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}yt(k,0,o,1.0/+xt(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j<l;j=s?l:j;g=s?k:g;k=k+1|0}if((g|0)==(i|0)){i=b;continue}k=e+(i<<2)|0;zt(p,0,o,c[k>>2]|0);s=e+(g<<2)|0;zt(c[k>>2]|0,0,o,c[s>>2]|0);zt(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}l6(p);l6(q);return (d|0)<=(r|0)|0}function vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=f+ +h[c>>3]*+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;return +(+G(+(+vt(a,b,c,a))))}function yt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function At(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[k>>2]|0)+(i<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Bt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;k=c[i>>2]|0;l=d<<2;j=S(l,f)|0;if(!k){j=k6(j)|0;o=k6(l)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,l)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){l=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((l|0)>=(d|0))break;i=a+(l<<2)|0;n=o+(l<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;m=0.0}else break;while(1){if((j|0)>=(e|0))break;p=m+ +h[(c[i>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0;m=p}g[(c[n>>2]|0)+(k<<2)>>2]=m;k=k+1|0}l=l+1|0}return}function Ct(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;j=S(d<<3,f)|0;if(!k){j=k6(j)|0;o=k6(d<<2)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=l+ +h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;i=S(d*20|0,e)|0;if(!j){i=k6(i)|0;q=k6(d<<2)|0}else{i=n6(c[j>>2]|0,i)|0;q=n6(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=k+ +g[m+(j<<2)>>2]*+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3];j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Et(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +h[d>>3];d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Ft(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((U4()|0)%500|0|0);c=c+1|0}Et(a,b);return}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=f+ +g[(c[l>>2]|0)+(i<<2)>>2]*+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=f+ +g[(c[k>>2]|0)+(i<<2)>>2]*+h[d+(i<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function It(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]+ +h[c+(e<<3)>>3];e=e+1|0}return}function Kt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +h[b+(e<<3)>>3]*+h[c+(e<<3)>>3];e=e+1|0}return +d}function Nt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+F(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Pt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +g[d>>2];d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=l*+g[a+(h<<2)>>2]+0.0;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=f+p*+g[c+(i<<2)>>2];o=d+(i<<2)|0;g[o>>2]=l*p+ +g[o>>2];f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=f+ +g[o>>2];h=h+m|0;j=k;m=m+-1|0}return}function Rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function St(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]+ +g[c+(e<<2)>>2];e=e+1|0}return}function Tt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[f>>2]+ +g[d+(e<<2)>>2]*c;e=e+1|0}return}function Ut(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function Wt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[b+(e<<2)>>2]*+g[c+(e<<2)>>2];e=e+1|0}return +d}function Xt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function Yt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function Zt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+F(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function _t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function $t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+G(+e);d=d+1|0}return}function bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+G(+e);c=c+1|0}return}function cu(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=S(4/((du(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;l6(c[b+4>>2]|0);l6(b);b=d}while(0);c[a>>2]=0;return}function du(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=IK(8)|0;f=IK(S(c[46897]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46897]|0))break;fu(f+(S(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function fu(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=HK(b<<3)|0;l=a+8|0;f=c[l>>2]|0;hu(a,b,m);Ft(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=IK(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=vr(a,d,m,b,.001,e)|0;l6(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}l6(m);return i>>>31|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[m>>2]|0)+(f<<2)>>2]*+g[(c[j>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function iu(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;a=l;l=l+16|0;if(!(c[46955]|0)){c[46955]=1;dA(1,94121,a)|0}l=a;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=IK(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=IK(i)|0;g=g+1|0}p=IK(f<<3)|0;q=IK(b<<2)|0;g=IK(S(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(S(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ut(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=j+ +(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)*+h[(c[l>>2]|0)+(g<<3)>>3];g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;l6(c[r+(g<<2)>>2]|0);g=g+1|0}l6(r);l6(p);l6(c[q>>2]|0);l6(q);return}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;fy(c[a>>2]|0,d,d<<2,j);Dt(c[j>>2]|0,a,d,b,i);Ct(a,c[i>>2]|0,b,d,b,h);l6(c[c[i>>2]>>2]|0);l6(c[i>>2]|0);e=(ut(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function lu(){c[46956]=0;l6(c[46957]|0);l6(c[46958]|0);l6(c[46959]|0);c[46957]=0;c[46958]=0;c[46959]=0;return}function mu(a){a=a|0;l6(c[a+36>>2]|0);return}function nu(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+80|0;o=u+64|0;t=u+68|0;i=u+48|0;j=u+32|0;k=u+16|0;m=u;n=d+16|0;g=c[n>>2]|0;p=b+40|0;r=f;s=e;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{g=c[n>>2]|0;i=c[g+12>>2]|0;j=c[i+8>>2]|0;c[t>>2]=j;g=c[c[g+8>>2]>>2]|0;k=i+44|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))q=11;else q=8;break}case 112:{if((f2(g,106022)|0)==0?(ou(c[k>>2]|0,j)|0)!=0:0)q=11;else q=8;break}default:q=8}do if((q|0)==8)if((j|0)<3){c[p>>2]=(c[i>>2]|0)==0?0:2;q=16;break}else{c[p>>2]=0;break}else if((q|0)==11?(c[p>>2]=1,(j|0)<=2):0)q=16;while(0);if((q|0)==16){i=pu(d,t,e,f)|0;q=20;break a}i=IK(j<<4)|0;if((c[p>>2]|0)==1){q=c[k>>2]|0;h[i>>3]=s+ +h[q>>3]/72.0;h[i+8>>3]=r+ +h[q+8>>3]/72.0;h[i+16>>3]=+h[q+16>>3]/72.0-s;h[i+24>>3]=r+ +h[q+24>>3]/72.0;h[i+32>>3]=+h[q+32>>3]/72.0-s;h[i+40>>3]=+h[q+40>>3]/72.0-r;h[i+48>>3]=s+ +h[q+48>>3]/72.0;h[i+56>>3]=+h[q+56>>3]/72.0-r;q=20;break a}else g=0;while(1){if((g|0)>=(j|0)){q=20;break a}q=c[k>>2]|0;v=+h[q+(g<<4)>>3];e=+h[q+(g<<4)+8>>3];f=+G(+(v*v+e*e));h[i+(g<<4)>>3]=v*(s/f+1.0)/72.0;h[i+(g<<4)+8>>3]=e*(r/f+1.0)/72.0;g=g+1|0}}case 2:{c[t>>2]=4;q=IK(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;w=+h[d+32>>3];s=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];v=-e;r=-f;qu(i,o,d,v,r);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;n=~~w;qu(j,n,d,e,r);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;d=~~s;qu(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;qu(m,o,d,v,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=q;q=20;break a}case 3:{c[p>>2]=2;i=pu(d,t,e,f)|0;q=20;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];dA(1,94184,o)|0;g=1;break a}}else{c[t>>2]=4;v=s+ +h[g+32>>3]*.5;w=r+ +h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;s=-v;h[i+16>>3]=s;h[i+24>>3]=w;h[i+32>>3]=s;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;q=20}while(0);if((q|0)==20){c[b+36>>2]=i;g=c[t>>2]|0;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=u;return g|0}function ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0,i=0;do if((b|0)==4){e=+h[a+8>>3];f=+h[a+24>>3];g=a+56|0;i=a+48|0;b=a+16|0;c=a+32|0;d=a+40|0;if(e==f){if(!(+h[d>>3]==+h[g>>3])){b=0;break}if(!(+h[a>>3]==+h[i>>3])){b=0;break}b=+h[b>>3]==+h[c>>3];break}if((+h[a>>3]==+h[b>>3]?+h[c>>3]==+h[i>>3]:0)?e==+h[g>>3]:0)b=f==+h[d>>3];else b=0}else b=0;while(0);return b&1|0}function pu(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0,l=0.0;f=NA(a,103006)|0;if(!f)f=0;else f=d6(f)|0;i=(f|0)<3?20:f;j=IK(i<<4)|0;a=a+16|0;g=+(i|0);f=0;while(1){if((f|0)>=(i|0))break;k=c[a>>2]|0;l=+(f|0)/g*3.141592653589793*2.0;h[j+(f<<4)>>3]=+I(+l)*(d+ +h[k+32>>3]*.5);h[j+(f<<4)+8>>3]=+J(+l)*(e+ +h[k+40>>3]*.5);f=f+1|0}c[b>>2]=i;return j|0}function qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)/72.0+d;h[a+8>>3]=+(c|0)/72.0+e;return}function ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m<i?m:i;j=l<j?l:j;a=k}h[c>>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function su(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;n=s+64|0;q=s+68|0;i=s+48|0;j=s+32|0;k=s+16|0;m=s;o=d+16|0;g=c[o>>2]|0;p=b+40|0;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[q>>2]=k;b:do if((k|0)>2){i=IK(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]/72.0;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]/72.0;g=g+1|0}}else i=pu(d,q,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))g=1;else r=13;break}case 112:{if((f2(g,106022)|0)==0?(ou(i,c[q>>2]|0)|0)!=0:0)g=1;else r=13;break}default:r=13}do if((r|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[p>>2]=g;r=20;break a}case 2:{c[q>>2]=4;r=IK(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;u=+h[o+16>>3];w=+h[o+24>>3];v=+h[o+32>>3];t=+h[o+40>>3];tu(i,u,w);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];i=r+16|0;tu(j,v,w);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=r+32|0;tu(k,v,t);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=r+48|0;tu(m,u,t);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=r;r=20;break a}case 3:{c[p>>2]=2;i=pu(d,q,0.0,0.0)|0;r=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];dA(1,94220,n)|0;g=1;break a}}else{c[q>>2]=4;v=+h[g+32>>3]*.5;w=+h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;u=-v;h[i+16>>3]=u;h[i+24>>3]=w;h[i+32>>3]=u;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;r=20}while(0);if((r|0)==20){g=c[q>>2]|0;if(e!=1.0|f!=1.0)uu(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=s;return g|0}function tu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b/72.0;h[a+8>>3]=c/72.0;return}function uu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=c*+h[a>>3];f=a+8|0;h[f>>3]=d*+h[f>>3];a=a+16|0;e=e+1|0}return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0;s=l;l=l+128|0;p=s+112|0;o=s+96|0;n=s+80|0;g=s+64|0;q=s+48|0;r=s+32|0;k=s+16|0;m=s;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];ts(q,o,p);i=b+16|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];ts(r,o,p);c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];c[p+8>>2]=c[e+8>>2];c[p+12>>2]=c[e+12>>2];ts(k,o,p);j=e+16|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];ts(m,o,p);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];do if(wu(g,n,o,p)|0){f=c[b+40>>2]|0;g=e+40|0;if(f&1|0?c[g>>2]&1|0:0){f=1;break}if(f&2|0?c[g>>2]&2|0:0){t=+h[i>>3]-+h[b>>3]+ +h[j>>3]-+h[e>>3];v=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(v*v+u*u>t*t*.25);break}f=c[46957]|0;if(!f){c[46957]=IK(c[46956]<<4)|0;i=IK(c[46956]<<4)|0;c[46958]=i;f=c[46957]|0}else i=c[46958]|0;w=c[b+36>>2]|0;j=b+32|0;g=c[j>>2]|0;c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];xu(w,g,p,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];xu(a,e,p,i);if(!(yu(c[46957]|0,i,c[j>>2]|0,c[g>>2]|0)|0)){f=c[46957]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];if(zu(n,o,p)|0?(m=c[46958]|0,w=c[g>>2]|0,c[p>>2]=c[f>>2],c[p+4>>2]=c[f+4>>2],c[p+8>>2]=c[f+8>>2],c[p+12>>2]=c[f+12>>2],Au(m,w,p)|0):0){f=1;break}f=c[46958]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];if(!(zu(n,o,p)|0))f=0;else{r=c[46957]|0;w=c[j>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];f=(Au(r,w,p)|0)!=0}}else f=1}else f=0;while(0);l=s;return f&1|0}function wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3];else a=0;return a&1|0}function xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[a>>3]+ +h[c>>3];h[d+8>>3]=+h[a+8>>3]+ +h[f>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+112|0;w=E+96|0;v=E+80|0;u=E+64|0;t=E+48|0;y=E+32|0;z=E+16|0;A=E;B=d+-1|0;C=e+-1|0;D=d<<1;x=e<<1;i=0;h=0;g=0;f=0;while(1){q=a+(i<<4)|0;p=a+(((B+i|0)%(d|0)|0)<<4)|0;c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];ss(y,v,w);s=b+(h<<4)|0;r=b+(((C+h|0)%(e|0)|0)<<4)|0;c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];ss(z,v,w);c[u>>2]=c[46578];c[u+4>>2]=c[46579];c[u+8>>2]=c[46580];c[u+12>>2]=c[46581];c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];c[w+8>>2]=c[z+8>>2];c[w+12>>2]=c[z+12>>2];j=+us(u,v,w);c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];k=vs(u,v,w)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];m=vs(u,v,w)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];if(ws(t,u,v,w,A)|0){f=1;break}q=(k|0)==0;r=(m|0)==0;n=(i+1|0)%(d|0)|0;s=f+1|0;o=(h+1|0)%(e|0)|0;p=g+1|0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0)){i=r?n:i;h=r?h:o;g=r?p:g;f=r?f:s;break}else{i=q?i:n;h=q?o:h;g=q?g:p;f=q?s:f;break}else{i=n;g=p}while(0);if(!((f|0)<(x|0)&((g|0)<(D|0)&((f|0)<(e|0)|(g|0)<(d|0))))){f=0;break}}l=E;return f|0}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3];else a=0;return a&1|0}function Au(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;e=c[46959]|0;if(!e){e=IK(c[46956]<<4)|0;c[46959]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}m=b+-1|0;f=0.0;l=0;a:while(1){if((l|0)>=(b|0)){n=18;break}d=(m+l|0)%(b|0)|0;j=+h[e+(l<<4)+8>>3];a=j==0.0;g=e+(l<<4)|0;i=e+(d<<4)|0;k=+h[e+(d<<4)+8>>3];d=k==0.0;do if(a&d){if(+h[g>>3]*+h[i>>3]<0.0){e=1;break a}}else{if(!(j>=0.0)|!(k<=0.0)?!(j<=0.0)|!(k>=0.0):0)break;j=(k*+h[g>>3]-j*+h[i>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(a|d){f=f+.5;break}else{f=f+1.0;break}}while(0);l=l+1|0}if((n|0)==18)e=((~~f|0)%2|0|0)==1&1;return e|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=IK(b<<2)|0;i=S(b,b)|0;d=IK(i<<2)|0;c[j>>2]=d;Yt(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((S(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Cu(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;G=c[a+52>>2]|0;H=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Eu(N,C,E,G,H,j);I=c[a+28>>2]|0;J=c[a+32>>2]|0;K=c[a+36>>2]|0;L=c[a+12>>2]|0;M=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(H|0)){e=C;d=H}else e=c[G+(d<<2)>>2]|0}c[M+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}A=c[a+40>>2]|0;B=J+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){y=f;while(1){if((y|0)>=(C|0))break b;f=c[E+(y<<2)>>2]|0;z=+g[N+(f<<2)>>2];o=z;x=y;l=0.0;while(1){g[A+(f<<2)>>2]=l;f=x+1|0;w=E+(f<<2)|0;if((f|0)>=(C|0)){v=0;break}l=(c[M+(f<<2)>>2]|0)>(c[M+(x<<2)>>2]|0)?o+j:o;a=c[w>>2]|0;m=+g[N+(a<<2)>>2];if(+F(+(m-l))>1.0e-09){v=1;break}o=l;x=f;l=m-z;f=a}n=y;while(1){if((n|0)>(x|0)){a=0;p=y;break}p=c[E+(n<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;a=0;l=-+g[b+(p<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(p|0))l=l+ +g[q+(a<<2)>>2]*+g[N+(a<<2)>>2];a=a+1|0}g[I+(p<<2)>>2]=l/-+g[q+(p<<2)>>2]-+g[A+(p<<2)>>2];n=n+1|0}c:while(1){if((p|0)>(x|0)){m=0.0;o=0.0;r=0;break}n=c[M+(c[E+(p<<2)>>2]<<2)>>2]|0;if((n|0)==(H|0))r=f;else{r=c[G+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}q=p;while(1){if((q|0)>=(r|0)){q=p;break}n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]<z){c[L+(a<<2)>>2]=n;a=a+1|0}q=q+1|0}while(1){if((q|0)>=(r|0))break;n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]==z){c[L+(a<<2)>>2]=n;a=a+1|0}q=q+1|0}while(1){if((p|0)>=(r|0)){p=r;continue c}n=c[E+(p<<2)>>2]|0;if(+g[I+(n<<2)>>2]>z){c[L+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}}while(1){if((r|0)>=(a|0))break;p=c[L+(r<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[q+(c[L+(n<<2)>>2]<<2)>>2];n=n+1|0}l=l*2.0;u=q+(p<<2)|0;s=+g[u>>2];s=(z*l+(o*m-s*+g[I+(p<<2)>>2]))/(l+(m-s));g[J+(r<<2)>>2]=s;m=m+(l-+g[u>>2]);o=s;r=r+1|0}q=(a|0)==(C|0);if(q)g[B>>2]=z;u=a+-1|0;m=0.0;o=0.0;p=u;while(1){if((p|0)<=-1)break;r=c[L+(p<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=p;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[L+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;s=+g[t>>2];s=(z*l+(o*m-s*+g[I+(r<<2)>>2]))/(l+(m-s));g[K+(p<<2)>>2]=s;m=m+(l-+g[t>>2]);o=s;p=p+-1|0}if(q){g[K>>2]=z;s=0.0;n=-1;q=0}else{s=0.0;n=-1;q=0}while(1){if((a|0)<=(q|0))break;o=+g[K+(q<<2)>>2];if((q|0)>0)l=+g[J+(q+-1<<2)>>2];else l=o;do if(o<l){p=l>z;if(o<z){l=p?z:l;m=l;break}if(p){m=o;l=o}else m=o}else m=o;while(0);o=+(a-q|0)*+F(+(m-z))+ +(q|0)*+F(+(l-z));t=o>s;s=t?o:s;n=t?q:n;q=q+1|0}r=E+(x<<2)|0;p=c[L+(u<<2)>>2]|0;q=N+(p<<2)|0;if((n|0)>-1)break;k=+g[q>>2];if(!v){y=f;continue}k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;y=f}o=+g[K+(n<<2)>>2];if(!n)s=o;else s=+g[J+(n+-1<<2)>>2];do if(v){u=c[w>>2]|0;m=+g[N+(u<<2)>>2];l=+g[A+(p<<2)>>2];if((c[M+(u<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)){l=m-j-l;break}else{l=m-l;break}}else l=1.0e9;while(0);l=o<l?o:l;k=s>k?s:k;do if(l<k){p=k>z;if(l<z){l=p?z:k;m=l;break}if(p)m=l;else{m=l;l=k}}else{m=l;l=k}while(0);p=0;while(1){if((p|0)>=(n|0))break;u=c[L+(p<<2)>>2]|0;g[N+(u<<2)>>2]=l+ +g[A+(u<<2)>>2];p=p+1|0}while(1){if((n|0)>=(a|0))break;u=c[L+(n<<2)>>2]|0;g[N+(u<<2)>>2]=m+ +g[A+(u<<2)>>2];n=n+1|0}k=+g[q>>2];if(v)k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;a=y;while(1){if((a|0)>(x|0))break;c[E+(a<<2)>>2]=c[L+(a-y<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+F(+(l-z))<.01:0)e=+F(+(m-z))<.01;else e=0;e=e&1}Pt(C,N);Du(N,E,G,H,i);d=d+1|0}}while(0);return d|0}function Du(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Eu(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;dt(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]<i)g[k>>2]=i;k=l;m=m+1|0}return}function Fu(a){a=a|0;l6(c[c[a>>2]>>2]|0);l6(c[a>>2]|0);l6(c[a+8>>2]|0);l6(c[a+28>>2]|0);l6(c[a+32>>2]|0);l6(c[a+36>>2]|0);l6(c[a+40>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);l6(a);return}function Gu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=IK(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Bu(a,b)|0;i=b<<2;j=IK(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=IK(i)|0;c[k+32>>2]=IK(i)|0;c[k+36>>2]=IK(i)|0;c[k+40>>2]=IK(i)|0;c[k+12>>2]=IK(i)|0;c[k+16>>2]=IK(i)|0;c[k+20>>2]=IK(i)|0;c[k+24>>2]=IK(i)|0;return k|0}function Hu(){cu(187844,24);c[46964]=0;return}function Iu(){return eu(187844)|0}function Ju(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function Ku(a){a=a|0;var b=0;b=c[46964]|0;c[a+16>>2]=b;c[46964]=b+1;return}function Lu(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)fu(a,187844);return}function Mu(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Nu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;u=IK(q)|0;k=b<<3;v=IK(k)|0;t=Ys(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;j=t+(a<<2)|0;i=0;while(1){if((i|0)==(b|0))break;s=(c[j>>2]|0)+(i<<2)|0;c[s>>2]=c[s>>2]<<8;i=i+1|0}a=a+1|0}if(!d)Aa(94253,94261,283,94275);s=IK(k)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Ou(s,b);m=0.0;n=0.0;k=1;while(1){if((k|0)>=(b|0))break;i=t+(k<<2)|0;j=d+(k<<3)|0;a=0;while(1){if((a|0)==(k|0))break;y=c[(c[i>>2]|0)+(a<<2)>>2]|0;r=+F(+(+h[j>>3]-+h[d+(a<<3)>>3]));m=m+r*(1.0/+(S(y,y)|0)*r);n=n+1.0/+(y|0)*r;a=a+1|0}k=k+1|0}r=n/m;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=r*+h[y>>3];a=a+1|0}Pu(b,o,f,d,t);j=IK(S(q,b)|0)|0;i=0;while(1){if((i|0)>=(b|0)){o=1;break}k=j+((S(i,b)|0)<<2)|0;c[u+(i<<2)>>2]=k;o=t+(i<<2)|0;m=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[k+(a<<2)>>2]=p;m=m-p}a=a+1|0}g[k+(i<<2)>>2]=m;i=i+1|0}while(1){if((o|0)>=(b|0)){i=0;break}n=+h[d+(o<<3)>>3];j=t+(o<<2)|0;i=0;while(1){if((i|0)==(o|0))break;k=(c[j>>2]|0)+(i<<2)|0;p=+(c[k>>2]|0);m=n-+h[d+(i<<3)>>3];m=p*p-m*m;if(m>0.0)a=~~+G(+m);else a=0;c[(c[t+(i<<2)>>2]|0)+(o<<2)>>2]=a;c[k>>2]=a;i=i+1|0}o=o+1|0}while(1){if((i|0)>=(b|0)){q=0;a=0;break}n=+h[e+(i<<3)>>3];k=v+(i<<3)|0;h[k>>3]=0.0;o=t+(i<<2)|0;j=u+(i<<2)|0;a=0;m=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0)*+g[(c[j>>2]|0)+(a<<2)>>2];m=m+(n>=+h[e+(a<<3)>>3]?-p:p);h[k>>3]=m}a=a+1|0}i=i+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){a=0;w=58;break}if((wr(u,e,v,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];j=t+(o<<2)|0;k=u+(o<<2)|0;m=0.0;i=0;while(1){if((i|0)==(b|0))break;do if((i|0)!=(o|0)){n=+(c[(c[j>>2]|0)+(i<<2)>>2]|0)*+g[(c[k>>2]|0)+(i<<2)>>2];if(!(p>=+h[e+(i<<3)>>3])){m=m+n;break}else{m=m+-n;break}}while(0);i=i+1|0}i=v+(o<<3)|0;p=+h[i>>3];if(m!=p?+F(+(1.0-m/p))>1.0e-05:0){h[i>>3]=m;a=0}o=o+1|0}q=q+1|0}a:do if((w|0)==58)while(1){if((a|0)>=(b|0)){a=0;break a}w=d+(a<<3)|0;h[w>>3]=+h[w>>3]/r;w=e+(a<<3)|0;h[w>>3]=+h[w>>3]/r;a=a+1|0;w=58}while(0);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l6(u);l6(s);l6(v);l=x;return a|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=d+ +h[a+(c<<3)>>3];c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;yt(a,0,f,1.0/+xt(a,0,f),a);return}function Pu(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Qu(f,a)|0;l=IK(8)|0;if(!e){f=0;j=0}else{g=IK(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Ou(g,a);f=g;j=g}Ru(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+G(+(+F(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=d*+h[m>>3];f=f+1|0}e=e+1|0}l6(c[k>>2]|0);l6(k);l6(l);l6(j);return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=IK(S(n,b)|0)|0;n=IK(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}m=Tu(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+(+g[i>>2]-p*p)-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}l6(m);l=o;return n|0}function Ru(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=IK(r)|0;r=IK(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}if(k)i=0;else{wt(l,0,p,-+vt(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p)}while(g<1.0e-10);yt(l,0,p,1.0/g,l);do{zt(r,0,p,l);Su(a,b,b,l,q,f);zt(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p);if(g<1.0e-10)break a;yt(l,0,p,1.0/g,l);m=+vt(l,0,p,r)}while(+F(+m)<n);h[e+(j<<3)>>3]=g*m;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+vt(c[s>>2]|0,0,p,k);wt(k,0,p,n,c[s>>2]|0);i=i+1|0}yt(k,0,p,1.0/+xt(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g<n;g=s?n:g;i=s?k:i;k=k+1|0}if((i|0)==(j|0)){j=f;continue}b=d+(j<<2)|0;zt(q,0,p,c[b>>2]|0);s=d+(i<<2)|0;zt(c[b>>2]|0,0,p,c[s>>2]|0);zt(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}l6(q);l6(r);return}function Su(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=k+ +g[(c[m>>2]|0)+(l<<2)>>2]*+h[e+(l<<3)>>3];l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)wt(f,0,j,-+vt(f,0,j,i),i);return}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=IK(b<<2)|0;k=+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=f+m;h=h+1|0;e=e+m}g[j+(i<<2)>>2]=f/k;i=i+1|0}g[d>>2]=e/+(S(b,b)|0);return j|0}function Uu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=S(d,d)|0;r=IK(q<<3)|0;s=IK(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+F(+(+h[a+((S(e,d)|0)+o<<3)>>3]));m=t<f;n=m?g:e;f=m?f:t;e=e+1|0;g=n}if(f<1.0e-10){l=33;break}n=S(o,d)|0;i=S(g,d)|0;e=o;while(1){if((e|0)>=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=S(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-f*+h[j>>3];i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-f*+h[a+(i+n<<3)>>3];i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+F(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=S(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[a+(g+k<<3)>>3]*+h[b+(g<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}l6(r);l6(s)}}if((l|0)==33){Z5(94290)|0;l6(r);l6(s)}return}function Vu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;js();Hu();Es();c[46960]=ib[d&3]()|0;Gs();q=r+8|0;p=ib[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(As()|0)){Bs(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(As()|0)break;g=+h[o>>3];if(g<f)break;if(g==f?+h[p>>3]<e:0)break}if(As()|0)break a;t=Cs()|0;b=Ps(t)|0;v=Os(t)|0;i=Os(v)|0;m=Qs(t)|0;u=Rs(v)|0;j=c[t+20>>2]|0;Ku(j);ns(c[t+8>>2]|0,a[t+16>>0]|0,j);ns(c[v+8>>2]|0,a[v+16>>0]|0,j);Ns(t);zs(v);Ns(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=ks(k,v?m:u)|0;m=Hs(u,t)|0;Ks(b,m);ns(u,(t^1)&255,j);Lu(j);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,k))}b=Is(m,i)|0;if(!b)continue;xs(m,b,+Ju(b,k))}b=Ls(p)|0;k=Os(b)|0;i=ks(Rs(b)|0,p)|0;m=Hs(i,0)|0;Ks(b,m);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,p))}i=Hs(i,1)|0;Ks(m,i);b=Is(i,k)|0;if(b|0)xs(i,b,+Ju(b,p));p=ib[d&3]()|0}b=c[46902]|0;while(1){b=Os(b)|0;if((b|0)==(c[46903]|0))break;ls(c[b+8>>2]|0)}l=s;return}function Wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((qB(b)|0)!=1){Xu(b);if(!d)d=Yu(b)|0;e=Zu(b,d)|0;if(a[195234]|0){i=c[15715]|0;c[f>>2]=HB(d)|0;c[f+4>>2]=e;z4(i,94306,f)|0}if((e|0)<0){dA(1,94340,g)|0;break}else{_u(b);$u(b,d);av(b,d);bv(b,e);break}}else{i=c[(c[(gC(b)|0)+16>>2]|0)+132>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}while(0);l=h;return d|0}function Xu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=qB(a)|0;d=S(d,d)|0;b=gC(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(jv(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=hC(a,b)|0}return}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(qB(a)|0)<3;b=gC(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)iv(a,b,0);b=hC(a,b)|0}d=0;b=0;e=gC(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=hC(a,e)|0}}while(0);return b|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;fv(a,b);d=gC(a)|0;e=y6(0,e|0,32)|0;f=D;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=hC(a,d)|0}return b|0}function _u(a){a=a|0;var b=0,d=0,e=0,f=0;d=gC(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=D;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=hC(a,d)|0}return}function $u(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;ev(a,b);return}function av(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;dv(a,b);return}function bv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;g=j;i=cv(b,d)|0;if(a[195234]|0){f=c[15715]|0;Z3(94396,f)|0;e=0;while(1){if((e|0)>(d|0))break;h[g>>3]=+h[i+(e<<3)>>3];z4(f,94415,g)|0;e=e+1|0}Z3(153748,f)|0}e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+112>>2]|0;k=+h[i+(c[f+24>>2]<<3)>>3];f=f+48|0;m=k*+I(+(+h[f>>3]));g=c[g+132>>2]|0;h[g>>3]=m;h[g+8>>3]=k*+J(+(+h[f>>3]));e=hC(b,e)|0}l6(i);l=j;return}function cv(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=HK((d<<3)+8|0)|0;b=_O(b,DA(c[b+60>>2]|0,0,101589,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+b6(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=e+i;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(X1(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=f+e;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function dv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=ZA(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=e+j*.5;e=e+j;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))dv(a,f)}g=_A(a,g,b)|0}return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=ZA(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)ev(a,d);f=_A(a,f,b)|0}return}function fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=DA(b,2,101842,0)|0;c[n+4>>2]=0;c[n>>2]=0;gv(n,d);j=(o|0)==0;a:while(1){k=hv(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=ZA(b,k)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)continue a;if(!((!j?(a[(OA(g,o)|0)>>0]|0)==48:0)?!(f2(OA(g,o)|0,138697)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0<r>>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=w6(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=D;gv(n,e)}}g=_A(b,g,k)|0}}l=p;return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=HK(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function hv(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];l6(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=ZA(a,b)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0<k>>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;iv(a,e,b)}g=_A(a,g,b)|0}return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=ZA(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=_A(a,g,b)|0}return d|0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=DA(a,1,94423,0)|0;g=DA(a,0,94423,0)|0;a=lv(a,g,d,DA(a,0,94428,0)|0)|0;d=a+16|0;f=+G(+(+h[a>>3]+.1));wv(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];mv(a);nv(a);ov(a);l=b;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=lv(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=f+ +h[g>>3];if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=gC(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=rv(n,d)|0;f=f+ +h[k>>3];if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=hC(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+tv(a,b);else{h[o+8>>3]=f;f=+sv(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function mv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;s=l;l=l+176|0;i=s+144|0;q=s+64|0;o=s+32|0;m=s;r=c[b+64>>2]|0;a:do if(r|0){p=HK(r<<2)|0;d=b+48|0;f=0;e=d;while(1){e=c[e>>2]|0;if((f|0)>=(r|0))break;c[p+(f<<2)>>2]=e;f=f+1|0;e=e+52|0}k3(p,r,4,80);n=HK(r<<3)|0;e=0;while(1){if((e|0)>=(r|0))break;h[n+(e<<3)>>3]=+h[c[p+(e<<2)>>2]>>3];e=e+1|0}j=+h[b+8>>3];e=b+16|0;f=b+32|0;g=b+40|0;k=b+24|0;if(+h[b>>3]==j){c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[i+20>>2]=c[e+20>>2];c[i+24>>2]=c[e+24>>2];c[i+28>>2]=c[e+28>>2];i=uv(r,n,i)|0}else{t=+h[g>>3];u=+h[f>>3];h[m>>3]=+h[e>>3];h[m+8>>3]=+h[k>>3];v=t-u;j=(t+u-+G(+(j*4.0+v*v)))*.5;h[m+16>>3]=u-j;h[m+24>>3]=t-j;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[i+16>>2]=c[m+16>>2];c[i+20>>2]=c[m+20>>2];c[i+24>>2]=c[m+24>>2];c[i+28>>2]=c[m+28>>2];i=uv(r,n,i)|0}if(a[195234]|0){m=c[15715]|0;t=+h[k>>3];u=+h[f>>3];v=+h[g>>3];h[o>>3]=+h[e>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(m,94475,o)|0}f=c[15715]|0;e=0;while(1){if((e|0)>=(r|0))break;o=(c[p+(e<<2)>>2]|0)+16|0;g=i+(e<<5)|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];if(a[195234]|0){j=+h[g>>3];u=+h[i+(e<<5)+16>>3];x=u*.5;t=+h[i+(e<<5)+8>>3];v=+h[i+(e<<5)+24>>3];w=v*.5;h[q>>3]=+h[n+(e<<3)>>3];h[q+8>>3]=j-x;h[q+16>>3]=t-w;h[q+24>>3]=j+x;h[q+32>>3]=t+w;h[q+40>>3]=u*v;h[q+48>>3]=j;h[q+56>>3]=t;h[q+64>>3]=u;h[q+72>>3]=v;z4(f,94492,q)|0}e=e+1|0}l6(p);l6(n);l6(i);e=0;while(1){d=c[d>>2]|0;if((e|0)>=(r|0))break a;if(!(c[d+60>>2]|0))mv(d);d=d+52|0;e=e+1|0}}while(0);l=s;return}function nv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0;g=l;l=l+48|0;f=g;e=b+56|0;if(c[b+60>>2]|0){m=+h[b+24>>3];j=+h[b+32>>3];i=+h[b+40>>3];d=c[e>>2]|0;e=d+16|0;k=c[e>>2]|0;h[k+16>>3]=+h[b+16>>3];h[k+24>>3]=m;b=c[e>>2]|0;h[b+32>>3]=j/72.0;h[b+40>>3]=i/72.0;oQ(d,c[(c[(uC(d)|0)+16>>2]|0)+116>>2]&1);pv(d);if(a[195234]|0){k=c[15715]|0;b=HB(d)|0;e=c[e>>2]|0;n=+h[e+16>>3];i=+h[e+24>>3];j=+h[e+80>>3];m=+h[e+88>>3]+ +h[e+96>>3];c[f>>2]=b;h[f+8>>3]=n;h[f+16>>3]=i;h[f+24>>3]=j;h[f+32>>3]=m;z4(k,94434,f)|0}}else{d=b+48|0;while(1){d=c[d>>2]|0;if(!d)break;nv(d);d=d+52|0}i=+h[b+32>>3];m=+h[b+40>>3];j=+h[b+16>>3]-i*.5;n=+h[b+24>>3]-m*.5;k=c[(c[e>>2]|0)+16>>2]|0;h[k+16>>3]=j;h[k+24>>3]=n;h[k+32>>3]=i+j;h[k+40>>3]=m+n}l=g;return}function ov(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ov(b);b=b+52|0;d=d+1|0}l6(a);return}function pv(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[47212]|0;if(e|0?(a[(OA(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;i2(d,94469,f)|0;HA(b,c[47212]|0,d)|0}qP(b);l=g;return}function qv(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function rv(a,b){a=a|0;b=b|0;var d=0;d=HK(72)|0;h[d>>3]=+tv(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function sv(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+YO(c[a+56>>2]|0,b,0.0,0.0);d=+h[a+8>>3];if(!(e==0.0)){d=e*2.0+ +G(+d);d=d*d}return +d}function tv(a,b){a=a|0;b=b|0;var c=0.0;c=+YO(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=f+ +h[b+(e<<3)>>3];e=e+1|0;f=j}if(f>+h[d+16>>3]*+h[d+24>>3]+.001)e=0;else{e=HK(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];vv(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function vv(b,d,e,f,g,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=+i;j=+j;k=+k;m=m|0;var n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;B=l;l=l+112|0;A=B+72|0;v=B+40|0;r=B+32|0;n=B;z=m+16|0;o=+h[z>>3];x=m+24|0;p=+h[x>>3];w=+h[m+16+((!(o<p)&1)<<3)>>3];do if((b|0)>=1){y=m+8|0;if(a[195234]|0){C=c[15715]|0;D=+h[y>>3];h[n>>3]=+h[m>>3];h[n+8>>3]=o;h[n+16>>3]=D;h[n+24>>3]=p;z4(C,94529,n)|0;c[r>>2]=f;z4(C,94575,r)|0}if(!f){j=+h[d>>3];D=w*w;w=j/D;D=D/j;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,1,j,j,j,w>D?w:D,A);break}r=d+(f<<3)|0;if((b|0)>(f|0)?(u=+h[r>>3],q=u<g?g:u,t=u>i?i:u,u=u+j,s=u/w,D=s/(t/s),s=q/s/s,s=D>s?D:s,s<=k):0){c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,f+1|0,q,t,u,s,A);break}q=j/w;if(a[195234]|0){C=c[15715]|0;c[v>>2]=f;h[v+8>>3]=j;h[v+16>>3]=w;h[v+24>>3]=q;z4(C,94600,v)|0}o=+h[z>>3];p=q*.5;if(w==o){o=+h[m>>3]-o*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+24>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+16>>3]=D;h[e+(n<<5)+8>>3]=+h[y>>3]+ +h[x>>3]*.5-p;h[e+(n<<5)>>3]=o+D*.5;o=o+D;n=n+1|0}h[y>>3]=+h[y>>3]-p;n=1}else{o=+h[y>>3]+ +h[x>>3]*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+16>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+24>>3]=D;h[e+(n<<5)>>3]=p+(+h[m>>3]-+h[z>>3]*.5);h[e+(n<<5)+8>>3]=o-D*.5;o=o-D;n=n+1|0}h[m>>3]=p+ +h[m>>3];n=0}C=m+16+(n<<3)|0;h[C>>3]=+h[C>>3]-q;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b-f|0,r,e+(f<<5)|0,0,0.0,0.0,0.0,1.0,A)}while(0);l=B;return}function wv(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function xv(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=l;l=l+96|0;D=E+48|0;C=E+24|0;B=E+16|0;A=E+8|0;v=E+80|0;w=E;x=d+4|0;y=v+4|0;z=a+16|0;t=gC(a)|0;e=0;f=0;i=0;j=0;while(1){if(!t)break;u=UA(a,t)|0;r=e;s=j;while(1){if(!u)break;e=(b[(c[u+16>>2]|0)+168>>1]|0)==0;do if((t|0)!=(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|e)if(!e){i=yv(u,d)|0;j=i+8|0;if(it(c[j>>2]|0,c[i>>2]|0)|0){k=HX(c[j>>2]|0,c[i>>2]|0)|0;if(!k){dA(0,94653,A)|0;j=1;e=s;break}else e=u;while(1){if(!e)break;F=e+16|0;G=(c[F>>2]|0)+144|0;Nm(w,e,k,0,c[j>>2]|0,c[i>>2]|0);I=w;H=c[I+4>>2]|0;c[G>>2]=c[I>>2];c[G+4>>2]=H;Pm(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[F>>2]|0)+172>>2]|0}zv(i);j=r;e=s;break}if(!r){ir(v,a);e=jH(a,8,8)|0;dA(0,94737,B)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];q=p;if(!(n<=o)&!(n<=p)){m=+g[v>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[D>>3]=m;h[D+8>>3]=n;h[D+16>>3]=o;h[D+24>>3]=q;dA(3,94853,D)|0}}else{c[C>>2]=e;h[C+8>>3]=o;h[C+16>>3]=q;dA(3,94803,C)|0}j=1;e=s}else{j=r;e=s}}else{j=r;e=s}else{if(!f){e=HK(96)|0;c[e+84>>2]=HK(((qB(a)|0)<<5)+11520|0)|0;f=e}else e=s;Hm(f,u,c[(c[z>>2]|0)+248>>2]|0);j=r}while(0);u=WA(a,u)|0;r=j;s=e}t=hC(a,t)|0;e=r;j=s}Av(i);if(f|0){l6(c[f+84>>2]|0);l6(j)}l=E;return e|0}function yv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=HK(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Bv(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Bv(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Cv(k,b,0,f,d);Cv(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Cv(k,h,e,f,d);l=p;return k|0}function zv(a){a=a|0;c[a>>2]=0;return}function Av(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Cv(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Cv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=gC(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Dv(b,Km(h,g,0)|0);h=hC(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Dv(b,Ev(h,g)|0);d=d+1|0}return}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=IK(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=KK(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Ev(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=HK(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[n+4>>2]=4;b=HK(64)|0;c[n>>2]=b;i=+g[d>>2];m=+g[d+4>>2];if(!(a[d+8>>0]|0)){p=(e+f)*.5*(i+-1.0);o=(l+k)*.5*(m+-1.0);j=e*i-p;i=f*i-p;f=k*m-o;e=l*m-o}else{j=e-i;i=f+i;f=k+m;e=l-m}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return n|0}function Fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+160|0;o=p+16|0;k=p+8|0;g=p;m=p+24|0;n=HK(qB(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{j=HB(b)|0;i=c[46965]|0;c[g>>2]=j;c[g+4>>2]=i;i2(m,94913,g)|0;i=LD(b,m,1)|0;RC(i,137786,280,1)|0;j=HK(56)|0;c[(c[i+16>>2]|0)+140>>2]=j;c[j>>2]=f;c[j+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,i,n);f=f+16|0}}while(0);i=0;j=gC(b)|0;while(1){h=(g|0)!=0;if(!j)break;q=c[j+16>>2]|0;if((a[n+(c[q+120>>2]|0)>>0]|0)==0?(a[q+119>>0]|0)==3:0){if(!h){q=HB(b)|0;g=(c[46965]|0)+f|0;c[k>>2]=q;c[k+4>>2]=g;i2(m,94913,k)|0;g=LD(b,m,1)|0;RC(g,137786,280,1)|0;q=HK(56)|0;c[(c[g+16>>2]|0)+140>>2]=q;f=f+1|0}Gv(b,j,g,n);h=1}else h=i;i=h;j=hC(b,j)|0}if(h)IG(g)|0;g=gC(b)|0;while(1){if(!g)break;if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){k=HB(b)|0;q=(c[46965]|0)+f|0;c[o>>2]=k;c[o+4>>2]=q;i2(m,94921,o)|0;q=LD(b,m,1)|0;RC(q,137786,280,1)|0;k=HK(56)|0;c[(c[q+16>>2]|0)+140>>2]=k;Gv(b,g,q,n);IG(q)|0;f=f+1|0}g=hC(b,g)|0}l6(n);c[46965]=(c[46965]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=i;i=HK((f<<2)+4|0)|0;h=i;g=MD(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=ND(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=p;return i|0}else Aa(94929,94940,134,94947);return 0}function Gv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;lC(e,d,1)|0;i=ZA(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,e,f);i=_A(b,i,d)|0}return}function Hv(a){a=a|0;var b=0;b=IK(24)|0;c[46966]=b;c[b>>2]=Sz(18244,c[4591]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Iv(a)|0;return b|0}function Iv(a){a=a|0;var b=0,d=0;b=IK(16)|0;c[b+12>>2]=0;d=IK(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Jv(a,b,d){a=a|0;b=b|0;d=d|0;d=Lv(c[46966]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Kv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Lv(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Iv(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)l6(d);c[b>>2]=IK(e<<3)|0;c[f>>2]=e}return}function Nv(a){a=a|0;var b=0;b=c[a>>2]|0;eb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ov(a){a=a|0;Oz(c[a>>2]|0)|0;Pv(c[a+4>>2]|0);l6(c[a+16>>2]|0);l6(a);return}function Pv(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Qv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h;i=h+12|0;c[i>>2]=b;c[i+4>>2]=e;j=c[a>>2]|0;i=(eb[c[j>>2]&63](j,i,1)|0)+8|0;c[i>>2]=Rv(a,f,c[i>>2]|0)|0;if((d[195234]|0)>2){j=c[15715]|0;i=HB(f)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=i;z4(j,94957,g)|0}l=h;return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Sv(a,b){a=a|0;b=b|0;Zz(c[a>>2]|0,b,a)|0;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Uv(a){a=a|0;l6(c[a+8>>2]|0);l6(a);return}function Vv(a){a=a|0;return +(+h[a>>3])}function Wv(a){a=a|0;return c[a+8>>2]|0}function Xv(a){a=a|0;return ~~+h[a+16>>3]|0}function Yv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=c[b>>2]|0;if((b|0)>=(c[d>>2]|0)){b=b+10|0;c[d>>2]=b;c[e>>2]=KK(c[e>>2]|0,S(a<<3,b)|0)|0;c[f>>2]=KK(c[f>>2]|0,c[d>>2]<<3)|0;c[g>>2]=KK(c[g>>2]|0,c[d>>2]<<3)|0}return}function Zv(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0;h[l>>3]=+h[l>>3]+1.0;a:do if(a|0){q=c[a+16>>2]|0;n=c[a+40>>2]|0;if(n|0)do{Yv(q,f,g,i,j,k);if((Xv(wy(n)|0)|0)!=(e|0)){p=Wv(wy(n)|0)|0;o=0;while(1){if((o|0)>=(q|0))break;h[(c[i>>2]|0)+((S(c[f>>2]|0,q)|0)+o<<3)>>3]=+h[p+(o<<3)>>3];o=o+1|0}r=+Vv(wy(n)|0);h[(c[j>>2]|0)+(c[f>>2]<<3)>>3]=r;r=+Yw(d,p,q);p=c[f>>2]|0;h[(c[k>>2]|0)+(p<<3)>>3]=r;c[f>>2]=p+1}n=xy(n)|0}while((n|0)!=0);p=a+36|0;if(c[p>>2]|0){r=+Yw(c[a+20>>2]|0,d,q);if(!(+h[a+24>>3]<r*b)){o=1<<q;n=0;while(1){if((n|0)>=(o|0))break a;Zv(c[(c[p>>2]|0)+(n<<2)>>2]|0,b,d,e,f,g,i,j,k,l,m);n=n+1|0}}Yv(q,f,g,i,j,k);o=c[a+32>>2]|0;p=c[f>>2]|0;m=S(p,q)|0;n=0;while(1){if((n|0)>=(q|0))break;h[(c[i>>2]|0)+(m+n<<3)>>3]=+h[o+(n<<3)>>3];n=n+1|0}h[(c[j>>2]|0)+(p<<3)>>3]=+h[a+8>>3];r=+Yw(o,d,q);j=c[f>>2]|0;h[(c[k>>2]|0)+(j<<3)>>3]=r;c[f>>2]=j+1}}while(0);return}function _v(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0;n=c[a+16>>2]|0;h[l>>3]=0.0;c[f>>2]=0;c[m>>2]=0;c[g>>2]=10;if(!(c[i>>2]|0))c[i>>2]=IK(n*80|0)|0;if(!(c[j>>2]|0))c[j>>2]=IK(c[g>>2]<<3)|0;if(!(c[k>>2]|0))c[k>>2]=IK(c[g>>2]<<3)|0;Zv(a,b,d,e,f,g,i,j,k,l,m);return}function $v(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[a>>2]|0;l=c[a+16>>2]|0;k=0;while(1){if((k|0)==4)break;h[i+(k<<3)>>3]=0.0;k=k+1|0}c[j>>2]=0;l=S(l,m)|0;k=0;while(1){if((k|0)>=(l|0))break;h[b+(k<<3)>>3]=0.0;k=k+1|0}aw(a,a,d,b,e,f,g,i);bw(a,b,i);e=+(m|0);k=0;while(1){if((k|0)==4)break;m=i+(k<<3)|0;h[m>>3]=+h[m>>3]/e;k=k+1|0}return}function aw(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=j|0;var k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;a:do if((a|0)!=0&(b|0)!=0){if((c[a>>2]|0)>0?(c[b>>2]|0)>0:0){v=c[a+16>>2]|0;p=c[a+40>>2]|0;u=b+40|0;l=c[u>>2]|0;k=a+32|0;m=b+32|0;r=+Yw(c[k>>2]|0,c[m>>2]|0,v);n=+h[a+24>>3];o=+h[b+24>>3];w=g==-1.0;x=1.0-g;if(n+o<r*f){h[j>>3]=+h[j>>3]+1.0;q=c[k>>2]|0;o=+h[a+8>>3];p=cw(a,v)|0;m=c[m>>2]|0;n=+h[b+8>>3];l=cw(b,v)|0;if(!(r>0.0))Aa(95099,94982,191,95065);o=o*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break a;if(w)n=f;else n=+H(+r,+x);i=o*(+h[q+(k<<3)>>3]-+h[m+(k<<3)>>3])/n;e=p+(k<<3)|0;h[e>>3]=+h[e>>3]+i;e=l+(k<<3)|0;h[e>>3]=+h[e>>3]-i;k=k+1|0}}m=(p|0)!=0;k=(l|0)!=0;t=(a|0)==(b|0);if(m&k){b=j+8|0;l=p;while(1){if(!l)break a;p=Wv(wy(l)|0)|0;g=+Vv(wy(l)|0);q=Xv(wy(l)|0)|0;s=dw(e,q,l,v)|0;m=c[u>>2]|0;while(1){if(!m)break;a=Wv(wy(m)|0)|0;n=+Vv(wy(m)|0);k=Xv(wy(m)|0)|0;j=dw(e,k,m,v)|0;b:do if(!((q|0)==(k|0)|t&(k|0)<(q|0))){h[b>>3]=+h[b>>3]+1.0;r=+Ww(d,v,q,k);o=g*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break b;if(w)n=f;else n=+H(+r,+x);n=o*(+h[p+(k<<3)>>3]-+h[a+(k<<3)>>3])/n;y=s+(k<<3)|0;h[y>>3]=+h[y>>3]+n;y=j+(k<<3)|0;h[y>>3]=+h[y>>3]-n;k=k+1|0}}while(0);m=xy(m)|0}l=xy(l)|0}}q=1<<v;p=a+36|0;if(t){l=0;while(1){if((l|0)>=(q|0))break a;m=c[(c[p>>2]|0)+(l<<2)>>2]|0;k=l;while(1){if((k|0)==(q|0))break;aw(m,c[(c[p>>2]|0)+(k<<2)>>2]|0,d,e,f,g,i,j);k=k+1|0}l=l+1|0}}if(!(m|!(n>o))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}l=b+36|0;if(!(k|!(o>n))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(k<<2)>>2]|0,a,d,e,f,g,i,j);k=k+1|0}}if(!m){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}if(k)Aa(138697,94982,273,95065);else s=0;while(1){if((s|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(s<<2)>>2]|0,a,d,e,f,g,i,j);s=s+1|0}}Aa(95040,94982,175,95065)}while(0);return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;e=c[a+40>>2]|0;l=c[a+16>>2]|0;m=+h[a+8>>3];n=cw(a,l)|0;if(!(m>0.0))Aa(94974,94982,289,94993);k=d+16|0;h[k>>3]=+h[k>>3]+1.0;a:do if(!e){k=1<<l;f=a+36|0;e=0;while(1){if((e|0)>=(k|0))break a;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(i|0){if((c[i>>2]|0)<=0)break;j=cw(i,l)|0;g=+h[i+8>>3]/m;a=0;while(1){if((a|0)>=(l|0))break;o=j+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}bw(i,b,d)}e=e+1|0}Aa(95029,94982,307,94993)}else while(1){if(!e)break a;f=dw(b,Xv(wy(e)|0)|0,e,l)|0;g=+Vv(wy(e)|0)/m;a=0;while(1){if((a|0)>=(l|0))break;o=f+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}e=xy(e)|0}while(0);return}function cw(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=c[d>>2]|0;a:do if(!a){a=IK(b<<3)|0;c[d>>2]=a;d=0;while(1){if((d|0)>=(b|0))break a;h[a+(d<<3)>>3]=0.0;d=d+1|0}}while(0);return a|0}function dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(wy(d)|0)+24>>2]|0;if(!f){f=a+((S(e,b)|0)<<3)|0;c[(wy(d)|0)+24>>2]=f;f=c[(wy(d)|0)+24>>2]|0}return f|0}function ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=a<<3;k=IK(m)|0;l=IK(m)|0;m=IK(m)|0;if((k|0)!=0&(l|0)!=0&(m|0)!=0){f=0;while(1){if((f|0)>=(a|0)){f=0;break}h[k+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(a|0)){g=1;break}h[l+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((g|0)>=(b|0))break;j=S(g,a)|0;f=0;while(1){if((f|0)>=(a|0))break;n=k+(f<<3)|0;i=+h[n>>3];p=d+(f+j<<3)|0;o=+h[p>>3];h[n>>3]=i<o?i:o;n=l+(f<<3)|0;o=+h[n>>3];i=+h[p>>3];h[n>>3]=o>i?o:i;f=f+1|0}g=g+1|0}i=+h[l>>3]-+h[k>>3];f=0;while(1){if((f|0)>=(a|0))break;p=k+(f<<3)|0;n=l+(f<<3)|0;h[m+(f<<3)>>3]=(+h[p>>3]+ +h[n>>3])*.5;o=+h[n>>3]-+h[p>>3];i=i>o?i:o;f=f+1|0}f=fw(a,m,i==0.0?5.2e-06:i*.52,c)|0;a:do if(!e){g=0;while(1){if((g|0)>=(b|0))break a;f=gw(f,d+((S(g,a)|0)<<3)|0,1.0,g)|0;g=g+1|0}}else{g=0;while(1){if((g|0)>=(b|0))break a;p=d+((S(g,a)|0)<<3)|0;f=gw(f,p,+h[e+(g<<3)>>3],g)|0;g=g+1|0}}while(0);l6(k);l6(l);l6(m)}else{l6(k);l6(l);l6(m);f=0}return f|0}function fw(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,i=0;g=IK(56)|0;c[g+16>>2]=a;c[g>>2]=0;i=IK(a<<3)|0;c[g+20>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;h[i+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}if(d>0.0){h[g+24>>3]=d;h[g+8>>3]=0.0;c[g+32>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;c[g+44>>2]=e;c[g+48>>2]=0;return g|0}else Aa(95197,94982,410,95207);return 0}function gw(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;if(!a)a=0;else hw(a,b,c,d,0)|0;return a|0}function hw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=a+16|0;s=c[w>>2]|0;u=c[a+44>>2]|0;r=a+20|0;t=a+24|0;j=c[a>>2]|0;m=a+8|0;x=a+40|0;do if(!j){c[a>>2]=1;h[m>>3]=d;j=IK(s<<3)|0;c[a+32>>2]=j;i=c[w>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;h[j+(g<<3)>>3]=+h[b+(g<<3)>>3];g=g+1|0}g=iw(i,d,b,e)|0;if(!(c[x>>2]|0)){c[x>>2]=ty(g)|0;break}else Aa(95108,94982,502,95116)}else{v=a+36|0;p=a+32|0;o=+h[m>>3]+d;n=j+1|0;if((u|0)<=(f|0)){if(c[v>>2]|0)Aa(95182,94982,541,95116);c[a>>2]=n;h[m>>3]=o;k=+(n|0);l=+(j+2|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(+h[b+(g<<3)>>3]+ +h[q>>3]*k)/l;g=g+1|0}g=iw(s,d,b,e)|0;i=c[x>>2]|0;if(!i)Aa(95192,94982,547,95116);else{c[x>>2]=vy(i,g)|0;break}}h[m>>3]=o;l=+(j|0);k=+(n|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(l*+h[q>>3]+ +h[b+(g<<3)>>3])/k;g=g+1|0}q=1<<s;a:do if(!(c[v>>2]|0)){c[v>>2]=IK(q<<2)|0;g=0;while(1){if((g|0)>=(q|0))break a;c[(c[v>>2]|0)+(g<<2)>>2]=0;g=g+1|0}}while(0);g=c[r>>2]|0;j=jw(s,g,b)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,515,95116);i=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!i){i=kw(c[w>>2]|0,g,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=i;i=c[(c[v>>2]|0)+(j<<2)>>2]|0}p=f+1|0;e=hw(i,b,d,e,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=e;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,519,95116);g=c[x>>2]|0;do if(g|0){m=Xv(wy(g)|0)|0;if((c[a>>2]|0)!=1)Aa(95172,94982,523,95116);n=Wv(wy(c[x>>2]|0)|0)|0;k=+Vv(wy(c[x>>2]|0)|0);i=c[r>>2]|0;j=jw(s,i,n)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,527,95116);g=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!g){g=kw(c[w>>2]|0,i,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=g;g=c[(c[v>>2]|0)+(j<<2)>>2]|0}w=hw(g,n,k,m,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=w;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,532,95116);else{uy(c[x>>2]|0,106);c[x>>2]=0;break}}while(0);c[a>>2]=(c[a>>2]|0)+1}while(0);return a|0}function iw(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0;g=IK(32)|0;h[g>>3]=b;f=IK(a<<3)|0;c[g+8>>2]=f;h[g+16>>3]=+(e|0);e=0;while(1){if((e|0)>=(a|0))break;h[f+(e<<3)>>3]=+h[d+(e<<3)>>3];e=e+1|0}c[g+24>>2]=0;return g|0}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a+-1|0;if((a|0)<=0)break;a=d;e=!(+h[c+(d<<3)>>3]-+h[b+(d<<3)>>3]<0.0)&1|e<<1}return e|0}function kw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0.0;g=fw(a,b,d,e)|0;i=c[g+20>>2]|0;j=-d;e=0;b=f;while(1){if((e|0)>=(a|0))break;f=i+(e<<3)|0;h[f>>3]=((b&1|0)==0?j:d)+ +h[f>>3];e=e+1|0;b=(b|0)/2|0}return g|0}function lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){b=c[a+16>>2]|0;l6(c[a+20>>2]|0);l6(c[a+32>>2]|0);l6(c[a+48>>2]|0);g=a+36|0;e=c[g>>2]|0;if(e|0){f=1<<b;d=0;b=e;while(1){if((d|0)>=(f|0))break;lw(c[b+(d<<2)>>2]|0);d=d+1|0;b=c[g>>2]|0}l6(b)}uy(c[a+40>>2]|0,106);l6(a)}return}function mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0;a:do if(!a)b=0;else{l=c[a+20>>2]|0;m=c[a+24>>2]|0;d=c[a+8>>2]|0;n=c[a>>2]|0;e=c[a+4>>2]|0;i=a+16|0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,76,95259);b=ow(e,n,d,c[i>>2]|0,1)|0;c[b+8>>2]=d;o=c[b+20>>2]|0;k=c[b+24>>2]|0;d=0;while(1){if((d|0)>(e|0)){d=0;break}c[o+(d<<2)>>2]=0;d=d+1|0}b:while(1){if((d|0)>=(n|0)){d=0;break}f=d+1|0;g=l+(f<<2)|0;d=c[l+(d<<2)>>2]|0;while(1){if((d|0)>=(c[g>>2]|0)){d=f;continue b}j=o+((c[m+(d<<2)>>2]|0)+1<<2)|0;c[j>>2]=(c[j>>2]|0)+1;d=d+1|0}}while(1){if((d|0)>=(e|0))break;j=d+1|0;g=o+(j<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[o+(d<<2)>>2]|0);d=j}d=a+28|0;f=b+28|0;c:do switch(c[i>>2]|0){case 1:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;d:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue d}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;q=+h[j+(d<<3)>>3];r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;c[r>>2]=p+1;h[g+(p<<3)>>3]=q;d=d+1|0}}}case 2:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;e:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue e}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;t=d<<1;r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;s=p<<1;h[g+(s<<3)>>3]=+h[j+(t<<3)>>3];h[g+((s|1)<<3)>>3]=+h[j+((t|1)<<3)>>3];c[r>>2]=p+1;d=d+1|0}}}case 4:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;f:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue f}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;s=c[j+(d<<2)>>2]|0;r=o+(c[r>>2]<<2)|0;t=c[r>>2]|0;c[r>>2]=t+1;c[g+(t<<2)>>2]=s;d=d+1|0}}}case 8:{f=0;g:while(1){if((f|0)>=(n|0))break c;g=f+1|0;a=l+(g<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[a>>2]|0)){f=g;continue g}s=o+(c[m+(d<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[k+(t<<2)>>2]=f;d=d+1|0}}}case 16:{nw(b);b=0;break a}default:{nw(b);b=0;break a}}while(0);while(1){d=e+-1|0;if((e|0)<=0)break;c[o+(e<<2)>>2]=c[o+(d<<2)>>2];e=d}c[o>>2]=0}while(0);return b|0}function nw(a){a=a|0;var b=0;if(a|0){b=c[a+20>>2]|0;if(b|0)l6(b);b=c[a+24>>2]|0;if(b|0)l6(b);l6(c[a+28>>2]|0);l6(a)}return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=qw(a,b,d,pw(d)|0,e)|0;if((c|0)>0)rw(a,c)|0;return a|0}function pw(a){a=a|0;switch(a|0){case 1:{a=8;break}case 2:{a=16;break}case 4:{a=4;break}case 8:{a=0;break}case 16:{a=0;break}default:a=0}return a|0}function qw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=IK(44)|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=d;c[g+40>>2]=e;if((f|0)==2)a=0;else a=IK((a<<2)+4|0)|0;c[g+20>>2]=a;c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=f;c[g+36>>2]=0;return g|0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a+32>>2]|0;f=a+28|0;c[f>>2]=0;d=b<<2;e=IK(d)|0;if((h|0)!=2){c[a+24>>2]=e;d=c[a+40>>2]|0;if((b|0)!=0&(d|0)>0)g=4}else{c[a+20>>2]=e;c[a+24>>2]=IK(d)|0;d=c[a+40>>2]|0;g=4}if((g|0)==4)c[f>>2]=IK(S(d,b)|0)|0;c[a+12>>2]=b;return a|0}function sw(a,b){a=a|0;b=b|0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{a=vw(a,b)|0;nw(b);b=a+36|0;c[b>>2]=c[b>>2]|3;b=a}}else b=uw(a)|0;return b|0} -function NM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0,P=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;F=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;C=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;D=c[((w|0)==2?j:k)+40>>2]|0;t=F+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;E=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[E>>2];c[A+4>>2]=c[E+4>>2];c[A+8>>2]=c[E+8>>2];c[A+12>>2]=c[E+12>>2];OM(r,z,A);c[F>>2]=c[r>>2];c[F+4>>2]=c[r+4>>2];c[F+8>>2]=c[r+8>>2];c[F+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=F+32|0;E=F+48|0;w=(c[D+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];OM(y,z,A);c[E>>2]=c[y>>2];c[E+4>>2]=c[y+4>>2];c[E+8>>2]=c[y+8>>2];c[E+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[195236]|0)==0){m=+h[F>>3];n=+h[E>>3];L=m-n;o=+h[F+8>>3];p=+h[F+56>>3];s=o-p;q=s*s;if(L*L+q<1.0e-06){c[t>>2]=c[F>>2];c[t+4>>2]=c[F+4>>2];c[t+8>>2]=c[F+8>>2];c[t+12>>2]=c[F+12>>2];c[r>>2]=c[E>>2];c[r+4>>2]=c[E+4>>2];c[r+8>>2]=c[E+8>>2];c[r+12>>2]=c[E+12>>2];y=F+24|0;x=F+40|0;n=0.0;m=0.0}else{M=n-m;L=+G(+(M*M+q));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((S(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=m+q;m=M*N/L;y=F+24|0;h[y>>3]=o+m;h[r>>3]=n+q;x=F+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=C+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(D|0)){c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];i=0;while(1){if((i|0)==4)break b;O=H+(i<<4)|0;P=F+(i<<4)|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];i=i+1|0}}else{c[I>>2]=c[E>>2];c[I+4>>2]=c[E+4>>2];c[I+8>>2]=c[E+8>>2];c[I+12>>2]=c[E+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(3-i<<4)|0;O=F+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[C>>2]=z;i=0;while(1){if((i|0)==4)break;P=z+(i<<4)|0;O=H+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];DY(A,B);bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,w,z,A);h[t>>3]=m+ +h[t>>3];h[y>>3]=n+ +h[y>>3];h[r>>3]=m+ +h[r>>3];h[x>>3]=n+ +h[x>>3];j=j+1|0}}else{if((f|0)==4){PM(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];QM(F,A)}bO(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,F,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,j,z,A)}while(0);l=K;return}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function PM(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[23326]=(+h[b+16>>3]+ +h[b+32>>3])*.5;h[23327]=(+h[b+24>>3]+ +h[b+40>>3])*.5;c[a>>2]=c[46652];c[a+4>>2]=c[46653];c[a+8>>2]=c[46654];c[a+12>>2]=c[46655];return}function QM(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];d=+h[a+48>>3];i=(g+d)*.5;f=+h[a+8>>3];c=+h[a+56>>3];e=(f+c)*.5;g=d-g;f=c-f;f=+G(+(g*g+f*f))/5.0;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+G(+(g*g+c*c));if(!(d==0.0)){g=i-f*(g/d);i=e-f*(c/d);h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function RM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0.0,K=0.0,L=0.0;I=l;l=l+208|0;t=I+192|0;s=I+176|0;F=I+48|0;w=I+16|0;x=I;B=I+160|0;C=I+144|0;u=I+128|0;v=I+32|0;i=e&2130706432;D=(e&8|0)==0?((i|0)==0?4:i):8;if((D|0)==436207616)SM(a,b,d,f);else{H=HK((d<<6)+64|0)|0;E=d+-1|0;q=w+8|0;r=x+8|0;A=12.0;e=0;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];g=e+1|0;if((e|0)<(E|0)){p=b+(g<<4)|0;c[x>>2]=c[p>>2];c[x+4>>2]=c[p+4>>2];c[x+8>>2]=c[p+8>>2];c[x+12>>2]=c[p+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}y=+h[x>>3]-+h[w>>3];z=+h[r>>3]-+h[q>>3];z=+G(+(y*y+z*z))/3.0;A=A<z?A:z;e=g}n=(i|16777216|0)==83886080;o=(D|0)==4;j=(i|0)==16777216;i=0;e=0;while(1){g=H+(i<<4)|0;k=H+(i+1<<4)|0;p=H+(i+2<<4)|0;if((e|0)>=(d|0))break;m=b+(e<<4)|0;c[w>>2]=c[m>>2];c[w+4>>2]=c[m+4>>2];c[w+8>>2]=c[m+8>>2];c[w+12>>2]=c[m+12>>2];m=e+1|0;if((e|0)<(E|0)){e=b+(m<<4)|0;c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}z=+h[x>>3]-+h[w>>3];y=+h[r>>3]-+h[q>>3];y=A/+G(+(z*z+y*y));y=n?y/3.0:j?y*.5:y;z=y*.5;if(o){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(B,z,s,t);c[g>>2]=c[B>>2];c[g+4>>2]=c[B+4>>2];c[g+8>>2]=c[B+8>>2];c[g+12>>2]=c[B+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]};c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(C,y,s,t);c[k>>2]=c[C>>2];c[k+4>>2]=c[C+4>>2];c[k+8>>2]=c[C+8>>2];c[k+12>>2]=c[C+12>>2];e=i+3|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(u,1.0-y,s,t);c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];if(!o){i=e;e=m;continue}e=H+(e<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(v,1.0-z,s,t);c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];i=i+4|0;e=m}c[g>>2]=c[H>>2];c[g+4>>2]=c[H+4>>2];c[g+8>>2]=c[H+8>>2];c[g+12>>2]=c[H+12>>2];v=H+16|0;c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[k+12>>2]=c[v+12>>2];x=H+32|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];g=d+4|0;t=d+3|0;i=d<<4;u=d+1|0;j=g<<4;k=(d|0)==4;w=d+2|0;m=d+12|0;n=w<<4;o=d+5|0;p=u<<4;q=t<<4;r=m<<4;s=o<<4;e=D&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if(k){d=HK(192)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];p=d+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=H+48|0;L=+h[p>>3];t=H+64|0;L=L+(+h[t>>3]-L);o=d+32|0;h[o>>3]=L;q=H+56|0;z=+h[q>>3];r=H+72|0;z=z+(+h[r>>3]-z);C=d+40|0;h[C>>3]=z;A=L+(+h[p>>3]-+h[x>>3]);u=d+48|0;h[u>>3]=A;K=z+(+h[q>>3]-+h[H+40>>3]);x=d+56|0;h[x>>3]=K;y=A+(+h[t>>3]-+h[p>>3]);p=d+64|0;h[p>>3]=y;J=K+(+h[r>>3]-+h[q>>3]);q=d+72|0;h[q>>3]=J;r=d+80|0;h[r>>3]=y+(L-A);h[d+88>>3]=J+(z-K);t=H+96|0;K=+h[t>>3];v=H+80|0;K=K+(+h[v>>3]-K);E=d+144|0;h[E>>3]=K;w=H+104|0;z=+h[w>>3];s=H+88|0;z=z+(+h[s>>3]-z);h[d+152>>3]=z;J=K+(+h[t>>3]-+h[H+112>>3]);B=d+128|0;h[B>>3]=J;A=z+(+h[w>>3]-+h[H+120>>3]);D=d+136|0;h[D>>3]=A;L=J+(+h[v>>3]-+h[t>>3]);t=d+112|0;h[t>>3]=L;y=A+(+h[s>>3]-+h[w>>3]);w=d+120|0;h[w>>3]=y;s=d+96|0;h[s>>3]=L+(K-J);v=d+104|0;h[v>>3]=y+(z-A);n=d+160|0;m=b+32|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=d+176|0;b=b+48|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];lS(a,d,12,f);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];A=+h[o>>3];z=+h[u>>3];A=A-(z-A);u=F+16|0;h[u>>3]=A;y=+h[C>>3];J=+h[x>>3];y=y-(J-y);x=F+24|0;h[x>>3]=y;C=F+32|0;h[C>>3]=A+(+h[p>>3]-z);b=F+40|0;h[b>>3]=y+(+h[q>>3]-J);f=F+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];oS(a,F,4);c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];J=+h[s>>3];y=+h[t>>3];J=J-(y-J);h[u>>3]=J;z=+h[v>>3];A=+h[w>>3];z=z-(A-z);h[x>>3]=z;h[C>>3]=J+(+h[B>>3]-y);h[b>>3]=z+(+h[D>>3]-A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,4);l6(d);break}else Aa(105739,105750,737,105759)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}d=HK(s)|0;C=b+16|0;L=+h[C>>3];J=+h[b>>3]-L;J=J*.125+(L+J*.5);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;v=H+48|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*3.0*.5;h[d+8>>3]=L;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+16>>3]=K;h[d+24>>3]=L;h[d+32>>3]=K;A=+h[D>>3];h[d+40>>3]=A+(+h[E>>3]-A)*.5;K=K+(+h[x>>3]-+h[v>>3])*.5;h[d+48>>3]=K;A=+h[D>>3];h[d+56>>3]=A+(+h[E>>3]-A)*.5;h[d+64>>3]=K;K=+h[D>>3];K=K+(+h[E>>3]-K)*.5+(+h[w>>3]-+h[B>>3]);h[d+72>>3]=K;h[d+80>>3]=J;h[d+88>>3]=K;h[d+96>>3]=J;K=K-(+h[w>>3]-+h[B>>3])*.25;h[d+104>>3]=K;h[d+112>>3]=J+(+h[x>>3]-+h[v>>3]);h[d+120>>3]=K+(+h[w>>3]-+h[B>>3])*.5;h[d+128>>3]=+h[d>>3];h[d+136>>3]=L+(+h[w>>3]-+h[B>>3])*.25;lS(a,d,o,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 117440512:break;default:break a}d=HK(p)|0;h[d>>3]=+h[v>>3];E=H+56|0;F=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[F>>3])*.5;h[d+16>>3]=+h[H+48>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[F>>3])*.5;h[d+32>>3]=+h[b+32>>3];D=b+40|0;h[d+40>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+48>>3]=+h[v>>3];h[d+56>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[b+8>>3];h[d+72>>3]=L-(L-+h[b+56>>3])*.5;h[d+64>>3]=+h[b>>3];lS(a,d,u,f);l6(d);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}d=HK(j)|0;C=b+16|0;A=+h[C>>3];B=H+48|0;A=A+(+h[b>>3]-A)*.5+(+h[x>>3]-+h[B>>3])*.25;h[d>>3]=A;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=A;v=H+56|0;w=H+72|0;J=L+(+h[v>>3]-+h[w>>3])*.5;h[d+24>>3]=J;A=A+(+h[x>>3]-+h[B>>3])*.5;h[d+32>>3]=A;h[d+40>>3]=J;h[d+48>>3]=A;A=J+(+h[v>>3]-+h[w>>3])*.5;h[d+56>>3]=A;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=A;h[d+80>>3]=K;h[d+88>>3]=J;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+96>>3]=K;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 150994944:break;default:break a}d=HK(n)|0;C=b+16|0;J=+h[C>>3];B=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[B>>3])*3.0*.25;h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=J;u=H+56|0;v=H+72|0;J=L+(+h[u>>3]-+h[v>>3])*.25;h[d+24>>3]=J;K=+h[C>>3];h[d+32>>3]=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[B>>3])*.25;K=J+(+h[u>>3]-+h[v>>3])*.5;h[d+40>>3]=K;A=+h[C>>3];h[d+48>>3]=A+(+h[b>>3]-A)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+56>>3]=K;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=J;h[d+80>>3]=K;h[d+88>>3]=L;lS(a,d,w,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}d=HK(p)|0;C=b+16|0;J=+h[C>>3];v=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[v>>3]);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*.25;h[d+8>>3]=L;J=J-(+h[x>>3]-+h[v>>3]);h[d+16>>3]=J;h[d+24>>3]=L+(+h[w>>3]-+h[B>>3]);h[d+32>>3]=J;J=L+(+h[w>>3]-+h[B>>3])*.5;h[d+40>>3]=J;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+48>>3]=K;h[d+56>>3]=J;h[d+64>>3]=K;h[d+72>>3]=L;lS(a,d,u,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 184549376:break;default:break a}d=HK(j)|0;B=b+16|0;J=+h[B>>3];K=+h[b>>3]-J;u=H+48|0;K=K*.125+(J+K*.5)+(+h[x>>3]-+h[u>>3])*.5;h[d>>3]=K;v=b+40|0;J=+h[v>>3];w=b+24|0;E=H+56|0;C=H+72|0;J=J+(+h[w>>3]-J)*.5+(+h[E>>3]-+h[C>>3])*.25;h[d+8>>3]=J;A=+h[B>>3];L=+h[b>>3]-A;L=A+L*.5-L*.125;h[d+16>>3]=L;h[d+24>>3]=J;h[d+32>>3]=L;J=J+(+h[E>>3]-+h[C>>3])*.5;h[d+40>>3]=J;L=L-(+h[x>>3]-+h[u>>3])*.5;h[d+48>>3]=L;h[d+56>>3]=J;D=d+64|0;h[D>>3]=L;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[E>>3]-+h[C>>3])*.25;h[d+72>>3]=L;J=K-(+h[x>>3]-+h[u>>3])*.5;h[d+80>>3]=J;h[d+88>>3]=L;h[d+96>>3]=J;L=L-(+h[E>>3]-+h[C>>3])*.5;h[d+104>>3]=L;x=d+112|0;h[x>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[D>>3];D=b+8|0;E=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);h[F>>3]=+h[x>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[b>>3];h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=IK((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;m=i+(j<<4)|0;if((e|0)>=(d|0))break;b=e<<2;E=H+(b<<4)|0;c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];E=H+((b|1)<<4)|0;c[m>>2]=c[E>>2];c[m+4>>2]=c[E+4>>2];c[m+8>>2]=c[E+8>>2];c[m+12>>2]=c[E+12>>2];F=i+(g+2<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+3<<4)|0;E=H+((b|2)<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+4<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+5<<4)|0;b=H+((b|3)<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];nS(a,d,j,0,0,f&255);l6(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}lS(a,b,d,f);g=F+16|0;e=0;while(1){if((e|0)>=(d|0))break a;f=e*3|0;b=H+(f+2<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];f=H+(f+4<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];oS(a,F,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=HK(p)|0;e=1;while(1){if((e|0)>=(d|0))break;D=g+(e<<4)|0;C=b+(e<<4)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];e=e+1|0}b=E*3|0;E=H+(b+4<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];D=g+(d<<4)|0;d=H+(b+2<<4)|0;c[D>>2]=c[d>>2];c[D+4>>2]=c[d+4>>2];c[D+8>>2]=c[d+8>>2];c[D+12>>2]=c[d+12>>2];lS(a,g,u,f);l6(g);c[F>>2]=c[d>>2];c[F+4>>2]=c[d+4>>2];c[F+8>>2]=c[d+8>>2];c[F+12>>2]=c[d+12>>2];f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];b=b+3|0;d=F+32|0;h[d>>3]=+h[f>>3]+(+h[F>>3]-+h[H+(b<<4)>>3]);h[F+40>>3]=+h[F+24>>3]+(+h[F+8>>3]-+h[H+(b<<4)+8>>3]);oS(a,f,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=HK(n)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];i=g+16|0;c[i>>2]=c[x>>2];c[i+4>>2]=c[x+4>>2];c[i+8>>2]=c[x+8>>2];c[i+12>>2]=c[x+12>>2];i=H+48|0;E=H+64|0;h[g+32>>3]=+h[x>>3]+(+h[i>>3]-+h[E>>3])/3.0;d=H+56|0;e=H+72|0;h[g+40>>3]=+h[H+40>>3]+(+h[d>>3]-+h[e>>3])/3.0;L=+h[i>>3];h[g+48>>3]=L+(L-+h[E>>3])/3.0;L=+h[d>>3];h[g+56>>3]=L+(L-+h[e>>3])/3.0;e=4;while(1){if((e|0)>=(w|0))break;d=g+(e<<4)|0;E=b+(e+-2<<4)|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];e=e+1|0}lS(a,g,w,f);l6(g);c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];f=F+16|0;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];oS(a,F,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if(k){D=HK(n)|0;c[D>>2]=c[b>>2];c[D+4>>2]=c[b+4>>2];c[D+8>>2]=c[b+8>>2];c[D+12>>2]=c[b+12>>2];d=D+16|0;c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];d=D+32|0;E=H+64|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=D+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=D+64|0;d=H+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=D+80|0;C=H+160|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];lS(a,D,w,f);l6(D);h[F>>3]=+h[v>>3]+(+h[H+176>>3]-+h[H>>3]);h[F+8>>3]=+h[H+24>>3]+(+h[H+184>>3]-+h[H+8>>3]);f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);c[f>>2]=c[H>>2];c[f+4>>2]=c[H+4>>2];c[f+8>>2]=c[H+8>>2];c[f+12>>2]=c[H+12>>2];oS(a,F,2);break}else Aa(105739,105750,714,105759)}switch(e|0){case 50331648:break;default:break a}g=HK(q)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];L=+h[b>>3];h[g+16>>3]=L-(L-+h[v>>3])*.25;e=H+56|0;L=+h[b+8>>3]+(+h[e>>3]-+h[H+72>>3])/3.0;h[g+24>>3]=L;K=+h[b>>3];h[g+32>>3]=K-(K-+h[v>>3])*2.0;h[g+40>>3]=L;L=+h[b>>3];h[g+48>>3]=L-(L-+h[v>>3])*2.25;h[g+56>>3]=+h[e>>3];h[g+64>>3]=+h[H+48>>3];h[g+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(t|0))break;d=g+(e<<4)|0;F=b+(e+-3<<4)|0;c[d>>2]=c[F>>2];c[d+4>>2]=c[F+4>>2];c[d+8>>2]=c[F+8>>2];c[d+12>>2]=c[F+12>>2];e=e+1|0}lS(a,g,t,f);l6(g);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];h[E>>3]=L;C=b+40|0;K=+h[C>>3];D=b+24|0;B=H+48|0;v=H+56|0;w=H+72|0;K=K+(+h[D>>3]-K)*.5+(+h[v>>3]-+h[w>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3]+(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[C>>3];L=L+(+h[D>>3]-L)*.5-(+h[v>>3]-+h[w>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}E=HK(i)|0;L=+h[b>>3];h[E>>3]=L;B=b+40|0;K=+h[B>>3];C=b+24|0;w=H+56|0;D=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[w>>3]-+h[D>>3])*.125;h[E+8>>3]=K;h[E+16>>3]=L;J=K+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;L=L-(+h[w>>3]-+h[D>>3])*2.0;h[E+32>>3]=L;h[E+40>>3]=J;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[b>>3]-(+h[x>>3]-+h[H+48>>3]);h[E>>3]=K;L=+h[B>>3];L=L+(+h[C>>3]-L)*.5-(+h[w>>3]-+h[D>>3])*5.0*.125;h[E+8>>3]=L;h[E+16>>3]=K;J=L+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;K=K-(+h[w>>3]-+h[D>>3]);h[E+32>>3]=K;h[E+40>>3]=J;D=E+48|0;h[D>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[b+16>>3];L=+h[B>>3];h[F+8>>3]=L+(+h[C>>3]-L)*.5;h[F+16>>3]=+h[D>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 234881024:break;default:break a}E=HK(i)|0;t=b+16|0;K=+h[t>>3];u=H+48|0;K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=K;v=b+40|0;L=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;L=L+(+h[w>>3]-L)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[t>>3];K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);h[F>>3]=+h[B>>3];K=+h[v>>3];B=F+8|0;h[B>>3]=K+(+h[w>>3]-K)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=K+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[t>>3];h[F>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=K;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];B=H+48|0;L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=L;v=b+40|0;K=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3])*2.0;B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);h[F>>3]=+h[u>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[E>>3];h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 268435456:break;default:break a}E=HK(i)|0;h[E>>3]=+h[b>>3];u=H+48|0;B=H+56|0;C=H+72|0;h[E+8>>3]=+h[H+24>>3]-(+h[B>>3]-+h[C>>3])*.5;h[E+16>>3]=+h[u>>3];L=+h[B>>3];h[E+24>>3]=L-(L-+h[C>>3])*.5;h[E+32>>3]=+h[b+32>>3];w=b+40|0;h[E+40>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;h[E+48>>3]=+h[b>>3];h[E+56>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;lS(a,E,d,f);v=b+16|0;L=(+h[x>>3]-+h[u>>3])*.25;K=+h[v>>3]+L;h[F>>3]=K;A=+h[w>>3];t=b+24|0;J=+h[B>>3]-+h[C>>3];A=A+(+h[t>>3]-A)*.5+J*.125;D=F+8|0;h[D>>3]=A;d=F+16|0;h[d>>3]=K+L;f=F+24|0;h[f>>3]=A-J*.25;oS(a,F,2);J=(+h[x>>3]-+h[u>>3])*.25;A=+h[v>>3]+J;h[F>>3]=A;L=+h[w>>3];K=+h[B>>3]-+h[C>>3];L=L+(+h[t>>3]-L)*.5-K*.125;h[D>>3]=L;h[d>>3]=A+J;h[f>>3]=L+K*.25;oS(a,F,2);K=(+h[x>>3]-+h[u>>3])*.25;h[F>>3]=+h[v>>3]+K;L=+h[w>>3]+(+h[B>>3]-+h[C>>3])*3.0*.25;h[D>>3]=L;h[d>>3]=+h[b>>3]-K;h[f>>3]=L;oS(a,F,2);l6(E);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}B=HK(i)|0;u=b+16|0;z=+h[u>>3];C=H+48|0;z=z+(+h[b>>3]-z)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B>>3]=z;v=b+40|0;A=+h[v>>3];w=b+24|0;A=A+(+h[w>>3]-A)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B+8>>3]=A;h[B+16>>3]=z;z=+h[v>>3];L=(+h[x>>3]-+h[C>>3])*.5;z=z+(+h[w>>3]-z)*.5-L;h[B+24>>3]=z;J=+h[u>>3];L=J+(+h[b>>3]-J)*.5-L;h[B+32>>3]=L;h[B+40>>3]=z;h[B+48>>3]=L;h[B+56>>3]=A;lS(a,B,d,f);l6(B);A=+h[u>>3];A=A+(+h[b>>3]-A)*.5;L=(+h[x>>3]-+h[C>>3])*3.0*.25;z=A+L;h[F>>3]=z;J=+h[v>>3];J=J+(+h[w>>3]-J)*.5;K=J+L;B=F+8|0;h[B>>3]=K;D=F+16|0;h[D>>3]=z;J=J-L;f=F+24|0;h[f>>3]=J;L=A-L;h[F+32>>3]=L;h[F+40>>3]=J;h[F+48>>3]=L;h[F+56>>3]=K;E=F+64|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];oS(a,F,5);K=+h[u>>3];L=+h[b>>3];h[F>>3]=K+(L-K)*.5+(+h[x>>3]-+h[C>>3])*3.0*.25;K=+h[v>>3];h[B>>3]=K+(+h[w>>3]-K)*.5;h[D>>3]=L;E=b+8|0;d=b+56|0;h[f>>3]=K+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[u>>3];h[F>>3]=K;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[D>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[C>>3])*3.0*.25;h[f>>3]=L+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);break}else{switch(e|0){case 301989888:break;default:break a}d=HK(r)|0;w=b+16|0;y=+h[w>>3];s=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[s>>3])*.25;h[d>>3]=y;B=b+40|0;A=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;A=A+(+h[C>>3]-A)*.5+(+h[u>>3]-+h[v>>3])*.5;t=d+8|0;h[t>>3]=A;h[d+16>>3]=y;A=A+(+h[u>>3]-+h[v>>3])*.125;E=d+24|0;h[E>>3]=A;J=y-(+h[x>>3]-+h[s>>3])*.125;D=d+32|0;h[D>>3]=J;z=A+(+h[u>>3]-+h[v>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;L=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=L;h[d+64>>3]=y;y=L+(+h[u>>3]-+h[v>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=J;h[d+88>>3]=y;J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[d+96>>3]=J;h[d+104>>3]=L;K=J-(+h[x>>3]-+h[s>>3])*.125;h[d+112>>3]=K;h[d+120>>3]=y;K=K-(+h[x>>3]-+h[s>>3])*.125;h[d+128>>3]=K;h[d+136>>3]=y;h[d+144>>3]=K;h[d+152>>3]=L;L=K+(+h[x>>3]-+h[s>>3])*.125;h[d+160>>3]=L;h[d+168>>3]=z;h[d+176>>3]=K;h[d+184>>3]=A;h[d+192>>3]=K;K=+h[t>>3];h[d+200>>3]=K;h[d+208>>3]=L;h[d+216>>3]=K;x=d+224|0;h[x>>3]=J;h[d+232>>3]=+h[E>>3];h[d+240>>3]=+h[D>>3];h[d+248>>3]=K;lS(a,d,m,f);K=+h[x>>3];h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[x>>3];h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}d=HK(j)|0;w=b+16|0;J=+h[w>>3];D=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=J;B=b+40|0;K=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[u>>3]-+h[v>>3])*.5;h[d+8>>3]=K;z=J+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;L=K+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=L;h[d+32>>3]=z;z=L+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=J;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;J=J-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=J;h[d+72>>3]=A;A=J-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=L;h[d+112>>3]=J;h[d+120>>3]=K;lS(a,d,g,f);K=+h[w>>3];K=K+(+h[b>>3]-K)*.5;h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}d=HK(r)|0;B=b+16|0;y=+h[B>>3];u=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[u>>3])*.25;h[d>>3]=y;C=b+40|0;A=+h[C>>3];D=b+24|0;s=H+56|0;t=H+72|0;A=A+(+h[D>>3]-A)*.5+(+h[s>>3]-+h[t>>3])*.5;E=d+8|0;h[E>>3]=A;h[d+16>>3]=y;A=A+(+h[s>>3]-+h[t>>3])*.125;v=d+24|0;h[v>>3]=A;K=y-(+h[x>>3]-+h[u>>3])*.125;w=d+32|0;h[w>>3]=K;z=A+(+h[s>>3]-+h[t>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;J=z+(+h[s>>3]-+h[t>>3])*.125;h[d+56>>3]=J;h[d+64>>3]=y;y=J+(+h[s>>3]-+h[t>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=K;h[d+88>>3]=y;K=+h[B>>3];K=K+(+h[b>>3]-K)*.5;h[d+96>>3]=K;h[d+104>>3]=J;L=K-(+h[x>>3]-+h[u>>3])*.125;h[d+112>>3]=L;h[d+120>>3]=y;L=L-(+h[x>>3]-+h[u>>3])*.125;h[d+128>>3]=L;h[d+136>>3]=y;h[d+144>>3]=L;h[d+152>>3]=J;J=L+(+h[x>>3]-+h[u>>3])*.125;h[d+160>>3]=J;h[d+168>>3]=z;h[d+176>>3]=L;h[d+184>>3]=A;h[d+192>>3]=L;L=+h[E>>3];h[d+200>>3]=L;h[d+208>>3]=J;h[d+216>>3]=L;E=d+224|0;h[E>>3]=K;h[d+232>>3]=+h[v>>3];h[d+240>>3]=+h[w>>3];h[d+248>>3]=L;lS(a,d,m,f);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];E=F+16|0;h[E>>3]=+h[F>>3];L=+h[C>>3];f=F+24|0;h[f>>3]=L+(+h[D>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 352321536:break;default:break a}d=HK(j)|0;w=b+16|0;K=+h[w>>3];D=H+48|0;K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=K;B=b+40|0;L=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;L=L+(+h[C>>3]-L)*.5+(+h[u>>3]-+h[v>>3])*.5;E=d+8|0;h[E>>3]=L;z=K+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;J=L+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=J;h[d+32>>3]=z;z=J+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=K;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;K=K-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=K;h[d+72>>3]=A;A=K-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);L=+h[w>>3];L=L+(+h[b>>3]-L)*.5;h[F>>3]=L;D=F+8|0;h[D>>3]=+h[E>>3];E=F+16|0;h[E>>3]=L;L=+h[B>>3];f=F+24|0;h[f>>3]=L+(+h[C>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=HK(s)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3];L=+h[x>>3];h[d+48>>3]=L+(L-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3];L=+h[x>>3];h[d+64>>3]=L+(L-+h[F>>3])*.5;h[d+72>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+80>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+104>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+120>>3]=L-(L-+h[D>>3])*.5;h[d+112>>3]=+h[b>>3];h[d+136>>3]=+h[E>>3];h[d+128>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,o,f);l6(d);break}else{switch(e|0){case 385875968:break;default:break a}d=HK(q)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+48>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+64>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+72>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+88>>3]=L-(L-+h[D>>3])*.5;h[d+80>>3]=+h[b>>3];h[d+104>>3]=+h[E>>3];h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,t,f);l6(d);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=HK(q)|0;h[d>>3]=+h[b>>3];C=b+8|0;D=H+48|0;E=H+56|0;F=H+72|0;h[d+8>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[D>>3])*.5;h[d+24>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[D>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];C=b+40|0;h[d+56>>3]=L-(L-+h[C>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[D>>3])*.5;h[d+72>>3]=+h[C>>3];h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[D>>3])*.5;h[d+104>>3]=+h[b+56>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+96>>3]=+h[b>>3];lS(a,d,t,f);l6(d);break}else{switch(e|0){case 419430400:break;default:break a}d=HK(s)|0;h[d>>3]=+h[b>>3];F=b+8|0;E=H+48|0;C=H+56|0;D=H+72|0;h[d+8>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[E>>3])*.5;h[d+24>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[E>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];F=b+40|0;h[d+56>>3]=L-(L-+h[F>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[E>>3])*.5;h[d+72>>3]=+h[F>>3];h[d+88>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[E>>3])*.5;F=b+56|0;h[d+104>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+112>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+120>>3]=+h[F>>3];h[d+128>>3]=+h[b+48>>3];h[d+136>>3]=+h[F>>3];lS(a,d,o,f);l6(d);break}}while(0);l6(H)}l=I;return}function SM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3];k=k+k;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];nS(a,b,d,0,0,e&255);nS(a,g,7,0,0,0);l=f;return}function TM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=e+(+h[d+8>>3]-e)*b;h[a>>3]=f+(+h[d>>3]-f)*b;h[a+8>>3]=e;return}function UM(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=91)if((a|0)==94)a=2;else return ((a|0)==93?3:(a|0)==96?4:0)|0;else a=1}else a=0;return a|0}function VM(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,H=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0;ca=l;l=l+144|0;K=ca+112|0;N=ca+104|0;D=ca+96|0;E=ca+88|0;j=ca+80|0;$=ca+64|0;aa=ca+48|0;T=ca+40|0;U=ca+32|0;o=ca+24|0;x=ca+16|0;B=ca+136|0;A=ca+128|0;L=ca;ba=HK(48)|0;Z=b+16|0;P=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;i=(P|0)==1664;_=c[P>>2]|0;e=c[P+4>>2]|0;g=c[P+8>>2]|0;f=+h[P+16>>3];k=+h[P+32>>3];m=+h[P+24>>3];_=(bP(NA(b,105812)|0)|0)&255|_;P=(_|0)!=0;do if(!i){if(!P){Y=c[Z>>2]|0;d=+h[Y+32>>3]*72.0;r=+h[Y+40>>3]*72.0;r=+(~~(r+(r>=0.0?.5:-.5))|0);d=+(~~(d+(d>=0.0?.5:-.5))|0);break}d=+dN(b);if(d>0.0)r=d;else{Y=c[Z>>2]|0;r=+h[Y+32>>3];d=+h[Y+40>>3];d=(r<d?r:d)*72.0;d=+(~~(d+(d>=0.0?.5:-.5))|0);r=d}}else{r=0.0;d=0.0}while(0);Y=XO(b,c[47222]|0,e,0)|0;X=f+ +YO(b,c[47224]|0,0.0,-360.0);if(!g){W=+YO(b,c[47225]|0,0.0,-100.0);H=XO(b,c[47221]|0,4,0)|0;V=+YO(b,c[47226]|0,0.0,-100.0)}else{H=g;W=k;V=m}e=c[(c[Z>>2]|0)+104>>2]|0;C=e+24|0;c[$>>2]=c[C>>2];c[$+4>>2]=c[C+4>>2];c[$+8>>2]=c[C+8>>2];c[$+12>>2]=c[C+12>>2];n=+h[$>>3];C=$+8|0;if(n>0.0)if(i)k=n;else M=11;else if(i|!(+h[C>>3]>0.0))k=n;else M=11;if((M|0)==11){e=NA(b,105797)|0;f=n+16.0;do if(e){h[x>>3]=0.0;h[o>>3]=0.0;c[j>>2]=o;c[j+4>>2]=x;e=q4(e,105804,j)|0;k=+h[o>>3];if(k<0.0){h[o>>3]=0.0;k=0.0}m=+h[x>>3];if(m<0.0){h[x>>3]=0.0;m=0.0}if((e|0)<=0){h[$>>3]=f;k=8.0;break}k=k*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0);f=n+k;h[$>>3]=f;if((e|0)!=1){k=m*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0)}}else{h[$>>3]=f;k=8.0}while(0);h[C>>3]=k+ +h[C>>3];e=c[(c[Z>>2]|0)+104>>2]|0;k=f}q=k-+h[e+24>>3];f=+h[c[(c[(uC(b)|0)+16>>2]|0)+8>>2]>>3];if(f>0.0){Q=f*72.0;Q=+(~~(Q+(Q>=0.0?.5:-.5))|0);R=+eN(k,Q);h[$>>3]=R;h[C>>3]=+eN(+h[C>>3],Q)}else R=k;e=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[e+12>>0]|0)){g=NA(b,109326)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){PF(A,uC(b)|0,g);e=c[A>>2]|0;i=c[A+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[D>>2]=g;c[D+4>>2]=e;dA(0,105888,D)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}else{e=c[e>>2]|0;if((a[e>>0]|0)==99?(f2(e,105820)|0)==0:0){g=NA(b,105827)|0;PF(B,uC(b)|0,g);e=c[B>>2]|0;i=c[B+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[E>>2]=g|0?g:105837;c[E+4>>2]=e;dA(0,105843,E)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}while(0);Q=+(g|0);h[aa>>3]=R>Q?R:Q;Q=+h[C>>3];p=+(e|0);A=aa+8|0;h[A>>3]=Q>p?Q:p;e=(H|0)<3&(V!=0.0|W!=0.0)?120:H;g=NA(b,105929)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4)if((V==0.0?((~~(X+(X>=0.0?.5:-.5))|0)%90|0|0)==0:0)&W==0.0){n=4.0;o=1}else{n=4.0;M=40}else{n=+(e|0);M=40}do if((M|0)==40){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){o=c[g>>2]|0;c[K>>2]=c[aa>>2];c[K+4>>2]=c[aa+4>>2];c[K+8>>2]=c[aa+8>>2];c[K+12>>2]=c[aa+12>>2];lb[o&63](L,K);c[aa>>2]=c[L>>2];c[aa+4>>2]=c[L+4>>2];c[aa+8>>2]=c[L+8>>2];c[aa+12>>2]=c[L+12>>2];o=0;break}f=+h[A>>3];k=f*1.4142135623730951;if(r>k&i<<24>>24==99){m=f/r;m=+G(+(1.0/(1.0-m*m)));m=m*+h[aa>>3];h[aa>>3]=m}else{m=+h[aa>>3]*1.4142135623730951;h[aa>>3]=m;h[A>>3]=k;f=k}if((e|0)>2){z=+I(+(3.141592653589793/n));h[aa>>3]=m/z;h[A>>3]=f/z;o=0}else o=0}while(0);k=+h[A>>3];g=_O(b,c[47227]|0,137609)|0;x=ba+40|0;if((a[g>>0]|0)==115?(f2(g,108531)|0)==0:0){h[aa>>3]=d;h[A>>3]=r;c[x>>2]=c[x>>2]|2048;f=r}else{if(!((bP(g)|0)<<24>>24)){f=+h[aa>>3];d=d>f?d:f;h[aa>>3]=d;f=+h[A>>3];f=r>f?r:f}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(d<+h[M+24>>3])?!(r<+h[M+32>>3]):0)){L=HB(b)|0;M=HB(uC(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;dA(0,105938,N)|0}h[aa>>3]=d;f=r}h[A>>3]=f}if(P){y=d>f?d:f;h[A>>3]=y;h[aa>>3]=y;z=y}else{z=f;y=d}d=R-q;do if(!((bP(_O(b,c[47218]|0,137609)|0)|0)<<24>>24)){if(o){d=+h[(R>+h[aa>>3]?$:aa)>>3]-q;break}f=+h[A>>3];if(Q<f){d=+h[aa>>3]*+G(+(1.0-Q*Q/(f*f)));d=(R>d?R:d)-q}}while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=d;if(!(c[x>>2]&2048)){w=+h[A>>3]-k;h[g+48>>3]=Q+(Q<p?p-Q+w:w)}j=(Y|0)>1;g=j?Y:1;a:do if((e|0)<3){g=HK(g<<5)|0;f=+h[aa>>3]*.5;d=+h[A>>3]*.5;h[g>>3]=-f;h[g+8>>3]=-d;h[g+16>>3]=f;h[g+24>>3]=d;if(j){e=1;i=2;while(1){if((e|0)==(Y|0))break;y=f+4.0;z=d+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;U=i|1;h[g+(U<<4)>>3]=y;h[g+(U<<4)+8>>3]=z;e=e+1|0;i=i+2|0;f=y;d=z}h[aa>>3]=f*2.0;h[A>>3]=d*2.0;e=2}else e=2}else{g=HK(S(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){p=6.283185307179586/n;s=p*.5;q=+J(+s);r=+c2(+F(+V)+ +F(+W),1.0);s=V*1.4142135623730951/+I(+s);t=W*.5;k=(p+-3.141592653589793)*.5;X3(k,T,U);u=X/180.0*3.141592653589793;f=0.0;d=0.0;k=k+(3.141592653589793-p)*.5;i=0;m=+h[U>>3]*.5;n=+h[T>>3]*.5;while(1){if((i|0)>=(e|0))break b;k=p+k;X3(k,T,U);m=m+q*+h[U>>3];n=n+q*+h[T>>3];w=t*n+m*(r+s*n);X3(u+ +O(+n,+w),T,U);w=+c2(w,n);v=w*+h[U>>3]*+h[aa>>3];w=w*+h[T>>3]*+h[A>>3];da=+F(+v);d=da>d?da:d;da=+F(+w);f=da>f?da:f;h[g+(i<<4)>>3]=v;h[g+(i<<4)+8>>3]=w;if(o)break;else i=i+1|0}da=-v;h[g+16>>3]=da;h[g+24>>3]=w;h[g+32>>3]=da;da=-w;h[g+40>>3]=da;h[g+48>>3]=v;h[g+56>>3]=da}else{lb[c[i+4>>2]&63](g,aa);f=+h[A>>3]*.5;d=+h[aa>>3]*.5}while(0);d=d*2.0;f=f*2.0;y=y>d?y:d;h[aa>>3]=y;da=z>f?z:f;h[A>>3]=da;d=y/d;f=da/f;i=0;while(1){if((i|0)>=(e|0))break;P=g+(i<<4)|0;b=g+(i<<4)+8|0;da=f*+h[b>>3];h[P>>3]=d*+h[P>>3];h[b>>3]=da;i=i+1|0}if(j){j=e+-1|0;f=+h[g>>3];k=+h[g+8>>3];d=+O(+(k-+h[g+(j<<4)+8>>3]),+(f-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;o=j+1|0;i=(o|0)%(e|0)|0;m=+h[g+(i<<4)>>3];n=+h[g+(i<<4)+8>>3];p=+O(+(n-k),+(m-f));z=(d+3.141592653589793-p)*.5;da=4.0/+J(+z);X3(d-z,T,U);h[T>>3]=da*+h[T>>3];h[U>>3]=da*+h[U>>3];i=1;d=k;while(1){if((i|0)==(Y|0)){d=p;j=o;f=m;k=n;continue c}z=f+ +h[U>>3];da=d+ +h[T>>3];b=(S(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=da;i=i+1|0;f=z;d=da}}j=S(e,Y+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;U=i+j|0;z=+h[g+(U<<4)+8>>3];y=+F(+(+h[g+(U<<4)>>3]))*2.0;da=+h[aa>>3];h[aa>>3]=y>da?y:da;z=+F(+z)*2.0;da=+h[A>>3];h[A>>3]=z>da?z:da;i=i+1|0}}}while(0);c[ba>>2]=_;c[ba+4>>2]=Y;c[ba+8>>2]=e;h[ba+16>>3]=X;h[ba+32>>3]=W;h[ba+24>>3]=V;c[ba+44>>2]=g;g=c[Z>>2]|0;f=+h[aa>>3];d=+h[A>>3];e=g+32|0;if(!(c[x>>2]&2048))h[e>>3]=f/72.0;else{h[e>>3]=+h[(R>f?$:aa)>>3]/72.0;d=+h[(Q>d?$:aa)+8>>3]}h[g+40>>3]=d/72.0;c[g+12>>2]=ba;l=ca;return}function WM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[47352]=f;f=D3(f)|0;f=HK(((f|0)>1?f:1)+1|0)|0;b=YM(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];dA(1,105773,e)|0;c[47352]=105794;b=YM(a,d,1,f)|0}l6(f);ZM(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((bP(_O(a,c[47227]|0,137609)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(bP(_O(a,c[47218]|0,137609)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];_M(b,j,a);$M(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];aN(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]/72.0;h[n+40>>3]=(+h[d>>3]+1.0)/72.0;c[n+12>>2]=b;l=o;return}function XM(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=HK(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;b=+YO(a,c[47200]|0,1797693134862315708145274.0e284,0.0);f=+YO(a,c[47199]|0,1797693134862315708145274.0e284,0.0);b=b<f?b:f;i=c[k>>2]|0;b=f==1797693134862315708145274.0e284&b==1797693134862315708145274.0e284?.05:b>0.0?(b>.0003?b:.0003):b;h[i+40>>3]=b;h[i+32>>3]=b;b=b*72.0;g=XO(a,c[47222]|0,g,0)|0;i=HK((g|0)<1?32:g<<5)|0;f=b*.5;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b/72.0;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function YM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=HK(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[47352]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=((m|0)==0&k<<24>>24==124&1)+i|0}}if((l|0)<0)break}m=l;j=j+1|0}C=g+56|0;c[C>>2]=HK(i<<2)|0;a[g+64>>0]=d;z=(d|0)==0&1;A=f+1|0;B=n+82|0;y=(e|0)==0;w=n+16|0;x=n+4|0;v=n+8|0;l=0;m=0;d=0;u=0;k=0;e=0;n=f;i=0;j=0;b:while(1){p=l;l=0;c:while(1){r=n;d:while(1){t=e;e:while(1){s=i;f:while(1){q=m;o=k;g:while(1){while(1){if(u){E=79;break b}i=c[47352]|0;k=a[i>>0]|0;e=i+1|0;if((k+-1&255)>=31)break;c[47352]=e}switch(k<<24>>24|0){case 92:{E=52;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{E=56;break d}}c[47352]=e;if(o|0){E=32;break b}if(!(a[e>>0]|0)){E=32;break b}o=YM(b,z,0,f)|0;c[(c[C>>2]|0)+(q<<2)>>2]=o;if(!o){E=34;break b}else{q=q+1|0;o=4}}n=s+-1|0;if(a[B>>0]|0){k=o;break d}if(!(o&16)){E=26;break b}if(s>>>0<=A>>>0|(n|0)==(t|0))i=s;else i=(a[n>>0]|0)==32?n:s;a[i>>0]=0;l=Y3(f)|0;c[47352]=(c[47352]|0)+1;m=q;k=o&-17;s=i}if(o&6|0){E=21;break b}if(a[B>>0]|0){E=57;break d}c[47352]=e;m=q;k=o|18;t=f;i=f}if((o&16|0)!=0|y&k<<24>>24==0){E=36;break b}if(!(o&4)){e=HK(72)|0;c[(c[C>>2]|0)+(q<<2)>>2]=e;m=q+1|0}else{e=p;m=q}if(l|0)c[e+60>>2]=l;if(!(o&5)){a[f+j>>0]=32;o=o|1;j=j+1|0}i=f+j|0;if(!(o&1))n=r;else{if((j|0)>1?(D=i+-1|0,(D|0)!=(r|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=Y3(f)|0;c[e+52>>2]=xK(b,n,a[B>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[v>>2]|0)|0;a[e+64>>0]=1;n=f;j=0}i=c[47352]|0;k=a[i>>0]|0;if(!(k<<24>>24)){l=e;u=1;k=o;e=t;i=s;continue b}c[47352]=i+1;if(k<<24>>24==125){E=51;break b}else{p=e;k=0;l=0;e=t;r=n;i=s}}h:do if((E|0)==52){E=0;k=f+j|0;n=s+-1|0;m=j+1|0;switch(a[e>>0]|0){case 0:{k=o;break h}case 62:case 60:case 124:case 125:case 123:{i=d;k=o;break}case 32:{if(!(a[B>>0]|0)){i=1;k=o}else E=54;break}default:E=54}if((E|0)==54){E=0;a[k>>0]=92;i=d;k=o|9;j=m}c[47352]=e;d=i;i=e}else if((E|0)==56){E=0;k=o;n=s+-1|0}else if((E|0)==57){E=0;k=o;n=s+-1|0}while(0);e=f+j|0;if(k&4|0?(a[i>>0]|0)!=32:0){E=60;break b}if(!(k&24))k=(a[i>>0]|0)==32?k:k|9;o=(d|0)!=0;if(!(k&8))if(!(k&16)){e=t;n=r;o=s}else{m=a[i>>0]|0;if(!(o|m<<24>>24!=32))if((s|0)!=(f|0))if((a[n>>0]|0)==32)m=s;else E=74;else m=f;else E=74;if((E|0)==74){E=0;a[s>>0]=m;m=s+1|0;i=c[47352]|0}e=o?m+-1|0:t;n=r;o=m}else{m=a[i>>0]|0;if(!((!(o|m<<24>>24!=32)?(a[e+-1>>0]|0)==32:0)?(a[B>>0]|0)==0:0)){a[e>>0]=m;j=j+1|0}if(o){e=t;n=f+j+-1|0;o=s}else{e=t;n=r;o=s}}i=i+1|0;c[47352]=i;while(1){if((a[i>>0]|0)>=0){m=q;i=o;continue c}t=i+1|0;c[47352]=t;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=t}}}if((E|0)==21){bN(g,l);g=0}else if((E|0)==26){bN(g,l);g=0}else if((E|0)==32){bN(g,l);g=0}else if((E|0)==34){bN(g,l);g=0}else if((E|0)==36){bN(g,l);g=0}else if((E|0)==51)c[g+48>>2]=m;else if((E|0)==60){bN(g,l);g=0}else if((E|0)==79)c[g+48>>2]=q;return g|0}function ZM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+48|0;k=v+40|0;p=v+32|0;u=v+16|0;s=v;j=c[e+52>>2]|0;t=u+8|0;a:do if(!j){o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;n=0;while(1){if((n|0)>=(c[o>>2]|0))break a;ZM(s,d,c[(c[p>>2]|0)+(n<<2)>>2]|0);f=+h[t>>3];g=+h[u>>3];i=+h[s>>3];m=+h[r>>3];if(!(a[q>>0]|0)){h[t>>3]=f+m;j=g>i?u:s;k=u}else{h[u>>3]=g+i;j=(f>m?u:s)+8|0;k=t}h[k>>3]=+h[j>>3];n=n+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=NA(d,105797)|0;m=g+16.0;if((j|0)!=0?(c[n>>2]=k,c[n+4>>2]=p,o=q4(j,105804,n)|0,(o|0)>0):0){i=+h[k>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((o|0)!=1){i=+h[p>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=m}f=f+i}h[u>>3]=g;h[t>>3]=f}while(0);c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];c[b+12>>2]=c[u+12>>2];l=v;return}function _M(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;r=l;l=l+32|0;n=r+16|0;o=r;p=+h[d>>3];g=p-+h[b>>3];q=+h[d+8>>3];f=q-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){m=d+40|0;h[m>>3]=g+ +h[m>>3];m=d+48|0;h[m>>3]=f+ +h[m>>3]}k=b+48|0;d=c[k>>2]|0;a:do if(d|0){m=b+64|0;g=((a[m>>0]|0)==0?f:g)/+(d|0);j=b+56|0;i=0;while(1){if((i|0)>=(d|0))break a;d=c[(c[j>>2]|0)+(i<<2)>>2]|0;b=i+1|0;f=+(~~(g*+(b|0))-~~(g*+(i|0))|0);if(!(a[m>>0]|0))$M(o,p,f+ +h[d+8>>3]);else $M(o,f+ +h[d>>3],q);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];_M(d,n,e);i=b;d=c[k>>2]|0}}while(0);l=r;return}function $M(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];$M(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;$M(m,s+ +h[b>>3],r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+64|0;i=b+56|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[o>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[i>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];aN(f,j,b&e);b=c[(c[i>>2]|0)+(g<<2)>>2]|0;if(!(a[o>>0]|0))h[p>>3]=+h[p>>3]-+h[b+8>>3];else h[d>>3]=+h[d>>3]+ +h[b>>3];g=g+1|0}l=q;return}function bN(a,b){a=a|0;b=b|0;cN(a);l6(b);return}function cN(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;cN(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}l6(c[a+60>>2]|0);AK(c[a+52>>2]|0);l6(c[e>>2]|0);l6(a);return}function dN(a){a=a|0;var b=0.0,d=0.0;d=+YO(a,c[47200]|0,0.0,.01);b=+YO(a,c[47199]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function eN(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function fN(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==91&1;return a|0}function gN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[47353]|0;a:do if(!f)d=0;else{g=c[47354]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(f2(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function hN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(!(kP(NA(d,105827)|0)|0))d=b;else{if((a[b>>0]|0)==101?(f2(b,105986)|0)==0:0){d=b;break}d=105820}while(0);f=a[d>>0]|0;if(f<<24>>24==99?(f2(d,105820)|0)==0:0)g=11;else{b=20896;g=7}a:do if((g|0)==7)while(1){g=0;e=c[b>>2]|0;if(!e){g=11;break a}if((a[e>>0]|0)==f<<24>>24?(f2(e,d)|0)==0:0)break a;b=b+16|0;g=7}while(0);if((g|0)==11)b=iN(d)|0;return b|0}function iN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=gN(b)|0;if(!d){f=c[47354]|0;e=f+1|0;c[47354]=e;d=c[47353]|0;e=e<<2;if(!d)d=IK(e)|0;else d=KK(d,e)|0;c[47353]=d;d=HK(16)|0;c[(c[47353]|0)+(f<<2)>>2]=d;c[d>>2]=c[5224];c[d+4>>2]=c[5225];c[d+8>>2]=c[5226];c[d+12>>2]=c[5227];e=Y3(b)|0;c[d>>2]=e;do if(!(c[47176]|0)){if((a[b>>0]|0)==99?(f2(b,105820)|0)==0:0){e=1;break}c[g>>2]=c[5224];c[g+4>>2]=e;dA(0,105991,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function jN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]/1.902113032590307;c=+h[b+8>>3]/1.1180339887498947;c=(d>c?d:c)*.9510565162951535*.8090169943749475/.29389262614623657;h[a>>3]=c*2.0*.9510565162951535;h[a+8>>3]=c*1.8090169943749475;return}function kN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e/.9510565162951536;i=j/1.902113032590307;d=i*.9510565162951535*.30901699437494745/.7694208842938134;g=i*.19098300562505266*.5;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=i*+I(+c);h[a+(f<<4)+8>>3]=i*+J(+c)-g;l=c+.6283185307179586;m=f|1;h[a+(m<<4)>>3]=d*+I(+l);h[a+(m<<4)+8>>3]=d*+J(+l)-g;c=l+.6283185307179586;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function lN(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){l6(c[a+44>>2]|0);l6(a)}return}function mN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4256;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?106657:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=nU(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(AN(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=HB(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;dA(0,106659,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1712)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(AN(d,0,g,e,c[n>>2]|0,h)|0)BN(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function nN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r+16|0;f=r;if(!a){c[47357]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];kK(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[47357]|0)){f=c[47358]|0;g=c[47360]|0;i=c[47359]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[47361]=g;i=c[g+44>>2]|0;c[47359]=i;f=c[g+8>>2]|0;c[47358]=f;g=S((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[47360]=g;c[47357]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(((a+4|0)%(f|0)|0)+g<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[46656];c[p+4>>2]=c[46657];c[p+8>>2]=c[46658];c[p+12>>2]=c[46659];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=((zN(k,p,m,n)|0)==0&1)+b|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function oN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=qU(b,d,0,f,g)|0;else b=0;return b|0}function pN(e,f){e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;V=l;l=l+48|0;R=V+24|0;Q=V+16|0;N=V+8|0;M=V;T=V+32|0;q=V+28|0;n=c[e+16>>2]|0;U=n+208|0;o=c[U>>2]|0;if(!o){i=e+152|0;j=n+228|0;k=n+212|0;m=n+244|0;if(!(b[n+260>>1]&1)){O=i;J=0}else P=4}else{i=e+152|0;j=n+228|0;m=n+244|0;k=n+212|0;P=4}if((P|0)==4)if(!(c[i>>2]&4)){aS(e,o,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);O=i;J=1}else{O=i;J=1}K=f+16|0;i=c[K>>2]|0;y=c[i+12>>2]|0;I=c[y+44>>2]|0;L=c[y+8>>2]|0;y=c[y+4>>2]|0;if((c[47355]|0)<(L|0)){n=L+5|0;c[47355]=n;i=c[47356]|0;n=n<<4;if(!i)i=IK(n)|0;else i=KK(i,n)|0;c[47356]=i;i=c[K>>2]|0}H=(c[i+104>>2]|0)+56|0;i=i+16|0;c[H>>2]=c[i>>2];c[H+4>>2]=c[i+4>>2];c[H+8>>2]=c[i+8>>2];c[H+12>>2]=c[i+12>>2];H=c[K>>2]|0;F=+h[H+32>>3]*72.0;F=(+h[H+88>>3]+ +h[H+96>>3])/+(~~(F+(F>=0.0?.5:-.5))|0);G=+h[H+40>>3]*72.0;G=+h[H+80>>3]/+(~~(G+(G>=0.0?.5:-.5))|0);H=qN(e,f)|0;c[T>>2]=0;i=d[(c[K>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){B=$O(f,c[47206]|0,106557)|0;fS(e,B);hS(e,$O(f,c[47207]|0,106565)|0);n=0;i=1;break}if(i&8|0){B=$O(f,c[47210]|0,106573)|0;fS(e,B);hS(e,$O(f,c[47211]|0,106581)|0);n=0;i=1;break}if(i&4|0){B=$O(f,c[47208]|0,106589)|0;fS(e,B);hS(e,$O(f,c[47209]|0,106597)|0);n=0;i=1;break}if(!(H&1))if(!(H&576)){n=0;i=0}else{n=rN(f)|0;i=1}else{n=rN(f)|0;if(!((HJ(n,T,q)|0)<<24>>24)){hS(e,n);i=1}else{hS(e,c[T>>2]|0);i=c[T+4>>2]|0;o=XO(f,c[47235]|0,0,0)|0;p=+g[q>>2];if(!i)iS(e,137615,o,p);else iS(e,i,o,p);i=(H&2)>>>1|2}}B=sN(e,f)|0}else{B=$O(f,c[47204]|0,106541)|0;fS(e,B);hS(e,$O(f,c[47205]|0,106549)|0);n=0;i=1}while(0);o=c[(c[K>>2]|0)+8>>2]|0;if(a[o+12>>0]|0){o=c[o>>2]|0;if((a[o>>0]|0)==99){o=(f2(o,105820)|0)==0;P=33}else o=1}else{o=1;P=33}if((P|0)==33){o=o^1;if(!((y|0)!=0|i<<24>>24==0|o)){fS(e,137680);y=1;o=0}}C=(L|0)<3;D=(H&64|0)!=0;v=(H&512|0)!=0;E=(H&8|0)==0;w=(H&1024|0)==0;x=(H&2130706444|0)==0;u=0;while(1){r=(u|0)==0;z=i&255;A=v&r;if((u|0)>=(y|0))break;s=S(u,L)|0;t=c[47356]|0;q=0;while(1){if((q|0)>=(L|0))break;X=q+s|0;p=+h[I+(X<<4)+8>>3];W=c[K>>2]|0;h[t+(q<<4)>>3]=F*+h[I+(X<<4)>>3]+ +h[W+16>>3];h[t+(q<<4)+8>>3]=G*p+ +h[W+24>>3];q=q+1|0}do if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,t,n)|0)>1){c[M>>2]=HB(f)|0;dA(3,106605,M)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(!E)tN(e,f)}else{if(D){if(r?(hI(e,t,n,1)|0)>1:0){c[N>>2]=HB(f)|0;dA(3,106605,N)|0}lS(e,c[47356]|0,L,0);break}if(!w){fS(e,137680);lS(e,c[47356]|0,L,z);fS(e,B);oS(e,(c[47356]|0)+32|0,2);break}if(x){lS(e,t,L,z);break}else{RM(e,t,L,H,z);break}}while(0);u=u+1|0;i=0}q=c[(c[K>>2]|0)+8>>2]|0;if(!(a[q+12>>0]|0)){q=NA(f,109326)|0;if(q|0?a[q>>0]|0:0)P=65}else{q=c[q>>2]|0;if((a[q>>0]|0)==99?(f2(q,105820)|0)==0:0){q=NA(f,105827)|0;if(q|0?a[q>>0]|0:0)P=65}else P=65}if((P|0)==65){s=c[47356]|0;r=0;while(1){if((r|0)>=(L|0))break;p=+h[I+(r<<4)+8>>3];X=c[K>>2]|0;h[s+(r<<4)>>3]=F*+h[I+(r<<4)>>3]+ +h[X+16>>3];h[s+(r<<4)+8>>3]=G*p+ +h[X+24>>3];r=r+1|0}do if(!(o|i<<24>>24==0)){if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,s,n)|0)>1){c[Q>>2]=HB(f)|0;dA(3,106605,Q)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(E)break;tN(e,f);break}if(!D)if(!(H&12)){lS(e,s,L,z);break}else{RM(e,s,L,H,z);break}else{if((hI(e,s,n,1)|0)>1){c[R>>2]=HB(f)|0;dA(3,106605,R)|0}lS(e,c[47356]|0,L,0);break}}while(0);X=c[47356]|0;qS(e,q,X,L,i,_O(f,c[47228]|0,137609)|0)}l6(c[T>>2]|0);BK(e,10,c[(c[K>>2]|0)+104>>2]|0);if(J){if(c[O>>2]&4|0)aS(e,c[U>>2]|0,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);bS(e)}l=V;return}function qN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=wN(d,f)|0;if(e|0)jS(b,e);e=c[47234]|0;if((e|0?(g=OA(d,e)|0,g|0):0)?a[g>>0]|0:0)sS(b,+YO(d,c[47234]|0,1.0,0.0));l=h;return c[f>>2]|0}function rN(a){a=a|0;return vN(a,135101)|0}function sN(b,d){b=b|0;d=d|0;d=$O(d,c[47202]|0,195341)|0;d=a[d>>0]|0?d:137615;fS(b,d);return d|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3]*.75*.5;h[m+8>>3]=f;i=+h[b+96>>3]*.6614;h[m>>3]=i;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];uN(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*2.0;oS(a,e,2);f=+h[g>>3]-f*2.0;h[g>>3]=f;h[b>>3]=f;oS(a,e,2);l=d;return}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function vN(b,d){b=b|0;d=d|0;var e=0;e=$O(b,c[47203]|0,195341)|0;if(!(a[e>>0]|0)){e=$O(b,c[47202]|0,195341)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function wN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=$O(b,c[47219]|0,195341)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=NI(e)|0;i=g;e=0;b:while(1){f=c[i>>2]|0;if(!f)break a;h=i+4|0;switch(a[f>>0]|0){case 102:{i=h;e=e|(f2(f,111402)|0)==0;continue b}case 114:{if(!(f2(f,106617)|0)){f=i;do{j=f;f=f+4|0;h=c[f>>2]|0;c[j>>2]=h}while((h|0)!=0);j=i;e=e|4;i=j;continue b}if(!(f2(f,106635)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|3;i=j;continue b}case 100:{if(!(f2(f,106625)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|8;i=j;continue b}case 105:{j=(f2(f,134636)|0)==0;i=h;e=j?e|32:e;continue b}case 115:{if(f2(f,106642)|0){j=e;i=h;e=j;continue b}if(!(xN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|64;i=j;continue b}case 119:{if(f2(f,106650)|0){j=e;i=h;e=j;continue b}if(!(yN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|512;i=j;continue b}default:{j=e;i=h;e=j;continue b}}}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function xN(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else{if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0;else a=0;a=a&1}return a|0}function yN(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[c+8>>3];g=-(+h[d+8>>3]-e);i=+h[c>>3];f=+h[d>>3]-i;e=i*g+e*f;return (+h[a>>3]*g+f*+h[a+8>>3]-e>=0.0^+h[b>>3]*g+f*+h[b+8>>3]-e>=0.0^1)&1|0}function AN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+192|0;D=H+176|0;F=H+160|0;m=H+144|0;B=H+128|0;C=H+112|0;o=H+96|0;p=H+80|0;w=H+64|0;x=H+48|0;y=H+32|0;z=H+16|0;E=H;G=F+8|0;if(!d){c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;m=c[b+16>>2]|0;t=+h[m+80>>3]*.5;v=-t;s=+h[m+88>>3];u=-s;m=0;k=0.0;q=n?u:v;r=n?s:t;s=n?t:s;t=0.0;u=n?v:u}else{q=+h[d>>3];u=+h[d+8>>3];r=+h[d+16>>3];s=+h[d+24>>3];$M(m,(q+r)*.5,(u+s)*.5);c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];m=1;k=+h[F>>3];t=+h[G>>3]}v=(r>s?r:s)*4.0;a:do if((f|0)!=0?(A=a[f>>0]|0,A<<24>>24!=0):0){f=f+1|0;n=(i|0)!=0;j=-v;switch(A<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(B,i,t,v);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2]}else h[F>>3]=r;p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[G>>3]=u;switch(a[f>>0]|0){case 0:{if(n){CN(C,i,j,k);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2]}else h[F>>3]=k;p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(o,i,j,v);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2]}else h[F>>3]=r;p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(p,i,j,j);c[F>>2]=c[p>>2];c[F+4>>2]=c[p+4>>2];c[F+8>>2]=c[p+8>>2];c[F+12>>2]=c[p+12>>2]}else h[F>>3]=q;p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(w,i,t,j);c[F>>2]=c[w>>2];c[F+4>>2]=c[w+4>>2];c[F+8>>2]=c[w+8>>2];c[F+12>>2]=c[w+12>>2]}else h[F>>3]=q;p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[G>>3]=s;switch(a[f>>0]|0){case 0:{if(n){CN(x,i,v,k);c[F>>2]=c[x>>2];c[F+4>>2]=c[x+4>>2];c[F+8>>2]=c[x+8>>2];c[F+12>>2]=c[x+12>>2]}else h[F>>3]=k;p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(y,i,v,v);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2]}else h[F>>3]=r;p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(z,i,v,j);c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2]}else h[F>>3]=q;p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);C=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2];c[D+8>>2]=c[F+8>>2];c[D+12>>2]=c[F+12>>2];jK(E,D,C);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];if(!(f<<24>>24))g=DN(g,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[F>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[G>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+EN(j,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3);k=+h[F>>3];j=+h[G>>3];if(k==0.0&j==0.0)g=-128;else{v=+O(+j,+k)+4.71238898038469;g=~~((!(v>=6.283185307179586)?v:v+-6.283185307179586)*256.0/6.283185307179586)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=H;return o|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=HB(a)|0;c[e+4>>2]=b;dA(0,106720,e)|0;l=d;return}function CN(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;i=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;g=c[(c[(uC(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(g|0)!=0;g=g*90|0;if(f){c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];jK(m,i,g);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];ZN(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];kK(n,i,g);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function DN(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function EN(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function FN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];kK(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function GN(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=l;l=l+32|0;p=q;e=c[a+16>>2]|0;n=e+208|0;m=c[n>>2]|0;if(!m)o=(b[e+260>>1]&1)!=0;else o=1;g=d+16|0;d=c[g>>2]|0;i=c[d+12>>2]|0;if(i|0){j=e+212|0;k=e+244|0;e=e+228|0;f=a+152|0;if(o?(c[f>>2]&4|0)==0:0){aS(a,m,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);d=c[g>>2]|0}m=c[a+36>>2]|0;s=+h[d+24>>3]+ +(c[i+8>>2]|0);r=c[i>>2]|0;h[p>>3]=+h[d+16>>3]+ +(c[i+4>>2]|0);h[p+8>>3]=s;c[p+16>>2]=r;z4(m,106751,p)|0;m=c[g>>2]|0;p=(c[m+104>>2]|0)+56|0;m=m+16|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];BK(a,10,c[(c[g>>2]|0)+104>>2]|0);if(o){if(c[f>>2]&4|0)aS(a,c[n>>2]|0,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(a)}}l=q;return}function HN(a){a=a|0;cN(c[(c[a+16>>2]|0)+12>>2]|0);return}function IN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4256;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?106657:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=ON(i,f)|0;if(!j){if(AN(e,i+16|0,h,f,15,0)|0)BN(e,f)}else if(AN(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=HB(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;dA(0,106659,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function JN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];kK(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function KN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(j<=i?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=j+v;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=s+v}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];lK(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=j+i*.5;c[g>>2]=1}while(0);l=u;return e|0}function LN(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+144|0;p=z+96|0;r=z+64|0;t=z;w=z+128|0;f=c[d+16>>2]|0;x=f+208|0;i=c[x>>2]|0;if(!i)y=(b[f+260>>1]&1)!=0;else y=1;m=e+16|0;s=c[m>>2]|0;q=c[s+12>>2]|0;u=q+16|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[r+16>>2]=c[u+16>>2];c[r+20>>2]=c[u+20>>2];c[r+24>>2]=c[u+24>>2];c[r+28>>2]=c[u+28>>2];A=+h[s+16>>3];h[r>>3]=A+ +h[r>>3];k=+h[s+24>>3];s=r+8|0;h[s>>3]=k+ +h[s>>3];s=r+16|0;h[s>>3]=A+ +h[s>>3];u=r+24|0;h[u>>3]=k+ +h[u>>3];u=f+228|0;v=f+212|0;n=f+244|0;o=d+152|0;if(y?(c[o>>2]&4|0)==0:0)aS(d,i,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);f=qN(d,e)|0;sN(d,e)|0;c[w>>2]=0;if(!(f&1))i=0;else{i=rN(e)|0;if(!((HJ(i,w,p)|0)<<24>>24)){hS(d,i);i=1}else{hS(d,c[w>>2]|0);i=c[w+4>>2]|0;j=XO(e,c[47235]|0,0,0)|0;k=+g[p>>2];if(!i)iS(d,137615,j,k);else iS(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(f2(j,106528)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];c[p+16>>2]=c[r+16>>2];c[p+20>>2]=c[r+20>>2];c[p+24>>2]=c[r+24>>2];c[p+28>>2]=c[r+28>>2];mS(d,p,i)}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];r=t+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];h[t+16>>3]=+h[r>>3];h[t+24>>3]=+h[t+8>>3];h[t+48>>3]=+h[t>>3];h[t+56>>3]=+h[t+40>>3];RM(d,t,4,f,i)}MN(d,e,q);l6(c[w>>2]|0);if(y){if(c[o>>2]&4|0)aS(d,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);bS(d)}l=z;return}function MN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;i=u+96|0;j=u+80|0;s=u+64|0;t=u+48|0;k=e+52|0;g=c[k>>2]|0;f=d+16|0;if(g){n=g+56|0;g=e+16|0;m=e+32|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];NN(i,o,p);m=(c[f>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];uN(j,o,p);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];BK(b,10,c[k>>2]|0);sN(b,d)|0}m=(c[f>>2]|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];m=e+48|0;n=e+56|0;j=e+64|0;k=q+16|0;i=0;while(1){if((i|0)>=(c[m>>2]|0))break;if((i|0)>0){f=(c[n>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[j>>0]|0)){g=g+32|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=k;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[k>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(t,o,p);c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];oS(b,q,2)}MN(b,d,c[(c[n>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function NN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ON(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(f2(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=ON(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function PN(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=+h[b>>3]*.5;m=+h[b+8>>3];i=m*.5;m=m/11.0;h[a>>3]=f;e=i-m;h[a+8>>3]=e;h[a+16>>3]=f;g=i-m*.44821599999999995;h[a+24>>3]=g;j=f*.551784;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=f*-.551784;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m-i;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function RN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;w=x+80|0;s=x+64|0;v=x+32|0;q=x+16|0;r=x;f=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];kK(f,u,o);c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];f=v+8|0;if(j|0){d=+h[v>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[f>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[47362]|0)){d=+h[23330];e=+h[23331];i=+h[23332]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[47363]=b;c[47364]=c[b+44>>2];c[47365]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?186664:186672)>>3]=+h[o+88>>3]+ +h[o+96>>3];h[(n?186672:186664)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;g=+h[o+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{wP(u,b);i=+h[u+16>>3]-+h[u>>3];g=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?186664:186672)>>3]=i;h[(o?186672:186664)>>3]=g}d=+h[23333];if(d==0.0){h[23333]=1.0;d=1.0}e=+h[23334];if(e==0.0){h[23334]=1.0;e=1.0}d=i/d;h[23330]=d;e=g/e;h[23331]=e;i=i*.5;h[23332]=i;h[23335]=g*.5;o=S((c[(c[47363]|0)+4>>2]|0)+-1|0,c[47365]|0)|0;c[47366]=(o|0)>0?o:0;c[47362]=k}g=d*+h[v>>3];h[v>>3]=g;d=e*+h[f>>3];h[f>>3]=d;if(!(+F(+g)>i)?(e=+F(+d),p=+h[23335],!(e>p)):0){o=c[47365]|0;if((o|0)<3){a=+c2(g/i,d/p)<1.0;break}b=(c[47367]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[47364]|0;m=c[47366]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(zN(s,w,t,u)|0){c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[46672];c[u+4>>2]=c[46673];c[u+8>>2]=c[46674];c[u+12>>2]=c[46675];n=(zN(s,w,t,u)|0)!=0;if(n?(c[s>>2]=c[v>>2],c[s+4>>2]=c[v+4>>2],c[s+8>>2]=c[v+8>>2],c[s+12>>2]=c[v+12>>2],c[w>>2]=c[r>>2],c[w+4>>2]=c[r+4>>2],c[w+8>>2]=c[r+8>>2],c[w+12>>2]=c[r+12>>2],c[t>>2]=c[46672],c[t+4>>2]=c[46673],c[t+8>>2]=c[46674],c[t+12>>2]=c[46675],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(zN(s,w,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){f=a;a=(a+1|0)%(o|0)|0}else{f=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+f<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(zN(s,w,t,u)|0)){b=30;break}else{j=f;b=b+1|0}}if((b|0)==30){c[47367]=f;a=0;break}else if((b|0)==31){c[47367]=j;a=1;break}}else a=0}else a=0}else{c[47362]=0;a=0}while(0);l=x;return a&1|0}function SN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[47370]|0))d=+h[23338];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[23338]=d;c[47370]=a}if(!(+F(+g)>d)?!(+F(+e)>d):0)a=+c2(g,e)<=d&1;else a=0}else{c[47370]=0;a=0}l=j;return a|0}function TN(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;w=l;l=l+16|0;p=w;m=c[e+16>>2]|0;v=m+208|0;n=c[v>>2]|0;if(!n){i=m+228|0;j=m+212|0;k=m+244|0;g=e+152|0;if(!(b[m+260>>1]&1)){u=i;t=0}else o=4}else{g=e+152|0;i=m+228|0;k=m+244|0;j=m+212|0;o=4}if((o|0)==4)if(!(c[g>>2]&4)){aS(e,n,c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);u=i;t=1}else{u=i;t=1}q=f+16|0;n=c[(c[q>>2]|0)+12>>2]|0;r=c[n+44>>2]|0;s=c[n+8>>2]|0;n=c[n+4>>2]|0;if((c[47368]|0)<(s|0)){m=s+2|0;c[47368]=m;i=c[47369]|0;m=m<<4;if(!i)i=IK(m)|0;else i=KK(i,m)|0;c[47369]=i}wN(f,p)|0;if(!(c[p>>2]&32))jS(e,22068);else jS(e,22064);i=c[47234]|0;if(i|0)sS(e,+YO(f,i,1.0,0.0));i=d[(c[q>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){fS(e,$O(f,c[47206]|0,106557)|0);i=$O(f,c[47207]|0,106565)|0;hS(e,i);break}if(i&8|0){fS(e,$O(f,c[47210]|0,106573)|0);i=$O(f,c[47211]|0,106581)|0;hS(e,i);break}if(!(i&4)){i=vN(f,137615)|0;hS(e,i);sN(e,f)|0;break}else{fS(e,$O(f,c[47208]|0,106589)|0);i=$O(f,c[47209]|0,106597)|0;hS(e,i);break}}else{fS(e,$O(f,c[47204]|0,106541)|0);i=$O(f,c[47205]|0,106549)|0;hS(e,i)}while(0);if(!n)if(!(a[i>>0]|0))m=1;else{fS(e,i);m=1}else m=n;n=1;o=0;while(1){if((o|0)>=(m|0))break;p=c[47369]|0;f=S(o,s)|0;i=0;while(1){if((i|0)>=(s|0))break;z=i+f|0;y=+h[r+(z<<4)+8>>3];x=c[q>>2]|0;h[p+(i<<4)>>3]=+h[r+(z<<4)>>3]+ +h[x+16>>3];h[p+(i<<4)+8>>3]=y+ +h[x+24>>3];i=i+1|0}kS(e,p,s,n);n=0;o=o+1|0}if(t){if(c[g>>2]&4|0)aS(e,c[v>>2]|0,c[u>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(e)}l=w;return}function UN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=VN(b,e,f)|0;c[h+36>>2]=c[f+36>>2];AN(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;j=z+24|0;n=z+16|0;x=c[(c[(c[(uC(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(j,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(n,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;k=+h[w+88>>3];g=-k;m=x?g:A;i=x?k:B;k=x?B:k;g=x?A:g}else{m=+h[d>>3];i=+h[d+16>>3];k=+h[d+24>>3];g=+h[d+8>>3]}v=~~((g+k)*.5);w=~~((m+i)*.5);x=c[j>>2]|0;t=c[j+4>>2]|0;u=c[n>>2]|0;s=c[n+4>>2]|0;r=~~g;q=~~i;p=~~k;o=~~m;j=0;n=0;d=0;e=0;b=0;while(1){if((n|0)==4)break a;if(1<<n&y){switch(n|0){case 0:{e=w;b=r;break}case 1:{e=q;b=v;break}case 2:{e=w;b=p;break}case 3:{e=o;b=v;break}default:{}}e=x+e|0;b=t+b|0;f=e-u|0;C=b-s|0;f=(S(C,C)|0)+(S(f,f)|0)|0;if((d|0)==0|(f|0)<(j|0))d=c[22076+(n<<2)>>2]|0;else f=j}else f=j;j=f;n=n+1|0}}}while(0);l=z;return d|0}function WN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0;g=b+8|0;switch(d|0){case 0:{f=+h[b>>3];e=+h[g>>3];break}case 2:{f=+h[b>>3];e=-+h[g>>3];break}case 1:{f=-+h[g>>3];e=+h[b>>3];break}case 3:{f=+h[g>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function XN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;f=k+40|0;i=k;g=b+16|0;e=c[g>>2]|0;d=e+16|0;j=b+-48|0;h=b+48|0;if(a[e+47>>0]|0){e=c[b>>2]&3;UN(f,c[((e|0)==3?b:h)+40>>2]|0,c[((e|0)==2?b:j)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;UN(i,c[((e|0)==2?b:j)+40>>2]|0,c[((e|0)==3?b:h)+40>>2]|0,d);e=i;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=k;return}function YN(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];RN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];SN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];nN(0,b)|0;l=a;return}function ZN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(g+f)*.5;iP(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((vb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function _N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;f=m;g=m+32|0;i=a+16|0;j=c[i>>2]|0;k=c[j+8>>2]|0;if(k|0?(e=c[(c[k+4>>2]|0)+12>>2]|0,e|0):0){c[g>>2]=a;c[g+4>>2]=0;n=+h[j+96>>3];h[f>>3]=+h[b>>3]-+h[j+16>>3];h[f+8>>3]=+h[b+8>>3]-+h[j+24>>3];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];k=vb[e&127](g,d)|0;h[(c[i>>2]|0)+96>>3]=n;$N(g,a,b,k)}l=m;return}function $N(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;g=b+16|0;i=c[g>>2]|0;k=+h[i+96>>3];j=i+16|0;f=i+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[j>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}ZN(a,c[(c[(c[i+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);f=c[g>>2]|0;g=f+16|0;i=f+24|0;b=0;while(1){if((b|0)==4)break;h[d+(b<<4)>>3]=+h[m+(b<<4)>>3]+ +h[g>>3];h[d+(b<<4)+8>>3]=+h[m+(b<<4)+8>>3]+ +h[i>>3];b=b+1|0}h[f+96>>3]=k;l=n;return}function aO(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=HK(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;b=((c[b+4>>2]|0)*48|0)+48|0;if(!e)b=IK(b)|0;else b=KK(e,b)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=HK(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function bO(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;D=l;l=l+96|0;A=D+16|0;t=D;x=D+92|0;y=D+88|0;u=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=uC(m)|0;B=aO(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;F=(m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0);p=c[o+40>>2]|0;e=c[o+80>>2]|0;k=d[o+86>>0]|0;E=d[o+46>>0]|0;n=F?k:E;j=F?p:e;o=F?e:p;p=g+-4|0;g=t+8|0;e=u+4|0;if((((F?E:k)|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=m;c[e>>2]=j;k=0;while(1){if((k|0)>=(p|0))break;j=k+3|0;F=c[r>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;else k=j}c[x>>2]=k;$N(u,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((n|0)!=0?(v=w+16|0,s=c[(c[v>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=w;c[e>>2]=o;j=p;while(1){if((j|0)<=0)break;F=c[v>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;$N(u,w,f+(j<<4)|0,0)}else{c[y>>2]=p;j=p}while(1){if((k|0)>=(p|0))break;e=k+3|0;H=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];G=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(H*H+G*G<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;F=j+3|0;G=+h[f+(j<<4)>>3]-+h[f+(F<<4)>>3];H=+h[f+(j<<4)+8>>3]-+h[f+(F<<4)+8>>3];if(!(G*G+H*H<1.0e-06))break;j=j+-3|0}c[y>>2]=j;cO(b,w,f,x,y,B,i);p=c[x>>2]|0;m=(c[y>>2]|0)+4|0;n=A+16|0;o=A+32|0;g=A+48|0;k=z+16|0;j=p;while(1){if((j|0)>=(m|0))break;F=(c[B>>2]|0)+(j-p<<4)|0;e=f+(j<<4)|0;c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((e|0)>=(m|0)){C=35;break}E=(c[B>>2]|0)+(e-p<<4)|0;F=f+(e<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[n>>2]=c[F>>2];c[n+4>>2]=c[F+4>>2];c[n+8>>2]=c[F+8>>2];c[n+12>>2]=c[F+12>>2];F=j+2|0;E=(c[B>>2]|0)+(F-p<<4)|0;F=f+(F<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[o>>2]=c[F>>2];c[o+4>>2]=c[F+4>>2];c[o+8>>2]=c[F+8>>2];c[o+12>>2]=c[F+12>>2];F=j+3|0;E=f+(F<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];jI((c[k>>2]|0)+16|0,A);j=F}c[B+4>>2]=m-p;l=D;return}function cO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))k=(pb[c[i>>2]&63](o)|0)&255;else k=0;FH(o,m,n);j=i+4|0;if((pb[c[j>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if(!((pb[c[j>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24))b=c[m>>2]|0;else{c[m>>2]=0;b=0}if(k){d=c[n>>2]|0;c[m>>2]=d;c[n>>2]=b;b=d}if(!(a[i+9>>0]|0)){if(b|0)c[f>>2]=UH(o,e,c[f>>2]|0,c[g>>2]|0,h,b)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=SH(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{j=c[n>>2]|0;if(j|b|0)VH(o,e,c[f>>2]|0,c[g>>2]|0,h,b,j)}l=p;return}function dO(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function eO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+112|0;A=D+72|0;r=D+56|0;p=D+16|0;s=D;n=c[d>>2]&3;t=d+48|0;B=c[((n|0)==3?d:t)+40>>2]|0;u=d+16|0;z=c[u>>2]|0;i=z+16|0;if(a[z+47>>0]|0){UN(p,B,c[((n|0)==2?d:d+-48|0)+40>>2]|0,i);n=p;p=i+40|0;do{c[i>>2]=c[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(p|0))}w=B+16|0;n=c[w>>2]|0;i=c[n+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;z=n+16|0;n=(c[u>>2]|0)+16|0;c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];fO(s,r,A);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[b+8>>2]=c[s+8>>2];c[b+12>>2]=c[s+12>>2];n=b+16|0;if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+45>>0]|0))i=0;else{j=+h[i+32>>3];C=9}}else{j=+gO(c[((c[d>>2]&3|0)==3?d:t)+40>>2]|0);C=9}if((C|0)==9){h[n>>3]=j;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;y=f+32|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];y=f+48|0;z=f+52|0;t=b+8|0;g=f+56|0;switch(e|0){case 1:{i=c[w>>2]|0;if((a[i+156>>0]|0)==0?(s=a[(c[u>>2]|0)+49>>0]|0,x=s&255,s<<24>>24!=0):0){c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];s=A+16|0;r=i+80|0;o=+h[t>>3];p=i+24|0;do if(!(x&4)){i=A+24|0;if(x&1|0){c[y>>2]=1;h[i>>3]=+h[(+h[i>>3]>o?s:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}n=A+8|0;k=+h[b>>3];j=+h[p>>3]-+h[r>>3]*.5;if(!(x&8)){c[y>>2]=2;h[A>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{c[y>>2]=8;h[s>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{c[y>>2]=4;m=+h[A>>3];j=+h[p>>3]+ +h[r>>3]*.5;k=+h[s>>3];if(+h[b>>3]<+h[i+16>>3]){m=m+-1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[s>>3]=+h[i+16>>3]-+h[i+88>>3];h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[A>>3]=m;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{k=k+1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[A>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[s>>3]=k;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{d=1;C=47}break}case 2:{x=a[(c[u>>2]|0)+49>>0]|0;s=x&255;if(!(x<<24>>24))C=46;else{c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];n=A+8|0;do if(!(s&4)){i=A+16|0;p=A+24|0;r=(c[y>>2]|0)==4;if(s&1|0)if(r){x=c[w>>2]|0;q=+h[x+24>>3]-+h[x+80>>3]*.5;o=+h[i>>3]+1.0;k=+h[b>>3];m=q-+((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[w>>2]|0;h[A>>3]=+h[b+16>>3]+ +h[b+96>>3]+0.0;h[n>>3]=q;h[p>>3]=+h[b+24>>3]+ +h[b+80>>3]*.5;h[i>>3]=o;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=o;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[t>>3]?i:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}q=+h[b>>3];b=c[w>>2]|0;k=+h[t>>3];o=+h[b+80>>3]*.5;j=k+1.0;E=+h[b+24>>3];m=E-o;o=E+o;if(!(s&8)){h[A>>3]=q;if(r){h[p>>3]=o;j=k;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=o;j=k+-1.0;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{h[n>>3]=+h[(+h[n>>3]<+h[t>>3]?A:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[y>>2]=s}break}default:C=46}if((C|0)==46){d=c[y>>2]|0;C=47}a:do if((C|0)==47){if(p|0?(v=wb[p&63](B,(c[u>>2]|0)+16|0,d,g,z)|0,v|0):0){c[y>>2]=v;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[g+16>>2]=c[f+16>>2];c[g+20>>2]=c[f+20>>2];c[g+24>>2]=c[f+24>>2];c[g+28>>2]=c[f+28>>2];c[z>>2]=1;switch(e|0){case 8:{Aa(138697,106815,569,106825);break}case 2:{h[((c[y>>2]|0)==4?g:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+80>>3]=+h[t>>3];c[y>>2]=1;break a}default:break a}}while(0);l=D;return}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function gO(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=f+ +h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3];g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=b+ +h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3];a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+O(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((f+ +O(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k)))*.5)}function hO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;C=F+72|0;r=F+56|0;p=F+16|0;t=F;o=c[d>>2]&3;v=d+-48|0;D=c[((o|0)==2?d:v)+40>>2]|0;x=d+16|0;B=c[x>>2]|0;i=B+56|0;if(a[B+87>>0]|0){UN(p,D,c[((o|0)==3?d:d+48|0)+40>>2]|0,i);o=p;p=i+40|0;do{c[i>>2]=c[o>>2];i=i+4|0;o=o+4|0}while((i|0)<(p|0))}z=D+16|0;o=c[z>>2]|0;i=c[o+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;w=b+40|0;B=o+16|0;o=(c[x>>2]|0)+56|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[C+12>>2]=c[o+12>>2];fO(t,r,C);c[w>>2]=c[t>>2];c[w+4>>2]=c[t+4>>2];c[w+8>>2]=c[t+8>>2];c[w+12>>2]=c[t+12>>2];o=b+56|0;if(!(g<<24>>24)){i=c[x>>2]|0;if(!(a[i+85>>0]|0))u=0;else{h[o>>3]=+h[i+72>>3];u=1}}else{s=+gO(c[((c[d>>2]&3|0)==2?d:v)+40>>2]|0)+3.141592653589793;h[o>>3]=s;if(s<6.283185307179586)u=1;else Aa(106835,106815,606,106859)}a[b+69>>0]=u;B=f+32|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];B=f+48|0;g=f+52|0;v=f+56|0;t=b+48|0;switch(e|0){case 1:{i=c[z>>2]|0;if((a[i+156>>0]|0)==0?(b=a[(c[x>>2]|0)+89>>0]|0,A=b&255,b<<24>>24!=0):0){c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];p=C+8|0;s=+h[t>>3];do if(!(A&4)){o=C+16|0;q=+h[w>>3];j=+h[i+80>>3]*.5;n=+h[i+24>>3];if(!(A&1)){i=C+24|0;j=n+j;if(!(A&8)){c[B>>2]=2;h[C>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{c[B>>2]=8;h[o>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{c[B>>2]=1;k=+h[C>>3];m=+h[o>>3];j=n-j;if(q<+h[i+16>>3]){n=k+-1.0;q=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[o>>3]=+h[i+16>>3]-+h[i+88>>3];h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=n;h[f+56>>3]=n;h[f+64>>3]=q;h[f+72>>3]=m;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{q=m+1.0;n=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[o>>3]=q;h[f+56>>3]=k;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}}}else{c[B>>2]=4;h[p>>3]=+h[(+h[p>>3]<s?C:w)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=A}else{d=4;E=47}break}case 2:{A=a[(c[x>>2]|0)+89>>0]|0;u=A&255;if(!(A<<24>>24))E=46;else{c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];o=C+8|0;do if(!(u&4)){i=C+16|0;p=C+24|0;r=(c[B>>2]|0)==4;if(u&1|0)if(r){m=+h[C>>3]+-1.0;i=c[z>>2]|0;s=+h[i+24>>3]-+h[i+80>>3]*.5;q=+h[w>>3];n=s-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C+16>>3]=+h[i+16>>3]-+h[i+88>>3]+-2.0;h[o>>3]=s;h[p>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=m;h[f+56>>3]=m;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[b+8>>3]?i:b)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}q=+h[w>>3];f=c[z>>2]|0;k=+h[t>>3];j=k+-1.0;s=+h[f+24>>3];n=+h[f+80>>3]*.5;m=s-n;n=s+n;if(!(u&8)){h[C>>3]=q+-1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k+1.0}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{h[o>>3]=+h[(+h[o>>3]<+h[t>>3]?C:w)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=u}break}default:E=46}if((E|0)==46){d=c[B>>2]|0;E=47}a:do if((E|0)==47){if(p|0?(y=wb[p&63](D,(c[x>>2]|0)+56|0,d,v,g)|0,y|0):0){c[B>>2]=y;break};c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];c[v+16>>2]=c[f+16>>2];c[v+20>>2]=c[f+20>>2];c[v+24>>2]=c[f+24>>2];c[v+28>>2]=c[f+28>>2];c[g>>2]=1;switch(e|0){case 8:{Aa(138697,106815,765,106859);break}case 2:{h[((c[B>>2]|0)==4?v:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+64>>3]=+h[t>>3];c[B>>2]=4;break a}default:break a}}while(0);l=F;return}function iO(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function jO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;b=b+89|0;if((k&8|0)==0?(m=a[b>>0]|0,(m&8)==0):0){if((k&5|0)==0?1:j<<24>>24!=m<<24>>24){l=6;break}if(k&4|0){lO(d,e,f,g,h,i);break}if(!(k&1))Aa(138697,106815,1231,106867);else{nO(d,e,f,g,h,i);break}}if((k&2|0)==0?(a[b>>0]&2)==0:0){mO(d,e,f,g,h,i);break}lO(d,e,f,g,h,i)}while(0);if((l|0)==6)kO(d,e,f,g,h,i);return}function kO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+96>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 65:case 32:{if(E==G)k=0-k|0;break}default:{}}P=B+m;o=(P-D)*3.0;P=(P-F)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m<o?m:o;m=m<P?m:P;while(1){if((q|0)>=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D+o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B+i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F+m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=H*.5+(i+ +h[R+16>>3]),h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function lO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;k=c[D>>2]|0;g=+h[k+16>>3];C=+h[k+24>>3];B=c[B+16>>2]|0;E=g+ +h[B+16>>3];F=C+ +h[B+24>>3];G=g+ +h[B+56>>3];H=C+ +h[B+64>>3];p=!(E>=G)?-1.0:1.0;s=+h[k+80>>3]*.5;m=E-g;n=G-g;o=g-E;switch(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 15:{m=p*(q+(+h[k+96>>3]-n));break}case 38:{m=p*(q+(+h[k+88>>3]-(g-G)));break}case 41:{m=p*(q+(+h[k+96>>3]-m));break}case 48:{m=p*(q+(+h[k+96>>3]-m));break}case 58:case 57:case 51:case 47:case 37:case 14:{m=p*((+h[k+88>>3]-o+(+h[k+96>>3]-n))/3.0);break}case 73:{m=p*(q+(+h[k+88>>3]-o));break}case 83:{m=p*(+h[k+88>>3]-o);break}case 84:{m=p*(q+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}case 85:case 75:case 74:{m=p*(q*2.0+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}default:m=0.0}n=C+s;o=(n-F)*3.0;n=(n-H)*3.0;p=q*p;w=L+8|0;x=L+16|0;y=L+32|0;z=L+48|0;q=(E+G)*.5;A=L+64|0;B=L+80|0;u=L+96|0;v=L+104|0;t=0;g=s;o=s<o?s:o;n=s<n?s:n;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;g=g+i;o=o+i;n=n+i;m=p+m;h[L>>3]=E;h[w>>3]=F;s=E+m;pO(M,s,F+o/3.0);c[x>>2]=c[M>>2];c[x+4>>2]=c[M+4>>2];c[x+8>>2]=c[M+8>>2];c[x+12>>2]=c[M+12>>2];Q=C+g;pO(N,s,Q);c[y>>2]=c[N>>2];c[y+4>>2]=c[N+4>>2];c[y+8>>2]=c[N+8>>2];c[y+12>>2]=c[N+12>>2];pO(O,q,Q);c[z>>2]=c[O>>2];c[z+4>>2]=c[O+4>>2];c[z+8>>2]=c[O+8>>2];c[z+12>>2]=c[O+12>>2];s=G-m;pO(J,s,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];pO(K,s,H+n/3.0);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[u>>3]=G;h[v>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(R?k+32|0:k+24|0)>>3],R=c[D>>2]|0,h[k+64>>3]=I*.5+(g+ +h[R+24>>3]),h[k+56>>3]=+h[R+16>>3],a[k+81>>0]=1,I>i):0)g=g+(I-i);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=r;t=t+1|0}l=P;return}function mO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+88>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 67:case 12:{if(E==G)k=0-k|0;break}default:{}}o=(D+m-B)*3.0;P=(F+m-B)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m<o?m:o;m=m<P?m:P;while(1){if((q|0)>=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D-o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B-i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F-m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=+h[R+16>>3]-i-H*.5,h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function nO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;B=c[b+(e<<2)>>2]|0;A=g*.5/+(f|0);v=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;C=c[v>>2]|0;y=+h[C+16>>3];u=+h[C+24>>3];B=c[B+16>>2]|0;w=y+ +h[B+16>>3];x=u+ +h[B+24>>3];y=y+ +h[B+56>>3];z=u+ +h[B+64>>3];t=!(w>=y)?-1:1;P=+h[C+80>>3]*.5;B=(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0)==67;m=(x+P-u)*3.0;n=(z+P-u)*3.0;A=(A>2.0?A:2.0)*+((B?0-t|0:t)|0);t=K+8|0;B=K+16|0;C=K+32|0;D=K+48|0;E=(w+y)*.5;F=K+64|0;G=K+80|0;r=K+96|0;s=K+104|0;g=P;k=0.0;m=P<m?P:m;n=P<n?P:n;p=0;while(1){if((p|0)>=(f|0))break;q=e+1|0;o=c[b+(e<<2)>>2]|0;g=g+i;m=m+i;n=n+i;k=A+k;h[K>>3]=w;h[t>>3]=x;P=w+k;pO(L,P,x-m/3.0);c[B>>2]=c[L>>2];c[B+4>>2]=c[L+4>>2];c[B+8>>2]=c[L+8>>2];c[B+12>>2]=c[L+12>>2];Q=u-g;pO(M,P,Q);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];pO(N,E,Q);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];P=y-k;pO(I,P,Q);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];pO(J,P,z-n/3.0);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];h[r>>3]=y;h[s>>3]=z;e=o+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,H=+h[(R?e+32|0:e+24|0)>>3],R=c[v>>2]|0,h[e+64>>3]=+h[R+24>>3]-g-H*.5,h[e+56>>3]=+h[R+16>>3],a[e+81>>0]=1,H>i):0)g=g+(H-i);bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,K,7,j);e=q;p=p+1|0}l=O;return}function oO(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[22092+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[22092+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[22124+(d<<5)+(b<<2)>>2]|0;return d|0}function pO(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function qO(b){b=b|0;var d=0,e=0,f=0;if((c[47272]|0)!=0|(c[47271]|0)!=0){e=b+16|0;f=c[(c[e>>2]|0)+100>>2]|0;d=b+48|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,1)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+100>>2]|0)}f=c[(c[e>>2]|0)+104>>2]|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,0)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+104>>2]|0)}}return}function rO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+96|0;p=r+32|0;m=r+16|0;o=r;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[47272]|0;if(!((e|0)!=0?(a[(OA(b,e)|0)>>0]|0)!=0:0)){e=c[47271]|0;if(!e){e=0;break}if(!(a[(OA(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;q=c[i>>2]|0;q=c[(d?q+104|0:q+100|0)>>2]|0;e=sO(b)|0;if(e){n=c[e>>2]|0;do if(d){o=c[n>>2]|0;g=+h[o>>3];f=+h[o+8>>3];if(!(c[n+8>>2]|0))e=0;else{k=g;g=+h[n+16>>3];j=f;f=+h[n+24>>3];break}while(1){if((e|0)==4)break;o=p+(e<<4)|0;i=(c[n>>2]|0)+(e<<4)|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];e=e+1|0}iP(m,p,3,.1,0,0);k=+h[m>>3];j=+h[m+8>>3]}else{e=(c[e+4>>2]|0)+-1|0;d=n+(e*48|0)+4|0;i=n+(e*48|0)|0;s=c[i>>2]|0;m=(c[d>>2]|0)+-1|0;f=+h[s+(m<<4)+8>>3];g=+h[s+(m<<4)>>3];if(!(c[n+(e*48|0)+12>>2]|0))e=0;else{k=g;g=+h[n+(e*48|0)+32>>3];j=f;f=+h[n+(e*48|0)+40>>3];break}while(1){if((e|0)==4)break;s=p+(e<<4)|0;n=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];e=e+1|0}iP(o,p,3,.9,0,0);k=+h[o>>3];j=+h[o+8>>3]}while(0);k=+O(+(j-f),+(k-g));k=k+ +YO(b,c[47272]|0,-25.0,-180.0)/180.0*3.141592653589793;j=+YO(b,c[47271]|0,1.0,0.0)*10.0;h[q+56>>3]=g+j*+I(+k);h[q+64>>3]=f+j*+J(+k);a[q+81>>0]=1;e=1}else e=0}else e=0;while(0);l=r;return e|0}function sO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;dA(1,106880,f)|0;d=0}l=h;return d|0}function tO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;uO(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];u=f-g;i=+h[p+8>>3];j=+h[q+8>>3];t=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else{d=c[(c[d>>2]|0)+8>>2]|0;switch(k&14){case 4:case 10:{h[n>>3]=(f+g)*.5;h[n+8>>3]=(i+j)*.5;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];oP(r,d,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{vO(o,d,p,q);break a}}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function vO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;p=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];q=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=g+ +G(+(p*p+q*q))}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];s=m-n;q=p-o;q=+G(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(g*n+m*s)/q;h[a+8>>3]=(g*o+p*s)/q;return}else if((f|0)==15)Aa(139015,106815,1316,106942)}function wO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qO(b);return}function xO(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,K=0,L=0,M=0,N=0;L=yO(b)|0;K=c[L+4>>2]|0;M=c[L>>2]|0;H=K+-1|0;D=+h[M+(H<<6)+16>>3];E=+(K|0);F=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(K|0))break;b=~~+zO(+(n+-1|0),E);C=n+1|0;N=~~+zO(+(C|0),E);o=M+(n<<6)|0;m=+h[o>>3];B=M+(n<<6)+8|0;l=+h[B>>3];u=M+(n<<6)+16|0;v=+h[u>>3];w=M+(n<<6)+24|0;x=M+(n<<6)+32|0;y=M+(n<<6)+40|0;z=M+(n<<6)+48|0;A=M+(n<<6)+56|0;k=+AO(+h[M+(N<<6)+8>>3]-l,+h[M+(N<<6)>>3]-m);p=+AO(+h[M+(b<<6)+8>>3]-l,+h[M+(b<<6)>>3]-m);t=+qb[d&7](v,D,e);b=(n|0)==0;q=k+1.5707963267948966;r=p+-1.5707963267948966;do if(b|(n|0)==(H|0))if(b){if(!F){b=0;s=q;j=t;i=q;break}b=0;s=q;j=t;i=q;l=l-t*+J(+k);m=m-t*+I(+k);break}else{if(!F){b=0;s=r;j=t;i=r;break}b=0;s=r;j=t;i=r;l=l-t*+J(+p);m=m-t*+I(+p);break}else{i=k-p;i=1.5707963267948966-(i<0.0?i+6.283185307179586:i)*.5;j=+I(+i);j=j==0.0?0.0:t/j;i=q+i;if(G|j>t*10.0){i=+zO(r,6.283185307179586);b=1;s=+zO(q,6.283185307179586);j=t}else{b=0;s=i}}while(0);h[o>>3]=m;h[B>>3]=l;h[u>>3]=v;a[w>>0]=108;h[x>>3]=i;h[y>>3]=j;c[z>>2]=b;h[A>>3]=s;n=C}o=HK(12)|0;b=0;while(1){if((b|0)>=(K|0))break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];i=+h[M+(b<<6)+32>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;k=+h[M+(b<<6)+56>>3];BO(o,m+j*+I(+i),l+j*+J(+i));if(N|0)CO(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)DO(o,m,l,j,i,k);else{BO(o,m+j*+I(+k),l+j*+J(+k));i=k}b=K+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;i=+h[M+(b<<6)+32>>3]+3.141592653589793;k=+h[M+(b<<6)+56>>3]+3.141592653589793;BO(o,m+j*+I(+k),l+j*+J(+k));if(N|0)CO(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)DO(o,k,l,j,i,i+3.141592653589793);EO(L);return o|0}function yO(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=FO()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];GO(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}iP(n,m,3,+(a|0)/20.0,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=b+ +HO(h,i);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];GO(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}IO(o);l=q;return o|0}function zO(a,b){a=+a;b=+b;if(!(!(a<0.0)&!(a>=b)))a=a-+E(+(a/b))*b;return +a}function AO(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+O(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function BO(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0;f=c[a>>2]|0;e=a+4|0;g=a+8|0;if((f|0)<(c[e>>2]|0))e=c[g>>2]|0;else{c[e>>2]=2e3;e=KK(c[g>>2]|0,32e3)|0;c[g>>2]=e;f=c[a>>2]|0}c[a>>2]=f+1;h[e+(f<<4)>>3]=b;h[e+(f<<4)+8>>3]=d;return}function CO(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0;d=(d|0)==0;i=d?e:f;j=+I(+i)*c+a;k=+J(+i)*c+a;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){DO(h,a,b,c,i+e,i);break}else{BO(h,j,k);break}}else BO(h,j,k);while(0);return}function DO(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;BO(a,+I(+e)*d+b,+J(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f/19.0;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);BO(a,+I(+h)*d+b,+J(+h)*d+c);g=g+1|0}}while(0);return}function EO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function FO(){var a=0;a=HK(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=HK(128e3)|0;return a|0}function GO(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=KK(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function HO(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function IO(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=KK(c[a>>2]|0,b<<6)|0;return}function JO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;h=m+12|0;c[h>>2]=0;i=c[e+4>>2]|0;if(!i)Aa(106959,106970,203,106981);f=c[i>>2]|0;if(!f)Aa(106995,106970,206,106981);g=i+8|0;if(!(c[g>>2]|0))c[g>>2]=KO(f)|0;if(!(a[195234]|0))f=0;else{f=(NJ(c[i>>2]|0)|0)==0;f=f?0:h}if(!((bT(d,e,f)|0)<<24>>24))LO(e,f);do if(f|0){g=c[h>>2]|0;d=c[15715]|0;f=c[i>>2]|0;if(!g){c[k>>2]=f;z4(d,107038,k)|0;break}else{c[j>>2]=f;c[j+4>>2]=g;z4(d,107006,j)|0;break}}while(0);k=e+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];l=m;return}function KO(a){a=a|0;var b=0;b=c[47371]|0;if((b|0)!=0?(C3(b,a)|0)==0:0)a=c[47380]|0;else{l6(b);c[47371]=Y3(a)|0;a=e6(189484,22380,35,36,95)|0;c[47380]=a}return a|0}function LO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(N3(e,107072,4)|0)if((N3(e,107077,5)|0)!=0?(N3(e,107083,9)|0)!=0:0){g=4296;e=107093}else{g=8392;e=107129}else{g=6344;e=107110}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=i*f}return}function MO(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function NO(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=36;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Sz(b,c[4591]|0)|0;c[a+144>>2]=b;return b|0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;d=m6(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=Y3(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=Y3(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function PO(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b>>2]|0);l6(c[b+4>>2]|0);l6(b);return}function QO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=f2(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=f2(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function RO(){Ea(189524)|0;return}function SO(){var a=0,b=0;b=l;l=l+16|0;a=b;Ea(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[47381]|0)-(c[47382]|0)|0)/60.0)}function TO(a){a=a|0;var b=0,d=0;b=HK(16)|0;a=(a|0)>2?a:2;d=HK(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function UO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function VO(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function WO(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function XO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=$1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function YO(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+b6(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function ZO(a){a=a|0;var b=0.0;b=+h[23314];if(!(b>0.0)){b=+YO(a,DA(a,0,107939,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function _O(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=OA(a,b)|0;return c|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;b=_O(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function aP(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=bP(OA(a,b)|0)|0;return a|0}function bP(a){a=a|0;return cP(a,0)|0}function cP(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((C3(b,137609)|0)!=0?(C3(b,107950)|0)!=0:0)if((C3(b,107953)|0)!=0?(C3(b,107958)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(d6(b)|0)&255}else c=1;else c=0;return c|0}function dP(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=dP(a)|0;e=c[b+16>>2]|0;d=e+220|0;if(!(c[d>>2]|0)){c[d>>2]=b;c[e+216>>2]=1;d=e;e=1}else{b=dP(b)|0;e=c[b+16>>2]|0;d=e;e=c[e+216>>2]|0}h=c[a+16>>2]|0;g=(c[h+120>>2]|0)>(c[d+120>>2]|0);f=h+216|0;e=e+(c[f>>2]|0)|0;a=g?b:a;c[(g?h:d)+220>>2]=a;c[(g?d+216|0:f)>>2]=e}return a|0}function fP(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function gP(a,b){a=a|0;b=b|0;if((dP(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else Aa(107970,107962,194,107986)}function hP(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function iP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=m*+h[n+(k*96|0)+(b<<4)>>3]+ +h[n+(k*96|0)+(p<<4)>>3]*e;h[n+(i*96|0)+(b<<4)+8>>3]=m*+h[n+(k*96|0)+(b<<4)+8>>3]+ +h[n+(k*96|0)+(p<<4)+8>>3]*e;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function jP(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[47385]|0;f=d+1024|0;if((d-e|0)<1024){c[47385]=f;f=KK(c[47386]|0,f)|0;c[47386]=f;d=c[47385]|0}else f=c[47386]|0;d=o4(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(D3(d)|0)+e|0;d=c[47386]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[47386]|0;return ((e|0)>0?d:0)|0}function kP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((b|0)!=0?(a[b>>0]|0)!=0:0){d=c[47179]|0;if(!d){d=c[47178]|0;e=c[47388]|0;if((c[47387]|0)==(d|0))d=e;else{if(e){l6(c[e>>2]|0);l6(c[47388]|0);c[47388]=0;d=c[47178]|0}c[47387]=d;if(!d)break;if(!(a[d>>0]|0))break;d=lP(d)|0;c[47388]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=mP(d,c[47389]|0,b)|0;break}e=c[47177]|0;if(e|0?a[e>>0]|0:0){if(!(c[47387]|0)){c[47388]=lP(e)|0;e=c[47177]|0;c[47387]=e}d=I4(b,47)|0;d=(d|0)==0?b:d+1|0;f=I4(d,92)|0;f=(f|0)==0?d:f+1|0;d=I4(f,58)|0;d=(d|0)==0?f:d+1|0;if(!((a[107997]|0)==0|(d|0)==(b|0))){c[g>>2]=b;c[g+4>>2]=e;dA(0,108123,g)|0;a[107997]=0}b=mP(c[47388]|0,c[47389]|0,d)|0;break}if(a[107997]|0){c[f>>2]=d;dA(0,107998,f)|0;a[107997]=0;b=0}else b=0}else b=0;while(0);l=h;return b|0}function lP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=Y3(a)|0;d=0;while(1){b=i6(b,108285)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=IK(a)|0;else a=KK(d,a)|0;c[a+(g<<2)>>2]=b;f=D3(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[47389]=e;return f|0}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[47390]|0;c[47390]=n6(h,b+2+(D3(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[47390]|0;c[e>>2]=b;c[e+4>>2]=108283;c[e+8>>2]=d;i2(h,108276,e)|0;if(!(H4(c[47390]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[47390]|0;l=g;return a|0}function nP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(f2(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;p=+h[s+(r<<4)>>3]-+h[d>>3];q=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;B=A?r:e;r=r+1|0;b=A?f:b;e=B;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)+e|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;B=b+e|0;h[x+(b<<4)>>3]=+h[f+(B<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(B<<4)+8>>3];b=b+1|0}q=+h[d>>3];p=+h[x>>3]-q;o=+h[w>>3];k=+h[x+8>>3]-o;n=+h[x+48>>3]-q;j=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(i+g)*.5;iP(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+F(+(k-j))<1.0)break;if(+F(+(g-i))<1.0e-05)break;B=k<j;n=n-o;m=m-q;n=m*m+n*n;g=B?p:g;i=B?i:p;j=B?n:j;k=B?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function pP(){return c[47391]|0}function qP(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+YO(b,c[47200]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+YO(b,c[47199]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=hN($O(b,c[47201]|0,108287)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=OA(b,c[47216]|0)|0;d=+YO(b,c[47212]|0,14.0,1.0);e=$O(b,c[47213]|0,108295)|0;f=$O(b,c[47214]|0,137615)|0;i=(gD(l)|0)!=0;k=(UM(b)|0)==2;i=xK(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[47217]|0;if((i|0?(j=OA(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(gD(j)|0)!=0;l=xK(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(uC(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(XO(b,c[47220]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;db[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function rP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=uC(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[47251]|0;if(((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){sP(b,m);t=(gD(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=xK(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=bP(_O(b,c[47261]|0,137609)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[47252]|0;if((f|0?(j=OA(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){sP(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(gD(j)|0)!=0;j=xK(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[47266]|0;if(((d|0)!=0?(k=OA(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){tP(b,m,n);j=(gD(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=xK(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[47267]|0;if((f|0?(q=OA(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){tP(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(gD(q)|0)!=0;q=xK(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=NA(b,111756)|0;d=d|0?d:195341;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;uP(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47273]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=NA(b,111765)|0;d=d|0?d:195341;e=b+-48|0;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1;f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;uP(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47274]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function sP(a,b){a=a|0;b=b|0;h[b>>3]=+YO(a,c[47248]|0,14.0,1.0);c[b+8>>2]=$O(a,c[47249]|0,108295)|0;c[b+12>>2]=$O(a,c[47250]|0,137615)|0;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))sP(a,b);h[d>>3]=+YO(a,c[47268]|0,+h[b>>3],1.0);c[d+8>>2]=$O(a,c[47269]|0,c[e>>2]|0)|0;c[d+12>>2]=$O(a,c[47270]|0,c[b+12>>2]|0)|0;return}function uP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=F3(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function vP(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=OA(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(bP(d)|0)<<24>>24==0&1;else b=0;return b|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((S((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];yP(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function yP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;m=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];g=(j?k:i)*.5;f=m-g;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=l+g;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function zP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0;M=l;l=l+432|0;I=M+400|0;u=M+384|0;v=M+288|0;L=M+224|0;H=M+192|0;B=M+144|0;C=M+64|0;d=M+368|0;e=M+352|0;f=M+336|0;D=M+320|0;w=M+256|0;x=M+160|0;y=M+112|0;z=M+80|0;A=M+32|0;J=M;G=L+16|0;K=b+16|0;if((qB(b)|0)==0?(c[(c[K>>2]|0)+180>>2]|0)==0:0){AP(L,0.0,0.0);AP(d,0.0,0.0);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2]}else{AP(e,2147483647.0,2147483647.0);c[L>>2]=c[e>>2];c[L+4>>2]=c[e+4>>2];c[L+8>>2]=c[e+8>>2];c[L+12>>2]=c[e+12>>2];AP(f,-2147483647.0,-2147483647.0);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];E=L+24|0;F=L+8|0;p=C+8|0;q=v+16|0;r=v+8|0;s=v+24|0;t=B+8|0;o=gC(b)|0;while(1){if(!o)break;hP(B,o);d=o+16|0;n=c[d>>2]|0;h[C>>3]=(+h[n+88>>3]+ +h[n+96>>3])*.5;h[p>>3]=+h[n+80>>3]*.5;c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];BP(v,u,I);c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];CP(D,u,I);c[q>>2]=c[D>>2];c[q+4>>2]=c[D+4>>2];c[q+8>>2]=c[D+8>>2];c[q+12>>2]=c[D+12>>2];h[L>>3]=+h[(+h[L>>3]<+h[v>>3]?L:v)>>3];h[F>>3]=+h[(+h[F>>3]<+h[r>>3]?L:v)+8>>3];h[G>>3]=+h[(+h[G>>3]>+h[q>>3]?L:v)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[s>>3]?L:v)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){n=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(w,I,d,n);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];c[L+16>>2]=c[w+16>>2];c[L+20>>2]=c[w+20>>2];c[L+24>>2]=c[w+24>>2];c[L+28>>2]=c[w+28>>2]}n=UA(b,o)|0;while(1){if(!n)break;m=n+16|0;d=c[m>>2]|0;g=c[d+8>>2]|0;if(g|0){i=c[g+4>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;k=c[g>>2]|0;j=c[k+(f*48|0)+4>>2]|0;k=k+(f*48|0)|0;e=0;while(1){if((e|0)>=(j|0))break;P=(c[k>>2]|0)+(e<<4)|0;c[B>>2]=c[P>>2];c[B+4>>2]=c[P+4>>2];c[B+8>>2]=c[P+8>>2];c[B+12>>2]=c[P+12>>2];O=+h[B>>3];h[L>>3]=+h[(+h[L>>3]<O?L:B)>>3];N=+h[t>>3];h[F>>3]=+h[(+h[F>>3]<N?L:B)+8>>3];h[G>>3]=+h[(+h[G>>3]>O?G:B)>>3];h[E>>3]=+h[(+h[E>>3]>N?G:B)+8>>3];e=e+1|0}f=f+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(x,I,e,d);c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];c[L+16>>2]=c[x+16>>2];c[L+20>>2]=c[x+20>>2];c[L+24>>2]=c[x+24>>2];c[L+28>>2]=c[x+28>>2];d=c[m>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(y,I,e,d);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];c[L+16>>2]=c[y+16>>2];c[L+20>>2]=c[y+20>>2];c[L+24>>2]=c[y+24>>2];c[L+28>>2]=c[y+28>>2];d=c[m>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(z,I,e,d);c[L>>2]=c[z>>2];c[L+4>>2]=c[z+4>>2];c[L+8>>2]=c[z+8>>2];c[L+12>>2]=c[z+12>>2];c[L+16>>2]=c[z+16>>2];c[L+20>>2]=c[z+20>>2];c[L+24>>2]=c[z+24>>2];c[L+28>>2]=c[z+28>>2];d=c[m>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){P=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(A,I,d,P);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];c[L+16>>2]=c[A+16>>2];c[L+20>>2]=c[A+20>>2];c[L+24>>2]=c[A+24>>2];c[L+28>>2]=c[A+28>>2]}}n=WA(b,n)|0}o=hC(b,o)|0}d=c[K>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=H+8|0;j=H+16|0;k=H+24|0;e=1;while(1){if((e|0)>(f|0))break;P=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;R=+h[P+16>>3];h[H>>3]=R;Q=+h[P+24>>3];h[i>>3]=Q;N=+h[P+32>>3];h[j>>3]=N;O=+h[P+40>>3];h[k>>3]=O;h[L>>3]=+h[(+h[L>>3]<R?L:H)>>3];h[F>>3]=+h[(+h[F>>3]<Q?L:H)+8>>3];h[G>>3]=+h[(+h[G>>3]>N?L:H)+16>>3];h[E>>3]=+h[(+h[E>>3]>O?L:H)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(J,I,e,d);c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];c[L+28>>2]=c[J+28>>2];d=c[K>>2]|0}P=d+16|0;c[P>>2]=c[L>>2];c[P+4>>2]=c[L+4>>2];c[P+8>>2]=c[L+8>>2];c[P+12>>2]=c[L+12>>2];c[P+16>>2]=c[L+16>>2];c[P+20>>2]=c[L+20>>2];c[P+24>>2]=c[L+24>>2];c[P+28>>2]=c[L+28>>2]}l=M;return}function AP(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function DP(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(N3(HB(a)|0,108307,7)|0)==0;return a&1|0}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(FC(b)|0){case 0:{e=DA(a,0,c,195341)|0;break a}case 1:{e=DA(a,1,c,195341)|0;break a}case 2:{e=DA(a,2,c,195341)|0;break a}default:{e=0;break a}}while(0);HA(b,e,d)|0;return e|0}function FP(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=GP(d)|0;h=Sz(23640,c[4591]|0)|0;j=LD(d,108315,1)|0;RC(j,137786,280,1)|0;hA(g,128,k+16|0);e=gC(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=UA(d,e)|0;while(1){if(!f)break a;HP(f,j,g,h,i);f=WA(d,f)|0}}while(0);e=hC(d,e)|0}lA(g);Oz(h)|0;f=qB(j)|0;e=gC(j)|0;while(1){if(!e)break;h=hC(j,e)|0;tC(d,e)|0;e=h}pB(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}Oz(i)|0;l=k;return f|0}function GP(a){a=a|0;var b=0;b=Sz(23676,c[4591]|0)|0;QP(a,b);return b|0}function HP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(h2(HB(m)|0,108307,7)|0))o=IP(g,HB(m)|0)|0;else o=0;if(!(h2(HB(n)|0,108307,7)|0))j=IP(g,HB(n)|0)|0;else j=0;h=(o|0)!=0;i=(j|0)!=0;if(h|i){if((o|0)==(j|0)){r=HB(m)|0;s=HB(m)|0;c[k>>2]=r;c[k+4>>2]=s;dA(0,108330,k)|0;break}g=JP(f,b)|0;if(g|0){KP(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!i)if(!(EC(o,n)|0)){MP(f,m,n,KP(b,LP(m,o,e,d)|0,n)|0);break}else{r=HB(n)|0;s=HB(o)|0;c[q>>2]=r;c[q+4>>2]=s;dA(0,108485,q)|0;break}if(!h)if(!(EC(j,m)|0)){MP(f,m,n,KP(b,m,LP(n,j,e,d)|0)|0);break}else{r=HB(m)|0;s=HB(j)|0;c[p>>2]=r;c[p+4>>2]=s;dA(0,108448,p)|0;break}if(EC(j,o)|0){q=HB(o)|0;s=HB(j)|0;c[r>>2]=q;c[r+4>>2]=s;dA(0,108368,r)|0;break}if(!(EC(o,j)|0)){s=LP(m,o,e,d)|0;MP(f,m,n,KP(b,s,LP(n,j,e,d)|0)|0);break}else{q=HB(j)|0;r=HB(o)|0;c[s>>2]=q;c[s+4>>2]=r;dA(0,108408,s)|0;break}}}while(0);l=t;return}function IP(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function JP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=eb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function KP(a,b,c){a=a|0;b=b|0;c=c|0;c=fB(uC(b)|0,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(a,c)|0;return c|0}function LP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;kA(e,108522)|0;i=c[47392]|0;c[47392]=i+1;c[g>>2]=i;i2(j,137696,g)|0;kA(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;kA(e,HB(d)|0)|0;h=vC(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=qC(h,e,1)|0;RC(j,137750,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;lC(d,j,1)|0;lC(f,b,1)|0;f=uC(j)|0;c[47216]=EP(f,j,108525,195341,c[47216]|0)|0;f=uC(j)|0;c[47219]=EP(f,j,141385,134636,c[47219]|0)|0;f=uC(j)|0;c[47201]=EP(f,j,108531,108537,c[47201]|0)|0;l=k;return j|0}function MP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];eb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];eb[c[a>>2]&63](a,g,1)|0;l=f;return}function NP(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function OP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0<d>>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function QP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=HB(a)|0;if(!(eb[c[b>>2]&63](b,d,512)|0)){i=HK(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;eb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;dA(0,108541,g)|0}QP(a,b);e=e+1|0}l=h;return}function RP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function SP(a){a=a|0;var b=0,c=0,d=0;d=LD(a,108315,1)|0;RC(d,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;TP(c,d);c=WA(a,c)|0}b=hC(a,b)|0}b=gC(d)|0;while(1){if(!b)break;c=hC(d,b)|0;UP(b);tC(a,b)|0;b=c}pB(d)|0;return}function TP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=VP(f,d)|0;e=KP(b,f,VP(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;WP(b)}return}function UP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){db[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);TC(a,137750)|0;return}function VP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=uC(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){lC(d,b,1)|0;b=F3(HB(b)|0,58)|0;if(!b)Aa(111509,107962,1225,108593);d=b+1|0;b=qC(f,d,0)|0;if(!b){b=qC(f,d,1)|0;RC(b,137750,304,1)|0;d=IA(f,1,0)|0;while(1){if(!d)break a;g=OA(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))HA(b,d,e)|0;d=IA(f,1,d)|0}}}while(0);return b|0}function WP(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+144>>2]|0);XP(a);AK(c[(c[b>>2]|0)+96>>2]|0);AK(c[(c[b>>2]|0)+108>>2]|0);AK(c[(c[b>>2]|0)+100>>2]|0);AK(c[(c[b>>2]|0)+104>>2]|0);TC(a,137763)|0;return}function XP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;l6(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}l6(a);l6(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=DA(a,b,c,0)|0;if(!e)e=DA(a,b,c,d)|0;return e|0}function ZP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=F3(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(N4(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e6(h,23712,252,8,96)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];i2(j,137696,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;kA(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function _P(a,b){a=a|0;b=b|0;return f2(c[a>>2]|0,c[b>>2]|0)|0}function $P(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[47393]|0)!=(d|0)){c[47393]=d;a[195240]=0}hA(o,1024,q+40|0);n=o+8|0;p=o+4|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){g=bQ(i)|0;if(!g)e=38;else{if(g>>>0<127){e=g&255;break}b=c[p>>2]|0;f=b>>>0>=(c[n>>2]|0)>>>0;h=g>>>6;e=(g&63|128)&255;if(g>>>0<2047){if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h|192;break}if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=g>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h&63|128}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[195240]|0)){c[j>>2]=HB(d)|0;dA(0,110008,j)|0;a[195240]=1}h=-1;e=aQ(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[195240]|0)){g=HB(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;dA(0,110129,k)|0;a[195240]=1}e=aQ(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=Y3(n)|0;lA(o);l=q;return p|0} -function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;if(a){if((c[a+32>>2]|0)!=1)Aa(95220,95244,187,95375);s=a+36|0;d=c[s>>2]|0;if((d&2|0)==0?(p=(b|0)!=0,(d&1|0)==0|p^1):0)if((c[a>>2]|0)==(c[a+4>>2]|0)?(t=mw(a)|0,(t|0)!=0):0){k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[t+20>>2]|0;n=c[t+24>>2]|0;o=c[a>>2]|0;q=IK(o<<2)|0;b=0;while(1){if((b|0)>=(o|0))break;c[q+(b<<2)>>2]=-1;b=b+1|0}b=a+28|0;d=t+28|0;a:do switch((p?8:c[a+16>>2]|0)|0){case 1:{i=c[b>>2]|0;g=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}b:while(1){if((d|0)>=(o|0)){r=54;break a}e=k+(d<<2)|0;f=d+1|0;a=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}b=c[m+(d<<2)>>2]|0;a=c[m+(f<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){d=f;continue b}u=+h[g+(b<<3)>>3]-+h[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 2:{j=c[b>>2]|0;i=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}c:while(1){if((d|0)>=(o|0)){r=54;break a}f=k+(d<<2)|0;g=d+1|0;a=k+(g<<2)|0;b=c[f>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(d<<2)>>2]|0;e=c[m+(g<<2)>>2]|0;b=d;while(1){if((b|0)>=(e|0)){b=d;break}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[f>>2]|0)){b=0;break a}else b=b+1|0}while(1){if((b|0)>=(e|0)){d=g;continue c}d=b<<1;a=c[q+(c[n+(b<<2)>>2]<<2)>>2]<<1;u=+h[i+(d<<3)>>3]-+h[j+(a<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}u=+h[i+((d|1)<<3)>>3]-+h[j+((a|1)<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 4:{i=c[b>>2]|0;f=c[d>>2]|0;b=0;d:while(1){if((b|0)>=(o|0)){r=54;break a}e=k+(b<<2)|0;g=b+1|0;a=k+(g<<2)|0;d=c[e>>2]|0;while(1){if((d|0)>=(c[a>>2]|0))break;c[q+(c[l+(d<<2)>>2]<<2)>>2]=d;d=d+1|0}b=c[m+(b<<2)>>2]|0;a=c[m+(g<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){b=g;continue d}if((c[f+(b<<2)>>2]|0)==(c[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<2)>>2]|0))b=b+1|0;else{b=0;break a}}}}case 8:{a=0;e:while(1){if((a|0)>=(o|0)){r=54;break a}e=k+(a<<2)|0;f=a+1|0;d=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[d>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(f<<2)>>2]|0;b=c[m+(a<<2)>>2]|0;while(1){if((b|0)>=(d|0)){a=f;continue e}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else b=b+1|0}}}default:b=0}while(0);if((r|0)==54){d=c[s>>2]|0;if(p)b=1;else{c[s>>2]=d|2;b=3}c[s>>2]=b|d;b=1}l6(q);nw(t)}else b=0;else b=1}else b=0;return b|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a)b=0;else{e=a+8|0;f=a+40|0;b=ww(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[a+16>>2]|0,c[f>>2]|0,c[a+32>>2]|0)|0;d=a+20|0;B6(c[b+20>>2]|0,c[d>>2]|0,(c[a>>2]<<2)+4|0)|0;B6(c[b+24>>2]|0,c[a+24>>2]|0,c[(c[d>>2]|0)+(c[a>>2]<<2)>>2]<<2|0)|0;d=c[a+28>>2]|0;if(d|0)B6(c[b+28>>2]|0,d|0,S(c[e>>2]|0,c[f>>2]|0)|0)|0;c[b+36>>2]=c[a+36>>2];c[b+8>>2]=c[e>>2]}return b|0}function vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[b+20>>2]|0;v=c[b+24>>2]|0;if(!((a|0)!=0&(b|0)!=0))Aa(95282,95244,973,95289);s=c[a+32>>2]|0;if(!((s|0)==1?(s|0)==(c[b+32>>2]|0):0))Aa(95306,95244,974,95289);f=a+16|0;d=c[f>>2]|0;if((d|0)!=(c[b+16>>2]|0))Aa(95356,95244,975,95289);q=c[a>>2]|0;e=c[a+4>>2]|0;if(((q|0)==(c[b>>2]|0)?(e|0)==(c[b+4>>2]|0):0)?(w=ow(q,e,(c[b+8>>2]|0)+(c[a+8>>2]|0)|0,d,1)|0,w|0):0){o=c[w+20>>2]|0;p=c[w+24>>2]|0;s=IK(e<<2)|0;d=0;while(1){if((d|0)>=(e|0))break;c[s+(d<<2)>>2]=-1;d=d+1|0}c[o>>2]=0;d=a+28|0;a=b+28|0;e=w+28|0;a:do switch(c[f>>2]|0){case 1:{m=c[d>>2]|0;l=c[a>>2]|0;j=c[e>>2]|0;d=0;b=0;while(1){if((b|0)>=(q|0))break a;k=b+1|0;e=r+(k<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;n=t+(a<<2)|0;c[s+(c[n>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[n>>2];h[j+(d<<3)>>3]=+h[m+(a<<3)>>3];a=a+1|0;d=d+1|0}f=u+(k<<2)|0;g=o+(b<<2)|0;b=c[u+(b<<2)>>2]|0;while(1){if((b|0)>=(c[f>>2]|0))break;a=c[v+(b<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;i=+h[l+(b<<3)>>3];if((e|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;h[j+(d<<3)>>3]=i;d=d+1|0}else{n=j+(e<<3)|0;h[n>>3]=i+ +h[n>>3]}b=b+1|0}c[o+(k<<2)>>2]=d;b=k}}case 2:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;g=t+(a<<2)|0;c[s+(c[g>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[g>>2];g=a<<1;j=d<<1;h[k+(j<<3)>>3]=+h[n+(g<<3)>>3];h[k+((j|1)<<3)>>3]=+h[n+((g|1)<<3)>>3];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;x=f<<1;b=m+((x|1)<<3)|0;i=+h[m+(x<<3)>>3];if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;x=d<<1;h[k+(x<<3)>>3]=i;h[k+((x|1)<<3)>>3]=+h[b>>3];d=d+1|0}else{x=e<<1;e=k+(x<<3)|0;h[e>>3]=i+ +h[e>>3];x=k+((x|1)<<3)|0;h[x>>3]=+h[b>>3]+ +h[x>>3]}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 4:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];c[k+(d<<2)>>2]=c[n+(a<<2)>>2];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;b=m+(f<<2)|0;if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;c[k+(d<<2)>>2]=c[b>>2];d=d+1|0}else{x=k+(e<<2)|0;c[x>>2]=(c[x>>2]|0)+(c[b>>2]|0)}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 8:{d=0;b=0;while(1){if((b|0)>=(q|0))break a;j=b+1|0;e=r+(j<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];d=d+1|0;a=a+1|0}f=u+(j<<2)|0;g=o+(b<<2)|0;e=c[u+(b<<2)>>2]|0;while(1){if((e|0)>=(c[f>>2]|0))break;a=c[v+(e<<2)>>2]|0;if((c[s+(a<<2)>>2]|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;d=d+1|0}e=e+1|0}c[o+(j<<2)>>2]=d;b=j}}default:d=0}while(0);c[w+8>>2]=d;l6(s);return w|0}return 0}function ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;a=qw(a,b,d,e,f)|0;if((c|0)>0)rw(a,c)|0;return a|0}function xw(a,b){a=a|0;b=b|0;var d=0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{d=vw(a,b)|0;nw(b);b=d+36|0;c[b>>2]=c[b>>2]|3;b=d;d=5}}else{b=uw(a)|0;d=5}if((d|0)==5)b=yw(b)|0;return b|0}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{k=c[a+20>>2]|0;l=c[a+24>>2]|0;d=c[k>>2]|0;m=a+8|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;h[j+(b<<3)>>3]=+h[j+(d<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 2:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;n=d<<1;e=b<<1;h[j+(e<<3)>>3]=+h[j+(n<<3)>>3];h[j+((e|1)<<3)>>3]=+h[j+((n|1)<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 4:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;c[j+(b<<2)>>2]=c[j+(d<<2)>>2];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 8:{i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}default:{a=0;break a}}while(0);c[m>>2]=b}while(0);return a|0}function zw(a){a=a|0;if((c[a+32>>2]|0)==2)return Aw(c[a+8>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,c[a+28>>2]|0,c[a+16>>2]|0,c[a+40>>2]|0)|0;else Aa(95401,95244,803,95427);return 0}function Aw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Bw(a,b,c,d,e,f,g,h,1)|0}function Bw(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!((a|0)>-1&((b|0)>0&(d|0)>0)))Aa(95463,95244,843,95489);j=ww(b,d,a,i,j,1)|0;if(!j)Aa(95534,95244,847,95489);v=c[j+20>>2]|0;u=c[j+24>>2]|0;m=b+1|0;l=0;while(1){if((l|0)==(m|0))break;c[v+(l<<2)>>2]=0;l=l+1|0}n=j+28|0;a:do switch(i|0){case 1:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){r=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=13;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=13;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==13)Aa(138697,95244,862,95489);while(1){if((r|0)==(b|0)){l=0;break}t=r+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(r<<2)>>2]|0);r=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;h[n+(t<<3)>>3]=+h[g+(l<<3)>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 2:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){s=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=25;break}r=c[f+(l<<2)>>2]|0;if(!((r|0)>-1&(r|0)<(d|0))){t=25;break}r=v+(m+1<<2)|0;c[r>>2]=(c[r>>2]|0)+1;l=l+1|0}if((t|0)==25)Aa(138697,95244,880,95489);while(1){if((s|0)==(b|0)){l=0;break}t=s+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(s<<2)>>2]|0);s=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;d=t<<1;h[n+(d<<3)>>3]=+h[g>>3];h[n+((d|1)<<3)>>3]=+h[g+8>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+16|0;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 4:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){q=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=37;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=37;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==37)Aa(138697,95244,899,95489);while(1){if((q|0)==(b|0)){l=0;break}t=q+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(q<<2)>>2]|0);q=t}while(1){if((l|0)==(a|0))break;s=e+(l<<2)|0;c[n+(c[v+(c[s>>2]<<2)>>2]<<2)>>2]=c[g+(l<<2)>>2];d=c[f+(l<<2)>>2]|0;s=v+(c[s>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 8:{g=0;while(1){if((g|0)>=(a|0)){o=0;break}l=c[e+(g<<2)>>2]|0;if(!((l|0)>-1&(l|0)<(b|0))){t=48;break}s=c[f+(g<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=48;break}s=v+(l+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;g=g+1|0}if((t|0)==48)Aa(138697,95244,915,95489);while(1){if((o|0)==(b|0)){g=0;break}t=o+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(o<<2)>>2]|0);o=t}while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 16:{l=0;while(1){if((l|0)>=(a|0)){p=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=59;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=59;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==59)Aa(138697,95244,930,95489);while(1){if((p|0)==(b|0))break;t=p+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(p<<2)>>2]|0);p=t}B6(c[n>>2]|0,g|0,S(c[j+40>>2]|0,a)|0)|0;g=0;while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}default:Aa(138697,95244,944,95489)}while(0);c[v>>2]=0;c[j+8>>2]=a;if(k)j=Cw(j,k)|0;return j|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=c[a+20>>2]|0;w=c[a+24>>2]|0;e=c[a+16>>2]|0;s=c[a+4>>2]|0;a:do if(b){r=s<<2;u=IK(r)|0;d=0;while(1){if((d|0)>=(s|0))break;c[u+(d<<2)>>2]=-1;d=d+1|0}d=a+28|0;b:do switch(e|0){case 1:{k=c[d>>2]|0;f=0;e=c[v>>2]|0;d=0;c:while(1){if((d|0)>=(c[a>>2]|0)){x=f;y=u;break b}m=d+1|0;n=v+(m<<2)|0;j=v+(d<<2)|0;d=f;while(1){b=c[n>>2]|0;if((e|0)>=(b|0))break;b=w+(e<<2)|0;f=c[b>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(e<<3)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;h[k+(d<<3)>>3]=+h[i>>3];c[u+(c[b>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break c;t=k+(g<<3)|0;h[t>>3]=+h[i>>3]+ +h[t>>3]}e=e+1|0}c[n>>2]=d;f=d;e=b;d=m}Aa(95536,95244,1792,95561);break}case 2:{t=c[d>>2]|0;switch(b|0){case 1:{b=c[v>>2]|0;e=0;d=0;d:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;j=b<<1;i=t+(j<<3)|0;j=t+((j|1)<<3)|0;if((g|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=f;s=d<<1;h[t+(s<<3)>>3]=+h[i>>3];h[t+((s|1)<<3)>>3]=+h[j>>3];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break d;s=g<<1;r=t+(s<<3)|0;h[r>>3]=+h[i>>3]+ +h[r>>3];s=t+((s|1)<<3)|0;h[s>>3]=+h[j>>3]+ +h[s>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1815,95561);break}case 4:{b=c[v>>2]|0;e=0;d=0;e:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;i=w+(b<<2)|0;j=c[i>>2]|0;e=c[u+(j<<2)>>2]|0;g=b<<1;f=t+(g<<3)|0;g=t+((g|1)<<3)|0;if((e|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=j;s=d<<1;h[t+(s<<3)>>3]=+h[f>>3];h[t+((s|1)<<3)>>3]=+h[g>>3];c[u+(c[i>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(e<<2)>>2]|0)!=(j|0))break e;s=e<<1;r=t+(s<<3)|0;h[r>>3]=+h[f>>3]+ +h[r>>3];h[t+((s|1)<<3)>>3]=+h[g>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1835,95561);break}default:{p=t+8|0;switch(b|0){case 2:break;case 3:{f=~~+h[p>>3];i=c[a>>2]|0;d=f;e=0;g=0;f:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;b=d;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){d=b;g=j;continue f}q=~~+h[t+(e<<1<<3)>>3];b=(b|0)>(q|0)?b:q;f=(f|0)>(q|0)?f:q;e=e+1|0;d=d+1|0}}l6(u);e=d-f+1|0;o=IK(S(e,r)|0)|0;e=S(e,s)|0;d=0;while(1){if((d|0)>=(e|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;g:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+(j<<3)>>3];g=o+((S(~~l-f|0,s)|0)+e<<2)|0;i=c[g>>2]|0;j=t+((j|1)<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;q=d<<1;h[t+(q<<3)>>3]=l;h[t+((q|1)<<3)>>3]=+h[j>>3];c[g>>2]=d;d=d+1|0}else{if((c[w+(i<<2)>>2]|0)!=(e|0))break g;q=i<<1;h[t+(q<<3)>>3]=l;q=t+((q|1)<<3)|0;h[q>>3]=+h[j>>3]+ +h[q>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95614,95244,1905,95561);break}default:{x=0;y=u;break b}}q=~~+h[p>>3];i=c[a>>2]|0;e=q;g=0;d=0;h:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;f=d;b=q;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){q=b;g=j;d=f;continue h}q=~~+h[t+((f<<1|1)<<3)>>3];f=f+1|0;e=(e|0)>(q|0)?e:q;b=(b|0)<(q|0)?b:q;d=d+1|0}}l6(u);p=e-q+1|0;o=IK(S(p,r)|0)|0;p=S(p,s)|0;d=0;while(1){if((d|0)>=(p|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;i:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+((j|1)<<3)>>3];f=(S(~~l-q|0,s)|0)+e|0;g=o+(f<<2)|0;i=c[g>>2]|0;j=t+(j<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;u=d<<1;h[t+(u<<3)>>3]=+h[j>>3];h[t+((u|1)<<3)>>3]=l;c[g>>2]=d;d=d+1|0}else{if((f|0)>=(p|0)){d=56;break i}if((c[w+(i<<2)>>2]|0)!=(e|0)){d=58;break i}u=i<<1;r=t+(u<<3)|0;h[r>>3]=+h[j>>3]+ +h[r>>3];h[t+((u|1)<<3)>>3]=l}b=b+1|0}c[n>>2]=d;b=e;e=m}if((d|0)==56)Aa(95593,95244,1869,95561);else if((d|0)==58)Aa(95614,95244,1870,95561)}}break}case 4:{k=c[d>>2]|0;e=0;d=0;b=c[v>>2]|0;j:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;j=v+(e<<2)|0;while(1){f=c[n>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(b<<2)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;c[k+(d<<2)>>2]=c[i>>2];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break j;t=k+(g<<2)|0;c[t>>2]=(c[t>>2]|0)+(c[i>>2]|0)}b=b+1|0}c[n>>2]=d;e=m;b=f}Aa(95536,95244,1929,95561);break}case 8:{e=0;d=0;b=c[v>>2]|0;k:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}j=e+1|0;k=v+(j<<2)|0;i=v+(e<<2)|0;while(1){f=c[k>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;if((g|0)>=(c[i>>2]|0)){if((c[w+(g<<2)>>2]|0)!=(f|0))break k}else{c[w+(d<<2)>>2]=f;c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}b=b+1|0}c[k>>2]=d;e=j;b=f}Aa(95536,95244,1948,95561);break}default:{a=0;break a}}while(0);c[a+8>>2]=x;l6(y)}while(0);return a|0}function Dw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!d)Ew(a,c,e,g,b,f);else Fw(a,c,e,g,b,f);return}function Ew(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1121,95784);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1122,95784);p=c[a+28>>2]|0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;s=c[a>>2]|0;n=c[a+4>>2]|0;a=c[d>>2]|0;i=(a|0)!=0;o=(g|0)!=0;if(!f){if(!i)a=IK(S(e<<3,s)|0)|0;g=0;a:while(1){if((g|0)>=(s|0))break;m=S(g,e)|0;i=0;while(1){if((i|0)>=(e|0))break;h[a+(i+m<<3)>>3]=0.0;i=i+1|0}k=g+1|0;l=c[q+(k<<2)>>2]|0;i=c[q+(g<<2)>>2]|0;while(1){if((i|0)>=(l|0)){g=k;continue a}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;t=+h[f>>3]*+h[b+((S(c[j>>2]|0,e)|0)+g<<3)>>3];n=a+(g+m<<3)|0;h[n>>3]=+h[n>>3]+t;g=g+1|0}i=i+1|0}}if(o)Hw(a,s,e)}else{if(!i)a=IK(S(e<<3,n)|0)|0;g=S(n,e)|0;i=0;while(1){if((i|0)>=(g|0)){i=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}b:while(1){if((i|0)>=(s|0))break;k=i+1|0;l=c[q+(k<<2)>>2]|0;m=S(i,e)|0;i=c[q+(i<<2)>>2]|0;while(1){if((i|0)>=(l|0)){i=k;continue b}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;u=a+((S(c[j>>2]|0,e)|0)+g<<3)|0;h[u>>3]=+h[f>>3]*+h[b+(g+m<<3)>>3]+ +h[u>>3];g=g+1|0}i=i+1|0}}if(o)Hw(a,n,e)}c[d>>2]=a;return}function Fw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1163,95636);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1164,95636);h=c[d>>2]|0;k=c[a>>2]|0;m=c[a+4>>2]|0;i=(h|0)!=0;j=(g|0)!=0;if(!f){if(!i)h=IK(S(e<<3,k)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,k)|0)<<3);Gw(a,b+((S(g,m)|0)<<3)|0,n,0);g=g+1|0}if(!j)Hw(h,e,k)}else{if(!i)h=IK(S(e<<3,m)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,m)|0)<<3);Gw(a,b+((S(g,k)|0)<<3)|0,n,f);g=g+1|0}if(!j)Hw(h,e,m)}c[d>>2]=h;l=o;return}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1222,95693);n=c[a+16>>2]|0;switch(n|0){case 4:case 1:break;default:Aa(95722,95244,1223,95693)}r=c[a+20>>2]|0;p=c[a+24>>2]|0;s=c[a>>2]|0;o=c[a+4>>2]|0;i=c[d>>2]|0;l=s<<3;m=(i|0)!=0;e=(e|0)!=0;j=(b|0)!=0;k=o<<3;q=c[a+28>>2]|0;a:do switch(n|0){case 1:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;b:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue b}t=f+ +h[q+(e<<3)>>3]*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}c:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue c}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+h[q+(e<<3)>>3]*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;d:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue d}t=+h[q+(e<<3)>>3]+f;h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}e:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue e}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+h[q+(e<<3)>>3]+ +h[b>>3];e=e+1|0}}}case 4:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;f:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue f}t=f+ +(c[q+(e<<2)>>2]|0)*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}g:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue g}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+(c[q+(e<<2)>>2]|0)*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;h:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue h}t=f+ +(c[q+(e<<2)>>2]|0);h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}i:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue i}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+(c[q+(e<<2)>>2]|0)+ +h[b>>3];e=e+1|0}}}default:Aa(138697,95244,1315,95693)}while(0);c[d>>2]=g;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=S(b<<3,c)|0;f=IK(d)|0;B6(f|0,a|0,d|0)|0;d=0;while(1){if((d|0)>=(b|0))break;g=S(d,c)|0;e=0;while(1){if((e|0)>=(c|0))break;h[a+((S(e,b)|0)+d<<3)>>3]=+h[f+(e+g<<3)>>3];e=e+1|0}d=d+1|0}l6(f);return}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=c[a+20>>2]|0;A=c[a+24>>2]|0;B=c[b+20>>2]|0;C=c[b+24>>2]|0;y=c[a+32>>2]|0;if(!((y|0)==1?(y|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1408,95813);y=c[a>>2]|0;if(((c[a+4>>2]|0)==(c[b>>2]|0)?(n=c[a+16>>2]|0,(n|0)==(c[b+16>>2]|0)):0)?(m=b+4|0,D=IK(c[m>>2]<<2)|0,(D|0)!=0):0){d=0;while(1){if((d|0)>=(c[m>>2]|0)){e=0;d=0;break}c[D+(d<<2)>>2]=-1;d=d+1|0}a:while(1){if((d|0)>=(y|0))break;j=d+1|0;k=z+(j<<2)|0;l=-2-d|0;i=c[z+(d<<2)>>2]|0;while(1){if((i|0)>=(c[k>>2]|0)){d=j;continue a}f=c[A+(i<<2)>>2]|0;g=B+(f+1<<2)|0;f=c[B+(f<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;d=D+(c[C+(f<<2)>>2]<<2)|0;if((c[d>>2]|0)!=(l|0)){c[d>>2]=l;e=e+1|0}f=f+1|0}i=i+1|0}}d=ow(y,c[m>>2]|0,e,n,1)|0;b:do if(!d)d=0;else{v=c[d+20>>2]|0;w=c[d+24>>2]|0;f=b+28|0;g=d+28|0;e=a+28|0;c:do switch(n|0){case 1:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;d:while(1){if((e|0)>=(y|0)){x=f;break c}o=e+1|0;p=z+(o<<2)|0;q=v+(e<<2)|0;a=c[z+(e<<2)>>2]|0;while(1){if((a|0)>=(c[p>>2]|0))break;l=c[A+(a<<2)>>2]|0;m=B+(l+1<<2)|0;b=s+(a<<3)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[m>>2]|0))break;e=C+(l<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<3)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];h[n+(f<<3)>>3]=+h[b>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break d;u=n+(j<<3)|0;h[u>>3]=+h[u>>3]+ +h[b>>3]*+h[k>>3]}l=l+1|0}a=a+1|0}c[v+(o<<2)>>2]=f;e=o}Aa(95835,95244,1468,95813);break}case 2:{u=c[e>>2]|0;t=c[f>>2]|0;p=c[g>>2]|0;c[v>>2]=0;e=0;f=0;e:while(1){if((e|0)>=(y|0)){x=f;break c}q=e+1|0;r=z+(q<<2)|0;s=v+(e<<2)|0;o=c[z+(e<<2)>>2]|0;while(1){if((o|0)>=(c[r>>2]|0))break;m=c[A+(o<<2)>>2]|0;b=B+(m+1<<2)|0;n=o<<1;a=u+(n<<3)|0;n=u+((n|1)<<3)|0;m=c[B+(m<<2)>>2]|0;while(1){if((m|0)>=(c[b>>2]|0))break;e=C+(m<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;l=m<<1;k=t+(l<<3)|0;l=t+((l|1)<<3)|0;if((j|0)<(c[s>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];j=f<<1;h[p+(j<<3)>>3]=+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3];h[p+((j|1)<<3)>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break e;j=j<<1;i=p+(j<<3)|0;h[i>>3]=+h[i>>3]+(+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3]);j=p+((j|1)<<3)|0;h[j>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3]+ +h[j>>3]}m=m+1|0}o=o+1|0}c[v+(q<<2)>>2]=f;e=q}Aa(95835,95244,1497,95813);break}case 4:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;f:while(1){if((f|0)>=(y|0)){x=e;break c}o=f+1|0;p=z+(o<<2)|0;q=v+(f<<2)|0;m=c[z+(f<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[A+(m<<2)>>2]|0;b=B+(l+1<<2)|0;a=s+(m<<2)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[b>>2]|0))break;f=C+(l<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<2)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];c[n+(e<<2)>>2]=S(c[k>>2]|0,c[a>>2]|0)|0;e=e+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break f;t=S(c[k>>2]|0,c[a>>2]|0)|0;u=n+(j<<2)|0;c[u>>2]=(c[u>>2]|0)+t}l=l+1|0}m=m+1|0}c[v+(o<<2)>>2]=e;f=o}Aa(95835,95244,1523,95813);break}case 8:{c[v>>2]=0;e=0;f=0;g:while(1){if((f|0)>=(y|0)){x=e;break c}b=f+1|0;a=z+(b<<2)|0;n=v+(f<<2)|0;l=c[z+(f<<2)>>2]|0;while(1){if((l|0)>=(c[a>>2]|0))break;k=c[A+(l<<2)>>2]|0;m=B+(k+1<<2)|0;k=c[B+(k<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;f=C+(k<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;if((j|0)>=(c[n>>2]|0)){if((c[w+(j<<2)>>2]|0)!=(g|0))break g}else{c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];e=e+1|0}k=k+1|0}l=l+1|0}c[v+(b<<2)>>2]=e;f=b}Aa(95835,95244,1543,95813);break}default:{nw(d);d=0;break b}}while(0);c[d+8>>2]=x}while(0);l6(D)}else d=0;return d|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;H=c[a+20>>2]|0;I=c[a+24>>2]|0;J=c[b+20>>2]|0;D=c[b+24>>2]|0;E=c[d+20>>2]|0;F=c[d+24>>2]|0;G=c[a+32>>2]|0;if(!((G|0)==1?(G|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1574,95860);G=c[a>>2]|0;if(((((c[a+4>>2]|0)==(c[b>>2]|0)?(c[b+4>>2]|0)==(c[d>>2]|0):0)?(q=c[a+16>>2]|0,(q|0)==(c[b+16>>2]|0)):0)?(q|0)==(c[d+16>>2]|0):0)?(p=d+4|0,K=IK(c[p>>2]<<2)|0,(K|0)!=0):0){e=0;while(1){if((e|0)>=(c[p>>2]|0)){f=0;e=0;break}c[K+(e<<2)>>2]=-1;e=e+1|0}a:while(1){if((e|0)>=(G|0))break;m=e+1|0;n=H+(m<<2)|0;o=-2-e|0;l=c[H+(e<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0)){e=m;continue a}j=c[I+(l<<2)>>2]|0;k=J+(j+1<<2)|0;j=c[J+(j<<2)>>2]|0;while(1){if((j|0)>=(c[k>>2]|0))break;g=c[D+(j<<2)>>2]|0;i=E+(g+1<<2)|0;g=c[E+(g<<2)>>2]|0;while(1){if((g|0)>=(c[i>>2]|0))break;e=K+(c[F+(g<<2)>>2]<<2)|0;if((c[e>>2]|0)!=(o|0)){c[e>>2]=o;f=f+1|0}g=g+1|0}j=j+1|0}l=l+1|0}}e=ow(G,c[p>>2]|0,f,q,1)|0;b:do if(!e)e=0;else{A=c[e+20>>2]|0;B=c[e+24>>2]|0;g=b+28|0;f=a+28|0;j=e+28|0;i=d+28|0;c:do switch(q|0){case 1:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;r=c[j>>2]|0;c[A>>2]=0;f=0;g=0;d:while(1){if((f|0)>=(G|0)){C=g;break c}s=f+1|0;t=H+(s<<2)|0;q=A+(f<<2)|0;d=c[H+(f<<2)>>2]|0;while(1){if((d|0)>=(c[t>>2]|0))break;p=c[I+(d<<2)>>2]|0;b=J+(p+1<<2)|0;a=w+(d<<3)|0;p=c[J+(p<<2)>>2]|0;while(1){if((p|0)>=(c[b>>2]|0))break;m=c[D+(p<<2)>>2]|0;n=E+(m+1<<2)|0;o=v+(p<<3)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[n>>2]|0))break;f=F+(m<<2)|0;i=c[f>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<3)|0;if((k|0)<(c[q>>2]|0)){c[j>>2]=g;c[B+(g<<2)>>2]=c[f>>2];h[r+(g<<3)>>3]=+h[a>>3]*+h[o>>3]*+h[l>>3];g=g+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break d;z=r+(k<<3)|0;h[z>>3]=+h[z>>3]+ +h[a>>3]*+h[o>>3]*+h[l>>3]}m=m+1|0}p=p+1|0}d=d+1|0}c[A+(s<<2)>>2]=g;f=s}Aa(95883,95244,1642,95860);break}case 2:{z=c[f>>2]|0;y=c[g>>2]|0;x=c[i>>2]|0;t=c[j>>2]|0;c[A>>2]=0;f=0;g=0;e:while(1){if((g|0)>=(G|0)){C=f;break c}u=g+1|0;v=H+(u<<2)|0;w=A+(g<<2)|0;d=c[H+(g<<2)>>2]|0;while(1){if((d|0)>=(c[v>>2]|0))break;o=c[I+(d<<2)>>2]|0;q=J+(o+1<<2)|0;s=d<<1;r=z+(s<<3)|0;s=z+((s|1)<<3)|0;o=c[J+(o<<2)>>2]|0;while(1){if((o|0)>=(c[q>>2]|0))break;n=c[D+(o<<2)>>2]|0;p=E+(n+1<<2)|0;a=o<<1;b=y+(a<<3)|0;a=y+((a|1)<<3)|0;n=c[E+(n<<2)>>2]|0;while(1){if((n|0)>=(c[p>>2]|0))break;g=F+(n<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;m=n<<1;l=x+(m<<3)|0;m=x+((m|1)<<3)|0;if((k|0)<(c[w>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];M=+h[r>>3];N=+h[b>>3];L=+h[s>>3];O=+h[a>>3];k=f<<1;h[t+(k<<3)>>3]=+h[l>>3]*(M*N-L*O)-(N*L+M*O)*+h[m>>3];O=+h[r>>3];M=+h[a>>3];L=+h[s>>3];N=+h[b>>3];h[t+((k|1)<<3)>>3]=+h[l>>3]*(O*M+L*N)+(O*N-M*L)*+h[m>>3];f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break e;N=+h[r>>3];M=+h[b>>3];O=+h[s>>3];L=+h[a>>3];k=k<<1;j=t+(k<<3)|0;h[j>>3]=+h[j>>3]+(+h[l>>3]*(N*M-O*L)-(M*O+N*L)*+h[m>>3]);L=+h[r>>3];N=+h[a>>3];O=+h[s>>3];M=+h[b>>3];k=t+((k|1)<<3)|0;h[k>>3]=+h[l>>3]*(L*N+O*M)+(L*M-N*O)*+h[m>>3]+ +h[k>>3]}n=n+1|0}o=o+1|0}d=d+1|0}c[A+(u<<2)>>2]=f;g=u}Aa(95883,95244,1674,95860);break}case 4:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;q=c[j>>2]|0;c[A>>2]=0;f=0;g=0;f:while(1){if((g|0)>=(G|0)){C=f;break c}r=g+1|0;s=H+(r<<2)|0;t=A+(g<<2)|0;b=c[H+(g<<2)>>2]|0;while(1){if((b|0)>=(c[s>>2]|0))break;n=c[I+(b<<2)>>2]|0;a=J+(n+1<<2)|0;d=w+(b<<2)|0;n=c[J+(n<<2)>>2]|0;while(1){if((n|0)>=(c[a>>2]|0))break;m=c[D+(n<<2)>>2]|0;o=E+(m+1<<2)|0;p=v+(n<<2)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[o>>2]|0))break;g=F+(m<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<2)|0;if((k|0)<(c[t>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(f<<2)|0;c[z>>2]=(c[z>>2]|0)+y;f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break f;y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(k<<2)|0;c[z>>2]=(c[z>>2]|0)+y}m=m+1|0}n=n+1|0}b=b+1|0}c[A+(r<<2)>>2]=f;g=r}Aa(95883,95244,1706,95860);break}case 8:{c[A>>2]=0;f=0;g=0;g:while(1){if((g|0)>=(G|0)){C=f;break c}b=g+1|0;a=H+(b<<2)|0;d=A+(g<<2)|0;o=c[H+(g<<2)>>2]|0;while(1){if((o|0)>=(c[a>>2]|0))break;m=c[I+(o<<2)>>2]|0;p=J+(m+1<<2)|0;m=c[J+(m<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[D+(m<<2)>>2]|0;n=E+(l+1<<2)|0;l=c[E+(l<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;g=F+(l<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;if((k|0)>=(c[d>>2]|0)){if((c[B+(k<<2)>>2]|0)!=(i|0))break g}else{c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];f=f+1|0}l=l+1|0}m=m+1|0}o=o+1|0}c[A+(b<<2)>>2]=f;g=b}Aa(95883,95244,1729,95860);break}default:{nw(e);e=0;break b}}while(0);c[e+8>>2]=C}while(0);l6(K)}else e=0;return e|0}function Kw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((c[a+32>>2]|0)!=2)Aa(95401,95244,1971,95908);if((b|0)>=1){h=c[a+8>>2]|0;g=h+b|0;if((g|0)>=(c[a+12>>2]|0))Lw(a,g+10|0)|0;i=h<<2;g=b<<2;B6((c[a+20>>2]|0)+i|0,d|0,g|0)|0;B6((c[a+24>>2]|0)+i|0,e|0,g|0)|0;g=c[a+40>>2]|0;if(g|0){i=S(g,b)|0;h=S(g,h)|0;B6((c[a+28>>2]|0)+h|0,f|0,i|0)|0}f=a+4|0;h=0;while(1){if((h|0)>=(b|0))break;g=c[d+(h<<2)>>2]|0;if((g|0)>=(c[a>>2]|0))c[a>>2]=g+1;g=c[e+(h<<2)>>2]|0;if((g|0)>=(c[f>>2]|0))c[f>>2]=g+1;h=h+1|0}i=a+8|0;c[i>>2]=(c[i>>2]|0)+b}return a|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b<<2;f=a+28|0;if((c[a+32>>2]|0)==2){e=a+20|0;c[e>>2]=KK(c[e>>2]|0,d)|0;e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}else{e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}c[a+12>>2]=b;return a|0}function Mw(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{l=c[a+20>>2]|0;k=c[a+24>>2]|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{i=c[b>>2]|0;e=c[a>>2]|0;b=0;c:while(1){if((b|0)>=(e|0))break b;f=b+1|0;g=c[l+(f<<2)>>2]|0;b=c[l+(b<<2)>>2]|0;d=+(g-b|0);while(1){if((b|0)>=(g|0)){b=f;continue c}k=i+(b<<3)|0;h[k>>3]=+h[k>>3]/d;b=b+1|0}}}case 2:{f=c[b>>2]|0;g=c[a>>2]|0;b=0;d:while(1){if((b|0)>=(g|0))break b;i=b+1|0;j=c[l+(i<<2)>>2]|0;e=c[l+(b<<2)>>2]|0;d=+(j-e|0);while(1){if((e|0)>=(j|0)){b=i;continue d}if((c[k+(e<<2)>>2]|0)!=(b|0)){m=e<<1;n=f+(m<<3)|0;h[n>>3]=+h[n>>3]/d;m=f+((m|1)<<3)|0;h[m>>3]=+h[m>>3]/d}e=e+1|0}}}case 4:{Aa(138697,95244,2192,95949);break}case 8:break;default:{a=0;break a}}while(0)}while(0);return a|0}function Nw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((a|0)!=0?(b=a+8|0,d=c[b>>2]|0,e=c[a+4>>2]|0,(e|0)==(c[a>>2]|0)):0){g=c[a+24>>2]|0;a=c[a+20>>2]|0;f=ow(e,e,d,8,1)|0;B6(c[f+20>>2]|0,a|0,(e<<2)+4|0)|0;B6(c[f+24>>2]|0,g|0,d<<2|0)|0;c[f+8>>2]=c[b>>2];a=sw(f,1)|0;nw(f);a=yw(a)|0;e=a+8|0;d=IK(c[e>>2]<<3)|0;c[a+28>>2]=d;e=c[e>>2]|0;b=0;while(1){if((b|0)>=(e|0))break;h[d+(b<<3)>>3]=1.0;b=b+1|0}c[a+16>>2]=1;c[a+40>>2]=8}else a=0;return a|0}function Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;w=c[a+4>>2]|0;o=c[a>>2]|0;s=w<<2;t=IK(s)|0;u=IK(s+4|0)|0;v=IK(s)|0;s=IK(s)|0;p=u+4|0;a=0;while(1){if((a|0)>=(w|0))break;c[t+(a<<2)>>2]=0;a=a+1|0}c[p>>2]=w;a=0;while(1){if((a|0)>=(w|0)){h=1;l=0;break}c[v+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((l|0)>=(o|0))break;g=q+(l<<2)|0;m=l+1|0;n=q+(m<<2)|0;a=c[g>>2]|0;while(1){f=c[n>>2]|0;if((a|0)>=(f|0))break;k=p+(c[t+(c[r+(a<<2)>>2]<<2)>>2]<<2)|0;c[k>>2]=(c[k>>2]|0)+-1;a=a+1|0}a=h;k=c[g>>2]|0;while(1){if((k|0)>=(f|0)){h=a;l=m;continue a}j=r+(k<<2)|0;g=t+(c[j>>2]<<2)|0;i=c[g>>2]|0;h=v+(i<<2)|0;f=s+(i<<2)|0;if((c[h>>2]|0)<(l|0)){c[h>>2]=l;g=p+(i<<2)|0;if(!(c[g>>2]|0)){c[g>>2]=1;g=a;a=i}else{c[f>>2]=a;c[p+(a<<2)>>2]=1;g=a+1|0;f=t+(c[j>>2]<<2)|0}c[f>>2]=a;a=g}else{c[g>>2]=c[f>>2];j=p+(c[f>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1}k=k+1|0;f=c[n>>2]|0}}c[u>>2]=0;a=0;f=0;while(1){if((a|0)>=(h|0))break;q=a+1|0;p=u+(q<<2)|0;r=(c[p>>2]|0)+f|0;c[p>>2]=r;a=q;f=r}c[d>>2]=s;a=0;while(1){if((a|0)>=(w|0)){a=h;break}r=u+(c[t+(a<<2)>>2]<<2)|0;d=c[r>>2]|0;c[r>>2]=d+1;c[s+(d<<2)>>2]=a;a=a+1|0}while(1){if((a|0)<=0)break;w=a+-1|0;c[u+(a<<2)>>2]=c[u+(w<<2)>>2];a=w}c[u>>2]=0;c[e>>2]=u;c[b>>2]=h;l6(v);l6(t);return}function Pw(){return +(+(U4()|0)/2147483647.0)}function Qw(a){a=a|0;if((a|0)>1)return (U4()|0)%(a|0)|0|0;else Aa(95983,95989,58,95999);return 0}function Rw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a:do if((a|0)<1)b=0;else{b=IK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}while(1){if((a|0)<=1)break a;e=Qw(a)|0;d=a+-1|0;g=b+(d<<2)|0;f=c[g>>2]|0;e=b+(e<<2)|0;c[g>>2]=c[e>>2];c[e>>2]=f;a=d}}while(0);return b|0}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=0;while(1){if((d|0)>=(a|0))break;e=c+(d<<3)|0;h[e>>3]=+h[b+(d<<3)>>3]-+h[e>>3];d=d+1|0}return c|0}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(a|0))break;f=e+ +h[b+(d<<3)>>3]*+h[c+(d<<3)>>3];d=d+1|0;e=f}return +e}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=c+(e<<3)|0;h[f>>3]=+h[b+(e<<3)>>3]+ +h[f>>3]*d;e=e+1|0}return c|0}function Vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<3)|0;h[f>>3]=+h[f>>3]+ +h[c+(e<<3)>>3]*d;e=e+1|0}return b|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}g=+G(+e);return +(g>1.0e-15?g:1.0e-15)}function Xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}return +(+G(+e))}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;f=+h[a+(e<<3)>>3]-+h[b+(e<<3)>>3];d=d+f*f;e=e+1|0}return +(+G(+d))}function Zw(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0;p=l;l=l+80|0;n=p+48|0;m=p+24|0;o=p;i=0;while(1){if((i|0)>=(f|0)){j=0;break}q=+h[g+(i<<3)>>3];h[n+(i<<3)>>3]=q;h[m+(i<<3)>>3]=q;i=i+1|0}while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;s=+h[g+(i+k<<3)>>3];r=n+(i<<3)|0;q=+h[r>>3];h[r>>3]=s<q?s:q;r=m+(i<<3)|0;q=+h[r>>3];h[r>>3]=s>q?s:q;i=i+1|0}j=j+1|0}q=+h[m>>3]-+h[n>>3];c=q!=0.0?(c-a)/q:1.0;q=+h[m+8>>3]-+h[n+8>>3];s=(d-b)/q;c=q!=0.0?(c<s?c:s):c;h[o>>3]=a;h[o+8>>3]=b;h[o+16>>3]=0.0;j=0;while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;r=g+(i+k<<3)|0;h[r>>3]=+h[o+(i<<3)>>3]+c*(+h[r>>3]-+h[n+(i<<3)>>3]);i=i+1|0}j=j+1|0}l=p;return}function _w(a,b){a=a|0;b=b|0;if((qB(a)|0)==1){a=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{$w(a);if(!((bP(NA(b,96005)|0)|0)<<24>>24))b=Jy(a,186376)|0;else b=ax(a)|0;Sy(a,b,186376);bx(b)}return}function $w(a){a=a|0;var b=0;b=uC(c[c[(c[(gC(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46967]|0;if((b|0)!=(a|0)){c[46597]=0;c[46967]=b;c[46968]=DA(b,0,96014,0)|0;c[46969]=DA(c[46967]|0,1,96022,0)|0;c[46970]=DA(c[46967]|0,1,96039,0)|0;a=c[46967]|0}c[46971]=NA(a,96039)|0;Dy(186376);c[46596]=1;h[23301]=+YO(c[46967]|0,c[46968]|0,1.0,0.0);c[46598]=c[46969];c[46599]=c[46970];c[46600]=c[46971];return}function ax(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[46597]|0;c[46597]=b+1;c[e>>2]=b;i2(d,96535,e)|0;d=Ey(LD(a,d,1)|0)|0;e=d+8|0;b=gC(a)|0;while(1){if(!b)break;lC(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=hC(a,b)|0}l=f;return d|0}function bx(a){a=a|0;Ry(a);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=IK(32)|0;c[d>>2]=4;h[d+8>>3]=.75;c[d+16>>2]=1073741824;c[d+20>>2]=1;c[d+24>>2]=a;c[d+28>>2]=b;return d|0}function dx(a){a=a|0;l6(a);return}function ex(a){a=a|0;var b=0,d=0;if(!a)return;d=c[a+8>>2]|0;do if(d|0){if(c[a>>2]|0){nw(d);b=c[a+12>>2]|0;if(!b)break;nw(b);break}if(c[a+36>>2]|0?(nw(d),b=c[a+12>>2]|0,b|0):0)nw(b)}while(0);nw(c[a+16>>2]|0);nw(c[a+20>>2]|0);b=c[a+24>>2]|0;if(b|0?(c[a>>2]|0)>0:0)l6(b);ex(c[a+28>>2]|0);l6(a);return}function fx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0;v=l;l=l+32|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[n>>2]=a;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[i>>2]=0;c[j>>2]=0;c[b>>2]=0;c[g>>2]=0;c[e>>2]=0;s=k+28|0;t=k+8|0;u=+(c[a+4>>2]|0);f=d;do{gx(a,n,f,o,0,r,p,q,k,m);f=c[n>>2]|0;if(!f)break;d=c[f+4>>2]|0;f=c[i>>2]|0;a=c[p>>2]|0;if(!f){c[i>>2]=a;c[j>>2]=c[q>>2]}else{a=Iw(f,a)|0;nw(c[i>>2]|0);nw(c[p>>2]|0);c[i>>2]=a;a=Iw(c[q>>2]|0,c[j>>2]|0)|0;nw(c[j>>2]|0);nw(c[q>>2]|0);c[j>>2]=a}f=c[b>>2]|0;if(f|0)nw(f);c[b>>2]=c[n>>2];f=c[e>>2]|0;if(f|0)nw(f);f=c[o>>2]|0;c[e>>2]=f;a=c[g>>2]|0;if(a){l6(a);f=c[o>>2]|0}c[g>>2]=c[r>>2];a=c[n>>2]|0;c[r>>2]=0;if(!(+(d|0)>u*+h[t>>3]))break}while((c[s>>2]|0)==1);l=v;return}function gx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+32|0;E=I+28|0;p=I+24|0;C=I+20|0;F=I+16|0;s=I+12|0;G=I+8|0;H=I+4|0;n=I;c[E>>2]=0;c[p>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[b>>2]=0;c[e>>2]=0;c[i>>2]=0;c[j>>2]=0;D=c[a>>2]|0;o=k+24|0;c[m>>2]=c[o>>2];q=c[o>>2]|0;v=k+8|0;t=D<<2;x=k+28|0;r=k+20|0;w=+(D|0);a:do switch(q|0){case 12:{c[o>>2]=3;c[m>>2]=3;gx(a,b,d,e,f,g,i,j,k,m);if((((c[b>>2]|0)==0?(c[o>>2]=4,c[m>>2]=4,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=6,c[m>>2]=6,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=9,c[m>>2]=9,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0){c[o>>2]=2;c[m>>2]=2;gx(a,b,d,e,f,g,i,j,k,m)}c[o>>2]=12;p=0;q=0;r=0;o=0;n=0;m=0;break}case 3:case 6:case 4:{d=c[r>>2]|0;switch(q|0){case 3:{hx(a,d,G,H,n);break}case 4:{ix(a,d,G,H,n);break}default:jx(a,G,H,n)}u=c[n>>2]|0;if(!(c[x>>2]|0)){if((u|0)==(D|0)?1:+(u|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((u|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((u|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;v=IK(D<<3)|0;c[C>>2]=0;o=c[H>>2]|0;p=c[G>>2]|0;n=0;d=0;b:while(1){if((n|0)>=(u|0))break;q=n+1|0;r=o+(q<<2)|0;m=c[o+(n<<2)>>2]|0;while(1){if((m|0)>=(c[r>>2]|0)){n=q;continue b}c[s+(d<<2)>>2]=c[p+(m<<2)>>2];c[t+(c[C>>2]<<2)>>2]=n;z=c[C>>2]|0;A=z+1|0;c[C>>2]=A;h[v+(z<<3)>>3]=1.0;m=m+1|0;d=A}}D=Aw(d,D,u,s,t,v,1,8)|0;c[i>>2]=D;c[j>>2]=mw(D)|0;c[e>>2]=0;i=Jw(c[j>>2]|0,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=v;q=t;r=s;o=s;n=t;m=v}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;p=v;q=t;r=s;o=s;n=t;m=v}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}case 1:{kx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;if((d|0)==2)B=24;else B=25;break}case 2:{B=24;break}case 5:{B=26;break}case 10:case 9:{d=c[r>>2]|0;if((q|0)==9)nx(a,d,F,s,C);else ox(a,d,F,s,C);z=c[a+20>>2]|0;A=c[a+24>>2]|0;y=c[s>>2]|0;if(!(c[x>>2]|0)){if((y|0)==(D|0)?1:+(y|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((y|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((y|0)>=(c[k>>2]|0)){x=c[C>>2]|0;v=x<<2;u=IK(v)|0;v=IK(v)|0;x=IK(x<<3)|0;c[C>>2]=0;s=c[F>>2]|0;r=0;o=0;c:while(1){if((r|0)>=(D|0))break;d=s+(r<<2)|0;t=r+1|0;if((c[d>>2]|0)!=-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[d>>2];q=c[C>>2]|0;k=q+1|0;c[C>>2]=k;h[x+(q<<3)>>3]=1.0;r=t;o=k;continue}n=c[z+(r<<2)>>2]|0;q=z+(t<<2)|0;p=c[q>>2]|0;d=0;m=n;while(1){if((m|0)>=(p|0))break;d=((c[s+(c[A+(m<<2)>>2]<<2)>>2]|0)>>>31^1)+d|0;m=m+1|0}w=1.0/+(d|0);d=p;while(1){if((n|0)>=(d|0)){r=t;continue c}m=A+(n<<2)|0;if((c[s+(c[m>>2]<<2)>>2]|0)>-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[s+(c[m>>2]<<2)>>2];d=c[C>>2]|0;m=d+1|0;c[C>>2]=m;h[x+(d<<3)>>3]=w;d=c[q>>2]|0}else m=o;n=n+1|0;o=m}}D=Aw(o,D,y,u,v,x,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=x;q=v;r=u;o=u;n=v;m=x}else{Gw(c[j>>2]|0,f,g,0);p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=x;q=v;r=u;o=u;n=v;m=x}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}default:{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);if((B|0)==24){lx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;B=25}if((B|0)==25)if((d|0)==5)B=26;else B=27;if((B|0)==26){mx(a,c[r>>2]|0,E,p);B=27}do if((B|0)==27){d=c[p>>2]|0;if(!(c[x>>2]|0)){if((d|0)==(D|0)?1:+(d|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break}}else if((d|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break}if((d|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;u=IK(D<<3)|0;c[C>>2]=0;q=c[E>>2]|0;d=0;p=0;while(1){if((p|0)>=(D|0))break;m=q+(p<<2)|0;n=c[m>>2]|0;if((n|0)>-1){c[s+(c[C>>2]<<2)>>2]=p;c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;o=B+1|0;c[C>>2]=o;h[u+(B<<3)>>3]=1.0;if((n|0)!=(p|0)){c[s+(o<<2)>>2]=c[m>>2];c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;c[C>>2]=B+1;h[u+(B<<3)>>3]=1.0;c[q+(c[m>>2]<<2)>>2]=-1}c[m>>2]=-1;d=d+1|0}p=p+1|0}D=Aw(c[C>>2]|0,D,d,s,t,u,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=u;q=t;r=s;o=s;n=t;m=u}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=u;q=t;r=s;o=s;n=t;m=u}}else{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);d=c[E>>2]|0;if(d|0)l6(d);d=c[F>>2]|0;if(d|0)l6(d);if(r|0)l6(o);if(q|0)l6(n);if(p|0)l6(m);d=c[G>>2]|0;if(d|0)l6(d);d=c[H>>2]|0;if(d|0)l6(d);l=I;return}function hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;v=w<<2;c[d>>2]=IK(v)|0;c[e>>2]=IK(v+4|0)|0;v=IK(v)|0;g=0;while(1){if((g|0)>=(w|0))break;c[v+(g<<2)>>2]=g;g=g+1|0}c[f>>2]=0;r=c[e>>2]|0;c[r>>2]=0;s=c[a+28>>2]|0;a:do if(!b){g=0;a=0;b:while(1){while(1){if((a|0)>=(w|0)){b=0;j=0.0;a=0;break b}b=a;a=a+1|0;if((c[v+(b<<2)>>2]|0)==-1)continue;b=c[t+(b<<2)>>2]|0;if(((c[t+(a<<2)>>2]|0)-b|0)==1)break}l=c[u+(b<<2)>>2]|0;c[v+(l<<2)>>2]=-1;m=c[d>>2]|0;c[m+(g<<2)>>2]=l;n=t+(l+1<<2)|0;k=c[t+(l<<2)>>2]|0;g=g+1|0;while(1){if((k|0)>=(c[n>>2]|0))break;b=u+(k<<2)|0;i=c[b>>2]|0;if((l|0)!=(i|0)?((c[t+(i+1<<2)>>2]|0)-(c[t+(i<<2)>>2]|0)|0)==1:0){c[v+(i<<2)>>2]=-1;c[m+(g<<2)>>2]=c[b>>2];g=g+1|0}k=k+1|0}i=c[f>>2]|0;b=c[r+(i<<2)>>2]|0;i=i+1|0;c[f>>2]=i;i=r+(i<<2)|0;if((g-b|0)<5){c[i>>2]=g;continue}e=b+1|0;c[i>>2]=e;b=e;i=e;while(1){if(!((i|0)<(g|0)&(b|0)<(g|0)))continue b;e=i+3|0;e=(g|0)<(e|0)?g:e;q=(c[f>>2]|0)+1|0;c[f>>2]=q;c[r+(q<<2)>>2]=e;b=b+1|0;i=e}}c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}n=v+(a<<2)|0;q=a+1|0;if((c[n>>2]|0)==-1)a=q;else break}p=c[t+(q<<2)>>2]|0;l=1;m=c[t+(a<<2)>>2]|0;while(1){i=(l|0)!=0;if((m|0)>=(p|0))break;k=c[u+(m<<2)>>2]|0;if((a|0)!=(k|0)?(c[v+(k<<2)>>2]|0)!=-1:0){o=+h[s+(m<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;b=k;j=o}}else i=l;l=i;m=m+1|0}if(i)a=q;else break}c[v+(b<<2)>>2]=-1;c[n>>2]=-1;p=c[d>>2]|0;c[p+(g<<2)>>2]=a;e=g+2|0;c[p+(g+1<<2)>>2]=b;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[r+(a<<2)>>2]=e;a=q;g=e}while(1){if((a|0)>=(w|0))break a;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[r+(g<<2)>>2]=u;g=u}a=a+1|0}}else{r=Rw(w)|0;n=0;g=0;while(1){if((n|0)>=(w|0)){q=0;a=0;j=0.0;break}a=c[r+(n<<2)>>2]|0;d:do if((c[v+(a<<2)>>2]|0)!=-1?(p=c[t+(a<<2)>>2]|0,((c[t+(a+1<<2)>>2]|0)-p|0)==1):0){k=c[u+(p<<2)>>2]|0;c[v+(k<<2)>>2]=-1;l=c[d>>2]|0;c[l+(g<<2)>>2]=k;m=t+(k+1<<2)|0;i=c[t+(k<<2)>>2]|0;g=g+1|0;while(1){if((i|0)>=(c[m>>2]|0))break;a=u+(i<<2)|0;b=c[a>>2]|0;if((k|0)!=(b|0)?((c[t+(b+1<<2)>>2]|0)-(c[t+(b<<2)>>2]|0)|0)==1:0){c[v+(b<<2)>>2]=-1;c[l+(g<<2)>>2]=c[a>>2];g=g+1|0}i=i+1|0}i=c[e>>2]|0;q=c[f>>2]|0;a=c[i+(q<<2)>>2]|0;q=q+1|0;b=i+(q<<2)|0;c[f>>2]=q;if((g-a|0)<5){c[b>>2]=g;break}q=a+1|0;c[b>>2]=q;a=q;b=q;while(1){if(!((b|0)<(g|0)&(a|0)<(g|0)))break d;q=b+3|0;q=(g|0)<(q|0)?g:q;m=(c[f>>2]|0)+1|0;c[f>>2]=m;c[i+(m<<2)>>2]=q;a=a+1|0;b=q}}while(0);n=n+1|0}while(1){if((q|0)>=(w|0)){a=0;break}m=c[r+(q<<2)>>2]|0;n=v+(m<<2)|0;if((c[n>>2]|0)!=-1){p=c[t+(m+1<<2)>>2]|0;k=1;l=c[t+(m<<2)>>2]|0;while(1){b=(k|0)!=0;if((l|0)>=(p|0))break;i=c[u+(l<<2)>>2]|0;if((m|0)!=(i|0)?(c[v+(i<<2)>>2]|0)!=-1:0){o=+h[s+(l<<3)>>3];if(!b?!(o>j):0)b=0;else{b=0;a=i;j=o}}else b=k;k=b;l=l+1|0}if(!b){c[v+(a<<2)>>2]=-1;c[n>>2]=-1;n=c[d>>2]|0;c[n+(g<<2)>>2]=m;p=g+2|0;c[n+(g+1<<2)>>2]=a;n=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[n+(g<<2)>>2]=p;g=p}}q=q+1|0}while(1){if((a|0)>=(w|0))break;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;t=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[t+(g<<2)>>2]=u;g=u}a=a+1|0}l6(r)}while(0);l6(v);return}function ix(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;q=A+8|0;y=A+4|0;z=A;c[y>>2]=0;c[z>>2]=0;v=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;x=w<<2;c[d>>2]=IK(x)|0;c[e>>2]=IK(x+4|0)|0;x=IK(x)|0;g=0;while(1){if((g|0)>=(w|0))break;c[x+(g<<2)>>2]=g;g=g+1|0}Ow(a,q,y,z);c[f>>2]=0;s=c[e>>2]|0;c[s>>2]=0;t=c[a+28>>2]|0;g=0;a=0;a:while(1){k=c[q>>2]|0;m=c[z>>2]|0;do{if((a|0)>=(k|0))break a;n=a;a=a+1|0;p=m+(a<<2)|0;i=c[p>>2]|0;n=c[m+(n<<2)>>2]|0}while((i-n|0)<2);m=c[y>>2]|0;k=c[s+(c[f>>2]<<2)>>2]|0;while(1){if((n|0)>=(i|0))break;r=m+(n<<2)|0;c[x+(c[r>>2]<<2)>>2]=-1;i=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=c[r>>2];if((i-k|0)>3){g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=i;g=i}else g=k;k=g;n=n+1|0;g=i;i=c[p>>2]|0}if((g|0)<=(k|0))continue;r=(c[f>>2]|0)+1|0;c[f>>2]=r;c[s+(r<<2)>>2]=g}b:do if(!b){i=0;j=0.0;a=0;c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}b=x+(a<<2)|0;r=a+1|0;if((c[b>>2]|0)==-1)a=r;else break}q=c[v+(r<<2)>>2]|0;n=1;p=c[v+(a<<2)>>2]|0;while(1){k=(n|0)!=0;if((p|0)>=(q|0))break;m=c[u+(p<<2)>>2]|0;if((a|0)!=(m|0)?(c[x+(m<<2)>>2]|0)!=-1:0){o=+h[t+(p<<3)>>3];if(!k?!(o>j):0)k=0;else{k=0;i=m;j=o}}else k=n;n=k;p=p+1|0}if(k)a=r;else break}c[x+(i<<2)>>2]=-1;c[b>>2]=-1;q=c[d>>2]|0;c[q+(g<<2)>>2]=a;e=g+2|0;c[q+(g+1<<2)>>2]=i;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[s+(a<<2)>>2]=e;a=r;g=e}while(1){if((a|0)>=(w|0))break b;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=v;g=v}a=a+1|0}}else{s=Rw(w)|0;r=0;a=0;j=0.0;while(1){if((r|0)>=(w|0)){a=0;break}p=c[s+(r<<2)>>2]|0;b=x+(p<<2)|0;if((c[b>>2]|0)!=-1){q=c[v+(p+1<<2)>>2]|0;m=1;n=c[v+(p<<2)>>2]|0;while(1){i=(m|0)!=0;if((n|0)>=(q|0))break;k=c[u+(n<<2)>>2]|0;if((p|0)!=(k|0)?(c[x+(k<<2)>>2]|0)!=-1:0){o=+h[t+(n<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;a=k;j=o}}else i=m;m=i;n=n+1|0}if(!i){c[x+(a<<2)>>2]=-1;c[b>>2]=-1;b=c[d>>2]|0;c[b+(g<<2)>>2]=p;q=g+2|0;c[b+(g+1<<2)>>2]=a;b=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[b+(g<<2)>>2]=q;g=q}}r=r+1|0}while(1){if((a|0)>=(w|0))break;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;u=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[u+(g<<2)>>2]=v;g=v}a=a+1|0}l6(s)}while(0);l6(c[y>>2]|0);l6(c[z>>2]|0);l6(x);l=A;return}function jx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=c[a+20>>2]|0;s=c[a+24>>2]|0;v=c[a>>2]|0;u=v<<2;c[b>>2]=IK(u)|0;c[d>>2]=IK(u+4|0)|0;u=IK(u)|0;q=IK(v<<4)|0;f=0;while(1){if((f|0)>=(v|0))break;c[u+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=0;c[c[d>>2]>>2]=0;o=c[a+28>>2]|0;t=Rw(v)|0;f=0;m=0;while(1){if((m|0)>=(v|0)){m=0;break}a=c[t+(m<<2)>>2]|0;a:do if((c[u+(a<<2)>>2]|0)!=-1?(n=c[r+(a<<2)>>2]|0,((c[r+(a+1<<2)>>2]|0)-n|0)==1):0){j=c[s+(n<<2)>>2]|0;c[u+(j<<2)>>2]=-1;k=c[b>>2]|0;c[k+(f<<2)>>2]=j;l=r+(j+1<<2)|0;i=c[r+(j<<2)>>2]|0;f=f+1|0;while(1){if((i|0)>=(c[l>>2]|0))break;a=s+(i<<2)|0;g=c[a>>2]|0;if((j|0)!=(g|0)?((c[r+(g+1<<2)>>2]|0)-(c[r+(g<<2)>>2]|0)|0)==1:0){c[u+(g<<2)>>2]=-1;c[k+(f<<2)>>2]=c[a>>2];f=f+1|0}i=i+1|0}i=c[d>>2]|0;l=c[e>>2]|0;a=c[i+(l<<2)>>2]|0;l=l+1|0;g=i+(l<<2)|0;c[e>>2]=l;if((f-a|0)<5){c[g>>2]=f;break}l=a+1|0;c[g>>2]=l;a=l;g=l;while(1){if(!((g|0)<(f|0)&(a|0)<(f|0)))break a;l=g+3|0;l=(f|0)<(l|0)?f:l;k=(c[e>>2]|0)+1|0;c[e>>2]=k;c[i+(k<<2)>>2]=l;a=a+1|0;g=l}}while(0);m=m+1|0}while(1){if((m|0)>=(v|0)){a=0;break}k=c[t+(m<<2)>>2]|0;l=u+(k<<2)|0;if((c[l>>2]|0)!=-1){j=c[r+(k+1<<2)>>2]|0;a=0;i=c[r+(k<<2)>>2]|0;while(1){if((i|0)>=(j|0))break;g=c[s+(i<<2)>>2]|0;if((k|0)!=(g|0)?(p=a<<1,(c[u+(g<<2)>>2]|0)!=-1):0){h[q+(p<<3)>>3]=+(g|0);h[q+((p|1)<<3)>>3]=+h[o+(i<<3)>>3];a=a+1|0}i=i+1|0}if((a|0)>0){k3(q,a,16,81);i=(a|0)<3?a:3;j=c[b>>2]|0;g=0;while(1){a=f+1|0;f=j+(f<<2)|0;if((g|0)>=(i|0))break;n=~~+h[q+(g<<1<<3)>>3];c[u+(n<<2)>>2]=-1;c[f>>2]=n;g=g+1|0;f=a}c[l>>2]=-1;c[f>>2]=k;n=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[n+(f<<2)>>2]=a;f=a}}m=m+1|0}while(1){if((a|0)>=(v|0))break;if((c[u+(a<<2)>>2]|0)==(a|0)){s=f+1|0;c[(c[b>>2]|0)+(f<<2)>>2]=a;r=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[r+(f<<2)>>2]=s;f=s}a=a+1|0}l6(t);l6(u);return}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;r=c[a>>2]|0;f=c[a+4>>2]|0;k=IK(r<<2)|0;c[d>>2]=k;a=0;while(1){if((a|0)>=(r|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}c[e>>2]=f;a:do if(!b){f=0;b:while(1){if((f|0)>=(r|0))break a;b=f+1|0;g=p+(b<<2)|0;h=k+(f<<2)|0;a=c[p+(f<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0)){f=b;continue b}i=q+(a<<2)|0;j=c[i>>2]|0;if(((f|0)!=(j|0)?(l=k+(j<<2)|0,(c[l>>2]|0)==(j|0)):0)?(c[h>>2]|0)==(f|0):0){c[l>>2]=f;c[h>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}a=a+1|0}}}else{b=Rw(r)|0;a=0;while(1){if((a|0)>=(r|0))break;g=c[b+(a<<2)>>2]|0;h=p+(g+1<<2)|0;f=c[p+(g<<2)>>2]|0;while(1){if((f|0)>=(c[h>>2]|0))break;i=q+(f<<2)|0;j=c[i>>2]|0;if(((g|0)!=(j|0)?(m=c[d>>2]|0,n=m+(j<<2)|0,(c[n>>2]|0)==(j|0)):0)?(o=m+(g<<2)|0,(c[o>>2]|0)==(g|0)):0){c[n>>2]=g;c[o>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}f=f+1|0}a=a+1|0}l6(b)}while(0);return}function lx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[a>>2]|0;g=c[a+4>>2]|0;p=IK(u<<2)|0;c[d>>2]=p;f=0;while(1){if((f|0)>=(u|0))break;c[p+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;r=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(u|0))break a;m=l+1|0;n=c[s+(m<<2)>>2]|0;o=p+(l<<2)|0;b=1;k=c[s+(l<<2)>>2]|0;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[t+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[p+(g<<2)>>2]|0)==(g|0):0)?(c[o>>2]|0)==(l|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[p+(f<<2)>>2]=l;c[p+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{q=Rw(u)|0;p=0;f=0;i=0.0;while(1){if((p|0)>=(u|0))break;l=c[q+(p<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){o=c[s+(l+1<<2)>>2]|0;k=c[s+(l<<2)>>2]|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(o|0))break;g=c[t+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}p=p+1|0}l6(q)}while(0);return}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;v=c[a>>2]|0;g=c[a+4>>2]|0;q=IK(v<<2)|0;c[d>>2]=q;f=0;while(1){if((f|0)>=(v|0))break;c[q+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;s=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(v|0))break a;k=c[t+(l<<2)>>2]|0;m=l+1|0;n=c[t+(m<<2)>>2]|0;o=+(n-k|0);p=q+(l<<2)|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[u+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[q+(g<<2)>>2]|0)==(g|0):0)?(c[p>>2]|0)==(l|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[q+(f<<2)>>2]=l;c[q+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{r=Rw(v)|0;q=0;f=0;i=0.0;while(1){if((q|0)>=(v|0))break;l=c[r+(q<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){k=c[t+(l<<2)>>2]|0;p=c[t+(l+1<<2)>>2]|0;o=+(p-k|0);b=1;while(1){a=(b|0)!=0;if((k|0)>=(p|0))break;g=c[u+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}q=q+1|0}l6(r)}while(0);return}function nx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[a+20>>2]|0;n=c[a+24>>2]|0;l=c[a>>2]|0;j=IK(l<<2)|0;c[d>>2]=j;a=0;while(1){if((a|0)>=(l|0))break;c[j+(a<<2)>>2]=-100;a=a+1|0}c[e>>2]=0;c[f>>2]=0;a:do if(!b){h=0;b:while(1){if((h|0)>=(l|0))break a;a=j+(h<<2)|0;i=h+1|0;if((c[a>>2]|0)!=-100){h=i;continue}b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(i<<2)|0;a=c[m+(h<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0)){h=i;continue b}g=c[n+(a<<2)>>2]|0;if((h|0)!=(g|0)){c[j+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}}else{i=Rw(l)|0;h=0;while(1){if((h|0)>=(l|0))break;j=c[i+(h<<2)>>2]|0;k=c[d>>2]|0;a=k+(j<<2)|0;c:do if((c[a>>2]|0)==-100){b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(j+1<<2)|0;a=c[m+(j<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0))break c;g=c[n+(a<<2)>>2]|0;if((j|0)!=(g|0)){c[k+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}while(0);h=h+1|0}l6(i)}while(0);c[f>>2]=(c[f>>2]|0)+(c[e>>2]|0);return}function ox(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+4|0;o=q;p=c[a+20>>2]|0;m=c[a+24>>2]|0;h=c[a>>2]|0;a=IK(h<<2)|0;c[d>>2]=a;g=0;while(1){c[n>>2]=g;if((g|0)>=(h|0))break;c[a+(g<<2)>>2]=-100;g=(c[n>>2]|0)+1|0}c[e>>2]=0;c[f>>2]=0;k=ux(h,(h<<1)+-2|0)|0;a:do if(!b){a=0;while(1){c[n>>2]=a;if((a|0)>=(h|0))break a;j=a+1|0;wx(k,a,(c[p+(j<<2)>>2]|0)-(c[p+(a<<2)>>2]|0)|0)|0;a=j}}else{g=Rw(h)|0;a=0;while(1){if((a|0)>=(h|0))break;j=c[g+(a<<2)>>2]|0;c[n>>2]=j;wx(k,j,(c[p+(j+1<<2)>>2]|0)-(c[p+(j<<2)>>2]|0)|0)|0;a=a+1|0}l6(g)}while(0);b:while(1){j=(xx(k,n,o)|0)==0;a=c[e>>2]|0;if(j)break;c[e>>2]=a+1;c[(c[d>>2]|0)+(c[n>>2]<<2)>>2]=a;a=c[n>>2]|0;j=c[p+(a<<2)>>2]|0;while(1){if((j|0)>=(c[p+(a+1<<2)>>2]|0))continue b;i=c[m+(j<<2)>>2]|0;if((a|0)!=(i|0)){c:do if((c[(c[d>>2]|0)+(i<<2)>>2]|0)==-100){zx(k,i)|0;c[(c[d>>2]|0)+(i<<2)>>2]=-1;g=p+(i+1<<2)|0;a=c[p+(i<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0))break c;b=m+(a<<2)|0;h=c[b>>2]|0;if((i|0)!=(h|0)?(c[(c[d>>2]|0)+(h<<2)>>2]|0)==-100:0){h=yx(k,h)|0;c[o>>2]=h;wx(k,c[b>>2]|0,h+1|0)|0}a=a+1|0}}while(0);c[f>>2]=(c[f>>2]|0)+1;a=c[n>>2]|0}j=j+1|0}}c[f>>2]=(c[f>>2]|0)+a;vx(k);l=q;return}function px(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[b+8>>3];return (d>c?-1:d<c&1)|0}function qx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((tw(a,0)|0)!=0?(c[a+16>>2]|0)==1:0)f=a;else f=Nw(a)|0;do if(!b)b=0;else{if(tw(b,0)|0?(c[b+16>>2]|0)==1:0)break;b=xw(b,0)|0}while(0);d=rx(f,b,d)|0;b=sx(d,e)|0;if((f|0)!=(a|0))c[d+36>>2]=1;return b|0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!a)a=0;else{e=IK(44)|0;c[e>>2]=0;c[e+4>>2]=c[a+4>>2];c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=d;c[e+28>>2]=0;c[e+32>>2]=0;c[e+36>>2]=0;a=e}return a|0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=0;if((c[a>>2]|0)<((c[b+16>>2]|0)+-1|0)?(fx(c[a+8>>2]|0,i,c[a+12>>2]|0,j,0,f,g,h,b,e),d=c[i>>2]|0,d|0):0){i=c[j>>2]|0;j=rx(d,i,c[f>>2]|0)|0;c[a+28>>2]=j;c[j+40>>2]=c[e>>2];c[j>>2]=(c[a>>2]|0)+1;c[j+4>>2]=c[d>>2];c[j+8>>2]=d;c[j+12>>2]=i;c[j+16>>2]=c[g>>2];c[a+20>>2]=c[h>>2];c[j+32>>2]=a;sx(j,b)|0}l=k;return a|0}function tx(a){a=a|0;var b=0;while(1){b=c[a+28>>2]|0;if(!b)break;else a=b}return a|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=IK(28)|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=-1;e=f+16|0;c[e>>2]=IK((b<<2)+4|0)|0;d=0;while(1){if((d|0)>(b|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=(a<<2)+4|0;e=f+20|0;c[e>>2]=IK(b)|0;d=0;while(1){if((d|0)>(a|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=IK(b)|0;c[f+24>>2]=b;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=-999;d=d+1|0}return f|0}function vx(a){a=a|0;var b=0,d=0,e=0,f=0;if(a|0){e=a+16|0;b=c[e>>2]|0;if(b|0){f=a+8|0;d=0;while(1){if((d|0)>(c[f>>2]|0))break;zy(c[b+(d<<2)>>2]|0,105);d=d+1|0;b=c[e>>2]|0}l6(b)}b=c[a+20>>2]|0;if(b|0)l6(b);l6(c[a+24>>2]|0);l6(a)}return}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+8|0;l=a+20|0;i=a+24|0;m=a+16|0;if(!a)Aa(139256,96044,69,96060);while(1){if((c[h>>2]|0)<(d|0)){j=4;break}e=(c[l>>2]|0)+(b<<2)|0;f=c[e>>2]|0;g=c[a>>2]|0;k=(c[i>>2]|0)+(b<<2)|0;if(!f)break;n=c[k>>2]|0;c[e>>2]=0;c[a>>2]=g+-1;Cy(f,105,(c[m>>2]|0)+(n<<2)|0)}if((j|0)==4)Aa(96079,96044,70,96060);c[a>>2]=g+1;e=a+12|0;if((c[e>>2]|0)<(d|0))c[e>>2]=d;c[k>>2]=d;e=IK(4)|0;c[e>>2]=b;f=c[(c[m>>2]|0)+(d<<2)>>2]|0;if(!f)e=yy(e)|0;else e=Ay(f,e)|0;c[(c[l>>2]|0)+(b<<2)>>2]=e;c[(c[m>>2]|0)+(d<<2)>>2]=e;return a|0}function xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)!=0?(c[a>>2]|0)>=1:0){f=a+12|0;e=c[f>>2]|0;c[d>>2]=e;c[a>>2]=(c[a>>2]|0)+-1;d=a+16|0;g=c[(c[d>>2]|0)+(e<<2)>>2]|0;c[b>>2]=c[(By(g)|0)>>2];Cy(g,105,(c[d>>2]|0)+(e<<2)|0);d=c[d>>2]|0;if(!(c[d+(e<<2)>>2]|0)){while(1){if((e|0)<=-1)break;if(c[d+(e<<2)>>2]|0)break;e=e+-1|0}c[f>>2]=e}e=c[b>>2]|0;c[(c[a+20>>2]|0)+(e<<2)>>2]=0;c[(c[a+24>>2]|0)+(e<<2)>>2]=-999;e=1}else e=0;return e|0}function yx(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b<<2)>>2]|0}function zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)>=1):0){h=a+24|0;d=c[(c[h>>2]|0)+(b<<2)>>2]|0;c[a>>2]=e+-1;f=a+20|0;e=a+16|0;Cy(c[(c[f>>2]|0)+(b<<2)>>2]|0,105,(c[e>>2]|0)+(d<<2)|0);a=a+12|0;if((d|0)==(c[a>>2]|0)?(g=c[e>>2]|0,(c[g+(d<<2)>>2]|0)==0):0){while(1){if((d|0)<=-1)break;if(c[g+(d<<2)>>2]|0)break;d=d+-1|0}c[a>>2]=d}c[(c[f>>2]|0)+(b<<2)>>2]=0;c[(c[h>>2]|0)+(b<<2)>>2]=-999;d=1}else d=0;return d|0}function Ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!(tw(a,0)|0))Aa(96096,96132,260,96147);w=uw(a)|0;x=c[w+20>>2]|0;y=c[w+24>>2]|0;a=w+16|0;e=w+28|0;if((c[a>>2]|0)==1)v=c[e>>2]|0;else{l6(c[e>>2]|0);c[a>>2]=1;v=IK(c[w+8>>2]<<3)|0;c[e>>2]=v}r=IK(c[w>>2]<<2)|0;a=0;while(1){e=c[w>>2]|0;if((a|0)>=(e|0)){q=0;a=e;break}c[r+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((q|0)>=(a|0)){g=0.0;k=0.0;f=0;u=0;t=a;break}p=q+1|0;i=x+(p<<2)|0;m=x+(q<<2)|0;j=(c[i>>2]|0)-(c[m>>2]|0)|0;c[r+(q<<2)>>2]=q;e=c[m>>2]|0;while(1){o=c[i>>2]|0;if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0))c[r+(a<<2)>>2]=q;e=e+1|0}n=+(j|0);e=c[m>>2]|0;while(1){if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0)){i=c[x+(a+1<<2)>>2]|0;a=c[x+(a<<2)>>2]|0;l=n+ +(i-a|0);while(1){if((a|0)>=(i|0))break;l=(c[r+(c[y+(a<<2)>>2]<<2)>>2]|0)==(q|0)?l+-1.0:l;a=a+1|0}h[v+(e<<3)>>3]=l;if(!(l>0.0)){s=23;break a}}e=e+1|0}q=p;a=c[w>>2]|0}if((s|0)==23)Aa(96169,96132,290,96147);while(1){if((u|0)>=(t|0))break;i=u+1|0;j=x+(i<<2)|0;e=c[x+(u<<2)>>2]|0;while(1){if((e|0)>=(c[j>>2]|0))break;a=c[y+(e<<2)>>2]|0;if((u|0)==(a|0))a=f;else{k=k+ +Xw(d,b,u,a);g=g+ +h[v+(e<<3)>>3];a=f+1|0}f=a;e=e+1|0}u=i;t=c[w>>2]|0}n=+(f|0);g=k/n/(g/n);a=0;b:while(1){if((a|0)>=(t|0))break;i=a+1|0;j=c[x+(i<<2)>>2]|0;e=c[x+(a<<2)>>2]|0;while(1){if((e|0)>=(j|0)){a=i;continue b}f=v+(e<<3)|0;if((a|0)!=(c[y+(e<<2)>>2]|0))h[f>>3]=g*+h[f>>3];e=e+1|0}}return w|0}function Bx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0;N=c[a>>2]|0;O=c[a+20>>2]|0;P=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,333,96177);Q=Ax(a,b,e)|0;R=IK(56)|0;S=R+32|0;h[S>>3]=1.0;c[R+20>>2]=0;c[R+24>>2]=0;h[R+40>>3]=.01;c[R+48>>2]=~~+G(+(+(c[a>>2]|0)));g=N<<3;K=IK(g)|0;c[R+12>>2]=K;a=0;while(1){if((a|0)>=(N|0))break;h[K+(a<<3)>>3]=d;a=a+1|0}L=IK(N<<2)|0;J=IK(g)|0;j=0;while(1){if((j|0)>=(N|0)){n=0;break}k=J+(j<<3)|0;h[k>>3]=0.0;l=j+1|0;m=O+(l<<2)|0;i=c[O+(j<<2)>>2]|0;a=0;d=0.0;while(1){if((i|0)>=(c[m>>2]|0))break;g=c[P+(i<<2)>>2]|0;if((j|0)!=(g|0)){d=+Xw(e,b,j,g);d=d+ +h[k>>3];h[k>>3]=d;a=a+1|0}i=i+1|0}if((a|0)<=0){o=14;break}h[k>>3]=d/+(a|0);j=l}if((o|0)==14)Aa(96209,96132,358,96177);while(1){if((n|0)>=(N|0)){a=0;l=0;break}c[L+(n<<2)>>2]=-1;n=n+1|0}a:while(1){if((l|0)>=(N|0))break;c[L+(l<<2)>>2]=l;j=O+(l<<2)|0;m=l+1|0;n=O+(m<<2)|0;i=c[j>>2]|0;while(1){g=c[n>>2]|0;if((i|0)>=(g|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=c[j>>2]|0;while(1){if((k|0)>=(g|0)){l=m;continue a}i=c[P+(k<<2)>>2]|0;j=O+(i+1<<2)|0;i=c[O+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=k+1|0;g=c[n>>2]|0}}g=a+N|0;F=R+4|0;c[F>>2]=ow(N,N,g,1,1)|0;g=ow(N,N,g,1,1)|0;I=R+8|0;c[I>>2]=g;a=c[F>>2]|0;do if(!((g|0)==0|(a|0)==0)){D=c[a+20>>2]|0;C=c[a+24>>2]|0;A=c[a+28>>2]|0;E=c[g+28>>2]|0;B=c[g+20>>2]|0;x=c[g+24>>2]|0;c[B>>2]=0;c[D>>2]=0;y=(f|0)==0;z=(f|0)==2;f=(f|0)==1;d=0.0;p=0.0;o=0;i=0;b:while(1){if((o|0)>=(N|0)){o=62;break}t=o+N|0;c[L+(o<<2)>>2]=t;k=O+(o<<2)|0;u=o+1|0;v=O+(u<<2)|0;w=J+(o<<3)|0;q=0.0;r=0.0;j=c[k>>2]|0;while(1){a=c[v>>2]|0;if((j|0)>=(a|0))break;g=c[P+(j<<2)>>2]|0;a=L+(g<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;c[C+(i<<2)>>2]=g;do if(y)s=1.0;else{if(f){s=(+h[w>>3]+ +h[J+(g<<3)>>3])*.5;break}if(!z){o=44;break b}s=+H(+(+Ww(e,b,o,g)),.4)}while(0);U=-1.0/(s*s);h[A+(i<<3)>>3]=U;c[x+(i<<2)>>2]=g;T=s*U;n=E+(i<<3)|0;h[n>>3]=T;p=p+T*+Xw(e,b,o,g);T=+h[n>>3];i=i+1|0;q=q+U;r=r+T;d=d+s*T}j=j+1|0}n=c[k>>2]|0;while(1){if((n|0)>=(a|0))break;k=c[P+(n<<2)>>2]|0;l=O+(k+1<<2)|0;m=J+(k<<3)|0;j=c[O+(k<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=P+(j<<2)|0;a=L+(c[g>>2]<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;do if(y)s=2.0;else{if(f){s=(+h[w>>3]+ +h[m>>3]*2.0+ +h[J+(c[g>>2]<<3)>>3])*.5;break}if(!z){o=57;break b}s=+H(+(+Ww(e,b,o,c[g>>2]|0)),.4)}while(0);c[C+(i<<2)>>2]=c[g>>2];T=-1.0/(s*s);h[A+(i<<3)>>3]=T;c[x+(i<<2)>>2]=c[g>>2];U=s*T;a=E+(i<<3)|0;h[a>>3]=U;p=p+U*+Xw(e,b,c[g>>2]|0,k);U=+h[a>>3];i=i+1|0;q=q+T;r=r+U;d=d+s*U}j=j+1|0}n=n+1|0;a=c[v>>2]|0}c[C+(i<<2)>>2]=o;w=K+(o<<3)|0;U=-(q*+h[w>>3]);h[w>>3]=U;h[A+(i<<3)>>3]=U-q;c[x+(i<<2)>>2]=o;h[E+(i<<3)>>3]=-r;i=i+1|0;c[D+(u<<2)>>2]=i;c[B+(u<<2)>>2]=i;o=u}if((o|0)==44){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,418,96177)}else if((o|0)==57){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,460,96177)}else if((o|0)==62){d=p/d;a=0;while(1){if((a|0)>=(i|0))break;P=E+(a<<3)|0;h[P>>3]=d*+h[P>>3];a=a+1|0}h[S>>3]=d;c[(c[F>>2]|0)+8>>2]=i;c[(c[I>>2]|0)+8>>2]=i;l6(L);l6(J);nw(Q);M=R;break}}else{Cx(R);M=0}while(0);return M|0}function Cx(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)nw(b);b=c[a+8>>2]|0;if(b|0)nw(b);b=c[a+12>>2]|0;if(b|0)l6(b);b=c[a+20>>2]|0;if(b|0)db[c[a+16>>2]&127](b);l6(a)}return}function Dx(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;O=c[a>>2]|0;if(tw(a,0)|0?(c[a+16>>2]|0)==1:0){k=S(O,b)|0;j=0.0;i=0;while(1){if((i|0)>=(k|0))break;u=+h[e+(i<<3)>>3];j=j+u*u;i=i+1|0}a:do if(j==0.0){i=0;while(1){if((i|0)>=(k|0))break a;h[e+(i<<3)>>3]=+Pw()*72.0;i=i+1|0}}while(0);J=c[a+20>>2]|0;K=c[a+24>>2]|0;L=c[a+28>>2]|0;i=IK(56)|0;N=i+32|0;h[N>>3]=1.0;c[i+20>>2]=0;c[i+24>>2]=0;c[i>>2]=a;h[i+40>>3]=.01;c[i+48>>2]=~~+G(+(+(c[a>>2]|0)));M=IK(O<<3)|0;c[i+12>>2]=M;k=0;while(1){if((k|0)>=(O|0))break;h[M+(k<<3)>>3]=d;k=k+1|0}a=(c[a+8>>2]|0)+O|0;H=i+4|0;c[H>>2]=ow(O,O,a,1,1)|0;a=ow(O,O,a,1,1)|0;I=i+8|0;c[I>>2]=a;k=c[H>>2]|0;if(!((a|0)==0|(k|0)==0)){B=c[k+20>>2]|0;C=c[k+24>>2]|0;D=c[a+20>>2]|0;E=c[a+24>>2]|0;z=c[k+28>>2]|0;F=c[a+28>>2]|0;c[D>>2]=0;c[B>>2]=0;t=0.0;u=0.0;A=0;w=0;b:while(1){if((w|0)>=(O|0))break;x=w+1|0;y=J+(x<<2)|0;l=0.0;m=0.0;v=c[J+(w<<2)>>2]|0;j=t;d=u;k=A;while(1){o=z+(k<<3)|0;a=C+(k<<2)|0;p=F+(k<<3)|0;q=E+(k<<2)|0;if((v|0)>=(c[y>>2]|0))break;r=c[K+(v<<2)>>2]|0;if((r|0)!=(w|0)){c[a>>2]=r;s=+h[L+(v<<3)>>3];n=s*s;a=n==0.0;switch(f|0){case 2:{n=a?-1.0e5:-1.0/n;break}case 1:{n=a?-1.0e5:-1.0/s;break}case 0:{n=-1.0;break}default:{P=23;break b}}h[o>>3]=n;c[q>>2]=r;Q=s*n;h[p>>3]=Q;d=d+Q*+Xw(e,b,w,r);Q=+h[p>>3];l=l+n;m=m+Q;j=j+s*Q;k=k+1|0}v=v+1|0}c[a>>2]=w;A=M+(w<<3)|0;t=-(l*+h[A>>3]);h[A>>3]=t;h[o>>3]=t-l;c[q>>2]=w;h[p>>3]=-m;A=k+1|0;c[B+(x<<2)>>2]=A;c[D+(x<<2)>>2]=A;t=j;u=d;w=x}if((P|0)==23)Aa(138697,96132,591,96313);j=(g|0)==0?1.0:u/t;if(j==0.0)i=0;else{k=0;while(1){if((k|0)>=(A|0))break;P=F+(k<<3)|0;h[P>>3]=j*+h[P>>3];k=k+1|0}h[N>>3]=j;c[(c[H>>2]|0)+8>>2]=A;c[(c[I>>2]|0)+8>>2]=A}}else{Cx(i);i=0}return i|0}Aa(96246,96132,525,96313);return 0}function Ex(a){a=a|0;Cx(a);return}function Fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return +(+Gx(a,b,c,d,e))}function Gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0;U=l;l=l+16|0;Q=U+12|0;T=U+8|0;n=U+4|0;k=U;m=c[a+4>>2]|0;i=c[a+8>>2]|0;c[Q>>2]=0;c[T>>2]=0;c[n>>2]=0;L=c[a+12>>2]|0;c[k>>2]=0;M=uw(i)|0;N=c[m>>2]|0;O=S(N,b)|0;g=O<<3;R=IK(g)|0;if((R|0)!=0?(P=S(b<<3,N)|0,B6(R|0,d|0,P|0)|0,K=IK(g)|0,c[T>>2]=K,(K|0)!=0):0){J=c[i+20>>2]|0;K=c[i+24>>2]|0;E=c[i+28>>2]|0;F=c[M+28>>2]|0;H=c[m+28>>2]|0;I=a+24|0;g=a+20|0;switch(c[I>>2]|0){case 1:{Hx(c[g>>2]|0,N,b,d,k,n);g=c[k>>2]|0;if(!g){B=0.0;C=0.0;g=0}else{m=vw(m,g)|0;B=0.0;C=0.0}break}case 2:{g=c[g>>2]|0;B=+h[g+8>>3];C=+h[g>>3];g=0;break}default:{B=0.0;C=0.0;g=0}}z=(L|0)==0;A=a+48|0;y=a+40|0;i=c[n>>2]|0;j=1.0;k=0;a:while(1){x=k+1|0;if(!((k|0)<(e|0)&j>f))break;b:do if((c[I>>2]|0)==4){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break b;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;h[n+(a+o<<3)>>3]=0.0;a=a+1|0}k=k+1|0}}else{t=0;while(1){if((t|0)>=(N|0))break;v=t+1|0;w=J+(v<<2)|0;p=0.0;u=c[J+(t<<2)>>2]|0;k=-1;while(1){if((u|0)>=(c[w>>2]|0))break;n=K+(u<<2)|0;a=c[n>>2]|0;if((t|0)==(a|0))k=u;else{s=+Xw(d,b,t,a);o=E+(u<<3)|0;r=+h[o>>3];q=F+(u<<3)|0;if(r==0.0)r=0.0;else{if(s==0.0){r=r/+h[H+(u<<3)>>3];a=0;while(1){if((a|0)>=(b|0))break;s=r*((+Pw()+.0001)*.0001);V=d+((S(c[n>>2]|0,b)|0)+a<<3)|0;h[V>>3]=+h[V>>3]+s;a=a+1|0}s=+Xw(d,b,t,c[n>>2]|0);r=+h[o>>3]}r=r/s}h[q>>3]=r;p=p+r}u=u+1|0}if((k|0)<=-1){D=25;break a}h[F+(k<<3)>>3]=-p;t=v}Dw(M,0,d,0,T,0,b)}while(0);c:do if(!z){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break c;o=L+(k<<3)|0;q=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;w=a+q|0;V=n+(w<<3)|0;h[V>>3]=+h[o>>3]*+h[R+(w<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}}while(0);switch(c[I>>2]|0){case 1:{n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;D=a+o|0;V=n+(D<<3)|0;h[V>>3]=+h[i+(D<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}k=n;p=+h[y>>3];a=c[A>>2]|0;D=51;break}case 2:{Ix(N,b,d,c[T>>2]|0,C,B);k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;if((c[I>>2]|0)==2)Jx(m,C,b,d,k,p,a,Q);else D=51;break}default:{k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;D=51}}if((D|0)==51){D=0;+cy(m,b,d,k,p,a,0,Q)}if(c[Q>>2]|0)break;j=+Kx(N,b,d,c[T>>2]|0);j=j/+G(+(+Tw(O,d,d)));B6(d|0,c[T>>2]|0,P|0)|0;k=x}if((D|0)==25)Aa(96350,96132,895,96361);nw(M);if(g){nw(g);nw(m)}}else{nw(M);j=1.0;i=0}l6(R);g=c[T>>2]|0;if(g|0)l6(g);if(i|0)l6(i);l=U;return +j}function Hx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0;q=c[a+8>>2]|0;B=c[a+12>>2]|0;y=c[a+16>>2]|0;A=c[a+32>>2]|0;z=c[A+20>>2]|0;A=c[A+24>>2]|0;m=a+20|0;s=c[m>>2]|0;n=a+24|0;r=c[n>>2]|0;o=a+28|0;p=c[o>>2]|0;x=+h[a>>3];a=(s|0)!=0;i=(r|0)!=0|(p|0)!=0;a:do if((q|2|0)==3){if(!a){if(i)Aa(96395,96132,692,96412);else{j=0;l=0}while(1){if((j|0)>=(B|0))break;w=c[y+(j<<2)>>2]|0;t=+((c[z+(w+1<<2)>>2]|0)-(c[z+(w<<2)>>2]|0)|0)+1.0;j=j+1|0;l=~~(t*t)+l|0}r=l<<2;s=IK(r)|0;c[m>>2]=s;r=IK(r)|0;c[n>>2]=r;p=IK(l<<3)|0;c[o>>2]=p}u=0;a=0;while(1){if((u|0)>=(B|0))break;o=c[y+(u<<2)>>2]|0;q=z+(o<<2)|0;j=c[q>>2]|0;i=c[A+(j<<2)>>2]|0;j=c[A+(j+1<<2)>>2]|0;b:do if((i|0)!=(j|0)){C=+Ww(e,d,i,j);C=C*C;n=z+(o+1<<2)|0;t=+((c[n>>2]|0)-(c[q>>2]|0)|0);c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=x/C;k=C*(t*t);t=-(x/(C*t));j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=c[A+(j<<2)>>2];h[p+(a<<3)>>3]=t;j=j+1|0}k=x/k;m=c[q>>2]|0;while(1){if((m|0)>=(i|0))break b;l=c[A+(m<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=t;j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;w=c[A+(j<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=w;h[p+(a<<3)>>3]=k;j=j+1|0}m=m+1|0}}while(0);u=u+1|0}i=Aw(a,b,b,s,r,p,1,8)|0;a=0}else{switch(q|0){case 2:case 4:break;default:{i=0;a=0;break a}}do if(!a)if(i)Aa(96395,96132,734,96412);else{v=B<<2;w=IK(v)|0;c[m>>2]=w;v=IK(v)|0;c[n>>2]=v;u=IK(B<<3)|0;c[o>>2]=u;break}else{u=p;v=r;w=s}while(0);a=IK(S(b<<3,d)|0)|0;j=S(d,b)|0;i=0;while(1){if((i|0)>=(j|0)){o=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}while(1){if((o|0)>=(B|0))break;p=c[y+(o<<2)>>2]|0;l=z+(p<<2)|0;m=c[l>>2]|0;k=+Ww(e,d,c[A+(m<<2)>>2]|0,c[A+(m+1<<2)>>2]|0);c[w+(o<<2)>>2]=p;c[v+(o<<2)>>2]=p;k=x/k;h[u+(o<<3)>>3]=k;l=c[l>>2]|0;m=c[z+(p+1<<2)>>2]|0;p=S(p,d)|0;j=l;while(1){if((j|0)>=(m|0))break;n=S(c[A+(j<<2)>>2]|0,d)|0;i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[e+(i+n<<3)>>3]+ +h[s>>3];i=i+1|0}j=j+1|0}k=k/+(m-l|0);i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[s>>3]*k;i=i+1|0}o=o+1|0}i=Aw(o,b,b,w,v,u,1,8)|0}while(0);c[f>>2]=i;c[g>>2]=a;return}function Ix(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;f=e*f;g=0;a:while(1){if((g|0)>=(a|0))break;l=g+1|0;m=S(g,b)|0;i=l;while(1){if((i|0)==(a|0)){g=l;continue a}e=+Ww(c,b,g,i);k=S(i,b)|0;j=0;while(1){if((j|0)>=(b|0))break;p=j+m|0;n=j+k|0;o=f*((+h[c+(p<<3)>>3]-+h[c+(n<<3)>>3])/e);p=d+(p<<3)|0;h[p>>3]=+h[p>>3]+o;n=d+(n<<3)|0;h[n>>3]=+h[n>>3]-o;j=j+1|0}i=i+1|0}}return}function Jx(a,b,d,e,f,g,h,i){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;var j=0,k=0;k=Tx(a,b)|0;j=Yx(a,b)|0;+$x(k,j,c[a>>2]|0,d,e,f,g,h,i);return}function Kx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0;f=0;i=0.0;while(1){if((f|0)>=(a|0))break;j=S(f,b)|0;e=0;g=0.0;while(1){if((e|0)>=(b|0))break;l=e+j|0;k=+h[d+(l<<3)>>3]-+h[c+(l<<3)>>3];e=e+1|0;g=g+k*k}f=f+1|0;i=i+ +G(+g)}return +i}function Lx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;A=c[a>>2]|0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1034,96434);r=A<<3;B=IK(r)|0;j=0;while(1){if((j|0)>=(A|0))break;m=B+(j<<3)|0;h[m>>3]=0.0;n=j+1|0;o=p+(n<<2)|0;l=c[p+(j<<2)>>2]|0;g=0;k=0.0;while(1){if((l|0)>=(c[o>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((j|0)!=(i|0)){k=+Xw(e,b,j,i);k=k+ +h[m>>3];h[m>>3]=k;g=g+1|0}l=l+1|0}if((g|0)<=0){z=11;break}h[m>>3]=k/+(g|0);j=n}if((z|0)==11)Aa(96209,96132,1046,96434);g=IK(56)|0;y=g+32|0;h[y>>3]=1.0;c[g+20>>2]=0;c[g+24>>2]=0;h[g+40>>3]=.01;c[g+48>>2]=~~+G(+(+(c[a>>2]|0)));x=IK(r)|0;c[g+12>>2]=x;i=0;while(1){if((i|0)>=(A|0))break;h[x+(i<<3)>>3]=d;i=i+1|0}do if((A|0)>2)if(!f){i=ey(A,b,e)|0;break}else{i=dy(A,b,e)|0;break}else i=uw(a)|0;while(0);f=g+4|0;c[f>>2]=vw(a,i)|0;nw(i);j=uw(c[f>>2]|0)|0;c[g+8>>2]=j;i=c[f>>2]|0;if((j|0)==0|(i|0)==0){Mx(g);g=0}else{r=c[i+20>>2]|0;q=c[i+24>>2]|0;p=c[i+28>>2]|0;f=c[j+28>>2]|0;v=0.0;w=0.0;m=0;while(1){if((m|0)>=(A|0))break;o=m+1|0;n=r+(o<<2)|0;u=0.0;d=0.0;j=-1;s=v;t=w;l=c[r+(m<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((i|0)==(m|0)){k=u;i=l}else{D=+H(+(+Ww(e,b,m,i)),.6);k=1.0/(D*D);h[p+(l<<3)>>3]=k;C=D*k;a=f+(l<<3)|0;h[a>>3]=C;t=t+C*+Xw(e,b,m,i);C=+h[a>>3];k=u+k;d=d+C;i=j;s=s+D*C}u=k;j=i;l=l+1|0}a=x+(m<<3)|0;k=-(u*+h[a>>3]);h[a>>3]=k;if((j|0)<=-1){z=31;break}h[p+(j<<3)>>3]=k-u;h[f+(j<<3)>>3]=-d;v=s;w=t;m=o}if((z|0)==31)Aa(96455,96132,1112,96434);k=w/v;j=c[r+(A<<2)>>2]|0;i=0;while(1){if((i|0)>=(j|0))break;A=f+(i<<3)|0;h[A>>3]=k*+h[A>>3];i=i+1|0}h[y>>3]=k;l6(B)}return g|0}function Mx(a){a=a|0;Cx(a);return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;+Gx(a,b,c,50,.001);return}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=c[a>>2]|0;A=c[a+20>>2]|0;B=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1149,96466);v=Ax(a,b,e)|0;w=c[v+28>>2]|0;a=IK(8)|0;x=IK(z<<2)|0;y=IK(z<<3)|0;i=0;while(1){if((i|0)>=(z|0)){o=0;break}l=y+(i<<3)|0;h[l>>3]=0.0;m=i+1|0;n=A+(m<<2)|0;j=c[A+(i<<2)>>2]|0;f=0;k=0.0;while(1){if((j|0)>=(c[n>>2]|0))break;g=c[B+(j<<2)>>2]|0;if((i|0)!=(g|0)){k=+Xw(e,b,i,g);k=k+ +h[l>>3];h[l>>3]=k;f=f+1|0}j=j+1|0}if((f|0)<=0){p=11;break}h[l>>3]=k/+(f|0);i=m}if((p|0)==11)Aa(96209,96132,1167,96466);while(1){if((o|0)>=(z|0)){m=0;f=0;break}c[x+(o<<2)>>2]=-1;o=o+1|0}a:while(1){if((m|0)>=(z|0))break;c[x+(m<<2)>>2]=m;j=A+(m<<2)|0;n=m+1|0;o=A+(n<<2)|0;i=c[j>>2]|0;while(1){g=c[o>>2]|0;if((i|0)>=(g|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=c[j>>2]|0;while(1){if((l|0)>=(g|0)){m=n;continue a}i=c[B+(l<<2)>>2]|0;j=A+(i+1<<2)|0;i=c[A+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=l+1|0;g=c[o>>2]|0}}e=ow(z,z,f,1,1)|0;c[a>>2]=e;if(!e){Px(a);a=0}else{p=c[e+20>>2]|0;q=c[e+24>>2]|0;r=c[e+28>>2]|0;c[p>>2]=0;g=0;f=0;while(1){if((g|0)>=(z|0))break;s=g+z|0;c[x+(g<<2)>>2]=s;l=A+(g<<2)|0;t=g+1|0;u=A+(t<<2)|0;b=y+(g<<3)|0;j=c[l>>2]|0;while(1){g=c[u>>2]|0;if((j|0)>=(g|0))break;g=c[B+(j<<2)>>2]|0;i=x+(g<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=g;o=r+(f<<3)|0;h[o>>3]=(+h[b>>3]+ +h[y+(g<<3)>>3])*.5;h[o>>3]=+h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=c[l>>2]|0;while(1){if((o|0)>=(g|0))break;j=c[B+(o<<2)>>2]|0;l=A+(j+1<<2)|0;m=y+(j<<3)|0;n=w+(o<<3)|0;j=c[A+(j<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=B+(j<<2)|0;i=x+(c[g>>2]<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=c[g>>2];i=r+(f<<3)|0;h[i>>3]=(+h[b>>3]+ +h[m>>3]*2.0+ +h[y+(c[g>>2]<<3)>>3])*.5;h[i>>3]=+h[n>>3]+ +h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=o+1|0;g=c[u>>2]|0}c[p+(t<<2)>>2]=f;g=t}c[e+8>>2]=f;A=Vp()|0;B=a+4|0;c[B>>2]=A;B6(A|0,d|0,168)|0;B=c[B>>2]|0;c[B+16>>2]=0;c[B+40>>2]=1;A=B+96|0;h[A>>3]=+h[A>>3]*.5;c[B+80>>2]=20;l6(x);l6(y);nw(v)}return a|0}function Px(a){a=a|0;var b=0;if(a|0){b=c[a>>2]|0;if(b|0)nw(b);a=c[a+4>>2]|0;if(a|0)Wp(a)}return}function Qx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;c[h>>2]=0;pq(e,b,c[a>>2]|0,c[a+4>>2]|0,d,f,h);if(!(c[h>>2]|0)){l=g;return}else Aa(96485,96132,1262,96491)}function Rx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;c[g>>2]=0;g=c[d+120>>2]|0;a:do switch(g|0){case 5:case 6:{if((c[b>>2]|0)>2){b=Lx(b,a,0.0,f,(g|0)!=6&1)|0;Nx(b,a,f);Mx(b)}break}case 4:{g=0;while(1){if((g|0)==1)break a;i=Ox(b,a,d,f)|0;Qx(i,b,e,a,f);Px(i);g=g+1|0}}case 1:{d=0;h=6;break}case 2:{d=1;h=6;break}case 3:{d=2;h=6;break}default:{}}while(0);b:do if((h|0)==6){g=0;while(1){if((g|0)==1)break b;i=Bx(b,a,.05,f,d)|0;+Gx(i,a,f,50,.001);Cx(i);g=g+1|0}}while(0);return}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;c[f>>2]=d;j=c[a>>2]|0;a=c[j+8>>2]|0;i=+h[j>>3];j=c[a>>2]|0;Gw(a,b,f,0);a=0;g=0.0;while(1){if((a|0)>=(j|0))break;e=g+ +h[b+(a<<3)>>3];a=a+1|0;g=e}d=c[f>>2]|0;e=+(j|0);a=0;while(1){if((a|0)>=(j|0))break;f=d+(a<<3)|0;h[f>>3]=+h[f>>3]+i*(e*+h[b+(a<<3)>>3]-g);a=a+1|0}l=k;return d|0}function Tx(a,b){a=a|0;b=+b;var d=0,e=0;d=IK(8)|0;e=IK(16)|0;c[d>>2]=e;h[e>>3]=b;c[e+8>>2]=a;c[d+4>>2]=28;return d|0}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=d;Gw(c[a>>2]|0,b,e,0);l=f;return c[e>>2]|0}function Vx(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=29;return b|0}function Wx(a){a=a|0;if(a|0)l6(a);return}function Xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=~~+h[f>>3];f=f+8|0;a=0;while(1){if((a|0)>=(e|0))break;h[d+(a<<3)>>3]=+h[b+(a<<3)>>3]*+h[f+(a<<3)>>3];a=a+1|0}return d|0}function Yx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0.0;m=c[a>>2]|0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;k=c[a+28>>2]|0;l=IK(8)|0;i=IK((m<<3)+8|0)|0;c[l>>2]=i;h[i>>3]=+(m|0);i=i+8|0;q=+(m+-1|0);j=1.0/q;b=q*b;a=0;a:while(1){if((a|0)>=(m|0))break;e=i+(a<<3)|0;h[e>>3]=j;f=a+1|0;g=c[o+(f<<2)>>2]|0;d=c[o+(a<<2)>>2]|0;while(1){if((d|0)>=(g|0)){a=f;continue a}if((a|0)==(c[p+(d<<2)>>2]|0)?(n=+h[k+(d<<3)>>3],(n>=0.0?n:-n)>0.0):0)h[e>>3]=1.0/(b+n);d=d+1|0}}c[l+4>>2]=30;return l|0}function Zx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0;i=c[a>>2]|0;k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[a+28>>2]|0;n=IK(8)|0;d=IK((c[a>>2]<<3)+8|0)|0;c[n>>2]=d;h[d>>3]=+(i|0);d=d+8|0;a=0;a:while(1){if((a|0)>=(i|0))break;e=d+(a<<3)|0;h[e>>3]=1.0;f=a+1|0;g=c[k+(f<<2)>>2]|0;b=c[k+(a<<2)>>2]|0;while(1){if((b|0)>=(g|0)){a=f;continue a}if((a|0)==(c[l+(b<<2)>>2]|0)?(j=+h[m+(b<<3)>>3],(j>=0.0?j:-j)>0.0):0)h[e>>3]=1.0/j;b=b+1|0}}c[n+4>>2]=30;return n|0}function _x(a){a=a|0;l6(c[a>>2]|0);if(a|0)l6(a);return}function $x(a,b,c,d,e,f,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0;o=c<<3;n=IK(o)|0;o=IK(o)|0;l=0;m=0.0;while(1){if((l|0)<(d|0))j=0;else break;while(1){if((j|0)>=(c|0))break;p=(S(j,d)|0)+l|0;h[n+(j<<3)>>3]=+h[e+(p<<3)>>3];h[o+(j<<3)>>3]=+h[f+(p<<3)>>3];j=j+1|0}k=+ay(a,b,c,n,o,g,i);j=0;while(1){if((j|0)>=(c|0))break;h[f+((S(j,d)|0)+l<<3)>>3]=+h[n+(j<<3)>>3];j=j+1|0}l=l+1|0;m=m+k}l6(n);l6(o);return +m}function ay(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0;r=c[a+4>>2]|0;p=c[b+4>>2]|0;q=d<<3;i=IK(q)|0;k=IK(q)|0;t=IK(q)|0;l=IK(q)|0;k=eb[r&63](a,e,k)|0;m=Sw(d,f,k)|0;o=+(d|0);s=+G(+(+Tw(d,m,m)))/o;n=s*g;m=0;f=t;j=1.0;g=s;while(1){if(!(g>n&(m|0)<(h|0)))break;i=eb[p&63](b,k,i)|0;g=+Tw(d,k,i);if((m|0)>0)Uw(d,i,f,g/j)|0;else B6(f|0,i|0,q|0)|0;u=eb[r&63](a,f,l)|0;j=g/+Tw(d,f,u);Vw(d,e,f,j)|0;t=Vw(d,k,u,-j)|0;m=m+1|0;j=g;l=u;g=+G(+(+Tw(d,t,t)))/o}l6(i);l6(k);l6(f);l6(l);return +g}function by(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;B=C;y=c[a+4>>2]|0;z=y<<3;A=IK(z)|0;u=IK(z)|0;v=IK(z)|0;w=c[a+20>>2]|0;x=c[a+24>>2]|0;s=c[a+28>>2]|0;t=c[15715]|0;r=0;while(1){if((r|0)<(b|0))g=0;else break;while(1){if((g|0)>=(y|0)){a=0;break}q=(S(g,b)|0)+r|0;h[A+(g<<3)>>3]=+h[d+(q<<3)>>3];h[v+(g<<3)>>3]=+h[e+(q<<3)>>3];g=g+1|0}while(1){if((a|0)<(f|0))n=0;else{g=0;break}while(1){if((n|0)>=(y|0))break;o=c[w+(n<<2)>>2]|0;p=n+1|0;q=c[w+(p<<2)>>2]|0;m=o;j=0.0;i=0.0;while(1){if((m|0)>=(q|0))break;g=c[x+(m<<2)>>2]|0;k=+h[s+(m<<3)>>3];if((g|0)==(n|0))i=k;else j=j+k*+h[A+(g<<3)>>3];m=m+1|0}if(j==0.0){c[B>>2]=q-o;z4(t,96513,B)|0}h[u+(n<<3)>>3]=(+h[v+(n<<3)>>3]-j)/i;n=p}B6(A|0,u|0,z|0)|0;a=a+1|0}while(1){if((g|0)>=(y|0))break;h[e+((S(g,b)|0)+r<<3)>>3]=+h[A+(g<<3)>>3];g=g+1|0}r=r+1|0}l6(A);l6(u);l6(v);l=C;return e|0}function cy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;var j=0;j=c[a>>2]|0;c[i>>2]=0;switch(h|0){case 0:{h=Vx(a)|0;i=Zx(a)|0;f=+$x(h,i,j,b,d,e,f,g,0);Wx(h);_x(i);break}case 1:{by(a,b,d,e,g,0)|0;f=0.0;break}default:f=0.0}return +f}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;k=o;m=o+20|0;f=o+16|0;g=o+12|0;i=o+8|0;h[k>>3]=1.0;j=a<<3;n=IK(j)|0;j=IK(j)|0;b=0;while(1){if((b|0)>=(a|0))break;e=b<<1;h[n+(b<<3)>>3]=+h[d+(e<<3)>>3];h[j+(b<<3)>>3]=+h[d+((e|1)<<3)>>3];b=b+1|0}c[m>>2]=b;if((a|0)>2)d=Wr(n,j,a,i)|0;else{c[i>>2]=0;d=0}e=ow(a,a,1,1,2)|0;b=0;while(1){c[m>>2]=b;if((b|0)>=(c[i>>2]|0))break;p=b<<1;c[f>>2]=c[d+(p<<2)>>2];c[g>>2]=c[d+((p|1)<<2)>>2];Kw(e,1,f,g,k)|0;b=(c[m>>2]|0)+1|0}if((a|0)==2){c[f>>2]=0;c[g>>2]=1;Kw(e,1,f,g,k)|0;b=0}else b=0;while(1){c[m>>2]=b;if((b|0)>=(a|0))break;Kw(e,1,m,m,k)|0;b=(c[m>>2]|0)+1|0}a=zw(e)|0;nw(e);p=sw(a,0)|0;nw(a);l6(d);l6(n);l6(j);l=o;return p|0}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;i=m;h[i>>3]=1.0;k=a<<3;j=IK(k)|0;k=IK(k)|0;e=0;while(1){if((e|0)>=(a|0))break;f=S(e,b)|0;h[j+(e<<3)>>3]=+h[d+(f<<3)>>3];h[k+(e<<3)>>3]=+h[d+(f+1<<3)>>3];e=e+1|0}c[g>>2]=e;e=Xr(j,k,a,0)|0;f=ow(a,a,1,1,2)|0;b=0;while(1){c[g>>2]=b;if((b|0)<(a|0))d=1;else{b=0;break}while(1){if((d|0)>=(c[e+(b*12|0)>>2]|0))break;Kw(f,1,g,(c[e+(b*12|0)+4>>2]|0)+(d<<2)|0,i)|0;d=d+1|0;b=c[g>>2]|0}b=b+1|0}while(1){c[g>>2]=b;if((b|0)>=(a|0))break;Kw(f,1,g,g,i)|0;b=(c[g>>2]|0)+1|0}i=sw(zw(f)|0,0)|0;nw(f);l6(j);l6(k);Yr(e);l=m;return i|0}function fy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;gy(f,c);hy(a,b,c,f);iy(b,f,d);jy(f);l=e;return}function gy(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function hy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=IK(t)|0;C=IK(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=IK(t)|0;t=IK(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;ft(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}ly(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((my(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=n6(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}l6(A);l6(C);l6(s);l6(t);oy(u);l=D;return}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=IK(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=IK(h)|0;h=IK(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=IK(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}l6(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ky(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function jy(a){a=a|0;l6(c[a>>2]|0);return}function ky(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=IK(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;py(a,e);e=e+-1|0}return}function my(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;py(a,0);a=1}return a|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;i=a+4|0;j=c[i>>2]|0;d=a+8|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=j<<1;e=n6(c[a>>2]|0,j<<5)|0;c[a>>2]=e;d=c[i>>2]|0}else{d=j;e=c[a>>2]|0}c[i>>2]=d+1;e=e+(j<<4)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=j;while(1){if((e|0)<=0)break;d=c[a>>2]|0;f=+h[d+(e<<4)+8>>3];b=e>>>1;g=+h[d+(b<<4)+8>>3];if(!(f<g)){if(!(f==g))break;if(!((U4()|0)&1))break;d=c[a>>2]|0}j=d+(e<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=d+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];j=(c[a>>2]|0)+(b<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];e=b}l=m;return}function oy(a){a=a|0;l6(c[a>>2]|0);return}function py(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e<f))if(!(e==f?((U4()|0)&1|0)!=0:0))k=6}else k=6;if((k|0)==6){k=0;d=b}do if((g|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((U4()|0)&1))break}d=g}while(0);if((d|0)==(b|0))break;g=c[a>>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function qy(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=IK(b<<3)|0;if(!(gu(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=HK(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;ft(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e<d?d:e;a=0;g=1;d=n;while(1){if((g|0)>=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=(n-d>e&1)+a|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=IK(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=IK(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)l6(f);return a|0}function ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46972]|0;if(d|0)sn(d);c[46972]=rn(b,b,0.0)|0;d=c[46973]|0;if(d|0)l6(d);c[46973]=HK(b<<2)|0;d=c[46974]|0;if(d|0)l6(d);n=HK(b<<3)|0;c[46974]=n;o=c[46972]|0;p=c[46973]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+F(+j);f=f<j?j:f;d=d+1|0}d=n+(i<<3)|0;if(!(f!=0.0)){e=15;break}h[d>>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;f=0.0}else break;while(1){if((e|0)>=(b|0))break;k=c[p+(e<<2)>>2]|0;j=+F(+(+h[(c[o+(k<<2)>>2]|0)+(l<<3)>>3]));j=j*+h[n+(k<<3)>>3];k=f<j;a=k?e:d;e=e+1|0;d=a;f=k?j:f}if(f==0.0){d=0;break a}e=p+(l<<2)|0;g=p+(d<<2)|0;if((d|0)!=(l|0)){k=c[e>>2]|0;c[e>>2]=c[g>>2];c[g>>2]=k}i=c[o+(c[e>>2]<<2)>>2]|0;f=+h[i+(l<<3)>>3];k=l+1|0;g=k;while(1){if((g|0)>=(b|0)){l=k;continue b}a=c[o+(c[p+(g<<2)>>2]<<2)>>2]|0;e=a+(l<<3)|0;j=+h[e>>3]/f;h[e>>3]=j;c:do if(j!=0.0){e=k;while(1){if((e|0)>=(b|0))break c;q=a+(e<<3)|0;h[q>>3]=+h[q>>3]-j*+h[i+(e<<3)>>3];e=e+1|0}}while(0);g=g+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[d>>3]=0.0;d=0}while(0);return d|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46973]|0;l=c[46972]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[k+(j<<2)>>2]|0;i=l+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=f+ +h[(c[i>>2]|0)+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=c[l+(c[k+(b<<2)>>2]<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=f+ +h[g+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[g+(b<<3)>>3];e=b}return}function ty(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=0;return b|0}function uy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function vy(a,b){a=a|0;b=b|0;b=ty(b)|0;c[b+4>>2]=a;return b|0}function wy(a){a=a|0;return c[a>>2]|0}function xy(a){a=a|0;return c[a+4>>2]|0}function yy(a){a=a|0;var b=0;b=IK(12)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function Ay(a,b){a=a|0;b=b|0;b=yy(b)|0;if(a|0){c[b+4>>2]=a;c[a+8>>2]=b}return b|0}function By(a){a=a|0;return c[a>>2]|0}function Cy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(a|0){e=c[a+4>>2]|0;f=c[a+8>>2]|0;g=c[a>>2]|0;if(g|0)db[b&127](g);l6(a);if(e|0)c[e+8>>2]=f;c[(f|0?f+4|0:d)>>2]=e}return}function Dy(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Ey(a){a=a|0;var b=0;b=HK(64)|0;Dy(b+36|0);c[b+8>>2]=a;return b|0}function Fy(a){a=a|0;if(a|0){$y(c[a+32>>2]|0);l6(a)}return}function Gy(a){a=a|0;return qB(c[a+8>>2]|0)|0}function Hy(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function Iy(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;Ky(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=gC(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=hC(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=hC(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;Hy((c[i+12>>2]|0)+36|0,h);h=k}Dy(b);return j|0}function Ky(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;h=j+8|0;f=c[d+24>>2]|0;if(!((f|0)!=0?(e=qC(b,f,0)|0,(e|0)!=0):0))g=3;a:do if((g|0)==3){f=d+20|0;b:do if(c[f>>2]|0){e=gC(b)|0;while(1){if(!e)break b;if((aP(c[c[(c[e+16>>2]|0)+112>>2]>>2]|0,c[f>>2]|0,0)|0)<<24>>24)break a;e=hC(b,e)|0}}while(0);e=gC(b)|0}while(0);if(a[195234]|0){g=c[15715]|0;c[i>>2]=HB(e)|0;z4(g,96524,i)|0}c[h+4>>2]=0;c[h>>2]=0;Ly(b,e,d,1,h);l=j;return}function Ly(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d+8|0;j=c[l>>2]|0;c[l>>2]=j+1;l=b+16|0;k=c[(c[l>>2]|0)+112>>2]|0;c[k+16+4>>2]=j;c[k+24>>2]=j;k=(e|0)!=0;j=ZA(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;h=c[(c[j+16>>2]|0)+120>>2]|0;i=(c[h>>2]|0)!=0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;if(i)g=e;else{c[h>>2]=-1;g=e}}else if(!i)c[h>>2]=1;e=g+16|0;h=c[(c[e>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;My(f,j);Ly(a,g,d,0,f);i=c[(c[l>>2]|0)+112>>2]|0;m=i+24|0;h=(c[(c[e>>2]|0)+112>>2]|0)+24|0;c[m>>2]=c[(c[(c[((c[m>>2]|0)<(c[h>>2]|0)?b:g)+16>>2]|0)+112>>2]|0)+24>>2];if((c[h>>2]|0)>=(c[i+16+4>>2]|0)){e=0;do{h=Ny(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=Oy(a,d)|0;Py(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Gy(e)|0)>1:0)Py(e,b);if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){Iy(d,e);break}Hy(d,e)}}}else{e=c[(c[l>>2]|0)+112>>2]|0;if((c[e+8>>2]|0)!=(g|0)){m=e+24|0;h=c[m>>2]|0;c[m>>2]=(h|0)<(i|0)?h:i}}while(0);j=_A(a,j,b)|0}if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){m=Oy(a,d)|0;Py(m,b);Iy(d,m)}return}function My(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function Ny(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)Aa(138697,96555,65,96567);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else Aa(96545,96555,61,96567);return 0}function Oy(a,b){a=a|0;b=b|0;return Ey(Qy(a,b)|0)|0}function Py(a,b){a=a|0;b=b|0;lC(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;i2(e,96535,f)|0;b=LD(a,e,1)|0;RC(b,137786,280,1)|0;l=d;return b|0}function Ry(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Ry(b);b=d}Fy(a);return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;Ty(a,b,+h[c+32>>3]);return}function Ty(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Ty(a,e,d);e=e+4|0;f=f+1|0}e=jz(a,b,d)|0;c[b+32>>2]=e;a=gz(e)|0;if((f|0)>0)d=+Uy(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=HK(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=+(k|0)*j;d=o+1|0;g=+Vy(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do if((o|0)==1){h[u+40>>3]=1.0;d=0}else{n=u+8|0;if((o|0)==2){j=+h[u+64>>3]-+h[n>>3];Wy(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}else{m=u;d=0}while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;k=m+56|0;j=+h[m+8>>3];if((d|0)==(o|0)){i=u;j=+h[n>>3]-j+6.283185307179586}else{i=k;j=+h[m+64>>3]-j}Wy(m,i,j);m=k}}while(0);while(1){if((d|0)>=(o|0))break;Xy(u+(d*56|0)|0,t,b,f);d=d+1|0}l6(u);if((a|0)==1){f=f*.5+g;Yy(e,-f,0.0,0.0);h[p>>3]=f+ +h[p>>3];u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[r>>3]+ +h[s>>3])*.5+-3.141592653589793)}function Vy(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+(k*2.0+d);g=g<k?k:g}else e=i;i=e;e=j+4|0}h[a+32>>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+(+h[b>>3]+d);h[a+24>>3]=g;return +g}function Wy(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(+h[a+32>>3]*e+ +h[b+32>>3]*d)/(e*(c*2.0*d));c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;y=b+8|0;x=+h[y>>3];z=b+24|0;l=+h[z>>3];A=b+32|0;k=+h[A>>3];f=+h[a+40>>3]*+h[a+16>>3];u=(d|0)==1;v=a+48|0;w=a+8|0;g=+h[a+32>>3];if(u){i=g/6.283185307179586;i=f>i?f:i;f=i*6.283185307179586-g;if(f>0.0){e=f/+(c[v>>2]|0)+e;g=0.0;f=i}else{g=0.0;f=i}}else g=+h[w>>3]-g/(f*2.0);s=f+ +h[a+24>>3];t=s>x;p=e/f;q=((c[v>>2]|0)+1|0)/2|0;r=p*.5;m=b+40|0;i=k;e=l;n=0;o=0.0;while(1){m=c[m>>2]|0;if(!m)break;j=c[m>>2]|0;if(!j)j=0;else j=c[(c[(c[j+16>>2]|0)+112>>2]|0)+8>>2]|0;if((j|0)==(c[a>>2]|0)?(gz(c[m+32>>2]|0)|0)>=1:0){k=+h[m+16>>3]/f;l=r+k;do if(!u)if((c[v>>2]|0)==1){g=+h[w>>3];break}else{g=g+l;break}else{if(g!=0.0)g=(c[v>>2]|0)==2?3.141592653589793:g+k;i=g;e=e<0.0?g:e}while(0);D=f*+I(+g);C=f*+J(+g);Yy(m,D,C,+Zy(m,D,C,g));g=(u?p+k:l)+g;n=n+1|0;j=n;k=(n|0)==(q|0)?g:o}else{j=n;k=o}m=m+4|0;n=j;o=k}f=t?s:x;if((d|0)>1?(B=c[a>>2]|0,(B|0)==(c[b+44>>2]|0)):0)h[(c[(c[B+16>>2]|0)+112>>2]|0)+24>>3]=o;h[y>>3]=f;h[z>>3]=e;h[A>>3]=i;return}function Yy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=gC(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;l=k+8|0;i=+h[k>>3];g=+h[l>>3];if(n){p=+I(+e);o=+J(+e);j=i*p-g*o;g=g*p+i*o}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=hC(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Yy(f,b,d,e);f=f+4|0}return}function Zy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0;n=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((gz(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}m=c[a>>2]|0;o=m+16|0;l=c[(c[o>>2]|0)+132>>2]|0;k=+h[l>>3]+b;f=+h[l+8>>3]+d;f=k*k+f*f;l=gC(n)|0;g=m;while(1){if(!l)break;if((l|0)!=(m|0)?(p=c[(c[l+16>>2]|0)+132>>2]|0,k=+h[p>>3]+b,i=+h[p+8>>3]+d,i=k*k+i*i,i<f):0){f=i;g=l}l=hC(n,l)|0}if((m|0)!=(g|0)){j=+h[a+24>>3];k=+h[a+16>>3]-j;g=c[o>>2]|0;p=c[g+132>>2]|0;f=+h[p>>3];i=+h[p+8>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){i=+O(+i,+(k+f));f=+I(+i);f=1.5707963267948966-i-+M(+(f*((k-j/f)/+G(+(b*b+d*d)))))+e;break}else{f=3.141592653589793-+O(+i,+f);f=f-+h[(c[g+112>>2]|0)+24>>3]+e;f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function _y(){return HK(12)|0}function $y(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;l6(b);b=d}l6(a)}return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=bz(d)|0;h=a+8|0;c[h>>2]=(c[h>>2]|0)+1;h=a+4|0;i=c[h>>2]|0;d=(b|0)==0?i:b;b=d+4|0;e=g+4|0;f=g+8|0;if((d|0)==(i|0)){c[(i|0?b:a)>>2]=g;c[f>>2]=i;c[e>>2]=0;c[h>>2]=g}else{a=c[b>>2]|0;c[b>>2]=g;c[f>>2]=d;c[a+8>>2]=g;c[e>>2]=a}return}function bz(a){a=a|0;var b=0;b=HK(12)|0;c[b>>2]=a;return b|0}function cz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;b=d;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function ez(a){a=a|0;var b=0,d=0,e=0;d=_y()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;az(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0}function fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[a>>2]|0;while(1){if(!m){k=4;break}l=m+4|0;f=c[l>>2]|0;if((c[m>>2]|0)==(b|0))break;else m=f}if((k|0)==4)Aa(96571,96578,217,96589);h=a+4|0;j=m+8|0;i=c[j>>2]|0;c[(i|0?i+4|0:a)>>2]=f;c[(f|0?f+8|0:h)>>2]=i;i=c[a>>2]|0;f=0;g=i;while(1){if(!g)break;b=g+4|0;if((c[g>>2]|0)==(d|0)){k=8;break}f=g;g=c[b>>2]|0}if((k|0)==8){do if(!e){b=g+8|0;if((g|0)==(i|0)){c[a>>2]=m;c[l>>2]=i;c[j>>2]=0;break}else{c[f+4>>2]=m;c[j>>2]=f;c[l>>2]=g;break}}else if((g|0)==(c[h>>2]|0)){c[h>>2]=m;c[l>>2]=0;c[j>>2]=g;break}else{c[j>>2]=g;c[l>>2]=c[b>>2];c[(c[b>>2]|0)+8>>2]=m;break}while(0);c[b>>2]=m}return}function gz(a){a=a|0;return c[a+8>>2]|0}function hz(a,b){a=a|0;b=b|0;iz(a,cz(b)|0);l6(b);return}function iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function jz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=c[b+8>>2]|0;kz(a,b);l=lz(m)|0;a=nz(mz(l)|0)|0;oz(m,a);m=pz(a,m)|0;a=gz(m)|0;j=+qz(m);k=(a|0)==1;f=+(a|0);i=f*(j+d)/6.283185307179586;g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)dz(m,a);d=6.283185307179586/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=c[(c[a>>2]|0)+16>>2]|0;p=c[n+112>>2]|0;c[p+16>>2]=e;h[p+24>>3]=0.0;f=d*+(e|0);o=g*+I(+f);n=c[n+132>>2]|0;h[n>>3]=o;h[n+8>>3]=g*+J(+f);e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;pB(l)|0;return m|0}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=gC(f)|0;while(1){if(!d)break;e=UA(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))jB(f,e,1)|0;e=WA(a,e)|0}d=hC(f,d)|0}return}function lz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=wz(a,g)|0;g=c[g>>2]|0;i=qB(g)|0;h=xz(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=Gz(h)|0;d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;Fz(h,a);d=_A(g,d,j)|0}yz(g,j,f);d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;Ez(h,a);d=_A(g,d,j)|0}tC(g,j)|0;e=e+1|0}pB(g)|0;Dz(h);l=k;return f|0}function mz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46975]|0;c[46975]=d+1;c[b>>2]=d;i2(e,96604,b)|0;e=LD(a,e,1)|0;RC(e,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;lC(e,b,1)|0;d=c[(c[b+16>>2]|0)+112>>2]|0;c[d+16+12>>2]=0;c[d+32>>2]=0;d=d+4|0;c[d>>2]=c[d>>2]&-2;b=hC(a,b)|0}b=gC(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;vz(a,b,e)}b=hC(a,b)|0}l=f;return e|0}function nz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((qB(a)|0)!=1){d=gC(a)|0;while(1){if(!d)break;b=0;e=ZA(a,d)|0;while(1){if(!e)break;b=b+1|0;e=_A(a,e,d)|0}if((b|0)==1)uz(d,d,0,0);d=hC(a,d)|0}b=0;f=0;d=gC(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=hC(a,d)|0}b=_y()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}az(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=_y()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}hz(b,a)}}else{b=_y()|0;g=gC(a)|0;az(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=gC(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))tz(a,d,b);d=hC(a,d)|0}return}function pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=rz(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=sz(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function qz(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Hz()|0;e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=WA(b,d)|0}e=hC(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=ZA(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=eb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)+d|0;a=eb[c[k>>2]&63](k,a,8)|0}Nz(k,g)}g=_A(b,g,i)|0}e=ZA(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;Mz(k,e)}e=_A(b,e,i)|0}a=h+4|0;j=j+1|0}Lz(k);return d|0}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=gC(b)|0;a:while(1){if(!k)break;j=ZA(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=ez(a)|0;fz(a,k,f,i);g=rz(a,b)|0;if((g|0)<(e|0)){$y(h);if(!g){e=0;break a}else e=g}else{$y(a);a=h}i=i+1|0}j=_A(b,j,k)|0}k=hC(b,k)|0}c[d>>2]=e;return a|0}function tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=_y()|0;e=UA(a,b)|0;while(1){if(!e)break;h=e+-48|0;az(j,0,c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break;h=e+48|0;az(j,0,c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=YA(a,e)|0}a:do if((gz(j)|0)>1){f=c[d>>2]|0;g=d+4|0;a=f;while(1){if(!a){i=16;break a}h=a+4|0;if((a|0)==(c[g>>2]|0))e=f;else e=c[h>>2]|0;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0?c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0:0)break;a=c[h>>2]|0}az(d,a,b)}else i=16;while(0);b:do if((i|0)==16){c:do if((gz(j)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}az(d,e,b);break b}while(0);az(d,0,b)}while(0);e=j;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}$y(j);return}function uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=e;e=c[(c[b+16>>2]|0)+112>>2]|0;while(1){e=c[e+16>>2]|0;if(!e)break;k=d+1|0;e=c[(c[e+16>>2]|0)+112>>2]|0;h=e+16|0;g=h+12|0;b=c[g>>2]|0;h=h+4|0;if(b){i=e+24|0;j=e+32|0;if((b|0)>(d|0)){l=10;break}d=c[h>>2]|0;if((d|0)!=(f|0)){if(!((c[j>>2]|0)!=0?(c[i>>2]|0)==(f|0):0))f=d;c[i>>2]=d;c[j>>2]=b}}c[h>>2]=a;c[g>>2]=k;d=k}if((l|0)==10?(c[j>>2]|0)<=(d|0):0){c[i>>2]=a;c[j>>2]=k}return}function vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=ZA(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){jB(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;vz(a,e,d)}g=_A(a,g,b)|0}return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+144|0;i=j+8|0;h=j;d=j+16|0;g=c[46976]|0;c[46976]=g+1;c[h>>2]=g;i2(d,96613,h)|0;h=LD(a,d,1)|0;RC(h,137786,280,1)|0;g=c[46976]|0;c[46976]=g+1;c[i>>2]=g;i2(d,96613,i)|0;c[i>>2]=c[a+24>>2];i=lB(d,i,0)|0;d=gC(a)|0;while(1){if(!d)break;lC(h,d,1)|0;g=qC(i,HB(d)|0,1)|0;RC(g,137750,304,1)|0;c[(c[(c[d+16>>2]|0)+112>>2]|0)+16>>2]=g;d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;f=c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]|0;g=f+16|0;d=UA(a,e)|0;while(1){if(!d)break;jB(h,d,1)|0;k=c[(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;m=fB(i,f,k,0,1)|0;RC(m,137763,176,1)|0;c[(c[m+16>>2]|0)+116>>2]=d;m=(c[g>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;k=(c[k+16>>2]|0)+236|0;c[k>>2]=(c[k>>2]|0)+1;d=WA(a,d)|0}e=hC(a,e)|0}c[b>>2]=i;l=j;return h|0}function xz(a){a=a|0;var b=0,c=0;c=zz()|0;b=gC(a)|0;while(1){if(!b)break;Ez(c,b);b=hC(a,b)|0}return c|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=IK(p)|0;p=IK(p)|0;i=0;l=ZA(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=ZA(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=fB(a,g,e,0,0)|0;if(i)if(g>>>0<e>>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{tC(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=_A(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=_A(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;RC(fB(a,f,m,0,1)|0,137763,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;RC(fB(a,d,m,0,1)|0,137763,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;RC(fB(a,m,n,0,1)|0,137763,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);l6(p);l6(o);return}function zz(){return Sz(18280,c[4591]|0)|0}function Az(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Cz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function Dz(a){a=a|0;Oz(a)|0;return}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(eb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];f=eb[c[a>>2]&63](a,f,4)|0;if(!f)Aa(96623,96626,107,96636);d=f+12|0;g=c[d>>2]|0;if((g|0)==(b|0)){b=c[(c[e>>2]|0)+164>>2]|0;c[d>>2]=b;if(!b)eb[c[a>>2]&63](a,f,2)|0}else{f=g;d=g+16|0;while(1){a=c[(c[d>>2]|0)+164>>2]|0;e=(a|0)!=0;d=a+16|0;if(!(e&(a|0)!=(b|0)))break;else f=a}if(e)c[(c[f+16>>2]|0)+164>>2]=c[(c[d>>2]|0)+164>>2]}l=h;return}function Gz(a){a=a|0;var b=0,d=0,e=0,f=0;d=eb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)eb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function Hz(){return Sz(18316,c[4591]|0)|0}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Kz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function Lz(a){a=a|0;Oz(a)|0;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,2)|0;l=d;return}function Oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=tb[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Xz(a,0)|0;e=(b|0)==0;f=a+12|0;if(e){eb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Uz(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){tb[c[f>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}tb[c[f>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(e&(b|0)==1)tb[c[f>>2]&127](a,a,0,h)|0}else l6(a);b=c[g>>2]|0;if(!b)b=0;else{tb[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Pz(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Qz(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Qz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;b=c[g>>2]|0;d=c[b>>2]|0;e=b+4|0;if(!(d&4096)){a=b+8|0;a:do if(!(d&3)){if(d&112|0){a=c[a>>2]|0;break}a=c[e>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a>>2]|0;f=e+(c[b+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[e>>2]|0;return a|0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=a+8|0;if(c[c[t>>2]>>2]&4096|0)Tz(a,0)|0;s=c[a+4>>2]|0;k=c[s>>2]|0;l=c[s+4>>2]|0;p=s+8|0;i=c[p>>2]|0;m=c[s+20>>2]|0;n=a+20|0;f=c[n>>2]&-32769;c[n>>2]=f;q=s+16|0;v=0-i|0;r=a+12|0;w=(i|0)<0;o=(d&4098|0)!=0;a:do if(!b){if(d&384|0){f=c[t>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}if(o){e=c[t>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{i=e;u=86;break}}if(!(d&64))e=0;else{b:do if((c[q>>2]|0)!=0|w){e=c[(c[t>>2]|0)+8>>2]|0;while(1){if(!e)break b;f=c[e>>2]|0;g=c[q>>2]|0;if(g|0){if(w)h=c[e+8>>2]|0;else h=e+v|0;rb[g&127](a,h,s)}if((c[p>>2]|0)>=0){e=f;continue}tb[c[r>>2]&127](a,e,0,s)|0;e=f}}while(0);e=c[t>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[t>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=s+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=eb[e&63](a,b,s)|0;if(!e){e=0;break}else f=e}else f=b;do if((i|0)>-1)b=f+i|0;else{e=tb[c[r>>2]&127](a,0,12,s)|0;if(e|0){c[e+8>>2]=f;b=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[q>>2]|0;if(h|(e|0)==0){e=0;break a}rb[e&127](a,f,s);e=0;break a}while(0);e=c[t>>2]|0;f=c[e>>2]|0;g=(d&8192|0)!=0;i=b+4|0;h=e+8|0;do if(!(f&128)){if(!(f&16))if(!(f&32)){u=52;break}else{u=48;break}f=c[e+4>>2]|0;e=(f|0)!=0;if(g){if(!e){u=52;break}e=c[f>>2]|0;if(!e){u=52;break}c[b>>2]=e;c[e+4>>2]=b;c[i>>2]=f;c[f>>2]=b;break}else{if(!e){u=48;break}e=c[h>>2]|0;if((f|0)==(e|0)){u=49;break}d=f+4|0;s=c[d>>2]|0;c[i>>2]=s;c[s>>2]=b;c[b>>2]=f;c[d>>2]=b;break}}else if(g)u=52;else u=48;while(0);if((u|0)==48){e=c[h>>2]|0;u=49}else if((u|0)==52){e=c[h>>2]|0;if(!e){c[h>>2]=b;e=b}else{d=e+4|0;c[c[d>>2]>>2]=b;c[i>>2]=c[d>>2]}c[e+4>>2]=b;c[b>>2]=0}if((u|0)==49){c[b>>2]=e;if(!e)e=b;else c[i>>2]=c[e+4>>2];c[e+4>>2]=b;c[(c[t>>2]|0)+8>>2]=b}e=c[t>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=b;if(w){e=c[b+8>>2]|0;break}else{e=b+v|0;break}}do if(!(d&512)){h=c[t>>2]|0;e=c[h+4>>2]|0;if(e|0){if(w)g=c[e+8>>2]|0;else g=e+v|0;if((g|0)==(b|0))break}e=b+k|0;if((l|0)<0){b=c[e>>2]|0;j=1;u=70}else{b=e;j=0;u=70}}else{h=c[t>>2]|0;j=(l|0)<0;u=70}while(0);if((u|0)==70){g=(m|0)==0;i=(l|0)<1;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(w)f=c[e+8>>2]|0;else f=e+v|0;f=f+k|0;if(j)f=c[f>>2]|0;do if(g)if(i){f=f2(b,f)|0;break}else{f=g2(b,f,l)|0;break}else f=tb[m&127](a,b,f,s)|0;while(0)}while((f|0)!=0);f=c[n>>2]|0}c[n>>2]=f|32768;if(!o){f=c[t>>2]|0;do if(!(d&8)){if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;u=110;break}}else u=110;while(0);if((u|0)==110){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}else{i=e;u=86}}while(0);if((u|0)==86){e=c[i>>2]|0;g=i+4|0;if(e){c[e+4>>2]=c[g>>2];e=c[i>>2]|0}f=(c[t>>2]|0)+8|0;u=c[f>>2]|0;h=u+4|0;if((i|0)==(u|0)){c[f>>2]=e;e=c[(c[t>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h>>2]}else{c[c[g>>2]>>2]=e;if((i|0)==(c[h>>2]|0))c[h>>2]=c[g>>2]}e=c[t>>2]|0;f=e+4|0;if((i|0)==(c[f>>2]|0))g=c[i>>2]|0;else g=0;c[f>>2]=g;u=e+16|0;c[u>>2]=(c[u>>2]|0)+-1;if(w)e=c[i+8>>2]|0;else e=i+v|0;f=c[q>>2]|0;if(!((d&2|0)==0|(f|0)==0))rb[f&127](a,e,s);if((c[p>>2]|0)<0)tb[c[r>>2]&127](a,i,0,s)|0}return e|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;a:do if((a|0)!=0&(b|0)!=0?(f=k6(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;_z(f,a,0)|0;d=f+20|0;j=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[j>>2]|0;g=b+4|0;do if(d){c[h>>2]=0;d=tb[d&127](f,1,h,a)|0;if((d|0)>=0)if(d){e=c[h>>2]|0;if(e|0)if(!(c[g>>2]&c[e>>2])){d=f;i=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;i=12}else{l6(f);e=tb[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;_z(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;i=11}}else{d=f;i=11}else{d=f;i=12}}else{d=f;i=11}while(0);if((i|0)==11){e=tb[c[d+12>>2]&127](d,0,28,a)|0;c[h>>2]=e;if(!e){d=f;i=12}else{c[e>>2]=c[g>>2];h=e+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0}}if((i|0)==12){l6(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[j>>2]|0;if(e)tb[e&127](d,5,f,a)|0}else d=0;while(0);l=k;return d|0}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[c[a+16>>2]>>2]|0;j=a+8|0;f=c[j>>2]|0;g=c[f>>2]|0;d=f+4|0;e=f+16|0;if(!b)if(!(g&4096))b=-1;else{h=1;b=c[d>>2]|0;k=5}else if(!(c[e>>2]|0)){h=0;k=5}else b=-1;a:do if((k|0)==5){c[f>>2]=g&-4097;if(!(g&3)){if(!(g&12)){c[d>>2]=0;d=f+8|0}c[d>>2]=b;if(h){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[d>>2]=0;if(!h){c[e>>2]=0;while(1){if(!b){b=0;break a}k=c[b>>2]|0;eb[i&63](a,b,32)|0;b=k}}e=c[f+8>>2]|0;f=e+(c[f+12>>2]<<2)|0;while(1){if(e>>>0>=f>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Uz(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Tz(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Vz(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Vz(a){a=a|0;var b=0;if(!a)return 0;else{b=Vz(c[a+4>>2]|0)|0;return b+1+(Vz(c[a>>2]|0)|0)|0}return 0}function Wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;F=Q+120|0;p=Q;P=a+8|0;e=c[P>>2]|0;if(c[e>>2]&4096){Tz(a,0)|0;e=c[P>>2]|0}M=c[a+4>>2]|0;J=c[M>>2]|0;K=c[M+4>>2]|0;y=M+8|0;v=c[y>>2]|0;L=c[M+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;B=a+12|0;A=M+16|0;N=0-v|0;O=(v|0)<0;j=(h|0)!=0;a:do if(!b)if((d&448|0)==0|j^1)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break}else{e=e+N|0;break}}if((c[A>>2]|0)!=0|O){e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[A>>2]|0;if(f|0){if(O)g=c[h+8>>2]|0;else g=h+N|0;rb[f&127](a,g,M)}if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0}while((e|0)!=0);e=c[P>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{D=a+16|0;G=(K|0)<0;E=F+4|0;u=(d&4098|0)!=0;H=(L|0)!=0;C=(d&2|0)!=0;I=(K|0)<1;i=b+J|0;c:do if((c[(c[D>>2]|0)+4>>2]|0)!=8|u^1)x=44;else{if(G)g=c[i>>2]|0;else g=i;f=eb[c[a>>2]&63](a,b,4)|0;while(1){if(!f){x=44;break c}e=f+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(g,e)|0;break}else{e=g2(g,e,K)|0;break}else e=tb[L&127](a,g,e,M)|0;while(0);if(e|0){x=44;break c}if((f|0)==(b|0))break;f=eb[c[a>>2]&63](a,f,8)|0}h=c[(c[P>>2]|0)+4>>2]|0;c[F>>2]=c[h+4>>2];c[E>>2]=c[h>>2];e=F;x=174}while(0);d:do if((x|0)==44){z=(d&516|0)!=0;s=(d&32|0)!=0;do if(!(d&2565)){if(s){if(O)g=c[b+8>>2]|0;else g=b+N|0;e=g+J|0;if(G)e=c[e>>2]|0;if(j){r=b;q=e;m=b;x=62;break}else{e=b;o=F;n=F;h=0;m=b;break}}if(j){if(O)e=c[h+8>>2]|0;else e=h+N|0;if((e|0)!=(b|0))if(G){g=b;r=0;q=c[i>>2]|0;m=0;x=62}else{g=b;r=0;q=i;m=0;x=62}else{g=b;e=0;o=F;n=F;m=0}}else{g=b;e=0;o=F;n=F;h=0;m=0}}else{e=(d&512|0)!=0;if(e|G^1)e=e?b:i;else e=c[i>>2]|0;if(j){g=b;r=0;q=e;m=0;x=62}else{g=b;e=0;o=F;n=F;h=0;m=0}}while(0);e:do if((x|0)==62){f:do if((c[(c[D>>2]|0)+4>>2]|0)==4?(o=c[(c[P>>2]|0)+24>>2]|0,!((o|0)==0|z^1)):0){i=0;j=h;while(1){if((i|0)>=(o|0)){f=F;n=F;k=0;break}b=j+8|0;e=j+N|0;if(O)f=c[b>>2]|0;else f=e;f=f+J|0;if(G)f=c[f>>2]|0;do if(!H)if(I){f=f2(q,f)|0;break}else{f=g2(q,f,K)|0;break}else f=tb[L&127](a,q,f,M)|0;while(0);if(!f){x=75;break}c[p+(i<<2)>>2]=f;j=c[((f|0)<0?j+4|0:j)>>2]|0;if(!j){e=0;break a}else i=i+1|0}if((x|0)==75){if(!O)break a;e=c[b>>2]|0;break a}while(1){if((k|0)>=(o|0)){e=h;break f}j=f+4|0;b=c[p+((k|1)<<2)>>2]|0;do if((c[p+(k<<2)>>2]|0)<0){e=h+4|0;i=c[e>>2]|0;if((b|0)<0){c[e>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;f=i;h=n;e=i+4|0;break}else{c[n>>2]=i;c[j>>2]=h;f=h;h=i;e=i;break}}else{i=c[h>>2]|0;e=i+4|0;if((b|0)>0){c[h>>2]=c[e>>2];c[e>>2]=h;c[n>>2]=i;h=i;e=i;break}else{c[j>>2]=i;c[n>>2]=h;f=i;break}}while(0);n=h;k=k+2|0;h=c[e>>2]|0}}else{f=F;n=F;e=h}while(0);g:while(1){i=f;h=e;while(1){if(O)e=c[h+8>>2]|0;else e=h+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if(!e){e=r;o=i;break e}j=i+4|0;if((e|0)>=0)break;f=h+4|0;i=c[f>>2]|0;if(!i){x=115;break g}if(O)e=c[i+8>>2]|0;else e=i+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if((e|0)>=0){x=112;break}c[f>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;h=c[i+4>>2]|0;if(!h){e=r;o=i;h=0;break e}}if((x|0)==112){x=0;if(!e){x=113;break}c[n>>2]=i;c[j>>2]=h;e=c[i>>2]|0;if(!e){e=r;o=h;n=i;h=0;break e}else{f=h;n=i;continue}}b=c[h>>2]|0;if(!b){x=133;break}if(O)e=c[b+8>>2]|0;else e=b+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);f=b+4|0;if((e|0)>0){c[h>>2]=c[f>>2];c[f>>2]=h;c[n>>2]=b;e=c[b>>2]|0;if(!e){e=r;o=i;n=b;h=0;break e}else{f=i;n=b;continue}}if(!e){x=131;break}c[j>>2]=b;c[n>>2]=h;e=c[f>>2]|0;if(!e){e=r;o=b;n=h;h=0;break e}else{f=b;n=h}}if((x|0)==113){c[j>>2]=h;e=r;o=h;h=i;break}else if((x|0)==115){c[j>>2]=h;e=r;o=h;h=0;break}else if((x|0)==131){c[n>>2]=h;e=r;o=i;n=h;h=b;break}else if((x|0)==133){c[n>>2]=h;e=r;o=i;n=h;h=0;break}}while(0);i=o+4|0;j=(d&8|0)!=0;b=(d&2049|0)!=0;k=(d&16|0)!=0;do if(!h){c[i>>2]=0;c[n>>2]=0;if(!j)if(!k){if(z){e=o;break d}if(b)x=199;else{if(!s){g=0;e=o;break d}C=(c[P>>2]|0)+16|0;c[C>>2]=(c[C>>2]|0)+1}}else x=169;else x=163}else{c[t>>2]=c[t>>2]|32768;f=h+4|0;c[n>>2]=c[f>>2];c[i>>2]=c[h>>2];if(!z){if(j){c[f>>2]=c[F>>2];c[h>>2]=0;c[F>>2]=h;x=163;break}if(k){c[h>>2]=c[E>>2];c[f>>2]=0;c[E>>2]=h;x=169;break}if(u){e=o;x=174;break d}if(b){if(c[(c[D>>2]|0)+4>>2]&4|0){e=h;break}c[f>>2]=0;c[h>>2]=c[E>>2];c[E>>2]=h;x=199;break}if(!s){e=0;break a}if(!(c[(c[D>>2]|0)+4>>2]&4)){c[e+4>>2]=0;c[e>>2]=c[E>>2];c[E>>2]=m;e=(c[P>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[A>>2]|0;if(e|0)rb[e&127](a,g,M);if((c[y>>2]|0)<0){tb[c[B>>2]&127](a,m,0,M)|0;e=h}else e=h}else e=h}while(0);if((x|0)==163){e=c[E>>2]|0;if(!e){e=o;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[E>>2]=c[e>>2]}else if((x|0)==169){e=c[F>>2]|0;if(!e){e=o;break}while(1){f=c[e>>2]|0;if(!f)break;C=f+4|0;c[e>>2]=c[C>>2];c[C>>2]=e;e=f}c[F>>2]=c[e+4>>2]}else if((x|0)==199){i=M+12|0;e=c[i>>2]|0;f=(d&1|0)==0;if(!(f|(e|0)==0))g=eb[e&63](a,g,M)|0;do if(g){if((v|0)>-1){e=g+v|0;x=209;break}e=tb[c[B>>2]&127](a,0,12,M)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[A>>2]|0,!(f|(w|0)==0)):0){rb[w&127](a,g,M);x=209}else x=209}else{e=h;x=209}while(0);if((x|0)==209)if(!e){e=o;break}f=(c[P>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[F>>2];c[e>>2]=c[E>>2];h:do if(!((c[(c[D>>2]|0)+4>>2]&8|0)==0|z^1)){if(O)f=c[e+8>>2]|0;else f=e+N|0;f=f+J|0;if(G)f=c[f>>2]|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;F=h+4|0;c[g>>2]=c[F>>2];c[F>>2]=g;g=h}c[i>>2]=g;if(O)h=c[g+8>>2]|0;else h=g+N|0;h=h+J|0;if(G)h=c[h>>2]|0;do if(!H)if(I){h=f2(f,h)|0;break}else{h=g2(f,h,K)|0;break}else h=tb[L&127](a,f,h,M)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break a}else{e=e+N|0;break a}}while(0);if((x|0)==174){if(O)g=c[h+8>>2]|0;else g=h+N|0;f=c[A>>2]|0;if(!((f|0)==0|C^1))rb[f&127](a,g,M);if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0;O=(c[P>>2]|0)+16|0;N=c[O>>2]|0;c[O>>2]=(N|0)<1?-1:N+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[F>>2];c[(c[P>>2]|0)+4>>2]=c[E>>2];e=C?g:0}while(0);l=Q;return e|0}function Xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(c[c[a+8>>2]>>2]&4096|0)Tz(a,0)|0;f=(b|0)!=0;g=a+16|0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Tz(b,0)|0;if((c[b+16>>2]|0)==(c[g>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){h=e+24|0;c[h>>2]=(c[h>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=31;h=b+24|0;c[h>>2]=(c[h>>2]|0)+1;break}else{c[a>>2]=c[c[g>>2]>>2];b=e;break}}while(0);return b|0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a+16|0;a:do if(!(d&99)){p=a+32|0;if((d&516|0)==0?(e=(c[(c[f>>2]|0)+4>>2]&12|0)!=0,(d&384|0)==0|e):0){if(e){if(!(d&408)){e=0;break}n=(d&136|0)!=0;o=(d&272|0)!=0;m=0;f=0;e=0;while(1){if(!a)break;l=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;do if(!l)g=m;else{h=c[a+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=l+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=f2(k,f)|0;break}else{g=g2(k,f,i)|0;break}else g=tb[j&127](a,k,f,h)|0;while(0);if(!(n&(g|0)<0|o&(g|0)>0)){g=m;break}}g=a;f=k;e=l}while(0);m=g;a=c[a+28>>2]|0}c[p>>2]=m;break}if(!(d&24)){e=0;break}f=c[p>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=eb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[p>>2]=0;e=0;break a}else if((h|0)==36){c[p>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=eb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(eb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=eb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[p>>2]=f;if(!f){e=0;break a}e=eb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}while(1){if(!a){a=0;e=0;break}e=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;if(e|0)break;a=c[a+28>>2]|0}c[p>>2]=a}else e=eb[c[c[f>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=eb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=eb[c[a>>2]&63](a,f,8)|0;e=eb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;g=b+28|0;h=a+12|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;i=a+8|0;if(c[c[i>>2]>>2]&4096|0)Tz(a,0)|0;e=c[n+32>>2]|0;if(e|0?(tb[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[g>>2]|0;c[h>>2]=(e|0)==0?52:e;e=c[c[i>>2]>>2]|0;if(!(e&112)){l=(d&2|0)!=0;do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(l){b=n;break a}while(0);g=Qz(a)|0;e=c[i>>2]|0;k=c[e>>2]|0;c[e>>2]=k&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(k&3|0){k=c[e+8>>2]|0;f=k+(c[e+12>>2]<<2)|0;e=k;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=b+8|0;j=b+4|0;k=b+24|0;while(1){if(!g){b=n;break a}d=c[g>>2]|0;if(!l){e=c[i>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;h=c[j>>2]|0;e=e+(c[b>>2]|0)|0;if((h|0)<0)e=c[e>>2]|0;f=c[k>>2]|0;if(!f)e=aA(0,e,h)|0;else e=eb[f&63](a,e,b)|0;c[g+4>>2]=e}eb[m&63](a,g,32)|0;g=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[g>>2]|0;c[h>>2]=(n|0)==0?52:n}while(0);return b|0}function $z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=k6(c)|0;else if(a){l6(b);a=0;break}else{a=n6(b,c)|0;break}while(0);return a|0}function aA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=S(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=S(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=S(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return S(b+c|0,17109811)|0}function bA(a){a=a|0;var b=0;b=c[46977]|0;c[46977]=a;return b|0}function cA(a){a=a|0;var b=0;b=c[46978]|0;c[46978]=a;return b|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=eA(a,b,f)|0;l=e;return d|0}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=(a|0)==3?c[46981]|0:(a|0)==2?1:a;c[46981]=e;g=c[46982]|0;c[46982]=g>>>0>e>>>0?g:e;g=(a|0)!=3;do if(e>>>0<(c[46978]|0)>>>0){a=c[46979]|0;if(!a){a=$5()|0;c[46979]=a;if(!a){a=1;break}}if(g){c[46980]=Y5(a)|0;a=c[46979]|0}l2(a,b,d)|0;a=0}else{if(c[46977]|0){fA(a,b,d);a=0;break}e=c[15715]|0;if(g){c[f>>2]=(a|0)==1?96650:96656;z4(e,96664,f)|0}l2(e,b,d)|0;a=0}while(0);l=h;return a|0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[46983]|0)==0?(f=k6(c[4600]|0)|0,c[46983]=f,(f|0)==0):0)Z3(96669,c[15715]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){pb[c[46977]&63]((a|0)==1?96650:96656)|0;pb[c[46977]&63](97328)|0}while(1){a=k2(c[46983]|0,c[4600]|0,b,d)|0;f=c[46983]|0;e=c[4600]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}g=e<<1;e=a+1|0;e=(g|0)>(e|0)?g:e;c[4600]=e;if(!(n6(f,e)|0)){e=9;break}}if((e|0)==7){pb[c[46977]&63](f)|0;break}else if((e|0)==9){Z3(96669,c[15715]|0)|0;break}}while(0);return}function gA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eA(1,a,e)|0;l=d;return}function hA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+12|0;if(!e){d=(d|0)==0?1024:d;c[f>>2]=1;e=k6(d)|0;c[b>>2]=e}else{c[b>>2]=e;c[f>>2]=0}c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function iA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;g=c[a>>2]|0;f=g;e=(c[h>>2]|0)-f|0;d=e<<1;e=e+b|0;d=e>>>0>d>>>0?e:d;e=a+4|0;f=(c[e>>2]|0)-f|0;b=a+12|0;if(!(c[b>>2]|0)){i=k6(d)|0;B6(i|0,g|0,f|0)|0;c[b>>2]=1;b=i}else b=n6(g,d)|0;c[a>>2]=b;c[e>>2]=b+f;c[h>>2]=b+d;return 0}function jA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){iA(a,d)|0;e=c[f>>2]|0}B6(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function kA(a,b){a=a|0;b=b|0;return jA(a,b,D3(b)|0)|0}function lA(a){a=a|0;if(c[a+12>>2]|0)l6(c[a>>2]|0);return}function mA(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function nA(a,b,d){a=a|0;b=b|0;d=d|0;fD(c[46985]|0,c[b+8>>2]|0)|0;fD(c[46985]|0,c[b+12>>2]|0)|0;bC(c[46985]|0,b);return}function oA(a,b){a=a|0;b=b|0;var c=0;c=PC(a,96717,0)|0;if((b|0)!=0&(c|0)==0){pA(a);c=PC(a,96717,0)|0}return c|0}function pA(a){a=a|0;var b=0,c=0,d=0;d=vC(a)|0;zE(d,d,107,0,1)|0;c=gC(d)|0;while(1){if(!c)break;rA(a,c);b=UA(d,c)|0;while(1){if(!b)break;sA(a,b);b=WA(d,b)|0}c=hC(d,c)|0}return}function qA(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;xA(b);c=OD(b)|0;uA((c|0)==0?b:c,b);return}function rA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function sA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function tA(a){a=a|0;return PC(a,c[4610]|0,0)|0}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=RC(b,c[4610]|0,16,0)|0;f=vA(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=vC(a)|0;c[e>>2]=vA(a,c[b>>2]&3)|0;a=wA(b)|0;d=d+12|0;c[d>>2]=aC(uC(b)|0,((a|0)>4?a:4)<<2)|0;a=eb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=uC(b)|0;e=dD(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=eb[c[f>>2]&63](f,a,8)|0}}while(0);return}function vA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=oA(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;dA(1,96730,d)|0;a=0;break a}}while(0);l=e;return a|0}function wA(a){a=a|0;var b=0;b=vC(uC(a)|0)|0;a=vA(b,c[a>>2]&3)|0;if(!a)a=0;else a=Uz(a)|0;return a|0}function xA(a){a=a|0;var b=0,d=0,e=0,f=0;d=RC(a,96717,20,0)|0;e=d+8|0;c[e>>2]=SD(a,18404,c[4599]|0)|0;f=d+12|0;c[f>>2]=SD(a,18404,c[4599]|0)|0;d=d+16|0;c[d>>2]=SD(a,18404,c[4599]|0)|0;b=OD(a)|0;if(!b){b=c[46984]|0;if(!((b|0)==0|(b|0)==(a|0))){b=oA(b,0)|0;yA(c[b+8>>2]|0,c[e>>2]|0,a,1);yA(c[b+12>>2]|0,c[f>>2]|0,a,2);yA(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=oA(b,0)|0;Xz(c[e>>2]|0,c[a+8>>2]|0)|0;Xz(c[f>>2]|0,c[a+12>>2]|0)|0;Xz(c[d>>2]|0,c[a+16>>2]|0)|0}return}function yA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=eb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=zA(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;eb[c[d>>2]&63](d,h,1)|0;g=eb[c[b>>2]&63](b,g,8)|0}return}function zA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=aC(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=dD(b,d)|0;c[h+12>>2]=dD(b,e)|0;c[h+16>>2]=f;return h|0}function AA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function BA(a,b){a=a|0;b=b|0;var c=0;c=Xz(a,0)|0;b=AA(a,b)|0;Xz(a,c)|0;return b|0}function CA(a,b){a=a|0;b=b|0;a=tA(a)|0;if(!a)a=0;else a=AA(c[a+8>>2]|0,b)|0;return a|0}function DA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!a){a=c[46984]|0;if(!a){c[f>>2]=c[4611];a=lB(0,f,0)|0;c[46984]=a}}if(!e)a=FA(a,b,d)|0;else a=EA(a,b,d,e)|0;l=g;return a|0}function EA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=vC(a)|0;oA(a,1)|0;g=vA(a,b)|0;f=BA(g,d)|0;a:do if(!f){f=AA(g,d)|0;if(f|0){f=zA(a,d,e,c[f+16>>2]|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;h=16;break}g=vA(i,b)|0;f=zA(a,d,e,Uz(g)|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{zE(i,i,57,f,1)|0;h=16;break a}case 1:{d=gC(i)|0;while(1){if(!d){h=16;break a}GA(a,d,f);d=hC(i,d)|0}}case 2:case 3:{g=gC(i)|0;while(1){if(!g){h=16;break a}d=UA(i,g)|0;while(1){if(!d)break;GA(a,d,f);d=WA(i,d)|0}g=hC(i,g)|0}}default:break a}}else{h=f+12|0;fD(a,c[h>>2]|0)|0;c[h>>2]=dD(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)HA(a,f,e)|0;yC(a,a,f);return f|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;a=vA(a,b)|0;if(!a)a=0;else a=AA(a,c)|0;return a|0}function GA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=tA(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=tb[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=dD(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function HA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=uC(a)|0;g=(tA(a)|0)+12|0;i=b+16|0;fD(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=dD(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(oA(h,0)|0)+16>>2]|0;f=b+8|0;g=BA(e,c[f>>2]|0)|0;if(!g){i=zA(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;eb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;fD(h,c[i>>2]|0)|0;c[i>>2]=dD(h,d)|0;break}}while(0);yC(h,a,b);return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;a=vA(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=eb[b&63](a,0,128)|0;break}else{a=eb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function JA(a){a=a|0;var b=0;c[46985]=a;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[b>>2]|0)|0}b=oA(a,0)|0;if(b)if(((UD(a,c[b+8>>2]|0)|0)==0?(UD(a,c[b+12>>2]|0)|0)==0:0)?(UD(a,c[b+16>>2]|0)|0)==0:0){TC(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=uC(a)|0;e=wA(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;fD(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}bC(f,d);return}function LA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function MA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function NA(a,b){a=a|0;b=b|0;b=CA(a,b)|0;if(!b)b=0;else{a=c[(tA(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function OA(a,b){a=a|0;b=b|0;a=c[(tA(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function PA(a,b,c){a=a|0;b=b|0;c=c|0;b=CA(a,b)|0;if(!b)b=-1;else{HA(a,b,c)|0;b=0}return b|0}function QA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=uC(a)|0;f=DA(f,c[a>>2]&3,b,0)|0;if(!f){f=uC(a)|0;f=DA(f,c[a>>2]&3,b,e)|0}HA(a,f,d)|0;return 0}function RA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=uC(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=IA(g,f&3,e)|0;if(!e)break a;d=CA(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=OA(a,e)|0;HA(b,d,f)|0;if(gD(f)|0)hD(OA(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function SA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function TA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function UA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function VA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function WA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function XA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function ZA(a,b){a=a|0;b=b|0;var c=0;c=UA(a,b)|0;if(!c)c=XA(a,b)|0;return c|0}function _A(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=WA(a,b)|0;if(!b){b=0;do{if(!b)b=XA(a,d)|0;else b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function $A(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((wB(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(dB(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function aB(a,b){a=a|0;b=b|0;cB(a,b);return}function bB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;lC(b,d,1)|0;lC(b,e,1)|0;h=aC(b,96)|0;i=h+48|0;l=oB(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;cB(b,h);if(a[b+24>>0]&64){RC(h,c[4610]|0,16,0)|0;sA(b,h)}wC(b,h);return h|0}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(dB(a,e,f,d)|0)break;j=VA(a,e)|0;m=a+44|0;eB(c[m>>2]|0,j+32|0,g);k=a+48|0;eB(c[k>>2]|0,j+24|0,g);j=VA(a,f)|0;eB(c[m>>2]|0,j+28|0,h);eB(c[k>>2]|0,j+20|0,h);a=OD(a)|0}l=i;return}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=VA(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Tz(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,f,4)|0;c[g>>2]=Pz(c[e>>2]|0)|0}else a=0;l=h;return a|0}function eB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,1)|0;c[b>>2]=Pz(a)|0;return}function fB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+24|0;m=o+16|0;j=o;h=(f|0)!=0;do if(!(EB(a,2,e,m,0)|0)){if(e|0)if(h){n=18;break}else{f=0;break}if(h?(wB(a)|0)==0:0){n=18;break}n=j;c[n>>2]=0;c[n+4>>2]=0;c[j>>2]=0;n=j+8|0;c[n>>2]=0;c[n+4>>2]=0;n=7}else{g=j;c[g>>2]=0;c[g+4>>2]=0;g=m;k=c[g+4>>2]|0;n=j+8|0;c[n>>2]=c[g>>2];c[n+4>>2]=k;c[j>>2]=2;n=7}while(0);a:do if((n|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(a,b,d,i)|0;if(f|0)break;if(!(vB(a)|0))k=0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];k=dB(a,d,b,i)|0}g=(k|0)!=0;f=h^1;do if(g|f)g=g^1;else{f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,b,d,i)|0;if(!f){if(!(vB(a)|0)){g=1;f=0;break}f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,d,b,i)|0;if(!f){g=1;f=0;break}}aB(a,f);break a}while(0);if(f|g^1)f=g?0:k;else n=18}while(0);if((n|0)==18)if(($A(a,b,d)|0)!=0?(EB(a,2,e,m,1)|0)!=0:0){f=m;f=bB(a,b,d,c[f>>2]|0,c[f+4>>2]|0)|0;IB(a,2,f)}else f=0;l=o;return f|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=VA(a,c[d+40>>2]|0)|0;f=a+44|0;hB(c[f>>2]|0,h+32|0,g);e=a+48|0;hB(c[e>>2]|0,h+24|0,g);b=VA(a,b)|0;hB(c[f>>2]|0,b+28|0,d);hB(c[e>>2]|0,b+20|0,d);return}function hB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,2)|0;c[b>>2]=Pz(a)|0;return}function iB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(dB(b,h,g,f)|0){if((vC(b)|0)==(b|0)){if(a[b+24>>0]&64)MA(d);AC(b,d);ZC(d);h=d+8|0;GB(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(zE(b,d,58,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function jB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=lC(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=lC(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=dB(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{cB(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t6(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function lB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=mB(e)|0;f=vb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=vb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(EB(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=nB(f)|0;IB(k,0,f);l=h;return k|0}function mB(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18780:e}else e=18780;g=pb[c[e>>2]&63](b)|0;f=vb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18656:g;b=c[b+8>>2]|0;b=(b|0)==0?18756:b}else{c[f+4>>2]=18656;b=18756}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function nB(b){b=b|0;var d=0,e=0;c[b+36>>2]=SD(b,18836,c[4599]|0)|0;c[b+40>>2]=SD(b,18800,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+44>>2]=SD(b,d?18448:18484,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+48>>2]=SD(b,d?18520:18556,c[4599]|0)|0;c[b+52>>2]=SD(b,18592,c[4599]|0)|0;d=OD(b)|0;if(!((d|0)!=0?(e=oB(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,eb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))qA(b);wC(b,b);return b|0}function oB(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=D;c[d>>2]=b;c[d+4>>2]=a;D=a;return b|0}function pB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=OD(b)|0;g=(f|0)==0;h=b+64|0;if(g?(c[(c[c[h>>2]>>2]|0)+16>>2]|0)!=0:0){AC(b,b);d=b+8|0;GB(b,0,c[d>>2]|0,c[d+4>>2]|0);d=c[h>>2]|0;db[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=MD(b)|0;while(1){if(!d)break;e=ND(d)|0;pB(d)|0;d=e}d=gC(b)|0;while(1){if(!d)break;e=hC(b,d)|0;sC(b,d)|0;d=e}RB(b);AC(b,b);if(((((UD(b,c[b+40>>2]|0)|0)==0?(UD(b,c[b+36>>2]|0)|0)==0:0)?(UD(b,c[b+48>>2]|0)|0)==0:0)?(UD(b,c[b+44>>2]|0)|0)==0:0)?(UD(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?JA(b)|0:0){d=-1;break}ZC(b);e=b+8|0;GB(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){PD(f,b)|0;bC(f,b);d=0;break}while(1){d=c[h>>2]|0;e=c[d+48>>2]|0;if(!e)break;DC(b,c[e>>2]|0)|0}db[c[(c[d+4>>2]|0)+20>>2]&127](c[d+16>>2]|0);if(!(_C(b)|0)){d=c[h>>2]|0;h=c[d+12>>2]|0;g=(c[d>>2]|0)+12|0;lb[c[g>>2]&63](h,b);lb[c[g>>2]&63](h,d);d=0}else d=-1}else d=-1}while(0);return d|0}function qB(a){a=a|0;return Uz(c[a+40>>2]|0)|0}function rB(a){a=a|0;var b=0,c=0,d=0;b=0;c=gC(a)|0;while(1){if(!c)break;d=(sB(a,c,0,1)|0)+b|0;b=d;c=hC(a,c)|0}return b|0}function sB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=VA(a,b)|0;if(f){a=a+44|0;if(!e)b=0;else b=tB(c[a>>2]|0,f+32|0)|0;if(d)b=(tB(c[a>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function tB(a,b){a=a|0;b=b|0;var d=0;Tz(a,c[b>>2]|0)|0;d=Uz(a)|0;c[b>>2]=Pz(a)|0;return d|0}function uB(b){b=b|0;return a[b+24>>0]&1|0}function vB(a){a=a|0;return (uB(a)|0)==0|0}function wB(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function xB(a,b){a=a|0;b=b|0;return a|0}function yB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=w6(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=D}else{if(!f)a=aD(a,d)|0;else a=dD(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function zB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function AB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)fD(a,c)|0;return}function BB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function CB(a){a=a|0;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;return} -function Ol(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)Aa(88706,88689,190,88725);d=c[a+196>>2]|0;a=(b[a+238>>1]<<6)+192|0;if(!d)a=IK(a)|0;else a=KK(d,a)|0;e=a+64|0;a=c[g>>2]|0;c[a+196>>2]=e;a=b[a+238>>1]|0;while(1){d=e+(a<<6)|0;if((a|0)<=-1)break;a=a+-1|0;e=e+(a<<6)|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[(c[g>>2]|0)+196>>2]|0}c[e+(a<<6)+8>>2]=0;c[d>>2]=0;e=HK(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Pl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=dg(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Ql(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[g+(d<<6)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Rl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=kh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=kh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Sl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Tl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Tl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;e=c[(c[g>>2]|0)+196>>2]|0;f=c[e+(b<<6)+4>>2]|0;e=(c[e+(b<<6)>>2]<<2)+8|0;if(!f)f=IK(e)|0;else f=KK(f,e)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=ph(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Tl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;h=o+4|0;g=o;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){n=c[b+236>>2]|0;m=d+4|0;j=c[b+180>>2]|0;if(c[b+176>>2]|0){b=0;g=0;h=0;while(1){i=c[j+(h<<2)>>2]|0;if(!i)break;i=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(i|0)>(e|0);b=k?((i|0)<(f|0)?b:1):b;g=k?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=n+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[m>>2]=n+-1;break}if((c[b+184>>2]|0)!=2)Aa(88669,88689,63,88696);k=c[j>>2]|0;j=c[j+4>>2]|0;Sl(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,h,g);j=c[g>>2]|0;k=d+8|0;if((j|0)<=(e|0)){c[d>>2]=n;c[k>>2]=n;break}i=c[h>>2]|0;h=d+12|0;if((i|0)>=(f|0)){c[m>>2]=n;c[h>>2]=n;break}b=(i|0)<(e|0);g=(j|0)>(f|0);if(!(g&b)){if(!(!b?!((j|0)<(f|0)&(i|0)==(e|0)):0))c[k>>2]=n;if(!g?!((j|0)==(f|0)&(i|0)>(e|0)):0)break;c[h>>2]=n}}while(0);l=o;return}function Ul(a){a=a|0;c[47180]=1;mm(a);c[47180]=0;return}function Vl(a){a=a|0;c[47180]=2;mm(a);c[47180]=0;return}function Wl(a){a=a|0;var b=0;RC(a,137750,304,1)|0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function Xl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+64|0;j=u+48|0;p=u+40|0;k=u+24|0;i=u+8|0;s=u+56|0;n=u;do if((b|0)!=0?(t=e+16|0,q=c[(c[t>>2]|0)+132>>2]|0,g=OA(e,b)|0,(a[g>>0]|0)!=0):0){a[s>>0]=0;m=q+16|0;r=(d|0)!=0;b=q+8|0;if((c[47184]|0)>2?(c[i>>2]=q,c[i+4>>2]=b,c[i+8>>2]=m,c[i+12>>2]=s,(q4(g,88807,i)|0)>2):0){a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;a:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;p=q+(b<<3)|0;h[p>>3]=+h[p>>3]/+h[23314];b=b+1|0}}while(0);if((g|0)>3)Cn(e,f,3);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=q;c[k+4>>2]=b;c[k+8>>2]=s;if((q4(g,102050,k)|0)<=1){c[j>>2]=HB(e)|0;c[j+4>>2]=g;dA(1,88821,j)|0;b=0;break}a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=q+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[23314];b=b+1|0}}while(0);do if((g|0)>2){b=c[47233]|0;if((b|0?(o=OA(e,b)|0,o|0):0)?(c[p>>2]=n,(q4(o,101510,p)|0)==1):0){w=+h[23314];v=+h[n>>3];h[m>>3]=w>0.0?v/w:v;Cn(e,f,3);break}Dn(e,f)}while(0);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=u;return b|0}function Yl(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Zl(a);return}function Zl(a){a=a|0;if((c[47180]|0)!=0|(c[46837]|0)<0)An(a);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=DA(b,0,102938,0)|0;e=DA(b,0,102972,0)|0;p=cP(NA(b,88865)|0,0)|0;if(!e)e=DA(b,0,102972,195341)|0;zn(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(h2(HB(j)|0,108307,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)$l(j,f,102934);i=i+1|0}a:do if((f|0)==8){p=HB(j)|0;e=HB(b)|0;c[m>>2]=p;c[m+4>>2]=e;dA(1,88877,m)|0;e=-1}else if((f|0)==12){am(b,k,e);j=bm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[47180]|0)==1^1)?(lr(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;zP(b);if(i){d=(c[n>>2]|0)+16|0;lI(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[47185]=1;f=gC(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=hC(b,f)|0}}do if(!(p<<24>>24!=0|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;Zm(b)}while(0);if(!((j|0)!=0&(f|(Xm(b)|0)<<24>>24!=0))){if((j|0)==2){c[47185]=1;break}}else cm(b);Wm(b,0)}while(0);l=q;return e|0}function $l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=NA(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(q4(b,105804,j)|0)==2):0){j=d+56|0;fm(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=OA(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(q4(n,105804,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;fm(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=MD(b)|0;while(1){if(!f)break a;gm(f,b,d,e);f=ND(f)|0}}while(0);l=m;return}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(rB(a)|0){f=DA(a,2,102924,0)|0;if(!((f|0)==0|(c[47180]|0)<2)){b=0;e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=((dm(f,d)|0)!=0&1)+b|0;d=WA(a,d)|0;b=g}e=hC(a,e)|0}if(b){b=(b|0)==(rB(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function cm(a){a=a|0;var b=0,d=0,e=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;XP(b);e=b+16|0;AK(c[(c[e>>2]|0)+96>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);AK(c[(c[e>>2]|0)+100>>2]|0);AK(c[(c[e>>2]|0)+104>>2]|0);b=WA(a,b)|0}d=hC(a,d)|0}return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=OA(d,b)|0;do if(a[b>>0]|0){FH(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((q4(b,88914,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((q4(b,88926,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=em(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=IK(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((q4(b,88996,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(X1(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=aO(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}l6(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){XP(d);if(a[194051]|0){b=0;break}a[194051]=1;D=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;dA(0,88939,A)|0;b=0;break}else if((e|0)==13){if(!(a[194051]|0)){a[194051]=1;C=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;dA(0,89006,z)|0}l6(n);XP(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){$l(d,e,102938);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){$l(d,e,102934);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){$l(d,e,102941);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}$l(d,b,102949);b=1;break}}else b=0;while(0);l=B;return b|0}function em(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(X1(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(X1(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((X1(c&255)|0)!=0);return d|0}function fm(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((h2(HB(a)|0,108307,7)|0)==0?(hm(a,e,f)|0)!=0:0){RC(a,137786,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];im(b,a);am(a,d,e)}else g=4;a:do if((g|0)==4){a=MD(a)|0;while(1){if(!a)break a;gm(a,b,d,e);a=ND(a)|0}}while(0);l=h;return}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=OA(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((q4(k,89054,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function jm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=NA(b,89070)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(P2(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(h2(h,89076,4)|0)){e=0;break}if(!(h2(h,105812,7)|0)){e=1;break}if(h2(h,89081,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(q4(e,100234,k)|0)>=1):0)){k=e4()|0;k=(Ya(0)|0)^k;c[j>>2]=k;c[m>>2]=k;i2(i,100234,m)|0;PA(b,89070,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=jm(a,d,e)|0;if((d|0)!=2&(c[46838]|0)!=0)dA(0,89088,f)|0;if((d|0)==1)lm(a,b);W4(c[e>>2]|0);l=f;return d|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=gC(b)|0;f=0.0;while(1){if(!e)break;l=g*+I(+f);j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=g*+J(+f);a[j+119>>0]=1;if((c[47184]|0)>2)Dn(e,d);e=hC(b,e)|0;f=i+f}return}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[23314];do if(c[47180]|0){h[23314]=72.0;nm(b);om(b);if((_l(b,1)|0)<0){dA(3,89136,d)|0;break}else{aM(b,0);f=32;break}}else{o=cP(NA(b,88865)|0,0)|0;h[23314]=+ZO(b);nm(b);g=pm(b)|0;Kq(b,k,0)|0;i=qm(b)|0;j=kH(b,0,n)|0;d=jH(b,-1,8)|0;c[46837]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46837]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){rm(b,g,i);Nq(b,k)|0;om(b);if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else f=11}else if(e){c[46837]=8;f=11}else f=11;while(0);if((f|0)==11){j=qG(b,p,89164,m)|0;d=c[p>>2]|0;do if((d|0)<=1){rm(b,g,i);Nq(b,k)|0;if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;IG(d)|0;rm(d,g,i);Nq(d,k)|0;mQ(d,2);if(f)cn(d);else sm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=HK(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46837];c[n+20>>2]=e;c[n+12>>2]=1;gH(d,j,b,n)|0;l6(e)}while(0);zP(b);om(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;An(n);TC(n,137786)|0;tC(b,n)|0;d=d+1|0}l6(j)}aM(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[23314]=q;l=r;return}function nm(a){a=a|0;var d=0,e=0,f=0,g=0;mQ(a,2);f=XO(a,DA(a,0,91669,0)|0,2,2)|0;d=(XO(a,DA(a,0,91675,0)|0,f,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[47184]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Cm(a);return}function om(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[47184]|0)>2&(c[47233]|0)!=0){b=gC(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i2(d,101510,e)|0;HA(b,c[47233]|0,d)|0;b=hC(a,b)|0}}while(0);l=f;return}function pm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=NA(b,89849)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(f2(d,89854)|0)){b=0;break a}break}case 109:{if(!(f2(d,89857)|0)){b=1;break a}break}case 104:{if(!(f2(d,89863)|0)){b=2;break a}break}default:{}}b=HB(b)|0;c[e>>2]=d;c[e+4>>2]=b;dA(0,89868,e)|0;b=1}while(0);l=f;return b|0}function qm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=NA(b,89632)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(f2(d,89638)|0)){b=1;break a}break}case 115:{if(!(f2(d,89646)|0)){b=2;break a}if(!(f2(d,89653)|0)){b=0;break a}break}case 109:{if(!(f2(d,89663)|0)){if(DA(b,2,92794,0)|0){b=3;break a}c[e>>2]=HB(b)|0;dA(0,89667,e)|0;dA(3,89730,f)|0;b=0;break a}break}default:{}}b=HB(b)|0;c[g>>2]=d;c[g+4>>2]=b;dA(0,89787,g)|0;b=0}while(0);l=h;return b|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=NA(a,91362)|0;if(!e)if((b|0)==1)e=200;else e=(qB(a)|0)*100|0;else e=d6(e)|0;c[47183]=e;e=tn(a,b)|0;do if(!((e|0)<2|(c[47183]|0)<0))if(!b){um(a,e,d);break}else{tm(a,e,b,d,c[47184]|0);break}while(0);return}function sm(a){a=a|0;zP(a);Wm(a,1);return}function tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+40|0;p=v+24|0;o=v;q=v+48|0;u=v+44|0;r=(e|0)==2;j=km(b,d,r?0:2)|0;k=Bm(b)|0;m=k|4;t=IK(g<<2)|0;c[t>>2]=IK(S(d<<3,g)|0)|0;i=c[47184]|0;g=1;while(1){if((g|0)>=(i|0))break;c[t+(g<<2)>>2]=(c[t>>2]|0)+((S(g,d)|0)<<3);g=g+1|0}i=(j|0)==0;g=i?m:k;if(a[195234]|0){m=c[15715]|0;k=c[47183]|0;n=+h[23315];c[o>>2]=f;c[o+4>>2]=i&1;c[o+8>>2]=g&3;c[o+12>>2]=k;h[o+16>>3]=n;z4(m,89445,o)|0;_3(89502,15,1,m)|0;RO();_3(89518,13,1,m)|0}o=xm(b,d,q,e,f,u)|0;if(a[195234]|0){m=c[15715]|0;n=+SO();c[p>>2]=d;h[p+8>>3]=n;z4(m,89532,p)|0}if((e|0)!=1){n=+YO(b,DA(b,0,89551,0)|0,0.0,-1797693134862315708145274.0e284);if(r){g=yr(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0,n)|0;i=12}else i=14}else{g=ln(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0)|0;i=12}if((i|0)==12)if((g|0)<0)dA(3,89561,s)|0;else i=14;a:do if((i|0)==14){i=gC(b)|0;while(1){if(!i)break a;m=c[i+16>>2]|0;j=c[m+120>>2]|0;k=c[47184]|0;m=m+132|0;g=0;while(1){if((g|0)>=(k|0))break;h[(c[m>>2]|0)+(g<<3)>>3]=+h[(c[t+(g<<2)>>2]|0)+(j<<3)>>3];g=g+1|0}i=hC(b,i)|0}}while(0);Zr(o);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l=v;return}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+48|0;g=i+32|0;f=i;switch(e|0){case 2:{vm(b,d);break}case 1:{if(!(ur(b,d)|0)){c[f>>2]=HB(b)|0;dA(0,89174,f)|0;dA(3,93665,i+8|0)|0;dA(3,89226,i+16|0)|0;dA(3,89298,i+24|0)|0;Rn(b,d)}break}default:{Rn(b,d);if((e|0)==3)wm(b)}}Fn(b,d);Gn(b,d);if(a[195234]|0){f=c[15715]|0;k=c[47183]|0;j=+h[23315];c[g>>2]=e;c[g+4>>2]=k;h[g+8>>3]=j;z4(f,89336,g)|0;RO()}Hn(b,d);l=i;return}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=xm(a,b,j,0,2,0)|0;i=$s(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}l6(c[i>>2]|0);l6(i);Zr(g);l=j;return}function wm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=WA(a,b)|0}d=hC(a,d)|0}return}function xm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0;j=rB(a)|0;H=TL()|0;if((f|0)==2){k=0;E=0}else{E=DA(a,2,92794,0)|0;k=(c[47236]|0)!=0&1;E=(E|0)!=0}B=(e|1|0)==3;F=IK(b*20|0)|0;G=IK(b<<2)|0;l=(j<<1)+b<<2;m=IK(l)|0;A=B|E;if(A)f=IK(l)|0;else f=0;D=(k|0)!=0;if(D)j=IK(l)|0;else j=0;if(B)k=IK(l)|0;else k=0;l=0;y=gC(a)|0;z=0;while(1){if(!y)break;WL(H);if((c[(c[y+16>>2]|0)+120>>2]|0)!=(z|0)){C=12;break}c[G+(z<<2)>>2]=y;v=F+(z*20|0)+4|0;c[v>>2]=m;w=F+(z*20|0)+8|0;c[w>>2]=A?f:0;x=F+(z*20|0)+12|0;c[x>>2]=D?j:0;c[F+(z*20|0)+16>>2]=B?k:0;s=1;u=ZA(a,y)|0;t=1;r=l;m=m+4|0;f=A?f+4|0:f;j=D?j+4|0:j;k=B?k+4|0:k;while(1){if(!u)break;p=c[u>>2]&3;q=u+-48|0;l=u+48|0;do if((c[((p|0)==2?u:q)+40>>2]|0)==(c[((p|0)==3?u:l)+40>>2]|0)){n=s;p=t;l=r}else{n=ym(H,u,s)|0;p=u+16|0;if((n|0)!=(s|0)){if(D){q=(c[x>>2]|0)+(n<<2)|0;g[q>>2]=+h[(c[p>>2]|0)+128>>3]+ +g[q>>2]}if(!E){n=s;p=t;l=r;break}n=(c[w>>2]|0)+(n<<2)|0;I=+h[(c[p>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=I>o?I:o;n=s;p=t;l=r;break}J=c[u>>2]&3;l=(J|0)==3?u:l;r=r+1|0;n=s+1|0;s=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(y|0)?((J|0)==2?u:q):l)+40>>2]|0)+16>>2]|0)+120>>2];if(D){g[j>>2]=+h[(c[p>>2]|0)+128>>3];j=j+4|0}m=f+4|0;if(E){g[f>>2]=+h[(c[p>>2]|0)+136>>3];if(B)C=27;else f=m}else if(B){g[f>>2]=1.0;C=27}if((C|0)==27){C=0;f=NA(u,101860)|0;l=k+4|0;if((f|0)!=0?(h2(f,136010,4)|0)==0:0)o=0.0;else o=(y|0)==(c[((c[u>>2]&3|0)==2?u:q)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;f=m;k=l}p=t+1|0;l=r;m=s}while(0);s=n;u=_A(a,u,y)|0;t=p;r=l}c[F+(z*20|0)>>2]=t;c[c[v>>2]>>2]=z;l=r;y=hC(a,y)|0;z=z+1|0}if((C|0)==12)Aa(89375,89390,819,89402);if(B)zm(F,b,e,G);n=(l|0)/2|0;a:do if((n|0)!=(rB(a)|0)){l=(n<<1)+b<<2;k=KK(c[F+4>>2]|0,l)|0;if(E)f=KK(c[F+8>>2]|0,l)|0;if(D){m=0;j=KK(c[F+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[F+(m*20|0)>>2]|0;c[F+(m*20|0)+4>>2]=k;if(E){c[F+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(D){c[F+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)l6(G);else c[i>>2]=G;XL(H);return F|0}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return YL(a,f?b:e,f?e:b,d)|0}function zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Am(b,g,e,f);g=g+1|0}return}function Am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Am(b,p,e,f);break}g[h>>2]=o;i=c[b+(p*20|0)>>2]|0;j=b+(p*20|0)+4|0;h=1;while(1){if((h|0)>=(i|0)){h=9;break a}if((c[(c[j>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)Aa(89416,89390,721,89436);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Bm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=XO(a,DA(a,0,89577,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89577;dA(0,89586,b)|0;a=2}l=d;return a|0}function Cm(a){a=a|0;var b=0,d=0,e=0;d=qB(a)|0;c[46838]=DA(a,1,102924,0)|0;e=DA(a,1,90961,0)|0;b=gC(a)|0;while(1){if(!b)break;Wl(b);Xl(c[46838]|0,e,b,d)|0;b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dm(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dm(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Em(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=HK(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Hm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0.0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;h=e+16|0;m=b[(c[h>>2]|0)+168>>1]|0;j=m<<16>>16;i=+(f|0);if(m<<16>>16!=1&(a[195236]|0)==0){h=IK(j<<2)|0;f=0;while(1){if((f|0)>=(j|0))break;c[h+(f<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;f=f+1|0}jO(d,h,0,j,i,i,17832);e=0;while(1){if((e|0)>=(j|0))break;f=c[h+(e<<2)>>2]|0;g=f+16|0;if(c[(c[g>>2]|0)+96>>2]|0){m=uC(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0;xP(m,c[(c[g>>2]|0)+96>>2]|0)}qO(f);e=e+1|0}l6(h)}else{c[g>>2]=e;jO(d,g,0,1,i,i,17832);if(c[(c[h>>2]|0)+96>>2]|0){m=uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;xP(m,c[(c[h>>2]|0)+96>>2]|0)}qO(e)}l=k;return}function Im(a){a=a|0;return 0}function Jm(a){a=a|0;return 0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0,T=0,U=0;U=l;l=l+384|0;P=U+368|0;Q=U+112|0;y=U+32|0;q=U+336|0;D=U+320|0;E=U+304|0;F=U+288|0;H=U+272|0;z=U+256|0;A=U+240|0;B=U+224|0;C=U+208|0;i=U+192|0;r=U+176|0;s=U+160|0;t=U+144|0;u=U+128|0;v=U+96|0;w=U+16|0;x=U;S=d+4|0;T=b+16|0;a:do switch(UM(b)|0){case 3:case 1:{b=HK(8)|0;f=c[T>>2]|0;i=c[f+12>>2]|0;do if(!(e<<24>>24)){f=c[i+8>>2]|0;if((f|0)>2){R=0.0;y=c[i+44>>2]|0;q=0;K=+g[d>>2];L=+g[S>>2];break}else{R=+S4()*.01;f=8;y=0;q=1;K=0.0;L=0.0;break}}else if(!(c[i+40>>2]&2048)){L=+h[f+88>>3];K=-L;R=+h[f+80>>3];O=R*-.5;h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;R=R*.5;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}else{wP(q,i);K=+h[q>>3];O=+h[q+8>>3];L=+h[q+16>>3];R=+h[q+24>>3];h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}while(0);c[b+4>>2]=f;r=HK(f<<4)|0;c[b>>2]=r;s=d+8|0;M=+(f|0);t=(f|0)==4;N=-K;O=-L;e=0;while(1){if((f|0)<=(e|0))break a;i=(a[s>>0]|0)!=0;u=c[T>>2]|0;do if(q){k=R+ +(e|0)*6.283185307179586/M;o=+I(+k);k=+J(+k);p=+g[d>>2];m=+g[S>>2];j=+h[u+80>>3];n=+h[u+96>>3]+ +h[u+88>>3];if(i){k=k*(m+j);j=o*(p+n)}else{k=k*m*j;j=o*p*n}m=j*.5;j=k*.5}else{n=+h[y+(e<<4)+8>>3];m=+h[y+(e<<4)>>3];if(!i){m=K*m;j=L*n;break}if(!t){j=+G(+(n*n+m*m));m=m*(K/j+1.0);j=n*(L/j+1.0);break}switch(e|0){case 0:{k=L;j=K;break}case 1:{k=L;j=N;break}case 2:{k=O;j=N;break}case 3:{k=O;j=K;break}default:{k=0.0;j=0.0}}m=m+j;j=n+k}while(0);Q=f-e+-1|0;h[r+(Q<<4)>>3]=m+ +h[u+16>>3];h[r+(Q<<4)+8>>3]=j+ +h[u+24>>3];e=e+1|0}}case 2:{b=c[(c[T>>2]|0)+12>>2]|0;j=+h[b+16>>3];n=+h[b+24>>3];k=+h[b+32>>3];m=+h[b+40>>3];b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;T=(c[T>>2]|0)+16|0;c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(z,j,n,P,d);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];T=(c[b>>2]|0)+16|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(A,j,m,P,d);c[T>>2]=c[A>>2];c[T+4>>2]=c[A+4>>2];c[T+8>>2]=c[A+8>>2];c[T+12>>2]=c[A+12>>2];T=(c[b>>2]|0)+32|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(B,k,m,P,d);c[T>>2]=c[B>>2];c[T+4>>2]=c[B+4>>2];c[T+8>>2]=c[B+8>>2];c[T+12>>2]=c[B+12>>2];T=(c[b>>2]|0)+48|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(C,k,n,P,d);c[T>>2]=c[C>>2];c[T+4>>2]=c[C+4>>2];c[T+8>>2]=c[C+8>>2];c[T+12>>2]=c[C+12>>2];break a}else{R=j-+g[d>>2];O=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(D,R,O,P);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];T=(c[b>>2]|0)+16|0;O=j-+g[d>>2];R=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(E,O,R,P);c[T>>2]=c[E>>2];c[T+4>>2]=c[E+4>>2];c[T+8>>2]=c[E+8>>2];c[T+12>>2]=c[E+12>>2];T=(c[b>>2]|0)+32|0;R=k+ +g[d>>2];O=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(F,R,O,P);c[T>>2]=c[F>>2];c[T+4>>2]=c[F+4>>2];c[T+8>>2]=c[F+8>>2];c[T+12>>2]=c[F+12>>2];T=(c[b>>2]|0)+48|0;O=k+ +g[d>>2];R=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(H,O,R,P);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];break a}}case 4:{b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;H=c[T>>2]|0;F=H+16|0;c[Q>>2]=c[F>>2];c[Q+4>>2]=c[F+4>>2];c[Q+8>>2]=c[F+8>>2];c[Q+12>>2]=c[F+12>>2];j=-+h[H+88>>3];k=-+h[H+80>>3];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(u,j,k,P,d);c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];S=(c[b>>2]|0)+16|0;H=c[T>>2]|0;O=-+h[H+88>>3];R=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(v,O,R,P,d);c[S>>2]=c[v>>2];c[S+4>>2]=c[v+4>>2];c[S+8>>2]=c[v+8>>2];c[S+12>>2]=c[v+12>>2];S=(c[b>>2]|0)+32|0;H=c[T>>2]|0;R=+h[H+96>>3];O=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(w,R,O,P,d);c[S>>2]=c[w>>2];c[S+4>>2]=c[w+4>>2];c[S+8>>2]=c[w+8>>2];c[S+12>>2]=c[w+12>>2];S=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3];R=-+h[T+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(x,O,R,P,d);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];break a}else{R=j-+g[d>>2];O=k-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(i,R,O,P);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];H=(c[b>>2]|0)+16|0;F=c[T>>2]|0;O=-+h[F+88>>3]-+g[d>>2];R=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(r,O,R,P);c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];H=(c[b>>2]|0)+32|0;F=c[T>>2]|0;R=+h[F+96>>3]+ +g[d>>2];O=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(s,R,O,P);c[H>>2]=c[s>>2];c[H+4>>2]=c[s+4>>2];c[H+8>>2]=c[s+8>>2];c[H+12>>2]=c[s+12>>2];H=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3]+ +g[d>>2];R=-+h[T+80>>3]-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(t,O,R,P);c[H>>2]=c[t>>2];c[H+4>>2]=c[t+4>>2];c[H+8>>2]=c[t+8>>2];c[H+12>>2]=c[t+12>>2];break a}}default:b=0}while(0);l=U;return b|0}function Lm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Mm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+h[d+8>>3]+ +g[e+4>>2]*c;h[a>>3]=+h[d>>3]+ +g[e>>2]*b;h[a+8>>3]=c;return}function Nm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Om(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Om(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];KX(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Pm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+144|0;r=w+104|0;s=w+88|0;q=w+80|0;p=w+72|0;m=w+64|0;u=w+128|0;o=w+32|0;n=w+124|0;v=w+16|0;t=w;k=w+120|0;j=(c[b+16>>2]|0)+144|0;i=c[j>>2]|0;j=c[j+4>>2]|0;h=m;c[h>>2]=i;c[h+4>>2]=j;h=i;c[v>>2]=c[h>>2];c[v+4>>2]=c[h+4>>2];c[v+8>>2]=c[h+8>>2];c[v+12>>2]=c[h+12>>2];j=i+(j+-1<<4)|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2];a:do if(!(g<<24>>24)){h=-1111;g=-1111}else{h=-1111;g=-1111;j=0;while(1){if((j|0)>=(f|0))break a;i=e+(j<<2)|0;if((g|0)==-1111){g=c[i>>2]|0;c[s>>2]=c[g>>2];c[s+4>>2]=c[g+4>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];g=(LX(s,r)|0)==0;g=g?-1111:j}if((h|0)==-1111){h=c[i>>2]|0;c[s>>2]=c[h>>2];c[s+4>>2]=c[h+4>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];h=(LX(s,r)|0)==0;h=h?-1111:j}j=j+1|0}}while(0);Qm(e,f,g,h,k,n);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;h=c[k>>2]|0;n=c[n>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];g=b+48|0;if((MX(h,n,r,o,u)|0)<0){u=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;v=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[p>>2]=u;c[p+4>>2]=v;dA(1,89929,p)|0}else{if((d[195234]|0)>1){p=c[15715]|0;n=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;g=b+-48|0;o=HB(c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0)|0;c[q>>2]=n;c[q+4>>2]=o;z4(p,89977,q)|0}else g=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0,c[u>>2]|0,c[u+4>>2]|0,17832);l6(h);c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];wO(a,b,s,r)}l=w;return}function Qm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=IK(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else Aa(89991,89998,77,90013)}function Rm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;m=o+12|0;f=o;mr(f,a);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;XN(g);g=WA(a,g)|0}f=hC(a,f)|0}h=Sz(17796,c[4591]|0)|0;f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;i=g+16|0;if((c[47180]|0)>1?(j=c[i>>2]|0,(c[j+8>>2]|0)!=0):0){p=j+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else n=14;if((n|0)==14?(n=0,k=Sm(h,g)|0,(k|0)!=(g|0)):0){p=c[k+16>>2]|0;q=p+168|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;p=p+172|0;c[(c[i>>2]|0)+172>>2]=c[p>>2];c[p>>2]=g}g=WA(a,g)|0}f=hC(a,f)|0}Oz(h)|0;if(!(eb[d&63](a,m,e)|0)){c[47185]=1;f=0}else f=1;l=o;return f|0}function Sm(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;s=t;e=c[b>>2]&3;k=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;j=c[b+16>>2]|0;o=j+24|0;f=j+56|0;i=j+64|0;j=j+16|0;do if(k>>>0>=e>>>0){if(k>>>0>e>>>0){r=e;e=k;p=+h[j>>3];q=+h[o>>3];g=+h[f>>3];d=+h[i>>3];break}m=+h[f>>3];n=+h[i>>3];g=+h[j>>3];d=+h[o>>3];if(!(g<m))if(!(g>m)){f=d>n;if(d<n){r=k;e=k;p=m;q=n}else{r=k;e=k;p=g;q=d;g=f?m:g;d=f?n:d}}else{r=k;e=k;p=g;q=d;g=m;d=n}else{r=k;e=k;p=m;q=n}}else{r=k;p=+h[f>>3];q=+h[i>>3];g=+h[j>>3];d=+h[o>>3]}while(0);c[s+8>>2]=r;h[s+16>>3]=g;h[s+24>>3]=d;c[s+32>>2]=e;h[s+40>>3]=p;h[s+48>>3]=q;c[s+56>>2]=b;s=c[(eb[c[a>>2]&63](a,s,1)|0)+56>>2]|0;l=t;return s|0}function Tm(a,b){a=a|0;b=b|0;return Rm(a,24,b)|0}function Um(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+112|0;C=G+88|0;B=G+72|0;t=G+56|0;p=G+24|0;o=G;u=G+64|0;D=G+40|0;E=G+8|0;i=(c[47180]|0)>1&1;s=(f|0)==8;do if((f|0)>5){r=HK((qB(d)|0)<<2)|0;n=s&1;m=gC(d)|0;q=0;while(1){if(!m)break;j=Km(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=q}else{c[k>>2]=q;c[r+(q<<2)>>2]=j;j=q+1|0}m=hC(d,m)|0;q=j}if(r){j=it(r,q)|0;if(j|0){if(s){z=0;A=r;y=r;v=1;break}z=HX(r,q)|0;A=r;y=r;v=1;break}if(s){dA(0,90027,o)|0;j=0;z=0;A=r;y=r;v=1;break}else{H=+g[e+4>>2];h[p>>3]=+g[e>>2];h[p+8>>3]=H;dA(0,90105,p)|0;j=0;z=0;A=r;y=r;v=1;break}}else{j=0;z=0;A=0;y=0;v=0}}else{j=0;z=0;A=0;q=0;y=0;v=0}while(0);w=(f|0)==10;x=(z|0)!=0;j=s&(j|0)!=0;if(a[195234]|0){s=c[15715]|0;c[t>>2]=j|x^1?(j?90187:90204):w?110357:90218;z4(s,90228,t)|0}a:do if(!x){if(j){pQ(d,0);i=1}}else{k=gC(d)|0;while(1){if(!k)break a;j=UA(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Nm(u,j,z,1,0,0);r=u;s=c[r+4>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=s;j=WA(d,j)|0}k=hC(d,k)|0}}while(0);p=(i|0)==0;r=d+60|0;i=0;o=gC(d)|0;j=0;while(1){if(!o)break;s=o+16|0;e=UA(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;m=e+16|0;k=c[m>>2]|0;if(!p?(c[k+8>>2]|0)!=0:0){u=(c[s>>2]|0)+16|0;t=k+16|0;c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];c[C>>2]=c[t>>2];c[C+4>>2]=c[t+4>>2];c[C+8>>2]=c[t+8>>2];c[C+12>>2]=c[t+12>>2];Om(D,B,C);t=(c[n+16>>2]|0)+16|0;u=(c[m>>2]|0)+56|0;c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];c[C>>2]=c[u>>2];c[C+4>>2]=c[u+4>>2];c[C+8>>2]=c[u+8>>2];c[C+12>>2]=c[u+12>>2];Om(E,B,C);c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];c[C>>2]=c[E>>2];c[C+4>>2]=c[E+4>>2];c[C+8>>2]=c[E+8>>2];c[C+12>>2]=c[E+12>>2];wO(d,e,B,C)}else F=33;b:do if((F|0)==33){F=0;u=b[k+168>>1]|0;k=u<<16>>16;if(u<<16>>16){if((o|0)==(n|0)){if(!i){j=HK(96)|0;c[j+84>>2]=HK(((qB(d)|0)<<5)+11520|0)|0;i=j}Hm(i,e,c[(c[(c[r>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!x){MM(d,e,f,17832);break}k=a[195236]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(w)Pm(d,m,A,q,1);else Vm(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=WA(d,e)|0}o=hC(d,o)|0}if(x)JX(z);if(i|0){l6(c[i+84>>2]|0);l6(j)}if(v){i=0;while(1){if((i|0)>=(q|0))break;l6(c[A+(i<<2)>>2]|0);i=i+1|0}l6(y)}l=G;return 0}function Vm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;e=k+40|0;h=k+80|0;m=k+32|0;i=k+16|0;j=k;n=(c[b+16>>2]|0)+144|0;o=c[n>>2]|0;n=c[n+4>>2]|0;p=m;c[p>>2]=o;c[p+4>>2]=n;p=o;c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];n=o+(n+-1<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];DY(g,h);if((d[195234]|0)>1){o=c[15715]|0;m=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;p=b+-48|0;n=HB(c[((c[b>>2]&3|0)==2?b:p)+40>>2]|0)|0;c[e>>2]=m;c[e+4>>2]=n;z4(o,90253,e)|0;e=p}else e=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17832);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];wO(a,b,f,g);l=k;return}function Wm(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)Xm(a)|0;if(e<<16>>16)Tm(a,e&65535)|0;return}function Xm(a){a=a|0;var b=0,d=0,e=0,f=0;d=Ym(a)|0;b=gC(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=hC(a,b)|0}return d|0}function Ym(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{Zm(a);b=1;e=c[d>>2]|0}m=(c[e+116>>2]&1|0)!=0;l=e+40|0;j=e+32|0;if(m){i=+h[j>>3];h[j>>3]=+h[l>>3];h[l>>3]=i}d=c[e+8>>2]|0;e=d+64|0;k=d+72|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[e>>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(g<1.0|f<1.0)if(g<f){i=1.0;f=f/g;break b}else{i=g/f;f=1.0;break b}else i=g;break}case 5:{f=+h[e>>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(!(g>1.0&f>1.0))break a;f=g<f?g:f;i=f;break}case 1:{g=+h[d+16>>3];f=+h[l>>3]/+h[j>>3];if(f<g){i=1.0;f=g/f;break b}else{i=f/g;f=1.0;break b}}default:break a}while(0);g=m?i:f;f=m?f:i;c:do if((c[47180]|0)>1){d=gC(a)|0;while(1){if(!d)break c;b=UA(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)_m(b,f,g);b=WA(a,b)|0}d=hC(a,d)|0}}while(0);b=gC(a)|0;while(1){if(!b)break;m=c[(c[b+16>>2]|0)+132>>2]|0;h[m>>3]=f*+h[m>>3];m=m+8|0;h[m>>3]=g*+h[m>>3];b=hC(a,b)|0}$m(a,f,g);b=1}else b=0;while(0);return b|0}function Zm(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f/72.0;i=+h[m+8>>3];j=i/72.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=hC(b,d)|0}e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];an(d,k)}d=WA(b,d)|0}e=hC(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];bn(b,k);l=n;return}function _m(b,d,e){b=b|0;d=+d;e=+e;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=c[b>>2]&3;k=c[(c[(c[((r|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=d+-1.0;s=u*+h[k>>3]*72.0;v=e+-1.0;t=v*+h[k+8>>3]*72.0;r=c[(c[(c[((r|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=u*+h[r>>3]*72.0;v=v*+h[r+8>>3]*72.0;r=c[b+16>>2]|0;k=c[r+8>>2]|0;l=c[k+4>>2]|0;m=l+-1|0;b=0;k=c[k>>2]|0;while(1){if((b|0)>=(l|0))break;n=c[k+4>>2]|0;o=(b|0)==(m|0);p=n+-1|0;i=0;j=c[k>>2]|0;while(1){if((i|0)>=(n|0))break;q=j+8|0;f=+h[j>>3];g=+h[q>>3];do if(i|b)if(o&(i|0)==(p|0)){h[j>>3]=s+f;f=t+g;break}else{h[j>>3]=f*d;f=g*e;break}else{h[j>>3]=u+f;f=v+g}while(0);h[q>>3]=f;i=i+1|0;j=j+16|0}if(c[k+8>>2]|0){q=k+16|0;h[q>>3]=u+ +h[q>>3];q=k+24|0;h[q>>3]=v+ +h[q>>3]}if(c[k+12>>2]|0){q=k+32|0;h[q>>3]=s+ +h[q>>3];q=k+40|0;h[q>>3]=t+ +h[q>>3]}b=b+1|0;k=k+48|0}b=c[r+96>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=+h[q>>3]*d;q=b+64|0;h[q>>3]=+h[q>>3]*e}b=c[r+100>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=s+ +h[q>>3];q=b+64|0;h[q>>3]=t+ +h[q>>3]}b=c[r+104>>2]|0;if(b|0?a[b+81>>0]|0:0){r=b+56|0;h[r>>3]=u+ +h[r>>3];r=b+64|0;h[r>>3]=v+ +h[r>>3]}return}function $m(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;$m(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function an(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function bn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];bn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function cn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;zP(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]/72.0;g=+h[b+24>>3]/72.0;b=gC(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=hC(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];dn(a,d);Wm(a,1);l=i;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];dn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function en(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+S4();i=j+8|0;h[j>>3]=+S4();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+S4();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Et(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;n=rn(b,b,0.0)|0;o=rn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(tr(b,n,o)|0)){l6(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[p+(j<<3)>>3]+ +h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]-+h[p+(e<<3)>>3]*2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);sn(n);sn(o);return d|0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;if(c[b+8>>2]|0){e=hn(b,d)|0;i=0.0;f=0;q=0;while(1){if((q|0)>=(d|0))break;f=f+q|0;p=c[b+(q*20|0)>>2]|0;m=b+(q*20|0)+4|0;n=(S(q,d)|0)-f|0;o=b+(q*20|0)+8|0;k=1;while(1){if((k|0)>=(p|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;if((j|0)>=(q|0)){j=e+(n+j<<2)|0;t=+g[(c[o>>2]|0)+(k<<2)>>2];i=i+ +F(+(+g[j>>2]-t));g[j>>2]=t}k=k+1|0}q=q+1|0}if(a[195234]|0){d=c[15715]|0;h[r>>3]=i;z4(d,90269,r)|0}}else e=0;l=s;return e|0}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;j=HK(b<<2)|0;rr(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;es(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}l6(j);sr(h);l=m;return i|0}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;k=HK(b<<2)|0;rr(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;nr(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}l6(k);sr(i);l=n;return j|0}function kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=HK(e<<2)|0;q=HK(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;Ws(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=l+ +((c[a+(p*20|0)>>2]|0)+-1|0);g[f+(e<<2)>>2]=s-+((Vs(a,h,p,q)|0)<<1|0);e=e+1|0}Xs(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=jn(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;Ws(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Vs(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(s>l)l=+(h-((Vs(a,j,e,q)|0)<<1)|0);g[f+(i<<2)>>2]=l;i=i+1|0}Xs(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=hn(a,b)|0}l6(q);l6(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function ln(b,e,f,i,j,k,m,n,o){b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0;N=l;l=l+80|0;M=N+56|0;L=N+48|0;A=N+40|0;v=N+32|0;t=N+24|0;s=N+16|0;q=N+8|0;p=N;r=m&4;K=m&3;a:do if((o|0)<0)f=0;else{if(a[195234]|0)RO();m=(n|0)==2;b:do if(m){if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;f=kn(b,e)|0;x=14}else{switch(n|0){case 1:{f=fn(b,e)|0;if(f|0){J=f;break b}dA(0,93616,p)|0;dA(3,93665,q)|0;x=15;break b}case 3:break;default:{x=15;break b}}if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;f=gn(b,e)|0;x=14}while(0);if((x|0)==14)if(!f)x=15;else J=f;do if((x|0)==15){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;if(!(c[b+8>>2]|0)){J=jn(b,e)|0;break}else{J=hn(b,e)|0;break}}while(0);if(a[195234]|0){I=c[15715]|0;h[s>>3]=+SO();z4(I,93767,s)|0;_3(93779,25,1,I)|0;RO()}c:do if((e|0)>1&(r|0)!=0)if((mn(b,e,i,k,r,K,m&1)|0)<0){v=0;t=0;f=-1;b=0;s=0;r=0;q=0;p=0;n=0;m=0}else{m=0;while(1){if((m|0)>=(k|0)){z=0;x=34;break c}n=i+(m<<2)|0;u=1.0;f=0;while(1){if((f|0)==(e|0)){f=0;break}y=+F(+(+h[(c[n>>2]|0)+(f<<3)>>3]));u=y>u?y:u;f=f+1|0}while(1){if((f|0)==(e|0)){f=0;break}I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]/u;f=f+1|0}while(1){if((f|0)==(e|0))break;y=(+S4()+-.5)*1.0e-06;I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]+y;f=f+1|0}Et(e,c[n>>2]|0);m=m+1|0}}else{z=en(0,e,k,i,j)|0;x=34}while(0);d:do if((x|0)==34){if(a[195234]|0){I=c[15715]|0;h[t>>3]=+SO();z4(I,93805,t)|0}if((e|0)==1|(o|0)==0){f=0;break a}if(a[195234]|0){I=c[15715]|0;h[v>>3]=+SO();z4(I,93767,v)|0;_3(90291,26,1,I)|0;RO()}r=k<<2;I=HK(r)|0;b=e<<2;s=S(b,k)|0;H=HK(s)|0;f=0;while(1){if((f|0)>=(k|0))break;n=H+((S(f,e)|0)<<2)|0;c[I+(f<<2)>>2]=n;p=i+(f<<2)|0;m=0;while(1){if((m|0)>=(e|0))break;g[n+(m<<2)>>2]=+h[(c[p>>2]|0)+(m<<3)>>3];m=m+1|0}f=f+1|0}G=e+-1|0;e:do if(!K){f=0;u=0.0;p=0;while(1){if((p|0)>=(G|0))break e;q=e-p|0;n=f;m=1;while(1){f=n+1|0;if((m|0)>=(q|0))break;n=f;u=u+ +g[J+(f<<2)>>2];m=m+1|0}p=p+1|0}}else u=+(e|0)*+(G|0)*.5;while(0);C=(S(e+1|0,e)|0)/2|0;D=(K|0)==2;if(D)_t(C,J);$t(C,J);E=e<<3;n=HK(E)|0;u6(n|0,0,E|0)|0;f=0;p=0;while(1){if((p|0)>=(G|0)){f=e;m=0;p=0;break}q=e-p|0;w=0.0;m=1;while(1){f=f+1|0;if((m|0)>=(q|0))break;y=+g[J+(f<<2)>>2];B=n+(m+p<<3)|0;h[B>>3]=+h[B>>3]-y;w=w+y;m=m+1|0}B=n+(p<<3)|0;h[B>>3]=+h[B>>3]-w;p=p+1|0}while(1){if((m|0)>=(e|0))break;g[J+(p<<2)>>2]=+h[n+(m<<3)>>3];B=f+p|0;f=f+-1|0;m=m+1|0;p=B}B=HK(r)|0;c[B>>2]=HK(s)|0;f=1;while(1){if((f|0)>=(k|0))break;c[B+(f<<2)>>2]=(c[B>>2]|0)+((S(f,e)|0)<<2);f=f+1|0}q=HK(b)|0;p=HK(b)|0;m=HK(C<<2)|0;if(a[195234]|0){x=c[15715]|0;h[A>>3]=+SO();z4(x,93767,A)|0;_3(90318,15,1,x)|0;RO()}x=(z|0)==0;z=c[15715]|0;f=0;r=0;y=1797693134862315708145274.0e284;while(1){if(!(r<<24>>24==0&(f|0)<(o|0)))break;u6(n|0,0,E|0)|0;if(D){au(C,J,m);v=0;b=0}else{v=0;b=0}while(1){if((v|0)>=(G|0)){r=e;s=0;b=0;break}t=e-v+-1|0;Yt(t,0.0,p);r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Yt(t,+g[(c[A>>2]|0)+(v<<2)>>2],q);Tt(t,q,-1.0,(c[A>>2]|0)+(v<<2)+4|0);_t(t,q);St(t,q,p,p);r=r+1|0}bu(t,p);r=0;while(1){if((r|0)>=(t|0))break;s=p+(r<<2)|0;w=+g[s>>2];if(w>=3402823466385288598117041.0e14|w<0.0)g[s>>2]=0.0;r=r+1|0}r=b+1|0;b=v+1|0;f:do if(D){w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=m+(r<<2)|0;O=+g[p+(s<<2)>>2]*+g[A>>2];g[A>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}else{w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;O=+g[p+(s<<2)>>2];g[m+(r<<2)>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}while(0);A=n+(v<<3)|0;h[A>>3]=+h[A>>3]-w;v=b;b=r}while(1){if((s|0)>=(e|0)){r=0;break}g[m+(b<<2)>>2]=+h[n+(s<<3)>>3];A=r+b|0;r=r+-1|0;s=s+1|0;b=A}while(1){if((r|0)>=(k|0)){w=0.0;r=0;break}Qt(m,e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(k|0))break;w=w+ +Wt(e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}w=u+w*2.0;r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Qt(J,e,c[A>>2]|0,q);w=w-+Wt(e,c[A>>2]|0,q);r=r+1|0}P=y-w;O=+h[23315];r=(w<O?1:(P>=0.0?P:-P)/y<O)&1;b=0;while(1){if((b|0)>=(k|0))break;t=I+(b<<2)|0;s=c[t>>2]|0;g:do if(x){if((xr(J,s,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}}else{Vt(e,s,q);if((xr(J,q,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}else s=0;while(1){if((s|0)>=(e|0))break g;if((d[(c[(c[j+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[q+(s<<2)>>2];s=s+1|0}}while(0);b=b+1|0}if(((f|0)%5|0|0)==0&(a[195234]|0)!=0?(h[L>>3]=w,z4(z,90672,L)|0,((f+5|0)%50|0|0)==0):0)W5(10,z)|0;f=f+1|0;y=w}if(!(a[195234]|0))r=0;else{O=+nn(I,J,k,e,K);P=+SO();h[M>>3]=O;c[M+8>>2]=f;h[M+16>>3]=P;z4(z,90334,M)|0;r=0}while(1){if((r|0)>=(k|0)){v=B;t=J;b=H;s=I;r=B;break d}b=I+(r<<2)|0;t=i+(r<<2)|0;s=0;while(1){if((s|0)>=(e|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[b>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}}while(0);l6(b);l6(s);l6(t);if(v|0){l6(c[v>>2]|0);l6(r)}l6(q);l6(p);l6(n);l6(m)}while(0);l=N;return f|0}function mn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+32|0;o=Q+24|0;P=Q+8|0;H=Q+4|0;N=Q;M=(d|0)<50?d:50;O=IK(M<<2)|0;G=d<<3;n=IK(S(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[O+(m<<2)>>2]=n+((S(m,d)|0)<<3);m=m+1|0}D=M<<1;D=(D|0)>50?D:50;D=(D|0)>(d|0)?d:D;c[o>>2]=0;os(b,d,D,o,k);ps(c[o>>2]|0,d,D);ju(c[o>>2]|0,D,d,O,M);l6(c[c[o>>2]>>2]|0);l6(c[o>>2]|0);D=d<<2;L=IK(D)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}rr(P,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)at(b,d);B=IK(D)|0;K=IK(160)|0;n=IK(d*160|0)|0;C=IK(160)|0;m=0;while(1){if((m|0)==40)break;c[C+(m<<2)>>2]=n+((S(m,d)|0)<<2);m=m+1|0}m=(U4()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[C>>2]|0;if(I){_r(m,b,d,n);n=0;o=0}else{nr(m,b,d,n,P);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}E=c[(c[C>>2]|0)+(o<<2)>>2]|0;c[B+(o<<2)>>2]=E;A=(E|0)>(n|0);m=A?o:m;n=A?E:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=C+(r<<2)|0;n=c[t>>2]|0;if(I){_r(m,b,d,n);q=0;n=0}else{nr(m,b,d,n,P);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=B+(q<<2)|0;E=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(E|0)<(k|0)?E:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((U4()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[B+(m<<2)>>2]=-1;m=m+1|0}w=IK(D)|0;E=IK(d<<4)|0;x=d+-1|0;y=x<<2;A=0;k=0;o=0;n=0;v=0;while(1){if((v|0)>=(d|0))break;m=L+(v<<2)|0;z=v+1|0;a:do if((c[m>>2]|0)>-1){r=E+(v<<4)+4|0;c[r>>2]=IK(y)|0;t=IK(y)|0;c[E+(v<<4)+8>>2]=t;c[E+(v<<4)>>2]=x;a[E+(v<<4)+12>>0]=1;q=C+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(v|0)){m=z;break}c[(c[r>>2]|0)+(m<<2)>>2]=m;c[t+(m<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){if((m|0)==(d|0)){m=x;break a}v=m+-1|0;c[(c[r>>2]|0)+(v<<2)>>2]=m;c[t+(v<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}}else{if((n|0)<40){o=IK(D)|0;k=IK(D)|0;n=d;m=1}else m=0;a[E+(v<<4)+12>>0]=m;c[E+(v<<4)+4>>2]=o;c[E+(v<<4)+8>>2]=k;c[E+(v<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[o+(m<<2)>>2]=c[K+(m<<2)>>2];c[k+(m<<2)>>2]=c[(c[C+(m<<2)>>2]|0)+(v<<2)>>2];m=m+1|0}k=k+160|0;o=o+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;v=z}l6(B);l6(w);if(C|0){l6(c[C>>2]|0);l6(C)}C=IK(d*20|0)|0;q=A+d<<2;r=IK(q)|0;v=(j|0)==2;q=IK(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[C+(t*20|0)+4>>2]=r;c[C+(t*20|0)+8>>2]=q;m=(c[E+(t<<4)>>2]|0)+1|0;w=C+(t*20|0)|0;c[w>>2]=m;o=(c[E+(t<<4)+8>>2]|0)+-4|0;k=E+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;D=c[w>>2]|0;q=q+(D<<2)|0;r=r+(D<<2)|0;t=t+1|0}B=IK(f<<2)|0;c[B>>2]=IK(S(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[B+(m<<2)>>2]=(c[B>>2]|0)+((S(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=B+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[B+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[B>>2]>>3]=1.0;m=B+4|0;if(!((ku(O,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=B+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(U4()|0)/2147483647.0;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ot(O,d,M,c[B+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Dt(C,O,d,M,H);Bt(O,c[H>>2]|0,M,d,M,N);l6(c[c[H>>2]>>2]|0);l6(c[H>>2]|0);z=IK(G)|0;A=IK(M<<3)|0;m=0;n=0;p=+on(e,E,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[E+(o<<4)+8>>2]|0)+-4|0;t=c[C+(o*20|0)+4>>2]|0;v=c[C+(o*20|0)+8>>2]|0;w=C+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+ct(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(m<<3)>>3]*u;s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+s*+h[(c[y>>2]|0)+(o<<3)>>3];o=o+1|0}At(O,M,d,z,A);m=B+(x<<2)|0;if(wr(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ot(O,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+on(e,E,f,d,j);p=+F(+(u-p))/(u+1.0e-10);m=p<+h[23315]&1;p=u}else m=0;n=n+1|0}l6(A);l6(z);if(I){bt(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[E+(m<<4)+12>>0]|0){l6(c[E+(m<<4)+4>>2]|0);l6(c[E+(m<<4)+8>>2]|0)}m=m+1|0}l6(E);l6(c[C+4>>2]|0);l6(c[C+8>>2]|0);l6(C);l6(L);l6(K);l6(c[B>>2]|0);l6(B);m=c[N>>2]|0;if(m|0){l6(c[m>>2]|0);l6(c[N>>2]|0)}l6(c[O>>2]|0);l6(O);sr(P);l=Q;return n|0}function nn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+G(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+G(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=h+l*i}m=m+1|0}return +h}function on(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/(p*p)}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/p}k=k+1|0}l=l+1|0}}while(0);return +g}function pn(a){a=+a;a=+G(+a);return +(a*(a*a))}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=e+i*i;f=f+1|0}return +(+G(+e))}function rn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=HK(a<<2)|0;f=0;g=HK(S(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function sn(a){a=a|0;if(a|0){l6(c[a>>2]|0);l6(a)}return}function tn(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+16|0;f=o;k=o+8|0;if(a[195234]|0){n=c[15715]|0;j=HB(b)|0;m=qB(b)|0;c[f>>2]=j;c[f+4>>2]=m;z4(n,90372,f)|0}a:do if(a[195235]|0){i=b+60|0;f=gC(b)|0;b:while(1){if(!f)break a;j=hC(b,f)|0;switch(un(b,f,k)|0){case 0:{tC(c[i>>2]|0,f)|0;f=j;continue b}case 1:{tC(c[i>>2]|0,f)|0;f=vn(b,c[k>>2]|0,j)|0;continue b}default:{f=j;continue b}}}}while(0);n=qB(b)|0;m=rB(b)|0;k=DA(b,2,92794,0)|0;g=+(n|0);c:do if(!d){h[23315]=g*.0001;nK(b,109187,186520);f=NA(c[b+60>>2]|0,90401)|0;if(!f)e=.99;else e=+a6(f);h[23317]=e;f=HK((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=f;f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[(c[j>>2]|0)+152>>2]|0)+(f<<2)>>2]=i;q=c[i+16>>2]|0;c[q+120>>2]=f;c[q+124>>2]=-1;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}else{h[23315]=.0001;nK(b,109187,186520);f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[i+16>>2]|0)+120>>2]=f;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}while(0);f=NA(b,90409)|0;if((f|0)!=0?(a[f>>0]|0)!=0:0){e=+h[23315];g=+a6(f);if(!(e>g))e=g}else e=e/+(((m|0)>1?m:1)|0)*+G(+g)+1.0;h[23316]=e;if(!(c[47180]|d)){d=rn(n,n,e)|0;q=b+16|0;c[(c[q>>2]|0)+160>>2]=d;d=rn(n,n,1.0)|0;c[(c[q>>2]|0)+164>>2]=d;d=rn(n,c[47184]|0,1.0)|0;c[(c[q>>2]|0)+168>>2]=d;d=xn(n,n,c[47184]|0)|0;c[(c[q>>2]|0)+172>>2]=d}l=o;return n|0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=ZA(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=_A(a,j,b)|0}return e|0}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(un(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=UA(a,b)|0;e=0.0;while(1){if(!b)break;switch(yn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=HB(a)|0;h[i+8>>3]=1.0;dA(3,90421,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=WA(a,b)|0;e=e+f}l=k;return +e}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=HK((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=HK(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=HK(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=OA(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((q4(f,101510,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[47180]|0)!=0:0){b=0;break}c[j>>2]=f;dA(0,90448,j)|0;b=2}else b=1;while(0);l=k;return b|0}function zn(a){a=a|0;return tn(a,0)|0}function An(a){a=a|0;a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);if(!(c[47180]|0)){sn(c[(c[a>>2]|0)+160>>2]|0);sn(c[(c[a>>2]|0)+164>>2]|0);sn(c[(c[a>>2]|0)+168>>2]|0);Bn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Bn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;l6(d);e=e+1|0;b=c[g>>2]|0}l6(b);f=f+1|0}l6(a)}return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[47184]|0))break;f=e*+S4();h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function Dn(a,b){a=a|0;b=b|0;Cn(a,b,2);return}function En(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=e*+S4();d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=e*+S4();h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[47184]|0)>2)Dn(a,b);return}function Fn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(a[195234]|0)_3(90466,26,1,c[15715]|0)|0;d=km(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46839]|d)){dA(0,90493,e)|0;c[46839]=1}b=b+16|0;d=0;while(1){e=c[(c[(c[b>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!e)break a;if(!(a[(c[e+16>>2]|0)+119>>0]|0))En(e,1);d=d+1|0}}while(0);l=f;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+96|0;q=r+80|0;o=r;if(a[195234]|0){_3(90542,25,1,c[15715]|0)|0;RO()}p=b+16|0;i=c[p>>2]|0;m=c[i+164>>2]|0;i=c[i+160>>2]|0;n=0;while(1){if((n|0)>=(d|0))break;j=i+(n<<2)|0;k=m+(n<<2)|0;f=0;while(1){if((f|0)==(n|0))break;g=+h[(c[j>>2]|0)+(f<<3)>>3];g=1.0/(g*g);e=c[(c[p>>2]|0)+152>>2]|0;e=fB(b,c[e+(n<<2)>>2]|0,c[e+(f<<2)>>2]|0,0,0)|0;if(e)g=g*+h[(c[e+16>>2]|0)+128>>3];h[(c[m+(f<<2)>>2]|0)+(n<<3)>>3]=g;h[(c[k>>2]|0)+(f<<3)>>3]=g;f=f+1|0}n=n+1|0}b=c[47184]|0;f=0;while(1){if((f|0)<(d|0))e=0;else break;while(1){if((e|0)>=(b|0))break;h[(c[(c[(c[p>>2]|0)+168>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}j=0;while(1){e=c[(c[(c[p>>2]|0)+152>>2]|0)+(j<<2)>>2]|0;if(!e)break;b=e+16|0;e=0;while(1){if((e|0)>=(d|0))break;a:do if((j|0)!=(e|0)){g=+qn(c[(c[b>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[p>>2]|0)+152>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+132>>2]|0,o);i=c[47184]|0;f=0;while(1){if((f|0)>=(i|0))break a;n=c[p>>2]|0;s=+h[o+(f<<3)>>3];s=+h[(c[(c[n+164>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]*(s-s*+h[(c[(c[n+160>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]/g);h[(c[(c[(c[n+172>>2]|0)+(j<<2)>>2]|0)+(e<<2)>>2]|0)+(f<<3)>>3]=s;n=(c[(c[n+168>>2]|0)+(j<<2)>>2]|0)+(f<<3)|0;h[n>>3]=s+ +h[n>>3];f=f+1|0}}while(0);e=e+1|0}j=j+1|0}if(a[195234]|0){p=c[15715]|0;h[q>>3]=+SO();z4(p,90568,q)|0}l=r;return}function Hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0;j=l;l=l+32|0;i=j+24|0;g=j+8|0;f=j;k=+h[23315];h[23235]=k*k;while(1){e=In(b,d)|0;if(!e)break;Jn(b,d,e)}if(!(a[195234]|0))d=b+16|0;else{e=c[15715]|0;h[f>>3]=+Kn(b,d);z4(e,90578,f)|0;d=b+16|0;m=c[(c[d>>2]|0)+156>>2]|0;f=(m|0)==(c[47183]|0)?90592:195341;k=+SO();c[g>>2]=m;c[g+4>>2]=f;h[g+8>>3]=k;z4(e,90594,g)|0}d=c[(c[d>>2]|0)+156>>2]|0;if((d|0)==(c[47183]|0)){m=HB(b)|0;c[i>>2]=d;c[i+4>>2]=m;dA(0,90621,i)|0}l=j;return}function In(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;p=(c[46841]|0)+1|0;c[46841]=p;b=c[b+16>>2]|0;if((c[b+156>>2]|0)<(c[47183]|0)){n=b+152|0;o=c[47184]|0;m=b+168|0;b=0;f=0.0;k=0;while(1){if((k|0)>=(e|0))break;i=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((d[(c[i+16>>2]|0)+119>>0]|0)<=1){j=0.0;g=0;while(1){if((g|0)>=(o|0))break;t=+h[(c[(c[m>>2]|0)+(k<<2)>>2]|0)+(g<<3)>>3];j=j+t*t;g=g+1|0}if(j>f){b=i;f=j}}k=k+1|0}if(!(f<+h[23235])){if((a[195234]|0)!=0&((p|0)%100|0|0)==0?(q=c[15715]|0,h[r>>3]=+G(+f),z4(q,90672,r)|0,((c[46841]|0)%1e3|0|0)==0):0)W5(10,q)|0}else b=0}else b=0;l=s;return b|0}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46840]|0;if(!f){g=c[47184]|0;g=IK(S(g<<3,g)|0)|0}else{g=c[47184]|0;g=KK(f,S(g<<3,g)|0)|0}c[46840]=g;Ln(a,b,m,g);i=c[47184]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[185888+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Uu(g,185968,185888,i);f=0;while(1){if((f|0)>=(c[47184]|0))break;e=+h[23317];e=e+ +S4()*((1.0-e)*2.0);i=185968+(f<<3)|0;e=+h[i>>3]*e;h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=e+ +h[i>>3];f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Mn(a,b,m);if(pP()|0){g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=e+ +F(+(+h[185968+(f<<3)>>3]));f=f+1|0}e=+G(+e);m=c[15715]|0;c[n>>2]=HB(d)|0;h[n+8>>3]=e;z4(m,90663,n)|0}l=o;return}function Kn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[47184]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=e+r*r}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=d+ +h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]*(e+r*r-r*2.0*+G(+e));i=i+1|0;d=r}}return +d}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[47184]|0;a=0;while(1){if((a|0)>=(g|0))break;i=S(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(f+i<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[47184]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=r+q*q;a=a+1|0}n=1.0/+pn(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((S(a,u)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+n*(p*q*o*+h[w+(a<<3)>>3]);a=a+1|0}m=e+((S(u,i)|0)+i<<3)|0;h[m>>3]=p*(1.0-n*(q*(r-o*o)))+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[47184]|0;i=1;while(1){if((i|0)>=(f|0))break;g=S(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(a+g<<3)>>3]=+h[e+((S(a,f)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[47184]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+qn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[47184]|0;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*(o-o*+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]/i);h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46842]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function On(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46843]|0;k=c[46842]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Pn(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)Aa(90678,90698,643,90706);d=c[46843]|0;c[46843]=d+1;c[b>>2]=d;c[(c[46842]|0)+(d<<2)>>2]=a;if((d|0)>0)Nn(a);return}function Qn(){var a=0,b=0,d=0,e=0;b=c[46843]|0;if(!b)a=0;else{e=c[46842]|0;a=c[e>>2]|0;d=b+-1|0;c[46843]=d;b=c[e+(d<<2)>>2]|0;c[e>>2]=b;c[(c[b+16>>2]|0)+124>>2]=0;if((d|0)>1)On(b);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Rn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[46842]=HK((d<<2)+4|0)|0;if(a[195234]|0){_3(90720,28,1,c[15715]|0)|0;RO()}d=gC(b)|0;while(1){if(!d)break;Sn(b,d);d=hC(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[e>>3]=+SO();z4(b,90568,e)|0}l6(c[46842]|0);l=f;return}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[23316];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46844]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Pn(b);a:while(1){j=Qn()|0;if(!j)break;d=c[46844]|0;k=j+16|0;if((j|0)!=(d|0))Tn(a,d,j,+h[(c[k>>2]|0)+136>>3]);i=ZA(a,j)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(j|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[k>>2]|0;f=+h[d+136>>3]+ +h[(c[i+16>>2]|0)+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Nn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Pn(b);break}}while(0);i=_A(a,i,j)|0}}return}function Tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Un(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Vn(a);return}function Vn(a){a=a|0;var b=0,d=0,e=0,f=0;b=qB(a)|0;e=HK(b*56|0)|0;b=HK((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Wn(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Wn(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Xn(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(qB(b)|0){Un(b);f=NA(b,96039)|0;if(f)if(a[f>>0]|0){d=qC(b,f,0)|0;if(!d){c[g>>2]=f;dA(0,90749,g)|0;dA(3,90789,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=DA(b,1,96039,0)|0;o=(n|0)!=0;f=NA(b,141045)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(q4(f,105804,m)|0)==1):0)h[k>>3]=+h[j>>3];if(qB(b)|0){m=BG(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=Yn(b,n)|0,e|0):0)break;e=0}while(0);f=Wu(b,e)|0;if(!((e|0)!=0|o^1))HA(f,n,137699)|0;r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;lr(b)|0;cn(b);d=(s|0)==0|g?d:f}else{iH(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(EC(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=Yn(g,n)|0,q|0):0){f=q;break}f=0}while(0);IG(g)|0;i=Wu(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)HA(i,n,137699)|0;lr(g)|0;j=j+1|0}r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;hH(c[t>>2]|0,m,b,p)|0;cn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;tC(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}l6(m)}if(s|0)PA(b,96039,HB(d)|0)|0;rM(b)}l=u;return}function Yn(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c){c=0;break}if((bP(OA(c,b)|0)|0)<<24>>24)break;c=hC(a,c)|0}return c|0}function Zn(a){a=a|0;var b=0,c=0;b=gC(a)|0;if(b|0){while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;WP(c);c=WA(a,c)|0}UP(b);b=hC(a,b)|0}_n(a)}return}function _n(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function $n(a){a=a|0;ao(a);if(!((qB(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){kv(a);rM(a)}return}function ao(a){a=a|0;c[47201]=DA(a,1,108531,108537)|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;bo(a,0);co(a);return}function bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){go(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;ho(b,d);bo(d,0)}else bo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function co(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;RC(b,137750,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;eo(b);e=UA(a,b)|0;while(1){if(!e)break;fo(e);e=WA(a,e)|0}b=hC(a,b)|0;d=d+1|0}return}function eo(a){a=a|0;PA(a,108531,108537)|0;return}function fo(a){a=a|0;RC(a,137763,304,1)|0;return}function go(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function io(a){a=a|0;var b=0,d=0;b=gC(a)|0;if(b|0){l6(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}jo(a)}return}function jo(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function ko(a){a=a|0;var d=0,e=0,f=0;lo(a);mo(a,0);no(a,0);oo(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Tm(a,d&65535)|0}else{d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]/72.0;h[e+8>>3]=+h[f+24>>3]/72.0;d=hC(a,d)|0}Wm(a,1)}rM(a);return}function lo(a){a=a|0;var d=0,e=0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;d=gC(a)|0;while(1){if(!d)break;Wl(d);d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;RC(d,137763,176,1)|0;rP(d)|0;d=WA(a,d)|0}e=hC(a,e)|0}return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){to(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;sK(d);uo(b,d);mo(d,0)}else mo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function no(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+448|0;J=T+400|0;I=T+384|0;S=T+344|0;R=T+320|0;Q=T+248|0;G=T+208|0;A=T+152|0;B=T+96|0;p=T+88|0;e=T+64|0;L=T+32|0;M=T;E=T+416|0;u=T+304|0;z=T+288|0;N=T+192|0;O=T+176|0;P=T+136|0;K=T+72|0;o=c[a+60>>2]|0;if((d[195234]|0)>1){po(b);H=c[15715]|0;c[e>>2]=HB(a)|0;z4(H,91024,e)|0}H=a+16|0;g=b+1|0;e=1;f=0;while(1){i=c[H>>2]|0;if((e|0)>(c[i+180>>2]|0))break;F=c[(c[i+184>>2]|0)+(e<<2)>>2]|0;no(F,g);e=e+1|0;f=(qB(F)|0)+f|0}r=(qB(a)|0)-f|0;e=c[H>>2]|0;F=(c[e+180>>2]|0)+r|0;v=(F|0)==0;if(v?(c[e+12>>2]|0)==0:0){S=e+16|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;h[e+40>>3]=18.0;h[e+32>>3]=18.0}else{e=E+16|0;do if((iH(a,4,4,E)|0)>>>0>=3)if((c[e>>2]|0)==4?(c[E+28>>2]&2|0)!=0:0){f=DA(o,0,99491,0)|0;e=DA(o,1,99491,0)|0;if((f|0)!=0|(e|0)!=0){c[E+24>>2]=HK(F<<2)|0;break}else{c[p>>2]=HB(a)|0;dA(0,90878,p)|0;e=0;f=0;break}}else{e=0;f=0}else{c[e>>2]=3;e=0;f=0}while(0);C=HK(F<<5)|0;D=HK(F<<2)|0;s=E+24|0;o=(f|0)!=0;q=0;i=1;while(1){g=c[H>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=c[(c[g+184>>2]|0)+(i<<2)>>2]|0;y=C+(q<<5)|0;x=(c[g+16>>2]|0)+16|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];c[y+16>>2]=c[x+16>>2];c[y+20>>2]=c[x+20>>2];c[y+24>>2]=c[x+24>>2];c[y+28>>2]=c[x+28>>2];if(o&(c[s>>2]|0)!=0){y=XO(g,f,0,0)|0;c[(c[s>>2]|0)+(q<<2)>>2]=y}c[D+(q<<2)>>2]=g;q=q+1|0;i=i+1|0}w=L+16|0;x=L+8|0;y=L+24|0;a:do if((r|0)>0){p=(e|0)!=0;o=gC(a)|0;f=q;while(1){if(!o)break a;g=c[o+16>>2]|0;i=g+112|0;if(!(c[i>>2]|0)){c[i>>2]=a;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;h[w>>3]=+h[g+88>>3]+ +h[g+96>>3];h[y>>3]=+h[g+80>>3];t=C+(f<<5)|0;c[t>>2]=c[L>>2];c[t+4>>2]=c[L+4>>2];c[t+8>>2]=c[L+8>>2];c[t+12>>2]=c[L+12>>2];c[t+16>>2]=c[L+16>>2];c[t+20>>2]=c[L+20>>2];c[t+24>>2]=c[L+24>>2];c[t+28>>2]=c[L+28>>2];if(p&(c[s>>2]|0)!=0){t=XO(o,e,0,0)|0;c[(c[s>>2]|0)+(f<<2)>>2]=t}c[D+(f<<2)>>2]=o;f=f+1|0}o=hC(a,o)|0}}while(0);t=bH(F,C,E)|0;e=c[s>>2]|0;if(e|0)l6(e);qo(M,2147483647.0,2147483647.0);r=M+16|0;qo(u,-2147483647.0,-2147483647.0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];o=M+24|0;p=M+8|0;q=c[15715]|0;e=0;while(1){i=c[H>>2]|0;if((e|0)>=(F|0))break;k=+(c[t+(e<<3)>>2]|0);n=+(c[t+(e<<3)+4>>2]|0);f=C+(e<<5)|0;c[L>>2]=c[f>>2];c[L+4>>2]=c[f+4>>2];c[L+8>>2]=c[f+8>>2];c[L+12>>2]=c[f+12>>2];c[L+16>>2]=c[f+16>>2];c[L+20>>2]=c[f+20>>2];c[L+24>>2]=c[f+24>>2];c[L+28>>2]=c[f+28>>2];j=k+ +h[L>>3];h[L>>3]=j;k=k+ +h[w>>3];h[w>>3]=k;m=n+ +h[x>>3];h[x>>3]=m;n=n+ +h[y>>3];h[y>>3]=n;h[M>>3]=+h[(+h[M>>3]<j?M:L)>>3];h[p>>3]=+h[(+h[p>>3]<m?M:L)+8>>3];h[r>>3]=+h[(+h[r>>3]>k?M:L)+16>>3];h[o>>3]=+h[(+h[o>>3]>n?M:L)+24>>3];f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[i+180>>2]|0)){u=(c[g>>2]|0)+16|0;c[u>>2]=c[L>>2];c[u+4>>2]=c[L+4>>2];c[u+8>>2]=c[L+8>>2];c[u+12>>2]=c[L+12>>2];c[u+16>>2]=c[L+16>>2];c[u+20>>2]=c[L+20>>2];c[u+24>>2]=c[L+24>>2];c[u+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);c[B>>2]=HB(f)|0;h[B+8>>3]=j;h[B+16>>3]=m;h[B+24>>3]=k;h[B+32>>3]=n;z4(q,90857,B)|0}}else{u=(c[g>>2]|0)+16|0;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];ro(z,I,J);c[u>>2]=c[z>>2];c[u+4>>2]=c[z+4>>2];c[u+8>>2]=c[z+8>>2];c[u+12>>2]=c[z+12>>2];if((d[195234]|0)>1){po(b);u=HB(f)|0;s=c[g>>2]|0;m=+h[s+16>>3];n=+h[s+24>>3];c[A>>2]=u;h[A+8>>3]=m;h[A+16>>3]=n;z4(q,90845,A)|0}}e=e+1|0}e=c[i+12>>2]|0;if(e|0){j=+h[e+24>>3];if(v){k=+h[e+32>>3];c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;h[r>>3]=j;h[o>>3]=k;k=j;m=0.0}else{k=+h[r>>3];m=+h[M>>3]}n=j-(k-m);j=n*.5;if(n>0.0){h[M>>3]=m-j;h[r>>3]=k+j}}if((b|0)>0)j=+((c[E+8>>2]|0)>>>0)*.5;else j=0.0;k=+h[M>>3]-j;h[M>>3]=k;m=j+ +h[r>>3];h[r>>3]=m;n=+h[p>>3]-(j+ +h[i+56>>3]);h[p>>3]=n;j=+h[o>>3]+(j+ +h[i+88>>3]);h[o>>3]=j;if((d[195234]|0)>1){po(b);c[G>>2]=HB(a)|0;h[G+8>>3]=k;h[G+16>>3]=n;h[G+24>>3]=m;h[G+32>>3]=j;z4(q,90857,G)|0}e=0;while(1){if((e|0)>=(F|0))break;f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[(c[H>>2]|0)+180>>2]|0)){G=(c[g>>2]|0)+16|0;c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];c[L+16>>2]=c[G+16>>2];c[L+20>>2]=c[G+20>>2];c[L+24>>2]=c[G+24>>2];c[L+28>>2]=c[G+28>>2];c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(L,I,J);c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(N,I,J);c[w>>2]=c[N>>2];c[w+4>>2]=c[N+4>>2];c[w+8>>2]=c[N+8>>2];c[w+12>>2]=c[N+12>>2];G=(c[g>>2]|0)+16|0;c[G>>2]=c[L>>2];c[G+4>>2]=c[L+4>>2];c[G+8>>2]=c[L+8>>2];c[G+12>>2]=c[L+12>>2];c[G+16>>2]=c[L+16>>2];c[G+20>>2]=c[L+20>>2];c[G+24>>2]=c[L+24>>2];c[G+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;j=+h[L>>3];k=+h[x>>3];m=+h[w>>3];n=+h[y>>3];c[Q>>2]=G;h[Q+8>>3]=j;h[Q+16>>3]=k;h[Q+24>>3]=m;h[Q+32>>3]=n;z4(q,90857,Q)|0}}else{G=(c[g>>2]|0)+16|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(O,I,J);c[G>>2]=c[O>>2];c[G+4>>2]=c[O+4>>2];c[G+8>>2]=c[O+8>>2];c[G+12>>2]=c[O+12>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;E=c[g>>2]|0;m=+h[E+16>>3];n=+h[E+24>>3];c[R>>2]=G;h[R+8>>3]=m;h[R+16>>3]=n;z4(q,90845,R)|0}}e=e+1|0}c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(P,I,J);c[r>>2]=c[P>>2];c[r+4>>2]=c[P+4>>2];c[r+8>>2]=c[P+8>>2];c[r+12>>2]=c[P+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(K,I,J);c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];R=(c[H>>2]|0)+16|0;c[R>>2]=c[M>>2];c[R+4>>2]=c[M+4>>2];c[R+8>>2]=c[M+8>>2];c[R+12>>2]=c[M+12>>2];c[R+16>>2]=c[M+16>>2];c[R+20>>2]=c[M+20>>2];c[R+24>>2]=c[M+24>>2];c[R+28>>2]=c[M+28>>2];if((d[195234]|0)>1){po(b);R=HB(a)|0;j=+h[M>>3];k=+h[p>>3];m=+h[r>>3];n=+h[o>>3];c[S>>2]=R;h[S+8>>3]=j;h[S+16>>3]=k;h[S+24>>3]=m;h[S+32>>3]=n;z4(q,90857,S)|0}l6(C);l6(D);l6(t)}l=T;return}function oo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+32|0;j=u+8|0;e=u;s=a+16|0;p=c[s>>2]|0;q=+h[p+16>>3];r=+h[p+24>>3];if((d[195234]|0)>1){po(b);p=c[15715]|0;c[e>>2]=HB(a)|0;z4(p,90830,e)|0}p=(b|0)!=0;a:do if(p){e=gC(a)|0;f=c[15715]|0;while(1){if(!e)break a;g=e+16|0;i=c[g>>2]|0;if((c[i+112>>2]|0)==(a|0)?(v=i+16|0,h[v>>3]=q+ +h[v>>3],i=i+24|0,h[i>>3]=r+ +h[i>>3],(d[195234]|0)>1):0){po(b);v=HB(e)|0;i=c[g>>2]|0;n=+h[i+16>>3];o=+h[i+24>>3];c[j>>2]=v;h[j+8>>3]=n;h[j+16>>3]=o;z4(f,90845,j)|0}e=hC(a,e)|0}}else f=c[15715]|0;while(0);j=b+1|0;a=1;while(1){e=c[s>>2]|0;if((a|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;if(p){g=i+16|0;e=c[g>>2]|0;k=q+ +h[e+16>>3];m=r+ +h[e+24>>3];n=q+ +h[e+32>>3];o=r+ +h[e+40>>3];if((d[195234]|0)>1){po(b);c[t>>2]=HB(i)|0;h[t+8>>3]=k;h[t+16>>3]=m;h[t+24>>3]=n;h[t+32>>3]=o;z4(f,90857,t)|0;e=c[g>>2]|0}h[e+16>>3]=k;h[e+24>>3]=m;h[e+32>>3]=n;h[e+40>>3]=o}oo(i,j);a=a+1|0}l=u;return}function po(a){a=a|0;var b=0;b=c[15715]|0;while(1){if((a|0)<=0)break;Z3(90875,b)|0;a=a+-1|0}return}function qo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function ro(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function to(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function vo(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;UP(b);b=hC(a,b)|0}wo(a);return}function wo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;AK(c[(c[e+16>>2]|0)+12>>2]|0);wo(e);a=a+1|0}l6(d);return}function xo(a){a=a|0;var b=0,d=0,e=0;WC(a,1,137750,304,1);FP(a)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=gC(a)|0;while(1){if(!d)break;yo(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=hC(a,d)|0}e=DA(a,2,92794,0)|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;zo(b,e);b=WA(a,b)|0}d=hC(a,d)|0}Ao(a);return}function yo(a){a=a|0;var b=0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0.0;RC(a,137763,176,1)|0;e=+YO(a,c[47236]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+YO(a,b,+h[(c[5180]|0)+32>>3],0.0);h[(c[d>>2]|0)+136>>3]=e;rP(a)|0;return}function Ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=DA(b,1,102924,0)|0;a:do if(n|0){o=DA(b,1,90961,0)|0;i=b+16|0;j=(o|0)==0;k=c[15715]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=OA(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((q4(b,102050,p)|0)<=1){c[q>>2]=HB(e)|0;c[q+4>>2]=b;z4(k,90965,q)|0;break}b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[23314];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((bP(OA(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Bo(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Co(a);return}function Co(a){a=a|0;Do(a);a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);l6(c[(c[a>>2]|0)+140>>2]|0);return}function Do(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;AK(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){l6(c[d>>2]|0);l6(c[(c[b>>2]|0)+140>>2]|0)}Do(e);f=f+1|0}l6(b);if((vC(a)|0)!=(a|0))TC(a,137786)|0;return}function Eo(a,b){a=a|0;b=b|0;c[b+4>>2]=DA(a,0,91017,0)|0;c[b+8>>2]=DA(a,0,141419,0)|0;c[b+12>>2]=DA(a,0,141351,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=iH(a,2,4,b+20|0)|0;return}function Fo(a){a=a|0;var d=0,e=0;mQ(a,2);d=HK(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(XO(a,DA(a,0,91675,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[47184]=d&65535;Go(a,0,a);cp(a);xo(a);return}function Go(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Ho(j);d=j}g=e+16|0;f=MD(a)|0;while(1){if(!f)break;if(!(h2(HB(f)|0,108307,7)|0)){RC(f,137786,280,1)|0;n=HK(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;Io(d,f);Go(f,0,f)}else Go(f,d,e);f=ND(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=KK(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Ho(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Jo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Eo(a,c);Ko(a,c);Lo(a);Mo(a,a);No(a);l=b;return}function Ko(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(a[195234]|0){q=c[15715]|0;c[e>>2]=HB(b)|0;z4(q,91024,e)|0}e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=hC(b,e)|0}p=Oo(b,d)|0;q=Fv(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;dp(f,m);e=gC(f)|0;while(1){if(!e)break;g=hC(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Po(e,f)|0;Ko(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*72.0*.5;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}tC(f,e)|0;e=g}if((qB(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Iq(f)|0;qp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){zP(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=HK(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=OG(e,q,0,d+20|0)|0;l6(f)}Qo(p,c[o>>2]|0,q,e,b,d);l6(e);g=gC(p)|0;while(1){if(!g)break;e=c[g+16>>2]|0;f=c[e+212>>2]|0;i=e+132|0;if(!f){e=c[(c[e+112>>2]|0)+8>>2]|0;if(e|0){o=c[i>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[i>>2]|0;x=+h[e+32>>3];w=+h[o>>3]-x*.5;v=c[(c[f+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[e+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}g=hC(p,g)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Ro(p,q);l6(q);if(a[195234]|0){v=c[15715]|0;c[r>>2]=HB(b)|0;z4(v,91035,r)|0}l=s;return}function Lo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];m=j*.5;l=i*.5;g=m*72.0;f=l*72.0;k=c[e+132>>2]|0;h[k>>3]=m;h[k+8>>3]=l;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=hC(b,d)|0}return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=gC(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=f+ +h[e>>3];e=e+8|0;h[e>>3]=g+ +h[e>>3]}d=hC(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=g+ +h[n>>3];m=f+ +h[l>>3];k=g+ +h[e>>3];h[p>>3]=f+ +h[p>>3];h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Mo(d,b);a=a+1|0}return}function No(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;No(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Oo(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+160|0;t=z+24|0;u=z+8|0;i=z;g=z+56|0;x=f+16|0;y=c[x>>2]|0;c[x>>2]=y+1;c[t>>2]=y;i2(g,91097,t)|0;if((d[195234]|0)>1){y=c[15715]|0;x=HB(e)|0;c[i>>2]=g;c[i+4>>2]=x;z4(y,91104,i)|0};c[t>>2]=c[4658];x=lB(91457,t,0)|0;RC(x,137786,280,1)|0;w=HK(56)|0;y=x+16|0;p=c[y>>2]|0;c[p+140>>2]=w;w=e+16|0;b[p+176>>1]=b[(c[w>>2]|0)+176>>1]|0;Xo(e,x,92808);Xo(e,x,93413);Xo(e,x,91503);p=f+4|0;q=t+16|0;r=t+8|0;s=t+24|0;k=0;o=1;while(1){g=c[w>>2]|0;if((o|0)>(c[g+180>>2]|0))break;c[t>>2]=c[332];c[t+4>>2]=c[333];c[t+8>>2]=c[334];c[t+12>>2]=c[335];c[t+16>>2]=c[336];c[t+20>>2]=c[337];c[t+24>>2]=c[338];c[t+28>>2]=c[339];i=c[(c[g+184>>2]|0)+(o<<2)>>2]|0;sK(i);j=Yo(x,HB(i)|0)|0;m=j+16|0;g=c[m>>2]|0;c[g+212>>2]=i;n=k+1|0;c[g+120>>2]=k;if(c[p>>2]|0)Zo(i,j,f,t);g=gC(i)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+164>>2]=j;g=hC(i,g)|0}g=c[m>>2]|0;if(a[g+119>>0]|0){m=c[g+132>>2]|0;h[m>>3]=(+h[t>>3]+ +h[q>>3])*.5;h[m+8>>3]=(+h[r>>3]+ +h[s>>3])*.5}k=n;o=o+1|0}m=gC(e)|0;while(1){if(!m)break;g=m+16|0;i=c[g>>2]|0;if(!(c[i+164>>2]|0)){j=i+212|0;t=c[j>>2]|0;if(t|0?(t|0)!=(c[(c[(c[w>>2]|0)+140>>2]|0)+48>>2]|0):0){v=18;break}c[j>>2]=e;if(!(a[i+118>>0]|0)){j=Yo(x,HB(m)|0)|0;i=c[g>>2]|0;c[i+164>>2]=j;j=c[j+16>>2]|0;c[j+120>>2]=k;h[j+32>>3]=+h[i+32>>3];h[j+40>>3]=+h[i+40>>3];h[j+88>>3]=+h[i+88>>3];h[j+96>>3]=+h[i+96>>3];h[j+80>>3]=+h[i+80>>3];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];g=a[i+119>>0]|0;if(g<<24>>24){f=c[i+132>>2]|0;t=c[j+132>>2]|0;h[t>>3]=+h[f>>3];h[t+8>>3]=+h[f+8>>3];a[j+119>>0]=g}c[(c[j+112>>2]|0)+8>>2]=m;g=k+1|0}else g=k}else g=k;m=hC(e,m)|0;k=g}if((v|0)==18){f=HB(m)|0;t=HB(e)|0;v=HB(c[(c[g>>2]|0)+212>>2]|0)|0;c[u>>2]=f;c[u+4>>2]=t;c[u+8>>2]=v;dA(1,91127,u)|0;Ca(187380,1)}n=gC(e)|0;while(1){if(!n)break;o=c[(c[n+16>>2]|0)+164>>2]|0;p=o+16|0;j=UA(e,n)|0;while(1){if(!j)break;g=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((g|0)!=(o|0)){if(g>>>0>o>>>0)m=fB(x,o,g,0,1)|0;else m=fB(x,g,o,0,1)|0;RC(m,137763,176,1)|0;i=c[j+16>>2]|0;v=c[m+16>>2]|0;h[v+136>>3]=+h[i+136>>3];h[v+128>>3]=+h[i+128>>3];g=c[(c[g+16>>2]|0)+112>>2]|0;i=g+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[(c[p>>2]|0)+112>>2]|0;u=i+4|0;c[u>>2]=(c[u>>2]|0)+1;if(!(c[v+172>>2]|0)){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}_o(m,j)}j=WA(e,j)|0}n=hC(e,n)|0}g=c[(c[w>>2]|0)+140>>2]|0;i=c[g>>2]|0;if(i|0){j=HK((c[g+4>>2]<<4)+16|0)|0;c[c[(c[y>>2]|0)+140>>2]>>2]=j;g=0;while(1){if(!(c[i>>2]|0))break;n=c[(c[(c[i+4>>2]|0)+16>>2]|0)+164>>2]|0;if(n){$o(e,i);o=Yo(x,194052)|0;p=o+16|0;c[(c[p>>2]|0)+120>>2]=k;if(o>>>0>n>>>0)m=fB(x,n,o,0,1)|0;else m=fB(x,o,n,0,1)|0;RC(m,137763,176,1)|0;v=c[i>>2]|0;u=c[v+16>>2]|0;w=c[m+16>>2]|0;h[w+136>>3]=+h[u+136>>3];h[w+128>>3]=+h[u+128>>3];_o(m,v);v=c[(c[p>>2]|0)+112>>2]|0;w=v+4|0;c[w>>2]=(c[w>>2]|0)+1;w=c[(c[n+16>>2]|0)+112>>2]|0;u=w+4|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1;c[j+4>>2]=o;h[j+8>>3]=+h[i+8>>3];c[j>>2]=m;g=g+1|0;j=j+16|0;k=k+1|0}i=i+16|0}c[(c[(c[y>>2]|0)+140>>2]|0)+4>>2]=g}l=z;return x|0}function Po(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=HK((l<<4)+16|0)|0;f=Uo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=Vo(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;l6(f);break}else Aa(91043,91053,766,91062)}while(0);return k|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;u=B+16|0;y=B;m=c[g+8>>2]|0;k=c[g+12>>2]|0;v=(c[g>>2]|0)==(f|0);z=(b|0)!=0;x=y+8|0;w=y+4|0;A=y+12|0;a:do if(z){n=c[(c[d>>2]|0)+16>>2]|0;j=+h[n+16>>3];m=~~(j+(j>=0.0?.5:-.5));c[y>>2]=m;j=+h[n+24>>3];g=~~(j+(j>=0.0?.5:-.5));c[w>>2]=g;j=+h[n+32>>3];k=~~(j+(j>=0.0?.5:-.5));c[x>>2]=k;j=+h[n+40>>3];n=~~(j+(j>=0.0?.5:-.5));c[A>>2]=n;if((b|0)>1){b=c[e>>2]|0;t=c[e+4>>2]|0;m=m+b|0;c[y>>2]=m;s=g+t|0;c[w>>2]=s;b=k+b|0;c[x>>2]=b;p=u+4|0;q=u+8|0;r=u+12|0;o=e;g=d;t=n+t|0;while(1){g=g+4|0;k=o+8|0;c[A>>2]=t;n=c[g>>2]|0;if(!n){p=0;break a}F=c[n+16>>2]|0;G=+h[F+16>>3];i=+h[F+24>>3];j=+h[F+32>>3];H=+h[F+40>>3];F=~~(H+(H>=0.0?.5:-.5));c[r>>2]=F;n=c[k>>2]|0;E=c[o+12>>2]|0;D=~~(G+(G>=0.0?.5:-.5))+n|0;c[u>>2]=D;C=~~(i+(i>=0.0?.5:-.5))+E|0;c[p>>2]=C;n=~~(j+(j>=0.0?.5:-.5))+n|0;c[q>>2]=n;E=F+E|0;c[r>>2]=E;D=c[((m|0)<(D|0)?y:u)>>2]|0;c[y>>2]=D;C=c[((s|0)<(C|0)?y:u)+4>>2]|0;c[w>>2]=C;n=c[((b|0)>(n|0)?y:u)+8>>2]|0;c[x>>2]=n;o=k;t=c[((t|0)>(E|0)?y:u)+12>>2]|0;m=D;s=C;b=n}}else{p=0;s=g;t=n;b=k}}else{c[y>>2]=0;c[w>>2]=0;b=XO(f,m,54,3)|0;c[x>>2]=b;t=XO(f,k,36,3)|0;c[A>>2]=t;p=1;s=0;m=0}while(0);n=f+16|0;o=c[n>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=~~(H+(H>=0.0?.5:-.5))+(m-b)|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[y>>2]=m;b=g+b|0;c[x>>2]=b;g=0}else g=0}else g=p;if(v|(g|0)!=0){k=0;g=o}else{k=XO(a,c[47198]|0,8,0)|0;g=c[n>>2]|0}q=k-m|0;p=~~(+(k-s|0)+ +h[g+56>>3]);c[y>>2]=0;c[w>>2]=0;o=q+k+b|0;c[x>>2]=o;n=~~(+(p+k|0)+ +h[g+88>>3]+ +(t|0));c[A>>2]=n;b:do if(z){g=e;c:while(1){b=d+4|0;k=c[d>>2]|0;if(!k)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}j=+(d|0)/72.0;i=+(g|0)/72.0;d=gC(k)|0;while(1){if(!d){d=b;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=j+ +h[F>>3];F=F+8|0;h[F>>3]=i+ +h[F>>3];d=hC(k,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;h[F+8>>3]=0.0;h[F+16>>3]=0.0;h[F+24>>3]=+(o|0)/72.0;h[F+32>>3]=+(n|0)/72.0;l=B;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;So(d);TC(d,137786)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)l6(b);So(a);TC(a,137786)|0;d=gC(a)|0;while(1){if(!d)break;e=hC(a,d)|0;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+172>>2]|0);TC(b,137763)|0;b=WA(a,b)|0}To(d);d=e}pB(a)|0;return}function So(a){a=a|0;l6(c[(c[a+16>>2]|0)+140>>2]|0);return}function To(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);TC(a,137750)|0;return}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=HK((l*24|0)+24|0)|0;i=0;j=ZA(b,a)|0;while(1){if(!j)break;g=c[j>>2]&3;e=c[((g|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((g|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;g=c[(c[k>>2]|0)+132>>2]|0;d=+h[e>>3]-+h[g>>3];f=+h[e+8>>3]-+h[g+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+O(+f,+d);h[m+(i*24|0)+16>>3]=d*d+f*f;i=i+1|0;j=_A(b,j,a)|0}if((i|0)!=(l|0))Aa(91076,91053,642,91085);k3(m,l,24,67);a:do if((l|0)>1){a=l+-1|0;e=0;b:while(1){if((e|0)>=(a|0))break a;f=+h[m+(e*24|0)+8>>3];g=e+1|0;j=g;while(1){i=m+(j*24|0)+8|0;if((j|0)>=(l|0))break;if(!(+h[i>>3]==f))break;j=j+1|0}if((j|0)==(g|0)){e=g;continue}if((j|0)==(l|0))d=3.141592653589793;else d=+h[i>>3];d=(d-f)/+(j-e|0);d=d>.03490658503988659?.03490658503988659:d;f=0.0;while(1){if((e|0)>=(j|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=f+ +h[k>>3];f=d+f;e=e+1|0}}}while(0);return m|0}function Vo(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;q=i>>>0>a>>>0;m=o+f|0;l=q?g:-g;d=q?1:-1;k=0;j=c[n+172>>2]|0;i=q?f:m+-1|0;g=q?p:p+ +(o+-1|0)*g;while(1){if((k|0)>=(o|0))break;q=c[j>>2]|0;c[e+(i<<4)>>2]=q;f=c[q>>2]&3;n=(f|0)==3?q:q+48|0;c[e+(i<<4)+4>>2]=c[((c[(c[(c[n+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?n:(f|0)==2?q:q+-48|0)+40>>2];h[e+(i<<4)+8>>3]=g;k=k+1|0;j=j+4|0;i=i+d|0;g=l+g}return m|0}function Wo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c<d)){d=+h[a+16>>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d<c)<<31>>31}else a=-1;else a=1;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=DA(a,0,c,0)|0;do if(d|0){a=OA(a,d)|0;d=DA(b,0,c,0)|0;if(!d){DA(b,0,c,a)|0;break}else{HA(b,d,a)|0;break}}while(0);return}function Yo(a,b){a=a|0;b=b|0;var d=0,f=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;f=HK(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=IK((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function Zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;o=q;p=q+64|0;i=c[e+4>>2]|0;k=OA(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=OA(OD(b)|0,i)|0;if((e|0)==(k|0))break;if(!(f2(k,e)|0))break}a[p>>0]=0;e=o+8|0;i=o+16|0;j=o+24|0;c[m>>2]=o;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=p;if((q4(k,91238,m)|0)<=3){c[n>>2]=HB(b)|0;c[n+4>>2]=k;dA(0,91256,n)|0;break}g=+h[23314];if(g>0.0){h[o>>3]=+h[o>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}p=a[p>>0]|0;a[(c[d+16>>2]|0)+119>>0]=p<<24>>24==33?3:p<<24>>24==63?2:1;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2]}while(0);l=q;return}function _o(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=a+16|0;g=c[f>>2]|0;e=c[g+172>>2]|0;g=b[g+168>>1]|0;a=(g<<2)+4|0;if(!e)a=IK(a)|0;else a=KK(e,a)|0;c[a+(g<<2)>>2]=d;d=c[f>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=D3(HB(a)|0)|0;j=D3(HB(f)|0)|0;j=(b+8+j+(D3(HB(d)|0)|0)|0)>999;b=HB(a)|0;if(j){d=HB(d)|0;j=HB(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;i2(194052,91196,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;i2(194052,91215,h)|0}l=i;return}function ap(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=k6(40)|0;c[i>>2]=0;g=+h[23314];o=0;f=+da(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){h[23314]=f;o=0;$(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){i=x6(187380,1,i|0,j|0)|0;j=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,i|0,j|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1)d=0;else d=D}else d=D}else d=D;while(1){if(d|0)break;o=0;$(103,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}o=0;la(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;$(104,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}}o=0;ha(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else{k=12;break}}if((k|0)==12)h[23314]=g;l6(i|0);return}function bp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Rm(a,25,10)|0){c[47180]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Tm(a,d)|0;break}else{dA(0,91299,g)|0;d=2;break}while(0);c[47180]=0}if((c[47185]|0)<1)Tm(a,d)|0;l=i;return}function cp(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=l;l=l+16|0;f=c[5180]|0;c[46512]=c[f>>2];c[46513]=c[f+4>>2];c[46515]=c[f+8>>2];c[46517]=c[f+12>>2];h[23264]=0.0;h[23259]=+h[f+16>>3];h[23260]=+h[f+24>>3];c[46516]=XO(a,DA(a,0,91362,0)|0,600,0)|0;b=+YO(a,DA(a,0,91503,0)|0,.3,0.0);h[23261]=b;f=c[5180]|0;h[f+32>>3]=b;b=+h[f+40>>3];if(b==-1.0)b=+YO(a,DA(a,0,91370,0)|0,-1.0,0.0);h[23262]=b;c[46514]=1;f=jm(a,2,186056)|0;c[46526]=f;if(!f){dA(0,91373,e)|0;c[46514]=2}c[46542]=(S(c[46516]|0,c[46517]|0)|0)/100|0;d=+h[23261];h[23266]=d*d;if(c[46512]|0){b=+h[23264];if(b<=0.0){b=d*3.0;h[23264]=b}h[23265]=b*b}l=e;return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=ep(a,b)|0;fp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[46512]|0)){b=0;while(1){if((b|0)>=(c[46543]|0))break a;ip(a,+gp(b),g);b=b+1|0}}else{d=Hv(qB(a)|0)|0;Mv(d,qB(a)|0);b=0;while(1){if((b|0)>=(c[46543]|0))break;hp(a,+gp(b),g,d);b=b+1|0}Ov(d)}while(0);b:do if(e!=0.0|f!=0.0){b=gC(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=e+ +h[g>>3];g=g+8|0;h[g>>3]=f+ +h[g>>3];b=hC(a,b)|0}}while(0);if(i|0)jp();l=j;return}function ep(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[23262]==-1.0){i=qB(a)|0;d=+h[23261];h[23262]=+h[23260]*d*+G(+(+(i|0)))/5.0;i=1}else{i=0;d=+h[23261]}g=c[46542]|0;h[b+8>>3]=+gp(g);h[b+16>>3]=d;h[b+24>>3]=+h[23259];e=c[46516]|0;a=e-g|0;c[b>>2]=a;f=c[46515]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[46543]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[46543]=g;a=f-g|0;j=10}}else{c[46543]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function fp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;w=qB(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=gC(d)|0;v=0;n=0;f=0;g=0;o=0;while(1){l=+(f|0);k=+(n|0);y=(v|0)!=0;if(!u)break;p=c[u+16>>2]|0;if(!(a[p+119>>0]|0))p=v;else{p=c[p+132>>2]|0;j=+h[p>>3];i=+h[p+8>>3];if(y){t=+(g|0);s=+(o|0);o=~~(i>s?i:s);n=~~(j<k?j:k);f=~~(i<l?i:l);g=~~(j>t?j:t)}else{g=~~j;f=~~i;o=f;n=g}p=v+1|0}u=hC(d,u)|0;v=p}t=+h[23261]*(+G(+(+(w-x|0)))+1.0)*.5*1.2;h[23268]=t;h[23267]=t;if((v|0)!=1)if((v|0)>1){r=+(g+n|0)*.5;s=+(o+f|0)*.5;q=+(g-n|0)*1.2;k=+(o-f|0)*1.2;l=t*4.0*t;m=q*k/l;i=q*.5;j=k*.5;do if(!(m>=1.0)){if(m>0.0){j=+G(+m)*2.0;i=q/j;h[23267]=i;j=k/j;A=19;break}if(q>0.0){h[23267]=i;j=l/q*.5;A=19;break}if(k>0.0){i=l/k*.5;h[23267]=i;A=19}else{j=t;i=t}}else{h[23267]=i;A=19}while(0);if((A|0)==19)h[23268]=j;q=+O(+j,+i);t=i/+I(+q);h[23267]=t;i=j/+J(+q);h[23268]=i;j=t}else{r=0.0;s=0.0;j=t;i=t}else{r=k;s=l;j=t;i=t}h[23269]=j*j;h[23270]=i*i;if((c[46526]|0)==2)f=c[46514]|0;else{f=e4()|0;f=(Ya(0)|0)^f}W4(f);a:do if(!e){e=gC(d)|0;if(!y)while(1){if(!e)break a;t=+h[23267];t=t*(+S4()*2.0+-1.0);A=e+16|0;h[c[(c[A>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[A>>2]|0)+132>>2]|0)+8>>3]=t;e=hC(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){t=+h[23267];t=t*(+S4()*2.0+-1.0);h[c[(c[f>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=t}else{A=c[g+132>>2]|0;h[A>>3]=+h[A>>3]-r;A=A+8|0;h[A>>3]=+h[A>>3]-s}e=hC(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;w=e+8|0;t=r+ +h[23267]*+I(+(+h[w>>3]));y=c[(c[e+4>>2]|0)+16>>2]|0;x=c[y+132>>2]|0;h[x>>3]=t;h[x+8>>3]=s+ +h[23268]*+J(+(+h[w>>3]));a[y+119>>0]=1;e=e+16|0}m=r*.1;q=s*.1;u=gC(d)|0;while(1){if(!u)break a;p=u+16|0;e=c[p>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))A=31;do if((A|0)==31){A=0;if(a[e+119>>0]|0){y=c[e+132>>2]|0;h[y>>3]=+h[y>>3]-r;y=y+8|0;h[y>>3]=+h[y>>3]-s;break}o=ZA(d,u)|0;n=0;j=0.0;i=0.0;while(1){if(!o)break;g=c[o>>2]&3;e=(g|0)==2?o:o+-48|0;f=c[e+40>>2]|0;g=(g|0)==3?o:o+48|0;if((f|0)!=(c[g+40>>2]|0)?(z=c[(c[((f|0)==(u|0)?g:e)+40>>2]|0)+16>>2]|0,(a[z+119>>0]|0)!=0):0){e=n+1|0;y=c[z+132>>2]|0;l=+h[y+8>>3];k=+h[y>>3];if(!n){j=k;i=l}else{B=+(n|0);t=+(e|0);j=(j*B+k)/t;i=(i*B+l)/t}}else e=n;o=_A(d,o,u)|0;n=e}do if((n|0)<=1)if((n|0)==1){f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=m+j*.98;i=q+i*.9;break}else{i=+S4()*6.283185307179586;B=+S4()*.9;t=B*+h[23267]*+I(+i);f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=t;i=B*+h[23268]*+J(+i);break}else{f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);u=hC(d,u)|0}}while(0);h[b>>3]=r;h[b+8>>3]=s;return}function gp(a){a=a|0;var b=0;b=c[46516]|0;return +(+h[23262]*+(b-a|0)/+(b|0))}function hp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Nv(e);f=gC(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[23264];g=~~+E(+(+h[i>>3]/j));Qv(e,g,~~+E(+(+h[i+8>>3]/j)),f);f=hC(a,f)|0}g=gC(a)|0;while(1){if(!g)break;f=UA(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))lp(g,i,f);f=WA(a,f)|0}g=hC(a,g)|0}Sv(e,26);mp(a,b,d)}return}function ip(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=gC(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=hC(a,e)|0}g=gC(a)|0;while(1){if(!g)break;else e=g;while(1){e=hC(a,e)|0;if(!e)break;kp(g,e)}e=UA(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))lp(g,f,e);e=WA(a,e)|0}g=hC(a,g)|0}mp(a,b,d)}return}function jp(){h[23262]=-1.0;return}function kp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];np(a,b,e,d,e*e+d*d);return}function lp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;b=a+16|0;a=c[(c[b>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[a>>3];f=+h[k+8>>3]-+h[a+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=f+e;if(!(e==0.0))break;e=+(5-((U4()|0)%10|0)|0);f=+(5-((U4()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+G(+e);k=(c[46513]|0)==0;d=c[d+16>>2]|0;e=+h[d+136>>3];f=+h[d+128>>3]*(k?f:f-e)/(k?e:f);g=g*f;k=c[(c[j>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=+h[d>>3]-g;i=i*f;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[b>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=g+ +h[d>>3];k=k+24|0;h[k>>3]=i+ +h[k>>3];return}function mp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;l=gC(b)|0;while(1){if(!l)break;k=c[l+16>>2]|0;if(!(a[k+119>>0]&2)){e=c[k+112>>2]|0;f=+h[e+16>>3];g=+h[e+24>>3];i=f*f+g*g;j=c[k+132>>2]|0;m=j+8|0;if(!(i<o)){i=d/+G(+i);g=g*i;f=f*i}i=+h[j>>3]+f;f=+h[m>>3]+g;do if(!n){g=+G(+(i*i/+h[23269]+f*f/+h[23270]));if((c[e+8>>2]|0)==0?(c[k+212>>2]|0)==0:0){h[j>>3]=i/g;f=f/g;break}if(!(g>=1.0)){h[j>>3]=i;break}else{h[j>>3]=i*.95/g;f=f*.95/g;break}}else h[j>>3]=i;while(0);h[m>>3]=f}l=hC(b,l)|0}return}function np(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}if(c[46513]|0)f=f*+G(+f);f=+h[23266]/f;i=c[a+16>>2]|0;g=c[i+112>>2]|0;a=c[b+16>>2]|0;b=c[a+112>>2]|0;if(((c[g+8>>2]|0)==0?(c[i+212>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)f=(c[a+212>>2]|0)==0?f*10.0:f;d=d*f;i=b+16|0;h[i>>3]=+h[i>>3]+d;e=e*f;i=b+24|0;h[i>>3]=e+ +h[i>>3];i=g+16|0;h[i>>3]=+h[i>>3]-d;i=g+24|0;h[i>>3]=+h[i>>3]-e;return}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))kp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;pp(d,h,a,f);pp(d,h,e,f);b=e+1|0;pp(d,h,b,f);pp(d,g,a,f);pp(d,g,b,f);g=g+1|0;pp(d,g,a,f);pp(d,g,e,f);pp(d,g,b,f);return 0}function pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Tv(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=f*f+g*g;if(i<+h[23265])np(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=NA(b,92808)|0;if(a[195234]|0)_3(91417,8,1,c[15715]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91426;f=F3(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=d6(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(a[195234]|0){i=c[15715]|0;c[g>>2]=f;c[g+4>>2]=e;z4(i,91434,g)|0}if(!((f|0)!=0?!(rp(b,d,f)|0):0))kr(b,e)|0;l=h;return}function rp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=qB(b)|0;k=rB(b)|0;ir(j,b);c[46884]=c[j>>2];c[46885]=c[j+4>>2];c[46886]=c[j+8>>2];if(a[187544]|0){g[46884]=+g[46884]/72.0;g[46885]=+g[46885]/72.0}f=sp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0);p=+(S(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;tp(s,r);m=+h[170]*+h[23272];h[23273]=m;h[23274]=o*m*2.0/p;d=0;while(1){if((d|0)>=(c[46550]|0))break;m=+up(d);if(m<=0.0)break;f=vp(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=q+n;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=gC(a)|0;while(1){if(!e)break;else d=e;while(1){c=hC(a,d)|0;if(!c)break;d=c;b=(yp(e,c)|0)+b|0}e=hC(a,e)|0}return b|0}function tp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[23276]=f;c[46550]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[23272]=e*e;if(f==0.0)h[23276]=e*+G(+(+(a|0)))/5.0;return}function up(a){a=a|0;var b=0;b=c[344]|0;return +(+h[23276]*+(b-a|0)/+(b|0))}function vp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;e=gC(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=hC(b,e)|0}e=0;j=gC(b)|0;while(1){if(!j)break;else g=j;while(1){f=hC(b,g)|0;if(!f)break;g=f;e=(wp(j,f)|0)+e|0}f=UA(b,j)|0;while(1){if(!f)break;xp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=WA(b,f)|0}j=hC(b,j)|0}a:do if(!e)e=0;else{n=d*d;g=gC(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;l=+h[j+16>>3];i=+h[j+24>>3];m=l*l+i*i;f=c[f+132>>2]|0;k=+h[f>>3];if(m<n)h[f>>3]=l+k;else{m=+G(+m);h[f>>3]=k+l*d/m;i=i*d/m}j=f+8|0;h[j>>3]=i+ +h[j>>3]}g=hC(b,g)|0}}while(0);return e|0}function wp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];return Ap(a,b,e,d,e*e+d*d)|0}function xp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(yp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];j=+G(+(e*e+g*g));d=+zp(a);d=d+ +zp(b);k=j-d;d=k*k/(j*(+h[171]+d));e=e*d;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=e+ +h[a>>3];b=b+24|0;h[b>>3]=d+ +h[b>>3]}return}function yp(b,d){b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;f=c[d+16>>2]|0;m=c[f+132>>2]|0;b=c[b+16>>2]|0;d=c[b+132>>2]|0;l=+h[m>>3]-+h[d>>3];e=+h[m+8>>3]-+h[d+8>>3];d=(a[187544]|0)!=0;k=+h[b+32>>3];i=+g[46884];j=+h[f+32>>3];if(!((l<0.0?-l:l)<=(d?k*.5+i:k*i*.5)+(d?i+j*.5:j*i*.5)))d=0;else{j=+h[b+40>>3];l=+g[46885];k=+h[f+40>>3];d=(e<0.0?-e:e)<=(d?j*.5+l:j*l*.5)+(d?l+k*.5:k*l*.5)}return d&1|0}function zp(b){b=b|0;var d=0.0,e=0.0,f=0.0,i=0;i=(a[187544]|0)!=0;b=c[b+16>>2]|0;f=+h[b+32>>3];e=+g[46884];e=i?f*.5+e:f*e*.5;f=+h[b+40>>3];d=+g[46885];d=i?f*.5+d:f*d*.5;return +(+G(+(e*e+d*d)))}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}g=yp(a,b)|0;f=((g|0)==0?+h[23274]:+h[23273])/f;d=d*f;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=e*f;b=b+24|0;h[b>>3]=f+ +h[b>>3];b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Bp(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Cp(a);return}function Cp(a){a=a|0;var b=0,d=0,e=0,f=0;e=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dp(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dp(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+4|0;j=m;c[k>>2]=c[4660];k=lB(91457,k,0)|0;RC(k,91465,280,1)|0;c[(c[a+16>>2]|0)+140>>2]=k;d=gC(a)|0;while(1){if(!d)break;e=d+16|0;if(!(c[c[(c[e>>2]|0)+112>>2]>>2]|0)){i=Fp(k,HB(d)|0,d)|0;c[c[(c[e>>2]|0)+112>>2]>>2]=i}d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=c[c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;g=c[c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((f|0)!=(g|0))RC(fB(k,f,g,0,1)|0,137763,176,1)|0;d=WA(a,d)|0}e=hC(a,e)|0}i=BG(k,j,0)|0;e=0;while(1){if((e|0)>=(c[j>>2]|0))break;g=c[i+(e<<2)>>2]|0;d=gC(g)|0;while(1){if(!d)break;f=UA(a,c[c[(c[d+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!f)break;h=c[c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((d|0)!=(h|0)){h=fB(k,d,h,0,1)|0;RC(h,137763,176,1)|0;jB(g,h,1)|0}f=WA(a,f)|0}d=hC(g,d)|0}e=e+1|0}d=gC(k)|0;while(1){if(!d)break;e=UA(k,d)|0;while(1){if(!e)break;a=HK(8)|0;c[(c[e+16>>2]|0)+120>>2]=a;e=WA(k,e)|0}d=hC(k,d)|0}c[b>>2]=c[j>>2];l=m;return i|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;e=HK(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=HK(c[47184]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(qB(a)|0){g=Ep(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){_w(b,a);Hp(c[g>>2]|0);lr(a)|0}else{d=c[b+60>>2]|0;iH(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;_w(i,a);lr(i)|0;b=b+1|0}hH(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Hp(c[g+(b<<2)>>2]|0);b=b+1|0}}l6(g)}l=h;return}function Hp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=hC(a,b)|0}return}function Ip(a){a=a|0;if(qB(a)|0){Bp(a);Gp(a);l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);cn(a);rM(a)}return}function Jp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;if(b|0){e=a+16|0;Kp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}l6(c[(c[e>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786)}return}function Kp(a){a=a|0;var b=0,d=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+120>>2]|0);b=WA(a,b)|0}b=d+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);d=hC(a,d)|0}pB(a)|0;return}function Lp(b){b=b|0;var d=0,e=0.0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+112|0;k=r+40|0;m=r+16|0;q=r+100|0;n=r;i=r+88|0;o=r+56|0;Mp(b);j=(c[47184]|0)==2;d=j&1;if(qB(b)|0){p=Vp()|0;Np(b,p);Kq(b,m,0)|0;f=p+124|0;if(j&(c[m>>2]|0)==18){c[f>>2]=c[m+8>>2];h[p+144>>3]=+h[m+16>>3];ir(i,b);if(!(a[i+8>>0]|0)){h[n>>3]=.05555555555555555;e=.05555555555555555}else{e=+g[i+4>>2];h[n>>3]=+g[i>>2]/72.0;e=e/72.0}h[n+8>>3]=e;d=0}else c[f>>2]=-1;if(a[195234]|0)Xp(p);j=BG(b,q,0)|0;if((c[q>>2]|0)==1){c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(b,p,k);if(d|0)Nq(b,m)|0;cn(b);d=0}else{iH(b,2,8,o)|0;c[o+12>>2]=1;i=(d|0)==0;f=0;while(1){d=c[q>>2]|0;if((f|0)>=(d|0))break;d=c[j+(f<<2)>>2]|0;IG(d)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(d,p,k);if(!i)Nq(d,m)|0;mQ(d,2);cn(d);f=f+1|0}hH(d,j,b,o)|0;d=0}while(1){if((d|0)>=(c[q>>2]|0))break;tC(b,c[j+(d<<2)>>2]|0)|0;d=d+1|0}l6(j);Wp(p)}rM(b);l=r;return}function Mp(a){a=a|0;var d=0,f=0;mQ(a,2);d=XO(a,DA(a,0,91669,0)|0,2,2)|0;f=(XO(a,DA(a,0,91675,0)|0,d,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;if((e[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0)<10)f=b[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0;else f=10;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;f=f&65535;c[47184]=f;b[(c[(vC(a)|0)+16>>2]|0)+178>>1]=(d|0)<(f|0)?d:f;Sp(a);return}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+12|0;e=b+108|0;c[d>>2]=c[e>>2];if((jm(a,2,d)|0)!=2)dA(0,91470,g)|0;c[e>>2]=c[d>>2];h[b+24>>3]=+YO(a,DA(a,0,91503,0)|0,-1.0,0.0);h[b>>3]=-+YO(a,DA(a,0,91505,0)|0,1.0001234,0.0);c[b+40>>2]=XO(a,DA(a,0,91520,0)|0,2147483647,0)|0;c[b+120>>2]=Qp(a,DA(a,0,91527,0)|0)|0;c[b+132>>2]=Rp(a,DA(a,0,91537,0)|0)|0;c[b+136>>2]=0;c[b+112>>2]=(cP(NA(a,91546)|0,0)|0)&255;c[b+128>>2]=(cP(NA(a,91555)|0,1)|0)&255;h[b+152>>3]=+YO(a,DA(a,0,91570,0)|0,0.0,-1797693134862315708145274.0e284);d=XO(a,DA(a,0,91579,0)|0,0,0)|0;a=b+160|0;c[a>>2]=d;if((d|0)>4){c[f>>2]=d;dA(0,91592,f)|0;c[a>>2]=0}l=g;return}function Op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q;n=q+32|0;j=q+28|0;g=q+24|0;p=q+20|0;o=q+16|0;c[g>>2]=0;c[p>>2]=0;c[o>>2]=0;i=b+136|0;e=c[47184]|0;if((c[i>>2]|0)==1)m=Hq(a,e,o)|0;else m=Hq(a,e,0)|0;do if((c[b+124>>2]|0)>-1)if((c[b+160>>2]|0)>0){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,g,p)|0;break}else{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,0,0)|0;break}else k=0;while(0);e=Pp(a)|0;c[n>>2]=e;switch(c[i>>2]|0){case 1:case 0:{tq(c[47184]|0,m,c[o>>2]|0,b,0,k,e,c[g>>2]|0,c[p>>2]|0,j);break}case 5:{Fq(c[47184]|0,m,e,j);break}case 4:{e=c[o>>2]|0;if(!e)e=Nw(m)|0;else e=xw(e,0)|0;c[o>>2]=e;Aq(c[47184]|0,m,e,n,1,200,.001,j);break}default:{}}e=gC(a)|0;while(1){if(!e)break;d=c[47184]|0;g=c[e+16>>2]|0;b=(c[n>>2]|0)+((S(c[g+120>>2]|0,d)|0)<<3)|0;g=g+132|0;f=0;while(1){if((f|0)>=(d|0))break;h[(c[g>>2]|0)+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}e=hC(a,e)|0}l6(k);l6(c[n>>2]|0);nw(m);e=c[o>>2]|0;if(e|0)nw(e);e=c[p>>2]|0;if(e|0)l6(e);l=q;return}function Pp(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=c[47184]|0;j=HK(S(j<<3,qB(b)|0)|0)|0;a:do if(DA(b,1,102924,0)|0){f=gC(b)|0;while(1){if(!f)break a;d=c[f+16>>2]|0;b:do if(a[d+119>>0]|0){g=c[47184]|0;i=d+132|0;e=S(g,c[d+120>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break b;h[j+(e+d<<3)>>3]=+h[(c[i>>2]|0)+(d<<3)>>3];d=d+1|0}}while(0);f=hC(b,f)|0}}while(0);return j|0}function Qp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=(b|0)<5?b:0;break}if(P2(c)|0)if(C3(b,91631)|0)if(C3(b,91640)|0)if(C3(b,136010)|0)if(!(C3(b,91651)|0))b=3;else{b=(C3(b,91662)|0)==0;b=b?4:0}else b=0;else b=1;else b=2;else b=0}else b=0;while(0);return b|0}function Rp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=b>>>0<3?b:1;break}if(P2(c)|0)if((C3(b,136010)|0)!=0?(C3(b,137609)|0)!=0:0)if(((C3(b,100031)|0)!=0?(C3(b,107953)|0)!=0:0)?(C3(b,107958)|0)!=0:0){b=(C3(b,91626)|0)==0;b=b?2:1}else b=1;else b=0;else b=1}else b=1;while(0);return b|0}function Sp(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Wl(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Tp(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Tp(a){a=a|0;RC(a,137763,176,1)|0;rP(a)|0;return}function Up(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}return}function Vp(){var a=0,b=0;a=IK(168)|0;h[a>>3]=-1.0001234;h[a+8>>3]=1.0;c[a+16>>2]=1;h[a+24>>3]=-1.0;h[a+32>>3]=.2;c[a+40>>2]=0;c[a+44>>2]=4;c[a+48>>2]=1;c[a+52>>2]=45;c[a+56>>2]=10;h[a+64>>3]=.6;h[a+72>>3]=.001;c[a+80>>2]=500;h[a+88>>3]=.9;h[a+96>>3]=.1;c[a+104>>2]=1;c[a+108>>2]=123;b=a+112|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+128>>2]=1;c[a+132>>2]=3;c[a+136>>2]=0;h[a+144>>3]=-4.0;h[a+152>>3]=0.0;c[a+160>>2]=0;return a|0}function Wp(a){a=a|0;l6(a);return}function Xp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+176|0;d=b+160|0;f=b+152|0;g=b+128|0;k=b+112|0;j=b+88|0;m=b+64|0;n=b+56|0;o=b+40|0;q=b+24|0;p=b+16|0;r=b;e=c[15715]|0;_3(91679,27,1,e)|0;i=+h[a+8>>3];h[r>>3]=+h[a>>3];h[r+8>>3]=i;z4(e,91707,r)|0;r=c[a+108>>2]|0;c[p>>2]=c[a+16>>2];c[p+4>>2]=r;z4(e,91758,p)|0;i=+h[a+32>>3];h[q>>3]=+h[a+24>>3];h[q+8>>3]=i;z4(e,91785,q)|0;q=c[a+44>>2]|0;p=c[a+48>>2]|0;c[o>>2]=c[a+40>>2];c[o+4>>2]=q;c[o+8>>2]=p;z4(e,91808,o)|0;o=c[a+56>>2]|0;c[n>>2]=c[a+52>>2];c[n+4>>2]=o;z4(e,91859,n)|0;i=+h[a+72>>3];n=c[a+80>>2]|0;h[m>>3]=+h[a+64>>3];h[m+8>>3]=i;c[m+16>>2]=n;z4(e,91892,m)|0;i=+h[a+96>>3];m=c[a+104>>2]|0;h[j>>3]=+h[a+88>>3];h[j+8>>3]=i;c[j+16>>2]=m;z4(e,91950,j)|0;j=c[a+116>>2]|0;i=+h[a+152>>3];c[k>>2]=c[a+112>>2];c[k+4>>2]=j;h[k+8>>3]=i;z4(e,91996,k)|0;k=c[a+124>>2]|0;j=c[a+128>>2]|0;i=+h[a+144>>3];c[g>>2]=c[17844+(c[a+120>>2]<<2)>>2];c[g+4>>2]=k;c[g+8>>2]=j;h[g+16>>3]=i;z4(e,92049,g)|0;g=c[17888+(c[a+136>>2]<<2)>>2]|0;c[f>>2]=c[17872+(c[a+132>>2]<<2)>>2];c[f+4>>2]=g;z4(e,92114,f)|0;c[d>>2]=c[a+160>>2];z4(e,92144,d)|0;l=b;return}function Yp(a){a=a|0;l6(a);return}function Zp(a){a=a|0;var b=0;b=IK(184)|0;c[b>>2]=a;c[b+176>>2]=0;return b|0}function _p(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0;e=c[a>>2]|0;h[a+8+(e<<3)>>3]=b;f=a+176|0;g=c[a>>2]|0;i=g+1|0;d=g+-1|0;j=(g|0)>19;a:do switch(c[f>>2]|0){case 0:{if((g|0)==20)c[f>>2]=-1;else{c[f>>2]=1;d=j?20:i}c[a>>2]=d;break}case 1:if((g|0)<20?+h[a+8+(e+-1<<3)>>3]>b:0){c[a>>2]=j?20:i;break a}else{c[a>>2]=d;c[f>>2]=-1;break a}default:if((g|0)>0?+h[a+8+(e+1<<3)>>3]>b:0){c[a>>2]=d;break a}else{c[a>>2]=i;c[f>>2]=1;break a}}while(0);return}function $p(a){a=a|0;return c[a>>2]|0}function aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;m=c[a>>2]|0;n=c[o+(m<<2)>>2]|0;if(!n)e=1.0;else{a=0;e=0.0;a:while(1){if((a|0)>=(m|0))break;j=a+1|0;k=c[o+(j<<2)>>2]|0;l=S(a,b)|0;i=c[o+(a<<2)>>2]|0;while(1){if((i|0)>=(k|0)){a=j;continue a}g=p+(i<<2)|0;a=0;f=0.0;while(1){if((a|0)>=(b|0))break;q=+h[d+(a+l<<3)>>3]-+h[d+((S(c[g>>2]|0,b)|0)<<3)>>3];a=a+1|0;f=f+q*q}i=i+1|0;e=e+ +G(+f)}}e=e/+(n|0)}return +e}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<3)|0}return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<2)|0}return}function dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=S(d,b)|0;b=S(c,b)|0;d=0;while(1){if((d|0)==2)break;h[j+(d<<3)>>3]=+h[a+(d+i<<3)>>3]-+h[a+(d+b<<3)>>3];d=d+1|0}g=+h[j>>3];f=+h[j+8>>3];do if(!((g>=0.0?g:-g)<=(f>=0.0?f:-f)*1.0e-05)){e=+N(+(f/g));if(g>0.0){if(!(f<0.0))break;e=e+6.283185307179586;break}else{if(!(g<0.0))break;e=e+3.141592653589793;break}}else e=f>0.0?1.5707963267948966:4.71238898038469;while(0);l=k;return +e}function eq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];c=+h[b>>3];return (d>c?1:(d<c)<<31>>31)|0}function fq(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0,R=0.0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;$=l;l=l+80|0;_=$+32|0;Z=$;q=+h[e>>3];n=e+24|0;o=+h[n>>3];p=e+32|0;k=+h[p>>3];R=+h[e+72>>3];T=c[e+80>>2]|0;U=+h[e+88>>3];r=+h[e+96>>3];V=c[e+104>>2]|0;W=e+56|0;j=c[W>>2]|0;do if(!((d|0)==0|(T|0)<1)?(X=c[d+4>>2]|0,!((b|0)<1|(X|0)<1)):0){Q=c[d>>2]|0;Y=Zp(j)|0;c[i>>2]=0;if((Q|0)!=(X|0)){c[i>>2]=-100;Yp(Y);c[W>>2]=j;break}O=sw(d,1)|0;P=c[O+20>>2]|0;Q=c[O+24>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);m=S(X,b)|0;j=0;while(1){if((j|0)>=(m|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(O,b,g);h[n>>3]=o}if(k<0.0){h[p>>3]=.2;k=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}N=+H(+o,+(1.0-q));B=+H(+k,+((2.0-q)/3.0))/o;C=S(X,b<<3)|0;D=IK(C)|0;E=IK(C)|0;F=e+116|0;I=e+64|0;J=c[15715]|0;K=O+8|0;L=Z+8|0;M=Z+16|0;z=0;A=0.0;w=r;while(1){B6(D|0,g|0,C|0)|0;x=$p(Y)|0;y=ew(b,X,x,g,(c[F>>2]|0)==0?0:f)|0;$v(y,E,g,+h[I>>3],q,N,Z,i);n=0;b:while(1){if((n|0)>=(X|0)){r=0.0;m=0;break}p=S(n,b)|0;s=E+(p<<3)|0;t=n+1|0;u=P+(t<<2)|0;m=c[P+(n<<2)>>2]|0;while(1){if((m|0)>=(c[u>>2]|0)){n=t;continue b}v=Q+(m<<2)|0;j=c[v>>2]|0;c:do if((j|0)!=(n|0)){k=+Xw(g,b,n,j);j=0;while(1){if((j|0)>=(b|0))break c;r=k*(B*(+h[g+(j+p<<3)>>3]-+h[g+((S(c[v>>2]|0,b)|0)+j<<3)>>3]));aa=s+(j<<3)|0;h[aa>>3]=+h[aa>>3]-r;j=j+1|0}}while(0);m=m+1|0}}while(1){if((m|0)>=(X|0))break;n=S(m,b)|0;p=E+(n<<3)|0;k=0.0;j=0;while(1){if((j|0)>=(b|0))break;ba=+h[p+(j<<3)>>3];k=k+ba*ba;j=j+1|0}k=+G(+k);r=r+k;d:do if(k>0.0){j=0;while(1){if((j|0)>=(b|0)){j=0;break d}aa=p+(j<<3)|0;h[aa>>3]=+h[aa>>3]/k;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(b|0))break;aa=g+(j+n<<3)|0;h[aa>>3]=+h[aa>>3]+w*+h[p+(j<<3)>>3];j=j+1|0}m=m+1|0}z=z+1|0;if(!y){if(a[195234]|0){aa=c[K>>2]|0;c[_>>2]=z;h[_+8>>3]=w;h[_+16>>3]=r;c[_+24>>2]=aa;h[_+32>>3]=o;z4(J,92400,_)|0}}else{lw(y);_p(Y,+h[Z>>3]+ +h[L>>3]*.85+ +h[M>>3]*3.3)}w=+gq(V,w,r,A,U);if(!((z|0)<(T|0)&w>R))break;else A=r}if(c[e+112>>2]|0)hq(b,O,g);Yp(Y);c[W>>2]=x;l6(D);if((O|0)!=(d|0))nw(O);l6(E)}while(0);l=$;return}function gq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0.0;f=b*e;if((a|0)!=0&!(c>=d)){if(!(d*.95<c))b=b*.99/e}else b=f;return +b}function hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+16|0;v=D+12|0;y=D+8|0;z=D+4|0;A=D;B=c[b>>2]|0;C=c[b+20>>2]|0;t=c[b+24>>2]|0;c[v>>2]=10;c[A>>2]=10;u=IK(B<<2)|0;f=IK(80)|0;c[y>>2]=f;e=IK(40)|0;c[z>>2]=e;b=0;while(1){if((b|0)>=(B|0)){n=0;r=f;k=e;o=e;m=f;break}c[u+(b<<2)>>2]=0;b=b+1|0}while(1){if((n|0)>=(B|0))break;b=c[C+(n<<2)>>2]|0;a:do if((((c[C+(n+1<<2)>>2]|0)-b|0)==1?(c[u+(n<<2)>>2]|0)==0:0)?(w=c[t+(b<<2)>>2]|0,x=u+(w<<2)|0,(c[x>>2]|0)==0):0){c[x>>2]=1;q=C+(w+1<<2)|0;n=0;s=0;g=0.0;p=c[C+(w<<2)>>2]|0;k=o;b=r;while(1){if((p|0)>=(c[q>>2]|0))break;e=t+(p<<2)|0;f=c[e>>2]|0;if(((c[C+(f+1<<2)>>2]|0)-(c[C+(f<<2)>>2]|0)|0)==1){c[u+(f<<2)>>2]=1;cq(z,s,v);g=g+ +Xw(d,a,w,c[e>>2]|0);k=c[z>>2]|0;c[k+(s<<2)>>2]=c[e>>2];e=n;f=s+1|0}else{bq(y,n,A);j=+dq(d,a,w,c[e>>2]|0);b=c[y>>2]|0;h[b+(n<<3)>>3]=j;e=n+1|0;f=s;m=b}n=e;s=f;p=p+1|0}j=g/+(s|0);if((n|0)>0){iq(n,m);b=m}g=(s|0)>1?6.283185307179586/+(s+-1|0):0.0;e=0;i=0.0;while(1){if((e|0)>=(s|0)){o=k;f=k;break a}jq(d,a,j,i,w,c[k+(e<<2)>>2]|0);e=e+1|0;i=g+i}}else{e=n;f=k;b=r}while(0);n=e+1|0;r=b;k=f}l6(u);l6(r);l6(k);l=D;return}function iq(a,b){a=a|0;b=b|0;k3(b,a,8,68);return}function jq(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;var g=0.0;g=+I(+d)*c;e=S(e,b)|0;f=S(f,b)|0;h[a+(f<<3)>>3]=g+ +h[a+(e<<3)>>3];d=+J(+d)*c;h[a+(f+1<<3)>>3]=d+ +h[a+(e+1<<3)>>3];return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0.0,T=0,U=0,V=0,W=0;n=+h[d>>3];m=d+24|0;l=+h[m>>3];o=d+32|0;k=+h[o>>3];P=+h[d+72>>3];Q=c[d+80>>2]|0;R=+h[d+88>>3];r=+h[d+96>>3];T=c[d+104>>2]|0;i=c[d+56>>2]|0;_3(92499,32,1,c[15715]|0)|0;if(!((b|0)==0|(Q|0)<1)?(U=c[b>>2]|0,j=c[b+4>>2]|0,!((a|0)<1|(j|0)<1)):0){p=a<<3;V=IK(S(p,j)|0)|0;if((j|0)<(c[d+52>>2]|0)){J=0;K=0;L=0;M=0;N=0;O=0}else{Zp(i)|0;M=IK(a*80|0)|0;N=IK(80)|0;O=IK(80)|0;J=O;K=N;L=M}c[g>>2]=0;if((U|0)==(j|0)){D=sw(b,1)|0;E=c[D+20>>2]|0;F=c[D+24>>2]|0;I=S(U,a)|0;a:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);i=0;while(1){if((i|0)>=(I|0))break a;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(l<0.0){l=+aq(D,a,f);h[m>>3]=l}if(k<0.0){h[o>>3]=.2;k=.2}if(n>=0.0){h[d>>3]=-1.0;n=-1.0}B=1.0-n;C=+H(+l,+B);z=+H(+k,+((2.0-n)/3.0))/l;A=IK(p)|0;w=S(U,p)|0;x=IK(w)|0;y=d+116|0;u=n==-1.0;v=(e|0)!=0;s=0;t=0.0;while(1){i=0;while(1){if((i|0)>=(I|0))break;h[V+(i<<3)>>3]=0.0;i=i+1|0}B6(x|0,f|0,w|0)|0;q=0;while(1){if((q|0)<(U|0))i=0;else{o=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=S(q,a)|0;b:do if(v&(c[y>>2]|0)!=0){i=0;while(1){if((i|0)==(U|0)){i=0;break b}c:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=e+(i<<3)|0;m=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break c;o=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[o>>3]=+h[o>>3]+C*+h[g>>3]*(+h[f+(j+p<<3)>>3]-+h[f+(j+m<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}else{i=0;while(1){if((i|0)==(U|0)){i=0;break b}d:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break d;m=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[m>>3]=+h[m>>3]+C*(+h[f+(j+p<<3)>>3]-+h[f+(j+g<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}while(0);while(1){if((i|0)>=(a|0))break;o=V+(i+p<<3)|0;h[o>>3]=+h[A+(i<<3)>>3]+ +h[o>>3];i=i+1|0}q=q+1|0}e:while(1){if((o|0)<(U|0))i=0;else{l=0.0;j=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=o+1|0;g=E+(p<<2)|0;q=S(o,a)|0;j=c[E+(o<<2)>>2]|0;while(1){if((j|0)>=(c[g>>2]|0)){i=0;break}m=F+(j<<2)|0;i=c[m>>2]|0;f:do if((i|0)!=(o|0)){k=+Xw(f,a,o,i);i=0;while(1){if((i|0)>=(a|0))break f;n=k*(z*(+h[f+(i+q<<3)>>3]-+h[f+((S(c[m>>2]|0,a)|0)+i<<3)>>3]));W=A+(i<<3)|0;h[W>>3]=+h[W>>3]-n;i=i+1|0}}while(0);j=j+1|0}while(1){if((i|0)>=(a|0)){o=p;continue e}W=V+(i+q<<3)|0;h[W>>3]=+h[A+(i<<3)>>3]+ +h[W>>3];i=i+1|0}}while(1){if((j|0)>=(U|0))break;g=S(j,a)|0;i=0;while(1){if((i|0)>=(a|0)){k=0.0;i=0;break}h[A+(i<<3)>>3]=+h[V+(i+g<<3)>>3];i=i+1|0}while(1){if((i|0)>=(a|0))break;n=+h[A+(i<<3)>>3];k=k+n*n;i=i+1|0}k=+G(+k);l=l+k;g:do if(k>0.0){i=0;while(1){if((i|0)>=(a|0)){i=0;break g}W=A+(i<<3)|0;h[W>>3]=+h[W>>3]/k;i=i+1|0}}else i=0;while(0);while(1){if((i|0)>=(a|0))break;W=f+(i+g<<3)|0;h[W>>3]=+h[W>>3]+r*+h[A+(i<<3)>>3];i=i+1|0}j=j+1|0}s=s+1|0;r=+gq(T,r,l,t,R);if(!((s|0)<(Q|0)&r>P))break;else t=l}if(c[d+112>>2]|0)hq(a,D,f);l6(x);if((D|0)!=(b|0))nw(D);l6(A)}else c[g>>2]=-100;if(L|0)l6(M);if(K|0)l6(N);if(J|0)l6(O);l6(V)}return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0.0,R=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=l;l=l+32|0;aa=ia+24|0;ba=ia+20|0;fa=ia+16|0;ga=ia+12|0;ha=ia+8|0;W=ia;s=+h[d>>3];k=d+24|0;r=+h[k>>3];m=d+32|0;q=+h[m>>3];X=+h[d+72>>3];Y=c[d+80>>2]|0;Z=+h[d+88>>3];t=+h[d+96>>3];_=c[d+104>>2]|0;c[aa>>2]=0;c[ba>>2]=10;c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;h[W>>3]=0.0;ea=d+56|0;n=c[ea>>2]|0;if(!((b|0)==0|(Y|0)<1)?($=c[b>>2]|0,i=c[b+4>>2]|0,!((a|0)<1|(i|0)<1)):0){if((i|0)<(c[d+52>>2]|0)){da=0;ca=0}else{da=Zp(n)|0;c[fa>>2]=IK(a*80|0)|0;c[ga>>2]=IK(80)|0;c[ha>>2]=IK(80)|0;ca=1}c[g>>2]=0;a:do if(($|0)==(i|0)){o=sw(b,1)|0;R=c[o+20>>2]|0;T=c[o+24>>2]|0;b:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);j=S($,a)|0;i=0;while(1){if((i|0)>=(j|0))break b;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(r<0.0){r=+aq(o,a,f);h[k>>3]=r}if(q<0.0){h[m>>3]=.2;q=.2}if(s>=0.0){h[d>>3]=-1.0;s=-1.0}P=1.0-s;Q=+H(+r,+P);M=+H(+q,+((2.0-s)/3.0))/r;N=a<<3;U=IK(N)|0;N=S($,N)|0;V=IK(N)|0;O=d+116|0;I=s==-1.0;J=d+64|0;K=(e|0)!=0;L=+($|0);i=0;E=0;F=0.0;while(1){E=E+1|0;B6(V|0,f|0,N|0)|0;if(ca){i=$p(da)|0;n=i;i=ew(a,$,i,f,(c[O>>2]|0)==0?0:e)|0}u=0.0;s=0.0;y=0;r=0.0;c:while(1){if((y|0)<($|0))j=0;else break;while(1){if((j|0)>=(a|0))break;h[U+(j<<3)>>3]=0.0;j=j+1|0}C=y+1|0;m=R+(C<<2)|0;D=S(y,a)|0;k=c[R+(y<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;p=T+(k<<2)|0;j=c[p>>2]|0;d:do if((j|0)!=(y|0)){q=+Xw(f,a,y,j);j=0;while(1){if((j|0)>=(a|0))break d;w=q*(M*(+h[f+(j+D<<3)>>3]-+h[f+((S(c[p>>2]|0,a)|0)+j<<3)>>3]));B=U+(j<<3)|0;h[B>>3]=+h[B>>3]-w;j=j+1|0}}while(0);k=k+1|0}e:do if(!ca)if(K&(c[O>>2]|0)!=0){j=0;while(1){if((j|0)==($|0))break e;f:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=e+(j<<3)|0;p=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break f;x=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[x>>3]=+h[x>>3]+Q*+h[m>>3]*(+h[f+(k+D<<3)>>3]-+h[f+(k+p<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{j=0;while(1){if((j|0)==($|0))break e;g:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break g;p=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[p>>3]=+h[p>>3]+Q*(+h[f+(k+D<<3)>>3]-+h[f+(k+m<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{_v(i,+h[J>>3],f+(D<<3)|0,y,aa,ba,fa,ga,ha,W,g);u=u+ +h[W>>3];B=c[aa>>2]|0;s=s+ +(B|0);if(c[g>>2]|0){m=U;k=V;i=U;j=V;p=72;break a}m=c[ha>>2]|0;p=c[ga>>2]|0;x=c[fa>>2]|0;j=0;while(1){if((j|0)>=(B|0))break e;v=+h[m+(j<<3)>>3];v=v>1.0e-15?v:1.0e-15;y=p+(j<<3)|0;z=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break;A=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[A>>3]=+h[A>>3]+Q*+h[y>>3]*(+h[f+(k+D<<3)>>3]-+h[x+(k+z<<3)>>3])/q;k=k+1|0}j=j+1|0}}while(0);q=0.0;j=0;while(1){if((j|0)>=(a|0))break;w=+h[U+(j<<3)>>3];q=q+w*w;j=j+1|0}q=+G(+q);r=r+q;h:do if(q>0.0){j=0;while(1){if((j|0)>=(a|0)){j=0;break h}B=U+(j<<3)|0;h[B>>3]=+h[B>>3]/q;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(a|0)){y=C;continue c}B=f+(j+D<<3)|0;h[B>>3]=+h[B>>3]+t*+h[U+(j<<3)>>3];j=j+1|0}}if(i|0){lw(i);_p(da,s/L*5.0+u/L)}t=+gq(_,t,r,F,Z);if(!((E|0)<(Y|0)&t>X))break;else F=r}if(!(c[d+112>>2]|0)){m=U;k=V;j=V;i=U;p=71}else{hq(a,o,f);m=U;k=V;j=V;i=U;p=71}}else{c[g>>2]=-100;o=b;m=0;k=0;j=0;i=0;p=71}while(0);if((p|0)==71)if(ca)p=72;if((p|0)==72){Yp(da);c[ea>>2]=n}if(k|0)l6(j);if((o|0)!=(b|0))nw(o);if(m|0)l6(i);i=c[fa>>2]|0;if(i|0)l6(i);i=c[ga>>2]|0;if(i|0)l6(i);i=c[ha>>2]|0;if(i|0)l6(i)}l=ia;return}function mq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;var k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+48|0;p=ha+8|0;ca=ha+40|0;da=ha+36|0;X=ha+32|0;fa=ha+28|0;ga=ha+24|0;Y=ha;q=+h[e>>3];r=e+32|0;s=+h[r>>3];Z=+h[e+72>>3];_=c[e+80>>2]|0;$=+h[e+88>>3];u=+h[e+96>>3];aa=c[e+104>>2]|0;c[ca>>2]=0;c[da>>2]=10;c[X>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[Y>>3]=0.0;if(!((b|0)==0|(_|0)<1)?(ba=c[b>>2]|0,n=c[b+4>>2]|0,!((a|0)<1|(n|0)<1)):0){if((c[e+132>>2]|0)!=0?(n|0)>=(c[e+52>>2]|0):0){m=IK(a*80|0)|0;c[X>>2]=m;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;t=1;k=m}else{t=0;k=0;m=0}c[j>>2]=0;if((ba|0)==(n|0)){W=sw(b,1)|0;if(!d){V=0;k=W}else{V=c[d+28>>2]|0;k=d}U=c[k+24>>2]|0;T=c[k+20>>2]|0;o=+(ba|0);if(i<0.0){F=+nq(ba,T,V);E=+(c[T+(ba<<2)>>2]|0);i=E/(o*o-E)*i/+H(+F,+(q+1.0));R=c[15715]|0;h[p>>3]=F;h[p+8>>3]=i;z4(R,92532,p)|0}a:do if(c[e+16>>2]|0){_3(92554,24,1,c[15715]|0)|0;T4(c[e+108>>2]|0);m=S(ba,a)|0;k=0;while(1){if((k|0)>=(m|0))break a;h[g+(k<<3)>>3]=+Pw();k=k+1|0}}while(0);oq(ba,a,g,T,U,V);if(s<0.0)h[r>>3]=.2;if(!(q>=0.0))o=q;else{h[e>>3]=-1.0;o=-1.0}Q=a<<3;P=IK(Q)|0;Q=S(ba,Q)|0;R=IK(Q)|0;M=(t|0)!=0;N=e+116|0;O=o==-1.0;F=1.0-o;I=(f|0)!=0;J=(V|0)==0;K=e+8|0;L=e+64|0;k=0;D=0;E=0.0;o=1.0;C=u;b:while(1){D=D+1|0;B6(R|0,g|0,Q|0)|0;if(M)k=ew(a,ba,10,g,(c[N>>2]|0)==0?0:f)|0;t=0;s=0.0;c:while(1){if((t|0)<(ba|0))m=0;else break;while(1){if((m|0)>=(a|0))break;h[P+(m<<3)>>3]=0.0;m=m+1|0}B=t+1|0;r=T+(B<<2)|0;A=S(t,a)|0;p=c[T+(t<<2)>>2]|0;while(1){if((p|0)>=(c[r>>2]|0))break;d=U+(p<<2)|0;m=c[d>>2]|0;d:do if((m|0)!=(t|0)){z=+Ww(g,a,t,m);if(!J)o=+h[V+(p<<3)>>3];q=+h[K>>3];v=z-o;u=o*o;e:do if(!(q==2.0))if(q==1.0){q=1.0/u;m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/+H(+o,+(q+1.0));m=0;while(1){if((m|0)>=(a|0))break e;u=q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]);u=-(u*+H(+v,+(+h[K>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/(o*u);m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]))))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}while(0);u=z*z;q=+H(+z,+F);if(I&(c[N>>2]|0)!=0){n=f+(p<<3)|0;q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*+h[n>>3]*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}else{q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}}while(0);p=p+1|0}f:do if(!M)if(I&(c[N>>2]|0)!=0){m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}g:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=f+(m<<3)|0;p=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break g;r=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[r>>3]=+h[r>>3]+i*+h[d>>3]*(+h[g+(n+A<<3)>>3]-+h[g+(n+p<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}h:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break h;p=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[p>>3]=+h[p>>3]+i*(+h[g+(n+A<<3)>>3]-+h[g+(n+d<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{_v(k,+h[L>>3],g+(A<<3)|0,t,ca,da,X,fa,ga,Y,j);d=c[ca>>2]|0;if(c[j>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;t=c[X>>2]|0;m=0;while(1){if((m|0)>=(d|0)){q=0.0;m=0;break f}u=+h[p+(m<<3)>>3];u=u>1.0e-15?u:1.0e-15;w=r+(m<<3)|0;x=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break;y=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[y>>3]=+h[y>>3]+i*+h[w>>3]*(+h[g+(n+A<<3)>>3]-+h[t+(n+x<<3)>>3])/q;n=n+1|0}m=m+1|0}}while(0);while(1){if((m|0)>=(a|0))break;z=+h[P+(m<<3)>>3];q=q+z*z;m=m+1|0}q=+G(+q);s=s+q;i:do if(q>0.0){m=0;while(1){if((m|0)>=(a|0)){m=0;break i}y=P+(m<<3)|0;h[y>>3]=+h[y>>3]/q;m=m+1|0}}else m=0;while(0);while(1){if((m|0)>=(a|0)){t=B;continue c}y=g+(m+A<<3)|0;h[y>>3]=+h[y>>3]+C*+h[P+(m<<3)>>3];m=m+1|0}}if(k|0)lw(k);C=+gq(aa,C,s,E,$);if(!((D|0)<(_|0)&C>Z)){ea=88;break}else E=s}if((ea|0)==88?c[e+112>>2]|0:0)hq(a,W,g);l6(R);if((W|0)!=(b|0))nw(W);l6(P);k=c[X>>2]|0;m=k}else c[j>>2]=-100;if(m|0)l6(k);k=c[fa>>2]|0;if(k|0)l6(k);k=c[ga>>2]|0;if(k|0)l6(k)}l=ha;return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0;if(!d)e=1.0;else{f=0;e=0.0;a:while(1){if((f|0)>=(a|0))break;g=f+1|0;i=c[b+(g<<2)>>2]|0;f=c[b+(f<<2)>>2]|0;while(1){if((f|0)>=(i|0)){f=g;continue a}j=e+ +h[d+(f<<3)>>3];f=f+1|0;e=j}}e=e/+(c[b+(a<<2)>>2]|0)}return +e}function oq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+16|0;u=v;t=(g|0)==0;k=0.0;m=0.0;n=1.0;j=0;a:while(1){if((j|0)>=(a|0))break;r=j+1|0;s=e+(r<<2)|0;q=c[e+(j<<2)>>2]|0;while(1){if((q|0)>=(c[s>>2]|0)){j=r;continue a}i=c[f+(q<<2)>>2]|0;b:do if((i|0)!=(j|0)){o=+Ww(d,b,j,i);if(!t)n=+h[g+(q<<3)>>3];w=1.0/(n*n);p=o*(n*w);o=o*(o*w);i=0;while(1){if((i|0)>=(b|0))break b;i=i+1|0;k=o+k;m=p+m}}while(0);q=q+1|0}}k=m/k;j=S(b,a)|0;i=0;while(1){if((i|0)>=(j|0))break;b=d+(i<<3)|0;h[b>>3]=k*+h[b>>3];i=i+1|0}d=c[15715]|0;h[u>>3]=k;z4(d,92579,u)|0;l=v;return} -function $g(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;d=(c[d+184>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+180>>2]|0;f=f+184|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;d=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function fh(a){a=a|0;if(!a)Aa(85823,85833,117,85842);else{eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function gh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;d=(c[d+208>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function hh(a){a=a|0;ih(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;g=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){f=4;break}if((c[g+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((f|0)==4){d=(e<<2)+8|0;if(!g)d=IK(d)|0;else d=KK(g,d)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function jh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(96)|0;g=o+48|0;c[g>>2]=c[g>>2]|3;c[o>>2]=c[o>>2]&-4|2;i=HK(176)|0;n=o+16|0;c[n>>2]=i;c[((c[o>>2]&3|0)==3?o:g)+40>>2]=d;j=o+-48|0;c[((c[o>>2]&3|0)==2?o:j)+40>>2]=e;a[i+112>>0]=1;if(!f){c[i+156>>2]=1;b[i+154>>1]=1;b[i+168>>1]=1;b[i+170>>1]=1}else{c[o>>2]=c[o>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;m=f+16|0;h=c[m>>2]|0;b[i+168>>1]=b[h+168>>1]|0;b[i+154>>1]=b[h+154>>1]|0;c[i+156>>2]=c[h+156>>2];b[i+170>>1]=b[h+170>>1]|0;d=c[((c[o>>2]&3|0)==3?o:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;l=f+-48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){if((d|0)==(c[((e|0)==2?f:l)+40>>2]|0)){g=i+16|0;d=h+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=i+16|0;d=h+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=c[((c[o>>2]&3|0)==2?o:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:l)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=(c[m>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=o;c[(c[n>>2]|0)+116>>2]=f}return o|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;return dh(jh(a,b,c)|0)|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[a+16>>2]|0)+192|0;f=c[d>>2]|0;e=c[b+16>>2]|0;c[e+164>>2]=f;a=f;if(f|0)c[(c[a+16>>2]|0)+168>>2]=b;c[d>>2]=b;c[e+168>>2]=0;if((a|0)==(b|0))Aa(85859,85833,215,85875);else return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))Aa(85885,85833,220,85892);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)Aa(85905,85833,221,85892);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function nh(a,b){a=a|0;b=b|0;var d=0;if(!(oh(a,b)|0))Aa(85924,85833,231,85945);b=c[b+16>>2]|0;d=c[b+164>>2]|0;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=d;else c[(c[b+16>>2]|0)+164>>2]=d;return}function oh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function ph(b){b=b|0;var d=0,e=0,f=0,g=0;d=HK(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=HK(304)|0;c[d+24>>2]=vC(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=HK(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=HK(20)|0;c[(c[e>>2]|0)+180>>2]=f;lh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function qh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;f=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[f+188>>2]|0;f=(c[f+192>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[h+188>>2]|0;h=h+192|0;f=c[h>>2]|0;c[h>>2]=f+1;c[e+(f<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;e=c[f+196>>2]|0;f=(c[f+200>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(dg(b)|0)+16>>2]|0)+240>>0]=1;return}function rh(a){a=a|0;var b=0,d=0;if(!a)Aa(85823,85833,269,85962);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;th(a,b);break}else Aa(87865,85833,340,86e3);else dA(0,85979,f)|0;while(0);l=f;return}function th(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function uh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;vh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))wh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;vh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function vh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function wh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)Aa(85823,85833,128,86013);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))eh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){eh(d,a);b=c[a>>2]|0}f=f+1|0}return}function xh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+1040|0;n=p+4|0;o=p;m=p+8|0;k=a+16|0;a=c[k>>2]|0;j=b[a+236>>1]|0;while(1){if((j|0)>(b[a+238>>1]|0))break;i=c[a+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;a=0;while(1){d=(a|0)!=0;if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){c[n>>2]=c[4658];a=lB(86035,n,0)|0}c[o>>2]=g;i2(m,137696,o)|0;s=qC(a,m,1)|0;RC(s,91465,24,1)|0;d=c[(c[f>>2]|0)+180>>2]|0;q=c[d>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;d=c[d+4>>2]|0;d=c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;r=(q|0)>(d|0);f=c[s+16>>2]|0;c[f+12>>2]=r?d:q;c[f+16>>2]=r?q:d;c[f+20>>2]=e}g=g+1|0}if(d){if((qB(a)|0)>1)yh(a,h);pB(a)|0}j=j+1|0;a=c[k>>2]|0}l=p;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=gC(a)|0;a:while(1){if(!h)break;i=hC(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))fB(a,h,g,0,1)|0}else{fB(a,g,h,0,1)|0;d=1}g=hC(a,g)|0}}do if(d|0){h=LD(a,86038,1)|0;j=HK((qB(a)|0)<<2)|0;i=HK((qB(a)|0)<<2)|0;f=b+4|0;e=gC(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?sB(a,e,1,1)|0:0){c:do if(zh(a,e,h,i)|0){g=qB(h)|0;if((Ah(a,h,j)|0)!=(g|0)){d=17;break b}k3(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Ch(h)}e=hC(a,e)|0}if((d|0)==17)Aa(86043,86053,265,86064);else if((d|0)==23){l6(j);break}}while(0);return}function zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((qB(d)|0)<<2)>>2]=h;lC(d,b,1)|0;h=UA(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[i+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=WA(a,h)|0}h=XA(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[j+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=YA(a,h)|0}return f|0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Dh(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];sC(b,e)|0;e=UA(a,e)|0;while(1){if(!e)break;g=WA(a,e)|0;iB(a,e)|0;e=g}f=f+1|0}return f|0}function Bh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Ch(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;c=hC(a,b)|0;sC(a,b)|0;b=c}return}function Dh(a,b){a=a|0;b=b|0;var c=0;c=gC(b)|0;while(1){if(!c){c=0;break}if(!(sB(a,c,1,0)|0))break;c=hC(b,c)|0}return c|0}function Eh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Fh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Gh(b,f);f=f+1|0;e=(Hh(b,0,d)|0)+e|0}Ih(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Jh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=NA(b,86078)|0;if(f|0?(bP(f)|0)<<24>>24==0:0)break;gl(b);a[194049]=1;e=Hh(b,2,d)|0}while(0);Kh(b,e);return}function Fh(d){d=d|0;var e=0;if(a[195234]|0)RO();a[194049]=0;c[46783]=d;e=((rB(dg(d)|0)|0)<<2)+4|0;c[46782]=HK(e)|0;c[46781]=HK(e)|0;Ai(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Bi(d);Pk(d);Dl(d,1);Ci(d);Rh(d);e=c[e>>2]|0;c[46784]=b[e+236>>1];c[46785]=b[e+238>>1];return}function Gh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Hh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;if((d|0)>1){f=fi(0)|0;gi(b)}else f=2147483647;o=c[15715]|0;n=d;g=0;d=f;while(1){if((n|0)>=3)break;g=c[47183]|0;if((n|0)==2)if((f|0)>(d|0)){ii(b);f=d}else f=d;else{f=(g|0)<4?g:4;if((dg(b)|0)==(b|0))hi(b,n);if(!n)Sh(b);Th(b);i=fi(0)|0;if((i|0)>(d|0)){g=f;f=i}else{gi(b);g=f;f=i;d=i}}i=0;m=0;while(1){j=(f|0)==0;if((m|0)>=(g|0))break;if(a[195234]|0){c[p>>2]=n;c[p+4>>2]=m;c[p+8>>2]=i;c[p+12>>2]=f;c[p+16>>2]=d;z4(o,86471,p)|0}k=i+1|0;if(j|(i|0)>=(c[46786]|0))break;ji(b,m);f=fi(0)|0;if((f|0)>(d|0))i=k;else{gi(b);i=+(f|0)<+(d|0)*+h[23234]?0:k;d=f}m=m+1|0}if(j){f=0;break}else n=n+1|0}if((f|0)>(d|0))ii(b);if((d|0)>0){ki(b,0);f=fi(0)|0}else f=d;a:do if(e|0){d=0;while(1){if((d|0)>=(g|0))break a;li(b);d=d+1|0}}while(0);l=q;return f|0}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;ei(d);m=d+16|0;e=c[m>>2]|0;n=c[15715]|0;k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(k<<6)+8>>2]|0;c[f+(k<<6)>>2]=g;h=c[f+(k<<6)+12>>2]|0;c[f+(k<<6)+4>>2]=h;j=0;while(1){if((j|0)>=(g|0))break;i=c[h+(j<<2)>>2]|0;if(!i){p=6;break}c[(c[i+16>>2]|0)+236>>2]=j;j=j+1|0}if((p|0)==6){p=0;if(a[195234]|0){f=HB(d)|0;e=c[(c[(c[m>>2]|0)+196>>2]|0)+(k<<6)>>2]|0;c[o>>2]=f;c[o+4>>2]=k;c[o+8>>2]=j;c[o+12>>2]=e;z4(n,86421,o)|0;e=c[m>>2]|0;f=c[e+196>>2]|0}c[f+(k<<6)>>2]=j}k=k+1|0}l=q;return}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;al(a);Rh(a);Sh(a);Th(a);f=a+16|0;d=Hh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Jh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Uh(a);return d|0}function Kh(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[46781]|0;if(f|0){l6(f);c[46781]=0}f=c[46782]|0;if(f|0){l6(f);c[46782]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Lh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){rh(i);l6(c[j>>2]|0);l6(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Mh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(a[195234]|0){o=c[15715]|0;d=HB(d)|0;r=+SO();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;z4(o,86089,p)|0}l=q;return}function Lh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Lh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Nh(a,j,-1)|0;j=Nh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Mh(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Oh(b,c)|0;if(!b)break;if(Ph(a,b)|0){d=b;continue}e=(Qh(a,b)|0)==0;d=e?d:b}return d|0}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)Aa(86128,86053,1023,86130);a=a+16|0;if((b|0)<0){a=c[a>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((S((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else Aa(86139,86053,1029,86130);else g=0}return g|0}function Ph(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(EC(b,d)|0)!=0;else b=0;return b&1|0}function Qh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(EC(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Rh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[47194]|0;a:do if((d|0)!=0|(c[47223]|0)!=0){d=_O(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(f2(d,86341)|0)){$h(b,1);break a}break}case 105:{if(!(f2(d,99036)|0)){$h(b,0);break a}break}default:{}}c[e>>2]=d;dA(1,86345,e)|0;break}d=MD(b)|0;while(1){if(!d)break;if(!(Mj(d)|0))Rh(d);d=ND(d)|0}if(c[47223]|0)ai(b)}while(0);l=f;return}function Sh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Zh(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){_h(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Th(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=d+16|0;e=c[t>>2]|0;if(a[e+240>>0]|0){h=0;s=b[e+236>>1]|0;f=0;a:while(1){r=(h|0)!=0;if((s|0)>(b[e+238>>1]|0))break;g=c[e+196>>2]|0;i=c[g+(s<<6)>>2]|0;if(!i)g=h;else{g=c[g+(s<<6)+4>>2]|0;p=c[(c[(c[g>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){h=e+1|0;if((e|0)>=(i|0))break;a[(c[(c[g+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=h}e=h<<2;if(r)q=KK(f,e)|0;else q=IK(e)|0;m=0;n=0;while(1){e=c[t>>2]|0;g=c[e+196>>2]|0;h=c[g+(s<<6)>>2]|0;i=e+116|0;o=q+(m<<2)|0;if((h|0)<=(n|0))break;j=c[(c[g+(s<<6)+4>>2]|0)+(((c[i>>2]&1|0)==0?h+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){g=0;h=0;e=i;break}i=((Vh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)+k|0;e=e+1|0;k=i}while(1){if((h|0)>=(c[e+192>>2]|0))break;i=((Vh(d,c[(c[e+188>>2]|0)+(h<<2)>>2]|0)|0)!=0&1)+g|0;g=i;h=h+1|0;e=c[l>>2]|0}if(g|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Wh(d,j,o,s)|0)+m|0;else e=m;else{c[o>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[i>>2]&1)){g=q;e=o;while(1){e=e+-4|0;if(g>>>0>=e>>>0){h=0;break c}o=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=o;g=g+4|0}}else h=0;while(0);while(1){e=c[t>>2]|0;i=c[e+196>>2]|0;g=c[i+(s<<6)>>2]|0;if((h|0)>=(g|0)){m=0;h=i;break}o=c[q+(h<<2)>>2]|0;c[(c[i+(s<<6)+4>>2]|0)+(h<<2)>>2]=o;c[(c[o+16>>2]|0)+236>>2]=h+p;h=h+1|0}while(1){if((m|0)>=(g|0))break b;l=(c[(c[h+(s<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;g=i;while(1){h=c[g+(k<<2)>>2]|0;e=c[t>>2]|0;if(!h)break;j=c[h>>2]&3;i=c[(c[(c[((j|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))u=35;else e=k;else if((i|0)>(j|0))u=35;else e=k;if((u|0)==35){u=0;if(Vh(d,h)|0){u=36;break a}rh(h);Xh(d,h);e=k+-1|0;g=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}g=c[e+196>>2]|0;h=g;g=c[g+(s<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+49>>0]=0;g=q;f=q}h=g;s=s+1|0}if((u|0)==36)Aa(86187,86053,1561,86226);if(r)l6(f)}return}function Uh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Vh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Yh(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Yh(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Wh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Vh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Wh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else Aa(86239,86053,1490,86255);return 0}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d>>2]&3;i=c[((h|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[i+16>>2]|0)+188>>2]|0;l=d+48|0;a:do if(!f)m=14;else{g=((h|0)==3?d:l)+40|0;e=0;while(1){j=c[f+(e<<2)>>2]|0;if(!j){m=14;break a}if((c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}sh(d,j);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=j;e=c[j+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;b=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;e=c[b+204>>2]|0;b=(c[b+208>>2]<<2)+8|0;if(!e)e=IK(b)|0;else e=KK(e,b)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;l=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[l+204>>2]|0)+(c[l+208>>2]<<2)>>2]=0}while(0);if((m|0)==14){m=jh(i,c[((h|0)==3?d:l)+40>>2]|0,d)|0;d=c[d+16>>2]|0;l=c[m+16>>2]|0;a[l+112>>0]=(a[d+112>>0]|0)==4?4:3;c[l+96>>2]=c[d+96>>2];qh(b,m)}return}function Yh(a,b){a=a|0;b=b|0;var c=0;c=Ph(a,b)|0;return Qh(a,b)|0|c|0}function Zh(a,b){a=a|0;b=b|0;var d=0;d=HK(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=HK(S(b,a)|0)|0;return d|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(dg(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}g=j+-48|0;e=j+48|0;if(l){if((EC(b,c[((c[j>>2]&3|0)==3?j:e)+40>>2]|0)|0)!=0?(EC(b,c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){s=c[j>>2]&3;r=c[(c[((s|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);e=((s|0)==3?j:e)+40|0;if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((S(f,i)|0)+e)>>0]=1;rh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Xh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((S(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;_h(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)Aa(86265,86053,1251,86297);else if((q|0)==12)Aa(86309,86053,1252,86297);else if((q|0)==16)Aa(86265,86053,1260,86297);else if((q|0)==18)Aa(86309,86053,1261,86297)}else p=e;while(0);a[p+158>>0]=0;return}function $h(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c)break;bi(a,c,b);c=hC(a,c)|0}return}function ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=gC(b)|0;while(1){if(!d)break;e=_O(d,c[47223]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(f2(e,86341)|0)){bi(b,d,1);break a}break}case 105:{if(!(f2(e,99036)|0)){bi(b,d,0);break a}break}default:{}}h=HB(d)|0;c[f>>2]=e;c[f+4>>2]=h;dA(1,86376,f)|0}while(0);d=hC(b,d)|0}l=g;return}function bi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[46782]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;k3(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(ch(e,d)|0)break a;i=jh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;qh(b,i);f=f+1|0}}}while(0);return}function ci(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function di(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ei(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a+16>>2]|0;h=g+220|0;i=c[h>>2]|0;if((i|0)>=2){f=c[g+216>>2]|0;a=0;e=0;while(1){if((e|0)==(i|0))break;d=c[f+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[h>>2]=1;c[g+192>>2]=c[f>>2];b[g+236>>1]=c[46784];b[g+238>>1]=c[46785]}return}function fi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[46783]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=yi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function gi(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=TO(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;VO(o,g);while(1){f=WO(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){fl(d,f,e,o);continue}else{wi(d,f);xi(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(WO(o)|0)dA(1,86584,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;qi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((dg(d)|0)==(d|0)?(fi(0)|0)>0:0)ki(d,0);UO(o);l=r;return}function ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;k3(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function ji(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((d|0)%4|0|0)<2&1;f=c[a+16>>2]|0;i=b[f+238>>1]|0;j=i<<16>>16;f=b[f+236>>1]|0;g=f<<16>>16;h=c[(c[46783]|0)+16>>2]|0;if(!(d&1)){k=1;e=j;d=(f<<16>>16<=(b[h+236>>1]|0)&1)+g|0}else{k=-1;e=g;d=((i<<16>>16>=(b[h+238>>1]|0))<<31>>31)+j|0}e=k+e|0;while(1){if((d|0)==(e|0))break;ti(a,d,l,(si(a,d,d-k|0)|0)&255);d=d+k|0}ki(a,l^1);return}function ki(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(ri(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function li(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(mi(d,i,j)|0)continue;if(p){f=ni(i,j)|0;h=ni(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(oi(i,j)|0)+f|0;h=(oi(j,i)|0)+h|0}if((h|0)<=(f|0))break}pi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)Aa(86535,86053,721,86561);else if((e|0)==16)return}function mi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[194049]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=S(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=(o&1)+g|0;h=((o^1)&1)+h|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}qi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))qi(e,f)}return}function qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[46783]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function ri(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(mi(d,j,k)|0)continue;if(r){f=ni(j,k)|0;g=ni(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(oi(j,k)|0)+f|0;g=(oi(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}qi(j,k);i=f-g+i|0;g=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)Aa(86535,86053,770,86569);else if((f|0)==17)return i|0;return 0}function si(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[46781]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;i=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;k=c[l>>2]|0;a:do if(n){j=c[k+180>>2]|0;a=0;i=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+88>>0]|c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}else{j=c[k+172>>2]|0;i=0;a=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+48>>0]|c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}while(0);b:do switch(a|0){case 0:{h[k+240>>3]=-1.0;break}case 1:{h[k+240>>3]=+(c[p>>2]|0);break}case 2:{h[k+240>>3]=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{k3(p,a,4,60);f=(a|0)/2|0;j=c[p+(f<<2)>>2]|0;i=(c[l>>2]|0)+240|0;if(a&1|0){h[i>>3]=+(j|0);break b}g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){h[i>>3]=+((a+j|0)/2|0|0);break b}else{h[i>>3]=+(((S(f,j)|0)+(S(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((i|0)>=(f|0))break;g=c[r+(i<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(ui(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}i=i+1|0}return a|0}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[(c[b+16>>2]|0)+196>>2]|0;q=c[m+(d<<6)+4>>2]|0;m=c[m+(d<<6)>>2]|0;o=(e|0)!=0;n=(f|e|0)==0;f=0;e=m;m=q+(m<<2)|0;while(1){l=e+-1|0;if((e|0)>0)e=q;else break;a:while(1){b:while(1){if(e>>>0>=m>>>0)break a;do{if(e>>>0>=m>>>0)break a;k=c[e>>2]|0;e=e+4|0}while(+h[(c[k+16>>2]|0)+240>>3]<0.0);g=0;while(1){if(e>>>0>=m>>>0)break a;i=c[e>>2]|0;if(!(g<<24>>24!=0?(c[(c[i+16>>2]|0)+212>>2]|0)!=0:0)){if(mi(b,k,i)|0)continue b;j=c[i+16>>2]|0;if(+h[j+240>>3]>=0.0)break;g=(c[j+212>>2]|0)==0?g:1}e=e+4|0}g=~~+h[(c[k+16>>2]|0)+240>>3];j=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(j|0)|o&(g|0)==(j|0))break}qi(k,i);f=f+1|0}e=l;m=n?m+-4|0:m}if(f|0?(p=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0,a[p+(d<<6)+49>>0]=0,(d|0)>0):0)a[p+(d+-1<<6)+49>>0]=0;return}function ui(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0;a=c[a+16>>2]|0;i=a+240|0;if((c[a+200>>2]|0)>0){g=c[a+196>>2]|0;a=c[g>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[g+(d<<2)>>2]|0;f=c[a+16>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[f+236>>2]|0)?e:a;d=d+1|0}b=+h[f+240>>3];if(!(b>=0.0))a=1;else{h[i>>3]=b+1.0;a=0}}else if((c[a+192>>2]|0)>0){e=c[a+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;g=c[d+16>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[g+236>>2]|0)?f:d}b=+h[g+240>>3];if(b>0.0){h[i>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function vi(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function wi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))Aa(86649,86053,1346,86685);g=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=HB(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;dA(1,86701,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a;dA(1,86774,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=HB(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;dA(1,86835,o)|0}}else{n=HB(a)|0;o=HB(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;dA(1,86594,f)|0}while(0);l=p;return}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function yi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;r=c[f+(e<<6)+4>>2]|0;s=e+1|0;d=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)>>2]|0;if((c[46787]|0)>(d|0))d=c[46788]|0;else{f=d+1|0;c[46787]=f;d=c[46788]|0;f=f<<2;if(!d)d=IK(f)|0;else d=KK(d,f)|0;c[46788]=d;f=c[(c[g>>2]|0)+196>>2]|0}q=f+(s<<6)|0;g=0;while(1){if((g|0)>=(c[q>>2]|0))break;c[d+(g<<2)>>2]=0;g=g+1|0}p=f+(e<<6)|0;o=0;g=0;d=0;while(1){j=c[p>>2]|0;if((o|0)>=(j|0))break;n=c[(c[(c[r+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((g|0)>0){m=c[46788]|0;k=0;while(1){h=c[n+(k<<2)>>2]|0;if(!h)break a;j=h+16|0;i=c[(c[(c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){h=i+1|0;if((i|0)>=(g|0))break;i=h;d=(S(b[(c[j>>2]|0)+154>>1]|0,c[m+(h<<2)>>2]|0)|0)+d|0}k=k+1|0}}while(0);h=0;while(1){i=c[n+(h<<2)>>2]|0;if(!i)break;m=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(c[46788]|0)+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(b[(c[i+16>>2]|0)+154>>1]|0);g=(m|0)>(g|0)?m:g;h=h+1|0}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(j|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];d=(zi(t,1)|0)+d|0}h=h+1|0}i=c[q>>2]|0;h=f+(s<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){s=f+172|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];d=(zi(t,-1)|0)+d|0}g=g+1|0}l=u;return d|0}function zi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)>0;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;k=m+16|0;if(n){j=m+-48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+16>>3]-+h[g+16>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+56>>3]-+h[g+56>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Ai(a){a=a|0;var b=0.0,d=0.0;c[46786]=8;c[47183]=24;h[23234]=.995;a=NA(a,86957)|0;if(a|0?(b=+a6(a),b>0.0):0){d=b*+(c[46786]|0);c[46786]=~~(d<=1.0?1.0:d);b=b*+(c[47183]|0);c[47183]=~~(b<=1.0?1.0:b)}return}function Bi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=HK(e<<2)|0;Di(a,d,e,0)|0;l6(d);return}function Ci(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=HK((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=gC(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=WA(a,f)|0}g=hC(a,g)|0}f=HK((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=HK((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}l6(i);return}function Di(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Di(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((dg(a)|0)!=(a|0)){u6(d|0,0,e<<2|0)|0;g=gC(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=UA(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=WA(a,i)|0}g=hC(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=LD(dg(a)|0,86947,1)|0;g=qC(f,0,1)|0;RC(g,137750,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=HK(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=HK(20)|0;c[(c[l>>2]|0)+180>>2]=k;lC(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ei(a){a=a|0;var b=0,d=0;Uh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ei(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Fi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Gi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17348+(d*12|0)+((Gi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=S(c[a>>2]|0,b)|0;return}function Gi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Hi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){gl(b);Ii(b);if(a[195236]|0)ul(b);Ji(b);if(Ml(b)|0)Ii(b);Ki(b);if(sL(b,2,Li(b)|0)|0?(Mi(b),sL(b,2,Li(b)|0)|0):0)Aa(86965,86993,134,87004);Ni(b);Oi(b,d);Pi(b)}return}function Ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}i=c[e+212>>2]|0;if(i|0){if((i|0)==(d|0))g=0;else{g=XO(i,c[47198]|0,8,0)|0;e=c[l>>2]|0}f=c[e+232>>2]|0;e=c[i+16>>2]|0;j=j+ +(g|0);if((f|0)==(b[e+236>>1]|0)){x=e+128|0;k=+h[x>>3];h[x>>3]=k>j?k:j}if((f|0)==(b[e+238>>1]|0)){x=e+120|0;k=+h[x>>3];h[x>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=oj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(e<<6)+40>>3]+ +h[w+(l<<6)+32>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+ +h[w+(l<<6)+16>>3]+8.0;j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=j+ +h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){pj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=k+ +h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Ji(a){a=a|0;var b=0,d=0,e=0;kj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){lj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{lj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Ki(a){a=a|0;Yi(a);Zi(a);_i(a);$i(a);aj(a);return}function Li(a){a=a|0;var b=0,c=0.0;b=NA(a,87193)|0;if(!b)a=2147483647;else{c=+a6(b);a=~~(c*+(qB(a)|0))}return a|0}function Mi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=ph(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Wi(o,f,0.0,0)|0;Wi(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)Aa(87101,86993,111,87104);else if((s|0)==19)return}function Ni(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Oi(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0;Qi(a,a);i=a+16|0;l=c[i>>2]|0;a:do if((b[l+238>>1]|0)>0?(j=c[l+8>>2]|0,e=c[j+84>>2]|0,e|0):0){m=~~(+h[l+32>>3]-+h[l+16>>3]);n=~~(+h[l+40>>3]-+h[l+24>>3]);o=(c[l+116>>2]&1|0)==0;if((e|0)==4){p=Ri(a)|0;l=c[i>>2]|0;j=c[l+8>>2]|0}else p=(e|0)==2&1;q=+((o?m:n)|0);k=+((o?n:m)|0);i=j+72|0;e=j+64|0;b:do if(!(p<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[e>>3];if(f<=0.0)break a;k=f/+h[l+32>>3];q=+h[i>>3]/+h[l+40>>3];f=k<q?k:q;if(k>1.0&q>1.0){k=f;break b}else break a}case 1:break;default:break a}g=+h[j+16>>3];f=k/q;if(f<g){k=1.0;f=g/f;break}else{k=f/g;f=1.0;break}}else{f=+h[e>>3];if(f<=0.0)break a;g=f/q;f=+h[i>>3]/k;if(g<1.0|f<1.0)if(g<f){k=1.0;f=f/g;break}else{k=g/f;f=1.0;break}else k=g}while(0);e=(c[l+116>>2]&1|0)==0;g=e?f:k;f=e?k:f;e=l+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;q=f*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);p=e+24|0;q=g*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);e=e+164|0}Si(a,f,g)}while(0);if(d|0)Ti(a,d);return}function Pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;l6(c[e+16>>2]|0);l6(e);d=d+1|0}if(f){l6(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){l6(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;l6(e);l6(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Vi(a,b);return}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Ui(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Ui(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=p*+R(+(k*o/p))/k;p=j*(n*+R(+(j*o/n))/j);a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=k*q;a=1}else a=0;l=s;return a|0}function Si(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Si(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ti(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+24|0;i=n+16|0;g=n;o=c[b+16>>2]|0;f=+h[o+32>>3]-+h[o+16>>3];e=+h[o+40>>3]-+h[o+24>>3];j=f/e;if(a[195234]|0){o=c[15715]|0;h[g>>3]=j;h[g+8>>3]=f*e/1.0e4;z4(o,87017,g)|0;c[i>>2]=uk(b)|0;z4(o,87042,i)|0}e=+h[d>>3];b=d+24|0;do if(!(j>e*1.1)){if(!(j<=e*.8)){c[b>>2]=0;m=9;break}c[b>>2]=-1;if(a[195234]|0){_3(87052,34,1,c[15715]|0)|0;m=9}}else{c[b>>2]=~~(e*+((c[d+20>>2]|0)-(c[d+16>>2]|0)|0)/j);m=9}while(0);if((m|0)==9?a[195234]|0:0){o=c[15715]|0;c[k>>2]=c[b>>2];z4(o,87087,k)|0}l=n;return}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Vi(d,e){d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;n=(dg(d)|0)==(d|0);s=d+16|0;t=c[s>>2]|0;q=b[t+236>>1]|0;r=b[t+238>>1]|0;a:do if(n){n=t+196|0;m=q;g=-2147483647.0;f=2147483647.0;while(1){if((m|0)>(r|0))break;d=c[n>>2]|0;l=c[d+(m<<6)>>2]|0;if((l|0)!=0?(o=c[d+(m<<6)+4>>2]|0,p=c[o>>2]|0,(p|0)!=0):0){j=1;d=p;while(1){d=c[d+16>>2]|0;i=a[d+156>>0]|0;if(!((j|0)<(l|0)&i<<24>>24!=0))break;d=c[o+(j<<2)>>2]|0;j=j+1|0}if(!(i<<24>>24)){k=+h[d+16>>3]-+h[d+88>>3];j=f<k;i=l+-2|0;d=l+-1|0;while(1){d=c[(c[o+(d<<2)>>2]|0)+16>>2]|0;if(!(a[d+156>>0]|0))break;else{d=i;i=i+-1|0}}u=+h[d+16>>3]+ +h[d+96>>3];g=g>u?g:u;f=j?f:k}}m=m+1|0}i=c[t+180>>2]|0;j=t+184|0;d=1;while(1){if((d|0)>(i|0))break a;p=c[(c[(c[j>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;u=+h[p+16>>3]+-8.0;k=+h[p+32>>3]+8.0;d=d+1|0;g=g>k?g:k;f=f<u?f:u}}else{g=+(c[(c[(c[t+260>>2]|0)+16>>2]|0)+232>>2]|0);f=+(c[(c[(c[t+256>>2]|0)+16>>2]|0)+232>>2]|0)}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;k=+h[(c[(c[c[e+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[t+120>>3];u=+h[(c[(c[c[e+(q<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[t+128>>3];h[t+16>>3]=f;h[t+24>>3]=k;e=c[s>>2]|0;h[e+32>>3]=g;h[e+40>>3]=u;return}function Wi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=HK(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=HK(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Xi(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;dh(i)|0;return i|0}function Xi(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;dA(1,87117,d)|0;l=b;return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=HK((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=HK(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Zi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);m=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;n=c[f+(k<<2)>>2]|0;u=n+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(iO(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+(f|0)+ +h[q>>3];h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(!f)p=m;else{o=f+16|0;p=t+(i+ +h[(c[o>>2]|0)+88>>3]);Wi(n,f,p,0)|0;d=~~(m+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((S(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(ij(g,f)|0))Wi(f,g,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(ij(d,f)|0)){Wi(f,d,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){m=p;k=q;continue a}k=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;j=c[k>>2]&3;g=c[((j|0)==3?k:k+48|0)+40>>2]|0;j=c[((j|0)==2?k:k+-48|0)+40>>2]|0;d=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[j+16>>2]|0)+236>>2]|0);f=d?g:j;g=d?j:g;i=+h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3];j=k+16|0;d=~~(i+ +(S(c[(c[x>>2]|0)+248>>2]|0,e[(c[j>>2]|0)+170>>1]|0)|0));n=ah(f,g)|0;m=+(d|0);if(!n){d=c[j>>2]|0;if(!(c[d+96>>2]|0))Wi(f,g,m,c[d+156>>2]|0)|0}else{d=c[j>>2]|0;A=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(A+(A>=0.0?.5:-.5))|0);f=~~(m>i?m:i);if((f|0)>65535){Xi(+(f|0));f=65535;d=c[j>>2]|0}j=c[n+16>>2]|0;g=j+170|0;B=e[g>>1]|0;b[g>>1]=(B|0)>(f|0)?B:f;j=j+156|0;c[j>>2]=c[(c[((c[j>>2]|0)>(c[d+156>>2]|0)?n:k)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function _i(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=ph(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Wi(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Wi(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function $i(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){dj(a);ej(a);fj(a);gj(a)}return}function aj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(b*d<=1.0)):0){bj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Wi(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function bj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=XO(a,c[47198]|0,8,0)|0;cj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=HB(a)|0;c[m+4>>2]=e;dA(1,87201,m)|0;break}else{Wi(j,d,f+ +h[(c[d+16>>2]|0)+88>>3]+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Wi(d,k,f+ +h[(c[d+16>>2]|0)+96>>3]+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function cj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=ph(dg(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=ph(dg(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(dg(b)|0)!=(b|0):0)?(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Wi(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function dj(a){a=a|0;var b=0,d=0;b=a+16|0;do if((dg(a)|0)!=(a|0)){bj(a);a=c[b>>2]|0;a=ah(c[a+256>>2]|0,c[a+260>>2]|0)|0;if(!a){d=c[b>>2]|0;Wi(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[a+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}while(0);a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;dj(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function ej(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=XO(d,c[47198]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(hj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Wi(j,c[(c[o>>2]|0)+256>>2]|0,m+ +h[e+96>>3],0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(hj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Wi(c[(c[o>>2]|0)+260>>2]|0,i,m+ +h[e+88>>3],0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;ej(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function fj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=XO(a,c[47198]|0,8,0)|0;cj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;cj(e);f=c[b>>2]|0;g=e+16|0;Wi(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,d+ +h[f+96>>3],0)|0;f=c[b>>2]|0;Wi(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,d+ +h[f+64>>3],0)|0;fj(e);a=a+1|0}return}function gj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=XO(a,c[47198]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;cj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Wi(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}gj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function hj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(EC(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(EC(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function ij(a,b){a=a|0;b=b|0;return jj(a,b)|0}function jj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(jj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function kj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;d=c[l>>2]|0;k=b[d+236>>1]|0;while(1){if((k|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(k<<6)>>2]|0;h=h+(k<<6)+4|0;j=0;f=0;while(1){i=j+1|0;if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=j;if((a[e+159>>0]|0)==6)e=(c[e+216>>2]|0)+j|0;else e=i;j=e;f=f+1|0}if((j|0)>(g|0)){e=c[h>>2]|0;d=i<<2;if(!e)d=IK(d)|0;else d=KK(e,d)|0;f=c[(c[l>>2]|0)+196>>2]|0;c[f+(k<<6)+4>>2]=d;g=c[f+(k<<6)>>2]|0;while(1){e=g+-1|0;if((g|0)<=0)break;f=c[d+(e<<2)>>2]|0;c[d+(c[(c[f+16>>2]|0)+236>>2]<<2)>>2]=f;f=c[(c[l>>2]|0)+196>>2]|0;g=e;d=c[f+(k<<6)+4>>2]|0}c[f+(k<<6)>>2]=j;c[d+(j<<2)>>2]=0;d=c[l>>2]|0}k=k+1|0}return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];mj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;e=c[e>>2]|0;d=(c[e+236>>2]|0)+1|0;if((c[e+184>>2]|0)>0){j=c[c[e+180>>2]>>2]|0;j=XA(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(k,a,e,n,d);e=k;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+-48|0;f=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=YA(a,j)|0}}else{i=c[c[e+172>>2]>>2]|0;i=UA(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(j,a,e,n,d);e=j;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+48|0;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=WA(a,i)|0}}}while(0);l=o;return}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;oQ(b,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+(c[d>>2]|0)+ +h[e+88>>3];h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(uC(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=dg(b)|0;g=dP(d)|0;if((g|0)!=(d|0))mh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];mj(a,d,h);l=i;return}function oj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))j=8.0;else j=+(XO(a,c[47198]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=oj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=j+ +h[i+120>>3];e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=j+ +h[i+128>>3];d=d>n?d:n}k=k+1|0}if((dg(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(vC(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=e+ +h[k+56>>3];d=d+ +h[k+88>>3]}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((dg(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function pj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))e=0;else e=XO(a,c[47198]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;pj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=k+ +h[i+120>>3];g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=k+ +h[i+128>>3];f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((dg(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=+h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-(f+(g+(+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]))),p>0.0):0)qj(a,~~p,d);if((dg(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function qj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0;j=c[(dg(a)|0)+16>>2]|0;o=c[j+196>>2]|0;l=c[a+16>>2]|0;a=b[l+238>>1]|0;f=b[l+236>>1]|0;p=(d+1|0)/2|0;m=l+120|0;n=+(p|0)+ +h[m>>3];i=+(e|0);e=~~(n-(+h[o+(a<<6)+16>>3]-i));l=l+128|0;i=+h[o+(f<<6)+24>>3]-i;k=+(d-p|0)+ +h[l>>3];if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[o+(a<<6)>>2]|0)>0){p=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[p>>3]=g+ +h[p>>3]}a=a+-1|0}g=k+g}else g=k;a=~~(g-i);a:do if((a|0)>0){e=b[j+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[o+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=g+ +h[f>>3];f=a}}while(0);h[l>>3]=k;h[m>>3]=n;return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0}else b=0;while(0);return b&1|0}function sj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;d=c[j>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;i=gC(a)|0;while(1){e=c[j>>2]|0;if(!i)break;f=e+238|0;g=c[(c[i+16>>2]|0)+232>>2]|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;e=e+236|0;if((b[e>>1]|0)>(g|0))b[e>>1]=h;if(!d)d=i;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?i:d;i=hC(a,i)|0}c[e+264>>2]=d;return}function tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=NA(a,87246)|0;if(!b)b=2147483647;else{g=+a6(b);b=~~(g*+(qB(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];sL(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function uj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=d+16|0;if(!(NA(d,87255)|0))wj(d,e);else{i=(c[f>>2]|0)+136|0;b[i>>1]=b[i>>1]|16;vj(d,e)}if(a[195234]|0){i=c[15715]|0;e=c[f>>2]|0;f=b[e+236>>1]|0;c[g>>2]=b[e+238>>1];c[g+4>>2]=f;z4(i,87263,g)|0}l=h;return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=l;l=l+16|0;g=h;c[46789]=0;c[g>>2]=c[4658];g=lB(87473,g,0)|0;RC(g,87502,280,1)|0;CC(g,17444,17384);xj(a);d=NA(a,87246)|0;if(!d)e=2147483647;else{i=+a6(d);e=~~(i*+(qB(a)|0))}Nj(a,0);Oj(a,g);Pj(a,g);Qj(a,g,0,0);Rj(g);f=Sj(g)|0;Tj(g);if(b|0){Hk(g);vk(g)}d=NA(a,102887)|0;if(!d)d=-1;else d=d6(d)|0;LK(g,1,e,d)|0;Uj(a,g,f);pB(g)|0;l=h;return}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;xj(a);do if(!b){yj(a,a);Kk(a);zj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Dl(a,0);b=0}else{Hk(a);vk(a);yj(a,a);Kk(a);zj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Dl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);sk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Aj(a,f)|0)Dl(a,0);if(!b)tj(a);else wk(a,b);Bj(a,b);Cj(a);l=g;return}function xj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=gC(d)|0;while(1){if(!g)break;f=UA(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=WA(d,f)|0}g=hC(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function yj(a,b){a=a|0;b=b|0;var d=0;b=MD(b)|0;while(1){if(!b)break;d=Kj(b)|0;do if(d)if((d|0)==7&(c[47182]|0)==100){Gj(a,b);break}else{Lj(a,b,d);break}else yj(a,b);while(0);b=ND(b)|0}return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d+16|0;d=c[h>>2]|0;e=c[d+228>>2]|0;j=b+4|0;f=c[d+224>>2]|0;g=(f|0)==0;a:do if(!((e|0)==0&g)){if(!g){e=dP(f)|0;d=c[h>>2]|0;c[d+224>>2]=e;e=c[d+228>>2]|0}do if(e){d=dP(e)|0;e=c[h>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){d=11;break}g=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((g|0)!=(dP(g)|0)){d=9;break}rk(d);d=c[e>>2]|0}if((d|0)==9)Aa(87366,87306,346,87398);else if((d|0)==11){k=f;i=c[h>>2]|0;break}}else{k=0;i=e}}else{k=0;i=d}while(0);d=c[i+224>>2]|0;if(!d){l=k;m=0}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){l=k;m=f;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(dP(i)|0))break;rk(d);d=c[e>>2]|0}Aa(87411,87306,353,87398)}}else{l=0;m=0}while(0);c[b>>2]=m;c[j>>2]=l;return}function Aj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=gC(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(dP(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=kh(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=kh(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=hC(a,g)|0}}while(0);return (d|0)!=0|0}function Bj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=gC(d)|0;l=d+16|0;f=c[l>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;k=(e|0)==0;while(1){if(!g)break;f=dP(g)|0;j=c[g+16>>2]|0;h=j+232|0;e=c[h>>2]|0;if((f|0)!=(g|0)&(k|(e|0)==0)){e=(c[(c[f+16>>2]|0)+232>>2]|0)+e|0;c[h>>2]=e}f=c[l>>2]|0;h=f+238|0;i=e&65535;if((b[h>>1]|0)<(e|0))b[h>>1]=i;f=f+236|0;if((b[f>>1]|0)>(e|0))b[f>>1]=i;switch(a[j+159>>0]|0){case 6:case 0:break;default:fP(g)}g=hC(d,g)|0}if((dg(d)|0)==(d|0)){if((c[47182]|0)==100)e=1;else{Fj(d);break}while(1){f=c[l>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Ej(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Dj((c[i>>2]|0)+172|0);Dj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=gC(b)|0;while(1){if(!i)break;h=UA(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=gC(b)|0;while(1){if(!d)break;e=UA(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=WA(b,e)|0}d=hC(b,d)|0}l6(c[k>>2]|0);l6(g);d=c[f>>2]|0}c[d+172>>2]=0;h=WA(b,h)|0}i=hC(b,i)|0}l6(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Dj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Ej(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=(e[a>>1]|0)+g;a=f+238|0;b[a>>1]=(e[a>>1]|0)+g;a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Ej(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Fj(b){b=b|0;var d=0;d=MD(dg(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Gj(b,d);d=ND(d)|0}return}function Gj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Hj(a,b),gC(b)|0):0){Ij(a,b);if((c[47182]|0)==100){wj(b,0);Jj(b);break}else{sj(b);break}}while(0);return}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=gC(d)|0;while(1){if(!g)break;i=hC(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{tC(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(EC(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))tC(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=gC(d)|0;while(1){if(!e)break;b=UA(dg(d)|0,e)|0;while(1){if(!b)break;if(EC(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)jB(d,b,1)|0;b=WA(dg(d)|0,b)|0}e=hC(d,e)|0}return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)Aa(87291,87306,238,87313);c[g+264>>2]=h;d=gC(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}eP(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=hC(b,d)|0}if((d|0)==11)Aa(87328,87306,242,87313);else if((d|0)==13)return}function Kj(b){b=b|0;var d=0;if(!(Mj(b)|0)){d=nP(NA(b,87443)|0,17396,17420)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Lj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=gC(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=hC(d,f)|0;if(!f)break;eP(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}b=b+16|0;switch(e|0){case 3:case 2:{f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Mj(a){a=a|0;return (h2(HB(a)|0,108307,7)|0)==0|0}function Nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(gk(b)|0)){j=b+16|0;do if(DP(b)|0)if(!d){c[(c[j>>2]|0)+204>>2]=0;d=b;break}else{c[(c[j>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;hk(b,d);d=b;break}while(0);e=MD(b)|0;while(1){if(!e)break;Nj(e,d);e=ND(e)|0}a:do if(DP(b)|0){e=gC(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=hC(b,e)|0}}while(0);d=d+16|0;switch(ik(b)|0){case 3:{a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{k=19;break}case 5:{a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{k=21;break}case 1:{jk(b)|0;break}case 6:break;default:{e=HB(b)|0;f=NA(b,87443)|0;c[g>>2]=e;c[g+4>>2]=f;dA(0,87626,g)|0}}if((k|0)==19){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((DP(b)|0?(h=c[j>>2]|0,i=c[h+208>>2]|0,i|0):0)?(i|0)==(c[h+212>>2]|0):0){i=jk(b)|0;k=c[j>>2]|0;c[k+208>>2]=i;c[k+212>>2]=i}}l=m;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0;c[46789]=0;d=gC(a)|0;while(1){if(!d)break;if((Vj(d)|0)==(d|0)){e=Yj(b,HB(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=hC(a,d)|0}d=gC(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Vj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=hC(a,d)|0}return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=gC(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=UA(a,h)|0;while(1){if(!i)break;do if((bk(i)|0)==0?(j=i+-48|0,k=c[(c[(Vj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(ck(i)|0)){if((ak(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(ak(f)|0)==0:0){dk(b,d,k,i);break}ek(b,d,k,i);break}else{f=Vj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Vj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}dk(b,d,e,i);break}}while(0);i=WA(a,i)|0}h=hC(a,h)|0}return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((DP(a)|0)!=0?(ak(a)|0)!=0:0){i=gC(a)|0;while(1){f=(d|0)!=0;h=(e|0)!=0;if(!i)break;if(!(XA(a,i)|0)){g=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!f)d=Yj(b,87524)|0;fB(b,d,g,0,1)|0}if(!(UA(a,i)|0)){f=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!h)e=Yj(b,87529)|0;fB(b,f,e,0,1)|0}i=hC(a,i)|0}if(h&f){$j(fB(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=MD(a)|0;while(1){if(!d)break;Qj(d,b,f,e);d=ND(d)|0}return}function Rj(b){b=b|0;var d=0,e=0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=hC(b,d)|0}d=gC(b)|0;while(1){if(!d)break;Zj(b,d);d=hC(b,d)|0}return}function Sj(a){a=a|0;var b=0,d=0,e=0,f=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=hC(a,b)|0}b=0;e=gC(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Xj(a,e,d);b=d}e=hC(a,e)|0}a:do if((b|0)>1){f=Yj(a,87518)|0;d=1;e=gC(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){fB(a,f,e,0,1)|0;d=d+1|0}e=hC(a,e)|0}}while(0);return b|0}function Tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=gC(a)|0;while(1){if(!g)break;h=g+16|0;f=UA(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;b=(c[b+184>>2]<<2)+8|0;if(!d)b=IK(b)|0;else b=KK(d,b)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;d=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=WA(a,f)|0}g=hC(a,g)|0}return}function Uj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+16|0;p=c[n>>2]|0;b[p+236>>1]=32767;b[p+238>>1]=-1;a:do if((f|0)>1){h=HK((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);p=(m|0)!=0;h=gC(a)|0;while(1){if(!h)break;i=c[(c[(c[(Vj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;j=c[i+232>>2]|0;k=c[h+16>>2]|0;c[k+232>>2]=j;f=c[n>>2]|0;g=f+238|0;l=j&65535;if((b[g>>1]|0)<(j|0))b[g>>1]=l;f=f+236|0;if((b[f>>1]|0)>(j|0))b[f>>1]=l;if(p){l=c[i+128>>2]|0;c[k+128>>2]=l;l=m+(l<<2)|0;k=c[l>>2]|0;c[l>>2]=(k|0)<(j|0)?k:j}h=hC(a,h)|0}b:do if(!p){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=gC(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=hC(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=gC(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=hC(a,f)|0}}while(0);Wj(a,f);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){l6(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)l6(f);i=hC(d,i)|0}l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);f=gC(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=hC(a,f)|0}if(p)l6(o);return}function Vj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Vj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Wj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;e=1;while(1){f=c[j>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Wj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;i=gC(a)|0;while(1){d=c[j>>2]|0;if(!i)break;g=c[(c[i+16>>2]|0)+232>>2]|0;f=d+238|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;d=d+236|0;if((b[d>>1]|0)>(g|0)){b[d>>1]=h;e=i}i=hC(a,i)|0}c[d+264>>2]=e}return}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=UA(a,b)|0;while(1){if(!e)break;Xj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break a;Xj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=YA(a,e)|0}}while(0);return}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=qC(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=HK(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=HK(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[46789]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[46789]=f;c[b+164>>2]=0;return f|0}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=UA(b,d)|0;while(1){if(!d)break;e=WA(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){_j(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Zj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function _j(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;$j(d,e[g+170>>1]|0,c[g+156>>2]|0);tC(a,b)|0;return}function $j(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function ak(a){a=a|0;return (cP(NA(a,87534)|0,0)|0)&255|0}function bk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function ck(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=fk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function dk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=fB(a,b,d,0,0)|0;if(!g){g=fB(a,d,b,0,0)|0;if(!g){g=fB(a,b,d,0,1)|0;if(!g){b=HB(b)|0;f=HB(d)|0;c[h>>2]=b;c[h+4>>2]=f;dA(1,87551,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;$j(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function ek(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=XA(a,d)|0;while(1){if(!h){k=6;break}n=UA(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=YA(a,h)|0}if((k|0)==6){n=c[46790]|0;c[46790]=n+1;c[j>>2]=n;i2(i,87542,j)|0;i=Yj(a,i)|0;n=fB(a,i,d,0,1)|0;i=fB(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function gk(a){a=a|0;return (gC(a)|0)==0|0}function hk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Ij(b,a);Hj(b,a);return}function ik(b){b=b|0;var c=0;b=NA(b,87443)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(f2(b,87453)|0)if(f2(b,87457)|0)if(f2(b,87464)|0)if(f2(b,87468)|0)if(!(f2(b,87448)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function jk(a){a=a|0;var b=0,c=0;c=gC(a)|0;a:do if(!c)b=0;else{b=Vj(c)|0;while(1){c=hC(a,c)|0;if(!c)break a;kk(b,c)|0}}while(0);return b|0}function kk(a,b){a=a|0;b=b|0;if(b){a=Vj(a)|0;c[(c[(Vj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87502,c[d>>2]|0,1)|0;return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87669,c[d+4>>2]|0,1)|0;return}function nk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87654,c[d+8>>2]|0,1)|0;return}function ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[47262]=DA(b,2,87684,0)|0;k=DA(b,2,87693,0)|0;c[47263]=k;a:do if((k|0)!=0|(c[47262]|0)!=0){k=gC(b)|0;while(1){if(!k)break a;j=0;d=0;i=ZA(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[47262]|0;do if((f|0)==(k|0)&(g|0)!=0){f=OA(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=pk(m,d,k,i,f)|0;break b}}while(0);f=c[47263]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=OA(i,f)|0,(a[o>>0]|0)!=0):0)e=pk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=_A(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)qk(k,e);e=c[e>>2]|0;if(e|0)l6(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)qk(k,d);d=c[d>>2]|0;if(d|0)l6(d);e=e+1|0}k=hC(b,k)|0}}while(0);l=p;return}function pk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;n=s;p=s+12|0;q=s+8|0;r=0;while(1){m=b+(r*24|0)|0;if((r|0)>=(d|0)){o=10;break}j=c[m>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(f2(j,g)|0)==0:0){o=5;break}r=r+1|0}do if((o|0)==5){k=b+(r*24|0)+4|0;m=b+(r*24|0)+8|0;j=c[k>>2]|0;if(!j)j=IK((c[m>>2]<<2)+8|0)|0;else j=KK(j,(c[m>>2]<<2)+8|0)|0;c[k>>2]=j;n=c[m>>2]|0;o=n+1|0;c[m>>2]=o;c[j+(n<<2)>>2]=f;c[(c[k>>2]|0)+(o<<2)>>2]=0;o=13}else if((o|0)==10){j=b+(r*24|0)+4|0;k=b+(r*24|0)+8|0;if((d|0)>4){b=HB(e)|0;c[n>>2]=5;c[n+4>>2]=b;dA(1,87702,n)|0;break}else{c[k>>2]=0;t=HK(8)|0;c[j>>2]=t;n=c[k>>2]|0;o=n+1|0;c[k>>2]=o;c[t+(n<<2)>>2]=f;c[(c[j>>2]|0)+(o<<2)>>2]=0;c[m>>2]=g;c[b+(r*24|0)+12>>2]=0;h[b+(r*24|0)+16>>3]=0.0;d=d+1|0;o=13;break}}while(0);if((o|0)==13){FH(f,p,q);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[q>>2]|0:c[p>>2]|0;if(j){q=b+(r*24|0)+12|0;t=c[q>>2]|0;c[q>>2]=t+1;if(!t)i=+JH(f,j);else i=0.0;h[b+(r*24|0)+16>>3]=i}}l=s;return d|0}function qk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;s=x;v=d+4|0;m=c[v>>2]|0;w=b+16|0;n=c[w>>2]|0;q=+h[n+16>>3];r=+h[n+24>>3];j=0;o=0.0;p=0.0;while(1){if((j|0)>=(m|0))break;f=c[(c[d>>2]|0)+(j<<2)>>2]|0;i=c[f>>2]&3;e=c[((i|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?f:f+48|0)+40>>2]|0;i=c[e+16>>2]|0;y=+h[i+16>>3]-q;g=+h[i+24>>3]-r;k=+c2(y,g);j=j+1|0;o=o+y/k;p=p+g/k}k=+c2(o,p);g=+h[n+88>>3]+ +h[n+96>>3];y=+h[n+80>>3];n=g>y+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(n)g=+h[e+88>>3]+ +h[e+96>>3];else{g=+h[e+80>>3];g=g+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=o/k*g+ +h[e+16>>3];g=p/k*g+ +h[e+24>>3];h[s>>3]=q;m=s+8|0;h[m>>3]=r;h[s+16>>3]=(q*2.0+y)/3.0;h[s+24>>3]=(r*2.0+g)/3.0;h[s+32>>3]=(q+y*2.0)/3.0;h[s+40>>3]=(r+g*2.0)/3.0;h[s+48>>3]=y;h[s+56>>3]=g;_N(b,s);n=c[w>>2]|0;g=+h[s>>3]-+h[n+16>>3];k=+h[m>>3]-+h[n+24>>3];g=+(~~(g+(g>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[n+88>>3];s=~~((y+g)*256.0/(y+ +h[n+96>>3]))&255;n=0;while(1){if((n|0)>=(c[v>>2]|0))break;m=c[(c[d>>2]|0)+(n<<2)>>2]|0;FH(m,t,u);while(1){if(!m)break;else f=m;while(1){if(!f){i=m;break}e=c[f>>2]|0;i=f+-48|0;j=f+16|0;if((c[((e&3|0)==2?f:i)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[f>>2]|0}if((c[((e&3|0)==3?f:f+48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){f=0;continue}e=c[(c[((c[f>>2]&3|0)==2?f:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){f=0;continue}if((c[e+184>>2]|0)!=1){f=0;continue}f=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;j=i+16|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}m=c[(c[m+16>>2]|0)+172>>2]|0}n=n+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function rk(a){a=a|0;var b=0,d=0,e=0;fh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=ah(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;kh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else sh(a,b);return}function sk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;tk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))tk(d)}else{rk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=gC(a)|0;b=0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=WA(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=hC(a,e)|0}return b|0}function vk(b){b=b|0;var d=0,e=0,f=0,g=0;e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=hC(b,e)|0}return}function wk(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;k=c[d+24>>2]|0;xk(b);m=(k|0)==-1;n=d+8|0;j=m^1;o=c[15715]|0;g=1797693134862315708145274.0e284;i=0;while(1){if(!(m|(i|0)<(k|0)))break;e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+232>>2]=0;e=hC(b,e)|0}tj(b);f=+yk(b);h[n>>3]=f;if(a[195234]|0){h[p>>3]=f;z4(o,87754,p)|0;f=+h[n>>3]}if(!(!(f<=+h[d>>3])&(!(g<=f)|j))){q=9;break}zk(b);g=f;i=i+1|0}if((q|0)==9){q=d+20|0;c[d+16>>2]=c[q>>2];c[q>>2]=i}tj(b);Ak(b);Bk();h[n>>3]=+yk(b);l=r;return}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;c[46794]=IK((qB(a)|0)*24|0)|0;c[46793]=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=hC(a,b)|0}l=gC(a)|0;while(1){if(!l)break;f=l+16|0;do if(!(c[(c[f>>2]|0)+216>>2]|0)){j=HK(4)|0;i=c[46794]|0;k=c[46793]|0;c[i+(k*24|0)>>2]=j;c[j>>2]=l;c[i+(k*24|0)+4>>2]=1;j=c[f>>2]|0;h[i+(k*24|0)+8>>3]=+h[j+32>>3];h[i+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[46793]=k+1}else{g=dP(l)|0;i=g+16|0;b=c[i>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){j=c[46794]|0;i=c[j+(d*24|0)>>2]|0;g=j+(d*24|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=l;k=c[f>>2]|0;i=j+(d*24|0)+8|0;h[i>>3]=+h[k+32>>3]+ +h[i>>3];j=j+(d*24|0)+16|0;m=+h[j>>3];n=+h[k+40>>3];h[j>>3]=m<n?n:m;c[k+120>>2]=d;break}d=HK(c[b+216>>2]<<2)|0;j=c[46794]|0;k=c[46793]|0;b=j+(k*24|0)|0;c[b>>2]=d;c[d>>2]=g;d=j+(k*24|0)+4|0;e=j+(k*24|0)+8|0;if((g|0)==(l|0)){c[d>>2]=1;d=c[i>>2]|0;h[e>>3]=+h[d+32>>3];e=c[f>>2]|0;b=e}else{c[(c[b>>2]|0)+4>>2]=l;c[d>>2]=2;d=c[i>>2]|0;i=c[f>>2]|0;h[e>>3]=+h[d+32>>3]+ +h[i+32>>3];b=c[(+h[d+40>>3]<+h[i+40>>3]?l:g)+16>>2]|0;e=i}h[j+(k*24|0)+16>>3]=+h[b+40>>3];c[d+120>>2]=k;c[e+120>>2]=k;c[46793]=k+1}while(0);l=hC(a,l)|0}return}function yk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Ak(a);g=c[46791]|0;e=c[a+16>>2]|0;b=+(S(c[e+252>>2]|0,g+-1|0)|0);f=c[46792]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(S(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=b+ +h[f+(a*40|0)+32>>3];a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function zk(a){a=a|0;var b=0;c[46795]=HK((qB(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(qB(a)|0))break;c[(c[46795]|0)+(b<<2)>>2]=b;b=b+1|0}Ak(a);Ck(a);Dk(a);return}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0;c[46791]=0;b=c[46792]|0;if(b|0){e=0;while(1){if((e|0)>=(c[46793]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){l6(d);b=c[46792]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){l6(d);b=c[46792]|0}e=e+1|0}l6(b)}c[46792]=HK((c[46793]|0)*40|0)|0;b=0;while(1){d=c[46793]|0;if((b|0)>=(d|0))break;l=HK(d<<2)|0;c[(c[46792]|0)+(b*40|0)+4>>2]=l;l=HK(c[46793]<<2)|0;m=c[46792]|0;c[m+(b*40|0)+8>>2]=l;c[m+(b*40|0)>>2]=b;c[m+(b*40|0)+12>>2]=0;c[m+(b*40|0)+16>>2]=0;m=m+(b*40|0)+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b=b+1|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[46792]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=WA(a,d)|0}e=hC(a,e)|0}k=c[46793]|0;l=c[46794]|0;m=c[46792]|0;d=a+16|0;b=0;while(1){if((b|0)>=(k|0))break;e=l+(b*24|0)|0;f=(c[c[e>>2]>>2]|0)+16|0;g=c[(c[f>>2]|0)+232>>2]|0;if((g|0)>=(c[46791]|0))c[46791]=g+1;i=m+(g*40|0)+24|0;j=+h[i>>3];h[i>>3]=j+(+h[l+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0));i=m+(g*40|0)+32|0;j=+h[l+(b*24|0)+16>>3]*72.0;if(+h[i>>3]<j)h[i>>3]=j;c[(c[m+(g*40|0)+4>>2]|0)+(c[m+(g*40|0)+12>>2]<<2)>>2]=e;a=m+((c[(c[f>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Bk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[46791]|0;l=c[46792]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;i=c[l+(j*40|0)+12>>2]|0;d=l+(j*40|0)|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Ck(a){a=a|0;var b=0;b=c[46795]|0;k3(b,qB(a)|0,4,63);return}function Dk(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;k=c[46791]|0;l=c[46792]|0;i=c[46795]|0;j=0;while(1){if((j|0)>=(k|0)){e=0;f=0.0;break}e=c[i+(j<<2)>>2]|0;g=j+1|0;if((c[l+(e*40|0)+12>>2]|0)<2)j=g;else{m=4;break}}if((m|0)==4)if((k|0)>(g|0))f=+h[l+((c[i+(g<<2)>>2]|0)*40|0)+24>>3];else f=0.0;a:do if((j|0)!=(k|0)){k3(c[l+(e*40|0)+4>>2]|0,c[l+(e*40|0)+12>>2]|0,4,64);g=c[46792]|0;d=+h[g+(e*40|0)+24>>3];if(!(!(f<=d*.25)?!(f>=d*3.0*.25):0))f=d*.5;t=c[g+(e*40|0)+12>>2]|0;s=b+16|0;p=0;q=0;d=0.0;i=0;r=0;while(1){if((r|0)>=(i+t|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]|0)){m=c[(c[g+(e*40|0)+4>>2]|0)+(r<<2)>>2]|0;b=m+8|0;n=+h[b>>3]*72.0;o=d>0.0?+(c[(c[s>>2]|0)+248>>2]|0):0.0;j=(q|0)!=0;if(!(j&!(d+n+o<=f))){k=j?p:m;j=j?q:1;d=d+(n+o);break}k=p+4|0;l=m+4|0;j=0;while(1){if((j|0)<(c[k>>2]|0))g=0;else break;while(1){if((g|0)>=(c[l>>2]|0))break;a[(c[(kh(c[(c[p>>2]|0)+(j<<2)>>2]|0,c[(c[m>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}j=j+1|0}g=c[46792]|0;c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]=1;k=g+(e*40|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;k=g+(e*40|0)+16|0;c[k>>2]=(c[k>>2]|0)+1;k=g+(e*40|0)+24|0;h[k>>3]=+h[k>>3]-(+h[b>>3]*72.0+ +(c[(c[s>>2]|0)+248>>2]|0));k=p;j=q}else{k=p;j=q;i=i+1|0}while(0);p=k;q=j;r=r+1|0}}while(0);return}function Ek(a,b){a=a|0;b=b|0;a=Fk(c[a>>2]|0)|0;b=Fk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=uC(e)|0;e=UA(g,e)|0;while(1){if(!e)break;e=WA(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Gk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46792]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function Hk(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=hC(a,b)|0}return}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=NA(a,99906)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(q4(a,87769,e)|0)>=1):0)dA(0,87776,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Jk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;dl(a);b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Jk(d)|0)==0:0)?(e=d+48|0,f=dP(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=dP(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=ah(f,h)|0;if(!i){kh(f,h,d)|0;break}else{sh(d,i);break}}i=c[d>>2]&3;Lk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=WA(a,d)|0}b=hC(a,b)|0}return}function Lk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;j=g+16|0;k=k-h+(e[(c[j>>2]|0)+170>>1]|0)|0;b=ph(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=dP(d)|0;d=dP(f)|0;f=Wi(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Wi(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Mk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[d>>2]&3;j=(k|0)==3?d:d+48|0;k=(k|0)==2?d:d+-48|0;k=c[(c[(c[((c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[k+40>>2]|0)+16>>2]|0)+232>>2]|0)?j:k)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=d+16|0;h=c[j>>2]|0;d=h+172|0;if(c[d>>2]|0)Aa(87865,87887,148,87896);c[d>>2]=f;i=(g|0)==0;d=f;while(1){g=c[d+16>>2]|0;if(!i){f=g+168|0;b[f>>1]=(e[f>>1]|0)+(e[h+168>>1]|0)}f=g+154|0;b[f>>1]=(e[f>>1]|0)+(e[h+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[h+156>>2]|0);g=d+-48|0;h=c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0;if((c[(c[h+16>>2]|0)+232>>2]|0)==(k|0))break;Nk(a,h);d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;if(!d)break;h=c[j>>2]|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=d+ +h[b>>3];return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(rj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Pk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=b+16|0;d=c[t>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;dl(b);d=1;while(1){e=c[t>>2]|0;if((d|0)>(c[e+180>>2]|0))break;el(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=gC(b)|0;while(1){if(!h)break;g=UA(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=WA(b,g)|0}h=hC(b,h)|0}m=gC(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(dP(m)|0):0){lh(b,m);l=(c[t>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=UA(b,m)|0;while(1){if(!l)break;i=l+16|0;e=c[i>>2]|0;a:do if(!(c[e+172>>2]|0)){j=l+48|0;k=l+-48|0;f=d+16|0;if(Qk(l)|0){if(!(Ok(d,l)|0)){Rk(b,l);d=l;break}e=c[(c[f>>2]|0)+172>>2]|0;if(e|0){Mk(b,l,e,0);gh(l);break}i=c[l>>2]&3;if((c[(c[(c[((i|0)==3?l:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((i|0)==2?l:k)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;sh(l,d);gh(l);break}if((d|0?(s=c[l>>2]&3,n=c[((s|0)==3?l:j)+40>>2]|0,o=c[d>>2]&3,(n|0)==(c[((o|0)==3?d:d+48|0)+40>>2]|0)):0)?(p=c[((s|0)==2?l:k)+40>>2]|0,(p|0)==(c[((o|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[n+16>>2]|0)+232>>2]|0)==(c[(c[p+16>>2]|0)+232>>2]|0)){sh(l,d);gh(l);break}if(((c[e+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0)?rj(l,d)|0:0)if(!(a[195236]|0)){Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);gh(l);break}else{a[(c[i>>2]|0)+112>>0]=6;break}}h=c[l>>2]&3;e=c[((h|0)==3?l:j)+40>>2]|0;if((e|0)==(c[((h|0)==2?l:k)+40>>2]|0)){gh(l);d=l;break}e=dP(e)|0;f=dP(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:j)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:k)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){qh(b,l);d=l;break}if((h|0)>(g|0)){Sk(b,e,f,l);d=l;break}e=fB(b,f,e,0,0)|0;do if(e|0?(q=c[e>>2]&3,r=c[((q|0)==2?e:e+-48|0)+40>>2]|0,(r|0)!=(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Sk(b,c[((q|0)==3?e:e+48|0)+40>>2]|0,r,e);if((c[(c[i>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(rj(l,e)|0))break;if(!(a[195236]|0)){gh(l);Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[i>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Sk(b,c[((d|0)==2?l:k)+40>>2]|0,c[((d|0)==3?l:j)+40>>2]|0,l);d=l}}else d=l;while(0);l=WA(b,l)|0}m=hC(b,m)|0}if((dg(b)|0)!=(b|0)){d=c[(c[t>>2]|0)+216>>2]|0;if(!d)d=IK(4)|0;else d=KK(d,4)|0;t=c[t>>2]|0;c[t+216>>2]=d;c[d>>2]=c[t+192>>2]}return}function Qk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7;return b&1|0}function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Vk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Vk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=ah(f,e)|0;if(h|0){Mk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Sk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;g=b+16|0;j=d+16|0;if(!(c[f+96>>2]|0))i=-1;else i=((c[(c[j>>2]|0)+232>>2]|0)+(c[(c[g>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)Aa(87908,87887,89,87933);h=c[(c[g>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[j>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(i|0))f=Tk(a,e)|0;else f=Uk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Fi(kh(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))Aa(87944,87887,103,87933);else return}function Tk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=ph(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(vC(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Uk(a){a=a|0;var b=0;b=ph(a)|0;Nk(a,b);return b|0}function Vk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=dP(b)|0;return b|0}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=dg(a)|0;h=gC(a)|0;while(1){if(!h)break;b=ZA(j,h)|0;i=0;while(1){if(!b)break;l=_A(j,b,h)|0;if(EC(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Ok(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Mk(a,k,b,0);hh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Xk(b,e,k);b=l;i=k;continue}else{Xk(e,b,k);b=l;i=k;continue}b=ch(b,e)|0;if(!b){qh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}hh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}sh(k,b);m=i;b=l;i=m}h=hC(a,h)|0}return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Yk(a)|0;e=Yk(b)|0;Zk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Yk(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Zk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;l=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;j=c[(c[o>>2]|0)+232>>2]|0;if((j|0)<=(l|0))Aa(87969,87997,81,88007);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))i=5;a:do if((i|0)==5){i=f+16|0;if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[i>>2]|0)+172>>2]=0;if(((j-l|0)==1?(k=ah(d,e)|0,k|0):0)?rj(f,k)|0:0){sh(f,k);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=dg(d)|0;j=g+-48|0;i=_k(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(kh(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((j-l|0)==1){g=ah(d,e)|0;if(g|0?rj(f,g)|0:0){c[(c[i>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}c[(c[i>>2]|0)+172>>2]=0;g=kh(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);l=c[(c[o>>2]|0)+232>>2]|0;if((l-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)!=(d|0)){c[(c[i>>2]|0)+172>>2]=0;l=kh(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[i>>2]|0)+172>>2]=l;fh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(kh(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;fh(g)}}}while(0);return}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;$k(a,e,c[b+236>>2]|0,2);b=ph(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function al(a){a=a|0;var b=0;Pk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Ci(a);hi(a,0);bl(a);Wk(a);cl(a);return}function bl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=dg(d)|0;n=d+16|0;f=c[n>>2]|0;l=b[f+236>>1]|0;o=m+16|0;e=l<<16>>16;if(l<<16>>16>0)a[(c[(c[o>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;l=e;while(1){if((l|0)>(b[f+238>>1]|0))break;k=c[(c[(c[(c[f+268>>2]|0)+(l<<2)>>2]|0)+16>>2]|0)+236>>2]|0;$k(m,l,k,c[(c[f+196>>2]|0)+(l<<6)>>2]|0);i=0;j=k;e=c[o>>2]|0;while(1){f=c[n>>2]|0;p=c[f+196>>2]|0;g=p+(l<<6)+4|0;e=c[e+196>>2]|0;h=c[e+(l<<6)+4>>2]|0;if((i|0)>=(c[p+(l<<6)>>2]|0))break;e=c[(c[g>>2]|0)+(i<<2)>>2]|0;c[h+(j<<2)>>2]=e;p=c[e+16>>2]|0;c[p+236>>2]=j;if((a[p+156>>0]|0)==1)c[e+24>>2]=vC(m)|0;nh(d,e);lh(m,e);e=c[o>>2]|0;p=e+232|0;c[p>>2]=(c[p>>2]|0)+1;i=i+1|0;j=j+1|0}c[g>>2]=h+(k<<2);a[e+(l<<6)+49>>0]=0;l=l+1|0}e=c[o>>2]|0;if((l|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(l<<6)+49>>0]=0;a[f+272>>0]=1;return}function cl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;fh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;fh(d);d=c[g>>2]|0}nh(dg(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=gC(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){fP(f);d=c[e>>2]|0}c[d+212>>2]=0;f=hC(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=gC(h)|0;a:while(1){if(!d)break;j=hC(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=HB(d)|0;g=HB(b)|0;c[n>>2]=f;c[n+4>>2]=g;dA(0,88016,n)|0;tC(h,d)|0;d=j;continue}gP(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=UA(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(h,g)|0}}k=k+1|0}l=o;return}function el(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=HK((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=ph(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(kh(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=gC(e)|0;while(1){f=c[k>>2]|0;i=f+268|0;if(!j)break;h=(c[(c[i>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=WA(e,f)|0}j=hC(e,j)|0}d=b[f+238>>1]|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function fl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((a[e+273>>0]|0)!=(j|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;wi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;xi(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function gl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=gC(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=UA(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(b,g)|0}h=hC(b,h)|0}hl(b);return}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;hl(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=gC(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=UA(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=WA(b,h)|0}i=hC(b,i)|0}return}function il(a){a=a|0;var b=0,c=0,d=0;d=GP(a)|0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;jl(b,d);b=WA(a,b)|0}c=hC(a,c)|0}Oz(d)|0;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+320|0;L=R+296|0;K=R+280|0;G=R+136|0;z=R+120|0;q=R+104|0;m=R+88|0;f=R+80|0;I=R+16|0;C=R;n=R+264|0;o=R+248|0;p=R+232|0;s=R+216|0;E=R+200|0;F=R+184|0;B=R+168|0;M=R+152|0;i=kl(NA(a,88070)|0,b)|0;u=kl(NA(a,88076)|0,b)|0;v=(u|0)!=0;h=(i|0)!=0;do if(h|v?(Q=a+16|0,e=c[(c[Q>>2]|0)+8>>2]|0,e|0):0){A=a+48|0;b=c[a>>2]&3;g=c[((b|0)==3?a:A)+40>>2]|0;if((c[e+4>>2]|0)>1){P=HB(g)|0;Q=HB(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=P;c[f+4>>2]=Q;dA(0,88082,f)|0;break}P=c[e>>2]|0;k=c[P+4>>2]|0;y=a+-48|0;t=c[((b|0)==2?a:y)+40>>2]|0;N=IK(48)|0;w=P+12|0;c[N+12>>2]=c[w>>2];D=P+8|0;c[N+8>>2]=c[D>>2];H=P+16|0;j=P+32|0;k=k+-1|0;x=N+32|0;r=g+16|0;t=t+16|0;do if(h){g=(c[i+16>>2]|0)+16|0;i=(c[t>>2]|0)+16|0;c[L>>2]=c[i>>2];c[L+4>>2]=c[i+4>>2];c[L+8>>2]=c[i+8>>2];c[L+12>>2]=c[i+12>>2];if(!(ll(L,g)|0)){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[m>>2]=s;c[m+4>>2]=J;c[m+8>>2]=O;dA(0,88123,m)|0;O=25;break}b=c[P>>2]|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];if(!(ll(L,g)|0))b=0;else{J=(c[r>>2]|0)+16|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];if(ll(L,g)|0){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[q>>2]=s;c[q+4>>2]=J;c[q+8>>2]=O;dA(0,88166,q)|0;O=25;break}if(!(c[D>>2]|0))Aa(88208,88219,369,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];ml(C,K,L,g);J=(c[P>>2]|0)+48|0;c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];J=(c[P>>2]|0)+16|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(n,K,L);c[J>>2]=c[n>>2];c[J+4>>2]=c[n+4>>2];c[J+8>>2]=c[n+8>>2];c[J+12>>2]=c[n+12>>2];J=c[P>>2]|0;b=J+16|0;c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(o,K,L);c[J>>2]=c[o>>2];c[J+4>>2]=c[o+4>>2];c[J+8>>2]=c[o+8>>2];c[J+12>>2]=c[o+12>>2];J=c[P>>2]|0;b=J+32|0;J=J+16|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(p,K,L);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];c[b+12>>2]=c[p+12>>2];b=c[w>>2]|0;if(!b){J=3;break}J=(SH(a,c[P>>2]|0,0,0,N,b)|0)+3|0;break}while(1){if((b|0)>=(k|0))break;if(ol((c[P>>2]|0)+(b<<4)|0,g)|0)break;b=b+3|0}e=c[w>>2]|0;f=(e|0)!=0;if((b|0)==(k|0))if(f){J=(c[P>>2]|0)+(k<<4)|0;c[K>>2]=c[j>>2];c[K+4>>2]=c[j+4>>2];c[K+8>>2]=c[j+8>>2];c[K+12>>2]=c[j+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];ml(s,K,L,g);c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];J=k;break}else Aa(88247,88219,387,88230);else{if(f)b=SH(a,c[P>>2]|0,0,b,N,e)|0;J=b+3|0;break}}else O=25;while(0);if((O|0)==25)if(!(c[w>>2]|0))J=k;else{c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];J=k}j=N+16|0;do if(v){i=(c[u+16>>2]|0)+16|0;v=(c[r>>2]|0)+16|0;c[L>>2]=c[v>>2];c[L+4>>2]=c[v+4>>2];c[L+8>>2]=c[v+8>>2];c[L+12>>2]=c[v+12>>2];if(!(ll(L,i)|0)){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[z>>2]=L;c[z+4>>2]=M;c[z+8>>2]=O;dA(0,88258,z)|0;O=50;break}b=(c[P>>2]|0)+(J<<4)|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];h=J+-3|0;if(ll(L,i)|0){M=(c[t>>2]|0)+16|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];if(ll(L,i)|0){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[G>>2]=L;c[G+4>>2]=M;c[G+8>>2]=O;dA(0,88301,G)|0;O=50;break}if(!(c[w>>2]|0))Aa(88247,88219,429,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];ml(C,K,L,i);M=(c[P>>2]|0)+(h<<4)|0;c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];M=J+-1|0;d=(c[P>>2]|0)+(M<<4)|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(E,K,L);c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=c[P>>2]|0;I=d+(J<<4)|0;d=d+(M<<4)|0;c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(F,K,L);c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];I=c[P>>2]|0;d=I+(J+-2<<4)|0;M=I+(M<<4)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];c[K+8>>2]=c[M+8>>2];c[K+12>>2]=c[M+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(B,K,L);c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];d=c[D>>2]|0;if(!d){d=h;break}d=UH(a,c[P>>2]|0,h,h,N,d)|0;break}f=J;while(1){g=f+-3|0;if((f|0)>0)b=0;else break;while(1){if((b|0)==4)break;G=I+(b<<4)|0;F=(c[P>>2]|0)+(f-b<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];b=b+1|0}if(!(ol(I,i)|0))f=g;else{b=0;O=42;break}}a:do if((O|0)==42)while(1){O=0;if((b|0)==4)break a;O=(c[P>>2]|0)+(f-b<<4)|0;G=I+(b<<4)|0;c[O>>2]=c[G>>2];c[O+4>>2]=c[G+4>>2];c[O+8>>2]=c[G+8>>2];c[O+12>>2]=c[G+12>>2];b=b+1|0;O=42}while(0);b=c[D>>2]|0;e=(b|0)!=0;if(f|0){if(!e){d=g;break}d=UH(a,c[P>>2]|0,g,h,N,b)|0;break}if(e){d=c[P>>2]|0;c[K>>2]=c[H>>2];c[K+4>>2]=c[H+4>>2];c[K+8>>2]=c[H+8>>2];c[K+12>>2]=c[H+12>>2];c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];ml(M,K,L,i);c[j>>2]=c[M>>2];c[j+4>>2]=c[M+4>>2];c[j+8>>2]=c[M+8>>2];c[j+12>>2]=c[M+12>>2];d=0;break}else Aa(88208,88219,452,88230)}else O=50;while(0);if((O|0)==50)if(!(c[D>>2]|0))d=0;else{c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2];d=0}b=J-d+1|0;f=N+4|0;c[f>>2]=b;c[N>>2]=IK(b<<4)|0;b=0;while(1){e=c[P>>2]|0;if((b|0)>=(c[f>>2]|0))break;O=(c[N>>2]|0)+(b<<4)|0;a=e+(d<<4)|0;c[O>>2]=c[a>>2];c[O+4>>2]=c[a+4>>2];c[O+8>>2]=c[a+8>>2];c[O+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}l6(e);l6(P);c[c[(c[Q>>2]|0)+8>>2]>>2]=N}while(0);l=R;return}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=IP(d,b)|0;if(!d){c[e>>2]=b;dA(0,88421,e)|0;d=0}}else d=0;l=f;return d|0}function ll(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3];else a=0;return a&1|0}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+464|0;r=F+48|0;E=F+32|0;x=F+16|0;y=F;z=F+364|0;B=F+264|0;C=F+164|0;D=F+64|0;u=+h[b>>3];v=+h[b+8>>3];k=+h[d>>3];w=+h[d+8>>3];c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2];j=e+16|0;c[y>>2]=c[j>>2];c[y+4>>2]=c[j+4>>2];c[y+8>>2]=c[j+8>>2];c[y+12>>2]=c[j+12>>2];m=+h[x>>3];n=v-w;o=u-k;j=a+8|0;e=y+8|0;f=+h[x+8>>3];if(k<m?(g=v+ +(~~(n*(m-u)/o)|0),!(g>=f?!(g<=+h[e>>3]):1)):0){s=g;t=m}else i=3;do if((i|0)==3){g=+h[y>>3];if(k>g?(p=v+ +(~~(n*(g-u)/o)|0),!(p>=f?!(p<=+h[e>>3]):1)):0){s=p;t=g;break}if(w<f?(q=u+ +(~~(o*(f-v)/n)|0),!(!(q>=m)|!(q<=g))):0){s=f;t=q;break}f=+h[e>>3];if(w>f?(A=u+ +(~~(o*(f-v)/n)|0),!(!(A>=m)|!(A<=g))):0){s=f;t=A;break};c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];z=tl(r,z)|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];B=tl(r,B)|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];C=tl(r,C)|0;c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];D=tl(r,D)|0;c[E>>2]=z;c[E+4>>2]=B;c[E+8>>2]=C;c[E+12>>2]=D;dA(1,88343,E)|0;Aa(138697,88219,78,88395)}while(0);h[a>>3]=t;h[j>>3]=s;l=F;return}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ol(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+pl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)iP(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+pl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}f=+ql(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}f=+ql(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function pl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(sl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+F(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+pl(j,b,g,d,e,f);if(!(b>=0.0))b=+pl(k,g,c,d,e,f)}while(0);l=m;return +b}function ql(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(rl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+F(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+ql(j,b,g,d,e,f);if(!(b>=0.0))b=+ql(k,g,c,d,e,f)}while(0);l=m;return +b}function rl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function sl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;i2(b,88409,d)|0;l=c;return b|0}function ul(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=k6(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(20,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(65,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break b}}}e=c[r>>2]|0;k=j;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(21,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(66,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break c}}}k=j;d=c[r>>2]|0}m=m+-1|0;q=15}t=x6(187184,1,t|0,u|0)|0;u=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else d=0}while(0);d:while(1){if(d){o=0;aa(23,3,88449,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;$(101,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue d}f=f+1|0}}}while(0);l6(t|0);l=v;return}function vl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((vl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=kh(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=kh(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}nh(a,o);l=l+1|0}if((r|0)==23)Aa(88585,88629,115,88636);while(1){g=g+1|0;f=c[(c[t>>2]|0)+196>>2]|0;d=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;h=f+(s<<2)|0;if((g|0)>=(c[d>>2]|0))break;r=c[f+(g<<2)>>2]|0;c[h>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[d>>2]=s;c[h>>2]=0;return}function yl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((yl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Al(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}sj(d);j=gC(d)|0;while(1){if(!j)break;Bl(d,j);i=UA(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Bl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=WA(d,i)|0}j=hC(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(EC(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(EC(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(EC(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=HB(d)|0;c[p+4>>2]=i;dA(0,88549,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=HB(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;dA(1,88491,o)|0;Ca(187184,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Al(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(S((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;El(j,k+512|0,k);e=(a[194050]|0)+1<<24>>24;a[194050]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=gC(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(dP(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[194050]|0)):0){Fl(b);Gl(j,b,g);Hl(b)}d=hC(b,d)|0}Il(j);l=k;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Fl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46835]=0;return}function Gl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Jl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Kl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[194050]|0))continue;Ll(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[194050]|0)?(e|0)==(dP(e)|0):0)Jl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Hl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;a=c[d>>2]|0;f=a+220|0;e=c[f>>2]|0;b=e+1|0;c[f>>2]=b;a=c[a+216>>2]|0;b=b<<2;if(!a)a=IK(b)|0;else a=KK(a,b)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Il(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Jl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=HK(16)|0;if(!f)dA(1,99270,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=HK(4e6)|0;c[f>>2]=b;if(!b){dA(1,88649,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[194050]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[194050]|0;b=c[46835]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46835]=d;c[g+164>>2]=0;return}function Ml(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Nl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Nl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Ol(b)}while(0);Ei(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Pl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Pl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){xh(b);Lh(b)}return e|0}function Nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(dg(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return} -function r3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;B6(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;B6(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function s3(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0}while((X1(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=W1(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[153600+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[153609+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=W1(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|32|0)==120){g=+t3(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+u3(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function t3(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=c[w>>2]|0;v=a+100|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=0}else{i=W1(a)|0;j=0}a:while(1){switch(i|0){case 46:{n=8;break a}case 48:break;default:{s=0;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0;break a}}i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=1;continue}else{i=W1(a)|0;j=1;continue}}if((n|0)==8){i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;if((i|0)==48){l=0;j=0;do{i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;l=w6(l|0,j|0,-1,-1)|0;j=D}while((i|0)==48);s=1;t=0;p=1.0;h=0.0;u=0;r=1;q=0;m=0}else{s=1;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0}}while(1){n=i+-48|0;o=(i|0)==46;if(n>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!s){s=1;n=t;k=p;i=u;l=m;j=q}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:n;do if(!((q|0)<0|(q|0)==0&m>>>0<8))if((q|0)<0|(q|0)==0&m>>>0<14){p=p*.0625;n=t;k=p;h=h+p*+(i|0);i=u;break}else{i=(t|0)!=0|(i|0)==0;n=i?t:1;k=p;h=i?h:h+p*.5;i=u;break}else{n=t;k=p;i=i+(u<<4)|0}while(0);m=w6(m|0,q|0,1,0)|0;r=1;q=D}o=c[w>>2]|0;if(o>>>0<(c[v>>2]|0)>>>0){c[w>>2]=o+1;t=n;p=k;u=i;i=d[o>>0]|0;continue}else{t=n;p=k;u=i;i=W1(a)|0;continue}}do if(!r){i=c[v>>2]|0;j=(i|0)!=0;if(j)c[w>>2]=(c[w>>2]|0)+-1;if(g){if(j)c[w>>2]=(c[w>>2]|0)+-1;if(!((s|0)==0|(i|0)==0))c[w>>2]=(c[w>>2]|0)+-1}else U1(a,0);h=+(f|0)*0.0}else{n=(s|0)==0;o=n?m:l;n=n?q:j;if((q|0)<0|(q|0)==0&m>>>0<8){j=u;l=q;do{j=j<<4;m=w6(m|0,l|0,1,0)|0;l=D}while((l|0)<0|(l|0)==0&m>>>0<8);m=j}else m=u;if((i|32|0)==112){j=v3(a,g)|0;i=D;if((j|0)==0&(i|0)==-2147483648){if(!g){U1(a,0);h=0.0;break}if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}}}else if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}l=v6(o|0,n|0,2)|0;l=w6(l|0,D|0,-32,-1)|0;l=w6(l|0,D|0,j|0,i|0)|0;i=D;if(!m){h=+(f|0)*0.0;break}w=0-e|0;g=((w|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>w>>>0){c[(L1()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=e+-106|0;g=((w|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<w>>>0){c[(L1()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{w=!(h>=.5);j=j<<1|(w^1)&1;h=h+(w?h:h+-1.0);l=w6(l|0,i|0,-1,-1)|0;i=D}while((j|0)>-1);p=h;m=j}else p=h;w=((b|0)<0)<<31>>31;e=t6(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=w6(e|0,D|0,l|0,i|0)|0;e=D;if((w|0)>(e|0)|(w|0)==(e|0)&b>>>0>i>>>0)if((i|0)>0)n=59;else{j=0;i=84;n=61}else{i=b;n=59}if((n|0)==59)if((i|0)<53){j=i;i=84-i|0;n=61}else{k=0.0;h=+(f|0)}if((n|0)==61){h=+(f|0);k=+x3(+w3(1.0,i),h);i=j}f=(m&1|0)==0&(p!=0.0&(i|0)<32);h=h*(f?0.0:p)+(k+h*+(((f&1)+m|0)>>>0))-k;if(!(h!=0.0))c[(L1()|0)>>2]=34;h=+z3(h,l)}while(0);return +h}function u3(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;B=a+4|0;C=a+100|0;k=0;a:while(1){switch(b|0){case 46:{z=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=W1(a)|0;k=1;continue}}if((z|0)==6){b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48){k=0;b=0;while(1){k=w6(k|0,b|0,-1,-1)|0;o=D;b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=G+496|0;w=0;k=0;u=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=w6(p|0,n|0,1,0)|0;n=D;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=G+(k<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=(y&1)+k|0;u=v?p:u;y=1}while(0);b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=29;break b}}b=w;m=(y|0)!=0;z=37}else{w=0;k=0;u=0;m=p;p=0;n=0;z=29}while(0);do if((z|0)==29){A=(v|0)==0;q=A?p:q;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=37;break}else{b=w;z=39;break}m=v3(a,h)|0;b=D;if((m|0)==0&(b|0)==-2147483648){if(!h){U1(a,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[B>>2]=(c[B>>2]|0)+-1;m=0;b=0}}y=w6(m|0,b|0,q|0,o|0)|0;b=w;o=D;z=41}while(0);if((z|0)==37)if(c[C>>2]|0){c[B>>2]=(c[B>>2]|0)+-1;if(m){y=q;z=41}else z=40}else z=39;if((z|0)==39)if(m){y=q;z=41}else z=40;do if((z|0)==40){c[(L1()|0)>>2]=22;U1(a,0);i=0.0}else if((z|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&y>>>0>a>>>0){c[(L1()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&y>>>0<a>>>0){c[(L1()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;do{m=m*10|0;b=b+1|0}while((b|0)!=9);c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){b=c[G>>2]|0;if((y|0)==9){i=+(g|0)*+(b>>>0);break}if((y|0)<9){i=+(g|0)*+(b>>>0)/+(c[63704+(8-y<<2)>>2]|0);break}a=e+27+(S(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63704+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63704+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{B=G+(b<<2)|0;C=c[B>>2]|0;a=((C>>>0)/(p>>>0)|0)+n|0;c[B>>2]=a;n=S(q,(C>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=v6(c[p>>2]|0,0,29)|0;k=w6(k|0,D|0,m|0,0)|0;m=D;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=E6(k|0,m|0,1e9,0)|0;k=J6(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){n=0;while(1){o=n+y&127;if((o|0)==(k|0)){E=2;z=88;break}o=c[G+(o<<2)>>2]|0;p=c[63736+(n<<2)>>2]|0;if(o>>>0<p>>>0){E=2;z=88;break}if(o>>>0>p>>>0)break;n=n+1|0;if((n|0)>=2){E=n;z=88;break}}if((z|0)==88?(z=0,q&(E|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{B=G+(o<<2)|0;C=c[B>>2]|0;a=(C>>>v)+p|0;c[B>>2]=a;p=S(C&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=t*i;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+x3(+w3(1.0,105-n|0),j);r=+y3(j,+w3(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+y3(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+F(+i)>=9007199254740992.0);b=((H^1)&1)+b|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(L1()|0)>>2]=34}while(0);i=+z3(i,b)}while(0);l=J;return +i}function v3(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;e=c[k>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0)c[k>>2]=(c[k>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[k>>2]=(c[k>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=G6(g|0,b|0,10,0)|0;g=D;e=w6(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=w6(e|0,D|0,b|0,g|0)|0;b=D;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));h=e;i=g}else{h=e;i=g}e=c[j>>2]|0;if((h+-48|0)>>>0<10)do{g=c[k>>2]|0;if(g>>>0<e>>>0){c[k>>2]=g+1;g=d[g>>0]|0}else{g=W1(a)|0;e=c[j>>2]|0}}while((g+-48|0)>>>0<10);if(e|0)c[k>>2]=(c[k>>2]|0)+-1;k=(f|0)!=0;e=t6(0,0,i|0,b|0)|0;f=k?D:b;e=k?e:i}D=f;return e|0}function w3(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;b=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((b|0)>-1022?b:-1022):d}}else{a=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;b=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((b|0)<1023?b:1023):e}d=v6(b+1023|0,0,52)|0;e=D;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function x3(a,b){a=+a;b=+b;return +(+e2(a,b))}function y3(a,b){a=+a;b=+b;return +(+A3(a,b))}function z3(a,b){a=+a;b=b|0;return +(+w3(a,b))}function A3(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z6(i|0,l|0,52)|0;e=e&2047;m=z6(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=v6(n|0,o|0,1)|0;k=D;a:do if(!((g|0)==0&(k|0)==0)?(f=B3(b)|0,d=D&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=v6(i|0,l|0,1)|0;f=D;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=v6(i|0,l|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=v6(d|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=v6(i|0,l|0,1-e|0)|0;g=D}else g=l&1048575|1048576;if(!m){f=v6(n|0,o|0,12)|0;k=D;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=v6(f|0,k|0,1)|0;k=D}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=v6(n|0,o|0,1-d|0)|0;m=d;l=D}else l=o&1048575|1048576;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=v6(f|0,d|0,1)|0;g=D;e=e+-1|0;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=v6(f|0,d|0,1)|0;d=D;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=w6(f|0,d|0,0,-1048576)|0;d=D;e=v6(e|0,0,52)|0;d=d|D;e=o|e}else{e=z6(f|0,d|0,1-e|0)|0;d=D}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function B3(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function C3(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=a[b>>0]|0;e=f&255;a:do if(f<<24>>24){g=f;do{f=a[c>>0]|0;if(!(f<<24>>24))break a;if(g<<24>>24!=f<<24>>24?(g=R1(e)|0,(g|0)!=(R1(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;e=g&255}while(g<<24>>24!=0)}while(0);g=R1(e)|0;return g-(R1(d[c>>0]|0)|0)|0}function D3(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function E3(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;H3();c[e>>2]=a;c[e+4>>2]=b;b=K1(Ma(91,e|0)|0)|0;l=d;return b|0}function F3(b,c){b=b|0;c=c|0;b=G3(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function G3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(D3(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=S(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function H3(){return}function I3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?190424:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(J3()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62656+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(L1()|0)>>2]=84;f=-1}l=k;return f|0}function J3(){return N1()|0}function K3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(153613)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153620+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153692)|0;if(d|0?a[d>>0]|0:0)break;d=153697}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=153697;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((f2(k,153697)|0)!=0?(f2(k,153705)|0)!=0:0){d=c[47607]|0;if(d|0)do{if(!(f2(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);Ua(190432);d=c[47607]|0;c:do if(d|0){while(1){if(!(f2(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Ra(190432);break b}while(0);d:do if(((c[47592]|0)==0?(g=Na(153711)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=G3(f,58)|0;d=a[h>>0]|0;g=((d<<24>>24!=0)<<31>>31)+(h-f)|0;if(g>>>0<i>>>0){B6(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;B6(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;g=Oa(n|0,o|0)|0;if(g|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=k6(28)|0;f=c[o>>2]|0;if(!d){E3(g,f)|0;m=41;break}else{c[d>>2]=g;c[d+4>>2]=f;o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d;break}}else m=41;while(0);if((m|0)==41){d=k6(28)|0;if(d){c[d>>2]=c[15652];c[d+4>>2]=c[15653];o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d}}Ra(190432);d=(b|0)==0&(d|0)==0?62608:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62608;break}d=0}while(0);l=p;return d|0}function L3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{Ua(190440);if((b|0)!=6){d=M3(b,d)|0;Ra(190440);break}if(!d){d=197414;b=0}else{b=g;e=153724;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=G3(d,59)|0;e=b-d|0;if((e|0)<16){B6(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}M3(f,g)|0;f=f+1|0}while((f|0)!=6);d=197414;b=0}do{f=c[190400+(b<<2)>>2]|0;f=f|0?f+8|0:153740;g=D3(f)|0;B6(d|0,f|0,g|0)|0;a[d+g>>0]=59;d=d+(g+1)|0;b=b+1|0}while((b|0)!=6);a[d+-1>>0]=0;Ra(190440);d=197414}while(0);l=h;return d|0}function M3(a,b){a=a|0;b=b|0;if(!b)a=c[190400+(a<<2)>>2]|0;else{b=K3(a,b)|0;c[190400+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:153740)|0}function N3(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)f=0;else{g=a[b>>0]|0;f=g&255;a:do if(g<<24>>24){h=g;do{e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(h<<24>>24!=g<<24>>24?(h=R1(f)|0,(h|0)!=(R1(g&255)|0)):0)break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;f=h&255}while(h<<24>>24!=0)}while(0);f=R1(f)|0;f=f-(R1(d[c>>0]|0)|0)|0}return f|0}function O3(a,b){a=a|0;b=b|0;P3(a,b)|0;return a|0}function P3(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Q3(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function R3(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z6(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=S3(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;e=+h[n>>3];a=+h[n+8>>3];if(!o){h[b>>3]=e;h[b+8>>3]=a;break}else{h[b>>3]=-e;h[b+8>>3]=-a;d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function S3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0;I=l;l=l+560|0;C=I+480|0;A=I+320|0;H=I+160|0;F=I;D=c[63744+(f<<2)>>2]|0;q=e+-1|0;z=(d+-3|0)/24|0;z=(z|0)>0?z:0;B=S(z,-24)|0;j=d+-24+B|0;if((D+q|0)>=0){o=D+e|0;m=z-q|0;n=0;while(1){if((m|0)<0)g=0.0;else g=+(c[63760+(m<<2)>>2]|0);h[A+(n<<3)>>3]=g;n=n+1|0;if((n|0)==(o|0))break;else m=m+1|0}}p=(e|0)>0;o=0;while(1){if(p){n=o+q|0;g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(D|0))o=o+1|0;else break}u=(j|0)>0;v=24-j|0;w=23-j|0;x=(e|0)>0;y=(j|0)==0;m=D;a:while(1){g=+h[F+(m<<3)>>3];p=(m|0)>0;if(p){n=m;o=0;while(1){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(o<<2)>>2]=~~(g-k*16777216.0);t=n;n=n+-1|0;g=k+ +h[F+(n<<3)>>3];if((t|0)<=1)break;else o=o+1|0}}g=+w3(g,j);g=g-+E(+(g*.125))*8.0;n=~~g;g=g-+(n|0);do if(!u)if(!y)if(!(g>=.5)){q=0;t=n;break}else{o=2;G=20;break}else{o=c[C+(m+-1<<2)>>2]>>23;G=19;break}else{t=C+(m+-1<<2)|0;o=c[t>>2]|0;G=o>>v;o=o-(G<<v)|0;c[t>>2]=o;o=o>>w;n=G+n|0;G=19}while(0);if((G|0)==19){G=0;if((o|0)>0)G=20;else{q=o;t=n}}if((G|0)==20){G=0;t=n+1|0;if(p){n=0;s=0;do{q=C+(s<<2)|0;r=c[q>>2]|0;if(!n)if(!r)n=0;else{n=1;p=16777216;G=23}else{p=16777215;G=23}if((G|0)==23){G=0;c[q>>2]=p-r}s=s+1|0}while((s|0)!=(m|0))}else n=0;b:do if(u){switch(j|0){case 1:{p=8388607;break}case 2:{p=4194303;break}default:break b}s=C+(m+-1<<2)|0;c[s>>2]=c[s>>2]&p}while(0);if((o|0)==2){g=1.0-g;if(!n)q=2;else{q=2;g=g-+w3(1.0,j)}}else q=o}if(!(g==0.0)){G=42;break}if((m|0)>(D|0)){n=0;o=m;do{o=o+-1|0;n=c[C+(o<<2)>>2]|n}while((o|0)>(D|0));if(n){G=41;break}else n=1}else n=1;while(1)if(!(c[C+(D-n<<2)>>2]|0))n=n+1|0;else break;p=n+m|0;if((n|0)<=0){m=p;continue}while(1){o=m+1|0;n=m+e|0;h[A+(n<<3)>>3]=+(c[63760+(o+z<<2)>>2]|0);if(x){g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(p|0))m=o;else{m=p;continue a}}}if((G|0)==41)while(1){G=0;j=j+-24|0;m=m+-1|0;if(!(c[C+(m<<2)>>2]|0))G=41;else{p=m;break}}else if((G|0)==42){g=+w3(g,0-j|0);if(g>=16777216.0){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(m<<2)>>2]=~~(g-k*16777216.0);j=B+d|0;m=m+1|0;g=k}c[C+(m<<2)>>2]=~~g;p=m}o=(p|0)>-1;if(o){g=+w3(1.0,j);j=p;while(1){h[F+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(o){m=p;while(1){n=p-m|0;j=0;g=0.0;while(1){g=g+ +h[10952+(j<<3)>>3]*+h[F+(j+m<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(n|0))break;else j=j+1|0}h[H+(n<<3)>>3]=g;if((m|0)>0)m=m+-1|0;else break}}}switch(f|0){case 0:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(q|0)==0?g:-g;G=73;break}case 2:case 1:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;m=(q|0)==0;h[b>>3]=m?g:-g;g=+h[H>>3]-g;if((p|0)>=1){j=1;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)==(p|0))break;else j=j+1|0}}i=m?g:-g;b=b+8|0;G=73;break}case 3:{if((p|0)>0){j=p;g=+h[H+(p<<3)>>3];do{G=j;j=j+-1|0;F=H+(j<<3)|0;k=+h[F>>3];i=g;g=k+g;h[H+(G<<3)>>3]=i+(k-g);h[F>>3]=g}while((G|0)>1);m=(p|0)>1;if(m){j=p;g=+h[H+(p<<3)>>3];do{F=j;j=j+-1|0;G=H+(j<<3)|0;k=+h[G>>3];i=g;g=k+g;h[H+(F<<3)>>3]=i+(k-g);h[G>>3]=g}while((j|0)>1);if(m){j=p;i=0.0;do{i=i+ +h[H+(j<<3)>>3];j=j+-1|0}while((j|0)>1)}else i=0.0}else i=0.0}else i=0.0;k=+h[H>>3];g=+h[H+8>>3];if(!q)h[b>>3]=k;else{h[b>>3]=-k;i=-i;g=-g}h[b+8>>3]=g;b=b+16|0;G=73;break}default:{}}if((G|0)==73)h[b>>3]=i;l=I;return t&7|0}function T3(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function U3(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;g=+h[j>>3];f=g*g*(g/a);h[j>>3]=g*(f*(f*f)*(f*.14599619288661245+-.758397934778766)+(f*(f*1.6214297201053545+-1.8849797954337717)+1.87595182427177));d=w6(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=D;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=f+f*((a-f)/(f+f+a))}while(0);return +a}function V3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function W3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;a=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=m-g-k+i*(k+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=g*1.4426950407214463;k=+(e+(f>>>20)|0);i=k+l;a=i+(l+(k-i)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function X3(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+T3(a,0.0,0);h[d>>3]=+Q3(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=R3(a,g)|0;m=g+8|0;e=+T3(+h[g>>3],+h[m>>3],1);a=+Q3(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function Y3(a){a=a|0;var b=0,c=0;c=(D3(a)|0)+1|0;b=k6(c)|0;if(!b)b=0;else B6(b|0,a|0,c|0)|0;return b|0}function Z3(a,b){a=a|0;b=b|0;var c=0;c=D3(a)|0;return ((_3(a,1,c,b)|0)!=(c|0))<<31>>31|0}function _3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=S(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(n2(e)|0)==0;a=L2(a,f,e)|0;if(!g)o2(e)}else a=L2(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function $3(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(a4()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function a4(){return N1()|0}function b4(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(M2(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((eb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function c4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(d4()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62656+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(L1()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function d4(){return N1()|0}function e4(){var a=0,b=0;b=l;l=l+16|0;a=ya(20,b|0)|0;l=b;return a|0}function f4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(w2(153742,a[d>>0]|0,4)|0){f=g4(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=K1(Wa(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0}b=h4(e,d)|0;if(!b){c[h>>2]=e;xa(6,h|0)|0;b=0}}else b=0}else{c[(L1()|0)>>2]=22;b=0}l=i;return b|0}function g4(b){b=b|0;var c=0,d=0,e=0;d=(F3(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(F3(b,120)|0)==0;d=e?d:d|128;b=(F3(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function h4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+40|0;k=o+24|0;j=o+16|0;g=o;m=o+56|0;f=a[d>>0]|0;if(w2(153742,f<<24>>24,4)|0){e=k6(1156)|0;if(!e)e=0;else{h=e;i=h+124|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!(F3(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(F3(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[j>>2]=b;c[j+4>>2]=3;f=ua(221,j|0)|0;if(!(f&1024)){c[k>>2]=b;c[k+4>>2]=4;c[k+8>>2]=f|1024;ua(221,k|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21523,c[n+8>>2]=m,(Qa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=20;c[e+36>>2]=18;c[e+40>>2]=19;c[e+12>>2]=17;if(!(c[47591]|0))c[e+76>>2]=-1;i4(e)|0}}else{c[(L1()|0)>>2]=22;e=0}l=o;return e|0}function i4(a){a=a|0;var b=0,d=0;b=j4()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;k4();return a|0}function j4(){Ua(190448);return 190456}function k4(){Ra(190448);return}function l4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=n2(a)|0;else f=0;$3(a);g=(c[a>>2]&1|0)!=0;if(!g){e=j4()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;k4()}b=m4(a)|0;b=pb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)l6(d);if(g){if(f|0)o2(a)}else l6(a);return b|0}function m4(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=n4(a)|0;break}d=(n2(a)|0)==0;b=n4(a)|0;if(!d)o2(a)}else{if(!(c[15872]|0))b=0;else b=m4(c[15872]|0)|0;a=c[(j4()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=n2(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=n4(a)|0|b;if(d|0)o2(a);a=c[a+56>>2]|0}while((a|0)!=0);k4()}while(0);return b|0}function n4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)eb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function o4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)l=n2(f)|0;else l=0;h=e+-1|0;g=(h|0)!=0;if((e|0)<2){m=f+74|0;k=a[m>>0]|0;a[m>>0]=k+255|k;if(l|0)o2(f);if(g)b=0;else a[b>>0]=0}else{a:do if(g){j=f+4|0;k=f+8|0;e=b;while(1){g=c[j>>2]|0;o=g;p=(c[k>>2]|0)-o|0;n=w2(g,10,p)|0;i=(n|0)==0;n=i?p:1-o+n|0;n=n>>>0<h>>>0?n:h;B6(e|0,g|0,n|0)|0;g=(c[j>>2]|0)+n|0;c[j>>2]=g;e=e+n|0;h=h-n|0;if(!(i&(h|0)!=0)){m=17;break a}if(g>>>0>=(c[k>>2]|0)>>>0){g=Y1(f)|0;if((g|0)<0)break}else{c[j>>2]=g+1;g=d[g>>0]|0}h=h+-1|0;i=e+1|0;a[e>>0]=g;if(!((h|0)!=0&(g&255|0)!=10)){e=i;m=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)m=17;else b=0}else{e=b;m=17}while(0);if((m|0)==17)if(!b)b=0;else a[e>>0]=0;if(l)o2(f)}return b|0}function p4(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function q4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r4(a,b,f)|0;l=e;return d|0}function r4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=44;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=t4(e,b,d)|0;l=g;return h|0}function s4(a,b,c){a=a|0;b=b|0;c=c|0;return x4(a,b,c)|0}function t4(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+288|0;K=Q+8|0;L=Q+17|0;M=Q;N=Q+16|0;if((c[b+76>>2]|0)>-1)P=n2(b)|0;else P=0;i=a[e>>0]|0;a:do if(i<<24>>24){z=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;E=L+10|0;F=L+33|0;y=K+4|0;G=L+46|0;H=L+94|0;I=L+1|0;J=L+1|0;m=e;u=0;e=0;k=0;j=0;b:while(1){c:do if(!(X1(i&255)|0)){i=i<<24>>24==37;d:do if(i){p=m+1|0;n=a[p>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{x=0;m=m+2|0;break}default:{i=(n&255)+-48|0;if(i>>>0<10?(a[m+2>>0]|0)==36:0){x=u4(f,i)|0;m=m+3|0;break e}m=(c[f>>2]|0)+(4-1)&~(4-1);x=c[m>>2]|0;c[f>>2]=m+4;m=p}}while(0);i=a[m>>0]|0;n=i&255;if((n+-48|0)>>>0<10){p=0;do{p=(p*10|0)+-48+n|0;m=m+1|0;i=a[m>>0]|0;n=i&255}while((n+-48|0)>>>0<10)}else p=0;i=i<<24>>24==109;w=(x|0)!=0;k=i?0:k;j=i?0:j;m=i?m+1|0:m;i=w&i;n=m+1|0;switch(a[m>>0]|0){case 104:{v=(a[n>>0]|0)==104;q=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;q=v?3:1;m=v?m+2|0:n;break}case 106:{q=3;m=n;break}case 116:case 122:{q=1;m=n;break}case 76:{q=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{q=0;break}default:{O=137;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:q;r=s&255;switch(r<<24>>24){case 99:{p=(p|0)>1?p:1;break}case 91:break;case 110:{v4(x,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{U1(b,0);do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0}while((X1(n)|0)!=0);if(!(c[A>>2]|0))n=c[z>>2]|0;else{n=(c[z>>2]|0)+-1|0;c[z>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}U1(b,p);n=c[z>>2]|0;q=c[A>>2]|0;if(n>>>0<q>>>0)c[z>>2]=n+1;else{if((W1(b)|0)<0){O=137;break b}q=c[A>>2]|0}if(q|0)c[z>>2]=(c[z>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{v=(s|0)==99;g:do if((s|16|0)==115){u6(I|0,-1,256)|0;a[L>>0]=0;if((s|0)==115){a[F>>0]=0;a[E>>0]=0;a[E+1>>0]=0;a[E+2>>0]=0;a[E+3>>0]=0;a[E+4>>0]=0}}else{n=m+1|0;s=(a[n>>0]|0)==94;r=s&1;m=s?m+2|0:n;u6(J|0,s&1|0,256)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{n=G;O=64;break}case 93:{n=H;O=64;break}default:s=(r^1)&255}if((O|0)==64){O=0;s=(r^1)&255;a[n>>0]=s;m=m+1|0}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=137;break b}case 93:break g;case 45:{r=m+1|0;n=a[r>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=s;n=a[r>>0]|0}while((m|0)<(n&255|0));m=r}else m=r;break}default:{}}while(0);a[L+((n&255)+1)>>0]=s;m=m+1|0}}while(0);n=v?p+1|0:31;s=(t|0)==1;i:do if(s){if(i){j=k6(n<<2)|0;if(!j){k=0;j=0;i=1;O=137;break b}}else j=x;c[K>>2]=0;c[y>>2]=0;r=n;k=0;j:while(1){q=(j|0)==0;do{k:while(1){n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0))break j;a[N>>0]=n;switch(I3(M,N,1,K)|0){case -1:{k=0;O=137;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(i&(k|0)==(r|0)));k=r<<1|1;n=n6(j,k<<2)|0;if(!n){k=0;i=1;O=137;break b}else{t=r;r=k;j=n;k=t}}if(!(w4(K)|0)){k=0;O=137;break b}else{n=k;k=0;r=j}}else{if(i){k=k6(n)|0;if(!k){k=0;j=0;i=1;O=137;break b}else{q=n;j=0}while(1){do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0)){n=j;r=0;j=0;break i}a[k+j>>0]=n;j=j+1|0}while((j|0)!=(q|0));j=q<<1|1;n=n6(k,j)|0;if(!n){j=0;i=1;O=137;break b}else{t=q;q=j;k=n;j=t}}}if(!x){k=q;while(1){j=c[z>>2]|0;if(j>>>0<k>>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){n=0;k=0;r=0;j=0;break i}k=c[A>>2]|0}}else{n=0;k=q;while(1){j=c[z>>2]|0;if(j>>>0<k>>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){k=x;r=0;j=0;break i}a[x+n>>0]=j;n=n+1|0;k=c[A>>2]|0}}}while(0);if(!(c[A>>2]|0))q=c[z>>2]|0;else{q=(c[z>>2]|0)+-1|0;c[z>>2]=q}q=q-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!q){O=139;break b}if(!((q|0)==(p|0)|v^1)){O=139;break b}do if(i)if(s){c[x>>2]=r;break}else{c[x>>2]=k;break}while(0);if(!v){if(r|0)c[r+(n<<2)>>2]=0;if(!k){k=0;break f}a[k+n>>0]=0}break}case 120:case 88:case 112:{n=16;O=125;break}case 111:{n=8;O=125;break}case 117:case 100:{n=10;O=125;break}case 105:{n=0;O=125;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+s3(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(x)switch(t|0){case 0:{g[x>>2]=o;break f}case 1:{h[x>>3]=o;break f}case 2:{h[x>>3]=o;break f}default:break f}break}default:{}}while(0);do if((O|0)==125){O=0;n=V1(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(w&(s|0)==112){c[x>>2]=n;break}else{v4(x,t,n,D);break}}while(0);e=(w&1)+e|0;n=(c[B>>2]|0)+u+(c[z>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=m+(i&1)|0;U1(b,0);i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|0)!=(d[m>>0]|0)){O=22;break b}n=u+1|0}else{while(1){i=m+1|0;if(!(X1(d[i>>0]|0)|0))break;else m=i}U1(b,0);do{i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);if(!(c[A>>2]|0))i=c[z>>2]|0;else{i=(c[z>>2]|0)+-1|0;c[z>>2]=i}n=(c[B>>2]|0)+u+i-(c[C>>2]|0)|0}while(0);m=m+1|0;i=a[m>>0]|0;if(!(i<<24>>24))break a;else u=n}if((O|0)==22){if(c[A>>2]|0)c[z>>2]=(c[z>>2]|0)+-1;if((e|0)!=0|(i|0)>-1)break;else{i=0;O=138}}else if((O|0)==137){i=i&1;if(!e)O=138}else if((O|0)==139)i=i&1;if((O|0)==138)e=-1;if(i){l6(k);l6(j)}}else e=0;while(0);if(P|0)o2(b);l=Q;return e|0}function u4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function v4(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function w4(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function x4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=w2(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;B6(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function y4(a,b,c){a=a|0;b=b|0;c=c|0;return A4(a,b,c)|0}function z4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=l2(a,b,f)|0;l=e;return d|0}function A4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(n2(a)|0)==0;b=B4(a,b,d)|0;if(!e)o2(a)}else b=B4(a,b,d)|0;return b|0}function B4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((eb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function C4(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=F3(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=D4(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=E4(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=F4(b,c)|0;break}else{b=G4(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function D4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){b=0;break}f=e&255|f<<8&65280;if((f|0)==(g|0))break;else b=c}return b|0}function E4(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24!=0;if(!((b|0)==(f|0)|c^1))do{e=e+1|0;c=a[e>>0]|0;b=(c&255|b)<<8;c=c<<24>>24!=0}while(!((b|0)==(f|0)|c^1));return (c?e+-2|0:0)|0}function F4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;g=a[c>>0]|0;e=g&255|((d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8);b=g<<24>>24!=0;if(!((e|0)==(f|0)|b^1))do{c=c+1|0;b=a[c>>0]|0;e=b&255|e<<8;b=b<<24>>24!=0}while(!((e|0)==(f|0)|b^1));return (b?c+-3|0:0)|0}function G4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;f=e;e=e&255;while(1){if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((f&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(f&31);s=s+1|0;c[u+(e<<2)>>2]=s;e=a[d+s>>0]|0;if(!(e<<24>>24))break;else{f=e;e=e&255}}m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){h=n;g=m;i=27;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){h=n;f=1;i=27;break}else{h=g+1|0;m=g}}}else{h=n;f=1;g=-1;i=27}}else{h=1;e=-1;f=1;g=-1;i=27}}else{h=1;e=-1;s=0;f=1;g=-1;i=27}while(0);e:do if((i|0)==27){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:h;q=q?g:e;r=q+1|0;if(!(g2(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=w2(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function H4(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=K1(Pa(33,e|0)|0)|0;l=d;return b|0}function I4(a,b){a=a|0;b=b|0;return J4(a,b,(D3(a)|0)+1|0)|0}function J4(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function K4(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(L1()|0)>>2]=12;a=-1;break}if(e&16|0)H3();h=z6(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=K1(Ga(192,i|0)|0)|0}else{c[(L1()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function L4(a){a=a|0;return M4(a)|0}function M4(a){a=a|0;return L6(a|0)|0}function N4(a,b,c){a=a|0;b=b|0;c=c|0;O4(a,b,c)|0;return a|0}function O4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);u6(b|0,0,e|0)|0;return b|0}function P4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function Q4(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=G6((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=w6(d|0,D|0,e[c+6>>1]|0|0,0)|0;d=D;b[a>>1]=c;a=z6(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;D=d&65535;return c|0}function R4(a){a=a|0;var b=0;b=Q4(a,66122)|0;b=v6(b|0,D|0,4)|0;a=D|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function S4(){return +(+R4(66116))}function T4(a){a=a|0;var b=0;b=186776;c[b>>2]=a+-1;c[b+4>>2]=0;return}function U4(){var a=0,b=0,d=0;b=186776;b=G6(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=w6(b|0,D|0,1,0)|0;a=D;d=186776;c[d>>2]=b;c[d+4>>2]=a;a=z6(b|0,a|0,33)|0;return a|0}function V4(a){a=a|0;b[97016]=b[33058]|0;b[97017]=b[33059]|0;b[97018]=b[33060]|0;b[33058]=b[a>>1]|0;b[33059]=b[a+2>>1]|0;b[33060]=b[a+4>>1]|0;return 194032}function W4(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;V4(d)|0;l=c;return}function X4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;i=v;t=Y4()|0;a:do if(!t)b=12;else{u=Z4(0,0)|0;if(!u){_4(t);b=12;break}e=i+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[i>>2]=u;c[i+4>>2]=t;c[i+16>>2]=b;c[i+32>>2]=d;e=i+28|0;c[e>>2]=-1;b=$4(i)|0;b:do if(!b){h=i+20|0;f=c[h>>2]|0;c[a>>2]=f+-1;j=c[i+8>>2]|0;b=c[e>>2]|0;if((b|0)<(f|0)){g=m6(1,68)|0;if(g){r=b>>>31^1;c[g+60>>2]=r;c[g+28>>2]=f;if((d&8|0)==0|(r|0)!=0){b=a5(0,t,j,g)|0;if(b|0){h=0;i=0;f=0;e=0;break}f=c[g+40>>2]|0;if((f|0)>0){b=(f<<2)+4|0;e=k6(b)|0;if(!e){h=0;i=0;b=12;f=0;e=0;break}c[g+32>>2]=e;u6(e|0,-1,b|0)|0}else e=0;r=m6(f<<1|1,4)|0;c[g+36>>2]=r;if(!r){h=0;i=0;b=12;f=0;e=0;break}b=m6(c[h>>2]|0,12)|0;if(!b){h=0;i=0;b=12;f=0;e=0;break}c[g+16>>2]=b;b=a5(u,t,j,g)|0;if(!b)b=e;else{h=0;i=0;f=0;e=0;break}}else b=0;r=i+24|0;b=b5(u,t,j,r,b)|0;if(!b){b=c[r>>2]|0;c[r>>2]=b+1;b=c5(u,0,0,b)|0;if((b|0)!=0?(s=d5(u,j,b)|0,(s|0)!=0):0){b=e5(u,t,s)|0;if(!b){e=c[r>>2]|0;b=e<<2;p=k6(b)|0;if(p){q=k6(b)|0;if(q){if((e|0)>0)u6(p|0,0,e<<2|0)|0;f5(s,0,p,0)|0;f=c[r>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;o=p+(e<<2)|0;b=b+1+(c[o>>2]|0)|0;c[o>>2]=0;e=e+1|0}while((e|0)<(f|0));m=b}else m=0;n=m6(m+1|0,32)|0;if(n){c[g>>2]=n;o=g+4|0;c[o>>2]=m;b=f5(s,n,p,q)|0;if(!b){c[g+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}k=m6(e,32)|0;if(!k){h=p;i=q;b=12;f=p;e=q}else{c[g+8>>2]=k;b=c[f>>2]|0;e=c[b>>2]|0;if((e|0)>-1){j=b;b=0;do{c[k+(b<<5)+8>>2]=n+(c[q+(e<<2)>>2]<<5);c[k+(b<<5)+12>>2]=e;h=k+(b<<5)+16|0;c[h>>2]=0;i=j+12|0;f=c[i>>2]|0;if(f|0){e=0;do{w=e;e=e+1|0}while((c[f+(w<<2)>>2]|0)>-1);e=e<<2;f=k6(e)|0;c[h>>2]=f;if(!f){h=p;i=q;b=12;f=p;e=q;break b}B6(f|0,c[i>>2]|0,e|0)|0}c[k+(b<<5)+20>>2]=c[j+16>>2];b=b+1|0;j=j+32|0;e=c[j>>2]|0}while((e|0)>-1)}else b=0;c[k+(b<<5)+8>>2]=0;c[o>>2]=m;c[g+12>>2]=n+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[g+52>>2]=c[r>>2];c[g+56>>2]=d;g5(u);_4(t);l6(p);l6(q);c[a+4>>2]=g;b=0;break a}}else{h=p;i=q;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=0}}else{h=p;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);g5(u);_4(t);if(h|0)l6(f);if(i|0)l6(e);c[a+4>>2]=g;h5(a)}while(0);l=v;return b|0}function Y4(){var a=0,b=0;a=k6(20)|0;do if(a){b=k6(2048)|0;c[a+16>>2]=b;if(!b){l6(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function Z4(a,b){a=a|0;b=b|0;if(!a)b=m6(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}return b|0}function _4(a){a=a|0;l6(c[a+16>>2]|0);l6(a);return}function $4(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v+4|0;r=v;s=c[b+32>>2]&1;t=b+16|0;e=c[t>>2]|0;u=c[b+4>>2]|0;d=l5(u,0)|0;a:do if(!d){n=(s|0)!=0;o=b+8|0;p=b+12|0;m=n^1;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(n){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=c5(c[b>>2]|0,-1,-1,-1)|0;c[o>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=B5(b,e)|0;if(d|0)break a;i=f;e=c[p>>2]|0}while(1){d:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!n)break d;switch(d<<24>>24){case 123:case 63:case 43:break;default:break d}}}d=d<<24>>24==92;if(n&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break d}e=d?f:e;if((!n?(e|0)==((c[t>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=C5(e+1|0,s,q,r)|0;if(!e){j=28;break b}d=c[r>>2]|0;f=c[b>>2]|0;if(!d)d=c5(f,-1,-1,-1)|0;else j=36}else{c[q>>2]=0;c[r>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[q>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[r>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=w5(f,c[o>>2]|0,c[q>>2]|0,d,0)|0}c[o>>2]=d;if(!d){d=12;break a}}g=d5(c[b>>2]|0,g,c[o>>2]|0)|0;f=a[e>>0]|0;do if(!n)if(f<<24>>24==92)if((a[e+1>>0]|0)==41){d=x5(c[b>>2]|0,i,g)|0;j=49}else{d=92;j=44}else{d=f;j=46}else{if(f<<24>>24!=124)if((h|0)!=0&f<<24>>24==41)f=41;else{d=f;j=44;break}else f=124;d=x5(c[b>>2]|0,i,g)|0;j=50}while(0);if((j|0)==44)if(d<<24>>24==92&m)if((a[e+1>>0]|0)==124)j=48;else{f=i;continue c}else j=46;if((j|0)==46)if(!(d<<24>>24))j=48;else{f=i;continue c}if((j|0)==48){d=x5(c[b>>2]|0,i,g)|0;if(f<<24>>24==92)j=49;else j=50}if((j|0)==49){j=0;if((a[e+1>>0]|0)==124){f=2;break}if(!h){d=8;break a}e=e+2|0;f=92}else if((j|0)==50){j=0;if(f<<24>>24==124){f=1;break}e=f<<24>>24==41?e+1|0:e}d=D5(b,d,m5(u)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=56;break b}if(f|d){d=8;break a}g=n5(u)|0;h=h+-1|0;i=n5(u)|0}g=0;e=e+f|0;f=d}d=k5(u,f)|0;if(d|0)break a;d=k5(u,g)|0;if(d|0)break a;d=l5(u,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=n?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==56){c[b+20>>2]=k;d=0;break}}while(0);l=v;return d|0}function a5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=j5(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}h=c[f+28>>2]|0;z=k6((h<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=k6((h<<2)+4|0)|0;if(!A){l6(z);g=12;break}c[A>>2]=-1;g=0;while(1)if(g>>>0>h>>>0)break;else g=g+1|0;k5(d,e)|0;g=l5(d,0)|0;a:do if((g|0)!=0|(j5(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(m5(d)|0){case 6:{i=m5(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=n5(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;i=(c[w>>2]|0)+(j*12|0)+8|0;c[i>>2]=0;if((g|0)>0){g=k6((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[i>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=l5(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=l5(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=k5(d,q)|0;if(!g){g=l5(d,5)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){i=k+20|0;g=l5(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=(i&1)+t|0}else{g=-1;i=t}g=l5(d,g)|0;if(!g){g=l5(d,4)|0;if(!g){g=k5(d,k)|0;if(!g){p=i;g=l5(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=l5(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=l5(d,m)|0;if(g|0){p=t;o=s;break c}g=l5(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=k5(d,q)|0;if(!g){g=l5(d,1)|0;if(!g){g=k5(d,c[i>>2]|0)|0;if(!g){g=l5(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=l5(d,i?p:t)|0;if(!g){g=l5(d,i?t:m)|0;if(!g){g=k5(d,e)|0;if(!g){g=l5(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=k5(d,q)|0;if(!g){g=k5(d,j)|0;if(!g){g=k5(d,k)|0;if(!g){g=l5(d,3)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){g=l5(d,2)|0;if(g|0){p=t;o=s;break c}g=k5(d,k)|0;if(g|0){p=t;o=s;break c}g=l5(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=n5(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(m5(d)|0)+i;i=0;l=-1}else{q=m5(d)|0;r=m5(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=m5(d)|0;j=m5(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=n5(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=n5(d)|0;o=n5(d)|0;g=n5(d)|0;e=m5(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=n5(d)|0;i=m5(d)|0;k=m5(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=A5(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=A5(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(j5(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(z5(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;l6(z);l6(A)}while(0);return g|0}function b5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;w=y+8|0;x=y+4|0;u=y;v=j5(b)|0;c[t>>2]=0;c[w>>2]=0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d){b:do if((j5(b)|0)>(v|0)){g=0;i=0;j=0;c:while(1){q=m5(b)|0;r=n5(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[w>>2]|0)){d=j;break d}c[w>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=l5(b,j)|0;if(d|0)break b;d=k5(b,r)|0;if(d|0)break b;d=l5(b,1)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=l5(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=m5(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[x>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[x>>2]=0;s=30}e:do if((s|0)==30){d=v5(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,u,w)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[u>>2]|0;if(!h)h=d;else h=d5(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=v5(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,u,w)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,x,w)|0;if(d|0)break c;j=w5(a,c[x>>2]|0,0,-1,0)|0;c[x>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;do{m=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,u,w)|0;if(d|0){g=j;s=48;break c}d=c[u>>2]|0;if(!j)j=d;else j=d5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}d=c5(a,-1,-1,-1)|0;if(!d){d=12;g=j;s=48;break c}j=x5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}k=k+1|0}while((k|0)<(c[n>>2]|0));c[x>>2]=j;d=m}else j=0;c[t>>2]=d;if(h){if(j){h=d5(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((j5(b)|0)>(v|0))j=d;else{d=0;break b}}if((s|0)!=34)if((s|0)==48)c[x>>2]=g;break a}else{d=0;g=0}while(0);x=(c[e>>2]|0)+g|0;w=c[w>>2]|0;c[e>>2]=(w|0)>(x|0)?w:x}}while(0);l=y;return d|0}function c5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=s5(a,0,0,1,20)|0;a=u5(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function d5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function e5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=j5(b)|0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d)if((j5(b)|0)>(m|0)){b:while(1){h=m5(b)|0;i=n5(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=o5(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=p5(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=p5(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=o5(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,1)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 1:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,2)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 2:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,3)|0;if(d|0)break a;d=k5(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=q5(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=q5(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=q5(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=q5(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((j5(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)l6(e);else if((n|0)==52)l6(e)}else d=0}while(0);l=o;return d|0}function f5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=i5(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=f5(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=i5(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=f5(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function g5(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{l6(c[b>>2]|0);d=b;b=c[b+4>>2]|0;l6(d)}while((b|0)!=0);l6(a);return}function h5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){l6(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){l6(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)l6(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)l6(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}l6(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){l6(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}l6(a)}a=c[h+32>>2]|0;if(a|0)l6(a);a=c[h+20>>2]|0;if(a|0)l6(a);a=c[h+36>>2]|0;if(a|0)l6(a);l6(h)}return}function i5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}n=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=n+8|0;if(!(c[h>>2]|0))break;else n=n+32|0}c[n+40>>2]=0;c[n>>2]=c[p>>2];c[n+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[n+12>>2]=o;h=c[s>>2]|0;m=c[t>>2]|0;e=(m|0)!=0;i=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(e?8:0);j=n+20|0;c[j>>2]=i;k=c[u>>2]|0;l=n+24|0;if((k|0)>-1){c[l>>2]=k;c[j>>2]=i|256}else c[l>>2]=h;if(e){h=0;do{l=h;h=h+1|0}while((c[m+(l<<2)>>2]|0)!=0);h=k6(h<<2)|0;c[n+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}else c[n+28>>2]=0;e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=n+16|0;i=c[j>>2]|0;if(i|0)l6(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=k6((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}i=c[v>>2]|0;if((i|0)!=0?(w=c[i>>2]|0,(w|0)>-1):0){h=0;e=w;do{c[n+(h<<2)>>2]=e;h=h+1|0;e=c[i+(h<<2)>>2]|0}while((e|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=40;break}}}else y=40;while(0);if((y|0)==40){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function j5(a){a=a|0;return c[a+12>>2]|0}function k5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function l5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function m5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function n5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function o5(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=s5(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function p5(a){a=a|0;a=s5(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function q5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=s5(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;k=c[l>>2]|0;h=(k|0)==0;if(o&h)h=0;else{if(h)j=0;else{j=0;while(1)if((c[k+(j<<2)>>2]|0)>-1)j=j+1|0;else break}h=s5(a,0,0,0,(j+n<<2)+4|0)|0;if(!h){g=0;break a}if((j|0)>0){l=c[l>>2]|0;k=0;do{c[h+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}else j=0;if(m){l=0;k=j;while(1){c[h+(k<<2)>>2]=c[e+(l<<2)>>2];k=l+1|0;if((k|0)==(n|0))break;else{l=k;k=k+j|0}}j=n+j|0}c[h+(j<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];k=d+(m<<5)+12|0;h=c[k>>2]|0;if(!h)h=0;else{i=0;while(1){j=i+1|0;if((c[h+(i<<2)>>2]|0)>-1)i=j;else break}h=s5(a,0,0,0,j<<2)|0;if(!h){g=0;break a}if((i|0)>0){k=c[k>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function r5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=j5(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=k5(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((j5(a)|0)>(o|0))while(1){b=n5(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=k5(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=k5(a,k)|0,g|0):0)break a;if((j5(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function s5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=a+16|0;a:do if(!(c[h>>2]|0)){j=a+12|0;g=c[j>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;d=0;break a}else{b=a+8|0;c[b>>2]=d;g=1024;break}else{g=f<<3;g=g>>>0>1024?g:1024;i=k6(8)|0;if(!i){c[h>>2]=1;d=0;break a}d=k6(g)|0;c[i>>2]=d;if(!d){l6(i);c[h>>2]=1;d=0;break a}c[i+4>>2]=0;b=a+4|0;h=c[b>>2]|0;if(h|0)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[b>>2]=i;b=a+8|0;c[b>>2]=d}while(0);c[j>>2]=g;h=b}else{d=a+8|0;h=d;d=c[d>>2]|0}b=d+f&3;b=((b|0)==0?0:4-b|0)+f|0;c[h>>2]=d+b;c[j>>2]=g-b;if(e)u6(d|0,0,b|0)|0}else d=0;while(0);return d|0}function t5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=n6(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];t5(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function u5(a,b,d){a=a|0;b=b|0;d=d|0;a=s5(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function v5(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=j5(d)|0;k5(d,e)|0;e=l5(d,0)|0;a:do if(!e){r=(f&1|0)==0;q=(f&2|0)!=0;o=0;p=1;e=i;while(1){if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(m5(d)|0){case 1:{i=7;break c}case 0:{e=n5(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((j5(d)|0)<=(s|0)){f=o;e=0;break a}}if((i|0)==7)e=n5(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=w5(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;k=c[m+8>>2]|0;i=c[m>>2]|0;e=c[m+4>>2]|0;if(!((i|0)>-1|(i|0)==-4)){f=(i|0)==-3;if(r|f^1)if(f)if(q&(p|0)!=0){c[h+(e<<2)>>2]=1;i=-3;l=k;f=o;k=0}else{i=-3;l=k;f=o;k=p}else{l=k;f=o;k=p}else{e=-1;i=-1;l=-1;f=o;k=p}}else{l=(c[g>>2]|0)+k|0;f=o+1|0;k=p}e=c5(b,i,e,l)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((l|0)>(c[j>>2]|0)){c[j>>2]=l;l=f;f=n}else{l=f;f=n}}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=x5(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,m+4|0)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;f=m;e=l5(d,0)|0}else if((i|0)==26){l=c[e+4>>2]|0;i=l+4|0;e=d5(b,c[l>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,k)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[l>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;e=l5(d,0)|0}if(!e){o=l;p=k;e=f}else{f=l;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function w5(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=s5(b,0,0,1,16)|0;b=u5(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function x5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function y5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function z5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function A5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function B5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=F5(b,d+1|0)|0;break}case 92:{e=d+1|0;f=G5(e)|0;if(f|0){e=B5(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=c5(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=c5(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=c5(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=c5(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=H5(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=c5(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=c5(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{g=b+24|0;e=c[g>>2]|0;c[g>>2]=e+1;f=c[b>>2]|0;if(h&4){f=c5(f,0,9,e)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=c5(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=x5(c[b>>2]|0,f,e)|0;else e=0}else e=c5(f,0,1114111,e)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=c5(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=c5(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=c4(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((a3(c[j>>2]|0)|0)==0?(Y2(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=g3(c[j>>2]|0)|0;g=g3(c[j>>2]|0)|0;f=b+24|0;g=c5(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=c3(c[j>>2]|0)|0;d=c3(c[j>>2]|0)|0;d=c5(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=x5(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=c5(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function C5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=E5(b,i)|0;if((a[b>>0]|0)==44){b=E5(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function D5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=c5(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=d5(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function E5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[d>>2]=-1;if(((a[b>>0]|0)+-48|0)>>>0<10){c[d>>2]=0;e=b;g=0;f=a[b>>0]|0;while(1){g=(g*10|0)+-48+(f<<24>>24)|0;c[d>>2]=g;b=e+1|0;f=a[b>>0]|0;if((g|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else e=b}}return b|0}function F5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=k6(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=I5(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){k3(c[r>>2]|0,c[h>>2]|0,4,111);d=K5(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=s5(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}B6(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){i=c[n+(k<<2)>>2]|0;g=c[i>>2]|0;h=i+4|0;do if(!p){j=(c[h>>2]|0)+1|0;if((g|0)>(d|0)){c[i>>2]=d;c[h>>2]=g+-1;d=j;q=14;break}else{d=(j|0)>=(d|0)?j:d;break}}else q=14;while(0);if((q|0)==14){q=0;c[i+8>>2]=c[o>>2];c[i+16>>2]=f;j=u5(c[b>>2]|0,0,i)|0;e=x5(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);l6(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function G5(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[64024+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[64024+(b<<3)+4>>2]|0}function H5(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function I5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=c4(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}g=g+1|0;if((g|0)>=14){s=16;break b}}B6(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=h3(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=c4(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=K5(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(L5(e,m,g)|0)!=0:0){g=12;break a}}j=c4(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function J5(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function K5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=n6(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=s5(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function L5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(Y2(b)|0)){if(!(a3(b)|0)){b=b+1|0;break}f=c3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((c3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=g3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((g3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=K5(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function M5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=k6(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=O5(i,b,g,f,k)|0;else a=N5(i,b,g,f,k)|0;if(!a)P5(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)l6(d)}l=n;return a|0}function N5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;U=W;c[U>>2]=0;o=e&1;S=e&2;T=a+56|0;n=c[T>>2]&4;V=Z4(0,0)|0;a:do if(V){p=s5(V,0,0,0,32)|0;if(!p){g5(V);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;R=a+40|0;q=c[R>>2]|0;if(q){e=k6(q<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=k6(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}Q=a+52|0;e=c[Q>>2]|0;if(e){e=k6(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}M=a+8|0;N=a+12|0;O=(d|0)!=0;P=a+32|0;J=(n|0)!=0;K=(d|0)==0;L=(o|0)==0;I=(o|0)==0;s=b;e=1;r=-1;v=-1;n=q;B=0;c:while(1){if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!K){c[d+(o<<2)>>2]=-1;n=c[R>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[Q>>2]|0;if((n|0)>0)u6(g|0,0,n<<2|0)|0;G=e+r|0;e=c4(U,s,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=s+e|0;H=c[U>>2]|0;n=c[M>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[U>>2]|0,!((E|S|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(R2(B)|0){q=t;break d}o=c[U>>2]|0;if((o|0)==95)break;if(!(R2(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[U>>2]|0;if((o|0)==95){q=t;break}}else{E=(R2(B)|0)==0;o=c[U>>2]|0;if(E|(o|0)==95){q=t;break}}if(R2(o)|0){q=t;break}o=c[r>>2]|0}q=c[U>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x){o=q;q=1}else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){q=t;break d}else break;else if(q^(R2(o)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[U>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(R2(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=s5(V,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=s5(V,0,0,0,c[R>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[R>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=170;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=170}e:while(1){if((C|0)==79){if((w|0)==(c[N>>2]|0)){if((v|0)>=(s|0)){if(!(O&(v|0)==(s|0))){n=x;C=170;continue}if(!(R5(c[R>>2]|0,c[P>>2]|0,j,d)|0)){n=x;C=170;continue}}if(!O){v=s;n=x;C=170;continue}if((c[R>>2]|0)>0)n=0;else{v=s;n=x;C=170;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[R>>2]|0)){v=s;n=x;C=170;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;P5(o+1|0,m,c[T>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(h2(b+E|0,r+-1|0,o)|0){n=x;C=170;continue}E=(o|0)==0;n=E&1;q=k+(c[w+12>>2]<<2)|0;if(E?c[q>>2]|0:0){n=x;C=170;continue}c[q>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[U>>2]|0;n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[U>>2]|0;if(!q){n=x;C=170;continue}n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=170;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&L;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[U>>2]|0,!((x|S|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(R2(q)|0)break f;e=c[U>>2]|0;if((e|0)==95)break;if(!(R2(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[U>>2]|0;if((e|0)==95)break f}else{x=(R2(q)|0)==0;e=c[U>>2]|0;if(x|(e|0)==95)break f}if(R2(e)|0)break f;e=c[r>>2]|0}o=c[U>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(R2(q)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(R2(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[U>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(R2(q)|0)!=0;e=c[U>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(R2(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[T>>2]&2|0)break;if(!(W2(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[T>>2]&2))break;x=c3(q)|0;e=w+24|0;if(W2(x,c[e>>2]|0)|0)break;x=g3(q)|0;if(!(W2(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(Q5(c[w+28>>2]|0,q,c[T>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=s5(V,0,0,0,32)|0;if(!e){C=144;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=s5(V,0,0,0,c[R>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=151;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[R>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=170;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==170){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[U>>2]=c[p+16>>2];q=c[R>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[U>>2]|0)==0){C=179;break}c[U>>2]=H;s=F;r=G;n=c[R>>2]|0;B=H}if((C|0)==53){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==60){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==144){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==151){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==179){c[f>>2]=v;e=(n^1)&1;break}}while(0);g5(V);if(j|0)l6(i);if(m|0)l6(h);if(k)l6(g)}else e=12;while(0);l=W;return e|0}function O5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+16|0;U=X;c[U>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)O=0;else O=c[a+40>>2]|0;P=O<<2;i=c[a+52>>2]|0;h=i<<3;g=h+8|0;e=P+12+h+(g+(S(P,i)|0)<<1)|0;V=k6(e)|0;if(!V)e=12;else{u6(V|0,0,e|0)|0;e=V+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;N=e&3;N=e+((N|0)==0?0:4-N|0)|0;e=N+h|0;g=e&3;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[N+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=c4(U,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;W=11}else{i=e;W=11}a:do if((W|0)==11){M=a+8|0;H=(j|0)!=0;I=(O|0)>0;J=a+12|0;K=a+44|0;L=a+32|0;E=a+36|0;F=(O|0)==0;G=(k|0)==0;D=(O|0)<1;C=(k|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=V;x=m;w=n;while(1){if((e|0)<0){k=c[M>>2]|0;a=k+8|0;b:do if(c[a>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=H&(h|0)==10;s=(u|0)<1&G;while(1){c:while(1){o=k+12|0;if((c[N+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=k+20|0;b=c[n>>2]|0;if(!b){W=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[U>>2]|0,!((B|Q|0)==0|H&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(R2(h)|0)break d;b=c[U>>2]|0;if((b|0)==95)break;if(!(R2(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[U>>2]|0;if((b|0)==95)break}else{B=(R2(h)|0)==0;b=c[U>>2]|0;if(B|(b|0)==95)break}if(R2(b)|0)break;b=c[n>>2]|0}m=c[U>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(R2(h)|0)!=0;m=c[U>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(R2(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){W=46;break c}b=c[U>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(m){W=46;break c}else break;else if(m^(R2(b)|0)!=0)break;else{W=46;break c}}while(0);a=k+40|0;if(!(c[a>>2]|0))break b;else k=k+32|0}if((W|0)==46){W=0;c[g>>2]=c[a>>2];if(I)u6(c[g+4>>2]|0,-1,P|0)|0;a=c[k+16>>2]|0;if(a|0?(T=c[a>>2]|0,(T|0)>-1):0){m=g+4|0;b=T;do{if((b|0)<(O|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}a=(c[g>>2]|0)!=(c[J>>2]|0);if(a|D){j=a?j:1;e=a?e:u;a=g+4|0}else{a=g+4|0;j=c[a>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(O|0));j=1;e=u}B=c[o>>2]|0;c[N+(B<<3)>>2]=u;c[N+(B<<3)+4>>2]=a;g=g+8|0}a=k+40|0;if(!(c[a>>2]|0))break;else k=k+32|0}}while(0);c[g>>2]=0;g=c[U>>2]|0;if(!g)break;else h=g}else{if(F)break;h=c[U>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=c4(U,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[K>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[E>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){a=0;b=p;do{k=c[o+((a|1)<<2)>>2]|0;if((b|0)>=(O|0))break e;j=c[m>>2]|0;if((c[j+(k<<2)>>2]|0)==(c[d+(k<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;a=a+2|0;b=c[o+(a<<2)>>2]|0}while((b|0)>-1);a=m;W=75}else{a=m;j=c[m>>2]|0;W=75}while(0);if((W|0)==75){W=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[a>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}a=c[w>>2]|0;if(!a){a=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=H&(h|0)==10;u=(B|0)<1&C;q=w;k=A;g=y;while(1){b=a+8|0;if(c[b>>2]|0){p=q+4|0;o=k;n=b;while(1){f:do if((c[a>>2]|0)>>>0<=h>>>0?(c[a+4>>2]|0)>>>0>=h>>>0:0){m=a+20|0;k=c[m>>2]|0;do if(k|0){if(!((k&1|0)==0|u|v)){k=o;break f}if(k&2|0?(A=c[U>>2]|0,!((A|Q|0)==0|H&(A|0)==10)):0){k=o;break f}do if(k&16|0){if(s){k=o;break f}if(R2(h)|0){k=o;break f}k=c[U>>2]|0;if((k|0)==95)break;if(!(R2(k)|0)){k=o;break f}}while(0);k=c[m>>2]|0;if(k&32){if(s){k=c[U>>2]|0;if((k|0)==95){k=o;break f}}else{A=(R2(h)|0)==0;k=c[U>>2]|0;if(A|(k|0)==95){k=o;break f}}if(R2(k)|0){k=o;break f}k=c[m>>2]|0}b=c[U>>2]|0;do if((b|0)!=0&(r&(k&64|0)!=0)){if(s)k=1;else{k=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(k){k=o;break f}else break;else if(k^(R2(b)|0)!=0)break;else{k=o;break f}}while(0);do if(c[m>>2]&128|0){k=c[U>>2]|0;if(t|(k|0)==0){k=o;break f}if(s)b=1;else{b=(R2(h)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(b)break;else{k=o;break f}else if(b^(R2(k)|0)!=0){k=o;break f}else break}while(0);k=c[m>>2]|0;do if(k&4){if(c[R>>2]&2|0)break;if(!(W2(h,c[a+24>>2]|0)|0)){k=o;break f}k=c[m>>2]|0}while(0);do if(k&4|0){if(!(c[R>>2]&2))break;A=c3(h)|0;k=a+24|0;if(W2(A,c[k>>2]|0)|0)break;A=g3(h)|0;if(!(W2(A,c[k>>2]|0)|0)){k=o;break f}}while(0);if(!(c[m>>2]&8))break;if(Q5(c[a+28>>2]|0,h,c[R>>2]&2)|0){k=o;break f}}while(0);if(I){b=c[p>>2]|0;k=0;do{c[o+(k<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)!=(O|0))}k=c[a+16>>2]|0;do if(k|0){b=c[k>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(O|0))c[o+(b<<2)>>2]=B;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}while(0);k=c[a+12>>2]|0;b=N+(k<<3)|0;if((c[b>>2]|0)>=(B|0)){k=c[N+(k<<3)+4>>2]|0;b=c[k>>2]|0;if(!(R5(O,c[L>>2]|0,o,b)|0)){k=o;break}c[k>>2]=o;if((c[n>>2]|0)!=(c[J>>2]|0)){k=b;break}if(I)e=0;else{j=1;k=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(O|0)){j=1;k=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[N+(k<<3)+4>>2]=x;do if((A|0)==(c[J>>2]|0)){if((e|0)==-1)if(I)e=0;else{e=B;j=1;break}else{if(!I)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(O|0));e=B;j=1}while(0);k=m;g=g+8|0}else k=o;while(0);n=a+40|0;if(!(c[n>>2]|0))break;else{a=a+32|0;o=k}}}q=q+8|0;a=c[q>>2]|0;if(!a){a=k;break}}}c[g>>2]=0;v=z;u=B;A=a;x=y}c[f>>2]=e;e=e>>>31}while(0);l6(V)}l=X;return e|0}function P5(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)u6(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function Q5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(W2(b,d)|0){d=1;break a}}else{e=g3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}e=c3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function R5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function S5(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(n2(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Y1(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Y1(a)|0;break}}while(0);return b|0}function T5(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=U5(a)|0}else a=U5(a)|0;return a|0}function U5(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=eb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function V5(a){a=a|0;(c[a+76>>2]|0)>-1?n2(a)|0:0;return c[a+60>>2]|0}function W5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b&255;e=b&255;if((c[d+76>>2]|0)>=0?(n2(d)|0)!=0:0){if((e|0)!=(a[d+75>>0]|0)?(h=d+20|0,i=c[h>>2]|0,i>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=i+1;a[i>>0]=j}else e=b4(d,b)|0;o2(d)}else k=3;do if((k|0)==3){if((e|0)!=(a[d+75>>0]|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=j;break}e=b4(d,b)|0}while(0);return e|0}function X5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=S(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=n2(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;m=(c[f+8>>2]|0)-h|0;i=m>>>0<k>>>0?m:k;if((m|0)>0){B6(b|0,h|0,i|0)|0;c[g>>2]=h+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Z1(f)|0)break;h=eb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)o2(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)o2(f);return e|0}function Y5(a){a=a|0;return T5(a)|0}function Z5(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15840]|0;if((c[f+76>>2]|0)>-1)g=n2(f)|0;else g=0;do if((Z3(b,f)|0)<0)b=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(b4(f,10)|0)<0}while(0);if(g|0)o2(f);return b<<31>>31|0}function _5(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;Xa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function $5(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=153835;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){_5(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=K1(Wa(5,g|0)|0)|0;b=b+1|0;if((f|0)>-1){j=4;break}if((b|0)>=100){b=0;break}}if((j|0)==4){c[h>>2]=d;Ta(10,h|0)|0;b=h4(f,153855)|0;if(!b){c[i>>2]=f;xa(6,i|0)|0;b=0}}l=k;return b|0}function a6(a){a=a|0;return +(+b6(a,0))}function b6(a,b){a=a|0;b=b|0;return +(+c6(a,b,1))}function c6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;U1(h,0);e=+s3(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function d6(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(X1(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function e6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(S(g,d)|0)|0;f=vb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function f6(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;if(!(e<<24>>24))d=b;else{d=b;do{if(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)|0)break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=G3(b,e<<24>>24)|0;l=h;return d-b|0}function g6(a,b){a=a|0;b=b|0;O3(a+(D3(a)|0)|0,b)|0;return a|0}function h6(b,c){b=b|0;c=c|0;c=b+(f6(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function i6(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[47615]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[47615]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[47615]=d;if(!(a[d>>0]|0)){c[47615]=0;break}else{c[47615]=d+1;a[d>>0]=0;break}}while(0);return b|0}function j6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function k6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[47616]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=190504+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[47620]|0)>>>0)Va();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Va()}else c[47616]=t&~(1<<a);while(0);J=a<<3;c[f+4>>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[47618]|0;if(p>>>0>s>>>0){if(d|0){i=2<<a;a=d<<a&(i|0-i);a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=190504+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[47620]|0)>>>0)Va();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else Va()}else{j=t&~(1<<b);c[47616]=j}while(0);h=(b<<3)-p|0;c[g+4>>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<<b;if(j&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{k=a;m=b}}else{c[47616]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[47618]=h;c[47621]=e;J=i;l=K;return J|0}k=c[47617]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[190768+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0<a>>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[47620]|0;if(j>>>0<f>>>0)Va();i=j+p|0;if(j>>>0>=i>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Va();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else Va()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[47617]=k&~(1<<b);break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else Va();while(0);a=c[47620]|0;if(n>>>0<a>>>0)Va();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<<b;if(t&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{q=a;r=b}}else{c[47616]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[47618]=h;c[47621]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[47617]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<<r;q=(C+520192|0)>>>16&4;C=C<<q;i=(C+245760|0)>>>16&2;i=14-(q|r|i)+(C<<i>>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[190768+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0<e>>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<<i;a=k&(a|0-a);if(!a)break;r=(a&0-a)+-1|0;m=r>>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[190768+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0<e>>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[47618]|0)-p|0)>>>0:0){f=c[47620]|0;if(j>>>0<f>>>0)Va();h=j+p|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Va();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else Va()}while(0);c:do if(g){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<<b);c[47617]=t;break c}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else Va();while(0);a=c[47620]|0;if(s>>>0<a>>>0)Va();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Va();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{x=a;y=b}}else{c[47616]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=190768+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(t&a)){c[47617]=t|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else Va()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[47618]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[47621]|0;if(b>>>0>15){J=a+p|0;c[47621]=J;c[47618]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[47618]=0;c[47621]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[47619]|0;if(h>>>0>p>>>0){H=h-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[47734]|0)){c[47736]=4096;c[47735]=4096;c[47737]=-1;c[47738]=-1;c[47739]=0;c[47727]=0;a=o&-16^1431655768;c[o>>2]=a;c[47734]=a;a=4096}else a=c[47736]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[47726]|0;if(a|0?(x=c[47724]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[47727]&4)){d=c[47622]|0;e:do if(d){e=190912;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=H6(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=H6(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[47735]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[47724]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[47726]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=H6(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[47736]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((H6(a|0)|0)==(-1|0)){H6(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[47727]=c[47727]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=H6(k|0)|0,y=H6(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0<y>>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[47724]|0)+h|0;c[47724]=b;if(b>>>0>(c[47725]|0)>>>0)c[47725]=b;k=c[47622]|0;do if(k){b=190912;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0<g>>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[47619]|0)+(h-J)|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738];break}b=c[47620]|0;if(g>>>0<b>>>0){c[47620]=g;i=g}else i=b;d=g+h|0;b=190912;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[47621]|0)){J=(c[47618]|0)+j|0;c[47618]=J;c[47621]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0<i>>>0)Va();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0<i>>>0)Va();a=f+12|0;if((c[a>>2]|0)!=(b|0))Va();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else Va()}while(0);if(!g)break;a=c[b+28>>2]|0;d=190768+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else Va();else{c[d>>2]=H;if(H|0)break;c[47617]=c[47617]&~(1<<a);break f}while(0);e=c[47620]|0;if(H>>>0<e>>>0)Va();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<e>>>0)Va();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[47620]|0)>>>0)Va();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=190504+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0<i>>>0)Va();if((c[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){c[47616]=c[47616]&~(1<<f);break}do if((e|0)==(a|0))E=e+8|0;else{if(e>>>0<i>>>0)Va();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}Va()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;do if(!(a&b)){c[47616]=a|b;I=d;J=d+8|0}else{b=d+8|0;a=c[b>>2]|0;if(a>>>0>=(c[47620]|0)>>>0){I=a;J=b;break}Va()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=190768+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[47617]|0;d=1<<b;if(!(a&d)){c[47617]=a|d;c[e>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else Va()}}else{J=(c[47619]|0)+j|0;c[47619]=J;c[47622]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=190912;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0<f>>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[47622]=J;c[47619]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[47623]=c[47738];d=a+4|0;c[d>>2]=27;c[b>>2]=c[47728];c[b+4>>2]=c[47729];c[b+8>>2]=c[47730];c[b+12>>2]=c[47731];c[47728]=g;c[47729]=h;c[47731]=0;c[47730]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0<D>>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{F=a;G=b}}else{c[47616]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;d=(J+245760|0)>>>16&2;d=14-(H|I|d)+(J<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=190768+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[47617]|0;a=1<<d;if(!(b&a)){c[47617]=b|a;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else Va()}}}else{J=c[47620]|0;if((J|0)==0|g>>>0<J>>>0)c[47620]=g;c[47728]=g;c[47729]=h;c[47731]=0;c[47625]=c[47734];c[47624]=-1;b=0;do{J=190504+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738]}while(0);b=c[47619]|0;if(b>>>0>p>>>0){H=b-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(L1()|0)>>2]=12;J=0;l=K;return J|0}function l6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[47620]|0;if(d>>>0<h>>>0)Va();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Va();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Va();if((k|0)==(c[47621]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[47618]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Va();if((c[b+12>>2]|0)!=(k|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<<e);r=k;f=j;m=k;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Va();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else Va()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Va();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(k|0))Va();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Va()}while(0);if(g){a=c[k+28>>2]|0;b=190768+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[47617]=c[47617]&~(1<<a);r=k;f=j;m=k;break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else Va();while(0);d=c[47620]|0;if(i>>>0<d>>>0)Va();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Va();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)Va();a=o+4|0;b=c[a>>2]|0;if(!(b&1))Va();if(!(b&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[47620]|0)>>>0)Va();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();d=b+12|0;if((c[d>>2]|0)!=(o|0))Va();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;b=190768+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[47617]=c[47617]&~(1<<a);break b}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);d=c[47620]|0;if(n>>>0<d>>>0)Va();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[47620]|0)>>>0)Va();if((c[b+12>>2]|0)!=(o|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[47620]|0)>>>0)Va();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else Va()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=190504+(a<<1<<2)|0;b=c[47616]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();else{p=b;q=a}}else{c[47616]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[47617]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[47620]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else Va()}}else{c[47617]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[47624]|0)+-1|0;c[47624]=r;if(!r)a=190920;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[47624]=-1;return}function m6(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=k6(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;u6(a|0,0,d|0)|0;return a|0}function n6(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=k6(b)|0;return b|0}if(b>>>0>4294967231){c[(L1()|0)>>2]=12;b=0;return b|0}d=o6(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=k6(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;B6(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;l6(a);b=d;return b|0} -function o6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[47620]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Va();f=c[k+4>>2]|0;if(!(f&1))Va();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[47736]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;p6(m,d);return a|0}if((k|0)==(c[47622]|0)){m=(c[47619]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[47622]=e;c[47619]=d;return a|0}if((k|0)==(c[47621]|0)){f=(c[47618]|0)+d|0;if(f>>>0<b>>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[47618]=d;c[47621]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)Va();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Va();d=g+12|0;if((c[d>>2]|0)!=(k|0))Va();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Va()}while(0);if(h|0){d=c[k+28>>2]|0;e=190768+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[47617]=c[47617]&~(1<<d);break a}}else if(h>>>0>=(c[47620]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else Va();while(0);f=c[47620]|0;if(j>>>0<f>>>0)Va();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Va();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=190504+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Va();if((c[e+12>>2]|0)!=(k|0))Va()}if((f|0)==(e|0)){c[47616]=c[47616]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Va();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Va()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;p6(n,m);return a|0}return 0}function p6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[47620]|0;if(l>>>0<i>>>0)Va();if((l|0)==(c[47621]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[47618]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<i>>>0)Va();if((c[d+12>>2]|0)!=(l|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<<e);r=l;f=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)Va();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else Va()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<i>>>0)Va();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(l|0))Va();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else Va()}while(0);if(g){a=c[l+28>>2]|0;d=190768+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[47617]=c[47617]&~(1<<a);r=l;f=k;break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else Va();while(0);b=c[47620]|0;if(j>>>0<b>>>0)Va();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Va();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[47620]|0;if(o>>>0<h>>>0)Va();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<h>>>0)Va();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(o|0))Va();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;d=190768+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[47617]=c[47617]&~(1<<a);break b}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);b=c[47620]|0;if(n>>>0<b>>>0)Va();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Va();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<h>>>0)Va();if((c[d+12>>2]|0)!=(o|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<<e);break}if((b|0)!=(a|0)){if(b>>>0<h>>>0)Va();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else Va()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=190504+(a<<1<<2)|0;d=c[47616]|0;a=1<<a;if(d&a){a=b+8|0;d=c[a>>2]|0;if(d>>>0<(c[47620]|0)>>>0)Va();else{p=d;q=a}}else{c[47616]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[47617]|0;b=1<<a;if(!(d&b)){c[47617]=d|b;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[47620]|0)>>>0)Va();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[47620]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))Va();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function q6(a,b){a=a|0;b=b|0;if(a>>>0<9){b=k6(b)|0;return b|0}else{b=r6(a,b)|0;return b|0}return 0}function r6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(L1()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=k6(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;p6(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;p6(h,i)}i=b+8|0;return i|0}function s6(){}function t6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function u6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function v6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function w6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function x6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;D=e;return d|0}f=f+1|0}e=e*2|0;d=n6(d|0,8*(e+1|0)|0)|0;d=x6(a|0,b|0,d|0,e|0)|0;D=e;return d|0}function y6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function z6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function A6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function B6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function C6(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function D6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=C6(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((C6(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=w6(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t6(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t6(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function E6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D6(a,b,c,d,0)|0}function F6(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function G6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=F6(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function H6(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Fa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Fa(12);c[i>>2]=b;return -1}return b|0}function I6(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else B6(b,c,d)|0;return b|0}function J6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;D6(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function K6(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function L6(a){a=a|0;return (a&255)<<8|a>>8&255|0}function M6(a,b){a=a|0;b=b|0;db[a&127](b|0)}function N6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eb[a&63](b|0,c|0,d|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;fb[a&31](b|0,c|0,d|0,e|0,f|0)}function P6(a){a=a|0;return +gb[a&1]()}function Q6(a,b){a=a|0;b=b|0;return +hb[a&1](b|0)}function R6(a){a=a|0;return ib[a&3]()|0}function S6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return jb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function T6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return kb[a&3](b|0,c|0,+d,+e)|0}function U6(a,b,c){a=a|0;b=b|0;c=c|0;lb[a&63](b|0,c|0)}function V6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return mb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function W6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;nb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function X6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Y6(a,b){a=a|0;b=b|0;return pb[a&63](b|0)|0}function Z6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +qb[a&7](+b,+c,+d)}function _6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&127](b|0,c|0,d|0)}function $6(a){a=a|0;sb[a&15]()}function a7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&127](b|0,c|0,d|0,e|0)|0}function b7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function c7(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&127](b|0,c|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wb[a&63](b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function f7(a){a=a|0;W(0)}function g7(a,b,c){a=a|0;b=b|0;c=c|0;W(1);return 0}function h7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(2)}function i7(){W(3);return 0.0}function j7(a){a=a|0;W(4);return 0.0}function k7(){W(5);return 0}function l7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(6);return 0}function m7(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;W(7);return 0}function n7(a,b){a=a|0;b=b|0;W(8)}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(9);return 0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;W(10)}function q7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(11)}function r7(a){a=a|0;W(12);return 0}function s7(a,b,c){a=+a;b=+b;c=+c;W(13);return 0.0}function t7(a,b,c){a=a|0;b=b|0;c=c|0;W(14)}function u7(){W(15)}function v7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(16);return 0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(17)}function x7(a,b){a=a|0;b=b|0;W(18);return 0}function y7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(19);return 0}function z7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(20)} - -// EMSCRIPTEN_END_FUNCS -var db=[f7,Jb,Kb,Ob,Pb,Qb,ic,jc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Zc,_c,bd,cd,dd,ed,fd,gd,hd,td,ud,vd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,be,oe,pe,qe,re,Ce,De,Ee,Ge,Te,Ue,Ve,Xe,Ye,Ze,_e,$e,af,bf,cf,df,nf,of,pf,qf,Tf,Of,mm,Yl,ap,Bo,Lp,Up,Xn,Zn,Ip,Jp,Ul,Vl,$n,io,ko,vo,CB,VM,lN,XM,WM,HN,sM,vM,FS,KS,Hf,Al,Fo,Jo,bp,l6,Uv,qA,wG,pI,TU,yR,zQ,LL,lV,OX,hY,iY,oY,f7,f7,f7,f7,f7,f7,f7,f7,f7];var eb=[g7,Em,Jv,Az,Iz,Rz,Wz,TB,XB,UL,NP,OU,w_,C_,W$,a0,k$,q$,I1,J1,P1,Q1,N2,dA,Um,xv,op,kt,Sx,Ux,Xx,Yz,rG,i2,LD,z4,OO,QL,FR,jY,C0,K$,w0,G0,s4,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7];var fb=[h7,$c,Fd,Md,ae,Fe,F_,G_,W_,X_,t0,d0,e0,t$,u$,xl,uG,AQ,o_,p_,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7];var gb=[i7,SO];var hb=[j7,ZO];var ib=[k7,Yq,RK,IL];var jb=[l7,F0,v0,l7];var kb=[m7,su,nu,m7];var lb=[n7,Pc,Uc,jd,od,Ld,he,xe,Me,kf,wf,$B,pN,TN,LN,GN,jN,kN,PN,QN,IS,MS,aM,gA,sG,TK,qQ,PW,NX,kY,lY,pY,rY,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7];var mb=[o7,PX];var nb=[p7,KH,LH,MH,NH,OH,PH,QH,RH,p7,p7,p7,p7,p7,p7,p7];var ob=[q7];var pb=[r7,$g,ug,Im,Jm,VB,YB,FQ,GQ,xS,yS,zS,AS,BS,CS,DS,ES,H1,Fb,oF,vl,yl,Xm,IK,qB,gC,pB,NK,SK,rB,rQ,HK,wQ,xQ,qY,k6,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7];var qb=[s7,bJ,cJ,dJ,eJ,s7,s7,s7];var rb=[t7,Rb,Sb,Vb,Gc,Oc,Qc,Tc,id,kd,nd,Gd,Hd,Kd,ce,de,ge,se,te,we,He,Ie,Le,ef,ff,jf,rf,sf,vf,lk,mk,nk,Fm,Bz,Jz,nA,DB,dC,NC,RD,jG,OJ,JL,VL,uM,OP,RP,fR,dR,GS,HS,JS,LS,NS,PU,CW,BW,GA,gB,rC,VC,YC,MK,PO,OL,uQ,yQ,DW,FW,GW,OW,QW,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7];var sb=[u7,RO,OK,PK,QK,UK,VK,WK,UU,u7,u7,u7,u7,u7,u7,u7];var tb=[v7,Gm,Or,Kv,Cz,Kz,SA,QD,TA,kB,zB,BB,MB,LB,_B,cC,eC,KL,PP,gR,eR,cT,QU,kV,jV,q_,r_,s_,t_,u_,v_,x_,A_,E_,Q$,R$,S$,T$,U$,V$,X$,_$,c0,e$,f$,g$,h$,i$,j$,l$,o$,s$,$z,RC,vG,QO,dZ,hZ,oZ,yZ,HZ,MZ,KZ,NZ,H0,j_,a_,M$,N$,D0,E0,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7];var ub=[w7,Ub,Sc,md,Jd,fe,ve,Ke,hf,uf,BQ,w7,w7,w7,w7,w7];var vb=[x7,xB,UB,ZB,RN,SN,JN,FN,nN,ZW,_W,$W,aX,bX,cX,eX,fX,gX,hX,iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX,yX,zX,AX,BX,CX,y_,z_,B_,Y_,Z_,__,$_,a$,b$,c$,d$,Y$,Z$,$$,m$,n$,p$,mF,kg,_g,Bh,di,vi,Gk,Ek,wl,zl,Wo,eq,gr,Cr,Er,Gr,Hr,Jr,Ir,Ur,et,jt,lt,qv,px,CE,BE,AE,tG,hC,KK,GG,WG,RG,SG,TH,Z3,W5,MO,_P,NA,cV,UA,WA,sQ,f2,DT,YW,mY,nY,n6,l_,m_,n_,J5,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7];var wb=[y7,yB,oN,KN,J0,K0,L0,M0,O0,P0,Q0,R0,S0,U0,V0,W0,X0,Y0,T0,w1,x1,n1,g1,Z0,_0,$0,b1,a1,c1,d1,e1,f1,h1,i1,j1,k1,l1,m1,o1,p1,q1,r1,v1,t1,s1,u1,C1,y1,z1,A1,B1,D1,E1,F1,y7,y7,y7,y7,y7,y7,y7,y7,y7,y7];var xb=[z7,Tb,Rc,ld,wd,Id,Sd,ee,ue,Je,We,gf,tf,Kf,Jf,If,Gf,Ff,Ef,hc,Df,Cf,AB,mN,IN,D_,b0,r$,k3,tQ,vQ,O$];return{_i64Subtract:t6,_memset:u6,_bitshift64Lshr:z6,_bitshift64Shl:v6,_fflush:m4,_bitshift64Ashr:y6,_vizLastErrorMessage:Gb,_sbrk:H6,_memcpy:B6,_llvm_bswap_i32:K6,___muldi3:G6,___uremdi3:J6,_testSetjmp:A6,_llvm_cttz_i32:C6,_vizCreateFile:Hb,___udivmoddi4:D6,_realloc:n6,_i64Add:w6,_llvm_bswap_i16:L6,_emscripten_get_global_libc:G1,_htons:L4,___udivdi3:E6,___errno_location:L1,___muldsi3:F6,_vizRenderFromString:Ib,_saveSetjmp:x6,_free:l6,_dtextract:Pz,_memmove:I6,_malloc:k6,_memalign:q6,runPostSets:s6,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setTempRet0:Db,getTempRet0:Eb,setThrew:Cb,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Db,getTempRet0:Eb,dynCall_vi:M6,dynCall_iiii:N6,dynCall_viiiii:O6,dynCall_d:P6,dynCall_di:Q6,dynCall_i:R6,dynCall_iiiiiiiiiii:S6,dynCall_iiidd:T6,dynCall_vii:U6,dynCall_iiiiiii:V6,dynCall_viiiddi:W6,dynCall_viiiiiiiii:X6,dynCall_ii:Y6,dynCall_dddd:Z6,dynCall_viii:_6,dynCall_v:$6,dynCall_iiiii:a7,dynCall_viiiiii:b7,dynCall_iii:c7,dynCall_iiiiii:d7,dynCall_viiii:e7}}) - - -// EMSCRIPTEN_END_ASM -(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var stackSave=Module["stackSave"]=asm["stackSave"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _fflush=Module["_fflush"]=asm["_fflush"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _memset=Module["_memset"]=asm["_memset"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var _llvm_cttz_i32=Module["_llvm_cttz_i32"]=asm["_llvm_cttz_i32"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var ___udivmoddi4=Module["___udivmoddi4"]=asm["___udivmoddi4"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _emscripten_get_global_libc=Module["_emscripten_get_global_libc"]=asm["_emscripten_get_global_libc"];var _htons=Module["_htons"]=asm["_htons"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var ___muldsi3=Module["___muldsi3"]=asm["___muldsi3"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _free=Module["_free"]=asm["_free"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setThrew=Module["setThrew"]=asm["setThrew"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _memmove=Module["_memmove"]=asm["_memmove"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var _malloc=Module["_malloc"]=asm["_malloc"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var _memalign=Module["_memalign"]=asm["_memalign"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=Module["stackAlloc"];Runtime.stackSave=Module["stackSave"];Runtime.stackRestore=Module["stackRestore"];Runtime.establishStackSpace=Module["establishStackSpace"];Runtime.setTempRet0=Module["setTempRet0"];Runtime.getTempRet0=Module["getTempRet0"];Module["asm"]=asm;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);try{var ret=Module["_main"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{var toLog=e;if(e&&typeof e==="object"&&e.stack){toLog=[e,e.stack]}Module.printErr("exception thrown: "+toLog);Module["quit"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(Module["_main"]&&shouldRunNow)Module["callMain"](args);postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output="abort("+what+") at "+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module["abort"]=Module.abort=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;if(Module["noInitialRun"]){shouldRunNow=false}run() - - - - - - return Module; -}; -function Viz(src) { - var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; - var format = options.format === undefined ? "svg" : options.format; - var engine = options.engine === undefined ? "dot" : options.engine; - var scale = options.scale; - var totalMemory = options.totalMemory; - var files = options.files === undefined ? [] : options.files; - var images = options.images === undefined ? [] : options.images; - var i; - - for (i = 0; i < images.length; i++) { - files.push({ path: images[i].path, data: "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n<svg width=\"" + images[i].width + "\" height=\"" + images[i].height + "\"></svg>" }); - } - - if (format == "png-image-element") { - return Viz.svgXmlToPngImageElement(render(src, "svg", engine, totalMemory, files), scale); - } else { - return render(src, format, engine, totalMemory, files); - } -} - -function render(src, format, engine, totalMemory, files) { - var graphviz = Module({ TOTAL_MEMORY: totalMemory }); - var i; - - for (i = 0; i < files.length; i++) { - graphviz["ccall"]("vizCreateFile", "number", ["string", "string"], [files[i].path, files[i].data]); - } - - var resultPointer = graphviz["ccall"]("vizRenderFromString", "number", ["string", "string", "string"], [src, format, engine]); - var resultString = graphviz["Pointer_stringify"](resultPointer); - - var errorMessagePointer = graphviz["ccall"]("vizLastErrorMessage", "number", [], []); - var errorMessageString = graphviz["Pointer_stringify"](errorMessagePointer); - - if (errorMessageString != "") { - throw new Error(errorMessageString); - } - - return resultString; -} - -// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding -function b64EncodeUnicode(str) { - return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) { - return String.fromCharCode('0x' + p1); - })); -} - -Viz.svgXmlToPngImageElement = function(svgXml, scale, callback) { - if (scale === undefined) { - if ("devicePixelRatio" in window && window.devicePixelRatio > 1) { - scale = window.devicePixelRatio; - } else { - scale = 1; - } - } - - var pngImage = new Image(); - - try { - if (typeof fabric === "object" && fabric.loadSVGFromString) { - fabric.loadSVGFromString(svgXml, function(objects, options) { - // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case. - if (objects.length == 0) { - if (callback !== undefined) { - callback(new Error("Error loading SVG with Fabric")); - return; - } else { - throw new Error("Error loading SVG with Fabric"); - } - } - - var element = document.createElement("canvas"); - element.width = options.width; - element.height = options.height; - - var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); - var obj = fabric.util.groupSVGElements(objects, options); - canvas.add(obj).renderAll(); - - pngImage.src = canvas.toDataURL({ multiplier: scale }); - pngImage.width = options.width; - pngImage.height = options.height; - - if (callback !== undefined) { - callback(null, pngImage); - } - }); - } else { - var svgImage = new Image(); - - svgImage.onload = function() { - var canvas = document.createElement("canvas"); - canvas.width = svgImage.width * scale; - canvas.height = svgImage.height * scale; - - var context = canvas.getContext("2d"); - context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); - - pngImage.src = canvas.toDataURL("image/png"); - pngImage.width = svgImage.width; - pngImage.height = svgImage.height; - - if (callback !== undefined) { - callback(null, pngImage); - } - } - - svgImage.onerror = function(e) { - var error; - - if ('error' in e) { - error = e.error; - } else { - error = new Error('Error loading SVG'); - } - - if (callback !== undefined) { - callback(error); - } else { - throw error; - } - } - - svgImage.src = "data:image/svg+xml;base64," + b64EncodeUnicode(svgXml); - } - } catch (e) { - if (callback !== undefined) { - callback(e); - } else { - throw e; - } - } - - if (callback === undefined) { - return pngImage; - } -} - -Viz.svgXmlToPngBase64 = function(svgXml, scale, callback) { - Viz.svgXmlToPngImageElement(svgXml, scale, function(err, image) { - if (err) { - callback(err); - } else { - callback(null, image.src.slice("data:image/png;base64,".length)); - } - }); -} -if ( true && module.exports) { - module.exports = Viz; -} else { - global.Viz = Viz; -} - -})(this); - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../buffer/index.js */ "./node_modules/buffer/index.js").Buffer)) - -/***/ }), - -/***/ "./node_modules/webpack/buildin/amd-define.js": -/*!***************************************!*\ - !*** (webpack)/buildin/amd-define.js ***! - \***************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function() { - throw new Error("define cannot be used indirect"); -}; - - -/***/ }), - -/***/ "./node_modules/webpack/buildin/global.js": -/*!***********************************!*\ - !*** (webpack)/buildin/global.js ***! - \***********************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || new Function("return this")(); -} catch (e) { - // This works if the window reference is available - if (typeof window === "object") g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), - -/***/ "./node_modules/webpack/buildin/harmony-module.js": -/*!*******************************************!*\ - !*** (webpack)/buildin/harmony-module.js ***! - \*******************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = function(originalModule) { - if (!originalModule.webpackPolyfill) { - var module = Object.create(originalModule); - // module.parent = undefined by default - if (!module.children) module.children = []; - Object.defineProperty(module, "loaded", { - enumerable: true, - get: function() { - return module.l; - } - }); - Object.defineProperty(module, "id", { - enumerable: true, - get: function() { - return module.i; - } - }); - Object.defineProperty(module, "exports", { - enumerable: true - }); - module.webpackPolyfill = 1; - } - return module; -}; - - -/***/ }), - -/***/ "./node_modules/whatwg-fetch/fetch.js": -/*!********************************************!*\ - !*** ./node_modules/whatwg-fetch/fetch.js ***! - \********************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -(function(self) { - 'use strict'; - - if (self.fetch) { - return - } - - var support = { - searchParams: 'URLSearchParams' in self, - iterable: 'Symbol' in self && 'iterator' in Symbol, - blob: 'FileReader' in self && 'Blob' in self && (function() { - try { - new Blob() - return true - } catch(e) { - return false - } - })(), - formData: 'FormData' in self, - arrayBuffer: 'ArrayBuffer' in self - } - - if (support.arrayBuffer) { - var viewClasses = [ - '[object Int8Array]', - '[object Uint8Array]', - '[object Uint8ClampedArray]', - '[object Int16Array]', - '[object Uint16Array]', - '[object Int32Array]', - '[object Uint32Array]', - '[object Float32Array]', - '[object Float64Array]' - ] - - var isDataView = function(obj) { - return obj && DataView.prototype.isPrototypeOf(obj) - } - - var isArrayBufferView = ArrayBuffer.isView || function(obj) { - return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 - } - } - - function normalizeName(name) { - if (typeof name !== 'string') { - name = String(name) - } - if (/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(name)) { - throw new TypeError('Invalid character in header field name') - } - return name.toLowerCase() - } - - function normalizeValue(value) { - if (typeof value !== 'string') { - value = String(value) - } - return value - } - - // Build a destructive iterator for the value list - function iteratorFor(items) { - var iterator = { - next: function() { - var value = items.shift() - return {done: value === undefined, value: value} - } - } - - if (support.iterable) { - iterator[Symbol.iterator] = function() { - return iterator - } - } - - return iterator - } - - function Headers(headers) { - this.map = {} - - if (headers instanceof Headers) { - headers.forEach(function(value, name) { - this.append(name, value) - }, this) - } else if (Array.isArray(headers)) { - headers.forEach(function(header) { - this.append(header[0], header[1]) - }, this) - } else if (headers) { - Object.getOwnPropertyNames(headers).forEach(function(name) { - this.append(name, headers[name]) - }, this) - } - } - - Headers.prototype.append = function(name, value) { - name = normalizeName(name) - value = normalizeValue(value) - var oldValue = this.map[name] - this.map[name] = oldValue ? oldValue+','+value : value - } - - Headers.prototype['delete'] = function(name) { - delete this.map[normalizeName(name)] - } - - Headers.prototype.get = function(name) { - name = normalizeName(name) - return this.has(name) ? this.map[name] : null - } - - Headers.prototype.has = function(name) { - return this.map.hasOwnProperty(normalizeName(name)) - } - - Headers.prototype.set = function(name, value) { - this.map[normalizeName(name)] = normalizeValue(value) - } - - Headers.prototype.forEach = function(callback, thisArg) { - for (var name in this.map) { - if (this.map.hasOwnProperty(name)) { - callback.call(thisArg, this.map[name], name, this) - } - } - } - - Headers.prototype.keys = function() { - var items = [] - this.forEach(function(value, name) { items.push(name) }) - return iteratorFor(items) - } - - Headers.prototype.values = function() { - var items = [] - this.forEach(function(value) { items.push(value) }) - return iteratorFor(items) - } - - Headers.prototype.entries = function() { - var items = [] - this.forEach(function(value, name) { items.push([name, value]) }) - return iteratorFor(items) - } - - if (support.iterable) { - Headers.prototype[Symbol.iterator] = Headers.prototype.entries - } - - function consumed(body) { - if (body.bodyUsed) { - return Promise.reject(new TypeError('Already read')) - } - body.bodyUsed = true - } - - function fileReaderReady(reader) { - return new Promise(function(resolve, reject) { - reader.onload = function() { - resolve(reader.result) - } - reader.onerror = function() { - reject(reader.error) - } - }) - } - - function readBlobAsArrayBuffer(blob) { - var reader = new FileReader() - var promise = fileReaderReady(reader) - reader.readAsArrayBuffer(blob) - return promise - } - - function readBlobAsText(blob) { - var reader = new FileReader() - var promise = fileReaderReady(reader) - reader.readAsText(blob) - return promise - } - - function readArrayBufferAsText(buf) { - var view = new Uint8Array(buf) - var chars = new Array(view.length) - - for (var i = 0; i < view.length; i++) { - chars[i] = String.fromCharCode(view[i]) - } - return chars.join('') - } - - function bufferClone(buf) { - if (buf.slice) { - return buf.slice(0) - } else { - var view = new Uint8Array(buf.byteLength) - view.set(new Uint8Array(buf)) - return view.buffer - } - } - - function Body() { - this.bodyUsed = false - - this._initBody = function(body) { - this._bodyInit = body - if (!body) { - this._bodyText = '' - } else if (typeof body === 'string') { - this._bodyText = body - } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { - this._bodyBlob = body - } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { - this._bodyFormData = body - } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { - this._bodyText = body.toString() - } else if (support.arrayBuffer && support.blob && isDataView(body)) { - this._bodyArrayBuffer = bufferClone(body.buffer) - // IE 10-11 can't handle a DataView body. - this._bodyInit = new Blob([this._bodyArrayBuffer]) - } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { - this._bodyArrayBuffer = bufferClone(body) - } else { - throw new Error('unsupported BodyInit type') - } - - if (!this.headers.get('content-type')) { - if (typeof body === 'string') { - this.headers.set('content-type', 'text/plain;charset=UTF-8') - } else if (this._bodyBlob && this._bodyBlob.type) { - this.headers.set('content-type', this._bodyBlob.type) - } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { - this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8') - } - } - } - - if (support.blob) { - this.blob = function() { - var rejected = consumed(this) - if (rejected) { - return rejected - } - - if (this._bodyBlob) { - return Promise.resolve(this._bodyBlob) - } else if (this._bodyArrayBuffer) { - return Promise.resolve(new Blob([this._bodyArrayBuffer])) - } else if (this._bodyFormData) { - throw new Error('could not read FormData body as blob') - } else { - return Promise.resolve(new Blob([this._bodyText])) - } - } - - this.arrayBuffer = function() { - if (this._bodyArrayBuffer) { - return consumed(this) || Promise.resolve(this._bodyArrayBuffer) - } else { - return this.blob().then(readBlobAsArrayBuffer) - } - } - } - - this.text = function() { - var rejected = consumed(this) - if (rejected) { - return rejected - } - - if (this._bodyBlob) { - return readBlobAsText(this._bodyBlob) - } else if (this._bodyArrayBuffer) { - return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)) - } else if (this._bodyFormData) { - throw new Error('could not read FormData body as text') - } else { - return Promise.resolve(this._bodyText) - } - } - - if (support.formData) { - this.formData = function() { - return this.text().then(decode) - } - } - - this.json = function() { - return this.text().then(JSON.parse) - } - - return this - } - - // HTTP methods whose capitalization should be normalized - var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'] - - function normalizeMethod(method) { - var upcased = method.toUpperCase() - return (methods.indexOf(upcased) > -1) ? upcased : method - } - - function Request(input, options) { - options = options || {} - var body = options.body - - if (input instanceof Request) { - if (input.bodyUsed) { - throw new TypeError('Already read') - } - this.url = input.url - this.credentials = input.credentials - if (!options.headers) { - this.headers = new Headers(input.headers) - } - this.method = input.method - this.mode = input.mode - if (!body && input._bodyInit != null) { - body = input._bodyInit - input.bodyUsed = true - } - } else { - this.url = String(input) - } - - this.credentials = options.credentials || this.credentials || 'omit' - if (options.headers || !this.headers) { - this.headers = new Headers(options.headers) - } - this.method = normalizeMethod(options.method || this.method || 'GET') - this.mode = options.mode || this.mode || null - this.referrer = null - - if ((this.method === 'GET' || this.method === 'HEAD') && body) { - throw new TypeError('Body not allowed for GET or HEAD requests') - } - this._initBody(body) - } - - Request.prototype.clone = function() { - return new Request(this, { body: this._bodyInit }) - } - - function decode(body) { - var form = new FormData() - body.trim().split('&').forEach(function(bytes) { - if (bytes) { - var split = bytes.split('=') - var name = split.shift().replace(/\+/g, ' ') - var value = split.join('=').replace(/\+/g, ' ') - form.append(decodeURIComponent(name), decodeURIComponent(value)) - } - }) - return form - } - - function parseHeaders(rawHeaders) { - var headers = new Headers() - // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space - // https://tools.ietf.org/html/rfc7230#section-3.2 - var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ') - preProcessedHeaders.split(/\r?\n/).forEach(function(line) { - var parts = line.split(':') - var key = parts.shift().trim() - if (key) { - var value = parts.join(':').trim() - headers.append(key, value) - } - }) - return headers - } - - Body.call(Request.prototype) - - function Response(bodyInit, options) { - if (!options) { - options = {} - } - - this.type = 'default' - this.status = options.status === undefined ? 200 : options.status - this.ok = this.status >= 200 && this.status < 300 - this.statusText = 'statusText' in options ? options.statusText : 'OK' - this.headers = new Headers(options.headers) - this.url = options.url || '' - this._initBody(bodyInit) - } - - Body.call(Response.prototype) - - Response.prototype.clone = function() { - return new Response(this._bodyInit, { - status: this.status, - statusText: this.statusText, - headers: new Headers(this.headers), - url: this.url - }) - } - - Response.error = function() { - var response = new Response(null, {status: 0, statusText: ''}) - response.type = 'error' - return response - } - - var redirectStatuses = [301, 302, 303, 307, 308] - - Response.redirect = function(url, status) { - if (redirectStatuses.indexOf(status) === -1) { - throw new RangeError('Invalid status code') - } - - return new Response(null, {status: status, headers: {location: url}}) - } - - self.Headers = Headers - self.Request = Request - self.Response = Response - - self.fetch = function(input, init) { - return new Promise(function(resolve, reject) { - var request = new Request(input, init) - var xhr = new XMLHttpRequest() - - xhr.onload = function() { - var options = { - status: xhr.status, - statusText: xhr.statusText, - headers: parseHeaders(xhr.getAllResponseHeaders() || '') - } - options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL') - var body = 'response' in xhr ? xhr.response : xhr.responseText - resolve(new Response(body, options)) - } - - xhr.onerror = function() { - reject(new TypeError('Network request failed')) - } - - xhr.ontimeout = function() { - reject(new TypeError('Network request failed')) - } - - xhr.open(request.method, request.url, true) - - if (request.credentials === 'include') { - xhr.withCredentials = true - } else if (request.credentials === 'omit') { - xhr.withCredentials = false - } - - if ('responseType' in xhr && support.blob) { - xhr.responseType = 'blob' - } - - request.headers.forEach(function(value, name) { - xhr.setRequestHeader(name, value) - }) - - xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit) - }) - } - self.fetch.polyfill = true -})(typeof self !== 'undefined' ? self : this); - - -/***/ }), - -/***/ "./src/APIController.react.js": -/*!************************************!*\ - !*** ./src/APIController.react.js ***! - \************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _TreeContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TreeContainer */ "./src/TreeContainer.js"); -/* harmony import */ var _components_error_GlobalErrorContainer_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/error/GlobalErrorContainer.react */ "./src/components/error/GlobalErrorContainer.react.js"); -/* harmony import */ var _actions_index__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions/index */ "./src/actions/index.js"); -/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./persistence */ "./src/persistence.js"); -/* harmony import */ var _actions_api__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/api */ "./src/actions/api.js"); -/* harmony import */ var _reducers_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./reducers/constants */ "./src/reducers/constants.js"); -/* harmony import */ var _constants_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./constants/constants */ "./src/constants/constants.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - - - - - - -/** - * Fire off API calls for initialization - */ - -var UnconnectedContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(UnconnectedContainer, _Component); - - function UnconnectedContainer(props) { - var _this; - - _classCallCheck(this, UnconnectedContainer); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedContainer).call(this, props)); - _this.initialization = _this.initialization.bind(_assertThisInitialized(_this)); - _this.state = { - errorLoading: false - }; - return _this; - } - - _createClass(UnconnectedContainer, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.initialization(this.props); - } - }, { - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(props) { - this.initialization(props); - } - }, { - key: "initialization", - value: function initialization(props) { - var appLifecycle = props.appLifecycle, - dependenciesRequest = props.dependenciesRequest, - dispatch = props.dispatch, - graphs = props.graphs, - layout = props.layout, - layoutRequest = props.layoutRequest, - paths = props.paths; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layoutRequest)) { - dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_8__["default"])('_dash-layout', 'GET', 'layoutRequest')); - } else if (layoutRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layout)) { - var finalLayout = Object(_persistence__WEBPACK_IMPORTED_MODULE_7__["applyPersistence"])(layoutRequest.content, dispatch); - dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_6__["setLayout"])(finalLayout)); - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isNil"])(paths)) { - dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_6__["computePaths"])({ - subTree: layout, - startingPath: [] - })); - } - } - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(dependenciesRequest)) { - dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_8__["default"])('_dash-dependencies', 'GET', 'dependenciesRequest')); - } else if (dependenciesRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK && Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(graphs)) { - dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_6__["computeGraphs"])(dependenciesRequest.content)); - } - - if ( // dependenciesRequest and its computed stores - dependenciesRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(graphs) && // LayoutRequest and its computed stores - layoutRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layout) && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isNil"])(paths) && // Hasn't already hydrated - appLifecycle === Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_9__["getAppState"])('STARTED')) { - var errorLoading = false; - - try { - dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_6__["hydrateInitialOutputs"])()); - } catch (err) { - errorLoading = true; - } finally { - this.setState(function (state) { - return state.errorLoading !== errorLoading ? { - errorLoading: errorLoading - } : null; - }); - } - } - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - appLifecycle = _this$props.appLifecycle, - dependenciesRequest = _this$props.dependenciesRequest, - layoutRequest = _this$props.layoutRequest, - layout = _this$props.layout, - config = _this$props.config; - var errorLoading = this.state.errorLoading; - - if (layoutRequest.status && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["includes"])(layoutRequest.status, [_constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK, 'loading'])) { - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { - className: "_dash-error" - }, "Error loading layout"); - } else if (errorLoading || dependenciesRequest.status && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["includes"])(dependenciesRequest.status, [_constants_constants__WEBPACK_IMPORTED_MODULE_10__["STATUS"].OK, 'loading'])) { - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { - className: "_dash-error" - }, "Error loading dependencies"); - } else if (appLifecycle === Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_9__["getAppState"])('HYDRATED') && config.ui === true) { - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_components_error_GlobalErrorContainer_react__WEBPACK_IMPORTED_MODULE_5__["default"], null, react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_TreeContainer__WEBPACK_IMPORTED_MODULE_4__["default"], { - _dashprivate_layout: layout, - _dashprivate_path: [] - })); - } else if (appLifecycle === Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_9__["getAppState"])('HYDRATED')) { - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_TreeContainer__WEBPACK_IMPORTED_MODULE_4__["default"], { - _dashprivate_layout: layout, - _dashprivate_path: [] - }); - } - - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { - className: "_dash-loading" - }, "Loading..."); - } - }]); - - return UnconnectedContainer; -}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); - -UnconnectedContainer.propTypes = { - appLifecycle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.oneOf([Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_9__["getAppState"])('STARTED'), Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_9__["getAppState"])('HYDRATED')]), - dispatch: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.func, - dependenciesRequest: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, - layoutRequest: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, - layout: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, - paths: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, - history: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.any, - error: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, - config: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object -}; -var Container = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])( // map state to props -function (state) { - return { - appLifecycle: state.appLifecycle, - dependenciesRequest: state.dependenciesRequest, - layoutRequest: state.layoutRequest, - layout: state.layout, - graphs: state.graphs, - paths: state.paths, - history: state.history, - error: state.error, - config: state.config - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -})(UnconnectedContainer); -/* harmony default export */ __webpack_exports__["default"] = (Container); - -/***/ }), - -/***/ "./src/AppContainer.react.js": -/*!***********************************!*\ - !*** ./src/AppContainer.react.js ***! - \***********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _APIController_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./APIController.react */ "./src/APIController.react.js"); -/* harmony import */ var _components_core_DocumentTitle_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/core/DocumentTitle.react */ "./src/components/core/DocumentTitle.react.js"); -/* harmony import */ var _components_core_Loading_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/core/Loading.react */ "./src/components/core/Loading.react.js"); -/* harmony import */ var _components_core_Toolbar_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/core/Toolbar.react */ "./src/components/core/Toolbar.react.js"); -/* harmony import */ var _components_core_Reloader_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/core/Reloader.react */ "./src/components/core/Reloader.react.js"); -/* harmony import */ var _actions_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/index */ "./src/actions/index.js"); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -/* global document:true */ - - - - - - - - - - - -var UnconnectedAppContainer = -/*#__PURE__*/ -function (_React$Component) { - _inherits(UnconnectedAppContainer, _React$Component); - - function UnconnectedAppContainer(props) { - var _this; - - _classCallCheck(this, UnconnectedAppContainer); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedAppContainer).call(this, props)); - - if (props.hooks.request_pre !== null || props.hooks.request_post !== null) { - props.dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_8__["setHooks"])(props.hooks)); - } - - return _this; - } - - _createClass(UnconnectedAppContainer, [{ - key: "componentWillMount", - value: function componentWillMount() { - var dispatch = this.props.dispatch; - var config = JSON.parse(document.getElementById('_dash-config').textContent); // preset common request params in the config - - config.fetch = { - credentials: 'same-origin', - headers: { - Accept: 'application/json', - 'Content-Type': 'application/json' - } - }; - dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_8__["setConfig"])(config)); - } - }, { - key: "render", - value: function render() { - var config = this.props.config; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_9__["type"])(config) === 'Null') { - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - className: "_dash-loading" - }, "Loading..."); - } - - var show_undo_redo = config.show_undo_redo; - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, null, show_undo_redo ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Toolbar_react__WEBPACK_IMPORTED_MODULE_6__["default"], null) : null, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_APIController_react__WEBPACK_IMPORTED_MODULE_3__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_DocumentTitle_react__WEBPACK_IMPORTED_MODULE_4__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Loading_react__WEBPACK_IMPORTED_MODULE_5__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Reloader_react__WEBPACK_IMPORTED_MODULE_7__["default"], null)); - } - }]); - - return UnconnectedAppContainer; -}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); - -UnconnectedAppContainer.propTypes = { - hooks: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - config: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object -}; -var AppContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - history: state.history, - config: state.config - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -})(UnconnectedAppContainer); -/* harmony default export */ __webpack_exports__["default"] = (AppContainer); - -/***/ }), - -/***/ "./src/AppProvider.react.js": -/*!**********************************!*\ - !*** ./src/AppProvider.react.js ***! - \**********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store */ "./src/store.js"); -/* harmony import */ var _AppContainer_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AppContainer.react */ "./src/AppContainer.react.js"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); - - - - - -var store = Object(_store__WEBPACK_IMPORTED_MODULE_2__["default"])(); - -var AppProvider = function AppProvider(_ref) { - var hooks = _ref.hooks; - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_redux__WEBPACK_IMPORTED_MODULE_1__["Provider"], { - store: store - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AppContainer_react__WEBPACK_IMPORTED_MODULE_3__["default"], { - hooks: hooks - })); -}; - -AppProvider.propTypes = { - hooks: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ - request_pre: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func, - request_post: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func - }) -}; -AppProvider.defaultProps = { - hooks: { - request_pre: null, - request_post: null - } -}; -/* harmony default export */ __webpack_exports__["default"] = (AppProvider); - -/***/ }), - -/***/ "./src/DashRenderer.js": -/*!*****************************!*\ - !*** ./src/DashRenderer.js ***! - \*****************************/ -/*! exports provided: DashRenderer */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DashRenderer", function() { return DashRenderer; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); -/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _AppProvider_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppProvider.react */ "./src/AppProvider.react.js"); -/* eslint-env browser */ - - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - - - - - -var DashRenderer = function DashRenderer(hooks) { - _classCallCheck(this, DashRenderer); - - // render Dash Renderer upon initialising! - react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AppProvider_react__WEBPACK_IMPORTED_MODULE_2__["default"], { - hooks: hooks - }), document.getElementById('react-entry-point')); -}; - - - -/***/ }), - -/***/ "./src/TreeContainer.js": -/*!******************************!*\ - !*** ./src/TreeContainer.js ***! - \******************************/ -/*! exports provided: AugmentedTreeContainer, default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AugmentedTreeContainer", function() { return AugmentedTreeContainer; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./registry */ "./src/registry.js"); -/* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./exceptions */ "./src/exceptions.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions */ "./src/actions/index.js"); -/* harmony import */ var _isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isSimpleComponent */ "./src/isSimpleComponent.js"); -/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./persistence */ "./src/persistence.js"); -/* harmony import */ var _components_error_ComponentErrorBoundary_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/error/ComponentErrorBoundary.react */ "./src/components/error/ComponentErrorBoundary.react.js"); -/* harmony import */ var _checkPropTypes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./checkPropTypes */ "./src/checkPropTypes.js"); -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - - - - - - - - - - - - - -function validateComponent(componentDefinition) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["type"])(componentDefinition) === 'Array') { - throw new Error('The children property of a component is a list of lists, instead ' + 'of just a list. ' + 'Check the component that has the following contents, ' + 'and remove of the levels of nesting: \n' + JSON.stringify(componentDefinition, null, 2)); - } - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["type"])(componentDefinition) === 'Object' && !(Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('namespace', componentDefinition) && Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('type', componentDefinition) && Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('props', componentDefinition))) { - throw new Error('An object was provided as `children` instead of a component, ' + 'string, or number (or list of those). ' + 'Check the children property that looks something like:\n' + JSON.stringify(componentDefinition, null, 2)); - } -} - -var createContainer = function createContainer(component, path) { - return Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(component) ? component : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(AugmentedTreeContainer, { - key: component && component.props && component.props.id, - _dashprivate_layout: component, - _dashprivate_path: path - }); -}; - -function CheckedComponent(p) { - var element = p.element, - extraProps = p.extraProps, - props = p.props, - children = p.children, - type = p.type; - var errorMessage = Object(_checkPropTypes__WEBPACK_IMPORTED_MODULE_10__["default"])(element.propTypes, props, 'component prop', element); - - if (errorMessage) { - Object(_exceptions__WEBPACK_IMPORTED_MODULE_3__["propTypeErrorHandler"])(errorMessage, props, type); - } - - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement.apply(react__WEBPACK_IMPORTED_MODULE_0___default.a, [element, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["mergeRight"])(props, extraProps)].concat(_toConsumableArray(Array.isArray(children) ? children : [children]))); -} - -CheckedComponent.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - element: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - layout: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - extraProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string -}; - -var TreeContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(TreeContainer, _Component); - - function TreeContainer(props) { - var _this; - - _classCallCheck(this, TreeContainer); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(TreeContainer).call(this, props)); - _this.setProps = _this.setProps.bind(_assertThisInitialized(_this)); - return _this; - } - - _createClass(TreeContainer, [{ - key: "setProps", - value: function setProps(newProps) { - var _this$props = this.props, - _dashprivate_dependencies = _this$props._dashprivate_dependencies, - _dashprivate_dispatch = _this$props._dashprivate_dispatch, - _dashprivate_path = _this$props._dashprivate_path, - _dashprivate_layout = _this$props._dashprivate_layout; - var id = this.getLayoutProps().id; // Identify the modified props that are required for callbacks - - var watchedKeys = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["filter"])(function (key) { - return _dashprivate_dependencies && _dashprivate_dependencies.find(function (dependency) { - return dependency.inputs.find(function (input) { - return input.id === id && input.property === key; - }) || dependency.state.find(function (state) { - return state.id === id && state.property === key; - }); - }); - })(Object(ramda__WEBPACK_IMPORTED_MODULE_5__["keysIn"])(newProps)); // setProps here is triggered by the UI - record these changes - // for persistence - - Object(_persistence__WEBPACK_IMPORTED_MODULE_8__["recordUiEdit"])(_dashprivate_layout, newProps, _dashprivate_dispatch); // Always update this component's props - - _dashprivate_dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["updateProps"])({ - props: newProps, - itempath: _dashprivate_path - })); // Only dispatch changes to Dash if a watched prop changed - - - if (watchedKeys.length) { - _dashprivate_dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["notifyObservers"])({ - id: id, - props: Object(ramda__WEBPACK_IMPORTED_MODULE_5__["pick"])(watchedKeys)(newProps) - })); - } - } - }, { - key: "getChildren", - value: function getChildren(components, path) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isNil"])(components)) { - return null; - } - - return Array.isArray(components) ? Object(ramda__WEBPACK_IMPORTED_MODULE_5__["addIndex"])(ramda__WEBPACK_IMPORTED_MODULE_5__["map"])(function (component, i) { - return createContainer(component, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["concat"])(path, ['props', 'children', i])); - }, components) : createContainer(components, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["concat"])(path, ['props', 'children'])); - } - }, { - key: "getComponent", - value: function getComponent(_dashprivate_layout, children, loading_state, setProps) { - var _dashprivate_config = this.props._dashprivate_config; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isEmpty"])(_dashprivate_layout)) { - return null; - } - - if (Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(_dashprivate_layout)) { - return _dashprivate_layout; - } - - validateComponent(_dashprivate_layout); - var element = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(_dashprivate_layout); - var props = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["omit"])(['children'], _dashprivate_layout.props); - return _dashprivate_config.props_check ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_error_ComponentErrorBoundary_react__WEBPACK_IMPORTED_MODULE_9__["default"], { - componentType: _dashprivate_layout.type, - componentId: _dashprivate_layout.props.id, - key: element && element.props && element.props.id - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CheckedComponent, { - children: children, - element: element, - props: props, - extraProps: { - loading_state: loading_state, - setProps: setProps - }, - type: _dashprivate_layout.type - })) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_error_ComponentErrorBoundary_react__WEBPACK_IMPORTED_MODULE_9__["default"], { - componentType: _dashprivate_layout.type, - componentId: _dashprivate_layout.props.id, - key: element && element.props && element.props.id - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement.apply(react__WEBPACK_IMPORTED_MODULE_0___default.a, [element, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["mergeRight"])(props, { - loading_state: loading_state, - setProps: setProps - })].concat(_toConsumableArray(Array.isArray(children) ? children : [children])))); - } - }, { - key: "shouldComponentUpdate", - value: function shouldComponentUpdate(nextProps) { - var _dashprivate_layout = nextProps._dashprivate_layout, - _dashprivate_loadingState = nextProps._dashprivate_loadingState; - return _dashprivate_layout !== this.props._dashprivate_layout || _dashprivate_loadingState.is_loading !== this.props._dashprivate_loadingState.is_loading; - } - }, { - key: "getLayoutProps", - value: function getLayoutProps() { - return Object(ramda__WEBPACK_IMPORTED_MODULE_5__["propOr"])({}, 'props', this.props._dashprivate_layout); - } - }, { - key: "render", - value: function render() { - var _this$props2 = this.props, - _dashprivate_layout = _this$props2._dashprivate_layout, - _dashprivate_loadingState = _this$props2._dashprivate_loadingState, - _dashprivate_path = _this$props2._dashprivate_path; - var layoutProps = this.getLayoutProps(); - var children = this.getChildren(layoutProps.children, _dashprivate_path); - return this.getComponent(_dashprivate_layout, children, _dashprivate_loadingState, this.setProps); - } - }]); - - return TreeContainer; -}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - -TreeContainer.propTypes = { - _dashprivate_dependencies: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - _dashprivate_dispatch: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func, - _dashprivate_layout: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _dashprivate_loadingState: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _dashprivate_requestQueue: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, - _dashprivate_config: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - _dashprivate_path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array -}; - -function isLoadingComponent(layout) { - validateComponent(layout); - return _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(layout)._dashprivate_isLoadingComponent; -} - -function getNestedIds(layout) { - var ids = []; - var queue = [layout]; - - while (queue.length) { - var elementLayout = queue.shift(); - var props = elementLayout && elementLayout.props; - - if (!props) { - continue; - } - - var children = props.children, - id = props.id; - - if (id) { - ids.push(id); - } - - if (children) { - var filteredChildren = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["filter"])(function (child) { - return !Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(child) && !isLoadingComponent(child); - }, Array.isArray(children) ? children : [children]); - queue.push.apply(queue, _toConsumableArray(filteredChildren)); - } - } - - return ids; -} - -function getLoadingState(layout, requestQueue) { - var ids = isLoadingComponent(layout) ? getNestedIds(layout) : layout && layout.props.id ? [layout.props.id] : []; - var isLoading = false; - var loadingProp; - var loadingComponent; - - if (requestQueue) { - Object(ramda__WEBPACK_IMPORTED_MODULE_5__["forEach"])(function (r) { - var controllerId = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isNil"])(r.controllerId) ? '' : r.controllerId; - - if (r.status === 'loading' && Object(ramda__WEBPACK_IMPORTED_MODULE_5__["any"])(function (id) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_5__["includes"])(id, controllerId); - }, ids)) { - isLoading = true; - - var _r$controllerId$split = r.controllerId.split('.'); - - var _r$controllerId$split2 = _slicedToArray(_r$controllerId$split, 2); - - loadingComponent = _r$controllerId$split2[0]; - loadingProp = _r$controllerId$split2[1]; - } - }, requestQueue); - } // Set loading state - - - return { - is_loading: isLoading, - prop_name: loadingProp, - component_name: loadingComponent - }; -} - -var AugmentedTreeContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_4__["connect"])(function (state) { - return { - dependencies: state.dependenciesRequest.content, - requestQueue: state.requestQueue, - config: state.config - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -}, function (stateProps, dispatchProps, ownProps) { - return { - _dashprivate_dependencies: stateProps.dependencies, - _dashprivate_dispatch: dispatchProps.dispatch, - _dashprivate_layout: ownProps._dashprivate_layout, - _dashprivate_path: ownProps._dashprivate_path, - _dashprivate_loadingState: getLoadingState(ownProps._dashprivate_layout, stateProps.requestQueue), - _dashprivate_requestQueue: stateProps.requestQueue, - _dashprivate_config: stateProps.config - }; -})(TreeContainer); -/* harmony default export */ __webpack_exports__["default"] = (AugmentedTreeContainer); - -/***/ }), - -/***/ "./src/actions/api.js": -/*!****************************!*\ - !*** ./src/actions/api.js ***! - \****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return apiThunk; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils.js"); -/* global fetch: true */ - - - - -function GET(path, fetchConfig) { - return fetch(path, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(fetchConfig, { - method: 'GET', - headers: Object(_actions__WEBPACK_IMPORTED_MODULE_1__["getCSRFHeader"])() - })); -} - -function POST(path, fetchConfig) { - var body = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; - return fetch(path, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(fetchConfig, { - method: 'POST', - headers: Object(_actions__WEBPACK_IMPORTED_MODULE_1__["getCSRFHeader"])(), - body: body ? JSON.stringify(body) : null - })); -} - -var request = { - GET: GET, - POST: POST -}; -function apiThunk(endpoint, method, store, id, body) { - return function (dispatch, getState) { - var config = getState().config; - var url = "".concat(Object(_utils__WEBPACK_IMPORTED_MODULE_2__["urlBase"])(config)).concat(endpoint); - dispatch({ - type: store, - payload: { - id: id, - status: 'loading' - } - }); - return request[method](url, config.fetch, body).then(function (res) { - var contentType = res.headers.get('content-type'); - - if (contentType && contentType.indexOf('application/json') !== -1) { - return res.json().then(function (json) { - dispatch({ - type: store, - payload: { - status: res.status, - content: json, - id: id - } - }); - return json; - }); - } - - return dispatch({ - type: store, - payload: { - id: id, - status: res.status - } - }); - })["catch"](function (err) { - var message = 'Error from API call: ' + endpoint; - Object(_actions__WEBPACK_IMPORTED_MODULE_1__["handleAsyncError"])(err, message, dispatch); - }); - }; -} - -/***/ }), - -/***/ "./src/actions/constants.js": -/*!**********************************!*\ - !*** ./src/actions/constants.js ***! - \**********************************/ -/*! exports provided: getAction */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAction", function() { return getAction; }); -var actionList = { - ON_PROP_CHANGE: 'ON_PROP_CHANGE', - SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE', - COMPUTE_GRAPHS: 'COMPUTE_GRAPHS', - COMPUTE_PATHS: 'COMPUTE_PATHS', - SET_LAYOUT: 'SET_LAYOUT', - SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE', - SET_CONFIG: 'SET_CONFIG', - ON_ERROR: 'ON_ERROR', - SET_HOOKS: 'SET_HOOKS' -}; -var getAction = function getAction(action) { - if (actionList[action]) { - return actionList[action]; - } - - throw new Error("".concat(action, " is not defined.")); -}; - -/***/ }), - -/***/ "./src/actions/index.js": -/*!******************************!*\ - !*** ./src/actions/index.js ***! - \******************************/ -/*! exports provided: updateProps, setRequestQueue, computeGraphs, computePaths, setAppLifecycle, setConfig, setHooks, setLayout, onError, hydrateInitialOutputs, getCSRFHeader, redo, undo, revert, notifyObservers, handleAsyncError, serialize */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateProps", function() { return updateProps; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setRequestQueue", function() { return setRequestQueue; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computeGraphs", function() { return computeGraphs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computePaths", function() { return computePaths; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setAppLifecycle", function() { return setAppLifecycle; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConfig", function() { return setConfig; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setHooks", function() { return setHooks; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLayout", function() { return setLayout; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onError", function() { return onError; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrateInitialOutputs", function() { return hydrateInitialOutputs; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCSRFHeader", function() { return getCSRFHeader; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "redo", function() { return redo; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "undo", function() { return undo; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "revert", function() { return revert; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "notifyObservers", function() { return notifyObservers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleAsyncError", function() { return handleAsyncError; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "serialize", function() { return serialize; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/lib/index.js"); -/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(redux_actions__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _reducers_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../reducers/utils */ "./src/reducers/utils.js"); -/* harmony import */ var _reducers_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../reducers/constants */ "./src/reducers/constants.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./constants */ "./src/actions/constants.js"); -/* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! cookie */ "./node_modules/cookie/index.js"); -/* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils */ "./src/utils.js"); -/* harmony import */ var _constants_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../constants/constants */ "./src/constants/constants.js"); -/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../persistence */ "./src/persistence.js"); -/* harmony import */ var _isAppReady__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./isAppReady */ "./src/actions/isAppReady.js"); -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -/* global fetch:true, Promise:true, document:true */ - - - - - - - - - - -var updateProps = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('ON_PROP_CHANGE')); -var setRequestQueue = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('SET_REQUEST_QUEUE')); -var computeGraphs = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('COMPUTE_GRAPHS')); -var computePaths = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('COMPUTE_PATHS')); -var setAppLifecycle = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('SET_APP_LIFECYCLE')); -var setConfig = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('SET_CONFIG')); -var setHooks = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('SET_HOOKS')); -var setLayout = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('SET_LAYOUT')); -var onError = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_4__["getAction"])('ON_ERROR')); -function hydrateInitialOutputs() { - return function (dispatch, getState) { - triggerDefaultState(dispatch, getState); - dispatch(setAppLifecycle(Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_3__["getAppState"])('HYDRATED'))); - }; -} -function getCSRFHeader() { - return { - 'X-CSRFToken': cookie__WEBPACK_IMPORTED_MODULE_5___default.a.parse(document.cookie)._csrf_token - }; -} - -function triggerDefaultState(dispatch, getState) { - var _getState = getState(), - graphs = _getState.graphs; - - var InputGraph = graphs.InputGraph, - MultiGraph = graphs.MultiGraph; - var allNodes = InputGraph.overallOrder(); // overallOrder will assert circular dependencies for multi output. - - try { - MultiGraph.overallOrder(); - } catch (err) { - dispatch(onError({ - type: 'backEnd', - error: { - message: 'Circular Dependencies', - html: err.toString() - } - })); - } - - var inputNodeIds = []; - allNodes.reverse(); - allNodes.forEach(function (nodeId) { - var componentId = nodeId.split('.')[0]; - /* - * Filter out the outputs, - * inputs that aren't leaves, - * and the invisible inputs - */ - - if (InputGraph.dependenciesOf(nodeId).length > 0 && InputGraph.dependantsOf(nodeId).length === 0 && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(componentId, getState().paths)) { - inputNodeIds.push(nodeId); - } - }); - reduceInputIds(inputNodeIds, InputGraph).forEach(function (inputOutput) { - var _inputOutput$input$sp = inputOutput.input.split('.'), - _inputOutput$input$sp2 = _slicedToArray(_inputOutput$input$sp, 2), - componentId = _inputOutput$input$sp2[0], - componentProp = _inputOutput$input$sp2[1]; // Get the initial property - - - var propLens = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(getState().paths[componentId], ['props', componentProp])); - var propValue = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(propLens, getState().layout); - dispatch(notifyObservers({ - id: componentId, - props: _defineProperty({}, componentProp, propValue), - excludedOutputs: inputOutput.excludedOutputs - })); - }); -} - -function redo() { - return function (dispatch, getState) { - var history = getState().history; - dispatch(Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('REDO')()); - var next = history.future[0]; // Update props - - dispatch(Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('REDO_PROP_CHANGE')({ - itempath: getState().paths[next.id], - props: next.props - })); // Notify observers - - dispatch(notifyObservers({ - id: next.id, - props: next.props - })); - }; -} -var UNDO = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('UNDO')(); -function undo() { - return undo_revert(UNDO); -} -var REVERT = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('REVERT')(); -function revert() { - return undo_revert(REVERT); -} - -function undo_revert(undo_or_revert) { - return function (dispatch, getState) { - var history = getState().history; - dispatch(undo_or_revert); - var previous = history.past[history.past.length - 1]; // Update props - - dispatch(Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('UNDO_PROP_CHANGE')({ - itempath: getState().paths[previous.id], - props: previous.props - })); // Notify observers - - dispatch(notifyObservers({ - id: previous.id, - props: previous.props - })); - }; -} - -function reduceInputIds(nodeIds, InputGraph) { - /* - * Create input-output(s) pairs, - * sort by number of outputs, - * and remove redundant inputs (inputs that update the same output) - */ - var inputOutputPairs = nodeIds.map(function (nodeId) { - return { - input: nodeId, - // TODO - Does this include grandchildren? - outputs: InputGraph.dependenciesOf(nodeId), - excludedOutputs: [] - }; - }); - var sortedInputOutputPairs = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(function (a, b) { - return b.outputs.length - a.outputs.length; - }, inputOutputPairs); - /* - * In some cases, we may have unique outputs but inputs that could - * trigger components to update multiple times. - * - * For example, [A, B] => C and [A, D] => E - * The unique inputs might be [A, B, D] but that is redundant. - * We only need to update B and D or just A. - * - * In these cases, we'll supply an additional list of outputs - * to exclude. - */ - - sortedInputOutputPairs.forEach(function (pair, i) { - var outputsThatWillBeUpdated = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flatten"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pluck"])('outputs', Object(ramda__WEBPACK_IMPORTED_MODULE_0__["slice"])(0, i, sortedInputOutputPairs))); - pair.outputs.forEach(function (output) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(output, outputsThatWillBeUpdated)) { - pair.excludedOutputs.push(output); - } - }); - }); - return sortedInputOutputPairs; -} - -function notifyObservers(payload) { - return function _callee(dispatch, getState) { - var id, props, excludedOutputs, _getState2, dependenciesRequest, graphs, layout, paths, requestQueue, InputGraph, outputObservers, changedProps, depOrder, queuedObservers, deps, ids, newRequestQueue, promises, i, outputIdAndProp, requestUid; - - return regeneratorRuntime.async(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - id = payload.id, props = payload.props, excludedOutputs = payload.excludedOutputs; - _getState2 = getState(), dependenciesRequest = _getState2.dependenciesRequest, graphs = _getState2.graphs, layout = _getState2.layout, paths = _getState2.paths, requestQueue = _getState2.requestQueue; - InputGraph = graphs.InputGraph; - /* - * Figure out all of the output id's that depend on this input. - * This includes id's that are direct children as well as - * grandchildren. - * grandchildren will get filtered out in a later stage. - */ - - outputObservers = []; - changedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(props); - changedProps.forEach(function (propName) { - var node = "".concat(id, ".").concat(propName); - - if (!InputGraph.hasNode(node)) { - return; - } - - InputGraph.dependenciesOf(node).forEach(function (outputId) { - /* - * Multiple input properties that update the same - * output can change at once. - * For example, `n_clicks` and `n_clicks_previous` - * on a button component. - * We only need to update the output once for this - * update, so keep outputObservers unique. - */ - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(outputId, outputObservers)) { - outputObservers.push(outputId); - } - }); - }); - - if (excludedOutputs) { - outputObservers = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["reject"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flip"])(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(excludedOutputs), outputObservers); - } - - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(outputObservers)) { - _context.next = 9; - break; - } - - return _context.abrupt("return"); - - case 9: - /* - * There may be several components that depend on this input. - * And some components may depend on other components before - * updating. Get this update order straightened out. - */ - depOrder = InputGraph.overallOrder(); - outputObservers = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(function (a, b) { - return depOrder.indexOf(b) - depOrder.indexOf(a); - }, outputObservers); - queuedObservers = []; - outputObservers.forEach(function filterObservers(outputIdAndProp) { - var outputIds; - - if (Object(_utils__WEBPACK_IMPORTED_MODULE_6__["isMultiOutputProp"])(outputIdAndProp)) { - outputIds = Object(_utils__WEBPACK_IMPORTED_MODULE_6__["parseMultipleOutputs"])(outputIdAndProp).map(function (e) { - return e.split('.')[0]; - }); - } else { - outputIds = [outputIdAndProp.split('.')[0]]; - } - /* - * before we make the POST to update the output, check - * that the output doesn't depend on any other inputs that - * that depend on the same controller. - * if the output has another input with a shared controller, - * then don't update this output yet. - * when each dependency updates, it'll dispatch its own - * `notifyObservers` action which will allow this - * component to update. - * - * for example, if A updates B and C (A -> [B, C]) and B updates C - * (B -> C), then when A updates, this logic will - * reject C from the queue since it will end up getting updated - * by B. - * - * in this case, B will already be in queuedObservers by the time - * this loop hits C because of the overallOrder sorting logic - */ - - - var controllers = InputGraph.dependantsOf(outputIdAndProp); - var controllersInFutureQueue = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["intersection"])(queuedObservers, controllers); - /* - * check that the output hasn't been triggered to update already - * by a different input. - * - * for example: - * Grandparent -> [Parent A, Parent B] -> Child - * - * when Grandparent changes, it will trigger Parent A and Parent B - * to each update Child. - * one of the components (Parent A or Parent B) will queue up - * the change for Child. if this update has already been queued up, - * then skip the update for the other component - */ - - var controllerIsInExistingQueue = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["any"])(function (r) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(r.controllerId, controllers) && r.status === 'loading'; - }, requestQueue); - /* - * TODO - Place throttling logic here? - * - * Only process the last two requests for a _single_ output - * at a time. - * - * For example, if A -> B, and A is changed 10 times, then: - * 1 - processing the first two requests - * 2 - if more than 2 requests come in while the first two - * are being processed, then skip updating all of the - * requests except for the last 2 - */ - - /* - * also check that this observer is actually in the current - * component tree. - * observers don't actually need to be rendered at the moment - * of a controller change. - * for example, perhaps the user has hidden one of the observers - */ - - if (controllersInFutureQueue.length === 0 && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["any"])(function (e) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(e, getState().paths); - })(outputIds) && !controllerIsInExistingQueue) { - queuedObservers.push(outputIdAndProp); - } - }); - /** - * Determine the id of all components used as input or state in the callbacks - * triggered by the props change. - * - * Wait for all components associated to these ids to be ready before initiating - * the callbacks. - */ - - deps = queuedObservers.map(function (output) { - return dependenciesRequest.content.find(function (dependency) { - return dependency.output === output; - }); - }); - ids = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["uniq"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flatten"])(deps.map(function (dep) { - return [dep.inputs.map(function (input) { - return input.id; - }), dep.state.map(function (state) { - return state.id; - })]; - }))); - _context.next = 17; - return regeneratorRuntime.awrap(Object(_isAppReady__WEBPACK_IMPORTED_MODULE_9__["default"])(layout, paths, ids)); - - case 17: - /* - * record the set of output IDs that will eventually need to be - * updated in a queue. not all of these requests will be fired in this - * action - */ - newRequestQueue = queuedObservers.map(function (i) { - return { - controllerId: i, - status: 'loading', - uid: Object(_utils__WEBPACK_IMPORTED_MODULE_6__["uid"])(), - requestTime: Date.now() - }; - }); - dispatch(setRequestQueue(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(requestQueue, newRequestQueue))); - promises = []; - - for (i = 0; i < queuedObservers.length; i++) { - outputIdAndProp = queuedObservers[i]; - requestUid = newRequestQueue[i].uid; - promises.push(updateOutput(outputIdAndProp, getState, requestUid, dispatch, changedProps.map(function (prop) { - return "".concat(id, ".").concat(prop); - }))); - } - /* eslint-disable consistent-return */ - - - return _context.abrupt("return", Promise.all(promises)); - - case 22: - case "end": - return _context.stop(); - } - } - }); - }; -} - -function updateOutput(outputIdAndProp, getState, requestUid, dispatch, changedPropIds) { - var _getState3 = getState(), - config = _getState3.config, - layout = _getState3.layout, - graphs = _getState3.graphs, - dependenciesRequest = _getState3.dependenciesRequest, - hooks = _getState3.hooks; - - var InputGraph = graphs.InputGraph; - - var getThisRequestIndex = function getThisRequestIndex() { - var postRequestQueue = getState().requestQueue; - var thisRequestIndex = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["findIndex"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["propEq"])('uid', requestUid), postRequestQueue); - return thisRequestIndex; - }; - - var updateRequestQueue = function updateRequestQueue(rejected, status) { - var postRequestQueue = getState().requestQueue; - var thisRequestIndex = getThisRequestIndex(); - - if (thisRequestIndex === -1) { - // It was already pruned away - return; - } - - var updatedQueue = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["adjust"])(thisRequestIndex, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeLeft"])({ - status: status, - responseTime: Date.now(), - rejected: rejected - }), postRequestQueue); // We don't need to store any requests before this one - - var thisControllerId = postRequestQueue[thisRequestIndex].controllerId; - var prunedQueue = updatedQueue.filter(function (queueItem, index) { - return queueItem.controllerId !== thisControllerId || index >= thisRequestIndex; - }); - dispatch(setRequestQueue(prunedQueue)); - }; - /* - * Construct a payload of the input and state. - * For example: - * { - * inputs: [{'id': 'input1', 'property': 'new value'}], - * state: [{'id': 'state1', 'property': 'existing value'}] - * } - */ - // eslint-disable-next-line no-unused-vars - - - var _outputIdAndProp$spli = outputIdAndProp.split('.'), - _outputIdAndProp$spli2 = _slicedToArray(_outputIdAndProp$spli, 2), - outputComponentId = _outputIdAndProp$spli2[0], - _ = _outputIdAndProp$spli2[1]; - - var payload = { - output: outputIdAndProp, - changedPropIds: changedPropIds - }; - - var _dependenciesRequest$ = dependenciesRequest.content.find(function (dependency) { - return dependency.output === outputIdAndProp; - }), - inputs = _dependenciesRequest$.inputs, - state = _dependenciesRequest$.state, - clientside_function = _dependenciesRequest$.clientside_function; - - var validKeys = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(getState().paths); - payload.inputs = inputs.map(function (inputObject) { - // Make sure the component id exists in the layout - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(inputObject.id, validKeys)) { - throw new ReferenceError('An invalid input object was used in an ' + '`Input` of a Dash callback. ' + 'The id of this object is `' + inputObject.id + '` and the property is `' + inputObject.property + '`. The list of ids in the current layout is ' + '`[' + validKeys.join(', ') + ']`'); - } - - var propLens = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(getState().paths[inputObject.id], ['props', inputObject.property])); - return { - id: inputObject.id, - property: inputObject.property, - value: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(propLens, layout) - }; - }); - var inputsPropIds = inputs.map(function (p) { - return "".concat(p.id, ".").concat(p.property); - }); - payload.changedPropIds = changedPropIds.filter(function (p) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(p, inputsPropIds); - }); - - if (state.length > 0) { - payload.state = state.map(function (stateObject) { - // Make sure the component id exists in the layout - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(stateObject.id, validKeys)) { - throw new ReferenceError('An invalid input object was used in a ' + '`State` object of a Dash callback. ' + 'The id of this object is `' + stateObject.id + '` and the property is `' + stateObject.property + '`. The list of ids in the current layout is ' + '`[' + validKeys.join(', ') + ']`'); - } - - var propLens = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(getState().paths[stateObject.id], ['props', stateObject.property])); - return { - id: stateObject.id, - property: stateObject.property, - value: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(propLens, layout) - }; - }); - } - - function doUpdateProps(id, updatedProps) { - var _getState4 = getState(), - layout = _getState4.layout, - paths = _getState4.paths; - - var itempath = paths[id]; - - if (!itempath) { - return false; - } // This is a callback-generated update. - // Check if this invalidates existing persisted prop values, - // or if persistence changed, whether this updates other props. - - - var updatedProps2 = Object(_persistence__WEBPACK_IMPORTED_MODULE_8__["prunePersistence"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(itempath, layout), updatedProps, dispatch); // In case the update contains whole components, see if any of - // those components have props to update to persist user edits. - - var _applyPersistence = Object(_persistence__WEBPACK_IMPORTED_MODULE_8__["applyPersistence"])({ - props: updatedProps2 - }, dispatch), - props = _applyPersistence.props; - - dispatch(updateProps({ - itempath: itempath, - props: props, - source: 'response' - })); - return props; - } // Clientside hook - - - if (clientside_function) { - var updateClientsideOutput = function updateClientsideOutput(outputIdAndProp, outputValue) { - var _outputIdAndProp$spli3 = outputIdAndProp.split('.'), - _outputIdAndProp$spli4 = _slicedToArray(_outputIdAndProp$spli3, 2), - outputId = _outputIdAndProp$spli4[0], - outputProp = _outputIdAndProp$spli4[1]; - - var updatedProps = _defineProperty({}, outputProp, outputValue); - /* - * Update the request queue by treating a successful clientside - * like a successful serverside response (200 status code) - */ - - - updateRequestQueue(false, _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].OK); - /* - * Prevent update. - */ - - if (outputValue === window.dash_clientside.no_update) { - return; - } // Update the layout with the new result - - - var appliedProps = doUpdateProps(outputId, updatedProps); - /* - * This output could itself be a serverside or clientside input - * to another function - */ - - if (appliedProps) { - dispatch(notifyObservers({ - id: outputId, - props: appliedProps - })); - } - }; - - var returnValue; - /* - * Create the dash_clientside namespace if it doesn't exist and inject - * no_update and PreventUpdate. - */ - - if (!window.dash_clientside) { - window.dash_clientside = {}; - } - - if (!window.dash_clientside.no_update) { - Object.defineProperty(window.dash_clientside, 'no_update', { - value: { - description: 'Return to prevent updating an Output.' - }, - writable: false - }); - Object.defineProperty(window.dash_clientside, 'PreventUpdate', { - value: { - description: 'Throw to prevent updating all Outputs.' - }, - writable: false - }); - } - - try { - var _window$dash_clientsi; - - returnValue = (_window$dash_clientsi = window.dash_clientside[clientside_function.namespace])[clientside_function.function_name].apply(_window$dash_clientsi, _toConsumableArray(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pluck"])('value', payload.inputs)).concat(_toConsumableArray(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('state', payload) ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pluck"])('value', payload.state) : []))); - } catch (e) { - /* - * Prevent all updates. - */ - if (e === window.dash_clientside.PreventUpdate) { - updateRequestQueue(true, _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].PREVENT_UPDATE); - return; - } - /* eslint-disable no-console */ - - - console.error("The following error occurred while executing ".concat(clientside_function.namespace, ".").concat(clientside_function.function_name, " ") + "in order to update component \"".concat(payload.output, "\" \u22C1\u22C1\u22C1")); - console.error(e); - /* eslint-enable no-console */ - - /* - * Update the request queue by treating an unsuccessful clientside - * like a failed serverside response via same request queue - * mechanism - */ - - updateRequestQueue(true, _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].CLIENTSIDE_ERROR); - return; - } // Returning promises isn't support atm - - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(returnValue) === 'Promise') { - /* eslint-disable no-console */ - console.error('The clientside function ' + "".concat(clientside_function.namespace, ".").concat(clientside_function.function_name, " ") + 'returned a Promise instead of a value. Promises are not ' + 'supported in Dash clientside right now, but may be in the ' + 'future.'); - /* eslint-enable no-console */ - - updateRequestQueue(true, _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].CLIENTSIDE_ERROR); - return; - } - - if (Object(_utils__WEBPACK_IMPORTED_MODULE_6__["isMultiOutputProp"])(payload.output)) { - Object(_utils__WEBPACK_IMPORTED_MODULE_6__["parseMultipleOutputs"])(payload.output).forEach(function (outputPropId, i) { - updateClientsideOutput(outputPropId, returnValue[i]); - }); - } else { - updateClientsideOutput(payload.output, returnValue); - } - /* - * Note that unlike serverside updates, we're not handling - * children as components right now, so we don't need to - * crawl the computed result to check for nested components - * or properties that might trigger other inputs. - * In the future, we could handle this case. - */ - - - return; - } - - if (hooks.request_pre !== null) { - hooks.request_pre(payload); - } - /* eslint-disable consistent-return */ - - - return fetch("".concat(Object(_utils__WEBPACK_IMPORTED_MODULE_6__["urlBase"])(config), "_dash-update-component"), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(config.fetch, { - /* eslint-enable consistent-return */ - method: 'POST', - headers: getCSRFHeader(), - body: JSON.stringify(payload) - })).then(function handleResponse(res) { - var isRejected = function isRejected() { - var latestRequestIndex = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["findLastIndex"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["propEq"])('controllerId', outputIdAndProp), getState().requestQueue); - /* - * Note that if the latest request is still `loading` - * or even if the latest request failed, - * we still reject this response in favor of waiting - * for the latest request to finish. - */ - - var rejected = latestRequestIndex > getThisRequestIndex(); - return rejected; - }; - - if (res.status !== _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].OK) { - // update the status of this request - updateRequestQueue(true, res.status); - /* - * This is a 204 response code, there's no content to process. - */ - - if (res.status === _constants_constants__WEBPACK_IMPORTED_MODULE_7__["STATUS"].PREVENT_UPDATE) { - return; - } - /* - * eject into `catch` handler below to display error - * message in ui - */ - - - throw res; - } - /* - * Check to see if another request has already come back - * _after_ this one. - * If so, ignore this request. - */ - - - if (isRejected()) { - updateRequestQueue(true, res.status); - return; - } - - res.json().then(function handleJson(data) { - /* - * Even if the `res` was received in the correct order, - * the remainder of the response (res.json()) could happen - * at different rates causing the parsed responses to - * get out of order - */ - if (isRejected()) { - updateRequestQueue(true, res.status); - return; - } - - updateRequestQueue(false, res.status); // Fire custom request_post hook if any - - if (hooks.request_post !== null) { - hooks.request_post(payload, data.response); - } - /* - * it's possible that this output item is no longer visible. - * for example, the could still be request running when - * the user switched the chapter - * - * if it's not visible, then ignore the rest of the updates - * to the store - */ - - - var multi = data.multi; - - var handleResponse = function handleResponse(_ref) { - var _ref2 = _slicedToArray(_ref, 2), - outputIdAndProp = _ref2[0], - props = _ref2[1]; - - // Backward compatibility - var pathKey = multi ? outputIdAndProp : outputComponentId; - var appliedProps = doUpdateProps(pathKey, props); - - if (!appliedProps) { - return; - } - - dispatch(notifyObservers({ - id: pathKey, - props: appliedProps - })); - /* - * If the response includes children, then we need to update our - * paths store. - * TODO - Do we need to wait for updateProps to finish? - */ - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('children', appliedProps)) { - var newChildren = appliedProps.children; - dispatch(computePaths({ - subTree: newChildren, - startingPath: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(getState().paths[pathKey], ['props', 'children']) - })); - /* - * if children contains objects with IDs, then we - * need to dispatch a propChange for all of these - * new children components - */ - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(newChildren), ['Array', 'Object']) && !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(newChildren)) { - /* - * TODO: We're just naively crawling - * the _entire_ layout to recompute the - * the dependency graphs. - * We don't need to do this - just need - * to compute the subtree - */ - var newProps = {}; - Object(_reducers_utils__WEBPACK_IMPORTED_MODULE_2__["crawlLayout"])(newChildren, function appendIds(child) { - if (Object(_reducers_utils__WEBPACK_IMPORTED_MODULE_2__["hasId"])(child)) { - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(child.props).forEach(function (childProp) { - var componentIdAndProp = "".concat(child.props.id, ".").concat(childProp); - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(componentIdAndProp, InputGraph.nodes)) { - newProps[componentIdAndProp] = { - id: child.props.id, - props: _defineProperty({}, childProp, child.props[childProp]) - }; - } - }); - } - }); - /* - * Organize props by shared outputs so that we - * only make one request per output component - * (even if there are multiple inputs). - * - * For example, we might render 10 inputs that control - * a single output. If that is the case, we only want - * to make a single call, not 10 calls. - */ - - /* - * In some cases, the new item will be an output - * with its inputs already rendered (not rendered) - * as part of this update. - * For example, a tab with global controls that - * renders different content containers without any - * additional inputs. - * - * In that case, we'll call `updateOutput` with that output - * and just "pretend" that one if its inputs changed. - * - * If we ever add logic that informs the user on - * "which input changed", we'll have to account for this - * special case (no input changed?) - */ - - var outputIds = []; - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(newProps).forEach(function (idAndProp) { - if ( // It's an output - InputGraph.dependenciesOf(idAndProp).length === 0 && - /* - * And none of its inputs are generated in this - * request - */ - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["intersection"])(InputGraph.dependantsOf(idAndProp), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(newProps)).length === 0) { - outputIds.push(idAndProp); - delete newProps[idAndProp]; - } - }); // Dispatch updates to inputs - - var reducedNodeIds = reduceInputIds(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(newProps), InputGraph); - var depOrder = InputGraph.overallOrder(); - var sortedNewProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(function (a, b) { - return depOrder.indexOf(a.input) - depOrder.indexOf(b.input); - }, reducedNodeIds); - sortedNewProps.forEach(function (inputOutput) { - var payload = newProps[inputOutput.input]; - payload.excludedOutputs = inputOutput.excludedOutputs; - dispatch(notifyObservers(payload)); - }); // Dispatch updates to lone outputs - - outputIds.forEach(function (idAndProp) { - var requestUid = Object(_utils__WEBPACK_IMPORTED_MODULE_6__["uid"])(); - dispatch(setRequestQueue(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])({ - // TODO - Are there any implications of doing this?? - controllerId: null, - status: 'loading', - uid: requestUid, - requestTime: Date.now() - }, getState().requestQueue))); - updateOutput(idAndProp, getState, requestUid, dispatch, changedPropIds); - }); - } - } - }; - - if (multi) { - Object.entries(data.response).forEach(handleResponse); - } else { - handleResponse([outputIdAndProp, data.response.props]); - } - }); - })["catch"](function (err) { - var message = "Callback error updating ".concat(Object(_utils__WEBPACK_IMPORTED_MODULE_6__["isMultiOutputProp"])(payload.output) ? Object(_utils__WEBPACK_IMPORTED_MODULE_6__["parseMultipleOutputs"])(payload.output).join(', ') : payload.output); - handleAsyncError(err, message, dispatch); - }); -} - -function handleAsyncError(err, message, dispatch) { - // Handle html error responses - var errText = err && typeof err.text === 'function' ? err.text() : Promise.resolve(err); - errText.then(function (text) { - dispatch(onError({ - type: 'backEnd', - error: { - message: message, - html: text - } - })); - }); -} -function serialize(state) { - // Record minimal input state in the url - var graphs = state.graphs, - paths = state.paths, - layout = state.layout; - var InputGraph = graphs.InputGraph; - var allNodes = InputGraph.nodes; - var savedState = {}; - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(allNodes).forEach(function (nodeId) { - var _nodeId$split = nodeId.split('.'), - _nodeId$split2 = _slicedToArray(_nodeId$split, 2), - componentId = _nodeId$split2[0], - componentProp = _nodeId$split2[1]; - /* - * Filter out the outputs, - * and the invisible inputs - */ - - - if (InputGraph.dependenciesOf(nodeId).length > 0 && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(componentId, paths)) { - // Get the property - var propLens = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(paths[componentId], ['props', componentProp])); - var propValue = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(propLens, layout); - savedState[nodeId] = propValue; - } - }); - return savedState; -} - -/***/ }), - -/***/ "./src/actions/isAppReady.js": -/*!***********************************!*\ - !*** ./src/actions/isAppReady.js ***! - \***********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @plotly/dash-component-plugins */ "./node_modules/@plotly/dash-component-plugins/dist/index.js"); -/* harmony import */ var _plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../registry */ "./src/registry.js"); - - - -/* harmony default export */ __webpack_exports__["default"] = (function (layout, paths, targets) { - var promises = []; - targets.forEach(function (id) { - var pathOfId = paths[id]; - - if (!pathOfId) { - return; - } - - var target = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(pathOfId, layout); - - if (!target) { - return; - } - - var component = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(target); - var ready = Object(_plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__["isReady"])(component); - - if (ready && typeof ready.then === 'function') { - promises.push(ready); - } - }); - return promises.length ? Promise.all(promises) : true; -}); - -/***/ }), - -/***/ "./src/checkPropTypes.js": -/*!*******************************!*\ - !*** ./src/checkPropTypes.js ***! - \*******************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return checkPropTypes; }); -/* harmony import */ var prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types/lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); -/* harmony import */ var prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0__); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -/* - * Copied out of prop-types and modified - inspired by check-prop-types, but - * simplified and tweaked to our needs: we don't need the NODE_ENV check, - * we report all errors, not just the first one, and we don't need the throwing - * variant `assertPropTypes`. - */ - -/** - * Assert that the values match with the type specs. - * - * @param {object} typeSpecs Map of name to a ReactPropType - * @param {object} values Runtime values that need to be type-checked - * @param {string} location e.g. "prop", "context", "child context" - * @param {string} componentName Name of the component for error messages. - * @param {?Function} getStack Returns the component stack. - * @return {string} Any error messsage resulting from checking the types - */ - -function checkPropTypes(typeSpecs, values, location, componentName, getStack) { - var errors = []; - - for (var typeSpecName in typeSpecs) { - if (typeSpecs.hasOwnProperty(typeSpecName)) { - var error = void 0; // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - if (typeof typeSpecs[typeSpecName] !== 'function') { - error = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + _typeof(typeSpecs[typeSpecName]) + '`.'); - error.name = 'Invariant Violation'; - } else { - error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0___default.a); - } - } catch (ex) { - error = ex; - } - - if (error && !(error instanceof Error)) { - errors.push((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + _typeof(error) + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).'); - } - - if (error instanceof Error) { - var stack = getStack && getStack() || ''; - errors.push('Failed ' + location + ' type: ' + error.message + stack); - } - } - } - - return errors.join('\n\n'); -} - -/***/ }), - -/***/ "./src/components/core/DocumentTitle.react.js": -/*!****************************************************!*\ - !*** ./src/components/core/DocumentTitle.react.js ***! - \****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -/* global document:true */ - - - - - -var DocumentTitle = -/*#__PURE__*/ -function (_Component) { - _inherits(DocumentTitle, _Component); - - function DocumentTitle(props) { - var _this; - - _classCallCheck(this, DocumentTitle); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(DocumentTitle).call(this, props)); - _this.state = { - initialTitle: document.title - }; - return _this; - } - - _createClass(DocumentTitle, [{ - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(props) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["any"])(function (r) { - return r.status === 'loading'; - }, props.requestQueue)) { - document.title = 'Updating...'; - } else { - document.title = this.state.initialTitle; - } - } - }, { - key: "shouldComponentUpdate", - value: function shouldComponentUpdate() { - return false; - } - }, { - key: "render", - value: function render() { - return null; - } - }]); - - return DocumentTitle; -}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); - -DocumentTitle.propTypes = { - requestQueue: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.array.isRequired -}; -/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - requestQueue: state.requestQueue - }; -})(DocumentTitle)); - -/***/ }), - -/***/ "./src/components/core/Loading.react.js": -/*!**********************************************!*\ - !*** ./src/components/core/Loading.react.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); - - - - - -function Loading(props) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["any"])(function (r) { - return r.status === 'loading'; - }, props.requestQueue)) { - return react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { - className: "_dash-loading-callback" - }); - } - - return null; -} - -Loading.propTypes = { - requestQueue: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.array.isRequired -}; -/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - requestQueue: state.requestQueue - }; -})(Loading)); - -/***/ }), - -/***/ "./src/components/core/Reloader.react.js": -/*!***********************************************!*\ - !*** ./src/components/core/Reloader.react.js ***! - \***********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _actions_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/api */ "./src/actions/api.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -/* eslint-disable no-undef,react/no-did-update-set-state,no-magic-numbers */ - - - - - - -var Reloader = -/*#__PURE__*/ -function (_React$Component) { - _inherits(Reloader, _React$Component); - - function Reloader(props) { - var _this; - - _classCallCheck(this, Reloader); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(Reloader).call(this, props)); - - if (props.config.hot_reload) { - var _props$config$hot_rel = props.config.hot_reload, - interval = _props$config$hot_rel.interval, - max_retry = _props$config$hot_rel.max_retry; - _this.state = { - interval: interval, - disabled: false, - intervalId: null, - packages: null, - max_retry: max_retry - }; - } else { - _this.state = { - disabled: true - }; - } - - _this._retry = 0; - _this._head = document.querySelector('head'); - _this.clearInterval = _this.clearInterval.bind(_assertThisInitialized(_this)); - return _this; - } - - _createClass(Reloader, [{ - key: "clearInterval", - value: function clearInterval() { - window.clearInterval(this.state.intervalId); - this.setState({ - intervalId: null - }); - } - }, { - key: "componentDidUpdate", - value: function componentDidUpdate(prevProps, prevState) { - var reloadRequest = this.state.reloadRequest; - var dispatch = this.props.dispatch; // In the beginning, reloadRequest won't be defined - - if (!reloadRequest) { - return; - } - /* - * When reloadRequest is first defined, prevState won't be defined - * for one render loop. - * The first reloadRequest defines the initial/baseline hash - - * it doesn't require a reload - */ - - - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('reloadRequest', prevState)) { - return; - } - - if (reloadRequest.status === 200 && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(['content', 'reloadHash'], reloadRequest) !== Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(['reloadRequest', 'content', 'reloadHash'], prevState)) { - // Check for CSS (!content.hard) or new package assets - if (reloadRequest.content.hard || !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(reloadRequest.content.packages.length, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pathOr"])([], ['reloadRequest', 'content', 'packages'], prevState).length) || !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["comparator"])(ramda__WEBPACK_IMPORTED_MODULE_0__["lt"]), reloadRequest.content.packages), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["comparator"])(ramda__WEBPACK_IMPORTED_MODULE_0__["lt"]), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pathOr"])([], ['reloadRequest', 'content', 'packages'], prevState)))) { - // Look if it was a css file. - var was_css = false; // eslint-disable-next-line prefer-const - - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; - - try { - for (var _iterator = reloadRequest.content.files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var a = _step.value; - - if (a.is_css) { - was_css = true; - var nodesToDisable = []; // Search for the old file by xpath. - - var it = document.evaluate("//link[contains(@href, \"".concat(a.url, "\")]"), this._head); - var node = it.iterateNext(); - - while (node) { - nodesToDisable.push(node); - node = it.iterateNext(); - } - - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (n) { - return n.setAttribute('disabled', 'disabled'); - }, nodesToDisable); - - if (a.modified > 0) { - var link = document.createElement('link'); - link.href = "".concat(a.url, "?m=").concat(a.modified); - link.type = 'text/css'; - link.rel = 'stylesheet'; - - this._head.appendChild(link); // Else the file was deleted. - - } - } else { - // If there's another kind of file here do a hard reload. - was_css = false; - break; - } - } - } catch (err) { - _didIteratorError = true; - _iteratorError = err; - } finally { - try { - if (!_iteratorNormalCompletion && _iterator["return"] != null) { - _iterator["return"](); - } - } finally { - if (_didIteratorError) { - throw _iteratorError; - } - } - } - - if (!was_css) { - // Assets file have changed - // or a component lib has been added/removed - - // Must do a hard reload - window.top.location.reload(); - } - } else { - // Backend code changed - can do a soft reload in place - dispatch({ - type: 'RELOAD' - }); - } - } else if (reloadRequest.status === 500) { - if (this._retry > this.state.max_retry) { - this.clearInterval(); // Integrate with dev tools ui?! - - window.alert("\n Reloader failed after ".concat(this._retry, " times.\n Please check your application for errors.\n ")); - } - - this._retry++; - } - } - }, { - key: "componentDidMount", - value: function componentDidMount() { - var _this$props = this.props, - dispatch = _this$props.dispatch, - reloadRequest = _this$props.reloadRequest; - var _this$state = this.state, - disabled = _this$state.disabled, - interval = _this$state.interval; - - if (!disabled && !this.state.intervalId) { - var intervalId = window.setInterval(function () { - // Prevent requests from piling up - reloading can take - // many seconds (10-30) and the interval is 3s by default - if (reloadRequest.status !== 'loading') { - dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_4__["default"])('_reload-hash', 'GET', 'reloadRequest')); - } - }, interval); - this.setState({ - intervalId: intervalId - }); - } - } - }, { - key: "componentWillUnmount", - value: function componentWillUnmount() { - if (!this.state.disabled && this.state.intervalId) { - this.clearInterval(); - } - } - }, { - key: "render", - value: function render() { - return null; - } - }], [{ - key: "getDerivedStateFromProps", - value: function getDerivedStateFromProps(props) { - /* - * Save the non-loading requests in the state in order to compare - * current hashes with previous hashes. - * Note that if there wasn't a "loading" state for the requests, - * then we could simply compare `props` with `prevProps` in - * `componentDidUpdate`. - */ - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(props.reloadRequest) && props.reloadRequest.status !== 'loading') { - return { - reloadRequest: props.reloadRequest - }; - } - - return null; - } - }]); - - return Reloader; -}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); - -Reloader.defaultProps = {}; -Reloader.propTypes = { - id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, - config: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - reloadRequest: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, - interval: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number -}; -/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_3__["connect"])(function (state) { - return { - config: state.config, - reloadRequest: state.reloadRequest - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -})(Reloader)); - -/***/ }), - -/***/ "./src/components/core/Toolbar.react.js": -/*!**********************************************!*\ - !*** ./src/components/core/Toolbar.react.js ***! - \**********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _actions_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/index.js */ "./src/actions/index.js"); -/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); - - - - - - - -function UnconnectedToolbar(props) { - var dispatch = props.dispatch, - history = props.history; - var styles = { - parentSpanStyle: { - display: 'inline-block', - opacity: '0.2', - ':hover': { - opacity: 1 - } - }, - iconStyle: { - fontSize: 20 - }, - labelStyle: { - fontSize: 15 - } - }; - var undoLink = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", { - key: "undoLink", - style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ - color: history.past.length ? '#0074D9' : 'grey', - cursor: history.past.length ? 'pointer' : 'default' - }, styles.parentSpanStyle), - onClick: function onClick() { - return dispatch(Object(_actions_index_js__WEBPACK_IMPORTED_MODULE_4__["undo"])()); - } - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ - transform: 'rotate(270deg)' - }, styles.iconStyle) - }, "\u21BA"), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - style: styles.labelStyle - }, "undo")); - var redoLink = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", { - key: "redoLink", - style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ - color: history.future.length ? '#0074D9' : 'grey', - cursor: history.future.length ? 'pointer' : 'default', - marginLeft: 10 - }, styles.parentSpanStyle), - onClick: function onClick() { - return dispatch(Object(_actions_index_js__WEBPACK_IMPORTED_MODULE_4__["redo"])()); - } - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ - transform: 'rotate(90deg)' - }, styles.iconStyle) - }, "\u21BB"), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - style: styles.labelStyle - }, "redo")); - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - className: "_dash-undo-redo", - style: { - position: 'fixed', - bottom: '30px', - left: '30px', - fontSize: '20px', - textAlign: 'center', - zIndex: '9999', - backgroundColor: 'rgba(255, 255, 255, 0.9)' - } - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - style: { - position: 'relative' - } - }, history.past.length > 0 ? undoLink : null, history.future.length > 0 ? redoLink : null)); -} - -UnconnectedToolbar.propTypes = { - history: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func -}; -var Toolbar = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - history: state.history - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -})(Object(radium__WEBPACK_IMPORTED_MODULE_5__["default"])(UnconnectedToolbar)); -/* harmony default export */ __webpack_exports__["default"] = (Toolbar); - -/***/ }), - -/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css": -/*!***********************************************************************!*\ - !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./CallbackGraphContainer.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.react.js": -/*!****************************************************************************!*\ - !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.react.js ***! - \****************************************************************************/ -/*! exports provided: CallbackGraphContainer */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CallbackGraphContainer", function() { return CallbackGraphContainer; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CallbackGraphContainer.css */ "./src/components/error/CallbackGraph/CallbackGraphContainer.css"); -/* harmony import */ var _CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var viz_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! viz.js */ "./node_modules/viz.js/viz.js"); -/* harmony import */ var viz_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(viz_js__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - -var CallbackGraphContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(CallbackGraphContainer, _Component); - - function CallbackGraphContainer(props) { - _classCallCheck(this, CallbackGraphContainer); - - return _possibleConstructorReturn(this, _getPrototypeOf(CallbackGraphContainer).call(this, props)); - } - - _createClass(CallbackGraphContainer, [{ - key: "render", - value: function render() { - var dependenciesRequest = this.props.dependenciesRequest; - var elements = {}; - var callbacks = []; - var links = dependenciesRequest.content.map(function (_ref, i) { - var inputs = _ref.inputs, - output = _ref.output; - callbacks.push("cb".concat(i, ";")); - - function recordAndReturn(_ref2) { - var _ref3 = _slicedToArray(_ref2, 2), - id = _ref3[0], - property = _ref3[1]; - - elements[id] = elements[id] || {}; - elements[id][property] = true; - return "\"".concat(id, ".").concat(property, "\""); - } - - var out_nodes = output.replace(/^\.\./, '').replace(/\.\.$/, '').split('...').map(function (o) { - return recordAndReturn(o.split('.')); - }).join(', '); - var in_nodes = inputs.map(function (_ref4) { - var id = _ref4.id, - property = _ref4.property; - return recordAndReturn([id, property]); - }).join(', '); - return "{".concat(in_nodes, "} -> cb").concat(i, " -> {").concat(out_nodes, "};"); - }); - var dot = "digraph G {\n overlap = false; fontname=\"Arial\"; fontcolor=\"#333333\";\n edge [color=\"#888888\"];\n node [shape=box, fontname=\"Arial\", style=filled, color=\"#109DFF\", fontcolor=white];\n graph [penwidth=0];\n subgraph callbacks {\n node [shape=circle, width=0.3, label=\"\", color=\"#00CC96\"];\n ".concat(callbacks.join('\n'), " }\n\n ").concat(Object.entries(elements).map(function (_ref5, i) { - var _ref6 = _slicedToArray(_ref5, 2), - id = _ref6[0], - props = _ref6[1]; - - return "\n subgraph cluster_".concat(i, " {\n bgcolor=\"#B9C2CE\";\n ").concat(Object.keys(props).map(function (p) { - return "\"".concat(id, ".").concat(p, "\" [label=\"").concat(p, "\"];"); - }).join('\n'), "\n label = \"").concat(id, "\"; }"); - }).join('\n'), "\n\n ").concat(links.join('\n'), " }"); - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-callback-dag--container", - dangerouslySetInnerHTML: { - __html: viz_js__WEBPACK_IMPORTED_MODULE_2___default()(dot, { - format: 'svg' - }) - } - }); - } - }]); - - return CallbackGraphContainer; -}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - -CallbackGraphContainer.propTypes = { - dependenciesRequest: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object -}; - - -/***/ }), - -/***/ "./src/components/error/ComponentErrorBoundary.react.js": -/*!**************************************************************!*\ - !*** ./src/components/error/ComponentErrorBoundary.react.js ***! - \**************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); -/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions */ "./src/actions/index.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - -var UnconnectedComponentErrorBoundary = -/*#__PURE__*/ -function (_Component) { - _inherits(UnconnectedComponentErrorBoundary, _Component); - - function UnconnectedComponentErrorBoundary(props) { - var _this; - - _classCallCheck(this, UnconnectedComponentErrorBoundary); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedComponentErrorBoundary).call(this, props)); - _this.state = { - myID: props.componentId, - oldChildren: null, - hasError: false - }; - return _this; - } - - _createClass(UnconnectedComponentErrorBoundary, [{ - key: "componentDidCatch", - value: function componentDidCatch(error, info) { - var dispatch = this.props.dispatch; - dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_4__["onError"])({ - myID: this.state.myID, - type: 'frontEnd', - error: error, - info: info - })); - dispatch(_actions__WEBPACK_IMPORTED_MODULE_4__["revert"]); - } - /* eslint-disable react/no-did-update-set-state */ - - }, { - key: "componentDidUpdate", - value: function componentDidUpdate(prevProps, prevState) { - var prevChildren = prevProps.children; - - if (!this.state.hasError && prevChildren !== prevState.oldChildren && prevChildren !== this.props.children) { - this.setState({ - oldChildren: prevChildren - }); - } - } - /* eslint-enable react/no-did-update-set-state */ - - }, { - key: "render", - value: function render() { - var _this$state = this.state, - hasError = _this$state.hasError, - oldChildren = _this$state.oldChildren; - return hasError ? oldChildren : this.props.children; - } - }], [{ - key: "getDerivedStateFromError", - value: function getDerivedStateFromError(_) { - return { - hasError: true - }; - } - }]); - - return UnconnectedComponentErrorBoundary; -}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); - -UnconnectedComponentErrorBoundary.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - componentId: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, - error: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func -}; -var ComponentErrorBoundary = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - error: state.error - }; -}, function (dispatch) { - return { - dispatch: dispatch - }; -})(Object(radium__WEBPACK_IMPORTED_MODULE_3__["default"])(UnconnectedComponentErrorBoundary)); -/* harmony default export */ __webpack_exports__["default"] = (ComponentErrorBoundary); - -/***/ }), - -/***/ "./src/components/error/FrontEnd/FrontEndError.css": -/*!*********************************************************!*\ - !*** ./src/components/error/FrontEnd/FrontEndError.css ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./FrontEndError.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/FrontEnd/FrontEndError.react.js": -/*!**************************************************************!*\ - !*** ./src/components/error/FrontEnd/FrontEndError.react.js ***! - \**************************************************************/ -/*! exports provided: FrontEndError */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FrontEndError", function() { return FrontEndError; }); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontEndError.css */ "./src/components/error/FrontEnd/FrontEndError.css"); -/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _icons_CollapseIcon_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/CollapseIcon.svg */ "./src/components/error/icons/CollapseIcon.svg"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Percy_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Percy.css */ "./src/components/error/Percy.css"); -/* harmony import */ var _Percy_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Percy_css__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../utils */ "./src/utils.js"); -/* harmony import */ var _werkzeugcss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../werkzeugcss */ "./src/components/error/werkzeugcss.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - - - - -var FrontEndError = -/*#__PURE__*/ -function (_Component) { - _inherits(FrontEndError, _Component); - - function FrontEndError(props) { - var _this; - - _classCallCheck(this, FrontEndError); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(FrontEndError).call(this, props)); - _this.state = { - collapsed: _this.props.isListItem - }; - return _this; - } - - _createClass(FrontEndError, [{ - key: "render", - value: function render() { - var _this2 = this; - - var _this$props = this.props, - e = _this$props.e, - inAlertsTray = _this$props.inAlertsTray; - var collapsed = this.state.collapsed; - var cardClasses = 'dash-error-card__content' + (inAlertsTray ? ' dash-error-card--alerts-tray' : ''); - /* eslint-disable no-inline-comments */ - - var errorHeader = React.createElement("div", { - className: "dash-fe-error-top test-devtools-error-toggle", - onClick: function onClick() { - return _this2.setState({ - collapsed: !collapsed - }); - } - }, React.createElement("span", { - className: "dash-fe-error-top__group" - }, "\u26D1\uFE0F", React.createElement("span", { - className: "dash-fe-error__title" - }, e.error.message || 'Error')), React.createElement("span", { - className: "dash-fe-error-top__group" - }, React.createElement("span", { - className: "dash-fe-error__timestamp percy-hide" - }, "".concat(e.timestamp.toLocaleTimeString())), React.createElement("span", { - className: "dash-fe-error__timestamp percy-show" - }, "00:00:00 PM"), React.createElement(_icons_CollapseIcon_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { - className: "dash-fe-error__collapse ".concat(collapsed ? 'dash-fe-error__collapse--flipped' : ''), - onClick: function onClick() { - return _this2.setState({ - collapsed: !collapsed - }); - } - }))); - /* eslint-enable no-inline-comments */ - - return collapsed ? React.createElement("div", { - className: "dash-error-card__list-item" - }, errorHeader) : React.createElement("div", { - className: cardClasses - }, errorHeader, React.createElement(ErrorContent, { - error: e.error - })); - } - }]); - - return FrontEndError; -}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); -/* eslint-disable no-inline-comments, no-magic-numbers */ - - -function UnconnectedErrorContent(_ref) { - var error = _ref.error, - base = _ref.base; - return React.createElement("div", { - className: "error-container" - }, typeof error.message !== 'string' || error.message.length < 40 ? null : React.createElement("div", { - className: "dash-fe-error__st" - }, React.createElement("div", { - className: "dash-fe-error__info dash-fe-error__curved" - }, error.message)), typeof error.stack !== 'string' ? null : React.createElement("div", { - className: "dash-fe-error__st" - }, React.createElement("div", { - className: "dash-fe-error__info" - }, React.createElement("details", null, React.createElement("summary", null, React.createElement("i", null, "(This error originated from the built-in JavaScript code that runs Dash apps. Click to see the full stack trace or open your browser's console.)")), error.stack.split('\n').map(function (line) { - return React.createElement("p", null, line); - })))), typeof error.html !== 'string' ? null : error.html.indexOf('<!DOCTYPE HTML') === 0 ? React.createElement("div", { - className: "dash-be-error__st" - }, React.createElement("div", { - className: "dash-backend-error" - }, React.createElement("iframe", { - srcDoc: error.html.replace('</head>', "<style type=\"text/css\">".concat(_werkzeugcss__WEBPACK_IMPORTED_MODULE_7__["default"], "</style></head>")).replace('="?__debugger__', "=\"".concat(base, "?__debugger__")), - style: { - /* - * 67px of padding and margin between this - * iframe and the parent container. - * 67 was determined manually in the - * browser's dev tools. - */ - width: 'calc(600px - 67px)', - height: '75vh', - border: 'none' - } - }))) : React.createElement("div", { - className: "dash-be-error__str" - }, React.createElement("div", { - className: "dash-backend-error" - }, error.html))); -} -/* eslint-enable no-inline-comments, no-magic-numbers */ - - -var errorPropTypes = prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ - message: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string, - - /* front-end error messages */ - stack: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string, - - /* backend error messages */ - html: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string -}); -UnconnectedErrorContent.propTypes = { - error: errorPropTypes, - base: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string -}; -var ErrorContent = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - base: Object(_utils__WEBPACK_IMPORTED_MODULE_6__["urlBase"])(state.config) - }; -})(UnconnectedErrorContent); -FrontEndError.propTypes = { - e: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ - timestamp: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object, - error: errorPropTypes - }), - inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool, - isListItem: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool -}; -FrontEndError.defaultProps = { - inAlertsTray: false, - isListItem: false -}; - - -/***/ }), - -/***/ "./src/components/error/FrontEnd/FrontEndErrorContainer.react.js": -/*!***********************************************************************!*\ - !*** ./src/components/error/FrontEnd/FrontEndErrorContainer.react.js ***! - \***********************************************************************/ -/*! exports provided: FrontEndErrorContainer */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FrontEndErrorContainer", function() { return FrontEndErrorContainer; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontEndError.css */ "./src/components/error/FrontEnd/FrontEndError.css"); -/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _FrontEndError_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FrontEndError.react */ "./src/components/error/FrontEnd/FrontEndError.react.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - -var FrontEndErrorContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(FrontEndErrorContainer, _Component); - - function FrontEndErrorContainer(props) { - _classCallCheck(this, FrontEndErrorContainer); - - return _possibleConstructorReturn(this, _getPrototypeOf(FrontEndErrorContainer).call(this, props)); - } - - _createClass(FrontEndErrorContainer, [{ - key: "render", - value: function render() { - var errorsLength = this.props.errors.length; - - if (errorsLength === 0) { - return null; - } - - var inAlertsTray = this.props.inAlertsTray; - var cardClasses = 'dash-error-card dash-error-card--container'; - var errorElements = this.props.errors.map(function (error, i) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FrontEndError_react__WEBPACK_IMPORTED_MODULE_3__["FrontEndError"], { - e: error, - isListItem: true, - key: i - }); - }); - - if (inAlertsTray) { - cardClasses += ' dash-error-card--alerts-tray'; - } - - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: cardClasses - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-error-card__topbar" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-error-card__message" - }, "\uD83D\uDED1 Errors (", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong", { - className: "test-devtools-error-count" - }, errorsLength), ")")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-error-card__list" - }, errorElements)); - } - }]); - - return FrontEndErrorContainer; -}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - -FrontEndErrorContainer.propTypes = { - errors: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array, - inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any -}; -FrontEndErrorContainer.propTypes = { - inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any -}; - - -/***/ }), - -/***/ "./src/components/error/GlobalErrorContainer.react.js": -/*!************************************************************!*\ - !*** ./src/components/error/GlobalErrorContainer.react.js ***! - \************************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/lib/index.js"); -/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); -/* harmony import */ var _menu_DebugMenu_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./menu/DebugMenu.react */ "./src/components/error/menu/DebugMenu.react.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - -var UnconnectedGlobalErrorContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(UnconnectedGlobalErrorContainer, _Component); - - function UnconnectedGlobalErrorContainer(props) { - _classCallCheck(this, UnconnectedGlobalErrorContainer); - - return _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedGlobalErrorContainer).call(this, props)); - } - - _createClass(UnconnectedGlobalErrorContainer, [{ - key: "render", - value: function render() { - var _this$props = this.props, - error = _this$props.error, - dependenciesRequest = _this$props.dependenciesRequest; - return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - id: "_dash-global-error-container" - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_menu_DebugMenu_react__WEBPACK_IMPORTED_MODULE_4__["DebugMenu"], { - error: error, - dependenciesRequest: dependenciesRequest - }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { - id: "_dash-app-content" - }, this.props.children))); - } - }]); - - return UnconnectedGlobalErrorContainer; -}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); - -UnconnectedGlobalErrorContainer.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - error: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - dependenciesRequest: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object -}; -var GlobalErrorContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { - return { - error: state.error, - dependenciesRequest: state.dependenciesRequest - }; -})(Object(radium__WEBPACK_IMPORTED_MODULE_3__["default"])(UnconnectedGlobalErrorContainer)); -/* harmony default export */ __webpack_exports__["default"] = (GlobalErrorContainer); - -/***/ }), - -/***/ "./src/components/error/GlobalErrorOverlay.css": -/*!*****************************************************!*\ - !*** ./src/components/error/GlobalErrorOverlay.css ***! - \*****************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!./GlobalErrorOverlay.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/GlobalErrorOverlay.react.js": -/*!**********************************************************!*\ - !*** ./src/components/error/GlobalErrorOverlay.react.js ***! - \**********************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GlobalErrorOverlay; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GlobalErrorOverlay.css */ "./src/components/error/GlobalErrorOverlay.css"); -/* harmony import */ var _GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _FrontEnd_FrontEndErrorContainer_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FrontEnd/FrontEndErrorContainer.react */ "./src/components/error/FrontEnd/FrontEndErrorContainer.react.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - -var GlobalErrorOverlay = -/*#__PURE__*/ -function (_Component) { - _inherits(GlobalErrorOverlay, _Component); - - function GlobalErrorOverlay(props) { - _classCallCheck(this, GlobalErrorOverlay); - - return _possibleConstructorReturn(this, _getPrototypeOf(GlobalErrorOverlay).call(this, props)); - } - - _createClass(GlobalErrorOverlay, [{ - key: "render", - value: function render() { - var _this$props = this.props, - visible = _this$props.visible, - error = _this$props.error, - toastsEnabled = _this$props.toastsEnabled; - var frontEndErrors; - - if (toastsEnabled) { - var errors = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["concat"])(error.frontEnd, error.backEnd); - frontEndErrors = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FrontEnd_FrontEndErrorContainer_react__WEBPACK_IMPORTED_MODULE_4__["FrontEndErrorContainer"], { - errors: errors - }); - } - - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, this.props.children), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-error-menu" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: visible ? 'dash-fe-errors' : '' - }, frontEndErrors))); - } - }]); - - return GlobalErrorOverlay; -}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - - -GlobalErrorOverlay.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - visible: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, - error: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, - toastsEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any -}; - -/***/ }), - -/***/ "./src/components/error/Percy.css": -/*!****************************************!*\ - !*** ./src/components/error/Percy.css ***! - \****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!./Percy.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/icons/BellIcon.svg": -/*!*************************************************!*\ - !*** ./src/components/error/icons/BellIcon.svg ***! - \*************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z", - fill: "#fff" -}); - -var SvgBellIcon = function SvgBellIcon(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 28, - height: 27, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgBellIcon); - -/***/ }), - -/***/ "./src/components/error/icons/BellIconGrey.svg": -/*!*****************************************************!*\ - !*** ./src/components/error/icons/BellIconGrey.svg ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z", - fill: "#B9C2CE" -}); - -var SvgBellIconGrey = function SvgBellIconGrey(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 28, - height: 27, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgBellIconGrey); - -/***/ }), - -/***/ "./src/components/error/icons/CollapseIcon.svg": -/*!*****************************************************!*\ - !*** ./src/components/error/icons/CollapseIcon.svg ***! - \*****************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M1 1l4 4 4-4", - stroke: "#A2B1C6" -}); - -var SvgCollapseIcon = function SvgCollapseIcon(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 10, - height: 6, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgCollapseIcon); - -/***/ }), - -/***/ "./src/components/error/icons/DebugIcon.svg": -/*!**************************************************!*\ - !*** ./src/components/error/icons/DebugIcon.svg ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M14.85 21.197L5.616 12l9.225-9.197L12.028 0 0 12l12.037 12 2.813-2.803zm12.3 0L36.375 12 27.15 2.803 29.963 0 42 12 29.962 24l-2.812-2.803z", - fill: "#fff" -}); - -var SvgDebugIcon = function SvgDebugIcon(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 42, - height: 24, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgDebugIcon); - -/***/ }), - -/***/ "./src/components/error/icons/ErrorIconWhite.svg": -/*!*******************************************************!*\ - !*** ./src/components/error/icons/ErrorIconWhite.svg ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - fillRule: "evenodd", - clipRule: "evenodd", - d: "M0 4a4 4 0 118 0 4 4 0 11-8 0zm5.44 2L6 5.44 4.56 4 6 2.56 5.44 2 4 3.44 2.56 2 2 2.56 3.44 4 2 5.44l.56.56L4 4.56 5.44 6z", - fill: "#fff" -}); - -var SvgErrorIconWhite = function SvgErrorIconWhite(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - viewBox: "0 0 8 8", - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgErrorIconWhite); - -/***/ }), - -/***/ "./src/components/error/icons/GraphIcon.svg": -/*!**************************************************!*\ - !*** ./src/components/error/icons/GraphIcon.svg ***! - \**************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z", - fill: "#fff" -}); - -var SvgGraphIcon = function SvgGraphIcon(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 22, - height: 24, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgGraphIcon); - -/***/ }), - -/***/ "./src/components/error/icons/GraphIconGrey.svg": -/*!******************************************************!*\ - !*** ./src/components/error/icons/GraphIconGrey.svg ***! - \******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z", - fill: "#B9C2CE" -}); - -var SvgGraphIconGrey = function SvgGraphIconGrey(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - width: 22, - height: 24, - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgGraphIconGrey); - -/***/ }), - -/***/ "./src/components/error/icons/WhiteCloseIcon.svg": -/*!*******************************************************!*\ - !*** ./src/components/error/icons/WhiteCloseIcon.svg ***! - \*******************************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - - - -var _ref = -/*#__PURE__*/ -react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("path", { - d: "M1 1l12 12m0-12L1 13", - stroke: "#fff", - strokeWidth: 2 -}); - -var SvgWhiteCloseIcon = function SvgWhiteCloseIcon(props) { - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("svg", _extends({ - viewBox: "0 0 14 14", - fill: "none" - }, props), _ref); -}; - -/* harmony default export */ __webpack_exports__["default"] = (SvgWhiteCloseIcon); - -/***/ }), - -/***/ "./src/components/error/menu/DebugAlertContainer.css": -/*!***********************************************************!*\ - !*** ./src/components/error/menu/DebugAlertContainer.css ***! - \***********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./DebugAlertContainer.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/menu/DebugAlertContainer.react.js": -/*!****************************************************************!*\ - !*** ./src/components/error/menu/DebugAlertContainer.react.js ***! - \****************************************************************/ -/*! exports provided: DebugAlertContainer */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DebugAlertContainer", function() { return DebugAlertContainer; }); -/* harmony import */ var _DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DebugAlertContainer.css */ "./src/components/error/menu/DebugAlertContainer.css"); -/* harmony import */ var _DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _icons_ErrorIconWhite_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/ErrorIconWhite.svg */ "./src/components/error/icons/ErrorIconWhite.svg"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - -var DebugAlertContainer = -/*#__PURE__*/ -function (_Component) { - _inherits(DebugAlertContainer, _Component); - - function DebugAlertContainer(props) { - _classCallCheck(this, DebugAlertContainer); - - return _possibleConstructorReturn(this, _getPrototypeOf(DebugAlertContainer).call(this, props)); - } - - _createClass(DebugAlertContainer, [{ - key: "render", - value: function render() { - var alertsOpened = this.props.alertsOpened; - return React.createElement("div", { - className: "dash-debug-alert-container".concat(alertsOpened ? ' dash-debug-alert-container--opened' : ''), - onClick: this.props.onClick - }, React.createElement("div", { - className: "dash-debug-alert" - }, alertsOpened ? React.createElement(_icons_ErrorIconWhite_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { - className: "dash-debug-alert-container__icon" - }) : '🛑 ', this.props.errors.length)); - } - }]); - - return DebugAlertContainer; -}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); - -DebugAlertContainer.propTypes = { - errors: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, - alertsOpened: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, - onClick: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func -}; - - -/***/ }), - -/***/ "./src/components/error/menu/DebugMenu.css": -/*!*************************************************!*\ - !*** ./src/components/error/menu/DebugMenu.css ***! - \*************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./DebugMenu.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css"); - -if (typeof content === 'string') { - content = [[module.i, content, '']]; -} - -var options = {} - -options.insert = "head"; -options.singleton = false; - -var update = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js")(content, options); - -if (content.locals) { - module.exports = content.locals; -} - - -/***/ }), - -/***/ "./src/components/error/menu/DebugMenu.react.js": -/*!******************************************************!*\ - !*** ./src/components/error/menu/DebugMenu.react.js ***! - \******************************************************/ -/*! exports provided: DebugMenu */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DebugMenu", function() { return DebugMenu; }); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); -/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _DebugMenu_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DebugMenu.css */ "./src/components/error/menu/DebugMenu.css"); -/* harmony import */ var _DebugMenu_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_DebugMenu_css__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _icons_DebugIcon_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/DebugIcon.svg */ "./src/components/error/icons/DebugIcon.svg"); -/* harmony import */ var _icons_WhiteCloseIcon_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icons/WhiteCloseIcon.svg */ "./src/components/error/icons/WhiteCloseIcon.svg"); -/* harmony import */ var _icons_BellIcon_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icons/BellIcon.svg */ "./src/components/error/icons/BellIcon.svg"); -/* harmony import */ var _icons_BellIconGrey_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../icons/BellIconGrey.svg */ "./src/components/error/icons/BellIconGrey.svg"); -/* harmony import */ var _icons_GraphIcon_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icons/GraphIcon.svg */ "./src/components/error/icons/GraphIcon.svg"); -/* harmony import */ var _icons_GraphIconGrey_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icons/GraphIconGrey.svg */ "./src/components/error/icons/GraphIconGrey.svg"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "prop-types"); -/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _DebugAlertContainer_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DebugAlertContainer.react */ "./src/components/error/menu/DebugAlertContainer.react.js"); -/* harmony import */ var _GlobalErrorOverlay_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../GlobalErrorOverlay.react */ "./src/components/error/GlobalErrorOverlay.react.js"); -/* harmony import */ var _CallbackGraph_CallbackGraphContainer_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../CallbackGraph/CallbackGraphContainer.react */ "./src/components/error/CallbackGraph/CallbackGraphContainer.react.js"); -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - - - - - - - - - - - - - - - -var DebugMenu = -/*#__PURE__*/ -function (_Component) { - _inherits(DebugMenu, _Component); - - function DebugMenu(props) { - var _this; - - _classCallCheck(this, DebugMenu); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(DebugMenu).call(this, props)); - _this.state = { - opened: false, - alertsOpened: false, - callbackGraphOpened: false, - toastsEnabled: true - }; - return _this; - } - - _createClass(DebugMenu, [{ - key: "render", - value: function render() { - var _this2 = this; - - var _this$state = this.state, - opened = _this$state.opened, - alertsOpened = _this$state.alertsOpened, - toastsEnabled = _this$state.toastsEnabled, - callbackGraphOpened = _this$state.callbackGraphOpened; - var _this$props = this.props, - error = _this$props.error, - dependenciesRequest = _this$props.dependenciesRequest; - var menuClasses = opened ? 'dash-debug-menu dash-debug-menu--opened' : 'dash-debug-menu dash-debug-menu--closed'; - var menuContent = opened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__content" - }, callbackGraphOpened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CallbackGraph_CallbackGraphContainer_react__WEBPACK_IMPORTED_MODULE_12__["CallbackGraphContainer"], { - dependenciesRequest: dependenciesRequest - }) : null, error.frontEnd.length > 0 || error.backEnd.length > 0 ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button-container" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DebugAlertContainer_react__WEBPACK_IMPORTED_MODULE_10__["DebugAlertContainer"], { - errors: Object(ramda__WEBPACK_IMPORTED_MODULE_1__["concat"])(error.frontEnd, error.backEnd), - alertsOpened: alertsOpened, - onClick: function onClick() { - return _this2.setState({ - alertsOpened: !alertsOpened - }); - } - })) : null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button-container" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button ".concat(callbackGraphOpened ? 'dash-debug-menu__button--enabled' : ''), - onClick: function onClick() { - return _this2.setState({ - callbackGraphOpened: !callbackGraphOpened - }); - } - }, callbackGraphOpened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_GraphIcon_svg__WEBPACK_IMPORTED_MODULE_7__["default"], { - className: "dash-debug-menu__icon dash-debug-menu__icon--graph" - }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_GraphIconGrey_svg__WEBPACK_IMPORTED_MODULE_8__["default"], { - className: "dash-debug-menu__icon dash-debug-menu__icon--bell" - })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { - className: "dash-debug-menu__button-label" - }, "Callback Graph")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button-container" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button ".concat(toastsEnabled ? 'dash-debug-menu__button--enabled' : ''), - onClick: function onClick() { - return _this2.setState({ - toastsEnabled: !toastsEnabled - }); - } - }, toastsEnabled ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_BellIcon_svg__WEBPACK_IMPORTED_MODULE_5__["default"], { - className: "dash-debug-menu__icon dash-debug-menu__icon--bell" - }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_BellIconGrey_svg__WEBPACK_IMPORTED_MODULE_6__["default"], { - className: "dash-debug-menu__icon dash-debug-menu__icon--bell" - })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { - className: "dash-debug-menu__button-label" - }, "Errors")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button-container" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-menu__button dash-debug-menu__button--small", - onClick: function onClick(e) { - e.stopPropagation(); - - _this2.setState({ - opened: false - }); - } - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_WhiteCloseIcon_svg__WEBPACK_IMPORTED_MODULE_4__["default"], { - className: "dash-debug-menu__icon--close" - })))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_DebugIcon_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { - className: "dash-debug-menu__icon dash-debug-menu__icon--debug" - }); - var alertsLabel = error.frontEnd.length + error.backEnd.length > 0 && !opened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-alert-label" - }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: "dash-debug-alert" - }, "\uD83D\uDED1 \xA0", error.frontEnd.length + error.backEnd.length)) : null; - return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, alertsLabel, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { - className: menuClasses, - onClick: function onClick() { - return _this2.setState({ - opened: true - }); - } - }, menuContent), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GlobalErrorOverlay_react__WEBPACK_IMPORTED_MODULE_11__["default"], { - error: error, - visible: !(Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(error.backEnd) && Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(error.frontEnd)), - toastsEnabled: toastsEnabled - }, this.props.children)); - } - }]); - - return DebugMenu; -}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); - -DebugMenu.propTypes = { - children: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, - error: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, - dependenciesRequest: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object -}; - - -/***/ }), - -/***/ "./src/components/error/werkzeugcss.js": -/*!*********************************************!*\ - !*** ./src/components/error/werkzeugcss.js ***! - \*********************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -// Werkzeug css included as a string, because we want to inject -// it into an iframe srcDoc -/* harmony default export */ __webpack_exports__["default"] = ("\nbody {\n margin: 0px;\n margin-top: 10px;\n}\n\n.error-container {\n font-family: Roboto;\n}\n\n.traceback {\n background-color: white;\n border: 2px solid #dfe8f3;\n border-radius: 0px 0px 4px 4px;\n color: #506784;\n}\n\nh2.traceback {\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n border-bottom: 0px;\n box-sizing: border-box;\n border-radius: 4px 4px 0px 0px;\n color: #506784;\n}\n\nh2.traceback em {\n color: #506784;\n font-weight: 100;\n}\n\n.traceback pre, .debugger textarea {\n background-color: #F3F6FA;\n}\n\n.debugger h1 {\n color: #506784;\n font-family: Roboto;\n}\n\n.explanation {\n color: #A2B1C6;\n}\n\n/* Hide the Don't Panic! footer */\n.debugger .footer {\n display: none;\n}\n\n/* Hide all of the Dash traceback stuff that leads up to the call */\n.line.before {\n display: none;\n}\n\ndiv.debugger {\n padding: 0px;\n}\n\n.debugger h1 {\n display: none;\n}\n\n.debugger .errormsg {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-radius: 4px;\n padding: 10px;\n}\n\n.debugger .pastemessage input {\n display: none;\n}\n\n.debugger .explanation {\n display: none;\n}\n\n.debugger div.plain {\n border-radius: 4px;\n border-width: 2px;\n color: #506784;\n}\n\n.plain {\n display: block !important;\n}\n.plain > form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n"); - -/***/ }), - -/***/ "./src/constants/constants.js": -/*!************************************!*\ - !*** ./src/constants/constants.js ***! - \************************************/ -/*! exports provided: REDIRECT_URI_PATHNAME, OAUTH_COOKIE_NAME, STATUS */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "REDIRECT_URI_PATHNAME", function() { return REDIRECT_URI_PATHNAME; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OAUTH_COOKIE_NAME", function() { return OAUTH_COOKIE_NAME; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "STATUS", function() { return STATUS; }); -var REDIRECT_URI_PATHNAME = '/_oauth2/callback'; -var OAUTH_COOKIE_NAME = 'plotly_oauth_token'; -var STATUS = { - OK: 200, - PREVENT_UPDATE: 204, - CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR' -}; - -/***/ }), - -/***/ "./src/exceptions.js": -/*!***************************!*\ - !*** ./src/exceptions.js ***! - \***************************/ -/*! exports provided: propTypeErrorHandler */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "propTypeErrorHandler", function() { return propTypeErrorHandler; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - -function propTypeErrorHandler(message, props, type) { - /* - * propType error messages are constructed in - * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js - * (Version 15.7.2) - * - * Parse these exception objects to remove JS source code and improve - * the clarity. - * - * If wrong prop type was passed in, message looks like: - * - * Error: "Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) { - * var id = props.id ? props.id : generateId(); - * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, { - * id: id - * })); - * }`, expected `boolean`." - * - * - * If a required prop type was omitted, message looks like: - * - * "Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) { - * var _this; - * - * _classCallCheck(this, Checklist); - * - * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props)); - * _this.state = { - * values: props.values - * }; - * return _this; - * }`, but its value is `undefined`." - * - */ - var messageParts = message.split('`'); - var errorMessage; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('is marked as required', message)) { - var invalidPropPath = messageParts[1]; - errorMessage = "".concat(invalidPropPath, " in ").concat(type); - - if (props.id) { - errorMessage += " with ID \"".concat(props.id, "\""); - } - - errorMessage += " is required but it was not provided."; - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('Bad object', message)) { - /* - * Handle .exact errors - * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442 - */ - errorMessage = message.split('supplied to ')[0] + "supplied to ".concat(type) + '.\nBad' + message.split('.\nBad')[1]; - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('Invalid ', message) && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(' supplied to ', message)) { - var _invalidPropPath = messageParts[1]; - errorMessage = "Invalid argument `".concat(_invalidPropPath, "` passed into ").concat(type); - - if (props.id) { - errorMessage += " with ID \"".concat(props.id, "\""); - } - - errorMessage += '.'; - /* - * Not all error messages include the expected value. - * In particular, oneOfType. - * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388 - */ - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(', expected ', message)) { - var expectedPropType = message.split(', expected ')[1]; - errorMessage += "\nExpected ".concat(expectedPropType); - } - /* - * Not all error messages include the type - * In particular, oneOfType. - * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388 - */ - - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(' of type `', message)) { - var invalidPropTypeProvided = message.split(' of type `')[1].split('`')[0]; - errorMessage += "\nWas supplied type `".concat(invalidPropTypeProvided, "`."); - } - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(_invalidPropPath, props)) { - /* - * invalidPropPath may be nested like `options[0].value`. - * For now, we won't try to unpack these nested options - * but we could in the future. - */ - var jsonSuppliedValue = JSON.stringify(props[_invalidPropPath], null, 2); - - if (jsonSuppliedValue) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('\n', jsonSuppliedValue)) { - errorMessage += "\nValue provided: \n".concat(jsonSuppliedValue); - } else { - errorMessage += "\nValue provided: ".concat(jsonSuppliedValue); - } - } - } - } else { - /* - * Not aware of other prop type warning messages. - * But, if they exist, then at least throw the default - * react prop types error - */ - throw new Error(message); - } - - throw new Error(errorMessage); -} - -/***/ }), - -/***/ "./src/index.js": -/*!**********************!*\ - !*** ./src/index.js ***! - \**********************/ -/*! no exports provided */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _DashRenderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DashRenderer */ "./src/DashRenderer.js"); - // make DashRenderer globally available - -window.DashRenderer = _DashRenderer__WEBPACK_IMPORTED_MODULE_0__["DashRenderer"]; - -/***/ }), - -/***/ "./src/isSimpleComponent.js": -/*!**********************************!*\ - !*** ./src/isSimpleComponent.js ***! - \**********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - -var SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean']; -/* harmony default export */ __webpack_exports__["default"] = (function (component) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(component), SIMPLE_COMPONENT_TYPES); -}); - -/***/ }), - -/***/ "./src/persistence.js": -/*!****************************!*\ - !*** ./src/persistence.js ***! - \****************************/ -/*! exports provided: storePrefix, stores, recordUiEdit, applyPersistence, prunePersistence */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "storePrefix", function() { return storePrefix; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stores", function() { return stores; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recordUiEdit", function() { return recordUiEdit; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyPersistence", function() { return applyPersistence; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prunePersistence", function() { return prunePersistence; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/lib/index.js"); -/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(redux_actions__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./registry */ "./src/registry.js"); -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -/** - * Generalized persistence for component props - * - * When users input new prop values, they can be stored and reapplied later, - * when the component is recreated (changing `Tab` for example) or when the - * page is reloaded (depending on `persistence_type`) Storage is tied to - * component ID and will not on with components without an ID. - * - * Renderer handles the mechanics, but components must define a few props: - * - * - `persistence`: boolean, string, or number. For simple usage, set to `true` - * to enable persistence, omit or set `false` to disable. For more complex - * scenarios, use any truthy value, and change to a *different* truthy value - * when you want the persisted values cleared. (modeled off `uirevision` in) - * plotly.js - * Typically should have no default, but the other persistence props should - * have defaults, so all a user needs to do to enable persistence is set this - * one prop. - * - * - `persisted_props`: array of prop names or "nested prop IDs" allowed to - * persist. Normally should default to the full list of supported props, - * so they can all be enabled at once. The main exception to this is if - * there's a prop that *can* be persisted but most users wouldn't want this. - * A nested prop ID describes *part* of a prop to store. It must be - * "<propName>.<piece>" where propName is the prop that has this info, and - * piece may or may not map to the exact substructure being stored but is - * meaningful to the user. For example, in `dash_table`, `columns.name` - * stores `columns[i].name` for all columns `i`. Nested props also need - * entries in `persistenceTransforms` - see below. - * - * - `persistence_type`: one of "local", "session", or "memory", just like - * `dcc.Store`. But the default here should be "local" because the main use - * case is to maintain settings across reloads. - * - * If any `persisted_props` are nested prop IDs, the component should define a - * class property (not a React prop) `persistenceTransforms`, as an object: - * { - * [propName]: { - * [piece]: { - * extract: propValue => valueToStore, - * apply: (storedValue, propValue) => newPropValue - * } - * } - * } - * - `extract` turns a prop value into a reduced value to store. - * - `apply` puts an extracted value back into the prop. Make sure this creates - * a new object rather than mutating `proValue`, and that if there are - * multiple `piece` entries for one `propName`, their `apply` functions - * commute - which should not be an issue if they extract and apply - * non-intersecting parts of the full prop. - * You only need to define these for the props that need them. - * It's important that `extract` pulls out *only* the relevant pieces of the - * prop, because persistence is only maintained if the extracted value of the - * prop before applying persistence is the same as it was before the user's - * changes. - */ - - - -var storePrefix = '_dash_persistence.'; - -function err(e) { - var error = typeof e === 'string' ? new Error(e) : e; - /* eslint-disable no-console */ - // Send this to the console too, so it's still available with debug off - - console.error(e); - /* eslint-disable no-console */ - - return Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('ON_ERROR')({ - myID: storePrefix, - type: 'frontEnd', - error: error - }); -} -/* - * Does a key fit this prefix? Must either be an exact match - * or, if a separator is provided, a scoped match - exact prefix - * followed by the separator (then anything else) - */ - - -function keyPrefixMatch(prefix, separator) { - var fullStr = prefix + separator; - var fullLen = fullStr.length; - return function (key) { - return key === prefix || key.substr(0, fullLen) === fullStr; - }; -} - -var UNDEFINED = 'U'; - -var _parse = function _parse(val) { - return val === UNDEFINED ? undefined : JSON.parse(val || null); -}; - -var _stringify = function _stringify(val) { - return val === undefined ? UNDEFINED : JSON.stringify(val); -}; - -var WebStore = -/*#__PURE__*/ -function () { - function WebStore(backEnd) { - _classCallCheck(this, WebStore); - - this._name = backEnd; - this._storage = window[backEnd]; - } - - _createClass(WebStore, [{ - key: "hasItem", - value: function hasItem(key) { - return this._storage.getItem(storePrefix + key) !== null; - } - }, { - key: "getItem", - value: function getItem(key) { - // note: _storage.getItem returns null on missing keys - // and JSON.parse(null) returns null as well - return _parse(this._storage.getItem(storePrefix + key)); - } - }, { - key: "_setItem", - value: function _setItem(key, value) { - // unprotected version of setItem, for use by tryGetWebStore - this._storage.setItem(storePrefix + key, _stringify(value)); - } - /* - * In addition to the regular key->value to set, setItem takes - * dispatch as a parameter, so it can report OOM to devtools - */ - - }, { - key: "setItem", - value: function setItem(key, value, dispatch) { - try { - this._setItem(key, value); - } catch (e) { - dispatch(err("".concat(key, " failed to save in ").concat(this._name, ". Persisted props may be lost."))); // TODO: at some point we may want to convert this to fall back - // on memory, pulling out all persistence keys and putting them - // in a MemStore that gets used from then onward. - } - } - }, { - key: "removeItem", - value: function removeItem(key) { - this._storage.removeItem(storePrefix + key); - } - /* - * clear matching keys matching (optionally followed by a dot and more - * characters) - or all keys associated with this store if no prefix. - */ - - }, { - key: "clear", - value: function clear(keyPrefix) { - var _this = this; - - var fullPrefix = storePrefix + (keyPrefix || ''); - var keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : ''); - var keysToRemove = []; // 2-step process, so we don't depend on any particular behavior of - // key order while removing some - - for (var i = 0; i < this._storage.length; i++) { - var fullKey = this._storage.key(i); - - if (keyMatch(fullKey)) { - keysToRemove.push(fullKey); - } - } - - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (k) { - return _this._storage.removeItem(k); - }, keysToRemove); - } - }]); - - return WebStore; -}(); - -var MemStore = -/*#__PURE__*/ -function () { - function MemStore() { - _classCallCheck(this, MemStore); - - this._data = {}; - } - - _createClass(MemStore, [{ - key: "hasItem", - value: function hasItem(key) { - return key in this._data; - } - }, { - key: "getItem", - value: function getItem(key) { - // run this storage through JSON too so we know we get a fresh object - // each retrieval - return _parse(this._data[key]); - } - }, { - key: "setItem", - value: function setItem(key, value) { - this._data[key] = _stringify(value); - } - }, { - key: "removeItem", - value: function removeItem(key) { - delete this._data[key]; - } - }, { - key: "clear", - value: function clear(keyPrefix) { - var _this2 = this; - - if (keyPrefix) { - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (key) { - return delete _this2._data[key]; - }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(keyPrefixMatch(keyPrefix, '.'), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(this._data))); - } else { - this._data = {}; - } - } - }]); - - return MemStore; -}(); // Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage. -// That should be plenty for common persistence use cases, -// without getting anywhere near typical browser limits - - -var pow = 16; - -function longString() { - var s = 'Spam'; - - for (var i = 2; i < pow; i++) { - s += s; - } - - return s; -} - -var stores = { - memory: new MemStore() // Defer testing & making local/session stores until requested. - // That way if we have errors here they can show up in devtools. - -}; -var backEnds = { - local: 'localStorage', - session: 'sessionStorage' -}; - -function tryGetWebStore(backEnd, dispatch) { - var store = new WebStore(backEnd); - var fallbackStore = stores.memory; - var storeTest = longString(); - var testKey = storePrefix + 'x.x'; - - try { - store._setItem(testKey, storeTest); - - if (store.getItem(testKey) !== storeTest) { - dispatch(err("".concat(backEnd, " init failed set/get, falling back to memory"))); - return fallbackStore; - } - - store.removeItem(testKey); - return store; - } catch (e) { - dispatch(err("".concat(backEnd, " init first try failed; clearing and retrying"))); - } - - try { - store.clear(); - - store._setItem(testKey, storeTest); - - if (store.getItem(testKey) !== storeTest) { - throw new Error('nope'); - } - - store.removeItem(testKey); - dispatch(err("".concat(backEnd, " init set/get succeeded after clearing!"))); - return store; - } catch (e) { - dispatch(err("".concat(backEnd, " init still failed, falling back to memory"))); - return fallbackStore; - } -} - -function getStore(type, dispatch) { - if (!stores[type]) { - stores[type] = tryGetWebStore(backEnds[type], dispatch); - } - - return stores[type]; -} - -var noopTransform = { - extract: function extract(propValue) { - return propValue; - }, - apply: function apply(storedValue, _propValue) { - return storedValue; - } -}; - -var getTransform = function getTransform(element, propName, propPart) { - return propPart ? element.persistenceTransforms[propName][propPart] : noopTransform; -}; - -var getValsKey = function getValsKey(id, persistedProp, persistence) { - return "".concat(id, ".").concat(persistedProp, ".").concat(JSON.stringify(persistence)); -}; - -var getProps = function getProps(layout) { - var props = layout.props, - type = layout.type, - namespace = layout.namespace; - - if (!type || !namespace) { - // not a real component - just need the props for recursion - return { - props: props - }; - } - - var id = props.id, - persistence = props.persistence; - var element = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(layout); - - var getVal = function getVal(prop) { - return props[prop] || (element.defaultProps || {})[prop]; - }; - - var persisted_props = getVal('persisted_props'); - var persistence_type = getVal('persistence_type'); - var canPersist = id && persisted_props && persistence_type; - return { - canPersist: canPersist, - id: id, - props: props, - element: element, - persistence: persistence, - persisted_props: persisted_props, - persistence_type: persistence_type - }; -}; - -function recordUiEdit(layout, newProps, dispatch) { - var _getProps = getProps(layout), - canPersist = _getProps.canPersist, - id = _getProps.id, - props = _getProps.props, - element = _getProps.element, - persistence = _getProps.persistence, - persisted_props = _getProps.persisted_props, - persistence_type = _getProps.persistence_type; - - if (!canPersist || !persistence) { - return; - } - - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { - var _persistedProp$split = persistedProp.split('.'), - _persistedProp$split2 = _slicedToArray(_persistedProp$split, 2), - propName = _persistedProp$split2[0], - propPart = _persistedProp$split2[1]; - - if (newProps[propName]) { - var storage = getStore(persistence_type, dispatch); - - var _getTransform = getTransform(element, propName, propPart), - extract = _getTransform.extract; - - var valsKey = getValsKey(id, persistedProp, persistence); - var originalVal = extract(props[propName]); - var newVal = extract(newProps[propName]); // mainly for nested props with multiple persisted parts, it's - // possible to have the same value as before - should not store - // in this case. - - if (originalVal !== newVal) { - if (storage.hasItem(valsKey)) { - originalVal = storage.getItem(valsKey)[1]; - } - - var vals = originalVal === undefined ? [newVal] : [newVal, originalVal]; - storage.setItem(valsKey, vals, dispatch); - } - } - }, persisted_props); -} -/* - * Used for entire layouts (on load) or partial layouts (from children - * callbacks) to apply previously-stored UI edits to components - */ - -function applyPersistence(layout, dispatch) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(layout) !== 'Object' || !layout.props) { - return layout; - } - - return persistenceMods(layout, layout, [], dispatch); -} -var UNDO = true; - -function modProp(key, storage, element, props, persistedProp, update, undo) { - if (storage.hasItem(key)) { - var _storage$getItem = storage.getItem(key), - _storage$getItem2 = _slicedToArray(_storage$getItem, 2), - newVal = _storage$getItem2[0], - originalVal = _storage$getItem2[1]; - - var fromVal = undo ? newVal : originalVal; - var toVal = undo ? originalVal : newVal; - - var _persistedProp$split3 = persistedProp.split('.'), - _persistedProp$split4 = _slicedToArray(_persistedProp$split3, 2), - propName = _persistedProp$split4[0], - propPart = _persistedProp$split4[1]; - - var transform = getTransform(element, propName, propPart); - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(fromVal, transform.extract(props[propName]))) { - update[propName] = transform.apply(toVal, propName in update ? update[propName] : props[propName]); - } else { - // clear this saved edit - we've started with the wrong - // value for this persistence ID - storage.removeItem(key); - } - } -} - -function persistenceMods(layout, component, path, dispatch) { - var _getProps2 = getProps(component), - canPersist = _getProps2.canPersist, - id = _getProps2.id, - props = _getProps2.props, - element = _getProps2.element, - persistence = _getProps2.persistence, - persisted_props = _getProps2.persisted_props, - persistence_type = _getProps2.persistence_type; - - var layoutOut = layout; - - if (canPersist && persistence) { - var storage = getStore(persistence_type, dispatch); - var update = {}; - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { - return modProp(getValsKey(id, persistedProp, persistence), storage, element, props, persistedProp, update); - }, persisted_props); - - for (var propName in update) { - layoutOut = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["set"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(path.concat('props', propName)), update[propName], layoutOut); - } - } // recurse inward - - - var children = props.children; - - if (Array.isArray(children)) { - children.forEach(function (child, i) { - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(child) === 'Object' && child.props) { - layoutOut = persistenceMods(layoutOut, child, path.concat('props', 'children', i), dispatch); - } - }); - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(children) === 'Object' && children.props) { - layoutOut = persistenceMods(layoutOut, children, path.concat('props', 'children'), dispatch); - } - - return layoutOut; -} -/* - * When we receive new explicit props from a callback, - * these override UI-driven edits of those exact props - * but not for props nested inside children - */ - - -function prunePersistence(layout, newProps, dispatch) { - var _getProps3 = getProps(layout), - canPersist = _getProps3.canPersist, - id = _getProps3.id, - props = _getProps3.props, - persistence = _getProps3.persistence, - persisted_props = _getProps3.persisted_props, - persistence_type = _getProps3.persistence_type, - element = _getProps3.element; - - var getFinal = function getFinal(propName, prevVal) { - return propName in newProps ? newProps[propName] : prevVal; - }; - - var finalPersistence = getFinal('persistence', persistence); - - if (!canPersist || !(persistence || finalPersistence)) { - return newProps; - } - - var finalPersistenceType = getFinal('persistence_type', persistence_type); - var finalPersistedProps = getFinal('persisted_props', persisted_props); - var persistenceChanged = finalPersistence !== persistence || finalPersistenceType !== persistence_type || finalPersistedProps !== persisted_props; - - var notInNewProps = function notInNewProps(persistedProp) { - return !(persistedProp.split('.')[0] in newProps); - }; - - var update = {}; - var depersistedProps = props; - - if (persistenceChanged && persistence) { - // clear previously-applied persistence - var storage = getStore(persistence_type, dispatch); - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { - return modProp(getValsKey(id, persistedProp, persistence), storage, element, props, persistedProp, update, UNDO); - }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(notInNewProps, persisted_props)); - depersistedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(props, update); - } - - if (finalPersistence) { - var finalStorage = getStore(finalPersistenceType, dispatch); - - if (persistenceChanged) { - // apply new persistence - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { - return modProp(getValsKey(id, persistedProp, finalPersistence), finalStorage, element, depersistedProps, persistedProp, update); - }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(notInNewProps, finalPersistedProps)); - } // now the main point - clear any edit of a prop that changed - // note that this is independent of the new prop value. - - - var transforms = element.persistenceTransforms || {}; - - for (var propName in newProps) { - var propTransforms = transforms[propName]; - - if (propTransforms) { - for (var propPart in propTransforms) { - finalStorage.removeItem(getValsKey(id, "".concat(propName, ".").concat(propPart), finalPersistence)); - } - } else { - finalStorage.removeItem(getValsKey(id, propName, finalPersistence)); - } - } - } - - return persistenceChanged ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(newProps, update) : newProps; -} - -/***/ }), - -/***/ "./src/reducers/api.js": -/*!*****************************!*\ - !*** ./src/reducers/api.js ***! - \*****************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createApiReducer; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - -function createApiReducer(store) { - return function ApiReducer() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments.length > 1 ? arguments[1] : undefined; - var newState = state; - - if (action.type === store) { - var _action$payload = action.payload, - id = _action$payload.id, - status = _action$payload.status, - content = _action$payload.content; - var newRequest = { - status: status, - content: content - }; - - if (Array.isArray(id)) { - newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assocPath"])(id, newRequest, state); - } else if (id) { - newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assoc"])(id, newRequest, state); - } else { - newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(state, newRequest); - } - } - - return newState; - }; -} - -/***/ }), - -/***/ "./src/reducers/appLifecycle.js": -/*!**************************************!*\ - !*** ./src/reducers/appLifecycle.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); -/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/reducers/constants.js"); - - - -function appLifecycle() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Object(_constants__WEBPACK_IMPORTED_MODULE_1__["getAppState"])('STARTED'); - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case Object(_actions_constants__WEBPACK_IMPORTED_MODULE_0__["getAction"])('SET_APP_LIFECYCLE'): - return Object(_constants__WEBPACK_IMPORTED_MODULE_1__["getAppState"])(action.payload); - - default: - return state; - } -} - -/* harmony default export */ __webpack_exports__["default"] = (appLifecycle); - -/***/ }), - -/***/ "./src/reducers/config.js": -/*!********************************!*\ - !*** ./src/reducers/config.js ***! - \********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return config; }); -/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); - -function config() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; - var action = arguments.length > 1 ? arguments[1] : undefined; - - if (action.type === Object(_actions_constants__WEBPACK_IMPORTED_MODULE_0__["getAction"])('SET_CONFIG')) { - return action.payload; - } - - return state; -} - -/***/ }), - -/***/ "./src/reducers/constants.js": -/*!***********************************!*\ - !*** ./src/reducers/constants.js ***! - \***********************************/ -/*! exports provided: getAppState */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAppState", function() { return getAppState; }); -function getAppState(state) { - var stateList = { - STARTED: 'STARTED', - HYDRATED: 'HYDRATED' - }; - - if (stateList[state]) { - return stateList[state]; - } - - throw new Error("".concat(state, " is not a valid app state.")); -} - -/***/ }), - -/***/ "./src/reducers/dependencyGraph.js": -/*!*****************************************!*\ - !*** ./src/reducers/dependencyGraph.js ***! - \*****************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var dependency_graph__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dependency-graph */ "./node_modules/dependency-graph/lib/dep_graph.js"); -/* harmony import */ var dependency_graph__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dependency_graph__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils */ "./src/utils.js"); - - - -var initialGraph = {}; - -var graphs = function graphs() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialGraph; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case 'COMPUTE_GRAPHS': - { - var dependencies = action.payload; - var inputGraph = new dependency_graph__WEBPACK_IMPORTED_MODULE_1__["DepGraph"](); - var multiGraph = new dependency_graph__WEBPACK_IMPORTED_MODULE_1__["DepGraph"](); - dependencies.forEach(function registerDependency(dependency) { - var output = dependency.output, - inputs = dependency.inputs; // Multi output supported will be a string already - // Backward compatibility by detecting object. - - var outputId; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(output) === 'Object') { - outputId = "".concat(output.id, ".").concat(output.property); - } else { - outputId = output; - - if (Object(_utils__WEBPACK_IMPORTED_MODULE_2__["isMultiOutputProp"])(output)) { - Object(_utils__WEBPACK_IMPORTED_MODULE_2__["parseMultipleOutputs"])(output).forEach(function (out) { - multiGraph.addNode(out); - inputs.forEach(function (i) { - var inputId = "".concat(i.id, ".").concat(i.property); - - if (!multiGraph.hasNode(inputId)) { - multiGraph.addNode(inputId); - } - - multiGraph.addDependency(inputId, out); - }); - }); - } else { - multiGraph.addNode(output); - inputs.forEach(function (i) { - var inputId = "".concat(i.id, ".").concat(i.property); - - if (!multiGraph.hasNode(inputId)) { - multiGraph.addNode(inputId); - } - - multiGraph.addDependency(inputId, output); - }); - } - } - - inputs.forEach(function (inputObject) { - var inputId = "".concat(inputObject.id, ".").concat(inputObject.property); - inputGraph.addNode(outputId); - - if (!inputGraph.hasNode(inputId)) { - inputGraph.addNode(inputId); - } - - inputGraph.addDependency(inputId, outputId); - }); - }); - return { - InputGraph: inputGraph, - MultiGraph: multiGraph - }; - } - - default: - return state; - } -}; - -/* harmony default export */ __webpack_exports__["default"] = (graphs); - -/***/ }), - -/***/ "./src/reducers/error.js": -/*!*******************************!*\ - !*** ./src/reducers/error.js ***! - \*******************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return error; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - - -var initialError = { - frontEnd: [], - backEnd: [] -}; -function error() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialError; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case 'ON_ERROR': - { - if (action.payload.type === 'frontEnd') { - return { - frontEnd: [Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(action.payload, { - timestamp: new Date() - })].concat(_toConsumableArray(state.frontEnd)), - backEnd: state.backEnd - }; - } else if (action.payload.type === 'backEnd') { - return { - frontEnd: state.frontEnd, - backEnd: [Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(action.payload, { - timestamp: new Date() - })].concat(_toConsumableArray(state.backEnd)) - }; - } - - return state; - } - - default: - { - return state; - } - } -} - -/***/ }), - -/***/ "./src/reducers/history.js": -/*!*********************************!*\ - !*** ./src/reducers/history.js ***! - \*********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - -var initialHistory = { - past: [], - present: {}, - future: [] -}; - -function history() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialHistory; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case 'UNDO': - { - var past = state.past, - present = state.present, - future = state.future; - var previous = past[past.length - 1]; - var newPast = past.slice(0, past.length - 1); - return { - past: newPast, - present: previous, - future: [present].concat(_toConsumableArray(future)) - }; - } - - case 'REDO': - { - var _past = state.past, - _present = state.present, - _future = state.future; - var next = _future[0]; - - var newFuture = _future.slice(1); - - return { - past: [].concat(_toConsumableArray(_past), [_present]), - present: next, - future: newFuture - }; - } - - case 'REVERT': - { - var _past2 = state.past, - _future2 = state.future; - var _previous = _past2[_past2.length - 1]; - - var _newPast = _past2.slice(0, _past2.length - 1); - - return { - past: _newPast, - present: _previous, - future: _toConsumableArray(_future2) - }; - } - - default: - { - return state; - } - } -} - -/* harmony default export */ __webpack_exports__["default"] = (history); - -/***/ }), - -/***/ "./src/reducers/hooks.js": -/*!*******************************!*\ - !*** ./src/reducers/hooks.js ***! - \*******************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -var customHooks = function customHooks() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { - request_pre: null, - request_post: null, - bear: false - }; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case 'SET_HOOKS': - return action.payload; - - default: - return state; - } -}; - -/* harmony default export */ __webpack_exports__["default"] = (customHooks); - -/***/ }), - -/***/ "./src/reducers/layout.js": -/*!********************************!*\ - !*** ./src/reducers/layout.js ***! - \********************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); - - - -var layout = function layout() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var action = arguments.length > 1 ? arguments[1] : undefined; - - if (action.type === Object(_actions_constants__WEBPACK_IMPORTED_MODULE_1__["getAction"])('SET_LAYOUT')) { - return action.payload; - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(action.type, ['UNDO_PROP_CHANGE', 'REDO_PROP_CHANGE', Object(_actions_constants__WEBPACK_IMPORTED_MODULE_1__["getAction"])('ON_PROP_CHANGE')])) { - var propPath = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])('props', action.payload.itempath); - var existingProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(propPath), state); - var mergedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(existingProps, action.payload.props); - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assocPath"])(propPath, mergedProps, state); - } - - return state; -}; - -/* harmony default export */ __webpack_exports__["default"] = (layout); - -/***/ }), - -/***/ "./src/reducers/paths.js": -/*!*******************************!*\ - !*** ./src/reducers/paths.js ***! - \*******************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ "./src/reducers/utils.js"); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); - - - -var initialPaths = null; - -var paths = function paths() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialPaths; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case Object(_actions_constants__WEBPACK_IMPORTED_MODULE_2__["getAction"])('COMPUTE_PATHS'): - { - var _action$payload = action.payload, - subTree = _action$payload.subTree, - startingPath = _action$payload.startingPath; - var oldState = state; - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isNil"])(state)) { - oldState = {}; - } - - var newState; // if we're updating a subtree, clear out all of the existing items - - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(startingPath)) { - var removeKeys = Object(ramda__WEBPACK_IMPORTED_MODULE_1__["filter"])(function (k) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_1__["equals"])(startingPath, Object(ramda__WEBPACK_IMPORTED_MODULE_1__["slice"])(0, startingPath.length, oldState[k])); - }, Object(ramda__WEBPACK_IMPORTED_MODULE_1__["keys"])(oldState)); - newState = Object(ramda__WEBPACK_IMPORTED_MODULE_1__["omit"])(removeKeys, oldState); - } else { - newState = Object(ramda__WEBPACK_IMPORTED_MODULE_1__["mergeRight"])({}, oldState); - } - - Object(_utils__WEBPACK_IMPORTED_MODULE_0__["crawlLayout"])(subTree, function assignPath(child, itempath) { - if (Object(_utils__WEBPACK_IMPORTED_MODULE_0__["hasPropsId"])(child)) { - newState[child.props.id] = Object(ramda__WEBPACK_IMPORTED_MODULE_1__["concat"])(startingPath, itempath); - } - }); - return newState; - } - - default: - { - return state; - } - } -}; - -/* harmony default export */ __webpack_exports__["default"] = (paths); - -/***/ }), - -/***/ "./src/reducers/reducer.js": -/*!*********************************!*\ - !*** ./src/reducers/reducer.js ***! - \*********************************/ -/*! exports provided: apiRequests, createReducer */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apiRequests", function() { return apiRequests; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createReducer", function() { return createReducer; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); -/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); -/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./layout */ "./src/reducers/layout.js"); -/* harmony import */ var _dependencyGraph__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dependencyGraph */ "./src/reducers/dependencyGraph.js"); -/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./paths */ "./src/reducers/paths.js"); -/* harmony import */ var _requestQueue__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./requestQueue */ "./src/reducers/requestQueue.js"); -/* harmony import */ var _appLifecycle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./appLifecycle */ "./src/reducers/appLifecycle.js"); -/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./history */ "./src/reducers/history.js"); -/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./error */ "./src/reducers/error.js"); -/* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./hooks */ "./src/reducers/hooks.js"); -/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./api */ "./src/reducers/api.js"); -/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./config */ "./src/reducers/config.js"); - - -function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } - -function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } - -function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } - -function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } - - - - - - - - - - - - - -var apiRequests = ['dependenciesRequest', 'layoutRequest', 'reloadRequest', 'loginRequest']; - -function mainReducer() { - var parts = { - appLifecycle: _appLifecycle__WEBPACK_IMPORTED_MODULE_6__["default"], - layout: _layout__WEBPACK_IMPORTED_MODULE_2__["default"], - graphs: _dependencyGraph__WEBPACK_IMPORTED_MODULE_3__["default"], - paths: _paths__WEBPACK_IMPORTED_MODULE_4__["default"], - requestQueue: _requestQueue__WEBPACK_IMPORTED_MODULE_5__["default"], - config: _config__WEBPACK_IMPORTED_MODULE_11__["default"], - history: _history__WEBPACK_IMPORTED_MODULE_7__["default"], - error: _error__WEBPACK_IMPORTED_MODULE_8__["default"], - hooks: _hooks__WEBPACK_IMPORTED_MODULE_9__["default"] - }; - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (r) { - parts[r] = Object(_api__WEBPACK_IMPORTED_MODULE_10__["default"])(r); - }, apiRequests); - return Object(redux__WEBPACK_IMPORTED_MODULE_1__["combineReducers"])(parts); -} - -function getInputHistoryState(itempath, props, state) { - var graphs = state.graphs, - layout = state.layout, - paths = state.paths; - var InputGraph = graphs.InputGraph; - var keyObj = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(itempath), paths); - var historyEntry; - - if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(keyObj)) { - var id = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(keyObj)[0]; - historyEntry = { - id: id, - props: {} - }; - Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(props).forEach(function (propKey) { - var inputKey = "".concat(id, ".").concat(propKey); - - if (InputGraph.hasNode(inputKey) && InputGraph.dependenciesOf(inputKey).length > 0) { - historyEntry.props[propKey] = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(paths[id], ['props', propKey])), layout); - } - }); - } - - return historyEntry; -} - -function recordHistory(reducer) { - return function (state, action) { - // Record initial state - if (action.type === 'ON_PROP_CHANGE') { - var _action$payload = action.payload, - itempath = _action$payload.itempath, - props = _action$payload.props; - var historyEntry = getInputHistoryState(itempath, props, state); - - if (historyEntry && !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(historyEntry.props)) { - state.history.present = historyEntry; - } - } - - var nextState = reducer(state, action); - - if (action.type === 'ON_PROP_CHANGE' && action.payload.source !== 'response') { - var _action$payload2 = action.payload, - _itempath = _action$payload2.itempath, - _props = _action$payload2.props; - /* - * if the prop change is an input, then - * record it so that it can be played back - */ - - var _historyEntry = getInputHistoryState(_itempath, _props, nextState); - - if (_historyEntry && !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(_historyEntry.props)) { - nextState.history = { - past: [].concat(_toConsumableArray(nextState.history.past), [state.history.present]), - present: _historyEntry, - future: [] - }; - } - } - - return nextState; - }; -} - -function reloaderReducer(reducer) { - return function (state, action) { - var _ref = state || {}, - history = _ref.history, - config = _ref.config, - hooks = _ref.hooks; - - var newState = state; - - if (action.type === 'RELOAD') { - newState = { - history: history, - config: config, - hooks: hooks - }; - } else if (action.type === 'SET_CONFIG') { - // new config also reloads, and even clears history, - // in case there's a new user or even a totally different app! - // hooks are set at an even higher level than config though. - newState = { - hooks: hooks - }; - } - - return reducer(newState, action); - }; -} - -function createReducer() { - return reloaderReducer(recordHistory(mainReducer())); -} - -/***/ }), - -/***/ "./src/reducers/requestQueue.js": -/*!**************************************!*\ - !*** ./src/reducers/requestQueue.js ***! - \**************************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - - -var requestQueue = function requestQueue() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case 'SET_REQUEST_QUEUE': - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["clone"])(action.payload); - - default: - return state; - } -}; - -/* harmony default export */ __webpack_exports__["default"] = (requestQueue); - -/***/ }), - -/***/ "./src/reducers/utils.js": -/*!*******************************!*\ - !*** ./src/reducers/utils.js ***! - \*******************************/ -/*! exports provided: hasPropsId, hasPropsChildren, crawlLayout, hasId */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasPropsId", function() { return hasPropsId; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasPropsChildren", function() { return hasPropsChildren; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "crawlLayout", function() { return crawlLayout; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasId", function() { return hasId; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - -var extend = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["reduce"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flip"])(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])); -var hasProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["allPass"])([Object(ramda__WEBPACK_IMPORTED_MODULE_0__["is"])(Object), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('props')]); -var hasPropsId = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["allPass"])([hasProps, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["compose"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('id'), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["prop"])('props'))]); -var hasPropsChildren = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["allPass"])([hasProps, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["compose"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('children'), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["prop"])('props'))]); // crawl a layout object, apply a function on every object - -var crawlLayout = function crawlLayout(object, func) { - var path = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; - func(object, path); - /* - * object may be a string, a number, or null - * R.has will return false for both of those types - */ - - if (hasPropsChildren(object)) { - var newPath = extend(path, ['props', 'children']); - - if (Array.isArray(object.props.children)) { - object.props.children.forEach(function (child, i) { - crawlLayout(child, func, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])(i, newPath)); - }); - } else { - crawlLayout(object.props.children, func, newPath); - } - } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["is"])(Array, object)) { - /* - * Sometimes when we're updating a sub-tree - * (like when we're responding to a callback) - * that returns `{children: [{...}, {...}]}` - * then we'll need to start crawling from - * an array instead of an object. - */ - object.forEach(function (child, i) { - crawlLayout(child, func, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])(i, path)); - }); - } -}; -function hasId(child) { - return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(child) === 'Object' && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('props', child) && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('id', child.props); -} - -/***/ }), - -/***/ "./src/registry.js": -/*!*************************!*\ - !*** ./src/registry.js ***! - \*************************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); - - -/* harmony default export */ __webpack_exports__["default"] = ({ - resolve: function resolve(component) { - var type = component.type, - namespace = component.namespace; - var ns = window[namespace]; - /* global window: true */ - - if (ns) { - if (ns[type]) { - return ns[type]; - } - - throw new Error("Component ".concat(type, " not found in ").concat(namespace)); - } - - throw new Error("".concat(namespace, " was not found.")); - } -}); - -/***/ }), - -/***/ "./src/store.js": -/*!**********************!*\ - !*** ./src/store.js ***! - \**********************/ -/*! exports provided: default */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/index.js"); -/* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-thunk */ "./node_modules/redux-thunk/es/index.js"); -/* harmony import */ var _reducers_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reducers/reducer */ "./src/reducers/reducer.js"); -/* global module, require */ - - - -var store; -/** - * Initialize a Redux store with thunk, plus logging (only in development mode) middleware - * - * @param {bool} reset: discard any previous store - * - * @returns {Store<GenericStoreEnhancer>} - * An initialized redux store with middleware and possible hot reloading of reducers - */ - -var initializeStore = function initializeStore(reset) { - if (store && !reset) { - return store; - } - - var reducer = Object(_reducers_reducer__WEBPACK_IMPORTED_MODULE_2__["createReducer"])(); // only attach logger to middleware in non-production mode - - store = false // eslint-disable-line no-process-env - ? undefined : Object(redux__WEBPACK_IMPORTED_MODULE_0__["createStore"])(reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(), Object(redux__WEBPACK_IMPORTED_MODULE_0__["applyMiddleware"])(redux_thunk__WEBPACK_IMPORTED_MODULE_1__["default"])); - - if (!reset) { - // TODO - Protect this under a debug mode? - window.store = store; - /* global window:true */ - } - - if (false) {} - - return store; -}; - -/* harmony default export */ __webpack_exports__["default"] = (initializeStore); - -/***/ }), - -/***/ "./src/utils.js": -/*!**********************!*\ - !*** ./src/utils.js ***! - \**********************/ -/*! exports provided: urlBase, uid, isMultiOutputProp, parseMultipleOutputs */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "urlBase", function() { return urlBase; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "uid", function() { return uid; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMultiOutputProp", function() { return isMultiOutputProp; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseMultipleOutputs", function() { return parseMultipleOutputs; }); -/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); - -/* - * requests_pathname_prefix is the new config parameter introduced in - * dash==0.18.0. The previous versions just had url_base_pathname - */ - -function urlBase(config) { - var hasUrlBase = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('url_base_pathname', config); - var hasReqPrefix = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('requests_pathname_prefix', config); - - if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(config) !== 'Object' || !hasUrlBase && !hasReqPrefix) { - throw new Error("\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in `config`. `config` is: ", config); - } - - var base = hasReqPrefix ? config.requests_pathname_prefix : config.url_base_pathname; - return base.charAt(base.length - 1) === '/' ? base : base + '/'; -} -function uid() { - function s4() { - var h = 0x10000; - return Math.floor((1 + Math.random()) * h).toString(16).substring(1); - } - - return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); -} -function isMultiOutputProp(outputIdAndProp) { - /* - * If this update is for multiple outputs, then it has - * starting & trailing `..` and each propId pair is separated - * by `...`, e.g. - * "..output-1.value...output-2.value...output-3.value...output-4.value.." - */ - return outputIdAndProp.startsWith('..'); -} -function parseMultipleOutputs(outputIdAndProp) { - /* - * If this update is for multiple outputs, then it has - * starting & trailing `..` and each propId pair is separated - * by `...`, e.g. - * "..output-1.value...output-2.value...output-3.value...output-4.value.." - */ - return outputIdAndProp.split('...').map(function (o) { - return o.replace('..', ''); - }); -} - -/***/ }), - -/***/ 0: -/*!*****************************************!*\ - !*** multi whatwg-fetch ./src/index.js ***! - \*****************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -__webpack_require__(/*! whatwg-fetch */"./node_modules/whatwg-fetch/fetch.js"); -module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js"); - - -/***/ }), - -/***/ 1: -/*!********************!*\ - !*** fs (ignored) ***! - \********************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }), - -/***/ 2: -/*!**********************!*\ - !*** path (ignored) ***! - \**********************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }), - -/***/ 3: -/*!************************!*\ - !*** crypto (ignored) ***! - \************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -/* (ignored) */ - -/***/ }), - -/***/ "prop-types": -/*!****************************!*\ - !*** external "PropTypes" ***! - \****************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -(function() { module.exports = window["PropTypes"]; }()); - -/***/ }), - -/***/ "react": -/*!************************!*\ - !*** external "React" ***! - \************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -(function() { module.exports = window["React"]; }()); - -/***/ }), - -/***/ "react-dom": -/*!***************************!*\ - !*** external "ReactDOM" ***! - \***************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -(function() { module.exports = window["ReactDOM"]; }()); - -/***/ }) - -/******/ }); -//# sourceMappingURL=dash_renderer.dev.js.map \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js.map b/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js.map deleted file mode 100644 index c3b268aa..00000000 --- a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.dev.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://dash_renderer/webpack/bootstrap","webpack://dash_renderer/./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack://dash_renderer/./node_modules/base64-js/index.js","webpack://dash_renderer/./node_modules/bowser/src/bowser.js","webpack://dash_renderer/./node_modules/buffer/index.js","webpack://dash_renderer/./node_modules/cookie/index.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.css","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.css","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.css","webpack://dash_renderer/./src/components/error/Percy.css","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.css","webpack://dash_renderer/./src/components/error/menu/DebugMenu.css","webpack://dash_renderer/./node_modules/css-loader/dist/runtime/api.js","webpack://dash_renderer/./node_modules/dependency-graph/lib/dep_graph.js","webpack://dash_renderer/./node_modules/exenv/index.js","webpack://dash_renderer/./node_modules/flux-standard-action/lib/index.js","webpack://dash_renderer/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://dash_renderer/./node_modules/hyphenate-style-name/index.js","webpack://dash_renderer/./node_modules/ieee754/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/transition.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/transition.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/capitalizeString.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getBrowserInformation.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedValue.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/isObject.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixProperty.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixValue.js","webpack://dash_renderer/./node_modules/invariant/browser.js","webpack://dash_renderer/./node_modules/isarray/index.js","webpack://dash_renderer/./node_modules/lodash-es/_Symbol.js","webpack://dash_renderer/./node_modules/lodash-es/_baseGetTag.js","webpack://dash_renderer/./node_modules/lodash-es/_freeGlobal.js","webpack://dash_renderer/./node_modules/lodash-es/_getPrototype.js","webpack://dash_renderer/./node_modules/lodash-es/_getRawTag.js","webpack://dash_renderer/./node_modules/lodash-es/_objectToString.js","webpack://dash_renderer/./node_modules/lodash-es/_overArg.js","webpack://dash_renderer/./node_modules/lodash-es/_root.js","webpack://dash_renderer/./node_modules/lodash-es/isObjectLike.js","webpack://dash_renderer/./node_modules/lodash-es/isPlainObject.js","webpack://dash_renderer/./node_modules/lodash._basefor/index.js","webpack://dash_renderer/./node_modules/lodash.isarguments/index.js","webpack://dash_renderer/./node_modules/lodash.isarray/index.js","webpack://dash_renderer/./node_modules/lodash.isplainobject/index.js","webpack://dash_renderer/./node_modules/lodash.keysin/index.js","webpack://dash_renderer/./node_modules/lodash/_Symbol.js","webpack://dash_renderer/./node_modules/lodash/_baseGetTag.js","webpack://dash_renderer/./node_modules/lodash/_freeGlobal.js","webpack://dash_renderer/./node_modules/lodash/_getPrototype.js","webpack://dash_renderer/./node_modules/lodash/_getRawTag.js","webpack://dash_renderer/./node_modules/lodash/_objectToString.js","webpack://dash_renderer/./node_modules/lodash/_overArg.js","webpack://dash_renderer/./node_modules/lodash/_root.js","webpack://dash_renderer/./node_modules/lodash/isObjectLike.js","webpack://dash_renderer/./node_modules/lodash/isPlainObject.js","webpack://dash_renderer/./node_modules/process/browser.js","webpack://dash_renderer/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://dash_renderer/./node_modules/radium/es/append-important-to-each-value.js","webpack://dash_renderer/./node_modules/radium/es/append-px-if-needed.js","webpack://dash_renderer/./node_modules/radium/es/camel-case-props-to-dash-case.js","webpack://dash_renderer/./node_modules/radium/es/clean-state-key.js","webpack://dash_renderer/./node_modules/radium/es/components/style-root.js","webpack://dash_renderer/./node_modules/radium/es/components/style-sheet.js","webpack://dash_renderer/./node_modules/radium/es/components/style.js","webpack://dash_renderer/./node_modules/radium/es/css-rule-set-to-string.js","webpack://dash_renderer/./node_modules/radium/es/enhancer.js","webpack://dash_renderer/./node_modules/radium/es/get-radium-style-state.js","webpack://dash_renderer/./node_modules/radium/es/get-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-state.js","webpack://dash_renderer/./node_modules/radium/es/hash.js","webpack://dash_renderer/./node_modules/radium/es/index.js","webpack://dash_renderer/./node_modules/radium/es/keyframes.js","webpack://dash_renderer/./node_modules/radium/es/map-object.js","webpack://dash_renderer/./node_modules/radium/es/merge-styles.js","webpack://dash_renderer/./node_modules/radium/es/plugins/check-props-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/index.js","webpack://dash_renderer/./node_modules/radium/es/plugins/keyframes-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/merge-style-array-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/mouse-up-listener.js","webpack://dash_renderer/./node_modules/radium/es/plugins/prefix-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/remove-nested-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-media-queries-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/visited-plugin.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/dynamic.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/static.js","webpack://dash_renderer/./node_modules/radium/es/prefixer.js","webpack://dash_renderer/./node_modules/radium/es/resolve-styles.js","webpack://dash_renderer/./node_modules/radium/es/style-keeper.js","webpack://dash_renderer/./node_modules/ramda/es/F.js","webpack://dash_renderer/./node_modules/ramda/es/T.js","webpack://dash_renderer/./node_modules/ramda/es/__.js","webpack://dash_renderer/./node_modules/ramda/es/add.js","webpack://dash_renderer/./node_modules/ramda/es/addIndex.js","webpack://dash_renderer/./node_modules/ramda/es/adjust.js","webpack://dash_renderer/./node_modules/ramda/es/all.js","webpack://dash_renderer/./node_modules/ramda/es/allPass.js","webpack://dash_renderer/./node_modules/ramda/es/always.js","webpack://dash_renderer/./node_modules/ramda/es/and.js","webpack://dash_renderer/./node_modules/ramda/es/any.js","webpack://dash_renderer/./node_modules/ramda/es/anyPass.js","webpack://dash_renderer/./node_modules/ramda/es/ap.js","webpack://dash_renderer/./node_modules/ramda/es/aperture.js","webpack://dash_renderer/./node_modules/ramda/es/append.js","webpack://dash_renderer/./node_modules/ramda/es/apply.js","webpack://dash_renderer/./node_modules/ramda/es/applySpec.js","webpack://dash_renderer/./node_modules/ramda/es/applyTo.js","webpack://dash_renderer/./node_modules/ramda/es/ascend.js","webpack://dash_renderer/./node_modules/ramda/es/assoc.js","webpack://dash_renderer/./node_modules/ramda/es/assocPath.js","webpack://dash_renderer/./node_modules/ramda/es/binary.js","webpack://dash_renderer/./node_modules/ramda/es/bind.js","webpack://dash_renderer/./node_modules/ramda/es/both.js","webpack://dash_renderer/./node_modules/ramda/es/call.js","webpack://dash_renderer/./node_modules/ramda/es/chain.js","webpack://dash_renderer/./node_modules/ramda/es/clamp.js","webpack://dash_renderer/./node_modules/ramda/es/clone.js","webpack://dash_renderer/./node_modules/ramda/es/comparator.js","webpack://dash_renderer/./node_modules/ramda/es/complement.js","webpack://dash_renderer/./node_modules/ramda/es/compose.js","webpack://dash_renderer/./node_modules/ramda/es/composeK.js","webpack://dash_renderer/./node_modules/ramda/es/composeP.js","webpack://dash_renderer/./node_modules/ramda/es/composeWith.js","webpack://dash_renderer/./node_modules/ramda/es/concat.js","webpack://dash_renderer/./node_modules/ramda/es/cond.js","webpack://dash_renderer/./node_modules/ramda/es/construct.js","webpack://dash_renderer/./node_modules/ramda/es/constructN.js","webpack://dash_renderer/./node_modules/ramda/es/contains.js","webpack://dash_renderer/./node_modules/ramda/es/converge.js","webpack://dash_renderer/./node_modules/ramda/es/countBy.js","webpack://dash_renderer/./node_modules/ramda/es/curry.js","webpack://dash_renderer/./node_modules/ramda/es/curryN.js","webpack://dash_renderer/./node_modules/ramda/es/dec.js","webpack://dash_renderer/./node_modules/ramda/es/defaultTo.js","webpack://dash_renderer/./node_modules/ramda/es/descend.js","webpack://dash_renderer/./node_modules/ramda/es/difference.js","webpack://dash_renderer/./node_modules/ramda/es/differenceWith.js","webpack://dash_renderer/./node_modules/ramda/es/dissoc.js","webpack://dash_renderer/./node_modules/ramda/es/dissocPath.js","webpack://dash_renderer/./node_modules/ramda/es/divide.js","webpack://dash_renderer/./node_modules/ramda/es/drop.js","webpack://dash_renderer/./node_modules/ramda/es/dropLast.js","webpack://dash_renderer/./node_modules/ramda/es/dropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/dropRepeats.js","webpack://dash_renderer/./node_modules/ramda/es/dropRepeatsWith.js","webpack://dash_renderer/./node_modules/ramda/es/dropWhile.js","webpack://dash_renderer/./node_modules/ramda/es/either.js","webpack://dash_renderer/./node_modules/ramda/es/empty.js","webpack://dash_renderer/./node_modules/ramda/es/endsWith.js","webpack://dash_renderer/./node_modules/ramda/es/eqBy.js","webpack://dash_renderer/./node_modules/ramda/es/eqProps.js","webpack://dash_renderer/./node_modules/ramda/es/equals.js","webpack://dash_renderer/./node_modules/ramda/es/evolve.js","webpack://dash_renderer/./node_modules/ramda/es/filter.js","webpack://dash_renderer/./node_modules/ramda/es/find.js","webpack://dash_renderer/./node_modules/ramda/es/findIndex.js","webpack://dash_renderer/./node_modules/ramda/es/findLast.js","webpack://dash_renderer/./node_modules/ramda/es/findLastIndex.js","webpack://dash_renderer/./node_modules/ramda/es/flatten.js","webpack://dash_renderer/./node_modules/ramda/es/flip.js","webpack://dash_renderer/./node_modules/ramda/es/forEach.js","webpack://dash_renderer/./node_modules/ramda/es/forEachObjIndexed.js","webpack://dash_renderer/./node_modules/ramda/es/fromPairs.js","webpack://dash_renderer/./node_modules/ramda/es/groupBy.js","webpack://dash_renderer/./node_modules/ramda/es/groupWith.js","webpack://dash_renderer/./node_modules/ramda/es/gt.js","webpack://dash_renderer/./node_modules/ramda/es/gte.js","webpack://dash_renderer/./node_modules/ramda/es/has.js","webpack://dash_renderer/./node_modules/ramda/es/hasIn.js","webpack://dash_renderer/./node_modules/ramda/es/hasPath.js","webpack://dash_renderer/./node_modules/ramda/es/head.js","webpack://dash_renderer/./node_modules/ramda/es/identical.js","webpack://dash_renderer/./node_modules/ramda/es/identity.js","webpack://dash_renderer/./node_modules/ramda/es/ifElse.js","webpack://dash_renderer/./node_modules/ramda/es/inc.js","webpack://dash_renderer/./node_modules/ramda/es/includes.js","webpack://dash_renderer/./node_modules/ramda/es/index.js","webpack://dash_renderer/./node_modules/ramda/es/indexBy.js","webpack://dash_renderer/./node_modules/ramda/es/indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/init.js","webpack://dash_renderer/./node_modules/ramda/es/innerJoin.js","webpack://dash_renderer/./node_modules/ramda/es/insert.js","webpack://dash_renderer/./node_modules/ramda/es/insertAll.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_Set.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_aperture.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arity.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_assertPromise.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_checkForMethod.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_clone.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_cloneRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_complement.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_concat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_createPartialApplicator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry1.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry2.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry3.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curryN.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dispatchable.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dropLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_equals.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_filter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_flatCat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_forceReduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_functionName.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_has.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_identity.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includesWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArguments.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArray.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isFunction.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isInteger.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isNumber.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isObject.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isTransformer.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_makeFlat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_map.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectAssign.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectIs.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_of.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_pipe.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_pipeP.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_quote.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduce.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_stepCat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toISOString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xall.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xany.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xaperture.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xchain.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdrop.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropRepeatsWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfBase.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfilter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfind.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindIndex.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindLastIndex.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xmap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xreduceBy.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtake.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtakeWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xwrap.js","webpack://dash_renderer/./node_modules/ramda/es/intersection.js","webpack://dash_renderer/./node_modules/ramda/es/intersperse.js","webpack://dash_renderer/./node_modules/ramda/es/into.js","webpack://dash_renderer/./node_modules/ramda/es/invert.js","webpack://dash_renderer/./node_modules/ramda/es/invertObj.js","webpack://dash_renderer/./node_modules/ramda/es/invoker.js","webpack://dash_renderer/./node_modules/ramda/es/is.js","webpack://dash_renderer/./node_modules/ramda/es/isEmpty.js","webpack://dash_renderer/./node_modules/ramda/es/isNil.js","webpack://dash_renderer/./node_modules/ramda/es/join.js","webpack://dash_renderer/./node_modules/ramda/es/juxt.js","webpack://dash_renderer/./node_modules/ramda/es/keys.js","webpack://dash_renderer/./node_modules/ramda/es/keysIn.js","webpack://dash_renderer/./node_modules/ramda/es/last.js","webpack://dash_renderer/./node_modules/ramda/es/lastIndexOf.js","webpack://dash_renderer/./node_modules/ramda/es/length.js","webpack://dash_renderer/./node_modules/ramda/es/lens.js","webpack://dash_renderer/./node_modules/ramda/es/lensIndex.js","webpack://dash_renderer/./node_modules/ramda/es/lensPath.js","webpack://dash_renderer/./node_modules/ramda/es/lensProp.js","webpack://dash_renderer/./node_modules/ramda/es/lift.js","webpack://dash_renderer/./node_modules/ramda/es/liftN.js","webpack://dash_renderer/./node_modules/ramda/es/lt.js","webpack://dash_renderer/./node_modules/ramda/es/lte.js","webpack://dash_renderer/./node_modules/ramda/es/map.js","webpack://dash_renderer/./node_modules/ramda/es/mapAccum.js","webpack://dash_renderer/./node_modules/ramda/es/mapAccumRight.js","webpack://dash_renderer/./node_modules/ramda/es/mapObjIndexed.js","webpack://dash_renderer/./node_modules/ramda/es/match.js","webpack://dash_renderer/./node_modules/ramda/es/mathMod.js","webpack://dash_renderer/./node_modules/ramda/es/max.js","webpack://dash_renderer/./node_modules/ramda/es/maxBy.js","webpack://dash_renderer/./node_modules/ramda/es/mean.js","webpack://dash_renderer/./node_modules/ramda/es/median.js","webpack://dash_renderer/./node_modules/ramda/es/memoizeWith.js","webpack://dash_renderer/./node_modules/ramda/es/merge.js","webpack://dash_renderer/./node_modules/ramda/es/mergeAll.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepLeft.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepRight.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWith.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeLeft.js","webpack://dash_renderer/./node_modules/ramda/es/mergeRight.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWith.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/min.js","webpack://dash_renderer/./node_modules/ramda/es/minBy.js","webpack://dash_renderer/./node_modules/ramda/es/modulo.js","webpack://dash_renderer/./node_modules/ramda/es/move.js","webpack://dash_renderer/./node_modules/ramda/es/multiply.js","webpack://dash_renderer/./node_modules/ramda/es/nAry.js","webpack://dash_renderer/./node_modules/ramda/es/negate.js","webpack://dash_renderer/./node_modules/ramda/es/none.js","webpack://dash_renderer/./node_modules/ramda/es/not.js","webpack://dash_renderer/./node_modules/ramda/es/nth.js","webpack://dash_renderer/./node_modules/ramda/es/nthArg.js","webpack://dash_renderer/./node_modules/ramda/es/o.js","webpack://dash_renderer/./node_modules/ramda/es/objOf.js","webpack://dash_renderer/./node_modules/ramda/es/of.js","webpack://dash_renderer/./node_modules/ramda/es/omit.js","webpack://dash_renderer/./node_modules/ramda/es/once.js","webpack://dash_renderer/./node_modules/ramda/es/or.js","webpack://dash_renderer/./node_modules/ramda/es/otherwise.js","webpack://dash_renderer/./node_modules/ramda/es/over.js","webpack://dash_renderer/./node_modules/ramda/es/pair.js","webpack://dash_renderer/./node_modules/ramda/es/partial.js","webpack://dash_renderer/./node_modules/ramda/es/partialRight.js","webpack://dash_renderer/./node_modules/ramda/es/partition.js","webpack://dash_renderer/./node_modules/ramda/es/path.js","webpack://dash_renderer/./node_modules/ramda/es/pathEq.js","webpack://dash_renderer/./node_modules/ramda/es/pathOr.js","webpack://dash_renderer/./node_modules/ramda/es/pathSatisfies.js","webpack://dash_renderer/./node_modules/ramda/es/pick.js","webpack://dash_renderer/./node_modules/ramda/es/pickAll.js","webpack://dash_renderer/./node_modules/ramda/es/pickBy.js","webpack://dash_renderer/./node_modules/ramda/es/pipe.js","webpack://dash_renderer/./node_modules/ramda/es/pipeK.js","webpack://dash_renderer/./node_modules/ramda/es/pipeP.js","webpack://dash_renderer/./node_modules/ramda/es/pipeWith.js","webpack://dash_renderer/./node_modules/ramda/es/pluck.js","webpack://dash_renderer/./node_modules/ramda/es/prepend.js","webpack://dash_renderer/./node_modules/ramda/es/product.js","webpack://dash_renderer/./node_modules/ramda/es/project.js","webpack://dash_renderer/./node_modules/ramda/es/prop.js","webpack://dash_renderer/./node_modules/ramda/es/propEq.js","webpack://dash_renderer/./node_modules/ramda/es/propIs.js","webpack://dash_renderer/./node_modules/ramda/es/propOr.js","webpack://dash_renderer/./node_modules/ramda/es/propSatisfies.js","webpack://dash_renderer/./node_modules/ramda/es/props.js","webpack://dash_renderer/./node_modules/ramda/es/range.js","webpack://dash_renderer/./node_modules/ramda/es/reduce.js","webpack://dash_renderer/./node_modules/ramda/es/reduceBy.js","webpack://dash_renderer/./node_modules/ramda/es/reduceRight.js","webpack://dash_renderer/./node_modules/ramda/es/reduceWhile.js","webpack://dash_renderer/./node_modules/ramda/es/reduced.js","webpack://dash_renderer/./node_modules/ramda/es/reject.js","webpack://dash_renderer/./node_modules/ramda/es/remove.js","webpack://dash_renderer/./node_modules/ramda/es/repeat.js","webpack://dash_renderer/./node_modules/ramda/es/replace.js","webpack://dash_renderer/./node_modules/ramda/es/reverse.js","webpack://dash_renderer/./node_modules/ramda/es/scan.js","webpack://dash_renderer/./node_modules/ramda/es/sequence.js","webpack://dash_renderer/./node_modules/ramda/es/set.js","webpack://dash_renderer/./node_modules/ramda/es/slice.js","webpack://dash_renderer/./node_modules/ramda/es/sort.js","webpack://dash_renderer/./node_modules/ramda/es/sortBy.js","webpack://dash_renderer/./node_modules/ramda/es/sortWith.js","webpack://dash_renderer/./node_modules/ramda/es/split.js","webpack://dash_renderer/./node_modules/ramda/es/splitAt.js","webpack://dash_renderer/./node_modules/ramda/es/splitEvery.js","webpack://dash_renderer/./node_modules/ramda/es/splitWhen.js","webpack://dash_renderer/./node_modules/ramda/es/startsWith.js","webpack://dash_renderer/./node_modules/ramda/es/subtract.js","webpack://dash_renderer/./node_modules/ramda/es/sum.js","webpack://dash_renderer/./node_modules/ramda/es/symmetricDifference.js","webpack://dash_renderer/./node_modules/ramda/es/symmetricDifferenceWith.js","webpack://dash_renderer/./node_modules/ramda/es/tail.js","webpack://dash_renderer/./node_modules/ramda/es/take.js","webpack://dash_renderer/./node_modules/ramda/es/takeLast.js","webpack://dash_renderer/./node_modules/ramda/es/takeLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/takeWhile.js","webpack://dash_renderer/./node_modules/ramda/es/tap.js","webpack://dash_renderer/./node_modules/ramda/es/test.js","webpack://dash_renderer/./node_modules/ramda/es/then.js","webpack://dash_renderer/./node_modules/ramda/es/thunkify.js","webpack://dash_renderer/./node_modules/ramda/es/times.js","webpack://dash_renderer/./node_modules/ramda/es/toLower.js","webpack://dash_renderer/./node_modules/ramda/es/toPairs.js","webpack://dash_renderer/./node_modules/ramda/es/toPairsIn.js","webpack://dash_renderer/./node_modules/ramda/es/toString.js","webpack://dash_renderer/./node_modules/ramda/es/toUpper.js","webpack://dash_renderer/./node_modules/ramda/es/transduce.js","webpack://dash_renderer/./node_modules/ramda/es/transpose.js","webpack://dash_renderer/./node_modules/ramda/es/traverse.js","webpack://dash_renderer/./node_modules/ramda/es/trim.js","webpack://dash_renderer/./node_modules/ramda/es/tryCatch.js","webpack://dash_renderer/./node_modules/ramda/es/type.js","webpack://dash_renderer/./node_modules/ramda/es/unapply.js","webpack://dash_renderer/./node_modules/ramda/es/unary.js","webpack://dash_renderer/./node_modules/ramda/es/uncurryN.js","webpack://dash_renderer/./node_modules/ramda/es/unfold.js","webpack://dash_renderer/./node_modules/ramda/es/union.js","webpack://dash_renderer/./node_modules/ramda/es/unionWith.js","webpack://dash_renderer/./node_modules/ramda/es/uniq.js","webpack://dash_renderer/./node_modules/ramda/es/uniqBy.js","webpack://dash_renderer/./node_modules/ramda/es/uniqWith.js","webpack://dash_renderer/./node_modules/ramda/es/unless.js","webpack://dash_renderer/./node_modules/ramda/es/unnest.js","webpack://dash_renderer/./node_modules/ramda/es/until.js","webpack://dash_renderer/./node_modules/ramda/es/update.js","webpack://dash_renderer/./node_modules/ramda/es/useWith.js","webpack://dash_renderer/./node_modules/ramda/es/values.js","webpack://dash_renderer/./node_modules/ramda/es/valuesIn.js","webpack://dash_renderer/./node_modules/ramda/es/view.js","webpack://dash_renderer/./node_modules/ramda/es/when.js","webpack://dash_renderer/./node_modules/ramda/es/where.js","webpack://dash_renderer/./node_modules/ramda/es/whereEq.js","webpack://dash_renderer/./node_modules/ramda/es/without.js","webpack://dash_renderer/./node_modules/ramda/es/xprod.js","webpack://dash_renderer/./node_modules/ramda/es/zip.js","webpack://dash_renderer/./node_modules/ramda/es/zipObj.js","webpack://dash_renderer/./node_modules/ramda/es/zipWith.js","webpack://dash_renderer/./node_modules/react-is/cjs/react-is.development.js","webpack://dash_renderer/./node_modules/react-is/index.js","webpack://dash_renderer/./node_modules/react-redux/lib/components/Provider.js","webpack://dash_renderer/./node_modules/react-redux/lib/components/connect.js","webpack://dash_renderer/./node_modules/react-redux/lib/index.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/shallowEqual.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/storeShape.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/warning.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/wrapActionCreators.js","webpack://dash_renderer/./node_modules/reduce-reducers/dist/index.js","webpack://dash_renderer/./node_modules/redux-actions/lib/createAction.js","webpack://dash_renderer/./node_modules/redux-actions/lib/handleAction.js","webpack://dash_renderer/./node_modules/redux-actions/lib/handleActions.js","webpack://dash_renderer/./node_modules/redux-actions/lib/index.js","webpack://dash_renderer/./node_modules/redux-actions/lib/ownKeys.js","webpack://dash_renderer/./node_modules/redux-thunk/es/index.js","webpack://dash_renderer/./node_modules/redux/es/applyMiddleware.js","webpack://dash_renderer/./node_modules/redux/es/bindActionCreators.js","webpack://dash_renderer/./node_modules/redux/es/combineReducers.js","webpack://dash_renderer/./node_modules/redux/es/compose.js","webpack://dash_renderer/./node_modules/redux/es/createStore.js","webpack://dash_renderer/./node_modules/redux/es/index.js","webpack://dash_renderer/./node_modules/redux/es/utils/warning.js","webpack://dash_renderer/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://dash_renderer/./node_modules/symbol-observable/es/index.js","webpack://dash_renderer/./node_modules/symbol-observable/es/ponyfill.js","webpack://dash_renderer/./node_modules/viz.js/viz.js","webpack://dash_renderer/(webpack)/buildin/amd-define.js","webpack://dash_renderer/(webpack)/buildin/global.js","webpack://dash_renderer/(webpack)/buildin/harmony-module.js","webpack://dash_renderer/./node_modules/whatwg-fetch/fetch.js","webpack://dash_renderer/./src/APIController.react.js","webpack://dash_renderer/./src/AppContainer.react.js","webpack://dash_renderer/./src/AppProvider.react.js","webpack://dash_renderer/./src/DashRenderer.js","webpack://dash_renderer/./src/TreeContainer.js","webpack://dash_renderer/./src/actions/api.js","webpack://dash_renderer/./src/actions/constants.js","webpack://dash_renderer/./src/actions/index.js","webpack://dash_renderer/./src/actions/isAppReady.js","webpack://dash_renderer/./src/checkPropTypes.js","webpack://dash_renderer/./src/components/core/DocumentTitle.react.js","webpack://dash_renderer/./src/components/core/Loading.react.js","webpack://dash_renderer/./src/components/core/Reloader.react.js","webpack://dash_renderer/./src/components/core/Toolbar.react.js","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.css?77d6","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.react.js","webpack://dash_renderer/./src/components/error/ComponentErrorBoundary.react.js","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.css?5d78","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.react.js","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndErrorContainer.react.js","webpack://dash_renderer/./src/components/error/GlobalErrorContainer.react.js","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.css?bbbf","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.react.js","webpack://dash_renderer/./src/components/error/Percy.css?efc6","webpack://dash_renderer/./src/components/error/icons/BellIcon.svg","webpack://dash_renderer/./src/components/error/icons/BellIconGrey.svg","webpack://dash_renderer/./src/components/error/icons/CollapseIcon.svg","webpack://dash_renderer/./src/components/error/icons/DebugIcon.svg","webpack://dash_renderer/./src/components/error/icons/ErrorIconWhite.svg","webpack://dash_renderer/./src/components/error/icons/GraphIcon.svg","webpack://dash_renderer/./src/components/error/icons/GraphIconGrey.svg","webpack://dash_renderer/./src/components/error/icons/WhiteCloseIcon.svg","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.css?3137","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.react.js","webpack://dash_renderer/./src/components/error/menu/DebugMenu.css?6c62","webpack://dash_renderer/./src/components/error/menu/DebugMenu.react.js","webpack://dash_renderer/./src/components/error/werkzeugcss.js","webpack://dash_renderer/./src/constants/constants.js","webpack://dash_renderer/./src/exceptions.js","webpack://dash_renderer/./src/index.js","webpack://dash_renderer/./src/isSimpleComponent.js","webpack://dash_renderer/./src/persistence.js","webpack://dash_renderer/./src/reducers/api.js","webpack://dash_renderer/./src/reducers/appLifecycle.js","webpack://dash_renderer/./src/reducers/config.js","webpack://dash_renderer/./src/reducers/constants.js","webpack://dash_renderer/./src/reducers/dependencyGraph.js","webpack://dash_renderer/./src/reducers/error.js","webpack://dash_renderer/./src/reducers/history.js","webpack://dash_renderer/./src/reducers/hooks.js","webpack://dash_renderer/./src/reducers/layout.js","webpack://dash_renderer/./src/reducers/paths.js","webpack://dash_renderer/./src/reducers/reducer.js","webpack://dash_renderer/./src/reducers/requestQueue.js","webpack://dash_renderer/./src/reducers/utils.js","webpack://dash_renderer/./src/registry.js","webpack://dash_renderer/./src/store.js","webpack://dash_renderer/./src/utils.js","webpack://dash_renderer/fs (ignored)","webpack://dash_renderer/path (ignored)","webpack://dash_renderer/crypto (ignored)","webpack://dash_renderer/external \"PropTypes\"","webpack://dash_renderer/external \"React\"","webpack://dash_renderer/external \"ReactDOM\""],"names":["UnconnectedContainer","props","initialization","bind","state","errorLoading","appLifecycle","dependenciesRequest","dispatch","graphs","layout","layoutRequest","paths","isEmpty","apiThunk","status","STATUS","OK","finalLayout","applyPersistence","content","setLayout","isNil","computePaths","subTree","startingPath","computeGraphs","getAppState","hydrateInitialOutputs","err","setState","config","includes","ui","Component","propTypes","PropTypes","oneOf","func","object","history","any","error","Container","connect","UnconnectedAppContainer","hooks","request_pre","request_post","setHooks","JSON","parse","document","getElementById","textContent","fetch","credentials","headers","Accept","setConfig","type","show_undo_redo","React","AppContainer","store","initializeStore","AppProvider","shape","defaultProps","DashRenderer","ReactDOM","render","validateComponent","componentDefinition","Error","stringify","has","createContainer","component","path","isSimpleComponent","id","CheckedComponent","p","element","extraProps","children","errorMessage","checkPropTypes","propTypeErrorHandler","createElement","mergeRight","Array","isArray","string","TreeContainer","setProps","newProps","_dashprivate_dependencies","_dashprivate_dispatch","_dashprivate_path","_dashprivate_layout","getLayoutProps","watchedKeys","filter","key","find","dependency","inputs","input","property","keysIn","recordUiEdit","updateProps","itempath","length","notifyObservers","pick","components","addIndex","map","i","concat","loading_state","_dashprivate_config","Registry","resolve","omit","props_check","nextProps","_dashprivate_loadingState","is_loading","propOr","layoutProps","getChildren","getComponent","_dashprivate_requestQueue","array","isLoadingComponent","_dashprivate_isLoadingComponent","getNestedIds","ids","queue","elementLayout","shift","push","filteredChildren","child","getLoadingState","requestQueue","isLoading","loadingProp","loadingComponent","forEach","r","controllerId","split","prop_name","component_name","AugmentedTreeContainer","dependencies","stateProps","dispatchProps","ownProps","GET","fetchConfig","mergeDeepRight","method","getCSRFHeader","POST","body","request","endpoint","getState","url","urlBase","payload","then","res","contentType","get","indexOf","json","message","handleAsyncError","actionList","ON_PROP_CHANGE","SET_REQUEST_QUEUE","COMPUTE_GRAPHS","COMPUTE_PATHS","SET_LAYOUT","SET_APP_LIFECYCLE","SET_CONFIG","ON_ERROR","SET_HOOKS","getAction","action","createAction","setRequestQueue","setAppLifecycle","onError","triggerDefaultState","cookie","_csrf_token","InputGraph","MultiGraph","allNodes","overallOrder","html","toString","inputNodeIds","reverse","nodeId","componentId","dependenciesOf","dependantsOf","reduceInputIds","inputOutput","componentProp","propLens","lensPath","propValue","view","excludedOutputs","redo","next","future","UNDO","undo","undo_revert","REVERT","revert","undo_or_revert","previous","past","nodeIds","inputOutputPairs","outputs","sortedInputOutputPairs","sort","a","b","pair","outputsThatWillBeUpdated","flatten","pluck","slice","output","outputObservers","changedProps","keys","propName","node","hasNode","outputId","reject","flip","depOrder","queuedObservers","filterObservers","outputIdAndProp","outputIds","isMultiOutputProp","parseMultipleOutputs","e","controllers","controllersInFutureQueue","intersection","controllerIsInExistingQueue","deps","uniq","dep","isAppReady","newRequestQueue","uid","requestTime","Date","now","promises","requestUid","updateOutput","prop","Promise","all","changedPropIds","getThisRequestIndex","postRequestQueue","thisRequestIndex","findIndex","propEq","updateRequestQueue","rejected","updatedQueue","adjust","mergeLeft","responseTime","thisControllerId","prunedQueue","queueItem","index","outputComponentId","_","clientside_function","validKeys","inputObject","ReferenceError","join","value","inputsPropIds","stateObject","doUpdateProps","updatedProps","updatedProps2","prunePersistence","source","updateClientsideOutput","outputValue","outputProp","window","dash_clientside","no_update","appliedProps","returnValue","Object","defineProperty","description","writable","namespace","function_name","PreventUpdate","PREVENT_UPDATE","console","CLIENTSIDE_ERROR","outputPropId","handleResponse","isRejected","latestRequestIndex","findLastIndex","handleJson","data","response","multi","pathKey","newChildren","crawlLayout","appendIds","hasId","childProp","componentIdAndProp","nodes","idAndProp","reducedNodeIds","sortedNewProps","append","entries","errText","text","serialize","savedState","targets","pathOfId","target","ready","isReady","typeSpecs","values","location","componentName","getStack","errors","typeSpecName","hasOwnProperty","name","ReactPropTypesSecret","ex","stack","DocumentTitle","initialTitle","title","isRequired","Loading","Reloader","hot_reload","interval","max_retry","disabled","intervalId","packages","_retry","_head","querySelector","clearInterval","prevProps","prevState","reloadRequest","hard","equals","pathOr","comparator","lt","was_css","files","is_css","nodesToDisable","it","evaluate","iterateNext","n","setAttribute","modified","link","href","rel","appendChild","top","reload","alert","setInterval","number","UnconnectedToolbar","styles","parentSpanStyle","display","opacity","iconStyle","fontSize","labelStyle","undoLink","color","cursor","transform","redoLink","marginLeft","position","bottom","left","textAlign","zIndex","backgroundColor","Toolbar","Radium","CallbackGraphContainer","elements","callbacks","links","recordAndReturn","out_nodes","replace","o","in_nodes","dot","__html","viz","format","UnconnectedComponentErrorBoundary","myID","oldChildren","hasError","info","prevChildren","ComponentErrorBoundary","FrontEndError","collapsed","isListItem","inAlertsTray","cardClasses","errorHeader","timestamp","toLocaleTimeString","UnconnectedErrorContent","base","line","werkzeugCss","width","height","border","errorPropTypes","ErrorContent","bool","FrontEndErrorContainer","errorsLength","errorElements","UnconnectedGlobalErrorContainer","GlobalErrorContainer","GlobalErrorOverlay","visible","toastsEnabled","frontEndErrors","frontEnd","backEnd","DebugAlertContainer","alertsOpened","onClick","DebugMenu","opened","callbackGraphOpened","menuClasses","menuContent","stopPropagation","alertsLabel","REDIRECT_URI_PATHNAME","OAUTH_COOKIE_NAME","messageParts","invalidPropPath","expectedPropType","invalidPropTypeProvided","jsonSuppliedValue","SIMPLE_COMPONENT_TYPES","storePrefix","keyPrefixMatch","prefix","separator","fullStr","fullLen","substr","UNDEFINED","_parse","val","undefined","_stringify","WebStore","_name","_storage","getItem","setItem","_setItem","removeItem","keyPrefix","fullPrefix","keyMatch","keysToRemove","fullKey","k","MemStore","_data","pow","longString","s","stores","memory","backEnds","local","session","tryGetWebStore","fallbackStore","storeTest","testKey","clear","getStore","noopTransform","extract","apply","storedValue","_propValue","getTransform","propPart","persistenceTransforms","getValsKey","persistedProp","persistence","getProps","getVal","persisted_props","persistence_type","canPersist","storage","valsKey","originalVal","newVal","hasItem","vals","persistenceMods","modProp","update","fromVal","toVal","layoutOut","set","getFinal","prevVal","finalPersistence","finalPersistenceType","finalPersistedProps","persistenceChanged","notInNewProps","depersistedProps","finalStorage","transforms","propTransforms","createApiReducer","ApiReducer","newState","newRequest","assocPath","assoc","stateList","STARTED","HYDRATED","initialGraph","inputGraph","DepGraph","multiGraph","registerDependency","out","addNode","inputId","addDependency","initialError","initialHistory","present","newPast","newFuture","customHooks","bear","propPath","existingProps","mergedProps","initialPaths","oldState","removeKeys","assignPath","hasPropsId","apiRequests","mainReducer","parts","combineReducers","getInputHistoryState","keyObj","historyEntry","propKey","inputKey","recordHistory","reducer","nextState","reloaderReducer","createReducer","clone","extend","reduce","hasProps","allPass","is","compose","hasPropsChildren","newPath","ns","reset","process","createStore","__REDUX_DEVTOOLS_EXTENSION__","applyMiddleware","thunk","module","hasUrlBase","hasReqPrefix","requests_pathname_prefix","url_base_pathname","charAt","s4","h","Math","floor","random","substring","startsWith"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;AClFA,eAAe,KAAiD,kBAAkB,mBAAO,CAAC,oBAAO,GAAG,SAA+K,CAAC,qBAAqB,mBAAmB,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,uCAAuC,qCAAqC,oBAAoB,EAAE,iBAAiB,4FAA4F,eAAe,wCAAwC,SAAS,EAAE,mBAAmB,8BAA8B,qDAAqD,0BAA0B,6CAA6C,sBAAsB,6DAA6D,YAAY,eAAe,SAAS,iBAAiB,iCAAiC,iBAAiB,YAAY,UAAU,sBAAsB,mBAAmB,iDAAiD,iBAAiB,gBAAgB,YAAY,iBAAiB,aAAa,OAAO,2BAA2B,SAAS,iCAAiC,IAAI,kCAAkC,8CAA8C,8BAA8B,6CAA6C,MAAM,uBAAuB,uDAAuD,oBAAoB,kCAAkC,GAAG,OAAO,GAAG,IAAI,oEAAoE,eAAe,kBAAkB,QAAQ,eAAe,+CAA+C,mCAAmC,SAAS,+BAA+B,SAAS,GAAG,GAAG,G;;;;;;;;;;;;ACA73D;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACvJA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAA4B;AAClC,WAAW,IAAyC,EAAE,8FAAM;AAC5D,OAAO,EAAyB;AAChC,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,SAAS;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,kDAAkD;AAClD,kDAAkD;AAClD;AACA,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnoBD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,iBAAiB;AACjB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;AClMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,0BAA0B,mBAAO,CAAC,0EAAsB;;AAExD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,oC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,oC;;;;;;;;;;;ACXA,2BAA2B,mBAAO,CAAC,8GAAyD;AAC5F;AACA,cAAc,QAAS,kCAAkC,yBAAyB,sBAAsB,oBAAoB,kBAAkB,sBAAsB,sCAAsC,qBAAqB,6BAA6B,0BAA0B,4BAA4B,2KAA2K,GAAG;;;;;;;;;;;;ACFhe,2BAA2B,mBAAO,CAAC,8GAAyD;AAC5F;AACA,cAAc,QAAS,qBAAqB,uBAAuB,GAAG,qBAAqB,uBAAuB,uBAAuB,wBAAwB,4BAA4B,GAAG,gCAAgC,kBAAkB,mBAAmB,4BAA4B,yBAAyB,GAAG,8BAA8B,kBAAkB,mBAAmB,yBAAyB,kBAAkB,gBAAgB,4BAA4B,GAAG,8BAA8B,iBAAiB,mBAAmB,sBAAsB,GAAG,sBAAsB,mBAAmB,oBAAoB,qCAAqC,kBAAkB,sBAAsB,GAAG,yCAAyC,uNAAuN,GAAG,6BAA6B,2BAA2B,0BAA0B,GAAG,yBAAyB,uBAAuB,kBAAkB,uBAAuB,mBAAmB,sBAAsB,4BAA4B,8BAA8B,0BAA0B,uBAAuB,GAAG,6BAA6B,yBAAyB,GAAG,qCAAqC,wCAAwC,oCAAoC,gCAAgC,GAAG,gCAAgC,gBAAgB,qBAAqB,sBAAsB,gCAAgC,gCAAgC,6BAA6B,kCAAkC,mCAAmC,oBAAoB,GAAG,0BAA0B,gCAAgC,wBAAwB,oBAAoB,gCAAgC,gCAAgC,qBAAqB,qBAAqB,4BAA4B,GAAG,4BAA4B,yBAAyB,GAAG,gCAAgC,kCAAkC,mCAAmC,+BAA+B,GAAG,mCAAmC,qCAAqC,sCAAsC,gCAAgC,GAAG,wBAAwB,gCAAgC,uBAAuB,uBAAuB,yEAAyE,4BAA4B,GAAG,yBAAyB,gCAAgC,uBAAuB,uBAAuB,qBAAqB,4BAA4B,4BAA4B,GAAG;;;;;;;;;;;;ACF/qF,2BAA2B,mBAAO,CAAC,2GAAsD;AACzF;AACA,cAAc,QAAS,qBAAqB,qBAAqB,sBAAsB,wBAAwB,6BAA6B,sBAAsB,+CAA+C,GAAG,sBAAsB,6BAA6B,0BAA0B,4BAA4B,2KAA2K,yBAAyB,sBAAsB,gBAAgB,kBAAkB,gDAAgD,oBAAoB,uBAAuB,8BAA8B,KAAK,iCAAiC,yBAAyB,kBAAkB,iBAAiB,sBAAsB,uBAAuB,gCAAgC,uBAAuB,qCAAqC,sCAAsC,mBAAmB,GAAG,+BAA+B,yBAAyB,mBAAmB,uBAAuB,qCAAqC,mBAAmB,qBAAqB,oBAAoB,sCAAsC,8BAA8B,kBAAkB,mBAAmB,oBAAoB,8BAA8B,0BAA0B,GAAG,6BAA6B,sBAAsB,GAAG,wCAAwC,qBAAqB,GAAG,+BAA+B,6BAA6B,yBAAyB,8BAA8B,kGAAkG,yBAAyB,yBAAyB,GAAG,iCAAiC,0BAA0B,kGAAkG,yBAAyB,yBAAyB,0BAA0B,oBAAoB,0BAA0B,GAAG,0CAA0C,YAAY,qBAAqB,wCAAwC,qCAAqC,oCAAoC,gCAAgC,OAAO,UAAU,qBAAqB,sCAAsC,mCAAmC,kCAAkC,8BAA8B,OAAO,GAAG;;;;;;;;;;;;ACFn4E,2BAA2B,mBAAO,CAAC,2GAAsD;AACzF;AACA,cAAc,QAAS,gBAAgB,oBAAoB,GAAG,uBAAuB,mBAAmB,wBAAwB,OAAO,mBAAmB,yBAAyB,OAAO,GAAG;;;;;;;;;;;;ACF7L,2BAA2B,mBAAO,CAAC,8GAAyD;AAC5F;AACA,cAAc,QAAS,gCAAgC,6BAA6B,0BAA0B,yBAAyB,mBAAmB,oBAAoB,6BAA6B,8BAA8B,qDAAqD,GAAG,qCAAqC,sBAAsB,GAAG,uCAAuC,gCAAgC,mBAAmB,GAAG,qCAAqC,kBAAkB,mBAAmB,wBAAwB,GAAG,8CAA8C,mBAAmB,GAAG,uBAAuB,oBAAoB,0BAA0B,sBAAsB,GAAG,6BAA6B,oBAAoB,sBAAsB,mBAAmB,kBAAkB,qBAAqB,kGAAkG,0BAA0B,8BAA8B,mBAAmB,GAAG;;;;;;;;;;;;ACFp/B,2BAA2B,mBAAO,CAAC,8GAAyD;AAC5F;AACA,cAAc,QAAS,qBAAqB,qDAAqD,sBAAsB,mBAAmB,kBAAkB,oBAAoB,8BAA8B,0BAA0B,qBAAqB,GAAG,4BAA4B,gCAAgC,0BAA0B,kBAAkB,mBAAmB,GAAG,4BAA4B,kGAAkG,yBAAyB,wBAAwB,8BAA8B,GAAG,oCAAoC,sBAAsB,gCAAgC,GAAG,4BAA4B,kBAAkB,mBAAmB,GAAG,iCAAiC,kBAAkB,mBAAmB,GAAG,gCAAgC,mBAAmB,kBAAkB,GAAG,iCAAiC,mBAAmB,kBAAkB,GAAG,iCAAiC,mBAAmB,GAAG,+BAA+B,oBAAoB,kBAAkB,mBAAmB,GAAG,wCAAwC,oBAAoB,6BAA6B,8BAA8B,0BAA0B,kBAAkB,wBAAwB,GAAG,kCAAkC,qBAAqB,sBAAsB,sBAAsB,GAAG,8BAA8B,8BAA8B,0BAA0B,gCAAgC,kBAAkB,mBAAmB,sBAAsB,oBAAoB,8BAA8B,0BAA0B,wCAAwC,mBAAmB,GAAG,qCAAqC,gCAAgC,mBAAmB,GAAG,mCAAmC,kBAAkB,mBAAmB,gCAAgC,GAAG,kCAAkC,sBAAsB,gCAAgC,GAAG,yCAAyC,gCAAgC,GAAG,6CAA6C,gCAAgC,GAAG;;;;;;;;;;;;;ACF1mE;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;;AAEA;AACA,2CAA2C,qBAAqB;AAChE;;AAEA;AACA,KAAK;AACL,IAAI;AACJ;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oBAAoB,qBAAqB;AACzC,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B;;AAE9B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,CAAC;;;AAGD;AACA;AACA;AACA,qDAAqD,cAAc;AACnE;AACA,C;;;;;;;;;;;ACzFA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;;AAEP;AACA;AACA,GAAG;;;AAGH;;;;;;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,KAAK,IAA4E;AACjF,EAAE,mCAAO;AACT;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAIN;;AAEF,CAAC;;;;;;;;;;;;;ACvCY;;AAEb;AACA;AACA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,2BAA2B,mBAAO,CAAC,0EAAsB;;AAEzD;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACxBa;;AAEb;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,kDAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;ACtGA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe,iFAAkB;;;;;;;;;;;;AClBjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;;ACnFa;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,6BAA6B,mBAAO,CAAC,2GAAgC;;AAErE;;AAEA,4BAA4B,mBAAO,CAAC,yGAA+B;;AAEnE;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,gBAAgB,mBAAO,CAAC,iFAAmB;;AAE3C;;AAEA,mBAAmB,mBAAO,CAAC,uFAAsB;;AAEjD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,OAAO;AAC1B;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA,oC;;;;;;;;;;;;AC9Ka;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC3Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACpEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,yBAAyB,mBAAO,CAAC,sGAAuC;;AAExE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,oC;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,sBAAsB,mBAAO,CAAC,6FAAyB;;AAEvD;;AAEA,mBAAmB,mBAAO,CAAC,uFAAsB;;AAEjD;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,gBAAgB,mBAAO,CAAC,iFAAmB;;AAE3C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oC;;;;;;;;;;;;ACpEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC5Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACXa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AChCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,yBAAyB,mBAAO,CAAC,sGAAuC;;AAExE;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,UAAU;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC5Fa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oC;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,mDAAQ;;AAE9B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oC;;;;;;;;;;;;AClIa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACZa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,0FAAoB;;AAEpD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AChCa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA,uCAAuC,SAAS;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,yBAAyB,EAAE;AACrE;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;;;;;;;;;;;;AChDA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;;ACJA;AAAA;AAA8B;;AAE9B;AACA,aAAa,gDAAI;;AAEF,qEAAM,EAAC;;;;;;;;;;;;;ACLtB;AAAA;AAAA;AAAA;AAAkC;AACM;AACU;;AAElD;AACA;AACA;;AAEA;AACA,qBAAqB,kDAAM,GAAG,kDAAM;;AAEpC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,6DAAS;AACf,MAAM,kEAAc;AACpB;;AAEe,yEAAU,EAAC;;;;;;;;;;;;;AC3B1B;AAAA;AACA;;AAEe,yEAAU,EAAC;;;;;;;;;;;;;;ACH1B;AAAA;AAAoC;;AAEpC;AACA,mBAAmB,2DAAO;;AAEX,2EAAY,EAAC;;;;;;;;;;;;;ACL5B;AAAA;AAAkC;;AAElC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB,kDAAM,GAAG,kDAAM;;AAEpC;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEe,wEAAS,EAAC;;;;;;;;;;;;;AC7CzB;AAAA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEe,6EAAc,EAAC;;;;;;;;;;;;;ACrB9B;AAAA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEe,sEAAO,EAAC;;;;;;;;;;;;;ACdvB;AAAA;AAA0C;;AAE1C;AACA;;AAEA;AACA,WAAW,sDAAU;;AAEN,mEAAI,EAAC;;;;;;;;;;;;;ACRpB;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,2EAAY,EAAC;;;;;;;;;;;;;AC5B5B;AAAA;AAAA;AAAA;AAA0C;AACI;AACD;;AAE7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,gEAAY,WAAW,8DAAU;AACxC;AACA;AACA,cAAc,gEAAY;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,4EAAa,EAAC;;;;;;;;;;;;AC7D7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB,EAAE;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,gEAAiB;AACvC,kBAAkB,mBAAO,CAAC,sEAAoB;AAC9C,aAAa,mBAAO,CAAC,4DAAe;;AAEpC;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,mBAAO,CAAC,sEAAoB;AAC9C,cAAc,mBAAO,CAAC,8DAAgB;;AAEtC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACnIA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;;AAEA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,mDAAW;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC3BA;AACA;;AAEA;;;;;;;;;;;;;ACHA,cAAc,mBAAO,CAAC,qDAAY;;AAElC;AACA;;AAEA;;;;;;;;;;;;ACLA,aAAa,mBAAO,CAAC,mDAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACdA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,+DAAiB;AAC5C,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC7DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;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ACA;;AAEe,0EAAW,E;;;;;;;;;;;;;;;;;;;;;;;ACjD0B;AACpD;;AAEiD;AACc;AACpB;AAC0B;AACY;AACV;AAC1B;;AAE9B;AACf,cAAc,2DAAgB;AAC9B,aAAa,yDAAe;AAC5B,mBAAmB,iEAAqB;AACxC,UAAU,sDAAY;AACtB,sBAAsB,oEAAwB;AAC9C,4BAA4B,0EAA8B;AAC1D,uBAAuB,qEAAyB;AAChD,WAAW,uDAAa;AACxB,CAAC,E;;;;;;;;;;;;ACtBD;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP,UAAU;AACV,C;;;;;;;;;;;;;;;ACrBA,kDAAkD,sBAAsB;AACxE;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;;AAEe,oFAAqB,E;;;;;;;;;;;;ACbpC;AAAA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,CAAC,E;;;;;;;;;;;;;;;;;ACjC8C;;AAEhC;AACf;AACA;AACA;;AAEA,iBAAiB,kEAAgB;AACjC,UAAU;AACV,C;;;;;;;;;;;;;;;;ACTe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;;AAEP;AACA;AACA;AACA,C;;;;;;;;;;;;;;;;AChBkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,0DAAe;AAC/D;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;;AAEP;AACA;AACA;AACA;AACA;AACA;;AAEe,uFAAwB,E;;;;;;;;;;;;AChHvC;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB,wCAAwC;;AAEhE;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,oCAAoC;AACpC;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,kBAAkB,iDAAiD;AACnE;AACA;AACA;AACA,C;;;;;;;;;;;;;;;;ACpKe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;;AAEP;AACA,mDAAmD,uBAAuB;AAC1E;AACA;AACA,C;;;;;;;;;;;;ACnCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8D;AACU;AACN;AACA;AACJ;AACU;AACE;AACJ;AACA;AACA;AACJ;AACQ;;AAE3D;AACf,YAAY,iFAAI,EAAE,sFAAS,EAAE,mFAAM,EAAE,mFAAM,EAAE,iFAAI,EAAE,sFAAS,EAAE,uFAAU,EAAE,qFAAQ,EAAE,qFAAQ,EAAE,qFAAQ,EAAE,oFAAM,EAAE,wFAAU;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC,E;;;;;;;;;;;;ACloBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACU;AACN;AACA;AACJ;AACU;AACE;AACJ;AACA;AACA;AACJ;AACQ;AACzE;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf,YAAY,gFAAI,EAAE,qFAAS,EAAE,kFAAM,EAAE,kFAAM,EAAE,gFAAI,EAAE,qFAAS,EAAE,sFAAU,EAAE,oFAAQ,EAAE,oFAAQ,EAAE,oFAAQ,EAAE,mFAAM,EAAE,uFAAU;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACpJD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q;AACA;AACA;AACA;AACA;AACA;;AAE+E;AACE;AACxC;;AAEK;AACE;;AAEsB;;AAEtE,gBAAgB,kFAAoB,CAAC,2DAAU;AAC/C,0BAA0B,mFAAqB,CAAC,4DAAW;;AAE3D;AACA;AACA;AACA;AACA,2BAA2B;AAC3B,KAAK;AACL;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,4CAAoB;AAC9B;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA,yBAAyB;AACzB,kCAAkC;AAClC;;AAEA;AACA;AACA;AACA,yBAAyB,IAAI,0FAAmB;AAChD;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,MAA+B;AACrC;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD,6BAA6B;AAC9E;AACA;AACA;;AAEA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;;ACxHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAEhM;;AAEhB;AACvB;AACO;AACI;AACa;AACjC;AACkC;AAC3B;;AAEQ;AACf;;AAE1B;AACA,YAAY,iDAAO,kBAAkB,iDAAO,aAAa,iDAAO,sBAAsB,iDAAO,2BAA2B,iDAAO,YAAY,iDAAO,UAAU,iDAAO,qBAAqB,iDAAO,SAAS,iDAAO;AAC/M;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU,6CAAK;AACf,mBAAmB,8DAAW;AAC9B;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,MAAM,6CAAK;AACX;AACA;AACA,oBAAoB,6CAAK;AACzB,gBAAgB,8DAAW;AAC3B;;AAEA;AACA;;AAEA;AACA;;AAEA,SAAS,6CAAK;AACd,QAAQ,6CAAK;AACb,kBAAkB,8DAAW;AAC7B;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,6CAAK;AACb,kBAAkB,8DAAW;AAC7B;AACA,4BAA4B;;AAE5B;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,8DAAW;AAC/B,YAAY,gEAAa;;AAEzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,uEAAmB;AACpC,eAAe,+BAA+B;;AAE9C,4CAA4C;AAC5C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,6CAAK;AACZ;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAQ;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,4BAA4B,4CAAoB;AAChD;AACA,kCAAkC,uEAA0B;AAC5D;AACA;AACA,0BAA0B,+DAAkB;AAC5C;AACA;AACA;AACA,YAAY,6CAAI;AAChB,mBAAmB,yDAAW;AAC9B;AACA;AACA,qBAAqB,2DAAa;AAClC;AACA,KAAK;;AAEL;;AAEA,6EAA6E;;AAE7E;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,0BAA0B,aAAa,kBAAkB;AACzD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,aAAa,sBAAsB;AAC7D;;AAEA,SAAS,6CAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,uEAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA,iGAAiG;;AAEjG,UAAU;AACV;AACA;;AAEA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,4EAAa,E;;;;;;;;;;;;AC7X5B;AAAA;AAAA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;;;;;;;;;;;;;;;;AC/DD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACe,gEAAC,E;;;;;;;;;;;;;;;AClBhB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACe,gEAAC,E;;;;;;;;;;;;ACpBhB;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK,kBAAkB,KAAK;AAC9D,uBAAuB;AACvB;AACe,gEAAC,mCAAmC,E;;;;;;;;;;;;AC3BnD;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACtBlB;AAAA;AAAA;AAAA;AAA4C;AACA;AACX;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mEAAO;AACnC,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA;AACA,sCAAsC,mEAAO;AAC7C;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC1CvB;AAAA;AAAA;AAA4C;AACA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,gBAAgB;AAC3B;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,sDAAsD;AACtD;AACA;AACA;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc,mEAAO;AACrB;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACtCrB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC;AACA,uBAAuB,mEAAO,eAAe,yEAAa,UAAU,yDAAK;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACtClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;AACE;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB,EAAE;AACjD,yBAAyB,sBAAsB,EAAE;AACjD;AACA,2BAA2B,mEAAO;AAClC,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC5CtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,SAAS;AACrB;AACA;AACA;AACA,YAAY;AACZ;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC1BrB;AAAA;AAA4C;;AAE5C;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY,IAAI;AAChB;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,2BAA2B;AAC3B,4BAA4B;AAC5B;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACxBlB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;AACA,uBAAuB,mEAAO,eAAe,yEAAa,UAAU,yDAAK;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACvClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;AACE;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB,EAAE;AAC7C,qBAAqB,qBAAqB,EAAE;AAC5C,qBAAqB,qBAAqB,EAAE;AAC5C;AACA,2BAA2B,mEAAO;AAClC,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC7CtB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACA;AACA;AACjB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iDAAiD;AACjD,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,mEAAO;AAC7B;AACA;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;AACA;AACA;AACA;AACA,cAAc;AACd,cAAc;AACd;AACA,kDAAkD;AAClD,0CAA0C;AAC1C;AACA,wBAAwB,mEAAO;AAC/B,SAAS,uEAAW;AACpB;AACA,GAAG,GAAG,wDAAI,CAAC,+CAAG;AACd,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACzCnB;AAAA;AAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,KAAK;AAChB,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC,EAAE;AACtD;AACA;AACA,wBAAwB,yDAAK;AAC7B;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACrCnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACR;AACJ;AACjB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,6CAA6C;AAC7C;AACA,yBAAyB,mEAAO,eAAe,yEAAa,kCAAkC,2DAAO;AACrG;AACA;AACA;AACA;AACA;AACA,SAAS,qEAAS,QAAQ,uDAAG;AAC7B,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACxCpB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,mEAAO;AAChC;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC5BpB;AAAA;AAAA;AAA0C;AACE;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,KAAK;AAChB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA,2BAA2B,IAAI,IAAI;AACnC;AACA,iCAAiC;AACjC,uCAAuC;AACvC;AACA,yBAAyB,mEAAO;AAChC,8EAA8E,kEAAM;AACpF,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC3BpB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,yBAAyB;AACpC,WAAW,2BAA2B;AACtC;AACA;AACA,iBAAiB,2BAA2B,EAAE,wBAAwB,GAAG,yBAAyB;AAClG;AACA,8BAA8B,mEAAO;AACrC;AACA;AACA;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;AC9BzB;AAAA;AAAA;AAA6B;AACF;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,oBAAoB;AACpB,uBAAuB;AACvB,iBAAiB;AACjB,oBAAoB;AACpB;AACA,8BAA8B,wDAAI,CAAC,+CAAG;AACvB,yEAAU,E;;;;;;;;;;;;AC1BzB;AAAA;AAAA;AAAA;AAA6B;AACM;;AAEnC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,SAAS,gDAAI,aAAa,2DAAO;AACjC,C;;;;;;;;;;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAA+B;AACI;AACR;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,WAAW,eAAe,EAAE;AAC3D,wBAAwB,EAAE;AAC1B;AACA;AACe;AACf;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAO,CAAC,mDAAO,aAAa,uDAAG,CAAC,iDAAK;AAC9C,C;;;;;;;;;;;;AC1CA;AAAA;AAAA;AAAA;AAA+B;AACI;;AAEnC;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,SAAS,iDAAK,aAAa,2DAAO;AAClC,C;;;;;;;;;;;;AC3CA;AAAA;AAAA;AAAA;AAA4C;AACP;AACF;;AAEnC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D,qDAAqD;AACrD;AACA;AACA;AACA,+BAA+B,mEAAO;AACtC,SAAS,oDAAQ,kBAAkB,2DAAO;AAC1C,CAAC;AACc,0EAAW,E;;;;;;;;;;;;AC7B1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACE;AACM;AACJ;AACX;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC,yBAAyB;AACzB;AACA,0BAA0B,mEAAO;AACjC,MAAM,oEAAQ;AACd,QAAQ,oEAAQ;AAChB;AACA;AACA,wBAAwB,4DAAQ;AAChC;AACA,MAAM,qEAAS;AACf,QAAQ,qEAAS;AACjB;AACA;AACA,wBAAwB,4DAAQ;AAChC;AACA,mBAAmB,uEAAW;AAC9B;AACA;AACA,mBAAmB,uEAAW;AAC9B;AACA;AACA,sBAAsB,4DAAQ;AAC9B,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACvDrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACjB;AACA;AACM;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe;AACf,gBAAgB;AAChB;AACA,wBAAwB,mEAAO;AAC/B,cAAc,0DAAM,CAAC,+CAAG,KAAK,uDAAG;AAChC;AACA,GAAG;AACH,SAAS,kEAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC/CnB;AAAA;AAAA;AAA4C;AACH;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,YAAY,EAAE;AAC/B,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,uCAAuC;AAC/E;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,6BAA6B,mEAAO;AACpC,SAAS,8DAAU;AACnB,CAAC;AACc,wEAAS,E;;;;;;;;;;;;ACtCxB;AAAA;AAAA;AAAA;AAA4C;AACb;AACF;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,YAAY,EAAE;AACzC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,mEAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAK,CAAC,wDAAI;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,yEAAU,E;;;;;;;;;;;;ACzEzB;AAAA;AAAA;AAAgD;AACJ;;AAE5C;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oBAAoB,eAAe,IAAI,eAAe,GAAG;AACzD,iCAAiC;AACjC,mCAAmC;AACnC;AACA,4BAA4B,mEAAO,CAAC,6DAAS;AAC9B,uEAAQ,E;;;;;;;;;;;;AC3BvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACN;AACL;AACN;AACI;AACE;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mEAAO;AACnC,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;AACA,gCAAgC,gEAAI;AACpC;AACA,KAAK;AACL,GAAG;AACH,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC5CvB;AAAA;AAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA,sCAAsC,SAAS;AAC/C;AACA,2BAA2B,4DAAQ;AACnC;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC7BtB;AAAA;AAAA;AAA4C;AACX;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,yBAAyB,mEAAO;AAChC,SAAS,0DAAM;AACf,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC/CpB;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACA;AACA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,0BAA0B,mEAAO;AACjC;AACA,WAAW,mEAAO;AAClB;AACA,SAAS,kEAAM,SAAS,mEAAO;AAC/B,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACrDrB;AAAA;AAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,kBAAkB;AAClB;AACA,uBAAuB,uDAAG;AACX,kEAAG,E;;;;;;;;;;;;AClBlB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,2BAA2B;AAC3B,6BAA6B;AAC7B;AACA,wCAAwC;AACxC;AACA,6BAA6B,mEAAO;AACpC;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC5BxB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,yBAAyB;AACpC,WAAW,2BAA2B;AACtC;AACA;AACA,iBAAiB,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;AAAA;AAAA;AAA4C;AACY;AACN;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,yCAAyC,OAAO;AAChD,yCAAyC;AACzC;AACA,4BAA4B,mEAAO,eAAe,yEAAa,KAAK,8DAAU;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACnCvB;AAAA;AAAA;AAAA;AAA4C;AACY;AACI;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C;AACA,iCAAiC,mEAAO,eAAe,yEAAa,KAAK,mEAAe;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,4EAAa,E;;;;;;;;;;;;ACpC5B;AAAA;AAAA;AAA4C;AACI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mEAAO,eAAe,qEAAS;AAC3C,sEAAO,E;;;;;;;;;;;;ACrBtB;AAAA;AAAA;AAA4C;AACX;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,oCAAoC;AACpC;AACA;AACA,wBAAwB,mEAAO;AAC/B,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC/BnB;AAAA;AAAA;AAA4D;AAChB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA,2BAA2B,mEAAO,eAAe,2EAAe;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC9CtB;AAAA;AAAA;AAA4C;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,kDAAkD,WAAW,EAAE,OAAO;AACtE;AACA;AACA,iCAAiC,WAAW,KAAK;AACjD;AACA,qCAAqC,mEAAO;AAC5C,gBAAgB,wDAAI;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,gFAAiB,E;;;;;;;;;;;;ACnChC;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA,6BAA6B,mEAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC3BxB;AAAA;AAAA;AAAA;AAA4D;AAChB;AACP;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,wBAAwB;AACnD,yBAAyB,wBAAwB;AACjD;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA,oBAAoB,0BAA0B;AAC9C,oBAAoB,wBAAwB;AAC5C;AACA,oBAAoB,wBAAwB;AAC5C;AACA;AACA,2BAA2B,mEAAO,eAAe,2EAAe,yBAAyB,4DAAQ;AACjG;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACnDtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mEAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC9CxB;AAAA;AAA4C;;AAE5C;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB;AACA,sBAAsB,mEAAO;AAC7B;AACA,CAAC;AACc,iEAAE,E;;;;;;;;;;;;AC1BjB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,wBAAwB;AACxB;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;AC1BlB;AAAA;AAAA;AAA4C;AACT;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,iBAAiB,cAAc,EAAE;AACjC,iBAAiB,YAAY,EAAE;AAC/B,kBAAkB,EAAE;AACpB;AACA,uBAAuB;AACvB;AACA,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;AACtB;AACA,uBAAu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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACA;AACE;AACE;AACU;AACJ;AACN;AACQ;AACF;AACN;AACA;AACQ;AACV;AACY;AACJ;AACF;AACQ;AACJ;AACF;AACF;AACQ;AACN;AACJ;AACA;AACA;AACE;AACA;AACA;AACU;AACA;AACN;AACE;AACA;AACM;AACV;AACJ;AACU;AACE;AACJ;AACA;AACF;AACJ;AACE;AACN;AACY;AACJ;AACM;AACQ;AAChB;AACQ;AACR;AACJ;AACQ;AACU;AACJ;AACQ;AACZ;AACN;AACF;AACM;AACR;AACM;AACF;AACA;AACA;AACJ;AACU;AACF;AACU;AACZ;AACN;AACM;AACoB;AAChB;AACJ;AACI;AACd;AACE;AACA;AACI;AACI;AACN;AACU;AACF;AACJ;AACN;AACU;AACF;AACA;AACN;AACU;AACN;AACM;AACM;AACF;AACd;AACI;AACM;AACJ;AACV;AACU;AACJ;AACF;AACA;AACA;AACI;AACJ;AACc;AACV;AACJ;AACU;AACF;AACA;AACR;AACE;AACN;AACE;AACA;AACU;AACU;AACA;AAChB;AACI;AACR;AACI;AACF;AACI;AACU;AACZ;AACM;AACU;AACE;AACF;AACM;AACd;AACE;AACF;AACM;AAClB;AACI;AACE;AACJ;AACQ;AACR;AACI;AACJ;AACF;AACA;AACM;AACV;AACQ;AACN;AACI;AACA;AACJ;AACc;AACV;AACA;AACM;AACU;AACN;AACV;AACI;AACA;AACc;AAClB;AACM;AACF;AACJ;AACE;AACA;AACM;AACN;AACI;AACA;AACA;AACN;AACI;AACA;AACA;AACc;AAChB;AACA;AACE;AACI;AACM;AACA;AACR;AACF;AACA;AACA;AACE;AACA;AACN;AACQ;AACV;AACI;AACF;AACI;AACI;AACN;AACI;AACM;AACF;AACE;AACJ;AACV;AACgC;AACQ;AACtC;AACA;AACQ;AACU;AACR;AACZ;AACE;AACA;AACE;AACI;AACA;AACI;AACF;AACF;AACI;AACA;AACF;AACR;AACQ;AACR;AACM;AACJ;AACM;AACJ;AACF;AACQ;AACV;AACI;AACI;AACJ;AACA;AACF;AACE;AACE;AACF;AACI;AACR;AACA;AACE;AACI;AACA;AACJ;AACJ;AACM;AACE;;;;;;;;;;;;;AC7PlD;AAAA;AAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,KAAK,MAAM,IAAI;AAC1C,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA,uBAAuB,sBAAsB,GAAG,sBAAsB;AACtE;AACA,cAAc,MAAM,sBAAsB,QAAQ;AAClD;AACA,2BAA2B,4DAAQ;AACnC;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC3BtB;AAAA;AAAA;AAAA;AAA4C;AACE;AACA;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,gCAAgC;AAChC,iCAAiC;AACjC;AACA,2BAA2B,mEAAO;AAClC,8CAA8C,oEAAQ,4BAA4B,oEAAQ;AAC1F,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC1BtB;AAAA;AAA+B;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0BAA0B;AAC1B,uBAAuB;AACvB,oBAAoB;AACpB,mBAAmB;AACnB;AACA,sBAAsB;AACtB,qBAAqB;AACrB,oBAAoB;AACpB,mBAAmB;AACnB;AACA,wBAAwB,yDAAK;AACd,mEAAI,E;;;;;;;;;;;;AC3BnB;AAAA;AAAA;AAAA;AAAwD;AACZ;AACA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C,YAAY,8BAA8B;AAC1C,YAAY,8BAA8B;AAC1C,YAAY,gCAAgC;AAC5C,YAAY,4BAA4B;AACxC;AACA;AACA,eAAe,gCAAgC,GAAG,4BAA4B;AAC9E;AACA,6BAA6B,mEAAO;AACpC,SAAS,mEAAO;AAChB,WAAW,yEAAa;AACxB,GAAG;AACH,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC5CxB;AAAA;AAA4C;;AAE5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,oCAAoC;AACpC;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC3BrB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,iDAAiD;AACjD;AACA,6BAA6B,mEAAO;AACpC;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;ACxBxB;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,4DAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4DAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,mEAAI,E;;;;;;;;;;;;AC5KnB;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACTA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AClDA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAA;AAA2C;AACJ;;AAExB;AACf,oBAAoB,8DAAW;AAC/B,yEAAyE,4DAAS;AAClF;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAA;AAAqC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,2DAAQ;AACnB;AACA,C;;;;;;;;;;;;ACrBA;AAAA;AAAA;AAAA;AAA6C;AACf;;AAE9B;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,QAAQ;AACnB,YAAY,EAAE;AACd;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,wDAAI;AACd;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,aAAa,+DAAY;AACzB;AACA;AACA;AACA,C;;;;;;;;;;;;AC1CA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B,WAAW,gBAAgB;AAC3B,YAAY,MAAM;AAClB;AACA;AACA,sCAAsC;AACtC;AACe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC9BA;AAAA;AAAA;AAAA;AAAiC;AACE;;AAEpB;AACf,SAAS,0DAAO;AAChB,WAAW,yDAAM;AACjB;AACA,KAAK;AACL,GAAG;AACH,C;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAiD;;AAEjD;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACe;AACf;AACA,kCAAkC,iEAAc;AAChD;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAmC;AACc;;AAEjD;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,eAAe,iEAAc,WAAW,0DAAO;AAC/C;AACA,SAAS;AACT;AACA,eAAe,iEAAc,OAAO,iEAAc,WAAW,iEAAc,MAAM,0DAAO;AACxF;AACA,SAAS,IAAI,iEAAc,MAAM,0DAAO;AACxC;AACA,SAAS;AACT;AACA;AACA,C;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAA;AAAA;AAAmC;AACA;AACc;;AAEjD;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA,eAAe,iEAAc,WAAW,0DAAO;AAC/C;AACA,SAAS;AACT;AACA,eAAe,iEAAc,OAAO,iEAAc,WAAW,iEAAc,MAAM,0DAAO;AACxF;AACA,SAAS,IAAI,iEAAc,MAAM,0DAAO;AACxC;AACA,SAAS,IAAI,0DAAO;AACpB;AACA,SAAS;AACT;AACA,eAAe,iEAAc,OAAO,iEAAc,OAAO,iEAAc,WAAW,iEAAc,OAAO,iEAAc,MAAM,0DAAO;AAClI;AACA,SAAS,IAAI,iEAAc,OAAO,iEAAc,MAAM,0DAAO;AAC7D;AACA,SAAS,IAAI,iEAAc,OAAO,iEAAc,MAAM,0DAAO;AAC7D;AACA,SAAS,IAAI,iEAAc,MAAM,0DAAO;AACxC;AACA,SAAS,IAAI,iEAAc,MAAM,0DAAO;AACxC;AACA,SAAS,IAAI,iEAAc,MAAM,0DAAO;AACxC;AACA,SAAS;AACT;AACA;AACA,C;;;;;;;;;;;;AC7CA;AAAA;AAAA;AAAA;AAAiC;AACgB;;AAEjD;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,iEAAc;AAC3D;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,WAAW,iEAAc;AACzB;AACA;AACA;AACA;AACA,kDAAkD,yDAAM;AACxD;AACA,C;;;;;;;;;;;;ACnCA;AAAA;AAAA;AAAA;AAAqC;AACY;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,2DAAQ;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,iEAAc;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACvCA;AAAA;AAAA;AAA8B;;AAEf;AACf,SAAS,wDAAI;AACb,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAgC;;AAEjB;AACf;AACA;AACA;AACA;AACA,SAAS,yDAAK;AACd,C;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACV;AACA;AAClB;AACU;AACT;AACA;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,qEAAkB;AAC5B,UAAU,qEAAkB;;AAE5B;AACA;AACA;;AAEA;AACA,UAAU,gEAAa;AACvB,YAAY,gEAAa;AACzB,GAAG;AACH;;AAEe;AACf,MAAM,4DAAS;AACf;AACA;;AAEA,cAAc,wDAAI;;AAElB,gBAAgB,wDAAI;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,gEAAa;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,4DAAS;AAC9C;AACA;AACA;AACA;AACA,WAAW,4DAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,wDAAI;AAClB,uBAAuB,wDAAI;AAC3B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,UAAU,uDAAI;AACd;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACpJA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACZA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACF;AACV;AACA;;AAEnC;AACA;AACA,yBAAyB,kDAAO;AAChC;AACA;AACA,KAAK;AACL;AACA;AACA,2CAA2C,gEAAa;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,kDAAO;AAChC;AACA;AACA,KAAK;AACL;AACA,cAAc,+DAAY,UAAU,0DAAO,yBAAyB,0DAAO;AAC3E;AACA;AACA;;AAEe,uEAAQ,E;;;;;;;;;;;;AC/BvB;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAAqC;;AAEtB;AACf,SAAS,2DAAQ;AACjB,C;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAkC;;AAEnB;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,0DAAM;AACd;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACvDA;AAAA;AAA6B;;AAE7B;AACA;AACA;AACA;AACA,GAAG;AACH,WAAW,uDAAI;AACf;AACA,CAAC;;AAEc,2EAAY,E;;;;;;;;;;;;ACX3B;AAAA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA,qBAAqB;AACrB,uBAAuB;AACvB,mBAAmB,EAAE;AACrB;AACe;AACf;AACA,CAAC,E;;;;;;;;;;;;ACdD;AAAA;AAAA;AAAA;AAAmC;AACE;AACE;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ,yEAAyE;AAC7F;AACA;AACA,yBAAyB;AACzB,2BAA2B;AAC3B,uBAAuB,EAAE;AACzB,sBAAsB,WAAW,EAAE;AACnC,sBAAsB,iCAAiC,EAAE;AACzD;AACA,gCAAgC,0DAAO;AACvC,MAAM,2DAAQ;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,4DAAS;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,2EAAY,E;;;;;;;;;;;;AC7C3B;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb;AACA,YAAY;AACZ;AACe;AACf;AACA,CAAC,E;;;;;;;;;;;;ACVD;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAA;AAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,+DAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC/BA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACTA;AAAA;AAA6B;;AAE7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,uDAAI;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,kIAAmE,E;;;;;;;;;;;;ACzBlF;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEe,sHAAuD,E;;;;;;;;;;;;ACbtE;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAe;AACf,6FAA6F;AAC7F;;AAEA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACZ;AACH;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,mDAAmD,wDAAI;AACvD;;AAEA;;AAEe;AACf;AACA,SAAS,yDAAM;AACf;AACA,MAAM,+DAAY;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC1DA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACR;AACM;AACI;AACjB;;AAEhC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,oDAAS;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,oDAAS;AAClC;AACA;AACA;AACA;AACA,WAAW,gEAAa,SAAS,+DAAY,UAAU,yDAAK;AAC5D,GAAG;AACH,yBAAyB,oDAAS;AAClC;;AAEe;AACf,MAAM,iEAAc;AACpB;AACA;AACA,MAAM,+DAAY;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC3CA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEe,2EAAY,E;;;;;;;;;;;;ACb3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACV;AACI;AACY;AACf;AACI;;AAEnB;AACf;AACA;AACA,WAAW,4DAAS;AACpB;;AAEA;AACA;AACA,WAAW,uDAAI;AACf,aAAa,yDAAM;AACnB,KAAK;AACL;;AAEA;AACA;AACA,2BAA2B,kBAAkB,EAAE,KAAK,uDAAI;AACxD;AACA,mBAAmB,uDAAI,8BAA8B,0DAAM;AAC3D;AACA;AACA,OAAO,EAAE,wDAAI;AACb;AACA;AACA;AACA,8DAA8D,yDAAM,CAAC,+DAAY;AACjF;AACA;AACA;AACA;AACA;AACA,gFAAgF,yDAAM;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB,wDAAI,oBAAoB;AACvD;AACA,C;;;;;;;;;;;;ACjDA;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;;AAEA;AACA,CAAC;;AAED,yBAAyB,0DAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC/BpB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;;AAEA;AACA,CAAC;;AAED,yBAAyB,0DAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC/BpB;AAAA;AAAA;AAAA;AAAmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,kDAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,0DAAO;AAClB;;AAEA;AACA,CAAC;;AAED,8BAA8B,0DAAO;AACrC;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;ACtCzB;AAAA;AAAA;AAAA;AAAmC;AACE;AACT;;AAE5B,2BAA2B,0DAAO;AAClC,SAAS,uDAAG,IAAI,2DAAQ;AACxB,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACPtB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,yCAAyC,kDAAO;AAChD,2CAA2C,kDAAO;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,0BAA0B,0DAAO;AACjC;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACxBrB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,kDAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,8BAA8B,0DAAO;AACrC;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;ACrCzB;AAAA;AAAA;AAAA;AAAmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kDAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,0DAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,mCAAmC,0DAAO;AAC1C;AACA,CAAC;AACc,8EAAe,E;;;;;;;;;;;;AClC9B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,kDAAO;AAC3D,sDAAsD,kDAAO;AAC7D;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,qCAAqC,0DAAO;AAC5C;AACA,CAAC;AACc,gFAAiB,E;;;;;;;;;;;;AC9BhC;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,8CAA8C,kDAAO;AACrD,gDAAgD,kDAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,+BAA+B,0DAAO;AACtC;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;AC1B1B;AAAe;AACf;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,2CAA2C,kDAAO;AAClD,6CAA6C,kDAAO;AACpD;AACA;AACA;;AAEA;AACA,CAAC;;AAED,4BAA4B,0DAAO;AACnC;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACpBvB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,kDAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;;AAEA;AACA,CAAC;;AAED,0BAA0B,0DAAO;AACjC;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,kDAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;AACA;AACA;;AAEA;AACA,CAAC;;AAED,+BAA+B,0DAAO;AACtC;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;ACjC1B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,6CAA6C,kDAAO;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,8BAA8B,0DAAO;AACrC;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;ACzBzB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,kDAAO;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,mCAAmC,0DAAO;AAC1C;AACA,CAAC;AACc,8EAAe,E;;;;;;;;;;;;AC5B9B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAO;AAC/C,0CAA0C,kDAAO;AACjD;AACA;AACA;;AAEA;AACA,CAAC;;AAED,yBAAyB,0DAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACpBpB;AAAA;AAAA;AAAA;AAAmC;AACN;AACM;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,kDAAO;AACpD;AACA;AACA;AACA,UAAU,uDAAI;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,8BAA8B,0DAAO;AACrC;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;ACxCzB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,kDAAO;AAChD,2CAA2C,kDAAO;AAClD;AACA;AACA;AACA,6CAA6C,2DAAQ;AACrD;;AAEA;AACA,CAAC;;AAED,0BAA0B,0DAAO;AACjC;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACxBrB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA,8CAA8C,kDAAO;AACrD,gDAAgD,kDAAO;AACvD;AACA,yEAAyE,2DAAQ;AACjF;;AAEA;AACA,CAAC;;AAED,+BAA+B,0DAAO;AACtC;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;ACrB1B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA,wCAAwC,kDAAO;AAC/C,0CAA0C,kDAAO;AACjD;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED,yBAAyB,0DAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACrBpB;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc;AACf;AACA,C;;;;;;;;;;;;ACnBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;AACA;AACf;AACA;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,+CAA+C;AAC/C;AACA,gCAAgC,mEAAO;AACvC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,SAAS,wDAAI,CAAC,mEAAO,CAAC,wDAAI,CAAC,6DAAS;AACpC,CAAC;AACc,2EAAY,E;;;;;;;;;;;;AClC3B;AAAA;AAAA;AAA4D;AAChB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,iDAAiD;AACjD;AACA,+BAA+B,mEAAO,eAAe,2EAAe;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;AClC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACc;AACd;AACE;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;AACA,wBAAwB,mEAAO;AAC/B,SAAS,0EAAc,QAAQ,mEAAO,8CAA8C,mEAAO,IAAI,oEAAQ,QAAQ,kEAAM;AACrH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AChDnB;AAAA;AAAA;AAAA;AAA4C;AACN;AACT;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,KAAK;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,0BAA0B,mEAAO;AACjC,cAAc,wDAAI;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gEAAI;AACnB;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACzCrB;AAAA;AAAA;AAA4C;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,KAAK;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,6BAA6B,mEAAO;AACpC,cAAc,wDAAI;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC3CxB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACQ;AACnB;AACI;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA,2BAA2B,mEAAO;AAClC,SAAS,0DAAM;AACf;AACA,0BAA0B,uEAAW;AACrC;AACA;AACA,wBAAwB,4DAAQ;AAChC,GAAG;AACH,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACzCtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB,wBAAwB;AACxB,0BAA0B;AAC1B,qCAAqC;AACrC,qCAAqC;AACrC,0BAA0B;AAC1B,uBAAuB,EAAE;AACzB;AACA,sBAAsB,mEAAO;AAC7B;AACA,CAAC;AACc,iEAAE,E;;;;;;;;;;;;AC5BjB;AAAA;AAAA;AAAA;AAA4C;AACb;AACE;;AAEjC;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B,sBAAsB;AACtB,sBAAsB;AACtB,wBAAwB;AACxB,oBAAoB,EAAE;AACtB,mBAAmB,UAAU,EAAE;AAC/B;AACA,2BAA2B,mEAAO;AAClC,sBAAsB,0DAAM,IAAI,yDAAK;AACrC,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC5BtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA,sBAAsB;AACtB,2BAA2B;AAC3B,mBAAmB;AACnB,oBAAoB;AACpB;AACA,yBAAyB,mEAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACtBpB;AAAA;AAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B;AACA,wBAAwB,2DAAO;AAChB,mEAAI,E;;;;;;;;;;;;ACtBnB;AAAA;AAAA;AAA4C;AACP;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,wBAAwB,mEAAO;AAC/B,SAAS,4DAAQ;AACjB;AACA,GAAG;AACH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACzBnB;AAAA;AAAA;AAAA;AAA4C;AACN;AACgB;;AAEtD;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,gBAAgB,iBAAiB,EAAE;AACnC;AACA,+EAA+E,mEAAO;AACtF;AACA,CAAC,iBAAiB,mEAAO;AACzB;AACA;AACA;AACA;AACA;AACA,0CAA0C,wEAAY;AACtD;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,gEAAI;AACd;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACrEnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,oBAAoB;AACpB;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,oCAAoC;AACpC,mBAAmB;AACnB;AACA,sBAAsB;AACtB,mBAAmB;AACnB;AACA,wBAAwB,uDAAG;AACZ,mEAAI,E;;;;;;;;;;;;ACvBnB;AAAA;AAAA;AAAA;AAA4C;AACE;AACb;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,6CAA6C;AAC7C,qCAAqC;AACrC;AACA,+BAA+B,mEAAO;AACtC,+CAA+C,oEAAQ;AACvD;AACA,GAAG;AACH;AACA;AACA,UAAU,0DAAM;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;ACrC1B;AAAA;AAAA;AAA4C;AACI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA,qBAAqB;AACrB,4BAA4B;AAC5B;AACA,0BAA0B,mEAAO;AACjC,yBAAyB,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B;AACpB,wBAAwB;AACxB,wBAAwB;AACxB;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;AC1BlB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AAClB;AACM;AACJ;AACP;AACJ;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD,iBAAiB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA,uBAAuB,iBAAiB,EAAE,OAAO;AACjD;AACA,mBAAmB,aAAa,KAAK;AACrC;AACA;AACA,uBAAuB,mEAAO,eAAe,yEAAa,8BAA8B,yDAAK;AAC7F;AACA;AACA,aAAa,0DAAM;AACnB;AACA,OAAO;AACP;AACA,aAAa,mEAAO;AACpB;AACA;AACA,OAAO,IAAI,EAAE,wDAAI;AACjB;AACA,aAAa,gEAAI;AACjB;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;AC1DlB;AAAA;AAA4C;;AAE5C;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mEAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AChDvB;AAAA;AAA4C;;AAE5C;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,mEAAO;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,4EAAa,E;;;;;;;;;;;;AClD5B;AAAA;AAAA;AAAA;AAA4C;AACA;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,kDAAkD,OAAO;AACzD;AACA,iCAAiC,mEAAO;AACxC,SAAS,mEAAO;AAChB;AACA;AACA,GAAG,IAAI,EAAE,wDAAI;AACb,CAAC;AACc,4EAAa,E;;;;;;;;;;;;AC/B5B;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,wCAAwC;AACxC,0BAA0B;AAC1B,2BAA2B;AAC3B;AACA,yBAAyB,mEAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC1BpB;AAAA;AAAA;AAA4C;AACM;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,0BAA0B;AAC1B,yBAAyB;AACzB,0BAA0B;AAC1B,yBAAyB;AACzB,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB,yBAAyB;AACzB;AACA,2BAA2B,mEAAO;AAClC,OAAO,sEAAU;AACjB;AACA;AACA,OAAO,sEAAU;AACjB;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC7CtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,wBAAwB;AACxB,wBAAwB;AACxB;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACtBlB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wDAAwD;AACxD,yCAAyC;AACzC;AACA,yBAAyB,mEAAO;AAChC;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC7BpB;AAAA;AAAA;AAA4C;AACjB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA,0BAA0B;AAC1B,mBAAmB;AACnB;AACA,wBAAwB,mEAAO;AAC/B,SAAS,uDAAG;AACZ,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACtBnB;AAAA;AAAA;AAA4C;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B,gCAAgC;AAChC,qBAAqB;AACrB;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,wDAAI;AACb;AACA,GAAG;AACH,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAAA;AAAA;AAA0C;AACE;AACN;;AAEtC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,qBAAqB;AACrB,qBAAqB;AACrB,qBAAqB;AACrB,cAAc;AACd;AACA,+BAA+B,mEAAO;AACtC;AACA,SAAS,kEAAM;AACf;AACA,SAAS,gEAAI;AACb;AACA;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ACA;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB,yBAAyB;AACzB;AACA,4BAA4B,mEAAO;AACnC;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACzBvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,2BAA2B;AAC3B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,wBAAwB,mEAAO;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AClFnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,qBAAqB;AACrB;AACA,0BAA0B,mEAAO;AACjC;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACnBrB;AAAA;AAAA;AAAA;AAAoD;AACR;AACjB;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,2CAA2C;AAC3C;AACA,wBAAwB,mEAAO;AAC/B,SAAS,uDAAG,CAAC,uEAAW;AACxB,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AChCnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB,iBAAiB;AACjB,iBAAiB;AACjB;AACA,uBAAuB,mEAAO;AAC9B;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACxBlB;AAAA;AAAA;AAA4C;AACI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB;AACvB,wBAAwB;AACxB,yBAAyB;AACzB;AACA,wBAAwB;AACxB,wBAAwB;AACxB;AACA;AACA;AACA;AACA,uBAAuB,mEAAO;AAC9B;AACA,SAAS,qEAAS;AAClB,CAAC;AACc,kEAAG,E;;;;;;;;;;;;ACjClB;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA;AACA;AACA,0BAA0B,mEAAO;AACjC;AACA,SAAS,0DAAM;AACf,WAAW,uDAAG;AACd,GAAG;AACH,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC5BrB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B,EAAE;AACrD;AACA;AACA;AACA;AACA;AACA,qBAAqB,mEAAO;AAC5B;AACA,CAAC;AACc,gEAAC,E;;;;;;;;;;;;AChChB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO,QAAQ,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB;AAC7H;AACA,yBAAyB,mEAAO;AAChC;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC3BpB;AAAA;AAAA;AAA4C;AACR;;AAEpC;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,MAAM;AAClB;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB;AACA,sBAAsB,mEAAO,CAAC,uDAAG;AAClB,iEAAE,E;;;;;;;;;;;;ACtBjB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU,KAAK;AACpC,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,4BAA4B,uBAAuB,EAAE,OAAO;AAC5D;AACA,wBAAwB,mEAAO;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACpCnB;AAAA;AAAA;AAA0C;AACE;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC;AACA,wBAAwB,mEAAO;AAC/B;AACA;AACA,SAAS,kEAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AClCnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY,IAAI;AAChB;AACA;AACA;AACA,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAC3B;AACA,sBAAsB,mEAAO;AAC7B;AACA,CAAC;AACc,iEAAE,E;;;;;;;;;;;;ACzBjB;AAAA;AAAA;AAA4C;AACc;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,iCAAiC,uCAAuC;AACxE;AACA,oDAAoD,oBAAoB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mEAAO;AACpC,EAAE,0EAAc;;AAEhB;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;ACnCxB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA,wBAAwB,mEAAO;AAC/B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACxCnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,wBAAwB,mEAAO;AAC/B;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACrBnB;AAAA;AAAA;AAA4C;AACkC;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,2BAA2B,oFAAwB,CAAC,2DAAO;AAC5C,sEAAO,E;;;;;;;;;;;;AChCtB;AAAA;AAAA;AAAA;AAA4C;AACkC;AACjD;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA,gCAAgC,oFAAwB,eAAe,wDAAI,CAAC,2DAAO;AACpE,2EAAY,E;;;;;;;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CA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACF;AACP;AACJ;;AAE7B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACe;AACf;AACA;AACA;AACA,SAAS,kEAAM,sBAAsB,0DAAM,CAAC,yDAAK,gBAAgB,wDAAI;AACrE,C;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAAqC;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,WAAW,eAAe;AACzD;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,SAAS,oDAAQ,aAAa,2DAAO;AACrC,C;;;;;;;;;;;;AC3CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACA;AACT;AACJ;;AAE7B;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA;AACA,SAAS,kEAAM,sBAAsB,0DAAM,CAAC,0DAAM,gBAAgB,wDAAI;AACtE,C;;;;;;;;;;;;AC7BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACf;AACe;AACf;AACQ;;AAErC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,4BAA4B,mEAAO;AACnC;AACA,WAAW,oDAAQ;AACnB;;AAEA,iBAAiB,wDAAI;AACrB,iBAAi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ACc,qEAAM,E;;;;;;;;;;;;AChCrB;AAAA;AAA4C;;AAE5C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,UAAU;AAC/C,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0CAA0C,WAAW,EAAE;AACvD;AACA,iCAAiC,mEAAO;AACxC;AACA,CAAC;AACc,4EAAa,E;;;;;;;;;;;;ACxB5B;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA,6BAA6B,WAAW,EAAE;AAC1C,kCAAkC,WAAW,EAAE;AAC/C;AACA;AACA,kBAAkB,6CAA6C,EAAE;AACjE;AACA,yBAAyB,mEAAO;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AClCpB;AAAA;AAAA;AAA4C;AACI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB;AACA,yBAAyB,mEAAO;AAChC,QAAQ,qEAAS,UAAU,qEAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC/BpB;AAAA;AAAA;AAA4C;AACA;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mEAAO,CAAC,2DAAO;AAC1B,qEAAM,E;;;;;;;;;;;;AClDrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AAClB;AACM;AACM;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,0BAA0B,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,cAAc;AACd;AACA,4BAA4B,mEAAO,qBAAqB,yEAAa,KAAK,8DAAU;AACpF,SAAS,mEAAO;AAChB;AACA,uBAAuB,gEAAI;AAC3B;AACA,GAAG,IAAI;AACP,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACtDvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,mEAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,0EAAW,E;;;;;;;;;;;;ACpD1B;AAAA;AAAA;AAAA;AAA4C;AACA;AACE;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,6CAA6C;AAC7C;AACA,+BAA+B,mEA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MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,4BAA4B,mEAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC7CvB;AAAA;AAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,oCAAoC;AACpC;AACA,yBAAyB,2DAAO;AACjB,oEAAK,E;;;;;;;;;;;;ACvBpB;AAAA;AAAA;AAAA;AAA4C;AACX;AACF;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA,gCAAgC;AAChC,oCAAoC;AACpC,gCAAgC;AAChC;AACA,2BAA2B,mEAAO;AAClC,UAAU,yDAAK,mBAAmB,yDAAK,QAAQ,0DAAM;AACrD,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACzBtB;AAAA;AAAA;AAA4C;AACb;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA,+CAA+C;AAC/C,qCAAqC;AACrC;AACA,8BAA8B,mEAAO;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,yDAAK;AACrB;AACA;AACA,CAAC;AACc,yEAAU,E;;;;;;;;;;;;AC/BzB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA,qDAAqD;AACrD;AACA,6BAA6B,mEAAO;AACpC;AACA;AA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7C,+BAA+B;AAC/B;AACA,4BAA4B,mEAAO;AACnC,SAAS,wDAAI;AACb,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC5BvB;AAAA;AAAA;AAA4C;AACb;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,kDAAkD;AAClD;AACA,iCAAiC,mEAAO;AACxC;AACA;AACA;AACA;AACA,SAAS,yDAAK;AACd,CAAC;AACc,4EAAa,E;;;;;;;;;;;;ACnC5B;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACJ;AACrB;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;AACA,6BAA6B,mEAAO,eAAe,yEAAa,gBAAgB,+DAAW;AAC3F;AACA;AACA;AACA;AACA;AACA,SAAS,yDAAK;AACd,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC1CxB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,uBAAuB,mEAAO,eAAe,yEAAa,KAAK,yDAAK;AACpE;AACA;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;AC5BlB;AAAA;AAAA;AAAA;AAAA;AAAsD;AACV;AACI;AACX;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B;AACA,wBAAwB,mEAAO;AAC/B,OAAO,qEAAS;AAChB,sFAAsF,cAAc,4DAAQ;AAC5G;AACA,SAAS,wEAAY;AACrB,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC5BnB;AAAA;AAAA;AAA4C;AACc;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qCAAqC,SAAS,SAAS;AACvD;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mEAAO;AAC/B,EAAE,0EAAc;;AAEhB;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACjCnB;AAAA;AAAA;AAAiC;AACW;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,qCAAqC;AACrC,8CAA8C;AAC9C;AACA,4BAA4B,mEAAO;AACnC,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC7BvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA,yBAAyB,mEAAO;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACxCpB;AAAA;AAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,2BAA2B,2DAAO;AACnB,sEAAO,E;;;;;;;;;;;;AClBtB;AAAA;AAAA;AAA4C;AACN;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,mBAAmB,iBAAiB,EAAE;AACtC;AACA,2BAA2B,mEAAO;AAClC;AACA;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC9BtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,uBAAuB;AACvB;AACA,6BAA6B,mEAAO;AACpC;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC9BxB;AAAA;AAAA;AAA4C;AACI;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,uBAAuB;AACvB,0BAA0B;AAC1B,8BAA8B;AAC9B,oBAAoB,uBAAuB,EAAE,QAAQ,6BAA6B;AAClF,qDAAqD;AACrD;AACA,4BAA4B,mEAAO;AACnC,SAAS,qEAAS;AAClB,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC1CvB;AAAA;AAAmC;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;AACA,2BAA2B,2DAAO;AACnB,sEAAO,E;;;;;;;;;;;;AClBtB;AAAA;AAAA;AAAA;AAA4C;AACF;AACT;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA,+EAA+E;AAC/E;AACA,6BAA6B,0DAAM;AACnC,SAAS,mEAAO,+BAA+B,kEAAM;AACrD,CAAC;AACc,wEAAS,E;;;;;;;;;;;;ACtDxB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,mEAAO;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC3CxB;AAAA;AAAA;AAAA;AAA4C;AACjB;AACU;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,qDAAqD;AACrD;AACA,4BAA4B,mEAAO;AACnC,oHAAoH,4DAAQ,KAAK,uDAAG;AACpI,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACjCvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B,+CAA+C;AAC/C;AACA,qGAAqG,mEAAO;AAC5G;AACA;AACA;AACA,CAAC,iBAAiB,mEAAO;AACzB;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC3BnB;AAAA;AAAA;AAAA;AAA0C;AACE;AACA;;AAE5C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA,sCAAsC,QAAQ,EAAE;AAChD,0BAA0B,aAAa;AACvC;AACA;AACA,4BAA4B,mEAAO;AACnC,SAAS,kEAAM;AACf;AACA;AACA,KAAK;AACL,iCAAiC,mEAAO;AACxC;AACA,GAAG;AACH,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACnCvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iBAAiB,EAAE;AACnB,kBAAkB;AAClB,sBAAsB;AACtB,oBAAoB;AACpB,qBAAqB;AACrB,mBAAmB;AACnB,wBAAwB;AACxB,uBAAuB,EAAE;AACzB,0BAA0B;AAC1B;AACA,wBAAwB,mEAAO;AAC/B;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC9BnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,2BAA2B,mEAAO;AAClC;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC/BtB;AAAA;AAAA;AAA4C;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,2BAA2B;AAC3B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA;AACA,yBAAyB,mEAAO;AAChC,SAAS,wDAAI;AACb,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AClCpB;AAAA;AAAA;AAA4C;AACX;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA,4BAA4B,mEAAO;AACnC,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACrCvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,MAAM;AAClB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACpCrB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACA;AACT;AACN;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,yBAAyB,mEAAO,eAAe,2DAAO,CAAC,gDAAI,EAAE,2DAAO;AACrD,oEAAK,E;;;;;;;;;;;;ACvBpB;AAAA;AAAA;AAAA;AAA4C;AACA;AACP;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK;AAClC,qBAAqB,KAAK,GAAG,KAAK;AAClC,iDAAiD,QAAQ,KAAK,GAAG,KAAK,GAAG,KAAK;AAC9E;AACA,6BAA6B,mEAAO;AACpC,SAAS,4DAAQ,OAAO,mEAAO;AAC/B,CAAC;AACc,wEAAS,E;;;;;;;;;;;;AC7BxB;AAAA;AAAA;AAAqC;AACJ;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,6BAA6B;AAC7B;AACA,wBAAwB,0DAAM,CAAC,oDAAQ;AACxB,mEAAI,E;;;;;;;;;;;;ACrBnB;AAAA;AAAA;AAAsC;AACM;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,kDAAkD;AAClD;AACA,0BAA0B,mEAAO;AACjC,gBAAgB,wDAAI;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;ACrCrB;AAAA;AAAA;AAAwD;AACZ;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,0CAA0C;AAC1C,6BAA6B,IAAI,GAAG,eAAe;AACnD,uCAAuC;AACvC,uCAAuC;AACvC;AACA,4BAA4B,mEAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,yEAAa;AACtB;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;ACvCvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,sBAAsB;AACtB,mBAAmB;AACnB;AACA,0BAA0B,mEAAO;AACjC;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC7BrB;AAAA;AAAA;AAAgD;AACjB;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,kCAAkC;AAClC,2CAA2C;AAC3C;AACA,0BAA0B,yDAAK,CAAC,6DAAS;AAC1B,qEAAM,E;;;;;;;;;;;;ACrBrB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,yBAAyB,mEAAO;AAChC;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC5BpB;AAAA;AAAA;AAAA;AAA4C;AACX;AACA;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,gBAAgB;AAC3B,YAAY,MAAM;AAClB;AACA;AACA;AACA,0CAA0C;AAC1C,2CAA2C;AAC3C;AACA;AACA;AACA;AACA,0BAA0B,mEAAO;AACjC,SAAS,0DAAM,MAAM,0DAAM;AAC3B,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC7BrB;AAAA;AAAA;AAA4C;AACX;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA,4DAA4D;AAC5D,4DAA4D;AAC5D,kDAAkD;AAClD,kDAAkD;AAClD;AACA;AACA,2BAA2B,mEAAO;AAClC,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC3CtB;AAAA;AAAA;AAA4C;AACf;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,kBAAkB,iBAAiB,EAAE;AACrC;AACA,0BAA0B,mEAAO;AACjC,cAAc,wDAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,sBAAsB;AACtB;AACA,4BAA4B,mEAAO;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,uEAAQ,E;;;;;;;;;;;;AC/BvB;AAAA;AAA4C;;AAE5C;AACA;AACA,UAAU;AACV;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW,EAAE;AACpC,uBAAuB,WAAW,EAAE;AACpC;AACA,wBAAwB,mEAAO;AAC/B;AACA;AACA;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACnCnB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,kCAAkC;AAClC;AACA,wBAAwB,mEAAO;AAC/B;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACjCnB;AAAA;AAAA;AAA4C;AACN;;AAEtC;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uBAAuB,KAAK,UAAU;AAC/C,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD;AACA,yBAAyB,mEAAO;AAChC;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;AC9CpB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;;AAE/B;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAK,UAAU;AAClC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA,cAAc,KAAK,EAAE;AACrB,cAAc,WAAW,EAAE;AAC3B,cAAc,iBAAiB,EAAE;AACjC,cAAc,WAAW,EAAE;AAC3B;AACA,2BAA2B,mEAAO;AAClC,SAAS,yDAAK,CAAC,uDAAG,CAAC,kDAAM;AACzB,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACpCtB;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;AACf;AACI;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,2CAA2C;AAC3C;AACA,2BAA2B,mEAAO;AAClC,SAAS,0DAAM,CAAC,wDAAI,CAAC,6DAAS;AAC9B,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC3BtB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,yBAAyB,mEAAO;AAChC,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,oEAAK,E;;;;;;;;;;;;ACrCpB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,0CAA0C;AAC1C;AACA;AACA,uBAAuB,mEAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,kEAAG,E;;;;;;;;;;;;AC/BlB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA,6CAA6C,OAAO;AACpD;AACA,0BAA0B,mEAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,qEAAM,E;;;;;;;;;;;;AC7BrB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,mEAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;ACpCtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,8CAA8C,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gGAAgG,eAAe;AAC/G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC3Oa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,0FAA+B;AAC1D;;;;;;;;;;;;;ACNa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B,iBAAiB,mBAAO,CAAC,8BAAY;;AAErC;;AAEA,kBAAkB,mBAAO,CAAC,+EAAqB;;AAE/C;;AAEA,eAAe,mBAAO,CAAC,yEAAkB;;AAEzC;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,YAAY;AACZ;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;;;AAGA,IAAI,IAAqC;AACzC;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;;;;;;;ACjFa;;AAEb;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA,aAAa,mBAAO,CAAC,oBAAO;;AAE5B,kBAAkB,mBAAO,CAAC,+EAAqB;;AAE/C;;AAEA,oBAAoB,mBAAO,CAAC,mFAAuB;;AAEnD;;AAEA,0BAA0B,mBAAO,CAAC,+FAA6B;;AAE/D;;AAEA,eAAe,mBAAO,CAAC,yEAAkB;;AAEzC;;AAEA,qBAAqB,mBAAO,CAAC,oEAAsB;;AAEnD;;AAEA,4BAA4B,mBAAO,CAAC,2GAAyB;;AAE7D;;AAEA,iBAAiB,mBAAO,CAAC,sDAAW;;AAEpC;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA,EAAE;AACF;AACA,UAAU;AACV;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;;AAEA,mBAAmB;AACnB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uBAAuB,yBAAyB;AAChD;;AAEA;AACA,wGAAwG,gBAAgB;;AAExH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wFAAwF;AACxF;AACA,WAAW;AACX,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC1Ya;;AAEb;AACA;;AAEA,gBAAgB,mBAAO,CAAC,oFAAuB;;AAE/C;;AAEA,eAAe,mBAAO,CAAC,kFAAsB;;AAE7C;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA,uC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACzBa;;AAEb;;AAEA,iBAAiB,mBAAO,CAAC,8BAAY;;AAErC;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F;AACA;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACdY;;AAEb;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;;;;;;;ACxBa;;AAEb;AACA;;AAEA,aAAa,mBAAO,CAAC,+CAAO;;AAE5B;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACXa;;AAEb;AACA;AACA,CAAC;;AAED;AACA,qEAAqE,aAAa;AAClF;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,oC;;;;;;;;;;;;AClBa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mEAAmE,aAAa;AAChF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AClCa;;AAEb;AACA;;AAEA,0BAA0B,mBAAO,CAAC,8EAAsB;;AAExD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,oC;;;;;;;;;;;;AC9Ba;;AAEb;AACA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,oBAAoB,mBAAO,CAAC,wEAAgB;;AAE5C;;AAEA,eAAe,mBAAO,CAAC,8DAAW;;AAElC;;AAEA,sBAAsB,mBAAO,CAAC,qEAAiB;;AAE/C;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA,oC;;;;;;;;;;;;AC9Ba;;AAEb;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,oBAAoB,mBAAO,CAAC,wEAAgB;;AAE5C;;AAEA,oBAAoB,mBAAO,CAAC,wEAAgB;;AAE5C;;AAEA,qBAAqB,mBAAO,CAAC,0EAAiB;;AAE9C;;AAEA;AACA;AACA,mD;;;;;;;;;;;;ACpBa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,oC;;;;;;;;;;;;ACnBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,oEAAK,E;;;;;;;;;;;;ACnBpB;AAAA;AAAA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9N;;AAEhC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACe;AACf,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,kBAAkB,gDAAO;;AAEzB,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;;;;;;AC/CA;AAAA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACe;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;AC9CA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACQ;AACd;;AAEtC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,+CAA+C,wDAAW;;AAE1D;AACA;AACA;;AAEA,OAAO,uEAAa;AACpB,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,OAAO,wDAAW,OAAO;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD,+HAA+H,wDAAW;AAC1I;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACe;AACf;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA,QAAQ,IAAqC;AAC7C;AACA,QAAQ,8DAAO;AACf;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA,QAAQ,8DAAO;AACf;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACjIA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEe;AACf,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AAAA;AAAA;AAAA;AAAA;AAAoD;AACP;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA,SAAS,uEAAa;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK,OAAO,yDAAY;AACxB;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ,yDAAY;AACvB,C;;;;;;;;;;;;ACvPA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAwC;AACQ;AACM;AACN;AAChB;AACM;;AAEtC;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAqC;AACzC,EAAE,8DAAO;AACT;;;;;;;;;;;;;;ACfA;AAAA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;;;;;;;ACpBa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;;AAEA,YAAY,2BAA2B;AACvC;AACA;;AAEA,YAAY,uBAAuB;AACnC;AACA;AACA,KAAK;AACL;;AAEA,YAAY,uBAAuB;AACnC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,KAAwC,GAAG,sBAAiB,GAAG,SAAI;;AAEnF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,kCAAkC;;AAElC;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yDAAyD;AACzD,GAAG;;AAEH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yC;AACzC;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,qDAAqD;AACrD;AACA,GAAG;AACH;AACA,IAAI,KAA0B;AAC9B;AACA,CAAC;AACD;AACA;;AAEA,CAAC;;;;;;;;;;;;;ACpND;AACA;AACA;;;;;;;;;;;;ACFA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;ACvBA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,mBAAmB;AAC3D;AACA;;AAEA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA;;AAEA;AACA;AACA,wCAAwC,4BAA4B;AACpE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,SAAS;AACT;AACA,SAAS;AACT,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,uBAAuB;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;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","file":"dash_renderer.dev.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=t(require(\"react\")):e[\"dash-component-plugins\"]=t(e.React)}(window,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=function(e,t){var n,o={isReady:new Promise((function(e){n=e})),get:Object(r.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(n(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},u=function(e){return e&&e._dashprivate_isLazyComponentReady};n.d(t,\"asyncDecorator\",(function(){return o})),n.d(t,\"isReady\",(function(){return u}))}])}));","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(name, definition)\n else root[name] = definition()\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)(o|0)s/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser'\n , whale: t\n , version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser'\n , mzbrowser: t\n , version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus'\n , focus: t\n , version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.whale && compareVersions([result.version, '1.0']) === 1) ||\n (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||\n (result.focus && compareVersions([result.version, '1.0']) === 1) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array<String>} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".dash-callback-dag--container {\\n border-radius: 4px;\\n position: fixed;\\n bottom: 165px;\\n right: 16px;\\n max-width: 80vw;\\n max-height: calc(100vh - 180px);\\n overflow: auto;\\n box-sizing: border-box;\\n background: #ffffff;\\n display: inline-block;\\n /* shadow-1 */\\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\\n 0px 2px 6px rgba(80, 103, 132, 0.12),\\n 0px 0px 1px rgba(80, 103, 132, 0.32);\\n}\\n\", \"\"]);\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".error-container {\\n margin-top: 10px;\\n}\\n\\n.dash-fe-errors {\\n min-width: 386px;\\n max-width: 650px;\\n max-height: 450px;\\n display: inline-block;\\n}\\n\\n.dash-fe-error__icon-error {\\n width: 20px;\\n height: 20px;\\n display: inline-block;\\n margin-right: 16px;\\n}\\n.dash-fe-error__icon-close {\\n width: 10px;\\n height: 10px;\\n position: absolute;\\n right: 12px;\\n top: 12px;\\n display: inline-block;\\n}\\n.dash-fe-error__icon-arrow {\\n width: 8px;\\n height: 28px;\\n margin: 0px 8px;\\n}\\n.dash-fe-error-top {\\n height: 20px;\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n cursor: pointer;\\n}\\n.dash-fe-error-top__group:first-child {\\n /*\\n * 77% is the maximum space allowed based off of the other elements\\n * in the top part of the error container (timestamp & collapse arrow).\\n * this was manually determined */\\n width: 77%;\\n}\\n.dash-fe-error-top__group {\\n display: inline-flex;\\n align-items: center;\\n}\\n.dash-fe-error__title {\\n text-align: left;\\n margin: 0px;\\n margin-left: 5px;\\n padding: 0px;\\n font-size: 14px;\\n display: inline-block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.dash-fe-error__timestamp {\\n margin-right: 20px;\\n}\\n.dash-fe-error__collapse--flipped {\\n -webkit-transform: rotate(180deg);\\n -ms-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.dash-fe-error__info_title {\\n margin: 0;\\n color: #506784;\\n font-size: 16px;\\n background-color: #f3f6fa;\\n border: 2px solid #dfe8f3;\\n box-sizing: border-box;\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n padding: 10px;\\n}\\n\\n.dash-fe-error__info {\\n border: 1px solid #dfe8f3;\\n margin: 0 0 1em 0;\\n padding: 10px;\\n\\n background-color: white;\\n border: 2px solid #dfe8f3;\\n color: #506784;\\n overflow: auto;\\n white-space: pre-wrap;\\n}\\n\\n.dash-fe-error__curved {\\n border-radius: 4px;\\n}\\n\\n.dash-fe-error__curved-top {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n border-bottom-width: 0px;\\n}\\n\\n.dash-fe-error__curved-bottom {\\n border-radius-bottom-left: 4px;\\n border-radius-bottom-right: 4px;\\n background-color: #FFEFEF;\\n}\\n\\n.dash-be-error__st {\\n background-color: #fdf3f4;\\n min-width: 386px;\\n max-width: 650px;\\n /* iframe container handles the scrolling */\\n overflow: hidden;\\n display: inline-block;\\n}\\n\\n.dash-be-error__str {\\n background-color: #fdf3f4;\\n min-width: 386px;\\n max-width: 650px;\\n overflow: auto;\\n display: inline-block;\\n white-space: pre-wrap;\\n}\\n\", \"\"]);\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".dash-error-menu {\\n max-width: 50%;\\n max-height: 60%;\\n display: contents;\\n font-family: monospace;\\n font-size: 14px;\\n font-variant-ligatures: common-ligatures;\\n}\\n\\n.dash-error-card {\\n box-sizing: border-box;\\n background: #ffffff;\\n display: inline-block;\\n /* shadow-1 */\\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\\n 0px 2px 6px rgba(80, 103, 132, 0.12),\\n 0px 0px 1px rgba(80, 103, 132, 0.32);\\n border-radius: 4px;\\n position: fixed;\\n top: 16px;\\n right: 16px;\\n animation: dash-error-card-animation 0.5s;\\n padding: 24px;\\n text-align: left;\\n background-color: white;\\n\\n}\\n.dash-error-card--alerts-tray {\\n position: absolute;\\n top: -300px;\\n left: -1px;\\n animation: none;\\n box-shadow: none;\\n border: 1px solid #ececec;\\n border-bottom: 0;\\n border-bottom-left-radius: 0px;\\n border-bottom-right-radius: 0px;\\n width: 422px;\\n}\\n.dash-error-card--container {\\n padding: 10px 10px;\\n width: 600px;\\n max-width: 800px;\\n max-height: calc(100vh - 50px);\\n margin: 10px;\\n overflow: auto;\\n z-index: 1001; /* above the plotly.js toolbar */\\n}\\n\\n.dash-error-card__topbar {\\n width: 100%;\\n height: 32px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.dash-error-card__message {\\n font-size: 14px;\\n}\\n\\n.dash-error-card__message > strong {\\n color: #ff4500;\\n}\\n\\n.dash-error-card__content {\\n box-sizing: border-box;\\n padding: 10px 10px;\\n background-color: white;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 2px;\\n margin-bottom: 8px;\\n}\\n\\n.dash-error-card__list-item {\\n background: #ffffff;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 2px;\\n padding: 10px 10px;\\n margin-bottom: 10px;\\n display: flex;\\n align-items: center;\\n}\\n\\n@keyframes dash-error-card-animation {\\n from {\\n opacity: 0;\\n -webkit-transform: scale(1.1);\\n -moz-transform: scale(1.1);\\n -ms-transform: scale(1.1);\\n transform: scale(1.1);\\n }\\n to {\\n opacity: 1;\\n -webkit-transform: scale(1);\\n -moz-transform: scale(1);\\n -ms-transform: scale(1);\\n transform: scale(1);\\n }\\n}\\n\", \"\"]);\n","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".percy-show {\\n display: none;\\n}\\n\\n@media only percy {\\n .percy-hide {\\n display: none;\\n }\\n .percy-show {\\n display: block;\\n }\\n}\\n\", \"\"]);\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".dash-debug-alert-container {\\n box-sizing: border-box;\\n background: #f3f6fa;\\n border-radius: 2px;\\n padding: 8px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n transition: background-color 0.1s, border 0.1s;\\n}\\n.dash-debug-alert-container:hover {\\n cursor: pointer;\\n}\\n.dash-debug-alert-container--opened {\\n background-color: #119dff;\\n color: white;\\n}\\n.dash-debug-alert-container__icon {\\n width: 12px;\\n height: 12px;\\n margin-right: 4px;\\n}\\n.dash-debug-alert-container__icon--warning {\\n height: auto;\\n}\\n\\n.dash-debug-alert {\\n display: flex;\\n align-items: center;\\n font-size: 10px;\\n}\\n\\n.dash-debug-alert-label {\\n display: flex;\\n position: fixed;\\n bottom: 81px;\\n right: 29px;\\n z-index: 10001;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 32px;\\n background-color: white;\\n padding: 4px;\\n}\\n\", \"\"]);\n","exports = module.exports = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".dash-debug-menu {\\n transition: width 0.05s, background-color 0.1s;\\n position: fixed;\\n bottom: 35px;\\n right: 35px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n z-index: 10000;\\n}\\n.dash-debug-menu--closed {\\n background-color: #119dff;\\n border-radius: 100%;\\n width: 64px;\\n height: 64px;\\n}\\n.dash-debug-menu--opened {\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 4px;\\n padding: 12px 0px;\\n background-color: white;\\n}\\n\\n.dash-debug-menu--closed:hover {\\n cursor: pointer;\\n background-color: #108de4;\\n}\\n\\n.dash-debug-menu__icon {\\n width: 24px;\\n height: 28px;\\n}\\n.dash-debug-menu__icon--close {\\n width: 14px;\\n height: 14px;\\n}\\n.dash-debug-menu__icon--bell {\\n height: 24px;\\n width: 28px;\\n}\\n.dash-debug-menu__icon--debug {\\n height: 24px;\\n width: auto;\\n}\\n.dash-debug-menu__icon--graph {\\n height: 24px;\\n}\\n\\n.dash-debug-menu__content {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.dash-debug-menu__button-container {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n width: 74px;\\n margin-left: 10px;\\n}\\n.dash-debug-menu__button-label {\\n color: #A2B1C6;\\n font-size: 10px;\\n margin-top: 4px;\\n}\\n\\n.dash-debug-menu__button {\\n background-color: white;\\n border-radius: 100%;\\n border: 1px solid #B9C2CE;\\n width: 64px;\\n height: 64px;\\n font-size: 10px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n transition: background-color 0.2s;\\n color: black;\\n}\\n.dash-debug-menu__button--enabled {\\n background-color: #00CC96;\\n color: white;\\n}\\n.dash-debug-menu__button--small {\\n width: 32px;\\n height: 32px;\\n background-color: #B9C2CE;\\n}\\n.dash-debug-menu__button:hover {\\n cursor: pointer;\\n background-color: #f5f5f5;\\n}\\n.dash-debug-menu__button--small:hover {\\n background-color: #a1a9b5;\\n}\\n\\n.dash-debug-menu__button--enabled:hover {\\n background-color: #03bb8a;\\n}\\n\", \"\"]);\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \"{\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = modules[_i]; // skip already imported module\n // this implementation is not 100% perfect for weird media query combinations\n // when a module is imported multiple times with different media queries.\n // I hope this will never occur (Hey this way we have smaller bundles)\n\n if (item[0] == null || !alreadyImportedModules[item[0]]) {\n if (mediaQuery && !item[2]) {\n item[2] = mediaQuery;\n } else if (mediaQuery) {\n item[2] = \"(\".concat(item[2], \") and (\").concat(mediaQuery, \")\");\n }\n\n list.push(item);\n }\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot).concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * A simple dependency graph\n */\n\n/**\n * Helper for creating a Depth-First-Search on\n * a set of edges.\n *\n * Detects cycles and throws an Error if one is detected.\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n */\nfunction createDFS(edges, leavesOnly, result) {\n var currentPath = [];\n var visited = {};\n return function DFS(currentNode) {\n visited[currentNode] = true;\n currentPath.push(currentNode);\n edges[currentNode].forEach(function (node) {\n if (!visited[node]) {\n DFS(node);\n } else if (currentPath.indexOf(node) >= 0) {\n currentPath.push(node);\n throw new Error('Dependency Cycle Found: ' + currentPath.join(' -> '));\n }\n });\n currentPath.pop();\n if ((!leavesOnly || edges[currentNode].length === 0) && result.indexOf(currentNode) === -1) {\n result.push(currentNode);\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\nvar DepGraph = exports.DepGraph = function DepGraph() {\n this.nodes = {};\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n};\nDepGraph.prototype = {\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode:function (node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode:function (node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) {\n Object.keys(edgeList).forEach(function (key) {\n var idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode:function (node) {\n return this.nodes.hasOwnProperty(node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData:function (node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData:function (node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency:function (from, to) {\n if (!this.hasNode(from)) {\n throw new Error('Node does not exist: ' + from);\n }\n if (!this.hasNode(to)) {\n throw new Error('Node does not exist: ' + to);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency:function (from, to) {\n var idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf:function (node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(this.outgoingEdges, leavesOnly, result);\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf:function (node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(this.incomingEdges, leavesOnly, result);\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder:function (leavesOnly) {\n var self = this;\n var result = [];\n var keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n } else {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n var CycleDFS = createDFS(this.outgoingEdges, false, []);\n keys.forEach(function(n) {\n CycleDFS(n);\n });\n\n var DFS = createDFS(this.outgoingEdges, leavesOnly, result);\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys.filter(function (node) {\n return self.incomingEdges[node].length === 0;\n }).forEach(function (n) {\n DFS(n);\n });\n\n return result;\n }\n },\n\n\n};\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","'use strict';\n\nexports.__esModule = true;\nexports.isFSA = isFSA;\nexports.isError = isError;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsplainobject = require('lodash.isplainobject');\n\nvar _lodashIsplainobject2 = _interopRequireDefault(_lodashIsplainobject);\n\nvar validKeys = ['type', 'payload', 'error', 'meta'];\n\nfunction isValidKey(key) {\n return validKeys.indexOf(key) > -1;\n}\n\nfunction isFSA(action) {\n return _lodashIsplainobject2['default'](action) && typeof action.type !== 'undefined' && Object.keys(action).every(isValidKey);\n}\n\nfunction isError(action) {\n return action.error === true;\n}","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = require('../utils/getBrowserInformation');\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = require('../utils/getPrefixedKeyframes');\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: 'prefix',\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: '_prefixStyle',\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: 'prefixAll',\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + 'calc('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n 'zoom-in': true,\n 'zoom-out': true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + 'filter('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n 'inline-flex': true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n};\n\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nvar otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) {\n return cssPrefix + grad;\n }), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + 'image-set('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n\n // TODO: chrome & opera support it\n};function sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : '');\n }\n });\n });\n\n return multipleValues.join(',');\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('../utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\nfunction calc(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = require('bowser');\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: 'Webkit',\n safari: 'Webkit',\n ios: 'Webkit',\n android: 'Webkit',\n phantom: 'Webkit',\n opera: 'Webkit',\n webos: 'Webkit',\n blackberry: 'Webkit',\n bada: 'Webkit',\n tizen: 'Webkit',\n chromium: 'Webkit',\n vivaldi: 'Webkit',\n firefox: 'Moz',\n seamoney: 'Moz',\n sailfish: 'Moz',\n msie: 'ms',\n msedge: 'ms'\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: 'chrome',\n chromium: 'chrome',\n safari: 'safari',\n firfox: 'firefox',\n msedge: 'edge',\n opera: 'opera',\n vivaldi: 'opera',\n msie: 'ie'\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return 'firefox';\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return 'ios_saf';\n } else if (browserInfo.android) {\n return 'android';\n } else if (browserInfo.opera) {\n return 'op_mini';\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, ''));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-';\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = 'and_chr';\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) {\n browserInfo.browserName = 'and_chr';\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = 'keyframes';\n\n if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedValue;\nfunction getPrefixedValue(prefixedValue, value, keepUnprefixed) {\n if (keepUnprefixed) {\n return [prefixedValue, value];\n }\n return prefixedValue;\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","/**\n * lodash 3.0.3 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * Creates a base function for methods like `_.forIn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = baseFor;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isArguments;\n","/**\n * lodash 3.0.4 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]',\n funcTag = '[object Function]';\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 equivalents which return 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isArray;\n","/**\n * lodash 3.2.0 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar baseFor = require('lodash._basefor'),\n isArguments = require('lodash.isarguments'),\n keysIn = require('lodash.keysin');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.forIn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForIn(object, iteratee) {\n return baseFor(object, iteratee, keysIn);\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * **Note:** This method assumes objects created by the `Object` constructor\n * have no inherited enumerable properties.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n var Ctor;\n\n // Exit early for non `Object` objects.\n if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) ||\n (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) {\n return false;\n }\n // IE < 9 iterates inherited properties before own properties. If the first\n // iterated property is an object's own property then there are no inherited\n // enumerable properties.\n var result;\n // In most environments an object's own properties are iterated before\n // its inherited properties. If the last iterated property is an object's\n // own property then there are no inherited enumerable properties.\n baseForIn(value, function(subValue, key) {\n result = key;\n });\n return result === undefined || hasOwnProperty.call(value, result);\n}\n\nmodule.exports = isPlainObject;\n","/**\n * lodash 3.0.8 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar isArguments = require('lodash.isarguments'),\n isArray = require('lodash.isarray');\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import appendPxIfNeeded from './append-px-if-needed';\nimport mapObject from './map-object';\n\nexport default function appendImportantToEachValue(style) {\n return mapObject(style, function (result, key) {\n return appendPxIfNeeded(key, style[key]) + ' !important';\n });\n}","\n\n// Copied from https://github.com/facebook/react/blob/\n// 102cd291899f9942a76c40a0e78920a6fe544dc1/\n// src/renderers/dom/shared/CSSProperty.js\nvar isUnitlessNumber = {\n animationIterationCount: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n stopOpacity: true,\n strokeDashoffset: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nexport default function appendPxIfNeeded(propertyName, value) {\n var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0;\n return needsPxSuffix ? value + 'px' : value;\n}","var _camelCaseRegex = /([a-z])?([A-Z])/g;\n\nvar _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) {\n return (p1 || '') + '-' + p2.toLowerCase();\n};\n\nexport var camelCaseToDashCase = function camelCaseToDashCase(s) {\n return s.replace(_camelCaseRegex, _camelCaseReplacer);\n};\n\nvar camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) {\n // Since prefix is expected to work on inline style objects, we must\n // translate the keys to dash case for rendering to CSS.\n return Object.keys(prefixedStyle).reduce(function (result, key) {\n var dashCaseKey = camelCaseToDashCase(key);\n\n // Fix IE vendor prefix\n if (/^ms-/.test(dashCaseKey)) {\n dashCaseKey = '-' + dashCaseKey;\n }\n\n result[dashCaseKey] = prefixedStyle[key];\n return result;\n }, {});\n};\n\nexport default camelCasePropsToDashCase;","/* flow */\n\nvar cleanStateKey = function cleanStateKey(key) {\n return key === null || typeof key === 'undefined' ? 'main' : key.toString();\n};\n\nexport default cleanStateKey;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport Enhancer from '../enhancer';\nimport StyleKeeper from '../style-keeper';\nimport StyleSheet from './style-sheet';\n\n\nfunction _getStyleKeeper(instance) {\n if (!instance._radiumStyleKeeper) {\n var userAgent = instance.props.radiumConfig && instance.props.radiumConfig.userAgent || instance.context._radiumConfig && instance.context._radiumConfig.userAgent;\n instance._radiumStyleKeeper = new StyleKeeper(userAgent);\n }\n\n return instance._radiumStyleKeeper;\n}\n\nvar StyleRoot = function (_PureComponent) {\n _inherits(StyleRoot, _PureComponent);\n\n function StyleRoot() {\n _classCallCheck(this, StyleRoot);\n\n var _this = _possibleConstructorReturn(this, (StyleRoot.__proto__ || Object.getPrototypeOf(StyleRoot)).apply(this, arguments));\n\n _getStyleKeeper(_this);\n return _this;\n }\n\n _createClass(StyleRoot, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return { _radiumStyleKeeper: _getStyleKeeper(this) };\n }\n }, {\n key: 'render',\n value: function render() {\n /* eslint-disable no-unused-vars */\n // Pass down all props except config to the rendered div.\n var _props = this.props,\n radiumConfig = _props.radiumConfig,\n otherProps = _objectWithoutProperties(_props, ['radiumConfig']);\n /* eslint-enable no-unused-vars */\n\n return React.createElement(\n 'div',\n otherProps,\n this.props.children,\n React.createElement(StyleSheet, null)\n );\n }\n }]);\n\n return StyleRoot;\n}(PureComponent);\n\nStyleRoot.contextTypes = {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n};\n\nStyleRoot.childContextTypes = {\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n};\n\nStyleRoot = Enhancer(StyleRoot);\n\nexport default StyleRoot;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport StyleKeeper from '../style-keeper';\n\nvar StyleSheet = (_temp = _class = function (_PureComponent) {\n _inherits(StyleSheet, _PureComponent);\n\n function StyleSheet() {\n _classCallCheck(this, StyleSheet);\n\n var _this = _possibleConstructorReturn(this, (StyleSheet.__proto__ || Object.getPrototypeOf(StyleSheet)).apply(this, arguments));\n\n _this._onChange = function () {\n setTimeout(function () {\n _this._isMounted && _this.setState(_this._getCSSState());\n }, 0);\n };\n\n _this.state = _this._getCSSState();\n return _this;\n }\n\n _createClass(StyleSheet, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._isMounted = true;\n this._subscription = this.context._radiumStyleKeeper.subscribe(this._onChange);\n this._onChange();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._isMounted = false;\n if (this._subscription) {\n this._subscription.remove();\n }\n }\n }, {\n key: '_getCSSState',\n value: function _getCSSState() {\n return { css: this.context._radiumStyleKeeper.getCSS() };\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement('style', { dangerouslySetInnerHTML: { __html: this.state.css } });\n }\n }]);\n\n return StyleSheet;\n}(PureComponent), _class.contextTypes = {\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n}, _temp);\nexport { StyleSheet as default };","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport cssRuleSetToString from '../css-rule-set-to-string';\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\nvar Style = (_temp = _class = function (_PureComponent) {\n _inherits(Style, _PureComponent);\n\n function Style() {\n _classCallCheck(this, Style);\n\n return _possibleConstructorReturn(this, (Style.__proto__ || Object.getPrototypeOf(Style)).apply(this, arguments));\n }\n\n _createClass(Style, [{\n key: '_buildStyles',\n value: function _buildStyles(styles) {\n var _this2 = this;\n\n var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.context && this.context._radiumConfig && this.context._radiumConfig.userAgent;\n\n var scopeSelector = this.props.scopeSelector;\n\n var rootRules = Object.keys(styles).reduce(function (accumulator, selector) {\n if (_typeof(styles[selector]) !== 'object') {\n accumulator[selector] = styles[selector];\n }\n\n return accumulator;\n }, {});\n var rootStyles = Object.keys(rootRules).length ? cssRuleSetToString(scopeSelector || '', rootRules, userAgent) : '';\n\n return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) {\n var rules = styles[selector];\n\n if (selector === 'mediaQueries') {\n accumulator += _this2._buildMediaQueryString(rules);\n } else if (_typeof(styles[selector]) === 'object') {\n var completeSelector = scopeSelector ? selector.split(',').map(function (part) {\n return scopeSelector + ' ' + part.trim();\n }).join(',') : selector;\n\n accumulator += cssRuleSetToString(completeSelector, rules, userAgent);\n }\n\n return accumulator;\n }, '');\n }\n }, {\n key: '_buildMediaQueryString',\n value: function _buildMediaQueryString(stylesByMediaQuery) {\n var _this3 = this;\n\n var mediaQueryString = '';\n\n Object.keys(stylesByMediaQuery).forEach(function (query) {\n mediaQueryString += '@media ' + query + '{' + _this3._buildStyles(stylesByMediaQuery[query]) + '}';\n });\n\n return mediaQueryString;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!this.props.rules) {\n return null;\n }\n\n var styles = this._buildStyles(this.props.rules);\n\n return React.createElement('style', { dangerouslySetInnerHTML: { __html: styles } });\n }\n }]);\n\n return Style;\n}(PureComponent), _class.propTypes = {\n radiumConfig: PropTypes.object,\n rules: PropTypes.object,\n scopeSelector: PropTypes.string\n}, _class.contextTypes = {\n _radiumConfig: PropTypes.object\n}, _class.defaultProps = {\n scopeSelector: ''\n}, _temp);\n\n\nexport default Style;","import appendPxIfNeeded from './append-px-if-needed';\nimport camelCasePropsToDashCase from './camel-case-props-to-dash-case';\nimport mapObject from './map-object';\nimport { getPrefixedStyle } from './prefixer';\n\nfunction createMarkupForStyles(style) {\n return Object.keys(style).map(function (property) {\n return property + ': ' + style[property] + ';';\n }).join('\\n');\n}\n\nexport default function cssRuleSetToString(selector, rules, userAgent) {\n if (!rules) {\n return '';\n }\n\n var rulesWithPx = mapObject(rules, function (value, key) {\n return appendPxIfNeeded(key, value);\n });\n var prefixedRules = getPrefixedStyle(rulesWithPx, userAgent);\n var cssPrefixedRules = camelCasePropsToDashCase(prefixedRules);\n var serializedRules = createMarkupForStyles(cssPrefixedRules);\n return selector + '{' + serializedRules + '}';\n}","var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport StyleKeeper from './style-keeper';\nimport resolveStyles from './resolve-styles';\nimport getRadiumStyleState from './get-radium-style-state';\n\nvar KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type'];\n\nfunction copyProperties(source, target) {\n Object.getOwnPropertyNames(source).forEach(function (key) {\n if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, key);\n Object.defineProperty(target, key, descriptor);\n }\n });\n}\n\nfunction isStateless(component) {\n return !component.render && !(component.prototype && component.prototype.render);\n}\n\n// Check if value is a real ES class in Native / Node code.\n// See: https://stackoverflow.com/a/30760236\nfunction isNativeClass(component) {\n return typeof component === 'function' && /^\\s*class\\s+/.test(component.toString());\n}\n\n// Manually apply babel-ish class inheritance.\nfunction inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + (typeof superClass === 'undefined' ? 'undefined' : _typeof(superClass)));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n\n if (superClass) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(subClass, superClass);\n } else {\n subClass.__proto__ = superClass; // eslint-disable-line no-proto\n }\n }\n}\n\nexport default function enhanceWithRadium(configOrComposedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof configOrComposedComponent !== 'function') {\n var newConfig = _extends({}, config, configOrComposedComponent);\n return function (configOrComponent) {\n return enhanceWithRadium(configOrComponent, newConfig);\n };\n }\n\n var component = configOrComposedComponent;\n var ComposedComponent = component;\n\n // Handle Native ES classes.\n if (isNativeClass(ComposedComponent)) {\n // Manually approximate babel's class transpilation, but _with_ a real `new` call.\n ComposedComponent = function (OrigComponent) {\n function NewComponent() {\n // Ordinarily, babel would produce something like:\n //\n // ```\n // return _possibleConstructorReturn(this, OrigComponent.apply(this, arguments));\n // ```\n //\n // Instead, we just call `new` directly without the `_possibleConstructorReturn` wrapper.\n var source = new (Function.prototype.bind.apply(OrigComponent, [null].concat(Array.prototype.slice.call(arguments))))();\n\n // Then we manually update context with properties.\n copyProperties(source, this);\n\n return this;\n }\n\n inherits(NewComponent, OrigComponent);\n\n return NewComponent;\n }(ComposedComponent);\n }\n\n // Handle stateless components\n if (isStateless(ComposedComponent)) {\n ComposedComponent = function (_Component) {\n _inherits(ComposedComponent, _Component);\n\n function ComposedComponent() {\n _classCallCheck(this, ComposedComponent);\n\n return _possibleConstructorReturn(this, (ComposedComponent.__proto__ || Object.getPrototypeOf(ComposedComponent)).apply(this, arguments));\n }\n\n _createClass(ComposedComponent, [{\n key: 'render',\n value: function render() {\n return component(this.props, this.context);\n }\n }]);\n\n return ComposedComponent;\n }(Component);\n\n ComposedComponent.displayName = component.displayName || component.name;\n }\n\n var RadiumEnhancer = (_temp = _class = function (_ComposedComponent) {\n _inherits(RadiumEnhancer, _ComposedComponent);\n\n function RadiumEnhancer() {\n _classCallCheck(this, RadiumEnhancer);\n\n var _this2 = _possibleConstructorReturn(this, (RadiumEnhancer.__proto__ || Object.getPrototypeOf(RadiumEnhancer)).apply(this, arguments));\n\n _this2.state = _this2.state || {};\n _this2.state._radiumStyleState = {};\n _this2._radiumIsMounted = true;\n return _this2;\n }\n\n _createClass(RadiumEnhancer, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this)) {\n _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this).call(this);\n }\n\n this._radiumIsMounted = false;\n\n if (this._radiumMouseUpListener) {\n this._radiumMouseUpListener.remove();\n }\n\n if (this._radiumMediaQueryListenersByQuery) {\n Object.keys(this._radiumMediaQueryListenersByQuery).forEach(function (query) {\n this._radiumMediaQueryListenersByQuery[query].remove();\n }, this);\n }\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var superChildContext = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this) ? _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this).call(this) : {};\n\n if (!this.props.radiumConfig) {\n return superChildContext;\n }\n\n var newContext = _extends({}, superChildContext);\n\n if (this.props.radiumConfig) {\n newContext._radiumConfig = this.props.radiumConfig;\n }\n\n return newContext;\n }\n }, {\n key: 'render',\n value: function render() {\n var renderedElement = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'render', this).call(this);\n var currentConfig = this.props.radiumConfig || this.context._radiumConfig || config;\n\n if (config && currentConfig !== config) {\n currentConfig = _extends({}, config, currentConfig);\n }\n\n var _resolveStyles = resolveStyles(this, renderedElement, currentConfig),\n extraStateKeyMap = _resolveStyles.extraStateKeyMap,\n element = _resolveStyles.element;\n\n this._extraRadiumStateKeys = Object.keys(extraStateKeyMap);\n\n return element;\n }\n\n /* eslint-disable react/no-did-update-set-state, no-unused-vars */\n\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this)) {\n _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this).call(this, prevProps, prevState);\n }\n\n if (this._extraRadiumStateKeys.length > 0) {\n var trimmedRadiumState = this._extraRadiumStateKeys.reduce(function (state, key) {\n var extraStateKey = state[key],\n remainingState = _objectWithoutProperties(state, [key]);\n\n return remainingState;\n }, getRadiumStyleState(this));\n\n this._lastRadiumState = trimmedRadiumState;\n this.setState({ _radiumStyleState: trimmedRadiumState });\n }\n }\n /* eslint-enable react/no-did-update-set-state, no-unused-vars */\n\n }]);\n\n return RadiumEnhancer;\n }(ComposedComponent), _class._isRadiumEnhanced = true, _temp);\n\n // Class inheritance uses Object.create and because of __proto__ issues\n // with IE <10 any static properties of the superclass aren't inherited and\n // so need to be manually populated.\n // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below-\n\n copyProperties(component, RadiumEnhancer);\n\n if (process.env.NODE_ENV !== 'production') {\n // This also fixes React Hot Loader by exposing the original components top\n // level prototype methods on the Radium enhanced prototype as discussed in\n // https://github.com/FormidableLabs/radium/issues/219.\n copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype);\n }\n\n if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) {\n RadiumEnhancer.propTypes = _extends({}, RadiumEnhancer.propTypes, {\n style: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n });\n }\n\n RadiumEnhancer.displayName = component.displayName || component.name || 'Component';\n\n RadiumEnhancer.contextTypes = _extends({}, RadiumEnhancer.contextTypes, {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n });\n\n RadiumEnhancer.childContextTypes = _extends({}, RadiumEnhancer.childContextTypes, {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n });\n\n return RadiumEnhancer;\n}","var getRadiumStyleState = function getRadiumStyleState(component) {\n return component._lastRadiumState || component.state && component.state._radiumStyleState || {};\n};\n\nexport default getRadiumStyleState;","var getStateKey = function getStateKey(renderedElement) {\n return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key;\n};\n\nexport default getStateKey;","import cleanStateKey from './clean-state-key';\n\nvar getState = function getState(state, elementKey, value) {\n var key = cleanStateKey(elementKey);\n\n return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value];\n};\n\nexport default getState;","\n\n// a simple djb2 hash based on hash-string:\n// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js\n// returns a hex-encoded hash\nexport default function hash(text) {\n if (!text) {\n return '';\n }\n\n var hashValue = 5381;\n var index = text.length - 1;\n\n while (index) {\n hashValue = hashValue * 33 ^ text.charCodeAt(index);\n index -= 1;\n }\n\n return (hashValue >>> 0).toString(16);\n}","import Enhancer from './enhancer';\nimport Plugins from './plugins';\nimport Style from './components/style';\nimport StyleRoot from './components/style-root';\nimport getState from './get-state';\nimport keyframes from './keyframes';\nimport resolveStyles from './resolve-styles';\n\nfunction Radium(ComposedComponent) {\n return Enhancer(ComposedComponent);\n}\n\n// Legacy object support.\n//\n// Normally it would be disfavored to attach these to the `Radium` object\n// because it defeats tree-shaking, using instead the ESM exports. But,\n// the `Radium` `Enhancer` uses **all** of these, so there's no extra \"cost\"\n// to them being explicitly on the `Radium` object.\nRadium.Plugins = Plugins;\nRadium.Style = Style;\nRadium.StyleRoot = StyleRoot;\nRadium.getState = getState;\nRadium.keyframes = keyframes;\n\nif (process.env.NODE_ENV !== 'production') {\n Radium.TestMode = {\n clearState: resolveStyles.__clearStateForTests,\n disable: resolveStyles.__setTestMode.bind(null, false),\n enable: resolveStyles.__setTestMode.bind(null, true)\n };\n}\n\nexport default Radium;\n\n// ESM re-exports\nexport { Plugins, Style, StyleRoot, getState, keyframes };","import cssRuleSetToString from './css-rule-set-to-string';\nimport hash from './hash';\nimport { getPrefixedKeyframes } from './prefixer';\n\nexport default function keyframes(keyframeRules, name) {\n return {\n __radiumKeyframes: true,\n __process: function __process(userAgent) {\n var keyframesPrefixed = getPrefixedKeyframes(userAgent);\n var rules = Object.keys(keyframeRules).map(function (percentage) {\n return cssRuleSetToString(percentage, keyframeRules[percentage], userAgent);\n }).join('\\n');\n var animationName = (name ? name + '-' : '') + 'radium-animation-' + hash(rules);\n var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\\n' + rules + '\\n}\\n';\n return { css: css, animationName: animationName };\n }\n };\n}","export default function mapObject(object, mapper) {\n return Object.keys(object).reduce(function (result, key) {\n result[key] = mapper(object[key], key);\n return result;\n }, {});\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport function isNestedStyle(value) {\n // Don't merge objects overriding toString, since they should be converted\n // to string values.\n return value && value.constructor === Object && value.toString === Object.prototype.toString;\n}\n\n// Merge style objects. Deep merge plain object values.\nexport function mergeStyles(styles) {\n var result = {};\n\n styles.forEach(function (style) {\n if (!style || (typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') {\n return;\n }\n\n if (Array.isArray(style)) {\n style = mergeStyles(style);\n }\n\n Object.keys(style).forEach(function (key) {\n // Simple case, nothing nested\n if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) {\n result[key] = style[key];\n return;\n }\n\n // If nested media, don't merge the nested styles, append a space to the\n // end (benign when converted to CSS). This way we don't end up merging\n // media queries that appear later in the chain with those that appear\n // earlier.\n if (key.indexOf('@media') === 0) {\n var newKey = key;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n newKey += ' ';\n if (!result[newKey]) {\n result[newKey] = style[key];\n return;\n }\n }\n }\n\n // Merge all other nested styles recursively\n result[key] = mergeStyles([result[key], style[key]]);\n });\n });\n\n return result;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _checkProps = function checkProps() {};\n\nif (process.env.NODE_ENV !== 'production') {\n // Warn if you use longhand and shorthand properties in the same style\n // object.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n\n var shorthandPropertyExpansions = {\n background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'],\n border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction']\n };\n\n _checkProps = function checkProps(config) {\n var componentName = config.componentName,\n style = config.style;\n\n if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object' || !style) {\n return;\n }\n\n var styleKeys = Object.keys(style);\n styleKeys.forEach(function (styleKey) {\n if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) {\n return styleKeys.indexOf(sp) !== -1;\n })) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable no-console */\n console.warn('Radium: property \"' + styleKey + '\" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.');\n /* eslint-enable no-console */\n }\n }\n });\n\n styleKeys.forEach(function (k) {\n return _checkProps(_extends({}, config, { style: style[k] }));\n });\n return;\n };\n}\n\nexport default _checkProps;","\n\nimport checkPropsPlugin from './check-props-plugin';\n/* eslint-disable block-scoped-const */\n\nimport keyframesPlugin from './keyframes-plugin';\nimport mergeStyleArrayPlugin from './merge-style-array-plugin';\nimport prefixPlugin from './prefix-plugin';\nimport removeNestedStylesPlugin from './remove-nested-styles-plugin';\nimport resolveInteractionStylesPlugin from './resolve-interaction-styles-plugin';\nimport resolveMediaQueriesPlugin from './resolve-media-queries-plugin';\nimport visitedPlugin from './visited-plugin';\n\nexport default {\n checkProps: checkPropsPlugin,\n keyframes: keyframesPlugin,\n mergeStyleArray: mergeStyleArrayPlugin,\n prefix: prefixPlugin,\n removeNestedStyles: removeNestedStylesPlugin,\n resolveInteractionStyles: resolveInteractionStylesPlugin,\n resolveMediaQueries: resolveMediaQueriesPlugin,\n visited: visitedPlugin\n};","export default function keyframesPlugin(_ref // eslint-disable-line no-shadow\n) {\n var addCSS = _ref.addCSS,\n config = _ref.config,\n style = _ref.style;\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (key === 'animationName' && value && value.__radiumKeyframes) {\n var keyframesValue = value;\n\n var _keyframesValue$__pro = keyframesValue.__process(config.userAgent),\n animationName = _keyframesValue$__pro.animationName,\n css = _keyframesValue$__pro.css;\n\n addCSS(css);\n value = animationName;\n }\n\n newStyleInProgress[key] = value;\n return newStyleInProgress;\n }, {});\n return { style: newStyle };\n}","\n\n// Convenient syntax for multiple styles: `style={[style1, style2, etc]}`\n// Ignores non-objects, so you can do `this.state.isCool && styles.cool`.\nvar mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) {\n var style = _ref.style,\n mergeStyles = _ref.mergeStyles;\n\n // eslint-disable-line no-shadow\n var newStyle = Array.isArray(style) ? mergeStyles(style) : style;\n return { style: newStyle };\n};\n\nexport default mergeStyleArrayPlugin;","var _callbacks = [];\nvar _mouseUpListenerIsActive = false;\n\nfunction _handleMouseUp() {\n _callbacks.forEach(function (callback) {\n callback();\n });\n}\n\nvar subscribe = function subscribe(callback) {\n if (_callbacks.indexOf(callback) === -1) {\n _callbacks.push(callback);\n }\n\n if (!_mouseUpListenerIsActive) {\n window.addEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = true;\n }\n\n return {\n remove: function remove() {\n var index = _callbacks.indexOf(callback);\n _callbacks.splice(index, 1);\n\n if (_callbacks.length === 0 && _mouseUpListenerIsActive) {\n window.removeEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = false;\n }\n }\n };\n};\n\nexport default {\n subscribe: subscribe,\n __triggerForTests: _handleMouseUp\n};","\n\nimport { getPrefixedStyle } from '../prefixer';\n\nexport default function prefixPlugin(_ref // eslint-disable-line no-shadow\n) {\n var config = _ref.config,\n style = _ref.style;\n\n var newStyle = getPrefixedStyle(style, config.userAgent);\n return { style: newStyle };\n}","\n\nexport default function removeNestedStyles(_ref) {\n var isNestedStyle = _ref.isNestedStyle,\n style = _ref.style;\n\n // eslint-disable-line no-shadow\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (!isNestedStyle(value)) {\n newStyleInProgress[key] = value;\n }\n return newStyleInProgress;\n }, {});\n\n return {\n style: newStyle\n };\n}","\n\nimport MouseUpListener from './mouse-up-listener';\n\nvar _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) {\n return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus';\n};\n\nvar resolveInteractionStyles = function resolveInteractionStyles(config) {\n var ExecutionEnvironment = config.ExecutionEnvironment,\n getComponentField = config.getComponentField,\n getState = config.getState,\n mergeStyles = config.mergeStyles,\n props = config.props,\n setState = config.setState,\n style = config.style;\n\n\n var newComponentFields = {};\n var newProps = {};\n\n // Only add handlers if necessary\n if (style[':hover']) {\n // Always call the existing handler if one is already defined.\n // This code, and the very similar ones below, could be abstracted a bit\n // more, but it hurts readability IMO.\n var existingOnMouseEnter = props.onMouseEnter;\n newProps.onMouseEnter = function (e) {\n existingOnMouseEnter && existingOnMouseEnter(e);\n setState(':hover', true);\n };\n\n var existingOnMouseLeave = props.onMouseLeave;\n newProps.onMouseLeave = function (e) {\n existingOnMouseLeave && existingOnMouseLeave(e);\n setState(':hover', false);\n };\n }\n\n if (style[':active']) {\n var existingOnMouseDown = props.onMouseDown;\n newProps.onMouseDown = function (e) {\n existingOnMouseDown && existingOnMouseDown(e);\n newComponentFields._lastMouseDown = Date.now();\n setState(':active', 'viamousedown');\n };\n\n var existingOnKeyDown = props.onKeyDown;\n newProps.onKeyDown = function (e) {\n existingOnKeyDown && existingOnKeyDown(e);\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', 'viakeydown');\n }\n };\n\n var existingOnKeyUp = props.onKeyUp;\n newProps.onKeyUp = function (e) {\n existingOnKeyUp && existingOnKeyUp(e);\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', false);\n }\n };\n }\n\n if (style[':focus']) {\n var existingOnFocus = props.onFocus;\n newProps.onFocus = function (e) {\n existingOnFocus && existingOnFocus(e);\n setState(':focus', true);\n };\n\n var existingOnBlur = props.onBlur;\n newProps.onBlur = function (e) {\n existingOnBlur && existingOnBlur(e);\n setState(':focus', false);\n };\n }\n\n if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) {\n newComponentFields._radiumMouseUpListener = MouseUpListener.subscribe(function () {\n Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) {\n if (getState(':active', key) === 'viamousedown') {\n setState(':active', false, key);\n }\n });\n });\n }\n\n // Merge the styles in the order they were defined\n var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) {\n return _isInteractiveStyleField(name) && getState(name);\n }).map(function (name) {\n return style[name];\n });\n\n var newStyle = mergeStyles([style].concat(interactionStyles));\n\n // Remove interactive styles\n newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) {\n if (!_isInteractiveStyleField(name) && name !== ':disabled') {\n styleWithoutInteractions[name] = newStyle[name];\n }\n return styleWithoutInteractions;\n }, {});\n\n return {\n componentFields: newComponentFields,\n props: newProps,\n style: newStyle\n };\n};\n\nexport default resolveInteractionStyles;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _windowMatchMedia = void 0;\nfunction _getWindowMatchMedia(ExecutionEnvironment) {\n if (_windowMatchMedia === undefined) {\n _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) {\n return window.matchMedia(mediaQueryString);\n } || null;\n }\n return _windowMatchMedia;\n}\n\nfunction _filterObject(obj, predicate) {\n return Object.keys(obj).filter(function (key) {\n return predicate(obj[key], key);\n }).reduce(function (result, key) {\n result[key] = obj[key];\n return result;\n }, {});\n}\n\nfunction _removeMediaQueries(style) {\n return Object.keys(style).reduce(function (styleWithoutMedia, key) {\n if (key.indexOf('@media') !== 0) {\n styleWithoutMedia[key] = style[key];\n }\n return styleWithoutMedia;\n }, {});\n}\n\nfunction _topLevelRulesToCSS(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n isNestedStyle = _ref.isNestedStyle,\n style = _ref.style,\n userAgent = _ref.userAgent;\n\n var className = '';\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) {\n return !isNestedStyle(value);\n }));\n\n if (!Object.keys(topLevelRules).length) {\n return;\n }\n\n var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent);\n\n // CSS classes cannot start with a number\n var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS);\n var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}';\n\n addCSS(css);\n\n className += (className ? ' ' : '') + mediaQueryClassName;\n });\n return className;\n}\n\nfunction _subscribeToMediaQuery(_ref2) {\n var listener = _ref2.listener,\n listenersByQuery = _ref2.listenersByQuery,\n matchMedia = _ref2.matchMedia,\n mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery,\n query = _ref2.query;\n\n query = query.replace('@media ', '');\n\n var mql = mediaQueryListsByQuery[query];\n if (!mql && matchMedia) {\n mediaQueryListsByQuery[query] = mql = matchMedia(query);\n }\n\n if (!listenersByQuery || !listenersByQuery[query]) {\n mql.addListener(listener);\n\n listenersByQuery[query] = {\n remove: function remove() {\n mql.removeListener(listener);\n }\n };\n }\n return mql;\n}\n\nexport default function resolveMediaQueries(_ref3) {\n var ExecutionEnvironment = _ref3.ExecutionEnvironment,\n addCSS = _ref3.addCSS,\n appendImportantToEachValue = _ref3.appendImportantToEachValue,\n config = _ref3.config,\n cssRuleSetToString = _ref3.cssRuleSetToString,\n getComponentField = _ref3.getComponentField,\n getGlobalState = _ref3.getGlobalState,\n hash = _ref3.hash,\n isNestedStyle = _ref3.isNestedStyle,\n mergeStyles = _ref3.mergeStyles,\n props = _ref3.props,\n setState = _ref3.setState,\n style = _ref3.style;\n\n // eslint-disable-line no-shadow\n var newStyle = _removeMediaQueries(style);\n var mediaQueryClassNames = _topLevelRulesToCSS({\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n cssRuleSetToString: cssRuleSetToString,\n hash: hash,\n isNestedStyle: isNestedStyle,\n style: style,\n userAgent: config.userAgent\n });\n\n var newProps = mediaQueryClassNames ? {\n className: mediaQueryClassNames + (props.className ? ' ' + props.className : '')\n } : null;\n\n var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment);\n\n if (!matchMedia) {\n return {\n props: newProps,\n style: newStyle\n };\n }\n\n var listenersByQuery = _extends({}, getComponentField('_radiumMediaQueryListenersByQuery'));\n var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {};\n\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var nestedRules = _filterObject(style[query], isNestedStyle);\n\n if (!Object.keys(nestedRules).length) {\n return;\n }\n\n var mql = _subscribeToMediaQuery({\n listener: function listener() {\n return setState(query, mql.matches, '_all');\n },\n listenersByQuery: listenersByQuery,\n matchMedia: matchMedia,\n mediaQueryListsByQuery: mediaQueryListsByQuery,\n query: query\n });\n\n // Apply media query states\n if (mql.matches) {\n newStyle = mergeStyles([newStyle, nestedRules]);\n }\n });\n\n return {\n componentFields: {\n _radiumMediaQueryListenersByQuery: listenersByQuery\n },\n globalState: { mediaQueryListsByQuery: mediaQueryListsByQuery },\n props: newProps,\n style: newStyle\n };\n}","\n\nexport default function visited(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n config = _ref.config,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n props = _ref.props,\n style = _ref.style;\n\n // eslint-disable-line no-shadow\n var className = props.className;\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (key === ':visited') {\n value = appendImportantToEachValue(value);\n var ruleCSS = cssRuleSetToString('', value, config.userAgent);\n var visitedClassName = 'rad-' + hash(ruleCSS);\n var css = '.' + visitedClassName + ':visited' + ruleCSS;\n\n addCSS(css);\n className = (className ? className + ' ' : '') + visitedClassName;\n } else {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n\n return {\n props: className === props.className ? null : { className: className },\n style: newStyle\n };\n}","import calc from 'inline-style-prefixer/dynamic/plugins/calc';\nimport crossFade from 'inline-style-prefixer/dynamic/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/dynamic/plugins/cursor';\nimport filter from 'inline-style-prefixer/dynamic/plugins/filter';\nimport flex from 'inline-style-prefixer/dynamic/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/dynamic/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/dynamic/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/dynamic/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/dynamic/plugins/imageSet';\nimport position from 'inline-style-prefixer/dynamic/plugins/position';\nimport sizing from 'inline-style-prefixer/dynamic/plugins/sizing';\nimport transition from 'inline-style-prefixer/dynamic/plugins/transition';\n\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n chrome: {\n transform: 35,\n transformOrigin: 35,\n transformOriginX: 35,\n transformOriginY: 35,\n backfaceVisibility: 35,\n perspective: 35,\n perspectiveOrigin: 35,\n transformStyle: 35,\n transformOriginZ: 35,\n animation: 42,\n animationDelay: 42,\n animationDirection: 42,\n animationFillMode: 42,\n animationDuration: 42,\n animationIterationCount: 42,\n animationName: 42,\n animationPlayState: 42,\n animationTimingFunction: 42,\n appearance: 66,\n userSelect: 53,\n fontKerning: 32,\n textEmphasisPosition: 66,\n textEmphasis: 66,\n textEmphasisStyle: 66,\n textEmphasisColor: 66,\n boxDecorationBreak: 66,\n clipPath: 54,\n maskImage: 66,\n maskMode: 66,\n maskRepeat: 66,\n maskPosition: 66,\n maskClip: 66,\n maskOrigin: 66,\n maskSize: 66,\n maskComposite: 66,\n mask: 66,\n maskBorderSource: 66,\n maskBorderMode: 66,\n maskBorderSlice: 66,\n maskBorderWidth: 66,\n maskBorderOutset: 66,\n maskBorderRepeat: 66,\n maskBorder: 66,\n maskType: 66,\n textDecorationStyle: 56,\n textDecorationSkip: 56,\n textDecorationLine: 56,\n textDecorationColor: 56,\n filter: 52,\n fontFeatureSettings: 47,\n breakAfter: 49,\n breakBefore: 49,\n breakInside: 49,\n columnCount: 49,\n columnFill: 49,\n columnGap: 49,\n columnRule: 49,\n columnRuleColor: 49,\n columnRuleStyle: 49,\n columnRuleWidth: 49,\n columns: 49,\n columnSpan: 49,\n columnWidth: 49,\n writingMode: 47\n },\n safari: {\n flex: 8,\n flexBasis: 8,\n flexDirection: 8,\n flexGrow: 8,\n flexFlow: 8,\n flexShrink: 8,\n flexWrap: 8,\n alignContent: 8,\n alignItems: 8,\n alignSelf: 8,\n justifyContent: 8,\n order: 8,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8,\n transformOrigin: 8,\n transformOriginX: 8,\n transformOriginY: 8,\n backfaceVisibility: 8,\n perspective: 8,\n perspectiveOrigin: 8,\n transformStyle: 8,\n transformOriginZ: 8,\n animation: 8,\n animationDelay: 8,\n animationDirection: 8,\n animationFillMode: 8,\n animationDuration: 8,\n animationIterationCount: 8,\n animationName: 8,\n animationPlayState: 8,\n animationTimingFunction: 8,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 9,\n scrollSnapType: 10.1,\n scrollSnapPointsX: 10.1,\n scrollSnapPointsY: 10.1,\n scrollSnapDestination: 10.1,\n scrollSnapCoordinate: 10.1,\n textEmphasisPosition: 7,\n textEmphasis: 7,\n textEmphasisStyle: 7,\n textEmphasisColor: 7,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8,\n breakAfter: 8,\n breakInside: 8,\n regionFragment: 11,\n columnCount: 8,\n columnFill: 8,\n columnGap: 8,\n columnRule: 8,\n columnRuleColor: 8,\n columnRuleStyle: 8,\n columnRuleWidth: 8,\n columns: 8,\n columnSpan: 8,\n columnWidth: 8,\n writingMode: 10.1\n },\n firefox: {\n appearance: 60,\n userSelect: 60,\n boxSizing: 28,\n textAlignLast: 48,\n textDecorationStyle: 35,\n textDecorationSkip: 35,\n textDecorationLine: 35,\n textDecorationColor: 35,\n tabSize: 60,\n hyphens: 42,\n fontFeatureSettings: 33,\n breakAfter: 51,\n breakBefore: 51,\n breakInside: 51,\n columnCount: 51,\n columnFill: 51,\n columnGap: 51,\n columnRule: 51,\n columnRuleColor: 51,\n columnRuleStyle: 51,\n columnRuleWidth: 51,\n columns: 51,\n columnSpan: 51,\n columnWidth: 51\n },\n opera: {\n flex: 16,\n flexBasis: 16,\n flexDirection: 16,\n flexGrow: 16,\n flexFlow: 16,\n flexShrink: 16,\n flexWrap: 16,\n alignContent: 16,\n alignItems: 16,\n alignSelf: 16,\n justifyContent: 16,\n order: 16,\n transform: 22,\n transformOrigin: 22,\n transformOriginX: 22,\n transformOriginY: 22,\n backfaceVisibility: 22,\n perspective: 22,\n perspectiveOrigin: 22,\n transformStyle: 22,\n transformOriginZ: 22,\n animation: 29,\n animationDelay: 29,\n animationDirection: 29,\n animationFillMode: 29,\n animationDuration: 29,\n animationIterationCount: 29,\n animationName: 29,\n animationPlayState: 29,\n animationTimingFunction: 29,\n appearance: 50,\n userSelect: 40,\n fontKerning: 19,\n textEmphasisPosition: 50,\n textEmphasis: 50,\n textEmphasisStyle: 50,\n textEmphasisColor: 50,\n boxDecorationBreak: 50,\n clipPath: 41,\n maskImage: 50,\n maskMode: 50,\n maskRepeat: 50,\n maskPosition: 50,\n maskClip: 50,\n maskOrigin: 50,\n maskSize: 50,\n maskComposite: 50,\n mask: 50,\n maskBorderSource: 50,\n maskBorderMode: 50,\n maskBorderSlice: 50,\n maskBorderWidth: 50,\n maskBorderOutset: 50,\n maskBorderRepeat: 50,\n maskBorder: 50,\n maskType: 50,\n textDecorationStyle: 43,\n textDecorationSkip: 43,\n textDecorationLine: 43,\n textDecorationColor: 43,\n filter: 39,\n fontFeatureSettings: 34,\n breakAfter: 36,\n breakBefore: 36,\n breakInside: 36,\n columnCount: 36,\n columnFill: 36,\n columnGap: 36,\n columnRule: 36,\n columnRuleColor: 36,\n columnRuleStyle: 36,\n columnRuleWidth: 36,\n columns: 36,\n columnSpan: 36,\n columnWidth: 36,\n writingMode: 34\n },\n ie: {\n flex: 10,\n flexDirection: 10,\n flexFlow: 10,\n flexWrap: 10,\n transform: 9,\n transformOrigin: 9,\n transformOriginX: 9,\n transformOriginY: 9,\n userSelect: 11,\n wrapFlow: 11,\n wrapThrough: 11,\n wrapMargin: 11,\n scrollSnapType: 11,\n scrollSnapPointsX: 11,\n scrollSnapPointsY: 11,\n scrollSnapDestination: 11,\n scrollSnapCoordinate: 11,\n touchAction: 10,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 11,\n breakAfter: 11,\n breakInside: 11,\n regionFragment: 11,\n gridTemplateColumns: 11,\n gridTemplateRows: 11,\n gridTemplateAreas: 11,\n gridTemplate: 11,\n gridAutoColumns: 11,\n gridAutoRows: 11,\n gridAutoFlow: 11,\n grid: 11,\n gridRowStart: 11,\n gridColumnStart: 11,\n gridRowEnd: 11,\n gridRow: 11,\n gridColumn: 11,\n gridColumnEnd: 11,\n gridColumnGap: 11,\n gridRowGap: 11,\n gridArea: 11,\n gridGap: 11,\n textSizeAdjust: 11,\n writingMode: 11\n },\n edge: {\n userSelect: 17,\n wrapFlow: 17,\n wrapThrough: 17,\n wrapMargin: 17,\n scrollSnapType: 17,\n scrollSnapPointsX: 17,\n scrollSnapPointsY: 17,\n scrollSnapDestination: 17,\n scrollSnapCoordinate: 17,\n hyphens: 17,\n flowInto: 17,\n flowFrom: 17,\n breakBefore: 17,\n breakAfter: 17,\n breakInside: 17,\n regionFragment: 17,\n gridTemplateColumns: 15,\n gridTemplateRows: 15,\n gridTemplateAreas: 15,\n gridTemplate: 15,\n gridAutoColumns: 15,\n gridAutoRows: 15,\n gridAutoFlow: 15,\n grid: 15,\n gridRowStart: 15,\n gridColumnStart: 15,\n gridRowEnd: 15,\n gridRow: 15,\n gridColumn: 15,\n gridColumnEnd: 15,\n gridColumnGap: 15,\n gridRowGap: 15,\n gridArea: 15,\n gridGap: 15\n },\n ios_saf: {\n flex: 8.1,\n flexBasis: 8.1,\n flexDirection: 8.1,\n flexGrow: 8.1,\n flexFlow: 8.1,\n flexShrink: 8.1,\n flexWrap: 8.1,\n alignContent: 8.1,\n alignItems: 8.1,\n alignSelf: 8.1,\n justifyContent: 8.1,\n order: 8.1,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8.1,\n transformOrigin: 8.1,\n transformOriginX: 8.1,\n transformOriginY: 8.1,\n backfaceVisibility: 8.1,\n perspective: 8.1,\n perspectiveOrigin: 8.1,\n transformStyle: 8.1,\n transformOriginZ: 8.1,\n animation: 8.1,\n animationDelay: 8.1,\n animationDirection: 8.1,\n animationFillMode: 8.1,\n animationDuration: 8.1,\n animationIterationCount: 8.1,\n animationName: 8.1,\n animationPlayState: 8.1,\n animationTimingFunction: 8.1,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 11,\n scrollSnapType: 10.3,\n scrollSnapPointsX: 10.3,\n scrollSnapPointsY: 10.3,\n scrollSnapDestination: 10.3,\n scrollSnapCoordinate: 10.3,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textSizeAdjust: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8.1,\n breakAfter: 8.1,\n breakInside: 8.1,\n regionFragment: 11,\n columnCount: 8.1,\n columnFill: 8.1,\n columnGap: 8.1,\n columnRule: 8.1,\n columnRuleColor: 8.1,\n columnRuleStyle: 8.1,\n columnRuleWidth: 8.1,\n columns: 8.1,\n columnSpan: 8.1,\n columnWidth: 8.1,\n writingMode: 10.3\n },\n android: {\n borderImage: 4.2,\n borderImageOutset: 4.2,\n borderImageRepeat: 4.2,\n borderImageSlice: 4.2,\n borderImageSource: 4.2,\n borderImageWidth: 4.2,\n flex: 4.2,\n flexBasis: 4.2,\n flexDirection: 4.2,\n flexGrow: 4.2,\n flexFlow: 4.2,\n flexShrink: 4.2,\n flexWrap: 4.2,\n alignContent: 4.2,\n alignItems: 4.2,\n alignSelf: 4.2,\n justifyContent: 4.2,\n order: 4.2,\n transition: 4.2,\n transitionDelay: 4.2,\n transitionDuration: 4.2,\n transitionProperty: 4.2,\n transitionTimingFunction: 4.2,\n transform: 4.4,\n transformOrigin: 4.4,\n transformOriginX: 4.4,\n transformOriginY: 4.4,\n backfaceVisibility: 4.4,\n perspective: 4.4,\n perspectiveOrigin: 4.4,\n transformStyle: 4.4,\n transformOriginZ: 4.4,\n animation: 4.4,\n animationDelay: 4.4,\n animationDirection: 4.4,\n animationFillMode: 4.4,\n animationDuration: 4.4,\n animationIterationCount: 4.4,\n animationName: 4.4,\n animationPlayState: 4.4,\n animationTimingFunction: 4.4,\n appearance: 62,\n userSelect: 4.4,\n fontKerning: 4.4,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n clipPath: 4.4,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62,\n filter: 4.4,\n fontFeatureSettings: 4.4,\n breakAfter: 4.4,\n breakBefore: 4.4,\n breakInside: 4.4,\n columnCount: 4.4,\n columnFill: 4.4,\n columnGap: 4.4,\n columnRule: 4.4,\n columnRuleColor: 4.4,\n columnRuleStyle: 4.4,\n columnRuleWidth: 4.4,\n columns: 4.4,\n columnSpan: 4.4,\n columnWidth: 4.4,\n writingMode: 4.4\n },\n and_chr: {\n appearance: 62,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62\n },\n and_uc: {\n flex: 11.4,\n flexBasis: 11.4,\n flexDirection: 11.4,\n flexGrow: 11.4,\n flexFlow: 11.4,\n flexShrink: 11.4,\n flexWrap: 11.4,\n alignContent: 11.4,\n alignItems: 11.4,\n alignSelf: 11.4,\n justifyContent: 11.4,\n order: 11.4,\n transform: 11.4,\n transformOrigin: 11.4,\n transformOriginX: 11.4,\n transformOriginY: 11.4,\n backfaceVisibility: 11.4,\n perspective: 11.4,\n perspectiveOrigin: 11.4,\n transformStyle: 11.4,\n transformOriginZ: 11.4,\n animation: 11.4,\n animationDelay: 11.4,\n animationDirection: 11.4,\n animationFillMode: 11.4,\n animationDuration: 11.4,\n animationIterationCount: 11.4,\n animationName: 11.4,\n animationPlayState: 11.4,\n animationTimingFunction: 11.4,\n appearance: 11.4,\n userSelect: 11.4,\n textEmphasisPosition: 11.4,\n textEmphasis: 11.4,\n textEmphasisStyle: 11.4,\n textEmphasisColor: 11.4,\n clipPath: 11.4,\n maskImage: 11.4,\n maskMode: 11.4,\n maskRepeat: 11.4,\n maskPosition: 11.4,\n maskClip: 11.4,\n maskOrigin: 11.4,\n maskSize: 11.4,\n maskComposite: 11.4,\n mask: 11.4,\n maskBorderSource: 11.4,\n maskBorderMode: 11.4,\n maskBorderSlice: 11.4,\n maskBorderWidth: 11.4,\n maskBorderOutset: 11.4,\n maskBorderRepeat: 11.4,\n maskBorder: 11.4,\n maskType: 11.4,\n textSizeAdjust: 11.4,\n filter: 11.4,\n hyphens: 11.4,\n fontFeatureSettings: 11.4,\n breakAfter: 11.4,\n breakBefore: 11.4,\n breakInside: 11.4,\n columnCount: 11.4,\n columnFill: 11.4,\n columnGap: 11.4,\n columnRule: 11.4,\n columnRuleColor: 11.4,\n columnRuleStyle: 11.4,\n columnRuleWidth: 11.4,\n columns: 11.4,\n columnSpan: 11.4,\n columnWidth: 11.4,\n writingMode: 11.4\n },\n op_mini: {}\n }\n};","import calc from 'inline-style-prefixer/static/plugins/calc';\nimport crossFade from 'inline-style-prefixer/static/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/static/plugins/cursor';\nimport filter from 'inline-style-prefixer/static/plugins/filter';\nimport flex from 'inline-style-prefixer/static/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/static/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/static/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/static/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/static/plugins/imageSet';\nimport position from 'inline-style-prefixer/static/plugins/position';\nimport sizing from 'inline-style-prefixer/static/plugins/sizing';\nimport transition from 'inline-style-prefixer/static/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\n\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n transform: wms,\n transformOrigin: wms,\n transformOriginX: wms,\n transformOriginY: wms,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n fontKerning: w,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: wm,\n textDecorationSkip: wm,\n textDecorationLine: wm,\n textDecorationColor: wm,\n filter: w,\n fontFeatureSettings: wm,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w,\n backdropFilter: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n boxSizing: m,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n gridTemplateColumns: ms,\n gridTemplateRows: ms,\n gridTemplateAreas: ms,\n gridTemplate: ms,\n gridAutoColumns: ms,\n gridAutoRows: ms,\n gridAutoFlow: ms,\n grid: ms,\n gridRowStart: ms,\n gridColumnStart: ms,\n gridRowEnd: ms,\n gridRow: ms,\n gridColumn: ms,\n gridColumnEnd: ms,\n gridColumnGap: ms,\n gridRowGap: ms,\n gridArea: ms,\n gridGap: ms,\n textSizeAdjust: wms,\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w\n }\n};","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\n\nimport createStaticPrefixer from 'inline-style-prefixer/static/createPrefixer';\nimport createDynamicPrefixer from 'inline-style-prefixer/dynamic/createPrefixer';\nimport ExecutionEnvironment from 'exenv';\n\nimport staticData from './prefix-data/static';\nimport dynamicData from './prefix-data/dynamic';\n\nimport { camelCaseToDashCase } from './camel-case-props-to-dash-case';\n\nvar prefixAll = createStaticPrefixer(staticData);\nvar InlineStylePrefixer = createDynamicPrefixer(dynamicData, prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n}\n\n// Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n if (Array.isArray(val)) {\n if (ExecutionEnvironment.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(';' + camelCaseToDashCase(key) + ':');\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\nvar _lastUserAgent = void 0;\nvar _cachedPrefixer = void 0;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (process.env.NODE_ENV === 'test' || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({ userAgent: actualUserAgent });\n }\n _lastUserAgent = actualUserAgent;\n }\n\n return _cachedPrefixer;\n}\n\nexport function getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes || 'keyframes';\n}\n\n// Returns a new style object with vendor prefixes added to property names and\n// values.\nexport function getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport appendImportantToEachValue from './append-important-to-each-value';\n\nimport cssRuleSetToString from './css-rule-set-to-string';\nimport getState from './get-state';\nimport getStateKey from './get-state-key';\nimport cleanStateKey from './clean-state-key';\nimport getRadiumStyleState from './get-radium-style-state';\nimport hash from './hash';\nimport { isNestedStyle, mergeStyles } from './merge-styles';\nimport Plugins from './plugins/';\n\nimport ExecutionEnvironment from 'exenv';\nimport React from 'react';\n\nvar DEFAULT_CONFIG = {\n plugins: [Plugins.mergeStyleArray, Plugins.checkProps, Plugins.resolveMediaQueries, Plugins.resolveInteractionStyles, Plugins.keyframes, Plugins.visited, Plugins.removeNestedStyles, Plugins.prefix, Plugins.checkProps]\n};\n\n// Gross\nvar globalState = {};\n\n// Declare early for recursive helpers.\nvar resolveStyles = null;\n\nvar _shouldResolveStyles = function _shouldResolveStyles(component) {\n return component.type && !component.type._isRadiumEnhanced;\n};\n\nvar _resolveChildren = function _resolveChildren(_ref) {\n var children = _ref.children,\n component = _ref.component,\n config = _ref.config,\n existingKeyMap = _ref.existingKeyMap,\n extraStateKeyMap = _ref.extraStateKeyMap;\n\n if (!children) {\n return children;\n }\n\n var childrenType = typeof children === 'undefined' ? 'undefined' : _typeof(children);\n\n if (childrenType === 'string' || childrenType === 'number') {\n // Don't do anything with a single primitive child\n return children;\n }\n\n if (childrenType === 'function') {\n // Wrap the function, resolving styles on the result\n return function () {\n var result = children.apply(this, arguments);\n\n if (React.isValidElement(result)) {\n var _key = getStateKey(result);\n delete extraStateKeyMap[_key];\n\n var _resolveStyles = resolveStyles(component, result, config, existingKeyMap, true, extraStateKeyMap),\n _element = _resolveStyles.element;\n\n return _element;\n }\n\n return result;\n };\n }\n\n if (React.Children.count(children) === 1 && children.type) {\n // If a React Element is an only child, don't wrap it in an array for\n // React.Children.map() for React.Children.only() compatibility.\n var onlyChild = React.Children.only(children);\n var _key2 = getStateKey(onlyChild);\n delete extraStateKeyMap[_key2];\n\n var _resolveStyles2 = resolveStyles(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap),\n _element2 = _resolveStyles2.element;\n\n return _element2;\n }\n\n return React.Children.map(children, function (child) {\n if (React.isValidElement(child)) {\n var _key3 = getStateKey(child);\n delete extraStateKeyMap[_key3];\n\n var _resolveStyles3 = resolveStyles(component, child, config, existingKeyMap, true, extraStateKeyMap),\n _element3 = _resolveStyles3.element;\n\n return _element3;\n }\n\n return child;\n });\n};\n\n// Recurse over props, just like children\nvar _resolveProps = function _resolveProps(_ref2) {\n var component = _ref2.component,\n config = _ref2.config,\n existingKeyMap = _ref2.existingKeyMap,\n props = _ref2.props,\n extraStateKeyMap = _ref2.extraStateKeyMap;\n\n var newProps = props;\n\n Object.keys(props).forEach(function (prop) {\n // We already recurse over children above\n if (prop === 'children') {\n return;\n }\n\n var propValue = props[prop];\n if (React.isValidElement(propValue)) {\n var _key4 = getStateKey(propValue);\n delete extraStateKeyMap[_key4];\n newProps = _extends({}, newProps);\n\n var _resolveStyles4 = resolveStyles(component, propValue, config, existingKeyMap, true, extraStateKeyMap),\n _element4 = _resolveStyles4.element;\n\n newProps[prop] = _element4;\n }\n });\n\n return newProps;\n};\n\nvar _buildGetKey = function _buildGetKey(_ref3) {\n var componentName = _ref3.componentName,\n existingKeyMap = _ref3.existingKeyMap,\n renderedElement = _ref3.renderedElement;\n\n // We need a unique key to correlate state changes due to user interaction\n // with the rendered element, so we know to apply the proper interactive\n // styles.\n var originalKey = getStateKey(renderedElement);\n var key = cleanStateKey(originalKey);\n\n var alreadyGotKey = false;\n var getKey = function getKey() {\n if (alreadyGotKey) {\n return key;\n }\n\n alreadyGotKey = true;\n\n if (existingKeyMap[key]) {\n var elementName = void 0;\n if (typeof renderedElement.type === 'string') {\n elementName = renderedElement.type;\n } else if (renderedElement.type.constructor) {\n elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name;\n }\n\n throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key \"' + originalKey + '\" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: \"' + componentName + '\". ' + (elementName ? 'Element: \"' + elementName + '\".' : ''));\n }\n\n existingKeyMap[key] = true;\n\n return key;\n };\n\n return getKey;\n};\n\nvar _setStyleState = function _setStyleState(component, key, stateKey, value) {\n if (!component._radiumIsMounted) {\n return;\n }\n\n var existing = getRadiumStyleState(component);\n var state = { _radiumStyleState: _extends({}, existing) };\n\n state._radiumStyleState[key] = _extends({}, state._radiumStyleState[key]);\n state._radiumStyleState[key][stateKey] = value;\n\n component._lastRadiumState = state._radiumStyleState;\n component.setState(state);\n};\n\nvar _runPlugins = function _runPlugins(_ref4) {\n var component = _ref4.component,\n config = _ref4.config,\n existingKeyMap = _ref4.existingKeyMap,\n props = _ref4.props,\n renderedElement = _ref4.renderedElement;\n\n // Don't run plugins if renderedElement is not a simple ReactDOMElement or has\n // no style.\n if (!React.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) {\n return props;\n }\n\n var newProps = props;\n\n var plugins = config.plugins || DEFAULT_CONFIG.plugins;\n\n var componentName = component.constructor.displayName || component.constructor.name;\n var getKey = _buildGetKey({\n renderedElement: renderedElement,\n existingKeyMap: existingKeyMap,\n componentName: componentName\n });\n var getComponentField = function getComponentField(key) {\n return component[key];\n };\n var getGlobalState = function getGlobalState(key) {\n return globalState[key];\n };\n var componentGetState = function componentGetState(stateKey, elementKey) {\n return getState(component.state, elementKey || getKey(), stateKey);\n };\n var setState = function setState(stateKey, value, elementKey) {\n return _setStyleState(component, elementKey || getKey(), stateKey, value);\n };\n\n var addCSS = function addCSS(css) {\n var styleKeeper = component._radiumStyleKeeper || component.context._radiumStyleKeeper;\n if (!styleKeeper) {\n if (__isTestModeEnabled) {\n return {\n remove: function remove() {}\n };\n }\n\n throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.');\n }\n\n return styleKeeper.addCSS(css);\n };\n\n var newStyle = props.style;\n\n plugins.forEach(function (plugin) {\n var result = plugin({\n ExecutionEnvironment: ExecutionEnvironment,\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n componentName: componentName,\n config: config,\n cssRuleSetToString: cssRuleSetToString,\n getComponentField: getComponentField,\n getGlobalState: getGlobalState,\n getState: componentGetState,\n hash: hash,\n mergeStyles: mergeStyles,\n props: newProps,\n setState: setState,\n isNestedStyle: isNestedStyle,\n style: newStyle\n }) || {};\n\n newStyle = result.style || newStyle;\n\n newProps = result.props && Object.keys(result.props).length ? _extends({}, newProps, result.props) : newProps;\n\n var newComponentFields = result.componentFields || {};\n Object.keys(newComponentFields).forEach(function (fieldName) {\n component[fieldName] = newComponentFields[fieldName];\n });\n\n var newGlobalState = result.globalState || {};\n Object.keys(newGlobalState).forEach(function (key) {\n globalState[key] = newGlobalState[key];\n });\n });\n\n if (newStyle !== props.style) {\n newProps = _extends({}, newProps, { style: newStyle });\n }\n\n return newProps;\n};\n\n// Wrapper around React.cloneElement. To avoid processing the same element\n// twice, whenever we clone an element add a special prop to make sure we don't\n// process this element again.\nvar _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) {\n // Only add flag if this is a normal DOM element\n if (typeof renderedElement.type === 'string') {\n newProps = _extends({}, newProps, { 'data-radium': true });\n }\n\n return React.cloneElement(renderedElement, newProps, newChildren);\n};\n\n//\n// The nucleus of Radium. resolveStyles is called on the rendered elements\n// before they are returned in render. It iterates over the elements and\n// children, rewriting props to add event handlers required to capture user\n// interactions (e.g. mouse over). It also replaces the style prop because it\n// adds in the various interaction styles (e.g. :hover).\n//\n/* eslint-disable max-params */\nresolveStyles = function resolveStyles(component, // ReactComponent, flow+eslint complaining\nrenderedElement) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG;\n var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var extraStateKeyMap = arguments[5];\n\n // The extraStateKeyMap is for determining which keys should be erased from\n // the state (i.e. which child components are unmounted and should no longer\n // have a style state).\n if (!extraStateKeyMap) {\n var state = getRadiumStyleState(component);\n extraStateKeyMap = Object.keys(state).reduce(function (acc, key) {\n // 'main' is the auto-generated key when there is only one element with\n // interactive styles and if a custom key is not assigned. Because of\n // this, it is impossible to know which child is 'main', so we won't\n // count this key when generating our extraStateKeyMap.\n if (key !== 'main') {\n acc[key] = true;\n }\n return acc;\n }, {});\n }\n\n // ReactElement\n if (!renderedElement ||\n // Bail if we've already processed this element. This ensures that only the\n // owner of an element processes that element, since the owner's render\n // function will be called first (which will always be the case, since you\n // can't know what else to render until you render the parent component).\n renderedElement.props && renderedElement.props['data-radium'] ||\n // Bail if this element is a radium enhanced element, because if it is,\n // then it will take care of resolving its own styles.\n shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) {\n return { extraStateKeyMap: extraStateKeyMap, element: renderedElement };\n }\n\n var newChildren = _resolveChildren({\n children: renderedElement.props.children,\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap\n });\n\n var newProps = _resolveProps({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap,\n props: renderedElement.props\n });\n\n newProps = _runPlugins({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n props: newProps,\n renderedElement: renderedElement\n });\n\n // If nothing changed, don't bother cloning the element. Might be a bit\n // wasteful, as we add the sentinal to stop double-processing when we clone.\n // Assume benign double-processing is better than unneeded cloning.\n if (newChildren === renderedElement.props.children && newProps === renderedElement.props) {\n return { extraStateKeyMap: extraStateKeyMap, element: renderedElement };\n }\n\n var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren);\n\n return { extraStateKeyMap: extraStateKeyMap, element: element };\n};\n/* eslint-enable max-params */\n\n// Only for use by tests\nvar __isTestModeEnabled = false;\nif (process.env.NODE_ENV !== 'production') {\n resolveStyles.__clearStateForTests = function () {\n globalState = {};\n };\n resolveStyles.__setTestMode = function (isEnabled) {\n __isTestModeEnabled = isEnabled;\n };\n}\n\nexport default resolveStyles;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StyleKeeper = function () {\n function StyleKeeper(userAgent) {\n _classCallCheck(this, StyleKeeper);\n\n this._userAgent = userAgent;\n this._listeners = [];\n this._cssSet = {};\n }\n\n _createClass(StyleKeeper, [{\n key: 'subscribe',\n value: function subscribe(listener) {\n var _this = this;\n\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n var listenerIndex = _this._listeners.indexOf(listener);\n if (listenerIndex > -1) {\n _this._listeners.splice(listenerIndex, 1);\n }\n }\n };\n }\n }, {\n key: 'addCSS',\n value: function addCSS(css) {\n var _this2 = this;\n\n if (!this._cssSet[css]) {\n this._cssSet[css] = true;\n this._emitChange();\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n delete _this2._cssSet[css];\n _this2._emitChange();\n }\n };\n }\n }, {\n key: 'getCSS',\n value: function getCSS() {\n return Object.keys(this._cssSet).join('\\n');\n }\n }, {\n key: '_emitChange',\n value: function _emitChange() {\n this._listeners.forEach(function (listener) {\n return listener();\n });\n }\n }]);\n\n return StyleKeeper;\n}();\n\nexport { StyleKeeper as default };","\n\n/**\n * A function that always returns `false`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.T\n * @example\n *\n * R.F(); //=> false\n */\nvar F = function () {\n return false;\n};\nexport default F;","\n\n/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.F\n * @example\n *\n * R.T(); //=> true\n */\nvar T = function () {\n return true;\n};\nexport default T;","/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2, _)(1, 3)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @name __\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n * const greet = R.replace('{name}', R.__, 'Hello, {name}!');\n * greet('Alice'); //=> 'Hello, Alice!'\n */\nexport default { '@@functional/placeholder': true };","import _curry2 from './internal/_curry2.js';\n\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n * R.add(2, 3); //=> 5\n * R.add(7)(10); //=> 17\n */\nvar add = /*#__PURE__*/_curry2(function add(a, b) {\n return Number(a) + Number(b);\n});\nexport default add;","import _concat from './internal/_concat.js';\nimport _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\n\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n * const mapIndexed = R.addIndex(R.map);\n * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\nvar addIndex = /*#__PURE__*/_curry1(function addIndex(fn) {\n return curryN(fn.length, function () {\n var idx = 0;\n var origFn = arguments[0];\n var list = arguments[arguments.length - 1];\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = function () {\n var result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx += 1;\n return result;\n };\n return fn.apply(this, args);\n });\n});\nexport default addIndex;","import _concat from './internal/_concat.js';\nimport _curry3 from './internal/_curry3.js';\n\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> (a -> a) -> [a] -> [a]\n * @param {Number} idx The index.\n * @param {Function} fn The function to apply.\n * @param {Array|Arguments} list An array-like object whose value\n * at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n * the element at index `idx` replaced with the value\n * returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']\n * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D']\n * @symb R.adjust(-1, f, [a, b]) = [a, f(b)]\n * @symb R.adjust(0, f, [a, b]) = [f(a), b]\n */\nvar adjust = /*#__PURE__*/_curry3(function adjust(idx, fn, list) {\n if (idx >= list.length || idx < -list.length) {\n return list;\n }\n var start = idx < 0 ? list.length : 0;\n var _idx = start + idx;\n var _list = _concat(list);\n _list[_idx] = fn(list[_idx]);\n return _list;\n});\nexport default adjust;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xall from './internal/_xall.js';\n\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n * otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n * const equals3 = R.equals(3);\n * R.all(equals3)([3, 3, 3, 3]); //=> true\n * R.all(equals3)([3, 3, 1, 3]); //=> false\n */\nvar all = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['all'], _xall, function all(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (!fn(list[idx])) {\n return false;\n }\n idx += 1;\n }\n return true;\n}));\nexport default all;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\nimport max from './max.js';\nimport pluck from './pluck.js';\nimport reduce from './reduce.js';\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n * const isQueen = R.propEq('rank', 'Q');\n * const isSpade = R.propEq('suit', '♠︎');\n * const isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\nvar allPass = /*#__PURE__*/_curry1(function allPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n while (idx < len) {\n if (!preds[idx].apply(this, arguments)) {\n return false;\n }\n idx += 1;\n }\n return true;\n });\n});\nexport default allPass;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * const t = R.always('Tee');\n * t(); //=> 'Tee'\n */\nvar always = /*#__PURE__*/_curry1(function always(val) {\n return function () {\n return val;\n };\n});\nexport default always;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if both arguments are `true`; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if it is falsy, otherwise the second argument.\n * @see R.both\n * @example\n *\n * R.and(true, true); //=> true\n * R.and(true, false); //=> false\n * R.and(false, true); //=> false\n * R.and(false, false); //=> false\n */\nvar and = /*#__PURE__*/_curry2(function and(a, b) {\n return a && b;\n});\nexport default and;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xany from './internal/_xany.js';\n\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}));\nexport default any;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\nimport max from './max.js';\nimport pluck from './pluck.js';\nimport reduce from './reduce.js';\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n * const isClub = R.propEq('suit', '♣');\n * const isSpade = R.propEq('suit', '♠');\n * const isBlackCard = R.anyPass([isClub, isSpade]);\n *\n * isBlackCard({rank: '10', suit: '♣'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\nvar anyPass = /*#__PURE__*/_curry1(function anyPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n while (idx < len) {\n if (preds[idx].apply(this, arguments)) {\n return true;\n }\n idx += 1;\n }\n return false;\n });\n});\nexport default anyPass;","import _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\nimport _reduce from './internal/_reduce.js';\nimport map from './map.js';\n\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n * // R.ap can also be used as S combinator\n * // when only two functions are passed\n * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\nvar ap = /*#__PURE__*/_curry2(function ap(applyF, applyX) {\n return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n return applyF(x)(applyX(x));\n } : _reduce(function (acc, f) {\n return _concat(acc, map(f, applyX));\n }, [], applyF);\n});\nexport default ap;","import _aperture from './internal/_aperture.js';\nimport _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xaperture from './internal/_xaperture.js';\n\n/**\n * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n * R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\nvar aperture = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xaperture, _aperture));\nexport default aperture;","import _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\nexport default append;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Applies function `fn` to the argument list `args`. This is useful for\n * creating a fixed-arity function from a variadic function. `fn` should be a\n * bound function if context is significant.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> a) -> [*] -> a\n * @param {Function} fn The function which will be called with `args`\n * @param {Array} args The arguments to call `fn` with\n * @return {*} result The result, equivalent to `fn(...args)`\n * @see R.call, R.unapply\n * @example\n *\n * const nums = [1, 2, 3, -99, 42, 6, 7];\n * R.apply(Math.max, nums); //=> 42\n * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n */\nvar apply = /*#__PURE__*/_curry2(function apply(fn, args) {\n return fn.apply(this, args);\n});\nexport default apply;","import _curry1 from './internal/_curry1.js';\nimport apply from './apply.js';\nimport curryN from './curryN.js';\nimport max from './max.js';\nimport pluck from './pluck.js';\nimport reduce from './reduce.js';\nimport keys from './keys.js';\nimport values from './values.js';\n\n// Use custom mapValues function to avoid issues with specs that include a \"map\" key and R.map\n// delegating calls to .map\nfunction mapValues(fn, obj) {\n return keys(obj).reduce(function (acc, key) {\n acc[key] = fn(obj[key]);\n return acc;\n }, {});\n}\n\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n * producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n * const getMetrics = R.applySpec({\n * sum: R.add,\n * nested: { mul: R.multiply }\n * });\n * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\nvar applySpec = /*#__PURE__*/_curry1(function applySpec(spec) {\n spec = mapValues(function (v) {\n return typeof v == 'function' ? v : applySpec(v);\n }, spec);\n\n return curryN(reduce(max, 0, pluck('length', values(spec))), function () {\n var args = arguments;\n return mapValues(function (f) {\n return apply(f, args);\n }, spec);\n });\n});\nexport default applySpec;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Takes a value and applies a function to it.\n *\n * This function is also known as the `thrush` combinator.\n *\n * @func\n * @memberOf R\n * @since v0.25.0\n * @category Function\n * @sig a -> (a -> b) -> b\n * @param {*} x The value\n * @param {Function} f The function to apply\n * @return {*} The result of applying `f` to `x`\n * @example\n *\n * const t42 = R.applyTo(42);\n * t42(R.identity); //=> 42\n * t42(R.add(1)); //=> 43\n */\nvar applyTo = /*#__PURE__*/_curry2(function applyTo(x, f) {\n return f(x);\n});\nexport default applyTo;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Makes an ascending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n * @see R.descend\n * @example\n *\n * const byAge = R.ascend(R.prop('age'));\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByYoungestFirst = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\nvar ascend = /*#__PURE__*/_curry3(function ascend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n});\nexport default ascend;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nvar assoc = /*#__PURE__*/_curry3(function assoc(prop, val, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n result[prop] = val;\n return result;\n});\nexport default assoc;","import _curry3 from './internal/_curry3.js';\nimport _has from './internal/_has.js';\nimport _isArray from './internal/_isArray.js';\nimport _isInteger from './internal/_isInteger.js';\nimport assoc from './assoc.js';\nimport isNil from './isNil.js';\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\nvar assocPath = /*#__PURE__*/_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n var idx = path[0];\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\nexport default assocPath;","import _curry1 from './internal/_curry1.js';\nimport nAry from './nAry.js';\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 2 parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> c) -> (a, b -> c)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 2.\n * @see R.nAry, R.unary\n * @example\n *\n * const takesThreeArgs = function(a, b, c) {\n * return [a, b, c];\n * };\n * takesThreeArgs.length; //=> 3\n * takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n *\n * const takesTwoArgs = R.binary(takesThreeArgs);\n * takesTwoArgs.length; //=> 2\n * // Only 2 arguments are passed to the wrapped function\n * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n * @symb R.binary(f)(a, b, c) = f(a, b)\n */\nvar binary = /*#__PURE__*/_curry1(function binary(fn) {\n return nAry(2, fn);\n});\nexport default binary;","import _arity from './internal/_arity.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nvar bind = /*#__PURE__*/_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\nexport default bind;","import _curry2 from './internal/_curry2.js';\nimport _isFunction from './internal/_isFunction.js';\nimport and from './and.js';\nimport lift from './lift.js';\n\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.and\n * @example\n *\n * const gt10 = R.gt(R.__, 10)\n * const lt20 = R.lt(R.__, 20)\n * const f = R.both(gt10, lt20);\n * f(15); //=> true\n * f(30); //=> false\n *\n * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false)\n * R.both([false, false, 'a'], [11]); //=> [false, false, 11]\n */\nvar both = /*#__PURE__*/_curry2(function both(f, g) {\n return _isFunction(f) ? function _both() {\n return f.apply(this, arguments) && g.apply(this, arguments);\n } : lift(and)(f, g);\n});\nexport default both;","import curry from './curry.js';\n\n/**\n * Returns the result of calling its first argument with the remaining\n * arguments. This is occasionally useful as a converging function for\n * [`R.converge`](#converge): the first branch can produce a function while the\n * remaining branches produce values to be passed to that function as its\n * arguments.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig (*... -> a),*... -> a\n * @param {Function} fn The function to apply to the remaining arguments.\n * @param {...*} args Any number of positional arguments.\n * @return {*}\n * @see R.apply\n * @example\n *\n * R.call(R.add, 1, 2); //=> 3\n *\n * const indentN = R.pipe(R.repeat(' '),\n * R.join(''),\n * R.replace(/^(?!$)/gm));\n *\n * const format = R.converge(R.call, [\n * R.pipe(R.prop('indent'), indentN),\n * R.prop('value')\n * ]);\n *\n * format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> ' foo\\n bar\\n baz\\n'\n * @symb R.call(f, a, b) = f(a, b)\n */\nvar call = /*#__PURE__*/curry(function call(fn) {\n return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n});\nexport default call;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _makeFlat from './internal/_makeFlat.js';\nimport _xchain from './internal/_xchain.js';\nimport map from './map.js';\n\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries.\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n * const duplicate = n => [n, n];\n * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\nvar chain = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) {\n if (typeof monad === 'function') {\n return function (x) {\n return fn(monad(x))(x);\n };\n }\n return _makeFlat(false)(map(fn, monad));\n}));\nexport default chain;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Restricts a number to be within a range.\n *\n * Also works for other ordered types such as Strings and Dates.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Relation\n * @sig Ord a => a -> a -> a -> a\n * @param {Number} minimum The lower limit of the clamp (inclusive)\n * @param {Number} maximum The upper limit of the clamp (inclusive)\n * @param {Number} value Value to be clamped\n * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n * @example\n *\n * R.clamp(1, 10, -5) // => 1\n * R.clamp(1, 10, 15) // => 10\n * R.clamp(1, 10, 4) // => 4\n */\nvar clamp = /*#__PURE__*/_curry3(function clamp(min, max, value) {\n if (min > max) {\n throw new Error('min must not be greater than max in clamp(min, max, value)');\n }\n return value < min ? min : value > max ? max : value;\n});\nexport default clamp;","import _clone from './internal/_clone.js';\nimport _curry1 from './internal/_curry1.js';\n\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\nvar clone = /*#__PURE__*/_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\nexport default clone;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n * const byAge = R.comparator((a, b) => a.age < b.age);\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByIncreasingAge = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\nvar comparator = /*#__PURE__*/_curry1(function comparator(pred) {\n return function (a, b) {\n return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n };\n});\nexport default comparator;","import lift from './lift.js';\nimport not from './not.js';\n\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n * const isNotNil = R.complement(R.isNil);\n * isNil(null); //=> true\n * isNotNil(null); //=> false\n * isNil(7); //=> false\n * isNotNil(7); //=> true\n */\nvar complement = /*#__PURE__*/lift(not);\nexport default complement;","import pipe from './pipe.js';\nimport reverse from './reverse.js';\n\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\nexport default function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n return pipe.apply(this, reverse(arguments));\n}","import chain from './chain.js';\nimport compose from './compose.js';\nimport map from './map.js';\n\n/**\n * Returns the right-to-left Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipeK\n * @deprecated since v0.26.0\n * @example\n *\n * // get :: String -> Object -> Maybe *\n * const get = R.curry((propName, obj) => Maybe(obj[propName]))\n *\n * // getStateCode :: Maybe String -> Maybe String\n * const getStateCode = R.composeK(\n * R.compose(Maybe.of, R.toUpper),\n * get('state'),\n * get('address'),\n * get('user'),\n * );\n * getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n * getStateCode({}); //=> Maybe.Nothing()\n * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n */\nexport default function composeK() {\n if (arguments.length === 0) {\n throw new Error('composeK requires at least one argument');\n }\n var init = Array.prototype.slice.call(arguments);\n var last = init.pop();\n return compose(compose.apply(this, map(chain, init)), last);\n}","import pipeP from './pipeP.js';\nimport reverse from './reverse.js';\n\n/**\n * Performs right-to-left composition of one or more Promise-returning\n * functions. The rightmost function may have any arity; the remaining\n * functions must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n * @param {...Function} functions The functions to compose\n * @return {Function}\n * @see R.pipeP\n * @deprecated since v0.26.0\n * @example\n *\n * const db = {\n * users: {\n * JOE: {\n * name: 'Joe',\n * followers: ['STEVE', 'SUZY']\n * }\n * }\n * }\n *\n * // We'll pretend to do a db lookup which returns a promise\n * const lookupUser = (userId) => Promise.resolve(db.users[userId])\n * const lookupFollowers = (user) => Promise.resolve(user.followers)\n * lookupUser('JOE').then(lookupFollowers)\n *\n * // followersForUser :: String -> Promise [UserId]\n * const followersForUser = R.composeP(lookupFollowers, lookupUser);\n * followersForUser('JOE').then(followers => console.log('Followers:', followers))\n * // Followers: [\"STEVE\",\"SUZY\"]\n */\nexport default function composeP() {\n if (arguments.length === 0) {\n throw new Error('composeP requires at least one argument');\n }\n return pipeP.apply(this, reverse(arguments));\n}","import _curry2 from './internal/_curry2.js';\nimport pipeWith from './pipeWith.js';\nimport reverse from './reverse.js';\n\n/**\n * Performs right-to-left function composition using transforming function. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @category Function\n * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.compose, R.pipeWith\n * @example\n *\n * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res));\n *\n * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2\n * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined\n *\n * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, f(i, ...args)))\n */\nvar composeWith = /*#__PURE__*/_curry2(function composeWith(xf, list) {\n return pipeWith.apply(this, [xf, reverse(list)]);\n});\nexport default composeWith;","import _curry2 from './internal/_curry2.js';\nimport _isArray from './internal/_isArray.js';\nimport _isFunction from './internal/_isFunction.js';\nimport _isString from './internal/_isString.js';\nimport toString from './toString.js';\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n throw new TypeError(toString(b) + ' is not an array');\n }\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n throw new TypeError(toString(b) + ' is not a string');\n }\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\nexport default concat;","import _arity from './internal/_arity.js';\nimport _curry1 from './internal/_curry1.js';\nimport map from './map.js';\nimport max from './max.js';\nimport reduce from './reduce.js';\n\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\nvar cond = /*#__PURE__*/_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n idx += 1;\n }\n });\n});\nexport default cond;","import _curry1 from './internal/_curry1.js';\nimport constructN from './constructN.js';\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> {*}) -> (* -> {*})\n * @param {Function} fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @see R.invoker\n * @example\n *\n * // Constructor function\n * function Animal(kind) {\n * this.kind = kind;\n * };\n * Animal.prototype.sighting = function() {\n * return \"It's a \" + this.kind + \"!\";\n * }\n *\n * const AnimalConstructor = R.construct(Animal)\n *\n * // Notice we no longer need the 'new' keyword:\n * AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n *\n * const animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n * const animalSighting = R.invoker(0, 'sighting');\n * const sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n * R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n */\nvar construct = /*#__PURE__*/_curry1(function construct(Fn) {\n return constructN(Fn.length, Fn);\n});\nexport default construct;","import _curry2 from './internal/_curry2.js';\nimport curry from './curry.js';\nimport nAry from './nAry.js';\n\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type. The arity of the function\n * returned is specified to allow using variadic constructor functions.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Function\n * @sig Number -> (* -> {*}) -> (* -> {*})\n * @param {Number} n The arity of the constructor function.\n * @param {Function} Fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n * // Variadic Constructor function\n * function Salad() {\n * this.ingredients = arguments;\n * }\n *\n * Salad.prototype.recipe = function() {\n * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients);\n * return R.join('\\n', instructions);\n * };\n *\n * const ThreeLayerSalad = R.constructN(3, Salad);\n *\n * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup');\n *\n * console.log(salad.recipe());\n * // Add a dollop of Mayonnaise\n * // Add a dollop of Potato Chips\n * // Add a dollop of Ketchup\n */\nvar constructN = /*#__PURE__*/_curry2(function constructN(n, Fn) {\n if (n > 10) {\n throw new Error('Constructor with greater than ten arguments');\n }\n if (n === 0) {\n return function () {\n return new Fn();\n };\n }\n return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n switch (arguments.length) {\n case 1:\n return new Fn($0);\n case 2:\n return new Fn($0, $1);\n case 3:\n return new Fn($0, $1, $2);\n case 4:\n return new Fn($0, $1, $2, $3);\n case 5:\n return new Fn($0, $1, $2, $3, $4);\n case 6:\n return new Fn($0, $1, $2, $3, $4, $5);\n case 7:\n return new Fn($0, $1, $2, $3, $4, $5, $6);\n case 8:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n case 9:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n case 10:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n }\n }));\n});\nexport default constructN;","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.includes\n * @deprecated since v0.26.0\n * @example\n *\n * R.contains(3, [1, 2, 3]); //=> true\n * R.contains(4, [1, 2, 3]); //=> false\n * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.contains([42], [[42]]); //=> true\n * R.contains('ba', 'banana'); //=>true\n */\nvar contains = /*#__PURE__*/_curry2(_includes);\nexport default contains;","import _curry2 from './internal/_curry2.js';\nimport _map from './internal/_map.js';\nimport curryN from './curryN.js';\nimport max from './max.js';\nimport pluck from './pluck.js';\nimport reduce from './reduce.js';\n\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. The arity of the new function is the same as the arity of\n * the longest branching function. When invoked, this new function is applied\n * to some arguments, and each branching function is applied to those same\n * arguments. The results of each branching function are passed as arguments\n * to the converging function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n * `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n * const average = R.converge(R.divide, [R.sum, R.length])\n * average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n * strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\nvar converge = /*#__PURE__*/_curry2(function converge(after, fns) {\n return curryN(reduce(max, 0, pluck('length', fns)), function () {\n var args = arguments;\n var context = this;\n return after.apply(context, _map(function (fn) {\n return fn.apply(context, args);\n }, fns));\n });\n});\nexport default converge;","import reduceBy from './reduceBy.js';\n\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1}\n *\n * const letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1}\n */\nvar countBy = /*#__PURE__*/reduceBy(function (acc, elem) {\n return acc + 1;\n}, 0);\nexport default countBy;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\n\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN, R.partial\n * @example\n *\n * const addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * const curriedAddFourNumbers = R.curry(addFourNumbers);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\nvar curry = /*#__PURE__*/_curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\nexport default curry;","import _arity from './internal/_arity.js';\nimport _curry1 from './internal/_curry1.js';\nimport _curry2 from './internal/_curry2.js';\nimport _curryN from './internal/_curryN.js';\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\nvar curryN = /*#__PURE__*/_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n return _arity(length, _curryN(length, [], fn));\n});\nexport default curryN;","import add from './add.js';\n\n/**\n * Decrements its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n - 1\n * @see R.inc\n * @example\n *\n * R.dec(42); //=> 41\n */\nvar dec = /*#__PURE__*/add(-1);\nexport default dec;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\nvar defaultTo = /*#__PURE__*/_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\nexport default defaultTo;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Makes a descending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n * @see R.ascend\n * @example\n *\n * const byAge = R.descend(R.prop('age'));\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByOldestFirst = R.sort(byAge, people);\n * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }]\n */\nvar descend = /*#__PURE__*/_curry3(function descend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa > bb ? -1 : aa < bb ? 1 : 0;\n});\nexport default descend;","import _curry2 from './internal/_curry2.js';\nimport _Set from './internal/_Set.js';\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\nvar difference = /*#__PURE__*/_curry2(function difference(first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n var secondLen = second.length;\n var toFilterOut = new _Set();\n\n for (var i = 0; i < secondLen; i += 1) {\n toFilterOut.add(second[i]);\n }\n\n while (idx < firstLen) {\n if (toFilterOut.add(first[idx])) {\n out[out.length] = first[idx];\n }\n idx += 1;\n }\n return out;\n});\nexport default difference;","import _includesWith from './internal/_includesWith.js';\nimport _curry3 from './internal/_curry3.js';\n\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n * const cmp = (x, y) => x.a === y.a;\n * const l1 = [{a: 1}, {a: 2}, {a: 3}];\n * const l2 = [{a: 3}, {a: 4}];\n * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n */\nvar differenceWith = /*#__PURE__*/_curry3(function differenceWith(pred, first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n while (idx < firstLen) {\n if (!_includesWith(pred, first[idx], second) && !_includesWith(pred, first[idx], out)) {\n out.push(first[idx]);\n }\n idx += 1;\n }\n return out;\n});\nexport default differenceWith;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc, R.omit\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\nvar dissoc = /*#__PURE__*/_curry2(function dissoc(prop, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n delete result[prop];\n return result;\n});\nexport default dissoc;","import _curry2 from './internal/_curry2.js';\nimport _isInteger from './internal/_isInteger.js';\nimport _isArray from './internal/_isArray.js';\nimport assoc from './assoc.js';\nimport dissoc from './dissoc.js';\nimport remove from './remove.js';\nimport update from './update.js';\n\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\nvar dissocPath = /*#__PURE__*/_curry2(function dissocPath(path, obj) {\n switch (path.length) {\n case 0:\n return obj;\n case 1:\n return _isInteger(path[0]) && _isArray(obj) ? remove(path[0], 1, obj) : dissoc(path[0], obj);\n default:\n var head = path[0];\n var tail = Array.prototype.slice.call(path, 1);\n if (obj[head] == null) {\n return obj;\n } else if (_isInteger(head) && _isArray(obj)) {\n return update(head, dissocPath(tail, obj[head]), obj);\n } else {\n return assoc(head, dissocPath(tail, obj[head]), obj);\n }\n }\n});\nexport default dissocPath;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Divides two numbers. Equivalent to `a / b`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a / b`.\n * @see R.multiply\n * @example\n *\n * R.divide(71, 100); //=> 0.71\n *\n * const half = R.divide(R.__, 2);\n * half(42); //=> 21\n *\n * const reciprocal = R.divide(1);\n * reciprocal(4); //=> 0.25\n */\nvar divide = /*#__PURE__*/_curry2(function divide(a, b) {\n return a / b;\n});\nexport default divide;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xdrop from './internal/_xdrop.js';\nimport slice from './slice.js';\n\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.drop(3, ['foo', 'bar', 'baz']); //=> []\n * R.drop(4, ['foo', 'bar', 'baz']); //=> []\n * R.drop(3, 'ramda'); //=> 'da'\n */\nvar drop = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n return slice(Math.max(0, n), Infinity, xs);\n}));\nexport default drop;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _dropLast from './internal/_dropLast.js';\nimport _xdropLast from './internal/_xdropLast.js';\n\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(3, 'ramda'); //=> 'ra'\n */\nvar dropLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLast, _dropLast));\nexport default dropLast;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _dropLastWhile from './internal/_dropLastWhile.js';\nimport _xdropLastWhile from './internal/_xdropLastWhile.js';\n\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} predicate The function to be called on each element\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n * const lteThree = x => x <= 3;\n *\n * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n *\n * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n */\nvar dropLastWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropLastWhile, _dropLastWhile));\nexport default dropLastWhile;","import _curry1 from './internal/_curry1.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xdropRepeatsWith from './internal/_xdropRepeatsWith.js';\nimport dropRepeatsWith from './dropRepeatsWith.js';\nimport equals from './equals.js';\n\n/**\n * Returns a new list without any consecutively repeating elements.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\nvar dropRepeats = /*#__PURE__*/_curry1( /*#__PURE__*/_dispatchable([], /*#__PURE__*/_xdropRepeatsWith(equals), /*#__PURE__*/dropRepeatsWith(equals)));\nexport default dropRepeats;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xdropRepeatsWith from './internal/_xdropRepeatsWith.js';\nimport last from './last.js';\n\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\nvar dropRepeatsWith = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) {\n var result = [];\n var idx = 1;\n var len = list.length;\n if (len !== 0) {\n result[0] = list[0];\n while (idx < len) {\n if (!pred(last(result), list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n }\n return result;\n}));\nexport default dropRepeatsWith;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xdropWhile from './internal/_xdropWhile.js';\nimport slice from './slice.js';\n\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n * const lteTwo = x => x <= 2;\n *\n * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n *\n * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n */\nvar dropWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, xs) {\n var idx = 0;\n var len = xs.length;\n while (idx < len && pred(xs[idx])) {\n idx += 1;\n }\n return slice(idx, Infinity, xs);\n}));\nexport default dropWhile;","import _curry2 from './internal/_curry2.js';\nimport _isFunction from './internal/_isFunction.js';\nimport lift from './lift.js';\nimport or from './or.js';\n\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.or\n * @example\n *\n * const gt10 = x => x > 10;\n * const even = x => x % 2 === 0;\n * const f = R.either(gt10, even);\n * f(101); //=> true\n * f(8); //=> true\n *\n * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55)\n * R.either([false, false, 'a'], [11]) // => [11, 11, \"a\"]\n */\nvar either = /*#__PURE__*/_curry2(function either(f, g) {\n return _isFunction(f) ? function _either() {\n return f.apply(this, arguments) || g.apply(this, arguments);\n } : lift(or)(f, g);\n});\nexport default either;","import _curry1 from './internal/_curry1.js';\nimport _isArguments from './internal/_isArguments.js';\nimport _isArray from './internal/_isArray.js';\nimport _isObject from './internal/_isObject.js';\nimport _isString from './internal/_isString.js';\n\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\nvar empty = /*#__PURE__*/_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : void 0 // else\n ;\n});\nexport default empty;","import _curry2 from './internal/_curry2.js';\nimport equals from './equals.js';\nimport takeLast from './takeLast.js';\n\n/**\n * Checks if a list ends with the provided sublist.\n *\n * Similarly, checks if a string ends with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @see R.startsWith\n * @example\n *\n * R.endsWith('c', 'abc') //=> true\n * R.endsWith('b', 'abc') //=> false\n * R.endsWith(['c'], ['a', 'b', 'c']) //=> true\n * R.endsWith(['b'], ['a', 'b', 'c']) //=> false\n */\nvar endsWith = /*#__PURE__*/_curry2(function (suffix, list) {\n return equals(takeLast(suffix.length, list), suffix);\n});\nexport default endsWith;","import _curry3 from './internal/_curry3.js';\nimport equals from './equals.js';\n\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n * R.eqBy(Math.abs, 5, -5); //=> true\n */\nvar eqBy = /*#__PURE__*/_curry3(function eqBy(f, x, y) {\n return equals(f(x), f(y));\n});\nexport default eqBy;","import _curry3 from './internal/_curry3.js';\nimport equals from './equals.js';\n\n/**\n * Reports whether two objects have the same value, in [`R.equals`](#equals)\n * terms, for the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n * const o1 = { a: 1, b: 2, c: 3, d: 4 };\n * const o2 = { a: 10, b: 20, c: 3, d: 40 };\n * R.eqProps('a', o1, o2); //=> false\n * R.eqProps('c', o1, o2); //=> true\n */\nvar eqProps = /*#__PURE__*/_curry3(function eqProps(prop, obj1, obj2) {\n return equals(obj1[prop], obj2[prop]);\n});\nexport default eqProps;","import _curry2 from './internal/_curry2.js';\nimport _equals from './internal/_equals.js';\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\nexport default equals;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n * to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n * const transformations = {\n * firstName: R.trim,\n * lastName: R.trim, // Will not get invoked.\n * data: {elapsed: R.add(1), remaining: R.add(-1)}\n * };\n * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\nvar evolve = /*#__PURE__*/_curry2(function evolve(transformations, object) {\n var result = object instanceof Array ? [] : {};\n var transformation, key, type;\n for (key in object) {\n transformation = transformations[key];\n type = typeof transformation;\n result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n }\n return result;\n});\nexport default evolve;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _filter from './internal/_filter.js';\nimport _isObject from './internal/_isObject.js';\nimport _reduce from './internal/_reduce.js';\nimport _xfilter from './internal/_xfilter.js';\nimport keys from './keys.js';\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n return acc;\n }, {}, keys(filterable)) :\n // else\n _filter(pred, filterable);\n}));\nexport default filter;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfind from './internal/_xfind.js';\n\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n * R.find(R.propEq('a', 4))(xs); //=> undefined\n */\nvar find = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['find'], _xfind, function find(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (fn(list[idx])) {\n return list[idx];\n }\n idx += 1;\n }\n}));\nexport default find;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfindIndex from './internal/_xfindIndex.js';\n\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}));\nexport default findIndex;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfindLast from './internal/_xfindLast.js';\n\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n * R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\nvar findLast = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLast, function findLast(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n if (fn(list[idx])) {\n return list[idx];\n }\n idx -= 1;\n }\n}));\nexport default findLast;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfindLastIndex from './internal/_xfindLastIndex.js';\n\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findLastIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n if (fn(list[idx])) {\n return idx;\n }\n idx -= 1;\n }\n return -1;\n}));\nexport default findLastIndex;","import _curry1 from './internal/_curry1.js';\nimport _makeFlat from './internal/_makeFlat.js';\n\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\nvar flatten = /*#__PURE__*/_curry1( /*#__PURE__*/_makeFlat(true));\nexport default flatten;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\n\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\nvar flip = /*#__PURE__*/_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\nexport default flip;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\nvar forEach = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n return list;\n}));\nexport default forEach;","import _curry2 from './internal/_curry2.js';\nimport keys from './keys.js';\n\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n * const printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n * // logs x:1\n * // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\nvar forEachObjIndexed = /*#__PURE__*/_curry2(function forEachObjIndexed(fn, obj) {\n var keyList = keys(obj);\n var idx = 0;\n while (idx < keyList.length) {\n var key = keyList[idx];\n fn(obj[key], key, obj);\n idx += 1;\n }\n return obj;\n});\nexport default forEachObjIndexed;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Creates a new object from a list key-value pairs. If a key appears in\n * multiple pairs, the rightmost pair is included in the object.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [[k,v]] -> {k: v}\n * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n * @return {Object} The object made by pairing up `keys` and `values`.\n * @see R.toPairs, R.pair\n * @example\n *\n * R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n */\nvar fromPairs = /*#__PURE__*/_curry1(function fromPairs(pairs) {\n var result = {};\n var idx = 0;\n while (idx < pairs.length) {\n result[pairs[idx][0]] = pairs[idx][1];\n idx += 1;\n }\n return result;\n});\nexport default fromPairs;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry2 from './internal/_curry2.js';\nimport reduceBy from './reduceBy.js';\n\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n * that produced that key when passed to `fn`.\n * @see R.reduceBy, R.transduce\n * @example\n *\n * const byGrade = R.groupBy(function(student) {\n * const score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * const students = [{name: 'Abby', score: 84},\n * {name: 'Eddy', score: 58},\n * // ...\n * {name: 'Jack', score: 69}];\n * byGrade(students);\n * // {\n * // 'A': [{name: 'Dianne', score: 99}],\n * // 'B': [{name: 'Abby', score: 84}]\n * // // ...,\n * // 'F': [{name: 'Eddy', score: 58}]\n * // }\n */\nvar groupBy = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('groupBy', /*#__PURE__*/reduceBy(function (acc, item) {\n if (acc == null) {\n acc = [];\n }\n acc.push(item);\n return acc;\n}, null)));\nexport default groupBy;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Takes a list and returns a list of lists where each sublist's elements are\n * all satisfied pairwise comparison according to the provided function.\n * Only adjacent elements are passed to the comparison function.\n *\n * @func\n * @memberOf R\n * @since v0.21.0\n * @category List\n * @sig ((a, a) → Boolean) → [a] → [[a]]\n * @param {Function} fn Function for determining whether two given (adjacent)\n * elements should be in the same group\n * @param {Array} list The array to group. Also accepts a string, which will be\n * treated as a list of characters.\n * @return {List} A list that contains sublists of elements,\n * whose concatenations are equal to the original list.\n * @example\n *\n * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n *\n * R.groupWith(R.eqBy(isVowel), 'aestiou')\n * //=> ['ae', 'st', 'iou']\n */\nvar groupWith = /*#__PURE__*/_curry2(function (fn, list) {\n var res = [];\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n var nextidx = idx + 1;\n while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {\n nextidx += 1;\n }\n res.push(list.slice(idx, nextidx));\n idx = nextidx;\n }\n return res;\n});\nexport default groupWith;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the first argument is greater than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.lt\n * @example\n *\n * R.gt(2, 1); //=> true\n * R.gt(2, 2); //=> false\n * R.gt(2, 3); //=> false\n * R.gt('a', 'z'); //=> false\n * R.gt('z', 'a'); //=> true\n */\nvar gt = /*#__PURE__*/_curry2(function gt(a, b) {\n return a > b;\n});\nexport default gt;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the first argument is greater than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.lte\n * @example\n *\n * R.gte(2, 1); //=> true\n * R.gte(2, 2); //=> true\n * R.gte(2, 3); //=> false\n * R.gte('a', 'z'); //=> false\n * R.gte('z', 'a'); //=> true\n */\nvar gte = /*#__PURE__*/_curry2(function gte(a, b) {\n return a >= b;\n});\nexport default gte;","import _curry2 from './internal/_curry2.js';\nimport hasPath from './hasPath.js';\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\nvar has = /*#__PURE__*/_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\nexport default has;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns whether or not an object or its prototype chain has a property with\n * the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * function Rectangle(width, height) {\n * this.width = width;\n * this.height = height;\n * }\n * Rectangle.prototype.area = function() {\n * return this.width * this.height;\n * };\n *\n * const square = new Rectangle(2, 2);\n * R.hasIn('width', square); //=> true\n * R.hasIn('area', square); //=> true\n */\nvar hasIn = /*#__PURE__*/_curry2(function hasIn(prop, obj) {\n return prop in obj;\n});\nexport default hasIn;","import _curry2 from './internal/_curry2.js';\nimport _has from './internal/_has.js';\n\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\nvar hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) {\n if (_path.length === 0) {\n return false;\n }\n var val = obj;\n var idx = 0;\n while (idx < _path.length) {\n if (_has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n return true;\n});\nexport default hasPath;","import nth from './nth.js';\n\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n * R.head(['fi', 'fo', 'fum']); //=> 'fi'\n * R.head([]); //=> undefined\n *\n * R.head('abc'); //=> 'a'\n * R.head(''); //=> ''\n */\nvar head = /*#__PURE__*/nth(0);\nexport default head;","import _objectIs from './internal/_objectIs.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * Note this is merely a curried version of ES6 `Object.is`.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * const o = {};\n * R.identical(o, o); //=> true\n * R.identical(1, 1); //=> true\n * R.identical(1, '1'); //=> false\n * R.identical([], []); //=> false\n * R.identical(0, -0); //=> false\n * R.identical(NaN, NaN); //=> true\n */\nvar identical = /*#__PURE__*/_curry2(_objectIs);\nexport default identical;","import _curry1 from './internal/_curry1.js';\nimport _identity from './internal/_identity.js';\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\nvar identity = /*#__PURE__*/_curry1(_identity);\nexport default identity;","import _curry3 from './internal/_curry3.js';\nimport curryN from './curryN.js';\n\n/**\n * Creates a function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n * @param {Function} condition A predicate function\n * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n * @return {Function} A new function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n * @see R.unless, R.when, R.cond\n * @example\n *\n * const incCount = R.ifElse(\n * R.has('count'),\n * R.over(R.lensProp('count'), R.inc),\n * R.assoc('count', 1)\n * );\n * incCount({}); //=> { count: 1 }\n * incCount({ count: 1 }); //=> { count: 2 }\n */\nvar ifElse = /*#__PURE__*/_curry3(function ifElse(condition, onTrue, onFalse) {\n return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {\n return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n });\n});\nexport default ifElse;","import add from './add.js';\n\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n * R.inc(42); //=> 43\n */\nvar inc = /*#__PURE__*/add(1);\nexport default inc;","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\nvar includes = /*#__PURE__*/_curry2(_includes);\nexport default includes;","export { default as F } from './F.js';\nexport { default as T } from './T.js';\nexport { default as __ } from './__.js';\nexport { default as add } from './add.js';\nexport { default as addIndex } from './addIndex.js';\nexport { default as adjust } from './adjust.js';\nexport { default as all } from './all.js';\nexport { default as allPass } from './allPass.js';\nexport { default as always } from './always.js';\nexport { default as and } from './and.js';\nexport { default as any } from './any.js';\nexport { default as anyPass } from './anyPass.js';\nexport { default as ap } from './ap.js';\nexport { default as aperture } from './aperture.js';\nexport { default as append } from './append.js';\nexport { default as apply } from './apply.js';\nexport { default as applySpec } from './applySpec.js';\nexport { default as applyTo } from './applyTo.js';\nexport { default as ascend } from './ascend.js';\nexport { default as assoc } from './assoc.js';\nexport { default as assocPath } from './assocPath.js';\nexport { default as binary } from './binary.js';\nexport { default as bind } from './bind.js';\nexport { default as both } from './both.js';\nexport { default as call } from './call.js';\nexport { default as chain } from './chain.js';\nexport { default as clamp } from './clamp.js';\nexport { default as clone } from './clone.js';\nexport { default as comparator } from './comparator.js';\nexport { default as complement } from './complement.js';\nexport { default as compose } from './compose.js';\nexport { default as composeK } from './composeK.js';\nexport { default as composeP } from './composeP.js';\nexport { default as composeWith } from './composeWith.js';\nexport { default as concat } from './concat.js';\nexport { default as cond } from './cond.js';\nexport { default as construct } from './construct.js';\nexport { default as constructN } from './constructN.js';\nexport { default as contains } from './contains.js';\nexport { default as converge } from './converge.js';\nexport { default as countBy } from './countBy.js';\nexport { default as curry } from './curry.js';\nexport { default as curryN } from './curryN.js';\nexport { default as dec } from './dec.js';\nexport { default as defaultTo } from './defaultTo.js';\nexport { default as descend } from './descend.js';\nexport { default as difference } from './difference.js';\nexport { default as differenceWith } from './differenceWith.js';\nexport { default as dissoc } from './dissoc.js';\nexport { default as dissocPath } from './dissocPath.js';\nexport { default as divide } from './divide.js';\nexport { default as drop } from './drop.js';\nexport { default as dropLast } from './dropLast.js';\nexport { default as dropLastWhile } from './dropLastWhile.js';\nexport { default as dropRepeats } from './dropRepeats.js';\nexport { default as dropRepeatsWith } from './dropRepeatsWith.js';\nexport { default as dropWhile } from './dropWhile.js';\nexport { default as either } from './either.js';\nexport { default as empty } from './empty.js';\nexport { default as endsWith } from './endsWith.js';\nexport { default as eqBy } from './eqBy.js';\nexport { default as eqProps } from './eqProps.js';\nexport { default as equals } from './equals.js';\nexport { default as evolve } from './evolve.js';\nexport { default as filter } from './filter.js';\nexport { default as find } from './find.js';\nexport { default as findIndex } from './findIndex.js';\nexport { default as findLast } from './findLast.js';\nexport { default as findLastIndex } from './findLastIndex.js';\nexport { default as flatten } from './flatten.js';\nexport { default as flip } from './flip.js';\nexport { default as forEach } from './forEach.js';\nexport { default as forEachObjIndexed } from './forEachObjIndexed.js';\nexport { default as fromPairs } from './fromPairs.js';\nexport { default as groupBy } from './groupBy.js';\nexport { default as groupWith } from './groupWith.js';\nexport { default as gt } from './gt.js';\nexport { default as gte } from './gte.js';\nexport { default as has } from './has.js';\nexport { default as hasIn } from './hasIn.js';\nexport { default as hasPath } from './hasPath.js';\nexport { default as head } from './head.js';\nexport { default as identical } from './identical.js';\nexport { default as identity } from './identity.js';\nexport { default as ifElse } from './ifElse.js';\nexport { default as inc } from './inc.js';\nexport { default as includes } from './includes.js';\nexport { default as indexBy } from './indexBy.js';\nexport { default as indexOf } from './indexOf.js';\nexport { default as init } from './init.js';\nexport { default as innerJoin } from './innerJoin.js';\nexport { default as insert } from './insert.js';\nexport { default as insertAll } from './insertAll.js';\nexport { default as intersection } from './intersection.js';\nexport { default as intersperse } from './intersperse.js';\nexport { default as into } from './into.js';\nexport { default as invert } from './invert.js';\nexport { default as invertObj } from './invertObj.js';\nexport { default as invoker } from './invoker.js';\nexport { default as is } from './is.js';\nexport { default as isEmpty } from './isEmpty.js';\nexport { default as isNil } from './isNil.js';\nexport { default as join } from './join.js';\nexport { default as juxt } from './juxt.js';\nexport { default as keys } from './keys.js';\nexport { default as keysIn } from './keysIn.js';\nexport { default as last } from './last.js';\nexport { default as lastIndexOf } from './lastIndexOf.js';\nexport { default as length } from './length.js';\nexport { default as lens } from './lens.js';\nexport { default as lensIndex } from './lensIndex.js';\nexport { default as lensPath } from './lensPath.js';\nexport { default as lensProp } from './lensProp.js';\nexport { default as lift } from './lift.js';\nexport { default as liftN } from './liftN.js';\nexport { default as lt } from './lt.js';\nexport { default as lte } from './lte.js';\nexport { default as map } from './map.js';\nexport { default as mapAccum } from './mapAccum.js';\nexport { default as mapAccumRight } from './mapAccumRight.js';\nexport { default as mapObjIndexed } from './mapObjIndexed.js';\nexport { default as match } from './match.js';\nexport { default as mathMod } from './mathMod.js';\nexport { default as max } from './max.js';\nexport { default as maxBy } from './maxBy.js';\nexport { default as mean } from './mean.js';\nexport { default as median } from './median.js';\nexport { default as memoizeWith } from './memoizeWith.js';\nexport { default as merge } from './merge.js';\nexport { default as mergeAll } from './mergeAll.js';\nexport { default as mergeDeepLeft } from './mergeDeepLeft.js';\nexport { default as mergeDeepRight } from './mergeDeepRight.js';\nexport { default as mergeDeepWith } from './mergeDeepWith.js';\nexport { default as mergeDeepWithKey } from './mergeDeepWithKey.js';\nexport { default as mergeLeft } from './mergeLeft.js';\nexport { default as mergeRight } from './mergeRight.js';\nexport { default as mergeWith } from './mergeWith.js';\nexport { default as mergeWithKey } from './mergeWithKey.js';\nexport { default as min } from './min.js';\nexport { default as minBy } from './minBy.js';\nexport { default as modulo } from './modulo.js';\nexport { default as move } from './move.js';\nexport { default as multiply } from './multiply.js';\nexport { default as nAry } from './nAry.js';\nexport { default as negate } from './negate.js';\nexport { default as none } from './none.js';\nexport { default as not } from './not.js';\nexport { default as nth } from './nth.js';\nexport { default as nthArg } from './nthArg.js';\nexport { default as o } from './o.js';\nexport { default as objOf } from './objOf.js';\nexport { default as of } from './of.js';\nexport { default as omit } from './omit.js';\nexport { default as once } from './once.js';\nexport { default as or } from './or.js';\nexport { default as otherwise } from './otherwise.js';\nexport { default as over } from './over.js';\nexport { default as pair } from './pair.js';\nexport { default as partial } from './partial.js';\nexport { default as partialRight } from './partialRight.js';\nexport { default as partition } from './partition.js';\nexport { default as path } from './path.js';\nexport { default as pathEq } from './pathEq.js';\nexport { default as pathOr } from './pathOr.js';\nexport { default as pathSatisfies } from './pathSatisfies.js';\nexport { default as pick } from './pick.js';\nexport { default as pickAll } from './pickAll.js';\nexport { default as pickBy } from './pickBy.js';\nexport { default as pipe } from './pipe.js';\nexport { default as pipeK } from './pipeK.js';\nexport { default as pipeP } from './pipeP.js';\nexport { default as pipeWith } from './pipeWith.js';\nexport { default as pluck } from './pluck.js';\nexport { default as prepend } from './prepend.js';\nexport { default as product } from './product.js';\nexport { default as project } from './project.js';\nexport { default as prop } from './prop.js';\nexport { default as propEq } from './propEq.js';\nexport { default as propIs } from './propIs.js';\nexport { default as propOr } from './propOr.js';\nexport { default as propSatisfies } from './propSatisfies.js';\nexport { default as props } from './props.js';\nexport { default as range } from './range.js';\nexport { default as reduce } from './reduce.js';\nexport { default as reduceBy } from './reduceBy.js';\nexport { default as reduceRight } from './reduceRight.js';\nexport { default as reduceWhile } from './reduceWhile.js';\nexport { default as reduced } from './reduced.js';\nexport { default as reject } from './reject.js';\nexport { default as remove } from './remove.js';\nexport { default as repeat } from './repeat.js';\nexport { default as replace } from './replace.js';\nexport { default as reverse } from './reverse.js';\nexport { default as scan } from './scan.js';\nexport { default as sequence } from './sequence.js';\nexport { default as set } from './set.js';\nexport { default as slice } from './slice.js';\nexport { default as sort } from './sort.js';\nexport { default as sortBy } from './sortBy.js';\nexport { default as sortWith } from './sortWith.js';\nexport { default as split } from './split.js';\nexport { default as splitAt } from './splitAt.js';\nexport { default as splitEvery } from './splitEvery.js';\nexport { default as splitWhen } from './splitWhen.js';\nexport { default as startsWith } from './startsWith.js';\nexport { default as subtract } from './subtract.js';\nexport { default as sum } from './sum.js';\nexport { default as symmetricDifference } from './symmetricDifference.js';\nexport { default as symmetricDifferenceWith } from './symmetricDifferenceWith.js';\nexport { default as tail } from './tail.js';\nexport { default as take } from './take.js';\nexport { default as takeLast } from './takeLast.js';\nexport { default as takeLastWhile } from './takeLastWhile.js';\nexport { default as takeWhile } from './takeWhile.js';\nexport { default as tap } from './tap.js';\nexport { default as test } from './test.js';\nexport { default as then } from './then.js';\nexport { default as times } from './times.js';\nexport { default as toLower } from './toLower.js';\nexport { default as toPairs } from './toPairs.js';\nexport { default as toPairsIn } from './toPairsIn.js';\nexport { default as toString } from './toString.js';\nexport { default as toUpper } from './toUpper.js';\nexport { default as transduce } from './transduce.js';\nexport { default as transpose } from './transpose.js';\nexport { default as traverse } from './traverse.js';\nexport { default as trim } from './trim.js';\nexport { default as tryCatch } from './tryCatch.js';\nexport { default as type } from './type.js';\nexport { default as unapply } from './unapply.js';\nexport { default as unary } from './unary.js';\nexport { default as uncurryN } from './uncurryN.js';\nexport { default as unfold } from './unfold.js';\nexport { default as union } from './union.js';\nexport { default as unionWith } from './unionWith.js';\nexport { default as uniq } from './uniq.js';\nexport { default as uniqBy } from './uniqBy.js';\nexport { default as uniqWith } from './uniqWith.js';\nexport { default as unless } from './unless.js';\nexport { default as unnest } from './unnest.js';\nexport { default as until } from './until.js';\nexport { default as update } from './update.js';\nexport { default as useWith } from './useWith.js';\nexport { default as values } from './values.js';\nexport { default as valuesIn } from './valuesIn.js';\nexport { default as view } from './view.js';\nexport { default as when } from './when.js';\nexport { default as where } from './where.js';\nexport { default as whereEq } from './whereEq.js';\nexport { default as without } from './without.js';\nexport { default as xprod } from './xprod.js';\nexport { default as zip } from './zip.js';\nexport { default as zipObj } from './zipObj.js';\nexport { default as zipWith } from './zipWith.js';\nexport { default as thunkify } from './thunkify.js';","import reduceBy from './reduceBy.js';\n\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n * @param {Function} fn Function :: a -> String\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @example\n *\n * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n * R.indexBy(R.prop('id'), list);\n * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\nvar indexBy = /*#__PURE__*/reduceBy(function (acc, elem) {\n return elem;\n}, null);\nexport default indexBy;","import _curry2 from './internal/_curry2.js';\nimport _indexOf from './internal/_indexOf.js';\nimport _isArray from './internal/_isArray.js';\n\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf\n * @example\n *\n * R.indexOf(3, [1,2,3,4]); //=> 2\n * R.indexOf(10, [1,2,3,4]); //=> -1\n */\nvar indexOf = /*#__PURE__*/_curry2(function indexOf(target, xs) {\n return typeof xs.indexOf === 'function' && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0);\n});\nexport default indexOf;","import slice from './slice.js';\n\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n * R.init([1, 2, 3]); //=> [1, 2]\n * R.init([1, 2]); //=> [1]\n * R.init([1]); //=> []\n * R.init([]); //=> []\n *\n * R.init('abc'); //=> 'ab'\n * R.init('ab'); //=> 'a'\n * R.init('a'); //=> ''\n * R.init(''); //=> ''\n */\nvar init = /*#__PURE__*/slice(0, -1);\nexport default init;","import _includesWith from './internal/_includesWith.js';\nimport _curry3 from './internal/_curry3.js';\nimport _filter from './internal/_filter.js';\n\n/**\n * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list\n * `xs'` comprising each of the elements of `xs` which is equal to one or more\n * elements of `ys` according to `pred`.\n *\n * `pred` must be a binary function expecting an element from each list.\n *\n * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should\n * not be significant, but since `xs'` is ordered the implementation guarantees\n * that its values are in the same order as they appear in `xs`. Duplicates are\n * not removed, so `xs'` may contain duplicates if `xs` contains duplicates.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Relation\n * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]\n * @param {Function} pred\n * @param {Array} xs\n * @param {Array} ys\n * @return {Array}\n * @see R.intersection\n * @example\n *\n * R.innerJoin(\n * (record, id) => record.id === id,\n * [{id: 824, name: 'Richie Furay'},\n * {id: 956, name: 'Dewey Martin'},\n * {id: 313, name: 'Bruce Palmer'},\n * {id: 456, name: 'Stephen Stills'},\n * {id: 177, name: 'Neil Young'}],\n * [177, 456, 999]\n * );\n * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n */\nvar innerJoin = /*#__PURE__*/_curry3(function innerJoin(pred, xs, ys) {\n return _filter(function (x) {\n return _includesWith(pred, x, ys);\n }, xs);\n});\nexport default innerJoin;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Inserts the supplied element into the list, at the specified `index`. _Note that\n\n * this is not destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} index The position to insert the element\n * @param {*} elt The element to insert into the Array\n * @param {Array} list The list to insert into\n * @return {Array} A new Array with `elt` inserted at `index`.\n * @example\n *\n * R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n */\nvar insert = /*#__PURE__*/_curry3(function insert(idx, elt, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n var result = Array.prototype.slice.call(list, 0);\n result.splice(idx, 0, elt);\n return result;\n});\nexport default insert;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Inserts the sub-list into the list, at the specified `index`. _Note that this is not\n * destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig Number -> [a] -> [a] -> [a]\n * @param {Number} index The position to insert the sub-list\n * @param {Array} elts The sub-list to insert into the Array\n * @param {Array} list The list to insert the sub-list into\n * @return {Array} A new Array with `elts` inserted starting at `index`.\n * @example\n *\n * R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n */\nvar insertAll = /*#__PURE__*/_curry3(function insertAll(idx, elts, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));\n});\nexport default insertAll;","import _includes from './_includes.js';\n\nvar _Set = /*#__PURE__*/function () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n };\n\n //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n };\n\n //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n return false;\n }\n }\n // these types can all utilise the native Set\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n return false;\n }\n return true;\n }\n /* falls through */\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n // scan through all previously applied items\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n}\n\n// A simple Set type that honours R.equals semantics\nexport default _Set;","export default function _aperture(n, list) {\n var idx = 0;\n var limit = list.length - (n - 1);\n var acc = new Array(limit >= 0 ? limit : 0);\n while (idx < limit) {\n acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n idx += 1;\n }\n return acc;\n}","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n return list;\n}","import _isFunction from './_isFunction.js';\nimport _toString from './_toString.js';\n\nexport default function _assertPromise(name, p) {\n if (p == null || !_isFunction(p.then)) {\n throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, []));\n }\n}","import _isArray from './_isArray.js';\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n if (length === 0) {\n return fn();\n }\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","import _cloneRegExp from './_cloneRegExp.js';\nimport type from '../type.js';\n\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n idx += 1;\n }\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n return copiedValue;\n };\n switch (type(value)) {\n case 'Object':\n return copy({});\n case 'Array':\n return copy([]);\n case 'Date':\n return new Date(value.valueOf());\n case 'RegExp':\n return _cloneRegExp(value);\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n}","import _arity from './_arity.js';\nimport _curry2 from './_curry2.js';\n\nexport default function _createPartialApplicator(concat) {\n return _curry2(function (fn, args) {\n return _arity(Math.max(0, fn.length - args.length), function () {\n return fn.apply(this, concat(args, arguments));\n });\n });\n}","import _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from './_curry1.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _curry1 from './_curry1.js';\nimport _curry2 from './_curry2.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _arity from './_arity.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n combined[combinedIdx] = result;\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n combinedIdx += 1;\n }\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _isArray from './_isArray.js';\nimport _isTransformer from './_isTransformer.js';\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n if (!_isArray(obj)) {\n var idx = 0;\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n idx += 1;\n }\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n return fn.apply(this, arguments);\n };\n}","import take from '../take.js';\n\nexport default function dropLast(n, xs) {\n return take(n < xs.length ? xs.length - n : 0, xs);\n}","import slice from '../slice.js';\n\nexport default function dropLastWhile(pred, xs) {\n var idx = xs.length - 1;\n while (idx >= 0 && pred(xs[idx])) {\n idx -= 1;\n }\n return slice(0, idx + 1, xs);\n}","import _arrayFromIterator from './_arrayFromIterator.js';\nimport _includesWith from './_includesWith.js';\nimport _functionName from './_functionName.js';\nimport _has from './_has.js';\nimport _objectIs from './_objectIs.js';\nimport keys from '../keys.js';\nimport type from '../type.js';\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n }\n\n // if *a* array contains any element that is not included in *b*\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n break;\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n break;\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n break;\n case 'Error':\n return a.name === b.name && a.message === b.message;\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n break;\n }\n\n var idx = stackA.length - 1;\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n\n idx = keysA.length - 1;\n while (idx >= 0) {\n var key = keysA[idx];\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n idx -= 1;\n }\n return true;\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n}","import _forceReduced from './_forceReduced.js';\nimport _isArrayLike from './_isArrayLike.js';\nimport _reduce from './_reduce.js';\nimport _xfBase from './_xfBase.js';\n\nvar preservingReduced = function (xf) {\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return xf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n var ret = xf['@@transducer/step'](result, input);\n return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n }\n };\n};\n\nvar _flatCat = function _xcat(xf) {\n var rxf = preservingReduced(xf);\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return rxf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n }\n };\n};\n\nexport default _flatCat;","export default function _forceReduced(x) {\n return {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","export default function _identity(x) {\n return x;\n}","import _indexOf from './_indexOf.js';\n\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}","import equals from '../equals.js';\n\nexport default function _indexOf(list, a, idx) {\n var inf, item;\n // Array.prototype.indexOf doesn't exist below IE9\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n while (idx < list.length) {\n item = list[idx];\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n }\n // non-zero numbers can utilise Set\n return list.indexOf(a, idx);\n\n // all these types can utilise Set\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n }\n }\n // anything else not covered above, defer to R.equals\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}","import _has from './_has.js';\n\nvar toString = Object.prototype.toString;\nvar _isArguments = /*#__PURE__*/function () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _curry1 from './_curry1.js';\nimport _isArray from './_isArray.js';\nimport _isString from './_isString.js';\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\nvar _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n if (!x) {\n return false;\n }\n if (typeof x !== 'object') {\n return false;\n }\n if (_isString(x)) {\n return false;\n }\n if (x.nodeType === 1) {\n return !!x.length;\n }\n if (x.length === 0) {\n return true;\n }\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n return false;\n});\nexport default _isArrayLike;","export default function _isFunction(x) {\n return Object.prototype.toString.call(x) === '[object Function]';\n}","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _isNumber(x) {\n return Object.prototype.toString.call(x) === '[object Number]';\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isRegExp(x) {\n return Object.prototype.toString.call(x) === '[object RegExp]';\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArrayLike from './_isArrayLike.js';\n\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n return result;\n}","import _has from './_has.js';\n\n// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n while (idx < length) {\n var source = arguments[idx];\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n idx += 1;\n }\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","export default function _of(x) {\n return [x];\n}","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","export default function _pipeP(f, g) {\n return function () {\n var ctx = this;\n return f.apply(ctx, arguments).then(function (x) {\n return g.call(ctx, x);\n });\n };\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","import _isArrayLike from './_isArrayLike.js';\nimport _xwrap from './_xwrap.js';\nimport bind from '../bind.js';\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n idx += 1;\n }\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n step = iter.next();\n }\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _objectAssign from './_objectAssign.js';\nimport _identity from './_identity.js';\nimport _isArrayLike from './_isArrayLike.js';\nimport _isTransformer from './_isTransformer.js';\nimport objOf from '../objOf.js';\n\nvar _stepCatArray = {\n '@@transducer/init': Array,\n '@@transducer/step': function (xs, x) {\n xs.push(x);\n return xs;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatString = {\n '@@transducer/init': String,\n '@@transducer/step': function (a, b) {\n return a + b;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatObject = {\n '@@transducer/init': Object,\n '@@transducer/step': function (result, input) {\n return _objectAssign(result, _isArrayLike(input) ? objOf(input[0], input[1]) : input);\n },\n '@@transducer/result': _identity\n};\n\nexport default function _stepCat(obj) {\n if (_isTransformer(obj)) {\n return obj;\n }\n if (_isArrayLike(obj)) {\n return _stepCatArray;\n }\n if (typeof obj === 'string') {\n return _stepCatString;\n }\n if (typeof obj === 'object') {\n return _stepCatObject;\n }\n throw new Error('Cannot create transformer for ' + obj);\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","import _includes from './_includes.js';\nimport _map from './_map.js';\nimport _quote from './_quote.js';\nimport _toISOString from './_toISOString.js';\nimport keys from '../keys.js';\nimport reject from '../reject.js';\n\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n };\n\n // mapPairs :: (Object, [String]) -> [String]\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return (/^\\d+$/.test(k)\n );\n }, keys(x)))).join(', ') + ']';\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n case '[object Null]':\n return 'null';\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n case '[object Undefined]':\n return 'undefined';\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XAll = /*#__PURE__*/function () {\n function XAll(f, xf) {\n this.xf = xf;\n this.f = f;\n this.all = true;\n }\n XAll.prototype['@@transducer/init'] = _xfBase.init;\n XAll.prototype['@@transducer/result'] = function (result) {\n if (this.all) {\n result = this.xf['@@transducer/step'](result, true);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAll.prototype['@@transducer/step'] = function (result, input) {\n if (!this.f(input)) {\n this.all = false;\n result = _reduced(this.xf['@@transducer/step'](result, false));\n }\n return result;\n };\n\n return XAll;\n}();\n\nvar _xall = /*#__PURE__*/_curry2(function _xall(f, xf) {\n return new XAll(f, xf);\n});\nexport default _xall;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XAny = /*#__PURE__*/function () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n return result;\n };\n\n return XAny;\n}();\n\nvar _xany = /*#__PURE__*/_curry2(function _xany(f, xf) {\n return new XAny(f, xf);\n});\nexport default _xany;","import _concat from './_concat.js';\nimport _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XAperture = /*#__PURE__*/function () {\n function XAperture(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n XAperture.prototype['@@transducer/init'] = _xfBase.init;\n XAperture.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n XAperture.prototype['@@transducer/step'] = function (result, input) {\n this.store(input);\n return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n };\n XAperture.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n XAperture.prototype.getCopy = function () {\n return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n };\n\n return XAperture;\n}();\n\nvar _xaperture = /*#__PURE__*/_curry2(function _xaperture(n, xf) {\n return new XAperture(n, xf);\n});\nexport default _xaperture;","import _curry2 from './_curry2.js';\nimport _flatCat from './_flatCat.js';\nimport map from '../map.js';\n\nvar _xchain = /*#__PURE__*/_curry2(function _xchain(f, xf) {\n return map(f, _flatCat(xf));\n});\nexport default _xchain;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XDrop = /*#__PURE__*/function () {\n function XDrop(n, xf) {\n this.xf = xf;\n this.n = n;\n }\n XDrop.prototype['@@transducer/init'] = _xfBase.init;\n XDrop.prototype['@@transducer/result'] = _xfBase.result;\n XDrop.prototype['@@transducer/step'] = function (result, input) {\n if (this.n > 0) {\n this.n -= 1;\n return result;\n }\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDrop;\n}();\n\nvar _xdrop = /*#__PURE__*/_curry2(function _xdrop(n, xf) {\n return new XDrop(n, xf);\n});\nexport default _xdrop;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XDropLast = /*#__PURE__*/function () {\n function XDropLast(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n XDropLast.prototype['@@transducer/init'] = _xfBase.init;\n XDropLast.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n XDropLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.full) {\n result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n }\n this.store(input);\n return result;\n };\n XDropLast.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n return XDropLast;\n}();\n\nvar _xdropLast = /*#__PURE__*/_curry2(function _xdropLast(n, xf) {\n return new XDropLast(n, xf);\n});\nexport default _xdropLast;","import _curry2 from './_curry2.js';\nimport _reduce from './_reduce.js';\nimport _xfBase from './_xfBase.js';\n\nvar XDropLastWhile = /*#__PURE__*/function () {\n function XDropLastWhile(fn, xf) {\n this.f = fn;\n this.retained = [];\n this.xf = xf;\n }\n XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n this.retained = null;\n return this.xf['@@transducer/result'](result);\n };\n XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n };\n XDropLastWhile.prototype.flush = function (result, input) {\n result = _reduce(this.xf['@@transducer/step'], result, this.retained);\n this.retained = [];\n return this.xf['@@transducer/step'](result, input);\n };\n XDropLastWhile.prototype.retain = function (result, input) {\n this.retained.push(input);\n return result;\n };\n\n return XDropLastWhile;\n}();\n\nvar _xdropLastWhile = /*#__PURE__*/_curry2(function _xdropLastWhile(fn, xf) {\n return new XDropLastWhile(fn, xf);\n});\nexport default _xdropLastWhile;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XDropRepeatsWith = /*#__PURE__*/function () {\n function XDropRepeatsWith(pred, xf) {\n this.xf = xf;\n this.pred = pred;\n this.lastValue = undefined;\n this.seenFirstValue = false;\n }\n\n XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init;\n XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result;\n XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n var sameAsLast = false;\n if (!this.seenFirstValue) {\n this.seenFirstValue = true;\n } else if (this.pred(this.lastValue, input)) {\n sameAsLast = true;\n }\n this.lastValue = input;\n return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n };\n\n return XDropRepeatsWith;\n}();\n\nvar _xdropRepeatsWith = /*#__PURE__*/_curry2(function _xdropRepeatsWith(pred, xf) {\n return new XDropRepeatsWith(pred, xf);\n});\nexport default _xdropRepeatsWith;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XDropWhile = /*#__PURE__*/function () {\n function XDropWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XDropWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropWhile.prototype['@@transducer/result'] = _xfBase.result;\n XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n if (this.f) {\n if (this.f(input)) {\n return result;\n }\n this.f = null;\n }\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDropWhile;\n}();\n\nvar _xdropWhile = /*#__PURE__*/_curry2(function _xdropWhile(f, xf) {\n return new XDropWhile(f, xf);\n});\nexport default _xdropWhile;","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFilter = /*#__PURE__*/function () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter = /*#__PURE__*/_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\nexport default _xfilter;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFind = /*#__PURE__*/function () {\n function XFind(f, xf) {\n this.xf = xf;\n this.f = f;\n this.found = false;\n }\n XFind.prototype['@@transducer/init'] = _xfBase.init;\n XFind.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, void 0);\n }\n return this.xf['@@transducer/result'](result);\n };\n XFind.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, input));\n }\n return result;\n };\n\n return XFind;\n}();\n\nvar _xfind = /*#__PURE__*/_curry2(function _xfind(f, xf) {\n return new XFind(f, xf);\n});\nexport default _xfind;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFindIndex = /*#__PURE__*/function () {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindIndex.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n return this.xf['@@transducer/result'](result);\n };\n XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n return result;\n };\n\n return XFindIndex;\n}();\n\nvar _xfindIndex = /*#__PURE__*/_curry2(function _xfindIndex(f, xf) {\n return new XFindIndex(f, xf);\n});\nexport default _xfindIndex;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFindLast = /*#__PURE__*/function () {\n function XFindLast(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFindLast.prototype['@@transducer/init'] = _xfBase.init;\n XFindLast.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n };\n XFindLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.last = input;\n }\n return result;\n };\n\n return XFindLast;\n}();\n\nvar _xfindLast = /*#__PURE__*/_curry2(function _xfindLast(f, xf) {\n return new XFindLast(f, xf);\n});\nexport default _xfindLast;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFindLastIndex = /*#__PURE__*/function () {\n function XFindLastIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.lastIdx = -1;\n }\n XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n };\n XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.lastIdx = this.idx;\n }\n return result;\n };\n\n return XFindLastIndex;\n}();\n\nvar _xfindLastIndex = /*#__PURE__*/_curry2(function _xfindLastIndex(f, xf) {\n return new XFindLastIndex(f, xf);\n});\nexport default _xfindLastIndex;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XMap = /*#__PURE__*/function () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap = /*#__PURE__*/_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\nexport default _xmap;","import _curryN from './_curryN.js';\nimport _has from './_has.js';\nimport _xfBase from './_xfBase.js';\n\nvar XReduceBy = /*#__PURE__*/function () {\n function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n this.valueFn = valueFn;\n this.valueAcc = valueAcc;\n this.keyFn = keyFn;\n this.xf = xf;\n this.inputs = {};\n }\n XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n XReduceBy.prototype['@@transducer/result'] = function (result) {\n var key;\n for (key in this.inputs) {\n if (_has(key, this.inputs)) {\n result = this.xf['@@transducer/step'](result, this.inputs[key]);\n if (result['@@transducer/reduced']) {\n result = result['@@transducer/value'];\n break;\n }\n }\n }\n this.inputs = null;\n return this.xf['@@transducer/result'](result);\n };\n XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n var key = this.keyFn(input);\n this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n return result;\n };\n\n return XReduceBy;\n}();\n\nvar _xreduceBy = /*#__PURE__*/_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\nexport default _xreduceBy;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XTake = /*#__PURE__*/function () {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n XTake.prototype['@@transducer/step'] = function (result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return XTake;\n}();\n\nvar _xtake = /*#__PURE__*/_curry2(function _xtake(n, xf) {\n return new XTake(n, xf);\n});\nexport default _xtake;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XTakeWhile = /*#__PURE__*/function () {\n function XTakeWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XTakeWhile.prototype['@@transducer/init'] = _xfBase.init;\n XTakeWhile.prototype['@@transducer/result'] = _xfBase.result;\n XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced(result);\n };\n\n return XTakeWhile;\n}();\n\nvar _xtakeWhile = /*#__PURE__*/_curry2(function _xtakeWhile(f, xf) {\n return new XTakeWhile(f, xf);\n});\nexport default _xtakeWhile;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XTap = /*#__PURE__*/function () {\n function XTap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XTap.prototype['@@transducer/init'] = _xfBase.init;\n XTap.prototype['@@transducer/result'] = _xfBase.result;\n XTap.prototype['@@transducer/step'] = function (result, input) {\n this.f(input);\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XTap;\n}();\n\nvar _xtap = /*#__PURE__*/_curry2(function _xtap(f, xf) {\n return new XTap(f, xf);\n});\nexport default _xtap;","var XWrap = /*#__PURE__*/function () {\n function XWrap(fn) {\n this.f = fn;\n }\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\nimport _filter from './internal/_filter.js';\nimport flip from './flip.js';\nimport uniq from './uniq.js';\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\nvar intersection = /*#__PURE__*/_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\nexport default intersection;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's']\n */\nvar intersperse = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('intersperse', function intersperse(separator, list) {\n var out = [];\n var idx = 0;\n var length = list.length;\n while (idx < length) {\n if (idx === length - 1) {\n out.push(list[idx]);\n } else {\n out.push(list[idx], separator);\n }\n idx += 1;\n }\n return out;\n}));\nexport default intersperse;","import _clone from './internal/_clone.js';\nimport _curry3 from './internal/_curry3.js';\nimport _isTransformer from './internal/_isTransformer.js';\nimport _reduce from './internal/_reduce.js';\nimport _stepCat from './internal/_stepCat.js';\n\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n * transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.transduce\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n * R.into([], transducer, numbers); //=> [2, 3]\n *\n * const intoArray = R.into([]);\n * intoArray(transducer, numbers); //=> [2, 3]\n */\nvar into = /*#__PURE__*/_curry3(function into(acc, xf, list) {\n return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);\n});\nexport default into;","import _curry1 from './internal/_curry1.js';\nimport _has from './internal/_has.js';\nimport keys from './keys.js';\n\n/**\n * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n * duplicate values by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys in an array.\n * @see R.invertObj\n * @example\n *\n * const raceResultsByFirstName = {\n * first: 'alice',\n * second: 'jake',\n * third: 'alice',\n * };\n * R.invert(raceResultsByFirstName);\n * //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\nvar invert = /*#__PURE__*/_curry1(function invert(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n var val = obj[key];\n var list = _has(val, out) ? out[val] : out[val] = [];\n list[list.length] = key;\n idx += 1;\n }\n return out;\n});\nexport default invert;","import _curry1 from './internal/_curry1.js';\nimport keys from './keys.js';\n\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @see R.invert\n * @example\n *\n * const raceResults = {\n * first: 'alice',\n * second: 'jake'\n * };\n * R.invertObj(raceResults);\n * //=> { 'alice': 'first', 'jake':'second' }\n *\n * // Alternatively:\n * const raceResults = ['alice', 'jake'];\n * R.invertObj(raceResults);\n * //=> { 'alice': '0', 'jake':'1' }\n */\nvar invertObj = /*#__PURE__*/_curry1(function invertObj(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n out[obj[key]] = key;\n idx += 1;\n }\n return out;\n});\nexport default invertObj;","import _curry2 from './internal/_curry2.js';\nimport _isFunction from './internal/_isFunction.js';\nimport curryN from './curryN.js';\nimport toString from './toString.js';\n\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n * before the target object.\n * @param {String} method Name of the method to call.\n * @return {Function} A new curried function.\n * @see R.construct\n * @example\n *\n * const sliceFrom = R.invoker(1, 'slice');\n * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n * const sliceFrom6 = R.invoker(2, 'slice')(6);\n * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\nvar invoker = /*#__PURE__*/_curry2(function invoker(arity, method) {\n return curryN(arity + 1, function () {\n var target = arguments[arity];\n if (target != null && _isFunction(target[method])) {\n return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n }\n throw new TypeError(toString(target) + ' does not have a method named \"' + method + '\"');\n });\n});\nexport default invoker;","import _curry2 from './internal/_curry2.js';\n\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\nvar is = /*#__PURE__*/_curry2(function is(Ctor, val) {\n return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\nexport default is;","import _curry1 from './internal/_curry1.js';\nimport empty from './empty.js';\nimport equals from './equals.js';\n\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\nvar isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\nexport default isEmpty;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/_curry1(function isNil(x) {\n return x == null;\n});\nexport default isNil;","import invoker from './invoker.js';\n\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n * const spacer = R.join(' ');\n * spacer(['a', 2, 3.4]); //=> 'a 2 3.4'\n * R.join('|', [1, 2, 3]); //=> '1|2|3'\n */\nvar join = /*#__PURE__*/invoker(1, 'join');\nexport default join;","import _curry1 from './internal/_curry1.js';\nimport converge from './converge.js';\n\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n * const getRange = R.juxt([Math.min, Math.max]);\n * getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\nvar juxt = /*#__PURE__*/_curry1(function juxt(fns) {\n return converge(function () {\n return Array.prototype.slice.call(arguments, 0);\n }, fns);\n});\nexport default juxt;","import _curry1 from './internal/_curry1.js';\nimport _has from './internal/_has.js';\nimport _isArguments from './internal/_isArguments.js';\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n idx += 1;\n }\n return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) : /*#__PURE__*/_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n var prop, nIdx;\n var ks = [];\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n nIdx -= 1;\n }\n }\n return ks;\n});\nexport default keys;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @see R.keys, R.valuesIn\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.keysIn(f); //=> ['x', 'y']\n */\nvar keysIn = /*#__PURE__*/_curry1(function keysIn(obj) {\n var prop;\n var ks = [];\n for (prop in obj) {\n ks[ks.length] = prop;\n }\n return ks;\n});\nexport default keysIn;","import nth from './nth.js';\n\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n * R.last(['fi', 'fo', 'fum']); //=> 'fum'\n * R.last([]); //=> undefined\n *\n * R.last('abc'); //=> 'c'\n * R.last(''); //=> ''\n */\nvar last = /*#__PURE__*/nth(-1);\nexport default last;","import _curry2 from './internal/_curry2.js';\nimport _isArray from './internal/_isArray.js';\nimport equals from './equals.js';\n\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf\n * @example\n *\n * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n * R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\nvar lastIndexOf = /*#__PURE__*/_curry2(function lastIndexOf(target, xs) {\n if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {\n return xs.lastIndexOf(target);\n } else {\n var idx = xs.length - 1;\n while (idx >= 0) {\n if (equals(xs[idx], target)) {\n return idx;\n }\n idx -= 1;\n }\n return -1;\n }\n});\nexport default lastIndexOf;","import _curry1 from './internal/_curry1.js';\nimport _isNumber from './internal/_isNumber.js';\n\n/**\n * Returns the number of elements in the array by returning `list.length`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [a] -> Number\n * @param {Array} list The array to inspect.\n * @return {Number} The length of the array.\n * @example\n *\n * R.length([]); //=> 0\n * R.length([1, 2, 3]); //=> 3\n */\nvar length = /*#__PURE__*/_curry1(function length(list) {\n return list != null && _isNumber(list.length) ? list.length : NaN;\n});\nexport default length;","import _curry2 from './internal/_curry2.js';\nimport map from './map.js';\n\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\nvar lens = /*#__PURE__*/_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\nexport default lens;","import _curry1 from './internal/_curry1.js';\nimport lens from './lens.js';\nimport nth from './nth.js';\nimport update from './update.js';\n\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.view(headLens, ['a', 'b', 'c']); //=> 'a'\n * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c']\n * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\nvar lensIndex = /*#__PURE__*/_curry1(function lensIndex(n) {\n return lens(nth(n), update(n));\n});\nexport default lensIndex;","import _curry1 from './internal/_curry1.js';\nimport assocPath from './assocPath.js';\nimport lens from './lens.js';\nimport path from './path.js';\n\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\nvar lensPath = /*#__PURE__*/_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\nexport default lensPath;","import _curry1 from './internal/_curry1.js';\nimport assoc from './assoc.js';\nimport lens from './lens.js';\nimport prop from './prop.js';\n\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\nvar lensProp = /*#__PURE__*/_curry1(function lensProp(k) {\n return lens(prop(k), assoc(k));\n});\nexport default lensProp;","import _curry1 from './internal/_curry1.js';\nimport liftN from './liftN.js';\n\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n * const madd3 = R.lift((a, b, c) => a + b + c);\n *\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\nvar lift = /*#__PURE__*/_curry1(function lift(fn) {\n return liftN(fn.length, fn);\n});\nexport default lift;","import _curry2 from './internal/_curry2.js';\nimport _reduce from './internal/_reduce.js';\nimport ap from './ap.js';\nimport curryN from './curryN.js';\nimport map from './map.js';\n\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n * const madd3 = R.liftN(3, (...args) => R.sum(args));\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\nvar liftN = /*#__PURE__*/_curry2(function liftN(arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function () {\n return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n });\n});\nexport default liftN;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n * R.lt(2, 1); //=> false\n * R.lt(2, 2); //=> false\n * R.lt(2, 3); //=> true\n * R.lt('a', 'z'); //=> true\n * R.lt('z', 'a'); //=> false\n */\nvar lt = /*#__PURE__*/_curry2(function lt(a, b) {\n return a < b;\n});\nexport default lt;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the first argument is less than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.gte\n * @example\n *\n * R.lte(2, 1); //=> false\n * R.lte(2, 2); //=> true\n * R.lte(2, 3); //=> true\n * R.lte('a', 'z'); //=> true\n * R.lte('z', 'a'); //=> false\n */\nvar lte = /*#__PURE__*/_curry2(function lte(a, b) {\n return a <= b;\n});\nexport default lte;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _map from './internal/_map.js';\nimport _reduce from './internal/_reduce.js';\nimport _xmap from './internal/_xmap.js';\nimport curryN from './curryN.js';\nimport keys from './keys.js';\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\nvar map = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n default:\n return _map(fn, functor);\n }\n}));\nexport default map;","import _curry3 from './internal/_curry3.js';\n\n/**\n * The `mapAccum` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from left to right, and returning a final value of this\n * accumulator together with the new list.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.scan, R.addIndex, R.mapAccumRight\n * @example\n *\n * const digits = ['1', '2', '3', '4'];\n * const appender = (a, b) => [a + b, a + b];\n *\n * R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n * @symb R.mapAccum(f, a, [b, c, d]) = [\n * f(f(f(a, b)[0], c)[0], d)[0],\n * [\n * f(a, b)[1],\n * f(f(a, b)[0], c)[1],\n * f(f(f(a, b)[0], c)[0], d)[1]\n * ]\n * ]\n */\nvar mapAccum = /*#__PURE__*/_curry3(function mapAccum(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var tuple = [acc];\n while (idx < len) {\n tuple = fn(tuple[0], list[idx]);\n result[idx] = tuple[1];\n idx += 1;\n }\n return [tuple[0], result];\n});\nexport default mapAccum;","import _curry3 from './internal/_curry3.js';\n\n/**\n * The `mapAccumRight` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from right to left, and returning a final value of this\n * accumulator together with the new list.\n *\n * Similar to [`mapAccum`](#mapAccum), except moves through the input list from\n * the right to the left.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccum\n * @example\n *\n * const digits = ['1', '2', '3', '4'];\n * const appender = (a, b) => [b + a, b + a];\n *\n * R.mapAccumRight(appender, 5, digits); //=> ['12345', ['12345', '2345', '345', '45']]\n * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n * f(f(f(a, d)[0], c)[0], b)[0],\n * [\n * f(a, d)[1],\n * f(f(a, d)[0], c)[1],\n * f(f(f(a, d)[0], c)[0], b)[1]\n * ]\n * ]\n */\nvar mapAccumRight = /*#__PURE__*/_curry3(function mapAccumRight(fn, acc, list) {\n var idx = list.length - 1;\n var result = [];\n var tuple = [acc];\n while (idx >= 0) {\n tuple = fn(tuple[0], list[idx]);\n result[idx] = tuple[1];\n idx -= 1;\n }\n return [tuple[0], result];\n});\nexport default mapAccumRight;","import _curry2 from './internal/_curry2.js';\nimport _reduce from './internal/_reduce.js';\nimport keys from './keys.js';\n\n/**\n * An Object-specific version of [`map`](#map). The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * [`map`](#map) instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n * const xyz = { x: 1, y: 2, z: 3 };\n * const prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\nvar mapObjIndexed = /*#__PURE__*/_curry2(function mapObjIndexed(fn, obj) {\n return _reduce(function (acc, key) {\n acc[key] = fn(obj[key], key, obj);\n return acc;\n }, {}, keys(obj));\n});\nexport default mapObjIndexed;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n * R.match(/a/, 'b'); //=> []\n * R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\nvar match = /*#__PURE__*/_curry2(function match(rx, str) {\n return str.match(rx) || [];\n});\nexport default match;","import _curry2 from './internal/_curry2.js';\nimport _isInteger from './internal/_isInteger.js';\n\n/**\n * `mathMod` behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n * arguments, and returns NaN when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @see R.modulo\n * @example\n *\n * R.mathMod(-17, 5); //=> 3\n * R.mathMod(17, 5); //=> 2\n * R.mathMod(17, -5); //=> NaN\n * R.mathMod(17, 0); //=> NaN\n * R.mathMod(17.2, 5); //=> NaN\n * R.mathMod(17, 5.3); //=> NaN\n *\n * const clock = R.mathMod(R.__, 12);\n * clock(15); //=> 3\n * clock(24); //=> 0\n *\n * const seventeenMod = R.mathMod(17);\n * seventeenMod(3); //=> 2\n * seventeenMod(4); //=> 1\n * seventeenMod(10); //=> 7\n */\nvar mathMod = /*#__PURE__*/_curry2(function mathMod(m, p) {\n if (!_isInteger(m)) {\n return NaN;\n }\n if (!_isInteger(p) || p < 1) {\n return NaN;\n }\n return (m % p + p) % p;\n});\nexport default mathMod;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\nvar max = /*#__PURE__*/_curry2(function max(a, b) {\n return b > a ? b : a;\n});\nexport default max;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * larger result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.max, R.minBy\n * @example\n *\n * // square :: Number -> Number\n * const square = n => n * n;\n *\n * R.maxBy(square, -3, 2); //=> -3\n *\n * R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n * R.reduce(R.maxBy(square), 0, []); //=> 0\n */\nvar maxBy = /*#__PURE__*/_curry3(function maxBy(f, a, b) {\n return f(b) > f(a) ? b : a;\n});\nexport default maxBy;","import _curry1 from './internal/_curry1.js';\nimport sum from './sum.js';\n\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.median\n * @example\n *\n * R.mean([2, 7, 9]); //=> 6\n * R.mean([]); //=> NaN\n */\nvar mean = /*#__PURE__*/_curry1(function mean(list) {\n return sum(list) / list.length;\n});\nexport default mean;","import _curry1 from './internal/_curry1.js';\nimport mean from './mean.js';\n\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.mean\n * @example\n *\n * R.median([2, 9, 7]); //=> 7\n * R.median([7, 2, 10, 9]); //=> 8\n * R.median([]); //=> NaN\n */\nvar median = /*#__PURE__*/_curry1(function median(list) {\n var len = list.length;\n if (len === 0) {\n return NaN;\n }\n var width = 2 - len % 2;\n var idx = (len - width) / 2;\n return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }).slice(idx, idx + width));\n});\nexport default median;","import _arity from './internal/_arity.js';\nimport _curry2 from './internal/_curry2.js';\nimport _has from './internal/_has.js';\n\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @example\n *\n * let count = 0;\n * const factorial = R.memoizeWith(R.identity, n => {\n * count += 1;\n * return R.product(R.range(1, n + 1));\n * });\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * count; //=> 1\n */\nvar memoizeWith = /*#__PURE__*/_curry2(function memoizeWith(mFn, fn) {\n var cache = {};\n return _arity(fn.length, function () {\n var key = mFn.apply(this, arguments);\n if (!_has(key, cache)) {\n cache[key] = fn.apply(this, arguments);\n }\n return cache[key];\n });\n});\nexport default memoizeWith;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @deprecated\n * @example\n *\n * R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.merge({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.merge(a, b) = {...a, ...b}\n */\nvar merge = /*#__PURE__*/_curry2(function merge(l, r) {\n return _objectAssign({}, l, r);\n});\nexport default merge;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry1 from './internal/_curry1.js';\n\n/**\n * Merges a list of objects together into one object.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\nvar mergeAll = /*#__PURE__*/_curry1(function mergeAll(list) {\n return _objectAssign.apply(null, [{}].concat(list));\n});\nexport default mergeAll;","import _curry2 from './internal/_curry2.js';\nimport mergeDeepWithKey from './mergeDeepWithKey.js';\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}\n */\nvar mergeDeepLeft = /*#__PURE__*/_curry2(function mergeDeepLeft(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return lVal;\n }, lObj, rObj);\n});\nexport default mergeDeepLeft;","import _curry2 from './internal/_curry2.js';\nimport mergeDeepWithKey from './mergeDeepWithKey.js';\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\nvar mergeDeepRight = /*#__PURE__*/_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\nexport default mergeDeepRight;","import _curry3 from './internal/_curry3.js';\nimport mergeDeepWithKey from './mergeDeepWithKey.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to associated values using the\n * resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepWith(R.concat,\n * { a: true, c: { values: [10, 20] }},\n * { b: true, c: { values: [15, 35] }});\n * //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWith = /*#__PURE__*/_curry3(function mergeDeepWith(fn, lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return fn(lVal, rVal);\n }, lObj, rObj);\n});\nexport default mergeDeepWith;","import _curry3 from './internal/_curry3.js';\nimport _isObject from './internal/_isObject.js';\nimport mergeWithKey from './mergeWithKey.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWithKey = /*#__PURE__*/_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\nexport default mergeDeepWithKey;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const resetToDefault = R.mergeLeft({x: 0});\n * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeLeft(a, b) = {...b, ...a}\n */\nvar mergeLeft = /*#__PURE__*/_curry2(function mergeLeft(l, r) {\n return _objectAssign({}, r, l);\n});\nexport default mergeLeft;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\nvar mergeRight = /*#__PURE__*/_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\nexport default mergeRight;","import _curry3 from './internal/_curry3.js';\nimport mergeWithKey from './mergeWithKey.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n * R.mergeWith(R.concat,\n * { a: true, values: [10, 20] },\n * { b: true, values: [15, 35] });\n * //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\nvar mergeWith = /*#__PURE__*/_curry3(function mergeWith(fn, l, r) {\n return mergeWithKey(function (_, _l, _r) {\n return fn(_l, _r);\n }, l, r);\n});\nexport default mergeWith;","import _curry3 from './internal/_curry3.js';\nimport _has from './internal/_has.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\nvar mergeWithKey = /*#__PURE__*/_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\nexport default mergeWithKey;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n * R.min(789, 123); //=> 123\n * R.min('a', 'b'); //=> 'a'\n */\nvar min = /*#__PURE__*/_curry2(function min(a, b) {\n return b < a ? b : a;\n});\nexport default min;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Takes a function and two values, and returns whichever value produces the\n * smaller result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.min, R.maxBy\n * @example\n *\n * // square :: Number -> Number\n * const square = n => n * n;\n *\n * R.minBy(square, -3, 2); //=> 2\n *\n * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n * R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n */\nvar minBy = /*#__PURE__*/_curry3(function minBy(f, a, b) {\n return f(b) < f(a) ? b : a;\n});\nexport default minBy;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Divides the first parameter by the second and returns the remainder. Note\n * that this function preserves the JavaScript-style behavior for modulo. For\n * mathematical modulo see [`mathMod`](#mathMod).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The value to the divide.\n * @param {Number} b The pseudo-modulus\n * @return {Number} The result of `b % a`.\n * @see R.mathMod\n * @example\n *\n * R.modulo(17, 3); //=> 2\n * // JS behavior:\n * R.modulo(-17, 3); //=> -2\n * R.modulo(17, -3); //=> 2\n *\n * const isOdd = R.modulo(R.__, 2);\n * isOdd(42); //=> 0\n * isOdd(21); //=> 1\n */\nvar modulo = /*#__PURE__*/_curry2(function modulo(a, b) {\n return a % b;\n});\nexport default modulo;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Move an item, at index `from`, to index `to`, in a list of elements.\n * A new list will be created containing the new elements order.\n *\n * @func\n * @memberOf R\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} from The source index\n * @param {Number} to The destination index\n * @param {Array} list The list which will serve to realise the move\n * @return {Array} The new list reordered\n * @example\n *\n * R.move(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['b', 'c', 'a', 'd', 'e', 'f']\n * R.move(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'a', 'b', 'c', 'd', 'e'] list rotation\n */\nvar move = /*#__PURE__*/_curry3(function (from, to, list) {\n var length = list.length;\n var result = list.slice();\n var positiveFrom = from < 0 ? length + from : from;\n var positiveTo = to < 0 ? length + to : to;\n var item = result.splice(positiveFrom, 1);\n\n return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length));\n});\n\nexport default move;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n * const double = R.multiply(2);\n * const triple = R.multiply(3);\n * double(3); //=> 6\n * triple(4); //=> 12\n * R.multiply(2, 5); //=> 10\n */\nvar multiply = /*#__PURE__*/_curry2(function multiply(a, b) {\n return a * b;\n});\nexport default multiply;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly `n` parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} n The desired arity of the new function.\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity `n`.\n * @see R.binary, R.unary\n * @example\n *\n * const takesTwoArgs = (a, b) => [a, b];\n *\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * const takesOneArg = R.nAry(1, takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only `n` arguments are passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.nAry(0, f)(a, b) = f()\n * @symb R.nAry(1, f)(a, b) = f(a)\n * @symb R.nAry(2, f)(a, b) = f(a, b)\n */\nvar nAry = /*#__PURE__*/_curry2(function nAry(n, fn) {\n switch (n) {\n case 0:\n return function () {\n return fn.call(this);\n };\n case 1:\n return function (a0) {\n return fn.call(this, a0);\n };\n case 2:\n return function (a0, a1) {\n return fn.call(this, a0, a1);\n };\n case 3:\n return function (a0, a1, a2) {\n return fn.call(this, a0, a1, a2);\n };\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.call(this, a0, a1, a2, a3);\n };\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.call(this, a0, a1, a2, a3, a4);\n };\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.call(this, a0, a1, a2, a3, a4, a5);\n };\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6);\n };\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);\n };\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);\n };\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n };\n default:\n throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n }\n});\nexport default nAry;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Negates its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number}\n * @example\n *\n * R.negate(42); //=> -42\n */\nvar negate = /*#__PURE__*/_curry1(function negate(n) {\n return -n;\n});\nexport default negate;","import _complement from './internal/_complement.js';\nimport _curry2 from './internal/_curry2.js';\nimport all from './all.js';\n\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n * const isEven = n => n % 2 === 0;\n * const isOdd = n => n % 2 === 1;\n *\n * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n */\nvar none = /*#__PURE__*/_curry2(function none(fn, input) {\n return all(_complement(fn), input);\n});\nexport default none;","import _curry1 from './internal/_curry1.js';\n\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\nvar not = /*#__PURE__*/_curry1(function not(a) {\n return !a;\n});\nexport default not;","import _curry2 from './internal/_curry2.js';\nimport _isString from './internal/_isString.js';\n\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\nvar nth = /*#__PURE__*/_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\nexport default nth;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\nimport nth from './nth.js';\n\n/**\n * Returns a function which returns its nth argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig Number -> *... -> *\n * @param {Number} n\n * @return {Function}\n * @example\n *\n * R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n * R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n * @symb R.nthArg(-1)(a, b, c) = c\n * @symb R.nthArg(0)(a, b, c) = a\n * @symb R.nthArg(1)(a, b, c) = b\n */\nvar nthArg = /*#__PURE__*/_curry1(function nthArg(n) {\n var arity = n < 0 ? 1 : n + 1;\n return curryN(arity, function () {\n return nth(n, arguments);\n });\n});\nexport default nthArg;","import _curry3 from './internal/_curry3.js';\n\n/**\n * `o` is a curried composition function that returns a unary function.\n * Like [`compose`](#compose), `o` performs right-to-left function composition.\n * Unlike [`compose`](#compose), the rightmost function passed to `o` will be\n * invoked with only one argument. Also, unlike [`compose`](#compose), `o` is\n * limited to accepting only 2 unary functions. The name o was chosen because\n * of its similarity to the mathematical composition operator ∘.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (b -> c) -> (a -> b) -> a -> c\n * @param {Function} f\n * @param {Function} g\n * @return {Function}\n * @see R.compose, R.pipe\n * @example\n *\n * const classyGreeting = name => \"The name's \" + name.last + \", \" + name.first + \" \" + name.last\n * const yellGreeting = R.o(R.toUpper, classyGreeting);\n * yellGreeting({first: 'James', last: 'Bond'}); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.o(R.multiply(10), R.add(10))(-4) //=> 60\n *\n * @symb R.o(f, g, x) = f(g(x))\n */\nvar o = /*#__PURE__*/_curry3(function o(f, g, x) {\n return f(g(x));\n});\nexport default o;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n * const matchPhrases = R.compose(\n * R.objOf('must'),\n * R.map(R.objOf('match_phrase'))\n * );\n * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\nvar objOf = /*#__PURE__*/_curry2(function objOf(key, val) {\n var obj = {};\n obj[key] = val;\n return obj;\n});\nexport default objOf;","import _curry1 from './internal/_curry1.js';\nimport _of from './internal/_of.js';\n\n/**\n * Returns a singleton array containing the value provided.\n *\n * Note this `of` is different from the ES6 `of`; See\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> [a]\n * @param {*} x any value\n * @return {Array} An array wrapping `x`.\n * @example\n *\n * R.of(null); //=> [null]\n * R.of([42]); //=> [[42]]\n */\nvar of = /*#__PURE__*/_curry1(_of);\nexport default of;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\nexport default omit;","import _arity from './internal/_arity.js';\nimport _curry1 from './internal/_curry1.js';\n\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * const addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\nvar once = /*#__PURE__*/_curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function () {\n if (called) {\n return result;\n }\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\nexport default once;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if one or both of its arguments are `true`. Returns `false`\n * if both arguments are `false`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if truthy, otherwise the second argument.\n * @see R.either\n * @example\n *\n * R.or(true, true); //=> true\n * R.or(true, false); //=> true\n * R.or(false, true); //=> true\n * R.or(false, false); //=> false\n */\nvar or = /*#__PURE__*/_curry2(function or(a, b) {\n return a || b;\n});\nexport default or;","import _curry2 from './internal/_curry2.js';\nimport _assertPromise from './internal/_assertPromise.js';\n\n/**\n * Returns the result of applying the onFailure function to the value inside\n * a failed promise. This is useful for handling rejected promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @category Function\n * @sig (e -> b) -> (Promise e a) -> (Promise e b)\n * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b)\n * @param {Function} onFailure The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(null, onFailure)`\n * @see R.then\n * @example\n *\n * var failedFetch = (id) => Promise.reject('bad ID');\n * var useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' })\n *\n * //recoverFromFailure :: String -> Promise ({firstName, lastName})\n * var recoverFromFailure = R.pipe(\n * failedFetch,\n * R.otherwise(useDefault),\n * R.then(R.pick(['firstName', 'lastName'])),\n * );\n * recoverFromFailure(12345).then(console.log)\n */\nvar otherwise = /*#__PURE__*/_curry2(function otherwise(f, p) {\n _assertPromise('otherwise', p);\n\n return p.then(null, f);\n});\nexport default otherwise;","import _curry3 from './internal/_curry3.js';\n\n// `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\nvar Identity = function (x) {\n return { value: x, map: function (f) {\n return Identity(f(x));\n } };\n};\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\nvar over = /*#__PURE__*/_curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function (y) {\n return Identity(f(y));\n })(x).value;\n});\nexport default over;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category List\n * @sig a -> b -> (a,b)\n * @param {*} fst\n * @param {*} snd\n * @return {Array}\n * @see R.objOf, R.of\n * @example\n *\n * R.pair('foo', 'bar'); //=> ['foo', 'bar']\n */\nvar pair = /*#__PURE__*/_curry2(function pair(fst, snd) {\n return [fst, snd];\n});\nexport default pair;","import _concat from './internal/_concat.js';\nimport _createPartialApplicator from './internal/_createPartialApplicator.js';\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided initially followed by the arguments provided to `g`.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partialRight, R.curry\n * @example\n *\n * const multiply2 = (a, b) => a * b;\n * const double = R.partial(multiply2, [2]);\n * double(2); //=> 4\n *\n * const greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * const sayHello = R.partial(greet, ['Hello']);\n * const sayHelloToMs = R.partial(sayHello, ['Ms.']);\n * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n */\nvar partial = /*#__PURE__*/_createPartialApplicator(_concat);\nexport default partial;","import _concat from './internal/_concat.js';\nimport _createPartialApplicator from './internal/_createPartialApplicator.js';\nimport flip from './flip.js';\n\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided to `g` followed by the arguments provided initially.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partial\n * @example\n *\n * const greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * const greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n *\n * greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n */\nvar partialRight = /*#__PURE__*/_createPartialApplicator( /*#__PURE__*/flip(_concat));\nexport default partialRight;","import filter from './filter.js';\nimport juxt from './juxt.js';\nimport reject from './reject.js';\n\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n * predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']);\n * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]\n *\n * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]\n */\nvar partition = /*#__PURE__*/juxt([filter, reject]);\nexport default partition;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nvar path = /*#__PURE__*/_curry2(function path(paths, obj) {\n var val = obj;\n var idx = 0;\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n val = val[paths[idx]];\n idx += 1;\n }\n return val;\n});\nexport default path;","import _curry3 from './internal/_curry3.js';\nimport equals from './equals.js';\nimport path from './path.js';\n\n/**\n * Determines whether a nested path on an object has a specific value, in\n * [`R.equals`](#equals) terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n * `false` otherwise.\n * @example\n *\n * const user1 = { address: { zipCode: 90210 } };\n * const user2 = { address: { zipCode: 55555 } };\n * const user3 = { name: 'Bob' };\n * const users = [ user1, user2, user3 ];\n * const isFamous = R.pathEq(['address', 'zipCode'], 90210);\n * R.filter(isFamous, users); //=> [ user1 ]\n */\nvar pathEq = /*#__PURE__*/_curry3(function pathEq(_path, val, obj) {\n return equals(path(_path, obj), val);\n});\nexport default pathEq;","import _curry3 from './internal/_curry3.js';\nimport defaultTo from './defaultTo.js';\nimport path from './path.js';\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\nvar pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\nexport default pathOr;","import _curry3 from './internal/_curry3.js';\nimport path from './path.js';\n\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n */\nvar pathSatisfies = /*#__PURE__*/_curry3(function pathSatisfies(pred, propPath, obj) {\n return propPath.length > 0 && pred(path(propPath, obj));\n});\nexport default pathSatisfies;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n idx += 1;\n }\n return result;\n});\nexport default pick;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\nvar pickAll = /*#__PURE__*/_curry2(function pickAll(names, obj) {\n var result = {};\n var idx = 0;\n var len = names.length;\n while (idx < len) {\n var name = names[idx];\n result[name] = obj[name];\n idx += 1;\n }\n return result;\n});\nexport default pickAll;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n * should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n * on it.\n * @see R.pick, R.filter\n * @example\n *\n * const isUpperCase = (val, key) => key.toUpperCase() === key;\n * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\nvar pickBy = /*#__PURE__*/_curry2(function pickBy(test, obj) {\n var result = {};\n for (var prop in obj) {\n if (test(obj[prop], prop, obj)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\nexport default pickBy;","import _arity from './internal/_arity.js';\nimport _pipe from './internal/_pipe.js';\nimport reduce from './reduce.js';\nimport tail from './tail.js';\n\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import composeK from './composeK.js';\nimport reverse from './reverse.js';\n\n/**\n * Returns the left-to-right Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n * @param {...Function}\n * @return {Function}\n * @see R.composeK\n * @deprecated since v0.26.0\n * @example\n *\n * // parseJson :: String -> Maybe *\n * // get :: String -> Object -> Maybe *\n *\n * // getStateCode :: Maybe String -> Maybe String\n * const getStateCode = R.pipeK(\n * parseJson,\n * get('user'),\n * get('address'),\n * get('state'),\n * R.compose(Maybe.of, R.toUpper)\n * );\n *\n * getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n * //=> Just('NY')\n * getStateCode('[Invalid JSON]');\n * //=> Nothing()\n * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n */\nexport default function pipeK() {\n if (arguments.length === 0) {\n throw new Error('pipeK requires at least one argument');\n }\n return composeK.apply(this, reverse(arguments));\n}","import _arity from './internal/_arity.js';\nimport _pipeP from './internal/_pipeP.js';\nimport reduce from './reduce.js';\nimport tail from './tail.js';\n\n/**\n * Performs left-to-right composition of one or more Promise-returning\n * functions. The leftmost function may have any arity; the remaining functions\n * must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeP\n * @deprecated since v0.26.0\n * @example\n *\n * // followersForUser :: String -> Promise [User]\n * const followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n */\nexport default function pipeP() {\n if (arguments.length === 0) {\n throw new Error('pipeP requires at least one argument');\n }\n return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments)));\n}","import _arity from './internal/_arity.js';\nimport _curry2 from './internal/_curry2.js';\nimport head from './head.js';\nimport _reduce from './internal/_reduce.js';\nimport tail from './tail.js';\nimport identity from './identity.js';\n\n/**\n * Performs left-to-right function composition using transforming function. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of pipeWith is not automatically curried.\n *\n * @func\n * @memberOf R\n * @category Function\n * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeWith, R.pipe\n * @example\n *\n * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res));\n * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc])\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, f(g, ...args)))\n */\nvar pipeWith = /*#__PURE__*/_curry2(function pipeWith(xf, list) {\n if (list.length <= 0) {\n return identity;\n }\n\n var headList = head(list);\n var tailList = tail(list);\n\n return _arity(headList.length, function () {\n return _reduce(function (result, f) {\n return xf.call(this, f, result);\n }, headList.apply(this, arguments), tailList);\n });\n});\nexport default pipeWith;","import _curry2 from './internal/_curry2.js';\nimport map from './map.js';\nimport prop from './prop.js';\n\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\nvar pluck = /*#__PURE__*/_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\nexport default pluck;","import _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list with the given element at the front, followed by the\n * contents of the list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The item to add to the head of the output list.\n * @param {Array} list The array to add to the tail of the output list.\n * @return {Array} A new array.\n * @see R.append\n * @example\n *\n * R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n */\nvar prepend = /*#__PURE__*/_curry2(function prepend(el, list) {\n return _concat([el], list);\n});\nexport default prepend;","import multiply from './multiply.js';\nimport reduce from './reduce.js';\n\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.product([2,4,6,8,100,1]); //=> 38400\n */\nvar product = /*#__PURE__*/reduce(multiply, 1);\nexport default product;","import _map from './internal/_map.js';\nimport identity from './identity.js';\nimport pickAll from './pickAll.js';\nimport useWith from './useWith.js';\n\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n * const kids = [abby, fred];\n * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\nvar project = /*#__PURE__*/useWith(_map, [pickAll, identity]); // passing `identity` gives correct arity\nexport default project;","import _curry2 from './internal/_curry2.js';\nimport path from './path.js';\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig s -> {s: a} -> a | Undefined\n * @param {String} p The property name\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop = /*#__PURE__*/_curry2(function prop(p, obj) {\n return path([p], obj);\n});\nexport default prop;","import _curry3 from './internal/_curry3.js';\nimport equals from './equals.js';\n\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\nvar propEq = /*#__PURE__*/_curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\nexport default propEq;","import _curry3 from './internal/_curry3.js';\nimport is from './is.js';\n\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true\n * R.propIs(Number, 'x', {x: 'foo'}); //=> false\n * R.propIs(Number, 'x', {}); //=> false\n */\nvar propIs = /*#__PURE__*/_curry3(function propIs(type, name, obj) {\n return is(type, obj[name]);\n});\nexport default propIs;","import _curry3 from './internal/_curry3.js';\nimport pathOr from './pathOr.js';\n\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\nvar propOr = /*#__PURE__*/_curry3(function propOr(val, p, obj) {\n return pathOr(val, [p], obj);\n});\nexport default propOr;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise. You can test multiple properties with\n * [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.where, R.propEq, R.propIs\n * @example\n *\n * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\nvar propSatisfies = /*#__PURE__*/_curry3(function propSatisfies(pred, name, obj) {\n return pred(obj[name]);\n});\nexport default propSatisfies;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n * const fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\nvar props = /*#__PURE__*/_curry2(function props(ps, obj) {\n var len = ps.length;\n var out = [];\n var idx = 0;\n\n while (idx < len) {\n out[idx] = obj[ps[idx]];\n idx += 1;\n }\n\n return out;\n});\nexport default props;","import _curry2 from './internal/_curry2.js';\nimport _isNumber from './internal/_isNumber.js';\n\n/**\n * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> Number -> [Number]\n * @param {Number} from The first number in the list.\n * @param {Number} to One more than the last number in the list.\n * @return {Array} The list of numbers in the set `[a, b)`.\n * @example\n *\n * R.range(1, 5); //=> [1, 2, 3, 4]\n * R.range(50, 53); //=> [50, 51, 52]\n */\nvar range = /*#__PURE__*/_curry2(function range(from, to) {\n if (!(_isNumber(from) && _isNumber(to))) {\n throw new TypeError('Both arguments to range must be numbers');\n }\n var result = [];\n var n = from;\n while (n < to) {\n result.push(n);\n n += 1;\n }\n return result;\n});\nexport default range;","import _curry3 from './internal/_curry3.js';\nimport _reduce from './internal/_reduce.js';\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nvar reduce = /*#__PURE__*/_curry3(_reduce);\nexport default reduce;","import _curryN from './internal/_curryN.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _has from './internal/_has.js';\nimport _reduce from './internal/_reduce.js';\nimport _xreduceBy from './internal/_xreduceBy.js';\n\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n * value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n * `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n * const groupNames = (acc, {name}) => acc.concat(name)\n * const toGrade = ({score}) =>\n * score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A'\n *\n * var students = [\n * {name: 'Abby', score: 83},\n * {name: 'Bart', score: 62},\n * {name: 'Curt', score: 88},\n * {name: 'Dora', score: 92},\n * ]\n *\n * reduceBy(groupNames, [], toGrade, students)\n * //=> {\"A\": [\"Dora\"], \"B\": [\"Abby\", \"Curt\"], \"F\": [\"Bart\"]}\n */\nvar reduceBy = /*#__PURE__*/_curryN(4, [], /*#__PURE__*/_dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {\n return _reduce(function (acc, elt) {\n var key = keyFn(elt);\n acc[key] = valueFn(_has(key, acc) ? acc[key] : valueAcc, elt);\n return acc;\n }, {}, list);\n}));\nexport default reduceBy;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * Similar to [`reduce`](#reduce), except moves through the input list from the\n * right to the left.\n *\n * The iterator function receives two values: *(value, acc)*, while the arguments'\n * order of `reduce`'s iterator function is *(acc, value)*.\n *\n * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduceRight` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> b) -> b -> [a] -> b\n * @param {Function} fn The iterator function. Receives two values, the current element from the array\n * and the accumulator.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.addIndex\n * @example\n *\n * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n * // - -2\n * // / \\ / \\\n * // 1 - 1 3\n * // / \\ / \\\n * // 2 - ==> 2 -1\n * // / \\ / \\\n * // 3 - 3 4\n * // / \\ / \\\n * // 4 0 4 0\n *\n * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n */\nvar reduceRight = /*#__PURE__*/_curry3(function reduceRight(fn, acc, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n acc = fn(list[idx], acc);\n idx -= 1;\n }\n return acc;\n});\nexport default reduceRight;","import _curryN from './internal/_curryN.js';\nimport _reduce from './internal/_reduce.js';\nimport _reduced from './internal/_reduced.js';\n\n/**\n * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n * through the list, successively calling the iterator function. `reduceWhile`\n * also takes a predicate that is evaluated before each step. If the predicate\n * returns `false`, it \"short-circuits\" the iteration and returns the current\n * value of the accumulator.\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n * current element.\n * @param {Function} fn The iterator function. Receives two values, the\n * accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n * const isOdd = (acc, x) => x % 2 === 1;\n * const xs = [1, 3, 5, 60, 777, 800];\n * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n * const ys = [2, 4, 6]\n * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\nvar reduceWhile = /*#__PURE__*/_curryN(4, [], function _reduceWhile(pred, fn, a, list) {\n return _reduce(function (acc, x) {\n return pred(acc, x) ? fn(acc, x) : _reduced(acc);\n }, a, list);\n});\nexport default reduceWhile;","import _curry1 from './internal/_curry1.js';\nimport _reduced from './internal/_reduced.js';\n\n/**\n * Returns a value wrapped to indicate that it is the final value of the reduce\n * and transduce functions. The returned value should be considered a black\n * box: the internal structure is not guaranteed to be stable.\n *\n * Note: this optimization is only available to the below functions:\n * - [`reduce`](#reduce)\n * - [`reduceWhile`](#reduceWhile)\n * - [`transduce`](#transduce)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category List\n * @sig a -> *\n * @param {*} x The final value of the reduce.\n * @return {*} The wrapped value.\n * @see R.reduce, R.reduceWhile, R.transduce\n * @example\n *\n * R.reduce(\n * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item),\n * [],\n * [1, 2, 3, 4, 5]) // [1, 2, 3]\n */\nvar reduced = /*#__PURE__*/_curry1(_reduced);\nexport default reduced;","import _complement from './internal/_complement.js';\nimport _curry2 from './internal/_curry2.js';\nimport filter from './filter.js';\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\nexport default reject;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @see R.without\n * @example\n *\n * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\nvar remove = /*#__PURE__*/_curry3(function remove(start, count, list) {\n var result = Array.prototype.slice.call(list, 0);\n result.splice(start, count);\n return result;\n});\nexport default remove;","import _curry2 from './internal/_curry2.js';\nimport always from './always.js';\nimport times from './times.js';\n\n/**\n * Returns a fixed list of size `n` containing a specified identical value.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig a -> n -> [a]\n * @param {*} value The value to repeat.\n * @param {Number} n The desired size of the output list.\n * @return {Array} A new array containing `n` `value`s.\n * @see R.times\n * @example\n *\n * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n *\n * const obj = {};\n * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n * repeatedObjs[0] === repeatedObjs[1]; //=> true\n * @symb R.repeat(a, 0) = []\n * @symb R.repeat(a, 1) = [a]\n * @symb R.repeat(a, 2) = [a, a]\n */\nvar repeat = /*#__PURE__*/_curry2(function repeat(value, n) {\n return times(always(value), n);\n});\nexport default repeat;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * The first two parameters correspond to the parameters of the\n * `String.prototype.replace()` function, so the second parameter can also be a\n * function.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n * // Use the \"g\" (global) flag to replace all occurrences:\n * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\nvar replace = /*#__PURE__*/_curry3(function replace(regex, replacement, str) {\n return str.replace(regex, replacement);\n});\nexport default replace;","import _curry1 from './internal/_curry1.js';\nimport _isString from './internal/_isString.js';\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\nvar reverse = /*#__PURE__*/_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\nexport default reverse;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Scan is similar to [`reduce`](#reduce), but returns a list of successively\n * reduced values from the left\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> [a]\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {Array} A list of all intermediately reduced values.\n * @see R.reduce, R.mapAccum\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n */\nvar scan = /*#__PURE__*/_curry3(function scan(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [acc];\n while (idx < len) {\n acc = fn(acc, list[idx]);\n result[idx + 1] = acc;\n idx += 1;\n }\n return result;\n});\nexport default scan;","import _curry2 from './internal/_curry2.js';\nimport ap from './ap.js';\nimport map from './map.js';\nimport prepend from './prepend.js';\nimport reduceRight from './reduceRight.js';\n\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])\n * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n * R.sequence(R.of, Nothing()); //=> [Nothing()]\n */\nvar sequence = /*#__PURE__*/_curry2(function sequence(of, traversable) {\n return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {\n return ap(map(prepend, x), acc);\n }, of([]), traversable);\n});\nexport default sequence;","import _curry3 from './internal/_curry3.js';\nimport always from './always.js';\nimport over from './over.js';\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\nvar set = /*#__PURE__*/_curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\nexport default set;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry3 from './internal/_curry3.js';\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\nvar slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\nexport default slice;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n * const diff = function(a, b) { return a - b; };\n * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\nvar sort = /*#__PURE__*/_curry2(function sort(comparator, list) {\n return Array.prototype.slice.call(list, 0).sort(comparator);\n});\nexport default sort;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n * const sortByFirstItem = R.sortBy(R.prop(0));\n * const pairs = [[-1, 1], [-2, 2], [-3, 3]];\n * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n *\n * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const bob = {\n * name: 'Bob',\n * age: -10\n * };\n * const clara = {\n * name: 'clara',\n * age: 314.159\n * };\n * const people = [clara, bob, alice];\n * sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\nvar sortBy = /*#__PURE__*/_curry2(function sortBy(fn, list) {\n return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n });\n});\nexport default sortBy;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Sorts a list according to a list of comparators.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Relation\n * @sig [(a, a) -> Number] -> [a] -> [a]\n * @param {Array} functions A list of comparator functions.\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted according to the comarator functions.\n * @example\n *\n * const alice = {\n * name: 'alice',\n * age: 40\n * };\n * const bob = {\n * name: 'bob',\n * age: 30\n * };\n * const clara = {\n * name: 'clara',\n * age: 40\n * };\n * const people = [clara, bob, alice];\n * const ageNameSort = R.sortWith([\n * R.descend(R.prop('age')),\n * R.ascend(R.prop('name'))\n * ]);\n * ageNameSort(people); //=> [alice, clara, bob]\n */\nvar sortWith = /*#__PURE__*/_curry2(function sortWith(fns, list) {\n return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n var result = 0;\n var i = 0;\n while (result === 0 && i < fns.length) {\n result = fns[i](a, b);\n i += 1;\n }\n return result;\n });\n});\nexport default sortWith;","import invoker from './invoker.js';\n\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `str`.\n * @see R.join\n * @example\n *\n * const pathComponents = R.split('/');\n * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\nvar split = /*#__PURE__*/invoker(1, 'split');\nexport default split;","import _curry2 from './internal/_curry2.js';\nimport length from './length.js';\nimport slice from './slice.js';\n\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]]\n * R.splitAt(5, 'hello world'); //=> ['hello', ' world']\n * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r']\n */\nvar splitAt = /*#__PURE__*/_curry2(function splitAt(index, array) {\n return [slice(0, index, array), slice(index, length(array), array)];\n});\nexport default splitAt;","import _curry2 from './internal/_curry2.js';\nimport slice from './slice.js';\n\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\nvar splitEvery = /*#__PURE__*/_curry2(function splitEvery(n, list) {\n if (n <= 0) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n var result = [];\n var idx = 0;\n while (idx < list.length) {\n result.push(slice(idx, idx += n, list));\n }\n return result;\n});\nexport default splitEvery;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Takes a list and a predicate and returns a pair of lists with the following properties:\n *\n * - the result of concatenating the two output lists is equivalent to the input list;\n * - none of the elements of the first output list satisfies the predicate; and\n * - if the second output list is non-empty, its first element satisfies the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n * @param {Function} pred The predicate that determines where the array is split.\n * @param {Array} list The array to be split.\n * @return {Array}\n * @example\n *\n * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]]\n */\nvar splitWhen = /*#__PURE__*/_curry2(function splitWhen(pred, list) {\n var idx = 0;\n var len = list.length;\n var prefix = [];\n\n while (idx < len && !pred(list[idx])) {\n prefix.push(list[idx]);\n idx += 1;\n }\n\n return [prefix, Array.prototype.slice.call(list, idx)];\n});\nexport default splitWhen;","import _curry2 from './internal/_curry2.js';\nimport equals from './equals.js';\nimport take from './take.js';\n\n/**\n * Checks if a list starts with the provided sublist.\n *\n * Similarly, checks if a string starts with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @see R.endsWith\n * @example\n *\n * R.startsWith('a', 'abc') //=> true\n * R.startsWith('b', 'abc') //=> false\n * R.startsWith(['a'], ['a', 'b', 'c']) //=> true\n * R.startsWith(['b'], ['a', 'b', 'c']) //=> false\n */\nvar startsWith = /*#__PURE__*/_curry2(function (prefix, list) {\n return equals(take(prefix.length, list), prefix);\n});\nexport default startsWith;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n * R.subtract(10, 8); //=> 2\n *\n * const minus5 = R.subtract(R.__, 5);\n * minus5(17); //=> 12\n *\n * const complementaryAngle = R.subtract(90);\n * complementaryAngle(30); //=> 60\n * complementaryAngle(72); //=> 18\n */\nvar subtract = /*#__PURE__*/_curry2(function subtract(a, b) {\n return Number(a) - Number(b);\n});\nexport default subtract;","import add from './add.js';\nimport reduce from './reduce.js';\n\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.sum([2,4,6,8,100,1]); //=> 121\n */\nvar sum = /*#__PURE__*/reduce(add, 0);\nexport default sum;","import _curry2 from './internal/_curry2.js';\nimport concat from './concat.js';\nimport difference from './difference.js';\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\nvar symmetricDifference = /*#__PURE__*/_curry2(function symmetricDifference(list1, list2) {\n return concat(difference(list1, list2), difference(list2, list1));\n});\nexport default symmetricDifference;","import _curry3 from './internal/_curry3.js';\nimport concat from './concat.js';\nimport differenceWith from './differenceWith.js';\n\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n * const eqA = R.eqBy(R.prop('a'));\n * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\nvar symmetricDifferenceWith = /*#__PURE__*/_curry3(function symmetricDifferenceWith(pred, list1, list2) {\n return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));\n});\nexport default symmetricDifferenceWith;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry1 from './internal/_curry1.js';\nimport slice from './slice.js';\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\nvar tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity)));\nexport default tail;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xtake from './internal/_xtake.js';\nimport slice from './slice.js';\n\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * const personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * const takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\nvar take = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));\nexport default take;","import _curry2 from './internal/_curry2.js';\nimport drop from './drop.js';\n\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(3, 'ramda'); //=> 'mda'\n */\nvar takeLast = /*#__PURE__*/_curry2(function takeLast(n, xs) {\n return drop(n >= 0 ? xs.length - n : 0, xs);\n});\nexport default takeLast;","import _curry2 from './internal/_curry2.js';\nimport slice from './slice.js';\n\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n * const isNotOne = x => x !== 1;\n *\n * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n *\n * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n */\nvar takeLastWhile = /*#__PURE__*/_curry2(function takeLastWhile(fn, xs) {\n var idx = xs.length - 1;\n while (idx >= 0 && fn(xs[idx])) {\n idx -= 1;\n }\n return slice(idx + 1, Infinity, xs);\n});\nexport default takeLastWhile;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xtakeWhile from './internal/_xtakeWhile.js';\nimport slice from './slice.js';\n\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n * const isNotFour = x => x !== 4;\n *\n * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n *\n * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n */\nvar takeWhile = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) {\n var idx = 0;\n var len = xs.length;\n while (idx < len && fn(xs[idx])) {\n idx += 1;\n }\n return slice(0, idx, xs);\n}));\nexport default takeWhile;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xtap from './internal/_xtap.js';\n\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n * const sayX = x => console.log('x is ' + x);\n * R.tap(sayX, 100); //=> 100\n * // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\nvar tap = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xtap, function tap(fn, x) {\n fn(x);\n return x;\n}));\nexport default tap;","import _cloneRegExp from './internal/_cloneRegExp.js';\nimport _curry2 from './internal/_curry2.js';\nimport _isRegExp from './internal/_isRegExp.js';\nimport toString from './toString.js';\n\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n * R.test(/^x/, 'xyz'); //=> true\n * R.test(/^y/, 'xyz'); //=> false\n */\nvar test = /*#__PURE__*/_curry2(function test(pattern, str) {\n if (!_isRegExp(pattern)) {\n throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));\n }\n return _cloneRegExp(pattern).test(str);\n});\nexport default test;","import _curry2 from './internal/_curry2.js';\nimport _assertPromise from './internal/_assertPromise.js';\n\n/**\n * Returns the result of applying the onSuccess function to the value inside\n * a successfully resolved promise. This is useful for working with promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @category Function\n * @sig (a -> b) -> (Promise e a) -> (Promise e b)\n * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b)\n * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(onSuccess)`\n * @see R.otherwise\n * @example\n *\n * var makeQuery = (email) => ({ query: { email }});\n *\n * //getMemberName :: String -> Promise ({firstName, lastName})\n * var getMemberName = R.pipe(\n * makeQuery,\n * fetchMember,\n * R.then(R.pick(['firstName', 'lastName']))\n * );\n */\nvar then = /*#__PURE__*/_curry2(function then(f, p) {\n _assertPromise('then', p);\n\n return p.then(f);\n});\nexport default then;","import curryN from './curryN.js';\nimport _curry1 from './internal/_curry1.js';\n\n/**\n * Creates a thunk out of a function. A thunk delays a calculation until\n * its result is needed, providing lazy evaluation of arguments.\n *\n * @func\n * @memberOf R\n * @category Function\n * @sig ((a, b, ..., j) -> k) -> (a, b, ..., j) -> (() -> k)\n * @param {Function} fn A function to wrap in a thunk\n * @return {Function} Expects arguments for `fn` and returns a new function\n * that, when called, applies those arguments to `fn`.\n * @see R.partial, R.partialRight\n * @example\n *\n * R.thunkify(R.identity)(42)(); //=> 42\n * R.thunkify((a, b) => a + b)(25, 17)(); //=> 42\n */\nvar thunkify = /*#__PURE__*/_curry1(function thunkify(fn) {\n return curryN(fn.length, function createThunk() {\n var fnArgs = arguments;\n return function invokeThunk() {\n return fn.apply(this, fnArgs);\n };\n });\n});\n\nexport default thunkify;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @see R.repeat\n * @example\n *\n * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\nvar times = /*#__PURE__*/_curry2(function times(fn, n) {\n var len = Number(n);\n var idx = 0;\n var list;\n\n if (len < 0 || isNaN(len)) {\n throw new RangeError('n must be a non-negative number');\n }\n list = new Array(len);\n while (idx < len) {\n list[idx] = fn(idx);\n idx += 1;\n }\n return list;\n});\nexport default times;","import invoker from './invoker.js';\n\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n * R.toLower('XYZ'); //=> 'xyz'\n */\nvar toLower = /*#__PURE__*/invoker(0, 'toLowerCase');\nexport default toLower;","import _curry1 from './internal/_curry1.js';\nimport _has from './internal/_has.js';\n\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\nvar toPairs = /*#__PURE__*/_curry1(function toPairs(obj) {\n var pairs = [];\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n return pairs;\n});\nexport default toPairs;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Converts an object into an array of key, value arrays. The object's own\n * properties and prototype properties are used. Note that the order of the\n * output array is not guaranteed to be consistent across different JS\n * platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own\n * and prototype properties.\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n */\nvar toPairsIn = /*#__PURE__*/_curry1(function toPairsIn(obj) {\n var pairs = [];\n for (var prop in obj) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n return pairs;\n});\nexport default toPairsIn;","import _curry1 from './internal/_curry1.js';\nimport _toString from './internal/_toString.js';\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/_curry1(function toString(val) {\n return _toString(val, []);\n});\nexport default toString;","import invoker from './invoker.js';\n\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n * R.toUpper('abc'); //=> 'ABC'\n */\nvar toUpper = /*#__PURE__*/invoker(0, 'toUpperCase');\nexport default toUpper;","import _reduce from './internal/_reduce.js';\nimport _xwrap from './internal/_xwrap.js';\nimport curryN from './curryN.js';\n\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the [`R.reduced`](#reduced) function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is\n * [`R.identity`](#identity). The init function can be used to provide an\n * initial accumulator, but is ignored by transduce.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array. Wrapped as transformer, if necessary, and used to\n * initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n *\n * const isOdd = (x) => x % 2 === 1;\n * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n */\nvar transduce = /*#__PURE__*/curryN(4, function transduce(xf, fn, acc, list) {\n return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);\n});\nexport default transduce;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Transposes the rows and columns of a 2D list.\n * When passed a list of `n` lists of length `x`,\n * returns a list of `x` lists of length `n`.\n *\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [[a]] -> [[a]]\n * @param {Array} list A 2D list\n * @return {Array} A 2D list\n * @example\n *\n * R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n * R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n *\n * // If some of the rows are shorter than the following rows, their elements are skipped:\n * R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n */\nvar transpose = /*#__PURE__*/_curry1(function transpose(outerlist) {\n var i = 0;\n var result = [];\n while (i < outerlist.length) {\n var innerlist = outerlist[i];\n var j = 0;\n while (j < innerlist.length) {\n if (typeof result[j] === 'undefined') {\n result[j] = [];\n }\n result[j].push(innerlist[j]);\n j += 1;\n }\n i += 1;\n }\n return result;\n});\nexport default transpose;","import _curry3 from './internal/_curry3.js';\nimport map from './map.js';\nimport sequence from './sequence.js';\n\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `traverse` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n * // Returns `Maybe.Nothing` if the given divisor is `0`\n * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d)\n *\n * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2])\n * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing\n */\nvar traverse = /*#__PURE__*/_curry3(function traverse(of, f, traversable) {\n return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable));\n});\nexport default traverse;","import _curry1 from './internal/_curry1.js';\n\nvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\nvar zeroWidth = '\\u200b';\nvar hasProtoTrim = typeof String.prototype.trim === 'function';\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n * R.trim(' xyz '); //=> 'xyz'\n * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\nvar trim = !hasProtoTrim || /*#__PURE__*/ws.trim() || ! /*#__PURE__*/zeroWidth.trim() ? /*#__PURE__*/_curry1(function trim(str) {\n var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n return str.replace(beginRx, '').replace(endRx, '');\n}) : /*#__PURE__*/_curry1(function trim(str) {\n return str.trim();\n});\nexport default trim;","import _arity from './internal/_arity.js';\nimport _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n * function evaluates the `tryer`; if it does not throw, it simply returns the\n * result. If the `tryer` *does* throw, the returned function evaluates the\n * `catcher` function and returns its result. Note that for effective\n * composition with this function, both the `tryer` and `catcher` functions\n * must return the same type of results.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n * @param {Function} tryer The function that may throw.\n * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n * @return {Function} A new function that will catch exceptions and send then to the catcher.\n * @example\n *\n * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched'\n * R.tryCatch(R.times(R.identity), R.always([]))('s') // => []\n `` */\nvar tryCatch = /*#__PURE__*/_curry2(function _tryCatch(tryer, catcher) {\n return _arity(tryer.length, function () {\n try {\n return tryer.apply(this, arguments);\n } catch (e) {\n return catcher.apply(this, _concat([e], arguments));\n }\n });\n});\nexport default tryCatch;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\nvar type = /*#__PURE__*/_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\nexport default type;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Takes a function `fn`, which takes a single array argument, and returns a\n * function which:\n *\n * - takes any number of positional arguments;\n * - passes these arguments to `fn` as an array; and\n * - returns the result.\n *\n * In other words, `R.unapply` derives a variadic function from a function which\n * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply).\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Function\n * @sig ([*...] -> a) -> (*... -> a)\n * @param {Function} fn\n * @return {Function}\n * @see R.apply\n * @example\n *\n * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n * @symb R.unapply(f)(a, b) = f([a, b])\n */\nvar unapply = /*#__PURE__*/_curry1(function unapply(fn) {\n return function () {\n return fn(Array.prototype.slice.call(arguments, 0));\n };\n});\nexport default unapply;","import _curry1 from './internal/_curry1.js';\nimport nAry from './nAry.js';\n\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 1 parameter. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> b) -> (a -> b)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 1.\n * @see R.binary, R.nAry\n * @example\n *\n * const takesTwoArgs = function(a, b) {\n * return [a, b];\n * };\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * const takesOneArg = R.unary(takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only 1 argument is passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.unary(f)(a, b, c) = f(a)\n */\nvar unary = /*#__PURE__*/_curry1(function unary(fn) {\n return nAry(1, fn);\n});\nexport default unary;","import _curry2 from './internal/_curry2.js';\nimport curryN from './curryN.js';\n\n/**\n * Returns a function of arity `n` from a (manually) curried function.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Function\n * @sig Number -> (a -> b) -> (a -> c)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to uncurry.\n * @return {Function} A new function.\n * @see R.curry\n * @example\n *\n * const addFour = a => b => c => d => a + b + c + d;\n *\n * const uncurriedAddFour = R.uncurryN(4, addFour);\n * uncurriedAddFour(1, 2, 3, 4); //=> 10\n */\nvar uncurryN = /*#__PURE__*/_curry2(function uncurryN(depth, fn) {\n return curryN(depth, function () {\n var currentDepth = 1;\n var value = fn;\n var idx = 0;\n var endIdx;\n while (currentDepth <= depth && typeof value === 'function') {\n endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n currentDepth += 1;\n idx = endIdx;\n }\n return value;\n });\n});\nexport default uncurryN;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Builds a list from a seed value. Accepts an iterator function, which returns\n * either false to stop iteration or an array of length 2 containing the value\n * to add to the resulting list and the seed to be used in the next call to the\n * iterator function.\n *\n * The iterator function receives one argument: *(seed)*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a -> [b]) -> * -> [b]\n * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n * either false to quit iteration or an array of length two to proceed. The element\n * at index 0 of this array will be added to the resulting array, and the element\n * at index 1 will be passed to the next call to `fn`.\n * @param {*} seed The seed value.\n * @return {Array} The final list.\n * @example\n *\n * const f = n => n > 50 ? false : [-n, n + 10];\n * R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n */\nvar unfold = /*#__PURE__*/_curry2(function unfold(fn, seed) {\n var pair = fn(seed);\n var result = [];\n while (pair && pair.length) {\n result[result.length] = pair[0];\n pair = fn(pair[1]);\n }\n return result;\n});\nexport default unfold;","import _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\nimport compose from './compose.js';\nimport uniq from './uniq.js';\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @example\n *\n * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\nvar union = /*#__PURE__*/_curry2( /*#__PURE__*/compose(uniq, _concat));\nexport default union;","import _concat from './internal/_concat.js';\nimport _curry3 from './internal/_curry3.js';\nimport uniqWith from './uniqWith.js';\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @see R.union\n * @example\n *\n * const l1 = [{a: 1}, {a: 2}];\n * const l2 = [{a: 1}, {a: 4}];\n * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\nvar unionWith = /*#__PURE__*/_curry3(function unionWith(pred, list1, list2) {\n return uniqWith(pred, _concat(list1, list2));\n});\nexport default unionWith;","import identity from './identity.js';\nimport uniqBy from './uniqBy.js';\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\nvar uniq = /*#__PURE__*/uniqBy(identity);\nexport default uniq;","import _Set from './internal/_Set.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\nvar uniqBy = /*#__PURE__*/_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n if (set.add(appliedItem)) {\n result.push(item);\n }\n idx += 1;\n }\n return result;\n});\nexport default uniqBy;","import _includesWith from './internal/_includesWith.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * const strEq = R.eqBy(String);\n * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n * R.uniqWith(strEq)([{}, {}]); //=> [{}]\n * R.uniqWith(strEq)([1, '1', 1]); //=> [1]\n * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1']\n */\nvar uniqWith = /*#__PURE__*/_curry2(function uniqWith(pred, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var item;\n while (idx < len) {\n item = list[idx];\n if (!_includesWith(pred, item, result)) {\n result[result.length] = item;\n }\n idx += 1;\n }\n return result;\n});\nexport default uniqWith;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is not satisfied, the function will return the result of\n * calling the `whenFalseFn` function with the same argument. If the predicate\n * is satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n * to a falsy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenFalseFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n * @see R.ifElse, R.when, R.cond\n * @example\n *\n * let safeInc = R.unless(R.isNil, R.inc);\n * safeInc(null); //=> null\n * safeInc(1); //=> 2\n */\nvar unless = /*#__PURE__*/_curry3(function unless(pred, whenFalseFn, x) {\n return pred(x) ? x : whenFalseFn(x);\n});\nexport default unless;","import _identity from './internal/_identity.js';\nimport chain from './chain.js';\n\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\nvar unnest = /*#__PURE__*/chain(_identity);\nexport default unnest;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Takes a predicate, a transformation function, and an initial value,\n * and returns a value of the same type as the initial value.\n * It does so by applying the transformation until the predicate is satisfied,\n * at which point it returns the satisfactory value.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} fn The iterator function\n * @param {*} init Initial value\n * @return {*} Final value that satisfies predicate\n * @example\n *\n * R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n */\nvar until = /*#__PURE__*/_curry3(function until(pred, fn, init) {\n var val = init;\n while (!pred(val)) {\n val = fn(val);\n }\n return val;\n});\nexport default until;","import _curry3 from './internal/_curry3.js';\nimport adjust from './adjust.js';\nimport always from './always.js';\n\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c']\n * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_']\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\nvar update = /*#__PURE__*/_curry3(function update(idx, x, list) {\n return adjust(idx, always(x), list);\n});\nexport default update;","import _curry2 from './internal/_curry2.js';\nimport curryN from './curryN.js';\n\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\nvar useWith = /*#__PURE__*/_curry2(function useWith(fn, transformers) {\n return curryN(transformers.length, function () {\n var args = [];\n var idx = 0;\n while (idx < transformers.length) {\n args.push(transformers[idx].call(this, arguments[idx]));\n idx += 1;\n }\n return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n });\n});\nexport default useWith;","import _curry1 from './internal/_curry1.js';\nimport keys from './keys.js';\n\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\nvar values = /*#__PURE__*/_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n return vals;\n});\nexport default values;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Returns a list of all the properties, including prototype properties, of the\n * supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own and prototype properties.\n * @see R.values, R.keysIn\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.valuesIn(f); //=> ['X', 'Y']\n */\nvar valuesIn = /*#__PURE__*/_curry1(function valuesIn(obj) {\n var prop;\n var vs = [];\n for (prop in obj) {\n vs[vs.length] = obj[prop];\n }\n return vs;\n});\nexport default valuesIn;","import _curry2 from './internal/_curry2.js';\n\n// `Const` is a functor that effectively ignores the function given to `map`.\nvar Const = function (x) {\n return { value: x, 'fantasy-land/map': function () {\n return this;\n } };\n};\n\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\nvar view = /*#__PURE__*/_curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n});\nexport default view;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is satisfied, the function will return the result of calling\n * the `whenTrueFn` function with the same argument. If the predicate is not\n * satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenTrueFn A function to invoke when the `condition`\n * evaluates to a truthy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenTrueFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n * @see R.ifElse, R.unless, R.cond\n * @example\n *\n * // truncate :: String -> String\n * const truncate = R.when(\n * R.propSatisfies(R.gt(R.__, 10), 'length'),\n * R.pipe(R.take(10), R.append('…'), R.join(''))\n * );\n * truncate('12345'); //=> '12345'\n * truncate('0123456789ABC'); //=> '0123456789…'\n */\nvar when = /*#__PURE__*/_curry3(function when(pred, whenTrueFn, x) {\n return pred(x) ? whenTrueFn(x) : x;\n});\nexport default when;","import _curry2 from './internal/_curry2.js';\nimport _has from './internal/_has.js';\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec. Each of the spec's own properties must be a predicate function.\n * Each predicate is applied to the value of the corresponding property of the\n * test object. `where` returns true if all the predicates return true, false\n * otherwise.\n *\n * `where` is well suited to declaratively expressing constraints for other\n * functions such as [`filter`](#filter) and [`find`](#find).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Object\n * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propSatisfies, R.whereEq\n * @example\n *\n * // pred :: Object -> Boolean\n * const pred = R.where({\n * a: R.equals('foo'),\n * b: R.complement(R.equals('bar')),\n * x: R.gt(R.__, 10),\n * y: R.lt(R.__, 20)\n * });\n *\n * pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n * pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n */\nvar where = /*#__PURE__*/_curry2(function where(spec, testObj) {\n for (var prop in spec) {\n if (_has(prop, spec) && !spec[prop](testObj[prop])) {\n return false;\n }\n }\n return true;\n});\nexport default where;","import _curry2 from './internal/_curry2.js';\nimport equals from './equals.js';\nimport map from './map.js';\nimport where from './where.js';\n\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in [`R.equals`](#equals) terms) as accessing that property of the\n * spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propEq, R.where\n * @example\n *\n * // pred :: Object -> Boolean\n * const pred = R.whereEq({a: 1, b: 2});\n *\n * pred({a: 1}); //=> false\n * pred({a: 1, b: 2}); //=> true\n * pred({a: 1, b: 2, c: 3}); //=> true\n * pred({a: 1, b: 1}); //=> false\n */\nvar whereEq = /*#__PURE__*/_curry2(function whereEq(spec, testObj) {\n return where(map(equals, spec), testObj);\n});\nexport default whereEq;","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\nimport flip from './flip.js';\nimport reject from './reject.js';\n\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\nvar without = /*#__PURE__*/_curry2(function (xs, list) {\n return reject(flip(_includes)(xs), list);\n});\nexport default without;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a new list out of the two supplied by creating each possible pair\n * from the lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The list made by combining each possible pair from\n * `as` and `bs` into pairs (`[a, b]`).\n * @example\n *\n * R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n */\nvar xprod = /*#__PURE__*/_curry2(function xprod(a, b) {\n // = xprodWith(prepend); (takes about 3 times as long...)\n var idx = 0;\n var ilen = a.length;\n var j;\n var jlen = b.length;\n var result = [];\n while (idx < ilen) {\n j = 0;\n while (j < jlen) {\n result[result.length] = [a[idx], b[j]];\n j += 1;\n }\n idx += 1;\n }\n return result;\n});\nexport default xprod;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\nvar zip = /*#__PURE__*/_curry2(function zip(a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n while (idx < len) {\n rv[idx] = [a[idx], b[idx]];\n idx += 1;\n }\n return rv;\n});\nexport default zip;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\nvar zipObj = /*#__PURE__*/_curry2(function zipObj(keys, values) {\n var idx = 0;\n var len = Math.min(keys.length, values.length);\n var out = {};\n while (idx < len) {\n out[keys[idx]] = values[idx];\n idx += 1;\n }\n return out;\n});\nexport default zipObj;","import _curry3 from './internal/_curry3.js';\n\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * const f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\nvar zipWith = /*#__PURE__*/_curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n return rv;\n});\nexport default zipWith;","/** @license React v16.11.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = undefined;\n\nvar _react = require('react');\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar didWarnAboutReceivingStore = false;\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n didWarnAboutReceivingStore = true;\n\n (0, _warning2[\"default\"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n Provider.prototype.getChildContext = function getChildContext() {\n return { store: this.store };\n };\n\n function Provider(props, context) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.store = props.store;\n return _this;\n }\n\n Provider.prototype.render = function render() {\n return _react.Children.only(this.props.children);\n };\n\n return Provider;\n}(_react.Component);\n\nexports[\"default\"] = Provider;\n\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n var store = this.store;\n var nextStore = nextProps.store;\n\n\n if (store !== nextStore) {\n warnAboutReceivingStore();\n }\n };\n}\n\nProvider.propTypes = {\n store: _storeShape2[\"default\"].isRequired,\n children: _propTypes2[\"default\"].element.isRequired\n};\nProvider.childContextTypes = {\n store: _storeShape2[\"default\"].isRequired\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports[\"default\"] = connect;\n\nvar _react = require('react');\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = require('../utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = require('../utils/wrapActionCreators');\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n};\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = { value: null };\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n}\n\n// Helps track hot reloading.\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n\n var mapDispatch = void 0;\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure,\n pure = _options$pure === undefined ? true : _options$pure,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\n // Helps track hot reloading.\n var version = nextVersion++;\n\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mergedProps, 'mergeProps');\n }\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n _this.state = { storeState: storeState };\n _this.clearCache();\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n if (!haveStatePropsChanged) {\n return;\n }\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({ storeState: storeState });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged,\n hasStoreStateChanged = this.hasStoreStateChanged,\n haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated,\n statePropsPrecalculationError = this.statePropsPrecalculationError,\n renderedElement = this.renderedElement;\n\n\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n }\n\n // We are hot reloading!\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}","'use strict';\n\nexports.__esModule = true;\nexports.connect = exports.Provider = undefined;\n\nvar _Provider = require('./components/Provider');\n\nvar _Provider2 = _interopRequireDefault(_Provider);\n\nvar _connect = require('./components/connect');\n\nvar _connect2 = _interopRequireDefault(_connect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Provider = _Provider2[\"default\"];\nexports.connect = _connect2[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _propTypes2[\"default\"].shape({\n subscribe: _propTypes2[\"default\"].func.isRequired,\n dispatch: _propTypes2[\"default\"].func.isRequired,\n getState: _propTypes2[\"default\"].func.isRequired\n});","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = wrapActionCreators;\n\nvar _redux = require('redux');\n\nfunction wrapActionCreators(actionCreators) {\n return function (dispatch) {\n return (0, _redux.bindActionCreators)(actionCreators, dispatch);\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n for (var _len = arguments.length, reducers = Array(_len), _key = 0; _key < _len; _key++) {\n reducers[_key] = arguments[_key];\n }\n\n return function (previous, current) {\n return reducers.reduce(function (p, r) {\n return r(p, current);\n }, previous);\n };\n};\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createAction;\nfunction identity(t) {\n return t;\n}\n\nfunction createAction(type, actionCreator, metaCreator) {\n var finalActionCreator = typeof actionCreator === 'function' ? actionCreator : identity;\n\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var action = {\n type: type,\n payload: finalActionCreator.apply(undefined, args)\n };\n\n if (args.length === 1 && args[0] instanceof Error) {\n // Handle FSA errors where the payload is an Error object. Set error.\n action.error = true;\n }\n\n if (typeof metaCreator === 'function') {\n action.meta = metaCreator.apply(undefined, args);\n }\n\n return action;\n };\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = handleAction;\n\nvar _fluxStandardAction = require('flux-standard-action');\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n\nfunction handleAction(type, reducers) {\n return function (state, action) {\n // If action type does not match, return previous state\n if (action.type !== type) return state;\n\n var handlerKey = _fluxStandardAction.isError(action) ? 'throw' : 'next';\n\n // If function is passed instead of map, use as reducer\n if (isFunction(reducers)) {\n reducers.next = reducers['throw'] = reducers;\n }\n\n // Otherwise, assume an action map was passed\n var reducer = reducers[handlerKey];\n\n return isFunction(reducer) ? reducer(state, action) : state;\n };\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = handleActions;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _handleAction = require('./handleAction');\n\nvar _handleAction2 = _interopRequireDefault(_handleAction);\n\nvar _ownKeys = require('./ownKeys');\n\nvar _ownKeys2 = _interopRequireDefault(_ownKeys);\n\nvar _reduceReducers = require('reduce-reducers');\n\nvar _reduceReducers2 = _interopRequireDefault(_reduceReducers);\n\nfunction handleActions(handlers, defaultState) {\n var reducers = _ownKeys2['default'](handlers).map(function (type) {\n return _handleAction2['default'](type, handlers[type]);\n });\n\n return typeof defaultState !== 'undefined' ? function (state, action) {\n if (state === undefined) state = defaultState;\n return _reduceReducers2['default'].apply(undefined, reducers)(state, action);\n } : _reduceReducers2['default'].apply(undefined, reducers);\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createAction = require('./createAction');\n\nvar _createAction2 = _interopRequireDefault(_createAction);\n\nvar _handleAction = require('./handleAction');\n\nvar _handleAction2 = _interopRequireDefault(_handleAction);\n\nvar _handleActions = require('./handleActions');\n\nvar _handleActions2 = _interopRequireDefault(_handleActions);\n\nexports.createAction = _createAction2['default'];\nexports.handleAction = _handleAction2['default'];\nexports.handleActions = _handleActions2['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = ownKeys;\n\nfunction ownKeys(object) {\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n return Reflect.ownKeys(object);\n }\n\n var keys = Object.getOwnPropertyNames(object);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(object));\n }\n\n return keys;\n}\n\nmodule.exports = exports['default'];","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}","\"use strict\";\n\nvar stylesInDom = {};\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nfunction listToStyles(list, options) {\n var styles = [];\n var newStyles = {};\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var css = item[1];\n var media = item[2];\n var sourceMap = item[3];\n var part = {\n css: css,\n media: media,\n sourceMap: sourceMap\n };\n\n if (!newStyles[id]) {\n styles.push(newStyles[id] = {\n id: id,\n parts: [part]\n });\n } else {\n newStyles[id].parts.push(part);\n }\n }\n\n return styles;\n}\n\nfunction addStylesToDom(styles, options) {\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i];\n var domStyle = stylesInDom[item.id];\n var j = 0;\n\n if (domStyle) {\n domStyle.refs++;\n\n for (; j < domStyle.parts.length; j++) {\n domStyle.parts[j](item.parts[j]);\n }\n\n for (; j < item.parts.length; j++) {\n domStyle.parts.push(addStyle(item.parts[j], options));\n }\n } else {\n var parts = [];\n\n for (; j < item.parts.length; j++) {\n parts.push(addStyle(item.parts[j], options));\n }\n\n stylesInDom[item.id] = {\n id: item.id,\n refs: 1,\n parts: parts\n };\n }\n }\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n\n if (typeof options.attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n options.attributes.nonce = nonce;\n }\n }\n\n Object.keys(options.attributes).forEach(function (key) {\n style.setAttribute(key, options.attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n options.attributes = typeof options.attributes === 'object' ? options.attributes : {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n var styles = listToStyles(list, options);\n addStylesToDom(styles, options);\n return function update(newList) {\n var mayRemove = [];\n\n for (var i = 0; i < styles.length; i++) {\n var item = styles[i];\n var domStyle = stylesInDom[item.id];\n\n if (domStyle) {\n domStyle.refs--;\n mayRemove.push(domStyle);\n }\n }\n\n if (newList) {\n var newStyles = listToStyles(newList, options);\n addStylesToDom(newStyles, options);\n }\n\n for (var _i = 0; _i < mayRemove.length; _i++) {\n var _domStyle = mayRemove[_i];\n\n if (_domStyle.refs === 0) {\n for (var j = 0; j < _domStyle.parts.length; j++) {\n _domStyle.parts[j]();\n }\n\n delete stylesInDom[_domStyle.id];\n }\n }\n };\n};","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/*\nViz.js 1.7.1 (Graphviz 2.40.1, Expat 2.1.0, Emscripten 1.37.9)\nCopyright (c) 2014-2017 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software in object code form:\n\nGraphviz\nLicensed under Eclipse Public License - v 1.0\nhttp://www.graphviz.org\n\nExpat\nCopyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.\nLicensed under MIT license\nhttp://www.libexpat.org\n\nzlib\nCopyright (C) 1995-2013 Jean-loup Gailly and Mark Adler\nhttp://www.zlib.net/zlib_license.html\n*/\n(function(global) {\nvar Module = function(Module) {\n Module = Module || {};\n var Module = Module;\n\nvar Module;if(!Module)Module=(typeof Module!==\"undefined\"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){if(Module[\"ENVIRONMENT\"]===\"WEB\"){ENVIRONMENT_IS_WEB=true}else if(Module[\"ENVIRONMENT\"]===\"WORKER\"){ENVIRONMENT_IS_WORKER=true}else if(Module[\"ENVIRONMENT\"]===\"NODE\"){ENVIRONMENT_IS_NODE=true}else if(Module[\"ENVIRONMENT\"]===\"SHELL\"){ENVIRONMENT_IS_SHELL=true}else{throw new Error(\"The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.\")}}else{ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){if(!Module[\"print\"])Module[\"print\"]=console.log;if(!Module[\"printErr\"])Module[\"printErr\"]=console.warn;var nodeFS;var nodePath;Module[\"read\"]=function read(filename,binary){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);var ret=nodeFS[\"readFileSync\"](filename);return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};Module[\"load\"]=function load(f){globalEval(read(f))};if(!Module[\"thisProgram\"]){if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}else{Module[\"thisProgram\"]=\"unknown-program\"}}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(!Module[\"print\"])Module[\"print\"]=print;if(typeof printErr!=\"undefined\")Module[\"printErr\"]=printErr;if(typeof read!=\"undefined\"){Module[\"read\"]=read}else{Module[\"read\"]=function read(){throw\"no read() available\"}}Module[\"readBinary\"]=function readBinary(f){if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}var data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function read(url){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return xhr.response}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof console!==\"undefined\"){if(!Module[\"print\"])Module[\"print\"]=function print(x){console.log(x)};if(!Module[\"printErr\"])Module[\"printErr\"]=function printErr(x){console.warn(x)}}else{var TRY_USE_DUMP=false;if(!Module[\"print\"])Module[\"print\"]=TRY_USE_DUMP&&typeof dump!==\"undefined\"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WORKER){Module[\"load\"]=importScripts}if(typeof Module[\"setWindowTitle\"]===\"undefined\"){Module[\"setWindowTitle\"]=(function(title){document.title=title})}}else{throw\"Unknown runtime environment. Where are we?\"}function globalEval(x){abort(\"NO_DYNAMIC_EXECUTION=1 was set, cannot eval\")}if(!Module[\"load\"]&&Module[\"read\"]){Module[\"load\"]=function load(f){globalEval(Module[\"read\"](f))}}if(!Module[\"print\"]){Module[\"print\"]=(function(){})}if(!Module[\"printErr\"]){Module[\"printErr\"]=Module[\"print\"]}if(!Module[\"arguments\"]){Module[\"arguments\"]=[]}if(!Module[\"thisProgram\"]){Module[\"thisProgram\"]=\"./this.program\"}if(!Module[\"quit\"]){Module[\"quit\"]=(function(status,toThrow){throw toThrow})}Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];Module[\"preRun\"]=[];Module[\"postRun\"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var Runtime={setTempRet0:(function(value){tempRet0=value;return value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return Runtime.QUANTUM_SIZE}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,prepVararg:(function(ptr,type){if(type===\"double\"||type===\"i64\"){if(ptr&7){assert((ptr&7)===4);ptr+=4}}else{assert((ptr&3)===0)}return ptr}),getAlignSize:(function(type,size,vararg){if(!vararg&&(type==\"i64\"||type==\"double\"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){return Module[\"dynCall_\"+sig].apply(null,[ptr].concat(args))}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw\"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.\"}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){if(sig.length===1){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func)}}else if(sig.length===2){sigCache[func]=function dynCall_wrapper(arg){return Runtime.dynCall(sig,func,[arg])}}else{sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,Array.prototype.slice.call(arguments))}}}return sigCache[func]}),getCompilerSetting:(function(name){throw\"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work\"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=(ret+size+15|0)&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];if(!func){abort(\"NO_DYNAMIC_EXECUTION=1 was set, cannot eval\")}assert(func,\"Cannot call unknown function \"+ident+\" (perhaps LLVM optimizations or closure removed it?)\");return func}var ccall;((function(){var JSfuncs={\"stackSave\":(function(){Runtime.stackSave()}),\"stackRestore\":(function(){Runtime.stackRestore()}),\"arrayToC\":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=Runtime.stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};ccall=function ccallFunc(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType===\"string\")ret=Pointer_stringify(ret);if(stack!==0){if(opts&&opts.async){EmterpreterAsync.asyncFinalizers.push((function(){Runtime.stackRestore(stack)}));return}Runtime.stackRestore(stack)}return ret};cwrap=function cwrap(ident,returnType,argTypes){return(function(){return ccall(ident,returnType,argTypes,arguments)})}}))();Module[\"ccall\"]=ccall;function setValue(ptr,value,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":HEAP8[ptr>>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}function getValue(ptr,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":return HEAP8[ptr>>0];case\"i8\":return HEAP8[ptr>>0];case\"i16\":return HEAP16[ptr>>1];case\"i32\":return HEAP32[ptr>>2];case\"i64\":return HEAP32[ptr>>2];case\"float\":return HEAPF32[ptr>>2];case\"double\":return HEAPF64[ptr>>3];default:abort(\"invalid type for setValue: \"+type)}return null}var ALLOC_NORMAL=0;var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc===\"function\"?_malloc:Runtime.staticAlloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];if(typeof curr===\"function\"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type==\"i64\")type=\"i32\";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return Module[\"UTF8ToString\"](ptr)}Module[\"Pointer_stringify\"]=Pointer_stringify;var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}Module[\"UTF8ToString\"]=UTF8ToString;function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function demangle(func){var __cxa_demangle_func=Module[\"___cxa_demangle\"]||Module[\"__cxa_demangle\"];if(__cxa_demangle_func){try{var s=func.substr(1);var len=lengthBytesUTF8(s)+1;var buf=_malloc(len);stringToUTF8(s,buf,len);var status=_malloc(4);var ret=__cxa_demangle_func(buf,0,0,status);if(getValue(status,\"i32\")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}return func}Runtime.warnOnce(\"warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling\");return func}function demangleAll(text){var regex=/__Z[\\w\\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module[\"extraStackTrace\"])js+=\"\\n\"+Module[\"extraStackTrace\"]();return demangleAll(js)}var PAGE_SIZE=16384;var HEAP;var buffer;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr(\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \"+TOTAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");if(Module[\"buffer\"]){buffer=Module[\"buffer\"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw\"Runtime error: expected the system to be little-endian!\";Module[\"HEAP\"]=HEAP;Module[\"buffer\"]=buffer;Module[\"HEAP8\"]=HEAP8;Module[\"HEAP16\"]=HEAP16;Module[\"HEAP32\"]=HEAP32;Module[\"HEAPU8\"]=HEAPU8;Module[\"HEAPU16\"]=HEAPU16;Module[\"HEAPU32\"]=HEAPU32;Module[\"HEAPF32\"]=HEAPF32;Module[\"HEAPF64\"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];if(!Math[\"trunc\"])Math[\"trunc\"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math[\"trunc\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var ASM_CONSTS=[(function($0,$1){{var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath(\"/\",PATH.dirname(path));FS.writeFile(PATH.join(\"/\",path),data)}})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=8;STATICTOP=STATIC_BASE+197520;__ATINIT__.push();allocate([0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,32,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,2,16,0,0,0,0,0,0,0,0,0,0,0,0,16,64,200,47,0,0,8,0,0,0,1,0,0,0,0,0,0,0,2,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,150,64,0,0,0,0,0,128,150,64,4,144,195,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,32,3,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,64,0,0,0,0,0,0,66,64,0,0,0,0,0,32,131,64,0,0,0,0,0,192,136,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,16,64,104,54,0,0,147,0,0,0,1,0,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,16,0,2,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,0,176,193,0,0,0,0,0,0,0,0,0,0,0,0,0,68,58,0,0,16,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,0,0,0,0,0,0,88,64,64,32,62,3,0,0,0,0,0,0,0,0,0,0,16,64,76,59,0,0,122,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,64,0,0,0,0,0,0,82,64,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,127,255,255,255,255,255,255,239,255,255,255,255,255,255,255,239,255,0,0,0,0,0,0,248,63,51,51,51,51,51,51,211,63,60,0,0,0,0,0,0,0,154,153,153,153,153,153,169,63,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,51,51,51,51,51,51,243,63,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,255,255,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,211,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,51,51,51,51,227,63,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,40,86,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,154,153,153,153,153,153,217,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,128,102,64,123,20,174,71,225,122,228,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,128,70,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,37,117,2,154,8,27,218,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,44,212,154,230,29,167,234,63,106,222,113,138,142,228,232,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,93,220,70,3,120,11,226,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,93,220,70,3,120,11,226,63,13,113,172,139,219,104,220,63,100,93,220,70,3,120,237,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,196,66,173,105,222,113,236,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,181,21,251,203,238,201,225,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,134,56,214,197,109,52,238,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,120,11,36,40,126,140,227,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,166,10,70,37,117,2,222,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,13,113,172,139,219,104,220,63,244,108,86,125,174,182,222,63,17,54,60,189,82,150,201,63,244,108,86,125,174,182,222,63,59,1,77,132,13,79,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,62,232,217,172,250,92,197,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,130,115,70,148,246,6,199,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,7,240,22,72,80,252,220,63,162,180,55,248,194,100,214,63,88,168,53,205,59,78,213,63,13,113,172,139,219,104,220,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,13,113,172,139,219,104,220,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,208,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,196,66,173,105,222,113,236,63,0,0,0,0,0,0,208,63,127,217,61,121,88,168,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,196,66,173,105,222,113,236,63,19,242,65,207,102,213,211,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,16,122,54,171,62,87,229,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,0,0,0,0,0,0,208,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,81,218,27,124,97,50,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,244,108,86,125,174,182,214,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,196,66,173,105,222,113,236,63,16,122,54,171,62,87,229,63,245,219,215,129,115,70,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,136,133,90,211,188,227,216,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,1,77,132,13,79,175,226,63,181,21,251,203,238,201,225,63,204,93,75,200,7,61,240,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,210,111,95,7,206,25,231,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,224,63,16,122,54,171,62,87,229,63,181,21,251,203,238,201,225,63,44,212,154,230,29,167,234,63,210,111,95,7,206,25,231,63,106,222,113,138,142,228,232,63,16,122,54,171,62,87,229,63,106,222,113,138,142,228,232,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,210,111,95,7,206,25,231,63,16,122,54,171,62,87,229,63,134,56,214,197,109,52,238,63,16,122,54,171,62,87,229,63,16,122,54,171,62,87,229,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,166,10,70,37,117,2,222,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,72,191,125,29,56,103,204,63,72,191,125,29,56,103,204,63,0,0,0,0,0,0,224,63,72,191,125,29,56,103,204,63,44,212,154,230,29,167,234,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,224,63,210,111,95,7,206,25,231,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,2,154,8,27,158,94,213,63,224,190,14,156,51,162,208,63,2,154,8,27,158,94,213,63,1,77,132,13,79,175,226,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,62,232,217,172,250,92,197,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,29,56,103,68,105,111,200,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,211,188,227,20,29,201,209,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,181,21,251,203,238,201,225,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,231,29,167,232,72,46,225,63,162,180,55,248,194,100,214,63,72,191,125,29,56,103,204,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,181,21,251,203,238,201,225,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,211,188,227,20,29,201,209,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,88,168,53,205,59,78,213,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,0,0,0,0,0,0,240,63,211,188,227,20,29,201,209,63,234,149,178,12,113,172,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([181,21,251,203,238,201,225,63,106,222,113,138,142,228,232,63,0,0,0,0,0,0,240,63,152,221,147,135,133,90,215,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,196,66,173,105,222,113,236,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,72,191,125,29,56,103,204,63,120,11,36,40,126,140,227,63,134,56,214,197,109,52,238,63,120,11,36,40,126,140,227,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,211,188,227,20,29,201,209,63,81,160,79,228,73,210,14,64,180,200,118,190,159,58,53,192,58,34,223,165,212,37,213,191,243,130,62,71,154,46,138,63,159,229,121,112,119,214,249,191,126,253,16,27,44,156,230,63,150,236,216,8,196,235,204,63,205,206,162,119,42,224,208,63,176,227,191,64,16,32,237,191,173,161,212,94,68,219,216,63,59,161,124,230,81,150,118,63,211,110,112,249,122,132,123,63,129,204,206,162,119,42,228,191,209,173,215,244,160,160,200,63,106,223,55,25,176,63,132,63,190,202,144,25,94,255,132,63,28,150,6,126,84,195,196,191,165,73,41,232,246,226,35,64,169,217,3,173,192,144,193,63,8,196,144,65,147,105,137,63,250,68,158,36,93,51,208,191,1,240,153,54,45,194,94,63,13,156,125,47,207,148,151,63,137,181,248,20,0,227,137,63,229,169,88,70,52,203,177,191,143,0,201,207,161,103,166,191,92,181,198,251,204,180,136,63,77,164,143,84,58,179,144,63,230,199,4,161,97,214,160,191,199,105,103,28,19,247,130,191,42,127,107,229,45,112,92,191,228,87,98,84,8,154,117,63,209,241,135,85,114,4,183,63,149,212,9,104,34,60,51,192,100,35,16,175,235,119,16,192,167,33,170,240,103,120,199,63,218,255,0,107,213,174,193,63,78,40,68,192,33,84,247,191,170,72,133,177,133,32,245,63,157,104,87,33,229,39,246,63,77,46,198,192,58,142,205,63,89,107,40,181,23,209,220,191,3,63,170,97,191,39,204,63,166,71,83,61,153,127,218,63,182,129,59,80,167,60,174,63,81,76,222,0,51,223,185,191,245,118,149,255,218,11,166,63,212,165,53,188,15,246,148,63,31,173,32,188,44,220,144,63,40,44,241,128,178,201,35,64,35,90,225,76,2,138,183,63,72,163,101,81,150,41,127,63,187,180,134,247,193,158,147,63,23,168,123,83,71,125,160,191,33,43,174,224,109,148,139,63,51,115,220,132,214,30,181,191,160,120,132,137,245,252,143,63,105,53,36,238,177,244,145,191,184,205,51,122,94,191,106,63,146,62,173,162,63,52,205,191,126,176,231,198,79,62,152,191,7,35,155,80,45,199,164,63,62,24,194,123,88,185,145,191,45,124,125,173,75,141,198,63,0,0,0,64,251,33,249,63,0,0,0,0,45,68,116,62,0,0,0,128,152,70,248,60,0,0,0,96,81,204,120,59,0,0,0,128,131,27,240,57,0,0,0,64,32,37,122,56,0,0,0,128,34,130,227,54,0,0,0,0,29,243,105,53,204,5,1,0,16,43,0,0,3,0,0,0,56,45,0,0,3,0,0,0,16,48,0,0,3,0,0,0,216,48,0,0,3,0,0,0,40,50,0,0,3,0,0,0,160,53,0,0,3,0,0,0,220,56,0,0,3,0,0,0,236,46,0,0,3,0,0,0,164,57,0,0,3,0,0,0,172,58,0,0,3,0,0,0,56,63,0,0,3,0,0,0,92,61,0,0,0,0,0,0,252,44,0,0,0,0,0,0,232,47,0,0,0,0,0,0,56,48,0,0,0,0,0,0,0,50,0,0,0,0,0,0,80,50,0,0,0,0,0,0,180,56,0,0,0,0,0,0,136,46,0,0,0,0,0,0,124,57,0,0,0,0,0,0,132,58,0,0,0,0,0,0,16,63,0,0,0,0,0,0,52,61,0,0,4,0,0,0,96,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,176,217,2,0,192,217,2,0,208,217,2,0,224,217,2,0,240,217,2,0,0,218,2,0,16,218,2,0,32,218,2,0,192,217,2,0,192,217,2,0,0,218,2,0,0,218,2,0,31,0,0,0,63,0,0,0,127,0,0,0,0,0,0,0,207,134,1,0,1,0,0,0,208,43,0,0,104,0,0,0,4,0,0,0,229,9,1,0,1,0,0,0,72,44,0,0,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,136,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,1,0,0,0,143,6,1,0,1,0,0,0,0,0,0,0,168,0,0,0,2,0,0,0,153,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,3,0,0,0,163,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,4,0,0,0,177,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,5,0,0,0,187,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,6,0,0,0,200,6,1,0,1,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,1,0,0,0,239,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,2,0,0,0,245,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,3,0,0,0,254,9,1,0,1,0,0,0,236,45,0,0,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,1,0,0,0,18,10,1,0,1,0,0,0,0,0,0,0,112,1,0,0,2,0,0,0,29,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,3,0,0,0,43,10,1,0,1,0,0,0,0,0,0,0,56,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,2,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,37,4,2,0,101,10,2,0,92,17,2,0,155,21,2,0,27,25,2,0,44,25,2,0,0,0,0,0,114,10,1,0,1,0,0,0,80,47,0,0,168,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,10,1,0,1,0,0,0,0,0,0,0,200,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,126,10,1,0,1,0,0,0,96,48,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,182,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,2,0,0,0,192,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,201,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,3,0,0,0,210,11,1,0,1,0,0,0,0,0,0,0,88,2,0,0,0,0,0,0,220,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,3,0,0,0,232,11,1,0,1,0,0,0,0,0,0,0,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,3,0,0,0,3,0,0,0,10,0,0,0,4,0,0,0,0,0,0,0,143,25,2,0,148,2,2,0,101,10,2,0,37,4,2,0,155,21,2,0,92,17,2,0,44,25,2,0,27,25,2,0,0,0,0,0,0,0,0,0,165,13,1,0,255,255,255,255,100,49,0,0,144,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,13,1,0,255,255,255,255,0,0,0,0,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,142,1,0,1,0,0,0,120,50,0,0,232,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,5,0,0,0,4,0,0,0,13,0,0,0,5,0,0,0,3,0,0,0,165,17,1,0,179,17,1,0,201,17,1,0,13,251,2,0,215,17,1,0,230,17,1,0,235,17,1,0,9,18,1,0,13,251,2,0,27,18,1,0,75,18,1,0,13,251,2,0,105,18,1,0,145,18,1,0,159,18,1,0,206,18,1,0,2,19,1,0,19,19,1,0,56,19,1,0,91,19,1,0,97,19,1,0,125,19,1,0,154,19,1,0,181,19,1,0,214,19,1,0,240,19,1,0,18,20,1,0,49,20,1,0,87,20,1,0,111,20,1,0,143,20,1,0,172,20,1,0,208,20,1,0,220,20,1,0,13,251,2,0,231,20,1,0,13,21,1,0,49,21,1,0,87,21,1,0,13,251,2,0,141,21,1,0,165,21,1,0,178,21,1,0,225,21,1,0,220,20,1,0,13,251,2,0,238,21,1,0,247,21,1,0,24,22,1,0,83,22,1,0,158,22,1,0,242,22,1,0,20,23,1,0,41,23,1,0,64,23,1,0,86,23,1,0,110,23,1,0,13,251,2,0,132,23,1,0,159,23,1,0,195,23,1,0,231,23,1,0,12,24,1,0,13,251,2,0,45,24,1,0,71,24,1,0,89,24,1,0,102,24,1,0,115,24,1,0,135,24,1,0,150,24,1,0,158,24,1,0,179,24,1,0,193,24,1,0,255,24,1,0,10,25,1,0,220,20,1,0,13,251,2,0,16,25,1,0,28,25,1,0,43,25,1,0,91,19,1,0,13,251,2,0,62,25,1,0,103,25,1,0,133,25,1,0,149,25,1,0,166,25,1,0,173,25,1,0,188,25,1,0,204,25,1,0,16,26,1,0,23,26,1,0,91,19,1,0,13,251,2,0,33,26,1,0,77,26,1,0,88,26,1,0,97,26,1,0,106,26,1,0,123,26,1,0,140,26,1,0,160,26,1,0,220,20,1,0,13,251,2,0,172,26,1,0,188,26,1,0,202,26,1,0,216,26,1,0,229,26,1,0,242,26,1,0,8,27,1,0,17,27,1,0,32,27,1,0,45,27,1,0,62,27,1,0,220,20,1,0,13,251,2,0,73,27,1,0,104,27,1,0,13,251,2,0,122,27,1,0,137,27,1,0,185,27,1,0,195,27,1,0,208,27,1,0,221,27,1,0,234,27,1,0,247,27,1,0,250,27,1,0,13,251,2,0,254,27,1,0,13,251,2,0,33,28,1,0,82,28,1,0,129,28,1,0,152,28,1,0,179,28,1,0,206,28,1,0,220,20,1,0,13,251,2,0,234,28,1,0,13,251,2,0,18,29,1,0,30,29,1,0,49,29,1,0,68,29,1,0,89,29,1,0,110,29,1,0,114,29,1,0,91,19,1,0,13,251,2,0,126,29,1,0,13,251,2,0,142,29,1,0,156,29,1,0,168,29,1,0,181,29,1,0,213,29,1,0,235,29,1,0,13,251,2,0,255,29,1,0,72,30,1,0,142,30,1,0,190,30,1,0,241,30,1,0,248,30,1,0,31,31,1,0,70,31,1,0,13,251,2,0,75,31,1,0,0,0,0,0,0,0,0,0,0,73,1,0,1,0,0,0,0,0,0,0,8,3,0,0,1,0,0,0,191,31,1,0,1,0,0,0,0,0,0,0,8,3,0,0,2,0,0,0,249,72,1,0,1,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,36,0,0,0,37,0,0,0,6,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,4,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,15,0,0,0,7,0,0,0,5,0,0,0,16,0,0,0,6,0,0,0,0,0,0,0,172,1,2,0,182,1,2,0,137,50,1,0,251,1,2,0,54,2,2,0,88,2,2,0,94,2,2,0,143,25,2,0,133,2,2,0,148,2,2,0,177,2,2,0,188,2,2,0,222,2,2,0,20,3,2,0,74,3,2,0,133,3,2,0,187,3,2,0,221,3,2,0,236,3,2,0,29,4,2,0,37,4,2,0,79,38,1,0,88,38,1,0,66,4,2,0,97,38,1,0,140,4,2,0,106,38,1,0,150,4,2,0,115,38,1,0,160,4,2,0,239,4,2,0,42,5,2,0,127,38,1,0,101,5,2,0,112,5,2,0,181,5,2,0,195,5,2,0,13,6,2,0,27,6,2,0,41,6,2,0,52,6,2,0,101,6,2,0,165,6,2,0,173,6,2,0,181,6,2,0,240,6,2,0,38,7,2,0,50,7,2,0,142,50,1,0,62,7,2,0,72,7,2,0,83,7,2,0,112,7,2,0,166,7,2,0,101,10,2,0,135,10,2,0,147,10,2,0,82,13,2,0,131,13,2,0,175,13,2,0,229,13,2,0,242,13,2,0,20,14,2,0,54,14,2,0,63,14,2,0,137,14,2,0,147,14,2,0,216,14,2,0,14,15,2,0,25,15,2,0,158,15,2,0,179,15,2,0,135,38,1,0,189,15,2,0,199,15,2,0,253,15,2,0,61,16,2,0,75,16,2,0,159,16,2,0,174,16,2,0,189,16,2,0,12,17,2,0,150,50,1,0,76,17,2,0,86,17,2,0,92,17,2,0,136,17,2,0,175,17,2,0,192,17,2,0,203,17,2,0,16,18,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,166,18,2,0,179,18,2,0,189,18,2,0,243,18,2,0,252,18,2,0,60,19,2,0,79,19,2,0,155,50,1,0,87,19,2,0,141,19,2,0,180,19,2,0,234,19,2,0,17,20,2,0,31,20,2,0,85,20,2,0,159,20,2,0,233,20,2,0,244,20,2,0,42,21,2,0,47,21,2,0,76,21,2,0,105,21,2,0,116,21,2,0,155,21,2,0,179,21,2,0,233,21,2,0,31,22,2,0,43,22,2,0,82,22,2,0,93,22,2,0,142,22,2,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,72,23,2,0,126,23,2,0,136,23,2,0,165,23,2,0,229,23,2,0,27,24,2,0,161,50,1,0,51,24,2,0,95,24,2,0,134,24,2,0,188,24,2,0,249,24,2,0,27,25,2,0,33,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,216,142,1,0,1,0,0,0,240,53,0,0,120,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,215,73,1,0,1,0,0,0,0,0,0,0,152,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,8,0,0,0,6,0,0,0,19,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,189,39,1,0,1,0,0,0,4,57,0,0,208,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,39,1,0,1,0,0,0,0,0,0,0,240,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,53,0,0,0,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,21,0,0,0,9,0,0,0,7,0,0,0,22,0,0,0,8,0,0,0,0,0,0,0,137,50,1,0,143,25,2,0,148,2,2,0,142,50,1,0,166,7,2,0,101,10,2,0,150,50,1,0,136,17,2,0,60,19,2,0,155,50,1,0,116,21,2,0,155,21,2,0,136,61,1,0,161,50,1,0,27,25,2,0,44,25,2,0,0,0,0,0,166,50,1,0,1,0,0,0,204,57,0,0,40,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,50,1,0,1,0,0,0,0,0,0,0,72,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,57,0,0,0,58,0,0,0,10,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,11,0,0,0,8,0,0,0,25,0,0,0,9,0,0,0,0,0,0,0,251,1,2,0,30,60,1,0,143,25,2,0,148,2,2,0,177,2,2,0,41,60,1,0,47,60,1,0,58,60,1,0,65,60,1,0,188,2,2,0,20,3,2,0,73,60,1,0,79,60,1,0,90,60,1,0,187,3,2,0,221,3,2,0,37,4,2,0,97,60,1,0,140,4,2,0,160,4,2,0,42,5,2,0,107,60,1,0,181,5,2,0,195,5,2,0,13,6,2,0,118,60,1,0,27,6,2,0,126,60,1,0,135,60,1,0,149,60,1,0,159,60,1,0,240,6,2,0,168,60,1,0,50,7,2,0,83,7,2,0,112,7,2,0,174,60,1,0,183,7,2,0,226,7,2,0,11,8,2,0,46,8,2,0,87,8,2,0,122,8,2,0,163,8,2,0,198,8,2,0,239,8,2,0,18,9,2,0,59,9,2,0,94,9,2,0,135,9,2,0,170,9,2,0,211,9,2,0,246,9,2,0,31,10,2,0,66,10,2,0,101,10,2,0,181,60,1,0,135,10,2,0,193,60,1,0,175,13,2,0,20,14,2,0,216,14,2,0,206,60,1,0,189,16,2,0,219,60,1,0,76,17,2,0,92,17,2,0,229,60,1,0,136,17,2,0,175,17,2,0,192,17,2,0,244,60,1,0,6,61,1,0,203,17,2,0,85,18,2,0,100,18,2,0,116,18,2,0,134,18,2,0,150,18,2,0,22,61,1,0,33,61,1,0,44,61,1,0,166,18,2,0,60,19,2,0,65,19,2,0,49,61,1,0,58,61,1,0,67,61,1,0,83,61,1,0,90,61,1,0,141,19,2,0,180,19,2,0,234,19,2,0,31,20,2,0,47,21,2,0,76,21,2,0,98,61,1,0,155,21,2,0,105,61,1,0,43,22,2,0,114,61,1,0,93,22,2,0,122,61,1,0,191,22,2,0,136,61,1,0,230,22,2,0,18,23,2,0,143,61,1,0,165,23,2,0,229,23,2,0,153,61,1,0,27,24,2,0,51,24,2,0,134,24,2,0,163,61,1,0,177,61,1,0,188,24,2,0,195,24,2,0,249,24,2,0,27,25,2,0,44,25,2,0,83,25,2,0,0,0,0,0,195,61,1,0,1,0,0,0,212,58,0,0,128,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,61,1,0,1,0,0,0,0,0,0,0,160,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,27,0,0,0,12,0,0,0,9,0,0,0,28,0,0,0,10,0,0,0,0,0,0,0,65,66,0,0,221,162,1,0,65,73,0,0,183,162,1,0,65,82,0,0,138,162,1,0,65,88,0,0,242,162,1,0,66,32,0,0,46,165,1,0,66,73,0,0,63,165,1,0,67,66,0,0,119,163,1,0,67,79,0,0,101,163,1,0,67,88,0,0,132,163,1,0,72,32,0,0,168,163,1,0,72,66,0,0,178,163,1,0,72,73,0,0,62,164,1,0,72,88,0,0,193,163,1,0,72,98,0,0,242,163,1,0,72,105,0,0,37,164,1,0,72,114,0,0,215,163,1,0,72,120,0,0,8,164,1,0,73,32,0,0,80,165,1,0,75,66,0,0,9,163,1,0,75,73,0,0,81,163,1,0,75,82,0,0,61,163,1,0,75,88,0,0,42,163,1,0,78,66,0,0,80,164,1,0,78,73,0,0,151,164,1,0,78,82,0,0,175,164,1,0,78,88,0,0,123,164,1,0,80,65,0,0,16,165,1,0,80,66,0,0,204,164,1,0,80,73,0,0,0,165,1,0,80,88,0,0,236,164,1,0,82,32,0,0,7,167,1,0,83,32,0,0,31,165,1,0,90,68,0,0,141,165,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,109,72,1,0,255,255,255,255,132,61,0,0,216,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,72,1,0,255,255,255,255,0,0,0,0,248,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,121,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,16,0,0,0,129,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,137,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,146,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,17,0,0,0,154,72,1,0,1,0,0,0,72,67,0,0,0,0,0,0,19,0,0,0,162,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,20,0,0,0,170,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,178,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,187,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,21,0,0,0,195,72,1,0,1,0,0,0,76,67,0,0,0,0,0,0,22,0,0,0,203,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,23,0,0,0,212,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,221,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,231,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,24,0,0,0,240,72,1,0,1,0,0,0,80,67,0,0,0,0,0,0,25,0,0,0,249,72,1,0,1,0,0,0,84,67,0,0,0,0,0,0,25,0,0,0,0,73,1,0,1,0,0,0,84,67,0,0,0,0,0,0,26,0,0,0,6,73,1,0,1,0,0,0,88,67,0,0,0,0,0,0,10,0,0,0,15,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,11,0,0,0,23,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,31,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,40,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,12,0,0,0,48,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,56,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,14,0,0,0,63,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,13,0,0,0,71,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,5,0,0,0,79,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,6,0,0,0,87,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,95,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,104,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,7,0,0,0,112,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,120,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,9,0,0,0,127,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,8,0,0,0,135,73,1,0,1,0,0,0,92,67,0,0,0,0,0,0,0,0,0,0,143,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,1,0,0,0,152,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,161,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,171,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,2,0,0,0,180,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,189,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,4,0,0,0,197,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,3,0,0,0,206,73,1,0,1,0,0,0,96,67,0,0,0,0,0,0,18,0,0,0,215,73,1,0,1,0,0,0,72,67,0,0,0,0,0,0,27,0,0,0,223,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,28,0,0,0,231,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,239,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,248,73,1,0,1,0,0,0,100,67,0,0,0,0,0,0,29,0,0,0,0,74,1,0,1,0,0,0,100,67,0,0,0,0,0,0,30,0,0,0,8,74,1,0,1,0,0,0,104,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,115,77,1,0,116,67,0,0,1,0,0,0,144,67,0,0,0,0,0,0,0,0,0,0,72,0,0,0,73,0,0,0,1,0,0,0,0,0,0,0,207,134,1,0,0,0,0,0,132,67,0,0,140,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,24,1,0,0,48,1,0,0,176,0,0,0,152,85,1,0,157,85,1,0,161,85,1,0,168,85,1,0,172,85,1,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,161,90,1,0,80,68,0,0,1,0,0,0,168,68,0,0,0,0,0,0,0,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,75,0,0,0,85,0,0,0,75,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,0,0,0,0,174,90,1,0,0,0,0,0,96,68,0,0,208,219,2,0,1,0,0,0,180,90,1,0,0,0,0,0,104,68,0,0,208,219,2,0,2,0,0,0,184,90,1,0,0,0,0,0,112,68,0,0,208,219,2,0,3,0,0,0,189,90,1,0,0,0,0,0,120,68,0,0,208,219,2,0,4,0,0,0,195,90,1,0,0,0,0,0,128,68,0,0,208,219,2,0,5,0,0,0,201,90,1,0,0,0,0,0,152,68,0,0,208,219,2,0,6,0,0,0,211,90,1,0,0,0,0,0,160,68,0,0,208,219,2,0,7,0,0,0,217,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,221,90,1,0,0,0,0,0,136,68,0,0,208,219,2,0,7,0,0,0,226,90,1,0,0,0,0,0,144,68,0,0,208,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,48,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,105,104,1,0,129,104,1,0,160,104,1,0,189,104,1,0,220,104,1,0,227,104,1,0,236,104,1,0,105,104,1,0,110,104,1,0,117,104,1,0,122,104,1,0,11,104,1,0,29,104,1,0,43,104,1,0,57,104,1,0,71,104,1,0,78,104,1,0,93,104,1,0,105,104,1,0,0,0,0,0,13,251,2,0,0,0,0,0,74,19,2,0,1,0,0,0,37,107,1,0,7,0,0,0,233,106,1,0,3,0,0,0,245,38,2,0,5,0,0,0,45,107,1,0,15,0,0,0,189,142,1,0,8,0,0,0,189,142,1,0,16,0,0,0,53,107,1,0,4,0,0,0,53,107,1,0,17,0,0,0,58,107,1,0,5,0,0,0,58,107,1,0,2,0,0,0,64,107,1,0,6,0,0,0,71,107,1,0,4,0,0,0,83,107,1,0,7,0,0,0,91,107,1,0,7,0,0,0,107,107,1,0,5,0,0,0,113,107,1,0,8,0,0,0,136,107,1,0,8,0,0,0,113,107,1,0,9,0,0,0,145,107,1,0,7,0,0,0,153,107,1,0,10,0,0,0,179,107,1,0,7,0,0,0,187,107,1,0,11,0,0,0,213,107,1,0,6,0,0,0,220,107,1,0,12,0,0,0,250,107,1,0,9,0,0,0,220,107,1,0,13,0,0,0,4,108,1,0,8,0,0,0,13,108,1,0,14,0,0,0,46,108,1,0,8,0,0,0,55,108,1,0,18,0,0,0,88,108,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,33,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,34,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,64,0,0,0,176,71,0,0,192,71,0,0,6,0,0,0,4,0,0,0,204,71,0,0,6,0,0,0,8,0,0,0,6,0,0,0,4,0,0,0,212,71,0,0,0,4,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,193,121,1,0,53,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,10,0,0,0,92,73,0,0,224,72,0,0,68,73,0,0,1,0,0,0,1,0,0,0,10,0,0,0,22,0,0,0,11,0,0,0,90,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,16,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,6,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,30,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,1,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,19,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,19,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,46,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,47,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,48,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,128,0,0,0,166,180,1,0,135,180,1,0,77,125,1,0,179,180,1,0,171,180,1,0,185,180,1,0,0,0,0,0,83,129,1,0,92,129,1,0,99,129,1,0,113,129,1,0,167,179,1,0,207,180,1,0,120,129,1,0,127,129,1,0,1,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,29,131,1,0,8,0,0,0,3,0,0,0,38,131,1,0,42,131,1,0,11,0,0,0,6,0,0,0,213,142,1,0,54,131,1,0,2,0,0,0,1,0,0,0,57,131,1,0,61,131,1,0,4,0,0,0,2,0,0,0,66,131,1,0,70,131,1,0,4,0,0,0,4,0,0,0,75,131,1,0,80,131,1,0,5,0,0,0,5,0,0,0,86,131,1,0,90,131,1,0,4,0,0,0,7,0,0,0,95,131,1,0,99,131,1,0,5,0,0,0,9,0,0,0,105,131,1,0,109,131,1,0,4,0,0,0,10,0,0,0,114,131,1,0,119,131,1,0,4,0,0,0,12,0,0,0,124,131,1,0,15,136,1,0,0,0,0,0,1,0,0,0,23,136,1,0,1,0,0,0,0,0,0,0,162,179,1,0,1,0,0,0,1,0,0,0,74,19,2],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([248,134,1,0,49,0,0,0,0,0,0,0,0,0,0,0,208,174,1,0,16,0,0,0,116,31,2,0,128,0,0,0,241,134,1,0,64,0,0,0,59,161,1,0,16,0,0,0,243,134,1,0,64,0,0,0,0,0,0,0,0,0,0,0,191,134,1,0,1,0,0,0,198,134,1,0,2,0,0,0,203,134,1,0,3,0,0,0,249,167,1,0,4,0,0,0,93,158,1,0,5,0,0,0,207,134,1,0,6,0,0,0,74,19,2,0,8,0,0,0,211,134,1,0,33,0,0,0,215,134,1,0,34,0,0,0,219,134,1,0,34,0,0,0,223,134,1,0,1,0,0,0,228,134,1,0,7,0,0,0,234,134,1,0,39,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,140,1,0,49,140,1,0,0,0,0,0,80,6,0,0,210,142,1,0,213,142,1,0,216,142,1,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,255,255,255,255,149,142,1,0,155,142,1,0,74,19,2,0,0,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,100,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,9,0,0,0,43,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,249,167,1,0,144,85,0,0,176,6,0,0,0,0,0,0,38,158,1,0,144,85,0,0,224,6,0,0,0,0,0,0,255,166,1,0,144,85,0,0,16,7,0,0,0,0,0,0,46,158,1,0,144,85,0,0,16,7,0,0,0,0,0,0,51,158,1,0,144,85,0,0,64,7,0,0,0,0,0,0,58,158,1,0,168,85,0,0,64,7,0,0,0,0,0,0,64,158,1,0,144,85,0,0,112,7,0,0,0,0,0,0,68,158,1,0,144,85,0,0,160,7,0,0,0,0,0,0,74,19,2,0,144,85,0,0,208,7,0,0,0,0,0,0,77,158,1,0,144,85,0,0,208,7,0,0,0,0,0,0,87,158,1,0,144,85,0,0,128,6,0,0,0,0,0,0,93,158,1,0,144,85,0,0,0,8,0,0,0,0,0,0,101,158,1,0,144,85,0,0,48,8,0,0,0,0,0,0,111,158,1,0,144,85,0,0,96,8,0,0,0,0,0,0,125,158,1,0,144,85,0,0,144,8,0,0,0,0,0,0,131,158,1,0,144,85,0,0,192,8,0,0,0,0,0,0,140,158,1,0,144,85,0,0,240,8,0,0,0,0,0,0,148,158,1,0,144,85,0,0,32,9,0,0,0,0,0,0,157,158,1,0,144,85,0,0,80,9,0,0,0,0,0,0,165,158,1,0,144,85,0,0,128,9,0,0,0,0,0,0,170,158,1,0,144,85,0,0,176,9,0,0,0,0,0,0,174,158,1,0,144,85,0,0,224,9,0,0,0,0,0,0,181,158,1,0,144,85,0,0,16,10,0,0,0,0,0,0,187,158,1,0,144,85,0,0,64,10,0,0,0,0,0,0,197,158,1,0,192,85,0,0,112,10,0,0,0,0,0,0,206,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,211,158,1,0,144,85,0,0,176,6,0,0,0,0,0,0,221,158,1,0,144,85,0,0,160,10,0,0,0,0,0,0,228,158,1,0,144,85,0,0,208,10,0,0,0,0,0,0,241,158,1,0,144,85,0,0,0,11,0,0,0,0,0,0,255,158,1,0,144,85,0,0,48,11,0,0,0,0,0,0,13,159,1,0,144,85,0,0,96,11,0,0,0,0,0,0,25,159,1,0,144,85,0,0,144,11,0,0,0,0,0,0,38,159,1,0,144,85,0,0,192,11,0,0,0,0,0,0,47,159,1,0,144,85,0,0,240,11,0,0,0,0,0,0,57,159,1,0,144,85,0,0,32,12,0,0,0,0,0,0,66,159,1,0,144,85,0,0,80,12,0,0,0,0,0,0,74,159,1,0,144,85,0,0,128,12,0,0,0,0,0,0,82,159,1,0,144,85,0,0,176,12,0,0,0,0,0,0,91,159,1,0,144,85,0,0,224,12,0,0,0,0,0,0,95,159,1,0,144,85,0,0,16,13,0,0,0,0,0,0,106,159,1,0,144,85,0,0,64,13,0,0,0,0,0,0,110,159,1,0,144,85,0,0,112,13,0,0,0,0,0,0,120,159,1,0,144,85,0,0,160,13,0,0,0,0,0,0,129,159,1,0,144,85,0,0,208,13,0,0,0,0,0,0,137,159,1,0,144,85,0,0,0,14,0,0,0,0,0,0,150,159,1,0,144,85,0,0,48,14,0,0,0,0,0,0,162,159,1,0,144,85,0,0,96,14,0,0,0,0,0,0,173,159,1,0,144,85,0,0,144,14,0,0,0,0,0,0,189,159,1,0,144,85,0,0,192,14,0,0,0,0,0,0,203,159,1,0,144,85,0,0,240,14,0,0,0,0,0,0,218,159,1,0,144,85,0,0,32,15,0,0,0,0,0,0,228,159,1,0,144,85,0,0,80,15,0,0,0,0,0,0,237,159,1,0,144,85,0,0,128,15,0,0,0,0,0,0,247,159,1,0,144,85,0,0,176,15,0,0,0,0,0,0,1,160,1,0,144,85,0,0,224,15,0,0,0,0,0,0,8,160,1,0,144,85,0,0,16,16,0,0,0,0,0,0,15,160,1,0,144,85,0,0,64,16,0,0,0,0,0,0,25,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,32,160,1,0,216,85,0,0,0,0,0,0,0,0,0,0,2,158,1,0,240,85,0,0,0,0,0,0,0,0,0,0,40,160,1,0,8,86,0,0,112,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,93,0,0,0,92,0,0,0,23,0,0,0,5,0,0,0,0,0,0,0,13,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,4,0,0,0,2,0,0,0,12,0,0,0,94,0,0,0,95,0,0,0,24,0,0,0,6,0,0,0,3,0,0,0,14,0,0,0,96,0,0,0,97,0,0,0,23,0,0,0,7,0,0,0,0,0,0,0,15,0,0,0,91,0,0,0,92,0,0,0,23,0,0,0,8,0,0,0,2,0,0,0,12,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,42,161,1,0,49,161,1,0,0,0,0,0,57,161,1,0,59,161,1,0,174,31,2,0,61,161,1,0,12,0,0,0,4,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,9,0,0,0,8,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,138,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,0,0,0,0,4,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,183,162,1,0,154,162,1,0,167,162,1,0,0,0,0,0,206,162,1,0,5,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,221,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,0,0,0,0,6,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,242,162,1,0,154,162,1,0,237,162,1,0,0,0,0,0,206,162,1,0,7,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,9,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,0,0,0,0,10,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,42,163,1,0,22,163,1,0,237,162,1,0,0,0,0,0,214,162,1,0,11,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,61,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,0,0,0,0,8,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,81,163,1,0,22,163,1,0,75,163,1,0,0,0,0,0,214,162,1,0,9,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,101,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,109,163,1,0,0,0,0,0,0,0,0,0,119,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,14,0,0,0,109,163,1,0,24,179,1,0,0,0,0,0,132,163,1,0,101,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,15,0,0,0,109,163,1,0,24,179,1,0,214,162,1,0,152,163,1,0,101,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,13,0,0,0,109,163,1,0,0,0,0,0,214,162,1,0,168,163,1,0,168,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,178,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,0,0,0,0,18,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,193,163,1,0,168,163,1,0,24,179,1,0,0,0,0,0,206,162,1,0,19,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,215,163,1,0,168,163,1,0,0,0,0,0,232,163,1,0,0,0,0,0,20,0,0,0,172,162,1,0,0,0,0,0,0,0,0,0,242,163,1,0,168,163,1,0,24,179,1,0,232,163,1,0,0,0,0,0,22,0,0,0,172,162,1,0,24,179,1,0,0,0,0,0,8,164,1,0,168,163,1,0,24,179,1,0,232,163,1,0,206,162,1,0,23,0,0,0,172,162,1,0,24,179,1,0,214,162,1,0,37,164,1,0,168,163,1,0,0,0,0,0,232,163,1,0,206,162,1,0,21,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,62,164,1,0,168,163,1,0,0,0,0,0,0,0,0,0,206,162,1,0,17,0,0,0,172,162,1,0,0,0,0,0,214,162,1,0,80,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,26,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,123,164,1,0,102,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,27,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,151,164,1,0,102,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,25,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,175,164,1,0,102,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,24,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,204,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,0,0,0,0,30,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,236,164,1,0,218,164,1,0,24,179,1,0,0,0,0,0,214,162,1,0,31,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,0,165,1,0,218,164,1,0,0,0,0,0,0,0,0,0,214,162,1,0,29,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,16,165,1,0,218,164,1,0,198,164,1,0,0,0,0,0,0,0,0,0,28,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,31,165,1,0,31,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,46,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,0,0,0,0,2,0,0,0,36,163,1,0,24,179,1,0,0,0,0,0,63,165,1,0,57,165,1,0,24,179,1,0,0,0,0,0,214,162,1,0,3,0,0,0,36,163,1,0,24,179,1,0,214,162,1,0,80,165,1,0,57,165,1,0,0,0,0,0,0,0,0,0,214,162,1,0,1,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,7,167,1,0,57,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,163,1,0,0,0,0,0,0,0,0,0,93,165,1,0,119,165,1,0,134,165,1,0,0,0,0,0,214,162,1,0,33,0,0,0,36,163,1,0,0,0,0,0,214,162,1,0,141,165,1,0,154,165,1,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,38,165,1,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,45,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,168,1,0,198,0,0,0,60,168,1,0,193,0,0,0,67,168,1,0,194,0,0,0,73,168,1,0,192,0,0,0,80,168,1,0,145,3,0,0,86,168,1,0,197,0,0,0,92,168,1,0,195,0,0,0,99,168,1,0,196,0,0,0,104,168,1,0,146,3,0,0,109,168,1,0,199,0,0,0,116,168,1,0,167,3,0,0,120,168,1,0,33,32,0,0,127,168,1,0,148,3,0,0,133,168,1,0,208,0,0,0,137,168,1,0,201,0,0,0,144,168,1,0,202,0,0,0,150,168,1,0,200,0,0,0,157,168,1,0,149,3,0,0,165,168,1,0,151,3,0,0,169,168,1,0,203,0,0,0,174,168,1,0,147,3,0,0,180,168,1,0,205,0,0,0,187,168,1,0,206,0,0,0,193,168,1,0,204,0,0,0,200,168,1,0,153,3,0,0,205,168,1,0,207,0,0,0,210,168,1,0,154,3,0,0,216,168,1,0,155,3,0,0,223,168,1,0,156,3,0,0,226,168,1,0,209,0,0,0,233,168,1,0,157,3,0,0,236,168,1,0,82,1,0,0,242,168,1,0,211,0,0,0,249,168,1,0,212,0,0,0,255,168,1,0,210,0,0,0,6,169,1,0,169,3,0,0,12,169,1,0,159,3,0,0,20,169,1,0,216,0,0,0,27,169,1,0,213,0,0,0,34,169,1,0,214,0,0,0,39,169,1,0,166,3,0,0,43,169,1,0,160,3,0,0,46,169,1,0,51,32,0,0,52,169,1,0,168,3,0,0,56,169,1,0,161,3,0,0,60,169,1,0,96,1,0,0,67,169,1,0,163,3,0,0,73,169,1,0,222,0,0,0,79,169,1,0,164,3,0,0,83,169,1,0,152,3,0,0,89,169,1,0,218,0,0,0,96,169,1,0,219,0,0,0,102,169,1,0,217,0,0,0,109,169,1,0,165,3,0,0,117,169,1,0,220,0,0,0,122,169,1,0,158,3,0,0,125,169,1,0,221,0,0,0,132,169,1,0,120,1,0,0,137,169,1,0,150,3,0,0,142,169,1,0,225,0,0,0,149,169,1,0,226,0,0,0,155,169,1,0,180,0,0,0,161,169,1,0,230,0,0,0,167,169,1,0,224,0,0,0,174,169,1,0,53,33,0,0,182,169,1,0,177,3,0,0,188,169,1,0,38,0,0,0,192,169,1,0,39,34,0,0,196,169,1,0,32,34,0,0,200,169,1,0,229,0,0,0,206,169,1,0,72,34,0,0,212,169,1,0,227,0,0,0,219,169,1,0,228,0,0,0,224,169,1,0,30,32,0,0,230,169,1,0,178,3,0,0,235,169,1,0,166,0,0,0,242,169,1,0,34,32,0,0,247,169,1,0,41,34,0,0,251,169,1,0,231,0,0,0,2,170,1,0,184,0,0,0,8,170,1,0,162,0,0,0,13,170,1,0,199,3,0,0,17,170,1,0,198,2,0,0,22,170,1,0,99,38,0,0,28,170,1,0,69,34,0,0,33,170,1,0,169,0,0,0,38,170,1,0,181,33,0,0,44,170,1,0,42,34,0,0,48,170,1,0,164,0,0,0,55,170,1,0,211,33,0,0,60,170,1,0,32,32,0,0,67,170,1,0,147,33,0,0,72,170,1,0,176,0,0,0,76,170,1,0,180,3,0,0,82,170,1,0,102,38,0,0,88,170,1,0,247,0,0,0,95,170,1,0,233,0,0,0,102,170,1,0,234,0,0,0,108,170,1,0,232,0,0,0,115,170,1,0,5,34,0,0,121,170,1,0,3,32,0,0,126,170,1,0,2,32,0,0,131,170,1,0,181,3,0,0,139,170,1,0,97,34,0,0,145,170,1,0,183,3,0,0,149,170,1,0,240,0,0,0,153,170,1,0,235,0,0,0,158,170,1,0,172,32,0,0,163,170,1,0,3,34,0,0,169,170,1,0,146,1,0,0,174,170,1,0,0,34,0,0,181,170,1,0,189,0,0,0,188,170,1,0,188,0,0,0,195,170,1,0,190,0,0,0,202,170,1,0,68,32,0,0,208,170,1,0,179,3,0,0,214,170,1,0,101,34,0,0,217,170,1,0,62,0,0,0,220,170,1,0,212,33,0,0,225,170,1,0,148,33,0,0,230,170,1,0,101,38,0,0,237,170,1,0,38,32,0,0,244,170,1,0,237,0,0,0,251,170,1,0,238,0,0,0,1,171,1,0,161,0,0,0,7,171,1,0,236,0,0,0,14,171,1,0,17,33,0,0,20,171,1,0,30,34,0,0,26,171,1,0,43,34,0,0,30,171,1,0,185,3,0,0,35,171,1,0,191,0,0,0,42,171,1,0,8,34,0,0,47,171,1,0,239,0,0,0,52,171,1,0,186,3,0,0,58,171,1,0,208,33,0,0,63,171,1,0,187,3,0,0,70,171,1,0,41,35,0,0,75,171,1,0,171,0,0,0,81,171,1,0,144,33,0,0,86,171,1,0,8,35,0,0,92,171,1,0,28,32,0,0,98,171,1,0,100,34,0,0,101,171,1,0,10,35,0,0,108,171,1,0,23,34,0,0,115,171,1,0,202,37,0,0,119,171,1,0,14,32,0,0,123,171,1,0,57,32,0,0,130,171,1,0,24,32,0,0,136,171,1,0,60,0,0,0,139,171,1,0,175,0,0,0,144,171,1,0,20,32,0,0,150,171,1,0,181,0,0,0,156,171,1,0,183,0,0,0,115,180,1,0,18,34,0,0,163,171,1,0,188,3,0,0,166,171,1,0,7,34,0,0,172,171,1,0,160,0,0,0,177,171,1,0,19,32,0,0,183,171,1,0,96,34,0,0,186,171,1,0,11,34,0,0,189,171,1,0,172,0,0,0,193,171,1,0,9,34,0,0,199,171,1,0,132,34,0,0,204,171,1,0,241,0,0,0,211,171,1,0,189,3,0,0,214,171,1,0,243,0,0,0,221,171,1,0,244,0,0,0,227,171,1,0,83,1,0,0,233,171,1,0,242,0,0,0,240,171,1,0,62,32,0,0,246,171,1,0,201,3,0,0,252,171,1,0,191,3,0,0,4,172,1,0,149,34,0,0,10,172,1,0,40,34,0,0,13,172,1,0,170,0,0,0,18,172,1,0,186,0,0,0,23,172,1,0,248,0,0,0,30,172,1,0,245,0,0,0,37,172,1,0,151,34,0,0,44,172,1,0,246,0,0,0,49,172,1,0,182,0,0,0,54,172,1,0,2,34,0,0,59,172,1,0,48,32,0,0,66,172,1,0,165,34,0,0,71,172,1,0,198,3,0,0,75,172,1,0,192,3,0,0,78,172,1,0,214,3,0,0,82,172,1,0,177,0,0,0,89,172,1,0,163,0,0,0,95,172,1,0,50,32,0,0,101,172,1,0,15,34,0,0,106,172,1,0,29,34,0,0,111,172,1,0,200,3,0,0,115,172,1,0,34,0,0,0,120,172,1,0,210,33,0,0,125,172,1,0,26,34,0,0,131,172,1,0,42,35,0,0,136,172,1,0,187,0,0,0,142,172,1,0,146,33,0,0,147,172,1,0,9,35,0,0,153,172,1,0,29,32,0,0,159,172,1,0,28,33,0,0,164,172,1,0,174,0,0,0,168,172,1,0,11,35,0,0,175,172,1,0,193,3,0,0,179,172,1,0,15,32,0,0,183,172,1,0,58,32,0,0,190,172,1,0,25,32,0,0,196,172,1,0,26,32,0,0,202,172,1,0,97,1,0,0,209,172,1,0,197,34,0,0,214,172,1,0,167,0,0,0,219,172,1,0,173,0,0,0,223,172,1,0,195,3,0,0,229,172,1,0,194,3,0,0,236,172,1,0,60,34,0,0,240,172,1,0,96,38,0,0,247,172,1,0,130,34,0,0,251,172,1,0,134,34,0,0,0,173,1,0,17,34,0,0,4,173,1,0,131,34,0,0,8,173,1,0,185,0,0,0,13,173,1,0,178,0,0,0,18,173,1,0,179,0,0,0,23,173,1,0,135,34,0,0,28,173,1,0,223,0,0,0,34,173,1,0,196,3,0,0,38,173,1,0,52,34,0,0,45,173,1,0,184,3,0,0,51,173,1,0,209,3,0,0,60,173,1,0,9,32,0,0,67,173,1,0,254,0,0,0,73,173,1,0,220,2,0,0,79,173,1,0,215,0,0,0,85,173,1,0,34,33,0,0,91,173,1,0,209,33,0,0,96,173,1,0,250,0,0,0,103,173,1,0,145,33,0,0,108,173,1,0,251,0,0,0,114,173,1,0,249,0,0,0,121,173,1,0,168,0,0,0,125,173,1,0,210,3,0,0,131,173,1,0,197,3,0,0,139,173,1,0,252,0,0,0,144,173,1,0,24,33,0,0,151,173,1,0,190,3,0,0,154,173,1,0,253,0,0,0,161,173,1,0,165,0,0,0,165,173,1,0,255,0,0,0,170,173,1,0,182,3,0,0,175,173,1,0,13,32,0,0,179,173,1,0,12,32,0,0,7,0,0,0,8,0,0,0,1,1,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,180,1,0,9,0,0,0,53,180,1,0,10,0,0,0,58,180,1,0,10,0,0,0,66,180,1,0,11,0,0,0,72,180,1,0,11,0,0,0,81,180,1,0,12,0,0,0,84,180,1,0,12,0,0,0,90,180,1,0,13,0,0,0,95,180,1,0,13,0,0,0,103,180,1,0,14,0,0,0,108,180,1,0,14,0,0,0,115,180,1,0,15,0,0,0,121,180,1,0,15,0,0,0,133,180,1,0,16,0,0,0,14,0,0,0,98,0,0,0,49,0,0,0,50,0,0,0,20,0,0,0,51,0,0,0,99,0,0,0,52,0,0,0,21,0,0,0,53,0,0,0,8,0,0,0,4,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,181,1,0,85,93,201,127,201,127,255,0,219,181,1,0,187,45,212,190,174,212,255,0,230,181,1,0,20,119,253,253,192,134,255,0,241,181,1,0,85,93,201,127,201,127,255,0,252,181,1,0,187,45,212,190,174,212,255,0,7,182,1,0,20,119,253,253,192,134,255,0,18,182,1,0,42,102,255,255,255,153,255,0,29,182,1,0,85,93,201,127,201,127,255,0,40,182,1,0,187,45,212,190,174,212,255,0,51,182,1,0,20,119,253,253,192,134,255,0,62,182,1,0,42,102,255,255,255,153,255,0,73,182,1,0,151,173,176,56,108,176,255,0,84,182,1,0,85,93,201,127,201,127,255,0,95,182,1,0,187,45,212,190,174,212,255,0,106,182,1,0,20,119,253,253,192,134,255,0,117,182,1,0,42,102,255,255,255,153,255,0,128,182,1,0,151,173,176,56,108,176,255,0,139,182,1,0,232,252,240,240,2,127,255,0,150,182,1,0,85,93,201,127,201,127,255,0,161,182,1,0,187,45,212,190,174,212,255,0,172,182,1,0,20,119,253,253,192,134,255,0,183,182,1,0,42,102,255,255,255,153,255,0,194,182,1,0,151,173,176,56,108,176,255,0,205,182,1,0,232,252,240,240,2,127,255,0,216,182,1,0,17,224,191,191,91,23,255,0,227,182,1,0,85,93,201,127,201,127,255,0,238,182,1,0,187,45,212,190,174,212,255,0,249,182,1,0,20,119,253,253,192,134,255,0,4,183,1,0,42,102,255,255,255,153,255,0,15,183,1,0,151,173,176,56,108,176,255,0,26,183,1,0,232,252,240,240,2,127,255,0,37,183,1,0,17,224,191,191,91,23,255,0,48,183,1,0,0,0,102,102,102,102,255,0,59,183,1,0,147,25,247,222,235,247,255,0,69,183,1,0,142,75,225,158,202,225,255,0,79,183,1,0,145,188,189,49,130,189,255,0,89,183,1,0,159,16,255,239,243,255,255,0,99,183,1,0,143,46,231,189,215,231,255,0,109,183,1,0,143,127,214,107,174,214,255,0,119,183,1,0,147,208,181,33,113,181,255,0,129,183,1,0,159,16,255,239,243,255,255,0,139,183,1,0,143,46,231,189,215,231,255,0,149,183,1,0,143,127,214,107,174,214,255,0,159,183,1,0,145,188,189,49,130,189,255,0,169,183,1,0,149,241,156,8,81,156,255,0,179,183,1,0,159,16,255,239,243,255,255,0,189,183,1,0,148,43,239,198,219,239,255,0,199,183,1,0,142,75,225,158,202,225,255,0,209,183,1,0,143,127,214,107,174,214,255,0,219,183,1,0,145,188,189,49,130,189,255,0,229,183,1,0,149,241,156,8,81,156,255,0,239,183,1,0,159,16,255,239,243,255,255,0,249,183,1,0,148,43,239,198,219,239,255,0,3,184,1,0,142,75,225,158,202,225,255,0,13,184,1,0,143,127,214,107,174,214,255,0,23,184,1,0,144,169,198,66,146,198,255,0,33,184,1,0,147,208,181,33,113,181,255,0,43,184,1,0,151,241,148,8,69,148,255,0,53,184,1,0,148,8,255,247,251,255,255,0,63,184,1,0,147,25,247,222,235,247,255,0,73,184,1,0,148,43,239,198,219,239,255,0,83,184,1,0,142,75,225,158,202,225,255,0,93,184,1,0,143,127,214,107,174,214,255,0,103,184,1,0,144,169,198,66,146,198,255,0,113,184,1,0,147,208,181,33,113,181,255,0,123,184,1,0,151,241,148,8,69,148,255,0,133,184,1,0,148,8,255,247,251,255,255,0,143,184,1,0,147,25,247,222,235,247,255,0,153,184,1,0,148,43,239,198,219,239,255,0,163,184,1,0,142,75,225,158,202,225,255,0,173,184,1,0,143,127,214,107,174,214,255,0,183,184,1,0,144,169,198,66,146,198,255,0,193,184,1,0,147,208,181,33,113,181,255,0,203,184,1,0,149,241,156,8,81,156,255,0,213,184,1,0,152,235,107,8,48,107,255,0,223,184,1,0,23,239,84,84,48,5,255,0,233,184,1,0,119,255,60,0,60,48,255,0,244,184,1,0,23,236,140,140,81,10,255,0,254,184,1,0,24,194,191,191,129,45,255,0,8,185,1,0,29,112,223,223,194,125,255,0,18,185,1,0,30,52,246,246,232,195,255,0,28,185,1,0,121,38,234,199,234,229,255,0,38,185,1,0,120,95,205,128,205,193,255,0,48,185,1,0,124,165,151,53,151,143,255,0,58,185,1,0,124,252,102,1,102,94,255,0,68,185,1,0,23,239,84,84,48,5,255,0,78,185,1,0,124,252,102,1,102,94,255,0,89,185,1,0,119,255,60,0,60,48,255,0,100,185,1,0,23,236,140,140,81,10,255,0,110,185,1,0,24,194,191,191,129,45,255,0,120,185,1,0,29,112,223,223,194,125,255,0,130,185,1,0,30,52,246,246,232,195,255,0,140,185,1,0,0,0,245,245,245,245,255,0,150,185,1,0,121,38,234,199,234,229,255,0,160,185,1,0,120,95,205,128,205,193,255,0,170,185,1,0,124,165,151,53,151,143,255,0,180,185,1,0,28,135,216,216,179,101,255,0,189,185,1,0,0,0,245,245,245,245,255,0,198,185,1,0,123,127,180,90,180,172,255,0,207,185,1,0,21,215,166,166,97,26,255,0,216,185,1,0,29,112,223,223,194,125,255,0,225,185,1,0,120,95,205,128,205,193,255,0,234,185,1,0,121,253,133,1,133,113,255,0,243,185,1,0,21,215,166,166,97,26,255,0,252,185,1,0,29,112,223,223,194,125,255,0,5,186,1,0,0,0,245,245,245,245,255,0,14,186,1,0,120,95,205,128,205,193,255,0,23,186,1,0,121,253,133,1,133,113,255,0,32,186,1,0,23,236,140,140,81,10,255,0,41,186,1,0,28,135,216,216,179,101,255,0,50,186,1,0,30,52,246,246,232,195,255,0,59,186,1,0,121,38,234,199,234,229,255,0,68,186,1,0,123,127,180,90,180,172,255,0,77,186,1,0,124,252,102,1,102,94,255,0,86,186,1,0,23,236,140,140,81,10,255,0,95,186,1,0,28,135,216,216,179,101,255,0,104,186,1,0,30,52,246,246,232,195,255,0,113,186,1,0,0,0,245,245,245,245,255,0,122,186,1,0,121,38,234,199,234,229,255,0,131,186,1,0,123,127,180,90,180,172,255,0,140,186,1,0,124,252,102,1,102,94,255,0,149,186,1,0,23,236,140,140,81,10,255,0,158,186,1,0,24,194,191,191,129,45,255,0,167,186,1,0,29,112,223,223,194,125,255,0,176,186,1,0,30,52,246,246,232,195,255,0,185,186,1,0,121,38,234,199,234,229,255,0,194,186,1,0,120,95,205,128,205,193,255,0,203,186,1,0,124,165,151,53,151,143,255,0,212,186,1,0,124,252,102,1,102,94,255,0,221,186,1,0,23,236,140,140,81,10,255,0,230,186,1,0,24,194,191,191,129,45,255,0,239,186,1,0,29,112,223,223,194,125,255,0,248,186,1,0,30,52,246,246,232,195,255,0,1,187,1,0,0,0,245,245,245,245,255,0,10,187,1,0,121,38,234,199,234,229,255,0,19,187,1,0,120,95,205,128,205,193,255,0,28,187,1,0,124,165,151,53,151,143,255,0,37,187,1,0,124,252,102,1,102,94,255,0,46,187,1,0,135,20,249,229,245,249,255,0,55,187,1,0,117,74,216,153,216,201,255,0,64,187,1,0,103,185,162,44,162,95,255,0,73,187,1,0,136,14,251,237,248,251,255,0,82,187,1,0,127,54,226,178,226,226,255,0,91,187,1,0,113,120,194,102,194,164,255,0,100,187,1,0,98,190,139,35,139,69,255,0,109,187,1,0,136,14,251,237,248,251,255,0,118,187,1,0,127,54,226,178,226,226,255,0,127,187,1,0,113,120,194,102,194,164,255,0,136,187,1,0,103,185,162,44,162,95,255,0,145,187,1,0,102,255,109,0,109,44,255,0,154,187,1,0,136,14,251,237,248,251,255,0,163,187,1,0,119,34,236,204,236,230,255,0,172,187,1,0,117,74,216,153,216,201,255,0,181,187,1,0,113,120,194,102,194,164,255,0,190,187,1,0,103,185,162,44,162,95,255,0,199,187,1,0,102,255,109,0,109,44,255,0,208,187,1,0,136,14,251,237,248,251,255,0,217,187,1,0,119,34,236,204,236,230,255,0,226,187,1,0,117,74,216,153,216,201,255,0,235,187,1,0,113,120,194,102,194,164,255,0,244,187,1,0,105,159,174,65,174,118,255,0,253,187,1,0,98,190,139,35,139,69,255,0,6,188,1,0,102,255,88,0,88,36,255,0,15,188,1,0,134,6,253,247,252,253,255,0,24,188,1,0,135,20,249,229,245,249,255,0,33,188,1,0,119,34,236,204,236,230,255,0,42,188,1,0,117,74,216,153,216,201,255,0,51,188,1,0,113,120,194,102,194,164,255,0,60,188,1,0,105,159,174,65,174,118,255,0,69,188,1,0,98,190,139,35,139,69,255,0,78,188,1,0,102,255,88,0,88,36,255,0,87,188,1,0,134,6,253,247,252,253,255,0,96,188,1,0,135,20,249,229,245,249,255,0,105,188,1,0,119,34,236,204,236,230,255,0,114,188,1,0,117,74,216,153,216,201,255,0,123,188,1,0,113,120,194,102,194,164,255,0,132,188,1,0,105,159,174,65,174,118,255,0,141,188,1,0,98,190,139,35,139,69,255,0,150,188,1,0,102,255,109,0,109,44,255,0,159,188,1,0,101,255,68,0,68,27,255,0,168,188,1,0,144,20,244,224,236,244,255,0,177,188,1,0,148,70,218,158,188,218,255,0,186,188,1,0,196,123,167,136,86,167,255,0,195,188,1,0,136,14,251,237,248,251,255,0,204,188,1,0,146,53,227,179,205,227,255,0,213,188,1,0,162,74,198,140,150,198,255,0,222,188,1,0,202,149,157,136,65,157,255,0,231,188,1,0,136,14,251,237,248,251,255,0,240,188,1,0,146,53,227,179,205,227,255,0,249,188,1,0,162,74,198,140,150,198,255,0,2,189,1,0,196,123,167,136,86,167,255,0,11,189,1,0,214,225,129,129,15,124,255,0,20,189,1,0,136,14,251,237,248,251,255,0,29,189,1,0,148,43,230,191,211,230,255,0,38,189,1,0,148,70,218,158,188,218,255,0,47,189,1,0,162,74,198,140,150,198,255,0,56,189,1,0,196,123,167,136,86,167,255,0,65,189,1,0,214,225,129,129,15,124,255,0,74,189,1,0,136,14,251,237,248,251,255,0,83,189,1,0,148,43,230,191,211,230,255,0,92,189,1,0,148,70,218,158,188,218,255,0,101,189,1,0,162,74,198,140,150,198,255,0,110,189,1,0,190,100,177,140,107,177,255,0,119,189,1,0,202,149,157,136,65,157,255,0,128,189,1,0,213,252,110,110,1,107,255,0,137,189,1,0,134,6,253,247,252,253,255,0,146,189,1,0,144,20,244,224,236,244,255,0,155,189,1,0,148,43,230,191,211,230,255,0,164,189,1,0,148,70,218,158,188,218,255,0,173,189,1,0,162,74,198,140,150,198,255,0,182,189,1,0,190,100,177,140,107,177,255,0,191,189,1,0,202,149,157,136,65,157,255,0,200,189,1,0,213,252,110,110,1,107,255,0,209,189,1,0,134,6,253,247,252,253,255,0,218,189,1,0,144,20,244,224,236,244,255,0,227,189,1,0,148,43,230,191,211,230,255,0,236,189,1,0,148,70,218,158,188,218,255,0,245,189,1,0,162,74,198,140,150,198,255,0,254,189,1,0,190,100,177,140,107,177,255,0,7,190,1,0,202,149,157,136,65,157,255,0,16,190,1,0,214,225,129,129,15,124,255,0,25,190,1,0,213,255,77,77,0,75,255,0,34,190,1,0,114,211,158,27,158,119,255,0,44,190,1,0,18,252,217,217,95,2,255,0,54,190,1,0,173,95,179,117,112,179,255,0,64,190,1,0,114,211,158,27,158,119,255,0,74,190,1,0,18,252,217,217,95,2,255,0,84,190,1,0,173,95,179,117,112,179,255,0,94,190,1,0,233,209,231,231,41,138,255,0,104,190,1,0,114,211,158,27,158,119,255,0,114,190,1,0,18,252,217,217,95,2,255,0,124,190,1,0,173,95,179,117,112,179,255,0,134,190,1,0,233,209,231,231,41,138,255,0,144,190,1,0,62,208,166,102,166,30,255,0,154,190,1,0,114,211,158,27,158,119,255,0,164,190,1,0,18,252,217,217,95,2,255,0,174,190,1,0,173,95,179,117,112,179,255,0,184,190,1,0,233,209,231,231,41,138,255,0,194,190,1,0,62,208,166,102,166,30,255,0,204,190,1,0,31,252,230,230,171,2,255,0,214,190,1,0,114,211,158,27,158,119,255,0,224,190,1,0,18,252,217,217,95,2,255,0,234,190,1,0,173,95,179,117,112,179,255,0,244,190,1,0,233,209,231,231,41,138,255,0,254,190,1,0,62,208,166,102,166,30,255,0,8,191,1,0,31,252,230,230,171,2,255,0,18,191,1,0,27,210,166,166,118,29,255,0,28,191,1,0,114,211,158,27,158,119,255,0,38,191,1,0,18,252,217,217,95,2,255,0,48,191,1,0,173,95,179,117,112,179,255,0,58,191,1,0,233,209,231,231,41,138,255,0,68,191,1,0,62,208,166,102,166,30,255,0,78,191,1,0,31,252,230,230,171,2,255,0,88,191,1,0,27,210,166,166,118,29,255,0,98,191,1,0,0,0,102,102,102,102,255,0,108,191,1,0,76,25,243,224,243,219,255,0,117,191,1,0,95,61,221,168,221,181,255,0,126,191,1,0,140,170,202,67,162,202,255,0,135,191,1,0,65,17,249,240,249,232,255,0,144,191,1,0,87,46,228,186,228,188,255,0,153,191,1,0,123,101,204,123,204,196,255,0,162,191,1,0,141,197,190,43,140,190,255,0,171,191,1,0,65,17,249,240,249,232,255,0,180,191,1,0,87,46,228,186,228,188,255,0,189,191,1,0,123,101,204,123,204,196,255,0,198,191,1,0,140,170,202,67,162,202,255,0,207,191,1,0,145,243,172,8,104,172,255,0,216,191,1,0,65,17,249,240,249,232,255,0,225,191,1,0,77,41,235,204,235,197,255,0,234,191,1,0,95,61,221,168,221,181,255,0,243,191,1,0,123,101,204,123,204,196,255,0,252,191,1,0,140,170,202,67,162,202,255,0,5,192,1,0,145,243,172,8,104,172,255,0,14,192,1,0,65,17,249,240,249,232,255,0,23,192,1,0,77,41,235,204,235,197,255,0,32,192,1,0,95,61,221,168,221,181,255,0,41,192,1,0,123,101,204,123,204,196,255,0,50,192,1,0,137,160,211,78,179,211,255,0,59,192,1,0,141,197,190,43,140,190,255,0,68,192,1,0,147,242,158,8,88,158,255,0,77,192,1,0,60,12,252,247,252,240,255,0,86,192,1,0,76,25,243,224,243,219,255,0,95,192,1,0,77,41,235,204,235,197,255,0,104,192,1,0,95,61,221,168,221,181,255,0,113,192,1,0,123,101,204,123,204,196,255,0,122,192,1,0,137,160,211,78,179,211,255,0,131,192,1,0,141,197,190,43,140,190,255,0,140,192,1,0,147,242,158,8,88,158,255,0,149,192,1,0,60,12,252,247,252,240,255,0,158,192,1,0,76,25,243,224,243,219,255,0,167,192,1,0,77,41,235,204,235,197,255,0,176,192,1,0,95,61,221,168,221,181,255,0,185,192,1,0,123,101,204,123,204,196,255,0,194,192,1,0,137,160,211,78,179,211,255,0,203,192,1,0,141,197,190,43,140,190,255,0,212,192,1,0,145,243,172,8,104,172,255,0,221,192,1,0,150,239,129,8,64,129,255,0,230,192,1,0,74,21,245,229,245,224,255,0,241,192,1,0,80,72,217,161,217,155,255,0,252,192,1,0,98,178,163,49,163,84,255,0,7,193,1,0,73,15,248,237,248,233,255,0,18,193,1,0,78,54,228,186,228,179,255,0,29,193,1,0,86,104,196,116,196,118,255,0,40,193,1,0,98,190,139,35,139,69,255,0,51,193,1,0,73,15,248,237,248,233,255,0,62,193,1,0,78,54,228,186,228,179,255,0,73,193,1,0,86,104,196,116,196,118,255,0,84,193,1,0,98,178,163,49,163,84,255,0,95,193,1,0,102,255,109,0,109,44,255,0,106,193,1,0,73,15,248,237,248,233,255,0,117,193,1,0,77,44,233,199,233,192,255,0,128,193,1,0,80,72,217,161,217,155,255,0,139,193,1,0,86,104,196,116,196,118,255,0,150,193,1,0,98,178,163,49,163,84,255,0,161,193,1,0,102,255,109,0,109,44,255,0,172,193,1,0,73,15,248,237,248,233,255,0,183,193,1,0,77,44,233,199,233,192,255,0,194,193,1,0,80,72,217,161,217,155,255,0,205,193,1,0,86,104,196,116,196,118,255,0,216,193,1,0,96,158,171,65,171,93,255,0,227,193,1,0,98,190,139,35,139,69,255,0,238,193,1,0,108,255,90,0,90,50,255,0,249,193,1,0,72,7,252,247,252,245,255,0,4,194,1,0,74,21,245,229,245,224,255,0,15,194,1,0,77,44,233,199,233,192,255,0,26,194,1,0,80,72,217,161,217,155,255,0,37,194,1,0,86,104,196,116,196,118,255,0,48,194,1,0,96,158,171,65,171,93,255,0,59,194,1,0,98,190,139,35,139,69,255,0,70,194,1,0,108,255,90,0,90,50,255,0,81,194,1,0,72,7,252,247,252,245,255,0,92,194,1,0,74,21,245,229,245,224,255,0,103,194,1,0,77,44,233,199,233,192,255,0,114,194,1,0,80,72,217,161,217,155,255,0,125,194,1,0,86,104,196,116,196,118,255,0,136,194,1,0,96,158,171,65,171,93,255,0,147,194,1,0,98,190,139,35,139,69,255,0,158,194,1,0,102,255,109,0,109,44,255,0,169,194,1,0,101,255,68,0,68,27,255,0,180,194,1,0,0,0,240,240,240,240,255,0,190,194,1,0,0,0,189,189,189,189,255,0,200,194,1,0,0,0,99,99,99,99,255,0,210,194,1,0,0,0,247,247,247,247,255,0,220,194,1,0,0,0,204,204,204,204,255,0,230,194,1,0,0,0,150,150,150,150,255,0,240,194,1,0,0,0,82,82,82,82,255,0,250,194,1,0,0,0,247,247,247,247,255,0,4,195,1,0,0,0,204,204,204,204,255,0,14,195,1,0,0,0,150,150,150,150,255,0,24,195,1,0,0,0,99,99,99,99,255,0,34,195,1,0,0,0,37,37,37,37,255,0,44,195,1,0,0,0,247,247,247,247,255,0,54,195,1,0,0,0,217,217,217,217,255,0,64,195,1,0,0,0,189,189,189,189,255,0,74,195,1,0,0,0,150,150,150,150,255,0,84,195,1,0,0,0,99,99,99,99,255,0,94,195,1,0,0,0,37,37,37,37,255,0,104,195,1,0,0,0,247,247,247,247,255,0,114,195,1,0,0,0,217,217,217,217,255,0,124,195,1,0,0,0,189,189,189,189,255,0,134,195,1,0,0,0,150,150,150,150,255,0,144,195,1,0,0,0,115,115,115,115,255,0,154,195,1,0,0,0,82,82,82,82,255,0,164,195,1,0,0,0,37,37,37,37,255,0,174,195,1,0,0,0,255,255,255,255,255,0,184,195,1,0,0,0,240,240,240,240,255,0,194,195,1,0,0,0,217,217,217,217,255,0,204,195,1,0,0,0,189,189,189,189,255,0,214,195,1,0,0,0,150,150,150,150,255,0,224,195,1,0,0,0,115,115,115,115,255,0,234,195,1,0,0,0,82,82,82,82,255,0,244,195,1,0,0,0,37,37,37,37,255,0,254,195,1,0,0,0,255,255,255,255,255,0,8,196,1,0,0,0,240,240,240,240,255,0,18,196,1,0,0,0,217,217,217,217,255,0,28,196,1,0,0,0,189,189,189,189,255,0,38,196,1,0,0,0,150,150,150,150,255,0,48,196,1,0,0,0,115,115,115,115,255,0,58,196,1,0,0,0,82,82,82,82,255,0,68,196,1,0,0,0,37,37,37,37,255,0,78,196,1,0,0,0,0,0,0,0,255,0,88,196,1,0,21,48,254,254,230,206,255,0,100,196,1,0,19,147,253,253,174,107,255,0,112,196,1,0,14,240,230,230,85,13,255,0,124,196,1,0,19,32,254,254,237,222,255,0,136,196,1,0,20,120,253,253,190,133,255,0,148,196,1,0,17,194,253,253,141,60,255,0,160,196,1,0,13,253,217,217,71,1,255,0,172,196,1,0,19,32,254,254,237,222,255,0,184,196,1,0,20,120,253,253,190,133,255,0,196,196,1,0,17,194,253,253,141,60,255,0,208,196,1,0,14,240,230,230,85,13,255,0,220,196,1,0,13,250,166,166,54,3,255,0,232,196,1,0,19,32,254,254,237,222,255,0,244,196,1],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+20484);allocate([21,91,253,253,208,162,255,0,0,197,1,0,19,147,253,253,174,107,255,0,12,197,1,0,17,194,253,253,141,60,255,0,24,197,1,0,14,240,230,230,85,13,255,0,36,197,1,0,13,250,166,166,54,3,255,0,48,197,1,0,19,32,254,254,237,222,255,0,60,197,1,0,21,91,253,253,208,162,255,0,72,197,1,0,19,147,253,253,174,107,255,0,84,197,1,0,17,194,253,253,141,60,255,0,96,197,1,0,16,234,241,241,105,19,255,0,108,197,1,0,13,253,217,217,72,1,255,0,120,197,1,0,12,247,140,140,45,4,255,0,132,197,1,0,21,20,255,255,245,235,255,0,144,197,1,0,21,48,254,254,230,206,255,0,156,197,1,0,21,91,253,253,208,162,255,0,168,197,1,0,19,147,253,253,174,107,255,0,180,197,1,0,17,194,253,253,141,60,255,0,192,197,1,0,16,234,241,241,105,19,255,0,204,197,1,0,13,253,217,217,72,1,255,0,216,197,1,0,12,247,140,140,45,4,255,0,228,197,1,0,21,20,255,255,245,235,255,0,240,197,1,0,21,48,254,254,230,206,255,0,252,197,1,0,21,91,253,253,208,162,255,0,8,198,1,0,19,147,253,253,174,107,255,0,20,198,1,0,17,194,253,253,141,60,255,0,32,198,1,0,16,234,241,241,105,19,255,0,44,198,1,0,13,253,217,217,72,1,255,0,56,198,1,0,13,250,166,166,54,3,255,0,68,198,1,0,12,246,127,127,39,4,255,0,80,198,1,0,25,54,254,254,232,200,255,0,89,198,1,0,19,121,253,253,187,132,255,0,98,198,1,0,5,197,227,227,74,51,255,0,107,198,1,0,26,37,254,254,240,217,255,0,116,198,1,0,24,115,253,253,204,138,255,0,125,198,1,0,13,164,252,252,141,89,255,0,134,198,1,0,3,218,215,215,48,31,255,0,143,198,1,0,26,37,254,254,240,217,255,0,152,198,1,0,24,115,253,253,204,138,255,0,161,198,1,0,13,164,252,252,141,89,255,0,170,198,1,0,5,197,227,227,74,51,255,0,179,198,1,0,0,255,179,179,0,0,255,0,188,198,1,0,26,37,254,254,240,217,255,0,197,198,1,0,24,95,253,253,212,158,255,0,206,198,1,0,19,121,253,253,187,132,255,0,215,198,1,0,13,164,252,252,141,89,255,0,224,198,1,0,5,197,227,227,74,51,255,0,233,198,1,0,0,255,179,179,0,0,255,0,242,198,1,0,26,37,254,254,240,217,255,0,251,198,1,0,24,95,253,253,212,158,255,0,4,199,1,0,19,121,253,253,187,132,255,0,13,199,1,0,13,164,252,252,141,89,255,0,22,199,1,0,7,178,239,239,101,72,255,0,31,199,1,0,3,218,215,215,48,31,255,0,40,199,1,0,0,255,153,153,0,0,255,0,49,199,1,0,24,18,255,255,247,236,255,0,58,199,1,0,25,54,254,254,232,200,255,0,67,199,1,0,24,95,253,253,212,158,255,0,76,199,1,0,19,121,253,253,187,132,255,0,85,199,1,0,13,164,252,252,141,89,255,0,94,199,1,0,7,178,239,239,101,72,255,0,103,199,1,0,3,218,215,215,48,31,255,0,112,199,1,0,0,255,153,153,0,0,255,0,121,199,1,0,24,18,255,255,247,236,255,0,130,199,1,0,25,54,254,254,232,200,255,0,139,199,1,0,24,95,253,253,212,158,255,0,148,199,1,0,19,121,253,253,187,132,255,0,157,199,1,0,13,164,252,252,141,89,255,0,166,199,1,0,7,178,239,239,101,72,255,0,175,199,1,0,3,218,215,215,48,31,255,0,184,199,1,0,0,255,179,179,0,0,255,0,193,199,1,0,0,255,127,127,0,0,255,0,202,199,1,0,142,68,227,166,206,227,255,0,214,199,1,0,190,153,154,106,61,154,255,0,227,199,1,0,144,211,180,31,120,180,255,0,239,199,1,0,65,97,223,178,223,138,255,0,251,199,1,0,82,184,160,51,160,44,255,0,7,200,1,0,0,99,251,251,154,153,255,0,19,200,1,0,254,225,227,227,26,28,255,0,31,200,1,0,23,143,253,253,191,111,255,0,43,200,1,0,21,255,255,255,127,0,255,0,55,200,1,0,198,42,214,202,178,214,255,0,67,200,1,0,142,68,227,166,206,227,255,0,79,200,1,0,190,153,154,106,61,154,255,0,92,200,1,0,42,102,255,255,255,153,255,0,105,200,1,0,144,211,180,31,120,180,255,0,117,200,1,0,65,97,223,178,223,138,255,0,129,200,1,0,82,184,160,51,160,44,255,0,141,200,1,0,0,99,251,251,154,153,255,0,153,200,1,0,254,225,227,227,26,28,255,0,165,200,1,0,23,143,253,253,191,111,255,0,177,200,1,0,21,255,255,255,127,0,255,0,189,200,1,0,198,42,214,202,178,214,255,0,201,200,1,0,142,68,227,166,206,227,255,0,213,200,1,0,190,153,154,106,61,154,255,0,226,200,1,0,42,102,255,255,255,153,255,0,239,200,1,0,15,197,177,177,89,40,255,0,252,200,1,0,144,211,180,31,120,180,255,0,8,201,1,0,65,97,223,178,223,138,255,0,20,201,1,0,82,184,160,51,160,44,255,0,32,201,1,0,0,99,251,251,154,153,255,0,44,201,1,0,254,225,227,227,26,28,255,0,56,201,1,0,23,143,253,253,191,111,255,0,68,201,1,0,21,255,255,255,127,0,255,0,80,201,1,0,198,42,214,202,178,214,255,0,92,201,1,0,142,68,227,166,206,227,255,0,103,201,1,0,144,211,180,31,120,180,255,0,114,201,1,0,65,97,223,178,223,138,255,0,125,201,1,0,142,68,227,166,206,227,255,0,136,201,1,0,144,211,180,31,120,180,255,0,147,201,1,0,65,97,223,178,223,138,255,0,158,201,1,0,82,184,160,51,160,44,255,0,169,201,1,0,142,68,227,166,206,227,255,0,180,201,1,0,144,211,180,31,120,180,255,0,191,201,1,0,65,97,223,178,223,138,255,0,202,201,1,0,82,184,160,51,160,44,255,0,213,201,1,0,0,99,251,251,154,153,255,0,224,201,1,0,142,68,227,166,206,227,255,0,235,201,1,0,144,211,180,31,120,180,255,0,246,201,1,0,65,97,223,178,223,138,255,0,1,202,1,0,82,184,160,51,160,44,255,0,12,202,1,0,0,99,251,251,154,153,255,0,23,202,1,0,254,225,227,227,26,28,255,0,34,202,1,0,142,68,227,166,206,227,255,0,45,202,1,0,144,211,180,31,120,180,255,0,56,202,1,0,65,97,223,178,223,138,255,0,67,202,1,0,82,184,160,51,160,44,255,0,78,202,1,0,0,99,251,251,154,153,255,0,89,202,1,0,254,225,227,227,26,28,255,0,100,202,1,0,23,143,253,253,191,111,255,0,111,202,1,0,142,68,227,166,206,227,255,0,122,202,1,0,144,211,180,31,120,180,255,0,133,202,1,0,65,97,223,178,223,138,255,0,144,202,1,0,82,184,160,51,160,44,255,0,155,202,1,0,0,99,251,251,154,153,255,0,166,202,1,0,254,225,227,227,26,28,255,0,177,202,1,0,23,143,253,253,191,111,255,0,188,202,1,0,21,255,255,255,127,0,255,0,199,202,1,0,142,68,227,166,206,227,255,0,210,202,1,0,144,211,180,31,120,180,255,0,221,202,1,0,65,97,223,178,223,138,255,0,232,202,1,0,82,184,160,51,160,44,255,0,243,202,1,0,0,99,251,251,154,153,255,0,254,202,1,0,254,225,227,227,26,28,255,0,9,203,1,0,23,143,253,253,191,111,255,0,20,203,1,0,21,255,255,255,127,0,255,0,31,203,1,0,198,42,214,202,178,214,255,0,42,203,1,0,3,78,251,251,180,174,255,0,54,203,1,0,146,53,227,179,205,227,255,0,66,203,1,0,77,41,235,204,235,197,255,0,78,203,1,0,3,78,251,251,180,174,255,0,90,203,1,0,146,53,227,179,205,227,255,0,102,203,1,0,77,41,235,204,235,197,255,0,114,203,1,0,202,27,228,222,203,228,255,0,126,203,1,0,3,78,251,251,180,174,255,0,138,203,1,0,146,53,227,179,205,227,255,0,150,203,1,0,77,41,235,204,235,197,255,0,162,203,1,0,202,27,228,222,203,228,255,0,174,203,1,0,24,88,254,254,217,166,255,0,186,203,1,0,3,78,251,251,180,174,255,0,198,203,1,0,146,53,227,179,205,227,255,0,210,203,1,0,77,41,235,204,235,197,255,0,222,203,1,0,202,27,228,222,203,228,255,0,234,203,1,0,24,88,254,254,217,166,255,0,246,203,1,0,42,50,255,255,255,204,255,0,2,204,1,0,3,78,251,251,180,174,255,0,14,204,1,0,146,53,227,179,205,227,255,0,26,204,1,0,77,41,235,204,235,197,255,0,38,204,1,0,202,27,228,222,203,228,255,0,50,204,1,0,24,88,254,254,217,166,255,0,62,204,1,0,42,50,255,255,255,204,255,0,74,204,1,0,28,44,229,229,216,189,255,0,86,204,1,0,3,78,251,251,180,174,255,0,98,204,1,0,146,53,227,179,205,227,255,0,110,204,1,0,77,41,235,204,235,197,255,0,122,204,1,0,202,27,228,222,203,228,255,0,134,204,1,0,24,88,254,254,217,166,255,0,146,204,1,0,42,50,255,255,255,204,255,0,158,204,1,0,28,44,229,229,216,189,255,0,170,204,1,0,233,35,253,253,218,236,255,0,182,204,1,0,3,78,251,251,180,174,255,0,194,204,1,0,146,53,227,179,205,227,255,0,206,204,1,0,77,41,235,204,235,197,255,0,218,204,1,0,202,27,228,222,203,228,255,0,230,204,1,0,24,88,254,254,217,166,255,0,242,204,1,0,42,50,255,255,255,204,255,0,254,204,1,0,28,44,229,229,216,189,255,0,10,205,1,0,233,35,253,253,218,236,255,0,22,205,1,0,0,0,242,242,242,242,255,0,34,205,1,0,108,53,226,179,226,205,255,0,46,205,1,0,17,81,253,253,205,172,255,0,58,205,1,0,155,31,232,203,213,232,255,0,70,205,1,0,108,53,226,179,226,205,255,0,82,205,1,0,17,81,253,253,205,172,255,0,94,205,1,0,155,31,232,203,213,232,255,0,106,205,1,0,228,43,244,244,202,228,255,0,118,205,1,0,108,53,226,179,226,205,255,0,130,205,1,0,17,81,253,253,205,172,255,0,142,205,1,0,155,31,232,203,213,232,255,0,154,205,1,0,228,43,244,244,202,228,255,0,166,205,1,0,56,45,245,230,245,201,255,0,178,205,1,0,108,53,226,179,226,205,255,0,190,205,1,0,17,81,253,253,205,172,255,0,202,205,1,0,155,31,232,203,213,232,255,0,214,205,1,0,228,43,244,244,202,228,255,0,226,205,1,0,56,45,245,230,245,201,255,0,238,205,1,0,35,81,255,255,242,174,255,0,250,205,1,0,108,53,226,179,226,205,255,0,6,206,1,0,17,81,253,253,205,172,255,0,18,206,1,0,155,31,232,203,213,232,255,0,30,206,1,0,228,43,244,244,202,228,255,0,42,206,1,0,56,45,245,230,245,201,255,0,54,206,1,0,35,81,255,255,242,174,255,0,66,206,1,0,25,39,241,241,226,204,255,0,78,206,1,0,108,53,226,179,226,205,255,0,90,206,1,0,17,81,253,253,205,172,255,0,102,206,1,0,155,31,232,203,213,232,255,0,114,206,1,0,228,43,244,244,202,228,255,0,126,206,1,0,56,45,245,230,245,201,255,0,138,206,1,0,35,81,255,255,242,174,255,0,150,206,1,0,25,39,241,241,226,204,255,0,162,206,1,0,0,0,204,204,204,204,255,0,174,206,1,0,230,253,142,142,1,82,255,0,184,206,1,0,77,191,100,39,100,25,255,0,195,206,1,0,230,220,197,197,27,125,255,0,205,206,1,0,232,118,222,222,119,174,255,0,215,206,1,0,229,62,241,241,182,218,255,0,225,206,1,0,233,29,253,253,224,239,255,0,235,206,1,0,59,38,245,230,245,208,255,0,245,206,1,0,61,103,225,184,225,134,255,0,255,206,1,0,63,166,188,127,188,65,255,0,9,207,1,0,68,197,146,77,146,33,255,0,19,207,1,0,230,253,142,142,1,82,255,0,29,207,1,0,68,197,146,77,146,33,255,0,40,207,1,0,77,191,100,39,100,25,255,0,51,207,1,0,230,220,197,197,27,125,255,0,61,207,1,0,232,118,222,222,119,174,255,0,71,207,1,0,229,62,241,241,182,218,255,0,81,207,1,0,233,29,253,253,224,239,255,0,91,207,1,0,0,0,247,247,247,247,255,0,101,207,1,0,59,38,245,230,245,208,255,0,111,207,1,0,61,103,225,184,225,134,255,0,121,207,1,0,63,166,188,127,188,65,255,0,131,207,1,0,231,76,233,233,163,201,255,0,140,207,1,0,0,0,247,247,247,247,255,0,149,207,1,0,63,129,215,161,215,106,255,0,158,207,1,0,228,220,208,208,28,139,255,0,167,207,1,0,229,62,241,241,182,218,255,0,176,207,1,0,61,103,225,184,225,134,255,0,185,207,1,0,72,198,172,77,172,38,255,0,194,207,1,0,228,220,208,208,28,139,255,0,203,207,1,0,229,62,241,241,182,218,255,0,212,207,1,0,0,0,247,247,247,247,255,0,221,207,1,0,61,103,225,184,225,134,255,0,230,207,1,0,72,198,172,77,172,38,255,0,239,207,1,0,230,220,197,197,27,125,255,0,248,207,1,0,231,76,233,233,163,201,255,0,1,208,1,0,233,29,253,253,224,239,255,0,10,208,1,0,59,38,245,230,245,208,255,0,19,208,1,0,63,129,215,161,215,106,255,0,28,208,1,0,68,197,146,77,146,33,255,0,37,208,1,0,230,220,197,197,27,125,255,0,46,208,1,0,231,76,233,233,163,201,255,0,55,208,1,0,233,29,253,253,224,239,255,0,64,208,1,0,0,0,247,247,247,247,255,0,73,208,1,0,59,38,245,230,245,208,255,0,82,208,1,0,63,129,215,161,215,106,255,0,91,208,1,0,68,197,146,77,146,33,255,0,100,208,1,0,230,220,197,197,27,125,255,0,109,208,1,0,232,118,222,222,119,174,255,0,118,208,1,0,229,62,241,241,182,218,255,0,127,208,1,0,233,29,253,253,224,239,255,0,136,208,1,0,59,38,245,230,245,208,255,0,145,208,1,0,61,103,225,184,225,134,255,0,154,208,1,0,63,166,188,127,188,65,255,0,163,208,1,0,68,197,146,77,146,33,255,0,172,208,1,0,230,220,197,197,27,125,255,0,181,208,1,0,232,118,222,222,119,174,255,0,190,208,1,0,229,62,241,241,182,218,255,0,199,208,1,0,233,29,253,253,224,239,255,0,208,208,1,0,0,0,247,247,247,247,255,0,217,208,1,0,59,38,245,230,245,208,255,0,226,208,1,0,61,103,225,184,225,134,255,0,235,208,1,0,63,166,188,127,188,65,255,0,244,208,1,0,68,197,146,77,146,33,255,0,253,208,1,0,206,255,75,64,0,75,255,0,7,209,1,0,101,255,68,0,68,27,255,0,18,209,1,0,206,173,131,118,42,131,255,0,28,209,1,0,199,87,171,153,112,171,255,0,38,209,1,0,199,51,207,194,165,207,255,0,48,209,1,0,210,21,232,231,212,232,255,0,58,209,1,0,76,30,240,217,240,211,255,0,68,209,1,0,80,68,219,166,219,160,255,0,78,209,1,0,88,123,174,90,174,97,255,0,88,209,1,0,97,197,120,27,120,55,255,0,98,209,1,0,206,255,75,64,0,75,255,0,108,209,1,0,97,197,120,27,120,55,255,0,119,209,1,0,101,255,68,0,68,27,255,0,130,209,1,0,206,173,131,118,42,131,255,0,140,209,1,0,199,87,171,153,112,171,255,0,150,209,1,0,199,51,207,194,165,207,255,0,160,209,1,0,210,21,232,231,212,232,255,0,170,209,1,0,0,0,247,247,247,247,255,0,180,209,1,0,76,30,240,217,240,211,255,0,190,209,1,0,80,68,219,166,219,160,255,0,200,209,1,0,88,123,174,90,174,97,255,0,210,209,1,0,196,70,195,175,141,195,255,0,219,209,1,0,0,0,247,247,247,247,255,0,228,209,1,0,82,90,191,127,191,123,255,0,237,209,1,0,201,168,148,123,50,148,255,0,246,209,1,0,199,51,207,194,165,207,255,0,255,209,1,0,80,68,219,166,219,160,255,0,8,210,1,0,102,255,136,0,136,55,255,0,17,210,1,0,201,168,148,123,50,148,255,0,26,210,1,0,199,51,207,194,165,207,255,0,35,210,1,0,0,0,247,247,247,247,255,0,44,210,1,0,80,68,219,166,219,160,255,0,53,210,1,0,102,255,136,0,136,55,255,0,62,210,1,0,206,173,131,118,42,131,255,0,71,210,1,0,196,70,195,175,141,195,255,0,80,210,1,0,210,21,232,231,212,232,255,0,89,210,1,0,76,30,240,217,240,211,255,0,98,210,1,0,82,90,191,127,191,123,255,0,107,210,1,0,97,197,120,27,120,55,255,0,116,210,1,0,206,173,131,118,42,131,255,0,125,210,1,0,196,70,195,175,141,195,255,0,134,210,1,0,210,21,232,231,212,232,255,0,143,210,1,0,0,0,247,247,247,247,255,0,152,210,1,0,76,30,240,217,240,211,255,0,161,210,1,0,82,90,191,127,191,123,255,0,170,210,1,0,97,197,120,27,120,55,255,0,179,210,1,0,206,173,131,118,42,131,255,0,188,210,1,0,199,87,171,153,112,171,255,0,197,210,1,0,199,51,207,194,165,207,255,0,206,210,1,0,210,21,232,231,212,232,255,0,215,210,1,0,76,30,240,217,240,211,255,0,224,210,1,0,80,68,219,166,219,160,255,0,233,210,1,0,88,123,174,90,174,97,255,0,242,210,1,0,97,197,120,27,120,55,255,0,251,210,1,0,206,173,131,118,42,131,255,0,4,211,1,0,199,87,171,153,112,171,255,0,13,211,1,0,199,51,207,194,165,207,255,0,22,211,1,0,210,21,232,231,212,232,255,0,31,211,1,0,0,0,247,247,247,247,255,0,40,211,1,0,76,30,240,217,240,211,255,0,49,211,1,0,80,68,219,166,219,160,255,0,58,211,1,0,88,123,174,90,174,97,255,0,67,211,1,0,97,197,120,27,120,55,255,0,76,211,1,0,189,11,242,236,231,242,255,0,85,211,1,0,151,61,219,166,189,219,255,0,94,211,1,0,141,197,190,43,140,190,255,0,103,211,1,0,185,8,246,241,238,246,255,0,112,211,1,0,155,40,225,189,201,225,255,0,121,211,1,0,145,112,207,116,169,207,255,0,130,211,1,0,143,247,176,5,112,176,255,0,139,211,1,0,185,8,246,241,238,246,255,0,148,211,1,0,155,40,225,189,201,225,255,0,157,211,1,0,145,112,207,116,169,207,255,0,166,211,1,0,141,197,190,43,140,190,255,0,175,211,1,0,143,247,141,4,90,141,255,0,184,211,1,0,185,8,246,241,238,246,255,0,193,211,1,0,168,24,230,208,209,230,255,0,202,211,1,0,151,61,219,166,189,219,255,0,211,211,1,0,145,112,207,116,169,207,255,0,220,211,1,0,141,197,190,43,140,190,255,0,229,211,1,0,143,247,141,4,90,141,255,0,238,211,1,0,185,8,246,241,238,246,255,0,247,211,1,0,168,24,230,208,209,230,255,0,0,212,1,0,151,61,219,166,189,219,255,0,9,212,1,0,145,112,207,116,169,207,255,0,18,212,1,0,142,183,192,54,144,192,255,0,27,212,1,0,143,247,176,5,112,176,255,0,36,212,1,0,143,248,123,3,78,123,255,0,45,212,1,0,233,8,255,255,247,251,255,0,54,212,1,0,189,11,242,236,231,242,255,0,63,212,1,0,168,24,230,208,209,230,255,0,72,212,1,0,151,61,219,166,189,219,255,0,81,212,1,0,145,112,207,116,169,207,255,0,90,212,1,0,142,183,192,54,144,192,255,0,99,212,1,0,143,247,176,5,112,176,255,0,108,212,1,0,143,248,123,3,78,123,255,0,117,212,1,0,233,8,255,255,247,251,255,0,126,212,1,0,189,11,242,236,231,242,255,0,135,212,1,0,168,24,230,208,209,230,255,0,144,212,1,0,151,61,219,166,189,219,255,0,153,212,1,0,145,112,207,116,169,207,255,0,162,212,1,0,142,183,192,54,144,192,255,0,171,212,1,0,143,247,176,5,112,176,255,0,180,212,1,0,143,247,141,4,90,141,255,0,189,212,1,0,143,249,88,2,56,88,255,0,198,212,1,0,200,14,240,236,226,240,255,0,209,212,1,0,151,61,219,166,189,219,255,0,220,212,1,0,130,208,153,28,144,153,255,0,231,212,1,0,207,8,247,246,239,247,255,0,242,212,1,0,155,40,225,189,201,225,255,0,253,212,1,0,143,128,207,103,169,207,255,0,8,213,1,0,130,251,138,2,129,138,255,0,19,213,1,0,207,8,247,246,239,247,255,0,30,213,1,0,155,40,225,189,201,225,255,0,41,213,1,0,143,128,207,103,169,207,255,0,52,213,1,0,130,208,153,28,144,153,255,0,63,213,1,0,119,252,108,1,108,89,255,0,74,213,1,0,207,8,247,246,239,247,255,0,85,213,1,0,168,24,230,208,209,230,255,0,96,213,1,0,151,61,219,166,189,219,255,0,107,213,1,0,143,128,207,103,169,207,255,0,118,213,1,0,130,208,153,28,144,153,255,0,129,213,1,0,119,252,108,1,108,89,255,0,140,213,1,0,207,8,247,246,239,247,255,0,151,213,1,0,168,24,230,208,209,230,255,0,162,213,1,0,151,61,219,166,189,219,255,0,173,213,1,0,143,128,207,103,169,207,255,0,184,213,1,0,142,183,192,54,144,192,255,0,195,213,1,0,130,251,138,2,129,138,255,0,206,213,1,0,118,252,100,1,100,80,255,0,217,213,1,0,233,8,255,255,247,251,255,0,228,213,1,0,200,14,240,236,226,240,255,0,239,213,1,0,168,24,230,208,209,230,255,0,250,213,1,0,151,61,219,166,189,219,255,0,5,214,1,0,143,128,207,103,169,207,255,0,16,214,1,0,142,183,192,54,144,192,255,0,27,214,1,0,130,251,138,2,129,138,255,0,38,214,1,0,118,252,100,1,100,80,255,0,49,214,1,0,233,8,255,255,247,251,255,0,60,214,1,0,200,14,240,236,226,240,255,0,71,214,1,0,168,24,230,208,209,230,255,0,82,214,1,0,151,61,219,166,189,219,255,0,93,214,1,0,143,128,207,103,169,207,255,0,104,214,1,0,142,183,192,54,144,192,255,0,115,214,1,0,130,251,138,2,129,138,255,0,126,214,1,0,119,252,108,1,108,89,255,0,137,214,1,0,117,251,70,1,70,54,255,0,148,214,1,0,18,238,127,127,59,8,255,0,158,214,1,0,195,255,75,45,0,75,255,0,169,214,1,0,20,246,179,179,88,6,255,0,179,214,1,0,22,232,224,224,130,20,255,0,189,214,1,0,23,155,253,253,184,99,255,0,199,214,1,0,24,72,254,254,224,182,255,0,209,214,1,0,165,20,235,216,218,235,255,0,219,214,1,0,177,47,210,178,171,210,255,0,229,214,1,0,179,84,172,128,115,172,255,0,239,214,1,0,189,181,136,84,39,136,255,0,249,214,1,0,18,238,127,127,59,8,255,0,3,215,1,0,189,181,136,84,39,136,255,0,14,215,1,0,195,255,75,45,0,75,255,0,25,215,1,0,20,246,179,179,88,6,255,0,35,215,1,0,22,232,224,224,130,20,255,0,45,215,1,0,23,155,253,253,184,99,255,0,55,215,1,0,24,72,254,254,224,182,255,0,65,215,1,0,0,0,247,247,247,247,255,0,75,215,1,0,165,20,235,216,218,235,255,0,85,215,1,0,177,47,210,178,171,210,255,0,95,215,1,0,179,84,172,128,115,172,255,0,105,215,1,0,23,187,241,241,163,64,255,0,114,215,1,0,0,0,247,247,247,247,255,0,123,215,1,0,178,69,195,153,142,195,255,0,132,215,1,0,17,253,230,230,97,1,255,0,141,215,1,0,23,155,253,253,184,99,255,0,150,215,1,0,177,47,210,178,171,210,255,0,159,215,1,0,185,155,153,94,60,153,255,0,168,215,1,0,17,253,230,230,97,1,255,0,177,215,1,0,23,155,253,253,184,99,255,0,186,215,1,0,0,0,247,247,247,247,255,0,195,215,1,0,177,47,210,178,171,210,255,0,204,215,1,0,185,155,153,94,60,153,255,0,213,215,1,0,20,246,179,179,88,6,255,0,222,215,1,0,23,187,241,241,163,64,255,0,231,215,1,0,24,72,254,254,224,182,255,0,240,215,1,0,165,20,235,216,218,235,255,0,249,215,1,0,178,69,195,153,142,195,255,0,2,216,1,0,189,181,136,84,39,136,255,0,11,216,1,0,20,246,179,179,88,6,255,0,20,216,1,0,23,187,241,241,163,64,255,0,29,216,1,0,24,72,254,254,224,182,255,0,38,216,1,0,0,0,247,247,247,247,255,0,47,216,1,0,165,20,235,216,218,235,255,0,56,216,1,0,178,69,195,153,142,195,255,0,65,216,1,0,189,181,136,84,39,136,255,0,74,216,1,0,20,246,179,179,88,6,255,0,83,216,1,0,22,232,224,224,130,20,255,0,92,216,1,0,23,155,253,253,184,99,255,0,101,216,1,0,24,72,254,254,224,182,255,0,110,216,1,0,165,20,235,216,218,235,255,0,119,216,1,0,177,47,210,178,171,210,255,0,128,216,1,0,179,84,172,128,115,172,255,0,137,216,1,0,189,181,136,84,39,136,255,0,146,216,1,0,20,246,179,179,88,6,255,0,155,216,1,0,22,232,224,224,130,20,255,0,164,216,1,0,23,155,253,253,184,99,255,0,173,216,1,0,24,72,254,254,224,182,255,0,182,216,1,0,0,0,247,247,247,247,255,0,191,216,1,0,165,20,235,216,218,235,255,0,200,216,1,0,177,47,210,178,171,210,255,0,209,216,1,0,179,84,172,128,115,172,255,0,218,216,1,0,189,181,136,84,39,136,255,0,227,216,1,0,188,14,239,231,225,239,255,0,236,216,1,0,214,67,201,201,148,199,255,0,245,216,1,0,234,222,221,221,28,119,255,0,254,216,1,0,185,8,246,241,238,246,255,0,7,217,1,0,211,41,216,215,181,216,255,0,16,217,1,0,228,139,223,223,101,176,255,0,25,217,1,0,239,232,206,206,18,86,255,0,34,217,1,0,185,8,246,241,238,246,255,0,43,217,1,0,211,41,216,215,181,216,255,0,52,217,1,0,228,139,223,223,101,176,255,0,61,217,1,0,234,222,221,221,28,119,255,0,70,217,1,0,236,255,152,152,0,67,255,0,79,217,1,0,185,8,246,241,238,246,255,0,88,217,1,0,204,38,218,212,185,218,255,0,97,217,1,0,214,67,201,201,148,199,255,0,106,217,1,0,228,139,223,223,101,176,255,0,115,217,1,0,234,222,221,221,28,119,255,0,124,217,1,0,236,255,152,152,0,67,255,0,133,217,1,0,185,8,246,241,238,246,255,0,142,217,1,0,204,38,218,212,185,218,255,0,151,217,1,0,214,67,201,201,148,199,255,0,160,217,1,0,228,139,223,223,101,176,255,0,169,217,1,0,233,209,231,231,41,138,255,0,178,217,1,0,239,232,206,206,18,86,255,0,187,217,1,0,236,255,145,145,0,63,255,0,196,217,1,0,195,5,249,247,244,249,255,0,205,217,1,0,188,14,239,231,225,239,255,0,214,217,1,0,204,38,218,212,185,218,255,0,223,217,1,0,214,67,201,201,148,199,255,0,232,217,1,0,228,139,223,223,101,176,255,0,241,217,1,0,233,209,231,231,41,138,255,0,250,217,1,0,239,232,206,206,18,86,255,0,3,218,1,0,236,255,145,145,0,63,255,0,12,218,1,0,195,5,249,247,244,249,255,0,21,218,1,0,188,14,239,231,225,239,255,0,30,218,1,0,204,38,218,212,185,218,255,0,39,218,1,0,214,67,201,201,148,199,255,0,48,218,1,0,228,139,223,223,101,176,255,0,57,218,1,0,233,209,231,231,41,138,255,0,66,218,1,0,239,232,206,206,18,86,255,0,75,218,1,0,236,255,152,152,0,67,255,0,84,218,1,0,242,255,103,103,0,31,255,0,93,218,1,0,180,8,245,239,237,245,255,0,105,218,1,0,168,37,220,188,189,220,255,0,117,218,1,0,176,100,177,117,107,177,255,0,129,218,1,0,182,7,247,242,240,247,255,0,141,218,1,0,173,28,226,203,201,226,255,0,153,218,1,0,173,58,200,158,154,200,255,0,165,218,1,0,182,128,163,106,81,163,255,0,177,218,1,0,182,7,247,242,240,247,255,0,189,218,1,0,173,28,226,203,201,226,255,0,201,218,1,0,173,58,200,158,154,200,255,0,213,218,1,0,176,100,177,117,107,177,255,0,225,218,1,0,188,185,143,84,39,143,255,0,237,218,1,0,182,7,247,242,240,247,255,0,249,218,1,0,170,18,235,218,218,235,255,0,5,219,1,0,168,37,220,188,189,220,255,0,17,219,1,0,173,58,200,158,154,200,255,0,29,219,1,0,176,100,177,117,107,177,255,0,41,219,1,0,188,185,143,84,39,143,255,0,53,219,1,0,182,7,247,242,240,247,255,0,65,219,1,0,170,18,235,218,218,235,255,0,77,219,1,0,168,37,220,188,189,220,255,0,89,219,1,0,173,58,200,158,154,200,255,0,101,219,1,0,172,83,186,128,125,186,255,0,113,219,1,0,182,128,163,106,81,163,255,0,125,219,1,0,190,216,134,74,20,134,255,0,137,219,1,0,191,2,253,252,251,253,255,0,149,219,1,0,180,8,245,239,237,245,255,0,161,219,1,0,170,18,235,218,218,235,255,0,173,219,1,0,168,37,220,188,189,220,255,0,185,219,1,0,173,58,200,158,154,200,255,0,197,219,1,0,172,83,186,128,125,186,255,0,209,219,1,0,182,128,163,106,81,163,255,0,221,219,1,0,190,216,134,74,20,134,255,0,233,219,1,0,191,2,253,252,251,253,255,0,245,219,1,0,180,8,245,239,237,245,255,0,1,220,1,0,170,18,235,218,218,235,255,0,13,220,1,0,168,37,220,188,189,220,255,0,25,220,1,0,173,58,200,158,154,200,255,0,37,220,1,0,172,83,186,128,125,186,255,0,49,220,1,0,182,128,163,106,81,163,255,0,61,220,1,0,188,185,143,84,39,143,255,0,73,220,1,0,191,255,125,63,0,125,255,0,85,220,1,0,242,255,103,103,0,31,255,0,95,220,1,0,150,241,97,5,48,97,255,0,106,220,1,0,249,220,178,178,24,43,255,0,116,220,1,0,5,163,214,214,96,77,255,0,126,220,1,0,13,119,244,244,165,130,255,0,136,220,1,0,15,54,253,253,219,199,255,0,146,220,1,0,142,32,240,209,229,240,255,0,156,220,1,0,141,87,222,146,197,222,255,0,166,220,1,0,143,167,195,67,147,195,255,0,176,220,1,0,148,206,172,33,102,172,255,0,186,220,1,0,242,255,103,103,0,31,255,0,196,220,1,0,148,206,172,33,102,172,255,0,207,220,1,0,150,241,97,5,48,97,255,0,218,220,1,0,249,220,178,178,24,43,255,0,228,220,1,0,5,163,214,214,96,77,255,0,238,220,1,0,13,119,244,244,165,130,255,0,248,220,1,0,15,54,253,253,219,199,255,0,2,221,1,0,0,0,247,247,247,247,255,0,12,221,1,0,142,32,240,209,229,240,255,0,22,221,1,0,141,87,222,146,197,222,255,0,32,221,1,0,143,167,195,67,147,195,255,0,42,221,1,0,12,150,239,239,138,98,255,0,51,221,1,0,0,0,247,247,247,247,255,0,60,221,1,0,143,128,207,103,169,207,255,0,69,221,1,0,248,255,202,202,0,32,255,0,78,221,1,0,13,119,244,244,165,130,255,0,87,221,1,0,141,87,222,146,197,222,255,0,96,221,1,0,143,247,176,5,113,176,255,0,105,221,1,0,248,255,202,202,0,32,255,0,114,221,1,0,13,119,244,244,165,130,255,0,123,221,1,0,0,0,247,247,247,247,255,0,132,221,1,0,141,87,222,146,197,222,255,0,141,221,1,0,143,247,176,5,113,176,255,0,150,221,1,0,249,220,178,178,24,43,255,0,159,221,1,0,12,150,239,239,138,98,255,0,168,221,1,0,15,54,253,253,219,199,255,0,177,221,1,0,142,32,240,209,229,240,255,0,186,221,1,0,143,128,207,103,169,207,255,0,195,221,1,0,148,206,172,33,102,172,255,0,204,221,1,0,249,220,178,178,24,43,255,0,213,221,1,0,12,150,239,239,138,98,255,0,222,221,1,0,15,54,253,253,219,199,255,0,231,221,1,0,0,0,247,247,247,247,255,0,240,221,1,0,142,32,240,209,229,240,255,0,249,221,1,0,143,128,207,103,169,207,255,0,2,222,1,0,148,206,172,33,102,172,255,0,11,222,1,0,249,220,178,178,24,43,255,0,20,222,1,0,5,163,214,214,96,77,255,0,29,222,1,0,13,119,244,244,165,130,255,0,38,222,1,0,15,54,253,253,219,199,255,0,47,222,1,0,142,32,240,209,229,240,255,0,56,222,1,0,141,87,222,146,197,222,255,0,65,222,1,0,143,167,195,67,147,195,255,0,74,222,1,0,148,206,172,33,102,172,255,0,83,222,1,0,249,220,178,178,24,43,255,0,92,222,1,0,5,163,214,214,96,77,255,0,101,222,1,0,13,119,244,244,165,130,255,0,110,222,1,0,15,54,253,253,219,199,255,0,119,222,1,0,0,0,247,247,247,247,255,0,128,222,1,0,142,32,240,209,229,240,255,0,137,222,1,0,141,87,222,146,197,222,255,0,146,222,1,0,143,167,195,67,147,195,255,0,155,222,1,0,148,206,172,33,102,172,255,0,164,222,1,0,242,255,103,103,0,31,255,0,174,222,1,0,0,0,26,26,26,26,255,0,185,222,1,0,249,220,178,178,24,43,255,0,195,222,1,0,5,163,214,214,96,77,255,0,205,222,1,0,13,119,244,244,165,130,255,0,215,222,1,0,15,54,253,253,219,199,255,0,225,222,1,0,0,0,224,224,224,224,255,0,235,222,1,0,0,0,186,186,186,186,255,0,245,222,1,0,0,0,135,135,135,135,255,0,255,222,1,0,0,0,77,77,77,77,255,0,9,223,1,0,242,255,103,103,0,31,255,0,19,223,1,0,0,0,77,77,77,77,255,0,30,223,1,0,0,0,26,26,26,26,255,0,41,223,1,0,249,220,178,178,24,43,255,0,51,223,1,0,5,163,214,214,96,77,255,0,61,223,1,0,13,119,244,244,165,130,255,0,71,223,1,0,15,54,253,253,219,199,255,0,81,223,1,0,0,0,255,255,255,255,255,0,91,223,1,0,0,0,224,224,224,224,255,0,101,223,1,0,0,0,186,186,186,186,255,0,111,223,1,0,0,0,135,135,135,135,255,0,121,223,1,0,12,150,239,239,138,98,255,0,130,223,1,0,0,0,255,255,255,255,255,0,139,223,1,0,0,0,153,153,153,153,255,0,148,223,1,0,248,255,202,202,0,32,255,0,157,223,1,0,13,119,244,244,165,130,255,0,166,223,1,0,0,0,186,186,186,186,255,0,175,223,1,0,0,0,64,64,64,64,255,0,184,223,1,0,248,255,202,202,0,32,255,0,193,223,1,0,13,119,244,244,165,130,255,0,202,223,1,0,0,0,255,255,255,255,255,0,211,223,1,0,0,0,186,186,186,186,255,0,220,223,1,0,0,0,64,64,64,64,255,0,229,223,1,0,249,220,178,178,24,43,255,0,238,223,1,0,12,150,239,239,138,98,255,0,247,223,1,0,15,54,253,253,219,199,255,0,0,224,1,0,0,0,224,224,224,224,255,0,9,224,1,0,0,0,153,153,153,153,255,0,18,224,1,0,0,0,77,77,77,77,255,0,27,224,1,0,249,220,178,178,24,43,255,0,36,224,1,0,12,150,239,239,138,98,255,0,45,224,1,0,15,54,253,253,219,199,255,0,54,224,1,0,0,0,255,255,255,255,255,0,63,224,1,0,0,0,224,224,224,224,255,0,72,224,1,0,0,0,153,153,153,153,255,0,81,224,1,0,0,0,77,77,77,77,255,0,90,224,1,0,249,220,178,178,24,43,255,0,99,224,1,0,5,163,214,214,96,77,255,0,108,224,1,0,13,119,244,244,165,130,255,0,117,224,1,0,15,54,253,253,219,199,255,0,126,224,1,0,0,0,224,224,224,224,255,0,135,224,1,0,0,0,186,186,186,186,255,0,144,224,1,0,0,0,135,135,135,135,255,0,153,224,1,0,0,0,77,77,77,77,255,0,162,224,1,0,249,220,178,178,24,43,255,0,171,224,1,0,5,163,214,214,96,77,255,0,180,224,1,0,13,119,244,244,165,130,255,0,189,224,1,0,15,54,253,253,219,199,255,0,198,224,1,0,0,0,255,255,255,255,255,0,207,224,1,0,0,0,224,224,224,224,255,0,216,224,1,0,0,0,186,186,186,186,255,0,225,224,1,0,0,0,135,135,135,135,255,0,234,224,1,0,0,0,77,77,77,77,255,0,243,224,1,0,3,32,253,253,224,221,255,0,252,224,1,0,244,92,250,250,159,181,255,0,5,225,1,0,227,220,197,197,27,138,255,0,14,225,1,0,13,28,254,254,235,226,255,0,23,225,1,0,252,72,251,251,180,185,255,0,32,225,1,0,238,147,247,247,104,161,255,0,41,225,1,0,224,253,174,174,1,126,255,0,50,225,1,0,13,28,254,254,235,226,255,0,59,225,1,0,252,72,251,251,180,185,255,0,68,225,1,0,238,147,247,247,104,161,255,0,77,225,1,0,227,220,197,197,27,138,255,0,86,225,1,0,213,252,122,122,1,119,255,0,95,225,1,0,13,28,254,254,235,226,255,0,104,225,1,0,3,60,252,252,197,192,255,0,113,225,1,0,244,92,250,250,159,181,255,0,122,225,1,0,238,147,247,247,104,161,255,0,131,225,1,0,227,220,197,197,27,138,255,0,140,225,1,0,213,252,122,122,1,119,255,0,149,225,1,0,13,28,254,254,235,226,255,0,158,225,1,0,3,60,252,252,197,192,255,0,167,225,1,0,244,92,250,250,159,181,255,0,176,225,1,0,238,147,247,247,104,161,255,0,185,225,1,0,230,195,221,221,52,151,255,0,194,225,1,0,224,253,174,174,1,126,255,0,203,225,1,0,213,252,122,122,1,119,255,0,212,225,1,0,14,12,255,255,247,243,255,0,221,225,1,0,3,32,253,253,224,221,255,0,230,225,1,0,3,60,252,252,197,192,255,0,239,225,1,0,244,92,250,250,159,181,255,0,248,225,1,0,238,147,247,247,104,161,255,0,1,226,1,0,230,195,221,221,52,151,255,0,10,226,1,0,224,253,174,174,1,126,255,0,19,226,1,0,213,252,122,122,1,119,255,0,28,226,1,0,14,12,255,255,247,243,255,0,37,226,1,0,3,32,253,253,224,221,255,0,46,226,1,0,3,60,252,252,197,192,255,0,55,226,1,0,244,92,250,250,159,181,255,0,64,226,1,0,238,147,247,247,104,161,255,0,73,226,1,0,230,195,221,221,52,151,255,0,82,226,1,0,224,253,174,174,1,126,255,0,91,226,1,0,213,252,122,122,1,119,255,0,100,226,1,0,199,255,106,73,0,106,255,0,109,226,1,0,245,255,165,165,0,38,255,0,121,226,1,0,167,171,149,49,54,149,255,0,134,226,1,0,2,208,215,215,48,39,255,0,146,226,1,0,10,184,244,244,109,67,255,0,158,226,1,0,20,157,253,253,174,97,255,0,170,226,1,0,30,110,254,254,224,144,255,0,182,226,1,0,136,24,248,224,243,248,255,0,194,226,1,0,138,67,233,171,217,233,255,0,206,226,1,0,143,113,209,116,173,209,255,0,218,226,1,0,151,157,180,69,117,180,255,0,230,226,1,0,245,255,165,165,0,38,255,0,242,226,1,0,151,157,180,69,117,180,255,0,255,226,1,0,167,171,149,49,54,149,255,0,12,227,1,0,2,208,215,215,48,39,255,0,24,227,1,0,10,184,244,244,109,67,255,0,36,227,1,0,20,157,253,253,174,97,255,0,48,227,1,0,30,110,254,254,224,144,255,0,60,227,1,0,42,64,255,255,255,191,255,0,72,227,1,0,136,24,248,224,243,248,255,0,84,227,1,0,138,67,233,171,217,233,255,0,96,227,1,0,143,113,209,116,173,209,255,0,108,227,1,0,13,164,252,252,141,89,255,0,119,227,1,0,42,64,255,255,255,191,255,0,130,227,1,0,143,86,219,145,191,219,255,0,141,227,1,0,254,225,215,215,25,28,255,0,152,227,1,0,20,157,253,253,174,97,255,0,163,227,1,0,138,67,233,171,217,233,255,0,174,227,1,0,145,193,182,44,123,182,255,0,185,227,1,0,254,225,215,215,25,28,255,0,196,227,1,0,20,157,253,253,174,97,255,0,207,227,1,0,42,64,255,255,255,191,255,0,218,227,1,0,138,67,233,171,217,233,255,0,229,227,1,0,145,193,182,44,123,182,255,0,240,227,1,0,2,208,215,215,48,39,255,0,251,227,1,0,13,164,252,252,141,89,255,0,6,228,1,0,30,110,254,254,224,144,255,0,17,228,1,0,136,24,248,224,243,248,255,0,28,228,1,0,143,86,219,145,191,219,255,0,39,228,1,0,151,157,180,69,117,180,255,0,50,228,1,0,2,208,215,215,48,39,255,0,61,228,1,0,13,164,252,252,141,89,255,0,72,228,1,0,30,110,254,254,224,144,255,0,83,228,1,0,42,64,255,255,255,191,255,0,94,228,1,0,136,24,248,224,243,248,255,0,105,228,1,0,143,86,219,145,191,219,255,0,116,228,1,0,151,157,180,69,117,180,255,0,127,228,1,0,2,208,215,215,48,39,255,0,138,228,1,0,10,184,244,244,109,67,255,0,149,228,1,0,20,157,253,253,174,97,255,0,160,228,1,0,30,110,254,254,224,144,255,0,171,228,1,0,136,24,248,224,243,248,255,0,182,228,1,0,138,67,233,171,217,233,255,0,193,228,1,0,143,113,209,116,173,209,255,0,204,228,1,0,151,157,180,69,117,180,255,0,215,228,1,0,2,208,215,215,48,39,255,0,226,228,1,0,10,184,244,244,109,67,255,0,237,228,1,0,20,157,253,253,174,97,255,0,248,228,1,0,30,110,254,254,224,144,255,0,3,229,1,0,42,64,255,255,255,191,255,0,14,229,1,0,136,24,248,224,243,248,255,0,25,229,1,0,138,67,233,171,217,233,255,0,36,229,1,0,143,113,209,116,173,209,255,0,47,229,1,0,151,157,180,69,117,180,255,0,58,229,1,0,245,255,165,165,0,38,255,0,70,229,1,0,107,255,104,0,104,55,255,0,83,229,1,0,2,208,215,215,48,39,255,0,95,229,1,0,10,184,244,244,109,67,255,0,107,229,1,0,20,157,253,253,174,97,255,0,119,229,1,0,31,115,254,254,224,139,255,0,131,229,1,0,51,106,239,217,239,139,255,0,143,229,1,0,62,130,217,166,217,106,255,0,155,229,1,0,83,121,189,102,189,99,255,0,167,229,1,0,103,211,152,26,152,80,255,0,179,229,1,0,245,255,165,165,0,38,255,0,191,229,1,0,103,211,152,26,152,80,255,0,204,229,1,0,107,255,104,0,104,55,255,0,217,229,1,0,2,208,215,215,48,39,255,0,229,229,1,0,10,184,244,244,109,67,255,0,241,229,1,0,20,157,253,253,174,97,255,0,253,229,1,0,31,115,254,254,224,139,255,0,9,230,1,0,42,64,255,255,255,191,255,0,21,230,1,0,51,106,239,217,239,139,255,0,33,230,1,0,62,130,217,166,217,106,255,0,45,230,1,0,83,121,189,102,189,99,255,0,57,230,1,0,13,164,252,252,141,89,255,0,68,230,1,0,42,64,255,255,255,191,255,0,79,230,1,0,66,136,207,145,207,96,255,0,90,230,1,0,254,225,215,215,25,28,255,0,101,230,1,0,20,157,253,253,174,97,255,0,112,230,1,0,62,130,217,166,217,106,255,0,123,230,1,0,98,210,150,26,150,65,255,0,134,230,1,0,254,225,215,215,25,28,255,0,145,230,1,0,20,157,253,253,174,97,255,0,156,230,1,0,42,64,255,255,255,191,255,0,167,230,1,0,62,130,217,166,217,106,255,0,178,230,1,0,98,210,150,26,150,65,255,0,189,230,1,0,2,208,215,215,48,39,255,0,200,230,1,0,13,164,252,252,141,89,255,0,211,230,1,0,31,115,254,254,224,139,255,0,222,230,1,0,51,106,239,217,239,139,255,0,233,230,1,0,66,136,207,145,207,96,255,0,244,230,1,0,103,211,152,26,152,80,255,0,255,230,1,0,2,208,215,215,48,39,255,0,10,231,1,0,13,164,252,252,141,89,255,0,21,231,1,0,31,115,254,254,224,139,255,0,32,231,1,0,42,64,255,255,255,191,255,0,43,231,1,0,51,106,239,217,239,139,255,0,54,231,1,0,66,136,207,145],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+30724);allocate([207,96,255,0,65,231,1,0,103,211,152,26,152,80,255,0,76,231,1,0,2,208,215,215,48,39,255,0,87,231,1,0,10,184,244,244,109,67,255,0,98,231,1,0,20,157,253,253,174,97,255,0,109,231,1,0,31,115,254,254,224,139,255,0,120,231,1,0,51,106,239,217,239,139,255,0,131,231,1,0,62,130,217,166,217,106,255,0,142,231,1,0,83,121,189,102,189,99,255,0,153,231,1,0,103,211,152,26,152,80,255,0,164,231,1,0,2,208,215,215,48,39,255,0,175,231,1,0,10,184,244,244,109,67,255,0,186,231,1,0,20,157,253,253,174,97,255,0,197,231,1,0,31,115,254,254,224,139,255,0,208,231,1,0,42,64,255,255,255,191,255,0,219,231,1,0,51,106,239,217,239,139,255,0,230,231,1,0,62,130,217,166,217,106,255,0,241,231,1,0,83,121,189,102,189,99,255,0,252,231,1,0,103,211,152,26,152,80,255,0,7,232,1,0,13,44,254,254,224,210,255,0,16,232,1,0,9,139,252,252,146,114,255,0,25,232,1,0,1,211,222,222,45,38,255,0,34,232,1,0,13,37,254,254,229,217,255,0,43,232,1,0,11,108,252,252,174,145,255,0,52,232,1,0,7,179,251,251,106,74,255,0,61,232,1,0,253,224,203,203,24,29,255,0,70,232,1,0,13,37,254,254,229,217,255,0,79,232,1,0,11,108,252,252,174,145,255,0,88,232,1,0,7,179,251,251,106,74,255,0,97,232,1,0,1,211,222,222,45,38,255,0,106,232,1,0,253,231,165,165,15,21,255,0,115,232,1,0,13,37,254,254,229,217,255,0,124,232,1,0,12,92,252,252,187,161,255,0,133,232,1,0,9,139,252,252,146,114,255,0,142,232,1,0,7,179,251,251,106,74,255,0,151,232,1,0,1,211,222,222,45,38,255,0,160,232,1,0,253,231,165,165,15,21,255,0,169,232,1,0,13,37,254,254,229,217,255,0,178,232,1,0,12,92,252,252,187,161,255,0,187,232,1,0,9,139,252,252,146,114,255,0,196,232,1,0,7,179,251,251,106,74,255,0,205,232,1,0,3,208,239,239,59,44,255,0,214,232,1,0,253,224,203,203,24,29,255,0,223,232,1,0,251,255,153,153,0,13,255,0,232,232,1,0,14,15,255,255,245,240,255,0,241,232,1,0,13,44,254,254,224,210,255,0,250,232,1,0,12,92,252,252,187,161,255,0,3,233,1,0,9,139,252,252,146,114,255,0,12,233,1,0,7,179,251,251,106,74,255,0,21,233,1,0,3,208,239,239,59,44,255,0,30,233,1,0,253,224,203,203,24,29,255,0,39,233,1,0,251,255,153,153,0,13,255,0,48,233,1,0,14,15,255,255,245,240,255,0,57,233,1,0,13,44,254,254,224,210,255,0,66,233,1,0,12,92,252,252,187,161,255,0,75,233,1,0,9,139,252,252,146,114,255,0,84,233,1,0,7,179,251,251,106,74,255,0,93,233,1,0,3,208,239,239,59,44,255,0,102,233,1,0,253,224,203,203,24,29,255,0,111,233,1,0,253,231,165,165,15,21,255,0,120,233,1,0,249,255,103,103,0,13,255,0,129,233,1,0,254,225,228,228,26,28,255,0,138,233,1,0,146,178,184,55,126,184,255,0,147,233,1,0,83,147,175,77,175,74,255,0,156,233,1,0,254,225,228,228,26,28,255,0,165,233,1,0,146,178,184,55,126,184,255,0,174,233,1,0,83,147,175,77,175,74,255,0,183,233,1,0,207,132,163,152,78,163,255,0,192,233,1,0,254,225,228,228,26,28,255,0,201,233,1,0,146,178,184,55,126,184,255,0,210,233,1,0,83,147,175,77,175,74,255,0,219,233,1,0,207,132,163,152,78,163,255,0,228,233,1,0,21,255,255,255,127,0,255,0,237,233,1,0,254,225,228,228,26,28,255,0,246,233,1,0,146,178,184,55,126,184,255,0,255,233,1,0,83,147,175,77,175,74,255,0,8,234,1,0,207,132,163,152,78,163,255,0,17,234,1,0,21,255,255,255,127,0,255,0,26,234,1,0,42,204,255,255,255,51,255,0,35,234,1,0,254,225,228,228,26,28,255,0,44,234,1,0,146,178,184,55,126,184,255,0,53,234,1,0,83,147,175,77,175,74,255,0,62,234,1,0,207,132,163,152,78,163,255,0,71,234,1,0,21,255,255,255,127,0,255,0,80,234,1,0,42,204,255,255,255,51,255,0,89,234,1,0,15,193,166,166,86,40,255,0,98,234,1,0,254,225,228,228,26,28,255,0,107,234,1,0,146,178,184,55,126,184,255,0,116,234,1,0,83,147,175,77,175,74,255,0,125,234,1,0,207,132,163,152,78,163,255,0,134,234,1,0,21,255,255,255,127,0,255,0,143,234,1,0,42,204,255,255,255,51,255,0,152,234,1,0,15,193,166,166,86,40,255,0,161,234,1,0,232,121,247,247,129,191,255,0,170,234,1,0,254,225,228,228,26,28,255,0,179,234,1,0,146,178,184,55,126,184,255,0,188,234,1,0,83,147,175,77,175,74,255,0,197,234,1,0,207,132,163,152,78,163,255,0,206,234,1,0,21,255,255,255,127,0,255,0,215,234,1,0,42,204,255,255,255,51,255,0,224,234,1,0,15,193,166,166,86,40,255,0,233,234,1,0,232,121,247,247,129,191,255,0,242,234,1,0,0,0,153,153,153,153,255,0,251,234,1,0,114,120,194,102,194,165,255,0,4,235,1,0,11,155,252,252,141,98,255,0,13,235,1,0,156,77,203,141,160,203,255,0,22,235,1,0,114,120,194,102,194,165,255,0,31,235,1,0,11,155,252,252,141,98,255,0,40,235,1,0,156,77,203,141,160,203,255,0,49,235,1,0,228,102,231,231,138,195,255,0,58,235,1,0,114,120,194,102,194,165,255,0,67,235,1,0,11,155,252,252,141,98,255,0,76,235,1,0,156,77,203,141,160,203,255,0,85,235,1,0,228,102,231,231,138,195,255,0,94,235,1,0,58,155,216,166,216,84,255,0,103,235,1,0,114,120,194,102,194,165,255,0,112,235,1,0,11,155,252,252,141,98,255,0,121,235,1,0,156,77,203,141,160,203,255,0,130,235,1,0,228,102,231,231,138,195,255,0,139,235,1,0,58,155,216,166,216,84,255,0,148,235,1,0,34,208,255,255,217,47,255,0,157,235,1,0,114,120,194,102,194,165,255,0,166,235,1,0,11,155,252,252,141,98,255,0,175,235,1,0,156,77,203,141,160,203,255,0,184,235,1,0,228,102,231,231,138,195,255,0,193,235,1,0,58,155,216,166,216,84,255,0,202,235,1,0,34,208,255,255,217,47,255,0,211,235,1,0,25,90,229,229,196,148,255,0,220,235,1,0,114,120,194,102,194,165,255,0,229,235,1,0,11,155,252,252,141,98,255,0,238,235,1,0,156,77,203,141,160,203,255,0,247,235,1,0,228,102,231,231,138,195,255,0,0,236,1,0,58,155,216,166,216,84,255,0,9,236,1,0,34,208,255,255,217,47,255,0,18,236,1,0,25,90,229,229,196,148,255,0,27,236,1,0,0,0,179,179,179,179,255,0,36,236,1,0,120,84,211,141,211,199,255,0,46,236,1,0,211,82,189,188,128,189,255,0,57,236,1,0,42,76,255,255,255,179,255,0,67,236,1,0,175,37,218,190,186,218,255,0,77,236,1,0,4,139,251,251,128,114,255,0,87,236,1,0,144,100,211,128,177,211,255,0,97,236,1,0,22,156,253,253,180,98,255,0,107,236,1,0,58,134,222,179,222,105,255,0,117,236,1,0,233,47,252,252,205,229,255,0,127,236,1,0,0,0,217,217,217,217,255,0,137,236,1,0,120,84,211,141,211,199,255,0,147,236,1,0,211,82,189,188,128,189,255,0,158,236,1,0,77,41,235,204,235,197,255,0,169,236,1,0,42,76,255,255,255,179,255,0,179,236,1,0,175,37,218,190,186,218,255,0,189,236,1,0,4,139,251,251,128,114,255,0,199,236,1,0,144,100,211,128,177,211,255,0,209,236,1,0,22,156,253,253,180,98,255,0,219,236,1,0,58,134,222,179,222,105,255,0,229,236,1,0,233,47,252,252,205,229,255,0,239,236,1,0,0,0,217,217,217,217,255,0,249,236,1,0,120,84,211,141,211,199,255,0,3,237,1,0,211,82,189,188,128,189,255,0,14,237,1,0,77,41,235,204,235,197,255,0,25,237,1,0,37,144,255,255,237,111,255,0,36,237,1,0,42,76,255,255,255,179,255,0,46,237,1,0,175,37,218,190,186,218,255,0,56,237,1,0,4,139,251,251,128,114,255,0,66,237,1,0,144,100,211,128,177,211,255,0,76,237,1,0,22,156,253,253,180,98,255,0,86,237,1,0,58,134,222,179,222,105,255,0,96,237,1,0,233,47,252,252,205,229,255,0,106,237,1,0,0,0,217,217,217,217,255,0,116,237,1,0,120,84,211,141,211,199,255,0,125,237,1,0,42,76,255,255,255,179,255,0,134,237,1,0,175,37,218,190,186,218,255,0,143,237,1,0,120,84,211,141,211,199,255,0,152,237,1,0,42,76,255,255,255,179,255,0,161,237,1,0,175,37,218,190,186,218,255,0,170,237,1,0,4,139,251,251,128,114,255,0,179,237,1,0,120,84,211,141,211,199,255,0,188,237,1,0,42,76,255,255,255,179,255,0,197,237,1,0,175,37,218,190,186,218,255,0,206,237,1,0,4,139,251,251,128,114,255,0,215,237,1,0,144,100,211,128,177,211,255,0,224,237,1,0,120,84,211,141,211,199,255,0,233,237,1,0,42,76,255,255,255,179,255,0,242,237,1,0,175,37,218,190,186,218,255,0,251,237,1,0,4,139,251,251,128,114,255,0,4,238,1,0,144,100,211,128,177,211,255,0,13,238,1,0,22,156,253,253,180,98,255,0,22,238,1,0,120,84,211,141,211,199,255,0,31,238,1,0,42,76,255,255,255,179,255,0,40,238,1,0,175,37,218,190,186,218,255,0,49,238,1,0,4,139,251,251,128,114,255,0,58,238,1,0,144,100,211,128,177,211,255,0,67,238,1,0,22,156,253,253,180,98,255,0,76,238,1,0,58,134,222,179,222,105,255,0,85,238,1,0,120,84,211,141,211,199,255,0,94,238,1,0,42,76,255,255,255,179,255,0,103,238,1,0,175,37,218,190,186,218,255,0,112,238,1,0,4,139,251,251,128,114,255,0,121,238,1,0,144,100,211,128,177,211,255,0,130,238,1,0,22,156,253,253,180,98,255,0,139,238,1,0,58,134,222,179,222,105,255,0,148,238,1,0,233,47,252,252,205,229,255,0,157,238,1,0,120,84,211,141,211,199,255,0,166,238,1,0,42,76,255,255,255,179,255,0,175,238,1,0,175,37,218,190,186,218,255,0,184,238,1,0,4,139,251,251,128,114,255,0,193,238,1,0,144,100,211,128,177,211,255,0,202,238,1,0,22,156,253,253,180,98,255,0,211,238,1,0,58,134,222,179,222,105,255,0,220,238,1,0,233,47,252,252,205,229,255,0,229,238,1,0,0,0,217,217,217,217,255,0,238,238,1,0,237,253,158,158,1,66,255,0,252,238,1,0,177,130,162,94,79,162,255,0,11,239,1,0,250,180,213,213,62,79,255,0,25,239,1,0,10,184,244,244,109,67,255,0,39,239,1,0,20,157,253,253,174,97,255,0,53,239,1,0,31,115,254,254,224,139,255,0,67,239,1,0,49,96,245,230,245,152,255,0,81,239,1,0,79,65,221,171,221,164,255,0,95,239,1,0,114,120,194,102,194,165,255,0,109,239,1,0,143,187,189,50,136,189,255,0,123,239,1,0,237,253,158,158,1,66,255,0,137,239,1,0,143,187,189,50,136,189,255,0,152,239,1,0,177,130,162,94,79,162,255,0,167,239,1,0,250,180,213,213,62,79,255,0,181,239,1,0,10,184,244,244,109,67,255,0,195,239,1,0,20,157,253,253,174,97,255,0,209,239,1,0,31,115,254,254,224,139,255,0,223,239,1,0,42,64,255,255,255,191,255,0,237,239,1,0,49,96,245,230,245,152,255,0,251,239,1,0,79,65,221,171,221,164,255,0,9,240,1,0,114,120,194,102,194,165,255,0,23,240,1,0,13,164,252,252,141,89,255,0,36,240,1,0,42,64,255,255,255,191,255,0,49,240,1,0,81,77,213,153,213,148,255,0,62,240,1,0,254,225,215,215,25,28,255,0,75,240,1,0,20,157,253,253,174,97,255,0,88,240,1,0,79,65,221,171,221,164,255,0,101,240,1,0,143,196,186,43,131,186,255,0,114,240,1,0,254,225,215,215,25,28,255,0,127,240,1,0,20,157,253,253,174,97,255,0,140,240,1,0,42,64,255,255,255,191,255,0,153,240,1,0,79,65,221,171,221,164,255,0,166,240,1,0,143,196,186,43,131,186,255,0,179,240,1,0,250,180,213,213,62,79,255,0,192,240,1,0,13,164,252,252,141,89,255,0,205,240,1,0,31,115,254,254,224,139,255,0,218,240,1,0,49,96,245,230,245,152,255,0,231,240,1,0,81,77,213,153,213,148,255,0,244,240,1,0,143,187,189,50,136,189,255,0,1,241,1,0,250,180,213,213,62,79,255,0,14,241,1,0,13,164,252,252,141,89,255,0,27,241,1,0,31,115,254,254,224,139,255,0,40,241,1,0,42,64,255,255,255,191,255,0,53,241,1,0,49,96,245,230,245,152,255,0,66,241,1,0,81,77,213,153,213,148,255,0,79,241,1,0,143,187,189,50,136,189,255,0,92,241,1,0,250,180,213,213,62,79,255,0,105,241,1,0,10,184,244,244,109,67,255,0,118,241,1,0,20,157,253,253,174,97,255,0,131,241,1,0,31,115,254,254,224,139,255,0,144,241,1,0,49,96,245,230,245,152,255,0,157,241,1,0,79,65,221,171,221,164,255,0,170,241,1,0,114,120,194,102,194,165,255,0,183,241,1,0,143,187,189,50,136,189,255,0,196,241,1,0,250,180,213,213,62,79,255,0,209,241,1,0,10,184,244,244,109,67,255,0,222,241,1,0,20,157,253,253,174,97,255,0,235,241,1,0,31,115,254,254,224,139,255,0,248,241,1,0,42,64,255,255,255,191,255,0,5,242,1,0,49,96,245,230,245,152,255,0,18,242,1,0,79,65,221,171,221,164,255,0,31,242,1,0,114,120,194,102,194,165,255,0,44,242,1,0,143,187,189,50,136,189,255,0,57,242,1,0,147,15,255,240,248,255,255,0,72,242,1,0,24,35,250,250,235,215,255,0,90,242,1,0,127,255,255,0,255,255,255,0,100,242,1,0,113,128,255,127,255,212,255,0,116,242,1,0,127,15,255,240,255,255,255,0,127,242,1,0,42,26,245,245,245,220,255,0,138,242,1,0,23,58,255,255,228,196,255,0,150,242,1,0,0,0,0,0,0,0,255,0,161,242,1,0,25,49,255,255,235,205,255,0,181,242,1,0,170,255,255,0,0,255,255,0,191,242,1,0,192,206,226,138,43,226,255,0,207,242,1,0,0,190,165,165,42,42,255,0,218,242,1,0,23,99,222,222,184,135,255,0,233,242,1,0,128,103,160,95,158,160,255,0,248,242,1,0,63,255,255,127,255,0,255,0,8,243,1,0,17,218,210,210,105,30,255,0,23,243,1,0,11,175,255,255,127,80,255,0,34,243,1,0,154,147,237,100,149,237,255,0,54,243,1,0,33,34,255,255,248,220,255,0,68,243,1,0,246,231,220,220,20,60,255,0,81,243,1,0,127,255,255,0,255,255,255,0,91,243,1,0,170,255,139,0,0,139,255,0,105,243,1,0,127,255,139,0,139,139,255,0,119,243,1,0,30,239,184,184,134,11,255,0,138,243,1,0,0,0,169,169,169,169,255,0,152,243,1,0,85,255,100,0,100,0,255,0,167,243,1,0,0,0,169,169,169,169,255,0,181,243,1,0,39,110,189,189,183,107,255,0,196,243,1,0,212,255,139,139,0,139,255,0,213,243,1,0,58,142,107,85,107,47,255,0,233,243,1,0,23,255,255,255,140,0,255,0,249,243,1,0,198,192,204,153,50,204,255,0,9,244,1,0,0,255,139,139,0,0,255,0,22,244,1,0,10,121,233,233,150,122,255,0,38,244,1,0,85,61,188,143,188,143,255,0,56,244,1,0,175,143,139,72,61,139,255,0,75,244,1,0,127,103,79,47,79,79,255,0,94,244,1,0,127,103,79,47,79,79,255,0,113,244,1,0,128,255,209,0,206,209,255,0,132,244,1,0,199,255,211,148,0,211,255,0,148,244,1,0,232,235,255,255,20,147,255,0,162,244,1,0,138,255,255,0,191,255,255,0,179,244,1,0,0,0,105,105,105,105,255,0,192,244,1,0,0,0,105,105,105,105,255,0,205,244,1,0,148,225,255,30,144,255,255,0,221,244,1,0,0,206,178,178,34,34,255,0,236,244,1,0,28,15,255,255,250,240,255,0,253,244,1,0,85,192,139,34,139,34,255,0,14,245,1,0,212,255,255,255,0,255,255,0,27,245,1,0,0,0,220,220,220,220,255,0,42,245,1,0,170,7,255,248,248,255,255,0,58,245,1,0,35,255,255,255,215,0,255,0,68,245,1,0,30,217,218,218,165,32,255,0,83,245,1,0,0,0,128,128,128,128,255,0,93,245,1,0,85,255,128,0,128,0,255,0,104,245,1,0,59,208,255,173,255,47,255,0,121,245,1,0,0,0,128,128,128,128,255,0,131,245,1,0,85,15,255,240,255,240,255,0,145,245,1,0,233,150,255,255,105,180,255,0,158,245,1,0,0,140,205,205,92,92,255,0,173,245,1,0,194,255,130,75,0,130,255,0,185,245,1,0,42,15,255,255,255,240,255,0,196,245,1,0,38,106,240,240,230,140,255,0,207,245,1,0,170,20,250,230,230,250,255,0,221,245,1,0,240,15,255,255,240,245,255,0,240,245,1,0,64,255,252,124,252,0,255,0,255,245,1,0,38,49,255,255,250,205,255,0,17,246,1,0,137,63,230,173,216,230,255,0,32,246,1,0,0,119,240,240,128,128,255,0,48,246,1,0,127,31,255,224,255,255,255,0,63,246,1,0,42,40,250,250,250,210,255,0,89,246,1,0,0,0,211,211,211,211,255,0,104,246,1,0,85,100,238,144,238,144,255,0,120,246,1,0,0,0,211,211,211,211,255,0,135,246,1,0,248,73,255,255,182,193,255,0,150,246,1,0,12,132,255,255,160,122,255,0,167,246,1,0,125,209,178,32,178,170,255,0,186,246,1,0,143,117,250,135,206,250,255,0,204,246,1,0,148,56,153,119,136,153,255,0,224,246,1,0,148,56,153,119,136,153,255,0,244,246,1,0,151,52,222,176,196,222,255,0,8,247,1,0,42,31,255,255,255,224,255,0,25,247,1,0,85,255,255,0,255,0,255,0,35,247,1,0,85,192,205,50,205,50,255,0,50,247,1,0,21,20,250,250,240,230,255,0,61,247,1,0,212,255,255,255,0,255,255,0,74,247,1,0,0,255,128,128,0,0,255,0,86,247,1,0,113,128,205,102,205,170,255,0,108,247,1,0,170,255,205,0,0,205,255,0,124,247,1,0,204,152,211,186,85,211,255,0,142,247,1,0,183,124,219,147,112,219,255,0,160,247,1,0,103,169,179,60,179,113,255,0,180,247,1,0,176,143,238,123,104,238,255,0,201,247,1,0,111,255,250,0,250,154,255,0,224,247,1,0,125,167,209,72,209,204,255,0,245,247,1,0,228,228,199,199,21,133,255,0,10,248,1,0,170,198,112,25,25,112,255,0,28,248,1,0,106,9,255,245,255,250,255,0,43,248,1,0,4,30,255,255,228,225,255,0,58,248,1,0,26,73,255,255,228,181,255,0,72,248,1,0,25,81,255,255,222,173,255,0,89,248,1,0,170,255,128,0,0,128,255,0,99,248,1,0,27,23,253,253,245,230,255,0,112,248,1,0,42,255,128,128,128,0,255,0,123,248,1,0,56,192,142,107,142,35,255,0,138,248,1,0,27,255,255,255,165,0,255,0,150,248,1,0,11,255,255,255,69,0,255,0,165,248,1,0,214,123,218,218,112,214,255,0,177,248,1,0,38,72,238,238,232,170,255,0,196,248,1,0,85,100,251,152,251,152,255,0,211,248,1,0,127,67,238,175,238,238,255,0,230,248,1,0,241,124,219,219,112,147,255,0,249,248,1,0,26,41,255,255,239,213,255,0,9,249,1,0,20,70,255,255,218,185,255,0,24,249,1,0,20,176,205,205,133,63,255,0,34,249,1,0,247,63,255,255,192,203,255,0,44,249,1,0,212,70,221,221,160,221,255,0,54,249,1,0,132,59,230,176,224,230,255,0,70,249,1,0,212,255,128,128,0,128,255,0,82,249,1,0,0,255,255,255,0,0,255,0,91,249,1,0,0,61,188,188,143,143,255,0,106,249,1,0,159,181,225,65,105,225,255,0,121,249,1,0,17,220,139,139,69,19,255,0,138,249,1,0,4,138,250,250,128,114,255,0,150,249,1,0,19,154,244,244,164,96,255,0,166,249,1,0,103,170,139,46,139,87,255,0,180,249,1,0,17,16,255,255,245,238,255,0,194,249,1,0,13,183,160,160,82,45,255,0,206,249,1,0,0,0,192,192,192,192,255,0,218,249,1,0,139,108,235,135,206,235,255,0,231,249,1,0,175,143,205,106,90,205,255,0,246,249,1,0,148,56,144,112,128,144,255,0,5,250,1,0,148,56,144,112,128,144,255,0,20,250,1,0,0,5,255,255,250,250,255,0,30,250,1,0,106,255,255,0,255,127,255,0,47,250,1,0,146,155,180,70,130,180,255,0,62,250,1,0,24,84,210,210,180,140,255,0,71,250,1,0,127,255,128,0,128,128,255,0,81,250,1,0,212,29,216,216,191,216,255,0,94,250,1,0,6,184,255,255,99,71,255,0,106,250,1,0,123,182,224,64,224,208,255,0,121,250,1,0,212,115,238,238,130,238,255,0,133,250,1,0,27,68,245,245,222,179,255,0,144,250,1,0,0,0,255,255,255,255,255,0,155,250,1,0,0,0,245,245,245,245,255,0,171,250,1,0,42,255,255,255,255,0,255,0,183,250,1,0,56,192,205,154,205,50,255,0,200,250,1,0,45,67,252,247,252,185,255,0,209,250,1,0,68,91,221,173,221,142,255,0,218,250,1,0,98,178,163,49,163,84,255,0,227,250,1,0,42,50,255,255,255,204,255,0,236,250,1,0,62,85,230,194,230,153,255,0,245,250,1,0,85,100,198,120,198,121,255,0,254,250,1,0,99,187,132,35,132,67,255,0,7,251,1,0,42,50,255,255,255,204,255,0,16,251,1,0,62,85,230,194,230,153,255,0,25,251,1,0,85,100,198,120,198,121,255,0,34,251,1,0,98,178,163,49,163,84,255,0,43,251,1,0,107,255,104,0,104,55,255,0,52,251,1,0,42,50,255,255,255,204,255,0,61,251,1,0,55,81,240,217,240,163,255,0,70,251,1,0,68,91,221,173,221,142,255,0,79,251,1,0,85,100,198,120,198,121,255,0,88,251,1,0,98,178,163,49,163,84,255,0,97,251,1,0,107,255,104,0,104,55,255,0,106,251,1,0,42,50,255,255,255,204,255,0,115,251,1,0,55,81,240,217,240,163,255,0,124,251,1,0,68,91,221,173,221,142,255,0,133,251,1,0,85,100,198,120,198,121,255,0,142,251,1,0,96,158,171,65,171,93,255,0,151,251,1,0,99,187,132,35,132,67,255,0,160,251,1,0,108,255,90,0,90,50,255,0,169,251,1,0,42,25,255,255,255,229,255,0,178,251,1,0,45,67,252,247,252,185,255,0,187,251,1,0,55,81,240,217,240,163,255,0,196,251,1,0,68,91,221,173,221,142,255,0,205,251,1,0,85,100,198,120,198,121,255,0,214,251,1,0,96,158,171,65,171,93,255,0,223,251,1,0,99,187,132,35,132,67,255,0,232,251,1,0,108,255,90,0,90,50,255,0,241,251,1,0,42,25,255,255,255,229,255,0,250,251,1,0,45,67,252,247,252,185,255,0,3,252,1,0,55,81,240,217,240,163,255,0,12,252,1,0,68,91,221,173,221,142,255,0,21,252,1,0,85,100,198,120,198,121,255,0,30,252,1,0,96,158,171,65,171,93,255,0,39,252,1,0,99,187,132,35,132,67,255,0,48,252,1,0,107,255,104,0,104,55,255,0,57,252,1,0,110,255,69,0,69,41,255,0,66,252,1,0,49,73,248,237,248,177,255,0,77,252,1,0,117,97,205,127,205,187,255,0,88,252,1,0,144,194,184,44,127,184,255,0,99,252,1,0,42,50,255,255,255,204,255,0,110,252,1,0,99,66,218,161,218,180,255,0,121,252,1,0,132,170,196,65,182,196,255,0,132,252,1,0,150,203,168,34,94,168,255,0,143,252,1,0,42,50,255,255,255,204,255,0,154,252,1,0,99,66,218,161,218,180,255,0,165,252,1,0,132,170,196,65,182,196,255,0,176,252,1,0,144,194,184,44,127,184,255,0,187,252,1,0,164,191,148,37,52,148,255,0,198,252,1,0,42,50,255,255,255,204,255,0,209,252,1,0,69,58,233,199,233,180,255,0,220,252,1,0,117,97,205,127,205,187,255,0,231,252,1,0,132,170,196,65,182,196,255,0,242,252,1,0,144,194,184,44,127,184,255,0,253,252,1,0,164,191,148,37,52,148,255,0,8,253,1,0,42,50,255,255,255,204,255,0,19,253,1,0,69,58,233,199,233,180,255,0,30,253,1,0,117,97,205,127,205,187,255,0,41,253,1,0,132,170,196,65,182,196,255,0,52,253,1,0,139,216,192,29,145,192,255,0,63,253,1,0,150,203,168,34,94,168,255,0,74,253,1,0,158,231,132,12,44,132,255,0,85,253,1,0,42,38,255,255,255,217,255,0,96,253,1,0,49,73,248,237,248,177,255,0,107,253,1,0,69,58,233,199,233,180,255,0,118,253,1,0,117,97,205,127,205,187,255,0,129,253,1,0,132,170,196,65,182,196,255,0,140,253,1,0,139,216,192,29,145,192,255,0,151,253,1,0,150,203,168,34,94,168,255,0,162,253,1,0,158,231,132,12,44,132,255,0,173,253,1,0,42,38,255,255,255,217,255,0,184,253,1,0,49,73,248,237,248,177,255,0,195,253,1,0,69,58,233,199,233,180,255,0,206,253,1,0,117,97,205,127,205,187,255,0,217,253,1,0,132,170,196,65,182,196,255,0,228,253,1,0,139,216,192,29,145,192,255,0,239,253,1,0,150,203,168,34,94,168,255,0,250,253,1,0,164,191,148,37,52,148,255,0,5,254,1,0,158,231,88,8,29,88,255,0,16,254,1,0,37,66,255,255,247,188,255,0,27,254,1,0,28,175,254,254,196,79,255,0,38,254,1,0,16,238,217,217,95,14,255,0,49,254,1,0,42,42,255,255,255,212,255,0,60,254,1,0,28,112,254,254,217,142,255,0,71,254,1,0,22,213,254,254,153,41,255,0,82,254,1,0,15,252,204,204,76,2,255,0,93,254,1,0,42,42,255,255,255,212,255,0,104,254,1,0,28,112,254,254,217,142,255,0,115,254,1,0,22,213,254,254,153,41,255,0,126,254,1,0,16,238,217,217,95,14,255,0,137,254,1,0,13,248,153,153,52,4,255,0,148,254,1,0,42,42,255,255,255,212,255,0,159,254,1,0,31,109,254,254,227,145,255,0,170,254,1,0,28,175,254,254,196,79,255,0,181,254,1,0,22,213,254,254,153,41,255,0,192,254,1,0,16,238,217,217,95,14,255,0,203,254,1,0,13,248,153,153,52,4,255,0,214,254,1,0,42,42,255,255,255,212,255,0,225,254,1,0,31,109,254,254,227,145,255,0,236,254,1,0,28,175,254,254,196,79,255,0,247,254,1,0,22,213,254,254,153,41,255,0,2,255,1,0,18,233,236,236,112,20,255,0,13,255,1,0,15,252,204,204,76,2,255,0,24,255,1,0,12,247,140,140,45,4,255,0,35,255,1,0,42,25,255,255,255,229,255,0,46,255,1,0,37,66,255,255,247,188,255,0,57,255,1,0,31,109,254,254,227,145,255,0,68,255,1,0,28,175,254,254,196,79,255,0,79,255,1,0,22,213,254,254,153,41,255,0,90,255,1,0,18,233,236,236,112,20,255,0,101,255,1,0,15,252,204,204,76,2,255,0,112,255,1,0,12,247,140,140,45,4,255,0,123,255,1,0,42,25,255,255,255,229,255,0,134,255,1,0,37,66,255,255,247,188,255,0,145,255,1,0,31,109,254,254,227,145,255,0,156,255,1,0,28,175,254,254,196,79,255,0,167,255,1,0,22,213,254,254,153,41,255,0,178,255,1,0,18,233,236,236,112,20,255,0,189,255,1,0,15,252,204,204,76,2,255,0,200,255,1,0,13,248,153,153,52,4,255,0,211,255,1,0,13,240,102,102,37,6,255,0,222,255,1,0,34,95,255,255,237,160,255,0,233,255,1,0,24,178,254,254,178,76,255,0,244,255,1,0,5,221,240,240,59,32,255,0,255,255,1,0,42,77,255,255,255,178,255,0,10,0,2,0,29,162,254,254,204,92,255,0,21,0,2,0,17,194,253,253,141,60,255,0,32,0,2,0,254,225,227,227,26,28,255,0,43,0,2,0,42,77,255,255,255,178,255,0,54,0,2,0,29,162,254,254,204,92,255,0,65,0,2,0,17,194,253,253,141,60,255,0,76,0,2,0,5,221,240,240,59,32,255,0,87,0,2,0,246,255,189,189,0,38,255,0,98,0,2,0,42,77,255,255,255,178,255,0,109,0,2,0,30,136,254,254,217,118,255,0,120,0,2,0,24,178,254,254,178,76,255,0,131,0,2,0,17,194,253,253,141,60,255,0,142,0,2,0,5,221,240,240,59,32,255,0,153,0,2,0,246,255,189,189,0,38,255,0,164,0,2,0,42,77,255,255,255,178,255,0,175,0,2,0,30,136,254,254,217,118,255,0,186,0,2,0,24,178,254,254,178,76,255,0,197,0,2,0,17,194,253,253,141,60,255,0,208,0,2,0,7,212,252,252,78,42,255,0,219,0,2,0,254,225,227,227,26,28,255,0,230,0,2,0,245,255,177,177,0,38,255,0,241,0,2,0,42,50,255,255,255,204,255,0,252,0,2,0,34,95,255,255,237,160,255,0,7,1,2,0,30,136,254,254,217,118,255,0,18,1,2,0,24,178,254,254,178,76,255,0,29,1,2,0,17,194,253,253,141,60,255,0,40,1,2,0,7,212,252,252,78,42,255,0,51,1,2,0,254,225,227,227,26,28,255,0,62,1,2,0,245,255,177,177,0,38,255,0,73,1,2,0,42,50,255,255,255,204,255,0,84,1,2,0,34,95,255,255,237,160,255,0,95,1,2,0,30,136,254,254,217,118,255,0,106,1,2,0,24,178,254,254,178,76,255,0,117,1,2,0,17,194,253,253,141,60,255,0,128,1,2,0,7,212,252,252,78,42,255,0,139,1,2,0,254,225,227,227,26,28,255,0,150,1,2,0,246,255,189,189,0,38,255,0,161,1,2,0,242,255,128,128,0,38,255,0,172,1,2,0,147,15,255,240,248,255,255,0,182,1,2,0,24,35,250,250,235,215,255,0,195,1,2,0,23,36,255,255,239,219,255,0,209,1,2,0,23,36,238,238,223,204,255,0,223,1,2,0,23,36,205,205,192,176,255,0,237,1,2,0,24,34,139,139,131,120,255,0,251,1,2,0,113,128,255,127,255,212,255,0,6,2,2,0,113,128,255,127,255,212,255,0,18,2,2,0,113,128,238,118,238,198,255,0,30,2,2,0,113,128,205,102,205,170,255,0,42,2,2,0,113,128,139,69,139,116,255,0,54,2,2,0,127,15,255,240,255,255,255,0,60,2,2,0,127,15,255,240,255,255,255,0,67,2,2,0,127,15,238,224,238,238,255,0,74,2,2,0,127,14,205,193,205,205,255,0,81,2,2,0,127,14,139,131,139,139,255,0,88,2,2,0,42,26,245,245,245,220,255,0,94,2,2,0,23,58,255,255,228,196,255,0,101,2,2,0,23,58,255,255,228,196,255,0,109,2,2,0,23,58,238,238,213,183,255,0,117,2,2,0,22,58,205,205,183,158,255,0,125,2,2,0,23,58,139,139,125,107,255,0,143,25,2,0,0,0,0,0,0,0,255,0,133,2,2,0,25,49,255,255,235,205,255,0,148,2,2,0,170,255,255,0,0,255,255,0,153,2,2,0,170,255,255,0,0,255,255,0,159,2,2,0,170,255,238,0,0,238,255,0,165,2,2,0,170,255,205,0,0,205,255,0,171,2,2,0,170,255,139,0,0,139,255,0,177,2,2,0,192,206,226,138,43,226,255,0,188,2,2,0,0,190,165,165,42,42,255,0,194,2,2,0,0,191,255,255,64,64,255,0,201,2,2,0,0,191,238,238,59,59,255,0,208,2,2,0,0,191,205,205,51,51,255,0,215,2,2,0,0,190,139,139,35,35,255,0,222,2,2,0,23,99,222,222,184,135,255,0,232,2,2,0,23,100,255,255,211,155,255,0,243,2,2,0,23,99,238,238,197,145,255,0,254,2,2,0,23,99,205,205,170,125,255,0,9,3,2,0,23,99,139,139,115,85,255,0,20,3,2,0,128,103,160,95,158,160,255,0,30,3,2,0,131,103,255,152,245,255,255,0,41,3,2,0,131,102,238,142,229,238,255,0,52,3,2,0,131,103,205,122,197,205,255,0,63,3,2,0,131,102,139,83,134,139,255,0,74,3,2,0,63,255,255,127,255,0,255,0,85,3,2,0,63,255,255,127,255,0,255,0,97,3,2,0,63,255,238,118,238,0,255,0,109,3,2,0,63,255,205,102,205,0,255,0,121,3,2,0,63,255,139,69,139,0,255,0,133,3,2,0,17,218,210,210,105,30,255,0,143,3,2,0,17,219,255,255,127,36,255,0,154,3,2,0,17,219,238,238,118,33,255,0,165,3,2,0,17,218,205,205,102,29,255,0,176,3,2,0,17,220,139,139,69,19,255,0,187,3,2,0,11,175,255,255,127,80,255,0,193,3,2,0,7,169,255,255,114,86,255,0,200,3,2,0,6,169,238,238,106,80,255,0,207,3,2,0,6,169,205,205,91,69,255,0,214,3,2,0,6,168,139,139,62,47,255,0,221,3,2,0,154,147,237,100,149,237,255,0,236,3,2,0,33,34,255,255,248,220,255,0,245,3,2,0,33,34,255,255,248,220,255,0,255,3,2,0,34,35,238,238,232,205,255,0,9,4,2,0,34,34,205,205,200,177,255,0,19,4,2,0,35,34,139,139,136,120,255,0,29,4,2,0,246,231,220,220,20,60,255,0,37,4,2,0,127,255,255,0,255,255,255,0,42,4,2,0,127,255,255,0,255,255,255,0,48,4,2,0,127,255,238,0,238,238,255,0,54,4,2,0,127,255,205,0,205,205,255,0,60,4,2,0,127,255,139,0,139,139,255,0,66,4,2,0,30,239,184,184,134,11,255,0,80,4,2,0,30,240,255,255,185,15,255,0,95,4,2,0,30,240,238,238,173,14,255,0,110,4,2,0,30,240,205,205,149,12,255,0,125,4,2,0,30,240,139,139,101,8,255,0,140,4,2,0,85,255,100,0,100,0,255,0,150,4,2,0,39,110,189,189,183,107,255,0,160,4,2,0,58,142,107,85,107,47,255,0,175,4,2,0,58,143,255,202,255,112,255,0,191,4,2,0,58,143,238,188,238,104,255,0,207,4,2,0,58,143,205,162,205,90,255,0,223,4,2,0,58,143,139,110,139,61,255,0,239,4,2,0,23,255,255,255,140,0,255,0,250,4,2,0,21,255,255,255,127,0,255,0,6,5,2,0,21,255,238,238,118,0,255,0,18,5,2,0,21,255,205,205,102,0,255,0,30,5,2,0,21,255,139,139,69,0,255,0,42,5,2,0,198,192,204,153,50,204,255,0,53,5,2,0,198,193,255,191,62,255,255,0,65,5,2,0,198,192,238,178,58,238,255,0,77,5,2,0,198,192,205,154,50,205,255,0,89,5,2,0,198,192,139,104,34,139,255,0,101,5,2,0,10,121,233,233,150,122,255,0,112,5,2,0,85,61,188,143,188,143,255,0,125,5,2,0,85,62,255,193,255,193,255,0,139,5,2,0,85,62,238,180,238,180,255,0,153,5,2,0,85,62,205,155,205,155,255,0,167,5,2,0,85,62,139,105,139,105,255,0,181,5,2,0,175,143,139,72,61,139,255,0,195,5,2,0,127,103,79,47,79,79,255,0,209,5,2,0,127,104,255,151,255,255,255,0,224,5,2,0,127,103,238,141,238,238,255,0,239,5,2,0,127,104,205,121,205,205,255,0,254,5,2,0,127,104,139,82,139,139,255,0,13,6,2,0,127,103,79,47,79,79,255,0,27,6,2,0,128,255,209,0,206,209,255,0,41,6,2,0,199,255,211,148,0,211,255,0,52,6,2,0,232,235,255,255,20,147,255,0,61,6,2,0,232,235,255,255,20,147,255,0,71,6,2,0,232,235,238,238,18,137,255,0,81,6,2,0,232,235,205,205,16,118,255,0,91,6,2,0,231,236,139,139,10,80,255,0,101,6,2,0,138,255,255,0,191,255,255,0,113,6,2,0,138,255,255,0,191,255,255,0,126,6,2,0,138,255,238,0,178,238,255,0,139,6,2,0,138,255,205,0,154,205,255,0,152,6,2,0,138,255,139,0,104,139,255,0,165,6,2,0,0,0,105,105,105,105,255,0,173,6,2,0,0,0,105,105,105,105,255,0,181,6,2,0,148,225,255,30,144,255,255,0,192,6,2,0,148,225,255,30,144,255,255,0,204,6,2,0,148,225,238,28,134,238,255,0,216,6,2,0,148,225,205,24,116,205,255,0,228,6,2,0,148,225,139,16,78,139,255,0,240,6,2,0,0,206,178,178,34,34,255,0,250,6,2,0,0,207,255,255,48,48,255,0,5,7,2,0,0,207,238,238,44,44,255,0,16,7,2,0,0,207,205,205,38,38,255,0,27,7,2,0,0,207,139,139,26,26,255,0,38,7,2,0,28,15,255,255,250,240,255,0,50,7,2,0,85,192,139,34,139,34,255,0,62,7,2,0,0,0,220,220,220,220,255,0,72,7,2,0,170,7,255,248,248,255,255,0,83,7,2,0,35,255,255,255,215,0,255,0,88,7,2,0,35,255,255,255,215,0,255,0,94,7,2,0,35,255,238,238,201,0,255,0,100,7,2,0,35,255,205,205,173,0,255,0,106,7,2,0,35,255,139,139,117,0,255,0,112,7,2,0,30,217,218,218,165,32,255,0,122,7,2,0,30,218,255,255,193,37,255,0,133,7,2,0,30,218,238,238,180,34,255,0,144,7,2,0,30,218,205,205,155,29,255,0,155,7,2,0,30,218,139,139,105,20,255,0,166,7,2,0,0,0,192,192,192,192,255,0,171,7,2,0,0,0,0,0,0,0,255,0,177,7,2,0,0,0,3,3,3,3,255,0,183,7,2,0,0,0,26,26,26,26,255,0,190,7,2,0,0,0,255,255,255,255,255,0,198,7,2,0,0,0,28,28,28,28,255,0,205,7,2,0,0,0,31,31,31,31,255,0,212,7,2,0,0,0,33,33,33,33,255,0,219,7,2,0,0,0,36,36,36,36,255,0,226,7,2,0,0,0,38,38,38,38,255,0,233,7,2,0,0,0,41,41,41,41,255,0,240,7,2,0,0,0,43,43,43,43,255,0,247,7,2,0,0,0,46,46,46,46,255,0,254,7,2,0,0,0,48,48,48,48,255,0,5,8,2,0,0,0,5,5,5,5,255,0,11,8,2,0,0,0,51,51,51,51,255,0,18,8,2,0,0,0,54,54,54,54,255,0,25,8,2,0,0,0,56,56,56,56,255,0,32,8,2,0,0,0,59,59,59,59,255,0,39,8,2,0,0,0,61,61,61,61,255,0,46,8,2,0,0,0,64,64,64,64,255,0,53,8,2,0,0,0,66,66,66,66,255,0,60,8,2,0,0,0,69,69,69,69,255,0,67,8,2,0,0,0,71,71,71,71,255,0,74,8,2,0,0,0,74,74,74,74,255,0,81,8,2,0,0,0,8,8,8,8,255,0,87,8,2,0,0,0,77,77,77,77,255,0,94,8,2,0,0,0,79,79,79,79,255,0,101,8,2,0,0,0,82,82,82,82,255,0,108,8,2,0,0,0,84,84,84,84,255,0,115,8,2,0,0,0,87,87,87,87,255,0,122,8,2,0,0,0,89,89,89,89,255,0,129,8,2,0,0,0,92,92,92,92,255,0,136,8,2,0,0,0,94,94,94,94,255,0,143,8,2,0,0,0,97,97,97,97,255,0,150,8,2,0,0,0,99,99,99,99,255,0,157,8,2,0,0,0,10,10,10,10,255,0,163,8,2,0,0,0,102,102,102,102,255,0,170,8,2,0,0,0,105,105,105,105,255,0,177,8,2,0,0,0,107,107,107,107,255,0,184,8,2,0,0,0,110,110,110,110,255,0,191,8,2,0,0,0,112,112,112,112,255,0,198,8,2,0,0,0,115,115,115,115,255,0,205,8,2,0,0,0,117,117,117,117,255,0,212,8,2,0,0,0,120,120,120,120,255,0,219,8,2,0,0,0,122,122,122,122,255,0,226,8,2,0,0,0,125,125,125,125,255,0,233,8,2,0,0,0,13,13,13,13,255,0,239,8,2,0,0,0,127,127,127,127,255,0,246,8,2,0,0,0,130,130,130,130,255,0,253,8,2,0,0,0,133,133,133,133,255,0,4,9,2,0,0,0,135,135,135,135,255,0,11,9,2,0,0,0,138,138,138,138,255,0,18,9,2,0,0,0,140,140,140,140,255,0,25,9,2,0,0,0,143,143,143,143,255,0,32,9,2,0,0,0,145,145,145,145,255,0,39,9,2,0,0,0,148,148,148,148,255,0,46,9,2,0,0,0,150,150,150,150,255,0,53,9,2,0,0,0,15,15,15,15,255,0,59,9,2,0,0,0,153,153,153,153,255,0,66,9,2,0,0,0,156,156,156,156,255,0,73,9,2,0,0,0,158,158,158,158,255,0,80,9,2,0,0,0,161,161,161,161,255,0,87,9,2,0,0,0,163,163,163,163,255,0,94,9,2,0,0,0,166,166,166,166,255,0,101,9,2,0,0,0,168,168,168,168,255,0,108,9,2,0,0,0,171,171,171,171,255,0,115,9,2,0,0,0,173,173,173,173,255,0,122,9,2,0,0,0,176,176,176,176,255,0,129,9,2,0,0,0,18,18,18,18,255,0,135,9,2,0,0,0,179,179,179,179,255,0,142,9,2,0,0,0,181,181,181,181,255,0,149,9,2,0,0,0,184,184,184,184,255,0,156,9,2,0,0,0,186,186,186,186,255,0,163,9,2,0,0,0,189,189,189,189,255,0,170,9,2,0,0,0,191,191,191,191,255,0,177,9,2,0,0,0,194,194,194,194,255,0,184,9,2,0,0,0,196,196,196,196,255,0,191,9,2,0,0,0,199,199,199,199,255,0,198,9,2,0,0,0,201,201,201,201,255,0,205,9,2,0,0,0,20,20,20,20,255,0,211,9,2,0,0,0,204,204,204,204,255,0,218,9,2,0,0,0,207,207,207,207,255,0,225,9,2,0,0,0,209,209,209,209,255,0,232,9,2,0,0,0,212,212,212,212,255,0,239,9,2,0,0,0,214,214,214,214,255,0,246,9,2,0,0,0,217,217,217,217,255,0,253,9,2,0,0,0,219,219,219,219,255,0,4,10,2,0,0,0,222,222,222,222,255,0,11,10,2,0,0,0,224,224,224,224,255,0,18,10,2,0,0,0,227,227,227,227,255,0,25,10,2,0,0,0,23,23,23,23,255,0,31,10,2,0,0,0,229,229,229,229,255,0,38,10,2,0,0,0,232,232,232,232,255,0,45,10,2,0,0,0,235,235,235,235,255,0,52,10,2,0,0,0,237,237,237,237,255,0,59,10,2,0,0,0,240,240,240,240,255,0,66,10,2,0,0,0,242,242,242,242,255,0,73,10,2,0,0,0,245,245,245,245,255,0,80,10,2,0,0,0,247,247,247,247,255,0,87,10,2,0,0,0,250,250,250,250,255,0,94,10,2,0,0,0,252,252,252,252,255,0,101,10,2,0,85,255,255,0,255,0,255,0,107,10,2,0,85,255,255,0,255,0,255,0,114,10,2,0,85,255,238,0,238,0,255,0,121,10,2,0,85,255,205,0,205,0,255,0,128,10,2,0,85,255,139,0,139,0,255,0,135,10,2,0,59,208,255,173,255,47,255,0,147,10,2,0,0,0,192,192,192,192,255,0,152,10,2,0,0,0,0,0,0,0,255,0,158,10,2,0,0,0,3,3,3,3,255,0,164,10,2,0,0,0,26,26,26,26,255,0,171,10,2,0,0,0,255,255,255,255,255,0,179,10,2,0,0,0,28,28,28,28,255,0,186,10,2,0,0,0,31,31,31,31,255,0,193,10,2,0,0,0,33,33,33,33,255,0,200,10,2,0,0,0,36,36,36,36,255,0,207,10,2,0,0,0,38,38,38,38,255,0,214,10,2,0,0,0,41,41,41,41,255,0,221,10,2,0,0,0,43,43,43,43,255],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+40964);allocate([228,10,2,0,0,0,46,46,46,46,255,0,235,10,2,0,0,0,48,48,48,48,255,0,242,10,2,0,0,0,5,5,5,5,255,0,248,10,2,0,0,0,51,51,51,51,255,0,255,10,2,0,0,0,54,54,54,54,255,0,6,11,2,0,0,0,56,56,56,56,255,0,13,11,2,0,0,0,59,59,59,59,255,0,20,11,2,0,0,0,61,61,61,61,255,0,27,11,2,0,0,0,64,64,64,64,255,0,34,11,2,0,0,0,66,66,66,66,255,0,41,11,2,0,0,0,69,69,69,69,255,0,48,11,2,0,0,0,71,71,71,71,255,0,55,11,2,0,0,0,74,74,74,74,255,0,62,11,2,0,0,0,8,8,8,8,255,0,68,11,2,0,0,0,77,77,77,77,255,0,75,11,2,0,0,0,79,79,79,79,255,0,82,11,2,0,0,0,82,82,82,82,255,0,89,11,2,0,0,0,84,84,84,84,255,0,96,11,2,0,0,0,87,87,87,87,255,0,103,11,2,0,0,0,89,89,89,89,255,0,110,11,2,0,0,0,92,92,92,92,255,0,117,11,2,0,0,0,94,94,94,94,255,0,124,11,2,0,0,0,97,97,97,97,255,0,131,11,2,0,0,0,99,99,99,99,255,0,138,11,2,0,0,0,10,10,10,10,255,0,144,11,2,0,0,0,102,102,102,102,255,0,151,11,2,0,0,0,105,105,105,105,255,0,158,11,2,0,0,0,107,107,107,107,255,0,165,11,2,0,0,0,110,110,110,110,255,0,172,11,2,0,0,0,112,112,112,112,255,0,179,11,2,0,0,0,115,115,115,115,255,0,186,11,2,0,0,0,117,117,117,117,255,0,193,11,2,0,0,0,120,120,120,120,255,0,200,11,2,0,0,0,122,122,122,122,255,0,207,11,2,0,0,0,125,125,125,125,255,0,214,11,2,0,0,0,13,13,13,13,255,0,220,11,2,0,0,0,127,127,127,127,255,0,227,11,2,0,0,0,130,130,130,130,255,0,234,11,2,0,0,0,133,133,133,133,255,0,241,11,2,0,0,0,135,135,135,135,255,0,248,11,2,0,0,0,138,138,138,138,255,0,255,11,2,0,0,0,140,140,140,140,255,0,6,12,2,0,0,0,143,143,143,143,255,0,13,12,2,0,0,0,145,145,145,145,255,0,20,12,2,0,0,0,148,148,148,148,255,0,27,12,2,0,0,0,150,150,150,150,255,0,34,12,2,0,0,0,15,15,15,15,255,0,40,12,2,0,0,0,153,153,153,153,255,0,47,12,2,0,0,0,156,156,156,156,255,0,54,12,2,0,0,0,158,158,158,158,255,0,61,12,2,0,0,0,161,161,161,161,255,0,68,12,2,0,0,0,163,163,163,163,255,0,75,12,2,0,0,0,166,166,166,166,255,0,82,12,2,0,0,0,168,168,168,168,255,0,89,12,2,0,0,0,171,171,171,171,255,0,96,12,2,0,0,0,173,173,173,173,255,0,103,12,2,0,0,0,176,176,176,176,255,0,110,12,2,0,0,0,18,18,18,18,255,0,116,12,2,0,0,0,179,179,179,179,255,0,123,12,2,0,0,0,181,181,181,181,255,0,130,12,2,0,0,0,184,184,184,184,255,0,137,12,2,0,0,0,186,186,186,186,255,0,144,12,2,0,0,0,189,189,189,189,255,0,151,12,2,0,0,0,191,191,191,191,255,0,158,12,2,0,0,0,194,194,194,194,255,0,165,12,2,0,0,0,196,196,196,196,255,0,172,12,2,0,0,0,199,199,199,199,255,0,179,12,2,0,0,0,201,201,201,201,255,0,186,12,2,0,0,0,20,20,20,20,255,0,192,12,2,0,0,0,204,204,204,204,255,0,199,12,2,0,0,0,207,207,207,207,255,0,206,12,2,0,0,0,209,209,209,209,255,0,213,12,2,0,0,0,212,212,212,212,255,0,220,12,2,0,0,0,214,214,214,214,255,0,227,12,2,0,0,0,217,217,217,217,255,0,234,12,2,0,0,0,219,219,219,219,255,0,241,12,2,0,0,0,222,222,222,222,255,0,248,12,2,0,0,0,224,224,224,224,255,0,255,12,2,0,0,0,227,227,227,227,255,0,6,13,2,0,0,0,23,23,23,23,255,0,12,13,2,0,0,0,229,229,229,229,255,0,19,13,2,0,0,0,232,232,232,232,255,0,26,13,2,0,0,0,235,235,235,235,255,0,33,13,2,0,0,0,237,237,237,237,255,0,40,13,2,0,0,0,240,240,240,240,255,0,47,13,2,0,0,0,242,242,242,242,255,0,54,13,2,0,0,0,245,245,245,245,255,0,61,13,2,0,0,0,247,247,247,247,255,0,68,13,2,0,0,0,250,250,250,250,255,0,75,13,2,0,0,0,252,252,252,252,255,0,82,13,2,0,85,15,255,240,255,240,255,0,91,13,2,0,85,15,255,240,255,240,255,0,101,13,2,0,85,15,238,224,238,224,255,0,111,13,2,0,85,14,205,193,205,193,255,0,121,13,2,0,85,14,139,131,139,131,255,0,131,13,2,0,233,150,255,255,105,180,255,0,139,13,2,0,234,145,255,255,110,180,255,0,148,13,2,0,235,141,238,238,106,167,255,0,157,13,2,0,236,135,205,205,96,144,255,0,166,13,2,0,234,148,139,139,58,98,255,0,175,13,2,0,0,140,205,205,92,92,255,0,185,13,2,0,0,148,255,255,106,106,255,0,196,13,2,0,0,148,238,238,99,99,255,0,207,13,2,0,0,149,205,205,85,85,255,0,218,13,2,0,0,148,139,139,58,58,255,0,229,13,2,0,194,255,130,75,0,130,255,0,236,13,2,0,42,0,255,255,255,254,0,0,242,13,2,0,42,15,255,255,255,240,255,0,248,13,2,0,42,15,255,255,255,240,255,0,255,13,2,0,42,15,238,238,238,224,255,0,6,14,2,0,42,14,205,205,205,193,255,0,13,14,2,0,42,14,139,139,139,131,255,0,20,14,2,0,38,106,240,240,230,140,255,0,26,14,2,0,39,112,255,255,246,143,255,0,33,14,2,0,39,112,238,238,230,133,255,0,40,14,2,0,39,111,205,205,198,115,255,0,47,14,2,0,39,111,139,139,134,78,255,0,54,14,2,0,170,20,250,230,230,250,255,0,63,14,2,0,240,15,255,255,240,245,255,0,77,14,2,0,240,15,255,255,240,245,255,0,92,14,2,0,239,15,238,238,224,229,255,0,107,14,2,0,240,14,205,205,193,197,255,0,122,14,2,0,239,14,139,139,131,134,255,0,137,14,2,0,64,255,252,124,252,0,255,0,147,14,2,0,38,49,255,255,250,205,255,0,160,14,2,0,38,49,255,255,250,205,255,0,174,14,2,0,37,50,238,238,233,191,255,0,188,14,2,0,38,49,205,205,201,165,255,0,202,14,2,0,39,49,139,139,137,112,255,0,216,14,2,0,137,63,230,173,216,230,255,0,226,14,2,0,138,64,255,191,239,255,255,0,237,14,2,0,138,64,238,178,223,238,255,0,248,14,2,0,138,63,205,154,192,205,255,0,3,15,2,0,137,64,139,104,131,139,255,0,14,15,2,0,0,119,240,240,128,128,255,0,25,15,2,0,127,31,255,224,255,255,255,0,35,15,2,0,127,31,255,224,255,255,255,0,46,15,2,0,127,31,238,209,238,238,255,0,57,15,2,0,127,31,205,180,205,205,255,0,68,15,2,0,127,31,139,122,139,139,255,0,79,15,2,0,35,115,238,238,221,130,255,0,94,15,2,0,35,116,255,255,236,139,255,0,110,15,2,0,35,115,238,238,220,130,255,0,126,15,2,0,35,115,205,205,190,112,255,0,142,15,2,0,35,115,139,139,129,76,255,0,158,15,2,0,42,40,250,250,250,210,255,0,179,15,2,0,0,0,211,211,211,211,255,0,189,15,2,0,0,0,211,211,211,211,255,0,199,15,2,0,248,73,255,255,182,193,255,0,209,15,2,0,249,81,255,255,174,185,255,0,220,15,2,0,248,81,238,238,162,173,255,0,231,15,2,0,249,80,205,205,140,149,255,0,242,15,2,0,249,80,139,139,95,101,255,0,253,15,2,0,12,132,255,255,160,122,255,0,9,16,2,0,12,132,255,255,160,122,255,0,22,16,2,0,11,132,238,238,149,114,255,0,35,16,2,0,12,133,205,205,129,98,255,0,48,16,2,0,12,133,139,139,87,66,255,0,61,16,2,0,125,209,178,32,178,170,255,0,75,16,2,0,143,117,250,135,206,250,255,0,88,16,2,0,143,79,255,176,226,255,255,0,102,16,2,0,143,79,238,164,211,238,255,0,116,16,2,0,142,79,205,141,182,205,255,0,130,16,2,0,143,78,139,96,123,139,255,0,144,16,2,0,175,143,255,132,112,255,255,0,159,16,2,0,148,56,153,119,136,153,255,0,174,16,2,0,148,56,153,119,136,153,255,0,189,16,2,0,151,52,222,176,196,222,255,0,204,16,2,0,151,53,255,202,225,255,255,0,220,16,2,0,151,53,238,188,210,238,255,0,236,16,2,0,151,53,205,162,181,205,255,0,252,16,2,0,150,53,139,110,123,139,255,0,12,17,2,0,42,31,255,255,255,224,255,0,24,17,2,0,42,31,255,255,255,224,255,0,37,17,2,0,42,31,238,238,238,209,255,0,50,17,2,0,42,31,205,205,205,180,255,0,63,17,2,0,42,31,139,139,139,122,255,0,76,17,2,0,85,192,205,50,205,50,255,0,86,17,2,0,21,20,250,250,240,230,255,0,92,17,2,0,212,255,255,255,0,255,255,0,100,17,2,0,212,255,255,255,0,255,255,0,109,17,2,0,212,255,238,238,0,238,255,0,118,17,2,0,212,255,205,205,0,205,255,0,127,17,2,0,212,255,139,139,0,139,255,0,136,17,2,0,239,185,176,176,48,96,255,0,143,17,2,0,228,203,255,255,52,179,255,0,151,17,2,0,228,203,238,238,48,167,255,0,159,17,2,0,228,204,205,205,41,144,255,0,167,17,2,0,228,203,139,139,28,98,255,0,175,17,2,0,113,128,205,102,205,170,255,0,192,17,2,0,170,255,205,0,0,205,255,0,203,17,2,0,204,152,211,186,85,211,255,0,216,17,2,0,203,153,255,224,102,255,255,0,230,17,2,0,203,153,238,209,95,238,255,0,244,17,2,0,203,153,205,180,82,205,255,0,2,18,2,0,203,154,139,122,55,139,255,0,16,18,2,0,183,124,219,147,112,219,255,0,29,18,2,0,183,125,255,171,130,255,255,0,43,18,2,0,183,125,238,159,121,238,255,0,57,18,2,0,183,125,205,137,104,205,255,0,71,18,2,0,183,124,139,93,71,139,255,0,85,18,2,0,103,169,179,60,179,113,255,0,100,18,2,0,176,143,238,123,104,238,255,0,116,18,2,0,111,255,250,0,250,154,255,0,134,18,2,0,125,167,209,72,209,204,255,0,150,18,2,0,228,228,199,199,21,133,255,0,166,18,2,0,170,198,112,25,25,112,255,0,179,18,2,0,106,9,255,245,255,250,255,0,189,18,2,0,4,30,255,255,228,225,255,0,199,18,2,0,4,30,255,255,228,225,255,0,210,18,2,0,4,30,238,238,213,210,255,0,221,18,2,0,3,29,205,205,183,181,255,0,232,18,2,0,5,29,139,139,125,123,255,0,243,18,2,0,26,73,255,255,228,181,255,0,252,18,2,0,25,81,255,255,222,173,255,0,8,19,2,0,25,81,255,255,222,173,255,0,21,19,2,0,25,82,238,238,207,161,255,0,34,19,2,0,25,82,205,205,179,139,255,0,47,19,2,0,25,82,139,139,121,94,255,0,60,19,2,0,170,255,128,0,0,128,255,0,65,19,2,0,170,255,128,0,0,128,255,0,74,19,2,0,42,0,255,255,255,254,0,0,79,19,2,0,27,23,253,253,245,230,255,0,87,19,2,0,56,192,142,107,142,35,255,0,97,19,2,0,56,193,255,192,255,62,255,0,108,19,2,0,56,192,238,179,238,58,255,0,119,19,2,0,56,192,205,154,205,50,255,0,130,19,2,0,56,192,139,105,139,34,255,0,141,19,2,0,27,255,255,255,165,0,255,0,148,19,2,0,27,255,255,255,165,0,255,0,156,19,2,0,27,255,238,238,154,0,255,0,164,19,2,0,27,255,205,205,133,0,255,0,172,19,2,0,27,255,139,139,90,0,255,0,180,19,2,0,11,255,255,255,69,0,255,0,190,19,2,0,11,255,255,255,69,0,255,0,201,19,2,0,11,255,238,238,64,0,255,0,212,19,2,0,11,255,205,205,55,0,255,0,223,19,2,0,11,255,139,139,37,0,255,0,234,19,2,0,214,123,218,218,112,214,255,0,241,19,2,0,214,124,255,255,131,250,255,0,249,19,2,0,214,124,238,238,122,233,255,0,1,20,2,0,214,124,205,205,105,201,255,0,9,20,2,0,213,124,139,139,71,137,255,0,17,20,2,0,38,72,238,238,232,170,255,0,31,20,2,0,85,100,251,152,251,152,255,0,41,20,2,0,85,101,255,154,255,154,255,0,52,20,2,0,85,100,238,144,238,144,255,0,63,20,2,0,85,100,205,124,205,124,255,0,74,20,2,0,85,100,139,84,139,84,255,0,85,20,2,0,127,67,238,175,238,238,255,0,99,20,2,0,127,68,255,187,255,255,255,0,114,20,2,0,127,68,238,174,238,238,255,0,129,20,2,0,127,68,205,150,205,205,255,0,144,20,2,0,127,67,139,102,139,139,255,0,159,20,2,0,241,124,219,219,112,147,255,0,173,20,2,0,241,125,255,255,130,171,255,0,188,20,2,0,241,125,238,238,121,159,255,0,203,20,2,0,241,125,205,205,104,137,255,0,218,20,2,0,241,124,139,139,71,93,255,0,233,20,2,0,26,41,255,255,239,213,255,0,244,20,2,0,20,70,255,255,218,185,255,0,254,20,2,0,20,70,255,255,218,185,255,0,9,21,2,0,19,69,238,238,203,173,255,0,20,21,2,0,19,69,205,205,175,149,255,0,31,21,2,0,20,69,139,139,119,101,255,0,42,21,2,0,20,176,205,205,133,63,255,0,47,21,2,0,247,63,255,255,192,203,255,0,52,21,2,0,245,73,255,255,181,197,255,0,58,21,2,0,245,73,238,238,169,184,255,0,64,21,2,0,245,74,205,205,145,158,255,0,70,21,2,0,245,73,139,139,99,108,255,0,76,21,2,0,212,70,221,221,160,221,255,0,81,21,2,0,212,68,255,255,187,255,255,0,87,21,2,0,212,68,238,238,174,238,255,0,93,21,2,0,212,68,205,205,150,205,255,0,99,21,2,0,212,67,139,139,102,139,255,0,105,21,2,0,132,59,230,176,224,230,255,0,116,21,2,0,196,221,240,160,32,240,255,0,123,21,2,0,191,207,255,155,48,255,255,0,131,21,2,0,192,207,238,145,44,238,255,0,139,21,2,0,192,207,205,125,38,205,255,0,147,21,2,0,192,207,139,85,26,139,255,0,155,21,2,0,0,255,255,255,0,0,255,0,159,21,2,0,0,255,255,255,0,0,255,0,164,21,2,0,0,255,238,238,0,0,255,0,169,21,2,0,0,255,205,205,0,0,255,0,174,21,2,0,0,255,139,139,0,0,255,0,179,21,2,0,0,61,188,188,143,143,255,0,189,21,2,0,0,62,255,255,193,193,255,0,200,21,2,0,0,62,238,238,180,180,255,0,211,21,2,0,0,62,205,205,155,155,255,0,222,21,2,0,0,62,139,139,105,105,255,0,233,21,2,0,159,181,225,65,105,225,255,0,243,21,2,0,159,183,255,72,118,255,255,0,254,21,2,0,159,183,238,67,110,238,255,0,9,22,2,0,159,182,205,58,95,205,255,0,20,22,2,0,159,183,139,39,64,139,255,0,31,22,2,0,17,220,139,139,69,19,255,0,43,22,2,0,4,138,250,250,128,114,255,0,50,22,2,0,9,150,255,255,140,105,255,0,58,22,2,0,9,150,238,238,130,98,255,0,66,22,2,0,9,150,205,205,112,84,255,0,74,22,2,0,9,150,139,139,76,57,255,0,82,22,2,0,19,154,244,244,164,96,255,0,93,22,2,0,103,170,139,46,139,87,255,0,102,22,2,0,103,171,255,84,255,159,255,0,112,22,2,0,103,171,238,78,238,148,255,0,122,22,2,0,103,171,205,67,205,128,255,0,132,22,2,0,103,170,139,46,139,87,255,0,142,22,2,0,17,16,255,255,245,238,255,0,151,22,2,0,17,16,255,255,245,238,255,0,161,22,2,0,18,17,238,238,229,222,255,0,171,22,2,0,18,17,205,205,197,191,255,0,181,22,2,0,18,16,139,139,134,130,255,0,191,22,2,0,13,183,160,160,82,45,255,0,198,22,2,0,13,184,255,255,130,71,255,0,206,22,2,0,13,184,238,238,121,66,255,0,214,22,2,0,13,184,205,205,104,57,255,0,222,22,2,0,13,185,139,139,71,38,255,0,230,22,2,0,139,108,235,135,206,235,255,0,238,22,2,0,144,120,255,135,206,255,255,0,247,22,2,0,144,120,238,126,192,238,255,0,0,23,2,0,144,120,205,108,166,205,255,0,9,23,2,0,145,119,139,74,112,139,255,0,18,23,2,0,175,143,205,106,90,205,255,0,28,23,2,0,175,144,255,131,111,255,255,0,39,23,2,0,175,144,238,122,103,238,255,0,50,23,2,0,175,144,205,105,89,205,255,0,61,23,2,0,175,144,139,71,60,139,255,0,72,23,2,0,148,56,144,112,128,144,255,0,82,23,2,0,149,56,255,198,226,255,255,0,93,23,2,0,149,56,238,185,211,238,255,0,104,23,2,0,148,57,205,159,182,205,255,0,115,23,2,0,149,56,139,108,123,139,255,0,126,23,2,0,148,56,144,112,128,144,255,0,136,23,2,0,0,5,255,255,250,250,255,0,141,23,2,0,0,5,255,255,250,250,255,0,147,23,2,0,0,5,238,238,233,233,255,0,153,23,2,0,0,4,205,205,201,201,255,0,159,23,2,0,0,3,139,139,137,137,255,0,165,23,2,0,106,255,255,0,255,127,255,0,177,23,2,0,106,255,255,0,255,127,255,0,190,23,2,0,106,255,238,0,238,118,255,0,203,23,2,0,106,255,205,0,205,102,255,0,216,23,2,0,106,255,139,0,139,69,255,0,229,23,2,0,146,155,180,70,130,180,255,0,239,23,2,0,146,156,255,99,184,255,255,0,250,23,2,0,146,156,238,92,172,238,255,0,5,24,2,0,146,156,205,79,148,205,255,0,16,24,2,0,147,155,139,54,100,139,255,0,27,24,2,0,24,84,210,210,180,140,255,0,31,24,2,0,20,176,255,255,165,79,255,0,36,24,2,0,20,176,238,238,154,73,255,0,41,24,2,0,20,176,205,205,133,63,255,0,46,24,2,0,20,176,139,139,90,43,255,0,51,24,2,0,212,29,216,216,191,216,255,0,59,24,2,0,212,30,255,255,225,255,255,0,68,24,2,0,212,30,238,238,210,238,255,0,77,24,2,0,212,29,205,205,181,205,255,0,86,24,2,0,212,29,139,139,123,139,255,0,95,24,2,0,6,184,255,255,99,71,255,0,102,24,2,0,6,184,255,255,99,71,255,0,110,24,2,0,6,184,238,238,92,66,255,0,118,24,2,0,6,184,205,205,79,57,255,0,126,24,2,0,6,185,139,139,54,38,255,0,208,25,2,0,42,0,255,255,255,254,0,0,134,24,2,0,123,182,224,64,224,208,255,0,144,24,2,0,129,255,255,0,245,255,255,0,155,24,2,0,129,255,238,0,229,238,255,0,166,24,2,0,129,255,205,0,197,205,255,0,177,24,2,0,129,255,139,0,134,139,255,0,188,24,2,0,212,115,238,238,130,238,255,0,195,24,2,0,227,215,208,208,32,144,255,0,205,24,2,0,235,193,255,255,62,150,255,0,216,24,2,0,235,192,238,238,58,140,255,0,227,24,2,0,235,192,205,205,50,120,255,0,238,24,2,0,235,192,139,139,34,82,255,0,249,24,2,0,27,68,245,245,222,179,255,0,255,24,2,0,27,69,255,255,231,186,255,0,6,25,2,0,27,68,238,238,216,174,255,0,13,25,2,0,27,68,205,205,186,150,255,0,20,25,2,0,27,67,139,139,126,102,255,0,27,25,2,0,0,0,255,255,255,255,255,0,33,25,2,0,0,0,245,245,245,245,255,0,44,25,2,0,42,255,255,255,255,0,255,0,51,25,2,0,42,255,255,255,255,0,255,0,59,25,2,0,42,255,238,238,238,0,255,0,67,25,2,0,42,255,205,205,205,0,255,0,75,25,2,0,42,255,139,139,139,0,255,0,83,25,2,0,56,192,205,154,205,50,255,0,201,29,2,0,227,25,2,0,229,25,2,0,231,25,2,0,233,25,2,0,235,25,2,0,237,25,2,0,239,25,2,0,241,25,2,0,243,25,2,0,245,25,2,0,248,25,2,0,251,25,2,0,254,25,2,0,1,26,2,0,4,26,2,0,7,26,2,0,10,26,2,0,13,26,2,0,16,26,2,0,19,26,2,0,0,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,54,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,27,2,0,149,28,2,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,16,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,245,38,2,0,9,0,0,0,251,38,2,0,10,0,0,0,4,39,2,0,11,0,0,0,70,39,2,0,12,0,0,0,76,39,2,0,13,0,0,0,81,39,2,0,14,0,0,0,4,39,2,0,15,0,0,0,217,39,2,0,16,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,7,40,2,0,22,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,59,40,2,0,29,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,4,39,2,0,36,0,0,0,224,39,2,0,17,0,0,0,232,39,2,0,18,0,0,0,98,42,2,0,37,0,0,0,239,39,2,0,19,0,0,0,251,39,2,0,20,0,0,0,70,39,2,0,21,0,0,0,109,42,2,0,38,0,0,0,15,40,2,0,23,0,0,0,25,40,2,0,24,0,0,0,39,40,2,0,25,0,0,0,46,40,2,0,26,0,0,0,51,40,2,0,27,0,0,0,54,40,2,0,28,0,0,0,117,42,2,0,39,0,0,0,67,40,2,0,30,0,0,0,73,40,2,0,31,0,0,0,79,40,2,0,32,0,0,0,86,40,2,0,33,0,0,0,92,40,2,0,33,0,0,0,100,40,2,0,34,0,0,0,107,40,2,0,35,0,0,0,0,0,0,0,76,45,2,0,90,45,2,0,103,45,2,0,120,45,2,0,152,45,2,0,167,45,2,0,185,45,2,0,200,45,2,0,220,45,2,0,248,45,2,0,27,46,2,0,44,46,2,0,71,46,2,0,91,46,2,0,129,46,2,0,156,46,2,0,198,46,2,0,245,46,2,0,6,47,2,0,57,47,2,0,80,47,2,0,126,47,2,0,153,47,2,0,204,47,2,0,240,47,2,0,36,48,2,0,81,48,2,0,96,48,2,0,122,48,2,0,160,48,2,0,192,48,2,0,225,48,2,0,3,49,2,0,20,49,2,0,41,49,2,0,57,49,2,0,74,49,2,0,118,49,2,0,198,49,2,0,1,50,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,4,254,255,255,135,254,255,255,7,0,0,0,0,0,0,0,0,255,255,127,255,255,255,127,255,255,255,255,255,255,255,243,127,254,253,255,255,255,255,255,127,255,255,255,255,255,255,255,255,15,224,255,255,255,255,49,252,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,3,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,0,0,0,0,0,0,0,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,254,7,0,0,0,0,254,255,255,255,255,255,255,255,255,124,255,127,47,0,96,0,0,0,224,255,255,255,255,255,255,35,0,0,0,255,3,0,0,0,224,159,249,255,255,253,197,3,0,0,0,176,3,0,3,0,224,135,249,255,255,253,109,3,0,0,0,94,0,0,28,0,224,175,251,255,255,253,237,35,0,0,0,0,1,0,0,0,224,159,249,255,255,253,205,35,0,0,0,176,3,0,0,0,224,199,61,214,24,199,191,3,0,0,0,0,0,0,0,0,224,223,253,255,255,253,239,3,0,0,0,0,3,0,0,0,224,223,253,255,255,253,239,3,0,0,0,64,3,0,0,0,224,223,253,255,255,253,255,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,13,0,63,0,0,0,0,0,0,0,150,37,240,254,174,108,13,32,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,254,255,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,63,0,255,255,255,255,127,0,237,218,7,0,0,0,0,80,1,80,49,130,171,98,44,0,0,0,0,64,0,201,128,245,7,0,0,0,0,8,1,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,3,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,64,76,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,254,3,0,0,254,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,7,224,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,255,7,254,255,255,135,254,255,255,7,0,0,0,0,0,0,128,0,255,255,127,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,1,0,248,3,0,3,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,3,0,0,0,192,215,255,255,251,255,255,255,255,127,127,84,253,255,15,0,254,223,255,255,255,255,255,255,255,255,254,223,255,255,255,255,123,0,255,255,255,255,255,255,159,25,255,255,255,207,63,3,0,0,0,0,0,0,254,255,255,255,127,2,254,255,255,255,127,0,254,255,251,255,255,187,22,0,255,255,255,7,7,0,0,0,0,0,254,255,255,7,255,255,7,0,255,3,255,255,255,255,255,255,255,255,255,124,255,127,239,255,255,61,255,3,238,255,255,255,255,255,255,243,255,63,30,255,207,255,0,0,238,159,249,255,255,253,197,211,159,57,128,176,207,255,3,0,228,135,249,255,255,253,109,211,135,57,0,94,192,255,31,0,238,175,251,255,255,253,237,243,191,59,0,0,193,255,0,0,238,159,249,255,255,253,205,243,143,57,192,176,195,255,0,0,236,199,61,214,24,199,191,195,199,61,128,0,128,255,0,0,238,223,253,255,255,253,239,195,223,61,96,0,195,255,0,0,236,223,253,255,255,253,239,195,223,61,96,64,195,255,0,0,236,223,253,255,255,253,255,195,207,61,128,0,195,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,127,255,7,255,127,255,3,0,0,0,0,150,37,240,254,174,108,255,59,95,63,255,3,0,0,0,0,0,0,0,3,255,3,160,194,255,254,255,255,255,3,254,255,223,15,191,254,255,63,254,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,31,2,0,0,0,160,0,0,0,254,255,62,0,254,255,255,255,255,255,255,255,255,255,31,102,254,255,255,255,255,255,255,255,255,255,255,119,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,224,221,0,0,76,231,0,0,192,229,0,0,188,232,0,0,188,232,0,0,44,234,0,0,192,229,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,22,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,142,1,0,71,52,2,0,128,143,1,0,80,52,2,0,87,52,2,0,96,52,2,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,64,237,0,0,176,238,0,0,32,240,0,0,144,241,0,0,144,241,0,0,0,243,0,0,32,240,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,10,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+51204);allocate([25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,12,0,0,0,31,0,0,0,40,0,0,0,41,0,0,0,32,0,0,0,42,0,0,0,13,0,0,0,25,0,0,0,33,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,0,0,0,0,0,0,0,0,0,1,1,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,45,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,14,0,0,0,40,0,0,0,51,0,0,0,52,0,0,0,41,0,0,0,53,0,0,0,15,0,0,0,26,0,0,0,42,0,0,0,11,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,16,0,0,0,49,0,0,0,54,0,0,0,55,0,0,0,50,0,0,0,56,0,0,0,17,0,0,0,27,0,0,0,51,0,0,0,13,0,0,0,14,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,21,10,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,16,12,19,28,30,3,13,31,32,33,34,35,27,26,17,25,25,25,25,25,25,25,25,25,25,23,18,2,14,11,15,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,20,28,4,28,22,28,24,24,24,24,24,24,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,36,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,22,28,28,28,28,28,28,28,28,28,28,22,28,26,28,28,22,28,28,28,28,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,28,22,22,22,22,22,22,22,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,52,2,0,248,52,2,0,251,52,2,0,1,53,2,0,155,52,2,0,8,53,2,0,17,53,2,0,25,53,2,0,172,244,0,0,20,0,0,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,0,0,0,0,222,18,4,149,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,144,245,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,19,0,0,0,22,251,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,231,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,247,0,0,9,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,19,0,0,0,30,251,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,247,0,0,5,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,19,0,0,0,38,255,2,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,9,0,0,0,10,0,0,0,13,0,0,0,11,0,0,0,12,0,0,0,133,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,40,32,0,0,41,32,0,0,95,32,0,0,0,48,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,3,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,131,249,162,0,68,78,110,0,252,41,21,0,209,87,39,0,221,52,245,0,98,219,192,0,60,153,149,0,65,144,67,0,99,81,254,0,187,222,171,0,183,97,197,0,58,110,36,0,210,77,66,0,73,6,224,0,9,234,46,0,28,146,209,0,235,29,254,0,41,177,28,0,232,62,167,0,245,53,130,0,68,187,46,0,156,233,132,0,180,38,112,0,65,126,95,0,214,145,57,0,83,131,57,0,156,244,57,0,139,95,132,0,40,249,189,0,248,31,59,0,222,255,151,0,15,152,5,0,17,47,239,0,10,90,139,0,109,31,109,0,207,126,54,0,9,203,39,0,70,79,183,0,158,102,63,0,45,234,95,0,186,39,117,0,229,235,199,0,61,123,241,0,247,57,7,0,146,82,138,0,251,107,234,0,31,177,95,0,8,93,141,0,48,3,86,0,123,252,70,0,240,171,107,0,32,188,207,0,54,244,154,0,227,169,29,0,94,97,145,0,8,27,230,0,133,153,101,0,160,20,95,0,141,64,104,0,128,216,255,0,39,115,77,0,6,6,49,0,202,86,21,0,201,168,115,0,123,226,96,0,107,140,192,0,116,0,0,0,146,88,2,0,110,0,0,0,148,88,2,0,114,0,0,0,150,88,2,0,102,0,0,0,152,88,2,0,97,0,0,0,154,88,2,0,101,0,0,0,156,88,2,0,119,0,0,0,158,88,2,0,87,0,0,0,171,88,2,0,115,0,0,0,185,88,2,0,83,0,0,0,197,88,2,0,100,0,0,0,210,88,2,0,68,0,0,0,222,88,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,4,0,27,0,27,0,32,0,32,0,35,0,33,0,10,0,2,0,22,0,9,0,33,0,33,0,33,0,21,0,28,0,1,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,27,0,2,0,23,0,27,0,32,0,31,0,30,0,29,0,9,0,19,0,0,0,21,0,18,0,21,0,3,0,7,0,21,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,20,0,8,0,4,0,5,0,5,0,6,0,27,0,26,0,24,0,25,0,32,0,7,0,21,0,20,0,20,0,20,0,20,0,20,0,20,0,11,0,20,0,13,0,20,0,12,0,20,0,20,0,20,0,14,0,20,0,20,0,20,0,16,0,20,0,15,0,20,0,17,0,0,0,0,0,0,0,174,0,46,0,47,0,51,0,53,0,48,0,55,0,170,0,219,0,219,0,219,0,219,0,0,0,61,0,135,0,55,0,55,0,219,0,219,0,0,0,40,0,53,0,46,0,50,0,47,0,98,0,0,0,0,0,71,0,0,0,0,0,219,0,81,0,0,0,219,0,219,0,219,0,0,0,219,0,132,0,85,0,219,0,130,0,219,0,0,0,129,0,219,0,0,0,62,0,66,0,65,0,72,0,68,0,82,0,91,0,0,0,0,0,94,0,95,0,219,0,0,0,219,0,219,0,219,0,0,0,0,0,123,0,73,0,87,0,82,0,90,0,90,0,93,0,0,0,95,0,0,0,95,0,0,0,101,0,93,0,95,0,0,0,93,0,110,0,106,0,0,0,105,0,0,0,110,0,0,0,219,0,147,0,154,0,161,0,168,0,171,0,112,0,177,0,184,0,191,0,198,0,205,0,211,0,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,3,0,4,0,7,0,3,0,4,0,5,0,5,0,6,0,6,0,8,0,7,0,7,0,17,0,22,0,18,0,17,0,18,0,8,0,8,0,15,0,15,0,23,0,15,0,24,0,15,0,25,0,26,0,26,0,30,0,22,0,52,0,30,0,5,0,50,0,6,0,34,0,34,0,51,0,23,0,24,0,53,0,25,0,26,0,26,0,42,0,54,0,42,0,52,0,55,0,50,0,69,0,59,0,60,0,51,0,59,0,60,0,70,0,53,0,71,0,72,0,76,0,54,0,34,0,73,0,74,0,55,0,69,0,78,0,80,0,98,0,81,0,82,0,84,0,70,0,71,0,85,0,72,0,76,0,86,0,73,0,74,0,88,0,90,0,78,0,68,0,80,0,81,0,82,0,84,0,56,0,47,0,44,0,85,0,41,0,86,0,27,0,16,0,88,0,90,0,93,0,93,0,93,0,93,0,93,0,93,0,93,0,94,0,94,0,94,0,94,0,94,0,94,0,94,0,95,0,95,0,95,0,95,0,95,0,95,0,95,0,96,0,9,0,96,0,96,0,96,0,96,0,96,0,97,0,97,0,99,0,2,0,99,0,99,0,99,0,99,0,99,0,100,0,0,0,100,0,0,0,100,0,100,0,100,0,101,0,0,0,101,0,101,0,101,0,101,0,101,0,102,0,102,0,0,0,102,0,102,0,102,0,102,0,103,0,0,0,103,0,103,0,103,0,103,0,104,0,0,0,104,0,104,0,104,0,104,0,104,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,92,0,1,0,93,0,93,0,94,0,94,0,95,0,95,0,92,0,92,0,92,0,92,0,92,0,96,0,92,0,92,0,92,0,97,0,92,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,102,0,102,0,92,0,92,0,103,0,92,0,92,0,92,0,96,0,92,0,92,0,97,0,92,0,97,0,92,0,104,0,97,0,92,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,99,0,100,0,101,0,101,0,92,0,102,0,92,0,92,0,92,0,103,0,104,0,97,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,0,0,10,0,11,0,12,0,13,0,14,0,10,0,15,0,16,0,17,0,18,0,19,0,10,0,20,0,21,0,21,0,21,0,22,0,23,0,21,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,10,0,21,0,21,0,21,0,22,0,23,0,24,0,21,0,21,0,25,0,21,0,21,0,21,0,26,0,21,0,21,0,21,0,21,0,27,0,12,0,12,0,36,0,30,0,30,0,32,0,33,0,32,0,33,0,36,0,37,0,38,0,45,0,50,0,47,0,46,0,42,0,37,0,38,0,40,0,41,0,51,0,42,0,52,0,43,0,53,0,54,0,55,0,60,0,50,0,71,0,61,0,34,0,69,0,34,0,63,0,64,0,70,0,51,0,52,0,72,0,53,0,54,0,55,0,47,0,73,0,42,0,71,0,74,0,69,0,76,0,92,0,60,0,70,0,92,0,61,0,77,0,72,0,78,0,79,0,82,0,73,0,65,0,80,0,81,0,74,0,76,0,83,0,84,0,49,0,85,0,86,0,87,0,77,0,78,0,88,0,79,0,82,0,89,0,80,0,81,0,90,0,91,0,83,0,68,0,84,0,85,0,86,0,87,0,75,0,68,0,44,0,88,0,44,0,89,0,56,0,44,0,90,0,91,0,29,0,29,0,29,0,29,0,29,0,29,0,29,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,35,0,35,0,35,0,35,0,35,0,35,0,35,0,39,0,92,0,39,0,39,0,39,0,39,0,39,0,48,0,48,0,57,0,28,0,57,0,57,0,57,0,57,0,57,0,58,0,92,0,58,0,92,0,58,0,58,0,58,0,59,0,92,0,59,0,59,0,59,0,59,0,59,0,62,0,62,0,92,0,62,0,62,0,62,0,62,0,66,0,92,0,66,0,66,0,66,0,66,0,67,0,92,0,67,0,67,0,67,0,67,0,67,0,9,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,92,0,8,0,174,255,209,0,10,0,174,255,174,255,11,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,5,0,209,0,174,255,209,0,209,0,209,0,209,0,209,0,209,0,209,0,209,0,174,255,251,255,174,255,14,0,236,255,174,255,174,255,174,255,174,255,209,0,209,0,209,0,209,0,209,0,13,0,37,0,12,0,66,0,16,0,80,0,19,0,109,0,123,0,20,0,152,0,15,0,166,0,195,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,23,0,174,255,119,0,174,255,7,0,46,0,174,255,38,0,174,255,23,0,17,0,35,0,174,255,13,0,174,255,174,255,174,255,174,255,58,0,174,255,174,255,53,0,174,255,174,255,174,255,40,0,174,255,7,0,174,255,59,0,69,0,174,255,72,0,174,255,174,255,174,255,174,255,174,255,174,255,174,255,252,255,232,0,246,255,255,255,26,0,0,0,39,0,1,0,50,0,174,255,174,255,2,0,36,0,3,0,47,0,174,255,174,255,174,255,174,255,174,255,254,255,148,0,174,255,9,0,27,0,174,255,188,255,174,255,174,255,175,255,174,255,174,255,174,255,174,255,174,255,174,255,174,255,0,0,0,0,0,0,109,230,236,222,5,0,11,0,73,0,49,1,83,0,127,1,48,1,105,0,120,1,255,0,129,1,83,2,130,1,131,1,132,1,133,1,134,1,84,2,135,1,136,1,137,1,86,2,138,1,87,2,139,1,140,1,142,1,221,1,143,1,89,2,144,1,91,2,145,1,146,1,147,1,96,2,148,1,99,2,150,1,105,2,151,1,104,2,152,1,153,1,156,1,111,2,157,1,114,2,159,1,117,2,166,1,128,2,167,1,168,1,169,1,131,2,172,1,173,1,174,1,136,2,175,1,176,1,177,1,138,2,178,1,139,2,183,1,146,2,184,1,185,1,188,1,189,1,196,1,198,1,196,1,197,1,197,1,198,1,199,1,201,1,199,1,200,1,200,1,201,1,202,1,204,1,202,1,203,1,203,1,204,1,241,1,243,1,241,1,242,1,242,1,243,1,244,1,245,1,246,1,149,1,247,1,191,1,32,2,158,1,134,3,172,3,136,3,173,3,137,3,174,3,138,3,175,3,140,3,204,3,142,3,205,3,143,3,206,3,153,3,69,3,153,3,190,31,163,3,194,3,247,3,248,3,250,3,251,3,96,30,155,30,158,30,223,0,89,31,81,31,91,31,83,31,93,31,85,31,95,31,87,31,188,31,179,31,204,31,195,31,236,31,229,31,252,31,243,31,58,2,101,44,59,2,60,2,61,2,154,1,62,2,102,44,65,2,66,2,67,2,128,1,68,2,137,2,69,2,140,2,244,3,184,3,249,3,242,3,253,3,123,3,254,3,124,3,255,3,125,3,192,4,207,4,38,33,201,3,42,33,107,0,43,33,229,0,50,33,78,33,131,33,132,33,96,44,97,44,98,44,107,2,99,44,125,29,100,44,125,2,109,44,81,2,110,44,113,2,111,44,80,2,112,44,82,2,114,44,115,44,117,44,118,44,126,44,63,2,127,44,64,2,242,44,243,44,125,167,121,29,139,167,140,167,141,167,101,2,170,167,102,2,199,16,39,45,205,16,45,45,118,3,119,3,156,3,181,0,146,3,208,3,152,3,209,3,166,3,213,3,160,3,214,3,154,3,240,3,161,3,241,3,149,3,245,3,207,3,215,3,0,0,0,0,65,0,32,26,192,0,32,31,0,1,1,47,50,1,1,5,57,1,1,15,74,1,1,45,121,1,1,5,112,3,1,3,145,3,32,17,163,3,32,9,0,4,80,16,16,4,32,32,96,4,1,33,138,4,1,53,193,4,1,13,208,4,1,63,20,5,1,19,49,5,48,38,160,1,1,5,179,1,1,3,205,1,1,15,222,1,1,17,248,1,1,39,34,2,1,17,216,3,1,23,0,30,1,149,160,30,1,95,8,31,248,8,24,31,248,6,40,31,248,8,56,31,248,8,72,31,248,6,104,31,248,8,136,31,248,8,152,31,248,8,168,31,248,8,184,31,248,2,186,31,182,2,200,31,170,4,216,31,248,2,218,31,156,2,232,31,248,2,234,31,144,2,248,31,128,2,250,31,130,2,70,2,1,9,16,5,1,3,96,33,16,16,0,44,48,47,103,44,1,5,128,44,1,99,235,44,1,3,64,166,1,45,128,166,1,23,34,167,1,13,50,167,1,61,121,167,1,3,126,167,1,9,144,167,1,3,160,167,1,9,33,255,32,26,0,0,0,0,123,32,118,97,114,32,112,97,116,104,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,48,41,59,32,118,97,114,32,100,97,116,97,32,61,32,80,111,105,110,116,101,114,95,115,116,114,105,110,103,105,102,121,40,36,49,41,59,32,70,83,46,99,114,101,97,116,101,80,97,116,104,40,34,47,34,44,32,80,65,84,72,46,100,105,114,110,97,109,101,40,112,97,116,104,41,41,59,32,70,83,46,119,114,105,116,101,70,105,108,101,40,80,65,84,72,46,106,111,105,110,40,34,47,34,44,32,112,97,116,104,41,44,32,100,97,116,97,41,59,32,125,0,99,111,114,101,0,120,100,111,116,118,101,114,115,105,111,110,0,49,46,55,0,49,46,52,0,49,46,50,0,95,108,100,114,97,119,95,0,95,104,100,114,97,119,95,0,95,116,100,114,97,119,95,0,95,104,108,100,114,97,119,95,0,95,116,108,100,114,97,119,95,0,120,100,111,116,32,118,101,114,115,105,111,110,32,34,37,115,34,32,116,111,111,32,108,111,110,103,0,32,37,100,32,0,37,46,48,50,102,0,37,115,37,100,32,45,0,35,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,115,101,116,108,105,110,101,119,105,100,116,104,40,0,37,46,51,102,0,83,32,0,67,32,0,50,32,0,69,32,0,101,32,0,70,32,0,116,32,37,117,32,0,84,32,0,100,111,116,58,100,111,116,0,103,118,58,100,111,116,0,99,97,110,111,110,58,100,111,116,0,112,108,97,105,110,58,100,111,116,0,112,108,97,105,110,45,101,120,116,58,100,111,116,0,120,100,111,116,58,120,100,111,116,0,120,100,111,116,49,46,50,58,120,100,111,116,0,120,100,111,116,49,46,52,58,120,100,111,116,0,73,32,0,34,95,115,117,98,103,114,97,112,104,95,99,110,116,34,58,32,37,100,0,34,95,103,118,105,100,34,58,32,37,100,0,34,101,100,103,101,115,34,58,32,91,10,0,34,95,103,118,105,100,34,58,32,37,100,44,10,0,34,116,97,105,108,34,58,32,37,100,44,10,0,34,104,101,97,100,34,58,32,37,100,0,34,111,98,106,101,99,116,115,34,58,32,91,10,0,34,110,111,100,101,115,34,58,32,91,10,0,34,110,97,109,101,34,58,32,34,37,115,34,0,92,34,0,92,47,0,92,98,0,92,102,0,92,110,0,92,114,0,92,116,0,34,115,117,98,103,114,97,112,104,115,34,58,32,91,10,0,34,37,115,34,58,32,0,34,37,115,34,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,120,100,111,116,32,34,37,115,34,10,0,91,10,0,34,111,112,34,58,32,34,37,99,34,44,10,0,34,114,101,99,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,10,0,34,111,112,34,58,32,34,76,34,44,10,0,34,111,112,34,58,32,34,84,34,44,10,0,34,112,116,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,97,108,105,103,110,34,58,32,34,37,99,34,44,10,0,34,119,105,100,116,104,34,58,32,37,46,48,51,102,44,10,0,34,116,101,120,116,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,110,111,110,101,34,44,10,0,34,99,111,108,111,114,34,58,32,34,37,115,34,10,0,34,103,114,97,100,34,58,32,34,108,105,110,101,97,114,34,44,10,0,34,103,114,97,100,34,58,32,34,114,97,100,105,97,108,34,44,10,0,34,111,112,34,58,32,34,70,34,44,10,0,34,115,105,122,101,34,58,32,37,46,48,51,102,44,10,0,34,102,97,99,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,83,34,44,10,0,34,115,116,121,108,101,34,58,32,34,37,115,34,10,0,34,111,112,34,58,32,34,116,34,44,10,0,34,102,111,110,116,99,104,97,114,34,58,32,37,100,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,115,116,111,112,115,34,58,32,91,0,123,34,102,114,97,99,34,58,32,37,46,48,51,102,44,32,34,99,111,108,111,114,34,58,32,34,37,115,34,125,0,93,10,0,34,112,48,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,49,34,58,32,91,37,46,48,51,102,44,37,46,48,51,102,93,44,10,0,34,112,111,105,110,116,115,34,58,32,91,0,91,37,46,48,51,102,44,37,46,48,51,102,93,0,100,114,97,119,95,0,108,100,114,97,119,95,0,104,100,114,97,119,95,0,116,100,114,97,119,95,0,104,108,100,114,97,119,95,0,116,108,100,114,97,119,95,0,34,100,105,114,101,99,116,101,100,34,58,32,37,115,44,10,0,34,115,116,114,105,99,116,34,58,32,37,115,0,68,117,112,108,105,99,97,116,101,32,99,108,117,115,116,101,114,32,110,97,109,101,32,34,37,115,34,10,0,120,100,111,116,0,106,115,111,110,0,106,115,111,110,48,0,100,111,116,95,106,115,111,110,0,120,100,111,116,95,106,115,111,110,0,106,115,111,110,58,106,115,111,110,0,106,115,111,110,48,58,106,115,111,110,0,100,111,116,95,106,115,111,110,58,106,115,111,110,0,120,100,111,116,95,106,115,111,110,58,106,115,111,110,0,110,32,62,61,32,52,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,102,105,103,46,99,0,102,105,103,95,98,101,122,105,101,114,0,102,105,103,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,102,105,103,0,102,105,103,58,102,105,103,0,109,97,112,0,114,101,99,116,32,37,115,32,37,100,44,37,100,32,37,100,44,37,100,10,0,99,105,114,99,108,101,32,37,115,32,37,100,44,37,100,44,37,100,10,0,112,111,108,121,32,37,115,0,32,37,100,44,37,100,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,97,112,46,99,0,109,97,112,95,111,117,116,112,117,116,95,115,104,97,112,101,0,114,101,99,116,97,110,103,108,101,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,32,37,115,32,37,115,10,0,60,97,114,101,97,32,115,104,97,112,101,61,34,99,105,114,99,108,101,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,114,101,99,116,34,0,60,97,114,101,97,32,115,104,97,112,101,61,34,112,111,108,121,34,0,32,104,114,101,102,61,34,0,32,116,105,116,108,101,61,34,0,32,97,108,116,61,34,34,0,32,99,111,111,114,100,115,61,34,0,37,100,44,37,100,44,37,100,0,37,100,44,37,100,44,37,100,44,37,100,0,37,100,44,37,100,0,44,37,100,44,37,100,0,34,62,10,0,60,47,109,97,112,62,10,0,98,97,115,101,32,114,101,102,101,114,101,114,10,0,100,101,102,97,117,108,116,32,0,60,109,97,112,32,105,100,61,34,0,34,32,110,97,109,101,61,34,0,105,115,109,97,112,58,109,97,112,0,99,109,97,112,58,109,97,112,0,105,109,97,112,58,109,97,112,0,99,109,97,112,120,58,109,97,112,0,105,109,97,112,95,110,112,58,109,97,112,0,99,109,97,112,120,95,110,112,58,109,97,112,0,35,32,37,115,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,51,102,32,37,100,32,37,46,52,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,100,32,37,100,32,35,37,48,50,120,37,48,50,120,37,48,50,120,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,109,112,46,99,0,109,112,95,114,101,115,111,108,118,101,95,99,111,108,111,114,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,46,52,102,32,37,100,32,37,46,49,102,32,37,46,49,102,32,37,100,32,37,100,32,37,115,92,48,48,49,10,0,35,32,101,110,100,32,111,102,32,70,73,71,32,102,105,108,101,10,0,35,70,73,71,32,51,46,50,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,35,32,84,105,116,108,101,58,32,37,115,10,0,35,32,80,97,103,101,115,58,32,37,100,10,0,80,111,114,116,114,97,105,116,10,0,67,101,110,116,101,114,10,0,73,110,99,104,101,115,10,0,76,101,116,116,101,114,10,0,49,48,48,46,48,48,10,0,83,105,110,103,108,101,10,0,45,50,10,0,49,50,48,48,0,32,50,10,0,109,112,0,109,112,58,109,112,0,32,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,32,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,32,115,101,116,108,105,110,101,119,105,100,116,104,10,0,37,115,32,0,115,101,116,104,115,98,0,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,115,99,111,108,111,114,10,0,37,32,0,110,101,119,112,97,116,104,32,0,32,109,111,118,101,116,111,10,0,32,108,105,110,101,116,111,10,0,115,116,114,111,107,101,10,0,32,99,117,114,118,101,116,111,10,0,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,0,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,102,105,108,108,10,0,32,101,108,108,105,112,115,101,95,112,97,116,104,32,115,116,114,111,107,101,10,0,32,47,37,115,32,115,101,116,95,102,111,110,116,10,0,32,109,111,118,101,116,111,32,0,32,37,115,32,97,108,105,103,110,101,100,116,101,120,116,10,0,91,32,47,82,101,99,116,32,91,32,0,32,93,10,0,32,32,47,66,111,114,100,101,114,32,91,32,48,32,48,32,48,32,93,10,32,32,47,65,99,116,105,111,110,32,60,60,32,47,83,117,98,116,121,112,101,32,47,85,82,73,32,47,85,82,73,32,37,115,32,62,62,10,32,32,47,83,117,98,116,121,112,101,32,47,76,105,110,107,10,47,65,78,78,32,112,100,102,109,97,114,107,10,0,103,115,97,118,101,10,0,37,37,32,37,115,10,0,48,32,48,32,48,32,101,100,103,101,99,111,108,111,114,10,0,101,110,100,112,97,103,101,10,115,104,111,119,112,97,103,101,10,103,114,101,115,116,111,114,101,10,0,37,37,80,97,103,101,84,114,97,105,108,101,114,10,0,37,37,37,37,69,110,100,80,97,103,101,58,32,37,100,10,0,37,37,37,37,80,97,103,101,58,32,37,100,32,37,100,10,0,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,76,97,110,100,115,99,97,112,101,0,80,111,114,116,114,97,105,116,0,37,37,37,37,80,97,103,101,79,114,105,101,110,116,97,116,105,111,110,58,32,37,115,10,0,60,60,32,47,80,97,103,101,83,105,122,101,32,91,37,100,32,37,100,93,32,62,62,32,115,101,116,112,97,103,101,100,101,118,105,99,101,10,0,37,100,32,37,100,32,37,100,32,98,101,103,105,110,112,97,103,101,10,0,103,115,97,118,101,10,37,100,32,37,100,32,37,100,32,37,100,32,98,111,120,112,114,105,109,32,99,108,105,112,32,110,101,119,112,97,116,104,10,0,37,103,32,37,103,32,115,101,116,95,115,99,97,108,101,32,37,100,32,114,111,116,97,116,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,10,0,99,97,110,118,97,115,32,115,105,122,101,32,40,37,100,44,37,100,41,32,101,120,99,101,101,100,115,32,80,68,70,32,108,105,109,105,116,32,40,37,100,41,10,9,40,115,117,103,103,101,115,116,32,115,101,116,116,105,110,103,32,97,32,98,111,117,110,100,105,110,103,32,98,111,120,32,115,105,122,101,44,32,115,101,101,32,100,111,116,40,49,41,41,10,0,91,32,47,67,114,111,112,66,111,120,32,91,37,100,32,37,100,32,37,100,32,37,100,93,32,47,80,65,71,69,83,32,112,100,102,109,97,114,107,10,0,37,100,32,37,100,32,115,101,116,108,97,121,101,114,10,0,37,37,37,37,84,105,116,108,101,58,32,37,115,10,0,37,37,80,97,103,101,115,58,32,40,97,116,101,110,100,41,10,0,37,37,80,97,103,101,115,58,32,49,10,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,37,69,110,100,67,111,109,109,101,110,116,115,10,115,97,118,101,10,0,115,101,116,117,112,76,97,116,105,110,49,10,0,91,32,123,67,97,116,97,108,111,103,125,32,60,60,32,47,85,82,73,32,60,60,32,47,66,97,115,101,32,37,115,32,62,62,32,62,62,10,47,80,85,84,32,112,100,102,109,97,114,107,10,0,37,37,66,101,103,105,110,80,114,111,108,111,103,0,47,68,111,116,68,105,99,116,32,50,48,48,32,100,105,99,116,32,100,101,102,0,68,111,116,68,105,99,116,32,98,101,103,105,110,0,47,115,101,116,117,112,76,97,116,105,110,49,32,123,0,109,97,114,107,0,47,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,50,53,54,32,97,114,114,97,121,32,100,101,102,0,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,48,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,32,48,32,50,53,53,32,103,101,116,105,110,116,101,114,118,97,108,32,112,117,116,105,110,116,101,114,118,97,108,0,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,52,53,32,47,104,121,112,104,101,110,32,112,117,116,0,37,32,83,101,116,32,117,112,32,73,83,79,32,76,97,116,105,110,32,49,32,99,104,97,114,97,99,116,101,114,32,101,110,99,111,100,105,110,103,0,47,115,116,97,114,110,101,116,73,83,79,32,123,0,32,32,32,32,32,32,32,32,100,117,112,32,100,117,112,32,102,105,110,100,102,111,110,116,32,100,117,112,32,108,101,110,103,116,104,32,100,105,99,116,32,98,101,103,105,110,0,32,32,32,32,32,32,32,32,123,32,49,32,105,110,100,101,120,32,47,70,73,68,32,110,101,32,123,32,100,101,102,32,125,123,32,112,111,112,32,112,111,112,32,125,32,105,102,101,108,115,101,0,32,32,32,32,32,32,32,32,125,32,102,111,114,97,108,108,0,32,32,32,32,32,32,32,32,47,69,110,99,111,100,105,110,103,32,69,110,99,111,100,105,110,103,86,101,99,116,111,114,32,100,101,102,0,32,32,32,32,32,32,32,32,99,117,114,114,101,110,116,100,105,99,116,32,101,110,100,32,100,101,102,105,110,101,102,111,110,116,0,125,32,100,101,102,0,47,84,105,109,101,115,45,82,111,109,97,110,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,47,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,32,115,116,97,114,110,101,116,73,83,79,32,100,101,102,0,99,108,101,97,114,116,111,109,97,114,107,0,125,32,98,105,110,100,32,100,101,102,0,37,37,66,101,103,105,110,82,101,115,111,117,114,99,101,58,32,112,114,111,99,115,101,116,32,103,114,97,112,104,118,105,122,32,48,32,48,0,47,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,47,84,105,109,101,115,45,82,111,109,97,110,32,100,101,102,0,47,99,111,111,114,100,102,111,110,116,32,99,111,111,114,100,45,102,111,110,116,45,102,97,109,105,108,121,32,102,105,110,100,102,111,110,116,32,56,32,115,99,97,108,101,102,111,110,116,32,100,101,102,0,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,49,46,48,32,100,101,102,0,47,115,101,116,95,115,99,97,108,101,32,123,0,32,32,32,32,32,32,32,100,117,112,32,49,32,101,120,99,104,32,100,105,118,32,47,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,101,120,99,104,32,100,101,102,0,32,32,32,32,32,32,32,115,99,97,108,101,0,37,32,115,116,121,108,101,115,0,47,115,111,108,105,100,32,123,32,91,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,97,115,104,101,100,32,123,32,91,57,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,100,117,112,32,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,100,111,116,116,101,100,32,123,32,91,49,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,32,54,32,73,110,118,83,99,97,108,101,70,97,99,116,111,114,32,109,117,108,93,32,48,32,115,101,116,100,97,115,104,32,125,32,98,105,110,100,32,100,101,102,0,47,105,110,118,105,115,32,123,47,102,105,108,108,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,116,114,111,107,101,32,123,110,101,119,112,97,116,104,125,32,100,101,102,32,47,115,104,111,119,32,123,112,111,112,32,110,101,119,112,97,116,104,125,32,100,101,102,125,32,98,105,110,100,32,100,101,102,0,47,98,111,108,100,32,123,32,50,32,115,101,116,108,105,110,101,119,105,100,116,104,32,125,32,98,105,110,100,32,100,101,102,0,47,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,117,110,102,105,108,108,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,114,111,117,110,100,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,100,105,97,103,111,110,97,108,115,32,123,32,125,32,98,105,110,100,32,100,101,102,0,47,116,97,112,101,114,101,100,32,123,32,125,32,98,105,110,100,32,100,101,102,0,37,32,104,111,111,107,115,32,102,111,114,32,115,101,116,116,105,110,103,32,99,111,108,111,114,32,0,47,110,111,100,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,101,100,103,101,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,103,114,97,112,104,99,111,108,111,114,32,123,32,115,101,116,104,115,98,99,111,108,111,114,32,125,32,98,105,110,100,32,100,101,102,0,47,110,111,112,99,111,108,111,114,32,123,112,111,112,32,112,111,112,32,112],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+61464);allocate([111,112,125,32,98,105,110,100,32,100,101,102,0,47,98,101,103,105,110,112,97,103,101,32,123,9,37,32,105,32,106,32,110,112,97,103,101,115,0,9,47,110,112,97,103,101,115,32,101,120,99,104,32,100,101,102,0,9,47,106,32,101,120,99,104,32,100,101,102,0,9,47,105,32,101,120,99,104,32,100,101,102,0,9,47,115,116,114,32,49,48,32,115,116,114,105,110,103,32,100,101,102,0,9,110,112,97,103,101,115,32,49,32,103,116,32,123,0,9,9,103,115,97,118,101,0,9,9,9,99,111,111,114,100,102,111,110,116,32,115,101,116,102,111,110,116,0,9,9,9,48,32,48,32,109,111,118,101,116,111,0,9,9,9,40,92,40,41,32,115,104,111,119,32,105,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,44,41,32,115,104,111,119,32,106,32,115,116,114,32,99,118,115,32,115,104,111,119,32,40,92,41,41,32,115,104,111,119,0,9,9,103,114,101,115,116,111,114,101,0,9,125,32,105,102,0,47,115,101,116,95,102,111,110,116,32,123,0,9,102,105,110,100,102,111,110,116,32,101,120,99,104,0,9,115,99,97,108,101,102,111,110,116,32,115,101,116,102,111,110,116,0,37,32,100,114,97,119,32,116,101,120,116,32,102,105,116,116,101,100,32,116,111,32,105,116,115,32,101,120,112,101,99,116,101,100,32,119,105,100,116,104,0,47,97,108,105,103,110,101,100,116,101,120,116,32,123,9,9,9,37,32,119,105,100,116,104,32,116,101,120,116,0,9,47,116,101,120,116,32,101,120,99,104,32,100,101,102,0,9,47,119,105,100,116,104,32,101,120,99,104,32,100,101,102,0,9,103,115,97,118,101,0,9,9,119,105,100,116,104,32,48,32,103,116,32,123,0,9,9,9,91,93,32,48,32,115,101,116,100,97,115,104,0,9,9,9,116,101,120,116,32,115,116,114,105,110,103,119,105,100,116,104,32,112,111,112,32,119,105,100,116,104,32,101,120,99,104,32,115,117,98,32,116,101,120,116,32,108,101,110,103,116,104,32,100,105,118,32,48,32,116,101,120,116,32,97,115,104,111,119,0,9,9,125,32,105,102,0,9,103,114,101,115,116,111,114,101,0,47,98,111,120,112,114,105,109,32,123,9,9,9,9,37,32,120,99,111,114,110,101,114,32,121,99,111,114,110,101,114,32,120,115,105,122,101,32,121,115,105,122,101,0,9,9,52,32,50,32,114,111,108,108,0,9,9,109,111,118,101,116,111,0,9,9,50,32,99,111,112,121,0,9,9,101,120,99,104,32,48,32,114,108,105,110,101,116,111,0,9,9,48,32,101,120,99,104,32,114,108,105,110,101,116,111,0,9,9,112,111,112,32,110,101,103,32,48,32,114,108,105,110,101,116,111,0,9,9,99,108,111,115,101,112,97,116,104,0,47,101,108,108,105,112,115,101,95,112,97,116,104,32,123,0,9,47,114,121,32,101,120,99,104,32,100,101,102,0,9,47,114,120,32,101,120,99,104,32,100,101,102,0,9,47,121,32,101,120,99,104,32,100,101,102,0,9,47,120,32,101,120,99,104,32,100,101,102,0,9,109,97,116,114,105,120,32,99,117,114,114,101,110,116,109,97,116,114,105,120,0,9,110,101,119,112,97,116,104,0,9,120,32,121,32,116,114,97,110,115,108,97,116,101,0,9,114,120,32,114,121,32,115,99,97,108,101,0,9,48,32,48,32,49,32,48,32,51,54,48,32,97,114,99,0,9,115,101,116,109,97,116,114,105,120,0,47,101,110,100,112,97,103,101,32,123,32,115,104,111,119,112,97,103,101,32,125,32,98,105,110,100,32,100,101,102,0,47,115,104,111,119,112,97,103,101,32,123,32,125,32,100,101,102,0,47,108,97,121,101,114,99,111,108,111,114,115,101,113,0,9,91,9,37,32,108,97,121,101,114,32,99,111,108,111,114,32,115,101,113,117,101,110,99,101,32,45,32,100,97,114,107,101,115,116,32,116,111,32,108,105,103,104,116,101,115,116,0,9,9,91,48,32,48,32,48,93,0,9,9,91,46,50,32,46,56,32,46,56,93,0,9,9,91,46,52,32,46,56,32,46,56,93,0,9,9,91,46,54,32,46,56,32,46,56,93,0,9,9,91,46,56,32,46,56,32,46,56,93,0,9,93,0,100,101,102,0,47,108,97,121,101,114,108,101,110,32,108,97,121,101,114,99,111,108,111,114,115,101,113,32,108,101,110,103,116,104,32,100,101,102,0,47,115,101,116,108,97,121,101,114,32,123,47,109,97,120,108,97,121,101,114,32,101,120,99,104,32,100,101,102,32,47,99,117,114,108,97,121,101,114,32,101,120,99,104,32,100,101,102,0,9,108,97,121,101,114,99,111,108,111,114,115,101,113,32,99,117,114,108,97,121,101,114,32,49,32,115,117,98,32,108,97,121,101,114,108,101,110,32,109,111,100,32,103,101,116,0,9,97,108,111,97,100,32,112,111,112,32,115,101,116,104,115,98,99,111,108,111,114,0,9,47,110,111,100,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,101,100,103,101,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,9,47,103,114,97,112,104,99,111,108,111,114,32,123,110,111,112,99,111,108,111,114,125,32,100,101,102,0,47,111,110,108,97,121,101,114,32,123,32,99,117,114,108,97,121,101,114,32,110,101,32,123,105,110,118,105,115,125,32,105,102,32,125,32,100,101,102,0,47,111,110,108,97,121,101,114,115,32,123,0,9,47,109,121,117,112,112,101,114,32,101,120,99,104,32,100,101,102,0,9,47,109,121,108,111,119,101,114,32,101,120,99,104,32,100,101,102,0,9,99,117,114,108,97,121,101,114,32,109,121,108,111,119,101,114,32,108,116,0,9,99,117,114,108,97,121,101,114,32,109,121,117,112,112,101,114,32,103,116,0,9,111,114,0,9,123,105,110,118,105,115,125,32,105,102,0,47,99,117,114,108,97,121,101,114,32,48,32,100,101,102,0,37,37,69,110,100,82,101,115,111,117,114,99,101,0,37,37,69,110,100,80,114,111,108,111,103,0,37,37,66,101,103,105,110,83,101,116,117,112,0,49,52,32,100,101,102,97,117,108,116,45,102,111,110,116,45,102,97,109,105,108,121,32,115,101,116,95,102,111,110,116,0,37,32,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,0,37,32,47,97,114,114,111,119,119,105,100,116,104,32,53,32,100,101,102,0,37,32,109,97,107,101,32,115,117,114,101,32,112,100,102,109,97,114,107,32,105,115,32,104,97,114,109,108,101,115,115,32,102,111,114,32,80,83,45,105,110,116,101,114,112,114,101,116,101,114,115,32,111,116,104,101,114,32,116,104,97,110,32,68,105,115,116,105,108,108,101,114,0,47,112,100,102,109,97,114,107,32,119,104,101,114,101,32,123,112,111,112,125,32,123,117,115,101,114,100,105,99,116,32,47,112,100,102,109,97,114,107,32,47,99,108,101,97,114,116,111,109,97,114,107,32,108,111,97,100,32,112,117,116,125,32,105,102,101,108,115,101,0,37,32,109,97,107,101,32,39,60,60,39,32,97,110,100,32,39,62,62,39,32,115,97,102,101,32,111,110,32,80,83,32,76,101,118,101,108,32,49,32,100,101,118,105,99,101,115,0,47,108,97,110,103,117,97,103,101,108,101,118,101,108,32,119,104,101,114,101,32,123,112,111,112,32,108,97,110,103,117,97,103,101,108,101,118,101,108,125,123,49,125,32,105,102,101,108,115,101,0,50,32,108,116,32,123,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,60,60,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,32,32,32,32,117,115,101,114,100,105,99,116,32,40,62,62,41,32,99,118,110,32,40,91,41,32,99,118,110,32,108,111,97,100,32,112,117,116,0,125,32,105,102,0,37,37,69,110,100,83,101,116,117,112,0,37,37,84,114,97,105,108,101,114,10,0,37,37,37,37,80,97,103,101,115,58,32,37,100,10,0,101,110,100,10,114,101,115,116,111,114,101,10,0,37,37,69,79,70,10,0,37,33,80,83,45,65,100,111,98,101,45,51,46,48,0,32,69,80,83,70,45,51,46,48,10,0,37,37,37,37,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,112,115,50,58,112,115,0,60,33,45,45,32,0,60,112,111,108,121,108,105,110,101,0,32,112,111,105,110,116,115,61,34,0,34,47,62,10,0,32,102,105,108,108,61,34,0,117,114,108,40,35,108,95,37,100,41,0,117,114,108,40,35,114,95,37,100,41,0,34,32,102,105,108,108,45,111,112,97,99,105,116,121,61,34,37,102,0,34,32,115,116,114,111,107,101,61,34,0,34,32,115,116,114,111,107,101,45,119,105,100,116,104,61,34,0,34,32,115,116,114,111,107,101,45,100,97,115,104,97,114,114,97,121,61,34,37,115,0,53,44,50,0,49,44,53,0,34,32,115,116,114,111,107,101,45,111,112,97,99,105,116,121,61,34,37,102,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,115,118,103,46,99,0,115,118,103,95,112,114,105,110,116,95,99,111,108,111,114,0,60,112,97,116,104,0,32,105,100,61,34,0,95,112,34,32,0,32,100,61,34,0,37,99,0,60,100,101,102,115,62,10,60,114,97,100,105,97,108,71,114,97,100,105,101,110,116,32,105,100,61,34,114,95,37,100,34,32,99,120,61,34,53,48,37,37,34,32,99,121,61,34,53,48,37,37,34,32,114,61,34,55,53,37,37,34,32,102,120,61,34,37,100,37,37,34,32,102,121,61,34,37,100,37,37,34,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,48,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,115,116,111,112,45,111,112,97,99,105,116,121,58,0,49,46,0,59,34,47,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,49,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,114,97,100,105,97,108,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,100,101,102,115,62,10,60,108,105,110,101,97,114,71,114,97,100,105,101,110,116,32,105,100,61,34,108,95,37,100,34,32,103,114,97,100,105,101,110,116,85,110,105,116,115,61,34,117,115,101,114,83,112,97,99,101,79,110,85,115,101,34,32,0,120,49,61,34,0,34,32,121,49,61,34,0,34,32,120,50,61,34,0,34,32,121,50,61,34,0,34,32,62,10,0,60,115,116,111,112,32,111,102,102,115,101,116,61,34,37,46,48,51,102,34,32,115,116,121,108,101,61,34,115,116,111,112,45,99,111,108,111,114,58,0,59,34,47,62,10,60,47,108,105,110,101,97,114,71,114,97,100,105,101,110,116,62,10,60,47,100,101,102,115,62,10,0,60,112,111,108,121,103,111,110,0,60,101,108,108,105,112,115,101,0,32,99,120,61,34,0,34,32,99,121,61,34,0,34,32,114,120,61,34,0,34,32,114,121,61,34,0,60,116,101,120,116,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,115,116,97,114,116,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,101,110,100,34,0,32,116,101,120,116,45,97,110,99,104,111,114,61,34,109,105,100,100,108,101,34,0,32,120,61,34,0,34,32,121,61,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,0,44,37,115,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,37,115,34,0,32,102,111,110,116,45,115,116,114,101,116,99,104,61,34,37,115,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,37,115,34,0,32,102,111,110,116,45,102,97,109,105,108,121,61,34,37,115,34,0,32,102,111,110,116,45,119,101,105,103,104,116,61,34,98,111,108,100,34,0,32,102,111,110,116,45,115,116,121,108,101,61,34,105,116,97,108,105,99,34,0,32,116,101,120,116,45,100,101,99,111,114,97,116,105,111,110,61,34,0,37,115,111,118,101,114,108,105,110,101,0,37,115,108,105,110,101,45,116,104,114,111,117,103,104,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,112,101,114,34,0,32,98,97,115,101,108,105,110,101,45,115,104,105,102,116,61,34,115,117,98,34,0,32,102,111,110,116,45,115,105,122,101,61,34,37,46,50,102,34,0,32,102,105,108,108,61,34,37,115,34,0,32,102,105,108,108,61,34,35,37,48,50,120,37,48,50,120,37,48,50,120,34,0,115,118,103,95,116,101,120,116,115,112,97,110,0,62,0,60,116,101,120,116,80,97,116,104,32,120,108,105,110,107,58,104,114,101,102,61,34,35,37,115,95,112,34,32,115,116,97,114,116,79,102,102,115,101,116,61,34,53,48,37,37,34,62,0,60,116,115,112,97,110,32,120,61,34,48,34,32,100,121,61,34,0,34,62,0,60,47,116,115,112,97,110,62,60,47,116,101,120,116,80,97,116,104,62,0,60,47,116,101,120,116,62,10,0,60,47,103,62,10,0,60,103,0,32,105,100,61,34,97,95,0,32,120,108,105,110,107,58,104,114,101,102,61,34,0,32,120,108,105,110,107,58,116,105,116,108,101,61,34,0,32,116,97,114,103,101,116,61,34,0,60,116,105,116,108,101,62,0,60,47,116,105,116,108,101,62,10,0,60,103,32,105,100,61,34,0,95,37,115,0,34,32,99,108,97,115,115,61,34,37,115,0,99,108,97,115,115,0,32,116,114,97,110,115,102,111,114,109,61,34,115,99,97,108,101,40,0,41,32,114,111,116,97,116,101,40,37,100,41,32,116,114,97,110,115,108,97,116,101,40,0,41,34,62,10,0,60,47,115,118,103,62,10,0,60,33,45,45,0,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,60,115,118,103,32,119,105,100,116,104,61,34,37,100,112,116,34,32,104,101,105,103,104,116,61,34,37,100,112,116,34,10,0,32,118,105,101,119,66,111,120,61,34,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,34,0,32,120,109,108,110,115,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,115,118,103,34,0,32,120,109,108,110,115,58,120,108,105,110,107,61,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,49,57,57,57,47,120,108,105,110,107,34,0,60,63,120,109,108,32,118,101,114,115,105,111,110,61,34,49,46,48,34,32,101,110,99,111,100,105,110,103,61,34,85,84,70,45,56,34,32,115,116,97,110,100,97,108,111,110,101,61,34,110,111,34,63,62,10,0,115,116,121,108,101,115,104,101,101,116,0,60,63,120,109,108,45,115,116,121,108,101,115,104,101,101,116,32,104,114,101,102,61,34,0,34,32,116,121,112,101,61,34,116,101,120,116,47,99,115,115,34,63,62,10,0,60,33,68,79,67,84,89,80,69,32,115,118,103,32,80,85,66,76,73,67,32,34,45,47,47,87,51,67,47,47,68,84,68,32,83,86,71,32,49,46,49,47,47,69,78,34,10,0,32,34,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,71,114,97,112,104,105,99,115,47,83,86,71,47,49,46,49,47,68,84,68,47,115,118,103,49,49,46,100,116,100,34,62,10,0,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,100,97,114,107,98,108,117,101,0,100,97,114,107,99,121,97,110,0,100,97,114,107,103,114,97,121,0,100,97,114,107,103,114,101,121,0,100,97,114,107,109,97,103,101,110,116,97,0,100,97,114,107,114,101,100,0,108,105,103,104,116,103,114,101,101,110,0,35,32,0,32,99,114,101,97,116,101,32,108,105,110,101,32,0,32,45,102,105,108,108,32,0,32,45,100,97,115,104,32,53,0,32,45,100,97,115,104,32,50,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,116,107,46,99,0,116,107,103,101,110,95,112,114,105,110,116,95,116,97,103,115,0,103,114,97,112,104,32,108,97,98,101,108,0,32,45,116,97,103,115,32,123,37,100,37,115,37,112,125,0,116,107,103,101,110,95,112,114,105,110,116,95,99,111,108,111,114,0,36,99,0,32,45,119,105,100,116,104,32,0,32,45,115,109,111,111,116,104,32,98,101,122,105,101,114,32,0,32,99,114,101,97,116,101,32,112,111,108,121,103,111,110,32,0,32,45,111,117,116,108,105,110,101,32,0,32,99,114,101,97,116,101,32,111,118,97,108,32,0,32,99,114,101,97,116,101,32,116,101,120,116,32,0,32,45,116,101,120,116,32,123,0,125,0,32,45,102,111,110,116,32,123,0,32,37,100,125,0,32,45,97,110,99,104,111,114,32,119,0,32,45,97,110,99,104,111,114,32,101,0,35,0,32,84,105,116,108,101,58,32,0,32,80,97,103,101,115,58,32,37,100,10,0,35,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,41,10,0,116,107,0,116,107,58,116,107,0,32,32,32,32,32,32,60,33,45,45,32,0,32,45,45,62,10,0,69,114,114,111,114,32,100,117,114,105,110,103,32,99,111,110,118,101,114,115,105,111,110,32,116,111,32,34,85,84,70,45,56,34,46,32,32,81,117,105,116,105,110,103,46,10,0,32,60,118,58,115,104,97,112,101,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,0,60,118,58,112,97,116,104,32,118,61,34,0,32,109,32,0,37,46,48,102,44,37,46,48,102,32,0,32,108,32,0,32,101,32,0,34,47,62,0,60,47,118,58,115,104,97,112,101,62,10,0,60,118,58,115,116,114,111,107,101,32,99,111,108,111,114,61,34,0,34,32,119,101,105,103,104,116,61,34,37,46,48,102,112,116,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,97,115,104,0,34,32,100,97,115,104,115,116,121,108,101,61,34,100,111,116,0,34,32,47,62,0,35,37,48,50,120,37,48,50,120,37,48,50,120,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,118,109,108,46,99,0,118,109,108,95,112,114,105,110,116,95,99,111,108,111,114,0,32,119,105,100,116,104,58,32,37,100,59,32,104,101,105,103,104,116,58,32,37,100,34,0,32,62,0,60,118,58,112,97,116,104,32,32,118,61,34,0,47,62,60,47,118,58,115,104,97,112,101,62,10,0,109,32,0,37,115,37,46,48,102,44,37,46,48,102,32,0,99,32,0,32,102,105,108,108,101,100,61,34,116,114,117,101,34,32,102,105,108,108,99,111,108,111,114,61,34,0,34,32,0,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,32,0,37,46,48,102,32,37,46,48,102,32,0,108,32,0,120,32,101,32,34,47,62,0,32,32,60,118,58,111,118,97,108,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,0,32,108,101,102,116,58,32,37,46,50,102,59,32,116,111,112,58,32,37,46,50,102,59,0,32,119,105,100,116,104,58,32,37,46,50,102,59,32,104,101,105,103,104,116,58,32,37,46,50,102,34,0,60,47,118,58,111,118,97,108,62,10,0,60,118,58,114,101,99,116,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,0,32,115,116,114,111,107,101,100,61,34,102,97,108,115,101,34,32,102,105,108,108,101,100,61,34,102,97,108,115,101,34,62,10,0,60,118,58,116,101,120,116,98,111,120,32,105,110,115,101,116,61,34,48,44,48,44,48,44,48,34,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,118,45,116,101,120,116,45,119,114,97,112,112,105,110,103,58,39,102,97,108,115,101,39,59,112,97,100,100,105,110,103,58,39,48,39,59,0,102,111,110,116,45,102,97,109,105,108,121,58,32,39,37,115,39,59,0,102,111,110,116,45,119,101,105,103,104,116,58,32,37,115,59,0,102,111,110,116,45,115,116,114,101,116,99,104,58,32,37,115,59,0,102,111,110,116,45,115,116,121,108,101,58,32,37,115,59,0,32,102,111,110,116,45,115,105,122,101,58,32,37,46,50,102,112,116,59,0,99,111,108,111,114,58,37,115,59,0,99,111,108,111,114,58,35,37,48,50,120,37,48,50,120,37,48,50,120,59,0,118,109,108,95,116,101,120,116,115,112,97,110,0,34,62,60,99,101,110,116,101,114,62,0,60,47,99,101,110,116,101,114,62,60,47,118,58,116,101,120,116,98,111,120,62,10,0,60,47,118,58,114,101,99,116,62,10,0,60,47,97,62,10,0,60,97,0,32,104,114,101,102,61,34,37,115,34,0,32,116,105,116,108,101,61,34,37,115,34,0,32,116,97,114,103,101,116,61,34,37,115,34,0,62,10,0,60,47,118,58,103,114,111,117,112,62,10,0,60,47,68,73,86,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,116,104,105,115,32,115,104,111,117,108,100,32,111,110,108,121,32,100,105,115,112,108,97,121,32,111,110,32,78,79,78,45,73,69,32,98,114,111,119,115,101,114,115,32,45,45,62,10,0,60,72,50,62,83,111,114,114,121,44,32,116,104,105,115,32,100,105,97,103,114,97,109,32,119,105,108,108,32,111,110,108,121,32,100,105,115,112,108,97,121,32,99,111,114,114,101,99,116,108,121,32,111,110,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,32,53,32,40,97,110,100,32,117,112,41,32,98,114,111,119,115,101,114,115,46,60,47,72,50,62,10,0,60,68,73,86,32,105,100,61,39,95,110,111,116,86,77,76,50,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,34,62,10,0,60,33,45,45,32,105,110,115,101,114,116,32,97,110,121,32,111,116,104,101,114,32,78,79,78,45,73,69,32,104,116,109,108,32,99,111,110,116,101,110,116,32,104,101,114,101,32,45,45,62,10,0,60,47,66,79,68,89,62,10,60,47,72,84,77,76,62,10,0,60,72,69,65,68,62,0,60,77,69,84,65,32,104,116,116,112,45,101,113,117,105,118,61,34,67,111,110,116,101,110,116,45,84,121,112,101,34,32,99,111,110,116,101,110,116,61,34,116,101,120,116,47,104,116,109,108,59,32,99,104,97,114,115,101,116,61,85,84,70,45,56,34,62,10,0,60,84,73,84,76,69,62,0,60,47,84,73,84,76,69,62,0,60,33,45,45,32,80,97,103,101,115,58,32,37,100,32,45,45,62,10,0,32,32,32,60,83,67,82,73,80,84,32,76,65,78,71,85,65,71,69,61,39,74,97,118,97,115,99,114,105,112,116,39,62,10,0,32,32,32,102,117,110,99,116,105,111,110,32,98,114,111,119,115,101,114,99,104,101,99,107,40,41,10,0,32,32,32,123,10,0,32,32,32,32,32,32,118,97,114,32,117,97,32,61,32,119,105,110,100,111,119,46,110,97,118,105,103,97,116,111,114,46,117,115,101,114,65,103,101,110,116,10,0,32,32,32,32,32,32,118,97,114,32,109,115,105,101,32,61,32,117,97,46,105,110,100,101,120,79,102,32,40,32,39,77,83,73,69,32,39,32,41,10,0,32,32,32,32,32,32,118,97,114,32,105,101,118,101,114,115,59,10,0,32,32,32,32,32,32,118,97,114,32,105,116,101,109,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,121,101,115,61,110,101,119,32,65,114,114,97,121,40,39,95,86,77,76,49,95,39,44,39,95,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,118,97,114,32,86,77,76,110,111,61,110,101,119,32,65,114,114,97,121,40,39,95,110,111,116,86,77,76,49,95,39,44,39,95,110,111,116,86,77,76,50,95,39,41,59,10,0,32,32,32,32,32,32,105,102,32,40,32,109,115,105,101,32,62,32,48,32,41,123,32,32,32,32,32,32,47,47,32,73,102,32,73,110,116,101,114,110,101,116,32,69,120,112,108,111,114,101,114,44,32,114,101,116,117,114,110,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,10,0,32,32,32,32,32,32,32,32,32,105,101,118,101,114,115,61,32,112,97,114,115,101,73,110,116,32,40,117,97,46,115,117,98,115,116,114,105,110,103,32,40,109,115,105,101,43,53,44,32,117,97,46,105,110,100,101,120,79,102,32,40,39,46,39,44,32,109,115,105,101,32,41,41,41,10,0,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,105,102,32,40,105,101,118,101,114,115,62,61,53,41,123,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,121,101,115,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,121,101,115,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,105,102,32,40,105,116,101,109,41,32,123,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,118,105,115,105,98,108,101,39,59,10,0,32,32,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,125,10,0,32,32,32,32,32,32,32,102,111,114,32,40,120,32,105,110,32,86,77,76,110,111,41,123,10,0,32,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,100,111,99,117,109,101,110,116,46,103,101,116,69,108,101,109,101,110,116,66,121,73,100,40,86,77,76,110,111,91,120,93,41,59,10,0,32,32,32,32,32,32,32,32,32,32,32,105,116,101,109,46,115,116,121,108,101,46,118,105,115,105,98,105,108,105,116,121,61,39,104,105,100,100,101,110,39,59,10,0,32,32,32,32,32,125,101,108,115,101,123,10,0,32,32,32,32,32,125,10,0,32,32,32,125,10,0,32,32,32,60,47,83,67,82,73,80,84,62,10,0,60,47,72,69,65,68,62,0,60,66,79,68,89,32,111,110,108,111,97,100,61,39,98,114,111,119,115,101,114,99,104,101,99,107,40,41,59,39,62,10,0,60,68,73,86,32,105,100,61,39,95,86,77,76,49,95,39,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,100,105,115,112,108,97,121,58,105,110,108,105,110,101,59,32,118,105,115,105,98,105,108,105,116,121,58,104,105,100,100,101,110,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,62,10,0,60,83,84,89,76,69,62,10,0,118,92,58,42,32,123,32,98,101,104,97,118,105,111,114,58,32,117,114,108,40,35,100,101,102,97,117,108,116,35,86,77,76,41,59,100,105,115,112,108,97,121,58,105,110,108,105,110,101,45,98,108,111,99,107,125,10,0,60,47,83,84,89,76,69,62,10,0,60,120,109,108,58,110,97,109,101,115,112,97,99,101,32,110,115,61,34,117,114,110,58,115,99,104,101,109,97,115,45,109,105,99,114,111,115,111,102,116,45,99,111,109,58,118,109,108,34,32,112,114,101,102,105,120,61,34,118,34,32,47,62,10,0,32,60,118,58,103,114,111,117,112,32,115,116,121,108,101,61,34,112,111,115,105,116,105,111,110,58,114,101,108,97,116,105,118,101,59,32,0,32,119,105,100,116,104,58,32,37,100,112,116,59,32,104,101,105,103,104,116,58,32,37,100,112,116,34,0,32,99,111,111,114,100,111,114,105,103,105,110,61,34,48,44,48,34,32,99,111,111,114,100,115,105,122,101,61,34,37,100,44,37,100,34,32,62,0,60,72,84,77,76,62,10,0,10,60,33,45,45,32,71,101,110,101,114,97,116,101,100,32,98,121,32,0,32,118,101,114,115,105,111,110,32,0,32,40,0,41,10,45,45,62,10,0,97,113,117,97,0,102,117,99,104,115,105,97,0,108,105,109,101,0,111,108,105,118,101,0,116,101,97,108,0,118,109,108,0,118,109,108,58,118,109,108,0,47,47,42,42,42,32,99,111,109,109,101,110,116,58,32,37,115,10,0,47,47,42,42,42,32,112,111,108,121,108,105,110,101,10,0,115,99,97,108,101,32,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,114,111,116,97,116,101,32,32,32,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,116,114,97,110,115,108,97,116,101,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,10,0,115,112,104,101,114,101,95,115,119,101,101,112,32,123,10,32,32,32,32,37,115,10,32,32,32,32,37,100,44,10,0,108,105,110,101,97,114,95,115,112,108,105,110,101,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,37,46,51,102,10,0,37,115,32,32,32,32,37,115,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,37,115,37,115,0,37,115,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,82,101,100,0,71,114,101,101,110,0,66,108,117,101,0,114,103,98,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,32,116,114,97,110,115,109,105,116,32,37,46,51,102,0,111,111,112,115,44,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,58,32,117,110,104,97,110,100,108,101,100,32,99,111,108,111,114,32,116,121,112,101,61,37,100,32,37,115,10,0,103,118,114,101,110,100,101,114,95,99,111,114,101,95,112,111,118,46,99,0,112,111,118,95,99,111,108,111,114,95,97,115,95,115,116,114,0,112,105,103,109,101,110,116,32,123,32,99,111,108,111,114,32,37,115,32,125,10,0,112,111,118,32,114,101,110,100,101,114,101,114,58,101,108,32,45,32,37,115,10,0,47,47,42,42,42,32,98,101,122,105,101,114,10,0,98,95,115,112,108,105,110,101,0,32,32,32,32,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,48,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,112,111,108,121,103,111,110,10,0,32,32,32,32,116,111,108,101,114,97,110,99,101,32,48,46,49,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,112,111,108,121,103,111,110,32,123,32,37,100,44,10,0,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,0,37,115,10,32,32,32,32,37,115,0,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,101,108,108,105,112,115,101,10,0,116,111,114,117,115,32,123,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,115,112,104,101,114,101,32,123,60,37,57,46,51,102,44,32,37,57,46,51,102,44,32,37,57,46,51,102,62,44,32,49,46,48,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,47,47,42,42,42,32,116,101,120,116,115,112,97,110,58,32,37,115,44,32,102,111,110,116,115,105,122,101,32,61,32,37,46,51,102,44,32,102,111,110,116,110,97,109,101,32,61,32,37,115,10,0,115,99,97,108,101,32,37,46,51,102,10,0,116,101,120,116,32,123,10,32,32,32,32,116,116,102,32,34,37,115,34,44,10,32,32,32,32,34,37,115,34,44,32,37,46,51,102,44,32,37,46,51,102,10,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,32,32,32,32,37,115,125,10,0,32,32,32,32,110,111,95,115,104,97,100,111,119,10,0,47,47,42,42,42,32,101,110,100,95,101,100,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,101,100,103,101,10,0,47,47,42,42,42,32,101,110,100,95,110,111,100,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,110,111,100,101,58,32,37,115,10,0,47,47,42,42,42,32,101,110,100,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,99,108,117,115,116,101,114,10,0,47,47,42,42,42,32,101,110,100,95,112,97,103,101,10,0,47,47,42,42,42,32,98,101,103,105,110,95,112,97,103,101,10,0,47,47,42,42,42,32,101,110,100,95,108,97,121,101,114,10,0,47,47,42,42,42,32,98,101,103,105,110,95,108,97,121,101,114,58,32,37,115,44,32,37,100,47,37,100,10,0,47,47,42,42,42,32,101,110,100,95,103,114,97,112,104,10,0,47,47,42,42,42,32,98,101,103,105,110,95,103,114,97,112,104,32,37,115,10,0,99,97,109,101,114,97,32,123,32,108,111,99,97,116,105,111,110,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,108,111,111,107,95,97,116,32,32,60,37,46,51,102,32,44,32,37,46,51,102,32,44,32,37,46,51,102,62,10,32,32,32,32,32,32,32,32,32,114,105,103,104,116,32,120,32,42,32,105,109,97,103,101,95,119,105,100,116,104,32,47,32,105,109,97,103,101,95,104,101,105,103,104,116,10,32,32,32,32,32,32,32,32,32,97,110,103,108,101,32,37,46,51,102,10,125,10,0,47,47,115,107,121,10,112,108,97,110,101,32,123,32,60,48,44,32,49,44,32,48,62,44,32,49,32,104,111,108,108,111,119,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,32,123,32,98,111,122,111,32,116,117,114,98,117,108,101,110,99,101,32,48,46,57,53,10,32,32,32,32,32,32,32,32,32,32,32,32,99,111,108,111,114,95,109,97,112,32,123,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,48,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,53,48,32,114,103,98,32,60,48,46,48,53,44,32,48,46,50,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,48,46,55,53,32,114,103,98,32,60,48,46,50,53,44,32,48,46,50,53,44,32,48,46,50,53,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,91,49,46,48,48,32,114,103,98,32,60,48,46,53,48,44,32,48,46,53,48,44,32,48,46,53,48,62,93,10,32,32,32,32,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,32,32,32,32,115,99,97,108,101,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,53,48,62,32,42,32,50,46,53,48,10,32,32,32,32,32,32,32,32,32,32,32,32,116,114,97,110,115,108,97,116,101,32,60,48,46,48,48,44,32,48,46,48,48,44,32,48,46,48,48,62,10,32,32,32,32,32,32,32,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,49,32,100,105,102,102,117,115,101,32,48,32,125,10,32,32,32,32,125,10,32,32,32,32,115,99,97,108,101,32,49,48,48,48,48,10,125,10,47,47,109,105,115,116,10,102,111,103,32,123,32,102,111,103,95,116,121,112,101,32,50,10,32,32,32,32,100,105,115,116,97,110,99,101,32,53,48,10,32,32,32,32,99,111,108,111,114,32,114,103,98,32,60,49,46,48,48,44,32,49,46,48,48,44,32,49,46,48,48,62,32,42,32,48,46,55,53,10,32,32,32,32,102,111,103,95,111,102,102,115,101,116,32,48,46,49,48,10,32,32,32,32,102,111,103,95,97,108,116,32,49,46,53,48,10,32,32,32,32,116,117,114,98,117,108,101,110,99,101,32,49,46,55,53,10,125,10,47,47,103,110,100,10,112,108,97,110,101,32,123,32,60,48,46,48,48,44,32,49,46,48,48,44,32,48,46,48,48,62,44,32,48,10,32,32,32,32,116,101,120,116,117,114,101,32,123,10,32,32,32,32,32,32,32,32,112,105,103,109,101,110,116,123,32,99,111,108,111,114,32,114,103,98,32,60,48,46,50,53,44,32,48,46,52,53,44,32,48,46,48,48,62,32,125,10,32,32,32,32,32,32,32,32,110,111,114,109,97,108,32,123,32,98,117,109,112,115,32,48,46,55,53,32,115,99,97,108,101,32,48,46,48,49,32,125,10,32,32,32,32,32,32,32,32,102,105,110,105,115,104,32,123,32,112,104,111,110,103,32,48,46,49,48,32,125,10,32,32,32,32,125,10,125,10,0,108,105,103,104,116,95,115,111,117,114,99,101,32,123,32,60,49,53,48,48,44,51,48,48,48,44,45,50,53,48,48,62,32,99,111,108,111,114,32,87,104,105,116,101,32,125,10,0,35,118,101,114,115,105,111,110,32,51,46,54,59,10,0,103,108,111,98,97,108,95,115,101,116,116,105,110,103,115,32,123,32,97,115,115,117,109,101,100,95,103,97,109,109,97,32,49,46,48,32,125,10,0,35,100,101,102,97,117,108,116,32,123,32,102,105,110,105,115,104,32,123,32,97,109,98,105,101,110,116,32,48,46,49,32,100,105,102,102,117,115,101,32,48,46,57,32,125,32,125,10,0,35,105,110,99,108,117,100,101,32,34,99,111,108,111,114,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,116,101,120,116,117,114,101,115,46,105,110,99,34,10,35,105,110,99,108,117,100,101,32,34,115,104,97,112,101,115,46,105,110,99,34,10,0,35,100,101,99,108,97,114,101,32,37,115,32,61,32,37,115,59,10,0,66,108,97,99,107,0,87,104,105,116,101,0,98,97,107,101,114,115,99,104,111,99,0,98,114,97,115,115,0,98,114,105,103,104,116,103,111,108,100,0,98,114,111,110,122,101,0,98,114,111,110,122,101,50,0,99,108,101,97,114,0,99,111,111,108,99,111,112,112,101,114,0,99,111,112,112,101,114,0,100,97,114,107,98,114,111,119,110,0,100,97,114,107,112,117,114,112,108,101,0,100,97,114,107,116,97,110,0,100,97,114,107,119,111,111,100,0,100,107,103,114,101,101,110,99,111,112,112,101,114,0,100,117,115,116,121,114,111,115,101,0,102,101,108,100,115,112,97,114,0,102,108,101,115,104,0,103,114,97,121,48,53,0,103,114,101,101,110,99,111,112,112,101,114,0,104,117,110,116,101,114,115,103,114,101,101,110,0,108,105,103,104,116,95,112,117,114,112,108,101,0,108,105,103,104,116,119,111,111,100,0,109,97,110,100,97,114,105,110,111,114,97,110,103,101,0,109,101,100,105,117,109,102,111,114,101,115,116,103,114,101,101,110,0,109,101,100,105,117,109,103,111,108,100,101,110,114,111,100,0,109,101,100,105,117,109,119,111,111,100,0,109,101,100,95,112,117,114,112,108,101,0,109,105,99,97,0,110,101,111,110,98,108,117,101,0,110,101,111,110,112,105,110,107,0,110,101,119,109,105,100,110,105,103,104,116,98,108,117,101,0,110,101,119,116,97,110,0,111,108,100,103,111,108,100,0,113,117,97,114,116,122,0,114,105,99,104,98,108,117,101,0,115,99,97,114,108,101,116,0,115,101,109,105,83,119,101,101,116,67,104,111,99,0,115,105,108,118,101,114,0,115,112,105,99,121,112,105,110,107,0,115,117,109,109,101,114,115,107,121,0,118,101,114,121,100,97,114,107,98,114,111,119,110,0,118,101,114,121,95,108,105,103,104,116,95,112,117,114,112,108,101,0,112,111,118,0,112,111,118,58,112,111,118,0,37,115,32,37,115,10,0,46,92,34,32,0,32,37,100,32,37,100,0,32,37,115,10,0,32,37,100,0,102,105,108,108,32,0,101,108,108,105,112,115,101,32,97,116,116,114,115,37,100,32,37,115,119,105,100,32,37,46,53,102,32,104,116,32,37,46,53,102,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,46,102,116,32,37,115,10,0,46,112,115,32,37,100,42,92,110,40,83,70,117,47,37,46,48,102,117,10,0,34,37,115,34,32,97,116,32,40,37,46,53,102,44,37,46,53,102,41,59,10,0,37,48,51,111,0,37,115,37,115,32,105,115,32,110,111,116,32,97,32,116,114,111,102,102,32,102,111,110,116,10,0,100,111,116,32,112,105,99,32,112,108,117,103,105,110,58,32,0,82,0,93,10,46,80,69,10,0,46,80,83,32,37,46,53,102,32,37,46,53,102,10,0,37,115,32,116,111,32,99,104,97,110,103,101,32,100,114,97,119,105,110,103,32,115,105,122,101,44,32,109,117,108,116,105,112,108,121,32,116,104,101,32,119,105,100,116,104,32,97,110,100,32,104,101,105,103,104,116,32,111,110,32,116,104,101,32,46,80,83,32,108,105,110,101,32,97,98,111,118,101,32,97,110,100,32,116,104,101,32,110,117,109,98,101,114,32,111,110,32,116,104,101,32,116,119,111,32,108,105,110,101,115,32,98,101,108,111,119,32,40,114,111,117,110,100,101,100,32,116,111,32,116,104,101,32,110,101,97,114,101,115,116,32,105,110,116,101,103,101,114,41,32,98,121,32,97,32,115,99,97,108,101,32,102,97,99,116,111,114,10,0,46,110,114,32,83,70,32,37,46,48,102,10,115,99,97,108,101,116,104,105,99,107,110,101,115,115,32,61,32,37,46,48,102,10,0,37,115,32,100,111,110,39,116,32,99,104,97,110,103,101,32,97,110,121,116,104,105,110,103,32,98,101,108,111,119,32,116,104,105,115,32,108,105,110,101,32,105,110,32,116,104,105,115,32,100,114,97,119,105,110,103,10,0,37,115,32,110,111,110,45,102,97,116,97,108,32,114,117,110,45,116,105,109,101,32,112,105,99,32,118,101,114,115,105,111,110,32,100,101,116,101,114,109,105,110,97,116,105,111,110,44,32,118,101,114,115,105,111,110,32,50,10,0,98,111,120,114,97,100,61,50,46,48,32,37,115,32,119,105,108,108,32,98,101,32,114,101,115,101,116,32,116,111,32,48,46,48,32,98,121,32,103,112,105,99,32,111,110,108,121,10,0,115,99,97,108,101,61,49,46,48,32,37,115,32],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+71704);allocate([114,101,113,117,105,114,101,100,32,102,111,114,32,99,111,109,112,97,114,105,115,111,110,115,10,0,37,115,32,98,111,120,114,97,100,32,105,115,32,110,111,119,32,48,46,48,32,105,110,32,103,112,105,99,44,32,101,108,115,101,32,105,116,32,114,101,109,97,105,110,115,32,50,46,48,10,0,37,115,32,100,97,115,104,119,105,100,32,105,115,32,48,46,49,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,44,32,48,46,48,53,32,105,110,32,68,87,66,32,50,32,97,110,100,32,105,110,32,103,112,105,99,10,0,37,115,32,102,105,108,108,118,97,108,32,105,115,32,48,46,51,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,98,108,97,99,107,41,44,32,48,46,53,32,105,110,32,103,112,105,99,32,40,102,105,108,108,32,48,32,109,101,97,110,115,32,119,104,105,116,101,41,44,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,102,105,108,108,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,103,112,105,99,32,99,97,110,32,117,115,101,32,102,105,108,108,32,111,114,32,102,105,108,108,101,100,44,32,49,48,116,104,32,69,100,105,116,105,111,110,32,117,115,101,115,32,102,105,108,108,32,111,110,108,121,10,0,37,115,32,68,87,66,32,50,32,100,111,101,115,110,39,116,32,117,115,101,32,102,105,108,108,32,97,110,100,32,100,111,101,115,110,39,116,32,100,101,102,105,110,101,32,102,105,108,108,118,97,108,10,0,37,115,32,114,101,115,101,116,32,119,111,114,107,115,32,105,110,32,103,112,105,99,32,97,110,100,32,49,48,116,104,32,101,100,105,116,105,111,110,44,32,98,117,116,32,105,115,110,39,116,32,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,10,0,37,115,32,68,87,66,32,50,32,99,111,109,112,97,116,105,98,105,108,105,116,121,32,100,101,102,105,110,105,116,105,111,110,115,10,0,105,102,32,98,111,120,114,97,100,32,62,32,49,46,48,32,38,38,32,100,97,115,104,119,105,100,32,60,32,48,46,48,55,53,32,116,104,101,110,32,88,10,9,102,105,108,108,118,97,108,32,61,32,49,59,10,9,100,101,102,105,110,101,32,102,105,108,108,32,89,32,89,59,10,9,100,101,102,105,110,101,32,115,111,108,105,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,114,101,115,101,116,32,89,32,115,99,97,108,101,61,49,46,48,32,89,59,10,88,10,0,114,101,115,101,116,32,37,115,32,115,101,116,32,116,111,32,107,110,111,119,110,32,115,116,97,116,101,10,0,37,115,32,71,78,85,32,112,105,99,32,118,115,46,32,49,48,116,104,32,69,100,105,116,105,111,110,32,100,92,40,101,39,116,101,110,116,101,10,0,105,102,32,102,105,108,108,118,97,108,32,62,32,48,46,52,32,116,104,101,110,32,88,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,49,32,45,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,116,104,105,99,107,110,101,115,115,32,50,32,89,59,10,0,9,37,115,32,105,102,32,121,111,117,32,117,115,101,32,103,112,105,99,32,97,110,100,32,105,116,32,98,97,114,102,115,32,111,110,32,101,110,99,111,117,110,116,101,114,105,110,103,32,34,115,111,108,105,100,34,44,10,0,9,37,115,9,105,110,115,116,97,108,108,32,97,32,109,111,114,101,32,114,101,99,101,110,116,32,118,101,114,115,105,111,110,32,111,102,32,103,112,105,99,32,111,114,32,115,119,105,116,99,104,32,116,111,32,68,87,66,32,111,114,32,49,48,116,104,32,69,100,105,116,105,111,110,32,112,105,99,59,10,0,9,37,115,9,115,111,114,114,121,44,32,116,104,101,32,103,114,111,102,102,32,102,111,108,107,115,32,99,104,97,110,103,101,100,32,103,112,105,99,59,32,115,101,110,100,32,97,110,121,32,99,111,109,112,108,97,105,110,116,32,116,111,32,116,104,101,109,59,10,0,88,32,101,108,115,101,32,90,10,9,100,101,102,105,110,101,32,115,101,116,102,105,108,108,118,97,108,32,89,32,102,105,108,108,118,97,108,32,61,32,89,59,10,9,100,101,102,105,110,101,32,98,111,108,100,32,89,32,89,59,10,9,100,101,102,105,110,101,32,102,105,108,108,101,100,32,89,32,102,105,108,108,32,89,59,10,90,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,104,97,115,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,44,32,97,114,114,111,119,104,101,97,100,32,61,32,55,32,109,97,107,101,115,32,102,105,108,108,101,100,32,97,114,114,111,119,104,101,97,100,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,97,114,114,111,119,104,101,97,100,32,105,115,32,117,110,100,101,102,105,110,101,100,32,105,110,32,68,87,66,32,50,44,32,105,110,105,116,105,97,108,108,121,32,49,32,105,110,32,103,112,105,99,44,32,50,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,97,114,114,111,119,104,101,97,100,32,61,32,55,32,37,115,32,110,111,116,32,117,115,101,100,32,98,121,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,98,111,120,114,97,100,32,118,97,114,105,97,98,108,101,32,116,111,32,100,114,97,119,32,98,111,120,101,115,32,119,105,116,104,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,98,111,120,114,97,100,32,61,32,48,32,37,115,32,110,111,32,114,111,117,110,100,101,100,32,99,111,114,110,101,114,115,32,105,110,32,103,114,97,112,104,118,105,122,10,0,37,115,32,71,78,85,32,112,105,99,32,115,117,112,112,111,114,116,115,32,97,32,108,105,110,101,116,104,105,99,107,32,118,97,114,105,97,98,108,101,32,116,111,32,115,101,116,32,108,105,110,101,32,116,104,105,99,107,110,101,115,115,59,32,68,87,66,32,97,110,100,32,49,48,116,104,32,69,100,46,32,100,111,32,110,111,116,10,0,108,105,110,101,116,104,105,99,107,32,61,32,48,59,32,111,108,100,108,105,110,101,116,104,105,99,107,32,61,32,108,105,110,101,116,104,105,99,107,10,0,37,115,32,46,80,83,32,119,47,111,32,97,114,103,115,32,99,97,117,115,101,115,32,71,78,85,32,112,105,99,32,116,111,32,115,99,97,108,101,32,100,114,97,119,105,110,103,32,116,111,32,102,105,116,32,56,46,53,120,49,49,32,112,97,112,101,114,59,32,68,87,66,32,100,111,101,115,32,110,111,116,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,104,97,118,101,32,110,111,32,109,101,97,110,105,110,103,32,105,110,32,68,87,66,32,50,46,48,44,32,115,101,116,32,112,97,103,101,32,98,111,117,110,100,97,114,105,101,115,32,105,110,32,103,112,105,99,32,97,110,100,32,105,110,32,49,48,116,104,32,69,100,105,116,105,111,110,10,0,37,115,32,109,97,120,112,115,104,116,32,97,110,100,32,109,97,120,112,115,119,105,100,32,97,114,101,32,112,114,101,100,101,102,105,110,101,100,32,116,111,32,49,49,46,48,32,97,110,100,32,56,46,53,32,105,110,32,103,112,105,99,10,0,109,97,120,112,115,104,116,32,61,32,37,102,10,109,97,120,112,115,119,105,100,32,61,32,37,102,10,0,68,111,116,58,32,91,10,0,100,101,102,105,110,101,32,97,116,116,114,115,48,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,117,110,102,105,108,108,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,114,111,117,110,100,101,100,32,37,37,32,37,37,59,32,100,101,102,105,110,101,32,100,105,97,103,111,110,97,108,115,32,37,37,32,37,37,10,0,37,115,37,115,32,117,110,115,117,112,112,111,114,116,101,100,10,0,37,115,32,114,101,115,116,111,114,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,112,115,32,92,110,40,46,83,10,46,102,116,32,92,110,40,68,70,10,0,37,115,32,67,114,101,97,116,111,114,58,32,37,115,32,118,101,114,115,105,111,110,32,37,115,32,40,37,115,41,10,0,37,115,32,84,105,116,108,101,58,32,37,115,10,0,37,115,32,115,97,118,101,32,112,111,105,110,116,32,115,105,122,101,32,97,110,100,32,102,111,110,116,10,46,110,114,32,46,83,32,92,110,40,46,115,10,46,110,114,32,68,70,32,92,110,40,46,102,10,0,112,105,99,0,112,105,99,58,112,105,99,0,112,110,103,58,115,118,103,0,103,105,102,58,115,118,103,0,106,112,101,103,58,115,118,103,0,106,112,101,58,115,118,103,0,106,112,103,58,115,118,103,0,112,110,103,58,102,105,103,0,103,105,102,58,102,105,103,0,106,112,101,103,58,102,105,103,0,106,112,101,58,102,105,103,0,106,112,103,58,102,105,103,0,112,110,103,58,118,114,109,108,0,103,105,102,58,118,114,109,108,0,106,112,101,103,58,118,114,109,108,0,106,112,101,58,118,114,109,108,0,106,112,103,58,118,114,109,108,0,101,112,115,58,112,115,0,112,115,58,112,115,0,40,108,105,98,41,58,112,115,0,112,110,103,58,109,97,112,0,103,105,102,58,109,97,112,0,106,112,101,103,58,109,97,112,0,106,112,101,58,109,97,112,0,106,112,103,58,109,97,112,0,112,115,58,109,97,112,0,101,112,115,58,109,97,112,0,115,118,103,58,109,97,112,0,112,110,103,58,100,111,116,0,103,105,102,58,100,111,116,0,106,112,101,103,58,100,111,116,0,106,112,101,58,100,111,116,0,106,112,103,58,100,111,116,0,112,115,58,100,111,116,0,101,112,115,58,100,111,116,0,115,118,103,58,100,111,116,0,112,110,103,58,120,100,111,116,0,103,105,102,58,120,100,111,116,0,106,112,101,103,58,120,100,111,116,0,106,112,101,58,120,100,111,116,0,106,112,103,58,120,100,111,116,0,112,115,58,120,100,111,116,0,101,112,115,58,120,100,111,116,0,115,118,103,58,120,100,111,116,0,115,118,103,58,115,118,103,0,112,110,103,58,118,109,108,0,103,105,102,58,118,109,108,0,106,112,101,103,58,118,109,108,0,106,112,101,58,118,109,108,0,106,112,103,58,118,109,108,0,103,105,102,58,116,107,0,105,109,97,103,101,32,99,114,101,97,116,101,32,112,104,111,116,111,32,34,112,104,111,116,111,95,37,115,34,32,45,102,105,108,101,32,34,37,115,34,10,0,36,99,32,99,114,101,97,116,101,32,105,109,97,103,101,32,37,46,50,102,32,37,46,50,102,32,45,105,109,97,103,101,32,34,112,104,111,116,111,95,37,115,34,10,0,60,118,58,105,109,97,103,101,32,115,114,99,61,34,37,115,34,32,115,116,121,108,101,61,34,32,112,111,115,105,116,105,111,110,58,97,98,115,111,108,117,116,101,59,32,119,105,100,116,104,58,37,46,50,102,59,32,104,101,105,103,104,116,58,37,46,50,102,59,32,108,101,102,116,58,37,46,50,102,32,59,32,116,111,112,58,37,46,50,102,34,0,32,47,62,10,0,103,118,108,111,97,100,105,109,97,103,101,95,99,111,114,101,46,99,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,108,105,98,0,91,32,0,37,103,32,37,103,32,0,93,32,32,37,100,32,116,114,117,101,32,37,115,10,0,93,32,32,37,100,32,102,97,108,115,101,32,37,115,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,112,115,0,103,115,97,118,101,32,37,103,32,37,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,10,0,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,103,114,101,115,116,111,114,101,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,118,114,109,108,0,83,104,97,112,101,32,123,10,0,32,32,97,112,112,101,97,114,97,110,99,101,32,65,112,112,101,97,114,97,110,99,101,32,123,10,0,32,32,32,32,109,97,116,101,114,105,97,108,32,77,97,116,101,114,105,97,108,32,123,10,0,32,32,32,32,32,32,97,109,98,105,101,110,116,73,110,116,101,110,115,105,116,121,32,48,46,51,51,10,0,32,32,32,32,32,32,32,32,100,105,102,102,117,115,101,67,111,108,111,114,32,49,32,49,32,49,10,0,32,32,32,32,125,10,0,32,32,32,32,116,101,120,116,117,114,101,32,73,109,97,103,101,84,101,120,116,117,114,101,32,123,32,117,114,108,32,34,37,115,34,32,125,10,0,32,32,125,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,102,105,103,0,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,46,49,102,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,32,37,100,32,37,115,10,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,10,0,99,111,114,101,95,108,111,97,100,105,109,97,103,101,95,115,118,103,0,60,105,109,97,103,101,32,120,108,105,110,107,58,104,114,101,102,61,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,100,89,77,105,100,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,32,116,114,97,110,115,102,111,114,109,61,34,114,111,116,97,116,101,40,37,100,32,37,103,32,37,103,41,34,0,34,32,119,105,100,116,104,61,34,37,103,112,120,34,32,104,101,105,103,104,116,61,34,37,103,112,120,34,32,112,114,101,115,101,114,118,101,65,115,112,101,99,116,82,97,116,105,111,61,34,120,77,105,110,89,77,105,110,32,109,101,101,116,34,32,120,61,34,37,103,34,32,121,61,34,37,103,34,0,47,62,10,0,100,111,116,95,108,97,121,111,117,116,0,112,104,97,115,101,0,100,111,116,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,100,105,115,99,111,110,110,101,99,116,101,100,32,103,114,97,112,104,115,32,111,114,32,103,114,97,112,104,115,32,119,105,116,104,32,99,108,117,115,116,101,114,115,10,0,99,111,109,112,111,117,110,100,0,118,32,61,61,32,110,0,100,111,116,105,110,105,116,46,99,0,114,101,109,111,118,101,95,102,114,111,109,95,114,97,110,107,0,111,114,100,101,114,0,101,100,103,101,32,108,97,98,101,108,115,32,119,105,116,104,32,115,112,108,105,110,101,115,61,99,117,114,118,101,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,100,111,116,32,45,32,117,115,101,32,120,108,97,98,101,108,115,10,0,69,68,95,108,97,98,101,108,40,102,101,41,0,100,111,116,115,112,108,105,110,101,115,46,99,0,95,100,111,116,95,115,112,108,105,110,101,115,0,102,108,97,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,97,100,106,97,99,101,110,116,32,110,111,100,101,115,32,111,110,101,32,111,102,32,119,104,105,99,104,32,104,97,115,32,97,32,114,101,99,111,114,100,32,115,104,97,112,101,32,45,32,114,101,112,108,97,99,101,32,114,101,99,111,114,100,115,32,119,105,116,104,32,72,84,77,76,45,108,105,107,101,32,108,97,98,101,108,115,10,0,32,32,69,100,103,101,32,37,115,32,37,115,32,37,115,10,0,120,120,120,0,49,48,48,48,48,0,123,37,115,125,0,97,117,120,103,0,108,97,98,101,108,95,102,108,111,97,116,0,102,105,120,101,100,0,40,108,32,61,32,69,68,95,108,97,98,101,108,40,102,101,41,41,0,115,101,116,69,100,103,101,76,97,98,101,108,80,111,115,0,101,32,33,61,32,78,85,76,76,0,102,97,115,116,103,114,46,99,0,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,110,32,33,61,32,78,68,95,110,101,120,116,40,110,41,0,102,97,115,116,95,110,111,100,101,0,117,32,33,61,32,118,0,102,97,115,116,95,110,111,100,101,97,112,112,0,78,68,95,110,101,120,116,40,118,41,32,61,61,32,78,85,76,76,0,102,105,110,100,95,102,97,115,116,95,110,111,100,101,40,103,44,32,110,41,0,100,101,108,101,116,101,95,102,97,115,116,95,110,111,100,101,0,100,101,108,101,116,101,95,102,108,97,116,95,101,100,103,101,0,109,101,114,103,101,95,111,110,101,119,97,121,32,103,108,105,116,99,104,10,0,109,101,114,103,101,95,111,110,101,119,97,121,0,115,97,102,101,95,100,101,108,101,116,101,95,102,97,115,116,95,101,100,103,101,0,108,103,0,99,111,109,112,0,99,110,116,32,61,61,32,115,122,0,109,105,110,99,114,111,115,115,46,99,0,102,105,120,76,97,98,101,108,79,114,100,101,114,0,114,101,109,105,110,99,114,111,115,115,0,109,105,110,99,114,111,115,115,32,37,115,58,32,37,100,32,99,114,111,115,115,105,110,103,115,44,32,37,46,50,102,32,115,101,99,115,46,10,0,118,0,110,101,105,103,104,98,111,114,0,40,114,118,32,61,61,32,48,41,32,124,124,32,40,78,68,95,111,114,100,101,114,40,114,118,41,45,78,68,95,111,114,100,101,114,40,118,41,41,42,100,105,114,32,62,32,48,0,99,111,110,115,116,114,97,105,110,105,110,103,95,102,108,97,116,95,101,100,103,101,40,103,44,118,44,101,41,32,61,61,32,70,65,76,83,69,0,102,108,97,116,95,114,101,111,114,100,101,114,0,78,68,95,114,97,110,107,40,118,41,32,61,61,32,114,0,112,111,115,116,111,114,100,101,114,0,102,108,97,116,105,110,100,101,120,40,97,103,104,101,97,100,40,101,41,41,32,60,32,77,45,62,110,114,111,119,115,0,102,108,97,116,95,115,101,97,114,99,104,0,102,108,97,116,105,110,100,101,120,40,97,103,116,97,105,108,40,101,41,41,32,60,32,77,45,62,110,99,111,108,115,0,111,117,116,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,10,0,111,114,100,101,114,105,110,103,32,39,37,115,39,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,32,102,111,114,32,110,111,100,101,32,39,37,115,39,46,10,0,109,101,114,103,101,50,58,32,103,114,97,112,104,32,37,115,44,32,114,97,110,107,32,37,100,32,104,97,115,32,111,110,108,121,32,37,100,32,60,32,37,100,32,110,111,100,101,115,10,0,109,105,110,99,114,111,115,115,58,32,112,97,115,115,32,37,100,32,105,116,101,114,32,37,100,32,116,114,121,105,110,103,32,37,100,32,99,117,114,95,99,114,111,115,115,32,37,100,32,98,101,115,116,95,99,114,111,115,115,32,37,100,10,0,78,68,95,111,114,100,101,114,40,118,41,32,60,32,78,68,95,111,114,100,101,114,40,119,41,0,98,97,108,97,110,99,101,0,116,114,97,110,115,112,111,115,101,95,115,116,101,112,0,115,117,114,112,114,105,115,101,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,37,115,32,37,115,32,114,97,110,107,32,37,100,32,105,32,61,32,37,100,32,97,110,32,61,32,48,10,0,71,68,95,114,97,110,107,40,103,41,91,114,93,46,110,32,60,61,32,71,68,95,114,97,110,107,40,103,41,91,114,93,46,97,110,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,114,97,110,107,32,37,100,32,110,111,116,32,105,110,32,114,97,110,107,32,114,97,110,103,101,32,91,37,100,44,37,100,93,10,0,105,110,115,116,97,108,108,95,105,110,95,114,97,110,107,44,32,108,105,110,101,32,37,100,58,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,118,32,43,32,78,68,95,111,114,100,101,114,40,37,115,41,32,91,37,100,93,32,62,32,71,68,95,114,97,110,107,40,103,41,91,37,100,93,46,97,118,32,43,32,71,68,95,114,97,110,107,40,82,111,111,116,41,91,37,100,93,46,97,110,32,91,37,100,93,10,0,95,110,101,119,95,114,97,110,107,0,109,99,108,105,109,105,116,0,114,97,110,107,40,103,44,32,50,44,32,110,115,105,116,101,114,50,40,103,41,41,32,61,61,32,48,0,112,111,115,105,116,105,111,110,46,99,0,100,111,116,95,112,111,115,105,116,105,111,110,0,65,82,61,37,48,46,52,108,102,9,32,65,114,101,97,61,32,37,48,46,52,108,102,9,0,68,117,109,109,121,61,37,100,10,0,71,111,105,110,103,32,116,111,32,97,112,112,108,121,32,97,110,111,116,104,101,114,32,101,120,112,97,110,115,105,111,110,46,10,0,110,101,120,116,35,105,116,101,114,61,37,100,10,0,104,112,0,99,111,110,110,101,99,116,71,114,97,112,104,0,69,100,103,101,32,108,101,110,103,116,104,32,37,102,32,108,97,114,103,101,114,32,116,104,97,110,32,109,97,120,105,109,117,109,32,37,117,32,97,108,108,111,119,101,100,46,10,67,104,101,99,107,32,102,111,114,32,111,118,101,114,119,105,100,101,32,110,111,100,101,40,115,41,46,10,0,110,115,108,105,109,105,116,0,99,111,110,116,97,105,110,95,110,111,100,101,115,32,99,108,117,115,116,32,37,115,32,114,97,110,107,32,37,100,32,109,105,115,115,105,110,103,32,110,111,100,101,10,0,110,115,108,105,109,105,116,49,0,110,101,119,114,97,110,107,0,77,97,120,114,97,110,107,32,61,32,37,100,44,32,109,105,110,114,97,110,107,32,61,32,37,100,10,0,108,101,97,100,101,114,32,33,61,32,78,85,76,76,0,114,97,110,107,46,99,0,99,108,117,115,116,101,114,95,108,101,97,100,101,114,0,40,78,68,95,85,70,95,115,105,122,101,40,110,41,32,60,61,32,49,41,32,124,124,32,40,110,32,61,61,32,108,101,97,100,101,114,41,0,97,103,104,101,97,100,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,104,101,97,100,40,101,41,41,0,109,105,110,109,97,120,95,101,100,103,101,115,0,97,103,116,97,105,108,40,101,41,32,61,61,32,85,70,95,102,105,110,100,40,97,103,116,97,105,108,40,101,41,41,0,114,97,110,107,0,115,97,109,101,0,109,105,110,0,115,111,117,114,99,101,0,109,97,120,0,115,105,110,107,0,108,101,118,101,108,32,97,115,115,105,103,110,109,101,110,116,32,99,111,110,115,116,114,97,105,110,116,115,0,108,101,118,101,108,32,103,114,97,112,104,32,114,101,99,0,127,114,111,111,116,0,127,116,111,112,0,127,98,111,116,0,99,111,109,112,97,99,116,0,95,119,101,97,107,95,37,100,0,114,97,110,107,105,110,103,58,32,102,97,105,108,117,114,101,32,116,111,32,99,114,101,97,116,101,32,115,116,114,111,110,103,32,99,111,110,115,116,114,97,105,110,116,32,101,100,103,101,32,98,101,116,119,101,101,110,32,110,111,100,101,115,32,37,115,32,97,110,100,32,37,115,10,0,37,115,32,104,97,115,32,117,110,114,101,99,111,103,110,105,122,101,100,32,114,97,110,107,61,37,115,0,108,101,118,101,108,32,101,100,103,101,32,114,101,99,0,108,101,118,101,108,32,110,111,100,101,32,114,101,99,0,115,97,109,101,104,101,97,100,0,115,97,109,101,116,97,105,108,0,116,111,111,32,109,97,110,121,32,40,62,32,37,100,41,32,115,97,109,101,123,104,101,97,100,44,116,97,105,108,125,32,103,114,111,117,112,115,32,102,111,114,32,110,111,100,101,32,37,115,10,0,99,111,109,98,105,65,82,32,61,32,37,108,102,10,0,37,108,102,44,37,100,0,116,104,101,32,97,115,112,101,99,116,32,97,116,116,114,105,98,117,116,101,32,104,97,115,32,98,101,101,110,32,100,105,115,97,98,108,101,100,32,100,117,101,32,116,111,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,102,108,97,119,115,32,45,32,97,116,116,114,105,98,117,116,101,32,105,103,110,111,114,101,100,46,10,0,69,68,95,116,111,95,118,105,114,116,40,101,41,32,61,61,32,78,85,76,76,0,99,108,97,115,115,50,46,99,0,109,101,114,103,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,61,61,32,78,85,76,76,0,109,97,107,101,95,99,104,97,105,110,0,69,68,95,116,111,95,118,105,114,116,40,111,114,105,103,41,32,33,61,32,78,85,76,76,0,78,68,95,114,97,110,107,40,102,114,111,109,41,32,60,32,78,68,95,114,97,110,107,40,116,111,41,0,99,108,117,115,116,101,114,46,99,0,109,97,112,95,112,97,116,104,0,37,115,32,119,97,115,32,97,108,114,101,97,100,121,32,105,110,32,97,32,114,97,110,107,115,101,116,44,32,100,101,108,101,116,101,100,32,102,114,111,109,32,99,108,117,115,116,101,114,32,37,115,10,0,108,104,101,97,100,0,108,116,97,105,108,0,37,115,32,45,62,32,37,115,58,32,115,112,108,105,110,101,32,115,105,122,101,32,62,32,49,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,110,111,116,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,105,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,98,101,122,45,62,115,102,108,97,103,0,99,111,109,112,111,117,110,100,46,99,0,109,97,107,101,67,111,109,112,111,117,110,100,69,100,103,101,0,98,101,122,45,62,101,102,108,97,103,0,37,115,32,45,62,32,37,115,58,32,116,97,105,108,32,110,111,116,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,37,115,32,45,62,32,37,115,58,32,104,101,97,100,32,105,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,115,101,103,109,101,110,116,32,91,37,115,44,37,115,93,32,100,111,101,115,32,110,111,116,32,105,110,116,101,114,115,101,99,116,32,98,111,120,32,108,108,61,37,115,44,117,114,61,37,115,10,0,98,111,120,73,110,116,101,114,115,101,99,116,102,0,40,37,46,53,103,44,37,46,53,103,41,0,99,108,117,115,116,101,114,32,110,97,109,101,100,32,37,115,32,110,111,116,32,102,111,117,110,100,10,0,99,111,110,99,101,110,116,114,97,116,101,61,116,114,117,101,32,109,97,121,32,110,111,116,32,119,111,114,107,32,99,111,114,114,101,99,116,108,121,46,10,0,114,101,98,117,105,108,116,100,95,118,108,105,115,116,115,58,32,114,97,110,107,32,108,101,97,100,32,37,115,32,110,111,116,32,105,110,32,111,114,100,101,114,32,37,100,32,111,102,32,114,97,110,107,32,37,100,10,0,100,101,103,101,110,101,114,97,116,101,32,99,111,110,99,101,110,116,114,97,116,101,100,32,114,97,110,107,32,37,115,44,37,100,10,0,78,68,95,105,110,40,114,105,103,104,116,41,46,115,105,122,101,32,43,32,78,68,95,111,117,116,40,114,105,103,104,116,41,46,115,105,122,101,32,61,61,32,48,0,99,111,110,99,46,99,0,109,101,114,103,101,118,105,114,116,117,97,108,0,100,111,116,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,78,68,95,111,117,116,40,118,41,46,115,105,122,101,32,61,61,32,50,0,102,108,97,116,46,99,0,115,101,116,98,111,117,110,100,115,0,71,68,95,109,105,110,114,97,110,107,40,103,41,32,61,61,32,48,0,97,98,111,109,105,110,97,116,105,111,110,0,110,101,97,116,111,95,108,97,121,111,117,116,0,110,101,97,116,111,0,102,100,112,0,115,102,100,112,0,116,119,111,112,105,0,99,105,114,99,111,0,112,97,116,99,104,119,111,114,107,0,111,115,97,103,101,0,110,111,112,0,110,111,112,49,0,110,111,112,50,0,37,108,102,44,37,108,102,44,37,108,102,37,99,0,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,100,111,117,98,108,101,115,10,0,110,111,116,114,97,110,115,108,97,116,101,0,110,111,100,101,32,37,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,115,32,110,111,32,112,111,115,105,116,105,111,110,10,0,115,44,37,108,102,44,37,108,102,37,110,0,32,101,44,37,108,102,44,37,108,102,37,110,0,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,32,100,111,101,115,110,39,116,32,104,97,118,101,32,51,110,43,49,32,112,111,105,110,116,115,10,0,37,108,102,44,37,108,102,37,110,0,115,121,110,116,97,120,32,101,114,114,111,114,32,105,110,32,112,111,115,32,97,116,116,114,105,98,117,116,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,115,116,97,114,116,0,115,101,108,102,0,114,97,110,100,111,109,0,110,111,100,101,32,112,111,115,105,116,105,111,110,115,32,97,114,101,32,105,103,110,111,114,101,100,32,117,110,108,101,115,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,97,115,32,114,101,113,117,105,114,101,100,32,98,121,32,116,104,101,32,45,110,32,102,108,97,103,10,0,95,110,101,97,116,111,95,99,99,0,103,114,97,112,104,32,37,115,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,65,108,116,101,114,110,97,116,105,118,101,108,121,44,32,99,111,110,115,105,100,101,114,32,114,117,110,110,105,110,103,32,110,101,97,116,111,32,117,115,105,110,103,32,45,71,112,97,99,107,61,116,114,117,101,32,111,114,32,100,101,99,111,109,112,111,115,105,110,103,10,0,116,104,101,32,103,114,97,112,104,32,105,110,116,111,32,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,115,46,10,0,83,111,108,118,105,110,103,32,109,111,100,101,108,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,78,68,95,105,100,40,110,112,41,32,61,61,32,105,0,110,101,97,116,111,105,110,105,116,46,99,0,109,97,107,101,71,114,97,112,104,68,97,116,97,0,102,32,60,32,103,114,97,112,104,91,106,93,46,110,101,100,103,101,115,0,100,102,115,67,121,99,108,101,0,109,111,100,101,108,32,37,100,32,115,109,97,114,116,95,105,110,105,116,32,37,100,32,115,116,114,101,115,115,119,116,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,100,32,116,111,108,32,37,102,10,0,99,111,110,118,101,114,116,32,103,114,97,112,104,58,32,0,109,97,106,111,114,105,122,97,116,105,111,110,10,0,37,100,32,110,111,100,101,115,32,37,46,50,102,32,115,101,99,10,0,108,101,118,101,108,115,103,97,112,0,108,97,121,111,117,116,32,97,98,111,114,116,101,100,10,0,115,116,114,101,115,115,119,116,0,37,115,32,97,116,116,114,105,98,117,116,101,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,49,32,111,114,32,50,32,45,32,105,103,110,111,114,105,110,103,10,0,109,111,100,101,108,0,99,105,114,99,117,105,116,0,115,117,98,115,101,116,0,115,104,111,114,116,112,97,116,104,0,109,100,115,0,101,100,103,101,115,32,105,110,32,103,114,97,112,104,32,37,115,32,104,97,118,101,32,110,111,32,108,101,110,32,97,116,116,114,105,98,117,116,101,46,32,72,101,110,99,101,44,32,116,104,101,32,109,100,115,32,109,111,100,101,108,10,0,105,115,32,105,110,97,112,112,114,111,112,114,105,97,116,101,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,108,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,111,100,101,0,75,75,0,109,97,106,111,114,0,104,105,101,114,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,97,116,116,114,105,98,117,116,101,32,34,109,111,100,101,34,32,105,110,32,103,114,97,112,104,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,109,97,107,101,83,112,108,105,110,101,58,32,102,97,105,108,101,100,32,116,111,32,109,97,107,101,32,115,112,108,105,110,101,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,115,112,108,105,110,101,32,37,115,32,37,115,10,0,98,32,61,61,32,110,0,110,101,97,116,111,115,112,108,105,110,101,115,46,99,0,109,97,107,101,95,98,97,114,114,105,101,114,115,0,116,104,101,32,98,111,117,110,100,105,110,103,32,98,111,120,101,115,32,111,102,32,115,111,109,101,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,115,111,109,101,32,110,111,100,101,115,32,119,105,116,104,32,109,97,114,103,105,110,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,111,114,116,104,111,103,111,110,97,108,32,108,105,110,101,115,0,108,105,110,101,32,115,101,103,109,101,110,116,115,0,112,111,108,121,108,105,110,101,115,0,67,114,101,97,116,105,110,103,32,101,100,103,101,115,32,117,115,105,110,103,32,37,115,10,0,112,111,108,121,108,105,110,101,32,37,115,32,37,115,10,0,109,100,115,77,111,100,101,108,58,32,100,101,108,116,97,32,61,32,37,102,10,0,83,101,116,116,105,110,103,32,117,112,32,115,116,114,101,115,115,32,102,117,110,99,116,105,111,110,0,83,111,108,118,105,110,103,32,109,111,100,101,108,58,32,0,10,102,105,110,97,108,32,101,32,61,32,37,102,32,37,100,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,83,99,97,110,110,105,110,103,32,103,114,97,112,104,32,37,115,44,32,37,100,32,110,111,100,101,115,10,0,68,97,109,112,105,110,103,0,100,101,102,97,117,108,116,100,105,115,116,0,32,105,110,32,37,115,32,45,32,115,101,116,116,105,110,103,32,116,111,32,37,46,48,50,102,10,0,98,97,100,32,101,100,103,101,32,108,101,110,32,34,37,115,34,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,10,0,115,116,97,114,116,61,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,109,111,100,101,61,115,101,108,102,32,45,32,105,103,110,111,114,101,100,10,0,83,101,116,116,105,110,103,32,117,112,32,115,112,114,105,110,103,32,109,111,100,101,108,58,32,0,37,46,50,102,32,115,101,99,10,0,10,102,105,110,97,108,32,101,32,61,32,37,102,0,33,0,32,37,100,37,115,32,105,116,101,114,97,116,105,111,110,115,32,37,46,50,102,32,115,101,99,10,0,77,97,120,46,32,105,116,101,114,97,116,105,111,110,115,32,40,37,100,41,32,114,101,97,99,104,101,100,32,111,110,32,103,114,97,112,104,32,37,115,10,0,37,115,32,37,46,51,102,10,0,37,46,51,102,32,0,78,68,95,104,101,97,112,105,110,100,101,120,40,118,41,32,60,32,48,0,115,116,117,102,102,46,99,0,110,101,97,116,111,95,101,110,113,117,101,117,101,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,58,32,0,115,112,101,99,105,102,105,101,100,32,114,111,111,116,32,110,111,100,101,32,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,46,0,85,115,105,110,103,32,100,101,102,97,117,108,116,32,99,97,108,99,117,108,97,116,105,111,110,32,102,111,114,32,114,111,111,116,32,110,111,100,101,10,0,114,101,112,111,115,105,116,105,111,110,32,37,115,10,0,37,115,32,58,32,37,102,32,37,102,10,0,37,115,32,58,32,37,102,32,37,102,32,37,102,32,37,102,10,0,32,32,0,71,114,97,112,104,32,37,115,32,104,97,115,32,97,114,114,97,121,32,112,97,99,107,105,110,103,32,119,105,116,104,32,117,115,101,114,32,118,97,108,117,101,115,32,98,117,116,32,110,111,32,34,115,111,114,116,118,34,32,97,116,116,114,105,98,117,116,101,115,32,97,114,101,32,100,101,102,105,110,101,100,46,0,112,105,110,0,87,97,114,110,105,110,103,58,32,110,111,100,101,32,37,115,44,32,112,111,115,105,116,105,111,110,32,37,115,44,32,101,120,112,101,99,116,101,100,32,116,119,111,32,102,108,111,97,116,115,10,0,99,111,111,114,100,115,0,108,97,121,111,117,116,32,37,115,10,0,101,110,100,32,37,115,10,0,105,100,120,32,61,61,32,115,122,0,108,97,121,111,117,116,46,99,0,101,120,112,97,110,100,67,108,117,115,116,101,114,0,105,32,61,61,32,100,101,103,0,103,101,116,69,100,103,101,76,105,115,116,0,95,100,103,95,37,100,0,100,101,114,105,118,101,32,103,114,97,112,104,32,37,115,32,111,102,32,37,115,10,0,110,111,100,101,32,34,37,115,34,32,105,115,32,99,111,110,116,97,105,110,101,100,32,105,110,32,116,119,111,32,110,111,110,45,99,111,109,112,97,114,97,98,108,101,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,95,112,111,114,116,95,37,115,95,37,115,95,37,115,95,37,108,100,0,95,112,111,114,116,95,37,115,95,40,37,100,41,95,40,37,100,41,95,37,108,100,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,37,99,0,103,114,97,112,104,32,37,115,44,32,99,111,111,114,100,32,37,115,44,32,101,120,112,101,99,116,101,100,32,102,111,117,114,32,100,111,117,98,108,101,115,10,0,115,112,108,105,110,101,115,32,97,110,100,32,99,108,117,115,116,101,114,32,101,100,103,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,45,32,117,115,105,110,103,32,108,105,110,101,32,115,101,103,109,101,110,116,115,10,0,109,97,120,105,116,101,114,0,84,48,0,102,100,112,32,100,111,101,115,32,110,111,116,32,115,117,112,112,111,114,116,32,115,116,97,114,116,61,115,101,108,102,32,45,32,105,103,110,111,114,105,110,103,10,0,120,76,97,121,111,117,116,32,0,57,58,112,114,105,115,109,0,116,114,105,101,115,32,61,32,37,100,44,32,109,111,100,101,32,61,32,37,115,10,0,100,101,114,105,118,101,100,0,105,110,102,111,0,115,102,100,112,32,111,110,108,121,32,115,117,112,112,111,114,116,115,32,115,116,97,114,116,61,114,97,110,100,111,109,10,0,75,0,114,101,112,117,108,115,105,118,101,102,111,114,99,101,0,108,101,118,101,108,115,0,115,109,111,111,116,104,105,110,103,0,113,117,97,100,116,114,101,101,0,98,101,97,117,116,105,102,121,0,111,118,101,114,108,97,112,95,115,104,114,105,110,107,0,114,111,116,97,116,105,111,110,0,108,97,98,101,108,95,115,99,104,101,109,101,0,108,97,98,101,108,95,115,99,104,101,109,101,32,61,32,37,100,32,62,32,52,32,58,32,105,103,110,111,114,105,110,103,10,0,102,97,115,116,0,97,118,103,95,100,105,115,116,0,103,114,97,112,104,95,100,105,115,116,0,112,111,119,101,114,95,100,105,115,116,0,115,112,114,105,110,103,0,100,105,109,101,110,0,100,105,109,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,99,111,110,116,114,111,108,58,10,0,32,32,114,101,112,117,108,115,105,118,101,32,97,110,100,32,97,116,116,114,97,99,116,105,118,101,32,101,120,112,111,110,101,110,116,115,58,32,37,46,48,51,102,32,37,46,48,51,102,10,0,32,32,114,97,110,100,111,109,32,115,116,97,114,116,32,37,100,32,115,101,101,100,32,37,100,10,0,32,32,75,32,58,32,37,46,48,51,102,32,67,32,58,32,37,46,48,51,102,10,0,32,32,109,97,120,32,108,101,118,101,108,115,32,37,100,32,99,111,97,114,115,101,110,95,115,99,104,101,109,101,32,37,100,32,99,111,97,114,115,101,110,95,110,111,100,101,32,37,100,10,0,32,32,113,117,97,100,116,114,101,101,32,115,105,122,101,32,37,100,32,109,97,120,95,108,101,118,101,108,32,37,100,10,0,32,32,66,97,114,110,101,115,45,72,117,116,116,32,99,111,110,115,116,97,110,116,32,37,46,48,51,102,32,116,111,108,101,114,97,110,99,101,32,32,37,46,48,51,102,32,109,97,120,105,116,101,114,32,37,100,10,0,32,32,99,111,111,108,105,110,103,32,37,46,48,51,102,32,115,116,101,112,32,115,105,122,101,32,32,37,46,48,51,102,32,97,100,97,112,116,105,118,101,32,37,100,10,0,32,32,98,101,97,117,116,105,102,121,95,108,101,97,118,101,115,32,37,100,32,110,111,100,101,32,119,101,105,103,104,116,115,32,37,100,32,114,111,116,97,116,105,111,110,32,37,46,48,51,102,10,0,32,32,115,109,111,111,116,104,105,110,103,32,37,115,32,111,118,101,114,108,97,112,32,37,100,32,105,110,105,116,105,97,108,95,115,99,97,108,105,110,103,32,37,46,48,51,102,32,100,111,95,115,104,114,105,110,107,105,110,103,32,37,100,10,0,32,32,111,99,116,114,101,101,32,115,99,104,101,109,101,32,37,115,32,109,101,116,104,111,100,32,37,115,10,0,32,32,101,100,103,101,95,108,97,98,101,108,105,110,103,95,115,99,104,101,109,101,32,37,100,10,0,83,80,82,73,78,71,95,69,76,69,67,84,82,73,67,65,76,0,83,80,82],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+81944);allocate([73,78,71,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,77,65,88,69,78,84,0,83,84,82,69,83,83,95,65,80,80,82,79,88,0,83,84,82,69,83,83,0,85,78,73,70,79,82,77,95,83,84,82,69,83,83,0,70,85,76,76,95,83,84,82,69,83,83,0,78,79,78,69,0,78,79,82,77,65,76,0,70,65,83,84,0,72,89,66,82,73,68,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,71,82,65,80,72,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,65,86,71,95,68,73,83,84,0,83,84,82,69,83,83,95,77,65,74,79,82,73,90,65,84,73,79,78,95,80,79,87,69,82,95,68,73,83,84,0,83,80,82,73,78,71,0,84,82,73,65,78,71,76,69,0,82,78,71,0,13,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,116,101,114,32,61,32,37,100,44,32,115,116,101,112,32,61,32,37,102,32,70,110,111,114,109,32,61,32,37,102,32,110,122,32,61,32,37,100,32,32,75,32,61,32,37,102,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,115,112,114,105,110,103,95,101,108,101,99,116,114,105,99,97,108,95,101,109,98,101,100,100,105,110,103,95,115,108,111,119,0,100,109,101,97,110,32,61,32,37,102,44,32,114,104,111,32,61,32,37,102,10,0,115,101,110,100,32,114,97,110,100,111,109,32,99,111,111,114,100,105,110,97,116,101,115,10,0,115,99,97,108,105,110,103,32,102,97,99,116,111,114,32,61,32,37,102,10,0,81,85,65,68,95,84,82,69,69,95,72,89,66,82,73,68,44,32,115,105,122,101,32,108,97,114,103,101,114,32,116,104,97,110,32,37,100,44,32,115,119,105,116,99,104,32,116,111,32,102,97,115,116,32,113,117,97,100,116,114,101,101,0,99,116,114,108,45,62,111,118,101,114,108,97,112,61,37,100,10,0,37,100,32,37,100,10,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,46,99,0,85,110,105,102,111,114,109,83,116,114,101,115,115,83,109,111,111,116,104,101,114,95,110,101,119,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,66,44,32,70,65,76,83,69,41,0,117,110,105,102,111,114,109,95,115,116,114,101,115,115,0,124,101,100,103,101,108,97,98,101,108,124,0,108,101,110,0,110,111,114,109,97,108,105,122,101,0,111,118,101,114,108,97,112,0,79,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,117,110,115,117,112,112,111,114,116,101,100,32,45,32,105,103,110,111,114,101,100,10,0,85,110,114,101,99,111,103,110,105,122,101,100,32,111,118,101,114,108,97,112,32,118,97,108,117,101,32,34,37,115,34,32,45,32,117,115,105,110,103,32,102,97,108,115,101,10,0,86,111,114,111,110,111,105,0,111,118,101,114,108,97,112,58,32,37,115,32,118,97,108,117,101,32,37,100,32,115,99,97,108,105,110,103,32,37,46,48,52,102,10,0,111,118,101,114,108,97,112,95,115,99,97,108,105,110,103,0,118,111,114,111,110,111,105,0,115,99,97,108,105,110,103,0,118,112,115,99,0,105,112,115,101,112,0,111,115,99,97,108,101,0,111,108,100,32,115,99,97,108,105,110,103,0,115,99,97,108,101,120,121,0,120,32,97,110,100,32,121,32,115,99,97,108,105,110,103,0,111,114,116,104,111,0,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,95,121,120,0,111,114,116,104,111,120,121,0,120,121,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,111,114,116,104,111,121,120,0,121,120,32,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,0,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,95,121,120,0,112,111,114,116,104,111,120,121,0,120,121,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,111,114,116,104,111,121,120,0,121,120,32,112,115,101,117,100,111,45,111,114,116,104,111,103,111,110,97,108,32,99,111,110,115,116,114,97,105,110,116,115,0,112,114,105,115,109,0,65,100,106,117,115,116,105,110,103,32,37,115,32,117,115,105,110,103,32,37,115,10,0,85,110,104,97,110,100,108,101,100,32,97,100,106,117,115,116,32,111,112,116,105,111,110,32,37,115,10,0,78,117,109,98,101,114,32,111,102,32,105,116,101,114,97,116,105,111,110,115,32,61,32,37,100,10,0,78,117,109,98,101,114,32,111,102,32,105,110,99,114,101,97,115,101,115,32,61,32,37,100,10,0,111,118,101,114,108,97,112,32,91,37,100,93,32,58,32,37,100,10,0,118,111,114,111,95,109,97,114,103,105,110,0,115,101,112,0,101,115,101,112,0,78,111,100,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,37,102,44,37,102,0,115,99,97,108,101,32,61,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,69,100,103,101,32,115,101,112,97,114,97,116,105,111,110,58,32,97,100,100,61,37,100,32,40,37,102,44,37,102,41,10,0,67,97,108,99,117,108,97,116,105,110,103,32,99,105,114,99,117,105,116,32,109,111,100,101,108,0,99,111,110,106,117,103,97,116,101,95,103,114,97,100,105,101,110,116,58,32,117,110,101,120,112,101,99,116,101,100,32,108,101,110,103,116,104,32,48,32,118,101,99,116,111,114,10,0,67,97,108,99,117,108,97,116,105,110,103,32,115,117,98,115,101,116,32,109,111,100,101,108,0,103,114,97,112,104,32,105,115,32,100,105,115,99,111,110,110,101,99,116,101,100,46,32,72,101,110,99,101,44,32,116,104,101,32,99,105,114,99,117,105,116,32,109,111,100,101,108,10,0,105,115,32,117,110,100,101,102,105,110,101,100,46,32,82,101,118,101,114,116,105,110,103,32,116,111,32,116,104,101,32,115,104,111,114,116,101,115,116,32,112,97,116,104,32,109,111,100,101,108,46,10,0,67,97,108,99,117,108,97,116,105,110,103,32,77,68,83,32,109,111,100,101,108,0,67,97,108,99,117,108,97,116,105,110,103,32,115,104,111,114,116,101,115,116,32,112,97,116,104,115,0,58,32,37,46,50,102,32,115,101,99,10,0,83,101,116,116,105,110,103,32,105,110,105,116,105,97,108,32,112,111,115,105,116,105,111,110,115,0,58,32,37,46,50,102,32,115,101,99,0,99,103,0,100,101,108,116,97,32,60,61,32,48,120,70,70,70,70,0,99,111,110,115,116,114,97,105,110,116,46,99,0,109,107,78,67,111,110,115,116,114,97,105,110,116,71,0,118,103,0,99,111,109,112,114,101,115,115,32,37,103,32,10,0,115,99,97,108,101,32,98,121,32,37,103,44,37,103,32,10,0,98,101,115,116,99,111,115,116,32,60,32,72,85,71,69,95,86,65,76,0,99,111,109,112,117,116,101,83,99,97,108,101,88,89,0,71,114,97,112,104,118,105,122,32,98,117,105,108,116,32,119,105,116,104,111,117,116,32,97,110,121,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,100,101,108,97,117,110,97,121,95,116,114,105,97,110,103,117,108,97,116,105,111,110,58,32,37,115,10,0,100,101,108,97,117,110,97,121,95,116,114,105,58,32,37,115,10,0,116,114,121,105,110,103,32,116,111,32,100,101,108,101,116,101,32,97,32,110,111,110,45,108,105,110,101,10,0,10,105,110,116,101,114,115,101,99,116,105,111,110,32,97,116,32,37,46,51,102,32,37,46,51,102,10,0,115,101,103,35,37,100,32,58,32,40,37,46,51,102,44,32,37,46,51,102,41,32,40,37,46,51,102,44,32,37,46,51,102,41,10,0,114,101,109,111,118,101,95,111,118,101,114,108,97,112,58,32,71,114,97,112,104,118,105,122,32,110,111,116,32,98,117,105,108,116,32,119,105,116,104,32,116,114,105,97,110,103,117,108,97,116,105,111,110,32,108,105,98,114,97,114,121,10,0,109,97,107,101,65,100,100,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,109,97,107,101,80,111,108,121,58,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,116,121,112,101,32,37,115,10,0,120,33,61,78,85,76,76,0,115,109,97,114,116,95,105,110,105,95,120,46,99,0,73,77,68,83,95,103,105,118,101,110,95,100,105,109,0,105,108,108,45,99,111,110,100,105,116,105,111,110,101,100,0,114,111,111,116,32,61,32,37,115,32,109,97,120,32,115,116,101,112,115,32,116,111,32,114,111,111,116,32,61,32,37,100,10,0,116,119,111,112,105,58,32,117,115,101,32,111,102,32,119,101,105,103,104,116,61,48,32,99,114,101,97,116,101,115,32,100,105,115,99,111,110,110,101,99,116,101,100,32,99,111,109,112,111,110,101,110,116,46,10,0,82,97,110,107,32,115,101,112,97,114,97,116,105,111,110,32,61,32,0,37,46,48,51,108,102,32,0,97,114,101,97,0,105,110,115,101,116,0,37,115,32,99,111,111,114,100,32,37,46,53,103,32,37,46,53,103,32,104,116,32,37,102,32,119,105,100,116,104,32,37,102,10,0,37,46,48,51,102,0,114,101,99,32,37,102,32,37,102,32,37,102,32,37,102,10,0,37,102,32,45,32,37,102,32,37,102,32,37,102,32,37,102,32,61,32,37,102,32,40,37,102,32,37,102,32,37,102,32,37,102,41,10,0,116,114,121,105,110,103,32,116,111,32,97,100,100,32,116,111,32,114,101,99,116,32,123,37,102,32,43,47,45,32,37,102,44,32,37,102,32,43,47,45,32,37,102,125,10,0,116,111,116,97,108,32,97,100,100,101,100,32,115,111,32,102,97,114,32,61,32,37,100,10,0,97,100,100,105,110,103,32,37,100,32,105,116,101,109,115,44,32,116,111,116,97,108,32,97,114,101,97,32,61,32,37,102,44,32,119,32,61,32,37,102,44,32,97,114,101,97,47,119,61,37,102,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,99,111,117,108,100,32,110,111,116,32,99,111,110,115,116,114,117,99,116,32,111,98,115,116,97,99,108,101,115,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,99,111,109,112,111,117,110,100,69,100,103,101,115,58,32,110,111,100,101,115,32,116,111,117,99,104,32,45,32,102,97,108,108,105,110,103,32,98,97,99,107,32,116,111,32,115,116,114,97,105,103,104,116,32,108,105,110,101,32,101,100,103,101,115,10,0,112,97,99,107,32,118,97,108,117,101,32,37,100,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,115,101,112,32,118,97,108,117,101,32,40,37,46,48,51,102,44,37,46,48,51,102,41,32,105,115,32,115,109,97,108,108,101,114,32,116,104,97,110,32,101,115,101,112,32,40,37,46,48,51,102,44,37,46,48,51,102,41,10,0,99,99,37,115,95,37,100,0,99,99,37,115,43,37,100,0,99,95,99,110,116,32,61,61,32,48,0,99,111,109,112,46,99,0,102,105,110,100,67,67,111,109,112,0,103,114,105,100,40,37,100,44,37,100,41,58,32,37,115,10,0,119,103,116,32,62,32,48,0,81,117,97,100,84,114,101,101,46,99,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,97,99,99,117,109,117,108,97,116,101,0,113,116,50,45,62,110,32,62,32,48,0,113,116,49,45,62,110,32,62,32,48,32,38,38,32,113,116,50,45,62,110,32,62,32,48,0,81,117,97,100,84,114,101,101,95,114,101,112,117,108,115,105,118,101,95,102,111,114,99,101,95,105,110,116,101,114,97,99,116,0,100,105,115,116,32,62,32,48,0,33,40,113,45,62,108,41,0,81,117,97,100,84,114,101,101,95,97,100,100,95,105,110,116,101,114,110,97,108,0,105,105,32,60,32,49,60,60,100,105,109,32,38,38,32,105,105,32,62,61,32,48,0,113,45,62,113,116,115,91,105,105,93,0,113,45,62,110,32,61,61,32,49,0,33,40,113,45,62,113,116,115,41,0,113,45,62,108,0,119,105,100,116,104,32,62,32,48,0,81,117,97,100,84,114,101,101,95,110,101,119,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,83,112,97,114,115,101,77,97,116,114,105,120,46,99,0,83,112,97,114,115,101,77,97,116,114,105,120,95,116,114,97,110,115,112,111,115,101,0,65,32,38,38,32,66,0,83,112,97,114,115,101,77,97,116,114,105,120,95,97,100,100,0,65,45,62,102,111,114,109,97,116,32,61,61,32,66,45,62,102,111,114,109,97,116,32,38,38,32,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,83,82,0,65,45,62,116,121,112,101,32,61,61,32,66,45,62,116,121,112,101,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,0,65,45,62,102,111,114,109,97,116,32,61,61,32,70,79,82,77,65,84,95,67,79,79,82,68,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,97,116,0,109,32,62,32,48,32,38,38,32,110,32,62,32,48,32,38,38,32,110,122,32,62,61,32,48,0,83,112,97,114,115,101,77,97,116,114,105,120,95,102,114,111,109,95,99,111,111,114,100,105,110,97,116,101,95,97,114,114,97,121,115,95,105,110,116,101,114,110,97,108,0,65,0,106,97,91,109,97,115,107,91,106,97,91,106,93,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,115,117,109,95,114,101,112,101,97,116,95,101,110,116,114,105,101,115,0,105,100,32,60,32,110,42,40,121,109,97,120,45,121,109,105,110,43,49,41,0,106,97,91,109,97,115,107,91,105,100,93,93,32,61,61,32,106,97,91,106,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,50,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,118,101,99,116,111,114,0,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,32,124,124,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,73,78,84,69,71,69,82,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,95,100,101,110,115,101,49,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,0,106,99,91,109,97,115,107,91,106,98,91,107,93,93,93,32,61,61,32,106,98,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,109,117,108,116,105,112,108,121,51,0,106,100,91,109,97,115,107,91,106,99,91,107,93,93,93,32,61,61,32,106,99,91,107,93,0,83,112,97,114,115,101,77,97,116,114,105,120,95,99,111,111,114,100,105,110,97,116,101,95,102,111,114,109,95,97,100,100,95,101,110,116,114,105,101,115,0,83,112,97,114,115,101,77,97,116,114,105,120,95,100,105,118,105,100,101,95,114,111,119,95,98,121,95,100,101,103,114,101,101,0,110,32,62,32,49,0,103,101,110,101,114,97,108,46,99,0,105,114,97,110,100,0,111,110,101,98,108,111,99,107,0,109,105,110,100,105,115,116,0,97,114,116,105,99,117,108,97,116,105,111,110,95,112,111,115,0,114,111,111,116,0,80,114,105,111,114,105,116,121,81,117,101,117,101,46,99,0,80,114,105,111,114,105,116,121,81,117,101,117,101,95,112,117,115,104,0,103,97,105,110,32,60,61,32,113,45,62,110,103,97,105,110,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,0,112,111,115,116,95,112,114,111,99,101,115,115,46,99,0,105,100,101,97,108,95,100,105,115,116,97,110,99,101,95,109,97,116,114,105,120,0,108,101,110,32,62,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,50,95,110,101,119,0,110,122,32,62,32,48,0,105,100,101,97,108,95,100,105,115,116,95,115,99,104,101,109,101,32,118,97,108,117,101,32,119,114,111,110,103,0,83,112,97,114,115,101,77,97,116,114,105,120,95,105,115,95,115,121,109,109,101,116,114,105,99,40,65,44,32,70,65,76,83,69,41,32,38,38,32,65,45,62,116,121,112,101,32,61,61,32,77,65,84,82,73,88,95,84,89,80,69,95,82,69,65,76,0,83,112,97,114,115,101,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,110,101,119,0,105,100,105,97,103,32,62,61,32,48,0,83,116,114,101,115,115,77,97,106,111,114,105,122,97,116,105,111,110,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,40,33,106,99,110,41,32,38,38,32,40,33,118,97,108,41,0,103,101,116,95,101,100,103,101,95,108,97,98,101,108,95,109,97,116,114,105,120,0,84,114,105,97,110,103,108,101,83,109,111,111,116,104,101,114,95,110,101,119,0,106,100,105,97,103,32,62,61,32,48,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,110,101,119,0,33,102,108,97,103,0,83,112,114,105,110,103,83,109,111,111,116,104,101,114,95,115,109,111,111,116,104,0,110,101,105,103,104,98,61,37,100,10,0,114,111,111,116,32,61,32,37,115,10,0,95,98,108,111,99,107,95,37,100,0,115,45,62,115,122,32,62,32,48,0,98,108,111,99,107,116,114,101,101,46,99,0,112,111,112,0,97,99,116,117,97,108,0,110,111,100,101,108,105,115,116,46,99,0,105,110,115,101,114,116,78,111,100,101,108,105,115,116,0,95,115,112,97,110,95,37,100,0,95,99,108,111,110,101,95,37,100,0,105,112,0,100,101,103,108,105,115,116,46,99,0,114,101,109,111,118,101,68,101,103,108,105,115,116,0,69,114,114,111,114,0,87,97,114,110,105,110,103,0,37,115,58,32,0,117,115,101,114,111,117,116,58,32,99,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,10,0,95,65,71,95,115,116,114,100,97,116,97,0,95,65,71,95,100,97,116,97,100,105,99,116,0,97,103,100,105,99,116,111,102,58,32,117,110,107,110,111,119,110,32,107,105,110,100,32,37,100,10,0,37,99,37,108,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,0,97,103,100,101,108,101,116,101,32,111,110,32,119,114,111,110,103,32,103,114,97,112,104,0,95,65,71,95,112,101,110,100,105,110,103,0,97,103,114,101,99,111,114,100,95,99,97,108,108,98,97,99,107,32,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,112,101,110,100,32,100,105,99,116,111,102,32,97,32,98,97,100,32,111,98,106,101,99,116,0,109,111,118,101,32,116,111,32,102,114,111,110,116,32,108,111,99,107,32,105,110,99,111,110,115,105,115,116,101,110,99,121,0,92,92,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,110,111,32,97,99,116,105,111,110,32,102,111,117,110,100,0,37,115,10,0,102,97,116,97,108,32,102,108,101,120,32,115,99,97,110,110,101,114,32,105,110,116,101,114,110,97,108,32,101,114,114,111,114,45,45,101,110,100,32,111,102,32,98,117,102,102,101,114,32,109,105,115,115,101,100,0,102,97,116,97,108,32,101,114,114,111,114,32,45,32,115,99,97,110,110,101,114,32,105,110,112,117,116,32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,103,101,116,95,110,101,120,116,95,98,117,102,102,101,114,40,41,0,105,110,112,117,116,0,115,121,110,116,97,120,32,97,109,98,105,103,117,105,116,121,32,45,32,98,97,100,108,121,32,100,101,108,105,109,105,116,101,100,32,110,117,109,98,101,114,32,39,0,39,32,105,110,32,108,105,110,101,32,37,100,32,111,102,32,0,32,115,112,108,105,116,115,32,105,110,116,111,32,116,119,111,32,116,111,107,101,110,115,10,0,37,115,0,108,105,110,101,0,37,100,32,37,49,91,34,93,37,110,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,95,99,114,101,97,116,101,95,98,117,102,102,101,114,40,41,0,111,117,116,32,111,102,32,100,121,110,97,109,105,99,32,109,101,109,111,114,121,32,105,110,32,97,97,103,101,110,115,117,114,101,95,98,117,102,102,101,114,95,115,116,97,99,107,40,41,0,58,32,0,32,105,110,32,108,105,110,101,32,37,100,0,32,110,101,97,114,32,39,0,32,115,99,97,110,110,105,110,103,32,97,32,113,117,111,116,101,100,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,101,110,100,113,117,111,116,101,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,34,0,32,115,99,97,110,110,105,110,103,32,97,32,72,84,77,76,32,115,116,114,105,110,103,32,40,109,105,115,115,105,110,103,32,39,62,39,63,32,98,97,100,32,110,101,115,116,105,110,103,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,10,83,116,114,105,110,103,32,115,116,97,114,116,105,110,103,58,60,0,32,115,99,97,110,110,105,110,103,32,97,32,47,42,46,46,46,42,47,32,99,111,109,109,101,110,116,32,40,109,105,115,115,105,110,103,32,39,42,47,63,32,108,111,110,103,101,114,32,116,104,97,110,32,37,100,63,41,0,102,108,101,120,32,115,99,97,110,110,101,114,32,112,117,115,104,45,98,97,99,107,32,111,118,101,114,102,108,111,119,0,34,34,0,115,116,114,105,99,116,0,108,105,110,101,108,101,110,103,116,104,0,59,10,0,32,91,107,101,121,61,0,93,0,32,91,0,44,10,0,61,0,95,37,108,100,95,83,85,83,80,69,67,84,0,100,105,0,115,116,114,105,99,116,32,0,123,10,0,93,59,10,0,18,238,238,20,9,3,238,254,238,238,238,1,238,238,238,1,238,238,10,254,238,19,25,21,238,19,1,238,238,238,238,11,17,238,238,238,238,238,238,238,238,238,1,238,238,22,9,1,1,29,15,23,238,238,26,23,27,238,238,28,238,238,238,238,1,25,251,238,238,238,1,238,16,238,238,30,238,238,238,238,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,23,17,2,2,2,2,2,2,2,2,2,2,2,2,2,18,16,2,19,2,2,22,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,20,2,21,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,14,2,15,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,11,3,4,5,15,7,3,12,13,6,12,13,14,12,13,26,21,22,0,1,0,3,7,14,6,15,8,12,13,18,19,42,16,17,9,16,47,48,17,50,23,19,13,20,18,46,18,20,65,19,50,19,44,64,42,66,25,44,66,70,34,12,13,14,35,15,9,16,17,10,16,17,201,16,17,45,69,70,252,1,6,246,15,7,246,36,2,16,17,47,48,54,77,78,40,38,59,60,42,54,49,57,61,63,47,58,64,216,68,48,62,37,55,67,53,75,43,56,73,76,0,3,9,0,0,0,1,14,2,11,12,8,35,36,37,54,59,61,0,13,16,18,27,22,28,18,39,50,34,23,51,30,60,6,7,53,5,15,17,20,24,41,0,19,41,0,0,0,0,0,55,21,40,29,30,0,33,38,52,31,48,62,25,44,0,27,0,32,26,42,0,43,58,46,47,0,49,56,57,45,0,2,2,1,0,3,3,1,0,1,0,1,1,1,0,2,1,1,0,2,2,3,1,1,0,0,5,0,1,3,1,3,5,3,1,1,1,1,2,0,1,0,4,2,0,2,1,1,3,2,1,0,3,2,1,0,1,1,0,1,1,1,3,0,24,25,25,25,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,36,36,38,39,37,37,40,40,41,41,41,42,42,43,43,43,44,44,45,45,46,47,47,48,49,49,50,51,52,54,53,55,55,55,56,56,56,57,57,58,58,238,238,255,238,238,238,238,238,238,31,32,238,0,239,238,238,238,12,238,238,238,8,13,238,238,238,248,238,238,238,238,238,238,245,238,255,3,8,4,33,5,11,18,19,39,20,21,22,41,50,65,23,24,25,26,44,51,52,66,71,72,27,74,28,29,46,30,79,31,32,107,101,121,0,97,116,116,114,105,98,117,116,101,32,109,97,99,114,111,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,37,115,58,37,115,0,67,111,117,108,100,32,110,111,116,32,111,112,101,110,32,34,37,115,34,32,102,111,114,32,119,114,105,116,105,110,103,32,58,32,37,115,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,46,10,0,46,37,100,0,110,111,110,97,109,101,46,103,118,0,103,118,119,114,105,116,101,95,110,111,95,122,32,112,114,111,98,108,101,109,32,37,100,10,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,102,97,105,108,117,114,101,10,0,78,111,32,108,105,98,122,32,115,117,112,112,111,114,116,10,0,103,118,112,114,105,110,116,102,58,32,37,115,10,0,45,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,46,57,57,0,103,114,97,112,104,118,105,122,0,50,46,52,48,46,49,0,50,48,49,54,49,50,50,53,46,48,51,48,52,0,114,101,110,100,101,114,0,100,101,118,105,99,101,0,108,111,97,100,105,109,97,103,101,0,100,121,110,97,109,105,99,32,108,111,97,100,105,110,103,32,110,111,116,32,97,118,97,105,108,97,98,108,101,10,0,85,115,105,110,103,32,37,115,58,32,37,115,58,37,115,10,0,103,118,117,115,101,114,115,104,97,112,101,46,99,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,110,100,0,103,118,117,115,101,114,115,104,97,112,101,95,102,105,108,101,95,97,99,99,101,115,115,0,70,105,108,101,110,97,109,101,32,34,37,115,34,32,105,115,32,117,110,115,97,102,101,10,0,37,115,32,119,104,105,108,101,32,111,112,101,110,105,110,103,32,37,115,10,0,117,115,45,62,102,0,103,118,117,115,101,114,115,104,97,112,101,95,111,112,101,110,0,34,37,115,34,32,119,97,115,32,110,111,116,32,102,111,117,110,100,32,97,115,32,97,32,102,105,108,101,32,111,114,32,97,115,32,97,32,115,104,97,112,101,32,108,105,98,114,97,114,121,32,109,101,109,98,101,114,10,0,47,77,101,100,105,97,66,111,120,0,40,91,97,45,122,93,91,97,45,122,65,45,90,93,42,41,61,34,40,91,94,34,93,42,41,34,0,99,97,110,110,111,116,32,99,111,109,112,105,108,101,32,114,101,103,117,108,97,114,32,101,120,112,114,101,115,115,105,111,110,32,37,115,0,37,108,102,37,50,115,0,112,116,0,118,105,101,119,66,111,120,0,37,108,102,32,37,108,102,32,37,108,102,32,37,108,102,0,105,110,0,112,120,0,112,99,0,34,0,99,109,0,109,109,0,37,37,66,111,117,110,100,105,110,103,66,111,120,58,0,1,208,209,210,211,212,213,214,215,216,217,0,60,115,118,103,0,87,69,66,80,0,119,101,98,112,0,40,108,105,98,41,0,137,80,78,71,13,10,26,10,0,112,110,103,0,37,33,80,83,45,65,100,111,98,101,45,0,66,77,0,98,109,112,0,71,73,70,56,0,103,105,102,0,255,216,255,224,0,106,112,101,103,0,37,80,68,70,45,0,112,100,102,0,197,208,211,198,0,101,112,115,0,60,63,120,109,108,0,120,109,108,0,82,73,70,70,0,114,105,102,102,0,0,0,1,0,0,105,99,111,0,37,100,32,37,100,32,37,100,32,37,100,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,102,97,105,108,117,114,101,32,109,97,108,108,111,99,39,105,110,103,32,102,111,114,32,114,101,115,117,108,116,32,115,116,114,105,110,103,0,103,99,58,32,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,95,99,99,95,0,111,114,105,103,0,111,112,0,99,99,111,109,112,115,46,99,0,109,97,112,67,108,117,115,116,0,99,99,103,114,97,112,104,105,110,102,111,0,99,99,103,110,111,100,101,105,110,102,111,0,40,37,52,108,100,41,32,37,55,108,100,32,110,111,100,101,115,32,37,55,108,100,32,101,100,103,101,115,10,0,32,32,32,32,32,32,32,37,55,100,32,110,111,100,101,115,32,37,55,100,32,101,100,103,101,115,32,37,55,108,100,32,99,111,109,112,111,110,101,110,116,115,32,37,115,10,0,100,103,0,69,114,114,111,114,58,32,110,111,100,101,32,34,37,115,34,32,98,101,108,111,110,103,115,32,116,111,32,116,119,111,32,110,111,110,45,110,101,115,116,101,100,32,99,108,117,115,116,101,114,115,32,34,37,115,34,32,97,110,100,32,34,37,115,34,10,0,115,111,114,116,118,0,114,111,119,32,109,97,106,111,114,0,99,111,108,117,109,110,32,109,97,106,111,114,0,97,114,114,97,121,32,112,97,99,107,105,110,103,58,32,37,115,32,37,100,32,114,111,119,115,32,37,100,32,99,111,108,117,109,110,115,10,0,98,98,91,37,115,93,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,32,37,46,53,103,10,0,115,116,101,112,32,115,105,122,101,32,61,32,37,100,10,0,112,111,115,91,37,100,93,32,37,100,32,37,100,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,32,40,37,100,44,37,100,41,10,0,99,99,32,40,37,100,32,99,101,108,108,115,41,32,97,116,32,40,37,100,44,37,100,41,10,0,37,115,32,110,111,46,32,99,101,108,108,115,32,37,100,32,87,32,37,100,32,72,32,37,100,10,0,32,32,37,100,32,37,100,32,99,101,108,108,10,0,108,105,98,112,97,99,107,58,32,100,105,115,99,32,61,32,37,102,32,40,32,60,32,48,41,10,0,80,97,99,107,105,110,103,58,32,99,111,109,112,117,116,101,32,103,114,105,100,32,115,105,122,101,10,0,97,32,37,102,32,98,32,37,102,32,99,32,37,102,32,100,32,37,102,32,114,32,37,102,10,0,114,111,111,116,32,37,100,32,40,37,102,41,32,37,100,32,40,37,102,41,10,0,32,114,49,32,37,102,32,114,50,32,37,102,10,0,112,105,110,102,111,0,112,97,99,107,46,99,0,103,101,116,80,97,99,107,73,110,102,111,0,32,32,109,97,114,103,105,110,32,37,100,10,0,112,97,99,107,109,111,100,101,0,112,97,114,115,101,80,97,99,107,77,111,100,101,73,110,102,111,0,97,114,114,97,121,0,97,115,112,101,99,116,0,37,102,0,112,97,99,107,32,105,110,102,111,58,10,0,32,32,109,111,100,101,32,32,32,37,115,10,0,32,32,97,115,112,101,99,116,32,37,102,10,0,32,32,115,105,122,101,32,32,32,37,100,10,0,32,32,102,108,97,103,115,32,32,37,100,10,0,117,110,100,101,102,105,110,101,100,0,112,97,99,107,0,65,114,114,111,119,32,116,121,112,101,32,34,37,115,34,32,117,110,107,110,111,119,110,32,45,32,105,103,110,111,114,105,110,103,10,0,110,111,114,109,97,108,0,99,114,111,119,0,116,101,101,0,100,111,116,0,105,110,118,0,118,101,101,0,112,101,110,0,109,112,116,121,0,99,117,114,118,101,0,105,99,117,114,118,101,0,108,0,104,97,108,102,0,105,110,118,101,109,112,116,121,0,95,98,97,99,107,103,114,111,117,110,100,0,95,100,114,97,119,95,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,34,95,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,32,105,110,32,103,114,97,112,104,32,37,115,10,0,32,32,34,37,115,34,10,0,110,111,32,109,101,109,111,114,121,32,102,114,111,109,32,122,109,97,108,108,111,99,40,41,10,0,111,98,106,0,101,109,105,116,46,99,0,112,111,112,95,111,98,106,95,115,116,97,116,101,0,99,108,117,115,116,0,37,108,100,0,112,97,103,101,37,100,44,37,100,95,0,84,111,116,97,108,32,115,105,122,101,32,62,32,49,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,115,112,101,99,32,0,73,108,108,101,103,97,108,32,108,101,110,103,116,104,32,118,97,108,117,101,32,105,110,32,34,37,115,34,32,99,111,108,111,114,32,97,116,116,114,105,98,117,116,101,32,0,108,110,114,99,111,108,111,114,115,99,104,101,109,101,0,101,109,105,116,95,101,100,103,101,95,108,97,98,101,108,0,37,115,45,37,115,0,102,111,114,119,97,114,100,0,98,97,99,107,0,32,45,62,32,0,32,45,45,32,0,105,110,32,101,100,103,101,32,37,115,37,115,37,115,10,0,108,97,98,101,108,97,108,105,103,110,101,100,0,101,100,103,101,104,114,101,102,0,101,100,103,101,85,82,76,0,108,97,98,101,108,104,114,101,102,0,108,97,98,101,108,85,82,76,0,116,97,105,108,104,114,101,102,0,116,97,105,108,85,82,76,0,104,101,97,100,104,114,101,102,0,104,101,97,100,85,82,76,0,101,100,103,101,116,97,114,103,101,116,0,108,97,98,101,108,116,97,114,103,101,116,0,116,97,105,108,116,97,114,103,101,116,0,104,101,97,100,116,97,114,103,101,116,0,101,100,103,101,116,111,111,108,116,105,112,0,108,97,98,101,108,116,111,111,108,116,105,112,0,116,97,105,108,116,111,111,108,116,105,112,0,104,101,97,100,116,111,111,108,116,105,112,0,1,110,101,115,116,105,110,103,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,117,110,109,97,116,99,104,101,100,32,39,41,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,116,114,117,110,99,97,116,105,110,103,32,115,116,121,108,101,32,39,37,115,39,10,0,117,110,109,97,116,99,104,101,100,32,39,40,39,32,105,110,32,115,116,121,108,101,58,32,37,115,10,0,97,108,108,0,105,110,32,99,108,117,115,116,101,114,32,37,115,10,0,77,111,114,101,32,116,104,97,110,32,50,32,99,111,108,111,114,115,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,97,32,103,114,97,100,105,101,110,116,32,45,32,105,103,110,111,114,105,110,103,32,114,101,109,97,105,110,105,110,103,10,0,103,114,97,100,105,101,110,116,32,112,101,110,32,99,111,108,111,114,115,32,110,111,116,32,121,101,116,32,115,117,112,112,111,114,116,101,100,46,10,0,73,109,97,103,101,115,32,117,110,115,117,112,112,111,114,116,101,100,32,105,110,32,34,98,97,99,107,103,114,111,117,110,100,34,32,97,116,116,114,105,98,117,116,101,10,0,108,97,121,101,114,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,105,110,32,37,115,32,111,117,116,112,117,116,10,0,76,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,46,32,32,77,105,115,115,105,110,103,32,108,97,121,111,117,116,32,112,108,117,103,105,110,115,63,32,10,0,103,118,82,101,110,100,101,114,74,111,98,115,32,37,115,58,32,37,46,50,102,32,115,101,99,115,46,10,0,108,97,121,111,117,116,32,119,97,115,32,110,111,116,32,100,111,110,101,10,0,114,101,110,100,101,114,101,114,32,102,111,114,32,37,115,32,105,115,32,117,110,97,118,97,105,108,97,98,108,101,10,0,112,97,103,101,100,105,114,61,37,115,32,105,103,110,111,114,101,100,10,0,118,105,101,119,112,111,114,116,0,37,108,102,44,37,108,102,44,37,108,102,44,39,37,91,94,39,93,39,0,37,108,102,44,37,108,102,44,37,108,102,44,37,91,94,44,93,37,115,0,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,44,37,108,102,0,111,117,116,112,117,116,111,114,100,101,114,0,111,100,101,115,102,105,114,115,116,0,100,103,101,115,102,105,114,115,116,0,108,97,121,101,114,115,0,108,97,121,101,114,115,101,108,101,99,116,0,84,104,101,32,108,97,121,101,114,115,101,108,101,99,116,32,97,116,116,114,105,98,117,116,101,32,34,37,115,34,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,108,97,121,101,114,32,115,112,101,99,105,102,101,100,32,98,121,32,116,104,101,32,108,97,121,101,114,115,32,97,116,116,114,105,98,117,116,101,32,45,32,105,103,110,111,114,101,100,46,10,0,108,97,121,101,114,115,101,112,0,58,9,32,0,108,97,121,101,114,108,105,115,116,115,101,112,0,44,0,84,104,101,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,97,112,112,101,97,114,115,32,105,110,32,98,111,116,104,32,116,104,101,32,108,97,121,101,114,115,101,112,32,97,110,100,32,108,97,121,101,114,108,105,115,116,115,101,112,32,97,116,116,114,105,98,117,116,101,115,32,45,32,108,97,121,101,114,108,105,115,116,115,101,112,32,105,103,110,111,114,101,100,46,10,0,112,97,100,0,66,76,0,112,97,103,101,100,105,114,0,115,111,108,105,100,0,0,115,101,116,108,105,110,101,119,105,100,116,104,0,49,0,0,115,112,108,45,62,115,105,122,101,32,62,32,48,0,105,110,105,116,95,115,112,108,105,110,101,115,95,98,98,0,98,122,46,115,105,122,101,32,62,32,48,0,98,101,122,105,101,114,95,98,98,0,98,122,46,115,105,122,101,32,37,32,51,32,61,61,32,49,0,37,108,102,0,102,111,110,116,112,97,116,104,0,68,79,84,70,79,78,84,80,65,84,72,0,71,68,70,79,78,84,80,65,84,72,0,105,109,97,103,101,112,97,116,104,0,113,117,97,110,116,117,109,0,114,97,110,107,100,105,114,0,76,82,0,66,84,0,82,76,0,110,111,100,101,115,101,112,0,114,97,110,107,115,101,112,0,101,113,117,97,108,108,121,0,115,104,111,119,98,111,120,101,115,0,102,111,110,116,110,97,109,101,115,0,115,105,122,101,0,112,97,103,101,0,99,101,110,116,101,114,0,114,111,116,97,116,101,0,111,114,105,101,110,116,97,116,105,111,110,0,108,97,110,100,115,99,97,112,101,0,99,108,117,115,116,101,114,114,97,110,107,0,99,111,110,99,101,110,116,114,97,116,101,0,100,112,105,0,114,101,115,111,108,117,116,105,111,110,0,111,114,100,101,114,105,110,103,0,102,105,108,108,99,111,108,111,114,0,102,111,110,116,115,105,122,101,0,102,111,110,116,110,97,109,101,0,102,111,110,116,99,111,108,111,114,0,120,108,97,98,101,108,0,112,101,110,119,105,100,116,104,0,112,101,114,105,112,104,101,114,105,101,115,0,115,107,101,119,0,100,105,115,116,111,114,116,105,111,110,0,110,111,106,117,115,116,105,102,121,0,108,97,121,101,114,0,103,114,111,117,112,0,99,111,109,109,101,110,116,0,118,101,114,116,105,99,101,115,0,122,0,119,101,105,103,104,116,0,108,97,98,101,108,102,108,111,97,116,0,100,105,114,0,97,114,114,111,119,104,101,97,100,0,97,114,114,111,119,116,97,105,108,0,104,101,97,100,108,97,98,101,108,0,116,97,105,108,108,97,98,101,108,0,108,97,98,101,108,102,111,110,116,115,105,122,101,0,108,97,98,101,108,102,111,110,116,110,97,109,101,0,108,97,98,101,108,102,111,110,116,99,111,108,111,114,0,108,97,98,101,108,100,105,115,116,97,110,99,101,0,108,97,98,101,108,97,110,103,108,101,0,109,105,110,108,101,110,0,100,101,99,111,114,97,116,101,0,97,114,114,111,119,115,105,122,101,0,99,111,110,115,116,114,97,105,110,116,0,116,97,105,108,99,108,105,112,0,104,101,97,100,99,108,105,112,0,108,97,98,101,108,106,117,115,116,0,108,111,99,97,108,0,103,108,111,98,97,108,0,37,108,102,44,37,108,102,37,99,0,37,108,102,37,99,0,114,97,116,105,111,0,97,117,116,111,0,99,111,109,112,114,101,115,115,0,101,120,112,97,110,100,0,102,105,108,108,0,103,100,0,112,115,0,115,118,103,0,99,104,97,114,115,101,116,0,117,116,102,45,56,0,108,97,116,105,110,45,49,0,108,97,116,105,110,49,0,108,49,0,73,83,79,45,56,56,53,57,45,49,0,73,83,79,95,56,56,53,57,45,49,0,73,83,79,56,56,53,57,45,49,0,73,83,79,45,73,82,45,49,48,48,0,98,105,103,45,53,0,98,105,103,53,0,117,116,102,56,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,34,37,115,34,32,45,32,97,115,115,117,109,105,110,103,32,117,116,102,45,56,10,0,85,110,115,117,112,112,111,114,116,101,100,32,99,104,97,114,115,101,116,32,118,97,108,117,101,32,37,100,10,0,85,84,70,45,56,0,66,73,71,45,53,0,105,110,32,108,97,98,101,108,32,111,102,32,103,114,97,112,104,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,110,111,100,101,32,37,115,10,0,105,110,32,108,97,98,101,108,32,111,102,32,101,100,103,101,32,37,115,32,37,115,32,37,115,10,0,107,105,110,100,32,61,61,32,76,84,95,78,79,78,69,0,108,97,98,101,108,115,46,99,0,109,97,107,101,95,108,97,98,101,108,0,92,76,0,92,71,0,92,69,0,92,72,0,92,84,0,38,35,49,51,59,0,38,113,117,111,116,59,0,38,35,49,48,59,0,38,35,49,54,48,59,0,38],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+92184);allocate([97,109,112,59,0,38,103,116,59,0,38,35,51,57,59,0,38,35,52,53,59,0,38,108,116,59,0,37,115,32,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,109,97,120,105,116,101,114,61,37,100,32,98,97,108,97,110,99,101,61,37,100,10,0,110,101,116,119,111,114,107,32,115,105,109,112,108,101,120,58,32,0,37,100,32,0,37,115,37,100,32,110,111,100,101,115,32,37,100,32,101,100,103,101,115,32,37,100,32,105,116,101,114,32,37,46,50,102,32,115,101,99,10,0,117,112,100,97,116,101,58,32,109,105,115,109,97,116,99,104,101,100,32,108,99,97,32,105,110,32,116,114,101,101,117,112,100,97,116,101,115,10,0,84,114,101,101,95,101,100,103,101,46,115,105,122,101,32,61,61,32,78,95,110,111,100,101,115,32,45,32,49,0,110,115,46,99,0,102,101,97,115,105,98,108,101,95,116,114,101,101,0,33,84,82,69,69,95,69,68,71,69,40,101,41,0,109,101,114,103,101,95,116,114,101,101,115,0,40,114,48,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,32,124,124,32,40,114,49,45,62,104,101,97,112,95,105,110,100,101,120,32,62,32,45,49,41,0,83,84,115,101,116,85,110,105,111,110,0,114,45,62,104,101,97,112,95,105,110,100,101,120,32,62,61,32,48,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,109,105,115,115,105,110,103,32,116,114,101,101,32,101,100,103,101,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,111,117,116,101,100,103,101,32,108,105,115,116,10,0,97,100,100,95,116,114,101,101,95,101,100,103,101,58,32,101,109,112,116,121,32,105,110,101,100,103,101,32,108,105,115,116,10,0,116,114,111,117,98,108,101,32,105,110,32,105,110,105,116,95,114,97,110,107,10,0,9,37,115,32,37,100,10,0,115,101,97,114,99,104,115,105,122,101,0,103,114,97,112,104,32,0,32,0,110,111,100,101,32,0,115,116,111,112,10,0,37,46,53,103,0,112,111,115,0,114,101,99,116,115,0,120,108,112,0,108,112,0,104,101,97,100,95,108,112,0,116,97,105,108,95,108,112,0,108,119,105,100,116,104,0,108,104,101,105,103,104,116,0,98,98,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,44,37,46,53,103,0,37,46,53,103,44,37,46,53,103,0,115,97,109,112,108,101,112,111,105,110,116,115,0,37,46,53,103,32,37,46,53,103,0,115,44,37,46,53,103,44,37,46,53,103,32,0,101,44,37,46,53,103,44,37,46,53,103,32,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,0,37,46,50,102,0,37,46,53,103,44,37,46,53,103,44,37,46,53,103,44,37,46,53,103,32,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,88,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,110,101,103,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,47,112,97,116,104,98,111,120,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,37,46,53,103,32,115,117,98,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,32,125,32,100,101,102,10,47,100,98,103,115,116,97,114,116,32,123,32,103,115,97,118,101,32,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,125,32,100,101,102,10,47,97,114,114,111,119,108,101,110,103,116,104,32,49,48,32,100,101,102,10,47,97,114,114,111,119,119,105,100,116,104,32,97,114,114,111,119,108,101,110,103,116,104,32,50,32,100,105,118,32,100,101,102,10,47,97,114,114,111,119,104,101,97,100,32,123,10,32,32,32,32,103,115,97,118,101,10,32,32,32,32,114,111,116,97,116,101,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,10,32,32,32,32,110,101,119,112,97,116,104,10,32,32,32,32,109,111,118,101,116,111,10,32,32,32,32,97,114,114,111,119,108,101,110,103,116,104,32,97,114,114,111,119,119,105,100,116,104,32,50,32,100,105,118,32,114,108,105,110,101,116,111,10,32,32,32,32,48,32,97,114,114,111,119,119,105,100,116,104,32,110,101,103,32,114,108,105,110,101,116,111,10,32,32,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,32,32,32,32,103,114,101,115,116,111,114,101,10,125,32,98,105,110,100,32,100,101,102,10,47,109,97,107,101,97,114,114,111,119,32,123,10,32,32,32,32,99,117,114,114,101,110,116,112,111,105,110,116,32,101,120,99,104,32,112,111,112,32,115,117,98,32,101,120,99,104,32,99,117,114,114,101,110,116,112,111,105,110,116,32,112,111,112,32,115,117,98,32,97,116,97,110,10,32,32,32,32,97,114,114,111,119,104,101,97,100,10,125,32,98,105,110,100,32,100,101,102,10,47,112,111,105,110,116,32,123,32,32,32,32,110,101,119,112,97,116,104,32,32,32,32,50,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,125,32,100,101,102,47,109,97,107,101,118,101,99,32,123,10,32,32,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,32,32,110,101,119,112,97,116,104,32,120,32,121,32,109,111,118,101,116,111,10,32,32,32,32,88,32,89,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,32,32,32,32,88,32,89,32,109,111,118,101,116,111,10,32,32,32,32,120,32,121,32,109,97,107,101,97,114,114,111,119,10,125,32,100,101,102,10,0,108,111,115,116,32,37,115,32,37,115,32,101,100,103,101,10,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,116,97,105,108,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,104,101,97,100,32,108,97,98,101,108,32,37,115,0,110,111,32,112,111,115,105,116,105,111,110,32,102,111,114,32,101,100,103,101,32,119,105,116,104,32,120,108,97,98,101,108,32,37,115,0,102,111,114,99,101,108,97,98,101,108,115,0,37,100,32,111,117,116,32,111,102,32,37,100,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,117,116,32,111,102,32,37,100,32,101,120,116,101,114,105,111,114,32,108,97,98,101,108,115,32,112,111,115,105,116,105,111,110,101,100,46,10,0,37,100,32,111,98,106,115,32,37,100,32,120,108,97,98,101,108,115,32,102,111,114,99,101,61,37,100,32,98,98,61,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,10,0,111,98,106,101,99,116,115,10,0,32,91,37,100,93,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,112,32,34,37,115,34,10,0,120,108,97,98,101,108,115,10,0,32,91,37,100,93,32,37,112,32,115,101,116,32,37,100,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,40,37,46,48,50,102,44,37,46,48,50,102,41,32,37,115,10,0,115,104,97,112,101,102,105,108,101,32,110,111,116,32,115,101,116,32,111,114,32,110,111,116,32,102,111,117,110,100,32,102,111,114,32,101,112,115,102,32,110,111,100,101,32,37,115,10,0,99,111,117,108,100,110,39,116,32,111,112,101,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,0,114,101,97,100,0,66,111,117,110,100,105,110,103,66,111,120,32,110,111,116,32,102,111,117,110,100,32,105,110,32,101,112,115,102,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,102,105,110,100,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,99,97,110,39,116,32,111,112,101,110,32,108,105,98,114,97,114,121,32,102,105,108,101,32,37,115,10,0,69,79,70,0,66,69,71,73,78,0,69,78,68,0,84,82,65,73,76,69,82,0,47,117,115,101,114,95,115,104,97,112,101,95,37,100,32,123,10,0,37,37,66,101,103,105,110,68,111,99,117,109,101,110,116,58,10,0,37,37,69,110,100,68,111,99,117,109,101,110,116,10,0,125,32,98,105,110,100,32,100,101,102,10,0,85,84,70,45,56,32,105,110,112,117,116,32,117,115,101,115,32,110,111,110,45,76,97,116,105,110,49,32,99,104,97,114,97,99,116,101,114,115,32,119,104,105,99,104,32,99,97,110,110,111,116,32,98,101,32,104,97,110,100,108,101,100,32,98,121,32,116,104,105,115,32,80,111,115,116,83,99,114,105,112,116,32,100,114,105,118,101,114,10,0,99,97,110,110,111,116,32,114,101,45,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,105,110,105,116,58,32,99,97,110,110,111,116,32,97,108,108,111,99,97,116,101,32,112,115,10,0,114,111,117,116,101,115,112,108,105,110,101,115,58,32,37,100,32,101,100,103,101,115,44,32,37,100,32,98,111,120,101,115,32,37,46,50,102,32,115,101,99,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,99,97,110,110,111,116,32,102,105,110,100,32,78,79,82,77,65,76,32,101,100,103,101,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,105,108,108,101,103,97,108,32,118,97,108,117,101,115,32,111,102,32,112,114,101,118,32,37,100,32,97,110,100,32,110,101,120,116,32,37,100,44,32,108,105,110,101,32,37,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,101,100,103,101,32,105,115,32,97,32,108,111,111,112,32,97,116,32,37,115,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,115,104,111,114,116,101,115,116,112,97,116,104,32,102,97,105,108,101,100,10,0,105,110,32,114,111,117,116,101,115,112,108,105,110,101,115,44,32,80,114,111,117,116,101,115,112,108,105,110,101,32,102,97,105,108,101,100,10,0,85,110,97,98,108,101,32,116,111,32,114,101,99,108,97,105,109,32,98,111,120,32,115,112,97,99,101,32,105,110,32,115,112,108,105,110,101,32,114,111,117,116,105,110,103,32,102,111,114,32,101,100,103,101,32,34,37,115,34,32,45,62,32,34,37,115,34,46,32,83,111,109,101,116,104,105,110,103,32,105,115,32,112,114,111,98,97,98,108,121,32,115,101,114,105,111,117,115,108,121,32,119,114,111,110,103,46,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,48,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,32,37,100,32,104,97,115,32,76,76,32,99,111,111,114,100,32,62,32,85,82,32,99,111,111,114,100,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,98,111,120,101,115,32,37,100,32,97,110,100,32,37,100,32,100,111,110,39,116,32,116,111,117,99,104,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,115,116,97,114,116,32,112,111,114,116,32,110,111,116,32,105,110,32,102,105,114,115,116,32,98,111,120,10,0,105,110,32,99,104,101,99,107,112,97,116,104,44,32,101,110,100,32,112,111,114,116,32,110,111,116,32,105,110,32,108,97,115,116,32,98,111,120,10,0,37,100,32,98,111,120,101,115,58,10,0,37,100,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,40,37,46,53,103,44,32,37,46,53,103,41,10,0,99,111,110,115,116,114,97,105,110,101,100,0,110,111,116,32,99,111,110,115,116,114,97,105,110,101,100,0,115,116,97,114,116,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,101,110,100,32,112,111,114,116,58,32,40,37,46,53,103,44,32,37,46,53,103,41,44,32,116,97,110,103,101,110,116,32,97,110,103,108,101,58,32,37,46,53,103,44,32,37,115,10,0,115,105,100,101,115,32,61,61,32,52,0,115,104,97,112,101,115,46,99,0,114,111,117,110,100,95,99,111,114,110,101,114,115,0,98,97,100,32,108,97,98,101,108,32,102,111,114,109,97,116,32,37,115,10,0,92,78,0,109,97,114,103,105,110,0,37,108,102,44,37,108,102,0,114,101,103,117,108,97,114,0,99,117,115,116,111,109,0,115,104,97,112,101,102,105,108,101,0,60,110,105,108,62,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,115,104,97,112,101,102,105,108,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,61,34,37,115,34,32,102,111,114,32,110,111,100,101,32,34,37,115,34,10,0,108,97,98,101,108,108,111,99,0,110,111,100,101,32,39,37,115,39,44,32,103,114,97,112,104,32,39,37,115,39,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,108,97,98,101,108,10,0,101,112,115,102,0,117,115,105,110,103,32,37,115,32,102,111,114,32,117,110,107,110,111,119,110,32,115,104,97,112,101,32,37,115,10,0,112,111,108,121,103,111,110,0,111,118,97,108,0,99,105,114,99,108,101,0,112,111,105,110,116,0,101,103,103,0,116,114,105,97,110,103,108,101,0,112,108,97,105,110,116,101,120,116,0,112,108,97,105,110,0,100,105,97,109,111,110,100,0,116,114,97,112,101,122,105,117,109,0,112,97,114,97,108,108,101,108,111,103,114,97,109,0,104,111,117,115,101,0,112,101,110,116,97,103,111,110,0,104,101,120,97,103,111,110,0,115,101,112,116,97,103,111,110,0,111,99,116,97,103,111,110,0,110,111,116,101,0,116,97,98,0,102,111,108,100,101,114,0,98,111,120,51,100,0,99,111,109,112,111,110,101,110,116,0,99,121,108,105,110,100,101,114,0,114,101,99,116,0,114,101,99,116,97,110,103,108,101,0,115,113,117,97,114,101,0,100,111,117,98,108,101,99,105,114,99,108,101,0,100,111,117,98,108,101,111,99,116,97,103,111,110,0,116,114,105,112,108,101,111,99,116,97,103,111,110,0,105,110,118,116,114,105,97,110,103,108,101,0,105,110,118,116,114,97,112,101,122,105,117,109,0,105,110,118,104,111,117,115,101,0,117,110,100,101,114,108,105,110,101,0,77,100,105,97,109,111,110,100,0,77,115,113,117,97,114,101,0,77,99,105,114,99,108,101,0,112,114,111,109,111,116,101,114,0,99,100,115,0,116,101,114,109,105,110,97,116,111,114,0,117,116,114,0,105,110,115,117,108,97,116,111,114,0,114,105,98,111,115,105,116,101,0,114,110,97,115,116,97,98,0,112,114,111,116,101,97,115,101,115,105,116,101,0,112,114,111,116,101,105,110,115,116,97,98,0,112,114,105,109,101,114,115,105,116,101,0,114,101,115,116,114,105,99,116,105,111,110,115,105,116,101,0,102,105,118,101,112,111,118,101,114,104,97,110,103,0,116,104,114,101,101,112,111,118,101,114,104,97,110,103,0,110,111,118,101,114,104,97,110,103,0,97,115,115,101,109,98,108,121,0,115,105,103,110,97,116,117,114,101,0,114,112,114,111,109,111,116,101,114,0,108,97,114,114,111,119,0,114,97,114,114,111,119,0,108,112,114,111,109,111,116,101,114,0,114,101,99,111,114,100,0,77,114,101,99,111,114,100,0,115,116,97,114,0,35,56,48,56,48,56,48,0,35,102,99,102,99,102,99,0,35,51,48,51,48,51,48,0,35,101,56,101,56,101,56,0,35,101,48,101,48,101,48,0,35,102,48,102,48,102,48,0,35,49,48,49,48,49,48,0,35,102,56,102,56,102,56,0,105,110,32,110,111,100,101,32,37,115,10,0,114,111,117,110,100,101,100,0,100,105,97,103,111,110,97,108,115,0,114,97,100,105,97,108,0,115,116,114,105,112,101,100,0,119,101,100,103,101,100,0,95,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,44,32,117,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,97,115,115,32,112,111,105,110,116,32,39,37,115,39,32,45,32,105,103,110,111,114,101,100,10,0,110,111,100,101,32,37,115,44,32,112,111,114,116,32,37,115,32,117,110,114,101,99,111,103,110,105,122,101,100,10,0,37,46,53,103,32,37,46,53,103,32,116,114,97,110,115,108,97,116,101,32,110,101,119,112,97,116,104,32,117,115,101,114,95,115,104,97,112,101,95,37,100,10,0,105,110,118,105,115,0,0,102,105,108,108,101,100,0,0,115,0,101,0,119,0,115,112,108,105,110,101,115,46,99,0,98,101,103,105,110,112,97,116,104,0,80,45,62,101,110,100,46,116,104,101,116,97,32,60,32,50,32,42,32,77,95,80,73,0,101,110,100,112,97,116,104,0,109,97,107,101,83,101,108,102,69,100,103,101,0,103,101,116,115,112,108,105,110,101,112,111,105,110,116,115,58,32,110,111,32,115,112,108,105,110,101,32,112,111,105,110,116,115,32,97,118,97,105,108,97,98,108,101,32,102,111,114,32,101,100,103,101,32,40,37,115,44,37,115,41,10,0,112,111,108,121,108,105,110,101,77,105,100,112,111,105,110,116,0,115,112,97,110,45,62,102,111,110,116,0,116,101,120,116,115,112,97,110,46,99,0,116,101,120,116,115,112,97,110,95,115,105,122,101,0,102,111,110,116,45,62,110,97,109,101,0,102,111,110,116,110,97,109,101,58,32,34,37,115,34,32,114,101,115,111,108,118,101,100,32,116,111,58,32,37,115,10,0,102,111,110,116,110,97,109,101,58,32,117,110,97,98,108,101,32,116,111,32,114,101,115,111,108,118,101,32,34,37,115,34,10,0,99,111,117,114,0,97,114,105,97,108,0,104,101,108,118,101,116,105,99,97,0,91,105,110,116,101,114,110,97,108,32,116,105,109,101,115,93,0,91,105,110,116,101,114,110,97,108,32,99,111,117,114,105,101,114,93,0,91,105,110,116,101,114,110,97,108,32,97,114,105,97,108,93,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,0,85,82,87,32,71,111,116,104,105,99,32,76,0,98,111,111,107,0,115,97,110,115,45,83,101,114,105,102,0,65,118,97,110,116,71,97,114,100,101,45,66,111,111,107,79,98,108,105,113,117,101,0,111,98,108,105,113,117,101,0,105,116,97,108,105,99,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,0,100,101,109,105,0,65,118,97,110,116,71,97,114,100,101,45,68,101,109,105,79,98,108,105,113,117,101,0,66,111,111,107,109,97,110,45,68,101,109,105,0,85,82,87,32,66,111,111,107,109,97,110,32,76,0,115,101,114,105,102,0,66,111,111,107,109,97,110,45,68,101,109,105,73,116,97,108,105,99,0,66,111,111,107,109,97,110,45,76,105,103,104,116,0,108,105,103,104,116,0,66,111,111,107,109,97,110,45,76,105,103,104,116,73,116,97,108,105,99,0,67,111,117,114,105,101,114,0,109,111,110,111,115,112,97,99,101,0,67,111,117,114,105,101,114,45,66,111,108,100,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,0,99,111,110,100,101,110,115,101,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,66,111,108,100,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,78,97,114,114,111,119,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,0,67,101,110,116,117,114,121,32,83,99,104,111,111,108,98,111,111,107,32,76,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,66,111,108,100,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,73,116,97,108,105,99,0,78,101,119,67,101,110,116,117,114,121,83,99,104,108,98,107,45,82,111,109,97,110,0,114,111,109,97,110,0,80,97,108,97,116,105,110,111,45,66,111,108,100,0,80,97,108,97,116,105,110,111,32,76,105,110,111,116,121,112,101,0,80,97,108,97,116,105,110,111,45,66,111,108,100,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,73,116,97,108,105,99,0,80,97,108,97,116,105,110,111,45,82,111,109,97,110,0,83,121,109,98,111,108,0,102,97,110,116,97,115,121,0,84,105,109,101,115,45,66,111,108,100,0,84,105,109,101,115,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,84,105,109,101,115,45,73,116,97,108,105,99,0,90,97,112,102,67,104,97,110,99,101,114,121,45,77,101,100,105,117,109,73,116,97,108,105,99,0,85,82,87,32,67,104,97,110,99,101,114,121,32,76,0,109,101,100,105,117,109,0,90,97,112,102,68,105,110,103,98,97,116,115,0,68,105,110,103,98,97,116,115,0,105,110,112,117,116,115,99,97,108,101,0,110,111,0,116,114,117,101,0,121,101,115,0,117,116,105,108,115,46,99,0,117,32,61,61,32,85,70,95,102,105,110,100,40,117,41,0,85,70,95,115,101,116,110,97,109,101,0,1,102,105,108,101,32,108,111,97,100,105,110,103,32,105,115,32,100,105,115,97,98,108,101,100,32,98,101,99,97,117,115,101,32,116,104,101,32,101,110,118,105,114,111,110,109,101,110,116,32,99,111,110,116,97,105,110,115,32,83,69,82,86,69,82,95,78,65,77,69,61,34,37,115,34,10,97,110,100,32,116,104,101,32,71,86,95,70,73,76,69,95,80,65,84,72,32,118,97,114,105,97,98,108,101,32,105,115,32,117,110,115,101,116,32,111,114,32,101,109,112,116,121,46,10,0,80,97,116,104,32,112,114,111,118,105,100,101,100,32,116,111,32,102,105,108,101,58,32,34,37,115,34,32,104,97,115,32,98,101,101,110,32,105,103,110,111,114,101,100,32,98,101,99,97,117,115,101,32,102,105,108,101,115,32,97,114,101,32,111,110,108,121,32,112,101,114,109,105,116,116,101,100,32,116,111,32,98,101,32,108,111,97,100,101,100,32,102,114,111,109,32,116,104,101,32,100,105,114,101,99,116,111,114,105,101,115,32,105,110,32,34,37,115,34,32,119,104,101,110,32,114,117,110,110,105,110,103,32,105,110,32,97,110,32,104,116,116,112,32,115,101,114,118,101,114,46,10,0,37,115,37,115,37,115,0,47,0,58,0,101,108,108,105,112,115,101,0,84,105,109,101,115,45,82,111,109,97,110,0,99,108,117,115,116,101,114,0,95,95,99,108,117,115,116,101,114,110,111,100,101,115,0,99,108,117,115,116,101,114,32,99,121,99,108,101,32,37,115,32,45,45,32,37,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,10,0,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,116,97,105,108,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,104,101,97,100,32,99,108,117,115,116,101,114,32,37,115,10,0,104,101,97,100,32,110,111,100,101,32,37,115,32,105,110,115,105,100,101,32,116,97,105,108,32,99,108,117,115,116,101,114,32,37,115,10,0,95,95,0,108,97,98,101,108,0,115,104,97,112,101,0,98,111,120,0,84,119,111,32,99,108,117,115,116,101,114,115,32,110,97,109,101,100,32,37,115,32,45,32,116,104,101,32,115,101,99,111,110,100,32,119,105,108,108,32,98,101,32,105,103,110,111,114,101,100,10,0,109,97,112,78,0,65,69,108,105,103,0,65,97,99,117,116,101,0,65,99,105,114,99,0,65,103,114,97,118,101,0,65,108,112,104,97,0,65,114,105,110,103,0,65,116,105,108,100,101,0,65,117,109,108,0,66,101,116,97,0,67,99,101,100,105,108,0,67,104,105,0,68,97,103,103,101,114,0,68,101,108,116,97,0,69,84,72,0,69,97,99,117,116,101,0,69,99,105,114,99,0,69,103,114,97,118,101,0,69,112,115,105,108,111,110,0,69,116,97,0,69,117,109,108,0,71,97,109,109,97,0,73,97,99,117,116,101,0,73,99,105,114,99,0,73,103,114,97,118,101,0,73,111,116,97,0,73,117,109,108,0,75,97,112,112,97,0,76,97,109,98,100,97,0,77,117,0,78,116,105,108,100,101,0,78,117,0,79,69,108,105,103,0,79,97,99,117,116,101,0,79,99,105,114,99,0,79,103,114,97,118,101,0,79,109,101,103,97,0,79,109,105,99,114,111,110,0,79,115,108,97,115,104,0,79,116,105,108,100,101,0,79,117,109,108,0,80,104,105,0,80,105,0,80,114,105,109,101,0,80,115,105,0,82,104,111,0,83,99,97,114,111,110,0,83,105,103,109,97,0,84,72,79,82,78,0,84,97,117,0,84,104,101,116,97,0,85,97,99,117,116,101,0,85,99,105,114,99,0,85,103,114,97,118,101,0,85,112,115,105,108,111,110,0,85,117,109,108,0,88,105,0,89,97,99,117,116,101,0,89,117,109,108,0,90,101,116,97,0,97,97,99,117,116,101,0,97,99,105,114,99,0,97,99,117,116,101,0,97,101,108,105,103,0,97,103,114,97,118,101,0,97,108,101,102,115,121,109,0,97,108,112,104,97,0,97,109,112,0,97,110,100,0,97,110,103,0,97,114,105,110,103,0,97,115,121,109,112,0,97,116,105,108,100,101,0,97,117,109,108,0,98,100,113,117,111,0,98,101,116,97,0,98,114,118,98,97,114,0,98,117,108,108,0,99,97,112,0,99,99,101,100,105,108,0,99,101,100,105,108,0,99,101,110,116,0,99,104,105,0,99,105,114,99,0,99,108,117,98,115,0,99,111,110,103,0,99,111,112,121,0,99,114,97,114,114,0,99,117,112,0,99,117,114,114,101,110,0,100,65,114,114,0,100,97,103,103,101,114,0,100,97,114,114,0,100,101,103,0,100,101,108,116,97,0,100,105,97,109,115,0,100,105,118,105,100,101,0,101,97,99,117,116,101,0,101,99,105,114,99,0,101,103,114,97,118,101,0,101,109,112,116,121,0,101,109,115,112,0,101,110,115,112,0,101,112,115,105,108,111,110,0,101,113,117,105,118,0,101,116,97,0,101,116,104,0,101,117,109,108,0,101,117,114,111,0,101,120,105,115,116,0,102,110,111,102,0,102,111,114,97,108,108,0,102,114,97,99,49,50,0,102,114,97,99,49,52,0,102,114,97,99,51,52,0,102,114,97,115,108,0,103,97,109,109,97,0,103,101,0,103,116,0,104,65,114,114,0,104,97,114,114,0,104,101,97,114,116,115,0,104,101,108,108,105,112,0,105,97,99,117,116,101,0,105,99,105,114,99,0,105,101,120,99,108,0,105,103,114,97,118,101,0,105,109,97,103,101,0,105,110,102,105,110,0,105,110,116,0,105,111,116,97,0,105,113,117,101,115,116,0,105,115,105,110,0,105,117,109,108,0,107,97,112,112,97,0,108,65,114,114,0,108,97,109,98,100,97,0,108,97,110,103,0,108,97,113,117,111,0,108,97,114,114,0,108,99,101,105,108,0,108,100,113,117,111,0,108,101,0,108,102,108,111,111,114,0,108,111,119,97,115,116,0,108,111,122,0,108,114,109,0,108,115,97,113,117,111,0,108,115,113,117,111,0,108,116,0,109,97,99,114,0,109,100,97,115,104,0,109,105,99,114,111,0,109,105,100,100,111,116,0,109,117,0,110,97,98,108,97,0,110,98,115,112,0,110,100,97,115,104,0,110,101,0,110,105,0,110,111,116,0,110,111,116,105,110,0,110,115,117,98,0,110,116,105,108,100,101,0,110,117,0,111,97,99,117,116,101,0,111,99,105,114,99,0,111,101,108,105,103,0,111,103,114,97,118,101,0,111,108,105,110,101,0,111,109,101,103,97,0,111,109,105,99,114,111,110,0,111,112,108,117,115,0,111,114,0,111,114,100,102,0,111,114,100,109,0,111,115,108,97,115,104,0,111,116,105,108,100,101,0,111,116,105,109,101,115,0,111,117,109,108,0,112,97,114,97,0,112,97,114,116,0,112,101,114,109,105,108,0,112,101,114,112,0,112,104,105,0,112,105,0,112,105,118,0,112,108,117,115,109,110,0,112,111,117,110,100,0,112,114,105,109,101,0,112,114,111,100,0,112,114,111,112,0,112,115,105,0,113,117,111,116,0,114,65,114,114,0,114,97,100,105,99,0,114,97,110,103,0,114,97,113,117,111,0,114,97,114,114,0,114,99,101,105,108,0,114,100,113,117,111,0,114,101,97,108,0,114,101,103,0,114,102,108,111,111,114,0,114,104,111,0,114,108,109,0,114,115,97,113,117,111,0,114,115,113,117,111,0,115,98,113,117,111,0,115,99,97,114,111,110,0,115,100,111,116,0,115,101,99,116,0,115,104,121,0,115,105,103,109,97,0,115,105,103,109,97,102,0,115,105,109,0,115,112,97,100,101,115,0,115,117,98,0,115,117,98,101,0,115,117,109,0,115,117,112,0,115,117,112,49,0,115,117,112,50,0,115,117,112,51,0,115,117,112,101,0,115,122,108,105,103,0,116,97,117,0,116,104,101,114,101,52,0,116,104,101,116,97,0,116,104,101,116,97,115,121,109,0,116,104,105,110,115,112,0,116,104,111,114,110,0,116,105,108,100,101,0,116,105,109,101,115,0,116,114,97,100,101,0,117,65,114,114,0,117,97,99,117,116,101,0,117,97,114,114,0,117,99,105,114,99,0,117,103,114,97,118,101,0,117,109,108,0,117,112,115,105,104,0,117,112,115,105,108,111,110,0,117,117,109,108,0,119,101,105,101,114,112,0,120,105,0,121,97,99,117,116,101,0,121,101,110,0,121,117,109,108,0,122,101,116,97,0,122,119,106,0,122,119,110,106,0,85,84,70,56,32,99,111,100,101,115,32,62,32,52,32,98,121,116,101,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,32,40,103,114,97,112,104,32,37,115,41,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,73,110,118,97,108,105,100,32,37,100,45,98,121,116,101,32,85,84,70,56,32,102,111,117,110,100,32,105,110,32,105,110,112,117,116,32,111,102,32,103,114,97,112,104,32,37,115,32,45,32,116,114,101,97,116,101,100,32,97,115,32,76,97,116,105,110,45,49,46,32,80,101,114,104,97,112,115,32,34,45,71,99,104,97,114,115,101,116,61,108,97,116,105,110,49,34,32,105,115,32,110,101,101,100,101,100,63,10,0,98,122,46,115,105,122,101,0,111,118,101,114,108,97,112,95,98,101,122,105,101,114,0,117,114,118,101,100,0,111,109,112,111,117,110,100,0,97,108,115,101,0,105,110,101,0,111,110,101,0,111,0,114,116,104,111,0,111,108,121,108,105,110,101,0,112,108,105,110,101,0,114,117,101,0,101,115,0,85,110,107,110,111,119,110,32,34,115,112,108,105,110,101,115,34,32,118,97,108,117,101,58,32,34,37,115,34,32,45,32,105,103,110,111,114,101,100,10,0,115,112,108,105,110,101,115,0,111,100,98,0,79,114,116,104,111,103,111,110,97,108,32,101,100,103,101,115,32,100,111,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,104,97,110,100,108,101,32,101,100,103,101,32,108,97,98,101,108,115,46,32,84,114,121,32,117,115,105,110,103,32,120,108,97,98,101,108,115,46,10,0,111,114,116,104,111,32,37,115,32,37,115,10,0,99,104,97,110,105,0,111,114,116,104,111,46,99,0,99,104,97,110,83,101,97,114,99,104,0,99,112,0,37,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,40,97,116,101,110,100,41,10,47,112,111,105,110,116,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,88,32,89,32,51,32,48,32,51,54,48,32,97,114,99,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,47,110,111,100,101,32,123,10,32,47,117,32,101,120,99,104,32,100,101,102,10,32,47,114,32,101,120,99,104,32,100,101,102,10,32,47,100,32,101,120,99,104,32,100,101,102,10,32,47,108,32,101,120,99,104,32,100,101,102,10,32,110,101,119,112,97,116,104,32,108,32,100,32,109,111,118,101,116,111,10,32,114,32,100,32,108,105,110,101,116,111,32,114,32,117,32,108,105,110,101,116,111,32,108,32,117,32,108,105,110,101,116,111,10,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,10,0,37,100,32,37,100,32,116,114,97,110,115,108,97,116,101,10,0,48,46,56,32,48,46,56,32,48,46,56,32,115,101,116,114,103,98,99,111,108,111,114,10,0,115,104,111,119,112,97,103,101,10,37,37,37,37,84,114,97,105,108,101,114,10,37,37,37,37,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,110,101,119,112,97,116,104,32,37,100,32,37,100,32,109,111,118,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,10,0,37,100,32,37,100,32,108,105,110,101,116,111,32,115,116,114,111,107,101,10,0,99,104,97,110,110,101,108,32,37,100,32,40,37,102,44,37,102,41,10,0,32,45,62,10,0,32,32,32,32,32,0,40,40,37,102,44,37,102,41,44,40,37,102,44,37,102,41,41,32,37,115,32,37,115,0,66,95,82,73,71,72,84,0,66,95,68,79,87,78,0,66,95,76,69,70,84,0,66,95,85,80,0,66,95,78,79,68,69,0,115,101,103,0,110,101,120,116,95,115,101,103,0,100,101,99,105,100,101,95,112,111,105,110,116,0,105,110,99,111,109,112,97,114,97,98,108,101,32,115,101,103,109,101,110,116,115,32,33,33,32,45,45,32,65,98,111,114,116,105,110,103,10,0,115,49,45,62,99,111,109,109,95,99,111,111,114,100,61,61,115,50,45,62,99,111,109,109,95,99,111,111,114,100,0,105,115,95,112,97,114,97,108,108,101,108,0,103,114,97,112,104,32,71,32,123,10,0,32,110,111,100,101,91,115,104,97,112,101,61,112,111,105,110,116,93,10,0,32,32,37,100,32,91,112,111,115,61,34,37,100,44,37,100,34,93,10,0,32,32,37,100,32,45,45,32,37,100,91,108,101,110,61,34,37,102,34,93,10,0,125,10,0,99,111,108,111,114,32,37,115,0,37,115,32,105,115,32,110,111,116,32,97,32,107,110,111,119,110,32,99,111,108,111,114,46,10,0,101,114,114,111,114,32,105,110,32,99,111,108,120,108,97,116,101,40,41,10,0,115,111,108,105,100,0,105,110,118,105,115,105,98,108,101,0,98,111,108,100,0,115,101,116,108,105,110,101,119,105,100,116,104,0,102,105,108,108,101,100,0,117,110,102,105,108,108,101,100,0,116,97,112,101,114,101,100,0,103,118,114,101,110,100,101,114,95,115,101,116,95,115,116,121,108,101,58,32,117,110,115,117,112,112,111,114,116,101,100,32,115,116,121,108,101,32,37,115,32,45,32,105,103,110,111,114,105,110,103,10,0,103,118,114,101,110,100,101,114,46,99,0,103,118,114,101,110,100,101,114,95,117,115,101,114,115,104,97,112,101,0,110,97,109,101,0,110,97,109,101,91,48,93,0,98,111,116,104,0,108,97,121,111,117,116,0,76,97,121,111,117,116,32,116,121,112,101,58,32,34,37,115,34,32,110,111,116,32,114,101,99,111,103,110,105,122,101,100,46,32,85,115,101,32,111,110,101,32,111,102,58,37,115,10,0,106,111,98,0,103,118,108,111,97,100,105,109,97,103,101,46,99,0,103,118,108,111,97,100,105,109,97,103,101,0,117,115,0,117,115,45,62,110,97,109,101,0,117,115,45,62,110,97,109,101,91,48,93,0,78,111,32,108,111,97,100,105,109,97,103,101,32,112,108,117,103,105,110,32,102,111,114,32,34,37,115,34,10,0,81,0,76,101,102,116,0,75,80,95,76,101,102,116,0,82,105,103,104,116,0,75,80,95,82,105,103,104,116,0,85,112,0,75,80,95,85,112,0,68,111,119,110,0,75,80,95,68,111,119,110,0,112,108,117,115,0,75,80,95,65,100,100,0,109,105,110,117,115,0,75,80,95,83,117,98,116,114,97,99,116,0,70,0,101,100,103,101,0,116,97,105,108,112,111,114,116,0,104,101,97,100,112,111,114,116,0,107,101,121,0,85,82,76,0,110,111,100,101,0,100,105,103,114,97,112,104,0,103,114,97,112,104,0,115,117,98,103,114,97,112,104,0,95,76,84,88,95,108,105,98,114,97,114,121,0,116,101,120,116,108,97,121,111,117,116,0,111,98,106,112,45,62,108,98,108,0,120,108,97,98,101,108,115,46,99,0,120,108,97,100,106,117,115,116,0,120,108,105,110,116,101,114,115,101,99,116,105,111,110,115,0,108,112,32,33,61,32,99,108,112,0,103,101,116,105,110,116,114,115,120,105,0,111,98,106,112,49,45,62,115,122,46,120,32,61,61,32,48,32,38,38,32,111,98,106,112,49,45,62,115,122,46,121,32,61,61,32,48,0,108,98,108,101,110,99,108,111,115,105,110,103,0,118,112,0,120,108,104,100,120,117,110,108,111,97,100,0,115,105,122,101,61,61,102,114,101,101,100,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,50,93,32,60,32,73,78,84,95,77,65,88,0,111,98,106,112,108,112,109,107,115,0,114,101,99,116,46,98,111,117,110,100,97,114,121,91,51,93,32,60,32,73,78,84,95,77,65,88,0,111,117,116,32,111,102,32,109,101,109,111,114,121,10,0,35,37,50,120,37,50,120,37,50,120,37,50,120,0,37,108,102,37,108,102,37,108,102,0,47,97,99,99,101,110,116,51,47,49,0,47,97,99,99,101,110,116,51,47,50,0,47,97,99,99,101,110,116,51,47,51,0,47,97,99,99,101,110,116,52,47,49,0,47,97,99,99,101,110,116,52,47,50,0,47,97,99,99,101,110,116,52,47,51,0,47,97,99,99,101,110,116,52,47,52,0,47,97,99,99,101,110,116,53,47,49,0,47,97,99,99,101,110,116,53,47,50,0,47,97,99,99,101,110,116,53,47,51,0,47,97,99,99,101,110,116,53,47,52,0,47,97,99,99,101,110,116,53,47,53,0,47,97,99,99,101,110,116,54,47,49,0,47,97,99,99,101,110,116,54,47,50,0,47,97,99,99,101,110,116,54,47,51,0,47,97,99,99,101,110,116,54,47,52,0,47,97,99,99,101,110,116,54,47,53,0,47,97,99,99,101,110,116,54,47,54,0,47,97,99,99,101,110,116,55,47,49,0,47,97,99,99,101,110,116,55,47,50,0,47,97,99,99,101,110,116,55,47,51,0,47,97,99,99,101,110,116,55,47,52,0,47,97,99,99,101,110,116,55,47,53,0,47,97,99,99,101,110,116,55,47,54,0,47,97,99,99,101,110,116,55,47,55,0,47,97,99,99,101,110,116,56,47,49,0,47,97,99,99,101,110,116,56,47,50,0,47,97,99,99,101,110,116,56,47,51,0,47,97,99,99,101,110,116,56,47,52,0,47,97,99,99,101,110,116,56,47,53,0,47,97,99,99,101,110,116,56,47,54,0,47,97,99,99,101,110,116,56,47,55,0,47,97,99,99,101,110,116,56,47,56,0,47,98,108,117,101,115,51,47,49,0,47,98,108,117,101,115,51,47,50,0,47,98,108,117,101,115,51,47,51,0,47,98,108,117,101,115,52,47,49,0,47,98,108,117,101,115,52,47,50,0,47,98,108,117,101,115,52,47,51,0,47,98,108,117,101,115,52,47,52,0,47,98,108,117,101,115,53,47,49,0,47,98,108,117,101,115,53,47,50,0,47,98,108,117,101,115,53,47,51,0,47,98,108,117,101,115,53,47,52,0,47,98,108,117,101,115,53,47,53,0,47,98,108,117,101,115,54,47,49,0,47,98,108,117,101,115,54,47,50,0,47,98,108,117,101,115,54,47,51,0,47,98,108,117,101,115,54,47,52,0,47,98,108,117,101,115,54,47,53,0,47,98,108,117,101,115,54,47,54,0,47,98,108,117,101,115,55,47,49,0,47,98,108,117,101,115,55,47,50,0,47,98,108,117,101,115,55,47,51,0,47,98,108,117,101,115,55,47,52,0,47,98,108,117,101,115,55,47,53],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+102424);allocate([0,47,98,108,117,101,115,55,47,54,0,47,98,108,117,101,115,55,47,55,0,47,98,108,117,101,115,56,47,49,0,47,98,108,117,101,115,56,47,50,0,47,98,108,117,101,115,56,47,51,0,47,98,108,117,101,115,56,47,52,0,47,98,108,117,101,115,56,47,53,0,47,98,108,117,101,115,56,47,54,0,47,98,108,117,101,115,56,47,55,0,47,98,108,117,101,115,56,47,56,0,47,98,108,117,101,115,57,47,49,0,47,98,108,117,101,115,57,47,50,0,47,98,108,117,101,115,57,47,51,0,47,98,108,117,101,115,57,47,52,0,47,98,108,117,101,115,57,47,53,0,47,98,108,117,101,115,57,47,54,0,47,98,108,117,101,115,57,47,55,0,47,98,108,117,101,115,57,47,56,0,47,98,108,117,101,115,57,47,57,0,47,98,114,98,103,49,48,47,49,0,47,98,114,98,103,49,48,47,49,48,0,47,98,114,98,103,49,48,47,50,0,47,98,114,98,103,49,48,47,51,0,47,98,114,98,103,49,48,47,52,0,47,98,114,98,103,49,48,47,53,0,47,98,114,98,103,49,48,47,54,0,47,98,114,98,103,49,48,47,55,0,47,98,114,98,103,49,48,47,56,0,47,98,114,98,103,49,48,47,57,0,47,98,114,98,103,49,49,47,49,0,47,98,114,98,103,49,49,47,49,48,0,47,98,114,98,103,49,49,47,49,49,0,47,98,114,98,103,49,49,47,50,0,47,98,114,98,103,49,49,47,51,0,47,98,114,98,103,49,49,47,52,0,47,98,114,98,103,49,49,47,53,0,47,98,114,98,103,49,49,47,54,0,47,98,114,98,103,49,49,47,55,0,47,98,114,98,103,49,49,47,56,0,47,98,114,98,103,49,49,47,57,0,47,98,114,98,103,51,47,49,0,47,98,114,98,103,51,47,50,0,47,98,114,98,103,51,47,51,0,47,98,114,98,103,52,47,49,0,47,98,114,98,103,52,47,50,0,47,98,114,98,103,52,47,51,0,47,98,114,98,103,52,47,52,0,47,98,114,98,103,53,47,49,0,47,98,114,98,103,53,47,50,0,47,98,114,98,103,53,47,51,0,47,98,114,98,103,53,47,52,0,47,98,114,98,103,53,47,53,0,47,98,114,98,103,54,47,49,0,47,98,114,98,103,54,47,50,0,47,98,114,98,103,54,47,51,0,47,98,114,98,103,54,47,52,0,47,98,114,98,103,54,47,53,0,47,98,114,98,103,54,47,54,0,47,98,114,98,103,55,47,49,0,47,98,114,98,103,55,47,50,0,47,98,114,98,103,55,47,51,0,47,98,114,98,103,55,47,52,0,47,98,114,98,103,55,47,53,0,47,98,114,98,103,55,47,54,0,47,98,114,98,103,55,47,55,0,47,98,114,98,103,56,47,49,0,47,98,114,98,103,56,47,50,0,47,98,114,98,103,56,47,51,0,47,98,114,98,103,56,47,52,0,47,98,114,98,103,56,47,53,0,47,98,114,98,103,56,47,54,0,47,98,114,98,103,56,47,55,0,47,98,114,98,103,56,47,56,0,47,98,114,98,103,57,47,49,0,47,98,114,98,103,57,47,50,0,47,98,114,98,103,57,47,51,0,47,98,114,98,103,57,47,52,0,47,98,114,98,103,57,47,53,0,47,98,114,98,103,57,47,54,0,47,98,114,98,103,57,47,55,0,47,98,114,98,103,57,47,56,0,47,98,114,98,103,57,47,57,0,47,98,117,103,110,51,47,49,0,47,98,117,103,110,51,47,50,0,47,98,117,103,110,51,47,51,0,47,98,117,103,110,52,47,49,0,47,98,117,103,110,52,47,50,0,47,98,117,103,110,52,47,51,0,47,98,117,103,110,52,47,52,0,47,98,117,103,110,53,47,49,0,47,98,117,103,110,53,47,50,0,47,98,117,103,110,53,47,51,0,47,98,117,103,110,53,47,52,0,47,98,117,103,110,53,47,53,0,47,98,117,103,110,54,47,49,0,47,98,117,103,110,54,47,50,0,47,98,117,103,110,54,47,51,0,47,98,117,103,110,54,47,52,0,47,98,117,103,110,54,47,53,0,47,98,117,103,110,54,47,54,0,47,98,117,103,110,55,47,49,0,47,98,117,103,110,55,47,50,0,47,98,117,103,110,55,47,51,0,47,98,117,103,110,55,47,52,0,47,98,117,103,110,55,47,53,0,47,98,117,103,110,55,47,54,0,47,98,117,103,110,55,47,55,0,47,98,117,103,110,56,47,49,0,47,98,117,103,110,56,47,50,0,47,98,117,103,110,56,47,51,0,47,98,117,103,110,56,47,52,0,47,98,117,103,110,56,47,53,0,47,98,117,103,110,56,47,54,0,47,98,117,103,110,56,47,55,0,47,98,117,103,110,56,47,56,0,47,98,117,103,110,57,47,49,0,47,98,117,103,110,57,47,50,0,47,98,117,103,110,57,47,51,0,47,98,117,103,110,57,47,52,0,47,98,117,103,110,57,47,53,0,47,98,117,103,110,57,47,54,0,47,98,117,103,110,57,47,55,0,47,98,117,103,110,57,47,56,0,47,98,117,103,110,57,47,57,0,47,98,117,112,117,51,47,49,0,47,98,117,112,117,51,47,50,0,47,98,117,112,117,51,47,51,0,47,98,117,112,117,52,47,49,0,47,98,117,112,117,52,47,50,0,47,98,117,112,117,52,47,51,0,47,98,117,112,117,52,47,52,0,47,98,117,112,117,53,47,49,0,47,98,117,112,117,53,47,50,0,47,98,117,112,117,53,47,51,0,47,98,117,112,117,53,47,52,0,47,98,117,112,117,53,47,53,0,47,98,117,112,117,54,47,49,0,47,98,117,112,117,54,47,50,0,47,98,117,112,117,54,47,51,0,47,98,117,112,117,54,47,52,0,47,98,117,112,117,54,47,53,0,47,98,117,112,117,54,47,54,0,47,98,117,112,117,55,47,49,0,47,98,117,112,117,55,47,50,0,47,98,117,112,117,55,47,51,0,47,98,117,112,117,55,47,52,0,47,98,117,112,117,55,47,53,0,47,98,117,112,117,55,47,54,0,47,98,117,112,117,55,47,55,0,47,98,117,112,117,56,47,49,0,47,98,117,112,117,56,47,50,0,47,98,117,112,117,56,47,51,0,47,98,117,112,117,56,47,52,0,47,98,117,112,117,56,47,53,0,47,98,117,112,117,56,47,54,0,47,98,117,112,117,56,47,55,0,47,98,117,112,117,56,47,56,0,47,98,117,112,117,57,47,49,0,47,98,117,112,117,57,47,50,0,47,98,117,112,117,57,47,51,0,47,98,117,112,117,57,47,52,0,47,98,117,112,117,57,47,53,0,47,98,117,112,117,57,47,54,0,47,98,117,112,117,57,47,55,0,47,98,117,112,117,57,47,56,0,47,98,117,112,117,57,47,57,0,47,100,97,114,107,50,51,47,49,0,47,100,97,114,107,50,51,47,50,0,47,100,97,114,107,50,51,47,51,0,47,100,97,114,107,50,52,47,49,0,47,100,97,114,107,50,52,47,50,0,47,100,97,114,107,50,52,47,51,0,47,100,97,114,107,50,52,47,52,0,47,100,97,114,107,50,53,47,49,0,47,100,97,114,107,50,53,47,50,0,47,100,97,114,107,50,53,47,51,0,47,100,97,114,107,50,53,47,52,0,47,100,97,114,107,50,53,47,53,0,47,100,97,114,107,50,54,47,49,0,47,100,97,114,107,50,54,47,50,0,47,100,97,114,107,50,54,47,51,0,47,100,97,114,107,50,54,47,52,0,47,100,97,114,107,50,54,47,53,0,47,100,97,114,107,50,54,47,54,0,47,100,97,114,107,50,55,47,49,0,47,100,97,114,107,50,55,47,50,0,47,100,97,114,107,50,55,47,51,0,47,100,97,114,107,50,55,47,52,0,47,100,97,114,107,50,55,47,53,0,47,100,97,114,107,50,55,47,54,0,47,100,97,114,107,50,55,47,55,0,47,100,97,114,107,50,56,47,49,0,47,100,97,114,107,50,56,47,50,0,47,100,97,114,107,50,56,47,51,0,47,100,97,114,107,50,56,47,52,0,47,100,97,114,107,50,56,47,53,0,47,100,97,114,107,50,56,47,54,0,47,100,97,114,107,50,56,47,55,0,47,100,97,114,107,50,56,47,56,0,47,103,110,98,117,51,47,49,0,47,103,110,98,117,51,47,50,0,47,103,110,98,117,51,47,51,0,47,103,110,98,117,52,47,49,0,47,103,110,98,117,52,47,50,0,47,103,110,98,117,52,47,51,0,47,103,110,98,117,52,47,52,0,47,103,110,98,117,53,47,49,0,47,103,110,98,117,53,47,50,0,47,103,110,98,117,53,47,51,0,47,103,110,98,117,53,47,52,0,47,103,110,98,117,53,47,53,0,47,103,110,98,117,54,47,49,0,47,103,110,98,117,54,47,50,0,47,103,110,98,117,54,47,51,0,47,103,110,98,117,54,47,52,0,47,103,110,98,117,54,47,53,0,47,103,110,98,117,54,47,54,0,47,103,110,98,117,55,47,49,0,47,103,110,98,117,55,47,50,0,47,103,110,98,117,55,47,51,0,47,103,110,98,117,55,47,52,0,47,103,110,98,117,55,47,53,0,47,103,110,98,117,55,47,54,0,47,103,110,98,117,55,47,55,0,47,103,110,98,117,56,47,49,0,47,103,110,98,117,56,47,50,0,47,103,110,98,117,56,47,51,0,47,103,110,98,117,56,47,52,0,47,103,110,98,117,56,47,53,0,47,103,110,98,117,56,47,54,0,47,103,110,98,117,56,47,55,0,47,103,110,98,117,56,47,56,0,47,103,110,98,117,57,47,49,0,47,103,110,98,117,57,47,50,0,47,103,110,98,117,57,47,51,0,47,103,110,98,117,57,47,52,0,47,103,110,98,117,57,47,53,0,47,103,110,98,117,57,47,54,0,47,103,110,98,117,57,47,55,0,47,103,110,98,117,57,47,56,0,47,103,110,98,117,57,47,57,0,47,103,114,101,101,110,115,51,47,49,0,47,103,114,101,101,110,115,51,47,50,0,47,103,114,101,101,110,115,51,47,51,0,47,103,114,101,101,110,115,52,47,49,0,47,103,114,101,101,110,115,52,47,50,0,47,103,114,101,101,110,115,52,47,51,0,47,103,114,101,101,110,115,52,47,52,0,47,103,114,101,101,110,115,53,47,49,0,47,103,114,101,101,110,115,53,47,50,0,47,103,114,101,101,110,115,53,47,51,0,47,103,114,101,101,110,115,53,47,52,0,47,103,114,101,101,110,115,53,47,53,0,47,103,114,101,101,110,115,54,47,49,0,47,103,114,101,101,110,115,54,47,50,0,47,103,114,101,101,110,115,54,47,51,0,47,103,114,101,101,110,115,54,47,52,0,47,103,114,101,101,110,115,54,47,53,0,47,103,114,101,101,110,115,54,47,54,0,47,103,114,101,101,110,115,55,47,49,0,47,103,114,101,101,110,115,55,47,50,0,47,103,114,101,101,110,115,55,47,51,0,47,103,114,101,101,110,115,55,47,52,0,47,103,114,101,101,110,115,55,47,53,0,47,103,114,101,101,110,115,55,47,54,0,47,103,114,101,101,110,115,55,47,55,0,47,103,114,101,101,110,115,56,47,49,0,47,103,114,101,101,110,115,56,47,50,0,47,103,114,101,101,110,115,56,47,51,0,47,103,114,101,101,110,115,56,47,52,0,47,103,114,101,101,110,115,56,47,53,0,47,103,114,101,101,110,115,56,47,54,0,47,103,114,101,101,110,115,56,47,55,0,47,103,114,101,101,110,115,56,47,56,0,47,103,114,101,101,110,115,57,47,49,0,47,103,114,101,101,110,115,57,47,50,0,47,103,114,101,101,110,115,57,47,51,0,47,103,114,101,101,110,115,57,47,52,0,47,103,114,101,101,110,115,57,47,53,0,47,103,114,101,101,110,115,57,47,54,0,47,103,114,101,101,110,115,57,47,55,0,47,103,114,101,101,110,115,57,47,56,0,47,103,114,101,101,110,115,57,47,57,0,47,103,114,101,121,115,51,47,49,0,47,103,114,101,121,115,51,47,50,0,47,103,114,101,121,115,51,47,51,0,47,103,114,101,121,115,52,47,49,0,47,103,114,101,121,115,52,47,50,0,47,103,114,101,121,115,52,47,51,0,47,103,114,101,121,115,52,47,52,0,47,103,114,101,121,115,53,47,49,0,47,103,114,101,121,115,53,47,50,0,47,103,114,101,121,115,53,47,51,0,47,103,114,101,121,115,53,47,52,0,47,103,114,101,121,115,53,47,53,0,47,103,114,101,121,115,54,47,49,0,47,103,114,101,121,115,54,47,50,0,47,103,114,101,121,115,54,47,51,0,47,103,114,101,121,115,54,47,52,0,47,103,114,101,121,115,54,47,53,0,47,103,114,101,121,115,54,47,54,0,47,103,114,101,121,115,55,47,49,0,47,103,114,101,121,115,55,47,50,0,47,103,114,101,121,115,55,47,51,0,47,103,114,101,121,115,55,47,52,0,47,103,114,101,121,115,55,47,53,0,47,103,114,101,121,115,55,47,54,0,47,103,114,101,121,115,55,47,55,0,47,103,114,101,121,115,56,47,49,0,47,103,114,101,121,115,56,47,50,0,47,103,114,101,121,115,56,47,51,0,47,103,114,101,121,115,56,47,52,0,47,103,114,101,121,115,56,47,53,0,47,103,114,101,121,115,56,47,54,0,47,103,114,101,121,115,56,47,55,0,47,103,114,101,121,115,56,47,56,0,47,103,114,101,121,115,57,47,49,0,47,103,114,101,121,115,57,47,50,0,47,103,114,101,121,115,57,47,51,0,47,103,114,101,121,115,57,47,52,0,47,103,114,101,121,115,57,47,53,0,47,103,114,101,121,115,57,47,54,0,47,103,114,101,121,115,57,47,55,0,47,103,114,101,121,115,57,47,56,0,47,103,114,101,121,115,57,47,57,0,47,111,114,97,110,103,101,115,51,47,49,0,47,111,114,97,110,103,101,115,51,47,50,0,47,111,114,97,110,103,101,115,51,47,51,0,47,111,114,97,110,103,101,115,52,47,49,0,47,111,114,97,110,103,101,115,52,47,50,0,47,111,114,97,110,103,101,115,52,47,51,0,47,111,114,97,110,103,101,115,52,47,52,0,47,111,114,97,110,103,101,115,53,47,49,0,47,111,114,97,110,103,101,115,53,47,50,0,47,111,114,97,110,103,101,115,53,47,51,0,47,111,114,97,110,103,101,115,53,47,52,0,47,111,114,97,110,103,101,115,53,47,53,0,47,111,114,97,110,103,101,115,54,47,49,0,47,111,114,97,110,103,101,115,54,47,50,0,47,111,114,97,110,103,101,115,54,47,51,0,47,111,114,97,110,103,101,115,54,47,52,0,47,111,114,97,110,103,101,115,54,47,53,0,47,111,114,97,110,103,101,115,54,47,54,0,47,111,114,97,110,103,101,115,55,47,49,0,47,111,114,97,110,103,101,115,55,47,50,0,47,111,114,97,110,103,101,115,55,47,51,0,47,111,114,97,110,103,101,115,55,47,52,0,47,111,114,97,110,103,101,115,55,47,53,0,47,111,114,97,110,103,101,115,55,47,54,0,47,111,114,97,110,103,101,115,55,47,55,0,47,111,114,97,110,103,101,115,56,47,49,0,47,111,114,97,110,103,101,115,56,47,50,0,47,111,114,97,110,103,101,115,56,47,51,0,47,111,114,97,110,103,101,115,56,47,52,0,47,111,114,97,110,103,101,115,56,47,53,0,47,111,114,97,110,103,101,115,56,47,54,0,47,111,114,97,110,103,101,115,56,47,55,0,47,111,114,97,110,103,101,115,56,47,56,0,47,111,114,97,110,103,101,115,57,47,49,0,47,111,114,97,110,103,101,115,57,47,50,0,47,111,114,97,110,103,101,115,57,47,51,0,47,111,114,97,110,103,101,115,57,47,52,0,47,111,114,97,110,103,101,115,57,47,53,0,47,111,114,97,110,103,101,115,57,47,54,0,47,111,114,97,110,103,101,115,57,47,55,0,47,111,114,97,110,103,101,115,57,47,56,0,47,111,114,97,110,103,101,115,57,47,57,0,47,111,114,114,100,51,47,49,0,47,111,114,114,100,51,47,50,0,47,111,114,114,100,51,47,51,0,47,111,114,114,100,52,47,49,0,47,111,114,114,100,52,47,50,0,47,111,114,114,100,52,47,51,0,47,111,114,114,100,52,47,52,0,47,111,114,114,100,53,47,49,0,47,111,114,114,100,53,47,50,0,47,111,114,114,100,53,47,51,0,47,111,114,114,100,53,47,52,0,47,111,114,114,100,53,47,53,0,47,111,114,114,100,54,47,49,0,47,111,114,114,100,54,47,50,0,47,111,114,114,100,54,47,51,0,47,111,114,114,100,54,47,52,0,47,111,114,114,100,54,47,53,0,47,111,114,114,100,54,47,54,0,47,111,114,114,100,55,47,49,0,47,111,114,114,100,55,47,50,0,47,111,114,114,100,55,47,51,0,47,111,114,114,100,55,47,52,0,47,111,114,114,100,55,47,53,0,47,111,114,114,100,55,47,54,0,47,111,114,114,100,55,47,55,0,47,111,114,114,100,56,47,49,0,47,111,114,114,100,56,47,50,0,47,111,114,114,100,56,47,51,0,47,111,114,114,100,56,47,52,0,47,111,114,114,100,56,47,53,0,47,111,114,114,100,56,47,54,0,47,111,114,114,100,56,47,55,0,47,111,114,114,100,56,47,56,0,47,111,114,114,100,57,47,49,0,47,111,114,114,100,57,47,50,0,47,111,114,114,100,57,47,51,0,47,111,114,114,100,57,47,52,0,47,111,114,114,100,57,47,53,0,47,111,114,114,100,57,47,54,0,47,111,114,114,100,57,47,55,0,47,111,114,114,100,57,47,56,0,47,111,114,114,100,57,47,57,0,47,112,97,105,114,101,100,49,48,47,49,0,47,112,97,105,114,101,100,49,48,47,49,48,0,47,112,97,105,114,101,100,49,48,47,50,0,47,112,97,105,114,101,100,49,48,47,51,0,47,112,97,105,114,101,100,49,48,47,52,0,47,112,97,105,114,101,100,49,48,47,53,0,47,112,97,105,114,101,100,49,48,47,54,0,47,112,97,105,114,101,100,49,48,47,55,0,47,112,97,105,114,101,100,49,48,47,56,0,47,112,97,105,114,101,100,49,48,47,57,0,47,112,97,105,114,101,100,49,49,47,49,0,47,112,97,105,114,101,100,49,49,47,49,48,0,47,112,97,105,114,101,100,49,49,47,49,49,0,47,112,97,105,114,101,100,49,49,47,50,0,47,112,97,105,114,101,100,49,49,47,51,0,47,112,97,105,114,101,100,49,49,47,52,0,47,112,97,105,114,101,100,49,49,47,53,0,47,112,97,105,114,101,100,49,49,47,54,0,47,112,97,105,114,101,100,49,49,47,55,0,47,112,97,105,114,101,100,49,49,47,56,0,47,112,97,105,114,101,100,49,49,47,57,0,47,112,97,105,114,101,100,49,50,47,49,0,47,112,97,105,114,101,100,49,50,47,49,48,0,47,112,97,105,114,101,100,49,50,47,49,49,0,47,112,97,105,114,101,100,49,50,47,49,50,0,47,112,97,105,114,101,100,49,50,47,50,0,47,112,97,105,114,101,100,49,50,47,51,0,47,112,97,105,114,101,100,49,50,47,52,0,47,112,97,105,114,101,100,49,50,47,53,0,47,112,97,105,114,101,100,49,50,47,54,0,47,112,97,105,114,101,100,49,50,47,55,0,47,112,97,105,114,101,100,49,50,47,56,0,47,112,97,105,114,101,100,49,50,47,57,0,47,112,97,105,114,101,100,51,47,49,0,47,112,97,105,114,101,100,51,47,50,0,47,112,97,105,114,101,100,51,47,51,0,47,112,97,105,114,101,100,52,47,49,0,47,112,97,105,114,101,100,52,47,50,0,47,112,97,105,114,101,100,52,47,51,0,47,112,97,105,114,101,100,52,47,52,0,47,112,97,105,114,101,100,53,47,49,0,47,112,97,105,114,101,100,53,47,50,0,47,112,97,105,114,101,100,53,47,51,0,47,112,97,105,114,101,100,53,47,52,0,47,112,97,105,114,101,100,53,47,53,0,47,112,97,105,114,101,100,54,47,49,0,47,112,97,105,114,101,100,54,47,50,0,47,112,97,105,114,101,100,54,47,51,0,47,112,97,105,114,101,100,54,47,52,0,47,112,97,105,114,101,100,54,47,53,0,47,112,97,105,114,101,100,54,47,54,0,47,112,97,105,114,101,100,55,47,49,0,47,112,97,105,114,101,100,55,47,50,0,47,112,97,105,114,101,100,55,47,51,0,47,112,97,105,114,101,100,55,47,52,0,47,112,97,105,114,101,100,55,47,53,0,47,112,97,105,114,101,100,55,47,54,0,47,112,97,105,114,101,100,55,47,55,0,47,112,97,105,114,101,100,56,47,49,0,47,112,97,105,114,101,100,56,47,50,0,47,112,97,105,114,101,100,56,47,51,0,47,112,97,105,114,101,100,56,47,52,0,47,112,97,105,114,101,100,56,47,53,0,47,112,97,105,114,101,100,56,47,54,0,47,112,97,105,114,101,100,56,47,55,0,47,112,97,105,114,101,100,56,47,56,0,47,112,97,105,114,101,100,57,47,49,0,47,112,97,105,114,101,100,57,47,50,0,47,112,97,105,114,101,100,57,47,51,0,47,112,97,105,114,101,100,57,47,52,0,47,112,97,105,114,101,100,57,47,53,0,47,112,97,105,114,101,100,57,47,54,0,47,112,97,105,114,101,100,57,47,55,0,47,112,97,105,114,101,100,57,47,56,0,47,112,97,105,114,101,100,57,47,57,0,47,112,97,115,116,101,108,49,51,47,49,0,47,112,97,115,116,101,108,49,51,47,50,0,47,112,97,115,116,101,108,49,51,47,51,0,47,112,97,115,116,101,108,49,52,47,49,0,47,112,97,115,116,101,108,49,52,47,50,0,47,112,97,115,116,101,108,49,52,47,51,0,47,112,97,115,116,101,108,49,52,47,52,0,47,112,97,115,116,101,108,49,53,47,49,0,47,112,97,115,116,101,108,49,53,47,50,0,47,112,97,115,116,101,108,49,53,47,51,0,47,112,97,115,116,101,108,49,53,47,52,0,47,112,97,115,116,101,108,49,53,47,53,0,47,112,97,115,116,101,108,49,54,47,49,0,47,112,97,115,116,101,108,49,54,47,50,0,47,112,97,115,116,101,108,49,54,47,51,0,47,112,97,115,116,101,108,49,54,47,52,0,47,112,97,115,116,101,108,49,54,47,53,0,47,112,97,115,116,101,108,49,54,47,54,0,47,112,97,115,116,101,108,49,55,47,49,0,47,112,97,115,116,101,108,49,55,47,50,0,47,112,97,115,116,101,108,49,55,47,51,0,47,112,97,115,116,101,108,49,55,47,52,0,47,112,97,115,116,101,108,49,55,47,53,0,47,112,97,115,116,101,108,49,55,47,54,0,47,112,97,115,116,101,108,49,55,47,55,0,47,112,97,115,116,101,108,49,56,47,49,0,47,112,97,115,116,101,108,49,56,47,50,0,47,112,97,115,116,101,108,49,56,47,51,0,47,112,97,115,116,101,108,49,56,47,52,0,47,112,97,115,116,101,108,49,56,47,53,0,47,112,97,115,116,101,108,49,56,47,54,0,47,112,97,115,116,101,108,49,56,47,55,0,47,112,97,115,116,101,108,49,56,47,56,0,47,112,97,115,116,101,108,49,57,47,49,0,47,112,97,115,116,101,108,49,57,47,50,0,47,112,97,115,116,101,108,49,57,47,51,0,47,112,97,115,116,101,108,49,57,47,52,0,47,112,97,115,116,101,108,49,57,47,53,0,47,112,97,115,116,101,108,49,57,47,54,0,47,112,97,115,116,101,108,49,57,47,55,0,47,112,97,115,116,101,108,49,57,47,56,0,47,112,97,115,116,101,108,49,57,47,57,0,47,112,97,115,116,101,108,50,51,47,49,0,47,112,97,115,116,101,108,50,51,47,50,0,47,112,97,115,116,101,108,50,51,47,51,0,47,112,97,115,116,101,108,50,52,47,49,0,47,112,97,115,116,101,108,50,52,47,50,0,47,112,97,115,116,101,108,50,52,47,51,0,47,112,97,115,116,101,108,50,52,47,52,0,47,112,97,115,116,101,108,50,53,47,49,0,47,112,97,115,116,101,108,50,53,47,50,0,47,112,97,115,116,101,108,50,53,47,51,0,47,112,97,115,116,101,108,50,53,47,52,0,47,112,97,115,116,101,108,50,53,47,53,0,47,112,97,115,116,101,108,50,54,47,49,0,47,112,97,115,116,101,108,50,54,47,50,0,47,112,97,115,116,101,108,50,54,47,51,0,47,112,97,115,116,101,108,50,54,47,52,0,47,112,97,115,116,101,108,50,54,47,53,0,47,112,97,115,116,101,108,50,54,47,54,0,47,112,97,115,116,101,108,50,55,47,49,0,47,112,97,115,116,101,108,50,55,47,50,0,47,112,97,115,116,101,108,50,55,47,51,0,47,112,97,115,116,101,108,50,55,47,52,0,47,112,97,115,116,101,108,50,55,47,53,0,47,112,97,115,116,101,108,50,55,47,54,0,47,112,97,115,116,101,108,50,55,47,55,0,47,112,97,115,116,101,108,50,56,47,49,0,47,112,97,115,116,101,108,50,56,47,50,0,47,112,97,115,116,101,108,50,56,47,51,0,47,112,97,115,116,101,108,50,56,47,52,0,47,112,97,115,116,101,108,50,56,47,53,0,47,112,97,115,116,101,108,50,56,47,54,0,47,112,97,115,116,101,108,50,56,47,55,0,47,112,97,115,116,101,108,50,56,47,56,0,47,112,105,121,103,49,48,47,49,0,47,112,105,121,103,49,48,47,49,48,0,47,112,105,121,103,49,48,47,50,0,47,112,105,121,103,49,48,47,51,0,47,112,105,121,103,49,48,47,52,0,47,112,105,121,103,49,48,47,53,0,47,112,105,121,103,49,48,47,54,0,47,112,105,121,103,49,48,47,55,0,47,112,105,121,103,49,48,47,56,0,47,112,105,121,103,49,48,47,57,0,47,112,105,121,103,49,49,47,49,0,47,112,105,121,103,49,49,47,49,48,0,47,112,105,121,103,49,49,47,49,49,0,47,112,105,121,103,49,49,47,50,0,47,112,105,121,103,49,49,47,51,0,47,112,105,121,103,49,49,47,52,0,47,112,105,121,103,49,49,47,53,0,47,112,105,121,103,49,49,47,54,0,47,112,105,121,103,49,49,47,55,0,47,112,105,121,103,49,49,47,56,0,47,112,105,121,103,49,49,47,57,0,47,112,105,121,103,51,47,49,0,47,112,105,121,103,51,47,50,0,47,112,105,121,103,51,47,51,0,47,112,105,121,103,52,47,49,0,47,112,105,121,103,52,47,50,0,47,112,105,121,103,52,47,51,0,47,112,105,121,103,52,47,52,0,47,112,105,121,103,53,47,49,0,47,112,105,121,103,53,47,50,0,47,112,105,121,103,53,47,51,0,47,112,105,121,103,53,47,52,0,47,112,105,121,103,53,47,53,0,47,112,105,121,103,54,47,49,0,47,112,105,121,103,54,47,50,0,47,112,105,121,103,54,47,51,0,47,112,105,121,103,54,47,52,0,47,112,105,121,103,54,47,53,0,47,112,105,121,103,54,47,54,0,47,112,105,121,103,55,47,49,0,47,112,105,121,103,55,47,50,0,47,112,105,121,103,55,47,51,0,47,112,105,121,103,55,47,52,0,47,112,105,121,103,55,47,53,0,47,112,105,121,103,55,47,54,0,47,112,105,121,103,55,47,55,0,47,112,105,121,103,56,47,49,0,47,112,105,121,103,56,47,50,0,47,112,105,121,103,56,47,51,0,47,112,105,121,103,56,47,52,0,47,112,105,121,103,56,47,53,0,47,112,105,121,103,56,47,54,0,47,112,105,121,103,56,47,55,0,47,112,105,121,103,56,47,56,0,47,112,105,121,103,57,47,49,0,47,112,105,121,103,57,47,50,0,47,112,105,121,103,57,47,51,0,47,112,105,121,103,57,47,52,0,47,112,105,121,103,57,47,53,0,47,112,105,121,103,57,47,54,0,47,112,105,121,103,57,47,55,0,47,112,105,121,103,57,47,56,0,47,112,105,121,103,57,47,57,0,47,112,114,103,110,49,48,47,49,0,47,112,114,103,110,49,48,47,49,48,0,47,112,114,103,110,49,48,47,50,0,47,112,114,103,110,49,48,47,51,0,47,112,114,103,110,49,48,47,52,0,47,112,114,103,110,49,48,47,53,0,47,112,114,103,110,49,48,47,54,0,47,112,114,103,110,49,48,47,55,0,47,112,114,103,110,49,48,47,56,0,47,112,114,103,110,49,48,47,57,0,47,112,114,103,110,49,49,47,49,0,47,112,114,103,110,49,49,47,49,48,0,47,112,114,103,110,49,49,47,49,49,0,47,112,114,103,110,49,49,47,50,0,47,112,114,103,110,49,49,47,51,0,47,112,114,103,110,49,49,47,52,0,47,112,114,103,110,49,49,47,53,0,47,112,114,103,110,49,49,47,54,0,47,112,114,103,110,49,49,47,55,0,47,112,114,103,110,49,49,47,56,0,47,112,114,103,110,49,49,47,57,0,47,112,114,103,110,51,47,49,0,47,112,114,103,110,51,47,50,0,47,112,114,103,110,51,47,51,0,47,112,114,103,110,52,47,49,0,47,112,114,103,110,52,47,50,0,47,112,114,103,110,52,47,51,0,47,112,114,103,110,52,47,52,0,47,112,114,103,110,53,47,49,0,47,112,114,103,110,53,47,50,0,47,112,114,103,110,53,47,51,0,47,112,114,103,110,53,47,52,0,47,112,114,103,110,53,47,53,0,47,112,114,103,110,54,47,49,0,47,112,114,103,110,54,47,50,0,47,112,114,103,110,54,47,51,0,47,112,114,103,110,54,47,52,0,47,112,114,103,110,54,47,53,0,47,112,114,103,110,54,47,54,0,47,112,114,103,110,55,47,49,0,47,112,114,103,110,55,47,50,0,47,112,114,103,110,55,47,51,0,47,112,114,103,110,55,47,52,0,47,112,114,103,110,55,47,53,0,47,112,114,103,110,55,47,54,0,47,112,114,103,110,55,47,55,0,47,112,114,103,110,56,47,49,0,47,112,114,103,110,56,47,50,0,47,112,114,103,110,56,47,51,0,47,112,114,103,110,56,47,52,0,47,112,114,103,110,56,47,53,0,47,112,114,103,110,56,47,54,0,47,112,114,103,110,56,47,55,0,47,112,114,103,110,56,47,56,0,47,112,114,103,110,57,47,49,0,47,112,114,103,110,57,47,50,0,47,112,114,103,110,57,47,51,0,47,112,114,103,110,57,47,52,0,47,112,114,103,110,57,47,53,0,47,112,114,103,110,57,47,54,0,47,112,114,103,110,57,47,55,0,47,112,114,103,110,57,47,56,0,47,112,114,103,110,57,47,57,0,47,112,117,98,117,51,47,49,0,47,112,117,98,117,51,47,50,0,47,112,117,98,117,51,47,51,0,47,112,117,98,117,52,47,49,0,47,112,117,98,117,52,47,50,0,47,112,117,98,117,52,47,51,0,47,112,117,98,117,52,47,52,0,47,112,117,98,117,53,47,49,0,47,112,117,98,117,53,47,50,0,47,112,117,98,117,53,47,51,0,47,112,117,98,117,53,47,52,0,47,112,117,98,117,53,47,53,0,47,112,117,98,117,54,47,49,0,47,112,117,98,117,54,47,50,0,47,112,117,98,117,54,47,51,0,47,112,117,98,117,54,47,52,0,47,112,117,98,117,54,47,53,0,47,112,117,98,117,54,47,54,0,47,112,117,98,117,55,47,49,0,47,112,117,98,117,55,47,50,0,47,112,117,98,117,55,47,51,0,47,112,117,98,117,55,47,52,0,47,112,117,98,117,55,47,53,0,47,112,117,98,117,55,47,54,0,47,112,117,98,117,55,47,55,0,47,112,117,98,117,56,47,49,0,47,112,117,98,117,56,47,50,0,47,112,117,98,117,56,47,51,0,47,112,117,98,117,56,47,52,0,47,112,117,98,117,56,47,53,0,47,112,117,98,117,56,47,54,0,47,112,117,98,117,56,47,55,0,47,112,117,98,117,56,47,56,0,47,112,117,98,117,57,47,49,0,47,112,117,98,117,57,47,50,0,47,112,117,98,117,57,47,51,0,47,112,117,98,117,57,47,52,0,47,112,117,98,117,57,47,53,0,47,112,117,98,117,57,47,54,0,47,112,117,98,117,57,47,55,0,47,112,117,98,117,57,47,56,0,47,112,117,98,117,57,47,57,0,47,112,117,98,117,103,110,51,47,49,0,47,112,117,98,117,103,110,51,47,50,0,47,112,117,98,117,103,110,51,47,51,0,47,112,117,98,117,103,110,52,47,49,0,47,112,117,98,117,103,110,52,47,50,0,47,112,117,98,117,103,110,52,47,51,0,47,112,117,98,117,103,110,52,47,52,0,47,112,117,98,117,103,110,53,47,49,0,47,112,117,98,117,103,110,53,47,50,0,47,112,117,98,117,103,110,53,47,51,0,47,112,117,98,117,103,110,53,47,52,0,47,112,117,98,117,103,110,53,47,53,0,47,112,117,98,117,103,110,54,47,49,0,47,112,117,98,117,103,110,54,47,50,0,47,112,117,98,117,103,110,54,47,51,0,47,112,117,98,117,103,110,54,47,52,0,47,112,117,98,117,103,110,54,47,53,0,47,112,117,98,117,103,110,54,47,54,0,47,112,117,98,117,103,110,55,47,49,0,47,112,117,98,117,103,110,55,47,50,0,47,112,117,98,117,103,110,55,47,51,0,47,112,117,98,117,103,110,55,47,52,0,47,112,117,98,117,103,110,55,47,53,0,47,112,117,98,117,103,110,55,47,54,0,47,112,117,98,117,103,110,55,47,55,0,47,112,117,98,117,103,110,56,47,49,0,47,112,117,98,117,103,110,56,47,50,0,47,112,117,98,117,103,110,56,47,51,0,47,112,117,98,117,103,110,56,47,52,0,47,112,117,98,117,103,110,56,47,53,0,47,112,117,98,117,103,110,56,47,54,0,47,112,117,98,117,103,110,56,47,55,0,47,112,117,98,117,103,110,56,47,56,0,47,112,117,98,117,103,110,57,47,49,0,47,112,117,98,117,103,110,57,47,50,0,47,112,117,98,117,103,110,57,47,51,0,47,112,117,98,117,103,110,57,47,52,0,47,112,117,98,117,103,110,57,47,53,0,47,112,117,98,117,103,110,57,47,54,0,47,112,117,98,117,103,110,57,47,55,0,47,112,117,98,117,103,110,57,47,56,0,47,112,117,98,117,103,110,57,47,57,0,47,112,117,111,114,49,48,47,49,0,47,112,117,111,114,49,48,47,49,48,0,47,112,117,111,114,49,48,47,50,0,47,112,117,111,114,49,48,47,51,0,47,112,117,111,114,49,48,47,52,0,47,112,117,111,114,49,48,47,53,0,47,112,117,111,114,49,48,47,54,0,47,112,117,111,114,49,48,47,55,0,47,112,117,111,114,49,48,47,56,0,47,112,117,111,114,49,48,47,57,0,47,112,117,111,114,49,49,47,49,0,47,112,117,111,114,49,49,47,49,48,0,47,112,117,111,114,49,49,47,49,49,0,47,112,117,111,114,49,49,47,50,0,47,112,117,111,114,49,49,47,51,0,47,112,117,111,114,49,49,47,52,0,47,112,117,111,114,49,49,47,53,0,47,112,117,111,114,49,49,47,54,0,47,112,117,111,114,49,49,47,55,0,47,112,117,111,114,49,49,47,56,0,47,112,117,111,114,49,49,47,57,0,47,112,117,111,114,51,47,49,0,47,112,117,111,114,51,47,50,0,47,112,117,111,114,51,47,51,0,47,112,117,111,114,52,47,49,0,47,112,117,111,114,52,47,50,0,47,112,117,111,114,52,47,51,0,47,112,117,111,114,52,47,52,0,47,112,117,111,114,53,47,49,0,47,112,117,111,114,53,47,50,0,47,112,117,111,114,53,47,51,0,47,112,117,111,114,53,47,52,0,47,112,117,111,114,53,47,53,0,47,112,117,111,114,54,47,49,0,47,112,117,111,114,54,47,50,0,47,112,117,111,114,54,47,51,0,47,112,117,111,114,54,47,52,0,47,112,117,111,114,54,47,53,0,47,112,117,111,114,54,47,54,0,47,112,117,111,114,55,47,49,0,47,112,117,111,114,55,47,50,0,47,112,117,111,114,55,47,51,0,47,112,117,111,114,55,47,52,0,47,112,117,111,114,55,47,53,0,47,112,117,111,114,55,47,54,0,47,112,117,111,114,55,47,55,0,47,112,117,111,114,56,47,49,0,47,112,117,111,114,56,47,50,0,47,112,117,111,114,56,47,51,0,47,112,117,111,114,56,47,52,0,47,112,117,111,114,56,47,53,0,47,112,117,111,114,56,47,54,0,47,112,117,111,114,56,47,55,0,47,112,117,111,114,56,47,56,0,47,112,117,111,114,57,47,49,0,47,112,117,111,114,57,47,50,0,47,112,117,111,114,57,47,51,0,47,112,117,111,114,57,47,52,0,47,112,117,111,114,57,47,53,0,47,112,117,111,114,57,47,54,0,47,112,117,111,114,57,47,55,0,47,112,117,111,114,57,47,56,0,47,112,117,111,114,57,47,57,0,47,112,117,114,100,51,47,49,0,47,112,117,114,100,51,47,50,0,47,112,117,114,100,51,47,51,0,47,112,117,114,100,52,47,49,0,47,112,117,114,100,52,47,50,0,47,112,117,114,100,52,47,51,0,47,112,117,114,100,52,47,52,0,47,112,117,114,100,53,47,49,0,47,112,117,114,100,53,47,50,0,47,112,117,114,100,53,47,51,0,47,112,117,114,100,53,47,52,0,47,112,117,114,100,53,47,53,0,47,112,117,114,100,54,47,49,0,47,112,117,114,100,54,47,50,0,47,112,117,114,100,54,47,51,0,47,112,117,114,100,54,47,52,0,47,112,117,114,100,54,47,53,0,47,112,117,114,100,54,47,54,0,47,112,117,114,100,55,47,49,0,47,112,117,114,100,55,47,50,0,47,112,117,114,100,55,47,51,0,47,112,117,114,100,55,47,52,0,47,112,117,114,100,55,47,53,0,47,112,117,114,100,55,47,54,0,47,112,117,114,100,55,47,55,0,47,112,117,114,100,56,47,49,0,47,112,117,114,100,56,47,50,0,47,112,117,114,100,56,47,51,0,47,112,117,114,100,56,47,52,0,47,112,117,114,100,56,47,53,0,47,112,117,114,100,56,47,54,0,47,112,117,114,100,56,47,55,0,47,112,117,114,100,56,47,56,0,47,112,117,114,100,57,47,49,0,47,112,117,114,100,57,47,50,0,47,112,117,114,100,57,47,51,0,47,112,117,114,100,57,47,52,0,47,112,117,114,100,57,47,53,0,47,112,117,114,100,57,47,54,0,47,112,117,114,100,57,47,55,0,47,112,117,114,100,57,47,56,0,47,112,117,114,100,57,47,57,0,47,112,117,114,112,108,101,115,51,47,49,0,47,112,117,114,112,108,101,115,51,47,50,0,47,112,117,114,112,108,101,115,51,47,51,0,47,112,117,114,112,108,101,115,52,47,49,0,47,112,117,114,112,108,101,115,52,47,50,0,47,112,117,114,112,108,101,115,52,47,51,0,47,112,117,114,112,108,101,115,52,47,52,0,47,112,117,114,112,108,101,115,53,47,49,0,47,112,117,114,112,108,101,115,53,47,50,0,47,112,117,114,112,108,101,115,53,47,51,0,47,112,117,114,112,108,101,115,53,47,52,0,47,112,117,114,112,108,101,115,53,47,53,0,47,112,117,114,112,108,101,115,54,47,49,0,47,112,117,114,112,108,101,115,54,47,50,0,47,112,117,114,112,108,101,115,54,47,51,0,47,112,117,114,112,108,101,115,54,47,52,0,47,112,117,114,112,108,101,115,54,47,53,0,47,112,117,114,112,108,101,115,54,47,54,0,47,112,117,114,112,108,101,115,55,47,49,0,47,112,117,114,112,108,101,115,55,47,50,0,47,112,117,114,112,108,101,115,55,47,51,0,47,112,117,114,112,108,101,115,55,47,52,0,47,112,117,114,112,108,101,115,55,47,53,0,47,112,117,114,112,108,101,115,55,47,54,0,47,112,117,114,112,108,101,115,55,47,55,0,47,112,117,114,112,108,101,115,56,47,49,0,47,112,117,114,112,108,101,115,56,47,50,0,47,112,117,114,112,108,101,115,56,47,51,0,47,112,117,114,112,108,101,115,56,47,52,0,47,112,117,114,112,108,101,115,56,47,53,0,47,112,117,114,112,108,101,115,56,47,54,0,47,112,117,114,112,108,101,115,56,47,55,0,47,112,117,114,112,108,101,115,56,47,56,0,47,112,117,114,112,108,101,115,57,47,49,0,47,112,117,114,112,108,101,115,57,47,50,0,47,112,117,114,112,108,101,115,57,47,51,0,47,112,117,114,112,108,101,115,57,47,52,0,47,112,117,114,112,108,101,115,57,47,53,0,47,112,117,114,112,108,101,115,57,47,54,0,47,112,117,114,112,108,101,115,57,47,55,0,47,112,117,114,112,108,101,115,57,47,56,0,47,112,117,114,112,108,101,115,57,47,57,0,47,114,100,98,117,49,48,47,49,0,47,114,100,98,117,49,48,47,49,48,0,47,114,100,98,117,49,48,47,50,0,47,114,100,98,117,49,48,47,51,0,47,114,100,98,117,49,48,47,52,0,47,114,100,98,117,49,48,47,53,0,47,114,100,98,117,49,48,47,54,0,47,114,100,98,117,49,48,47,55,0,47,114,100,98,117,49,48,47,56,0,47,114,100,98,117,49,48,47,57,0,47,114,100,98,117,49,49,47,49,0,47,114,100,98,117,49,49,47,49,48,0,47,114,100,98,117,49,49,47,49,49,0,47,114,100,98,117,49,49,47,50,0,47,114,100,98,117,49,49,47,51,0,47,114,100,98,117,49,49,47,52,0,47,114,100,98,117,49,49,47,53,0,47,114,100,98,117,49,49,47,54,0,47,114,100,98,117,49,49,47,55,0,47,114,100,98,117,49,49,47,56,0,47,114,100,98,117,49,49,47,57,0,47,114,100,98,117,51,47,49,0,47,114,100,98,117,51,47,50,0,47,114,100,98,117,51,47,51,0,47,114,100,98,117,52,47,49,0,47,114,100,98,117,52,47,50,0,47,114,100,98,117,52,47,51,0,47,114,100,98,117,52,47,52,0,47,114,100,98,117,53,47,49,0,47,114,100,98,117,53,47,50,0,47,114,100,98,117,53,47,51,0,47,114,100,98,117,53,47,52,0,47,114,100,98,117,53,47,53,0,47,114,100,98,117,54,47,49,0,47,114,100,98,117,54,47,50,0,47,114,100,98,117,54,47,51,0,47,114,100,98,117,54,47,52,0,47,114,100,98,117,54,47,53,0,47,114,100,98,117,54,47,54,0,47,114,100,98,117,55,47,49,0,47,114,100,98,117,55,47,50,0,47,114,100,98,117,55,47,51,0,47,114,100,98,117,55,47,52,0,47,114,100,98,117,55,47,53,0,47,114,100,98,117,55,47,54,0,47,114,100,98,117,55,47,55,0,47,114,100,98,117,56,47,49,0,47,114,100,98,117,56,47,50,0,47,114,100,98,117,56,47,51,0,47,114,100,98,117,56,47,52,0,47,114,100,98,117,56,47,53,0,47,114,100,98,117,56,47,54,0,47,114,100,98,117,56,47,55,0,47,114,100,98,117,56,47,56,0,47,114,100,98,117,57,47,49,0,47,114,100,98,117,57,47,50,0,47,114,100,98,117,57,47,51,0,47,114,100,98,117,57,47,52,0,47,114,100,98,117,57,47,53,0,47,114,100,98,117,57,47,54,0,47,114,100,98,117,57,47,55,0,47,114,100,98,117,57,47,56,0,47,114,100,98,117,57,47,57,0,47,114,100,103,121,49,48,47,49,0,47,114,100,103,121,49,48,47,49,48,0,47,114,100,103,121,49,48,47,50,0,47,114,100,103,121,49,48,47,51,0,47,114,100,103,121,49,48,47,52,0,47,114,100,103,121,49,48,47,53,0,47,114,100,103,121,49,48,47,54,0,47,114,100,103,121,49,48,47,55,0,47,114,100,103,121,49,48,47,56,0,47,114,100,103,121,49,48,47,57,0,47,114,100,103,121,49,49,47,49,0,47,114,100,103,121,49,49,47,49,48,0,47,114,100,103,121,49,49,47,49,49,0,47,114,100,103,121,49,49,47,50,0,47,114,100,103,121,49,49,47,51,0,47,114,100,103,121,49,49,47,52,0,47,114,100,103,121,49,49,47,53,0,47,114,100,103,121,49,49,47,54,0,47,114,100,103,121,49,49,47,55,0,47,114,100,103,121,49,49,47,56,0,47,114,100,103,121,49,49,47,57,0,47,114,100,103,121,51,47,49,0,47,114,100,103,121,51,47,50,0,47,114,100,103,121,51,47,51,0,47,114,100,103,121,52,47,49,0,47,114,100,103,121,52,47,50,0,47,114,100,103,121,52,47,51,0,47,114,100,103,121,52,47,52,0,47,114,100,103,121,53,47,49,0,47,114,100,103,121,53,47,50,0,47,114,100,103,121,53,47,51,0,47,114,100,103,121,53,47,52,0,47,114,100,103,121,53,47,53,0,47,114,100,103,121,54,47,49,0,47,114,100,103,121,54,47,50,0,47,114,100,103,121,54,47,51,0,47,114,100,103,121,54,47,52,0,47,114,100,103,121,54,47,53,0,47,114,100,103,121,54,47,54,0,47,114,100,103,121],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+112664);allocate([55,47,49,0,47,114,100,103,121,55,47,50,0,47,114,100,103,121,55,47,51,0,47,114,100,103,121,55,47,52,0,47,114,100,103,121,55,47,53,0,47,114,100,103,121,55,47,54,0,47,114,100,103,121,55,47,55,0,47,114,100,103,121,56,47,49,0,47,114,100,103,121,56,47,50,0,47,114,100,103,121,56,47,51,0,47,114,100,103,121,56,47,52,0,47,114,100,103,121,56,47,53,0,47,114,100,103,121,56,47,54,0,47,114,100,103,121,56,47,55,0,47,114,100,103,121,56,47,56,0,47,114,100,103,121,57,47,49,0,47,114,100,103,121,57,47,50,0,47,114,100,103,121,57,47,51,0,47,114,100,103,121,57,47,52,0,47,114,100,103,121,57,47,53,0,47,114,100,103,121,57,47,54,0,47,114,100,103,121,57,47,55,0,47,114,100,103,121,57,47,56,0,47,114,100,103,121,57,47,57,0,47,114,100,112,117,51,47,49,0,47,114,100,112,117,51,47,50,0,47,114,100,112,117,51,47,51,0,47,114,100,112,117,52,47,49,0,47,114,100,112,117,52,47,50,0,47,114,100,112,117,52,47,51,0,47,114,100,112,117,52,47,52,0,47,114,100,112,117,53,47,49,0,47,114,100,112,117,53,47,50,0,47,114,100,112,117,53,47,51,0,47,114,100,112,117,53,47,52,0,47,114,100,112,117,53,47,53,0,47,114,100,112,117,54,47,49,0,47,114,100,112,117,54,47,50,0,47,114,100,112,117,54,47,51,0,47,114,100,112,117,54,47,52,0,47,114,100,112,117,54,47,53,0,47,114,100,112,117,54,47,54,0,47,114,100,112,117,55,47,49,0,47,114,100,112,117,55,47,50,0,47,114,100,112,117,55,47,51,0,47,114,100,112,117,55,47,52,0,47,114,100,112,117,55,47,53,0,47,114,100,112,117,55,47,54,0,47,114,100,112,117,55,47,55,0,47,114,100,112,117,56,47,49,0,47,114,100,112,117,56,47,50,0,47,114,100,112,117,56,47,51,0,47,114,100,112,117,56,47,52,0,47,114,100,112,117,56,47,53,0,47,114,100,112,117,56,47,54,0,47,114,100,112,117,56,47,55,0,47,114,100,112,117,56,47,56,0,47,114,100,112,117,57,47,49,0,47,114,100,112,117,57,47,50,0,47,114,100,112,117,57,47,51,0,47,114,100,112,117,57,47,52,0,47,114,100,112,117,57,47,53,0,47,114,100,112,117,57,47,54,0,47,114,100,112,117,57,47,55,0,47,114,100,112,117,57,47,56,0,47,114,100,112,117,57,47,57,0,47,114,100,121,108,98,117,49,48,47,49,0,47,114,100,121,108,98,117,49,48,47,49,48,0,47,114,100,121,108,98,117,49,48,47,50,0,47,114,100,121,108,98,117,49,48,47,51,0,47,114,100,121,108,98,117,49,48,47,52,0,47,114,100,121,108,98,117,49,48,47,53,0,47,114,100,121,108,98,117,49,48,47,54,0,47,114,100,121,108,98,117,49,48,47,55,0,47,114,100,121,108,98,117,49,48,47,56,0,47,114,100,121,108,98,117,49,48,47,57,0,47,114,100,121,108,98,117,49,49,47,49,0,47,114,100,121,108,98,117,49,49,47,49,48,0,47,114,100,121,108,98,117,49,49,47,49,49,0,47,114,100,121,108,98,117,49,49,47,50,0,47,114,100,121,108,98,117,49,49,47,51,0,47,114,100,121,108,98,117,49,49,47,52,0,47,114,100,121,108,98,117,49,49,47,53,0,47,114,100,121,108,98,117,49,49,47,54,0,47,114,100,121,108,98,117,49,49,47,55,0,47,114,100,121,108,98,117,49,49,47,56,0,47,114,100,121,108,98,117,49,49,47,57,0,47,114,100,121,108,98,117,51,47,49,0,47,114,100,121,108,98,117,51,47,50,0,47,114,100,121,108,98,117,51,47,51,0,47,114,100,121,108,98,117,52,47,49,0,47,114,100,121,108,98,117,52,47,50,0,47,114,100,121,108,98,117,52,47,51,0,47,114,100,121,108,98,117,52,47,52,0,47,114,100,121,108,98,117,53,47,49,0,47,114,100,121,108,98,117,53,47,50,0,47,114,100,121,108,98,117,53,47,51,0,47,114,100,121,108,98,117,53,47,52,0,47,114,100,121,108,98,117,53,47,53,0,47,114,100,121,108,98,117,54,47,49,0,47,114,100,121,108,98,117,54,47,50,0,47,114,100,121,108,98,117,54,47,51,0,47,114,100,121,108,98,117,54,47,52,0,47,114,100,121,108,98,117,54,47,53,0,47,114,100,121,108,98,117,54,47,54,0,47,114,100,121,108,98,117,55,47,49,0,47,114,100,121,108,98,117,55,47,50,0,47,114,100,121,108,98,117,55,47,51,0,47,114,100,121,108,98,117,55,47,52,0,47,114,100,121,108,98,117,55,47,53,0,47,114,100,121,108,98,117,55,47,54,0,47,114,100,121,108,98,117,55,47,55,0,47,114,100,121,108,98,117,56,47,49,0,47,114,100,121,108,98,117,56,47,50,0,47,114,100,121,108,98,117,56,47,51,0,47,114,100,121,108,98,117,56,47,52,0,47,114,100,121,108,98,117,56,47,53,0,47,114,100,121,108,98,117,56,47,54,0,47,114,100,121,108,98,117,56,47,55,0,47,114,100,121,108,98,117,56,47,56,0,47,114,100,121,108,98,117,57,47,49,0,47,114,100,121,108,98,117,57,47,50,0,47,114,100,121,108,98,117,57,47,51,0,47,114,100,121,108,98,117,57,47,52,0,47,114,100,121,108,98,117,57,47,53,0,47,114,100,121,108,98,117,57,47,54,0,47,114,100,121,108,98,117,57,47,55,0,47,114,100,121,108,98,117,57,47,56,0,47,114,100,121,108,98,117,57,47,57,0,47,114,100,121,108,103,110,49,48,47,49,0,47,114,100,121,108,103,110,49,48,47,49,48,0,47,114,100,121,108,103,110,49,48,47,50,0,47,114,100,121,108,103,110,49,48,47,51,0,47,114,100,121,108,103,110,49,48,47,52,0,47,114,100,121,108,103,110,49,48,47,53,0,47,114,100,121,108,103,110,49,48,47,54,0,47,114,100,121,108,103,110,49,48,47,55,0,47,114,100,121,108,103,110,49,48,47,56,0,47,114,100,121,108,103,110,49,48,47,57,0,47,114,100,121,108,103,110,49,49,47,49,0,47,114,100,121,108,103,110,49,49,47,49,48,0,47,114,100,121,108,103,110,49,49,47,49,49,0,47,114,100,121,108,103,110,49,49,47,50,0,47,114,100,121,108,103,110,49,49,47,51,0,47,114,100,121,108,103,110,49,49,47,52,0,47,114,100,121,108,103,110,49,49,47,53,0,47,114,100,121,108,103,110,49,49,47,54,0,47,114,100,121,108,103,110,49,49,47,55,0,47,114,100,121,108,103,110,49,49,47,56,0,47,114,100,121,108,103,110,49,49,47,57,0,47,114,100,121,108,103,110,51,47,49,0,47,114,100,121,108,103,110,51,47,50,0,47,114,100,121,108,103,110,51,47,51,0,47,114,100,121,108,103,110,52,47,49,0,47,114,100,121,108,103,110,52,47,50,0,47,114,100,121,108,103,110,52,47,51,0,47,114,100,121,108,103,110,52,47,52,0,47,114,100,121,108,103,110,53,47,49,0,47,114,100,121,108,103,110,53,47,50,0,47,114,100,121,108,103,110,53,47,51,0,47,114,100,121,108,103,110,53,47,52,0,47,114,100,121,108,103,110,53,47,53,0,47,114,100,121,108,103,110,54,47,49,0,47,114,100,121,108,103,110,54,47,50,0,47,114,100,121,108,103,110,54,47,51,0,47,114,100,121,108,103,110,54,47,52,0,47,114,100,121,108,103,110,54,47,53,0,47,114,100,121,108,103,110,54,47,54,0,47,114,100,121,108,103,110,55,47,49,0,47,114,100,121,108,103,110,55,47,50,0,47,114,100,121,108,103,110,55,47,51,0,47,114,100,121,108,103,110,55,47,52,0,47,114,100,121,108,103,110,55,47,53,0,47,114,100,121,108,103,110,55,47,54,0,47,114,100,121,108,103,110,55,47,55,0,47,114,100,121,108,103,110,56,47,49,0,47,114,100,121,108,103,110,56,47,50,0,47,114,100,121,108,103,110,56,47,51,0,47,114,100,121,108,103,110,56,47,52,0,47,114,100,121,108,103,110,56,47,53,0,47,114,100,121,108,103,110,56,47,54,0,47,114,100,121,108,103,110,56,47,55,0,47,114,100,121,108,103,110,56,47,56,0,47,114,100,121,108,103,110,57,47,49,0,47,114,100,121,108,103,110,57,47,50,0,47,114,100,121,108,103,110,57,47,51,0,47,114,100,121,108,103,110,57,47,52,0,47,114,100,121,108,103,110,57,47,53,0,47,114,100,121,108,103,110,57,47,54,0,47,114,100,121,108,103,110,57,47,55,0,47,114,100,121,108,103,110,57,47,56,0,47,114,100,121,108,103,110,57,47,57,0,47,114,101,100,115,51,47,49,0,47,114,101,100,115,51,47,50,0,47,114,101,100,115,51,47,51,0,47,114,101,100,115,52,47,49,0,47,114,101,100,115,52,47,50,0,47,114,101,100,115,52,47,51,0,47,114,101,100,115,52,47,52,0,47,114,101,100,115,53,47,49,0,47,114,101,100,115,53,47,50,0,47,114,101,100,115,53,47,51,0,47,114,101,100,115,53,47,52,0,47,114,101,100,115,53,47,53,0,47,114,101,100,115,54,47,49,0,47,114,101,100,115,54,47,50,0,47,114,101,100,115,54,47,51,0,47,114,101,100,115,54,47,52,0,47,114,101,100,115,54,47,53,0,47,114,101,100,115,54,47,54,0,47,114,101,100,115,55,47,49,0,47,114,101,100,115,55,47,50,0,47,114,101,100,115,55,47,51,0,47,114,101,100,115,55,47,52,0,47,114,101,100,115,55,47,53,0,47,114,101,100,115,55,47,54,0,47,114,101,100,115,55,47,55,0,47,114,101,100,115,56,47,49,0,47,114,101,100,115,56,47,50,0,47,114,101,100,115,56,47,51,0,47,114,101,100,115,56,47,52,0,47,114,101,100,115,56,47,53,0,47,114,101,100,115,56,47,54,0,47,114,101,100,115,56,47,55,0,47,114,101,100,115,56,47,56,0,47,114,101,100,115,57,47,49,0,47,114,101,100,115,57,47,50,0,47,114,101,100,115,57,47,51,0,47,114,101,100,115,57,47,52,0,47,114,101,100,115,57,47,53,0,47,114,101,100,115,57,47,54,0,47,114,101,100,115,57,47,55,0,47,114,101,100,115,57,47,56,0,47,114,101,100,115,57,47,57,0,47,115,101,116,49,51,47,49,0,47,115,101,116,49,51,47,50,0,47,115,101,116,49,51,47,51,0,47,115,101,116,49,52,47,49,0,47,115,101,116,49,52,47,50,0,47,115,101,116,49,52,47,51,0,47,115,101,116,49,52,47,52,0,47,115,101,116,49,53,47,49,0,47,115,101,116,49,53,47,50,0,47,115,101,116,49,53,47,51,0,47,115,101,116,49,53,47,52,0,47,115,101,116,49,53,47,53,0,47,115,101,116,49,54,47,49,0,47,115,101,116,49,54,47,50,0,47,115,101,116,49,54,47,51,0,47,115,101,116,49,54,47,52,0,47,115,101,116,49,54,47,53,0,47,115,101,116,49,54,47,54,0,47,115,101,116,49,55,47,49,0,47,115,101,116,49,55,47,50,0,47,115,101,116,49,55,47,51,0,47,115,101,116,49,55,47,52,0,47,115,101,116,49,55,47,53,0,47,115,101,116,49,55,47,54,0,47,115,101,116,49,55,47,55,0,47,115,101,116,49,56,47,49,0,47,115,101,116,49,56,47,50,0,47,115,101,116,49,56,47,51,0,47,115,101,116,49,56,47,52,0,47,115,101,116,49,56,47,53,0,47,115,101,116,49,56,47,54,0,47,115,101,116,49,56,47,55,0,47,115,101,116,49,56,47,56,0,47,115,101,116,49,57,47,49,0,47,115,101,116,49,57,47,50,0,47,115,101,116,49,57,47,51,0,47,115,101,116,49,57,47,52,0,47,115,101,116,49,57,47,53,0,47,115,101,116,49,57,47,54,0,47,115,101,116,49,57,47,55,0,47,115,101,116,49,57,47,56,0,47,115,101,116,49,57,47,57,0,47,115,101,116,50,51,47,49,0,47,115,101,116,50,51,47,50,0,47,115,101,116,50,51,47,51,0,47,115,101,116,50,52,47,49,0,47,115,101,116,50,52,47,50,0,47,115,101,116,50,52,47,51,0,47,115,101,116,50,52,47,52,0,47,115,101,116,50,53,47,49,0,47,115,101,116,50,53,47,50,0,47,115,101,116,50,53,47,51,0,47,115,101,116,50,53,47,52,0,47,115,101,116,50,53,47,53,0,47,115,101,116,50,54,47,49,0,47,115,101,116,50,54,47,50,0,47,115,101,116,50,54,47,51,0,47,115,101,116,50,54,47,52,0,47,115,101,116,50,54,47,53,0,47,115,101,116,50,54,47,54,0,47,115,101,116,50,55,47,49,0,47,115,101,116,50,55,47,50,0,47,115,101,116,50,55,47,51,0,47,115,101,116,50,55,47,52,0,47,115,101,116,50,55,47,53,0,47,115,101,116,50,55,47,54,0,47,115,101,116,50,55,47,55,0,47,115,101,116,50,56,47,49,0,47,115,101,116,50,56,47,50,0,47,115,101,116,50,56,47,51,0,47,115,101,116,50,56,47,52,0,47,115,101,116,50,56,47,53,0,47,115,101,116,50,56,47,54,0,47,115,101,116,50,56,47,55,0,47,115,101,116,50,56,47,56,0,47,115,101,116,51,49,48,47,49,0,47,115,101,116,51,49,48,47,49,48,0,47,115,101,116,51,49,48,47,50,0,47,115,101,116,51,49,48,47,51,0,47,115,101,116,51,49,48,47,52,0,47,115,101,116,51,49,48,47,53,0,47,115,101,116,51,49,48,47,54,0,47,115,101,116,51,49,48,47,55,0,47,115,101,116,51,49,48,47,56,0,47,115,101,116,51,49,48,47,57,0,47,115,101,116,51,49,49,47,49,0,47,115,101,116,51,49,49,47,49,48,0,47,115,101,116,51,49,49,47,49,49,0,47,115,101,116,51,49,49,47,50,0,47,115,101,116,51,49,49,47,51,0,47,115,101,116,51,49,49,47,52,0,47,115,101,116,51,49,49,47,53,0,47,115,101,116,51,49,49,47,54,0,47,115,101,116,51,49,49,47,55,0,47,115,101,116,51,49,49,47,56,0,47,115,101,116,51,49,49,47,57,0,47,115,101,116,51,49,50,47,49,0,47,115,101,116,51,49,50,47,49,48,0,47,115,101,116,51,49,50,47,49,49,0,47,115,101,116,51,49,50,47,49,50,0,47,115,101,116,51,49,50,47,50,0,47,115,101,116,51,49,50,47,51,0,47,115,101,116,51,49,50,47,52,0,47,115,101,116,51,49,50,47,53,0,47,115,101,116,51,49,50,47,54,0,47,115,101,116,51,49,50,47,55,0,47,115,101,116,51,49,50,47,56,0,47,115,101,116,51,49,50,47,57,0,47,115,101,116,51,51,47,49,0,47,115,101,116,51,51,47,50,0,47,115,101,116,51,51,47,51,0,47,115,101,116,51,52,47,49,0,47,115,101,116,51,52,47,50,0,47,115,101,116,51,52,47,51,0,47,115,101,116,51,52,47,52,0,47,115,101,116,51,53,47,49,0,47,115,101,116,51,53,47,50,0,47,115,101,116,51,53,47,51,0,47,115,101,116,51,53,47,52,0,47,115,101,116,51,53,47,53,0,47,115,101,116,51,54,47,49,0,47,115,101,116,51,54,47,50,0,47,115,101,116,51,54,47,51,0,47,115,101,116,51,54,47,52,0,47,115,101,116,51,54,47,53,0,47,115,101,116,51,54,47,54,0,47,115,101,116,51,55,47,49,0,47,115,101,116,51,55,47,50,0,47,115,101,116,51,55,47,51,0,47,115,101,116,51,55,47,52,0,47,115,101,116,51,55,47,53,0,47,115,101,116,51,55,47,54,0,47,115,101,116,51,55,47,55,0,47,115,101,116,51,56,47,49,0,47,115,101,116,51,56,47,50,0,47,115,101,116,51,56,47,51,0,47,115,101,116,51,56,47,52,0,47,115,101,116,51,56,47,53,0,47,115,101,116,51,56,47,54,0,47,115,101,116,51,56,47,55,0,47,115,101,116,51,56,47,56,0,47,115,101,116,51,57,47,49,0,47,115,101,116,51,57,47,50,0,47,115,101,116,51,57,47,51,0,47,115,101,116,51,57,47,52,0,47,115,101,116,51,57,47,53,0,47,115,101,116,51,57,47,54,0,47,115,101,116,51,57,47,55,0,47,115,101,116,51,57,47,56,0,47,115,101,116,51,57,47,57,0,47,115,112,101,99,116,114,97,108,49,48,47,49,0,47,115,112,101,99,116,114,97,108,49,48,47,49,48,0,47,115,112,101,99,116,114,97,108,49,48,47,50,0,47,115,112,101,99,116,114,97,108,49,48,47,51,0,47,115,112,101,99,116,114,97,108,49,48,47,52,0,47,115,112,101,99,116,114,97,108,49,48,47,53,0,47,115,112,101,99,116,114,97,108,49,48,47,54,0,47,115,112,101,99,116,114,97,108,49,48,47,55,0,47,115,112,101,99,116,114,97,108,49,48,47,56,0,47,115,112,101,99,116,114,97,108,49,48,47,57,0,47,115,112,101,99,116,114,97,108,49,49,47,49,0,47,115,112,101,99,116,114,97,108,49,49,47,49,48,0,47,115,112,101,99,116,114,97,108,49,49,47,49,49,0,47,115,112,101,99,116,114,97,108,49,49,47,50,0,47,115,112,101,99,116,114,97,108,49,49,47,51,0,47,115,112,101,99,116,114,97,108,49,49,47,52,0,47,115,112,101,99,116,114,97,108,49,49,47,53,0,47,115,112,101,99,116,114,97,108,49,49,47,54,0,47,115,112,101,99,116,114,97,108,49,49,47,55,0,47,115,112,101,99,116,114,97,108,49,49,47,56,0,47,115,112,101,99,116,114,97,108,49,49,47,57,0,47,115,112,101,99,116,114,97,108,51,47,49,0,47,115,112,101,99,116,114,97,108,51,47,50,0,47,115,112,101,99,116,114,97,108,51,47,51,0,47,115,112,101,99,116,114,97,108,52,47,49,0,47,115,112,101,99,116,114,97,108,52,47,50,0,47,115,112,101,99,116,114,97,108,52,47,51,0,47,115,112,101,99,116,114,97,108,52,47,52,0,47,115,112,101,99,116,114,97,108,53,47,49,0,47,115,112,101,99,116,114,97,108,53,47,50,0,47,115,112,101,99,116,114,97,108,53,47,51,0,47,115,112,101,99,116,114,97,108,53,47,52,0,47,115,112,101,99,116,114,97,108,53,47,53,0,47,115,112,101,99,116,114,97,108,54,47,49,0,47,115,112,101,99,116,114,97,108,54,47,50,0,47,115,112,101,99,116,114,97,108,54,47,51,0,47,115,112,101,99,116,114,97,108,54,47,52,0,47,115,112,101,99,116,114,97,108,54,47,53,0,47,115,112,101,99,116,114,97,108,54,47,54,0,47,115,112,101,99,116,114,97,108,55,47,49,0,47,115,112,101,99,116,114,97,108,55,47,50,0,47,115,112,101,99,116,114,97,108,55,47,51,0,47,115,112,101,99,116,114,97,108,55,47,52,0,47,115,112,101,99,116,114,97,108,55,47,53,0,47,115,112,101,99,116,114,97,108,55,47,54,0,47,115,112,101,99,116,114,97,108,55,47,55,0,47,115,112,101,99,116,114,97,108,56,47,49,0,47,115,112,101,99,116,114,97,108,56,47,50,0,47,115,112,101,99,116,114,97,108,56,47,51,0,47,115,112,101,99,116,114,97,108,56,47,52,0,47,115,112,101,99,116,114,97,108,56,47,53,0,47,115,112,101,99,116,114,97,108,56,47,54,0,47,115,112,101,99,116,114,97,108,56,47,55,0,47,115,112,101,99,116,114,97,108,56,47,56,0,47,115,112,101,99,116,114,97,108,57,47,49,0,47,115,112,101,99,116,114,97,108,57,47,50,0,47,115,112,101,99,116,114,97,108,57,47,51,0,47,115,112,101,99,116,114,97,108,57,47,52,0,47,115,112,101,99,116,114,97,108,57,47,53,0,47,115,112,101,99,116,114,97,108,57,47,54,0,47,115,112,101,99,116,114,97,108,57,47,55,0,47,115,112,101,99,116,114,97,108,57,47,56,0,47,115,112,101,99,116,114,97,108,57,47,57,0,47,115,118,103,47,97,108,105,99,101,98,108,117,101,0,47,115,118,103,47,97,110,116,105,113,117,101,119,104,105,116,101,0,47,115,118,103,47,97,113,117,97,0,47,115,118,103,47,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,97,122,117,114,101,0,47,115,118,103,47,98,101,105,103,101,0,47,115,118,103,47,98,105,115,113,117,101,0,47,115,118,103,47,98,108,97,99,107,0,47,115,118,103,47,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,47,115,118,103,47,98,108,117,101,0,47,115,118,103,47,98,108,117,101,118,105,111,108,101,116,0,47,115,118,103,47,98,114,111,119,110,0,47,115,118,103,47,98,117,114,108,121,119,111,111,100,0,47,115,118,103,47,99,97,100,101,116,98,108,117,101,0,47,115,118,103,47,99,104,97,114,116,114,101,117,115,101,0,47,115,118,103,47,99,104,111,99,111,108,97,116,101,0,47,115,118,103,47,99,111,114,97,108,0,47,115,118,103,47,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,47,115,118,103,47,99,111,114,110,115,105,108,107,0,47,115,118,103,47,99,114,105,109,115,111,110,0,47,115,118,103,47,99,121,97,110,0,47,115,118,103,47,100,97,114,107,98,108,117,101,0,47,115,118,103,47,100,97,114,107,99,121,97,110,0,47,115,118,103,47,100,97,114,107,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,100,97,114,107,103,114,97,121,0,47,115,118,103,47,100,97,114,107,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,103,114,101,121,0,47,115,118,103,47,100,97,114,107,107,104,97,107,105,0,47,115,118,103,47,100,97,114,107,109,97,103,101,110,116,97,0,47,115,118,103,47,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,111,114,97,110,103,101,0,47,115,118,103,47,100,97,114,107,111,114,99,104,105,100,0,47,115,118,103,47,100,97,114,107,114,101,100,0,47,115,118,103,47,100,97,114,107,115,97,108,109,111,110,0,47,115,118,103,47,100,97,114,107,115,101,97,103,114,101,101,110,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,100,97,114,107,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,100,97,114,107,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,100,97,114,107,118,105,111,108,101,116,0,47,115,118,103,47,100,101,101,112,112,105,110,107,0,47,115,118,103,47,100,101,101,112,115,107,121,98,108,117,101,0,47,115,118,103,47,100,105,109,103,114,97,121,0,47,115,118,103,47,100,105,109,103,114,101,121,0,47,115,118,103,47,100,111,100,103,101,114,98,108,117,101,0,47,115,118,103,47,102,105,114,101,98,114,105,99,107,0,47,115,118,103,47,102,108,111,114,97,108,119,104,105,116,101,0,47,115,118,103,47,102,111,114,101,115,116,103,114,101,101,110,0,47,115,118,103,47,102,117,99,104,115,105,97,0,47,115,118,103,47,103,97,105,110,115,98,111,114,111,0,47,115,118,103,47,103,104,111,115,116,119,104,105,116,101,0,47,115,118,103,47,103,111,108,100,0,47,115,118,103,47,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,103,114,97,121,0,47,115,118,103,47,103,114,101,101,110,0,47,115,118,103,47,103,114,101,101,110,121,101,108,108,111,119,0,47,115,118,103,47,103,114,101,121,0,47,115,118,103,47,104,111,110,101,121,100,101,119,0,47,115,118,103,47,104,111,116,112,105,110,107,0,47,115,118,103,47,105,110,100,105,97,110,114,101,100,0,47,115,118,103,47,105,110,100,105,103,111,0,47,115,118,103,47,105,118,111,114,121,0,47,115,118,103,47,107,104,97,107,105,0,47,115,118,103,47,108,97,118,101,110,100,101,114,0,47,115,118,103,47,108,97,118,101,110,100,101,114,98,108,117,115,104,0,47,115,118,103,47,108,97,119,110,103,114,101,101,110,0,47,115,118,103,47,108,101,109,111,110,99,104,105,102,102,111,110,0,47,115,118,103,47,108,105,103,104,116,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,99,111,114,97,108,0,47,115,118,103,47,108,105,103,104,116,99,121,97,110,0,47,115,118,103,47,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,47,115,118,103,47,108,105,103,104,116,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,112,105,110,107,0,47,115,118,103,47,108,105,103,104,116,115,97,108,109,111,110,0,47,115,118,103,47,108,105,103,104,116,115,101,97,103,114,101,101,110,0,47,115,118,103,47,108,105,103,104,116,115,107,121,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,108,105,103,104,116,121,101,108,108,111,119,0,47,115,118,103,47,108,105,109,101,0,47,115,118,103,47,108,105,109,101,103,114,101,101,110,0,47,115,118,103,47,108,105,110,101,110,0,47,115,118,103,47,109,97,103,101,110,116,97,0,47,115,118,103,47,109,97,114,111,111,110,0,47,115,118,103,47,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,47,115,118,103,47,109,101,100,105,117,109,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,111,114,99,104,105,100,0,47,115,118,103,47,109,101,100,105,117,109,112,117,114,112,108,101,0,47,115,118,103,47,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,109,105,100,110,105,103,104,116,98,108,117,101,0,47,115,118,103,47,109,105,110,116,99,114,101,97,109,0,47,115,118,103,47,109,105,115,116,121,114,111,115,101,0,47,115,118,103,47,109,111,99,99,97,115,105,110,0,47,115,118,103,47,110,97,118,97,106,111,119,104,105,116,101,0,47,115,118,103,47,110,97,118,121,0,47,115,118,103,47,111,108,100,108,97,99,101,0,47,115,118,103,47,111,108,105,118,101,0,47,115,118,103,47,111,108,105,118,101,100,114,97,98,0,47,115,118,103,47,111,114,97,110,103,101,0,47,115,118,103,47,111,114,97,110,103,101,114,101,100,0,47,115,118,103,47,111,114,99,104,105,100,0,47,115,118,103,47,112,97,108,101,103,111,108,100,101,110,114,111,100,0,47,115,118,103,47,112,97,108,101,103,114,101,101,110,0,47,115,118,103,47,112,97,108,101,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,112,97,108,101,118,105,111,108,101,116,114,101,100,0,47,115,118,103,47,112,97,112,97,121,97,119,104,105,112,0,47,115,118,103,47,112,101,97,99,104,112,117,102,102,0,47,115,118,103,47,112,101,114,117,0,47,115,118,103,47,112,105,110,107,0,47,115,118,103,47,112,108,117,109,0,47,115,118,103,47,112,111,119,100,101,114,98,108,117,101,0,47,115,118,103,47,112,117,114,112,108,101,0,47,115,118,103,47,114,101,100,0,47,115,118,103,47,114,111,115,121,98,114,111,119,110,0,47,115,118,103,47,114,111,121,97,108,98,108,117,101,0,47,115,118,103,47,115,97,100,100,108,101,98,114,111,119,110,0,47,115,118,103,47,115,97,108,109,111,110,0,47,115,118,103,47,115,97,110,100,121,98,114,111,119,110,0,47,115,118,103,47,115,101,97,103,114,101,101,110,0,47,115,118,103,47,115,101,97,115,104,101,108,108,0,47,115,118,103,47,115,105,101,110,110,97,0,47,115,118,103,47,115,105,108,118,101,114,0,47,115,118,103,47,115,107,121,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,98,108,117,101,0,47,115,118,103,47,115,108,97,116,101,103,114,97,121,0,47,115,118,103,47,115,108,97,116,101,103,114,101,121,0,47,115,118,103,47,115,110,111,119,0,47,115,118,103,47,115,112,114,105,110,103,103,114,101,101,110,0,47,115,118,103,47,115,116,101,101,108,98,108,117,101,0,47,115,118,103,47,116,97,110,0,47,115,118,103,47,116,101,97,108,0,47,115,118,103,47,116,104,105,115,116,108,101,0,47,115,118,103,47,116,111,109,97,116,111,0,47,115,118,103,47,116,117,114,113,117,111,105,115,101,0,47,115,118,103,47,118,105,111,108,101,116,0,47,115,118,103,47,119,104,101,97,116,0,47,115,118,103,47,119,104,105,116,101,0,47,115,118,103,47,119,104,105,116,101,115,109,111,107,101,0,47,115,118,103,47,121,101,108,108,111,119,0,47,115,118,103,47,121,101,108,108,111,119,103,114,101,101,110,0,47,121,108,103,110,51,47,49,0,47,121,108,103,110,51,47,50,0,47,121,108,103,110,51,47,51,0,47,121,108,103,110,52,47,49,0,47,121,108,103,110,52,47,50,0,47,121,108,103,110,52,47,51,0,47,121,108,103,110,52,47,52,0,47,121,108,103,110,53,47,49,0,47,121,108,103,110,53,47,50,0,47,121,108,103,110,53,47,51,0,47,121,108,103,110,53,47,52,0,47,121,108,103,110,53,47,53,0,47,121,108,103,110,54,47,49,0,47,121,108,103,110,54,47,50,0,47,121,108,103,110,54,47,51,0,47,121,108,103,110,54,47,52,0,47,121,108,103,110,54,47,53,0,47,121,108,103,110,54,47,54,0,47,121,108,103,110,55,47,49,0,47,121,108,103,110,55,47,50,0,47,121,108,103,110,55,47,51,0,47,121,108,103,110,55,47,52,0,47,121,108,103,110,55,47,53,0,47,121,108,103,110,55,47,54,0,47,121,108,103,110,55,47,55,0,47,121,108,103,110,56,47,49,0,47,121,108,103,110,56,47,50,0,47,121,108,103,110,56,47,51,0,47,121,108,103,110,56,47,52,0,47,121,108,103,110,56,47,53,0,47,121,108,103,110,56,47,54,0,47,121,108,103,110,56,47,55,0,47,121,108,103,110,56,47,56,0,47,121,108,103,110,57,47,49,0,47,121,108,103,110,57,47,50,0,47,121,108,103,110,57,47,51,0,47,121,108,103,110,57,47,52,0,47,121,108,103,110,57,47,53,0,47,121,108,103,110,57,47,54,0,47,121,108,103,110,57,47,55,0,47,121,108,103,110,57,47,56,0,47,121,108,103,110,57,47,57,0,47,121,108,103,110,98,117,51,47,49,0,47,121,108,103,110,98,117,51,47,50,0,47,121,108,103,110,98,117,51,47,51,0,47,121,108,103,110,98,117,52,47,49,0,47,121,108,103,110,98,117,52,47,50,0,47,121,108,103,110,98,117,52,47,51,0,47,121,108,103,110,98,117,52,47,52,0,47,121,108,103,110,98,117,53,47,49,0,47,121,108,103,110,98,117,53,47,50,0,47,121,108,103,110,98,117,53,47,51,0,47,121,108,103,110,98,117,53,47,52,0,47,121,108,103,110,98,117,53,47,53,0,47,121,108,103,110,98,117,54,47,49,0,47,121,108,103,110,98,117,54,47,50,0,47,121,108,103,110,98,117,54,47,51,0,47,121,108,103,110,98,117,54,47,52,0,47,121,108,103,110,98,117,54,47,53,0,47,121,108,103,110,98,117,54,47,54,0,47,121,108,103,110,98,117,55,47,49,0,47,121,108,103,110,98,117,55,47,50,0,47,121,108,103,110,98,117,55,47,51,0,47,121,108,103,110,98,117,55,47,52,0,47,121,108,103,110,98,117,55,47,53,0,47,121,108,103,110,98,117,55,47,54,0,47,121,108,103,110,98,117,55,47,55,0,47,121,108,103,110,98,117,56,47,49,0,47,121,108,103,110,98,117,56,47,50,0,47,121,108,103,110,98,117,56,47,51,0,47,121,108,103,110,98,117,56,47,52,0,47,121,108,103,110,98,117,56,47,53,0,47,121,108,103,110,98,117,56,47,54,0,47,121,108,103,110,98,117,56,47,55,0,47,121,108,103,110,98,117,56,47,56,0,47,121,108,103,110,98,117,57,47,49,0,47,121,108,103,110,98,117,57,47,50,0,47,121,108,103,110,98,117,57,47,51,0,47,121,108,103,110,98,117,57,47,52,0,47,121,108,103,110,98,117,57,47,53,0,47,121,108,103,110,98,117,57,47,54,0,47,121,108,103,110,98,117,57,47,55,0,47,121,108,103,110,98,117,57,47,56,0,47,121,108,103,110,98,117,57,47,57,0,47,121,108,111,114,98,114,51,47,49,0,47,121,108,111,114,98,114,51,47,50,0,47,121,108,111,114,98,114,51,47,51,0,47,121,108,111,114,98,114,52,47,49,0,47,121,108,111,114,98,114,52,47,50,0,47,121,108,111,114,98,114,52,47,51,0,47,121,108,111,114,98,114,52,47,52,0,47,121,108,111,114,98,114,53,47,49,0,47,121,108,111,114,98,114,53,47,50,0,47,121,108,111,114,98,114,53,47,51,0,47,121,108,111,114,98,114,53,47,52,0,47,121,108,111,114,98,114,53,47,53,0,47,121,108,111,114,98,114,54,47,49,0,47,121,108,111,114,98,114,54,47,50,0,47,121,108,111,114,98,114,54,47,51,0,47,121,108,111,114,98,114,54,47,52,0,47,121,108,111,114,98,114,54,47,53,0,47,121,108,111,114,98,114,54,47,54,0,47,121,108,111,114,98,114,55,47,49,0,47,121,108,111,114,98,114,55,47,50,0,47,121,108,111,114,98,114,55,47,51,0,47,121,108,111,114,98,114,55,47,52,0,47,121,108,111,114,98,114,55,47,53,0,47,121,108,111,114,98,114,55,47,54,0,47,121,108,111,114,98,114,55,47,55,0,47,121,108,111,114,98,114,56,47,49,0,47,121,108,111,114,98,114,56,47,50,0,47,121,108,111,114,98,114,56,47,51,0,47,121,108,111,114,98,114,56,47,52,0,47,121,108,111,114,98,114,56,47,53,0,47,121,108,111,114,98,114,56,47,54,0,47,121,108,111,114,98,114,56,47,55,0,47,121,108,111,114,98,114,56,47,56,0,47,121,108,111,114,98,114,57,47,49,0,47,121,108,111,114,98,114,57,47,50,0,47,121,108,111,114,98,114,57,47,51,0,47,121,108,111,114,98,114,57,47,52,0,47,121,108,111,114,98,114,57,47,53,0,47,121,108,111,114,98,114,57,47,54,0,47,121,108,111,114,98,114,57,47,55,0,47,121,108,111,114,98,114,57,47,56,0,47,121,108,111,114,98,114,57,47,57,0,47,121,108,111,114,114,100,51,47,49,0,47,121,108,111,114,114,100,51,47,50,0,47,121,108,111,114,114,100,51,47,51,0,47,121,108,111,114,114,100,52,47,49,0,47,121,108,111,114,114,100,52,47,50,0,47,121,108,111,114,114,100,52,47,51,0,47,121,108,111,114,114,100,52,47,52,0,47,121,108,111,114,114,100,53,47,49,0,47,121,108,111,114,114,100,53,47,50,0,47,121,108,111,114,114,100,53,47,51,0,47,121,108,111,114,114,100,53,47,52,0,47,121,108,111,114,114,100,53,47,53,0,47,121,108,111,114,114,100,54,47,49,0,47,121,108,111,114,114,100,54,47,50,0,47,121,108,111,114,114,100,54,47,51,0,47,121,108,111,114,114,100,54,47,52,0,47,121,108,111,114,114,100,54,47,53,0,47,121,108,111,114,114,100,54,47,54,0,47,121,108,111,114,114,100,55,47,49,0,47,121,108,111,114,114,100,55,47,50,0,47,121,108,111,114,114,100,55,47,51,0,47,121,108,111,114,114,100,55,47,52,0,47,121,108,111,114,114,100,55,47,53,0,47,121,108,111,114,114,100,55,47,54,0,47,121,108,111,114,114,100,55,47,55,0,47,121,108,111,114,114,100,56,47,49,0,47,121,108,111,114,114,100,56,47,50,0,47,121,108,111,114,114,100,56,47,51,0,47,121,108,111,114,114,100,56,47,52,0,47,121,108,111,114,114,100,56,47,53,0,47,121,108,111,114,114,100,56,47,54,0,47,121,108,111,114,114,100,56,47,55,0,47,121,108,111,114,114,100,56,47,56,0,47,121,108,111,114,114,100,57,47,49,0,47,121,108,111,114,114,100,57,47,50,0,47,121,108,111,114,114,100,57,47,51,0,47,121,108,111,114,114,100,57,47,52,0,47,121,108,111,114,114,100,57,47,53,0,47,121,108,111,114,114,100,57,47,54,0,47,121,108,111,114,114,100,57,47,55,0,47,121,108,111,114,114,100,57,47,56,0,47,121,108,111,114,114,100,57,47,57,0,97,108,105,99,101,98,108,117,101,0,97,110,116,105,113,117,101,119,104,105,116,101,0,97,110,116,105,113,117,101,119,104,105,116,101,49,0,97,110,116,105,113,117,101,119,104,105,116,101,50,0,97,110,116,105,113,117,101,119,104,105,116,101,51,0,97,110,116,105,113,117,101,119,104,105,116,101,52,0,97,113,117,97,109,97,114,105,110,101,0,97,113,117,97,109,97,114,105,110,101,49,0,97,113,117,97,109,97,114,105,110,101,50,0,97,113,117,97,109,97,114,105,110,101,51,0,97,113,117,97,109,97,114,105,110,101,52,0,97,122,117,114,101,0,97,122,117,114,101,49,0,97,122,117,114,101,50,0,97,122,117,114,101,51,0,97,122,117,114,101,52,0,98,101,105,103,101,0,98,105,115,113,117,101,0,98,105,115,113,117,101,49,0,98,105,115,113,117,101,50,0,98,105,115,113,117,101,51,0,98,105,115,113,117,101,52,0,98,108,97,110,99,104,101,100,97,108,109,111,110,100,0,98,108,117,101,0,98,108,117,101,49,0,98,108,117,101,50,0,98,108,117,101,51,0,98,108,117,101,52,0,98,108,117,101,118,105,111,108,101,116,0,98,114,111,119,110,0,98,114,111,119,110,49,0,98,114,111,119,110,50,0,98,114,111,119,110,51,0,98,114,111,119,110,52,0,98,117,114,108,121,119,111,111,100,0,98,117,114,108,121,119,111,111,100,49,0,98,117,114,108,121,119,111,111,100,50,0,98,117,114,108,121,119,111,111,100,51,0,98,117,114,108,121,119,111,111,100,52,0,99,97,100,101,116,98,108,117,101,0,99,97,100,101,116,98,108,117,101,49,0,99,97,100,101,116,98,108,117,101,50,0,99,97,100,101,116,98,108,117,101,51,0,99,97,100,101,116,98,108,117,101,52,0,99,104,97,114,116,114,101,117,115,101,0,99,104,97,114,116,114,101,117,115,101,49,0,99,104,97,114,116,114,101,117,115,101,50,0,99,104,97,114,116,114,101,117,115,101,51,0,99,104,97,114,116,114,101,117,115,101,52,0,99,104,111,99,111,108,97,116,101,0,99,104,111,99,111,108,97,116,101,49,0,99,104,111,99,111,108,97,116,101,50,0,99,104,111,99,111,108,97,116,101,51,0,99,104,111,99,111,108,97,116,101,52,0,99,111,114,97,108,0,99,111,114,97,108,49,0,99,111,114,97,108,50,0,99,111,114,97,108,51,0,99,111,114,97,108,52,0,99,111,114,110,102,108,111,119,101,114,98,108,117,101,0,99,111,114,110,115,105,108,107,0,99,111,114,110,115,105,108,107,49,0,99,111,114,110,115,105,108,107,50,0,99,111,114,110,115,105,108,107,51,0,99,111,114,110,115,105,108,107,52,0,99,114,105,109,115,111,110,0,99,121,97,110,0,99,121,97,110,49,0,99,121,97,110,50,0,99,121,97,110,51,0,99,121,97,110,52,0,100,97,114,107,103,111,108,100,101,110,114,111,100,0,100,97,114,107,103,111,108,100,101,110,114,111,100,49,0,100,97,114,107,103,111,108,100,101,110,114,111,100,50,0,100,97,114,107,103,111,108,100,101,110,114,111,100,51,0,100,97,114,107,103,111,108,100,101,110,114,111,100,52,0,100,97,114,107,103,114,101,101,110,0,100,97,114,107,107,104,97,107,105,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,49,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,50,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,51,0,100,97,114,107,111,108,105,118,101,103,114,101,101,110,52,0,100,97,114,107,111,114,97,110,103,101,0,100,97,114,107,111,114,97,110,103,101,49,0,100,97,114,107,111,114,97,110,103,101,50,0,100,97,114,107,111,114,97,110,103,101,51,0,100,97,114,107,111,114,97,110,103,101,52,0,100,97,114,107,111,114,99,104,105,100,0,100,97,114,107,111,114,99,104,105,100,49,0,100,97,114,107,111,114,99,104,105,100,50,0,100,97,114,107,111,114,99,104,105,100,51,0,100,97,114,107,111,114,99,104,105,100,52,0,100,97,114,107,115,97,108,109,111,110,0,100,97,114,107,115,101,97,103,114,101,101,110,0,100,97,114,107,115,101,97,103,114,101,101,110,49,0,100,97,114,107,115,101,97,103,114,101,101,110,50,0,100,97,114,107,115,101,97,103,114,101,101,110,51,0,100,97,114,107,115,101,97,103,114,101,101,110,52,0,100,97,114,107,115,108,97,116,101,98,108,117,101,0,100,97,114,107,115,108,97,116,101,103,114,97,121,0,100,97,114,107,115,108,97,116,101,103,114,97,121,49,0,100,97,114,107,115,108,97,116,101,103,114,97,121,50,0,100,97,114,107,115,108,97,116,101,103,114,97,121,51,0,100,97,114,107,115,108,97,116,101,103,114,97,121,52,0,100,97,114,107,115,108,97,116,101,103,114,101,121,0,100,97,114,107,116,117,114,113,117,111,105,115,101,0,100,97,114,107,118,105,111,108,101,116,0,100,101,101,112,112,105,110,107,0,100,101,101,112,112,105,110,107,49,0,100,101,101,112,112,105,110,107,50,0,100,101,101,112,112,105,110,107,51,0,100,101,101,112,112,105,110,107,52,0,100,101,101,112,115,107,121,98,108,117,101,0,100,101,101,112,115,107,121,98,108,117,101,49,0,100,101,101,112,115,107,121,98,108,117,101,50,0,100,101,101,112,115,107,121,98,108,117,101,51,0,100,101,101,112,115,107,121,98,108,117,101,52,0,100,105,109,103,114,97,121,0,100,105,109,103,114,101,121,0,100,111,100,103,101,114,98,108,117,101,0,100,111,100,103,101,114,98,108,117,101,49,0,100,111,100,103,101,114,98,108,117,101,50,0,100,111,100,103,101,114,98,108,117,101,51,0,100,111,100,103,101,114,98,108,117,101,52,0,102,105,114,101,98,114,105,99,107,0,102,105,114,101,98,114,105,99,107,49,0,102,105,114,101,98,114,105,99,107,50,0,102,105,114,101,98,114,105,99,107,51,0,102,105,114,101,98,114,105,99,107,52,0,102,108,111,114,97,108,119,104,105,116,101,0,102,111,114,101,115,116,103,114,101,101,110,0,103,97,105,110,115,98,111,114,111,0,103,104,111,115,116,119,104,105,116,101,0,103,111,108,100,0,103,111,108,100,49,0,103,111,108,100,50,0,103,111,108,100,51,0,103,111,108,100,52,0,103,111,108,100,101,110,114,111,100,0,103,111,108,100,101,110,114,111,100,49,0,103,111,108,100,101,110,114,111,100,50,0,103,111,108,100,101,110,114,111,100,51,0,103,111,108,100,101,110,114,111,100,52,0,103,114,97,121,0,103,114,97,121,48,0,103,114,97,121,49,0,103,114,97,121,49,48,0,103,114,97,121,49,48,48,0,103,114,97,121,49,49,0,103,114,97,121,49,50,0,103,114,97,121,49,51,0,103,114,97,121,49,52,0,103,114,97,121,49,53,0,103,114,97,121,49,54,0,103,114,97,121,49,55,0,103,114,97,121,49,56,0,103,114,97,121,49,57,0,103,114,97,121,50,0,103,114,97,121,50,48,0,103,114,97,121,50,49,0,103,114,97,121,50,50],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+122904);allocate([103,114,97,121,50,51,0,103,114,97,121,50,52,0,103,114,97,121,50,53,0,103,114,97,121,50,54,0,103,114,97,121,50,55,0,103,114,97,121,50,56,0,103,114,97,121,50,57,0,103,114,97,121,51,0,103,114,97,121,51,48,0,103,114,97,121,51,49,0,103,114,97,121,51,50,0,103,114,97,121,51,51,0,103,114,97,121,51,52,0,103,114,97,121,51,53,0,103,114,97,121,51,54,0,103,114,97,121,51,55,0,103,114,97,121,51,56,0,103,114,97,121,51,57,0,103,114,97,121,52,0,103,114,97,121,52,48,0,103,114,97,121,52,49,0,103,114,97,121,52,50,0,103,114,97,121,52,51,0,103,114,97,121,52,52,0,103,114,97,121,52,53,0,103,114,97,121,52,54,0,103,114,97,121,52,55,0,103,114,97,121,52,56,0,103,114,97,121,52,57,0,103,114,97,121,53,0,103,114,97,121,53,48,0,103,114,97,121,53,49,0,103,114,97,121,53,50,0,103,114,97,121,53,51,0,103,114,97,121,53,52,0,103,114,97,121,53,53,0,103,114,97,121,53,54,0,103,114,97,121,53,55,0,103,114,97,121,53,56,0,103,114,97,121,53,57,0,103,114,97,121,54,0,103,114,97,121,54,48,0,103,114,97,121,54,49,0,103,114,97,121,54,50,0,103,114,97,121,54,51,0,103,114,97,121,54,52,0,103,114,97,121,54,53,0,103,114,97,121,54,54,0,103,114,97,121,54,55,0,103,114,97,121,54,56,0,103,114,97,121,54,57,0,103,114,97,121,55,0,103,114,97,121,55,48,0,103,114,97,121,55,49,0,103,114,97,121,55,50,0,103,114,97,121,55,51,0,103,114,97,121,55,52,0,103,114,97,121,55,53,0,103,114,97,121,55,54,0,103,114,97,121,55,55,0,103,114,97,121,55,56,0,103,114,97,121,55,57,0,103,114,97,121,56,0,103,114,97,121,56,48,0,103,114,97,121,56,49,0,103,114,97,121,56,50,0,103,114,97,121,56,51,0,103,114,97,121,56,52,0,103,114,97,121,56,53,0,103,114,97,121,56,54,0,103,114,97,121,56,55,0,103,114,97,121,56,56,0,103,114,97,121,56,57,0,103,114,97,121,57,0,103,114,97,121,57,48,0,103,114,97,121,57,49,0,103,114,97,121,57,50,0,103,114,97,121,57,51,0,103,114,97,121,57,52,0,103,114,97,121,57,53,0,103,114,97,121,57,54,0,103,114,97,121,57,55,0,103,114,97,121,57,56,0,103,114,97,121,57,57,0,103,114,101,101,110,0,103,114,101,101,110,49,0,103,114,101,101,110,50,0,103,114,101,101,110,51,0,103,114,101,101,110,52,0,103,114,101,101,110,121,101,108,108,111,119,0,103,114,101,121,0,103,114,101,121,48,0,103,114,101,121,49,0,103,114,101,121,49,48,0,103,114,101,121,49,48,48,0,103,114,101,121,49,49,0,103,114,101,121,49,50,0,103,114,101,121,49,51,0,103,114,101,121,49,52,0,103,114,101,121,49,53,0,103,114,101,121,49,54,0,103,114,101,121,49,55,0,103,114,101,121,49,56,0,103,114,101,121,49,57,0,103,114,101,121,50,0,103,114,101,121,50,48,0,103,114,101,121,50,49,0,103,114,101,121,50,50,0,103,114,101,121,50,51,0,103,114,101,121,50,52,0,103,114,101,121,50,53,0,103,114,101,121,50,54,0,103,114,101,121,50,55,0,103,114,101,121,50,56,0,103,114,101,121,50,57,0,103,114,101,121,51,0,103,114,101,121,51,48,0,103,114,101,121,51,49,0,103,114,101,121,51,50,0,103,114,101,121,51,51,0,103,114,101,121,51,52,0,103,114,101,121,51,53,0,103,114,101,121,51,54,0,103,114,101,121,51,55,0,103,114,101,121,51,56,0,103,114,101,121,51,57,0,103,114,101,121,52,0,103,114,101,121,52,48,0,103,114,101,121,52,49,0,103,114,101,121,52,50,0,103,114,101,121,52,51,0,103,114,101,121,52,52,0,103,114,101,121,52,53,0,103,114,101,121,52,54,0,103,114,101,121,52,55,0,103,114,101,121,52,56,0,103,114,101,121,52,57,0,103,114,101,121,53,0,103,114,101,121,53,48,0,103,114,101,121,53,49,0,103,114,101,121,53,50,0,103,114,101,121,53,51,0,103,114,101,121,53,52,0,103,114,101,121,53,53,0,103,114,101,121,53,54,0,103,114,101,121,53,55,0,103,114,101,121,53,56,0,103,114,101,121,53,57,0,103,114,101,121,54,0,103,114,101,121,54,48,0,103,114,101,121,54,49,0,103,114,101,121,54,50,0,103,114,101,121,54,51,0,103,114,101,121,54,52,0,103,114,101,121,54,53,0,103,114,101,121,54,54,0,103,114,101,121,54,55,0,103,114,101,121,54,56,0,103,114,101,121,54,57,0,103,114,101,121,55,0,103,114,101,121,55,48,0,103,114,101,121,55,49,0,103,114,101,121,55,50,0,103,114,101,121,55,51,0,103,114,101,121,55,52,0,103,114,101,121,55,53,0,103,114,101,121,55,54,0,103,114,101,121,55,55,0,103,114,101,121,55,56,0,103,114,101,121,55,57,0,103,114,101,121,56,0,103,114,101,121,56,48,0,103,114,101,121,56,49,0,103,114,101,121,56,50,0,103,114,101,121,56,51,0,103,114,101,121,56,52,0,103,114,101,121,56,53,0,103,114,101,121,56,54,0,103,114,101,121,56,55,0,103,114,101,121,56,56,0,103,114,101,121,56,57,0,103,114,101,121,57,0,103,114,101,121,57,48,0,103,114,101,121,57,49,0,103,114,101,121,57,50,0,103,114,101,121,57,51,0,103,114,101,121,57,52,0,103,114,101,121,57,53,0,103,114,101,121,57,54,0,103,114,101,121,57,55,0,103,114,101,121,57,56,0,103,114,101,121,57,57,0,104,111,110,101,121,100,101,119,0,104,111,110,101,121,100,101,119,49,0,104,111,110,101,121,100,101,119,50,0,104,111,110,101,121,100,101,119,51,0,104,111,110,101,121,100,101,119,52,0,104,111,116,112,105,110,107,0,104,111,116,112,105,110,107,49,0,104,111,116,112,105,110,107,50,0,104,111,116,112,105,110,107,51,0,104,111,116,112,105,110,107,52,0,105,110,100,105,97,110,114,101,100,0,105,110,100,105,97,110,114,101,100,49,0,105,110,100,105,97,110,114,101,100,50,0,105,110,100,105,97,110,114,101,100,51,0,105,110,100,105,97,110,114,101,100,52,0,105,110,100,105,103,111,0,105,110,118,105,115,0,105,118,111,114,121,0,105,118,111,114,121,49,0,105,118,111,114,121,50,0,105,118,111,114,121,51,0,105,118,111,114,121,52,0,107,104,97,107,105,0,107,104,97,107,105,49,0,107,104,97,107,105,50,0,107,104,97,107,105,51,0,107,104,97,107,105,52,0,108,97,118,101,110,100,101,114,0,108,97,118,101,110,100,101,114,98,108,117,115,104,0,108,97,118,101,110,100,101,114,98,108,117,115,104,49,0,108,97,118,101,110,100,101,114,98,108,117,115,104,50,0,108,97,118,101,110,100,101,114,98,108,117,115,104,51,0,108,97,118,101,110,100,101,114,98,108,117,115,104,52,0,108,97,119,110,103,114,101,101,110,0,108,101,109,111,110,99,104,105,102,102,111,110,0,108,101,109,111,110,99,104,105,102,102,111,110,49,0,108,101,109,111,110,99,104,105,102,102,111,110,50,0,108,101,109,111,110,99,104,105,102,102,111,110,51,0,108,101,109,111,110,99,104,105,102,102,111,110,52,0,108,105,103,104,116,98,108,117,101,0,108,105,103,104,116,98,108,117,101,49,0,108,105,103,104,116,98,108,117,101,50,0,108,105,103,104,116,98,108,117,101,51,0,108,105,103,104,116,98,108,117,101,52,0,108,105,103,104,116,99,111,114,97,108,0,108,105,103,104,116,99,121,97,110,0,108,105,103,104,116,99,121,97,110,49,0,108,105,103,104,116,99,121,97,110,50,0,108,105,103,104,116,99,121,97,110,51,0,108,105,103,104,116,99,121,97,110,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,49,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,50,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,51,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,52,0,108,105,103,104,116,103,111,108,100,101,110,114,111,100,121,101,108,108,111,119,0,108,105,103,104,116,103,114,97,121,0,108,105,103,104,116,103,114,101,121,0,108,105,103,104,116,112,105,110,107,0,108,105,103,104,116,112,105,110,107,49,0,108,105,103,104,116,112,105,110,107,50,0,108,105,103,104,116,112,105,110,107,51,0,108,105,103,104,116,112,105,110,107,52,0,108,105,103,104,116,115,97,108,109,111,110,0,108,105,103,104,116,115,97,108,109,111,110,49,0,108,105,103,104,116,115,97,108,109,111,110,50,0,108,105,103,104,116,115,97,108,109,111,110,51,0,108,105,103,104,116,115,97,108,109,111,110,52,0,108,105,103,104,116,115,101,97,103,114,101,101,110,0,108,105,103,104,116,115,107,121,98,108,117,101,0,108,105,103,104,116,115,107,121,98,108,117,101,49,0,108,105,103,104,116,115,107,121,98,108,117,101,50,0,108,105,103,104,116,115,107,121,98,108,117,101,51,0,108,105,103,104,116,115,107,121,98,108,117,101,52,0,108,105,103,104,116,115,108,97,116,101,98,108,117,101,0,108,105,103,104,116,115,108,97,116,101,103,114,97,121,0,108,105,103,104,116,115,108,97,116,101,103,114,101,121,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,49,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,50,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,51,0,108,105,103,104,116,115,116,101,101,108,98,108,117,101,52,0,108,105,103,104,116,121,101,108,108,111,119,0,108,105,103,104,116,121,101,108,108,111,119,49,0,108,105,103,104,116,121,101,108,108,111,119,50,0,108,105,103,104,116,121,101,108,108,111,119,51,0,108,105,103,104,116,121,101,108,108,111,119,52,0,108,105,109,101,103,114,101,101,110,0,108,105,110,101,110,0,109,97,103,101,110,116,97,0,109,97,103,101,110,116,97,49,0,109,97,103,101,110,116,97,50,0,109,97,103,101,110,116,97,51,0,109,97,103,101,110,116,97,52,0,109,97,114,111,111,110,0,109,97,114,111,111,110,49,0,109,97,114,111,111,110,50,0,109,97,114,111,111,110,51,0,109,97,114,111,111,110,52,0,109,101,100,105,117,109,97,113,117,97,109,97,114,105,110,101,0,109,101,100,105,117,109,98,108,117,101,0,109,101,100,105,117,109,111,114,99,104,105,100,0,109,101,100,105,117,109,111,114,99,104,105,100,49,0,109,101,100,105,117,109,111,114,99,104,105,100,50,0,109,101,100,105,117,109,111,114,99,104,105,100,51,0,109,101,100,105,117,109,111,114,99,104,105,100,52,0,109,101,100,105,117,109,112,117,114,112,108,101,0,109,101,100,105,117,109,112,117,114,112,108,101,49,0,109,101,100,105,117,109,112,117,114,112,108,101,50,0,109,101,100,105,117,109,112,117,114,112,108,101,51,0,109,101,100,105,117,109,112,117,114,112,108,101,52,0,109,101,100,105,117,109,115,101,97,103,114,101,101,110,0,109,101,100,105,117,109,115,108,97,116,101,98,108,117,101,0,109,101,100,105,117,109,115,112,114,105,110,103,103,114,101,101,110,0,109,101,100,105,117,109,116,117,114,113,117,111,105,115,101,0,109,101,100,105,117,109,118,105,111,108,101,116,114,101,100,0,109,105,100,110,105,103,104,116,98,108,117,101,0,109,105,110,116,99,114,101,97,109,0,109,105,115,116,121,114,111,115,101,0,109,105,115,116,121,114,111,115,101,49,0,109,105,115,116,121,114,111,115,101,50,0,109,105,115,116,121,114,111,115,101,51,0,109,105,115,116,121,114,111,115,101,52,0,109,111,99,99,97,115,105,110,0,110,97,118,97,106,111,119,104,105,116,101,0,110,97,118,97,106,111,119,104,105,116,101,49,0,110,97,118,97,106,111,119,104,105,116,101,50,0,110,97,118,97,106,111,119,104,105,116,101,51,0,110,97,118,97,106,111,119,104,105,116,101,52,0,110,97,118,121,0,110,97,118,121,98,108,117,101,0,110,111,110,101,0,111,108,100,108,97,99,101,0,111,108,105,118,101,100,114,97,98,0,111,108,105,118,101,100,114,97,98,49,0,111,108,105,118,101,100,114,97,98,50,0,111,108,105,118,101,100,114,97,98,51,0,111,108,105,118,101,100,114,97,98,52,0,111,114,97,110,103,101,0,111,114,97,110,103,101,49,0,111,114,97,110,103,101,50,0,111,114,97,110,103,101,51,0,111,114,97,110,103,101,52,0,111,114,97,110,103,101,114,101,100,0,111,114,97,110,103,101,114,101,100,49,0,111,114,97,110,103,101,114,101,100,50,0,111,114,97,110,103,101,114,101,100,51,0,111,114,97,110,103,101,114,101,100,52,0,111,114,99,104,105,100,0,111,114,99,104,105,100,49,0,111,114,99,104,105,100,50,0,111,114,99,104,105,100,51,0,111,114,99,104,105,100,52,0,112,97,108,101,103,111,108,100,101,110,114,111,100,0,112,97,108,101,103,114,101,101,110,0,112,97,108,101,103,114,101,101,110,49,0,112,97,108,101,103,114,101,101,110,50,0,112,97,108,101,103,114,101,101,110,51,0,112,97,108,101,103,114,101,101,110,52,0,112,97,108,101,116,117,114,113,117,111,105,115,101,0,112,97,108,101,116,117,114,113,117,111,105,115,101,49,0,112,97,108,101,116,117,114,113,117,111,105,115,101,50,0,112,97,108,101,116,117,114,113,117,111,105,115,101,51,0,112,97,108,101,116,117,114,113,117,111,105,115,101,52,0,112,97,108,101,118,105,111,108,101,116,114,101,100,0,112,97,108,101,118,105,111,108,101,116,114,101,100,49,0,112,97,108,101,118,105,111,108,101,116,114,101,100,50,0,112,97,108,101,118,105,111,108,101,116,114,101,100,51,0,112,97,108,101,118,105,111,108,101,116,114,101,100,52,0,112,97,112,97,121,97,119,104,105,112,0,112,101,97,99,104,112,117,102,102,0,112,101,97,99,104,112,117,102,102,49,0,112,101,97,99,104,112,117,102,102,50,0,112,101,97,99,104,112,117,102,102,51,0,112,101,97,99,104,112,117,102,102,52,0,112,101,114,117,0,112,105,110,107,0,112,105,110,107,49,0,112,105,110,107,50,0,112,105,110,107,51,0,112,105,110,107,52,0,112,108,117,109,0,112,108,117,109,49,0,112,108,117,109,50,0,112,108,117,109,51,0,112,108,117,109,52,0,112,111,119,100,101,114,98,108,117,101,0,112,117,114,112,108,101,0,112,117,114,112,108,101,49,0,112,117,114,112,108,101,50,0,112,117,114,112,108,101,51,0,112,117,114,112,108,101,52,0,114,101,100,0,114,101,100,49,0,114,101,100,50,0,114,101,100,51,0,114,101,100,52,0,114,111,115,121,98,114,111,119,110,0,114,111,115,121,98,114,111,119,110,49,0,114,111,115,121,98,114,111,119,110,50,0,114,111,115,121,98,114,111,119,110,51,0,114,111,115,121,98,114,111,119,110,52,0,114,111,121,97,108,98,108,117,101,0,114,111,121,97,108,98,108,117,101,49,0,114,111,121,97,108,98,108,117,101,50,0,114,111,121,97,108,98,108,117,101,51,0,114,111,121,97,108,98,108,117,101,52,0,115,97,100,100,108,101,98,114,111,119,110,0,115,97,108,109,111,110,0,115,97,108,109,111,110,49,0,115,97,108,109,111,110,50,0,115,97,108,109,111,110,51,0,115,97,108,109,111,110,52,0,115,97,110,100,121,98,114,111,119,110,0,115,101,97,103,114,101,101,110,0,115,101,97,103,114,101,101,110,49,0,115,101,97,103,114,101,101,110,50,0,115,101,97,103,114,101,101,110,51,0,115,101,97,103,114,101,101,110,52,0,115,101,97,115,104,101,108,108,0,115,101,97,115,104,101,108,108,49,0,115,101,97,115,104,101,108,108,50,0,115,101,97,115,104,101,108,108,51,0,115,101,97,115,104,101,108,108,52,0,115,105,101,110,110,97,0,115,105,101,110,110,97,49,0,115,105,101,110,110,97,50,0,115,105,101,110,110,97,51,0,115,105,101,110,110,97,52,0,115,107,121,98,108,117,101,0,115,107,121,98,108,117,101,49,0,115,107,121,98,108,117,101,50,0,115,107,121,98,108,117,101,51,0,115,107,121,98,108,117,101,52,0,115,108,97,116,101,98,108,117,101,0,115,108,97,116,101,98,108,117,101,49,0,115,108,97,116,101,98,108,117,101,50,0,115,108,97,116,101,98,108,117,101,51,0,115,108,97,116,101,98,108,117,101,52,0,115,108,97,116,101,103,114,97,121,0,115,108,97,116,101,103,114,97,121,49,0,115,108,97,116,101,103,114,97,121,50,0,115,108,97,116,101,103,114,97,121,51,0,115,108,97,116,101,103,114,97,121,52,0,115,108,97,116,101,103,114,101,121,0,115,110,111,119,0,115,110,111,119,49,0,115,110,111,119,50,0,115,110,111,119,51,0,115,110,111,119,52,0,115,112,114,105,110,103,103,114,101,101,110,0,115,112,114,105,110,103,103,114,101,101,110,49,0,115,112,114,105,110,103,103,114,101,101,110,50,0,115,112,114,105,110,103,103,114,101,101,110,51,0,115,112,114,105,110,103,103,114,101,101,110,52,0,115,116,101,101,108,98,108,117,101,0,115,116,101,101,108,98,108,117,101,49,0,115,116,101,101,108,98,108,117,101,50,0,115,116,101,101,108,98,108,117,101,51,0,115,116,101,101,108,98,108,117,101,52,0,116,97,110,0,116,97,110,49,0,116,97,110,50,0,116,97,110,51,0,116,97,110,52,0,116,104,105,115,116,108,101,0,116,104,105,115,116,108,101,49,0,116,104,105,115,116,108,101,50,0,116,104,105,115,116,108,101,51,0,116,104,105,115,116,108,101,52,0,116,111,109,97,116,111,0,116,111,109,97,116,111,49,0,116,111,109,97,116,111,50,0,116,111,109,97,116,111,51,0,116,111,109,97,116,111,52,0,116,117,114,113,117,111,105,115,101,0,116,117,114,113,117,111,105,115,101,49,0,116,117,114,113,117,111,105,115,101,50,0,116,117,114,113,117,111,105,115,101,51,0,116,117,114,113,117,111,105,115,101,52,0,118,105,111,108,101,116,0,118,105,111,108,101,116,114,101,100,0,118,105,111,108,101,116,114,101,100,49,0,118,105,111,108,101,116,114,101,100,50,0,118,105,111,108,101,116,114,101,100,51,0,118,105,111,108,101,116,114,101,100,52,0,119,104,101,97,116,0,119,104,101,97,116,49,0,119,104,101,97,116,50,0,119,104,101,97,116,51,0,119,104,101,97,116,52,0,119,104,105,116,101,0,119,104,105,116,101,115,109,111,107,101,0,121,101,108,108,111,119,0,121,101,108,108,111,119,49,0,121,101,108,108,111,119,50,0,121,101,108,108,111,119,51,0,121,101,108,108,111,119,52,0,121,101,108,108,111,119,103,114,101,101,110,0,108,97,99,107,0,104,105,116,101,0,105,103,104,116,103,114,101,121,0,88,49,49,47,0,47,37,115,47,37,115,0,105,109,97,103,101,115,99,97,108,101,0,102,97,108,115,101,0,98,108,97,99,107,0,100,111,116,116,101,100,0,100,97,115,104,101,100,0,99,112,45,62,115,114,99,0,104,116,109,108,116,97,98,108,101,46,99,0,101,109,105,116,95,104,116,109,108,95,105,109,103,0,99,112,45,62,115,114,99,91,48,93,0,116,114,97,110,115,112,97,114,101,110,116,0,95,37,100,0,37,100,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,49,48,0,49,49,0,49,50,0,49,51,0,49,52,0,49,53,0,49,54,0,49,55,0,49,56,0,49,57,0,50,48,0,65,103,110,111,100,101,105,110,102,111,95,116,0,65,103,101,100,103,101,105,110,102,111,95,116,0,114,111,119,103,0,99,111,108,103,0,65,103,114,97,112,104,105,110,102,111,95,116,0,100,101,108,120,32,62,61,32,48,0,112,111,115,95,104,116,109,108,95,116,98,108,0,100,101,108,121,32,62,61,32,48,0,116,97,98,108,101,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,116,97,98,108,101,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,99,101,108,108,32,115,105,122,101,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,99,111,110,116,101,110,116,10,0,102,105,120,101,100,32,99,101,108,108,32,115,105,122,101,32,119,105,116,104,32,117,110,115,112,101,99,105,102,105,101,100,32,119,105,100,116,104,32,111,114,32,104,101,105,103,104,116,10,0,78,111,32,111,114,32,105,109,112,114,111,112,101,114,32,105,109,97,103,101,32,102,105,108,101,61,34,37,115,34,10,0,112,101,110,99,111,108,111,114,0,45,62,0,102,80,81,46,99,0,80,81,99,104,101,99,107,0,72,101,97,112,32,111,118,101,114,102,108,111,119,10,0,37,33,80,83,45,65,100,111,98,101,45,50,46,48,10,47,110,111,100,101,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,102,105,108,108,10,125,32,100,101,102,10,47,99,101,108,108,32,123,10,32,32,47,89,32,101,120,99,104,32,100,101,102,10,32,32,47,88,32,101,120,99,104,32,100,101,102,10,32,32,47,121,32,101,120,99,104,32,100,101,102,10,32,32,47,120,32,101,120,99,104,32,100,101,102,10,32,32,110,101,119,112,97,116,104,10,32,32,120,32,121,32,109,111,118,101,116,111,10,32,32,120,32,89,32,108,105,110,101,116,111,10,32,32,88,32,89,32,108,105,110,101,116,111,10,32,32,88,32,121,32,108,105,110,101,116,111,10,32,32,99,108,111,115,101,112,97,116,104,32,115,116,114,111,107,101,10,125,32,100,101,102,10,0,115,104,111,119,112,97,103,101,10,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,48,93,10,0,110,112,45,62,99,101,108,108,115,91,48,93,0,109,97,122,101,46,99,0,99,104,107,83,103,114,97,112,104,0,102,97,105,108,101,100,32,97,116,32,110,111,100,101,32,37,100,91,49,93,10,0,110,112,45,62,99,101,108,108,115,91,49,93,0,100,105,116,101,109,115,0,102,105,110,100,83,86,101,114,116,0,37,37,37,37,80,97,103,101,58,32,49,32,49,10,37,37,37,37,80,97,103,101,66,111,117,110,100,105,110,103,66,111,120,58,32,37,100,32,37,100,32,37,100,32,37,100,10,0,37,102,32,37,102,32,116,114,97,110,115,108,97,116,101,10,0,48,32,48,32,49,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,110,111,100,101,10,0,48,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,37,102,32,37,102,32,37,102,32,37,102,32,99,101,108,108,10,0,49,32,48,32,48,32,115,101,116,114,103,98,99,111,108,111,114,10,0,117,110,101,120,112,101,99,116,101,100,32,99,97,115,101,32,105,110,32,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,10,0,48,0,116,114,97,112,101,122,111,105,100,46,99,0,108,111,99,97,116,101,95,101,110,100,112,111,105,110,116,0,97,100,100,95,115,101,103,109,101,110,116,58,32,101,114,114,111,114,10,0,110,101,119,110,111,100,101,58,32,81,117,101,114,121,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,10,0,110,101,119,110,111,100,101,0,110,101,119,116,114,97,112,58,32,84,114,97,112,101,122,111,105,100,45,116,97,98,108,101,32,111,118,101,114,102,108,111,119,32,37,100,10,0,110,101,119,116,114,97,112,0,105,110,100,101,120,46,99,0,82,84,114,101,101,83,101,97,114,99,104,0,110,45,62,108,101,118,101,108,32,62,61,32,48,0,82,84,114,101,101,73,110,115,101,114,116,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,40,42,110,41,45,62,108,101,118,101,108,0,114,45,62,98,111,117,110,100,97,114,121,91,105,93,32,60,61,32,114,45,62,98,111,117,110,100,97,114,121,91,78,85,77,68,73,77,83,32,43,32,105,93,0,114,32,38,38,32,110,32,38,38,32,110,101,119,0,82,84,114,101,101,73,110,115,101,114,116,50,0,108,101,118,101,108,32,62,61,32,48,32,38,38,32,108,101,118,101,108,32,60,61,32,110,45,62,108,101,118,101,108,0,70,65,76,83,69,0,110,111,100,101,46,99,0,78,111,100,101,67,111,118,101,114,0,114,32,38,38,32,110,0,80,105,99,107,66,114,97,110,99,104,0,65,100,100,66,114,97,110,99,104,0,105,32,60,32,78,79,68,69,67,65,82,68,0,110,101,119,0,110,32,38,38,32,105,32,62,61,32,48,32,38,38,32,105,32,60,32,78,79,68,69,67,65,82,68,0,68,105,115,99,111,110,66,114,97,110,99,104,0,114,0,114,101,99,116,97,110,103,108,101,46,99,0,82,101,99,116,65,114,101,97,0,114,32,38,38,32,114,114,0,67,111,109,98,105,110,101,82,101,99,116,0,114,32,38,38,32,115,0,79,118,101,114,108,97,112,0,110,0,115,112,108,105,116,46,113,46,99,0,83,112,108,105,116,78,111,100,101,0,98,0,110,45,62,99,111,117,110,116,32,43,32,40,42,110,110,41,45,62,99,111,117,110,116,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,76,111,97,100,78,111,100,101,115,0,113,0,112,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,48,32,124,124,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,112,97,114,116,105,116,105,111,110,91,105,93,32,61,61,32,49,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,43,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,61,61,32,78,79,68,69,67,65,82,68,32,43,32,49,0,77,101,116,104,111,100,90,101,114,111,0,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,48,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,32,38,38,32,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,99,111,117,110,116,91,49,93,32,62,61,32,114,116,112,45,62,77,105,110,70,105,108,108,0,33,114,116,112,45,62,115,112,108,105,116,46,80,97,114,116,105,116,105,111,110,115,91,48,93,46,116,97,107,101,110,91,105,93,0,67,108,97,115,115,105,102,121,0,71,101,116,66,114,97,110,99,104,101,115,0,110,45,62,98,114,97,110,99,104,91,105,93,46,99,104,105,108,100,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,2,2,2,2,2,2,16,12,89,1,0,31,80,8,3,7,18,19,20,87,22,23,8,11,105,12,31,10,5,12,14,41,17,43,15,45,16,47,48,32,50,6,52,53,27,28,29,30,11,12,33,34,35,36,37,38,39,40,12,24,25,23,4,10,27,28,26,32,42,10,33,34,35,36,37,38,39,40,12,10,14,83,10,44,88,49,88,88,88,88,88,88,12,27,28,15,46,88,51,33,34,35,36,37,38,39,40,27,28,255,83,255,255,33,34,35,36,37,38,39,40,12,255,255,5,255,255,255,9,20,255,255,255,255,255,12,27,28,255,16,21,22,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,18,19,20,17,22,23,255,255,255,255,255,255,12,27,28,255,255,255,18,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,12,255,255,255,255,255,255,19,255,255,255,255,255,255,12,27,28,255,255,255,255,33,34,35,36,37,38,39,40,27,28,255,255,255,255,33,34,35,36,37,38,39,40,18,19,20,21,22,23,24,25,255,255,255,255,255,255,255,255,255,35,36,37,38,39,27,18,19,20,22,23,34,54,104,1,31,56,86,33,32,2,27,27,27,94,27,27,55,57,112,54,210,194,79,4,60,34,71,34,63,34,68,34,34,88,34,101,34,34,5,6,95,96,57,4,7,8,9,10,11,12,13,14,4,102,103,93,106,109,5,6,111,88,59,113,7,8,9,10,11,12,13,14,4,114,60,91,115,62,97,70,27,18,19,20,22,23,4,5,6,63,65,98,73,7,8,9,10,11,12,13,14,5,6,0,92,0,0,7,8,9,10,11,12,13,14,4,0,0,79,0,0,0,83,66,0,0,0,0,0,4,5,6,0,68,84,85,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,42,44,46,71,49,51,0,0,0,0,0,0,4,5,6,0,0,0,74,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,4,0,0,0,0,0,0,76,0,0,0,0,0,0,4,5,6,0,0,0,0,7,8,9,10,11,12,13,14,5,6,0,0,0,0,7,8,9,10,11,12,13,14,41,43,45,47,48,50,52,53,0,0,0,0,0,0,0,0,0,41,43,45,48,50,0,4,47,0,36,35,0,18,20,22,26,28,30,32,24,0,5,7,47,47,47,0,47,47,0,0,9,8,40,0,0,1,34,2,6,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,37,3,38,19,10,41,21,11,42,23,14,45,25,17,27,12,43,29,13,44,31,15,33,16,0,51,0,48,0,47,67,0,49,0,47,0,53,46,39,66,50,65,0,58,56,0,60,52,69,0,54,0,64,0,0,63,0,68,55,59,57,61,0,2,3,3,1,1,2,1,1,1,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,2,0,6,1,3,3,3,3,3,1,0,1,2,3,0,4,1,2,3,0,4,0,4,0,4,0,3,2,1,2,1,2,1,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,98,101,102,111,114,101,32,60,84,65,66,76,69,62,0,83,121,110,116,97,120,32,101,114,114,111,114,58,32,110,111,110,45,115,112,97,99,101,32,115,116,114,105,110,103,32,117,115,101,100,32,97,102,116,101,114,32,60,47,84,65,66,76,69,62,0,0,41,42,42,42,43,44,44,45,45,45,45,45,45,45,45,45,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,62,63,63,65,64,66,66,66,66,66,66,67,67,68,68,68,70,69,71,71,71,73,72,74,72,75,72,76,72,77,77,78,78,79,79,255,3,15,16,17,35,58,36,61,37,64,21,67,38,69,39,72,24,75,25,77,26,40,28,78,29,30,80,81,82,89,90,108,107,110,99,100,87,105,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,37,115,32,105,110,32,108,105,110,101,32,37,100,32,10,0,46,46,46,32,37,115,32,46,46,46,10,0,84,65,66,76,69,0,84,82,0,84,72,0,84,68,0,72,84,77,76,0,70,79,78,84,0,66,0,85,0,79,0,73,0,83,85,80,0,83,85,66,0,83,0,66,82,0,72,82,0,86,82,0,73,77,71,0,85,110,107,110,111,119,110,32,72,84,77,76,32,101,108,101,109,101,110,116,32,60,37,115,62,32,111,110,32,108,105,110,101,32,37,100,32,10,0,60,73,77,71,62,0,73,108,108,101,103,97,108,32,97,116,116,114,105,98,117,116,101,32,37,115,32,105,110,32,37,115,32,45,32,105,103,110,111,114,101,100,10,0,115,99,97,108,101,0,115,114,99,0,60,66,82,62,0,97,108,105,103,110,0,73,71,72,84,0,69,70,84,0,69,78,84,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,60,70,79,78,84,62,0,99,111,108,111,114,0,102,97,99,101,0,112,111,105,110,116,45,115,105,122,101,0,80,79,73,78,84,45,83,73,90,69,0,73,109,112,114,111,112,101,114,32,37,115,32,118,97,108,117,101,32,37,115,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,62,32,37,100,32,45,32,116,111,111,32,108,97,114,103,101,32,45,32,105,103,110,111,114,101,100,0,37,115,32,118,97,108,117,101,32,37,115,32,60,32,37,100,32,45,32,116,111,111,32,115,109,97,108,108,32,45,32,105,103,110,111,114,101,100,0,60,84,68,62,0,98,97,108,105,103,110,0,98,103,99,111,108,111,114,0,98,111,114,100,101,114,0,99,101,108,108,112,97,100,100,105,110,103,0,99,101,108,108,115,112,97,99,105,110,103,0,99,111,108,115,112,97,110,0,102,105,120,101,100,115,105,122,101,0,103,114,97,100,105,101,110,116,97,110,103,108,101,0,104,101,105,103,104,116,0,104,114,101,102,0,105,100,0,112,111,114,116,0,114,111,119,115,112,97,110,0,115,105,100,101,115,0,115,116,121,108,101,0,116,97,114,103,101,116,0,116,105,116,108,101,0,116,111,111,108,116,105,112,0,118,97,108,105,103,110,0,119,105,100,116,104,0,87,73,68,84,72,0,79,84,84,79,77,0,79,80,0,73,68,68,76,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,86,65,76,73,71,78,32,45,32,105,103,110,111,114,101,100,10,0,32,44,0,79,85,78,68,69,68,0,65,68,73,65,76,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,83,84,89,76,69,32,45,32,105,103,110,111,114,101,100,10,0,83,79,76,73,68,0,73,78,86,73,83,73,66,76,69,0,73,78,86,73,83,0,68,79,84,84,69,68,0,68,65,83,72,69,68,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,32,40,37,100,41,32,105,110,32,115,105,100,101,115,32,97,116,116,114,105,98,117,116,101,10,0,82,79,87,83,80,65,78,0,82,79,87,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,72,69,73,71,72,84,0,71,82,65,68,73,69,78,84,65,78,71,76,69,0,82,85,69,0,65,76,83,69,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,70,73,88,69,68,83,73,90,69,32,45,32,105,103,110,111,114,101,100,10,0,67,79,76,83,80,65,78,0,67,79,76,83,80,65,78,32,118,97,108,117,101,32,99,97,110,110,111,116,32,98,101,32,48,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,80,65,67,73,78,71,0,67,69,76,76,80,65,68,68,73,78,71,0,66,79,82,68,69,82,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,66,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,69,88,84,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,37,115,32,102,111,114,32,65,76,73,71,78,32,105,110,32,84,68,32,45,32,105,103,110,111,114,101,100,10,0,60,84,65,66,76,69,62,0,99,101,108,108,98,111,114,100,101,114,0,99,111,108,117,109,110,115,0,114,111,119,115,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,82,79,87,83,32,45,32,105,103,110,111,114,101,100,10,0,85,110,107,110,111,119,110,32,118,97,108,117,101,32,37,115,32,102,111,114,32,67,79,76,85,77,78,83,32,45,32,105,103,110,111,114,101,100,10,0,67,69,76,76,83,66,79,82,68,69,82,0,60,72,84,77,76,62,0,60,47,72,84,77,76,62,0,45,45,0,76,97,98,101,108,32,99,108,111,115,101,100,32,98,101,102,111,114,101,32,101,110,100,32,111,102,32,72,84,77,76,32,101,108,101,109,101,110,116,10,0,85,110,99,108,111,115,101,100,32,99,111,109,109,101,110,116,10,0,106,32,61,61,32,48,0,99,118,116,46,99,0,80,111,98,115,112,97,116,104,0,114,111,117,116,101,46,99,0,108,105,98,112,97,116,104,47,37,115,58,37,100,58,32,37,115,10,0,115,104,111,114,116,101,115,116,46,99,0,115,111,117,114,99,101,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,100,101,115,116,105,110,97,116,105,111,110,32,112,111,105,110,116,32,110,111,116,32,105,110,32,97,110,121,32,116,114,105,97,110,103,108,101,0,99,97,110,110,111,116,32,102,105,110,100,32,116,114,105,97,110,103,108,101,32,112,97,116,104,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,111,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,111,112,115,0,116,114,105,97,110,103,117,108,97,116,105,111,110,32,102,97,105,108,101,100,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,116,114,105,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,100,113,46,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,109,97,108,108,111,99,32,112,110,108,112,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,115,0,99,97,110,110,111,116,32,114,101,97,108,108,111,99,32,112,110,108,112,115,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,89,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,79,84,65,84,73,79,78,40,0,40,0,124,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,50,48,48,48,47,120,109,108,110,115,47,0,120,109,108,61,104,116,116,112,58,47,47,119,119,119,46,119,51,46,111,114,103,47,88,77,76,47,49,57,57,56,47,110,97,109,101,115,112,97,99,101,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,115,121,110,116,97,120,32,101,114,114,111,114,0,110,111,32,101,108,101,109,101,110,116,32,102,111,117,110,100,0,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,32,40,105,110,118,97,108,105,100,32,116,111,107,101,110,41,0,117,110,99,108,111,115,101,100,32,116,111,107,101,110,0,112,97,114,116,105,97,108,32,99,104,97,114,97,99,116,101,114,0,109,105,115,109,97,116,99,104,101,100,32,116,97,103,0,100,117,112,108,105,99,97,116,101,32,97,116,116,114,105,98,117,116,101,0,106,117,110,107,32,97,102,116,101,114,32,100,111,99,117,109,101,110,116,32,101,108,101,109,101,110,116,0,105,108,108,101,103,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,117,110,100,101,102,105,110,101,100,32,101,110,116,105,116,121,0,114,101,99,117,114,115,105,118,101,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,97,115,121,110,99,104,114,111,110,111,117,115,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,110,117,109,98,101,114,0,114,101,102,101,114,101,110,99,101,32,116,111,32,98,105,110,97,114,121,32,101,110,116,105,116,121,0,114,101,102,101,114,101,110,99,101,32,116,111,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,105,110,32,97,116,116,114,105,98,117,116,101,0,88,77,76,32,111,114,32,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,97,116,32,115,116,97,114,116,32,111,102,32,101,110,116,105,116,121,0,117,110,107,110,111,119,110,32,101,110,99,111,100,105,110,103,0,101,110,99,111,100,105,110,103,32,115,112,101,99,105,102,105,101,100,32,105,110,32,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,105,115,32,105,110,99,111,114,114,101,99,116,0,117,110,99,108,111,115,101,100,32,67,68,65,84,65,32,115,101,99,116,105,111,110,0,101,114,114,111,114,32,105,110,32,112,114,111,99,101,115,115,105,110,103,32,101,120,116,101,114,110,97,108,32,101,110,116,105,116,121,32,114,101,102,101,114,101,110,99,101,0,100,111,99,117,109,101,110,116,32,105,115,32,110,111,116,32,115,116,97,110,100,97,108,111,110,101,0,117,110,101,120,112,101,99,116,101,100,32,112,97,114,115,101,114,32,115,116,97,116,101,32,45,32,112,108,101,97,115,101,32,115,101,110,100,32,97,32,98,117,103,32,114,101,112,111,114,116,0,101,110,116,105,116,121,32,100,101,99,108,97,114,101,100,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,114,101,113,117,105,114,101,115,32,88,77,76,95,68,84,68,32,115,117,112,112,111,114,116,32,105,110,32,69,120],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+133144);allocate([112,97,116,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,115,101,116,116,105,110,103,32,111,110,99,101,32,112,97,114,115,105,110,103,32,104,97,115,32,98,101,103,117,110,0,117,110,98,111,117,110,100,32,112,114,101,102,105,120,0,109,117,115,116,32,110,111,116,32,117,110,100,101,99,108,97,114,101,32,112,114,101,102,105,120,0,105,110,99,111,109,112,108,101,116,101,32,109,97,114,107,117,112,32,105,110,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,88,77,76,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,116,101,120,116,32,100,101,99,108,97,114,97,116,105,111,110,32,110,111,116,32,119,101,108,108,45,102,111,114,109,101,100,0,105,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,40,115,41,32,105,110,32,112,117,98,108,105,99,32,105,100,0,112,97,114,115,101,114,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,101,114,32,110,111,116,32,115,117,115,112,101,110,100,101,100,0,112,97,114,115,105,110,103,32,97,98,111,114,116,101,100,0,112,97,114,115,105,110,103,32,102,105,110,105,115,104,101,100,0,99,97,110,110,111,116,32,115,117,115,112,101,110,100,32,105,110,32,101,120,116,101,114,110,97,108,32,112,97,114,97,109,101,116,101,114,32,101,110,116,105,116,121,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,41,32,109,117,115,116,32,110,111,116,32,98,101,32,117,110,100,101,99,108,97,114,101,100,32,111,114,32,98,111,117,110,100,32,116,111,32,97,110,111,116,104,101,114,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,0,114,101,115,101,114,118,101,100,32,112,114,101,102,105,120,32,40,120,109,108,110,115,41,32,109,117,115,116,32,110,111,116,32,98,101,32,100,101,99,108,97,114,101,100,32,111,114,32,117,110,100,101,99,108,97,114,101,100,0,112,114,101,102,105,120,32,109,117,115,116,32,110,111,116,32,98,101,32,98,111,117,110,100,32,116,111,32,111,110,101,32,111,102,32,116,104,101,32,114,101,115,101,114,118,101,100,32,110,97,109,101,115,112,97,99,101,32,110,97,109,101,115,0,2,3,4,5,6,7,8,0,0,9,10,11,12,13,14,15,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,0,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,3,26,27,28,29,30,0,0,31,32,33,34,35,36,37,16,17,0,0,0,0,0,0,0,0,0,0,0,0,18,19,38,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,23,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,68,65,84,65,91,85,83,45,65,83,67,73,73,0,85,84,70,45,49,54,0,85,84,70,45,49,54,66,69,0,85,84,70,45,49,54,76,69,0,118,101,114,115,105,111,110,0,101,110,99,111,100,105,110,103,0,115,116,97,110,100,97,108,111,110,101,0,68,79,67,84,89,80,69,0,83,89,83,84,69,77,0,80,85,66,76,73,67,0,69,78,84,73,84,89,0,65,84,84,76,73,83,84,0,69,76,69,77,69,78,84,0,78,79,84,65,84,73,79,78,0,73,78,67,76,85,68,69,0,73,71,78,79,82,69,0,69,77,80,84,89,0,65,78,89,0,80,67,68,65,84,65,0,73,77,80,76,73,69,68,0,82,69,81,85,73,82,69,68,0,70,73,88,69,68,0,67,68,65,84,65,0,73,68,0,73,68,82,69,70,0,73,68,82,69,70,83,0,69,78,84,73,84,73,69,83,0,78,77,84,79,75,69,78,0,78,77,84,79,75,69,78,83,0,78,68,65,84,65,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,251,255,15,0,0,0,0,0,0,0,0,18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,108,110,117,109,0,97,108,112,104,97,0,98,108,97,110,107,0,99,110,116,114,108,0,100,105,103,105,116,0,103,114,97,112,104,0,108,111,119,101,114,0,112,114,105,110,116,0,112,117,110,99,116,0,115,112,97,99,101,0,117,112,112,101,114,0,120,100,105,103,105,116,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0,105,110,102,105,110,105,116,121,0,110,97,110,0,76,67,95,65,76,76,0,76,67,95,67,84,89,80,69],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+143384);allocate([76,67,95,78,85,77,69,82,73,67,0,0,76,67,95,84,73,77,69,0,0,0,0,0,76,67,95,67,79,76,76,65,84,69,0,0,76,67,95,77,79,78,69,84,65,82,89,0,76,67,95,77,69,83,83,65,71,69,83,0,76,65,78,71,0,67,46,85,84,70,45,56,0,80,79,83,73,88,0,77,85,83,76,95,76,79,67,80,65,84,72,0,67,46,85,84,70,45,56,0,0,0,0,0,0,0,0,0,67,0,114,119,97,0,9,0,10,0,13,0,12,0,7,0,27,0,91,91,58,97,108,110,117,109,58,93,95,93,0,91,94,91,58,97,108,110,117,109,58,93,95,93,0,91,91,58,115,112,97,99,101,58,93,93,0,91,94,91,58,115,112,97,99,101,58,93,93,0,91,91,58,100,105,103,105,116,58,93,93,0,91,94,91,58,100,105,103,105,116,58,93,93,0,47,116,109,112,47,116,109,112,102,105,108,101,95,88,88,88,88,88,88,0,119,43,0],\"i8\",ALLOC_NONE,Runtime.GLOBAL_BASE+153624);var tempDoublePtr=STATICTOP;STATICTOP+=16;Module[\"_i64Subtract\"]=_i64Subtract;function ___assert_fail(condition,filename,line,func){ABORT=true;throw\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"]+\" at \"+stackTrace()}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};var ERRNO_MESSAGES={0:\"Success\",1:\"Not super-user\",2:\"No such file or directory\",3:\"No such process\",4:\"Interrupted system call\",5:\"I/O error\",6:\"No such device or address\",7:\"Arg list too long\",8:\"Exec format error\",9:\"Bad file number\",10:\"No children\",11:\"No more processes\",12:\"Not enough core\",13:\"Permission denied\",14:\"Bad address\",15:\"Block device required\",16:\"Mount device busy\",17:\"File exists\",18:\"Cross-device link\",19:\"No such device\",20:\"Not a directory\",21:\"Is a directory\",22:\"Invalid argument\",23:\"Too many open files in system\",24:\"Too many open files\",25:\"Not a typewriter\",26:\"Text file busy\",27:\"File too large\",28:\"No space left on device\",29:\"Illegal seek\",30:\"Read only file system\",31:\"Too many links\",32:\"Broken pipe\",33:\"Math arg out of domain of func\",34:\"Math result not representable\",35:\"File locking deadlock error\",36:\"File or path name too long\",37:\"No record locks available\",38:\"Function not implemented\",39:\"Directory not empty\",40:\"Too many symbolic links\",42:\"No message of desired type\",43:\"Identifier removed\",44:\"Channel number out of range\",45:\"Level 2 not synchronized\",46:\"Level 3 halted\",47:\"Level 3 reset\",48:\"Link number out of range\",49:\"Protocol driver not attached\",50:\"No CSI structure available\",51:\"Level 2 halted\",52:\"Invalid exchange\",53:\"Invalid request descriptor\",54:\"Exchange full\",55:\"No anode\",56:\"Invalid request code\",57:\"Invalid slot\",59:\"Bad font file fmt\",60:\"Device not a stream\",61:\"No data (for no delay io)\",62:\"Timer expired\",63:\"Out of streams resources\",64:\"Machine is not on the network\",65:\"Package not installed\",66:\"The object is remote\",67:\"The link has been severed\",68:\"Advertise error\",69:\"Srmount error\",70:\"Communication error on send\",71:\"Protocol error\",72:\"Multihop attempted\",73:\"Cross mount point (not really error)\",74:\"Trying to read unreadable message\",75:\"Value too large for defined data type\",76:\"Given log. name not unique\",77:\"f.d. invalid for this operation\",78:\"Remote address changed\",79:\"Can access a needed shared lib\",80:\"Accessing a corrupted shared lib\",81:\".lib section in a.out corrupted\",82:\"Attempting to link in too many libs\",83:\"Attempting to exec a shared library\",84:\"Illegal byte sequence\",86:\"Streams pipe error\",87:\"Too many users\",88:\"Socket operation on non-socket\",89:\"Destination address required\",90:\"Message too long\",91:\"Protocol wrong type for socket\",92:\"Protocol not available\",93:\"Unknown protocol\",94:\"Socket type not supported\",95:\"Not supported\",96:\"Protocol family not supported\",97:\"Address family not supported by protocol family\",98:\"Address already in use\",99:\"Address not available\",100:\"Network interface is not configured\",101:\"Network is unreachable\",102:\"Connection reset by network\",103:\"Connection aborted\",104:\"Connection reset by peer\",105:\"No buffer space available\",106:\"Socket is already connected\",107:\"Socket is not connected\",108:\"Can't send after socket shutdown\",109:\"Too many references\",110:\"Connection timed out\",111:\"Connection refused\",112:\"Host is down\",113:\"Host is unreachable\",114:\"Socket already connected\",115:\"Connection already in progress\",116:\"Stale file handle\",122:\"Quota exceeded\",123:\"No medium (in tape drive)\",125:\"Operation canceled\",130:\"Previous owner died\",131:\"State not recoverable\"};function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}var PATH={splitPath:(function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift(\"..\")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))}),join2:(function(l,r){return PATH.normalize(l+\"/\"+r)}),resolve:(function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!==\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=path.charAt(0)===\"/\"}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter((function(p){return!!p})),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!=\"win32\";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync(\"/dev/stdin\",\"r\");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf(\"EOF\")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}else{result=null}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,\"/\",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!==\"undefined\")return indexedDB;var ret=null;if(typeof window===\"object\")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,\"IDBFS used, but indexedDB not supported\");return ret}),DB_VERSION:21,DB_STORE_NAME:\"FILE_DATA\",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback(\"Unable to connect to IndexedDB\")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains(\"timestamp\")){fileStore.createIndex(\"timestamp\",\"timestamp\",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!==\".\"&&p!==\"..\"}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:\"local\",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readonly\");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index(\"timestamp\");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:\"remote\",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error(\"node type not supported\"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{encoding:\"binary\",canOwn:true})}else{return callback(new Error(\"node type not supported\"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type===\"remote\"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readwrite\");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type===\"local\"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type===\"local\"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,\"/\",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&146)>>1}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsToPermissionStringMap:{0:\"r\",1:\"r+\",2:\"r+\",64:\"r\",65:\"r+\",66:\"r+\",129:\"rx+\",193:\"rx+\",514:\"w+\",577:\"w\",578:\"w+\",705:\"wx\",706:\"wx+\",1024:\"a\",1025:\"a\",1026:\"a+\",1089:\"a\",1090:\"a+\",1153:\"ax\",1154:\"ax+\",1217:\"ax\",1218:\"ax+\",4096:\"rs\",4098:\"rs+\"},flagsToPermissionString:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,\"\",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsToPermissionString(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,\"/\",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split(\"/\");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join(\"/\");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split(\"/\");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts[\"files\"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts[\"blobs\"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj[\"name\"]),base(obj[\"name\"]),WORKERFS.FILE_MODE,0,obj[\"data\"])}));(mount.opts[\"packages\"]||[]).forEach((function(pack){pack[\"metadata\"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack[\"blob\"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+\" : \"+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),false);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?mount+\"/\"+path:mount+path}path=path?node.name+\"/\"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{\"r\":0,\"rs\":1052672,\"r+\":2,\"w\":577,\"wx\":705,\"xw\":705,\"w+\":578,\"wx+\":706,\"xw+\":706,\"a\":1089,\"ax\":1217,\"xa\":1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags===\"undefined\"){throw new Error(\"Unknown file open mode: \"+str)}return flags}),flagsToPermissionString:(function(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf(\"r\")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"w\")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"x\")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,\"x\");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,\"wx\")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,\"wx\");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate===\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log(\"warning: \"+FS.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev===\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,\"w\");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate[\"willMovePath\"]){FS.trackingDelegate[\"willMovePath\"](old_path,new_path)}}catch(e){console.log(\"FS.trackingDelegate['willMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate[\"onMovePath\"])FS.trackingDelegate[\"onMovePath\"](old_path,new_path)}catch(e){console.log(\"FS.trackingDelegate['onMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,\"w\");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===\"\"){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags===\"string\"?FS.modeStringToFlags(flags):flags;mode=typeof mode===\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path===\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module[\"printErr\"](\"read file: \"+path)}}try{if(FS.trackingDelegate[\"onOpenFile\"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate[\"onOpenFile\"](path,trackingFlags)}}catch(e){console.log(\"FS.trackingDelegate['onOpenFile']('\"+path+\"', flags) threw an exception: \"+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position===\"undefined\"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position===\"undefined\"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate[\"onWriteToFile\"])FS.trackingDelegate[\"onWriteToFile\"](stream.path)}catch(e){console.log(\"FS.trackingDelegate['onWriteToFile']('\"+path+\"') threw an exception: \"+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||\"r\";opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error('Invalid encoding type \"'+opts.encoding+'\"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||\"w\";opts.encoding=opts.encoding||\"utf8\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error('Invalid encoding type \"'+opts.encoding+'\"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding===\"utf8\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,0,opts.canOwn)}else if(opts.encoding===\"binary\"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,\"x\");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")}),createDefaultDevices:(function(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var random_device;if(typeof crypto!==\"undefined\"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require(\"crypto\").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice(\"/dev\",\"random\",random_device);FS.createDevice(\"/dev\",\"urandom\",random_device);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")}),createSpecialDirectories:(function(){FS.mkdir(\"/proc\");FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:(function(){var node=FS.createNode(\"/proc/self\",\"fd\",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},\"/proc/self/fd\")}),createStandardStreams:(function(){if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",\"r\");assert(stdin.fd===0,\"invalid handle for stdin (\"+stdin.fd+\")\");var stdout=FS.open(\"/dev/stdout\",\"w\");assert(stdout.fd===1,\"invalid handle for stdout (\"+stdout.fd+\")\");var stderr=FS.open(\"/dev/stderr\",\"w\");assert(stderr.fd===2,\"invalid handle for stderr (\"+stderr.fd+\")\")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS,\"IDBFS\":IDBFS,\"NODEFS\":NODEFS,\"WORKERFS\":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module[\"_fflush\"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]==\"/\")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent===\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data===\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,\"w\");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!==\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(Module[\"read\"]){try{obj.contents=intArrayFromString(Module[\"read\"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);if(typeof Uint8Array!=\"undefined\")xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||\"\",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]===\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]===\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!==\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(\"cp \"+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module[\"preloadPlugins\"].forEach((function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return\"EM_FS_\"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log(\"creating db\");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],\"readwrite\");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],\"readonly\")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!==\"/\"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]===\"/\")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms=\"\";if(amode&4)perms+=\"r\";if(amode&2)perms+=\"w\";if(amode&1)perms+=\"x\";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module[\"_memset\"]=_memset;Module[\"_bitshift64Shl\"]=_bitshift64Shl;function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___lock(){}function ___unlock(){}Module[\"_i64Add\"]=_i64Add;function _realloc(){throw\"bad\"}Module[\"_realloc\"]=_realloc;Module[\"_saveSetjmp\"]=_saveSetjmp;var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV[\"USER\"]=ENV[\"LOGNAME\"]=\"web_user\";ENV[\"PATH\"]=\"/\";ENV[\"PWD\"]=\"/\";ENV[\"HOME\"]=\"/home/web_user\";ENV[\"LANG\"]=\"C\";ENV[\"_\"]=Module[\"thisProgram\"];poolPtr=allocate(TOTAL_ENV_SIZE,\"i8\",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,\"i8*\",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]===\"string\"){var line=key+\"=\"+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===\"\"||name.indexOf(\"=\")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function __exit(status){Module[\"exit\"](status)}function _exit(status){__exit(status)}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21506:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort(\"bad ioctl syscall \"+op)}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}Module[\"_bitshift64Ashr\"]=_bitshift64Ashr;Module[\"_bitshift64Lshr\"]=_bitshift64Lshr;Module[\"_testSetjmp\"]=_testSetjmp;function _longjmp(env,value){Module[\"setThrew\"](env,value||1);throw\"longjmp\"}function _llvm_trap(){abort(\"trap!\")}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!==\"undefined\"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self[\"performance\"]&&self[\"performance\"][\"now\"]}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),\"i8\",ALLOC_NORMAL);return _getenv.ret}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module[\"_memcpy\"]=_memcpy;function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\"i8\",ALLOC_STATIC);Module[\"_llvm_cttz_i32\"]=_llvm_cttz_i32;Module[\"___udivmoddi4\"]=___udivmoddi4;Module[\"___udivdi3\"]=___udivdi3;Module[\"___muldsi3\"]=___muldsi3;Module[\"___muldi3\"]=___muldi3;var _llvm_pow_f64=Math_pow;Module[\"_sbrk\"]=_sbrk;Module[\"_memmove\"]=_memmove;Module[\"___uremdi3\"]=___uremdi3;function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}function _abort(){Module[\"abort\"]()}Module[\"_llvm_bswap_i32\"]=_llvm_bswap_i32;Module[\"_llvm_bswap_i16\"]=_llvm_bswap_i16;function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;assert(offset_high===0);FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}FS.staticInit();__ATINIT__.unshift((function(){if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var NODEJS_PATH=require(\"path\");NODEFS.staticInit()}___buildEnvironment(ENV);if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!==\"undefined\"){_emscripten_get_now=dateNow}else if(typeof self===\"object\"&&self[\"performance\"]&&typeof self[\"performance\"][\"now\"]===\"function\"){_emscripten_get_now=(function(){return self[\"performance\"][\"now\"]()})}else if(typeof performance===\"object\"&&typeof performance[\"now\"]===\"function\"){_emscripten_get_now=(function(){return performance[\"now\"]()})}else{_emscripten_get_now=Date.now}DYNAMICTOP_PTR=allocate(1,\"i32\",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;function invoke_vi(index,a1){try{Module[\"dynCall_vi\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_d(index){try{return Module[\"dynCall_d\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_di(index,a1){try{return Module[\"dynCall_di\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_i(index){try{return Module[\"dynCall_i\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module[\"dynCall_iiiiiiiiiii\"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiidd\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module[\"dynCall_iiiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiddi\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module[\"dynCall_viiiiiiiii\"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){try{return Module[\"dynCall_ii\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module[\"dynCall_dddd\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){try{Module[\"dynCall_v\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={\"Math\":Math,\"Int8Array\":Int8Array,\"Int16Array\":Int16Array,\"Int32Array\":Int32Array,\"Uint8Array\":Uint8Array,\"Uint16Array\":Uint16Array,\"Uint32Array\":Uint32Array,\"Float32Array\":Float32Array,\"Float64Array\":Float64Array,\"NaN\":NaN,\"Infinity\":Infinity};Module.asmLibraryArg={\"abort\":abort,\"assert\":assert,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_vi\":invoke_vi,\"invoke_iiii\":invoke_iiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_d\":invoke_d,\"invoke_di\":invoke_di,\"invoke_i\":invoke_i,\"invoke_iiiiiiiiiii\":invoke_iiiiiiiiiii,\"invoke_iiidd\":invoke_iiidd,\"invoke_vii\":invoke_vii,\"invoke_iiiiiii\":invoke_iiiiiii,\"invoke_viiiddi\":invoke_viiiddi,\"invoke_viiiiiiiii\":invoke_viiiiiiiii,\"invoke_ii\":invoke_ii,\"invoke_dddd\":invoke_dddd,\"invoke_viii\":invoke_viii,\"invoke_v\":invoke_v,\"invoke_iiiii\":invoke_iiiii,\"invoke_viiiiii\":invoke_viiiiii,\"invoke_iii\":invoke_iii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_viiii\":invoke_viiii,\"___syscall221\":___syscall221,\"_emscripten_get_now_is_monotonic\":_emscripten_get_now_is_monotonic,\"_llvm_pow_f64\":_llvm_pow_f64,\"___syscall6\":___syscall6,\"___syscall20\":___syscall20,\"_setenv\":_setenv,\"___assert_fail\":___assert_fail,\"___buildEnvironment\":___buildEnvironment,\"_longjmp\":_longjmp,\"_clock_gettime\":_clock_gettime,\"_times\":_times,\"___setErrNo\":___setErrNo,\"___syscall192\":___syscall192,\"___syscall197\":___syscall197,\"_emscripten_get_now\":_emscripten_get_now,\"___syscall195\":___syscall195,\"__exit\":__exit,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"___syscall91\":___syscall91,\"_getenv\":_getenv,\"___map_file\":___map_file,\"___syscall33\":___syscall33,\"___syscall54\":___syscall54,\"___unlock\":___unlock,\"_emscripten_asm_const_iii\":_emscripten_asm_const_iii,\"___syscall10\":___syscall10,\"___lock\":___lock,\"_abort\":_abort,\"___syscall5\":___syscall5,\"___clock_gettime\":___clock_gettime,\"_time\":_time,\"___syscall140\":___syscall140,\"_llvm_trap\":_llvm_trap,\"_exit\":_exit,\"___syscall145\":___syscall145,\"___syscall146\":___syscall146,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"tempDoublePtr\":tempDoublePtr,\"ABORT\":ABORT,\"STACKTOP\":STACKTOP,\"STACK_MAX\":STACK_MAX,\"cttz_i8\":cttz_i8};// EMSCRIPTEN_START_ASM\nvar asm=(function(global,env,buffer) {\n\"use asm\";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0.0;var D=0;var E=global.Math.floor;var F=global.Math.abs;var G=global.Math.sqrt;var H=global.Math.pow;var I=global.Math.cos;var J=global.Math.sin;var K=global.Math.tan;var L=global.Math.acos;var M=global.Math.asin;var N=global.Math.atan;var O=global.Math.atan2;var P=global.Math.exp;var Q=global.Math.log;var R=global.Math.ceil;var S=global.Math.imul;var T=global.Math.min;var U=global.Math.max;var V=global.Math.clz32;var W=env.abort;var X=env.assert;var Y=env.enlargeMemory;var Z=env.getTotalMemory;var _=env.abortOnCannotGrowMemory;var $=env.invoke_vi;var aa=env.invoke_iiii;var ba=env.invoke_viiiii;var ca=env.invoke_d;var da=env.invoke_di;var ea=env.invoke_i;var fa=env.invoke_iiiiiiiiiii;var ga=env.invoke_iiidd;var ha=env.invoke_vii;var ia=env.invoke_iiiiiii;var ja=env.invoke_viiiddi;var ka=env.invoke_viiiiiiiii;var la=env.invoke_ii;var ma=env.invoke_dddd;var na=env.invoke_viii;var oa=env.invoke_v;var pa=env.invoke_iiiii;var qa=env.invoke_viiiiii;var ra=env.invoke_iii;var sa=env.invoke_iiiiii;var ta=env.invoke_viiii;var ua=env.___syscall221;var va=env._emscripten_get_now_is_monotonic;var wa=env._llvm_pow_f64;var xa=env.___syscall6;var ya=env.___syscall20;var za=env._setenv;var Aa=env.___assert_fail;var Ba=env.___buildEnvironment;var Ca=env._longjmp;var Da=env._clock_gettime;var Ea=env._times;var Fa=env.___setErrNo;var Ga=env.___syscall192;var Ha=env.___syscall197;var Ia=env._emscripten_get_now;var Ja=env.___syscall195;var Ka=env.__exit;var La=env._emscripten_memcpy_big;var Ma=env.___syscall91;var Na=env._getenv;var Oa=env.___map_file;var Pa=env.___syscall33;var Qa=env.___syscall54;var Ra=env.___unlock;var Sa=env._emscripten_asm_const_iii;var Ta=env.___syscall10;var Ua=env.___lock;var Va=env._abort;var Wa=env.___syscall5;var Xa=env.___clock_gettime;var Ya=env._time;var Za=env.___syscall140;var _a=env._llvm_trap;var $a=env._exit;var ab=env.___syscall145;var bb=env.___syscall146;var cb=0.0;\n// EMSCRIPTEN_START_FUNCS\nfunction CV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+96|0;X=$+32|0;f=$+16|0;Y=$;r=X;k=b+(a*56|0)|0;q=r+56|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));Z=X+16|0;_=X+24|0;i=+h[_>>3];P=X+8|0;j=+h[P>>3];g=X+36|0;p=X+40|0;do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[Z>>3]>+h[X>>3]:0){O=4;break}O=(GV(a,b,1)|0)==0;f=c[g>>2]|0;if(O){n=0;O=7}else{f=EV(X,Z,f,b,e)|0;O=20}}else O=4;while(0);if((O|0)==4){c[f>>2]=c[X>>2];c[f+4>>2]=c[X+4>>2];c[f+8>>2]=c[X+8>>2];c[f+12>>2]=c[X+12>>2];c[X>>2]=c[Z>>2];c[X+4>>2]=c[Z+4>>2];c[X+8>>2]=c[Z+8>>2];c[X+12>>2]=c[Z+12>>2];c[Z>>2]=c[f>>2];c[Z+4>>2]=c[f+4>>2];c[Z+8>>2]=c[f+8>>2];c[Z+12>>2]=c[f+12>>2];O=c[g>>2]|0;f=c[p>>2]|0;c[g>>2]=f;c[p>>2]=O;if(!(GV(a,b,2)|0)){n=1;O=7}else{f=EV(X,Z,f,b,e)|0;O=19}}if((O|0)==7){m=EV(X,Z,f,b,e)|0;f=HV(d)|0;c[d+(f*72|0)+68>>2]=1;r=d+(f*72|0)|0;k=d+(m*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[P>>3];h[d+(f*72|0)+16>>3]=t;h[d+(m*72|0)+32>>3]=t;t=+h[X>>3];h[d+(f*72|0)+8>>3]=t;h[d+(m*72|0)+24>>3]=t;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}M=IV()|0;O=IV()|0;N=d+(m*72|0)+56|0;L=c[N>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[X>>2];c[K+4>>2]=c[X+4>>2];c[K+8>>2]=c[X+8>>2];c[K+12>>2]=c[X+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=O;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=m;c[e+(M*40|0)+28>>2]=L;c[e+(O*40|0)>>2]=3;c[e+(O*40|0)+24>>2]=f;c[e+(O*40|0)+28>>2]=L;c[N>>2]=M;c[d+(f*72|0)+56>>2]=O;if(n)O=19;else O=20}if((O|0)==19)if(!(GV(a,b,1)|0)){o=1;O=21}else{g=1;O=32}else if((O|0)==20)if(!(GV(a,b,2)|0)){o=0;O=21}else{g=0;O=32}if((O|0)==21){n=EV(Z,X,c[p>>2]|0,b,e)|0;m=HV(d)|0;c[d+(m*72|0)+68>>2]=1;r=d+(m*72|0)|0;k=d+(n*72|0)|0;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));t=+h[_>>3];h[d+(m*72|0)+16>>3]=t;h[d+(n*72|0)+32>>3]=t;t=+h[Z>>3];h[d+(m*72|0)+8>>3]=t;h[d+(n*72|0)+24>>3]=t;c[d+(n*72|0)+48>>2]=m;c[d+(n*72|0)+52>>2]=0;c[d+(m*72|0)+40>>2]=n;c[d+(m*72|0)+44>>2]=0;g=c[d+(m*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}g=c[d+(m*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(n|0))c[k>>2]=m;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(n|0))c[g>>2]=m}M=IV()|0;N=IV()|0;g=d+(n*72|0)+56|0;L=c[g>>2]|0;c[e+(L*40|0)>>2]=2;K=e+(L*40|0)+8|0;c[K>>2]=c[Z>>2];c[K+4>>2]=c[Z+4>>2];c[K+8>>2]=c[Z+8>>2];c[K+12>>2]=c[Z+12>>2];c[e+(L*40|0)+4>>2]=a;c[e+(L*40|0)+32>>2]=N;c[e+(L*40|0)+36>>2]=M;c[e+(M*40|0)>>2]=3;c[e+(M*40|0)+24>>2]=n;c[e+(M*40|0)+28>>2]=L;c[e+(N*40|0)>>2]=3;c[e+(N*40|0)+24>>2]=m;c[e+(N*40|0)+28>>2]=L;c[g>>2]=M;c[d+(m*72|0)+56>>2]=N;N=f;f=0;g=o}else if((O|0)==32){N=f;n=EV(Z,X,c[p>>2]|0,b,e)|0;f=1}a:do if((N|0)>0){L=d+(n*72|0)+24|0;M=d+(n*72|0)+32|0;K=(f|0)!=0;G=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;I=Y+8|0;g=0;f=0;H=N;while(1){k=d+(H*72|0)|0;D=d+(H*72|0)+24|0;if(!(JV(D,L)|0))break a;m=d+(H*72|0)+56|0;C=c[m>>2]|0;o=IV()|0;p=IV()|0;c[e+(C*40|0)>>2]=1;c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=o;c[e+(C*40|0)+36>>2]=p;c[e+(o*40|0)>>2]=3;c[e+(o*40|0)+24>>2]=H;c[e+(o*40|0)+28>>2]=C;c[e+(p*40|0)>>2]=3;E=HV(d)|0;c[e+(p*40|0)+24>>2]=E;J=d+(E*72|0)|0;c[d+(E*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=C;g=(H|0)==(N|0)?E:g;C=d+(H*72|0)+32|0;if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0)f=E;r=J;q=r+72|0;do{c[r>>2]=c[k>>2];r=r+4|0;k=k+4|0}while((r|0)<(q|0));c[m>>2]=o;c[d+(E*72|0)+56>>2]=p;z=d+(H*72|0)+48|0;k=c[z>>2]|0;q=(k|0)<1;m=d+(H*72|0)+52|0;if(q?(c[m>>2]|0)<1:0)break;A=d+(E*72|0)+48|0;r=d+(H*72|0)+64|0;p=d+(E*72|0)+44|0;o=d+(E*72|0)+52|0;v=d+(H*72|0)+60|0;w=d+(E*72|0)+60|0;y=d+(E*72|0)+40|0;x=d+(H*72|0)+44|0;B=d+(H*72|0)+40|0;do if((k|0)>0?(c[m>>2]|0)<1:0){k=c[B>>2]|0;do if((k|0)>0?(Q=c[x>>2]|0,(Q|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=Q;c[p>>2]=-1;c[x>>2]=-1;c[d+(Q*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=Q;c[x>>2]=-1;c[p>>2]=k;r=E;q=Q;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=52;while(0);do if((O|0)==52){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[z>>2]|0)*72|0)+40>>2]=H;m=o;k=E}else{c[d+((c[A>>2]|0)*72|0)+44>>2]=E;k=H}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[z>>2]|0;break}k=c[z>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(R=c[p>>2]|0,S=(o|0)==(H|0),(R|0)>0):0){c[d+(k*72|0)+60>>2]=S?R:o;c[d+(k*72|0)+64>>2]=S?1:2}c[m>>2]=H;c[p>>2]=E}else O=70;while(0);do if((O|0)==70){O=0;if(q?(c[m>>2]|0)>0:0){k=c[B>>2]|0;do if((k|0)>0?(T=c[x>>2]|0,(T|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=T;c[p>>2]=-1;c[x>>2]=-1;c[d+(T*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=T;c[x>>2]=-1;c[p>>2]=k;r=E;q=T;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=80;while(0);do if((O|0)==80){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[G>>2]|0;if((k|0)>0?(FV(k,b,X)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=H;k=E}else{c[d+((c[o>>2]|0)*72|0)+44>>2]=E;o=m;k=H}c[o>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;o=c[m>>2]|0;p=d+(k*72|0)+44|0;if((o|0)>0?(U=c[p>>2]|0,V=(o|0)==(H|0),(U|0)>0):0){c[d+(k*72|0)+60>>2]=V?U:o;c[d+(k*72|0)+64>>2]=V?1:2}c[m>>2]=H;c[p>>2]=E;break}i=+h[C>>3];j=+h[P>>3];s=i-j;u=!(+F(+s)<=1.0e-07);t=+h[X>>3];if(u){h[I>>3]=i;h[Y>>3]=t+s/(+h[_>>3]-j)*(+h[Z>>3]-t);u=(KV(Y,D)|0)!=0}else u=+h[D>>3]>t;k=c[B>>2]|0;do if((k|0)>0?(W=c[x>>2]|0,(W|0)>0):0){k=c[v>>2]|0;if((k|0)<=0){c[y>>2]=W;c[p>>2]=-1;c[x>>2]=-1;c[d+(W*72|0)+48>>2]=E;break}if((c[r>>2]|0)==1){c[y>>2]=W;c[x>>2]=-1;c[p>>2]=k;r=E;q=W;k=c[B>>2]|0}else{c[p>>2]=-1;c[y>>2]=c[x>>2];q=c[B>>2]|0;c[x>>2]=q;c[B>>2]=k;r=H;p=y}c[d+(k*72|0)+48>>2]=H;c[d+(q*72|0)+48>>2]=r;c[d+((c[p>>2]|0)*72|0)+48>>2]=E;c[w>>2]=0;c[v>>2]=0}else O=109;while(0);do if((O|0)==109){O=0;q=d+(k*72|0)+48|0;r=c[q>>2]|0;k=d+(k*72|0)+52|0;if((r|0)>0?(c[k>>2]|0)>0:0){k=c[d+(r*72|0)+4>>2]|0;if((k|0)>0?(FV(k,b,Z)|0)==0:0){c[p>>2]=-1;c[x>>2]=-1;c[B>>2]=-1;c[d+((c[y>>2]|0)*72|0)+52>>2]=E;break}c[x>>2]=-1;c[p>>2]=-1;c[y>>2]=-1;c[d+((c[B>>2]|0)*72|0)+48>>2]=H;break}c[q>>2]=H;c[k>>2]=E}while(0);if(+F(+(+h[C>>3]-+h[M>>3]))<=1.0e-07?K&+F(+(+h[D>>3]-+h[L>>3]))<=1.0e-07:0){k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=E;c[d+(k*72|0)+44>>2]=-1;c[A>>2]=k;c[o>>2]=-1;c[m>>2]=-1;k=-1}else O=119;do if((O|0)==119){O=0;k=c[z>>2]|0;c[d+(k*72|0)+40>>2]=H;p=d+(k*72|0)+44|0;if(u){c[p>>2]=E;D=c[m>>2]|0;c[d+(D*72|0)+40>>2]=E;c[d+(D*72|0)+44>>2]=-1;c[m>>2]=-1;break}else{c[p>>2]=-1;k=c[m>>2]|0;c[d+(k*72|0)+40>>2]=H;c[d+(k*72|0)+44>>2]=E;c[A>>2]=k;c[o>>2]=-1;k=c[m>>2]|0;break}}while(0)}while(0);c[J>>2]=a;c[d+(H*72|0)+4>>2]=a;if((k|0)>0)H=k;else break a}_3(138727,19,1,c[15715]|0)|0}else{g=0;f=0}while(0);LV(a,N,n,1,d,e);LV(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=$;return}function DV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((EV(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((EV(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function EV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0;p=b+8|0;r=a+8|0;i=d;a:while(1){m=f+(i*40|0)+36|0;d=f+(i*40|0)+32|0;b:do switch(c[f+(i*40|0)>>2]|0){case 3:{s=3;break a}case 2:{g=+h[r>>3];j=+h[f+(i*40|0)+16>>3];k=j+1.0e-07;if(!(g>k)){l=j+-1.0e-07;i=f+(i*40|0)+8|0;if(!(g<l)?+h[a>>3]>+h[i>>3]:0){d=m;break b}if(+F(+(g-j))<=1.0e-07?(n=+h[i>>3],+F(+(+h[a>>3]-n))<=1.0e-07):0){g=+h[p>>3];if(g>k)d=m;else if(!(g<l)?+h[b>>3]>n:0){d=m;break b}}}else d=m;break}case 1:{j=+h[r>>3];i=c[f+(i*40|0)+4>>2]|0;if(+F(+(j-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(o=+h[a>>3],+F(+(o-+h[e+(i*56|0)>>3]))<=1.0e-07):0)g=o;else s=16;do if((s|0)==16){s=0;if(+F(+(j-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(q=+h[a>>3],+F(+(q-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){g=q;break}i=(FV(i,e,a)|0)==0;d=i?m:d;break b}while(0);if(!(+F(+(j-+h[p>>3]))<=1.0e-07)){i=(FV(i,e,b)|0)==0;d=i?m:d;break b}if(!(+h[b>>3]<g))d=m;break}default:{s=23;break a}}while(0);i=c[d>>2]|0}if((s|0)==3)return c[f+(i*40|0)+24>>2]|0;else if((s|0)==23){_3(138661,35,1,c[15715]|0)|0;Aa(138697,138699,349,138711)}return 0}function FV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0,l=0.0;i=+h[b+(a*56|0)+24>>3];j=+h[b+(a*56|0)+8>>3];k=b+(a*56|0)+16|0;b=b+(a*56|0)|0;a=c+8|0;do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[k>>3]>+h[b>>3]:0){g=4;break}f=+h[a>>3];a=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!a){d=e<+h[k>>3]?1.0:-1.0;break}c=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(c){l=+h[k>>3];d=(f-i)*(d-l)-(j-i)*(e-l);break}else{d=e<d?1.0:-1.0;break}}else g=4;while(0);do if((g|0)==4){f=+h[a>>3];g=!(+F(+(i-f))<=1.0e-07);e=+h[c>>3];if(!g){d=e<+h[k>>3]?1.0:-1.0;break}g=!(+F(+(j-f))<=1.0e-07);d=+h[b>>3];if(g){d=(f-j)*(+h[k>>3]-d)-(i-j)*(e-d);break}else{d=e<d?1.0:-1.0;break}}while(0);return d>0.0|0}function GV(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function HV(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47466]|0;if((b|0)<(c[47465]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[47466]=b+1;l=e;return b|0}else{e=c[15715]|0;c[d>>2]=b;z4(e,138786,d)|0;Aa(138697,138699,88,138824)}return 0}function IV(){var a=0;a=c[47467]|0;if((a|0)<(c[47464]|0)){c[47467]=a+1;return a|0}else{_3(138747,30,1,c[15715]|0)|0;Aa(138697,138699,72,138778)}return 0}function JV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function KV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function LV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(JV(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)+4|0;r=13}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}e=d;d=f+(d*72|0)|0;r=13}while(0);if((r|0)==13){r=0;if((c[d>>2]|0)==(a|0))d=e;else{b=e;continue a}}if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}s=c[f+(d*72|0)+56>>2]|0;e=c[g+(s*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(s|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);s=f+(d*72|0)+24|0;c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];c[o+8>>2]=c[s+8>>2];c[o+12>>2]=c[s+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+F(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function NV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+F(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function OV(a){a=a|0;var b=0;b=HK(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function PV(a,b){a=a|0;b=b|0;if(b){b=OV(b)|0;c[b>>2]=a;a=b}return a|0}function QV(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;l6(b)}while((a|0)!=0);return}function RV(){var a=0;a=HK(1992)|0;if(a|0)c[a>>2]=SV(a)|0;return a|0}function SV(a){a=a|0;var b=0;b=YV(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function TV(a){a=a|0;UV(a,c[a>>2]|0);l6(c[a>>2]|0);l6(a);return 0}function UV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1936|0;h=a+1980|0;i=a+1912|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(UV(a,f),l6(c[e>>2]|0),cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(cW(b,d),c[h>>2]=(c[h>>2]|0)+-1,c[i>>2]|0):0)c[g>>2]=(c[g>>2]|0)+1;d=d+1|0}}while(0);return}function VV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)Aa(139182,138832,194,138840);e=c[b+4>>2]|0;if((e|0)<=-1)Aa(138852,138832,195,138840);if(!d)Aa(139124,138832,196,138840);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(hW(d,b+8+(i*20|0)|0)|0)!=0:0){g=VV(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(hW(d,f)|0)!=0:0)e=PV(e,f)|0;g=g+1|0}}while(0);return e|0}function WV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+52|0;k=o+32|0;m=o+16|0;n=o;c[j>>2]=0;if(!((b|0)!=0&(e|0)!=0))Aa(139038,138832,247,138866);if((f|0)>-1?(i=c[e>>2]|0,(c[i+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)Aa(138913,138832,250,138866);g=a+1912|0;h=a+1908|0;if(c[g>>2]|0){p=c[h>>2]|0?a+1924|0:a+1916|0;c[p>>2]=(c[p>>2]|0)+1}if(!(c[h>>2]|0)){p=a+1964|0;c[p>>2]=(c[p>>2]|0)+1}if(!(XV(a,b,d,i,j,f)|0))g=0;else{if(c[g>>2]|0){p=c[h>>2]|0?a+1948|0:a+1944|0;c[p>>2]=(c[p>>2]|0)+1}g=YV(a)|0;p=a+1976|0;c[p>>2]=(c[p>>2]|0)+1;p=c[e>>2]|0;c[g+4>>2]=(c[p+4>>2]|0)+1;$V(m,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];p=k+16|0;c[p>>2]=c[e>>2];bW(a,k,g,0)|0;$V(n,c[j>>2]|0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[p>>2]=c[j>>2];bW(a,k,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=o;return g|0}Aa(138878,138832,248,138866);return 0}function XV(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))Aa(138956,138832,311,138970);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=aW(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(XV(a,b,d,c[h>>2]|0,n,g)|0)){gW(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{$V(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;$V(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=bW(a,m,e,f)|0;break}else Aa(139015,138832,341,138970);while(0);l=q;return j|0}Aa(138983,138832,312,138970);return 0}function YV(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=k6(1288)|0;ZV(a);return a|0}function ZV(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;_V(a+8+(b*20|0)|0);b=b+1|0}return}function _V(a){a=a|0;dW(a);c[a+16>>2]=0;return}function $V(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)Aa(139182,139021,99,139028);dW(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){gW(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function aW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))Aa(139038,139021,125,139045);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=fW(n)|0;gW(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(fW(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)Aa(139204,139021,167,139056);if(!d)Aa(139182,139021,168,139056);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)Aa(139066,139021,178,139056)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)Aa(139079,139021,187,139056);else{iW(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function cW(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))Aa(139083,139021,201,139111);if(!(c[a+8+(b*20|0)+16>>2]|0))Aa(139605,139021,202,139111);else{_V(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function dW(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function eW(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function fW(a){a=a|0;var b=0,d=0,e=0;if(!a)Aa(139124,139126,128,139138);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=S(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function gW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))Aa(139147,139126,195,139155);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function hW(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else Aa(139167,139126,216,139174);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function iW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;if(!b)Aa(139182,139184,40,139194);if(!d)Aa(139204,139184,41,139194);j=a+1912|0;k=a+1908|0;if(c[j>>2]|0){i=c[k>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;jW(a,b,d);d=a+1324|0;kW(a);f=fW(a+1852|0)|0;f=(fW(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[k>>2]|0)==0:0){k=a+1960|0;g[k>>2]=+g[k>>2]+ +((c[a+1320>>2]|0)>>>0)/+(f|0)}k=YV(a)|0;c[e>>2]=k;c[h>>2]=i;c[k+4>>2]=i;lW(a,b,k,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else Aa(139206,139184,86,139194)}function jW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)Aa(139182,139184,106,139593);if(!d)Aa(139204,139184,107,139593);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)Aa(139605,139184,111,139593);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;gW(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=fW(d)|0;ZV(b);l=h;return}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;mW(a);nW(a);s=a+1844|0;q=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){b=c[s>>2]|0;d=c[q>>2]|0;if((d+b|0)>=65)break;h=65-(c[t>>2]|0)|0;b=(b|0)<(h|0);if(b&(d|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;gW(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=fW(i)|0;d=c[o>>2]|0;gW(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=fW(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}oW(a,e,f)}if((r|0)==12){b=(b^1)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))oW(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((d+b|0)!=65)Aa(139349,139184,210,139435);v=c[t>>2]|0;if((b|0)<(v|0)|(d|0)<(v|0))Aa(139446,139184,212,139435);else{l=u;return}}function lW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!b)Aa(139182,139184,297,139246);if(!d)Aa(139256,139184,298,139246);if(!e)Aa(139258,139184,299,139246);else g=0;while(1){if((g|0)>=65){e=14;break}f=c[a+1324+(g<<2)>>2]|0;if(f>>>0>=2){e=9;break}e=a+4+(g*20|0)|0;switch(f|0){case 0:{bW(a,e,b,0)|0;break}case 1:{bW(a,e,d,0)|0;break}default:{}}g=g+1|0}if((e|0)==9)Aa(139260,139184,303,139246);else if((e|0)==14)return}function mW(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;eW(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function nW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=fW(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}gW(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=fW(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}oW(a,d,0);oW(a,b,1);l=o;return}function oW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)Aa(139549,139184,257,139584);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{gW(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=fW(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function pW(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1200|0;t=v+800|0;h=v;c[47468]=0;c[47469]=-2;f=t;j=200;n=h;o=0;q=0;g=t;a:while(1){b[g>>1]=o;if((f+(j<<1)+-2|0)>>>0>g>>>0){r=j;s=f;p=h;i=n}else{m=(g-f>>1)+1|0;if(j>>>0>9999){u=96;break}j=j<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(t|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;u=97;break a}case 4:{u=96;break a}case 0:{r=j;s=f;p=e?i+(m<<2)+-4|0:h;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==31){e=0;f=s;u=97;break}e=b[65806+(o<<1)>>1]|0;j=e<<16>>16;k=(q|0)!=0;do if(e<<16>>16!=-82){f=c[47469]|0;if((f|0)==-2){f=EX()|0;c[47469]=f}if((f|0)>=1)if(f>>>0<296)h=d[139624+f>>0]|0;else h=2;else{c[47469]=0;h=0}f=h+j|0;if(f>>>0<=271?(a[139920+f>>0]|0)==(h|0):0){o=a[140192+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;u=23;break}else{c[47469]=-2;h=p+4|0;c[h>>2]=c[47470];k=k?q+-1|0:0;break}}else u=22}else u=22;while(0);if((u|0)==22){u=0;o=a[140464+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(k)if((q|0)==3){f=c[47469]|0;if((f|0)<1)if(!f){e=1;f=s;u=97;break a}else{f=p;break}else{c[47469]=-2;f=p;break}}else f=p;else{c[47468]=(c[47468]|0)+1;KW(142682);f=p}while(0);while(1){if(e<<16>>16==8)break;if((g|0)==(s|0)){e=1;f=s;u=97;break a}e=g+-2|0;f=f+-4|0;g=e;e=b[65806+(b[e>>1]<<1)>>1]|0}h=f+4|0;c[h>>2]=c[47470];e=1;k=3}else u=23}do if((u|0)==23){u=0;m=d[140580+f>>0]|0;e=c[p+(1-m<<2)>>2]|0;h=p+-12|0;j=p+-4|0;k=p+-8|0;do switch(f|0){case 4:{u=26;break a}case 2:{c[47471]=qW(c[j>>2]|0,2)|0;break}case 3:{c[47471]=qW(c[j>>2]|0,1)|0;break}case 5:{e=sW()|0;break}case 8:{tW(c[47472]|0);break}case 9:{uW(c[p>>2]|0);break}case 18:{vW(c[p>>2]|0);break}case 19:{wW();break}case 20:{vW(c[p>>2]|0);break}case 21:{wW();break}case 22:{vW(c[p>>2]|0);break}case 23:{wW();break}case 24:{vW(c[p>>2]|0);break}case 25:{wW();break}case 26:{vW(c[p>>2]|0);break}case 27:{wW();break}case 28:{vW(c[p>>2]|0);break}case 29:{wW();break}case 30:{vW(c[p>>2]|0);break}case 31:{wW();break}case 32:{vW(c[p>>2]|0);break}case 33:{wW();break}case 34:{e=c[j>>2]|0;break}case 35:{e=c[p>>2]|0;break}case 38:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=51;break a}c[(c[p>>2]|0)+80>>2]=c[47473];e=Sz(56092,c[4590]|0)|0;c[(c[p>>2]|0)+84>>2]=e;c[47473]=c[p>>2];c[(c[p>>2]|0)+108>>2]=c[c[47474]>>2];e=c[p>>2]|0;break}case 39:{e=c[47472]|0;h=c[e+4>>2]|0;if(h>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;h=c[47472]|0;e=h;h=c[h+4>>2]|0}a[h>>0]=0;o=c[e>>2]|0;c[e+4>>2]=o;if(xW(o)|0){u=56;break a}e=c[47473]|0;c[47473]=c[e+80>>2];break}case 40:{e=c[p>>2]|0;break}case 41:{e=c[j>>2]|0;break}case 42:{e=c[j>>2]|0;break}case 43:{e=c[j>>2]|0;break}case 44:{e=c[j>>2]|0;break}case 45:{e=c[j>>2]|0;break}case 48:{e=c[p>>2]|0;break}case 49:{e=c[p>>2]|0;break}case 50:{a[(c[k>>2]|0)+12>>0]=1;e=c[p>>2]|0;break}case 51:{yW();break}case 52:{e=zW()|0;break}case 53:{e=c[p>>2]|0;break}case 54:{e=c[p>>2]|0;break}case 55:{e=(c[k>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[p>>2]|0;break}case 56:{AW(c[j>>2]|0,c[p>>2]|0,1);break}case 57:{e=c[h>>2]|0;break}case 58:{AW(c[j>>2]|0,c[p>>2]|0,2);break}case 59:{e=c[h>>2]|0;break}case 60:{AW(c[j>>2]|0,c[p>>2]|0,3);break}case 61:{e=c[h>>2]|0;break}case 62:{AW(c[p>>2]|0,sW()|0,2);break}case 63:{e=c[k>>2]|0;break}case 64:{e=c[j>>2]|0;break}case 65:{e=c[p>>2]|0;break}default:{}}while(0);h=0-m|0;p=p+(h<<2)|0;g=g+(h<<1)|0;h=p+4|0;c[p+4>>2]=e;e=(d[140752+f>>0]|0)+-41|0;p=b[g>>1]|0;f=p+(b[66038+(e<<1)>>1]|0)|0;if(f>>>0<272?(a[139920+f>>0]|0)==(p|0):0){e=a[140192+f>>0]|0;k=q;break}e=a[140822+e>>0]|0;k=q}while(0);f=s;j=r;n=i;o=e;q=k;g=g+2|0}if((u|0)==26){rW();e=1;f=s;u=97}else if((u|0)==51){KW(140650);rW();e=1;f=s;u=97}else if((u|0)==56){KW(140701);rW();e=1;f=s;u=97}else if((u|0)==96){KW(140861);e=2;u=97}if((u|0)==97)if((f|0)!=(t|0))l6(f);l=v;return e|0}function qW(b,d){b=b|0;d=d|0;var e=0;e=HK(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function rW(){var a=0,b=0;a=c[47473]|0;b=c[47471]|0;if(b|0){kU(b,1);c[47471]=0}c[14036]=67;while(1){if(!a)break;b=c[a+80>>2]|0;EW(a);a=b}c[14036]=56;c[14045]=68;b=c[47476]|0;eb[c[b>>2]&63](b,0,64)|0;c[14045]=56;c[14054]=69;b=c[47477]|0;eb[c[b>>2]&63](b,0,64)|0;c[14054]=56;HW();return}function sW(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[47477]|0;f=HK(40)|0;if(Uz(c[47476]|0)|0)uW(0);a=Uz(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=HK(a*24|0)|0;a=0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);eb[c[a>>2]&63](e,0,64)|0;return f|0}function tW(b){b=b|0;var d=0,e=0,f=0;e=HK(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=Y3(b)|0;c[e+12>>2]=c[c[47474]>>2];f=c[47476]|0;eb[c[f>>2]&63](f,e,1)|0;return}function uW(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=HK(32)|0;j=c[47476]|0;e=Uz(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=HK(56)|0;b[i+12>>1]=1;h=Y3(195341)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[47474]>>2]}else{b[i+12>>1]=e;c[k>>2]=HK(e*56|0)|0;d=0;e=Qz(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);eb[c[j>>2]&63](j,0,64)|0;k=c[47477]|0;eb[c[k>>2]&63](k,i,1)|0;return}function vW(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=HK(8)|0;f=c[c[47474]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[47475]|0)+144>>2]|0;c[i>>2]=eb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[47474];c[47474]=i;l=j;return}function wW(){var a=0,b=0;b=c[47474]|0;a=c[b+4>>2]|0;l6(b);c[47474]=a;return}function xW(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function yW(){var b=0,d=0,e=0;e=Sz(56128,c[4590]|0)|0;b=c[47473]|0;d=HK(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function zW(){var a=0;a=c[(c[47473]|0)+84>>2]|0;return eb[c[a>>2]&63](a,0,256)|0}function AW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=HK(16)|0;f=c[47473]|0;h=c[f+84>>2]|0;h=c[(eb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;eb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function BW(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function CW(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+8>>2]|0)|0;l6(b);return}function DW(a,b,d){a=a|0;b=b|0;d=d|0;IW(c[b+8>>2]|0);l6(b);return}function EW(a){a=a|0;Oz(c[a+84>>2]|0)|0;hU(a);l6(a);return}function FW(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function GW(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;l6(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}l6(c[h>>2]|0)}l6(d);return}function HW(){var a=0,b=0;a=c[47474]|0;while(1){b=c[a+4>>2]|0;if(!b)break;l6(a);a=b}return}function IW(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{EW(c[d>>2]|0);break}case 2:{iU(c[d>>2]|0);break}default:{}}hU(b);l6(b);return}function JW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[47474]=g;c[47473]=0;c[47471]=0;c[47475]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[47476]=Sz(56164,c[4590]|0)|0;c[47477]=Sz(56200,c[4590]|0)|0;hA(e,128,f+24|0);c[47472]=e;if(!(NW(a,e,d)|0)){pW()|0;c[b>>2]=DX()|0;a=c[47471]|0}else{c[b>>2]=2;a=0}Oz(c[47476]|0)|0;Oz(c[47477]|0)|0;c[47476]=0;c[47477]=0;c[47474]=0;lA(e);l=f;return a|0}function KW(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[189945]|0)){a[189945]=1;f=LW()|0;c[d>>2]=b;c[d+4>>2]=f;dA(1,140878,d)|0;MW()}l=e;return}function LW(){return f_(c[47478]|0)|0}function MW(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[47481]|0;c[b+4>>2]=c[b>>2];d=c[47490]|0;if((d|0)>0){jA(b,c[47488]|0,d)|0;b=c[47481]|0}jA(b,c[47487]|0,c[47489]|0)|0;d=c[47481]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[47481]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[47481]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;dA(3,140894,e)|0;l=f;return}function NW(b,e,f){b=b|0;e=e|0;f=f|0;c[47481]=e;hA(189928,128,0);c[47479]=b;a[189947]=0;a[189944]=0;a[189945]=0;c[47489]=0;c[47490]=0;a[189946]=1;f=f+52|0;e=SY(uK(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[47478]=e;XZ(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);YZ(c[47478]|0,70,27);ZZ(c[47478]|0,71);return 0}function OW(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(C3(d,140906)|0)){c[47470]=SW(e)|0;a[189946]=0;c[47480]=286}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){a[189946]=1;c[47470]=TW(e)|0;c[47480]=287;break}if(!(C3(d,140926)|0)){c[47470]=UW(b,e,0)|0;c[47480]=288;break}if(!(C3(d,140931)|0)){c[47470]=UW(b,0,1)|0;c[47480]=290;break}if(!(C3(d,140947)|0)){c[47470]=UW(b,0,32)|0;c[47480]=295;break}if(!(C3(d,140933)|0)){c[47470]=UW(b,0,4)|0;c[47480]=291;break}if(!(C3(d,140935)|0)){c[47470]=UW(b,0,64)|0;c[47480]=292;break}if(!(C3(d,140937)|0)){c[47470]=UW(b,0,2)|0;c[47480]=289;break}if(!(C3(d,140939)|0)){c[47470]=UW(b,0,8)|0;c[47480]=293;break}if(!(C3(d,140943)|0)){c[47470]=UW(b,0,16)|0;c[47480]=294;break}if(!(C3(d,140949)|0)){VW(e);c[47480]=283;break}if(!(C3(d,140952)|0)){c[47480]=277;break}if(!(C3(d,140955)|0)){c[47480]=280;break}if(!(C3(d,140958)|0)){c[47470]=WW(e)|0;c[47480]=285;break}if(!(C3(d,140921)|0)){c[47480]=262;break}else{RW(d);break}}a[189946]=0;c[47480]=260}while(0);return}function PW(b,d){b=b|0;d=d|0;do if(!(C3(d,140906)|0)){c[47480]=264;a[189946]=1}else{if(C3(d,140912)|0?C3(d,140915)|0:0){if(!(C3(d,140918)|0)){c[47480]=265;a[189946]=0;break}if(!(C3(d,140921)|0)){c[47480]=263;break}if(!(C3(d,140926)|0)){c[47480]=266;break}if(!(C3(d,140931)|0)){c[47480]=270;break}if(!(C3(d,140933)|0)){c[47480]=271;break}if(!(C3(d,140935)|0)){c[47480]=272;break}if(!(C3(d,140937)|0)){c[47480]=269;break}if(!(C3(d,140939)|0)){c[47480]=273;break}if(!(C3(d,140943)|0)){c[47480]=274;break}if(!(C3(d,140947)|0)){c[47480]=275;break}if(!(C3(d,140949)|0)){c[47480]=(c[47480]|0)==283?282:258;break}if(!(C3(d,140952)|0)){c[47480]=(c[47480]|0)==277?276:278;break}if(!(C3(d,140955)|0)){c[47480]=(c[47480]|0)==280?279:281;break}if(!(C3(d,140958)|0)){c[47480]=(c[47480]|0)==285?284:259;break}else{RW(d);break}}c[47480]=261}while(0);return}function QW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[189946]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[47481]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;f=c[47481]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[47480]=267}return}function RW(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[47480]=268;a[189945]=1;f=LW()|0;c[e>>2]=b;c[e+4>>2]=f;dA(1,140962,e)|0;l=d;return}function SW(b){b=b|0;var d=0;d=HK(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;XW(d,56460,22,b,141914);return d|0}function TW(a){a=a|0;var c=0;c=HK(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;XW(c,56284,22,a,141268);return c|0}function UW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)XW(e,56260,3,b,141119);d=c[a+144>>2]|0;e=eb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function VW(a){a=a|0;c[47470]=0;XW(189880,56252,1,a,141055);return}function WW(a){a=a|0;var b=0;b=HK(40)|0;XW(b,56236,2,a,141001);return b|0}function XW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e6(m,e,f,8,104)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;dA(0,141007,n)|0;i=1}else{i=vb[c[j+4>>2]&127](b,i)|0;i=(d[189944]|0|i)&255}a[189944]=i;g=g+8|0}l=o;return}function YW(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ZW(a,b){a=a|0;b=b|0;c[a+36>>2]=Y3(b)|0;return 0}function _W(a,b){a=a|0;b=b|0;c[a+32>>2]=Y3(b)|0;return 0}function $W(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=(a2(a[d>>0]|0)|0)<<24>>24;f=d+1|0;switch(e|0){case 82:{if(!(C3(f,141066)|0)){c[b>>2]=114;b=0}else h=4;break}case 76:{h=5;break}default:h=4}do if((h|0)==4)if(!(C3(f,141071)|0))h=5;else{if((e|0)!=67?(C3(f,141075)|0)==0:0){c[g>>2]=d;dA(0,141081,g)|0;b=1;break}c[b>>2]=110;b=0}while(0);if((h|0)==5){c[b>>2]=108;b=0}l=i;return b|0}function aX(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function bX(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function cX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141148,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function dX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=$1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;dA(0,141190,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;dA(0,141229,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;dA(0,141159,h)|0;a=1}while(0);l=k;return a|0}function eX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=9;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=9;break}case 84:{if(!(C3(f,141866)|0)){b[d>>1]=b[d>>1]|6;d=0}else h=9;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=9;break}default:h=9}if((h|0)==9){c[g>>2]=e;dA(0,141870,g)|0;d=1}l=i;return d|0}function fX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|512;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|256;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141821,g)|0;d=1}l=i;return d|0}function gX(a,b){a=a|0;b=b|0;c[a+20>>2]=Y3(b)|0;return 0}function hX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141814,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function iX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141802,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function jX(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(dX(e,141790,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function kX(a,b){a=a|0;b=b|0;c[a+24>>2]=Y3(b)|0;return 0}function lX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141745,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141753,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function mX(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;switch((a2(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(C3(f,141694)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else h=5;break}case 70:{if(!(C3(f,141698)|0))a=0;else h=5;break}default:h=5}if((h|0)==5){c[g>>2]=e;dA(0,141703,g)|0;a=1}l=i;return a|0}function nX(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(dX(b,141680,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function oX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141673,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function pX(a,b){a=a|0;b=b|0;c[a>>2]=Y3(b)|0;return 0}function qX(a,b){a=a|0;b=b|0;c[a+16>>2]=Y3(b)|0;return 0}function rX(a,b){a=a|0;b=b|0;c[a+4>>2]=Y3(b)|0;return 0}function sX(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(dX(d,141628,0,65535,e)|0)){d=c[e>>2]|0;if(!d){dA(0,141636,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function tX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(R1(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;dA(0,141575,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=(h&65535|f)&65535}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function uX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=Y3(e)|0;g=d+42|0;f=0;e=h;while(1){d=i6(e,141485)|0;if(!d)break;if(((a2(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(C3(e,141488)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(C3(e,141495)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;dA(0,141501,i)|0;f=1;e=0;continue}}if(!(C3(d,141539)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(C3(d,141545)|0?C3(d,141555)|0:0){if(!(C3(d,141561)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(C3(d,141568)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;dA(0,141501,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}l6(h);l=k;return f|0}function vX(a,b){a=a|0;b=b|0;c[a+8>>2]=Y3(b)|0;return 0}function wX(a,b){a=a|0;b=b|0;c[a+12>>2]=Y3(b)|0;return 0}function xX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(C3(f,141431)|0)){b[d>>1]=b[d>>1]|16;d=0}else h=7;break}case 84:{if(!(C3(f,141437)|0)){b[d>>1]=b[d>>1]|8;d=0}else h=7;break}case 77:{if(!(C3(f,141440)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141446,g)|0;d=1}l=i;return d|0}function yX(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,141425,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function zX(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=e+1|0;d=d+36|0;switch((a2(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(C3(f,141071)|0)){b[d>>1]=b[d>>1]|4;d=0}else h=7;break}case 82:{if(!(C3(f,141066)|0)){b[d>>1]=b[d>>1]|2;d=0}else h=7;break}case 67:{if(!(C3(f,141075)|0))d=0;else h=7;break}default:h=7}if((h|0)==7){c[g>>2]=e;dA(0,141081,g)|0;d=1}l=i;return d|0}function AX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(dX(d,142023,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function BX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;dA(0,141983,e)|0;b=1}l=f;return b|0}function CX(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;dA(0,141946,e)|0;b=1}l=f;return b|0}function DX(){var b=0;b=(a[189945]|a[189944])<<24>>24;YY(c[47478]|0);lA(189928);return b|0}function EX(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[47480]=0;d=0;a:do{b:do switch(a[189947]|0){case 2:{b=-1;break a}case 0:{a[189947]=1;h=6;b=142035;d=0;break}default:{b=c[47479]|0;if(!(a[b>>0]|0)){a[189947]=2;h=7;b=142042;break b}else{d=FX(b)|0;h=d-b|0;break b}}}while(0);c[47488]=c[47487];c[47490]=c[47489];c[47487]=b;c[47489]=h;e=c[47483]|0;f=e-(c[47482]|0)|0;g=c[47478]|0;if(!f)b=_Z(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[47484]|0)>>>0)b=e;else{iA(189928,1)|0;b=c[47483]|0}a[b>>0]=0;b=c[47482]|0;c[47483]=b;b=_Z(g,b,f,0)|0}if(!((b|0)!=0|(a[189945]|0)!=0)){g=g_(e_(c[47478]|0)|0)|0;h=LW()|0;c[i>>2]=g;c[i+4>>2]=h;dA(1,140878,i)|0;MW();a[189945]=1;c[47480]=268}if(d|0)c[47479]=d;b=c[47480]|0}while((b|0)==0);l=j;return b|0}function FX(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;d=b+1|0;f=a[b>>0]|0;a:do if(f<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(h2(b+2|0,142050,2)|0)){e=GX(b+4|0)|0;d=e;e=a[e>>0]|0}else{e=33;h=5}else h=5;b:do if((h|0)==5)while(1){switch(e<<24>>24){case 62:case 0:break b;default:{}}e=d+1|0;d=e;e=a[e>>0]|0;h=5}while(0);if(e<<24>>24==62){d=d+1|0;break}else{dA(0,142053,g)|0;a[189944]=1;break}}else{d=b;while(1){switch(f<<24>>24){case 60:case 0:break a;default:{}}e=d+1|0;if(f<<24>>24==38?(a[e>>0]|0)!=35:0)e=ZP(e,189928)|0;else{d=c[47483]|0;if(d>>>0>=(c[47484]|0)>>>0){iA(189928,1)|0;d=c[47483]|0}c[47483]=d+1;a[d>>0]=f}d=e;f=a[e>>0]|0}}while(0);l=i;return d|0}function GX(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(h2(c,142050,2)|0)==0:0)break;dA(0,142094,i)|0;a[189944]=1}while(0);l=j;return d|0}function HX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=k6(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=IX(f<<4)|0;p=d+12|0;c[p>>2]=IX((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=IX(e)|0;e=IX(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}IY(d)}return d|0}function IX(a){a=a|0;if(!a)a=0;else a=k6(a)|0;return a|0}function JX(a){a=a|0;var b=0,d=0;l6(c[a+8>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){l6(c[b>>2]|0);l6(c[d>>2]|0)}l6(a);return}function KX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=PY(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=PY(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=yY(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=k6(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)Aa(142112,142119,148,142125);if(n|0)l6(n);if(o|0)l6(o);c[g+4>>2]=k;c[g>>2]=i;l6(m);l=p;return 1}function LX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((EY(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function MX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=k6(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=x6(189964,1,j|0,s|0)|0;j=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1)d=D;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ha(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ha(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[47530]=0;o=0;$(115,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,s|0,j|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){d=D;continue}g=c[47531]|0;d=c[47530]|0;c[47530]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=ia(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,s|0,j|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1)d=D;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[47530];c[f>>2]=c[47531];d=0}l6(s|0);l=u;return d|0}function NX(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];g=d*d+f*f;if(g>1.0e-06){g=+G(+g);h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function OX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47534]|0)<(a|0)){b=c[47531]|0;d=a<<4;if(!b){f=k6(d)|0;c[47531]=f;if(!f){f=c[15715]|0;c[e>>2]=142134;c[e+4>>2]=531;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(189964,1)}}else{e=n6(b,d)|0;c[47531]=e;if(!e){e=c[15715]|0;c[f>>2]=142134;c[f+4>>2]=537;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(189964,1)}}c[47534]=a}l=g;return}function PX(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[47533]|0;do if((c[47532]|0)<(e|0)){k=e*40|0;if(!i){i=k6(k)|0;c[47533]=i;if(!i){i=-1;break}}else{i=n6(i,k)|0;c[47533]=i;if(!i){i=-1;break}}c[47532]=e;n=6}else n=6;while(0);if((n|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=j+ +QX(I,J);h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+RX(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];SX(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+TX(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];SX(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];UX(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(VX(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];SX(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];WX(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];SX(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];XX(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[47533]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;W=+h[q+(k*40|0)>>3];T=+YX(W);U=+RX(W);V=+TX(W);W=+ZX(W);h[Q>>3]=T*r+v*U+t*V+W*s;h[n>>3]=W*m+(p*V+(u*U+T*o));S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+QX(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];XX(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];NX(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];XX(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];NX(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];WX(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];NX(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];PX(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];PX(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function QX(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]-+h[a>>3];c=+h[b+8>>3]-+h[a+8>>3];return +(+G(+(d*d+c*c)))}function RX(a){a=+a;var b=0.0;b=1.0-a;return +(b*(a*3.0*b))}function SX(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function TX(a){a=+a;return +((1.0-a)*(a*3.0*a))}function UX(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+96|0;u=G;r=G+80|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=x+ +dY(v,B);J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=A+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=y+ +dY(v,B);L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+eY(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];SX(s,B,I);I=+fY(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];SX(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];WX(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];XX(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=w+ +dY(v,B);c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=z+ +dY(v,B);A=p}o=x*y-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(w*y-z*A)/o,n=(z*x-w*A)/o,!(n<=0.0|(m<=0.0|p<1.0e-06))):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+QX(v,B)/3.0;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];SX(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];SX(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function VX(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;h[x>>3]=y+m*w/3.0;h[q>>3]=u+m*p/3.0;h[t>>3]=r-k*s/3.0;h[e>>3]=o-k*n/3.0;h[f>>3]=r;h[g>>3]=o;if(d?(D=+_X(B,4),D<+_X(i,j)+-.001):0){d=0;break}if($X(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){OX((c[47530]|0)+4|0);e=c[47531]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[47530]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[47530]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function WX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function XX(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function YX(a){a=+a;a=1.0-a;return +(a*(a*a))}function ZX(a){a=+a;return +(a*a*a)}function _X(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;f=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];e=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=c+ +G(+(f*f+e*e));d=d+1|0}return +c}function $X(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;x=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=aY(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(y=s*(s*s),v=s*3.0,E=1.0-s,D=E*(s*v),s=E*(v*E),E=E*(E*E),v=E*+h[d>>3]+s*+h[x>>3]+D*+h[z>>3]+y*+h[A>>3],y=E*+h[B>>3]+s*+h[g>>3]+D*+h[i>>3]+y*+h[j>>3],D=v-o,s=y-p,!(D*D+s*s<.001)):0)?(D=v-q,E=y-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function aY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+48|0;A=C+24|0;z=C;B=C+80|0;u=+h[b>>3];s=+h[b+16>>3]-u;t=+h[b+8>>3];o=+h[b+24>>3]-t;c[B>>2]=0;v=y+8|0;f=a+48|0;e=a+56|0;w=y+16|0;i=a+32|0;p=a+40|0;q=a+8|0;x=y+24|0;g=+h[a>>3];j=+h[f>>3];k=+h[i>>3];r=a+24|0;n=a+16|0;m=+h[n>>3];a:do if(!(s==0.0)){o=o/s;bY(+h[q>>3]-o*g,+h[r>>3]-o*m,+h[p>>3]-o*k,+h[e>>3]-o*j,y);h[y>>3]=u*o-t+ +h[y>>3];e=zY(y,A)|0;if((e|0)==4)b=4;else{b=0;while(1){if((b|0)>=(e|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[a>>3],+h[n>>3],+h[i>>3],+h[f>>3],y),t=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-u)/s,t>=0.0&t<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0}}else{bY(g,m,k,j,y);h[y>>3]=+h[y>>3]-u;n=zY(y,A)|0;if(!(o==0.0)){if((n|0)==4){b=4;break}else b=0;while(1){if((b|0)>=(n|0))break;g=+h[A+(b<<3)>>3];if(g>=0.0&g<=1.0?(bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y),u=(+h[y>>3]+g*(+h[v>>3]+g*(+h[w>>3]+g*+h[x>>3]))-t)/o,u>=0.0&u<=1.0):0)cY(g,d,B);b=b+1|0}b=c[B>>2]|0;break}bY(+h[q>>3],+h[r>>3],+h[p>>3],+h[e>>3],y);h[y>>3]=+h[y>>3]-t;i=zY(y,z)|0;b=(i|0)==4;b:do if((n|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;cY(+h[z+(b<<3)>>3],d,B);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(n|0))break b;cY(+h[A+(b<<3)>>3],d,B);b=b+1|0}}else e=0;while(1){if((e|0)>=(n|0))break b;f=A+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[z+(b<<3)>>3])cY(g,d,B);b=b+1|0}e=e+1|0}}while(0);b=c[B>>2]|0}while(0);l=C;return b|0}function bY(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;c=c*3.0;h[e+24>>3]=b*3.0+d-(c+a);h[e+16>>3]=a*3.0+c-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function cY(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function dY(a,b){a=a|0;b=b|0;return +(+h[a>>3]*+h[b>>3]+ +h[a+8>>3]*+h[b+8>>3])}function eY(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function fY(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function gY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+112|0;G=J+80|0;F=J+64|0;E=J+48|0;I=4;H=k6(40)|0;c[H>>2]=0;x=J+32|0;y=J+16|0;z=J;A=J+96|0;I=x6(190140,1,H|0,I|0)|0;H=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1)e=D;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;$(116,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}c[47574]=0;c[47575]=0;o=0;$(117,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}n=(c[47577]|0)/2|0;c[47578]=n;c[47579]=n+-1;n=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(n|0))break;K=+h[g+(e<<4)>>3];w=i>K;v=w?e:f;e=e+1|0;f=v;i=w?K:i}m=g+(f<<4)|0;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];c[y+8>>2]=c[m+8>>2];c[y+12>>2]=c[m+12>>2];m=g+(((f|0)==0?n:f)+-1<<4)|0;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];c[x+8>>2]=c[m+8>>2];c[x+12>>2]=c[m+12>>2];m=n+-1|0;w=g+(((f|0)==(m|0)?0:f+1|0)<<4)|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];K=+h[y>>3];if((+h[x>>3]==K?K==+h[z>>3]:0)?+h[z+8>>3]>+h[y+8>>3]:0)w=15;else w=12;b:do if((w|0)==12){w=0;o=0;e=aa(39,x|0,y|0,z|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((e|0)==1){g=c[47581]|0;e=c[47582]|0;f=0;while(1){if((f|0)>=(n|0))break b;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)>0?(C=f+-1|0,+h[k>>3]==+h[j+(C<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(C<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+1|0}}else w=15}while(0);c:do if((w|0)==15){w=0;g=c[47581]|0;e=c[47582]|0;f=m;while(1){if((f|0)<=-1)break c;j=c[a>>2]|0;k=j+(f<<4)|0;if(!(((f|0)<(m|0)?(B=f+1|0,+h[k>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){v=c[47574]|0;c[g+(v<<3)>>2]=k;c[g+(v<<3)+4>>2]=g+(((v|0)%(n|0)|0)<<3);c[e+(v<<2)>>2]=g+(v<<3);c[47574]=v+1}f=f+-1|0}}while(0);o=0;ha(29,e|0,c[47574]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}j=0;e=c[47575]|0;d:while(1){if((j|0)>=(e|0)){u=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ha(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue a}g=g+1|0;e=c[47575]|0}}while(1){if((u|0)>=(e|0))break;o=0;f=ra(105,u|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;u=u+1|0}if((u|0)==(e|0)){e=c[15715]|0;o=0;c[E>>2]=142161;c[E+4>>2]=192;c[E+8>>2]=142172;aa(35,e|0,142142,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=42;break}}v=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=ra(105,k|0,v|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15715]|0;o=0;c[F>>2]=142161;c[F+4>>2]=200;c[F+8>>2]=142205;aa(35,e|0,142142,F|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=49;break}}o=0;e=ra(106,u|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,I|0,H|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}if(!e){e=c[15715]|0;o=0;c[G>>2]=142161;c[G+4>>2]=207;c[G+8>>2]=142243;aa(35,e|0,142142,G|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=54;break}}s=d+4|0;if((u|0)==(k|0)){o=0;$(118,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,I|0,H|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;continue}else{w=57;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=v;c[A+12>>2]=0;o=0;ha(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue}c[47580]=c[47578];q=u;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[47584]|0;c[r+(q*52|0)>>2]=2;g=0;while(1){j=g+1|0;if((g|0)>=3){w=65;break}e=c[r+(q*52|0)+4+(g<<4)+12>>2]|0;if(!e){g=j;continue}if((c[e>>2]|0)==1){w=68;break}else g=j}if((w|0)==65){w=0;if((g|0)==3){e=c[47576]|0;k=c[e+(c[47579]<<2)>>2]|0;o=0;e=aa(39,v|0,c[c[e+(c[47578]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else w=68}if((w|0)==68){w=0;m=c[r+(q*52|0)+4+(g<<4)>>2]|0;k=c[r+(q*52|0)+4+(g<<4)+4>>2]|0;o=0;e=aa(39,c[m>>2]|0,c[c[r+(q*52|0)+4+(((j|0)%3|0)<<4)+4>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1){e=D;continue a}j=(e|0)==1;n=j?m:k;j=j?k:m}do if((q|0)==(u|0)){o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}e=0}else{m=c[47576]|0;if((c[m+(c[47578]<<2)>>2]|0)!=(n|0)?(c[m+(c[47579]<<2)>>2]|0)!=(n|0):0){o=0;j=la(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((j|0)<=(c[47580]|0)){e=0;break}c[47580]=j;e=0;break}o=0;k=la(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}o=0;ha(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=A6(c[e>>2]|0,I|0,H|0)|0;if(!g)Ca(e|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;continue a}if((k|0)>=(c[47580]|0)){e=0;break}c[47580]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[47584]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;$(118,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=A6(c[g>>2]|0,I|0,H|0)|0;if(!j)Ca(g|0,p|0);D=p}else j=-1;if((j|0)==1)e=D;else{w=94;break}}if((w|0)==42)e=-1;else if((w|0)==49)e=-1;else if((w|0)==54){c[d+4>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==57){c[s>>2]=2;e=c[47583]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];H=e+16|0;c[H>>2]=c[v>>2];c[H+4>>2]=c[v+4>>2];c[H+8>>2]=c[v+8>>2];c[H+12>>2]=c[v+12>>2];c[d>>2]=e;e=0}else if((w|0)==94){c[s>>2]=e;g=c[47583]|0;while(1){e=e+-1|0;if(!f)break;H=g+(e<<4)|0;G=c[f>>2]|0;c[H>>2]=c[G>>2];c[H+4>>2]=c[G+4>>2];c[H+8>>2]=c[G+8>>2];c[H+12>>2]=c[G+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}l6(I|0);l=J;return e|0}function hY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;g=j+48|0;i=j+32|0;h=j+16|0;f=j;if((c[47587]|0)<(a|0)){b=c[47581]|0;d=a<<3;e=a<<2;if(!b){i=k6(d)|0;c[47581]=i;if(!i){i=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=523;c[f+8>>2]=142411;z4(i,142142,f)|0;Ca(190140,1)}i=k6(e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=527;c[h+8>>2]=142430;z4(i,142142,h)|0;Ca(190140,1)}}else{h=n6(b,d)|0;c[47581]=h;if(!h){h=c[15715]|0;c[i>>2]=142161;c[i+4>>2]=533;c[i+8>>2]=142450;z4(h,142142,i)|0;Ca(190140,1)}i=n6(c[47582]|0,e)|0;c[47582]=i;if(!i){i=c[15715]|0;c[g>>2]=142161;c[g+4>>2]=539;c[g+8>>2]=142470;z4(i,142142,g)|0;Ca(190140,1)}}c[47587]=a}l=j;return}function iY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47577]|0)<(a|0)){b=c[47576]|0;d=a<<2;if(!b){f=k6(d)|0;c[47576]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=573;c[e+8>>2]=142366;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47576]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=580;c[f+8>>2]=142388;z4(e,142142,f)|0;Ca(190140,1)}}c[47577]=a}l=g;return}function jY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function kY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(sY(e,g,a,b)|0))e=f;else break}tY(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15715]|0;c[h>>2]=142161;c[h+4>>2]=324;c[h+8>>2]=142306;z4(a,142142,h)|0}else if((b|0)==9)tY(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function lY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;h=c[47584]|0;i=h+(a*52|0)|0;j=h+(b*52|0)|0;e=0;while(1){if((e|0)==3)break;k=h+(a*52|0)+4+(e<<4)|0;l=h+(a*52|0)+4+(e<<4)+4|0;m=h+(a*52|0)+4+(e<<4)+12|0;d=0;while(1){if((d|0)==3)break;n=c[c[k>>2]>>2]|0;f=c[c[h+(b*52|0)+4+(d<<4)>>2]>>2]|0;g=c[c[h+(b*52|0)+4+(d<<4)+4>>2]>>2]|0;if((n|0)==(f|0)?(c[c[l>>2]>>2]|0)==(g|0):0)o=9;else o=7;if(((o|0)==7?(o=0,(n|0)==(g|0)):0)?(c[c[l>>2]>>2]|0)==(f|0):0)o=9;if((o|0)==9){c[m>>2]=j;c[h+(b*52|0)+4+(d<<4)+12>>2]=i}d=d+1|0}e=e+1|0}return}function mY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[47584]|0;d=0;e=0;while(1){if((e|0)==3)break;d=((jY(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)+d|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function nY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[47584]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(nY((e-d|0)/52|0,b)|0){d=1;break a}d=c[47584]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function oY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47585]|0)<(a|0)){b=c[47583]|0;d=a<<4;if(!b){f=k6(d)|0;c[47583]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=593;c[e+8>>2]=142269;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47583]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=599;c[f+8>>2]=142287;z4(e,142142,f)|0;Ca(190140,1)}}c[47585]=a}l=g;return}function pY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[47579]|0;e=c[47578]|0;f=(d|0)>=(e|0);g=b+4|0;if((a|0)==1){if(f)c[g>>2]=c[(c[47576]|0)+(e<<2)>>2];a=e+-1|0;d=190312}else{if(f)c[g>>2]=c[(c[47576]|0)+(d<<2)>>2];a=d+1|0;d=190316}c[d>>2]=a;c[(c[47576]|0)+(a<<2)>>2]=b;return}function qY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[47580]|0;g=c[47576]|0;b=c[47578]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[47579]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((jY(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function rY(a,b){a=a|0;b=b|0;c[((a|0)==1?190316:190312)>>2]=b;return}function sY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(jY(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((jY(i,j,f)|0)==1){f=jY(j,i,g)|0;g=1;h=5}else f=0;else{f=jY(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(vY(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function tY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[47575]|0;f=c[47586]|0;if((e|0)<(f|0))h=e;else{uY(f+20|0);h=c[47575]|0}g=c[47584]|0;c[47575]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function uY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g;if((c[47586]|0)<(a|0)){b=c[47584]|0;d=a*52|0;if(!b){f=k6(d)|0;c[47584]=f;if(!f){f=c[15715]|0;c[e>>2]=142161;c[e+4>>2]=552;c[e+8>>2]=142327;z4(f,142142,e)|0;Ca(190140,1)}}else{e=n6(b,d)|0;c[47584]=e;if(!e){e=c[15715]|0;c[f>>2]=142161;c[f+4>>2]=558;c[f+8>>2]=142346;z4(e,142142,f)|0;Ca(190140,1)}}c[47586]=a}l=g;return}function vY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=jY(a,b,c)|0;if((((f|0)!=3?(g=jY(a,b,d)|0,(g|0)!=3):0)?(h=jY(c,d,a)|0,(h|0)!=3):0)?(e=jY(c,d,b)|0,(e|0)!=3):0)a=((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1;else if(((wY(a,b,c)|0)==0?(wY(a,b,d)|0)==0:0)?(wY(c,d,a)|0)==0:0)return (wY(c,d,b)|0)!=0|0;else a=1;return a|0}function wY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((jY(a,b,c)|0)==3)a=(g*e+d*f>=0.0?e*e+f*f<=g*g+d*d:0)&1;else a=0;return a|0}function xY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=k6(d<<2)|0;n=k6((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g<j){h[i>>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}l6(n);return m|0}function yY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];a=i+2|0;if(!(RY(m,b,k,f,h)|0)){m=c[h+24>>2]|0;c[m+(i<<2)>>2]=g;k=i+1|0;c[m+(k<<2)>>2]=d;a=xY(k,i,a,m)|0}else{a=k6(a<<2)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function zY(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=AY(a,b)|0;else{i=+h[a+16>>3]/(d*3.0);e=+h[a+8>>3]/d;g=i*i;d=+h[a>>3]/d+(i*2.0*g-e*i);g=e/3.0-g;e=d*d;g=e+g*(g*(g*4.0));a=b+16|0;f=-d;c=b+8|0;if(!(g<0.0)){d=(+G(+g)-d)*.5;e=+U3(d);d=e+ +U3(f-d);h[b>>3]=d;d=d*-.5;if(g>0.0)a=1;else{h[a>>3]=d;h[c>>3]=d;a=3}}else{f=+O(+(+G(+-g)),+f);g=+U3(+G(+(e-g))*.5)*2.0;h[b>>3]=g*+I(+(f/3.0));h[c>>3]=g*+I(+((f+3.141592653589793+3.141592653589793)/3.0));h[a>>3]=g*+I(+((f+-3.141592653589793+-3.141592653589793)/3.0));a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-i;c=c+1|0}}while(0);return a|0}function AY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+G(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=BY(a,b)|0;while(0);return a|0}function BY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function CY(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function DY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[a+4>>2]|0;l=(f*3|0)+-2|0;e=c[47589]|0;if((l|0)>(c[47588]|0)){d=l<<4;if(!e)d=k6(d)|0;else d=n6(e,d)|0;c[47589]=d;c[47588]=l;k=d;j=d}else{k=e;j=e}i=c[a>>2]|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];I6(k+16|0,i|0,16)|0;a=f+-1|0;d=1;e=2;while(1){f=k+(e<<4)|0;g=k+(e+1<<4)|0;h=i+(d<<4)|0;if((d|0)>=(a|0))break;m=k+(e+2<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];d=d+1|0;e=e+3|0}c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];I6(g|0,h|0,16)|0;c[b+4>>2]=l;c[b>>2]=j;return}function EY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];d=(+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function FY(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e<d&d<f))if(f<d)a=d<e;else a=0;else a=1}else{f=+h[a+8>>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f<e&e<d))if(d<e)a=e<f;else a=0;else a=1}return a&1|0}function GY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+32|0;h=m+16|0;g=m;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=EY(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(FY(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=EY(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],FY(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];k=EY(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];f=((S(EY(g,h,i)|0,k)|0)&(S(f,j)|0))>>>31}while(0);l=m;return f|0}function HY(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function IY(a){a=a|0;c[a+24>>2]=JY(c[a+4>>2]|0)|0;KY(a);return}function JY(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=k6(e<<2)|0;b=m6(S(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function KY(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+LY(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((MY(b,a,m,n,o)|0?MY(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],NY(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+LY(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function LY(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+G(+(+HY(g,f)));l=e;return +d}function MY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=OY(k,j,i,h)|0;l=g;return f|0}function NY(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(GY(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(GY(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function OY(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=EY(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=EY(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(EY(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function PY(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;k=t+64|0;j=t+48|0;i=t+32|0;m=t+16|0;p=t;q=c[a+4>>2]|0;r=c[a+8>>2]|0;s=c[a+16>>2]|0;n=c[a+20>>2]|0;o=k6((q<<3)+16|0)|0;if((b|0)==-2222){c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];b=QY(a,k)|0}if((b|0)>-1){f=c[a+12>>2]|0;g=c[f+(b+1<<2)>>2]|0;f=c[f+(b<<2)>>2]|0}else{g=q;f=q}b=0;while(1){if((b|0)>=(f|0)){b=f;break}u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}while(1){if((b|0)>=(g|0)){b=g;break}h[o+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(q|0))break;u=r+(b<<4)|0;c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];u=r+(c[n+(b<<2)>>2]<<4)|0;a=r+(c[s+(b<<2)>>2]<<4)|0;c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];a=o+(b<<3)|0;if((OY(m,i,j,k)|0)!=0?(c[j>>2]=c[d>>2],c[j+4>>2]=c[d+4>>2],c[j+8>>2]=c[d+8>>2],c[j+12>>2]=c[d+12>>2],c[k>>2]=c[p>>2],c[k+4>>2]=c[p+4>>2],c[k+8>>2]=c[p+8>>2],c[k+12>>2]=c[p+12>>2],(NY(j,k,f,g,q,r,s)|0)!=0):0){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];e=+LY(j,k)}else e=0.0;h[a>>3]=e;b=b+1|0}h[o+(q<<3)>>3]=0.0;h[o+(q+1<<3)>>3]=0.0;l=t;return o|0}function QY(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m;e=m+24|0;h=m+16|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(LX(e,f)|0))d=g;else break}l=m;return d|0}function RY(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+48|0;k=t+32|0;o=t+16|0;n=t;q=c[f+4>>2]|0;r=c[f+8>>2]|0;p=c[f+16>>2]|0;h=e+1|0;f=f+12|0;g=(e|0)<0;if((b|0)<0)if(g){f=0;e=0;g=0;b=0}else{g=c[f>>2]|0;f=c[g+(h<<2)>>2]|0;e=c[g+(e<<2)>>2]|0;g=0;b=0}else{f=c[f>>2]|0;j=c[f+(b<<2)>>2]|0;i=c[f+(b+1<<2)>>2]|0;if(g){f=i;e=j;g=0;b=0}else{u=(b|0)>(e|0);b=c[f+(e<<2)>>2]|0;g=c[f+(h<<2)>>2]|0;f=u?i:g;e=u?j:b;g=u?g:i;b=u?b:j}}h=0;while(1){if((h|0)>=(b|0)){s=9;break}j=r+(h<<4)|0;u=r+(c[p+(h<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))h=h+1|0;else{f=0;break}}a:do if((s|0)==9){while(1){if((g|0)>=(e|0))break;s=r+(g<<4)|0;u=r+(c[p+(g<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0)){g=g+1|0;s=9}else{f=0;break a}}while(1){if((f|0)>=(q|0)){f=1;break a}s=r+(f<<4)|0;u=r+(c[p+(f<<2)>>2]<<4)|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[k>>2]=c[s>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[k+12>>2]=c[s+12>>2];c[m>>2]=c[u>>2];c[m+4>>2]=c[u+4>>2];c[m+8>>2]=c[u+8>>2];c[m+12>>2]=c[u+12>>2];if(!(GY(n,o,k,m)|0))f=f+1|0;else{f=0;break}}}while(0);l=t;return f|0}function SY(a){a=a|0;return TY(a,0,0)|0}function TY(a,b,c){a=a|0;b=b|0;c=c|0;return UY(a,b,c,0)|0}function UY(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;if(!d){g=k6(500)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=107;c[g+20>>2]=105;d=35;h=6}}else{g=pb[c[d>>2]&63](500)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+380>>2]=16;k=g+12|0;j=pb[d&63](256)|0;d=g+392|0;c[d>>2]=j;h=g+20|0;if(!j){db[c[h>>2]&127](g);g=0;break}i=pb[c[k>>2]&63](1024)|0;j=g+44|0;c[j>>2]=i;if(!i){db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}c[g+48>>2]=i+1024;if(!f){f=VY(k)|0;c[g+356>>2]=f;if(!f){db[c[h>>2]&127](c[j>>2]|0);db[c[h>>2]&127](c[d>>2]|0);db[c[h>>2]&127](g);g=0;break}}else c[g+356>>2]=f;c[g+376>>2]=0;c[g+368>>2]=0;c[g+304>>2]=0;c[g+468>>2]=0;c[g+464>>2]=0;c[g+124>>2]=0;c[g+248>>2]=0;d=g+472|0;a[d>>0]=33;h=g+236|0;a[h>>0]=0;a[g+237>>0]=0;c[g+396>>2]=0;c[g+400>>2]=0;a[g+404>>0]=0;WY(g+416|0,k);WY(g+440|0,k);XY(g,b);if(b|0?(c[g+232>>2]|0)==0:0){YY(g);g=0;break}if(!e){c[g+228>>2]=V_()|0;break}else{a[h>>0]=1;c[g+228>>2]=B0()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function VY(b){b=b|0;var d=0;d=pb[c[b>>2]&63](188)|0;if(d|0){WY(d+80|0,b);WY(d+104|0,b);VZ(d,b);VZ(d+20|0,b);VZ(d+40|0,b);VZ(d+60|0,b);a[d+131>>0]=0;VZ(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function WY(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function XY(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+280>>2]=56;I0(d+256|0);if(!e)e=0;else e=eZ(d+416|0,e)|0;c[d+232>>2]=e;c[d+360>>2]=0;K$(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+316|0;g=d+408|0;c[g>>2]=0;c[g+4>>2]=0;g=d+284|0;f=d+308|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+312>>2]=0;c[d+364>>2]=0;c[d+372>>2]=0;c[d+384>>2]=0;c[d+240>>2]=0;c[d+252>>2]=0;c[d+244>>2]=0;c[d+476>>2]=0;c[d+480>>2]=0;a[d+488>>0]=0;a[d+489>>0]=0;c[d+492>>2]=0;c[d+496>>2]=0;return}function YY(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+368|0;g=b+20|0;d=c[b+364>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;db[c[g>>2]&127](c[d+36>>2]|0);ZY(c[d+44>>2]|0,b);db[c[g>>2]&127](d);d=h}e=b+304|0;d=c[b+300>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;db[c[g>>2]&127](d);d=h}d=b+12|0;ZY(c[b+376>>2]|0,b);ZY(c[b+372>>2]|0,b);_Y(b+416|0);_Y(b+440|0);if((a[b+488>>0]|0)==0?(f=c[b+356>>2]|0,f|0):0)$Y(f,(c[b+476>>2]|0)==0&1,d);db[c[g>>2]&127](c[b+392>>2]|0);db[c[g>>2]&127](c[b+464>>2]|0);db[c[g>>2]&127](c[b+8>>2]|0);db[c[g>>2]&127](c[b+44>>2]|0);db[c[g>>2]&127](c[b+396>>2]|0);db[c[g>>2]&127](c[b+240>>2]|0);d=c[b+252>>2]|0;if(d|0)db[d&127](c[b+244>>2]|0);db[c[g>>2]&127](b)}return}function ZY(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;db[c[b>>2]&127](c[a+16>>2]|0);db[c[b>>2]&127](a);a=d}return}function _Y(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;db[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function $Y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;aZ(f,g);d=d+8|0;while(1){e=bZ(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;db[c[d>>2]&127](c[e+20>>2]|0)}cZ(a);cZ(a+132|0);cZ(g);cZ(a+40|0);cZ(a+60|0);_Y(a+80|0);_Y(a+104|0);if(b<<24>>24){db[c[d>>2]&127](c[a+184>>2]|0);db[c[d>>2]&127](c[a+164>>2]|0)}db[c[d>>2]&127](a);l=h;return}function aZ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function bZ(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function cZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;db[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}db[f&127](g);return}function dZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=gZ(a)|0;if(!f){c[a+280>>2]=57;f=hZ(a,b,d,e)|0}return f|0}function eZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function fZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;f=c[b>>2]|0;i=a+16|0;j=a+12|0;k=a+8|0;do if(f){g=c[i>>2]|0;if(!g){c[a>>2]=f;c[b>>2]=c[f>>2];c[f>>2]=0;b=f+8|0;c[i>>2]=b;c[k>>2]=(c[f+4>>2]|0)+(f+8);c[j>>2]=b;b=1;break}d=c[k>>2]|0;e=d-g|0;if((e|0)<(c[f+4>>2]|0)){d=c[f>>2]|0;c[f>>2]=c[a>>2];c[a>>2]=f;c[b>>2]=d;B6(f+8|0,g|0,e|0)|0;b=c[a>>2]|0;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=7}else{d=c[k>>2]|0;h=7}while(0);a:do if((h|0)==7){e=c[a>>2]|0;f=a+20|0;do if(!e){h=i;b=c[i>>2]|0}else{h=c[i>>2]|0;b=h;if((h|0)!=(e+8|0)){h=i;break}d=d-b<<1;b=vb[c[(c[f>>2]|0)+4>>2]&127](e,d+8|0)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=d;c[j>>2]=(c[j>>2]|0)-(c[i>>2]|0)+(b+8);c[i>>2]=b+8;c[k>>2]=b+8+d;b=1;break a}while(0);g=d-b|0;g=(g|0)<1024?1024:g<<1;b=pb[c[c[f>>2]>>2]&63](g+8|0)|0;if(!b)b=0;else{c[b+4>>2]=g;c[b>>2]=c[a>>2];c[a>>2]=b;a=c[j>>2]|0;e=c[i>>2]|0;f=b+8|0;d=a;b=e;if((a|0)!=(e|0)){B6(f|0,e|0,d-b|0)|0;d=c[j>>2]|0;b=c[h>>2]|0}c[j>>2]=f+(d-b);c[i>>2]=f;c[k>>2]=f+g;b=1}}while(0);return b|0}function gZ(b){b=b|0;var d=0;d=b+232|0;if(!(eb[(a[b+236>>0]<<24>>24?40:41)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=UZ(b,c[d>>2]|0)|0;else b=0;return b|0}function hZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=tb[c[i>>2]&127](i,d,e,h)|0;f=iZ(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;l=g;return f|0}function iZ(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;Ha=l;l=l+16|0;wa=Ha;c[wa>>2]=i;s=c[b+356>>2]|0;t=b+144|0;u=b+300|0;if((c[t>>2]|0)==(e|0)){q=b+288|0;r=b+292|0}else{r=c[u>>2]|0;q=r;r=r+4|0}v=b+256|0;w=k<<24>>24!=0;x=b+328|0;y=b+344|0;z=b+136|0;A=b+353|0;xa=b+116|0;oa=b+489|0;ya=b+4|0;B=s+80|0;C=b+340|0;D=b+348|0;E=b+316|0;F=s+168|0;G=s+164|0;za=s+130|0;H=b+352|0;I=b+260|0;J=s+184|0;K=b+476|0;sa=b+492|0;L=s+96|0;M=b+332|0;N=s+160|0;O=b+324|0;P=b+128|0;Q=b+96|0;R=b+464|0;S=s+180|0;Aa=b+108|0;Ba=s+131|0;T=b+132|0;U=b+336|0;Ca=s+129|0;Da=b+360|0;V=b+416|0;W=b+80|0;ta=s+132|0;X=b+320|0;Ea=b+112|0;Y=s+128|0;Z=b+84|0;_=b+428|0;$=b+424|0;aa=s+92|0;ba=b+12|0;ca=b+432|0;da=b+480|0;ea=b+88|0;fa=s+120|0;ga=s+116|0;ha=b+92|0;ia=b+468|0;ja=b+16|0;ka=b+272|0;la=b+120|0;ma=s+176|0;p=e;o=f;e=h;a:while(1){c[q>>2]=o;f=c[wa>>2]|0;c[r>>2]=f;i=f;b:do if((e|0)<1){if(w&(e|0)!=0){n=7;break a}h=0-e|0;switch(e|0){case -1:{i=5;n=278;break a}case 0:{n=9;break a}case -2:{i=6;break a}case -4:{n=10;break a}case -15:{e=h;break b}default:{}}c[wa>>2]=g;e=h;i=g}while(0);m=wb[c[v>>2]&63](v,e,o,i,p)|0;i=p+56|0;f=p+68|0;c:do switch(m|0){case 2:{n=58;break a}case -1:{n=184;break a}case 1:{i=jZ(b,0,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 4:{if(!(c[Z>>2]|0))i=1;else{n=kZ(V,p,o,c[wa>>2]|0)|0;c[X>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];c[x>>2]=0;i=0}c[O>>2]=0;n=272;break}case 7:{i=c[Z>>2]|0;if(!i)n=273;else{fb[i&31](c[ya>>2]|0,c[X>>2]|0,c[O>>2]|0,c[x>>2]|0,1);c[X>>2]=0;lZ(V);i=p}break}case 57:{i=jZ(b,1,o,c[wa>>2]|0)|0;if(i|0){n=278;break a}i=c[t>>2]|0;break}case 6:{a[oa>>0]=0;n=mZ(b,ta,75667,36)|0;c[E>>2]=n;if(!n){i=1;n=278;break a}a[Ca>>0]=1;if(!(c[Z>>2]|0))n=33;else{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[ca>>2]=c[_>>2];c[x>>2]=i;i=0;n=34}break}case 14:{n=33;break}case 8:{i=c[X>>2]|0;if(!i)i=1;else{fb[c[Z>>2]&31](c[ya>>2]|0,i,c[O>>2]|0,c[x>>2]|0,0);lZ(V);i=0}if(!((c[O>>2]|0)==0?!(a[oa>>0]|0):0)){f=a[Ca>>0]|0;a[Ca>>0]=1;do if(c[sa>>2]|0?c[Ea>>2]|0:0){h=mZ(b,ta,75667,36)|0;if(!h){i=1;n=278;break a}e=h+20|0;if(!(a[oa>>0]|0))e=c[e>>2]|0;else{m=c[Da>>2]|0;c[e>>2]=m;e=m}a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,e,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;n=278;break a}if(!(a[Ba>>0]|0)){if(c[O>>2]|0)break;a[Ca>>0]=f;break}if(((a[za>>0]|0)==0?(na=c[Aa>>2]|0,na|0):0)?(pb[na&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}}while(0);a[oa>>0]=0}e=c[ea>>2]|0;if(!e)n=272;else{db[e&127](c[ya>>2]|0);i=p}break}case 34:{n=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=n;if(!n){i=1;n=278;break a}else n=80;break}case 22:{n=qZ(b,p,o,c[wa>>2]|0)|0;c[D>>2]=n;if(!n){i=1;n=278;break a}a[H>>0]=0;c[M>>2]=0;a[A>>0]=0;n=80;break}case 23:{a[H>>0]=1;c[M>>2]=142491;n=80;break}case 24:{a[A>>0]=1;c[M>>2]=142497;n=80;break}case 25:{c[M>>2]=142500;n=80;break}case 26:{c[M>>2]=142506;n=80;break}case 27:{c[M>>2]=142513;n=80;break}case 28:{c[M>>2]=142520;n=80;break}case 29:{c[M>>2]=142529;n=80;break}case 30:{c[M>>2]=142537;n=80;break}case 32:case 31:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0){if(!(rZ(V,(c[M>>2]|0)==0?((m|0)==32?142546:142556):142558)|0)){i=1;n=278;break a}if(!(sZ(V,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}c[M>>2]=c[ca>>2];i=p}else n=273;break}case 36:case 35:{if(a[Y>>0]|0){if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,a[A>>0]|0,0,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(pa=c[M>>2]|0,(pa|0)!=0):0){switch(a[pa>>0]|0){case 40:{n=93;break}case 78:{if((a[pa+1>>0]|0)==79)n=93;break}default:{}}if((n|0)==93){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,0,(m|0)==36&1);lZ(V);i=p}else n=273}else n=273;break}case 38:case 37:{if(a[Y>>0]|0){i=c[f>>2]|0;i=uZ(b,p,a[H>>0]|0,o+i|0,(c[wa>>2]|0)+(0-i)|0,B)|0;if(i|0){n=278;break a}e=c[L>>2]|0;c[L>>2]=c[aa>>2];if(!(tZ(c[y>>2]|0,c[D>>2]|0,a[H>>0]|0,0,e,b)|0)){i=1;n=278;break a}if((c[T>>2]|0)!=0?(qa=c[M>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{n=108;break}case 78:{if((a[qa+1>>0]|0)==79)n=108;break}default:{}}if((n|0)==108){n=0;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=41;i=c[_>>2]|0;if((i|0)==(c[$>>2]|0)){if(!((fZ(V)|0)<<24>>24)){i=1;n=278;break a}i=c[_>>2]|0}c[_>>2]=i+1;a[i>>0]=0;c[M>>2]=c[ca>>2];c[ca>>2]=c[_>>2]}c[r>>2]=o;ub[c[T>>2]&15](c[ya>>2]|0,c[c[y>>2]>>2]|0,c[c[D>>2]>>2]|0,c[M>>2]|0,e,(m|0)==38&1);lZ(V);i=p}else n=273}else n=273;break}case 12:{if(a[Y>>0]|0){i=c[f>>2]|0;i=vZ(b,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;e=c[E>>2]|0;f=c[fa>>2]|0;if(e){c[e+4>>2]=f;n=c[ga>>2]|0;c[e+8>>2]=n-f;c[fa>>2]=n;if(!(c[z>>2]|0))e=1;else{c[r>>2]=o;e=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Da>>2]|0,0,0,0);e=0}}else{c[ga>>2]=f;e=1}if(!i){i=e;n=272}else{n=278;break a}}else n=273;break}case 5:{a[oa>>0]=0;a[Ca>>0]=1;if(!(c[Z>>2]|0)){c[O>>2]=75667;i=1}else{n=c[f>>2]|0;n=kZ(V,p,o+n|0,(c[wa>>2]|0)+(0-n)|0)|0;c[O>>2]=n;if(!n){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=0}if((((a[za>>0]|0)==0?(c[sa>>2]|0)==0:0)?(ra=c[Aa>>2]|0,ra|0):0)?(pb[ra&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}if(!(c[E>>2]|0)){e=mZ(b,ta,75667,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}c[e+24>>2]=0;n=133}else n=133;break}case 13:{i=1;n=133;break}case 15:{if(((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0)?(c[z>>2]|0)!=0:0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=p}else n=273;break}case 16:{if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=kZ(B,p,o,c[wa>>2]|0)|0;c[(c[E>>2]|0)+28>>2]=m;if(!m){i=1;n=278;break a}c[L>>2]=c[aa>>2];if(c[ha>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ub[c[ha>>2]&15](c[ya>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p;break c}if(c[z>>2]|0){c[r>>2]=o;i=c[E>>2]|0;ob[c[z>>2]&0](c[ya>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=p}else n=273}else n=273;break}case 9:{if(eb[c[p+48>>2]&63](p,o,c[wa>>2]|0)|0){c[E>>2]=0;n=273;break c}if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,s,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=0;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 10:{if(!(a[Y>>0]|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}i=kZ(B,p,o,c[wa>>2]|0)|0;if(!i){i=1;n=278;break a}e=mZ(b,ta,i,36)|0;c[E>>2]=e;if(!e){i=1;n=278;break a}if((c[e>>2]|0)!=(i|0)){c[aa>>2]=c[L>>2];c[E>>2]=0;n=273;break c}c[L>>2]=c[aa>>2];c[e+24>>2]=0;a[e+33>>0]=1;if(!(c[K>>2]|0))i=(c[u>>2]|0)!=0;else i=1;a[e+34>>0]=(i^1)&1;if(!(c[z>>2]|0))n=273;else i=p;break}case 18:{c[C>>2]=0;c[U>>2]=0;if(!(c[Q>>2]|0))n=273;else{o=kZ(V,p,o,c[wa>>2]|0)|0;c[U>>2]=o;if(!o){i=1;n=278;break a}c[ca>>2]=c[_>>2];i=p}break}case 21:{if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break a}if(!(c[U>>2]|0))n=273;else{i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}nZ(i);c[C>>2]=i;c[ca>>2]=c[_>>2];i=p}break}case 19:{if((c[U>>2]|0)!=0?(c[Q>>2]|0)!=0:0){i=c[f>>2]|0;i=kZ(V,p,o+i|0,(c[wa>>2]|0)+(0-i)|0)|0;if(!i){i=1;n=278;break a}c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,i,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 20:{if((c[C>>2]|0)!=0?(c[Q>>2]|0)!=0:0){c[r>>2]=o;fb[c[Q>>2]&31](c[ya>>2]|0,c[U>>2]|0,c[Da>>2]|0,0,c[C>>2]|0);i=0}else i=1;lZ(V);n=272;break}case 58:{if(c[W>>2]|0)wZ(b,p,o,c[wa>>2]|0);i=xZ(b,p,wa,g,j,k)|0;if(i|0){n=278;break a}if(!(c[wa>>2]|0)){n=189;break a}else i=p;break}case 44:{i=c[ia>>2]|0;do if((c[I>>2]|0)>>>0>=i>>>0){if(!i){m=c[ba>>2]|0;c[ia>>2]=32;m=pb[m&63](32)|0;c[R>>2]=m;if(!m){i=1;n=278;break a}else break}h=c[ja>>2]|0;m=c[R>>2]|0;i=i<<1;c[ia>>2]=i;i=vb[h&127](m,i)|0;if(!i){i=1;n=278;break a}c[R>>2]=i;i=c[J>>2]|0;if(i|0){i=vb[c[ja>>2]&127](i,c[ia>>2]<<2)|0;if(!i){i=1;n=278;break a}c[J>>2]=i}}while(0);a[(c[R>>2]|0)+(c[I>>2]|0)>>0]=0;if(a[N>>0]|0){i=zZ(b)|0;if((i|0)<0){i=1;n=278;break a}c[(c[J>>2]|0)+(c[S>>2]<<2)>>2]=i;c[S>>2]=(c[S>>2]|0)+1;c[(c[G>>2]|0)+(i*28|0)>>2]=6;if(c[P>>2]|0)i=p;else n=273}else n=273;break}case 50:{i=(c[R>>2]|0)+(c[I>>2]|0)|0;if((a[i>>0]|0)==124){i=2;n=278;break a}a[i>>0]=44;if((a[N>>0]|0)!=0?(c[P>>2]|0)!=0:0)i=p;else n=273;break}case 49:{e=(c[R>>2]|0)+(c[I>>2]|0)|0;i=a[e>>0]|0;if(i<<24>>24==44){i=2;n=278;break a}if(i<<24>>24==0&(a[N>>0]|0)!=0?(ua=(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[ua>>2]|0)!=3):0){c[ua>>2]=5;i=(c[P>>2]|0)==0&1}else i=1;a[e>>0]=124;n=272;break}case 59:case 60:{a[Ca>>0]=1;if(c[sa>>2]|0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break a}h=mZ(b,ta,e,0)|0;c[aa>>2]=c[L>>2];i=(h|0)!=0;f=(m|0)==60;do if(c[ka>>2]|0){if(!(a[za>>0]|0)){if(a[Ca>>0]|0){n=217;break}}else if(c[u>>2]|0){n=217;break}if(!i){i=11;n=278;break a}if(!(a[h+34>>0]|0)){i=24;n=278;break a}}else n=217;while(0);if((n|0)==217?(n=0,!i):0){a[Y>>0]=a[za>>0]|0;if(!f){n=273;break c}i=c[la>>2]|0;if(!i){n=273;break c}rb[i&127](c[ya>>2]|0,e,1);i=p;break c}e=h+32|0;if(a[e>>0]|0){i=12;n=278;break a}if(c[h+4>>2]|0){i=AZ(b,h,f&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;n=272;break c}else{n=278;break a}}i=c[Ea>>2]|0;if(!i){a[Y>>0]=a[za>>0]|0;n=273;break c}a[Ba>>0]=0;a[e>>0]=1;m=(wb[i&63](c[xa>>2]|0,0,c[h+20>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)==0;a[e>>0]=0;if(m){i=21;n=278;break a}e=a[za>>0]|0;if(!(a[Ba>>0]|0)){a[Y>>0]=e;i=p;break c}else i=0}else{e=a[za>>0]|0;a[Y>>0]=e;i=1}if((e<<24>>24==0?(va=c[Aa>>2]|0,(va|0)!=0):0)?(pb[va&63](c[ya>>2]|0)|0)==0:0){i=22;n=278;break a}else n=272;break}case 40:{if(!(c[P>>2]|0))n=273;else{o=pZ(b,p,o,c[wa>>2]|0)|0;c[y>>2]=o;if(!o){i=1;n=278;break a}c[S>>2]=0;c[ma>>2]=0;a[N>>0]=1;i=p}break}case 42:case 41:{if(!(a[N>>0]|0))n=273;else{if(!(c[P>>2]|0))i=1;else{i=pb[c[ba>>2]&63](20)|0;if(!i){i=1;n=278;break a}n=i+4|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[i>>2]=(m|0)==41?2:1;c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,i);i=0}a[N>>0]=0;n=272}break}case 43:{if((a[N>>0]|0)!=0?(c[(c[G>>2]|0)+((c[(c[J>>2]|0)+((c[S>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[P>>2]|0)!=0):0)i=p;else n=273;break}case 51:{e=0;n=245;break}case 53:{e=1;n=245;break}case 52:{e=2;n=245;break}case 54:{e=3;n=245;break}case 45:{f=0;n=256;break}case 47:{f=1;n=256;break}case 46:{f=2;n=256;break}case 48:{f=3;n=256;break}case 55:{if(!(CZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 56:{if(!(DZ(b,p,o,c[wa>>2]|0)|0)){i=1;n=278;break a}else i=p;break}case 0:{if((e|0)==14)i=p;else n=273;break}case 3:{if(!(c[Z>>2]|0))n=273;else i=p;break}case 11:{if((a[Y>>0]|0)!=0?(c[z>>2]|0)!=0:0)i=p;else n=273;break}case 17:{if(!(c[Q>>2]|0))n=273;else i=p;break}case 33:{if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273;break}case 39:{if(!(c[P>>2]|0))n=273;else i=p;break}default:n=273}while(0);if((n|0)==33)if(!(tb[c[i>>2]&127](p,o,c[wa>>2]|0,q)|0)){i=32;n=278;break}else{i=1;n=34}else if((n|0)==80){n=0;if((a[Y>>0]|0)!=0?(c[T>>2]|0)!=0:0)i=p;else n=273}else if((n|0)==133){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){m=c[f>>2]|0;m=kZ(B,p,o+m|0,(c[wa>>2]|0)+(0-m)|0)|0;e=c[E>>2]|0;c[e+16>>2]=m;if(!m){i=1;n=278;break}c[e+20>>2]=c[Da>>2];c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}else if((n|0)==245){n=0;if(a[N>>0]|0){i=c[wa>>2]|0;if(e)i=i+(0-(c[f>>2]|0))|0;f=zZ(b)|0;if((f|0)<0){i=1;n=278;break}m=c[G>>2]|0;c[m+(f*28|0)>>2]=4;c[m+(f*28|0)+4>>2]=e;i=pZ(b,p,o,i)|0;if(!i){i=1;n=278;break}e=c[i>>2]|0;c[(c[G>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{m=i;i=i+1|0}while((a[e+m>>0]|0)!=0);c[F>>2]=(c[F>>2]|0)+i;if(c[P>>2]|0)i=p;else n=273}else n=273}else if((n|0)==256)if(a[N>>0]|0){e=(c[P>>2]|0)==0;i=e&1;n=(c[S>>2]|0)+-1|0;c[S>>2]=n;c[(c[G>>2]|0)+((c[(c[J>>2]|0)+(n<<2)>>2]|0)*28|0)+4>>2]=f;if(!n){if(!e){e=BZ(b)|0;if(!e){i=1;n=278;break}c[r>>2]=o;rb[c[P>>2]&127](c[ya>>2]|0,c[c[y>>2]>>2]|0,e)}a[N>>0]=0;c[F>>2]=0;n=272}else n=272}else n=273;if((n|0)==34){n=0;if((a[Y>>0]|0)!=0?(c[E>>2]|0)!=0:0){e=c[f>>2]|0;e=kZ(B,p,o+e|0,(c[wa>>2]|0)+(0-e)|0)|0;if(!e){i=1;n=278;break}nZ(e);c[(c[E>>2]|0)+24>>2]=e;c[L>>2]=c[aa>>2];if(c[z>>2]|0)i=p;else n=272}else n=272}if((n|0)==272){n=0;if(!(i<<24>>24))i=p;else n=273}if((n|0)==273){n=0;if(!(c[W>>2]|0))i=p;else{wZ(b,p,o,c[wa>>2]|0);i=p}}switch(c[da>>2]|0){case 3:{n=276;break a}case 2:{i=35;n=278;break a}default:{}}e=c[wa>>2]|0;p=i;o=e;e=tb[c[i>>2]&127](i,e,g,wa)|0}d:do if((n|0)==7){c[j>>2]=o;i=0}else if((n|0)==9){c[q>>2]=f;i=4}else if((n|0)==10){if((p|0)==(c[t>>2]|0)){if(!(a[b+488>>0]|0)){i=3;break}}else if(!(a[(c[u>>2]|0)+20>>0]|0)){c[j>>2]=o;i=0;break}if((wb[c[v>>2]&63](v,-4,g,g,p)|0)==-1)i=29;else{c[j>>2]=o;i=0}}else if((n|0)==58){e=b+280|0;do if((a[oa>>0]|0?(Fa=a[Ca>>0]|0,a[Ca>>0]=1,c[sa>>2]|0):0)?c[Ea>>2]|0:0){i=mZ(b,ta,75667,36)|0;if(!i){i=1;break d}Da=c[Da>>2]|0;c[i+20>>2]=Da;a[Ba>>0]=0;if(!(wb[c[Ea>>2]&63](c[xa>>2]|0,0,Da,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[Ba>>0]|0)){a[Ca>>0]=Fa;break}if(((a[za>>0]|0)==0?(Ga=c[Aa>>2]|0,Ga|0):0)?(pb[Ga&63](c[ya>>2]|0)|0)==0:0){i=22;break d}}while(0);c[e>>2]=58;i=oZ(b,o,g,j)|0}else if((n|0)==184)i=(e|0)==28?10:(e|0)==12?17:2;else if((n|0)==189){c[b+280>>2]=59;i=0}else if((n|0)==276){c[j>>2]=c[wa>>2];i=0}while(0);l=Ha;return i|0}function jZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r+16|0;m=r+12|0;i=r+8|0;j=r+4|0;k=r;c[q>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;p=b+288|0;g=(d|0)!=0;a:do if(jb[(a[b+236>>0]<<24>>24?1:2)&3](d,c[n>>2]|0,e,f,p,i,j,q,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+356>>2]|0)+130>>0]=1,h=b+492|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;o=b+440|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{wZ(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[q>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=kZ(o,f,d,d+(vb[c[f+32>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+456>>2]=c[b+452>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=kZ(o,i,g,(c[j>>2]|0)+(0-(c[i+68>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}h=(d|0)!=0;do if(!(c[b+232>>2]|0)){g=c[m>>2]|0;if(g|0)if((c[g+68>>2]|0)==(c[(c[n>>2]|0)+68>>2]|0)){c[n>>2]=g;break}else{c[p>>2]=c[q>>2];d=19;break a}g=c[q>>2]|0;if(g|0){if(!h){d=c[n>>2]|0;d=kZ(o,d,g,g+(vb[c[d+32>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=UZ(b,d)|0;lZ(o);if((d|0)!=18)break a;c[p>>2]=c[q>>2];d=18;break a}}while(0);if(h|(e|0)!=0){lZ(o);d=0}else d=0}else d=g?31:30;while(0);l=r;return d|0}function kZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(sZ(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function lZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;d=c[a>>2]|0;a:do if(!b)c[e>>2]=d;else while(1){if(!d)break a;g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}while(0);c[a>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function mZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=e+8|0;n=c[x>>2]|0;z=e+12|0;v=e+4|0;o=(g|0)!=0;y=e+16|0;a:do if(!n)if(o){a[v>>0]=6;c[x>>2]=64;h=pb[c[c[y>>2]>>2]&63](256)|0;c[e>>2]=h;if(!h){c[x>>2]=0;h=0;break}else{u6(h|0,0,256)|0;i=SZ(b,f)|0;i=(c[x>>2]|0)+-1&i;p=26;break}}else h=0;else{w=SZ(b,f)|0;i=n+-1|0;k=c[e>>2]|0;l=w&0-n;m=i>>>2;j=0;i=w&i;while(1){h=c[k+(i<<2)>>2]|0;if(!h)break;if((TZ(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(j<<24>>24))h=(l>>>((d[v>>0]|0)+-1|0)&m|1)&255;else h=j;u=h&255;j=h;i=i-u+(i>>>0<u>>>0?n:0)|0}if(o){h=d[v>>0]|0;if((c[z>>2]|0)>>>(h+-1|0)){i=h+1|0;r=i&255;i=i&255;t=1<<i;s=t+-1|0;h=t<<2;u=pb[c[c[y>>2]>>2]&63](h)|0;if(!u)h=0;else{u6(u|0,0,h|0)|0;p=0-t|0;q=s>>>2;n=i+-1|0;m=c[x>>2]|0;l=0;while(1){if(l>>>0>=m>>>0)break;h=c[(c[e>>2]|0)+(l<<2)>>2]|0;o=h;if(h|0){h=SZ(b,c[h>>2]|0)|0;j=((h&p)>>>n&q|1)&255;h=h&s;i=0;while(1){k=u+(h<<2)|0;if(!(c[k>>2]|0))break;k=i<<24>>24==0?j:i;A=k&255;h=h+(h>>>0<A>>>0?t:0)-A|0;i=k}c[k>>2]=o}l=l+1|0}db[c[(c[y>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=u;a[v>>0]=r;c[x>>2]=t;j=((w&p)>>>n&q|1)&255;i=s&w;h=0;while(1){if(!(c[u+(i<<2)>>2]|0)){p=26;break a}A=h<<24>>24==0?j:h;x=A&255;i=i+(i>>>0<x>>>0?t:0)-x|0;h=A}}}else p=26}else h=0}while(0);if((p|0)==26){h=pb[c[c[y>>2]>>2]&63](g)|0;c[(c[e>>2]|0)+(i<<2)>>2]=h;h=c[(c[e>>2]|0)+(i<<2)>>2]|0;if(!h)h=0;else{u6(h|0,0,g|0)|0;h=(c[e>>2]|0)+(i<<2)|0;c[c[h>>2]>>2]=f;c[z>>2]=(c[z>>2]|0)+1;h=c[h>>2]|0}}return h|0}function nZ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;h=b;c=b;while(1){d=a[h>>0]|0;e=c+-1|0;f=(c|0)!=(b|0);if(!(d<<24>>24))break;g=c+1|0;switch(d<<24>>24|0){case 10:case 13:case 32:{if(f){if((a[e>>0]|0)!=32){a[c>>0]=32;c=g}}else c=b;break}default:{a[c>>0]=d;c=g}}h=h+1|0}if(f)b=(a[e>>0]|0)==32?e:c;a[b>>0]=0;return}function oZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,0,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function pZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+356>>2]|0;e=kZ(g+80|0,b,d,e)|0;do if((e|0)!=0?(f=mZ(a,g+20|0,e,24)|0,(f|0)!=0):0){d=g+92|0;b=g+96|0;if((c[f>>2]|0)==(e|0)){c[b>>2]=c[d>>2];if(!(PZ(a,f)|0)){f=0;break}}else c[d>>2]=c[b>>2]}else f=0;while(0);return f|0}function qZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[b+356>>2]|0;m=j+80|0;o=j+92|0;h=c[o>>2]|0;n=j+88|0;if((h|0)==(c[n>>2]|0))if(!((fZ(m)|0)<<24>>24))g=0;else{h=c[o>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[o>>2]=h+1;a[h>>0]=0;e=kZ(m,d,e,f)|0;if((e|0)!=0?(l=e+1|0,g=mZ(b,j+40|0,l,12)|0,(g|0)!=0):0){k=j+96|0;if((c[g>>2]|0)!=(l|0)){c[o>>2]=c[k>>2];break}h=c[o>>2]|0;c[k>>2]=h;if(a[b+236>>0]|0){d=a[l>>0]|0;i=j+60|0;b:do if(d<<24>>24==120)if((((a[e+2>>0]|0)==109?(a[e+3>>0]|0)==108:0)?(a[e+4>>0]|0)==110:0)?(a[e+5>>0]|0)==115:0){switch(a[e+6>>0]|0){case 0:{h=j+152|0;break}case 58:{h=mZ(b,i,e+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else f=0;while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[l+d>>0]|0}while(1){d=(h|0)==(c[n>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break a}h=c[o>>2]|0}j=a[l+e>>0]|0;c[o>>2]=h+1;a[h>>0]=j;e=e+1|0;h=c[o>>2]|0}if(d){if(!((fZ(m)|0)<<24>>24)){g=0;break}h=c[o>>2]|0}c[o>>2]=h+1;a[h>>0]=0;b=mZ(b,i,c[k>>2]|0,8)|0;c[g+4>>2]=b;h=c[k>>2]|0;if((c[b>>2]|0)==(h|0)){c[k>>2]=c[o>>2];break}else{c[o>>2]=h;break}}}else g=0}while(0);return g|0}function rZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((fZ(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function sZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(fZ(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+60|0;f=a+8|0;while(1){fb[c[d>>2]&31](b,h,e,g,c[f>>2]|0);if((c[h>>2]|0)==(e|0))break;if(!((fZ(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function tZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=b+12|0;m=b+20|0;l=c[n>>2]|0;i=f<<24>>24!=0;a:do if(i|(g|0)!=0){f=0;while(1){if((f|0)>=(l|0))break;if((c[(c[m>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((i?(j=b+8|0,(c[j>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[j>>2]=d;k=8}else k=8}else k=8;while(0);b:do if((k|0)==8){i=b+16|0;do if((l|0)==(c[i>>2]|0)){if(!l){c[i>>2]=8;f=pb[c[h+12>>2]&63](96)|0;c[m>>2]=f;if(!f){f=0;break b}else break}f=vb[c[h+16>>2]&127](c[m>>2]|0,l*24|0)|0;if(!f){f=0;break b}c[i>>2]=l<<1;c[m>>2]=f}else f=c[m>>2]|0;while(0);i=c[n>>2]|0;c[f+(i*12|0)>>2]=d;c[f+(i*12|0)+8>>2]=g;a[f+(i*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=i+1;f=1}while(0);return f|0}function uZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=RZ(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(b|0)!=(c[h+16>>2]|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((fZ(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function vZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+356>>2]|0;D=g+104|0;F=b+276|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(fZ(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+144|0;p=g+116|0;q=g+112|0;r=d+68|0;s=b+488|0;t=b+416|0;u=g+132|0;v=b+432|0;w=b+428|0;x=g+130|0;y=g+128|0;z=b+228|0;A=b+112|0;j=g+131|0;k=b+116|0;m=d+44|0;a:while(1){b:do switch(tb[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=39;break a}case 0:{G=41;break a}case 28:{if((a[s>>0]|0)==0?(c[o>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=kZ(t,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=mZ(b,u,g,0)|0;c[w>>2]=c[v>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=c[h+16>>2]|0;if(!g){a[i>>0]=1;g=c[h+4>>2]|0;g=vZ(b,c[z>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}e=c[A>>2]|0;if(e|0){a[j>>0]=0;a[i>>0]=1;h=(wb[e&63](c[k>>2]|0,0,c[h+20>>2]|0,g,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[j>>0]|0)break b}a[y>>0]=a[x>>0]|0;break}case 6:case 9:{if(!(sZ(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=vb[c[m>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=h_(g,C)|0;if(!h){G=30;break a}else e=0;while(1){if((e|0)>=(h|0))break;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;G=37;break a}g=c[p>>2]|0}i=a[C+e>>0]|0;c[p>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=43;break a}}while(0);if((G|0)==22){G=0;g=c[p>>2]|0;if((c[q>>2]|0)==(g|0)){if(!((fZ(D)|0)<<24>>24)){g=1;break}g=c[p>>2]|0}c[p>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[y>>0]=a[x>>0]|0;g=0}else if((G|0)==11)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+288>>2]=e;g=10}else if((G|0)==27)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==30)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=14;G=37}else{g=14;G=37}else if((G|0)==39)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=4}else g=4;else if((G|0)==41)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=c[B>>2];g=4}else g=4;else if((G|0)==43)if((c[o>>2]|0)==(d|0)){c[b+288>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function wZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+72>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+292|0;h=b+288|0}else{h=c[b+300>>2]|0;g=h+4|0}i=b+44|0;j=d+60|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];fb[c[j>>2]&31](d,n,f,o,c[k>>2]|0);c[g>>2]=c[n>>2];b=c[i>>2]|0;rb[c[m>>2]&127](c[e>>2]|0,b,(c[o>>2]|0)-b|0);c[h>>2]=c[n>>2]}while((c[n>>2]|0)!=(f|0))}else rb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function xZ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+288|0;c[i>>2]=k;h=a+292|0}else{i=c[a+300>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=tb[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;h=g<<24>>24!=0;switch(n|0){case 42:{if(c[a+80>>2]|0){wZ(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+480>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(h){c[f>>2]=k;e=0}else e=6;break}case -4:case -1:{if(h){c[f>>2]=k;e=0}else e=2;break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function yZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;if(!d){d=c[g>>2]|0;if(!d)d=0;else{c[b+280>>2]=57;d=hZ(b,d,e,f)|0}}l=h;return d|0}function zZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=c[a+356>>2]|0;k=j+184|0;f=a+12|0;if(!(c[k>>2]|0)){b=pb[c[f>>2]&63](c[a+468>>2]<<2)|0;c[k>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){i=j+176|0;b=c[i>>2]|0;g=j+172|0;d=c[g>>2]|0;h=j+164|0;e=c[h>>2]|0;if(b>>>0<d>>>0)g=e;else{if(!e){b=pb[c[f>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=vb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[h>>2]=d;b=c[i>>2]|0;g=d}c[i>>2]=b+1;d=c[j+180>>2]|0;if(d|0){a=c[(c[k>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}k=g+(b*28|0)+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0}while(0);return b|0}function AZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;q=b+304|0;f=c[q>>2]|0;if(!f){f=pb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{o=f;g=4}}else{c[q>>2]=c[f+8>>2];o=f;g=4}do if((g|0)==4){j=d+32|0;a[j>>0]=1;k=d+12|0;c[k>>2]=0;m=b+300|0;n=o+8|0;c[n>>2]=c[m>>2];c[m>>2]=o;c[o+12>>2]=d;h=c[b+312>>2]|0;c[o+16>>2]=h;a[o+20>>0]=e;c[o>>2]=0;c[o+4>>2]=0;e=c[d+4>>2]|0;i=e+(c[d+8>>2]|0)|0;f=b+228|0;g=c[f>>2]|0;if(!(a[d+33>>0]|0))f=GZ(b,h,g,e,i,p,0)|0;else{d=tb[c[g>>2]&127](g,e,i,p)|0;f=iZ(b,c[f>>2]|0,e,i,d,c[p>>2]|0,p,0)|0}if(!f){f=c[p>>2]|0;if((i|0)!=(f|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=f-e;c[b+280>>2]=60;f=0;break}a[j>>0]=0;c[m>>2]=c[n>>2];c[n>>2]=c[q>>2];c[q>>2]=o;f=0}}while(0);l=r;return f|0}function BZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+356>>2]|0;f=b+176|0;b=pb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;FZ(a,0,b,d,e)}l=g;return b|0}function CZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{wZ(a,b,d,e);d=1}else{h=b+68|0;g=d+(c[h>>2]<<1)|0;d=g+(vb[c[b+32>>2]&127](b,g)|0)|0;f=a+416|0;g=kZ(f,b,g,d)|0;if((g|0)!=0?(c[a+432>>2]=c[a+428>>2],i=vb[c[b+36>>2]&127](b,d)|0,i=kZ(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){EZ(i);rb[c[j>>2]&127](c[a+4>>2]|0,g,i);lZ(f);d=1}else d=0}return d|0}function DZ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{wZ(a,b,d,e);b=1}else{f=a+416|0;h=c[b+68>>2]|0;b=kZ(f,b,d+(h<<2)|0,e+(S(h,-3)|0)|0)|0;if(!b)b=0;else{EZ(b);lb[c[g>>2]&63](c[a+4>>2]|0,b);lZ(f);b=1}}return b|0}function EZ(b){b=b|0;var c=0,d=0,e=0,f=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{f=b;e=13;c=4;break a}default:{}}b=b+1|0}if((c|0)==4){while(1){c=f;f=f+1|0;d=b+1|0;if(e<<24>>24==13){a[c>>0]=10;b=(a[d>>0]|0)==10?b+2|0:d}else{a[c>>0]=e;b=d}e=a[b>>0]|0;if(!(e<<24>>24))break;else c=4}a[f>>0]=0}return}function FZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;k=(c[b+356>>2]|0)+164|0;h=c[k>>2]|0;m=c[h+(d*28|0)>>2]|0;c[e>>2]=m;c[e+4>>2]=c[h+(d*28|0)+4>>2];l=e+12|0;i=e+8|0;j=e+16|0;if((m|0)==4){c[i>>2]=c[g>>2];e=c[h+(d*28|0)+8>>2]|0;while(1){k=a[e>>0]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=k;if(!(a[e>>0]|0))break;else e=e+1|0}c[l>>2]=0;c[j>>2]=0}else{h=c[h+(d*28|0)+20>>2]|0;c[l>>2]=h;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);e=(c[k>>2]|0)+(d*28|0)+12|0;d=0;while(1){e=c[e>>2]|0;if(d>>>0>=h>>>0)break;FZ(b,e,(c[j>>2]|0)+(d*20|0)|0,f,g);e=(c[k>>2]|0)+(e*28|0)+24|0;d=d+1|0;h=c[l>>2]|0}c[i>>2]=0}return}function GZ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;ma=l;l=l+48|0;ja=ma+28|0;_=ma+32|0;ka=ma+24|0;Y=ma;c[ja>>2]=f;Z=c[b+356>>2]|0;if((c[b+144>>2]|0)==(e|0)){ea=b+288|0;$=b+292|0}else{$=c[b+300>>2]|0;ea=$;$=$+4|0}c[ea>>2]=f;t=e+4|0;aa=e+72|0;u=b+56|0;v=b+376|0;ba=b+48|0;ga=b+80|0;w=e+68|0;ca=b+44|0;ha=b+312|0;x=b+52|0;da=e+60|0;y=e+32|0;z=b+104|0;A=b+416|0;B=b+392|0;C=b+368|0;fa=b+60|0;ia=b+4|0;D=b+364|0;E=b+432|0;F=b+428|0;G=b+480|0;H=e+48|0;I=Z+80|0;J=Z+96|0;K=Z+92|0;L=Z+129|0;M=b+120|0;N=b+112|0;O=b+116|0;P=b+308|0;Q=Z+130|0;R=b+12|0;S=b+16|0;T=b+236|0;U=b+237|0;V=b+472|0;W=e+44|0;X=b+72|0;a:while(1){s=c[ja>>2]|0;c[_>>2]=s;s=tb[c[t>>2]&127](e,s,g,_)|0;f=c[_>>2]|0;c[$>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=136;break a}case 9:{s=c[w>>2]|0;s=(eb[c[H>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[fa>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,ka,1);break}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[w>>2]|0;j=kZ(I,e,(c[ja>>2]|0)+j|0,(c[_>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=mZ(b,Z,j,0)|0;c[K>>2]=c[J>>2];f=(k|0)!=0;if((a[L>>0]|0)!=0?(a[Q>>0]|0)==0:0){if(!f){f=c[M>>2]|0;if(f|0){rb[f&127](c[ia>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}}else{if(!f){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[N>>2]|0)){if(!(c[ga>>2]|0))break;wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}a[f>>0]=1;j=IZ(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(wb[c[N>>2]&63](c[O>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[F>>2]=c[E>>2];break}if(a[P>>0]|0){f=AZ(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[M>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[C>>2]|0;if(!f){f=pb[c[R>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=pb[c[R>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[C>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[D>>2];c[D>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;p=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=p;p=vb[c[y>>2]&127](e,p)|0;c[f+8>>2]=p;c[ha>>2]=(c[ha>>2]|0)+1;q=c[q>>2]|0;p=q+p|0;c[Y>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){fb[c[da>>2]&31](e,Y,p,ka,j+-1|0);j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((c[Y>>2]|0)==(p|0))break;k=(c[r>>2]|0)-k<<1;j=vb[c[S>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;m=j+k|0;c[r>>2]=m;c[ka>>2]=j+n;j=m}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=JZ(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[x>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else rb[f&127](c[ia>>2]|0,c[s>>2]|0,c[B>>2]|0);lZ(A);break}case 3:case 4:{s=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;s=kZ(A,e,s,s+(vb[c[y>>2]&127](e,s)|0)|0)|0;c[Y>>2]=s;if(!s){f=1;la=93;break a}c[E>>2]=c[F>>2];f=JZ(b,e,c[ja>>2]|0,Y,ka)|0;if(f|0){la=93;break a}c[E>>2]=c[F>>2];f=c[x>>2]|0;if(!f)j=1;else{rb[f&127](c[ia>>2]|0,c[Y>>2]|0,c[B>>2]|0);j=0}f=c[u>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{if(c[x>>2]|0){c[ea>>2]=c[$>>2];f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[Y>>2]|0)}lZ(A);f=c[ka>>2]|0;while(1){if(!f)break;j=c[z>>2]|0;if(j|0)lb[j&63](c[ia>>2]|0,c[c[f>>2]>>2]|0);s=c[f+4>>2]|0;c[ka>>2]=s;c[f+4>>2]=c[v>>2];c[v>>2]=f;c[(c[f>>2]|0)+4>>2]=c[f+8>>2];f=s}if(!(c[ha>>2]|0)){la=95;break a}break}case 5:{if((c[ha>>2]|0)==(d|0)){f=13;break a}o=c[D>>2]|0;c[D>>2]=c[o>>2];c[o>>2]=c[C>>2];c[C>>2]=o;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=vb[c[y>>2]&127](e,f)|0;if((j|0)!=(c[o+8>>2]|0)){la=99;break a}if(g2(c[o+4>>2]|0,f,j)|0){la=99;break a}c[ha>>2]=(c[ha>>2]|0)+-1;f=c[u>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0)}else{j=c[o+16>>2]|0;n=o+12|0;if((j|0)!=0&(a[T>>0]|0)!=0){f=(c[n>>2]|0)+(c[o+28>>2]|0)|0;while(1){k=a[j>>0]|0;m=f+1|0;if(!(k<<24>>24))break;a[f>>0]=k;f=m;j=j+1|0}j=c[o+20>>2]|0;c:do if((j|0)!=0&(a[U>>0]|0)!=0){a[f>>0]=a[V>>0]|0;f=m;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0;f=f+1|0}}while(0);a[f>>0]=0;f=c[u>>2]|0}lb[f&63](c[ia>>2]|0,c[n>>2]|0)}j=o+44|0;k=c[j>>2]|0;while(1){if(!k)break;f=c[z>>2]|0;if(!f)f=k;else{lb[f&63](c[ia>>2]|0,c[c[k>>2]>>2]|0);f=c[j>>2]|0}s=c[f+4>>2]|0;c[j>>2]=s;c[k+4>>2]=c[v>>2];c[v>>2]=k;c[(c[k>>2]|0)+4>>2]=c[k+8>>2];k=s}if(!(c[ha>>2]|0)){la=119;break a}break}case 10:{f=vb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[fa>>2]|0;if(j|0){r=c[ia>>2]|0;s=h_(f,ka)|0;rb[j&127](r,ka,s);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,c[_>>2]|0);break}case 7:{f=c[fa>>2]|0;if(f|0){a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1);break b}if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}else db[f&127](c[ia>>2]|0);f=LZ(b,e,_,g,h,i)|0;if(f|0)break a;if(!(c[_>>2]|0)){la=135;break a}break}case 6:{j=c[fa>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;wZ(b,e,c[ja>>2]|0,k);break b}if(!(a[aa>>0]|0))f=k;else{s=c[ja>>2]|0;rb[j&127](c[ia>>2]|0,s,f-s|0);break b}while(1){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,f,ka,c[ba>>2]|0);c[$>>2]=c[ja>>2];f=c[ca>>2]|0;rb[j&127](c[ia>>2]|0,f,(c[ka>>2]|0)-f|0);f=c[ja>>2]|0;if((f|0)==(c[_>>2]|0))break;c[ea>>2]=f;f=c[_>>2]|0}break}case 11:{if(!(CZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(DZ(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,k)}while(0);s=c[_>>2]|0;c[ja>>2]=s;c[ea>>2]=s;switch(c[G>>2]|0){case 2:{f=35;break a}case 3:{la=162;break a}default:{}}}switch(la|0){case 6:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[$>>2]=g;f=c[fa>>2]|0;if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;rb[f&127](c[ia>>2]|0,ka,1)}if(!j)if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ha>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[ea>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{db[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 93:break;case 95:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 99:{c[ea>>2]=f;f=7;break}case 119:{f=KZ(b,c[_>>2]|0,g,h)|0;break}case 135:{c[b+280>>2]=61;f=0;break}case 136:{j=(d|0)==0;if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[fa>>2]|0;do if(!f){if(c[ga>>2]|0)wZ(b,e,c[ja>>2]|0,g)}else if(!(a[aa>>0]|0)){c[ka>>2]=c[ca>>2];fb[c[da>>2]&31](e,ja,g,ka,c[ba>>2]|0);ja=c[ca>>2]|0;rb[c[fa>>2]&127](c[ia>>2]|0,ja,(c[ka>>2]|0)-ja|0);break}else{ka=c[ja>>2]|0;rb[f&127](c[ia>>2]|0,ka,g-ka|0);break}while(0);if(j){c[ea>>2]=g;f=3;break}if((c[ha>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[ea>>2]=g;f=13;break}}case 162:{c[h>>2]=c[_>>2];f=0;break}}l=ma;return f|0}function HZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;r=s;n=b+300|0;o=c[n>>2]|0;do if(o){p=c[o+12>>2]|0;j=p+4|0;m=c[j>>2]|0;k=p+12|0;g=m+(c[k>>2]|0)|0;m=m+(c[p+8>>2]|0)|0;q=p+33|0;h=b+228|0;i=c[h>>2]|0;if(!(a[q>>0]|0))g=GZ(b,c[o+16>>2]|0,i,g,m,r,0)|0;else{i=tb[c[i>>2]&127](i,g,m,r)|0;g=iZ(b,c[h>>2]|0,g,m,i,c[r>>2]|0,r,0)|0}if(!g){g=c[r>>2]|0;if((m|0)!=(g|0)?(c[b+480>>2]|0)==3:0){c[k>>2]=g-(c[j>>2]|0);g=0;break}a[p+32>>0]=0;h=o+8|0;c[n>>2]=c[h>>2];g=b+304|0;c[h>>2]=c[g>>2];c[g>>2]=o;g=b+280|0;h=b+144|0;i=c[h>>2]|0;if(!(a[q>>0]|0)){c[g>>2]=58;g=GZ(b,(c[b+476>>2]|0)!=0&1,i,d,e,f,(a[b+484>>0]|0)==0&1)|0;break}else{c[g>>2]=57;g=tb[c[i>>2]&127](i,d,e,r)|0;g=iZ(b,c[h>>2]|0,d,e,g,c[r>>2]|0,f,(a[b+484>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=s;return g|0}function IZ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;k=p;i=c[b+356>>2]|0;g=i+156|0;j=b+472|0;n=b+416|0;o=b+428|0;m=b+424|0;a:do if(!(c[g>>2]|0)){d=0;h=11}else{d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;e=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[g>>2]|0)+20>>2]|0)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;h=11;break a}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break a}d=c[o>>2]|0}q=a[(c[(c[g>>2]|0)+16>>2]|0)+f>>0]|0;c[o>>2]=d+1;a[d>>0]=q;f=f+1|0}}while(0);b:do if((h|0)==11){aZ(k,i+60|0);c:while(1){do{e=bZ(k)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[o>>2]|0;f=(d|0)==(c[m>>2]|0);if(!(e<<24>>24))break;if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[g>>0]|0}c[o>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=61;f=(((a[j>>0]|0)!=0)<<31>>31)+(c[(c[h>>2]|0)+20>>2]|0)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}q=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[o>>2]=d+1;a[d>>0]=q;e=e+1|0}}aZ(k,i);d:while(1){do{e=bZ(k)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break b}d=c[o>>2]|0;e=a[f>>0]|0}c[o>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[o>>2]|0;if((d|0)==(c[m>>2]|0)){if(!((fZ(n)|0)<<24>>24)){d=0;break}d=c[o>>2]|0}c[o>>2]=d+1;a[d>>0]=0;d=c[b+432>>2]|0}while(0);l=p;return d|0}function JZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=c[b+356>>2]|0;k=L+20|0;i=mZ(b,k,c[g>>2]|0,0)|0;K=b+236|0;if(!i){i=eZ(L+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=mZ(b,k,i,24)|0,(j|0)!=0):0)if((a[K>>0]|0)!=0?(PZ(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){w=c[j+12>>2]|0;l=e+40|0;i=b+380|0;s=b+392|0;t=tb[c[l>>2]&127](e,f,c[i>>2]|0,c[s>>2]|0)|0;k=t+w|0;m=c[i>>2]|0;z=b+16|0;if((k|0)>(m|0)){J=k+16|0;c[i>>2]=J;i=vb[c[z>>2]&127](c[s>>2]|0,J<<4)|0;if(!i){i=1;break}c[s>>2]=i;if((t|0)>(m|0))tb[c[l>>2]&127](e,f,t,i)|0}J=c[s>>2]|0;v=j+20|0;G=b+416|0;H=b+432|0;I=b+428|0;q=e+32|0;r=0;p=0;k=0;while(1){if((p|0)>=(t|0))break;o=c[(c[s>>2]|0)+(p<<4)>>2]|0;o=qZ(b,e,o,o+(vb[c[q>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=14;break}a[i>>0]=1;c[J+(r<<2)>>2]=c[o>>2];F=c[s>>2]|0;n=J+(r+1<<2)|0;m=F+(p<<4)+4|0;f=F+(p<<4)+8|0;if(a[F+(p<<4)+12>>0]|0){F=kZ(G,e,c[m>>2]|0,c[f>>2]|0)|0;c[n>>2]=F;if(!F){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(w|0)){i=1;break b}l=c[v>>2]|0;if((o|0)==(c[l+(i*12|0)>>2]|0))break;i=i+1|0}i=a[l+(i*12|0)+4>>0]|0}while(0);i=uZ(b,e,i,c[m>>2]|0,c[f>>2]|0,G)|0;if(i|0)break a;c[n>>2]=c[H>>2]}c[H>>2]=c[I>>2];l=c[o+4>>2]|0;i=r+2|0;do if(l)if(a[o+9>>0]|0){i=QZ(b,l,o,c[n>>2]|0,h)|0;if(!i){i=r;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;break}while(0);r=i;p=p+1|0}if((A|0)==14){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+288>>2]=c[(c[s>>2]|0)+(p<<4)>>2];i=8;break}c[b+384>>2]=r;i=c[j+8>>2]|0;c:do if((i|0)!=0?(u=c[i>>2]|0,(a[u+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(r|0)){p=0;q=k;E=r;break c}if((c[J+(i<<2)>>2]|0)==(u|0)){A=35;break c}i=i+2|0}}else{i=-1;A=35}while(0);if((A|0)==35){c[b+388>>2]=i;p=0;q=k;E=r}while(1){n=J+(E<<2)|0;if((p|0)>=(w|0))break;i=c[v>>2]|0;o=i+(p*12|0)|0;l=c[o>>2]|0;m=(c[l>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(x=i+(p*12|0)+8|0,y=c[x>>2]|0,(y|0)!=0):0){k=c[l+4>>2]|0;i=E+2|0;f=J+(E+1<<2)|0;do if(k)if(a[l+9>>0]|0){i=QZ(b,k,l,y,h)|0;if(!i){k=q;i=E;break d}else break a}else{a[m>>0]=2;k=q+1|0;break}else{a[m>>0]=1;k=q}while(0);c[n>>2]=c[c[o>>2]>>2];c[f>>2]=c[x>>2]}else{k=q;i=E}while(0);p=p+1|0;q=k;E=i}c[n>>2]=0;F=b+472|0;D=b+237|0;e:do if(!q)i=0;else{m=b+400|0;l=c[m>>2]|0;B=b+404|0;i=a[B>>0]|0;k=i&255;C=b+396|0;if(!(q<<1>>k)){i=1<<k;if(!l){k=i;A=52}else{k=i;i=l}}else{do{A=i;i=i+1<<24>>24}while((q>>(A&255)|0)!=0);k=(i&255)>3?i:3;a[B>>0]=k;k=k&255;i=vb[c[z>>2]&127](c[C>>2]|0,12<<k)|0;if(!i){i=1;break a}c[C>>2]=i;k=1<<k;A=52}f:do if((A|0)==52){i=k;while(1){if(!i){i=-1;break f}A=i+-1|0;c[(c[C>>2]|0)+(A*12|0)>>2]=-1;i=A}}while(0);A=i+-1|0;c[m>>2]=A;u=b+496|0;v=L+40|0;w=b+424|0;x=k+-1|0;y=0-k|0;z=x>>>2;i=0;e=q;do{while(1){if((i|0)>=(E|0))break e;t=J+(i<<2)|0;p=c[t>>2]|0;l=p+-1|0;if((a[l>>0]|0)==2)break;a[l>>0]=0;i=i+2|0}m=c[u>>2]|0;a[l>>0]=0;s=c[(c[(mZ(b,v,p,0)|0)+4>>2]|0)+4>>2]|0;if(!s){i=27;break a}n=s+20|0;o=s+16|0;q=m;m=0;while(1){if((m|0)>=(c[n>>2]|0)){l=p;break}f=a[(c[o>>2]|0)+m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}c[I>>2]=l+1;a[l>>0]=f;q=f&255^q*1000003;m=m+1|0}while(1){m=l+1|0;if((a[l>>0]|0)==58)break;else l=m}while(1){n=a[m>>0]|0;l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0;f=a[m>>0]|0}else f=n;c[I>>2]=l+1;a[l>>0]=f;q=n&255^q*1000003;if(!(a[m>>0]|0))break;else m=m+1|0}o=c[C>>2]|0;p=q&y;l=0;r=q&x;while(1){if((c[o+(r*12|0)>>2]|0)!=(A|0))break;if((q|0)==(c[o+(r*12|0)+4>>2]|0)){m=c[o+(r*12|0)+8>>2]|0;f=c[H>>2]|0;while(1){M=a[f>>0]|0;n=M<<24>>24==0;if(n|M<<24>>24!=(a[m>>0]|0))break;m=m+1|0;f=f+1|0}if(n){i=8;break a}}if(!(l<<24>>24))l=(p>>>((d[B>>0]|0)+-1|0)&z|1)&255;M=l&255;r=r+((r|0)<(M|0)?k:0)-M|0}if(a[D>>0]|0){a[(c[I>>2]|0)+-1>>0]=a[F>>0]|0;m=c[c[s>>2]>>2]|0;while(1){l=c[I>>2]|0;if((l|0)==(c[w>>2]|0)){if(!((fZ(G)|0)<<24>>24)){i=1;break a}l=c[I>>2]|0}M=a[m>>0]|0;c[I>>2]=l+1;a[l>>0]=M;if(!(a[m>>0]|0))break;else m=m+1|0}}s=c[H>>2]|0;c[H>>2]=c[I>>2];c[t>>2]=s;M=c[C>>2]|0;c[M+(r*12|0)>>2]=A;c[M+(r*12|0)+4>>2]=q;c[M+(r*12|0)+8>>2]=s;e=e+-1|0;i=i+2|0}while((e|0)!=0)}while(0);while(1){if((i|0)>=(E|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[K>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[L+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}m=c[c[i>>2]>>2]|0;if((a[D>>0]|0)==0|(m|0)==0)l=0;else{j=0;while(1){l=j+1|0;if(!(a[m+j>>0]|0))break;else j=l}}c[g+4>>2]=k;o=i+20|0;j=c[o>>2]|0;c[g+16>>2]=j;c[g+8>>2]=m;c[g+20>>2]=l;p=0;while(1){q=p+1|0;if(!(a[k+p>>0]|0))break;else p=q}m=j+l+q|0;f=i+24|0;r=i+16|0;if((m|0)>(c[f>>2]|0)){j=m+24|0;m=pb[c[b+12>>2]&63](j)|0;if(!m){i=1;break}c[f>>2]=j;B6(m|0,c[r>>2]|0,c[o>>2]|0)|0;n=c[r>>2]|0;j=b+364|0;while(1){j=c[j>>2]|0;if(!j)break;f=j+12|0;if((c[f>>2]|0)==(n|0))c[f>>2]=m}db[c[b+20>>2]&127](n);c[r>>2]=m;j=c[o>>2]|0}else m=c[r>>2]|0;j=m+j|0;B6(j|0,k|0,q|0)|0;if(l|0){M=j+p|0;a[M>>0]=a[F>>0]|0;B6(M+1|0,c[c[i>>2]>>2]|0,l|0)|0}c[g>>2]=c[r>>2];i=0}}while(0);return i|0}function KZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+280>>2]=62;k=b+288|0;c[k>>2]=d;m=b+144|0;n=b+292|0;o=b+80|0;i=b+480|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=tb[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)wZ(b,c[m>>2]|0,g,h);break}case 11:{if(!(CZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(DZ(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){wZ(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+484>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function LZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+288|0;c[s>>2]=i;t=b+292|0}else{t=c[b+300>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;m=d+8|0;u=b+4|0;v=b+80|0;n=b+60|0;w=b+480|0;o=d+72|0;p=b+44|0;q=d+60|0;r=b+48|0;a:while(1){k=tb[c[m>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;j=i;b:do switch(k|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[n>>2]|0;if(i|0){a[x>>0]=10;rb[i&127](c[u>>2]|0,x,1);break b}if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j);break}case 6:{k=c[n>>2]|0;if(!k){if(!(c[v>>2]|0))break b;wZ(b,d,c[y>>2]|0,j);break b}if(!(a[o>>0]|0))i=j;else{j=c[y>>2]|0;rb[k&127](c[u>>2]|0,j,i-j|0);break b}while(1){c[x>>2]=c[p>>2];fb[c[q>>2]&31](d,y,i,x,c[r>>2]|0);c[t>>2]=c[z>>2];i=c[p>>2]|0;rb[k&127](c[u>>2]|0,i,(c[x>>2]|0)-i|0);i=c[y>>2]|0;if((i|0)==(c[z>>2]|0))break;c[s>>2]=i;i=c[z>>2]|0}break}default:{A=28;break a}}while(0);k=c[z>>2]|0;c[y>>2]=k;c[s>>2]=k;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[v>>2]|0)wZ(b,d,c[y>>2]|0,j)}else db[i&127](c[u>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function MZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=LZ(b,c[b+144>>2]|0,g,e,f,(a[b+484>>0]|0)==0&1)|0;do if(!d){d=c[g>>2]|0;if(d){g=b+280|0;if(!(c[b+476>>2]|0)){c[g>>2]=58;d=oZ(b,d,e,f)|0;break}else{c[g>>2]=63;d=NZ(b,d,e,f)|0;break}}else d=0}while(0);l=h;return d|0}function NZ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=GZ(b,1,c[b+144>>2]|0,d,e,f,(a[b+484>>0]|0)==0&1)|0;if((d|0)==0?(OZ(b)|0)<<24>>24==0:0)d=1;return d|0}function OZ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+364|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=vb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}B6(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function PZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+356>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((fZ(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=mZ(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function QZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=c[d>>2]|0;i=(h|0)!=0;a:do if((a[f>>0]|0)!=0|i^1){b:do if(((i?(a[h>>0]|0)==120:0)?(a[h+1>>0]|0)==109:0)?(a[h+2>>0]|0)==108:0){switch(a[h+3>>0]|0){case 110:break;case 0:{m=1;break b}default:{m=0;break b}}if((a[h+4>>0]|0)==115?(a[h+5>>0]|0)==0:0){h=39;break a}else m=0}else m=0;while(0);n=m<<24>>24!=0;l=1;h=1;i=0;c:while(1){p=n|l^1;while(1){k=a[f+i>>0]|0;j=h<<24>>24!=0;o=i+1|0;if(!(k<<24>>24))break c;do if(j){if((i|0)<=36?k<<24>>24==(a[142560+i>>0]|0):0)break;h=0}else h=0;while(0);if(p){i=o;continue}if((i|0)>29){l=0;i=o;continue c}if(k<<24>>24==(a[142597+i>>0]|0))i=o;else{l=0;i=o;continue c}}}if((m&255|0)!=(j&(i|0)==36&1|0)){h=n?38:40;break}if(!(l&(i|0)==29)){p=b+472|0;n=(a[p>>0]|0)==0?i:o;h=b+376|0;j=c[h>>2]|0;m=n+24|0;do if(!j){h=b+12|0;i=pb[c[h>>2]&63](28)|0;if(!i){h=1;break a}o=pb[c[h>>2]&63](m)|0;c[i+16>>2]=o;if(!o){db[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=m;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=vb[c[b+16>>2]&127](c[k>>2]|0,m)|0;if(!l){h=1;break a}c[k>>2]=l;c[i>>2]=m}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;B6(c[i>>2]|0,f|0,n|0)|0;h=a[p>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+356>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(q=c[b+100>>2]|0,(q|0)!=0):0){rb[q&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}else h=28;while(0);return h|0}function RZ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+356>>2]|0;o=d+16|0;p=d+68|0;q=b+144|0;r=h+16|0;s=h+8|0;t=h+12|0;v=b+288|0;w=d+44|0;x=e<<24>>24==0;y=d+48|0;z=b+440|0;A=b+456|0;B=b+452|0;C=(K+80|0)==(h|0);D=K+130|0;E=K+129|0;F=b+272|0;G=b+300|0;H=b+228|0;i=0;a:while(1){b:while(1){switch(tb[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=63;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=23;break b}case -3:{n=24;break b}case 7:case 39:{n=25;break b}case 10:{j=vb[c[w>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;j=1;i=14}else{j=1;i=14}else{if(x&(j|0)==32){k=c[t>>2]|0;if((k|0)==(c[r>>2]|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=h_(j,J)|0;if(!m){if((c[q>>2]|0)!=(d|0)){j=1;i=14;break}c[v>>2]=f;j=1;i=14;break}else k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[p>>2]|0;j=(eb[c[y>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=33;break b}j=c[p>>2]|0;j=kZ(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=63;break a}m=mZ(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[F>>2]|0))if(!m)break b;else break;if(!(a[D>>0]|0)){j=(m|0)!=0;if(!(a[E>>0]|0)){n=47;break}else{u=j;n=49;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=47;break}else{u=j;n=49;break}}}else if(!(a[E>>0]|0))if(!m){i=11;n=63;break a}else{n=48;break}else{j=(m|0)!=0;if(!(a[D>>0]|0)){u=j;n=49;break}else{n=47;break}}while(0);if((n|0)==47)if(j)n=48;else{i=11;n=63;break a}else if((n|0)==49?(n=0,!u):0)break b;if((n|0)==48?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=63;break a}k=m+32|0;if(a[k>>0]|0){n=51;break a}if(c[m+28>>2]|0){n=54;break a}j=c[m+4>>2]|0;if(!j){n=57;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=RZ(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=60;break a}}if(j)break a}if((n|0)==23){n=0;if(!(sZ(h,d,f,c[I>>2]|0)|0)){i=1;n=63;break}}else if((n|0)==24){c[I>>2]=f+(c[p>>2]|0);n=25}else if((n|0)==33){n=0;f=c[t>>2]|0;if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==25){n=0;f=c[t>>2]|0;if(x){if((f|0)==(c[r>>2]|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[s>>2]|0)){if(!((fZ(h)|0)<<24>>24)){i=1;n=63;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[v>>2]=c[I>>2];i=4;n=63}else{i=4;n=63}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=4;n=63}else{i=4;n=63}else if((n|0)==51)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=12;n=63}else{i=12;n=63}else if((n|0)==54)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=15;n=63}else{i=15;n=63}else if((n|0)==57)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=16;n=63}else{i=16;n=63}else if((n|0)==60)if((c[q>>2]|0)==(d|0)){c[v>>2]=f;i=23;n=63}else{i=23;n=63}l=L;return i|0}function SZ(b,d){b=b|0;d=d|0;var e=0;e=c[b+496>>2]|0;b=d;while(1){d=a[b>>0]|0;if(!(d<<24>>24))break;e=d&255^e*1000003;b=b+1|0}return e|0}function TZ(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function UZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(eb[f&63](c[b+248>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=i_()|0;e=pb[f&63](e)|0;c[b+240>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{db[e&127](c[j>>2]|0);e=1}}else{e=tb[(a[b+236>>0]<<24>>24?64:65)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+244>>2]=c[j>>2];c[b+252>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)db[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function VZ(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function WZ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+356>>2]|0;m=b+416|0;n=b+428|0;o=b+424|0;p=b+432|0;q=l+152|0;r=b+372|0;j=l+60|0;k=l+80|0;a:while(1){g=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}e=a[g>>0]|0;h=g+1|0;switch(e<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}f=c[n>>2]|0;if((f|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break a}f=c[n>>2]|0;e=a[g>>0]|0}c[n>>2]=f+1;a[f>>0]=e;g=h}if((s|0)==5){s=0;d=c[n>>2]|0;if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;d=mZ(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[g>>0]|0)==0?g:h;c[n>>2]=c[p>>2];continue}d=c[n>>2]|0;if((d|0)==(c[p>>2]|0))f=q;else{if((d|0)==(c[o>>2]|0)){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;f=mZ(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=eZ(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[n>>2]=d}c:while(1){e=a[h>>0]|0;g=(d|0)==(c[o>>2]|0);i=h+1|0;switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break a}d=c[n>>2]|0;e=a[h>>0]|0}c[n>>2]=d+1;a[d>>0]=e;h=i;d=c[n>>2]|0}if(g){if(!((fZ(m)|0)<<24>>24)){d=0;break}d=c[n>>2]|0}c[n>>2]=d+1;a[d>>0]=0;if(QZ(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[n>>2]=c[p>>2];d=(a[h>>0]|0)==0?h:i}return d|0}function XZ(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=(c[d>>2]|0)==(c[a>>2]|0);c[a>>2]=b;if(e)c[d>>2]=b;return}function YZ(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=b;c[a+56>>2]=d;return}function ZZ(a,b){a=a|0;b=b|0;c[a+60>>2]=b;return}function _Z(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+480|0;j=b+284|0;switch(c[i>>2]|0){case 3:{c[j>>2]=33;g=0;break}case 2:{c[j>>2]=36;g=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[j>>2]=1;g=0}else h=7;break}default:h=7}a:do if((h|0)==7){c[i>>2]=1;if(e|0){g=b_(b,e)|0;if(!g){g=0;break}B6(g|0,d|0,e|0)|0;g=c_(b,e,f)|0;break}a[b+484>>0]=f;if(!f)g=1;else{g=b+24|0;f=c[g>>2]|0;d=b+296|0;c[d>>2]=f;h=c[b+28>>2]|0;c[b+40>>2]=h;e=b+280|0;h=tb[c[e>>2]&127](b,f,h,g)|0;c[j>>2]=h;if(h|0){c[b+292>>2]=c[b+288>>2];c[e>>2]=66;g=0;break}switch(c[i>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+52>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+408|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[i>>2]=2;g=1;break a}default:{g=1;break a}}}}while(0);return g|0}function $Z(b){b=b|0;var d=0;d=b+496|0;if(!(c[d>>2]|0))c[d>>2]=d_()|0;if(!(a[b+236>>0]|0))b=1;else b=WZ(b,142627)|0;return b|0}function a_(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+284>>2]|0}function b_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=a+284|0;a:do switch(c[a+480>>2]|0){case 3:{c[l>>2]=33;d=0;break}case 2:{c[l>>2]=36;d=0;break}default:{m=a+32|0;k=c[m>>2]|0;p=a+28|0;e=c[p>>2]|0;d=e;if((k-e|0)<(b|0)){q=a+24|0;j=c[q>>2]|0;f=e-j|0;o=a+8|0;g=c[o>>2]|0;r=g;h=j-r|0;i=(h|0)>1024;e=i?1024:h;b=f+b+e|0;do if((b|0)>(k-r|0)){d=k-j|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(b|0));e=pb[c[a+12>>2]&63](d)|0;if(!e){c[l>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[q>>2]|0;b=d;f=(c[p>>2]|0)-b|0;if(!d){d=e+f|0;c[p>>2]=d;c[o>>2]=e;n=14;break}else{n=b-(c[o>>2]|0)|0;n=(n|0)<1024?n:1024;B6(e|0,d+(0-n)|0,n+f|0)|0;db[c[a+20>>2]&127](c[o>>2]|0);c[o>>2]=e;d=e+((c[p>>2]|0)-(c[q>>2]|0))+n|0;c[p>>2]=d;e=e+n|0;n=14;break}}else if(i){d=h-e|0;I6(g|0,g+d|0,e+f|0)|0;e=0-d|0;d=(c[p>>2]|0)+e|0;c[p>>2]=d;e=(c[q>>2]|0)+e|0;n=14}while(0);if((n|0)==14)c[q>>2]=e;c[a+292>>2]=0;c[a+288>>2]=0;c[a+296>>2]=0}}}while(0);return d|0}function c_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=b+480|0;i=b+284|0;switch(c[h>>2]|0){case 3:{c[i>>2]=33;d=0;break}case 2:{c[i>>2]=36;d=0;break}case 0:{if((c[b+476>>2]|0)==0?($Z(b)|0)<<24>>24==0:0){c[i>>2]=1;d=0}else f=7;break}default:f=7}a:do if((f|0)==7){c[h>>2]=1;f=b+24|0;k=c[f>>2]|0;g=b+296|0;c[g>>2]=k;l=b+28|0;j=(c[l>>2]|0)+d|0;c[l>>2]=j;c[b+40>>2]=j;l=b+36|0;c[l>>2]=(c[l>>2]|0)+d;a[b+484>>0]=e;d=b+280|0;j=tb[c[d>>2]&127](b,k,j,f)|0;c[i>>2]=j;if(j|0){c[b+292>>2]=c[b+288>>2];c[d>>2]=66;d=0;break}switch(c[h>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[h>>2]=2;d=1;break a}break}default:d=1}l=c[b+144>>2]|0;xb[c[l+52>>2]&31](l,c[g>>2]|0,c[f>>2]|0,b+408|0);c[g>>2]=c[f>>2]}while(0);return d|0}function d_(){var a=0;a=Ya(0)|0;T4(((a|0)==-1&1)+a|0);return U4()|0}function e_(a){a=a|0;return c[a+284>>2]|0}function f_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+288|0;d=c[b>>2]|0;e=a+408|0;if(d|0?(f=a+296|0,g=c[f>>2]|0,d>>>0>=g>>>0):0){a=c[a+144>>2]|0;xb[c[a+52>>2]&31](a,g,d,e);c[f>>2]=c[b>>2]}return (c[e>>2]|0)+1|0}function g_(a){a=a|0;if((a+-1|0)>>>0<40)a=c[56636+(a<<2)>>2]|0;else a=0;return a|0}function h_(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;d=1;break}h=c+1|0;d=b>>>6;e=(b&63|128)&255;if((b|0)<2048){a[c>>0]=d|192;a[h>>0]=e;d=2;break}f=b>>>12;g=c+2|0;d=(d&63|128)&255;if((b|0)<65536){a[c>>0]=f|224;a[h>>0]=d;a[g>>0]=e;d=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[h>>0]=f&63|128;a[g>>0]=d;a[c+3>>0]=e;d=4}else d=0}else d=0;while(0);return d|0}function i_(){return 1912}function j_(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=0;while(1){if((i|0)==368){i=0;break}a[e+i>>0]=a[56800+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56876+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){t=e+376|0;m=e+888|0;n=e+76|0;l=0;while(1){if((l|0)>=256)break;o=c[f+(l<<2)>>2]|0;p=t+(l<<1)|0;q=m+(l<<2)|0;r=m+(l<<2)+1|0;s=n+l|0;do if((o|0)==-1){a[s>>0]=1;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0}else{if((o|0)<0){if((o|0)<-4){e=0;break b}a[s>>0]=3-o;a[q>>0]=0;b[p>>1]=0;break}if((o|0)<128){i=a[56876+o>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((o|0)!=(l|0)){e=0;break b}}a[s>>0]=i;a[q>>0]=1;a[r>>0]=o;b[p>>1]=(o|0)==0?-1:o&65535;break}if((k_(o)|0)<0){a[s>>0]=0;b[p>>1]=-1;a[q>>0]=1;a[r>>0]=0;break}if((o|0)>65535){e=0;break b}i=o>>>8;j=o>>>5&7;k=1<<(o&31);if(!(c[57168+((d[143937+i>>0]<<3|j)<<2)>>2]&k))i=c[57168+((d[144193+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else i=22;a[s>>0]=i;a[q>>0]=h_(o,r)|0;b[p>>1]=o}while(0);l=l+1|0}c[e+372>>2]=h;c[e+368>>2]=g;if(g|0){c[e+332>>2]=108;c[e+336>>2]=108;c[e+340>>2]=108;c[e+344>>2]=109;c[e+348>>2]=109;c[e+352>>2]=109;c[e+356>>2]=110;c[e+360>>2]=110;c[e+364>>2]=110}c[e+60>>2]=18;c[e+64>>2]=19}while(0);return e|0}function k_(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56876+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function l_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[144193+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function m_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[57168+(((d[143937+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function n_(a,b){a=a|0;b=b|0;a=vb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(k_(a)|0)<0;return a&1|0}function o_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+368|0;o=b+888|0;p=b+372|0;k=b+76|0;a:while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;r=d[j>>0]|0;i=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=h_(vb[c[n>>2]&127](c[p>>2]|0,j)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0))break;j=c[e>>2]|0;i=m;j=j+((d[k+(d[j>>0]|0)>>0]|0)+-3)|0}else{if((b|0)>(h-(c[g>>2]|0)|0))break;j=j+1|0}c[e>>2]=j;while(1){j=a[i>>0]|0;r=c[g>>2]|0;c[g>>2]=r+1;a[r>>0]=j;b=b+-1|0;if(!b)continue a;else i=i+1|0}}l=q;return}function p_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=a+376|0;m=a+368|0;n=a+372|0;k=a+76|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;a=b[l+((d[i>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(vb[c[m>>2]&127](c[n>>2]|0,i)|0)&65535;i=c[e>>2]|0;j=(d[k+(d[i>>0]|0)>>0]|0)+-3|0}else j=1;c[e>>2]=i+j;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=a}return}function q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)==(f|0))h=-4;else{q=b+76|0;i=e+1|0;l=b+332|0;m=f;h=(i|0)==(f|0);n=b+340|0;o=b+336|0;k=e+2|0;j=m-e|0;do switch(a[q+(d[e>>0]|0)>>0]|0){case 12:{h=S_(12,b,i,f,g)|0;break a}case 13:{h=S_(13,b,i,f,g)|0;break a}case 2:{if(h){h=-1;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 16:{h=T_(b,k,f,g)|0;break a}case 15:{h=O_(b,k,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=i;h=0;break a}}}case 9:{if(h){c[g>>2]=f;h=-15;break a}else p=13;break}case 10:case 21:{p=13;break}case 30:{h=I_(b,i,f,g)|0;break a}case 35:{c[g>>2]=i;h=38;break a}case 20:{c[g>>2]=i;h=25;break a}case 4:{if(h){h=-26;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){h=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=i;h=23;break a}case 32:{if(h){h=-24;break a}switch(a[q+(d[i>>0]|0)>>0]|0){case 33:{c[g>>2]=k;h=36;break a}case 15:{c[g>>2]=k;h=35;break a}case 34:{c[g>>2]=k;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=i;h=24;break a}default:{c[g>>2]=i;h=0;break a}}}case 36:{c[g>>2]=i;h=21;break a}case 11:{c[g>>2]=i;h=17;break a}case 19:{h=U_(b,i,f,g)|0;break a}case 5:{if((j|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0))if(!(vb[c[l>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=k}else{h=18;i=k}break}case 6:{if((j|0)<3){h=-2;break a}i=e+3|0;if(!(vb[c[b+348>>2]&127](b,e)|0))if(!(vb[c[o>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 7:{if((j|0)<4){h=-2;break a}i=e+4|0;if(!(vb[c[b+352>>2]&127](b,e)|0))if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=19;else h=18;break}case 24:case 22:{h=18;break}case 23:case 27:case 26:case 25:{h=19;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((p|0)==13){b:while(1){h=e;e=e+1|0;if((e|0)==(f|0)){p=17;break}switch(a[q+(d[e>>0]|0)>>0]|0){case 10:case 21:{p=13;continue b}case 9:break;default:{p=16;break b}}if((h+2|0)==(f|0)){p=16;break}else p=13}if((p|0)==16){c[g>>2]=e;h=15;break}else if((p|0)==17){c[g>>2]=f;h=15;break}}c:while(1){if((i|0)==(f|0)){p=96;break}j=i+1|0;e=m-i|0;switch(a[q+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{p=h;i=j;h=p;continue c}case 29:{p=54;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{p=67;break c}case 34:{p=86;break c}case 33:{p=89;break c}case 15:{p=92;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){p=57;break c}p=h;i=i+2|0;h=p;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,i)|0)){p=61;break c}p=h;i=i+3|0;h=p;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,i)|0)){p=65;break c}p=h;i=i+4|0;h=p;continue c}case 23:{switch(h&63){case 18:break;case 41:{h=19;i=j;continue c}default:{p=h;i=j;h=p;continue c}}if((j|0)==(f|0)){h=-1;break a}h=m-j|0;switch(a[q+(d[j>>0]|0)>>0]|0){case 29:{p=71;break c}case 27:case 26:case 25:case 24:case 22:{h=41;i=i+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){p=75;break c}h=41;i=i+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[o>>2]&127](b,j)|0)){p=79;break c}h=41;i=i+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){p=83;break c}h=41;i=i+5|0;continue c}default:{h=19;i=j;continue c}}}default:{p=95;break c}}}switch(p|0){case 54:{c[g>>2]=i;h=0;break a}case 57:{c[g>>2]=i;h=0;break a}case 61:{c[g>>2]=i;h=0;break a}case 65:{c[g>>2]=i;h=0;break a}case 67:{c[g>>2]=i;break a}case 71:{c[g>>2]=j;h=0;break a}case 75:{c[g>>2]=j;h=0;break a}case 79:{c[g>>2]=j;h=0;break a}case 83:{c[g>>2]=j;h=0;break a}case 86:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=32;break a}case 89:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=31;break a}case 92:if((h|0)==19){c[g>>2]=i;h=0;break a}else{c[g>>2]=j;h=30;break a}case 95:{c[g>>2]=i;h=0;break a}case 96:{h=0-h|0;break a}}}while(0);return h|0}function r_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=e+2|0;k=(i|0)==(f|0);b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 2:{e=L_(b,i,f,g)|0;break a}case 3:{e=H_(b,i,f,g)|0;break a}case 9:{if(k){e=-3;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?j:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 4:{if(k){e=-5;break a}if((a[i>>0]|0)==93){if((j|0)==(f|0)){e=-5;break a}if((a[j>>0]|0)==62){c[g>>2]=j;e=0;break a}}break}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=j;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=44;break}j=i+2|0;e=i+1|0;h=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=43;break c}case 5:{if((h|0)<2){h=29;break c}if(!(vb[c[l>>2]&127](b,i)|0)){i=j;continue c}else{h=29;break c}}case 6:{if((h|0)<3){h=32;break c}if(vb[c[n>>2]&127](b,i)|0){h=32;break c}i=i+3|0;continue c}case 7:{if((h|0)<4){h=36;break c}if(vb[c[o>>2]&127](b,i)|0){h=36;break c}i=i+4|0;continue c}case 4:{if((e|0)==(f|0)){h=43;break c}if((a[e>>0]|0)!=93){i=e;continue c}if((j|0)==(f|0)){h=43;break c}if((a[j>>0]|0)==62){h=42;break c}else{i=e;continue c}}default:{i=e;continue c}}}if((h|0)==29){c[g>>2]=i;e=6;break}else if((h|0)==32){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=i;e=6;break}else if((h|0)==42){c[g>>2]=j;e=0;break}else if((h|0)==43){c[g>>2]=i;e=6;break}else if((h|0)==44){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0}\nfunction s_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){p=b+76|0;l=b+356|0;m=f;n=b+360|0;i=e+1|0;o=b+364|0;h=m-e|0;j=(i|0)==(f|0);k=e+2|0;b:do switch(a[p+(d[e>>0]|0)>>0]|0){case 4:{if(j){e=-1;break a}if((a[i>>0]|0)==93){if((k|0)==(f|0)){e=-1;break a}if((a[k>>0]|0)==62){c[g>>2]=e+3;e=40;break a}}break}case 9:{if(j){e=-1;break a}c[g>>2]=(a[p+(d[i>>0]|0)>>0]|0)==10?k:i;e=7;break a}case 10:{c[g>>2]=i;e=7;break a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[l>>2]&127](b,e)|0))i=k;else{c[g>>2]=e;e=0;break a}break}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;e=0;break a}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;e=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;e=0;break a}default:{}}while(0);c:while(1){if((i|0)==(f|0)){h=36;break}e=m-i|0;switch(a[p+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{h=34;break c}case 5:{if((e|0)<2){h=27;break c}if(!(vb[c[l>>2]&127](b,i)|0))e=2;else{h=27;break c}break}case 6:{if((e|0)<3){h=30;break c}if(!(vb[c[n>>2]&127](b,i)|0))e=3;else{h=30;break c}break}case 7:{if((e|0)<4){h=33;break c}if(!(vb[c[o>>2]&127](b,i)|0))e=4;else{h=33;break c}break}default:e=1}i=i+e|0}if((h|0)==27){c[g>>2]=i;e=6;break}else if((h|0)==30){c[g>>2]=i;e=6;break}else if((h|0)==33){c[g>>2]=i;e=6;break}else if((h|0)==34){c[g>>2]=i;e=6;break}else if((h|0)==36){c[g>>2]=f;e=6;break}}else e=-4;while(0);return e|0}function t_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;o=b+76|0;p=f;q=b+356|0;r=b+360|0;s=b+364|0;n=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=e+1|0;i=e+2|0;j=(i|0)==(f|0);k=e+3|0;l=p-e|0;m=(h|0)==(f|0);switch(a[o+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{t=14;break a}case 5:{if((l|0)<2){e=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){m=n;e=i;n=m;continue a}else{t=6;break a}}case 6:{if((l|0)<3){e=-2;break a}if(!(vb[c[r>>2]&127](b,e)|0)){m=n;e=k;n=m;continue a}else{t=9;break a}}case 7:{if((l|0)<4){e=-2;break a}if(vb[c[s>>2]&127](b,e)|0){t=12;break a}m=n;e=e+4|0;n=m;continue a}case 2:{if(m){e=-1;break a}if((a[h>>0]|0)!=33){m=n;e=h;n=m;continue a}if(j){e=-1;break a}e=(a[i>>0]|0)==91;n=(e&1)+n|0;e=e?k:i;continue a}case 4:{if(m){e=-1;break a}if((a[h>>0]|0)!=93){m=n;e=h;n=m;continue a}if(j){e=-1;break a}if((a[i>>0]|0)!=62){m=n;e=i;n=m;continue a}if(!n){t=24;break a}n=n+-1|0;e=k;continue a}default:{m=n;e=h;n=m;continue a}}}if((t|0)==6){c[g>>2]=e;e=0}else if((t|0)==9){c[g>>2]=e;e=0}else if((t|0)==12){c[g>>2]=e;e=0}else if((t|0)==14){c[g>>2]=e;e=0}else if((t|0)==24){c[g>>2]=k;e=42}return e|0}function u_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=22;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 2:{k=11;break a}case 10:{k=12;break a}case 9:{k=15;break a}case 21:{k=19;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11){c[g>>2]=h;h=0;break}else if((k|0)==12)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==15){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==19)if((h|0)==(e|0)){c[g>>2]=i;h=39;break}else{c[g>>2]=h;h=6;break}else if((k|0)==22){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function v_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((e|0)!=(f|0)){j=b+76|0;h=e;a:while(1){if((h|0)==(f|0)){k=21;break}i=h+1|0;switch(a[j+(d[h>>0]|0)>>0]|0){case 3:{k=8;break a}case 30:{k=11;break a}case 10:{k=14;break a}case 9:{k=17;break a}case 5:{h=h+2|0;continue a}case 6:{h=h+3|0;continue a}case 7:{h=h+4|0;continue a}default:{h=i;continue a}}}if((k|0)==8)if((h|0)==(e|0)){h=H_(b,i,f,g)|0;break}else{c[g>>2]=h;h=6;break}else if((k|0)==11)if((h|0)==(e|0)){h=I_(b,i,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=h;h=6;break}else if((k|0)==14)if((h|0)==(e|0)){c[g>>2]=i;h=7;break}else{c[g>>2]=h;h=6;break}else if((k|0)==17){if((h|0)!=(e|0)){c[g>>2]=h;h=6;break}if((i|0)==(f|0)){h=-3;break}c[g>>2]=(a[j+(d[i>>0]|0)>>0]|0)==10?e+2|0:i;h=7;break}else if((k|0)==21){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function w_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;g=b+76|0;a:while(1){f=a[c>>0]|0;b=d+1|0;e=c+1|0;switch(a[g+(f&255)>>0]|0){case 7:{h=3;break}case 6:{b=f;h=5;break}case 5:{b=f;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:if((a[d>>0]|0)==f<<24>>24){d=b;c=e;continue a}else{b=0;break a}default:{h=10;break a}}if((h|0)==3){h=0;if(f<<24>>24!=(a[d>>0]|0)){b=0;break}d=b;c=e;b=a[e>>0]|0;h=5}if((h|0)==5){h=0;e=c+1|0;if(b<<24>>24!=(a[d>>0]|0)){b=0;break}d=d+1|0;c=e;b=a[e>>0]|0}if(b<<24>>24!=(a[d>>0]|0)){b=0;break}if((a[c+1>>0]|0)==(a[d+1>>0]|0)){d=d+2|0;c=c+2|0}else{b=0;break}}b:do if((h|0)==10){b=a[d>>0]|0;if(f<<24>>24==b<<24>>24)b=1;else{switch(a[g+(b&255)>>0]|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}}while(0);return b|0}function x_(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=6;break}if(f){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=f&1;return b|0}function y_(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function z_(b,c){b=b|0;c=c|0;b=b+76|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function A_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=b+76|0;u=0;v=0;b=1;a:while(1){h=e+1|0;s=a[h>>0]|0;t=v+1|0;i=(b|0)!=2;j=(b|0)==2;k=e+2|0;l=(v|0)<(f|0);m=(b|0)==1;n=g+(v<<4)+12|0;o=g+(v<<4)+4|0;p=g+(v<<4)|0;q=(b|0)==0;r=g+(v<<4)+8|0;do switch(a[w+(s&255)>>0]|0){case 5:{if(!q){r=b;s=v;t=u;e=k;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=k;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=k;v=s;u=t;continue a}case 6:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+3|0;v=s;u=t;continue a}case 7:{if(q&l){c[p>>2]=h;a[n>>0]=1;b=1}else b=q?1:b;s=v;t=u;e=e+4|0;v=s;u=t;continue a}case 24:case 22:case 29:{if(!q){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=1;e=h;v=s;u=t;continue a}c[p>>2]=h;a[n>>0]=1;s=v;t=u;b=1;e=h;v=s;u=t;continue a}case 12:{if(i){if(!l){t=v;u=12;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=12;b=2;e=h;v=t;continue a}if((u|0)!=12){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=12;v=t;b=0;e=h;continue a}c[r>>2]=h;u=12;v=t;b=0;e=h;continue a}case 13:{if(i){if(!l){t=v;u=13;b=2;e=h;v=t;continue a}c[o>>2]=k;t=v;u=13;b=2;e=h;v=t;continue a}if((u|0)!=13){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!l){u=13;v=t;b=0;e=h;continue a}c[r>>2]=h;u=13;v=t;b=0;e=h;continue a}case 3:{if(!l){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}a[n>>0]=0;r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}case 21:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(!(a[n>>0]|0)){s=v;t=u;b=2;e=h;v=s;u=t;continue a}if(((s<<24>>24==32?(h|0)!=(c[o>>2]|0):0)?(x=a[k>>0]|0,x<<24>>24!=32):0)?(d[w+(x&255)>>0]|0)!=(u|0):0){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 10:case 9:{if(m){s=v;t=u;b=0;e=h;v=s;u=t;continue a}if(!j){r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}if(!l){s=v;t=u;b=2;e=h;v=s;u=t;continue a}a[n>>0]=0;s=v;t=u;b=2;e=h;v=s;u=t;continue a}case 17:case 11:if(i)break a;else{s=v;t=u;b=2;e=h;v=s;u=t;continue a}default:{r=b;s=v;t=u;e=h;b=r;v=s;u=t;continue a}}while(0)}return v|0}function B_(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(b*10|0)+-48+(d<<24>>24)|0;d=c+1|0;if((b|0)>=1114112){b=-1;break a}c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=k_(b)|0;return b|0}function C_(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=c+1|0;f=c+2|0;a:do switch(d-c|0){case 2:{if((a[e>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else g=14;break}case 3:{if(((a[c>>0]|0)==97?(a[e>>0]|0)==109:0)?(a[f>>0]|0)==112:0)b=38;else g=14;break}case 4:{b=c+3|0;switch(a[c>>0]|0){case 113:{if((a[e>>0]|0)!=117){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==116){b=34;break a}else{g=14;break a}}case 97:{if((a[e>>0]|0)!=112){g=14;break a}if((a[f>>0]|0)!=111){g=14;break a}if((a[b>>0]|0)==115){b=39;break a}else{g=14;break a}}default:{g=14;break a}}}default:g=14}while(0);if((g|0)==14)b=0;return b|0}function D_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+76|0;i=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;e=b+1|0;switch(a[h+(d[b>>0]|0)>>0]|0){case 5:{b=b+2|0;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=e;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;if((e|0)==(f|0))b=f;else b=(a[h+(d[e>>0]|0)>>0]|0)==10?b+2|0:e;c[i>>2]=-1;break}default:b=e}c[i>>2]=(c[i>>2]|0)+1}return}function E_(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=e+-1|0;g=b+76|0;a:while(1){d=d+1|0;if((d|0)==(h|0)){d=1;break}b=a[d>>0]|0;e=b<<24>>24;switch(a[g+(b&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(b<<24>>24==9){i=7;break a}else continue a;case 22:case 26:{if(b<<24>>24>=0)continue a;break}default:{}}switch(e|0){case 64:case 36:break;default:{i=7;break a}}}if((i|0)==7){c[f>>2]=d;d=0}return d|0}function F_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0))break;k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0))break;c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2)break;c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return}function G_(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;while(1){a=c[e>>2]|0;if((a|0)==(f|0))break;if((c[g>>2]|0)==(h|0))break;c[e>>2]=a+1;i=d[a>>0]|0;a=c[g>>2]|0;c[g>>2]=a+2;b[a>>1]=i}return}function H_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;i=e+1|0;b:do switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;e=0;break a}case 24:case 22:break;case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+2|0;break b}}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+3|0;break b}}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;e=0;break a}else{i=e+4|0;break b}}case 19:{e=J_(b,i,f,g)|0;break a}default:{c[g>>2]=e;e=0;break a}}while(0);h=b+332|0;j=b+336|0;k=b+340|0;c:while(1){if((i|0)==(f|0)){e=-1;break a}l=i+1|0;e=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=l;continue c}case 29:{h=21;break c}case 18:{h=34;break c}case 5:{if((e|0)<2){e=-2;break a}if(!(vb[c[h>>2]&127](b,i)|0)){h=24;break c}i=i+2|0;continue c}case 6:{if((e|0)<3){e=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){h=28;break c}i=i+3|0;continue c}case 7:{if((e|0)<4){e=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){h=32;break c}i=i+4|0;continue c}default:{h=35;break c}}}if((h|0)==21){c[g>>2]=i;e=0;break}else if((h|0)==24){c[g>>2]=i;e=0;break}else if((h|0)==28){c[g>>2]=i;e=0;break}else if((h|0)==32){c[g>>2]=i;e=0;break}else if((h|0)==34){c[g>>2]=l;e=9;break}else if((h|0)==35){c[g>>2]=i;e=0;break}}else e=-1;while(0);return e|0}function I_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){o=b+76|0;n=f;h=n-e|0;switch(a[o+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;h=22;break a}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;l=b+336|0;m=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-1;break a}j=i+1|0;h=n-i|0;switch(a[o+(d[i>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 29:{e=18;break b}case 18:{e=31;break b}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=21;break b}i=i+2|0;continue b}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=25;break b}i=i+3|0;continue b}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,i)|0)){e=29;break b}i=i+4|0;continue b}default:{e=32;break b}}}if((e|0)==18){c[g>>2]=i;h=0;break}else if((e|0)==21){c[g>>2]=i;h=0;break}else if((e|0)==25){c[g>>2]=i;h=0;break}else if((e|0)==29){c[g>>2]=i;h=0;break}else if((e|0)==31){c[g>>2]=j;h=28;break}else if((e|0)==32){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function J_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=a[e>>0]|0;h=e+1|0;if(i<<24>>24==120){h=K_(b,h,f,g)|0;break}b=b+76|0;if((a[b+(i&255)>>0]|0)!=25){c[g>>2]=e;h=0;break}b:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[b+(d[h>>0]|0)>>0]|0){case 25:{h=e;break}case 18:{b=8;break b}default:{b=9;break b}}}if((b|0)==8){c[g>>2]=e;h=10;break}else if((b|0)==9){c[g>>2]=h;h=0;break}}else h=-1;while(0);return h|0}function K_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if((e|0)!=(f|0)){i=b+76|0;if((a[i+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;b=0;break}b=e+1|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=b+1|0;switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 25:{b=h;break}case 18:{e=7;break b}default:{e=8;break b}}}if((e|0)==7){c[g>>2]=h;b=10;break}else if((e|0)==8){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function L_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:do if((e|0)!=(f|0)){r=b+76|0;n=b+344|0;o=f;h=e+1|0;p=b+352|0;q=b+348|0;i=o-e|0;b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:break;case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+2|0;break b}}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+3|0;break b}}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=e+4|0;break b}}case 16:{if((h|0)==(f|0)){h=-1;break a}e=e+2|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:{h=M_(b,e,f,g)|0;break a}case 20:{h=N_(e,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=O_(b,h,f,g)|0;break a}case 17:{h=P_(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}while(0);k=b+332|0;l=b+336|0;m=b+340|0;i=0;c:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;e=o-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{e=i;h=j;i=e;continue c}case 29:{s=27;break c}case 10:case 9:case 21:{h=j;s=59;break c}case 11:{s=76;break c}case 17:break c;case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){s=30;break c}j=i;h=h+2|0;i=j;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[l>>2]&127](b,h)|0)){s=34;break c}j=i;h=h+3|0;i=j;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){s=38;break c}j=i;h=h+4|0;i=j;continue c}case 23:{if(i|0){s=41;break c}if((j|0)==(f|0)){h=-1;break a}e=o-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 29:{s=44;break c}case 24:case 22:{i=1;h=h+2|0;continue c}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,j)|0)){s=48;break c}i=1;h=h+3|0;continue c}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,j)|0)){s=52;break c}i=1;h=h+4|0;continue c}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,j)|0)){s=56;break c}i=1;h=h+5|0;continue c}default:{s=58;break c}}}default:{s=81;break c}}}d:switch(s|0){case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=h;h=0;break a}case 41:{c[g>>2]=h;h=0;break a}case 44:{c[g>>2]=j;h=0;break a}case 48:{c[g>>2]=j;h=0;break a}case 52:{c[g>>2]=j;h=0;break a}case 56:{c[g>>2]=j;h=0;break a}case 58:{c[g>>2]=j;h=0;break a}case 59:{e:while(1){s=0;if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{s=76;break d}case 17:break d;case 10:case 9:case 21:{h=e;s=59;break}case 29:{s=61;break e}case 24:case 22:{h=e;break e}case 5:{s=62;break e}case 6:{s=66;break e}case 7:{s=70;break e}default:{s=74;break e}}}do if((s|0)==61){c[g>>2]=h;h=0;break a}else if((s|0)==62){if((o-h|0)<2){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+2|0;break}}else if((s|0)==66){if((o-h|0)<3){h=-2;break a}if(!(vb[c[q>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+3|0;break}}else if((s|0)==70){if((o-h|0)<4){h=-2;break a}if(!(vb[c[p>>2]&127](b,h)|0)){c[g>>2]=h;h=0;break a}else{h=h+4|0;break}}else if((s|0)==74){c[g>>2]=h;h=0;break a}while(0);h=Q_(b,h,f,g)|0;break a}case 81:{c[g>>2]=h;h=0;break a}}if((s|0)==76){c[g>>2]=h+1;h=2;break}e=h+1|0;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=e;h=0;break}else h=-1}else h=-1;while(0);return h|0}function M_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){if((a[e>>0]|0)!=45){c[g>>2]=e;e=0;break}l=b+76|0;m=f;i=b+356|0;j=b+360|0;k=b+364|0;n=e+1|0;b:while(1){if((n|0)==(f|0)){e=-1;break a}e=n+1|0;h=m-n|0;switch(a[l+(d[n>>0]|0)>>0]|0){case 8:case 1:case 0:{h=19;break b}case 5:{if((h|0)<2){e=-2;break a}if(vb[c[i>>2]&127](b,n)|0){h=9;break b}n=n+2|0;continue b}case 6:{if((h|0)<3){e=-2;break a}if(vb[c[j>>2]&127](b,n)|0){h=13;break b}n=n+3|0;continue b}case 7:{if((h|0)<4){e=-2;break a}if(vb[c[k>>2]&127](b,n)|0){h=17;break b}n=n+4|0;continue b}case 27:{if((e|0)==(f|0)){e=-1;break a}if((a[e>>0]|0)==45){h=22;break b}else{n=e;continue b}}default:{n=e;continue b}}}if((h|0)==9){c[g>>2]=n;e=0;break}else if((h|0)==13){c[g>>2]=n;e=0;break}else if((h|0)==17){c[g>>2]=n;e=0;break}else if((h|0)==19){c[g>>2]=n;e=0;break}else if((h|0)==22){e=n+2|0;if((e|0)==(f|0)){e=-1;break}if((a[e>>0]|0)==62){c[g>>2]=n+3;e=13;break}else{c[g>>2]=e;e=0;break}}}else e=-1;while(0);return e|0}function N_(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<6)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}return d|0}function O_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;a:do if((e|0)==(f|0))h=-1;else{r=b+76|0;p=f;h=p-e|0;switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}k=b+332|0;m=b+336|0;n=b+340|0;h=e+h|0;b:while(1){if((h|0)==(f|0)){h=-1;break a}j=h+1|0;i=p-h|0;switch(a[r+(d[h>>0]|0)>>0]|0){case 27:case 26:case 25:case 24:case 22:{h=j;continue b}case 29:{o=17;break b}case 10:case 9:case 21:{o=30;break b}case 15:{o=51;break b}case 5:{if((i|0)<2){h=-2;break a}if(!(vb[c[k>>2]&127](b,h)|0)){o=20;break b}h=h+2|0;continue b}case 6:{if((i|0)<3){h=-2;break a}if(!(vb[c[m>>2]&127](b,h)|0)){o=24;break b}h=h+3|0;continue b}case 7:{if((i|0)<4){h=-2;break a}if(!(vb[c[n>>2]&127](b,h)|0)){o=28;break b}h=h+4|0;continue b}default:break b}}if((o|0)==17){c[g>>2]=h;h=0;break}else if((o|0)==20){c[g>>2]=h;h=0;break}else if((o|0)==24){c[g>>2]=h;h=0;break}else if((o|0)==28){c[g>>2]=h;h=0;break}else if((o|0)==30){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}k=b+356|0;m=b+360|0;n=b+364|0;c:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;i=p-j|0;switch(a[r+(d[j>>0]|0)>>0]|0){case 8:case 1:case 0:{o=47;break c}case 5:{if((i|0)<2){h=-2;break a}if(vb[c[k>>2]&127](b,j)|0){o=37;break c}j=j+2|0;continue c}case 6:{if((i|0)<3){h=-2;break a}if(vb[c[m>>2]&127](b,j)|0){o=41;break c}j=j+3|0;continue c}case 7:{if((i|0)<4){h=-2;break a}if(vb[c[n>>2]&127](b,j)|0){o=45;break c}j=j+4|0;continue c}case 15:{if((h|0)==(f|0)){h=-1;break a}if((a[h>>0]|0)==62){o=50;break c}else{j=h;continue c}}default:{j=h;continue c}}}if((o|0)==37){c[g>>2]=j;h=0;break}else if((o|0)==41){c[g>>2]=j;h=0;break}else if((o|0)==45){c[g>>2]=j;h=0;break}else if((o|0)==47){c[g>>2]=j;h=0;break}else if((o|0)==50){c[g>>2]=j+2;h=c[q>>2]|0;break}}else if((o|0)==51){if(!(R_(e,h,q)|0)){c[g>>2]=h;h=0;break}if((j|0)==(f|0)){h=-1;break}if((a[j>>0]|0)==62){c[g>>2]=h+2;h=c[q>>2]|0;break}else h=j}c[g>>2]=h;h=0}while(0);l=s;return h|0}function P_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}i=b+332|0;k=b+336|0;l=b+340|0;j=e+h|0;b:while(1){if((j|0)==(f|0)){h=-1;break a}h=j+1|0;e=m-j|0;switch(a[n+(d[j>>0]|0)>>0]|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=h;continue b}case 29:{i=17;break b}case 10:case 9:case 21:{i=30;break b}case 11:{i=34;break b}case 5:{if((e|0)<2){h=-2;break a}if(!(vb[c[i>>2]&127](b,j)|0)){i=20;break b}j=j+2|0;continue b}case 6:{if((e|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,j)|0)){i=24;break b}j=j+3|0;continue b}case 7:{if((e|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,j)|0)){i=28;break b}j=j+4|0;continue b}default:{i=35;break b}}}if((i|0)==17){c[g>>2]=j;h=0;break}else if((i|0)==20){c[g>>2]=j;h=0;break}else if((i|0)==24){c[g>>2]=j;h=0;break}else if((i|0)==28){c[g>>2]=j;h=0;break}else if((i|0)==30){c:while(1){if((h|0)==(f|0)){h=-1;break a}e=h+1|0;switch(a[n+(d[h>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=30;break}case 11:{i=32;break c}default:{i=33;break c}}}if((i|0)==32){c[g>>2]=e;h=5;break}else if((i|0)==33){c[g>>2]=h;h=0;break}}else if((i|0)==34){c[g>>2]=h;h=5;break}else if((i|0)==35){c[g>>2]=j;h=0;break}}else h=-1;while(0);return h|0}function Q_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;x=z;c[x>>2]=e;s=b+76|0;t=b+344|0;u=b+348|0;v=f;w=b+352|0;m=b+332|0;n=b+336|0;o=b+340|0;p=b+356|0;q=b+360|0;r=b+364|0;i=0;a:while(1){if((e|0)==(f|0)){e=-1;break}h=v-e|0;j=e+1|0;b:do switch(a[s+(d[e>>0]|0)>>0]|0){case 29:{y=4;break a}case 27:case 26:case 25:case 24:case 22:{c[x>>2]=j;k=i;e=j;i=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[m>>2]&127](b,e)|0)){y=8;break a}j=e+2|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[n>>2]&127](b,e)|0)){y=12;break a}j=e+3|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[o>>2]&127](b,e)|0)){y=16;break a}j=e+4|0;c[x>>2]=j;k=i;e=j;i=k;continue a}case 23:{if(i|0){y=19;break a}c[x>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=v-j|0;switch(a[s+(d[j>>0]|0)>>0]|0){case 29:{y=22;break a}case 24:case 22:{k=e+2|0;c[x>>2]=k;i=1;e=k;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(vb[c[t>>2]&127](b,j)|0)){y=26;break a}k=e+3|0;c[x>>2]=k;i=1;e=k;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(vb[c[u>>2]&127](b,j)|0)){y=30;break a}k=e+4|0;c[x>>2]=k;i=1;e=k;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(vb[c[w>>2]&127](b,j)|0)){y=34;break a}k=e+5|0;c[x>>2]=k;i=1;e=k;continue a}default:{y=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[x>>2]=e;if((e|0)==(f|0)){e=-1;break a}switch(a[s+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{y=39;break a}}}case 14:break;default:{y=92;break a}}while(0);while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}k=a[s+(d[h>>0]|0)>>0]|0;if((k|1)<<24>>24==13)break;switch(k<<24>>24){case 9:case 10:case 21:{e=h;break}default:{y=43;break a}}}e=e+2|0;c[x>>2]=e;c:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[s+(d[e>>0]|0)>>0]|0;if(h<<24>>24==k<<24>>24)break;i=e+1|0;j=v-e|0;switch(h<<24>>24){case 8:case 1:case 0:{y=60;break a}case 2:{y=65;break a}case 5:{if((j|0)<2){e=-2;break a}if(vb[c[p>>2]&127](b,e)|0){y=50;break a}j=e+2|0;c[x>>2]=j;e=j;continue c}case 6:{if((j|0)<3){e=-2;break a}if(vb[c[q>>2]&127](b,e)|0){y=54;break a}j=e+3|0;c[x>>2]=j;e=j;continue c}case 7:{if((j|0)<4){e=-2;break a}if(vb[c[r>>2]&127](b,e)|0){y=58;break a}j=e+4|0;c[x>>2]=j;e=j;continue c}case 3:{e=H_(b,i,f,x)|0;if((e|0)<1){y=63;break a}e=c[x>>2]|0;continue c}default:{c[x>>2]=i;e=i;continue c}}}h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break}switch(a[s+(d[h>>0]|0)>>0]|0){case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}default:{y=69;break a}}d:while(1){h=e+1|0;c[x>>2]=h;if((h|0)==(f|0)){e=-1;break a}switch(a[s+(d[h>>0]|0)>>0]|0){case 29:{y=72;break a}case 11:{y=86;break a}case 17:{y=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{y=73;break d}case 5:{y=74;break d}case 6:{y=78;break d}case 7:{y=82;break d}default:{y=91;break a}}}if((y|0)==73){y=0;e=e+2|0;c[x>>2]=e;i=0;continue}else if((y|0)==74){y=0;if((v-h|0)<2){e=-2;break}if(!(vb[c[t>>2]&127](b,h)|0)){y=76;break}e=e+3|0;c[x>>2]=e;i=0;continue}else if((y|0)==78){y=0;if((v-h|0)<3){e=-2;break}if(!(vb[c[u>>2]&127](b,h)|0)){y=80;break}e=e+4|0;c[x>>2]=e;i=0;continue}else if((y|0)==82){y=0;if((v-h|0)<4){e=-2;break}if(!(vb[c[w>>2]&127](b,h)|0)){y=84;break}e=e+5|0;c[x>>2]=e;i=0;continue}}switch(y|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=j;e=0;break}case 26:{c[g>>2]=j;e=0;break}case 30:{c[g>>2]=j;e=0;break}case 34:{c[g>>2]=j;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[x>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[x>>2]=e;if((e|0)!=(f|0))if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=z;return e|0}function R_(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function S_(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=e+76|0;m=g;n=e+356|0;o=e+360|0;p=e+364|0;a:while(1){if((f|0)==(g|0)){f=-1;break}i=a[l+(d[f>>0]|0)>>0]|0;j=f+1|0;k=m-f|0;switch(i<<24>>24){case 8:case 1:case 0:{q=16;break a}case 5:{if((k|0)<2){f=-2;break a}if(vb[c[n>>2]&127](e,f)|0){q=6;break a}f=f+2|0;continue a}case 6:{if((k|0)<3){f=-2;break a}if(vb[c[o>>2]&127](e,f)|0){q=10;break a}f=f+3|0;continue a}case 7:{if((k|0)<4){f=-2;break a}if(vb[c[p>>2]&127](e,f)|0){q=14;break a}f=f+4|0;continue a}case 13:case 12:if((i&255|0)==(b|0)){q=18;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((q|0)==6){c[h>>2]=f;f=0}else if((q|0)==10){c[h>>2]=f;f=0}else if((q|0)==14){c[h>>2]=f;f=0}else if((q|0)==16){c[h>>2]=f;f=0}else if((q|0)==18)if((j|0)==(g|0))f=-27;else{c[h>>2]=j;switch(a[l+(d[j>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break b}default:{}}f=0}while(0);return f|0}function T_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)==(f|0))h=-1;else{i=b+76|0;h=e+1|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{h=M_(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b:while(1){if((h|0)==(f|0)){h=-1;break a}b=h+1|0;switch(a[i+(d[h>>0]|0)>>0]|0){case 24:case 22:{h=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=h;h=0;break a}c:do if((j|0)==8){if((b|0)==(f|0)){h=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=h;h=0;break a}while(0);c[g>>2]=h;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function U_(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){n=b+76|0;m=f;h=m-e|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[b+352>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}default:{c[g>>2]=e;h=0;break a}}j=b+332|0;k=b+336|0;l=b+340|0;i=e+h|0;b:while(1){if((i|0)==(f|0)){h=-20;break a}h=m-i|0;switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{e=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{e=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(vb[c[j>>2]&127](b,i)|0)){e=20;break b}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(vb[c[k>>2]&127](b,i)|0)){e=23;break b}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(vb[c[l>>2]&127](b,i)|0)){e=26;break b}else h=4;break}default:{e=29;break b}}i=i+h|0}if((e|0)==17){c[g>>2]=i;h=0;break}else if((e|0)==20){c[g>>2]=i;h=0;break}else if((e|0)==23){c[g>>2]=i;h=0;break}else if((e|0)==26){c[g>>2]=i;h=0;break}else if((e|0)==28){c[g>>2]=i;h=20;break}else if((e|0)==29){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function V_(){return 58448}function W_(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[d>>2]|0;b=c[f>>2]|0;g=g-b|0;a:do if((e-h|0)>(g|0)){e=h+g|0;while(1){if(e>>>0<=h>>>0)break a;g=e+-1|0;if((a[g>>0]&-64)<<24>>24==-128)e=g;else break}}while(0);while(1){if((h|0)==(e|0))break;a[b>>0]=a[h>>0]|0;h=h+1|0;b=b+1|0}c[d>>2]=e;c[f>>2]=b;return}function X_(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=d+76|0;d=c[g>>2]|0;i=c[e>>2]|0;a:while(1){if((i|0)==(f|0)|(d|0)==(h|0))break;j=a[i>>0]|0;k=i+1|0;l=d+2|0;m=i+3|0;n=j<<24>>24;o=i+2|0;switch(a[p+(j&255)>>0]|0){case 5:{b[d>>1]=a[k>>0]&63|n<<6&1984;d=l;i=o;continue a}case 6:{b[d>>1]=(a[k>>0]&63)<<6|n<<12|a[o>>0]&63;d=l;i=m;continue a}case 7:{if((l|0)==(h|0))break a;o=((a[k>>0]&63)<<12|n<<18&1835008|(a[o>>0]&63)<<6|a[m>>0]&63)+-65536|0;b[d>>1]=o>>>10|55296;b[l>>1]=o&1023|56320;d=d+4|0;i=i+4|0;continue a}default:{b[d>>1]=j<<24>>24;d=l;i=k;continue a}}}c[e>>2]=i;c[g>>2]=d;return}function Y_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function Z_(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[144193+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function __(a,b){a=a|0;b=b|0;return 0}function $_(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function a$(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[57168+(((d[143937+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function b$(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)a=1;else{a=d[b+1>>0]|0;a=(a&128|0)==0|(a&192|0)==192}return a&1|0}function c$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c+2>>0]|0;e=d&255;do if(!(e&128))b=1;else{f=a[c>>0]|0;b=c+1|0;if(f<<24>>24==-17?(a[b>>0]|0)==-65:0)if((d&255)>189){b=1;break}else{b=191;d=-65;c=0}else{if((e&192|0)==192){b=1;break}d=a[b>>0]|0;b=d&255;c=(b&192|0)==192;if(f<<24>>24==-32){b=(d&255)<160|c;break}}b=(b&128|0)==0|(f<<24>>24==-19?(d&255)>159:c)}while(0);return b&1|0}function d$(b,c){b=b|0;c=c|0;var e=0,f=0;f=d[c+3>>0]|0;do if(!((f&128|0)==0|(f&192|0)==192)?(f=d[c+2>>0]|0,!((f&128|0)==0|(f&192|0)==192)):0){f=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;e=(c&192|0)==192;if(f<<24>>24==-16){b=(b&255)<144|e;break}else{b=(c&128|0)==0|(f<<24>>24==-12?(b&255)>143:e);break}}else b=1;while(0);return b&1|0}function e$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e+1>>0]|0;q=b+76|0;m=a[e>>0]|0;if(!(i<<24>>24))l=d[q+(m&255)>>0]|0;else l=v$(i,m)|0;j=e+2|0;o=p;k=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(l|0){case 12:{f=H$(12,b,j,p,g)|0;break a}case 13:{f=H$(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 16:{f=I$(b,n,p,g)|0;break a}case 15:{f=D$(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=x$(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[n>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}f=a[k>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=J$(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=m&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[i+3>>0]|0;h=a[e>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[j+3>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function f$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e+1>>0]|0;h=a[e>>0]|0;p=b+76|0;if(!(f<<24>>24))j=d[p+(h&255)>>0]|0;else j=v$(f,h)|0;k=e+2|0;n=o;i=e+3|0;m=e+4|0;f=n-l|0;h=(k|0)==(o|0);switch(j|0){case 2:{f=A$(b,k,o,g)|0;break a}case 3:{f=w$(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}f=a[i>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))f=d[p+(h&255)>>0]|0;else f=v$(f,h)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[i>>0]|0)==0?(a[k>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[e+5>>0]|0)==0?(a[m>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=i;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k+1>>0]|0;h=a[k>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[k+3>>0]|0){k=f;continue b}if((a[f>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[k+5>>0]|0){k=f;continue b}if((a[j>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function g$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){f=a[e+1>>0]|0;h=a[e>>0]|0;n=b+76|0;if(!(f<<24>>24))j=d[n+(h&255)>>0]|0;else j=v$(f,h)|0;i=e+2|0;l=m;h=(i|0)==(m|0);f=l-k|0;b=e+3|0;k=e+4|0;switch(j|0){case 4:{if(h){f=-1;break a}if((a[b>>0]|0)==0?(a[i>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[e+5>>0]|0)==0?(a[k>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(h){f=-1;break a}f=a[b>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))f=d[n+(b&255)>>0]|0;else f=v$(f,b)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=b;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i+1>>0]|0;b=a[i>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function h$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e+1>>0]|0;b=a[e>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+4|0;i=e+3|0;j=e+6|0;k=(h|0)==(r|0);l=e+5|0;m=q-e|0;switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((m|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((m|0)<3){f=-2;break a}else{n=o;e=i;o=n;continue a}case 7:if((m|0)<4){f=-2;break a}else{n=o;e=h;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=33){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}e=(a[h>>0]|0)==91;o=(e&1)+o|0;e=e?j:h;continue a}case 4:{if(b){f=-1;break a}if(a[i>>0]|0){n=o;e=f;o=n;continue a}if((a[f>>0]|0)!=93){n=o;e=f;o=n;continue a}if(k){f=-1;break a}if(a[l>>0]|0){n=o;e=h;o=n;continue a}if((a[h>>0]|0)!=62){n=o;e=h;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=j;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=j;f=42}return f|0}function i$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function j$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j+1>>0]|0;h=a[j>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=w$(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=x$(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[e+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function k$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;f=e;b=c;a:while(1){h=b+1|0;i=a[h>>0]|0;e=a[b>>0]|0;if(!(i<<24>>24))g=d[j+(e&255)>>0]|0;else g=v$(i,e)|0;c=f+1|0;switch(g|0){case 7:{if(e<<24>>24==(a[f>>0]|0)){f=c;b=h;e=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[f>>0]|0)!=e<<24>>24){b=0;break a}if((a[c>>0]|0)==i<<24>>24)e=f;else{b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;c=b+1|0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}f=f+1|0;b=c;e=a[c>>0]|0;k=9}if((k|0)==9){k=0;if(e<<24>>24!=(a[f>>0]|0)){b=0;break}if((a[b+1>>0]|0)==(a[f+1>>0]|0))e=f;else{b=0;break}}f=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[c>>0]|0;b=a[f>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function l$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function m$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function n$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function o$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;r=e+3|0;b=a[r>>0]|0;s=b<<24>>24==0;t=a[w>>0]|0;if(s)p=d[z+(t&255)>>0]|0;else p=v$(b,t)|0;b=(y|0)<(f|0);q=e+4|0;h=(u|0)==1;i=(u|0)==2;v=g+(y<<4)+12|0;j=y+1|0;k=(u|0)==0;l=(u|0)!=2;m=g+(y<<4)+8|0;n=g+(y<<4)+4|0;o=g+(y<<4)|0;do switch(p|0){case 5:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!k){t=u;v=y;w=x;e=r;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=r;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=r;y=v;x=w;continue a}case 7:{if(!k){t=u;v=y;w=x;e=q;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=q;y=v;x=w;continue a}c[o>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=q;y=v;x=w;continue a}case 24:case 22:case 29:{if(!k){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[o>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(l){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=j;u=0;e=w;continue a}c[m>>2]=w;x=12;y=j;u=0;e=w;continue a}case 13:{if(l){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[n>>2]=q;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=j;u=0;e=w;continue a}c[m>>2]=w;x=13;y=j;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(s&(w|0)!=(c[n>>2]|0)&t<<24>>24==32){e=a[e+5>>0]|0;b=a[q>>0]|0;if(!(e<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(e,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(h){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!i){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(l)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function p$(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=k_(b)|0;return b|0}function q$(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c+2|0;b=c+1|0;h=c+3|0;e=c+4|0;f=c+5|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[h>>0]|0)==0?(a[g>>0]|0)==116:0){if(!(a[b>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else i=27;break}case 3:{if((((((a[b>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[h>>0]|0)==0:0)?(a[g>>0]|0)==109:0)?(a[f>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else i=27;break}case 4:{if(!(a[b>>0]|0)){b=c+6|0;d=c+7|0;switch(a[c>>0]|0){case 113:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=117){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{i=27;break a}}case 97:{if(a[h>>0]|0){i=27;break a}if((a[g>>0]|0)!=112){i=27;break a}if(a[f>>0]|0){i=27;break a}if((a[e>>0]|0)!=111){i=27;break a}if(a[d>>0]|0){i=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{i=27;break a}}default:{i=27;break a}}}else i=27;break}default:i=27}while(0);if((i|0)==27)b=0;return b|0}function r$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b+1>>0]|0;e=a[b>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[b+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function s$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+76|0;f=e;a:while(1){h=f+2|0;if((h|0)==(j|0)){f=1;break}f=a[f+3>>0]|0;e=f<<24>>24==0;b=a[h>>0]|0;if(e)f=d[i+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(e&b<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!e){k=12;break a}if(b<<24>>24>=0){f=h;continue a}break}default:if(!e){k=12;break a}}switch(b<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function t$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b>>0]|0;i=a[b+1>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[n>>0]|0;l=(j<<4&48|m>>>6|a[b+3>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function u$(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0))g=(a[g+-1>>0]&-8)<<24>>24==-40?g+-2|0:g;while(1){if((e|0)==(g|0))break;j=c[h>>2]|0;if((j|0)==(i|0))break;k=((d[e+1>>0]|0)<<8|(d[e>>0]|0))&65535;c[h>>2]=j+2;b[j>>1]=k;j=(c[f>>2]|0)+2|0;c[f>>2]=j;e=j}return}function v$(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function w$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;m=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=y$(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function x$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function y$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e>>0]|0;if(i&k<<24>>24==120){b=z$(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function z$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e+1>>0]|0;j=b+76|0;b=a[e>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function A$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e+1>>0]|0;n=b+76|0;l=a[e>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=B$(b,i,f,g)|0;break a}case 20:{h=C$(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=D$(b,h,f,g)|0;break a}case 17:{h=E$(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[h+3>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=F$(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function B$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;e=a[i>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[i+3>>0]|0){i=b;continue b}if((a[b>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[i+5>>0]|0)==0?(a[b>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function C$(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function D$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e+1>>0]|0;o=b+76|0;b=a[e>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[j+3>>0]|0){j=b;continue c}if((a[b>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(G$(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[b+3>>0]|0)==0?(a[j>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function E$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;l=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j+1>>0]|0;h=a[j>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i+1>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function F$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e+1>>0]|0;i=a[e>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[e+3>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}h=a[h+3>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=w$(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function G$(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;a:while(1){if((f|0)==(g|0)){e=-1;break}i=a[f+1>>0]|0;e=a[f>>0]|0;if(!(i<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(i,e)|0;j=f+2|0;e=k-f|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((e|0)<2){e=-2;break a}else{f=j;continue a}case 6:{if((e|0)<3){e=-2;break a}f=f+3|0;continue a}case 7:{if((e|0)<4){e=-2;break a}f=f+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{f=j;continue a}default:{f=j;continue a}}}b:do if((m|0)==12){c[h>>2]=f;e=0}else if((m|0)==14)if((j|0)==(g|0))e=-27;else{c[h>>2]=j;f=a[f+3>>0]|0;e=a[j>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function I$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e+1>>0]|0;i=a[e>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=B$(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{e=h;b:while(1){if((e|0)==(f|0)){h=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;b=e+2|0;switch(h|0){case 24:case 22:{e=b;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=e;h=0;break a}c:do if((j|0)==14){if((b|0)==(f|0)){h=-1;break a}i=a[e+3>>0]|0;h=a[b>>0]|0;if(!(i<<24>>24))h=d[k+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=e;h=0;break a}while(0);c[g>>2]=e;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function J$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e+1>>0]|0;k=b+76|0;i=a[e>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}b=a[b+3>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=h&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function K$(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function L$(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(u0(a,c[60316+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,0,b,c,d)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(59184,a,1,b,c,d)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D_(58816,b,c,d);return}function P$(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((f|0)==(g|0))d=-4;else{p=c[d+76>>2]|0;i=f+1|0;o=(e|0)==1;n=d+73|0;b:do if((i|0)==(g|0)){d=a[n>>0]|0;if(((d<<24>>24)+-3|0)>>>0<3){d=-1;break a}switch(a[f>>0]|0){case 60:case 0:{d=-1;break a}case -17:case -1:case -2:break;default:break b}if(!(o&d<<24>>24==0)){d=-1;break a}}else{l=a[f>>0]|0;d=a[i>>0]|0;i=b+16|0;m=b+20|0;j=f+2|0;k=((l&255)<<8|d&255)&65535;c:do if(k<<16>>16<-2){if(k<<16>>16>=-257){switch(k<<16>>16){case -257:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[i>>2];d=14;break a}switch(k<<16>>16){case -4165:break;default:break c}if(o)switch(a[n>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}if((j|0)==(g|0)){d=-1;break a}if((a[j>>0]|0)!=-65)break b;c[h>>2]=f+3;c[p>>2]=c[b+8>>2];d=14;break a}else{if(k<<16>>16<15360){switch(k<<16>>16){case -2:break;default:break c}if(o&(a[n>>0]|0)==0)break b;c[h>>2]=j;c[p>>2]=c[m>>2];d=14;break a}switch(k<<16>>16){case 15360:break;default:break c}d=a[n>>0]|0;if(d<<24>>24==4){if(o)break b}else if(o&d<<24>>24==3)break b;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);if(l<<24>>24){if(o|d<<24>>24!=0)break;d=c[m>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}if(o?(a[n>>0]|0)==5:0)break;d=c[i>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0;break a}while(0);d=c[b+(a[n>>0]<<2)>>2]|0;c[p>>2]=d;d=tb[c[d+(e<<2)>>2]&127](d,f,g,h)|0}while(0);return d|0}function Q$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((e|0)!=(f|0)){h=e;p=f-h|0;o=(p&1|0)==0;p=p&-2;q=(p|0)==0;p=o|q?f:e+p|0;if(o|q^1){i=a[e>>0]|0;q=b+76|0;l=a[e+1>>0]|0;if(!(i<<24>>24))k=d[q+(l&255)>>0]|0;else k=v$(i,l)|0;j=e+2|0;o=p;m=e+3|0;f=o-h|0;h=(j|0)==(p|0);n=e+4|0;do switch(k|0){case 12:{f=q0(12,b,j,p,g)|0;break a}case 13:{f=q0(13,b,j,p,g)|0;break a}case 2:{if(h){f=-1;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 16:{f=r0(b,n,p,g)|0;break a}case 15:{f=m0(b,n,p,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=j;f=0;break a}}}case 9:{if(h){c[g>>2]=p;f=-15;break a}else h=20;break}case 10:case 21:{h=20;break}case 30:{f=g0(b,j,p,g)|0;break a}case 35:{c[g>>2]=j;f=38;break a}case 20:{c[g>>2]=j;f=25;break a}case 4:{if(h){f=-26;break a}if((a[j>>0]|0)==0?(a[m>>0]|0)==93:0){if((n|0)==(p|0)){f=-1;break a}if((a[n>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=j;f=26;break a}case 31:{c[g>>2]=j;f=23;break a}case 32:{if(h){f=-24;break a}h=a[j>>0]|0;f=a[m>>0]|0;if(!(h<<24>>24))f=d[q+(f&255)>>0]|0;else f=v$(h,f)|0;switch(f|0){case 33:{c[g>>2]=n;f=36;break a}case 15:{c[g>>2]=n;f=35;break a}case 34:{c[g>>2]=n;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=j;f=24;break a}default:{c[g>>2]=j;f=0;break a}}}case 36:{c[g>>2]=j;f=21;break a}case 11:{c[g>>2]=j;f=17;break a}case 19:{f=s0(b,j,p,g)|0;break a}case 5:{if((f|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((f|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((f|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;h=63;break}case 23:case 27:case 26:case 25:{f=19;h=63;break}case 29:{i=i&255;h=l&255;f=h>>>5;h=1<<(h&31);if(!(h&c[57168+((f|d[143937+i>>0]<<3)<<2)>>2]))if(!(c[57168+((d[144193+i>>0]<<3|f)<<2)>>2]&h))h=62;else{f=19;h=63}else{f=18;h=63}break}default:h=62}while(0);if((h|0)==20){b:while(1){i=e;e=e+2|0;if((e|0)==(p|0)){h=27;break}f=a[e>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[q+(h&255)>>0]|0;else f=v$(f,h)|0;switch(f|0){case 10:case 21:{h=20;continue b}case 9:break;default:{h=26;break b}}if((i+4|0)==(p|0)){h=26;break}else h=20}if((h|0)==26){c[g>>2]=e;f=15;break}else if((h|0)==27){c[g>>2]=p;f=15;break}}else if((h|0)==62){c[g>>2]=e;f=0;break}else if((h|0)==63){c:while(1){if((j|0)==(p|0)){h=103;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))e=d[q+(i&255)>>0]|0;else e=v$(h,i)|0;k=j+2|0;switch(e|0){case 27:case 26:case 25:case 24:case 22:{h=f;j=k;f=h;h=63;continue c}case 5:{h=70;break c}case 6:{h=72;break c}case 7:{h=74;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{h=76;break c}case 34:{h=93;break c}case 33:{h=96;break c}case 15:{h=99;break c}case 29:{n=i&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){h=69;break c}else{h=f;j=k;f=h;h=63;continue c}}case 23:break;default:{h=102;break c}}switch(f&63){case 18:break;case 41:{f=19;j=k;h=63;continue c}default:{h=f;j=k;f=h;h=63;continue c}}if((k|0)==(p|0)){f=-1;break a}f=a[k>>0]|0;h=a[j+3>>0]|0;if(!(f<<24>>24))i=d[q+(h&255)>>0]|0;else i=v$(f,h)|0;switch(i|0){case 5:{h=86;break c}case 6:{h=88;break c}case 7:{h=90;break c}case 29:{n=h&255;if(!(1<<(n&31)&c[57168+((n>>>5|d[144193+(f&255)>>0]<<3)<<2)>>2])){h=84;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;j=k;h=63;continue c}}f=41;j=j+4|0;h=63}switch(h|0){case 69:{c[g>>2]=j;f=0;break a}case 70:{if((o-j|0)<2){f=-2;break a}c[g>>2]=j;f=0;break a}case 72:{if((o-j|0)<3){f=-2;break a}c[g>>2]=j;f=0;break a}case 74:{if((o-j|0)<4){f=-2;break a}c[g>>2]=j;f=0;break a}case 76:{c[g>>2]=j;break a}case 84:{c[g>>2]=k;f=0;break a}case 86:{if((o-k|0)<2){f=-2;break a}c[g>>2]=k;f=0;break a}case 88:{if((o-k|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 90:{if((o-k|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 93:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=32;break a}case 96:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=31;break a}case 99:if((f|0)==19){c[g>>2]=j;f=0;break a}else{c[g>>2]=k;f=30;break a}case 102:{c[g>>2]=j;f=0;break a}case 103:{f=0-f|0;break a}}}}else f=-1}else f=-4;while(0);return f|0}function R$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if((e|0)!=(f|0)){l=e;o=f-l|0;n=(o&1|0)==0;o=o&-2;p=(o|0)==0;o=n|p?f:e+o|0;if(n|p^1){f=a[e>>0]|0;p=b+76|0;h=a[e+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;k=e+2|0;n=o;h=(k|0)==(o|0);j=e+3|0;m=e+4|0;f=n-l|0;switch(i|0){case 2:{f=j0(b,k,o,g)|0;break a}case 3:{f=f0(b,k,o,g)|0;break a}case 9:{if(h){f=-3;break a}h=a[k>>0]|0;f=a[j>>0]|0;if(!(h<<24>>24))f=d[p+(f&255)>>0]|0;else f=v$(h,f)|0;c[g>>2]=(f|0)==10?m:k;f=7;break a}case 10:{c[g>>2]=k;f=7;break a}case 4:{if(h){f=-5;break a}if((a[k>>0]|0)==0?(a[j>>0]|0)==93:0){if((m|0)==(o|0)){f=-5;break a}if((a[m>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=m;f=0;break a}}break}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else k=j;break}case 7:{if((f|0)<4){f=-2;break a}else k=m;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((k|0)==(o|0)){h=46;break}f=a[k>>0]|0;h=a[k+1>>0]|0;if(!(f<<24>>24))i=d[p+(h&255)>>0]|0;else i=v$(f,h)|0;j=k+4|0;f=k+2|0;h=n-k|0;switch(i|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=45;break b}case 5:if((h|0)<2){h=32;break b}else{k=f;continue b}case 6:{if((h|0)<3){h=34;break b}k=k+3|0;continue b}case 7:if((h|0)<4){h=37;break b}else{k=j;continue b}case 4:{if((f|0)==(o|0)){h=45;break b}if(a[f>>0]|0){k=f;continue b}if((a[k+3>>0]|0)!=93){k=f;continue b}if((j|0)==(o|0)){h=45;break b}if(a[j>>0]|0){k=f;continue b}if((a[k+5>>0]|0)==62){h=44;break b}else{k=f;continue b}}default:{k=f;continue b}}}if((h|0)==32){c[g>>2]=k;f=6;break}else if((h|0)==34){c[g>>2]=k;f=6;break}else if((h|0)==37){c[g>>2]=k;f=6;break}else if((h|0)==44){c[g>>2]=j;f=0;break}else if((h|0)==45){c[g>>2]=k;f=6;break}else if((h|0)==46){c[g>>2]=o;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function S$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=e;m=f-k|0;l=(m&1|0)==0;m=m&-2;n=(m|0)==0;m=l|n?f:e+m|0;if(l|n^1){h=a[e>>0]|0;n=b+76|0;f=a[e+1>>0]|0;if(!(h<<24>>24))h=d[n+(f&255)>>0]|0;else h=v$(h,f)|0;i=e+2|0;j=e+3|0;l=m;b=(i|0)==(m|0);f=l-k|0;k=e+4|0;switch(h|0){case 4:{if(b){f=-1;break a}if((a[i>>0]|0)==0?(a[j>>0]|0)==93:0){if((k|0)==(m|0)){f=-1;break a}if((a[k>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{if(b){f=-1;break a}b=a[i>>0]|0;f=a[j>>0]|0;if(!(b<<24>>24))f=d[n+(f&255)>>0]|0;else f=v$(b,f)|0;c[g>>2]=(f|0)==10?k:i;f=7;break a}case 10:{c[g>>2]=i;f=7;break a}case 5:{if((f|0)<2){f=-2;break a}break}case 6:{if((f|0)<3){f=-2;break a}else i=j;break}case 7:{if((f|0)<4){f=-2;break a}else i=k;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{}}b:while(1){if((i|0)==(m|0)){b=38;break}f=a[i>>0]|0;b=a[i+1>>0]|0;if(!(f<<24>>24))h=d[n+(b&255)>>0]|0;else h=v$(f,b)|0;f=i+2|0;b=l-i|0;switch(h|0){case 4:case 10:case 9:case 8:case 1:case 0:{b=37;break b}case 5:if((b|0)<2){b=30;break b}else{i=f;continue b}case 6:{if((b|0)<3){b=32;break b}i=i+3|0;continue b}case 7:{if((b|0)<4){b=35;break b}i=i+4|0;continue b}default:{i=f;continue b}}}if((b|0)==30){c[g>>2]=i;f=6;break}else if((b|0)==32){c[g>>2]=i;f=6;break}else if((b|0)==35){c[g>>2]=i;f=6;break}else if((b|0)==37){c[g>>2]=i;f=6;break}else if((b|0)==38){c[g>>2]=m;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function T$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=f-e|0;r=(r&1|0)==0?f:e+(r&-2)|0;p=b+76|0;q=r;o=0;a:while(1){if((e|0)==(r|0)){f=-1;break}f=a[e>>0]|0;b=a[e+1>>0]|0;if(!(f<<24>>24))n=d[p+(b&255)>>0]|0;else n=v$(f,b)|0;f=e+2|0;b=(f|0)==(r|0);h=e+3|0;i=e+4|0;j=e+5|0;k=e+6|0;l=q-e|0;m=(i|0)==(r|0);switch(n|0){case 8:case 1:case 0:{s=10;break a}case 5:if((l|0)<2){f=-2;break a}else{n=o;e=f;o=n;continue a}case 6:if((l|0)<3){f=-2;break a}else{n=o;e=h;o=n;continue a}case 7:if((l|0)<4){f=-2;break a}else{n=o;e=i;o=n;continue a}case 2:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=33){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}e=(a[j>>0]|0)==91;o=(e&1)+o|0;e=e?k:i;continue a}case 4:{if(b){f=-1;break a}if(a[f>>0]|0){n=o;e=f;o=n;continue a}if((a[h>>0]|0)!=93){n=o;e=f;o=n;continue a}if(m){f=-1;break a}if(a[i>>0]|0){n=o;e=i;o=n;continue a}if((a[j>>0]|0)!=62){n=o;e=i;o=n;continue a}if(!o){s=24;break a}o=o+-1|0;e=k;continue a}default:{n=o;e=f;o=n;continue a}}}if((s|0)==10){c[g>>2]=e;f=0}else if((s|0)==24){c[g>>2]=k;f=42}return f|0}function U$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=27;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 21:{i=24;break a}case 3:{i=10;break a}case 2:{i=13;break a}case 10:{i=14;break a}case 9:{i=17;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13){c[g>>2]=j;h=0;break}else if((i|0)==14)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==24)if((j|0)==(e|0)){c[g>>2]=k;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==27){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function V$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if((e|0)!=(f|0)){l=b+76|0;j=e;a:while(1){if((j|0)==(f|0)){i=26;break}i=a[j>>0]|0;h=a[j+1>>0]|0;if(!(i<<24>>24))h=d[l+(h&255)>>0]|0;else h=v$(i,h)|0;k=j+2|0;switch(h|0){case 9:{i=19;break a}case 3:{i=10;break a}case 30:{i=13;break a}case 10:{i=16;break a}case 6:{j=j+3|0;continue a}case 7:{j=j+4|0;continue a}default:{j=k;continue a}}}if((i|0)==10)if((j|0)==(e|0)){h=f0(b,k,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==13)if((j|0)==(e|0)){h=g0(b,k,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==16)if((j|0)==(e|0)){c[g>>2]=k;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==19){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}if((k|0)==(f|0)){h=-3;break}h=a[k>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:k;h=7;break}else if((i|0)==26){c[g>>2]=f;h=6;break}}else h=-4;while(0);return h|0}function W$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=b+76|0;b=c;a:while(1){c=a[b>>0]|0;h=b+1|0;i=a[h>>0]|0;if(!(c<<24>>24))f=d[j+(i&255)>>0]|0;else f=v$(c,i)|0;g=e+1|0;switch(f|0){case 7:{if(c<<24>>24==(a[e>>0]|0)){e=g;b=h;c=i;k=7}else{b=0;break a}break}case 6:{k=7;break}case 5:{k=9;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{if((a[e>>0]|0)!=c<<24>>24){b=0;break a}if((a[g>>0]|0)!=i<<24>>24){b=0;break a}break}default:{k=14;break a}}if((k|0)==7){k=0;f=b+1|0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}e=e+1|0;b=f;c=a[f>>0]|0;k=9}if((k|0)==9){k=0;if(c<<24>>24!=(a[e>>0]|0)){b=0;break}if((a[b+1>>0]|0)!=(a[e+1>>0]|0)){b=0;break}}e=e+2|0;b=b+2|0}b:do if((k|0)==14){e=a[e>>0]|0;b=a[g>>0]|0;if(!(e<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(e,b)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 7:case 6:case 5:{b=0;break b}default:{}}b=1}while(0);return b|0}function X$(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;b=c;while(1){c=a[e>>0]|0;f=(b|0)==(d|0);if(!(c<<24>>24)){g=7;break}if(f){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=f&1;return b|0}function Y$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 27:case 26:case 25:case 24:case 23:case 22:case 29:case 5:{f=f+2|0;continue a}case 6:{f=f+3|0;continue a}case 7:{f=f+4|0;continue a}default:break a}}return f-c|0}function Z$(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+76|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=v$(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function _$(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=b+76|0;x=0;y=0;u=1;a:while(1){w=e+2|0;b=a[w>>0]|0;r=b<<24>>24==0;s=e+3|0;t=a[s>>0]|0;if(r)q=d[z+(t&255)>>0]|0;else q=v$(b,t)|0;b=(y|0)<(f|0);h=e+4|0;i=(u|0)==1;j=(u|0)==2;v=g+(y<<4)+12|0;k=y+1|0;l=(u|0)==0;m=(u|0)!=2;n=g+(y<<4)+8|0;o=g+(y<<4)+4|0;p=g+(y<<4)|0;do switch(q|0){case 5:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 6:{if(!l){t=u;v=y;w=x;e=s;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=s;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=s;y=v;x=w;continue a}case 7:{if(!l){t=u;v=y;w=x;e=h;u=t;y=v;x=w;continue a}if(!b){v=y;w=x;u=1;e=h;y=v;x=w;continue a}c[p>>2]=w;a[v>>0]=1;v=y;w=x;u=1;e=h;y=v;x=w;continue a}case 24:case 22:case 29:{if(!l){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=1;e=w;y=t;x=v;continue a}c[p>>2]=w;a[v>>0]=1;t=y;v=x;u=1;e=w;y=t;x=v;continue a}case 12:{if(m){if(!b){v=y;x=12;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=12;u=2;e=w;y=v;continue a}if((x|0)!=12){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=12;y=k;u=0;e=w;continue a}c[n>>2]=w;x=12;y=k;u=0;e=w;continue a}case 13:{if(m){if(!b){v=y;x=13;u=2;e=w;y=v;continue a}c[o>>2]=h;v=y;x=13;u=2;e=w;y=v;continue a}if((x|0)!=13){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!b){x=13;y=k;u=0;e=w;continue a}c[n>>2]=w;x=13;y=k;u=0;e=w;continue a}case 3:{if(!b){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}a[v>>0]=0;s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}case 21:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}if(!(a[v>>0]|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}do if(r&(w|0)!=(c[o>>2]|0)&t<<24>>24==32){h=a[h>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[z+(b&255)>>0]|0}else b=v$(h,b)|0;if((b|0)!=(x|0)){t=y;v=x;u=2;e=w;y=t;x=v;continue a}}while(0);a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 10:case 9:{if(i){t=y;v=x;u=0;e=w;y=t;x=v;continue a}if(!j){s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}if(!b){t=y;v=x;u=2;e=w;y=t;x=v;continue a}a[v>>0]=0;t=y;v=x;u=2;e=w;y=t;x=v;continue a}case 17:case 11:if(m)break a;else{t=y;v=x;u=2;e=w;y=t;x=v;continue a}default:{s=u;t=y;v=x;e=w;u=s;y=t;x=v;continue a}}while(0)}return y|0}function $$(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;b=c+4|0;d=a[b>>0]|0;a:do if(!(d<<24>>24))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){f=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{f=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{f=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{f=10;break b}default:{}}}c=c+2|0}if((f|0)==8){f=0;b=d+-48|b<<4}else if((f|0)==9){f=0;b=(b<<4)+-55+d|0}else if((f|0)==10){f=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{e=b;b=0;c=0;f=13}else{e=b;b=0;c=d;f=13}while(0);c:do if((f|0)==13)while(1){f=0;if(!(c<<24>>24)){c=a[e+1>>0]|0;if(c<<24>>24==59){f=18;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;c=e+2|0;if((b|0)>=1114112){b=-1;break c}e=c;c=a[c>>0]|0;f=13}while(0);if((f|0)==18)b=k_(b)|0;return b|0}function a0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=c+2|0;h=c+3|0;i=c+4|0;e=c+5|0;f=c+1|0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[g>>0]|0)==0?(a[h>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[f>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else j=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[f>>0]|0)==97:0)?(a[g>>0]|0)==0:0)?(a[h>>0]|0)==109:0)?(a[i>>0]|0)==0:0)?(a[e>>0]|0)==112:0)b=38;else j=27;break}case 4:{if(!(a[c>>0]|0)){d=c+6|0;b=c+7|0;switch(a[f>>0]|0){case 113:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=117){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==116){b=34;break a}else{j=27;break a}}case 97:{if(a[g>>0]|0){j=27;break a}if((a[h>>0]|0)!=112){j=27;break a}if(a[i>>0]|0){j=27;break a}if((a[e>>0]|0)!=111){j=27;break a}if(a[d>>0]|0){j=27;break a}if((a[b>>0]|0)==115){b=39;break a}else{j=27;break a}}default:{j=27;break a}}}else j=27;break}default:j=27}while(0);if((j|0)==27)b=0;return b|0}function b0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+76|0;k=g+4|0;b=e;while(1){if(b>>>0>=f>>>0)break;h=a[b>>0]|0;e=a[b+1>>0]|0;if(!(h<<24>>24))e=d[j+(e&255)>>0]|0;else e=v$(h,e)|0;i=b+2|0;switch(e|0){case 9:{c[g>>2]=(c[g>>2]|0)+1;if((i|0)==(f|0))b=f;else{e=a[i>>0]|0;h=a[b+3>>0]|0;if(!(e<<24>>24))e=d[j+(h&255)>>0]|0;else e=v$(e,h)|0;b=(e|0)==10?b+4|0:i}c[k>>2]=-1;break}case 6:{b=b+3|0;break}case 7:{b=b+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;b=i;break}default:b=i}c[k>>2]=(c[k>>2]|0)+1}return}function c0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+76|0;a:while(1){h=e+2|0;if((h|0)==(k|0)){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=v$(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function d0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=h;b=c[e>>2]|0;a:while(1){if((b|0)==(f|0)){b=f;break}k=a[b+1>>0]|0;i=a[b>>0]|0;m=i&255;j=k&255;n=j>>>6;l=(j&63|128)&255;switch(i<<24>>24){case 0:{if(k<<24>>24>-1){i=c[g>>2]|0;if((i|0)==(h|0))break a;c[g>>2]=i+1;a[i>>0]=k}else p=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{p=7;break}case -37:case -38:case -39:case -40:{i=c[g>>2]|0;if((o-i|0)<4)break a;m=(m<<2&12|n)+1|0;c[g>>2]=i+1;a[i>>0]=m>>>2|240;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=j>>>2&15|m<<4&48|128;n=b+2|0;m=d[b+3>>0]|0;l=(j<<4&48|m>>>6|a[n>>0]<<2&12|128)&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=l;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=m&63|128;b=n;break}default:{i=c[g>>2]|0;if((o-i|0)<3)break a;c[g>>2]=i+1;a[i>>0]=m>>>4|224;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=n|m<<2&60|128;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}}if((p|0)==7){p=0;i=c[g>>2]|0;if((o-i|0)<2)break;c[g>>2]=i+1;a[i>>0]=n|m<<2|192;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=l}b=b+2|0}c[e>>2]=b;return}function e0(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;e=c[f>>2]|0;if((g-e|0)>(i-(c[h>>2]|0)|0)){j=g+-2|0;j=(a[j>>0]&-8)<<24>>24==-40?j:g}else j=g;while(1){if((e|0)==(j|0))break;g=c[h>>2]|0;if((g|0)==(i|0))break;k=((d[e>>0]|0)<<8|(d[e+1>>0]|0))&65535;c[h>>2]=g+2;b[g>>1]=k;g=(c[f>>2]|0)+2|0;c[f>>2]=g;e=g}return}function f0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;m=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(l&255)>>0]|0;else j=v$(k,l)|0;n=f;h=n-e|0;i=e+2|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[143937+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=h0(b,i,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[m+(e&255)>>0]|0;else h=v$(b,e)|0;j=i+2|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{i=j;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 18:{e=29;break b}case 29:break;default:{e=30;break b}}l=e&255;if(!(1<<(l&31)&c[57168+((l>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else i=j}if((e|0)==22){c[g>>2]=i;b=0;break}else if((e|0)==23){if((n-i|0)<2){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==25){if((n-i|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==27){if((n-i|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((e|0)==29){c[g>>2]=j;b=9;break}else if((e|0)==30){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function g0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;b=22;break a}default:{c[g>>2]=e;b=0;break a}}e=e+2|0;b:while(1){if((e|0)==(f|0)){b=-1;break a}b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))i=d[k+(h&255)>>0]|0;else i=v$(b,h)|0;j=e+2|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:{e=j;continue b}case 5:{h=24;break b}case 6:{h=26;break b}case 7:{h=28;break b}case 18:{h=30;break b}case 29:break;default:{h=31;break b}}i=h&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){h=23;break}else e=j}if((h|0)==23){c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==30){c[g>>2]=j;b=28;break}else if((h|0)==31){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function h0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;i=h<<24>>24==0;j=e+2|0;k=a[e+1>>0]|0;if(i&k<<24>>24==120){b=i0(b,j,f,g)|0;break}l=b+76|0;if(i)b=d[l+(k&255)>>0]|0;else b=v$(h,k)|0;if((b|0)!=25){c[g>>2]=e;b=0;break}b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;i=j+2|0;switch(b|0){case 25:{j=i;break}case 18:{h=14;break b}default:{h=15;break b}}}if((h|0)==14){c[g>>2]=i;b=10;break}else if((h|0)==15){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function i0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((e|0)!=(f|0)){h=a[e>>0]|0;j=b+76|0;b=a[e+1>>0]|0;if(!(h<<24>>24))b=d[j+(b&255)>>0]|0;else b=v$(h,b)|0;if((b&-2|0)!=24){c[g>>2]=e;b=0;break}i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=v$(b,h)|0;e=i+2|0;switch(b|0){case 24:case 25:{i=e;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e;b=10;break}else if((h|0)==14){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function j0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;a:do if((e|0)!=(f|0)){k=a[e>>0]|0;n=b+76|0;l=a[e+1>>0]|0;if(!(k<<24>>24))j=d[n+(l&255)>>0]|0;else j=v$(k,l)|0;h=e+2|0;m=f;i=m-e|0;switch(j|0){case 29:{l=l&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}else l=0;break}case 24:case 22:{l=0;break}case 5:{if((i|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 6:{if((i|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((i|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))j=d[n+(j&255)>>0]|0;else j=v$(i,j)|0;i=e+4|0;switch(j|0){case 27:{h=k0(b,i,f,g)|0;break a}case 20:{h=l0(i,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=m0(b,h,f,g)|0;break a}case 17:{h=n0(b,h,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}b:while(1){c:while(1){if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;e=h+2|0;switch(k|0){case 5:{o=32;break b}case 6:{o=34;break b}case 7:{o=36;break b}case 10:case 9:case 21:{h=e;o=56;break b}case 11:{o=71;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{h=e;continue c}case 23:break c;case 29:break;default:{o=77;break b}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(i&255)>>0]<<3)<<2)>>2])){o=31;break b}else h=e}if(l|0){o=39;break}if((e|0)==(f|0)){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[n+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=49;break b}case 6:{o=51;break b}case 7:{o=53;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[57168+((l>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=46;break b}break}case 24:case 22:break;default:{o=55;break b}}l=1;h=h+4|0}d:switch(o|0){case 31:{c[g>>2]=h;h=0;break a}case 32:{if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}case 34:{if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 36:{if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 39:{c[g>>2]=h;h=0;break a}case 46:{c[g>>2]=e;h=0;break a}case 49:{if((m-e|0)<2){h=-2;break a}c[g>>2]=e;h=0;break a}case 51:{if((m-e|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 53:{if((m-e|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 55:{c[g>>2]=e;h=0;break a}case 56:{e:while(1){o=0;if((h|0)==(f|0)){h=-1;break a}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))l=d[n+(j&255)>>0]|0;else l=v$(i,j)|0;k=h+2|0;switch(l|0){case 11:{o=71;break d}case 17:break d;case 10:case 9:case 21:{h=k;o=56;break}case 29:{o=61;break e}case 24:case 22:break e;case 5:{o=64;break e}case 6:{o=66;break e}case 7:{o=68;break e}default:{o=70;break e}}}if((o|0)==61){o=j&255;if(!(1<<(o&31)&c[57168+((o>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){c[g>>2]=h;h=0;break a}}else if((o|0)==64){if((m-h|0)<2){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==66){if((m-h|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==68){if((m-h|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}else if((o|0)==70){c[g>>2]=h;h=0;break a}h=o0(b,k,f,g)|0;break a}case 77:{c[g>>2]=h;h=0;break a}}if((o|0)==71){c[g>>2]=h+2;h=2;break}i=h+2|0;if((i|0)!=(f|0)){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function k0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)==(f|0))b=-1;else{if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){j=b+76|0;k=f;i=e+2|0;b:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;e=a[i+1>>0]|0;if(!(b<<24>>24))h=d[j+(e&255)>>0]|0;else h=v$(b,e)|0;b=i+2|0;e=k-i|0;switch(h|0){case 8:case 1:case 0:{l=16;break b}case 5:if((e|0)<2){b=-2;break a}else{i=b;continue b}case 6:{if((e|0)<3){b=-2;break a}i=i+3|0;continue b}case 7:{if((e|0)<4){b=-2;break a}i=i+4|0;continue b}case 27:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){i=b;continue b}if((a[i+3>>0]|0)==45)break b;else{i=b;continue b}}default:{i=b;continue b}}}if((l|0)==16){c[g>>2]=i;b=0;break}b=i+4|0;if((b|0)==(f|0)){b=-1;break}if((a[b>>0]|0)==0?(a[i+5>>0]|0)==62:0){c[g>>2]=i+6;b=13;break}c[g>>2]=b;b=0;break}c[g>>2]=e;b=0}while(0);return b|0}function l0(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)<12)d=-1;else{d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[144449+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}return d|0}function m0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;a:do if((e|0)==(f|0))b=-1;else{j=a[e>>0]|0;o=b+76|0;b=a[e+1>>0]|0;if(!(j<<24>>24))i=d[o+(b&255)>>0]|0;else i=v$(j,b)|0;n=f;h=n-e|0;switch(i|0){case 29:{k=b&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((h|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((h|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((h|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b=e+2|0;b:while(1){if((b|0)==(f|0)){b=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))k=d[o+(i&255)>>0]|0;else k=v$(h,i)|0;j=b+2|0;switch(k|0){case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{m=23;break b}case 6:{m=25;break b}case 7:{m=27;break b}case 10:case 9:case 21:{m=29;break b}case 15:{m=46;break b}case 29:break;default:break b}k=i&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[144193+(h&255)>>0]<<3)<<2)>>2])){m=22;break}else b=j}if((m|0)==22){c[g>>2]=b;b=0;break}else if((m|0)==23){if((n-b|0)<2){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==25){if((n-b|0)<3){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==27){if((n-b|0)<4){b=-2;break}c[g>>2]=b;b=0;break}else if((m|0)==29){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}c:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))i=d[o+(h&255)>>0]|0;else i=v$(b,h)|0;b=j+2|0;h=n-j|0;switch(i|0){case 8:case 1:case 0:{m=41;break c}case 5:if((h|0)<2){b=-2;break a}else{j=b;continue c}case 6:{if((h|0)<3){b=-2;break a}j=j+3|0;continue c}case 7:{if((h|0)<4){b=-2;break a}j=j+4|0;continue c}case 15:{if((b|0)==(f|0)){b=-1;break a}if(a[b>>0]|0){j=b;continue c}if((a[j+3>>0]|0)==62){m=45;break c}else{j=b;continue c}}default:{j=b;continue c}}}if((m|0)==41){c[g>>2]=j;b=0;break}else if((m|0)==45){c[g>>2]=j+4;b=c[p>>2]|0;break}}else if((m|0)==46){if(!(p0(e,b,p)|0)){c[g>>2]=b;b=0;break}if((j|0)==(f|0)){b=-1;break}if((a[j>>0]|0)==0?(a[b+3>>0]|0)==62:0){c[g>>2]=b+4;b=c[p>>2]|0;break}else b=j}c[g>>2]=b;b=0}while(0);l=q;return b|0}function n0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;l=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[l+(i&255)>>0]|0;else h=v$(j,i)|0;k=f;b=k-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}j=e+2|0;b:while(1){if((j|0)==(f|0)){b=-1;break a}b=a[j>>0]|0;h=a[j+1>>0]|0;if(!(b<<24>>24))e=d[l+(h&255)>>0]|0;else e=v$(b,h)|0;i=j+2|0;switch(e|0){case 23:case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{e=23;break b}case 6:{e=25;break b}case 7:{e=27;break b}case 10:case 9:case 21:{e=29;break b}case 11:{e=36;break b}case 29:break;default:{e=37;break b}}e=h&255;if(!(1<<(e&31)&c[57168+((e>>>5|(d[144193+(b&255)>>0]|0)<<3)<<2)>>2])){e=22;break}else j=i}if((e|0)==22){c[g>>2]=j;b=0;break}else if((e|0)==23){if((k-j|0)<2){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==25){if((k-j|0)<3){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==27){if((k-j|0)<4){b=-2;break}c[g>>2]=j;b=0;break}else if((e|0)==29){c:while(1){if((i|0)==(f|0)){b=-1;break a}b=a[i>>0]|0;h=a[i+1>>0]|0;if(!(b<<24>>24))b=d[l+(h&255)>>0]|0;else b=v$(b,h)|0;h=i+2|0;switch(b|0){case 10:case 9:case 21:{i=h;e=29;break}case 11:{e=34;break c}default:{e=35;break c}}}if((e|0)==34){c[g>>2]=h;b=5;break}else if((e|0)==35){c[g>>2]=i;b=0;break}}else if((e|0)==36){c[g>>2]=i;b=5;break}else if((e|0)==37){c[g>>2]=j;b=0;break}}else b=-1;while(0);return b|0}function o0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;c[p>>2]=e;m=b+76|0;n=f;h=0;a:while(1){b:while(1){if((e|0)==(f|0)){e=-1;break a}k=a[e>>0]|0;i=a[e+1>>0]|0;if(!(k<<24>>24))j=d[m+(i&255)>>0]|0;else j=v$(k,i)|0;switch(j|0){case 5:{o=11;break a}case 6:{o=13;break a}case 7:{o=15;break a}case 23:{o=17;break b}case 10:case 9:case 21:{h=e;o=33;break b}case 14:{o=39;break b}case 29:{j=i&255;if(!(1<<(j&31)&c[57168+((j>>>5|d[144193+(k&255)>>0]<<3)<<2)>>2])){o=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{o=93;break a}}k=e+2|0;c[p>>2]=k;e=k}c:do if((o|0)==17){o=0;if(h|0){o=18;break a}h=e+2|0;c[p>>2]=h;if((h|0)==(f|0)){e=-1;break a}i=a[h>>0]|0;j=a[e+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(i,j)|0;switch(k|0){case 5:{o=26;break a}case 6:{o=28;break a}case 7:{o=30;break a}case 24:case 22:{h=1;break c}case 29:break;default:{o=32;break a}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(i&255)>>0]<<3)<<2)>>2])){o=25;break a}else h=1}else if((o|0)==33)while(1){o=0;e=h+2|0;c[p>>2]=e;if((e|0)==(f|0)){e=-1;break a}i=a[e>>0]|0;h=a[h+3>>0]|0;if(!(i<<24>>24))h=d[m+(h&255)>>0]|0;else h=v$(i,h)|0;switch(h|0){case 14:{o=39;break c}case 9:case 10:case 21:{h=e;o=33;break}default:{o=38;break a}}}while(0);d:do if((o|0)==39){while(1){o=0;j=e+2|0;c[p>>2]=j;if((j|0)==(f|0)){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(i&255)>>0]|0;else k=v$(h,i)|0;if((k|1|0)==13)break;switch(k|0){case 9:case 10:case 21:{e=j;o=39;break}default:{o=45;break a}}}e=e+4|0;c[p>>2]=e;e:while(1){if((e|0)==(f|0)){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[m+(i&255)>>0]|0;else h=v$(h,i)|0;if((h|0)==(k|0))break;switch(h|0){case 8:case 1:case 0:{o=59;break a}case 2:{o=64;break a}case 5:{if((n-e|0)<2){e=-2;break a}j=e+2|0;c[p>>2]=j;e=j;continue e}case 6:{if((n-e|0)<3){e=-2;break a}j=e+3|0;c[p>>2]=j;e=j;continue e}case 7:{if((n-e|0)<4){e=-2;break a}j=e+4|0;c[p>>2]=j;e=j;continue e}case 3:{e=f0(b,e+2|0,f,p)|0;if((e|0)<1){o=62;break a}e=c[p>>2]|0;continue e}default:{j=e+2|0;c[p>>2]=j;e=j;continue e}}}i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[m+(j&255)>>0]|0;else h=v$(h,j)|0;switch(h|0){case 11:{o=85;break a}case 17:{o=86;break a}case 10:case 9:case 21:{e=i;break}default:{o=71;break a}}f:while(1){i=e+2|0;c[p>>2]=i;if((i|0)==(f|0)){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))k=d[m+(j&255)>>0]|0;else k=v$(h,j)|0;switch(k|0){case 5:{o=79;break a}case 6:{o=81;break a}case 7:{o=83;break a}case 11:{o=85;break a}case 17:{o=86;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{o=91;break a}}}k=j&255;if(!(1<<(k&31)&c[57168+((k>>>5|d[143937+(h&255)>>0]<<3)<<2)>>2])){o=78;break a}else h=0}while(0);e=e+4|0;c[p>>2]=e}switch(o|0){case 9:{c[g>>2]=e;e=0;break}case 11:{if((f-e|0)<2)e=-2;else{c[g>>2]=e;e=0}break}case 13:{if((f-e|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 15:{if((f-e|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 18:{c[g>>2]=e;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((f-h|0)<2)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((f-h|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 30:{if((f-h|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 32:{c[g>>2]=h;e=0;break}case 38:{c[g>>2]=e;e=0;break}case 45:{c[g>>2]=j;e=0;break}case 59:{c[g>>2]=e;e=0;break}case 62:{if(!e){c[g>>2]=c[p>>2];e=0}break}case 64:{c[g>>2]=e;e=0;break}case 71:{c[g>>2]=i;e=0;break}case 78:{c[g>>2]=i;e=0;break}case 79:{if((n-i|0)<2)e=-2;else{c[g>>2]=i;e=0}break}case 81:{if((n-i|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 83:{if((n-i|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 85:{c[g>>2]=e+4;e=1;break}case 86:{h=i+2|0;c[p>>2]=h;e=h;if((h|0)==(f|0))e=-1;else{if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}break}case 91:{c[g>>2]=i;e=0;break}case 93:{c[g>>2]=e;e=0;break}}l=q;return e|0}function p0(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function q0(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;l=e+76|0;k=g;j=f;a:while(1){if((j|0)==(g|0)){e=-1;break}f=a[j>>0]|0;e=a[j+1>>0]|0;if(!(f<<24>>24))i=d[l+(e&255)>>0]|0;else i=v$(f,e)|0;e=j+2|0;f=k-j|0;switch(i|0){case 8:case 1:case 0:{m=12;break a}case 5:if((f|0)<2){e=-2;break a}else{j=e;continue a}case 6:{if((f|0)<3){e=-2;break a}j=j+3|0;continue a}case 7:{if((f|0)<4){e=-2;break a}j=j+4|0;continue a}case 13:case 12:if((i|0)==(b|0)){m=14;break a}else{j=e;continue a}default:{j=e;continue a}}}b:do if((m|0)==12){c[h>>2]=j;e=0}else if((m|0)==14)if((e|0)==(g|0))e=-27;else{c[h>>2]=e;f=a[e>>0]|0;e=a[j+3>>0]|0;if(!(f<<24>>24))e=d[l+(e&255)>>0]|0;else e=v$(f,e)|0;switch(e|0){case 20:case 30:case 11:case 10:case 9:case 21:{e=27;break b}default:{}}e=0}while(0);return e|0}function r0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if((e|0)==(f|0))h=-1;else{h=a[e>>0]|0;i=a[e+1>>0]|0;k=b+76|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=e+2|0;switch(i|0){case 27:{h=k0(b,h,f,g)|0;break a}case 20:{c[g>>2]=h;h=33;break a}case 24:case 22:{b=h;b:while(1){if((b|0)==(f|0)){h=-1;break a}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))i=d[k+(i&255)>>0]|0;else i=v$(h,i)|0;h=b+2|0;switch(i|0){case 24:case 22:{b=h;break}case 30:{j=14;break b}case 10:case 9:case 21:break b;default:{j=21;break b}}}if((j|0)==21){c[g>>2]=b;h=0;break a}c:do if((j|0)==14){if((h|0)==(f|0)){h=-1;break a}h=a[h>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(h,i)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;h=0;break a}while(0);c[g>>2]=b;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}while(0);return h|0}function s0(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((e|0)!=(f|0)){j=a[e>>0]|0;k=b+76|0;i=a[e+1>>0]|0;if(!(j<<24>>24))h=d[k+(i&255)>>0]|0;else h=v$(j,i)|0;l=f;b=l-e|0;switch(h|0){case 29:{i=i&255;if(!(1<<(i&31)&c[57168+((i>>>5|(d[143937+(j&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{if((b|0)<2){b=-2;break a}c[g>>2]=e;b=0;break a}case 6:{if((b|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((b|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}default:{c[g>>2]=e;b=0;break a}}b:while(1){b=e;e=e+2|0;if((e|0)==(f|0)){b=-20;break a}i=a[e>>0]|0;b=a[b+3>>0]|0;if(!(i<<24>>24))h=d[k+(b&255)>>0]|0;else h=v$(i,b)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 29:break;default:{h=29;break b}}j=b&255;if(!(1<<(j&31)&c[57168+((j>>>5|(d[144193+(i&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=e;b=0;break}else if((h|0)==22){if((l-e|0)<2){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==24){if((l-e|0)<3){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==26){if((l-e|0)<4){b=-2;break}c[g>>2]=e;b=0;break}else if((h|0)==28){c[g>>2]=e;b=20;break}else if((h|0)==29){c[g>>2]=e;b=0;break}}else b=-1;while(0);return b|0}function t0(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;while(1){b=c[d>>2]|0;if((b|0)==(e|0))break;if((c[f>>2]|0)==(g|0))break;c[d>>2]=b+1;h=a[b>>0]|0;b=c[f>>2]|0;c[f>>2]=b+1;a[b>>0]=h}return}function u0(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function v0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(42,a,b,c,d,e,f,g,h,i,j)|0}function w0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[59184+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function x0(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+68|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(y0(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+28|0;f=c[p>>2]|0;b=(b|0)!=0;do if(!(tb[c[r>>2]&127](d,n,f,144489)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];e=c[t>>2]|0;if(i|0)c[i>>2]=e;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}e=c[o>>2]|0;if(e|0){n=e;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(tb[c[r>>2]&127](d,n,f,144497)|0){f=c[q>>2]|0;e=f;if((((z0(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=eb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(y0(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if(b|(tb[c[r>>2]&127](d,n,f,144506)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=(m|0)!=0;b=f;if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107958)|0)){if(!(tb[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,107950)|0)){c[g>>2]=b;e=0;break}if(n)c[m>>2]=0}else if(n)c[m>>2]=1;while(1){if(!(A0(z0(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function y0(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(A0(z0(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+68|0;do b=b+(c[j>>2]|0)|0;while((A0(z0(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=z0(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(A0(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=z0(a,b,d)|0}while((A0(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=z0(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function z0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+1|0);l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function A0(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function B0(){return 60340}function C0(b,d,e){b=b|0;d=d|0;e=e|0;e=L$(e)|0;if((e|0)==-1)e=0;else{a[b+73>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+52>>2]=31;c[b+76>>2]=d;c[d>>2]=b;e=1}return e|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,0,b,c,d)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return P$(60708,a,1,b,c,d)|0}function F0(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return x0(43,a,b,c,d,e,f,g,h,i,j)|0}function G0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;fb[c[b+60>>2]&31](b,i,e,g,f+127|0);do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(u0(f,144464)|0?(c[b+68>>2]|0)==2:0)break;b=L$(f)|0;if((b|0)!=-1)b=c[60708+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function H0(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=j_(b,c,d,e)|0;if(b|0)a[b+76+58>>0]=23;return b|0}function I0(a){a=a|0;c[a>>2]=4;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function J0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=5;a=0;break}case 12:{c[a>>2]=5;a=1;break}case 11:{c[a>>2]=5;a=55;break}case 13:{c[a>>2]=5;a=56;break}case 14:{a=0;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=9;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function K0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]<<1)|0,e,144517)|0))g=7;else{c[a>>2]=6;a=3}break}case 29:{c[a>>2]=7;a=2;break}default:g=7}if((g|0)==7)a=N0(a,b)|0;return a|0}function L0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=8;a=4;break}default:a=N0(a,b)|0}return a|0}function M0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function N0(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=7;a=-1}return a|0}function O0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=11;a=3;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=8;else{c[a>>2]=12;a=3}break}default:h=8}while(0);if((h|0)==8)a=N0(a,b)|0;return a|0}function P0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144539)|0){c[a>>2]=13;a=11;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144546)|0){c[a>>2]=14;a=33;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144554)|0){c[a>>2]=15;a=39;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,144562)|0))i=14;else{c[a>>2]=16;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=17;a=3;break}default:i=14}while(0);if((i|0)==14)a=N0(a,b)|0;return a|0}function Q0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=7;a=2;break}default:a=N0(a,b)|0}return a|0}function R0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=18;a=5;break}default:a=N0(a,b)|0}return a|0}function S0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=11;a=6;break}default:a=N0(a,b)|0}return a|0}function T0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=9;a=7;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function U0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=19;a=11;break}case 18:{c[a>>2]=20;a=9;break}default:a=N0(a,b)|0}return a|0}function V0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=21;a=34;break}default:a=N0(a,b)|0}return a|0}function W0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=22;a=40;break}default:a=N0(a,b)|0}return a|0}function X0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=23;a=18;break}default:a=N0(a,b)|0}return a|0}function Y0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=10;a=8;break}default:a=N0(a,b)|0}return a|0}function Z0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=24;a=17;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=6;else{c[a>>2]=25;a=17}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function _0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}default:a=N0(a,b)|0}return a|0}function $0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=27;a=21;break}default:a=N0(a,b)|0}return a|0}function a1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=26;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=20;break}default:a=N0(a,b)|0}return a|0}function b1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=c[d>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;d=c[d>>2]|0;break}default:d=N0(a,b)|0}return d|0}function c1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+12|0;switch(b|0){case 33:{c[a>>2]=29;d=0;break}case 34:{d=c[g>>2]|0;if(!d)h=7;else{c[g>>2]=d+-1;d=0}break}case 15:{d=0;break}case 26:{h=7;break}case -4:{if(!(c[g>>2]|0))d=0;else h=7;break}default:d=P0(a,b,d,e,f)|0}if((h|0)==7)d=N0(a,b)|0;return d|0}function d1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144571)|0){c[a>>2]=30;a=0;break a}if(!(tb[c[g>>2]&127](f,d,e,144579)|0))h=6;else{c[a>>2]=31;a=0}break}default:h=6}while(0);if((h|0)==6)a=N0(a,b)|0;return a|0}function e1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=N0(a,b)|0}return a|0}function f1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=28;a=58;break}default:a=N0(a,b)|0}return a|0}function g1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+28|0;h=a+8|0;if(tb[c[g>>2]&127](f,d,e,144586)|0){c[a>>2]=26;c[h>>2]=39;a=42;break a}if(!(tb[c[g>>2]&127](f,d,e,144592)|0))i=7;else{c[a>>2]=26;c[h>>2]=39;a=41}break}case 23:{c[a>>2]=32;c[a+4>>2]=1;a=44;break}default:i=7}while(0);if((i|0)==7)a=N0(a,b)|0;return a|0}function h1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(tb[c[f+28>>2]&127](f,d+(c[f+68>>2]|0)|0,e,144596)|0))g=9;else{c[a>>2]=33;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=34;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:g=9}if((g|0)==9)a=N0(a,b)|0;return a|0}function i1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;switch(b|0){case 15:{d=39;break}case 24:{c[a>>2]=26;c[d>>2]=39;d=45;break}case 36:{c[a>>2]=26;c[d>>2]=39;d=46;break}case 21:{c[a>>2]=36;d=39;break}default:d=N0(a,b)|0}return d|0}function j1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=35;a=51;break}case 30:{c[a>>2]=35;a=53;break}case 31:{c[a>>2]=35;a=52;break}case 32:{c[a>>2]=35;a=54;break}default:a=N0(a,b)|0}return a|0}function k1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=a+8|0;e=a+4|0;switch(b|0){case 15:{d=39;break}case 24:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=45}else d=45;break}case 36:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=46}else d=46;break}case 35:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=47}else d=47;break}case 37:{b=(c[e>>2]|0)+-1|0;c[e>>2]=b;if(!b){c[a>>2]=26;c[d>>2]=39;d=48}else d=48;break}case 38:{c[a>>2]=34;d=50;break}case 21:{c[a>>2]=34;d=49;break}default:d=N0(a,b)|0}return d|0}function l1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=37;a=51;break}default:a=N0(a,b)|0}return a|0}function m1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=26;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=36;a=39;break}default:a=N0(a,b)|0}return a|0}function n1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=33;break}case 41:case 18:{c[a>>2]=38;a=22;break}default:a=N0(a,b)|0}return a|0}function o1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+28|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(tb[i&127](f,d,e,c[62576+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=39;g=g+23|0;break a}if(!(tb[i&127](f,d,e,144562)|0))j=10;else{c[a>>2]=40;g=33}break}case 23:{c[a>>2]=41;g=33;break}default:j=10}while(0);if((j|0)==10)g=N0(a,b)|0;return g|0}function p1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+28|0;h=f+68|0;if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144603)|0){c[a>>2]=21;a=35;break a}if(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144611)|0){c[a>>2]=21;a=36;break a}if(!(tb[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,144620)|0))i=9;else{c[a>>2]=42;a=33}break}case 27:{c[a>>2]=21;a=37;break}default:i=9}while(0);if((i|0)==9)a=N0(a,b)|0;return a|0}function q1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function r1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=44;a=31;break}default:a=N0(a,b)|0}return a|0}function s1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=41;a=33;break}default:a=N0(a,b)|0}return a|0}function t1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=45;a=32;break}default:a=N0(a,b)|0}return a|0}function u1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=39;a=33;break}case 21:{c[a>>2]=43;a=33;break}default:a=N0(a,b)|0}return a|0}function v1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=21;a=38;break}default:a=N0(a,b)|0}return a|0}function w1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=46;a=10;break}default:a=N0(a,b)|0}return a|0}function x1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=47;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=48;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function y1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=49;a=13;break}default:a=N0(a,b)|0}return a|0}function z1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=47;a=14;break}default:a=N0(a,b)|0}return a|0}function A1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}case 18:{if(!(tb[c[f+28>>2]&127](f,d,e,144674)|0))g=5;else{c[a>>2]=50;a=11}break}default:g=5}if((g|0)==5)a=N0(a,b)|0;return a|0}function B1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=26;c[a+8>>2]=11;a=16;break}default:a=N0(a,b)|0}return a|0}function C1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+28|0;if(tb[c[g>>2]&127](f,d,e,144525)|0){c[a>>2]=51;a=11;break a}if(!(tb[c[g>>2]&127](f,d,e,144532)|0))h=7;else{c[a>>2]=52;a=11}break}case 27:{c[a>>2]=26;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=N0(a,b)|0;return a|0}function D1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=53;a=13;break}default:a=N0(a,b)|0}return a|0}function E1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=51;a=14;break}default:a=N0(a,b)|0}return a|0}function F1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?9:28;a=15;break}default:a=N0(a,b)|0}return a|0}function G1(){return 190360}function H1(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=O1(c[a+60>>2]|0)|0;a=K1(xa(6,d|0)|0)|0;l=b;return a|0}function I1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=K1(bb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=K1(bb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function J1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((K1(Za(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function K1(a){a=a|0;if(a>>>0>4294963200){c[(L1()|0)>>2]=0-a;a=-1}return a|0}function L1(){return (M1()|0)+64|0}function M1(){return N1()|0}function N1(){return 62988}function O1(a){a=a|0;return a|0}function P1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=K1(ab(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function Q1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Qa(54,f|0)|0):0)a[b+75>>0]=-1;f=I1(b,d,e)|0;l=g;return f|0}function R1(a){a=a|0;var b=0;b=(S1(a)|0)==0;return (b?a:a|32)|0}function S1(a){a=a|0;return (a+-65|0)>>>0<26|0}function T1(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;U1(h,0);d=V1(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function U1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function V1(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(L1()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=W1(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((d[144681+i>>0]|0)>15){g=(c[q>>2]|0)!=0;if(g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){U1(b,0);h=0;g=0;break a}if(!g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if((d[144681+i>>0]|0)>>>0<e>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;U1(b,0);c[(L1()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=G6(i|0,f|0,10,0)|0;l=D;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=w6(e|0,l|0,k|0,m|0)|0;f=D;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=W1(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[144937+((e*23|0)>>>5&7)>>0]|0;f=a[144681+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<134217728&k>>>0<e>>>0);k=0}else{j=i;k=0;i=0}l=z6(-1,-1,n|0)|0;m=D;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break}else j=k;while(1){i=v6(i|0,j|0,n|0)|0;k=D;i=f&255|i;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[144681+i>>0]|0;j=f&255;if(j>>>0<e>>>0){i=0;k=j;do{i=k+(S(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;k=f&255}while(i>>>0<119304647&k>>>0<e>>>0);k=0}else{j=i;i=0;k=0}if((f&255)>>>0<e>>>0){n=E6(-1,-1,e|0,0)|0;o=D;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=G6(i|0,m|0,e|0,0)|0;l=D;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=w6(f|0,0,k|0,l|0)|0;k=D;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;f=a[144681+j>>0]|0;if((f&255)>>>0>=e>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if((d[144681+j>>0]|0)>>>0<e>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((d[144681+i>>0]|0)>>>0<e>>>0);c[(L1()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(L1()|0)>>2]=34;g=w6(g|0,h|0,-1,-1)|0;h=D;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(L1()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t6(i^j|0,e^g|0,j|0,g|0)|0;h=D}while(0);D=h;return g|0}function W1(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=Y1(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){i=c[f>>2]|0;f=c[b+4>>2]|0;h=b+108|0;g=g-(c[h>>2]|0)|0;j=i;if((i-f|0)<(g|0)){i=j;g=j}else{i=f+(g+-1)|0;g=j}}else{g=c[f>>2]|0;h=b+108|0;i=g;f=c[b+4>>2]|0}c[b+100>>2]=i;if(g|0)c[h>>2]=g+1-f+(c[h>>2]|0);f=f+-1|0;if((d[f>>0]|0|0)!=(e|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function X1(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Y1(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((Z1(a)|0)==0?(eb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function Z1(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)eb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function _1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-1,0)|0;return c|0}function $1(a,b,c){a=a|0;b=b|0;c=c|0;c=T1(a,b,c,-2147483648,0)|0;return c|0}function a2(a){a=a|0;var b=0;b=(b2(a)|0)==0;return (b?a:a&95)|0}function b2(a){a=a|0;return (a+-97|0)>>>0<26|0}function c2(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z6(s|0,r|0,52)|0;i=z6(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if(g>>>0>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=i>>>0<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}d2(m,n,b);d2(o,p,a);a=d*+G(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function d2(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function e2(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function f2(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function g2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function h2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function i2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=j2(a,b,f)|0;l=e;return d|0}function j2(a,b,c){a=a|0;b=b|0;c=c|0;return k2(a,2147483647,b,c)|0}function k2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63492;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(L1()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=l2(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function l2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;o=s+80|0;q=s;r=s+136|0;f=o;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((m2(0,d,n,q,o)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)p=n2(b)|0;else p=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=m2(b,d,n,q,o)|0;if(h){eb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=m2(b,d,n,q,o)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(p|0)o2(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function m2(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+64|0;C=H+16|0;E=H;A=H+24|0;F=H+8|0;G=H+20|0;c[C>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=F+4|0;k=0;j=0;p=0;a:while(1){do if((j|0)>-1)if((k|0)>(2147483647-j|0)){c[(L1()|0)>>2]=75;j=-1;break}else{j=k+j|0;break}while(0);k=a[e>>0]|0;if(!(k<<24>>24)){w=87;break}else m=e;b:while(1){switch(k<<24>>24){case 37:{k=m;w=9;break b}case 0:{k=m;break b}default:{}}v=m+1|0;c[C>>2]=v;k=a[v>>0]|0;m=v}c:do if((w|0)==9)while(1){w=0;if((a[m+1>>0]|0)!=37)break c;k=k+1|0;m=m+2|0;c[C>>2]=m;if((a[m>>0]|0)==37)w=9;else break}while(0);k=k-e|0;if(x)p2(d,e,k);if(k|0){e=m;continue}n=m+1|0;k=(a[n>>0]|0)+-48|0;if(k>>>0<10){v=(a[m+2>>0]|0)==36;u=v?k:-1;p=v?1:p;n=v?m+3|0:n}else u=-1;c[C>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;d:do if(m>>>0<32){o=0;q=k;while(1){k=1<<m;if(!(k&75913)){k=q;break d}o=k|o;n=n+1|0;c[C>>2]=n;k=a[n>>0]|0;m=(k<<24>>24)+-32|0;if(m>>>0>=32)break;else q=k}}else o=0;while(0);if(k<<24>>24==42){m=n+1|0;k=(a[m>>0]|0)+-48|0;if(k>>>0<10?(a[n+2>>0]|0)==36:0){c[i+(k<<2)>>2]=10;k=c[g+((a[m>>0]|0)+-48<<3)>>2]|0;p=1;n=n+3|0}else{if(p|0){j=-1;break}if(x){p=(c[f>>2]|0)+(4-1)&~(4-1);k=c[p>>2]|0;c[f>>2]=p+4;p=0;n=m}else{k=0;p=0;n=m}}c[C>>2]=n;v=(k|0)<0;k=v?0-k|0:k;o=v?o|8192:o}else{k=q2(C)|0;if((k|0)<0){j=-1;break}n=c[C>>2]|0}do if((a[n>>0]|0)==46){if((a[n+1>>0]|0)!=42){c[C>>2]=n+1;m=q2(C)|0;n=c[C>>2]|0;break}q=n+2|0;m=(a[q>>0]|0)+-48|0;if(m>>>0<10?(a[n+3>>0]|0)==36:0){c[i+(m<<2)>>2]=10;m=c[g+((a[q>>0]|0)+-48<<3)>>2]|0;n=n+4|0;c[C>>2]=n;break}if(p|0){j=-1;break a}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);m=c[v>>2]|0;c[f>>2]=v+4}else m=0;c[C>>2]=q;n=q}else m=-1;while(0);t=0;while(1){if(((a[n>>0]|0)+-65|0)>>>0>57){j=-1;break a}v=n+1|0;c[C>>2]=v;q=a[(a[n>>0]|0)+-65+(144946+(t*58|0))>>0]|0;r=q&255;if((r+-1|0)>>>0<8){t=r;n=v}else break}if(!(q<<24>>24)){j=-1;break}s=(u|0)>-1;do if(q<<24>>24==19)if(s){j=-1;break a}else w=49;else{if(s){c[i+(u<<2)>>2]=r;s=g+(u<<3)|0;u=c[s+4>>2]|0;w=E;c[w>>2]=c[s>>2];c[w+4>>2]=u;w=49;break}if(!x){j=0;break a}r2(E,r,f)}while(0);if((w|0)==49?(w=0,!x):0){k=0;e=v;continue}n=a[n>>0]|0;n=(t|0)!=0&(n&15|0)==3?n&-33:n;s=o&-65537;u=(o&8192|0)==0?o:s;e:do switch(n|0){case 110:switch((t&255)<<24>>24){case 0:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 1:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 2:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}case 3:{b[c[E>>2]>>1]=j;k=0;e=v;continue a}case 4:{a[c[E>>2]>>0]=j;k=0;e=v;continue a}case 6:{c[c[E>>2]>>2]=j;k=0;e=v;continue a}case 7:{k=c[E>>2]|0;c[k>>2]=j;c[k+4>>2]=((j|0)<0)<<31>>31;k=0;e=v;continue a}default:{k=0;e=v;continue a}}case 112:{n=120;m=m>>>0>8?m:8;e=u|8;w=61;break}case 88:case 120:{e=u;w=61;break}case 111:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;r=t2(e,n,y)|0;s=z-r|0;o=0;q=145410;m=(u&8|0)==0|(m|0)>(s|0)?m:s+1|0;s=u;w=67;break}case 105:case 100:{n=E;e=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){e=t6(0,0,e|0,n|0)|0;n=D;o=E;c[o>>2]=e;c[o+4>>2]=n;o=1;q=145410;w=66;break e}else{o=(u&2049|0)!=0&1;q=(u&2048|0)==0?((u&1|0)==0?145410:145412):145411;w=66;break e}}case 117:{n=E;o=0;q=145410;e=c[n>>2]|0;n=c[n+4>>2]|0;w=66;break}case 99:{a[A>>0]=c[E>>2];e=A;o=0;q=145410;r=y;n=1;m=s;break}case 109:{n=v2(c[(L1()|0)>>2]|0)|0;w=71;break}case 115:{n=c[E>>2]|0;n=n|0?n:145420;w=71;break}case 67:{c[F>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=F;r=-1;n=F;w=75;break}case 83:{e=c[E>>2]|0;if(!m){x2(d,32,k,0,u);e=0;w=84}else{r=m;n=e;w=75}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{k=z2(d,+h[E>>3],k,m,u,n)|0;e=v;continue a}default:{o=0;q=145410;r=y;n=m;m=u}}while(0);f:do if((w|0)==61){u=E;t=c[u>>2]|0;u=c[u+4>>2]|0;r=s2(t,u,y,n&32)|0;q=(e&8|0)==0|(t|0)==0&(u|0)==0;o=q?0:2;q=q?145410:145410+(n>>4)|0;s=e;e=t;n=u;w=67}else if((w|0)==66){r=u2(e,n,y)|0;s=u;w=67}else if((w|0)==71){w=0;u=w2(n,0,m)|0;t=(u|0)==0;e=n;o=0;q=145410;r=t?n+m|0:u;n=t?m:u-n|0;m=s}else if((w|0)==75){w=0;q=n;e=0;m=0;while(1){o=c[q>>2]|0;if(!o)break;m=y2(G,o)|0;if((m|0)<0|m>>>0>(r-e|0)>>>0)break;e=m+e|0;if(r>>>0>e>>>0)q=q+4|0;else break}if((m|0)<0){j=-1;break a}x2(d,32,k,e,u);if(!e){e=0;w=84}else{o=0;while(1){m=c[n>>2]|0;if(!m){w=84;break f}m=y2(G,m)|0;o=m+o|0;if((o|0)>(e|0)){w=84;break f}p2(d,G,m);if(o>>>0>=e>>>0){w=84;break}else n=n+4|0}}}while(0);if((w|0)==67){w=0;n=(e|0)!=0|(n|0)!=0;u=(m|0)!=0|n;n=((n^1)&1)+(z-r)|0;e=u?r:y;r=y;n=u?((m|0)>(n|0)?m:n):m;m=(m|0)>-1?s&-65537:s}else if((w|0)==84){w=0;x2(d,32,k,e,u^8192);k=(k|0)>(e|0)?k:e;e=v;continue}t=r-e|0;s=(n|0)<(t|0)?t:n;u=s+o|0;k=(k|0)<(u|0)?u:k;x2(d,32,k,u,m);p2(d,q,o);x2(d,48,k,u,m^65536);x2(d,48,s,t,0);p2(d,e,t);x2(d,32,k,u,m^8192);e=v}g:do if((w|0)==87)if(!d)if(!p)j=0;else{j=1;while(1){e=c[i+(j<<2)>>2]|0;if(!e)break;r2(g+(j<<3)|0,e,f);j=j+1|0;if((j|0)>=10){j=1;break g}}while(1){if(c[i+(j<<2)>>2]|0){j=-1;break g}j=j+1|0;if((j|0)>=10){j=1;break}}}while(0);l=H;return j|0}function n2(a){a=a|0;return 0}function o2(a){a=a|0;return}function p2(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))L2(b,d,a)|0;return}function q2(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;f=(a[e>>0]|0)+-48|0;if(f>>>0<10){d=0;do{d=f+(d*10|0)|0;e=e+1|0;c[b>>2]=e;f=(a[e>>0]|0)+-48|0}while(f>>>0<10)}else d=0;return d|0}function r2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function s2(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[145458+(b&15)>>0]|0|f;b=z6(b|0,c|0,4)|0;c=D}while(!((b|0)==0&(c|0)==0));return e|0}function t2(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z6(b|0,c|0,3)|0;c=D}while(!((b|0)==0&(c|0)==0));return d|0}function u2(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=J6(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=E6(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=D}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function v2(a){a=a|0;return G2(a,c[(F2()|0)+188>>2]|0)|0}function w2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=S(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function x2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;u6(f|0,b|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{p2(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}p2(a,f,e)}l=g;return}function y2(a,b){a=a|0;b=b|0;if(!a)a=0;else a=D2(a,b,0)|0;return a|0}function z2(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;A2(e)|0;if((D|0)<0){e=-e;B=1;A=145427}else{B=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?145428:145433):145430}A2(e)|0;C=D&2146435072;do if(C>>>0<2146435072|(C|0)==2146435072&0<0){r=+B2(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){s=i&32;q=(s|0)==0?A:A+9|0;p=B|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[q>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=u2(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;n=(g|0)<1;m=(h&8|0)==0;j=G;do{C=~~e;k=j+1|0;a[j>>0]=d[145458+C>>0]|s;e=(e-+(C|0))*16.0;if((k-F|0)==1?!(m&(n&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);C=j-F|0;F=E-o|0;E=(g|0)!=0&(C+-2|0)<(g|0)?g+2|0:C;j=F+p+E|0;x2(b,32,f,j,h);p2(b,q,p);x2(b,48,f,j,h^65536);p2(b,G,C);x2(b,48,E-C|0,0,0);p2(b,o,F);x2(b,32,f,j,h^8192);break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}C=(j|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=C;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=v6(c[j>>2]|0,0,o|0)|0;x=w6(x|0,D|0,m|0,0)|0;y=D;v=J6(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=E6(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=C;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=S(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?C:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=C;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=C+4+(((n|0)/9|0)+-1024<<2)|0;n=((n|0)%9|0)+1|0;if((n|0)<9){o=10;do{o=o*10|0;n=n+1|0}while((n|0)!=9)}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(B){x=(a[A>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=((v^1)&1)+k|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(z=c[w+-4>>2]|0,(z|0)!=0):0)if(!((z>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((z>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=u2(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=B+1+k+p+j|0;x2(b,32,f,j,h);p2(b,A,B);x2(b,48,f,j,h^65536);if(q){o=x>>>0>C>>>0?C:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=u2(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,p-m|0);n=n+4|0}while(n>>>0<=C>>>0);if(t|0)p2(b,145474,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=u2(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){u6(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}p2(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}x2(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=u2(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;p2(b,m,1);if(s&(k|0)<1){m=n;break}p2(b,145474,1);m=n}else{if(m>>>0<=G>>>0)break;u6(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;p2(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}x2(b,48,k+18|0,18,0);p2(b,v,E-v|0)}x2(b,32,f,j,h^8192)}else{G=(i&32|0)!=0;j=B+3|0;x2(b,32,f,j,h&-65537);p2(b,A,B);p2(b,e!=e|0.0!=0.0?(G?153609:145454):G?145446:145450,3);x2(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function A2(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function B2(a,b){a=+a;b=b|0;return +(+C2(a,b))}function C2(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z6(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+C2(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function D2(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(E2()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(L1()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(L1()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function E2(){return N1()|0}function F2(){return N1()|0}function G2(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[145476+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=145564;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=145564;else{f=145564;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return H2(f,c[e+20>>2]|0)|0}function H2(a,b){a=a|0;b=b|0;return I2(a,b)|0}function I2(a,b){a=a|0;b=b|0;if(!b)b=0;else b=J2(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function J2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=K2(c[b+8>>2]|0,o)|0;f=K2(c[b+12>>2]|0,o)|0;g=K2(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=K2(c[b+(g<<2)>>2]|0,o)|0;g=K2(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=f2(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=K2(c[b+(f<<2)>>2]|0,o)|0;f=K2(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function K2(a,b){a=a|0;b=b|0;var c=0;c=K6(a|0)|0;return ((b|0)==0?a:c)|0}function L2(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(M2(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=eb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=eb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);B6(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function M2(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;B6(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function O2(a){a=a|0;return ((a+-48|0)>>>0<10|(P2(a)|0)!=0)&1|0}function P2(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Q2(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function R2(a){a=a|0;if(!(S2(a)|0))a=(T2(a)|0)!=0;else a=1;return a&1|0}function S2(a){a=a|0;return (a+-48|0)>>>0<10|0}function T2(a){a=a|0;if(a>>>0<131072)a=(d[147368+((d[147368+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U2(a){a=a|0;return Q2(a)|0}function V2(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function W2(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=R2(a)|0;break}case 2:{a=T2(a)|0;break}case 3:{a=U2(a)|0;break}case 4:{a=V2(a)|0;break}case 5:{a=S2(a)|0;break}case 6:{a=X2(a)|0;break}case 7:{a=Y2(a)|0;break}case 8:{a=Z2(a)|0;break}case 9:{a=_2(a)|0;break}case 10:{a=$2(a)|0;break}case 11:{a=a3(a)|0;break}case 12:{a=b3(a)|0;break}default:a=0}while(0);return a|0}function X2(a){a=a|0;if(!($2(a)|0))a=(Z2(a)|0)!=0;else a=0;return a&1|0}function Y2(a){a=a|0;return (g3(a)|0)!=(a|0)|0}function Z2(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function _2(a){a=a|0;if(a>>>0<131072)a=(d[150344+((d[150344+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function $2(a){a=a|0;if(!a)a=0;else a=(e3(63616,a)|0)!=0;return a&1|0}function a3(a){a=a|0;return (c3(a)|0)!=(a|0)|0}function b3(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function c3(a){a=a|0;return d3(a,1)|0}function d3(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T2(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66618+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66618+(g<<2)>>1]|0)|0;if((h-(j&l)|0)>>>0<(d[66618+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(S(j,k)|0)+c|0;break}i=1-f|0;g=b[66130+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[66130+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[66130+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function e3(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)a=a+((f3(a)|0)<<2)|0;else{while(1){e=c[a>>2]|0;d=(e|0)!=0;if((e|0)==(b|0)|d^1)break;else a=a+4|0}a=d?a:0}return a|0}function f3(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function g3(a){a=a|0;return d3(a,0)|0}function h3(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=153512;f=97;while(1){if(e<<24>>24==f<<24>>24?(f2(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function i3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ha(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(ua(221,e|0)|0)>=0):0){j3(e,a);c[f>>2]=e;c[f+4>>2]=b;b=K1(Ja(195,f|0)|0)|0}else b=K1(d)|0;l=g;return b|0}function j3(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=153585;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function k3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=S(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)l3(a,d,e,f,j);else n3(a,d,e,k,f,0,j);if((f|0)==1){o3(k,1);f=0;break}else{o3(k,b);f=1;break}}else{l3(a,d,e,f,j);m3(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}n3(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){o3(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;m3(k,1);n3(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);o3(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;n3(h,d,e,k,n,1,j);a=h;f=n;continue}b=p3(k)|0;m3(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function l3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((vb[d&127](a,g)|0)>-1?(vb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((vb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);r3(b,m,e);l=n;return}function m3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function n3(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(vb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((vb[d&127](g,j)|0)>-1){i=10;break a}if((vb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=p3(n)|0;m3(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((vb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){r3(b,o,e);l3(a,b,d,f,h)}l=p;return}function o3(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function p3(a){a=a|0;var b=0;b=q3((c[a>>2]|0)+-1|0)|0;if(!b){b=q3(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function q3(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}\nfunction yb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function zb(){return l|0}function Ab(a){a=a|0;l=a}function Bb(a,b){a=a|0;b=b|0;l=a;m=b}function Cb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Db(a){a=a|0;D=a}function Eb(){return D|0}function Fb(a){a=a|0;c[46696]=a;return 0}function Gb(){return c[46696]|0}function Hb(a,b){a=a|0;b=b|0;Sa(0,a|0,b|0)|0;return}function Ib(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=kG()|0;pG(h,11016);pG(h,17260);pG(h,17480);cA(1)|0;bA(18)|0;while(1){a=WB(a)|0;e=c[f>>2]|0;if(!a)break;if(e|0){a=195341;continue}lG(h,a,d)|0;oG(h,a,b,f,g)|0;a=195341}l=i;return e|0}function Jb(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{HL(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)SP(f);break}case 4:case 5:case 6:{EL(f,e,d);Mb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Kb(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[46697]|0)){c[46697]=c[4689];c[46698]=57;c[46699]=19}f=e+64|0;d=(c[f>>2]|0)+8|0;b=c[d>>2]|0;c[d>>2]=186788;d=a+152|0;switch(c[a+64>>2]|0){case 2:{uL(a,e,a,0);break}case 3:{uL(a,e,a,1);break}case 1:case 0:{if(!(c[d>>2]&134217728))bE(e,a)|0;break}case 6:case 5:case 4:{Lb(e);if(!(c[d>>2]&134217728))bE(e,a)|0;break}default:{}}c[(c[f>>2]|0)+8>>2]=b;return}function Lb(b){b=b|0;var d=0,e=0;d=c[46701]|0;if((d|0)!=(c[46700]|0)){e=c[c[46732]>>2]|0;if(!e){e=YP(b,0,100109,195341)|0;c[c[46732]>>2]=e;d=c[46701]|0}if(d>>>0>=(c[46702]|0)>>>0){iA(186800,1)|0;d=c[46701]|0}a[d>>0]=0;d=c[46700]|0;c[46701]=d;HA(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[46732]|0)+4>>2]|0;d=c[46717]|0;if(d>>>0>=(c[46718]|0)>>>0){iA(186864,1)|0;d=c[46717]|0}a[d>>0]=0;d=c[46716]|0;c[46717]=d;HA(b,e,d)|0}QA(b,67025,c[(c[46732]|0)+8236>>2]|0,195341)|0;d=0;while(1){if((d|0)==8)break;lA(186800+(d<<4)|0);d=d+1|0}l6(c[46732]|0);h[1]=1.0;h[5]=1.0;c[46733]=0;c[46737]=0;return}function Mb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=k6(8240)|0;c[46732]=j;h=j+8232|0;a:do switch(g|0){case 6:{b[h>>1]=14;g=67041;h=j;break}case 5:{b[h>>1]=12;g=67045;h=j;break}default:{g=NA(d,67025)|0;if((g|0?a[g>>0]|0:0)?(i=Nb(g)|0,(i&65535)>10):0){h=c[46732]|0;b[h+8232>>1]=i;break a}g=Nb(67037)|0;h=c[46732]|0;b[h+8232>>1]=g;g=67037}}while(0);c[h+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))i=0;else{i=YP(d,0,100109,195341)|0;h=c[46732]|0;g=c[j>>2]|0}c[h>>2]=i;if(!(a[g+113>>0]&8))g=0;else g=YP(d,0,67049,195341)|0;c[(c[46732]|0)+4>>2]=g;i=YP(d,1,100109,195341)|0;c[(c[46732]|0)+8>>2]=i;i=YP(d,1,67049,195341)|0;c[(c[46732]|0)+12>>2]=i;i=YP(d,2,100109,195341)|0;g=c[46732]|0;c[g+16>>2]=i;if(!f)h=0;else{h=YP(d,2,67057,195341)|0;g=c[46732]|0}c[g+20>>2]=h;if(!e)h=0;else{h=YP(d,2,67065,195341)|0;g=c[46732]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=YP(d,2,67049,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=YP(d,2,67073,195341)|0;g=c[46732]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=YP(d,2,67082,195341)|0;g=c[46732]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;hA(186800+(g<<4)|0,1024,(c[46732]|0)+40+(g<<10)|0);g=g+1|0}return}function Nb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;i=j+8|0;g=0;d=b;a:while(1){e=d;do{f=e;e=e+1|0;f=a[f>>0]|0;if(!(f<<24>>24)){e=8;break a}}while(((f<<24>>24)+-48|0)>>>0>=10);d=i+g|0;if((g|0)>=1023){e=7;break}a[d>>0]=f;g=g+1|0;d=e}if((e|0)==7){c[h>>2]=b;dA(0,67091,h)|0}else if((e|0)==8)d=i+g|0;a[d>>0]=0;i=(d6(i)|0)&65535;l=j;return i|0}function Ob(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[46732]>>2]|0;b=c[46705]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[46732]|0)+4>>2]|0;b=c[46721]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[46734]=0;c[46738]=0;return}function Pb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+8>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+12>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[46741]=0;c[46743]=0;return}function Qb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[46705]|0;if((b|0)!=(c[46704]|0)){d=c[(c[46732]|0)+16>>2]|0;if(b>>>0>=(c[46706]|0)>>>0){iA(186816,1)|0;b=c[46705]|0}a[b>>0]=0;b=c[46704]|0;c[46705]=b;HA(e,d,b)|0}b=c[46709]|0;if((b|0)!=(c[46708]|0)){d=c[(c[46732]|0)+24>>2]|0;if(b>>>0>=(c[46710]|0)>>>0){iA(186832,1)|0;b=c[46709]|0}a[b>>0]=0;b=c[46708]|0;c[46709]=b;HA(e,d,b)|0}b=c[46713]|0;if((b|0)!=(c[46712]|0)){d=c[(c[46732]|0)+20>>2]|0;if(b>>>0>=(c[46714]|0)>>>0){iA(186848,1)|0;b=c[46713]|0}a[b>>0]=0;b=c[46712]|0;c[46713]=b;HA(e,d,b)|0}b=c[46721]|0;if((b|0)!=(c[46720]|0)){d=c[(c[46732]|0)+28>>2]|0;if(b>>>0>=(c[46722]|0)>>>0){iA(186880,1)|0;b=c[46721]|0}a[b>>0]=0;b=c[46720]|0;c[46721]=b;HA(e,d,b)|0}b=c[46725]|0;if((b|0)!=(c[46724]|0)){d=c[(c[46732]|0)+36>>2]|0;if(b>>>0>=(c[46726]|0)>>>0){iA(186896,1)|0;b=c[46725]|0}a[b>>0]=0;b=c[46724]|0;c[46725]=b;HA(e,d,b)|0}b=c[46729]|0;if((b|0)!=(c[46728]|0)){d=c[(c[46732]|0)+32>>2]|0;if(b>>>0>=(c[46730]|0)>>>0){iA(186912,1)|0;b=c[46729]|0}a[b>>0]=0;b=c[46728]|0;c[46729]=b;HA(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[46742]=0;c[46744]=0;c[46735]=0;c[46736]=0;c[46739]=0;c[46740]=0;return}function Rb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11456+(o<<2)>>2]|0;kA(p,67188)|0;g=f+4|0;_b(k,+h[(c[g>>2]|0)+16>>3]);kA(p,k)|0;bc(d,195341,c[c[g>>2]>>2]|0);Xb(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[46732]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11504+((i&65535)+-15<<2)>>2]&g,n=186932+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;i2(k,67191,r)|0;kA(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[f+24>>3]+ +h[r>>3];kA(p,67197)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];Zb(p,j);c[s>>2]=q;i2(k,102521,s)|0;kA(p,k)|0;_b(k,+h[f+32>>3]);kA(p,k)|0;bc(d,195341,c[f>>2]|0);l=t;return}function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;Wb(a);Xb(a);e=11456+(e<<2)|0;if(!d){a=c[e>>2]|0;kA(a,67185)|0}else{if((d|1|0)==3)dc(a,d,b,2);else ec(a);a=c[e>>2]|0;kA(a,67182)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];Zb(a,f);_b(g,+h[b+16>>3]-+h[b>>3]);kA(a,g)|0;_b(g,+h[b+24>>3]-+h[b+8>>3]);kA(a,g)|0;l=i;return}function Tb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Wb(a);Xb(a);if(!d)Yb(a,112,b,c);else{if((d|1|0)==3)dc(a,d,b,c);else ec(a);Yb(a,80,b,c)}return}function Ub(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wb(a);Xb(a);if(!f)Yb(a,66,b,c);else{if((f|1|0)==3)dc(a,f,b,c);else ec(a);Yb(a,98,b,c)}return}function Vb(a,b,c){a=a|0;b=b|0;c=c|0;Wb(a);Xb(a);Yb(a,76,b,c);return}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;hA(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;kA(m,67154)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];i2(f,67168,i)|0;$b(f,0);kA(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){iA(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;bc(b,67173,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(f2(d,111402)|0)){d=i;continue a}break}case 98:{if(!(f2(d,111384)|0)){d=i;continue a}break}case 115:{if(!(f2(d,111389)|0)){d=i;continue a}break}default:{}}kA(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}kA(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;bc(b,67173,d);d=i}lA(m)}l=n;return}function Xb(a){a=a|0;ac((c[a+16>>2]|0)+16|0);bc(a,76106,194038);return}function Yb(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11456+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;i2(i,67118,j)|0;kA(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];Zb(h,j);b=b+1|0}l=k;return}function Zb(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,+h[b>>3]);kA(a,d)|0;_b(d,+tL(+h[b+8>>3]));kA(a,d)|0;l=c;return}function _b(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;i2(a,67123,d)|0;$b(a,1);l=c;return}function $b(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=F3(b,46)|0;e=(c|0)!=0;if(!d){if(e){d=b+(D3(b)|0)|0;f=10}}else{while(1){c=d+1|0;if(!(a[c>>0]|0))break;else d=c}a:while(1){switch(a[d>>0]|0){case 46:{f=5;break a}case 48:break;default:{f=6;break a}}a[d>>0]=0;d=d+-1|0}if((f|0)==5)a[d>>0]=0;else if((f|0)==6)d=d+1|0;if(e)f=10}if((f|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function ac(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;i2(194038,75986,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;i2(194038,67136,i)|0}l=j;return}function bc(a,b,d){a=a|0;b=b|0;d=d|0;cc(c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function cc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=D3(e)|0;c[h>>2]=d;c[h+4>>2]=i;i2(g,67129,h)|0;kA(b,g)|0;kA(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){iA(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function dc(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1120|0;s=w+64|0;v=w+80|0;k=w+32|0;q=w+16|0;r=w;t=c[b+16>>2]|0;j=+(c[t+136>>2]|0)*3.141592653589793/180.0;if((e[(c[46732]|0)+8232>>1]|0)<14)ec(b);else{hA(v,1024,w+96|0);u=(d|0)==2;if(u){nQ(f,k,i,j,2);f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];Zb(v,s);r=k+16|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s)}else{nQ(f,k,i,0.0,3);p=+h[k+24>>3];n=+h[k>>3];m=+h[k+8>>3];o=p*.25;if(j==0.0){h[q>>3]=n;j=m}else{h[q>>3]=n+o*+I(+j);j=m+o*+J(+j)}h[q+8>>3]=j;h[r>>3]=n;h[r+8>>3]=m;f=v+4|0;d=c[f>>2]|0;if(d>>>0>=(c[v+8>>2]|0)>>>0){iA(v,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[s>>2]=c[q>>2];c[s+4>>2]=c[q+4>>2];c[s+8>>2]=c[q+8>>2];c[s+12>>2]=c[q+12>>2];Zb(v,s);fc(v,o);c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];Zb(v,s);fc(v,p)}kA(v,67179)|0;f=t+140|0;j=+g[f>>2];i=t+56|0;d=t+96|0;if(j>0.0){gc(v,j,i);gc(v,+g[f>>2],d)}else{gc(v,0.0,i);gc(v,1.0,d)}mA(v)|0;k=v+4|0;d=c[k>>2]|0;i=v+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(u){if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){iA(v,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){iA(v,1)|0;d=c[k>>2]|0}a[d>>0]=0;u=c[v>>2]|0;c[k>>2]=u;bc(b,67176,u);lA(v)}l=w;return}function ec(a){a=a|0;ac((c[a+16>>2]|0)+56|0);bc(a,67176,194038);return}function fc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;_b(d,b);kA(a,d)|0;l=c;return}function gc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;i2(e,94469,f)|0;$b(e,1);ac(c);cc(a,e,194038);l=d;return}function hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11456+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;kA(g,67285)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];Zb(g,i);_b(f,+h[d+16>>3]-+h[d>>3]);kA(g,f)|0;_b(f,+h[d+24>>3]-+h[d+8>>3]);kA(g,f)|0;bc(a,195341,c[b+8>>2]|0);l=e;return}function ic(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=yF(c[a>>2]|0)|0;mG(b,c[(c[a+16>>2]|0)+8>>2]|0,68069,0)|0;zF(b);break}case 1:{HL(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function jc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[46745]|0)){c[46745]=c[4689];c[46746]=57;c[46747]=19}c[(c[e+64>>2]|0)+8>>2]=186980;kc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;lc(e,b,1,d);l=f;return}function kc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;kc(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function lc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Sz(11876,c[4591]|0)|0;WC(a,1,141363,12,0);WC(a,2,141363,12,0);WC(a,0,141363,-12,0);f=mc(a,0,m)|0;j=gC(a)|0;i=0;g=0;while(1){if(!j)break;if(!(h2(HB(j)|0,108307,7)|0)){k=g;g=nc(m,HB(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(PC(j,141363,0)|0)+8>>2]=g;h=UA(a,j)|0;g=i;while(1){if(!h)break;c[(PC(h,141363,0)|0)+8>>2]=g;h=WA(a,h)|0;g=g+1|0}j=hC(a,j)|0;i=g;g=k}Oz(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;oc(b,m);mF(b,97675)|0;pc(a,b,d,e);qc(a,b,e);mF(b,97646)|0;oc(b,c[e>>2]|0);if(n){c[o>>2]=f;sF(b,67288,o)}else{c[p>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67308,p)}sc(a,b,d,rc(a,b,d,e)|0,e);tc(a,b,d,e);mF(b,153748)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;oc(b,p);if(n)mF(b,111309)|0;else mF(b,75629)|0;l=q;return}function mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((vC(a)|0)!=(a|0)){e=b+1|0;c[(PC(a,141363,0)|0)+8>>2]=b;if(!(h2(HB(a)|0,108307,7)|0)){b=HB(a)|0;Fc(d,b,c[(PC(a,141363,0)|0)+8>>2]|0);b=e}else b=e}e=MD(a)|0;while(1){if(!e)break;a=mc(e,b,d)|0;e=ND(e)|0;b=a}return b|0}function nc(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function oc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;mF(a,90875)|0;b=b+-1|0}return}function pc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=HB(a)|0;oc(b,c[e>>2]|0);c[i>>2]=wc(j,e)|0;sF(b,67396,i);if(d|0){mF(b,97646)|0;oc(b,c[e>>2]|0);j=(uB(a)|0)!=0;c[f>>2]=j?107953:137609;sF(b,68010,f);oc(b,c[e>>2]|0);j=(wB(a)|0)!=0;c[g>>2]=j?107953:137609;sF(b,68027,g)}l=h;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=vC(b)|0;j=c[b>>2]&3;f=IA(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=OA(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(f2(g,108525)|0)break}mF(d,97646)|0;oc(d,c[e>>2]|0);c[m>>2]=wc(c[h>>2]|0,e)|0;sF(d,67446,m);if(a[k>>0]|0?yc(c[h>>2]|0)|0:0){zc(OA(b,f)|0,d,e);break}c[n>>2]=wc(OA(b,f)|0,e)|0;sF(d,67453,n)}while(0);f=IA(i,j,f)|0}}while(0);l=o;return}function rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=MD(a)|0;if(f){mF(b,97646)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(b,g);g=(d|0)!=0;if(g){mF(b,67370)|0;a=0;d=f}else{mF(b,67430)|0;oc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else mF(b,97646)|0;if(g)xc(d,b,e);else{c[h>>2]=c[(PC(d,141363,0)|0)+8>>2];sF(b,137696,h)}d=ND(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0;a=1}}else a=0;l=i;return a|0}function sc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=gC(a)|0;e=(e|0)!=0;if(!g){if((d|0)!=0&e){c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}}else{mF(b,97646)|0;h=(d|0)!=0;if(h)if(e)e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67370)|0;e=0}else{e=c[f>>2]|0;c[f>>2]=e+1;oc(b,e);mF(b,67384)|0;oc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(h2(HB(g)|0,108307,7)|0){do if(e)if(h){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else e=1;while(0);vc(g,b,d,f)}g=hC(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;mF(b,153748)|0;oc(b,c[f>>2]|0);mF(b,97641)|0}return}function tc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=gC(a)|0;a:do if(f|0){while(1){if(!f)break a;if(UA(a,f)|0)break;f=hC(a,f)|0}mF(b,97646)|0;i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,67320)|0;i=(d|0)!=0;if(i)g=0;else{oc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=UA(a,f)|0;while(1){if(!h)break;do if(g)if(i){mF(b,97646)|0;break}else{mF(b,101300)|0;break}else g=1;while(0);uc(h,b,d,e);h=WA(a,h)|0}f=hC(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;mF(b,153748)|0;oc(b,c[e>>2]|0);mF(b,97641)|0}while(0);return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;oc(b,i);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=c[(PC(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67346,g);oc(b,c[e>>2]|0);c[h>>2]=c[(PC(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,141363,0)|0)+8>>2];sF(b,67359,h);qc(a,b,e);mF(b,153748)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;oc(b,i);mF(b,75629)|0}l=j;return}function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,137696,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;oc(b,h);mF(b,97675)|0;oc(b,c[e>>2]|0);c[f>>2]=c[(PC(a,141363,0)|0)+8>>2];sF(b,67332,f);oc(b,c[e>>2]|0);c[g>>2]=wc(HB(a)|0,e)|0;sF(b,67396,g);qc(a,b,e);mF(b,153748)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;oc(b,h);mF(b,75629)|0}l=i;return}function wc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=cQ(b)|0;if(!(c[46748]|0)){hA(186992,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{kA(186992,67409)|0;break}case 92:{kA(186992,96917)|0;break}case 47:{kA(186992,67412)|0;break}case 8:{kA(186992,67415)|0;break}case 12:{kA(186992,67418)|0;break}case 10:{kA(186992,67421)|0;break}case 13:{kA(186992,67424)|0;break}case 9:{kA(186992,67427)|0;break}default:{d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}c[46749]=d+1;a[d>>0]=f}}e=e+1|0}d=c[46749]|0;if(d>>>0>=(c[46750]|0)>>>0){iA(186992,1)|0;d=c[46749]|0}a[d>>0]=0;d=c[46748]|0;c[46749]=d;if(a[g>>0]|0)l6(b);return d|0}function xc(a,b,c){a=a|0;b=b|0;c=c|0;lc(a,b,0,c);a=MD(a)|0;while(1){if(!a)break;mF(b,97646)|0;xc(a,b,c);a=ND(a)|0}return}function yc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(f2(c,67967)|0)){b=1;break a}break}case 2:{if(!(f2(c,67973)|0)){b=1;break a}break}case 1:{if(!(f2(c,67980)|0)){b=1;break a}b=(f2(c,67994)|0)==0;break a}case 4:{if(!(f2(c,67987)|0)){b=1;break a}b=(f2(c,68002)|0)==0;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b&1|0}function zc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=BH(b)|0;if(!h){c[f>>2]=b;dA(0,67458,f)|0;break}mF(d,153748)|0;g=c[e>>2]|0;c[e>>2]=g+1;oc(d,g);mF(d,67485)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else mF(d,97646)|0;Ac((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;mF(d,153748)|0;oc(d,c[e>>2]|0);mF(d,97641)|0;CH(h)}while(0);l=i;return}function Ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;oc(b,e);mF(b,97675)|0;oc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;sF(b,67488,f);oc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;sF(b,67501,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;sF(b,67488,z);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;sF(b,67488,i);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 6:{sF(b,67536,A+56|0);oc(b,c[d>>2]|0);Bc(b,a+8|0);break}case 7:{sF(b,67548,A+64|0);oc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;sF(b,67560,j);oc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;sF(b,67582,k);oc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];sF(b,67598,m);oc(b,c[d>>2]|0);c[n>>2]=wc(c[a+40>>2]|0,d)|0;sF(b,67615,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;sF(b,67488,o);oc(b,c[d>>2]|0);sF(b,67629,A+120|0);oc(b,c[d>>2]|0);c[p>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67646,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;sF(b,67488,q);oc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{sF(b,67629,A+144|0);oc(b,c[d>>2]|0);c[r>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67646,r);break a}case 1:{sF(b,67661,A+160|0);oc(b,c[d>>2]|0);Cc(b,a+16|0,d);break a}default:{sF(b,67680,A+168|0);oc(b,c[d>>2]|0);Dc(b,a+16|0,d);break a}}}case 10:{sF(b,67699,s);oc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];sF(b,67711,t);oc(b,c[d>>2]|0);c[u>>2]=wc(c[a+16>>2]|0,d)|0;sF(b,67727,u);break}case 11:{sF(b,67741,v);oc(b,c[d>>2]|0);c[w>>2]=wc(c[a+8>>2]|0,d)|0;sF(b,67753,w);break}case 15:{sF(b,67768,x);oc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];sF(b,67780,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;oc(b,z);mF(b,75629)|0;l=A;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;sF(a,67941,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)sF(a,101300,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;sF(a,67953,g);b=b+1|0}sF(a,67894,i);l=j;return}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;sF(a,67897,i);oc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;sF(a,67919,f);oc(a,c[d>>2]|0);Ec(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;oc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;sF(a,67796,j);oc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,67824,f);oc(a,c[d>>2]|0);Ec(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Ec(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;sF(a,67852,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)sF(a,101300,i);o=+g[d+(f<<3)>>2];n=wc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;sF(a,67863,j);f=f+1|0}sF(a,67894,k);l=m;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=eb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;dA(0,68040,f)|0}}else{f=m6(1,16)|0;c[f+8>>2]=Y3(b)|0;c[f+12>>2]=d;eb[c[a>>2]&63](a,f,1)|0}l=g;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+8>>2]|0);l6(b);return}function Hc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function Ic(a){a=a|0;mF(a,68876)|0;return}function Jc(a){a=a|0;c[46752]=2;return}function Kc(a){a=a|0;c[46752]=1;return}function Lc(a){a=a|0;c[46752]=2;return}function Mc(a){a=a|0;c[46752]=0;return}function Nc(a){a=a|0;c[46752]=2;return}function Oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[46752]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*2.0/3.0*+((D3(j)|0)>>>0)*.5;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;e=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3]+-72.0;j=Yc(j)|0;c[o>>2]=4;c[o+4>>2]=e<<24>>24==108?0:e<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q>=0.0?.5:-.5));c[o+72>>2]=j;sF(b,68821,o);l=p;return}function Pc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(Xc(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}default:Aa(138697,68161,163,68192)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46752]|0;Vc(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function Rc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46752]|0;Vc(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);Wc(a,b,d,1);l=f;return}function Sc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[46752]|0;if((d|0)<=3)Aa(68154,68161,360,68181);t=k6((d*140|0)+140|0)|0;Vc(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function Tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46752]|0;Vc(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);Wc(a,b,d,0);l=e;return}function Uc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function Xc(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46753]|0;h=195075;g=0;i=-1;while(1){j=190960+(g<<1)|0;k=191472+(g<<1)|0;l=191984+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46753]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46754]|0;if(!d){c[46755]=64;d=k6(64)|0;c[46754]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46755]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46755]=d;d=n6(c[46754]|0,d)|0;c[46754]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46754]|0}function Zc(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{mF(b,68492)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,153748)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){mF(b,68506)|0;mF(b,DK(c[d>>2]|0)|0)|0;mF(b,102905)|0;mF(b,DK(HB(c[e+8>>2]|0)|0)|0)|0;mF(b,153748)|0}break}case 3:{f=DK(HB(c[e+8>>2]|0)|0)|0;mF(b,68515)|0;mF(b,f)|0;mF(b,68525)|0;mF(b,f)|0;mF(b,68480)|0;break}default:{}}return}function _c(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;d=c[a+16>>2]|0;e=d+264|0;f=d+228|0;g=d+244|0;h=d+208|0;i=d+272|0;b=d+268|0;d=d+212|0;switch(c[a+64>>2]|0){case 2:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);break}case 3:{ad(a,c[e>>2]|0,c[i>>2]|0,c[b>>2]|0,c[h>>2]|0,c[f>>2]|0,c[g>>2]|0,c[d>>2]|0);mF(a,68484)|0;break}default:{}}return}function $c(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;ad(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function ad(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[46756]|0)<(f|0)){c[46756]=m;o=n6(c[46757]|0,m<<3)|0;c[46757]=o}else o=c[46757]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;sF(b,68226,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;sF(b,68247,v);break a}case 2:{c[q>>2]=g;sF(b,68267,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[46757]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;sF(b,68275,w);m=m+1|0}mF(b,153748)|0;break a}default:Aa(138697,68282,63,68302)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;sF(b,68319,r);break}else Aa(138697,68282,75,68302)}if((m&-2|0)==2){switch(d|0){case 1:{mF(b,68352)|0;break}case 0:{mF(b,68373)|0;break}case 2:{mF(b,68392)|0;break}default:Aa(138697,68282,91,68302)}if(k|0?a[k>>0]|0:0){mF(b,73872)|0;mF(b,GK(k)|0)|0;mF(b,99045)|0}if(e?a[g>>0]|0:0){mF(b,68411)|0;mF(b,GK(g)|0)|0;mF(b,99045)|0}if(j|0?a[j>>0]|0:0){mF(b,74831)|0;mF(b,DK(j)|0)|0;mF(b,99045)|0}if(i|0?a[i>>0]|0:0){mF(b,68419)|0;mF(b,DK(i)|0)|0;mF(b,99045)|0}mF(b,68428)|0;mF(b,68436)|0;b:do switch(d|0){case 1:{f=c[46757]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;sF(b,68446,s);break}case 0:{v=c[46757]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;sF(b,68455,t);break}case 2:{w=c[46757]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;sF(b,68467,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[46757]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;sF(b,68473,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){mF(b,73696)|0;break}else{mF(b,68480)|0;break}}}while(0);l=y;return}function bd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;mF(a,68895)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;sF(a,68905,g);c[e>>2]=HB(c[f+8>>2]|0)|0;sF(a,68940,e);c[d>>2]=S(c[a+168>>2]|0,c[a+164>>2]|0)|0;sF(a,68953,d);mF(a,68966)|0;mF(a,68976)|0;mF(a,68984)|0;mF(a,68992)|0;mF(a,69e3)|0;mF(a,69008)|0;mF(a,69016)|0;mF(a,69020)|0;mF(a,69025)|0;l=b;return}function cd(a){a=a|0;mF(a,68876)|0;return}function dd(a){a=a|0;c[46758]=2;return}function ed(a){a=a|0;c[46758]=1;return}function fd(a){a=a|0;c[46758]=2;return}function gd(a){a=a|0;c[46758]=0;return}function hd(a){a=a|0;c[46758]=2;return}function id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[46758]|0;f=c[e+4>>2]|0;g=+h[f+16>>3]*+h[b+352>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=sd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;sF(b,68821,m);l=n;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12764+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(f2(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(rd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;sF(b,68764,j);k=10}break}case 0:{f=0;k=10;break}default:Aa(138697,68785,168,68804)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[46758]|0;pd(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));sF(a,68699,f);l=e;return}function ld(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[46758]|0;pd(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;sF(a,68603,g);qd(a,b,d,1);l=f;return}function md(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[46758]|0;t=k6((d*140|0)+140|0)|0;pd(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(i2(t,81371,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(x,w,3,+(f|0)/6.0,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;sF(a,68654,A);c[z>>2]=t;sF(a,81378,z);l6(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,B);e=e+1|0}mF(a,153748)|0;l=C;return}function nd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[46758]|0;pd(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;sF(a,68603,f);qd(a,b,d,0);l=e;return}function od(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,68597,e);l=d;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function rd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[a>>2]=0;m=c[46759]|0;h=195075;g=0;i=-1;while(1){j=192496+(g<<1)|0;k=193008+(g<<1)|0;l=193520+(g<<1)|0;if((g|0)>=(m|0)){n=6;break}o=(b[j>>1]|0)-d|0;k=(b[k>>1]|0)-e|0;j=(b[l>>1]|0)-f|0;j=(S(k,k)|0)+(S(o,o)|0)+(S(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((n|0)==6){c[46759]=m+1;if((m|0)==256)g=i;else{b[j>>1]=d;b[k>>1]=e;b[l>>1]=f;c[a>>2]=1}}return g|0}function sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46760]|0;if(!d){c[46761]=64;d=k6(64)|0;c[46760]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46761]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46761]=d;d=n6(c[46760]|0,d)|0;c[46760]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46760]|0}function td(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;mF(a,73604)|0;if((c[a+64>>2]|0)==2)mF(a,73619)|0;else mF(a,153748)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;sF(a,73630,b);l=d;return}function ud(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;mF(a,73558)|0;b=a+64|0;d=a+12|0;if((c[b>>2]|0)!=2){c[e>>2]=c[(c[d>>2]|0)+28>>2];sF(a,73569,e)}if((c[(c[d>>2]|0)+20>>2]|0)==0?(c[b>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;sF(a,69938,f)}mF(a,73584)|0;mF(a,73597)|0;l=g;return}function vd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[194048]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=HB(c[h>>2]|0)|0;sF(b,69869,i);d=b+64|0;if((c[d>>2]|0)==2)mF(b,69902)|0;else mF(b,69884)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;sF(b,69938,f);break}else{mF(b,69914)|0;break}while(0);mF(b,69968)|0;wM(b,c[(c[e>>2]|0)+24>>2]|0,13040);yM(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;wM(b,0,i)}}c[46762]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[194048]|0)){mF(b,69988)|0;a[194048]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=zM(d,c[46762]|0)|0;sF(b,70001,j)}l=k;return}function wd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;sF(a,69853,f);l=b;return}function xd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;sF(a,69480,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;sF(a,69497,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69531:69541;sF(a,69550,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;sF(a,69575,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;sF(a,69614,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;sF(a,69634,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;sF(a,69674,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;lb[t&63](69717,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;sF(a,69812,r)}l=s;return}function yd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){mF(a,69404)|0;wM(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}mF(a,69421)|0;mF(a,69448)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];sF(a,69463,d);l=e;return}function zd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,69397,d);mF(a,69390)|0;l=b;return}function Ad(a){a=a|0;mF(a,84824)|0;return}function Bd(a){a=a|0;mF(a,69390)|0;return}function Cd(a){a=a|0;mF(a,84824)|0;return}function Dd(a){a=a|0;mF(a,69390)|0;return}function Ed(a){a=a|0;mF(a,84824)|0;return}function Fd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){mF(a,69286)|0;wF(a,c[g>>2]|0,2);mF(a,69297)|0;c[d>>2]=zM(b,c[46762]|0)|0;sF(a,69301,d)}l=e;return}function Gd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Nd(b,f+16|0);f=e+4|0;tF(b,+h[(c[f>>2]|0)+16>>3]);c[j>>2]=c[c[f>>2]>>2];sF(b,69245,j);f=zM(c[e>>2]|0,c[46762]|0)|0;i=e+32|0;switch(a[e+48>>0]|0){case 114:{g=+h[i>>3];break}case 108:{g=0.0;break}default:g=+h[i>>3]*.5}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[e+24>>3]+ +h[n>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];vF(b,j);mF(b,69260)|0;tF(b,+h[i>>3]);c[k>>2]=f;sF(b,69269,k)}l=m;return}function Hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Nd(a,e+56|0);wF(a,f,2);mF(a,69203)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[b>>2]|0)+16|0);wF(a,f,2);mF(a,69223)|0}l=g;return}function Id(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Nd(a,f+56|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69169)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[g>>2]|0)+16|0);mF(a,69124)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];vF(a,i);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];vF(a,i);mF(a,69142)|0;e=e+1|0}mF(a,69185)|0}l=j;return}function Jd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69169)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;wF(a,b+(e<<4)|0,3);mF(a,69159)|0;e=e+3|0}mF(a,69151)|0}l=k;return}function Kd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[e>>2]|0)+16|0);mF(a,69124)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];vF(a,f);mF(a,69133)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];vF(a,f);mF(a,69142)|0;e=e+1|0}mF(a,69151)|0}l=g;return}function Ld(a,b){a=a|0;b=b|0;mF(a,69121)|0;mF(a,b)|0;mF(a,153748)|0;return}function Md(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Nd(a,j+56|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[k>>2]=e;c[k+4>>2]=b;sF(a,69038,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Od(a);Nd(a,(c[i>>2]|0)+16|0);mF(a,84719)|0;wF(a,d,e);mF(a,102905)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];vF(a,g);c[m>>2]=e;c[m+4>>2]=b;sF(a,69054,m)}l=n;return}function Nd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=111795;break}case 2:{d=111782;break}case 3:{d=111751;break}default:d=69090}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;sF(a,69097,e)}l=f;return}function Od(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;tF(b,+h[i+152>>3]);mF(b,69071)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(f2(f,111389)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;sF(b,69086,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(f2(f,134636)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;sF(b,96971,k);d=i}l=m;return}function Pd(b){b=b|0;var d=0;mF(b,75110)|0;d=NA(c[(c[b>>2]|0)+168>>2]|0,75166)|0;if(d|0?a[d>>0]|0:0){mF(b,75177)|0;mF(b,d)|0;mF(b,75201)|0}mF(b,75222)|0;mF(b,75270)|0;mF(b,75324)|0;d=b+12|0;mF(b,DK(c[c[c[d>>2]>>2]>>2]|0)|0)|0;mF(b,78453)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;mF(b,78463)|0;mF(b,DK(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;mF(b,75706)|0;mF(b,75730)|0;return}function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;mF(b,74945)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,74950,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;sF(b,74966,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;sF(b,74999,g);mF(b,75030)|0;mF(b,75066)|0;mF(b,76660)|0;l=i;return}function Rd(a){a=a|0;mF(a,74937)|0;return}function Sd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;ne(a,b,0,101811,c[(c[a+16>>2]|0)+8>>2]|0);mF(a,76660)|0;return}function Td(a){a=a|0;mF(a,74785)|0;return}function Ud(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;ne(b,c[g+212>>2]|0,0,111795,c[d>>2]|0);mF(b,74889)|0;tF(b,+h[b+488>>3]);mF(b,102905)|0;tF(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);sF(b,74908,f);tF(b,+h[b+504>>3]);mF(b,102905)|0;tF(b,-+h[b+512>>3]);mF(b,74932)|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,74841)|0;mF(b,DK(HB(c[d>>2]|0)|0)|0)|0;mF(b,74849)|0}l=e;return}function Vd(a){a=a|0;mF(a,74785)|0;return}function Wd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,108307,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[b>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Xd(a){a=a|0;mF(a,74785)|0;return}function Yd(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;ne(a,c[d+212>>2]|0,b,111782,c[e>>2]|0);mF(a,76660)|0;mF(a,74841)|0;mF(a,DK(HB(c[e>>2]|0)|0)|0)|0;mF(a,74849)|0;return}function Zd(a){a=a|0;mF(a,74785)|0;return}function _d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;ne(a,c[d+212>>2]|0,0,111751,c[b>>2]|0);mF(a,76660)|0;mF(a,74841)|0;b=CK(102396,c[b>>2]|0)|0;mF(a,DK(b)|0)|0;l6(b);mF(a,74849)|0;return}function $d(a){a=a|0;mF(a,74785)|0;return}function ae(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;mF(b,74791)|0;if(f|0){mF(b,74794)|0;mF(b,DK(f)|0)|0;mF(b,99045)|0}mF(b,74684)|0;mF(b,76621)|0;if(c|0?a[c>>0]|0:0){mF(b,74802)|0;mF(b,c)|0;mF(b,99045)|0}if(d|0?a[d>>0]|0:0){mF(b,74816)|0;mF(b,EK(d,1)|0)|0;mF(b,99045)|0}if(e|0?a[e>>0]|0:0){mF(b,74831)|0;mF(b,DK(e)|0)|0;mF(b,99045)|0}mF(b,76660)|0;return}function be(a){a=a|0;mF(a,76615)|0;mF(a,74785)|0;return}function ce(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;mF(e,74316)|0;switch(a[g+48>>0]|0){case 108:{mF(e,74322)|0;break}case 114:{mF(e,74343)|0;break}default:mF(e,74362)|0}H=f+8|0;G=+h[g+24>>3]+ +h[H>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){mF(e,74384)|0;tF(e,+h[f>>3]);mF(e,74389)|0;tF(e,-G);mF(e,99045)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){f=n+16|0;i=n+8|0;switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:m=n+4|0}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];sF(e,74395,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;sF(e,74412,p)}mF(e,99045)|0;if(f|0){c[r>>2]=f;sF(e,74416,r)}if(k|0){c[s>>2]=k;sF(e,74434,s)}if(!j)j=0;else{c[q>>2]=j;sF(e,74453,q)}}else{c[i>>2]=c[f>>2];sF(e,74470,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))sF(e,74488,t);if(!((j|0)!=0|(z&2|0)==0))sF(e,74508,u);if(z&100|0){sF(e,74529,v);if(!(z&4))f=0;else{sF(e,106287,w);f=1}if(z&64){c[y>>2]=f|0?101300:195341;sF(e,74548,y);f=1}if(z&32|0){c[A>>2]=f|0?101300:195341;sF(e,74559,A)}sF(e,99045,B)}if(z&8|0)sF(e,74574,C);if(z&16|0)sF(e,74598,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];sF(e,74620,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(C3(f,137615)|0){c[J>>2]=f;sF(e,74638,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;sF(e,74649,F);break}default:Aa(138697,73830,486,74671)}mF(e,74684)|0;if(b[H>>1]&512){c[K>>2]=DK(c[I+212>>2]|0)|0;sF(e,74686,K);mF(e,74735)|0;tF(e,-G);mF(e,74753)|0}mF(e,EK(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)sF(e,74756,L);mF(e,74776)|0;l=M;return}function de(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=ke(a,b,2)|0;break}case 3:{d=le(a)|0;break}default:d=0}mF(a,74280)|0;ie(a,c,d);mF(a,74289)|0;tF(a,+h[b>>3]);mF(a,74295)|0;c=b+8|0;tF(a,-+h[c>>3]);mF(a,74302)|0;tF(a,+h[b+16>>3]-+h[b>>3]);mF(a,74309)|0;tF(a,+h[b+24>>3]-+h[c>>3]);mF(a,73696)|0;return}function ee(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=ke(a,b,c)|0;break}case 3:{e=le(a)|0;break}default:e=0}mF(a,74271)|0;ie(a,d,e);mF(a,73686)|0;e=0;while(1){if((e|0)>=(c|0))break;tF(a,+h[b+(e<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(e<<4)+8>>3]);mF(a,102905)|0;e=e+1|0}tF(a,+h[b>>3]);mF(a,101300)|0;tF(a,-+h[b+8>>3]);mF(a,73696)|0;return}function fe(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=ke(a,d,e)|0;break}case 3:{f=le(a)|0;break}default:f=0}mF(a,73866)|0;if(b[g+260>>1]&512){mF(a,73872)|0;mF(a,DK(c[g+212>>2]|0)|0)|0;mF(a,73878)|0}ie(a,h,f);mF(a,73883)|0;me(a,d,e);mF(a,73696)|0;return}function ge(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;mF(a,73676)|0;ie(a,0,0);mF(a,73686)|0;d=0;while(1){if((d|0)>=(c|0))break;tF(a,+h[b+(d<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(d<<4)+8>>3]);mF(a,102905)|0;d=d+1|0}mF(a,73696)|0;return}function he(a,b){a=a|0;b=b|0;mF(a,73670)|0;mF(a,DK(b)|0)|0;mF(a,75730)|0;return}function ie(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;mF(b,73701)|0;a:do switch(d|0){case 2:{c[f>>2]=e;sF(b,73709,f);break}case 3:{c[g>>2]=e;sF(b,73720,g);break}case 0:{mF(b,136010)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)/255.0;sF(b,73731,j)}}}while(0);mF(b,73750)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);d=m+152|0;if(+h[d>>3]!=1.0){mF(b,73761)|0;tF(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73801;sF(b,73778,o);break}case 2:{c[n>>2]=73805;sF(b,73778,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)/255.0;sF(b,73809,p)}while(0);mF(b,99045)|0;l=q;return}function je(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,137680)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,73830,117,73850)}while(0);l=g;return}function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[46764]|0;c[46764]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*3.141592653589793/180.0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;nQ(d,k,e,f,0);c[o>>2]=q;sF(b,74103,o);mF(b,74168)|0;tF(b,+h[k>>3]);mF(b,74173)|0;tF(b,+h[k+8>>3]);mF(b,74180)|0;tF(b,+h[k+16>>3]);mF(b,74187)|0;tF(b,+h[k+24>>3]);mF(b,74194)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;sF(b,74199,i)}else mF(b,73975)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)/255.0;sF(b,99913,m)}else s=7;while(0);if((s|0)==7)mF(b,74026)|0;mF(b,74029)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;sF(b,74199,n)}else mF(b,74035)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));je(b,o);mF(b,74011)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)/255.0;sF(b,99913,r)}else s=14;while(0);if((s|0)==14)mF(b,74026)|0;mF(b,74239)|0;l=t;return q|0}function le(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[46763]|0;c[46763]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*3.141592653589793/180.0;e=r;if(r==0.0){f=50;d=50}else{f=~~((+I(+e)+1.0)*50.0);d=~~((1.0-+J(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;sF(b,73891,k);mF(b,73975)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)/255.0;sF(b,99913,j)}else p=6;while(0);if((p|0)==6)mF(b,74026)|0;mF(b,74029)|0;mF(b,74035)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));je(b,k);mF(b,74011)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)/255.0;sF(b,99913,o)}else p=10;while(0);if((p|0)==10)mF(b,74026)|0;mF(b,74071)|0;l=q;return n|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;sF(a,73888,g);tF(a,+h[b+(f<<4)>>3]);mF(a,101300)|0;tF(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function ne(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;mF(b,74859)|0;mF(b,DK(d)|0)|0;if(e|0){c[h>>2]=DK(e)|0;sF(b,74867,h)}c[i>>2]=f;sF(b,74871,i);d=NA(g,74883)|0;if(d|0?a[d>>0]|0:0){mF(b,102905)|0;mF(b,DK(d)|0)|0}mF(b,99045)|0;l=j;return}function oe(a){a=a|0;var b=0;mF(a,75690)|0;b=a+12|0;mF(a,ye(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,ye(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,75706)|0;return}function pe(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;mF(b,75667)|0;d=d+8|0;if(a[(HB(c[d>>2]|0)|0)>>0]|0){mF(b,75669)|0;mF(b,ye(HB(c[d>>2]|0)|0)|0)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,75678,e);c[46765]=0;l=f;return}function qe(a){a=a|0;c[46765]=1;return}function re(a){a=a|0;c[46765]=-1;return}function se(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[(c[k>>2]|0)+16>>3]*+h[b+352>>3]),j|0):0){ze(b);mF(b,75606)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];vF(b,i);mF(b,75620)|0;mF(b,c[e>>2]|0)|0;mF(b,75629)|0;mF(b,75427)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Ae(b,i);mF(b,75631)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;mF(b,99045)|0;mF(b,k)|0;mF(b,99045)|0;c[m>>2]=j;sF(b,75640,m);switch(a[e+48>>0]|0){case 108:{mF(b,75645)|0;break}case 114:{mF(b,75656)|0;break}default:{}}Be(b);mF(b,153748)|0}l=n;return}function te(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];e=b+8|0;m=+h[e>>3];k=+h[b+24>>3]-m;h[b>>3]=n-(+h[b+16>>3]-n);h[e>>3]=m-k;ze(a);mF(a,75592)|0;wF(a,b,2);mF(a,75427)|0;do if(!d)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){ze(a);mF(a,75564)|0;wF(a,b,d);mF(a,75427)|0;do if(!e)if(!(c[46765]|0)){mF(a,97610)|0;break}else{mF(a,137499)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f)}while(0);if((c[46765]|0)==1)c[46765]=0;mF(a,75538)|0;tF(a,+h[g+152>>3]);mF(a,75581)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ae(a,f);b=c[i>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[i>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=j;return}function ve(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ae(a,i);mF(a,75538)|0;tF(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){mF(a,75435)|0;e=c[k>>2]|0}if((e|0)==2)mF(a,75444)|0;mF(a,75547)|0;Be(a);mF(a,153748)|0}l=m;return}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){ze(a);mF(a,75413)|0;wF(a,b,d);mF(a,75427)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Ae(a,g);b=c[h>>2]|0;if((b|0)==1){mF(a,75435)|0;b=c[h>>2]|0}if((b|0)==2)mF(a,75444)|0;Be(a);mF(a,153748)|0}l=i;return}function xe(a,b){a=a|0;b=b|0;mF(a,75410)|0;mF(a,ye(b)|0)|0;mF(a,153748)|0;return}function ye(a){a=a|0;return a|0}function ze(b){b=b|0;if(!(a[b+144>>0]|0))mF(b,75535)|0;else mF(b,c[b+148>>2]|0)|0;return}function Ae(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,97610)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,75453,49,75517)}while(0);l=g;return}function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;h=c[a+16>>2]|0;e=h+8|0;switch(c[h+12>>2]|0){case 8:{b=1;d=111782;break}case 10:{b=0;d=111782;break}case 3:case 2:case 9:{b=1;d=111751;break}case 7:case 6:case 11:{b=0;d=111751;break}case 0:{b=1;d=111795;break}case 4:{b=0;d=75489;break}case 1:{b=1;d=111795;break}case 5:{b=0;d=111795;break}default:Aa(138697,75453,106,75472)}h=c[(c[e>>2]|0)+8>>2]|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;sF(a,75501,f);l=g;return}function Ce(a){a=a|0;var b=0;mF(a,78425)|0;mF(a,78433)|0;b=a+12|0;mF(a,Ne(c[c[c[b>>2]>>2]>>2]|0)|0)|0;mF(a,78453)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;mF(a,78463)|0;mF(a,Ne(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;mF(a,78466)|0;return}function De(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[46769]=~~(+h[b+232>>3]-+h[b+216>>3]);c[46768]=~~(+h[b+224>>3]-+h[b+208>>3]);mF(b,77112)|0;mF(b,77119)|0;d=HB(c[d+8>>2]|0)|0;if(a[d>>0]|0){mF(b,77188)|0;mF(b,Ne(d)|0)|0;mF(b,77196)|0}c[e>>2]=S(c[b+168>>2]|0,c[b+164>>2]|0)|0;sF(b,77205,e);mF(b,77225)|0;mF(b,77260)|0;mF(b,77288)|0;mF(b,77294)|0;mF(b,77337)|0;mF(b,77378)|0;mF(b,77397)|0;mF(b,77414)|0;mF(b,77462)|0;mF(b,77515)|0;mF(b,77591)|0;mF(b,77667)|0;mF(b,77676)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77990)|0;mF(b,77699)|0;mF(b,77726)|0;mF(b,77779)|0;mF(b,77946)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,77868)|0;mF(b,77894)|0;mF(b,77779)|0;mF(b,77801)|0;mF(b,77846)|0;mF(b,77858)|0;mF(b,78003)|0;mF(b,78011)|0;mF(b,78017)|0;mF(b,78031)|0;mF(b,78039)|0;mF(b,78072)|0;e=(c[46769]|0)+10|0;c[f>>2]=c[46768];c[f+4>>2]=e;sF(b,78149,f);mF(b,78179)|0;mF(b,78188)|0;mF(b,78246)|0;mF(b,78256)|0;mF(b,78321)|0;f=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=f;sF(b,78358,g);g=c[46769]|0;c[i>>2]=c[46768];c[i+4>>2]=g;sF(b,78386,i);l=j;return}function Ee(a){a=a|0;mF(a,76663)|0;mF(a,76675)|0;mF(a,76683)|0;mF(a,76746)|0;mF(a,76675)|0;mF(a,76791)|0;mF(a,76840)|0;mF(a,76894)|0;mF(a,76675)|0;mF(a,76994)|0;mF(a,77043)|0;mF(a,76675)|0;mF(a,77095)|0;return}function Fe(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;mF(b,76621)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Ne(d)|0;sF(b,76624,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Ne(e)|0;sF(b,76635,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Ne(f)|0;sF(b,76647,i)}mF(b,76660)|0;l=j;return}function Ge(a){a=a|0;mF(a,76615)|0;return}function He(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;m=+h[f+32>>3];switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];break}case 114:{j=+h[e>>3]-m;break}default:j=+h[e>>3]-m*.5}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}D=j+-8.0;B=+((c[46769]|0)>>>0)-+h[e+8>>3];C=k/5.0+(k<12.0?1.4:2.0);k=C+(B-i);sF(b,76277,n);h[o>>3]=D;h[o+8>>3]=k;sF(b,76214,o);h[p>>3]=m+j+8.0-D;h[p+8>>3]=C+B-k;sF(b,76238,p);mF(b,76312)|0;mF(b,76346)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];sF(b,76436,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;sF(b,76455,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;sF(b,76472,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;sF(b,76490,v)}}else{c[q>>2]=c[g>>2];sF(b,76436,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];sF(b,76506,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(C3(g,137615)|0){c[z>>2]=g;sF(b,76526,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;sF(b,76536,y);break}default:Aa(138697,76e3,438,76557)}mF(b,76570)|0;mF(b,Ne(c[f>>2]|0)|0)|0;mF(b,76581)|0;mF(b,76604)|0;l=A;return}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;mF(a,76178)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+8>>3];g=+h[b+24>>3]-k;k=+((c[46769]|0)>>>0)-(k+g);h[j>>3]=m-i;h[j+8>>3]=k;sF(a,76214,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;sF(a,76238,f);Re(a,d);mF(a,76060)|0;Pe(a);mF(a,76266)|0;l=e;return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;mF(a,75783)|0;n=c[46769]|0;c[g>>2]=c[46768];c[g+4>>2]=n;sF(a,76036,g);Re(a,e);mF(a,76060)|0;Pe(a);mF(a,76063)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){mF(a,76090)|0;h[j>>3]=i;h[j+8>>3]=f;sF(a,76156,j);mF(a,76167)|0}else{h[k>>3]=i;h[k+8>>3]=f;sF(a,76156,k)}if((e|0)==(g|0))mF(a,76170)|0;e=e+1|0}mF(a,75899)|0;l=m;return}function Ke(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;mF(a,75783)|0;h=c[46769]|0;c[e>>2]=c[46768];c[e+4>>2]=h;sF(a,76036,e);Re(a,g);mF(a,76060)|0;Pe(a);mF(a,76063)|0;Se(a,b,d);mF(a,76076)|0;l=f;return}function Le(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;mF(a,75783)|0;g=c[46769]|0;c[f>>2]=c[46768];c[f+4>>2]=g;sF(a,75820,f);mF(a,75860)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){mF(a,75872)|0;m=+((c[46769]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;sF(a,75876,i);mF(a,75887)|0}else{m=+((c[46769]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;sF(a,75876,j)}if((e|0)==(f|0))mF(a,75891)|0;e=e+1|0}mF(a,75895)|0;Pe(a);mF(a,75899)|0;l=k;return}function Me(a,b){a=a|0;b=b|0;mF(a,75718)|0;mF(a,Ne(b)|0)|0;mF(a,75730)|0;return}function Ne(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[46766]|0;if(!d){c[46767]=64;d=IK(64)|0;c[46766]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;m=g;p=b;j=e;k=f;b:while(1){if(!p){t=29;break a}b=a[p>>0]|0;if(!(b<<24>>24)){t=29;break a}e=c[46767]|0;if((q|0)>(e+-8|0)){d=e<<1;c[46767]=d;d=KK(c[46766]|0,d)|0;c[46766]=d;d=d+q|0;e=a[p>>0]|0}else e=b;b=p+1|0;switch(e<<24>>24){case 60:{e=4;f=102454;t=24;break b}case 62:{e=4;f=102437;t=25;break b}case 38:{t=11;break b}case 45:{e=5;f=102448;i=m;break b}default:{}}if(n&e<<24>>24==32){t=13;break}switch(e<<24>>24){case 34:{e=6;f=102411;t=24;break b}case 39:{e=5;f=102442;t=25;break b}default:{}}if(e<<24>>24<0){i=127;f=0}else{e=1;f=p;t=24;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=h&i&255;i=g>>>1;f=f+1|0}g=(f|0)>1;j=v6(j|0,k|0,6)|0;k=g?f:m;f=w6(e&255|0,0,(g?0:j)|0,(g?0:D)|0)|0;g=D;m=k+-1|0;if((k|0)>1){p=b;j=f;k=g}else{t=19;break}}if((t|0)==11){t=0;f=(Oe(p)|0)==0;e=f?5:1;f=f?102431:p;i=m}else if((t|0)==13){t=0;f=(a[o>>0]|0)==32;e=f?6:1;f=f?102424:p;i=m}else if((t|0)==19){t=0;a[s>>0]=59;e=3;i=r;j=f;k=g;while(1){f=J6(j|0,k|0,10,0)|0;h=i+-1|0;a[i>>0]=f|48;f=j;j=E6(j|0,k|0,10,0)|0;g=k;k=D;o=e;e=e+1|0;if((o|0)>11){t=21;break a}if(!(g>>>0>0|(g|0)==0&f>>>0>9))break;else i=h}f=i+-2|0;a[h>>0]=35;a[f>>0]=38;i=m}else if((t|0)==24){t=0;i=m}else if((t|0)==25){t=0;i=m}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[f>>0]|0;g=g+-1|0;f=f+1|0;d=d+1|0}g=i;q=e+q|0;o=p;d=h;e=j;f=k}if((t|0)==21){_3(75736,46,1,c[15715]|0)|0;$a(1)}else if((t|0)==29){a[d>>0]=0;l=u;return c[46766]|0}return 0}function Oe(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Pe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;mF(a,75911)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Qe(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;sF(a,75929,j)}switch(c[i+144>>2]|0){case 1:{mF(a,75946)|0;break}case 2:{mF(a,75964)|0;break}default:{}}mF(a,75981)|0;l=k;return}function Qe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{mF(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){mF(b,136010)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;sF(b,75986,f);break a}default:Aa(138697,76e3,94,76020)}while(0);l=g;return}function Re(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)mF(a,76139)|0;else{d=c[a+16>>2]|0;mF(a,76109)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Qe(a,f);mF(a,76136)|0}l=g;return}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=76090;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[46769]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;sF(a,76093,g);e=(f|0)==0?76106:195341;f=f+1|0}mF(a,99045)|0;l=i;return}function Te(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;mF(a,80723)|0;mF(a,80738)|0;mF(a,80777)|0;mF(a,80826)|0;c[e>>2]=137615;c[e+4>>2]=80914;sF(a,80895,e);c[d>>2]=137499;c[d+4>>2]=80920;sF(a,80895,d);l=b;return}function Ue(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79676,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+N(+(i/500.0))*180.0/3.141592653589793*2.0;e=+N(+(g/500.0))*180.0/3.141592653589793*2.0;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;sF(a,79698,d);mF(a,79845)|0;mF(a,80675)|0;l=b;return}function Ve(a){a=a|0;mF(a,79659)|0;return}function We(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;sF(a,79629,h);g[46770]=+(S(d,-10)|0);l=f;return}function Xe(a){a=a|0;mF(a,79612)|0;return}function Ye(a){a=a|0;mF(a,79594)|0;return}function Ze(a){a=a|0;mF(a,79578)|0;return}function _e(a){a=a|0;mF(a,79557)|0;g[46770]=+g[46770]+-2.0;return}function $e(a){a=a|0;mF(a,79538)|0;return}function af(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=HB(c[(c[a+16>>2]|0)+8>>2]|0)|0;sF(a,79516,d);l=b;return}function bf(a){a=a|0;mF(a,79500)|0;return}function cf(a){a=a|0;mF(a,79482)|0;g[46770]=+g[46770]+-5.0;return}function df(a){a=a|0;mF(a,79466)|0;g[46770]=+g[46770]+5.0;return}function ef(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;i=r;p=e+4|0;n=c[p>>2]|0;f=+h[n+16>>3];n=c[n>>2]|0;c[i>>2]=c[e>>2];h[i+8>>3]=f;c[i+16>>2]=n;sF(b,79312,i);g[46771]=+g[46770]+-9.0;i=e+32|0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{f=+h[d>>3]-+h[i>>3];k=5;break}default:{f=+h[d>>3]-+h[i>>3]*.5;k=5}}if((k|0)==5)h[d>>3]=f;u=+h[b+488>>3];t=(f+ +h[b+504>>3])*u;s=(+h[d+8>>3]+ +h[b+512>>3])*+h[b+496>>3];h[j>>3]=u*+h[(c[p>>2]|0)+16>>3];n=lf(b,79364,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=lf(b,78581,m)|0;f=+g[46771];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=lf(b,78613,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=mf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79451;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=lf(b,79376,q)|0;mF(b,q)|0;l6(q);l6(i);l6(o);l6(d);l6(n);l=r;return}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;mF(a,79189)|0;g[46771]=+g[46770]+-6.0;j=+h[b>>3];i=+h[a+488>>3];p=(j+ +h[a+504>>3])*i;k=+h[b+8>>3];A=+h[a+496>>3];q=(k+ +h[a+512>>3])*A;j=i*(+h[b+16>>3]-j);k=A*(+h[b+24>>3]-k);s=a+16|0;A=j+k;i=+h[(c[s>>2]|0)+152>>3]/A*.5*5.0;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=lf(a,78549,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=lf(a,78581,e)|0;A=+g[46771];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=lf(a,78613,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=mf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=lf(a,79204,n)|0;mF(a,w)|0;l6(b);l6(e);l6(f);l6(v);l6(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=lf(a,78549,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=lf(a,78581,r)|0;A=+g[46771];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=lf(a,78613,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=mf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=lf(a,79250,y)|0;mF(a,y)|0;l6(f);l6(e);l6(b);l6(x);l6(y)}l=z;return}function gf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+336|0;E=N+296|0;M=N+288|0;L=N+272|0;K=N+264|0;J=N+240|0;G=N+232|0;D=N+208|0;C=N+184|0;A=N+160|0;z=N+152|0;y=N+136|0;x=N+128|0;w=N+96|0;v=N+88|0;u=N+56|0;f=N+48|0;m=N+24|0;k=N;mF(a,79054)|0;g[46771]=+g[46770]+-2.0;s=a+488|0;t=a+496|0;q=+h[t>>3];h[k>>3]=+h[s>>3];h[k+8>>3]=q;h[k+16>>3]=1.0;k=lf(a,78549,k)|0;B=a+360|0;q=+(c[B>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=q;m=lf(a,78581,m)|0;q=+g[46771]+-2.0;h[E>>3]=0.0;h[E+8>>3]=0.0;h[E+16>>3]=q;n=lf(a,78613,E)|0;F=a+16|0;i=E;j=(c[F>>2]|0)+16|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,0.0)|0;c[f>>2]=78676;c[f+4>>2]=d+1;H=a+512|0;I=a+504|0;i=0;f=lf(a,78645,f)|0;while(1){o=+h[H>>3];p=+h[I>>3];q=+h[(c[F>>2]|0)+152>>3];if((i|0)>=(d|0))break;o=o+ +h[b+(i<<4)+8>>3];h[u>>3]=p+ +h[b+(i<<4)>>3];h[u+8>>3]=o;h[u+16>>3]=0.0;h[u+24>>3]=q;O=lf(a,78690,u)|0;c[v>>2]=f;c[v+4>>2]=O;r=lf(a,78719,v)|0;l6(O);l6(f);i=i+1|0;f=r}o=o+ +h[b+8>>3];h[w>>3]=p+ +h[b>>3];h[w+8>>3]=o;h[w+16>>3]=0.0;h[w+24>>3]=q;w=lf(a,78690,w)|0;c[x>>2]=f;c[x+4>>2]=w;O=lf(a,78719,x)|0;l6(w);l6(f);c[y>>2]=k;c[y+4>>2]=m;c[y+8>>2]=n;c[y+12>>2]=j;y=lf(a,79069,y)|0;c[z>>2]=O;c[z+4>>2]=y;O=lf(a,78774,z)|0;l6(y);mF(a,O)|0;l6(k);l6(m);l6(n);l6(j);l6(O);if(e|0){q=+h[t>>3];h[A>>3]=+h[s>>3];h[A+8>>3]=q;h[A+16>>3]=1.0;n=lf(a,78549,A)|0;q=+(c[B>>2]|0);h[C>>3]=0.0;h[C+8>>3]=0.0;h[C+16>>3]=q;m=lf(a,78581,C)|0;q=+g[46771]+-2.0;h[D>>3]=0.0;h[D+8>>3]=0.0;h[D+16>>3]=q;k=lf(a,78613,D)|0;i=E;j=(c[F>>2]|0)+56|0;r=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(r|0));j=mf(a,E,.25)|0;c[G>>2]=d;i=0;f=lf(a,79114,G)|0;while(1){if((i|0)>=(d|0))break;q=+h[b+(i<<4)+8>>3]+ +h[H>>3];h[J>>3]=+h[b+(i<<4)>>3]+ +h[I>>3];h[J+8>>3]=q;h[J+16>>3]=0.0;G=lf(a,79129,J)|0;c[K>>2]=f;c[K+4>>2]=G;O=lf(a,79151,K)|0;l6(G);l6(f);i=i+1|0;f=O}c[L>>2]=n;c[L+4>>2]=m;c[L+8>>2]=k;c[L+12>>2]=j;L=lf(a,79161,L)|0;c[M>>2]=f;c[M+4>>2]=L;O=lf(a,78774,M)|0;l6(L);mF(a,O)|0;l6(n);l6(m);l6(k);l6(j);l6(O)}l=N;return}function hf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;mF(a,78981)|0;g[46771]=+g[46770]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=lf(a,78549,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=lf(a,78581,s)|0;C=+g[46771]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=lf(a,78613,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=mf(a,e,0.0)|0;c[k>>2]=78995;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=lf(a,78645,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[i>>3]+ +h[p>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[f>>3]+ +h[o>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=lf(a,78690,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=lf(a,78719,w)|0;l6(k);l6(e);if((m|0)==0|(m|0)==(q|0)){C=+h[i>>3]+ +h[p>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[f>>3]+ +h[o>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=lf(a,78690,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=lf(a,78719,y)|0;l6(k);l6(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=lf(a,79004,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=lf(a,78774,A)|0;l6(b);mF(a,d)|0;l6(r);l6(s);l6(t);l6(n);l6(d);l=B;return}function jf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;mF(a,78533)|0;g[46771]=+g[46770]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=lf(a,78549,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=lf(a,78581,n)|0;w=+g[46771];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=lf(a,78613,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=mf(a,e,0.0)|0;c[m>>2]=78676;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=lf(a,78645,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[b+(f<<4)+8>>3]+ +h[k>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[b+(f<<4)>>3]+ +h[j>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=lf(a,78690,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=lf(a,78719,s)|0;l6(x);l6(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=lf(a,78728,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=lf(a,78774,u)|0;l6(t);mF(a,x)|0;l6(q);l6(n);l6(o);l6(i);l6(x);l=v;return}function kf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;sF(a,78514,e);l=d;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=k2(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=k6(g+1|0)|0;c[f>>2]=d;j2(a,b,f)|0;break}else{a=Y3(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=v2(c[(L1()|0)>>2]|0)|0;lb[a&63](78959,h);a=Y3(195341)|0}while(0);l=i;return a|0}function mf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;m=q+48|0;p=q+32|0;n=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(f2(f,136603)|0)){c[k>>2]=78796;h[k+8>>3]=e;f=lf(a,78779,k)|0;break a}if(!(f2(f,133733)|0)){c[n>>2]=78800;h[n+8>>3]=e;f=lf(a,78779,n)|0;break a}if(!(f2(f,131732)|0)){c[p>>2]=78806;h[p+8>>3]=e;f=lf(a,78779,p)|0;break a}else{c[m>>2]=f;h[m+8>>3]=e;f=lf(a,78779,m)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=lf(a,78811,i)|0;break}default:{p=c[15715]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;z4(p,78850,j)|0;Aa(138697,78900,436,78920)}}while(0);c[o>>2]=f;p=lf(a,78937,o)|0;l6(f);l=q;return p|0}function nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=81366;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;sF(a,83976,g);f=HB(c[f+8>>2]|0)|0;c[e>>2]=81366;c[e+4>>2]=f;sF(a,84008,e);c[d>>2]=81366;sF(a,84022,d);l=b;return}function of(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=81366;sF(a,83924,d);l=b;return}function pf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;G=W+184|0;F=W+176|0;E=W+168|0;D=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;f=c[a+456>>2]|0;g=c[a+460>>2]|0;i=c[a+464>>2]|0;j=c[a+468>>2]|0;k=a+360|0;a:do if(c[4035]|0){switch(c[k>>2]|0){case 90:case 0:break a;default:{}}Bf();c[4035]=0}while(0);e=(+(j|0)-+(g|0))/72.0;b=(+(i|0)-+(f|0))/72.0;k=(c[k>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;sF(a,81553,m);c[n>>2]=81366;sF(a,81568,n);if(d>0.0){b=+V3(d);h[19233]=b;b=b+(3.0-+(~~b|0))}else b=3.0;b=+H(10.0,+b);h[19233]=b;h[B>>3]=b;h[B+8>>3]=b;sF(a,81737,B);c[S>>2]=81366;sF(a,81772,S);c[o>>2]=81366;sF(a,81830,o);c[p>>2]=81366;sF(a,81890,p);c[q>>2]=81366;sF(a,81939,q);c[r>>2]=81366;sF(a,81978,r);c[s>>2]=81366;sF(a,82029,s);c[t>>2]=81366;sF(a,82091,t);c[u>>2]=81366;sF(a,82201,u);c[v>>2]=81366;sF(a,82292,v);c[w>>2]=81366;sF(a,82346,w);c[x>>2]=81366;sF(a,82415,x);sF(a,82451,y);c[z>>2]=81366;sF(a,82576,z);c[A>>2]=81366;sF(a,82605,A);sF(a,82645,C);c[D>>2]=81366;sF(a,82738,D);c[E>>2]=81366;sF(a,82797,E);c[F>>2]=81366;sF(a,82878,F);sF(a,82948,G);c[I>>2]=81366;sF(a,83037,I);c[J>>2]=81366;sF(a,83142,J);c[K>>2]=81366;sF(a,83218,K);c[L>>2]=81366;sF(a,83257,L);c[M>>2]=81366;sF(a,83356,M);c[N>>2]=81366;sF(a,83402,N);sF(a,83491,O);c[P>>2]=81366;sF(a,83532,P);c[Q>>2]=81366;sF(a,83615,Q);c[R>>2]=81366;sF(a,83716,R);h[T>>3]=e;h[T+8>>3]=d;sF(a,83780,T);sF(a,83808,U);sF(a,83816,V);l=W;return}function qf(a){a=a|0;var b=0;b=l;l=l+16|0;sF(a,81546,b);l=b;return}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;p=q+24|0;o=q+8|0;n=q;j=+h[e+32>>3];switch(a[e+48>>0]|0){case 108:{i=+h[d>>3];break}case 114:{g=j;f=4;break}default:{g=j*.5;f=4}}if((f|0)==4){i=+h[d>>3]-g;h[d>>3]=i}k=e+4|0;f=c[k>>2]|0;g=+h[f+16>>3];r=d+8|0;m=+h[r>>3]+g/216.0;h[r>>3]=m;i=j/144.0+i;h[d>>3]=i;f=c[f>>2]|0;do if(f){d=c[46772]|0;if(d|0?(f2(d,f)|0)==0:0)break;c[n>>2]=zf(f)|0;sF(b,81445,n);r=c[k>>2]|0;c[46772]=c[r>>2];g=+h[r+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[46773]|0)){j=+h[19233];c[o>>2]=f;h[o+8>>3]=j;sF(b,81453,o);c[46773]=f}c[p>>2]=Af(c[e>>2]|0)|0;h[p+8>>3]=i;h[p+16>>3]=m;sF(b,81474,p);l=q;return}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*2.0/72.0;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*2.0/72.0;c[f>>2]=1;c[f+4>>2]=d|0?81387:195341;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i/72.0;h[f+32>>3]=g/72.0;sF(a,81393,f);l=e;return}function tf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,1);l=e;return}function uf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=k6((d*140|0)+140|0)|0;xf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(i2(j,81371,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;iP(o,n,3,+(f|0)/6.0,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(i2(e,81371,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;sF(a,81378,q);l6(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;sF(a,81383,s);e=e+1|0}mF(a,153748)|0;l=t;return}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;xf(c[a+16>>2]|0,e+8|0,e);yf(a,b,d,0);l=e;return}function wf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=81366;c[e+4>>2]=b;sF(a,81359,e);l=d;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));sF(a,81371,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));sF(a,81371,i)}mF(a,153748)|0;l=j;return}function zf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15868;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(f2(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81527;c[f+4>>2]=b;dA(1,81501,f)|0;d=I4(b,45)|0;if(!d){d=81544;break}a[d>>0]=0}l=h;return d|0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[46774]|0;if(!d){c[46775]=64;d=k6(64)|0;c[46774]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[46775]|0;if((e|0)>(b+-8|0)){d=b<<1;c[46775]=d;d=n6(c[46774]|0,d)|0;c[46774]=d;d=d+e|0}b=d+1|0;if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;i2(b,81496,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=b}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[46774]|0}function Bf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81527;c[b+4>>2]=91570;dA(0,83906,b)|0;l=a;return}function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;sF(a,84495,j);i=(+h[d+16>>3]+ +h[d>>3])*.5;g=(+h[d+24>>3]+ +h[d+8>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;sF(a,84537,f);l=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;sF(a,84582,f);mF(a,84674)|0;l=e;return}function Ef(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)Aa(111583,84679,212,84698);if(!b)Aa(111613,84679,213,84698);p=b+8|0;if(!(c[p>>2]|0))Aa(111616,84679,214,84698);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){sF(a,84719,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;sF(a,84722,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;sF(a,84722,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;sF(a,84729,n)}sF(a,84719,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;sF(a,84722,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;sF(a,84722,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;sF(a,84744,s)}l=t;return}function Gf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+112|0;o=p+24|0;n=p+16|0;m=p;g=p+28|0;if(!b)Aa(111583,84679,153,84760);if(!d)Aa(111613,84679,154,84760);if(!(c[d+8>>2]|0))Aa(111616,84679,155,84760);j=d+52|0;k=d+60|0;if(c[j>>2]|0){f=c[k>>2]|0;if((f|0)==100)i=18;else{db[f&127](d);c[j>>2]=0;c[k>>2]=0;c[d+56>>2]=0;i=10}}else i=10;do if((i|0)==10){if(!((MF(d)|0)<<24>>24))break;f=V5(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){i3(f,g)|0;g=c[g+36>>2]|0;c[d+56>>2]=g;f=K4(0,g,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[k>>2]=100;NF(d);if(c[j>>2]|0)i=18}while(0);if((i|0)==18){q=+h[e+8>>3]-+(c[d+36>>2]|0);h[m>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[m+8>>3]=q;sF(b,84778,m);if(!(a[d+16>>0]|0)){c[n>>2]=c[d+12>>2];sF(b,84809,n)}else xM(b,d);sF(b,84824,o)}l=p;return}function Hf(a){a=a|0;E3(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)Aa(111583,84679,121,84834);e=c[a+16>>2]|0;if(!e)Aa(100203,84679,123,84834);if(!b)Aa(111613,84679,124,84834);d=b+8|0;if(!(c[d>>2]|0))Aa(111616,84679,125,84834);if(!(c[e+8>>2]|0))Aa(139182,84679,128,84834);else{sF(a,84854,g);sF(a,84863,g+8|0);sF(a,84890,g+16|0);sF(a,84915,g+24|0);sF(a,84944,g+32|0);sF(a,84972,g+40|0);c[f>>2]=c[d>>2];sF(a,84979,f);sF(a,85018,g+56|0);sF(a,111309,g+64|0);l=g;return}}function Jf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)Aa(111583,84679,97,85023);if(!b)Aa(111613,84679,98,85023);e=c[b+8>>2]|0;if(!e)Aa(111616,84679,99,85023);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;sF(a,85042,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;sF(a,85100,g);l=i;return}}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+96|0;o=p+56|0;n=p+32|0;m=p;q=+h[d+16>>3];i=+h[d>>3];k=q-i;j=+h[d+24>>3];f=+h[d+8>>3];g=j-f;i=(q+i-k)*.5;if(!a)Aa(111583,84679,53,85132);if(!b)Aa(111613,84679,54,85132);e=b+8|0;if(!(c[e>>2]|0))Aa(111616,84679,55,85132);mF(a,85151)|0;mF(a,c[e>>2]|0)|0;e=a+360|0;f=-((j+f+g)*.5);if(!(c[e>>2]|0)){h[o>>3]=k;h[o+8>>3]=g;h[o+16>>3]=i;h[o+24>>3]=f;sF(a,85280,o)}else{h[m>>3]=g;h[m+8>>3]=k;h[m+16>>3]=i;h[m+24>>3]=f;sF(a,85171,m);c[n>>2]=c[e>>2];h[n+8>>3]=i;h[n+16>>3]=f;sF(a,85250,n)}mF(a,85359)|0;l=p;return}function Lf(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Mf(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Nf(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Mf(a){a=a|0;var b=0,d=0;RC(a,137750,304,1)|0;qP(a);oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=HK(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=HK(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=HK(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=HK(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=HK(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Nf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;RC(d,137763,176,1)|0;rP(d)|0;h=XO(d,c[47236]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=_O(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[47230]|0,195341)|0;i=_O(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[47230]|0,195341)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Jk(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(XO(d,c[47256]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(XO(d,c[47237]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Of(a){a=a|0;var b=0,d=0;Pf(c[(c[a+16>>2]|0)+192>>2]|0);d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}Qf(d);d=hC(a,d)|0}Rf(a);return}function Pf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Sf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}l6(d);l6(b);b=g}return}function Qf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){l6(d);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)db[c[(c[b+4>>2]|0)+4>>2]&127](a);TC(a,137750)|0;return}function Rf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=MD(a)|0;while(1){if(!d)break;Rf(d);d=ND(d)|0}if(RC(a,137786,0,1)|0){g=a+16|0;d=c[g>>2]|0;e=c[d+184>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+268>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+216>>2]|0;if(e){l6(e);d=c[g>>2]|0}e=c[d+196>>2]|0;do if(e|0){f=b[d+236>>1]|0;while(1){if((f|0)>(b[d+238>>1]|0))break;l6(c[e+(f<<6)+12>>2]|0);h=c[g>>2]|0;f=f+1|0;d=h;e=c[h+196>>2]|0}if((b[d+236>>1]|0)==-1){l6(e+-64|0);break}else{l6(e);break}}while(0);if((vC(a)|0)!=(a|0)){AK(c[(c[g>>2]|0)+12>>2]|0);TC(a,137786)|0}}return}function Sf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;fh(b);l6(c[b+16>>2]|0);l6(b);b=a}return}function Tf(a){a=a|0;if(qB(a)|0)Uf(a);rM(a);return}function Uf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=jH(a,-1,8)|0;d=kH(a,0,f)|0;iH(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)Vf(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=EG(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){Vf(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){Vf(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;Wf(b,a);Vf(b);d=d+1|0;b=c[g>>2]|0}Xf(a);hH(c[g>>2]|0,e,a,f)|0;Yf(a);Zf(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;l6(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Rf(c[f>>2]|0);tC(a,c[f>>2]|0)|0;b=b+1|0}l6(e)}l=h;return}function Vf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=XO(a,DA(a,0,85374,0)|0,-1,1)|0;mQ(a,10);d=Ik(a,e)|0;$f(a,a);Lf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){uj(a,d);if(f){d=3;break}if(c[g>>2]|0){dA(0,85380,k)|0;c[e>>2]=0;d=0}Eh(a,(d|0)!=0&1);if(h){d=7;break}Hi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)ag(a,1);else if((d|0)==7)ag(a,2);else if((d|0)==9)ag(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)bg(a);ok(a);fg(a);if((bP(NA(a,85471)|0)|0)<<24>>24)il(a)}l=m;return}function Wf(b,d){b=b|0;d=d|0;var e=0,f=0;RC(b,137786,280,1)|0;e=HK(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function Xf(a){a=a|0;var b=0,d=0,e=0;b=HK((qB(a)|0)<<4)|0;d=gC(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]/72.0;h[b+8>>3]=+h[e+24>>3]/72.0;b=b+16|0;d=hC(a,d)|0}return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=hC(a,d)|0}l6(e);return}function Zf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=HK((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=DG(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;_f(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function _f(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;RC(d,137786,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=HK((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=DG(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;_f(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function $f(a,b){a=a|0;b=b|0;if((vC(a)|0)!=(a|0))RC(a,137786,280,1)|0;if((a|0)==(b|0))c[(c[(vC(a)|0)+16>>2]|0)+188>>2]=a;a=MD(a)|0;while(1){if(!a)break;$f(a,b);a=ND(a)|0}return}function ag(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=DA(a,1,87443,195341)|0;g=DA(a,1,85514,195341)|0;h=(b|0)>0;d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],i2(e,137696,j)|0,HA(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];i2(e,137696,k)|0;HA(b,g,e)|0}b=hC(a,b)|0}l=m;return}function bg(a){a=a|0;var b=0,c=0,d=0;c=LD(a,86947,0)|0;if(c|0){b=gC(c)|0;while(1){if(!b)break;d=hC(c,b)|0;nh(a,b);cg(a,b);Qf(b);sC(a,b)|0;b=d}PD(a,c)|0}return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)Aa(85480,85487,248,85497);return}function dg(a){a=a|0;return c[(c[(vC(a)|0)+16>>2]|0)+188>>2]|0}function eg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function fg(a){a=a|0;gg(a,1);return}function gg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+656|0;P=_+592|0;O=_+552|0;g=_+544|0;U=_+96|0;V=_;Z=_+632|0;W=d+16|0;Y=b[(c[W>>2]|0)+136>>1]&14;Q=Y&65535;R=U+16|0;c[R>>2]=_+368;S=V+16|0;c[S>>2]=_+192;do if(Y<<16>>16){T=Y<<16>>16==4;f=d+60|0;do if(T){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1))C=9;else{dA(0,85520,g)|0;C=9}}else if(Y<<16>>16==8){hg(d);if(!(a[(c[(c[f>>2]|0)+16>>2]|0)+113>>0]&1)){pQ(d,0);n=0;m=0;k=0;break}else{ig(d);pQ(d,1);n=0;m=0;k=0;break}}else C=9;while(0);if((C|0)==9){gl(d);if(DM()|0)break;X=HK(96)|0;L=c[(c[W>>2]|0)+248>>2]|0;c[Z+8>>2]=(L|0)/4|0;c[Z+12>>2]=L;q=HK(512)|0;G=Z+4|0;c[G>>2]=0;c[Z>>2]=0;j=c[W>>2]|0;D=b[j+236>>1]|0;E=0;M=0;N=q;F=q;m=q;n=q;p=q;I=0;J=0;a:while(1){if((D|0)>(b[j+238>>1]|0))break;r=c[j+196>>2]|0;i=c[r+(D<<6)>>2]|0;H=i+E|0;g=c[r+(D<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=I;else{o=+(I|0);f=c[f+16>>2]|0;z=+h[f+16>>3]-+h[f+88>>3];f=~~(o<z?o:z)}if((i|0)!=0?(K=c[g+(i+-1<<2)>>2]|0,(K|0)!=0):0){o=+(J|0);g=c[K+16>>2]|0;z=+h[g+16>>3]+ +h[g+96>>3];g=~~(o>z?o:z)}else g=J;B=f+-16|0;A=g+16|0;y=0;u=M;v=N;s=j;w=F;k=m;g=q;f=r;while(1){if((y|0)>=(i|0))break;q=c[(c[f+(D<<6)+4>>2]|0)+(y<<2)>>2]|0;x=q+16|0;f=c[x>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){C=21;break a}t=j+56|0;f=f+16|0;c[t>>2]=c[f>>2];c[t+4>>2]=c[f+4>>2];c[t+8>>2]=c[f+8>>2];c[t+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[x>>2]|0}if((a[f+156>>0]|0)!=0?(pb[c[17340>>2]&63](q)|0)<<24>>24==0:0){r=u;f=v;j=w;i=p}else{t=0;r=u;s=v;j=w;C=25}b:do if((C|0)==25){while(1){C=0;q=c[x>>2]|0;i=c[(c[q+180>>2]|0)+(t<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=r;i=s;break}default:{jg(i,1,16,64);f=r+1|0;c[s+(r<<2)>>2]=i;if(!(f&127)){g=KK(g,(r<<2)+516|0)|0;i=g;j=g;k=g;n=g;p=g}else i=s}}t=t+1|0;r=f;s=i;C=25}f=c[q+188>>2]|0;c:do if(!f)i=p;else{t=0;i=p;while(1){f=c[f+(t<<2)>>2]|0;if(!f)break c;jg(f,2,0,128);p=r+1|0;c[s+(r<<2)>>2]=f;if(!(p&127)){g=KK(i,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=s;q=c[x>>2]|0;t=t+1|0;r=p;s=f;f=c[q+188>>2]|0}}while(0);f=c[q+204>>2]|0;if(!f)f=s;else{if(!(a[q+156>>0]|0)){w=q+96|0;z=+h[w>>3];t=q+240|0;h[w>>3]=+h[t>>3];h[t>>3]=z;t=0;q=s}else{t=0;q=s}while(1){f=c[f+(t<<2)>>2]|0;if(!f){f=q;break b}jg(f,0,0,128);p=r+1|0;c[q+(r<<2)>>2]=f;if(!(p&127)){g=KK(n,(r<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=q;t=t+1|0;r=p;q=f;f=c[(c[x>>2]|0)+204>>2]|0}}}while(0);s=c[W>>2]|0;x=c[s+196>>2]|0;y=y+1|0;u=r;v=f;w=j;p=i;i=c[x+(D<<6)>>2]|0;f=x}D=D+1|0;E=H;M=u;N=v;F=w;j=s;m=k;q=g;I=B;J=A}if((C|0)==21)Aa(85588,85601,313,85614);c[Z>>2]=I;c[G>>2]=J;k3(F,M,4,58);c[X+84>>2]=HK((E<<5)+11520|0)|0;c[Z+16>>2]=HK(D<<5)|0;d:do if(Y<<16>>16==2){f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);f=c[i>>2]|0}f=f+164|0}}while(0);B=V+48|0;C=V+-48|0;D=U+48|0;E=U+-48|0;A=V+16|0;z=+(L|0);y=0;e:while(1){if((y|0)>=(M|0))break;v=N+(y<<2)|0;s=c[v>>2]|0;t=mg(s)|0;u=s+16|0;g=c[u>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:s;f=g;g=c[g+16>>2]|0}else f=s;i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=U;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[R>>2]=g;p=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:D)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:E)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;f=U}r=f+16|0;x=1;f=y;while(1){w=f+1|0;if((w|0)>=(M|0))break;j=N+(w<<2)|0;f=c[j>>2]|0;if((t|0)!=(mg(f)|0))break;if(!(a[(c[u>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?t:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[S>>2]|0;B6(g|0,c[i>>2]|0,176)|0;n=V;p=f;q=n+48|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));c[S>>2]=g;p=c[f>>2]&3;n=c[V>>2]&3;c[((n|0)==3?V:B)+40>>2]=c[((p|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?V:C)+40>>2]=c[((p|0)==3?f:f+48|0)+40>>2];n=g+16|0;p=(c[i>>2]|0)+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=g+56|0;p=(c[i>>2]|0)+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));a[g+112>>0]=1;c[g+116>>2]=f;g=c[A>>2]|0}i=c[r>>2]|0;f=g+16|0;n=O;p=i+16|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;f=g+56|0;n=O;p=i+56|0;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));n=P;p=f;q=n+40|0;do{c[n>>2]=c[p>>2];n=n+4|0;p=p+4|0}while((n|0)<(q|0));if(eg(O,P)|0)break;L=c[u>>2]|0;if((c[L+164>>2]&15|0)==2?(c[L+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}x=x+1|0;f=w}if(T){if((x|0)==1)f=P;else f=HK(x<<2)|0;c[f>>2]=mg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(x|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}NM(d,f,x,Q,17336);if((x|0)>1)l6(f);y=w;continue}f=c[s>>2]&3;L=c[((f|0)==3?s:s+48|0)+40>>2]|0;f=c[((f|0)==2?s:s+-48|0)+40>>2]|0;g=c[L+16>>2]|0;n=c[g+232>>2]|0;if((L|0)!=(f|0))if((n|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){ng(d,Z,X,N,y,x,Q);y=w;continue}else{og(d,Z,X,N,y,x,Q);y=w;continue}j=c[W>>2]|0;f=j+196|0;k=n+-1|0;i=g+24|0;do if((n|0)==(b[j+238>>1]|0))if((n|0)>0){f=~~(+h[(c[(c[c[(c[f>>2]|0)+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[i>>3]);break}else{f=~~+h[g+80>>3];break}else{g=c[f>>2]|0;o=+h[i>>3];f=~~(o-+h[(c[(c[c[g+(n+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);if((n|0)!=(b[j+236>>1]|0)){L=~~(+h[(c[(c[c[g+(k<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-o);f=(L|0)<(f|0)?L:f}}while(0);jO(X,N,y,x,z,+((f|0)/2|0|0),17336);f=0;while(1){if((f|0)>=(x|0)){y=w;continue e}g=c[(c[(c[N+(f+y<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)xP(d,g);f=f+1|0}}f=(c[W>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){lg(g);xP(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=X;k=X}else{pg(d);n=X;k=X}}f:do if((c[47266]|0)!=0|(c[47267]|0)!=0?(c[47272]|0)!=0|(c[47271]|0)!=0:0){j=gC(d)|0;while(1){if(!j)break f;g:do if(c[47266]|0){f=XA(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){rO(i,1)|0;xP(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=YA(d,f)|0}}while(0);h:do if(c[47267]|0){f=UA(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?rO(f,0)|0:0)xP(d,c[(c[g>>2]|0)+104>>2]|0);f=WA(d,f)|0}}while(0);j=hC(d,j)|0}}while(0);switch(Y&15){case 4:case 8:break;default:{l6(m);l6(c[n+84>>2]|0);l6(k);l6(c[Z+16>>2]|0);EM()}}c[47185]=1;c[47186]=1}while(0);l=_;return}function hg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=hC(a,b)|0}return}function ig(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;lg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}xP(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)Aa(85788,85601,234,85807);else if((d|0)==12)return}function jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=b+-48|0;i=b+48|0;j=b+16|0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:i)+40>>2]|0;g=c[((g|0)==2?b:h)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[j>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:i)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:h)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[j>>2]|0)+164>>2]=d|f|e;return}function kg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+624|0;y=C+584|0;x=C+544|0;r=C+368|0;s=C+96|0;u=C;t=s+16|0;c[t>>2]=r;v=u+16|0;c[v>>2]=C+192;B=c[b>>2]|0;A=c[d>>2]|0;w=B+16|0;p=c[w>>2]|0;d=c[p+164>>2]|0;e=d&15;z=A+16|0;b=c[z>>2]|0;f=c[b+164>>2]&15;do if((f|0)==(e|0)){o=mg(B)|0;q=mg(A)|0;m=c[o>>2]|0;f=m&3;e=c[(c[((f|0)==3?o:o+48|0)+40>>2]|0)+16>>2]|0;f=c[(c[((f|0)==2?o:o+-48|0)+40>>2]|0)+16>>2]|0;g=(c[e+232>>2]|0)-(c[f+232>>2]|0)|0;n=c[q>>2]|0;k=n&3;j=c[(c[((k|0)==3?q:q+48|0)+40>>2]|0)+16>>2]|0;k=c[(c[((k|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0;i=(c[j+232>>2]|0)-(c[k+232>>2]|0)|0;g=(g|0)>-1?g:0-g|0;i=(i|0)>-1?i:0-i|0;if((g|0)!=(i|0)){b=g-i|0;break}f=~~(+h[e+16>>3]-+h[f+16>>3]);f=(f|0)>-1?f:0-f|0;e=~~(+h[j+16>>3]-+h[k+16>>3]);e=(e|0)>-1?e:0-e|0;if((f|0)!=(e|0)){b=f-e|0;break}f=m>>>4;e=n>>>4;if((f|0)!=(e|0)){b=f-e|0;break}if(!(a[p+44>>0]|0)){d=(a[p+84>>0]|0)==0?o:B;f=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else f=B;e=f+16|0;if(d&32){B6(r|0,c[e>>2]|0,176)|0;g=s;i=f;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[t>>2]=r;i=c[f>>2]&3;g=c[s>>2]&3;c[((g|0)==3?s:s+48|0)+40>>2]=c[((i|0)==2?f:f+-48|0)+40>>2];c[((g|0)==2?s:s+-48|0)+40>>2]=c[((i|0)==3?f:f+48|0)+40>>2];g=r+16|0;i=(c[e>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=r+56|0;i=(c[e>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[r+112>>0]=1;c[r+116>>2]=f;f=s;b=c[z>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?q:A;e=b;b=c[b+16>>2]|0}else e=A;d=e+16|0;if(!(c[b+164>>2]&32))e=b;else{b=c[v>>2]|0;B6(b|0,c[d>>2]|0,176)|0;g=u;i=e;j=g+48|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));c[v>>2]=b;i=c[e>>2]&3;g=c[u>>2]&3;c[((g|0)==3?u:u+48|0)+40>>2]=c[((i|0)==2?e:e+-48|0)+40>>2];c[((g|0)==2?u:u+-48|0)+40>>2]=c[((i|0)==3?e:e+48|0)+40>>2];g=b+16|0;i=(c[d>>2]|0)+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=b+56|0;i=(c[d>>2]|0)+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));a[b+112>>0]=1;c[b+116>>2]=e;e=c[u+16>>2]|0}d=c[f+16>>2]|0;b=e+16|0;g=x;i=d+16|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){b=e+56|0;g=x;i=d+56|0;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));g=y;i=b;j=g+40|0;do{c[g>>2]=c[i>>2];g=g+4|0;i=i+4|0}while((g|0)<(j|0));b=eg(x,y)|0;if(!b){d=c[(c[w>>2]|0)+164>>2]&192;b=c[(c[z>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[B>>2]|0)>>>4)-((c[A>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=f-e|0;while(0);l=C;return b|0}function lg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=+h[b+16>>3]+(e?i:g)*.5;h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function mg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function ng(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;o=B+1488|0;u=B+1392|0;A=B+1696|0;y=B+696|0;z=B;n=u+16|0;c[n>>2]=o;s=c[f+(g<<2)>>2]|0;t=s+16|0;k=c[t>>2]|0;v=a[k+113>>0]|0;if(c[k+164>>2]&32){B6(o|0,k|0,176)|0;p=u;q=s;r=p+48|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));c[n>>2]=o;p=c[u>>2]&3;c[((p|0)==3?u:u+48|0)+40>>2]=c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2];c[((p|0)==2?u:u+-48|0)+40>>2]=c[((c[s>>2]&3|0)==3?s:s+48|0)+40>>2];p=o+16|0;q=(c[t>>2]|0)+56|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));k=c[n>>2]|0;p=k+56|0;q=(c[t>>2]|0)+16|0;r=p+40|0;do{c[p>>2]=c[q>>2];p=p+4|0;q=q+4|0}while((p|0)<(r|0));a[k+112>>0]=1;c[k+116>>2]=s;s=u}k=1;while(1){if((k|0)>=(i|0)){u=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{u=7;break}}a:do if((u|0)==6)if(!(v<<24>>24)){k=c[s+16>>2]|0;if(c[k+96>>2]|0){Ng(b,d,e,s,j);break}n=s+48|0;o=s+-48|0;if((j|0)==2){A=c[s>>2]&3;Og(c[((A|0)==3?s:n)+40>>2]|0,c[((A|0)==2?s:o)+40>>2]|0,f,g,i,2);break}r=a[k+49>>0]|0;v=a[k+89>>0]|0;t=(j|0)==10;if(!(r<<24>>24==1&v<<24>>24!=4)?!(r<<24>>24!=4&v<<24>>24==1):0){p=c[s>>2]&3;q=c[((p|0)==3?s:n)+40>>2]|0;p=c[((p|0)==2?s:o)+40>>2]|0;k=c[q+16>>2]|0;n=c[k+232>>2]|0;o=c[b+16>>2]|0;if((n|0)>0){j=c[o+196>>2]|0;v=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[j+(v<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[j+(v<<6)+16>>3]-+h[k+24>>3]-+h[j+(n<<6)+24>>3]}else m=+(c[o+252>>2]|0);C=+(i+1|0);w=+(c[d+12>>2]|0)/C;m=m/C;Qg(b,d,e,q,s,y,1);Qg(b,d,e,p,s,z,0);p=y+52|0;q=z+52|0;r=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;s=c[f+(k+g<<2)>>2]|0;o=c[p>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];C=+h[y+56+(n<<5)+24>>3];h[19234]=G;h[19235]=C;k=k+1|0;E=+(k|0);D=w*E;h[19236]=D+F;C=m*E+C;h[19237]=C;h[19238]=G;h[19239]=C;n=(c[q>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[19240]=G;h[19241]=m+C;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[19244]=G;h[19243]=F;h[19242]=E-D;h[19245]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);n=n+1|0;o=c[p>>2]|0}while(1){if((n|0)==3)break;d=153872+(n<<5)|0;c[x>>2]=c[d>>2];c[x+4>>2]=c[d+4>>2];c[x+8>>2]=c[d+8>>2];c[x+12>>2]=c[d+12>>2];c[x+16>>2]=c[d+16>>2];c[x+20>>2]=c[d+20>>2];c[x+24>>2]=c[d+24>>2];c[x+28>>2]=c[d+28>>2];dO(e,x);n=n+1|0}o=c[q>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];dO(e,x);o=n}if(t)n=FM(e,A)|0;else n=LM(e,A)|0;o=c[A>>2]|0;if(!o)break a;bO(s,c[((c[s>>2]&3|0)==2?s:s+-48|0)+40>>2]|0,n,o,17336);c[r>>2]=0}}Pg(b,d,e,f,g,i,s,t&1)}else u=7;while(0);if((u|0)==7)Mg(b,f,g,i,s,j);l=B;return}function og(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;da=l;l=l+2576|0;T=da+2528|0;aa=da+2568|0;k=da+2352|0;n=da+2176|0;w=da+1904|0;Z=da+1808|0;ba=da+1712|0;U=da+1016|0;V=da+320|0;W=da+256|0;Y=da+2564|0;_=da+2560|0;B=da+288|0;C=da+224|0;M=da+192|0;N=da+160|0;O=da+128|0;P=da+96|0;Q=da+64|0;R=da+32|0;X=da;t=w+16|0;c[t>>2]=k;o=Z+16|0;c[o>>2]=n;ca=ba+16|0;c[ca>>2]=da+2e3;if(!(c[46776]|0)){c[46776]=IK(32e3)|0;c[46777]=IK(32e3)|0;c[46778]=2e3;c[46779]=2e3}x=c[f+(g<<2)>>2]|0;K=c[x>>2]&3;p=x+48|0;q=x+-48|0;K=(c[(c[(c[((K|0)==3?x:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?x:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;u=w+-48|0;$=Z+-48|0;r=x+16|0;s=w+48|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){w=x;n=0}else{n=c[t>>2]|0;B6(n|0,k|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=n;y=c[w>>2]&3;c[((y|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?w:u)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[t>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;n=0;L=12}}else{B6(k|0,c[r>>2]|0,176)|0;y=w;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));y=w+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[t>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=Z+48|0;z=p;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}else{n=c[o>>2]|0;B6(n|0,k|0,176)|0;y=Z;z=x;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[o>>2]=n;y=c[Z>>2]&3;c[((y|0)==3?Z:Z+48|0)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];c[((y|0)==2?Z:$)+40>>2]=c[((c[x>>2]&3|0)==3?x:p)+40>>2];y=n+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[o>>2]|0;y=k+56|0;z=(c[r>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=x;o=c[w>>2]|0;c[((o&3|0)==3?w:s)+40>>2]=c[((c[x>>2]&3|0)==2?x:q)+40>>2];y=(c[t>>2]|0)+16|0;z=(c[r>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0))}k=mg(x)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?w:u)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[t>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;L=12}if((L|0)==12)c[k+116>>2]=x;J=(j|0)==2;if(J?(v=sg(b,w,c[46776]|0,aa)|0,c[_>>2]=v,(v|0)!=0):0)L=63;else L=15;a:do if((L|0)==15){I=(j|0)==10;c[_>>2]=0;o=c[w>>2]&3;k=c[((o|0)==3?w:w+48|0)+40>>2]|0;o=c[((o|0)==2?w:w+-48|0)+40>>2]|0;c[aa>>2]=o;tg(B,b,d,k,0,w);c[U>>2]=c[B>>2];c[U+4>>2]=c[B+4>>2];c[U+8>>2]=c[B+8>>2];c[U+12>>2]=c[B+12>>2];c[U+16>>2]=c[B+16>>2];c[U+20>>2]=c[B+20>>2];c[U+24>>2]=c[B+24>>2];c[U+28>>2]=c[B+28>>2];c[W>>2]=c[B>>2];c[W+4>>2]=c[B+4>>2];c[W+8>>2]=c[B+8>>2];c[W+12>>2]=c[B+12>>2];c[W+16>>2]=c[B+16>>2];c[W+20>>2]=c[B+20>>2];eO(e,w,1,U,ug(k)|0);D=U+52|0;K=(c[D>>2]|0)+-1|0;F=W+24|0;h[F>>3]=+h[U+56+(K<<5)+24>>3];G=W+8|0;h[G>>3]=+h[U+56+(K<<5)+8>>3];K=c[k+16>>2]|0;H=b+16|0;m=+h[K+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[K+232>>2]<<6)+16>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(C,T,1,m);c[W>>2]=c[C>>2];c[W+4>>2]=c[C+4>>2];c[W+8>>2]=c[C+8>>2];c[W+12>>2]=c[C+12>>2];c[W+16>>2]=c[C+16>>2];c[W+20>>2]=c[C+20>>2];c[W+24>>2]=c[C+24>>2];c[W+28>>2]=c[C+28>>2];C=W+16|0;if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}y=b+60|0;E=V+52|0;z=e+56|0;A=e+69|0;j=e+16|0;B=e+29|0;K=w;q=0;r=-1;b:while(1){s=0;p=0;v=K;while(1){t=o;x=o;u=s|1;o=153872+(s<<5)|0;k=k+16|0;if((a[(c[t+16>>2]|0)+156>>0]|0)!=1)break b;if((pb[c[17340>>2]&63](t)|0)<<24>>24)break b;wg(M,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[M>>2];c[o+4>>2]=c[M+4>>2];c[o+8>>2]=c[M+8>>2];c[o+12>>2]=c[M+12>>2];c[o+16>>2]=c[M+16>>2];c[o+20>>2]=c[M+20>>2];c[o+24>>2]=c[M+24>>2];c[o+28>>2]=c[M+28>>2];if(!p){q=xg(t)|0;o=(q|0)<((a[(c[(c[y>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=o?q:q+-2|0;r=o?r:1;o=(o^1)&1}else o=p;if(!((o|0)==0|(r|0)>0))break;u=153872+(u<<5)|0;tg(N,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[u>>2]=c[N>>2];c[u+4>>2]=c[N+4>>2];c[u+8>>2]=c[N+8>>2];c[u+12>>2]=c[N+12>>2];c[u+16>>2]=c[N+16>>2];c[u+20>>2]=c[N+20>>2];c[u+24>>2]=c[N+24>>2];c[u+28>>2]=c[N+28>>2];u=c[c[(c[x+16>>2]|0)+180>>2]>>2]|0;x=c[u>>2]&3;k=c[((x|0)==3?u:u+48|0)+40>>2]|0;x=c[((x|0)==2?u:u+-48|0)+40>>2]|0;c[aa>>2]=x;s=s+2|0;r=r+-1|0;p=o;v=u;o=x}tg(O,b,d,t,v,c[c[(c[t+16>>2]|0)+180>>2]>>2]|0);c[V>>2]=c[O>>2];c[V+4>>2]=c[O+4>>2];c[V+8>>2]=c[O+8>>2];c[V+12>>2]=c[O+12>>2];c[V+16>>2]=c[O+16>>2];c[V+20>>2]=c[O+20>>2];c[V+24>>2]=c[O+24>>2];c[V+28>>2]=c[O+28>>2];hO(e,v,1,V,ug(c[((c[v>>2]&3|0)==2?v:v+-48|0)+40>>2]|0)|0);t=V+56+((c[E>>2]|0)+-1<<5)|0;s=c[x+16>>2]|0;m=+h[s+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[s+232>>2]<<6)+24>>3];c[T>>2]=c[t>>2];c[T+4>>2]=c[t+4>>2];c[T+8>>2]=c[t+8>>2];c[T+12>>2]=c[t+12>>2];c[T+16>>2]=c[t+16>>2];c[T+20>>2]=c[t+20>>2];c[T+24>>2]=c[t+24>>2];c[T+28>>2]=c[t+28>>2];vg(W,T,4,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){t=c[E>>2]|0;c[E>>2]=t+1;t=V+56+(t<<5)|0;c[t>>2]=c[W>>2];c[t+4>>2]=c[W+4>>2];c[t+8>>2]=c[W+8>>2];c[t+12>>2]=c[W+12>>2];c[t+16>>2]=c[W+16>>2];c[t+20>>2]=c[W+20>>2];c[t+24>>2]=c[W+24>>2];c[t+28>>2]=c[W+28>>2]}h[z>>3]=1.5707963267948966;a[A>>0]=1;yg(e,K,v,U,V,u);if(!I){k=LM(e,Y)|0;o=c[Y>>2]|0;if(J&(o|0)>4){v=k+16|0;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];v=k+32|0;o=k+(o+-1<<4)|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];I6(k+48|0,o|0,16)|0;c[Y>>2]=4;o=4}else L=33}else{k=FM(e,Y)|0;o=c[Y>>2]|0;L=33}if((L|0)==33){L=0;if(!o)break a}u=c[_>>2]|0;p=u+o|0;if((p|0)>(c[46778]|0)){c[46778]=p<<1;t=KK(c[46776]|0,p<<5)|0;c[46776]=t;o=c[Y>>2]|0}else t=c[46776]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;v=t+(p<<4)|0;u=k+(s<<4)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[_>>2]=p;o=zg(c[c[(c[x+16>>2]|0)+180>>2]>>2]|0,q,t,_)|0;Ag(K,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[aa>>2]=p;x=k+16|0;tg(P,b,d,k,c[c[(c[x>>2]|0)+172>>2]>>2]|0,o);c[U>>2]=c[P>>2];c[U+4>>2]=c[P+4>>2];c[U+8>>2]=c[P+8>>2];c[U+12>>2]=c[P+12>>2];c[U+16>>2]=c[P+16>>2];c[U+20>>2]=c[P+20>>2];c[U+24>>2]=c[P+24>>2];c[U+28>>2]=c[P+28>>2];eO(e,o,1,U,ug(k)|0);K=U+56+((c[D>>2]|0)+-1<<5)|0;x=c[x>>2]|0;m=+h[x+24>>3]-+h[(c[(c[H>>2]|0)+196>>2]|0)+(c[x+232>>2]<<6)+16>>3];c[T>>2]=c[K>>2];c[T+4>>2]=c[K+4>>2];c[T+8>>2]=c[K+8>>2];c[T+12>>2]=c[K+12>>2];c[T+16>>2]=c[K+16>>2];c[T+20>>2]=c[K+20>>2];c[T+24>>2]=c[K+24>>2];c[T+28>>2]=c[K+28>>2];vg(W,T,1,m);if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){K=c[D>>2]|0;c[D>>2]=K+1;K=U+56+(K<<5)|0;c[K>>2]=c[W>>2];c[K+4>>2]=c[W+4>>2];c[K+8>>2]=c[W+8>>2];c[K+12>>2]=c[W+12>>2];c[K+16>>2]=c[W+16>>2];c[K+20>>2]=c[W+20>>2];c[K+24>>2]=c[W+24>>2];c[K+28>>2]=c[W+28>>2]}h[j>>3]=-1.5707963267948966;a[B>>0]=1;K=o;o=p}s=v+-48|0;wg(Q,d,b,c[(c[k>>2]|0)+232>>2]|0);c[o>>2]=c[Q>>2];c[o+4>>2]=c[Q+4>>2];c[o+8>>2]=c[Q+8>>2];c[o+12>>2]=c[Q+12>>2];c[o+16>>2]=c[Q+16>>2];c[o+20>>2]=c[Q+20>>2];c[o+24>>2]=c[Q+24>>2];c[o+28>>2]=c[Q+28>>2];tg(R,b,d,t,v,0);c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];c[W>>2]=c[R>>2];c[W+4>>2]=c[R+4>>2];c[W+8>>2]=c[R+8>>2];c[W+12>>2]=c[R+12>>2];c[W+16>>2]=c[R+16>>2];c[W+20>>2]=c[R+20>>2];c[W+24>>2]=c[R+24>>2];c[W+28>>2]=c[R+28>>2];r=(n|0)!=0;hO(e,r?Z:v,1,V,ug(c[((c[v>>2]&3|0)==2?v:s)+40>>2]|0)|0);R=(c[E>>2]|0)+-1|0;h[F>>3]=+h[V+56+(R<<5)+24>>3];h[G>>3]=+h[V+56+(R<<5)+8>>3];R=c[x+16>>2]|0;m=+h[R+24>>3]+ +h[(c[(c[H>>2]|0)+196>>2]|0)+(c[R+232>>2]<<6)+24>>3];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[T+16>>2]=c[W+16>>2];c[T+20>>2]=c[W+20>>2];c[T+24>>2]=c[W+24>>2];c[T+28>>2]=c[W+28>>2];vg(X,T,4,m);c[W>>2]=c[X>>2];c[W+4>>2]=c[X+4>>2];c[W+8>>2]=c[X+8>>2];c[W+12>>2]=c[X+12>>2];c[W+16>>2]=c[X+16>>2];c[W+20>>2]=c[X+20>>2];c[W+24>>2]=c[X+24>>2];c[W+28>>2]=c[X+28>>2];if(+h[W>>3]<+h[C>>3]?+h[G>>3]<+h[F>>3]:0){X=c[E>>2]|0;c[E>>2]=X+1;X=V+56+(X<<5)|0;c[X>>2]=c[W>>2];c[X+4>>2]=c[W+4>>2];c[X+8>>2]=c[W+8>>2];c[X+12>>2]=c[W+12>>2];c[X+16>>2]=c[W+16>>2];c[X+20>>2]=c[W+20>>2];c[X+24>>2]=c[W+24>>2];c[X+28>>2]=c[W+28>>2]}yg(e,K,v,U,V,u);if(I)q=FM(e,Y)|0;else q=LM(e,Y)|0;k=c[Y>>2]|0;if(!(J&(k|0)>4)){if(!k)break}else{X=q+32|0;k=q+(k+-1<<4)|0;W=q+16|0;c[W>>2]=c[q>>2];c[W+4>>2]=c[q+4>>2];c[W+8>>2]=c[q+8>>2];c[W+12>>2]=c[q+12>>2];c[X>>2]=c[k>>2];c[X+4>>2]=c[k+4>>2];c[X+8>>2]=c[k+8>>2];c[X+12>>2]=c[k+12>>2];I6(q+48|0,k|0,16)|0;c[Y>>2]=4;k=4}o=c[_>>2]|0;n=o+k|0;if((n|0)>(c[46778]|0)){c[46778]=n<<1;p=KK(c[46776]|0,n<<5)|0;c[46776]=p;k=c[Y>>2]|0}else p=c[46776]|0;n=0;while(1){if((n|0)>=(k|0))break;Y=p+(o<<4)|0;X=q+(n<<4)|0;c[Y>>2]=c[X>>2];c[Y+4>>2]=c[X+4>>2];c[Y+8>>2]=c[X+8>>2];c[Y+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[_>>2]=o;Ag(K,e);if(r)k=(c[Z>>2]&3|0)==2?Z:$;else k=(c[v>>2]&3|0)==2?v:s;c[aa>>2]=c[k+40>>2];v=o;L=63}while(0);c:do if((L|0)==63){if((i|0)==1){bO(w,c[aa>>2]|0,c[46776]|0,v,17336);break}t=d+12|0;u=v+-1|0;m=+((S(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;d=n+(k<<4)|0;h[d>>3]=+h[d>>3]-m;k=k+1|0}k=c[46778]|0;if((k|0)>(c[46779]|0)){c[46779]=k;o=KK(c[46777]|0,k<<4)|0;c[46777]=o;n=c[46776]|0}else o=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;d=o+(k<<4)|0;$=n+(k<<4)|0;c[d>>2]=c[$>>2];c[d+4>>2]=c[$+4>>2];c[d+8>>2]=c[$+8>>2];c[d+12>>2]=c[$+12>>2];k=k+1|0}bO(w,c[aa>>2]|0,o,v,17336);r=ba+48|0;s=ba+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[ca>>2]|0;B6(n|0,k|0,176)|0;y=ba;z=o;A=y+48|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));c[ca>>2]=n;y=c[ba>>2]&3;c[((y|0)==3?ba:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((y|0)==2?ba:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];y=n+16|0;z=(c[p>>2]|0)+56|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));k=c[ca>>2]|0;y=k+56|0;z=(c[p>>2]|0)+16|0;A=y+40|0;do{c[y>>2]=c[z>>2];y=y+4|0;z=z+4|0}while((y|0)<(A|0));a[k+112>>0]=1;c[k+116>>2]=o;o=ba}p=c[46776]|0;k=1;while(1){if((k|0)>=(u|0))break;aa=p+(k<<4)|0;h[aa>>3]=+(c[t>>2]|0)+ +h[aa>>3];k=k+1|0}n=c[46777]|0;k=0;while(1){if((k|0)>=(v|0))break;aa=n+(k<<4)|0;d=p+(k<<4)|0;c[aa>>2]=c[d>>2];c[aa+4>>2]=c[d+4>>2];c[aa+8>>2]=c[d+8>>2];c[aa+12>>2]=c[d+12>>2];k=k+1|0}bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17336);q=q+1|0}}while(0);l=da;return}function pg(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;if((pb[c[4334]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)qg(e);d=WA(a,d)|0}b=hC(a,b)|0}return}function qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=IK(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}rg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;l6(c[d+(b*48|0)>>2]|0);b=b+1|0}l6(d);c[a>>2]=g;return}function rg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=IK(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function sg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+96|0;r=y+80|0;t=y+64|0;s=y+48|0;v=y+32|0;w=y+16|0;x=y;n=d;while(1){u=n+16|0;g=c[u>>2]|0;if(!(a[g+112>>0]|0))break;n=c[g+116>>2]|0}g=c[n>>2]&3;q=c[((g|0)==2?n:n+-48|0)+40>>2]|0;g=c[((g|0)==3?n:n+48|0)+40>>2]|0;n=q+16|0;o=g+16|0;z=(c[(c[n>>2]|0)+232>>2]|0)-(c[(c[o>>2]|0)+232>>2]|0)|0;switch(((z|0)>-1?z:0-z|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=q;z=(c[o>>2]|0)+16|0;p=(c[u>>2]|0)+16|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[n>>2]|0)+16|0;z=(c[u>>2]|0)+56|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}else{c[f>>2]=g;z=(c[n>>2]|0)+16|0;p=(c[u>>2]|0)+56|0;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];c[t+8>>2]=c[z+8>>2];c[t+12>>2]=c[z+12>>2];c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];Kg(v,t,r);p=(c[o>>2]|0)+16|0;z=(c[u>>2]|0)+16|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];Kg(w,t,r)}g=c[(c[u>>2]|0)+96>>2]|0;n=e+16|0;o=e+32|0;b=e+48|0;if(!g){c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[o>>2]=c[w>>2];c[o+4>>2]=c[w+4>>2];c[o+8>>2]=c[w+8>>2];c[o+12>>2]=c[w+12>>2];c[b>>2]=c[w>>2];c[b+4>>2]=c[w+4>>2];c[b+8>>2]=c[w+8>>2];c[b+12>>2]=c[w+12>>2];g=4;break}k=+h[g+24>>3];m=+h[g+32>>3];q=(c[(c[(uC(q)|0)+16>>2]|0)+116>>2]&1|0)==0;z=(c[(c[u>>2]|0)+96>>2]|0)+56|0;c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];z=(Lg(s,t,r)|0)==0;i=(q?k:m)*.5;j=+h[x>>3];g=x+8|0;k=(q?m:k)*.5;m=+h[g>>3];if(z){h[x>>3]=j-i;i=k+m}else{h[x>>3]=i+j;i=m-k}h[g>>3]=i;c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];g=e+64|0;c[g>>2]=c[x>>2];c[g+4>>2]=c[x+4>>2];c[g+8>>2]=c[x+8>>2];c[g+12>>2]=c[x+12>>2];c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[o>>2]=c[x>>2];c[o+4>>2]=c[x+4>>2];c[o+8>>2]=c[x+8>>2];c[o+12>>2]=c[x+12>>2];g=e+80|0;z=e+96|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=7}while(0);l=y;return g|0}function tg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0;s=c[f+16>>2]|0;q=+h[s+16>>3];m=q-+h[s+88>>3]+-4.0;k=Gg(d,f,g,i,-1)|0;p=e+8|0;r=d+16|0;if(!k){n=~~(m+(m>=0.0?.5:-.5));k=c[e>>2]|0;k=(n|0)<(k|0)?n:k}else{l=Hg(d,f,k)|0;do if(!l){n=c[k+16>>2]|0;j=+h[n+16>>3]+ +h[n+240>>3];if(!(a[n+156>>0]|0)){j=j+ +(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j+ +(c[p>>2]|0);break}}else j=+h[(c[l+16>>2]|0)+32>>3]+ +(c[p>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[s+156>>0]|0)==1;if(n?(c[s+104>>2]|0)!=0:0)m=q+10.0;else m=q+ +h[s+96>>3]+4.0;l=Gg(d,f,g,i,1)|0;if(!l){p=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(p|0)>(k|0)?p:k}else{k=Hg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[r>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[p>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[p>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[s+104>>2]|0)!=0:0){j=j-+h[s+96>>3];if(j<o)j=q}q=+h[s+24>>3];r=c[(c[r>>2]|0)+196>>2]|0;s=c[s+232>>2]|0;m=q-+h[r+(s<<6)+16>>3];q=q+ +h[r+(s<<6)+24>>3];h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=q;return}function ug(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function vg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,i=0;i=l;l=l+32|0;f=i;g=b+16|0;switch(d|0){case 1:{Fg(f,+h[b>>3],e,+h[g>>3],+h[b+8>>3]);break}case 4:{Fg(f,+h[b>>3],+h[b+24>>3],+h[g>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=i;return}function wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[d+(o<<6)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function xg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function yg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Cg(b,-1)|0;b=Cg(b,1)|0;if(!((h|0)!=0?!(sO(h)|0):0))i=3;do if((i|0)==3){if(b|0?(sO(b)|0)==0:0)break;h=Dg(d,-1)|0;b=Dg(d,1)|0;if(h|0?(sO(h)|0)==0:0)break;if(b|0?(sO(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];dO(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=153872+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];dO(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];dO(a,j);h=b}Eg(a,d,i)}while(0);l=k;return}function zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Ag(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;n=d+80|0;m=d+84|0;e=0;d=b;a:while(1){k=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;l=k+16|0;if((a[(c[l>>2]|0)+156>>0]|0)!=1)break;if((pb[c[17340>>2]&63](k)|0)<<24>>24)break;d=c[n>>2]|0;while(1){if((e|0)>=(d|0))break a;b=c[m>>2]|0;j=c[l>>2]|0;f=+h[j+24>>3];if(!(+h[b+(e<<5)+8>>3]>f))break;e=e+1|0}do if(!(+h[b+(e<<5)+24>>3]<f)){g=+h[b+(e<<5)>>3];i=~~g;f=+h[b+(e<<5)+16>>3];d=~~f;if(!(c[j+104>>2]|0)){Bg(k,i,~~((g+f)*.5),d);break}else{Bg(k,i,d,~~(f+ +h[j+96>>3]));break}}while(0);d=c[c[(c[l>>2]|0)+180>>2]>>2]|0}return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((S(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(S((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Eg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0,p=0;p=a+84|0;f=b+-1|0;while(1){if((f|0)>(d|0))break;i=c[p>>2]|0;g=i+(f<<5)|0;e=+h[g>>3];i=i+(f<<5)+16|0;j=+h[i>>3];o=~~((e+j)*.5);k=+(o+-8|0);l=+(o+8|0);if(!(f-b&1)){if(e>=j){h[g>>3]=k;h[i>>3]=l}}else if(e+16.0>j){h[g>>3]=k;h[i>>3]=l}f=f+1|0}o=(c[a+80>>2]|0)+-1|0;f=0;while(1){if((f|0)>=(o|0))break;g=c[p>>2]|0;n=f+1|0;i=g+(n<<5)|0;m=g+(f<<5)+16|0;a=g+(n<<5)+16|0;g=g+(f<<5)|0;if(!((f|0)<(b|0)|(f|0)>(d|0))?(f-b&1|0)==0:0){e=+h[g>>3]+16.0;if(e>+h[a>>3])h[a>>3]=e;e=+h[m>>3]+-16.0;if(!(e<+h[i>>3])){f=n;continue}h[i>>3]=e;f=n;continue}if(!((f|0)<(d|0)&(n|0)>=(b|0))){f=n;continue}if(n-b&1|0){f=n;continue}e=+h[a>>3];if(+h[g>>3]+16.0>e)h[g>>3]=e+-16.0;e=+h[i>>3];if(!(+h[m>>3]+-16.0<e)){f=n;continue}h[m>>3]=e+16.0;f=n}return}function Fg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Gg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Jg(b,d,e,f)|0)<<24>>24!=0);return b|0}function Hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ig(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ig(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3];else a=0;return a&1|0}function Jg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Kg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Lg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return (~~((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))|0)>0|0}function Mg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+256|0;E=S+232|0;D=S+216|0;Q=S+88|0;P=S+80|0;L=S+64|0;M=S+200|0;N=S+184|0;O=S;F=S+168|0;G=S+152|0;H=S+136|0;I=S+120|0;J=S+104|0;C=c[g>>2]&3;K=c[((C|0)==3?g:g+48|0)+40>>2]|0;C=c[((C|0)==2?g:g+-48|0)+40>>2]|0;do if((UM(K)|0)!=2?(UM(C)|0)!=2:0){g=0;j=0;m=0;while(1){if((m|0)>=(f|0))break;B=c[(c[d+(m+e<<2)>>2]|0)+16>>2]|0;g=((c[B+96>>2]|0)!=0&1)+g|0;if(!((a[B+44>>0]|0)==0?(a[B+84>>0]|0)==0:0))j=1;m=m+1|0}if(!j)if(!g){Og(K,C,d,e,f,i);break}else{Tg(K,C,d,e,f,i,g);break}z=HK(156)|0;A=Ug(b,z)|0;w=LD(A,85750,1)|0;RC(w,137786,280,1)|0;PA(w,87443,87457)|0;k=+h[(c[C+16>>2]|0)+16>>3];n=+h[(c[K+16>>2]|0)+16>>3];B=b+16|0;u=(c[(c[B>>2]|0)+116>>2]&1|0)==0;v=u?C:K;u=u?K:C;w=Vg(w,u)|0;x=Vg(A,v)|0;g=0;t=0;while(1){s=(g|0)!=0;if((t|0)>=(f|0))break;j=d+(t+e<<2)|0;while(1){r=c[j>>2]|0;q=r+16|0;j=c[q>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[r>>2]&3|0)==3?r:r+48|0)+40>>2]|0)==(u|0))m=Wg(A,w,x,r)|0;else m=Wg(A,x,w,r)|0;j=c[q>>2]|0;c[j+120>>2]=m;if(!s)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[m+16>>2]|0)+120>>2]=r;g=m}else g=0;t=t+1|0}if(s)y=g;else y=fB(A,w,x,0,1)|0;HA(y,c[47236]|0,85754)|0;g=A+16|0;r=c[g>>2]|0;c[r+144>>2]=c[(c[B>>2]|0)+144>>2];c[r+188>>2]=A;mQ(A,i);Lf(A);uj(A,0);Eh(A,0);Hi(A,0);r=u+16|0;u=c[r>>2]|0;i=c[v+16>>2]|0;s=w+16|0;p=+(~~((+h[(c[s>>2]|0)+16>>3]+ +h[(c[x+16>>2]|0)+16>>3])*.5)|0);o=+(~~k|0);k=+(~~n|0);n=+(~~((+h[u+16>>3]-+h[u+96>>3]+ +h[i+16>>3]+ +h[i+88>>3])*.5)|0);g=(c[g>>2]|0)+192|0;while(1){g=c[g>>2]|0;if(!g)break;j=c[g+16>>2]|0;m=j+16|0;q=j+24|0;do if((g|0)!=(w|0))if((g|0)==(x|0)){h[q>>3]=k;h[m>>3]=p;break}else{h[q>>3]=n;break}else{h[q>>3]=o;h[m>>3]=p}while(0);g=j+164|0}ok(A);gg(A,0);rM(A);w=c[r>>2]|0;p=+h[w+16>>3];x=c[s>>2]|0;k=+h[w+24>>3];n=+h[x+16>>3];o=+h[x+24>>3];if(!(c[(c[B>>2]|0)+116>>2]&1)){h[L>>3]=p-n;k=k-o}else{h[L>>3]=p-o;k=k+n}h[L+8>>3]=k;v=O+16|0;i=O+32|0;w=O+48|0;u=0;while(1){if((u|0)>=(f|0))break;g=d+(u+e<<2)|0;while(1){j=c[g>>2]|0;t=j+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}x=c[g+120>>2]|0;s=x+16|0;g=c[s>>2]|0;if(!((x|0)==(y|0)&(c[g+120>>2]|0)==0)){q=c[c[g+8>>2]>>2]|0;r=q+4|0;j=aO(j,c[r>>2]|0)|0;c[j+8>>2]=c[q+8>>2];g=j+16|0;x=q+16|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(M,D,E,m);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];c[j+12>>2]=c[q+12>>2];g=j+32|0;m=q+32|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(N,D,E,x);c[g>>2]=c[N>>2];c[g+4>>2]=c[N+4>>2];c[g+8>>2]=c[N+8>>2];c[g+12>>2]=c[N+12>>2];g=0;while(1){if((g|0)>=(c[r>>2]|0))break;m=(c[j>>2]|0)+(g<<4)|0;T=(c[q>>2]|0)+(g<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[T>>2];c[D+4>>2]=c[T+4>>2];c[D+8>>2]=c[T+8>>2];c[D+12>>2]=c[T+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(F,D,E,x);c[m>>2]=c[F>>2];c[m+4>>2]=c[F+4>>2];c[m+8>>2]=c[F+8>>2];c[m+12>>2]=c[F+12>>2];c[O>>2]=c[F>>2];c[O+4>>2]=c[F+4>>2];c[O+8>>2]=c[F+8>>2];c[O+12>>2]=c[F+12>>2];m=g+1|0;if((m|0)>=(c[r>>2]|0)){R=48;break}x=(c[j>>2]|0)+(m<<4)|0;m=(c[q>>2]|0)+(m<<4)|0;T=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(G,D,E,T);c[x>>2]=c[G>>2];c[x+4>>2]=c[G+4>>2];c[x+8>>2]=c[G+8>>2];c[x+12>>2]=c[G+12>>2];c[v>>2]=c[G>>2];c[v+4>>2]=c[G+4>>2];c[v+8>>2]=c[G+8>>2];c[v+12>>2]=c[G+12>>2];x=g+2|0;T=(c[j>>2]|0)+(x<<4)|0;x=(c[q>>2]|0)+(x<<4)|0;m=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[x>>2];c[D+4>>2]=c[x+4>>2];c[D+8>>2]=c[x+8>>2];c[D+12>>2]=c[x+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(H,D,E,m);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];c[i>>2]=c[H>>2];c[i+4>>2]=c[H+4>>2];c[i+8>>2]=c[H+8>>2];c[i+12>>2]=c[H+12>>2];T=g+3|0;m=(c[q>>2]|0)+(T<<4)|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(I,D,E,x);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];jI((c[B>>2]|0)+16|0,O);g=T}if((R|0)==48)R=0;g=c[(c[t>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;s=(c[(c[s>>2]|0)+96>>2]|0)+56|0;x=c[(c[B>>2]|0)+116>>2]&1;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];c[E>>2]=c[L>>2];c[E+4>>2]=c[L+4>>2];c[E+8>>2]=c[L+8>>2];c[E+12>>2]=c[L+12>>2];Xg(J,D,E,x);c[T>>2]=c[J>>2];c[T+4>>2]=c[J+4>>2];c[T+8>>2]=c[J+8>>2];c[T+12>>2]=c[J+12>>2];T=c[(c[t>>2]|0)+96>>2]|0;a[T+81>>0]=1;xP(b,T)}}u=u+1|0}Yg(A,z)}else R=3;while(0);if((R|0)==3?(c[46780]|0)==0:0){c[46780]=1;dA(0,85627,P)|0;P=HB(K)|0;R=(uB(b)|0)!=0;T=HB(C)|0;c[Q>>2]=P;c[Q+4>>2]=R?138041:142050;c[Q+8>>2]=T;dA(3,85733,Q)|0}l=S;return}function Ng(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;m=c[p+16>>2]|0;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=C+ +h[k+96>>3];B=+h[k+24>>3];D=B+ +h[k+80>>3]*.5;k=c[(c[b+16>>2]|0)+196>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)/6.0)|0);B=D-(B<5.0?5.0:B);Qg(b,d,e,p,f,t,1);Qg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[19234]=A;h[19235]=+h[t+56+(m<<5)+24>>3];h[19236]=E;h[19237]=B;h[19238]=A;h[19239]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[19240]=A;h[19241]=D;h[19242]=C;h[19245]=B;h[19243]=+h[v+56+(i<<5)+24>>3];h[19244]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];dO(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=153872+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];dO(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];dO(e,u);j=i}if((g|0)==10)j=FM(e,w)|0;else j=LM(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=m+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Kg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Kg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)bO(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17336);l=z;return}function Og(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;P=l;l=l+352|0;z=P+336|0;y=P+320|0;N=P+144|0;u=P+304|0;A=P+128|0;O=P+112|0;G=P+96|0;H=P+80|0;I=P+64|0;J=P+48|0;K=P+32|0;L=P+16|0;M=P;a=a+16|0;s=(c[a>>2]|0)+16|0;x=(c[d+(e<<2)>>2]|0)+16|0;t=(c[x>>2]|0)+16|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[z>>2]=c[t>>2];c[z+4>>2]=c[t+4>>2];c[z+8>>2]=c[t+8>>2];c[z+12>>2]=c[t+12>>2];Kg(u,y,z);E=+h[u>>3];F=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[y>>2]=c[u>>2];c[y+4>>2]=c[u+4>>2];c[y+8>>2]=c[u+8>>2];c[y+12>>2]=c[u+12>>2];c[z>>2]=c[x>>2];c[z+4>>2]=c[x+4>>2];c[z+8>>2]=c[x+8>>2];c[z+12>>2]=c[x+12>>2];Kg(A,y,z);C=+h[A>>3];D=+h[A+8>>3];if((f|0)>1){B=+h[(c[a>>2]|0)+80>>3];i=B*.5;B=B/+(f+-1|0)}else{i=0.0;B=0.0}r=(g|8|0)==10;o=N+8|0;s=N+16|0;t=N+48|0;u=N+32|0;v=(E*2.0+C)/3.0;w=(E+C*2.0)/3.0;p=N+24|0;x=N+64|0;y=N+80|0;z=N+96|0;A=N+112|0;m=N+128|0;q=N+136|0;n=N+144|0;i=F-i;b=0;while(1){if((b|0)>=(f|0))break;k=c[d+(b+e<<2)>>2]|0;h[N>>3]=E;h[o>>3]=F;if(r){Sg(O,v,i);c[s>>2]=c[O>>2];c[s+4>>2]=c[O+4>>2];c[s+8>>2]=c[O+8>>2];c[s+12>>2]=c[O+12>>2];Sg(G,w,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];a=4;g=3;j=t}else{h[s>>3]=E;h[p>>3]=F;Sg(H,v,i);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];Sg(I,v,i);c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];Sg(J,v,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Sg(K,w,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];Sg(L,w,i);c[z>>2]=c[L>>2];c[z+4>>2]=c[L+4>>2];c[z+8>>2]=c[L+8>>2];c[z+12>>2]=c[L+12>>2];Sg(M,w,i);c[A>>2]=c[M>>2];c[A+4>>2]=c[M+4>>2];c[A+8>>2]=c[M+8>>2];c[A+12>>2]=c[M+12>>2];h[m>>3]=C;h[q>>3]=D;a=10;g=9;j=n}h[j>>3]=C;h[N+(g<<4)+8>>3]=D;bO(k,c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,N,a,17336);i=B+i;b=b+1|0}l=P;return}function Pg(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-(+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[y+(p<<6)+40>>3])}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Rg(a,d,e,q,j,w,1);Rg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[19234]=D;h[19237]=B;m=m+1|0;z=+(m|0);A=s*z;h[19236]=A+C;z=B-n*z;h[19235]=z;h[19238]=D;h[19241]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[19240]=D;h[19239]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[19244]=D;h[19245]=C;h[19242]=B-A;h[19243]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=153872+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];dO(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];dO(e,t);p=o}if(a)o=LM(e,v)|0;else o=FM(e,v)|0;p=c[v>>2]|0;if(!p)break;bO(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17336);c[d>>2]=0}l=x;return}function Qg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]+ +h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Rg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;tg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))hO(d,f,2,g,0);else eO(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];vg(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Sg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;$=l;l=l+288|0;U=$+256|0;T=$+240|0;S=$+224|0;Y=$+280|0;Z=$+272|0;_=$+32|0;V=$+16|0;W=$;m=$+208|0;n=$+192|0;o=c[e+(f<<2)>>2]|0;X=HK(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[X+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}k3(X,g,4,59);E=b+16|0;G=(c[E>>2]|0)+16|0;F=o+16|0;K=(c[F>>2]|0)+16|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[K>>2];c[U+4>>2]=c[K+4>>2];c[U+8>>2]=c[K+8>>2];c[U+12>>2]=c[K+12>>2];Kg(m,T,U);c[V>>2]=c[m>>2];c[V+4>>2]=c[m+4>>2];c[V+8>>2]=c[m+8>>2];c[V+12>>2]=c[m+12>>2];K=d+16|0;G=(c[K>>2]|0)+16|0;F=(c[F>>2]|0)+56|0;c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[U>>2]=c[F>>2];c[U+4>>2]=c[F+4>>2];c[U+8>>2]=c[F+8>>2];c[U+12>>2]=c[F+12>>2];Kg(n,T,U);c[W>>2]=c[n>>2];c[W+4>>2]=c[n+4>>2];c[W+8>>2]=c[n+8>>2];c[W+12>>2]=c[n+12>>2];y=+h[V>>3]+ +h[(c[E>>2]|0)+96>>3];z=+h[W>>3]-+h[(c[K>>2]|0)+88>>3];x=(y+z)*.5;K=c[X>>2]|0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];E=_+16|0;c[E>>2]=c[V>>2];c[E+4>>2]=c[V+4>>2];c[E+8>>2]=c[V+8>>2];c[E+12>>2]=c[V+12>>2];F=_+32|0;c[F>>2]=c[W>>2];c[F+4>>2]=c[W+4>>2];c[F+8>>2]=c[W+8>>2];c[F+12>>2]=c[W+12>>2];G=_+48|0;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];bO(K,c[((c[K>>2]&3|0)==2?K:K+-48|0)+40>>2]|0,_,4,17336);K=c[(c[K+16>>2]|0)+96>>2]|0;h[K+56>>3]=x;H=V+8|0;v=+h[H>>3];w=+h[K+32>>3];h[K+64>>3]=v+(w+6.0)*.5;a[K+81>>0]=1;v=v+3.0;J=+h[K+24>>3]*.5;I=x-J;J=x+J;K=W+8|0;L=_+72|0;M=_+40|0;N=_+120|0;O=_+64|0;P=Y+4|0;Q=_+56|0;R=_+24|0;o=(i|0)==6&1;e=_+104|0;f=_+96|0;i=_+80|0;C=_+88|0;D=_+112|0;t=0.0;s=0.0;w=v+w;m=1;while(1){if((m|0)>=(j|0)){B=6;break}d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];n=d+16|0;if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;A=w+6.0;h[e>>3]=A;h[D>>3]=p;h[N>>3]=A;A=+h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3];p=w+A*.5+6.0;w=w+(A+6.0)}else{k=c[(c[n>>2]|0)+96>>2]|0;if((m|0)==1){s=+h[k+24>>3]*.5;t=x+s;s=x-s}v=v-(+h[k+32>>3]+6.0);c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;p=v+-6.0;h[R>>3]=p;h[F>>3]=r;h[M>>3]=p;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=v;h[f>>3]=s;h[e>>3]=v;h[D>>3]=s;h[N>>3]=u;p=v+ +h[(c[(c[n>>2]|0)+96>>2]|0)+32>>3]*.5}c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break;n=c[(c[n>>2]|0)+96>>2]|0;h[n+56>>3]=x;h[n+64>>3]=p;a[n+81>>0]=1;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}a:do if((B|0)==6){A=(y*2.0+z)/3.0;x=(y+z*2.0)/3.0;while(1){if((m|0)>=(g|0))break;d=c[X+(m<<2)>>2]|0;p=+h[V>>3];q=+h[K>>3];r=+h[W>>3];u=+h[H>>3];if(!(m&1)){c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=I;h[R>>3]=u;h[F>>3]=I;h[M>>3]=w;h[G>>3]=J;h[Q>>3]=w;h[O>>3]=J;h[L>>3]=q;h[i>>3]=r;h[C>>3]=q;h[f>>3]=r;q=w+6.0;w=q;r=q}else{B=(m|0)==1;y=B?A:s;t=B?x:t;z=v+-6.0;c[_>>2]=c[V>>2];c[_+4>>2]=c[V+4>>2];c[_+8>>2]=c[V+8>>2];c[_+12>>2]=c[V+12>>2];h[E>>3]=p;v=z+-6.0;h[R>>3]=v;h[F>>3]=r;h[M>>3]=v;c[G>>2]=c[W>>2];c[G+4>>2]=c[W+4>>2];c[G+8>>2]=c[W+8>>2];c[G+12>>2]=c[W+12>>2];h[O>>3]=t;h[L>>3]=q;h[i>>3]=t;h[C>>3]=z;h[f>>3]=y;v=z;s=y;r=u;p=y;q=z}h[e>>3]=q;h[D>>3]=p;h[N>>3]=r;c[P>>2]=8;c[Y>>2]=_;c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[T>>2]=c[W>>2];c[T+4>>2]=c[W+4>>2];c[T+8>>2]=c[W+8>>2];c[T+12>>2]=c[W+12>>2];c[U>>2]=c[Y>>2];c[U+4>>2]=c[Y+4>>2];k=BM(S,T,U,Z,o)|0;b=c[Z>>2]|0;if(!b)break a;bO(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17336);m=m+1|0}l6(X)}while(0);l=$;return}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(uB(b)|0)==0;c[f>>2]=c[(j?18636:18628)>>2];f=lB(85765,f,0)|0;RC(f,137786,280,1)|0;DA(f,0,87443,195341)|0;j=HK(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=IA(vC(b)|0,1,0)|0;while(1){if(!e)break;DA(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,1,e)|0}e=IA(vC(b)|0,2,0)|0;while(1){if(!e)break;DA(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=IA(vC(b)|0,2,e)|0}if(!(DA(f,2,111765,0)|0))DA(f,2,111765,195341)|0;if(!(DA(f,2,111756,0)|0))DA(f,2,111756,195341)|0;Zg(f,d);l=g;return f|0}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=qC(a,HB(b)|0,1)|0;RC(a,137750,304,1)|0;RA(b,a)|0;if((UM(b)|0)==2){f=b+16|0;b=IK((D3(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];i2(b,85760,d)|0;PA(a,108525,b)|0}l=e;return a|0}function Wg(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=fB(a,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(d,c)|0;return c|0}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Kg(a,f,g);l=i;return}function Yg(a,b){a=a|0;b=b|0;c[47258]=c[b>>2];c[47262]=c[b+4>>2];c[47263]=c[b+8>>2];c[47236]=c[b+12>>2];c[47237]=c[b+16>>2];c[47250]=c[b+20>>2];c[47249]=c[b+24>>2];c[47248]=c[b+28>>2];c[47274]=c[b+32>>2];c[47266]=c[b+36>>2];c[47251]=c[b+40>>2];c[47261]=c[b+44>>2];c[47270]=c[b+48>>2];c[47269]=c[b+52>>2];c[47268]=c[b+56>>2];c[47273]=c[b+60>>2];c[47267]=c[b+64>>2];c[47252]=c[b+68>>2];c[47199]=c[b+72>>2];c[47200]=c[b+76>>2];c[47201]=c[b+80>>2];c[47219]=c[b+84>>2];c[47212]=c[b+88>>2];c[47213]=c[b+92>>2];c[47214]=c[b+96>>2];c[47216]=c[b+100>>2];c[47217]=c[b+104>>2];c[47220]=c[b+108>>2];c[47223]=c[b+112>>2];c[47221]=c[b+116>>2];c[47222]=c[b+120>>2];c[47225]=c[b+124>>2];c[47224]=c[b+128>>2];c[47226]=c[b+132>>2];c[47227]=c[b+136>>2];c[47218]=c[b+140>>2];c[47230]=c[b+144>>2];c[47194]=c[b+148>>2];c[47185]=c[b+152>>2];l6(b);Of(a);pB(a)|0;return}function Zg(a,b){a=a|0;b=b|0;c[b>>2]=c[47258];c[b+4>>2]=c[47262];c[b+8>>2]=c[47263];c[b+12>>2]=c[47236];c[b+16>>2]=c[47237];c[b+20>>2]=c[47250];c[b+24>>2]=c[47249];c[b+28>>2]=c[47248];c[b+32>>2]=c[47274];c[b+36>>2]=c[47266];c[b+40>>2]=c[47251];c[b+44>>2]=c[47261];c[b+48>>2]=c[47270];c[b+52>>2]=c[47269];c[b+56>>2]=c[47268];c[b+60>>2]=c[47273];c[b+64>>2]=c[47267];c[b+68>>2]=c[47252];c[b+72>>2]=c[47199];c[b+76>>2]=c[47200];c[b+80>>2]=c[47201];c[b+84>>2]=c[47219];c[b+88>>2]=c[47212];c[b+92>>2]=c[47213];c[b+96>>2]=c[47214];c[b+100>>2]=c[47216];c[b+104>>2]=c[47217];c[b+108>>2]=c[47220];c[b+112>>2]=c[47223];c[b+116>>2]=c[47221];c[b+120>>2]=c[47222];c[b+124>>2]=c[47225];c[b+128>>2]=c[47224];c[b+132>>2]=c[47226];c[b+136>>2]=c[47227];c[b+140>>2]=c[47218];c[b+144>>2]=c[47230];c[b+152>>2]=c[47185];c[b+148>>2]=c[47194];c[47258]=0;c[47262]=DA(a,2,87684,0)|0;c[47263]=DA(a,2,87693,0)|0;b=DA(a,2,101842,0)|0;c[47236]=b;if(!b)c[47236]=DA(a,2,101842,195341)|0;c[47237]=0;c[47250]=0;c[47249]=DA(a,2,101738,0)|0;c[47248]=DA(a,2,101729,0)|0;c[47274]=DA(a,2,102018,0)|0;c[47266]=0;c[47251]=DA(a,2,108525,0)|0;c[47261]=DA(a,2,85770,0)|0;c[47270]=0;c[47269]=DA(a,2,101918,0)|0;c[47268]=DA(a,2,101904,0)|0;c[47273]=DA(a,2,102009,0)|0;c[47267]=0;c[47252]=0;c[47199]=DA(a,1,141351,0)|0;c[47200]=DA(a,1,141419,0)|0;c[47201]=DA(a,1,108531,0)|0;c[47219]=0;c[47212]=DA(a,1,101729,0)|0;c[47213]=DA(a,1,101738,0)|0;c[47214]=0;c[47216]=DA(a,1,108525,0)|0;c[47217]=0;c[47220]=0;c[47223]=DA(a,1,101710,0)|0;c[47221]=DA(a,1,141379,0)|0;c[47222]=DA(a,1,101773,0)|0;c[47225]=DA(a,1,101785,0)|0;c[47224]=DA(a,1,101649,0)|0;c[47226]=DA(a,1,101790,0)|0;c[47227]=DA(a,1,85782,0)|0;c[47218]=0;c[47230]=0;c[47194]=DA(a,0,101710,0)|0;return}function _g(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0}\nfunction EB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=(e|0)!=0;i=b+64|0;do if(j){if((a[e>>0]|0)!=37?(h=c[i>>2]|0,h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=JB(b,d,e,f)|0;if(!h)k=5}else k=5;while(0);if((k|0)==5)if(g){h=c[i>>2]|0;h=wb[c[(c[h+4>>2]|0)+4>>2]&63](c[h+16>>2]|0,d,0,f,g)|0;if(j&(h|0)!=0){k=f;KB(b,d,e,c[k>>2]|0,c[k+4>>2]|0)}}else h=0;return h|0}function FB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return tb[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function GB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;PB(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function HB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=uC(a)|0;f=a+8|0;b=f;b=NB(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=tb[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;i2(195053,96757,g)|0;b=195053}}while(0);l=h;return b|0}function IB(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;rb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function JB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=aD(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=eb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function KB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=aC(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=dD(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=SD(a,18684,c[4599]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=SD(a,18720,c[4599]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}eb[c[f>>2]&63](f,h,1)|0;eb[c[b>>2]&63](b,h,1)|0;return}function LB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function MB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function NB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=OB(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function OB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=eb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=OB(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;eb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;eb[c[e>>2]&63](e,b,2)|0;fD(a,c[b+24>>2]|0)|0;bC(a,b);b=1}return b|0}function QB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46985]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=eb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;PB(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function RB(a){a=a|0;c[46985]=a;a=a+64|0;SB((c[a>>2]|0)+56|0);SB((c[a>>2]|0)+68|0);return}function SB(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){Oz(e)|0;c[d>>2]=0}b=b+1|0}return}function TB(a,b,c){a=a|0;b=b|0;c=c|0;if(!(o4(b,c,a)|0))a=0;else a=D3(b)|0;return a|0}function UB(a,b){a=a|0;b=b|0;return Z3(b,a)|0}function VB(a){a=a|0;return m4(a)|0}function WB(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4693]=c[4690];c[4694]=c[4691];c[e>>2]=a;c[e+4>>2]=D3(a)|0;c[e+8>>2]=0;c[d>>2]=18780;c[d+4>>2]=18656;c[d+8>>2]=18768;a=hF(e,d)|0;iD(0);l=b;return a|0}function XB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function YB(a){a=a|0;return 0}function ZB(a,b){a=a|0;b=b|0;a=k6(b)|0;u6(a|0,0,b|0)|0;return a|0}function _B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=n6(b,d)|0;if(d>>>0>c>>>0)u6(a+c|0,0,d-c|0)|0;return a|0}function $B(a,b){a=a|0;b=b|0;l6(b);return}function aC(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=vb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)dA(1,96763,d)|0;l=d;return a|0}function bC(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;lb[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function cC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function dC(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))bC(c[a+24>>2]|0,b);return}function eC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=186424;c[e>>2]=b;c[e+4>>2]=d;c[46990]=186416;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,187944,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function gC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function hC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function iC(a){a=a|0;a=c[a+36>>2]|0;a=eb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function jC(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=eb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function kC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=fC(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=vC(a)|0;if((e|0)!=(a|0)?(f=fC(e,b,c)|0,f|0):0){lC(a,f,1)|0;e=f;break}if(!(FB(a,1,b,c)|0))e=0;else{e=oB(a,1)|0;e=mC(a,b,c,e,D)|0;nC(a,e);oC(a,e)}}while(0);return e|0}function lC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vC(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=fC(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=OD(a)|0;if(!e)e=0;else{d=lC(e,b,d)|0;pC(a,d);return d|0}}}else e=0;return e|0}function mC(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=aC(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=vC(b)|0;if(a[(vC(b)|0)+24>>0]&64)RC(g,c[4610]|0,16,0)|0;return g|0}function nC(a,b){a=a|0;b=b|0;do{pC(a,b);a=OD(a)|0}while((a|0)!=0);return}function oC(b,c){b=b|0;c=c|0;if(a[(vC(b)|0)+24>>0]&64)rA(b,c);wC(b,c);return}function pC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Uz(c[e>>2]|0)|0;if((vC(a)|0)==(a|0))d=b+28|0;else d=aC(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;eb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,d,1)|0;return}function qC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=vC(a)|0;e=(d|0)!=0;if(EB(a,1,b,g,0)|0){d=g;d=fC(a,c[d>>2]|0,c[d+4>>2]|0)|0;if(!d)if(!((h|0)==(a|0)|e^1)?(f=g,f=fC(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)d=lC(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if(e?(EB(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;d=oB(a,1)|0;d=mC(a,h,i,d,D)|0;nC(a,d);oC(a,d);IB(a,1,d)}else d=0;l=j;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46999]=b;d=ZA(a,b)|0;while(1){if(!d)break;e=_A(a,d,b)|0;gB(a,d,0);d=e}e=c[a+40>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;e=c[a+36>>2]|0;eb[c[e>>2]&63](e,187980,2)|0;return}function sC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(fC(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((vC(b)|0)==(b|0)){e=ZA(b,d)|0;while(1){if(!e)break;g=_A(b,e,d)|0;iB(b,e)|0;e=g}if(a[b+24>>0]&64)LA(d);AC(b,d);ZC(d);g=f;GB(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(zE(b,d,59,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function tC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((OD(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{dA(1,96789,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=sC(a,b)|0;break a}case 2:case 3:{f=iB(a,b)|0;break a}case 0:{f=pB(b)|0;break a}default:{}}while(0);l=h;return f|0}function uC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function vC(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function wC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,100,0);else xC(b,d,c[e+48>>2]|0);return}function xC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){xC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function yC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))GC(b,d,101,e);else zC(b,d,e,c[f+48>>2]|0);return}function zC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){zC(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function AC(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))GC(b,d,102,0);else BC(b,d,c[e+48>>2]|0);return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){BC(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)rb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function DC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){e=d+8|0;if(!d){d=-1;break a}f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];bC(a,d);d=0}while(0);return d|0}function EC(a,b){a=a|0;b=b|0;var d=0;d=vC(a)|0;a:do if((d|0)==(vC(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=OD(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(kC(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(jB(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function FC(a){a=a|0;return c[a>>2]&3|0}function GC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=RC(a,96813,44,0)|0;switch(c|0){case 100:{c=HC(e,b,100)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}case 101:{if((IC(HC(e,b,100)|0,b)|0)==0?(IC(HC(e,b,102)|0,b)|0)==0:0){e=HC(e,b,101)|0;c=IC(e,b)|0;if(!c)c=JC(e,a,b,d)|0;KC(b,c,d)}break}case 102:{LC(HC(e,b,100)|0,b);LC(HC(e,b,101)|0,b);c=HC(e,b,102)|0;if(!(IC(c,b)|0))JC(c,a,b,d)|0;break}default:dA(1,96825,f)|0}l=g;return}function HC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){dA(1,96859,e)|0;d=0}a=c[d>>2]|0;if(!a){a=uC(b)|0;a=SD(a,18872,c[4599]|0)|0;c[d>>2]=a}l=g;return a|0}function IC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=MC(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=D;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function JC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aC(uC(d)|0,32)|0;c[f+20>>2]=d;g=MC(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=D;c[f+16>>2]=b;if(e|0){g=aC(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}eb[c[a>>2]&63](a,f,1)|0;return f|0}function KC(a,b,d){a=a|0;b=b|0;d=d|0;a=b+24|0;while(1){a=c[a>>2]|0;if(!a)break;if((c[a>>2]|0)==(d|0))break;else a=a+4|0}return}function LC(a,b){a=a|0;b=b|0;b=IC(a,b)|0;if(b|0)eb[c[a>>2]&63](a,b,2)|0;return}function MC(a){a=a|0;a=a+8|0;D=c[a+4>>2]|0;return c[a>>2]|0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;OC(b);bC(c[b+16>>2]|0,b);return}function OC(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;bC(c[b>>2]|0,a);a=d}return}function PC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(f2(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}QC(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else dA(1,96884,i)|0}while(0);l=k;return f|0}function QC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function RC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=uC(a)|0;f=PC(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=aC(h,d)|0;c[d>>2]=dD(h,b)|0;switch(c[a>>2]&3){case 0:{SC(a,d);g=d;break a}case 1:{SC(a,d);g=d;break a}case 2:case 3:{SC(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)PC(a,b,1)|0;return g|0}function SC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))QC(a,b,0);return}function TC(a,b){a=a|0;b=b|0;var d=0,e=0;e=uC(a)|0;d=PC(a,b,0)|0;if(!d)b=-1;else{UC(a,d);if(!(c[a>>2]&3)){VC(e,a,d);b=d}else{zE(vC(e)|0,a,60,d,0)|0;b=d}fD(e,c[d>>2]|0)|0;bC(e,b);b=0}return b|0}function UC(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function VC(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;QC(b,(a|0)==(d|0)?0:a,0)}return}function WC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{RC(a,c,g,e)|0;if(!f){b=MD(a)|0;while(1){if(!b)break a;WC(b,0,c,d,e);b=ND(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=gC(a)|0;while(1){if(!b)break a;b:do if(d)RC(b,c,g,e)|0;else{f=UA(a,b)|0;while(1){if(!f)break b;RC(f,c,g,e)|0;f=WA(a,f)|0}}while(0);b=hC(a,b)|0}}default:{}}while(0);return}function XC(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{zE(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=gC(a)|0;while(1){if(!d)break a;b:do if(e)TC(d,c)|0;else{b=UA(a,d)|0;while(1){if(!b)break b;TC(b,c)|0;b=WA(a,b)|0}}while(0);d=hC(a,d)|0}}default:{}}while(0);return}function YC(a,b,c){a=a|0;b=b|0;c=c|0;TC(b,c)|0;return}function ZC(a){a=a|0;var b=0,d=0,e=0;d=uC(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;fD(d,c[e>>2]|0)|0;bC(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function _C(a){a=a|0;return UD(a,$C(a)|0)|0}function $C(a){a=a|0;var b=0,d=0;if(!a)d=188016;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=SD(a,18908,c[4599]|0)|0;c[d>>2]=b;a=186480;c[a>>2]=-2147483648;c[a+4>>2]=0;a=186488;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function aD(a,b){a=a|0;b=b|0;return bD($C(a)|0,b)|0}function bD(a,b){a=a|0;b=b|0;a=cD(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function cD(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function dD(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=D}d=c[d+16>>2]|0}return d|0}function eD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=$C(a)|0;d=cD(e,b)|0;if(!d){d=(D3(b)|0)+24|0;if(!a)d=k6(d)|0;else d=aC(a,d)|0;g=186480;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;O3(a,b)|0;c[d+16>>2]=a;eb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=D}d=c[d+16>>2]|0}return d|0}function fD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=$C(a)|0,e=cD(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=w6(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=D,b,c[b>>2]=g,c[b+4>>2]=f,b=186488,!(((g|0)!=0|(f|0)!=0)&((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0))):0){TD(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function gD(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=186480;a=c[b>>2]&c[a>>2]}return a|0}function hD(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=186480;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function iD(a){a=a|0;c[47009]=a;c[4736]=1;return}function jD(a,b){a=a|0;b=b|0;c[47010]=a;c[47011]=b;c[47012]=0;return}function kD(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[47013]|0)){c[47013]=1;if(!(c[47014]|0))c[47014]=1;if(!(c[47005]|0))c[47005]=c[15808];if(!(c[47006]|0))c[47006]=c[15840];k=c[47015]|0;if(!((k|0)!=0?(c[k+(c[47016]<<2)>>2]|0)!=0:0)){lD();k=mD(c[47005]|0,16384)|0;c[(c[47015]|0)+(c[47016]<<2)>>2]=k}nD()}a:while(1){h=c[47017]|0;a[h>>0]=a[195085]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;f=h;b:while(1){i=f;while(1){f=c[18948+(d[i>>0]<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=i}c:while(1){g=f&255;do{f=(b[64314+(e<<1)>>1]|0)+g|0;if((b[64524+(f<<1)>>1]|0)==(e|0))break c;k=b[65060+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19972+(g<<2)>>2]|0}e=b[65270+(f<<1)>>1]|0;f=i+1|0;if((b[64314+(e<<1)>>1]|0)==219)break;else i=f}d:while(1){k=h;e:while(1){e=b[64128+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[64128+(c[47018]<<1)>>1]|0;f=c[47019]|0}else e=e<<16>>16;c[47007]=h;j=f;c[47008]=j-k;a[195085]=a[f>>0]|0;a[f>>0]=0;c[47017]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}i=c[47007]|0;a[f>>0]=a[195085]|0;e=(c[47015]|0)+(c[47016]<<2)|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[47021]=n;c[g>>2]=c[47005];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[47021]|0;if((c[47017]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(wD()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[47017]=c[47007];e=(((c[47014]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[195085]|0;f=c[47019]|0;e=c[47018]|0}if((m|0)==128){m=0;g=(c[47007]|0)+(j-i+-1)|0;c[47017]=g;e=uD()|0;f=vD(e)|0;h=c[47007]|0;if(!f){f=g;continue}else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+4>>2]|0)+(c[47021]|0)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}if((m|0)==129){m=0;n=g+1|0;c[47017]=n;e=f;f=n;continue}else if((m|0)==132){m=0;f=(c[47007]|0)+(j-i+-1)|0;c[47017]=f;e=uD()|0;h=c[47007]|0;continue}}switch(m|0){case 29:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 32:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=3;continue a}case 35:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;continue a}case 42:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;oD();continue a}case 47:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[47008]|0;if(!e)continue a;c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=5;qD();continue a}case 89:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(99045);continue a}case 92:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;sD(96917);continue a}case 95:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[4736]=(c[4736]|0)+1;continue a}case 98:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 101:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=7;c[47020]=1;qD();continue a}case 104:{m=0;e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;n=(c[47020]|0)+-1|0;c[47020]=n;if(!n){m=108;break a}sD(c[47007]|0);continue a}case 109:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47020]=(c[47020]|0)+1;sD(f);continue a}case 112:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);c[4736]=(c[4736]|0)+1;continue a}case 115:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;sD(f);continue a}case 121:{m=0;e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;_3(f,e,1,c[47006]|0)|0;continue a}}}switch(m|0){case 27:{e=c[47008]|0;if(!e)l=-1;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[47008]|0;if(!e)l=259;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[47008]|0;if(!e)l=260;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=258;l=258}else l=258;break}case 61:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(!(c[47012]|0)){c[47012]=261;l=261}else l=261;break}case 65:{e=c[47008]|0;if(!e)l=263;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[47008]|0;if(!e)l=262;else{c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==261?264:45;break}case 72:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;l=(c[47012]|0)==258?264:45;break}case 75:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;c[47036]=dD(c[46985]|0,f)|0;l=267;break}case 78:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;if(pD()|0){m=(c[47008]|0)+-1|0;a[f>>0]=a[195085]|0;n=h+m|0;c[47017]=n;c[47007]=h;c[47008]=m;a[195085]=a[n>>0]|0;a[n>>0]=0;c[47017]=n}c[47036]=dD(c[46985]|0,c[47007]|0)|0;l=267;break}case 86:{e=c[47008]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[(c[47007]|0)+(e+-1)>>0]|0)==10&1;c[47014]=1;rD();l=268;break}case 108:{c[47014]=1;tD();l=268;break}case 118:{e=c[47008]|0;f=c[47007]|0;if(e|0)c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]=(a[f+(e+-1)>>0]|0)==10&1;l=a[f>>0]|0;break}case 134:{xD(96920);break}}return l|0}function lD(){var a=0,b=0,d=0;b=c[47015]|0;do if(!b){a=ED(4)|0;c[47015]=a;if(!a)xD(97278);else{c[a>>2]=0;c[47027]=1;c[47016]=0;break}}else{a=c[47027]|0;if((c[47016]|0)>>>0>=(a+-1|0)>>>0){d=a+8|0;a=yD(b,d<<2)|0;c[47015]=a;if(!a)xD(97278);else{b=a+(c[47027]<<2)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;c[47027]=d;break}}}while(0);return}function mD(a,b){a=a|0;b=b|0;var d=0;d=ED(48)|0;if(!d)xD(97233);c[d+12>>2]=b;b=ED(b+2|0)|0;c[d+4>>2]=b;if(!b)xD(97233);else{c[d+20>>2]=1;AD(d,a);return d|0}return 0}function nD(){var b=0,d=0;d=(c[47015]|0)+(c[47016]<<2)|0;b=c[d>>2]|0;c[47021]=c[b+16>>2];b=c[b+8>>2]|0;c[47017]=b;c[47007]=b;c[47005]=c[c[d>>2]>>2];a[195085]=a[b>>0]|0;return}function oD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[47007]|0;b=h+1|0;i=(h2(b,97217,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=q4(b,97222,f)|0;if((f|0)>0?(c[4736]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;DD(d,b-d|0)}}l=g;return}function pD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[47007]|0)+((c[47008]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(CD()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[47009]|0;hA(h,1024,b);kA(h,97128)|0;kA(h,c[47007]|0)|0;c[f>>2]=c[4736];i2(d,97172,f)|0;kA(h,d)|0;kA(h,(k|0)==0?97122:k)|0;kA(h,97189)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){iA(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;dA(0,97214,i)|0;lA(h);b=1}l=j;return b|0}function qD(){var b=0;b=c[47022]|0;if(!b){b=k6(1024)|0;c[47022]=b;c[47024]=b+1024}c[47023]=b;a[b>>0]=0;return}function rD(){c[47036]=dD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[47023]|0;d=c[47022]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[47023]=e;f=c[47024]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[47023]=e;f=d;i=g-f<<1;d=n6(d,i)|0;c[47022]=d;c[47024]=d+i;e=d+(e-f)|0;f=3}c[47023]=e;return}function tD(){c[47036]=eD(c[46985]|0,c[47022]|0)|0;a[c[47022]>>0]=0;return}function uD(){var d=0,e=0,f=0,g=0,h=0;h=c[47017]|0;g=c[47007]|0;e=(c[(c[(c[47015]|0)+(c[47016]<<2)>>2]|0)+28>>2]|0)+(c[47014]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18948+((d&255)<<2)>>2]|0;if(b[64128+(e<<1)>>1]|0){c[47018]=e;c[47019]=g}a:while(1){f=d&255;do{d=(b[64314+(e<<1)>>1]|0)+f|0;if((b[64524+(d<<1)>>1]|0)==(e|0))break a;d=b[65060+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19972+(f<<2)>>2]|0}g=g+1|0;e=b[65270+(d<<1)>>1]|0}return e|0}function vD(a){a=a|0;var d=0;if(b[64128+(a<<1)>>1]|0){d=c[47017]|0;c[47018]=a;c[47019]=d}while(1){d=(b[64314+(a<<1)>>1]|0)+1|0;if((b[64524+(d<<1)>>1]|0)==(a|0))break;a=b[65060+(a<<1)>>1]|0}d=b[65270+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function wD(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=(c[47015]|0)+(c[47016]<<2)|0;g=c[i>>2]|0;h=c[g+4>>2]|0;e=c[47007]|0;l=c[47017]|0;j=l;if(l>>>0>(h+((c[47021]|0)+1)|0)>>>0)xD(96975);f=j-e|0;if(!(c[g+40>>2]|0))b=(f|0)==1?1:2;else{l=f+-1|0;g=h;f=0;while(1){if((f|0)>=(l|0))break;a[g>>0]=a[e>>0]|0;g=g+1|0;e=e+1|0;f=f+1|0}e=c[i>>2]|0;do if((c[e+44>>2]|0)==2){c[47021]=0;c[e+16>>2]=0;m=17}else{while(1){h=e+12|0;g=c[h>>2]|0;f=g-l+-1|0;if(f|0){m=16;break}f=e+4|0;i=c[f>>2]|0;if(!(c[e+20>>2]|0)){m=12;break}e=g<<1;e=(e|0)==0?(g>>>3)+g|0:e;c[h>>2]=e;e=yD(i,e+2|0)|0;c[f>>2]=e;if(!e)break;i=e+(j-i)|0;c[47017]=i;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;j=i}if((m|0)==12)c[f>>2]=0;else if((m|0)==16){d=eb[c[c[(c[47010]|0)+8>>2]>>2]&63](c[47011]|0,(c[e+4>>2]|0)+l|0,f>>>0<8192?f:8192)|0;c[47021]=d;e=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;k=e;break}}xD(97031)}while(0);do if((m|0)==17)if(!l){zD(c[47005]|0);b=1;d=c[47021]|0;k=c[(c[47015]|0)+(c[47016]<<2)>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;k=e;break}while(0);e=d+l|0;do if(e>>>0>(c[k+12>>2]|0)>>>0){m=yD(c[k+4>>2]|0,e+(d>>>1)|0)|0;d=(c[47015]|0)+(c[47016]<<2)|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)xD(97075);else{n=c[47021]|0;o=d;break}}else{n=d;o=c[k+4>>2]|0}while(0);n=n+l|0;c[47021]=n;a[o+n>>0]=0;o=(c[47015]|0)+(c[47016]<<2)|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[47021]|0)+1)>>0]=0;c[47007]=c[(c[o>>2]|0)+4>>2]}return b|0}function xD(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15715]|0;c[b>>2]=a;z4(d,96971,b)|0;$a(2)}function yD(a,b){a=a|0;b=b|0;return n6(a,b)|0}function zD(a){a=a|0;var b=0,d=0,e=0;d=c[47015]|0;if((d|0)!=0?(b=c[d+(c[47016]<<2)>>2]|0,(b|0)!=0):0)e=4;else{lD();b=mD(c[47005]|0,16384)|0;d=c[47015]|0;c[d+(c[47016]<<2)>>2]=b;if(!d)b=0;else e=4}AD(b,a);nD();return}function AD(a,b){a=a|0;b=b|0;var d=0;d=c[(L1()|0)>>2]|0;BD(a);c[a>>2]=b;c[a+40>>2]=1;b=c[47015]|0;if(!b)b=0;else b=c[b+(c[47016]<<2)>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(L1()|0)>>2]=d;return}function BD(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[47015]|0;if(!d)d=0;else d=c[d+(c[47016]<<2)>>2]|0;if((d|0)==(b|0))nD()}return}function CD(){var b=0,d=0;d=c[47007]|0;b=(c[47008]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function DD(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[47025]|0;if((d|0)<(b|0)){e=b+1|0;if(!d)d=k6(e)|0;else d=n6(c[47026]|0,e)|0;c[47026]=d;c[47025]=b}else d=c[47026]|0;O3(d,a)|0;c[47009]=c[47026];return}function ED(a){a=a|0;return k6(a)|0}function FD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;hA(j,1024,m+1080|0);e=c[47009]|0;if(e|0){kA(j,e)|0;kA(j,97328)|0}kA(j,b)|0;c[f>>2]=c[4736];i2(d,97331,f)|0;kA(j,d)|0;a:do if(!(a[c[47007]>>0]|0))switch(((c[47014]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;i2(d,97351,g)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97413)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 3:{c[h>>2]=16384;i2(d,97432,h)|0;kA(j,d)|0;b=c[47022]|0;if(!(a[b>>0]|0))break a;i=D3(b)|0;kA(j,97500)|0;b=c[47022]|0;if((i|0)>80)a[b+80>>0]=0;kA(j,b)|0;break a}case 1:{c[i>>2]=16384;i2(d,97519,i)|0;kA(j,d)|0;break a}default:break a}else{kA(j,97343)|0;kA(j,c[47007]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){iA(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){iA(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;dA(1,97214,k)|0;lA(j);l=m;return}function GD(){HD(c[47007]|0);return}function HD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[47017]|0;a[j>>0]=a[195085]|0;i=(c[47015]|0)+(c[47016]<<2)|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[47021]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[47021]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)xD(97578);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[47007]=l;a[195085]=a[b>>0]|0;c[47017]=b;return}function ID(){var a=0;a=c[47015]|0;if(!a)a=0;else a=c[a+(c[47016]<<2)>>2]|0;BD(a);return}function JD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;VD(a,c[g>>2]|0,18592);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function KD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=JD(b,d,e)|0;if(!f){f=aC(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;nB(f)|0}return f|0}function LD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(EB(a,0,b,f,0)|0)!=0:0)?(e=f,e=JD(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(EB(a,0,b,f,1)|0)!=0:0){e=f;e=KD(a,c[e>>2]|0,c[e+4>>2]|0)|0;IB(a,0,e)}else e=0;l=g;return e|0}function MD(a){a=a|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,0,128)|0}function ND(a){a=a|0;var b=0;b=OD(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=eb[c[b>>2]&63](b,a,8)|0}return a|0}function OD(a){a=a|0;return c[a+56>>2]|0}function PD(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return eb[c[a>>2]&63](a,b,2)|0}function QD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[47028]|0;e=(b|0)!=0;do if(!a)if(e){l6(b);a=0;break}else{a=k6(d)|0;break}else if(e){bC(a,b);a=0;break}else{a=aC(a,d)|0;break}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;a=c[47028]|0;if(!a)l6(b);else bC(a,b);return}function SD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[47028]=a;d=Sz(b,d)|0;c[e>>2]=f;c[47028]=0;return d|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;c[47028]=a;return eb[c[b>>2]&63](b,d,2)|0}function UD(a,b){a=a|0;b=b|0;var d=0,e=0;d=(_z(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[47028]=a;if(!(Oz(b)|0)){c[d>>2]=e;c[47028]=0;a=0}else a=1;return a|0}function VD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(_z(b,0,0)|0)!=(c|0):0)_z(b,c,0)|0;return}function WD(a,b){a=a|0;b=b|0;if(!(gD(a)|0))b=YD(a,b)|0;else XD(a,b)|0;return b|0}function XD(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;f=c+1|0;while(1){d=a[b>>0]|0;e=f+1|0;if(!(d<<24>>24))break;a[f>>0]=d;f=e;b=b+1|0}a[f>>0]=62;a[e>>0]=0;return c|0}function YD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;k=a[b>>0]|0;t=0;g=((k+-45&255)<2|((k&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){o=g;l=e;p=k;while(1){g=l+1|0;if(!(p<<24>>24))break b;e=p&255;c:do if(p<<24>>24==34){a[l>>0]=92;h=1}else{if(!o){g=p<<24>>24>-1&(p<<24>>24!=95&(O2(e)|0)==0);o=0;h=g?1:h;g=l;break}switch(p<<24>>24){case 45:{g=(j|0)==0;o=g?o:0;h=g?h:1;g=l;break c}case 46:{g=(i|0)==0;o=g?o:0;h=g?h:1;i=i+1|0;g=l;break c}default:{g=(e+-48|0)>>>0<10;o=g?o:0;h=g?h:1;g=l;break c}}}while(0);e=g+1|0;a[g>>0]=p;s=f+1|0;r=a[f>>0]|0;j=j+1|0;f=c[5042]|0;if(!f){l=e;f=s;p=r;continue}k=r&255;l=r<<24>>24!=0;m=g+2|0;n=r<<24>>24>-1;q=g+3|0;if((t&l?!(p<<24>>24==92|p<<24>>24>-1&((p+-45&255)>1&(O2(p<<24>>24)|0)==0)^1):0)?(r+-45&255)<2|(O2(k)|0)!=0|n^1:0)break;if((j|0)<(f|0)|l^1){l=e;f=s;p=r;continue}if(p<<24>>24==92|p<<24>>24>-1&((O2(p<<24>>24)|0)==0&(p+-45&255)>1)^1){t=1;g=o;k=r;f=s;continue b}if(!((r+-45&255)<2|(O2(k)|0)!=0|n^1)){t=1;g=o;k=r;f=s;continue b}a[e>>0]=92;a[m>>0]=10;h=1;j=0;l=q;f=s;p=r}a[e>>0]=92;a[m>>0]=10;t=0;g=o;h=1;j=0;k=r;e=q;f=s}a[l>>0]=34;a[g>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20172;while(1){f=c[e>>2]|0;if(!f)break a;if(!(C3(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=97610;while(0);return b|0}function ZD(a){a=a|0;return WD(a,_D(a)|0)|0}function _D(a){a=a|0;var b=0;b=((D3(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[47030]|0;if(b>>>0>(c[47029]|0)>>>0){if(!a)a=k6(b)|0;else a=n6(a,b)|0;c[47030]=a;c[47029]=b}return a|0}function $D(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if((aE(a)|0)==0?lC(a,b,0)|0:0){a=1;break}a=ND(a)|0}return a|0}function aE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=HB(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=tA(b)|0;b:do if(d|0?(f=tA(OD(b)|0)|0,f|0):0){h=Uz(c[(tA(vC(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?f2(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=oA(b,0)|0;if(d)if((Uz(c[d+8>>2]|0)|0)>0)d=0;else return (Uz(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function bE(b,d){b=b|0;d=d|0;var e=0,f=0;c[47031]=0;e=NA(b,97620)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=$1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5042]=f;cE(b,1);if(((dE(b,d,1)|0)!=-1?(eE(b,d)|0)!=-1:0)?(fE(b,d)|0)!=-1:0){c[5042]=128;b=pb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function cE(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=MD(a)|0;while(1){if(!d)break;cE(d,0);d=ND(d)|0}a:do if(b|0){b=gC(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=UA(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=WA(a,d)|0}b=hC(a,b)|0}}while(0);return}function dE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(OD(b)|0)!=0:0){i=0;g=195341;k=109815}else{k=(a[b+24>>0]&1)==0?195341:97664;g=(wB(b)|0)==0;c[47032]=DA(b,2,111756,0)|0;c[47033]=DA(b,2,111765,0)|0;i=1;g=g?195341:97667}f=HB(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=102905}else{h=0;j=195341;f=195341}do if((gE(b,d)|0)!=-1?(hE(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((hE(b,d,k)|0)==-1){f=-1;break}if((hE(b,d,102898)|0)==-1){f=-1;break}}if(!g?(sE(b,d,f)|0)==-1:0){f=-1;break}if(((hE(b,d,j)|0)!=-1?(hE(b,d,97675)|0)!=-1:0)?(c[47031]=(c[47031]|0)+1,(xE(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((iE(a,b)|0)==-1)d=-1;else{k=oA(vC(a)|0,0)|0;i=(k|0)!=0;j=k+8|0;k=k+12|0;h=gC(a)|0;while(1){if(!h){d=0;break a}if(jE(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=c[j>>2]|0;else d=0;if((kE(h,b,d)|0)==-1){d=-1;break a}}g=UA(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(jE(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=c[j>>2]|0;else d=0;if((kE(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(lE(a,g)|0){if(i)e=c[k>>2]|0;else e=0;if((mE(g,b,e)|0)==-1){d=-1;break a}}g=WA(a,g)|0}h=hC(a,h)|0}}while(0);return d|0}function fE(a,b){a=a|0;b=b|0;c[47031]=(c[47031]|0)+-1;if((gE(a,b)|0)==-1)a=-1;else a=((hE(a,b,111309)|0)==-1)<<31>>31;return a|0}function gE(a,b){a=a|0;b=b|0;var d=0;d=c[47031]|0;while(1){if((d|0)<=0){d=0;break}if((hE(a,b,153746)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function hE(a,b,d){a=a|0;b=b|0;d=d|0;return vb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function iE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=0;break}if(!(aE(a)|0)){if((dE(a,b,0)|0)==-1){a=-1;break}if((eE(a,b)|0)==-1){a=-1;break}if((fE(a,b)|0)==-1){a=-1;break}}else iE(a,b)|0;a=ND(a)|0}return a|0}function jE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if(($D(a,b)|0)==0?(uE(a,b,c,d)|0)!=0:0)if((vE(a,b)|0)==0?(wE(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function kE(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=uC(a)|0;do if((gE(d,b)|0)!=-1?(nE(a,b)|0)!=-1:0){if((pE(a)|0)==0?(qE(a,b,c)|0)==-1:0){a=-1;break}a=hE(d,b,97631)|0}else a=-1;while(0);return a|0}function lE(a,b){a=a|0;b=b|0;a=MD(a)|0;while(1){if(!a){a=1;break}if((aE(a)|0)==0?jB(a,b,0)|0:0){a=0;break}a=ND(a)|0}return a|0}function mE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=uC(g)|0;do if((((((gE(f,b)|0)!=-1?(nE(g,b)|0)!=-1:0)?(oE(a,b,c[47032]|0)|0)!=-1:0)?(g=(uB(uC(g)|0)|0)!=0,(hE(f,b,g?100380:100385)|0)!=-1):0)?(nE(e,b)|0)!=-1:0)?(oE(a,b,c[47033]|0)|0)!=-1:0){if(!(pE(a)|0)){if((qE(a,b,d)|0)==-1){a=-1;break}}else if((rE(a,b,1)|0)==-1){a=-1;break}a=hE(f,b,97631)|0}else a=-1;while(0);return a|0}function nE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=HB(a)|0;f=uC(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;i2(d,97651,g)|0;if((hE(f,b,d)|0)==-1)a=-1;else h=4}else if((sE(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function oE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=uC(b)|0,f=OA(b,d)|0,(a[f>>0]|0)!=0):0)if((hE(e,c,108285)|0)==-1)b=-1;else{do if(gD(f)|0){if((sE(e,c,f)|0)==-1){b=-1;break a}}else{b=F3(f,58)|0;if(!b)if((tE(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((tE(e,c,f,0)|0)==-1){b=-1;break a}if((hE(e,c,108285)|0)==-1){b=-1;break a}if((tE(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function pE(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function qE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(rE(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=tA(a)|0;j=uC(a)|0;c:do if(f){i=f+12|0;h=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;f=h+16|0;do if(c[a>>2]&2){g=c[47032]|0;if(g|0?(c[f>>2]|0)==(c[g+16>>2]|0):0)break;g=c[47033]|0;if(!((g|0)!=0?(c[f>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((hE(j,b,97646)|0)==-1){e=-1;break b}if((gE(j,b)|0)==-1){e=-1;break b}}else{if((gE(j,b)|0)==-1){e=-1;break b}if((hE(j,b,97643)|0)==-1){e=-1;break b}c[47031]=(c[47031]|0)+1}if((sE(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((hE(j,b,97649)|0)==-1){e=-1;break b}if((sE(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=eb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((hE(j,b,97641)|0)==-1){e=-1;break}c[47031]=(c[47031]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function rE(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=HB(b)|0;b=uC(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((hE(b,c,97634)|0)!=-1?(sE(b,c,e)|0)!=-1:0)if((d|0)!=0?(hE(b,c,97641)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function sE(a,b,c){a=a|0;b=b|0;c=c|0;return tE(a,b,c,1)|0}function tE(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=YD(c,_D(c)|0)|0;else c=ZD(c)|0;return hE(a,b,c)|0}function uE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=XA(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=YA(a,b)|0}}while(0);return b|0}function vE(a,b){a=a|0;b=b|0;if(!(XA(a,b)|0))a=(UA(a,b)|0)==0;else a=0;return a&1|0}function wE(a){a=a|0;var b=0,d=0,e=0;a=tA(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function xE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=oA(a,0)|0;if(e)if(((yE(a,b,111795,c[e+16>>2]|0,d)|0)!=-1?(yE(a,b,111782,c[e+8>>2]|0,d)|0)!=-1:0)?(yE(a,b,111751,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function yE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Xz(f,0)|0;k=(l|0)==0;j=eb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=eb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((hE(b,d,97646)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}else{if((gE(b,d)|0)==-1){g=-1;break}if((hE(b,d,e)|0)==-1){g=-1;break}if((hE(b,d,97643)|0)==-1){g=-1;break}c[47031]=(c[47031]|0)+1}if((sE(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((hE(b,d,97649)|0)==-1){g=-1;break}if((sE(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=eb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[47031]=(c[47031]|0)+-1;if((g|0)!=1){if((hE(b,d,153748)|0)==-1){g=-1;break}if((gE(b,d)|0)==-1){g=-1;break}}g=(hE(b,d,97678)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Xz(f,l)|0;g=0}while(0);return g|0}function zE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=82;break}case 1:{g=83;break}case 3:case 2:{g=84;break}default:{}}b=vb[g&127](a,b)|0;if(!b)b=-1;else{DE(a,b,d,e,g,f);b=0}return b|0}function AE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=jB(a,b,0)|0;return b|0}function BE(a,b){a=a|0;b=b|0;if((uC(b)|0)!=(a|0))b=lC(a,b,0)|0;return b|0}function CE(a,b){a=a|0;b=b|0;return a|0}function DE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)rb[c&127](a,b,d);g=MD(a)|0;while(1){if(!g)break;i=vb[e&127](g,b)|0;if(i|0)DE(g,i,c,d,e,f);g=ND(g)|0}if(!h)rb[c&127](a,b,d);return}function EE(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+1200|0;s=u+800|0;h=u;c[47034]=0;c[47035]=-2;f=s;i=200;n=h;o=0;p=0;g=s;a:while(1){b[g>>1]=o;if((f+(i<<1)+-2|0)>>>0>g>>>0){q=i;r=f;k=h}else{m=(g-f>>1)+1|0;if(i>>>0>9999){t=76;break}j=i<<1;j=j>>>0<1e4?j:1e4;e=k6(j*6|3)|0;if(e){B6(e|0,f|0,m<<1|0)|0;i=e+(j>>>1<<2)|0;B6(i|0,n|0,m<<2|0)|0;if((f|0)==(s|0)){k=0;f=e}else{l6(f);k=0;f=e}}else{k=4;i=n}e=(k|0)==0;switch((e?((j|0)>(m|0)?0:9):k)&15){case 9:{e=1;t=77;break a}case 4:{t=76;break a}case 0:{q=j;r=f;k=e?i+(m<<2)+-4|0:h;n=i;g=e?f+(m<<1)+-2|0:g;break}default:{e=0;break a}}}if((o|0)==6){e=0;f=r;t=77;break}e=a[97682+o>>0]|0;i=e<<24>>24;j=(p|0)!=0;do if(e<<24>>24!=-18){f=c[47035]|0;if((f|0)==-2){f=kD()|0;c[47035]=f}if((f|0)>=1)if(f>>>0<269)h=d[97762+f>>0]|0;else h=2;else{c[47035]=0;h=0}f=h+i|0;if(f>>>0<=59?(d[98031+f>>0]|0)==(h|0):0){o=a[98091+f>>0]|0;e=o<<24>>24;if(o<<24>>24<1){f=0-e|0;t=23;break}else{c[47035]=-2;h=k+4|0;c[h>>2]=c[47036];j=j?p+-1|0:0;break}}else t=22}else t=22;while(0);if((t|0)==22){t=0;o=a[98151+o>>0]|0;f=o&255;if(!(o<<24>>24)){do if(j)if((p|0)==3){f=c[47035]|0;if((f|0)<1)if(!f){e=1;f=r;t=77;break a}else{f=k;break}else{c[47035]=-2;f=k;break}}else f=k;else{c[47034]=(c[47034]|0)+1;FD(142682);f=k}while(0);while(1){if(e<<24>>24==18)break;if((g|0)==(r|0)){e=1;f=r;t=77;break a}e=g+-2|0;f=f+-4|0;g=e;e=a[97682+(b[e>>1]|0)>>0]|0}h=f+4|0;c[h>>2]=c[47036];e=1;j=3}else t=23}do if((t|0)==23){t=0;j=d[98231+f>>0]|0;e=c[k+(1-j<<2)>>2]|0;h=k+-4|0;i=k+-8|0;b:do switch(f|0){case 2:{FE();GE();break}case 3:{if(c[47037]|0){FE();GE();pB(c[47037]|0)|0;c[46985]=0;c[47037]=0}break}case 6:{HE(c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);break}case 7:{e=c[k>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[h>>2]|0)){JE();break b}else{IE();break b}case 24:{KE();break}case 25:{KE();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{LE(c[k>>2]|0,0,0);break}case 31:{LE(c[i>>2]|0,c[k>>2]|0,0);break}case 32:{LE(c[k+-16>>2]|0,c[i>>2]|0,c[k>>2]|0);break}case 33:{ME(c[i>>2]|0,c[h>>2]|0);break}case 34:{ME(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[h>>2]|0;break}case 39:{e=0;break}case 48:{NE(c[i>>2]|0,c[k>>2]|0);break}case 49:{NE(c[k>>2]|0,0);break}case 51:{OE(c[k>>2]|0);break}case 52:{PE();break}case 53:{e=c[k>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[k>>2]|0;break}case 60:{e=c[k>>2]|0;break}case 61:{e=c[k>>2]|0;break}case 62:{e=QE(c[i>>2]|0,c[k>>2]|0)|0;break}default:{}}while(0);h=0-j|0;o=k+(h<<2)|0;g=g+(h<<1)|0;h=o+4|0;c[o+4>>2]=e;e=(d[98294+f>>0]|0)+-24|0;o=b[g>>1]|0;f=o+(a[98357+e>>0]|0)|0;if(f>>>0<60?(d[98031+f>>0]|0)==(o|0):0){e=a[98091+f>>0]|0;j=p;break}e=a[98392+e>>0]|0;j=p}while(0);f=r;i=q;o=e;p=j;g=g+2|0}if((t|0)==76){FD(140861);e=2;t=77}if((t|0)==77)if((f|0)!=(s|0))l6(f);l=u;return e|0}function FE(){var a=0,b=0;a=c[47038]|0;while(1){if(!a)break;YE(a+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);b=RE(c[47038]|0)|0;c[47038]=b;a=b}return}function GE(){GD();QB(c[47037]|0);return}function HE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[47037]|0;if(!f){a[188156]=d&1|(e&255)<<1&2|a[188156]&-12|8;f=c[47040]|0;c[g>>2]=c[47039];f=lB(b,g,f)|0;c[47037]=f}c[46985]=f;c[47038]=SE(c[47038]|0,f)|0;fD(0,b)|0;l=h;return}function IE(){var b=0,d=0,e=0,f=0,g=0,h=0;XE(2);e=c[47038]|0;f=a[98427]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(f2(g,98427)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=gC(e)|0;while(1){if(!d)continue a;g=lC(c[c[47038]>>2]|0,d,0)|0;dF(g,0,c[b>>2]|0,h);d=hC(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;dF(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}YE((c[47038]|0)+8|0);YE((c[47038]|0)+16|0);YE((c[47038]|0)+24|0);c[(c[47038]|0)+4>>2]=0;return}function JE(){var a=0;XE(1);a=(c[47038]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;cF(c[a+4>>2]|0);a=a+12|0}YE((c[47038]|0)+8|0);YE((c[47038]|0)+24|0);YE((c[47038]|0)+16|0);c[(c[47038]|0)+4>>2]=0;return}function KE(){var a=0,b=0;a=c[47038]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=bF(b)|0;a=c[47038]|0}c[a+4>>2]=0}else{b=aF(b)|0;a=c[47038]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)UE(a+16|0,b);return}function LE(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=_E(b,d)|0;d=$E(qC(c[c[47038]>>2]|0,a,1)|0,b)|0;UE((c[47038]|0)+8|0,d);fD(c[47037]|0,a)|0;return}function ME(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)WE();d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))WE();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;XE(g);b=c[47038]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[47037]|0))){d=DA(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[47038]|0;if((c[b>>2]|0)!=(c[47037]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}YE(b+24|0);return}function NE(a,b){a=a|0;b=b|0;b=TE(a,b)|0;UE((c[47038]|0)+24|0,b);return}function OE(a){a=a|0;var b=0;b=c[47038]|0;c[47038]=SE(b,LD(c[b>>2]|0,a,1)|0)|0;fD(c[47037]|0,a)|0;return}function PE(){var a=0,b=0;a=c[47038]|0;b=c[a>>2]|0;a=RE(a)|0;c[47038]=a;c[a+4>>2]=b;return}function QE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=D3(a)|0;d=d+1+(D3(b)|0)|0;if(d>>>0<1025)d=f;else d=k6(d)|0;O3(d,a)|0;g6(d,b)|0;e=dD(c[47037]|0,d)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((d|0)!=(f|0))l6(d);l=g;return e|0}function RE(a){a=a|0;var b=0;b=c[(c[47038]|0)+32>>2]|0;bC(c[47037]|0,a);return b|0}function SE(a,b){a=a|0;b=b|0;var d=0;d=aC(c[47037]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function TE(a,b){a=a|0;b=b|0;return VE(267,a,b)|0}function UE(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function VE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=aC(c[47037]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function WE(){var a=0;a=l;l=l+16|0;dA(0,98431,a)|0;l=a;return}function XE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[47038]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[98427]|0):0)?!(f2(f,98427)|0):0)){h=DA(c[c[47038]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=DA(c[c[47038]>>2]|0,b,f,195341)|0;c[d>>2]=266;fD(c[47037]|0,f)|0}d=d+12|0}return}function YE(a){a=a|0;ZE(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function ZE(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{ZE(c[a+4>>2]|0);break}case 266:case 267:{fD(c[47037]|0,c[a+8>>2]|0)|0;break}default:{}}bC(c[47037]|0,a);a=b}return}function _E(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=D3(a)|0;d=d+2+(D3(b)|0)|0;if(d>>>0<1025)e=g;else e=k6(d)|0;c[f>>2]=a;c[f+4>>2]=b;i2(e,98464,f)|0;d=dD(c[47037]|0,e)|0;fD(c[47037]|0,a)|0;fD(c[47037]|0,b)|0;if((e|0)!=(g|0))l6(e);l=h;return d|0}function $E(a,b){a=a|0;b=b|0;return VE(259,a,b)|0}function aF(a){a=a|0;return VE(265,a,0)|0}function bF(a){a=a|0;return VE(262,a,0)|0}function cF(a){a=a|0;var b=0,d=0;b=(c[47038]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)HA(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function dF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=gC(d)|0;while(1){if(!f)break a;eF(a,b,lC(c[c[47038]>>2]|0,f,0)|0,0,e);f=hC(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=lC(c[c[47038]>>2]|0,c[f+4>>2]|0,0)|0;eF(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function eF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=fB(c[c[47038]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;fF(d,111756,a?e:b);fF(d,111765,a?b:e);cF(d)}return}function fF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=DA(c[c[47038]>>2]|0,2,b,0)|0;if(!e)e=DA(c[c[47038]>>2]|0,2,b,195341)|0;HA(a,e,d)|0}return}function gF(a,b,d){a=a|0;b=b|0;d=d|0;c[47005]=b;c[47037]=a;c[46985]=0;a=d|0?d:18644;c[47040]=a;jD(a,b);EE()|0;a=c[46985]|0;if(!a){ID();a=c[46985]|0}return a|0}function hF(a,b){a=a|0;b=b|0;return gF(0,a,b)|0}function iF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;d=c[b+76>>2]|0;f=c[b>>2]|0;i=b+12|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){db[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)jF(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15840];g=12;break}f=f4(e,106813)|0;c[h>>2]=f;if(!f){k=c[(c[i>>2]|0)+16>>2]|0;i=c[d>>2]|0;d=v2(c[(L1()|0)>>2]|0)|0;c[j>>2]=i;c[j+4>>2]=d;lb[k&63](98470,j);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{lb[c[(c[i>>2]|0)+16>>2]&63](98508,k);d=1}l=m;return d|0}function jF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;i2(g,98526,e)|0}e=c[b+20>>2]|0;e=e|0?e:98530;d=D3(e)|0;i=D3(g)|0;f=b+52|0;i=d+1+i+(D3(c[f>>2]|0)|0)|0;d=i+11|0;if((c[47041]|0)>>>0<(i+1|0)>>>0){c[47041]=d;d=n6(c[47042]|0,d)|0;c[47042]=d}else d=c[47042]|0;O3(d,e)|0;g6(c[47042]|0,g)|0;d=c[47042]|0;d=d+(D3(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=Y3(c[f>>2]|0)|0;f=c[47042]|0;while(1){e=I4(d,58)|0;if(!e)break;g6(f,e+1|0)|0;i=c[47042]|0;g=i+(D3(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}g6(f,d)|0;l6(d);c[b+32>>2]=c[47042];l=h;return}function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;if((b|0)!=0&(d|0)!=0){f=a+12|0;if(c[a+152>>2]&1024|0){lb[c[(c[f>>2]|0)+16>>2]&63](98508,g);$a(1)}if((lF(a,b,d)|0)==(d|0))e=d;else{g=c[(c[f>>2]|0)+16>>2]|0;c[h>>2]=d;lb[g&63](98540,h);$a(1)}}else e=0;l=i;return e|0}function lF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=_3(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=n6(h,g)|0;c[j>>2]=f;if(!f){lb[c[(c[b+12>>2]|0)+16>>2]&63](98565,n);$a(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);B6(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=eb[f&63](b,d,e)|0;while(0);l=o;return e|0}function mF(a,b){a=a|0;b=b|0;var c=0;c=D3(b)|0;b=(kF(a,b,c)|0)==(c|0);return (b?1:-1)|0}function nF(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(kF(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function oF(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=m4(d)|0;else b=0;return b|0}function pF(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);oF(a)|0;return}function qF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){lb[c[(c[a+12>>2]|0)+16>>2]&63](98592,e);$a(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)db[b&127](a);else{oF(a)|0;rF(a)}l=e;return}function rF(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15840]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){l4(f)|0;c[e>>2]=0}c[d>>2]=0}return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=k2(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=IK(e+1|0)|0;c[g>>2]=d;f=e;e=j2(e,b,g)|0}else f=h;kF(a,f,e)|0;if((f|0)!=(h|0))l6(f)}else{c[f>>2]=v2(c[(L1()|0)>>2]|0)|0;dA(1,98609,f)|0}l=i;return}function tF(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,b)|0;kF(a,f,c[e>>2]|0)|0;l=d;return}function uF(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~(d+(d<0.0?-.5:.5));if(!f){f=138697;e=1}else{l=(f|0)<0;k=4;i=0;e=195106;f=l?0-f|0:f;while(1){h=e+-1|0;if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){a[h>>0]=45;e=h}f=e;e=195106-e|0}}else{f=98624;e=18}else{f=98623;e=19}c[b>>2]=e;return f|0}function vF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=uF(e,+h[b>>3])|0;kF(a,f,c[e>>2]|0)|0;kF(a,102905,1)|0;b=uF(e,+h[b+8>>3])|0;kF(a,b,c[e>>2]|0)|0;l=d;return}function wF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vF(a,f);e=e+1|0;if((e|0)>=(d|0))break;kF(a,102905,1)|0}l=g;return}function xF(a,b){a=a|0;b=b|0;var d=0;d=HK(392)|0;if(d|0){c[d>>2]=20200;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function yF(a){a=a|0;var b=0,d=0,e=0,f=0;b=HK(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function zF(a){a=a|0;GF(a);l6(a);return}function AF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47043]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47043]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47043]=d;c[d+32>>2]=b;c[d>>2]=a;return}function BF(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[47044]|0;if(e){d=c[e+4>>2]|0;if(!d){d=HK(632)|0;c[(c[47044]|0)+4>>2]=d}}}else{d=HK(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[47044]=d;c[d+52>>2]=b;c[d>>2]=a;return (JF(a,3,b)|0)!=0|0}function CF(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function DF(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function EF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function FF(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)l6(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function GF(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;FF(b+604|0);FF(b+592|0);l6(c[b+584>>2]|0);l6(c[b+588>>2]|0);l6(b);b=e}c[47044]=0;c[47043]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function HF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+128|0;j=m+64|0;k=m;N4(j,e,63)|0;i=F3(j,58)|0;if(i|0)a[i>>0]=0;d=b+60+(d<<2)|0;while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if((f2(j,k)|0)<1)break;d=c[d>>2]|0}while(1){b=c[d>>2]|0;if(!b)break;N4(k,c[b+4>>2]|0,63)|0;b=F3(k,58)|0;if(b|0)a[b>>0]=0;if(f2(j,k)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)>(f|0))d=b;else break}k=IK(20)|0;c[k>>2]=c[d>>2];c[d>>2]=k;c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;c[k+16>>2]=h;l=m;return 1}function IF(a,b){a=a|0;b=b|0;b=l;l=l+16|0;dA(1,98697,b)|0;l=b;return 0}function JF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;N4(o,e,63)|0;e=F3(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=F3(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}N4(p,c[e+4>>2]|0,63)|0;e=F3(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(f2(p,o)|0)){g=(e|0)!=0;if(i&g?f2(e,f)|0:0)break;if(!j?f2(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(JF(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;f=e+16|0;g=b+8|0;if(e){if((c[f>>2]|0)==0?(IF(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[g>>2]|0)>0){q=c[15715]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20212+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;z4(q,98728,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function KF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5058]|0){hA(188180,0,0);c[5058]=0}h=Y3(e)|0;e=F3(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(C3(h,d)|0)!=0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=58;kA(188180,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}l6(d);g=c[g>>2]|0}l6(h);if(e<<24>>24){g=0;i=19}}else{l6(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=Y3(c[b+4>>2]|0)|0;b=F3(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(C3(g,d)|0)==0:0)){e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}c[47046]=e+1;a[e>>0]=32;kA(188180,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=195341;break}}e=c[47046]|0;if(e>>>0>=(c[47047]|0)>>>0){iA(188180,1)|0;e=c[47046]|0}a[e>>0]=0;e=c[47045]|0;c[47046]=e}while(0);return e|0}function LF(b){b=b|0;var d=0;if(!b)Aa(111509,98745,573,98759);if(!(a[b>>0]|0))Aa(111514,98745,574,98759);d=c[47049]|0;if(!d)b=0;else b=eb[c[d>>2]&63](d,b,512)|0;return b|0}function MF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)Aa(111613,98745,589,98776);g=b+8|0;e=c[g>>2]|0;if(!e)Aa(111616,98745,590,98776);if(!(a[e>>0]|0))Aa(111625,98745,591,98776);h=b+20|0;f=c[h>>2]|0;do if(!f){d=kP(e)|0;if(!d){c[i>>2]=c[g>>2];dA(0,98800,i)|0;d=0;break}i=f4(d,139124)|0;c[h>>2]=i;if(!i){c[j>>2]=v2(c[(L1()|0)>>2]|0)|0;c[j+4>>2]=d;dA(0,98825,j)|0;d=0;break}d=c[47050]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[47050]=d+1;d=1;break}}else{y4(f,0,0)|0;if(!(c[h>>2]|0))Aa(98846,98745,614,98776);else d=1}while(0);l=k;return d|0}function NF(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){l4(e)|0;c[d>>2]=0}return}function OF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0;if(!b){e=-1;d=-1}else{i=c[b+48>>2]|0;e=d+8|0;f=+(i|0);if(!i){g=+h[d>>3];f=+h[e>>3]}else{h[e>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function PF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+48|0;f=n+16|0;j=n;k=n+32|0;m=b+4|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if(((c[47179]|0)==0?(g=c[47178]|0,(c[47051]|0)!=(g|0)):0)?(c[47051]=g,i=c[47049]|0,i|0):0){Oz(i)|0;c[47049]=0}o=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];o=!(o>=1.0)?96.0:o;h[j+8>>3]=o;h[j>>3]=o;d=QF(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];OF(k,d,f);d=c[k+4>>2]|0;f=c[k>>2]|0}else{d=-1;f=-1}c[b>>2]=f;c[m>>2]=d;l=n;return}function QF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)Aa(111509,98745,638,98852);if(!(c[47049]|0))c[47049]=Sz(20236,c[4599]|0)|0;b=LF(a)|0;a:do if(!b){b=HK(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=dD(0,a)|0;if(!((MF(b)|0)<<24>>24)){RF(b);b=0;break}if(!(c[b+20>>2]|0))Aa(98846,98745,653,98852);do switch(SF(b)|0){case 0:{a=gN(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];dA(0,98869,e)|0;RF(b);b=0;break a}break}case 2:{TF(b);break}case 3:{UF(b);break}case 1:{VF(b);break}case 4:{WF(b);break}case 6:{XF(b);break}case 11:{YF(b);break}case 8:{ZF(b);break}case 5:{_F(b);break}case 12:{$F(b);break}default:{}}while(0);NF(b);e=c[47049]|0;eb[c[e>>2]&63](e,b,1)|0}}else NF(b);while(0);l=f;return b|0}function RF(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)fD(0,b)|0;l6(a);return}function SF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;e=j+200|0;f=j;g=a+20|0;b=c[g>>2]|0;h=a+24|0;d=a+28|0;a:do if((b|0)!=0?(X5(e,1,20,b)|0)==20:0){b=0;while(1){if(b>>>0>=10){i=13;break a}if(!(g2(e,c[20272+(b<<4)>>2]|0,c[20272+(b<<4)+4>>2]|0)|0))break;b=b+1|0}c[d>>2]=c[20272+(b<<4)+12>>2];a=c[20272+(b<<4)+8>>2]|0;c[h>>2]=a;switch(b|0){case 7:break;case 8:{if(g2(e+8|0,99085,4)|0)break a;c[d>>2]=99090;c[h>>2]=11;a=11;break a}default:break a}while(1){if(!(o4(f,200,c[g>>2]|0)|0)){i=11;break}if(!(g2(f,99080,4)|0)){i=8;break}}if((i|0)==8){c[d>>2]=102104;c[h>>2]=8;a=8;break}else if((i|0)==11){a=c[h>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[d>>2]=99095;c[h>>2]=0;a=0}l=j;return a|0}function TF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((iG(c[e>>2]|0,2,b)|0)<<24>>24?(iG(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function UF(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,16,0)|0;if((aG(c[e>>2]|0,4,b)|0)<<24>>24?(aG(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function VF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;y4(c[g>>2]|0,16,0)|0;if((((iG(c[g>>2]|0,2,b)|0)<<24>>24?(iG(c[g>>2]|0,2,d)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,e)|0)<<24>>24:0)?(iG(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function WF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;b=o+16|0;e=o+12|0;j=o+8|0;k=o+4|0;m=o;c[a+48>>2]=0;n=a+20|0;while(1){if(!((aG(c[n>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(F3(99068,d)|0)continue;if((d|0)==192){i=6;break}f=c[n>>2]|0;if((d|0)==194){i=11;break}if(!((aG(f,2,e)|0)<<24>>24))break;y4(c[n>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((i|0)==6){d=a+40|0;b=a+44|0;if(((aG(c[n>>2]|0,3,m)|0)<<24>>24?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[b>>2]=c[j>>2];c[d>>2]=c[k>>2]}}else if((((i|0)==11?(g=a+40|0,h=a+44|0,(aG(f,3,m)|0)<<24>>24):0)?(aG(c[n>>2]|0,2,j)|0)<<24>>24:0)?(aG(c[n>>2]|0,2,k)|0)<<24>>24:0){c[h>>2]=c[j>>2];c[g>>2]=c[k>>2]}l=o;return}function XF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;y4(c[i>>2]|0,0,0)|0;while(1){if(!(o4(b,1024,c[i>>2]|0)|0))break;d=C4(b,99053)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((q4(d,104612,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function YF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;b=h+4|0;e=h;c[a+48>>2]=0;f=a+20|0;y4(c[f>>2]|0,15,0)|0;i=(S5(c[f>>2]|0)|0)==88;g=c[f>>2]|0;d=a+40|0;a=a+44|0;if(i){y4(g,24,0)|0;if((iG(c[f>>2]|0,4,b)|0)<<24>>24?(iG(c[f>>2]|0,4,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}else{y4(g,26,0)|0;if((iG(c[f>>2]|0,2,b)|0)<<24>>24?(iG(c[f>>2]|0,2,e)|0)<<24>>24:0){c[d>>2]=c[b>>2];c[a>>2]=c[e>>2]}}l=h;return}function ZF(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[47052]|0)){if(X4(188212,98938,1)|0){c[d>>2]=98938;dA(1,98965,d)|0}c[47052]=188212}m=b+20|0;y4(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(o4(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(M5(188212,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(f2(e,141419)|0))break;if(!(f2(e,141351)|0))break c;if(f2(e,99012)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((q4(f,99020,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((q4(f,99002,A)|0)!=2){c[D>>2]=s;if((q4(f,101510,D)|0)==1){e=1;f=hG(+h[s>>3],99009)|0}else{e=g;f=j}}else{e=1;f=hG(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((q4(f,99002,E)|0)!=2){c[B>>2]=s;if((q4(f,101510,B)|0)==1){d=1;e=hG(+h[s>>3],99009)|0}else e=k}else{d=1;e=hG(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]-+h[t>>3]+1.0)>>>0;e=~~(+h[w>>3]-+h[u>>3]+1.0)>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function _F(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,0,0)|0;if(!(bG(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function $F(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;y4(c[e>>2]|0,6,0)|0;if((aG(c[e>>2]|0,1,b)|0)<<24>>24?(aG(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function aG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(o4(e,1024,a)|0)){a=1;break}f=C4(e,98928)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=cG(d,b)|0}l=h;return a|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;dG(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(eG(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,fG(b,f),(gG(f,d)|0)==0):0)?(fG(b,f),(gG(f,d+8|0)|0)==0):0)?(fG(b,f),(gG(f,d+16|0)|0)==0):0){fG(b,f);e=(gG(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function dG(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(eG(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(X1(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function eG(b){b=b|0;var d=0;d=b+4|0;if(!(o4(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function fG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;dG(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(eG(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function gG(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+b6(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function hG(a,b){a=+a;b=b|0;var c=0.0,d=0.0;d=a*72.0;do if(!(f2(b,99036)|0)){c=d;a=d>=0.0?.5:-.5}else{if(!(f2(b,99039)|0)){a=d/96.0;c=a;a=a>=0.0?.5:-.5;break}if(!(f2(b,99042)|0)){a=d/6.0;c=a;a=a>=0.0?.5:-.5;break}if(f2(b,99009)|0?f2(b,99045)|0:0)if(!(f2(b,99047)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(f2(b,99050)|0)==0;d=a*2.8346456663999997;return (b?~~(d+(d>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function iG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=S5(a)|0;if(p4(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function jG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)l4(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)db[e&127](b);l6(b);return}function kG(){var a=0;DA(0,1,108525,105794)|0;a=xF(0,1)|0;_S(a,0);return a|0}function lG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0;m=l;l=l+304|0;k=m+24|0;j=m+8|0;f=m;i=m+40|0;if((tS(b,e)|0)!=999)if((uS(b,d)|0)==-1)b=-1;else{n=c[d+16>>2]|0;p=+h[n+32>>3];q=+h[n+16>>3];r=+h[n+24>>3];o=+h[n+40>>3];b=~~(r+(r>=0.0?.5:-.5));e=~~(q+(q>=0.0?.5:-.5));f=~~(p+(p>=0.0?.5:-.5));g=~~(o+(o>=0.0?.5:-.5));if(!(a[(c[n+8>>2]|0)+81>>0]|0)){c[k>>2]=e;c[k+4>>2]=b;c[k+8>>2]=f;c[k+12>>2]=g;i2(i,99200,k)|0}else{c[j>>2]=b;c[j+4>>2]=e;c[j+8>>2]=g;c[j+12>>2]=f;i2(i,99200,j)|0}QA(d,102972,i,195341)|0;b=0}else{b=KF(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;dA(1,111534,f)|0;b=-1}l=m;return b|0}function mG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;d=c[a+164>>2]|0;c[d+56>>2]=HR(d,c[d+52>>2]|0)|0;b=d+152|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){c[d+36>>2]=e;if(!e)c[b>>2]=c[b>>2]|134217728;b=QJ(a,f)|0;JR(d);GF(a)}l=i;return b|0}function nG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;BF(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=HR(b,c[b+52>>2]|0)|0;if((RC(f,137786,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){gA(99212,g);b=-1}else h=5;if((h|0)==5){AF(a,e);h=QJ(a,f)|0;JR(b);qF(b);GF(a);b=h}l=i;return b|0}function oG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;BF(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=HR(j,c[j+52>>2]|0)|0;if((RC(b,137786,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){gA(99212,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=k6(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=QJ(a,b)|0;JR(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}GF(a);break}dA(1,99233,h)|0;b=-1}while(0);l=m;return b|0}function pG(a,b){a=a|0;b=b|0;YS(a,0,b);return}function qG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0;G=l;l=l+4288|0;C=G+8|0;B=G;E=4;F=k6(40)|0;c[F>>2]=0;y=G+4152|0;z=G+4148|0;A=G+4128|0;j=G+4112|0;k=G+16|0;o=0;i=la(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=aa(32,e|0,z|0,y|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;m=la(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;ba(16,A|0,j|0,k|0,24,85);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)!=1){j=A+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;ra(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}o=0;g=ra(86,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){x=0;w=j;v=m;u=n;g=D;m=15;break a}}F=x6(188244,1,F|0,E|0)|0;E=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){x=m;w=j;v=m;u=n;g=D;m=15}else{x=m;w=j;v=m;u=n;g=0;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=m;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=n;g=D;m=15}}else{x=0;w=0;v=0;u=0;g=D;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}t=u+(c[z>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=A6(c[h>>2]|0,F|0,E|0)|0;if(!i)Ca(h|0,p|0);D=p}else i=-1;if((i|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[B>>2]=j;aa(33,t|0,137696,B|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;i=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,i|0,137786,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}c[x+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;pa(54,b|0,e|0,i|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}}else i=m;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}m=i}o=0;e=la(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}i=10;q=x;n=v;s=v;while(1){if(!e){e=0;m=q;i=s;break c}o=0;g=ra(c[w>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=A6(c[h>>2]|0,F|0,E|0)|0;if(!m)Ca(h|0,p|0);D=p}else m=-1;if((m|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if(!g){o=0;c[C>>2]=j;aa(33,t|0,137696,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;r=aa(34,b|0,u|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(53,r|0,137786,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=A6(c[h>>2]|0,F|0,E|0)|0;if(!g)Ca(h|0,p|0);D=p}else g=-1;if((g|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}o=0;pa(54,b|0,e|0,r|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=ra(87,n|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=m;n=m;h=m}else{g=q;h=s}c[g+(j<<2)>>2]=r;q=g;j=j+1|0;m=h}else m=s;o=0;e=ra(86,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}s=m}}else{e=1;k=0;m=x;j=0;i=v}while(0);o=0;$(108,A|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}if((u|0)!=(y|0)){o=0;$(105,u|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}}if(!e){o=0;g=ra(87,i|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;la(26,c[m+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=A6(c[h>>2]|0,F|0,E|0)|0;if(!e)Ca(h|0,p|0);D=p}else e=-1;if((e|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15;continue b}g=g+1|0}o=0;$(105,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,F|0,E|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){r=u;s=v;t=w;m=x;g=D;u=r;v=s;w=t;x=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);l6(F|0);l=G;return g|0}function rG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(!((a|0)!=0?(AG(a)|0)!=0:0))a=99289;f=D3(a)|0;e=f+25|0;if((e|0)>=129){d=IK(e)|0;if(!d)d=0;else g=6}else g=6;if((g|0)==6){O3(d,a)|0;c[b>>2]=f}return d|0}function sG(a,b){a=a|0;b=b|0;lC(b,a,1)|0;return}function tG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function vG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;yG(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=zG(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)lb[f&63](k,d);h=ZA(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(vb[c[j>>2]&127](f,-1)|0))yG(e,f);h=_A(a,h,k)|0}}return b|0}function wG(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;xG(a);a=b}return}function xG(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function yG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=IK(16)|0;if(!e){dA(1,99270,f)|0;Ca(188244,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=IK(4e6)|0;c[e>>2]=d;if(!d){dA(1,99270,j)|0;Ca(188244,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}vb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function zG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function AG(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(O2(c&255)|0)){b=0;break}}return b|0}function BG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+4272|0;w=z;x=4;y=k6(40)|0;c[y>>2]=0;t=z+4144|0;u=z+4140|0;v=z+4120|0;h=z+4104|0;i=z+8|0;o=0;f=la(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=A6(c[g>>2]|0,y|0,x|0)|0;if(!e)Ca(g|0,p|0);D=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=aa(32,d|0,u|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;j=la(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;ba(16,v|0,h|0,i|0,24,85);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1){h=v+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;ra(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}o=0;e=ra(86,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){s=h;r=j;q=k;e=D;j=14;break a}}y=x6(188244,1,y|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){s=h;r=j;q=k;e=D;j=14}else{s=h;r=j;q=k;e=0;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=j;q=k;e=D;j=14}}else{s=0;r=0;q=k;e=D;j=14}}else{d=0;e=0}else{s=0;r=0;q=0;e=D;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;$(108,v|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;$(105,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0)){d=0;e=0;break b}o=0;$(105,q|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}else{j=19;break}}o=0;f=la(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,y|0,x|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}n=q+(c[u>>2]|0)|0;m=10;i=r;e=0;j=r;while(1){if(!f)break;o=0;d=ra(c[s>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=A6(c[g>>2]|0,y|0,x|0)|0;if(!h)Ca(g|0,p|0);D=p}else h=-1;if((h|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if(!d){o=0;c[w>>2]=e;aa(33,n|0,137696,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;k=aa(34,a|0,q|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(53,k|0,137786,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}o=0;pa(54,a|0,f|0,k|0,v|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}if((e|0)==(m|0)){h=e<<1;o=0;i=ra(87,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}g=i;d=i}else{h=m;g=i;d=j}c[g+(e<<2)>>2]=k;e=e+1|0;i=g;j=d}else h=m;o=0;f=ra(86,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=A6(c[d>>2]|0,y|0,x|0)|0;if(!g)Ca(d|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue c}m=h}o=0;$(108,v|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,y|0,x|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}o=0;d=ra(87,j|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14;continue}if((q|0)==(t|0))break b;o=0;$(105,q|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,y|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){m=q;n=r;j=s;e=D;q=m;r=n;s=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;l6(y|0);l=z;return d|0}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=gC(a)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if(lC(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){jB(a,e,1)|0;d=d+1|0}e=WA(b,e)|0}f=hC(a,f)|0}return d|0}function DG(a){a=a|0;a=PC(a,99294,0)|0;if(!a)Aa(99299,99302,529,99311);else return c[a+8>>2]|0;return 0}function EG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(qB(b)|0){WC(b,0,99320,-12,0);WC(b,1,99332,16,0);o=rG(e,f,t)|0;k=FG(b)|0;m=IK((qB(k)|0)<<2)|0;uG(p,u+4144|0,u+48|0,24,88);h=gC(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15715]|0;e=0;while(1){if(!h)break;if(!(vb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;i2(i,100234,q)|0;v=LD(k,o,1)|0;w=LD(b,o,1)|0;RC(w,99320,12,0)|0;a[(PC(w,99320,0)|0)+8>>0]=1;f=vG(k,h,v,p)|0;HG(v,w);g=IG(w)|0;JG(b,w);c[m+(e<<2)>>2]=w;tC(k,v)|0;if(a[195234]|0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;z4(j,99344,r)|0}e=e+1|0}h=hC(k,h)|0}if(a[195234]|0){r=qB(b)|0;v=rB(b)|0;w=HB(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;z4(j,99374,s)|0}pB(k)|0;XC(b,0,99320);XC(b,1,99332);wG(p);f=KK(m,e<<2)|0;if((o|0)!=(t|0))l6(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function FG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=c[4660];g=lB(99421,g,0)|0;MG(g,a);b=gC(a)|0;while(1){if(!b)break;if(!(c[(PC(b,99332,0)|0)+12>>2]|0)){f=qC(g,HB(b)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=b;c[(PC(b,99332,0)|0)+12>>2]=f}b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;e=c[(PC(d,99332,0)|0)+12>>2]|0;b=UA(a,d)|0;while(1){if(!b)break;f=c[(PC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,99332,0)|0)+12>>2]|0;do if((f|0)!=(e|0))if(f>>>0>e>>>0){fB(g,e,f,0,1)|0;break}else{fB(g,f,e,0,1)|0;break}while(0);b=WA(a,b)|0}d=hC(a,d)|0}l=h;return g|0}function GG(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=gC(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)lC(b,f,1)|0;else{d=gC(f)|0;while(1){if(!d)break a;lC(b,d,1)|0;d=hC(f,d)|0}}while(0);e=hC(a,e)|0}return}function IG(a){a=a|0;return CG(a,c[a+60>>2]|0)|0}function JG(a,b){a=a|0;b=b|0;KG(a,b,0);return}function KG(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=MD(b)|0;while(1){if(!b)break;if((a[(PC(b,99320,0)|0)+8>>0]|0)==0?(f=LG(b,c,d)|0,f|0):0){if(g)e=(h2(HB(b)|0,108307,7)|0)==0;else e=1;KG(b,f,e&1)}b=ND(b)|0}return}function LG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=0;h=gC(a)|0;while(1){f=(e|0)==0;if(!h)break;g=qC(b,HB(h)|0,0)|0;if(g){if(f)e=LD(b,HB(a)|0,1)|0;lC(e,g,1)|0}h=hC(a,h)|0}if((d|0)!=0&f)e=LD(b,HB(a)|0,1)|0;if(e|0?(CG(e,a)|0,RA(a,e)|0,(h2(HB(e)|0,108307,7)|0)==0):0)c[(RC(e,99294,12,0)|0)+8>>2]=a;return e|0}function MG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=MD(b)|0;e=c[15715]|0;while(1){if(!d)break;a:do if(!(h2(HB(d)|0,108307,7)|0)){f=qC(a,HB(d)|0,1)|0;RC(f,99332,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=gC(d)|0;while(1){if(!b)break a;if(c[(PC(b,99332,0)|0)+12>>2]|0){k=HB(b)|0;j=HB(d)|0;i=HB(c[(PC(b,99332,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;z4(e,99424,g)|0}c[(PC(b,99332,0)|0)+12>>2]=f;b=hC(d,b)|0}}else MG(a,d);while(0);d=ND(d)|0}l=h;return}function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){OL(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){OL(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function OG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=PG(a,b,d,e)|0;break}m=IK(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;zP(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=HK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=NA(c[b+(d<<2)>>2]|0,99491)|0;if(g|0?(c[k>>2]=j,g=(q4(g,137696,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=QG(a,m,e)|0;if(c[h>>2]&2)l6(c[e+24>>2]|0)}else d=0;l6(m)}while(0);l=n;return d|0}function PG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0.0,L=0.0;H=l;l=l+144|0;C=H+136|0;B=H+64|0;G=H+48|0;w=H+40|0;v=H;u=H+120|0;A=H+104|0;D=H+96|0;E=c[g+20>>2]|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;a:do if((b|0)>=1){x=A+12|0;y=A+8|0;z=A+4|0;p=(E|0)==0;F=c[15715]|0;q=u+4|0;r=u+8|0;s=u+12|0;o=0;i=0;while(1){if((o|0)==(b|0))break;t=c[e+(o<<2)>>2]|0;zP(t);if(!p?(a[E+o>>0]|0)!=0:0){n=c[t+16>>2]|0;I=+h[n+16>>3];j=~~(I+(I>=0.0?.5:-.5));c[u>>2]=j;I=+h[n+24>>3];k=~~(I+(I>=0.0?.5:-.5));c[q>>2]=k;I=+h[n+32>>3];m=~~(I+(I>=0.0?.5:-.5));c[r>>2]=m;I=+h[n+40>>3];n=~~(I+(I>=0.0?.5:-.5));c[s>>2]=n;if(!i){c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2]}else{c[A>>2]=c[((j|0)<(c[A>>2]|0)?u:A)>>2];c[z>>2]=c[((k|0)<(c[z>>2]|0)?u:A)+4>>2];c[y>>2]=c[((m|0)>(c[y>>2]|0)?u:A)+8>>2];c[x>>2]=c[((n|0)>(c[x>>2]|0)?u:A)+12>>2]}i=i+1|0}if((d[195234]|0)>2){n=HB(t)|0;t=c[t+16>>2]|0;L=+h[t+16>>3];K=+h[t+24>>3];J=+h[t+32>>3];I=+h[t+40>>3];c[v>>2]=n;h[v+8>>3]=L;h[v+16>>3]=K;h[v+24>>3]=J;h[v+32>>3]=I;z4(F,99558,v)|0}o=o+1|0}r=IK(b<<5)|0;i=0;while(1){if((i|0)==(b|0))break;v=r+(i<<5)|0;u=(c[(c[e+(i<<2)>>2]|0)+16>>2]|0)+16|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[v+16>>2]=c[u+16>>2];c[v+20>>2]=c[u+20>>2];c[v+24>>2]=c[u+24>>2];c[v+28>>2]=c[u+28>>2];i=i+1|0}p=g+8|0;q=TG(b,r,c[p>>2]|0)|0;if(a[195234]|0){c[w>>2]=q;z4(F,99586,w)|0}if((q|0)>=1){o=(E|0)!=0;i=D+4|0;if(o){c[D>>2]=((c[y>>2]|0)+(c[A>>2]|0)|0)/2|0;c[i>>2]=((c[x>>2]|0)+(c[z>>2]|0)|0)/2|0}else{c[i>>2]=0;c[D>>2]=0}n=HK(b<<4)|0;m=g+16|0;i=0;while(1){if((i|0)>=(b|0))break;j=c[e+(i<<2)>>2]|0;k=n+(i<<4)|0;c[n+(i<<4)+12>>2]=i;if((c[m>>2]|0)==3){y=(c[j+16>>2]|0)+16|0;z=c[p>>2]|0;A=HB(j)|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[B+16>>2]=c[y+16>>2];c[B+20>>2]=c[y+20>>2];c[B+24>>2]=c[y+24>>2];c[B+28>>2]=c[y+28>>2];c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];UG(B,k,q,z,C,A)}else{c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];VG(f,j,k,q,g,C)}i=i+1|0}k=HK(b<<2)|0;i=0;while(1){if((i|0)>=(b|0))break;c[k+(i<<2)>>2]=n+(i<<4);i=i+1|0}k3(k,b,4,89);m=IL()|0;i=HK(b<<3)|0;b:do if(o){j=0;while(1){if((j|0)>=(b|0)){j=0;break}if(a[E+j>>0]|0){f=c[k+(j<<2)>>2]|0;g=i+(c[f+12>>2]<<3)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];XG(f,m,g,C)}j=j+1|0}while(1){if((j|0)>=(b|0))break b;if(!(a[E+j>>0]|0)){D=c[k+(j<<2)>>2]|0;YG(j,D,m,i+(c[D+12>>2]<<3)|0,q,c[p>>2]|0,r)}j=j+1|0}}else{j=0;while(1){if((j|0)>=(b|0))break b;E=c[k+(j<<2)>>2]|0;YG(j,E,m,i+(c[E+12>>2]<<3)|0,q,c[p>>2]|0,r);j=j+1|0}}while(0);l6(k);j=0;while(1){if((j|0)>=(b|0))break;l6(c[n+(j<<4)+4>>2]|0);j=j+1|0}l6(n);LL(m);l6(r);if((d[195234]|0)>1){j=0;while(1){if((j|0)>=(b|0))break a;D=c[i+(j<<3)>>2]|0;E=c[i+(j<<3)+4>>2]|0;c[G>>2]=j;c[G+4>>2]=D;c[G+8>>2]=E;z4(F,99602,G)|0;j=j+1|0}}}else i=0}else i=0;while(0);l=H;return i|0}function QG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;f=C;A=HK(b<<3)|0;y=c[e+4>>2]|0;B=e+28|0;z=(c[B>>2]&1|0)==0;v=(y|0)>0;w=b+-1|0;x=~~+R(+(+G(+(+(b|0)))));w=v?(w+y|0)/(y|0)|0:(w+x|0)/(x|0)|0;x=v?y:x;y=z?x:w;x=z?w:x;if(a[195234]|0){w=c[15715]|0;c[f>>2]=z?99497:99507;c[f+4>>2]=x;c[f+8>>2]=y;z4(w,99520,f)|0}u=HK((y<<3)+8|0)|0;v=HK((x<<3)+8|0)|0;w=HK(b*24|0)|0;j=e+8|0;f=0;i=w;while(1){if((f|0)>=(b|0))break;o=+h[d+(f<<5)+8>>3];n=+h[d+(f<<5)+24>>3];p=+((c[j>>2]|0)>>>0);h[i>>3]=+h[d+(f<<5)+16>>3]-+h[d+(f<<5)>>3]+p;h[i+8>>3]=n-o+p;c[i+16>>2]=f;f=f+1|0;i=i+24|0}t=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[t+(f<<2)>>2]=w+(f*24|0);f=f+1|0}f=c[e+24>>2]|0;if(!f)if(!(c[B>>2]&64)){k3(t,b,4,91);i=0;f=0;k=0}else{i=0;f=0;k=0}else{c[47100]=f;k3(t,b,4,90);i=0;f=0;k=0}while(1){if((k|0)>=(b|0)){g=0.0;f=0;break}e=c[t+(k<<2)>>2]|0;j=u+(f<<3)|0;p=+h[j>>3];o=+h[e>>3];h[j>>3]=p>o?p:o;j=v+(i<<3)|0;o=+h[j>>3];p=+h[e+8>>3];h[j>>3]=o>p?o:p;j=i+1|0;e=f+1|0;if(z){f=(e|0)==(y|0);i=f?j:i;f=f?0:e}else{s=(j|0)==(x|0);i=s?0:j;f=s?e:f}k=k+1|0}while(1){if((f|0)>(y|0)){g=0.0;f=x;break}s=u+(f<<3)|0;p=+h[s>>3];h[s>>3]=g;g=g+p;f=f+1|0}while(1){if((f|0)<=0)break;s=f+-1|0;p=+h[v+(s<<3)>>3];h[v+(f<<3)>>3]=g;g=g+p;f=s}h[v>>3]=g;i=0;f=0;s=0;while(1){if((s|0)>=(b|0))break;q=c[(c[t+(s<<2)>>2]|0)+16>>2]|0;g=+h[d+(q<<5)>>3];p=+h[d+(q<<5)+8>>3];m=+h[d+(q<<5)+16>>3];o=+h[d+(q<<5)+24>>3];k=c[B>>2]|0;j=u+(f<<3)|0;r=f+1|0;do if(!(k&4)){n=+h[u+(r<<3)>>3];if(!(k&8)){g=(n+ +h[j>>3]-m-g)*.5;break}else{g=n-(m-g);break}}else g=+h[j>>3];while(0);c[A+(q<<3)>>2]=~~g;j=v+(i<<3)|0;e=i+1|0;if(!(k&16)){g=+h[v+(e<<3)>>3];if(!(k&32))g=(g+ +h[j>>3]-o-p)*.5}else g=+h[j>>3]-(o-p);c[A+(q<<3)+4>>2]=~~g;if(z){f=(r|0)==(y|0);i=f?e:i;f=f?0:r}else{q=(e|0)==(x|0);i=q?0:e;f=q?r:f}s=s+1|0}l6(w);l6(t);l6(u);l6(v);l=C;return A|0}function RG(a,b){a=a|0;b=b|0;var d=0;d=c[47100]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function SG(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a+8>>3]+ +h[a>>3];d=+h[b+8>>3]+ +h[b>>3];return (e<d?1:(e>d)<<31>>31)|0}function TG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;r=t+80|0;s=t+48|0;q=t+8|0;n=t;m=(a*100|0)+-1|0;f=+(e<<1|0);o=0.0;p=0.0;e=0;while(1){if((e|0)>=(a|0))break;j=f+(+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]);k=f+(+h[b+(e<<5)+24>>3]-+h[b+(e<<5)+8>>3]);o=o-(j+k);p=p-j*k;e=e+1|0}j=+(m|0);k=o*o-j*4.0*p;if(!(k<0.0)){f=+G(+k);i=j*2.0;g=(f-o)/i;i=(-o-f)/i;e=~~g;e=(e|0)==0?1:e;if((d[195234]|0)>2){n=c[15715]|0;_3(99745,27,1,n)|0;h[q>>3]=j;h[q+8>>3]=o;h[q+16>>3]=p;h[q+24>>3]=k;h[q+32>>3]=f;z4(n,99773,q)|0;c[s>>2]=e;h[s+8>>3]=g;c[s+16>>2]=~~i;h[s+24>>3]=i;z4(n,99799,s)|0;h[r>>3]=p+(o*g+g*(j*g));h[r+8>>3]=p+(o*i+i*(j*i));z4(n,99821,r)|0}}else{h[n>>3]=k;dA(1,99718,n)|0;e=-1}l=t;return e|0}function UG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;v=l;l=l+32|0;u=v+16|0;t=v;q=+h[a>>3];r=+h[a+8>>3];o=+h[a+16>>3];p=+h[a+24>>3];s=IL()|0;k=c[g>>2]|0;a=k-f|0;m=c[g+4>>2]|0;j=m-f|0;k=f-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;m=f-~~(r+(r>=0.0?.5:-.5))+m+~~(p+(p>=0.0?.5:-.5))|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)n=(j|0)/(e|0)|0;else n=((j+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(e|0)|0;else k=((k+1|0)/(e|0)|0)+-1|0;if((m|0)>-1)j=(m|0)/(e|0)|0;else j=((m+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(k|0))break;else a=n;while(1){if((a|0)>(j|0))break;OL(s,g,a);a=a+1|0}g=g+1|0}m=b+4|0;c[m>>2]=SL(s)|0;k=RL(s)|0;n=b+8|0;c[n>>2]=k;x=+(f<<1|0);w=+(e|0);j=~~+R(+((x+(o-q))/w));a=~~+R(+((x+(p-r))/w));c[b>>2]=a+j;a:do if((d[195234]|0)>2){g=c[15715]|0;c[t>>2]=i;c[t+4>>2]=k;c[t+8>>2]=j;c[t+12>>2]=a;z4(g,99677,t)|0;a=0;while(1){if((a|0)>=(c[n>>2]|0))break a;i=c[m>>2]|0;t=c[i+(a<<3)+4>>2]|0;c[u>>2]=c[i+(a<<3)>>2];c[u+4>>2]=t;z4(g,99704,u)|0;a=a+1|0}}while(0);LL(s);l=v;return}function VG(a,b,e,f,g,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,S=0.0;P=l;l=l+128|0;G=P+112|0;F=P+104|0;O=P+16|0;N=P;I=P+64|0;J=P+56|0;A=P+40|0;B=P+96|0;z=P+88|0;w=P+24|0;x=P+80|0;y=P+72|0;L=c[g+8>>2]|0;H=c[g+12>>2]|0;D=(a|0)==0?b:a;M=IL()|0;K=b+16|0;C=c[K>>2]|0;u=+h[C+16>>3];E=(c[i>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;u=+h[C+24>>3];C=(c[i+4>>2]|0)-~~(u+(u>=0.0?.5:-.5))|0;a:do if((c[g+16>>2]|0)==1){w=IK((qB(b)|0)<<2)|0;a=0;i=gC(b)|0;while(1){if(!i)break;y=i+16|0;c[w+(a<<2)>>2]=c[(c[y>>2]|0)+112>>2];c[(c[y>>2]|0)+112>>2]=0;a=a+1|0;i=hC(b,i)|0}p=E-L|0;q=C-L|0;r=E+L|0;s=C+L|0;o=1;while(1){a=c[K>>2]|0;if((o|0)>(c[a+180>>2]|0))break;n=c[(c[a+184>>2]|0)+(o<<2)>>2]|0;j=c[n+16>>2]|0;u=+h[j+16>>3];a=~~(u+(u>=0.0?.5:-.5));u=+h[j+24>>3];i=~~(u+(u>=0.0?.5:-.5));u=+h[j+32>>3];g=~~(u+(u>=0.0?.5:-.5));u=+h[j+40>>3];j=~~(u+(u>=0.0?.5:-.5));b:do if((g|0)>(a|0)&(j|0)>(i|0)){a=p+a|0;k=q+i|0;g=r+g|0;m=s+j|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)k=(k|0)/(f|0)|0;else k=((k+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)j=(g|0)/(f|0)|0;else j=((g+1|0)/(f|0)|0)+-1|0;if((m|0)>-1)g=(m|0)/(f|0)|0;else g=((m+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=k;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}a=gC(n)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=n;a=hC(n,a)|0}}while(0);o=o+1|0}s=A+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=B+4|0;q=z+4|0;p=gC(b)|0;while(1){if(!p)break;hP(A,p);S=+h[A>>3];Q=+h[s>>3];n=~~(S+(S>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(Q+(Q>=0.0?.5:-.5))+C|0;c[t>>2]=o;i=p+16|0;a=c[i>>2]|0;c:do if(!(c[a+212>>2]|0)){c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(B,F,G);a=c[B>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(z,F,G);j=c[z>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}}else{if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break c;if((c[(c[i>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H)}a=WA(D,a)|0}}while(0);p=hC(b,p)|0}a=0;i=gC(b)|0;while(1){if(!i)break;c[(c[i+16>>2]|0)+112>>2]=c[w+(a<<2)>>2];a=a+1|0;i=hC(b,i)|0}l6(w)}else{s=w+8|0;t=I+4|0;u=+(L|0);v=J+4|0;r=x+4|0;q=y+4|0;p=gC(b)|0;while(1){if(!p)break a;hP(w,p);Q=+h[w>>3];S=+h[s>>3];n=~~(Q+(Q>=0.0?.5:-.5))+E|0;c[I>>2]=n;o=~~(S+(S>=0.0?.5:-.5))+C|0;c[t>>2]=o;a=c[p+16>>2]|0;c[J>>2]=~~(u+(+h[a+88>>3]+ +h[a+96>>3])*.5);c[v>>2]=~~(u+ +h[a+80>>3]*.5);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];_G(x,F,G);a=c[x>>2]|0;g=c[r>>2]|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];$G(y,F,G);j=c[y>>2]|0;k=c[q>>2]|0;if((a|0)>-1)i=(a|0)/(f|0)|0;else i=((a+1|0)/(f|0)|0)+-1|0;if((g|0)>-1)m=(g|0)/(f|0)|0;else m=((g+1|0)/(f|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(f|0)|0;else j=((j+1|0)/(f|0)|0)+-1|0;if((k|0)>-1)g=(k|0)/(f|0)|0;else g=((k+1|0)/(f|0)|0)+-1|0;while(1){if((i|0)>(j|0))break;else a=m;while(1){if((a|0)>(g|0))break;OL(M,i,a);a=a+1|0}i=i+1|0}if((n|0)>-1)a=(n|0)/(f|0)|0;else a=((n+1|0)/(f|0)|0)+-1|0;c[I>>2]=a;if((o|0)>-1)a=(o|0)/(f|0)|0;else a=((o+1|0)/(f|0)|0)+-1|0;c[t>>2]=a;a=UA(D,p)|0;while(1){if(!a)break;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];aH(a,G,M,E,C,f,H);a=WA(D,a)|0}p=hC(b,p)|0}}while(0);j=e+4|0;c[j>>2]=SL(M)|0;k=e+8|0;c[k>>2]=RL(M)|0;i=c[K>>2]|0;Q=+(L<<1|0);S=+(f|0);a=~~+R(+((Q+(+h[i+32>>3]-+h[i+16>>3]))/S));i=~~+R(+((Q+(+h[i+40>>3]-+h[i+24>>3]))/S));c[e>>2]=i+a;d:do if((d[195234]|0)>2){g=c[15715]|0;e=HB(b)|0;b=c[k>>2]|0;c[N>>2]=e;c[N+4>>2]=b;c[N+8>>2]=a;c[N+12>>2]=i;z4(g,99677,N)|0;a=0;while(1){if((a|0)>=(c[k>>2]|0))break d;b=c[j>>2]|0;N=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=N;z4(g,99704,O)|0;a=a+1|0}}while(0);LL(M);l=P;return}function WG(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function XG(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+16|0;j=k;m=c[a+4>>2]|0;h=c[a+8>>2]|0;c[e>>2]=0-(c[f>>2]|0);g=e+4|0;c[g>>2]=0-(c[f+4>>2]|0);a=0;f=m;while(1){if((a|0)>=(h|0))break;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];ML(b,i);a=a+1|0;f=f+8|0}if((d[195234]|0)>1){m=c[15715]|0;b=c[e>>2]|0;e=c[g>>2]|0;c[j>>2]=h;c[j+4>>2]=b;c[j+8>>2]=e;z4(m,99651,j)|0}l=k;return}function YG(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0,n=0.0,o=0.0;m=c[b+12>>2]|0;j=+h[i+(m<<5)+24>>3]-+h[i+(m<<5)+8>>3];k=+h[i+(m<<5)+16>>3]-+h[i+(m<<5)>>3];if(!((a|0)==0?(o=+(g<<1|0),n=+(f|0),(ZG((~~+R(+((o+k)/n))|0)/-2|0,(~~+R(+((o+j)/n))|0)/-2|0,b,d,e,f,i)|0)!=0):0))l=3;a:do if((l|0)==3?(ZG(0,0,b,d,e,f,i)|0)==0:0)if((~~+R(+k)|0)<(~~+R(+j)|0)){m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)<=(l|0)){g=l;break}if(ZG(l,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(m|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(l|0))break;if(ZG(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(ZG(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}m=m+1|0}}else{m=1;while(1){l=0-m|0;a=0;while(1){if((a|0)>=(m|0)){g=l;break}if(ZG(a,l,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(m|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(l|0))break;if(ZG(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(ZG(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}m=m+1|0}}while(0);return}function ZG(a,b,e,f,g,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;u=l;l=l+48|0;s=u+32|0;t=u+8|0;r=u;n=e+4|0;p=c[e+8>>2]|0;q=r+4|0;k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0)){o=5;break}w=k;v=c[w+4>>2]|0;c[r>>2]=(c[w>>2]|0)+a;c[q>>2]=v+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];if(PL(f,s)|0){k=0;break}k=k+8|0;m=m+1|0}if((o|0)==5){e=c[e+12>>2]|0;y=+h[j+(e<<5)>>3];x=+h[j+(e<<5)+8>>3];c[g>>2]=(S(i,a)|0)-~~(y+(y>=0.0?.5:-.5));e=g+4|0;c[e>>2]=(S(i,b)|0)-~~(x+(x>=0.0?.5:-.5));k=c[n>>2]|0;m=0;while(1){if((m|0)>=(p|0))break;v=k;w=c[v+4>>2]|0;c[r>>2]=(c[v>>2]|0)+a;c[q>>2]=w+b;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];ML(f,s);k=k+8|0;m=m+1|0}if((d[195234]|0)>1){k=c[15715]|0;v=c[g>>2]|0;w=c[e>>2]|0;c[t>>2]=p;c[t+4>>2]=a;c[t+8>>2]=b;c[t+12>>2]=v;c[t+16>>2]=w;z4(k,99617,t)|0;k=1}else k=1}l=u;return k|0}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function $G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function aH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;q=A+48|0;r=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);s=y+8|0;h[s>>3]=+(c[b+4>>2]|0);v=+(g|0);a:do if((i|0)!=0?(t=a+16|0,m=c[(c[t>>2]|0)+8>>2]|0,(m|0)!=0):0){p=+(e|0);o=+(f|0);i=z+8|0;e=0;while(1){if((e|0)>=(c[m+4>>2]|0))break a;n=c[m>>2]|0;b=c[n+(e*48|0)>>2]|0;g=c[n+(e*48|0)+4>>2]|0;f=c[n+(e*48|0)+8>>2]|0;a=c[n+(e*48|0)+12>>2]|0;m=n+(e*48|0)+16|0;c[q>>2]=c[m>>2];c[q+4>>2]=c[m+4>>2];c[q+8>>2]=c[m+8>>2];c[q+12>>2]=c[m+12>>2];n=n+(e*48|0)+32|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];if(!f){c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];m=b+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[q>>2];c[y+4>>2]=c[q+4>>2];c[y+8>>2]=c[q+8>>2];c[y+12>>2]=c[q+12>>2];c[z>>2]=c[b>>2];c[z+4>>2]=c[b+4>>2];c[z+8>>2]=c[b+8>>2];c[z+12>>2]=c[b+12>>2];m=1}j=p+ +h[y>>3];h[y>>3]=j;k=o+ +h[s>>3];h[s>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[s>>3]=j;j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);while(1){if((m|0)>=(g|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];f=b+(m<<4)|0;c[z>>2]=c[f>>2];c[z+4>>2]=c[f+4>>2];c[z+8>>2]=c[f+8>>2];c[z+12>>2]=c[f+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d);m=m+1|0}if(a|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[r>>2];c[z+4>>2]=c[r+4>>2];c[z+8>>2]=c[r+8>>2];c[z+12>>2]=c[r+12>>2];j=p+ +h[z>>3];h[z>>3]=j;k=o+ +h[i>>3];h[i>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[i>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}e=e+1|0;m=c[(c[t>>2]|0)+8>>2]|0}}else u=4;while(0);if((u|0)==4){hP(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+(e|0)+ +h[z>>3];h[z>>3]=j;m=z+8|0;k=+(f|0)+ +h[m>>3];h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/v+-1.0;else j=j/v;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/v+-1.0;else j=k/v;h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];NG(w,x,d)}l=A;return}function bH(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=QG(a,b,d)|0;break a}case 3:{a=cH(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function cH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+80|0;i=p+64|0;h=p+24|0;o=p+8|0;g=p;j=p+56|0;m=f+8|0;n=TG(b,e,c[m>>2]|0)|0;if(a[195234]|0){k=c[15715]|0;c[g>>2]=n;z4(k,99586,g)|0}a:do if((n|0)>=1){c[j+4>>2]=0;c[j>>2]=0;k=HK(b<<4)|0;f=0;while(1){if((f|0)>=(b|0))break;c[k+(f<<4)+12>>2]=f;q=e+(f<<5)|0;g=c[m>>2]|0;c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[h+16>>2]=c[q+16>>2];c[h+20>>2]=c[q+20>>2];c[h+24>>2]=c[q+24>>2];c[h+28>>2]=c[q+28>>2];c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];UG(h,k+(f<<4)|0,n,g,i,195341);f=f+1|0}h=HK(b<<2)|0;f=0;while(1){if((f|0)>=(b|0))break;c[h+(f<<2)>>2]=k+(f<<4);f=f+1|0}k3(h,b,4,89);i=IL()|0;f=HK(b<<3)|0;g=0;while(1){if((g|0)>=(b|0))break;q=c[h+(g<<2)>>2]|0;YG(g,q,i,f+(c[q+12>>2]<<3)|0,n,c[m>>2]|0,e);g=g+1|0}l6(h);g=0;while(1){if((g|0)>=(b|0))break;l6(c[k+(g<<4)+4>>2]|0);g=g+1|0}l6(k);LL(i);if((d[195234]|0)>1){h=c[15715]|0;g=0;while(1){if((g|0)>=(b|0))break a;e=c[f+(g<<3)>>2]|0;q=c[f+(g<<3)+4>>2]|0;c[o>>2]=g;c[o+4>>2]=e;c[o+8>>2]=q;z4(h,99602,o)|0;g=g+1|0}}}else f=0;while(0);l=p;return f|0}function dH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m/72.0;o=+(l|0);p=o/72.0;i=gC(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=n+ +h[t>>3];t=t+8|0;h[t>>3]=p+ +h[t>>3];t=f+16|0;h[t>>3]=m+ +h[t>>3];t=f+24|0;h[t>>3]=o+ +h[t>>3];f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=m+ +h[t>>3];t=f+64|0;h[t>>3]=o+ +h[t>>3]}b:do if(!q){f=UA(g,i)|0;while(1){if(!f)break b;eH(f,k,l);f=WA(g,f)|0}}while(0);i=hC(r,i)|0}fH(r,k,l);j=j+1|0}}while(0);return f|0}function eH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;m=+(b|0);l=+(d|0);if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+108>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+100>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}a=c[e+104>>2]|0;if(a|0){k=a+56|0;h[k>>3]=m+ +h[k>>3];k=a+64|0;h[k>>3]=l+ +h[k>>3]}j=c[e+8>>2]|0;a:do if(j|0){d=c[j+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;k=c[j>>2]|0;e=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;b=0;while(1){if((b|0)>=(f|0))break;n=e+(b<<4)|0;h[n>>3]=m+ +h[n>>3];n=e+(b<<4)+8|0;h[n>>3]=l+ +h[n>>3];b=b+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+24|0;h[n>>3]=l+ +h[n>>3]}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=m+ +h[n>>3];n=k+(a*48|0)+40|0;h[n>>3]=l+ +h[n>>3]}a=a+1|0}}while(0);return}function fH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=g+ +h[f>>3];i=+(e|0);n=i+ +h[m>>3];k=i+ +h[b>>3];h[o>>3]=g+ +h[o>>3];h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=g+ +h[o>>3];f=f+64|0;h[f>>3]=i+ +h[f>>3];f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;fH(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function gH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=OG(a,b,d,e)|0;if(!f)a=1;else{a=dH(a,b,f,d,c[e+12>>2]|0)|0;l6(f)}return a|0}function hH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=gH(a,b,d,e)|0;if(!n){zP(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[o>>3]=+h[(+h[o>>3]<+h[q>>3]?o:q)>>3];h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function iH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=l;l=l+16|0;g=h;if(!f)Aa(99835,99841,1400,99848);e=jH(b,e,e)|0;c[f+8>>2]=e;if(a[195234]|0){i=c[15715]|0;c[g>>2]=e;z4(i,99860,g)|0}c[f+12>>2]=0;c[f+20>>2]=0;kH(b,d,f)|0;l=h;return c[f+16>>2]|0}function jH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=NA(b,99990)|0;a:do if(g){c[h>>2]=f;h=(q4(g,137696,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function kH(a,b,c){a=a|0;b=b|0;c=c|0;return lH(NA(a,99873)|0,b,c)|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)Aa(99835,99841,1292,99882);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{d=b+5|0;if(!(h2(b,99900,5)|0)){c[p>>2]=4;m=mH(d,e)|0;c[k>>2]=j;m=(q4(m,137696,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(h2(b,99906,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(q4(d,99913,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}}case 99:{if(f<<24>>24!=99)break a;if(f2(b,108307)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(f2(b,111795)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(f2(b,111782)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(a[195234]|0){d=c[15715]|0;_3(99916,11,1,d)|0;c[s>>2]=nH(c[p>>2]|0)|0;z4(d,99928,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];z4(d,99941,t)|0}c[q>>2]=c[n>>2];z4(d,99954,q)|0;c[r>>2]=c[o>>2];z4(d,99967,r)|0}l=u;return c[p>>2]|0}function mH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function nH(a){a=a|0;switch(a|0){case 1:{a=108307;break}case 2:{a=111782;break}case 3:{a=111795;break}case 4:{a=99900;break}case 5:{a=99906;break}default:a=99980}return a|0}function oH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=m6(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=m6(100,j)|0}else{h=d+100|0;i=n6(c[e+8>>2]|0,S(h,j)|0)|0;u6(i+(S(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=pH(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=S(h,j)|0;if((a|0)==(h|0)){i=n6(i,S(f,j)|0)|0;u6(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(S(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){l6(i);l6(e);e=0;break}else{c[e+8>>2]=n6(i,S(d,j)|0)|0;break}}while(0);l=n;return e|0}function pH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+80|0;n=r+64|0;g=r;c[f>>2]=0;do{h=a[d>>0]|0;d=d+1|0}while((X1(h)|0)!=0);p=(e|0)!=0;j=e+4|0;k=g+8|0;q=b+72|0;m=e+8|0;o=e+40|0;i=b+8|0;a:do switch(h|0){case 69:{c[b>>2]=0;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 112:{c[b>>2]=3;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[j>>2];break}case 98:{c[b>>2]=4;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 66:{c[b>>2]=5;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[m>>2];break}case 99:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=9;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+24>>2];break a}else{c[b>>2]=14;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 67:{d=sH(d,n)|0;if(!d){c[f>>2]=1;d=0;break a}m=tH(c[n>>2]|0,g)|0;c[n>>2]=m;if(!m){c[f>>2]=1;d=0;break a}if(!(c[g>>2]|0)){c[b>>2]=8;c[i>>2]=c[k>>2];if(!p)break a;c[q>>2]=c[e+20>>2];break a}else{c[b>>2]=13;h=i+64|0;do{c[i>>2]=c[g>>2];i=i+4|0;g=g+4|0}while((i|0)<(h|0));if(!p)break a;c[q>>2]=c[o>>2];break a}}case 76:{c[b>>2]=6;d=rH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=vH(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=uH(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=uH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=sH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=qH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}d=sH(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=wH(d,i)|0;if(!d){c[f>>2]=1;d=0;break a}if(p)c[q>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=r;return d|0}function qH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+b6(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+b6(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+b6(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+b6(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function rH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=xH(a,j)|0;do if(a){d=c[j>>2]|0;i=m6(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+b6(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+b6(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==7){c[j>>2]=f;l6(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function sH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=xH(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){do{h=a[b>>0]|0;e=h<<24>>24==0;b=b+1|0}while(h<<24>>24!=45&(e^1));if(!e){h=m6(f+1|0,1)|0;g=h;e=f;while(1){if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0;b=b+1|0}if((e|0)==8){l6(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function tH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=a[b>>0]|0;f=d+8|0;g=b+1|0;switch(e|0){case 91:{b=yH(g,d)|0;break}case 40:{b=zH(g,d)|0;break}case 47:case 35:{c[d>>2]=0;c[f>>2]=b;break}default:if(!(O2(e)|0))b=0;else{c[d>>2]=0;c[f>>2]=b}}return b|0}function uH(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+b6(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function vH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=xH(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function wH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=_1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function xH(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=$1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function yH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=uH(a,n)|0;do if(((((i|0)!=0?(j=uH(i,b+16|0)|0,(j|0)!=0):0)?(e=uH(j,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=xH(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=m6(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=uH(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=sH(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){l6(f);a=0;break}else if((d|0)==12){l6(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function zH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=uH(a,b+8|0)|0;do if(((((((k|0)!=0?(m=uH(k,b+16|0)|0,(m|0)!=0):0)?(e=uH(m,b+24|0)|0,(e|0)!=0):0)?(f=uH(e,b+32|0)|0,(f|0)!=0):0)?(i=uH(f,b+40|0)|0,(i|0)!=0):0)?(j=uH(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=xH(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=m6(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=uH(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=sH(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){l6(i);a=0;break}else if((d|0)==14){l6(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function AH(a,b,c){a=a|0;b=b|0;c=c|0;return oH(a,b,c,0)|0}function BH(a){a=a|0;return AH(a,0,0)|0}function CH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(S(c[g>>2]|0,b)|0)|0;if(!h)db[e&127](d);DH(d);b=b+1|0}l6(f);l6(a)}return}function DH(a){a=a|0;var b=0,d=0;b=a+8|0;d=b+4|0;switch(c[a>>2]|0){case 3:case 2:{l6(c[d>>2]|0);break}case 5:case 4:{l6(c[d>>2]|0);break}case 6:{l6(c[d>>2]|0);break}case 7:{l6(c[a+40>>2]|0);break}case 9:case 8:{l6(c[b>>2]|0);break}case 14:case 13:{EH(b);break}case 10:{l6(c[a+16>>2]|0);break}case 11:{l6(c[b>>2]|0);break}case 12:{l6(c[a+40>>2]|0);break}default:{}}return}function EH(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[d+(a<<3)+4>>2]|0);a=a+1|0}l6(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;l6(c[b+(a<<3)+4>>2]|0);a=a+1|0}l6(b);break}default:{}}return}function FH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(uB(uC(b)|0)|0)!=0&1;f=c[47253]|0;a:do if(f|0?(h=OA(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20432;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(f2(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[47264]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=OA(b,f)|0,a[j>>0]|0):0)GH(j,e);f=c[47265]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=OA(b,f)|0,a[m>>0]|0):0)GH(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=uC(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;FH(fB(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function GH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;f=(j|0)<4;g=(j|0)==3;h=(j|0)==0;while(1){if(!(f&(a[b>>0]|0)!=0))break a;c[k>>2]=0;i=HH(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(g&b)){if(!(h&b)){b=e;break}if(a[i>>0]|0){b=8;break}}c[k>>2]=0;b=i}e=c[d>>2]|b<<(j<<3);j=j+1|0;b=i}if((n|0)==5){c[m>>2]=b;dA(0,99995,m)|0}l=o;return}function HH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=IH(a,20492,e)|0;if((d|0)==(a|0)){while(1){d=IH(a,20508,e)|0;if((a|0)==(d|0))break;else a=d}d=IH(a,20556,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function IH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=D3(e)|0;if(!(h2(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function JH(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=d+ +h[e+8>>3]}g=g+1|0}return +(d*10.0*+YO(a,c[47257]|0,1.0,0.0))}function KH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;n=s+80|0;r=s;m=f>4.0?f*.25*.35:.35;k=+h[d+8>>3];o=m*k;i=+h[d>>3];m=m*i;f=+h[b>>3];i=i+f;h[n>>3]=i;e=+h[b+8>>3];k=k+e;h[n+8>>3]=k;d=r+64|0;p=r+32|0;q=r+16|0;j=r+24|0;if(!(g&32)){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];h[q>>3]=o+i;h[j>>3]=k-m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];f=i;e=k}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[q>>3]=o+f;h[j>>3]=e-m;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2]}h[r+48>>3]=f-o;h[r+56>>3]=m+e;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,q,3,d);break}else{lS(a,p,3,d);break}else lS(a,r,3,d);while(0);l=s;return}function LH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0.0,C=0,D=0,E=0;D=l;l=l+160|0;A=D+144|0;C=D;u=e*4.0;E=(g&32|0)!=0;z=E^1;u=!(u<f)|z?.45:f/u*.45;w=!(f>1.0)|z?0.0:(f+-1.0)*.05/e;y=+h[d+8>>3];v=-y;B=u*v;x=+h[d>>3];u=u*x;v=w*v;w=w*x;f=+h[b>>3];s=x+f;h[A>>3]=s;t=+h[b+8>>3];e=y+t;h[A+8>>3]=e;x=f+x*.5;y=y*.5+t;d=C+128|0;i=x-v;j=y-w;z=C+48|0;k=C+64|0;m=C+40|0;n=C+32|0;o=C+24|0;p=C+16|0;q=C+80|0;r=C+56|0;if(E){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[C>>2]=c[b>>2];c[C+4>>2]=c[b+4>>2];c[C+8>>2]=c[b+8>>2];c[C+12>>2]=c[b+12>>2];h[p>>3]=s-B;h[o>>3]=e-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=s-v;h[r>>3]=e-w;c[k>>2]=c[A>>2];c[k+4>>2]=c[A+4>>2];c[k+8>>2]=c[A+8>>2];c[k+12>>2]=c[A+12>>2];h[q>>3]=v+s;i=w+e;f=s}else{c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];c[C>>2]=c[A>>2];c[C+4>>2]=c[A+4>>2];c[C+8>>2]=c[A+8>>2];c[C+12>>2]=c[A+12>>2];h[p>>3]=f-B;h[o>>3]=t-u;h[n>>3]=i;h[m>>3]=j;h[z>>3]=f;h[r>>3]=t;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];h[q>>3]=f;i=t;e=t}h[C+88>>3]=i;h[C+96>>3]=v+x;h[C+104>>3]=w+y;h[C+112>>3]=B+f;h[C+120>>3]=u+e;do if(!(g&64))if(!(g&128)){lS(a,C,9,1);break}else{lS(a,z,6,1);break}else lS(a,C,6,1);while(0);l=D;return}function MH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=s+k;m=+h[b+8>>3];f=t+m;i=k+s*.2;j=t*.2+m;k=k+s*.6;m=t*.6+m;h[p>>3]=i-t;h[p+8>>3]=s+j;n=p+16|0;h[n>>3]=t+i;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=t+k;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=s+m;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}lS(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;oS(a,p,2);l=q;return}function NH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=j*.8+s;i=i+t;j=j+s;h[n>>3]=r+t;k=n+8|0;h[k>>3]=q+s;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=r+e;h[n+56>>3]=q+f;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}lS(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;oS(a,n,2);l=o;return}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;k=l;l=l+80|0;j=k;p=+h[d+8>>3];m=-p/3.0;r=+h[d>>3];f=r/3.0;q=+h[b>>3];n=q+r*.5;o=+h[b+8>>3];e=p*.5+o;i=j+64|0;h[j+64>>3]=r+q;h[j+72>>3]=p+o;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];h[j+16>>3]=m+n;h[j+24>>3]=f+e;i=j+32|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[j+48>>3]=n-m;h[j+56>>3]=e-f;d=g>>>4&1^1;do if(!(g&64))if(!(g&128)){lS(a,j,4,d);break}else{lS(a,j,3,d);break}else lS(a,i,3,d);while(0);l=k;return}function PH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0;g=l;l=l+32|0;i=g;j=+h[c>>3];e=+h[c+8>>3];d=+G(+(j*j+e*e))*.5;j=j*.5+ +h[b>>3];h[i>>3]=j-d;e=e*.5+ +h[b+8>>3];h[i+8>>3]=e-d;h[i+16>>3]=d+j;h[i+24>>3]=d+e;kS(a,i,2,f>>>4&1^1);l=g;return}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+112|0;o=r+48|0;p=r+16|0;q=r;t=f>4.0?f*.5*.25:.5;s=+h[b>>3];m=+h[d>>3];f=+h[b+8>>3];e=+h[d+8>>3];k=t*e;t=t*m;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[p+16>>3]=s+m;h[p+24>>3]=f+e;h[o>>3]=t+(s-k);e=f+t+k;h[o+8>>3]=e;h[o+48>>3]=t+(s+k);f=f-t+k;h[o+56>>3]=f;m=k*-.95;i=t+(s+m);j=t*4.0/3.0;b=o+32|0;k=k*4.0/3.0;m=t+(s-m);d=o+16|0;n=o+24|0;if(!(g&32)){h[d>>3]=i-j;h[n>>3]=e-k;h[b>>3]=m-j;e=f-k}else{h[d>>3]=j+i;h[n>>3]=k+e;h[b>>3]=j+m;e=f+k}h[o+40>>3]=e;oS(a,p,2);if(!(g&64)){if(g&128|0)iP(q,o,3,.5,o,0)}else iP(q,o,3,.5,0,o);nS(a,o,4,0,0,0);l=r;return}function RH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[b>>3]+ +h[d>>3];f=+h[b+8>>3]+ +h[d+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;oS(a,i,2);l=g;return}function SH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+JH(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(p=+h[b+(e<<4)>>3]-+h[f>>3],o=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;ZN(j,92,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function TH(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;e=+h[b>>3]-+h[f>>3];d=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function UH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+JH(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,q=+h[a>>3]-+h[b+(i<<4)>>3],p=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;ZN(k,92,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function VH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0;t=(g|0)!=0;p=(i|0)!=0;F=f+24|0;D=f+12|0;A=e+3|0;B=b+(A<<4)|0;x=e+1|0;E=f+16|0;A=b+(A<<4)+8|0;C=b+(x<<4)|0;z=f+32|0;v=b+(e<<4)|0;H=f+8|0;w=f+40|0;y=b+(e+2<<4)|0;x=b+(x<<4)+8|0;f=b+(e<<4)+8|0;if(!((e|0)==(d|0)&(t&p))){if(p){j=+JH(a,i);o=+h[v>>3];n=+h[f>>3];l=+h[B>>3];m=+h[A>>3];r=o-l;s=n-m;s=+G(+(r*r+s*s))*.9;j=j>=s?s:j;if(n==m){k=l+(o<l?-j:j);j=n}else{k=o;j=m+(n<m?-j:j)}h[C>>3]=o;h[x>>3]=n;h[B>>3]=k;h[A>>3]=j;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=l;h[w>>3]=m}if(t){l=+JH(a,g);f=b+(d<<4)|0;k=+h[f>>3];j=+h[b+(d<<4)+8>>3];D=d+3|0;n=+h[b+(D<<4)>>3];o=+h[b+(D<<4)+8>>3];r=k-n;s=j-o;s=+G(+(r*r+s*s))*.9;l=l>=s?s:l;if(j==o){m=k+(k<n?l:-l);l=j}else{m=k;l=j+(j<o?l:-l)}D=d+1|0;u=b+(D<<4)|0;h[u>>3]=m;h[b+(D<<4)+8>>3]=l;c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];u=d+2|0;h[b+(u<<4)>>3]=n;h[b+(u<<4)+8>>3]=o;u=16}}else{s=+h[v>>3];r=+h[f>>3];k=+h[B>>3];j=+h[A>>3];l=+JH(a,g);q=+JH(a,i);o=s-k;m=r-j;m=+G(+(o*o+m*m));d=!(l+q>=m);m=m/3.0;l=d?l:m;m=d?q:m;if(r==j){d=s<k;o=k+(d?-m:m);q=s+(d?l:-l);n=r;l=r}else{d=r<j;o=s;q=s;n=r+(d?l:-l);l=j+(d?-m:m)}h[C>>3]=q;h[x>>3]=n;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];h[B>>3]=o;h[A>>3]=l;c[y>>2]=c[B>>2];c[y+4>>2]=c[B+4>>2];c[y+8>>2]=c[B+8>>2];c[y+12>>2]=c[B+12>>2];c[D>>2]=i;h[z>>3]=s;h[w>>3]=r;u=16}if((u|0)==16){c[H>>2]=g;h[E>>3]=k;h[F>>3]=j}return}function WH(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;m=+h[b>>3];k=+h[c>>3]-m;o=+h[b+8>>3];j=+h[c+8>>3]-o;l=d*10.0/(+G(+(j*j+k*k))+.0001);k=(k+(k>=0.0?.0001:-.0001))*l;j=l*(j+(j>=0.0?.0001:-.0001));l=k*.5;n=j*.5;i=m-n;f=o-l;n=m+n;l=o+l;o=k+i;m=f+j;k=k+n;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function XH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;jS(a,c[(c[a>>2]|0)+336>>2]|0);sS(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;r=+h[b>>3]-+h[d+8>>3];s=10.0/(+G(+(r*r+t*t))+.0001);h[e>>3]=(t+(t>=0.0?.0001:-.0001))*s;h[b>>3]=s*(r+(r>=0.0?.0001:-.0001));b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];YH(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function YH(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=+h[e>>3]*r;o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];nb[p&15](b,k,m,f,g,i);h[d>>3]=+h[d>>3]+ +h[e>>3];p=d+8|0;h[p>>3]=+h[p>>3]+ +h[o>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function ZH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=NA(b,100097)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=NA(b,100109)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=AH(e,0,120)|0;if(!d){c[f>>2]=HB(b)|0;dA(0,100116,f)|0;c[g>>2]=e;dA(3,100169,g)|0}}l=i;return d|0}function _H(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=HK(304)|0;if(!j)dA(1,100177,k)|0;b=a+16|0;a=c[b>>2]|0;c[j>>2]=a;c[b>>2]=j;b=j+152|0;d=j+144|0;e=j+148|0;if(!a){c[d>>2]=3;c[e>>2]=0;h[b>>3]=1.0}else{f=j+16|0;g=a+16|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));f=j+56|0;g=a+56|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));c[d>>2]=c[a+144>>2];c[e>>2]=c[a+148>>2];h[b>>3]=+h[a+152>>3];c[j+136>>2]=c[a+136>>2];f=j+96|0;g=a+96|0;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0))}l=k;return j|0}function $H(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)Aa(100203,100207,117,100214);else{l6(c[b+212>>2]|0);l6(c[b+208>>2]|0);l6(c[b+216>>2]|0);l6(c[b+220>>2]|0);l6(c[b+224>>2]|0);l6(c[b+228>>2]|0);l6(c[b+232>>2]|0);l6(c[b+236>>2]|0);l6(c[b+240>>2]|0);l6(c[b+244>>2]|0);l6(c[b+248>>2]|0);l6(c[b+252>>2]|0);l6(c[b+256>>2]|0);l6(c[b+272>>2]|0);l6(c[b+284>>2]|0);l6(c[b+280>>2]|0);c[a>>2]=c[b>>2];l6(b);return}}function aI(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[d+16>>2]|0;l=c[d+152>>2]|0;k=m+192|0;if((e|0)!=0&(l&32768|0)!=0)c[k>>2]=e;if(((l&65536|0)!=0?(c[m+212>>2]=CK(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[m+208>>2]=CK(f,j)|0;d=1}else d=0;do if(l&4194304){if(g|0?a[g>>0]|0:0){c[m+228>>2]=CK(g,j)|0;d=m+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[k>>2]|0;if(e){c[m+228>>2]=Y3(e)|0;d=1}}while(0);if((h|0)!=0&(l&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[m+244>>2]=CK(h,j)|0;d=1}return d|0}function bI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;cI(b,e);b=NA(d,141363)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){kA(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){kA(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(FC(d)|0){case 0:{f=(g|0)==(d|0)?111795:100228;b=(c[d>>2]|0)>>>4;break}case 1:{f=111782;b=(c[d>>2]|0)>>>4;break}case 2:{f=111751;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}kA(e,f)|0;c[i>>2]=b;i2(h,100234,i)|0;kA(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){iA(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function cI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){kA(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;i2(g,100238,h)|0;kA(d,g)|0}l=i;return}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=eI(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(+h[b>>3]+e)*.5;h[q>>3]=k;i=+h[b+24>>3];m=(+h[b+8>>3]+i)*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)sS(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{hS(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=i+ +g[b>>2]*6.283185307179586;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=GT(p,k,m,i,e)|0;nS(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);CY(b)}i=e;f=f+12|0}if(n)sS(a,r);fI(j)}l=s;return o|0}function eI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+8|0;i=q;p=HK(12)|0;h=Y3(b)|0;a:do if(!d){d=1;f=h;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[p+4>>2]=h;o=HK((d*12|0)+12|0)|0;c[p+8>>2]=o;j=1.0;f=0;d=0;while(1){h=i6(h,108285)|0;if(!h){h=20;break}k=+gI(h);if(!(k>=0.0)){h=17;break}m=k-j;if(m>0.0)if((c[5167]|0)!=0?!(m<1.0e-05&m>-1.0e-05):0){c[i>>2]=b;dA(0,100249,i)|0;c[5167]=0;k=j;d=3}else k=j;j=j-k;if(k>0.0)a[o+(f*12|0)+8>>0]=1;if(a[h>>0]|0)c[o+(f*12|0)>>2]=h;g[o+(f*12|0)+4>>2]=k;if(j<1.0e-05&j>-1.0e-05){h=30;break}else{f=f+1|0;h=0}}b:do if((h|0)==17){if(!(c[5167]|0))d=1;else{c[n>>2]=b;dA(1,100284,n)|0;c[5167]=0;d=2}fI(p)}else if((h|0)==20){b=f+-1|0;if(j>0.0){h=0;i=0;while(1){if((h|0)>=(f|0))break;n=(+g[o+(h*12|0)+4>>2]==0.0&1)+i|0;h=h+1|0;i=n}if((i|0)<=0){f=o+(b*12|0)+4|0;g[f>>2]=j+ +g[f>>2];f=b;h=30;break}j=j/+(i|0);h=0;while(1){if((h|0)>=(f|0)){f=b;h=30;break b}i=o+(h*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;h=h+1|0}}else{f=b;h=30}}while(0);if((h|0)==30){while(1){if((f|0)<=-1)break;if(+g[o+(f*12|0)+4>>2]>0.0)break;f=f+-1|0}n=f+1|0;c[o+(n*12|0)>>2]=0;c[p>>2]=n;c[e>>2]=p}l=q;return d|0}function fI(a){a=a|0;l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(a);return}function gI(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=F3(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+b6(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function hI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;u=l;l=l+80|0;o=u+64|0;s=u;t=+h[(c[a+16>>2]|0)+152>>3];p=eI(d,0,o)|0;if((p+-1|0)>>>0>=2){q=s+16|0;d=s+48|0;i=b+48|0;r=s+32|0;j=b+32|0;k=b+16|0;if(!e){c[s>>2]=c[b>>2];c[s+4>>2]=c[b+4>>2];c[s+8>>2]=c[b+8>>2];c[s+12>>2]=c[b+12>>2];c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[r>>2]=c[j>>2];c[r+4>>2]=c[j+4>>2];c[r+8>>2]=c[j+8>>2];c[r+12>>2]=c[j+12>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];c[d+8>>2]=c[i+8>>2];c[d+12>>2]=c[i+12>>2]}else{c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}m=+h[q>>3];f=+h[s>>3];n=m-f;h[r>>3]=f;h[q>>3]=f;e=t>.5;if(e)sS(a,.5);k=c[o>>2]|0;b=s+48|0;j=c[k+8>>2]|0;while(1){d=c[j>>2]|0;if(!d)break;i=j+4|0;if(!(+g[i>>2]==0.0)){hS(a,d);if(!(c[j+12>>2]|0))f=m;else f=+h[s>>3]+n*+g[i>>2];h[r>>3]=f;h[q>>3]=f;lS(a,s,4,1);f=+h[q>>3];h[b>>3]=f;h[s>>3]=f}j=j+12|0}if(e)sS(a,t);fI(k)}l=u;return p|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;l6(c[g>>2]|0);d=HK(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function jI(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+144|0;c=r+80|0;e=r+16|0;j=r;k=+h[b>>3];o=a+16|0;m=+h[o>>3];p=a+24|0;n=a+8|0;if(!(((((((((!(k>m)?(d=+h[a>>3],!(k<d)):0)?(f=+h[b+8>>3],g=+h[p>>3],!(f>g)):0)?(i=+h[n>>3],!(f<i)):0)?(k=+h[b+16>>3],!(k>m|k<d)):0)?(k=+h[b+24>>3],!(k>g|k<i)):0)?(k=+h[b+32>>3],!(k>m|k<d)):0)?(k=+h[b+40>>3],!(k>g|k<i)):0)?(k=+h[b+48>>3],!(k>m|k<d)):0)?(m=+h[b+56>>3],!(m>g|m<i)):0))q=11;a:do if((q|0)==11){if(!(kI(b)|0)){iP(j,b,3,.5,c,e);jI(a,c);jI(a,e);break}else e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;q=15}}else{c=o;q=15}if((q|0)==15){q=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[p>>3])){if(d<+h[n>>3]){c=a;q=18}}else{c=o;q=18}if((q|0)==18){q=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=r;return}function kI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+mK(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+mK(f,e,d)<4.0&1;l=b;return a|0}function lI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0,M=0;G=l;l=l+272|0;x=G+256|0;y=G+224|0;z=G+192|0;A=G+160|0;B=G+64|0;C=G;D=G+128|0;E=G+96|0;F=G+32|0;w=c[d+16>>2]|0;v=c[w+144>>2]|0;u=w+16|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];c[A+16>>2]=c[u+16>>2];c[A+20>>2]=c[u+20>>2];c[A+24>>2]=c[u+24>>2];c[A+28>>2]=c[u+28>>2];w=c[(c[w+8>>2]|0)+88>>2]|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;if(!w){c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}else{d=A+16|0;if(+h[A>>3]==+h[d>>3]?(e=A+8|0,f=A+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[A>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}n=y+8|0;o=y+16|0;p=y+24|0;q=B+16|0;r=B+24|0;s=v+144|0;t=z+16|0;u=w+12|0;d=0;k=c[w+8>>2]|0;e=0;g=0.0;m=0;while(1){if((m|0)>=(c[w>>2]|0))break;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];c[B+8>>2]=c[C+8>>2];c[B+12>>2]=c[C+12>>2];c[B+16>>2]=c[C+16>>2];c[B+20>>2]=c[C+20>>2];c[B+24>>2]=c[C+24>>2];c[B+28>>2]=c[C+28>>2];j=k+8|0;f=k+80|0;i=j+4|0;switch(c[k>>2]|0){case 1:case 0:{K=+h[j>>3];J=+h[k+24>>3];h[y>>3]=K-J;I=+h[k+16>>3];H=+h[k+32>>3];h[n>>3]=I-H;h[o>>3]=K+J;h[p>>3]=I+H;c[f>>2]=c[y>>2];c[f+4>>2]=c[y+4>>2];c[f+8>>2]=c[y+8>>2];c[f+12>>2]=c[y+12>>2];j=k+96|0;c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];mI(A,x);c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];mI(A,x);break}case 3:case 2:{nI(D,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];c[f+16>>2]=c[D+16>>2];c[f+20>>2]=c[D+20>>2];c[f+24>>2]=c[D+24>>2];c[f+28>>2]=c[D+28>>2];break}case 5:case 4:{nI(E,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];c[f+16>>2]=c[E+16>>2];c[f+20>>2]=c[E+20>>2];c[f+24>>2]=c[E+24>>2];c[f+28>>2]=c[E+28>>2];break}case 6:{nI(F,c[i>>2]|0,c[j>>2]|0,A);c[f>>2]=c[F>>2];c[f+4>>2]=c[F+4>>2];c[f+8>>2]=c[F+8>>2];c[f+12>>2]=c[F+12>>2];c[f+16>>2]=c[F+16>>2];c[f+20>>2]=c[F+20>>2];c[f+24>>2]=c[F+24>>2];c[f+28>>2]=c[F+28>>2];break}case 7:{i=k+112|0;c[i>>2]=HK(56)|0;L=Y3(c[k+40>>2]|0)|0;M=c[i>>2]|0;c[M>>2]=L;a[M+48>>0]=a[100330+(c[k+24>>2]|0)>>0]|0;c[B>>2]=e;h[q>>3]=g;c[r>>2]=c[r>>2]&-128|d&127;M=c[s>>2]|0;M=eb[c[M>>2]&63](M,B,1)|0;L=c[i>>2]|0;c[L+4>>2]=M;JO(x,v,L);oI(z,+h[j>>3],+h[k+16>>3],c[i>>2]|0);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];c[f+16>>2]=c[z+16>>2];c[f+20>>2]=c[z+20>>2];c[f+24>>2]=c[z+24>>2];c[f+28>>2]=c[z+28>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];mI(A,x);c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2];mI(A,x);if(!(c[u>>2]|0))c[u>>2]=109;break}case 10:{e=c[k+16>>2]|0;g=+h[j>>3];break}case 15:{d=c[j>>2]|0;break}default:{}}k=k+120|0;m=m+1|0}c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];c[b+16>>2]=c[A+16>>2];c[b+20>>2]=c[A+20>>2];c[b+24>>2]=c[A+24>>2];c[b+28>>2]=c[A+28>>2]}l=G;return}function mI(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function nI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];mI(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];mI(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function oI(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function pI(a){a=a|0;if((c[a>>2]|0)==7)zK(c[a+112>>2]|0,1);return}function qI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;g=+h[b+352>>3];n=+h[b+432>>3];f=g*n/72.0;h[b+488>>3]=f;i=+h[b+440>>3];g=g*i/72.0;h[b+496>>3]=g;h[b+520>>3]=n/72.0;i=i/72.0;e=b+528|0;h[e>>3]=i;if(c[47187]|j&4096|0)h[e>>3]=-i;p=(c[b+360>>2]|0)==0;o=b+376|0;n=+((c[b+452>>2]|0)>>>0);e=b+368|0;h[(p?e:o)>>3]=+((c[b+448>>2]|0)>>>0)/(p?f:g);h[(p?o:e)>>3]=n/(p?g:f);pS(b,_O(d,DA(d,0,101823,0)|0,195341)|0);c[b+160>>2]=0;rI(b,d);if(j&2|0)sI(b,d);e=gC(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=hC(d,e)|0}tI(b,k);while(1){if(!((uI(b)|0)<<24>>24))break;if((vI(b)|0)>1)QR(b);wI(b);while(1){if(!((xI(b)|0)<<24>>24))break;yI(b,d);zI(b)}if((vI(b)|0)>1)RR(b);AI(b,k)}BI(b);l=m;return}function rI(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);MR(a,b);return}function sI(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;hS(b,135101);d=NA(c,141280)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(c,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);MJ(b,c);g=gC(c)|0;while(1){if(!g)break;d=NA(g,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(g,138032)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(g,101719)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(g,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=UA(c,g)|0;while(1){if(!f)break;d=NA(f,141126)|0;do if(d|0?a[d>>0]|0:0){if(!(F3(d,58)|0)){fS(b,d);break}e=Y3(d)|0;d=e;while(1){d=i6(d,108285)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}fS(b,d);d=0}l6(e)}while(0);d=NA(f,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=WA(c,f)|0}g=hC(c,g)|0}return}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;e=m+8|0;j=m;h=c[a>>2]|0;d=c[h+312>>2]|0;g=a+156|0;c[g>>2]=d;h=c[h+316>>2]|0;i=a+152|0;f=a+52|0;k=a+160|0;if(!h)if((d|0)>1?(c[i>>2]&64|0)==0:0){c[e>>2]=c[f>>2];dA(0,100868,e)|0;c[g>>2]=1;d=0;a=1}else{d=0;a=1}else{a=h+4|0;if((c[h>>2]|0)>1?(c[i>>2]&64|0)==0:0){c[j>>2]=c[f>>2];dA(0,100868,j)|0;c[h+8>>2]=(c[g>>2]|0)+1}d=h+8|0;a=c[a>>2]|0}c[k>>2]=a;c[b>>2]=d;l=m;return}function uI(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function vI(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function wI(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function xI(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function yI(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+176|0;m=q;f=q+48|0;n=q+32|0;o=c[d+16>>2]|0;p=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{hA(n,128,f);g=o+212|0;h=c[g>>2]|0;cI(d,n);kA(n,h)|0;i=n+4|0;f=c[i>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[i>>2]|0}a[f>>0]=0;j=c[n>>2]|0;c[i>>2]=j;c[g>>2]=j}FT(NA(e,100333)|0);DI(d);OR(d);fS(d,137615);hS(d,135101);i=o+208|0;j=o+260|0;do if(p&4259840|0){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;if(p&655360){g=p&131072;c[o+264>>2]=g>>>16^2;f=HK((g>>>12^32)+32|0)|0;r=d+288|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];r=f+16|0;s=d+304|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!g){hK(f);g=4}else g=2}else{f=0;g=0}if(!(p&8192))LR(d,f,f,g)|0;c[o+272>>2]=f;c[o+268>>2]=g}while(0);f=e+16|0;if(p&32768|0?(k=c[(c[f>>2]|0)+12>>2]|0,k|0):0)c[o+192>>2]=c[k>>2];g=(p&4|0)!=0;do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;s=d+256|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];c[m+16>>2]=c[s+16>>2];c[m+20>>2]=c[s+20>>2];c[m+24>>2]=c[s+24>>2];c[m+28>>2]=c[s+28>>2];iI(d,m);aS(d,c[i>>2]|0,c[o+228>>2]|0,c[o+244>>2]|0,c[o+212>>2]|0)}while(0);EI(d,e);f=c[(c[f>>2]|0)+12>>2]|0;if(f|0)BK(d,4,f);do if(!g){if((c[i>>2]|0)==0?(b[j>>1]&1)==0:0)break;bS(d)}while(0);FI(d,e,p);PR(d);if(h|0){lA(n);c[o+212>>2]=h}l=q;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];CI(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((xI(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];CI(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function AI(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;a=a+160|0;if(!d)c[a>>2]=(c[a>>2]|0)+1;else{c[a>>2]=c[d>>2];c[b>>2]=d+4}return}function BI(a){a=a|0;NR(a);$H(a);return}function CI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function DI(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0;v=l;l=l+48|0;n=v+32|0;g=v+24|0;j=v+8|0;k=v+16|0;m=v;e=a+196|0;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;o=a+164|0;i=c[o>>2]|0;o=c[o+4>>2]|0;u=j;c[u>>2]=i;c[u+4>>2]=o;u=a+360|0;if(c[u>>2]|0){c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];LJ(k,n);e=k;d=c[e>>2]|0;e=c[e+4>>2]|0;o=g;c[o>>2]=d;c[o+4>>2]=e;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];LJ(m,n);o=m;i=c[o>>2]|0;o=c[o+4>>2]|0;n=j;c[n>>2]=i;c[n+4>>2]=o}r=+(d|0);s=+h[a+320>>3];f=r*s-+h[a+240>>3];h[a+288>>3]=f;p=+(e|0);q=+h[a+328>>3];t=p*q-+h[a+248>>3];h[a+296>>3]=t;h[a+304>>3]=s+f;h[a+312>>3]=q+t;d=a+472|0;e=a+456|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2]}else{c[d>>2]=c[((c[d>>2]|0)<(c[e>>2]|0)?d:e)>>2];n=a+476|0;c[n>>2]=c[((c[n>>2]|0)<(c[a+460>>2]|0)?d:e)+4>>2];n=a+480|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+464>>2]|0)?d:e)+8>>2];n=a+484|0;c[n>>2]=c[((c[n>>2]|0)>(c[a+468>>2]|0)?d:e)+12>>2]}j=c[a+152>>2]|0;b=+h[a+336>>3];d=a+256|0;e=a+264|0;f=+h[a+344>>3];g=a+272|0;if(!(j&128)){b=b+s*(r-+(i|0)*.5);h[d>>3]=b;t=f+q*(p-+(o|0)*.5);h[e>>3]=t;r=s+b;h[g>>3]=r;f=q+t;s=b;q=r}else{q=+h[a+368>>3]*.5;s=b-q;h[d>>3]=s;r=+h[a+376>>3]*.5;t=f-r;h[e>>3]=t;q=b+q;h[g>>3]=q;f=f+r}h[a+280>>3]=f;b=+h[a+352>>3];d=a+512|0;e=a+504|0;g=(c[47187]|j&4096|0)!=0;r=+h[a+384>>3]/b;b=+h[a+392>>3]/b;if(!(c[u>>2]|0)){h[e>>3]=r-s;p=b;b=b-t}else{h[d>>3]=-f-b;p=r;f=q;d=e;b=r-s}h[d>>3]=g?-f-p:b;l=v;return}\nfunction EI(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=NA(d,141280)|0;if(!e){j=1;e=137499}else{i=(a[e>>0]|0)==0;j=i&1;e=i?137499:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(f2(e,137680)|0)==0;k=m?137499:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(f2(e,137680)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((HJ(k,o,p)|0)<<24>>24)){hS(b,k);fS(b,137680);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];mS(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;hS(b,i);fS(b,137680);GJ(d,r)|0;e=c[o+4>>2]|0;h=XO(d,c[47197]|0,0,0)|0;f=+g[p>>2];if(!e)iS(b,137615,h,f);else iS(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];mS(b,q,r);l6(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)JJ(b,e);l=s;return}function FI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)GI(a,b,d);a:do if(!(d&1)){if(d&16|0){WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a);UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);break}if(!(d&8)){f=gC(b)|0;while(1){if(!f)break a;HI(a,f);e=UA(b,f)|0;while(1){if(!e)break;HI(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}}UR(a);e=gC(b)|0;while(1){if(!e)break;if((JI(b,e)|0)<<24>>24)HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;if((KI(b,e)|0)<<24>>24)II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}else{UR(a);e=gC(b)|0;while(1){if(!e)break;HI(a,e);e=hC(b,e)|0}VR(a);WR(a);f=gC(b)|0;while(1){if(!f)break;e=UA(b,f)|0;while(1){if(!e)break;II(a,e);e=WA(b,e)|0}f=hC(b,f)|0}XR(a)}while(0);if(g)GI(a,b,d);return}function GI(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+128|0;y=R+72|0;P=R+64|0;J=R+112|0;K=R;L=R+104|0;M=f+16|0;N=(i&4|0)!=0;O=e+16|0;z=K+24|0;A=K+56|0;C=K+8|0;D=K+16|0;E=K+32|0;F=K+40|0;G=K+48|0;H=(i&8|0)==0;I=L+4|0;x=1;while(1){j=c[M>>2]|0;if((x|0)>(c[j+180>>2]|0))break;w=c[(c[j+184>>2]|0)+(x<<2)>>2]|0;if((EJ(e,w)|0)<<24>>24){if(N)GI(e,w,i);FJ(e,w);j=c[O>>2]|0;s=j+208|0;if(!(c[s>>2]|0))v=(b[j+260>>1]&1)!=0;else v=1;FT(NA(w,100333)|0);t=j+212|0;u=j+228|0;q=j+244|0;r=w+16|0;if(!(N|v^1)){p=(c[r>>2]|0)+16|0;c[y>>2]=c[p>>2];c[y+4>>2]=c[p+4>>2];c[y+8>>2]=c[p+8>>2];c[y+12>>2]=c[p+12>>2];c[y+16>>2]=c[p+16>>2];c[y+20>>2]=c[p+20>>2];c[y+24>>2]=c[p+24>>2];c[y+28>>2]=c[p+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}c[J>>2]=0;j=GJ(w,J)|0;if(!j)o=0;else{jS(e,j);o=c[J>>2]&1}j=d[(c[r>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=$O(w,c[47188]|0,106557)|0;k=$O(w,c[47189]|0,106565)|0;Q=29;break}if(j&8|0){j=$O(w,c[47192]|0,106573)|0;k=$O(w,c[47193]|0,106581)|0;Q=29;break}if(j&4|0){j=$O(w,c[47190]|0,106589)|0;k=$O(w,c[47191]|0,106597)|0;Q=29;break}j=NA(w,141126)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=NA(w,138032)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=NA(w,101719)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((o|0)!=0&(k|0)!=0)){m=NA(w,141280)|0;if(m|0?a[m>>0]|0:0){k=m;Q=29;break}j=(j|0)==0?137615:j;m=(k|0)==0?135101:k;c[L>>2]=0;if(!o){k=0;o=m}else{o=m;Q=31}}else Q=29}else{j=$O(w,c[47188]|0,106541)|0;k=$O(w,c[47189]|0,106549)|0;Q=29}while(0);if((Q|0)==29){c[L>>2]=0;j=(j|0)==0?137615:j;o=(k|0)==0?135101:k;Q=31}if((Q|0)==31){Q=0;if(!((HJ(o,L,y)|0)<<24>>24)){hS(e,o);k=1}else{hS(e,c[L>>2]|0);k=c[I>>2]|0;m=XO(w,c[47197]|0,0,0)|0;n=+g[y>>2];if(!k)iS(e,137615,m,n);else iS(e,k,m,n);k=(c[J>>2]|0)>>>1&1|2}}m=c[47196]|0;if((m|0?(B=OA(w,m)|0,B|0):0)?a[B>>0]|0:0)sS(e,+YO(w,c[47196]|0,1.0,0.0));p=c[J>>2]|0;m=c[47195]|0;do if(p&4){m=XO(w,m,1,0)|0;if(m|k|0){o=c[r>>2]|0;S=o+16|0;c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];o=o+32|0;c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!m)fS(e,137680);else fS(e,j);RM(e,K,4,p,k)}}else{if(!(p&64)){if(XO(w,m,1,0)|0){fS(e,j);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}if(!k)break;fS(e,137680);S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,k);break}S=c[r>>2]|0;p=S+16|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];S=S+32|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];h[D>>3]=+h[E>>3];h[z>>3]=+h[C>>3];h[G>>3]=+h[K>>3];h[A>>3]=+h[F>>3];if(!(XO(w,m,1,0)|0))fS(e,137680);else fS(e,j);if((hI(e,K,o,0)|0)>1){c[P>>2]=HB(w)|0;dA(3,100701,P)|0}S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];mS(e,y,0)}while(0);l6(c[L>>2]|0);j=c[(c[r>>2]|0)+12>>2]|0;if(j|0)BK(e,5,j);if(v){if(N){S=(c[r>>2]|0)+16|0;c[y>>2]=c[S>>2];c[y+4>>2]=c[S+4>>2];c[y+8>>2]=c[S+8>>2];c[y+12>>2]=c[S+12>>2];c[y+16>>2]=c[S+16>>2];c[y+20>>2]=c[S+20>>2];c[y+24>>2]=c[S+24>>2];c[y+28>>2]=c[S+28>>2];iI(e,y);aS(e,c[s>>2]|0,c[u>>2]|0,c[q>>2]|0,c[t>>2]|0)}bS(e)}a:do if(!H){k=gC(w)|0;while(1){if(!k)break a;HI(e,k);j=UA(w,k)|0;while(1){if(!j)break;II(e,j);j=WA(w,j)|0}k=hC(w,k)|0}}while(0);IJ(e,f);if(!N)GI(e,w,i)}x=x+1|0}l=R;return}function HI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(wJ(b,uC(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(xJ(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(a[f>>0]|0)!=(g|0)):0){a[f>>0]=g;pS(b,HB(d)|0);e=_O(d,c[47231]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47219]|0,195341)|0;b:do if(a[e>>0]|0){NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);yJ(b,d);lb[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)BK(b,10,e);zJ(b)}while(0);l=j;return}function II(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((LI(d,g)|0)<<24>>24?(f=d+-48|0,(MI(b,d)|0)<<24>>24):0){i=d+48|0;e=D3(HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=k6(e+3+(D3(HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;O3(e,HB(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(uB(uC(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(D3(e)|0)|0;if(i){a[g>>0]=a[142050]|0;a[g+1>>0]=a[142051]|0;a[g+2>>0]=a[142052]|0}else{a[g>>0]=a[138041]|0;a[g+1>>0]=a[138042]|0;a[g+2>>0]=a[138043]|0}g6(e,HB(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;pS(b,e);l6(e);e=_O(d,c[47260]|0,195341)|0;if(a[e>>0]|0)pS(b,e);e=_O(d,c[47254]|0,195341)|0;b:do if(!(a[e>>0]|0))e=0;else{NI(e)|0;e=188404;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=188404;break b}if((a[f>>0]|0)!=105)continue;if(!(f2(f,134636)|0))break a}}while(0);OI(b,d,e);PI(b,d,e);QI(b)}while(0);l=h;return}function JI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function KI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(EC(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function LI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(vJ(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((gQ(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(gQ(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function MI(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,c[47259]|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=_O(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[47229]|0,195341)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((rJ(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function NI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;q=r+24|0;p=r+16|0;o=r+8|0;n=r;i=r+48|0;m=r+32|0;if(a[100583]|0){hA(188668,128,195106);a[100583]=0}hA(m,128,r+56|0);c[i>>2]=b;j=m+4|0;k=m+8|0;d=0;h=0;a:while(1){b:while(1){e=pJ(i,m)|0;f=d<<24>>24!=0;if(!e){d=22;break a}g=d<<24>>24==0;switch(e|0){case 40:if(f){d=8;break a}else{d=1;continue b}case 41:if(g){d=10;break a}else{d=0;continue b}default:break b}}f=188404+(h<<2)|0;if(g){if((h|0)==63){d=13;break}e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;c[f>>2]=c[47168];f=h+1|0}else f=h;e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(m,1)|0;e=c[j>>2]|0}a[e>>0]=0;e=c[m>>2]|0;c[j>>2]=e;kA(188668,e)|0;e=c[47168]|0;if(e>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;e=c[47168]|0}c[47168]=e+1;a[e>>0]=0;h=f}do if((d|0)==8){c[n>>2]=b;dA(1,100584,n)|0;c[47101]=0;lA(m)}else if((d|0)==10){c[o>>2]=b;dA(1,100618,o)|0;c[47101]=0;lA(m)}else if((d|0)==13){c[p>>2]=b;dA(0,100646,p)|0;c[f>>2]=0;lA(m)}else if((d|0)==22){if(f){c[q>>2]=b;dA(1,100669,q)|0;c[47101]=0;lA(m);break}c[188404+(h<<2)>>2]=0;lA(m);d=c[47168]|0;if(d>>>0>=(c[47169]|0)>>>0){iA(188668,1)|0;d=c[47168]|0}a[d>>0]=0;c[47168]=c[47167]}while(0);l=r;return 188404}function OI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+160|0;B=E+24|0;z=E+20|0;y=E+16|0;k=E;n=E+32|0;A=c[d+152>>2]|0;c[B>>2]=0;c[z>>2]=0;c[y>>2]=0;C=_H(d)|0;c[C+4>>2]=3;c[C+8>>2]=f;c[C+12>>2]=9;w=f+16|0;t=c[(c[w>>2]|0)+96>>2]|0;D=C+260|0;if((t|0?(a[t+82>>0]|0)==0:0)?(cP(NA(f,100406)|0,0)|0)<<24>>24:0)b[D>>1]=b[D>>1]|512;if(g|0?c[(c[w>>2]|0)+8>>2]|0:0)jS(d,g);g=c[47275]|0;if((g|0?(i=OA(f,g)|0,i|0):0)?a[i>>0]|0:0)sS(d,+YO(f,c[47275]|0,1.0,0.0));do if(A&16777216|0){g=f+48|0;i=C+176|0;if((e[(c[(uC(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[i>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[C+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;break}}while(0);r=C+200|0;s=C+204|0;q=C+192|0;if(A&32768|0){j=c[w>>2]|0;g=c[j+96>>2]|0;if(!g)g=c[q>>2]|0;else{g=c[g>>2]|0;c[q>>2]=g}i=C+196|0;c[i>>2]=g;c[s>>2]=g;c[r>>2]=g;g=c[j+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[j+104>>2]|0;if(g|0)c[r>>2]=c[g>>2];g=c[j+100>>2]|0;if(g|0)c[s>>2]=c[g>>2]}t=C+208|0;if(!(A&65536))k=0;else{hA(k,128,n);c[C+212>>2]=CK(bI(d,f,k)|0,f)|0;lA(k);g=NA(f,141358)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else{g=NA(f,111778)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=31;else j=0}if((p|0)==31)j=CK(g,f)|0;g=NA(f,100419)|0;i=(j|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=36;else p=34;do if((p|0)==34){g=NA(f,100428)|0;if(g|0?a[g>>0]|0:0){p=36;break}if(i){g=Y3(j)|0;p=39}}while(0);if((p|0)==36){g=CK(g,f)|0;p=39}if((p|0)==39)c[t>>2]=g;g=NA(f,100436)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=44;else p=42;do if((p|0)==42){g=NA(f,100446)|0;if(g|0?a[g>>0]|0:0){p=44;break}if(i){g=Y3(j)|0;p=47}}while(0);if((p|0)==44){g=CK(g,f)|0;p=47}if((p|0)==47)c[C+216>>2]=g;g=NA(f,100455)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=52;else p=50;do if((p|0)==50){g=NA(f,100464)|0;if(g|0?a[g>>0]|0:0){p=52;break}if(i)c[C+220>>2]=Y3(j)|0}while(0);if((p|0)==52){c[C+220>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|128}g=NA(f,100472)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=59;else p=57;do if((p|0)==57){g=NA(f,100481)|0;if(g|0?a[g>>0]|0:0){p=59;break}if(i)c[C+224>>2]=Y3(j)|0}while(0);if((p|0)==59){c[C+224>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|256}k=j}o=C+244|0;do if(A&8388608){g=NA(f,141391)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=CK(g,f)|0;else i=0;g=NA(f,100489)|0;j=(i|0)!=0;if((g|0)!=0?(a[g>>0]|0)!=0:0){b[D>>1]=b[D>>1]|64;g=CK(g,f)|0;p=72}else p=70;if((p|0)==70?j:0){g=Y3(i)|0;p=72}if((p|0)==72)c[o>>2]=g;g=NA(f,100500)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=CK(g,f)|0;p=78}else p=76;if((p|0)==76?j:0){g=Y3(i)|0;p=78}if((p|0)==78)c[C+248>>2]=g;g=NA(f,100512)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[C+252>>2]=CK(g,f)|0;b[D>>1]=b[D>>1]|16}else p=82;if((p|0)==82?j:0)c[C+252>>2]=Y3(i)|0;g=NA(f,100523)|0;if(g|0?a[g>>0]|0:0){b[D>>1]=b[D>>1]|32;c[C+256>>2]=CK(g,f)|0;break}if(j)c[C+256>>2]=Y3(i)|0;else i=0}else i=0;while(0);do if(A&4194304|0){g=NA(f,141404)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)p=94;else p=92;do if((p|0)==92){g=NA(f,100534)|0;if(g|0?a[g>>0]|0:0){p=94;break}g=c[q>>2]|0;if(g|0)c[C+228>>2]=Y3(g)|0}while(0);if((p|0)==94){n=hJ(g,f)|0;c[C+228>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|1}g=NA(f,100546)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){n=hJ(g,f)|0;c[C+232>>2]=CK(n,f)|0;l6(n);b[D>>1]=b[D>>1]|8}else p=100;if((p|0)==100?(u=c[q>>2]|0,u|0):0)c[C+232>>2]=Y3(u)|0;g=NA(f,100559)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){u=hJ(g,f)|0;c[C+236>>2]=CK(u,f)|0;l6(u);b[D>>1]=b[D>>1]|2}else p=105;if((p|0)==105?(v=c[r>>2]|0,v|0):0)c[C+236>>2]=Y3(v)|0;g=NA(f,100571)|0;if(g|0?a[g>>0]|0:0){v=hJ(g,f)|0;c[C+240>>2]=CK(v,f)|0;l6(v);b[D>>1]=b[D>>1]|4;break}g=c[s>>2]|0;if(g|0)c[C+240>>2]=Y3(g)|0}while(0);l6(k);l6(i);n=C+228|0;do if(A&4259840|0?(x=c[(c[w>>2]|0)+8>>2]|0,x|0):0){if(!(c[t>>2]|0)){if((A&524288|0)==0|(c[n>>2]|0)==0)break}else if(!(A&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[x+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;iJ(B,z,y,(c[x>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[y>>2]|0;c[C+276>>2]=j;k=c[z>>2]|0;c[C+280>>2]=k;if(!(A&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}B=c[B>>2]|0;LR(d,B,B,g)|0;g=B}else g=c[B>>2]|0;c[C+284>>2]=g;c[C+264>>2]=2;c[C+272>>2]=g;c[C+268>>2]=c[k>>2]}while(0);_R(d,f);g=c[t>>2]|0;if(!((g|0)==0?!(b[D>>1]&1):0))aS(d,g,c[n>>2]|0,c[o>>2]|0,c[C+212>>2]|0);l=E;return}function PI(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;T=l;l=l+240|0;P=T+224|0;O=T+208|0;z=T+144|0;y=T+112|0;S=T+64|0;C=T+48|0;D=T+32|0;E=T+16|0;F=T;G=T+192|0;H=T+176|0;A=T+160|0;B=T+128|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;Q=+h[(c[b+16>>2]|0)+152>>3];FT(NA(e,100333)|0);N=e+16|0;a:do if(c[(c[N>>2]|0)+8>>2]|0){R=+YO(e,c[47257]|0,1.0,0.0);k=_O(e,c[47238]|0,195341)|0;r=(f|0)!=0;b:do if(r){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){p=0;break b}if((a[i>>0]|0)!=116)continue;if(!(f2(i,111418)|0)){p=1;break}}}else p=0;while(0);j=k;q=0;i=0;c:while(1){g=q+1|0;switch(a[j>>0]|0){case 0:break c;case 58:break;case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}o=(q|0)!=0;if((i|0)!=0&o)if(!(XI(b,e,f,k,g,R,Q)|0))break;else m=137615;else m=k;g=d[(c[N>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){u=m;g=$O(e,c[47239]|0,m)|0}else{j=106597;g=106589;k=188980;i=188976;n=18}else{j=106581;g=106573;k=188988;i=188984;n=18}else{j=106565;g=106557;k=188972;i=188968;n=18}else{j=106549;g=106541;k=188964;i=188960;n=18}if((n|0)==18){i=c[i>>2]|0;i=$O(e,i,YI(m,g)|0)|0;g=$O(e,c[k>>2]|0,j)|0;if((i|0)==(m|0))u=m;else{fS(b,i);u=i}}if((g|0)!=(m|0))hS(b,g);J=S+16|0;L=S+4|0;M=S+32|0;K=S+12|0;I=S+8|0;if(p<<24>>24){i=(a[u>>0]|0)==0?137615:u;g=(a[g>>0]|0)==0?137615:g;fS(b,137680);hS(b,i);o=S;m=c[c[(c[N>>2]|0)+8>>2]>>2]|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));N=xO(S,ZI(e)|0,Q,0,0)|0;lS(b,c[N+8>>2]|0,c[N>>2]|0,1);_I(N);fS(b,i);if((g|0)!=(i|0))hS(b,g);g=c[I>>2]|0;if(g|0){N=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(!g)break;S=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];XH(b,3,O,P,R,Q,g);break}i=c[N>>2]|0;if(!o){do if(!(a[i+115>>0]&3)){if(a[u>>0]|0){fS(b,u);hS(b,g);break}fS(b,137615);if(!(a[g>>0]|0)){hS(b,137615);break}else{hS(b,g);break}}while(0);k=b+152|0;j=0;while(1){g=c[(c[N>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;o=S;m=(c[g>>2]|0)+(j*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[S>>2]|0;i=c[L>>2]|0;do if(!(c[k>>2]&16384)){nS(b,g,i,0,0,0);g=c[I>>2]|0;if(g|0){H=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){H=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[H>>2];c[P+4>>2]=c[H+4>>2];c[P+8>>2]=c[H+8>>2];c[P+12>>2]=c[H+12>>2];XH(b,3,O,P,R,Q,g)}if((c[(c[(c[N>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[I>>2]|0)){if(!(r&(c[K>>2]|0)!=0))break}else if(!r)break;jS(b,f)}}else nS(b,g,i,c[I>>2]|0,c[K>>2]|0,0);while(0);j=j+1|0}}w=c[(c[i+8>>2]|0)+4>>2]|0;v=w*48|0;x=k6(v)|0;v=k6(v)|0;t=+(q+2|0)*.5;e=C+8|0;f=D+8|0;r=E+8|0;s=F+8|0;q=0;while(1){if((q|0)>=(w|0))break;o=S;m=(c[c[(c[N>>2]|0)+8>>2]>>2]|0)+(q*48|0)|0;n=o+48|0;do{c[o>>2]=c[m>>2];o=o+4|0;m=m+4|0}while((o|0)<(n|0));g=c[L>>2]|0;c[x+(q*48|0)+4>>2]=g;c[v+(q*48|0)+4>>2]=g;k=g<<4;j=k6(k)|0;c[x+(q*48|0)>>2]=j;k=k6(k)|0;c[v+(q*48|0)>>2]=k;i=c[S>>2]|0;c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];i=0;while(1){m=j+(i<<4)|0;n=k+(i<<4)+8|0;o=k+(i<<4)|0;p=j+(i<<4)+8|0;if((i|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=i+1|0;U=(c[S>>2]|0)+(g<<4)|0;c[D>>2]=c[U>>2];c[D+4>>2]=c[U+4>>2];c[D+8>>2]=c[U+8>>2];c[D+12>>2]=c[U+12>>2];if(!i){c[O>>2]=c[C>>2];c[O+4>>2]=c[C+4>>2];c[O+8>>2]=c[C+8>>2];c[O+12>>2]=c[C+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(G,O,P);c[m>>2]=c[G>>2];c[m+4>>2]=c[G+4>>2];c[m+8>>2]=c[G+8>>2];c[m+12>>2]=c[G+12>>2]}else{c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[D>>2];c[P+4>>2]=c[D+4>>2];c[P+8>>2]=c[D+8>>2];c[P+12>>2]=c[D+12>>2];$I(H,O,P);c[m>>2]=c[H>>2];c[m+4>>2]=c[H+4>>2];c[m+8>>2]=c[H+8>>2];c[m+12>>2]=c[H+12>>2]}Y=c[S>>2]|0;V=i+2|0;Z=Y+(V<<4)|0;c[E>>2]=c[Z>>2];c[E+4>>2]=c[Z+4>>2];c[E+8>>2]=c[Z+8>>2];c[E+12>>2]=c[Z+12>>2];U=i+3|0;Y=Y+(U<<4)|0;c[F>>2]=c[Y>>2];c[F+4>>2]=c[Y+4>>2];c[F+8>>2]=c[Y+8>>2];c[F+12>>2]=c[Y+12>>2];X=j+(g<<4)|0;W=j+(V<<4)|0;c[y>>2]=c[C>>2];c[y+4>>2]=c[C+4>>2];c[y+8>>2]=c[C+8>>2];c[y+12>>2]=c[C+12>>2];c[z>>2]=c[D>>2];c[z+4>>2]=c[D+4>>2];c[z+8>>2]=c[D+8>>2];c[z+12>>2]=c[D+12>>2];c[O>>2]=c[Z>>2];c[O+4>>2]=c[Z+4>>2];c[O+8>>2]=c[Z+8>>2];c[O+12>>2]=c[Z+12>>2];c[P>>2]=c[Y>>2];c[P+4>>2]=c[Y+4>>2];c[P+8>>2]=c[Y+8>>2];c[P+12>>2]=c[Y+12>>2];aJ(A,y,z,O,P);c[W>>2]=c[A>>2];c[W+4>>2]=c[A+4>>2];c[W+8>>2]=c[A+8>>2];c[W+12>>2]=c[A+12>>2];c[X>>2]=c[A>>2];c[X+4>>2]=c[A+4>>2];c[X+8>>2]=c[A+8>>2];c[X+12>>2]=c[A+12>>2];h[o>>3]=+h[C>>3]-t*+h[m>>3];h[n>>3]=+h[e>>3]-t*+h[p>>3];h[k+(g<<4)>>3]=+h[D>>3]-t*+h[X>>3];h[k+(g<<4)+8>>3]=+h[f>>3]-t*+h[j+(g<<4)+8>>3];h[k+(V<<4)>>3]=+h[E>>3]-t*+h[W>>3];h[k+(V<<4)+8>>3]=+h[r>>3]-t*+h[j+(V<<4)+8>>3];i=U;g=c[L>>2]|0}c[O>>2]=c[E>>2];c[O+4>>2]=c[E+4>>2];c[O+8>>2]=c[E+8>>2];c[O+12>>2]=c[E+12>>2];c[P>>2]=c[F>>2];c[P+4>>2]=c[F+4>>2];c[P+8>>2]=c[F+8>>2];c[P+12>>2]=c[F+12>>2];$I(B,O,P);c[m>>2]=c[B>>2];c[m+4>>2]=c[B+4>>2];c[m+8>>2]=c[B+8>>2];c[m+12>>2]=c[B+12>>2];h[o>>3]=+h[F>>3]-t*+h[m>>3];h[n>>3]=+h[s>>3]-t*+h[p>>3];q=q+1|0}s=Y3(u)|0;f=0;r=u;i=u;j=u;g=s;while(1){g=i6(g,108285)|0;if(!g)break;e=(a[g>>0]|0)==0?137615:g;if((e|0)!=(j|0))if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,e);hS(b,e);j=e}else j=e;m=(f|0)==0;n=(f|1|0)==1;g=0;while(1){if((g|0)>=(w|0))break;o=c[v+(g*48|0)>>2]|0;p=c[x+(g*48|0)>>2]|0;q=c[v+(g*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;Z=o+(k<<4)|0;h[Z>>3]=+h[p+(k<<4)>>3]+ +h[Z>>3];Z=o+(k<<4)+8|0;h[Z>>3]=+h[p+(k<<4)+8>>3]+ +h[Z>>3];k=k+1|0}nS(b,o,q,0,0,0);g=g+1|0}f=f+1|0;r=m?e:r;i=n?e:i;g=0}g=c[I>>2]|0;if(!g)i=0;else{if(i){if(!(a[(c[N>>2]|0)+115>>0]&3)){fS(b,i);hS(b,i)}}else i=0;Z=c[S>>2]|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,2,O,P,R,Q,g)}g=c[K>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[N>>2]|0)+115>>0]&3)==0:0){fS(b,r);hS(b,r);g=c[K>>2]|0}Z=(c[S>>2]|0)+((c[L>>2]|0)+-1<<4)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[P>>2]=c[Z>>2];c[P+4>>2]=c[Z+4>>2];c[P+8>>2]=c[Z+8>>2];c[P+12>>2]=c[Z+12>>2];XH(b,3,O,P,R,Q,g)}l6(s);g=0;while(1){if((g|0)>=(w|0))break;l6(c[x+(g*48|0)>>2]|0);l6(c[v+(g*48|0)>>2]|0);g=g+1|0}l6(x);l6(v)}while(0);l=T;return}function QI(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;q=D+48|0;t=D+32|0;s=D+16|0;r=D;z=c[a+16>>2]|0;A=c[z+8>>2]|0;p=z+208|0;C=z+212|0;m=z+268|0;B=z+260|0;n=z+272|0;if(!((c[p>>2]|0)==0?!(b[B>>1]&1):0))d=3;a:do if((d|0)==3?(bS(a),o=z+276|0,e=c[o>>2]|0,e|0):0){h=z+280|0;d=c[h>>2]|0;i=z+284|0;j=z+228|0;k=z+244|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[m>>2]=c[d+(g<<2)>>2];c[n>>2]=(c[i>>2]|0)+(f<<4);aS(a,c[p>>2]|0,c[j>>2]|0,c[k>>2]|0,c[C>>2]|0);bS(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[o>>2]|0;d=y}}while(0);c[m>>2]=0;c[n>>2]=0;o=A+16|0;d=c[o>>2]|0;e=c[d+8>>2]|0;p=z+236|0;u=z+240|0;v=z+224|0;w=z+256|0;x=z+220|0;y=z+252|0;if(e){m=c[e>>2]|0;d=c[m>>2]|0;n=c[m+8>>2]|0;k=m+16|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];m=m+32|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];if(!n){c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2]}else{c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}m=b[B>>1]|0;k=c[x>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(m<<8&65535)<<16>>16>>15&255,k,(m<<14&65535)<<16>>16>>15&255);m=c[(c[o>>2]|0)+8>>2]|0;k=c[m>>2]|0;m=(c[m+4>>2]|0)+-1|0;d=c[k+(m*48|0)>>2]|0;e=c[k+(m*48|0)+4>>2]|0;n=c[k+(m*48|0)+12>>2]|0;j=k+(m*48|0)+16|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[j+4>>2];c[s+8>>2]=c[j+8>>2];c[s+12>>2]=c[j+12>>2];s=k+(m*48|0)+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];if(!n){s=d+(e+-1<<4)|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2]}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}d=b[B>>1]|0;s=c[v>>2]|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];RI(a,q,(d<<7&65535)<<16>>16>>15&255,s,(d<<13&65535)<<16>>16>>15&255);d=c[o>>2]|0}g=c[d+96>>2]|0;h=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;k=z+216|0;i=c[k>>2]|0;m=z+232|0;j=c[m>>2]|0;n=z+248|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,g,11,h,i,j,e,f,d);i=c[(c[o>>2]|0)+108>>2]|0;j=(b[B>>1]<<12&65535)<<16>>16>>15<<16>>16;h=c[k>>2]|0;g=c[m>>2]|0;e=c[n>>2]|0;f=c[C>>2]|0;if(!((bP(_O(A,c[47255]|0,137609)|0)|0)<<24>>24))d=0;else d=c[(c[o>>2]|0)+8>>2]|0;SI(a,i,11,j,h,g,e,f,d);SI(a,c[(c[o>>2]|0)+100>>2]|0,7,(b[B>>1]<<13&65535)<<16>>16>>15<<16>>16,c[v>>2]|0,c[u>>2]|0,c[w>>2]|0,c[C>>2]|0,0);SI(a,c[(c[o>>2]|0)+104>>2]|0,6,(b[B>>1]<<14&65535)<<16>>16>>15<<16>>16,c[x>>2]|0,c[p>>2]|0,c[y>>2]|0,c[C>>2]|0,0);$R(a);$H(a);l=D;return}function RI(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];WI(a,h)}l=j;return}function SI(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;o=s;r=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=HK((D3(j)|0)+11|0)|0;switch(e|0){case 11:{m=108525;break}case 7:{m=101884;break}case 6:{m=101894;break}default:Aa(138697,100207,2730,100345)}c[o>>2]=j;c[o+4>>2]=m;i2(n,100361,o)|0}o=b+16|0;q=(c[o>>2]|0)+12|0;p=c[q>>2]|0;c[q>>2]=e;q=(g|0)!=0;j=(f|0)!=0;m=(r&4|0)!=0;if(!(m|(j|q)^1)){TI(b,d);aS(b,g,h,i,n)}BK(b,e,d);if(k|0)UI(b,d,k);if(j|q){if(m){TI(b,d);aS(b,g,h,i,n)}bS(b)}l6(n);c[(c[o>>2]|0)+12>>2]=p}l=s;return}function TI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;i=d+268|0;c[i>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[i>>2]<<4)|0;c[j>>2]=d;j=b+56|0;i=b+24|0;h[d>>3]=+h[j>>3]-+h[i>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]+ +h[i>>3]*.5;h[d+24>>3]=+h[g>>3]+ +h[b>>3]*.5;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function UI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(X1(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;VI(i,p*.5+ +h[m>>3],+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;VI(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];oP(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];jS(b,c[(c[b>>2]|0)+336>>2]|0);fS(b,c[d+8>>2]|0);oS(b,i,3)}l=o;return}function VI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function WI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;l6(c[j>>2]|0);d=HK(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))LR(a,d,d,2)|0;if(!f)hK(d)}return}function XI(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+256|0;C=I+224|0;B=I+208|0;j=I+192|0;E=I+144|0;F=I+96|0;G=I+48|0;D=I;k=I+240|0;e=eI(e,f,k)|0;if((e|0)>1){y=b+48|0;z=uC(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;y=HB(c[((c[b>>2]&3|0)==3?b:y)+40>>2]|0)|0;z=(uB(z)|0)!=0;A=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=y;c[j+4>>2]=z?100380:100385;c[j+8>>2]=A;dA(3,100390,j)|0;if((e|0)==2)e=1;else H=4}else if((e|0)==1)e=1;else H=4;if((H|0)==4){A=b+16|0;r=c[k>>2]|0;s=r+8|0;t=G+4|0;u=E+8|0;v=E+12|0;q=(d|0)!=0;w=E+32|0;x=E+4|0;y=E+16|0;z=D+4|0;e=0;p=0;while(1){f=c[(c[A>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=E;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{fS(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){fJ(E,n,G,D);k=c[G>>2]|0;nS(a,k,c[t>>2]|0,0,0,0);l6(k);if(m<1.0e-05&m>-1.0e-05){H=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){H=13;break a}j=F;f=D;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];fJ(F,n/(m+n),G,D);l6(c[F>>2]|0);f=c[G>>2]|0;nS(a,f,c[t>>2]|0,0,0,0);l6(f);f=0}while(0);b=f;o=o+12|0}if((H|0)==11){H=0;l6(c[D>>2]|0)}else if((H|0)==13){H=0;o=c[D>>2]|0;nS(a,o,c[z>>2]|0,0,0,0);l6(o)}if(c[u>>2]|0){fS(a,c[c[s>>2]>>2]|0);hS(a,c[c[s>>2]>>2]|0);k=c[E>>2]|0;o=c[u>>2]|0;c[B>>2]=c[y>>2];c[B+4>>2]=c[y+4>>2];c[B+8>>2]=c[y+8>>2];c[B+12>>2]=c[y+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,2,B,C,h,i,o)}if(c[v>>2]|0){fS(a,e);hS(a,e);k=(c[E>>2]|0)+((c[x>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];XH(a,3,B,C,h,i,o)}do if((c[(c[(c[A>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(q&(c[v>>2]|0)!=0))break}else if(!q)break;jS(a,d)}while(0);p=p+1|0}fI(r);e=0}l=I;return e|0}function YI(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=S((D3(d)|0)+1|0,e)|0;b=f+10|0;if((c[47165]|0)<(f|0)){c[47165]=b;b=n6(c[47166]|0,b)|0;c[47166]=b}else b=c[47166]|0;O3(b,d)|0;while(1){e=e+-1|0;b=c[47166]|0;if(!e)break;f=b+(D3(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;g6(b,d)|0}return b|0}function ZI(b){b=b|0;var d=0,e=0;d=c[47253]|0;a:do if(!d)e=7;else{d=OA(b,d)|0;switch(a[d>>0]|0){case 110:if(!(f2(d,136010)|0)){d=2;break a}else{e=7;break a}case 102:if(!(f2(d,100367)|0)){d=1;break a}else{e=7;break a}case 98:{if(!(f2(d,100375)|0)){d=3;break a}if(!(f2(d,111522)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(uB(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?1:2}return d|0}function _I(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+G(+(e*e+f*f+.0001));h[a>>3]=f*d;h[a+8>>3]=-(e*d);return}function aJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+G(+(g*g+i*i));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+G(+(j*j+f*f+.0001))}j=2.0/f;h[a>>3]=j*i;h[a+8>>3]=-(g*j);return}function bJ(a,b,c){a=+a;b=+b;c=+c;return +((1.0-a/b)*c*.5)}function cJ(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function dJ(a,b,c){a=+a;b=+b;c=+c;return +(a/b*c*.5)}function eJ(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function fJ(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;p=c[a+4>>2]|0;j=(p+-1|0)/3|0;k=d+4|0;if((p+-4|0)>>>0<3){c[k>>2]=4;c[d>>2]=HK(64)|0;c[e+4>>2]=4;p=HK(64)|0;c[e>>2]=p;iP(q,c[a>>2]|0,3,b,c[d>>2]|0,p)}else{p=HK(j<<3)|0;f=0;g=c[a>>2]|0;i=0.0;while(1){if((f|0)>=(j|0))break;s=+gJ(g);h[p+(f<<3)>>3]=s;f=f+1|0;g=g+48|0;i=i+s}b=b*i;n=0;i=0.0;while(1){f=n+1|0;o=p+(n<<3)|0;if((j|0)<=(n|0))break;i=i+ +h[o>>3];if(!(i>=b))n=f;else break}f=(f*3|0)+1|0;c[k>>2]=f;c[d>>2]=HK(f<<4)|0;f=((j-n|0)*3|0)+1|0;m=e+4|0;c[m>>2]=f;c[e>>2]=HK(f<<4)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;j=(c[d>>2]|0)+(f<<4)|0;g=(c[a>>2]|0)+(f<<4)|0;c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];f=f+1|0}f=f+-4|0;g=0;while(1){j=c[a>>2]|0;k=c[e>>2]|0;if((g|0)>=(c[m>>2]|0))break;k=k+(g<<4)|0;j=j+(f<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];f=f+1|0;g=g+1|0}s=+h[o>>3];e=n*3|0;iP(q,j+(e<<4)|0,3,(b-(i-s))/s,(c[d>>2]|0)+(e<<4)|0,k);l6(p)}l=r;return}function gJ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];c=+h[a>>3]-e;d=+h[a+24>>3];f=+h[a+8>>3]-d;f=+G(+(c*c+f*f));c=+h[a+32>>3];e=e-c;b=+h[a+40>>3];d=d-b;d=f+ +G(+(e*e+d*d));c=c-+h[a+48>>3];b=b-+h[a+56>>3];return +(d+ +G(+(c*c+b*b)))}function hJ(b,d){b=b|0;d=d|0;d=vC(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=cQ(b)|0;else d=$P(b,d)|0;return oJ(d)|0}function iJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=IK(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=jJ(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;kJ(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}lJ(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;l6(g);h=s;g=s}l=q;return}function jJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(kI(a)|0)){iP(f,a,3,.5,d,e);d=jJ(e,jJ(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=nJ(f,b)|0}l=g;return d|0}function kJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0;t=l;l=l+96|0;p=t+80|0;o=t+64|0;n=t+48|0;q=t+32|0;r=t+16|0;s=t;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];m=q+8|0;b=s+8|0;k=r+8|0;do if(a){c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];if(!d){j=+h[q>>3];h[s>>3]=j*2.0-+h[r>>3];i=+h[m>>3];h[b>>3]=i*2.0-+h[k>>3];break}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];i=+h[m>>3];break}}else{c[s>>2]=c[d>>2];c[s+4>>2]=c[d+4>>2];c[s+8>>2]=c[d+8>>2];c[s+12>>2]=c[d+12>>2];j=+h[q>>3];h[r>>3]=j*2.0-+h[s>>3];i=+h[m>>3];h[k>>3]=i*2.0-+h[b>>3]}while(0);c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];v=+mJ(n,o,p);u=+I(+v)*g;g=+J(+v)*g;h[e>>3]=u+j;h[e+8>>3]=g+i;h[f>>3]=j-u;h[f+8>>3]=i-g;l=t;return}function lJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;i=e<<1;j=c[d>>2]|0;k=c[b>>2]|0;h=0;l=0;while(1){if((h|0)>=(j|0))break;m=(c[k+(h<<2)>>2]|0)+l|0;h=h+1|0;l=m}m=j+1|0;c[d>>2]=m;m=KK(k,m<<2)|0;c[b>>2]=m;c[m+(h<<2)>>2]=i;c[a>>2]=KK(c[a>>2]|0,l+i<<4)|0;b=i+-1+l|0;h=0;while(1){if((h|0)>=(e|0))break;m=(c[a>>2]|0)+(h+l<<4)|0;k=f+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];m=(c[a>>2]|0)+(b-h<<4)|0;k=g+(h<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];h=h+1|0}return}function mJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[b>>3];d=+O(+(+h[c+8>>3]-f),+(+h[c>>3]-e));e=+O(+(+h[a+8>>3]-f),+(+h[a>>3]-e));d=d-e;return +(e+(d>0.0?d+-6.283185307179586:d)*.5)}function nJ(a,b){a=a|0;b=b|0;var d=0;d=IK(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function oJ(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;g=b;a:while(1){d=0;while(1){e=c;c=c+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;if(d<<24>>24){f=5;break}if(e<<24>>24!=92){f=10;break}else d=1}b:do if((f|0)==5){d=g+1|0;switch(e<<24>>24|0){case 114:{e=13;break b}case 108:case 110:{e=10;break b}default:break b}}else if((f|0)==10)d=g+1|0;while(0);a[g>>0]=e;g=d}a[g>>0]=0;return b|0}function pJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[b>>2]|0;while(1){j=a[e>>0]|0;f=j<<24>>24;if(!(j<<24>>24)){h=3;break}g=e+1|0;if(j<<24>>24==44|(X1(f)|0)!=0)e=g;else break}if((h|0)==3)g=e+1|0;a:do switch(f|0){case 0:{f=0;break}case 41:case 40:{e=g;break}default:{h=d+4|0;i=d+8|0;g=j;while(1){if((qJ(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;j=e+1|0;e=j;g=a[j>>0]|0}}}while(0);c[b>>2]=e;return f|0}function qJ(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function rJ(a,b){a=a|0;b=b|0;return sJ(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function sJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;hA(n,128,o+24|0);kA(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){iA(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=j6(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=j6(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=j6(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=tJ(b,g,0)|0;f=tJ(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(tJ(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}lA(n);l=o;return f|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(f2(d,100697)|0)==0:0))f=3;a:do if((f|0)==3){if((uJ(d)|0)<<24>>24){e=d6(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(f2(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function uJ(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function vJ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function wJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=_O(e,c[47229]|0,195341)|0,(rJ(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(ZA(d,e)|0))f=1;else{f=ZA(d,e)|0;while(1){if(!f){f=0;break a}g=_O(f,c[47259]|0,195341)|0;if(!(a[g>>0]|0)){f=1;break a}if((rJ(b,g)|0)<<24>>24){f=1;break a}f=_A(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function xJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(vJ(f,e)|0)&255;l=d;return b|0}function yJ(a,d){a=a|0;d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0.0;s=c[a+152>>2]|0;t=_H(a)|0;c[t+4>>2]=2;c[t+8>>2]=d;c[t+12>>2]=8;n=d+16|0;if(s&16777216|0){if((e[(c[(uC(d)|0)+16>>2]|0)+178>>1]|0)>2){g=+h[(c[(c[n>>2]|0)+132>>2]|0)+16>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0)}else g=0.0;h[t+168>>3]=g}AJ(a,c[(c[n>>2]|0)+104>>2]|0,d);do if(s&4259840|0){if((c[t+208>>2]|0)==0?(b[t+260>>1]&1)==0:0)break;q=UM(d)|0;l=c[n>>2]|0;g=+h[l+16>>3];r=+h[l+24>>3];l=BJ(d)|0;a:do if((q|2|0)==3){m=c[(c[n>>2]|0)+12>>2]|0;if(!((CJ(m)|0)<<24>>24))f=0;else f=(c[m+4>>2]|l|0)!=0;o=t+264|0;if(!((s&524288|0)==0|((m|0)==0|f))){i=m+8|0;p=c[i>>2]|0;p=(p|0)<3?1:p;j=m+4|0;k=c[j>>2]|0;k=(k|0)>1?k:1;q=c[m+44>>2]|0;f=NA(d,103006)|0;if(!f)f=0;else f=d6(f)|0;f=(f+-4|0)>>>0>56?20:f;if(!(c[j>>2]|l)){c[o>>2]=0;i=HK(32)|0;f=c[n>>2]|0;w=+h[f+88>>3];h[i>>3]=g-w;v=+h[f+80>>3]*.5;h[i+8>>3]=r-v;h[i+16>>3]=g+w;h[i+24>>3]=r+v;f=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[m+32>>3]==0.0:0)?+h[m+24>>3]==0.0:0){if(c[m>>2]|0){c[o>>2]=1;i=HK(32)|0;h[i>>3]=g;h[i+8>>3]=r;f=(k<<1)+-1|0;h[i+16>>3]=g+ +h[q+(f<<4)>>3];h[i+24>>3]=r+ +h[q+(f<<4)+8>>3];f=2;break}c[o>>2]=2;i=(k<<1)+-1|0;i=DJ(+h[q+(i<<4)>>3],+h[q+(i<<4)+8>>3],f)|0;j=0;while(1){if((j|0)>=(f|0))break a;q=i+(j<<4)|0;h[q>>3]=g+ +h[q>>3];q=i+(j<<4)+8|0;h[q>>3]=r+ +h[q>>3];j=j+1|0}}m=S(i,k+-1|0)|0;c[o>>2]=2;if((i|0)<(f|0)){i=HK(p<<4)|0;f=0;while(1){if((f|0)>=(p|0)){f=p;break a}o=f+m|0;h[i+(f<<4)>>3]=g+ +h[q+(o<<4)>>3];h[i+(f<<4)+8>>3]=r+ +h[q+(o<<4)+8>>3];f=f+1|0}}else{l=(i|0)/(f|0)|0;i=HK(f<<4)|0;j=0;k=0;while(1){if((j|0)>=(f|0))break a;p=k+m|0;h[i+(j<<4)>>3]=g+ +h[q+(p<<4)>>3];h[i+(j<<4)+8>>3]=r+ +h[q+(p<<4)+8>>3];j=j+1|0;k=k+l|0}}}else{f=o;u=32}}else{f=t+264|0;u=32}while(0);if((u|0)==32){c[f>>2]=0;i=HK(32)|0;f=c[n>>2]|0;h[i>>3]=g-+h[f+88>>3];w=+h[f+80>>3]*.5;h[i+8>>3]=r-w;h[i+16>>3]=g+ +h[f+96>>3];h[i+24>>3]=r+w;f=2}if(!(s&8192))LR(a,i,i,f)|0;c[t+272>>2]=i;c[t+268>>2]=f}while(0);FT(NA(d,100333)|0);YR(a,d);return}function zJ(a){a=a|0;ZR(a);$H(a);return}function AJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=NA(e,141358)|0;i=NA(e,141404)|0;k=NA(e,141391)|0;hA(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=NA(e,111778)|0;g=bI(b,e,j)|0;if(!i)d=0;else d=hJ(i,e)|0;aI(b,h,f,d,k,g,e)|0;l6(d);lA(j);l=m;return}function BJ(b){b=b|0;var d=0,e=0;b=$O(b,c[47219]|0,195341)|0;a:do if(!(a[b>>0]|0))b=0;else{NI(b)|0;b=0;d=188404;while(1){e=c[d>>2]|0;if(!e)break a;e=(f2(e,111402)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function CJ(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function DJ(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=HK(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+I(+d)*a;h[g+(e<<4)+8>>3]=+J(+d)*b;d=f+d;e=e+1|0}return g|0}function EJ(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=_O(d,DA(d,0,101811,0)|0,195341)|0,(rJ(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=gC(d)|0;while(1){if(!e){e=0;break a}if((wJ(b,d,e)|0)<<24>>24){e=1;break a}e=hC(d,e)|0}}else e=0;else e=1;while(0);return e|0}function FJ(a,b){a=a|0;b=b|0;var d=0;d=_H(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;AJ(a,c[(c[b+16>>2]|0)+12>>2]|0,b);SR(a,b);return}function GJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;b=NA(b,141385)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){NI(b)|0;e=188404;b=0;while(1){g=e;while(1){f=c[g>>2]|0;if(!f){e=188404;break a}e=g+4|0;if(!(f2(f,111402)|0)){f=1;break}if(!(f2(f,106635)|0)){e=g;h=9;break}if(!(f2(f,106642)|0)){e=g;h=11;break}if(!(f2(f,106617)|0)){e=g;h=13;break}else g=e}if((h|0)==9)while(1){h=0;i=e;e=e+4|0;f=c[e>>2]|0;c[i>>2]=f;if(!f){e=g;f=3;break}else h=9}else if((h|0)==11)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=64;break}else h=11}else if((h|0)==13)while(1){h=0;f=e;e=e+4|0;i=c[e>>2]|0;c[f>>2]=i;if(!i){e=g;f=4;break}else h=13}b=b|f}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function HJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(eI(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)dA(0,100716,i)|0;m=IK((D3(b)|0)+1|0)|0;c[d>>2]=m;O3(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((D3(m)|0)+1)|0;c[d+4>>2]=m;O3(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);fI(j);b=1}else{c[d>>2]=0;fI(j);b=0}l=k;return b|0}function IJ(a,b){a=a|0;b=b|0;TR(a,b);$H(a);return}function JJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+96|0;s=A+48|0;v=A+16|0;z=A+8|0;y=A;w=A+80|0;c[w>>2]=1e3;f=IK(16e3)|0;x=a+256|0;e=1;d=1;i=0;t=0;u=c[b+8>>2]|0;while(1){if((t|0)>=(c[b>>2]|0))break;p=c[u>>2]|0;k=u+80|0;m=f+8|0;q=u+8|0;n=q+4|0;a:do switch(p|0){case 1:case 0:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){B=+h[q>>3];j=+h[u+24>>3];h[f>>3]=B-j;o=+h[u+16>>3];r=+h[u+32>>3];h[m>>3]=o-r;h[f+16>>3]=B+j;h[f+24>>3]=o+r;kS(a,f,2,(p|0)==0?d:0)}break}case 3:case 2:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;lS(a,f,c[q>>2]|0,(c[u>>2]|0)==2?d:0)}break}case 5:case 4:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;nS(a,f,c[q>>2]|0,0,0,(c[u>>2]|0)==4?d&255:0)}break}case 6:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){f=KJ(f,w,c[n>>2]|0,c[q>>2]|0)|0;oS(a,f,c[q>>2]|0)}break}case 7:{c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[v+8>>2]=c[k+8>>2];c[v+12>>2]=c[k+12>>2];c[v+16>>2]=c[k+16>>2];c[v+20>>2]=c[k+20>>2];c[v+24>>2]=c[k+24>>2];c[v+28>>2]=c[k+28>>2];c[s>>2]=c[x>>2];c[s+4>>2]=c[x+4>>2];c[s+8>>2]=c[x+8>>2];c[s+12>>2]=c[x+12>>2];c[s+16>>2]=c[x+16>>2];c[s+20>>2]=c[x+20>>2];c[s+24>>2]=c[x+24>>2];c[s+28>>2]=c[x+28>>2];if(vJ(v,s)|0){h[f>>3]=+h[q>>3];h[m>>3]=+h[u+16>>3];q=c[u+112>>2]|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];eS(a,s,q)}break}case 8:{hS(a,c[q>>2]|0);d=1;break}case 9:{fS(a,c[q>>2]|0);d=1;break}case 13:{d=u+16|0;if((c[q>>2]|0)!=2){p=c[d+36>>2]|0;q=c[p+12>>2]|0;B=+g[p+8>>2];d=~~(+O(+(+h[u+40>>3]-+h[u+24>>3]),+(+h[u+32>>3]-+h[d>>3]))*180.0/3.141592653589793);hS(a,c[p+4>>2]|0);iS(a,q,d,B);d=2;break a}q=c[u+68>>2]|0;k=c[q+4>>2]|0;m=c[q+12>>2]|0;r=+g[q+8>>2];o=+h[u+40>>3];j=+h[d>>3];if(o==j?+h[u+48>>3]==+h[u+24>>3]:0)d=0;else d=~~(+L(+((j-o)/+h[u+32>>3]))*180.0/3.141592653589793);hS(a,k);iS(a,m,d,r);d=3;break}case 14:{dA(0,100782,y)|0;break}case 12:{if(!e)e=0;else{dA(0,100822,z)|0;e=0}break}case 11:{NI(c[q>>2]|0)|0;jS(a,188404);i=188404;break}default:{}}while(0);t=t+1|0;u=u+120|0}if(i|0)jS(a,c[(c[a>>2]|0)+336>>2]|0);l6(f);l=A;return}function KJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=KK(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function LJ(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function MJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;MJ(b,e);d=NA(e,141126)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,138032)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,141280)|0;if(d|0?a[d>>0]|0:0)fS(b,d);d=NA(e,101719)|0;if(d|0?a[d>>0]|0:0)hS(b,d);d=NA(e,101747)|0;if(d|0?a[d>>0]|0:0)fS(b,d);f=f+1|0}return}function NJ(a){a=a|0;var b=0,d=0,e=0;b=c[47171]|0;if(!b){b=Sz(20672,c[4591]|0)|0;c[47171]=b}if(!(eb[c[b>>2]&63](b,a,4)|0)){d=c[47171]|0;e=c[d>>2]|0;b=Y3(a)|0;eb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function OJ(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PJ(a){a=a|0;var b=0;b=c[47172]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[47172]=b,(b|0)==0):0){L3(1,c[47173]|0)|0;l6(c[47173]|0)}}else{c[47172]=b+1;if(!b){c[47173]=Y3(L3(1,0)|0)|0;L3(1,153740)|0}}return}function QJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+96|0;s=v+72|0;r=v+56|0;q=v+48|0;u=v+32|0;t=v+24|0;f=v+8|0;e=v;if(a[195234]|0)RO();do if((RC(d,137786,0,1)|0)!=0?(p=d+16|0,(c[(c[p>>2]|0)+8>>2]|0)!=0):0){RJ(d);SJ(b,d);TJ(b,d);PJ(1);k=b+56|0;m=b+184|0;n=b+192|0;o=b+28|0;j=CF(b)|0;a:while(1){if(!j){i=33;break}e=c[k>>2]|0;f=j+20|0;if(!e){c[f>>2]=0;e=0}else{c[f>>2]=c[e+8>>2];e=c[e+12>>2]|0}c[j+24>>2]=e;c[j+12>>2]=b;c[j+28>>2]=c[m>>2];c[j+620>>2]=25812;c[j+624>>2]=c[6481];if(!(c[(c[p>>2]|0)+8>>2]|0)){i=13;break}f=j+52|0;i=HR(j,c[f>>2]|0)|0;c[j+56>>2]=i;switch(i|0){case 999:{i=16;break a}case 21:{e=1;break}case 24:{e=520;break}default:e=UJ(d)|0}g=j+152|0;c[g>>2]=c[g>>2]|e;e=c[n>>2]|0;do if(!e)i=24;else{if(c[e+152>>2]&32|0?(f2(c[f>>2]|0,c[e+52>>2]|0)|0)==0:0){e=c[47174]|0;if(!e){i=27;break}c[e+8>>2]=j;c[j+36>>2]=c[e+36>>2];i=29;break}JR(e);c[n>>2]=0;c[o>>2]=0;i=24}while(0);if((i|0)==24){c[47174]=0;i=27}if((i|0)==27?(i=0,(IR(j)|0)==0):0){c[n>>2]=j;i=29}if((i|0)==29){c[j+8>>2]=0;c[j+104>>2]=25928;VJ(j);WJ(j);XJ(j,d);YJ(j,d);ZJ(j,d);if(!(c[g>>2]&128))qI(j,d);c[47174]=j}j=DF(b)|0}if((i|0)==13){dA(1,100980,t)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;t=HB(d)|0;w=+SO();c[u>>2]=t;h[u+8>>3]=w;z4(e,100951,u)|0;e=-1;break}else if((i|0)==16){c[q>>2]=c[f>>2];dA(1,101001,q)|0;PJ(0);if(!(a[195234]|0)){e=-1;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[r>>2]=u;h[r+8>>3]=w;z4(e,100951,r)|0;e=-1;break}else if((i|0)==33){PJ(0);if(!(a[195234]|0)){e=0;break}e=c[15715]|0;u=HB(d)|0;w=+SO();c[s>>2]=u;h[s+8>>3]=w;z4(e,100951,s)|0;e=0;break}}else i=5;while(0);if((i|0)==5){dA(1,100903,e)|0;if(!(a[195234]|0))e=-1;else{e=c[15715]|0;u=HB(d)|0;w=+SO();c[f>>2]=u;h[f+8>>3]=w;z4(e,100951,f)|0;e=-1}}l=v;return e|0}function RJ(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;cK(a,b);b=hC(a,b)|0}return}function SJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=NA(d,105797)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=q4(e,105804,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=NA(d,101403)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=q4(e,105804,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=101407;f=NA(d,101410)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[47195]=DA(d,0,101773,0)|0;c[47196]=DA(d,0,101764,0)|0;c[b+320>>2]=$O(0,c[47213]|0,108295)|0;h[b+328>>3]=+YO(0,c[47212]|0,14.0,1.0);c[b+336>>2]=20708;c[b+188>>2]=HB(d)|0;l=o;return}function TJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+304|0;f=c[e>>2]|0;if(f|0){l6(f);c[e>>2]=0}g=b+308|0;e=c[g>>2]|0;if(e|0){l6(e);c[g>>2]=0}h=b+316|0;e=c[h>>2]|0;if(e|0){l6(e);c[h>>2]=0}e=NA(d,101154)|0;f=b+312|0;if(e){c[f>>2]=aK(b,d,e)|0;e=NA(d,101161)|0;if(e|0?a[e>>0]|0:0)c[h>>2]=bK(b,e)|0}else{c[g>>2]=0;c[f>>2]=1}return}function UJ(b){b=b|0;var c=0;b=NA(b,101122)|0;a:do if(!b)b=0;else{c=b+1|0;switch(a[b>>0]|0){case 110:{if(!(f2(c,101134)|0))b=1;else{b=0;break a}break}case 101:{if(!(f2(c,101144)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}}while(0);return b|0}function VJ(b){b=b|0;var d=0,e=0.0,f=0;d=c[b>>2]|0;f=b+240|0;if(!(a[d+292>>0]|0)){if((c[b+56>>2]|0)==300)e=+h[(c[b+68>>2]|0)+8>>3];else e=4.0;h[b+248>>3]=e;h[f>>3]=e}else{b=d+216|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2]}return}function WJ(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=b+416|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=(c[b+84>>2]|0)+8|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[e>>3]=36.0;break a}default:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;break a}}else{d=d+200|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2]}while(0);return}function XJ(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];d=b+432|0;f=b+440|0;do if(!(e!=0.0)){if(g|0?a[g+128>>0]|0:0){g=g+112|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}if((c[b+56>>2]|0)==300){g=(c[b+84>>2]|0)+40|0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];break}else{h[f>>3]=96.0;h[d>>3]=96.0;break}}else{h[f>>3]=e;h[d>>3]=e}while(0);return}function YJ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+112|0;u=B+80|0;v=B+56|0;t=B+40|0;w=B+32|0;x=B+24|0;y=B+16|0;z=B+8|0;A=B;m=c[b>>2]|0;p=+h[m+272>>3];r=+h[m+280>>3];q=+h[m+256>>3];s=+h[m+264>>3];f=+h[b+240>>3];e=q-f;h[b+208>>3]=e;i=+h[b+248>>3];j=s-i;h[b+216>>3]=j;f=p+f;h[b+224>>3]=f;i=r+i;h[b+232>>3]=i;e=f-e;j=i-j;h[y>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}o=i/e<k/f;i=(o?i:k)/(o?e:f);h[y>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+q)*.5;h[z>>3]=f;e=(r+s)*.5;h[A>>3]=e;c[b+360>>2]=c[m+288>>2];k=k*i;h[w>>3]=k;j=j*i;h[x>>3]=j;o=NA(d,101053)|0;if(o){m=k6((D3(o)|0)+1|0)|0;n=k6((D3(o)|0)+1|0)|0;c[t>>2]=w;c[t+4>>2]=x;c[t+8>>2]=y;c[t+12>>2]=m;g=d+60|0;do if((q4(o,101062,t)|0)==4){g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}else{c[v>>2]=w;c[v+4>>2]=x;c[v+8>>2]=y;c[v+12>>2]=m;c[v+16>>2]=n;if((q4(o,101082,v)|0)!=4){c[u>>2]=w;c[u+4>>2]=x;c[u+8>>2]=y;c[u+12>>2]=z;c[u+16>>2]=A;q4(o,101102,u)|0;break}g=qC(c[g>>2]|0,m,0)|0;if(g|0){v=c[g+16>>2]|0;h[z>>3]=+h[v+16>>3];h[A>>3]=+h[v+24>>3]}}while(0);l6(m);l6(n);k=+h[w>>3];j=+h[x>>3];i=+h[y>>3];f=+h[z>>3];e=+h[A>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=B;return}function ZJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+224|0;J=M+200|0;x=M+176|0;C=M+152|0;G=M+120|0;D=M+96|0;F=M+80|0;e=M+184|0;t=M+168|0;u=M+144|0;w=M+136|0;v=M+112|0;y=M+64|0;z=M+48|0;A=M+32|0;B=M+16|0;K=M+8|0;L=M;s=c[b>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;H=b+368|0;c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(e,J);c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2]}E=b+416|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[E+4>>2];c[D+8>>2]=c[E+8>>2];c[D+12>>2]=c[E+12>>2];E=D+8|0;I=G+8|0;q=C+8|0;o=b+204|0;f=b+164|0;i=b+168|0;if((a[s+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){m=+h[s+232>>3]-+h[D>>3]*2.0;h[C>>3]=m;k=+h[s+240>>3]-+h[E>>3]*2.0;h[q>>3]=k;if(!(m<.0001)){p=+h[G>>3];e=~~(p/m);c[f>>2]=e;if(p-m*+(e|0)>.0001){e=e+1|0;r=8}}else{e=1;r=8}if((r|0)==8)c[f>>2]=e;j=+h[I>>3];if(!(k<.0001)){f=~~(j/k);c[i>>2]=f;if(j-k*+(f|0)>.0001){f=f+1|0;r=12}}else{f=1;r=12}if((r|0)==12)c[i>>2]=f;c[o>>2]=S(f,e)|0;g=+h[(+h[G>>3]<m?G:C)>>3];h[G>>3]=g;e=G;j=+h[(j<k?G:C)+8>>3];r=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;g=+h[e+24>>3]-+h[D>>3]*2.0;g=g<0.0?0.0:g;h[C>>3]=g;p=+h[e+32>>3]-+h[E>>3]*2.0;h[q>>3]=p;if(p<0.0){e=q;r=17}else j=g}else{h[q>>3]=0.0;e=C;r=17}if((r|0)==17){h[e>>3]=0.0;j=+h[C>>3]}c[o>>2]=1;c[i>>2]=1;c[f>>2]=1;g=+h[G>>3];if(j<g){h[C>>3]=g;m=g}else m=j;j=+h[q>>3];k=+h[I>>3];if(j<k){e=C;j=k;r=21}else p=j}if((r|0)==21){h[e+8>>3]=j;p=+h[q>>3]}n=+h[D>>3];q=b+432|0;k=+h[q>>3]*(m+n*2.0)/72.0;c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));k=+h[E>>3];r=b+440|0;j=+h[r>>3]*(p+k*2.0)/72.0;c[b+452>>2]=~~(j+(j>=0.0?.5:-.5));i=b+188|0;o=b+180|0;e=b+172|0;f=s+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;$J(t,b,a[c[f>>2]>>0]|0);s=t;t=c[s+4>>2]|0;e=o;c[e>>2]=c[s>>2];c[e+4>>2]=t;$J(u,b,a[(c[f>>2]|0)+1>>0]|0);e=u;u=c[e>>2]|0;e=c[e+4>>2]|0;t=i;c[t>>2]=u;c[t+4>>2]=e;u=u+(c[o>>2]|0)|0;if(!((((u|0)>-1?u:0-u|0)|0)==1?(u=e+(c[b+184>>2]|0)|0,(((u|0)>-1?u:0-u|0)|0)==1):0)){$J(w,b,66);t=w;w=c[t+4>>2]|0;u=o;c[u>>2]=c[t>>2];c[u+4>>2]=w;$J(v,b,76);u=v;v=c[u+4>>2]|0;w=i;c[w>>2]=c[u>>2];c[w+4>>2]=v;c[x>>2]=c[f>>2];dA(0,101033,x)|0}e=F+8|0;if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(m>g){m=(m-g)*.5;h[F>>3]=m}else m=0.0;j=+h[I>>3];if(p>j){j=(p-j)*.5;h[e>>3]=j}else j=0.0}else{j=0.0;m=0.0}if(!(c[H>>2]|0))i=1;else{c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];_J(y,J);c[G>>2]=c[y>>2];c[G+4>>2]=c[y+4>>2];c[G+8>>2]=c[y+8>>2];c[G+12>>2]=c[y+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];_J(z,J);c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];_J(A,J);c[D>>2]=c[A>>2];c[D+4>>2]=c[A+4>>2];c[D+8>>2]=c[A+8>>2];c[D+12>>2]=c[A+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];_J(B,J);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2];n=+h[D>>3];m=+h[F>>3];k=+h[E>>3];j=+h[e>>3];g=+h[G>>3];i=(c[H>>2]|0)==0}n=n+m;h[b+384>>3]=n;j=k+j;h[b+392>>3]=j;m=n+g;h[b+400>>3]=m;N=+h[I>>3];p=j+N;h[b+408>>3]=p;k=+h[b+352>>3];h[b+320>>3]=g/k;h[b+328>>3]=N/k;k=+h[q>>3];n=n*k/72.0;f=b+456|0;c[f>>2]=~~(n+(n>=0.0?.5:-.5));n=+h[r>>3];j=j*n/72.0;c[b+460>>2]=~~(j+(j>=0.0?.5:-.5));m=k*m/72.0;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));p=n*p/72.0;c[b+468>>2]=~~(p+(p>=0.0?.5:-.5));if(!i){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];LJ(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];LJ(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function _J(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function $J(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function aK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=NA(d,101274)|0;i=b+296|0;c[i>>2]=(f|0)==0?101283:f;d=NA(d,101287)|0;f=b+300|0;d=(d|0)==0?101300:d;c[f>>2]=d;d=h6(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];dA(0,101302,g)|0;c[f>>2]=195341}d=Y3(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=i6(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;b=f<<2;if(!d)d=IK(b)|0;else d=KK(d,b)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=KK(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function bK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=a+312|0;d=IK((c[j>>2]<<2)+8|0)|0;e=0;i=1;while(1){g=c[j>>2]|0;h=e+1|0;f=d+(h<<2)|0;if((i|0)>(g|0))break;if((sJ(a,i,g,b)|0)<<24>>24){c[f>>2]=i;e=h}i=i+1|0}if(!e){c[k>>2]=b;dA(0,101173,k)|0;l6(d);d=0}else{c[d>>2]=e;c[f>>2]=(c[j>>2]|0)+1}l=m;return d|0}function cK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];f=+h[d+24>>3];e=+h[d+80>>3]*.5;h[d+56>>3]=f-e;h[d+64>>3]=g+ +h[d+96>>3];h[d+72>>3]=f+e;b=UA(a,b)|0;while(1){if(!b)break;dK(b);b=WA(a,b)|0}return}function dK(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)eK(a);return}function eK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)Aa(101441,100207,3994,101455);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));fK(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];WH(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function fK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)Aa(101471,100207,3968,101483);if(((k>>>0)%3|0|0)!=1)Aa(101493,100207,3969,101483);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;o=+h[d+(b<<4)+8>>3];t=b+1|0;p=+h[d+(t<<4)+8>>3];r=(+h[d+(b<<4)>>3]+ +h[d+(t<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function gK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;t=+h[a>>3];u=+h[c>>3];o=t>=u;q=c+8|0;r=c+16|0;m=a+8|0;s=c+24|0;if((o?t<=+h[r>>3]:0)?(d=+h[m>>3],d>=+h[q>>3]):0)c=d<=+h[s>>3];else c=0;d=+h[b>>3];j=d>=u;a=b+8|0;if((j?d<=+h[r>>3]:0)?(e=+h[a>>3],e>=+h[q>>3]):0){a=e<=+h[s>>3];if(!(c^a))if(c&a)a=1;else{n=e;p=12}else a=0}else if(c)a=0;else{n=+h[a>>3];p=12}a:do if((p|0)==12){l=+h[m>>3];do if(t==d){u=+h[q>>3];if(o&(l>=u^n>=u)?t<=+h[r>>3]:0){a=0;break a}}else{if(l==n){if(!(o^j))break;if(!(l>=+h[q>>3]))break;if(!(l<=+h[s>>3]))break;else{a=0;break a}}k=(n-l)/(d-t);p=t<d;f=p?t:d;d=p?d:t;e=l+(u-t)*k;i=+h[q>>3];if(!(!(u>=f)|!(u<=d)|!(e>=i))?e<=+h[s>>3]:0){a=0;break a}g=+h[r>>3];e=e+k*(g-u);if(e>=i?!(!(g<=d)|(g>=f?!(e<=+h[s>>3]):1)):0){a=0;break a}r=l<n;f=r?l:n;e=r?n:l;d=t+(i-l)/k;if(!(!(i<=e)|(!(i>=f)|(!(d>=u)|!(d<=g))))){a=0;break a}n=+h[s>>3];t=d+(n-i)/k;if(!(!(n<=e)|(!(n>=f)|(!(t>=u)|!(t<=g))))){a=0;break a}}while(0);a=-1}while(0);return a|0}function hK(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function iK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[47175]|0)!=(d|0)){X3(+(d|0)/6.283185307179586,186496,186504);c[47175]=d}f=+h[b>>3];i=+h[23313];g=+h[b+8>>3];e=+h[23312];h[a>>3]=f*i-g*e;h[a+8>>3]=i*g+f*e;return}function jK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];jK(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iK(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function kK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;e=+h[b>>3];j=b+8|0;f=+h[j>>3];i=-f;a:do switch(d|0){case 0:{k=10;break}case 90:{f=i;k=8;break}case 180:{e=i;k=9;break}case 270:{k=8;break}default:{if((d|0)<0){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];jK(a,g,0-d|0);break a}if((d|0)>360){c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(a,g,(d>>>0)%360|0);break a}else{c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];iK(a,g,360-d|0);break a}}}while(0);if((k|0)==8){h[b>>3]=f;k=9}if((k|0)==9){h[j>>3]=e;k=10}if((k|0)==10){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=m;return}function lK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=+h[b>>3]+d;e=+h[b+24>>3]+g;d=+h[b+16>>3]+d;h[a>>3]=+h[b+8>>3]+g;h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function mK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];e=+h[b>>3]-f;g=+h[a+8>>3];d=+h[b+8>>3]-g;f=e*(+h[c+8>>3]-g)-d*(+h[c>>3]-f);f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function nK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=NA(a,b)|0;if(a|0?(c[f>>2]=e,(q4(a,101510,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function oK(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=HK(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=NA(b,101514)|0;if(!e){e=Na(101523)|0;if(e|0)k=3}else k=3;if((k|0)==3)za(101535,e|0,1)|0;e=(pK(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if((c[47179]|0)==0?(e=NA(b,101546)|0,c[47178]=e,(e|0)==0):0)c[47178]=c[47177];f=+YO(b,DA(b,0,101556,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=NA(b,101564)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(f2(e,101572)|0)){e=1;break a}break}case 66:{if(!(f2(e,101575)|0)){e=2;break a}break}case 82:{e=(f2(e,101578)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+YO(b,DA(b,0,101581,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=_O(b,DA(b,0,101589,0)|0,0)|0;if(e){c[g>>2]=i;if(q4(e,101510,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(C4(e,101597)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(XO(b,DA(b,0,101605,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=nP(_O(b,DA(b,0,101615,0)|0,0)|0,20724,20740)|0;c[(c[m>>2]|0)+244>>2]=i;qK(b);i=rK(b,101625,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;rK(b,101630,e+48|0)|0;e=bP(NA(b,101635)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=NA(b,101642)|0;do if(!e){e=NA(b,101649)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=NA(b,101661)|0;if(e|0){e=bP(e)|0;k=27}}else{e=(d6(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[47182]=nP(NA(b,101671)|0,20756,20772)|0;a[195236]=bP(NA(b,101683)|0)|0;c[47185]=0;c[47186]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=NA(b,101695)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=NA(b,101699)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+a6(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}sK(b);h[23316]=1.e+37;c[47194]=DA(b,0,101710,0)|0;c[47197]=DA(b,0,141337,0)|0;c[47198]=DA(b,0,105797,0)|0;c[47199]=DA(b,1,141351,0)|0;c[47200]=DA(b,1,141419,0)|0;c[47201]=DA(b,1,108531,0)|0;c[47202]=DA(b,1,141126,0)|0;c[47203]=DA(b,1,101719,0)|0;c[47219]=DA(b,1,141385,0)|0;c[47212]=DA(b,1,101729,0)|0;c[47213]=DA(b,1,101738,0)|0;c[47214]=DA(b,1,101747,0)|0;k=DA(b,1,108525,0)|0;c[47216]=k;if(!k)c[47216]=DA(b,1,108525,105794)|0;c[47217]=DA(b,1,101757,0)|0;c[47220]=DA(b,1,101605,0)|0;c[47234]=DA(b,1,101764,0)|0;c[47223]=DA(b,1,101710,0)|0;c[47215]=DA(b,1,105797,0)|0;c[47221]=DA(b,1,141379,0)|0;c[47222]=DA(b,1,101773,0)|0;c[47225]=DA(b,1,101785,0)|0;c[47224]=DA(b,1,101649,0)|0;c[47226]=DA(b,1,101790,0)|0;c[47227]=DA(b,1,141327,0)|0;c[47228]=DA(b,1,137598,0)|0;c[47218]=DA(b,1,101801,0)|0;c[47229]=DA(b,1,101811,0)|0;c[47230]=DA(b,1,101817,0)|0;c[47231]=DA(b,1,101823,0)|0;c[47232]=DA(b,1,101831,0)|0;c[47233]=DA(b,1,101840,0)|0;c[47235]=DA(b,1,141337,0)|0;c[47236]=DA(b,2,101842,0)|0;c[47238]=DA(b,2,141126,0)|0;c[47239]=DA(b,2,101719,0)|0;c[47248]=DA(b,2,101729,0)|0;c[47249]=DA(b,2,101738,0)|0;c[47250]=DA(b,2,101747,0)|0;c[47251]=DA(b,2,108525,0)|0;c[47252]=DA(b,2,101757,0)|0;c[47261]=DA(b,2,101849,0)|0;c[47253]=DA(b,2,101860,0)|0;c[47264]=DA(b,2,101864,0)|0;c[47265]=DA(b,2,101874,0)|0;c[47266]=DA(b,2,101884,0)|0;c[47267]=DA(b,2,101894,0)|0;c[47268]=DA(b,2,101904,0)|0;c[47269]=DA(b,2,101918,0)|0;c[47270]=DA(b,2,101932,0)|0;c[47271]=DA(b,2,101947,0)|0;c[47272]=DA(b,2,101961,0)|0;c[47237]=DA(b,2,101972,0)|0;c[47256]=DA(b,2,101605,0)|0;c[47254]=DA(b,2,141385,0)|0;c[47255]=DA(b,2,101979,0)|0;c[47257]=DA(b,2,101988,0)|0;c[47258]=DA(b,2,101998,0)|0;c[47259]=DA(b,2,101811,0)|0;c[47260]=DA(b,2,101823,0)|0;c[47273]=DA(b,2,102009,0)|0;c[47274]=DA(b,2,102018,0)|0;c[47275]=DA(b,2,101764,0)|0;e=ZH(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=NA(b,141363)|0;if(e|0?a[e>>0]|0:0){b=CK(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function pK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=$O(a,DA(a,0,102108,0)|0,102116)|0;if(((((((C3(a,102122)|0)!=0?(C3(a,102130)|0)!=0:0)?(C3(a,102137)|0)!=0:0)?(C3(a,102140)|0)!=0:0)?(C3(a,102151)|0)!=0:0)?(C3(a,102162)|0)!=0:0)?(C3(a,102172)|0)!=0:0)if((C3(a,102183)|0)!=0?(C3(a,102189)|0)!=0:0)if((C3(a,102116)|0)!=0?(C3(a,102194)|0)!=0:0){c[b>>2]=a;dA(0,102199,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function qK(b){b=b|0;var d=0.0,e=0,f=0;e=NA(b,102066)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0){b=b+16|0;switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(f2(e,102072)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(f2(e,102077)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(f2(e,102086)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(f2(e,102093)|0)break a;c[(c[(c[b>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+a6(e);if(!(d>0.0))break a;f=c[(c[b>>2]|0)+8>>2]|0;c[f+84>>2]=1;h[f+16>>3]=d;break a}}}while(0);return}function rK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;d=NA(b,d)|0;do if(d){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(q4(d,102050,i)|0)>1;g=+h[k>>3];f=+h[j>>3];b=e+8|0;if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[b>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(q4(d,102060,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[b>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function sK(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0;d=NA(b,108525)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(gD(d)|0)!=0;i=+YO(b,DA(b,0,101729,0)|0,14.0,1.0);j=$O(b,DA(b,0,101738,0)|0,108295)|0;d=xK(b,d,e?2:0,i,j,$O(b,DA(b,0,101747,0)|0,137615)|0)|0;j=b+16|0;c[(c[j>>2]|0)+12>>2]=d;d=NA(b,105929)|0;e=(d|0)!=0;do if((vC(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=NA(b,102027)|0;a:do if(e){f=d&255;switch(a[e>>0]|0){case 108:{d=(f|2)&255;break a}case 114:{d=(f|4)&255;break a}default:break a}}while(0);a[(c[j>>2]|0)+275>>0]=d;if((vC(b)|0)!=(b|0)){d=c[(c[j>>2]|0)+12>>2]|0;g=+h[d+24>>3]+16.0;i=+h[d+32>>3]+8.0;b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[j>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=i;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=i;h[d+48+(b<<4)+8>>3]=g;break}}}while(0);return}function tK(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){CH(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}l6(c[b+92>>2]|0);b=c[e>>2]|0}while(0);l6(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;AK(c[e+12>>2]|0);XC(a,0,137786);return}function uK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=102272;break}case 1:{a=102140;break}case 2:{a=102278;break}default:{c[b>>2]=a;dA(1,102242,b)|0;a=102272}}l=d;return a|0}function vK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[d>>2]|0;m=d+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;if(a[f>>0]|0){g=IK((D3(f)|0)+1|0)|0;a[g>>0]=0;k=d+12|0;e=g;a:while(1){b:while(1){i=f+1|0;h=a[f>>0]|0;if(!(h<<24>>24))break a;j=e+1|0;f=f+2|0;if(!(h<<24>>24==-1|((h&255)<161|(c[k>>2]|0)!=2))){a[e>>0]=h;i=a[i>>0]|0;e=e+2|0;a[j>>0]=i;if(!(i<<24>>24))break a;else continue}switch(h<<24>>24){case 92:break b;case 10:{l=12;break b}default:{}}a[e>>0]=h;e=j;f=i}if((l|0)==12){l=0;a[e>>0]=0;wK(b,d,g,110);e=j;g=j;f=i;continue}h=a[i>>0]|0;switch(h<<24>>24|0){case 114:case 108:case 110:{a[e>>0]=0;wK(b,d,g,a[i>>0]|0);g=j;break}default:a[e>>0]=h}e=j;f=(a[i>>0]|0)==0?i:f}if((g|0)!=(e|0)){a[e>>0]=0;wK(b,d,g,110)}d=d+40|0;c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2]}return}function wK(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;r=t+16|0;q=t;s=e+76|0;m=b[s>>1]|0;o=e+72|0;n=c[o>>2]|0;i=m+2|0;if(!n)p=HK(i*56|0)|0;else p=JK(n,i,56,m+1|0)|0;c[o>>2]=p;i=b[s>>1]|0;m=i<<16>>16;n=p+(m*56|0)|0;c[n>>2]=f;a[p+(m*56|0)+48>>0]=g;j=+h[e+16>>3];if((f|0)!=0?(a[f>>0]|0)!=0:0){c[46636]=c[e+4>>2];h[23320]=j;i=c[d+144>>2]|0;c[p+(m*56|0)+4>>2]=eb[c[i>>2]&63](i,186544,1)|0;JO(q,d,n);k=+h[q>>3];h[r>>3]=k;j=+h[q+8>>3];i=b[s>>1]|0}else{h[r>>3]=0.0;j=+(~~(j*1.2)|0);h[p+(m*56|0)+40>>3]=j;k=0.0}b[s>>1]=i+1<<16>>16;s=e+24|0;h[s>>3]=+h[(+h[s>>3]>k?s:r)>>3];s=e+32|0;h[s>>3]=j+ +h[s>>3];l=t;return}function xK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=HK(88)|0;switch(FC(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=vC(uC(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=vC(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=Y3(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=Y3(e)|0;a[t+82>>0]=1;if(!(zU(b,t)|0))break a;switch(FC(b)|0){case 0:{c[p>>2]=HB(n)|0;dA(3,102284,p)|0;break a}case 1:{c[q>>2]=HB(o)|0;dA(3,102306,q)|0;break a}case 2:{p=HB(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(uB(s)|0)!=0;s=HB(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?138041:142050;c[r+8>>2]=s;dA(3,102327,r)|0;break a}default:break a}}case 0:{i=yK(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=cQ(i)|0;else i=$P(i,s)|0;l6(c[t>>2]|0);c[t>>2]=i;vK(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:Aa(102354,102370,166,102379)}while(0);l=u;return t|0}function yK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=(b|0)!=0;switch(FC(d)|0){case 0:{i=HB(d)|0;g=D3(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;h=2;y=102402;n=102399;j=105794;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 1:{i=HB(uC(d)|0)|0;g=D3(i)|0;j=HB(d)|0;h=D3(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(m){v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=D3(f)|0;w=f;x=102396}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=f;x=102396}}else{v=0;t=2;u=2;s=2;y=102402;n=102399;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}break}case 2:{h=d+48|0;i=HB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=D3(i)|0;l=HB(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=D3(l)|0;f=d+16|0;r=c[(c[f>>2]|0)+52>>2]|0;if(!r)p=0;else p=D3(r)|0;n=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)q=0;else q=D3(o)|0;j=D3(n)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(m)m=D3(f)|0;else m=2}else{m=2;f=102390}x=(uB(vC(uC(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(p|0?p+1|0:0)+j+(q|0?q+1|0:0)|0;h=2;y=l;j=105794;w=f;x=x?142050:138041;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=102402;n=102399;j=105794;i=102393;o=195341;r=195341;q=0;p=0;m=2;w=102390;x=102396}}e=(e|0)!=0;k=0;f=b;a:while(1){d=f+1|0;l=k+1|0;switch(a[f>>0]|0){case 0:break a;case 92:break;default:{k=l;f=d;continue a}}f=f+2|0;switch(a[d>>0]|0){case 71:{k=k+g|0;continue a}case 78:{k=k+h|0;continue a}case 69:{k=k+s|0;continue a}case 72:{k=k+u|0;continue a}case 84:{k=k+t|0;continue a}case 76:{k=k+m|0;continue a}case 92:{if(e){k=l;continue a}break}default:{}}k=k+2|0}t=IK(l)|0;s=(v|0)==0;p=(p|0)==0;m=(q|0)==0;f=t;g=b;b:while(1){k=g+1|0;h=a[g>>0]|0;if(!(h<<24>>24))break;d=f+1|0;if(h<<24>>24!=92){a[f>>0]=h;f=d;g=k;continue}l=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 69:{if(s){g=l;continue b}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}c:do if(p)g=x;else{a[f>>0]=58;g=r;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break c}g=g+1|0;f=f+1|0}}while(0);while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=n;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;h=f+1|0;if(!(b<<24>>24))break;else{g=g+1|0;f=h}}if(m){g=l;continue b}a[f>>0]=58;g=o;f=h;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}g=g+1|0;f=f+1|0}}case 72:{g=n;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=l;continue b}f=f+1|0;g=g+1|0}}case 92:{if(e){a[f>>0]=92;f=d;g=l;continue b}break}default:{}}a[f>>0]=92;a[d>>0]=g;f=f+2|0;g=l}a[f>>0]=0;return t|0}function zK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)l6(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)db[f&127](g);d=d+56|0;e=e+1|0}l6(a)}return}function AK(d){d=d|0;var e=0;if(d|0){l6(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)kU(e,1)}else zK(c[e>>2]|0,b[d+76>>1]|0);l6(d)}return}function BK(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;m=c[d+16>>2]|0;s=m+12|0;t=c[s>>2]|0;c[s>>2]=e;o=f+72|0;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){cS(d,0);fS(d,c[f+8>>2]|0);e=f+64|0;i=f+48|0;j=f+32|0;switch(a[f+80>>0]|0){case 116:{k=+h[e>>3];g=k+ +h[i>>3]*.5;break}case 98:{k=+h[e>>3];g=+h[j>>3]+(k-+h[i>>3]*.5);break}default:{k=+h[e>>3];g=k+ +h[j>>3]*.5}}g=g-+h[f+16>>3];n=r+8|0;h[n>>3]=g;if(b[m+260>>1]&512)h[n>>3]=g-k;m=f+40|0;i=f+56|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;f=c[o>>2]|0;j=f+(e*56|0)|0;switch(a[f+(e*56|0)+48>>0]|0){case 108:{g=+h[i>>3]-+h[m>>3]*.5;break}case 114:{g=+h[i>>3]+ +h[m>>3]*.5;break}default:g=+h[i>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];eS(d,q,j);h[n>>3]=+h[n>>3]-+h[(c[o>>2]|0)+(e*56|0)+40>>3];e=e+1|0}dS(d);i=18}}else{RT(d,c[o>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function CK(a,b){a=a|0;b=b|0;return yK(a,b,1)|0}function DK(a){a=a|0;return EK(a,0)|0}function EK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[47276]|0;if(!e){c[47277]=64;e=IK(64)|0;c[47276]=e}j=d<<24>>24!=0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[47277]|0;if((i|0)>(b+-8|0)){e=b<<1;c[47277]=e;e=KK(c[47276]|0,e)|0;c[47276]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(!j?(FK(h)|0)!=0:0)k=19;else{f=5;d=102431}break}case 60:{f=4;d=102454;break}case 62:{f=4;d=102437;break}case 45:{f=5;d=102448;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=102424;break a}else{k=19;break a}switch(d<<24>>24){case 34:{f=6;d=102411;break a}case 39:{f=5;d=102442;break a}case 10:if(j){f=5;d=102418;break a}else{k=19;break a}case 13:if(j){f=5;d=102405;break a}else{k=19;break a}default:{k=19;break a}}}}while(0);if((k|0)==19){k=0;f=1;d=h}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[47276]|0}function FK(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function GK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[47278]|0;if(!d){c[47279]=64;d=IK(64)|0;c[47278]=d;i=0;h=b}else{i=0;h=b}while(1){if(!h)break;b=a[h>>0]|0;if(!(b<<24>>24))break;e=c[47279]|0;if((i|0)>(e+-8|0)){d=e<<1;c[47279]=d;d=KK(c[47278]|0,d)|0;c[47278]=d;d=d+i|0;b=a[h>>0]|0}switch(b<<24>>24){case 38:{if(!(FK(h)|0)){f=5;b=102431}else j=12;break}case 60:{f=4;b=102454;break}case 62:{f=4;b=102437;break}case 34:{f=6;b=102411;break}case 39:{f=5;b=102442;break}default:j=12}if((j|0)==12){j=0;f=1;b=h}g=d+f|0;e=f;while(1){if(!e)break;a[d>>0]=a[b>>0]|0;e=e+-1|0;b=b+1|0;d=d+1|0}i=f+i|0;d=g;h=h+1|0}a[d>>0]=0;return c[47278]|0}function HK(a){a=a|0;var b=0;if(!a)a=0;else{b=IK(a)|0;u6(b|0,0,a|0)|0;a=b}return a|0}function IK(a){a=a|0;if(a){a=k6(a)|0;if(!a){_3(112041,14,1,c[15715]|0)|0;a=0}}else a=0;return a|0}function JK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=n6(a,S(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)u6(a+(S(e,d)|0)|0,0,S(b-e|0,d)|0)|0}else _3(112041,14,1,c[15715]|0)|0;return a|0}function KK(a,b){a=a|0;b=b|0;a=n6(a,b)|0;if((b|0)!=0&(a|0)==0)_3(112041,14,1,c[15715]|0)|0;return a|0}function LK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;s=v+40|0;r=v+32|0;q=v+24|0;n=v;t=4;u=k6(40)|0;c[u>>2]=0;g=v+68|0;i=v+64|0;if(a[195234]|0){o=0;na(62,b|0,g|0,i|0);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)!=1){k=c[15715]|0;j=c[g>>2]|0;g=c[i>>2]|0;o=0;c[n>>2]=102503;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=d;aa(35,k|0,102459,n|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1){o=0;oa(1);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)!=1)k=6;else{g=D;k=15}}else{g=D;k=15}}else{g=D;k=15}}else k=6;do if((k|0)==6){o=0;g=la(27,b|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)!=1){if(!g){o=0;oa(2);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}}if((e|0)<1){o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;break}else{c[47280]=(f|0)>-1?f:30;u=x6(189124,1,u|0,t|0)|0;t=D;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;break}g=0;k=15;break}}else{g=D;k=15}}while(0);a:do if((k|0)==15){b:while(1){if(g|0){g=2;break a}o=0;oa(4);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}b=c[15715]|0;n=0;while(1){o=0;k=ea(2)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}if(!k)break;o=0;g=la(28,k|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}o=0;ha(25,k|0,g|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}n=n+1|0;do if(((n|0)%100|0|0)==0&(a[195234]|0)!=0){g=(n|0)%1e3|0;if((g|0)==100){o=0;ra(93,102503,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;c[q>>2]=n;aa(35,b|0,102521,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}o=0;c[r>>2]=n;aa(35,b|0,102521,r|0)|0;i=o;o=0;if((i|0)!=0&(p|0)!=0){j=A6(c[i>>2]|0,u|0,t|0)|0;if(!j)Ca(i|0,p|0);D=p}else j=-1;if((j|0)==1){g=D;k=15;continue b}if(!g){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}while(0);if((n|0)>=(e|0))break}switch(d|0){case 1:{o=0;oa(5);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}case 2:{o=0;oa(6);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}break}default:{o=0;oa(7);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}o=0;oa(3);g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue b}}}if(!(a[195234]|0)){g=0;break a}if((n|0)>99){o=0;ra(94,10,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15;continue}}g=c[47320]|0;i=c[47321]|0;o=0;m=+ca(1);j=o;o=0;if((j|0)!=0&(p|0)!=0){k=A6(c[j>>2]|0,u|0,t|0)|0;if(!k)Ca(j|0,p|0);D=p}else k=-1;if((k|0)==1){g=D;k=15;continue}o=0;c[s>>2]=102503;c[s+4>>2]=g;c[s+8>>2]=i;c[s+12>>2]=n;h[s+16>>3]=m;aa(35,b|0,102525,s|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=A6(c[g>>2]|0,u|0,t|0)|0;if(!i)Ca(g|0,p|0);D=p}else i=-1;if((i|0)==1){g=D;k=15}else break}g=0}while(0);l6(u|0);l=v;return g|0}function MK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function NK(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[47324]=b;c[47331]=0;c[47321]=0;c[47320]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[47320]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[47321]=k;b=b+1|0;f=k}b=g+164|0}b=c[47332]|0;if(!b)b=IK(h<<2)|0;else b=KK(b,h<<2)|0;c[47332]=b;c[47333]=0;b=c[47326]|0;d=c[47320]<<2;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[47326]=b;c[47325]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;h=c[k>>2]|0;i=h+292|0;c[i>>2]=0;h=c[h+172>>2]|0;j=d;b=0;d=0;while(1){g=c[h+(b<<2)>>2]|0;b=b+1|0;if(!g)break;d=d+1|0;c[i>>2]=d;f=c[g+16>>2]|0;c[f+160>>2]=0;c[f+164>>2]=-1;if(!j){j=0;continue}l=c[g>>2]&3;j=((c[(c[(c[((l|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[f+170>>1]|0|0)?0:j}b=HK(b<<2)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=HK(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=j;b=b+164|0}return d|0}function OK(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=TO(c[47320]|0)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){VO(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=WO(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(e[(c[g+16>>2]|0)+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){VO(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[47320]|0)){dA(1,102857,k)|0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=HB(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;dA(3,102879,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);UO(m);l=o;return}function PK(){var b=0,d=0,e=0;b=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function QK(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=HK(c[47320]<<2)|0;e=0;a=(c[(c[47324]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=bL(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=cL(f,e)|0;while(1){if((dL(a)|0)<=1)break;hL(a,c[(gL(fL(eL(a)|0)|0)|0)+8>>2]|0)}l6(a);a=0;while(1){if((a|0)>=(e|0))break;l6(c[f+(a<<2)>>2]|0);a=a+1|0}l6(f);if((c[47325]|0)==((c[47320]|0)+-1|0)){iL();return}else Aa(102602,102632,523,102637)}function RK(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[47331]|0;f=c[47325]|0;j=c[47326]|0;k=c[47280]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[47331]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[47331]=f}return a|0}function SK(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[47327]=0;c[47328]=2147483647;d=c[a+16>>2]|0;c[47329]=c[d+284>>2];c[47330]=c[d+288>>2];if(b)aL(a);else $K(a);return c[47327]|0}function TK(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=c[b>>2]&3;n=b+-48|0;k=b+48|0;m=b+16|0;h=(c[(c[(c[((h|0)==2?b:n)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?b:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[m>>2]|0)+170>>1]|0)|0;do if((h|0)>0){d=c[a>>2]&3;i=c[((d|0)==3?a:a+48|0)+40>>2]|0;j=c[i+16>>2]|0;if(((c[j+276>>2]|0)+(c[j+268>>2]|0)|0)==1){XK(i,h);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;g=0-h|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){XK(d,g);break}if((c[j+288>>2]|0)<(c[f+288>>2]|0)){XK(i,h);break}else{XK(d,g);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=YK(c[((g|0)==3?b:k)+40>>2]|0,c[((g|0)==2?b:n)+40>>2]|0,f,1)|0;j=c[b>>2]&3;if((YK(c[((j|0)==2?b:n)+40>>2]|0,c[((j|0)==3?b:k)+40>>2]|0,f,0)|0)==(g|0)){c[(c[m>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;ZK(a,b);o=c[g+16>>2]|0;_K(g,c[o+280>>2]|0,c[o+284>>2]|0)|0;l=p;return}else{dA(1,102563,o)|0;Ca(189124,1)}}function UK(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;WK();n=HK((c[47323]<<2)+4|0)|0;d=c[47323]|0;b=0;while(1){if((b|0)>(d|0))break;c[n+(b<<2)>>2]=0;b=b+1|0}b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;d=b;while(1){if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){m=n+(c[d+232>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1}d=c[d+164>>2]|0}while(1){if(!b)break;m=b+16|0;b=c[m>>2]|0;if(!(a[b+156>>0]|0)){h=c[47323]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;i=c[g+16>>2]|0;l=(e[i+170>>1]|0)+(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;k=(c[i+156>>2]|0)+k|0;j=(j|0)>(l|0)?j:l;d=d+1|0}g=c[b+180>>2]|0;i=0;l=h;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;h=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;l=(l|0)<(h|0)?l:h;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){h=d;f=d;while(1){d=f+1|0;g=n+(h<<2)|0;if((f|0)>=(l|0))break;h=(c[n+(d<<2)>>2]|0)<(c[g>>2]|0)?d:h;f=d}o=b+232|0;l=n+(c[o>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=h}d=c[b+264>>2]|0;if(d){l6(d);b=c[m>>2]|0}d=c[b+272>>2]|0;if(d){l6(d);b=c[m>>2]|0}a[b+157>>0]=0}b=c[b+164>>2]|0}l6(n);return}function VK(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[47325]|0))break;a=c[(c[47326]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=SK(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){XK(g,f>>>1);break}else{XK(a,(f|0)/-2|0);break}}while(0);b=b+1|0}PK();return}function WK(){var b=0,d=0,e=0,f=0,g=0;c[47322]=2147483647;c[47323]=-2147483647;b=c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0;e=b;d=2147483647;f=-2147483647;while(1){if(!e)break;e=c[e+16>>2]|0;if(!(a[e+156>>0]|0)){g=c[e+232>>2]|0;d=(d|0)<(g|0)?d:g;c[47322]=d;f=(f|0)>(g|0)?f:g;c[47323]=f}e=c[e+164>>2]|0}if(d|0){while(1){if(!b)break;g=c[b+16>>2]|0;e=g+232|0;c[e>>2]=(c[e>>2]|0)-d;b=c[g+164>>2]|0}c[47323]=f-d;c[47322]=0}return}function XK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){XK(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function YK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function ZK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+16|0;h=(c[e>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[h>>2];c[(c[47326]|0)+(c[h>>2]<<2)>>2]=b;c[(c[e>>2]|0)+164>>2]=-1;e=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+276|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+272>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+272>>2]|0)+(g<<2)>>2]=0;e=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;h=c[e>>2]|0;d=h+268|0;f=c[d>>2]|0;g=f+-1|0;c[d>>2]=g;h=c[h+264>>2]|0;d=0;while(1){i=h+(d<<2)|0;if((d|0)>=(f|0))break;if((c[i>>2]|0)==(a|0))break;else d=d+1|0}c[i>>2]=c[h+(g<<2)>>2];c[(c[(c[e>>2]|0)+264>>2]|0)+(g<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;i=c[a>>2]|0;h=c[i+272>>2]|0;i=i+276|0;g=c[i>>2]|0;c[i>>2]=g+1;c[h+(g<<2)>>2]=b;a=c[a>>2]|0;c[(c[a+272>>2]|0)+(c[a+276>>2]<<2)>>2]=0;a=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;g=c[a>>2]|0;h=c[g+264>>2]|0;g=g+268|0;i=c[g>>2]|0;c[g>>2]=i+1;c[h+(i<<2)>>2]=b;b=c[a>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;return}function _K(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=_K(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function $K(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+180>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==2?i:i+-48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[g+232>>2]|0)-(c[(c[(c[((d|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))$K(f);b=b+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){$K(b);a=c[l>>2]|0}d=d+1|0}return}function aL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=a+16|0;b=0;while(1){a=c[l>>2]|0;i=c[(c[a+172>>2]|0)+(b<<2)>>2]|0;if(!i){d=0;break}j=c[i+16>>2]|0;d=c[i>>2]&3;f=c[((d|0)==3?i:i+48|0)+40>>2]|0;g=c[f+16>>2]|0;h=c[g+288>>2]|0;if((c[j+164>>2]|0)<0){if((c[47329]|0)>(h|0)|(h|0)>(c[47330]|0)?(k=(c[(c[(c[((d|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[g+232>>2]|0)-(e[j+170>>1]|0)|0,(k|0)<(c[47328]|0)|(c[47327]|0)==0):0){c[47327]=i;c[47328]=k}}else if((h|0)<(c[a+288>>2]|0))aL(f);b=b+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[47328]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){aL(b);a=c[l>>2]|0}d=d+1|0}return}function bL(a){a=a|0;var b=0;b=HK(16)|0;c[b>>2]=a;c[b+4>>2]=rL(a,b)|0;c[b+12>>2]=b;return b|0}function cL(a,b){a=a|0;b=b|0;var d=0,e=0;e=HK(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;hL(e,d);d=d+-1|0}return e|0}function dL(a){a=a|0;return c[a+4>>2]|0}function eL(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;hL(a,0);return b|0}function fL(a){a=a|0;return qL(c[a>>2]|0,0,0)|0}function gL(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)Aa(102651,102632,463,102665);g=a+48|0;d=mL(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=mL(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)nL(c[d>>2]|0,0,b);else nL(c[f>>2]|0,0,0-b|0);oL(a);return pL(d,f)|0}function hL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=c[a>>2]|0;h=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;g=i+(b<<2)|0;if(!((a|0)<(h|0)?(c[(c[i+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[g>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(h|0))break;d=i+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[i+(a<<2)>>2]|0)+4>>2]|0))break;a=c[g>>2]|0;c[g>>2]=e;c[d>>2]=a;c[(c[g>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function iL(){_K(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0,1)|0;jL(c[(c[(c[47324]|0)+16>>2]|0)+192>>2]|0,0);return}function jL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))jL(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){jL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)kL(b);return}function kL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(lL(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(lL(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function lL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;f=c[((h|0)==3?a:a+48|0)+40>>2]|0;e=(f|0)==(b|0);h=((h|0)==2?a:a+-48|0)+40|0;if(e)f=c[h>>2]|0;g=c[b+16>>2]|0;i=c[(c[f+16>>2]|0)+288>>2]|0;f=c[a+16>>2]|0;a=c[f+156>>2]|0;if((c[g+284>>2]|0)<=(i|0)?(i|0)<=(c[g+288>>2]|0):0){if((c[f+164>>2]|0)>-1)f=c[f+160>>2]|0;else f=0;g=0;f=f-a|0}else{g=1;f=a}if((d|0)>0)e=(c[h>>2]|0)==(b|0);i=e?1:-1;return ((((g|0)==0?i:0-i|0)|0)<0?0-f|0:f)|0}function mL(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function nL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){nL(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function oL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){dA(1,102754,h)|0;Ca(189124,1)}g=c[47325]|0;c[d>>2]=g;d=c[47326]|0;c[47325]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[47332]|0;d=c[47333]|0;c[47333]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){dA(1,102788,h+8|0)|0;Ca(189124,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){dA(1,102823,h+16|0)|0;Ca(189124,1)}else{l=h;return}}function pL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){i=a+12|0;d=c[i>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){h=b+12|0;d=c[h>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){d=c[a+8>>2]|0;e=c[b+8>>2]|0;if((e&d|0)<=-1)Aa(102677,102632,327,102724);f=c[a+4>>2]|0;g=c[b+4>>2]|0;if((e|0)!=-1){d=(d|0)==-1?b:(g|0)<(f|0)?a:b;a=d;d=c[d+8>>2]|0}c[h>>2]=a;c[i>>2]=a;c[a+4>>2]=g+f;if((d|0)>-1)j=a;else Aa(102735,102632,335,102724)}else j=a;return j|0}function qL(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=mL(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=qL(h,a,d)|0}else if((mL(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=qL(i,a,d)|0}else if((mL(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function rL(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){oL(g);a=(rL(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){oL(f);a=(rL(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function sL(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,102887)|0;if(!d)d=30;else d=d6(d)|0;return LK(a,b,c,d)|0}function tL(a){a=+a;return +((c[47187]|0)==0?a:+h[23322]-a)}function uL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0;s=l;l=l+16|0;r=s;c[47334]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];vL(d);i=c[d+16>>2]|0;u=+h[i+32>>3];t=+h[i+40>>3];wL(e,102898,+h[b+352>>3]);wL(e,102905,u/72.0);wL(e,102905,t/72.0);xL(e);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){yL(e,102907,ZD(HB(i)|0)|0);q=(c[g>>2]|0)+16|0;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];c[r+8>>2]=c[q+8>>2];c[r+12>>2]=c[q+12>>2];zL(e,r);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=uC(i)|0;b=AL(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=ZD(OA(i,c[47216]|0)|0)|0;wL(e,102905,+h[(c[g>>2]|0)+32>>3]);wL(e,102905,+h[(c[g>>2]|0)+40>>3]);yL(e,102905,b);yL(e,102905,$O(i,c[47219]|0,111368)|0);yL(e,102905,c[c[(c[g>>2]|0)+8>>2]>>2]|0);yL(e,102905,$O(i,c[47202]|0,137615)|0);b=$O(i,c[47203]|0,195341)|0;if(!(a[b>>0]|0))b=$O(i,c[47202]|0,135101)|0;yL(e,102905,b);xL(e)}i=hC(d,i)|0}o=f<<24>>24==0;n=gC(d)|0;while(1){if(!n)break;m=UA(d,n)|0;while(1){if(!m)break;if(o){f=195341;j=195341}else{j=NA(m,111756)|0;f=NA(m,111765)|0;f=f|0?f:195341;j=j|0?j:195341}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;q=m+48|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;v=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=v}yL(e,0,111751);BL(e,c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0,j);BL(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);CL(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;v=g+(b<<4)|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){v=uC(c[((c[m>>2]&3|0)==3?m:q)+40>>2]|0)|0;yL(e,102905,AL(v,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);v=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];zL(e,r)}yL(e,102905,$O(m,c[47254]|0,111368)|0);yL(e,102905,$O(m,c[47238]|0,137615)|0);xL(e);m=WA(d,m)|0}n=hC(d,n)|0}DL(102913,e);l=s;return}function vL(a){a=a|0;var b=0.0;if(c[47187]|0){a=c[a+16>>2]|0;b=+h[a+40>>3]+ +h[a+24>>3];h[23322]=b;h[23323]=b/72.0}return}function wL(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)DL(b,a);h[e>>3]=c;i2(d,102919,e)|0;DL(d,a);l=f;return}function xL(b){b=b|0;a[195237]=10;vb[c[47334]&127](b,195237)|0;return}function yL(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)DL(b,a);DL(c,a);return}function zL(a,b){a=a|0;b=b|0;var d=0.0;wL(a,102905,+h[b>>3]/72.0);d=+h[b+8>>3];wL(a,102905,((c[47187]|0)==0?d:+h[23322]-d)/72.0);return}function AL(a,b){a=a|0;b=b|0;var c=0;c=dD(a,b)|0;b=ZD(c)|0;fD(a,c)|0;return b|0}function BL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=ZD(HB(d)|0)|0;else{f=uC(d)|0;d=AL(f,(F3(HB(d)|0,58)|0)+1|0)|0}yL(b,102905,d);if(e|0?a[e>>0]|0:0)yL(b,108285,ZD(e)|0);return}function CL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;DL(102905,a);c[f>>2]=b;i2(e,137696,f)|0;DL(e,a);l=d;return}function DL(a,b){a=a|0;b=b|0;vb[c[47334]&127](b,a)|0;return}function EL(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0;X=l;l=l+2288|0;V=X+208|0;U=X+192|0;T=X+176|0;S=X+160|0;R=X+144|0;Q=X+128|0;O=X+112|0;N=X+96|0;M=X+80|0;L=X+64|0;K=X+56|0;H=X+48|0;W=X+32|0;P=X+24|0;G=X;D=X+1264|0;E=X+224|0;F=d+16|0;B=(e[(c[F>>2]|0)+178>>1]|0)>2;PJ(1);vL(d);hA(E,1024,X+240|0);YP(d,1,102924,195341)|0;YP(d,1,102928,195341)|0;c[47200]=YP(d,1,141419,195341)|0;c[47199]=YP(d,1,141351,195341)|0;YP(d,2,102924,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0;if(i&16){YP(d,1,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&1){YP(d,2,102938,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&32){YP(d,2,102934,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&2){YP(d,2,102941,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(i&4){YP(d,2,102949,195341)|0;i=a[(c[F>>2]|0)+113>>0]|0}if(!(i&8)){u=0;v=0;w=0}else{w=YP(d,0,102938,195341)|0;v=YP(d,0,102957,195341)|0;u=YP(d,0,102964,195341)|0}y=YP(d,0,102972,195341)|0;z=E+4|0;A=E+8|0;t=0;i=0;x=gC(d)|0;while(1){if(!x)break;s=x+16|0;j=c[s>>2]|0;n=+h[j+16>>3];o=+h[j+24>>3];o=(c[47187]|0)==0?o:+h[23322]-o;if(B){Y=+h[(c[j+132>>2]|0)+16>>3]*72.0;h[G>>3]=n;h[G+8>>3]=o;h[G+16>>3]=Y;i2(D,102975,G)|0;kA(E,D)|0;j=3;while(1){if((j|0)>=(e[(c[F>>2]|0)+178>>1]|0))break;h[P>>3]=+h[(c[(c[s>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;i2(D,102990,P)|0;kA(E,D)|0;j=j+1|0}j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;r=c[E>>2]|0;c[z>>2]=r;PA(x,102924,r)|0;r=x}else{h[W>>3]=n;h[W+8>>3]=o;i2(D,102996,W)|0;PA(x,102924,D)|0;r=x}h[H>>3]=+h[(c[s>>2]|0)+80>>3]/72.0;i2(D,102919,H)|0;HA(r,c[47199]|0,D)|0;j=c[s>>2]|0;h[K>>3]=(+h[j+88>>3]+ +h[j+96>>3])/72.0;i2(D,102919,K)|0;HA(r,c[47200]|0,D)|0;j=c[s>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[L>>3]=+h[k+56>>3];h[L+8>>3]=Y;i2(D,102996,L)|0;PA(r,102934,D)|0;j=c[s>>2]|0}if(f2(c[c[j+8>>2]>>2]|0,106521)|0){if(c[47232]|0?(fN(x)|0)<<24>>24:0){k=c[(c[s>>2]|0)+12>>2]|0;q=k+8|0;j=c[q>>2]|0;if((j|0)<3){j=NA(r,103006)|0;if(!j)j=8;else j=d6(j)|0;j=(j|0)<3?8:j}p=k+44|0;n=+(j|0);m=0;while(1){if((m|0)>=(j|0))break;if((m|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32}k=(c[47187]|0)!=0;if((c[q>>2]|0)>2){Z=c[p>>2]|0;Y=+h[Z+(m<<4)+8>>3]/72.0;Y=k?+h[23323]-Y:Y;h[M>>3]=+h[Z+(m<<4)>>3]/72.0;h[M+8>>3]=Y;i2(D,103019,M)|0}else{Z=c[s>>2]|0;Y=+(m|0)/n*3.141592653589793*2.0;o=+h[Z+32>>3]*.5*+I(+Y);Y=+h[Z+40>>3]*.5*+J(+Y);Y=k?+h[23323]-Y:Y;h[N>>3]=o;h[N+8>>3]=Y;i2(D,103019,N)|0}kA(E,D)|0;m=m+1|0}k=c[47232]|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;HA(r,k,Z)|0}}else{FL(x,c[j+12>>2]|0,E);mA(E)|0;j=c[z>>2]|0;if(j>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;j=c[z>>2]|0}a[j>>0]=0;Z=c[E>>2]|0;c[z>>2]=Z;PA(r,102928,Z)|0}a:do if((c[47185]|0)>0){s=UA(d,x)|0;j=t;while(1){if(!s)break a;r=s+16|0;k=c[r>>2]|0;do if((a[k+112>>0]|0)!=6?(C=c[k+8>>2]|0,(C|0)!=0):0){q=0;k=C;while(1){if((q|0)>=(c[k+4>>2]|0))break;if((q|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=59;k=c[(c[r>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(q*48|0)+8>>2]|0){Y=+h[k+(q*48|0)+24>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[O>>3]=+h[k+(q*48|0)+16>>3];h[O+8>>3]=Y;i2(D,103029,O)|0;kA(E,D)|0;i=1;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}if(c[k+(q*48|0)+12>>2]|0){Y=+h[k+(q*48|0)+40>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[Q>>3]=+h[k+(q*48|0)+32>>3];h[Q+8>>3]=Y;i2(D,103042,Q)|0;kA(E,D)|0;j=1}p=0;while(1){k=c[(c[r>>2]|0)+8>>2]|0;m=c[k>>2]|0;if((p|0)>=(c[m+(q*48|0)+4>>2]|0))break;if((p|0)>0){k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}c[z>>2]=k+1;a[k>>0]=32;k=c[c[(c[r>>2]|0)+8>>2]>>2]|0}else k=m;Z=c[k+(q*48|0)>>2]|0;Y=+h[Z+(p<<4)+8>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[R>>3]=+h[Z+(p<<4)>>3];h[R+8>>3]=Y;i2(D,102996,R)|0;kA(E,D)|0;p=p+1|0}q=q+1|0}k=c[z>>2]|0;if(k>>>0>=(c[A>>2]|0)>>>0){iA(E,1)|0;k=c[z>>2]|0}a[k>>0]=0;k=c[E>>2]|0;c[z>>2]=k;PA(s,102924,k)|0;k=c[r>>2]|0;m=c[k+96>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[S>>3]=+h[m+56>>3];h[S+8>>3]=Y;i2(D,102996,S)|0;PA(s,102938,D)|0;k=c[r>>2]|0}m=c[k+108>>2]|0;do if(m){if(!(a[m+81>>0]|0))break;Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[T>>3]=+h[m+56>>3];h[T+8>>3]=Y;i2(D,102996,T)|0;PA(s,102934,D)|0;k=c[r>>2]|0}while(0);m=c[k+100>>2]|0;if(m){Y=+h[m+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[U>>3]=+h[m+56>>3];h[U+8>>3]=Y;i2(D,102996,U)|0;PA(s,102941,D)|0;k=c[r>>2]|0}k=c[k+104>>2]|0;if(!k)break;Y=+h[k+64>>3];Y=(c[47187]|0)==0?Y:+h[23322]-Y;h[V>>3]=+h[k+56>>3];h[V+8>>3]=Y;i2(D,102996,V)|0;PA(s,102949,D)|0}while(0);s=WA(d,s)|0}}else j=t;while(0);t=j;x=hC(d,x)|0}GL(d,y,w,v,u);lA(E);if(b[(c[F>>2]|0)+136>>1]&1)SP(d);c[f>>2]=i;c[g>>2]=t;PJ(0);l=X;return}function FL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0;i=l;l=l+1056|0;f=i;e=i+32|0;g=b+48|0;if(!(c[g>>2]|0)){q=c[a+16>>2]|0;p=+h[q+16>>3];m=(c[47187]|0)!=0;j=+h[q+24>>3];o=j+ +h[b+24>>3];k=+h[23322];n=p+ +h[b+32>>3];j=j+ +h[b+40>>3];h[f>>3]=+h[b+16>>3]+p;h[f+8>>3]=m?k-o:o;h[f+16>>3]=n;h[f+24>>3]=m?k-j:j;i2(e,103080,f)|0;kA(d,e)|0}e=b+56|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break;FL(a,c[(c[e>>2]|0)+(b<<2)>>2]|0,d);b=b+1|0}l=i;return}function GL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0;p=l;l=l+1088|0;k=p+56|0;n=p+48|0;m=p+32|0;i=p;j=p+64|0;o=b+16|0;v=c[o>>2]|0;s=(c[47187]|0)!=0;u=+h[v+24>>3];r=+h[23322];t=+h[v+32>>3];q=+h[v+40>>3];h[i>>3]=+h[v+16>>3];h[i+8>>3]=s?r-u:u;h[i+16>>3]=t;h[i+24>>3]=s?r-q:q;i2(j,103055,i)|0;HA(b,d,j)|0;i=c[(c[o>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){u=+h[i+64>>3];u=(c[47187]|0)==0?u:+h[23322]-u;h[m>>3]=+h[i+56>>3];h[m+8>>3]=u;i2(j,102996,m)|0;HA(b,e,j)|0;v=c[(c[o>>2]|0)+12>>2]|0;u=+h[v+32>>3];h[n>>3]=+h[v+24>>3]/72.0;i2(j,103075,n)|0;HA(b,f,j)|0;h[k>>3]=u/72.0;i2(j,103075,k)|0;HA(b,g,j)|0;b=1}else b=1;while(1){i=c[o>>2]|0;if((b|0)>(c[i+180>>2]|0))break;GL(c[(c[i+184>>2]|0)+(b<<2)>>2]|0,d,e,f,g);b=b+1|0}l=p;return}function HL(a){a=a|0;var b=0;b=l;l=l+16|0;EL(a,b,b+4|0);l=b;return}function IL(){return Sz(20788,c[4591]|0)|0}function JL(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function KL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function LL(a){a=a|0;Oz(a)|0;return}function ML(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=NL(e)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=d;return}function NL(a){a=a|0;var b=0,d=0,e=0;b=HK(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function OL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=NL(f)|0;if((eb[c[a>>2]&63](a,b,1)|0)!=(b|0))l6(b);l=e;return}function PL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(eb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function QL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(eb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function RL(a){a=a|0;return Uz(a)|0}function SL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK((Uz(a)|0)<<3)|0;b=d;a=Qz(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function TL(){var a=0,b=0,d=0,e=0;a=IK(40)|0;b=a;d=20824;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Sz(a,c[4591]|0)|0}function UL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=IK(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function VL(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function WL(a){a=a|0;eb[c[a>>2]&63](a,0,64)|0;return}function XL(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;Oz(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;l6(a);a=d}l6(b);return}function YL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(eb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function ZL(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+64|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+48|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];a=d+16|0;if((b+-1|0)>>>0<2){_L(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];$L(d,q);_L(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];$L(m,q);c[a>>2]=c[m>>2];c[a+4>>2]=c[m+4>>2];c[a+8>>2]=c[m+8>>2];c[a+12>>2]=c[m+12>>2]}else{_L(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];$L(d,q);_L(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];$L(p,q);c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];$L(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;ZL(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function _L(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function $L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[47335]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];kK(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[23324];e=b+8|0;h[e>>3]=+h[e>>3]-+h[23325];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function aM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+1168|0;x=A+144|0;z=A+96|0;y=A+64|0;w=A+48|0;s=A+32|0;t=A+16|0;u=A;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;v=b+16|0;q=c[(c[v>>2]|0)+116>>2]|0;c[47335]=q&3;q=q&1;a[195239]=q;if(!(q<<24>>24))cM(b);else bM(b);dM(b);q=c[v>>2]|0;g=c[q+12>>2]|0;do if(g|0?(a[g+81>>0]|0)==0:0){j=g+24|0;c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];r=+h[w>>3]+16.0;h[w>>3]=r;j=w+8|0;e=+h[j>>3]+8.0;h[j>>3]=e;j=(a[q+275>>0]&1)!=0;m=q+16|0;n=q+40|0;o=q+24|0;p=q+32|0;if(a[195239]|0){if(j)h[p>>3]=e+ +h[p>>3];else h[m>>3]=+h[m>>3]-e;e=+h[n>>3];f=+h[o>>3];B=e-f;i=(r-B)*.5;if(!(r>B))break;h[o>>3]=f-i;h[n>>3]=e+i;break}k=(c[47335]|0)==0;do if(j)if(k){h[n>>3]=e+ +h[n>>3];break}else{h[o>>3]=+h[o>>3]-e;break}else if(k){h[o>>3]=+h[o>>3]-e;break}else{h[n>>3]=e+ +h[n>>3];break}while(0);e=+h[p>>3];f=+h[m>>3];B=e-f;i=(r-B)*.5;if(r>B){h[m>>3]=f-i;h[p>>3]=e+i}}while(0);if(d){switch(c[47335]|0){case 0:{u=q+16|0;c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}case 1:{_L(s,-+h[q+40>>3],+h[q+16>>3]);c[46648]=c[s>>2];c[46649]=c[s+4>>2];c[46650]=c[s+8>>2];c[46651]=c[s+12>>2];break}case 2:{_L(t,+h[q+16>>3],-+h[q+40>>3]);c[46648]=c[t>>2];c[46649]=c[t+4>>2];c[46650]=c[t+8>>2];c[46651]=c[t+12>>2];break}case 3:{_L(u,+h[q+24>>3],+h[q+16>>3]);c[46648]=c[u>>2];c[46649]=c[u+4>>2];c[46650]=c[u+8>>2];c[46651]=c[u+12>>2];break}default:{}}eM(b);g=c[(c[v>>2]|0)+12>>2]|0}if(g|0?(a[g+81>>0]|0)==0:0){c[x>>2]=c[w>>2];c[x+4>>2]=c[w+4>>2];c[x+8>>2]=c[w+8>>2];c[x+12>>2]=c[w+12>>2];fM(b,x)}if(c[47181]|0){e=+h[23324];f=+h[23325];if(!(a[195239]|0)){h[z>>3]=f;h[z+8>>3]=e;h[z+16>>3]=f;h[z+24>>3]=e;h[z+32>>3]=-e;h[z+40>>3]=-f;i2(x,103316,z)|0}else{h[y>>3]=e;h[y+8>>3]=f;h[y+16>>3]=e;h[y+24>>3]=f;i2(x,103101,y)|0}z=Y3(x)|0;c[c[47181]>>2]=z}l=A;return}function bM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+16>>3]+ +h[i+96>>3]*.5;d=i+104|0}else{j=+h[i+32>>3]-+h[i+64>>3]*.5;d=i+72|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+24|0;do if(!(g&4)){e=+h[i+40>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=e-f;break}}else e=f+ +h[b>>3];while(0);h[k+56>>3]=j;h[k+64>>3]=e;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;bM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function cM(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,l=0;l=b+16|0;if(((vC(b)|0)!=(b|0)?(i=c[l>>2]|0,k=c[i+12>>2]|0,(k|0)!=0):0)?(a[k+81>>0]|0)==0:0){b=a[i+275>>0]|0;if(!(b&1)){j=+h[i+24>>3]+ +h[i+56>>3]*.5;d=i+48|0}else{j=+h[i+40>>3]-+h[i+88>>3]*.5;d=i+80|0}g=b<<24>>24;f=+h[d>>3]*.5;b=i+32|0;do if(!(g&4)){e=+h[i+16>>3];if(!(g&2)){e=(e+ +h[b>>3])*.5;break}else{e=f+e;break}}else e=+h[b>>3]-f;while(0);h[k+56>>3]=e;h[k+64>>3]=j;a[(c[(c[l>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[l>>2]|0;if((b|0)>(c[d+180>>2]|0))break;cM(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function dM(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+448|0;Q=S+408|0;K=S+352|0;J=S+312|0;I=S+304|0;H=S+248|0;M=S+200|0;B=S+184|0;O=S+96|0;q=S+488|0;C=S+456|0;D=S+416|0;E=S+376|0;F=S+360|0;G=S+320|0;w=S+288|0;x=S+256|0;y=S+232|0;z=S+152|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;p=e+16|0;u=c[p>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[47186]|0)!=0:0)){u=g<<16>>16!=0;o=gC(e)|0;h=0;j=0;i=0;while(1){if(!o)break;g=c[(c[o+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);n=UA(e,o)|0;g=j;while(1){if(!n)break;k=c[n+16>>2]|0;j=c[k+108>>2]|0;m=k+8|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(u)g=((c[m>>2]|0)!=0&1)+g|0}while(0);n=WA(e,n)|0}o=hC(e,o)|0;j=g}if(!(a[(c[p>>2]|0)+113>>0]&8))o=0;else o=hM(e)|0;t=j+i|0;if(t|0){p=h+j+o+(qB(e)|0)|0;r=HK(p*40|0)|0;s=HK(t*40|0)|0;_L(M,2147483647.0,2147483647.0);g=M+16|0;_L(q,-2147483647.0,-2147483647.0);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];g=s;i=r;n=gC(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];iM(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];kM(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=UA(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];dA(0,104128,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){lM(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];dA(0,104163,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){mM(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];dA(0,104203,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(u?c[h+8>>2]|0:0){tO(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];kM(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];dA(0,104243,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];jM(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=WA(e,m)|0}n=hC(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));nM(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=aP(e,DA(e,0,104279,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];fT(r,p,s,t,O)|0;if(a[195234]|0)oM(r,p,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;pM(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];xP(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!(a[195234]|0)){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;dA(0,104324,R)|0}}else{R=c[15715]|0;c[Q>>2]=f;c[Q+4>>2]=t;z4(R,104291,Q)|0}l6(r);l6(s)}}l=S;return}function eM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[23324]!=0.0|+h[23325]!=0.0|(c[47335]|0)!=0){d=gC(a)|0;while(1){if(!d)break;if(c[47335]|0)oQ(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];$L(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[47185]|0)==1){b=UA(a,d)|0;while(1){if(!b)break a;gM(b);b=WA(a,b)|0}}while(0);d=hC(a,d)|0}ZL(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function fM(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=j+32|0;do if(!(g&4)){e=+h[j+16>>3];if(!(g&2)){f=(e+ +h[b>>3])*.5;break}else{f=e+ +h[d>>3]*.5;break}}else f=+h[b>>3]-+h[d>>3]*.5;while(0);e=+h[d+8>>3]*.5;if(!(g&1))e=e+ +h[j+24>>3];else e=+h[j+40>>3]-e;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function gM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[195236]|0)==0?(a[d+112>>0]|0)!=6:0){q=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;dA(1,104111,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];$L(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];$L(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function hM(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((vC(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(hM(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function iM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;d=c[d+16>>2]|0;m=+h[d+40>>3]*72.0;j=+h[d+32>>3]*72.0;k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function jM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0,n=0;g=l;l=l+32|0;i=g;n=(a[195239]|0)==0;j=+h[d+24>>3];m=+h[d+32>>3];k=n?j:m;j=n?m:j;h[e+16>>3]=k;h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];qM(b,e,i);l=g;return}function kM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}f=b+24|0;if(!(a[195239]|0)){c[e>>2]=c[f>>2];c[e+4>>2]=c[f+4>>2];c[e+8>>2]=c[f+8>>2];c[e+12>>2]=c[f+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[f>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function lM(a,b){a=a|0;b=b|0;b=sO(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function mM(a,b){a=a|0;b=b|0;var d=0;b=sO(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function nM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));nM(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((vC(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];jM(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function oM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15715]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;z4(q,104366,o)|0;a:do if((d[195234]|0)>=2){_3(104426,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=195341;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;z4(q,104435,p)|0;o=o+1|0;a=a+40|0}_3(104478,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;z4(q,104487,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function pM(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+24>>3]+ +h[b+8>>3]*.5;h[a>>3]=+h[b+16>>3]+ +h[b>>3]*.5;h[a+8>>3]=c;return}function qM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=j+ +h[b+16>>3];h[f>>3]=j;i=i+ +h[b+24>>3];h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function rM(a){a=a|0;aM(a,1);return}function sM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=kP(NA(a,105827)|0)|0;if(b){b=tM(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)/72.0;h[a+40>>3]=+(d|0)/72.0;a=HK(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=HB(a)|0;dA(0,104535,d)|0}l=e;return}function tM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[47336]|0;if(!d){d=Sz(20860,c[4591]|0)|0;c[47336]=d}d=eb[c[d>>2]&63](d,b,512)|0;do if(!d){g=f4(b,139124)|0;if(!g){c[e>>2]=b;dA(0,104584,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(o4(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(q4(f,104612,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(C4(f,104641)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;dA(0,104646,i)|0;d=0}else f=12;if((f|0)==12){q=IK(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[47337]|0;c[47337]=o+1;c[q+12>>2]=o;i3(V5(g)|0,j)|0;o=c[j+36>>2]|0;n=IK(o+1|0)|0;c[q+52>>2]=n;y4(g,0,0)|0;X5(n,o,1,g)|0;a[n+o>>0]=0;o=c[47336]|0;eb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}l4(g)|0}while(0);l=p;return d|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b+52>>2]|0);return}function vM(a){a=a|0;l6(c[(c[a+16>>2]|0)+12>>2]|0);return}function wM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;mF(b,f)|0;mF(b,153748)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=kP(f)|0;if(!e){c[k>>2]=f;dA(0,104685,k)|0;break}g=f4(e,139124)|0;if(!g){c[m>>2]=e;dA(0,104713,m)|0;break}while(1){f=jP(g)|0;if(!f)break;mF(b,f)|0}mF(b,153748)|0;l4(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function xM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){f=d+2|0;if((((N3(f,104741,3)|0)!=0?(N3(f,104745,5)|0)!=0:0)?(N3(f,104751,3)|0)!=0:0)?(N3(f,104755,7)|0)!=0:0)break b;else f=37;while(1){if((f&255)<14){e=d+1|0;if(!(7166>>>(f&255)&1))break}else e=d+1|0;d=e;f=a[e>>0]|0}switch(f<<24>>24){case 0:continue a;case 13:{if((a[e>>0]|0)==10){d=d+2|0;continue a}break}default:{}}d=e;continue a}else e=37;break}default:{}}while(0);c:while(1){switch(e<<24>>24){case 10:case 13:case 0:break c;default:{}}nF(b,e<<24>>24)|0;f=d+1|0;d=f;e=a[f>>0]|0}f=d+1|0;switch(e<<24>>24){case 13:{if((a[f>>0]|0)==10)d=d+2|0;else g=21;break}case 0:break;default:g=21}if((g|0)==21){g=0;d=f}nF(b,10)|0}return}function yM(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[47336]|0;a:do if(d|0){d=eb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];sF(b,104763,e);mF(b,104781)|0;xM(b,d);mF(b,104799)|0;mF(b,104814)|0}g=c[47336]|0;d=eb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function zM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=dQ(b)|0;break}default:{switch(AM(b)|0){case 2:break;case 1:{f=dQ(b)|0;break a}default:{f=b;break a}}if(!(c[47338]|0)){dA(0,104826,e)|0;c[47338]=1;f=b}else f=b}}while(0);if(!(c[47339]|0))hA(189356,0,0);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=92;break}default:{}}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}h=a[e>>0]|0;c[47340]=d+1;a[d>>0]=h;e=e+1|0}d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}c[47340]=d+1;a[d>>0]=41;if((f|0)!=(b|0))l6(f);d=c[47340]|0;if(d>>>0>=(c[47341]|0)>>>0){iA(189356,1)|0;d=c[47340]|0}a[d>>0]=0;h=c[47339]|0;c[47340]=h;l=g;return h|0}function AM(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function BM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((gY(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[47344]|0;if((a|0)>(c[47343]|0)){a=a<<5;if(!f)a=IK(a)|0;else a=KK(f,a)|0;c[47344]=a;g=c[b>>2]|0;c[47343]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((MX(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];DY(i,m)}a=m+4|0;if(!(CM(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[47345]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function CM(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[47346]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=KK(c[47345]|0,a<<4)|0;c[47345]=b;if(!b){dA(1,104916,d)|0;a=1;break}else{c[47346]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function DM(){var b=0,d=0,e=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+1;do if((e|0)<=0){e=IK(4800)|0;c[47345]=e;if(!e){dA(1,104939,b)|0;b=1;break}c[47346]=300;c[47348]=0;c[47349]=0;if(a[195234]|0){RO();b=0}else b=0}else b=0;while(0);l=d;return b|0}function EM(){var b=0,d=0,e=0,f=0.0,g=0,i=0;d=l;l=l+16|0;b=d;e=c[47347]|0;c[47347]=e+-1;if((e|0)<=1?(l6(c[47345]|0),a[195234]|0):0){e=c[15715]|0;i=c[47348]|0;g=c[47349]|0;f=+SO();c[b>>2]=i;c[b+4>>2]=g;h[b+8>>3]=f;z4(e,104977,b)|0}l=d;return}function FM(a,b){a=a|0;b=b|0;return GM(a,b,0)|0}function GM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+176|0;K=P+168|0;O=P+128|0;B=P+120|0;z=P+112|0;j=P+104|0;w=P+88|0;s=P+72|0;g=P+64|0;x=P+160|0;M=P+152|0;C=P+144|0;y=P+32|0;A=P;N=P+136|0;c[47348]=(c[47348]|0)+1;L=c[b+80>>2]|0;c[47349]=(c[47349]|0)+L;f=b+88|0;while(1){G=c[f>>2]|0;if(!G){H=4;break}f=c[G+16>>2]|0;if(!(a[f+112>>0]|0)){H=5;break}else f=f+116|0}do if((H|0)==4){dA(1,105020,g)|0;f=0}else if((H|0)==5){F=c[b+84>>2]|0;if(!(HM(L,F,b)|0)){i=L<<3;if((i|0)>(c[47350]|0)){f=c[47351]|0;g=L<<7;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47351]=f;c[47350]=i}a:do if((L|0)>1?+h[F+8>>3]>+h[F+40>>3]:0){f=0;while(1){if((f|0)==(L|0)){u=1;break a}D=F+(f<<5)+24|0;Q=+h[D>>3];E=F+(f<<5)+8|0;h[D>>3]=-+h[E>>3];h[E>>3]=-Q;f=f+1|0}}else u=0;while(0);v=c[G>>2]&3;D=G+48|0;f=c[((v|0)==3?G:D)+40>>2]|0;E=G+-48|0;if((f|0)==(c[((v|0)==2?G:E)+40>>2]|0)){c[j>>2]=HB(f)|0;dA(1,105127,j)|0;f=0;break}t=L+-1|0;v=c[47351]|0;j=0;f=0;b:while(1){c:while(1){if((f|0)>=(L|0)){s=t;break b}i=F+(f<<5)+8|0;if((f|0)>0)k=+h[i>>3]>+h[F+(f+-1<<5)+8>>3]?-1:1;else k=0;r=f+1|0;if((f|0)<(t|0))m=+h[F+(r<<5)+8>>3]>+h[i>>3]?1:-1;else m=0;if((k|0)!=(m|0)){H=24;break}switch(k|0){case -1:{f=r;break}case 0:{H=28;break c}default:{H=29;break b}}}do if((H|0)==24){H=0;q=j+2|0;n=F+(f<<5)|0;o=F+(f<<5)+24|0;g=v+(j+1<<4)|0;p=v+(j<<4)+8|0;j=v+(j<<4)|0;if((k|0)==1|(m|0)==-1){h[j>>3]=+h[n>>3];h[p>>3]=+h[o>>3];h[g>>3]=+h[n>>3];f=q;break}else{f=F+(f<<5)+16|0;h[j>>3]=+h[f>>3];h[p>>3]=+h[i>>3];h[g>>3]=+h[f>>3];i=o;f=q;break}}else if((H|0)==28){H=0;q=F+(f<<5)|0;h[v+(j<<4)>>3]=+h[q>>3];h[v+(j<<4)+8>>3]=+h[F+(f<<5)+24>>3];g=v+(j+1<<4)|0;h[g>>3]=+h[q>>3];f=j+2|0}while(0);h[g+8>>3]=+h[i>>3];j=f;f=r}if((H|0)==29){c[s>>2]=k;c[s+4>>2]=k;c[s+8>>2]=480;dA(1,105062,s)|0;f=0;break}d:while(1){if((s|0)<=-1)break;g=F+(s<<5)+8|0;if((s|0)<(t|0))k=+h[g>>3]>+h[F+(s+1<<5)+8>>3]?-1:1;else k=0;if((s|0)>0)m=+h[F+(s+-1<<5)+8>>3]>+h[g>>3]?1:-1;else m=0;n=F+(s<<5)|0;f=j+1|0;i=j+2|0;o=F+(s<<5)+16|0;r=F+(s<<5)+24|0;e:do if((k|0)!=(m|0)){p=v+(f<<4)|0;q=v+(j<<4)|0;j=v+(j<<4)+8|0;if((k|0)==1|(m|0)==-1){h[q>>3]=+h[n>>3];h[j>>3]=+h[r>>3];h[p>>3]=+h[n>>3];break}else{h[q>>3]=+h[o>>3];h[j>>3]=+h[g>>3];h[p>>3]=+h[o>>3];g=r;break}}else switch(k|0){case 0:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];g=r;break e}case -1:{h[v+(j<<4)>>3]=+h[o>>3];h[v+(j<<4)+8>>3]=+h[g>>3];h[v+(f<<4)>>3]=+h[o>>3];h[v+(f<<4)+8>>3]=+h[r>>3];h[v+(i<<4)>>3]=+h[n>>3];f=j+3|0;h[v+(i<<4)+8>>3]=+h[r>>3];h[v+(f<<4)>>3]=+h[n>>3];i=j+4|0;break e}default:{H=42;break d}}while(0);h[v+(f<<4)+8>>3]=+h[g>>3];s=s+-1|0;j=i}if((H|0)==42){c[w>>2]=k;c[w+4>>2]=k;c[w+8>>2]=513;dA(1,105062,w)|0;f=0;break}f:do if(!u)f=0;else{f=0;while(1){if((f|0)>=(L|0)){f=0;break}u=F+(f<<5)+24|0;Q=+h[u>>3];w=F+(f<<5)+8|0;h[u>>3]=-+h[w>>3];h[w>>3]=-Q;f=f+1|0}while(1){if((f|0)>=(j|0)){f=0;break f}w=v+(f<<4)+8|0;h[w>>3]=-+h[w>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[x>>2]=v;i=x+4|0;c[i>>2]=j;h[y>>3]=+h[b>>3];h[y+8>>3]=+h[b+8>>3];h[y+16>>3]=+h[b+40>>3];h[y+24>>3]=+h[b+48>>3];if((gY(x,y,M)|0)<0){dA(1,105166,z)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[47344]|0;if((g|0)>(c[47343]|0)){g=g<<5;if(!f)f=IK(g)|0;else f=KK(f,g)|0;c[47344]=f;g=c[i>>2]|0;c[47343]=g}j=c[47351]|0;i=0;while(1){if((i|0)>=(g|0))break;y=f+(i<<5)|0;z=j+(i<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];y=f+(i<<5)+16|0;z=i+1|0;x=j+(((z|0)%(g|0)|0)<<4)|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];i=z}if(!(a[b+29>>0]|0)){c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0}else{Q=+h[b+16>>3];h[A>>3]=+I(+Q);h[A+8>>3]=+J(+Q)}i=A+16|0;if(!(a[b+69>>0]|0)){c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}else{Q=+h[b+56>>3];h[i>>3]=-+I(+Q);h[A+24>>3]=-+J(+Q)};c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];if((MX(f,g,K,A,C)|0)<0){dA(1,105205,B)|0;f=0;break}}else{c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,C)}k=C+4|0;if(!(CM(c[k>>2]|0)|0)){f=0;while(1){if((f|0)>=(L|0))break;h[F+(f<<5)>>3]=2147483647.0;h[F+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[k>>2]|0;j=c[47345]|0;g=c[C>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}C=j+(f<<4)|0;B=g+(f<<4)|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;IM(F,L,c[47345]|0,c[k>>2]|0,f);j=0;while(1){if((j|0)>=(L|0))break;if(+h[F+(j<<5)>>3]==2147483647.0){H=84;break}if(+h[F+(j<<5)+16>>3]==-2147483648.0){H=84;break}j=j+1|0}if((H|0)==84){H=0;C=f<<1;f=C;g=(C|0)>(2147483647/(L|0)|0|0)?15:g}i=(j|0)==(L|0)?0:i;g=g+1|0}if(i<<24>>24){D=HB(c[((c[G>>2]&3|0)==3?G:D)+40>>2]|0)|0;H=HB(c[((c[G>>2]&3|0)==2?G:E)+40>>2]|0)|0;c[O>>2]=D;c[O+4>>2]=H;dA(0,105243,O)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];DY(K,N);IM(F,L,c[N>>2]|0,c[N+4>>2]|0,10);l6(c[N>>2]|0)}c[d>>2]=c[k>>2];f=c[47345]|0}else f=0}else f=0}while(0);l=P;return f|0}function HM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0;S=l;l=l+32|0;J=S+16|0;I=S+8|0;m=S;f=0;k=0;while(1){if((k|0)>=(b|0))break;j=d+(k<<5)|0;t=+h[d+(k<<5)+8>>3]-+h[d+(k<<5)+24>>3];if(!((t>=0.0?t:-t)<.01)?(t=+h[j>>3]-+h[d+(k<<5)+16>>3],!((t>=0.0?t:-t)<.01)):0){if((f|0)!=(k|0)){P=d+(f<<5)|0;c[P>>2]=c[j>>2];c[P+4>>2]=c[j+4>>2];c[P+8>>2]=c[j+8>>2];c[P+12>>2]=c[j+12>>2];c[P+16>>2]=c[j+16>>2];c[P+20>>2]=c[j+20>>2];c[P+24>>2]=c[j+24>>2];c[P+28>>2]=c[j+28>>2]}f=f+1|0}k=k+1|0}K=d+16|0;do if(!(+h[d>>3]>+h[K>>3])?(M=d+8|0,N=d+24|0,!(+h[M>>3]>+h[N>>3])):0){O=f+-1|0;P=c[15715]|0;x=0;while(1){if((x|0)>=(O|0))break;E=x+1|0;F=d+(E<<5)|0;g=+h[F>>3];G=d+(E<<5)+16|0;i=+h[G>>3];if(g>i){R=16;break}B=d+(E<<5)+8|0;o=+h[B>>3];C=d+(E<<5)+24|0;p=+h[C>>3];if(o>p){R=16;break}H=d+(x<<5)+16|0;w=+h[H>>3]<g;f=w&1;D=d+(x<<5)|0;v=+h[D>>3]>i;b=v&1;A=d+(x<<5)+24|0;u=+h[A>>3]<o;k=u&1;z=d+(x<<5)+8|0;m=+h[z>>3]>p;j=m&1;y=b+f+k+j|0;n=(y|0)!=0;if(!((a[195234]|0)==0|n^1)){c[J>>2]=x;c[J+4>>2]=E;z4(P,105443,J)|0;JM(e)}a:do if(n){if(!w)if(!v)if(!u){if(m){m=0;n=f;f=C;j=z;R=24}}else{m=j;k=0;n=f;f=B;j=A;R=24}else{m=j;b=0;n=f;f=G;j=D;R=24}else{m=j;n=0;f=F;j=H;R=24}if((R|0)==24){R=0;x=~~+h[j>>3];h[j>>3]=+h[f>>3];h[f>>3]=+(x|0);j=m;f=n}n=y+-1|0;m=0;while(1){if((m|0)>=(n|0))break a;do if((f|0)!=1){if((b|0)==1){t=+(~~((+h[D>>3]+ +h[G>>3])*.5+.5)|0);h[G>>3]=t;h[D>>3]=t;b=0;break}if((k|0)==1){t=+(~~((+h[A>>3]+ +h[B>>3])*.5+.5)|0);h[B>>3]=t;h[A>>3]=t;k=0;break}if((j|0)==1){t=+(~~((+h[z>>3]+ +h[C>>3])*.5+.5)|0);h[C>>3]=t;h[z>>3]=t;j=0}}else{t=+(~~((+h[H>>3]+ +h[F>>3])*.5+.5)|0);h[F>>3]=t;h[H>>3]=t;f=0}while(0);m=m+1|0}}while(0);q=+h[D>>3];r=+h[H>>3];s=+h[F>>3];t=+h[G>>3];j=KM(~~q,~~r,~~s,~~t)|0;p=+h[z>>3];o=+h[A>>3];i=+h[B>>3];g=+h[C>>3];f=KM(~~p,~~o,~~i,~~g)|0;if(!((j|0)!=0&(f|0)!=0)){x=E;continue}if((j|0)<(f|0)){C=r-q>t-s;x=r<t;h[(C?(x?H:D):x?F:G)>>3]=C?(x?s:t):x?r:q;x=E;continue}else{C=o-p>g-i;x=o<g;h[(C?(x?H:D):x?F:G)+8>>3]=C?(x?i:g):x?o:p;x=E;continue}}if((R|0)==16){c[I>>2]=E;dA(1,105397,I)|0;JM(e);f=1;break}i=+h[e>>3];g=+h[d>>3];f=e+8|0;if(!(((!(i<g)?!(i>+h[K>>3]):0)?(L=+h[f>>3],!(L<+h[M>>3])):0)?!(L>+h[N>>3]):0)){if(a[195234]|0){_3(105486,42,1,P)|0;JM(e);i=+h[e>>3];g=+h[d>>3]}if(i<g){h[e>>3]=g;i=g}g=+h[K>>3];if(i>g)h[e>>3]=g;i=+h[f>>3];g=+h[M>>3];if(i<g){h[f>>3]=g;i=g}g=+h[N>>3];if(i>g)h[f>>3]=g}k=e+40|0;i=+h[k>>3];f=d+(O<<5)|0;g=+h[f>>3];n=e+48|0;b=d+(O<<5)+8|0;m=d+(O<<5)+24|0;j=d+(O<<5)+16|0;if(((!(i<g)?!(i>+h[j>>3]):0)?(Q=+h[n>>3],!(Q<+h[b>>3])):0)?!(Q>+h[m>>3]):0){f=0;break}if(a[195234]|0){_3(105529,39,1,P)|0;JM(e);i=+h[k>>3];g=+h[f>>3]}if(i<g){h[k>>3]=g;i=g}g=+h[j>>3];if(i>g)h[k>>3]=g;i=+h[n>>3];g=+h[b>>3];if(i<g){h[n>>3]=g;i=g}g=+h[m>>3];if(i>g){h[n>>3]=g;f=0}else f=0}else R=12;while(0);if((R|0)==12){dA(1,105352,m)|0;JM(e);f=1}l=S;return f|0}function IM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=S(e,b)|0;t=+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}x=+(g|0)/t;m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];v=+h[r>>3];z=+h[i>>3];w=+h[j>>3];m=m+x*(y-m);n=n+x*(v-n);y=y+x*(z-y);v=v+x*(w-v);m=m+x*(y-m);n=n+x*(v-n);m=m+x*(y+x*(z+x*(+h[k>>3]-z)-y)-m);n=n+x*(v+x*(w+x*(+h[l>>3]-w)-v)-n);f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function JM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15715]|0;f=b+80|0;c[g>>2]=c[f>>2];z4(e,105569,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;z4(e,105580,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?105611:105623;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;z4(e,105639,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?105611:105623;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;z4(e,105690,j)|0;l=m;return}function KM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function LM(a,b){a=a|0;b=b|0;return GM(a,b,1)|0}function MM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=HK(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}NM(a,g,i,d,e);if((i|0)>20)l6(g);l=j;return}\nfunction aQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=cQ(g)|0;h=d+4|0;i=d+8|0;e=D3(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){iA(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;l6(g);l=j;return k|0}function bQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;f=0;while(1){if((f|0)>=8){d=0;break a}g=a[e+f>>0]|0;if(!(g<<24>>24)){d=0;break a}f=f+1|0;if(g<<24>>24==59)break;a[d>>0]=g;d=d+1|0}a[d>>0]=0;d=e6(h,23712,252,8,96)|0;if(!d)d=0;else{e=e+f|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;b:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break b}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break b}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break b;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break b;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function cQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1056|0;i=n;k=n+8|0;c[i>>2]=b;hA(k,1024,n+24|0);j=k+8|0;m=k+4|0;while(1){c[i>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=bQ(i)|0;if(!b){b=38;e=c[j>>2]|0;h=7}else h=6}else h=6;do if((h|0)==6){h=0;e=c[j>>2]|0;if(b>>>0<127)h=7;else{d=c[m>>2]|0;e=d>>>0>=e>>>0;f=b>>>6;g=(b&63|128)&255;if(b>>>0<2047){if(e){iA(k,1)|0;b=c[m>>2]|0}else b=d;c[m>>2]=b+1;a[b>>0]=f|192;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g;break}if(e){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b>>>12|224;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=f&63|128;b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}c[m>>2]=b+1;a[b>>0]=g}}while(0);if((h|0)==7){d=c[m>>2]|0;if(d>>>0>=e>>>0){iA(k,1)|0;d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=b}b=c[i>>2]|0}b=c[m>>2]|0;if(b>>>0>=(c[j>>2]|0)>>>0){iA(k,1)|0;b=c[m>>2]|0}a[b>>0]=0;j=c[k>>2]|0;c[m>>2]=j;m=Y3(j)|0;lA(k);l=n;return m|0}function dQ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;hA(h,1024,j+16|0);i=h+4|0;g=h+8|0;while(1){d=b+1|0;e=a[b>>0]|0;f=c[g>>2]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}c[i>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[i>>2]|0;if(d>>>0>=f>>>0){iA(h,1)|0;d=c[i>>2]|0}c[i>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[i>>2]|0;if(b>>>0>=f>>>0){iA(h,1)|0;b=c[i>>2]|0}a[b>>0]=0;g=c[h>>2]|0;c[i>>2]=g;i=Y3(g)|0;lA(h);l=j;return i|0}function eQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];fQ(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];BP(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=vb[d&127](f,e)|0}else d=0;l=n;return d|0}function fQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function gQ(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];BP(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];CP(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(iQ(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((jQ(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(gQ(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function iQ(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3];else a=0;return a&1|0}function jQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)Aa(110238,107962,1637,110246);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((gK(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(kQ(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function kQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];WH(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],WH(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function lQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){f=b+1|0;do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{if(!(C3(f,110261)|0)){d=4;break a}if(!(C3(f,110267)|0)){d=12;break a}break}case 70:case 102:{if(!(C3(f,110275)|0)){d=2;break a}break}case 76:case 108:{if(!(C3(f,110280)|0)){d=2;break a}break}case 78:case 110:{if(!(C3(f,110284)|0)){d=0;break a}if(!(C3(f,110288)|0)){d=2;break a}break}case 79:case 111:{if(!(C3(f,110290)|0)){d=8;break a}break}case 80:case 112:{if(!(C3(f,110295)|0)){d=6;break a}break}case 83:case 115:{if(!(C3(f,110303)|0)){d=10;break a}break}case 84:case 116:{if(!(C3(f,110309)|0)){d=10;break a}break}case 89:case 121:{if(!(C3(f,110313)|0)){d=10;break a}break}default:{}}while(0);c[g>>2]=b;dA(0,110316,g)|0}while(0);l=h;return d|0}function mQ(d,f){d=d|0;f=f|0;var g=0;g=NA(d,110357)|0;if(g)if(!(a[g>>0]|0))f=0;else f=lQ(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=e[d>>1]|f;return}function nQ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0;w=l;l=l+32|0;n=w+16|0;p=w;v=e&1;u=e&2;j=n+8|0;k=p+8|0;g=+h[a>>3];i=+h[a+8>>3];a:do if((c|0)==2){t=+h[a+16>>3]-g;q=+h[a+24>>3]-i;s=g-t;h[n>>3]=s;t=g+t;h[p>>3]=t;f=i-q;h[j>>3]=f;q=i+q;h[k>>3]=q;g=s}else{h[p>>3]=g;h[n>>3]=g;h[k>>3]=i;h[j>>3]=i;e=0;m=g;f=i;while(1){if((e|0)>=(c|0)){t=g;g=m;q=i;break a}x=a+(e<<4)|0;s=+h[x>>3];q=+h[(s<m?x:n)>>3];h[n>>3]=q;t=+h[a+(e<<4)+8>>3];r=+h[(t<f?x:n)+8>>3];h[j>>3]=r;s=+h[(s>g?x:p)>>3];h[p>>3]=s;t=+h[(t>i?x:p)+8>>3];h[k>>3]=t;e=e+1|0;m=q;f=r;g=s;i=t}}while(0);s=g+(t-g)*.5;r=f+(q-f)*.5;e=(u|0)!=0;o=-r;j=b+8|0;a=b+24|0;m=r-f;k=b+16|0;if(!v){i=d;g=+J(+i);i=+I(+i);f=(q-r)*g;if(e){h[j>>3]=r-f;f=r+f}else{h[j>>3]=f-r;f=o-m*g}h[a>>3]=f;d=(t-s)*i;h[b>>3]=s-d;h[k>>3]=s+d}else{d=s-g;d=+G(+(d*d+m*m));h[j>>3]=e?r:o;h[b>>3]=s;h[k>>3]=d*.25;h[a>>3]=d}l=w;return}function oQ(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0;f=b<<24>>24==0;b=c[a+16>>2]|0;d=+h[b+32>>3]*72.0;e=+h[b+40>>3]*72.0;g=(f?d:e)*.5;h[b+96>>3]=g;h[b+88>>3]=g;h[b+80>>3]=f?e:d;return}function pQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+16|0;j=y+8|0;x=4;w=k6(40)|0;c[w>>2]=0;s=y;o=0;e=la(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;a:do if((g|0)!=1){o=0;v=la(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=A6(c[f>>2]|0,w|0,x|0)|0;if(!e)Ca(f|0,p|0);D=p}else e=-1;if((e|0)!=1){if(!(a[195236]|0))t=0;else{o=0;e=ea(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}t=e}o=0;e=ra(97,b|0,110365)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[47394]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=15;break}case 105:{e=18;u=15;break}case 109:{e=1;u=15;break}case 114:{e=4;u=15;break}case 115:{e=2;u=15;break}default:e=g}if((u|0)==15){u=0;e=g|e;c[47394]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;aa(23,0,110369,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74;break}}o=0;r=ra(98,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[47394]&2|0){o=0;ha(26,c[15715]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break}}o=0;g=la(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=ra(99,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[47180]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[195236]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=aa(37,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}else{o=0;f=aa(37,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=A6(c[h>>2]|0,w|0,x|0)|0;if(!d)Ca(h|0,p|0);D=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}if(f|0)break c;o=0;na(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=la(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=ra(100,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=A6(c[f>>2]|0,w|0,x|0)|0;if(!h)Ca(f|0,p|0);D=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}}o=0;g=ra(86,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74;break a}n=i}o=0;j=la(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;ta(28,v|0,n|0,8,101);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;$(110,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15715]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[47394]&16|0:0){o=0;ha(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ta(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}else{o=0;na(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}o=0;na(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}}o=0;e=aa(38,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ta(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;$(111,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74;break a}h=h+1|0}o=0;oa(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){o=0;e=la(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=la(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;na(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){w=x6(189580,1,w|0,x|0)|0;x=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=D;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=D;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=D;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;$(112,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){z=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=D;g=z;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[47394]&4|0){o=0;ba(17,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}}o=0;qa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;z=k;u=n;e=D;g=f;h=q;d=r;i=s;j=t;m=v;k=z;n=u;u=74;continue}q=g}if(!(a[195236]|0))e=0;else{o=0;$(113,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;$(105,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=A6(c[f>>2]|0,w|0,x|0)|0;if(!g)Ca(f|0,p|0);D=p}else g=-1;if((g|0)==1){e=D;g=q;u=74;continue d}e=e+1|0}o=0;$(105,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(114,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74;continue}o=0;$(105,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,x|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){e=D;g=q;u=74}else break}l6(w|0);l=y;return}function qQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;Z3(111236,a)|0;Z3(111247,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){jR(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{lR(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;z4(a,111267,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;z4(a,111287,p)|0;d=d+1|0}Z3(111309,a)|0;l=q;return}function rQ(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;d=+h[e+16>>3]-+h[a+16>>3];b=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function sQ(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function tQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;jR(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){hR(j,h,c[h+24>>2]|0);CR(b,f,h,0.0)|0;break}else{hR(j,h,i);CR(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function uQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;jR(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;hR(h,g,e);CR(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function vQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+128|0;F=K+64|0;n=K+48|0;G=K+32|0;H=K+16|0;I=K;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}E=HK((g*56|0)+-112|0)|0;c[F+52>>2]=0;c[F+48>>2]=0;D=e+8|0;e=c[D>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;hR(n,e,g);j=e;o=e;q=0.0;p=+h[n>>3];C=0;m=0.0;A=+h[n+8>>3];while(1){B=i+8|0;if(!(c[B>>2]|0))break;y=iR(j,i)|0;aV(d,y,c[o+12>>2]|0);w=o+36|0;x=i+36|0;if((a[w>>0]|0)==(a[x>>0]|0))if((c[B>>2]|0)==(f|0)){hR(H,i,y);e=H;J=12}else{n=o;e=C;k=A}else{jR(G,y);e=G;J=12}if((J|0)==12){J=0;z=+h[e>>3];k=+h[e+8>>3];n=a[w>>0]|0;t=n<<24>>24!=0;e=(o|0)==(c[D>>2]|0);j=g+40|0;v=y+48|0;s=i+20|0;r=g+48|0;u=y+40|0;if(t){g=e?0:m>A?1:3;if(n<<24>>24==(a[x>>0]|0)){n=u;o=j;j=r;e=0}else{n=u;o=j;j=r;e=(c[s>>2]|0)==(y|0)?1:3}}else{g=e?0:q>p?4:2;if(!(a[x>>0]|0)){n=v;o=r;e=0}else{n=v;o=r;e=(c[s>>2]|0)==(y|0)?4:2}}kR(F,(t^1)&1,+h[j>>3],+h[o>>3],+h[n>>3],g,e);e=C+1|0;g=E+(C*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));if((a[w>>0]|0)!=(a[x>>0]|0)?(c[B>>2]|0)==(f|0):0){hR(I,i,y);j=(a[x>>0]|0)!=0;q=+h[(j?u:v)>>3];kR(F,(j^1)&1,+h[(j?v:u)>>3],q,q,j?(A>k?1:3):p>z?4:2,0);j=C+2|0;g=E+(e*56|0)|0;n=F;o=g+56|0;do{c[g>>2]=c[n>>2];g=g+4|0;n=n+4|0}while((g|0)<(o|0));g=y;n=i;q=p;p=z;e=j;m=A}else{g=y;n=i;q=p;p=z;m=A}}j=i;i=c[B>>2]|0;o=n;C=e;A=k}i=n6(E,C*56|0)|0;e=C+-1|0;g=0;while(1){if((g|0)>=(C|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);j=g+1|0;if((g|0)>=(e|0)){g=j;continue}c[i+(g*56|0)+52>>2]=i+(j*56|0);g=j}c[b>>2]=C;c[b+4>>2]=i;l=K;return}function wQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];cR(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function xQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Sz(25740,c[4591]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=HK(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];cR(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function yQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;bR(HQ(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function zQ(a){a=a|0;var b=0,d=0;d=a+20|0;JQ(c[d>>2]|0);b=a+24|0;JQ(c[b>>2]|0);KQ(c[d>>2]|0);KQ(c[b>>2]|0);LQ(c[d>>2]|0,a);LQ(c[b>>2]|0,a);MQ(c[d>>2]|0);MQ(c[b>>2]|0);return}function AQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z+32|0;o=z;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;Z3(110484,a)|0;c[n>>2]=10;c[n+4>>2]=10;z4(a,110890,n)|0;Z3(138568,a)|0;i=b+4|0;q=t+16|0;r=t+8|0;s=t+24|0;j=b+12|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[r>>3];B=+h[q>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;z4(a,138587,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];IQ(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}Z3(110907,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[r>>3];B=+h[q>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;z4(a,138624,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;z4(a,110932,x)|0;l=z;return}function BQ(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+112|0;I=Q+88|0;H=Q+72|0;P=Q+32|0;L=Q+16|0;M=Q;N=Q+56|0;O=Q+40|0;J=c[15715]|0;z=(j|0)==0;A=M+8|0;B=L+8|0;y=0;k=0;m=0;p=0;j=0;while(1){if((y|0)>=(f|0))break;C=c[i+(y<<3)+4>>2]|0;D=C+48|0;x=(c[(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)+16>>2]|0)+16|0;E=C+16|0;F=(c[E>>2]|0)+16|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];CQ(N,H,I);c[L>>2]=c[N>>2];c[L+4>>2]=c[N+4>>2];c[L+8>>2]=c[N+8>>2];c[L+12>>2]=c[N+12>>2];F=C+-48|0;x=(c[(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)+16>>2]|0)+16|0;w=(c[E>>2]|0)+56|0;c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];CQ(O,H,I);c[M>>2]=c[O>>2];c[M+4>>2]=c[O+4>>2];c[M+8>>2]=c[O+8>>2];c[M+12>>2]=c[O+12>>2];w=c[g+(y<<3)>>2]|0;x=c[g+(y<<3)+4>>2]|0;v=w*3|0;G=v+1|0;if((v|0)>=(m|0)){if(k|0)l6(j);p=IK(G<<4)|0;k=p;m=G;j=p}if(!(a[x>>0]|0)){o=+(EQ(x,e)|0);n=+h[L>>3]}else{n=+DQ(x,e);o=+h[B>>3]}s=k+16|0;h[k+16>>3]=n;h[k+24>>3]=o;c[p>>2]=c[s>>2];c[p+4>>2]=c[s+4>>2];c[p+8>>2]=c[s+8>>2];c[p+12>>2]=c[s+12>>2];s=1;q=x;t=2;while(1){r=t+1|0;u=k+(r<<4)|0;v=k+(t<<4)|0;if((s|0)>=(w|0))break;q=x+(s*56|0)|0;if(!(a[q>>0]|0))o=+(EQ(q,e)|0);else n=+DQ(q,e);r=k+(t+2<<4)|0;h[v>>3]=n;h[k+(t<<4)+8>>3]=o;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];s=s+1|0;t=t+3|0}if(!(a[q>>0]|0)){o=+(EQ(q,e)|0);n=+h[M>>3]}else{n=+DQ(q,e);o=+h[A>>3]}h[u>>3]=n;h[k+(r<<4)+8>>3]=o;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];if((d[195234]|0)>1){x=HB(c[((c[C>>2]&3|0)==3?C:D)+40>>2]|0)|0;D=HB(c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0)|0;c[P>>2]=x;c[P+4>>2]=D;z4(J,110443,P)|0}bO(C,c[((c[C>>2]&3|0)==2?C:F)+40>>2]|0,k,G,25728);if((!z?(K=c[(c[E>>2]|0)+96>>2]|0,K|0):0)?(a[K+81>>0]|0)==0:0){c[H>>2]=c[L>>2];c[H+4>>2]=c[L+4>>2];c[H+8>>2]=c[L+8>>2];c[H+12>>2]=c[L+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];wO(b,C,H,I)}y=y+1|0}l6(j);l=Q;return}function CQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[d>>3]+ +h[b>>3];e=b+8|0;h[e>>3]=+h[d+8>>3]+ +h[e>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+24>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+40>>3];return +(d+ +(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0)*(+h[b+56>>3]-d))}function EQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=HQ(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~(d+(1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d))|0}function FQ(a){a=a|0;return 0}function GQ(a){a=a|0;return 0}function HQ(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)Aa(110456,110462,423,110470);a=c[a+16>>2]|0;a=eb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)Aa(110481,110462,425,110470);else return a|0;return 0}function IQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){s=+h[j+56>>3];k=+h[j+40>>3];j=EQ(t,g)|0;k=(s+k)*.5}else{s=+h[j+64>>3];k=+h[j+48>>3];j=~~((s+k)*.5);k=+DQ(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;z4(d,110983,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=EQ(m,g)|0;else f=~~+DQ(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;z4(d,111005,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){D=+h[j+56>>3];k=+h[j+40>>3];j=EQ(m,g)|0;k=(D+k)*.5}else{D=+h[j+64>>3];k=+h[j+48>>3];j=~~((D+k)*.5);k=+DQ(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;z4(d,111019,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function JQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=mR(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function KQ(a){a=a|0;var b=0;a=Qz(a)|0;while(1){if(!a)break;b=Qz(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)aR(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function LQ(a,b){a=a|0;b=b|0;var d=0;d=Qz(a)|0;while(1){if(!d)break;a=Qz(c[d+16>>2]|0)|0;while(1){if(!a)break;QQ(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function MQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Qz(a)|0;while(1){if(!e)break;i=e+8|0;f=Qz(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[47394]&8|0)NQ(f,~~+h[i>>3]);g=f+32|0;rR(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function NQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15715]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;z4(i,111040,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Uz(e)|0){OQ(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);Z3(111060,i)|0;d=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;Z3(111065,i)|0;OQ(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);Z3(153748,i)|0;d=eb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function OQ(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+80|0;k=m+40|0;j=m;n=(a[d>>0]|0)==0;i=+h[d+8>>3];e=+h[d+24>>3];f=+h[d+16>>3];g=PQ(c[d+32>>2]|0)|0;d=PQ(c[d+36>>2]|0)|0;if(n){h[k>>3]=f;h[k+8>>3]=i;h[k+16>>3]=e;h[k+24>>3]=i;c[k+32>>2]=g;c[k+36>>2]=d;z4(b,111071,k)|0}else{h[j>>3]=i;h[j+8>>3]=f;h[j+16>>3]=i;h[j+24>>3]=e;c[j+32>>2]=g;c[j+36>>2]=d;z4(b,111071,j)|0}l=m;return}function PQ(a){a=a|0;switch(a|0){case 0:{a=111122;break}case 1:{a=111117;break}case 2:{a=111110;break}case 3:{a=111103;break}case 4:{a=111095;break}default:a=0}return a|0}function QQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((qR(u,j,k)|0)==0?(qR(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,RQ(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;SQ(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;SQ(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{TQ(c[s>>2]|0,c[o>>2]|0,g,0,a,b);TQ(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{TQ(c[o>>2]|0,c[s>>2]|0,0,g,a,b);TQ(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;UQ(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function RQ(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))Aa(111193,110462,843,111224);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0);else a=0;return a&1|0}function SQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=0;while(1){b=VQ(b,e)|0;h=g+1|0;if(!b){i=0;break}d=VQ(d,f)|0;if(!d){j=5;break}if(!(RQ(b,d)|0)){j=6;break}else g=h}if((j|0)==5)Aa(138697,110462,871,111142);else if((j|0)==6)i=XQ(b,WQ(b,d)|0,h,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=i;return}function TQ(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=i+24|0;v=i+20|0;i=HQ(c[((a[b>>0]|0)==0?v:w)>>2]|0,b)|0;oR(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);s=1;while(1){if((s|0)>(g|0))break;t=VQ(b,e)|0;u=VQ(d,f)|0;j=i+32|0;k=b+40|0;l=d+40|0;m=t+8|0;n=b+36|0;o=b+32|0;p=b+16|0;q=u+40|0;r=t+40|0;do if(!(a[b>>0]|0)){i=HQ(c[w>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}else{p=(c[n>>2]|0)==1;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}}else{i=HQ(c[v>>2]|0,t)|0;j=c[j>>2]|0;d=c[k>>2]|0;b=c[l>>2]|0;if(+h[m>>3]==+h[p>>3]){p=(c[o>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,b,d);break}else{oR(k,d,b);break}else if(j){oR(k,d,b);break}else{oR(k,b,d);break}}else{p=(c[n>>2]|0)==2;j=(qR(j,d,b)|0)!=0;k=c[i+32>>2]|0;d=c[q>>2]|0;b=c[r>>2]|0;if(p)if(j){oR(k,d,b);break}else{oR(k,b,d);break}else if(j){oR(k,b,d);break}else{oR(k,d,b);break}}}while(0);b=t;d=u;s=s+1|0}return}function UQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(RQ(b,d)|0))break;g=VQ(b,1)|0;d=VQ(d,e)|0;b=g}g=c[(HQ(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;pR(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function VQ(a,b){a=a|0;b=b|0;if(!a)Aa(111129,110462,798,111133);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function WQ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=YQ(b,c,3,1)|0;else b=YQ(b,c,4,2)|0;l=f;return b|0}dA(1,111155,e)|0;Ca(189580,1);return 0}function XQ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=1;while(1){if((m|0)>(e|0))break;l=VQ(b,f)|0;g=+h[l+8>>3]==+h[b+16>>3];k=0-d|0;i=b+36|0;j=b+32|0;do if(!(a[b>>0]|0))if(g){g=(c[j>>2]|0)==1;break}else{g=(c[i>>2]|0)==3;break}else if(g){g=(c[j>>2]|0)==4;break}else{g=(c[i>>2]|0)==2;break}while(0);b=l;m=m+1|0;d=g?k:d}return d|0}function YQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0;p=+h[a+24>>3];i=+h[b+16>>3];do if(!(p<i)?(f=+h[a+16>>3],m=+h[b+24>>3],!(f>m)):0){if(i<p&f<i){b=ZQ(a,b,d,e)|0;break}if(i<f&f<m){b=0-(ZQ(b,a,d,e)|0)|0;break}g=b+36|0;s=a+36|0;b=b+32|0;a=a+32|0;if(!(f==i))if(p==i){d=c[s>>2]|0;return ((d|0)==(c[b>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{b=c[a>>2]|0;b=(b|0)==(c[g>>2]|0)?0:(b|0)==(e|0)?1:-1;break}q=c[b>>2]|0;r=c[a>>2]|0;if(!(p==m))if(p<m){s=(c[s>>2]|0)==(d|0);b=$Q(q,r,d,e)|0;b=s?b:0-b|0;break}else{s=(c[g>>2]|0)==(e|0);b=$Q(r,q,d,e)|0;b=s?b:0-b|0;break}n=c[g>>2]|0;if((r|0)==(q|0)?(c[s>>2]|0)==(n|0):0){b=0;break}o=(q|0)==(d|0);j=(r|0)!=(e|0);b=(r|0)!=(d|0);k=(q|0)==(e|0);if((q|0)==(n|0)){if(o|k){b=o?1:-1;break}if(b?(c[s>>2]|0)!=(d|0):0){b=1;break}if(j?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}l=(n|0)!=(e|0);if(!(l|o^1)){if(b?(c[s>>2]|0)==(e|0):0){b=1;break}if((r|0)==(d|0)?(c[s>>2]|0)!=(e|0):0){b=-1;break}b=0;break}g=c[s>>2]|0;a=(n|0)!=(d|0);if(!(a|k^1)){if((r|0)==(e|0)&(g|0)!=(d|0)){b=1;break}return (j&(g|0)==(d|0))<<31>>31|0}b=(q|0)!=0;if(!(b|a)){b=_Q(r,g,d)|0;break}if(!(b|l)){b=0-(_Q(r,g,e)|0)|0;break}if(o&(n|0)==0){b=_Q(g,r,d)|0;break}else{b=0-(_Q(g,r,e)|0)|0;break}}else b=0;while(0);return b|0}function ZQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0;i=+h[a+24>>3];j=+h[b+24>>3];k=a+36|0;f=b+32|0;do if(i<j){a=c[k>>2]|0;if((a|0)==(d|0)?(c[f>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[f>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[f>>2]|0;g=(f|0)==(e|0);a=b+36|0;if(i==j){f=c[a>>2]|0;a=c[k>>2]|0;if(g){a=$Q(a,f,d,e)|0;break}else{a=0-($Q(f,a,d,e)|0)|0;break}}if(g?(c[a>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[a>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function _Q(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function $Q(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function aR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(WQ(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{oR(d,a,b);break}case -1:{oR(d,b,a);break}default:{}}b=b+1|0}}return}function bR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=IK(d<<2)|0;else a=KK(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function cR(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=eb[c[a>>2]&63](a,f,512)|0;if(!e){e=HK(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Sz(25776,c[4591]|0)|0;eb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;eb[c[f>>2]&63](f,b,1)|0;l=g;return}function dR(a,b,d){a=a|0;b=b|0;d=d|0;nR(c[b+32>>2]|0);l6(c[b+28>>2]|0);l6(b);return}function eR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];d=c+8|0;a=b+8|0;if(!(e>f))if(e<f)a=!(+h[a>>3]>=+h[d>>3])<<31>>31;else a=0;else a=!(+h[a>>3]<=+h[d>>3])&1;return a|0}function fR(a,b,d){a=a|0;b=b|0;d=d|0;Oz(c[b+16>>2]|0)|0;l6(b);return}function gR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function hR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=(a[d+36>>0]|0)!=0;k=e+40|0;j=e+48|0;i=e+64|0;l=e+56|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[k>>3];g=+h[j>>3];if(m){g=(g+ +h[i>>3])*.5;break}else{f=(f+ +h[l>>3])*.5;break}}else{g=+h[i>>3];f=+h[l>>3];if(m){g=(g+ +h[j>>3])*.5;break}else{f=(f+ +h[k>>3])*.5;break}}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function iR(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function jR(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+48>>3]+ +h[b+64>>3])*.5;h[a>>3]=(+h[b+40>>3]+ +h[b+56>>3])*.5;h[a+8>>3]=c;return}function kR(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;a[b>>0]=d;h[b+8>>3]=e;d=b+16|0;k=b+32|0;l=b+36|0;m=b+24|0;if(f<g){h[d>>3]=f;h[m>>3]=g;c[k>>2]=i;c[l>>2]=j;d=0}else{h[m>>3]=f;h[d>>3]=g;c[l>>2]=i;c[k>>2]=j;d=1}a[b+1>>0]=d;return}function lR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;f=c[b+36>>2]|0;i=b+64|0;g=b+56|0;e=b+40|0;do if((c[f+4>>2]|0)!=(d|0)){b=b+48|0;if((c[f+12>>2]|0)==(d|0)){e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[b>>3];break}if((c[f+8>>2]|0)==(d|0)){e=~~+h[e>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5);break}if((c[f>>2]|0)==(d|0)){e=~~+h[g>>3];b=~~((+h[b>>3]+ +h[i>>3])*.5)}else{e=0;b=0}}else{e=~~((+h[e>>3]+ +h[g>>3])*.5);b=~~+h[i>>3]}while(0);c[a>>2]=e;c[a+4>>2]=b;return}function mR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=HK(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=HK(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=NU()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function nR(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;Oz(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}l6(e);l6(a);return}function oR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,1)|0;l=e;return}function pR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;eb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;eb[c[d>>2]&63](d,f,2)|0;l=e;return}function qR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(eb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function rR(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;do if(b|0){f=a+4|0;if((b|0)==1){c[(c[f>>2]|0)+4>>2]=0;break}e=sR(b)|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=tR(a,d,b,e)|0;d=d+1|0}while(1){d=uR(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}vR(e)}while(0);return}function sR(a){a=a|0;var b=0;b=HK(8)|0;c[b+4>>2]=HK(a<<2)|0;c[b>>2]=-1;return b|0}function tR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Qz(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=tR(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;wR(e,b);return d+1|0}function uR(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function vR(a){a=a|0;l6(c[a+4>>2]|0);l6(a);return}function wR(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function xR(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function yR(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function zR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=HK(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=HK((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function AR(a){a=a|0;var b=0;b=HK(24)|0;c[b>>2]=0;c[b+16>>2]=HK(a*40|0)|0;return b|0}function BR(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function CR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;DR(b,f);DR(d,f);return a|0}function DR(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function ER(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+28>>2]|0);l6(c[b>>2]|0);l6(c[a+20>>2]|0);l6(a);return}function FR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}VU();a:do if(!(YU(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=_U()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=GR(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+(c[g>>2]|0)+ +h[k>>3]);if((m|0)==-2147483648){c[l>>2]=n;if(YU(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;$U(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function GR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function HR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;JF(d,3,b)|0;b=c[d+92>>2]|0;do if(b){e=c[b+16>>2]|0;h=c[e+12>>2]|0;c[a+76>>2]=h;f=c[e+16>>2]|0;c[a+84>>2]=f;g=a+80|0;c[g>>2]=c[e>>2];c[a+88>>2]=c[b+4>>2];e=a+152|0;f=c[e>>2]|c[f>>2];c[e>>2]=f;b=c[d+80>>2]|0;d=a+60|0;if(!b){c[d>>2]=0;b=999;break}else{i=c[b+16>>2]|0;c[d>>2]=c[i+12>>2];d=c[i+16>>2]|0;c[a+68>>2]=d;c[a+72>>2]=c[b+4>>2];c[e>>2]=f|c[d>>2];c[a+64>>2]=c[((h|0)==0?g:i)>>2];b=300;break}}else b=999;while(0);return b|0}function IR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(iF(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){db[d&127](a);a=0}else a=0;else a=1;return a|0}function JR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)db[d&127](a);c[(c[a>>2]|0)+24>>2]=0;qF(a);return}function KR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0;j=+h[b+504>>3];g=+h[b+512>>3];l=+h[b+352>>3];k=(c[b+360>>2]|0)==0;i=+h[d>>3];f=+h[d+8>>3];e=l*+h[b+528>>3]*((k?g:j)+(k?f:i));h[a>>3]=l*+h[b+520>>3]*(k?j+i:-(g+f));h[a+8>>3]=e;return}function LR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=i*+h[a+520>>3];i=i*+h[a+528>>3];a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=j*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)+8>>3]=i*(g+ +h[b+(a<<4)+8>>3]);a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(g+ +h[b+(a<<4)+8>>3]));h[d+(a<<4)+8>>3]=i*(f+ +h[b+(a<<4)>>3]);h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function MR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)db[d&127](a);return}function NR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)db[d&127](a);pF(a);return}function OR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)db[d&127](a);return}function PR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)db[d&127](a);return}function QR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function RR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)db[d&127](a);return}function SR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)db[d&127](a);return}function TR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)db[d&127](a);return}function UR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)db[d&127](a);return}function VR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)db[d&127](a);return}function WR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)db[d&127](a);return}function XR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)db[d&127](a);return}function YR(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)db[d&127](a);return}function ZR(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)db[d&127](a);return}function _R(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)db[d&127](a);return}function $R(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)db[d&127](a);return}function aS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)fb[h&31](a,b,d,e,f);return}function bS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)db[d&127](a);return}function cS(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)lb[e&63](a,b);return}function dS(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)db[d&127](a);return}function eS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];KR(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];rb[g&127](b,f,e)}}while(0);l=k;return}function fS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function gS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=xT(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e6(e,f,c[a+20>>2]|0,4,102)|0)!=0:0))h=3;a:do if((h|0)==3){switch(yT(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{dA(1,111347,g)|0;break a}}a=IK((D3(b)|0)+16|0)|0;c[i>>2]=b;i2(a,111312,i)|0;if(NJ(a)|0){c[j>>2]=b;dA(0,111321,j)|0}l6(a)}while(0);l=k;return}function hS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=F3(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(gS(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)lb[e&63](b,g);if(h)a[i>>0]=58;return}function iS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(gS(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)lb[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function jS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(f2(b,111368)|0)){c[j>>2]=3;b=f;continue b}if(!(f2(b,111389)|0)){d=115;while(1){e=b+1|0;if(!(d<<24>>24))break;b=e;d=a[e>>0]|0}h[i>>3]=+a6(e);b=f;continue b}break}case 100:{if(!(f2(b,137628)|0)){c[j>>2]=1;b=f;continue b}if(!(f2(b,137621)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(f2(b,134636)|0?f2(b,111374)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(f2(b,111384)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(f2(b,111402)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(f2(b,111409)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(f2(b,111418)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;dA(0,111426,k)|0;b=f}}while(0);l=m;return}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[b>>3]+ +h[d>>3])*.5;h[g+8>>3]=(+h[b+8>>3]+ +h[b+24>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){LR(a,g,g,2)|0;f=c[i>>2]|0}rb[f&127](a,g,e)}l=j;return}function lS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,g=c[k>>2]|0,c[g+144>>2]|0):0){j=g+16|0;if(!(e&4))g=0;else{i=g+56|0;e=e&-5;f=m;g=j;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));f=j;g=i;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));g=1}if(!(c[a+152>>2]&8192)){f=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=f;f=KK(c[47435]|0,f<<4)|0;c[47435]=f}else f=c[47435]|0;LR(a,b,f,d)|0;xb[c[n>>2]&31](a,f,d,e)}else xb[c[n>>2]&31](a,b,d,e);if(g|0){f=(c[k>>2]|0)+16|0;g=m;h=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0))}}l=o;return}function mS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];lS(a,f,4,d);l=e;return}function nS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=c[a+60>>2]|0;do if((h|0?(j=h+104|0,i=c[j>>2]|0,i|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){h=g&255;if(c[a+152>>2]&8192|0){ub[i&15](a,b,d,e,f,h);break}g=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=g;g=KK(c[47435]|0,g<<4)|0;c[47435]=g}else g=c[47435]|0;LR(a,b,g,d)|0;ub[c[j>>2]&15](a,g,d,e,f,h)}while(0);return}function oS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){rb[f&127](a,b,d);break}e=d+10|0;if((c[47434]|0)<(d|0)){c[47434]=e;e=KK(c[47435]|0,e<<4)|0;c[47435]=e}else e=c[47435]|0;LR(a,b,e,d)|0;rb[c[g>>2]&127](a,e,d)}while(0);return}function pS(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)lb[f&63](b,d);return}function qS(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+112|0;D=H+64|0;G=H;n=H+96|0;z=H+48|0;A=H+32|0;E=c[b+60>>2]|0;if(!b)Aa(111583,111479,691,111490);if(!d)Aa(111509,111479,692,111490);if(!(a[d>>0]|0))Aa(111514,111479,693,111490);F=LF(d)|0;if(!F){if((E|0)!=0&(gN(d)|0)!=0?(m=c[E+116>>2]|0,m|0):0)fb[m&31](b,d,e,f,g&255)}else{s=b+432|0;c[D>>2]=c[s>>2];c[D+4>>2]=c[s+4>>2];c[D+8>>2]=c[s+8>>2];c[D+12>>2]=c[s+12>>2];OF(n,F,D);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=G+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[G>>2]=c[e>>2];c[G+4>>2]=c[e+4>>2];c[G+8>>2]=c[e+8>>2];c[G+12>>2]=c[e+12>>2];B=G+24|0;C=G+8|0;d=1;k=+h[G>>3];x=+h[C>>3];j=+h[n>>3];y=+h[B>>3];while(1){if((d|0)>=(f|0))break;I=e+(d<<4)|0;v=+h[I>>3];t=+h[(k<v?G:I)>>3];h[G>>3]=t;w=+h[e+(d<<4)+8>>3];u=+h[(x<w?G:I)+8>>3];h[C>>3]=u;v=+h[(j>v?n:I)>>3];h[n>>3]=v;w=+h[(y>w?n:I)+8>>3];h[B>>3]=w;d=d+1|0;k=t;x=u;j=v;y=w}v=j-k;w=y-x;o=+(m|0);p=+(s|0);t=v/p;q=w/o;u=o*q;r=p*t;a:do switch(rS(i)|0){case 1:if(t<q){p=r;o=o*t;break a}else{p=p*q;o=u;break a}case 2:{p=r;break}case 3:{o=u;break}case 4:{p=r;o=u;break}default:{}}while(0);if(p<v){v=(v-p)*.5;k=v+k;h[G>>3]=k;j=j-v;h[n>>3]=j}if(o<w){w=(w-o)*.5;h[C>>3]=w+x;h[B>>3]=y-w}if(!(c[b+152>>2]&8192)){c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];KR(z,b,D);c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[D>>2]=c[n>>2];c[D+4>>2]=c[n+4>>2];c[D+8>>2]=c[n+8>>2];c[D+12>>2]=c[n+12>>2];KR(A,b,D);c[n>>2]=c[A>>2];c[n+4>>2]=c[A+4>>2];c[n+8>>2]=c[A+8>>2];c[n+12>>2]=c[A+12>>2];k=+h[G>>3];j=+h[n>>3]}if(k>j){h[G>>3]=j;h[n>>3]=k}j=+h[C>>3];k=+h[B>>3];if(j>k){h[C>>3]=k;h[B>>3]=j}if(E|0){I=c[b+72>>2]|0;c[D>>2]=c[G>>2];c[D+4>>2]=c[G+4>>2];c[D+8>>2]=c[G+8>>2];c[D+12>>2]=c[G+12>>2];c[D+16>>2]=c[G+16>>2];c[D+20>>2]=c[G+20>>2];c[D+24>>2]=c[G+24>>2];c[D+28>>2]=c[G+28>>2];vS(b,F,D,g,I)}}}l=H;return}function rS(b){b=b|0;if(a[b>>0]|0)if(C3(b,141419)|0)if(C3(b,141351)|0)if(!(C3(b,111522)|0))b=4;else b=(bP(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function sS(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}function tS(a,b){a=a|0;b=b|0;b=JF(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function uS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;RC(b,137786,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((vC(b)|0)!=(b|0))c[(c[(vC(b)|0)+16>>2]|0)+144>>2]=a;d=NA(b,111527)|0;e=a+172|0;if((d|0)!=0?(c[e>>2]=0,(tS(a,d)|0)==999):0){h=KF(a,1,d)|0;c[f>>2]=d;c[f+4>>2]=h;dA(1,111534,f)|0;d=-1}else{e=c[e>>2]|0;if(!e)d=-1;else{PJ(1);oK(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(vC(b)|0)+16>>2]|0)+8>>2]=d;YN();d=c[e>>2]|0;if(d|0?(db[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;PJ(0);d=0}}l=i;return d|0}function vS(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)Aa(111583,111587,52,111601);if(!d)Aa(111613,111587,53,111601);i=c[d+8>>2]|0;if(!i)Aa(111616,111587,54,111601);if(!(a[i>>0]|0))Aa(111625,111587,55,111601);O3(h,c[d+28>>2]|0)|0;i=h+(D3(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;g6(h,g)|0;if((wS(b,h)|0)==999){c[j>>2]=h;dA(0,111637,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function wS(a,b){a=a|0;b=b|0;b=JF(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function xS(a){a=a|0;return 1}function yS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function zS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function AS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function BS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function CS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function DS(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]/1.1;a[b+537>>0]=1;return 0}function ES(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function FS(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;VS(b,d)}qI(b,d);a[b+540>>0]=1;return}function GS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;m=C;x=b+452|0;t=b+448|0;y=e+8|0;o=b+536|0;A=b+360|0;p=b+541|0;q=b+538|0;z=b+336|0;n=d&255;B=b+344|0;u=b+352|0;v=b+528|0;w=b+520|0;switch(d|0){case 1:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);US(b);a[q>>0]=1;a[p>>0]=n;r=13;break}case 2:{a[q>>0]=1;a[p>>0]=n;r=13;break}case 3:{c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];OS(b,m);a[q>>0]=1;a[p>>0]=n;r=13;break}case 4:{a[o>>0]=0;j=+h[z>>3];k=+h[u>>3];i=+((c[t>>2]|0)>>>0)*.5;g=k*+h[w>>3];f=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009/(k*+h[v>>3]);if(!(c[A>>2]|0))h[z>>3]=j+(+h[e>>3]-i)*.10000000000000009/g;else{h[z>>3]=j-f;f=(+h[e>>3]-i)*.10000000000000009/g}h[B>>3]=f+ +h[B>>3];h[u>>3]=k*1.1;r=13;break}case 5:{a[o>>0]=0;s=+h[u>>3]/1.1;h[u>>3]=s;k=+h[z>>3];j=+((c[t>>2]|0)>>>0)*.5;f=+h[v>>3];i=+h[w>>3];g=(+h[y>>3]-+((c[x>>2]|0)>>>0)*.5)*.10000000000000009;if(!(c[A>>2]|0))h[z>>3]=k-(+h[e>>3]-j)*.10000000000000009/(s*i);else{h[z>>3]=k+g/(s*f);g=(+h[e>>3]-j)*.10000000000000009;f=i}h[B>>3]=+h[B>>3]-g/(s*f);r=13;break}default:{}}if((r|0)==13)a[b+537>>0]=1;B=b+560|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];l=C;return}function HS(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function IS(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0;n=l;l=l+16|0;f=n;m=b+560|0;e=(+h[d>>3]-+h[m>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+F(+e)<.0001?+F(+g)<.0001:0)){switch(a[b+541>>0]|0){case 0:{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];OS(b,f);break}case 2:{f=b+336|0;o=+h[b+352>>3];j=+h[f>>3];i=e/o;k=b+344|0;e=g/o;g=+h[k>>3];if(!(c[b+360>>2]|0)){h[f>>3]=j-i;e=g-e}else{h[f>>3]=j-e;e=i+g}h[k>>3]=e;a[b+537>>0]=1;break}default:{}}c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2]}l=n;return}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return}function KS(a){a=a|0;return}function LS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=f4(d,139124)|0;if(d|0){i=hF(d,0)|0;l4(d)|0;f=5}}else{i=hF(c[15808]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){db[h&127](d);d=c[g>>2]|0}tK(d);pB(c[g>>2]|0)|0}WC(i,0,137786,280,1);WC(i,1,137750,304,1);WC(i,2,137763,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((lG(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function MS(a,b){a=a|0;b=b|0;a=c[a>>2]|0;lG(a,c[a+168>>2]|0,b)|0;return}function NS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}nG(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function OS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];PS(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=k+i;h[g+24>>3]=j+i;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=QS(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){RS(b);c[e>>2]=d;SS(b);a[b+537>>0]=1}l=f;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+352>>3];g=+h[d>>3];i=e*+h[b+520>>3];e=+h[d+8>>3]/(e*+h[b+528>>3]);if(!(c[b+360>>2]|0))f=g/i;else{f=e;e=-g/i}i=e-+h[b+512>>3];h[a>>3]=f-+h[b+504>>3];h[a+8>>3]=i;return}function QS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=gC(a)|0;a:while(1){if(!e){e=9;break}d=UA(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((hQ(d,f)|0)<<24>>24){e=6;break a}d=WA(a,d)|0}e=hC(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=iC(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((eQ(d,f)|0)<<24>>24){e=12;break}d=jC(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=TS(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function RS(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function SS(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){l6(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=DA(d,0,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=DA(uC(d)|0,1,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=DA(uC(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,141404,0)|0;if(!b)break a;c[e>>2]=CK(OA(d,b)|0,d)|0;break a}default:break a}while(0);return}function TS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=TS(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function US(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(FC(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){l6(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(FC(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;VS(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;WS(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;XS(b,d);break b}default:break b}while(0);return}function VS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((vC(b)|0)==(b|0))if(!(uB(b)|0)){EF(d,0,111795);break}else{EF(d,0,111787);break}else EF(d,0,111801);while(0);EF(d,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=IA(b,0,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e+1|0,OA(b,d)|0);EF(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=DA(b,0,141358,0)|0;if(!d){d=DA(b,0,111778,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function WS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;EF(f,0,111782);EF(f,1,HB(b)|0);c[a+596>>2]=2;f=a+604|0;g=vC(uC(b)|0)|0;e=2;d=0;while(1){d=IA(g,1,d)|0;if(!d)break;EF(f,e,c[d+8>>2]|0);EF(f,e|1,OA(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=DA(uC(b)|0,1,141358,0)|0;if(!d){d=DA(uC(b)|0,1,111778,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function XS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;EF(h,0,111751);k=b+48|0;EF(h,1,HB(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(uB(uC(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;EF(h,3,k?138041:142050);k=b+-48|0;EF(h,4,HB(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=vC(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=IA(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(f2(f,111756)|0)){l=5;break}if(!(f2(f,111765)|0)){l=7;break}if(f2(f,111774)|0)break;EF(h,6,OA(b,d)|0)}if((l|0)==5){l=0;EF(h,2,OA(b,d)|0)}else if((l|0)==7){l=0;EF(h,5,OA(b,d)|0)}EF(i,g,c[e>>2]|0);EF(i,g+1|0,OA(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,141358,0)|0;if(!d){d=DA(uC(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,111778,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=CK(OA(b,d)|0,b)|0;return}function YS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=ZS(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;HF(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function ZS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=IK(12)|0;if(!b)b=0;else b=Y3(b)|0;c[e+4>>2]=b;c[e+8>>2]=Y3(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function _S(b,c){b=b|0;c=c|0;$S(b);a[b+44>>0]=0;aT(b)|0;NO(b)|0;return}function $S(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?C4(e,111810)|0:0)YS(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function aT(a){a=a|0;var b=0;b=JF(a,2,111823)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function bT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=vb[e&127](b,d)|0;else a=0;return a|0}function cT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function dT(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (eT(~~(d>b?d:b)>>>0)|0)+1|0}function eT(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{b=a>>>0>65535;c=b?a>>>16:a;a=b?16:0;b=c>>>0>255;c=b?c>>>8:c;a=b?a|8:a;b=c>>>0>15;c=b?c>>>4:c;a=b?a|4:a;b=c>>>0>3;a=((b?c>>>2:c)>>>0>1&1)+(b?a|2:a)|0}return a|0}function fT(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=gT(b,d,e,f,g)|0;e=hT(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){iT(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}jT(p)}l=r;return e|0}function gT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=HK(28)|0;j=Sz(25964,c[4594]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=RV()|0;c[g+24>>2]=j;if(!j){_3(112041,14,1,c[15715]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{_3(112041,14,1,c[15715]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)Oz(a)|0;a=c[g+24>>2]|0;if(a|0)TV(a)|0;l6(g);g=0}return g|0}function hT(a){a=a|0;var b=0;b=sT(a)|0;if((b|0)>=0){tT(a);uT(a);b=Oz(c[a+20>>2]|0)|0}return b|0}function iT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0,O=0;O=l;l=l+464|0;L=O+416|0;N=O+400|0;I=O+384|0;j=O+352|0;n=O+320|0;o=O+288|0;p=O+256|0;r=O+224|0;s=O+192|0;t=O+160|0;u=O+128|0;v=O+96|0;w=O+64|0;x=O+32|0;J=O;y=c[d+32>>2]|0;e=+h[y>>3];B=d+16|0;z=(e*2.0+ +h[B>>3])*.125;C=y+8|0;K=d+24|0;i=+h[K>>3];M=(+h[C>>3]*2.0+i)*.5;if(!y)Aa(111834,111844,445,111854);f=L;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));A=y+16|0;h[A>>3]=+h[d>>3]-e;D=d+8|0;E=y+24|0;h[E>>3]=i+ +h[D>>3];kT(j,b,d,L);m=c[j>>2]|0;f=c[j+4>>2]|0;e=+h[j+8>>3];H=j+16|0;c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];H=a+16|0;G=a+8|0;F=a+4|0;a:do if(!m){c[a>>2]=0;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}else{h[E>>3]=+h[D>>3];kT(n,b,d,L);g=c[n>>2]|0;j=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;h[E>>3]=+h[D>>3]-+h[C>>3];kT(o,b,d,L);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[I>>2]=c[o>>2];c[I+4>>2]=c[o+4>>2];c[I+8>>2]=c[o+8>>2];c[I+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else m=g;h[A>>3]=+h[d>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(p,b,d,L);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(r,b,d,L);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[A>>3]=+h[d>>3]+ +h[B>>3];h[E>>3]=+h[D>>3]+ +h[K>>3];kT(s,b,d,L);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3];kT(t,b,d,L);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[I>>2]=c[t>>2];c[I+4>>2]=c[t+4>>2];c[I+8>>2]=c[t+8>>2];c[I+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=g;f=j;e=i}h[E>>3]=+h[D>>3]-+h[C>>3];kT(u,b,d,L);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[I>>2]=c[u>>2];c[I+4>>2]=c[u+4>>2];c[I+8>>2]=c[u+8>>2];c[I+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[F>>2]=j;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];f=j;e=i}else g=m;t=L+12|0;u=L+32|0;n=(c[L+28>>2]|0)!=0;o=(c[u>>2]|0)==0;j=c[t>>2]|0;m=c[L>>2]|0;do if(!(o&(((c[L+24>>2]|0)!=0|n)^1)&(j|0)==0&(m|0)==0)){do if(o&(n^1)){h[A>>3]=+h[d>>3]-+h[y>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=E;j=D;i=+h[K>>3];b:while(1){while(1){h[m>>3]=i+ +h[j>>3];if(!(+h[A>>3]<=+h[d>>3]+ +h[B>>3])){n=42;break b}kT(v,b,d,L);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=39;break b}if(k<e)break;else{m=A;j=A;i=z}}c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==39){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==42){j=c[t>>2]|0;m=c[L>>2]|0;break}}while(0);if(!((j|0)==0&(m|0)==0))break;h[A>>3]=+h[d>>3]-+h[y>>3];k=+h[D>>3];n=w+4|0;o=w+8|0;p=w+16|0;i=k;k=k+ +h[K>>3];while(1){h[E>>3]=k;if(!(k>=i-+h[C>>3])){n=51;break}kT(w,b,d,L);j=c[w>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j){n=47;break}if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}i=+h[D>>3];k=+h[E>>3]-M}if((n|0)==47){c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==51){m=c[L>>2]|0;break}}else m=0;while(0);i=+h[d>>3];k=i+ +h[B>>3];h[A>>3]=k;q=+h[C>>3];h[E>>3]=+h[D>>3]-q;t=L+20|0;o=(c[L+4>>2]|0)!=0;n=(m|0)==0;m=c[t>>2]|0;j=c[u>>2]|0;c:do if(!(n&(((c[L+8>>2]|0)!=0|o)^1)&(m|0)==0&(j|0)==0)){do if(n&(o^1)){h[A>>3]=k;p=x+4|0;r=x+8|0;s=x+16|0;m=E;j=D;i=q;d:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[A>>3]>=i-+h[y>>3])){n=61;break d}kT(x,b,d,L);n=c[x>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[I>>2]=c[s>>2];c[I+4>>2]=c[s+4>>2];c[I+8>>2]=c[s+8>>2];c[I+12>>2]=c[s+12>>2];if(!n){n=58;break d}if(k<e)break;else{m=A;j=A;i=z}}c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];m=A;j=A;i=z;g=n;f=o;e=k}if((n|0)==58){c[a>>2]=0;c[F>>2]=o;h[G>>3]=k;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}else if((n|0)==61){m=c[t>>2]|0;j=c[u>>2]|0;break}}while(0);if(!((m|0)==0&(j|0)==0))break;h[A>>3]=i+ +h[B>>3];i=+h[D>>3];n=J+4|0;o=J+8|0;p=J+16|0;k=i;i=i-+h[C>>3];while(1){h[E>>3]=i;if(!(i<=k+ +h[K>>3]))break c;kT(J,b,d,L);j=c[J>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];g=j;f=m;e=i}k=+h[D>>3];i=M+ +h[E>>3]}c[a>>2]=0;c[F>>2]=m;h[G>>3]=i;c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];break a}while(0);c[a>>2]=g;c[F>>2]=f;h[G>>3]=e;c[H>>2]=c[N>>2];c[H+4>>2]=c[N+4>>2];c[H+8>>2]=c[N+8>>2];c[H+12>>2]=c[N+12>>2]}while(0);l=O;return}function jT(a){a=a|0;TV(c[a+24>>2]|0)|0;l6(a);return}function kT(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)Aa(111834,111844,382,111863);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=((lT(e,k)|0)!=0&1)+g|0}while(0);m=m+1|0}mT(e,q);m=c[d+24>>2]|0;m=VV(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){nT(j,s);n=+oT(q,s);if(n>0.0){g=g+1|0;i=i+ +pT(e,j,q,n,f)}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(mT(j,s),r=+oT(q,s),r>0.0):0){g=g+1|0;i=i+ +qT(e,j,q,r,f)}}k=c[k>>2]|0}QV(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function lT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if(!a)a=0;else{g=+h[b>>3];f=+h[a+16>>3];if((g>f?g<f+ +h[a>>3]:0)?(d=+h[b+8>>3],e=+h[a+24>>3],d>e):0)a=d<e+ +h[a+8>>3];else a=0;a=a&1}return a|0}Aa(111900,111844,219,111937);return 0}function mT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a>>3]);c[b+12>>2]=~~(d+ +h[a+8>>3]);return}function nT(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(e+ +h[a+16>>3]);c[b+12>>2]=~~(d+ +h[a+24>>3]);return}function oT(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0))*(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0));else d=0.0;return +d}function pT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function qT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=rT(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{nT(a,i);g=+oT(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(mT(a,i),h=+oT(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function rT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))Aa(111879,111844,276,111889);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){k=+h[b>>3];e=b+8|0;if(k==0.0?+h[e>>3]==0.0:0){e=-1;break}i=+h[d>>3];j=+h[d+8>>3];if(!(i==0.0&j==0.0)){g=+h[e>>3];f=i<k;e=i>k;if(j<g){if(f){e=0;break}e=e?2:1;break}if(!(j>g))return (f|e^1?(f?3:-1):5)|0;if(f)e=6;else e=e?8:7}else e=-1}else e=-1;while(0);return e|0}function sT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=dT(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=HK(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;vT(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=wT(d,g)|0;n=c[j>>2]|0;if(!(eb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function tT(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=eb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;WV(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=eb[c[e>>2]&63](e,a,8)|0}return}function uT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Uz(c[e>>2]|0)|0;d=0;while(1){if(!(Uz(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}eb[c[g>>2]&63](g,a,4096)|0;l6(a);d=d+1|0}if((h|0)==8)Aa(111950,111844,616,111953);if((f|0)==(d|0))return;else Aa(111965,111844,623,111953)}function vT(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+E(+(l-e));g=+h[b+8>>3];j=~~+E(+(g-f));i=~~+R(+(e+(l+ +h[b+16>>3])));if((i|0)==2147483647)Aa(111977,111844,264,112004);d=~~+R(+(f+(g+ +h[b+24>>3])));if((d|0)==2147483647)Aa(112014,111844,266,112004);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function wT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function xT(b){b=b|0;var d=0,e=0,f=0,g=0;d=D3(b)|0;if(d>>>0>=(c[47436]|0)>>>0){d=d+11|0;c[47436]=d;d=KK(c[47437]|0,d)|0;c[47437]=d;if(!d)d=0;else e=4}else{d=c[47437]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(S1(f)|0)e=(R1(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function yT(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0;N=l;l=l+144|0;s=N+96|0;q=N+80|0;v=N+124|0;t=N+72|0;w=N+64|0;x=N+56|0;K=N+48|0;L=N+40|0;M=N+32|0;G=N+24|0;H=N+16|0;I=N+8|0;J=N;k=N+120|0;n=N+116|0;o=N+112|0;p=N+108|0;c[e+32>>2]=f;while(1)if((a[b>>0]|0)==32)b=b+1|0;else break;c[p>>2]=255;g=a[b>>0]|0;y=e+12|0;z=e+8|0;A=e+4|0;B=e+24|0;C=e+16|0;D=e+1|0;E=e+2|0;F=e+3|0;a:do if(g<<24>>24==35){c[q>>2]=k;c[q+4>>2]=n;c[q+8>>2]=o;c[q+12>>2]=p;if((q4(b,112056,q)|0)<=2){g=a[b>>0]|0;r=12;break}switch(f|0){case 0:{O=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=O;i=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=i;j=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=j;m=+((c[p>>2]|0)>>>0)/255.0;zT(O,i,j,t,w,x);h[e>>3]=+h[t>>3];h[z>>3]=+h[w>>3];h[C>>3]=+h[x>>3];h[B>>3]=m;b=0;break a}case 1:{a[e>>0]=c[k>>2];a[D>>0]=c[n>>2];a[E>>0]=c[o>>2];a[F>>0]=c[p>>2];b=0;break a}case 3:{j=+((c[k>>2]|0)>>>0)/255.0;h[K>>3]=j;m=+((c[n>>2]|0)>>>0)/255.0;h[L>>3]=m;O=+((c[o>>2]|0)>>>0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[k>>2]|0)*65535|0)>>>0)/255|0;c[A>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[z>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;c[y>>2]=(((c[p>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[k>>2]|0)>>>0)/255.0;h[z>>3]=+((c[n>>2]|0)>>>0)/255.0;h[C>>3]=+((c[o>>2]|0)>>>0)/255.0;h[B>>3]=+((c[p>>2]|0)>>>0)/255.0;b=0;break a}default:{b=0;break a}}}else r=12;while(0);b:do if((r|0)==12){if(!(g<<24>>24!=46?((g&255)+-48|0)>>>0>=10:0)){g=D3(b)|0;if(g>>>0>=(c[47438]|0)>>>0){g=g+11|0;c[47438]=g;g=KK(c[47439]|0,g)|0;c[47439]=g;if(!g){b=-1;break}}else g=c[47439]|0;n=g;k=b;c:while(1){o=k+1|0;k=a[k>>0]|0;switch(k<<24>>24){case 0:break c;case 44:{k=32;break}default:{}}a[n>>0]=k;n=n+1|0;k=o}a[n>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((q4(g,112070,s)|0)==3){m=+h[t>>3];m=m<1.0?m:1.0;m=m>0.0?m:0.0;h[t>>3]=m;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;i=+h[x>>3];i=i<1.0?i:1.0;i=i>0.0?i:0.0;h[x>>3]=i;switch(f|0){case 0:{h[e>>3]=m;h[z>>3]=j;h[C>>3]=i;h[B>>3]=1.0;b=0;break b}case 1:{BT(m,j,i,K,L,M);a[e>>0]=~~(+h[K>>3]*255.0);a[D>>0]=~~(+h[L>>3]*255.0);a[E>>0]=~~(+h[M>>3]*255.0);a[F>>0]=-1;b=0;break b}case 3:{BT(m,j,i,K,L,M);AT(+h[K>>3],+h[L>>3],+h[M>>3],G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{BT(m,j,i,K,L,M);c[e>>2]=~~(+h[K>>3]*65535.0);c[A>>2]=~~(+h[L>>3]*65535.0);c[z>>2]=~~(+h[M>>3]*65535.0);c[y>>2]=65535;b=0;break b}case 4:{BT(m,j,i,K,L,M);h[e>>3]=+h[K>>3];h[z>>3]=+h[L>>3];h[C>>3]=+h[M>>3];h[B>>3]=1.0;b=0;break b}default:{b=0;break b}}}}b=CT(b)|0;c[v>>2]=b;if(!b)b=-1;else{g=c[47440]|0;if(((g|0)!=0?(u=c[g>>2]|0,(a[u>>0]|0)==(a[b>>0]|0)):0)?(f2(u,b)|0)==0:0)k=g;else{b=e6(v,26e3,2491,12,103)|0;c[47440]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}case 1:{a[E>>0]=0;a[D>>0]=0;a[e>>0]=0;a[F>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[z>>2]=0;c[A>>2]=0;c[e>>2]=0;c[y>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[B>>3]=1.0;b=1;break b}default:{b=1;break b}}else{k=b;g=b}}b=k+7|0;switch(f|0){case 0:{h[e>>3]=+(d[k+4>>0]|0)/255.0;h[z>>3]=+(d[k+5>>0]|0)/255.0;h[C>>3]=+(d[k+6>>0]|0)/255.0;h[B>>3]=+(d[k+10>>0]|0)/255.0;b=0;break b}case 1:{a[e>>0]=a[b>>0]|0;a[D>>0]=a[g+8>>0]|0;a[E>>0]=a[g+9>>0]|0;a[F>>0]=a[g+10>>0]|0;b=0;break b}case 3:{j=+(d[b>>0]|0)/255.0;h[K>>3]=j;m=+(d[g+8>>0]|0)/255.0;h[L>>3]=m;O=+(d[g+9>>0]|0)/255.0;h[M>>3]=O;AT(j,m,O,G,H,I,J);a[e>>0]=~~+h[G>>3]*255;a[D>>0]=~~+h[H>>3]*255;a[E>>0]=~~+h[I>>3]*255;a[F>>0]=~~+h[J>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b>>0]|0)*257;c[A>>2]=(d[g+8>>0]|0)*257;c[z>>2]=(d[g+9>>0]|0)*257;c[y>>2]=(d[g+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b>>0]|0)/255.0;h[z>>3]=+(d[g+8>>0]|0)/255.0;h[C>>3]=+(d[g+9>>0]|0)/255.0;h[B>>3]=+(d[g+10>>0]|0)/255.0;b=0;break b}default:{b=0;break b}}}}while(0);l=N;return b|0}function zT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;g=b<c?b:c;l=b>c?b:c;l=l<a?a:l;g=l-(g>a?a:g);k=l>0.0?g/l:0.0;if(k>0.0){i=(l-a)/g;j=(l-b)/g;g=(l-c)/g;do if(!(l==a)){if(l==b){g=i+2.0-g;break}if(l==c)g=j+4.0-i;else g=0.0}else g=g-j;while(0);g=g*60.0;if(g<0.0)g=g+360.0}else g=0.0;h[d>>3]=g/360.0;h[f>>3]=l;h[e>>3]=k;return}function AT(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function BT(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function CT(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(h2(e,137567,4)|0)==0)):0)?!(d<<24>>24==108|(h2(e,137572,4)|0)==0):0)?(h2(e,137577,8)|0)!=0:0){do if(d<<24>>24==47){d=F3(e,47)|0;if(d){if((a[e>>0]|0)!=47){e=(N3(137586,e,4)|0)==0;b=e?d+1|0:b;break}d=c[47441]|0;b=b+2|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}else b=e}else{d=c[47441]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(N3(137586,d,3)|0)!=0:0)b=ET(d,b)|0}while(0);b=xT(b)|0}return b|0}function DT(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function ET(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=D3(a)|0;g=(D3(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[47442]|0)>>>0)d=c[47443]|0;else{c[47442]=d;d=KK(c[47443]|0,d)|0;c[47443]=d}c[e>>2]=a;c[e+4>>2]=b;i2(d,137591,e)|0;l=f;return c[47443]|0}function FT(a){a=a|0;c[47441]=a;return}function GT(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;HT(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=IT(g)|0;l=f;return a|0}function HT(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+O(+(+J(+f)/e),+(+I(+f)/d));h[a+56>>3]=c;e=+O(+(+J(+g)/e),+(+I(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+E(+((e-c)/6.283185307179586))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;OT(a);PT(a);QT(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=g*(2.0-g);g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function IT(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=HK(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=o+c;b=+JT(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}c=+I(+f);u=+J(+f);d=a+16|0;s=+h[d>>3];g=c*s;j=a+24|0;r=+h[j>>3];v=u*r;r=c*r;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;i=+h[l>>3];e=c+g*t-v*i;m=a+8|0;n=+h[m>>3];g=v*t+(n+g*i);s=-(u*s);KT(q,c,n);LT(q,e,g);n=+K(+(o*.5));n=+J(+o)*(+G(+(n*(n*3.0)+4.0))+-1.0)/3.0;c=f;f=g;g=r*t+i*s;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=o+c;x=+I(+r);v=+J(+r);u=+h[d>>3];t=x*u;y=+h[j>>3];z=v*y;y=x*y;x=+h[k>>3];w=+h[l>>3];s=+h[a>>3]+t*x-z*w;t=z*x+(+h[m>>3]+t*w);u=-(v*u);v=x*u-y*w;u=y*x+w*u;MT(q,n*i+e,f+n*g,s-n*v,t-n*u,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}NT(q);return q|0}function JT(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;e=(b+c)*.5;i=+h[a+16>>3];d=+h[a+24>>3]/i;g=+I(+(e*2.0));f=+I(+(e*4.0));e=+I(+(e*6.0));a=d<.25?10440:10696;return +(i*((d*(d*.001+4.98)+.207)/(d+.0067))*+P(+((+h[a+16>>3]+d*(d*+h[a>>3]+ +h[a+8>>3]))/(d+ +h[a+24>>3])+g*((+h[a+48>>3]+d*(d*+h[a+32>>3]+ +h[a+40>>3]))/(d+ +h[a+56>>3]))+f*((+h[a+80>>3]+d*(d*+h[a+64>>3]+ +h[a+72>>3]))/(d+ +h[a+88>>3]))+e*((+h[a+112>>3]+d*(d*+h[a+96>>3]+ +h[a+104>>3]))/(d+ +h[a+120>>3]))+(c-b)*((+h[a+144>>3]+d*(d*+h[a+128>>3]+ +h[a+136>>3]))/(d+ +h[a+152>>3])+g*((+h[a+176>>3]+d*(d*+h[a+160>>3]+ +h[a+168>>3]))/(d+ +h[a+184>>3]))+f*((+h[a+208>>3]+d*(d*+h[a+192>>3]+ +h[a+200>>3]))/(d+ +h[a+216>>3]))+e*((+h[a+240>>3]+d*(d*+h[a+224>>3]+ +h[a+232>>3]))/(d+ +h[a+248>>3]))))))}function KT(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[47444]=100;e=HK(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function LT(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;MT(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function MT(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[47444]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[47444]=k<<1;j=n6(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function NT(a){a=a|0;var b=0;b=c[a>>2]|0;LT(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=n6(c[a>>2]|0,c[a+4>>2]<<4)|0;c[47444]=0;return}function OT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;e=+h[a+16>>3];c=+h[a+24>>3];c=+G(+(e*e-c*c));e=c*+h[a+40>>3];c=c*+h[a+48>>3];d=+h[a>>3];h[a+104>>3]=d-e;b=+h[a+8>>3];h[a+112>>3]=b-c;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function PT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];j=+h[a+56>>3];i=d*+I(+j);g=+h[a+24>>3];j=g*+J(+j);f=+h[a+64>>3];d=d*+I(+f);f=g*+J(+f);g=+h[a>>3];e=+h[a+40>>3];c=+h[a+48>>3];h[a+72>>3]=g+i*e-j*c;b=+h[a+8>>3];h[a+80>>3]=j*e+(i*c+b);h[a+88>>3]=g+d*e-f*c;h[a+96>>3]=f*e+(d*c+b);return}function QT(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;p=+h[a+24>>3];q=+h[a+16>>3];c=p/q;r=+h[a+48>>3];k=+F(+r)<.1;o=+h[a+40>>3];do if(k){n=r/o;d=+N(+(c*n));b=-d;c=1.5707963267948966-+N(+(n/c));if(o<0.0){e=b;b=3.141592653589793-d;d=c+3.141592653589793;break}else{e=-3.141592653589793-d;d=c;c=c+-3.141592653589793;break}}else{n=o/r;b=+N(+(n/c))+1.5707963267948966;c=+N(+(c*n));if(r<0.0){e=b+-3.141592653589793;d=c+3.141592653589793;break}else{e=b;b=b+3.141592653589793;d=c;c=c+-3.141592653589793;break}}while(0);m=+h[a+56>>3];e=e-+E(+((e-m)/6.283185307179586))*6.283185307179586;l=c-+E(+((c-m)/6.283185307179586))*6.283185307179586;b=b-+E(+((b-m)/6.283185307179586))*6.283185307179586;m=d-+E(+((d-m)/6.283185307179586))*6.283185307179586;n=+h[a+64>>3];f=a+88|0;g=a+72|0;if(!(e<=n)){e=+h[g>>3];c=+h[f>>3];c=e<c?e:c}else c=+h[a>>3]+q*+I(+e)*o-r*(p*+J(+e));h[a+136>>3]=c;i=a+96|0;j=a+80|0;k=a+8|0;if(!(l<=n)){l=+h[j>>3];d=+h[i>>3];d=l<d?l:d}else d=+h[k>>3]+r*(q*+I(+l))+p*+J(+l)*o;h[a+144>>3]=d;if(!(b<=n)){l=+h[g>>3];b=+h[f>>3];b=l>b?l:b}else b=+h[a>>3]+q*+I(+b)*o-r*(p*+J(+b));h[a+152>>3]=b-c;if(!(m<=n)){r=+h[j>>3];b=+h[i>>3];b=r>b?r:b}else b=+h[k>>3]+r*(q*+I(+m))+p*+J(+m)*o;h[a+160>>3]=b-d;return}function RT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;ST(b);k=+h[e+56>>3];g=+h[e+64>>3];f=e+48|0;switch(a[e+80>>0]|0){case 116:{g=g+(+h[f>>3]-+TT(d))*.5;i=4;break}case 98:{g=g-(+h[f>>3]-+TT(d))*.5;i=4;break}default:{}}if((i|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;e=NA(c[(c[j>>2]|0)+8>>2]|0,137598)|0;f=m+56|0;c[f>>2]=e;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))c[f>>2]=137609;if((a[d+4>>0]|0)==1){f=c[d>>2]|0;jS(b,c[(c[b>>2]|0)+336>>2]|0);e=c[f+24>>2]|0;if(!e)fS(b,137615);else fS(b,e);VT(b,f,m);if(a[j>>0]|0)l6(c[i>>2]|0)}else UT(b,c[d>>2]|0,m);WT(b);l=n;return}function ST(a){a=a|0;var d=0,e=0;a=_H(a)|0;d=c[a>>2]|0;e=c[d+4>>2]|0;c[a+4>>2]=e;c[a+12>>2]=c[d+12>>2];if(e>>>0<4)c[a+8>>2]=c[d+8>>2];c[a+208>>2]=c[d+208>>2];c[a+228>>2]=c[d+228>>2];c[a+244>>2]=c[d+244>>2];e=a+260|0;b[e>>1]=b[e>>1]&-2|b[d+260>>1]&1;return}function TT(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function UT(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=+h[f>>3]+(p+o)*.5;h[k+8>>3]=+h[f+8>>3]+(+h[e+32>>3]+ +h[e+16>>3])*.5;q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];gU(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function VT(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+176|0;w=B+96|0;y=B+64|0;z=B+136|0;q=B;r=B+128|0;s=g+48|0;c[y>>2]=c[s>>2];c[y+4>>2]=c[s+4>>2];c[y+8>>2]=c[s+8>>2];c[y+12>>2]=c[s+12>>2];c[y+16>>2]=c[s+16>>2];c[y+20>>2]=c[s+20>>2];c[y+24>>2]=c[s+24>>2];c[y+28>>2]=c[s+28>>2];m=+h[i>>3];n=+h[i+8>>3];s=g+84|0;j=c[s>>2]|0;if(!(c[g>>2]|0))A=(c[g+8>>2]|0)!=0;else A=1;x=g+108|0;k=c[x>>2]|0;if(k|0)XT(i,k,186712);h[y>>3]=m+ +h[y>>3];u=y+16|0;h[u>>3]=m+ +h[u>>3];u=y+8|0;h[u>>3]=n+ +h[u>>3];u=y+24|0;h[u>>3]=n+ +h[u>>3];u=f+152|0;if(A?(c[u>>2]&4|0)==0:0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];t=YT(f,i,g,w,z)|0}else t=0;p=g+42|0;k=e[p>>1]|0;if(!(k&32)){o=c[g+20>>2]|0;v=g+33|0;if(o){k=ZT(f,o,c[g+28>>2]|0,k,r)|0;if(!(b[p>>1]&4)){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];mS(f,w,k)}else{p=d[v>>0]|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];RM(f,_T(q,w,p)|0,4,4,k)}l6(c[r>>2]|0)}while(1){k=c[j>>2]|0;if(!k)break;$T(f,k,i);j=j+4|0}j=c[s>>2]|0;sS(f,1.0);k=g+24|0;while(1){o=j+4|0;j=c[j>>2]|0;if(!j)break;if(!(a[j+100>>0]|0)){j=o;continue}aU(f,j,i,c[k>>2]|0,c[o>>2]|0);j=o}if(a[v>>0]|0){c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2];c[w+20>>2]=c[y+20>>2];c[w+24>>2]=c[y+24>>2];c[w+28>>2]=c[y+28>>2];bU(f,g,w)}}if(t|0)cU(f,z);if((A?c[u>>2]&4|0:0)?(c[w>>2]=c[y>>2],c[w+4>>2]=c[y+4>>2],c[w+8>>2]=c[y+8>>2],c[w+12>>2]=c[y+12>>2],c[w+16>>2]=c[y+16>>2],c[w+20>>2]=c[y+20>>2],c[w+24>>2]=c[y+24>>2],c[w+28>>2]=c[y+28>>2],YT(f,i,g,w,z)|0):0)cU(f,z);if(c[x>>2]|0)dU(i,186712);l=B;return}function WT(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;$H(a);return}function XT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function YT(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;m=m+8|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{hA(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=Y3(bI(d,c[m>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}kA(t,h)|0;i=c[47445]|0;c[47445]=i+1;c[k>>2]=i;i2(j,137692,k)|0;kA(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){iA(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=aI(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m>>2]|0)|0;if(i)lA(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];iI(d,n);aS(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function ZT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((HJ(b,f,i)|0)<<24>>24)){hS(a,b);b=1}else{hS(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)iS(a,137615,d,h);else iS(a,b,d,h);b=e>>>1&1|2}fS(a,137680);l=j;return b|0}function _T(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];i=a+32|0;k=b+16|0;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];k=a+40|0;b=a+8|0;if((d|0)>1){e=+(d|0)*.5;g=e+ +h[a>>3];h[a>>3]=g;f=e+ +h[b>>3];h[b>>3]=f;j=+h[i>>3]-e;h[i>>3]=j;e=+h[k>>3]-e;h[k>>3]=e}else{j=+h[i>>3];f=+h[b>>3];g=+h[a>>3];e=+h[k>>3]}h[a+16>>3]=j;h[a+24>>3]=f;h[a+48>>3]=g;h[a+56>>3]=e;return a|0}function $T(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;u=y+96|0;v=y+136|0;w=y+64|0;s=y;t=y+128|0;x=g+48|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];k=+h[i>>3];m=+h[i+8>>3];if(!(c[g>>2]|0))x=(c[g+8>>2]|0)!=0;else x=1;h[w>>3]=k+ +h[w>>3];r=w+16|0;h[r>>3]=k+ +h[r>>3];r=w+8|0;h[r>>3]=m+ +h[r>>3];r=w+24|0;h[r>>3]=m+ +h[r>>3];r=f+152|0;if(x?(c[r>>2]&4|0)==0:0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];q=YT(f,i,g,u,v)|0}else q=0;o=g+42|0;j=e[o>>1]|0;a:do if(!(j&32)){n=c[g+20>>2]|0;p=g+33|0;if(n|0){j=ZT(f,n,c[g+28>>2]|0,j,t)|0;if(!(b[o>>1]&4)){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];mS(f,u,j)}else{o=d[p>>0]|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];RM(f,_T(s,u,o)|0,4,4,j)}l6(c[t>>2]|0)}if(a[p>>0]|0){c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[u+16>>2]=c[w+16>>2];c[u+20>>2]=c[w+20>>2];c[u+24>>2]=c[w+24>>2];c[u+28>>2]=c[w+28>>2];bU(f,g,u)}j=g+88|0;switch(a[g+92>>0]|0){case 1:{VT(f,c[j>>2]|0,i);break a}case 3:{fU(f,c[j>>2]|0,i);break a}default:{UT(f,c[j>>2]|0,i);break a}}}while(0);if(q|0)cU(f,v);if((x?c[r>>2]&4|0:0)?(c[u>>2]=c[w>>2],c[u+4>>2]=c[w+4>>2],c[u+8>>2]=c[w+8>>2],c[u+12>>2]=c[w+12>>2],c[u+16>>2]=c[w+16>>2],c[u+20>>2]=c[w+20>>2],c[u+24>>2]=c[w+24>>2],c[u+28>>2]=c[w+28>>2],YT(f,i,g,u,v)|0):0)cU(f,v);l=y;return}function aU(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0;G=l;l=l+32|0;E=G+16|0;F=G;y=+h[i>>3];s=+h[i+8>>3];p=(j|0)==0?137615:j;hS(f,p);fS(f,p);B=y+ +h[g+48>>3];C=y+ +h[g+64>>3];D=s+ +h[g+56>>3];s=s+ +h[g+72>>3];p=g+100|0;i=a[p>>0]|0;q=g+86|0;z=F+8|0;t=g+84|0;u=g+82|0;v=g+96|0;w=g+80|0;if((i&1)!=0?(o=c[v>>2]|0,((e[w>>1]|0)+(e[t>>1]|0)|0)<(c[o+104>>2]|0)):0){j=b[q>>1]|0;g=o+33|0;n=a[o+32>>0]|0;H=(n<<24>>24)/2|0;i=H<<24>>24;r=+(H<<24>>24);if(j<<16>>16)if(((e[u>>1]|0)+(j&65535)|0)==(c[o+100>>2]|0)){i=(d[g>>0]|0)+i|0;j=i;i=i&255;m=D-r}else{j=0;m=D}else{j=(d[g>>0]|0)+i|0;m=D}h[z>>3]=m-+(i|0);h[F>>3]=C+r;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,0.0,+(n<<24>>24)+(s+ +(j&255|0)-D));i=a[p>>0]|0}if(i&2?(A=b[q>>1]|0,x=c[v>>2]|0,((e[u>>1]|0)+(A&65535)|0)<(c[x+100>>2]|0)):0){H=b[t>>1]|0;q=(k|0)!=0;o=k+86|0;g=x+33|0;i=x+32|0;p=x+64|0;n=((e[w>>1]|0)+(H&65535)|0)==(c[x+104>>2]|0);do if(!(H<<16>>16)){i=a[i>>0]|0;H=(i<<24>>24)/2|0;g=(H<<24>>24)+(d[g>>0]|0)|0;j=g&255;g=g&255;m=+(H<<24>>24);h[F>>3]=B-+(g|0)-m;if(n){j=g<<1&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(+(j&255)+(y+ +h[p>>3]-(C+m)))&255}else{i=a[i>>0]|0;j=(i<<24>>24)/2|0;m=+(j<<24>>24);h[F>>3]=B-m;if(n){j=(d[g>>0]|0)+(j&255)&255;break}if(q?(b[o>>1]|0)!=A<<16>>16:0)j=~~(y+ +h[p>>3]-(C+m)+0.0)&255;else j=0}while(0);h[z>>3]=D-+(((i<<24>>24)/2|0)<<24>>24);c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];eU(f,E,+(i<<24>>24)+(C+ +(j&255)-B),0.0)}l=G;return}function bU(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+160|0;o=q+112|0;p=q;j=q+144|0;m=c[f+24>>2]|0;fS(e,(m|0)==0?137615:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))jS(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=137621;k=4}}else{i=137628;k=4}if((k|0)==4)c[j>>2]=i;jS(e,j)}i=f+33|0;sS(e,+(d[i>>0]|0));i=a[i>>0]|0;j=i&255;a:do if(!(b[m>>1]&4)){n=b[f+36>>1]&15360;if(!(n<<16>>16)){if((i&255)>1){r=+(i&255)*.5;h[g>>3]=r+ +h[g>>3];p=g+8|0;h[p>>3]=r+ +h[p>>3];p=g+16|0;h[p>>3]=+h[p>>3]-r;p=g+24|0;h[p>>3]=+h[p>>3]-r};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];mS(e,o,0);break}m=p+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];_T(m,o,j)|0;i=p+32|0;j=p+64|0;k=p+48|0;f=p+80|0;do switch(((n&65535)+-1024|0)>>>10&4194303|0){case 7:{oS(e,m,2);break a}case 3:{oS(e,i,2);break a}case 1:{oS(e,k,2);break a}case 0:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);break a}case 11:{oS(e,m,3);break a}case 5:{oS(e,i,3);break a}case 2:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,k,3);break a}case 8:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,3);break a}case 13:{oS(e,m,4);break a}case 6:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];oS(e,i,4);break a}case 10:{c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];p=p+96|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];oS(e,k,4);break a}case 12:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,4);break a}case 9:{oS(e,m,2);oS(e,k,2);break a}case 4:{c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];oS(e,p,2);oS(e,i,2);break a}default:break a}while(0)}else{c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];RM(e,_T(p,o,j)|0,4,4,0)}while(0);l=q;return}function cU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=c[d+16>>2]|0;f=h+208|0;i=h+260|0;if((c[f>>2]|0)==0?(b[i>>1]&1)==0:0)d=0;else{bS(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){l6(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){l6(f);c[d>>2]=c[g>>2]}b[i>>1]=b[i>>1]&-2|a[e+16>>0]&1;return}function dU(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function eU(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];mS(a,g,1);l=f;return}function fU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=+h[d>>3]+k;m=+h[e+8>>3];j=+h[d+8>>3]+m;k=+h[d+16>>3]+k;m=+h[d+24>>3]+m;h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)Aa(137635,137643,623,137655);if(!(a[e>>0]|0))Aa(137669,137643,624,137655);else{qS(b,e,g,4,1,f);l=i;return}}function gU(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0;Q=l;l=l+128|0;K=Q+104|0;O=Q+48|0;P=Q+16|0;L=Q;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=+h[g+8>>3]+(+h[k+24>>3]-+h[k+8>>3])*.5;cS(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;u=(m|0)==0;v=O+24|0;w=O+8|0;x=O+32|0;y=O+40|0;z=O+48|0;A=j+16|0;B=P+8|0;C=j+4|0;t=0;while(1){if((t|0)>=(e|0))break;k=f+(t*24|0)+8|0;switch(a[f+(t*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[k>>3];break}default:i=M-+h[k>>3]*.5}h[g>>3]=i;r=f+(t*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[r>>3];s=f+(t*24|0)+4|0;p=c[f+(t*24|0)>>2]|0;q=0;while(1){if((q|0)>=(b[s>>1]|0))break;o=p+4|0;k=c[o>>2]|0;if(!k){h[D>>3]=+h[A>>3];c[P>>2]=c[j>>2];m=c[C>>2]|0;c[E>>2]=m;k=c[F>>2]&-128}else{h[D>>3]=+h[(+h[k+16>>3]>0.0?k:j)+16>>3];c[P>>2]=c[((c[k>>2]|0)==0?j:k)>>2];m=c[((c[k+4>>2]|0)==0?j:k)+4>>2]|0;c[E>>2]=m;k=c[k+24>>2]&127|c[F>>2]&-128}c[F>>2]=k;fS(d,m);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(u)n=1.0;else n=+h[p+24>>3];h[v>>3]=n;c[B>>2]=c[(c[o>>2]|0)+8>>2];c[w>>2]=c[p+8>>2];o=p+32|0;h[x>>3]=+h[o>>3];h[y>>3]=+h[r>>3];a[z>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];eS(d,K,O);n=i+ +h[o>>3];h[g>>3]=n;p=p+56|0;q=q+1|0;i=n}t=t+1|0}dS(d);l=Q;return}function hU(a){a=a|0;l6(c[a>>2]|0);l6(c[a+4>>2]|0);l6(c[a+8>>2]|0);l6(c[a+16>>2]|0);l6(c[a+12>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);return}function iU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;l6(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)db[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)l6(d);l6(a)}return}function jU(a){a=a|0;l6(c[a+32>>2]|0);l6(a);return}function kU(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{lU(c[b>>2]|0);break}case 3:{jU(c[b>>2]|0);break}default:iU(c[b>>2]|0)}if(d|0)l6(b);return}function lU(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)Oz(c[e>>2]|0)|0;else{b=c[e>>2]|0;l6(c[a+92>>2]|0);l6(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;mU(d);b=b+4|0}l6(c[e>>2]|0)}hU(a);l6(a);return}function mU(a){a=a|0;kU(a+88|0,0);hU(a);l6(a);return}function nU(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=oU(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function oU(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(C3(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=pU(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function pU(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(C3(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=oU(c[b+88>>2]|0,d)|0;else b=0;return b|0}function qU(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function rU(d){d=d|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=HK((c[d+100>>2]<<2)+4|0)|0;n=HK((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=d&65535;g=+h[l+72>>3];if(d<<16>>16==1)j=~~g;else{j=~~((g-+(S((a[o>>0]|0)+-1|0,f+-1|0)|0))/+(d&65535));j=(j|0)>1?j:1}d=b[l+80>>1]|0;k=d&65535;g=+h[l+64>>3];if(d<<16>>16==1)i=~~g;else{i=~~((g-+(S((a[o>>0]|0)+-1|0,k+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}d=e[l+86>>1]|0;f=d+f|0;while(1){if((d|0)>=(f|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(j|0)?r:j;d=d+1|0}d=e[l+84>>1]|0;f=d+k|0;while(1){if((d|0)>=(f|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(i|0)?q:i;d=d+1|0}m=m+4|0}return}function sU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55892+(a<<2)>>2]|0;else{c[b>>2]=a;i2(195241,137696,b)|0;a=195241}l=d;return a|0}function tU(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=qC(d,sU(f)|0,1)|0;RC(i,137750,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=HK((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=HK((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=qC(b,sU(f)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=HK((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=qC(d,sU(e[o>>1]|0)|0,0)|0;o=qC(d,sU((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=qC(b,sU(e[o>>1]|0)|0,0)|0;o=qC(b,sU((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;uU(b,n,o,~~+h[g+72>>3]);f=f+4|0}vU(d);vU(b);return}function uU(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=fB(a,d,f,0,0)|0;if(!h){i=fB(a,d,f,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;h=c[d>>2]|0;a=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;h=c[d>>2]|0;a=c[h+172>>2]|0;h=(c[h+176>>2]<<2)+8|0;if(!a)a=IK(h)|0;else a=KK(a,h)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function vU(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[(c[a+16>>2]|0)+192>>2]|0;e=d;d=d+16|0;while(1){h=c[(c[d>>2]|0)+164>>2]|0;if(!h)break;d=h+16|0;if(fB(a,e,h,0,0)|0){e=h;continue}i=fB(a,e,h,0,1)|0;RC(i,137763,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=0;g=e+16|0;f=c[g>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;j=c[g>>2]|0;c[j+180>>2]=e;j=j+184|0;f=c[j>>2]|0;c[j>>2]=f+1;c[e+(f<<2)>>2]=i;f=c[g>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=c[d>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;g=c[d>>2]|0;c[g+172>>2]=e;g=g+176|0;j=c[g>>2]|0;c[g>>2]=j+1;c[e+(j<<2)>>2]=i;e=c[d>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;e=h}return}function wU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function xU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;b=g;c[b>>2]=c[4658];d=c[a+100>>2]|0;if((d|0)!=1?(e=a+104|0,(c[e>>2]|0)!=1):0){c[a+92>>2]=HK((d<<2)+4|0)|0;c[a+96>>2]=HK((c[e>>2]<<2)+4|0)|0;c[f>>2]=c[b>>2];e=lB(137776,f,0)|0;c[f>>2]=c[b>>2];f=lB(137781,f,0)|0;RC(e,137786,280,1)|0;RC(f,137786,280,1)|0;tU(a,e,f);sL(e,2,2147483647)|0;sL(f,2,2147483647)|0;wU(a,e,f);yU(e,f)}else rU(a);l=g;return}function yU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){l6(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){l6(e);d=c[f>>2]|0}d=d+164|0}pB(a)|0;pB(b)|0;return}function zU(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+272|0;p=r+104|0;q=r+136|0;n=r+72|0;o=r;g=r+144|0;c[o+48>>2]=b;i=o+52|0;switch(FC(b)|0){case 0:{e=c[b+60>>2]|0;f=5;break}case 1:{e=uC(b)|0;f=5;break}case 2:{e=uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;f=5;break}default:e=0}if((f|0)==5)c[i>>2]=e;m=c[e+60>>2]|0;h[o+32>>3]=+h[d+16>>3];c[o+16>>2]=c[d+4>>2];c[o+20>>2]=c[d+8>>2];c[o+40>>2]=0;k=JW(c[d>>2]|0,q,o)|0;if(!k){hA(p,128,g);a[d+82>>0]=0;e=Y3(AU(b,p)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=cQ(e)|0;else e=$P(e,c[i>>2]|0)|0;l6(c[d>>2]|0);c[d>>2]=e;vK(c[(c[m+16>>2]|0)+144>>2]|0,d);lA(p);e=c[q>>2]|0}else{e=k+4|0;f=d+24|0;g=n+8|0;i=n+24|0;j=n+16|0;if((a[e>>0]|0)==1){if((c[(c[k>>2]|0)+24>>2]|0)==0?BU(b)|0:0){b=Y3(BU(b)|0)|0;c[(c[k>>2]|0)+24>>2]=b}o=CU(m,c[k>>2]|0,0,o)|0;c[q>>2]=c[q>>2]|o;o=c[k>>2]|0;t=+h[o+64>>3]*.5;s=+h[o+72>>3]*.5;DU(n,-t,-s,t,s);o=c[k>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2];EU(o,p,15)}else{FU(c[(c[m+16>>2]|0)+144>>2]|0,c[k>>2]|0,o);p=c[k>>2]|0;s=+h[p+24>>3]*.5;t=+h[p+32>>3]*.5;DU(n,-s,-t,s,t);p=(c[k>>2]|0)+8|0;c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];c[p+8>>2]=c[n+8>>2];c[p+12>>2]=c[n+12>>2];c[p+16>>2]=c[n+16>>2];c[p+20>>2]=c[n+20>>2];c[p+24>>2]=c[n+24>>2];c[p+28>>2]=c[n+28>>2]}h[f>>3]=+h[j>>3]-+h[n>>3];h[d+32>>3]=+h[i>>3]-+h[g>>3];c[d+72>>2]=k;if((a[e>>0]|0)==1){l6(c[d>>2]|0);c[d>>2]=Y3(141914)|0}e=c[q>>2]|0}l=r;return e|0}function AU(b,d){b=b|0;d=d|0;var e=0;a:do switch(FC(b)|0){case 0:{kA(d,HB(b)|0)|0;break}case 1:{kA(d,HB(b)|0)|0;break}case 2:{kA(d,HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;kA(d,HB(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(uB(uC(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){kA(d,142050)|0;break a}else{kA(d,138041)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){iA(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function BU(b){b=b|0;var c=0,d=0;c=NA(b,138032)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=NA(b,141126)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function CU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)XT(j,k,186744);c[g+80>>2]=i;k=JU(f,g,j)|0;r=g+36|0;f=e[r>>1]|0;i=g+32|0;if(!(f&128))a[i>>0]=2;m=g+33|0;if(!(f&32))a[m>>0]=1;xU(g);n=c[g+104>>2]|0;p=a[i>>0]|0;f=S(p,n+1|0)|0;o=d[m>>0]<<1;q=c[g+100>>2]|0;p=S(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;o=g+40|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[o>>1]|0,s<<16>>16):0){if(!((m|0)<(f|0)|(s&65535|0)<(i|0))){i=0;f=0;break}dA(0,137832,t)|0;k=1;i=0;f=0;break}dA(0,137866,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[o>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)dU(j,186744);l=w;return k|0}function DU(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function EU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+64|0;H=J+32|0;I=J;w=c[f+84>>2]|0;m=c[f+80>>2]|0;if((m|0?(j=c[m+24>>2]|0,j|0):0)?(k=f+24|0,(c[k>>2]|0)==0):0)c[k>>2]=Y3(j)|0;G=f+48|0;j=g+16|0;o=+h[j>>3];n=+h[g>>3];k=~~(o-n-+(~~+h[f+64>>3]|0));if((k|0)<=-1)Aa(137799,137643,1761,137809);m=g+24|0;u=+h[m>>3];p=g+8|0;q=+h[p>>3];r=+(~~+h[f+72>>3]|0);s=~~(u-q-r);if((s|0)<=-1)Aa(137822,137643,1764,137809);t=e[f+36>>1]|0;a:do if(t&1){b:do if((k|0)>0)switch(t&6){case 4:{h[j>>3]=n+r;break b}case 2:{K=+(k|0);h[j>>3]=o+K;n=K+n;h[g>>3]=n;break b}default:{K=+(k>>>1|0);n=n+K;h[g>>3]=n;h[j>>3]=o-K;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{u=q+r;h[m>>3]=u;s=0;j=0;break a}case 8:{K=+(s|0);u=K+u;h[m>>3]=u;h[p>>3]=q+K;s=0;j=0;break a}default:{K=+(s>>>1|0);h[p>>3]=q+K;u=u-K;h[m>>3]=u;s=0;j=0;break a}}else{s=0;j=0}}else j=k;while(0);o=+(d[f+33>>0]|0);E=f+32|0;F=a[E>>0]|0;v=F<<24>>24;q=+(F<<24>>24);F=f+104|0;m=c[F>>2]|0;t=(j|0)/(m|0)|0;p=j-(S(t,m)|0)|0;p=~~(+(p|0)+((p|0)>-1?.5:-.5));D=f+96|0;t=t+v|0;j=~~(n+o+q);k=0;while(1){if((k|0)>(m|0))break;C=(c[D>>2]|0)+(k<<2)|0;m=c[C>>2]|0;c[C>>2]=j;j=t+j+((k|0)<(p|0)&1)+m|0;k=k+1|0;m=c[F>>2]|0}C=f+100|0;m=c[C>>2]|0;p=(s|0)/(m|0)|0;s=s-(S(p,m)|0)|0;s=~~(+(s|0)+((s|0)>-1?.5:-.5));B=f+92|0;p=p+v|0;j=~~(u-o-q);k=0;while(1){if((k|0)>(m|0))break;A=(c[B>>2]|0)+(k<<2)|0;m=c[A>>2]|0;c[A>>2]=j;j=j-p+(((k|0)<(s|0))<<31>>31)-m|0;k=k+1|0;m=c[C>>2]|0}x=(i|0)==0;y=I+16|0;z=I+24|0;A=I+8|0;m=w;while(1){p=c[m>>2]|0;if(!p)break;j=b[p+84>>1]|0;k=b[p+86>>1]|0;s=k&65535;t=j&65535;v=(e[p+80>>1]|0)+t|0;w=(e[p+82>>1]|0)+s|0;if(x)j=0;else{j=j<<16>>16==0?8:0;j=k<<16>>16==0?j|4:j;j=(w|0)==(c[C>>2]|0)|((v|0)==(c[F>>2]|0)?j|2:j)}k=c[D>>2]|0;h[I>>3]=+(c[k+(t<<2)>>2]|0);t=a[E>>0]|0;h[y>>3]=+((c[k+(v<<2)>>2]|0)-t|0);v=c[B>>2]|0;h[z>>3]=+(c[v+(s<<2)>>2]|0);h[A>>3]=+((c[v+(w<<2)>>2]|0)+t|0);c[H>>2]=c[I>>2];c[H+4>>2]=c[I+4>>2];c[H+8>>2]=c[I+8>>2];c[H+12>>2]=c[I+12>>2];c[H+16>>2]=c[I+16>>2];c[H+20>>2]=c[I+20>>2];c[H+24>>2]=c[I+24>>2];c[H+28>>2]=c[I+28>>2];GU(p,H,j&i);m=m+4|0}a[f+35>>0]=i;c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];c[G+16>>2]=c[g+16>>2];c[G+20>>2]=c[g+20>>2];c[G+24>>2]=c[g+24>>2];c[G+28>>2]=c[g+28>>2];l=J;return}function FU(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0.0;P=l;l=l+112|0;I=P+48|0;J=P+16|0;K=P;c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;c[J+16>>2]=0;c[J+20>>2]=0;c[J+24>>2]=0;c[J+28>>2]=0;L=e+4|0;M=J+16|0;N=f+16|0;O=f+32|0;r=b[L>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[O>>3];h[M>>3]=k;i=N}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:N)+16>>3];h[M>>3]=k;i=(c[i>>2]|0)==0?N:i}i=c[i>>2]|0;c[J>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(f2(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=J+4|0;G=J+24|0;H=f+40|0;x=f+20|0;y=d+144|0;z=I+4|0;w=K+8|0;A=I+16|0;B=I+24|0;C=I+8|0;D=I+12|0;v=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;f=0;g=r;while(1){if((f|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;n=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((n|0)>=(b[i+(f*24|0)+4>>1]|0))break;c[I>>2]=CK(c[(c[i+(f*24|0)>>2]|0)+(n*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(f*24|0)|0;g=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;m=c[G>>2]&-128;if(!g){h[M>>3]=+h[O>>3];c[J>>2]=c[N>>2];c[F>>2]=c[x>>2];c[G>>2]=c[H>>2]&127|m}else{g=c[g+24>>2]&127;if(!g)g=c[H>>2]&127;c[G>>2]=g|m;r=c[(c[i>>2]|0)+(n*56|0)+4>>2]|0;h[M>>3]=+h[(+h[r+16>>3]>0.0?r:N)+16>>3];c[J>>2]=c[((c[r>>2]|0)==0?N:r)>>2];c[F>>2]=c[((c[r+4>>2]|0)==0?N:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=eb[c[i>>2]&63](i,J,1)|0;JO(K,d,I);R=+h[K>>3];o=+h[w>>3];l6(c[(c[(c[e>>2]|0)+(f*24|0)>>2]|0)+(n*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(f*24|0)>>2]|0;c[r+(n*56|0)>>2]=c[I>>2];h[r+(n*56|0)+32>>3]=R;h[r+(n*56|0)+16>>3]=+h[A>>3];h[r+(n*56|0)+24>>3]=+h[B>>3];c[r+(n*56|0)+4>>2]=c[z>>2];c[r+(n*56|0)+8>>2]=c[C>>2];c[r+(n*56|0)+12>>2]=c[D>>2];Q=+h[M>>3];S=+h[B>>3];k=S>k?S:k;q=q+R;n=n+1|0;p=Q>p?Q:p;j=o>j?o:j}h[i+(f*24|0)+8>>3]=q;g=(f|0)==0;do if(v)if(g){o=p;k=p-k;break}else{o=p;k=t+p-u-k;break}else{o=j;k=g?p:j}while(0);h[i+(f*24|0)+16>>3]=k;s=q>s?q:s;t=t+o;u=u+k;f=f+1|0;g=b[L>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=P;return}function GU(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+64|0;v=z+32|0;y=z;k=f+24|0;if((c[k>>2]|0)==0?(j=c[(c[f+96>>2]|0)+24>>2]|0,j|0):0)c[k>>2]=Y3(j)|0;u=f+36|0;t=e[u>>1]|0;k=g+8|0;j=g+16|0;w=t&6;s=g+24|0;x=t&24;a:do if(t&1){m=+h[f+64>>3];r=+h[f+72>>3];n=+h[j>>3];p=+h[g>>3];o=n-p-m;b:do if(o>0.0)switch(w&7){case 4:{n=m+p;h[j>>3]=n;m=p;break b}case 2:{n=n+o;h[j>>3]=n;m=o+p;h[g>>3]=m;break b}default:{q=o*.5;m=p+q;h[g>>3]=m;n=n-q;h[j>>3]=n;break b}}else m=p;while(0);q=+h[s>>3];p=+h[k>>3];o=q-p-r;if(o>0.0)switch(x&31){case 16:{o=r+p;h[s>>3]=o;break a}case 8:{r=q+o;h[s>>3]=r;p=o+p;h[k>>3]=p;o=r;break a}default:{o=o*.5;p=p+o;h[k>>3]=p;o=q-o;h[s>>3]=o;break a}}else o=q}else{m=+h[g>>3];p=+h[k>>3];n=+h[j>>3];o=+h[s>>3]}while(0);t=f+48|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];c[t+16>>2]=c[g+16>>2];c[t+20>>2]=c[g+20>>2];c[t+24>>2]=c[g+24>>2];c[t+28>>2]=c[g+28>>2];a[f+35>>0]=i;B=+(d[f+33>>0]|0);A=+(d[f+34>>0]|0);q=m+B+A;h[y>>3]=q;r=A+(B+p);t=y+8|0;h[t>>3]=r;p=n-B-A;s=y+16|0;h[s>>3]=p;o=o-B-A;g=y+24|0;h[g>>3]=o;j=a[f+92>>0]|0;k=f+88|0;do if(j<<24>>24==1){x=c[k>>2]|0;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];EU(x,v,i)}else{m=p-q;if(j<<24>>24==3){j=c[k>>2]|0;n=+h[j+24>>3];m=m-+h[j+16>>3];c:do if(m>0.0)switch(w&7){case 4:{h[s>>3]=p-m;break c}case 2:{h[y>>3]=q+m;break c}default:break c}while(0);m=o-r-n;d:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break d}case 8:{h[t>>3]=r+m;break d}default:break d}while(0);c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[v+16>>2]=c[y+16>>2];c[v+20>>2]=c[y+20>>2];c[v+24>>2]=c[y+24>>2];c[v+28>>2]=c[y+28>>2];HU(j,v);break}j=c[k>>2]|0;n=+h[j+32>>3];m=m-+h[j+24>>3];e:do if(!((w|0)==6|!(m>0.0)))switch(w&7){case 4:{h[s>>3]=p-m;break e}case 2:{h[y>>3]=q+m;break e}default:{B=m*.5;h[y>>3]=q+B;h[s>>3]=p-B;break e}}while(0);m=o-r-n;f:do if(m>0.0)switch(x&31){case 16:{h[g>>3]=o-m;break f}case 8:{h[t>>3]=r+m;break f}default:{B=m*.5;h[t>>3]=r+B;h[g>>3]=o-B;break f}}while(0);x=j+8|0;c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[x+8>>2]=c[y+8>>2];c[x+12>>2]=c[y+12>>2];c[x+16>>2]=c[y+16>>2];c[x+20>>2]=c[y+20>>2];c[x+24>>2]=c[y+24>>2];c[x+28>>2]=c[y+28>>2];y=b[u>>1]&768;IU(c[k>>2]|0,(y&1023)==512?108:(y&1023)==256?114:110)}while(0);l=z;return}function HU(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function IU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function JU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=IL()|0;v=NU()|0;i=0;h=0;k=Qz(t)|0;while(1){if(!k)break;j=Qz(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)RU(v,h);k=c[k>>2]|0}h=HK((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Qz(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Qz(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=KU(d,n,f,g)|0|k;l=LU(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=(e[n+80>>1]|0)+l|0;m=(e[n+82>>1]|0)+q|0;if(SU(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;Oz(t)|0;Oz(v)|0;LL(u);return k|0}function KU(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+16|0;w=x+8|0;v=x;c[g+96>>2]=i;t=g+36|0;o=e[t>>1]|0;s=g+34|0;p=i+36|0;if(!(o&64)){if(!(b[p>>1]&64))n=2;else n=a[i+34>>0]|0;a[s>>0]=n}q=g+33|0;if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[p>>1]&32))n=1;else n=a[i+33>>0]|0;a[q>>0]=n}r=g+92|0;n=g+88|0;switch(a[r>>0]|0){case 1:{o=CU(f,c[n>>2]|0,g,j)|0;p=c[n>>2]|0;n=o;o=p+64|0;p=p+72|0;break}case 3:{o=MU(c[n>>2]|0,j)|0;p=c[n>>2]|0;n=o;o=p+16|0;p=p+24|0;break}default:{FU(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);p=c[n>>2]|0;n=0;o=p+24|0;p=p+32|0}}k=+((d[q>>0]|0)+(d[s>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[p>>3]+k;p=g+38|0;i=g+40|0;do if(b[t>>1]&1){o=b[p>>1]|0;if(o<<16>>16?(u=b[i>>1]|0,u<<16>>16):0){if(!(+(o&65535)<m|+(u&65535)<k)){m=0.0;k=0.0;break}if((a[r>>0]|0)==3){m=0.0;k=0.0;break}dA(0,137917,v)|0;n=1;m=0.0;k=0.0;break}dA(0,137950,w)|0;n=1}while(0);y=+(e[p>>1]|0);h[g+64>>3]=m>y?m:y;m=+(e[i>>1]|0);h[g+72>>3]=k>m?k:m;l=x;return n|0}function LU(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(QL(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<((e[j>>1]|0)+c|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;OL(a,f,g);g=g+1|0}f=f+1|0}return c|0}function MU(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;PF(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];dA(1,138e3,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function NU(){return Sz(55976,c[4591]|0)|0}function OU(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(12)|0;c[d>>2]=c[b>>2];return d|0}function PU(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function QU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function RU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function SU(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(eb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function TU(a){a=a|0;var b=0;if(!(c[47446]|0)){b=HK((a<<2)+4|0)|0;c[47446]=b;c[b>>2]=189788;c[47457]=a}c[47458]=0;return}function UU(){l6(c[47446]|0);c[47446]=0;c[47458]=0;return}function VU(){c[47458]=0;return}function WU(){var a=0,b=0,d=0;b=c[47458]|0;d=c[47446]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)Aa(138697,138044,59,138050);else if((a|0)==5)return}function XU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function YU(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[47458]|0;if((b|0)==(c[47457]|0)){dA(1,138058,d)|0;a=1}else{b=b+1|0;c[47458]=b;c[(c[47446]|0)+(b<<2)>>2]=a;XU(b);WU();a=0}l=d;return a|0}function ZU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=c[47446]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;i=c[47458]|0;j=(i|0)/2|0;while(1){e=f+(a<<2)|0;if((a|0)>(j|0))break;d=a<<1;b=c[f+(d<<2)>>2]|0;if((d|0)<(i|0)){m=d|1;k=c[f+(m<<2)>>2]|0;l=(c[b>>2]|0)<(c[k>>2]|0);d=l?m:d;b=l?k:b}if((h|0)>=(c[b>>2]|0))break;c[e>>2]=b;c[b+4>>2]=a;a=d}c[e>>2]=g;c[g+4>>2]=a;return}function _U(){var a=0,b=0,d=0,e=0;b=c[47458]|0;if(!b)a=0;else{e=c[47446]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[47458]=b;if(b|0)ZU(1);WU()}return a|0}function $U(a,b){a=a|0;b=b|0;c[a>>2]=b;XU(c[a+4>>2]|0);WU();return}function aV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]-+h[d+48>>3]+-3.0)*.5);l=~~((+h[d+56>>3]-+h[d+40>>3]+-3.0)*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}bV(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){bV(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function bV(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function cV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=HK(28)|0;b=qB(a)|0;s=w+4|0;c[s>>2]=b;b=HK(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=gC(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+88>>3]+ +h[D+96>>3])*.5;z=z<1.0?1.0:z;E=+h[D+80>>3]*.5;E=E<1.0?1.0:E;y=+h[D+16>>3];B=y-z;h[m>>3]=B;z=y+z;h[i>>3]=z;y=+h[D+24>>3];A=y-E;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=hC(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=mV(D,f,t,u)|0;if(c[47394]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];dV(r,C,u,f,D)}e=w+8|0;c[e>>2]=HK((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}l6(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=eV(w,u)|0;l=x;return w|0}function dV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15715]|0;Z3(c[14003]|0,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);z4(i,138503,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;z4(i,138551,r)|0;Z3(138568,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;z4(i,138587,j)|0;d=d+1|0}Z3(138605,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(i,138624,o)|0;d=d+1|0}Z3(138642,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;z4(i,138624,p)|0;Z3(c[14004]|0,i)|0;l=q;return}function eV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;z=l;l=l+32|0;t=z+16|0;m=z;v=c[a>>2]|0;x=AR(v<<2|2)|0;y=Sz(56020,c[4591]|0)|0;u=Sz(56056,c[4591]|0)|0;v=HK(v<<7)|0;g=HK(c[a>>2]<<4)|0;w=a+8|0;i=b+16|0;j=m+8|0;k=b+24|0;n=b+8|0;e=0;while(1){if((e|0)>=(c[a>>2]|0))break;d=c[w>>2]|0;o=d+(e*72|0)|0;c[d+(e*72|0)+32>>2]=4;p=d+(e*72|0)+36|0;c[p>>2]=g+(e<<2<<2);f=+h[d+(e*72|0)+56>>3];q=d+(e*72|0)+40|0;r=d+(e*72|0)+48|0;if(f<+h[i>>3]){h[m>>3]=f;h[j>>3]=+h[r>>3];c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,y,t,v,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}f=+h[d+(e*72|0)+64>>3];if(f<+h[k>>3]){h[m>>3]=+h[q>>3];h[j>>3]=f;c[t>>2]=c[m>>2];c[t+4>>2]=c[m+4>>2];c[t+8>>2]=c[m+8>>2];c[t+12>>2]=c[m+12>>2];s=fV(x,u,t,v,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,y,t,v,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[r>>3]>+h[n>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=fV(x,u,t,v,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}e=e+1|0}o=HK(c[x>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){e=0;break}e=c[s>>2]|0;i=e+(n*72|0)|0;j=e+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=e+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=e+(n*72|0)+56|0;k=e+(n*72|0)+32|0;d=eb[c[u>>2]&63](u,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;B=c[d>>2]|0;A=c[j>>2]|0;g=c[k>>2]|0;c[k>>2]=g+1;c[A+(g<<2)>>2]=B;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}g=e+(n*72|0)+64|0;d=eb[c[y>>2]&63](y,t,512)|0;while(1){f=+h[g>>3];if(!d)break;if(!(+h[d+16>>3]<f))break;C=c[d>>2]|0;A=c[j>>2]|0;B=c[k>>2]|0;c[k>>2]=B+1;c[A+(B<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}h[p>>3]=f;d=eb[c[u>>2]&63](u,t,512)|0;while(1){f=+h[b>>3];if(!d)break;if(!(+h[d+8>>3]<f))break;A=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=A;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[u>>2]&63](u,d,8)|0}h[t>>3]=f;h[p>>3]=+h[e+(n*72|0)+48>>3];d=eb[c[y>>2]&63](y,t,512)|0;while(1){e=c[k>>2]|0;if(!d)break;if(!(+h[d+16>>3]<+h[g>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;c[k>>2]=e+1;c[C+(e<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=eb[c[y>>2]&63](y,d,8)|0}m=e+m|0;q=(e|0)>(q|0)?e:q;n=n+1|0}while(1){if((e|0)>=(d|0))break;gV((c[s>>2]|0)+(e*72|0)|0);e=e+1|0;d=c[r>>2]|0}d=c[x>>2]|0;C=c[x+16>>2]|0;c[C+(d*40|0)+32>>2]=d;d=d+1|0;c[C+(d*40|0)+32>>2]=d;zR(x,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;hV((c[w>>2]|0)+(d*72|0)|0,x);d=d+1|0}Oz(y)|0;Oz(u)|0;l6(v);iV(x);xR(x);l=z;return x|0}function fV(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=eb[c[d>>2]&63](d,e,512)|0;do if(!h){b=BR(b)|0;if(!f)Aa(138486,138434,291,138493);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;eb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function gV(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=b+32|0;k=b+36|0;a:do if((+h[b+64>>3]-+h[b+48>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]-+h[b+40>>3]+-3.0)*.5<2.0){i=c[j>>2]|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[k>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function hV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(g+i)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=CR(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=CR(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=CR(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=CR(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=CR(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=CR(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function iV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15715]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,z4(g,138399,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,z4(g,138451,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)Aa(138421,138434,311,138441);else if((b|0)==8)Aa(138473,138434,313,138441);else if((b|0)==10){l=j;return}}function jV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function kV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function lV(a){a=a|0;var b=0,d=0;d=a+8|0;l6(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;l6(c[(c[b>>2]|0)+36>>2]|0);l6(c[d>>2]|0);l6(c[b>>2]|0);ER(c[a+16>>2]|0);Oz(c[a+20>>2]|0)|0;Oz(c[a+24>>2]|0)|0;l6(a);return}function mV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=IK(i*56|0)|0;i=HK(i<<2)|0;g=f*5|1;j=IK(g*72|0)|0;m=g<<5;k=HK(m)|0;m=HK(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,0);W4(173);oV(f,i);yV(f,o,i,g,j)|0;n=pV(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];nV(a,b,h,o,1);oV(f,i);yV(f,o,i,g,j)|0;f=pV(f,o,j,1,m)|0;g=HK(S(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=((qV(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)+a|0;e=e+1|0;a=q}b=b+1|0}q=KK(g,a<<5)|0;l6(o);l6(i);l6(j);l6(k);l6(m);c[d>>2]=a;l=p;return q|0}function nV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];wV(h,f,1,i);d=xV(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];wV(h,f,0,i);d=xV(e,d,i)|0;g=g+1|0}l=j;return}function oV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+(d|0)+ +(g-d|0)*+S4());e=b+(d<<2)|0;f=b+(h<<2)|0;if((h|0)!=(d|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function pV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=HK(j<<2)|0;c[47459]=HK(j<<4)|0;c[47460]=HK((a*56|0)+56|0)|0;j=HK(a<<2)|0;c[47461]=j;k=0;while(1){if((k|0)>(g|0))break;if(rV(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[47459]|0;i=c[47460]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[47462]=a;c[47463]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=sV(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=sV(l,f,0,b,d,0,k,g,e,1)|0;l6(l);l6(c[47459]|0);l6(c[47460]|0);l6(c[47461]|0);return g|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function rV(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function sV(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;E=(k|0)==0;D=g;a:while(1){if((i|0)<1)break;g=a+(i<<2)|0;if(c[g>>2]|0)break;c[g>>2]=1;r=f+(i*72|0)+16|0;n=+h[r>>3];x=f+(i*72|0)+32|0;o=+h[x>>3];v=f+(i*72|0)|0;y=f+(i*72|0)+4|0;if((n>o?(C=c[v>>2]|0,H=+h[e+(C*56|0)>>3],H==+h[e+(C*56|0)+16>>3]):0)?(C=c[y>>2]|0,I=+h[e+(C*56|0)>>3],I==+h[e+(C*56|0)+16>>3]):0){g=b+(d<<5)+16|0;m=b+(d<<5)+8|0;p=b+(d<<5)|0;if(E){h[p>>3]=H;h[m>>3]=o;h[g>>3]=I}else{h[p>>3]=o;h[m>>3]=-I;h[g>>3]=n;n=-H}h[b+(d<<5)+24>>3]=n;d=d+1|0}g=f+(i*72|0)+40|0;w=c[g>>2]|0;A=f+(i*72|0)+48|0;B=f+(i*72|0)+52|0;C=f+(i*72|0)+44|0;do if((w|0)<1?(c[C>>2]|0)<1:0){if((c[A>>2]|0)>0?(J=c[B>>2]|0,(J|0)>0):0){l=c[f+(J*72|0)>>2]|0;g=c[v>>2]|0;if((J|0)==(j|0)){j=tV(D,g,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,g)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;g=B;l=1;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1}else M=19;while(0);do if((M|0)==19){M=0;s=c[A>>2]|0;if((s|0)<1?(c[B>>2]|0)<1:0){if((w|0)>0?(K=c[C>>2]|0,(K|0)>0):0){m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if((K|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;j=D;g=B;l=1;break}z=(l|0)==1;u=(l|0)==2;t=f+(i*72|0)+24|0;p=c[C>>2]|0;l=(p|0)>0;if((w|0)>0){if(l){if((s|0)>0?(L=c[B>>2]|0,(L|0)>0):0){m=c[f+(L*72|0)>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)|u&(L|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[v>>2]|0;if(+F(+(+h[x>>3]-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[t>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0){m=c[f+(w*72|0)+4>>2]|0;l=c[e+(l*56|0)+44>>2]|0;if(z&(w|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;l=2;break}}m=c[y>>2]|0;l=c[f+(w*72|0)+4>>2]|0;if(z&(p|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[A>>2]|0,i,k,1)|0;l=2;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;g=C;l=2;break}}}else if(!l)break a;q=f+(i*72|0)+8|0;n=+h[r>>3];r=c[v>>2]|0;m=e+(r*56|0)|0;p=+F(+(n-+h[e+(r*56|0)+8>>3]))<=1.0e-07;if((s|0)>0?(G=c[B>>2]|0,(G|0)>0):0){if(p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0){l=c[f+(G*72|0)>>2]|0;if(u&(s|0)==(j|0)){j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}else{j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}}m=c[f+(G*72|0)>>2]|0;l=c[e+((c[y>>2]|0)*56|0)+44>>2]|0;if(u&(G|0)==(j|0)){j=tV(D,l,m)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=A;l=1;break}else{j=tV(D,m,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;g=B;l=1;break}}l=c[y>>2]|0;if(((p?+F(+(+h[q>>3]-+h[m>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(l*56|0)+8>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(l*56|0)>>3]))<=1.0e-07:0)if(z){j=tV(D,r,l)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,l,r)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}if(((+F(+(n-+h[e+(l*56|0)+24>>3]))<=1.0e-07?+F(+(+h[q>>3]-+h[e+(l*56|0)+16>>3]))<=1.0e-07:0)?+F(+(+h[x>>3]-+h[e+(r*56|0)+24>>3]))<=1.0e-07:0)?+F(+(+h[t>>3]-+h[e+(r*56|0)+16>>3]))<=1.0e-07:0){j=c[e+(l*56|0)+44>>2]|0;l=c[e+(r*56|0)+44>>2]|0;if(z){j=tV(D,l,j)|0;d=sV(a,b,d,e,f,D,c[g>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;d=sV(a,b,d,e,f,j,c[B>>2]|0,i,k,1)|0;g=A;l=1;break}else{j=tV(D,j,l)|0;d=sV(a,b,d,e,f,D,c[B>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,j,c[g>>2]|0,i,k,2)|0;g=C;l=2;break}}d=sV(a,b,d,e,f,D,w,i,k,2)|0;d=sV(a,b,d,e,f,D,c[A>>2]|0,i,k,1)|0;d=sV(a,b,d,e,f,D,c[C>>2]|0,i,k,2)|0;j=D;g=B;l=1}while(0);C=i;D=j;i=c[g>>2]|0;j=C}return d|0}function tV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[47463]|0)+1|0;c[47463]=e;m=c[47460]|0;uV(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[47462]|0;g=n+1|0;n=n+2|0;c[47462]=n;q=c[47459]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[47461]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function uV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[47460]|0;m=l+(b*56|0)|0;n=l+(a*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+vV(n,l+(h*56|0)|0,m),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+vV(m,l+(h*56|0)|0,n),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function vV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;g=+h[a>>3];k=+h[b>>3]-g;j=+h[a+8>>3];i=+h[b+8>>3]-j;g=+h[c>>3]-g;j=+h[c+8>>3]-j;d=k*g+i*j;e=+G(+(k*k+i*i));f=+G(+(g*g+j*j));if(!(k*j-i*g>=0.0))d=-d/e/f+-2.0;else d=d/e/f;return +d}function wV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];l=e+32|0;k=a+16|0;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];d=(d|0)==0;g=+h[a+8>>3];j=+h[k>>3];i=+h[a>>3];f=+h[a+24>>3];h[e+16>>3]=d?i:j;h[e+24>>3]=d?f:g;h[e+48>>3]=d?j:i;h[e+56>>3]=d?g:f;a:do if(b|0){a=0;while(1){if((a|0)==4)break a;k=e+(a<<4)+8|0;j=+h[k>>3];l=e+(a<<4)|0;h[k>>3]=+h[l>>3];h[l>>3]=-j;a=a+1|0}}while(0);return}function xV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=b+3|0;i=b+1|0;j=b+2|0;f=0;g=b;while(1){if((g|0)>(h|0))break;k=g+1|0;e=a+(g*56|0)+44|0;do if((g|0)!=(b|0))if((g|0)==(h|0)){c[e>>2]=b;e=j;break}else{c[e>>2]=k;e=g+-1|0;break}else{c[e>>2]=i;e=h}while(0);c[a+(g*56|0)+48>>2]=e;c[a+(g*56|0)+32>>2]=0;m=a+(g*56|0)|0;l=d+(f<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];I6(a+(e*56|0)+16|0,l|0,16)|0;f=f+1|0;g=k}return b+4|0}function yV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[47464]=e<<1;c[47465]=e;k=HK(e*80|0)|0;c[47466]=1;c[47467]=1;u6(f|0,0,e*72|0)|0;g=zV(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=AV(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=BV(a,i+-1|0)|0;h=BV(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}CV(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;DV(e,b,f,k);e=e+1|0}i=i+1|0}e=BV(a,j)|0;while(1){if((e|0)>=(a|0))break;CV(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}l6(k);return c[47466]|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=IV()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;MV(s,k,l);n=IV()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=IV()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;NV(r,k,l);c[e+(j*40|0)+28>>2]=f;l=IV()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=IV()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=IV()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=IV()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=HV(d)|0;i=HV(d)|0;m=HV(d)|0;o=HV(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];I6(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];I6(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function AV(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+W3(b);a=a+1|0}return a+-1|0}function BV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+W3(c);a=a+1|0}return ~~+R(+(d/c))|0}\nfunction pq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0.0,o=0.0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0.0,K=0.0,L=0,M=0,N=0,O=0.0,P=0.0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0.0,Z=0,_=0.0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+32|0;ba=ha+24|0;ca=ha+20|0;da=ha+16|0;fa=ha+12|0;ga=ha+8|0;X=ha;q=+h[e>>3];p=e+24|0;o=+h[p>>3];r=e+32|0;n=+h[r>>3];Y=+h[e+72>>3];Z=c[e+80>>2]|0;_=+h[e+88>>3];t=+h[e+96>>3];$=c[e+104>>2]|0;c[ba>>2]=0;c[ca>>2]=10;c[da>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[X>>3]=0.0;if(!((b|0)==0|(Z|0)<1)?(aa=c[b>>2]|0,m=c[b+4>>2]|0,!((a|0)<1|(m|0)<1)):0){if((m|0)<(c[e+52>>2]|0)){s=0;j=0;k=0}else{k=IK(a*80|0)|0;c[da>>2]=k;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;s=1;j=k}c[i>>2]=0;if((aa|0)==(m|0)){R=sw(b,1)|0;T=c[R+20>>2]|0;U=c[R+24>>2]|0;V=c[d+20>>2]|0;W=c[d+24>>2]|0;Q=c[d+28>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);k=S(aa,a)|0;j=0;while(1){if((j|0)>=(k|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(R,a,g);h[p>>3]=o}if(n<0.0){h[r>>3]=.2;n=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}O=1.0-q;P=+H(+o,+O);K=+H(+n,+((2.0-q)/3.0))/o;M=a<<3;L=IK(M)|0;M=S(aa,M)|0;N=IK(M)|0;F=(s|0)!=0;I=e+116|0;J=K*.2;C=q==-1.0;D=e+64|0;E=(f|0)!=0;j=0;A=0;B=0.0;z=t;b:while(1){A=A+1|0;B6(N|0,g|0,M|0)|0;if(F)j=ew(a,aa,10,g,(c[I>>2]|0)==0?0:f)|0;s=0;o=0.0;c:while(1){if((s|0)<(aa|0))k=0;else break;while(1){if((k|0)>=(a|0))break;h[L+(k<<3)>>3]=0.0;k=k+1|0}x=s+1|0;d=T+(x<<2)|0;y=S(s,a)|0;m=c[T+(s<<2)>>2]|0;while(1){if((m|0)>=(c[d>>2]|0))break;p=U+(m<<2)|0;k=c[p>>2]|0;d:do if((k|0)!=(s|0)){n=+Xw(g,a,s,k);k=0;while(1){if((k|0)>=(a|0))break d;t=n*(K*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[p>>2]|0,a)|0)+k<<3)>>3]));w=L+(k<<3)|0;h[w>>3]=+h[w>>3]-t;k=k+1|0}}while(0);m=m+1|0}p=V+(x<<2)|0;d=c[V+(s<<2)>>2]|0;while(1){if((d|0)>=(c[p>>2]|0))break;r=W+(d<<2)|0;k=c[r>>2]|0;e:do if((k|0)!=(s|0)){n=+Ww(g,a,s,k);m=Q+(d<<3)|0;k=0;while(1){if((k|0)>=(a|0))break e;q=+h[m>>3];t=n-q;t=t*(t*(J*(+h[g+(k+y<<3)>>3]-+h[g+((S(c[r>>2]|0,a)|0)+k<<3)>>3])))/n;w=L+(k<<3)|0;h[w>>3]=+h[w>>3]+(n<q?t:-t);k=k+1|0}}while(0);d=d+1|0}f:do if(!F)if(E&(c[I>>2]|0)!=0){k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}g:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=f+(k<<3)|0;p=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break g;r=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[r>>3]=+h[r>>3]+P*+h[d>>3]*(+h[g+(m+y<<3)>>3]-+h[g+(m+p<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{k=0;while(1){if((k|0)==(aa|0)){n=0.0;k=0;break f}h:do if((k|0)!=(s|0)){q=+Ww(g,a,s,k);d=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break h;p=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[p>>3]=+h[p>>3]+P*(+h[g+(m+y<<3)>>3]-+h[g+(m+d<<3)>>3])/n;m=m+1|0}}while(0);k=k+1|0}}else{_v(j,+h[D>>3],g+(y<<3)|0,s,ba,ca,da,fa,ga,X,i);d=c[ba>>2]|0;if(c[i>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;s=c[da>>2]|0;k=0;while(1){if((k|0)>=(d|0)){n=0.0;k=0;break f}q=+h[p+(k<<3)>>3];q=q>1.0e-15?q:1.0e-15;u=r+(k<<3)|0;v=S(k,a)|0;t=q*q;m=0;while(1){if((m|0)>=(a|0))break;w=L+(m<<3)|0;if(C)n=t;else n=+H(+q,+O);h[w>>3]=+h[w>>3]+P*+h[u>>3]*(+h[g+(m+y<<3)>>3]-+h[s+(m+v<<3)>>3])/n;m=m+1|0}k=k+1|0}}while(0);while(1){if((k|0)>=(a|0))break;t=+h[L+(k<<3)>>3];n=n+t*t;k=k+1|0}n=+G(+n);o=o+n;i:do if(n>0.0){k=0;while(1){if((k|0)>=(a|0)){k=0;break i}w=L+(k<<3)|0;h[w>>3]=+h[w>>3]/n;k=k+1|0}}else k=0;while(0);while(1){if((k|0)>=(a|0)){s=x;continue c}w=g+(k+y<<3)|0;h[w>>3]=+h[w>>3]+z*+h[L+(k<<3)>>3];k=k+1|0}}if(j|0)lw(j);z=+gq($,z,o,B,_);if(!((A|0)<(Z|0)&z>Y)){ea=75;break}else B=o}if((ea|0)==75?c[e+112>>2]|0:0)hq(a,R,g);l6(N);if((R|0)!=(b|0))nw(R);l6(L);j=c[da>>2]|0;k=j}else c[i>>2]=-100;if(k|0)l6(j);j=c[fa>>2]|0;if(j|0)l6(j);j=c[ga>>2]|0;if(j|0)l6(j)}l=ha;return}function qq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c[b+20>>2]|0;o=c[b+24>>2]|0;p=IK(a<<3)|0;m=c[b>>2]|0;k=0;a:while(1){if((k|0)<(m|0))b=0;else break;while(1){if((b|0)>=(a|0))break;h[p+(b<<3)>>3]=0.0;b=b+1|0}l=k+1|0;j=c[n+(l<<2)>>2]|0;i=c[n+(k<<2)>>2]|0;b=0;while(1){if((i|0)>=(j|0))break;e=c[o+(i<<2)>>2]|0;if((e|0)!=(k|0)){g=S(e,a)|0;e=0;while(1){if((e|0)>=(a|0))break;q=p+(e<<3)|0;h[q>>3]=+h[d+(e+g<<3)>>3]+ +h[q>>3];e=e+1|0}b=b+1|0}i=i+1|0}if((b|0)<=0){k=l;continue}f=.5/+(b|0);e=S(k,a)|0;b=0;while(1){if((b|0)>=(a|0)){k=l;continue a}q=d+(b+e<<3)|0;h[q>>3]=+h[q>>3]*.5+f*+h[p+(b<<3)>>3];b=b+1|0}}l6(p);return}function rq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0.0;i=c[a+20>>2]|0;j=c[a+24>>2]|0;h=c[a>>2]|0;k=IK((h<<2)+4|0)|0;a=0;while(1){if((a|0)>(h|0)){d=0;e=0;break}c[k+(a<<2)>>2]=0;a=a+1|0}while(1){if((e|0)>=(h|0))break;f=e+1|0;g=c[i+(f<<2)>>2]|0;a=0;b=c[i+(e<<2)>>2]|0;while(1){if((b|0)>=(g|0))break;a=((e|0)!=(c[j+(b<<2)>>2]|0)&1)+a|0;b=b+1|0}g=k+(a<<2)|0;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d=(d|0)>(e|0)?d:e;e=f}l=+(c[k+4>>2]|0);if(l>+(d|0)*.8?l>+(h|0)*.3:0)a=1;else a=0;l6(k);return a|0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;o=l;l=l+48|0;n=o+16|0;j=o;g=S(b,b)|0;e=0;while(1){if((e|0)>=(g|0)){e=0;break}h[n+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}d=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/d;e=e+1|0}while(1){if((g|0)>=(a|0)){i=0;break}i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}while(1){if((i|0)>=(a|0))break;j=S(i,b)|0;g=0;while(1){if((g|0)>=(b|0))break;k=c+(g+j<<3)|0;m=S(g,b)|0;e=0;while(1){if((e|0)==(b|0))break;p=n+(e+m<<3)|0;h[p>>3]=+h[p>>3]+ +h[k>>3]*+h[c+(e+j<<3)>>3];e=e+1|0}g=g+1|0}i=i+1|0}d=+h[n+8>>3];if(d==0.0)d=0.0;else{q=+h[n>>3];f=+h[n+24>>3];d=-(f-q-+G(+(f*f+(d*(d*4.0)+q*q-q*2.0*f))))/(d*2.0)}f=+G(+(d*d+1.0));d=d/f;f=1.0/f;e=0;while(1){if((e|0)>=(a|0))break;p=S(e,b)|0;n=c+(p<<3)|0;q=+h[n>>3];p=c+(p+1<<3)|0;r=+h[p>>3];h[n>>3]=d*q+f*r;h[p>>3]=d*r-f*q;e=e+1|0}l=o;return}function tq(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;uq(a,b,c,d,e,f,g,h,i,j);return}function uq(b,d,e,f,g,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;H=l;l=l+192|0;D=H+176|0;B=H+168|0;F=H;B6(F|0,f|0,168)|0;c[n>>2]=0;do if(d|0?(G=c[d+4>>2]|0,!((b|0)<1|(G|0)<1)):0){A=f+136|0;if((tw(d,0)|0)!=0?(c[d+16>>2]|0)==1:0){if((c[A>>2]|0)==1)p=yw(e)|0;else p=e;E=yw(d)|0}else t=5;do if((t|0)==5)if((c[A>>2]|0)==1){E=xw(d,0)|0;p=xw(e,0)|0;break}else{E=Nw(d)|0;p=e;break}while(0);C=f+160|0;r=c[C>>2]|0;q=(k|0)>0;if((r|0)==3){if(q)t=14}else if(q&(r|0)==4)t=14;if((t|0)==14){e=IK(S(b<<3,c[E>>2]|0)|0)|0;G=vq(E,k,m)|0;tq(b,G,0,f,0,0,e,0,0,n);wq(b,E,k,m,j,e);iu(b,E,j,i,c[f+124>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m);nw(G);l6(e);if((E|0)==(d|0))break;nw(E);break}y=cx(c[f+44>>2]|0,c[f+48>>2]|0)|0;c[y+16>>2]=c[f+40>>2];z=qx(E,p,g,y)|0;r=tx(z)|0;if(!(c[r+32>>2]|0))s=j;else s=IK(S(b<<3,c[r+4>>2]|0)|0)|0;q=rq(E)|0;if(+h[f>>3]==-1.0001234){h[f>>3]=-1.0;o=(q|0)==0?-1.0:-1.8;q=f;t=20}while(1){if((t|0)==20){t=0;h[q>>3]=o}v=r+24|0;q=f+96|0;w=r+32|0;x=r+8|0;a:do switch(c[A>>2]|0){case 0:{u=c[f+132>>2]|0;switch(u|0){case 0:{kq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break a}case 2:break;default:t=24}do if((t|0)==24){t=c[x>>2]|0;if((u|0)==3?(c[t>>2]|0)>1e4:0){if(!(a[195234]|0))break;u=c[15715]|0;c[B>>2]=1e4;z4(u,92600,B)|0;break}lq(b,t,f,c[v>>2]|0,s,n);break a}while(0);fq(b,c[x>>2]|0,f,c[v>>2]|0,s,n);break}case 1:{h[q>>3]=1.0;t=f+104|0;c[t>>2]=1;I=(c[r+28>>2]|0)==0;o=I?.5:.05;c[f+80>>2]=I?500:100;I=(c[w>>2]|0)==0;u=r+12|0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o,n);if(I){c[f+16>>2]=0;h[q>>3]=.05;c[t>>2]=0;mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.5,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.125,n);mq(b,c[x>>2]|0,c[u>>2]|0,f,c[v>>2]|0,s,o*.03125,n)}break}default:{}}while(0);v=c[w>>2]|0;if(!v){t=38;break}if(c[n>>2]|0){t=34;break}t=c[r+16>>2]|0;r=c[r+40>>2]|0;if(!(c[v+32>>2]|0))u=j;else u=IK(S(b<<3,c[v+4>>2]|0)|0)|0;I=f+24|0;xq(b,c[v+8>>2]|0,t,c[v+20>>2]|0,s,u,r,+h[I>>3]*.001);l6(s);c[f+16>>2]=0;h[I>>3]=+h[I>>3]*.75;c[f+104>>2]=0;o=((c[(c[v+28>>2]|0)+40>>2]|0)+-9|0)>>>0<2?1.0:.1;r=v;s=u;t=20}if((t|0)==34)l6(s);else if((t|0)==38){Rx(b,E,f,g,j,n);q=f+124|0;if(a[195234]|0){I=c[15715]|0;c[D>>2]=c[q>>2];z4(I,92663,D)|0}if((b|0)==2)sq(G,2,j);o=+h[f+152>>3];if(o!=0.0)yq(G,b,j,o);iu(b,E,j,i,c[q>>2]|0,+h[f+144>>3],c[C>>2]|0,k,m)}B6(f|0,F|0,168)|0;if((E|0)!=(d|0))nw(E);if(!((p|0)==0|(p|0)==(e|0)))nw(p);dx(y);ex(z)}while(0);l=H;return}function vq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;x=y;u=c[a+20>>2]|0;v=c[a+24>>2]|0;w=IK(c[a>>2]<<2)|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){e=0;break}c[w+(e<<2)>>2]=1;e=e+1|0}while(1){if((e|0)>=(b|0)){e=0;d=0;break}c[w+(c[d+(e<<2)>>2]<<2)>>2]=-1;e=e+1|0}while(1){m=c[a>>2]|0;if((d|0)>=(m|0)){d=0;b=0;break}b=w+(d<<2)|0;if((c[b>>2]|0)>0){c[b>>2]=e;e=e+1|0}d=d+1|0}a:while(1){while(1){if((b|0)>=(m|0))break a;j=b+1|0;if((c[w+(b<<2)>>2]|0)<0)b=j;else break}k=c[u+(j<<2)>>2]|0;i=c[u+(b<<2)>>2]|0;while(1){if((i|0)>=(k|0)){b=j;continue a}f=c[v+(i<<2)>>2]|0;b:do if((c[w+(f<<2)>>2]|0)>-1)d=d+1|0;else{h=c[u+(f+1<<2)>>2]|0;g=c[u+(f<<2)>>2]|0;while(1){if((g|0)>=(h|0))break b;f=c[v+(g<<2)>>2]|0;if((f|0)!=(b|0))d=((c[w+(f<<2)>>2]|0)>>>31^1)+d|0;g=g+1|0}}while(0);i=i+1|0}}b=d<<2;if((d|0)>0){r=IK(b)|0;s=IK(b)|0;p=s;q=r}else{p=0;q=0;r=0;s=0}t=c[15715]|0;b=0;d=0;c:while(1){f=c[a>>2]|0;while(1){if((b|0)>=(f|0))break c;n=w+(b<<2)|0;o=b+1|0;if((c[n>>2]|0)<0)b=o;else break}m=u+(o<<2)|0;k=c[u+(b<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0)){b=o;continue c}f=v+(k<<2)|0;g=c[f>>2]|0;d:do if((c[w+(g<<2)>>2]|0)>-1){c[q+(d<<2)>>2]=c[n>>2];c[p+(d<<2)>>2]=c[w+(c[f>>2]<<2)>>2];d=d+1|0}else{j=u+(g+1<<2)|0;i=c[u+(g<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break d;g=v+(i<<2)|0;h=c[g>>2]|0;if((h|0)!=(b|0)?(c[w+(h<<2)>>2]|0)>-1:0){c[q+(d<<2)>>2]=c[n>>2];h=d+1|0;c[p+(d<<2)>>2]=c[w+(c[g>>2]<<2)>>2];f=c[n>>2]|0;d=c[w+(c[g>>2]<<2)>>2]|0;if((f|0)==68|(d|0)==68){c[x>>2]=f;c[x+4>>2]=d;z4(t,92681,x)|0;d=h}else d=h}i=i+1|0}}while(0);k=k+1|0}}x=Aw(d,e,e,q,p,0,8,8)|0;l6(r);l6(s);l6(w);l=y;return x|0}function wq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;p=IK(c[b>>2]<<2)|0;i=0;while(1){if((i|0)>=(c[b>>2]|0)){i=0;break}c[p+(i<<2)>>2]=1;i=i+1|0}while(1){if((i|0)>=(d|0)){i=0;l=0;break}j=c[e+(i<<2)>>2]|0;if((j|0)>-1?(j|0)<(c[b>>2]|0):0)c[p+(j<<2)>>2]=-1;i=i+1|0}while(1){n=c[b>>2]|0;if((l|0)>=(n|0)){m=0;break}j=p+(l<<2)|0;if((c[j>>2]|0)>-1){c[j>>2]=i;i=i+1|0}l=l+1|0}while(1){if((m|0)>=(n|0))break;i=c[p+(m<<2)>>2]|0;a:do if((i|0)>-1){j=S(i,a)|0;l=S(m,a)|0;i=0;while(1){if((i|0)>=(a|0))break a;h[f+(i+l<<3)>>3]=+h[g+(i+j<<3)>>3];i=i+1|0}}while(0);m=m+1|0}o=b+20|0;g=b+24|0;n=0;while(1){if((n|0)>=(d|0))break;b=c[e+(n<<2)>>2]|0;i=c[o>>2]|0;l=c[i+(b+1<<2)>>2]|0;i=c[i+(b<<2)>>2]|0;m=l-i|0;b=S(b,a)|0;j=0;while(1){if((j|0)>=(a|0))break;h[f+(j+b<<3)>>3]=0.0;j=j+1|0}while(1){if((i|0)<(l|0))j=0;else break;while(1){if((j|0)>=(a|0))break;k=+h[f+((S(c[(c[g>>2]|0)+(i<<2)>>2]|0,a)|0)+j<<3)>>3];q=f+(j+b<<3)|0;h[q>>3]=k+ +h[q>>3];j=j+1|0}i=i+1|0}k=+(m|0);i=0;while(1){if((i|0)>=(a|0))break;q=f+(i+b<<3)|0;h[q>>3]=+h[q>>3]/k;i=i+1|0}n=n+1|0}l6(p);return}function xq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=+j;var k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;n=o;c[n>>2]=g;Dw(d,0,f,0,n,0,a);a:do if((i+-1|0)>>>0<6){qq(a,b,c[n>>2]|0);k=c[e>>2]|0;m=c[e+20>>2]|0;g=c[e+24>>2]|0;b=0;b:while(1){if((b|0)>=(k|0))break a;i=b+1|0;e=m+(i<<2)|0;b=c[m+(b<<2)>>2]|0;c:while(1){b=b+1|0;if((b|0)>=(c[e>>2]|0)){b=i;continue b}f=g+(b<<2)|0;d=0;while(1){if((d|0)>=(a|0))continue c;q=(+Pw()+-.5)*j;p=(c[n>>2]|0)+((S(c[f>>2]|0,a)|0)+d<<3)|0;h[p>>3]=q+ +h[p>>3];d=d+1|0}}}}while(0);l=o;return}function yq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+16|0;j=k;e=0;while(1){if((e|0)>=(b|0)){g=0;break}h[j+(e<<3)>>3]=0.0;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=j+(e<<3)|0;h[m>>3]=+h[c+(e+i<<3)>>3]+ +h[m>>3];e=e+1|0}g=g+1|0}f=+(a|0);e=0;while(1){if((e|0)>=(b|0)){g=0;break}m=j+(e<<3)|0;h[m>>3]=+h[m>>3]/f;e=e+1|0}while(1){if((g|0)>=(a|0))break;i=S(g,b)|0;e=0;while(1){if((e|0)>=(b|0))break;m=c+(e+i<<3)|0;h[m>>3]=+h[m>>3]-+h[j+(e<<3)>>3];e=e+1|0}g=g+1|0}d=d*-.017453277777777776;f=+I(+d);d=+J(+d);e=0;while(1){if((e|0)>=(a|0))break;m=S(e,b)|0;j=c+(m<<3)|0;n=+h[j>>3];m=c+(m+1<<3)|0;o=+h[m>>3];h[j>>3]=f*n+d*o;h[m>>3]=f*o-d*n;e=e+1|0}l=k;return}function zq(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;var j=0,k=0,l=0,m=0;m=(tw(b,0)|0)!=0;j=(c[b+16>>2]|0)==1;do if(!(m&j))if(j){j=yw(sw(b,0)|0)|0;break}else{j=Nw(b)|0;break}else j=b;while(0);l=yw(j)|0;c[i>>2]=0;j=c[l>>2]|0;m=S(j,a)|0;if(!d){IK(S(a<<3,j)|0)|0;_a()}k=Dx(l,a,0.0,c[d>>2]|0,(e|0)==0?0:2,1)|0;if(!k)c[i>>2]=-1;else{h[k+40>>3]=.1;c[k+24>>2]=5;+Fx(k,a,c[d>>2]|0,f,g);e=k+32|0;j=0;while(1){if((j|0)>=(m|0))break;i=(c[d>>2]|0)+(j<<3)|0;h[i>>3]=+h[i>>3]/+h[e>>3];j=j+1|0}Ex(k)}if((l|0)!=(b|0))nw(l);return}function Aq(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;zq(a,c,d,e,f,g,h);return}function Bq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0;A=c[b>>2]|0;B=c[b+20>>2]|0;y=c[b+24>>2]|0;z=c[b+28>>2]|0;if(!(tw(b,0)|0))Aa(96096,92688,37,92705);a=IK(56)|0;p=a+20|0;c[p>>2]=0;c[a+24>>2]=2;c[a+12>>2]=0;o=IK(16)|0;c[p>>2]=o;h[o>>3]=e;h[o+8>>3]=f;c[a+16>>2]=105;h[a+40>>3]=.01;c[a+48>>2]=~~+G(+(+(c[b>>2]|0)));o=b+8|0;p=a+4|0;c[p>>2]=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;o=ow(A,A,(c[o>>2]|0)+A|0,1,1)|0;c[a+8>>2]=o;p=c[p>>2]|0;q=c[p+28>>2]|0;r=c[o+28>>2]|0;if((o|0)==0|(p|0)==0){Cx(a);a=0}else{s=c[p+20>>2]|0;t=c[p+24>>2]|0;u=c[o+20>>2]|0;v=c[o+24>>2]|0;c[u>>2]=0;c[s>>2]=0;m=0;d=0;while(1){if((m|0)>=(A|0))break;w=m+1|0;x=B+(w<<2)|0;e=0.0;f=0.0;n=c[B+(m<<2)>>2]|0;while(1){l=d+1|0;g=t+(d<<2)|0;b=q+(d<<3)|0;i=v+(d<<2)|0;j=r+(d<<3)|0;if((n|0)>=(c[x>>2]|0))break;k=c[y+(n<<2)>>2]|0;if((k|0)!=(m|0)){C=+h[z+(n<<3)>>3];C=C>=0.0?C:-C;C=C>.01?C:.01;c[g>>2]=k;c[i>>2]=k;h[b>>3]=-1.0;h[j>>3]=-C;e=e+ +h[b>>3];f=f-C;d=l}n=n+1|0}c[g>>2]=m;c[i>>2]=m;h[b>>3]=-e;h[j>>3]=-f;c[s+(w<<2)>>2]=l;c[u+(w<<2)>>2]=l;m=w;d=l}c[p+8>>2]=d;c[o+8>>2]=d}return a|0}function Cq(a){a=a|0;Cx(a);return}function Dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Gx(a,b,c,d,.001))}function Eq(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)d=sw(a,0)|0;else d=Nw(a)|0;f=c[d+28>>2]|0;a:do if(b!=1.0){e=c[d+8>>2]|0;a=0;while(1){if((a|0)>=(e|0))break a;g=f+(a<<3)|0;h[g>>3]=+h[g>>3]*b;a=a+1|0}}while(0);return d|0}function Fq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0.0;j=c[b>>2]|0;c[e>>2]=0;k=S(j,a)|0;e=0;while(1){if((e|0)>=(k|0)){e=1;f=1;break}h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}while(1){if((f|0)>=(j|0))break;i=S(f,a)|0;g=0;while(1){if((g|0)>=(a|0))break;l=+h[d+(g<<3)>>3]-+h[d+(g+i<<3)>>3];if((l>=0.0?l:-l)>1.0e-16){e=0;f=j;break}else g=g+1|0}f=f+1|0}a:do if(e|0){T4(1);e=0;while(1){if((e|0)>=(k|0))break a;h[d+(e<<3)>>3]=+Pw()*100.0;e=e+1|0}}while(0);e=Eq(b,1.0)|0;if(!(tw(e,0)|0))Aa(92731,92688,164,92767);else{k=Bq(0,e,0,101.0e5,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,101.0e3,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,1010.0,100.0,0)|0;+Dq(k,a,d,300);Cq(k);k=Bq(0,e,0,10.1,100.0,0)|0;+Dq(k,a,d,300);Cq(k);Zw(0.0,0.0,490.0,700.0,c[b>>2]|0,a,d);nw(e);return}}function Gq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=IK((qB(a)|0)<<4)|0;i=(e|0)!=0;j=b+8|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(i)f=((h2(HB(g)|0,92782,11)|0)==0&1)+f|0;m=c[g+16>>2]|0;l=c[m+120>>2]<<1;h[k+(l<<3)>>3]=+h[m+32>>3]*.5+ +h[b>>3];h[k+((l|1)<<3)>>3]=+h[m+40>>3]*.5+ +h[j>>3];g=hC(a,g)|0}if(i&(f|0)!=0){b=IK(f<<2)|0;g=gC(a)|0;f=0;while(1){if(!g)break;if(!(h2(HB(g)|0,92782,11)|0)){c[b+(f<<2)>>2]=c[(c[g+16>>2]|0)+120>>2];f=f+1|0}g=hC(a,g)|0}c[e>>2]=b;c[d>>2]=f}return k|0}function Hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+32|0;w=z+16|0;v=z+8|0;u=z;if(a){x=qB(a)|0;y=rB(a)|0;b=gC(a)|0;e=0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=e;b=hC(a,b)|0;e=e+1|0}r=y<<2;q=IK(r)|0;r=IK(r)|0;b=y<<3;s=IK(b)|0;o=DA(a,2,101842,0)|0;t=(d|0)!=0;if(t){e=DA(a,2,92794,0)|0;p=HK(b)|0;n=p}else{n=0;e=0;p=0}j=(o|0)==0;k=(e|0)==0;i=gC(a)|0;b=0;while(1){if(!i)break;m=c[(c[i+16>>2]|0)+120>>2]|0;g=UA(a,i)|0;while(1){if(!g)break;c[q+(b<<2)>>2]=m;c[r+(b<<2)>>2]=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+120>>2];if(!j?(A=OA(g,o)|0,c[v>>2]=u,(q4(A,101510,v)|0)==1):0)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[s+(b<<3)>>3]=f;if(!k){A=OA(g,e)|0;c[w>>2]=u;if((q4(A,101510,w)|0)==1)f=+h[u>>3];else{h[u>>3]=1.0;f=1.0}h[n+(b<<3)>>3]=f}g=WA(a,g)|0;b=b+1|0}i=hC(a,i)|0}b=Aw(y,x,x,q,r,s,1,8)|0;if(t)c[d>>2]=Aw(y,x,x,q,r,p,1,8)|0;l6(q);l6(r);l6(s);if(n)l6(p)}else b=0;l=z;return b|0}function Iq(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Jq(a,k)|0){b=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=gC(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=hC(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=gC(a)|0;while(1){if(!d)break a;f=UA(a,d)|0;if(f|0)break;d=hC(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+O(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+I(+e);e=+J(+e);b=gC(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=j+(g*p-e*o);h[n>>3]=i+(e*p+g*o);b=hC(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Jq(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=NA(b,92798)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+b6(b,f);if((c[f>>2]|0)==(b|0))if(!((bP(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e/180.0*3.141592653589793;b=1}else b=0;while(0);l=g;return b|0}function Kq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=NA(a,92808)|0;return Lq(a,(d|0)==0?(c|0?c:195341):d,b)|0}function Lq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;n=o+16|0;j=o+8|0;i=o;m=e+4|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17936;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(N3(d,g,c[f+8>>2]|0)|0)){k=5;break}f=f+16|0}if((k|0)==5){if(!(c[f+12>>2]|0)){c[i>>2]=g;dA(0,92816,i)|0;f=17936}i=c[f>>2]|0;c[e>>2]=i;c[m>>2]=c[f+12>>2];if((i|0)==18)Mq(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=cP(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;dA(0,92858,j)|0;f=0}else f=f&255;g=(f|0)==0;f=g&1;g=g?92905:136010;k=14}}else{f=0;g=136010;k=14}if((k|0)==14){c[e>>2]=f;c[m>>2]=g}if(a[195234]|0){k=c[15715]|0;j=c[e+8>>2]|0;p=+h[e+16>>3];c[n>>2]=c[m>>2];c[n+4>>2]=j;h[n+8>>3]=p;z4(k,92913,n)|0}l=o;return e|0}function Mq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(q4(b,137696,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+YO(a,DA(a,0,92949,0)|0,-4.0,-1.0e10);l=e;return}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;h=i+8|0;g=i;do if((qB(b)|0)>=2){e=Iq(b)|0;e=(Oq(b)|0)+e|0;f=c[d>>2]|0;if(f){if(a[195234]|0){f=c[15715]|0;k=HB(b)|0;j=c[d+4>>2]|0;c[g>>2]=k;c[g+4>>2]=j;z4(f,93278,g)|0;f=c[d>>2]|0}if(f>>>0>2){switch(f|0){case 3:{f=Pr(b,1)|0;break}case 4:{f=Pr(b,0)|0;break}case 6:case 5:{f=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{zr(b,f)|0;f=0;break}case 15:{f=Pr(b,-1)|0;break}default:{c[h>>2]=c[d+4>>2];dA(0,93301,h)|0;f=0}}e=f+e|0;break}if(Pq(b)|0){Qq();l6(c[46887]|0);c[46887]=0;break}Rq(b);if((c[d>>2]|0)==2)f=Sq()|0;else f=Tq()|0;if(f|0)Uq();Qq();l6(c[46887]|0);c[46887]=0;e=f+e|0}}else e=0;while(0);l=i;return e|0}function Oq(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;j=n+24|0;g=n+16|0;k=n;d=NA(b,141045)|0;a:do if(((d|0)!=0?(m=k+8|0,c[g>>2]=k,c[g+4>>2]=m,f=q4(d,105804,g)|0,(f|0)!=0):0)?(i=+h[k>>3],!(+F(+i)<1.0e-09)):0){if((f|0)!=1){e=+h[m>>3];if(+F(+e)<1.0e-09){d=0;break}}else{h[m>>3]=i;e=i}if(!(i==1.0&e==1.0)){if(a[195234]|0){g=c[15715]|0;h[j>>3]=i;h[j+8>>3]=e;z4(g,93461,j)|0}d=gC(b)|0;while(1){if(!d){d=1;break a}j=c[(c[d+16>>2]|0)+132>>2]|0;h[j>>3]=+h[k>>3]*+h[j>>3];j=j+8|0;h[j>>3]=+h[m>>3]*+h[j>>3];d=hC(b,d)|0}}else d=0}else d=0;while(0);l=n;return d|0}function Pq(b){b=b|0;var d=0,e=0.0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46896]=qB(b)|0;qs();c[46911]=IK((c[46896]|0)*96|0)|0;d=gC(b)|0;i=c[46911]|0;ir(k,b);e=+g[k>>2];f=+g[k+4>>2];if(!(a[k+8>>0]|0))k=1;else{k=2;e=e/72.0;f=f/72.0}j=0;while(1){if((j|0)>=(c[46896]|0)){d=0;break}o=c[(c[d+16>>2]|0)+132>>2]|0;h[i+8>>3]=+h[o>>3];h[i+16>>3]=+h[o+8>>3];if(kb[k&3](i+40|0,d,e,f)|0){m=6;break}c[i+24>>2]=j;c[i+28>>2]=1;c[i>>2]=d;c[i+88>>2]=0;i=i+96|0;j=j+1|0;d=hC(b,d)|0}if((m|0)==6){l6(c[46911]|0);c[46911]=0;d=1}l=n;return d|0}function Qq(){var a=0,b=0;a=c[46911]|0;b=0;while(1){if((b|0)>=(c[46896]|0))break;mu(a+40|0);a=a+96|0;b=b+1|0}lu();Ss();l6(c[46911]|0);return}function Rq(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46911]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46896]|0;d=p;e=1;g=i+ +h[p+40>>3];i=i+ +h[p+56>>3];j=k+ +h[p+48>>3];k=k+ +h[p+64>>3];while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=s+ +h[d+136>>3];r=q+ +h[d+144>>3];s=s+ +h[d+152>>3];q=q+ +h[d+160>>3];d=d+96|0;e=e+1|0;g=t<g?t:g;i=s>i?s:i;j=r<j?r:j;k=q>k?q:k}d=NA(b,93401)|0;if(d|0?a[d>>0]|0:0)h[173]=+a6(d);s=+h[173];t=(k-j)*s;s=(i-g)*s;h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=i+s;h[n+8>>3]=k+t;ar(m,n);l=o;return}function Sq(){var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(Vq(0)|0){Wq();b=0;do{hr();b=b+1|0}while((Vq(b)|0)!=0);if(!(a[195234]|0))b=1;else{f=c[15715]|0;c[d>>2]=b;z4(f,93329,d)|0;b=1}}else b=0;l=e;return b|0}function Tq(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;d=Vq(0)|0;if(!d)b=0;else{Wq();Xq(0);Vu(0,1);b=0;f=0;e=0;while(1){Zq();e=e+1|0;g=Vq(e)|0;if(!g)break;d=(g|0)<(d|0)?0:f+1|0;c[46888]=1;if(d){_q();b=b+1|0}Xq(1);Vu(0,1);f=d;d=g}if(a[195234]|0){g=c[15715]|0;c[h>>2]=e;z4(g,93329,h)|0;c[i>>2]=b;z4(g,93356,i)|0}$q();b=1}l=j;return b|0}function Uq(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=c[46911]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function Vq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+24|0;o=r+8|0;q=r;e=c[46911]|0;f=c[46896]|0;b=0;while(1){if((b|0)>=(f|0)){g=0;b=0;break}c[e+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(f+-1|0))break;n=e+96|0;b=b+1|0;k=e+8|0;m=e+40|0;j=e+32|0;h=n;i=b;while(1){if((i|0)>=(f|0)){e=n;continue a}f=h+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];if(!(vu(o,m,p,h+40|0)|0))e=g;else{c[j>>2]=1;c[h+32>>2]=1;e=g+1|0}h=h+96|0;i=i+1|0;g=e;f=c[46896]|0}}if((d[195234]|0)>1){p=c[15715]|0;c[q>>2]=a;c[q+4>>2]=g;z4(p,93382,q)|0}l=r;return g|0}function Wq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;fr();l=c[46890]|0;m=c[46911]|0;a=c[46887]|0;a:while(1){k=a;if(a>>>0>=l>>>0)break;b=a+4|0;if(b>>>0>=l>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;j=+h[d>>3];if(+h[f>>3]!=j){a=b;continue}i=+h[d+8>>3];if(+h[f+8>>3]!=i){a=b;continue}f=a+8|0;d=2;while(1){if(f>>>0>=l>>>0)break;o=c[f>>2]|0;e=+h[o>>3];g=+h[o+8>>3];if(!(e==j&g==i)){n=10;break}f=f+4|0;d=d+1|0}if((n|0)==10){n=0;if(g==i){e=(e-j)/+(d|0);d=(((f>>>0>b>>>0?f:b)+-1+(0-k)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=f;continue a}o=c[b>>2]|0;h[o>>3]=e*+(a|0)+ +h[o>>3];a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=f>>>0){a=f;continue a}p=c[a>>2]|0;d=c[p+16>>2]|0;o=c[b>>2]|0;k=c[o+16>>2]|0;h[o>>3]=+h[p>>3]+(+h[m+(d*96|0)+56>>3]-+h[m+(d*96|0)+40>>3]+(+h[m+(k*96|0)+56>>3]-+h[m+(k*96|0)+40>>3]))*.5;b=b+4|0;a=a+4|0}}return}function Xq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0;if(a|0)fr();i=c[46887]|0;j=c[i>>2]|0;e=+h[j>>3];h[23291]=e;f=+h[j>>3];h[23292]=f;k=c[46896]|0;g=1;while(1){if((g|0)>=(k|0))break;a=c[i+(g<<2)>>2]|0;d=+h[a>>3];if(d<e){h[23291]=d;b=+h[a>>3]}else{b=d;d=e}if(b>f)h[23292]=b;else b=f;g=g+1|0;e=d;f=b}d=+h[j+8>>3];h[23293]=d;b=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3];h[23294]=b;h[23296]=b-d;h[23295]=f-e;return}function Yq(){var a=0;a=c[46889]|0;if(a>>>0<(c[46890]|0)>>>0){c[46889]=a+4;a=c[a>>2]|0}else a=0;return a|0}function Zq(){var a=0,b=0,d=0;a=c[46911]|0;br();d=(c[46888]|0)==0;b=0;while(1){if((b|0)>=(c[46896]|0))break;if(!(d?!(c[a+32>>2]|0):0))cr(a);a=a+96|0;b=b+1|0}return}function _q(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[23287];i=+h[23285];g=+h[23288];e=+h[23286];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=j+f;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;ar(c,b);l=a;return}function $q(){Ds();Fs();Hu();js();return}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[23288]=f;e=+h[b>>3];h[23287]=e;c=+h[a+8>>3];h[23286]=c;d=+h[b+8>>3];h[23285]=d;h[23277]=f;h[23279]=f;h[23281]=e;h[23283]=e;h[23284]=d;h[23280]=d;h[23282]=c;h[23278]=c;return}function br(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46911]|0;g=m+8|0;f=+rs(g,186216);e=+rs(g,186232);d=+rs(g,186248);a=1;b=+rs(g,186264);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46896]|0))break;q=m+104|0;r=+rs(q,186216);n=r<f;t=+rs(q,186248);p=t<d;s=+rs(q,186232);o=s<e;u=+rs(q,186264);q=u<b;a=a+1|0;b=q?u:b;d=p?t:d;e=o?s:e;f=n?r:f;g=q?l:g;i=p?l:i;j=o?l:j;k=n?l:k;m=l}Ts(k+8|0,+h[23277],+h[23278]);Ts(i+8|0,+h[23281],+h[23282]);Ts(j+8|0,+h[23279],+h[23280]);Ts(g+8|0,+h[23283],+h[23284]);return}function cr(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+64|0;j=p+48|0;i=p+32|0;g=p+16|0;m=p+8|0;n=p;k=c[a+88>>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+dr(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];er(g,i,j,m,n);b=b+q*+h[n>>3];d=d+q*+h[m>>3];e=e+q;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function dr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];e=+h[c+8>>3];d=+h[a+8>>3];return +(+F(+(+h[c>>3]*(d-f)+(+h[a>>3]*(f-e)+ +h[b>>3]*(e-d))))*.5)}function er(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[a>>3]+ +h[b>>3]+ +h[c>>3])/3.0;h[e>>3]=(+h[a+8>>3]+ +h[b+8>>3]+ +h[c+8>>3])/3.0;return}function fr(){var a=0,b=0,d=0,e=0;a=c[46887]|0;if(!a){a=IK(c[46896]<<2)|0;c[46887]=a;c[46890]=a+(c[46896]<<2)}d=c[46911]|0;Ss();e=c[46896]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}k3(c[46887]|0,e,4,69);c[46889]=c[46887];return}function gr(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(d<e))if(!(d>e)){e=+h[a>>3];d=+h[b>>3];if(e<d)a=-1;else a=e>d&1}else a=1;else a=-1;return a|0}function hr(){var a=0,b=0,d=0,e=0;d=c[46896]|0;a=0;b=c[46911]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function ir(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93413)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93417)|0;if(e|0?jr(e,j,.800000011920929,4.0)|0:0)break;g[m>>2]=4.0;g[j>>2]=4.0;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93422,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function jr(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;o=r;p=r+12|0;q=r+8|0;while(1){k=a[b>>0]|0;m=b+1|0;if(!(X1(k<<24>>24)|0))break;else b=m}s=k<<24>>24==43;k=d+8|0;a[k>>0]=s&1;c[o>>2]=p;c[o+4>>2]=q;b=q4(s?m:b,93455,o)|0;if(!b)b=0;else{n=+g[p>>2];if((b|0)==1){g[q>>2]=n;h=n}else h=+g[q>>2];i=n/e;j=h/e;do if(a[k>>0]|0){if(e>1.0){g[d>>2]=i>f?f:i;h=j>f?f:j;break}if(e<1.0){g[d>>2]=i<f?f:i;h=j<f?f:j;break}else{g[d>>2]=n;break}}else{g[d>>2]=i+1.0;h=j+1.0}while(0);g[d+4>>2]=h;b=1}l=r;return b|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((qB(a)|0)<2)a=0;else{Lq(a,b,c)|0;a=Nq(a,c)|0}l=d;return a|0}function lr(a){a=a|0;return kr(a,NA(a,92808)|0)|0}function mr(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0;o=l;l=l+48|0;n=o;j=o+24|0;f=NA(e,93417)|0;k=j+8|0;m=j+4|0;if(!((f|0)!=0?(jr(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=NA(e,93413)|0;if(e|0?jr(e,j,1.25,3.200000047683716)|0:0)break;g[m>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[k>>0]=1}while(0);if(a[195234]|0){i=c[15715]|0;q=+g[j>>2];p=+g[m>>2];c[n>>2]=d[k>>0];h[n+8>>3]=q;h[n+16>>3]=p;z4(i,93484,n)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=o;return}function nr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;or(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((pr(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;qr(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((pr(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=~~+g[(c[k>>2]|0)+(a<<2)>>2]+h;qr(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function or(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function rr(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function sr(a){a=a|0;l6(c[a>>2]|0);return}function tr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0;if(!(a[195234]|0))i=0;else{_3(93517,25,1,c[15715]|0)|0;i=0}while(1){if((i|0)>=(b|0))break;j=d+(i<<2)|0;g=0;f=0.0;while(1){if((g|0)==(b|0))break;if((i|0)!=(g|0))f=f+ +h[(c[j>>2]|0)+(g<<3)>>3];g=g+1|0}h[(c[j>>2]|0)+(i<<3)>>3]=-f;i=i+1|0}return tt(d,e,b+-1|0)|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=rn(b,b,0.0)|0;k=rn(b,b,0.0)|0;e=gC(a)|0;while(1){if(!e)break;d=ZA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=_A(a,d,e)|0}e=hC(a,e)|0}i=tr(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[a+(e<<3)>>3]+ +h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]-+h[a+(d<<3)>>3]*2.0;d=d+1|0}e=e+1|0}}while(0);sn(j);sn(k);return i|0}function vr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=IK(n)|0;p=IK(n)|0;q=IK(n)|0;k=IK(n)|0;m=IK(n)|0;n=IK(n)|0;Lt(d,c,n);Et(d,n);Et(d,b);Gt(a,d,b,k);It(d,n,k,o);Lt(d,o,p);i=f+-1|0;c=0;g=+Mt(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,o)>e)){c=0;break}Gt(a,d,p,q);h=+Mt(d,p,q);if(h==0.0){c=0;break}h=g/h;Kt(d,p,h,m);Jt(d,b,m,b);if((c|0)<(i|0)){Kt(d,q,h,q);It(d,o,q,o);h=+Mt(d,o,o);if(g==0.0){r=7;break}Kt(d,p,h/g,p);Jt(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){dA(1,93543,j)|0;c=1}l6(o);l6(p);l6(q);l6(k);l6(m);l6(n);l=s;return c|0}function wr(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=IK(o)|0;q=IK(o)|0;k=IK(o)|0;m=IK(o)|0;n=IK(o)|0;o=IK(o)|0;Lt(d,c,o);if(g<<24>>24){Et(d,o);Et(d,b)}Ht(a,d,b,m);It(d,o,m,p);Lt(d,p,q);g=f+-1|0;c=0;h=+Mt(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Nt(d,p)>e)){c=0;break}Ht(a,d,q,k);i=+Mt(d,q,k);if(i==0.0){c=0;break}i=h/i;Kt(d,q,i,n);Jt(d,b,n,b);if((c|0)<(g|0)){Kt(d,k,i,k);It(d,p,k,p);i=+Mt(d,p,p);if(h==0.0){r=9;break}Kt(d,q,i/h,q);Jt(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){dA(1,93543,j)|0;c=1}l6(p);l6(q);l6(k);l6(m);l6(n);l6(o);l=s;return c|0}function xr(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=HK(k)|0;n=HK(k)|0;o=HK(k)|0;k=HK(k)|0;Pt(d,b);Pt(d,c);Qt(a,d,b,k);Pt(d,k);Rt(d,c,k,m);Vt(d,m,n);i=f+-1|0;c=0;g=+Wt(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Zt(d,m)>e)){c=0;break}Pt(d,n);Pt(d,b);Pt(d,m);Qt(a,d,n,o);Pt(d,o);h=+Wt(d,n,o);if(h==0.0){c=0;break}h=g/h;Tt(d,b,h,n);if((c|0)<(i|0)){Tt(d,m,-h,o);h=+Wt(d,m,m);if(g==0.0){p=7;break}Ut(d,n,h/g,n);St(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){dA(1,93543,j)|0;c=1}l6(m);l6(n);l6(o);l6(k);l=q;return c|0}function yr(b,d,e,f,i,j,k,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=+o;var p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;P=l;l=l+48|0;I=P+24|0;D=P+16|0;C=P+8|0;B=P;M=P+40|0;N=P+36|0;K=P+32|0;t=k&4;c[M>>2]=0;c[N>>2]=0;a:do if(c[b+16>>2]|0){q=0;p=0;while(1){if((q|0)>=(d|0))break;u=c[b+(q*20|0)>>2]|0;v=b+(q*20|0)+16|0;s=1;while(1){if((s|0)>=(u|0))break;if(!(p<<24>>24))p=+g[(c[v>>2]|0)+(s<<2)>>2]!=0.0;else p=1;s=s+1|0;p=p&1}q=q+1|0}if(p<<24>>24){A=(t|0)!=0;G=f+4|0;E=o>0.0;if(A){b:do if((j|0)>2){p=j+-1|0;if((ln(b,d,e,G,i,p,k,m,15)|0)<0){p=-1;break a}q=f+(p<<2)|0;p=0;while(1){if((p|0)>=(d|0))break b;h[(c[q>>2]|0)+(p<<3)>>3]=+h[(c[G>>2]|0)+(p<<3)>>3];p=p+1|0}}while(0);w=c[f>>2]|0;x=c[G>>2]|0;if((gu(b,d,x,d)|0)==0?(qy(b,d,.01,.1,x,M,N,K)|0)==0:0){y=c[K>>2]|0;if((y|0)<1){p=ln(b,d,e,f,i,j,k,m,n)|0;break}c:do if(E){s=c[M>>2]|0;t=c[N>>2]|0;u=y+-1|0;r=0.0;q=0;d:while(1){if((q|0)==(y|0))break c;p=c[t+(q<<2)>>2]|0;H=o-(r+ +h[x+(c[s+(p<<2)>>2]<<3)>>3]-+h[x+(c[s+(p+-1<<2)>>2]<<3)>>3]);r=r+(H<0.0?0.0:H);v=q+1|0;if((q|0)<(u|0))q=c[t+(v<<2)>>2]|0;else q=d;while(1){if((p|0)>=(q|0)){q=v;continue d}L=x+(c[s+(p<<2)>>2]<<3)|0;h[L>>3]=r+ +h[L>>3];p=p+1|0}}}while(0);if((j|0)==2?(Nu(b,d,x,w,+h[23315])|0)!=0:0){q=0;p=-1}else O=32}else{q=0;p=-1}}else{en(b,d,j,f,i)|0;if(!(qy(b,d,.01,.1,0,M,N,K)|0))O=32;else{q=0;p=-1}}e:do if((O|0)==32){if((d|0)==1){p=0;break a}L=IK(c[K>>2]<<2)|0;if(!n){p=0;break a}if(a[195234]|0)RO();switch(m|0){case 2:{if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;p=kn(b,d)|0;O=45;break}case 1:{p=fn(b,d)|0;if(!p){dA(0,93616,B)|0;dA(3,93665,C)|0;O=46}else J=p;break}case 3:{if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;p=gn(b,d)|0;O=45;break}default:O=46}if((O|0)==45)if(!p)O=46;else J=p;if((O|0)==46){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;J=jn(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[D>>3]=+SO();z4(b,93767,D)|0;_3(93779,25,1,b)|0;RO()}C=d+-1|0;t=(S(C,d)|0)/2|0;b=t+d|0;f:do if(!A){r=1.0;q=0;while(1){if((q|0)>=(j|0))break;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;H=+F(+(+h[(c[s>>2]|0)+(p<<3)>>3]));r=H>r?H:r;p=p+1|0}q=q+1|0}r=10.0/r;q=0;while(1){if((q|0)>=(j|0))break f;s=f+(q<<2)|0;p=0;while(1){if((p|0)>=(d|0))break;D=(c[s>>2]|0)+(p<<3)|0;h[D>>3]=r*+h[D>>3];p=p+1|0}q=q+1|0}}while(0);H=+(t|0);g:do if(E){p=0;r=0.0;t=0;h:while(1){if((t|0)>=(C|0))break;u=t+1|0;s=p;q=u;while(1){p=s+1|0;if((q|0)>=(d|0)){t=u;continue h}z=+ct(f,j,t,q);s=p;r=r+z/+g[J+(p<<2)>>2];q=q+1|0}}r=r/H;p=0;while(1){if((p|0)>=(b|0)){p=0;break g}E=J+(p<<2)|0;g[E>>2]=r*+g[E>>2];p=p+1|0}}else p=0;while(0);while(1){if((p|0)>=(j|0))break;Et(d,c[f+(p<<2)>>2]|0);p=p+1|0}q=c[G>>2]|0;r=+h[q>>3];p=0;while(1){if((p|0)>=(d|0))break;G=q+(p<<3)|0;h[G>>3]=+h[G>>3]-r;p=p+1|0}v=j<<2;B=IK(v)|0;x=d<<2;w=S(x,j)|0;s=IK(w)|0;p=0;while(1){if((p|0)>=(j|0))break;t=s+((S(p,d)|0)<<2)|0;c[B+(p<<2)>>2]=t;u=f+(p<<2)|0;q=0;while(1){if((q|0)>=(d|0))break;g[t+(q<<2)>>2]=+h[(c[u>>2]|0)+(q<<3)>>3];q=q+1|0}p=p+1|0}if(a[195234]|0){G=c[15715]|0;h[I>>3]=+SO();z4(G,93805,I)|0}_t(b,J);$t(b,J);m=IK(d<<3)|0;Xt(d,0.0,m);p=0;s=0;while(1){if((s|0)>=(C|0)){p=d;q=0;s=0;break}t=d-s|0;r=0.0;q=1;while(1){p=p+1|0;if((q|0)>=(t|0))break;z=+g[J+(p<<2)>>2];I=m+(q+s<<3)|0;h[I>>3]=+h[I>>3]-z;r=r+z;q=q+1|0}I=m+(s<<3)|0;h[I>>3]=+h[I>>3]-r;s=s+1|0}while(1){if((q|0)>=(d|0))break;g[J+(s<<2)>>2]=+h[m+(q<<3)>>3];I=p+s|0;p=p+-1|0;q=q+1|0;s=I}A=IK(v)|0;c[A>>2]=IK(w)|0;p=1;while(1){if((p|0)>=(j|0))break;c[A+(p<<2)>>2]=(c[A>>2]|0)+((S(p,d)|0)<<2);p=p+1|0}k=IK(x)|0;e=IK(x)|0;i=IK(b<<2)|0;q=Bu(J,d)|0;y=Gu(J,d,c[M>>2]|0,c[N>>2]|0,c[K>>2]|0)|0;s=0;z=1797693134862315708145274.0e284;p=0;while(1){if(!(s<<24>>24==0&(p|0)<(n|0)))break;Xt(d,0.0,m);au(b,J,i);w=0;u=0;while(1){if((w|0)>=(C|0)){s=0;t=d;u=0;break}x=d-w+-1|0;Yt(d,0.0,e);s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Yt(x,+g[(c[K>>2]|0)+(w<<2)>>2],k);Tt(x,k,-1.0,(c[K>>2]|0)+(w<<2)+4|0);_t(x,k);St(x,k,e,e);s=s+1|0}bu(x,e);s=0;while(1){if((s|0)>=(x|0))break;t=e+(s<<2)|0;r=+g[t>>2];if(r>=3402823466385288598117041.0e14|r<0.0)g[t>>2]=0.0;s=s+1|0}v=w+1|0;r=0.0;s=u;t=0;while(1){s=s+1|0;if((t|0)>=(x|0))break;K=i+(s<<2)|0;Q=+g[e+(t<<2)>>2]*+g[K>>2];g[K>>2]=Q;K=m+(v+t<<3)|0;h[K>>3]=+h[K>>3]-Q;r=r+Q;t=t+1|0}u=m+(w<<3)|0;h[u>>3]=+h[u>>3]-r;w=v;u=s}while(1){if((s|0)>=(d|0)){s=0;break}g[i+(u<<2)>>2]=+h[m+(s<<3)>>3];K=t+u|0;s=s+1|0;t=t+-1|0;u=K}while(1){if((s|0)>=(j|0)){r=0.0;s=0;break}Qt(i,d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}while(1){if((s|0)>=(j|0))break;r=r+ +Wt(d,c[B+(s<<2)>>2]|0,c[A+(s<<2)>>2]|0);s=s+1|0}r=H+r*2.0;s=0;while(1){if((s|0)>=(j|0))break;K=B+(s<<2)|0;Qt(J,d,c[K>>2]|0,k);r=r-+Wt(d,c[K>>2]|0,k);s=s+1|0}Q=+F(+(r-z))/+F(+(z+1.0e-10));s=((p|0)>1&r>z|Q<+h[23315])&1;t=0;while(1){if((t|0)>=(j|0))break;u=c[A+(t<<2)>>2]|0;if((t|0)!=1){if(xr(J,c[B+(t<<2)>>2]|0,u,d,.001,d)|0){p=-1;break e}}else Cu(y,u,B,j,1,15,L,o)|0;t=t+1|0}z=r;p=p+1|0}l6(L);Fu(y);if(B|0){s=0;while(1){if((s|0)>=(j|0))break;u=B+(s<<2)|0;v=f+(s<<2)|0;t=0;while(1){if((t|0)>=(d|0))break;h[(c[v>>2]|0)+(t<<3)>>3]=+g[(c[u>>2]|0)+(t<<2)>>2];t=t+1|0}s=s+1|0}l6(c[B>>2]|0);l6(B)}if(A|0){l6(c[A>>2]|0);l6(A)}l6(k);l6(e);l6(m);l6(J);l6(i)}while(0);l6(c[M>>2]|0);l6(c[N>>2]|0);if(q){l6(c[q>>2]|0);l6(q)}}else O=10}else O=10;while(0);if((O|0)==10)p=ln(b,d,e,f,i,j,k,m,n)|0;l=P;return p|0}function zr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=qB(a)|0;k=IK(i*48|0)|0;ir(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=gC(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Ar(d,e,f);d=hC(a,d)|0;e=e+48|0}a:do if(!(Br(k,i)|0))d=0;else{switch(b|0){case 9:{Dr(a,k,i,70,1);Fr(a,k,i,71,1);d=0;e=k;break}case 10:{Fr(a,k,i,71,1);Dr(a,k,i,70,1);d=0;e=k;break}case 7:{Dr(a,k,i,72,1);Fr(a,k,i,71,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Fr(a,k,i,71,0);Dr(a,k,i,70,0);d=0;e=k;break}case 12:{Fr(a,k,i,73,0);Dr(a,k,i,70,0);d=0;e=k;break}default:{Dr(a,k,i,72,0);Fr(a,k,i,71,0);d=0;e=k}}if((j|0)==9){Fr(a,k,i,73,1);Dr(a,k,i,70,1);j=10}if((j|0)==10){Dr(a,k,i,70,0);Fr(a,k,i,71,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)/72.0/10.0;h[j+8>>3]=+(g|0)/72.0/10.0;d=d+1|0;e=e+48|0}}while(0);l6(k);l=m;return d|0}function Ar(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0;f=c[b+16>>2]|0;n=c[f+132>>2]|0;l=+h[n>>3]*10.0*72.0;m=~~(l+(l>=0.0?.5:-.5));l=+h[n+8>>3]*10.0*72.0;n=~~(l+(l>=0.0?.5:-.5));l=+g[e+4>>2];i=+g[e>>2];j=+h[f+32>>3];k=+h[f+40>>3];if(!(a[e+8>>0]|0)){j=j*(i*5.0)*72.0;l=l*5.0*k*72.0;f=~~(j+(j>=0.0?.5:-.5));e=~~(l+(l>=0.0?.5:-.5))}else{j=j*.5*72.0;k=k*.5*72.0;f=~~((i+ +(~~(j+(j>=0.0?.5:-.5))|0))*10.0);e=~~((l+ +(~~(k+(k>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=m;c[d+16>>2]=n;c[d+20>>2]=b;c[d+32>>2]=m-f;c[d+36>>2]=n-e;c[d+40>>2]=f+m;c[d+44>>2]=e+n;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Cr(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0);return a&1|0}function Dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,74)|0;else h=Kr(i,e,74)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Er(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0);return a&1|0}function Fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Sz(18208,c[4594]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];eb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Lr(a,i,e,75)|0;else h=Kr(i,e,75)|0;sL(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Mr(h);Oz(i)|0;return}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Jr(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;f=c[a+16>>2]|0;a=Ir(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Hr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Ir(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;f=c[a+12>>2]|0;a=Jr(d,e)|0;a=(g|0)<=(((b|0)<(f|0)?b-f|0:f-b|0)+a|0)&1}else a=0;return a|0}function Ir(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Jr(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Kr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;c[v>>2]=c[4658];w=lB(93816,v,0)|0;RC(w,137786,280,1)|0;f=Qz(a)|0;g=-2147483647;u=0;while(1){if(!f)break;s=c[f+8>>2]|0;t=((g|0)!=(s|0)&1)+u|0;f=c[f>>2]|0;g=s;u=t}s=w+16|0;t=(u<<3)+-4|0;f=0;j=0;i=0;m=0;k=0;r=Qz(a)|0;h=-2147483647;while(1){n=k+16|0;if(!r)break;q=c[r+8>>2]|0;if((h|0)!=(q|0)){p=qC(w,HB(c[r+20>>2]|0)|0,1)|0;RC(p,137750,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!m){c[(c[s>>2]|0)+192>>2]=p;m=p}else c[(c[f+16>>2]|0)+164>>2]=p;c[g+176>>2]=0;i=j+1|0;h=HK(i<<2)|0;c[(c[o>>2]|0)+172>>2]=h;if(!k){j=i;i=p;k=p;f=p;g=m;h=q}else{c[(c[n>>2]|0)+184>>2]=0;h=HK((k|0)==(m|0)?t:u-j<<2)|0;c[(c[n>>2]|0)+180>>2]=h;h=fB(w,k,p,0,1)|0;RC(h,137763,176,1)|0;g=c[h+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[n>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[n>>2]|0;c[k+180>>2]=f;k=k+184|0;g=c[k>>2]|0;c[k>>2]=g+1;c[f+(g<<2)>>2]=h;g=c[n>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;k=c[o>>2]|0;c[k+172>>2]=f;k=k+176|0;j=c[k>>2]|0;c[k>>2]=j+1;c[f+(j<<2)>>2]=h;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=i;i=p;k=p;f=p;g=m;h=q}}else g=m;c[r+24>>2]=i;m=g;r=c[r>>2]|0}c[(c[n>>2]|0)+184>>2]=0;k=HK(4)|0;c[(c[n>>2]|0)+180>>2]=k;c[v>>2]=c[4658];k=lB(93863,v,0)|0;f=Qz(a)|0;while(1){if(!f)break;v=qC(k,HB(c[f+20>>2]|0)|0,1)|0;RC(v,137750,304,1)|0;c[f+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=f;f=c[f>>2]|0}f=0;j=Qz(a)|0;g=-2147483647;a:while(1){if(!j)break;i=c[j+8>>2]|0;b:do if((g|0)==(i|0))i=g;else{f=j;while(1){f=c[f>>2]|0;if(!f)break a;if((c[f+8>>2]|0)!=(i|0))break b}}while(0);h=j+28|0;g=f;while(1){if(!g)break;if(vb[d&127](j,g)|0)fB(k,c[h>>2]|0,c[g+28>>2]|0,0,1)|0;g=c[g>>2]|0}j=c[j>>2]|0;g=i}Nr(k,w,e);pB(k)|0;l=x;return w|0}function Lr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+16|0;q=r;c[q>>2]=c[4658];q=lB(93816,q,0)|0;RC(q,137786,280,1)|0;j=q+16|0;g=Qz(d)|0;h=0;while(1){if(!g)break;i=qC(q,HB(c[g+20>>2]|0)|0,1)|0;RC(i,137750,304,1)|0;o=i+16|0;m=c[o>>2]|0;c[m+112>>2]=g;c[g+24>>2]=i;c[m+176>>2]=0;m=HK(4)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=HK(4)|0;c[(c[o>>2]|0)+180>>2]=n;if(!h)c[(c[j>>2]|0)+192>>2]=i;else c[(c[h+16>>2]|0)+164>>2]=i;g=c[g>>2]|0;h=i}k=Qz(d)|0;a:while(1){if(!k)break;m=k+32|0;n=k+24|0;o=k+20|0;g=k;while(1){g=c[g>>2]|0;if(!g)break;if(vb[e&127](k,g)|0){h=vb[f&127](m,g+32|0)|0;i=fB(q,c[n>>2]|0,c[g+24>>2]|0,0,1)|0;RC(i,137763,176,1)|0;if((h|0)>=65536){p=13;break a}j=i+16|0;s=c[j>>2]|0;b[s+170>>1]=h;c[s+156>>2]=1;if(i|0?fB(a,c[o>>2]|0,c[g+20>>2]|0,0,0)|0:0)c[(c[j>>2]|0)+156>>2]=100}}k=c[k>>2]|0}if((p|0)==13)Aa(93819,93835,254,93848);k=Qz(d)|0;while(1){if(!k)break;j=c[k+24>>2]|0;m=j+16|0;j=UA(q,j)|0;while(1){if(!j)break;h=c[m>>2]|0;g=c[h+180>>2]|0;h=(c[h+184>>2]<<2)+8|0;if(!g)g=IK(h)|0;else g=KK(g,h)|0;h=c[m>>2]|0;c[h+180>>2]=g;h=h+184|0;i=c[h>>2]|0;c[h>>2]=i+1;c[g+(i<<2)>>2]=j;i=c[m>>2]|0;c[(c[i+180>>2]|0)+(c[i+184>>2]<<2)>>2]=0;i=j+-48|0;g=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;h=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!h)g=IK(g)|0;else g=KK(h,g)|0;c[(c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0)+172>>2]=g;f=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;p=c[f+172>>2]|0;f=f+176|0;s=c[f>>2]|0;c[f>>2]=s+1;c[p+(s<<2)>>2]=j;s=c[(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0)+16>>2]|0;c[(c[s+172>>2]|0)+(c[s+176>>2]<<2)>>2]=0;j=WA(q,j)|0}k=c[k>>2]|0}l=r;return q|0}function Mr(a){a=a|0;var b=0,d=0,e=0,f=0;f=gC(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){l6(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)l6(b);f=hC(a,f)|0}pB(a)|0;return}function Nr(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=gC(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=UA(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=vb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=fB(d,m,h,0,1)|0;RC(i,137763,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((g&65535|0)<(p|0)){if(!(g<<16>>16)){g=c[o>>2]|0;f=c[g+180>>2]|0;g=(c[g+184>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;g=c[o>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;h=h+16|0;g=c[h>>2]|0;f=c[g+172>>2]|0;g=(c[g+176>>2]<<2)+8|0;if(!f)f=IK(g)|0;else f=KK(f,g)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=WA(a,l)|0}k=hC(a,k)|0}return}function Or(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Pr(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+64|0;t=x+24|0;r=x+16|0;q=x+52|0;p=x+40|0;s=x;v=qB(b)|0;w=IK(v*72|0)|0;ir(p,b);i=+g[p>>2];j=+g[p+4>>2];p=(a[p+8>>0]|0)!=0;if(p){i=i/72.0;j=j/72.0}e=w;f=gC(b)|0;while(1){if(!f)break;o=c[f+16>>2]|0;k=+h[o+40>>3];n=+h[o+32>>3];if(p){m=j+k*.5;k=i+n*.5}else{m=j*k*.5;k=i*n*.5}o=c[o+132>>2]|0;y=+h[o>>3];h[e>>3]=y;n=+h[o+8>>3];h[e+8>>3]=n;h[e+16>>3]=y-k;h[e+24>>3]=n-m;h[e+32>>3]=k+y;h[e+40>>3]=m+n;h[e+48>>3]=k;h[e+56>>3]=m;c[e+64>>2]=f;e=e+72|0;f=hC(b,f)|0}do if((d|0)<0){i=+Qr(w,v);if(i==0.0){l6(w);e=0;break}if(!(a[195234]|0)){k=i;j=i;u=21}else{u=c[15715]|0;h[r>>3]=i;z4(u,93866,r)|0;k=i;j=i;u=21}}else{f=Rr(w,v,q)|0;e=c[q>>2]|0;if(!e){l6(f);l6(w);e=0;break}if(!d){Tr(s,f,e);i=+h[s>>3];j=+h[s+8>>3]}else{j=+Sr(f,e);i=j}l6(f);if(!(a[195234]|0)){k=i;u=21}else{u=c[15715]|0;h[t>>3]=i;h[t+8>>3]=j;z4(u,93880,t)|0;k=i;u=21}}while(0);if((u|0)==21){e=0;f=w;while(1){if((e|0)>=(v|0))break;u=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[u>>3]=k*+h[f>>3];h[u+8>>3]=j*+h[f+8>>3];e=e+1|0;f=f+72|0}l6(w);e=1}l=x;return e|0}function Qr(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else g=(+h[p>>3]+ +h[j+48>>3])/+F(+(e-f));e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else e=(+h[o>>3]+ +h[j+56>>3])/+F(+(e-f));g=e<g?e:g;i=i+1|0;j=j+72|0;c=g>c?g:c}}return +c}function Rr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=IK((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=KK(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[x>>3]+ +h[q+48>>3])/+F(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[w>>3]+ +h[q+56>>3])/+F(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=KK(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function Sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=g<f?g:f;d=d+1|0;e=f>e?f:e;a=c}return +e}function Tr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;k3(b+16|0,c,16,76);g=IK((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)>>3]*+h[g+(f<<4)+8>>3];b=i<d;d=b?i:d;e=b?f:e;f=f+1|0}if(d<t){i=+h[g+(e<<4)+8>>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else Aa(93897,93835,832,93917)}function Ur(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(c<d))if(!(c>d)){d=+h[a+8>>3];c=+h[b+8>>3];if(d<c)a=-1;else a=d>c&1}else a=1;else a=-1;return a|0}function Vr(a,b,d){a=a|0;b=b|0;d=d|0;d=l;l=l+16|0;b=d;c[b>>2]=93932;dA(1,93982,b)|0;l=d;return 0}function Wr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;d=e;c[d>>2]=93932;dA(1,94010,d)|0;l=e;return 0}function Xr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do switch(d|0){case 2:{e=IK(16)|0;f=IK(24)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=2;c[e>>2]=0;c[e+4>>2]=1;d=e+8|0;c[f+16>>2]=d;c[f+20>>2]=0;c[f+12>>2]=2;c[d>>2]=1;c[e+12>>2]=0;break}case 1:{e=IK(4)|0;f=IK(12)|0;c[f+8>>2]=0;c[f+4>>2]=e;c[f>>2]=1;c[e>>2]=0;break}default:{Vr(0,0,0)|0;a=(d|0)>0;if(!e){if(!a){f=0;break a}_a()}else{if(!a){f=0;break a}_a()}}}while(0);return f|0}function Yr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);l6(a)}return}function Zr(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)l6(b);b=c[a+8>>2]|0;if(b|0)l6(b);b=c[a+16>>2]|0;if(b|0)l6(b);l6(a)}return}function _r(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=n6(c[46891]|0,d<<2)|0;c[46891]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}$r(n,a,k,e,d);i=-2147483639;while(1){if(!((as(n,m,c[46891]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;bs(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,~~+g[(c[h>>2]|0)+(f<<2)>>2]+a|0,c[46891]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}cs(n);l=o;return}function $r(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=f+-1|0;if((f|0)==1)i=0;else i=IK(j<<2)|0;c[a>>2]=i;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;ds(a,g,d,e);g=g+-1|0}return}function as(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;ds(a,0,d,e);a=1}return a|0}function bs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){k=e+(b<<2)|0;j=c[k>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=j;while(1){h=g+(a<<2)|0;if((a|0)<=0)break;i=a>>>1;j=c[g+(i<<2)>>2]|0;if((c[f+(j<<2)>>2]|0)<=(d|0))break;c[h>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h>>2]=b;c[k>>2]=a}return}function cs(a){a=a|0;a=c[a>>2]|0;if(a|0)l6(a);return}function ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=IK(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}fs(m,a,o,e,d);a:while(1){if(!((gs(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;hs(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,k+ +g[(c[h>>2]|0)+(f<<2)>>2],o,e);f=f+1|0}}cs(m);l6(o);l=p;return}function fs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=IK(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;is(a,g,d,e);g=g+-1|0}return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;is(a,0,d,e);a=1}return a|0}function hs(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){l=e+(b<<2)|0;k=c[l>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=k;while(1){i=h+(a<<2)|0;if((a|0)<=0)break;j=a>>>1;k=c[h+(j<<2)>>2]|0;if(!(+g[f+(k<<2)>>2]>d))break;c[i>>2]=k;c[e+(k<<2)>>2]=a;a=j}c[i>>2]=b;c[l>>2]=a}return}function is(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function js(){cu(187568,48);c[46895]=0;return}function ks(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0;g=eu(187568)|0;c[g+32>>2]=a;c[g+36>>2]=b;Mu(a);Mu(b);c[g+24>>2]=0;c[g+28>>2]=0;i=+h[a>>3];f=+h[b>>3]-i;e=+h[a+8>>3];d=+h[b+8>>3]-e;b=g+16|0;h[b>>3]=i*f+e*d+(f*f+d*d)*.5;a=g+8|0;if((f>0.0?f:-f)>(d>0.0?d:-d)){h[g>>3]=1.0;e=d/f;d=f}else{h[a>>3]=1.0;e=f/d;a=g}h[a>>3]=e;h[b>>3]=+h[b>>3]/d;b=c[46895]|0;c[g+40>>2]=b;c[46895]=b+1;return g|0}function ls(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;r=+h[a>>3];l=r==1.0;q=a+8|0;e=c[a+28>>2]|0;f=c[a+24>>2]|0;if(l?+h[q>>3]>=0.0:0)p=f;else{p=e;e=f}f=(e|0)!=0;n=(p|0)!=0;t=a+16|0;o=p+8|0;k=e+8|0;a:do if(l){do if(f){d=+h[k>>3];if(d>+h[23285])break a;g=+h[23286];if(!(d>=g)){d=g;b=+h[t>>3]-g*+h[q>>3];break}else{b=+h[e>>3];break}}else{g=+h[23286];d=g;b=+h[t>>3]-g*+h[q>>3]}while(0);do if(n){i=+h[o>>3];if(i<g)break a;g=+h[23285];if(!(i<=g)){i=g;g=+h[t>>3]-g*+h[q>>3];break}else{g=+h[p>>3];break}}else{g=+h[23285];i=g;g=+h[t>>3]-g*+h[q>>3]}while(0);j=+h[23287];e=b>j;f=g>j;m=+h[23288];if(!(e&f|b<m&g<m)){if(e){d=(+h[t>>3]-j)/+h[q>>3];b=j}if(b<m){d=(+h[t>>3]-m)/+h[q>>3];b=m}if(f){i=(+h[t>>3]-j)/+h[q>>3];g=j}if(g<m){i=(+h[t>>3]-m)/+h[q>>3];g=m;s=47}else s=47}}else{do if(f){b=+h[e>>3];if(b>+h[23287])break a;i=+h[23288];if(!(b>=i)){d=+h[t>>3]-r*i;b=i;break}else{d=+h[k>>3];break}}else{i=+h[23288];d=+h[t>>3]-r*i;b=i}while(0);do if(n){g=+h[p>>3];if(g<i)break a;j=+h[23287];if(!(g<=j)){i=+h[t>>3]-r*j;g=j;break}else{i=+h[o>>3];break}}else{g=+h[23287];i=+h[t>>3]-r*g}while(0);j=+h[23285];e=d>j;f=i>j;m=+h[23286];if(!(e&f|d<m&i<m)){if(e){d=j;b=(+h[t>>3]-j)/r}if(d<m){d=m;b=(+h[t>>3]-m)/r}if(f){i=j;g=(+h[t>>3]-j)/r}if(i<m){i=m;g=(+h[t>>3]-m)/r;s=47}else s=47}}while(0);if((s|0)==47)ms(a,b,d,g,i);return}function ms(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Ts(c[g>>2]|0,b,d);Ts(c[g>>2]|0,e,f);a=a+36|0;Ts(c[a>>2]|0,b,d);Ts(c[a>>2]|0,e,f);return}function ns(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Mu(d);if(c[a+24+(1-b<<2)>>2]|0){ls(a);Lu(c[a+32>>2]|0);Lu(c[a+36>>2]|0);fu(a,187568)}return}function os(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=IK(S(m,d)|0)|0;g=c[e>>2]|0;m=IK(m)|0;n=c[a+8>>2]|0;if(g|0){l6(c[g>>2]|0);l6(g)}k=IK(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((S(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)at(a,b);e=(U4()|0)%(b|0)|0;rr(o,b);g=c[k>>2]|0;if(j){_r(e,a,b,g);f=0;g=0}else{nr(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){_r(e,a,b,g);g=0;f=0}else{nr(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}l6(m);if(j)bt(a,b,n);l=p;return}function ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e/i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function qs(){c[46897]=~~+G(+(+((c[46896]|0)+4|0)));return}function rs(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function ss(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function ts(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=+h[b+8>>3]+ +h[c+8>>3];return}function us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b>>3];return +((+h[a+8>>3]-e)*(+h[c>>3]-d)-(+h[c+8>>3]-e)*(+h[a>>3]-d))}function vs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+us(h,g,f)>0.0&1;l=e;return d|0}function ws(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=o*(p-q);n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=f*(i-k)+(m+n*(q-p)+l*j);if(g==0.0)d=0;else{p=(l*(q-i)+(m+f*(i-p)))/g;q=-(f*j+(o*(q-k)+n*(i-q)))/g;h[e>>3]=o+(n-o)*p;h[e+8>>3]=i+j*p;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function xs(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0,i=0;c[a+20>>2]=b;Mu(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46898]|0;e=e+((ys(a)|0)*40|0)|0;while(1){g=e+32|0;e=c[g>>2]|0;if(!e){e=0;break}d=+h[i>>3];f=+h[e+24>>3];if(d>f)continue;if(!(d==f))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[g>>2]=a;c[46899]=(c[46899]|0)+1;return}function ys(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46900]|0;e=+(d|0);b=(+h[a+24>>3]-+h[23293])/+h[23296]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46901]|0))c[46901]=a;return a|0}function zs(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46898]|0;b=b+((ys(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;Lu(c[d>>2]|0);c[d>>2]=0}return}function As(){return (c[46899]|0)==0|0}function Bs(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46898]|0;d=c[46901]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46901]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Cs(){var a=0,b=0;b=(c[46898]|0)+((c[46901]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46899]=(c[46899]|0)+-1;return a|0}function Ds(){l6(c[46898]|0);c[46898]=0;return}function Es(){var a=0,b=0,d=0;c[46899]=0;c[46901]=0;a=c[46897]|0;b=a<<2;c[46900]=b;d=c[46898]|0;if(!d){d=IK(a*160|0)|0;c[46898]=d;b=c[46900]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Fs(){cu(187616,40);l6(c[46907]|0);c[46907]=0;return}function Gs(){var a=0,b=0,d=0;cu(187616,40);a=c[46897]|0;b=a<<1;c[46908]=b;d=c[46907]|0;if(!d){d=IK(a<<3)|0;c[46907]=d;b=c[46908]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46902]=Hs(0,0)|0;c[46903]=Hs(0,0)|0;c[c[46902]>>2]=0;d=c[46903]|0;b=c[46902]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46903]|0)+4>>2]=0;d=c[46907]|0;c[d>>2]=c[46902];c[d+((c[46908]|0)+-1<<2)>>2]=c[46903];return}function Hs(b,d){b=b|0;d=d|0;var e=0;e=eu(187616)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Is(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=j*f-g*l,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(f*p-g*q)/m;j=(j*q-l*p)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f<g)e=o;else{if(f==g?+h[o>>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Iu()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Js(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0;o=c[b+8>>2]|0;i=c[o+36>>2]|0;m=+h[d>>3];p=+h[i>>3];n=m>p;e=a[b+16>>0]|0;b=n^1;q=e<<24>>24!=0;if(q|b)if(e<<24>>24==1&b)b=0;else{g=+h[o>>3];b=o+16|0;j=+h[d+8>>3];f=+h[i+8>>3];k=m-p;l=k*k;do if(g==1.0){f=j-f;g=+h[o+8>>3];e=g<0.0;if(n?g>=0.0:e){b=f>=k*g;if(b){b=b&1;break}}else{b=e^m+j*g>+h[b>>3];if(!b){b=b&1;break}}p=p-+h[c[o+32>>2]>>3];b=(l-f*f)*g<f*p*(g*g+(k*2.0/p+1.0));if(e)b=(b^1)&1;else b=b&1}else{p=+h[b>>3]-m*g;m=j-p;p=p-f;b=m*m>l+p*p&1}while(0);b=b^q&1}else b=1;return b|0}function Ks(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Ls(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46908]|0;b=~~((+h[a>>3]-+h[23291])/+h[23295]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Ms(f)|0;if(!b){d=1;while(1){b=Ms(f-d|0)|0;if(b|0)break;b=Ms(d+f|0)|0;if(b|0)break;d=d+1|0}c[46909]=(c[46909]|0)+d}c[46910]=(c[46910]|0)+1;e=c[46902]|0;d=c[46903]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Js(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Js(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Js(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46908]|0)+-1|0):0){b=(c[46907]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Ms(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46908]|0)>(a|0)?(d=(c[46907]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){fu(b,187616);b=0}else b=0}}else b=0;return b|0}function Ns(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Os(a){a=a|0;return c[a+4>>2]|0}function Ps(a){a=a|0;return c[a>>2]|0}function Qs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)!=0&1)<<2)|0;return c[b>>2]|0}function Rs(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=187840;else b=d+32+(((a[b+16>>0]|0)==0&1)<<2)|0;return c[b>>2]|0}function Ss(){cu(187648,24);return}function Ts(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46911]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Us(a,i,f)|0;do if(e|0){if((e|0)<0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Us(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=eu(187648)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Us(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];g=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==g&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];i=d-e;g=g-k;f=f-e;d=f/g;e=i/j;b=e<d;if(!(j>=0.0)){a=g>=0.0;b=a|b;b=e>d|b?(b?(a?1:-1):1):j>g?-1:1;break}if(!(g<0.0)){c=g>0.0;if(j>0.0)if(c)return (e==e&d==d&e!=d?(b?-1:1):j<g?-1:1)|0;else{b=f>0.0?-1:1;break}b=i<=0.0;if(c){b=b?-1:1;break}if(i<f){b=!(f<=0.0)?-1:1;break}else{b=b?-1:1;break}}else b=-1}else b=0}else b=-1;while(0);return b|0}function Vs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+(d*20|0)>>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)+a|0;b=b+1|0;a=g}return a|0}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function Ys(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=_s(a,b)|0;else a=Zs(a,b)|0;return a|0}function Zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=IK(S(f,b)|0)|0;f=IK(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;_r(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=IK(S(g,b)|0)|0;g=IK(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}rr(f,b);d=0;while(1){if((d|0)>=(b|0))break;nr(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}sr(f);l=h;return g|0}function $s(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;at(a,b);d=Zs(a,b)|0;bt(a,b,e);return d|0}function at(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=IK(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=IK(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;Ws(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Vs(a,0,m,l)|0)<<1)|0);d=d+1|0}Xs(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}l6(l);return}function bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;l6(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=g+i*i}return +(+G(+g))}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46915]=a;k3(b+(d<<2)|0,1-d+e|0,4,77)}return}function et(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46915]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (e<d?-1:e>d&1)|0}function ft(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){gt(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;ft(a,b,d,f);g=g+1|0;ft(a,b,g,e);if(!(ht(a,b,d,f)|0))ft(a,b,d,f);if(!(ht(a,b,g,e)|0))ft(a,b,g,e)}l=h;return}function gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;k=U4()|0;k=b+(((((U4()|0)<<16|k)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;l=c[k>>2]|0;m=b+(d<<2)|0;c[k>>2]=c[m>>2];c[m>>2]=l;n=+h[a+(l<<3)>>3];d=d+1|0;a:while(1){if((d|0)>=(e|0))break;while(1){j=d+1|0;k=b+(d<<2)|0;if((d|0)>=(e|0))break;if(!(+h[a+(c[k>>2]<<3)>>3]<=n))break;else d=j}while(1){i=b+(e<<2)|0;g=e;e=e+-1|0;if((d|0)>=(g|0)){e=g;continue a}g=c[i>>2]|0;if(!(+h[a+(g<<3)>>3]>n))break}d=c[k>>2]|0;c[k>>2]=g;c[i>>2]=d;d=j}a=((+h[a+(c[b+(d<<2)>>2]<<3)>>3]>n)<<31>>31)+d|0;c[f>>2]=a;f=b+(a<<2)|0;c[m>>2]=c[f>>2];c[f>>2]=l;return}function ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+16|0;v=4;w=k6(40)|0;c[w>>2]=0;t=x;o=0;u=la(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=la(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;z=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=z;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=g<z?g:z;i=i>z?i:z;j=j>y?j:y;k=k<y?k:y}c[u+(m*40|0)+4>>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=x6(187664,1,w|0,v|0)|0;v=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=D;q=0;m=s;n=u}}else{d=D;q=0;m=0;n=0}while(1){if(d|0){o=0;$(105,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,w|0,v|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=ra(78,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}if(!d){o=0;d=aa(27,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}}o=0;$(105,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s;continue}o=0;$(105,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,w|0,v|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=D;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;l6(w|0);l=x;return d|0}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w;p=w+8|0;q=w+4|0;c[b+8>>2]=0;v=IK(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[v+(e<<2)>>2]=a+(e*24|0);e=e+1|0}k3(v,f,4,79);n=0;g=0;f=0;h=0;a:while(1){if((n|0)>=(c[b>>2]|0)){t=0;d=g;u=h;break}o=v+(n<<2)|0;e=c[o>>2]|0;c[p>>2]=e;a=c[e+16>>2]|0;if((e|0)==(c[a>>2]|0))e=c[a+4>>2]|0;else e=e+-24|0;c[q>>2]=e;m=0;a=g;k=h;while(1){if((m|0)>=2)break;j=e+20|0;switch(lt(p,q)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(k|0))break;i=mt(c[h>>2]|0,e)|0;if(i|0){t=i;d=a;u=k;break a}g=g+1|0;h=c[h+4>>2]|0}g=IK(12)|0;if(!k){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[j>>2]=g;h=a;f=g;g=k+1|0;break}case 1:{g=c[j>>2]|0;if(!g){s=19;break a}do if((k|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;e=f;break}if((g|0)==(f|0)){e=c[f+8>>2]|0;c[e+4>>2]=0;break}else{e=g+4|0;i=c[g+8>>2]|0;c[i+4>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=i;e=f;break}}else{a=0;e=0}while(0);l6(g);c[j>>2]=0;h=a;f=e;g=k+-1|0;break}default:{h=a;g=k}}e=c[o>>2]|0;a=c[e+16>>2]|0;if((e|0)==(c[a+4>>2]|0))a=c[a>>2]|0;else a=e+24|0;c[q>>2]=a;m=m+1|0;a=h;k=g}n=n+1|0;g=a;h=k}if((s|0)==19){dA(1,94028,r)|0;Ca(187664,1)}e=0;while(1){if((e|0)>=(u|0))break;s=c[d+4>>2]|0;l6(d);e=e+1|0;d=s}l6(v);l=w;return t|0}function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+48|0;s=G+16|0;r=G+32|0;y=G;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}C=c[a+(e<<2)>>2]|0;D=c[C>>2]|0;c[y>>2]=c[D>>2];c[y+4>>2]=c[D+4>>2];c[y+8>>2]=c[D+8>>2];c[y+12>>2]=c[D+12>>2];D=e+1|0;E=d+(e*40|0)+8|0;t=d+(e*40|0)+16|0;u=d+(e*40|0)+32|0;g=d+(e*40|0)+24|0;e=D;while(1){if((e|0)>=(b|0)){e=D;continue a}i=c[a+(e<<2)>>2]|0;j=+h[E>>3];k=+h[d+(e*40|0)+24>>3];m=d+(e*40|0)+32|0;n=d+(e*40|0)+16|0;o=+h[d+(e*40|0)+8>>3];p=+h[g>>3];q=p>=o;f=!(j<=k);if(((!(f|!(j>=o))?(v=+h[t>>3],w=+h[m>>3],v<=w):0)?(x=+h[n>>3],!(!(p<=k)|!(v>=x)|q^1)):0)?(H=+h[u>>3],!(!(H<=w)|!(H>=x))):0){c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];if(LX(r,s)|0){e=1;break a}}else F=10;if((((((F|0)==10?(F=0,!(!(o>=j)|q^1)):0)?(z=+h[n>>3],A=+h[u>>3],z<=A):0)?(B=+h[t>>3],!(f|(!(k<=p)|!(z>=B)))):0)?(H=+h[m>>3],!(!(H<=A)|!(H>=B))):0)?(q=c[i>>2]|0,c[r>>2]=c[C>>2],c[r+4>>2]=c[C+4>>2],c[s>>2]=c[q>>2],c[s+4>>2]=c[q+4>>2],c[s+8>>2]=c[q+8>>2],c[s+12>>2]=c[q+12>>2],LX(r,s)|0):0){e=1;break a}e=e+1|0}}l=G;return e|0}function lt(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;nt(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){nt(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ot(b,a,(d|0)>-1?d:0-d|0)|0}if(!(pt(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ot(a,b,0)|0;d=(ot(a,b,(d|0)<=(ot(a,b,1)|0)&1)|0)<<1}else d=ot(a,b,(d|0)>-1?d:0-d|0)|0;if(!(pt(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=qt(a,b,g)|0}while(0);l=m;return d|0}function nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))a=c[e>>2]|0;else a=a+24|0;g=+h[a>>3]-i;f=+h[a+8>>3]-j;a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0))a=c[a>>2]|0;else a=b+24|0;k=+h[a>>3]-i;l=+h[a+8>>3]-j;j=g*(+h[b+8>>3]-j)-f*(+h[b>>3]-i);b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=g*l-f*k;e=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=e;c[d+8>>2]=S(e,b)|0;return}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j){if(k==g)b=(st(l,e,i)|0)!=-1;else b=0;b=b&1}else b=st(k,g,j)|0;return b|0}function pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0;a:do if((f|0)<1)g=0;else{q=+h[a>>3];s=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];p=+h[b>>3];r=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];n=s-j;o=q-l;b:do switch(f|0){case 3:{m=(r-i)/(p-k);if(q==l){h[d>>3]=q;i=i+(q-k)*m;break b}i=n/o;if(p==k){h[d>>3]=p;i=j+i*(p-l);break b}else{r=r-p*m;q=s-q*i;s=m-i;h[d>>3]=(q-r)/s;i=(q*m-i*r)/s;break b}}case 2:{if((ot(a,b,0)|0)==-1)if((ot(b,a,1)|0)==-1){f=(ot(b,a,0)|0)==-1;l=f?l:q;k=p;j=f?j:s;i=r}else{l=k;k=p;j=i;i=r}else if((ot(a,b,1)|0)!=-1)if((ot(b,a,0)|0)==-1){k=q;i=s}else{g=0;break a}else{l=p;j=r}h[d>>3]=(l+k)*.5;i=(j+i)*.5;break}case 1:if(o*(r-s)==n*(p-q)){h[d>>3]=p;i=r;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function qt(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+16|0;r=t;p=+h[a>>3];q=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))f=c[f>>2]|0;else f=a+24|0;n=+h[f>>3];k=+h[f+8>>3];m=+h[b>>3];o=+h[b+8>>3];f=c[b+16>>2]|0;if((c[f+4>>2]|0)==(b|0))f=c[f>>2]|0;else f=b+24|0;j=+h[f>>3];i=+h[f+8>>3];f=e+8|0;a:do if(!(p!=n&m!=j)){do if(p==n){g=+h[e>>3];if(p==g?q==+h[f>>3]:0)break;if(!(n==g)){s=18;break a}if(!(k==+h[f>>3])){s=18;break a}}while(0);if(m==j){g=+h[e>>3];if(m==g?o==+h[f>>3]:0){f=0;break}if(j==g?i==+h[f>>3]:0)f=0;else s=18}else f=0}else s=18;while(0);if((s|0)==18)if((d[195234]|0)>1){s=c[15715]|0;q=+h[f>>3];h[r>>3]=+h[e>>3];h[r+8>>3]=q;z4(s,94057,r)|0;rt(1,a);rt(2,b);f=1}else f=1;l=t;return f|0}function rt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+48|0;i=j;e=c[15715]|0;f=+h[b>>3];g=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0))b=c[d>>2]|0;else b=b+24|0;m=+h[b>>3];k=+h[b+8>>3];c[i>>2]=a;h[i+8>>3]=f;h[i+16>>3]=g;h[i+24>>3]=m;h[i+32>>3]=k;z4(e,94085,i)|0;l=j;return}function st(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a<b?b<c:c<b)?1:-1)|0}function tt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;a:do if(!(ry(a,d)|0))a=0;else{f=HK(d<<3)|0;a=0;while(1){if((a|0)<(d|0))e=0;else break;while(1){if((e|0)==(d|0))break;h[f+(e<<3)>>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;sy(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}l6(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=IK(q)|0;q=IK(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((U4()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;wt(k,0,o,-+vt(g,0,o,k),g);d=d+1|0}j=+xt(k,0,o)}while(j<1.0e-10);yt(k,0,o,1.0/j,k);d=0;do{zt(q,0,o,k);At(a,b,b,k,p);zt(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+xt(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;yt(k,0,o,1.0/j,k);l=+vt(k,0,o,q)}while(+F(+l)<.999);h[f+(i<<3)>>3]=j*l;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((U4()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;wt(k,0,o,-+vt(s,0,o,k),s);g=g+1|0}yt(k,0,o,1.0/+xt(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j<l;j=s?l:j;g=s?k:g;k=k+1|0}if((g|0)==(i|0)){i=b;continue}k=e+(i<<2)|0;zt(p,0,o,c[k>>2]|0);s=e+(g<<2)|0;zt(c[k>>2]|0,0,o,c[s>>2]|0);zt(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}l6(p);l6(q);return (d|0)<=(r|0)|0}function vt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=f+ +h[c>>3]*+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function wt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function xt(a,b,c){a=a|0;b=b|0;c=c|0;return +(+G(+(+vt(a,b,c,a))))}function yt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function At(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[k>>2]|0)+(i<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Bt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;k=c[i>>2]|0;l=d<<2;j=S(l,f)|0;if(!k){j=k6(j)|0;o=k6(l)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,l)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){l=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((l|0)>=(d|0))break;i=a+(l<<2)|0;n=o+(l<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;m=0.0}else break;while(1){if((j|0)>=(e|0))break;p=m+ +h[(c[i>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0;m=p}g[(c[n>>2]|0)+(k<<2)>>2]=m;k=k+1|0}l=l+1|0}return}function Ct(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;j=S(d<<3,f)|0;if(!k){j=k6(j)|0;o=k6(d<<2)|0}else{j=n6(c[k>>2]|0,j)|0;o=n6(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=l+ +h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2];j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Dt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;i=S(d*20|0,e)|0;if(!j){i=k6(i)|0;q=k6(d<<2)|0}else{i=n6(c[j>>2]|0,i)|0;q=n6(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=k+ +g[m+(j<<2)>>2]*+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3];j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Et(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +h[d>>3];d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Ft(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((U4()|0)%500|0|0);c=c+1|0}Et(a,b);return}function Gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=f+ +g[(c[l>>2]|0)+(i<<2)>>2]*+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ht(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=f+ +g[(c[k>>2]|0)+(i<<2)>>2]*+h[d+(i<<3)>>3];i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function It(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]+ +h[c+(e<<3)>>3];e=e+1|0}return}function Kt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +h[b+(e<<3)>>3]*+h[c+(e<<3)>>3];e=e+1|0}return +d}function Nt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+F(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ot(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=g+ +h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]*+h[e+(i<<3)>>3];i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Pt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=c+ +g[d>>2];d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Qt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=l*+g[a+(h<<2)>>2]+0.0;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=f+p*+g[c+(i<<2)>>2];o=d+(i<<2)|0;g[o>>2]=l*p+ +g[o>>2];f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=f+ +g[o>>2];h=h+m|0;j=k;m=m+-1|0}return}function Rt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function St(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]+ +g[c+(e<<2)>>2];e=e+1|0}return}function Tt(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[f>>2]+ +g[d+(e<<2)>>2]*c;e=e+1|0}return}function Ut(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function Wt(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[b+(e<<2)>>2]*+g[c+(e<<2)>>2];e=e+1|0}return +d}function Xt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function Yt(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function Zt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+F(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function _t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function $t(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function au(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+G(+e);d=d+1|0}return}function bu(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+G(+e);c=c+1|0}return}function cu(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=S(4/((du(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;l6(c[b+4>>2]|0);l6(b);b=d}while(0);c[a>>2]=0;return}function du(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function eu(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=IK(8)|0;f=IK(S(c[46897]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46897]|0))break;fu(f+(S(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function fu(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=HK(b<<3)|0;l=a+8|0;f=c[l>>2]|0;hu(a,b,m);Ft(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=IK(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=vr(a,d,m,b,.001,e)|0;l6(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}l6(m);return i>>>31|0}function hu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[m>>2]|0)+(f<<2)>>2]*+g[(c[j>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function iu(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;i=i|0;j=j|0;a=l;l=l+16|0;if(!(c[46955]|0)){c[46955]=1;dA(1,94121,a)|0}l=a;return}function ju(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=IK(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=IK(i)|0;g=g+1|0}p=IK(f<<3)|0;q=IK(b<<2)|0;g=IK(S(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(S(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ut(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=j+ +(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)*+h[(c[l>>2]|0)+(g<<3)>>3];g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;l6(c[r+(g<<2)>>2]|0);g=g+1|0}l6(r);l6(p);l6(c[q>>2]|0);l6(q);return}function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;fy(c[a>>2]|0,d,d<<2,j);Dt(c[j>>2]|0,a,d,b,i);Ct(a,c[i>>2]|0,b,d,b,h);l6(c[c[i>>2]>>2]|0);l6(c[i>>2]|0);e=(ut(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function lu(){c[46956]=0;l6(c[46957]|0);l6(c[46958]|0);l6(c[46959]|0);c[46957]=0;c[46958]=0;c[46959]=0;return}function mu(a){a=a|0;l6(c[a+36>>2]|0);return}function nu(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+80|0;o=u+64|0;t=u+68|0;i=u+48|0;j=u+32|0;k=u+16|0;m=u;n=d+16|0;g=c[n>>2]|0;p=b+40|0;r=f;s=e;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{g=c[n>>2]|0;i=c[g+12>>2]|0;j=c[i+8>>2]|0;c[t>>2]=j;g=c[c[g+8>>2]>>2]|0;k=i+44|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))q=11;else q=8;break}case 112:{if((f2(g,106022)|0)==0?(ou(c[k>>2]|0,j)|0)!=0:0)q=11;else q=8;break}default:q=8}do if((q|0)==8)if((j|0)<3){c[p>>2]=(c[i>>2]|0)==0?0:2;q=16;break}else{c[p>>2]=0;break}else if((q|0)==11?(c[p>>2]=1,(j|0)<=2):0)q=16;while(0);if((q|0)==16){i=pu(d,t,e,f)|0;q=20;break a}i=IK(j<<4)|0;if((c[p>>2]|0)==1){q=c[k>>2]|0;h[i>>3]=s+ +h[q>>3]/72.0;h[i+8>>3]=r+ +h[q+8>>3]/72.0;h[i+16>>3]=+h[q+16>>3]/72.0-s;h[i+24>>3]=r+ +h[q+24>>3]/72.0;h[i+32>>3]=+h[q+32>>3]/72.0-s;h[i+40>>3]=+h[q+40>>3]/72.0-r;h[i+48>>3]=s+ +h[q+48>>3]/72.0;h[i+56>>3]=+h[q+56>>3]/72.0-r;q=20;break a}else g=0;while(1){if((g|0)>=(j|0)){q=20;break a}q=c[k>>2]|0;v=+h[q+(g<<4)>>3];e=+h[q+(g<<4)+8>>3];f=+G(+(v*v+e*e));h[i+(g<<4)>>3]=v*(s/f+1.0)/72.0;h[i+(g<<4)+8>>3]=e*(r/f+1.0)/72.0;g=g+1|0}}case 2:{c[t>>2]=4;q=IK(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;w=+h[d+32>>3];s=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];v=-e;r=-f;qu(i,o,d,v,r);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;n=~~w;qu(j,n,d,e,r);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;d=~~s;qu(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;qu(m,o,d,v,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=q;q=20;break a}case 3:{c[p>>2]=2;i=pu(d,t,e,f)|0;q=20;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];dA(1,94184,o)|0;g=1;break a}}else{c[t>>2]=4;v=s+ +h[g+32>>3]*.5;w=r+ +h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;s=-v;h[i+16>>3]=s;h[i+24>>3]=w;h[i+32>>3]=s;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;q=20}while(0);if((q|0)==20){c[b+36>>2]=i;g=c[t>>2]|0;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=u;return g|0}function ou(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0,i=0;do if((b|0)==4){e=+h[a+8>>3];f=+h[a+24>>3];g=a+56|0;i=a+48|0;b=a+16|0;c=a+32|0;d=a+40|0;if(e==f){if(!(+h[d>>3]==+h[g>>3])){b=0;break}if(!(+h[a>>3]==+h[i>>3])){b=0;break}b=+h[b>>3]==+h[c>>3];break}if((+h[a>>3]==+h[b>>3]?+h[c>>3]==+h[i>>3]:0)?e==+h[g>>3]:0)b=f==+h[d>>3];else b=0}else b=0;while(0);return b&1|0}function pu(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0,l=0.0;f=NA(a,103006)|0;if(!f)f=0;else f=d6(f)|0;i=(f|0)<3?20:f;j=IK(i<<4)|0;a=a+16|0;g=+(i|0);f=0;while(1){if((f|0)>=(i|0))break;k=c[a>>2]|0;l=+(f|0)/g*3.141592653589793*2.0;h[j+(f<<4)>>3]=+I(+l)*(d+ +h[k+32>>3]*.5);h[j+(f<<4)+8>>3]=+J(+l)*(e+ +h[k+40>>3]*.5);f=f+1|0}c[b>>2]=i;return j|0}function qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)/72.0+d;h[a+8>>3]=+(c|0)/72.0+e;return}function ru(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m<i?m:i;j=l<j?l:j;a=k}h[c>>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function su(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0;s=l;l=l+80|0;n=s+64|0;q=s+68|0;i=s+48|0;j=s+32|0;k=s+16|0;m=s;o=d+16|0;g=c[o>>2]|0;p=b+40|0;a:do if(!(c[g+212>>2]|0))switch(UM(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[q>>2]=k;b:do if((k|0)>2){i=IK(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]/72.0;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]/72.0;g=g+1|0}}else i=pu(d,q,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(f2(g,108537)|0))g=1;else r=13;break}case 112:{if((f2(g,106022)|0)==0?(ou(i,c[q>>2]|0)|0)!=0:0)g=1;else r=13;break}default:r=13}do if((r|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[p>>2]=g;r=20;break a}case 2:{c[q>>2]=4;r=IK(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;u=+h[o+16>>3];w=+h[o+24>>3];v=+h[o+32>>3];t=+h[o+40>>3];tu(i,u,w);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];c[r+12>>2]=c[i+12>>2];i=r+16|0;tu(j,v,w);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=r+32|0;tu(k,v,t);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=r+48|0;tu(m,u,t);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[p>>2]=1;i=r;r=20;break a}case 3:{c[p>>2]=2;i=pu(d,q,0.0,0.0)|0;r=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];dA(1,94220,n)|0;g=1;break a}}else{c[q>>2]=4;v=+h[g+32>>3]*.5;w=+h[g+40>>3]*.5;c[p>>2]=1;i=IK(64)|0;h[i>>3]=v;h[i+8>>3]=w;u=-v;h[i+16>>3]=u;h[i+24>>3]=w;h[i+32>>3]=u;w=-w;h[i+40>>3]=w;h[i+48>>3]=v;h[i+56>>3]=w;r=20}while(0);if((r|0)==20){g=c[q>>2]|0;if(e!=1.0|f!=1.0)uu(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ru(i,g,b,b+16|0);if((g|0)>(c[46956]|0)){c[46956]=g;g=0}else g=0}l=s;return g|0}function tu(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b/72.0;h[a+8>>3]=c/72.0;return}function uu(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=c*+h[a>>3];f=a+8|0;h[f>>3]=d*+h[f>>3];a=a+16|0;e=e+1|0}return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0;s=l;l=l+128|0;p=s+112|0;o=s+96|0;n=s+80|0;g=s+64|0;q=s+48|0;r=s+32|0;k=s+16|0;m=s;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];ts(q,o,p);i=b+16|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];ts(r,o,p);c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[e>>2];c[p+4>>2]=c[e+4>>2];c[p+8>>2]=c[e+8>>2];c[p+12>>2]=c[e+12>>2];ts(k,o,p);j=e+16|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];ts(m,o,p);c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];do if(wu(g,n,o,p)|0){f=c[b+40>>2]|0;g=e+40|0;if(f&1|0?c[g>>2]&1|0:0){f=1;break}if(f&2|0?c[g>>2]&2|0:0){t=+h[i>>3]-+h[b>>3]+ +h[j>>3]-+h[e>>3];v=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(v*v+u*u>t*t*.25);break}f=c[46957]|0;if(!f){c[46957]=IK(c[46956]<<4)|0;i=IK(c[46956]<<4)|0;c[46958]=i;f=c[46957]|0}else i=c[46958]|0;w=c[b+36>>2]|0;j=b+32|0;g=c[j>>2]|0;c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];xu(w,g,p,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];xu(a,e,p,i);if(!(yu(c[46957]|0,i,c[j>>2]|0,c[g>>2]|0)|0)){f=c[46957]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];if(zu(n,o,p)|0?(m=c[46958]|0,w=c[g>>2]|0,c[p>>2]=c[f>>2],c[p+4>>2]=c[f+4>>2],c[p+8>>2]=c[f+8>>2],c[p+12>>2]=c[f+12>>2],Au(m,w,p)|0):0){f=1;break}f=c[46958]|0;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];if(!(zu(n,o,p)|0))f=0;else{r=c[46957]|0;w=c[j>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];f=(Au(r,w,p)|0)!=0}}else f=1}else f=0;while(0);l=s;return f&1|0}function wu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3];else a=0;return a&1|0}function xu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[a>>3]+ +h[c>>3];h[d+8>>3]=+h[a+8>>3]+ +h[f>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+112|0;w=E+96|0;v=E+80|0;u=E+64|0;t=E+48|0;y=E+32|0;z=E+16|0;A=E;B=d+-1|0;C=e+-1|0;D=d<<1;x=e<<1;i=0;h=0;g=0;f=0;while(1){q=a+(i<<4)|0;p=a+(((B+i|0)%(d|0)|0)<<4)|0;c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[p>>2];c[w+4>>2]=c[p+4>>2];c[w+8>>2]=c[p+8>>2];c[w+12>>2]=c[p+12>>2];ss(y,v,w);s=b+(h<<4)|0;r=b+(((C+h|0)%(e|0)|0)<<4)|0;c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[r>>2];c[w+4>>2]=c[r+4>>2];c[w+8>>2]=c[r+8>>2];c[w+12>>2]=c[r+12>>2];ss(z,v,w);c[u>>2]=c[46578];c[u+4>>2]=c[46579];c[u+8>>2]=c[46580];c[u+12>>2]=c[46581];c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];c[w+8>>2]=c[z+8>>2];c[w+12>>2]=c[z+12>>2];j=+us(u,v,w);c[u>>2]=c[p>>2];c[u+4>>2]=c[p+4>>2];c[u+8>>2]=c[p+8>>2];c[u+12>>2]=c[p+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];k=vs(u,v,w)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];m=vs(u,v,w)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[w>>2]=c[s>>2];c[w+4>>2]=c[s+4>>2];c[w+8>>2]=c[s+8>>2];c[w+12>>2]=c[s+12>>2];if(ws(t,u,v,w,A)|0){f=1;break}q=(k|0)==0;r=(m|0)==0;n=(i+1|0)%(d|0)|0;s=f+1|0;o=(h+1|0)%(e|0)|0;p=g+1|0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0)){i=r?n:i;h=r?h:o;g=r?p:g;f=r?f:s;break}else{i=q?i:n;h=q?o:h;g=q?g:p;f=q?s:f;break}else{i=n;g=p}while(0);if(!((f|0)<(x|0)&((g|0)<(D|0)&((f|0)<(e|0)|(g|0)<(d|0))))){f=0;break}}l=E;return f|0}function zu(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3];else a=0;return a&1|0}function Au(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;e=c[46959]|0;if(!e){e=IK(c[46956]<<4)|0;c[46959]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}m=b+-1|0;f=0.0;l=0;a:while(1){if((l|0)>=(b|0)){n=18;break}d=(m+l|0)%(b|0)|0;j=+h[e+(l<<4)+8>>3];a=j==0.0;g=e+(l<<4)|0;i=e+(d<<4)|0;k=+h[e+(d<<4)+8>>3];d=k==0.0;do if(a&d){if(+h[g>>3]*+h[i>>3]<0.0){e=1;break a}}else{if(!(j>=0.0)|!(k<=0.0)?!(j<=0.0)|!(k>=0.0):0)break;j=(k*+h[g>>3]-j*+h[i>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(a|d){f=f+.5;break}else{f=f+1.0;break}}while(0);l=l+1|0}if((n|0)==18)e=((~~f|0)%2|0|0)==1&1;return e|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=IK(b<<2)|0;i=S(b,b)|0;d=IK(i<<2)|0;c[j>>2]=d;Yt(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((S(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Cu(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;G=c[a+52>>2]|0;H=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Eu(N,C,E,G,H,j);I=c[a+28>>2]|0;J=c[a+32>>2]|0;K=c[a+36>>2]|0;L=c[a+12>>2]|0;M=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(H|0)){e=C;d=H}else e=c[G+(d<<2)>>2]|0}c[M+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}A=c[a+40>>2]|0;B=J+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){y=f;while(1){if((y|0)>=(C|0))break b;f=c[E+(y<<2)>>2]|0;z=+g[N+(f<<2)>>2];o=z;x=y;l=0.0;while(1){g[A+(f<<2)>>2]=l;f=x+1|0;w=E+(f<<2)|0;if((f|0)>=(C|0)){v=0;break}l=(c[M+(f<<2)>>2]|0)>(c[M+(x<<2)>>2]|0)?o+j:o;a=c[w>>2]|0;m=+g[N+(a<<2)>>2];if(+F(+(m-l))>1.0e-09){v=1;break}o=l;x=f;l=m-z;f=a}n=y;while(1){if((n|0)>(x|0)){a=0;p=y;break}p=c[E+(n<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;a=0;l=-+g[b+(p<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(p|0))l=l+ +g[q+(a<<2)>>2]*+g[N+(a<<2)>>2];a=a+1|0}g[I+(p<<2)>>2]=l/-+g[q+(p<<2)>>2]-+g[A+(p<<2)>>2];n=n+1|0}c:while(1){if((p|0)>(x|0)){m=0.0;o=0.0;r=0;break}n=c[M+(c[E+(p<<2)>>2]<<2)>>2]|0;if((n|0)==(H|0))r=f;else{r=c[G+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}q=p;while(1){if((q|0)>=(r|0)){q=p;break}n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]<z){c[L+(a<<2)>>2]=n;a=a+1|0}q=q+1|0}while(1){if((q|0)>=(r|0))break;n=c[E+(q<<2)>>2]|0;if(+g[I+(n<<2)>>2]==z){c[L+(a<<2)>>2]=n;a=a+1|0}q=q+1|0}while(1){if((p|0)>=(r|0)){p=r;continue c}n=c[E+(p<<2)>>2]|0;if(+g[I+(n<<2)>>2]>z){c[L+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}}while(1){if((r|0)>=(a|0))break;p=c[L+(r<<2)>>2]|0;q=c[D+(p<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[q+(c[L+(n<<2)>>2]<<2)>>2];n=n+1|0}l=l*2.0;u=q+(p<<2)|0;s=+g[u>>2];s=(z*l+(o*m-s*+g[I+(p<<2)>>2]))/(l+(m-s));g[J+(r<<2)>>2]=s;m=m+(l-+g[u>>2]);o=s;r=r+1|0}q=(a|0)==(C|0);if(q)g[B>>2]=z;u=a+-1|0;m=0.0;o=0.0;p=u;while(1){if((p|0)<=-1)break;r=c[L+(p<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=p;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[L+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;s=+g[t>>2];s=(z*l+(o*m-s*+g[I+(r<<2)>>2]))/(l+(m-s));g[K+(p<<2)>>2]=s;m=m+(l-+g[t>>2]);o=s;p=p+-1|0}if(q){g[K>>2]=z;s=0.0;n=-1;q=0}else{s=0.0;n=-1;q=0}while(1){if((a|0)<=(q|0))break;o=+g[K+(q<<2)>>2];if((q|0)>0)l=+g[J+(q+-1<<2)>>2];else l=o;do if(o<l){p=l>z;if(o<z){l=p?z:l;m=l;break}if(p){m=o;l=o}else m=o}else m=o;while(0);o=+(a-q|0)*+F(+(m-z))+ +(q|0)*+F(+(l-z));t=o>s;s=t?o:s;n=t?q:n;q=q+1|0}r=E+(x<<2)|0;p=c[L+(u<<2)>>2]|0;q=N+(p<<2)|0;if((n|0)>-1)break;k=+g[q>>2];if(!v){y=f;continue}k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;y=f}o=+g[K+(n<<2)>>2];if(!n)s=o;else s=+g[J+(n+-1<<2)>>2];do if(v){u=c[w>>2]|0;m=+g[N+(u<<2)>>2];l=+g[A+(p<<2)>>2];if((c[M+(u<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)){l=m-j-l;break}else{l=m-l;break}}else l=1.0e9;while(0);l=o<l?o:l;k=s>k?s:k;do if(l<k){p=k>z;if(l<z){l=p?z:k;m=l;break}if(p)m=l;else{m=l;l=k}}else{m=l;l=k}while(0);p=0;while(1){if((p|0)>=(n|0))break;u=c[L+(p<<2)>>2]|0;g[N+(u<<2)>>2]=l+ +g[A+(u<<2)>>2];p=p+1|0}while(1){if((n|0)>=(a|0))break;u=c[L+(n<<2)>>2]|0;g[N+(u<<2)>>2]=m+ +g[A+(u<<2)>>2];n=n+1|0}k=+g[q>>2];if(v)k=(c[M+(c[w>>2]<<2)>>2]|0)>(c[M+(c[r>>2]<<2)>>2]|0)?k+j:k;a=y;while(1){if((a|0)>(x|0))break;c[E+(a<<2)>>2]=c[L+(a-y<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+F(+(l-z))<.01:0)e=+F(+(m-z))<.01;else e=0;e=e&1}Pt(C,N);Du(N,E,G,H,i);d=d+1|0}}while(0);return d|0}function Du(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Eu(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;dt(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]<i)g[k>>2]=i;k=l;m=m+1|0}return}function Fu(a){a=a|0;l6(c[c[a>>2]>>2]|0);l6(c[a>>2]|0);l6(c[a+8>>2]|0);l6(c[a+28>>2]|0);l6(c[a+32>>2]|0);l6(c[a+36>>2]|0);l6(c[a+40>>2]|0);l6(c[a+12>>2]|0);l6(c[a+16>>2]|0);l6(c[a+20>>2]|0);l6(c[a+24>>2]|0);l6(a);return}function Gu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=IK(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Bu(a,b)|0;i=b<<2;j=IK(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=IK(i)|0;c[k+32>>2]=IK(i)|0;c[k+36>>2]=IK(i)|0;c[k+40>>2]=IK(i)|0;c[k+12>>2]=IK(i)|0;c[k+16>>2]=IK(i)|0;c[k+20>>2]=IK(i)|0;c[k+24>>2]=IK(i)|0;return k|0}function Hu(){cu(187844,24);c[46964]=0;return}function Iu(){return eu(187844)|0}function Ju(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function Ku(a){a=a|0;var b=0;b=c[46964]|0;c[a+16>>2]=b;c[46964]=b+1;return}function Lu(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)fu(a,187844);return}function Mu(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Nu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;u=IK(q)|0;k=b<<3;v=IK(k)|0;t=Ys(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;j=t+(a<<2)|0;i=0;while(1){if((i|0)==(b|0))break;s=(c[j>>2]|0)+(i<<2)|0;c[s>>2]=c[s>>2]<<8;i=i+1|0}a=a+1|0}if(!d)Aa(94253,94261,283,94275);s=IK(k)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Ou(s,b);m=0.0;n=0.0;k=1;while(1){if((k|0)>=(b|0))break;i=t+(k<<2)|0;j=d+(k<<3)|0;a=0;while(1){if((a|0)==(k|0))break;y=c[(c[i>>2]|0)+(a<<2)>>2]|0;r=+F(+(+h[j>>3]-+h[d+(a<<3)>>3]));m=m+r*(1.0/+(S(y,y)|0)*r);n=n+1.0/+(y|0)*r;a=a+1|0}k=k+1|0}r=n/m;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=r*+h[y>>3];a=a+1|0}Pu(b,o,f,d,t);j=IK(S(q,b)|0)|0;i=0;while(1){if((i|0)>=(b|0)){o=1;break}k=j+((S(i,b)|0)<<2)|0;c[u+(i<<2)>>2]=k;o=t+(i<<2)|0;m=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[k+(a<<2)>>2]=p;m=m-p}a=a+1|0}g[k+(i<<2)>>2]=m;i=i+1|0}while(1){if((o|0)>=(b|0)){i=0;break}n=+h[d+(o<<3)>>3];j=t+(o<<2)|0;i=0;while(1){if((i|0)==(o|0))break;k=(c[j>>2]|0)+(i<<2)|0;p=+(c[k>>2]|0);m=n-+h[d+(i<<3)>>3];m=p*p-m*m;if(m>0.0)a=~~+G(+m);else a=0;c[(c[t+(i<<2)>>2]|0)+(o<<2)>>2]=a;c[k>>2]=a;i=i+1|0}o=o+1|0}while(1){if((i|0)>=(b|0)){q=0;a=0;break}n=+h[e+(i<<3)>>3];k=v+(i<<3)|0;h[k>>3]=0.0;o=t+(i<<2)|0;j=u+(i<<2)|0;a=0;m=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(i|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0)*+g[(c[j>>2]|0)+(a<<2)>>2];m=m+(n>=+h[e+(a<<3)>>3]?-p:p);h[k>>3]=m}a=a+1|0}i=i+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){a=0;w=58;break}if((wr(u,e,v,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];j=t+(o<<2)|0;k=u+(o<<2)|0;m=0.0;i=0;while(1){if((i|0)==(b|0))break;do if((i|0)!=(o|0)){n=+(c[(c[j>>2]|0)+(i<<2)>>2]|0)*+g[(c[k>>2]|0)+(i<<2)>>2];if(!(p>=+h[e+(i<<3)>>3])){m=m+n;break}else{m=m+-n;break}}while(0);i=i+1|0}i=v+(o<<3)|0;p=+h[i>>3];if(m!=p?+F(+(1.0-m/p))>1.0e-05:0){h[i>>3]=m;a=0}o=o+1|0}q=q+1|0}a:do if((w|0)==58)while(1){if((a|0)>=(b|0)){a=0;break a}w=d+(a<<3)|0;h[w>>3]=+h[w>>3]/r;w=e+(a<<3)|0;h[w>>3]=+h[w>>3]/r;a=a+1|0;w=58}while(0);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l6(u);l6(s);l6(v);l=x;return a|0}function Ou(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=d+ +h[a+(c<<3)>>3];c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;yt(a,0,f,1.0/+xt(a,0,f),a);return}function Pu(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Qu(f,a)|0;l=IK(8)|0;if(!e){f=0;j=0}else{g=IK(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Ou(g,a);f=g;j=g}Ru(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+G(+(+F(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=d*+h[m>>3];f=f+1|0}e=e+1|0}l6(c[k>>2]|0);l6(k);l6(l);l6(j);return}function Qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=IK(S(n,b)|0)|0;n=IK(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((S(d,b)|0)<<2);d=d+1|0}m=Tu(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+(+g[i>>2]-p*p)-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}l6(m);l=o;return n|0}function Ru(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=IK(r)|0;r=IK(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}if(k)i=0;else{wt(l,0,p,-+vt(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p)}while(g<1.0e-10);yt(l,0,p,1.0/g,l);do{zt(r,0,p,l);Su(a,b,b,l,q,f);zt(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+vt(c[s>>2]|0,0,p,l);wt(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+xt(l,0,p);if(g<1.0e-10)break a;yt(l,0,p,1.0/g,l);m=+vt(l,0,p,r)}while(+F(+m)<n);h[e+(j<<3)>>3]=g*m;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((U4()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+vt(c[s>>2]|0,0,p,k);wt(k,0,p,n,c[s>>2]|0);i=i+1|0}yt(k,0,p,1.0/+xt(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g<n;g=s?n:g;i=s?k:i;k=k+1|0}if((i|0)==(j|0)){j=f;continue}b=d+(j<<2)|0;zt(q,0,p,c[b>>2]|0);s=d+(i<<2)|0;zt(c[b>>2]|0,0,p,c[s>>2]|0);zt(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}l6(q);l6(r);return}function Su(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=k+ +g[(c[m>>2]|0)+(l<<2)>>2]*+h[e+(l<<3)>>3];l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)wt(f,0,j,-+vt(f,0,j,i),i);return}function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=IK(b<<2)|0;k=+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=f+m;h=h+1|0;e=e+m}g[j+(i<<2)>>2]=f/k;i=i+1|0}g[d>>2]=e/+(S(b,b)|0);return j|0}function Uu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=S(d,d)|0;r=IK(q<<3)|0;s=IK(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+F(+(+h[a+((S(e,d)|0)+o<<3)>>3]));m=t<f;n=m?g:e;f=m?f:t;e=e+1|0;g=n}if(f<1.0e-10){l=33;break}n=S(o,d)|0;i=S(g,d)|0;e=o;while(1){if((e|0)>=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=S(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-f*+h[j>>3];i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-f*+h[a+(i+n<<3)>>3];i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+F(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=S(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[a+(g+k<<3)>>3]*+h[b+(g<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}l6(r);l6(s)}}if((l|0)==33){Z5(94290)|0;l6(r);l6(s)}return}function Vu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;js();Hu();Es();c[46960]=ib[d&3]()|0;Gs();q=r+8|0;p=ib[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(As()|0)){Bs(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(As()|0)break;g=+h[o>>3];if(g<f)break;if(g==f?+h[p>>3]<e:0)break}if(As()|0)break a;t=Cs()|0;b=Ps(t)|0;v=Os(t)|0;i=Os(v)|0;m=Qs(t)|0;u=Rs(v)|0;j=c[t+20>>2]|0;Ku(j);ns(c[t+8>>2]|0,a[t+16>>0]|0,j);ns(c[v+8>>2]|0,a[v+16>>0]|0,j);Ns(t);zs(v);Ns(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=ks(k,v?m:u)|0;m=Hs(u,t)|0;Ks(b,m);ns(u,(t^1)&255,j);Lu(j);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,k))}b=Is(m,i)|0;if(!b)continue;xs(m,b,+Ju(b,k))}b=Ls(p)|0;k=Os(b)|0;i=ks(Rs(b)|0,p)|0;m=Hs(i,0)|0;Ks(b,m);j=Is(b,m)|0;if(j|0){zs(b);xs(b,j,+Ju(j,p))}i=Hs(i,1)|0;Ks(m,i);b=Is(i,k)|0;if(b|0)xs(i,b,+Ju(b,p));p=ib[d&3]()|0}b=c[46902]|0;while(1){b=Os(b)|0;if((b|0)==(c[46903]|0))break;ls(c[b+8>>2]|0)}l=s;return}function Wu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((qB(b)|0)!=1){Xu(b);if(!d)d=Yu(b)|0;e=Zu(b,d)|0;if(a[195234]|0){i=c[15715]|0;c[f>>2]=HB(d)|0;c[f+4>>2]=e;z4(i,94306,f)|0}if((e|0)<0){dA(1,94340,g)|0;break}else{_u(b);$u(b,d);av(b,d);bv(b,e);break}}else{i=c[(c[(gC(b)|0)+16>>2]|0)+132>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0}while(0);l=h;return d|0}function Xu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=qB(a)|0;d=S(d,d)|0;b=gC(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(jv(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=hC(a,b)|0}return}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(qB(a)|0)<3;b=gC(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)iv(a,b,0);b=hC(a,b)|0}d=0;b=0;e=gC(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=hC(a,e)|0}}while(0);return b|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;fv(a,b);d=gC(a)|0;e=y6(0,e|0,32)|0;f=D;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=hC(a,d)|0}return b|0}function _u(a){a=a|0;var b=0,d=0,e=0,f=0;d=gC(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=w6(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=D;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=hC(a,d)|0}return}function $u(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;ev(a,b);return}function av(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;dv(a,b);return}function bv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;g=j;i=cv(b,d)|0;if(a[195234]|0){f=c[15715]|0;Z3(94396,f)|0;e=0;while(1){if((e|0)>(d|0))break;h[g>>3]=+h[i+(e<<3)>>3];z4(f,94415,g)|0;e=e+1|0}Z3(153748,f)|0}e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+112>>2]|0;k=+h[i+(c[f+24>>2]<<3)>>3];f=f+48|0;m=k*+I(+(+h[f>>3]));g=c[g+132>>2]|0;h[g>>3]=m;h[g+8>>3]=k*+J(+(+h[f>>3]));e=hC(b,e)|0}l6(i);l=j;return}function cv(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=HK((d<<3)+8|0)|0;b=_O(b,DA(c[b+60>>2]|0,0,101589,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+b6(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=e+i;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(X1(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=f+e;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function dv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=ZA(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=e+j*.5;e=e+j;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))dv(a,f)}g=_A(a,g,b)|0}return}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=ZA(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)ev(a,d);f=_A(a,f,b)|0}return}function fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=DA(b,2,101842,0)|0;c[n+4>>2]=0;c[n>>2]=0;gv(n,d);j=(o|0)==0;a:while(1){k=hv(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=ZA(b,k)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)continue a;if(!((!j?(a[(OA(g,o)|0)>>0]|0)==48:0)?!(f2(OA(g,o)|0,138697)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0<r>>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=w6(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=D;gv(n,e)}}g=_A(b,g,k)|0}}l=p;return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=HK(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function hv(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];l6(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=ZA(a,b)|0;h=w6(0,h|0,0,1)|0;h=y6(h|0,D|0,32)|0;i=D;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0<k>>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;iv(a,e,b)}g=_A(a,g,b)|0}return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=ZA(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=_A(a,g,b)|0}return d|0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=DA(a,1,94423,0)|0;g=DA(a,0,94423,0)|0;a=lv(a,g,d,DA(a,0,94428,0)|0)|0;d=a+16|0;f=+G(+(+h[a>>3]+.1));wv(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];mv(a);nv(a);ov(a);l=b;return}function lv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=lv(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=f+ +h[g>>3];if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=gC(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=rv(n,d)|0;f=f+ +h[k>>3];if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=hC(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+tv(a,b);else{h[o+8>>3]=f;f=+sv(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function mv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0;s=l;l=l+176|0;i=s+144|0;q=s+64|0;o=s+32|0;m=s;r=c[b+64>>2]|0;a:do if(r|0){p=HK(r<<2)|0;d=b+48|0;f=0;e=d;while(1){e=c[e>>2]|0;if((f|0)>=(r|0))break;c[p+(f<<2)>>2]=e;f=f+1|0;e=e+52|0}k3(p,r,4,80);n=HK(r<<3)|0;e=0;while(1){if((e|0)>=(r|0))break;h[n+(e<<3)>>3]=+h[c[p+(e<<2)>>2]>>3];e=e+1|0}j=+h[b+8>>3];e=b+16|0;f=b+32|0;g=b+40|0;k=b+24|0;if(+h[b>>3]==j){c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];c[i+20>>2]=c[e+20>>2];c[i+24>>2]=c[e+24>>2];c[i+28>>2]=c[e+28>>2];i=uv(r,n,i)|0}else{t=+h[g>>3];u=+h[f>>3];h[m>>3]=+h[e>>3];h[m+8>>3]=+h[k>>3];v=t-u;j=(t+u-+G(+(j*4.0+v*v)))*.5;h[m+16>>3]=u-j;h[m+24>>3]=t-j;c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[i+16>>2]=c[m+16>>2];c[i+20>>2]=c[m+20>>2];c[i+24>>2]=c[m+24>>2];c[i+28>>2]=c[m+28>>2];i=uv(r,n,i)|0}if(a[195234]|0){m=c[15715]|0;t=+h[k>>3];u=+h[f>>3];v=+h[g>>3];h[o>>3]=+h[e>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;z4(m,94475,o)|0}f=c[15715]|0;e=0;while(1){if((e|0)>=(r|0))break;o=(c[p+(e<<2)>>2]|0)+16|0;g=i+(e<<5)|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];if(a[195234]|0){j=+h[g>>3];u=+h[i+(e<<5)+16>>3];x=u*.5;t=+h[i+(e<<5)+8>>3];v=+h[i+(e<<5)+24>>3];w=v*.5;h[q>>3]=+h[n+(e<<3)>>3];h[q+8>>3]=j-x;h[q+16>>3]=t-w;h[q+24>>3]=j+x;h[q+32>>3]=t+w;h[q+40>>3]=u*v;h[q+48>>3]=j;h[q+56>>3]=t;h[q+64>>3]=u;h[q+72>>3]=v;z4(f,94492,q)|0}e=e+1|0}l6(p);l6(n);l6(i);e=0;while(1){d=c[d>>2]|0;if((e|0)>=(r|0))break a;if(!(c[d+60>>2]|0))mv(d);d=d+52|0;e=e+1|0}}while(0);l=s;return}function nv(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0;g=l;l=l+48|0;f=g;e=b+56|0;if(c[b+60>>2]|0){m=+h[b+24>>3];j=+h[b+32>>3];i=+h[b+40>>3];d=c[e>>2]|0;e=d+16|0;k=c[e>>2]|0;h[k+16>>3]=+h[b+16>>3];h[k+24>>3]=m;b=c[e>>2]|0;h[b+32>>3]=j/72.0;h[b+40>>3]=i/72.0;oQ(d,c[(c[(uC(d)|0)+16>>2]|0)+116>>2]&1);pv(d);if(a[195234]|0){k=c[15715]|0;b=HB(d)|0;e=c[e>>2]|0;n=+h[e+16>>3];i=+h[e+24>>3];j=+h[e+80>>3];m=+h[e+88>>3]+ +h[e+96>>3];c[f>>2]=b;h[f+8>>3]=n;h[f+16>>3]=i;h[f+24>>3]=j;h[f+32>>3]=m;z4(k,94434,f)|0}}else{d=b+48|0;while(1){d=c[d>>2]|0;if(!d)break;nv(d);d=d+52|0}i=+h[b+32>>3];m=+h[b+40>>3];j=+h[b+16>>3]-i*.5;n=+h[b+24>>3]-m*.5;k=c[(c[e>>2]|0)+16>>2]|0;h[k+16>>3]=j;h[k+24>>3]=n;h[k+32>>3]=i+j;h[k+40>>3]=m+n}l=g;return}function ov(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ov(b);b=b+52|0;d=d+1|0}l6(a);return}function pv(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[47212]|0;if(e|0?(a[(OA(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;i2(d,94469,f)|0;HA(b,c[47212]|0,d)|0}qP(b);l=g;return}function qv(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function rv(a,b){a=a|0;b=b|0;var d=0;d=HK(72)|0;h[d>>3]=+tv(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function sv(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+YO(c[a+56>>2]|0,b,0.0,0.0);d=+h[a+8>>3];if(!(e==0.0)){d=e*2.0+ +G(+d);d=d*d}return +d}function tv(a,b){a=a|0;b=b|0;var c=0.0;c=+YO(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function uv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=f+ +h[b+(e<<3)>>3];e=e+1|0;f=j}if(f>+h[d+16>>3]*+h[d+24>>3]+.001)e=0;else{e=HK(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];vv(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function vv(b,d,e,f,g,i,j,k,m){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=+i;j=+j;k=+k;m=m|0;var n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;B=l;l=l+112|0;A=B+72|0;v=B+40|0;r=B+32|0;n=B;z=m+16|0;o=+h[z>>3];x=m+24|0;p=+h[x>>3];w=+h[m+16+((!(o<p)&1)<<3)>>3];do if((b|0)>=1){y=m+8|0;if(a[195234]|0){C=c[15715]|0;D=+h[y>>3];h[n>>3]=+h[m>>3];h[n+8>>3]=o;h[n+16>>3]=D;h[n+24>>3]=p;z4(C,94529,n)|0;c[r>>2]=f;z4(C,94575,r)|0}if(!f){j=+h[d>>3];D=w*w;w=j/D;D=D/j;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,1,j,j,j,w>D?w:D,A);break}r=d+(f<<3)|0;if((b|0)>(f|0)?(u=+h[r>>3],q=u<g?g:u,t=u>i?i:u,u=u+j,s=u/w,D=s/(t/s),s=q/s/s,s=D>s?D:s,s<=k):0){c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b,d,e,f+1|0,q,t,u,s,A);break}q=j/w;if(a[195234]|0){C=c[15715]|0;c[v>>2]=f;h[v+8>>3]=j;h[v+16>>3]=w;h[v+24>>3]=q;z4(C,94600,v)|0}o=+h[z>>3];p=q*.5;if(w==o){o=+h[m>>3]-o*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+24>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+16>>3]=D;h[e+(n<<5)+8>>3]=+h[y>>3]+ +h[x>>3]*.5-p;h[e+(n<<5)>>3]=o+D*.5;o=o+D;n=n+1|0}h[y>>3]=+h[y>>3]-p;n=1}else{o=+h[y>>3]+ +h[x>>3]*.5;n=0;while(1){if((n|0)>=(f|0))break;h[e+(n<<5)+16>>3]=q;D=+h[d+(n<<3)>>3]/q;h[e+(n<<5)+24>>3]=D;h[e+(n<<5)>>3]=p+(+h[m>>3]-+h[z>>3]*.5);h[e+(n<<5)+8>>3]=o-D*.5;o=o-D;n=n+1|0}h[m>>3]=p+ +h[m>>3];n=0}C=m+16+(n<<3)|0;h[C>>3]=+h[C>>3]-q;c[A>>2]=c[m>>2];c[A+4>>2]=c[m+4>>2];c[A+8>>2]=c[m+8>>2];c[A+12>>2]=c[m+12>>2];c[A+16>>2]=c[m+16>>2];c[A+20>>2]=c[m+20>>2];c[A+24>>2]=c[m+24>>2];c[A+28>>2]=c[m+28>>2];vv(b-f|0,r,e+(f<<5)|0,0,0.0,0.0,0.0,1.0,A)}while(0);l=B;return}function wv(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function xv(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;E=l;l=l+96|0;D=E+48|0;C=E+24|0;B=E+16|0;A=E+8|0;v=E+80|0;w=E;x=d+4|0;y=v+4|0;z=a+16|0;t=gC(a)|0;e=0;f=0;i=0;j=0;while(1){if(!t)break;u=UA(a,t)|0;r=e;s=j;while(1){if(!u)break;e=(b[(c[u+16>>2]|0)+168>>1]|0)==0;do if((t|0)!=(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|e)if(!e){i=yv(u,d)|0;j=i+8|0;if(it(c[j>>2]|0,c[i>>2]|0)|0){k=HX(c[j>>2]|0,c[i>>2]|0)|0;if(!k){dA(0,94653,A)|0;j=1;e=s;break}else e=u;while(1){if(!e)break;F=e+16|0;G=(c[F>>2]|0)+144|0;Nm(w,e,k,0,c[j>>2]|0,c[i>>2]|0);I=w;H=c[I+4>>2]|0;c[G>>2]=c[I>>2];c[G+4>>2]=H;Pm(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[F>>2]|0)+172>>2]|0}zv(i);j=r;e=s;break}if(!r){ir(v,a);e=jH(a,8,8)|0;dA(0,94737,B)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];q=p;if(!(n<=o)&!(n<=p)){m=+g[v>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[D>>3]=m;h[D+8>>3]=n;h[D+16>>3]=o;h[D+24>>3]=q;dA(3,94853,D)|0}}else{c[C>>2]=e;h[C+8>>3]=o;h[C+16>>3]=q;dA(3,94803,C)|0}j=1;e=s}else{j=r;e=s}}else{j=r;e=s}else{if(!f){e=HK(96)|0;c[e+84>>2]=HK(((qB(a)|0)<<5)+11520|0)|0;f=e}else e=s;Hm(f,u,c[(c[z>>2]|0)+248>>2]|0);j=r}while(0);u=WA(a,u)|0;r=j;s=e}t=hC(a,t)|0;e=r;j=s}Av(i);if(f|0){l6(c[f+84>>2]|0);l6(j)}l=E;return e|0}function yv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=HK(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Bv(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Bv(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Cv(k,b,0,f,d);Cv(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Cv(k,h,e,f,d);l=p;return k|0}function zv(a){a=a|0;c[a>>2]=0;return}function Av(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Bv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Cv(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Cv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=gC(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Dv(b,Km(h,g,0)|0);h=hC(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Dv(b,Ev(h,g)|0);d=d+1|0}return}function Dv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=IK(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=KK(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Ev(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=HK(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[n+4>>2]=4;b=HK(64)|0;c[n>>2]=b;i=+g[d>>2];m=+g[d+4>>2];if(!(a[d+8>>0]|0)){p=(e+f)*.5*(i+-1.0);o=(l+k)*.5*(m+-1.0);j=e*i-p;i=f*i-p;f=k*m-o;e=l*m-o}else{j=e-i;i=f+i;f=k+m;e=l-m}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return n|0}function Fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+160|0;o=p+16|0;k=p+8|0;g=p;m=p+24|0;n=HK(qB(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{j=HB(b)|0;i=c[46965]|0;c[g>>2]=j;c[g+4>>2]=i;i2(m,94913,g)|0;i=LD(b,m,1)|0;RC(i,137786,280,1)|0;j=HK(56)|0;c[(c[i+16>>2]|0)+140>>2]=j;c[j>>2]=f;c[j+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,i,n);f=f+16|0}}while(0);i=0;j=gC(b)|0;while(1){h=(g|0)!=0;if(!j)break;q=c[j+16>>2]|0;if((a[n+(c[q+120>>2]|0)>>0]|0)==0?(a[q+119>>0]|0)==3:0){if(!h){q=HB(b)|0;g=(c[46965]|0)+f|0;c[k>>2]=q;c[k+4>>2]=g;i2(m,94913,k)|0;g=LD(b,m,1)|0;RC(g,137786,280,1)|0;q=HK(56)|0;c[(c[g+16>>2]|0)+140>>2]=q;f=f+1|0}Gv(b,j,g,n);h=1}else h=i;i=h;j=hC(b,j)|0}if(h)IG(g)|0;g=gC(b)|0;while(1){if(!g)break;if(!(a[n+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){k=HB(b)|0;q=(c[46965]|0)+f|0;c[o>>2]=k;c[o+4>>2]=q;i2(m,94921,o)|0;q=LD(b,m,1)|0;RC(q,137786,280,1)|0;k=HK(56)|0;c[(c[q+16>>2]|0)+140>>2]=k;Gv(b,g,q,n);IG(q)|0;f=f+1|0}g=hC(b,g)|0}l6(n);c[46965]=(c[46965]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=i;i=HK((f<<2)+4|0)|0;h=i;g=MD(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=ND(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=p;return i|0}else Aa(94929,94940,134,94947);return 0}function Gv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;lC(e,d,1)|0;i=ZA(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Gv(b,g,e,f);i=_A(b,i,d)|0}return}function Hv(a){a=a|0;var b=0;b=IK(24)|0;c[46966]=b;c[b>>2]=Sz(18244,c[4591]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Iv(a)|0;return b|0}function Iv(a){a=a|0;var b=0,d=0;b=IK(16)|0;c[b+12>>2]=0;d=IK(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Jv(a,b,d){a=a|0;b=b|0;d=d|0;d=Lv(c[46966]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Kv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Lv(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Iv(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)l6(d);c[b>>2]=IK(e<<3)|0;c[f>>2]=e}return}function Nv(a){a=a|0;var b=0;b=c[a>>2]|0;eb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ov(a){a=a|0;Oz(c[a>>2]|0)|0;Pv(c[a+4>>2]|0);l6(c[a+16>>2]|0);l6(a);return}function Pv(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Qv(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h;i=h+12|0;c[i>>2]=b;c[i+4>>2]=e;j=c[a>>2]|0;i=(eb[c[j>>2]&63](j,i,1)|0)+8|0;c[i>>2]=Rv(a,f,c[i>>2]|0)|0;if((d[195234]|0)>2){j=c[15715]|0;i=HB(f)|0;c[g>>2]=b;c[g+4>>2]=e;c[g+8>>2]=i;z4(j,94957,g)|0}l=h;return}function Rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Sv(a,b){a=a|0;b=b|0;Zz(c[a>>2]|0,b,a)|0;return}function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=eb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Uv(a){a=a|0;l6(c[a+8>>2]|0);l6(a);return}function Vv(a){a=a|0;return +(+h[a>>3])}function Wv(a){a=a|0;return c[a+8>>2]|0}function Xv(a){a=a|0;return ~~+h[a+16>>3]|0}function Yv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=c[b>>2]|0;if((b|0)>=(c[d>>2]|0)){b=b+10|0;c[d>>2]=b;c[e>>2]=KK(c[e>>2]|0,S(a<<3,b)|0)|0;c[f>>2]=KK(c[f>>2]|0,c[d>>2]<<3)|0;c[g>>2]=KK(c[g>>2]|0,c[d>>2]<<3)|0}return}function Zv(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0.0;h[l>>3]=+h[l>>3]+1.0;a:do if(a|0){q=c[a+16>>2]|0;n=c[a+40>>2]|0;if(n|0)do{Yv(q,f,g,i,j,k);if((Xv(wy(n)|0)|0)!=(e|0)){p=Wv(wy(n)|0)|0;o=0;while(1){if((o|0)>=(q|0))break;h[(c[i>>2]|0)+((S(c[f>>2]|0,q)|0)+o<<3)>>3]=+h[p+(o<<3)>>3];o=o+1|0}r=+Vv(wy(n)|0);h[(c[j>>2]|0)+(c[f>>2]<<3)>>3]=r;r=+Yw(d,p,q);p=c[f>>2]|0;h[(c[k>>2]|0)+(p<<3)>>3]=r;c[f>>2]=p+1}n=xy(n)|0}while((n|0)!=0);p=a+36|0;if(c[p>>2]|0){r=+Yw(c[a+20>>2]|0,d,q);if(!(+h[a+24>>3]<r*b)){o=1<<q;n=0;while(1){if((n|0)>=(o|0))break a;Zv(c[(c[p>>2]|0)+(n<<2)>>2]|0,b,d,e,f,g,i,j,k,l,m);n=n+1|0}}Yv(q,f,g,i,j,k);o=c[a+32>>2]|0;p=c[f>>2]|0;m=S(p,q)|0;n=0;while(1){if((n|0)>=(q|0))break;h[(c[i>>2]|0)+(m+n<<3)>>3]=+h[o+(n<<3)>>3];n=n+1|0}h[(c[j>>2]|0)+(p<<3)>>3]=+h[a+8>>3];r=+Yw(o,d,q);j=c[f>>2]|0;h[(c[k>>2]|0)+(j<<3)>>3]=r;c[f>>2]=j+1}}while(0);return}function _v(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0;n=c[a+16>>2]|0;h[l>>3]=0.0;c[f>>2]=0;c[m>>2]=0;c[g>>2]=10;if(!(c[i>>2]|0))c[i>>2]=IK(n*80|0)|0;if(!(c[j>>2]|0))c[j>>2]=IK(c[g>>2]<<3)|0;if(!(c[k>>2]|0))c[k>>2]=IK(c[g>>2]<<3)|0;Zv(a,b,d,e,f,g,i,j,k,l,m);return}function $v(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0,m=0;m=c[a>>2]|0;l=c[a+16>>2]|0;k=0;while(1){if((k|0)==4)break;h[i+(k<<3)>>3]=0.0;k=k+1|0}c[j>>2]=0;l=S(l,m)|0;k=0;while(1){if((k|0)>=(l|0))break;h[b+(k<<3)>>3]=0.0;k=k+1|0}aw(a,a,d,b,e,f,g,i);bw(a,b,i);e=+(m|0);k=0;while(1){if((k|0)==4)break;m=i+(k<<3)|0;h[m>>3]=+h[m>>3]/e;k=k+1|0}return}function aw(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=j|0;var k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;a:do if((a|0)!=0&(b|0)!=0){if((c[a>>2]|0)>0?(c[b>>2]|0)>0:0){v=c[a+16>>2]|0;p=c[a+40>>2]|0;u=b+40|0;l=c[u>>2]|0;k=a+32|0;m=b+32|0;r=+Yw(c[k>>2]|0,c[m>>2]|0,v);n=+h[a+24>>3];o=+h[b+24>>3];w=g==-1.0;x=1.0-g;if(n+o<r*f){h[j>>3]=+h[j>>3]+1.0;q=c[k>>2]|0;o=+h[a+8>>3];p=cw(a,v)|0;m=c[m>>2]|0;n=+h[b+8>>3];l=cw(b,v)|0;if(!(r>0.0))Aa(95099,94982,191,95065);o=o*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break a;if(w)n=f;else n=+H(+r,+x);i=o*(+h[q+(k<<3)>>3]-+h[m+(k<<3)>>3])/n;e=p+(k<<3)|0;h[e>>3]=+h[e>>3]+i;e=l+(k<<3)|0;h[e>>3]=+h[e>>3]-i;k=k+1|0}}m=(p|0)!=0;k=(l|0)!=0;t=(a|0)==(b|0);if(m&k){b=j+8|0;l=p;while(1){if(!l)break a;p=Wv(wy(l)|0)|0;g=+Vv(wy(l)|0);q=Xv(wy(l)|0)|0;s=dw(e,q,l,v)|0;m=c[u>>2]|0;while(1){if(!m)break;a=Wv(wy(m)|0)|0;n=+Vv(wy(m)|0);k=Xv(wy(m)|0)|0;j=dw(e,k,m,v)|0;b:do if(!((q|0)==(k|0)|t&(k|0)<(q|0))){h[b>>3]=+h[b>>3]+1.0;r=+Ww(d,v,q,k);o=g*n*i;f=r*r;k=0;while(1){if((k|0)>=(v|0))break b;if(w)n=f;else n=+H(+r,+x);n=o*(+h[p+(k<<3)>>3]-+h[a+(k<<3)>>3])/n;y=s+(k<<3)|0;h[y>>3]=+h[y>>3]+n;y=j+(k<<3)|0;h[y>>3]=+h[y>>3]-n;k=k+1|0}}while(0);m=xy(m)|0}l=xy(l)|0}}q=1<<v;p=a+36|0;if(t){l=0;while(1){if((l|0)>=(q|0))break a;m=c[(c[p>>2]|0)+(l<<2)>>2]|0;k=l;while(1){if((k|0)==(q|0))break;aw(m,c[(c[p>>2]|0)+(k<<2)>>2]|0,d,e,f,g,i,j);k=k+1|0}l=l+1|0}}if(!(m|!(n>o))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}l=b+36|0;if(!(k|!(o>n))){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(k<<2)>>2]|0,a,d,e,f,g,i,j);k=k+1|0}}if(!m){k=0;while(1){if((k|0)>=(q|0))break a;aw(c[(c[p>>2]|0)+(k<<2)>>2]|0,b,d,e,f,g,i,j);k=k+1|0}}if(k)Aa(138697,94982,273,95065);else s=0;while(1){if((s|0)>=(q|0))break a;aw(c[(c[l>>2]|0)+(s<<2)>>2]|0,a,d,e,f,g,i,j);s=s+1|0}}Aa(95040,94982,175,95065)}while(0);return}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;e=c[a+40>>2]|0;l=c[a+16>>2]|0;m=+h[a+8>>3];n=cw(a,l)|0;if(!(m>0.0))Aa(94974,94982,289,94993);k=d+16|0;h[k>>3]=+h[k>>3]+1.0;a:do if(!e){k=1<<l;f=a+36|0;e=0;while(1){if((e|0)>=(k|0))break a;i=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(i|0){if((c[i>>2]|0)<=0)break;j=cw(i,l)|0;g=+h[i+8>>3]/m;a=0;while(1){if((a|0)>=(l|0))break;o=j+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}bw(i,b,d)}e=e+1|0}Aa(95029,94982,307,94993)}else while(1){if(!e)break a;f=dw(b,Xv(wy(e)|0)|0,e,l)|0;g=+Vv(wy(e)|0)/m;a=0;while(1){if((a|0)>=(l|0))break;o=f+(a<<3)|0;h[o>>3]=+h[o>>3]+g*+h[n+(a<<3)>>3];a=a+1|0}e=xy(e)|0}while(0);return}function cw(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=c[d>>2]|0;a:do if(!a){a=IK(b<<3)|0;c[d>>2]=a;d=0;while(1){if((d|0)>=(b|0))break a;h[a+(d<<3)>>3]=0.0;d=d+1|0}}while(0);return a|0}function dw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(wy(d)|0)+24>>2]|0;if(!f){f=a+((S(e,b)|0)<<3)|0;c[(wy(d)|0)+24>>2]=f;f=c[(wy(d)|0)+24>>2]|0}return f|0}function ew(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=a<<3;k=IK(m)|0;l=IK(m)|0;m=IK(m)|0;if((k|0)!=0&(l|0)!=0&(m|0)!=0){f=0;while(1){if((f|0)>=(a|0)){f=0;break}h[k+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((f|0)>=(a|0)){g=1;break}h[l+(f<<3)>>3]=+h[d+(f<<3)>>3];f=f+1|0}while(1){if((g|0)>=(b|0))break;j=S(g,a)|0;f=0;while(1){if((f|0)>=(a|0))break;n=k+(f<<3)|0;i=+h[n>>3];p=d+(f+j<<3)|0;o=+h[p>>3];h[n>>3]=i<o?i:o;n=l+(f<<3)|0;o=+h[n>>3];i=+h[p>>3];h[n>>3]=o>i?o:i;f=f+1|0}g=g+1|0}i=+h[l>>3]-+h[k>>3];f=0;while(1){if((f|0)>=(a|0))break;p=k+(f<<3)|0;n=l+(f<<3)|0;h[m+(f<<3)>>3]=(+h[p>>3]+ +h[n>>3])*.5;o=+h[n>>3]-+h[p>>3];i=i>o?i:o;f=f+1|0}f=fw(a,m,i==0.0?5.2e-06:i*.52,c)|0;a:do if(!e){g=0;while(1){if((g|0)>=(b|0))break a;f=gw(f,d+((S(g,a)|0)<<3)|0,1.0,g)|0;g=g+1|0}}else{g=0;while(1){if((g|0)>=(b|0))break a;p=d+((S(g,a)|0)<<3)|0;f=gw(f,p,+h[e+(g<<3)>>3],g)|0;g=g+1|0}}while(0);l6(k);l6(l);l6(m)}else{l6(k);l6(l);l6(m);f=0}return f|0}function fw(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,i=0;g=IK(56)|0;c[g+16>>2]=a;c[g>>2]=0;i=IK(a<<3)|0;c[g+20>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;h[i+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}if(d>0.0){h[g+24>>3]=d;h[g+8>>3]=0.0;c[g+32>>2]=0;c[g+36>>2]=0;c[g+40>>2]=0;c[g+44>>2]=e;c[g+48>>2]=0;return g|0}else Aa(95197,94982,410,95207);return 0}function gw(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;if(!a)a=0;else hw(a,b,c,d,0)|0;return a|0}function hw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=a+16|0;s=c[w>>2]|0;u=c[a+44>>2]|0;r=a+20|0;t=a+24|0;j=c[a>>2]|0;m=a+8|0;x=a+40|0;do if(!j){c[a>>2]=1;h[m>>3]=d;j=IK(s<<3)|0;c[a+32>>2]=j;i=c[w>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;h[j+(g<<3)>>3]=+h[b+(g<<3)>>3];g=g+1|0}g=iw(i,d,b,e)|0;if(!(c[x>>2]|0)){c[x>>2]=ty(g)|0;break}else Aa(95108,94982,502,95116)}else{v=a+36|0;p=a+32|0;o=+h[m>>3]+d;n=j+1|0;if((u|0)<=(f|0)){if(c[v>>2]|0)Aa(95182,94982,541,95116);c[a>>2]=n;h[m>>3]=o;k=+(n|0);l=+(j+2|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(+h[b+(g<<3)>>3]+ +h[q>>3]*k)/l;g=g+1|0}g=iw(s,d,b,e)|0;i=c[x>>2]|0;if(!i)Aa(95192,94982,547,95116);else{c[x>>2]=vy(i,g)|0;break}}h[m>>3]=o;l=+(j|0);k=+(n|0);g=0;while(1){if((g|0)>=(s|0))break;q=(c[p>>2]|0)+(g<<3)|0;h[q>>3]=(l*+h[q>>3]+ +h[b+(g<<3)>>3])/k;g=g+1|0}q=1<<s;a:do if(!(c[v>>2]|0)){c[v>>2]=IK(q<<2)|0;g=0;while(1){if((g|0)>=(q|0))break a;c[(c[v>>2]|0)+(g<<2)>>2]=0;g=g+1|0}}while(0);g=c[r>>2]|0;j=jw(s,g,b)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,515,95116);i=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!i){i=kw(c[w>>2]|0,g,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=i;i=c[(c[v>>2]|0)+(j<<2)>>2]|0}p=f+1|0;e=hw(i,b,d,e,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=e;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,519,95116);g=c[x>>2]|0;do if(g|0){m=Xv(wy(g)|0)|0;if((c[a>>2]|0)!=1)Aa(95172,94982,523,95116);n=Wv(wy(c[x>>2]|0)|0)|0;k=+Vv(wy(c[x>>2]|0)|0);i=c[r>>2]|0;j=jw(s,i,n)|0;if(!((j|0)<(q|0)&(j|0)>-1))Aa(95138,94982,527,95116);g=c[(c[v>>2]|0)+(j<<2)>>2]|0;if(!g){g=kw(c[w>>2]|0,i,+h[t>>3]*.5,u,j)|0;c[(c[v>>2]|0)+(j<<2)>>2]=g;g=c[(c[v>>2]|0)+(j<<2)>>2]|0}w=hw(g,n,k,m,p)|0;c[(c[v>>2]|0)+(j<<2)>>2]=w;if(!(c[(c[v>>2]|0)+(j<<2)>>2]|0))Aa(95161,94982,532,95116);else{uy(c[x>>2]|0,106);c[x>>2]=0;break}}while(0);c[a>>2]=(c[a>>2]|0)+1}while(0);return a|0}function iw(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0;g=IK(32)|0;h[g>>3]=b;f=IK(a<<3)|0;c[g+8>>2]=f;h[g+16>>3]=+(e|0);e=0;while(1){if((e|0)>=(a|0))break;h[f+(e<<3)>>3]=+h[d+(e<<3)>>3];e=e+1|0}c[g+24>>2]=0;return g|0}function jw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=0;while(1){d=a+-1|0;if((a|0)<=0)break;a=d;e=!(+h[c+(d<<3)>>3]-+h[b+(d<<3)>>3]<0.0)&1|e<<1}return e|0}function kw(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0.0;g=fw(a,b,d,e)|0;i=c[g+20>>2]|0;j=-d;e=0;b=f;while(1){if((e|0)>=(a|0))break;f=i+(e<<3)|0;h[f>>3]=((b&1|0)==0?j:d)+ +h[f>>3];e=e+1|0;b=(b|0)/2|0}return g|0}function lw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){b=c[a+16>>2]|0;l6(c[a+20>>2]|0);l6(c[a+32>>2]|0);l6(c[a+48>>2]|0);g=a+36|0;e=c[g>>2]|0;if(e|0){f=1<<b;d=0;b=e;while(1){if((d|0)>=(f|0))break;lw(c[b+(d<<2)>>2]|0);d=d+1|0;b=c[g>>2]|0}l6(b)}uy(c[a+40>>2]|0,106);l6(a)}return}function mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0;a:do if(!a)b=0;else{l=c[a+20>>2]|0;m=c[a+24>>2]|0;d=c[a+8>>2]|0;n=c[a>>2]|0;e=c[a+4>>2]|0;i=a+16|0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,76,95259);b=ow(e,n,d,c[i>>2]|0,1)|0;c[b+8>>2]=d;o=c[b+20>>2]|0;k=c[b+24>>2]|0;d=0;while(1){if((d|0)>(e|0)){d=0;break}c[o+(d<<2)>>2]=0;d=d+1|0}b:while(1){if((d|0)>=(n|0)){d=0;break}f=d+1|0;g=l+(f<<2)|0;d=c[l+(d<<2)>>2]|0;while(1){if((d|0)>=(c[g>>2]|0)){d=f;continue b}j=o+((c[m+(d<<2)>>2]|0)+1<<2)|0;c[j>>2]=(c[j>>2]|0)+1;d=d+1|0}}while(1){if((d|0)>=(e|0))break;j=d+1|0;g=o+(j<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[o+(d<<2)>>2]|0);d=j}d=a+28|0;f=b+28|0;c:do switch(c[i>>2]|0){case 1:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;d:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue d}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;q=+h[j+(d<<3)>>3];r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;c[r>>2]=p+1;h[g+(p<<3)>>3]=q;d=d+1|0}}}case 2:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;e:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue e}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;t=d<<1;r=o+(c[r>>2]<<2)|0;p=c[r>>2]|0;s=p<<1;h[g+(s<<3)>>3]=+h[j+(t<<3)>>3];h[g+((s|1)<<3)>>3]=+h[j+((t|1)<<3)>>3];c[r>>2]=p+1;d=d+1|0}}}case 4:{j=c[d>>2]|0;g=c[f>>2]|0;f=0;f:while(1){if((f|0)>=(n|0))break c;a=f+1|0;i=l+(a<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[i>>2]|0)){f=a;continue f}r=m+(d<<2)|0;c[k+(c[o+(c[r>>2]<<2)>>2]<<2)>>2]=f;s=c[j+(d<<2)>>2]|0;r=o+(c[r>>2]<<2)|0;t=c[r>>2]|0;c[r>>2]=t+1;c[g+(t<<2)>>2]=s;d=d+1|0}}}case 8:{f=0;g:while(1){if((f|0)>=(n|0))break c;g=f+1|0;a=l+(g<<2)|0;d=c[l+(f<<2)>>2]|0;while(1){if((d|0)>=(c[a>>2]|0)){f=g;continue g}s=o+(c[m+(d<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[k+(t<<2)>>2]=f;d=d+1|0}}}case 16:{nw(b);b=0;break a}default:{nw(b);b=0;break a}}while(0);while(1){d=e+-1|0;if((e|0)<=0)break;c[o+(e<<2)>>2]=c[o+(d<<2)>>2];e=d}c[o>>2]=0}while(0);return b|0}function nw(a){a=a|0;var b=0;if(a|0){b=c[a+20>>2]|0;if(b|0)l6(b);b=c[a+24>>2]|0;if(b|0)l6(b);l6(c[a+28>>2]|0);l6(a)}return}function ow(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a=qw(a,b,d,pw(d)|0,e)|0;if((c|0)>0)rw(a,c)|0;return a|0}function pw(a){a=a|0;switch(a|0){case 1:{a=8;break}case 2:{a=16;break}case 4:{a=4;break}case 8:{a=0;break}case 16:{a=0;break}default:a=0}return a|0}function qw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=IK(44)|0;c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=d;c[g+40>>2]=e;if((f|0)==2)a=0;else a=IK((a<<2)+4|0)|0;c[g+20>>2]=a;c[g+24>>2]=0;c[g+28>>2]=0;c[g+32>>2]=f;c[g+36>>2]=0;return g|0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=c[a+32>>2]|0;f=a+28|0;c[f>>2]=0;d=b<<2;e=IK(d)|0;if((h|0)!=2){c[a+24>>2]=e;d=c[a+40>>2]|0;if((b|0)!=0&(d|0)>0)g=4}else{c[a+20>>2]=e;c[a+24>>2]=IK(d)|0;d=c[a+40>>2]|0;g=4}if((g|0)==4)c[f>>2]=IK(S(d,b)|0)|0;c[a+12>>2]=b;return a|0}function sw(a,b){a=a|0;b=b|0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{a=vw(a,b)|0;nw(b);b=a+36|0;c[b>>2]=c[b>>2]|3;b=a}}else b=uw(a)|0;return b|0}\nfunction NM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0,P=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;F=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;C=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;D=c[((w|0)==2?j:k)+40>>2]|0;t=F+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;E=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[E>>2];c[A+4>>2]=c[E+4>>2];c[A+8>>2]=c[E+8>>2];c[A+12>>2]=c[E+12>>2];OM(r,z,A);c[F>>2]=c[r>>2];c[F+4>>2]=c[r+4>>2];c[F+8>>2]=c[r+8>>2];c[F+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=F+32|0;E=F+48|0;w=(c[D+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];OM(y,z,A);c[E>>2]=c[y>>2];c[E+4>>2]=c[y+4>>2];c[E+8>>2]=c[y+8>>2];c[E+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[195236]|0)==0){m=+h[F>>3];n=+h[E>>3];L=m-n;o=+h[F+8>>3];p=+h[F+56>>3];s=o-p;q=s*s;if(L*L+q<1.0e-06){c[t>>2]=c[F>>2];c[t+4>>2]=c[F+4>>2];c[t+8>>2]=c[F+8>>2];c[t+12>>2]=c[F+12>>2];c[r>>2]=c[E>>2];c[r+4>>2]=c[E+4>>2];c[r+8>>2]=c[E+8>>2];c[r+12>>2]=c[E+12>>2];y=F+24|0;x=F+40|0;n=0.0;m=0.0}else{M=n-m;L=+G(+(M*M+q));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((S(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=m+q;m=M*N/L;y=F+24|0;h[y>>3]=o+m;h[r>>3]=n+q;x=F+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=C+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(D|0)){c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];i=0;while(1){if((i|0)==4)break b;O=H+(i<<4)|0;P=F+(i<<4)|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];i=i+1|0}}else{c[I>>2]=c[E>>2];c[I+4>>2]=c[E+4>>2];c[I+8>>2]=c[E+8>>2];c[I+12>>2]=c[E+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(3-i<<4)|0;O=F+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[C>>2]=z;i=0;while(1){if((i|0)==4)break;P=z+(i<<4)|0;O=H+(i<<4)|0;c[P>>2]=c[O>>2];c[P+4>>2]=c[O+4>>2];c[P+8>>2]=c[O+8>>2];c[P+12>>2]=c[O+12>>2];i=i+1|0}c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];DY(A,B);bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else bO(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,w,z,A);h[t>>3]=m+ +h[t>>3];h[y>>3]=n+ +h[y>>3];h[r>>3]=m+ +h[r>>3];h[x>>3]=n+ +h[x>>3];j=j+1|0}}else{if((f|0)==4){PM(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];QM(F,A)}bO(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,F,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];wO(b,j,z,A)}while(0);l=K;return}function OM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function PM(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[23326]=(+h[b+16>>3]+ +h[b+32>>3])*.5;h[23327]=(+h[b+24>>3]+ +h[b+40>>3])*.5;c[a>>2]=c[46652];c[a+4>>2]=c[46653];c[a+8>>2]=c[46654];c[a+12>>2]=c[46655];return}function QM(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];d=+h[a+48>>3];i=(g+d)*.5;f=+h[a+8>>3];c=+h[a+56>>3];e=(f+c)*.5;g=d-g;f=c-f;f=+G(+(g*g+f*f))/5.0;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+G(+(g*g+c*c));if(!(d==0.0)){g=i-f*(g/d);i=e-f*(c/d);h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function RM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0.0,K=0.0,L=0.0;I=l;l=l+208|0;t=I+192|0;s=I+176|0;F=I+48|0;w=I+16|0;x=I;B=I+160|0;C=I+144|0;u=I+128|0;v=I+32|0;i=e&2130706432;D=(e&8|0)==0?((i|0)==0?4:i):8;if((D|0)==436207616)SM(a,b,d,f);else{H=HK((d<<6)+64|0)|0;E=d+-1|0;q=w+8|0;r=x+8|0;A=12.0;e=0;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];g=e+1|0;if((e|0)<(E|0)){p=b+(g<<4)|0;c[x>>2]=c[p>>2];c[x+4>>2]=c[p+4>>2];c[x+8>>2]=c[p+8>>2];c[x+12>>2]=c[p+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}y=+h[x>>3]-+h[w>>3];z=+h[r>>3]-+h[q>>3];z=+G(+(y*y+z*z))/3.0;A=A<z?A:z;e=g}n=(i|16777216|0)==83886080;o=(D|0)==4;j=(i|0)==16777216;i=0;e=0;while(1){g=H+(i<<4)|0;k=H+(i+1<<4)|0;p=H+(i+2<<4)|0;if((e|0)>=(d|0))break;m=b+(e<<4)|0;c[w>>2]=c[m>>2];c[w+4>>2]=c[m+4>>2];c[w+8>>2]=c[m+8>>2];c[w+12>>2]=c[m+12>>2];m=e+1|0;if((e|0)<(E|0)){e=b+(m<<4)|0;c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}z=+h[x>>3]-+h[w>>3];y=+h[r>>3]-+h[q>>3];y=A/+G(+(z*z+y*y));y=n?y/3.0:j?y*.5:y;z=y*.5;if(o){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(B,z,s,t);c[g>>2]=c[B>>2];c[g+4>>2]=c[B+4>>2];c[g+8>>2]=c[B+8>>2];c[g+12>>2]=c[B+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]};c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(C,y,s,t);c[k>>2]=c[C>>2];c[k+4>>2]=c[C+4>>2];c[k+8>>2]=c[C+8>>2];c[k+12>>2]=c[C+12>>2];e=i+3|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(u,1.0-y,s,t);c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];if(!o){i=e;e=m;continue}e=H+(e<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];TM(v,1.0-z,s,t);c[e>>2]=c[v>>2];c[e+4>>2]=c[v+4>>2];c[e+8>>2]=c[v+8>>2];c[e+12>>2]=c[v+12>>2];i=i+4|0;e=m}c[g>>2]=c[H>>2];c[g+4>>2]=c[H+4>>2];c[g+8>>2]=c[H+8>>2];c[g+12>>2]=c[H+12>>2];v=H+16|0;c[k>>2]=c[v>>2];c[k+4>>2]=c[v+4>>2];c[k+8>>2]=c[v+8>>2];c[k+12>>2]=c[v+12>>2];x=H+32|0;c[p>>2]=c[x>>2];c[p+4>>2]=c[x+4>>2];c[p+8>>2]=c[x+8>>2];c[p+12>>2]=c[x+12>>2];g=d+4|0;t=d+3|0;i=d<<4;u=d+1|0;j=g<<4;k=(d|0)==4;w=d+2|0;m=d+12|0;n=w<<4;o=d+5|0;p=u<<4;q=t<<4;r=m<<4;s=o<<4;e=D&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if(k){d=HK(192)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];p=d+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=H+48|0;L=+h[p>>3];t=H+64|0;L=L+(+h[t>>3]-L);o=d+32|0;h[o>>3]=L;q=H+56|0;z=+h[q>>3];r=H+72|0;z=z+(+h[r>>3]-z);C=d+40|0;h[C>>3]=z;A=L+(+h[p>>3]-+h[x>>3]);u=d+48|0;h[u>>3]=A;K=z+(+h[q>>3]-+h[H+40>>3]);x=d+56|0;h[x>>3]=K;y=A+(+h[t>>3]-+h[p>>3]);p=d+64|0;h[p>>3]=y;J=K+(+h[r>>3]-+h[q>>3]);q=d+72|0;h[q>>3]=J;r=d+80|0;h[r>>3]=y+(L-A);h[d+88>>3]=J+(z-K);t=H+96|0;K=+h[t>>3];v=H+80|0;K=K+(+h[v>>3]-K);E=d+144|0;h[E>>3]=K;w=H+104|0;z=+h[w>>3];s=H+88|0;z=z+(+h[s>>3]-z);h[d+152>>3]=z;J=K+(+h[t>>3]-+h[H+112>>3]);B=d+128|0;h[B>>3]=J;A=z+(+h[w>>3]-+h[H+120>>3]);D=d+136|0;h[D>>3]=A;L=J+(+h[v>>3]-+h[t>>3]);t=d+112|0;h[t>>3]=L;y=A+(+h[s>>3]-+h[w>>3]);w=d+120|0;h[w>>3]=y;s=d+96|0;h[s>>3]=L+(K-J);v=d+104|0;h[v>>3]=y+(z-A);n=d+160|0;m=b+32|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];n=d+176|0;b=b+48|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];lS(a,d,12,f);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];A=+h[o>>3];z=+h[u>>3];A=A-(z-A);u=F+16|0;h[u>>3]=A;y=+h[C>>3];J=+h[x>>3];y=y-(J-y);x=F+24|0;h[x>>3]=y;C=F+32|0;h[C>>3]=A+(+h[p>>3]-z);b=F+40|0;h[b>>3]=y+(+h[q>>3]-J);f=F+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];oS(a,F,4);c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];J=+h[s>>3];y=+h[t>>3];J=J-(y-J);h[u>>3]=J;z=+h[v>>3];A=+h[w>>3];z=z-(A-z);h[x>>3]=z;h[C>>3]=J+(+h[B>>3]-y);h[b>>3]=z+(+h[D>>3]-A);c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,4);l6(d);break}else Aa(105739,105750,737,105759)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}d=HK(s)|0;C=b+16|0;L=+h[C>>3];J=+h[b>>3]-L;J=J*.125+(L+J*.5);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;v=H+48|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*3.0*.5;h[d+8>>3]=L;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+16>>3]=K;h[d+24>>3]=L;h[d+32>>3]=K;A=+h[D>>3];h[d+40>>3]=A+(+h[E>>3]-A)*.5;K=K+(+h[x>>3]-+h[v>>3])*.5;h[d+48>>3]=K;A=+h[D>>3];h[d+56>>3]=A+(+h[E>>3]-A)*.5;h[d+64>>3]=K;K=+h[D>>3];K=K+(+h[E>>3]-K)*.5+(+h[w>>3]-+h[B>>3]);h[d+72>>3]=K;h[d+80>>3]=J;h[d+88>>3]=K;h[d+96>>3]=J;K=K-(+h[w>>3]-+h[B>>3])*.25;h[d+104>>3]=K;h[d+112>>3]=J+(+h[x>>3]-+h[v>>3]);h[d+120>>3]=K+(+h[w>>3]-+h[B>>3])*.5;h[d+128>>3]=+h[d>>3];h[d+136>>3]=L+(+h[w>>3]-+h[B>>3])*.25;lS(a,d,o,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 117440512:break;default:break a}d=HK(p)|0;h[d>>3]=+h[v>>3];E=H+56|0;F=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[F>>3])*.5;h[d+16>>3]=+h[H+48>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[F>>3])*.5;h[d+32>>3]=+h[b+32>>3];D=b+40|0;h[d+40>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+48>>3]=+h[v>>3];h[d+56>>3]=+h[D>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[b+8>>3];h[d+72>>3]=L-(L-+h[b+56>>3])*.5;h[d+64>>3]=+h[b>>3];lS(a,d,u,f);l6(d);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}d=HK(j)|0;C=b+16|0;A=+h[C>>3];B=H+48|0;A=A+(+h[b>>3]-A)*.5+(+h[x>>3]-+h[B>>3])*.25;h[d>>3]=A;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=A;v=H+56|0;w=H+72|0;J=L+(+h[v>>3]-+h[w>>3])*.5;h[d+24>>3]=J;A=A+(+h[x>>3]-+h[B>>3])*.5;h[d+32>>3]=A;h[d+40>>3]=J;h[d+48>>3]=A;A=J+(+h[v>>3]-+h[w>>3])*.5;h[d+56>>3]=A;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=A;h[d+80>>3]=K;h[d+88>>3]=J;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+96>>3]=K;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 150994944:break;default:break a}d=HK(n)|0;C=b+16|0;J=+h[C>>3];B=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[B>>3])*3.0*.25;h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;L=L+(+h[E>>3]-L)*.5;h[d+8>>3]=L;h[d+16>>3]=J;u=H+56|0;v=H+72|0;J=L+(+h[u>>3]-+h[v>>3])*.25;h[d+24>>3]=J;K=+h[C>>3];h[d+32>>3]=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[B>>3])*.25;K=J+(+h[u>>3]-+h[v>>3])*.5;h[d+40>>3]=K;A=+h[C>>3];h[d+48>>3]=A+(+h[b>>3]-A)*.5-(+h[x>>3]-+h[B>>3])*.25;h[d+56>>3]=K;K=+h[C>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3])*3.0*.25;h[d+64>>3]=K;h[d+72>>3]=J;h[d+80>>3]=K;h[d+88>>3]=L;lS(a,d,w,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}d=HK(p)|0;C=b+16|0;J=+h[C>>3];v=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[v>>3]);h[d>>3]=J;D=b+40|0;L=+h[D>>3];E=b+24|0;w=H+56|0;B=H+72|0;L=L+(+h[E>>3]-L)*.5+(+h[w>>3]-+h[B>>3])*.25;h[d+8>>3]=L;J=J-(+h[x>>3]-+h[v>>3]);h[d+16>>3]=J;h[d+24>>3]=L+(+h[w>>3]-+h[B>>3]);h[d+32>>3]=J;J=L+(+h[w>>3]-+h[B>>3])*.5;h[d+40>>3]=J;A=+h[C>>3];K=+h[b>>3]-A;K=A+K*.5-K*.25;h[d+48>>3]=K;h[d+56>>3]=J;h[d+64>>3]=K;h[d+72>>3]=L;lS(a,d,u,f);h[F>>3]=+h[C>>3];L=+h[D>>3];h[F+8>>3]=L+(+h[E>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 184549376:break;default:break a}d=HK(j)|0;B=b+16|0;J=+h[B>>3];K=+h[b>>3]-J;u=H+48|0;K=K*.125+(J+K*.5)+(+h[x>>3]-+h[u>>3])*.5;h[d>>3]=K;v=b+40|0;J=+h[v>>3];w=b+24|0;E=H+56|0;C=H+72|0;J=J+(+h[w>>3]-J)*.5+(+h[E>>3]-+h[C>>3])*.25;h[d+8>>3]=J;A=+h[B>>3];L=+h[b>>3]-A;L=A+L*.5-L*.125;h[d+16>>3]=L;h[d+24>>3]=J;h[d+32>>3]=L;J=J+(+h[E>>3]-+h[C>>3])*.5;h[d+40>>3]=J;L=L-(+h[x>>3]-+h[u>>3])*.5;h[d+48>>3]=L;h[d+56>>3]=J;D=d+64|0;h[D>>3]=L;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[E>>3]-+h[C>>3])*.25;h[d+72>>3]=L;J=K-(+h[x>>3]-+h[u>>3])*.5;h[d+80>>3]=J;h[d+88>>3]=L;h[d+96>>3]=J;L=L-(+h[E>>3]-+h[C>>3])*.5;h[d+104>>3]=L;x=d+112|0;h[x>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[D>>3];D=b+8|0;E=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);h[F>>3]=+h[x>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[b>>3];h[f>>3]=L+(+h[D>>3]-+h[E>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=IK((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;m=i+(j<<4)|0;if((e|0)>=(d|0))break;b=e<<2;E=H+(b<<4)|0;c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];E=H+((b|1)<<4)|0;c[m>>2]=c[E>>2];c[m+4>>2]=c[E+4>>2];c[m+8>>2]=c[E+8>>2];c[m+12>>2]=c[E+12>>2];F=i+(g+2<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+3<<4)|0;E=H+((b|2)<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+4<<4)|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];F=i+(g+5<<4)|0;b=H+((b|3)<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];nS(a,d,j,0,0,f&255);l6(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}lS(a,b,d,f);g=F+16|0;e=0;while(1){if((e|0)>=(d|0))break a;f=e*3|0;b=H+(f+2<<4)|0;c[F>>2]=c[b>>2];c[F+4>>2]=c[b+4>>2];c[F+8>>2]=c[b+8>>2];c[F+12>>2]=c[b+12>>2];f=H+(f+4<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];oS(a,F,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=HK(p)|0;e=1;while(1){if((e|0)>=(d|0))break;D=g+(e<<4)|0;C=b+(e<<4)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];e=e+1|0}b=E*3|0;E=H+(b+4<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];D=g+(d<<4)|0;d=H+(b+2<<4)|0;c[D>>2]=c[d>>2];c[D+4>>2]=c[d+4>>2];c[D+8>>2]=c[d+8>>2];c[D+12>>2]=c[d+12>>2];lS(a,g,u,f);l6(g);c[F>>2]=c[d>>2];c[F+4>>2]=c[d+4>>2];c[F+8>>2]=c[d+8>>2];c[F+12>>2]=c[d+12>>2];f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];b=b+3|0;d=F+32|0;h[d>>3]=+h[f>>3]+(+h[F>>3]-+h[H+(b<<4)>>3]);h[F+40>>3]=+h[F+24>>3]+(+h[F+8>>3]-+h[H+(b<<4)+8>>3]);oS(a,f,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=HK(n)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];i=g+16|0;c[i>>2]=c[x>>2];c[i+4>>2]=c[x+4>>2];c[i+8>>2]=c[x+8>>2];c[i+12>>2]=c[x+12>>2];i=H+48|0;E=H+64|0;h[g+32>>3]=+h[x>>3]+(+h[i>>3]-+h[E>>3])/3.0;d=H+56|0;e=H+72|0;h[g+40>>3]=+h[H+40>>3]+(+h[d>>3]-+h[e>>3])/3.0;L=+h[i>>3];h[g+48>>3]=L+(L-+h[E>>3])/3.0;L=+h[d>>3];h[g+56>>3]=L+(L-+h[e>>3])/3.0;e=4;while(1){if((e|0)>=(w|0))break;d=g+(e<<4)|0;E=b+(e+-2<<4)|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];e=e+1|0}lS(a,g,w,f);l6(g);c[F>>2]=c[i>>2];c[F+4>>2]=c[i+4>>2];c[F+8>>2]=c[i+8>>2];c[F+12>>2]=c[i+12>>2];f=F+16|0;c[f>>2]=c[x>>2];c[f+4>>2]=c[x+4>>2];c[f+8>>2]=c[x+8>>2];c[f+12>>2]=c[x+12>>2];oS(a,F,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if(k){D=HK(n)|0;c[D>>2]=c[b>>2];c[D+4>>2]=c[b+4>>2];c[D+8>>2]=c[b+8>>2];c[D+12>>2]=c[b+12>>2];d=D+16|0;c[d>>2]=c[x>>2];c[d+4>>2]=c[x+4>>2];c[d+8>>2]=c[x+8>>2];c[d+12>>2]=c[x+12>>2];d=D+32|0;E=H+64|0;c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=D+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=D+64|0;d=H+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=D+80|0;C=H+160|0;c[b>>2]=c[C>>2];c[b+4>>2]=c[C+4>>2];c[b+8>>2]=c[C+8>>2];c[b+12>>2]=c[C+12>>2];lS(a,D,w,f);l6(D);h[F>>3]=+h[v>>3]+(+h[H+176>>3]-+h[H>>3]);h[F+8>>3]=+h[H+24>>3]+(+h[H+184>>3]-+h[H+8>>3]);f=F+16|0;c[f>>2]=c[E>>2];c[f+4>>2]=c[E+4>>2];c[f+8>>2]=c[E+8>>2];c[f+12>>2]=c[E+12>>2];oS(a,F,2);c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];oS(a,F,2);c[f>>2]=c[H>>2];c[f+4>>2]=c[H+4>>2];c[f+8>>2]=c[H+8>>2];c[f+12>>2]=c[H+12>>2];oS(a,F,2);break}else Aa(105739,105750,714,105759)}switch(e|0){case 50331648:break;default:break a}g=HK(q)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];L=+h[b>>3];h[g+16>>3]=L-(L-+h[v>>3])*.25;e=H+56|0;L=+h[b+8>>3]+(+h[e>>3]-+h[H+72>>3])/3.0;h[g+24>>3]=L;K=+h[b>>3];h[g+32>>3]=K-(K-+h[v>>3])*2.0;h[g+40>>3]=L;L=+h[b>>3];h[g+48>>3]=L-(L-+h[v>>3])*2.25;h[g+56>>3]=+h[e>>3];h[g+64>>3]=+h[H+48>>3];h[g+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(t|0))break;d=g+(e<<4)|0;F=b+(e+-3<<4)|0;c[d>>2]=c[F>>2];c[d+4>>2]=c[F+4>>2];c[d+8>>2]=c[F+8>>2];c[d+12>>2]=c[F+12>>2];e=e+1|0}lS(a,g,t,f);l6(g);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];h[E>>3]=L;C=b+40|0;K=+h[C>>3];D=b+24|0;B=H+48|0;v=H+56|0;w=H+72|0;K=K+(+h[D>>3]-K)*.5+(+h[v>>3]-+h[w>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3]+(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[C>>3];L=L+(+h[D>>3]-L)*.5-(+h[v>>3]-+h[w>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[v>>3]-+h[w>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[F+16>>3]=+h[b>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}E=HK(i)|0;L=+h[b>>3];h[E>>3]=L;B=b+40|0;K=+h[B>>3];C=b+24|0;w=H+56|0;D=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[w>>3]-+h[D>>3])*.125;h[E+8>>3]=K;h[E+16>>3]=L;J=K+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;L=L-(+h[w>>3]-+h[D>>3])*2.0;h[E+32>>3]=L;h[E+40>>3]=J;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[b>>3]-(+h[x>>3]-+h[H+48>>3]);h[E>>3]=K;L=+h[B>>3];L=L+(+h[C>>3]-L)*.5-(+h[w>>3]-+h[D>>3])*5.0*.125;h[E+8>>3]=L;h[E+16>>3]=K;J=L+(+h[w>>3]-+h[D>>3])*.5;h[E+24>>3]=J;K=K-(+h[w>>3]-+h[D>>3]);h[E+32>>3]=K;h[E+40>>3]=J;D=E+48|0;h[D>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[b+16>>3];L=+h[B>>3];h[F+8>>3]=L+(+h[C>>3]-L)*.5;h[F+16>>3]=+h[D>>3];h[F+24>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 234881024:break;default:break a}E=HK(i)|0;t=b+16|0;K=+h[t>>3];u=H+48|0;K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=K;v=b+40|0;L=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;L=L+(+h[w>>3]-L)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[t>>3];K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[u>>3]);h[E+16>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);l6(E);E=HK(i)|0;L=+h[t>>3];L=L+(+h[b>>3]-L)*.5+(+h[x>>3]-+h[u>>3])*.125;h[E>>3]=L;K=+h[v>>3];K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[u>>3]);B=E+16|0;h[B>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);h[F>>3]=+h[B>>3];K=+h[v>>3];B=F+8|0;h[B>>3]=K+(+h[w>>3]-K)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=K+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[t>>3];h[F>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[u>>3])*9.0*.125;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=K;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}E=HK(i)|0;u=b+16|0;L=+h[u>>3];B=H+48|0;L=L+(+h[b>>3]-L)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=L;v=b+40|0;K=+h[v>>3];w=b+24|0;D=H+56|0;C=H+72|0;K=K+(+h[w>>3]-K)*.5+(+h[D>>3]-+h[C>>3])*.125;h[E+8>>3]=K;J=L+(+h[x>>3]-+h[B>>3])*2.0;h[E+16>>3]=J;h[E+24>>3]=K;h[E+32>>3]=J;K=K+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=K;h[E+48>>3]=L;h[E+56>>3]=K;lS(a,E,d,f);l6(E);E=HK(i)|0;K=+h[u>>3];K=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[B>>3]);h[E>>3]=K;L=+h[v>>3];L=L+(+h[w>>3]-L)*.5-(+h[D>>3]-+h[C>>3])*5.0*.125;h[E+8>>3]=L;J=K+(+h[x>>3]-+h[B>>3])*2.0;B=E+16|0;h[B>>3]=J;h[E+24>>3]=L;h[E+32>>3]=J;L=L+(+h[D>>3]-+h[C>>3])*.5;h[E+40>>3]=L;h[E+48>>3]=K;h[E+56>>3]=L;lS(a,E,d,f);h[F>>3]=+h[B>>3];L=+h[v>>3];B=F+8|0;h[B>>3]=L+(+h[w>>3]-L)*.5;C=F+16|0;h[C>>3]=+h[b>>3];D=b+8|0;d=b+56|0;f=F+24|0;h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);h[F>>3]=+h[u>>3];L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[C>>3]=+h[E>>3];h[f>>3]=L+(+h[D>>3]-+h[d>>3])*.5;oS(a,F,2);l6(E);break}else{switch(e|0){case 268435456:break;default:break a}E=HK(i)|0;h[E>>3]=+h[b>>3];u=H+48|0;B=H+56|0;C=H+72|0;h[E+8>>3]=+h[H+24>>3]-(+h[B>>3]-+h[C>>3])*.5;h[E+16>>3]=+h[u>>3];L=+h[B>>3];h[E+24>>3]=L-(L-+h[C>>3])*.5;h[E+32>>3]=+h[b+32>>3];w=b+40|0;h[E+40>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;h[E+48>>3]=+h[b>>3];h[E+56>>3]=+h[w>>3]+(+h[B>>3]-+h[C>>3])*.5;lS(a,E,d,f);v=b+16|0;L=(+h[x>>3]-+h[u>>3])*.25;K=+h[v>>3]+L;h[F>>3]=K;A=+h[w>>3];t=b+24|0;J=+h[B>>3]-+h[C>>3];A=A+(+h[t>>3]-A)*.5+J*.125;D=F+8|0;h[D>>3]=A;d=F+16|0;h[d>>3]=K+L;f=F+24|0;h[f>>3]=A-J*.25;oS(a,F,2);J=(+h[x>>3]-+h[u>>3])*.25;A=+h[v>>3]+J;h[F>>3]=A;L=+h[w>>3];K=+h[B>>3]-+h[C>>3];L=L+(+h[t>>3]-L)*.5-K*.125;h[D>>3]=L;h[d>>3]=A+J;h[f>>3]=L+K*.25;oS(a,F,2);K=(+h[x>>3]-+h[u>>3])*.25;h[F>>3]=+h[v>>3]+K;L=+h[w>>3]+(+h[B>>3]-+h[C>>3])*3.0*.25;h[D>>3]=L;h[d>>3]=+h[b>>3]-K;h[f>>3]=L;oS(a,F,2);l6(E);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}B=HK(i)|0;u=b+16|0;z=+h[u>>3];C=H+48|0;z=z+(+h[b>>3]-z)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B>>3]=z;v=b+40|0;A=+h[v>>3];w=b+24|0;A=A+(+h[w>>3]-A)*.5+(+h[x>>3]-+h[C>>3])*.5;h[B+8>>3]=A;h[B+16>>3]=z;z=+h[v>>3];L=(+h[x>>3]-+h[C>>3])*.5;z=z+(+h[w>>3]-z)*.5-L;h[B+24>>3]=z;J=+h[u>>3];L=J+(+h[b>>3]-J)*.5-L;h[B+32>>3]=L;h[B+40>>3]=z;h[B+48>>3]=L;h[B+56>>3]=A;lS(a,B,d,f);l6(B);A=+h[u>>3];A=A+(+h[b>>3]-A)*.5;L=(+h[x>>3]-+h[C>>3])*3.0*.25;z=A+L;h[F>>3]=z;J=+h[v>>3];J=J+(+h[w>>3]-J)*.5;K=J+L;B=F+8|0;h[B>>3]=K;D=F+16|0;h[D>>3]=z;J=J-L;f=F+24|0;h[f>>3]=J;L=A-L;h[F+32>>3]=L;h[F+40>>3]=J;h[F+48>>3]=L;h[F+56>>3]=K;E=F+64|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];oS(a,F,5);K=+h[u>>3];L=+h[b>>3];h[F>>3]=K+(L-K)*.5+(+h[x>>3]-+h[C>>3])*3.0*.25;K=+h[v>>3];h[B>>3]=K+(+h[w>>3]-K)*.5;h[D>>3]=L;E=b+8|0;d=b+56|0;h[f>>3]=K+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);K=+h[u>>3];h[F>>3]=K;L=+h[v>>3];h[B>>3]=L+(+h[w>>3]-L)*.5;h[D>>3]=K+(+h[b>>3]-K)*.5-(+h[x>>3]-+h[C>>3])*3.0*.25;h[f>>3]=L+(+h[E>>3]-+h[d>>3])*.5;oS(a,F,2);break}else{switch(e|0){case 301989888:break;default:break a}d=HK(r)|0;w=b+16|0;y=+h[w>>3];s=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[s>>3])*.25;h[d>>3]=y;B=b+40|0;A=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;A=A+(+h[C>>3]-A)*.5+(+h[u>>3]-+h[v>>3])*.5;t=d+8|0;h[t>>3]=A;h[d+16>>3]=y;A=A+(+h[u>>3]-+h[v>>3])*.125;E=d+24|0;h[E>>3]=A;J=y-(+h[x>>3]-+h[s>>3])*.125;D=d+32|0;h[D>>3]=J;z=A+(+h[u>>3]-+h[v>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;L=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=L;h[d+64>>3]=y;y=L+(+h[u>>3]-+h[v>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=J;h[d+88>>3]=y;J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[d+96>>3]=J;h[d+104>>3]=L;K=J-(+h[x>>3]-+h[s>>3])*.125;h[d+112>>3]=K;h[d+120>>3]=y;K=K-(+h[x>>3]-+h[s>>3])*.125;h[d+128>>3]=K;h[d+136>>3]=y;h[d+144>>3]=K;h[d+152>>3]=L;L=K+(+h[x>>3]-+h[s>>3])*.125;h[d+160>>3]=L;h[d+168>>3]=z;h[d+176>>3]=K;h[d+184>>3]=A;h[d+192>>3]=K;K=+h[t>>3];h[d+200>>3]=K;h[d+208>>3]=L;h[d+216>>3]=K;x=d+224|0;h[x>>3]=J;h[d+232>>3]=+h[E>>3];h[d+240>>3]=+h[D>>3];h[d+248>>3]=K;lS(a,d,m,f);K=+h[x>>3];h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[x>>3];h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}d=HK(j)|0;w=b+16|0;J=+h[w>>3];D=H+48|0;J=J+(+h[b>>3]-J)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=J;B=b+40|0;K=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;K=K+(+h[C>>3]-K)*.5+(+h[u>>3]-+h[v>>3])*.5;h[d+8>>3]=K;z=J+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;L=K+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=L;h[d+32>>3]=z;z=L+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=J;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;J=J-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=J;h[d+72>>3]=A;A=J-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=L;h[d+112>>3]=J;h[d+120>>3]=K;lS(a,d,g,f);K=+h[w>>3];K=K+(+h[b>>3]-K)*.5;h[F>>3]=K;J=+h[B>>3];J=J+(+h[C>>3]-J)*.5;D=F+8|0;h[D>>3]=J;E=F+16|0;h[E>>3]=K;f=F+24|0;h[f>>3]=J+(+h[u>>3]-+h[v>>3])*.125;oS(a,F,2);J=+h[w>>3];J=J+(+h[b>>3]-J)*.5;h[F>>3]=J;K=+h[B>>3];L=+h[u>>3]-+h[v>>3];K=K+(+h[C>>3]-K)*.5+L*.25;h[D>>3]=K;h[E>>3]=J;h[f>>3]=K+L*.125;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}d=HK(r)|0;B=b+16|0;y=+h[B>>3];u=H+48|0;y=y+(+h[b>>3]-y)*.5+(+h[x>>3]-+h[u>>3])*.25;h[d>>3]=y;C=b+40|0;A=+h[C>>3];D=b+24|0;s=H+56|0;t=H+72|0;A=A+(+h[D>>3]-A)*.5+(+h[s>>3]-+h[t>>3])*.5;E=d+8|0;h[E>>3]=A;h[d+16>>3]=y;A=A+(+h[s>>3]-+h[t>>3])*.125;v=d+24|0;h[v>>3]=A;K=y-(+h[x>>3]-+h[u>>3])*.125;w=d+32|0;h[w>>3]=K;z=A+(+h[s>>3]-+h[t>>3])*.125;h[d+40>>3]=z;h[d+48>>3]=y;J=z+(+h[s>>3]-+h[t>>3])*.125;h[d+56>>3]=J;h[d+64>>3]=y;y=J+(+h[s>>3]-+h[t>>3])*.125;h[d+72>>3]=y;h[d+80>>3]=K;h[d+88>>3]=y;K=+h[B>>3];K=K+(+h[b>>3]-K)*.5;h[d+96>>3]=K;h[d+104>>3]=J;L=K-(+h[x>>3]-+h[u>>3])*.125;h[d+112>>3]=L;h[d+120>>3]=y;L=L-(+h[x>>3]-+h[u>>3])*.125;h[d+128>>3]=L;h[d+136>>3]=y;h[d+144>>3]=L;h[d+152>>3]=J;J=L+(+h[x>>3]-+h[u>>3])*.125;h[d+160>>3]=J;h[d+168>>3]=z;h[d+176>>3]=L;h[d+184>>3]=A;h[d+192>>3]=L;L=+h[E>>3];h[d+200>>3]=L;h[d+208>>3]=J;h[d+216>>3]=L;E=d+224|0;h[E>>3]=K;h[d+232>>3]=+h[v>>3];h[d+240>>3]=+h[w>>3];h[d+248>>3]=L;lS(a,d,m,f);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];E=F+16|0;h[E>>3]=+h[F>>3];L=+h[C>>3];f=F+24|0;h[f>>3]=L+(+h[D>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[B>>3];L=+h[C>>3];h[F+8>>3]=L+(+h[D>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}else{switch(e|0){case 352321536:break;default:break a}d=HK(j)|0;w=b+16|0;K=+h[w>>3];D=H+48|0;K=K+(+h[b>>3]-K)*.5+(+h[x>>3]-+h[D>>3])*.125;h[d>>3]=K;B=b+40|0;L=+h[B>>3];C=b+24|0;u=H+56|0;v=H+72|0;L=L+(+h[C>>3]-L)*.5+(+h[u>>3]-+h[v>>3])*.5;E=d+8|0;h[E>>3]=L;z=K+(+h[x>>3]-+h[D>>3])*.125;h[d+16>>3]=z;J=L+(+h[u>>3]-+h[v>>3])*.125;h[d+24>>3]=J;h[d+32>>3]=z;z=J+(+h[u>>3]-+h[v>>3])*.25;h[d+40>>3]=z;h[d+48>>3]=K;A=z+(+h[u>>3]-+h[v>>3])*.125;h[d+56>>3]=A;K=K-(+h[x>>3]-+h[D>>3])*.25;h[d+64>>3]=K;h[d+72>>3]=A;A=K-(+h[x>>3]-+h[D>>3])*.125;h[d+80>>3]=A;h[d+88>>3]=z;h[d+96>>3]=A;h[d+104>>3]=J;h[d+112>>3]=K;h[d+120>>3]=L;lS(a,d,g,f);L=+h[w>>3];L=L+(+h[b>>3]-L)*.5;h[F>>3]=L;D=F+8|0;h[D>>3]=+h[E>>3];E=F+16|0;h[E>>3]=L;L=+h[B>>3];f=F+24|0;h[f>>3]=L+(+h[C>>3]-L)*.5;oS(a,F,2);h[F>>3]=+h[w>>3];L=+h[B>>3];h[D>>3]=L+(+h[C>>3]-L)*.5;h[E>>3]=+h[b>>3];h[f>>3]=L+(+h[b+8>>3]-+h[b+56>>3])*.5;oS(a,F,2);l6(d);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=HK(s)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3];L=+h[x>>3];h[d+48>>3]=L+(L-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3];L=+h[x>>3];h[d+64>>3]=L+(L-+h[F>>3])*.5;h[d+72>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+80>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+104>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+120>>3]=L-(L-+h[D>>3])*.5;h[d+112>>3]=+h[b>>3];h[d+136>>3]=+h[E>>3];h[d+128>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,o,f);l6(d);break}else{switch(e|0){case 385875968:break;default:break a}d=HK(q)|0;F=H+48|0;h[d>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;E=H+56|0;D=H+72|0;h[d+8>>3]=+h[H+24>>3]-(+h[E>>3]-+h[D>>3])*.5;h[d+16>>3]=+h[F>>3];L=+h[E>>3];h[d+24>>3]=L-(L-+h[D>>3])*.5;h[d+32>>3]=+h[b+32>>3];C=b+40|0;h[d+40>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+48>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;h[d+56>>3]=+h[C>>3]+(+h[E>>3]-+h[D>>3])*.5;h[d+64>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;D=b+56|0;h[d+72>>3]=+h[D>>3];E=b+8|0;L=+h[E>>3];h[d+88>>3]=L-(L-+h[D>>3])*.5;h[d+80>>3]=+h[b>>3];h[d+104>>3]=+h[E>>3];h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[F>>3])*.5;lS(a,d,t,f);l6(d);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=HK(q)|0;h[d>>3]=+h[b>>3];C=b+8|0;D=H+48|0;E=H+56|0;F=H+72|0;h[d+8>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[D>>3])*.5;h[d+24>>3]=+h[C>>3]-(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[D>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];C=b+40|0;h[d+56>>3]=L-(L-+h[C>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[D>>3])*.5;h[d+72>>3]=+h[C>>3];h[d+88>>3]=+h[C>>3]+(+h[E>>3]-+h[F>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[D>>3])*.5;h[d+104>>3]=+h[b+56>>3]+(+h[E>>3]-+h[F>>3])*.5;h[d+96>>3]=+h[b>>3];lS(a,d,t,f);l6(d);break}else{switch(e|0){case 419430400:break;default:break a}d=HK(s)|0;h[d>>3]=+h[b>>3];F=b+8|0;E=H+48|0;C=H+56|0;D=H+72|0;h[d+8>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+16>>3]=L+(L-+h[E>>3])*.5;h[d+24>>3]=+h[F>>3]-(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+32>>3]=L+(L-+h[E>>3])*.5;h[d+40>>3]=+h[H+40>>3];h[d+48>>3]=+h[b+16>>3];L=+h[b+24>>3];F=b+40|0;h[d+56>>3]=L-(L-+h[F>>3])*.5;L=+h[x>>3];h[d+64>>3]=L+(L-+h[E>>3])*.5;h[d+72>>3]=+h[F>>3];h[d+88>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;L=+h[x>>3];h[d+80>>3]=L+(L-+h[E>>3])*.5;F=b+56|0;h[d+104>>3]=+h[F>>3]+(+h[C>>3]-+h[D>>3])*.5;h[d+96>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+112>>3]=+h[v>>3]-(+h[x>>3]-+h[E>>3])*.5;h[d+120>>3]=+h[F>>3];h[d+128>>3]=+h[b+48>>3];h[d+136>>3]=+h[F>>3];lS(a,d,o,f);l6(d);break}}while(0);l6(H)}l=I;return}function SM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3];k=k+k;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];nS(a,b,d,0,0,e&255);nS(a,g,7,0,0,0);l=f;return}function TM(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=e+(+h[d+8>>3]-e)*b;h[a>>3]=f+(+h[d>>3]-f)*b;h[a+8>>3]=e;return}function UM(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=91)if((a|0)==94)a=2;else return ((a|0)==93?3:(a|0)==96?4:0)|0;else a=1}else a=0;return a|0}function VM(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0,B=0,C=0,D=0,E=0,H=0,K=0,L=0,M=0,N=0,P=0,Q=0.0,R=0.0,T=0,U=0,V=0.0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0.0;ca=l;l=l+144|0;K=ca+112|0;N=ca+104|0;D=ca+96|0;E=ca+88|0;j=ca+80|0;$=ca+64|0;aa=ca+48|0;T=ca+40|0;U=ca+32|0;o=ca+24|0;x=ca+16|0;B=ca+136|0;A=ca+128|0;L=ca;ba=HK(48)|0;Z=b+16|0;P=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;i=(P|0)==1664;_=c[P>>2]|0;e=c[P+4>>2]|0;g=c[P+8>>2]|0;f=+h[P+16>>3];k=+h[P+32>>3];m=+h[P+24>>3];_=(bP(NA(b,105812)|0)|0)&255|_;P=(_|0)!=0;do if(!i){if(!P){Y=c[Z>>2]|0;d=+h[Y+32>>3]*72.0;r=+h[Y+40>>3]*72.0;r=+(~~(r+(r>=0.0?.5:-.5))|0);d=+(~~(d+(d>=0.0?.5:-.5))|0);break}d=+dN(b);if(d>0.0)r=d;else{Y=c[Z>>2]|0;r=+h[Y+32>>3];d=+h[Y+40>>3];d=(r<d?r:d)*72.0;d=+(~~(d+(d>=0.0?.5:-.5))|0);r=d}}else{r=0.0;d=0.0}while(0);Y=XO(b,c[47222]|0,e,0)|0;X=f+ +YO(b,c[47224]|0,0.0,-360.0);if(!g){W=+YO(b,c[47225]|0,0.0,-100.0);H=XO(b,c[47221]|0,4,0)|0;V=+YO(b,c[47226]|0,0.0,-100.0)}else{H=g;W=k;V=m}e=c[(c[Z>>2]|0)+104>>2]|0;C=e+24|0;c[$>>2]=c[C>>2];c[$+4>>2]=c[C+4>>2];c[$+8>>2]=c[C+8>>2];c[$+12>>2]=c[C+12>>2];n=+h[$>>3];C=$+8|0;if(n>0.0)if(i)k=n;else M=11;else if(i|!(+h[C>>3]>0.0))k=n;else M=11;if((M|0)==11){e=NA(b,105797)|0;f=n+16.0;do if(e){h[x>>3]=0.0;h[o>>3]=0.0;c[j>>2]=o;c[j+4>>2]=x;e=q4(e,105804,j)|0;k=+h[o>>3];if(k<0.0){h[o>>3]=0.0;k=0.0}m=+h[x>>3];if(m<0.0){h[x>>3]=0.0;m=0.0}if((e|0)<=0){h[$>>3]=f;k=8.0;break}k=k*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0);f=n+k;h[$>>3]=f;if((e|0)!=1){k=m*72.0;k=+(~~(k+(k>=0.0?.5:-.5))<<1|0)}}else{h[$>>3]=f;k=8.0}while(0);h[C>>3]=k+ +h[C>>3];e=c[(c[Z>>2]|0)+104>>2]|0;k=f}q=k-+h[e+24>>3];f=+h[c[(c[(uC(b)|0)+16>>2]|0)+8>>2]>>3];if(f>0.0){Q=f*72.0;Q=+(~~(Q+(Q>=0.0?.5:-.5))|0);R=+eN(k,Q);h[$>>3]=R;h[C>>3]=+eN(+h[C>>3],Q)}else R=k;e=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[e+12>>0]|0)){g=NA(b,109326)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){PF(A,uC(b)|0,g);e=c[A>>2]|0;i=c[A+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[D>>2]=g;c[D+4>>2]=e;dA(0,105888,D)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}else{e=c[e>>2]|0;if((a[e>>0]|0)==99?(f2(e,105820)|0)==0:0){g=NA(b,105827)|0;PF(B,uC(b)|0,g);e=c[B>>2]|0;i=c[B+4>>2]|0;if((i&e|0)==-1){e=HB(b)|0;c[E>>2]=g|0?g:105837;c[E+4>>2]=e;dA(0,105843,E)|0;g=0;e=0;break}else{a[(c[(uC(b)|0)+16>>2]|0)+114>>0]=1;g=e+2|0;e=i+2|0;break}}else{g=0;e=0}}while(0);Q=+(g|0);h[aa>>3]=R>Q?R:Q;Q=+h[C>>3];p=+(e|0);A=aa+8|0;h[A>>3]=Q>p?Q:p;e=(H|0)<3&(V!=0.0|W!=0.0)?120:H;g=NA(b,105929)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4)if((V==0.0?((~~(X+(X>=0.0?.5:-.5))|0)%90|0|0)==0:0)&W==0.0){n=4.0;o=1}else{n=4.0;M=40}else{n=+(e|0);M=40}do if((M|0)==40){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){o=c[g>>2]|0;c[K>>2]=c[aa>>2];c[K+4>>2]=c[aa+4>>2];c[K+8>>2]=c[aa+8>>2];c[K+12>>2]=c[aa+12>>2];lb[o&63](L,K);c[aa>>2]=c[L>>2];c[aa+4>>2]=c[L+4>>2];c[aa+8>>2]=c[L+8>>2];c[aa+12>>2]=c[L+12>>2];o=0;break}f=+h[A>>3];k=f*1.4142135623730951;if(r>k&i<<24>>24==99){m=f/r;m=+G(+(1.0/(1.0-m*m)));m=m*+h[aa>>3];h[aa>>3]=m}else{m=+h[aa>>3]*1.4142135623730951;h[aa>>3]=m;h[A>>3]=k;f=k}if((e|0)>2){z=+I(+(3.141592653589793/n));h[aa>>3]=m/z;h[A>>3]=f/z;o=0}else o=0}while(0);k=+h[A>>3];g=_O(b,c[47227]|0,137609)|0;x=ba+40|0;if((a[g>>0]|0)==115?(f2(g,108531)|0)==0:0){h[aa>>3]=d;h[A>>3]=r;c[x>>2]=c[x>>2]|2048;f=r}else{if(!((bP(g)|0)<<24>>24)){f=+h[aa>>3];d=d>f?d:f;h[aa>>3]=d;f=+h[A>>3];f=r>f?r:f}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(d<+h[M+24>>3])?!(r<+h[M+32>>3]):0)){L=HB(b)|0;M=HB(uC(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;dA(0,105938,N)|0}h[aa>>3]=d;f=r}h[A>>3]=f}if(P){y=d>f?d:f;h[A>>3]=y;h[aa>>3]=y;z=y}else{z=f;y=d}d=R-q;do if(!((bP(_O(b,c[47218]|0,137609)|0)|0)<<24>>24)){if(o){d=+h[(R>+h[aa>>3]?$:aa)>>3]-q;break}f=+h[A>>3];if(Q<f){d=+h[aa>>3]*+G(+(1.0-Q*Q/(f*f)));d=(R>d?R:d)-q}}while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=d;if(!(c[x>>2]&2048)){w=+h[A>>3]-k;h[g+48>>3]=Q+(Q<p?p-Q+w:w)}j=(Y|0)>1;g=j?Y:1;a:do if((e|0)<3){g=HK(g<<5)|0;f=+h[aa>>3]*.5;d=+h[A>>3]*.5;h[g>>3]=-f;h[g+8>>3]=-d;h[g+16>>3]=f;h[g+24>>3]=d;if(j){e=1;i=2;while(1){if((e|0)==(Y|0))break;y=f+4.0;z=d+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;U=i|1;h[g+(U<<4)>>3]=y;h[g+(U<<4)+8>>3]=z;e=e+1|0;i=i+2|0;f=y;d=z}h[aa>>3]=f*2.0;h[A>>3]=d*2.0;e=2}else e=2}else{g=HK(S(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){p=6.283185307179586/n;s=p*.5;q=+J(+s);r=+c2(+F(+V)+ +F(+W),1.0);s=V*1.4142135623730951/+I(+s);t=W*.5;k=(p+-3.141592653589793)*.5;X3(k,T,U);u=X/180.0*3.141592653589793;f=0.0;d=0.0;k=k+(3.141592653589793-p)*.5;i=0;m=+h[U>>3]*.5;n=+h[T>>3]*.5;while(1){if((i|0)>=(e|0))break b;k=p+k;X3(k,T,U);m=m+q*+h[U>>3];n=n+q*+h[T>>3];w=t*n+m*(r+s*n);X3(u+ +O(+n,+w),T,U);w=+c2(w,n);v=w*+h[U>>3]*+h[aa>>3];w=w*+h[T>>3]*+h[A>>3];da=+F(+v);d=da>d?da:d;da=+F(+w);f=da>f?da:f;h[g+(i<<4)>>3]=v;h[g+(i<<4)+8>>3]=w;if(o)break;else i=i+1|0}da=-v;h[g+16>>3]=da;h[g+24>>3]=w;h[g+32>>3]=da;da=-w;h[g+40>>3]=da;h[g+48>>3]=v;h[g+56>>3]=da}else{lb[c[i+4>>2]&63](g,aa);f=+h[A>>3]*.5;d=+h[aa>>3]*.5}while(0);d=d*2.0;f=f*2.0;y=y>d?y:d;h[aa>>3]=y;da=z>f?z:f;h[A>>3]=da;d=y/d;f=da/f;i=0;while(1){if((i|0)>=(e|0))break;P=g+(i<<4)|0;b=g+(i<<4)+8|0;da=f*+h[b>>3];h[P>>3]=d*+h[P>>3];h[b>>3]=da;i=i+1|0}if(j){j=e+-1|0;f=+h[g>>3];k=+h[g+8>>3];d=+O(+(k-+h[g+(j<<4)+8>>3]),+(f-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;o=j+1|0;i=(o|0)%(e|0)|0;m=+h[g+(i<<4)>>3];n=+h[g+(i<<4)+8>>3];p=+O(+(n-k),+(m-f));z=(d+3.141592653589793-p)*.5;da=4.0/+J(+z);X3(d-z,T,U);h[T>>3]=da*+h[T>>3];h[U>>3]=da*+h[U>>3];i=1;d=k;while(1){if((i|0)==(Y|0)){d=p;j=o;f=m;k=n;continue c}z=f+ +h[U>>3];da=d+ +h[T>>3];b=(S(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=da;i=i+1|0;f=z;d=da}}j=S(e,Y+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;U=i+j|0;z=+h[g+(U<<4)+8>>3];y=+F(+(+h[g+(U<<4)>>3]))*2.0;da=+h[aa>>3];h[aa>>3]=y>da?y:da;z=+F(+z)*2.0;da=+h[A>>3];h[A>>3]=z>da?z:da;i=i+1|0}}}while(0);c[ba>>2]=_;c[ba+4>>2]=Y;c[ba+8>>2]=e;h[ba+16>>3]=X;h[ba+32>>3]=W;h[ba+24>>3]=V;c[ba+44>>2]=g;g=c[Z>>2]|0;f=+h[aa>>3];d=+h[A>>3];e=g+32|0;if(!(c[x>>2]&2048))h[e>>3]=f/72.0;else{h[e>>3]=+h[(R>f?$:aa)>>3]/72.0;d=+h[(Q>d?$:aa)+8>>3]}h[g+40>>3]=d/72.0;c[g+12>>2]=ba;l=ca;return}function WM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[47352]=f;f=D3(f)|0;f=HK(((f|0)>1?f:1)+1|0)|0;b=YM(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];dA(1,105773,e)|0;c[47352]=105794;b=YM(a,d,1,f)|0}l6(f);ZM(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((bP(_O(a,c[47227]|0,137609)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(bP(_O(a,c[47218]|0,137609)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];_M(b,j,a);$M(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];aN(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]/72.0;h[n+40>>3]=(+h[d>>3]+1.0)/72.0;c[n+12>>2]=b;l=o;return}function XM(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=HK(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;b=+YO(a,c[47200]|0,1797693134862315708145274.0e284,0.0);f=+YO(a,c[47199]|0,1797693134862315708145274.0e284,0.0);b=b<f?b:f;i=c[k>>2]|0;b=f==1797693134862315708145274.0e284&b==1797693134862315708145274.0e284?.05:b>0.0?(b>.0003?b:.0003):b;h[i+40>>3]=b;h[i+32>>3]=b;b=b*72.0;g=XO(a,c[47222]|0,g,0)|0;i=HK((g|0)<1?32:g<<5)|0;f=b*.5;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b/72.0;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function YM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=HK(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[47352]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=((m|0)==0&k<<24>>24==124&1)+i|0}}if((l|0)<0)break}m=l;j=j+1|0}C=g+56|0;c[C>>2]=HK(i<<2)|0;a[g+64>>0]=d;z=(d|0)==0&1;A=f+1|0;B=n+82|0;y=(e|0)==0;w=n+16|0;x=n+4|0;v=n+8|0;l=0;m=0;d=0;u=0;k=0;e=0;n=f;i=0;j=0;b:while(1){p=l;l=0;c:while(1){r=n;d:while(1){t=e;e:while(1){s=i;f:while(1){q=m;o=k;g:while(1){while(1){if(u){E=79;break b}i=c[47352]|0;k=a[i>>0]|0;e=i+1|0;if((k+-1&255)>=31)break;c[47352]=e}switch(k<<24>>24|0){case 92:{E=52;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{E=56;break d}}c[47352]=e;if(o|0){E=32;break b}if(!(a[e>>0]|0)){E=32;break b}o=YM(b,z,0,f)|0;c[(c[C>>2]|0)+(q<<2)>>2]=o;if(!o){E=34;break b}else{q=q+1|0;o=4}}n=s+-1|0;if(a[B>>0]|0){k=o;break d}if(!(o&16)){E=26;break b}if(s>>>0<=A>>>0|(n|0)==(t|0))i=s;else i=(a[n>>0]|0)==32?n:s;a[i>>0]=0;l=Y3(f)|0;c[47352]=(c[47352]|0)+1;m=q;k=o&-17;s=i}if(o&6|0){E=21;break b}if(a[B>>0]|0){E=57;break d}c[47352]=e;m=q;k=o|18;t=f;i=f}if((o&16|0)!=0|y&k<<24>>24==0){E=36;break b}if(!(o&4)){e=HK(72)|0;c[(c[C>>2]|0)+(q<<2)>>2]=e;m=q+1|0}else{e=p;m=q}if(l|0)c[e+60>>2]=l;if(!(o&5)){a[f+j>>0]=32;o=o|1;j=j+1|0}i=f+j|0;if(!(o&1))n=r;else{if((j|0)>1?(D=i+-1|0,(D|0)!=(r|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=Y3(f)|0;c[e+52>>2]=xK(b,n,a[B>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[v>>2]|0)|0;a[e+64>>0]=1;n=f;j=0}i=c[47352]|0;k=a[i>>0]|0;if(!(k<<24>>24)){l=e;u=1;k=o;e=t;i=s;continue b}c[47352]=i+1;if(k<<24>>24==125){E=51;break b}else{p=e;k=0;l=0;e=t;r=n;i=s}}h:do if((E|0)==52){E=0;k=f+j|0;n=s+-1|0;m=j+1|0;switch(a[e>>0]|0){case 0:{k=o;break h}case 62:case 60:case 124:case 125:case 123:{i=d;k=o;break}case 32:{if(!(a[B>>0]|0)){i=1;k=o}else E=54;break}default:E=54}if((E|0)==54){E=0;a[k>>0]=92;i=d;k=o|9;j=m}c[47352]=e;d=i;i=e}else if((E|0)==56){E=0;k=o;n=s+-1|0}else if((E|0)==57){E=0;k=o;n=s+-1|0}while(0);e=f+j|0;if(k&4|0?(a[i>>0]|0)!=32:0){E=60;break b}if(!(k&24))k=(a[i>>0]|0)==32?k:k|9;o=(d|0)!=0;if(!(k&8))if(!(k&16)){e=t;n=r;o=s}else{m=a[i>>0]|0;if(!(o|m<<24>>24!=32))if((s|0)!=(f|0))if((a[n>>0]|0)==32)m=s;else E=74;else m=f;else E=74;if((E|0)==74){E=0;a[s>>0]=m;m=s+1|0;i=c[47352]|0}e=o?m+-1|0:t;n=r;o=m}else{m=a[i>>0]|0;if(!((!(o|m<<24>>24!=32)?(a[e+-1>>0]|0)==32:0)?(a[B>>0]|0)==0:0)){a[e>>0]=m;j=j+1|0}if(o){e=t;n=f+j+-1|0;o=s}else{e=t;n=r;o=s}}i=i+1|0;c[47352]=i;while(1){if((a[i>>0]|0)>=0){m=q;i=o;continue c}t=i+1|0;c[47352]=t;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=t}}}if((E|0)==21){bN(g,l);g=0}else if((E|0)==26){bN(g,l);g=0}else if((E|0)==32){bN(g,l);g=0}else if((E|0)==34){bN(g,l);g=0}else if((E|0)==36){bN(g,l);g=0}else if((E|0)==51)c[g+48>>2]=m;else if((E|0)==60){bN(g,l);g=0}else if((E|0)==79)c[g+48>>2]=q;return g|0}function ZM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+48|0;k=v+40|0;p=v+32|0;u=v+16|0;s=v;j=c[e+52>>2]|0;t=u+8|0;a:do if(!j){o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;n=0;while(1){if((n|0)>=(c[o>>2]|0))break a;ZM(s,d,c[(c[p>>2]|0)+(n<<2)>>2]|0);f=+h[t>>3];g=+h[u>>3];i=+h[s>>3];m=+h[r>>3];if(!(a[q>>0]|0)){h[t>>3]=f+m;j=g>i?u:s;k=u}else{h[u>>3]=g+i;j=(f>m?u:s)+8|0;k=t}h[k>>3]=+h[j>>3];n=n+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=NA(d,105797)|0;m=g+16.0;if((j|0)!=0?(c[n>>2]=k,c[n+4>>2]=p,o=q4(j,105804,n)|0,(o|0)>0):0){i=+h[k>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((o|0)!=1){i=+h[p>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=m}f=f+i}h[u>>3]=g;h[t>>3]=f}while(0);c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[b>>2]=c[u>>2];c[b+4>>2]=c[u+4>>2];c[b+8>>2]=c[u+8>>2];c[b+12>>2]=c[u+12>>2];l=v;return}function _M(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0;r=l;l=l+32|0;n=r+16|0;o=r;p=+h[d>>3];g=p-+h[b>>3];q=+h[d+8>>3];f=q-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){m=d+40|0;h[m>>3]=g+ +h[m>>3];m=d+48|0;h[m>>3]=f+ +h[m>>3]}k=b+48|0;d=c[k>>2]|0;a:do if(d|0){m=b+64|0;g=((a[m>>0]|0)==0?f:g)/+(d|0);j=b+56|0;i=0;while(1){if((i|0)>=(d|0))break a;d=c[(c[j>>2]|0)+(i<<2)>>2]|0;b=i+1|0;f=+(~~(g*+(b|0))-~~(g*+(i|0))|0);if(!(a[m>>0]|0))$M(o,p,f+ +h[d+8>>3]);else $M(o,f+ +h[d>>3],q);c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];_M(d,n,e);i=b;d=c[k>>2]|0}}while(0);l=r;return}function $M(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];$M(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;$M(m,s+ +h[b>>3],r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+64|0;i=b+56|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[o>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[i>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];aN(f,j,b&e);b=c[(c[i>>2]|0)+(g<<2)>>2]|0;if(!(a[o>>0]|0))h[p>>3]=+h[p>>3]-+h[b+8>>3];else h[d>>3]=+h[d>>3]+ +h[b>>3];g=g+1|0}l=q;return}function bN(a,b){a=a|0;b=b|0;cN(a);l6(b);return}function cN(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;cN(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}l6(c[a+60>>2]|0);AK(c[a+52>>2]|0);l6(c[e>>2]|0);l6(a);return}function dN(a){a=a|0;var b=0.0,d=0.0;d=+YO(a,c[47200]|0,0.0,.01);b=+YO(a,c[47199]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function eN(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function fN(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==91&1;return a|0}function gN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[47353]|0;a:do if(!f)d=0;else{g=c[47354]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(f2(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function hN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(!(kP(NA(d,105827)|0)|0))d=b;else{if((a[b>>0]|0)==101?(f2(b,105986)|0)==0:0){d=b;break}d=105820}while(0);f=a[d>>0]|0;if(f<<24>>24==99?(f2(d,105820)|0)==0:0)g=11;else{b=20896;g=7}a:do if((g|0)==7)while(1){g=0;e=c[b>>2]|0;if(!e){g=11;break a}if((a[e>>0]|0)==f<<24>>24?(f2(e,d)|0)==0:0)break a;b=b+16|0;g=7}while(0);if((g|0)==11)b=iN(d)|0;return b|0}function iN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=gN(b)|0;if(!d){f=c[47354]|0;e=f+1|0;c[47354]=e;d=c[47353]|0;e=e<<2;if(!d)d=IK(e)|0;else d=KK(d,e)|0;c[47353]=d;d=HK(16)|0;c[(c[47353]|0)+(f<<2)>>2]=d;c[d>>2]=c[5224];c[d+4>>2]=c[5225];c[d+8>>2]=c[5226];c[d+12>>2]=c[5227];e=Y3(b)|0;c[d>>2]=e;do if(!(c[47176]|0)){if((a[b>>0]|0)==99?(f2(b,105820)|0)==0:0){e=1;break}c[g>>2]=c[5224];c[g+4>>2]=e;dA(0,105991,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function jN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]/1.902113032590307;c=+h[b+8>>3]/1.1180339887498947;c=(d>c?d:c)*.9510565162951535*.8090169943749475/.29389262614623657;h[a>>3]=c*2.0*.9510565162951535;h[a+8>>3]=c*1.8090169943749475;return}function kN(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e/.9510565162951536;i=j/1.902113032590307;d=i*.9510565162951535*.30901699437494745/.7694208842938134;g=i*.19098300562505266*.5;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=i*+I(+c);h[a+(f<<4)+8>>3]=i*+J(+c)-g;l=c+.6283185307179586;m=f|1;h[a+(m<<4)>>3]=d*+I(+l);h[a+(m<<4)+8>>3]=d*+J(+l)-g;c=l+.6283185307179586;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function lN(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){l6(c[a+44>>2]|0);l6(a)}return}function mN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4256;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?106657:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=nU(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(AN(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=HB(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;dA(0,106659,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1712)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(AN(d,0,g,e,c[n>>2]|0,h)|0)BN(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function nN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r+16|0;f=r;if(!a){c[47357]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];kK(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[47357]|0)){f=c[47358]|0;g=c[47360]|0;i=c[47359]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[47361]=g;i=c[g+44>>2]|0;c[47359]=i;f=c[g+8>>2]|0;c[47358]=f;g=S((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[47360]=g;c[47357]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(((a+4|0)%(f|0)|0)+g<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[46656];c[p+4>>2]=c[46657];c[p+8>>2]=c[46658];c[p+12>>2]=c[46659];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=((zN(k,p,m,n)|0)==0&1)+b|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function oN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=qU(b,d,0,f,g)|0;else b=0;return b|0}function pN(e,f){e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;V=l;l=l+48|0;R=V+24|0;Q=V+16|0;N=V+8|0;M=V;T=V+32|0;q=V+28|0;n=c[e+16>>2]|0;U=n+208|0;o=c[U>>2]|0;if(!o){i=e+152|0;j=n+228|0;k=n+212|0;m=n+244|0;if(!(b[n+260>>1]&1)){O=i;J=0}else P=4}else{i=e+152|0;j=n+228|0;m=n+244|0;k=n+212|0;P=4}if((P|0)==4)if(!(c[i>>2]&4)){aS(e,o,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);O=i;J=1}else{O=i;J=1}K=f+16|0;i=c[K>>2]|0;y=c[i+12>>2]|0;I=c[y+44>>2]|0;L=c[y+8>>2]|0;y=c[y+4>>2]|0;if((c[47355]|0)<(L|0)){n=L+5|0;c[47355]=n;i=c[47356]|0;n=n<<4;if(!i)i=IK(n)|0;else i=KK(i,n)|0;c[47356]=i;i=c[K>>2]|0}H=(c[i+104>>2]|0)+56|0;i=i+16|0;c[H>>2]=c[i>>2];c[H+4>>2]=c[i+4>>2];c[H+8>>2]=c[i+8>>2];c[H+12>>2]=c[i+12>>2];H=c[K>>2]|0;F=+h[H+32>>3]*72.0;F=(+h[H+88>>3]+ +h[H+96>>3])/+(~~(F+(F>=0.0?.5:-.5))|0);G=+h[H+40>>3]*72.0;G=+h[H+80>>3]/+(~~(G+(G>=0.0?.5:-.5))|0);H=qN(e,f)|0;c[T>>2]=0;i=d[(c[K>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){B=$O(f,c[47206]|0,106557)|0;fS(e,B);hS(e,$O(f,c[47207]|0,106565)|0);n=0;i=1;break}if(i&8|0){B=$O(f,c[47210]|0,106573)|0;fS(e,B);hS(e,$O(f,c[47211]|0,106581)|0);n=0;i=1;break}if(i&4|0){B=$O(f,c[47208]|0,106589)|0;fS(e,B);hS(e,$O(f,c[47209]|0,106597)|0);n=0;i=1;break}if(!(H&1))if(!(H&576)){n=0;i=0}else{n=rN(f)|0;i=1}else{n=rN(f)|0;if(!((HJ(n,T,q)|0)<<24>>24)){hS(e,n);i=1}else{hS(e,c[T>>2]|0);i=c[T+4>>2]|0;o=XO(f,c[47235]|0,0,0)|0;p=+g[q>>2];if(!i)iS(e,137615,o,p);else iS(e,i,o,p);i=(H&2)>>>1|2}}B=sN(e,f)|0}else{B=$O(f,c[47204]|0,106541)|0;fS(e,B);hS(e,$O(f,c[47205]|0,106549)|0);n=0;i=1}while(0);o=c[(c[K>>2]|0)+8>>2]|0;if(a[o+12>>0]|0){o=c[o>>2]|0;if((a[o>>0]|0)==99){o=(f2(o,105820)|0)==0;P=33}else o=1}else{o=1;P=33}if((P|0)==33){o=o^1;if(!((y|0)!=0|i<<24>>24==0|o)){fS(e,137680);y=1;o=0}}C=(L|0)<3;D=(H&64|0)!=0;v=(H&512|0)!=0;E=(H&8|0)==0;w=(H&1024|0)==0;x=(H&2130706444|0)==0;u=0;while(1){r=(u|0)==0;z=i&255;A=v&r;if((u|0)>=(y|0))break;s=S(u,L)|0;t=c[47356]|0;q=0;while(1){if((q|0)>=(L|0))break;X=q+s|0;p=+h[I+(X<<4)+8>>3];W=c[K>>2]|0;h[t+(q<<4)>>3]=F*+h[I+(X<<4)>>3]+ +h[W+16>>3];h[t+(q<<4)+8>>3]=G*p+ +h[W+24>>3];q=q+1|0}do if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,t,n)|0)>1){c[M>>2]=HB(f)|0;dA(3,106605,M)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(!E)tN(e,f)}else{if(D){if(r?(hI(e,t,n,1)|0)>1:0){c[N>>2]=HB(f)|0;dA(3,106605,N)|0}lS(e,c[47356]|0,L,0);break}if(!w){fS(e,137680);lS(e,c[47356]|0,L,z);fS(e,B);oS(e,(c[47356]|0)+32|0,2);break}if(x){lS(e,t,L,z);break}else{RM(e,t,L,H,z);break}}while(0);u=u+1|0;i=0}q=c[(c[K>>2]|0)+8>>2]|0;if(!(a[q+12>>0]|0)){q=NA(f,109326)|0;if(q|0?a[q>>0]|0:0)P=65}else{q=c[q>>2]|0;if((a[q>>0]|0)==99?(f2(q,105820)|0)==0:0){q=NA(f,105827)|0;if(q|0?a[q>>0]|0:0)P=65}else P=65}if((P|0)==65){s=c[47356]|0;r=0;while(1){if((r|0)>=(L|0))break;p=+h[I+(r<<4)+8>>3];X=c[K>>2]|0;h[s+(r<<4)>>3]=F*+h[I+(r<<4)>>3]+ +h[X+16>>3];h[s+(r<<4)+8>>3]=G*p+ +h[X+24>>3];r=r+1|0}do if(!(o|i<<24>>24==0)){if(C){if(A?(F3(n,58)|0)!=0:0)if((dI(e,s,n)|0)>1){c[Q>>2]=HB(f)|0;dA(3,106605,Q)|0;i=0}else i=0;kS(e,c[47356]|0,L,i&255);if(E)break;tN(e,f);break}if(!D)if(!(H&12)){lS(e,s,L,z);break}else{RM(e,s,L,H,z);break}else{if((hI(e,s,n,1)|0)>1){c[R>>2]=HB(f)|0;dA(3,106605,R)|0}lS(e,c[47356]|0,L,0);break}}while(0);X=c[47356]|0;qS(e,q,X,L,i,_O(f,c[47228]|0,137609)|0)}l6(c[T>>2]|0);BK(e,10,c[(c[K>>2]|0)+104>>2]|0);if(J){if(c[O>>2]&4|0)aS(e,c[U>>2]|0,c[j>>2]|0,c[m>>2]|0,c[k>>2]|0);bS(e)}l=V;return}function qN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=wN(d,f)|0;if(e|0)jS(b,e);e=c[47234]|0;if((e|0?(g=OA(d,e)|0,g|0):0)?a[g>>0]|0:0)sS(b,+YO(d,c[47234]|0,1.0,0.0));l=h;return c[f>>2]|0}function rN(a){a=a|0;return vN(a,135101)|0}function sN(b,d){b=b|0;d=d|0;d=$O(d,c[47202]|0,195341)|0;d=a[d>>0]|0?d:137615;fS(b,d);return d|0}function tN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3]*.75*.5;h[m+8>>3]=f;i=+h[b+96>>3]*.6614;h[m>>3]=i;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];uN(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*2.0;oS(a,e,2);f=+h[g>>3]-f*2.0;h[g>>3]=f;h[b>>3]=f;oS(a,e,2);l=d;return}function uN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function vN(b,d){b=b|0;d=d|0;var e=0;e=$O(b,c[47203]|0,195341)|0;if(!(a[e>>0]|0)){e=$O(b,c[47202]|0,195341)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function wN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=$O(b,c[47219]|0,195341)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=NI(e)|0;i=g;e=0;b:while(1){f=c[i>>2]|0;if(!f)break a;h=i+4|0;switch(a[f>>0]|0){case 102:{i=h;e=e|(f2(f,111402)|0)==0;continue b}case 114:{if(!(f2(f,106617)|0)){f=i;do{j=f;f=f+4|0;h=c[f>>2]|0;c[j>>2]=h}while((h|0)!=0);j=i;e=e|4;i=j;continue b}if(!(f2(f,106635)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|3;i=j;continue b}case 100:{if(!(f2(f,106625)|0))f=i;else{j=e;i=h;e=j;continue b}do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|8;i=j;continue b}case 105:{j=(f2(f,134636)|0)==0;i=h;e=j?e|32:e;continue b}case 115:{if(f2(f,106642)|0){j=e;i=h;e=j;continue b}if(!(xN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|64;i=j;continue b}case 119:{if(f2(f,106650)|0){j=e;i=h;e=j;continue b}if(!(yN(b)|0)){j=e;i=h;e=j;continue b}else f=i;do{h=f;f=f+4|0;j=c[f>>2]|0;c[h>>2]=j}while((j|0)!=0);j=i;e=e|512;i=j;continue b}default:{j=e;i=h;e=j;continue b}}}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function xN(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else{if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0;else a=0;a=a&1}return a|0}function yN(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function zN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[c+8>>3];g=-(+h[d+8>>3]-e);i=+h[c>>3];f=+h[d>>3]-i;e=i*g+e*f;return (+h[a>>3]*g+f*+h[a+8>>3]-e>=0.0^+h[b>>3]*g+f*+h[b+8>>3]-e>=0.0^1)&1|0}function AN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+192|0;D=H+176|0;F=H+160|0;m=H+144|0;B=H+128|0;C=H+112|0;o=H+96|0;p=H+80|0;w=H+64|0;x=H+48|0;y=H+32|0;z=H+16|0;E=H;G=F+8|0;if(!d){c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;m=c[b+16>>2]|0;t=+h[m+80>>3]*.5;v=-t;s=+h[m+88>>3];u=-s;m=0;k=0.0;q=n?u:v;r=n?s:t;s=n?t:s;t=0.0;u=n?v:u}else{q=+h[d>>3];u=+h[d+8>>3];r=+h[d+16>>3];s=+h[d+24>>3];$M(m,(q+r)*.5,(u+s)*.5);c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];m=1;k=+h[F>>3];t=+h[G>>3]}v=(r>s?r:s)*4.0;a:do if((f|0)!=0?(A=a[f>>0]|0,A<<24>>24!=0):0){f=f+1|0;n=(i|0)!=0;j=-v;switch(A<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(B,i,t,v);c[F>>2]=c[B>>2];c[F+4>>2]=c[B+4>>2];c[F+8>>2]=c[B+8>>2];c[F+12>>2]=c[B+12>>2]}else h[F>>3]=r;p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[G>>3]=u;switch(a[f>>0]|0){case 0:{if(n){CN(C,i,j,k);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2]}else h[F>>3]=k;p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(o,i,j,v);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2]}else h[F>>3]=r;p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(p,i,j,j);c[F>>2]=c[p>>2];c[F+4>>2]=c[p+4>>2];c[F+8>>2]=c[p+8>>2];c[F+12>>2]=c[p+12>>2]}else h[F>>3]=q;p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(n){CN(w,i,t,j);c[F>>2]=c[w>>2];c[F+4>>2]=c[w+4>>2];c[F+8>>2]=c[w+8>>2];c[F+12>>2]=c[w+12>>2]}else h[F>>3]=q;p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[G>>3]=s;switch(a[f>>0]|0){case 0:{if(n){CN(x,i,v,k);c[F>>2]=c[x>>2];c[F+4>>2]=c[x+4>>2];c[F+8>>2]=c[x+8>>2];c[F+12>>2]=c[x+12>>2]}else h[F>>3]=k;p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(n){CN(y,i,v,v);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2]}else h[F>>3]=r;p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(n){CN(z,i,v,j);c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2]}else h[F>>3]=q;p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[G>>3]=t;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);C=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[D>>2]=c[F>>2];c[D+4>>2]=c[F+4>>2];c[D+8>>2]=c[F+8>>2];c[D+12>>2]=c[F+12>>2];jK(E,D,C);c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];if(!(f<<24>>24))g=DN(g,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[F>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[G>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+EN(j,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&3);k=+h[F>>3];j=+h[G>>3];if(k==0.0&j==0.0)g=-128;else{v=+O(+j,+k)+4.71238898038469;g=~~((!(v>=6.283185307179586)?v:v+-6.283185307179586)*256.0/6.283185307179586)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=H;return o|0}function BN(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=HB(a)|0;c[e+4>>2]=b;dA(0,106720,e)|0;l=d;return}function CN(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;i=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;g=c[(c[(uC(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(g|0)!=0;g=g*90|0;if(f){c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];jK(m,i,g);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];ZN(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];kK(n,i,g);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function DN(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function EN(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function FN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];kK(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function GN(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=l;l=l+32|0;p=q;e=c[a+16>>2]|0;n=e+208|0;m=c[n>>2]|0;if(!m)o=(b[e+260>>1]&1)!=0;else o=1;g=d+16|0;d=c[g>>2]|0;i=c[d+12>>2]|0;if(i|0){j=e+212|0;k=e+244|0;e=e+228|0;f=a+152|0;if(o?(c[f>>2]&4|0)==0:0){aS(a,m,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);d=c[g>>2]|0}m=c[a+36>>2]|0;s=+h[d+24>>3]+ +(c[i+8>>2]|0);r=c[i>>2]|0;h[p>>3]=+h[d+16>>3]+ +(c[i+4>>2]|0);h[p+8>>3]=s;c[p+16>>2]=r;z4(m,106751,p)|0;m=c[g>>2]|0;p=(c[m+104>>2]|0)+56|0;m=m+16|0;c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];BK(a,10,c[(c[g>>2]|0)+104>>2]|0);if(o){if(c[f>>2]&4|0)aS(a,c[n>>2]|0,c[e>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(a)}}l=q;return}function HN(a){a=a|0;cN(c[(c[a+16>>2]|0)+12>>2]|0);return}function IN(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4256;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?106657:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=ON(i,f)|0;if(!j){if(AN(e,i+16|0,h,f,15,0)|0)BN(e,f)}else if(AN(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=HB(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;dA(0,106659,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function JN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];kK(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function KN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(j<=i?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=j+v;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=s+v}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];lK(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=j+i*.5;c[g>>2]=1}while(0);l=u;return e|0}function LN(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+144|0;p=z+96|0;r=z+64|0;t=z;w=z+128|0;f=c[d+16>>2]|0;x=f+208|0;i=c[x>>2]|0;if(!i)y=(b[f+260>>1]&1)!=0;else y=1;m=e+16|0;s=c[m>>2]|0;q=c[s+12>>2]|0;u=q+16|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[r+16>>2]=c[u+16>>2];c[r+20>>2]=c[u+20>>2];c[r+24>>2]=c[u+24>>2];c[r+28>>2]=c[u+28>>2];A=+h[s+16>>3];h[r>>3]=A+ +h[r>>3];k=+h[s+24>>3];s=r+8|0;h[s>>3]=k+ +h[s>>3];s=r+16|0;h[s>>3]=A+ +h[s>>3];u=r+24|0;h[u>>3]=k+ +h[u>>3];u=f+228|0;v=f+212|0;n=f+244|0;o=d+152|0;if(y?(c[o>>2]&4|0)==0:0)aS(d,i,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);f=qN(d,e)|0;sN(d,e)|0;c[w>>2]=0;if(!(f&1))i=0;else{i=rN(e)|0;if(!((HJ(i,w,p)|0)<<24>>24)){hS(d,i);i=1}else{hS(d,c[w>>2]|0);i=c[w+4>>2]|0;j=XO(e,c[47235]|0,0,0)|0;k=+g[p>>2];if(!i)iS(d,137615,j,k);else iS(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(f2(j,106528)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];c[p+16>>2]=c[r+16>>2];c[p+20>>2]=c[r+20>>2];c[p+24>>2]=c[r+24>>2];c[p+28>>2]=c[r+28>>2];mS(d,p,i)}else{c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];r=t+32|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];h[t+16>>3]=+h[r>>3];h[t+24>>3]=+h[t+8>>3];h[t+48>>3]=+h[t>>3];h[t+56>>3]=+h[t+40>>3];RM(d,t,4,f,i)}MN(d,e,q);l6(c[w>>2]|0);if(y){if(c[o>>2]&4|0)aS(d,c[x>>2]|0,c[u>>2]|0,c[n>>2]|0,c[v>>2]|0);bS(d)}l=z;return}function MN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;i=u+96|0;j=u+80|0;s=u+64|0;t=u+48|0;k=e+52|0;g=c[k>>2]|0;f=d+16|0;if(g){n=g+56|0;g=e+16|0;m=e+32|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];NN(i,o,p);m=(c[f>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];uN(j,o,p);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];BK(b,10,c[k>>2]|0);sN(b,d)|0}m=(c[f>>2]|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];m=e+48|0;n=e+56|0;j=e+64|0;k=q+16|0;i=0;while(1){if((i|0)>=(c[m>>2]|0))break;if((i|0)>0){f=(c[n>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[j>>0]|0)){g=g+32|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=k;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[k>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];uN(t,o,p);c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];oS(b,q,2)}MN(b,d,c[(c[n>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function NN(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ON(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(f2(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=ON(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function PN(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;f=+h[b>>3]*.5;m=+h[b+8>>3];i=m*.5;m=m/11.0;h[a>>3]=f;e=i-m;h[a+8>>3]=e;h[a+16>>3]=f;g=i-m*.44821599999999995;h[a+24>>3]=g;j=f*.551784;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=f*-.551784;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m-i;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function RN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;w=x+80|0;s=x+64|0;v=x+32|0;q=x+16|0;r=x;f=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];kK(f,u,o);c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];f=v+8|0;if(j|0){d=+h[v>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[f>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[47362]|0)){d=+h[23330];e=+h[23331];i=+h[23332]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[47363]=b;c[47364]=c[b+44>>2];c[47365]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?186664:186672)>>3]=+h[o+88>>3]+ +h[o+96>>3];h[(n?186672:186664)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;g=+h[o+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{wP(u,b);i=+h[u+16>>3]-+h[u>>3];g=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(uC(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?186664:186672)>>3]=i;h[(o?186672:186664)>>3]=g}d=+h[23333];if(d==0.0){h[23333]=1.0;d=1.0}e=+h[23334];if(e==0.0){h[23334]=1.0;e=1.0}d=i/d;h[23330]=d;e=g/e;h[23331]=e;i=i*.5;h[23332]=i;h[23335]=g*.5;o=S((c[(c[47363]|0)+4>>2]|0)+-1|0,c[47365]|0)|0;c[47366]=(o|0)>0?o:0;c[47362]=k}g=d*+h[v>>3];h[v>>3]=g;d=e*+h[f>>3];h[f>>3]=d;if(!(+F(+g)>i)?(e=+F(+d),p=+h[23335],!(e>p)):0){o=c[47365]|0;if((o|0)<3){a=+c2(g/i,d/p)<1.0;break}b=(c[47367]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[47364]|0;m=c[47366]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(zN(s,w,t,u)|0){c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[46672];c[u+4>>2]=c[46673];c[u+8>>2]=c[46674];c[u+12>>2]=c[46675];n=(zN(s,w,t,u)|0)!=0;if(n?(c[s>>2]=c[v>>2],c[s+4>>2]=c[v+4>>2],c[s+8>>2]=c[v+8>>2],c[s+12>>2]=c[v+12>>2],c[w>>2]=c[r>>2],c[w+4>>2]=c[r+4>>2],c[w+8>>2]=c[r+8>>2],c[w+12>>2]=c[r+12>>2],c[t>>2]=c[46672],c[t+4>>2]=c[46673],c[t+8>>2]=c[46674],c[t+12>>2]=c[46675],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(zN(s,w,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){f=a;a=(a+1|0)%(o|0)|0}else{f=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+f<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[w>>2]=c[46672];c[w+4>>2]=c[46673];c[w+8>>2]=c[46674];c[w+12>>2]=c[46675];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(zN(s,w,t,u)|0)){b=30;break}else{j=f;b=b+1|0}}if((b|0)==30){c[47367]=f;a=0;break}else if((b|0)==31){c[47367]=j;a=1;break}}else a=0}else a=0}else{c[47362]=0;a=0}while(0);l=x;return a&1|0}function SN(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];kK(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[47370]|0))d=+h[23338];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[23338]=d;c[47370]=a}if(!(+F(+g)>d)?!(+F(+e)>d):0)a=+c2(g,e)<=d&1;else a=0}else{c[47370]=0;a=0}l=j;return a|0}function TN(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0;w=l;l=l+16|0;p=w;m=c[e+16>>2]|0;v=m+208|0;n=c[v>>2]|0;if(!n){i=m+228|0;j=m+212|0;k=m+244|0;g=e+152|0;if(!(b[m+260>>1]&1)){u=i;t=0}else o=4}else{g=e+152|0;i=m+228|0;k=m+244|0;j=m+212|0;o=4}if((o|0)==4)if(!(c[g>>2]&4)){aS(e,n,c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);u=i;t=1}else{u=i;t=1}q=f+16|0;n=c[(c[q>>2]|0)+12>>2]|0;r=c[n+44>>2]|0;s=c[n+8>>2]|0;n=c[n+4>>2]|0;if((c[47368]|0)<(s|0)){m=s+2|0;c[47368]=m;i=c[47369]|0;m=m<<4;if(!i)i=IK(m)|0;else i=KK(i,m)|0;c[47369]=i}wN(f,p)|0;if(!(c[p>>2]&32))jS(e,22068);else jS(e,22064);i=c[47234]|0;if(i|0)sS(e,+YO(f,i,1.0,0.0));i=d[(c[q>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){fS(e,$O(f,c[47206]|0,106557)|0);i=$O(f,c[47207]|0,106565)|0;hS(e,i);break}if(i&8|0){fS(e,$O(f,c[47210]|0,106573)|0);i=$O(f,c[47211]|0,106581)|0;hS(e,i);break}if(!(i&4)){i=vN(f,137615)|0;hS(e,i);sN(e,f)|0;break}else{fS(e,$O(f,c[47208]|0,106589)|0);i=$O(f,c[47209]|0,106597)|0;hS(e,i);break}}else{fS(e,$O(f,c[47204]|0,106541)|0);i=$O(f,c[47205]|0,106549)|0;hS(e,i)}while(0);if(!n)if(!(a[i>>0]|0))m=1;else{fS(e,i);m=1}else m=n;n=1;o=0;while(1){if((o|0)>=(m|0))break;p=c[47369]|0;f=S(o,s)|0;i=0;while(1){if((i|0)>=(s|0))break;z=i+f|0;y=+h[r+(z<<4)+8>>3];x=c[q>>2]|0;h[p+(i<<4)>>3]=+h[r+(z<<4)>>3]+ +h[x+16>>3];h[p+(i<<4)+8>>3]=y+ +h[x+24>>3];i=i+1|0}kS(e,p,s,n);n=0;o=o+1|0}if(t){if(c[g>>2]&4|0)aS(e,c[v>>2]|0,c[u>>2]|0,c[k>>2]|0,c[j>>2]|0);bS(e)}l=w;return}function UN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=VN(b,e,f)|0;c[h+36>>2]=c[f+36>>2];AN(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function VN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;j=z+24|0;n=z+16|0;x=c[(c[(c[(uC(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(j,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];WN(n,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;k=+h[w+88>>3];g=-k;m=x?g:A;i=x?k:B;k=x?B:k;g=x?A:g}else{m=+h[d>>3];i=+h[d+16>>3];k=+h[d+24>>3];g=+h[d+8>>3]}v=~~((g+k)*.5);w=~~((m+i)*.5);x=c[j>>2]|0;t=c[j+4>>2]|0;u=c[n>>2]|0;s=c[n+4>>2]|0;r=~~g;q=~~i;p=~~k;o=~~m;j=0;n=0;d=0;e=0;b=0;while(1){if((n|0)==4)break a;if(1<<n&y){switch(n|0){case 0:{e=w;b=r;break}case 1:{e=q;b=v;break}case 2:{e=w;b=p;break}case 3:{e=o;b=v;break}default:{}}e=x+e|0;b=t+b|0;f=e-u|0;C=b-s|0;f=(S(C,C)|0)+(S(f,f)|0)|0;if((d|0)==0|(f|0)<(j|0))d=c[22076+(n<<2)>>2]|0;else f=j}else f=j;j=f;n=n+1|0}}}while(0);l=z;return d|0}function WN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0;g=b+8|0;switch(d|0){case 0:{f=+h[b>>3];e=+h[g>>3];break}case 2:{f=+h[b>>3];e=-+h[g>>3];break}case 1:{f=-+h[g>>3];e=+h[b>>3];break}case 3:{f=+h[g>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function XN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+80|0;f=k+40|0;i=k;g=b+16|0;e=c[g>>2]|0;d=e+16|0;j=b+-48|0;h=b+48|0;if(a[e+47>>0]|0){e=c[b>>2]&3;UN(f,c[((e|0)==3?b:h)+40>>2]|0,c[((e|0)==2?b:j)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;UN(i,c[((e|0)==2?b:j)+40>>2]|0,c[((e|0)==3?b:h)+40>>2]|0,d);e=i;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=k;return}function YN(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];RN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];SN(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];nN(0,b)|0;l=a;return}function ZN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(g+f)*.5;iP(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((vb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function _N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;f=m;g=m+32|0;i=a+16|0;j=c[i>>2]|0;k=c[j+8>>2]|0;if(k|0?(e=c[(c[k+4>>2]|0)+12>>2]|0,e|0):0){c[g>>2]=a;c[g+4>>2]=0;n=+h[j+96>>3];h[f>>3]=+h[b>>3]-+h[j+16>>3];h[f+8>>3]=+h[b+8>>3]-+h[j+24>>3];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];k=vb[e&127](g,d)|0;h[(c[i>>2]|0)+96>>3]=n;$N(g,a,b,k)}l=m;return}function $N(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;g=b+16|0;i=c[g>>2]|0;k=+h[i+96>>3];j=i+16|0;f=i+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[j>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}ZN(a,c[(c[(c[i+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);f=c[g>>2]|0;g=f+16|0;i=f+24|0;b=0;while(1){if((b|0)==4)break;h[d+(b<<4)>>3]=+h[m+(b<<4)>>3]+ +h[g>>3];h[d+(b<<4)+8>>3]=+h[m+(b<<4)+8>>3]+ +h[i>>3];b=b+1|0}h[f+96>>3]=k;l=n;return}function aO(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=HK(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;b=((c[b+4>>2]|0)*48|0)+48|0;if(!e)b=IK(b)|0;else b=KK(e,b)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=HK(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function bO(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;D=l;l=l+96|0;A=D+16|0;t=D;x=D+92|0;y=D+88|0;u=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=uC(m)|0;B=aO(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;F=(m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0);p=c[o+40>>2]|0;e=c[o+80>>2]|0;k=d[o+86>>0]|0;E=d[o+46>>0]|0;n=F?k:E;j=F?p:e;o=F?e:p;p=g+-4|0;g=t+8|0;e=u+4|0;if((((F?E:k)|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=m;c[e>>2]=j;k=0;while(1){if((k|0)>=(p|0))break;j=k+3|0;F=c[r>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;else k=j}c[x>>2]=k;$N(u,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((n|0)!=0?(v=w+16|0,s=c[(c[v>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[u>>2]=w;c[e>>2]=o;j=p;while(1){if((j|0)<=0)break;F=c[v>>2]|0;h[t>>3]=+h[f+(j<<4)>>3]-+h[F+16>>3];h[g>>3]=+h[f+(j<<4)+8>>3]-+h[F+24>>3];F=c[(c[(c[F+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[t>>2];c[A+4>>2]=c[t+4>>2];c[A+8>>2]=c[t+8>>2];c[A+12>>2]=c[t+12>>2];if(!((vb[F&127](u,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;$N(u,w,f+(j<<4)|0,0)}else{c[y>>2]=p;j=p}while(1){if((k|0)>=(p|0))break;e=k+3|0;H=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];G=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(H*H+G*G<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;F=j+3|0;G=+h[f+(j<<4)>>3]-+h[f+(F<<4)>>3];H=+h[f+(j<<4)+8>>3]-+h[f+(F<<4)+8>>3];if(!(G*G+H*H<1.0e-06))break;j=j+-3|0}c[y>>2]=j;cO(b,w,f,x,y,B,i);p=c[x>>2]|0;m=(c[y>>2]|0)+4|0;n=A+16|0;o=A+32|0;g=A+48|0;k=z+16|0;j=p;while(1){if((j|0)>=(m|0))break;F=(c[B>>2]|0)+(j-p<<4)|0;e=f+(j<<4)|0;c[F>>2]=c[e>>2];c[F+4>>2]=c[e+4>>2];c[F+8>>2]=c[e+8>>2];c[F+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((e|0)>=(m|0)){C=35;break}E=(c[B>>2]|0)+(e-p<<4)|0;F=f+(e<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[n>>2]=c[F>>2];c[n+4>>2]=c[F+4>>2];c[n+8>>2]=c[F+8>>2];c[n+12>>2]=c[F+12>>2];F=j+2|0;E=(c[B>>2]|0)+(F-p<<4)|0;F=f+(F<<4)|0;c[E>>2]=c[F>>2];c[E+4>>2]=c[F+4>>2];c[E+8>>2]=c[F+8>>2];c[E+12>>2]=c[F+12>>2];c[o>>2]=c[F>>2];c[o+4>>2]=c[F+4>>2];c[o+8>>2]=c[F+8>>2];c[o+12>>2]=c[F+12>>2];F=j+3|0;E=f+(F<<4)|0;c[g>>2]=c[E>>2];c[g+4>>2]=c[E+4>>2];c[g+8>>2]=c[E+8>>2];c[g+12>>2]=c[E+12>>2];jI((c[k>>2]|0)+16|0,A);j=F}c[B+4>>2]=m-p;l=D;return}function cO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))k=(pb[c[i>>2]&63](o)|0)&255;else k=0;FH(o,m,n);j=i+4|0;if((pb[c[j>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if(!((pb[c[j>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24))b=c[m>>2]|0;else{c[m>>2]=0;b=0}if(k){d=c[n>>2]|0;c[m>>2]=d;c[n>>2]=b;b=d}if(!(a[i+9>>0]|0)){if(b|0)c[f>>2]=UH(o,e,c[f>>2]|0,c[g>>2]|0,h,b)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=SH(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{j=c[n>>2]|0;if(j|b|0)VH(o,e,c[f>>2]|0,c[g>>2]|0,h,b,j)}l=p;return}function dO(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function eO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+112|0;A=D+72|0;r=D+56|0;p=D+16|0;s=D;n=c[d>>2]&3;t=d+48|0;B=c[((n|0)==3?d:t)+40>>2]|0;u=d+16|0;z=c[u>>2]|0;i=z+16|0;if(a[z+47>>0]|0){UN(p,B,c[((n|0)==2?d:d+-48|0)+40>>2]|0,i);n=p;p=i+40|0;do{c[i>>2]=c[n>>2];i=i+4|0;n=n+4|0}while((i|0)<(p|0))}w=B+16|0;n=c[w>>2]|0;i=c[n+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;z=n+16|0;n=(c[u>>2]|0)+16|0;c[r>>2]=c[z>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[r+12>>2]=c[z+12>>2];c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];fO(s,r,A);c[b>>2]=c[s>>2];c[b+4>>2]=c[s+4>>2];c[b+8>>2]=c[s+8>>2];c[b+12>>2]=c[s+12>>2];n=b+16|0;if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+45>>0]|0))i=0;else{j=+h[i+32>>3];C=9}}else{j=+gO(c[((c[d>>2]&3|0)==3?d:t)+40>>2]|0);C=9}if((C|0)==9){h[n>>3]=j;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;y=f+32|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];y=f+48|0;z=f+52|0;t=b+8|0;g=f+56|0;switch(e|0){case 1:{i=c[w>>2]|0;if((a[i+156>>0]|0)==0?(s=a[(c[u>>2]|0)+49>>0]|0,x=s&255,s<<24>>24!=0):0){c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];s=A+16|0;r=i+80|0;o=+h[t>>3];p=i+24|0;do if(!(x&4)){i=A+24|0;if(x&1|0){c[y>>2]=1;h[i>>3]=+h[(+h[i>>3]>o?s:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}n=A+8|0;k=+h[b>>3];j=+h[p>>3]-+h[r>>3]*.5;if(!(x&8)){c[y>>2]=2;h[A>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{c[y>>2]=8;h[s>>3]=k;h[n>>3]=j;h[i>>3]=o;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{c[y>>2]=4;m=+h[A>>3];j=+h[p>>3]+ +h[r>>3]*.5;k=+h[s>>3];if(+h[b>>3]<+h[i+16>>3]){m=m+-1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[s>>3]=+h[i+16>>3]-+h[i+88>>3];h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[A>>3]=m;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{k=k+1.0;q=j+ +((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[w>>2]|0;h[A>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[A+24>>3]=o;h[A+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[s>>3]=k;h[f+56>>3]=m;h[f+64>>3]=o;h[f+72>>3]=k;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{d=1;C=47}break}case 2:{x=a[(c[u>>2]|0)+49>>0]|0;s=x&255;if(!(x<<24>>24))C=46;else{c[A>>2]=c[f>>2];c[A+4>>2]=c[f+4>>2];c[A+8>>2]=c[f+8>>2];c[A+12>>2]=c[f+12>>2];c[A+16>>2]=c[f+16>>2];c[A+20>>2]=c[f+20>>2];c[A+24>>2]=c[f+24>>2];c[A+28>>2]=c[f+28>>2];n=A+8|0;do if(!(s&4)){i=A+16|0;p=A+24|0;r=(c[y>>2]|0)==4;if(s&1|0)if(r){x=c[w>>2]|0;q=+h[x+24>>3]-+h[x+80>>3]*.5;o=+h[i>>3]+1.0;k=+h[b>>3];m=q-+((c[(c[(uC(B)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[w>>2]|0;h[A>>3]=+h[b+16>>3]+ +h[b+96>>3]+0.0;h[n>>3]=q;h[p>>3]=+h[b+24>>3]+ +h[b+80>>3]*.5;h[i>>3]=o;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=o;h[f+80>>3]=q;i=f+88|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];c[i+16>>2]=c[A+16>>2];c[i+20>>2]=c[A+20>>2];c[i+24>>2]=c[A+24>>2];c[i+28>>2]=c[A+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[t>>3]?i:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}q=+h[b>>3];b=c[w>>2]|0;k=+h[t>>3];o=+h[b+80>>3]*.5;j=k+1.0;E=+h[b+24>>3];m=E-o;o=E+o;if(!(s&8)){h[A>>3]=q;if(r){h[p>>3]=o;j=k;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=o;j=k+-1.0;i=A}else h[n>>3]=m;h[i+8>>3]=j;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1;break}}else{h[n>>3]=+h[(+h[n>>3]<+h[t>>3]?A:b)+8>>3];c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];c[g+8>>2]=c[A+8>>2];c[g+12>>2]=c[A+12>>2];c[g+16>>2]=c[A+16>>2];c[g+20>>2]=c[A+20>>2];c[g+24>>2]=c[A+24>>2];c[g+28>>2]=c[A+28>>2];i=1}while(0);c[z>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((B|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[y>>2]=s}break}default:C=46}if((C|0)==46){d=c[y>>2]|0;C=47}a:do if((C|0)==47){if(p|0?(v=wb[p&63](B,(c[u>>2]|0)+16|0,d,g,z)|0,v|0):0){c[y>>2]=v;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];c[g+16>>2]=c[f+16>>2];c[g+20>>2]=c[f+20>>2];c[g+24>>2]=c[f+24>>2];c[g+28>>2]=c[f+28>>2];c[z>>2]=1;switch(e|0){case 8:{Aa(138697,106815,569,106825);break}case 2:{h[((c[y>>2]|0)==4?g:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+80>>3]=+h[t>>3];c[y>>2]=1;break a}default:break a}}while(0);l=D;return}function fO(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function gO(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=f+ +h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3];g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=b+ +h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3];a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+O(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((f+ +O(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k)))*.5)}function hO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;C=F+72|0;r=F+56|0;p=F+16|0;t=F;o=c[d>>2]&3;v=d+-48|0;D=c[((o|0)==2?d:v)+40>>2]|0;x=d+16|0;B=c[x>>2]|0;i=B+56|0;if(a[B+87>>0]|0){UN(p,D,c[((o|0)==3?d:d+48|0)+40>>2]|0,i);o=p;p=i+40|0;do{c[i>>2]=c[o>>2];i=i+4|0;o=o+4|0}while((i|0)<(p|0))}z=D+16|0;o=c[z>>2]|0;i=c[o+8>>2]|0;if(!i)p=0;else p=c[(c[i+4>>2]|0)+16>>2]|0;w=b+40|0;B=o+16|0;o=(c[x>>2]|0)+56|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[C>>2]=c[o>>2];c[C+4>>2]=c[o+4>>2];c[C+8>>2]=c[o+8>>2];c[C+12>>2]=c[o+12>>2];fO(t,r,C);c[w>>2]=c[t>>2];c[w+4>>2]=c[t+4>>2];c[w+8>>2]=c[t+8>>2];c[w+12>>2]=c[t+12>>2];o=b+56|0;if(!(g<<24>>24)){i=c[x>>2]|0;if(!(a[i+85>>0]|0))u=0;else{h[o>>3]=+h[i+72>>3];u=1}}else{s=+gO(c[((c[d>>2]&3|0)==2?d:v)+40>>2]|0)+3.141592653589793;h[o>>3]=s;if(s<6.283185307179586)u=1;else Aa(106835,106815,606,106859)}a[b+69>>0]=u;B=f+32|0;c[B>>2]=c[w>>2];c[B+4>>2]=c[w+4>>2];c[B+8>>2]=c[w+8>>2];c[B+12>>2]=c[w+12>>2];B=f+48|0;g=f+52|0;v=f+56|0;t=b+48|0;switch(e|0){case 1:{i=c[z>>2]|0;if((a[i+156>>0]|0)==0?(b=a[(c[x>>2]|0)+89>>0]|0,A=b&255,b<<24>>24!=0):0){c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];p=C+8|0;s=+h[t>>3];do if(!(A&4)){o=C+16|0;q=+h[w>>3];j=+h[i+80>>3]*.5;n=+h[i+24>>3];if(!(A&1)){i=C+24|0;j=n+j;if(!(A&8)){c[B>>2]=2;h[C>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{c[B>>2]=8;h[o>>3]=q;h[i>>3]=j;h[p>>3]=s;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{c[B>>2]=1;k=+h[C>>3];m=+h[o>>3];j=n-j;if(q<+h[i+16>>3]){n=k+-1.0;q=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[o>>3]=+h[i+16>>3]-+h[i+88>>3];h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=n;h[f+56>>3]=n;h[f+64>>3]=q;h[f+72>>3]=m;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{q=m+1.0;n=j-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C>>3]=+h[i+16>>3]+ +h[i+96>>3]+0.0;h[p>>3]=s;h[C+24>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[o>>3]=q;h[f+56>>3]=k;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}}}else{c[B>>2]=4;h[p>>3]=+h[(+h[p>>3]<s?C:w)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=A}else{d=4;E=47}break}case 2:{A=a[(c[x>>2]|0)+89>>0]|0;u=A&255;if(!(A<<24>>24))E=46;else{c[C>>2]=c[f>>2];c[C+4>>2]=c[f+4>>2];c[C+8>>2]=c[f+8>>2];c[C+12>>2]=c[f+12>>2];c[C+16>>2]=c[f+16>>2];c[C+20>>2]=c[f+20>>2];c[C+24>>2]=c[f+24>>2];c[C+28>>2]=c[f+28>>2];o=C+8|0;do if(!(u&4)){i=C+16|0;p=C+24|0;r=(c[B>>2]|0)==4;if(u&1|0)if(r){m=+h[C>>3]+-1.0;i=c[z>>2]|0;s=+h[i+24>>3]-+h[i+80>>3]*.5;q=+h[w>>3];n=s-+((c[(c[(uC(D)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[z>>2]|0;h[C+16>>3]=+h[i+16>>3]-+h[i+88>>3]+-2.0;h[o>>3]=s;h[p>>3]=+h[i+24>>3]+ +h[i+80>>3]*.5;h[C>>3]=m;h[f+56>>3]=m;h[f+64>>3]=n;h[f+72>>3]=q;h[f+80>>3]=s;i=f+88|0;c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[i+16>>2]=c[C+16>>2];c[i+20>>2]=c[C+20>>2];c[i+24>>2]=c[C+24>>2];c[i+28>>2]=c[C+28>>2];i=2;break}else{h[p>>3]=+h[(+h[p>>3]>+h[b+8>>3]?i:b)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}q=+h[w>>3];f=c[z>>2]|0;k=+h[t>>3];j=k+-1.0;s=+h[f+24>>3];n=+h[f+80>>3]*.5;m=s-n;n=s+n;if(!(u&8)){h[C>>3]=q+-1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}else{h[i>>3]=q+1.0;if(r){h[p>>3]=n;i=C}else{h[o>>3]=m;j=k+1.0}h[i+8>>3]=j;c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1;break}}else{h[o>>3]=+h[(+h[o>>3]<+h[t>>3]?C:w)+8>>3];c[v>>2]=c[C>>2];c[v+4>>2]=c[C+4>>2];c[v+8>>2]=c[C+8>>2];c[v+12>>2]=c[C+12>>2];c[v+16>>2]=c[C+16>>2];c[v+20>>2]=c[C+20>>2];c[v+24>>2]=c[C+24>>2];c[v+28>>2]=c[C+28>>2];i=1}while(0);c[g>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((D|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[B>>2]=u}break}default:E=46}if((E|0)==46){d=c[B>>2]|0;E=47}a:do if((E|0)==47){if(p|0?(y=wb[p&63](D,(c[x>>2]|0)+56|0,d,v,g)|0,y|0):0){c[B>>2]=y;break};c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];c[v+16>>2]=c[f+16>>2];c[v+20>>2]=c[f+20>>2];c[v+24>>2]=c[f+24>>2];c[v+28>>2]=c[f+28>>2];c[g>>2]=1;switch(e|0){case 8:{Aa(138697,106815,765,106859);break}case 2:{h[((c[B>>2]|0)==4?v:f+72|0)+8>>3]=+h[t>>3];break a}case 1:{h[f+64>>3]=+h[t>>3];c[B>>2]=4;break a}default:break a}}while(0);l=F;return}function iO(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(uC(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function jO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;b=b+89|0;if((k&8|0)==0?(m=a[b>>0]|0,(m&8)==0):0){if((k&5|0)==0?1:j<<24>>24!=m<<24>>24){l=6;break}if(k&4|0){lO(d,e,f,g,h,i);break}if(!(k&1))Aa(138697,106815,1231,106867);else{nO(d,e,f,g,h,i);break}}if((k&2|0)==0?(a[b>>0]&2)==0:0){mO(d,e,f,g,h,i);break}lO(d,e,f,g,h,i)}while(0);if((l|0)==6)kO(d,e,f,g,h,i);return}function kO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+96>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 65:case 32:{if(E==G)k=0-k|0;break}default:{}}P=B+m;o=(P-D)*3.0;P=(P-F)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m<o?m:o;m=m<P?m:P;while(1){if((q|0)>=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D+o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B+i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F+m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=H*.5+(i+ +h[R+16>>3]),h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function lO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;k=c[D>>2]|0;g=+h[k+16>>3];C=+h[k+24>>3];B=c[B+16>>2]|0;E=g+ +h[B+16>>3];F=C+ +h[B+24>>3];G=g+ +h[B+56>>3];H=C+ +h[B+64>>3];p=!(E>=G)?-1.0:1.0;s=+h[k+80>>3]*.5;m=E-g;n=G-g;o=g-E;switch(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 15:{m=p*(q+(+h[k+96>>3]-n));break}case 38:{m=p*(q+(+h[k+88>>3]-(g-G)));break}case 41:{m=p*(q+(+h[k+96>>3]-m));break}case 48:{m=p*(q+(+h[k+96>>3]-m));break}case 58:case 57:case 51:case 47:case 37:case 14:{m=p*((+h[k+88>>3]-o+(+h[k+96>>3]-n))/3.0);break}case 73:{m=p*(q+(+h[k+88>>3]-o));break}case 83:{m=p*(+h[k+88>>3]-o);break}case 84:{m=p*(q+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}case 85:case 75:case 74:{m=p*(q*2.0+(+h[k+88>>3]-o+(+h[k+96>>3]-n))*.5);break}default:m=0.0}n=C+s;o=(n-F)*3.0;n=(n-H)*3.0;p=q*p;w=L+8|0;x=L+16|0;y=L+32|0;z=L+48|0;q=(E+G)*.5;A=L+64|0;B=L+80|0;u=L+96|0;v=L+104|0;t=0;g=s;o=s<o?s:o;n=s<n?s:n;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;g=g+i;o=o+i;n=n+i;m=p+m;h[L>>3]=E;h[w>>3]=F;s=E+m;pO(M,s,F+o/3.0);c[x>>2]=c[M>>2];c[x+4>>2]=c[M+4>>2];c[x+8>>2]=c[M+8>>2];c[x+12>>2]=c[M+12>>2];Q=C+g;pO(N,s,Q);c[y>>2]=c[N>>2];c[y+4>>2]=c[N+4>>2];c[y+8>>2]=c[N+8>>2];c[y+12>>2]=c[N+12>>2];pO(O,q,Q);c[z>>2]=c[O>>2];c[z+4>>2]=c[O+4>>2];c[z+8>>2]=c[O+8>>2];c[z+12>>2]=c[O+12>>2];s=G-m;pO(J,s,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];pO(K,s,H+n/3.0);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[u>>3]=G;h[v>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(R?k+32|0:k+24|0)>>3],R=c[D>>2]|0,h[k+64>>3]=I*.5+(g+ +h[R+24>>3]),h[k+56>>3]=+h[R+16>>3],a[k+81>>0]=1,I>i):0)g=g+(I-i);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=r;t=t+1|0}l=P;return}function mO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;A=c[b+(e<<2)>>2]|0;i=i*.5/+(f|0);i=i>2.0?i:2.0;C=(c[((c[A>>2]&3|0)==3?A:A+48|0)+40>>2]|0)+16|0;z=c[C>>2]|0;B=+h[z+16>>3];G=+h[z+24>>3];A=c[A+16>>2]|0;D=B+ +h[A+16>>3];E=G+ +h[A+24>>3];F=B+ +h[A+56>>3];G=G+ +h[A+64>>3];k=!(E>=G)?-1:1;m=+h[z+88>>3];switch(oO(d[A+49>>0]|0,d[A+89>>0]|0)|0){case 67:case 12:{if(E==G)k=0-k|0;break}default:{}}o=(D+m-B)*3.0;P=(F+m-B)*3.0;u=i*+(k|0);t=K+8|0;v=K+16|0;w=K+32|0;x=K+48|0;y=(E+G)*.5;z=K+64|0;A=K+80|0;r=K+96|0;s=K+104|0;q=0;n=0.0;i=m;o=m<o?m:o;m=m<P?m:P;while(1){if((q|0)>=(f|0))break;p=e+1|0;e=c[b+(e<<2)>>2]|0;i=i+g;o=o+g;m=m+g;n=u+n;h[K>>3]=D;h[t>>3]=E;P=E+n;pO(L,D-o/3.0,P);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];Q=B-i;pO(M,Q,P);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];pO(N,Q,y);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];P=G-n;pO(I,Q,P);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];pO(J,F-m/3.0,P);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];h[r>>3]=F;h[s>>3]=G;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,H=+h[(R?k+24|0:k+32|0)>>3],R=c[C>>2]|0,h[k+56>>3]=+h[R+16>>3]-i-H*.5,h[k+64>>3]=+h[R+24>>3],a[k+81>>0]=1,H>g):0)i=i+(H-g);bO(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,K,7,j);e=p;q=q+1|0}l=O;return}function nO(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0.0,F=0,G=0,H=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0;O=l;l=l+16080|0;K=O+80|0;L=O+64|0;M=O+48|0;N=O+32|0;I=O+16|0;J=O;B=c[b+(e<<2)>>2]|0;A=g*.5/+(f|0);v=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;C=c[v>>2]|0;y=+h[C+16>>3];u=+h[C+24>>3];B=c[B+16>>2]|0;w=y+ +h[B+16>>3];x=u+ +h[B+24>>3];y=y+ +h[B+56>>3];z=u+ +h[B+64>>3];t=!(w>=y)?-1:1;P=+h[C+80>>3]*.5;B=(oO(d[B+49>>0]|0,d[B+89>>0]|0)|0)==67;m=(x+P-u)*3.0;n=(z+P-u)*3.0;A=(A>2.0?A:2.0)*+((B?0-t|0:t)|0);t=K+8|0;B=K+16|0;C=K+32|0;D=K+48|0;E=(w+y)*.5;F=K+64|0;G=K+80|0;r=K+96|0;s=K+104|0;g=P;k=0.0;m=P<m?P:m;n=P<n?P:n;p=0;while(1){if((p|0)>=(f|0))break;q=e+1|0;o=c[b+(e<<2)>>2]|0;g=g+i;m=m+i;n=n+i;k=A+k;h[K>>3]=w;h[t>>3]=x;P=w+k;pO(L,P,x-m/3.0);c[B>>2]=c[L>>2];c[B+4>>2]=c[L+4>>2];c[B+8>>2]=c[L+8>>2];c[B+12>>2]=c[L+12>>2];Q=u-g;pO(M,P,Q);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];pO(N,E,Q);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];P=y-k;pO(I,P,Q);c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];pO(J,P,z-n/3.0);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];h[r>>3]=y;h[s>>3]=z;e=o+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(R=(c[(c[(uC(c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,H=+h[(R?e+32|0:e+24|0)>>3],R=c[v>>2]|0,h[e+64>>3]=+h[R+24>>3]-g-H*.5,h[e+56>>3]=+h[R+16>>3],a[e+81>>0]=1,H>i):0)g=g+(H-i);bO(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,K,7,j);e=q;p=p+1|0}l=O;return}function oO(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[22092+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[22092+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[22124+(d<<5)+(b<<2)>>2]|0;return d|0}function pO(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function qO(b){b=b|0;var d=0,e=0,f=0;if((c[47272]|0)!=0|(c[47271]|0)!=0){e=b+16|0;f=c[(c[e>>2]|0)+100>>2]|0;d=b+48|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,1)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+100>>2]|0)}f=c[(c[e>>2]|0)+104>>2]|0;if((f|0?(a[f+81>>0]|0)==0:0)?rO(b,0)|0:0){f=uC(c[((c[b>>2]&3|0)==3?b:d)+40>>2]|0)|0;xP(f,c[(c[e>>2]|0)+104>>2]|0)}}return}function rO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+96|0;p=r+32|0;m=r+16|0;o=r;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[47272]|0;if(!((e|0)!=0?(a[(OA(b,e)|0)>>0]|0)!=0:0)){e=c[47271]|0;if(!e){e=0;break}if(!(a[(OA(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;q=c[i>>2]|0;q=c[(d?q+104|0:q+100|0)>>2]|0;e=sO(b)|0;if(e){n=c[e>>2]|0;do if(d){o=c[n>>2]|0;g=+h[o>>3];f=+h[o+8>>3];if(!(c[n+8>>2]|0))e=0;else{k=g;g=+h[n+16>>3];j=f;f=+h[n+24>>3];break}while(1){if((e|0)==4)break;o=p+(e<<4)|0;i=(c[n>>2]|0)+(e<<4)|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];e=e+1|0}iP(m,p,3,.1,0,0);k=+h[m>>3];j=+h[m+8>>3]}else{e=(c[e+4>>2]|0)+-1|0;d=n+(e*48|0)+4|0;i=n+(e*48|0)|0;s=c[i>>2]|0;m=(c[d>>2]|0)+-1|0;f=+h[s+(m<<4)+8>>3];g=+h[s+(m<<4)>>3];if(!(c[n+(e*48|0)+12>>2]|0))e=0;else{k=g;g=+h[n+(e*48|0)+32>>3];j=f;f=+h[n+(e*48|0)+40>>3];break}while(1){if((e|0)==4)break;s=p+(e<<4)|0;n=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];e=e+1|0}iP(o,p,3,.9,0,0);k=+h[o>>3];j=+h[o+8>>3]}while(0);k=+O(+(j-f),+(k-g));k=k+ +YO(b,c[47272]|0,-25.0,-180.0)/180.0*3.141592653589793;j=+YO(b,c[47271]|0,1.0,0.0)*10.0;h[q+56>>3]=g+j*+I(+k);h[q+64>>3]=f+j*+J(+k);a[q+81>>0]=1;e=1}else e=0}else e=0;while(0);l=r;return e|0}function sO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;dA(1,106880,f)|0;d=0}l=h;return d|0}function tO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;uO(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];u=f-g;i=+h[p+8>>3];j=+h[q+8>>3];t=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else{d=c[(c[d>>2]|0)+8>>2]|0;switch(k&14){case 4:case 10:{h[n>>3]=(f+g)*.5;h[n+8>>3]=(i+j)*.5;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];oP(r,d,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{vO(o,d,p,q);break a}}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function uO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function vO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;p=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];q=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=g+ +G(+(p*p+q*q))}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];s=m-n;q=p-o;q=+G(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(g*n+m*s)/q;h[a+8>>3]=(g*o+p*s)/q;return}else if((f|0)==15)Aa(139015,106815,1316,106942)}function wO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;qO(b);return}function xO(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0,K=0,L=0,M=0,N=0;L=yO(b)|0;K=c[L+4>>2]|0;M=c[L>>2]|0;H=K+-1|0;D=+h[M+(H<<6)+16>>3];E=+(K|0);F=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(K|0))break;b=~~+zO(+(n+-1|0),E);C=n+1|0;N=~~+zO(+(C|0),E);o=M+(n<<6)|0;m=+h[o>>3];B=M+(n<<6)+8|0;l=+h[B>>3];u=M+(n<<6)+16|0;v=+h[u>>3];w=M+(n<<6)+24|0;x=M+(n<<6)+32|0;y=M+(n<<6)+40|0;z=M+(n<<6)+48|0;A=M+(n<<6)+56|0;k=+AO(+h[M+(N<<6)+8>>3]-l,+h[M+(N<<6)>>3]-m);p=+AO(+h[M+(b<<6)+8>>3]-l,+h[M+(b<<6)>>3]-m);t=+qb[d&7](v,D,e);b=(n|0)==0;q=k+1.5707963267948966;r=p+-1.5707963267948966;do if(b|(n|0)==(H|0))if(b){if(!F){b=0;s=q;j=t;i=q;break}b=0;s=q;j=t;i=q;l=l-t*+J(+k);m=m-t*+I(+k);break}else{if(!F){b=0;s=r;j=t;i=r;break}b=0;s=r;j=t;i=r;l=l-t*+J(+p);m=m-t*+I(+p);break}else{i=k-p;i=1.5707963267948966-(i<0.0?i+6.283185307179586:i)*.5;j=+I(+i);j=j==0.0?0.0:t/j;i=q+i;if(G|j>t*10.0){i=+zO(r,6.283185307179586);b=1;s=+zO(q,6.283185307179586);j=t}else{b=0;s=i}}while(0);h[o>>3]=m;h[B>>3]=l;h[u>>3]=v;a[w>>0]=108;h[x>>3]=i;h[y>>3]=j;c[z>>2]=b;h[A>>3]=s;n=C}o=HK(12)|0;b=0;while(1){if((b|0)>=(K|0))break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];i=+h[M+(b<<6)+32>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;k=+h[M+(b<<6)+56>>3];BO(o,m+j*+I(+i),l+j*+J(+i));if(N|0)CO(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)DO(o,m,l,j,i,k);else{BO(o,m+j*+I(+k),l+j*+J(+k));i=k}b=K+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[M+(b<<6)>>3];l=+h[M+(b<<6)+8>>3];j=+h[M+(b<<6)+40>>3];N=c[M+(b<<6)+48>>2]|0;i=+h[M+(b<<6)+32>>3]+3.141592653589793;k=+h[M+(b<<6)+56>>3]+3.141592653589793;BO(o,m+j*+I(+k),l+j*+J(+k));if(N|0)CO(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)DO(o,k,l,j,i,i+3.141592653589793);EO(L);return o|0}function yO(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=FO()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];GO(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}iP(n,m,3,+(a|0)/20.0,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=b+ +HO(h,i);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];GO(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}IO(o);l=q;return o|0}function zO(a,b){a=+a;b=+b;if(!(!(a<0.0)&!(a>=b)))a=a-+E(+(a/b))*b;return +a}function AO(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+O(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function BO(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0;f=c[a>>2]|0;e=a+4|0;g=a+8|0;if((f|0)<(c[e>>2]|0))e=c[g>>2]|0;else{c[e>>2]=2e3;e=KK(c[g>>2]|0,32e3)|0;c[g>>2]=e;f=c[a>>2]|0}c[a>>2]=f+1;h[e+(f<<4)>>3]=b;h[e+(f<<4)+8>>3]=d;return}function CO(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0,j=0.0,k=0.0;d=(d|0)==0;i=d?e:f;j=+I(+i)*c+a;k=+J(+i)*c+a;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){DO(h,a,b,c,i+e,i);break}else{BO(h,j,k);break}}else BO(h,j,k);while(0);return}function DO(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;BO(a,+I(+e)*d+b,+J(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f/19.0;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);BO(a,+I(+h)*d+b,+J(+h)*d+c);g=g+1|0}}while(0);return}function EO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function FO(){var a=0;a=HK(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=HK(128e3)|0;return a|0}function GO(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=KK(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function HO(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+8>>3]-+h[b+8>>3];return +(+G(+(d*d+c*c)))}function IO(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=KK(c[a>>2]|0,b<<6)|0;return}function JO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;h=m+12|0;c[h>>2]=0;i=c[e+4>>2]|0;if(!i)Aa(106959,106970,203,106981);f=c[i>>2]|0;if(!f)Aa(106995,106970,206,106981);g=i+8|0;if(!(c[g>>2]|0))c[g>>2]=KO(f)|0;if(!(a[195234]|0))f=0;else{f=(NJ(c[i>>2]|0)|0)==0;f=f?0:h}if(!((bT(d,e,f)|0)<<24>>24))LO(e,f);do if(f|0){g=c[h>>2]|0;d=c[15715]|0;f=c[i>>2]|0;if(!g){c[k>>2]=f;z4(d,107038,k)|0;break}else{c[j>>2]=f;c[j+4>>2]=g;z4(d,107006,j)|0;break}}while(0);k=e+32|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[b+8>>2]=c[k+8>>2];c[b+12>>2]=c[k+12>>2];l=m;return}function KO(a){a=a|0;var b=0;b=c[47371]|0;if((b|0)!=0?(C3(b,a)|0)==0:0)a=c[47380]|0;else{l6(b);c[47371]=Y3(a)|0;a=e6(189484,22380,35,36,95)|0;c[47380]=a}return a|0}function LO(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(N3(e,107072,4)|0)if((N3(e,107077,5)|0)!=0?(N3(e,107083,9)|0)!=0:0){g=4296;e=107093}else{g=8392;e=107129}else{g=6344;e=107110}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=i*f}return}function MO(a,b){a=a|0;b=b|0;return C3(c[a>>2]|0,c[b>>2]|0)|0}function NO(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=36;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Sz(b,c[4591]|0)|0;c[a+144>>2]=b;return b|0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;d=m6(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=Y3(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=Y3(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function PO(a,b,d){a=a|0;b=b|0;d=d|0;l6(c[b>>2]|0);l6(c[b+4>>2]|0);l6(b);return}function QO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=f2(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=f2(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function RO(){Ea(189524)|0;return}function SO(){var a=0,b=0;b=l;l=l+16|0;a=b;Ea(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[47381]|0)-(c[47382]|0)|0)/60.0)}function TO(a){a=a|0;var b=0,d=0;b=HK(16)|0;a=(a|0)>2?a:2;d=HK(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function UO(a){a=a|0;l6(c[a>>2]|0);l6(a);return}function VO(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function WO(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function XO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=$1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function YO(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=OA(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+b6(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function ZO(a){a=a|0;var b=0.0;b=+h[23314];if(!(b>0.0)){b=+YO(a,DA(a,0,107939,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function _O(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=OA(a,b)|0;return c|0}function $O(b,c,d){b=b|0;c=c|0;d=d|0;b=_O(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function aP(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=bP(OA(a,b)|0)|0;return a|0}function bP(a){a=a|0;return cP(a,0)|0}function cP(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((C3(b,137609)|0)!=0?(C3(b,107950)|0)!=0:0)if((C3(b,107953)|0)!=0?(C3(b,107958)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(d6(b)|0)&255}else c=1;else c=0;return c|0}function dP(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=dP(a)|0;e=c[b+16>>2]|0;d=e+220|0;if(!(c[d>>2]|0)){c[d>>2]=b;c[e+216>>2]=1;d=e;e=1}else{b=dP(b)|0;e=c[b+16>>2]|0;d=e;e=c[e+216>>2]|0}h=c[a+16>>2]|0;g=(c[h+120>>2]|0)>(c[d+120>>2]|0);f=h+216|0;e=e+(c[f>>2]|0)|0;a=g?b:a;c[(g?h:d)+220>>2]=a;c[(g?d+216|0:f)>>2]=e}return a|0}function fP(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function gP(a,b){a=a|0;b=b|0;if((dP(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else Aa(107970,107962,194,107986)}function hP(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function iP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=m*+h[n+(k*96|0)+(b<<4)>>3]+ +h[n+(k*96|0)+(p<<4)>>3]*e;h[n+(i*96|0)+(b<<4)+8>>3]=m*+h[n+(k*96|0)+(b<<4)+8>>3]+ +h[n+(k*96|0)+(p<<4)+8>>3]*e;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function jP(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[47385]|0;f=d+1024|0;if((d-e|0)<1024){c[47385]=f;f=KK(c[47386]|0,f)|0;c[47386]=f;d=c[47385]|0}else f=c[47386]|0;d=o4(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(D3(d)|0)+e|0;d=c[47386]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[47386]|0;return ((e|0)>0?d:0)|0}function kP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((b|0)!=0?(a[b>>0]|0)!=0:0){d=c[47179]|0;if(!d){d=c[47178]|0;e=c[47388]|0;if((c[47387]|0)==(d|0))d=e;else{if(e){l6(c[e>>2]|0);l6(c[47388]|0);c[47388]=0;d=c[47178]|0}c[47387]=d;if(!d)break;if(!(a[d>>0]|0))break;d=lP(d)|0;c[47388]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=mP(d,c[47389]|0,b)|0;break}e=c[47177]|0;if(e|0?a[e>>0]|0:0){if(!(c[47387]|0)){c[47388]=lP(e)|0;e=c[47177]|0;c[47387]=e}d=I4(b,47)|0;d=(d|0)==0?b:d+1|0;f=I4(d,92)|0;f=(f|0)==0?d:f+1|0;d=I4(f,58)|0;d=(d|0)==0?f:d+1|0;if(!((a[107997]|0)==0|(d|0)==(b|0))){c[g>>2]=b;c[g+4>>2]=e;dA(0,108123,g)|0;a[107997]=0}b=mP(c[47388]|0,c[47389]|0,d)|0;break}if(a[107997]|0){c[f>>2]=d;dA(0,107998,f)|0;a[107997]=0;b=0}else b=0}else b=0;while(0);l=h;return b|0}function lP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=Y3(a)|0;d=0;while(1){b=i6(b,108285)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=IK(a)|0;else a=KK(d,a)|0;c[a+(g<<2)>>2]=b;f=D3(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[47389]=e;return f|0}function mP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[47390]|0;c[47390]=n6(h,b+2+(D3(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[47390]|0;c[e>>2]=b;c[e+4>>2]=108283;c[e+8>>2]=d;i2(h,108276,e)|0;if(!(H4(c[47390]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[47390]|0;l=g;return a|0}function nP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(f2(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function oP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;p=+h[s+(r<<4)>>3]-+h[d>>3];q=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;B=A?r:e;r=r+1|0;b=A?f:b;e=B;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)+e|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;B=b+e|0;h[x+(b<<4)>>3]=+h[f+(B<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(B<<4)+8>>3];b=b+1|0}q=+h[d>>3];p=+h[x>>3]-q;o=+h[w>>3];k=+h[x+8>>3]-o;n=+h[x+48>>3]-q;j=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(i+g)*.5;iP(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+F(+(k-j))<1.0)break;if(+F(+(g-i))<1.0e-05)break;B=k<j;n=n-o;m=m-q;n=m*m+n*n;g=B?p:g;i=B?i:p;j=B?n:j;k=B?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function pP(){return c[47391]|0}function qP(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+YO(b,c[47200]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+YO(b,c[47199]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=hN($O(b,c[47201]|0,108287)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=OA(b,c[47216]|0)|0;d=+YO(b,c[47212]|0,14.0,1.0);e=$O(b,c[47213]|0,108295)|0;f=$O(b,c[47214]|0,137615)|0;i=(gD(l)|0)!=0;k=(UM(b)|0)==2;i=xK(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[47217]|0;if((i|0?(j=OA(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(gD(j)|0)!=0;l=xK(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(uC(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(XO(b,c[47220]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;db[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function rP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=uC(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[47251]|0;if(((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){sP(b,m);t=(gD(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=xK(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=bP(_O(b,c[47261]|0,137609)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[47252]|0;if((f|0?(j=OA(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){sP(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(gD(j)|0)!=0;j=xK(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[47266]|0;if(((d|0)!=0?(k=OA(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){tP(b,m,n);j=(gD(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=xK(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[47267]|0;if((f|0?(q=OA(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){tP(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(gD(q)|0)!=0;q=xK(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=NA(b,111756)|0;d=d|0?d:195341;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;uP(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47273]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=NA(b,111765)|0;d=d|0?d:195341;e=b+-48|0;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1;f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;uP(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((vP(b,c[47274]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function sP(a,b){a=a|0;b=b|0;h[b>>3]=+YO(a,c[47248]|0,14.0,1.0);c[b+8>>2]=$O(a,c[47249]|0,108295)|0;c[b+12>>2]=$O(a,c[47250]|0,137615)|0;return}function tP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))sP(a,b);h[d>>3]=+YO(a,c[47268]|0,+h[b>>3],1.0);c[d+8>>2]=$O(a,c[47269]|0,c[e>>2]|0)|0;c[d+12>>2]=$O(a,c[47270]|0,c[b+12>>2]|0)|0;return}function uP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=F3(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function vP(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=OA(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(bP(d)|0)<<24>>24==0&1;else b=0;return b|0}function wP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((S((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function xP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];yP(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function yP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;m=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];g=(j?k:i)*.5;f=m-g;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=l+g;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function zP(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0;M=l;l=l+432|0;I=M+400|0;u=M+384|0;v=M+288|0;L=M+224|0;H=M+192|0;B=M+144|0;C=M+64|0;d=M+368|0;e=M+352|0;f=M+336|0;D=M+320|0;w=M+256|0;x=M+160|0;y=M+112|0;z=M+80|0;A=M+32|0;J=M;G=L+16|0;K=b+16|0;if((qB(b)|0)==0?(c[(c[K>>2]|0)+180>>2]|0)==0:0){AP(L,0.0,0.0);AP(d,0.0,0.0);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2]}else{AP(e,2147483647.0,2147483647.0);c[L>>2]=c[e>>2];c[L+4>>2]=c[e+4>>2];c[L+8>>2]=c[e+8>>2];c[L+12>>2]=c[e+12>>2];AP(f,-2147483647.0,-2147483647.0);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];E=L+24|0;F=L+8|0;p=C+8|0;q=v+16|0;r=v+8|0;s=v+24|0;t=B+8|0;o=gC(b)|0;while(1){if(!o)break;hP(B,o);d=o+16|0;n=c[d>>2]|0;h[C>>3]=(+h[n+88>>3]+ +h[n+96>>3])*.5;h[p>>3]=+h[n+80>>3]*.5;c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];BP(v,u,I);c[u>>2]=c[B>>2];c[u+4>>2]=c[B+4>>2];c[u+8>>2]=c[B+8>>2];c[u+12>>2]=c[B+12>>2];c[I>>2]=c[C>>2];c[I+4>>2]=c[C+4>>2];c[I+8>>2]=c[C+8>>2];c[I+12>>2]=c[C+12>>2];CP(D,u,I);c[q>>2]=c[D>>2];c[q+4>>2]=c[D+4>>2];c[q+8>>2]=c[D+8>>2];c[q+12>>2]=c[D+12>>2];h[L>>3]=+h[(+h[L>>3]<+h[v>>3]?L:v)>>3];h[F>>3]=+h[(+h[F>>3]<+h[r>>3]?L:v)+8>>3];h[G>>3]=+h[(+h[G>>3]>+h[q>>3]?L:v)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[s>>3]?L:v)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){n=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(w,I,d,n);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];c[L+16>>2]=c[w+16>>2];c[L+20>>2]=c[w+20>>2];c[L+24>>2]=c[w+24>>2];c[L+28>>2]=c[w+28>>2]}n=UA(b,o)|0;while(1){if(!n)break;m=n+16|0;d=c[m>>2]|0;g=c[d+8>>2]|0;if(g|0){i=c[g+4>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;k=c[g>>2]|0;j=c[k+(f*48|0)+4>>2]|0;k=k+(f*48|0)|0;e=0;while(1){if((e|0)>=(j|0))break;P=(c[k>>2]|0)+(e<<4)|0;c[B>>2]=c[P>>2];c[B+4>>2]=c[P+4>>2];c[B+8>>2]=c[P+8>>2];c[B+12>>2]=c[P+12>>2];O=+h[B>>3];h[L>>3]=+h[(+h[L>>3]<O?L:B)>>3];N=+h[t>>3];h[F>>3]=+h[(+h[F>>3]<N?L:B)+8>>3];h[G>>3]=+h[(+h[G>>3]>O?G:B)>>3];h[E>>3]=+h[(+h[E>>3]>N?G:B)+8>>3];e=e+1|0}f=f+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(x,I,e,d);c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];c[L+16>>2]=c[x+16>>2];c[L+20>>2]=c[x+20>>2];c[L+24>>2]=c[x+24>>2];c[L+28>>2]=c[x+28>>2];d=c[m>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(y,I,e,d);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];c[L+16>>2]=c[y+16>>2];c[L+20>>2]=c[y+20>>2];c[L+24>>2]=c[y+24>>2];c[L+28>>2]=c[y+28>>2];d=c[m>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(z,I,e,d);c[L>>2]=c[z>>2];c[L+4>>2]=c[z+4>>2];c[L+8>>2]=c[z+8>>2];c[L+12>>2]=c[z+12>>2];c[L+16>>2]=c[z+16>>2];c[L+20>>2]=c[z+20>>2];c[L+24>>2]=c[z+24>>2];c[L+28>>2]=c[z+28>>2];d=c[m>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){P=c[(c[K>>2]|0)+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(A,I,d,P);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];c[L+16>>2]=c[A+16>>2];c[L+20>>2]=c[A+20>>2];c[L+24>>2]=c[A+24>>2];c[L+28>>2]=c[A+28>>2]}}n=WA(b,n)|0}o=hC(b,o)|0}d=c[K>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=H+8|0;j=H+16|0;k=H+24|0;e=1;while(1){if((e|0)>(f|0))break;P=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;R=+h[P+16>>3];h[H>>3]=R;Q=+h[P+24>>3];h[i>>3]=Q;N=+h[P+32>>3];h[j>>3]=N;O=+h[P+40>>3];h[k>>3]=O;h[L>>3]=+h[(+h[L>>3]<R?L:H)>>3];h[F>>3]=+h[(+h[F>>3]<Q?L:H)+8>>3];h[G>>3]=+h[(+h[G>>3]>N?L:H)+16>>3];h[E>>3]=+h[(+h[E>>3]>O?L:H)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[I+16>>2]=c[L+16>>2];c[I+20>>2]=c[L+20>>2];c[I+24>>2]=c[L+24>>2];c[I+28>>2]=c[L+28>>2];yP(J,I,e,d);c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];c[L+16>>2]=c[J+16>>2];c[L+20>>2]=c[J+20>>2];c[L+24>>2]=c[J+24>>2];c[L+28>>2]=c[J+28>>2];d=c[K>>2]|0}P=d+16|0;c[P>>2]=c[L>>2];c[P+4>>2]=c[L+4>>2];c[P+8>>2]=c[L+8>>2];c[P+12>>2]=c[L+12>>2];c[P+16>>2]=c[L+16>>2];c[P+20>>2]=c[L+20>>2];c[P+24>>2]=c[L+24>>2];c[P+28>>2]=c[L+28>>2]}l=M;return}function AP(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function BP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function CP(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function DP(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(N3(HB(a)|0,108307,7)|0)==0;return a&1|0}function EP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(FC(b)|0){case 0:{e=DA(a,0,c,195341)|0;break a}case 1:{e=DA(a,1,c,195341)|0;break a}case 2:{e=DA(a,2,c,195341)|0;break a}default:{e=0;break a}}while(0);HA(b,e,d)|0;return e|0}function FP(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=GP(d)|0;h=Sz(23640,c[4591]|0)|0;j=LD(d,108315,1)|0;RC(j,137786,280,1)|0;hA(g,128,k+16|0);e=gC(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=UA(d,e)|0;while(1){if(!f)break a;HP(f,j,g,h,i);f=WA(d,f)|0}}while(0);e=hC(d,e)|0}lA(g);Oz(h)|0;f=qB(j)|0;e=gC(j)|0;while(1){if(!e)break;h=hC(j,e)|0;tC(d,e)|0;e=h}pB(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}Oz(i)|0;l=k;return f|0}function GP(a){a=a|0;var b=0;b=Sz(23676,c[4591]|0)|0;QP(a,b);return b|0}function HP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(h2(HB(m)|0,108307,7)|0))o=IP(g,HB(m)|0)|0;else o=0;if(!(h2(HB(n)|0,108307,7)|0))j=IP(g,HB(n)|0)|0;else j=0;h=(o|0)!=0;i=(j|0)!=0;if(h|i){if((o|0)==(j|0)){r=HB(m)|0;s=HB(m)|0;c[k>>2]=r;c[k+4>>2]=s;dA(0,108330,k)|0;break}g=JP(f,b)|0;if(g|0){KP(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!i)if(!(EC(o,n)|0)){MP(f,m,n,KP(b,LP(m,o,e,d)|0,n)|0);break}else{r=HB(n)|0;s=HB(o)|0;c[q>>2]=r;c[q+4>>2]=s;dA(0,108485,q)|0;break}if(!h)if(!(EC(j,m)|0)){MP(f,m,n,KP(b,m,LP(n,j,e,d)|0)|0);break}else{r=HB(m)|0;s=HB(j)|0;c[p>>2]=r;c[p+4>>2]=s;dA(0,108448,p)|0;break}if(EC(j,o)|0){q=HB(o)|0;s=HB(j)|0;c[r>>2]=q;c[r+4>>2]=s;dA(0,108368,r)|0;break}if(!(EC(o,j)|0)){s=LP(m,o,e,d)|0;MP(f,m,n,KP(b,s,LP(n,j,e,d)|0)|0);break}else{q=HB(j)|0;r=HB(o)|0;c[s>>2]=q;c[s+4>>2]=r;dA(0,108408,s)|0;break}}}while(0);l=t;return}function IP(a,b){a=a|0;b=b|0;a=eb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function JP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=eb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function KP(a,b,c){a=a|0;b=b|0;c=c|0;c=fB(uC(b)|0,b,c,0,1)|0;RC(c,137763,176,1)|0;RA(a,c)|0;return c|0}function LP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;kA(e,108522)|0;i=c[47392]|0;c[47392]=i+1;c[g>>2]=i;i2(j,137696,g)|0;kA(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;kA(e,HB(d)|0)|0;h=vC(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){iA(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=qC(h,e,1)|0;RC(j,137750,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;lC(d,j,1)|0;lC(f,b,1)|0;f=uC(j)|0;c[47216]=EP(f,j,108525,195341,c[47216]|0)|0;f=uC(j)|0;c[47219]=EP(f,j,141385,134636,c[47219]|0)|0;f=uC(j)|0;c[47201]=EP(f,j,108531,108537,c[47201]|0)|0;l=k;return j|0}function MP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];eb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];eb[c[a>>2]&63](a,g,1)|0;l=f;return}function NP(a,b,d){a=a|0;b=b|0;d=d|0;d=HK(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function OP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0<d>>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function QP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=HB(a)|0;if(!(eb[c[b>>2]&63](b,d,512)|0)){i=HK(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;eb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;dA(0,108541,g)|0}QP(a,b);e=e+1|0}l=h;return}function RP(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function SP(a){a=a|0;var b=0,c=0,d=0;d=LD(a,108315,1)|0;RC(d,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;TP(c,d);c=WA(a,c)|0}b=hC(a,b)|0}b=gC(d)|0;while(1){if(!b)break;c=hC(d,b)|0;UP(b);tC(a,b)|0;b=c}pB(d)|0;return}function TP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=VP(f,d)|0;e=KP(b,f,VP(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;WP(b)}return}function UP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){l6(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){db[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}AK(c[b+104>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);TC(a,137750)|0;return}function VP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=uC(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){lC(d,b,1)|0;b=F3(HB(b)|0,58)|0;if(!b)Aa(111509,107962,1225,108593);d=b+1|0;b=qC(f,d,0)|0;if(!b){b=qC(f,d,1)|0;RC(b,137750,304,1)|0;d=IA(f,1,0)|0;while(1){if(!d)break a;g=OA(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))HA(b,d,e)|0;d=IA(f,1,d)|0}}}while(0);return b|0}function WP(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+144>>2]|0);XP(a);AK(c[(c[b>>2]|0)+96>>2]|0);AK(c[(c[b>>2]|0)+108>>2]|0);AK(c[(c[b>>2]|0)+100>>2]|0);AK(c[(c[b>>2]|0)+104>>2]|0);TC(a,137763)|0;return}function XP(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;l6(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}l6(a);l6(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function YP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=DA(a,b,c,0)|0;if(!e)e=DA(a,b,c,d)|0;return e|0}function ZP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=F3(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(N4(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e6(h,23712,252,8,96)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];i2(j,137696,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;kA(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){iA(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function _P(a,b){a=a|0;b=b|0;return f2(c[a>>2]|0,c[b>>2]|0)|0}function $P(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[47393]|0)!=(d|0)){c[47393]=d;a[195240]=0}hA(o,1024,q+40|0);n=o+8|0;p=o+4|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){g=bQ(i)|0;if(!g)e=38;else{if(g>>>0<127){e=g&255;break}b=c[p>>2]|0;f=b>>>0>=(c[n>>2]|0)>>>0;h=g>>>6;e=(g&63|128)&255;if(g>>>0<2047){if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h|192;break}if(f){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=g>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=h&63|128}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[195240]|0)){c[j>>2]=HB(d)|0;dA(0,110008,j)|0;a[195240]=1}h=-1;e=aQ(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[195240]|0)){g=HB(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;dA(0,110129,k)|0;a[195240]=1}e=aQ(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){iA(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=Y3(n)|0;lA(o);l=q;return p|0}\nfunction tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;if(a){if((c[a+32>>2]|0)!=1)Aa(95220,95244,187,95375);s=a+36|0;d=c[s>>2]|0;if((d&2|0)==0?(p=(b|0)!=0,(d&1|0)==0|p^1):0)if((c[a>>2]|0)==(c[a+4>>2]|0)?(t=mw(a)|0,(t|0)!=0):0){k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[t+20>>2]|0;n=c[t+24>>2]|0;o=c[a>>2]|0;q=IK(o<<2)|0;b=0;while(1){if((b|0)>=(o|0))break;c[q+(b<<2)>>2]=-1;b=b+1|0}b=a+28|0;d=t+28|0;a:do switch((p?8:c[a+16>>2]|0)|0){case 1:{i=c[b>>2]|0;g=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}b:while(1){if((d|0)>=(o|0)){r=54;break a}e=k+(d<<2)|0;f=d+1|0;a=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}b=c[m+(d<<2)>>2]|0;a=c[m+(f<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){d=f;continue b}u=+h[g+(b<<3)>>3]-+h[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 2:{j=c[b>>2]|0;i=c[d>>2]|0;b=0;while(1){if((b|0)>(o|0)){d=0;break}if((c[k+(b<<2)>>2]|0)==(c[m+(b<<2)>>2]|0))b=b+1|0;else{b=0;break a}}c:while(1){if((d|0)>=(o|0)){r=54;break a}f=k+(d<<2)|0;g=d+1|0;a=k+(g<<2)|0;b=c[f>>2]|0;while(1){if((b|0)>=(c[a>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(d<<2)>>2]|0;e=c[m+(g<<2)>>2]|0;b=d;while(1){if((b|0)>=(e|0)){b=d;break}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[f>>2]|0)){b=0;break a}else b=b+1|0}while(1){if((b|0)>=(e|0)){d=g;continue c}d=b<<1;a=c[q+(c[n+(b<<2)>>2]<<2)>>2]<<1;u=+h[i+(d<<3)>>3]-+h[j+(a<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}u=+h[i+((d|1)<<3)>>3]-+h[j+((a|1)<<3)>>3];if((u>=0.0?u:-u)>1.0e-07){b=0;break a}else b=b+1|0}}}case 4:{i=c[b>>2]|0;f=c[d>>2]|0;b=0;d:while(1){if((b|0)>=(o|0)){r=54;break a}e=k+(b<<2)|0;g=b+1|0;a=k+(g<<2)|0;d=c[e>>2]|0;while(1){if((d|0)>=(c[a>>2]|0))break;c[q+(c[l+(d<<2)>>2]<<2)>>2]=d;d=d+1|0}b=c[m+(b<<2)>>2]|0;a=c[m+(g<<2)>>2]|0;d=b;while(1){if((d|0)>=(a|0))break;if((c[q+(c[n+(d<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else d=d+1|0}while(1){if((b|0)>=(a|0)){b=g;continue d}if((c[f+(b<<2)>>2]|0)==(c[i+(c[q+(c[n+(b<<2)>>2]<<2)>>2]<<2)>>2]|0))b=b+1|0;else{b=0;break a}}}}case 8:{a=0;e:while(1){if((a|0)>=(o|0)){r=54;break a}e=k+(a<<2)|0;f=a+1|0;d=k+(f<<2)|0;b=c[e>>2]|0;while(1){if((b|0)>=(c[d>>2]|0))break;c[q+(c[l+(b<<2)>>2]<<2)>>2]=b;b=b+1|0}d=c[m+(f<<2)>>2]|0;b=c[m+(a<<2)>>2]|0;while(1){if((b|0)>=(d|0)){a=f;continue e}if((c[q+(c[n+(b<<2)>>2]<<2)>>2]|0)<(c[e>>2]|0)){b=0;break a}else b=b+1|0}}}default:b=0}while(0);if((r|0)==54){d=c[s>>2]|0;if(p)b=1;else{c[s>>2]=d|2;b=3}c[s>>2]=b|d;b=1}l6(q);nw(t)}else b=0;else b=1}else b=0;return b|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a)b=0;else{e=a+8|0;f=a+40|0;b=ww(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[a+16>>2]|0,c[f>>2]|0,c[a+32>>2]|0)|0;d=a+20|0;B6(c[b+20>>2]|0,c[d>>2]|0,(c[a>>2]<<2)+4|0)|0;B6(c[b+24>>2]|0,c[a+24>>2]|0,c[(c[d>>2]|0)+(c[a>>2]<<2)>>2]<<2|0)|0;d=c[a+28>>2]|0;if(d|0)B6(c[b+28>>2]|0,d|0,S(c[e>>2]|0,c[f>>2]|0)|0)|0;c[b+36>>2]=c[a+36>>2];c[b+8>>2]=c[e>>2]}return b|0}function vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[b+20>>2]|0;v=c[b+24>>2]|0;if(!((a|0)!=0&(b|0)!=0))Aa(95282,95244,973,95289);s=c[a+32>>2]|0;if(!((s|0)==1?(s|0)==(c[b+32>>2]|0):0))Aa(95306,95244,974,95289);f=a+16|0;d=c[f>>2]|0;if((d|0)!=(c[b+16>>2]|0))Aa(95356,95244,975,95289);q=c[a>>2]|0;e=c[a+4>>2]|0;if(((q|0)==(c[b>>2]|0)?(e|0)==(c[b+4>>2]|0):0)?(w=ow(q,e,(c[b+8>>2]|0)+(c[a+8>>2]|0)|0,d,1)|0,w|0):0){o=c[w+20>>2]|0;p=c[w+24>>2]|0;s=IK(e<<2)|0;d=0;while(1){if((d|0)>=(e|0))break;c[s+(d<<2)>>2]=-1;d=d+1|0}c[o>>2]=0;d=a+28|0;a=b+28|0;e=w+28|0;a:do switch(c[f>>2]|0){case 1:{m=c[d>>2]|0;l=c[a>>2]|0;j=c[e>>2]|0;d=0;b=0;while(1){if((b|0)>=(q|0))break a;k=b+1|0;e=r+(k<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;n=t+(a<<2)|0;c[s+(c[n>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[n>>2];h[j+(d<<3)>>3]=+h[m+(a<<3)>>3];a=a+1|0;d=d+1|0}f=u+(k<<2)|0;g=o+(b<<2)|0;b=c[u+(b<<2)>>2]|0;while(1){if((b|0)>=(c[f>>2]|0))break;a=c[v+(b<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;i=+h[l+(b<<3)>>3];if((e|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;h[j+(d<<3)>>3]=i;d=d+1|0}else{n=j+(e<<3)|0;h[n>>3]=i+ +h[n>>3]}b=b+1|0}c[o+(k<<2)>>2]=d;b=k}}case 2:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;g=t+(a<<2)|0;c[s+(c[g>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[g>>2];g=a<<1;j=d<<1;h[k+(j<<3)>>3]=+h[n+(g<<3)>>3];h[k+((j|1)<<3)>>3]=+h[n+((g|1)<<3)>>3];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;x=f<<1;b=m+((x|1)<<3)|0;i=+h[m+(x<<3)>>3];if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;x=d<<1;h[k+(x<<3)>>3]=i;h[k+((x|1)<<3)>>3]=+h[b>>3];d=d+1|0}else{x=e<<1;e=k+(x<<3)|0;h[e>>3]=i+ +h[e>>3];x=k+((x|1)<<3)|0;h[x>>3]=+h[b>>3]+ +h[x>>3]}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 4:{n=c[d>>2]|0;m=c[a>>2]|0;k=c[e>>2]|0;b=0;d=0;while(1){if((b|0)>=(q|0))break a;l=b+1|0;e=r+(l<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];c[k+(d<<2)>>2]=c[n+(a<<2)>>2];a=a+1|0;d=d+1|0}g=u+(l<<2)|0;j=o+(b<<2)|0;f=c[u+(b<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;a=c[v+(f<<2)>>2]|0;e=c[s+(a<<2)>>2]|0;b=m+(f<<2)|0;if((e|0)<(c[j>>2]|0)){c[p+(d<<2)>>2]=a;c[k+(d<<2)>>2]=c[b>>2];d=d+1|0}else{x=k+(e<<2)|0;c[x>>2]=(c[x>>2]|0)+(c[b>>2]|0)}f=f+1|0}c[o+(l<<2)>>2]=d;b=l}}case 8:{d=0;b=0;while(1){if((b|0)>=(q|0))break a;j=b+1|0;e=r+(j<<2)|0;a=c[r+(b<<2)>>2]|0;while(1){if((a|0)>=(c[e>>2]|0))break;x=t+(a<<2)|0;c[s+(c[x>>2]<<2)>>2]=d;c[p+(d<<2)>>2]=c[x>>2];d=d+1|0;a=a+1|0}f=u+(j<<2)|0;g=o+(b<<2)|0;e=c[u+(b<<2)>>2]|0;while(1){if((e|0)>=(c[f>>2]|0))break;a=c[v+(e<<2)>>2]|0;if((c[s+(a<<2)>>2]|0)<(c[g>>2]|0)){c[p+(d<<2)>>2]=a;d=d+1|0}e=e+1|0}c[o+(j<<2)>>2]=d;b=j}}default:d=0}while(0);c[w+8>>2]=d;l6(s);return w|0}return 0}function ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;a=qw(a,b,d,e,f)|0;if((c|0)>0)rw(a,c)|0;return a|0}function xw(a,b){a=a|0;b=b|0;var d=0;if(!(tw(a,b)|0)){b=mw(a)|0;if(!b)b=0;else{d=vw(a,b)|0;nw(b);b=d+36|0;c[b>>2]=c[b>>2]|3;b=d;d=5}}else{b=uw(a)|0;d=5}if((d|0)==5)b=yw(b)|0;return b|0}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{k=c[a+20>>2]|0;l=c[a+24>>2]|0;d=c[k>>2]|0;m=a+8|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;h[j+(b<<3)>>3]=+h[j+(d<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 2:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;n=d<<1;e=b<<1;h[j+(e<<3)>>3]=+h[j+(n<<3)>>3];h[j+((e|1)<<3)>>3]=+h[j+((n|1)<<3)>>3];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 4:{j=c[b>>2]|0;i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;c[j+(b<<2)>>2]=c[j+(d<<2)>>2];b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}case 8:{i=0;b=0;while(1){if((i|0)>=(c[a>>2]|0))break b;f=i+1|0;g=k+(f<<2)|0;while(1){e=c[g>>2]|0;if((d|0)>=(e|0))break;e=c[l+(d<<2)>>2]|0;if((e|0)!=(i|0)){c[l+(b<<2)>>2]=e;b=b+1|0}d=d+1|0}c[g>>2]=b;i=f;d=e}}default:{a=0;break a}}while(0);c[m>>2]=b}while(0);return a|0}function zw(a){a=a|0;if((c[a+32>>2]|0)==2)return Aw(c[a+8>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,c[a+28>>2]|0,c[a+16>>2]|0,c[a+40>>2]|0)|0;else Aa(95401,95244,803,95427);return 0}function Aw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Bw(a,b,c,d,e,f,g,h,1)|0}function Bw(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;if(!((a|0)>-1&((b|0)>0&(d|0)>0)))Aa(95463,95244,843,95489);j=ww(b,d,a,i,j,1)|0;if(!j)Aa(95534,95244,847,95489);v=c[j+20>>2]|0;u=c[j+24>>2]|0;m=b+1|0;l=0;while(1){if((l|0)==(m|0))break;c[v+(l<<2)>>2]=0;l=l+1|0}n=j+28|0;a:do switch(i|0){case 1:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){r=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=13;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=13;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==13)Aa(138697,95244,862,95489);while(1){if((r|0)==(b|0)){l=0;break}t=r+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(r<<2)>>2]|0);r=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;h[n+(t<<3)>>3]=+h[g+(l<<3)>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 2:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){s=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=25;break}r=c[f+(l<<2)>>2]|0;if(!((r|0)>-1&(r|0)<(d|0))){t=25;break}r=v+(m+1<<2)|0;c[r>>2]=(c[r>>2]|0)+1;l=l+1|0}if((t|0)==25)Aa(138697,95244,880,95489);while(1){if((s|0)==(b|0)){l=0;break}t=s+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(s<<2)>>2]|0);s=t}while(1){if((l|0)==(a|0))break;s=v+(c[e+(l<<2)>>2]<<2)|0;t=c[s>>2]|0;d=t<<1;h[n+(d<<3)>>3]=+h[g>>3];h[n+((d|1)<<3)>>3]=+h[g+8>>3];d=c[f+(l<<2)>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+16|0;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 4:{n=c[n>>2]|0;l=0;while(1){if((l|0)>=(a|0)){q=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=37;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=37;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==37)Aa(138697,95244,899,95489);while(1){if((q|0)==(b|0)){l=0;break}t=q+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(q<<2)>>2]|0);q=t}while(1){if((l|0)==(a|0))break;s=e+(l<<2)|0;c[n+(c[v+(c[s>>2]<<2)>>2]<<2)>>2]=c[g+(l<<2)>>2];d=c[f+(l<<2)>>2]|0;s=v+(c[s>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;l=l+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 8:{g=0;while(1){if((g|0)>=(a|0)){o=0;break}l=c[e+(g<<2)>>2]|0;if(!((l|0)>-1&(l|0)<(b|0))){t=48;break}s=c[f+(g<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=48;break}s=v+(l+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;g=g+1|0}if((t|0)==48)Aa(138697,95244,915,95489);while(1){if((o|0)==(b|0)){g=0;break}t=o+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(o<<2)>>2]|0);o=t}while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}case 16:{l=0;while(1){if((l|0)>=(a|0)){p=0;break}m=c[e+(l<<2)>>2]|0;if(!((m|0)>-1&(m|0)<(b|0))){t=59;break}s=c[f+(l<<2)>>2]|0;if(!((s|0)>-1&(s|0)<(d|0))){t=59;break}s=v+(m+1<<2)|0;c[s>>2]=(c[s>>2]|0)+1;l=l+1|0}if((t|0)==59)Aa(138697,95244,930,95489);while(1){if((p|0)==(b|0))break;t=p+1|0;d=v+(t<<2)|0;c[d>>2]=(c[d>>2]|0)+(c[v+(p<<2)>>2]|0);p=t}B6(c[n>>2]|0,g|0,S(c[j+40>>2]|0,a)|0)|0;g=0;while(1){if((g|0)==(a|0))break;d=c[f+(g<<2)>>2]|0;s=v+(c[e+(g<<2)>>2]<<2)|0;t=c[s>>2]|0;c[s>>2]=t+1;c[u+(t<<2)>>2]=d;g=g+1|0}while(1){if((b|0)<=0)break a;f=b+-1|0;c[v+(b<<2)>>2]=c[v+(f<<2)>>2];b=f}}default:Aa(138697,95244,944,95489)}while(0);c[v>>2]=0;c[j+8>>2]=a;if(k)j=Cw(j,k)|0;return j|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=c[a+20>>2]|0;w=c[a+24>>2]|0;e=c[a+16>>2]|0;s=c[a+4>>2]|0;a:do if(b){r=s<<2;u=IK(r)|0;d=0;while(1){if((d|0)>=(s|0))break;c[u+(d<<2)>>2]=-1;d=d+1|0}d=a+28|0;b:do switch(e|0){case 1:{k=c[d>>2]|0;f=0;e=c[v>>2]|0;d=0;c:while(1){if((d|0)>=(c[a>>2]|0)){x=f;y=u;break b}m=d+1|0;n=v+(m<<2)|0;j=v+(d<<2)|0;d=f;while(1){b=c[n>>2]|0;if((e|0)>=(b|0))break;b=w+(e<<2)|0;f=c[b>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(e<<3)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;h[k+(d<<3)>>3]=+h[i>>3];c[u+(c[b>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break c;t=k+(g<<3)|0;h[t>>3]=+h[i>>3]+ +h[t>>3]}e=e+1|0}c[n>>2]=d;f=d;e=b;d=m}Aa(95536,95244,1792,95561);break}case 2:{t=c[d>>2]|0;switch(b|0){case 1:{b=c[v>>2]|0;e=0;d=0;d:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;j=b<<1;i=t+(j<<3)|0;j=t+((j|1)<<3)|0;if((g|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=f;s=d<<1;h[t+(s<<3)>>3]=+h[i>>3];h[t+((s|1)<<3)>>3]=+h[j>>3];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break d;s=g<<1;r=t+(s<<3)|0;h[r>>3]=+h[i>>3]+ +h[r>>3];s=t+((s|1)<<3)|0;h[s>>3]=+h[j>>3]+ +h[s>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1815,95561);break}case 4:{b=c[v>>2]|0;e=0;d=0;e:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;i=w+(b<<2)|0;j=c[i>>2]|0;e=c[u+(j<<2)>>2]|0;g=b<<1;f=t+(g<<3)|0;g=t+((g|1)<<3)|0;if((e|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=j;s=d<<1;h[t+(s<<3)>>3]=+h[f>>3];h[t+((s|1)<<3)>>3]=+h[g>>3];c[u+(c[i>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(e<<2)>>2]|0)!=(j|0))break e;s=e<<1;r=t+(s<<3)|0;h[r>>3]=+h[f>>3]+ +h[r>>3];h[t+((s|1)<<3)>>3]=+h[g>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95536,95244,1835,95561);break}default:{p=t+8|0;switch(b|0){case 2:break;case 3:{f=~~+h[p>>3];i=c[a>>2]|0;d=f;e=0;g=0;f:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;b=d;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){d=b;g=j;continue f}q=~~+h[t+(e<<1<<3)>>3];b=(b|0)>(q|0)?b:q;f=(f|0)>(q|0)?f:q;e=e+1|0;d=d+1|0}}l6(u);e=d-f+1|0;o=IK(S(e,r)|0)|0;e=S(e,s)|0;d=0;while(1){if((d|0)>=(e|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;g:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+(j<<3)>>3];g=o+((S(~~l-f|0,s)|0)+e<<2)|0;i=c[g>>2]|0;j=t+((j|1)<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;q=d<<1;h[t+(q<<3)>>3]=l;h[t+((q|1)<<3)>>3]=+h[j>>3];c[g>>2]=d;d=d+1|0}else{if((c[w+(i<<2)>>2]|0)!=(e|0))break g;q=i<<1;h[t+(q<<3)>>3]=l;q=t+((q|1)<<3)|0;h[q>>3]=+h[j>>3]+ +h[q>>3]}b=b+1|0}c[n>>2]=d;b=e;e=m}Aa(95614,95244,1905,95561);break}default:{x=0;y=u;break b}}q=~~+h[p>>3];i=c[a>>2]|0;e=q;g=0;d=0;h:while(1){if((g|0)>=(i|0))break;j=g+1|0;k=c[v+(j<<2)>>2]|0;f=d;b=q;d=c[v+(g<<2)>>2]|0;while(1){if((d|0)>=(k|0)){q=b;g=j;d=f;continue h}q=~~+h[t+((f<<1|1)<<3)>>3];f=f+1|0;e=(e|0)>(q|0)?e:q;b=(b|0)<(q|0)?b:q;d=d+1|0}}l6(u);p=e-q+1|0;o=IK(S(p,r)|0)|0;p=S(p,s)|0;d=0;while(1){if((d|0)>=(p|0))break;c[o+(d<<2)>>2]=-1;d=d+1|0}d=0;b=c[v>>2]|0;e=0;i:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=o;break b}m=e+1|0;n=v+(m<<2)|0;k=v+(e<<2)|0;while(1){e=c[n>>2]|0;if((b|0)>=(e|0))break;e=c[w+(b<<2)>>2]|0;j=b<<1;l=+h[t+((j|1)<<3)>>3];f=(S(~~l-q|0,s)|0)+e|0;g=o+(f<<2)|0;i=c[g>>2]|0;j=t+(j<<3)|0;if((i|0)<(c[k>>2]|0)){c[w+(d<<2)>>2]=e;u=d<<1;h[t+(u<<3)>>3]=+h[j>>3];h[t+((u|1)<<3)>>3]=l;c[g>>2]=d;d=d+1|0}else{if((f|0)>=(p|0)){d=56;break i}if((c[w+(i<<2)>>2]|0)!=(e|0)){d=58;break i}u=i<<1;r=t+(u<<3)|0;h[r>>3]=+h[j>>3]+ +h[r>>3];h[t+((u|1)<<3)>>3]=l}b=b+1|0}c[n>>2]=d;b=e;e=m}if((d|0)==56)Aa(95593,95244,1869,95561);else if((d|0)==58)Aa(95614,95244,1870,95561)}}break}case 4:{k=c[d>>2]|0;e=0;d=0;b=c[v>>2]|0;j:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}m=e+1|0;n=v+(m<<2)|0;j=v+(e<<2)|0;while(1){f=c[n>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;i=k+(b<<2)|0;if((g|0)<(c[j>>2]|0)){c[w+(d<<2)>>2]=f;c[k+(d<<2)>>2]=c[i>>2];c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}else{if((c[w+(g<<2)>>2]|0)!=(f|0))break j;t=k+(g<<2)|0;c[t>>2]=(c[t>>2]|0)+(c[i>>2]|0)}b=b+1|0}c[n>>2]=d;e=m;b=f}Aa(95536,95244,1929,95561);break}case 8:{e=0;d=0;b=c[v>>2]|0;k:while(1){if((e|0)>=(c[a>>2]|0)){x=d;y=u;break b}j=e+1|0;k=v+(j<<2)|0;i=v+(e<<2)|0;while(1){f=c[k>>2]|0;if((b|0)>=(f|0))break;e=w+(b<<2)|0;f=c[e>>2]|0;g=c[u+(f<<2)>>2]|0;if((g|0)>=(c[i>>2]|0)){if((c[w+(g<<2)>>2]|0)!=(f|0))break k}else{c[w+(d<<2)>>2]=f;c[u+(c[e>>2]<<2)>>2]=d;d=d+1|0}b=b+1|0}c[k>>2]=d;e=j;b=f}Aa(95536,95244,1948,95561);break}default:{a=0;break a}}while(0);c[a+8>>2]=x;l6(y)}while(0);return a|0}function Dw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;if(!d)Ew(a,c,e,g,b,f);else Fw(a,c,e,g,b,f);return}function Ew(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1121,95784);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1122,95784);p=c[a+28>>2]|0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;s=c[a>>2]|0;n=c[a+4>>2]|0;a=c[d>>2]|0;i=(a|0)!=0;o=(g|0)!=0;if(!f){if(!i)a=IK(S(e<<3,s)|0)|0;g=0;a:while(1){if((g|0)>=(s|0))break;m=S(g,e)|0;i=0;while(1){if((i|0)>=(e|0))break;h[a+(i+m<<3)>>3]=0.0;i=i+1|0}k=g+1|0;l=c[q+(k<<2)>>2]|0;i=c[q+(g<<2)>>2]|0;while(1){if((i|0)>=(l|0)){g=k;continue a}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;t=+h[f>>3]*+h[b+((S(c[j>>2]|0,e)|0)+g<<3)>>3];n=a+(g+m<<3)|0;h[n>>3]=+h[n>>3]+t;g=g+1|0}i=i+1|0}}if(o)Hw(a,s,e)}else{if(!i)a=IK(S(e<<3,n)|0)|0;g=S(n,e)|0;i=0;while(1){if((i|0)>=(g|0)){i=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}b:while(1){if((i|0)>=(s|0))break;k=i+1|0;l=c[q+(k<<2)>>2]|0;m=S(i,e)|0;i=c[q+(i<<2)>>2]|0;while(1){if((i|0)>=(l|0)){i=k;continue b}f=p+(i<<3)|0;j=r+(i<<2)|0;g=0;while(1){if((g|0)>=(e|0))break;u=a+((S(c[j>>2]|0,e)|0)+g<<3)|0;h[u>>3]=+h[f>>3]*+h[b+(g+m<<3)>>3]+ +h[u>>3];g=g+1|0}i=i+1|0}}if(o)Hw(a,n,e)}c[d>>2]=a;return}function Fw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1163,95636);if((c[a+16>>2]|0)!=1)Aa(95665,95244,1164,95636);h=c[d>>2]|0;k=c[a>>2]|0;m=c[a+4>>2]|0;i=(h|0)!=0;j=(g|0)!=0;if(!f){if(!i)h=IK(S(e<<3,k)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,k)|0)<<3);Gw(a,b+((S(g,m)|0)<<3)|0,n,0);g=g+1|0}if(!j)Hw(h,e,k)}else{if(!i)h=IK(S(e<<3,m)|0)|0;g=0;while(1){if((g|0)>=(e|0))break;c[n>>2]=h+((S(g,m)|0)<<3);Gw(a,b+((S(g,k)|0)<<3)|0,n,f);g=g+1|0}if(!j)Hw(h,e,m)}c[d>>2]=h;l=o;return}function Gw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;if((c[a+32>>2]|0)!=1)Aa(95220,95244,1222,95693);n=c[a+16>>2]|0;switch(n|0){case 4:case 1:break;default:Aa(95722,95244,1223,95693)}r=c[a+20>>2]|0;p=c[a+24>>2]|0;s=c[a>>2]|0;o=c[a+4>>2]|0;i=c[d>>2]|0;l=s<<3;m=(i|0)!=0;e=(e|0)!=0;j=(b|0)!=0;k=o<<3;q=c[a+28>>2]|0;a:do switch(n|0){case 1:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;b:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue b}t=f+ +h[q+(e<<3)>>3]*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}c:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue c}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+h[q+(e<<3)>>3]*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;d:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue d}t=+h[q+(e<<3)>>3]+f;h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}e:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue e}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+h[q+(e<<3)>>3]+ +h[b>>3];e=e+1|0}}}case 4:if(j){if(!e){if(m)g=i;else g=IK(l)|0;e=0;f:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue f}t=f+ +(c[q+(e<<2)>>2]|0)*+h[b+(c[p+(e<<2)>>2]<<3)>>3];h[a>>3]=t;e=e+1|0;f=t}}}if(m)g=i;else g=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[g+(e<<3)>>3]=0.0;e=e+1|0}g:while(1){if((e|0)>=(s|0))break a;a=e+1|0;i=c[r+(a<<2)>>2]|0;j=b+(e<<3)|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(i|0)){e=a;continue g}o=g+(c[p+(e<<2)>>2]<<3)|0;h[o>>3]=+(c[q+(e<<2)>>2]|0)*+h[j>>3]+ +h[o>>3];e=e+1|0}}}else{if(!e){if(m)g=i;else g=IK(l)|0;e=0;h:while(1){if((e|0)>=(s|0))break a;a=g+(e<<3)|0;h[a>>3]=0.0;i=e+1|0;j=c[r+(i<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(j|0)){e=i;continue h}t=f+ +(c[q+(e<<2)>>2]|0);h[a>>3]=t;e=e+1|0;f=t}}}if(!m)i=IK(k)|0;e=0;while(1){if((e|0)>=(o|0)){e=0;break}h[i+(e<<3)>>3]=0.0;e=e+1|0}i:while(1){if((e|0)>=(s|0)){g=i;break a}g=e+1|0;a=c[r+(g<<2)>>2]|0;e=c[r+(e<<2)>>2]|0;while(1){if((e|0)>=(a|0)){e=g;continue i}b=i+(c[p+(e<<2)>>2]<<3)|0;h[b>>3]=+(c[q+(e<<2)>>2]|0)+ +h[b>>3];e=e+1|0}}}default:Aa(138697,95244,1315,95693)}while(0);c[d>>2]=g;return}function Hw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=S(b<<3,c)|0;f=IK(d)|0;B6(f|0,a|0,d|0)|0;d=0;while(1){if((d|0)>=(b|0))break;g=S(d,c)|0;e=0;while(1){if((e|0)>=(c|0))break;h[a+((S(e,b)|0)+d<<3)>>3]=+h[f+(e+g<<3)>>3];e=e+1|0}d=d+1|0}l6(f);return}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;z=c[a+20>>2]|0;A=c[a+24>>2]|0;B=c[b+20>>2]|0;C=c[b+24>>2]|0;y=c[a+32>>2]|0;if(!((y|0)==1?(y|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1408,95813);y=c[a>>2]|0;if(((c[a+4>>2]|0)==(c[b>>2]|0)?(n=c[a+16>>2]|0,(n|0)==(c[b+16>>2]|0)):0)?(m=b+4|0,D=IK(c[m>>2]<<2)|0,(D|0)!=0):0){d=0;while(1){if((d|0)>=(c[m>>2]|0)){e=0;d=0;break}c[D+(d<<2)>>2]=-1;d=d+1|0}a:while(1){if((d|0)>=(y|0))break;j=d+1|0;k=z+(j<<2)|0;l=-2-d|0;i=c[z+(d<<2)>>2]|0;while(1){if((i|0)>=(c[k>>2]|0)){d=j;continue a}f=c[A+(i<<2)>>2]|0;g=B+(f+1<<2)|0;f=c[B+(f<<2)>>2]|0;while(1){if((f|0)>=(c[g>>2]|0))break;d=D+(c[C+(f<<2)>>2]<<2)|0;if((c[d>>2]|0)!=(l|0)){c[d>>2]=l;e=e+1|0}f=f+1|0}i=i+1|0}}d=ow(y,c[m>>2]|0,e,n,1)|0;b:do if(!d)d=0;else{v=c[d+20>>2]|0;w=c[d+24>>2]|0;f=b+28|0;g=d+28|0;e=a+28|0;c:do switch(n|0){case 1:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;d:while(1){if((e|0)>=(y|0)){x=f;break c}o=e+1|0;p=z+(o<<2)|0;q=v+(e<<2)|0;a=c[z+(e<<2)>>2]|0;while(1){if((a|0)>=(c[p>>2]|0))break;l=c[A+(a<<2)>>2]|0;m=B+(l+1<<2)|0;b=s+(a<<3)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[m>>2]|0))break;e=C+(l<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<3)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];h[n+(f<<3)>>3]=+h[b>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break d;u=n+(j<<3)|0;h[u>>3]=+h[u>>3]+ +h[b>>3]*+h[k>>3]}l=l+1|0}a=a+1|0}c[v+(o<<2)>>2]=f;e=o}Aa(95835,95244,1468,95813);break}case 2:{u=c[e>>2]|0;t=c[f>>2]|0;p=c[g>>2]|0;c[v>>2]=0;e=0;f=0;e:while(1){if((e|0)>=(y|0)){x=f;break c}q=e+1|0;r=z+(q<<2)|0;s=v+(e<<2)|0;o=c[z+(e<<2)>>2]|0;while(1){if((o|0)>=(c[r>>2]|0))break;m=c[A+(o<<2)>>2]|0;b=B+(m+1<<2)|0;n=o<<1;a=u+(n<<3)|0;n=u+((n|1)<<3)|0;m=c[B+(m<<2)>>2]|0;while(1){if((m|0)>=(c[b>>2]|0))break;e=C+(m<<2)|0;g=c[e>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;l=m<<1;k=t+(l<<3)|0;l=t+((l|1)<<3)|0;if((j|0)<(c[s>>2]|0)){c[i>>2]=f;c[w+(f<<2)>>2]=c[e>>2];j=f<<1;h[p+(j<<3)>>3]=+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3];h[p+((j|1)<<3)>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3];f=f+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break e;j=j<<1;i=p+(j<<3)|0;h[i>>3]=+h[i>>3]+(+h[a>>3]*+h[k>>3]-+h[n>>3]*+h[l>>3]);j=p+((j|1)<<3)|0;h[j>>3]=+h[a>>3]*+h[l>>3]+ +h[n>>3]*+h[k>>3]+ +h[j>>3]}m=m+1|0}o=o+1|0}c[v+(q<<2)>>2]=f;e=q}Aa(95835,95244,1497,95813);break}case 4:{s=c[e>>2]|0;r=c[f>>2]|0;n=c[g>>2]|0;c[v>>2]=0;e=0;f=0;f:while(1){if((f|0)>=(y|0)){x=e;break c}o=f+1|0;p=z+(o<<2)|0;q=v+(f<<2)|0;m=c[z+(f<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[A+(m<<2)>>2]|0;b=B+(l+1<<2)|0;a=s+(m<<2)|0;l=c[B+(l<<2)>>2]|0;while(1){if((l|0)>=(c[b>>2]|0))break;f=C+(l<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;k=r+(l<<2)|0;if((j|0)<(c[q>>2]|0)){c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];c[n+(e<<2)>>2]=S(c[k>>2]|0,c[a>>2]|0)|0;e=e+1|0}else{if((c[w+(j<<2)>>2]|0)!=(g|0))break f;t=S(c[k>>2]|0,c[a>>2]|0)|0;u=n+(j<<2)|0;c[u>>2]=(c[u>>2]|0)+t}l=l+1|0}m=m+1|0}c[v+(o<<2)>>2]=e;f=o}Aa(95835,95244,1523,95813);break}case 8:{c[v>>2]=0;e=0;f=0;g:while(1){if((f|0)>=(y|0)){x=e;break c}b=f+1|0;a=z+(b<<2)|0;n=v+(f<<2)|0;l=c[z+(f<<2)>>2]|0;while(1){if((l|0)>=(c[a>>2]|0))break;k=c[A+(l<<2)>>2]|0;m=B+(k+1<<2)|0;k=c[B+(k<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;f=C+(k<<2)|0;g=c[f>>2]|0;i=D+(g<<2)|0;j=c[i>>2]|0;if((j|0)>=(c[n>>2]|0)){if((c[w+(j<<2)>>2]|0)!=(g|0))break g}else{c[i>>2]=e;c[w+(e<<2)>>2]=c[f>>2];e=e+1|0}k=k+1|0}l=l+1|0}c[v+(b<<2)>>2]=e;f=b}Aa(95835,95244,1543,95813);break}default:{nw(d);d=0;break b}}while(0);c[d+8>>2]=x}while(0);l6(D)}else d=0;return d|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0;H=c[a+20>>2]|0;I=c[a+24>>2]|0;J=c[b+20>>2]|0;D=c[b+24>>2]|0;E=c[d+20>>2]|0;F=c[d+24>>2]|0;G=c[a+32>>2]|0;if(!((G|0)==1?(G|0)==(c[b+32>>2]|0):0))Aa(95306,95244,1574,95860);G=c[a>>2]|0;if(((((c[a+4>>2]|0)==(c[b>>2]|0)?(c[b+4>>2]|0)==(c[d>>2]|0):0)?(q=c[a+16>>2]|0,(q|0)==(c[b+16>>2]|0)):0)?(q|0)==(c[d+16>>2]|0):0)?(p=d+4|0,K=IK(c[p>>2]<<2)|0,(K|0)!=0):0){e=0;while(1){if((e|0)>=(c[p>>2]|0)){f=0;e=0;break}c[K+(e<<2)>>2]=-1;e=e+1|0}a:while(1){if((e|0)>=(G|0))break;m=e+1|0;n=H+(m<<2)|0;o=-2-e|0;l=c[H+(e<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0)){e=m;continue a}j=c[I+(l<<2)>>2]|0;k=J+(j+1<<2)|0;j=c[J+(j<<2)>>2]|0;while(1){if((j|0)>=(c[k>>2]|0))break;g=c[D+(j<<2)>>2]|0;i=E+(g+1<<2)|0;g=c[E+(g<<2)>>2]|0;while(1){if((g|0)>=(c[i>>2]|0))break;e=K+(c[F+(g<<2)>>2]<<2)|0;if((c[e>>2]|0)!=(o|0)){c[e>>2]=o;f=f+1|0}g=g+1|0}j=j+1|0}l=l+1|0}}e=ow(G,c[p>>2]|0,f,q,1)|0;b:do if(!e)e=0;else{A=c[e+20>>2]|0;B=c[e+24>>2]|0;g=b+28|0;f=a+28|0;j=e+28|0;i=d+28|0;c:do switch(q|0){case 1:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;r=c[j>>2]|0;c[A>>2]=0;f=0;g=0;d:while(1){if((f|0)>=(G|0)){C=g;break c}s=f+1|0;t=H+(s<<2)|0;q=A+(f<<2)|0;d=c[H+(f<<2)>>2]|0;while(1){if((d|0)>=(c[t>>2]|0))break;p=c[I+(d<<2)>>2]|0;b=J+(p+1<<2)|0;a=w+(d<<3)|0;p=c[J+(p<<2)>>2]|0;while(1){if((p|0)>=(c[b>>2]|0))break;m=c[D+(p<<2)>>2]|0;n=E+(m+1<<2)|0;o=v+(p<<3)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[n>>2]|0))break;f=F+(m<<2)|0;i=c[f>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<3)|0;if((k|0)<(c[q>>2]|0)){c[j>>2]=g;c[B+(g<<2)>>2]=c[f>>2];h[r+(g<<3)>>3]=+h[a>>3]*+h[o>>3]*+h[l>>3];g=g+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break d;z=r+(k<<3)|0;h[z>>3]=+h[z>>3]+ +h[a>>3]*+h[o>>3]*+h[l>>3]}m=m+1|0}p=p+1|0}d=d+1|0}c[A+(s<<2)>>2]=g;f=s}Aa(95883,95244,1642,95860);break}case 2:{z=c[f>>2]|0;y=c[g>>2]|0;x=c[i>>2]|0;t=c[j>>2]|0;c[A>>2]=0;f=0;g=0;e:while(1){if((g|0)>=(G|0)){C=f;break c}u=g+1|0;v=H+(u<<2)|0;w=A+(g<<2)|0;d=c[H+(g<<2)>>2]|0;while(1){if((d|0)>=(c[v>>2]|0))break;o=c[I+(d<<2)>>2]|0;q=J+(o+1<<2)|0;s=d<<1;r=z+(s<<3)|0;s=z+((s|1)<<3)|0;o=c[J+(o<<2)>>2]|0;while(1){if((o|0)>=(c[q>>2]|0))break;n=c[D+(o<<2)>>2]|0;p=E+(n+1<<2)|0;a=o<<1;b=y+(a<<3)|0;a=y+((a|1)<<3)|0;n=c[E+(n<<2)>>2]|0;while(1){if((n|0)>=(c[p>>2]|0))break;g=F+(n<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;m=n<<1;l=x+(m<<3)|0;m=x+((m|1)<<3)|0;if((k|0)<(c[w>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];M=+h[r>>3];N=+h[b>>3];L=+h[s>>3];O=+h[a>>3];k=f<<1;h[t+(k<<3)>>3]=+h[l>>3]*(M*N-L*O)-(N*L+M*O)*+h[m>>3];O=+h[r>>3];M=+h[a>>3];L=+h[s>>3];N=+h[b>>3];h[t+((k|1)<<3)>>3]=+h[l>>3]*(O*M+L*N)+(O*N-M*L)*+h[m>>3];f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break e;N=+h[r>>3];M=+h[b>>3];O=+h[s>>3];L=+h[a>>3];k=k<<1;j=t+(k<<3)|0;h[j>>3]=+h[j>>3]+(+h[l>>3]*(N*M-O*L)-(M*O+N*L)*+h[m>>3]);L=+h[r>>3];N=+h[a>>3];O=+h[s>>3];M=+h[b>>3];k=t+((k|1)<<3)|0;h[k>>3]=+h[l>>3]*(L*N+O*M)+(L*M-N*O)*+h[m>>3]+ +h[k>>3]}n=n+1|0}o=o+1|0}d=d+1|0}c[A+(u<<2)>>2]=f;g=u}Aa(95883,95244,1674,95860);break}case 4:{w=c[f>>2]|0;v=c[g>>2]|0;u=c[i>>2]|0;q=c[j>>2]|0;c[A>>2]=0;f=0;g=0;f:while(1){if((g|0)>=(G|0)){C=f;break c}r=g+1|0;s=H+(r<<2)|0;t=A+(g<<2)|0;b=c[H+(g<<2)>>2]|0;while(1){if((b|0)>=(c[s>>2]|0))break;n=c[I+(b<<2)>>2]|0;a=J+(n+1<<2)|0;d=w+(b<<2)|0;n=c[J+(n<<2)>>2]|0;while(1){if((n|0)>=(c[a>>2]|0))break;m=c[D+(n<<2)>>2]|0;o=E+(m+1<<2)|0;p=v+(n<<2)|0;m=c[E+(m<<2)>>2]|0;while(1){if((m|0)>=(c[o>>2]|0))break;g=F+(m<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;l=u+(m<<2)|0;if((k|0)<(c[t>>2]|0)){c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(f<<2)|0;c[z>>2]=(c[z>>2]|0)+y;f=f+1|0}else{if((c[B+(k<<2)>>2]|0)!=(i|0))break f;y=S(c[p>>2]|0,c[d>>2]|0)|0;y=S(y,c[l>>2]|0)|0;z=q+(k<<2)|0;c[z>>2]=(c[z>>2]|0)+y}m=m+1|0}n=n+1|0}b=b+1|0}c[A+(r<<2)>>2]=f;g=r}Aa(95883,95244,1706,95860);break}case 8:{c[A>>2]=0;f=0;g=0;g:while(1){if((g|0)>=(G|0)){C=f;break c}b=g+1|0;a=H+(b<<2)|0;d=A+(g<<2)|0;o=c[H+(g<<2)>>2]|0;while(1){if((o|0)>=(c[a>>2]|0))break;m=c[I+(o<<2)>>2]|0;p=J+(m+1<<2)|0;m=c[J+(m<<2)>>2]|0;while(1){if((m|0)>=(c[p>>2]|0))break;l=c[D+(m<<2)>>2]|0;n=E+(l+1<<2)|0;l=c[E+(l<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;g=F+(l<<2)|0;i=c[g>>2]|0;j=K+(i<<2)|0;k=c[j>>2]|0;if((k|0)>=(c[d>>2]|0)){if((c[B+(k<<2)>>2]|0)!=(i|0))break g}else{c[j>>2]=f;c[B+(f<<2)>>2]=c[g>>2];f=f+1|0}l=l+1|0}m=m+1|0}o=o+1|0}c[A+(b<<2)>>2]=f;g=b}Aa(95883,95244,1729,95860);break}default:{nw(e);e=0;break b}}while(0);c[e+8>>2]=C}while(0);l6(K)}else e=0;return e|0}function Kw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;if((c[a+32>>2]|0)!=2)Aa(95401,95244,1971,95908);if((b|0)>=1){h=c[a+8>>2]|0;g=h+b|0;if((g|0)>=(c[a+12>>2]|0))Lw(a,g+10|0)|0;i=h<<2;g=b<<2;B6((c[a+20>>2]|0)+i|0,d|0,g|0)|0;B6((c[a+24>>2]|0)+i|0,e|0,g|0)|0;g=c[a+40>>2]|0;if(g|0){i=S(g,b)|0;h=S(g,h)|0;B6((c[a+28>>2]|0)+h|0,f|0,i|0)|0}f=a+4|0;h=0;while(1){if((h|0)>=(b|0))break;g=c[d+(h<<2)>>2]|0;if((g|0)>=(c[a>>2]|0))c[a>>2]=g+1;g=c[e+(h<<2)>>2]|0;if((g|0)>=(c[f>>2]|0))c[f>>2]=g+1;h=h+1|0}i=a+8|0;c[i>>2]=(c[i>>2]|0)+b}return a|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b<<2;f=a+28|0;if((c[a+32>>2]|0)==2){e=a+20|0;c[e>>2]=KK(c[e>>2]|0,d)|0;e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}else{e=a+24|0;c[e>>2]=KK(c[e>>2]|0,d)|0;d=c[a+40>>2]|0;if((d|0)>0){e=c[f>>2]|0;d=S(d,b)|0;if(!e)d=IK(d)|0;else d=KK(e,d)|0;c[f>>2]=d}}c[a+12>>2]=b;return a|0}function Mw(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(!a)a=0;else{l=c[a+20>>2]|0;k=c[a+24>>2]|0;b=a+28|0;b:do switch(c[a+16>>2]|0){case 1:{i=c[b>>2]|0;e=c[a>>2]|0;b=0;c:while(1){if((b|0)>=(e|0))break b;f=b+1|0;g=c[l+(f<<2)>>2]|0;b=c[l+(b<<2)>>2]|0;d=+(g-b|0);while(1){if((b|0)>=(g|0)){b=f;continue c}k=i+(b<<3)|0;h[k>>3]=+h[k>>3]/d;b=b+1|0}}}case 2:{f=c[b>>2]|0;g=c[a>>2]|0;b=0;d:while(1){if((b|0)>=(g|0))break b;i=b+1|0;j=c[l+(i<<2)>>2]|0;e=c[l+(b<<2)>>2]|0;d=+(j-e|0);while(1){if((e|0)>=(j|0)){b=i;continue d}if((c[k+(e<<2)>>2]|0)!=(b|0)){m=e<<1;n=f+(m<<3)|0;h[n>>3]=+h[n>>3]/d;m=f+((m|1)<<3)|0;h[m>>3]=+h[m>>3]/d}e=e+1|0}}}case 4:{Aa(138697,95244,2192,95949);break}case 8:break;default:{a=0;break a}}while(0)}while(0);return a|0}function Nw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((a|0)!=0?(b=a+8|0,d=c[b>>2]|0,e=c[a+4>>2]|0,(e|0)==(c[a>>2]|0)):0){g=c[a+24>>2]|0;a=c[a+20>>2]|0;f=ow(e,e,d,8,1)|0;B6(c[f+20>>2]|0,a|0,(e<<2)+4|0)|0;B6(c[f+24>>2]|0,g|0,d<<2|0)|0;c[f+8>>2]=c[b>>2];a=sw(f,1)|0;nw(f);a=yw(a)|0;e=a+8|0;d=IK(c[e>>2]<<3)|0;c[a+28>>2]=d;e=c[e>>2]|0;b=0;while(1){if((b|0)>=(e|0))break;h[d+(b<<3)>>3]=1.0;b=b+1|0}c[a+16>>2]=1;c[a+40>>2]=8}else a=0;return a|0}function Ow(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;q=c[a+20>>2]|0;r=c[a+24>>2]|0;w=c[a+4>>2]|0;o=c[a>>2]|0;s=w<<2;t=IK(s)|0;u=IK(s+4|0)|0;v=IK(s)|0;s=IK(s)|0;p=u+4|0;a=0;while(1){if((a|0)>=(w|0))break;c[t+(a<<2)>>2]=0;a=a+1|0}c[p>>2]=w;a=0;while(1){if((a|0)>=(w|0)){h=1;l=0;break}c[v+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((l|0)>=(o|0))break;g=q+(l<<2)|0;m=l+1|0;n=q+(m<<2)|0;a=c[g>>2]|0;while(1){f=c[n>>2]|0;if((a|0)>=(f|0))break;k=p+(c[t+(c[r+(a<<2)>>2]<<2)>>2]<<2)|0;c[k>>2]=(c[k>>2]|0)+-1;a=a+1|0}a=h;k=c[g>>2]|0;while(1){if((k|0)>=(f|0)){h=a;l=m;continue a}j=r+(k<<2)|0;g=t+(c[j>>2]<<2)|0;i=c[g>>2]|0;h=v+(i<<2)|0;f=s+(i<<2)|0;if((c[h>>2]|0)<(l|0)){c[h>>2]=l;g=p+(i<<2)|0;if(!(c[g>>2]|0)){c[g>>2]=1;g=a;a=i}else{c[f>>2]=a;c[p+(a<<2)>>2]=1;g=a+1|0;f=t+(c[j>>2]<<2)|0}c[f>>2]=a;a=g}else{c[g>>2]=c[f>>2];j=p+(c[f>>2]<<2)|0;c[j>>2]=(c[j>>2]|0)+1}k=k+1|0;f=c[n>>2]|0}}c[u>>2]=0;a=0;f=0;while(1){if((a|0)>=(h|0))break;q=a+1|0;p=u+(q<<2)|0;r=(c[p>>2]|0)+f|0;c[p>>2]=r;a=q;f=r}c[d>>2]=s;a=0;while(1){if((a|0)>=(w|0)){a=h;break}r=u+(c[t+(a<<2)>>2]<<2)|0;d=c[r>>2]|0;c[r>>2]=d+1;c[s+(d<<2)>>2]=a;a=a+1|0}while(1){if((a|0)<=0)break;w=a+-1|0;c[u+(a<<2)>>2]=c[u+(w<<2)>>2];a=w}c[u>>2]=0;c[e>>2]=u;c[b>>2]=h;l6(v);l6(t);return}function Pw(){return +(+(U4()|0)/2147483647.0)}function Qw(a){a=a|0;if((a|0)>1)return (U4()|0)%(a|0)|0|0;else Aa(95983,95989,58,95999);return 0}function Rw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;a:do if((a|0)<1)b=0;else{b=IK(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}while(1){if((a|0)<=1)break a;e=Qw(a)|0;d=a+-1|0;g=b+(d<<2)|0;f=c[g>>2]|0;e=b+(e<<2)|0;c[g>>2]=c[e>>2];c[e>>2]=f;a=d}}while(0);return b|0}function Sw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=0;while(1){if((d|0)>=(a|0))break;e=c+(d<<3)|0;h[e>>3]=+h[b+(d<<3)>>3]-+h[e>>3];d=d+1|0}return c|0}function Tw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0;d=0;e=0.0;while(1){if((d|0)>=(a|0))break;f=e+ +h[b+(d<<3)>>3]*+h[c+(d<<3)>>3];d=d+1|0;e=f}return +e}function Uw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=c+(e<<3)|0;h[f>>3]=+h[b+(e<<3)>>3]+ +h[f>>3]*d;e=e+1|0}return c|0}function Vw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<3)|0;h[f>>3]=+h[f>>3]+ +h[c+(e<<3)>>3]*d;e=e+1|0}return b|0}function Ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}g=+G(+e);return +(g>1.0e-15?g:1.0e-15)}function Xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;f=S(c,b)|0;d=S(d,b)|0;e=0.0;c=0;while(1){if((c|0)>=(b|0))break;g=+h[a+(c+f<<3)>>3]-+h[a+(c+d<<3)>>3];e=e+g*g;c=c+1|0}return +(+G(+e))}function Yw(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;f=+h[a+(e<<3)>>3]-+h[b+(e<<3)>>3];d=d+f*f;e=e+1|0}return +(+G(+d))}function Zw(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0;p=l;l=l+80|0;n=p+48|0;m=p+24|0;o=p;i=0;while(1){if((i|0)>=(f|0)){j=0;break}q=+h[g+(i<<3)>>3];h[n+(i<<3)>>3]=q;h[m+(i<<3)>>3]=q;i=i+1|0}while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;s=+h[g+(i+k<<3)>>3];r=n+(i<<3)|0;q=+h[r>>3];h[r>>3]=s<q?s:q;r=m+(i<<3)|0;q=+h[r>>3];h[r>>3]=s>q?s:q;i=i+1|0}j=j+1|0}q=+h[m>>3]-+h[n>>3];c=q!=0.0?(c-a)/q:1.0;q=+h[m+8>>3]-+h[n+8>>3];s=(d-b)/q;c=q!=0.0?(c<s?c:s):c;h[o>>3]=a;h[o+8>>3]=b;h[o+16>>3]=0.0;j=0;while(1){if((j|0)>=(e|0))break;k=S(j,f)|0;i=0;while(1){if((i|0)>=(f|0))break;r=g+(i+k<<3)|0;h[r>>3]=+h[o+(i<<3)>>3]+c*(+h[r>>3]-+h[n+(i<<3)>>3]);i=i+1|0}j=j+1|0}l=p;return}function _w(a,b){a=a|0;b=b|0;if((qB(a)|0)==1){a=c[(c[(gC(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{$w(a);if(!((bP(NA(b,96005)|0)|0)<<24>>24))b=Jy(a,186376)|0;else b=ax(a)|0;Sy(a,b,186376);bx(b)}return}function $w(a){a=a|0;var b=0;b=uC(c[c[(c[(gC(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46967]|0;if((b|0)!=(a|0)){c[46597]=0;c[46967]=b;c[46968]=DA(b,0,96014,0)|0;c[46969]=DA(c[46967]|0,1,96022,0)|0;c[46970]=DA(c[46967]|0,1,96039,0)|0;a=c[46967]|0}c[46971]=NA(a,96039)|0;Dy(186376);c[46596]=1;h[23301]=+YO(c[46967]|0,c[46968]|0,1.0,0.0);c[46598]=c[46969];c[46599]=c[46970];c[46600]=c[46971];return}function ax(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[46597]|0;c[46597]=b+1;c[e>>2]=b;i2(d,96535,e)|0;d=Ey(LD(a,d,1)|0)|0;e=d+8|0;b=gC(a)|0;while(1){if(!b)break;lC(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=hC(a,b)|0}l=f;return d|0}function bx(a){a=a|0;Ry(a);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=IK(32)|0;c[d>>2]=4;h[d+8>>3]=.75;c[d+16>>2]=1073741824;c[d+20>>2]=1;c[d+24>>2]=a;c[d+28>>2]=b;return d|0}function dx(a){a=a|0;l6(a);return}function ex(a){a=a|0;var b=0,d=0;if(!a)return;d=c[a+8>>2]|0;do if(d|0){if(c[a>>2]|0){nw(d);b=c[a+12>>2]|0;if(!b)break;nw(b);break}if(c[a+36>>2]|0?(nw(d),b=c[a+12>>2]|0,b|0):0)nw(b)}while(0);nw(c[a+16>>2]|0);nw(c[a+20>>2]|0);b=c[a+24>>2]|0;if(b|0?(c[a>>2]|0)>0:0)l6(b);ex(c[a+28>>2]|0);l6(a);return}function fx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0;v=l;l=l+32|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[n>>2]=a;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[i>>2]=0;c[j>>2]=0;c[b>>2]=0;c[g>>2]=0;c[e>>2]=0;s=k+28|0;t=k+8|0;u=+(c[a+4>>2]|0);f=d;do{gx(a,n,f,o,0,r,p,q,k,m);f=c[n>>2]|0;if(!f)break;d=c[f+4>>2]|0;f=c[i>>2]|0;a=c[p>>2]|0;if(!f){c[i>>2]=a;c[j>>2]=c[q>>2]}else{a=Iw(f,a)|0;nw(c[i>>2]|0);nw(c[p>>2]|0);c[i>>2]=a;a=Iw(c[q>>2]|0,c[j>>2]|0)|0;nw(c[j>>2]|0);nw(c[q>>2]|0);c[j>>2]=a}f=c[b>>2]|0;if(f|0)nw(f);c[b>>2]=c[n>>2];f=c[e>>2]|0;if(f|0)nw(f);f=c[o>>2]|0;c[e>>2]=f;a=c[g>>2]|0;if(a){l6(a);f=c[o>>2]|0}c[g>>2]=c[r>>2];a=c[n>>2]|0;c[r>>2]=0;if(!(+(d|0)>u*+h[t>>3]))break}while((c[s>>2]|0)==1);l=v;return}function gx(a,b,d,e,f,g,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+32|0;E=I+28|0;p=I+24|0;C=I+20|0;F=I+16|0;s=I+12|0;G=I+8|0;H=I+4|0;n=I;c[E>>2]=0;c[p>>2]=0;c[F>>2]=0;c[G>>2]=0;c[H>>2]=0;c[b>>2]=0;c[e>>2]=0;c[i>>2]=0;c[j>>2]=0;D=c[a>>2]|0;o=k+24|0;c[m>>2]=c[o>>2];q=c[o>>2]|0;v=k+8|0;t=D<<2;x=k+28|0;r=k+20|0;w=+(D|0);a:do switch(q|0){case 12:{c[o>>2]=3;c[m>>2]=3;gx(a,b,d,e,f,g,i,j,k,m);if((((c[b>>2]|0)==0?(c[o>>2]=4,c[m>>2]=4,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=6,c[m>>2]=6,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0)?(c[o>>2]=9,c[m>>2]=9,gx(a,b,d,e,f,g,i,j,k,m),(c[b>>2]|0)==0):0){c[o>>2]=2;c[m>>2]=2;gx(a,b,d,e,f,g,i,j,k,m)}c[o>>2]=12;p=0;q=0;r=0;o=0;n=0;m=0;break}case 3:case 6:case 4:{d=c[r>>2]|0;switch(q|0){case 3:{hx(a,d,G,H,n);break}case 4:{ix(a,d,G,H,n);break}default:jx(a,G,H,n)}u=c[n>>2]|0;if(!(c[x>>2]|0)){if((u|0)==(D|0)?1:+(u|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((u|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((u|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;v=IK(D<<3)|0;c[C>>2]=0;o=c[H>>2]|0;p=c[G>>2]|0;n=0;d=0;b:while(1){if((n|0)>=(u|0))break;q=n+1|0;r=o+(q<<2)|0;m=c[o+(n<<2)>>2]|0;while(1){if((m|0)>=(c[r>>2]|0)){n=q;continue b}c[s+(d<<2)>>2]=c[p+(m<<2)>>2];c[t+(c[C>>2]<<2)>>2]=n;z=c[C>>2]|0;A=z+1|0;c[C>>2]=A;h[v+(z<<3)>>3]=1.0;m=m+1|0;d=A}}D=Aw(d,D,u,s,t,v,1,8)|0;c[i>>2]=D;c[j>>2]=mw(D)|0;c[e>>2]=0;i=Jw(c[j>>2]|0,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=v;q=t;r=s;o=s;n=t;m=v}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;p=v;q=t;r=s;o=s;n=t;m=v}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}case 1:{kx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;if((d|0)==2)B=24;else B=25;break}case 2:{B=24;break}case 5:{B=26;break}case 10:case 9:{d=c[r>>2]|0;if((q|0)==9)nx(a,d,F,s,C);else ox(a,d,F,s,C);z=c[a+20>>2]|0;A=c[a+24>>2]|0;y=c[s>>2]|0;if(!(c[x>>2]|0)){if((y|0)==(D|0)?1:+(y|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break a}}else if((y|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break a}if((y|0)>=(c[k>>2]|0)){x=c[C>>2]|0;v=x<<2;u=IK(v)|0;v=IK(v)|0;x=IK(x<<3)|0;c[C>>2]=0;s=c[F>>2]|0;r=0;o=0;c:while(1){if((r|0)>=(D|0))break;d=s+(r<<2)|0;t=r+1|0;if((c[d>>2]|0)!=-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[d>>2];q=c[C>>2]|0;k=q+1|0;c[C>>2]=k;h[x+(q<<3)>>3]=1.0;r=t;o=k;continue}n=c[z+(r<<2)>>2]|0;q=z+(t<<2)|0;p=c[q>>2]|0;d=0;m=n;while(1){if((m|0)>=(p|0))break;d=((c[s+(c[A+(m<<2)>>2]<<2)>>2]|0)>>>31^1)+d|0;m=m+1|0}w=1.0/+(d|0);d=p;while(1){if((n|0)>=(d|0)){r=t;continue c}m=A+(n<<2)|0;if((c[s+(c[m>>2]<<2)>>2]|0)>-1){c[u+(o<<2)>>2]=r;c[v+(c[C>>2]<<2)>>2]=c[s+(c[m>>2]<<2)>>2];d=c[C>>2]|0;m=d+1|0;c[C>>2]=m;h[x+(d<<3)>>3]=w;d=c[q>>2]|0}else m=o;n=n+1|0;o=m}}D=Aw(o,D,y,u,v,x,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=x;q=v;r=u;o=u;n=v;m=x}else{Gw(c[j>>2]|0,f,g,0);p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=x;q=v;r=u;o=u;n=v;m=x}}else{p=0;q=0;r=0;o=0;n=0;m=0}break}default:{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);if((B|0)==24){lx(a,c[r>>2]|0,E,p);d=c[o>>2]|0;B=25}if((B|0)==25)if((d|0)==5)B=26;else B=27;if((B|0)==26){mx(a,c[r>>2]|0,E,p);B=27}do if((B|0)==27){d=c[p>>2]|0;if(!(c[x>>2]|0)){if((d|0)==(D|0)?1:+(d|0)>w*+h[v>>3]){p=0;q=0;r=0;o=0;n=0;m=0;break}}else if((d|0)==(D|0)){p=0;q=0;r=0;o=0;n=0;m=0;break}if((d|0)>=(c[k>>2]|0)){s=IK(t)|0;t=IK(t)|0;u=IK(D<<3)|0;c[C>>2]=0;q=c[E>>2]|0;d=0;p=0;while(1){if((p|0)>=(D|0))break;m=q+(p<<2)|0;n=c[m>>2]|0;if((n|0)>-1){c[s+(c[C>>2]<<2)>>2]=p;c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;o=B+1|0;c[C>>2]=o;h[u+(B<<3)>>3]=1.0;if((n|0)!=(p|0)){c[s+(o<<2)>>2]=c[m>>2];c[t+(c[C>>2]<<2)>>2]=d;B=c[C>>2]|0;c[C>>2]=B+1;h[u+(B<<3)>>3]=1.0;c[q+(c[m>>2]<<2)>>2]=-1}c[m>>2]=-1;d=d+1|0}p=p+1|0}D=Aw(c[C>>2]|0,D,d,s,t,u,1,8)|0;c[i>>2]=D;D=mw(D)|0;c[j>>2]=D;i=Jw(D,a,c[i>>2]|0)|0;c[b>>2]=i;if(!i){p=u;q=t;r=s;o=s;n=t;m=u}else{Gw(c[j>>2]|0,f,g,0);c[j>>2]=Mw(c[j>>2]|0)|0;p=c[b>>2]|0;q=p+36|0;c[q>>2]=c[q>>2]|3;c[b>>2]=yw(p)|0;c[e>>2]=0;p=u;q=t;r=s;o=s;n=t;m=u}}else{p=0;q=0;r=0;o=0;n=0;m=0}}while(0);d=c[E>>2]|0;if(d|0)l6(d);d=c[F>>2]|0;if(d|0)l6(d);if(r|0)l6(o);if(q|0)l6(n);if(p|0)l6(m);d=c[G>>2]|0;if(d|0)l6(d);d=c[H>>2]|0;if(d|0)l6(d);l=I;return}function hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;v=w<<2;c[d>>2]=IK(v)|0;c[e>>2]=IK(v+4|0)|0;v=IK(v)|0;g=0;while(1){if((g|0)>=(w|0))break;c[v+(g<<2)>>2]=g;g=g+1|0}c[f>>2]=0;r=c[e>>2]|0;c[r>>2]=0;s=c[a+28>>2]|0;a:do if(!b){g=0;a=0;b:while(1){while(1){if((a|0)>=(w|0)){b=0;j=0.0;a=0;break b}b=a;a=a+1|0;if((c[v+(b<<2)>>2]|0)==-1)continue;b=c[t+(b<<2)>>2]|0;if(((c[t+(a<<2)>>2]|0)-b|0)==1)break}l=c[u+(b<<2)>>2]|0;c[v+(l<<2)>>2]=-1;m=c[d>>2]|0;c[m+(g<<2)>>2]=l;n=t+(l+1<<2)|0;k=c[t+(l<<2)>>2]|0;g=g+1|0;while(1){if((k|0)>=(c[n>>2]|0))break;b=u+(k<<2)|0;i=c[b>>2]|0;if((l|0)!=(i|0)?((c[t+(i+1<<2)>>2]|0)-(c[t+(i<<2)>>2]|0)|0)==1:0){c[v+(i<<2)>>2]=-1;c[m+(g<<2)>>2]=c[b>>2];g=g+1|0}k=k+1|0}i=c[f>>2]|0;b=c[r+(i<<2)>>2]|0;i=i+1|0;c[f>>2]=i;i=r+(i<<2)|0;if((g-b|0)<5){c[i>>2]=g;continue}e=b+1|0;c[i>>2]=e;b=e;i=e;while(1){if(!((i|0)<(g|0)&(b|0)<(g|0)))continue b;e=i+3|0;e=(g|0)<(e|0)?g:e;q=(c[f>>2]|0)+1|0;c[f>>2]=q;c[r+(q<<2)>>2]=e;b=b+1|0;i=e}}c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}n=v+(a<<2)|0;q=a+1|0;if((c[n>>2]|0)==-1)a=q;else break}p=c[t+(q<<2)>>2]|0;l=1;m=c[t+(a<<2)>>2]|0;while(1){i=(l|0)!=0;if((m|0)>=(p|0))break;k=c[u+(m<<2)>>2]|0;if((a|0)!=(k|0)?(c[v+(k<<2)>>2]|0)!=-1:0){o=+h[s+(m<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;b=k;j=o}}else i=l;l=i;m=m+1|0}if(i)a=q;else break}c[v+(b<<2)>>2]=-1;c[n>>2]=-1;p=c[d>>2]|0;c[p+(g<<2)>>2]=a;e=g+2|0;c[p+(g+1<<2)>>2]=b;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[r+(a<<2)>>2]=e;a=q;g=e}while(1){if((a|0)>=(w|0))break a;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[r+(g<<2)>>2]=u;g=u}a=a+1|0}}else{r=Rw(w)|0;n=0;g=0;while(1){if((n|0)>=(w|0)){q=0;a=0;j=0.0;break}a=c[r+(n<<2)>>2]|0;d:do if((c[v+(a<<2)>>2]|0)!=-1?(p=c[t+(a<<2)>>2]|0,((c[t+(a+1<<2)>>2]|0)-p|0)==1):0){k=c[u+(p<<2)>>2]|0;c[v+(k<<2)>>2]=-1;l=c[d>>2]|0;c[l+(g<<2)>>2]=k;m=t+(k+1<<2)|0;i=c[t+(k<<2)>>2]|0;g=g+1|0;while(1){if((i|0)>=(c[m>>2]|0))break;a=u+(i<<2)|0;b=c[a>>2]|0;if((k|0)!=(b|0)?((c[t+(b+1<<2)>>2]|0)-(c[t+(b<<2)>>2]|0)|0)==1:0){c[v+(b<<2)>>2]=-1;c[l+(g<<2)>>2]=c[a>>2];g=g+1|0}i=i+1|0}i=c[e>>2]|0;q=c[f>>2]|0;a=c[i+(q<<2)>>2]|0;q=q+1|0;b=i+(q<<2)|0;c[f>>2]=q;if((g-a|0)<5){c[b>>2]=g;break}q=a+1|0;c[b>>2]=q;a=q;b=q;while(1){if(!((b|0)<(g|0)&(a|0)<(g|0)))break d;q=b+3|0;q=(g|0)<(q|0)?g:q;m=(c[f>>2]|0)+1|0;c[f>>2]=m;c[i+(m<<2)>>2]=q;a=a+1|0;b=q}}while(0);n=n+1|0}while(1){if((q|0)>=(w|0)){a=0;break}m=c[r+(q<<2)>>2]|0;n=v+(m<<2)|0;if((c[n>>2]|0)!=-1){p=c[t+(m+1<<2)>>2]|0;k=1;l=c[t+(m<<2)>>2]|0;while(1){b=(k|0)!=0;if((l|0)>=(p|0))break;i=c[u+(l<<2)>>2]|0;if((m|0)!=(i|0)?(c[v+(i<<2)>>2]|0)!=-1:0){o=+h[s+(l<<3)>>3];if(!b?!(o>j):0)b=0;else{b=0;a=i;j=o}}else b=k;k=b;l=l+1|0}if(!b){c[v+(a<<2)>>2]=-1;c[n>>2]=-1;n=c[d>>2]|0;c[n+(g<<2)>>2]=m;p=g+2|0;c[n+(g+1<<2)>>2]=a;n=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[n+(g<<2)>>2]=p;g=p}}q=q+1|0}while(1){if((a|0)>=(w|0))break;if((c[v+(a<<2)>>2]|0)==(a|0)){u=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;t=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[t+(g<<2)>>2]=u;g=u}a=a+1|0}l6(r)}while(0);l6(v);return}function ix(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+16|0;q=A+8|0;y=A+4|0;z=A;c[y>>2]=0;c[z>>2]=0;v=c[a+20>>2]|0;u=c[a+24>>2]|0;w=c[a>>2]|0;x=w<<2;c[d>>2]=IK(x)|0;c[e>>2]=IK(x+4|0)|0;x=IK(x)|0;g=0;while(1){if((g|0)>=(w|0))break;c[x+(g<<2)>>2]=g;g=g+1|0}Ow(a,q,y,z);c[f>>2]=0;s=c[e>>2]|0;c[s>>2]=0;t=c[a+28>>2]|0;g=0;a=0;a:while(1){k=c[q>>2]|0;m=c[z>>2]|0;do{if((a|0)>=(k|0))break a;n=a;a=a+1|0;p=m+(a<<2)|0;i=c[p>>2]|0;n=c[m+(n<<2)>>2]|0}while((i-n|0)<2);m=c[y>>2]|0;k=c[s+(c[f>>2]<<2)>>2]|0;while(1){if((n|0)>=(i|0))break;r=m+(n<<2)|0;c[x+(c[r>>2]<<2)>>2]=-1;i=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=c[r>>2];if((i-k|0)>3){g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=i;g=i}else g=k;k=g;n=n+1|0;g=i;i=c[p>>2]|0}if((g|0)<=(k|0))continue;r=(c[f>>2]|0)+1|0;c[f>>2]=r;c[s+(r<<2)>>2]=g}b:do if(!b){i=0;j=0.0;a=0;c:while(1){while(1){while(1){if((a|0)>=(w|0)){a=0;break c}b=x+(a<<2)|0;r=a+1|0;if((c[b>>2]|0)==-1)a=r;else break}q=c[v+(r<<2)>>2]|0;n=1;p=c[v+(a<<2)>>2]|0;while(1){k=(n|0)!=0;if((p|0)>=(q|0))break;m=c[u+(p<<2)>>2]|0;if((a|0)!=(m|0)?(c[x+(m<<2)>>2]|0)!=-1:0){o=+h[t+(p<<3)>>3];if(!k?!(o>j):0)k=0;else{k=0;i=m;j=o}}else k=n;n=k;p=p+1|0}if(k)a=r;else break}c[x+(i<<2)>>2]=-1;c[b>>2]=-1;q=c[d>>2]|0;c[q+(g<<2)>>2]=a;e=g+2|0;c[q+(g+1<<2)>>2]=i;a=(c[f>>2]|0)+1|0;c[f>>2]=a;c[s+(a<<2)>>2]=e;a=r;g=e}while(1){if((a|0)>=(w|0))break b;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[s+(g<<2)>>2]=v;g=v}a=a+1|0}}else{s=Rw(w)|0;r=0;a=0;j=0.0;while(1){if((r|0)>=(w|0)){a=0;break}p=c[s+(r<<2)>>2]|0;b=x+(p<<2)|0;if((c[b>>2]|0)!=-1){q=c[v+(p+1<<2)>>2]|0;m=1;n=c[v+(p<<2)>>2]|0;while(1){i=(m|0)!=0;if((n|0)>=(q|0))break;k=c[u+(n<<2)>>2]|0;if((p|0)!=(k|0)?(c[x+(k<<2)>>2]|0)!=-1:0){o=+h[t+(n<<3)>>3];if(!i?!(o>j):0)i=0;else{i=0;a=k;j=o}}else i=m;m=i;n=n+1|0}if(!i){c[x+(a<<2)>>2]=-1;c[b>>2]=-1;b=c[d>>2]|0;c[b+(g<<2)>>2]=p;q=g+2|0;c[b+(g+1<<2)>>2]=a;b=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[b+(g<<2)>>2]=q;g=q}}r=r+1|0}while(1){if((a|0)>=(w|0))break;if((c[x+(a<<2)>>2]|0)==(a|0)){v=g+1|0;c[(c[d>>2]|0)+(g<<2)>>2]=a;u=c[e>>2]|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;c[u+(g<<2)>>2]=v;g=v}a=a+1|0}l6(s)}while(0);l6(c[y>>2]|0);l6(c[z>>2]|0);l6(x);l=A;return}function jx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;r=c[a+20>>2]|0;s=c[a+24>>2]|0;v=c[a>>2]|0;u=v<<2;c[b>>2]=IK(u)|0;c[d>>2]=IK(u+4|0)|0;u=IK(u)|0;q=IK(v<<4)|0;f=0;while(1){if((f|0)>=(v|0))break;c[u+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=0;c[c[d>>2]>>2]=0;o=c[a+28>>2]|0;t=Rw(v)|0;f=0;m=0;while(1){if((m|0)>=(v|0)){m=0;break}a=c[t+(m<<2)>>2]|0;a:do if((c[u+(a<<2)>>2]|0)!=-1?(n=c[r+(a<<2)>>2]|0,((c[r+(a+1<<2)>>2]|0)-n|0)==1):0){j=c[s+(n<<2)>>2]|0;c[u+(j<<2)>>2]=-1;k=c[b>>2]|0;c[k+(f<<2)>>2]=j;l=r+(j+1<<2)|0;i=c[r+(j<<2)>>2]|0;f=f+1|0;while(1){if((i|0)>=(c[l>>2]|0))break;a=s+(i<<2)|0;g=c[a>>2]|0;if((j|0)!=(g|0)?((c[r+(g+1<<2)>>2]|0)-(c[r+(g<<2)>>2]|0)|0)==1:0){c[u+(g<<2)>>2]=-1;c[k+(f<<2)>>2]=c[a>>2];f=f+1|0}i=i+1|0}i=c[d>>2]|0;l=c[e>>2]|0;a=c[i+(l<<2)>>2]|0;l=l+1|0;g=i+(l<<2)|0;c[e>>2]=l;if((f-a|0)<5){c[g>>2]=f;break}l=a+1|0;c[g>>2]=l;a=l;g=l;while(1){if(!((g|0)<(f|0)&(a|0)<(f|0)))break a;l=g+3|0;l=(f|0)<(l|0)?f:l;k=(c[e>>2]|0)+1|0;c[e>>2]=k;c[i+(k<<2)>>2]=l;a=a+1|0;g=l}}while(0);m=m+1|0}while(1){if((m|0)>=(v|0)){a=0;break}k=c[t+(m<<2)>>2]|0;l=u+(k<<2)|0;if((c[l>>2]|0)!=-1){j=c[r+(k+1<<2)>>2]|0;a=0;i=c[r+(k<<2)>>2]|0;while(1){if((i|0)>=(j|0))break;g=c[s+(i<<2)>>2]|0;if((k|0)!=(g|0)?(p=a<<1,(c[u+(g<<2)>>2]|0)!=-1):0){h[q+(p<<3)>>3]=+(g|0);h[q+((p|1)<<3)>>3]=+h[o+(i<<3)>>3];a=a+1|0}i=i+1|0}if((a|0)>0){k3(q,a,16,81);i=(a|0)<3?a:3;j=c[b>>2]|0;g=0;while(1){a=f+1|0;f=j+(f<<2)|0;if((g|0)>=(i|0))break;n=~~+h[q+(g<<1<<3)>>3];c[u+(n<<2)>>2]=-1;c[f>>2]=n;g=g+1|0;f=a}c[l>>2]=-1;c[f>>2]=k;n=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[n+(f<<2)>>2]=a;f=a}}m=m+1|0}while(1){if((a|0)>=(v|0))break;if((c[u+(a<<2)>>2]|0)==(a|0)){s=f+1|0;c[(c[b>>2]|0)+(f<<2)>>2]=a;r=c[d>>2]|0;f=(c[e>>2]|0)+1|0;c[e>>2]=f;c[r+(f<<2)>>2]=s;f=s}a=a+1|0}l6(t);l6(u);return}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;r=c[a>>2]|0;f=c[a+4>>2]|0;k=IK(r<<2)|0;c[d>>2]=k;a=0;while(1){if((a|0)>=(r|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}c[e>>2]=f;a:do if(!b){f=0;b:while(1){if((f|0)>=(r|0))break a;b=f+1|0;g=p+(b<<2)|0;h=k+(f<<2)|0;a=c[p+(f<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0)){f=b;continue b}i=q+(a<<2)|0;j=c[i>>2]|0;if(((f|0)!=(j|0)?(l=k+(j<<2)|0,(c[l>>2]|0)==(j|0)):0)?(c[h>>2]|0)==(f|0):0){c[l>>2]=f;c[h>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}a=a+1|0}}}else{b=Rw(r)|0;a=0;while(1){if((a|0)>=(r|0))break;g=c[b+(a<<2)>>2]|0;h=p+(g+1<<2)|0;f=c[p+(g<<2)>>2]|0;while(1){if((f|0)>=(c[h>>2]|0))break;i=q+(f<<2)|0;j=c[i>>2]|0;if(((g|0)!=(j|0)?(m=c[d>>2]|0,n=m+(j<<2)|0,(c[n>>2]|0)==(j|0)):0)?(o=m+(g<<2)|0,(c[o>>2]|0)==(g|0)):0){c[n>>2]=g;c[o>>2]=c[i>>2];c[e>>2]=(c[e>>2]|0)+-1}f=f+1|0}a=a+1|0}l6(b)}while(0);return}function lx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=c[a+20>>2]|0;t=c[a+24>>2]|0;u=c[a>>2]|0;g=c[a+4>>2]|0;p=IK(u<<2)|0;c[d>>2]=p;f=0;while(1){if((f|0)>=(u|0))break;c[p+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;r=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(u|0))break a;m=l+1|0;n=c[s+(m<<2)>>2]|0;o=p+(l<<2)|0;b=1;k=c[s+(l<<2)>>2]|0;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[t+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[p+(g<<2)>>2]|0)==(g|0):0)?(c[o>>2]|0)==(l|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[p+(f<<2)>>2]=l;c[p+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{q=Rw(u)|0;p=0;f=0;i=0.0;while(1){if((p|0)>=(u|0))break;l=c[q+(p<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){o=c[s+(l+1<<2)>>2]|0;k=c[s+(l<<2)>>2]|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(o|0))break;g=c[t+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[r+(k<<3)>>3];if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}p=p+1|0}l6(q)}while(0);return}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=c[a+20>>2]|0;u=c[a+24>>2]|0;v=c[a>>2]|0;g=c[a+4>>2]|0;q=IK(v<<2)|0;c[d>>2]=q;f=0;while(1){if((f|0)>=(v|0))break;c[q+(f<<2)>>2]=f;f=f+1|0}c[e>>2]=g;s=c[a+28>>2]|0;a:do if(!b){f=0;i=0.0;l=0;while(1){if((l|0)>=(v|0))break a;k=c[t+(l<<2)>>2]|0;m=l+1|0;n=c[t+(m<<2)>>2]|0;o=+(n-k|0);p=q+(l<<2)|0;b=1;while(1){a=(b|0)!=0;if((k|0)>=(n|0))break;g=c[u+(k<<2)>>2]|0;if(((l|0)!=(g|0)?(c[q+(g<<2)>>2]|0)==(g|0):0)?(c[p>>2]|0)==(l|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;b=a;k=k+1|0}if(a){l=m;continue}c[q+(f<<2)>>2]=l;c[q+(l<<2)>>2]=f;c[e>>2]=(c[e>>2]|0)+-1;l=m}}else{r=Rw(v)|0;q=0;f=0;i=0.0;while(1){if((q|0)>=(v|0))break;l=c[r+(q<<2)>>2]|0;m=c[d>>2]|0;n=m+(l<<2)|0;if((c[n>>2]|0)==(l|0)){k=c[t+(l<<2)>>2]|0;p=c[t+(l+1<<2)>>2]|0;o=+(p-k|0);b=1;while(1){a=(b|0)!=0;if((k|0)>=(p|0))break;g=c[u+(k<<2)>>2]|0;if((l|0)!=(g|0)?(c[m+(g<<2)>>2]|0)==(g|0):0){j=+h[s+(k<<3)>>3]/o/+((c[t+(g+1<<2)>>2]|0)-(c[t+(g<<2)>>2]|0)|0);if(!a?!(j>i):0)a=0;else{a=0;f=g;i=j}}else a=b;k=k+1|0;b=a}if(!a){c[m+(f<<2)>>2]=l;c[n>>2]=f;c[e>>2]=(c[e>>2]|0)+-1}}q=q+1|0}l6(r)}while(0);return}function nx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[a+20>>2]|0;n=c[a+24>>2]|0;l=c[a>>2]|0;j=IK(l<<2)|0;c[d>>2]=j;a=0;while(1){if((a|0)>=(l|0))break;c[j+(a<<2)>>2]=-100;a=a+1|0}c[e>>2]=0;c[f>>2]=0;a:do if(!b){h=0;b:while(1){if((h|0)>=(l|0))break a;a=j+(h<<2)|0;i=h+1|0;if((c[a>>2]|0)!=-100){h=i;continue}b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(i<<2)|0;a=c[m+(h<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0)){h=i;continue b}g=c[n+(a<<2)>>2]|0;if((h|0)!=(g|0)){c[j+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}}else{i=Rw(l)|0;h=0;while(1){if((h|0)>=(l|0))break;j=c[i+(h<<2)>>2]|0;k=c[d>>2]|0;a=k+(j<<2)|0;c:do if((c[a>>2]|0)==-100){b=c[e>>2]|0;c[e>>2]=b+1;c[a>>2]=b;b=m+(j+1<<2)|0;a=c[m+(j<<2)>>2]|0;while(1){if((a|0)>=(c[b>>2]|0))break c;g=c[n+(a<<2)>>2]|0;if((j|0)!=(g|0)){c[k+(g<<2)>>2]=-1;c[f>>2]=(c[f>>2]|0)+1}a=a+1|0}}while(0);h=h+1|0}l6(i)}while(0);c[f>>2]=(c[f>>2]|0)+(c[e>>2]|0);return}function ox(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q+4|0;o=q;p=c[a+20>>2]|0;m=c[a+24>>2]|0;h=c[a>>2]|0;a=IK(h<<2)|0;c[d>>2]=a;g=0;while(1){c[n>>2]=g;if((g|0)>=(h|0))break;c[a+(g<<2)>>2]=-100;g=(c[n>>2]|0)+1|0}c[e>>2]=0;c[f>>2]=0;k=ux(h,(h<<1)+-2|0)|0;a:do if(!b){a=0;while(1){c[n>>2]=a;if((a|0)>=(h|0))break a;j=a+1|0;wx(k,a,(c[p+(j<<2)>>2]|0)-(c[p+(a<<2)>>2]|0)|0)|0;a=j}}else{g=Rw(h)|0;a=0;while(1){if((a|0)>=(h|0))break;j=c[g+(a<<2)>>2]|0;c[n>>2]=j;wx(k,j,(c[p+(j+1<<2)>>2]|0)-(c[p+(j<<2)>>2]|0)|0)|0;a=a+1|0}l6(g)}while(0);b:while(1){j=(xx(k,n,o)|0)==0;a=c[e>>2]|0;if(j)break;c[e>>2]=a+1;c[(c[d>>2]|0)+(c[n>>2]<<2)>>2]=a;a=c[n>>2]|0;j=c[p+(a<<2)>>2]|0;while(1){if((j|0)>=(c[p+(a+1<<2)>>2]|0))continue b;i=c[m+(j<<2)>>2]|0;if((a|0)!=(i|0)){c:do if((c[(c[d>>2]|0)+(i<<2)>>2]|0)==-100){zx(k,i)|0;c[(c[d>>2]|0)+(i<<2)>>2]=-1;g=p+(i+1<<2)|0;a=c[p+(i<<2)>>2]|0;while(1){if((a|0)>=(c[g>>2]|0))break c;b=m+(a<<2)|0;h=c[b>>2]|0;if((i|0)!=(h|0)?(c[(c[d>>2]|0)+(h<<2)>>2]|0)==-100:0){h=yx(k,h)|0;c[o>>2]=h;wx(k,c[b>>2]|0,h+1|0)|0}a=a+1|0}}while(0);c[f>>2]=(c[f>>2]|0)+1;a=c[n>>2]|0}j=j+1|0}}c[f>>2]=(c[f>>2]|0)+a;vx(k);l=q;return}function px(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[b+8>>3];return (d>c?-1:d<c&1)|0}function qx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((tw(a,0)|0)!=0?(c[a+16>>2]|0)==1:0)f=a;else f=Nw(a)|0;do if(!b)b=0;else{if(tw(b,0)|0?(c[b+16>>2]|0)==1:0)break;b=xw(b,0)|0}while(0);d=rx(f,b,d)|0;b=sx(d,e)|0;if((f|0)!=(a|0))c[d+36>>2]=1;return b|0}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!a)a=0;else{e=IK(44)|0;c[e>>2]=0;c[e+4>>2]=c[a+4>>2];c[e+8>>2]=a;c[e+12>>2]=b;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=d;c[e+28>>2]=0;c[e+32>>2]=0;c[e+36>>2]=0;a=e}return a|0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=0;if((c[a>>2]|0)<((c[b+16>>2]|0)+-1|0)?(fx(c[a+8>>2]|0,i,c[a+12>>2]|0,j,0,f,g,h,b,e),d=c[i>>2]|0,d|0):0){i=c[j>>2]|0;j=rx(d,i,c[f>>2]|0)|0;c[a+28>>2]=j;c[j+40>>2]=c[e>>2];c[j>>2]=(c[a>>2]|0)+1;c[j+4>>2]=c[d>>2];c[j+8>>2]=d;c[j+12>>2]=i;c[j+16>>2]=c[g>>2];c[a+20>>2]=c[h>>2];c[j+32>>2]=a;sx(j,b)|0}l=k;return a|0}function tx(a){a=a|0;var b=0;while(1){b=c[a+28>>2]|0;if(!b)break;else a=b}return a|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=IK(28)|0;c[f>>2]=0;c[f+4>>2]=a;c[f+8>>2]=b;c[f+12>>2]=-1;e=f+16|0;c[e>>2]=IK((b<<2)+4|0)|0;d=0;while(1){if((d|0)>(b|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=(a<<2)+4|0;e=f+20|0;c[e>>2]=IK(b)|0;d=0;while(1){if((d|0)>(a|0))break;c[(c[e>>2]|0)+(d<<2)>>2]=0;d=d+1|0}b=IK(b)|0;c[f+24>>2]=b;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=-999;d=d+1|0}return f|0}function vx(a){a=a|0;var b=0,d=0,e=0,f=0;if(a|0){e=a+16|0;b=c[e>>2]|0;if(b|0){f=a+8|0;d=0;while(1){if((d|0)>(c[f>>2]|0))break;zy(c[b+(d<<2)>>2]|0,105);d=d+1|0;b=c[e>>2]|0}l6(b)}b=c[a+20>>2]|0;if(b|0)l6(b);l6(c[a+24>>2]|0);l6(a)}return}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=a+8|0;l=a+20|0;i=a+24|0;m=a+16|0;if(!a)Aa(139256,96044,69,96060);while(1){if((c[h>>2]|0)<(d|0)){j=4;break}e=(c[l>>2]|0)+(b<<2)|0;f=c[e>>2]|0;g=c[a>>2]|0;k=(c[i>>2]|0)+(b<<2)|0;if(!f)break;n=c[k>>2]|0;c[e>>2]=0;c[a>>2]=g+-1;Cy(f,105,(c[m>>2]|0)+(n<<2)|0)}if((j|0)==4)Aa(96079,96044,70,96060);c[a>>2]=g+1;e=a+12|0;if((c[e>>2]|0)<(d|0))c[e>>2]=d;c[k>>2]=d;e=IK(4)|0;c[e>>2]=b;f=c[(c[m>>2]|0)+(d<<2)>>2]|0;if(!f)e=yy(e)|0;else e=Ay(f,e)|0;c[(c[l>>2]|0)+(b<<2)>>2]=e;c[(c[m>>2]|0)+(d<<2)>>2]=e;return a|0}function xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)!=0?(c[a>>2]|0)>=1:0){f=a+12|0;e=c[f>>2]|0;c[d>>2]=e;c[a>>2]=(c[a>>2]|0)+-1;d=a+16|0;g=c[(c[d>>2]|0)+(e<<2)>>2]|0;c[b>>2]=c[(By(g)|0)>>2];Cy(g,105,(c[d>>2]|0)+(e<<2)|0);d=c[d>>2]|0;if(!(c[d+(e<<2)>>2]|0)){while(1){if((e|0)<=-1)break;if(c[d+(e<<2)>>2]|0)break;e=e+-1|0}c[f>>2]=e}e=c[b>>2]|0;c[(c[a+20>>2]|0)+(e<<2)>>2]=0;c[(c[a+24>>2]|0)+(e<<2)>>2]=-999;e=1}else e=0;return e|0}function yx(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b<<2)>>2]|0}function zx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)>=1):0){h=a+24|0;d=c[(c[h>>2]|0)+(b<<2)>>2]|0;c[a>>2]=e+-1;f=a+20|0;e=a+16|0;Cy(c[(c[f>>2]|0)+(b<<2)>>2]|0,105,(c[e>>2]|0)+(d<<2)|0);a=a+12|0;if((d|0)==(c[a>>2]|0)?(g=c[e>>2]|0,(c[g+(d<<2)>>2]|0)==0):0){while(1){if((d|0)<=-1)break;if(c[g+(d<<2)>>2]|0)break;d=d+-1|0}c[a>>2]=d}c[(c[f>>2]|0)+(b<<2)>>2]=0;c[(c[h>>2]|0)+(b<<2)>>2]=-999;d=1}else d=0;return d|0}function Ax(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;if(!(tw(a,0)|0))Aa(96096,96132,260,96147);w=uw(a)|0;x=c[w+20>>2]|0;y=c[w+24>>2]|0;a=w+16|0;e=w+28|0;if((c[a>>2]|0)==1)v=c[e>>2]|0;else{l6(c[e>>2]|0);c[a>>2]=1;v=IK(c[w+8>>2]<<3)|0;c[e>>2]=v}r=IK(c[w>>2]<<2)|0;a=0;while(1){e=c[w>>2]|0;if((a|0)>=(e|0)){q=0;a=e;break}c[r+(a<<2)>>2]=-1;a=a+1|0}a:while(1){if((q|0)>=(a|0)){g=0.0;k=0.0;f=0;u=0;t=a;break}p=q+1|0;i=x+(p<<2)|0;m=x+(q<<2)|0;j=(c[i>>2]|0)-(c[m>>2]|0)|0;c[r+(q<<2)>>2]=q;e=c[m>>2]|0;while(1){o=c[i>>2]|0;if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0))c[r+(a<<2)>>2]=q;e=e+1|0}n=+(j|0);e=c[m>>2]|0;while(1){if((e|0)>=(o|0))break;a=c[y+(e<<2)>>2]|0;if((q|0)!=(a|0)){i=c[x+(a+1<<2)>>2]|0;a=c[x+(a<<2)>>2]|0;l=n+ +(i-a|0);while(1){if((a|0)>=(i|0))break;l=(c[r+(c[y+(a<<2)>>2]<<2)>>2]|0)==(q|0)?l+-1.0:l;a=a+1|0}h[v+(e<<3)>>3]=l;if(!(l>0.0)){s=23;break a}}e=e+1|0}q=p;a=c[w>>2]|0}if((s|0)==23)Aa(96169,96132,290,96147);while(1){if((u|0)>=(t|0))break;i=u+1|0;j=x+(i<<2)|0;e=c[x+(u<<2)>>2]|0;while(1){if((e|0)>=(c[j>>2]|0))break;a=c[y+(e<<2)>>2]|0;if((u|0)==(a|0))a=f;else{k=k+ +Xw(d,b,u,a);g=g+ +h[v+(e<<3)>>3];a=f+1|0}f=a;e=e+1|0}u=i;t=c[w>>2]|0}n=+(f|0);g=k/n/(g/n);a=0;b:while(1){if((a|0)>=(t|0))break;i=a+1|0;j=c[x+(i<<2)>>2]|0;e=c[x+(a<<2)>>2]|0;while(1){if((e|0)>=(j|0)){a=i;continue b}f=v+(e<<3)|0;if((a|0)!=(c[y+(e<<2)>>2]|0))h[f>>3]=g*+h[f>>3];e=e+1|0}}return w|0}function Bx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0;N=c[a>>2]|0;O=c[a+20>>2]|0;P=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,333,96177);Q=Ax(a,b,e)|0;R=IK(56)|0;S=R+32|0;h[S>>3]=1.0;c[R+20>>2]=0;c[R+24>>2]=0;h[R+40>>3]=.01;c[R+48>>2]=~~+G(+(+(c[a>>2]|0)));g=N<<3;K=IK(g)|0;c[R+12>>2]=K;a=0;while(1){if((a|0)>=(N|0))break;h[K+(a<<3)>>3]=d;a=a+1|0}L=IK(N<<2)|0;J=IK(g)|0;j=0;while(1){if((j|0)>=(N|0)){n=0;break}k=J+(j<<3)|0;h[k>>3]=0.0;l=j+1|0;m=O+(l<<2)|0;i=c[O+(j<<2)>>2]|0;a=0;d=0.0;while(1){if((i|0)>=(c[m>>2]|0))break;g=c[P+(i<<2)>>2]|0;if((j|0)!=(g|0)){d=+Xw(e,b,j,g);d=d+ +h[k>>3];h[k>>3]=d;a=a+1|0}i=i+1|0}if((a|0)<=0){o=14;break}h[k>>3]=d/+(a|0);j=l}if((o|0)==14)Aa(96209,96132,358,96177);while(1){if((n|0)>=(N|0)){a=0;l=0;break}c[L+(n<<2)>>2]=-1;n=n+1|0}a:while(1){if((l|0)>=(N|0))break;c[L+(l<<2)>>2]=l;j=O+(l<<2)|0;m=l+1|0;n=O+(m<<2)|0;i=c[j>>2]|0;while(1){g=c[n>>2]|0;if((i|0)>=(g|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=c[j>>2]|0;while(1){if((k|0)>=(g|0)){l=m;continue a}i=c[P+(k<<2)>>2]|0;j=O+(i+1<<2)|0;i=c[O+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=L+(c[P+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(l|0)){c[g>>2]=l;a=a+1|0}i=i+1|0}k=k+1|0;g=c[n>>2]|0}}g=a+N|0;F=R+4|0;c[F>>2]=ow(N,N,g,1,1)|0;g=ow(N,N,g,1,1)|0;I=R+8|0;c[I>>2]=g;a=c[F>>2]|0;do if(!((g|0)==0|(a|0)==0)){D=c[a+20>>2]|0;C=c[a+24>>2]|0;A=c[a+28>>2]|0;E=c[g+28>>2]|0;B=c[g+20>>2]|0;x=c[g+24>>2]|0;c[B>>2]=0;c[D>>2]=0;y=(f|0)==0;z=(f|0)==2;f=(f|0)==1;d=0.0;p=0.0;o=0;i=0;b:while(1){if((o|0)>=(N|0)){o=62;break}t=o+N|0;c[L+(o<<2)>>2]=t;k=O+(o<<2)|0;u=o+1|0;v=O+(u<<2)|0;w=J+(o<<3)|0;q=0.0;r=0.0;j=c[k>>2]|0;while(1){a=c[v>>2]|0;if((j|0)>=(a|0))break;g=c[P+(j<<2)>>2]|0;a=L+(g<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;c[C+(i<<2)>>2]=g;do if(y)s=1.0;else{if(f){s=(+h[w>>3]+ +h[J+(g<<3)>>3])*.5;break}if(!z){o=44;break b}s=+H(+(+Ww(e,b,o,g)),.4)}while(0);U=-1.0/(s*s);h[A+(i<<3)>>3]=U;c[x+(i<<2)>>2]=g;T=s*U;n=E+(i<<3)|0;h[n>>3]=T;p=p+T*+Xw(e,b,o,g);T=+h[n>>3];i=i+1|0;q=q+U;r=r+T;d=d+s*T}j=j+1|0}n=c[k>>2]|0;while(1){if((n|0)>=(a|0))break;k=c[P+(n<<2)>>2]|0;l=O+(k+1<<2)|0;m=J+(k<<3)|0;j=c[O+(k<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=P+(j<<2)|0;a=L+(c[g>>2]<<2)|0;if((c[a>>2]|0)!=(t|0)){c[a>>2]=t;do if(y)s=2.0;else{if(f){s=(+h[w>>3]+ +h[m>>3]*2.0+ +h[J+(c[g>>2]<<3)>>3])*.5;break}if(!z){o=57;break b}s=+H(+(+Ww(e,b,o,c[g>>2]|0)),.4)}while(0);c[C+(i<<2)>>2]=c[g>>2];T=-1.0/(s*s);h[A+(i<<3)>>3]=T;c[x+(i<<2)>>2]=c[g>>2];U=s*T;a=E+(i<<3)|0;h[a>>3]=U;p=p+U*+Xw(e,b,c[g>>2]|0,k);U=+h[a>>3];i=i+1|0;q=q+T;r=r+U;d=d+s*U}j=j+1|0}n=n+1|0;a=c[v>>2]|0}c[C+(i<<2)>>2]=o;w=K+(o<<3)|0;U=-(q*+h[w>>3]);h[w>>3]=U;h[A+(i<<3)>>3]=U-q;c[x+(i<<2)>>2]=o;h[E+(i<<3)>>3]=-r;i=i+1|0;c[D+(u<<2)>>2]=i;c[B+(u<<2)>>2]=i;o=u}if((o|0)==44){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,418,96177)}else if((o|0)==57){_3(96216,29,1,c[15715]|0)|0;Aa(138697,96132,460,96177)}else if((o|0)==62){d=p/d;a=0;while(1){if((a|0)>=(i|0))break;P=E+(a<<3)|0;h[P>>3]=d*+h[P>>3];a=a+1|0}h[S>>3]=d;c[(c[F>>2]|0)+8>>2]=i;c[(c[I>>2]|0)+8>>2]=i;l6(L);l6(J);nw(Q);M=R;break}}else{Cx(R);M=0}while(0);return M|0}function Cx(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)nw(b);b=c[a+8>>2]|0;if(b|0)nw(b);b=c[a+12>>2]|0;if(b|0)l6(b);b=c[a+20>>2]|0;if(b|0)db[c[a+16>>2]&127](b);l6(a)}return}function Dx(a,b,d,e,f,g){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;O=c[a>>2]|0;if(tw(a,0)|0?(c[a+16>>2]|0)==1:0){k=S(O,b)|0;j=0.0;i=0;while(1){if((i|0)>=(k|0))break;u=+h[e+(i<<3)>>3];j=j+u*u;i=i+1|0}a:do if(j==0.0){i=0;while(1){if((i|0)>=(k|0))break a;h[e+(i<<3)>>3]=+Pw()*72.0;i=i+1|0}}while(0);J=c[a+20>>2]|0;K=c[a+24>>2]|0;L=c[a+28>>2]|0;i=IK(56)|0;N=i+32|0;h[N>>3]=1.0;c[i+20>>2]=0;c[i+24>>2]=0;c[i>>2]=a;h[i+40>>3]=.01;c[i+48>>2]=~~+G(+(+(c[a>>2]|0)));M=IK(O<<3)|0;c[i+12>>2]=M;k=0;while(1){if((k|0)>=(O|0))break;h[M+(k<<3)>>3]=d;k=k+1|0}a=(c[a+8>>2]|0)+O|0;H=i+4|0;c[H>>2]=ow(O,O,a,1,1)|0;a=ow(O,O,a,1,1)|0;I=i+8|0;c[I>>2]=a;k=c[H>>2]|0;if(!((a|0)==0|(k|0)==0)){B=c[k+20>>2]|0;C=c[k+24>>2]|0;D=c[a+20>>2]|0;E=c[a+24>>2]|0;z=c[k+28>>2]|0;F=c[a+28>>2]|0;c[D>>2]=0;c[B>>2]=0;t=0.0;u=0.0;A=0;w=0;b:while(1){if((w|0)>=(O|0))break;x=w+1|0;y=J+(x<<2)|0;l=0.0;m=0.0;v=c[J+(w<<2)>>2]|0;j=t;d=u;k=A;while(1){o=z+(k<<3)|0;a=C+(k<<2)|0;p=F+(k<<3)|0;q=E+(k<<2)|0;if((v|0)>=(c[y>>2]|0))break;r=c[K+(v<<2)>>2]|0;if((r|0)!=(w|0)){c[a>>2]=r;s=+h[L+(v<<3)>>3];n=s*s;a=n==0.0;switch(f|0){case 2:{n=a?-1.0e5:-1.0/n;break}case 1:{n=a?-1.0e5:-1.0/s;break}case 0:{n=-1.0;break}default:{P=23;break b}}h[o>>3]=n;c[q>>2]=r;Q=s*n;h[p>>3]=Q;d=d+Q*+Xw(e,b,w,r);Q=+h[p>>3];l=l+n;m=m+Q;j=j+s*Q;k=k+1|0}v=v+1|0}c[a>>2]=w;A=M+(w<<3)|0;t=-(l*+h[A>>3]);h[A>>3]=t;h[o>>3]=t-l;c[q>>2]=w;h[p>>3]=-m;A=k+1|0;c[B+(x<<2)>>2]=A;c[D+(x<<2)>>2]=A;t=j;u=d;w=x}if((P|0)==23)Aa(138697,96132,591,96313);j=(g|0)==0?1.0:u/t;if(j==0.0)i=0;else{k=0;while(1){if((k|0)>=(A|0))break;P=F+(k<<3)|0;h[P>>3]=j*+h[P>>3];k=k+1|0}h[N>>3]=j;c[(c[H>>2]|0)+8>>2]=A;c[(c[I>>2]|0)+8>>2]=A}}else{Cx(i);i=0}return i|0}Aa(96246,96132,525,96313);return 0}function Ex(a){a=a|0;Cx(a);return}function Fx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;return +(+Gx(a,b,c,d,e))}function Gx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0;U=l;l=l+16|0;Q=U+12|0;T=U+8|0;n=U+4|0;k=U;m=c[a+4>>2]|0;i=c[a+8>>2]|0;c[Q>>2]=0;c[T>>2]=0;c[n>>2]=0;L=c[a+12>>2]|0;c[k>>2]=0;M=uw(i)|0;N=c[m>>2]|0;O=S(N,b)|0;g=O<<3;R=IK(g)|0;if((R|0)!=0?(P=S(b<<3,N)|0,B6(R|0,d|0,P|0)|0,K=IK(g)|0,c[T>>2]=K,(K|0)!=0):0){J=c[i+20>>2]|0;K=c[i+24>>2]|0;E=c[i+28>>2]|0;F=c[M+28>>2]|0;H=c[m+28>>2]|0;I=a+24|0;g=a+20|0;switch(c[I>>2]|0){case 1:{Hx(c[g>>2]|0,N,b,d,k,n);g=c[k>>2]|0;if(!g){B=0.0;C=0.0;g=0}else{m=vw(m,g)|0;B=0.0;C=0.0}break}case 2:{g=c[g>>2]|0;B=+h[g+8>>3];C=+h[g>>3];g=0;break}default:{B=0.0;C=0.0;g=0}}z=(L|0)==0;A=a+48|0;y=a+40|0;i=c[n>>2]|0;j=1.0;k=0;a:while(1){x=k+1|0;if(!((k|0)<(e|0)&j>f))break;b:do if((c[I>>2]|0)==4){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break b;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;h[n+(a+o<<3)>>3]=0.0;a=a+1|0}k=k+1|0}}else{t=0;while(1){if((t|0)>=(N|0))break;v=t+1|0;w=J+(v<<2)|0;p=0.0;u=c[J+(t<<2)>>2]|0;k=-1;while(1){if((u|0)>=(c[w>>2]|0))break;n=K+(u<<2)|0;a=c[n>>2]|0;if((t|0)==(a|0))k=u;else{s=+Xw(d,b,t,a);o=E+(u<<3)|0;r=+h[o>>3];q=F+(u<<3)|0;if(r==0.0)r=0.0;else{if(s==0.0){r=r/+h[H+(u<<3)>>3];a=0;while(1){if((a|0)>=(b|0))break;s=r*((+Pw()+.0001)*.0001);V=d+((S(c[n>>2]|0,b)|0)+a<<3)|0;h[V>>3]=+h[V>>3]+s;a=a+1|0}s=+Xw(d,b,t,c[n>>2]|0);r=+h[o>>3]}r=r/s}h[q>>3]=r;p=p+r}u=u+1|0}if((k|0)<=-1){D=25;break a}h[F+(k<<3)>>3]=-p;t=v}Dw(M,0,d,0,T,0,b)}while(0);c:do if(!z){n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break c;o=L+(k<<3)|0;q=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;w=a+q|0;V=n+(w<<3)|0;h[V>>3]=+h[o>>3]*+h[R+(w<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}}while(0);switch(c[I>>2]|0){case 1:{n=c[T>>2]|0;k=0;while(1){if((k|0)>=(N|0))break;o=S(k,b)|0;a=0;while(1){if((a|0)>=(b|0))break;D=a+o|0;V=n+(D<<3)|0;h[V>>3]=+h[i+(D<<3)>>3]+ +h[V>>3];a=a+1|0}k=k+1|0}k=n;p=+h[y>>3];a=c[A>>2]|0;D=51;break}case 2:{Ix(N,b,d,c[T>>2]|0,C,B);k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;if((c[I>>2]|0)==2)Jx(m,C,b,d,k,p,a,Q);else D=51;break}default:{k=c[T>>2]|0;p=+h[y>>3];a=c[A>>2]|0;D=51}}if((D|0)==51){D=0;+cy(m,b,d,k,p,a,0,Q)}if(c[Q>>2]|0)break;j=+Kx(N,b,d,c[T>>2]|0);j=j/+G(+(+Tw(O,d,d)));B6(d|0,c[T>>2]|0,P|0)|0;k=x}if((D|0)==25)Aa(96350,96132,895,96361);nw(M);if(g){nw(g);nw(m)}}else{nw(M);j=1.0;i=0}l6(R);g=c[T>>2]|0;if(g|0)l6(g);if(i|0)l6(i);l=U;return +j}function Hx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0;q=c[a+8>>2]|0;B=c[a+12>>2]|0;y=c[a+16>>2]|0;A=c[a+32>>2]|0;z=c[A+20>>2]|0;A=c[A+24>>2]|0;m=a+20|0;s=c[m>>2]|0;n=a+24|0;r=c[n>>2]|0;o=a+28|0;p=c[o>>2]|0;x=+h[a>>3];a=(s|0)!=0;i=(r|0)!=0|(p|0)!=0;a:do if((q|2|0)==3){if(!a){if(i)Aa(96395,96132,692,96412);else{j=0;l=0}while(1){if((j|0)>=(B|0))break;w=c[y+(j<<2)>>2]|0;t=+((c[z+(w+1<<2)>>2]|0)-(c[z+(w<<2)>>2]|0)|0)+1.0;j=j+1|0;l=~~(t*t)+l|0}r=l<<2;s=IK(r)|0;c[m>>2]=s;r=IK(r)|0;c[n>>2]=r;p=IK(l<<3)|0;c[o>>2]=p}u=0;a=0;while(1){if((u|0)>=(B|0))break;o=c[y+(u<<2)>>2]|0;q=z+(o<<2)|0;j=c[q>>2]|0;i=c[A+(j<<2)>>2]|0;j=c[A+(j+1<<2)>>2]|0;b:do if((i|0)!=(j|0)){C=+Ww(e,d,i,j);C=C*C;n=z+(o+1<<2)|0;t=+((c[n>>2]|0)-(c[q>>2]|0)|0);c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=x/C;k=C*(t*t);t=-(x/(C*t));j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;c[s+(a<<2)>>2]=o;c[r+(a<<2)>>2]=c[A+(j<<2)>>2];h[p+(a<<3)>>3]=t;j=j+1|0}k=x/k;m=c[q>>2]|0;while(1){if((m|0)>=(i|0))break b;l=c[A+(m<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=o;h[p+(a<<3)>>3]=t;j=c[q>>2]|0;while(1){a=a+1|0;i=c[n>>2]|0;if((j|0)>=(i|0))break;w=c[A+(j<<2)>>2]|0;c[s+(a<<2)>>2]=l;c[r+(a<<2)>>2]=w;h[p+(a<<3)>>3]=k;j=j+1|0}m=m+1|0}}while(0);u=u+1|0}i=Aw(a,b,b,s,r,p,1,8)|0;a=0}else{switch(q|0){case 2:case 4:break;default:{i=0;a=0;break a}}do if(!a)if(i)Aa(96395,96132,734,96412);else{v=B<<2;w=IK(v)|0;c[m>>2]=w;v=IK(v)|0;c[n>>2]=v;u=IK(B<<3)|0;c[o>>2]=u;break}else{u=p;v=r;w=s}while(0);a=IK(S(b<<3,d)|0)|0;j=S(d,b)|0;i=0;while(1){if((i|0)>=(j|0)){o=0;break}h[a+(i<<3)>>3]=0.0;i=i+1|0}while(1){if((o|0)>=(B|0))break;p=c[y+(o<<2)>>2]|0;l=z+(p<<2)|0;m=c[l>>2]|0;k=+Ww(e,d,c[A+(m<<2)>>2]|0,c[A+(m+1<<2)>>2]|0);c[w+(o<<2)>>2]=p;c[v+(o<<2)>>2]=p;k=x/k;h[u+(o<<3)>>3]=k;l=c[l>>2]|0;m=c[z+(p+1<<2)>>2]|0;p=S(p,d)|0;j=l;while(1){if((j|0)>=(m|0))break;n=S(c[A+(j<<2)>>2]|0,d)|0;i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[e+(i+n<<3)>>3]+ +h[s>>3];i=i+1|0}j=j+1|0}k=k/+(m-l|0);i=0;while(1){if((i|0)>=(d|0))break;s=a+(i+p<<3)|0;h[s>>3]=+h[s>>3]*k;i=i+1|0}o=o+1|0}i=Aw(o,b,b,w,v,u,1,8)|0}while(0);c[f>>2]=i;c[g>>2]=a;return}function Ix(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0;f=e*f;g=0;a:while(1){if((g|0)>=(a|0))break;l=g+1|0;m=S(g,b)|0;i=l;while(1){if((i|0)==(a|0)){g=l;continue a}e=+Ww(c,b,g,i);k=S(i,b)|0;j=0;while(1){if((j|0)>=(b|0))break;p=j+m|0;n=j+k|0;o=f*((+h[c+(p<<3)>>3]-+h[c+(n<<3)>>3])/e);p=d+(p<<3)|0;h[p>>3]=+h[p>>3]+o;n=d+(n<<3)|0;h[n>>3]=+h[n>>3]-o;j=j+1|0}i=i+1|0}}return}function Jx(a,b,d,e,f,g,h,i){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;i=i|0;var j=0,k=0;k=Tx(a,b)|0;j=Yx(a,b)|0;+$x(k,j,c[a>>2]|0,d,e,f,g,h,i);return}function Kx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0;f=0;i=0.0;while(1){if((f|0)>=(a|0))break;j=S(f,b)|0;e=0;g=0.0;while(1){if((e|0)>=(b|0))break;l=e+j|0;k=+h[d+(l<<3)>>3]-+h[c+(l<<3)>>3];e=e+1|0;g=g+k*k}f=f+1|0;i=i+ +G(+g)}return +i}function Lx(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;A=c[a>>2]|0;p=c[a+20>>2]|0;q=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1034,96434);r=A<<3;B=IK(r)|0;j=0;while(1){if((j|0)>=(A|0))break;m=B+(j<<3)|0;h[m>>3]=0.0;n=j+1|0;o=p+(n<<2)|0;l=c[p+(j<<2)>>2]|0;g=0;k=0.0;while(1){if((l|0)>=(c[o>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((j|0)!=(i|0)){k=+Xw(e,b,j,i);k=k+ +h[m>>3];h[m>>3]=k;g=g+1|0}l=l+1|0}if((g|0)<=0){z=11;break}h[m>>3]=k/+(g|0);j=n}if((z|0)==11)Aa(96209,96132,1046,96434);g=IK(56)|0;y=g+32|0;h[y>>3]=1.0;c[g+20>>2]=0;c[g+24>>2]=0;h[g+40>>3]=.01;c[g+48>>2]=~~+G(+(+(c[a>>2]|0)));x=IK(r)|0;c[g+12>>2]=x;i=0;while(1){if((i|0)>=(A|0))break;h[x+(i<<3)>>3]=d;i=i+1|0}do if((A|0)>2)if(!f){i=ey(A,b,e)|0;break}else{i=dy(A,b,e)|0;break}else i=uw(a)|0;while(0);f=g+4|0;c[f>>2]=vw(a,i)|0;nw(i);j=uw(c[f>>2]|0)|0;c[g+8>>2]=j;i=c[f>>2]|0;if((j|0)==0|(i|0)==0){Mx(g);g=0}else{r=c[i+20>>2]|0;q=c[i+24>>2]|0;p=c[i+28>>2]|0;f=c[j+28>>2]|0;v=0.0;w=0.0;m=0;while(1){if((m|0)>=(A|0))break;o=m+1|0;n=r+(o<<2)|0;u=0.0;d=0.0;j=-1;s=v;t=w;l=c[r+(m<<2)>>2]|0;while(1){if((l|0)>=(c[n>>2]|0))break;i=c[q+(l<<2)>>2]|0;if((i|0)==(m|0)){k=u;i=l}else{D=+H(+(+Ww(e,b,m,i)),.6);k=1.0/(D*D);h[p+(l<<3)>>3]=k;C=D*k;a=f+(l<<3)|0;h[a>>3]=C;t=t+C*+Xw(e,b,m,i);C=+h[a>>3];k=u+k;d=d+C;i=j;s=s+D*C}u=k;j=i;l=l+1|0}a=x+(m<<3)|0;k=-(u*+h[a>>3]);h[a>>3]=k;if((j|0)<=-1){z=31;break}h[p+(j<<3)>>3]=k-u;h[f+(j<<3)>>3]=-d;v=s;w=t;m=o}if((z|0)==31)Aa(96455,96132,1112,96434);k=w/v;j=c[r+(A<<2)>>2]|0;i=0;while(1){if((i|0)>=(j|0))break;A=f+(i<<3)|0;h[A>>3]=k*+h[A>>3];i=i+1|0}h[y>>3]=k;l6(B)}return g|0}function Mx(a){a=a|0;Cx(a);return}function Nx(a,b,c){a=a|0;b=b|0;c=c|0;+Gx(a,b,c,50,.001);return}function Ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;z=c[a>>2]|0;A=c[a+20>>2]|0;B=c[a+24>>2]|0;if(!(tw(a,0)|0))Aa(96096,96132,1149,96466);v=Ax(a,b,e)|0;w=c[v+28>>2]|0;a=IK(8)|0;x=IK(z<<2)|0;y=IK(z<<3)|0;i=0;while(1){if((i|0)>=(z|0)){o=0;break}l=y+(i<<3)|0;h[l>>3]=0.0;m=i+1|0;n=A+(m<<2)|0;j=c[A+(i<<2)>>2]|0;f=0;k=0.0;while(1){if((j|0)>=(c[n>>2]|0))break;g=c[B+(j<<2)>>2]|0;if((i|0)!=(g|0)){k=+Xw(e,b,i,g);k=k+ +h[l>>3];h[l>>3]=k;f=f+1|0}j=j+1|0}if((f|0)<=0){p=11;break}h[l>>3]=k/+(f|0);i=m}if((p|0)==11)Aa(96209,96132,1167,96466);while(1){if((o|0)>=(z|0)){m=0;f=0;break}c[x+(o<<2)>>2]=-1;o=o+1|0}a:while(1){if((m|0)>=(z|0))break;c[x+(m<<2)>>2]=m;j=A+(m<<2)|0;n=m+1|0;o=A+(n<<2)|0;i=c[j>>2]|0;while(1){g=c[o>>2]|0;if((i|0)>=(g|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=c[j>>2]|0;while(1){if((l|0)>=(g|0)){m=n;continue a}i=c[B+(l<<2)>>2]|0;j=A+(i+1<<2)|0;i=c[A+(i<<2)>>2]|0;while(1){if((i|0)>=(c[j>>2]|0))break;g=x+(c[B+(i<<2)>>2]<<2)|0;if((c[g>>2]|0)!=(m|0)){c[g>>2]=m;f=f+1|0}i=i+1|0}l=l+1|0;g=c[o>>2]|0}}e=ow(z,z,f,1,1)|0;c[a>>2]=e;if(!e){Px(a);a=0}else{p=c[e+20>>2]|0;q=c[e+24>>2]|0;r=c[e+28>>2]|0;c[p>>2]=0;g=0;f=0;while(1){if((g|0)>=(z|0))break;s=g+z|0;c[x+(g<<2)>>2]=s;l=A+(g<<2)|0;t=g+1|0;u=A+(t<<2)|0;b=y+(g<<3)|0;j=c[l>>2]|0;while(1){g=c[u>>2]|0;if((j|0)>=(g|0))break;g=c[B+(j<<2)>>2]|0;i=x+(g<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=g;o=r+(f<<3)|0;h[o>>3]=(+h[b>>3]+ +h[y+(g<<3)>>3])*.5;h[o>>3]=+h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=c[l>>2]|0;while(1){if((o|0)>=(g|0))break;j=c[B+(o<<2)>>2]|0;l=A+(j+1<<2)|0;m=y+(j<<3)|0;n=w+(o<<3)|0;j=c[A+(j<<2)>>2]|0;while(1){if((j|0)>=(c[l>>2]|0))break;g=B+(j<<2)|0;i=x+(c[g>>2]<<2)|0;if((c[i>>2]|0)!=(s|0)){c[i>>2]=s;c[q+(f<<2)>>2]=c[g>>2];i=r+(f<<3)|0;h[i>>3]=(+h[b>>3]+ +h[m>>3]*2.0+ +h[y+(c[g>>2]<<3)>>3])*.5;h[i>>3]=+h[n>>3]+ +h[w+(j<<3)>>3];f=f+1|0}j=j+1|0}o=o+1|0;g=c[u>>2]|0}c[p+(t<<2)>>2]=f;g=t}c[e+8>>2]=f;A=Vp()|0;B=a+4|0;c[B>>2]=A;B6(A|0,d|0,168)|0;B=c[B>>2]|0;c[B+16>>2]=0;c[B+40>>2]=1;A=B+96|0;h[A>>3]=+h[A>>3]*.5;c[B+80>>2]=20;l6(x);l6(y);nw(v)}return a|0}function Px(a){a=a|0;var b=0;if(a|0){b=c[a>>2]|0;if(b|0)nw(b);a=c[a+4>>2]|0;if(a|0)Wp(a)}return}function Qx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+16|0;h=g;c[h>>2]=0;pq(e,b,c[a>>2]|0,c[a+4>>2]|0,d,f,h);if(!(c[h>>2]|0)){l=g;return}else Aa(96485,96132,1262,96491)}function Rx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;c[g>>2]=0;g=c[d+120>>2]|0;a:do switch(g|0){case 5:case 6:{if((c[b>>2]|0)>2){b=Lx(b,a,0.0,f,(g|0)!=6&1)|0;Nx(b,a,f);Mx(b)}break}case 4:{g=0;while(1){if((g|0)==1)break a;i=Ox(b,a,d,f)|0;Qx(i,b,e,a,f);Px(i);g=g+1|0}}case 1:{d=0;h=6;break}case 2:{d=1;h=6;break}case 3:{d=2;h=6;break}default:{}}while(0);b:do if((h|0)==6){g=0;while(1){if((g|0)==1)break b;i=Bx(b,a,.05,f,d)|0;+Gx(i,a,f,50,.001);Cx(i);g=g+1|0}}while(0);return}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;c[f>>2]=d;j=c[a>>2]|0;a=c[j+8>>2]|0;i=+h[j>>3];j=c[a>>2]|0;Gw(a,b,f,0);a=0;g=0.0;while(1){if((a|0)>=(j|0))break;e=g+ +h[b+(a<<3)>>3];a=a+1|0;g=e}d=c[f>>2]|0;e=+(j|0);a=0;while(1){if((a|0)>=(j|0))break;f=d+(a<<3)|0;h[f>>3]=+h[f>>3]+i*(e*+h[b+(a<<3)>>3]-g);a=a+1|0}l=k;return d|0}function Tx(a,b){a=a|0;b=+b;var d=0,e=0;d=IK(8)|0;e=IK(16)|0;c[d>>2]=e;h[e>>3]=b;c[e+8>>2]=a;c[d+4>>2]=28;return d|0}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=d;Gw(c[a>>2]|0,b,e,0);l=f;return c[e>>2]|0}function Vx(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=29;return b|0}function Wx(a){a=a|0;if(a|0)l6(a);return}function Xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[a>>2]|0;e=~~+h[f>>3];f=f+8|0;a=0;while(1){if((a|0)>=(e|0))break;h[d+(a<<3)>>3]=+h[b+(a<<3)>>3]*+h[f+(a<<3)>>3];a=a+1|0}return d|0}function Yx(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0.0;m=c[a>>2]|0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;k=c[a+28>>2]|0;l=IK(8)|0;i=IK((m<<3)+8|0)|0;c[l>>2]=i;h[i>>3]=+(m|0);i=i+8|0;q=+(m+-1|0);j=1.0/q;b=q*b;a=0;a:while(1){if((a|0)>=(m|0))break;e=i+(a<<3)|0;h[e>>3]=j;f=a+1|0;g=c[o+(f<<2)>>2]|0;d=c[o+(a<<2)>>2]|0;while(1){if((d|0)>=(g|0)){a=f;continue a}if((a|0)==(c[p+(d<<2)>>2]|0)?(n=+h[k+(d<<3)>>3],(n>=0.0?n:-n)>0.0):0)h[e>>3]=1.0/(b+n);d=d+1|0}}c[l+4>>2]=30;return l|0}function Zx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0;i=c[a>>2]|0;k=c[a+20>>2]|0;l=c[a+24>>2]|0;m=c[a+28>>2]|0;n=IK(8)|0;d=IK((c[a>>2]<<3)+8|0)|0;c[n>>2]=d;h[d>>3]=+(i|0);d=d+8|0;a=0;a:while(1){if((a|0)>=(i|0))break;e=d+(a<<3)|0;h[e>>3]=1.0;f=a+1|0;g=c[k+(f<<2)>>2]|0;b=c[k+(a<<2)>>2]|0;while(1){if((b|0)>=(g|0)){a=f;continue a}if((a|0)==(c[l+(b<<2)>>2]|0)?(j=+h[m+(b<<3)>>3],(j>=0.0?j:-j)>0.0):0)h[e>>3]=1.0/j;b=b+1|0}}c[n+4>>2]=30;return n|0}function _x(a){a=a|0;l6(c[a>>2]|0);if(a|0)l6(a);return}function $x(a,b,c,d,e,f,g,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0.0,l=0,m=0.0,n=0,o=0,p=0;o=c<<3;n=IK(o)|0;o=IK(o)|0;l=0;m=0.0;while(1){if((l|0)<(d|0))j=0;else break;while(1){if((j|0)>=(c|0))break;p=(S(j,d)|0)+l|0;h[n+(j<<3)>>3]=+h[e+(p<<3)>>3];h[o+(j<<3)>>3]=+h[f+(p<<3)>>3];j=j+1|0}k=+ay(a,b,c,n,o,g,i);j=0;while(1){if((j|0)>=(c|0))break;h[f+((S(j,d)|0)+l<<3)>>3]=+h[n+(j<<3)>>3];j=j+1|0}l=l+1|0;m=m+k}l6(n);l6(o);return +m}function ay(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=h|0;var i=0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0.0,t=0,u=0;r=c[a+4>>2]|0;p=c[b+4>>2]|0;q=d<<3;i=IK(q)|0;k=IK(q)|0;t=IK(q)|0;l=IK(q)|0;k=eb[r&63](a,e,k)|0;m=Sw(d,f,k)|0;o=+(d|0);s=+G(+(+Tw(d,m,m)))/o;n=s*g;m=0;f=t;j=1.0;g=s;while(1){if(!(g>n&(m|0)<(h|0)))break;i=eb[p&63](b,k,i)|0;g=+Tw(d,k,i);if((m|0)>0)Uw(d,i,f,g/j)|0;else B6(f|0,i|0,q|0)|0;u=eb[r&63](a,f,l)|0;j=g/+Tw(d,f,u);Vw(d,e,f,j)|0;t=Vw(d,k,u,-j)|0;m=m+1|0;j=g;l=u;g=+G(+(+Tw(d,t,t)))/o}l6(i);l6(k);l6(f);l6(l);return +g}function by(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+16|0;B=C;y=c[a+4>>2]|0;z=y<<3;A=IK(z)|0;u=IK(z)|0;v=IK(z)|0;w=c[a+20>>2]|0;x=c[a+24>>2]|0;s=c[a+28>>2]|0;t=c[15715]|0;r=0;while(1){if((r|0)<(b|0))g=0;else break;while(1){if((g|0)>=(y|0)){a=0;break}q=(S(g,b)|0)+r|0;h[A+(g<<3)>>3]=+h[d+(q<<3)>>3];h[v+(g<<3)>>3]=+h[e+(q<<3)>>3];g=g+1|0}while(1){if((a|0)<(f|0))n=0;else{g=0;break}while(1){if((n|0)>=(y|0))break;o=c[w+(n<<2)>>2]|0;p=n+1|0;q=c[w+(p<<2)>>2]|0;m=o;j=0.0;i=0.0;while(1){if((m|0)>=(q|0))break;g=c[x+(m<<2)>>2]|0;k=+h[s+(m<<3)>>3];if((g|0)==(n|0))i=k;else j=j+k*+h[A+(g<<3)>>3];m=m+1|0}if(j==0.0){c[B>>2]=q-o;z4(t,96513,B)|0}h[u+(n<<3)>>3]=(+h[v+(n<<3)>>3]-j)/i;n=p}B6(A|0,u|0,z|0)|0;a=a+1|0}while(1){if((g|0)>=(y|0))break;h[e+((S(g,b)|0)+r<<3)>>3]=+h[A+(g<<3)>>3];g=g+1|0}r=r+1|0}l6(A);l6(u);l6(v);l=C;return e|0}function cy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;i=i|0;var j=0;j=c[a>>2]|0;c[i>>2]=0;switch(h|0){case 0:{h=Vx(a)|0;i=Zx(a)|0;f=+$x(h,i,j,b,d,e,f,g,0);Wx(h);_x(i);break}case 1:{by(a,b,d,e,g,0)|0;f=0.0;break}default:f=0.0}return +f}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;k=o;m=o+20|0;f=o+16|0;g=o+12|0;i=o+8|0;h[k>>3]=1.0;j=a<<3;n=IK(j)|0;j=IK(j)|0;b=0;while(1){if((b|0)>=(a|0))break;e=b<<1;h[n+(b<<3)>>3]=+h[d+(e<<3)>>3];h[j+(b<<3)>>3]=+h[d+((e|1)<<3)>>3];b=b+1|0}c[m>>2]=b;if((a|0)>2)d=Wr(n,j,a,i)|0;else{c[i>>2]=0;d=0}e=ow(a,a,1,1,2)|0;b=0;while(1){c[m>>2]=b;if((b|0)>=(c[i>>2]|0))break;p=b<<1;c[f>>2]=c[d+(p<<2)>>2];c[g>>2]=c[d+((p|1)<<2)>>2];Kw(e,1,f,g,k)|0;b=(c[m>>2]|0)+1|0}if((a|0)==2){c[f>>2]=0;c[g>>2]=1;Kw(e,1,f,g,k)|0;b=0}else b=0;while(1){c[m>>2]=b;if((b|0)>=(a|0))break;Kw(e,1,m,m,k)|0;b=(c[m>>2]|0)+1|0}a=zw(e)|0;nw(e);p=sw(a,0)|0;nw(a);l6(d);l6(n);l6(j);l=o;return p|0}function ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;i=m;h[i>>3]=1.0;k=a<<3;j=IK(k)|0;k=IK(k)|0;e=0;while(1){if((e|0)>=(a|0))break;f=S(e,b)|0;h[j+(e<<3)>>3]=+h[d+(f<<3)>>3];h[k+(e<<3)>>3]=+h[d+(f+1<<3)>>3];e=e+1|0}c[g>>2]=e;e=Xr(j,k,a,0)|0;f=ow(a,a,1,1,2)|0;b=0;while(1){c[g>>2]=b;if((b|0)<(a|0))d=1;else{b=0;break}while(1){if((d|0)>=(c[e+(b*12|0)>>2]|0))break;Kw(f,1,g,(c[e+(b*12|0)+4>>2]|0)+(d<<2)|0,i)|0;d=d+1|0;b=c[g>>2]|0}b=b+1|0}while(1){c[g>>2]=b;if((b|0)>=(a|0))break;Kw(f,1,g,g,i)|0;b=(c[g>>2]|0)+1|0}i=sw(zw(f)|0,0)|0;nw(f);l6(j);l6(k);Yr(e);l=m;return i|0}function fy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;gy(f,c);hy(a,b,c,f);iy(b,f,d);jy(f);l=e;return}function gy(a,b){a=a|0;b=b|0;c[a>>2]=IK(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function hy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=IK(t)|0;C=IK(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=IK(t)|0;t=IK(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;ft(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}ly(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((my(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=n6(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];ny(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}l6(A);l6(C);l6(s);l6(t);oy(u);l=D;return}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=IK(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=IK(h)|0;h=IK(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=IK(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}l6(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ky(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function jy(a){a=a|0;l6(c[a>>2]|0);return}function ky(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=IK(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;py(a,e);e=e+-1|0}return}function my(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;py(a,0);a=1}return a|0}function ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;i=a+4|0;j=c[i>>2]|0;d=a+8|0;if((j|0)==(c[d>>2]|0)){c[d>>2]=j<<1;e=n6(c[a>>2]|0,j<<5)|0;c[a>>2]=e;d=c[i>>2]|0}else{d=j;e=c[a>>2]|0}c[i>>2]=d+1;e=e+(j<<4)|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=j;while(1){if((e|0)<=0)break;d=c[a>>2]|0;f=+h[d+(e<<4)+8>>3];b=e>>>1;g=+h[d+(b<<4)+8>>3];if(!(f<g)){if(!(f==g))break;if(!((U4()|0)&1))break;d=c[a>>2]|0}j=d+(e<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=d+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];j=(c[a>>2]|0)+(b<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];e=b}l=m;return}function oy(a){a=a|0;l6(c[a>>2]|0);return}function py(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e<f))if(!(e==f?((U4()|0)&1|0)!=0:0))k=6}else k=6;if((k|0)==6){k=0;d=b}do if((g|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((U4()|0)&1))break}d=g}while(0);if((d|0)==(b|0))break;g=c[a>>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function qy(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=IK(b<<3)|0;if(!(gu(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=HK(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;ft(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e<d?d:e;a=0;g=1;d=n;while(1){if((g|0)>=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=(n-d>e&1)+a|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=IK(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=IK(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)l6(f);return a|0}function ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46972]|0;if(d|0)sn(d);c[46972]=rn(b,b,0.0)|0;d=c[46973]|0;if(d|0)l6(d);c[46973]=HK(b<<2)|0;d=c[46974]|0;if(d|0)l6(d);n=HK(b<<3)|0;c[46974]=n;o=c[46972]|0;p=c[46973]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+F(+j);f=f<j?j:f;d=d+1|0}d=n+(i<<3)|0;if(!(f!=0.0)){e=15;break}h[d>>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;f=0.0}else break;while(1){if((e|0)>=(b|0))break;k=c[p+(e<<2)>>2]|0;j=+F(+(+h[(c[o+(k<<2)>>2]|0)+(l<<3)>>3]));j=j*+h[n+(k<<3)>>3];k=f<j;a=k?e:d;e=e+1|0;d=a;f=k?j:f}if(f==0.0){d=0;break a}e=p+(l<<2)|0;g=p+(d<<2)|0;if((d|0)!=(l|0)){k=c[e>>2]|0;c[e>>2]=c[g>>2];c[g>>2]=k}i=c[o+(c[e>>2]<<2)>>2]|0;f=+h[i+(l<<3)>>3];k=l+1|0;g=k;while(1){if((g|0)>=(b|0)){l=k;continue b}a=c[o+(c[p+(g<<2)>>2]<<2)>>2]|0;e=a+(l<<3)|0;j=+h[e>>3]/f;h[e>>3]=j;c:do if(j!=0.0){e=k;while(1){if((e|0)>=(b|0))break c;q=a+(e<<3)|0;h[q>>3]=+h[q>>3]-j*+h[i+(e<<3)>>3];e=e+1|0}}while(0);g=g+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[d>>3]=0.0;d=0}while(0);return d|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46973]|0;l=c[46972]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[k+(j<<2)>>2]|0;i=l+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=f+ +h[(c[i>>2]|0)+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=c[l+(c[k+(b<<2)>>2]<<2)>>2]|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=f+ +h[g+(e<<3)>>3]*+h[a+(e<<3)>>3];e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[g+(b<<3)>>3];e=b}return}function ty(a){a=a|0;var b=0;b=IK(8)|0;c[b>>2]=a;c[b+4>>2]=0;return b|0}function uy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function vy(a,b){a=a|0;b=b|0;b=ty(b)|0;c[b+4>>2]=a;return b|0}function wy(a){a=a|0;return c[a>>2]|0}function xy(a){a=a|0;return c[a+4>>2]|0}function yy(a){a=a|0;var b=0;b=IK(12)|0;c[b>>2]=a;c[b+4>>2]=0;c[b+8>>2]=0;return b|0}function zy(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0)do{d=a;a=c[a+4>>2]|0;e=c[d>>2]|0;if(e|0)db[b&127](e);l6(d)}while((a|0)!=0);return}function Ay(a,b){a=a|0;b=b|0;b=yy(b)|0;if(a|0){c[b+4>>2]=a;c[a+8>>2]=b}return b|0}function By(a){a=a|0;return c[a>>2]|0}function Cy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if(a|0){e=c[a+4>>2]|0;f=c[a+8>>2]|0;g=c[a>>2]|0;if(g|0)db[b&127](g);l6(a);if(e|0)c[e+8>>2]=f;c[(f|0?f+4|0:d)>>2]=e}return}function Dy(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Ey(a){a=a|0;var b=0;b=HK(64)|0;Dy(b+36|0);c[b+8>>2]=a;return b|0}function Fy(a){a=a|0;if(a|0){$y(c[a+32>>2]|0);l6(a)}return}function Gy(a){a=a|0;return qB(c[a+8>>2]|0)|0}function Hy(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function Iy(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;Ky(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=gC(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=hC(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=hC(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;Hy((c[i+12>>2]|0)+36|0,h);h=k}Dy(b);return j|0}function Ky(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;h=j+8|0;f=c[d+24>>2]|0;if(!((f|0)!=0?(e=qC(b,f,0)|0,(e|0)!=0):0))g=3;a:do if((g|0)==3){f=d+20|0;b:do if(c[f>>2]|0){e=gC(b)|0;while(1){if(!e)break b;if((aP(c[c[(c[e+16>>2]|0)+112>>2]>>2]|0,c[f>>2]|0,0)|0)<<24>>24)break a;e=hC(b,e)|0}}while(0);e=gC(b)|0}while(0);if(a[195234]|0){g=c[15715]|0;c[i>>2]=HB(e)|0;z4(g,96524,i)|0}c[h+4>>2]=0;c[h>>2]=0;Ly(b,e,d,1,h);l=j;return}function Ly(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=d+8|0;j=c[l>>2]|0;c[l>>2]=j+1;l=b+16|0;k=c[(c[l>>2]|0)+112>>2]|0;c[k+16+4>>2]=j;c[k+24>>2]=j;k=(e|0)!=0;j=ZA(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;h=c[(c[j+16>>2]|0)+120>>2]|0;i=(c[h>>2]|0)!=0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;if(i)g=e;else{c[h>>2]=-1;g=e}}else if(!i)c[h>>2]=1;e=g+16|0;h=c[(c[e>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;My(f,j);Ly(a,g,d,0,f);i=c[(c[l>>2]|0)+112>>2]|0;m=i+24|0;h=(c[(c[e>>2]|0)+112>>2]|0)+24|0;c[m>>2]=c[(c[(c[((c[m>>2]|0)<(c[h>>2]|0)?b:g)+16>>2]|0)+112>>2]|0)+24>>2];if((c[h>>2]|0)>=(c[i+16+4>>2]|0)){e=0;do{h=Ny(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=Oy(a,d)|0;Py(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(Gy(e)|0)>1:0)Py(e,b);if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){Iy(d,e);break}Hy(d,e)}}}else{e=c[(c[l>>2]|0)+112>>2]|0;if((c[e+8>>2]|0)!=(g|0)){m=e+24|0;h=c[m>>2]|0;c[m>>2]=(h|0)<(i|0)?h:i}}while(0);j=_A(a,j,b)|0}if(k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){m=Oy(a,d)|0;Py(m,b);Iy(d,m)}return}function My(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function Ny(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)Aa(138697,96555,65,96567);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else Aa(96545,96555,61,96567);return 0}function Oy(a,b){a=a|0;b=b|0;return Ey(Qy(a,b)|0)|0}function Py(a,b){a=a|0;b=b|0;lC(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;i2(e,96535,f)|0;b=LD(a,e,1)|0;RC(b,137786,280,1)|0;l=d;return b|0}function Ry(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Ry(b);b=d}Fy(a);return}function Sy(a,b,c){a=a|0;b=b|0;c=c|0;Ty(a,b,+h[c+32>>3]);return}function Ty(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Ty(a,e,d);e=e+4|0;f=f+1|0}e=jz(a,b,d)|0;c[b+32>>2]=e;a=gz(e)|0;if((f|0)>0)d=+Uy(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=HK(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=+(k|0)*j;d=o+1|0;g=+Vy(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do if((o|0)==1){h[u+40>>3]=1.0;d=0}else{n=u+8|0;if((o|0)==2){j=+h[u+64>>3]-+h[n>>3];Wy(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}else{m=u;d=0}while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;k=m+56|0;j=+h[m+8>>3];if((d|0)==(o|0)){i=u;j=+h[n>>3]-j+6.283185307179586}else{i=k;j=+h[m+64>>3]-j}Wy(m,i,j);m=k}}while(0);while(1){if((d|0)>=(o|0))break;Xy(u+(d*56|0)|0,t,b,f);d=d+1|0}l6(u);if((a|0)==1){f=f*.5+g;Yy(e,-f,0.0,0.0);h[p>>3]=f+ +h[p>>3];u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[r>>3]+ +h[s>>3])*.5+-3.141592653589793)}function Vy(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+(k*2.0+d);g=g<k?k:g}else e=i;i=e;e=j+4|0}h[a+32>>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+(+h[b>>3]+d);h[a+24>>3]=g;return +g}function Wy(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(+h[a+32>>3]*e+ +h[b+32>>3]*d)/(e*(c*2.0*d));c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;y=b+8|0;x=+h[y>>3];z=b+24|0;l=+h[z>>3];A=b+32|0;k=+h[A>>3];f=+h[a+40>>3]*+h[a+16>>3];u=(d|0)==1;v=a+48|0;w=a+8|0;g=+h[a+32>>3];if(u){i=g/6.283185307179586;i=f>i?f:i;f=i*6.283185307179586-g;if(f>0.0){e=f/+(c[v>>2]|0)+e;g=0.0;f=i}else{g=0.0;f=i}}else g=+h[w>>3]-g/(f*2.0);s=f+ +h[a+24>>3];t=s>x;p=e/f;q=((c[v>>2]|0)+1|0)/2|0;r=p*.5;m=b+40|0;i=k;e=l;n=0;o=0.0;while(1){m=c[m>>2]|0;if(!m)break;j=c[m>>2]|0;if(!j)j=0;else j=c[(c[(c[j+16>>2]|0)+112>>2]|0)+8>>2]|0;if((j|0)==(c[a>>2]|0)?(gz(c[m+32>>2]|0)|0)>=1:0){k=+h[m+16>>3]/f;l=r+k;do if(!u)if((c[v>>2]|0)==1){g=+h[w>>3];break}else{g=g+l;break}else{if(g!=0.0)g=(c[v>>2]|0)==2?3.141592653589793:g+k;i=g;e=e<0.0?g:e}while(0);D=f*+I(+g);C=f*+J(+g);Yy(m,D,C,+Zy(m,D,C,g));g=(u?p+k:l)+g;n=n+1|0;j=n;k=(n|0)==(q|0)?g:o}else{j=n;k=o}m=m+4|0;n=j;o=k}f=t?s:x;if((d|0)>1?(B=c[a>>2]|0,(B|0)==(c[b+44>>2]|0)):0)h[(c[(c[B+16>>2]|0)+112>>2]|0)+24>>3]=o;h[y>>3]=f;h[z>>3]=e;h[A>>3]=i;return}function Yy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=gC(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;l=k+8|0;i=+h[k>>3];g=+h[l>>3];if(n){p=+I(+e);o=+J(+e);j=i*p-g*o;g=g*p+i*o}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=hC(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Yy(f,b,d,e);f=f+4|0}return}function Zy(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0;n=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((gz(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}m=c[a>>2]|0;o=m+16|0;l=c[(c[o>>2]|0)+132>>2]|0;k=+h[l>>3]+b;f=+h[l+8>>3]+d;f=k*k+f*f;l=gC(n)|0;g=m;while(1){if(!l)break;if((l|0)!=(m|0)?(p=c[(c[l+16>>2]|0)+132>>2]|0,k=+h[p>>3]+b,i=+h[p+8>>3]+d,i=k*k+i*i,i<f):0){f=i;g=l}l=hC(n,l)|0}if((m|0)!=(g|0)){j=+h[a+24>>3];k=+h[a+16>>3]-j;g=c[o>>2]|0;p=c[g+132>>2]|0;f=+h[p>>3];i=+h[p+8>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){i=+O(+i,+(k+f));f=+I(+i);f=1.5707963267948966-i-+M(+(f*((k-j/f)/+G(+(b*b+d*d)))))+e;break}else{f=3.141592653589793-+O(+i,+f);f=f-+h[(c[g+112>>2]|0)+24>>3]+e;f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function _y(){return HK(12)|0}function $y(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;l6(b);b=d}l6(a)}return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=bz(d)|0;h=a+8|0;c[h>>2]=(c[h>>2]|0)+1;h=a+4|0;i=c[h>>2]|0;d=(b|0)==0?i:b;b=d+4|0;e=g+4|0;f=g+8|0;if((d|0)==(i|0)){c[(i|0?b:a)>>2]=g;c[f>>2]=i;c[e>>2]=0;c[h>>2]=g}else{a=c[b>>2]|0;c[b>>2]=g;c[f>>2]=d;c[a+8>>2]=g;c[e>>2]=a}return}function bz(a){a=a|0;var b=0;b=HK(12)|0;c[b>>2]=a;return b|0}function cz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=c[a>>2]|0;b=d;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function ez(a){a=a|0;var b=0,d=0,e=0;d=_y()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;az(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0}function fz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[a>>2]|0;while(1){if(!m){k=4;break}l=m+4|0;f=c[l>>2]|0;if((c[m>>2]|0)==(b|0))break;else m=f}if((k|0)==4)Aa(96571,96578,217,96589);h=a+4|0;j=m+8|0;i=c[j>>2]|0;c[(i|0?i+4|0:a)>>2]=f;c[(f|0?f+8|0:h)>>2]=i;i=c[a>>2]|0;f=0;g=i;while(1){if(!g)break;b=g+4|0;if((c[g>>2]|0)==(d|0)){k=8;break}f=g;g=c[b>>2]|0}if((k|0)==8){do if(!e){b=g+8|0;if((g|0)==(i|0)){c[a>>2]=m;c[l>>2]=i;c[j>>2]=0;break}else{c[f+4>>2]=m;c[j>>2]=f;c[l>>2]=g;break}}else if((g|0)==(c[h>>2]|0)){c[h>>2]=m;c[l>>2]=0;c[j>>2]=g;break}else{c[j>>2]=g;c[l>>2]=c[b>>2];c[(c[b>>2]|0)+8>>2]=m;break}while(0);c[b>>2]=m}return}function gz(a){a=a|0;return c[a+8>>2]|0}function hz(a,b){a=a|0;b=b|0;iz(a,cz(b)|0);l6(b);return}function iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function jz(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0;m=c[b+8>>2]|0;kz(a,b);l=lz(m)|0;a=nz(mz(l)|0)|0;oz(m,a);m=pz(a,m)|0;a=gz(m)|0;j=+qz(m);k=(a|0)==1;f=+(a|0);i=f*(j+d)/6.283185307179586;g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)dz(m,a);d=6.283185307179586/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=c[(c[a>>2]|0)+16>>2]|0;p=c[n+112>>2]|0;c[p+16>>2]=e;h[p+24>>3]=0.0;f=d*+(e|0);o=g*+I(+f);n=c[n+132>>2]|0;h[n>>3]=o;h[n+8>>3]=g*+J(+f);e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;pB(l)|0;return m|0}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=gC(f)|0;while(1){if(!d)break;e=UA(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))jB(f,e,1)|0;e=WA(a,e)|0}d=hC(f,d)|0}return}function lz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=wz(a,g)|0;g=c[g>>2]|0;i=qB(g)|0;h=xz(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=Gz(h)|0;d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;Fz(h,a);d=_A(g,d,j)|0}yz(g,j,f);d=ZA(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;Ez(h,a);d=_A(g,d,j)|0}tC(g,j)|0;e=e+1|0}pB(g)|0;Dz(h);l=k;return f|0}function mz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46975]|0;c[46975]=d+1;c[b>>2]=d;i2(e,96604,b)|0;e=LD(a,e,1)|0;RC(e,137786,280,1)|0;b=gC(a)|0;while(1){if(!b)break;lC(e,b,1)|0;d=c[(c[b+16>>2]|0)+112>>2]|0;c[d+16+12>>2]=0;c[d+32>>2]=0;d=d+4|0;c[d>>2]=c[d>>2]&-2;b=hC(a,b)|0}b=gC(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;vz(a,b,e)}b=hC(a,b)|0}l=f;return e|0}function nz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((qB(a)|0)!=1){d=gC(a)|0;while(1){if(!d)break;b=0;e=ZA(a,d)|0;while(1){if(!e)break;b=b+1|0;e=_A(a,e,d)|0}if((b|0)==1)uz(d,d,0,0);d=hC(a,d)|0}b=0;f=0;d=gC(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=hC(a,d)|0}b=_y()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}az(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=_y()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;az(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}hz(b,a)}}else{b=_y()|0;g=gC(a)|0;az(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=gC(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))tz(a,d,b);d=hC(a,d)|0}return}function pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=rz(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=sz(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function qz(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=Hz()|0;e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=WA(b,d)|0}e=hC(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=ZA(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=eb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)+d|0;a=eb[c[k>>2]&63](k,a,8)|0}Nz(k,g)}g=_A(b,g,i)|0}e=ZA(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;Mz(k,e)}e=_A(b,e,i)|0}a=h+4|0;j=j+1|0}Lz(k);return d|0}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=gC(b)|0;a:while(1){if(!k)break;j=ZA(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=ez(a)|0;fz(a,k,f,i);g=rz(a,b)|0;if((g|0)<(e|0)){$y(h);if(!g){e=0;break a}else e=g}else{$y(a);a=h}i=i+1|0}j=_A(b,j,k)|0}k=hC(b,k)|0}c[d>>2]=e;return a|0}function tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=_y()|0;e=UA(a,b)|0;while(1){if(!e)break;h=e+-48|0;az(j,0,c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==2?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break;h=e+48|0;az(j,0,c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0);h=(c[(c[(c[((c[e>>2]&3|0)==3?e:h)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[h>>2]=c[h>>2]|32;e=YA(a,e)|0}a:do if((gz(j)|0)>1){f=c[d>>2]|0;g=d+4|0;a=f;while(1){if(!a){i=16;break a}h=a+4|0;if((a|0)==(c[g>>2]|0))e=f;else e=c[h>>2]|0;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0?c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0:0)break;a=c[h>>2]|0}az(d,a,b)}else i=16;while(0);b:do if((i|0)==16){c:do if((gz(j)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}az(d,e,b);break b}while(0);az(d,0,b)}while(0);e=j;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}$y(j);return}function uz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=e;e=c[(c[b+16>>2]|0)+112>>2]|0;while(1){e=c[e+16>>2]|0;if(!e)break;k=d+1|0;e=c[(c[e+16>>2]|0)+112>>2]|0;h=e+16|0;g=h+12|0;b=c[g>>2]|0;h=h+4|0;if(b){i=e+24|0;j=e+32|0;if((b|0)>(d|0)){l=10;break}d=c[h>>2]|0;if((d|0)!=(f|0)){if(!((c[j>>2]|0)!=0?(c[i>>2]|0)==(f|0):0))f=d;c[i>>2]=d;c[j>>2]=b}}c[h>>2]=a;c[g>>2]=k;d=k}if((l|0)==10?(c[j>>2]|0)<=(d|0):0){c[i>>2]=a;c[j>>2]=k}return}function vz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=ZA(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){jB(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;vz(a,e,d)}g=_A(a,g,b)|0}return}function wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+144|0;i=j+8|0;h=j;d=j+16|0;g=c[46976]|0;c[46976]=g+1;c[h>>2]=g;i2(d,96613,h)|0;h=LD(a,d,1)|0;RC(h,137786,280,1)|0;g=c[46976]|0;c[46976]=g+1;c[i>>2]=g;i2(d,96613,i)|0;c[i>>2]=c[a+24>>2];i=lB(d,i,0)|0;d=gC(a)|0;while(1){if(!d)break;lC(h,d,1)|0;g=qC(i,HB(d)|0,1)|0;RC(g,137750,304,1)|0;c[(c[(c[d+16>>2]|0)+112>>2]|0)+16>>2]=g;d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;f=c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]|0;g=f+16|0;d=UA(a,e)|0;while(1){if(!d)break;jB(h,d,1)|0;k=c[(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;m=fB(i,f,k,0,1)|0;RC(m,137763,176,1)|0;c[(c[m+16>>2]|0)+116>>2]=d;m=(c[g>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;k=(c[k+16>>2]|0)+236|0;c[k>>2]=(c[k>>2]|0)+1;d=WA(a,d)|0}e=hC(a,e)|0}c[b>>2]=i;l=j;return h|0}function xz(a){a=a|0;var b=0,c=0;c=zz()|0;b=gC(a)|0;while(1){if(!b)break;Ez(c,b);b=hC(a,b)|0}return c|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=IK(p)|0;p=IK(p)|0;i=0;l=ZA(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=ZA(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=fB(a,g,e,0,0)|0;if(i)if(g>>>0<e>>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{tC(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=_A(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=_A(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;RC(fB(a,f,m,0,1)|0,137763,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;RC(fB(a,d,m,0,1)|0,137763,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;RC(fB(a,m,n,0,1)|0,137763,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);l6(p);l6(o);return}function zz(){return Sz(18280,c[4591]|0)|0}function Az(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function Bz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Cz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function Dz(a){a=a|0;Oz(a)|0;return}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(eb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];f=eb[c[a>>2]&63](a,f,4)|0;if(!f)Aa(96623,96626,107,96636);d=f+12|0;g=c[d>>2]|0;if((g|0)==(b|0)){b=c[(c[e>>2]|0)+164>>2]|0;c[d>>2]=b;if(!b)eb[c[a>>2]&63](a,f,2)|0}else{f=g;d=g+16|0;while(1){a=c[(c[d>>2]|0)+164>>2]|0;e=(a|0)!=0;d=a+16|0;if(!(e&(a|0)!=(b|0)))break;else f=a}if(e)c[(c[f+16>>2]|0)+164>>2]=c[(c[d>>2]|0)+164>>2]}l=h;return}function Gz(a){a=a|0;var b=0,d=0,e=0,f=0;d=eb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)eb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function Hz(){return Sz(18316,c[4591]|0)|0}function Iz(a,b,d){a=a|0;b=b|0;d=d|0;d=IK(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function Jz(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Kz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function Lz(a){a=a|0;Oz(a)|0;return}function Mz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,1)|0;l=d;return}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;eb[c[a>>2]&63](a,e,2)|0;l=d;return}function Oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=tb[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Xz(a,0)|0;e=(b|0)==0;f=a+12|0;if(e){eb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Uz(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){tb[c[f>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}tb[c[f>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(e&(b|0)==1)tb[c[f>>2]&127](a,a,0,h)|0}else l6(a);b=c[g>>2]|0;if(!b)b=0;else{tb[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function Pz(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Qz(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Qz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;b=c[g>>2]|0;d=c[b>>2]|0;e=b+4|0;if(!(d&4096)){a=b+8|0;a:do if(!(d&3)){if(d&112|0){a=c[a>>2]|0;break}a=c[e>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a>>2]|0;f=e+(c[b+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[e>>2]|0;return a|0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=a+8|0;if(c[c[t>>2]>>2]&4096|0)Tz(a,0)|0;s=c[a+4>>2]|0;k=c[s>>2]|0;l=c[s+4>>2]|0;p=s+8|0;i=c[p>>2]|0;m=c[s+20>>2]|0;n=a+20|0;f=c[n>>2]&-32769;c[n>>2]=f;q=s+16|0;v=0-i|0;r=a+12|0;w=(i|0)<0;o=(d&4098|0)!=0;a:do if(!b){if(d&384|0){f=c[t>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}if(o){e=c[t>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{i=e;u=86;break}}if(!(d&64))e=0;else{b:do if((c[q>>2]|0)!=0|w){e=c[(c[t>>2]|0)+8>>2]|0;while(1){if(!e)break b;f=c[e>>2]|0;g=c[q>>2]|0;if(g|0){if(w)h=c[e+8>>2]|0;else h=e+v|0;rb[g&127](a,h,s)}if((c[p>>2]|0)>=0){e=f;continue}tb[c[r>>2]&127](a,e,0,s)|0;e=f}}while(0);e=c[t>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[t>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=s+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=eb[e&63](a,b,s)|0;if(!e){e=0;break}else f=e}else f=b;do if((i|0)>-1)b=f+i|0;else{e=tb[c[r>>2]&127](a,0,12,s)|0;if(e|0){c[e+8>>2]=f;b=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[q>>2]|0;if(h|(e|0)==0){e=0;break a}rb[e&127](a,f,s);e=0;break a}while(0);e=c[t>>2]|0;f=c[e>>2]|0;g=(d&8192|0)!=0;i=b+4|0;h=e+8|0;do if(!(f&128)){if(!(f&16))if(!(f&32)){u=52;break}else{u=48;break}f=c[e+4>>2]|0;e=(f|0)!=0;if(g){if(!e){u=52;break}e=c[f>>2]|0;if(!e){u=52;break}c[b>>2]=e;c[e+4>>2]=b;c[i>>2]=f;c[f>>2]=b;break}else{if(!e){u=48;break}e=c[h>>2]|0;if((f|0)==(e|0)){u=49;break}d=f+4|0;s=c[d>>2]|0;c[i>>2]=s;c[s>>2]=b;c[b>>2]=f;c[d>>2]=b;break}}else if(g)u=52;else u=48;while(0);if((u|0)==48){e=c[h>>2]|0;u=49}else if((u|0)==52){e=c[h>>2]|0;if(!e){c[h>>2]=b;e=b}else{d=e+4|0;c[c[d>>2]>>2]=b;c[i>>2]=c[d>>2]}c[e+4>>2]=b;c[b>>2]=0}if((u|0)==49){c[b>>2]=e;if(!e)e=b;else c[i>>2]=c[e+4>>2];c[e+4>>2]=b;c[(c[t>>2]|0)+8>>2]=b}e=c[t>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=b;if(w){e=c[b+8>>2]|0;break}else{e=b+v|0;break}}do if(!(d&512)){h=c[t>>2]|0;e=c[h+4>>2]|0;if(e|0){if(w)g=c[e+8>>2]|0;else g=e+v|0;if((g|0)==(b|0))break}e=b+k|0;if((l|0)<0){b=c[e>>2]|0;j=1;u=70}else{b=e;j=0;u=70}}else{h=c[t>>2]|0;j=(l|0)<0;u=70}while(0);if((u|0)==70){g=(m|0)==0;i=(l|0)<1;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(w)f=c[e+8>>2]|0;else f=e+v|0;f=f+k|0;if(j)f=c[f>>2]|0;do if(g)if(i){f=f2(b,f)|0;break}else{f=g2(b,f,l)|0;break}else f=tb[m&127](a,b,f,s)|0;while(0)}while((f|0)!=0);f=c[n>>2]|0}c[n>>2]=f|32768;if(!o){f=c[t>>2]|0;do if(!(d&8)){if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;u=110;break}}else u=110;while(0);if((u|0)==110){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if(w){e=c[e+8>>2]|0;break}else{e=e+v|0;break}}else{i=e;u=86}}while(0);if((u|0)==86){e=c[i>>2]|0;g=i+4|0;if(e){c[e+4>>2]=c[g>>2];e=c[i>>2]|0}f=(c[t>>2]|0)+8|0;u=c[f>>2]|0;h=u+4|0;if((i|0)==(u|0)){c[f>>2]=e;e=c[(c[t>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h>>2]}else{c[c[g>>2]>>2]=e;if((i|0)==(c[h>>2]|0))c[h>>2]=c[g>>2]}e=c[t>>2]|0;f=e+4|0;if((i|0)==(c[f>>2]|0))g=c[i>>2]|0;else g=0;c[f>>2]=g;u=e+16|0;c[u>>2]=(c[u>>2]|0)+-1;if(w)e=c[i+8>>2]|0;else e=i+v|0;f=c[q>>2]|0;if(!((d&2|0)==0|(f|0)==0))rb[f&127](a,e,s);if((c[p>>2]|0)<0)tb[c[r>>2]&127](a,i,0,s)|0}return e|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k;a:do if((a|0)!=0&(b|0)!=0?(f=k6(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;_z(f,a,0)|0;d=f+20|0;j=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[j>>2]|0;g=b+4|0;do if(d){c[h>>2]=0;d=tb[d&127](f,1,h,a)|0;if((d|0)>=0)if(d){e=c[h>>2]|0;if(e|0)if(!(c[g>>2]&c[e>>2])){d=f;i=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;i=12}else{l6(f);e=tb[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;_z(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;i=11}}else{d=f;i=11}else{d=f;i=12}}else{d=f;i=11}while(0);if((i|0)==11){e=tb[c[d+12>>2]&127](d,0,28,a)|0;c[h>>2]=e;if(!e){d=f;i=12}else{c[e>>2]=c[g>>2];h=e+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0}}if((i|0)==12){l6(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[j>>2]|0;if(e)tb[e&127](d,5,f,a)|0}else d=0;while(0);l=k;return d|0}function Tz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[c[a+16>>2]>>2]|0;j=a+8|0;f=c[j>>2]|0;g=c[f>>2]|0;d=f+4|0;e=f+16|0;if(!b)if(!(g&4096))b=-1;else{h=1;b=c[d>>2]|0;k=5}else if(!(c[e>>2]|0)){h=0;k=5}else b=-1;a:do if((k|0)==5){c[f>>2]=g&-4097;if(!(g&3)){if(!(g&12)){c[d>>2]=0;d=f+8|0}c[d>>2]=b;if(h){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[d>>2]=0;if(!h){c[e>>2]=0;while(1){if(!b){b=0;break a}k=c[b>>2]|0;eb[i&63](a,b,32)|0;b=k}}e=c[f+8>>2]|0;f=e+(c[f+12>>2]<<2)|0;while(1){if(e>>>0>=f>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Uz(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Tz(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Vz(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Vz(a){a=a|0;var b=0;if(!a)return 0;else{b=Vz(c[a+4>>2]|0)|0;return b+1+(Vz(c[a>>2]|0)|0)|0}return 0}function Wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;F=Q+120|0;p=Q;P=a+8|0;e=c[P>>2]|0;if(c[e>>2]&4096){Tz(a,0)|0;e=c[P>>2]|0}M=c[a+4>>2]|0;J=c[M>>2]|0;K=c[M+4>>2]|0;y=M+8|0;v=c[y>>2]|0;L=c[M+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;B=a+12|0;A=M+16|0;N=0-v|0;O=(v|0)<0;j=(h|0)!=0;a:do if(!b)if((d&448|0)==0|j^1)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break}else{e=e+N|0;break}}if((c[A>>2]|0)!=0|O){e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[A>>2]|0;if(f|0){if(O)g=c[h+8>>2]|0;else g=h+N|0;rb[f&127](a,g,M)}if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0}while((e|0)!=0);e=c[P>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{D=a+16|0;G=(K|0)<0;E=F+4|0;u=(d&4098|0)!=0;H=(L|0)!=0;C=(d&2|0)!=0;I=(K|0)<1;i=b+J|0;c:do if((c[(c[D>>2]|0)+4>>2]|0)!=8|u^1)x=44;else{if(G)g=c[i>>2]|0;else g=i;f=eb[c[a>>2]&63](a,b,4)|0;while(1){if(!f){x=44;break c}e=f+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(g,e)|0;break}else{e=g2(g,e,K)|0;break}else e=tb[L&127](a,g,e,M)|0;while(0);if(e|0){x=44;break c}if((f|0)==(b|0))break;f=eb[c[a>>2]&63](a,f,8)|0}h=c[(c[P>>2]|0)+4>>2]|0;c[F>>2]=c[h+4>>2];c[E>>2]=c[h>>2];e=F;x=174}while(0);d:do if((x|0)==44){z=(d&516|0)!=0;s=(d&32|0)!=0;do if(!(d&2565)){if(s){if(O)g=c[b+8>>2]|0;else g=b+N|0;e=g+J|0;if(G)e=c[e>>2]|0;if(j){r=b;q=e;m=b;x=62;break}else{e=b;o=F;n=F;h=0;m=b;break}}if(j){if(O)e=c[h+8>>2]|0;else e=h+N|0;if((e|0)!=(b|0))if(G){g=b;r=0;q=c[i>>2]|0;m=0;x=62}else{g=b;r=0;q=i;m=0;x=62}else{g=b;e=0;o=F;n=F;m=0}}else{g=b;e=0;o=F;n=F;h=0;m=0}}else{e=(d&512|0)!=0;if(e|G^1)e=e?b:i;else e=c[i>>2]|0;if(j){g=b;r=0;q=e;m=0;x=62}else{g=b;e=0;o=F;n=F;h=0;m=0}}while(0);e:do if((x|0)==62){f:do if((c[(c[D>>2]|0)+4>>2]|0)==4?(o=c[(c[P>>2]|0)+24>>2]|0,!((o|0)==0|z^1)):0){i=0;j=h;while(1){if((i|0)>=(o|0)){f=F;n=F;k=0;break}b=j+8|0;e=j+N|0;if(O)f=c[b>>2]|0;else f=e;f=f+J|0;if(G)f=c[f>>2]|0;do if(!H)if(I){f=f2(q,f)|0;break}else{f=g2(q,f,K)|0;break}else f=tb[L&127](a,q,f,M)|0;while(0);if(!f){x=75;break}c[p+(i<<2)>>2]=f;j=c[((f|0)<0?j+4|0:j)>>2]|0;if(!j){e=0;break a}else i=i+1|0}if((x|0)==75){if(!O)break a;e=c[b>>2]|0;break a}while(1){if((k|0)>=(o|0)){e=h;break f}j=f+4|0;b=c[p+((k|1)<<2)>>2]|0;do if((c[p+(k<<2)>>2]|0)<0){e=h+4|0;i=c[e>>2]|0;if((b|0)<0){c[e>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;f=i;h=n;e=i+4|0;break}else{c[n>>2]=i;c[j>>2]=h;f=h;h=i;e=i;break}}else{i=c[h>>2]|0;e=i+4|0;if((b|0)>0){c[h>>2]=c[e>>2];c[e>>2]=h;c[n>>2]=i;h=i;e=i;break}else{c[j>>2]=i;c[n>>2]=h;f=i;break}}while(0);n=h;k=k+2|0;h=c[e>>2]|0}}else{f=F;n=F;e=h}while(0);g:while(1){i=f;h=e;while(1){if(O)e=c[h+8>>2]|0;else e=h+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if(!e){e=r;o=i;break e}j=i+4|0;if((e|0)>=0)break;f=h+4|0;i=c[f>>2]|0;if(!i){x=115;break g}if(O)e=c[i+8>>2]|0;else e=i+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);if((e|0)>=0){x=112;break}c[f>>2]=c[i>>2];c[i>>2]=h;c[j>>2]=i;h=c[i+4>>2]|0;if(!h){e=r;o=i;h=0;break e}}if((x|0)==112){x=0;if(!e){x=113;break}c[n>>2]=i;c[j>>2]=h;e=c[i>>2]|0;if(!e){e=r;o=h;n=i;h=0;break e}else{f=h;n=i;continue}}b=c[h>>2]|0;if(!b){x=133;break}if(O)e=c[b+8>>2]|0;else e=b+N|0;e=e+J|0;if(G)e=c[e>>2]|0;do if(!H)if(I){e=f2(q,e)|0;break}else{e=g2(q,e,K)|0;break}else e=tb[L&127](a,q,e,M)|0;while(0);f=b+4|0;if((e|0)>0){c[h>>2]=c[f>>2];c[f>>2]=h;c[n>>2]=b;e=c[b>>2]|0;if(!e){e=r;o=i;n=b;h=0;break e}else{f=i;n=b;continue}}if(!e){x=131;break}c[j>>2]=b;c[n>>2]=h;e=c[f>>2]|0;if(!e){e=r;o=b;n=h;h=0;break e}else{f=b;n=h}}if((x|0)==113){c[j>>2]=h;e=r;o=h;h=i;break}else if((x|0)==115){c[j>>2]=h;e=r;o=h;h=0;break}else if((x|0)==131){c[n>>2]=h;e=r;o=i;n=h;h=b;break}else if((x|0)==133){c[n>>2]=h;e=r;o=i;n=h;h=0;break}}while(0);i=o+4|0;j=(d&8|0)!=0;b=(d&2049|0)!=0;k=(d&16|0)!=0;do if(!h){c[i>>2]=0;c[n>>2]=0;if(!j)if(!k){if(z){e=o;break d}if(b)x=199;else{if(!s){g=0;e=o;break d}C=(c[P>>2]|0)+16|0;c[C>>2]=(c[C>>2]|0)+1}}else x=169;else x=163}else{c[t>>2]=c[t>>2]|32768;f=h+4|0;c[n>>2]=c[f>>2];c[i>>2]=c[h>>2];if(!z){if(j){c[f>>2]=c[F>>2];c[h>>2]=0;c[F>>2]=h;x=163;break}if(k){c[h>>2]=c[E>>2];c[f>>2]=0;c[E>>2]=h;x=169;break}if(u){e=o;x=174;break d}if(b){if(c[(c[D>>2]|0)+4>>2]&4|0){e=h;break}c[f>>2]=0;c[h>>2]=c[E>>2];c[E>>2]=h;x=199;break}if(!s){e=0;break a}if(!(c[(c[D>>2]|0)+4>>2]&4)){c[e+4>>2]=0;c[e>>2]=c[E>>2];c[E>>2]=m;e=(c[P>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[A>>2]|0;if(e|0)rb[e&127](a,g,M);if((c[y>>2]|0)<0){tb[c[B>>2]&127](a,m,0,M)|0;e=h}else e=h}else e=h}while(0);if((x|0)==163){e=c[E>>2]|0;if(!e){e=o;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[E>>2]=c[e>>2]}else if((x|0)==169){e=c[F>>2]|0;if(!e){e=o;break}while(1){f=c[e>>2]|0;if(!f)break;C=f+4|0;c[e>>2]=c[C>>2];c[C>>2]=e;e=f}c[F>>2]=c[e+4>>2]}else if((x|0)==199){i=M+12|0;e=c[i>>2]|0;f=(d&1|0)==0;if(!(f|(e|0)==0))g=eb[e&63](a,g,M)|0;do if(g){if((v|0)>-1){e=g+v|0;x=209;break}e=tb[c[B>>2]&127](a,0,12,M)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[A>>2]|0,!(f|(w|0)==0)):0){rb[w&127](a,g,M);x=209}else x=209}else{e=h;x=209}while(0);if((x|0)==209)if(!e){e=o;break}f=(c[P>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[F>>2];c[e>>2]=c[E>>2];h:do if(!((c[(c[D>>2]|0)+4>>2]&8|0)==0|z^1)){if(O)f=c[e+8>>2]|0;else f=e+N|0;f=f+J|0;if(G)f=c[f>>2]|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;F=h+4|0;c[g>>2]=c[F>>2];c[F>>2]=g;g=h}c[i>>2]=g;if(O)h=c[g+8>>2]|0;else h=g+N|0;h=h+J|0;if(G)h=c[h>>2]|0;do if(!H)if(I){h=f2(f,h)|0;break}else{h=g2(f,h,K)|0;break}else h=tb[L&127](a,f,h,M)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[P>>2]|0)+4>>2]=e;if(O){e=c[e+8>>2]|0;break a}else{e=e+N|0;break a}}while(0);if((x|0)==174){if(O)g=c[h+8>>2]|0;else g=h+N|0;f=c[A>>2]|0;if(!((f|0)==0|C^1))rb[f&127](a,g,M);if((c[y>>2]|0)<0)tb[c[B>>2]&127](a,h,0,M)|0;O=(c[P>>2]|0)+16|0;N=c[O>>2]|0;c[O>>2]=(N|0)<1?-1:N+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[F>>2];c[(c[P>>2]|0)+4>>2]=c[E>>2];e=C?g:0}while(0);l=Q;return e|0}function Xz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(c[c[a+8>>2]>>2]&4096|0)Tz(a,0)|0;f=(b|0)!=0;g=a+16|0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Tz(b,0)|0;if((c[b+16>>2]|0)==(c[g>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){h=e+24|0;c[h>>2]=(c[h>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=31;h=b+24|0;c[h>>2]=(c[h>>2]|0)+1;break}else{c[a>>2]=c[c[g>>2]>>2];b=e;break}}while(0);return b|0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=a+16|0;a:do if(!(d&99)){p=a+32|0;if((d&516|0)==0?(e=(c[(c[f>>2]|0)+4>>2]&12|0)!=0,(d&384|0)==0|e):0){if(e){if(!(d&408)){e=0;break}n=(d&136|0)!=0;o=(d&272|0)!=0;m=0;f=0;e=0;while(1){if(!a)break;l=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;do if(!l)g=m;else{h=c[a+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=l+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=f2(k,f)|0;break}else{g=g2(k,f,i)|0;break}else g=tb[j&127](a,k,f,h)|0;while(0);if(!(n&(g|0)<0|o&(g|0)>0)){g=m;break}}g=a;f=k;e=l}while(0);m=g;a=c[a+28>>2]|0}c[p>>2]=m;break}if(!(d&24)){e=0;break}f=c[p>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=eb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[p>>2]=0;e=0;break a}else if((h|0)==36){c[p>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=eb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(eb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=eb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[p>>2]=f;if(!f){e=0;break a}e=eb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}while(1){if(!a){a=0;e=0;break}e=eb[c[c[a+16>>2]>>2]&63](a,b,d)|0;if(e|0)break;a=c[a+28>>2]|0}c[p>>2]=a}else e=eb[c[c[f>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=eb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=eb[c[a>>2]&63](a,f,8)|0;e=eb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;g=b+28|0;h=a+12|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;i=a+8|0;if(c[c[i>>2]>>2]&4096|0)Tz(a,0)|0;e=c[n+32>>2]|0;if(e|0?(tb[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[g>>2]|0;c[h>>2]=(e|0)==0?52:e;e=c[c[i>>2]>>2]|0;if(!(e&112)){l=(d&2|0)!=0;do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(l){b=n;break a}while(0);g=Qz(a)|0;e=c[i>>2]|0;k=c[e>>2]|0;c[e>>2]=k&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(k&3|0){k=c[e+8>>2]|0;f=k+(c[e+12>>2]<<2)|0;e=k;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=b+8|0;j=b+4|0;k=b+24|0;while(1){if(!g){b=n;break a}d=c[g>>2]|0;if(!l){e=c[i>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;h=c[j>>2]|0;e=e+(c[b>>2]|0)|0;if((h|0)<0)e=c[e>>2]|0;f=c[k>>2]|0;if(!f)e=aA(0,e,h)|0;else e=eb[f&63](a,e,b)|0;c[g+4>>2]=e}eb[m&63](a,g,32)|0;g=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[g>>2]|0;c[h>>2]=(n|0)==0?52:n}while(0);return b|0}function $z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=k6(c)|0;else if(a){l6(b);a=0;break}else{a=n6(b,c)|0;break}while(0);return a|0}function aA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=S(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=S(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=S(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return S(b+c|0,17109811)|0}function bA(a){a=a|0;var b=0;b=c[46977]|0;c[46977]=a;return b|0}function cA(a){a=a|0;var b=0;b=c[46978]|0;c[46978]=a;return b|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=eA(a,b,f)|0;l=e;return d|0}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=(a|0)==3?c[46981]|0:(a|0)==2?1:a;c[46981]=e;g=c[46982]|0;c[46982]=g>>>0>e>>>0?g:e;g=(a|0)!=3;do if(e>>>0<(c[46978]|0)>>>0){a=c[46979]|0;if(!a){a=$5()|0;c[46979]=a;if(!a){a=1;break}}if(g){c[46980]=Y5(a)|0;a=c[46979]|0}l2(a,b,d)|0;a=0}else{if(c[46977]|0){fA(a,b,d);a=0;break}e=c[15715]|0;if(g){c[f>>2]=(a|0)==1?96650:96656;z4(e,96664,f)|0}l2(e,b,d)|0;a=0}while(0);l=h;return a|0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[46983]|0)==0?(f=k6(c[4600]|0)|0,c[46983]=f,(f|0)==0):0)Z3(96669,c[15715]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){pb[c[46977]&63]((a|0)==1?96650:96656)|0;pb[c[46977]&63](97328)|0}while(1){a=k2(c[46983]|0,c[4600]|0,b,d)|0;f=c[46983]|0;e=c[4600]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}g=e<<1;e=a+1|0;e=(g|0)>(e|0)?g:e;c[4600]=e;if(!(n6(f,e)|0)){e=9;break}}if((e|0)==7){pb[c[46977]&63](f)|0;break}else if((e|0)==9){Z3(96669,c[15715]|0)|0;break}}while(0);return}function gA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;eA(1,a,e)|0;l=d;return}function hA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+12|0;if(!e){d=(d|0)==0?1024:d;c[f>>2]=1;e=k6(d)|0;c[b>>2]=e}else{c[b>>2]=e;c[f>>2]=0}c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function iA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;g=c[a>>2]|0;f=g;e=(c[h>>2]|0)-f|0;d=e<<1;e=e+b|0;d=e>>>0>d>>>0?e:d;e=a+4|0;f=(c[e>>2]|0)-f|0;b=a+12|0;if(!(c[b>>2]|0)){i=k6(d)|0;B6(i|0,g|0,f|0)|0;c[b>>2]=1;b=i}else b=n6(g,d)|0;c[a>>2]=b;c[e>>2]=b+f;c[h>>2]=b+d;return 0}function jA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){iA(a,d)|0;e=c[f>>2]|0}B6(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function kA(a,b){a=a|0;b=b|0;return jA(a,b,D3(b)|0)|0}function lA(a){a=a|0;if(c[a+12>>2]|0)l6(c[a>>2]|0);return}function mA(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function nA(a,b,d){a=a|0;b=b|0;d=d|0;fD(c[46985]|0,c[b+8>>2]|0)|0;fD(c[46985]|0,c[b+12>>2]|0)|0;bC(c[46985]|0,b);return}function oA(a,b){a=a|0;b=b|0;var c=0;c=PC(a,96717,0)|0;if((b|0)!=0&(c|0)==0){pA(a);c=PC(a,96717,0)|0}return c|0}function pA(a){a=a|0;var b=0,c=0,d=0;d=vC(a)|0;zE(d,d,107,0,1)|0;c=gC(d)|0;while(1){if(!c)break;rA(a,c);b=UA(d,c)|0;while(1){if(!b)break;sA(a,b);b=WA(d,b)|0}c=hC(d,c)|0}return}function qA(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;xA(b);c=OD(b)|0;uA((c|0)==0?b:c,b);return}function rA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function sA(a,b){a=a|0;b=b|0;var d=0;d=tA(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))uA(a,b);return}function tA(a){a=a|0;return PC(a,c[4610]|0,0)|0}function uA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=RC(b,c[4610]|0,16,0)|0;f=vA(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=vC(a)|0;c[e>>2]=vA(a,c[b>>2]&3)|0;a=wA(b)|0;d=d+12|0;c[d>>2]=aC(uC(b)|0,((a|0)>4?a:4)<<2)|0;a=eb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=uC(b)|0;e=dD(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=eb[c[f>>2]&63](f,a,8)|0}}while(0);return}function vA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=oA(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;dA(1,96730,d)|0;a=0;break a}}while(0);l=e;return a|0}function wA(a){a=a|0;var b=0;b=vC(uC(a)|0)|0;a=vA(b,c[a>>2]&3)|0;if(!a)a=0;else a=Uz(a)|0;return a|0}function xA(a){a=a|0;var b=0,d=0,e=0,f=0;d=RC(a,96717,20,0)|0;e=d+8|0;c[e>>2]=SD(a,18404,c[4599]|0)|0;f=d+12|0;c[f>>2]=SD(a,18404,c[4599]|0)|0;d=d+16|0;c[d>>2]=SD(a,18404,c[4599]|0)|0;b=OD(a)|0;if(!b){b=c[46984]|0;if(!((b|0)==0|(b|0)==(a|0))){b=oA(b,0)|0;yA(c[b+8>>2]|0,c[e>>2]|0,a,1);yA(c[b+12>>2]|0,c[f>>2]|0,a,2);yA(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=oA(b,0)|0;Xz(c[e>>2]|0,c[a+8>>2]|0)|0;Xz(c[f>>2]|0,c[a+12>>2]|0)|0;Xz(c[d>>2]|0,c[a+16>>2]|0)|0}return}function yA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=eb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=zA(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;eb[c[d>>2]&63](d,h,1)|0;g=eb[c[b>>2]&63](b,g,8)|0}return}function zA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=aC(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=dD(b,d)|0;c[h+12>>2]=dD(b,e)|0;c[h+16>>2]=f;return h|0}function AA(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=eb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function BA(a,b){a=a|0;b=b|0;var c=0;c=Xz(a,0)|0;b=AA(a,b)|0;Xz(a,c)|0;return b|0}function CA(a,b){a=a|0;b=b|0;a=tA(a)|0;if(!a)a=0;else a=AA(c[a+8>>2]|0,b)|0;return a|0}function DA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!a){a=c[46984]|0;if(!a){c[f>>2]=c[4611];a=lB(0,f,0)|0;c[46984]=a}}if(!e)a=FA(a,b,d)|0;else a=EA(a,b,d,e)|0;l=g;return a|0}function EA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=vC(a)|0;oA(a,1)|0;g=vA(a,b)|0;f=BA(g,d)|0;a:do if(!f){f=AA(g,d)|0;if(f|0){f=zA(a,d,e,c[f+16>>2]|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;h=16;break}g=vA(i,b)|0;f=zA(a,d,e,Uz(g)|0,b)|0;eb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{zE(i,i,57,f,1)|0;h=16;break a}case 1:{d=gC(i)|0;while(1){if(!d){h=16;break a}GA(a,d,f);d=hC(i,d)|0}}case 2:case 3:{g=gC(i)|0;while(1){if(!g){h=16;break a}d=UA(i,g)|0;while(1){if(!d)break;GA(a,d,f);d=WA(i,d)|0}g=hC(i,g)|0}}default:break a}}else{h=f+12|0;fD(a,c[h>>2]|0)|0;c[h>>2]=dD(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)HA(a,f,e)|0;yC(a,a,f);return f|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;a=vA(a,b)|0;if(!a)a=0;else a=AA(a,c)|0;return a|0}function GA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=tA(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=tb[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=dD(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function HA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=uC(a)|0;g=(tA(a)|0)+12|0;i=b+16|0;fD(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=dD(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(oA(h,0)|0)+16>>2]|0;f=b+8|0;g=BA(e,c[f>>2]|0)|0;if(!g){i=zA(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;eb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;fD(h,c[i>>2]|0)|0;c[i>>2]=dD(h,d)|0;break}}while(0);yC(h,a,b);return 0}function IA(a,b,d){a=a|0;b=b|0;d=d|0;a=vA(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=eb[b&63](a,0,128)|0;break}else{a=eb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function JA(a){a=a|0;var b=0;c[46985]=a;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[b>>2]|0)|0}b=oA(a,0)|0;if(b)if(((UD(a,c[b+8>>2]|0)|0)==0?(UD(a,c[b+12>>2]|0)|0)==0:0)?(UD(a,c[b+16>>2]|0)|0)==0:0){TC(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function KA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=uC(a)|0;e=wA(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;fD(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}bC(f,d);return}function LA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function MA(a){a=a|0;var b=0;b=tA(a)|0;if(b|0){KA(a,b);TC(a,c[4610]|0)|0}return}function NA(a,b){a=a|0;b=b|0;b=CA(a,b)|0;if(!b)b=0;else{a=c[(tA(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function OA(a,b){a=a|0;b=b|0;a=c[(tA(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function PA(a,b,c){a=a|0;b=b|0;c=c|0;b=CA(a,b)|0;if(!b)b=-1;else{HA(a,b,c)|0;b=0}return b|0}function QA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=uC(a)|0;f=DA(f,c[a>>2]&3,b,0)|0;if(!f){f=uC(a)|0;f=DA(f,c[a>>2]&3,b,e)|0}HA(a,f,d)|0;return 0}function RA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=uC(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=IA(g,f&3,e)|0;if(!e)break a;d=CA(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=OA(a,e)|0;HA(b,d,f)|0;if(gD(f)|0)hD(OA(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function SA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function TA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function UA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function VA(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=eb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function WA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function XA(a,b){a=a|0;b=b|0;var d=0;b=VA(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Tz(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=eb[c[b>>2]&63](b,0,128)|0;c[a>>2]=Pz(c[d>>2]|0)|0}return b|0}function YA(a,b){a=a|0;b=b|0;var d=0,e=0;d=VA(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Tz(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,b,8)|0;c[d>>2]=Pz(c[e>>2]|0)|0}return a|0}function ZA(a,b){a=a|0;b=b|0;var c=0;c=UA(a,b)|0;if(!c)c=XA(a,b)|0;return c|0}function _A(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=WA(a,b)|0;if(!b){b=0;do{if(!b)b=XA(a,d)|0;else b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=YA(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function $A(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((wB(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(dB(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function aB(a,b){a=a|0;b=b|0;cB(a,b);return}function bB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;lC(b,d,1)|0;lC(b,e,1)|0;h=aC(b,96)|0;i=h+48|0;l=oB(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;cB(b,h);if(a[b+24>>0]&64){RC(h,c[4610]|0,16,0)|0;sA(b,h)}wC(b,h);return h|0}function cB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(dB(a,e,f,d)|0)break;j=VA(a,e)|0;m=a+44|0;eB(c[m>>2]|0,j+32|0,g);k=a+48|0;eB(c[k>>2]|0,j+24|0,g);j=VA(a,f)|0;eB(c[m>>2]|0,j+28|0,h);eB(c[k>>2]|0,j+20|0,h);a=OD(a)|0}l=i;return}function dB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=VA(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Tz(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=eb[c[a>>2]&63](a,f,4)|0;c[g>>2]=Pz(c[e>>2]|0)|0}else a=0;l=h;return a|0}function eB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,1)|0;c[b>>2]=Pz(a)|0;return}function fB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+24|0;m=o+16|0;j=o;h=(f|0)!=0;do if(!(EB(a,2,e,m,0)|0)){if(e|0)if(h){n=18;break}else{f=0;break}if(h?(wB(a)|0)==0:0){n=18;break}n=j;c[n>>2]=0;c[n+4>>2]=0;c[j>>2]=0;n=j+8|0;c[n>>2]=0;c[n+4>>2]=0;n=7}else{g=j;c[g>>2]=0;c[g+4>>2]=0;g=m;k=c[g+4>>2]|0;n=j+8|0;c[n>>2]=c[g>>2];c[n+4>>2]=k;c[j>>2]=2;n=7}while(0);a:do if((n|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(a,b,d,i)|0;if(f|0)break;if(!(vB(a)|0))k=0;else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];k=dB(a,d,b,i)|0}g=(k|0)!=0;f=h^1;do if(g|f)g=g^1;else{f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,b,d,i)|0;if(!f){if(!(vB(a)|0)){g=1;f=0;break}f=vC(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];f=dB(f,d,b,i)|0;if(!f){g=1;f=0;break}}aB(a,f);break a}while(0);if(f|g^1)f=g?0:k;else n=18}while(0);if((n|0)==18)if(($A(a,b,d)|0)!=0?(EB(a,2,e,m,1)|0)!=0:0){f=m;f=bB(a,b,d,c[f>>2]|0,c[f+4>>2]|0)|0;IB(a,2,f)}else f=0;l=o;return f|0}function gB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=VA(a,c[d+40>>2]|0)|0;f=a+44|0;hB(c[f>>2]|0,h+32|0,g);e=a+48|0;hB(c[e>>2]|0,h+24|0,g);b=VA(a,b)|0;hB(c[f>>2]|0,b+28|0,d);hB(c[e>>2]|0,b+20|0,d);return}function hB(a,b,d){a=a|0;b=b|0;d=d|0;Tz(a,c[b>>2]|0)|0;eb[c[a>>2]&63](a,d,2)|0;c[b>>2]=Pz(a)|0;return}function iB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(dB(b,h,g,f)|0){if((vC(b)|0)==(b|0)){if(a[b+24>>0]&64)MA(d);AC(b,d);ZC(d);h=d+8|0;GB(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(zE(b,d,58,0,0)|0))if((vC(b)|0)==(b|0)){bC(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function jB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=lC(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=lC(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=dB(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{cB(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function kB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t6(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function lB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=mB(e)|0;f=vb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=vb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(EB(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=nB(f)|0;IB(k,0,f);l=h;return k|0}function mB(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18780:e}else e=18780;g=pb[c[e>>2]&63](b)|0;f=vb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18656:g;b=c[b+8>>2]|0;b=(b|0)==0?18756:b}else{c[f+4>>2]=18656;b=18756}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function nB(b){b=b|0;var d=0,e=0;c[b+36>>2]=SD(b,18836,c[4599]|0)|0;c[b+40>>2]=SD(b,18800,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+44>>2]=SD(b,d?18448:18484,c[4599]|0)|0;d=(vC(b)|0)==(b|0);c[b+48>>2]=SD(b,d?18520:18556,c[4599]|0)|0;c[b+52>>2]=SD(b,18592,c[4599]|0)|0;d=OD(b)|0;if(!((d|0)!=0?(e=oB(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,eb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))qA(b);wC(b,b);return b|0}function oB(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=w6(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=D;c[d>>2]=b;c[d+4>>2]=a;D=a;return b|0}function pB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=OD(b)|0;g=(f|0)==0;h=b+64|0;if(g?(c[(c[c[h>>2]>>2]|0)+16>>2]|0)!=0:0){AC(b,b);d=b+8|0;GB(b,0,c[d>>2]|0,c[d+4>>2]|0);d=c[h>>2]|0;db[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=MD(b)|0;while(1){if(!d)break;e=ND(d)|0;pB(d)|0;d=e}d=gC(b)|0;while(1){if(!d)break;e=hC(b,d)|0;sC(b,d)|0;d=e}RB(b);AC(b,b);if(((((UD(b,c[b+40>>2]|0)|0)==0?(UD(b,c[b+36>>2]|0)|0)==0:0)?(UD(b,c[b+48>>2]|0)|0)==0:0)?(UD(b,c[b+44>>2]|0)|0)==0:0)?(UD(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?JA(b)|0:0){d=-1;break}ZC(b);e=b+8|0;GB(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){PD(f,b)|0;bC(f,b);d=0;break}while(1){d=c[h>>2]|0;e=c[d+48>>2]|0;if(!e)break;DC(b,c[e>>2]|0)|0}db[c[(c[d+4>>2]|0)+20>>2]&127](c[d+16>>2]|0);if(!(_C(b)|0)){d=c[h>>2]|0;h=c[d+12>>2]|0;g=(c[d>>2]|0)+12|0;lb[c[g>>2]&63](h,b);lb[c[g>>2]&63](h,d);d=0}else d=-1}else d=-1}while(0);return d|0}function qB(a){a=a|0;return Uz(c[a+40>>2]|0)|0}function rB(a){a=a|0;var b=0,c=0,d=0;b=0;c=gC(a)|0;while(1){if(!c)break;d=(sB(a,c,0,1)|0)+b|0;b=d;c=hC(a,c)|0}return b|0}function sB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=VA(a,b)|0;if(f){a=a+44|0;if(!e)b=0;else b=tB(c[a>>2]|0,f+32|0)|0;if(d)b=(tB(c[a>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function tB(a,b){a=a|0;b=b|0;var d=0;Tz(a,c[b>>2]|0)|0;d=Uz(a)|0;c[b>>2]=Pz(a)|0;return d|0}function uB(b){b=b|0;return a[b+24>>0]&1|0}function vB(a){a=a|0;return (uB(a)|0)==0|0}function wB(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function xB(a,b){a=a|0;b=b|0;return a|0}function yB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=w6(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=D}else{if(!f)a=aD(a,d)|0;else a=dD(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function zB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function AB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)fD(a,c)|0;return}function BB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function CB(a){a=a|0;return}function DB(a,b,c){a=a|0;b=b|0;c=c|0;return}\nfunction Ol(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)Aa(88706,88689,190,88725);d=c[a+196>>2]|0;a=(b[a+238>>1]<<6)+192|0;if(!d)a=IK(a)|0;else a=KK(d,a)|0;e=a+64|0;a=c[g>>2]|0;c[a+196>>2]=e;a=b[a+238>>1]|0;while(1){d=e+(a<<6)|0;if((a|0)<=-1)break;a=a+-1|0;e=e+(a<<6)|0;f=d+64|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[(c[g>>2]|0)+196>>2]|0}c[e+(a<<6)+8>>2]=0;c[d>>2]=0;e=HK(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Pl(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=dg(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Ql(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[g+(d<<6)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Rl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=kh(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=kh(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Ql(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Sl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Tl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Tl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;e=c[(c[g>>2]|0)+196>>2]|0;f=c[e+(b<<6)+4>>2]|0;e=(c[e+(b<<6)>>2]<<2)+8|0;if(!f)f=IK(e)|0;else f=KK(f,e)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=ph(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Tl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;h=o+4|0;g=o;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){n=c[b+236>>2]|0;m=d+4|0;j=c[b+180>>2]|0;if(c[b+176>>2]|0){b=0;g=0;h=0;while(1){i=c[j+(h<<2)>>2]|0;if(!i)break;i=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(i|0)>(e|0);b=k?((i|0)<(f|0)?b:1):b;g=k?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=n+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[m>>2]=n+-1;break}if((c[b+184>>2]|0)!=2)Aa(88669,88689,63,88696);k=c[j>>2]|0;j=c[j+4>>2]|0;Sl(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,h,g);j=c[g>>2]|0;k=d+8|0;if((j|0)<=(e|0)){c[d>>2]=n;c[k>>2]=n;break}i=c[h>>2]|0;h=d+12|0;if((i|0)>=(f|0)){c[m>>2]=n;c[h>>2]=n;break}b=(i|0)<(e|0);g=(j|0)>(f|0);if(!(g&b)){if(!(!b?!((j|0)<(f|0)&(i|0)==(e|0)):0))c[k>>2]=n;if(!g?!((j|0)==(f|0)&(i|0)>(e|0)):0)break;c[h>>2]=n}}while(0);l=o;return}function Ul(a){a=a|0;c[47180]=1;mm(a);c[47180]=0;return}function Vl(a){a=a|0;c[47180]=2;mm(a);c[47180]=0;return}function Wl(a){a=a|0;var b=0;RC(a,137750,304,1)|0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function Xl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+64|0;j=u+48|0;p=u+40|0;k=u+24|0;i=u+8|0;s=u+56|0;n=u;do if((b|0)!=0?(t=e+16|0,q=c[(c[t>>2]|0)+132>>2]|0,g=OA(e,b)|0,(a[g>>0]|0)!=0):0){a[s>>0]=0;m=q+16|0;r=(d|0)!=0;b=q+8|0;if((c[47184]|0)>2?(c[i>>2]=q,c[i+4>>2]=b,c[i+8>>2]=m,c[i+12>>2]=s,(q4(g,88807,i)|0)>2):0){a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;a:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;p=q+(b<<3)|0;h[p>>3]=+h[p>>3]/+h[23314];b=b+1|0}}while(0);if((g|0)>3)Cn(e,f,3);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=q;c[k+4>>2]=b;c[k+8>>2]=s;if((q4(g,102050,k)|0)<=1){c[j>>2]=HB(e)|0;c[j+4>>2]=g;dA(1,88821,j)|0;b=0;break}a[(c[t>>2]|0)+119>>0]=1;g=c[47184]|0;b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=q+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[23314];b=b+1|0}}while(0);do if((g|0)>2){b=c[47233]|0;if((b|0?(o=OA(e,b)|0,o|0):0)?(c[p>>2]=n,(q4(o,101510,p)|0)==1):0){w=+h[23314];v=+h[n>>3];h[m>>3]=w>0.0?v/w:v;Cn(e,f,3);break}Dn(e,f)}while(0);if((a[s>>0]|0)!=33){if(!r){b=1;break}if(!((bP(OA(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[t>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=u;return b|0}function Yl(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Zl(a);return}function Zl(a){a=a|0;if((c[47180]|0)!=0|(c[46837]|0)<0)An(a);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function _l(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=DA(b,0,102938,0)|0;e=DA(b,0,102972,0)|0;p=cP(NA(b,88865)|0,0)|0;if(!e)e=DA(b,0,102972,195341)|0;zn(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(h2(HB(j)|0,108307,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)$l(j,f,102934);i=i+1|0}a:do if((f|0)==8){p=HB(j)|0;e=HB(b)|0;c[m>>2]=p;c[m+4>>2]=e;dA(1,88877,m)|0;e=-1}else if((f|0)==12){am(b,k,e);j=bm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[47180]|0)==1^1)?(lr(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;zP(b);if(i){d=(c[n>>2]|0)+16|0;lI(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[47185]=1;f=gC(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=hC(b,f)|0}}do if(!(p<<24>>24!=0|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;Zm(b)}while(0);if(!((j|0)!=0&(f|(Xm(b)|0)<<24>>24!=0))){if((j|0)==2){c[47185]=1;break}}else cm(b);Wm(b,0)}while(0);l=q;return e|0}function $l(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=NA(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(q4(b,105804,j)|0)==2):0){j=d+56|0;fm(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=OA(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(q4(n,105804,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;fm(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=MD(b)|0;while(1){if(!f)break a;gm(f,b,d,e);f=ND(f)|0}}while(0);l=m;return}function bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(rB(a)|0){f=DA(a,2,102924,0)|0;if(!((f|0)==0|(c[47180]|0)<2)){b=0;e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=((dm(f,d)|0)!=0&1)+b|0;d=WA(a,d)|0;b=g}e=hC(a,e)|0}if(b){b=(b|0)==(rB(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function cm(a){a=a|0;var b=0,d=0,e=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;XP(b);e=b+16|0;AK(c[(c[e>>2]|0)+96>>2]|0);AK(c[(c[e>>2]|0)+108>>2]|0);AK(c[(c[e>>2]|0)+100>>2]|0);AK(c[(c[e>>2]|0)+104>>2]|0);b=WA(a,b)|0}d=hC(a,d)|0}return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=OA(d,b)|0;do if(a[b>>0]|0){FH(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((q4(b,88914,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((q4(b,88926,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=em(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=IK(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((q4(b,88996,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(X1(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=aO(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}l6(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){XP(d);if(a[194051]|0){b=0;break}a[194051]=1;D=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;dA(0,88939,A)|0;b=0;break}else if((e|0)==13){if(!(a[194051]|0)){a[194051]=1;C=HB(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=HB(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;dA(0,89006,z)|0}l6(n);XP(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){$l(d,e,102938);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){$l(d,e,102934);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){$l(d,e,102941);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}$l(d,b,102949);b=1;break}}else b=0;while(0);l=B;return b|0}function em(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(X1(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(X1(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((X1(c&255)|0)!=0);return d|0}function fm(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((h2(HB(a)|0,108307,7)|0)==0?(hm(a,e,f)|0)!=0:0){RC(a,137786,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];im(b,a);am(a,d,e)}else g=4;a:do if((g|0)==4){a=MD(a)|0;while(1){if(!a)break a;gm(a,b,d,e);a=ND(a)|0}}while(0);l=h;return}function hm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=OA(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((q4(k,89054,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function im(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function jm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=NA(b,89070)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(P2(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(h2(h,89076,4)|0)){e=0;break}if(!(h2(h,105812,7)|0)){e=1;break}if(h2(h,89081,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(q4(e,100234,k)|0)>=1):0)){k=e4()|0;k=(Ya(0)|0)^k;c[j>>2]=k;c[m>>2]=k;i2(i,100234,m)|0;PA(b,89070,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function km(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=jm(a,d,e)|0;if((d|0)!=2&(c[46838]|0)!=0)dA(0,89088,f)|0;if((d|0)==1)lm(a,b);W4(c[e>>2]|0);l=f;return d|0}function lm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=gC(b)|0;f=0.0;while(1){if(!e)break;l=g*+I(+f);j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=g*+J(+f);a[j+119>>0]=1;if((c[47184]|0)>2)Dn(e,d);e=hC(b,e)|0;f=i+f}return}function mm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[23314];do if(c[47180]|0){h[23314]=72.0;nm(b);om(b);if((_l(b,1)|0)<0){dA(3,89136,d)|0;break}else{aM(b,0);f=32;break}}else{o=cP(NA(b,88865)|0,0)|0;h[23314]=+ZO(b);nm(b);g=pm(b)|0;Kq(b,k,0)|0;i=qm(b)|0;j=kH(b,0,n)|0;d=jH(b,-1,8)|0;c[46837]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46837]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){rm(b,g,i);Nq(b,k)|0;om(b);if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else f=11}else if(e){c[46837]=8;f=11}else f=11;while(0);if((f|0)==11){j=qG(b,p,89164,m)|0;d=c[p>>2]|0;do if((d|0)<=1){rm(b,g,i);Nq(b,k)|0;if(!(o<<24>>24)){cn(b);break}else{sm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;IG(d)|0;rm(d,g,i);Nq(d,k)|0;mQ(d,2);if(f)cn(d);else sm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=HK(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46837];c[n+20>>2]=e;c[n+12>>2]=1;gH(d,j,b,n)|0;l6(e)}while(0);zP(b);om(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;An(n);TC(n,137786)|0;tC(b,n)|0;d=d+1|0}l6(j)}aM(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[23314]=q;l=r;return}function nm(a){a=a|0;var d=0,e=0,f=0,g=0;mQ(a,2);f=XO(a,DA(a,0,91669,0)|0,2,2)|0;d=(XO(a,DA(a,0,91675,0)|0,f,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[47184]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Cm(a);return}function om(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[47184]|0)>2&(c[47233]|0)!=0){b=gC(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;i2(d,101510,e)|0;HA(b,c[47233]|0,d)|0;b=hC(a,b)|0}}while(0);l=f;return}function pm(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=NA(b,89849)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(f2(d,89854)|0)){b=0;break a}break}case 109:{if(!(f2(d,89857)|0)){b=1;break a}break}case 104:{if(!(f2(d,89863)|0)){b=2;break a}break}default:{}}b=HB(b)|0;c[e>>2]=d;c[e+4>>2]=b;dA(0,89868,e)|0;b=1}while(0);l=f;return b|0}function qm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=NA(b,89632)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(f2(d,89638)|0)){b=1;break a}break}case 115:{if(!(f2(d,89646)|0)){b=2;break a}if(!(f2(d,89653)|0)){b=0;break a}break}case 109:{if(!(f2(d,89663)|0)){if(DA(b,2,92794,0)|0){b=3;break a}c[e>>2]=HB(b)|0;dA(0,89667,e)|0;dA(3,89730,f)|0;b=0;break a}break}default:{}}b=HB(b)|0;c[g>>2]=d;c[g+4>>2]=b;dA(0,89787,g)|0;b=0}while(0);l=h;return b|0}function rm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=NA(a,91362)|0;if(!e)if((b|0)==1)e=200;else e=(qB(a)|0)*100|0;else e=d6(e)|0;c[47183]=e;e=tn(a,b)|0;do if(!((e|0)<2|(c[47183]|0)<0))if(!b){um(a,e,d);break}else{tm(a,e,b,d,c[47184]|0);break}while(0);return}function sm(a){a=a|0;zP(a);Wm(a,1);return}function tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+40|0;p=v+24|0;o=v;q=v+48|0;u=v+44|0;r=(e|0)==2;j=km(b,d,r?0:2)|0;k=Bm(b)|0;m=k|4;t=IK(g<<2)|0;c[t>>2]=IK(S(d<<3,g)|0)|0;i=c[47184]|0;g=1;while(1){if((g|0)>=(i|0))break;c[t+(g<<2)>>2]=(c[t>>2]|0)+((S(g,d)|0)<<3);g=g+1|0}i=(j|0)==0;g=i?m:k;if(a[195234]|0){m=c[15715]|0;k=c[47183]|0;n=+h[23315];c[o>>2]=f;c[o+4>>2]=i&1;c[o+8>>2]=g&3;c[o+12>>2]=k;h[o+16>>3]=n;z4(m,89445,o)|0;_3(89502,15,1,m)|0;RO();_3(89518,13,1,m)|0}o=xm(b,d,q,e,f,u)|0;if(a[195234]|0){m=c[15715]|0;n=+SO();c[p>>2]=d;h[p+8>>3]=n;z4(m,89532,p)|0}if((e|0)!=1){n=+YO(b,DA(b,0,89551,0)|0,0.0,-1797693134862315708145274.0e284);if(r){g=yr(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0,n)|0;i=12}else i=14}else{g=ln(o,d,c[q>>2]|0,t,c[u>>2]|0,c[47184]|0,g,f,c[47183]|0)|0;i=12}if((i|0)==12)if((g|0)<0)dA(3,89561,s)|0;else i=14;a:do if((i|0)==14){i=gC(b)|0;while(1){if(!i)break a;m=c[i+16>>2]|0;j=c[m+120>>2]|0;k=c[47184]|0;m=m+132|0;g=0;while(1){if((g|0)>=(k|0))break;h[(c[m>>2]|0)+(g<<3)>>3]=+h[(c[t+(g<<2)>>2]|0)+(j<<3)>>3];g=g+1|0}i=hC(b,i)|0}}while(0);Zr(o);l6(c[t>>2]|0);l6(t);l6(c[u>>2]|0);l=v;return}function um(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+48|0;g=i+32|0;f=i;switch(e|0){case 2:{vm(b,d);break}case 1:{if(!(ur(b,d)|0)){c[f>>2]=HB(b)|0;dA(0,89174,f)|0;dA(3,93665,i+8|0)|0;dA(3,89226,i+16|0)|0;dA(3,89298,i+24|0)|0;Rn(b,d)}break}default:{Rn(b,d);if((e|0)==3)wm(b)}}Fn(b,d);Gn(b,d);if(a[195234]|0){f=c[15715]|0;k=c[47183]|0;j=+h[23315];c[g>>2]=e;c[g+4>>2]=k;h[g+8>>3]=j;z4(f,89336,g)|0;RO()}Hn(b,d);l=i;return}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=xm(a,b,j,0,2,0)|0;i=$s(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}l6(c[i>>2]|0);l6(i);Zr(g);l=j;return}function wm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=WA(a,b)|0}d=hC(a,d)|0}return}function xm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0;j=rB(a)|0;H=TL()|0;if((f|0)==2){k=0;E=0}else{E=DA(a,2,92794,0)|0;k=(c[47236]|0)!=0&1;E=(E|0)!=0}B=(e|1|0)==3;F=IK(b*20|0)|0;G=IK(b<<2)|0;l=(j<<1)+b<<2;m=IK(l)|0;A=B|E;if(A)f=IK(l)|0;else f=0;D=(k|0)!=0;if(D)j=IK(l)|0;else j=0;if(B)k=IK(l)|0;else k=0;l=0;y=gC(a)|0;z=0;while(1){if(!y)break;WL(H);if((c[(c[y+16>>2]|0)+120>>2]|0)!=(z|0)){C=12;break}c[G+(z<<2)>>2]=y;v=F+(z*20|0)+4|0;c[v>>2]=m;w=F+(z*20|0)+8|0;c[w>>2]=A?f:0;x=F+(z*20|0)+12|0;c[x>>2]=D?j:0;c[F+(z*20|0)+16>>2]=B?k:0;s=1;u=ZA(a,y)|0;t=1;r=l;m=m+4|0;f=A?f+4|0:f;j=D?j+4|0:j;k=B?k+4|0:k;while(1){if(!u)break;p=c[u>>2]&3;q=u+-48|0;l=u+48|0;do if((c[((p|0)==2?u:q)+40>>2]|0)==(c[((p|0)==3?u:l)+40>>2]|0)){n=s;p=t;l=r}else{n=ym(H,u,s)|0;p=u+16|0;if((n|0)!=(s|0)){if(D){q=(c[x>>2]|0)+(n<<2)|0;g[q>>2]=+h[(c[p>>2]|0)+128>>3]+ +g[q>>2]}if(!E){n=s;p=t;l=r;break}n=(c[w>>2]|0)+(n<<2)|0;I=+h[(c[p>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=I>o?I:o;n=s;p=t;l=r;break}J=c[u>>2]&3;l=(J|0)==3?u:l;r=r+1|0;n=s+1|0;s=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(y|0)?((J|0)==2?u:q):l)+40>>2]|0)+16>>2]|0)+120>>2];if(D){g[j>>2]=+h[(c[p>>2]|0)+128>>3];j=j+4|0}m=f+4|0;if(E){g[f>>2]=+h[(c[p>>2]|0)+136>>3];if(B)C=27;else f=m}else if(B){g[f>>2]=1.0;C=27}if((C|0)==27){C=0;f=NA(u,101860)|0;l=k+4|0;if((f|0)!=0?(h2(f,136010,4)|0)==0:0)o=0.0;else o=(y|0)==(c[((c[u>>2]&3|0)==2?u:q)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;f=m;k=l}p=t+1|0;l=r;m=s}while(0);s=n;u=_A(a,u,y)|0;t=p;r=l}c[F+(z*20|0)>>2]=t;c[c[v>>2]>>2]=z;l=r;y=hC(a,y)|0;z=z+1|0}if((C|0)==12)Aa(89375,89390,819,89402);if(B)zm(F,b,e,G);n=(l|0)/2|0;a:do if((n|0)!=(rB(a)|0)){l=(n<<1)+b<<2;k=KK(c[F+4>>2]|0,l)|0;if(E)f=KK(c[F+8>>2]|0,l)|0;if(D){m=0;j=KK(c[F+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[F+(m*20|0)>>2]|0;c[F+(m*20|0)+4>>2]=k;if(E){c[F+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(D){c[F+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)l6(G);else c[i>>2]=G;XL(H);return F|0}function ym(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return YL(a,f?b:e,f?e:b,d)|0}function zm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Am(b,g,e,f);g=g+1|0}return}function Am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Am(b,p,e,f);break}g[h>>2]=o;i=c[b+(p*20|0)>>2]|0;j=b+(p*20|0)+4|0;h=1;while(1){if((h|0)>=(i|0)){h=9;break a}if((c[(c[j>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)Aa(89416,89390,721,89436);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Bm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=XO(a,DA(a,0,89577,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89577;dA(0,89586,b)|0;a=2}l=d;return a|0}function Cm(a){a=a|0;var b=0,d=0,e=0;d=qB(a)|0;c[46838]=DA(a,1,102924,0)|0;e=DA(a,1,90961,0)|0;b=gC(a)|0;while(1){if(!b)break;Wl(b);Xl(c[46838]|0,e,b,d)|0;b=hC(a,b)|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dm(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dm(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Em(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=HK(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;l6(b);return}function Gm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Hm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0.0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;h=e+16|0;m=b[(c[h>>2]|0)+168>>1]|0;j=m<<16>>16;i=+(f|0);if(m<<16>>16!=1&(a[195236]|0)==0){h=IK(j<<2)|0;f=0;while(1){if((f|0)>=(j|0))break;c[h+(f<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;f=f+1|0}jO(d,h,0,j,i,i,17832);e=0;while(1){if((e|0)>=(j|0))break;f=c[h+(e<<2)>>2]|0;g=f+16|0;if(c[(c[g>>2]|0)+96>>2]|0){m=uC(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0;xP(m,c[(c[g>>2]|0)+96>>2]|0)}qO(f);e=e+1|0}l6(h)}else{c[g>>2]=e;jO(d,g,0,1,i,i,17832);if(c[(c[h>>2]|0)+96>>2]|0){m=uC(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;xP(m,c[(c[h>>2]|0)+96>>2]|0)}qO(e)}l=k;return}function Im(a){a=a|0;return 0}function Jm(a){a=a|0;return 0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0.0,S=0,T=0,U=0;U=l;l=l+384|0;P=U+368|0;Q=U+112|0;y=U+32|0;q=U+336|0;D=U+320|0;E=U+304|0;F=U+288|0;H=U+272|0;z=U+256|0;A=U+240|0;B=U+224|0;C=U+208|0;i=U+192|0;r=U+176|0;s=U+160|0;t=U+144|0;u=U+128|0;v=U+96|0;w=U+16|0;x=U;S=d+4|0;T=b+16|0;a:do switch(UM(b)|0){case 3:case 1:{b=HK(8)|0;f=c[T>>2]|0;i=c[f+12>>2]|0;do if(!(e<<24>>24)){f=c[i+8>>2]|0;if((f|0)>2){R=0.0;y=c[i+44>>2]|0;q=0;K=+g[d>>2];L=+g[S>>2];break}else{R=+S4()*.01;f=8;y=0;q=1;K=0.0;L=0.0;break}}else if(!(c[i+40>>2]&2048)){L=+h[f+88>>3];K=-L;R=+h[f+80>>3];O=R*-.5;h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;R=R*.5;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}else{wP(q,i);K=+h[q>>3];O=+h[q+8>>3];L=+h[q+16>>3];R=+h[q+24>>3];h[y>>3]=K;h[y+8>>3]=O;h[y+16>>3]=L;h[y+24>>3]=O;h[y+32>>3]=L;h[y+40>>3]=R;h[y+48>>3]=K;h[y+56>>3]=R;R=0.0;f=4;q=0;K=0.0;L=0.0;break}while(0);c[b+4>>2]=f;r=HK(f<<4)|0;c[b>>2]=r;s=d+8|0;M=+(f|0);t=(f|0)==4;N=-K;O=-L;e=0;while(1){if((f|0)<=(e|0))break a;i=(a[s>>0]|0)!=0;u=c[T>>2]|0;do if(q){k=R+ +(e|0)*6.283185307179586/M;o=+I(+k);k=+J(+k);p=+g[d>>2];m=+g[S>>2];j=+h[u+80>>3];n=+h[u+96>>3]+ +h[u+88>>3];if(i){k=k*(m+j);j=o*(p+n)}else{k=k*m*j;j=o*p*n}m=j*.5;j=k*.5}else{n=+h[y+(e<<4)+8>>3];m=+h[y+(e<<4)>>3];if(!i){m=K*m;j=L*n;break}if(!t){j=+G(+(n*n+m*m));m=m*(K/j+1.0);j=n*(L/j+1.0);break}switch(e|0){case 0:{k=L;j=K;break}case 1:{k=L;j=N;break}case 2:{k=O;j=N;break}case 3:{k=O;j=K;break}default:{k=0.0;j=0.0}}m=m+j;j=n+k}while(0);Q=f-e+-1|0;h[r+(Q<<4)>>3]=m+ +h[u+16>>3];h[r+(Q<<4)+8>>3]=j+ +h[u+24>>3];e=e+1|0}}case 2:{b=c[(c[T>>2]|0)+12>>2]|0;j=+h[b+16>>3];n=+h[b+24>>3];k=+h[b+32>>3];m=+h[b+40>>3];b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;T=(c[T>>2]|0)+16|0;c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(z,j,n,P,d);c[f>>2]=c[z>>2];c[f+4>>2]=c[z+4>>2];c[f+8>>2]=c[z+8>>2];c[f+12>>2]=c[z+12>>2];T=(c[b>>2]|0)+16|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(A,j,m,P,d);c[T>>2]=c[A>>2];c[T+4>>2]=c[A+4>>2];c[T+8>>2]=c[A+8>>2];c[T+12>>2]=c[A+12>>2];T=(c[b>>2]|0)+32|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(B,k,m,P,d);c[T>>2]=c[B>>2];c[T+4>>2]=c[B+4>>2];c[T+8>>2]=c[B+8>>2];c[T+12>>2]=c[B+12>>2];T=(c[b>>2]|0)+48|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(C,k,n,P,d);c[T>>2]=c[C>>2];c[T+4>>2]=c[C+4>>2];c[T+8>>2]=c[C+8>>2];c[T+12>>2]=c[C+12>>2];break a}else{R=j-+g[d>>2];O=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(D,R,O,P);c[f>>2]=c[D>>2];c[f+4>>2]=c[D+4>>2];c[f+8>>2]=c[D+8>>2];c[f+12>>2]=c[D+12>>2];T=(c[b>>2]|0)+16|0;O=j-+g[d>>2];R=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(E,O,R,P);c[T>>2]=c[E>>2];c[T+4>>2]=c[E+4>>2];c[T+8>>2]=c[E+8>>2];c[T+12>>2]=c[E+12>>2];T=(c[b>>2]|0)+32|0;R=k+ +g[d>>2];O=m+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(F,R,O,P);c[T>>2]=c[F>>2];c[T+4>>2]=c[F+4>>2];c[T+8>>2]=c[F+8>>2];c[T+12>>2]=c[F+12>>2];T=(c[b>>2]|0)+48|0;O=k+ +g[d>>2];R=n-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(H,O,R,P);c[T>>2]=c[H>>2];c[T+4>>2]=c[H+4>>2];c[T+8>>2]=c[H+8>>2];c[T+12>>2]=c[H+12>>2];break a}}case 4:{b=HK(8)|0;c[b+4>>2]=4;f=HK(64)|0;c[b>>2]=f;H=c[T>>2]|0;F=H+16|0;c[Q>>2]=c[F>>2];c[Q+4>>2]=c[F+4>>2];c[Q+8>>2]=c[F+8>>2];c[Q+12>>2]=c[F+12>>2];j=-+h[H+88>>3];k=-+h[H+80>>3];if(!(a[d+8>>0]|0)){c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(u,j,k,P,d);c[f>>2]=c[u>>2];c[f+4>>2]=c[u+4>>2];c[f+8>>2]=c[u+8>>2];c[f+12>>2]=c[u+12>>2];S=(c[b>>2]|0)+16|0;H=c[T>>2]|0;O=-+h[H+88>>3];R=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(v,O,R,P,d);c[S>>2]=c[v>>2];c[S+4>>2]=c[v+4>>2];c[S+8>>2]=c[v+8>>2];c[S+12>>2]=c[v+12>>2];S=(c[b>>2]|0)+32|0;H=c[T>>2]|0;R=+h[H+96>>3];O=+h[H+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(w,R,O,P,d);c[S>>2]=c[w>>2];c[S+4>>2]=c[w+4>>2];c[S+8>>2]=c[w+8>>2];c[S+12>>2]=c[w+12>>2];S=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3];R=-+h[T+80>>3];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Mm(x,O,R,P,d);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];break a}else{R=j-+g[d>>2];O=k-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(i,R,O,P);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];H=(c[b>>2]|0)+16|0;F=c[T>>2]|0;O=-+h[F+88>>3]-+g[d>>2];R=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(r,O,R,P);c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];H=(c[b>>2]|0)+32|0;F=c[T>>2]|0;R=+h[F+96>>3]+ +g[d>>2];O=+h[F+80>>3]+ +g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(s,R,O,P);c[H>>2]=c[s>>2];c[H+4>>2]=c[s+4>>2];c[H+8>>2]=c[s+8>>2];c[H+12>>2]=c[s+12>>2];H=(c[b>>2]|0)+48|0;T=c[T>>2]|0;O=+h[T+96>>3]+ +g[d>>2];R=-+h[T+80>>3]-+g[S>>2];c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];Lm(t,O,R,P);c[H>>2]=c[t>>2];c[H+4>>2]=c[t+4>>2];c[H+8>>2]=c[t+8>>2];c[H+12>>2]=c[t+12>>2];break a}}default:b=0}while(0);l=U;return b|0}function Lm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Mm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+h[d+8>>3]+ +g[e+4>>2]*c;h[a>>3]=+h[d>>3]+ +g[e>>2]*b;h[a+8>>3]=c;return}function Nm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Om(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Om(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];KX(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]+ +h[c+8>>3];h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3]=d;return}function Pm(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+144|0;r=w+104|0;s=w+88|0;q=w+80|0;p=w+72|0;m=w+64|0;u=w+128|0;o=w+32|0;n=w+124|0;v=w+16|0;t=w;k=w+120|0;j=(c[b+16>>2]|0)+144|0;i=c[j>>2]|0;j=c[j+4>>2]|0;h=m;c[h>>2]=i;c[h+4>>2]=j;h=i;c[v>>2]=c[h>>2];c[v+4>>2]=c[h+4>>2];c[v+8>>2]=c[h+8>>2];c[v+12>>2]=c[h+12>>2];j=i+(j+-1<<4)|0;c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2];a:do if(!(g<<24>>24)){h=-1111;g=-1111}else{h=-1111;g=-1111;j=0;while(1){if((j|0)>=(f|0))break a;i=e+(j<<2)|0;if((g|0)==-1111){g=c[i>>2]|0;c[s>>2]=c[g>>2];c[s+4>>2]=c[g+4>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];g=(LX(s,r)|0)==0;g=g?-1111:j}if((h|0)==-1111){h=c[i>>2]|0;c[s>>2]=c[h>>2];c[s+4>>2]=c[h+4>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];h=(LX(s,r)|0)==0;h=h?-1111:j}j=j+1|0}}while(0);Qm(e,f,g,h,k,n);c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;h=c[k>>2]|0;n=c[n>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];g=b+48|0;if((MX(h,n,r,o,u)|0)<0){u=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;v=HB(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[p>>2]=u;c[p+4>>2]=v;dA(1,89929,p)|0}else{if((d[195234]|0)>1){p=c[15715]|0;n=HB(c[((c[b>>2]&3|0)==3?b:g)+40>>2]|0)|0;g=b+-48|0;o=HB(c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0)|0;c[q>>2]=n;c[q+4>>2]=o;z4(p,89977,q)|0}else g=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:g)+40>>2]|0,c[u>>2]|0,c[u+4>>2]|0,17832);l6(h);c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];wO(a,b,s,r)}l=w;return}function Qm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=IK(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else Aa(89991,89998,77,90013)}function Rm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;m=o+12|0;f=o;mr(f,a);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;XN(g);g=WA(a,g)|0}f=hC(a,f)|0}h=Sz(17796,c[4591]|0)|0;f=gC(a)|0;while(1){if(!f)break;g=UA(a,f)|0;while(1){if(!g)break;i=g+16|0;if((c[47180]|0)>1?(j=c[i>>2]|0,(c[j+8>>2]|0)!=0):0){p=j+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else n=14;if((n|0)==14?(n=0,k=Sm(h,g)|0,(k|0)!=(g|0)):0){p=c[k+16>>2]|0;q=p+168|0;b[q>>1]=(b[q>>1]|0)+1<<16>>16;p=p+172|0;c[(c[i>>2]|0)+172>>2]=c[p>>2];c[p>>2]=g}g=WA(a,g)|0}f=hC(a,f)|0}Oz(h)|0;if(!(eb[d&63](a,m,e)|0)){c[47185]=1;f=0}else f=1;l=o;return f|0}function Sm(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;s=t;e=c[b>>2]&3;k=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;j=c[b+16>>2]|0;o=j+24|0;f=j+56|0;i=j+64|0;j=j+16|0;do if(k>>>0>=e>>>0){if(k>>>0>e>>>0){r=e;e=k;p=+h[j>>3];q=+h[o>>3];g=+h[f>>3];d=+h[i>>3];break}m=+h[f>>3];n=+h[i>>3];g=+h[j>>3];d=+h[o>>3];if(!(g<m))if(!(g>m)){f=d>n;if(d<n){r=k;e=k;p=m;q=n}else{r=k;e=k;p=g;q=d;g=f?m:g;d=f?n:d}}else{r=k;e=k;p=g;q=d;g=m;d=n}else{r=k;e=k;p=m;q=n}}else{r=k;p=+h[f>>3];q=+h[i>>3];g=+h[j>>3];d=+h[o>>3]}while(0);c[s+8>>2]=r;h[s+16>>3]=g;h[s+24>>3]=d;c[s+32>>2]=e;h[s+40>>3]=p;h[s+48>>3]=q;c[s+56>>2]=b;s=c[(eb[c[a>>2]&63](a,s,1)|0)+56>>2]|0;l=t;return s|0}function Tm(a,b){a=a|0;b=b|0;return Rm(a,24,b)|0}function Um(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;G=l;l=l+112|0;C=G+88|0;B=G+72|0;t=G+56|0;p=G+24|0;o=G;u=G+64|0;D=G+40|0;E=G+8|0;i=(c[47180]|0)>1&1;s=(f|0)==8;do if((f|0)>5){r=HK((qB(d)|0)<<2)|0;n=s&1;m=gC(d)|0;q=0;while(1){if(!m)break;j=Km(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=q}else{c[k>>2]=q;c[r+(q<<2)>>2]=j;j=q+1|0}m=hC(d,m)|0;q=j}if(r){j=it(r,q)|0;if(j|0){if(s){z=0;A=r;y=r;v=1;break}z=HX(r,q)|0;A=r;y=r;v=1;break}if(s){dA(0,90027,o)|0;j=0;z=0;A=r;y=r;v=1;break}else{H=+g[e+4>>2];h[p>>3]=+g[e>>2];h[p+8>>3]=H;dA(0,90105,p)|0;j=0;z=0;A=r;y=r;v=1;break}}else{j=0;z=0;A=0;y=0;v=0}}else{j=0;z=0;A=0;q=0;y=0;v=0}while(0);w=(f|0)==10;x=(z|0)!=0;j=s&(j|0)!=0;if(a[195234]|0){s=c[15715]|0;c[t>>2]=j|x^1?(j?90187:90204):w?110357:90218;z4(s,90228,t)|0}a:do if(!x){if(j){pQ(d,0);i=1}}else{k=gC(d)|0;while(1){if(!k)break a;j=UA(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Nm(u,j,z,1,0,0);r=u;s=c[r+4>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=s;j=WA(d,j)|0}k=hC(d,k)|0}}while(0);p=(i|0)==0;r=d+60|0;i=0;o=gC(d)|0;j=0;while(1){if(!o)break;s=o+16|0;e=UA(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;m=e+16|0;k=c[m>>2]|0;if(!p?(c[k+8>>2]|0)!=0:0){u=(c[s>>2]|0)+16|0;t=k+16|0;c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];c[C>>2]=c[t>>2];c[C+4>>2]=c[t+4>>2];c[C+8>>2]=c[t+8>>2];c[C+12>>2]=c[t+12>>2];Om(D,B,C);t=(c[n+16>>2]|0)+16|0;u=(c[m>>2]|0)+56|0;c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];c[C>>2]=c[u>>2];c[C+4>>2]=c[u+4>>2];c[C+8>>2]=c[u+8>>2];c[C+12>>2]=c[u+12>>2];Om(E,B,C);c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];c[C>>2]=c[E>>2];c[C+4>>2]=c[E+4>>2];c[C+8>>2]=c[E+8>>2];c[C+12>>2]=c[E+12>>2];wO(d,e,B,C)}else F=33;b:do if((F|0)==33){F=0;u=b[k+168>>1]|0;k=u<<16>>16;if(u<<16>>16){if((o|0)==(n|0)){if(!i){j=HK(96)|0;c[j+84>>2]=HK(((qB(d)|0)<<5)+11520|0)|0;i=j}Hm(i,e,c[(c[(c[r>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!x){MM(d,e,f,17832);break}k=a[195236]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(w)Pm(d,m,A,q,1);else Vm(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=WA(d,e)|0}o=hC(d,o)|0}if(x)JX(z);if(i|0){l6(c[i+84>>2]|0);l6(j)}if(v){i=0;while(1){if((i|0)>=(q|0))break;l6(c[A+(i<<2)>>2]|0);i=i+1|0}l6(y)}l=G;return 0}function Vm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;e=k+40|0;h=k+80|0;m=k+32|0;i=k+16|0;j=k;n=(c[b+16>>2]|0)+144|0;o=c[n>>2]|0;n=c[n+4>>2]|0;p=m;c[p>>2]=o;c[p+4>>2]=n;p=o;c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];n=o+(n+-1<<4)|0;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];DY(g,h);if((d[195234]|0)>1){o=c[15715]|0;m=HB(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;p=b+-48|0;n=HB(c[((c[b>>2]&3|0)==2?b:p)+40>>2]|0)|0;c[e>>2]=m;c[e+4>>2]=n;z4(o,90253,e)|0;e=p}else e=b+-48|0;bO(b,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17832);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];wO(a,b,f,g);l=k;return}function Wm(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)Xm(a)|0;if(e<<16>>16)Tm(a,e&65535)|0;return}function Xm(a){a=a|0;var b=0,d=0,e=0,f=0;d=Ym(a)|0;b=gC(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=hC(a,b)|0}return d|0}function Ym(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{Zm(a);b=1;e=c[d>>2]|0}m=(c[e+116>>2]&1|0)!=0;l=e+40|0;j=e+32|0;if(m){i=+h[j>>3];h[j>>3]=+h[l>>3];h[l>>3]=i}d=c[e+8>>2]|0;e=d+64|0;k=d+72|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[e>>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(g<1.0|f<1.0)if(g<f){i=1.0;f=f/g;break b}else{i=g/f;f=1.0;break b}else i=g;break}case 5:{f=+h[e>>3];if(f<=0.0)break a;g=f/+h[j>>3];f=+h[k>>3]/+h[l>>3];if(!(g>1.0&f>1.0))break a;f=g<f?g:f;i=f;break}case 1:{g=+h[d+16>>3];f=+h[l>>3]/+h[j>>3];if(f<g){i=1.0;f=g/f;break b}else{i=f/g;f=1.0;break b}}default:break a}while(0);g=m?i:f;f=m?f:i;c:do if((c[47180]|0)>1){d=gC(a)|0;while(1){if(!d)break c;b=UA(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)_m(b,f,g);b=WA(a,b)|0}d=hC(a,d)|0}}while(0);b=gC(a)|0;while(1){if(!b)break;m=c[(c[b+16>>2]|0)+132>>2]|0;h[m>>3]=f*+h[m>>3];m=m+8|0;h[m>>3]=g*+h[m>>3];b=hC(a,b)|0}$m(a,f,g);b=1}else b=0;while(0);return b|0}function Zm(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f/72.0;i=+h[m+8>>3];j=i/72.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=hC(b,d)|0}e=gC(b)|0;while(1){if(!e)break;d=UA(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];an(d,k)}d=WA(b,d)|0}e=hC(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];bn(b,k);l=n;return}function _m(b,d,e){b=b|0;d=+d;e=+e;var f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=c[b>>2]&3;k=c[(c[(c[((r|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=d+-1.0;s=u*+h[k>>3]*72.0;v=e+-1.0;t=v*+h[k+8>>3]*72.0;r=c[(c[(c[((r|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;u=u*+h[r>>3]*72.0;v=v*+h[r+8>>3]*72.0;r=c[b+16>>2]|0;k=c[r+8>>2]|0;l=c[k+4>>2]|0;m=l+-1|0;b=0;k=c[k>>2]|0;while(1){if((b|0)>=(l|0))break;n=c[k+4>>2]|0;o=(b|0)==(m|0);p=n+-1|0;i=0;j=c[k>>2]|0;while(1){if((i|0)>=(n|0))break;q=j+8|0;f=+h[j>>3];g=+h[q>>3];do if(i|b)if(o&(i|0)==(p|0)){h[j>>3]=s+f;f=t+g;break}else{h[j>>3]=f*d;f=g*e;break}else{h[j>>3]=u+f;f=v+g}while(0);h[q>>3]=f;i=i+1|0;j=j+16|0}if(c[k+8>>2]|0){q=k+16|0;h[q>>3]=u+ +h[q>>3];q=k+24|0;h[q>>3]=v+ +h[q>>3]}if(c[k+12>>2]|0){q=k+32|0;h[q>>3]=s+ +h[q>>3];q=k+40|0;h[q>>3]=t+ +h[q>>3]}b=b+1|0;k=k+48|0}b=c[r+96>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=+h[q>>3]*d;q=b+64|0;h[q>>3]=+h[q>>3]*e}b=c[r+100>>2]|0;if(b|0?a[b+81>>0]|0:0){q=b+56|0;h[q>>3]=s+ +h[q>>3];q=b+64|0;h[q>>3]=t+ +h[q>>3]}b=c[r+104>>2]|0;if(b|0?a[b+81>>0]|0:0){r=b+56|0;h[r>>3]=u+ +h[r>>3];r=b+64|0;h[r>>3]=v+ +h[r>>3]}return}function $m(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;$m(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function an(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function bn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];bn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function cn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;zP(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]/72.0;g=+h[b+24>>3]/72.0;b=gC(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=hC(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];dn(a,d);Wm(a,1);l=i;return}function dn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];dn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function en(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+S4();i=j+8|0;h[j>>3]=+S4();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+S4();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Et(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;n=rn(b,b,0.0)|0;o=rn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(tr(b,n,o)|0)){l6(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[p+(j<<3)>>3]+ +h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]-+h[p+(e<<3)>>3]*2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);sn(n);sn(o);return d|0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;if(c[b+8>>2]|0){e=hn(b,d)|0;i=0.0;f=0;q=0;while(1){if((q|0)>=(d|0))break;f=f+q|0;p=c[b+(q*20|0)>>2]|0;m=b+(q*20|0)+4|0;n=(S(q,d)|0)-f|0;o=b+(q*20|0)+8|0;k=1;while(1){if((k|0)>=(p|0))break;j=c[(c[m>>2]|0)+(k<<2)>>2]|0;if((j|0)>=(q|0)){j=e+(n+j<<2)|0;t=+g[(c[o>>2]|0)+(k<<2)>>2];i=i+ +F(+(+g[j>>2]-t));g[j>>2]=t}k=k+1|0}q=q+1|0}if(a[195234]|0){d=c[15715]|0;h[r>>3]=i;z4(d,90269,r)|0}}else e=0;l=s;return e|0}function hn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;j=HK(b<<2)|0;rr(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;es(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}l6(j);sr(h);l=m;return i|0}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=HK(((S(b+1|0,b)|0)/2|0)<<2)|0;k=HK(b<<2)|0;rr(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;nr(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}l6(k);sr(i);l=n;return j|0}function kn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=HK(e<<2)|0;q=HK(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;Ws(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=l+ +((c[a+(p*20|0)>>2]|0)+-1|0);g[f+(e<<2)>>2]=s-+((Vs(a,h,p,q)|0)<<1|0);e=e+1|0}Xs(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=jn(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;Ws(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Vs(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(s>l)l=+(h-((Vs(a,j,e,q)|0)<<1)|0);g[f+(i<<2)>>2]=l;i=i+1|0}Xs(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=hn(a,b)|0}l6(q);l6(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function ln(b,e,f,i,j,k,m,n,o){b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0,P=0.0;N=l;l=l+80|0;M=N+56|0;L=N+48|0;A=N+40|0;v=N+32|0;t=N+24|0;s=N+16|0;q=N+8|0;p=N;r=m&4;K=m&3;a:do if((o|0)<0)f=0;else{if(a[195234]|0)RO();m=(n|0)==2;b:do if(m){if(a[195234]|0)_3(93591,24,1,c[15715]|0)|0;f=kn(b,e)|0;x=14}else{switch(n|0){case 1:{f=fn(b,e)|0;if(f|0){J=f;break b}dA(0,93616,p)|0;dA(3,93665,q)|0;x=15;break b}case 3:break;default:{x=15;break b}}if(a[195234]|0)_3(93718,21,1,c[15715]|0)|0;f=gn(b,e)|0;x=14}while(0);if((x|0)==14)if(!f)x=15;else J=f;do if((x|0)==15){if(a[195234]|0)_3(93740,26,1,c[15715]|0)|0;if(!(c[b+8>>2]|0)){J=jn(b,e)|0;break}else{J=hn(b,e)|0;break}}while(0);if(a[195234]|0){I=c[15715]|0;h[s>>3]=+SO();z4(I,93767,s)|0;_3(93779,25,1,I)|0;RO()}c:do if((e|0)>1&(r|0)!=0)if((mn(b,e,i,k,r,K,m&1)|0)<0){v=0;t=0;f=-1;b=0;s=0;r=0;q=0;p=0;n=0;m=0}else{m=0;while(1){if((m|0)>=(k|0)){z=0;x=34;break c}n=i+(m<<2)|0;u=1.0;f=0;while(1){if((f|0)==(e|0)){f=0;break}y=+F(+(+h[(c[n>>2]|0)+(f<<3)>>3]));u=y>u?y:u;f=f+1|0}while(1){if((f|0)==(e|0)){f=0;break}I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]/u;f=f+1|0}while(1){if((f|0)==(e|0))break;y=(+S4()+-.5)*1.0e-06;I=(c[n>>2]|0)+(f<<3)|0;h[I>>3]=+h[I>>3]+y;f=f+1|0}Et(e,c[n>>2]|0);m=m+1|0}}else{z=en(0,e,k,i,j)|0;x=34}while(0);d:do if((x|0)==34){if(a[195234]|0){I=c[15715]|0;h[t>>3]=+SO();z4(I,93805,t)|0}if((e|0)==1|(o|0)==0){f=0;break a}if(a[195234]|0){I=c[15715]|0;h[v>>3]=+SO();z4(I,93767,v)|0;_3(90291,26,1,I)|0;RO()}r=k<<2;I=HK(r)|0;b=e<<2;s=S(b,k)|0;H=HK(s)|0;f=0;while(1){if((f|0)>=(k|0))break;n=H+((S(f,e)|0)<<2)|0;c[I+(f<<2)>>2]=n;p=i+(f<<2)|0;m=0;while(1){if((m|0)>=(e|0))break;g[n+(m<<2)>>2]=+h[(c[p>>2]|0)+(m<<3)>>3];m=m+1|0}f=f+1|0}G=e+-1|0;e:do if(!K){f=0;u=0.0;p=0;while(1){if((p|0)>=(G|0))break e;q=e-p|0;n=f;m=1;while(1){f=n+1|0;if((m|0)>=(q|0))break;n=f;u=u+ +g[J+(f<<2)>>2];m=m+1|0}p=p+1|0}}else u=+(e|0)*+(G|0)*.5;while(0);C=(S(e+1|0,e)|0)/2|0;D=(K|0)==2;if(D)_t(C,J);$t(C,J);E=e<<3;n=HK(E)|0;u6(n|0,0,E|0)|0;f=0;p=0;while(1){if((p|0)>=(G|0)){f=e;m=0;p=0;break}q=e-p|0;w=0.0;m=1;while(1){f=f+1|0;if((m|0)>=(q|0))break;y=+g[J+(f<<2)>>2];B=n+(m+p<<3)|0;h[B>>3]=+h[B>>3]-y;w=w+y;m=m+1|0}B=n+(p<<3)|0;h[B>>3]=+h[B>>3]-w;p=p+1|0}while(1){if((m|0)>=(e|0))break;g[J+(p<<2)>>2]=+h[n+(m<<3)>>3];B=f+p|0;f=f+-1|0;m=m+1|0;p=B}B=HK(r)|0;c[B>>2]=HK(s)|0;f=1;while(1){if((f|0)>=(k|0))break;c[B+(f<<2)>>2]=(c[B>>2]|0)+((S(f,e)|0)<<2);f=f+1|0}q=HK(b)|0;p=HK(b)|0;m=HK(C<<2)|0;if(a[195234]|0){x=c[15715]|0;h[A>>3]=+SO();z4(x,93767,A)|0;_3(90318,15,1,x)|0;RO()}x=(z|0)==0;z=c[15715]|0;f=0;r=0;y=1797693134862315708145274.0e284;while(1){if(!(r<<24>>24==0&(f|0)<(o|0)))break;u6(n|0,0,E|0)|0;if(D){au(C,J,m);v=0;b=0}else{v=0;b=0}while(1){if((v|0)>=(G|0)){r=e;s=0;b=0;break}t=e-v+-1|0;Yt(t,0.0,p);r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Yt(t,+g[(c[A>>2]|0)+(v<<2)>>2],q);Tt(t,q,-1.0,(c[A>>2]|0)+(v<<2)+4|0);_t(t,q);St(t,q,p,p);r=r+1|0}bu(t,p);r=0;while(1){if((r|0)>=(t|0))break;s=p+(r<<2)|0;w=+g[s>>2];if(w>=3402823466385288598117041.0e14|w<0.0)g[s>>2]=0.0;r=r+1|0}r=b+1|0;b=v+1|0;f:do if(D){w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=m+(r<<2)|0;O=+g[p+(s<<2)>>2]*+g[A>>2];g[A>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}else{w=0.0;s=0;while(1){if((s|0)>=(t|0))break f;O=+g[p+(s<<2)>>2];g[m+(r<<2)>>2]=O;A=n+(b+s<<3)|0;h[A>>3]=+h[A>>3]-O;w=w+O;r=r+1|0;s=s+1|0}}while(0);A=n+(v<<3)|0;h[A>>3]=+h[A>>3]-w;v=b;b=r}while(1){if((s|0)>=(e|0)){r=0;break}g[m+(b<<2)>>2]=+h[n+(s<<3)>>3];A=r+b|0;r=r+-1|0;s=s+1|0;b=A}while(1){if((r|0)>=(k|0)){w=0.0;r=0;break}Qt(m,e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(k|0))break;w=w+ +Wt(e,c[I+(r<<2)>>2]|0,c[B+(r<<2)>>2]|0);r=r+1|0}w=u+w*2.0;r=0;while(1){if((r|0)>=(k|0))break;A=I+(r<<2)|0;Qt(J,e,c[A>>2]|0,q);w=w-+Wt(e,c[A>>2]|0,q);r=r+1|0}P=y-w;O=+h[23315];r=(w<O?1:(P>=0.0?P:-P)/y<O)&1;b=0;while(1){if((b|0)>=(k|0))break;t=I+(b<<2)|0;s=c[t>>2]|0;g:do if(x){if((xr(J,s,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}}else{Vt(e,s,q);if((xr(J,q,c[B+(b<<2)>>2]|0,e,.001,e)|0)<0){v=B;t=J;f=-1;b=H;s=I;r=B;break d}else s=0;while(1){if((s|0)>=(e|0))break g;if((d[(c[(c[j+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[q+(s<<2)>>2];s=s+1|0}}while(0);b=b+1|0}if(((f|0)%5|0|0)==0&(a[195234]|0)!=0?(h[L>>3]=w,z4(z,90672,L)|0,((f+5|0)%50|0|0)==0):0)W5(10,z)|0;f=f+1|0;y=w}if(!(a[195234]|0))r=0;else{O=+nn(I,J,k,e,K);P=+SO();h[M>>3]=O;c[M+8>>2]=f;h[M+16>>3]=P;z4(z,90334,M)|0;r=0}while(1){if((r|0)>=(k|0)){v=B;t=J;b=H;s=I;r=B;break d}b=I+(r<<2)|0;t=i+(r<<2)|0;s=0;while(1){if((s|0)>=(e|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[b>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}}while(0);l6(b);l6(s);l6(t);if(v|0){l6(c[v>>2]|0);l6(r)}l6(q);l6(p);l6(n);l6(m)}while(0);l=N;return f|0}function mn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+32|0;o=Q+24|0;P=Q+8|0;H=Q+4|0;N=Q;M=(d|0)<50?d:50;O=IK(M<<2)|0;G=d<<3;n=IK(S(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[O+(m<<2)>>2]=n+((S(m,d)|0)<<3);m=m+1|0}D=M<<1;D=(D|0)>50?D:50;D=(D|0)>(d|0)?d:D;c[o>>2]=0;os(b,d,D,o,k);ps(c[o>>2]|0,d,D);ju(c[o>>2]|0,D,d,O,M);l6(c[c[o>>2]>>2]|0);l6(c[o>>2]|0);D=d<<2;L=IK(D)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}rr(P,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)at(b,d);B=IK(D)|0;K=IK(160)|0;n=IK(d*160|0)|0;C=IK(160)|0;m=0;while(1){if((m|0)==40)break;c[C+(m<<2)>>2]=n+((S(m,d)|0)<<2);m=m+1|0}m=(U4()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[C>>2]|0;if(I){_r(m,b,d,n);n=0;o=0}else{nr(m,b,d,n,P);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}E=c[(c[C>>2]|0)+(o<<2)>>2]|0;c[B+(o<<2)>>2]=E;A=(E|0)>(n|0);m=A?o:m;n=A?E:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=C+(r<<2)|0;n=c[t>>2]|0;if(I){_r(m,b,d,n);q=0;n=0}else{nr(m,b,d,n,P);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=B+(q<<2)|0;E=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(E|0)<(k|0)?E:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((U4()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[B+(m<<2)>>2]=-1;m=m+1|0}w=IK(D)|0;E=IK(d<<4)|0;x=d+-1|0;y=x<<2;A=0;k=0;o=0;n=0;v=0;while(1){if((v|0)>=(d|0))break;m=L+(v<<2)|0;z=v+1|0;a:do if((c[m>>2]|0)>-1){r=E+(v<<4)+4|0;c[r>>2]=IK(y)|0;t=IK(y)|0;c[E+(v<<4)+8>>2]=t;c[E+(v<<4)>>2]=x;a[E+(v<<4)+12>>0]=1;q=C+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(v|0)){m=z;break}c[(c[r>>2]|0)+(m<<2)>>2]=m;c[t+(m<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){if((m|0)==(d|0)){m=x;break a}v=m+-1|0;c[(c[r>>2]|0)+(v<<2)>>2]=m;c[t+(v<<2)>>2]=c[(c[q>>2]|0)+(m<<2)>>2];m=m+1|0}}else{if((n|0)<40){o=IK(D)|0;k=IK(D)|0;n=d;m=1}else m=0;a[E+(v<<4)+12>>0]=m;c[E+(v<<4)+4>>2]=o;c[E+(v<<4)+8>>2]=k;c[E+(v<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[o+(m<<2)>>2]=c[K+(m<<2)>>2];c[k+(m<<2)>>2]=c[(c[C+(m<<2)>>2]|0)+(v<<2)>>2];m=m+1|0}k=k+160|0;o=o+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;v=z}l6(B);l6(w);if(C|0){l6(c[C>>2]|0);l6(C)}C=IK(d*20|0)|0;q=A+d<<2;r=IK(q)|0;v=(j|0)==2;q=IK(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[C+(t*20|0)+4>>2]=r;c[C+(t*20|0)+8>>2]=q;m=(c[E+(t<<4)>>2]|0)+1|0;w=C+(t*20|0)|0;c[w>>2]=m;o=(c[E+(t<<4)+8>>2]|0)+-4|0;k=E+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;D=c[w>>2]|0;q=q+(D<<2)|0;r=r+(D<<2)|0;t=t+1|0}B=IK(f<<2)|0;c[B>>2]=IK(S(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[B+(m<<2)>>2]=(c[B>>2]|0)+((S(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=B+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[B+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[B>>2]>>3]=1.0;m=B+4|0;if(!((ku(O,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=B+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(U4()|0)/2147483647.0;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ot(O,d,M,c[B+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Dt(C,O,d,M,H);Bt(O,c[H>>2]|0,M,d,M,N);l6(c[c[H>>2]>>2]|0);l6(c[H>>2]|0);z=IK(G)|0;A=IK(M<<3)|0;m=0;n=0;p=+on(e,E,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[E+(o<<4)+8>>2]|0)+-4|0;t=c[C+(o*20|0)+4>>2]|0;v=c[C+(o*20|0)+8>>2]|0;w=C+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+ct(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(m<<3)>>3]*u;s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+s*+h[(c[y>>2]|0)+(o<<3)>>3];o=o+1|0}At(O,M,d,z,A);m=B+(x<<2)|0;if(wr(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ot(O,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+on(e,E,f,d,j);p=+F(+(u-p))/(u+1.0e-10);m=p<+h[23315]&1;p=u}else m=0;n=n+1|0}l6(A);l6(z);if(I){bt(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[E+(m<<4)+12>>0]|0){l6(c[E+(m<<4)+4>>2]|0);l6(c[E+(m<<4)+8>>2]|0)}m=m+1|0}l6(E);l6(c[C+4>>2]|0);l6(c[C+8>>2]|0);l6(C);l6(L);l6(K);l6(c[B>>2]|0);l6(B);m=c[N>>2]|0;if(m|0){l6(c[m>>2]|0);l6(c[N>>2]|0)}l6(c[O>>2]|0);l6(O);sr(P);l=Q;return n|0}function nn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+G(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+G(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=h+l*i}m=m+1|0}return +h}function on(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/(p*p)}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=i+p*p;f=f+1|0}i=+G(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=g+i*i/p}k=k+1|0}l=l+1|0}}while(0);return +g}function pn(a){a=+a;a=+G(+a);return +(a*(a*a))}function qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=e+i*i;f=f+1|0}return +(+G(+e))}function rn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=HK(a<<2)|0;f=0;g=HK(S(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function sn(a){a=a|0;if(a|0){l6(c[a>>2]|0);l6(a)}return}function tn(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0;o=l;l=l+16|0;f=o;k=o+8|0;if(a[195234]|0){n=c[15715]|0;j=HB(b)|0;m=qB(b)|0;c[f>>2]=j;c[f+4>>2]=m;z4(n,90372,f)|0}a:do if(a[195235]|0){i=b+60|0;f=gC(b)|0;b:while(1){if(!f)break a;j=hC(b,f)|0;switch(un(b,f,k)|0){case 0:{tC(c[i>>2]|0,f)|0;f=j;continue b}case 1:{tC(c[i>>2]|0,f)|0;f=vn(b,c[k>>2]|0,j)|0;continue b}default:{f=j;continue b}}}}while(0);n=qB(b)|0;m=rB(b)|0;k=DA(b,2,92794,0)|0;g=+(n|0);c:do if(!d){h[23315]=g*.0001;nK(b,109187,186520);f=NA(c[b+60>>2]|0,90401)|0;if(!f)e=.99;else e=+a6(f);h[23317]=e;f=HK((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=f;f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[(c[j>>2]|0)+152>>2]|0)+(f<<2)>>2]=i;q=c[i+16>>2]|0;c[q+120>>2]=f;c[q+124>>2]=-1;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}else{h[23315]=.0001;nK(b,109187,186520);f=0;e=0.0;i=gC(b)|0;while(1){if(!i)break c;c[(c[i+16>>2]|0)+120>>2]=f;p=e+ +wn(b,i,k);f=f+1|0;e=p;i=hC(b,i)|0}}while(0);f=NA(b,90409)|0;if((f|0)!=0?(a[f>>0]|0)!=0:0){e=+h[23315];g=+a6(f);if(!(e>g))e=g}else e=e/+(((m|0)>1?m:1)|0)*+G(+g)+1.0;h[23316]=e;if(!(c[47180]|d)){d=rn(n,n,e)|0;q=b+16|0;c[(c[q>>2]|0)+160>>2]=d;d=rn(n,n,1.0)|0;c[(c[q>>2]|0)+164>>2]=d;d=rn(n,c[47184]|0,1.0)|0;c[(c[q>>2]|0)+168>>2]=d;d=xn(n,n,c[47184]|0)|0;c[(c[q>>2]|0)+172>>2]=d}l=o;return n|0}function un(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=ZA(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=_A(a,j,b)|0}return e|0}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(un(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=hC(a,d)|0;tC(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function wn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=UA(a,b)|0;e=0.0;while(1){if(!b)break;switch(yn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=HB(a)|0;h[i+8>>3]=1.0;dA(3,90421,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=WA(a,b)|0;e=e+f}l=k;return +e}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=HK((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=HK(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=HK(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function yn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=OA(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((q4(f,101510,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[47180]|0)!=0:0){b=0;break}c[j>>2]=f;dA(0,90448,j)|0;b=2}else b=1;while(0);l=k;return b|0}function zn(a){a=a|0;return tn(a,0)|0}function An(a){a=a|0;a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);if(!(c[47180]|0)){sn(c[(c[a>>2]|0)+160>>2]|0);sn(c[(c[a>>2]|0)+164>>2]|0);sn(c[(c[a>>2]|0)+168>>2]|0);Bn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Bn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;l6(d);e=e+1|0;b=c[g>>2]|0}l6(b);f=f+1|0}l6(a)}return}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[47184]|0))break;f=e*+S4();h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function Dn(a,b){a=a|0;b=b|0;Cn(a,b,2);return}function En(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=e*+S4();d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=e*+S4();h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[47184]|0)>2)Dn(a,b);return}function Fn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(a[195234]|0)_3(90466,26,1,c[15715]|0)|0;d=km(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46839]|d)){dA(0,90493,e)|0;c[46839]=1}b=b+16|0;d=0;while(1){e=c[(c[(c[b>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!e)break a;if(!(a[(c[e+16>>2]|0)+119>>0]|0))En(e,1);d=d+1|0}}while(0);l=f;return}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+96|0;q=r+80|0;o=r;if(a[195234]|0){_3(90542,25,1,c[15715]|0)|0;RO()}p=b+16|0;i=c[p>>2]|0;m=c[i+164>>2]|0;i=c[i+160>>2]|0;n=0;while(1){if((n|0)>=(d|0))break;j=i+(n<<2)|0;k=m+(n<<2)|0;f=0;while(1){if((f|0)==(n|0))break;g=+h[(c[j>>2]|0)+(f<<3)>>3];g=1.0/(g*g);e=c[(c[p>>2]|0)+152>>2]|0;e=fB(b,c[e+(n<<2)>>2]|0,c[e+(f<<2)>>2]|0,0,0)|0;if(e)g=g*+h[(c[e+16>>2]|0)+128>>3];h[(c[m+(f<<2)>>2]|0)+(n<<3)>>3]=g;h[(c[k>>2]|0)+(f<<3)>>3]=g;f=f+1|0}n=n+1|0}b=c[47184]|0;f=0;while(1){if((f|0)<(d|0))e=0;else break;while(1){if((e|0)>=(b|0))break;h[(c[(c[(c[p>>2]|0)+168>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}j=0;while(1){e=c[(c[(c[p>>2]|0)+152>>2]|0)+(j<<2)>>2]|0;if(!e)break;b=e+16|0;e=0;while(1){if((e|0)>=(d|0))break;a:do if((j|0)!=(e|0)){g=+qn(c[(c[b>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[p>>2]|0)+152>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+132>>2]|0,o);i=c[47184]|0;f=0;while(1){if((f|0)>=(i|0))break a;n=c[p>>2]|0;s=+h[o+(f<<3)>>3];s=+h[(c[(c[n+164>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]*(s-s*+h[(c[(c[n+160>>2]|0)+(j<<2)>>2]|0)+(e<<3)>>3]/g);h[(c[(c[(c[n+172>>2]|0)+(j<<2)>>2]|0)+(e<<2)>>2]|0)+(f<<3)>>3]=s;n=(c[(c[n+168>>2]|0)+(j<<2)>>2]|0)+(f<<3)|0;h[n>>3]=s+ +h[n>>3];f=f+1|0}}while(0);e=e+1|0}j=j+1|0}if(a[195234]|0){p=c[15715]|0;h[q>>3]=+SO();z4(p,90568,q)|0}l=r;return}function Hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0;j=l;l=l+32|0;i=j+24|0;g=j+8|0;f=j;k=+h[23315];h[23235]=k*k;while(1){e=In(b,d)|0;if(!e)break;Jn(b,d,e)}if(!(a[195234]|0))d=b+16|0;else{e=c[15715]|0;h[f>>3]=+Kn(b,d);z4(e,90578,f)|0;d=b+16|0;m=c[(c[d>>2]|0)+156>>2]|0;f=(m|0)==(c[47183]|0)?90592:195341;k=+SO();c[g>>2]=m;c[g+4>>2]=f;h[g+8>>3]=k;z4(e,90594,g)|0}d=c[(c[d>>2]|0)+156>>2]|0;if((d|0)==(c[47183]|0)){m=HB(b)|0;c[i>>2]=d;c[i+4>>2]=m;dA(0,90621,i)|0}l=j;return}function In(b,e){b=b|0;e=e|0;var f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+16|0;r=s;p=(c[46841]|0)+1|0;c[46841]=p;b=c[b+16>>2]|0;if((c[b+156>>2]|0)<(c[47183]|0)){n=b+152|0;o=c[47184]|0;m=b+168|0;b=0;f=0.0;k=0;while(1){if((k|0)>=(e|0))break;i=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((d[(c[i+16>>2]|0)+119>>0]|0)<=1){j=0.0;g=0;while(1){if((g|0)>=(o|0))break;t=+h[(c[(c[m>>2]|0)+(k<<2)>>2]|0)+(g<<3)>>3];j=j+t*t;g=g+1|0}if(j>f){b=i;f=j}}k=k+1|0}if(!(f<+h[23235])){if((a[195234]|0)!=0&((p|0)%100|0|0)==0?(q=c[15715]|0,h[r>>3]=+G(+f),z4(q,90672,r)|0,((c[46841]|0)%1e3|0|0)==0):0)W5(10,q)|0}else b=0}else b=0;l=s;return b|0}function Jn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46840]|0;if(!f){g=c[47184]|0;g=IK(S(g<<3,g)|0)|0}else{g=c[47184]|0;g=KK(f,S(g<<3,g)|0)|0}c[46840]=g;Ln(a,b,m,g);i=c[47184]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[185888+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Uu(g,185968,185888,i);f=0;while(1){if((f|0)>=(c[47184]|0))break;e=+h[23317];e=e+ +S4()*((1.0-e)*2.0);i=185968+(f<<3)|0;e=+h[i>>3]*e;h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=e+ +h[i>>3];f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Mn(a,b,m);if(pP()|0){g=c[47184]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=e+ +F(+(+h[185968+(f<<3)>>3]));f=f+1|0}e=+G(+e);m=c[15715]|0;c[n>>2]=HB(d)|0;h[n+8>>3]=e;z4(m,90663,n)|0}l=o;return}function Kn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[47184]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=e+r*r}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=d+ +h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]*(e+r*r-r*2.0*+G(+e));i=i+1|0;d=r}}return +d}function Ln(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[47184]|0;a=0;while(1){if((a|0)>=(g|0))break;i=S(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(f+i<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[47184]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=r+q*q;a=a+1|0}n=1.0/+pn(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((S(a,u)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+n*(p*q*o*+h[w+(a<<3)>>3]);a=a+1|0}m=e+((S(u,i)|0)+i<<3)|0;h[m>>3]=p*(1.0-n*(q*(r-o*o)))+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[47184]|0;i=1;while(1){if((i|0)>=(f|0))break;g=S(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(a+g<<3)>>3]=+h[e+((S(a,f)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[47184]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+qn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[47184]|0;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*(o-o*+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]/i);h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Nn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46842]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function On(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46843]|0;k=c[46842]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Pn(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)Aa(90678,90698,643,90706);d=c[46843]|0;c[46843]=d+1;c[b>>2]=d;c[(c[46842]|0)+(d<<2)>>2]=a;if((d|0)>0)Nn(a);return}function Qn(){var a=0,b=0,d=0,e=0;b=c[46843]|0;if(!b)a=0;else{e=c[46842]|0;a=c[e>>2]|0;d=b+-1|0;c[46843]=d;b=c[e+(d<<2)>>2]|0;c[e>>2]=b;c[(c[b+16>>2]|0)+124>>2]=0;if((d|0)>1)On(b);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Rn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[46842]=HK((d<<2)+4|0)|0;if(a[195234]|0){_3(90720,28,1,c[15715]|0)|0;RO()}d=gC(b)|0;while(1){if(!d)break;Sn(b,d);d=hC(b,d)|0}if(a[195234]|0){b=c[15715]|0;h[e>>3]=+SO();z4(b,90568,e)|0}l6(c[46842]|0);l=f;return}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[23316];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46844]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Pn(b);a:while(1){j=Qn()|0;if(!j)break;d=c[46844]|0;k=j+16|0;if((j|0)!=(d|0))Tn(a,d,j,+h[(c[k>>2]|0)+136>>3]);i=ZA(a,j)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(j|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[k>>2]|0;f=+h[d+136>>3]+ +h[(c[i+16>>2]|0)+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Nn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Pn(b);break}}while(0);i=_A(a,i,j)|0}}return}function Tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Un(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Vn(a);return}function Vn(a){a=a|0;var b=0,d=0,e=0,f=0;b=qB(a)|0;e=HK(b*56|0)|0;b=HK((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Wn(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Wn(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Xn(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(qB(b)|0){Un(b);f=NA(b,96039)|0;if(f)if(a[f>>0]|0){d=qC(b,f,0)|0;if(!d){c[g>>2]=f;dA(0,90749,g)|0;dA(3,90789,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=DA(b,1,96039,0)|0;o=(n|0)!=0;f=NA(b,141045)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(q4(f,105804,m)|0)==1):0)h[k>>3]=+h[j>>3];if(qB(b)|0){m=BG(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=Yn(b,n)|0,e|0):0)break;e=0}while(0);f=Wu(b,e)|0;if(!((e|0)!=0|o^1))HA(f,n,137699)|0;r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;lr(b)|0;cn(b);d=(s|0)==0|g?d:f}else{iH(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(EC(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=Yn(g,n)|0,q|0):0){f=q;break}f=0}while(0);IG(g)|0;i=Wu(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)HA(i,n,137699)|0;lr(g)|0;j=j+1|0}r=(gC(b)|0)+16|0;l6(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;hH(c[t>>2]|0,m,b,p)|0;cn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;tC(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}l6(m)}if(s|0)PA(b,96039,HB(d)|0)|0;rM(b)}l=u;return}function Yn(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c){c=0;break}if((bP(OA(c,b)|0)|0)<<24>>24)break;c=hC(a,c)|0}return c|0}function Zn(a){a=a|0;var b=0,c=0;b=gC(a)|0;if(b|0){while(1){if(!b)break;c=UA(a,b)|0;while(1){if(!c)break;WP(c);c=WA(a,c)|0}UP(b);b=hC(a,b)|0}_n(a)}return}function _n(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function $n(a){a=a|0;ao(a);if(!((qB(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){kv(a);rM(a)}return}function ao(a){a=a|0;c[47201]=DA(a,1,108531,108537)|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;bo(a,0);co(a);return}function bo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){go(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;ho(b,d);bo(d,0)}else bo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function co(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;RC(b,137750,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;eo(b);e=UA(a,b)|0;while(1){if(!e)break;fo(e);e=WA(a,e)|0}b=hC(a,b)|0;d=d+1|0}return}function eo(a){a=a|0;PA(a,108531,108537)|0;return}function fo(a){a=a|0;RC(a,137763,304,1)|0;return}function go(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function io(a){a=a|0;var b=0,d=0;b=gC(a)|0;if(b|0){l6(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}jo(a)}return}function jo(a){a=a|0;l6(c[(c[a+16>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786);return}function ko(a){a=a|0;var d=0,e=0,f=0;lo(a);mo(a,0);no(a,0);oo(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Tm(a,d&65535)|0}else{d=gC(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]/72.0;h[e+8>>3]=+h[f+24>>3]/72.0;d=hC(a,d)|0}Wm(a,1)}rM(a);return}function lo(a){a=a|0;var d=0,e=0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;d=gC(a)|0;while(1){if(!d)break;Wl(d);d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;RC(d,137763,176,1)|0;rP(d)|0;d=WA(a,d)|0}e=hC(a,e)|0}return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){to(g);b=g}d=MD(a)|0;while(1){if(!d)break;if(!(h2(HB(d)|0,108307,7)|0)){RC(d,137786,280,1)|0;sK(d);uo(b,d);mo(d,0)}else mo(d,b);d=ND(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=KK(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function no(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;T=l;l=l+448|0;J=T+400|0;I=T+384|0;S=T+344|0;R=T+320|0;Q=T+248|0;G=T+208|0;A=T+152|0;B=T+96|0;p=T+88|0;e=T+64|0;L=T+32|0;M=T;E=T+416|0;u=T+304|0;z=T+288|0;N=T+192|0;O=T+176|0;P=T+136|0;K=T+72|0;o=c[a+60>>2]|0;if((d[195234]|0)>1){po(b);H=c[15715]|0;c[e>>2]=HB(a)|0;z4(H,91024,e)|0}H=a+16|0;g=b+1|0;e=1;f=0;while(1){i=c[H>>2]|0;if((e|0)>(c[i+180>>2]|0))break;F=c[(c[i+184>>2]|0)+(e<<2)>>2]|0;no(F,g);e=e+1|0;f=(qB(F)|0)+f|0}r=(qB(a)|0)-f|0;e=c[H>>2]|0;F=(c[e+180>>2]|0)+r|0;v=(F|0)==0;if(v?(c[e+12>>2]|0)==0:0){S=e+16|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;h[e+40>>3]=18.0;h[e+32>>3]=18.0}else{e=E+16|0;do if((iH(a,4,4,E)|0)>>>0>=3)if((c[e>>2]|0)==4?(c[E+28>>2]&2|0)!=0:0){f=DA(o,0,99491,0)|0;e=DA(o,1,99491,0)|0;if((f|0)!=0|(e|0)!=0){c[E+24>>2]=HK(F<<2)|0;break}else{c[p>>2]=HB(a)|0;dA(0,90878,p)|0;e=0;f=0;break}}else{e=0;f=0}else{c[e>>2]=3;e=0;f=0}while(0);C=HK(F<<5)|0;D=HK(F<<2)|0;s=E+24|0;o=(f|0)!=0;q=0;i=1;while(1){g=c[H>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=c[(c[g+184>>2]|0)+(i<<2)>>2]|0;y=C+(q<<5)|0;x=(c[g+16>>2]|0)+16|0;c[y>>2]=c[x>>2];c[y+4>>2]=c[x+4>>2];c[y+8>>2]=c[x+8>>2];c[y+12>>2]=c[x+12>>2];c[y+16>>2]=c[x+16>>2];c[y+20>>2]=c[x+20>>2];c[y+24>>2]=c[x+24>>2];c[y+28>>2]=c[x+28>>2];if(o&(c[s>>2]|0)!=0){y=XO(g,f,0,0)|0;c[(c[s>>2]|0)+(q<<2)>>2]=y}c[D+(q<<2)>>2]=g;q=q+1|0;i=i+1|0}w=L+16|0;x=L+8|0;y=L+24|0;a:do if((r|0)>0){p=(e|0)!=0;o=gC(a)|0;f=q;while(1){if(!o)break a;g=c[o+16>>2]|0;i=g+112|0;if(!(c[i>>2]|0)){c[i>>2]=a;c[L>>2]=0;c[L+4>>2]=0;c[L+8>>2]=0;c[L+12>>2]=0;h[w>>3]=+h[g+88>>3]+ +h[g+96>>3];h[y>>3]=+h[g+80>>3];t=C+(f<<5)|0;c[t>>2]=c[L>>2];c[t+4>>2]=c[L+4>>2];c[t+8>>2]=c[L+8>>2];c[t+12>>2]=c[L+12>>2];c[t+16>>2]=c[L+16>>2];c[t+20>>2]=c[L+20>>2];c[t+24>>2]=c[L+24>>2];c[t+28>>2]=c[L+28>>2];if(p&(c[s>>2]|0)!=0){t=XO(o,e,0,0)|0;c[(c[s>>2]|0)+(f<<2)>>2]=t}c[D+(f<<2)>>2]=o;f=f+1|0}o=hC(a,o)|0}}while(0);t=bH(F,C,E)|0;e=c[s>>2]|0;if(e|0)l6(e);qo(M,2147483647.0,2147483647.0);r=M+16|0;qo(u,-2147483647.0,-2147483647.0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];o=M+24|0;p=M+8|0;q=c[15715]|0;e=0;while(1){i=c[H>>2]|0;if((e|0)>=(F|0))break;k=+(c[t+(e<<3)>>2]|0);n=+(c[t+(e<<3)+4>>2]|0);f=C+(e<<5)|0;c[L>>2]=c[f>>2];c[L+4>>2]=c[f+4>>2];c[L+8>>2]=c[f+8>>2];c[L+12>>2]=c[f+12>>2];c[L+16>>2]=c[f+16>>2];c[L+20>>2]=c[f+20>>2];c[L+24>>2]=c[f+24>>2];c[L+28>>2]=c[f+28>>2];j=k+ +h[L>>3];h[L>>3]=j;k=k+ +h[w>>3];h[w>>3]=k;m=n+ +h[x>>3];h[x>>3]=m;n=n+ +h[y>>3];h[y>>3]=n;h[M>>3]=+h[(+h[M>>3]<j?M:L)>>3];h[p>>3]=+h[(+h[p>>3]<m?M:L)+8>>3];h[r>>3]=+h[(+h[r>>3]>k?M:L)+16>>3];h[o>>3]=+h[(+h[o>>3]>n?M:L)+24>>3];f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[i+180>>2]|0)){u=(c[g>>2]|0)+16|0;c[u>>2]=c[L>>2];c[u+4>>2]=c[L+4>>2];c[u+8>>2]=c[L+8>>2];c[u+12>>2]=c[L+12>>2];c[u+16>>2]=c[L+16>>2];c[u+20>>2]=c[L+20>>2];c[u+24>>2]=c[L+24>>2];c[u+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);c[B>>2]=HB(f)|0;h[B+8>>3]=j;h[B+16>>3]=m;h[B+24>>3]=k;h[B+32>>3]=n;z4(q,90857,B)|0}}else{u=(c[g>>2]|0)+16|0;c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];ro(z,I,J);c[u>>2]=c[z>>2];c[u+4>>2]=c[z+4>>2];c[u+8>>2]=c[z+8>>2];c[u+12>>2]=c[z+12>>2];if((d[195234]|0)>1){po(b);u=HB(f)|0;s=c[g>>2]|0;m=+h[s+16>>3];n=+h[s+24>>3];c[A>>2]=u;h[A+8>>3]=m;h[A+16>>3]=n;z4(q,90845,A)|0}}e=e+1|0}e=c[i+12>>2]|0;if(e|0){j=+h[e+24>>3];if(v){k=+h[e+32>>3];c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;h[r>>3]=j;h[o>>3]=k;k=j;m=0.0}else{k=+h[r>>3];m=+h[M>>3]}n=j-(k-m);j=n*.5;if(n>0.0){h[M>>3]=m-j;h[r>>3]=k+j}}if((b|0)>0)j=+((c[E+8>>2]|0)>>>0)*.5;else j=0.0;k=+h[M>>3]-j;h[M>>3]=k;m=j+ +h[r>>3];h[r>>3]=m;n=+h[p>>3]-(j+ +h[i+56>>3]);h[p>>3]=n;j=+h[o>>3]+(j+ +h[i+88>>3]);h[o>>3]=j;if((d[195234]|0)>1){po(b);c[G>>2]=HB(a)|0;h[G+8>>3]=k;h[G+16>>3]=n;h[G+24>>3]=m;h[G+32>>3]=j;z4(q,90857,G)|0}e=0;while(1){if((e|0)>=(F|0))break;f=c[D+(e<<2)>>2]|0;g=f+16|0;if((e|0)<(c[(c[H>>2]|0)+180>>2]|0)){G=(c[g>>2]|0)+16|0;c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];c[L+16>>2]=c[G+16>>2];c[L+20>>2]=c[G+20>>2];c[L+24>>2]=c[G+24>>2];c[L+28>>2]=c[G+28>>2];c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(L,I,J);c[I>>2]=c[w>>2];c[I+4>>2]=c[w+4>>2];c[I+8>>2]=c[w+8>>2];c[I+12>>2]=c[w+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(N,I,J);c[w>>2]=c[N>>2];c[w+4>>2]=c[N+4>>2];c[w+8>>2]=c[N+8>>2];c[w+12>>2]=c[N+12>>2];G=(c[g>>2]|0)+16|0;c[G>>2]=c[L>>2];c[G+4>>2]=c[L+4>>2];c[G+8>>2]=c[L+8>>2];c[G+12>>2]=c[L+12>>2];c[G+16>>2]=c[L+16>>2];c[G+20>>2]=c[L+20>>2];c[G+24>>2]=c[L+24>>2];c[G+28>>2]=c[L+28>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;j=+h[L>>3];k=+h[x>>3];m=+h[w>>3];n=+h[y>>3];c[Q>>2]=G;h[Q+8>>3]=j;h[Q+16>>3]=k;h[Q+24>>3]=m;h[Q+32>>3]=n;z4(q,90857,Q)|0}}else{G=(c[g>>2]|0)+16|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(O,I,J);c[G>>2]=c[O>>2];c[G+4>>2]=c[O+4>>2];c[G+8>>2]=c[O+8>>2];c[G+12>>2]=c[O+12>>2];if((d[195234]|0)>1){po(b);G=HB(f)|0;E=c[g>>2]|0;m=+h[E+16>>3];n=+h[E+24>>3];c[R>>2]=G;h[R+8>>3]=m;h[R+16>>3]=n;z4(q,90845,R)|0}}e=e+1|0}c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(P,I,J);c[r>>2]=c[P>>2];c[r+4>>2]=c[P+4>>2];c[r+8>>2]=c[P+8>>2];c[r+12>>2]=c[P+12>>2];c[I>>2]=c[M>>2];c[I+4>>2]=c[M+4>>2];c[I+8>>2]=c[M+8>>2];c[I+12>>2]=c[M+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];so(K,I,J);c[M>>2]=c[K>>2];c[M+4>>2]=c[K+4>>2];c[M+8>>2]=c[K+8>>2];c[M+12>>2]=c[K+12>>2];R=(c[H>>2]|0)+16|0;c[R>>2]=c[M>>2];c[R+4>>2]=c[M+4>>2];c[R+8>>2]=c[M+8>>2];c[R+12>>2]=c[M+12>>2];c[R+16>>2]=c[M+16>>2];c[R+20>>2]=c[M+20>>2];c[R+24>>2]=c[M+24>>2];c[R+28>>2]=c[M+28>>2];if((d[195234]|0)>1){po(b);R=HB(a)|0;j=+h[M>>3];k=+h[p>>3];m=+h[r>>3];n=+h[o>>3];c[S>>2]=R;h[S+8>>3]=j;h[S+16>>3]=k;h[S+24>>3]=m;h[S+32>>3]=n;z4(q,90857,S)|0}l6(C);l6(D);l6(t)}l=T;return}function oo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+32|0;j=u+8|0;e=u;s=a+16|0;p=c[s>>2]|0;q=+h[p+16>>3];r=+h[p+24>>3];if((d[195234]|0)>1){po(b);p=c[15715]|0;c[e>>2]=HB(a)|0;z4(p,90830,e)|0}p=(b|0)!=0;a:do if(p){e=gC(a)|0;f=c[15715]|0;while(1){if(!e)break a;g=e+16|0;i=c[g>>2]|0;if((c[i+112>>2]|0)==(a|0)?(v=i+16|0,h[v>>3]=q+ +h[v>>3],i=i+24|0,h[i>>3]=r+ +h[i>>3],(d[195234]|0)>1):0){po(b);v=HB(e)|0;i=c[g>>2]|0;n=+h[i+16>>3];o=+h[i+24>>3];c[j>>2]=v;h[j+8>>3]=n;h[j+16>>3]=o;z4(f,90845,j)|0}e=hC(a,e)|0}}else f=c[15715]|0;while(0);j=b+1|0;a=1;while(1){e=c[s>>2]|0;if((a|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;if(p){g=i+16|0;e=c[g>>2]|0;k=q+ +h[e+16>>3];m=r+ +h[e+24>>3];n=q+ +h[e+32>>3];o=r+ +h[e+40>>3];if((d[195234]|0)>1){po(b);c[t>>2]=HB(i)|0;h[t+8>>3]=k;h[t+16>>3]=m;h[t+24>>3]=n;h[t+32>>3]=o;z4(f,90857,t)|0;e=c[g>>2]|0}h[e+16>>3]=k;h[e+24>>3]=m;h[e+32>>3]=n;h[e+40>>3]=o}oo(i,j);a=a+1|0}l=u;return}function po(a){a=a|0;var b=0;b=c[15715]|0;while(1){if((a|0)<=0)break;Z3(90875,b)|0;a=a+-1|0}return}function qo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function ro(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function so(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function to(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function uo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function vo(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;UP(b);b=hC(a,b)|0}wo(a);return}function wo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;AK(c[(c[e+16>>2]|0)+12>>2]|0);wo(e);a=a+1|0}l6(d);return}function xo(a){a=a|0;var b=0,d=0,e=0;WC(a,1,137750,304,1);FP(a)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=gC(a)|0;while(1){if(!d)break;yo(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=hC(a,d)|0}e=DA(a,2,92794,0)|0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;zo(b,e);b=WA(a,b)|0}d=hC(a,d)|0}Ao(a);return}function yo(a){a=a|0;var b=0;qP(a);b=HK((e[(c[(uC(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;oQ(a,c[(c[(uC(a)|0)+16>>2]|0)+116>>2]&1);return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0.0;RC(a,137763,176,1)|0;e=+YO(a,c[47236]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+YO(a,b,+h[(c[5180]|0)+32>>3],0.0);h[(c[d>>2]|0)+136>>3]=e;rP(a)|0;return}function Ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=DA(b,1,102924,0)|0;a:do if(n|0){o=DA(b,1,90961,0)|0;i=b+16|0;j=(o|0)==0;k=c[15715]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=OA(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((q4(b,102050,p)|0)<=1){c[q>>2]=HB(e)|0;c[q+4>>2]=b;z4(k,90965,q)|0;break}b:do if(+h[23314]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[23314];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((bP(OA(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Bo(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}Co(a);return}function Co(a){a=a|0;Do(a);a=a+16|0;l6(c[(c[a>>2]|0)+152>>2]|0);l6(c[(c[a>>2]|0)+140>>2]|0);return}function Do(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;AK(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){l6(c[d>>2]|0);l6(c[(c[b>>2]|0)+140>>2]|0)}Do(e);f=f+1|0}l6(b);if((vC(a)|0)!=(a|0))TC(a,137786)|0;return}function Eo(a,b){a=a|0;b=b|0;c[b+4>>2]=DA(a,0,91017,0)|0;c[b+8>>2]=DA(a,0,141419,0)|0;c[b+12>>2]=DA(a,0,141351,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=iH(a,2,4,b+20|0)|0;return}function Fo(a){a=a|0;var d=0,e=0;mQ(a,2);d=HK(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(XO(a,DA(a,0,91675,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[47184]=d&65535;Go(a,0,a);cp(a);xo(a);return}function Go(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Ho(j);d=j}g=e+16|0;f=MD(a)|0;while(1){if(!f)break;if(!(h2(HB(f)|0,108307,7)|0)){RC(f,137786,280,1)|0;n=HK(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;Io(d,f);Go(f,0,f)}else Go(f,d,e);f=ND(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=KK(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Ho(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=KK(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Jo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Eo(a,c);Ko(a,c);Lo(a);Mo(a,a);No(a);l=b;return}function Ko(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(a[195234]|0){q=c[15715]|0;c[e>>2]=HB(b)|0;z4(q,91024,e)|0}e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=hC(b,e)|0}p=Oo(b,d)|0;q=Fv(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;dp(f,m);e=gC(f)|0;while(1){if(!e)break;g=hC(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Po(e,f)|0;Ko(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*72.0*.5;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}tC(f,e)|0;e=g}if((qB(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Iq(f)|0;qp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){zP(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=HK(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=OG(e,q,0,d+20|0)|0;l6(f)}Qo(p,c[o>>2]|0,q,e,b,d);l6(e);g=gC(p)|0;while(1){if(!g)break;e=c[g+16>>2]|0;f=c[e+212>>2]|0;i=e+132|0;if(!f){e=c[(c[e+112>>2]|0)+8>>2]|0;if(e|0){o=c[i>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[i>>2]|0;x=+h[e+32>>3];w=+h[o>>3]-x*.5;v=c[(c[f+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[e+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}g=hC(p,g)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Ro(p,q);l6(q);if(a[195234]|0){v=c[15715]|0;c[r>>2]=HB(b)|0;z4(v,91035,r)|0}l=s;return}function Lo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];m=j*.5;l=i*.5;g=m*72.0;f=l*72.0;k=c[e+132>>2]|0;h[k>>3]=m;h[k+8>>3]=l;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=hC(b,d)|0}return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=gC(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=f+ +h[e>>3];e=e+8|0;h[e>>3]=g+ +h[e>>3]}d=hC(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=g+ +h[n>>3];m=f+ +h[l>>3];k=g+ +h[e>>3];h[p>>3]=f+ +h[p>>3];h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Mo(d,b);a=a+1|0}return}function No(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;No(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Oo(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+160|0;t=z+24|0;u=z+8|0;i=z;g=z+56|0;x=f+16|0;y=c[x>>2]|0;c[x>>2]=y+1;c[t>>2]=y;i2(g,91097,t)|0;if((d[195234]|0)>1){y=c[15715]|0;x=HB(e)|0;c[i>>2]=g;c[i+4>>2]=x;z4(y,91104,i)|0};c[t>>2]=c[4658];x=lB(91457,t,0)|0;RC(x,137786,280,1)|0;w=HK(56)|0;y=x+16|0;p=c[y>>2]|0;c[p+140>>2]=w;w=e+16|0;b[p+176>>1]=b[(c[w>>2]|0)+176>>1]|0;Xo(e,x,92808);Xo(e,x,93413);Xo(e,x,91503);p=f+4|0;q=t+16|0;r=t+8|0;s=t+24|0;k=0;o=1;while(1){g=c[w>>2]|0;if((o|0)>(c[g+180>>2]|0))break;c[t>>2]=c[332];c[t+4>>2]=c[333];c[t+8>>2]=c[334];c[t+12>>2]=c[335];c[t+16>>2]=c[336];c[t+20>>2]=c[337];c[t+24>>2]=c[338];c[t+28>>2]=c[339];i=c[(c[g+184>>2]|0)+(o<<2)>>2]|0;sK(i);j=Yo(x,HB(i)|0)|0;m=j+16|0;g=c[m>>2]|0;c[g+212>>2]=i;n=k+1|0;c[g+120>>2]=k;if(c[p>>2]|0)Zo(i,j,f,t);g=gC(i)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+164>>2]=j;g=hC(i,g)|0}g=c[m>>2]|0;if(a[g+119>>0]|0){m=c[g+132>>2]|0;h[m>>3]=(+h[t>>3]+ +h[q>>3])*.5;h[m+8>>3]=(+h[r>>3]+ +h[s>>3])*.5}k=n;o=o+1|0}m=gC(e)|0;while(1){if(!m)break;g=m+16|0;i=c[g>>2]|0;if(!(c[i+164>>2]|0)){j=i+212|0;t=c[j>>2]|0;if(t|0?(t|0)!=(c[(c[(c[w>>2]|0)+140>>2]|0)+48>>2]|0):0){v=18;break}c[j>>2]=e;if(!(a[i+118>>0]|0)){j=Yo(x,HB(m)|0)|0;i=c[g>>2]|0;c[i+164>>2]=j;j=c[j+16>>2]|0;c[j+120>>2]=k;h[j+32>>3]=+h[i+32>>3];h[j+40>>3]=+h[i+40>>3];h[j+88>>3]=+h[i+88>>3];h[j+96>>3]=+h[i+96>>3];h[j+80>>3]=+h[i+80>>3];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];g=a[i+119>>0]|0;if(g<<24>>24){f=c[i+132>>2]|0;t=c[j+132>>2]|0;h[t>>3]=+h[f>>3];h[t+8>>3]=+h[f+8>>3];a[j+119>>0]=g}c[(c[j+112>>2]|0)+8>>2]=m;g=k+1|0}else g=k}else g=k;m=hC(e,m)|0;k=g}if((v|0)==18){f=HB(m)|0;t=HB(e)|0;v=HB(c[(c[g>>2]|0)+212>>2]|0)|0;c[u>>2]=f;c[u+4>>2]=t;c[u+8>>2]=v;dA(1,91127,u)|0;Ca(187380,1)}n=gC(e)|0;while(1){if(!n)break;o=c[(c[n+16>>2]|0)+164>>2]|0;p=o+16|0;j=UA(e,n)|0;while(1){if(!j)break;g=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((g|0)!=(o|0)){if(g>>>0>o>>>0)m=fB(x,o,g,0,1)|0;else m=fB(x,g,o,0,1)|0;RC(m,137763,176,1)|0;i=c[j+16>>2]|0;v=c[m+16>>2]|0;h[v+136>>3]=+h[i+136>>3];h[v+128>>3]=+h[i+128>>3];g=c[(c[g+16>>2]|0)+112>>2]|0;i=g+4|0;c[i>>2]=(c[i>>2]|0)+1;i=c[(c[p>>2]|0)+112>>2]|0;u=i+4|0;c[u>>2]=(c[u>>2]|0)+1;if(!(c[v+172>>2]|0)){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}_o(m,j)}j=WA(e,j)|0}n=hC(e,n)|0}g=c[(c[w>>2]|0)+140>>2]|0;i=c[g>>2]|0;if(i|0){j=HK((c[g+4>>2]<<4)+16|0)|0;c[c[(c[y>>2]|0)+140>>2]>>2]=j;g=0;while(1){if(!(c[i>>2]|0))break;n=c[(c[(c[i+4>>2]|0)+16>>2]|0)+164>>2]|0;if(n){$o(e,i);o=Yo(x,194052)|0;p=o+16|0;c[(c[p>>2]|0)+120>>2]=k;if(o>>>0>n>>>0)m=fB(x,n,o,0,1)|0;else m=fB(x,o,n,0,1)|0;RC(m,137763,176,1)|0;v=c[i>>2]|0;u=c[v+16>>2]|0;w=c[m+16>>2]|0;h[w+136>>3]=+h[u+136>>3];h[w+128>>3]=+h[u+128>>3];_o(m,v);v=c[(c[p>>2]|0)+112>>2]|0;w=v+4|0;c[w>>2]=(c[w>>2]|0)+1;w=c[(c[n+16>>2]|0)+112>>2]|0;u=w+4|0;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+1;c[j+4>>2]=o;h[j+8>>3]=+h[i+8>>3];c[j>>2]=m;g=g+1|0;j=j+16|0;k=k+1|0}i=i+16|0}c[(c[(c[y>>2]|0)+140>>2]|0)+4>>2]=g}l=z;return x|0}function Po(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=HK((l<<4)+16|0)|0;f=Uo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=Vo(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;l6(f);break}else Aa(91043,91053,766,91062)}while(0);return k|0}function Qo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;u=B+16|0;y=B;m=c[g+8>>2]|0;k=c[g+12>>2]|0;v=(c[g>>2]|0)==(f|0);z=(b|0)!=0;x=y+8|0;w=y+4|0;A=y+12|0;a:do if(z){n=c[(c[d>>2]|0)+16>>2]|0;j=+h[n+16>>3];m=~~(j+(j>=0.0?.5:-.5));c[y>>2]=m;j=+h[n+24>>3];g=~~(j+(j>=0.0?.5:-.5));c[w>>2]=g;j=+h[n+32>>3];k=~~(j+(j>=0.0?.5:-.5));c[x>>2]=k;j=+h[n+40>>3];n=~~(j+(j>=0.0?.5:-.5));c[A>>2]=n;if((b|0)>1){b=c[e>>2]|0;t=c[e+4>>2]|0;m=m+b|0;c[y>>2]=m;s=g+t|0;c[w>>2]=s;b=k+b|0;c[x>>2]=b;p=u+4|0;q=u+8|0;r=u+12|0;o=e;g=d;t=n+t|0;while(1){g=g+4|0;k=o+8|0;c[A>>2]=t;n=c[g>>2]|0;if(!n){p=0;break a}F=c[n+16>>2]|0;G=+h[F+16>>3];i=+h[F+24>>3];j=+h[F+32>>3];H=+h[F+40>>3];F=~~(H+(H>=0.0?.5:-.5));c[r>>2]=F;n=c[k>>2]|0;E=c[o+12>>2]|0;D=~~(G+(G>=0.0?.5:-.5))+n|0;c[u>>2]=D;C=~~(i+(i>=0.0?.5:-.5))+E|0;c[p>>2]=C;n=~~(j+(j>=0.0?.5:-.5))+n|0;c[q>>2]=n;E=F+E|0;c[r>>2]=E;D=c[((m|0)<(D|0)?y:u)>>2]|0;c[y>>2]=D;C=c[((s|0)<(C|0)?y:u)+4>>2]|0;c[w>>2]=C;n=c[((b|0)>(n|0)?y:u)+8>>2]|0;c[x>>2]=n;o=k;t=c[((t|0)>(E|0)?y:u)+12>>2]|0;m=D;s=C;b=n}}else{p=0;s=g;t=n;b=k}}else{c[y>>2]=0;c[w>>2]=0;b=XO(f,m,54,3)|0;c[x>>2]=b;t=XO(f,k,36,3)|0;c[A>>2]=t;p=1;s=0;m=0}while(0);n=f+16|0;o=c[n>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=~~(H+(H>=0.0?.5:-.5))+(m-b)|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[y>>2]=m;b=g+b|0;c[x>>2]=b;g=0}else g=0}else g=p;if(v|(g|0)!=0){k=0;g=o}else{k=XO(a,c[47198]|0,8,0)|0;g=c[n>>2]|0}q=k-m|0;p=~~(+(k-s|0)+ +h[g+56>>3]);c[y>>2]=0;c[w>>2]=0;o=q+k+b|0;c[x>>2]=o;n=~~(+(p+k|0)+ +h[g+88>>3]+ +(t|0));c[A>>2]=n;b:do if(z){g=e;c:while(1){b=d+4|0;k=c[d>>2]|0;if(!k)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}j=+(d|0)/72.0;i=+(g|0)/72.0;d=gC(k)|0;while(1){if(!d){d=b;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=j+ +h[F>>3];F=F+8|0;h[F>>3]=i+ +h[F>>3];d=hC(k,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;h[F+8>>3]=0.0;h[F+16>>3]=0.0;h[F+24>>3]=+(o|0)/72.0;h[F+32>>3]=+(n|0)/72.0;l=B;return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;So(d);TC(d,137786)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)l6(b);So(a);TC(a,137786)|0;d=gC(a)|0;while(1){if(!d)break;e=hC(a,d)|0;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+172>>2]|0);TC(b,137763)|0;b=WA(a,b)|0}To(d);d=e}pB(a)|0;return}function So(a){a=a|0;l6(c[(c[a+16>>2]|0)+140>>2]|0);return}function To(a){a=a|0;var b=0;b=a+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);TC(a,137750)|0;return}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=HK((l*24|0)+24|0)|0;i=0;j=ZA(b,a)|0;while(1){if(!j)break;g=c[j>>2]&3;e=c[((g|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((g|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;g=c[(c[k>>2]|0)+132>>2]|0;d=+h[e>>3]-+h[g>>3];f=+h[e+8>>3]-+h[g+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+O(+f,+d);h[m+(i*24|0)+16>>3]=d*d+f*f;i=i+1|0;j=_A(b,j,a)|0}if((i|0)!=(l|0))Aa(91076,91053,642,91085);k3(m,l,24,67);a:do if((l|0)>1){a=l+-1|0;e=0;b:while(1){if((e|0)>=(a|0))break a;f=+h[m+(e*24|0)+8>>3];g=e+1|0;j=g;while(1){i=m+(j*24|0)+8|0;if((j|0)>=(l|0))break;if(!(+h[i>>3]==f))break;j=j+1|0}if((j|0)==(g|0)){e=g;continue}if((j|0)==(l|0))d=3.141592653589793;else d=+h[i>>3];d=(d-f)/+(j-e|0);d=d>.03490658503988659?.03490658503988659:d;f=0.0;while(1){if((e|0)>=(j|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=f+ +h[k>>3];f=d+f;e=e+1|0}}}while(0);return m|0}function Vo(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;q=i>>>0>a>>>0;m=o+f|0;l=q?g:-g;d=q?1:-1;k=0;j=c[n+172>>2]|0;i=q?f:m+-1|0;g=q?p:p+ +(o+-1|0)*g;while(1){if((k|0)>=(o|0))break;q=c[j>>2]|0;c[e+(i<<4)>>2]=q;f=c[q>>2]&3;n=(f|0)==3?q:q+48|0;c[e+(i<<4)+4>>2]=c[((c[(c[(c[n+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?n:(f|0)==2?q:q+-48|0)+40>>2];h[e+(i<<4)+8>>3]=g;k=k+1|0;j=j+4|0;i=i+d|0;g=l+g}return m|0}function Wo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c<d)){d=+h[a+16>>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d<c)<<31>>31}else a=-1;else a=1;return a|0}function Xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=DA(a,0,c,0)|0;do if(d|0){a=OA(a,d)|0;d=DA(b,0,c,0)|0;if(!d){DA(b,0,c,a)|0;break}else{HA(b,d,a)|0;break}}while(0);return}function Yo(a,b){a=a|0;b=b|0;var d=0,f=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;f=HK(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=IK((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function Zo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;o=q;p=q+64|0;i=c[e+4>>2]|0;k=OA(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=OA(OD(b)|0,i)|0;if((e|0)==(k|0))break;if(!(f2(k,e)|0))break}a[p>>0]=0;e=o+8|0;i=o+16|0;j=o+24|0;c[m>>2]=o;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=p;if((q4(k,91238,m)|0)<=3){c[n>>2]=HB(b)|0;c[n+4>>2]=k;dA(0,91256,n)|0;break}g=+h[23314];if(g>0.0){h[o>>3]=+h[o>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}p=a[p>>0]|0;a[(c[d+16>>2]|0)+119>>0]=p<<24>>24==33?3:p<<24>>24==63?2:1;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2]}while(0);l=q;return}function _o(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=a+16|0;g=c[f>>2]|0;e=c[g+172>>2]|0;g=b[g+168>>1]|0;a=(g<<2)+4|0;if(!e)a=IK(a)|0;else a=KK(e,a)|0;c[a+(g<<2)>>2]=d;d=c[f>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=D3(HB(a)|0)|0;j=D3(HB(f)|0)|0;j=(b+8+j+(D3(HB(d)|0)|0)|0)>999;b=HB(a)|0;if(j){d=HB(d)|0;j=HB(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;i2(194052,91196,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;i2(194052,91215,h)|0}l=i;return}function ap(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=k6(40)|0;c[i>>2]=0;g=+h[23314];o=0;f=+da(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){h[23314]=f;o=0;$(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)!=1){i=x6(187380,1,i|0,j|0)|0;j=D;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=A6(c[e>>2]|0,i|0,j|0)|0;if(!d)Ca(e|0,p|0);D=p}else d=-1;if((d|0)!=1)d=0;else d=D}else d=D}else d=D;while(1){if(d|0)break;o=0;$(103,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}o=0;la(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;$(104,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}}o=0;ha(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,i|0,j|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else{k=12;break}}if((k|0)==12)h[23314]=g;l6(i|0);return}function bp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Rm(a,25,10)|0){c[47180]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Tm(a,d)|0;break}else{dA(0,91299,g)|0;d=2;break}while(0);c[47180]=0}if((c[47185]|0)<1)Tm(a,d)|0;l=i;return}function cp(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=l;l=l+16|0;f=c[5180]|0;c[46512]=c[f>>2];c[46513]=c[f+4>>2];c[46515]=c[f+8>>2];c[46517]=c[f+12>>2];h[23264]=0.0;h[23259]=+h[f+16>>3];h[23260]=+h[f+24>>3];c[46516]=XO(a,DA(a,0,91362,0)|0,600,0)|0;b=+YO(a,DA(a,0,91503,0)|0,.3,0.0);h[23261]=b;f=c[5180]|0;h[f+32>>3]=b;b=+h[f+40>>3];if(b==-1.0)b=+YO(a,DA(a,0,91370,0)|0,-1.0,0.0);h[23262]=b;c[46514]=1;f=jm(a,2,186056)|0;c[46526]=f;if(!f){dA(0,91373,e)|0;c[46514]=2}c[46542]=(S(c[46516]|0,c[46517]|0)|0)/100|0;d=+h[23261];h[23266]=d*d;if(c[46512]|0){b=+h[23264];if(b<=0.0){b=d*3.0;h[23264]=b}h[23265]=b*b}l=e;return}function dp(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=ep(a,b)|0;fp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[46512]|0)){b=0;while(1){if((b|0)>=(c[46543]|0))break a;ip(a,+gp(b),g);b=b+1|0}}else{d=Hv(qB(a)|0)|0;Mv(d,qB(a)|0);b=0;while(1){if((b|0)>=(c[46543]|0))break;hp(a,+gp(b),g,d);b=b+1|0}Ov(d)}while(0);b:do if(e!=0.0|f!=0.0){b=gC(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=e+ +h[g>>3];g=g+8|0;h[g>>3]=f+ +h[g>>3];b=hC(a,b)|0}}while(0);if(i|0)jp();l=j;return}function ep(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[23262]==-1.0){i=qB(a)|0;d=+h[23261];h[23262]=+h[23260]*d*+G(+(+(i|0)))/5.0;i=1}else{i=0;d=+h[23261]}g=c[46542]|0;h[b+8>>3]=+gp(g);h[b+16>>3]=d;h[b+24>>3]=+h[23259];e=c[46516]|0;a=e-g|0;c[b>>2]=a;f=c[46515]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[46543]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[46543]=g;a=f-g|0;j=10}}else{c[46543]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function fp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;w=qB(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=gC(d)|0;v=0;n=0;f=0;g=0;o=0;while(1){l=+(f|0);k=+(n|0);y=(v|0)!=0;if(!u)break;p=c[u+16>>2]|0;if(!(a[p+119>>0]|0))p=v;else{p=c[p+132>>2]|0;j=+h[p>>3];i=+h[p+8>>3];if(y){t=+(g|0);s=+(o|0);o=~~(i>s?i:s);n=~~(j<k?j:k);f=~~(i<l?i:l);g=~~(j>t?j:t)}else{g=~~j;f=~~i;o=f;n=g}p=v+1|0}u=hC(d,u)|0;v=p}t=+h[23261]*(+G(+(+(w-x|0)))+1.0)*.5*1.2;h[23268]=t;h[23267]=t;if((v|0)!=1)if((v|0)>1){r=+(g+n|0)*.5;s=+(o+f|0)*.5;q=+(g-n|0)*1.2;k=+(o-f|0)*1.2;l=t*4.0*t;m=q*k/l;i=q*.5;j=k*.5;do if(!(m>=1.0)){if(m>0.0){j=+G(+m)*2.0;i=q/j;h[23267]=i;j=k/j;A=19;break}if(q>0.0){h[23267]=i;j=l/q*.5;A=19;break}if(k>0.0){i=l/k*.5;h[23267]=i;A=19}else{j=t;i=t}}else{h[23267]=i;A=19}while(0);if((A|0)==19)h[23268]=j;q=+O(+j,+i);t=i/+I(+q);h[23267]=t;i=j/+J(+q);h[23268]=i;j=t}else{r=0.0;s=0.0;j=t;i=t}else{r=k;s=l;j=t;i=t}h[23269]=j*j;h[23270]=i*i;if((c[46526]|0)==2)f=c[46514]|0;else{f=e4()|0;f=(Ya(0)|0)^f}W4(f);a:do if(!e){e=gC(d)|0;if(!y)while(1){if(!e)break a;t=+h[23267];t=t*(+S4()*2.0+-1.0);A=e+16|0;h[c[(c[A>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[A>>2]|0)+132>>2]|0)+8>>3]=t;e=hC(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){t=+h[23267];t=t*(+S4()*2.0+-1.0);h[c[(c[f>>2]|0)+132>>2]>>3]=t;t=+h[23268];t=t*(+S4()*2.0+-1.0);h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=t}else{A=c[g+132>>2]|0;h[A>>3]=+h[A>>3]-r;A=A+8|0;h[A>>3]=+h[A>>3]-s}e=hC(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;w=e+8|0;t=r+ +h[23267]*+I(+(+h[w>>3]));y=c[(c[e+4>>2]|0)+16>>2]|0;x=c[y+132>>2]|0;h[x>>3]=t;h[x+8>>3]=s+ +h[23268]*+J(+(+h[w>>3]));a[y+119>>0]=1;e=e+16|0}m=r*.1;q=s*.1;u=gC(d)|0;while(1){if(!u)break a;p=u+16|0;e=c[p>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))A=31;do if((A|0)==31){A=0;if(a[e+119>>0]|0){y=c[e+132>>2]|0;h[y>>3]=+h[y>>3]-r;y=y+8|0;h[y>>3]=+h[y>>3]-s;break}o=ZA(d,u)|0;n=0;j=0.0;i=0.0;while(1){if(!o)break;g=c[o>>2]&3;e=(g|0)==2?o:o+-48|0;f=c[e+40>>2]|0;g=(g|0)==3?o:o+48|0;if((f|0)!=(c[g+40>>2]|0)?(z=c[(c[((f|0)==(u|0)?g:e)+40>>2]|0)+16>>2]|0,(a[z+119>>0]|0)!=0):0){e=n+1|0;y=c[z+132>>2]|0;l=+h[y+8>>3];k=+h[y>>3];if(!n){j=k;i=l}else{B=+(n|0);t=+(e|0);j=(j*B+k)/t;i=(i*B+l)/t}}else e=n;o=_A(d,o,u)|0;n=e}do if((n|0)<=1)if((n|0)==1){f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=m+j*.98;i=q+i*.9;break}else{i=+S4()*6.283185307179586;B=+S4()*.9;t=B*+h[23267]*+I(+i);f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=t;i=B*+h[23268]*+J(+i);break}else{f=c[p>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);u=hC(d,u)|0}}while(0);h[b>>3]=r;h[b+8>>3]=s;return}function gp(a){a=a|0;var b=0;b=c[46516]|0;return +(+h[23262]*+(b-a|0)/+(b|0))}function hp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Nv(e);f=gC(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[23264];g=~~+E(+(+h[i>>3]/j));Qv(e,g,~~+E(+(+h[i+8>>3]/j)),f);f=hC(a,f)|0}g=gC(a)|0;while(1){if(!g)break;f=UA(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))lp(g,i,f);f=WA(a,f)|0}g=hC(a,g)|0}Sv(e,26);mp(a,b,d)}return}function ip(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=gC(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=hC(a,e)|0}g=gC(a)|0;while(1){if(!g)break;else e=g;while(1){e=hC(a,e)|0;if(!e)break;kp(g,e)}e=UA(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))lp(g,f,e);e=WA(a,e)|0}g=hC(a,g)|0}mp(a,b,d)}return}function jp(){h[23262]=-1.0;return}function kp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];np(a,b,e,d,e*e+d*d);return}function lp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;b=a+16|0;a=c[(c[b>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[a>>3];f=+h[k+8>>3]-+h[a+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=f+e;if(!(e==0.0))break;e=+(5-((U4()|0)%10|0)|0);f=+(5-((U4()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+G(+e);k=(c[46513]|0)==0;d=c[d+16>>2]|0;e=+h[d+136>>3];f=+h[d+128>>3]*(k?f:f-e)/(k?e:f);g=g*f;k=c[(c[j>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=+h[d>>3]-g;i=i*f;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[b>>2]|0)+112>>2]|0;d=k+16|0;h[d>>3]=g+ +h[d>>3];k=k+24|0;h[k>>3]=i+ +h[k>>3];return}function mp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;l=gC(b)|0;while(1){if(!l)break;k=c[l+16>>2]|0;if(!(a[k+119>>0]&2)){e=c[k+112>>2]|0;f=+h[e+16>>3];g=+h[e+24>>3];i=f*f+g*g;j=c[k+132>>2]|0;m=j+8|0;if(!(i<o)){i=d/+G(+i);g=g*i;f=f*i}i=+h[j>>3]+f;f=+h[m>>3]+g;do if(!n){g=+G(+(i*i/+h[23269]+f*f/+h[23270]));if((c[e+8>>2]|0)==0?(c[k+212>>2]|0)==0:0){h[j>>3]=i/g;f=f/g;break}if(!(g>=1.0)){h[j>>3]=i;break}else{h[j>>3]=i*.95/g;f=f*.95/g;break}}else h[j>>3]=i;while(0);h[m>>3]=f}l=hC(b,l)|0}return}function np(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}if(c[46513]|0)f=f*+G(+f);f=+h[23266]/f;i=c[a+16>>2]|0;g=c[i+112>>2]|0;a=c[b+16>>2]|0;b=c[a+112>>2]|0;if(((c[g+8>>2]|0)==0?(c[i+212>>2]|0)==0:0)?(c[b+8>>2]|0)==0:0)f=(c[a+212>>2]|0)==0?f*10.0:f;d=d*f;i=b+16|0;h[i>>3]=+h[i>>3]+d;e=e*f;i=b+24|0;h[i>>3]=e+ +h[i>>3];i=g+16|0;h[i>>3]=+h[i>>3]-d;i=g+24|0;h[i>>3]=+h[i>>3]-e;return}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))kp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;pp(d,h,a,f);pp(d,h,e,f);b=e+1|0;pp(d,h,b,f);pp(d,g,a,f);pp(d,g,b,f);g=g+1|0;pp(d,g,a,f);pp(d,g,e,f);pp(d,g,b,f);return 0}function pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Tv(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=f*f+g*g;if(i<+h[23265])np(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function qp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=NA(b,92808)|0;if(a[195234]|0)_3(91417,8,1,c[15715]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91426;f=F3(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=d6(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(a[195234]|0){i=c[15715]|0;c[g>>2]=f;c[g+4>>2]=e;z4(i,91434,g)|0}if(!((f|0)!=0?!(rp(b,d,f)|0):0))kr(b,e)|0;l=h;return}function rp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=qB(b)|0;k=rB(b)|0;ir(j,b);c[46884]=c[j>>2];c[46885]=c[j+4>>2];c[46886]=c[j+8>>2];if(a[187544]|0){g[46884]=+g[46884]/72.0;g[46885]=+g[46885]/72.0}f=sp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0);p=+(S(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;tp(s,r);m=+h[170]*+h[23272];h[23273]=m;h[23274]=o*m*2.0/p;d=0;while(1){if((d|0)>=(c[46550]|0))break;m=+up(d);if(m<=0.0)break;f=vp(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=q+n;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function sp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=gC(a)|0;while(1){if(!e)break;else d=e;while(1){c=hC(a,d)|0;if(!c)break;d=c;b=(yp(e,c)|0)+b|0}e=hC(a,e)|0}return b|0}function tp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[23276]=f;c[46550]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[23272]=e*e;if(f==0.0)h[23276]=e*+G(+(+(a|0)))/5.0;return}function up(a){a=a|0;var b=0;b=c[344]|0;return +(+h[23276]*+(b-a|0)/+(b|0))}function vp(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;e=gC(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=hC(b,e)|0}e=0;j=gC(b)|0;while(1){if(!j)break;else g=j;while(1){f=hC(b,g)|0;if(!f)break;g=f;e=(wp(j,f)|0)+e|0}f=UA(b,j)|0;while(1){if(!f)break;xp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=WA(b,f)|0}j=hC(b,j)|0}a:do if(!e)e=0;else{n=d*d;g=gC(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;l=+h[j+16>>3];i=+h[j+24>>3];m=l*l+i*i;f=c[f+132>>2]|0;k=+h[f>>3];if(m<n)h[f>>3]=l+k;else{m=+G(+m);h[f>>3]=k+l*d/m;i=i*d/m}j=f+8|0;h[j>>3]=i+ +h[j>>3]}g=hC(b,g)|0}}while(0);return e|0}function wp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;e=+h[g>>3]-+h[f>>3];d=+h[g+8>>3]-+h[f+8>>3];return Ap(a,b,e,d,e*e+d*d)|0}function xp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(yp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];j=+G(+(e*e+g*g));d=+zp(a);d=d+ +zp(b);k=j-d;d=k*k/(j*(+h[171]+d));e=e*d;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=e+ +h[a>>3];b=b+24|0;h[b>>3]=d+ +h[b>>3]}return}function yp(b,d){b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;f=c[d+16>>2]|0;m=c[f+132>>2]|0;b=c[b+16>>2]|0;d=c[b+132>>2]|0;l=+h[m>>3]-+h[d>>3];e=+h[m+8>>3]-+h[d+8>>3];d=(a[187544]|0)!=0;k=+h[b+32>>3];i=+g[46884];j=+h[f+32>>3];if(!((l<0.0?-l:l)<=(d?k*.5+i:k*i*.5)+(d?i+j*.5:j*i*.5)))d=0;else{j=+h[b+40>>3];l=+g[46885];k=+h[f+40>>3];d=(e<0.0?-e:e)<=(d?j*.5+l:j*l*.5)+(d?l+k*.5:k*l*.5)}return d&1|0}function zp(b){b=b|0;var d=0.0,e=0.0,f=0.0,i=0;i=(a[187544]|0)!=0;b=c[b+16>>2]|0;f=+h[b+32>>3];e=+g[46884];e=i?f*.5+e:f*e*.5;f=+h[b+40>>3];d=+g[46885];d=i?f*.5+d:f*d*.5;return +(+G(+(e*e+d*d)))}function Ap(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((U4()|0)%10|0)|0);e=+(5-((U4()|0)%10|0)|0);d=f;f=f*f+e*e}g=yp(a,b)|0;f=((g|0)==0?+h[23274]:+h[23273])/f;d=d*f;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=e*f;b=b+24|0;h[b>>3]=f+ +h[b>>3];b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Bp(a){a=a|0;mQ(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[47184]=2;Cp(a);return}function Cp(a){a=a|0;var b=0,d=0,e=0,f=0;e=HK((qB(a)|0)<<2)|0;b=HK(((qB(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=gC(a)|0;d=0;while(1){if(!b)break;Wl(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=hC(a,b)|0;d=d+1|0}d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;Dp(b);b=WA(a,b)|0}d=hC(a,d)|0}return}function Dp(a){a=a|0;var b=0.0;RC(a,137763,176,1)|0;rP(a)|0;b=+YO(a,c[47236]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+4|0;j=m;c[k>>2]=c[4660];k=lB(91457,k,0)|0;RC(k,91465,280,1)|0;c[(c[a+16>>2]|0)+140>>2]=k;d=gC(a)|0;while(1){if(!d)break;e=d+16|0;if(!(c[c[(c[e>>2]|0)+112>>2]>>2]|0)){i=Fp(k,HB(d)|0,d)|0;c[c[(c[e>>2]|0)+112>>2]>>2]=i}d=hC(a,d)|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=c[c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;g=c[c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((f|0)!=(g|0))RC(fB(k,f,g,0,1)|0,137763,176,1)|0;d=WA(a,d)|0}e=hC(a,e)|0}i=BG(k,j,0)|0;e=0;while(1){if((e|0)>=(c[j>>2]|0))break;g=c[i+(e<<2)>>2]|0;d=gC(g)|0;while(1){if(!d)break;f=UA(a,c[c[(c[d+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!f)break;h=c[c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((d|0)!=(h|0)){h=fB(k,d,h,0,1)|0;RC(h,137763,176,1)|0;jB(g,h,1)|0}f=WA(a,f)|0}d=hC(g,d)|0}e=e+1|0}d=gC(k)|0;while(1){if(!d)break;e=UA(k,d)|0;while(1){if(!e)break;a=HK(8)|0;c[(c[e+16>>2]|0)+120>>2]=a;e=WA(k,e)|0}d=hC(k,d)|0}c[b>>2]=c[j>>2];l=m;return i|0}function Fp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=qC(a,b,1)|0;RC(b,137750,304,1)|0;e=HK(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=HK(c[47184]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(qB(a)|0){g=Ep(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){_w(b,a);Hp(c[g>>2]|0);lr(a)|0}else{d=c[b+60>>2]|0;iH(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;_w(i,a);lr(i)|0;b=b+1|0}hH(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Hp(c[g+(b<<2)>>2]|0);b=b+1|0}}l6(g)}l=h;return}function Hp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=hC(a,b)|0}return}function Ip(a){a=a|0;if(qB(a)|0){Bp(a);Gp(a);l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);cn(a);rM(a)}return}function Jp(a){a=a|0;var b=0,d=0,e=0;b=gC(a)|0;if(b|0){e=a+16|0;Kp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;WP(d);d=WA(a,d)|0}UP(b);b=hC(a,b)|0}l6(c[(c[e>>2]|0)+152>>2]|0);if((vC(a)|0)!=(a|0))XC(a,0,137786)}return}function Kp(a){a=a|0;var b=0,d=0;d=gC(a)|0;while(1){if(!d)break;b=UA(a,d)|0;while(1){if(!b)break;l6(c[(c[b+16>>2]|0)+120>>2]|0);b=WA(a,b)|0}b=d+16|0;l6(c[(c[b>>2]|0)+112>>2]|0);l6(c[(c[b>>2]|0)+132>>2]|0);d=hC(a,d)|0}pB(a)|0;return}function Lp(b){b=b|0;var d=0,e=0.0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+112|0;k=r+40|0;m=r+16|0;q=r+100|0;n=r;i=r+88|0;o=r+56|0;Mp(b);j=(c[47184]|0)==2;d=j&1;if(qB(b)|0){p=Vp()|0;Np(b,p);Kq(b,m,0)|0;f=p+124|0;if(j&(c[m>>2]|0)==18){c[f>>2]=c[m+8>>2];h[p+144>>3]=+h[m+16>>3];ir(i,b);if(!(a[i+8>>0]|0)){h[n>>3]=.05555555555555555;e=.05555555555555555}else{e=+g[i+4>>2];h[n>>3]=+g[i>>2]/72.0;e=e/72.0}h[n+8>>3]=e;d=0}else c[f>>2]=-1;if(a[195234]|0)Xp(p);j=BG(b,q,0)|0;if((c[q>>2]|0)==1){c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(b,p,k);if(d|0)Nq(b,m)|0;cn(b);d=0}else{iH(b,2,8,o)|0;c[o+12>>2]=1;i=(d|0)==0;f=0;while(1){d=c[q>>2]|0;if((f|0)>=(d|0))break;d=c[j+(f<<2)>>2]|0;IG(d)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];Op(d,p,k);if(!i)Nq(d,m)|0;mQ(d,2);cn(d);f=f+1|0}hH(d,j,b,o)|0;d=0}while(1){if((d|0)>=(c[q>>2]|0))break;tC(b,c[j+(d<<2)>>2]|0)|0;d=d+1|0}l6(j);Wp(p)}rM(b);l=r;return}function Mp(a){a=a|0;var d=0,f=0;mQ(a,2);d=XO(a,DA(a,0,91669,0)|0,2,2)|0;f=(XO(a,DA(a,0,91675,0)|0,d,2)|0)&65535;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;if((e[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0)<10)f=b[(c[(vC(a)|0)+16>>2]|0)+176>>1]|0;else f=10;b[(c[(vC(a)|0)+16>>2]|0)+176>>1]=f;f=f&65535;c[47184]=f;b[(c[(vC(a)|0)+16>>2]|0)+178>>1]=(d|0)<(f|0)?d:f;Sp(a);return}function Np(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+12|0;e=b+108|0;c[d>>2]=c[e>>2];if((jm(a,2,d)|0)!=2)dA(0,91470,g)|0;c[e>>2]=c[d>>2];h[b+24>>3]=+YO(a,DA(a,0,91503,0)|0,-1.0,0.0);h[b>>3]=-+YO(a,DA(a,0,91505,0)|0,1.0001234,0.0);c[b+40>>2]=XO(a,DA(a,0,91520,0)|0,2147483647,0)|0;c[b+120>>2]=Qp(a,DA(a,0,91527,0)|0)|0;c[b+132>>2]=Rp(a,DA(a,0,91537,0)|0)|0;c[b+136>>2]=0;c[b+112>>2]=(cP(NA(a,91546)|0,0)|0)&255;c[b+128>>2]=(cP(NA(a,91555)|0,1)|0)&255;h[b+152>>3]=+YO(a,DA(a,0,91570,0)|0,0.0,-1797693134862315708145274.0e284);d=XO(a,DA(a,0,91579,0)|0,0,0)|0;a=b+160|0;c[a>>2]=d;if((d|0)>4){c[f>>2]=d;dA(0,91592,f)|0;c[a>>2]=0}l=g;return}function Op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q;n=q+32|0;j=q+28|0;g=q+24|0;p=q+20|0;o=q+16|0;c[g>>2]=0;c[p>>2]=0;c[o>>2]=0;i=b+136|0;e=c[47184]|0;if((c[i>>2]|0)==1)m=Hq(a,e,o)|0;else m=Hq(a,e,0)|0;do if((c[b+124>>2]|0)>-1)if((c[b+160>>2]|0)>0){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,g,p)|0;break}else{c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];k=Gq(a,f,0,0)|0;break}else k=0;while(0);e=Pp(a)|0;c[n>>2]=e;switch(c[i>>2]|0){case 1:case 0:{tq(c[47184]|0,m,c[o>>2]|0,b,0,k,e,c[g>>2]|0,c[p>>2]|0,j);break}case 5:{Fq(c[47184]|0,m,e,j);break}case 4:{e=c[o>>2]|0;if(!e)e=Nw(m)|0;else e=xw(e,0)|0;c[o>>2]=e;Aq(c[47184]|0,m,e,n,1,200,.001,j);break}default:{}}e=gC(a)|0;while(1){if(!e)break;d=c[47184]|0;g=c[e+16>>2]|0;b=(c[n>>2]|0)+((S(c[g+120>>2]|0,d)|0)<<3)|0;g=g+132|0;f=0;while(1){if((f|0)>=(d|0))break;h[(c[g>>2]|0)+(f<<3)>>3]=+h[b+(f<<3)>>3];f=f+1|0}e=hC(a,e)|0}l6(k);l6(c[n>>2]|0);nw(m);e=c[o>>2]|0;if(e|0)nw(e);e=c[p>>2]|0;if(e|0)l6(e);l=q;return}function Pp(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=c[47184]|0;j=HK(S(j<<3,qB(b)|0)|0)|0;a:do if(DA(b,1,102924,0)|0){f=gC(b)|0;while(1){if(!f)break a;d=c[f+16>>2]|0;b:do if(a[d+119>>0]|0){g=c[47184]|0;i=d+132|0;e=S(g,c[d+120>>2]|0)|0;d=0;while(1){if((d|0)>=(g|0))break b;h[j+(e+d<<3)>>3]=+h[(c[i>>2]|0)+(d<<3)>>3];d=d+1|0}}while(0);f=hC(b,f)|0}}while(0);return j|0}function Qp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=(b|0)<5?b:0;break}if(P2(c)|0)if(C3(b,91631)|0)if(C3(b,91640)|0)if(C3(b,136010)|0)if(!(C3(b,91651)|0))b=3;else{b=(C3(b,91662)|0)==0;b=b?4:0}else b=0;else b=1;else b=2;else b=0}else b=0;while(0);return b|0}function Rp(b,c){b=b|0;c=c|0;do if(c){b=OA(b,c)|0;c=a[b>>0]|0;if((c+-48|0)>>>0<10){b=d6(b)|0;b=b>>>0<3?b:1;break}if(P2(c)|0)if((C3(b,136010)|0)!=0?(C3(b,137609)|0)!=0:0)if(((C3(b,100031)|0)!=0?(C3(b,107953)|0)!=0:0)?(C3(b,107958)|0)!=0:0){b=(C3(b,91626)|0)==0;b=b?2:1}else b=1;else b=0;else b=1}else b=1;while(0);return b|0}function Sp(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;Wl(b);b=hC(a,b)|0}c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;Tp(b);b=WA(a,b)|0}c=hC(a,c)|0}return}function Tp(a){a=a|0;RC(a,137763,176,1)|0;rP(a)|0;return}function Up(a){a=a|0;var b=0,c=0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;WP(b);b=WA(a,b)|0}UP(c);c=hC(a,c)|0}return}function Vp(){var a=0,b=0;a=IK(168)|0;h[a>>3]=-1.0001234;h[a+8>>3]=1.0;c[a+16>>2]=1;h[a+24>>3]=-1.0;h[a+32>>3]=.2;c[a+40>>2]=0;c[a+44>>2]=4;c[a+48>>2]=1;c[a+52>>2]=45;c[a+56>>2]=10;h[a+64>>3]=.6;h[a+72>>3]=.001;c[a+80>>2]=500;h[a+88>>3]=.9;h[a+96>>3]=.1;c[a+104>>2]=1;c[a+108>>2]=123;b=a+112|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+128>>2]=1;c[a+132>>2]=3;c[a+136>>2]=0;h[a+144>>3]=-4.0;h[a+152>>3]=0.0;c[a+160>>2]=0;return a|0}function Wp(a){a=a|0;l6(a);return}function Xp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;b=l;l=l+176|0;d=b+160|0;f=b+152|0;g=b+128|0;k=b+112|0;j=b+88|0;m=b+64|0;n=b+56|0;o=b+40|0;q=b+24|0;p=b+16|0;r=b;e=c[15715]|0;_3(91679,27,1,e)|0;i=+h[a+8>>3];h[r>>3]=+h[a>>3];h[r+8>>3]=i;z4(e,91707,r)|0;r=c[a+108>>2]|0;c[p>>2]=c[a+16>>2];c[p+4>>2]=r;z4(e,91758,p)|0;i=+h[a+32>>3];h[q>>3]=+h[a+24>>3];h[q+8>>3]=i;z4(e,91785,q)|0;q=c[a+44>>2]|0;p=c[a+48>>2]|0;c[o>>2]=c[a+40>>2];c[o+4>>2]=q;c[o+8>>2]=p;z4(e,91808,o)|0;o=c[a+56>>2]|0;c[n>>2]=c[a+52>>2];c[n+4>>2]=o;z4(e,91859,n)|0;i=+h[a+72>>3];n=c[a+80>>2]|0;h[m>>3]=+h[a+64>>3];h[m+8>>3]=i;c[m+16>>2]=n;z4(e,91892,m)|0;i=+h[a+96>>3];m=c[a+104>>2]|0;h[j>>3]=+h[a+88>>3];h[j+8>>3]=i;c[j+16>>2]=m;z4(e,91950,j)|0;j=c[a+116>>2]|0;i=+h[a+152>>3];c[k>>2]=c[a+112>>2];c[k+4>>2]=j;h[k+8>>3]=i;z4(e,91996,k)|0;k=c[a+124>>2]|0;j=c[a+128>>2]|0;i=+h[a+144>>3];c[g>>2]=c[17844+(c[a+120>>2]<<2)>>2];c[g+4>>2]=k;c[g+8>>2]=j;h[g+16>>3]=i;z4(e,92049,g)|0;g=c[17888+(c[a+136>>2]<<2)>>2]|0;c[f>>2]=c[17872+(c[a+132>>2]<<2)>>2];c[f+4>>2]=g;z4(e,92114,f)|0;c[d>>2]=c[a+160>>2];z4(e,92144,d)|0;l=b;return}function Yp(a){a=a|0;l6(a);return}function Zp(a){a=a|0;var b=0;b=IK(184)|0;c[b>>2]=a;c[b+176>>2]=0;return b|0}function _p(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0,i=0,j=0;e=c[a>>2]|0;h[a+8+(e<<3)>>3]=b;f=a+176|0;g=c[a>>2]|0;i=g+1|0;d=g+-1|0;j=(g|0)>19;a:do switch(c[f>>2]|0){case 0:{if((g|0)==20)c[f>>2]=-1;else{c[f>>2]=1;d=j?20:i}c[a>>2]=d;break}case 1:if((g|0)<20?+h[a+8+(e+-1<<3)>>3]>b:0){c[a>>2]=j?20:i;break a}else{c[a>>2]=d;c[f>>2]=-1;break a}default:if((g|0)>0?+h[a+8+(e+1<<3)>>3]>b:0){c[a>>2]=d;break a}else{c[a>>2]=i;c[f>>2]=1;break a}}while(0);return}function $p(a){a=a|0;return c[a>>2]|0}function aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;o=c[a+20>>2]|0;p=c[a+24>>2]|0;m=c[a>>2]|0;n=c[o+(m<<2)>>2]|0;if(!n)e=1.0;else{a=0;e=0.0;a:while(1){if((a|0)>=(m|0))break;j=a+1|0;k=c[o+(j<<2)>>2]|0;l=S(a,b)|0;i=c[o+(a<<2)>>2]|0;while(1){if((i|0)>=(k|0)){a=j;continue a}g=p+(i<<2)|0;a=0;f=0.0;while(1){if((a|0)>=(b|0))break;q=+h[d+(a+l<<3)>>3]-+h[d+((S(c[g>>2]|0,b)|0)<<3)>>3];a=a+1|0;f=f+q*q}i=i+1|0;e=e+ +G(+f)}}e=e/+(n|0)}return +e}function bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<3)|0}return}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+10|0;if((c[d>>2]|0)<=(b|0)){c[d>>2]=e;c[a>>2]=KK(c[a>>2]|0,e<<2)|0}return}function dq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=S(d,b)|0;b=S(c,b)|0;d=0;while(1){if((d|0)==2)break;h[j+(d<<3)>>3]=+h[a+(d+i<<3)>>3]-+h[a+(d+b<<3)>>3];d=d+1|0}g=+h[j>>3];f=+h[j+8>>3];do if(!((g>=0.0?g:-g)<=(f>=0.0?f:-f)*1.0e-05)){e=+N(+(f/g));if(g>0.0){if(!(f<0.0))break;e=e+6.283185307179586;break}else{if(!(g<0.0))break;e=e+3.141592653589793;break}}else e=f>0.0?1.5707963267948966:4.71238898038469;while(0);l=k;return +e}function eq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];c=+h[b>>3];return (d>c?1:(d<c)<<31>>31)|0}function fq(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0,R=0.0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;$=l;l=l+80|0;_=$+32|0;Z=$;q=+h[e>>3];n=e+24|0;o=+h[n>>3];p=e+32|0;k=+h[p>>3];R=+h[e+72>>3];T=c[e+80>>2]|0;U=+h[e+88>>3];r=+h[e+96>>3];V=c[e+104>>2]|0;W=e+56|0;j=c[W>>2]|0;do if(!((d|0)==0|(T|0)<1)?(X=c[d+4>>2]|0,!((b|0)<1|(X|0)<1)):0){Q=c[d>>2]|0;Y=Zp(j)|0;c[i>>2]=0;if((Q|0)!=(X|0)){c[i>>2]=-100;Yp(Y);c[W>>2]=j;break}O=sw(d,1)|0;P=c[O+20>>2]|0;Q=c[O+24>>2]|0;a:do if(c[e+16>>2]|0){T4(c[e+108>>2]|0);m=S(X,b)|0;j=0;while(1){if((j|0)>=(m|0))break a;h[g+(j<<3)>>3]=+Pw();j=j+1|0}}while(0);if(o<0.0){o=+aq(O,b,g);h[n>>3]=o}if(k<0.0){h[p>>3]=.2;k=.2}if(q>=0.0){h[e>>3]=-1.0;q=-1.0}N=+H(+o,+(1.0-q));B=+H(+k,+((2.0-q)/3.0))/o;C=S(X,b<<3)|0;D=IK(C)|0;E=IK(C)|0;F=e+116|0;I=e+64|0;J=c[15715]|0;K=O+8|0;L=Z+8|0;M=Z+16|0;z=0;A=0.0;w=r;while(1){B6(D|0,g|0,C|0)|0;x=$p(Y)|0;y=ew(b,X,x,g,(c[F>>2]|0)==0?0:f)|0;$v(y,E,g,+h[I>>3],q,N,Z,i);n=0;b:while(1){if((n|0)>=(X|0)){r=0.0;m=0;break}p=S(n,b)|0;s=E+(p<<3)|0;t=n+1|0;u=P+(t<<2)|0;m=c[P+(n<<2)>>2]|0;while(1){if((m|0)>=(c[u>>2]|0)){n=t;continue b}v=Q+(m<<2)|0;j=c[v>>2]|0;c:do if((j|0)!=(n|0)){k=+Xw(g,b,n,j);j=0;while(1){if((j|0)>=(b|0))break c;r=k*(B*(+h[g+(j+p<<3)>>3]-+h[g+((S(c[v>>2]|0,b)|0)+j<<3)>>3]));aa=s+(j<<3)|0;h[aa>>3]=+h[aa>>3]-r;j=j+1|0}}while(0);m=m+1|0}}while(1){if((m|0)>=(X|0))break;n=S(m,b)|0;p=E+(n<<3)|0;k=0.0;j=0;while(1){if((j|0)>=(b|0))break;ba=+h[p+(j<<3)>>3];k=k+ba*ba;j=j+1|0}k=+G(+k);r=r+k;d:do if(k>0.0){j=0;while(1){if((j|0)>=(b|0)){j=0;break d}aa=p+(j<<3)|0;h[aa>>3]=+h[aa>>3]/k;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(b|0))break;aa=g+(j+n<<3)|0;h[aa>>3]=+h[aa>>3]+w*+h[p+(j<<3)>>3];j=j+1|0}m=m+1|0}z=z+1|0;if(!y){if(a[195234]|0){aa=c[K>>2]|0;c[_>>2]=z;h[_+8>>3]=w;h[_+16>>3]=r;c[_+24>>2]=aa;h[_+32>>3]=o;z4(J,92400,_)|0}}else{lw(y);_p(Y,+h[Z>>3]+ +h[L>>3]*.85+ +h[M>>3]*3.3)}w=+gq(V,w,r,A,U);if(!((z|0)<(T|0)&w>R))break;else A=r}if(c[e+112>>2]|0)hq(b,O,g);Yp(Y);c[W>>2]=x;l6(D);if((O|0)!=(d|0))nw(O);l6(E)}while(0);l=$;return}function gq(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0.0;f=b*e;if((a|0)!=0&!(c>=d)){if(!(d*.95<c))b=b*.99/e}else b=f;return +b}function hq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+16|0;v=D+12|0;y=D+8|0;z=D+4|0;A=D;B=c[b>>2]|0;C=c[b+20>>2]|0;t=c[b+24>>2]|0;c[v>>2]=10;c[A>>2]=10;u=IK(B<<2)|0;f=IK(80)|0;c[y>>2]=f;e=IK(40)|0;c[z>>2]=e;b=0;while(1){if((b|0)>=(B|0)){n=0;r=f;k=e;o=e;m=f;break}c[u+(b<<2)>>2]=0;b=b+1|0}while(1){if((n|0)>=(B|0))break;b=c[C+(n<<2)>>2]|0;a:do if((((c[C+(n+1<<2)>>2]|0)-b|0)==1?(c[u+(n<<2)>>2]|0)==0:0)?(w=c[t+(b<<2)>>2]|0,x=u+(w<<2)|0,(c[x>>2]|0)==0):0){c[x>>2]=1;q=C+(w+1<<2)|0;n=0;s=0;g=0.0;p=c[C+(w<<2)>>2]|0;k=o;b=r;while(1){if((p|0)>=(c[q>>2]|0))break;e=t+(p<<2)|0;f=c[e>>2]|0;if(((c[C+(f+1<<2)>>2]|0)-(c[C+(f<<2)>>2]|0)|0)==1){c[u+(f<<2)>>2]=1;cq(z,s,v);g=g+ +Xw(d,a,w,c[e>>2]|0);k=c[z>>2]|0;c[k+(s<<2)>>2]=c[e>>2];e=n;f=s+1|0}else{bq(y,n,A);j=+dq(d,a,w,c[e>>2]|0);b=c[y>>2]|0;h[b+(n<<3)>>3]=j;e=n+1|0;f=s;m=b}n=e;s=f;p=p+1|0}j=g/+(s|0);if((n|0)>0){iq(n,m);b=m}g=(s|0)>1?6.283185307179586/+(s+-1|0):0.0;e=0;i=0.0;while(1){if((e|0)>=(s|0)){o=k;f=k;break a}jq(d,a,j,i,w,c[k+(e<<2)>>2]|0);e=e+1|0;i=g+i}}else{e=n;f=k;b=r}while(0);n=e+1|0;r=b;k=f}l6(u);l6(r);l6(k);l=D;return}function iq(a,b){a=a|0;b=b|0;k3(b,a,8,68);return}function jq(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;var g=0.0;g=+I(+d)*c;e=S(e,b)|0;f=S(f,b)|0;h[a+(f<<3)>>3]=g+ +h[a+(e<<3)>>3];d=+J(+d)*c;h[a+(f+1<<3)>>3]=d+ +h[a+(e+1<<3)>>3];return}function kq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0,R=0.0,T=0,U=0,V=0,W=0;n=+h[d>>3];m=d+24|0;l=+h[m>>3];o=d+32|0;k=+h[o>>3];P=+h[d+72>>3];Q=c[d+80>>2]|0;R=+h[d+88>>3];r=+h[d+96>>3];T=c[d+104>>2]|0;i=c[d+56>>2]|0;_3(92499,32,1,c[15715]|0)|0;if(!((b|0)==0|(Q|0)<1)?(U=c[b>>2]|0,j=c[b+4>>2]|0,!((a|0)<1|(j|0)<1)):0){p=a<<3;V=IK(S(p,j)|0)|0;if((j|0)<(c[d+52>>2]|0)){J=0;K=0;L=0;M=0;N=0;O=0}else{Zp(i)|0;M=IK(a*80|0)|0;N=IK(80)|0;O=IK(80)|0;J=O;K=N;L=M}c[g>>2]=0;if((U|0)==(j|0)){D=sw(b,1)|0;E=c[D+20>>2]|0;F=c[D+24>>2]|0;I=S(U,a)|0;a:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);i=0;while(1){if((i|0)>=(I|0))break a;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(l<0.0){l=+aq(D,a,f);h[m>>3]=l}if(k<0.0){h[o>>3]=.2;k=.2}if(n>=0.0){h[d>>3]=-1.0;n=-1.0}B=1.0-n;C=+H(+l,+B);z=+H(+k,+((2.0-n)/3.0))/l;A=IK(p)|0;w=S(U,p)|0;x=IK(w)|0;y=d+116|0;u=n==-1.0;v=(e|0)!=0;s=0;t=0.0;while(1){i=0;while(1){if((i|0)>=(I|0))break;h[V+(i<<3)>>3]=0.0;i=i+1|0}B6(x|0,f|0,w|0)|0;q=0;while(1){if((q|0)<(U|0))i=0;else{o=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=S(q,a)|0;b:do if(v&(c[y>>2]|0)!=0){i=0;while(1){if((i|0)==(U|0)){i=0;break b}c:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=e+(i<<3)|0;m=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break c;o=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[o>>3]=+h[o>>3]+C*+h[g>>3]*(+h[f+(j+p<<3)>>3]-+h[f+(j+m<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}else{i=0;while(1){if((i|0)==(U|0)){i=0;break b}d:do if((i|0)!=(q|0)){l=+Ww(f,a,q,i);g=S(i,a)|0;n=l*l;j=0;while(1){if((j|0)>=(a|0))break d;m=A+(j<<3)|0;if(u)k=n;else k=+H(+l,+B);h[m>>3]=+h[m>>3]+C*(+h[f+(j+p<<3)>>3]-+h[f+(j+g<<3)>>3])/k;j=j+1|0}}while(0);i=i+1|0}}while(0);while(1){if((i|0)>=(a|0))break;o=V+(i+p<<3)|0;h[o>>3]=+h[A+(i<<3)>>3]+ +h[o>>3];i=i+1|0}q=q+1|0}e:while(1){if((o|0)<(U|0))i=0;else{l=0.0;j=0;break}while(1){if((i|0)>=(a|0))break;h[A+(i<<3)>>3]=0.0;i=i+1|0}p=o+1|0;g=E+(p<<2)|0;q=S(o,a)|0;j=c[E+(o<<2)>>2]|0;while(1){if((j|0)>=(c[g>>2]|0)){i=0;break}m=F+(j<<2)|0;i=c[m>>2]|0;f:do if((i|0)!=(o|0)){k=+Xw(f,a,o,i);i=0;while(1){if((i|0)>=(a|0))break f;n=k*(z*(+h[f+(i+q<<3)>>3]-+h[f+((S(c[m>>2]|0,a)|0)+i<<3)>>3]));W=A+(i<<3)|0;h[W>>3]=+h[W>>3]-n;i=i+1|0}}while(0);j=j+1|0}while(1){if((i|0)>=(a|0)){o=p;continue e}W=V+(i+q<<3)|0;h[W>>3]=+h[A+(i<<3)>>3]+ +h[W>>3];i=i+1|0}}while(1){if((j|0)>=(U|0))break;g=S(j,a)|0;i=0;while(1){if((i|0)>=(a|0)){k=0.0;i=0;break}h[A+(i<<3)>>3]=+h[V+(i+g<<3)>>3];i=i+1|0}while(1){if((i|0)>=(a|0))break;n=+h[A+(i<<3)>>3];k=k+n*n;i=i+1|0}k=+G(+k);l=l+k;g:do if(k>0.0){i=0;while(1){if((i|0)>=(a|0)){i=0;break g}W=A+(i<<3)|0;h[W>>3]=+h[W>>3]/k;i=i+1|0}}else i=0;while(0);while(1){if((i|0)>=(a|0))break;W=f+(i+g<<3)|0;h[W>>3]=+h[W>>3]+r*+h[A+(i<<3)>>3];i=i+1|0}j=j+1|0}s=s+1|0;r=+gq(T,r,l,t,R);if(!((s|0)<(Q|0)&r>P))break;else t=l}if(c[d+112>>2]|0)hq(a,D,f);l6(x);if((D|0)!=(b|0))nw(D);l6(A)}else c[g>>2]=-100;if(L|0)l6(M);if(K|0)l6(N);if(J|0)l6(O);l6(V)}return}function lq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0.0,R=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ia=l;l=l+32|0;aa=ia+24|0;ba=ia+20|0;fa=ia+16|0;ga=ia+12|0;ha=ia+8|0;W=ia;s=+h[d>>3];k=d+24|0;r=+h[k>>3];m=d+32|0;q=+h[m>>3];X=+h[d+72>>3];Y=c[d+80>>2]|0;Z=+h[d+88>>3];t=+h[d+96>>3];_=c[d+104>>2]|0;c[aa>>2]=0;c[ba>>2]=10;c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;h[W>>3]=0.0;ea=d+56|0;n=c[ea>>2]|0;if(!((b|0)==0|(Y|0)<1)?($=c[b>>2]|0,i=c[b+4>>2]|0,!((a|0)<1|(i|0)<1)):0){if((i|0)<(c[d+52>>2]|0)){da=0;ca=0}else{da=Zp(n)|0;c[fa>>2]=IK(a*80|0)|0;c[ga>>2]=IK(80)|0;c[ha>>2]=IK(80)|0;ca=1}c[g>>2]=0;a:do if(($|0)==(i|0)){o=sw(b,1)|0;R=c[o+20>>2]|0;T=c[o+24>>2]|0;b:do if(c[d+16>>2]|0){T4(c[d+108>>2]|0);j=S($,a)|0;i=0;while(1){if((i|0)>=(j|0))break b;h[f+(i<<3)>>3]=+Pw();i=i+1|0}}while(0);if(r<0.0){r=+aq(o,a,f);h[k>>3]=r}if(q<0.0){h[m>>3]=.2;q=.2}if(s>=0.0){h[d>>3]=-1.0;s=-1.0}P=1.0-s;Q=+H(+r,+P);M=+H(+q,+((2.0-s)/3.0))/r;N=a<<3;U=IK(N)|0;N=S($,N)|0;V=IK(N)|0;O=d+116|0;I=s==-1.0;J=d+64|0;K=(e|0)!=0;L=+($|0);i=0;E=0;F=0.0;while(1){E=E+1|0;B6(V|0,f|0,N|0)|0;if(ca){i=$p(da)|0;n=i;i=ew(a,$,i,f,(c[O>>2]|0)==0?0:e)|0}u=0.0;s=0.0;y=0;r=0.0;c:while(1){if((y|0)<($|0))j=0;else break;while(1){if((j|0)>=(a|0))break;h[U+(j<<3)>>3]=0.0;j=j+1|0}C=y+1|0;m=R+(C<<2)|0;D=S(y,a)|0;k=c[R+(y<<2)>>2]|0;while(1){if((k|0)>=(c[m>>2]|0))break;p=T+(k<<2)|0;j=c[p>>2]|0;d:do if((j|0)!=(y|0)){q=+Xw(f,a,y,j);j=0;while(1){if((j|0)>=(a|0))break d;w=q*(M*(+h[f+(j+D<<3)>>3]-+h[f+((S(c[p>>2]|0,a)|0)+j<<3)>>3]));B=U+(j<<3)|0;h[B>>3]=+h[B>>3]-w;j=j+1|0}}while(0);k=k+1|0}e:do if(!ca)if(K&(c[O>>2]|0)!=0){j=0;while(1){if((j|0)==($|0))break e;f:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=e+(j<<3)|0;p=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break f;x=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[x>>3]=+h[x>>3]+Q*+h[m>>3]*(+h[f+(k+D<<3)>>3]-+h[f+(k+p<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{j=0;while(1){if((j|0)==($|0))break e;g:do if((j|0)!=(y|0)){v=+Ww(f,a,y,j);m=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break g;p=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[p>>3]=+h[p>>3]+Q*(+h[f+(k+D<<3)>>3]-+h[f+(k+m<<3)>>3])/q;k=k+1|0}}while(0);j=j+1|0}}else{_v(i,+h[J>>3],f+(D<<3)|0,y,aa,ba,fa,ga,ha,W,g);u=u+ +h[W>>3];B=c[aa>>2]|0;s=s+ +(B|0);if(c[g>>2]|0){m=U;k=V;i=U;j=V;p=72;break a}m=c[ha>>2]|0;p=c[ga>>2]|0;x=c[fa>>2]|0;j=0;while(1){if((j|0)>=(B|0))break e;v=+h[m+(j<<3)>>3];v=v>1.0e-15?v:1.0e-15;y=p+(j<<3)|0;z=S(j,a)|0;w=v*v;k=0;while(1){if((k|0)>=(a|0))break;A=U+(k<<3)|0;if(I)q=w;else q=+H(+v,+P);h[A>>3]=+h[A>>3]+Q*+h[y>>3]*(+h[f+(k+D<<3)>>3]-+h[x+(k+z<<3)>>3])/q;k=k+1|0}j=j+1|0}}while(0);q=0.0;j=0;while(1){if((j|0)>=(a|0))break;w=+h[U+(j<<3)>>3];q=q+w*w;j=j+1|0}q=+G(+q);r=r+q;h:do if(q>0.0){j=0;while(1){if((j|0)>=(a|0)){j=0;break h}B=U+(j<<3)|0;h[B>>3]=+h[B>>3]/q;j=j+1|0}}else j=0;while(0);while(1){if((j|0)>=(a|0)){y=C;continue c}B=f+(j+D<<3)|0;h[B>>3]=+h[B>>3]+t*+h[U+(j<<3)>>3];j=j+1|0}}if(i|0){lw(i);_p(da,s/L*5.0+u/L)}t=+gq(_,t,r,F,Z);if(!((E|0)<(Y|0)&t>X))break;else F=r}if(!(c[d+112>>2]|0)){m=U;k=V;j=V;i=U;p=71}else{hq(a,o,f);m=U;k=V;j=V;i=U;p=71}}else{c[g>>2]=-100;o=b;m=0;k=0;j=0;i=0;p=71}while(0);if((p|0)==71)if(ca)p=72;if((p|0)==72){Yp(da);c[ea>>2]=n}if(k|0)l6(j);if((o|0)!=(b|0))nw(o);if(m|0)l6(i);i=c[fa>>2]|0;if(i|0)l6(i);i=c[ga>>2]|0;if(i|0)l6(i);i=c[ha>>2]|0;if(i|0)l6(i)}l=ia;return}function mq(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;var k=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;ha=l;l=l+48|0;p=ha+8|0;ca=ha+40|0;da=ha+36|0;X=ha+32|0;fa=ha+28|0;ga=ha+24|0;Y=ha;q=+h[e>>3];r=e+32|0;s=+h[r>>3];Z=+h[e+72>>3];_=c[e+80>>2]|0;$=+h[e+88>>3];u=+h[e+96>>3];aa=c[e+104>>2]|0;c[ca>>2]=0;c[da>>2]=10;c[X>>2]=0;c[fa>>2]=0;c[ga>>2]=0;h[Y>>3]=0.0;if(!((b|0)==0|(_|0)<1)?(ba=c[b>>2]|0,n=c[b+4>>2]|0,!((a|0)<1|(n|0)<1)):0){if((c[e+132>>2]|0)!=0?(n|0)>=(c[e+52>>2]|0):0){m=IK(a*80|0)|0;c[X>>2]=m;c[fa>>2]=IK(80)|0;c[ga>>2]=IK(80)|0;t=1;k=m}else{t=0;k=0;m=0}c[j>>2]=0;if((ba|0)==(n|0)){W=sw(b,1)|0;if(!d){V=0;k=W}else{V=c[d+28>>2]|0;k=d}U=c[k+24>>2]|0;T=c[k+20>>2]|0;o=+(ba|0);if(i<0.0){F=+nq(ba,T,V);E=+(c[T+(ba<<2)>>2]|0);i=E/(o*o-E)*i/+H(+F,+(q+1.0));R=c[15715]|0;h[p>>3]=F;h[p+8>>3]=i;z4(R,92532,p)|0}a:do if(c[e+16>>2]|0){_3(92554,24,1,c[15715]|0)|0;T4(c[e+108>>2]|0);m=S(ba,a)|0;k=0;while(1){if((k|0)>=(m|0))break a;h[g+(k<<3)>>3]=+Pw();k=k+1|0}}while(0);oq(ba,a,g,T,U,V);if(s<0.0)h[r>>3]=.2;if(!(q>=0.0))o=q;else{h[e>>3]=-1.0;o=-1.0}Q=a<<3;P=IK(Q)|0;Q=S(ba,Q)|0;R=IK(Q)|0;M=(t|0)!=0;N=e+116|0;O=o==-1.0;F=1.0-o;I=(f|0)!=0;J=(V|0)==0;K=e+8|0;L=e+64|0;k=0;D=0;E=0.0;o=1.0;C=u;b:while(1){D=D+1|0;B6(R|0,g|0,Q|0)|0;if(M)k=ew(a,ba,10,g,(c[N>>2]|0)==0?0:f)|0;t=0;s=0.0;c:while(1){if((t|0)<(ba|0))m=0;else break;while(1){if((m|0)>=(a|0))break;h[P+(m<<3)>>3]=0.0;m=m+1|0}B=t+1|0;r=T+(B<<2)|0;A=S(t,a)|0;p=c[T+(t<<2)>>2]|0;while(1){if((p|0)>=(c[r>>2]|0))break;d=U+(p<<2)|0;m=c[d>>2]|0;d:do if((m|0)!=(t|0)){z=+Ww(g,a,t,m);if(!J)o=+h[V+(p<<3)>>3];q=+h[K>>3];v=z-o;u=o*o;e:do if(!(q==2.0))if(q==1.0){q=1.0/u;m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/+H(+o,+(q+1.0));m=0;while(1){if((m|0)>=(a|0))break e;u=q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]);u=-(u*+H(+v,+(+h[K>>3])))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}else{q=1.0/(o*u);m=0;while(1){if((m|0)>=(a|0))break e;u=-(v*(v*(q*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3]))))/z;y=P+(m<<3)|0;h[y>>3]=+h[y>>3]+u;m=m+1|0}}while(0);u=z*z;q=+H(+z,+F);if(I&(c[N>>2]|0)!=0){n=f+(p<<3)|0;q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*+h[n>>3]*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}else{q=O?u:q;m=0;while(1){if((m|0)>=(a|0))break d;y=P+(m<<3)|0;z=i*(+h[g+(m+A<<3)>>3]-+h[g+((S(c[d>>2]|0,a)|0)+m<<3)>>3])/q;h[y>>3]=+h[y>>3]-z;m=m+1|0}}}while(0);p=p+1|0}f:do if(!M)if(I&(c[N>>2]|0)!=0){m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}g:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=f+(m<<3)|0;p=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break g;r=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[r>>3]=+h[r>>3]+i*+h[d>>3]*(+h[g+(n+A<<3)>>3]-+h[g+(n+p<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{m=0;while(1){if((m|0)==(ba|0)){q=0.0;m=0;break f}h:do if((m|0)!=(t|0)){u=+Ww(g,a,t,m);d=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break h;p=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[p>>3]=+h[p>>3]+i*(+h[g+(n+A<<3)>>3]-+h[g+(n+d<<3)>>3])/q;n=n+1|0}}while(0);m=m+1|0}}else{_v(k,+h[L>>3],g+(A<<3)|0,t,ca,da,X,fa,ga,Y,j);d=c[ca>>2]|0;if(c[j>>2]|0)break b;p=c[ga>>2]|0;r=c[fa>>2]|0;t=c[X>>2]|0;m=0;while(1){if((m|0)>=(d|0)){q=0.0;m=0;break f}u=+h[p+(m<<3)>>3];u=u>1.0e-15?u:1.0e-15;w=r+(m<<3)|0;x=S(m,a)|0;v=u*u;n=0;while(1){if((n|0)>=(a|0))break;y=P+(n<<3)|0;if(O)q=v;else q=+H(+u,+F);h[y>>3]=+h[y>>3]+i*+h[w>>3]*(+h[g+(n+A<<3)>>3]-+h[t+(n+x<<3)>>3])/q;n=n+1|0}m=m+1|0}}while(0);while(1){if((m|0)>=(a|0))break;z=+h[P+(m<<3)>>3];q=q+z*z;m=m+1|0}q=+G(+q);s=s+q;i:do if(q>0.0){m=0;while(1){if((m|0)>=(a|0)){m=0;break i}y=P+(m<<3)|0;h[y>>3]=+h[y>>3]/q;m=m+1|0}}else m=0;while(0);while(1){if((m|0)>=(a|0)){t=B;continue c}y=g+(m+A<<3)|0;h[y>>3]=+h[y>>3]+C*+h[P+(m<<3)>>3];m=m+1|0}}if(k|0)lw(k);C=+gq(aa,C,s,E,$);if(!((D|0)<(_|0)&C>Z)){ea=88;break}else E=s}if((ea|0)==88?c[e+112>>2]|0:0)hq(a,W,g);l6(R);if((W|0)!=(b|0))nw(W);l6(P);k=c[X>>2]|0;m=k}else c[j>>2]=-100;if(m|0)l6(k);k=c[fa>>2]|0;if(k|0)l6(k);k=c[ga>>2]|0;if(k|0)l6(k)}l=ha;return}function nq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0.0;if(!d)e=1.0;else{f=0;e=0.0;a:while(1){if((f|0)>=(a|0))break;g=f+1|0;i=c[b+(g<<2)>>2]|0;f=c[b+(f<<2)>>2]|0;while(1){if((f|0)>=(i|0)){f=g;continue a}j=e+ +h[d+(f<<3)>>3];f=f+1|0;e=j}}e=e/+(c[b+(a<<2)>>2]|0)}return +e}function oq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0;v=l;l=l+16|0;u=v;t=(g|0)==0;k=0.0;m=0.0;n=1.0;j=0;a:while(1){if((j|0)>=(a|0))break;r=j+1|0;s=e+(r<<2)|0;q=c[e+(j<<2)>>2]|0;while(1){if((q|0)>=(c[s>>2]|0)){j=r;continue a}i=c[f+(q<<2)>>2]|0;b:do if((i|0)!=(j|0)){o=+Ww(d,b,j,i);if(!t)n=+h[g+(q<<3)>>3];w=1.0/(n*n);p=o*(n*w);o=o*(o*w);i=0;while(1){if((i|0)>=(b|0))break b;i=i+1|0;k=o+k;m=p+m}}while(0);q=q+1|0}}k=m/k;j=S(b,a)|0;i=0;while(1){if((i|0)>=(j|0))break;b=d+(i<<3)|0;h[b>>3]=k*+h[b>>3];i=i+1|0}d=c[15715]|0;h[u>>3]=k;z4(d,92579,u)|0;l=v;return}\nfunction $g(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function bh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=bh(a,f,b,e)|0;l=d;return b|0}function dh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;d=(c[d+184>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+180>>2]|0;f=f+184|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;d=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function fh(a){a=a|0;if(!a)Aa(85823,85833,117,85842);else{eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function gh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;d=(c[d+208>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function hh(a){a=a|0;ih(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;g=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){f=4;break}if((c[g+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((f|0)==4){d=(e<<2)+8|0;if(!g)d=IK(d)|0;else d=KK(g,d)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function jh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=HK(96)|0;g=o+48|0;c[g>>2]=c[g>>2]|3;c[o>>2]=c[o>>2]&-4|2;i=HK(176)|0;n=o+16|0;c[n>>2]=i;c[((c[o>>2]&3|0)==3?o:g)+40>>2]=d;j=o+-48|0;c[((c[o>>2]&3|0)==2?o:j)+40>>2]=e;a[i+112>>0]=1;if(!f){c[i+156>>2]=1;b[i+154>>1]=1;b[i+168>>1]=1;b[i+170>>1]=1}else{c[o>>2]=c[o>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;m=f+16|0;h=c[m>>2]|0;b[i+168>>1]=b[h+168>>1]|0;b[i+154>>1]=b[h+154>>1]|0;c[i+156>>2]=c[h+156>>2];b[i+170>>1]=b[h+170>>1]|0;d=c[((c[o>>2]&3|0)==3?o:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;l=f+-48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){if((d|0)==(c[((e|0)==2?f:l)+40>>2]|0)){g=i+16|0;d=h+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=i+16|0;d=h+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=c[((c[o>>2]&3|0)==2?o:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:l)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+16|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}}else{g=(c[n>>2]|0)+56|0;d=(c[m>>2]|0)+56|0;e=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}d=(c[m>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=o;c[(c[n>>2]|0)+116>>2]=f}return o|0}function kh(a,b,c){a=a|0;b=b|0;c=c|0;return dh(jh(a,b,c)|0)|0}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[a+16>>2]|0)+192|0;f=c[d>>2]|0;e=c[b+16>>2]|0;c[e+164>>2]=f;a=f;if(f|0)c[(c[a+16>>2]|0)+168>>2]=b;c[d>>2]=b;c[e+168>>2]=0;if((a|0)==(b|0))Aa(85859,85833,215,85875);else return}function mh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))Aa(85885,85833,220,85892);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)Aa(85905,85833,221,85892);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function nh(a,b){a=a|0;b=b|0;var d=0;if(!(oh(a,b)|0))Aa(85924,85833,231,85945);b=c[b+16>>2]|0;d=c[b+164>>2]|0;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=d;else c[(c[b+16>>2]|0)+164>>2]=d;return}function oh(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function ph(b){b=b|0;var d=0,e=0,f=0,g=0;d=HK(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=HK(304)|0;c[d+24>>2]=vC(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=HK(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=HK(20)|0;c[(c[e>>2]|0)+180>>2]=f;lh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function qh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;f=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[f+188>>2]|0;f=(c[f+192>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;e=c[h+188>>2]|0;h=h+192|0;f=c[h>>2]|0;c[h>>2]=f+1;c[e+(f<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;e=c[f+196>>2]|0;f=(c[f+200>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(dg(b)|0)+16>>2]|0)+240>>0]=1;return}function rh(a){a=a|0;var b=0,d=0;if(!a)Aa(85823,85833,269,85962);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;eh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);eh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;th(a,b);break}else Aa(87865,85833,340,86e3);else dA(0,85979,f)|0;while(0);l=f;return}function th(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function uh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;vh(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))wh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;vh(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function vh(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function wh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)Aa(85823,85833,128,86013);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))eh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){eh(d,a);b=c[a>>2]|0}f=f+1|0}return}function xh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+1040|0;n=p+4|0;o=p;m=p+8|0;k=a+16|0;a=c[k>>2]|0;j=b[a+236>>1]|0;while(1){if((j|0)>(b[a+238>>1]|0))break;i=c[a+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;a=0;while(1){d=(a|0)!=0;if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){c[n>>2]=c[4658];a=lB(86035,n,0)|0}c[o>>2]=g;i2(m,137696,o)|0;s=qC(a,m,1)|0;RC(s,91465,24,1)|0;d=c[(c[f>>2]|0)+180>>2]|0;q=c[d>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;d=c[d+4>>2]|0;d=c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;r=(q|0)>(d|0);f=c[s+16>>2]|0;c[f+12>>2]=r?d:q;c[f+16>>2]=r?q:d;c[f+20>>2]=e}g=g+1|0}if(d){if((qB(a)|0)>1)yh(a,h);pB(a)|0}j=j+1|0;a=c[k>>2]|0}l=p;return}function yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=gC(a)|0;a:while(1){if(!h)break;i=hC(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))fB(a,h,g,0,1)|0}else{fB(a,g,h,0,1)|0;d=1}g=hC(a,g)|0}}do if(d|0){h=LD(a,86038,1)|0;j=HK((qB(a)|0)<<2)|0;i=HK((qB(a)|0)<<2)|0;f=b+4|0;e=gC(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?sB(a,e,1,1)|0:0){c:do if(zh(a,e,h,i)|0){g=qB(h)|0;if((Ah(a,h,j)|0)!=(g|0)){d=17;break b}k3(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Ch(h)}e=hC(a,e)|0}if((d|0)==17)Aa(86043,86053,265,86064);else if((d|0)==23){l6(j);break}}while(0);return}function zh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((qB(d)|0)<<2)>>2]=h;lC(d,b,1)|0;h=UA(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[i+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=WA(a,h)|0}h=XA(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)+f|0;if(!(c[j+8>>2]|0))f=(zh(a,g,d,e)|0)+f|0;h=YA(a,h)|0}return f|0}function Ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Dh(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];sC(b,e)|0;e=UA(a,e)|0;while(1){if(!e)break;g=WA(a,e)|0;iB(a,e)|0;e=g}f=f+1|0}return f|0}function Bh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Ch(a){a=a|0;var b=0,c=0;b=gC(a)|0;while(1){if(!b)break;c=hC(a,b)|0;sC(a,b)|0;b=c}return}function Dh(a,b){a=a|0;b=b|0;var c=0;c=gC(b)|0;while(1){if(!c){c=0;break}if(!(sB(a,c,1,0)|0))break;c=hC(b,c)|0}return c|0}function Eh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Fh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Gh(b,f);f=f+1|0;e=(Hh(b,0,d)|0)+e|0}Ih(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Jh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=NA(b,86078)|0;if(f|0?(bP(f)|0)<<24>>24==0:0)break;gl(b);a[194049]=1;e=Hh(b,2,d)|0}while(0);Kh(b,e);return}function Fh(d){d=d|0;var e=0;if(a[195234]|0)RO();a[194049]=0;c[46783]=d;e=((rB(dg(d)|0)|0)<<2)+4|0;c[46782]=HK(e)|0;c[46781]=HK(e)|0;Ai(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Bi(d);Pk(d);Dl(d,1);Ci(d);Rh(d);e=c[e>>2]|0;c[46784]=b[e+236>>1];c[46785]=b[e+238>>1];return}function Gh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Hh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;if((d|0)>1){f=fi(0)|0;gi(b)}else f=2147483647;o=c[15715]|0;n=d;g=0;d=f;while(1){if((n|0)>=3)break;g=c[47183]|0;if((n|0)==2)if((f|0)>(d|0)){ii(b);f=d}else f=d;else{f=(g|0)<4?g:4;if((dg(b)|0)==(b|0))hi(b,n);if(!n)Sh(b);Th(b);i=fi(0)|0;if((i|0)>(d|0)){g=f;f=i}else{gi(b);g=f;f=i;d=i}}i=0;m=0;while(1){j=(f|0)==0;if((m|0)>=(g|0))break;if(a[195234]|0){c[p>>2]=n;c[p+4>>2]=m;c[p+8>>2]=i;c[p+12>>2]=f;c[p+16>>2]=d;z4(o,86471,p)|0}k=i+1|0;if(j|(i|0)>=(c[46786]|0))break;ji(b,m);f=fi(0)|0;if((f|0)>(d|0))i=k;else{gi(b);i=+(f|0)<+(d|0)*+h[23234]?0:k;d=f}m=m+1|0}if(j){f=0;break}else n=n+1|0}if((f|0)>(d|0))ii(b);if((d|0)>0){ki(b,0);f=fi(0)|0}else f=d;a:do if(e|0){d=0;while(1){if((d|0)>=(g|0))break a;li(b);d=d+1|0}}while(0);l=q;return f|0}function Ih(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;ei(d);m=d+16|0;e=c[m>>2]|0;n=c[15715]|0;k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(k<<6)+8>>2]|0;c[f+(k<<6)>>2]=g;h=c[f+(k<<6)+12>>2]|0;c[f+(k<<6)+4>>2]=h;j=0;while(1){if((j|0)>=(g|0))break;i=c[h+(j<<2)>>2]|0;if(!i){p=6;break}c[(c[i+16>>2]|0)+236>>2]=j;j=j+1|0}if((p|0)==6){p=0;if(a[195234]|0){f=HB(d)|0;e=c[(c[(c[m>>2]|0)+196>>2]|0)+(k<<6)>>2]|0;c[o>>2]=f;c[o+4>>2]=k;c[o+8>>2]=j;c[o+12>>2]=e;z4(n,86421,o)|0;e=c[m>>2]|0;f=c[e+196>>2]|0}c[f+(k<<6)>>2]=j}k=k+1|0}l=q;return}function Jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;al(a);Rh(a);Sh(a);Th(a);f=a+16|0;d=Hh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Jh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Uh(a);return d|0}function Kh(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[46781]|0;if(f|0){l6(f);c[46781]=0}f=c[46782]|0;if(f|0){l6(f);c[46782]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Lh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){rh(i);l6(c[j>>2]|0);l6(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Mh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(a[195234]|0){o=c[15715]|0;d=HB(d)|0;r=+SO();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;z4(o,86089,p)|0}l=q;return}function Lh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Lh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Nh(a,j,-1)|0;j=Nh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Mh(a){a=a|0;if(a|0){l6(c[a+8>>2]|0);l6(a)}return}function Nh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Oh(b,c)|0;if(!b)break;if(Ph(a,b)|0){d=b;continue}e=(Qh(a,b)|0)==0;d=e?d:b}return d|0}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)Aa(86128,86053,1023,86130);a=a+16|0;if((b|0)<0){a=c[a>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((S((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else Aa(86139,86053,1029,86130);else g=0}return g|0}function Ph(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(EC(b,d)|0)!=0;else b=0;return b&1|0}function Qh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(EC(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Rh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[47194]|0;a:do if((d|0)!=0|(c[47223]|0)!=0){d=_O(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(f2(d,86341)|0)){$h(b,1);break a}break}case 105:{if(!(f2(d,99036)|0)){$h(b,0);break a}break}default:{}}c[e>>2]=d;dA(1,86345,e)|0;break}d=MD(b)|0;while(1){if(!d)break;if(!(Mj(d)|0))Rh(d);d=ND(d)|0}if(c[47223]|0)ai(b)}while(0);l=f;return}function Sh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=Zh(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){_h(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Th(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=d+16|0;e=c[t>>2]|0;if(a[e+240>>0]|0){h=0;s=b[e+236>>1]|0;f=0;a:while(1){r=(h|0)!=0;if((s|0)>(b[e+238>>1]|0))break;g=c[e+196>>2]|0;i=c[g+(s<<6)>>2]|0;if(!i)g=h;else{g=c[g+(s<<6)+4>>2]|0;p=c[(c[(c[g>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){h=e+1|0;if((e|0)>=(i|0))break;a[(c[(c[g+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=h}e=h<<2;if(r)q=KK(f,e)|0;else q=IK(e)|0;m=0;n=0;while(1){e=c[t>>2]|0;g=c[e+196>>2]|0;h=c[g+(s<<6)>>2]|0;i=e+116|0;o=q+(m<<2)|0;if((h|0)<=(n|0))break;j=c[(c[g+(s<<6)+4>>2]|0)+(((c[i>>2]&1|0)==0?h+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){g=0;h=0;e=i;break}i=((Vh(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)+k|0;e=e+1|0;k=i}while(1){if((h|0)>=(c[e+192>>2]|0))break;i=((Vh(d,c[(c[e+188>>2]|0)+(h<<2)>>2]|0)|0)!=0&1)+g|0;g=i;h=h+1|0;e=c[l>>2]|0}if(g|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=(Wh(d,j,o,s)|0)+m|0;else e=m;else{c[o>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[i>>2]&1)){g=q;e=o;while(1){e=e+-4|0;if(g>>>0>=e>>>0){h=0;break c}o=c[g>>2]|0;c[g>>2]=c[e>>2];c[e>>2]=o;g=g+4|0}}else h=0;while(0);while(1){e=c[t>>2]|0;i=c[e+196>>2]|0;g=c[i+(s<<6)>>2]|0;if((h|0)>=(g|0)){m=0;h=i;break}o=c[q+(h<<2)>>2]|0;c[(c[i+(s<<6)+4>>2]|0)+(h<<2)>>2]=o;c[(c[o+16>>2]|0)+236>>2]=h+p;h=h+1|0}while(1){if((m|0)>=(g|0))break b;l=(c[(c[h+(s<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;g=i;while(1){h=c[g+(k<<2)>>2]|0;e=c[t>>2]|0;if(!h)break;j=c[h>>2]&3;i=c[(c[(c[((j|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))u=35;else e=k;else if((i|0)>(j|0))u=35;else e=k;if((u|0)==35){u=0;if(Vh(d,h)|0){u=36;break a}rh(h);Xh(d,h);e=k+-1|0;g=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}g=c[e+196>>2]|0;h=g;g=c[g+(s<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)+49>>0]=0;g=q;f=q}h=g;s=s+1|0}if((u|0)==36)Aa(86187,86053,1561,86226);if(r)l6(f)}return}function Uh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function Vh(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(Yh(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(Yh(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function Wh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((Vh(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=(Wh(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else Aa(86239,86053,1490,86255);return 0}function Xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=c[d>>2]&3;i=c[((h|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[i+16>>2]|0)+188>>2]|0;l=d+48|0;a:do if(!f)m=14;else{g=((h|0)==3?d:l)+40|0;e=0;while(1){j=c[f+(e<<2)>>2]|0;if(!j){m=14;break a}if((c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}sh(d,j);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=j;e=c[j+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;b=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;e=c[b+204>>2]|0;b=(c[b+208>>2]<<2)+8|0;if(!e)e=IK(b)|0;else e=KK(e,b)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;l=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[l+204>>2]|0)+(c[l+208>>2]<<2)>>2]=0}while(0);if((m|0)==14){m=jh(i,c[((h|0)==3?d:l)+40>>2]|0,d)|0;d=c[d+16>>2]|0;l=c[m+16>>2]|0;a[l+112>>0]=(a[d+112>>0]|0)==4?4:3;c[l+96>>2]=c[d+96>>2];qh(b,m)}return}function Yh(a,b){a=a|0;b=b|0;var c=0;c=Ph(a,b)|0;return Qh(a,b)|0|c|0}function Zh(a,b){a=a|0;b=b|0;var d=0;d=HK(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=HK(S(b,a)|0)|0;return d|0}function _h(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(dg(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}g=j+-48|0;e=j+48|0;if(l){if((EC(b,c[((c[j>>2]&3|0)==3?j:e)+40>>2]|0)|0)!=0?(EC(b,c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){s=c[j>>2]&3;r=c[(c[((s|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);e=((s|0)==3?j:e)+40|0;if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((S(f,i)|0)+e)>>0]=1;rh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;Xh(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[e>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((S(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;_h(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)Aa(86265,86053,1251,86297);else if((q|0)==12)Aa(86309,86053,1252,86297);else if((q|0)==16)Aa(86265,86053,1260,86297);else if((q|0)==18)Aa(86309,86053,1261,86297)}else p=e;while(0);a[p+158>>0]=0;return}function $h(a,b){a=a|0;b=b|0;var c=0;c=gC(a)|0;while(1){if(!c)break;bi(a,c,b);c=hC(a,c)|0}return}function ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=gC(b)|0;while(1){if(!d)break;e=_O(d,c[47223]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(f2(e,86341)|0)){bi(b,d,1);break a}break}case 105:{if(!(f2(e,99036)|0)){bi(b,d,0);break a}break}default:{}}h=HB(d)|0;c[f>>2]=e;c[f+4>>2]=h;dA(1,86376,f)|0}while(0);d=hC(b,d)|0}l=g;return}function bi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[46782]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(ci(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;k3(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(ch(e,d)|0)break a;i=jh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;qh(b,i);f=f+1|0}}}while(0);return}function ci(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function di(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ei(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=c[a+16>>2]|0;h=g+220|0;i=c[h>>2]|0;if((i|0)>=2){f=c[g+216>>2]|0;a=0;e=0;while(1){if((e|0)==(i|0))break;d=c[f+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[h>>2]=1;c[g+192>>2]=c[f>>2];b[g+236>>1]=c[46784];b[g+238>>1]=c[46785]}return}function fi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[46783]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=yi(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function gi(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function hi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=TO(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;VO(o,g);while(1){f=WO(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){fl(d,f,e,o);continue}else{wi(d,f);xi(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(WO(o)|0)dA(1,86584,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;qi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((dg(d)|0)==(d|0)?(fi(0)|0)>0:0)ki(d,0);UO(o);l=r;return}function ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;k3(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function ji(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=((d|0)%4|0|0)<2&1;f=c[a+16>>2]|0;i=b[f+238>>1]|0;j=i<<16>>16;f=b[f+236>>1]|0;g=f<<16>>16;h=c[(c[46783]|0)+16>>2]|0;if(!(d&1)){k=1;e=j;d=(f<<16>>16<=(b[h+236>>1]|0)&1)+g|0}else{k=-1;e=g;d=((i<<16>>16>=(b[h+238>>1]|0))<<31>>31)+j|0}e=k+e|0;while(1){if((d|0)==(e|0))break;ti(a,d,l,(si(a,d,d-k|0)|0)&255);d=d+k|0}ki(a,l^1);return}function ki(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(ri(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function li(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(mi(d,i,j)|0)continue;if(p){f=ni(i,j)|0;h=ni(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(oi(i,j)|0)+f|0;h=(oi(j,i)|0)+h|0}if((h|0)<=(f|0))break}pi(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)Aa(86535,86053,721,86561);else if((e|0)==16)return}function mi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[194049]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=S(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function ni(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;d=d+16|0;if((e|0)<=0){if((e|0)==0?(m=c[d>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d>>2]|0;n=9}if((n|0)==9){n=0;a=(S(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function pi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=(o&1)+g|0;h=((o^1)&1)+h|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}qi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))qi(e,f)}return}function qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[46783]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function ri(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(mi(d,j,k)|0)continue;if(r){f=ni(j,k)|0;g=ni(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(oi(j,k)|0)+f|0;g=(oi(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}qi(j,k);i=f-g+i|0;g=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)Aa(86535,86053,770,86569);else if((f|0)==17)return i|0;return 0}function si(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[46781]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;i=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;k=c[l>>2]|0;a:do if(n){j=c[k+180>>2]|0;a=0;i=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+88>>0]|c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}else{j=c[k+172>>2]|0;i=0;a=0;while(1){f=c[j+(i<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=d[g+48>>0]|c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8;a=a+1|0}i=i+1|0}}while(0);b:do switch(a|0){case 0:{h[k+240>>3]=-1.0;break}case 1:{h[k+240>>3]=+(c[p>>2]|0);break}case 2:{h[k+240>>3]=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{k3(p,a,4,60);f=(a|0)/2|0;j=c[p+(f<<2)>>2]|0;i=(c[l>>2]|0)+240|0;if(a&1|0){h[i>>3]=+(j|0);break b}g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){h[i>>3]=+((a+j|0)/2|0|0);break b}else{h[i>>3]=+(((S(f,j)|0)+(S(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((i|0)>=(f|0))break;g=c[r+(i<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(ui(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}i=i+1|0}return a|0}function ti(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;m=c[(c[b+16>>2]|0)+196>>2]|0;q=c[m+(d<<6)+4>>2]|0;m=c[m+(d<<6)>>2]|0;o=(e|0)!=0;n=(f|e|0)==0;f=0;e=m;m=q+(m<<2)|0;while(1){l=e+-1|0;if((e|0)>0)e=q;else break;a:while(1){b:while(1){if(e>>>0>=m>>>0)break a;do{if(e>>>0>=m>>>0)break a;k=c[e>>2]|0;e=e+4|0}while(+h[(c[k+16>>2]|0)+240>>3]<0.0);g=0;while(1){if(e>>>0>=m>>>0)break a;i=c[e>>2]|0;if(!(g<<24>>24!=0?(c[(c[i+16>>2]|0)+212>>2]|0)!=0:0)){if(mi(b,k,i)|0)continue b;j=c[i+16>>2]|0;if(+h[j+240>>3]>=0.0)break;g=(c[j+212>>2]|0)==0?g:1}e=e+4|0}g=~~+h[(c[k+16>>2]|0)+240>>3];j=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(j|0)|o&(g|0)==(j|0))break}qi(k,i);f=f+1|0}e=l;m=n?m+-4|0:m}if(f|0?(p=c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0,a[p+(d<<6)+49>>0]=0,(d|0)>0):0)a[p+(d+-1<<6)+49>>0]=0;return}function ui(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0;a=c[a+16>>2]|0;i=a+240|0;if((c[a+200>>2]|0)>0){g=c[a+196>>2]|0;a=c[g>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[g+(d<<2)>>2]|0;f=c[a+16>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[f+236>>2]|0)?e:a;d=d+1|0}b=+h[f+240>>3];if(!(b>=0.0))a=1;else{h[i>>3]=b+1.0;a=0}}else if((c[a+192>>2]|0)>0){e=c[a+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;g=c[d+16>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[g+236>>2]|0)?f:d}b=+h[g+240>>3];if(b>0.0){h[i>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function vi(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function wi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))Aa(86649,86053,1346,86685);g=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=HB(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;dA(1,86701,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a;dA(1,86774,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=HB(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;dA(1,86835,o)|0}}else{n=HB(a)|0;o=HB(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;dA(1,86594,f)|0}while(0);l=p;return}function xi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;VO(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function yi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;t=u;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;r=c[f+(e<<6)+4>>2]|0;s=e+1|0;d=c[(c[(c[(c[46783]|0)+16>>2]|0)+196>>2]|0)+(s<<6)>>2]|0;if((c[46787]|0)>(d|0))d=c[46788]|0;else{f=d+1|0;c[46787]=f;d=c[46788]|0;f=f<<2;if(!d)d=IK(f)|0;else d=KK(d,f)|0;c[46788]=d;f=c[(c[g>>2]|0)+196>>2]|0}q=f+(s<<6)|0;g=0;while(1){if((g|0)>=(c[q>>2]|0))break;c[d+(g<<2)>>2]=0;g=g+1|0}p=f+(e<<6)|0;o=0;g=0;d=0;while(1){j=c[p>>2]|0;if((o|0)>=(j|0))break;n=c[(c[(c[r+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((g|0)>0){m=c[46788]|0;k=0;while(1){h=c[n+(k<<2)>>2]|0;if(!h)break a;j=h+16|0;i=c[(c[(c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){h=i+1|0;if((i|0)>=(g|0))break;i=h;d=(S(b[(c[j>>2]|0)+154>>1]|0,c[m+(h<<2)>>2]|0)|0)+d|0}k=k+1|0}}while(0);h=0;while(1){i=c[n+(h<<2)>>2]|0;if(!i)break;m=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;k=(c[46788]|0)+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(b[(c[i+16>>2]|0)+154>>1]|0);g=(m|0)>(g|0)?m:g;h=h+1|0}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(j|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[t>>2]=c[e>>2];c[t+4>>2]=c[e+4>>2];d=(zi(t,1)|0)+d|0}h=h+1|0}i=c[q>>2]|0;h=f+(s<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){s=f+172|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];d=(zi(t,-1)|0)+d|0}g=g+1|0}l=u;return d|0}function zi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)>0;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;k=m+16|0;if(n){j=m+-48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+16>>3]-+h[g+16>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+48|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if(+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)*(+h[f+56>>3]-+h[g+56>>3])<0.0)a=(S(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Ai(a){a=a|0;var b=0.0,d=0.0;c[46786]=8;c[47183]=24;h[23234]=.995;a=NA(a,86957)|0;if(a|0?(b=+a6(a),b>0.0):0){d=b*+(c[46786]|0);c[46786]=~~(d<=1.0?1.0:d);b=b*+(c[47183]|0);c[47183]=~~(b<=1.0?1.0:b)}return}function Bi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=HK(e<<2)|0;Di(a,d,e,0)|0;l6(d);return}function Ci(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=HK((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=gC(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=WA(a,f)|0}g=hC(a,g)|0}f=HK((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=HK((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}l6(i);return}function Di(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Di(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((dg(a)|0)!=(a|0)){u6(d|0,0,e<<2|0)|0;g=gC(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=UA(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=WA(a,i)|0}g=hC(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=LD(dg(a)|0,86947,1)|0;g=qC(f,0,1)|0;RC(g,137750,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=HK(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=HK(20)|0;c[(c[l>>2]|0)+180>>2]=k;lC(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ei(a){a=a|0;var b=0,d=0;Uh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ei(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Fi(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Gi(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17348+(d*12|0)+((Gi(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=S(c[a>>2]|0,b)|0;return}function Gi(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Hi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){gl(b);Ii(b);if(a[195236]|0)ul(b);Ji(b);if(Ml(b)|0)Ii(b);Ki(b);if(sL(b,2,Li(b)|0)|0?(Mi(b),sL(b,2,Li(b)|0)|0):0)Aa(86965,86993,134,87004);Ni(b);Oi(b,d);Pi(b)}return}function Ii(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}i=c[e+212>>2]|0;if(i|0){if((i|0)==(d|0))g=0;else{g=XO(i,c[47198]|0,8,0)|0;e=c[l>>2]|0}f=c[e+232>>2]|0;e=c[i+16>>2]|0;j=j+ +(g|0);if((f|0)==(b[e+236>>1]|0)){x=e+128|0;k=+h[x>>3];h[x>>3]=k>j?k:j}if((f|0)==(b[e+238>>1]|0)){x=e+120|0;k=+h[x>>3];h[x>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=oj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(e<<6)+40>>3]+ +h[w+(l<<6)+32>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+ +h[w+(l<<6)+16>>3]+8.0;j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=j+ +h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){pj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=k+ +h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Ji(a){a=a|0;var b=0,d=0,e=0;kj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){lj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{lj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Ki(a){a=a|0;Yi(a);Zi(a);_i(a);$i(a);aj(a);return}function Li(a){a=a|0;var b=0,c=0.0;b=NA(a,87193)|0;if(!b)a=2147483647;else{c=+a6(b);a=~~(c*+(qB(a)|0))}return a|0}function Mi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=ph(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;Wi(o,f,0.0,0)|0;Wi(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)Aa(87101,86993,111,87104);else if((s|0)==19)return}function Ni(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Oi(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0;Qi(a,a);i=a+16|0;l=c[i>>2]|0;a:do if((b[l+238>>1]|0)>0?(j=c[l+8>>2]|0,e=c[j+84>>2]|0,e|0):0){m=~~(+h[l+32>>3]-+h[l+16>>3]);n=~~(+h[l+40>>3]-+h[l+24>>3]);o=(c[l+116>>2]&1|0)==0;if((e|0)==4){p=Ri(a)|0;l=c[i>>2]|0;j=c[l+8>>2]|0}else p=(e|0)==2&1;q=+((o?m:n)|0);k=+((o?n:m)|0);i=j+72|0;e=j+64|0;b:do if(!(p<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[e>>3];if(f<=0.0)break a;k=f/+h[l+32>>3];q=+h[i>>3]/+h[l+40>>3];f=k<q?k:q;if(k>1.0&q>1.0){k=f;break b}else break a}case 1:break;default:break a}g=+h[j+16>>3];f=k/q;if(f<g){k=1.0;f=g/f;break}else{k=f/g;f=1.0;break}}else{f=+h[e>>3];if(f<=0.0)break a;g=f/q;f=+h[i>>3]/k;if(g<1.0|f<1.0)if(g<f){k=1.0;f=f/g;break}else{k=g/f;f=1.0;break}else k=g}while(0);e=(c[l+116>>2]&1|0)==0;g=e?f:k;f=e?k:f;e=l+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;q=f*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);p=e+24|0;q=g*+h[p>>3];h[p>>3]=+(~~(q+(q>=0.0?.5:-.5))|0);e=e+164|0}Si(a,f,g)}while(0);if(d|0)Ti(a,d);return}function Pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;l6(c[e+16>>2]|0);l6(e);d=d+1|0}if(f){l6(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){l6(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;l6(e);l6(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Qi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}Vi(a,b);return}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Ui(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Ui(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=p*+R(+(k*o/p))/k;p=j*(n*+R(+(j*o/n))/j);a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=k*q;a=1}else a=0;l=s;return a|0}function Si(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Si(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Ti(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+24|0;i=n+16|0;g=n;o=c[b+16>>2]|0;f=+h[o+32>>3]-+h[o+16>>3];e=+h[o+40>>3]-+h[o+24>>3];j=f/e;if(a[195234]|0){o=c[15715]|0;h[g>>3]=j;h[g+8>>3]=f*e/1.0e4;z4(o,87017,g)|0;c[i>>2]=uk(b)|0;z4(o,87042,i)|0}e=+h[d>>3];b=d+24|0;do if(!(j>e*1.1)){if(!(j<=e*.8)){c[b>>2]=0;m=9;break}c[b>>2]=-1;if(a[195234]|0){_3(87052,34,1,c[15715]|0)|0;m=9}}else{c[b>>2]=~~(e*+((c[d+20>>2]|0)-(c[d+16>>2]|0)|0)/j);m=9}while(0);if((m|0)==9?a[195234]|0:0){o=c[15715]|0;c[k>>2]=c[b>>2];z4(o,87087,k)|0}l=n;return}function Ui(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function Vi(d,e){d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;n=(dg(d)|0)==(d|0);s=d+16|0;t=c[s>>2]|0;q=b[t+236>>1]|0;r=b[t+238>>1]|0;a:do if(n){n=t+196|0;m=q;g=-2147483647.0;f=2147483647.0;while(1){if((m|0)>(r|0))break;d=c[n>>2]|0;l=c[d+(m<<6)>>2]|0;if((l|0)!=0?(o=c[d+(m<<6)+4>>2]|0,p=c[o>>2]|0,(p|0)!=0):0){j=1;d=p;while(1){d=c[d+16>>2]|0;i=a[d+156>>0]|0;if(!((j|0)<(l|0)&i<<24>>24!=0))break;d=c[o+(j<<2)>>2]|0;j=j+1|0}if(!(i<<24>>24)){k=+h[d+16>>3]-+h[d+88>>3];j=f<k;i=l+-2|0;d=l+-1|0;while(1){d=c[(c[o+(d<<2)>>2]|0)+16>>2]|0;if(!(a[d+156>>0]|0))break;else{d=i;i=i+-1|0}}u=+h[d+16>>3]+ +h[d+96>>3];g=g>u?g:u;f=j?f:k}}m=m+1|0}i=c[t+180>>2]|0;j=t+184|0;d=1;while(1){if((d|0)>(i|0))break a;p=c[(c[(c[j>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;u=+h[p+16>>3]+-8.0;k=+h[p+32>>3]+8.0;d=d+1|0;g=g>k?g:k;f=f<u?f:u}}else{g=+(c[(c[(c[t+260>>2]|0)+16>>2]|0)+232>>2]|0);f=+(c[(c[(c[t+256>>2]|0)+16>>2]|0)+232>>2]|0)}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;k=+h[(c[(c[c[e+(r<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[t+120>>3];u=+h[(c[(c[c[e+(q<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[t+128>>3];h[t+16>>3]=f;h[t+24>>3]=k;e=c[s>>2]|0;h[e+32>>3]=g;h[e+40>>3]=u;return}function Wi(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=HK(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=HK(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){Xi(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;dh(i)|0;return i|0}function Xi(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;dA(1,87117,d)|0;l=b;return}function Yi(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=HK((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=HK(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function Zi(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);m=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;n=c[f+(k<<2)>>2]|0;u=n+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(iO(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+(f|0)+ +h[q>>3];h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(!f)p=m;else{o=f+16|0;p=t+(i+ +h[(c[o>>2]|0)+88>>3]);Wi(n,f,p,0)|0;d=~~(m+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((S(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(ij(g,f)|0))Wi(f,g,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(ij(d,f)|0)){Wi(f,d,+(~~(i+ +h[(c[f+16>>2]|0)+96>>3]+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){m=p;k=q;continue a}k=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;j=c[k>>2]&3;g=c[((j|0)==3?k:k+48|0)+40>>2]|0;j=c[((j|0)==2?k:k+-48|0)+40>>2]|0;d=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[j+16>>2]|0)+236>>2]|0);f=d?g:j;g=d?j:g;i=+h[(c[f+16>>2]|0)+96>>3]+ +h[(c[g+16>>2]|0)+88>>3];j=k+16|0;d=~~(i+ +(S(c[(c[x>>2]|0)+248>>2]|0,e[(c[j>>2]|0)+170>>1]|0)|0));n=ah(f,g)|0;m=+(d|0);if(!n){d=c[j>>2]|0;if(!(c[d+96>>2]|0))Wi(f,g,m,c[d+156>>2]|0)|0}else{d=c[j>>2]|0;A=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(A+(A>=0.0?.5:-.5))|0);f=~~(m>i?m:i);if((f|0)>65535){Xi(+(f|0));f=65535;d=c[j>>2]|0}j=c[n+16>>2]|0;g=j+170|0;B=e[g>>1]|0;b[g>>1]=(B|0)>(f|0)?B:f;j=j+156|0;c[j>>2]=c[(c[((c[j>>2]|0)>(c[d+156>>2]|0)?n:k)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function _i(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=ph(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;Wi(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;Wi(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function $i(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){dj(a);ej(a);fj(a);gj(a)}return}function aj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(b*d<=1.0)):0){bj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;Wi(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function bj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=XO(a,c[47198]|0,8,0)|0;cj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=HB(a)|0;c[m+4>>2]=e;dA(1,87201,m)|0;break}else{Wi(j,d,f+ +h[(c[d+16>>2]|0)+88>>3]+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;Wi(d,k,f+ +h[(c[d+16>>2]|0)+96>>3]+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function cj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=ph(dg(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=ph(dg(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(dg(b)|0)!=(b|0):0)?(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;Wi(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function dj(a){a=a|0;var b=0,d=0;b=a+16|0;do if((dg(a)|0)!=(a|0)){bj(a);a=c[b>>2]|0;a=ah(c[a+256>>2]|0,c[a+260>>2]|0)|0;if(!a){d=c[b>>2]|0;Wi(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[a+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}while(0);a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;dj(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function ej(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=XO(d,c[47198]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(hj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;Wi(j,c[(c[o>>2]|0)+256>>2]|0,m+ +h[e+96>>3],0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(hj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}Wi(c[(c[o>>2]|0)+260>>2]|0,i,m+ +h[e+88>>3],0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;ej(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function fj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=XO(a,c[47198]|0,8,0)|0;cj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;cj(e);f=c[b>>2]|0;g=e+16|0;Wi(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,d+ +h[f+96>>3],0)|0;f=c[b>>2]|0;Wi(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,d+ +h[f+64>>3],0)|0;fj(e);a=a+1|0}return}function gj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=XO(a,c[47198]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;cj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);Wi(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}gj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function hj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(EC(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(EC(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function ij(a,b){a=a|0;b=b|0;return jj(a,b)|0}function jj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(jj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function kj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;d=c[l>>2]|0;k=b[d+236>>1]|0;while(1){if((k|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(k<<6)>>2]|0;h=h+(k<<6)+4|0;j=0;f=0;while(1){i=j+1|0;if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=j;if((a[e+159>>0]|0)==6)e=(c[e+216>>2]|0)+j|0;else e=i;j=e;f=f+1|0}if((j|0)>(g|0)){e=c[h>>2]|0;d=i<<2;if(!e)d=IK(d)|0;else d=KK(e,d)|0;f=c[(c[l>>2]|0)+196>>2]|0;c[f+(k<<6)+4>>2]=d;g=c[f+(k<<6)>>2]|0;while(1){e=g+-1|0;if((g|0)<=0)break;f=c[d+(e<<2)>>2]|0;c[d+(c[(c[f+16>>2]|0)+236>>2]<<2)>>2]=f;f=c[(c[l>>2]|0)+196>>2]|0;g=e;d=c[f+(k<<6)+4>>2]|0}c[f+(k<<6)>>2]=j;c[d+(j<<2)>>2]=0;d=c[l>>2]|0}k=k+1|0}return}function lj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];mj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;e=c[e>>2]|0;d=(c[e+236>>2]|0)+1|0;if((c[e+184>>2]|0)>0){j=c[c[e+180>>2]>>2]|0;j=XA(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(k,a,e,n,d);e=k;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+-48|0;f=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[f+172>>2]|0;f=(c[f+176>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=YA(a,j)|0}}else{i=c[c[e+172>>2]>>2]|0;i=UA(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(dP(f)|0)==(b|0):0){e=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];nj(j,a,e,n,d);e=j;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;uh(i);g=i+48|0;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;e=c[f+180>>2]|0;f=(c[f+184>>2]<<2)+8|0;if(!e)e=IK(f)|0;else e=KK(e,f)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=WA(a,i)|0}}}while(0);l=o;return}function mj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;oQ(b,c[(c[(uC(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+(c[d>>2]|0)+ +h[e+88>>3];h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(uC(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function nj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=dg(b)|0;g=dP(d)|0;if((g|0)!=(d|0))mh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];mj(a,d,h);l=i;return}function oj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))j=8.0;else j=+(XO(a,c[47198]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=oj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=j+ +h[i+120>>3];e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=j+ +h[i+128>>3];d=d>n?d:n}k=k+1|0}if((dg(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(vC(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=e+ +h[k+56>>3];d=d+ +h[k+88>>3]}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((dg(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function pj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(dg(a)|0)+16>>2]|0)+196>>2]|0;if((dg(a)|0)==(a|0))e=0;else e=XO(a,c[47198]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;pj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=k+ +h[i+120>>3];g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=k+ +h[i+128>>3];f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((dg(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=+h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-(f+(g+(+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]))),p>0.0):0)qj(a,~~p,d);if((dg(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function qj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0;j=c[(dg(a)|0)+16>>2]|0;o=c[j+196>>2]|0;l=c[a+16>>2]|0;a=b[l+238>>1]|0;f=b[l+236>>1]|0;p=(d+1|0)/2|0;m=l+120|0;n=+(p|0)+ +h[m>>3];i=+(e|0);e=~~(n-(+h[o+(a<<6)+16>>3]-i));l=l+128|0;i=+h[o+(f<<6)+24>>3]-i;k=+(d-p|0)+ +h[l>>3];if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[o+(a<<6)>>2]|0)>0){p=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[p>>3]=g+ +h[p>>3]}a=a+-1|0}g=k+g}else g=k;a=~~(g-i);a:do if((a|0)>0){e=b[j+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[o+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[o+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=g+ +h[f>>3];f=a}}while(0);h[l>>3]=k;h[m>>3]=n;return}function rj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0}else b=0;while(0);return b&1|0}function sj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;d=c[j>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;i=gC(a)|0;while(1){e=c[j>>2]|0;if(!i)break;f=e+238|0;g=c[(c[i+16>>2]|0)+232>>2]|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;e=e+236|0;if((b[e>>1]|0)>(g|0))b[e>>1]=h;if(!d)d=i;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?i:d;i=hC(a,i)|0}c[e+264>>2]=d;return}function tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=NA(a,87246)|0;if(!b)b=2147483647;else{g=+a6(b);b=~~(g*+(qB(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];sL(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function uj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=d+16|0;if(!(NA(d,87255)|0))wj(d,e);else{i=(c[f>>2]|0)+136|0;b[i>>1]=b[i>>1]|16;vj(d,e)}if(a[195234]|0){i=c[15715]|0;e=c[f>>2]|0;f=b[e+236>>1]|0;c[g>>2]=b[e+238>>1];c[g+4>>2]=f;z4(i,87263,g)|0}l=h;return}function vj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0.0;h=l;l=l+16|0;g=h;c[46789]=0;c[g>>2]=c[4658];g=lB(87473,g,0)|0;RC(g,87502,280,1)|0;CC(g,17444,17384);xj(a);d=NA(a,87246)|0;if(!d)e=2147483647;else{i=+a6(d);e=~~(i*+(qB(a)|0))}Nj(a,0);Oj(a,g);Pj(a,g);Qj(a,g,0,0);Rj(g);f=Sj(g)|0;Tj(g);if(b|0){Hk(g);vk(g)}d=NA(a,102887)|0;if(!d)d=-1;else d=d6(d)|0;LK(g,1,e,d)|0;Uj(a,g,f);pB(g)|0;l=h;return}function wj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;xj(a);do if(!b){yj(a,a);Kk(a);zj(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Dl(a,0);b=0}else{Hk(a);vk(a);yj(a,a);Kk(a);zj(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Dl(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);sk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Aj(a,f)|0)Dl(a,0);if(!b)tj(a);else wk(a,b);Bj(a,b);Cj(a);l=g;return}function xj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=gC(d)|0;while(1){if(!g)break;f=UA(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=WA(d,f)|0}g=hC(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function yj(a,b){a=a|0;b=b|0;var d=0;b=MD(b)|0;while(1){if(!b)break;d=Kj(b)|0;do if(d)if((d|0)==7&(c[47182]|0)==100){Gj(a,b);break}else{Lj(a,b,d);break}else yj(a,b);while(0);b=ND(b)|0}return}function zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=d+16|0;d=c[h>>2]|0;e=c[d+228>>2]|0;j=b+4|0;f=c[d+224>>2]|0;g=(f|0)==0;a:do if(!((e|0)==0&g)){if(!g){e=dP(f)|0;d=c[h>>2]|0;c[d+224>>2]=e;e=c[d+228>>2]|0}do if(e){d=dP(e)|0;e=c[h>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){d=11;break}g=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((g|0)!=(dP(g)|0)){d=9;break}rk(d);d=c[e>>2]|0}if((d|0)==9)Aa(87366,87306,346,87398);else if((d|0)==11){k=f;i=c[h>>2]|0;break}}else{k=0;i=e}}else{k=0;i=d}while(0);d=c[i+224>>2]|0;if(!d){l=k;m=0}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){l=k;m=f;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(dP(i)|0))break;rk(d);d=c[e>>2]|0}Aa(87411,87306,353,87398)}}else{l=0;m=0}while(0);c[b>>2]=m;c[j>>2]=l;return}function Aj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=gC(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(dP(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=kh(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=kh(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=hC(a,g)|0}}while(0);return (d|0)!=0|0}function Bj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;g=gC(d)|0;l=d+16|0;f=c[l>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;k=(e|0)==0;while(1){if(!g)break;f=dP(g)|0;j=c[g+16>>2]|0;h=j+232|0;e=c[h>>2]|0;if((f|0)!=(g|0)&(k|(e|0)==0)){e=(c[(c[f+16>>2]|0)+232>>2]|0)+e|0;c[h>>2]=e}f=c[l>>2]|0;h=f+238|0;i=e&65535;if((b[h>>1]|0)<(e|0))b[h>>1]=i;f=f+236|0;if((b[f>>1]|0)>(e|0))b[f>>1]=i;switch(a[j+159>>0]|0){case 6:case 0:break;default:fP(g)}g=hC(d,g)|0}if((dg(d)|0)==(d|0)){if((c[47182]|0)==100)e=1;else{Fj(d);break}while(1){f=c[l>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Ej(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Dj((c[i>>2]|0)+172|0);Dj((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=gC(b)|0;while(1){if(!i)break;h=UA(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=gC(b)|0;while(1){if(!d)break;e=UA(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=WA(b,e)|0}d=hC(b,d)|0}l6(c[k>>2]|0);l6(g);d=c[f>>2]|0}c[d+172>>2]=0;h=WA(b,h)|0}i=hC(b,i)|0}l6(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Dj(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Ej(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=(e[a>>1]|0)+g;a=f+238|0;b[a>>1]=(e[a>>1]|0)+g;a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Ej(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Fj(b){b=b|0;var d=0;d=MD(dg(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Gj(b,d);d=ND(d)|0}return}function Gj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Hj(a,b),gC(b)|0):0){Ij(a,b);if((c[47182]|0)==100){wj(b,0);Jj(b);break}else{sj(b);break}}while(0);return}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=gC(d)|0;while(1){if(!g)break;i=hC(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{tC(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(EC(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))tC(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=gC(d)|0;while(1){if(!e)break;b=UA(dg(d)|0,e)|0;while(1){if(!b)break;if(EC(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)jB(d,b,1)|0;b=WA(dg(d)|0,b)|0}e=hC(d,e)|0}return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;a=a+2|0;if(!d)a=HK(a<<2)|0;else a=JK(d,a,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;sK(b);return}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)Aa(87291,87306,238,87313);c[g+264>>2]=h;d=gC(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}eP(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=hC(b,d)|0}if((d|0)==11)Aa(87328,87306,242,87313);else if((d|0)==13)return}function Kj(b){b=b|0;var d=0;if(!(Mj(b)|0)){d=nP(NA(b,87443)|0,17396,17420)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Lj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=gC(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=hC(d,f)|0;if(!f)break;eP(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}b=b+16|0;switch(e|0){case 3:case 2:{f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=eP(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Mj(a){a=a|0;return (h2(HB(a)|0,108307,7)|0)==0|0}function Nj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(gk(b)|0)){j=b+16|0;do if(DP(b)|0)if(!d){c[(c[j>>2]|0)+204>>2]=0;d=b;break}else{c[(c[j>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;hk(b,d);d=b;break}while(0);e=MD(b)|0;while(1){if(!e)break;Nj(e,d);e=ND(e)|0}a:do if(DP(b)|0){e=gC(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=hC(b,e)|0}}while(0);d=d+16|0;switch(ik(b)|0){case 3:{a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{k=19;break}case 5:{a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{k=21;break}case 1:{jk(b)|0;break}case 6:break;default:{e=HB(b)|0;f=NA(b,87443)|0;c[g>>2]=e;c[g+4>>2]=f;dA(0,87626,g)|0}}if((k|0)==19){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=jk(b)|0;k=kk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((DP(b)|0?(h=c[j>>2]|0,i=c[h+208>>2]|0,i|0):0)?(i|0)==(c[h+212>>2]|0):0){i=jk(b)|0;k=c[j>>2]|0;c[k+208>>2]=i;c[k+212>>2]=i}}l=m;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0;c[46789]=0;d=gC(a)|0;while(1){if(!d)break;if((Vj(d)|0)==(d|0)){e=Yj(b,HB(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=hC(a,d)|0}d=gC(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(Vj(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=hC(a,d)|0}return}function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=gC(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=UA(a,h)|0;while(1){if(!i)break;do if((bk(i)|0)==0?(j=i+-48|0,k=c[(c[(Vj(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(ck(i)|0)){if((ak(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(ak(f)|0)==0:0){dk(b,d,k,i);break}ek(b,d,k,i);break}else{f=Vj(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=Vj(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}dk(b,d,e,i);break}}while(0);i=WA(a,i)|0}h=hC(a,h)|0}return}function Qj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((DP(a)|0)!=0?(ak(a)|0)!=0:0){i=gC(a)|0;while(1){f=(d|0)!=0;h=(e|0)!=0;if(!i)break;if(!(XA(a,i)|0)){g=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!f)d=Yj(b,87524)|0;fB(b,d,g,0,1)|0}if(!(UA(a,i)|0)){f=c[(c[(Vj(i)|0)+16>>2]|0)+148>>2]|0;if(!h)e=Yj(b,87529)|0;fB(b,f,e,0,1)|0}i=hC(a,i)|0}if(h&f){$j(fB(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=MD(a)|0;while(1){if(!d)break;Qj(d,b,f,e);d=ND(d)|0}return}function Rj(b){b=b|0;var d=0,e=0;d=gC(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=hC(b,d)|0}d=gC(b)|0;while(1){if(!d)break;Zj(b,d);d=hC(b,d)|0}return}function Sj(a){a=a|0;var b=0,d=0,e=0,f=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=hC(a,b)|0}b=0;e=gC(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){Xj(a,e,d);b=d}e=hC(a,e)|0}a:do if((b|0)>1){f=Yj(a,87518)|0;d=1;e=gC(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){fB(a,f,e,0,1)|0;d=d+1|0}e=hC(a,e)|0}}while(0);return b|0}function Tj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=gC(a)|0;while(1){if(!g)break;h=g+16|0;f=UA(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;b=(c[b+184>>2]<<2)+8|0;if(!d)b=IK(b)|0;else b=KK(d,b)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;d=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[d+172>>2]|0;d=(c[d+176>>2]<<2)+8|0;if(!b)b=IK(d)|0;else b=KK(b,d)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=WA(a,f)|0}g=hC(a,g)|0}return}function Uj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=a+16|0;p=c[n>>2]|0;b[p+236>>1]=32767;b[p+238>>1]=-1;a:do if((f|0)>1){h=HK((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);p=(m|0)!=0;h=gC(a)|0;while(1){if(!h)break;i=c[(c[(c[(Vj(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;j=c[i+232>>2]|0;k=c[h+16>>2]|0;c[k+232>>2]=j;f=c[n>>2]|0;g=f+238|0;l=j&65535;if((b[g>>1]|0)<(j|0))b[g>>1]=l;f=f+236|0;if((b[f>>1]|0)>(j|0))b[f>>1]=l;if(p){l=c[i+128>>2]|0;c[k+128>>2]=l;l=m+(l<<2)|0;k=c[l>>2]|0;c[l>>2]=(k|0)<(j|0)?k:j}h=hC(a,h)|0}b:do if(!p){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=gC(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=hC(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=gC(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=hC(a,f)|0}}while(0);Wj(a,f);i=gC(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){l6(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)l6(f);i=hC(d,i)|0}l6(c[(c[(gC(a)|0)+16>>2]|0)+112>>2]|0);f=gC(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=hC(a,f)|0}if(p)l6(o);return}function Vj(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=Vj(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function Wj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=a+16|0;e=1;while(1){f=c[j>>2]|0;if((e|0)>(c[f+180>>2]|0))break;Wj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;i=gC(a)|0;while(1){d=c[j>>2]|0;if(!i)break;g=c[(c[i+16>>2]|0)+232>>2]|0;f=d+238|0;h=g&65535;if((b[f>>1]|0)<(g|0))b[f>>1]=h;d=d+236|0;if((b[d>>1]|0)>(g|0)){b[d>>1]=h;e=i}i=hC(a,i)|0}c[d+264>>2]=e}return}function Xj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=UA(a,b)|0;while(1){if(!e)break;Xj(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=WA(a,e)|0}e=XA(a,b)|0;while(1){if(!e)break a;Xj(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=YA(a,e)|0}}while(0);return}function Yj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=qC(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=HK(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=HK(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[46789]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[46789]=f;c[b+164>>2]=0;return f|0}function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=UA(b,d)|0;while(1){if(!d)break;e=WA(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){_j(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}Zj(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function _j(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=fB(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;$j(d,e[g+170>>1]|0,c[g+156>>2]|0);tC(a,b)|0;return}function $j(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function ak(a){a=a|0;return (cP(NA(a,87534)|0,0)|0)&255|0}function bk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function ck(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=fk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function dk(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=fB(a,b,d,0,0)|0;if(!g){g=fB(a,d,b,0,0)|0;if(!g){g=fB(a,b,d,0,1)|0;if(!g){b=HB(b)|0;f=HB(d)|0;c[h>>2]=b;c[h+4>>2]=f;dA(1,87551,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;$j(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function ek(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=XA(a,d)|0;while(1){if(!h){k=6;break}n=UA(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=YA(a,h)|0}if((k|0)==6){n=c[46790]|0;c[46790]=n+1;c[j>>2]=n;i2(i,87542,j)|0;i=Yj(a,i)|0;n=fB(a,i,d,0,1)|0;i=fB(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function gk(a){a=a|0;return (gC(a)|0)==0|0}function hk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Ij(b,a);Hj(b,a);return}function ik(b){b=b|0;var c=0;b=NA(b,87443)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(f2(b,87453)|0)if(f2(b,87457)|0)if(f2(b,87464)|0)if(f2(b,87468)|0)if(!(f2(b,87448)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function jk(a){a=a|0;var b=0,c=0;c=gC(a)|0;a:do if(!c)b=0;else{b=Vj(c)|0;while(1){c=hC(a,c)|0;if(!c)break a;kk(b,c)|0}}while(0);return b|0}function kk(a,b){a=a|0;b=b|0;if(b){a=Vj(a)|0;c[(c[(Vj(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87502,c[d>>2]|0,1)|0;return}function mk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87669,c[d+4>>2]|0,1)|0;return}function nk(a,b,d){a=a|0;b=b|0;d=d|0;RC(b,87654,c[d+8>>2]|0,1)|0;return}function ok(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[47262]=DA(b,2,87684,0)|0;k=DA(b,2,87693,0)|0;c[47263]=k;a:do if((k|0)!=0|(c[47262]|0)!=0){k=gC(b)|0;while(1){if(!k)break a;j=0;d=0;i=ZA(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[47262]|0;do if((f|0)==(k|0)&(g|0)!=0){f=OA(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=pk(m,d,k,i,f)|0;break b}}while(0);f=c[47263]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=OA(i,f)|0,(a[o>>0]|0)!=0):0)e=pk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=_A(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)qk(k,e);e=c[e>>2]|0;if(e|0)l6(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)qk(k,d);d=c[d>>2]|0;if(d|0)l6(d);e=e+1|0}k=hC(b,k)|0}}while(0);l=p;return}function pk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;n=s;p=s+12|0;q=s+8|0;r=0;while(1){m=b+(r*24|0)|0;if((r|0)>=(d|0)){o=10;break}j=c[m>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(f2(j,g)|0)==0:0){o=5;break}r=r+1|0}do if((o|0)==5){k=b+(r*24|0)+4|0;m=b+(r*24|0)+8|0;j=c[k>>2]|0;if(!j)j=IK((c[m>>2]<<2)+8|0)|0;else j=KK(j,(c[m>>2]<<2)+8|0)|0;c[k>>2]=j;n=c[m>>2]|0;o=n+1|0;c[m>>2]=o;c[j+(n<<2)>>2]=f;c[(c[k>>2]|0)+(o<<2)>>2]=0;o=13}else if((o|0)==10){j=b+(r*24|0)+4|0;k=b+(r*24|0)+8|0;if((d|0)>4){b=HB(e)|0;c[n>>2]=5;c[n+4>>2]=b;dA(1,87702,n)|0;break}else{c[k>>2]=0;t=HK(8)|0;c[j>>2]=t;n=c[k>>2]|0;o=n+1|0;c[k>>2]=o;c[t+(n<<2)>>2]=f;c[(c[j>>2]|0)+(o<<2)>>2]=0;c[m>>2]=g;c[b+(r*24|0)+12>>2]=0;h[b+(r*24|0)+16>>3]=0.0;d=d+1|0;o=13;break}}while(0);if((o|0)==13){FH(f,p,q);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[q>>2]|0:c[p>>2]|0;if(j){q=b+(r*24|0)+12|0;t=c[q>>2]|0;c[q>>2]=t+1;if(!t)i=+JH(f,j);else i=0.0;h[b+(r*24|0)+16>>3]=i}}l=s;return d|0}function qk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;s=x;v=d+4|0;m=c[v>>2]|0;w=b+16|0;n=c[w>>2]|0;q=+h[n+16>>3];r=+h[n+24>>3];j=0;o=0.0;p=0.0;while(1){if((j|0)>=(m|0))break;f=c[(c[d>>2]|0)+(j<<2)>>2]|0;i=c[f>>2]&3;e=c[((i|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?f:f+48|0)+40>>2]|0;i=c[e+16>>2]|0;y=+h[i+16>>3]-q;g=+h[i+24>>3]-r;k=+c2(y,g);j=j+1|0;o=o+y/k;p=p+g/k}k=+c2(o,p);g=+h[n+88>>3]+ +h[n+96>>3];y=+h[n+80>>3];n=g>y+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(n)g=+h[e+88>>3]+ +h[e+96>>3];else{g=+h[e+80>>3];g=g+ +(c[(c[(uC(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=o/k*g+ +h[e+16>>3];g=p/k*g+ +h[e+24>>3];h[s>>3]=q;m=s+8|0;h[m>>3]=r;h[s+16>>3]=(q*2.0+y)/3.0;h[s+24>>3]=(r*2.0+g)/3.0;h[s+32>>3]=(q+y*2.0)/3.0;h[s+40>>3]=(r+g*2.0)/3.0;h[s+48>>3]=y;h[s+56>>3]=g;_N(b,s);n=c[w>>2]|0;g=+h[s>>3]-+h[n+16>>3];k=+h[m>>3]-+h[n+24>>3];g=+(~~(g+(g>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[n+88>>3];s=~~((y+g)*256.0/(y+ +h[n+96>>3]))&255;n=0;while(1){if((n|0)>=(c[v>>2]|0))break;m=c[(c[d>>2]|0)+(n<<2)>>2]|0;FH(m,t,u);while(1){if(!m)break;else f=m;while(1){if(!f){i=m;break}e=c[f>>2]|0;i=f+-48|0;j=f+16|0;if((c[((e&3|0)==2?f:i)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[f>>2]|0}if((c[((e&3|0)==3?f:f+48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){f=0;continue}e=c[(c[((c[f>>2]&3|0)==2?f:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){f=0;continue}if((c[e+184>>2]|0)!=1){f=0;continue}f=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;j=i+16|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+56>>3]=g;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[j>>2]|0;h[e+16>>3]=g;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[j>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}m=c[(c[m+16>>2]|0)+172>>2]|0}n=n+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function rk(a){a=a|0;var b=0,d=0,e=0;fh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=ah(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;kh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else sh(a,b);return}function sk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;tk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))tk(d)}else{rk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=gC(a)|0;b=0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=WA(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=hC(a,e)|0}return b|0}function vk(b){b=b|0;var d=0,e=0,f=0,g=0;e=gC(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=hC(b,e)|0}return}function wk(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;p=r;k=c[d+24>>2]|0;xk(b);m=(k|0)==-1;n=d+8|0;j=m^1;o=c[15715]|0;g=1797693134862315708145274.0e284;i=0;while(1){if(!(m|(i|0)<(k|0)))break;e=gC(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+232>>2]=0;e=hC(b,e)|0}tj(b);f=+yk(b);h[n>>3]=f;if(a[195234]|0){h[p>>3]=f;z4(o,87754,p)|0;f=+h[n>>3]}if(!(!(f<=+h[d>>3])&(!(g<=f)|j))){q=9;break}zk(b);g=f;i=i+1|0}if((q|0)==9){q=d+20|0;c[d+16>>2]=c[q>>2];c[q>>2]=i}tj(b);Ak(b);Bk();h[n>>3]=+yk(b);l=r;return}function xk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;c[46794]=IK((qB(a)|0)*24|0)|0;c[46793]=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=hC(a,b)|0}l=gC(a)|0;while(1){if(!l)break;f=l+16|0;do if(!(c[(c[f>>2]|0)+216>>2]|0)){j=HK(4)|0;i=c[46794]|0;k=c[46793]|0;c[i+(k*24|0)>>2]=j;c[j>>2]=l;c[i+(k*24|0)+4>>2]=1;j=c[f>>2]|0;h[i+(k*24|0)+8>>3]=+h[j+32>>3];h[i+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[46793]=k+1}else{g=dP(l)|0;i=g+16|0;b=c[i>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){j=c[46794]|0;i=c[j+(d*24|0)>>2]|0;g=j+(d*24|0)+4|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=l;k=c[f>>2]|0;i=j+(d*24|0)+8|0;h[i>>3]=+h[k+32>>3]+ +h[i>>3];j=j+(d*24|0)+16|0;m=+h[j>>3];n=+h[k+40>>3];h[j>>3]=m<n?n:m;c[k+120>>2]=d;break}d=HK(c[b+216>>2]<<2)|0;j=c[46794]|0;k=c[46793]|0;b=j+(k*24|0)|0;c[b>>2]=d;c[d>>2]=g;d=j+(k*24|0)+4|0;e=j+(k*24|0)+8|0;if((g|0)==(l|0)){c[d>>2]=1;d=c[i>>2]|0;h[e>>3]=+h[d+32>>3];e=c[f>>2]|0;b=e}else{c[(c[b>>2]|0)+4>>2]=l;c[d>>2]=2;d=c[i>>2]|0;i=c[f>>2]|0;h[e>>3]=+h[d+32>>3]+ +h[i+32>>3];b=c[(+h[d+40>>3]<+h[i+40>>3]?l:g)+16>>2]|0;e=i}h[j+(k*24|0)+16>>3]=+h[b+40>>3];c[d+120>>2]=k;c[e+120>>2]=k;c[46793]=k+1}while(0);l=hC(a,l)|0}return}function yk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Ak(a);g=c[46791]|0;e=c[a+16>>2]|0;b=+(S(c[e+252>>2]|0,g+-1|0)|0);f=c[46792]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(S(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=b+ +h[f+(a*40|0)+32>>3];a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function zk(a){a=a|0;var b=0;c[46795]=HK((qB(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(qB(a)|0))break;c[(c[46795]|0)+(b<<2)>>2]=b;b=b+1|0}Ak(a);Ck(a);Dk(a);return}function Ak(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0;c[46791]=0;b=c[46792]|0;if(b|0){e=0;while(1){if((e|0)>=(c[46793]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){l6(d);b=c[46792]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){l6(d);b=c[46792]|0}e=e+1|0}l6(b)}c[46792]=HK((c[46793]|0)*40|0)|0;b=0;while(1){d=c[46793]|0;if((b|0)>=(d|0))break;l=HK(d<<2)|0;c[(c[46792]|0)+(b*40|0)+4>>2]=l;l=HK(c[46793]<<2)|0;m=c[46792]|0;c[m+(b*40|0)+8>>2]=l;c[m+(b*40|0)>>2]=b;c[m+(b*40|0)+12>>2]=0;c[m+(b*40|0)+16>>2]=0;m=m+(b*40|0)+24|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b=b+1|0}e=gC(a)|0;while(1){if(!e)break;d=UA(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[46792]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=WA(a,d)|0}e=hC(a,e)|0}k=c[46793]|0;l=c[46794]|0;m=c[46792]|0;d=a+16|0;b=0;while(1){if((b|0)>=(k|0))break;e=l+(b*24|0)|0;f=(c[c[e>>2]>>2]|0)+16|0;g=c[(c[f>>2]|0)+232>>2]|0;if((g|0)>=(c[46791]|0))c[46791]=g+1;i=m+(g*40|0)+24|0;j=+h[i>>3];h[i>>3]=j+(+h[l+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0));i=m+(g*40|0)+32|0;j=+h[l+(b*24|0)+16>>3]*72.0;if(+h[i>>3]<j)h[i>>3]=j;c[(c[m+(g*40|0)+4>>2]|0)+(c[m+(g*40|0)+12>>2]<<2)>>2]=e;a=m+((c[(c[f>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Bk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[46791]|0;l=c[46792]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;i=c[l+(j*40|0)+12>>2]|0;d=l+(j*40|0)|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Ck(a){a=a|0;var b=0;b=c[46795]|0;k3(b,qB(a)|0,4,63);return}function Dk(b){b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0;k=c[46791]|0;l=c[46792]|0;i=c[46795]|0;j=0;while(1){if((j|0)>=(k|0)){e=0;f=0.0;break}e=c[i+(j<<2)>>2]|0;g=j+1|0;if((c[l+(e*40|0)+12>>2]|0)<2)j=g;else{m=4;break}}if((m|0)==4)if((k|0)>(g|0))f=+h[l+((c[i+(g<<2)>>2]|0)*40|0)+24>>3];else f=0.0;a:do if((j|0)!=(k|0)){k3(c[l+(e*40|0)+4>>2]|0,c[l+(e*40|0)+12>>2]|0,4,64);g=c[46792]|0;d=+h[g+(e*40|0)+24>>3];if(!(!(f<=d*.25)?!(f>=d*3.0*.25):0))f=d*.5;t=c[g+(e*40|0)+12>>2]|0;s=b+16|0;p=0;q=0;d=0.0;i=0;r=0;while(1){if((r|0)>=(i+t|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]|0)){m=c[(c[g+(e*40|0)+4>>2]|0)+(r<<2)>>2]|0;b=m+8|0;n=+h[b>>3]*72.0;o=d>0.0?+(c[(c[s>>2]|0)+248>>2]|0):0.0;j=(q|0)!=0;if(!(j&!(d+n+o<=f))){k=j?p:m;j=j?q:1;d=d+(n+o);break}k=p+4|0;l=m+4|0;j=0;while(1){if((j|0)<(c[k>>2]|0))g=0;else break;while(1){if((g|0)>=(c[l>>2]|0))break;a[(c[(kh(c[(c[p>>2]|0)+(j<<2)>>2]|0,c[(c[m>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}j=j+1|0}g=c[46792]|0;c[(c[g+(e*40|0)+8>>2]|0)+(r<<2)>>2]=1;k=g+(e*40|0)+12|0;c[k>>2]=(c[k>>2]|0)+-1;k=g+(e*40|0)+16|0;c[k>>2]=(c[k>>2]|0)+1;k=g+(e*40|0)+24|0;h[k>>3]=+h[k>>3]-(+h[b>>3]*72.0+ +(c[(c[s>>2]|0)+248>>2]|0));k=p;j=q}else{k=p;j=q;i=i+1|0}while(0);p=k;q=j;r=r+1|0}}while(0);return}function Ek(a,b){a=a|0;b=b|0;a=Fk(c[a>>2]|0)|0;b=Fk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=uC(e)|0;e=UA(g,e)|0;while(1){if(!e)break;e=WA(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Gk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46792]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function Hk(a){a=a|0;var b=0;b=gC(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=hC(a,b)|0}return}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=NA(a,99906)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(q4(a,87769,e)|0)>=1):0)dA(0,87776,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Jk(b){b=b|0;var d=0,e=0;d=c[47258]|0;if((((d|0)!=0?(e=OA(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(bP(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;dl(a);b=gC(a)|0;while(1){if(!b)break;d=UA(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Jk(d)|0)==0:0)?(e=d+48|0,f=dP(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=dP(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=ah(f,h)|0;if(!i){kh(f,h,d)|0;break}else{sh(d,i);break}}i=c[d>>2]&3;Lk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=WA(a,d)|0}b=hC(a,b)|0}return}function Lk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;j=g+16|0;k=k-h+(e[(c[j>>2]|0)+170>>1]|0)|0;b=ph(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=dP(d)|0;d=dP(f)|0;f=Wi(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[(Wi(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Mk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[d>>2]&3;j=(k|0)==3?d:d+48|0;k=(k|0)==2?d:d+-48|0;k=c[(c[(c[((c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[k+40>>2]|0)+16>>2]|0)+232>>2]|0)?j:k)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=d+16|0;h=c[j>>2]|0;d=h+172|0;if(c[d>>2]|0)Aa(87865,87887,148,87896);c[d>>2]=f;i=(g|0)==0;d=f;while(1){g=c[d+16>>2]|0;if(!i){f=g+168|0;b[f>>1]=(e[f>>1]|0)+(e[h+168>>1]|0)}f=g+154|0;b[f>>1]=(e[f>>1]|0)+(e[h+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[h+156>>2]|0);g=d+-48|0;h=c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0;if((c[(c[h+16>>2]|0)+232>>2]|0)==(k|0))break;Nk(a,h);d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;if(!d)break;h=c[j>>2]|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=d+ +h[b>>3];return}function Ok(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(rj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Pk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=b+16|0;d=c[t>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;dl(b);d=1;while(1){e=c[t>>2]|0;if((d|0)>(c[e+180>>2]|0))break;el(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=gC(b)|0;while(1){if(!h)break;g=UA(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=WA(b,g)|0}h=hC(b,h)|0}m=gC(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(dP(m)|0):0){lh(b,m);l=(c[t>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=UA(b,m)|0;while(1){if(!l)break;i=l+16|0;e=c[i>>2]|0;a:do if(!(c[e+172>>2]|0)){j=l+48|0;k=l+-48|0;f=d+16|0;if(Qk(l)|0){if(!(Ok(d,l)|0)){Rk(b,l);d=l;break}e=c[(c[f>>2]|0)+172>>2]|0;if(e|0){Mk(b,l,e,0);gh(l);break}i=c[l>>2]&3;if((c[(c[(c[((i|0)==3?l:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((i|0)==2?l:k)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;sh(l,d);gh(l);break}if((d|0?(s=c[l>>2]&3,n=c[((s|0)==3?l:j)+40>>2]|0,o=c[d>>2]&3,(n|0)==(c[((o|0)==3?d:d+48|0)+40>>2]|0)):0)?(p=c[((s|0)==2?l:k)+40>>2]|0,(p|0)==(c[((o|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[n+16>>2]|0)+232>>2]|0)==(c[(c[p+16>>2]|0)+232>>2]|0)){sh(l,d);gh(l);break}if(((c[e+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0)?rj(l,d)|0:0)if(!(a[195236]|0)){Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);gh(l);break}else{a[(c[i>>2]|0)+112>>0]=6;break}}h=c[l>>2]&3;e=c[((h|0)==3?l:j)+40>>2]|0;if((e|0)==(c[((h|0)==2?l:k)+40>>2]|0)){gh(l);d=l;break}e=dP(e)|0;f=dP(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:j)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:k)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){qh(b,l);d=l;break}if((h|0)>(g|0)){Sk(b,e,f,l);d=l;break}e=fB(b,f,e,0,0)|0;do if(e|0?(q=c[e>>2]&3,r=c[((q|0)==2?e:e+-48|0)+40>>2]|0,(r|0)!=(c[((c[l>>2]&3|0)==2?l:k)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Sk(b,c[((q|0)==3?e:e+48|0)+40>>2]|0,r,e);if((c[(c[i>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(rj(l,e)|0))break;if(!(a[195236]|0)){gh(l);Mk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[i>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Sk(b,c[((d|0)==2?l:k)+40>>2]|0,c[((d|0)==3?l:j)+40>>2]|0,l);d=l}}else d=l;while(0);l=WA(b,l)|0}m=hC(b,m)|0}if((dg(b)|0)!=(b|0)){d=c[(c[t>>2]|0)+216>>2]|0;if(!d)d=IK(4)|0;else d=KK(d,4)|0;t=c[t>>2]|0;c[t+216>>2]=d;c[d>>2]=c[t+192>>2]}return}function Qk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7;return b&1|0}function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=Vk(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=Vk(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=ah(f,e)|0;if(h|0){Mk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Sk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Sk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;g=b+16|0;j=d+16|0;if(!(c[f+96>>2]|0))i=-1;else i=((c[(c[j>>2]|0)+232>>2]|0)+(c[(c[g>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)Aa(87908,87887,89,87933);h=c[(c[g>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[j>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(i|0))f=Tk(a,e)|0;else f=Uk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Fi(kh(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))Aa(87944,87887,103,87933);else return}function Tk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=ph(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(vC(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(vC(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Uk(a){a=a|0;var b=0;b=ph(a)|0;Nk(a,b);return b|0}function Vk(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=dP(b)|0;return b|0}function Wk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=dg(a)|0;h=gC(a)|0;while(1){if(!h)break;b=ZA(j,h)|0;i=0;while(1){if(!b)break;l=_A(j,b,h)|0;if(EC(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Ok(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Mk(a,k,b,0);hh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){Xk(b,e,k);b=l;i=k;continue}else{Xk(e,b,k);b=l;i=k;continue}b=ch(b,e)|0;if(!b){qh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}hh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}sh(k,b);m=i;b=l;i=m}h=hC(a,h)|0}return}function Xk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Yk(a)|0;e=Yk(b)|0;Zk(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function Yk(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function Zk(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;l=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;j=c[(c[o>>2]|0)+232>>2]|0;if((j|0)<=(l|0))Aa(87969,87997,81,88007);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))i=5;a:do if((i|0)==5){i=f+16|0;if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[i>>2]|0)+172>>2]=0;if(((j-l|0)==1?(k=ah(d,e)|0,k|0):0)?rj(f,k)|0:0){sh(f,k);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=dg(d)|0;j=g+-48|0;i=_k(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(kh(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((j-l|0)==1){g=ah(d,e)|0;if(g|0?rj(f,g)|0:0){c[(c[i>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;gh(f);break}c[(c[i>>2]|0)+172>>2]=0;g=kh(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);l=c[(c[o>>2]|0)+232>>2]|0;if((l-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)!=(d|0)){c[(c[i>>2]|0)+172>>2]=0;l=kh(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[i>>2]|0)+172>>2]=l;fh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(kh(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;fh(g)}}}while(0);return}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;$k(a,e,c[b+236>>2]|0,2);b=ph(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function $k(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function al(a){a=a|0;var b=0;Pk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Ci(a);hi(a,0);bl(a);Wk(a);cl(a);return}function bl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=dg(d)|0;n=d+16|0;f=c[n>>2]|0;l=b[f+236>>1]|0;o=m+16|0;e=l<<16>>16;if(l<<16>>16>0)a[(c[(c[o>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;l=e;while(1){if((l|0)>(b[f+238>>1]|0))break;k=c[(c[(c[(c[f+268>>2]|0)+(l<<2)>>2]|0)+16>>2]|0)+236>>2]|0;$k(m,l,k,c[(c[f+196>>2]|0)+(l<<6)>>2]|0);i=0;j=k;e=c[o>>2]|0;while(1){f=c[n>>2]|0;p=c[f+196>>2]|0;g=p+(l<<6)+4|0;e=c[e+196>>2]|0;h=c[e+(l<<6)+4>>2]|0;if((i|0)>=(c[p+(l<<6)>>2]|0))break;e=c[(c[g>>2]|0)+(i<<2)>>2]|0;c[h+(j<<2)>>2]=e;p=c[e+16>>2]|0;c[p+236>>2]=j;if((a[p+156>>0]|0)==1)c[e+24>>2]=vC(m)|0;nh(d,e);lh(m,e);e=c[o>>2]|0;p=e+232|0;c[p>>2]=(c[p>>2]|0)+1;i=i+1|0;j=j+1|0}c[g>>2]=h+(k<<2);a[e+(l<<6)+49>>0]=0;l=l+1|0}e=c[o>>2]|0;if((l|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(l<<6)+49>>0]=0;a[f+272>>0]=1;return}function cl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;fh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;fh(d);d=c[g>>2]|0}nh(dg(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=gC(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){fP(f);d=c[e>>2]|0}c[d+212>>2]=0;f=hC(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=gC(h)|0;a:while(1){if(!d)break;j=hC(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=HB(d)|0;g=HB(b)|0;c[n>>2]=f;c[n+4>>2]=g;dA(0,88016,n)|0;tC(h,d)|0;d=j;continue}gP(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=UA(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(h,g)|0}}k=k+1|0}l=o;return}function el(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=HK((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=ph(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(kh(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=gC(e)|0;while(1){f=c[k>>2]|0;i=f+268|0;if(!j)break;h=(c[(c[i>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=UA(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=WA(e,f)|0}j=hC(e,j)|0}d=b[f+238>>1]|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function fl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((a[e+273>>0]|0)!=(j|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;wi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;xi(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function gl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=gC(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=UA(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=WA(b,g)|0}h=hC(b,h)|0}hl(b);return}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;hl(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=gC(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=UA(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=WA(b,h)|0}i=hC(b,i)|0}return}function il(a){a=a|0;var b=0,c=0,d=0;d=GP(a)|0;c=gC(a)|0;while(1){if(!c)break;b=UA(a,c)|0;while(1){if(!b)break;jl(b,d);b=WA(a,b)|0}c=hC(a,c)|0}Oz(d)|0;return}function jl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+320|0;L=R+296|0;K=R+280|0;G=R+136|0;z=R+120|0;q=R+104|0;m=R+88|0;f=R+80|0;I=R+16|0;C=R;n=R+264|0;o=R+248|0;p=R+232|0;s=R+216|0;E=R+200|0;F=R+184|0;B=R+168|0;M=R+152|0;i=kl(NA(a,88070)|0,b)|0;u=kl(NA(a,88076)|0,b)|0;v=(u|0)!=0;h=(i|0)!=0;do if(h|v?(Q=a+16|0,e=c[(c[Q>>2]|0)+8>>2]|0,e|0):0){A=a+48|0;b=c[a>>2]&3;g=c[((b|0)==3?a:A)+40>>2]|0;if((c[e+4>>2]|0)>1){P=HB(g)|0;Q=HB(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=P;c[f+4>>2]=Q;dA(0,88082,f)|0;break}P=c[e>>2]|0;k=c[P+4>>2]|0;y=a+-48|0;t=c[((b|0)==2?a:y)+40>>2]|0;N=IK(48)|0;w=P+12|0;c[N+12>>2]=c[w>>2];D=P+8|0;c[N+8>>2]=c[D>>2];H=P+16|0;j=P+32|0;k=k+-1|0;x=N+32|0;r=g+16|0;t=t+16|0;do if(h){g=(c[i+16>>2]|0)+16|0;i=(c[t>>2]|0)+16|0;c[L>>2]=c[i>>2];c[L+4>>2]=c[i+4>>2];c[L+8>>2]=c[i+8>>2];c[L+12>>2]=c[i+12>>2];if(!(ll(L,g)|0)){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[m>>2]=s;c[m+4>>2]=J;c[m+8>>2]=O;dA(0,88123,m)|0;O=25;break}b=c[P>>2]|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];if(!(ll(L,g)|0))b=0;else{J=(c[r>>2]|0)+16|0;c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];if(ll(L,g)|0){s=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;J=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88070)|0;c[q>>2]=s;c[q+4>>2]=J;c[q+8>>2]=O;dA(0,88166,q)|0;O=25;break}if(!(c[D>>2]|0))Aa(88208,88219,369,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];ml(C,K,L,g);J=(c[P>>2]|0)+48|0;c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];J=(c[P>>2]|0)+16|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(n,K,L);c[J>>2]=c[n>>2];c[J+4>>2]=c[n+4>>2];c[J+8>>2]=c[n+8>>2];c[J+12>>2]=c[n+12>>2];J=c[P>>2]|0;b=J+16|0;c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[H>>2];c[L+4>>2]=c[H+4>>2];c[L+8>>2]=c[H+8>>2];c[L+12>>2]=c[H+12>>2];nl(o,K,L);c[J>>2]=c[o>>2];c[J+4>>2]=c[o+4>>2];c[J+8>>2]=c[o+8>>2];c[J+12>>2]=c[o+12>>2];J=c[P>>2]|0;b=J+32|0;J=J+16|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(p,K,L);c[b>>2]=c[p>>2];c[b+4>>2]=c[p+4>>2];c[b+8>>2]=c[p+8>>2];c[b+12>>2]=c[p+12>>2];b=c[w>>2]|0;if(!b){J=3;break}J=(SH(a,c[P>>2]|0,0,0,N,b)|0)+3|0;break}while(1){if((b|0)>=(k|0))break;if(ol((c[P>>2]|0)+(b<<4)|0,g)|0)break;b=b+3|0}e=c[w>>2]|0;f=(e|0)!=0;if((b|0)==(k|0))if(f){J=(c[P>>2]|0)+(k<<4)|0;c[K>>2]=c[j>>2];c[K+4>>2]=c[j+4>>2];c[K+8>>2]=c[j+8>>2];c[K+12>>2]=c[j+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];ml(s,K,L,g);c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];J=k;break}else Aa(88247,88219,387,88230);else{if(f)b=SH(a,c[P>>2]|0,0,b,N,e)|0;J=b+3|0;break}}else O=25;while(0);if((O|0)==25)if(!(c[w>>2]|0))J=k;else{c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];J=k}j=N+16|0;do if(v){i=(c[u+16>>2]|0)+16|0;v=(c[r>>2]|0)+16|0;c[L>>2]=c[v>>2];c[L+4>>2]=c[v+4>>2];c[L+8>>2]=c[v+8>>2];c[L+12>>2]=c[v+12>>2];if(!(ll(L,i)|0)){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[z>>2]=L;c[z+4>>2]=M;c[z+8>>2]=O;dA(0,88258,z)|0;O=50;break}b=(c[P>>2]|0)+(J<<4)|0;c[L>>2]=c[b>>2];c[L+4>>2]=c[b+4>>2];c[L+8>>2]=c[b+8>>2];c[L+12>>2]=c[b+12>>2];h=J+-3|0;if(ll(L,i)|0){M=(c[t>>2]|0)+16|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];if(ll(L,i)|0){L=HB(c[((c[a>>2]&3|0)==3?a:A)+40>>2]|0)|0;M=HB(c[((c[a>>2]&3|0)==2?a:y)+40>>2]|0)|0;O=NA(a,88076)|0;c[G>>2]=L;c[G+4>>2]=M;c[G+8>>2]=O;dA(0,88301,G)|0;O=50;break}if(!(c[w>>2]|0))Aa(88247,88219,429,88230);c[K>>2]=c[b>>2];c[K+4>>2]=c[b+4>>2];c[K+8>>2]=c[b+8>>2];c[K+12>>2]=c[b+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];ml(C,K,L,i);M=(c[P>>2]|0)+(h<<4)|0;c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];M=J+-1|0;d=(c[P>>2]|0)+(M<<4)|0;c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(E,K,L);c[d>>2]=c[E>>2];c[d+4>>2]=c[E+4>>2];c[d+8>>2]=c[E+8>>2];c[d+12>>2]=c[E+12>>2];d=c[P>>2]|0;I=d+(J<<4)|0;d=d+(M<<4)|0;c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];c[L>>2]=c[x>>2];c[L+4>>2]=c[x+4>>2];c[L+8>>2]=c[x+8>>2];c[L+12>>2]=c[x+12>>2];nl(F,K,L);c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];I=c[P>>2]|0;d=I+(J+-2<<4)|0;M=I+(M<<4)|0;c[K>>2]=c[M>>2];c[K+4>>2]=c[M+4>>2];c[K+8>>2]=c[M+8>>2];c[K+12>>2]=c[M+12>>2];c[L>>2]=c[C>>2];c[L+4>>2]=c[C+4>>2];c[L+8>>2]=c[C+8>>2];c[L+12>>2]=c[C+12>>2];nl(B,K,L);c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];d=c[D>>2]|0;if(!d){d=h;break}d=UH(a,c[P>>2]|0,h,h,N,d)|0;break}f=J;while(1){g=f+-3|0;if((f|0)>0)b=0;else break;while(1){if((b|0)==4)break;G=I+(b<<4)|0;F=(c[P>>2]|0)+(f-b<<4)|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];b=b+1|0}if(!(ol(I,i)|0))f=g;else{b=0;O=42;break}}a:do if((O|0)==42)while(1){O=0;if((b|0)==4)break a;O=(c[P>>2]|0)+(f-b<<4)|0;G=I+(b<<4)|0;c[O>>2]=c[G>>2];c[O+4>>2]=c[G+4>>2];c[O+8>>2]=c[G+8>>2];c[O+12>>2]=c[G+12>>2];b=b+1|0;O=42}while(0);b=c[D>>2]|0;e=(b|0)!=0;if(f|0){if(!e){d=g;break}d=UH(a,c[P>>2]|0,g,h,N,b)|0;break}if(e){d=c[P>>2]|0;c[K>>2]=c[H>>2];c[K+4>>2]=c[H+4>>2];c[K+8>>2]=c[H+8>>2];c[K+12>>2]=c[H+12>>2];c[L>>2]=c[d>>2];c[L+4>>2]=c[d+4>>2];c[L+8>>2]=c[d+8>>2];c[L+12>>2]=c[d+12>>2];ml(M,K,L,i);c[j>>2]=c[M>>2];c[j+4>>2]=c[M+4>>2];c[j+8>>2]=c[M+8>>2];c[j+12>>2]=c[M+12>>2];d=0;break}else Aa(88208,88219,452,88230)}else O=50;while(0);if((O|0)==50)if(!(c[D>>2]|0))d=0;else{c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2];d=0}b=J-d+1|0;f=N+4|0;c[f>>2]=b;c[N>>2]=IK(b<<4)|0;b=0;while(1){e=c[P>>2]|0;if((b|0)>=(c[f>>2]|0))break;O=(c[N>>2]|0)+(b<<4)|0;a=e+(d<<4)|0;c[O>>2]=c[a>>2];c[O+4>>2]=c[a+4>>2];c[O+8>>2]=c[a+8>>2];c[O+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}l6(e);l6(P);c[c[(c[Q>>2]|0)+8>>2]>>2]=N}while(0);l=R;return}function kl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=IP(d,b)|0;if(!d){c[e>>2]=b;dA(0,88421,e)|0;d=0}}else d=0;l=f;return d|0}function ll(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3];else a=0;return a&1|0}function ml(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+464|0;r=F+48|0;E=F+32|0;x=F+16|0;y=F;z=F+364|0;B=F+264|0;C=F+164|0;D=F+64|0;u=+h[b>>3];v=+h[b+8>>3];k=+h[d>>3];w=+h[d+8>>3];c[x>>2]=c[e>>2];c[x+4>>2]=c[e+4>>2];c[x+8>>2]=c[e+8>>2];c[x+12>>2]=c[e+12>>2];j=e+16|0;c[y>>2]=c[j>>2];c[y+4>>2]=c[j+4>>2];c[y+8>>2]=c[j+8>>2];c[y+12>>2]=c[j+12>>2];m=+h[x>>3];n=v-w;o=u-k;j=a+8|0;e=y+8|0;f=+h[x+8>>3];if(k<m?(g=v+ +(~~(n*(m-u)/o)|0),!(g>=f?!(g<=+h[e>>3]):1)):0){s=g;t=m}else i=3;do if((i|0)==3){g=+h[y>>3];if(k>g?(p=v+ +(~~(n*(g-u)/o)|0),!(p>=f?!(p<=+h[e>>3]):1)):0){s=p;t=g;break}if(w<f?(q=u+ +(~~(o*(f-v)/n)|0),!(!(q>=m)|!(q<=g))):0){s=f;t=q;break}f=+h[e>>3];if(w>f?(A=u+ +(~~(o*(f-v)/n)|0),!(!(A>=m)|!(A<=g))):0){s=f;t=A;break};c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];z=tl(r,z)|0;c[r>>2]=c[d>>2];c[r+4>>2]=c[d+4>>2];c[r+8>>2]=c[d+8>>2];c[r+12>>2]=c[d+12>>2];B=tl(r,B)|0;c[r>>2]=c[x>>2];c[r+4>>2]=c[x+4>>2];c[r+8>>2]=c[x+8>>2];c[r+12>>2]=c[x+12>>2];C=tl(r,C)|0;c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];D=tl(r,D)|0;c[E>>2]=z;c[E+4>>2]=B;c[E+8>>2]=C;c[E+12>>2]=D;dA(1,88343,E)|0;Aa(138697,88219,78,88395)}while(0);h[a>>3]=t;h[j>>3]=s;l=F;return}function nl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[b+8>>3]+ +h[c+8>>3])*.5;h[a>>3]=(+h[b>>3]+ +h[c>>3])*.5;h[a+8>>3]=d;return}function ol(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+pl(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)iP(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+pl(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}f=+ql(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}f=+ql(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){iP(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function pl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(sl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+F(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+pl(j,b,g,d,e,f);if(!(b>=0.0))b=+pl(k,g,c,d,e,f)}while(0);l=m;return +b}function ql(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(rl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+F(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}iP(i,a,3,.5,j,k);g=(b+c)*.5;b=+ql(j,b,g,d,e,f);if(!(b>=0.0))b=+ql(k,g,c,d,e,f)}while(0);l=m;return +b}function rl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function sl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=((d|0)!=0&(i|0)!=(d|0)&1)+e|0;c=c+1|0;d=i;e=g}return e|0}function tl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;i2(b,88409,d)|0;l=c;return b|0}function ul(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=k6(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(20,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(65,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break b}}}e=c[r>>2]|0;k=j;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;i=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;g=la(21,i|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=A6(c[d>>2]|0,t|0,u|0)|0;if(!f)Ca(d|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}j=k+1|0;if(g<<24>>24){g=j;d=h;while(1){if((g|0)>=(d|0))break;o=0;d=ra(66,i|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=A6(c[e>>2]|0,t|0,u|0)|0;if(!f)Ca(e|0,p|0);D=p}else f=-1;if((f|0)==1){d=D;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;g=g+1|0;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;ba(15,a|0,m|0,k|0,g+-1|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;break c}}}k=j;d=c[r>>2]|0}m=m+-1|0;q=15}t=x6(187184,1,t|0,u|0)|0;u=D;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1)d=D;else d=0}while(0);d:while(1){if(d){o=0;aa(23,3,88449,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;$(101,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=A6(c[d>>2]|0,t|0,u|0)|0;if(!e)Ca(d|0,p|0);D=p}else e=-1;if((e|0)==1){d=D;continue d}f=f+1|0}}}while(0);l6(t|0);l=v;return}function vl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((vl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function xl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=kh(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=kh(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;sh(f,d);fh(f)}fh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}nh(a,o);l=l+1|0}if((r|0)==23)Aa(88585,88629,115,88636);while(1){g=g+1|0;f=c[(c[t>>2]|0)+196>>2]|0;d=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;h=f+(s<<2)|0;if((g|0)>=(c[d>>2]|0))break;r=c[f+(g<<2)>>2]|0;c[h>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[d>>2]=s;c[h>>2]=0;return}function yl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function zl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((yl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Cl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(eg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Al(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}sj(d);j=gC(d)|0;while(1){if(!j)break;Bl(d,j);i=UA(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Bl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=WA(d,i)|0}j=hC(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(dg(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(EC(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(EC(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(EC(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=HB(d)|0;c[p+4>>2]=i;dA(0,88549,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=HB(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;dA(1,88491,o)|0;Ca(187184,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Al(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Cl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(S((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;El(j,k+512|0,k);e=(a[194050]|0)+1<<24>>24;a[194050]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=gC(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(dP(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[194050]|0)):0){Fl(b);Gl(j,b,g);Hl(b)}d=hC(b,d)|0}Il(j);l=k;return}function El(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Fl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46835]=0;return}function Gl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Jl(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Kl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[194050]|0))continue;Ll(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[194050]|0)?(e|0)==(dP(e)|0):0)Jl(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Hl(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;a=c[d>>2]|0;f=a+220|0;e=c[f>>2]|0;b=e+1|0;c[f>>2]=b;a=c[a+216>>2]|0;b=b<<2;if(!a)a=IK(b)|0;else a=KK(a,b)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Il(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;l6(c[a>>2]|0);l6(a);a=b}return}function Jl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=HK(16)|0;if(!f)dA(1,99270,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=HK(4e6)|0;c[f>>2]=b;if(!b){dA(1,88649,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[194050]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[194050]|0;b=c[46835]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46835]=d;c[g+164>>2]=0;return}function Ml(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Nl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Nl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Ol(b)}while(0);Ei(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Pl(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Pl(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){xh(b);Lh(b)}return e|0}function Nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(dg(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}\nfunction r3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;B6(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;B6(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function s3(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0}while((X1(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=W1(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[153600+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[153609+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=W1(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=W1(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=W1(b)|0;if((e|32|0)==120){g=+t3(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+u3(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(L1()|0)>>2]=22;U1(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function t3(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=a+4|0;i=c[w>>2]|0;v=a+100|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=0}else{i=W1(a)|0;j=0}a:while(1){switch(i|0){case 46:{n=8;break a}case 48:break;default:{s=0;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0;break a}}i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0;j=1;continue}else{i=W1(a)|0;j=1;continue}}if((n|0)==8){i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;if((i|0)==48){l=0;j=0;do{i=c[w>>2]|0;if(i>>>0<(c[v>>2]|0)>>>0){c[w>>2]=i+1;i=d[i>>0]|0}else i=W1(a)|0;l=w6(l|0,j|0,-1,-1)|0;j=D}while((i|0)==48);s=1;t=0;p=1.0;h=0.0;u=0;r=1;q=0;m=0}else{s=1;t=0;p=1.0;h=0.0;u=0;r=j;j=0;q=0;m=0;l=0}}while(1){n=i+-48|0;o=(i|0)==46;if(n>>>0>=10?!(o|((i|32)+-97|0)>>>0<6):0)break;if(o)if(!s){s=1;n=t;k=p;i=u;l=m;j=q}else{i=46;break}else{i=(i|0)>57?(i|32)+-87|0:n;do if(!((q|0)<0|(q|0)==0&m>>>0<8))if((q|0)<0|(q|0)==0&m>>>0<14){p=p*.0625;n=t;k=p;h=h+p*+(i|0);i=u;break}else{i=(t|0)!=0|(i|0)==0;n=i?t:1;k=p;h=i?h:h+p*.5;i=u;break}else{n=t;k=p;i=i+(u<<4)|0}while(0);m=w6(m|0,q|0,1,0)|0;r=1;q=D}o=c[w>>2]|0;if(o>>>0<(c[v>>2]|0)>>>0){c[w>>2]=o+1;t=n;p=k;u=i;i=d[o>>0]|0;continue}else{t=n;p=k;u=i;i=W1(a)|0;continue}}do if(!r){i=c[v>>2]|0;j=(i|0)!=0;if(j)c[w>>2]=(c[w>>2]|0)+-1;if(g){if(j)c[w>>2]=(c[w>>2]|0)+-1;if(!((s|0)==0|(i|0)==0))c[w>>2]=(c[w>>2]|0)+-1}else U1(a,0);h=+(f|0)*0.0}else{n=(s|0)==0;o=n?m:l;n=n?q:j;if((q|0)<0|(q|0)==0&m>>>0<8){j=u;l=q;do{j=j<<4;m=w6(m|0,l|0,1,0)|0;l=D}while((l|0)<0|(l|0)==0&m>>>0<8);m=j}else m=u;if((i|32|0)==112){j=v3(a,g)|0;i=D;if((j|0)==0&(i|0)==-2147483648){if(!g){U1(a,0);h=0.0;break}if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}}}else if(!(c[v>>2]|0)){j=0;i=0}else{c[w>>2]=(c[w>>2]|0)+-1;j=0;i=0}l=v6(o|0,n|0,2)|0;l=w6(l|0,D|0,-32,-1)|0;l=w6(l|0,D|0,j|0,i|0)|0;i=D;if(!m){h=+(f|0)*0.0;break}w=0-e|0;g=((w|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>w>>>0){c[(L1()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}w=e+-106|0;g=((w|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<w>>>0){c[(L1()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{w=!(h>=.5);j=j<<1|(w^1)&1;h=h+(w?h:h+-1.0);l=w6(l|0,i|0,-1,-1)|0;i=D}while((j|0)>-1);p=h;m=j}else p=h;w=((b|0)<0)<<31>>31;e=t6(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=w6(e|0,D|0,l|0,i|0)|0;e=D;if((w|0)>(e|0)|(w|0)==(e|0)&b>>>0>i>>>0)if((i|0)>0)n=59;else{j=0;i=84;n=61}else{i=b;n=59}if((n|0)==59)if((i|0)<53){j=i;i=84-i|0;n=61}else{k=0.0;h=+(f|0)}if((n|0)==61){h=+(f|0);k=+x3(+w3(1.0,i),h);i=j}f=(m&1|0)==0&(p!=0.0&(i|0)<32);h=h*(f?0.0:p)+(k+h*+(((f&1)+m|0)>>>0))-k;if(!(h!=0.0))c[(L1()|0)>>2]=34;h=+z3(h,l)}while(0);return +h}function u3(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;B=a+4|0;C=a+100|0;k=0;a:while(1){switch(b|0){case 46:{z=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=W1(a)|0;k=1;continue}}if((z|0)==6){b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48){k=0;b=0;while(1){k=w6(k|0,b|0,-1,-1)|0;o=D;b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=G+496|0;w=0;k=0;u=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=w6(p|0,n|0,1,0)|0;n=D;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=G+(k<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=(y&1)+k|0;u=v?p:u;y=1}while(0);b=c[B>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[B>>2]=b+1;b=d[b>>0]|0}else b=W1(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=29;break b}}b=w;m=(y|0)!=0;z=37}else{w=0;k=0;u=0;m=p;p=0;n=0;z=29}while(0);do if((z|0)==29){A=(v|0)==0;q=A?p:q;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=37;break}else{b=w;z=39;break}m=v3(a,h)|0;b=D;if((m|0)==0&(b|0)==-2147483648){if(!h){U1(a,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[B>>2]=(c[B>>2]|0)+-1;m=0;b=0}}y=w6(m|0,b|0,q|0,o|0)|0;b=w;o=D;z=41}while(0);if((z|0)==37)if(c[C>>2]|0){c[B>>2]=(c[B>>2]|0)+-1;if(m){y=q;z=41}else z=40}else z=39;if((z|0)==39)if(m){y=q;z=41}else z=40;do if((z|0)==40){c[(L1()|0)>>2]=22;U1(a,0);i=0.0}else if((z|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;C=((a|0)<0)<<31>>31;if((o|0)>(C|0)|(o|0)==(C|0)&y>>>0>a>>>0){c[(L1()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;C=((a|0)<0)<<31>>31;if((o|0)<(C|0)|(o|0)==(C|0)&y>>>0<a>>>0){c[(L1()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;do{m=m*10|0;b=b+1|0}while((b|0)!=9);c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){b=c[G>>2]|0;if((y|0)==9){i=+(g|0)*+(b>>>0);break}if((y|0)<9){i=+(g|0)*+(b>>>0)/+(c[63704+(8-y<<2)>>2]|0);break}a=e+27+(S(y,-3)|0)|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63704+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63704+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{B=G+(b<<2)|0;C=c[B>>2]|0;a=((C>>>0)/(p>>>0)|0)+n|0;c[B>>2]=a;n=S(q,(C>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=v6(c[p>>2]|0,0,29)|0;k=w6(k|0,D|0,m|0,0)|0;m=D;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=E6(k|0,m|0,1e9,0)|0;k=J6(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){n=0;while(1){o=n+y&127;if((o|0)==(k|0)){E=2;z=88;break}o=c[G+(o<<2)>>2]|0;p=c[63736+(n<<2)>>2]|0;if(o>>>0<p>>>0){E=2;z=88;break}if(o>>>0>p>>>0)break;n=n+1|0;if((n|0)>=2){E=n;z=88;break}}if((z|0)==88?(z=0,q&(E|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{B=G+(o<<2)|0;C=c[B>>2]|0;a=(C>>>v)+p|0;c[B>>2]=a;p=S(C&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=t*i;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+x3(+w3(1.0,105-n|0),j);r=+y3(j,+w3(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+y3(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+F(+i)>=9007199254740992.0);b=((H^1)&1)+b|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(L1()|0)>>2]=34}while(0);i=+z3(i,b)}while(0);l=J;return +i}function v3(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+4|0;e=c[k>>2]|0;j=a+100|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[j>>2]|0)!=0:0)c[k>>2]=(c[k>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[j>>2]|0)){f=-2147483648;e=0}else{c[k>>2]=(c[k>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10){do{b=G6(g|0,b|0,10,0)|0;g=D;e=w6(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=w6(e|0,D|0,b|0,g|0)|0;b=D;e=c[k>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[k>>2]=e+1;e=d[e>>0]|0}else e=W1(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));h=e;i=g}else{h=e;i=g}e=c[j>>2]|0;if((h+-48|0)>>>0<10)do{g=c[k>>2]|0;if(g>>>0<e>>>0){c[k>>2]=g+1;g=d[g>>0]|0}else{g=W1(a)|0;e=c[j>>2]|0}}while((g+-48|0)>>>0<10);if(e|0)c[k>>2]=(c[k>>2]|0)+-1;k=(f|0)!=0;e=t6(0,0,i|0,b|0)|0;f=k?D:b;e=k?e:i}D=f;return e|0}function w3(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;d=b+1022|0;e=(d|0)<-1022;b=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((b|0)>-1022?b:-1022):d}}else{a=a*8988465674311579538646525.0e283;e=b+-1023|0;d=(e|0)>1023;b=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((b|0)<1023?b:1023):e}d=v6(b+1023|0,0,52)|0;e=D;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function x3(a,b){a=+a;b=+b;return +(+e2(a,b))}function y3(a,b){a=+a;b=+b;return +(+A3(a,b))}function z3(a,b){a=+a;b=b|0;return +(+w3(a,b))}function A3(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z6(i|0,l|0,52)|0;e=e&2047;m=z6(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=v6(n|0,o|0,1)|0;k=D;a:do if(!((g|0)==0&(k|0)==0)?(f=B3(b)|0,d=D&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=v6(i|0,l|0,1)|0;f=D;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=v6(i|0,l|0,12)|0;f=D;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=v6(d|0,f|0,1)|0;f=D}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=v6(i|0,l|0,1-e|0)|0;g=D}else g=l&1048575|1048576;if(!m){f=v6(n|0,o|0,12)|0;k=D;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=v6(f|0,k|0,1)|0;k=D}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=v6(n|0,o|0,1-d|0)|0;m=d;l=D}else l=o&1048575|1048576;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=v6(f|0,d|0,1)|0;g=D;e=e+-1|0;f=t6(i|0,g|0,n|0,l|0)|0;d=D;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=v6(f|0,d|0,1)|0;d=D;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=w6(f|0,d|0,0,-1048576)|0;d=D;e=v6(e|0,0,52)|0;d=d|D;e=o|e}else{e=z6(f|0,d|0,1-e|0)|0;d=D}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function B3(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;D=c[j+4>>2]|0;return b|0}function C3(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=a[b>>0]|0;e=f&255;a:do if(f<<24>>24){g=f;do{f=a[c>>0]|0;if(!(f<<24>>24))break a;if(g<<24>>24!=f<<24>>24?(g=R1(e)|0,(g|0)!=(R1(f&255)|0)):0)break a;b=b+1|0;c=c+1|0;g=a[b>>0]|0;e=g&255}while(g<<24>>24!=0)}while(0);g=R1(e)|0;return g-(R1(d[c>>0]|0)|0)|0}function D3(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function E3(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;H3();c[e>>2]=a;c[e+4>>2]=b;b=K1(Ma(91,e|0)|0)|0;l=d;return b|0}function F3(b,c){b=b|0;c=c|0;b=G3(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function G3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(D3(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=S(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function H3(){return}function I3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?190424:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[(J3()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62656+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(L1()|0)>>2]=84;f=-1}l=k;return f|0}function J3(){return N1()|0}function K3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Na(153613)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153620+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Na(153692)|0;if(d|0?a[d>>0]|0:0)break;d=153697}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=153697;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((f2(k,153697)|0)!=0?(f2(k,153705)|0)!=0:0){d=c[47607]|0;if(d|0)do{if(!(f2(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);Ua(190432);d=c[47607]|0;c:do if(d|0){while(1){if(!(f2(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}Ra(190432);break b}while(0);d:do if(((c[47592]|0)==0?(g=Na(153711)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=G3(f,58)|0;d=a[h>>0]|0;g=((d<<24>>24!=0)<<31>>31)+(h-f)|0;if(g>>>0<i>>>0){B6(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;B6(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;g=Oa(n|0,o|0)|0;if(g|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=k6(28)|0;f=c[o>>2]|0;if(!d){E3(g,f)|0;m=41;break}else{c[d>>2]=g;c[d+4>>2]=f;o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d;break}}else m=41;while(0);if((m|0)==41){d=k6(28)|0;if(d){c[d>>2]=c[15652];c[d+4>>2]=c[15653];o=d+8|0;B6(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[47607];c[47607]=d}}Ra(190432);d=(b|0)==0&(d|0)==0?62608:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62608;break}d=0}while(0);l=p;return d|0}function L3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{Ua(190440);if((b|0)!=6){d=M3(b,d)|0;Ra(190440);break}if(!d){d=197414;b=0}else{b=g;e=153724;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=G3(d,59)|0;e=b-d|0;if((e|0)<16){B6(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}M3(f,g)|0;f=f+1|0}while((f|0)!=6);d=197414;b=0}do{f=c[190400+(b<<2)>>2]|0;f=f|0?f+8|0:153740;g=D3(f)|0;B6(d|0,f|0,g|0)|0;a[d+g>>0]=59;d=d+(g+1)|0;b=b+1|0}while((b|0)!=6);a[d+-1>>0]=0;Ra(190440);d=197414}while(0);l=h;return d|0}function M3(a,b){a=a|0;b=b|0;if(!b)a=c[190400+(a<<2)>>2]|0;else{b=K3(a,b)|0;c[190400+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:153740)|0}function N3(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)f=0;else{g=a[b>>0]|0;f=g&255;a:do if(g<<24>>24){h=g;do{e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(h<<24>>24!=g<<24>>24?(h=R1(f)|0,(h|0)!=(R1(g&255)|0)):0)break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;f=h&255}while(h<<24>>24!=0)}while(0);f=R1(f)|0;f=f-(R1(d[c>>0]|0)|0)|0}return f|0}function O3(a,b){a=a|0;b=b|0;P3(a,b)|0;return a|0}function P3(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function Q3(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function R3(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z6(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=S3(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;e=+h[n>>3];a=+h[n+8>>3];if(!o){h[b>>3]=e;h[b+8>>3]=a;break}else{h[b>>3]=-e;h[b+8>>3]=-a;d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z6(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function S3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,F=0,G=0,H=0,I=0;I=l;l=l+560|0;C=I+480|0;A=I+320|0;H=I+160|0;F=I;D=c[63744+(f<<2)>>2]|0;q=e+-1|0;z=(d+-3|0)/24|0;z=(z|0)>0?z:0;B=S(z,-24)|0;j=d+-24+B|0;if((D+q|0)>=0){o=D+e|0;m=z-q|0;n=0;while(1){if((m|0)<0)g=0.0;else g=+(c[63760+(m<<2)>>2]|0);h[A+(n<<3)>>3]=g;n=n+1|0;if((n|0)==(o|0))break;else m=m+1|0}}p=(e|0)>0;o=0;while(1){if(p){n=o+q|0;g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(D|0))o=o+1|0;else break}u=(j|0)>0;v=24-j|0;w=23-j|0;x=(e|0)>0;y=(j|0)==0;m=D;a:while(1){g=+h[F+(m<<3)>>3];p=(m|0)>0;if(p){n=m;o=0;while(1){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(o<<2)>>2]=~~(g-k*16777216.0);t=n;n=n+-1|0;g=k+ +h[F+(n<<3)>>3];if((t|0)<=1)break;else o=o+1|0}}g=+w3(g,j);g=g-+E(+(g*.125))*8.0;n=~~g;g=g-+(n|0);do if(!u)if(!y)if(!(g>=.5)){q=0;t=n;break}else{o=2;G=20;break}else{o=c[C+(m+-1<<2)>>2]>>23;G=19;break}else{t=C+(m+-1<<2)|0;o=c[t>>2]|0;G=o>>v;o=o-(G<<v)|0;c[t>>2]=o;o=o>>w;n=G+n|0;G=19}while(0);if((G|0)==19){G=0;if((o|0)>0)G=20;else{q=o;t=n}}if((G|0)==20){G=0;t=n+1|0;if(p){n=0;s=0;do{q=C+(s<<2)|0;r=c[q>>2]|0;if(!n)if(!r)n=0;else{n=1;p=16777216;G=23}else{p=16777215;G=23}if((G|0)==23){G=0;c[q>>2]=p-r}s=s+1|0}while((s|0)!=(m|0))}else n=0;b:do if(u){switch(j|0){case 1:{p=8388607;break}case 2:{p=4194303;break}default:break b}s=C+(m+-1<<2)|0;c[s>>2]=c[s>>2]&p}while(0);if((o|0)==2){g=1.0-g;if(!n)q=2;else{q=2;g=g-+w3(1.0,j)}}else q=o}if(!(g==0.0)){G=42;break}if((m|0)>(D|0)){n=0;o=m;do{o=o+-1|0;n=c[C+(o<<2)>>2]|n}while((o|0)>(D|0));if(n){G=41;break}else n=1}else n=1;while(1)if(!(c[C+(D-n<<2)>>2]|0))n=n+1|0;else break;p=n+m|0;if((n|0)<=0){m=p;continue}while(1){o=m+1|0;n=m+e|0;h[A+(n<<3)>>3]=+(c[63760+(o+z<<2)>>2]|0);if(x){g=0.0;m=0;do{g=g+ +h[a+(m<<3)>>3]*+h[A+(n-m<<3)>>3];m=m+1|0}while((m|0)!=(e|0))}else g=0.0;h[F+(o<<3)>>3]=g;if((o|0)<(p|0))m=o;else{m=p;continue a}}}if((G|0)==41)while(1){G=0;j=j+-24|0;m=m+-1|0;if(!(c[C+(m<<2)>>2]|0))G=41;else{p=m;break}}else if((G|0)==42){g=+w3(g,0-j|0);if(g>=16777216.0){k=+(~~(g*5.9604644775390625e-08)|0);c[C+(m<<2)>>2]=~~(g-k*16777216.0);j=B+d|0;m=m+1|0;g=k}c[C+(m<<2)>>2]=~~g;p=m}o=(p|0)>-1;if(o){g=+w3(1.0,j);j=p;while(1){h[F+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(o){m=p;while(1){n=p-m|0;j=0;g=0.0;while(1){g=g+ +h[10952+(j<<3)>>3]*+h[F+(j+m<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(n|0))break;else j=j+1|0}h[H+(n<<3)>>3]=g;if((m|0)>0)m=m+-1|0;else break}}}switch(f|0){case 0:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(q|0)==0?g:-g;G=73;break}case 2:case 1:{if(o){g=0.0;j=p;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;m=(q|0)==0;h[b>>3]=m?g:-g;g=+h[H>>3]-g;if((p|0)>=1){j=1;while(1){g=g+ +h[H+(j<<3)>>3];if((j|0)==(p|0))break;else j=j+1|0}}i=m?g:-g;b=b+8|0;G=73;break}case 3:{if((p|0)>0){j=p;g=+h[H+(p<<3)>>3];do{G=j;j=j+-1|0;F=H+(j<<3)|0;k=+h[F>>3];i=g;g=k+g;h[H+(G<<3)>>3]=i+(k-g);h[F>>3]=g}while((G|0)>1);m=(p|0)>1;if(m){j=p;g=+h[H+(p<<3)>>3];do{F=j;j=j+-1|0;G=H+(j<<3)|0;k=+h[G>>3];i=g;g=k+g;h[H+(F<<3)>>3]=i+(k-g);h[G>>3]=g}while((j|0)>1);if(m){j=p;i=0.0;do{i=i+ +h[H+(j<<3)>>3];j=j+-1|0}while((j|0)>1)}else i=0.0}else i=0.0}else i=0.0;k=+h[H>>3];g=+h[H+8>>3];if(!q)h[b>>3]=k;else{h[b>>3]=-k;i=-i;g=-g}h[b+8>>3]=g;b=b+16|0;G=73;break}default:{}}if((G|0)==73)h[b>>3]=i;l=I;return t&7|0}function T3(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function U3(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;g=+h[j>>3];f=g*g*(g/a);h[j>>3]=g*(f*(f*f)*(f*.14599619288661245+-.758397934778766)+(f*(f*1.6214297201053545+-1.8849797954337717)+1.87595182427177));d=w6(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=D;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=f+f*((a-f)/(f+f+a))}while(0);return +a}function V3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function W3(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;a=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=m-g-k+i*(k+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=g*1.4426950407214463;k=+(e+(f>>>20)|0);i=k+l;a=i+(l+(k-i)+(a*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function X3(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+T3(a,0.0,0);h[d>>3]=+Q3(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=R3(a,g)|0;m=g+8|0;e=+T3(+h[g>>3],+h[m>>3],1);a=+Q3(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function Y3(a){a=a|0;var b=0,c=0;c=(D3(a)|0)+1|0;b=k6(c)|0;if(!b)b=0;else B6(b|0,a|0,c|0)|0;return b|0}function Z3(a,b){a=a|0;b=b|0;var c=0;c=D3(a)|0;return ((_3(a,1,c,b)|0)!=(c|0))<<31>>31|0}function _3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=S(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(n2(e)|0)==0;a=L2(a,f,e)|0;if(!g)o2(e)}else a=L2(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function $3(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(a4()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function a4(){return N1()|0}function b4(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(M2(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((eb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function c4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(d4()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62656+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(L1()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function d4(){return N1()|0}function e4(){var a=0,b=0;b=l;l=l+16|0;a=ya(20,b|0)|0;l=b;return a|0}function f4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(w2(153742,a[d>>0]|0,4)|0){f=g4(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=K1(Wa(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0}b=h4(e,d)|0;if(!b){c[h>>2]=e;xa(6,h|0)|0;b=0}}else b=0}else{c[(L1()|0)>>2]=22;b=0}l=i;return b|0}function g4(b){b=b|0;var c=0,d=0,e=0;d=(F3(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(F3(b,120)|0)==0;d=e?d:d|128;b=(F3(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function h4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;n=o+40|0;k=o+24|0;j=o+16|0;g=o;m=o+56|0;f=a[d>>0]|0;if(w2(153742,f<<24>>24,4)|0){e=k6(1156)|0;if(!e)e=0;else{h=e;i=h+124|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));if(!(F3(d,43)|0))c[e>>2]=f<<24>>24==114?8:4;if(F3(d,101)|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ua(221,g|0)|0;f=a[d>>0]|0}if(f<<24>>24==97){c[j>>2]=b;c[j+4>>2]=3;f=ua(221,j|0)|0;if(!(f&1024)){c[k>>2]=b;c[k+4>>2]=4;c[k+8>>2]=f|1024;ua(221,k|0)|0}d=c[e>>2]|128;c[e>>2]=d}else d=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;f=e+75|0;a[f>>0]=-1;if((d&8|0)==0?(c[n>>2]=b,c[n+4>>2]=21523,c[n+8>>2]=m,(Qa(54,n|0)|0)==0):0)a[f>>0]=10;c[e+32>>2]=20;c[e+36>>2]=18;c[e+40>>2]=19;c[e+12>>2]=17;if(!(c[47591]|0))c[e+76>>2]=-1;i4(e)|0}}else{c[(L1()|0)>>2]=22;e=0}l=o;return e|0}function i4(a){a=a|0;var b=0,d=0;b=j4()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;k4();return a|0}function j4(){Ua(190448);return 190456}function k4(){Ra(190448);return}function l4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=n2(a)|0;else f=0;$3(a);g=(c[a>>2]&1|0)!=0;if(!g){e=j4()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;k4()}b=m4(a)|0;b=pb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)l6(d);if(g){if(f|0)o2(a)}else l6(a);return b|0}function m4(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=n4(a)|0;break}d=(n2(a)|0)==0;b=n4(a)|0;if(!d)o2(a)}else{if(!(c[15872]|0))b=0;else b=m4(c[15872]|0)|0;a=c[(j4()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=n2(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=n4(a)|0|b;if(d|0)o2(a);a=c[a+56>>2]|0}while((a|0)!=0);k4()}while(0);return b|0}function n4(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)eb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function o4(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)l=n2(f)|0;else l=0;h=e+-1|0;g=(h|0)!=0;if((e|0)<2){m=f+74|0;k=a[m>>0]|0;a[m>>0]=k+255|k;if(l|0)o2(f);if(g)b=0;else a[b>>0]=0}else{a:do if(g){j=f+4|0;k=f+8|0;e=b;while(1){g=c[j>>2]|0;o=g;p=(c[k>>2]|0)-o|0;n=w2(g,10,p)|0;i=(n|0)==0;n=i?p:1-o+n|0;n=n>>>0<h>>>0?n:h;B6(e|0,g|0,n|0)|0;g=(c[j>>2]|0)+n|0;c[j>>2]=g;e=e+n|0;h=h-n|0;if(!(i&(h|0)!=0)){m=17;break a}if(g>>>0>=(c[k>>2]|0)>>>0){g=Y1(f)|0;if((g|0)<0)break}else{c[j>>2]=g+1;g=d[g>>0]|0}h=h+-1|0;i=e+1|0;a[e>>0]=g;if(!((h|0)!=0&(g&255|0)!=10)){e=i;m=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)m=17;else b=0}else{e=b;m=17}while(0);if((m|0)==17)if(!b)b=0;else a[e>>0]=0;if(l)o2(f)}return b|0}function p4(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function q4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r4(a,b,f)|0;l=e;return d|0}function r4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=44;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=t4(e,b,d)|0;l=g;return h|0}function s4(a,b,c){a=a|0;b=b|0;c=c|0;return x4(a,b,c)|0}function t4(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+288|0;K=Q+8|0;L=Q+17|0;M=Q;N=Q+16|0;if((c[b+76>>2]|0)>-1)P=n2(b)|0;else P=0;i=a[e>>0]|0;a:do if(i<<24>>24){z=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;E=L+10|0;F=L+33|0;y=K+4|0;G=L+46|0;H=L+94|0;I=L+1|0;J=L+1|0;m=e;u=0;e=0;k=0;j=0;b:while(1){c:do if(!(X1(i&255)|0)){i=i<<24>>24==37;d:do if(i){p=m+1|0;n=a[p>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{x=0;m=m+2|0;break}default:{i=(n&255)+-48|0;if(i>>>0<10?(a[m+2>>0]|0)==36:0){x=u4(f,i)|0;m=m+3|0;break e}m=(c[f>>2]|0)+(4-1)&~(4-1);x=c[m>>2]|0;c[f>>2]=m+4;m=p}}while(0);i=a[m>>0]|0;n=i&255;if((n+-48|0)>>>0<10){p=0;do{p=(p*10|0)+-48+n|0;m=m+1|0;i=a[m>>0]|0;n=i&255}while((n+-48|0)>>>0<10)}else p=0;i=i<<24>>24==109;w=(x|0)!=0;k=i?0:k;j=i?0:j;m=i?m+1|0:m;i=w&i;n=m+1|0;switch(a[m>>0]|0){case 104:{v=(a[n>>0]|0)==104;q=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;q=v?3:1;m=v?m+2|0:n;break}case 106:{q=3;m=n;break}case 116:case 122:{q=1;m=n;break}case 76:{q=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{q=0;break}default:{O=137;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:q;r=s&255;switch(r<<24>>24){case 99:{p=(p|0)>1?p:1;break}case 91:break;case 110:{v4(x,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{U1(b,0);do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0}while((X1(n)|0)!=0);if(!(c[A>>2]|0))n=c[z>>2]|0;else{n=(c[z>>2]|0)+-1|0;c[z>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}U1(b,p);n=c[z>>2]|0;q=c[A>>2]|0;if(n>>>0<q>>>0)c[z>>2]=n+1;else{if((W1(b)|0)<0){O=137;break b}q=c[A>>2]|0}if(q|0)c[z>>2]=(c[z>>2]|0)+-1;f:do switch(r<<24>>24){case 91:case 99:case 115:{v=(s|0)==99;g:do if((s|16|0)==115){u6(I|0,-1,256)|0;a[L>>0]=0;if((s|0)==115){a[F>>0]=0;a[E>>0]=0;a[E+1>>0]=0;a[E+2>>0]=0;a[E+3>>0]=0;a[E+4>>0]=0}}else{n=m+1|0;s=(a[n>>0]|0)==94;r=s&1;m=s?m+2|0:n;u6(J|0,s&1|0,256)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{n=G;O=64;break}case 93:{n=H;O=64;break}default:s=(r^1)&255}if((O|0)==64){O=0;s=(r^1)&255;a[n>>0]=s;m=m+1|0}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=137;break b}case 93:break g;case 45:{r=m+1|0;n=a[r>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=s;n=a[r>>0]|0}while((m|0)<(n&255|0));m=r}else m=r;break}default:{}}while(0);a[L+((n&255)+1)>>0]=s;m=m+1|0}}while(0);n=v?p+1|0:31;s=(t|0)==1;i:do if(s){if(i){j=k6(n<<2)|0;if(!j){k=0;j=0;i=1;O=137;break b}}else j=x;c[K>>2]=0;c[y>>2]=0;r=n;k=0;j:while(1){q=(j|0)==0;do{k:while(1){n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0))break j;a[N>>0]=n;switch(I3(M,N,1,K)|0){case -1:{k=0;O=137;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(i&(k|0)==(r|0)));k=r<<1|1;n=n6(j,k<<2)|0;if(!n){k=0;i=1;O=137;break b}else{t=r;r=k;j=n;k=t}}if(!(w4(K)|0)){k=0;O=137;break b}else{n=k;k=0;r=j}}else{if(i){k=k6(n)|0;if(!k){k=0;j=0;i=1;O=137;break b}else{q=n;j=0}while(1){do{n=c[z>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[z>>2]=n+1;n=d[n>>0]|0}else n=W1(b)|0;if(!(a[L+(n+1)>>0]|0)){n=j;r=0;j=0;break i}a[k+j>>0]=n;j=j+1|0}while((j|0)!=(q|0));j=q<<1|1;n=n6(k,j)|0;if(!n){j=0;i=1;O=137;break b}else{t=q;q=j;k=n;j=t}}}if(!x){k=q;while(1){j=c[z>>2]|0;if(j>>>0<k>>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){n=0;k=0;r=0;j=0;break i}k=c[A>>2]|0}}else{n=0;k=q;while(1){j=c[z>>2]|0;if(j>>>0<k>>>0){c[z>>2]=j+1;j=d[j>>0]|0}else j=W1(b)|0;if(!(a[L+(j+1)>>0]|0)){k=x;r=0;j=0;break i}a[x+n>>0]=j;n=n+1|0;k=c[A>>2]|0}}}while(0);if(!(c[A>>2]|0))q=c[z>>2]|0;else{q=(c[z>>2]|0)+-1|0;c[z>>2]=q}q=q-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!q){O=139;break b}if(!((q|0)==(p|0)|v^1)){O=139;break b}do if(i)if(s){c[x>>2]=r;break}else{c[x>>2]=k;break}while(0);if(!v){if(r|0)c[r+(n<<2)>>2]=0;if(!k){k=0;break f}a[k+n>>0]=0}break}case 120:case 88:case 112:{n=16;O=125;break}case 111:{n=8;O=125;break}case 117:case 100:{n=10;O=125;break}case 105:{n=0;O=125;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+s3(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(x)switch(t|0){case 0:{g[x>>2]=o;break f}case 1:{h[x>>3]=o;break f}case 2:{h[x>>3]=o;break f}default:break f}break}default:{}}while(0);do if((O|0)==125){O=0;n=V1(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[z>>2]|0)|0)){O=139;break b}if(w&(s|0)==112){c[x>>2]=n;break}else{v4(x,t,n,D);break}}while(0);e=(w&1)+e|0;n=(c[B>>2]|0)+u+(c[z>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=m+(i&1)|0;U1(b,0);i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0;if((i|0)!=(d[m>>0]|0)){O=22;break b}n=u+1|0}else{while(1){i=m+1|0;if(!(X1(d[i>>0]|0)|0))break;else m=i}U1(b,0);do{i=c[z>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[z>>2]=i+1;i=d[i>>0]|0}else i=W1(b)|0}while((X1(i)|0)!=0);if(!(c[A>>2]|0))i=c[z>>2]|0;else{i=(c[z>>2]|0)+-1|0;c[z>>2]=i}n=(c[B>>2]|0)+u+i-(c[C>>2]|0)|0}while(0);m=m+1|0;i=a[m>>0]|0;if(!(i<<24>>24))break a;else u=n}if((O|0)==22){if(c[A>>2]|0)c[z>>2]=(c[z>>2]|0)+-1;if((e|0)!=0|(i|0)>-1)break;else{i=0;O=138}}else if((O|0)==137){i=i&1;if(!e)O=138}else if((O|0)==139)i=i&1;if((O|0)==138)e=-1;if(i){l6(k);l6(j)}}else e=0;while(0);if(P|0)o2(b);l=Q;return e|0}function u4(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function v4(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function w4(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0;return a&1|0}function x4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=w2(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;B6(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function y4(a,b,c){a=a|0;b=b|0;c=c|0;return A4(a,b,c)|0}function z4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=l2(a,b,f)|0;l=e;return d|0}function A4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(n2(a)|0)==0;b=B4(a,b,d)|0;if(!e)o2(a)}else b=B4(a,b,d)|0;return b|0}function B4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(eb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((eb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function C4(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=F3(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=D4(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=E4(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=F4(b,c)|0;break}else{b=G4(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function D4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24)){b=0;break}f=e&255|f<<8&65280;if((f|0)==(g|0))break;else b=c}return b|0}function E4(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;c=c<<24>>24!=0;if(!((b|0)==(f|0)|c^1))do{e=e+1|0;c=a[e>>0]|0;b=(c&255|b)<<8;c=c<<24>>24!=0}while(!((b|0)==(f|0)|c^1));return (c?e+-2|0:0)|0}function F4(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;g=a[c>>0]|0;e=g&255|((d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8);b=g<<24>>24!=0;if(!((e|0)==(f|0)|b^1))do{c=c+1|0;b=a[c>>0]|0;e=b&255|e<<8;b=b<<24>>24!=0}while(!((e|0)==(f|0)|b^1));return (b?c+-3|0:0)|0}function G4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;f=e;e=e&255;while(1){if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((f&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(f&31);s=s+1|0;c[u+(e<<2)>>2]=s;e=a[d+s>>0]|0;if(!(e<<24>>24))break;else{f=e;e=e&255}}m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){h=n;g=m;i=27;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){h=n;g=m;i=27;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){h=n;f=1;i=27;break}else{h=g+1|0;m=g}}}else{h=n;f=1;g=-1;i=27}}else{h=1;e=-1;f=1;g=-1;i=27}}else{h=1;e=-1;s=0;f=1;g=-1;i=27}while(0);e:do if((i|0)==27){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:h;q=q?g:e;r=q+1|0;if(!(g2(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=w2(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function H4(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=K1(Pa(33,e|0)|0)|0;l=d;return b|0}function I4(a,b){a=a|0;b=b|0;return J4(a,b,(D3(a)|0)+1|0)|0}function J4(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function K4(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(L1()|0)>>2]=12;a=-1;break}if(e&16|0)H3();h=z6(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=K1(Ga(192,i|0)|0)|0}else{c[(L1()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function L4(a){a=a|0;return M4(a)|0}function M4(a){a=a|0;return L6(a|0)|0}function N4(a,b,c){a=a|0;b=b|0;c=c|0;O4(a,b,c)|0;return a|0}function O4(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);u6(b|0,0,e|0)|0;return b|0}function P4(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function Q4(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=G6((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=w6(d|0,D|0,e[c+6>>1]|0|0,0)|0;d=D;b[a>>1]=c;a=z6(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;D=d&65535;return c|0}function R4(a){a=a|0;var b=0;b=Q4(a,66122)|0;b=v6(b|0,D|0,4)|0;a=D|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function S4(){return +(+R4(66116))}function T4(a){a=a|0;var b=0;b=186776;c[b>>2]=a+-1;c[b+4>>2]=0;return}function U4(){var a=0,b=0,d=0;b=186776;b=G6(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=w6(b|0,D|0,1,0)|0;a=D;d=186776;c[d>>2]=b;c[d+4>>2]=a;a=z6(b|0,a|0,33)|0;return a|0}function V4(a){a=a|0;b[97016]=b[33058]|0;b[97017]=b[33059]|0;b[97018]=b[33060]|0;b[33058]=b[a>>1]|0;b[33059]=b[a+2>>1]|0;b[33060]=b[a+4>>1]|0;return 194032}function W4(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;V4(d)|0;l=c;return}function X4(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;i=v;t=Y4()|0;a:do if(!t)b=12;else{u=Z4(0,0)|0;if(!u){_4(t);b=12;break}e=i+8|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[i>>2]=u;c[i+4>>2]=t;c[i+16>>2]=b;c[i+32>>2]=d;e=i+28|0;c[e>>2]=-1;b=$4(i)|0;b:do if(!b){h=i+20|0;f=c[h>>2]|0;c[a>>2]=f+-1;j=c[i+8>>2]|0;b=c[e>>2]|0;if((b|0)<(f|0)){g=m6(1,68)|0;if(g){r=b>>>31^1;c[g+60>>2]=r;c[g+28>>2]=f;if((d&8|0)==0|(r|0)!=0){b=a5(0,t,j,g)|0;if(b|0){h=0;i=0;f=0;e=0;break}f=c[g+40>>2]|0;if((f|0)>0){b=(f<<2)+4|0;e=k6(b)|0;if(!e){h=0;i=0;b=12;f=0;e=0;break}c[g+32>>2]=e;u6(e|0,-1,b|0)|0}else e=0;r=m6(f<<1|1,4)|0;c[g+36>>2]=r;if(!r){h=0;i=0;b=12;f=0;e=0;break}b=m6(c[h>>2]|0,12)|0;if(!b){h=0;i=0;b=12;f=0;e=0;break}c[g+16>>2]=b;b=a5(u,t,j,g)|0;if(!b)b=e;else{h=0;i=0;f=0;e=0;break}}else b=0;r=i+24|0;b=b5(u,t,j,r,b)|0;if(!b){b=c[r>>2]|0;c[r>>2]=b+1;b=c5(u,0,0,b)|0;if((b|0)!=0?(s=d5(u,j,b)|0,(s|0)!=0):0){b=e5(u,t,s)|0;if(!b){e=c[r>>2]|0;b=e<<2;p=k6(b)|0;if(p){q=k6(b)|0;if(q){if((e|0)>0)u6(p|0,0,e<<2|0)|0;f5(s,0,p,0)|0;f=c[r>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;o=p+(e<<2)|0;b=b+1+(c[o>>2]|0)|0;c[o>>2]=0;e=e+1|0}while((e|0)<(f|0));m=b}else m=0;n=m6(m+1|0,32)|0;if(n){c[g>>2]=n;o=g+4|0;c[o>>2]=m;b=f5(s,n,p,q)|0;if(!b){c[g+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}k=m6(e,32)|0;if(!k){h=p;i=q;b=12;f=p;e=q}else{c[g+8>>2]=k;b=c[f>>2]|0;e=c[b>>2]|0;if((e|0)>-1){j=b;b=0;do{c[k+(b<<5)+8>>2]=n+(c[q+(e<<2)>>2]<<5);c[k+(b<<5)+12>>2]=e;h=k+(b<<5)+16|0;c[h>>2]=0;i=j+12|0;f=c[i>>2]|0;if(f|0){e=0;do{w=e;e=e+1|0}while((c[f+(w<<2)>>2]|0)>-1);e=e<<2;f=k6(e)|0;c[h>>2]=f;if(!f){h=p;i=q;b=12;f=p;e=q;break b}B6(f|0,c[i>>2]|0,e|0)|0}c[k+(b<<5)+20>>2]=c[j+16>>2];b=b+1|0;j=j+32|0;e=c[j>>2]|0}while((e|0)>-1)}else b=0;c[k+(b<<5)+8>>2]=0;c[o>>2]=m;c[g+12>>2]=n+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[g+52>>2]=c[r>>2];c[g+56>>2]=d;g5(u);_4(t);l6(p);l6(q);c[a+4>>2]=g;b=0;break a}}else{h=p;i=q;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=q}}else{h=p;i=q;b=12;f=p;e=0}}else{h=p;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{h=0;i=0;f=0;e=0}}else{h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);g5(u);_4(t);if(h|0)l6(f);if(i|0)l6(e);c[a+4>>2]=g;h5(a)}while(0);l=v;return b|0}function Y4(){var a=0,b=0;a=k6(20)|0;do if(a){b=k6(2048)|0;c[a+16>>2]=b;if(!b){l6(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function Z4(a,b){a=a|0;b=b|0;if(!a)b=m6(1,24)|0;else{c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0}return b|0}function _4(a){a=a|0;l6(c[a+16>>2]|0);l6(a);return}function $4(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v+4|0;r=v;s=c[b+32>>2]&1;t=b+16|0;e=c[t>>2]|0;u=c[b+4>>2]|0;d=l5(u,0)|0;a:do if(!d){n=(s|0)!=0;o=b+8|0;p=b+12|0;m=n^1;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(n){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=c5(c[b>>2]|0,-1,-1,-1)|0;c[o>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=B5(b,e)|0;if(d|0)break a;i=f;e=c[p>>2]|0}while(1){d:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!n)break d;switch(d<<24>>24){case 123:case 63:case 43:break;default:break d}}}d=d<<24>>24==92;if(n&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break d}e=d?f:e;if((!n?(e|0)==((c[t>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=C5(e+1|0,s,q,r)|0;if(!e){j=28;break b}d=c[r>>2]|0;f=c[b>>2]|0;if(!d)d=c5(f,-1,-1,-1)|0;else j=36}else{c[q>>2]=0;c[r>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[q>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[r>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=w5(f,c[o>>2]|0,c[q>>2]|0,d,0)|0}c[o>>2]=d;if(!d){d=12;break a}}g=d5(c[b>>2]|0,g,c[o>>2]|0)|0;f=a[e>>0]|0;do if(!n)if(f<<24>>24==92)if((a[e+1>>0]|0)==41){d=x5(c[b>>2]|0,i,g)|0;j=49}else{d=92;j=44}else{d=f;j=46}else{if(f<<24>>24!=124)if((h|0)!=0&f<<24>>24==41)f=41;else{d=f;j=44;break}else f=124;d=x5(c[b>>2]|0,i,g)|0;j=50}while(0);if((j|0)==44)if(d<<24>>24==92&m)if((a[e+1>>0]|0)==124)j=48;else{f=i;continue c}else j=46;if((j|0)==46)if(!(d<<24>>24))j=48;else{f=i;continue c}if((j|0)==48){d=x5(c[b>>2]|0,i,g)|0;if(f<<24>>24==92)j=49;else j=50}if((j|0)==49){j=0;if((a[e+1>>0]|0)==124){f=2;break}if(!h){d=8;break a}e=e+2|0;f=92}else if((j|0)==50){j=0;if(f<<24>>24==124){f=1;break}e=f<<24>>24==41?e+1|0:e}d=D5(b,d,m5(u)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=56;break b}if(f|d){d=8;break a}g=n5(u)|0;h=h+-1|0;i=n5(u)|0}g=0;e=e+f|0;f=d}d=k5(u,f)|0;if(d|0)break a;d=k5(u,g)|0;if(d|0)break a;d=l5(u,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=n?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==56){c[b+20>>2]=k;d=0;break}}while(0);l=v;return d|0}function a5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=j5(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}h=c[f+28>>2]|0;z=k6((h<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=k6((h<<2)+4|0)|0;if(!A){l6(z);g=12;break}c[A>>2]=-1;g=0;while(1)if(g>>>0>h>>>0)break;else g=g+1|0;k5(d,e)|0;g=l5(d,0)|0;a:do if((g|0)!=0|(j5(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(m5(d)|0){case 6:{i=m5(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=n5(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;i=(c[w>>2]|0)+(j*12|0)+8|0;c[i>>2]=0;if((g|0)>0){g=k6((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[i>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=l5(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=l5(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=k5(d,q)|0;if(!g){g=l5(d,5)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){i=k+20|0;g=l5(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=(i&1)+t|0}else{g=-1;i=t}g=l5(d,g)|0;if(!g){g=l5(d,4)|0;if(!g){g=k5(d,k)|0;if(!g){p=i;g=l5(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=l5(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=l5(d,m)|0;if(g|0){p=t;o=s;break c}g=l5(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=k5(d,q)|0;if(!g){g=l5(d,1)|0;if(!g){g=k5(d,c[i>>2]|0)|0;if(!g){g=l5(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=l5(d,i?p:t)|0;if(!g){g=l5(d,i?t:m)|0;if(!g){g=k5(d,e)|0;if(!g){g=l5(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=k5(d,q)|0;if(!g){g=k5(d,j)|0;if(!g){g=k5(d,k)|0;if(!g){g=l5(d,3)|0;if(!g){g=k5(d,j)|0;if(!g){g=l5(d,0)|0;if(!g){g=l5(d,2)|0;if(g|0){p=t;o=s;break c}g=k5(d,k)|0;if(g|0){p=t;o=s;break c}g=l5(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=y5(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}z5(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=n5(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(m5(d)|0)+i;i=0;l=-1}else{q=m5(d)|0;r=m5(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=m5(d)|0;j=m5(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=n5(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=n5(d)|0;o=n5(d)|0;g=n5(d)|0;e=m5(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=n5(d)|0;i=m5(d)|0;k=m5(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=A5(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=A5(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(j5(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(z5(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;l6(z);l6(A)}while(0);return g|0}function b5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;w=y+8|0;x=y+4|0;u=y;v=j5(b)|0;c[t>>2]=0;c[w>>2]=0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d){b:do if((j5(b)|0)>(v|0)){g=0;i=0;j=0;c:while(1){q=m5(b)|0;r=n5(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[w>>2]|0)){d=j;break d}c[w>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=k5(b,c[h+4>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=l5(b,j)|0;if(d|0)break b;d=k5(b,r)|0;if(d|0)break b;d=l5(b,1)|0;if(d|0)break b;d=k5(b,c[h>>2]|0)|0;if(d|0)break b;d=l5(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=l5(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=m5(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[x>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[x>>2]=0;s=30}e:do if((s|0)==30){d=v5(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,u,w)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[u>>2]|0;if(!h)h=d;else h=d5(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=v5(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,u,w)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,x,w)|0;if(d|0)break c;j=w5(a,c[x>>2]|0,0,-1,0)|0;c[x>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;do{m=c[t>>2]|0;d=v5(a,b,c[o>>2]|0,0,t,0,u,w)|0;if(d|0){g=j;s=48;break c}d=c[u>>2]|0;if(!j)j=d;else j=d5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}d=c5(a,-1,-1,-1)|0;if(!d){d=12;g=j;s=48;break c}j=x5(a,d,j)|0;if(!j){d=12;g=0;s=48;break c}k=k+1|0}while((k|0)<(c[n>>2]|0));c[x>>2]=j;d=m}else j=0;c[t>>2]=d;if(h){if(j){h=d5(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((j5(b)|0)>(v|0))j=d;else{d=0;break b}}if((s|0)!=34)if((s|0)==48)c[x>>2]=g;break a}else{d=0;g=0}while(0);x=(c[e>>2]|0)+g|0;w=c[w>>2]|0;c[e>>2]=(w|0)>(x|0)?w:x}}while(0);l=y;return d|0}function c5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=s5(a,0,0,1,20)|0;a=u5(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function d5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function e5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=j5(b)|0;d=k5(b,d)|0;a:do if(!d){d=l5(b,0)|0;if(!d)if((j5(b)|0)>(m|0)){b:while(1){h=m5(b)|0;i=n5(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=o5(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=p5(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=p5(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=o5(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=o5(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,1)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 1:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,2)|0;if(d|0)break a;e=i+4|0;d=k5(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(d|0)break a;d=k5(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}case 2:{d=k5(b,i)|0;if(d|0)break a;d=l5(b,3)|0;if(d|0)break a;d=k5(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=l5(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=q5(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=q5(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=q5(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=r5(b,d,0,0,j)|0;if(d|0)break b;e=k6((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=r5(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=q5(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;l6(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((j5(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)l6(e);else if((n|0)==52)l6(e)}else d=0}while(0);l=o;return d|0}function f5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=i5(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=f5(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=i5(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=f5(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function g5(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{l6(c[b>>2]|0);d=b;b=c[b+4>>2]|0;l6(d)}while((b|0)!=0);l6(a);return}function h5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){l6(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){l6(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)l6(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)l6(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}l6(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){l6(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}l6(a)}a=c[h+32>>2]|0;if(a|0)l6(a);a=c[h+20>>2]|0;if(a|0)l6(a);a=c[h+36>>2]|0;if(a|0)l6(a);l6(h)}return}function i5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}n=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=n+8|0;if(!(c[h>>2]|0))break;else n=n+32|0}c[n+40>>2]=0;c[n>>2]=c[p>>2];c[n+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[n+12>>2]=o;h=c[s>>2]|0;m=c[t>>2]|0;e=(m|0)!=0;i=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(e?8:0);j=n+20|0;c[j>>2]=i;k=c[u>>2]|0;l=n+24|0;if((k|0)>-1){c[l>>2]=k;c[j>>2]=i|256}else c[l>>2]=h;if(e){h=0;do{l=h;h=h+1|0}while((c[m+(l<<2)>>2]|0)!=0);h=k6(h<<2)|0;c[n+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}else c[n+28>>2]=0;e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=n+16|0;i=c[j>>2]|0;if(i|0)l6(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=k6((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}i=c[v>>2]|0;if((i|0)!=0?(w=c[i>>2]|0,(w|0)>-1):0){h=0;e=w;do{c[n+(h<<2)>>2]=e;h=h+1|0;e=c[i+(h<<2)>>2]|0}while((e|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=40;break}}}else y=40;while(0);if((y|0)==40){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function j5(a){a=a|0;return c[a+12>>2]|0}function k5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function l5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=t5(a,e)|0;l=d;return b|0}function m5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function n5(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function o5(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=s5(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function p5(a){a=a|0;a=s5(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function q5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=s5(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;k=c[l>>2]|0;h=(k|0)==0;if(o&h)h=0;else{if(h)j=0;else{j=0;while(1)if((c[k+(j<<2)>>2]|0)>-1)j=j+1|0;else break}h=s5(a,0,0,0,(j+n<<2)+4|0)|0;if(!h){g=0;break a}if((j|0)>0){l=c[l>>2]|0;k=0;do{c[h+(k<<2)>>2]=c[l+(k<<2)>>2];k=k+1|0}while((k|0)!=(j|0))}else j=0;if(m){l=0;k=j;while(1){c[h+(k<<2)>>2]=c[e+(l<<2)>>2];k=l+1|0;if((k|0)==(n|0))break;else{l=k;k=k+j|0}}j=n+j|0}c[h+(j<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];k=d+(m<<5)+12|0;h=c[k>>2]|0;if(!h)h=0;else{i=0;while(1){j=i+1|0;if((c[h+(i<<2)>>2]|0)>-1)i=j;else break}h=s5(a,0,0,0,j<<2)|0;if(!h){g=0;break a}if((i|0)>0){k=c[k>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function r5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=j5(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=k5(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((j5(a)|0)>(o|0))while(1){b=n5(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=k5(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=k5(a,k)|0,g|0):0)break a;if((j5(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function s5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;h=a+16|0;a:do if(!(c[h>>2]|0)){j=a+12|0;g=c[j>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;d=0;break a}else{b=a+8|0;c[b>>2]=d;g=1024;break}else{g=f<<3;g=g>>>0>1024?g:1024;i=k6(8)|0;if(!i){c[h>>2]=1;d=0;break a}d=k6(g)|0;c[i>>2]=d;if(!d){l6(i);c[h>>2]=1;d=0;break a}c[i+4>>2]=0;b=a+4|0;h=c[b>>2]|0;if(h|0)c[h+4>>2]=i;if(!(c[a>>2]|0))c[a>>2]=i;c[b>>2]=i;b=a+8|0;c[b>>2]=d}while(0);c[j>>2]=g;h=b}else{d=a+8|0;h=d;d=c[d>>2]|0}b=d+f&3;b=((b|0)==0?0:4-b|0)+f|0;c[h>>2]=d+b;c[j>>2]=g-b;if(e)u6(d|0,0,b|0)|0}else d=0;while(0);return d|0}function t5(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=n6(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];t5(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function u5(a,b,d){a=a|0;b=b|0;d=d|0;a=s5(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function v5(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=j5(d)|0;k5(d,e)|0;e=l5(d,0)|0;a:do if(!e){r=(f&1|0)==0;q=(f&2|0)!=0;o=0;p=1;e=i;while(1){if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(m5(d)|0){case 1:{i=7;break c}case 0:{e=n5(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((j5(d)|0)<=(s|0)){f=o;e=0;break a}}if((i|0)==7)e=n5(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=w5(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((j5(d)|0)>(s|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;k=c[m+8>>2]|0;i=c[m>>2]|0;e=c[m+4>>2]|0;if(!((i|0)>-1|(i|0)==-4)){f=(i|0)==-3;if(r|f^1)if(f)if(q&(p|0)!=0){c[h+(e<<2)>>2]=1;i=-3;l=k;f=o;k=0}else{i=-3;l=k;f=o;k=p}else{l=k;f=o;k=p}else{e=-1;i=-1;l=-1;f=o;k=p}}else{l=(c[g>>2]|0)+k|0;f=o+1|0;k=p}e=c5(b,i,e,l)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((l|0)>(c[j>>2]|0)){c[j>>2]=l;l=f;f=n}else{l=f;f=n}}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=x5(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=k5(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,m+4|0)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;f=m;e=l5(d,0)|0}else if((i|0)==26){l=c[e+4>>2]|0;i=l+4|0;e=d5(b,c[l>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=k5(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=l5(d,0)|0;if(e|0){f=o;break a}e=k5(d,k)|0;if(e|0){f=o;break a}e=l5(d,1)|0;if(e|0){f=o;break a}e=k5(d,c[l>>2]|0)|0;if(e|0){f=o;break a}l=o;k=p;e=l5(d,0)|0}if(!e){o=l;p=k;e=f}else{f=l;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function w5(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=s5(b,0,0,1,16)|0;b=u5(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function x5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=s5(a,0,0,1,8)|0;a=u5(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function y5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function z5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function A5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=s5(a,0,0,0,8)|0;if(((e|0)!=0?(d=c5(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=s5(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function B5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=F5(b,d+1|0)|0;break}case 92:{e=d+1|0;f=G5(e)|0;if(f|0){e=B5(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=c5(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=c5(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=c5(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=c5(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=H5(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=c5(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=c5(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{g=b+24|0;e=c[g>>2]|0;c[g>>2]=e+1;f=c[b>>2]|0;if(h&4){f=c5(f,0,9,e)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=c5(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=x5(c[b>>2]|0,f,e)|0;else e=0}else e=c5(f,0,1114111,e)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=c5(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=c5(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=c5(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=c4(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((a3(c[j>>2]|0)|0)==0?(Y2(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=g3(c[j>>2]|0)|0;g=g3(c[j>>2]|0)|0;f=b+24|0;g=c5(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=c3(c[j>>2]|0)|0;d=c3(c[j>>2]|0)|0;d=c5(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=x5(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=c5(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function C5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=E5(b,i)|0;if((a[b>>0]|0)==44){b=E5(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function D5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=c5(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=d5(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function E5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;c[d>>2]=-1;if(((a[b>>0]|0)+-48|0)>>>0<10){c[d>>2]=0;e=b;g=0;f=a[b>>0]|0;while(1){g=(g*10|0)+-48+(f<<24>>24)|0;c[d>>2]=g;b=e+1|0;f=a[b>>0]|0;if((g|0)>255|((f<<24>>24)+-48|0)>>>0>9)break;else e=b}}return b|0}function F5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=k6(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=I5(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){k3(c[r>>2]|0,c[h>>2]|0,4,111);d=K5(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=s5(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}B6(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){i=c[n+(k<<2)>>2]|0;g=c[i>>2]|0;h=i+4|0;do if(!p){j=(c[h>>2]|0)+1|0;if((g|0)>(d|0)){c[i>>2]=d;c[h>>2]=g+-1;d=j;q=14;break}else{d=(j|0)>=(d|0)?j:d;break}}else q=14;while(0);if((q|0)==14){q=0;c[i+8>>2]=c[o>>2];c[i+16>>2]=f;j=u5(c[b>>2]|0,0,i)|0;e=x5(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);l6(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function G5(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[64024+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[64024+(b<<3)+4>>2]|0}function H5(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function I5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=c4(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}g=g+1|0;if((g|0)>=14){s=16;break b}}B6(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=h3(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=c4(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=K5(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?(L5(e,m,g)|0)!=0:0){g=12;break a}}j=c4(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function J5(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function K5(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=n6(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=s5(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function L5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(Y2(b)|0)){if(!(a3(b)|0)){b=b+1|0;break}f=c3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((c3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=g3(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((g3(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=K5(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function M5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=k6(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=O5(i,b,g,f,k)|0;else a=N5(i,b,g,f,k)|0;if(!a)P5(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)l6(d)}l=n;return a|0}function N5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;U=W;c[U>>2]=0;o=e&1;S=e&2;T=a+56|0;n=c[T>>2]&4;V=Z4(0,0)|0;a:do if(V){p=s5(V,0,0,0,32)|0;if(!p){g5(V);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;R=a+40|0;q=c[R>>2]|0;if(q){e=k6(q<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=k6(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}Q=a+52|0;e=c[Q>>2]|0;if(e){e=k6(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}M=a+8|0;N=a+12|0;O=(d|0)!=0;P=a+32|0;J=(n|0)!=0;K=(d|0)==0;L=(o|0)==0;I=(o|0)==0;s=b;e=1;r=-1;v=-1;n=q;B=0;c:while(1){if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!K){c[d+(o<<2)>>2]=-1;n=c[R>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[Q>>2]|0;if((n|0)>0)u6(g|0,0,n<<2|0)|0;G=e+r|0;e=c4(U,s,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=s+e|0;H=c[U>>2]|0;n=c[M>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[U>>2]|0,!((E|S|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(R2(B)|0){q=t;break d}o=c[U>>2]|0;if((o|0)==95)break;if(!(R2(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[U>>2]|0;if((o|0)==95){q=t;break}}else{E=(R2(B)|0)==0;o=c[U>>2]|0;if(E|(o|0)==95){q=t;break}}if(R2(o)|0){q=t;break}o=c[r>>2]|0}q=c[U>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x){o=q;q=1}else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){q=t;break d}else break;else if(q^(R2(o)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[U>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(R2(B)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(R2(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=s5(V,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=s5(V,0,0,0,c[R>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[R>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=170;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=170}e:while(1){if((C|0)==79){if((w|0)==(c[N>>2]|0)){if((v|0)>=(s|0)){if(!(O&(v|0)==(s|0))){n=x;C=170;continue}if(!(R5(c[R>>2]|0,c[P>>2]|0,j,d)|0)){n=x;C=170;continue}}if(!O){v=s;n=x;C=170;continue}if((c[R>>2]|0)>0)n=0;else{v=s;n=x;C=170;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[R>>2]|0)){v=s;n=x;C=170;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;P5(o+1|0,m,c[T>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(h2(b+E|0,r+-1|0,o)|0){n=x;C=170;continue}E=(o|0)==0;n=E&1;q=k+(c[w+12>>2]<<2)|0;if(E?c[q>>2]|0:0){n=x;C=170;continue}c[q>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[U>>2]|0;n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[U>>2]|0;if(!q){n=x;C=170;continue}n=c4(U,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=170;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&L;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[U>>2]|0,!((x|S|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(R2(q)|0)break f;e=c[U>>2]|0;if((e|0)==95)break;if(!(R2(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[U>>2]|0;if((e|0)==95)break f}else{x=(R2(q)|0)==0;e=c[U>>2]|0;if(x|(e|0)==95)break f}if(R2(e)|0)break f;e=c[r>>2]|0}o=c[U>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(R2(q)|0)!=0;o=c[U>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(R2(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[U>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(R2(q)|0)!=0;e=c[U>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(R2(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[T>>2]&2|0)break;if(!(W2(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[T>>2]&2))break;x=c3(q)|0;e=w+24|0;if(W2(x,c[e>>2]|0)|0)break;x=g3(q)|0;if(!(W2(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(Q5(c[w+28>>2]|0,q,c[T>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=s5(V,0,0,0,32)|0;if(!e){C=144;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=s5(V,0,0,0,c[R>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=151;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[U>>2];if((c[R>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[R>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=170;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==170){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[U>>2]=c[p+16>>2];q=c[R>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[U>>2]|0)==0){C=179;break}c[U>>2]=H;s=F;r=G;n=c[R>>2]|0;B=H}if((C|0)==53){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==60){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==144){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==151){g5(V);if(j|0)l6(i);if(m|0)l6(h);if(!k){e=12;break a}l6(g);e=12;break a}else if((C|0)==179){c[f>>2]=v;e=(n^1)&1;break}}while(0);g5(V);if(j|0)l6(i);if(m|0)l6(h);if(k)l6(g)}else e=12;while(0);l=W;return e|0}function O5(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+16|0;U=X;c[U>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)O=0;else O=c[a+40>>2]|0;P=O<<2;i=c[a+52>>2]|0;h=i<<3;g=h+8|0;e=P+12+h+(g+(S(P,i)|0)<<1)|0;V=k6(e)|0;if(!V)e=12;else{u6(V|0,0,e|0)|0;e=V+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;N=e&3;N=e+((N|0)==0?0:4-N|0)|0;e=N+h|0;g=e&3;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[N+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=c4(U,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;W=11}else{i=e;W=11}a:do if((W|0)==11){M=a+8|0;H=(j|0)!=0;I=(O|0)>0;J=a+12|0;K=a+44|0;L=a+32|0;E=a+36|0;F=(O|0)==0;G=(k|0)==0;D=(O|0)<1;C=(k|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=V;x=m;w=n;while(1){if((e|0)<0){k=c[M>>2]|0;a=k+8|0;b:do if(c[a>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=H&(h|0)==10;s=(u|0)<1&G;while(1){c:while(1){o=k+12|0;if((c[N+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=k+20|0;b=c[n>>2]|0;if(!b){W=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[U>>2]|0,!((B|Q|0)==0|H&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(R2(h)|0)break d;b=c[U>>2]|0;if((b|0)==95)break;if(!(R2(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[U>>2]|0;if((b|0)==95)break}else{B=(R2(h)|0)==0;b=c[U>>2]|0;if(B|(b|0)==95)break}if(R2(b)|0)break;b=c[n>>2]|0}m=c[U>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(R2(h)|0)!=0;m=c[U>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(R2(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){W=46;break c}b=c[U>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(m){W=46;break c}else break;else if(m^(R2(b)|0)!=0)break;else{W=46;break c}}while(0);a=k+40|0;if(!(c[a>>2]|0))break b;else k=k+32|0}if((W|0)==46){W=0;c[g>>2]=c[a>>2];if(I)u6(c[g+4>>2]|0,-1,P|0)|0;a=c[k+16>>2]|0;if(a|0?(T=c[a>>2]|0,(T|0)>-1):0){m=g+4|0;b=T;do{if((b|0)<(O|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}a=(c[g>>2]|0)!=(c[J>>2]|0);if(a|D){j=a?j:1;e=a?e:u;a=g+4|0}else{a=g+4|0;j=c[a>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(O|0));j=1;e=u}B=c[o>>2]|0;c[N+(B<<3)>>2]=u;c[N+(B<<3)+4>>2]=a;g=g+8|0}a=k+40|0;if(!(c[a>>2]|0))break;else k=k+32|0}}while(0);c[g>>2]=0;g=c[U>>2]|0;if(!g)break;else h=g}else{if(F)break;h=c[U>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=c4(U,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[K>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[E>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){a=0;b=p;do{k=c[o+((a|1)<<2)>>2]|0;if((b|0)>=(O|0))break e;j=c[m>>2]|0;if((c[j+(k<<2)>>2]|0)==(c[d+(k<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;a=a+2|0;b=c[o+(a<<2)>>2]|0}while((b|0)>-1);a=m;W=75}else{a=m;j=c[m>>2]|0;W=75}while(0);if((W|0)==75){W=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[a>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}a=c[w>>2]|0;if(!a){a=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=H&(h|0)==10;u=(B|0)<1&C;q=w;k=A;g=y;while(1){b=a+8|0;if(c[b>>2]|0){p=q+4|0;o=k;n=b;while(1){f:do if((c[a>>2]|0)>>>0<=h>>>0?(c[a+4>>2]|0)>>>0>=h>>>0:0){m=a+20|0;k=c[m>>2]|0;do if(k|0){if(!((k&1|0)==0|u|v)){k=o;break f}if(k&2|0?(A=c[U>>2]|0,!((A|Q|0)==0|H&(A|0)==10)):0){k=o;break f}do if(k&16|0){if(s){k=o;break f}if(R2(h)|0){k=o;break f}k=c[U>>2]|0;if((k|0)==95)break;if(!(R2(k)|0)){k=o;break f}}while(0);k=c[m>>2]|0;if(k&32){if(s){k=c[U>>2]|0;if((k|0)==95){k=o;break f}}else{A=(R2(h)|0)==0;k=c[U>>2]|0;if(A|(k|0)==95){k=o;break f}}if(R2(k)|0){k=o;break f}k=c[m>>2]|0}b=c[U>>2]|0;do if((b|0)!=0&(r&(k&64|0)!=0)){if(s)k=1;else{k=(R2(h)|0)!=0;b=c[U>>2]|0}if((b|0)==95)if(k){k=o;break f}else break;else if(k^(R2(b)|0)!=0)break;else{k=o;break f}}while(0);do if(c[m>>2]&128|0){k=c[U>>2]|0;if(t|(k|0)==0){k=o;break f}if(s)b=1;else{b=(R2(h)|0)!=0;k=c[U>>2]|0}if((k|0)==95)if(b)break;else{k=o;break f}else if(b^(R2(k)|0)!=0){k=o;break f}else break}while(0);k=c[m>>2]|0;do if(k&4){if(c[R>>2]&2|0)break;if(!(W2(h,c[a+24>>2]|0)|0)){k=o;break f}k=c[m>>2]|0}while(0);do if(k&4|0){if(!(c[R>>2]&2))break;A=c3(h)|0;k=a+24|0;if(W2(A,c[k>>2]|0)|0)break;A=g3(h)|0;if(!(W2(A,c[k>>2]|0)|0)){k=o;break f}}while(0);if(!(c[m>>2]&8))break;if(Q5(c[a+28>>2]|0,h,c[R>>2]&2)|0){k=o;break f}}while(0);if(I){b=c[p>>2]|0;k=0;do{c[o+(k<<2)>>2]=c[b+(k<<2)>>2];k=k+1|0}while((k|0)!=(O|0))}k=c[a+16>>2]|0;do if(k|0){b=c[k>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(O|0))c[o+(b<<2)>>2]=B;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}while(0);k=c[a+12>>2]|0;b=N+(k<<3)|0;if((c[b>>2]|0)>=(B|0)){k=c[N+(k<<3)+4>>2]|0;b=c[k>>2]|0;if(!(R5(O,c[L>>2]|0,o,b)|0)){k=o;break}c[k>>2]=o;if((c[n>>2]|0)!=(c[J>>2]|0)){k=b;break}if(I)e=0;else{j=1;k=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(O|0)){j=1;k=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[N+(k<<3)+4>>2]=x;do if((A|0)==(c[J>>2]|0)){if((e|0)==-1)if(I)e=0;else{e=B;j=1;break}else{if(!I)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(O|0));e=B;j=1}while(0);k=m;g=g+8|0}else k=o;while(0);n=a+40|0;if(!(c[n>>2]|0))break;else{a=a+32|0;o=k}}}q=q+8|0;a=c[q>>2]|0;if(!a){a=k;break}}}c[g>>2]=0;v=z;u=B;A=a;x=y}c[f>>2]=e;e=e>>>31}while(0);l6(V)}l=X;return e|0}function P5(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)u6(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function Q5(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(W2(b,d)|0){d=1;break a}}else{e=g3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}e=c3(b)|0;if(W2(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function R5(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function S5(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(n2(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=Y1(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=Y1(a)|0;break}}while(0);return b|0}function T5(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(n2(a)|0)==0;a=U5(a)|0}else a=U5(a)|0;return a|0}function U5(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=eb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function V5(a){a=a|0;(c[a+76>>2]|0)>-1?n2(a)|0:0;return c[a+60>>2]|0}function W5(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=b&255;e=b&255;if((c[d+76>>2]|0)>=0?(n2(d)|0)!=0:0){if((e|0)!=(a[d+75>>0]|0)?(h=d+20|0,i=c[h>>2]|0,i>>>0<(c[d+16>>2]|0)>>>0):0){c[h>>2]=i+1;a[i>>0]=j}else e=b4(d,b)|0;o2(d)}else k=3;do if((k|0)==3){if((e|0)!=(a[d+75>>0]|0)?(f=d+20|0,g=c[f>>2]|0,g>>>0<(c[d+16>>2]|0)>>>0):0){c[f>>2]=g+1;a[g>>0]=j;break}e=b4(d,b)|0}while(0);return e|0}function X5(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=S(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=n2(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;m=(c[f+8>>2]|0)-h|0;i=m>>>0<k>>>0?m:k;if((m|0)>0){B6(b|0,h|0,i|0)|0;c[g>>2]=h+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(Z1(f)|0)break;h=eb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)o2(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)o2(f);return e|0}function Y5(a){a=a|0;return T5(a)|0}function Z5(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15840]|0;if((c[f+76>>2]|0)>-1)g=n2(f)|0;else g=0;do if((Z3(b,f)|0)<0)b=1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(b4(f,10)|0)<0}while(0);if(g|0)o2(f);return b<<31>>31|0}function _5(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;Xa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function $5(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=153835;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){_5(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=K1(Wa(5,g|0)|0)|0;b=b+1|0;if((f|0)>-1){j=4;break}if((b|0)>=100){b=0;break}}if((j|0)==4){c[h>>2]=d;Ta(10,h|0)|0;b=h4(f,153855)|0;if(!b){c[i>>2]=f;xa(6,i|0)|0;b=0}}l=k;return b|0}function a6(a){a=a|0;return +(+b6(a,0))}function b6(a,b){a=a|0;b=b|0;return +(+c6(a,b,1))}function c6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;U1(h,0);e=+s3(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function d6(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;while(1){e=a[b>>0]|0;c=e<<24>>24;f=b+1|0;if(!(X1(c)|0))break;else b=f}switch(c|0){case 45:{b=1;g=5;break}case 43:{b=0;g=5;break}default:{h=0;d=b;b=e}}if((g|0)==5){h=b;d=f;b=a[f>>0]|0}c=(b<<24>>24)+-48|0;if(c>>>0<10){b=0;do{d=d+1|0;b=(b*10|0)-c|0;c=(a[d>>0]|0)+-48|0}while(c>>>0<10)}else b=0;return (h|0?b:0-b|0)|0}function e6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(S(g,d)|0)|0;f=vb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function f6(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;if(!(e<<24>>24))d=b;else{d=b;do{if(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)|0)break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)d=G3(b,e<<24>>24)|0;l=h;return d-b|0}function g6(a,b){a=a|0;b=b|0;O3(a+(D3(a)|0)|0,b)|0;return a|0}function h6(b,c){b=b|0;c=c|0;c=b+(f6(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function i6(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[47615]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[47615]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[47615]=d;if(!(a[d>>0]|0)){c[47615]=0;break}else{c[47615]=d+1;a[d>>0]=0;break}}while(0);return b|0}function j6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(P4(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(f6(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function k6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[47616]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=190504+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[47620]|0)>>>0)Va();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else Va()}else c[47616]=t&~(1<<a);while(0);J=a<<3;c[f+4>>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[47618]|0;if(p>>>0>s>>>0){if(d|0){i=2<<a;a=d<<a&(i|0-i);a=(a&0-a)+-1|0;i=a>>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=190504+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[47620]|0)>>>0)Va();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else Va()}else{j=t&~(1<<b);c[47616]=j}while(0);h=(b<<3)-p|0;c[g+4>>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<<b;if(j&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{k=a;m=b}}else{c[47616]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[47618]=h;c[47621]=e;J=i;l=K;return J|0}k=c[47617]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[190768+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0<a>>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[47620]|0;if(j>>>0<f>>>0)Va();i=j+p|0;if(j>>>0>=i>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Va();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else Va()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[47617]=k&~(1<<b);break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else Va();while(0);a=c[47620]|0;if(n>>>0<a>>>0)Va();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[47621]|0;b=s>>>3;d=190504+(b<<1<<2)|0;b=1<<b;if(t&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{q=a;r=b}}else{c[47616]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[47618]=h;c[47621]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[47617]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<<r;q=(C+520192|0)>>>16&4;C=C<<q;i=(C+245760|0)>>>16&2;i=14-(q|r|i)+(C<<i>>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[190768+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0<e>>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<<i;a=k&(a|0-a);if(!a)break;r=(a&0-a)+-1|0;m=r>>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[190768+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0<e>>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[47618]|0)-p|0)>>>0:0){f=c[47620]|0;if(j>>>0<f>>>0)Va();h=j+p|0;if(j>>>0>=h>>>0)Va();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0<f>>>0)Va();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0<f>>>0)Va();b=e+12|0;if((c[b>>2]|0)!=(j|0))Va();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else Va()}while(0);c:do if(g){b=c[j+28>>2]|0;a=190768+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<<b);c[47617]=t;break c}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else Va();while(0);a=c[47620]|0;if(s>>>0<a>>>0)Va();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0<a>>>0)Va();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[47620]|0)>>>0)Va();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{x=a;y=b}}else{c[47616]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=190768+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(t&a)){c[47617]=t|a;c[d>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else Va()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[47618]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[47621]|0;if(b>>>0>15){J=a+p|0;c[47621]=J;c[47618]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[47618]=0;c[47621]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[47619]|0;if(h>>>0>p>>>0){H=h-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[47734]|0)){c[47736]=4096;c[47735]=4096;c[47737]=-1;c[47738]=-1;c[47739]=0;c[47727]=0;a=o&-16^1431655768;c[o>>2]=a;c[47734]=a;a=4096}else a=c[47736]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[47726]|0;if(a|0?(x=c[47724]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[47727]&4)){d=c[47622]|0;e:do if(d){e=190912;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=H6(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=H6(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[47735]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[47724]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[47726]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=H6(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[47736]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((H6(a|0)|0)==(-1|0)){H6(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[47727]=c[47727]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=H6(k|0)|0,y=H6(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0<y>>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[47724]|0)+h|0;c[47724]=b;if(b>>>0>(c[47725]|0)>>>0)c[47725]=b;k=c[47622]|0;do if(k){b=190912;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0<g>>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[47619]|0)+(h-J)|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738];break}b=c[47620]|0;if(g>>>0<b>>>0){c[47620]=g;i=g}else i=b;d=g+h|0;b=190912;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[47621]|0)){J=(c[47618]|0)+j|0;c[47618]=J;c[47621]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0<i>>>0)Va();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0<i>>>0)Va();a=f+12|0;if((c[a>>2]|0)!=(b|0))Va();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else Va()}while(0);if(!g)break;a=c[b+28>>2]|0;d=190768+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else Va();else{c[d>>2]=H;if(H|0)break;c[47617]=c[47617]&~(1<<a);break f}while(0);e=c[47620]|0;if(H>>>0<e>>>0)Va();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<e>>>0)Va();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[47620]|0)>>>0)Va();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=190504+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0<i>>>0)Va();if((c[d+12>>2]|0)==(b|0))break;Va()}while(0);if((e|0)==(d|0)){c[47616]=c[47616]&~(1<<f);break}do if((e|0)==(a|0))E=e+8|0;else{if(e>>>0<i>>>0)Va();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}Va()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;do if(!(a&b)){c[47616]=a|b;I=d;J=d+8|0}else{b=d+8|0;a=c[b>>2]|0;if(a>>>0>=(c[47620]|0)>>>0){I=a;J=b;break}Va()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;b=(J+245760|0)>>>16&2;b=14-(H|I|b)+(J<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=190768+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[47617]|0;d=1<<b;if(!(a&d)){c[47617]=a|d;c[e>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else Va()}}else{J=(c[47619]|0)+j|0;c[47619]=J;c[47622]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=190912;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0<f>>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[47622]=J;c[47619]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[47623]=c[47738];d=a+4|0;c[d>>2]=27;c[b>>2]=c[47728];c[b+4>>2]=c[47729];c[b+8>>2]=c[47730];c[b+12>>2]=c[47731];c[47728]=g;c[47729]=h;c[47731]=0;c[47730]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0<D>>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=190504+(b<<1<<2)|0;a=c[47616]|0;b=1<<b;if(a&b){b=d+8|0;a=c[b>>2]|0;if(a>>>0<(c[47620]|0)>>>0)Va();else{F=a;G=b}}else{c[47616]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<<I;H=(J+520192|0)>>>16&4;J=J<<H;d=(J+245760|0)>>>16&2;d=14-(H|I|d)+(J<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=190768+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[47617]|0;a=1<<d;if(!(b&a)){c[47617]=b|a;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[47620]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else Va()}}}else{J=c[47620]|0;if((J|0)==0|g>>>0<J>>>0)c[47620]=g;c[47728]=g;c[47729]=h;c[47731]=0;c[47625]=c[47734];c[47624]=-1;b=0;do{J=190504+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[47622]=I;c[47619]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[47623]=c[47738]}while(0);b=c[47619]|0;if(b>>>0>p>>>0){H=b-p|0;c[47619]=H;J=c[47622]|0;I=J+p|0;c[47622]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(L1()|0)>>2]=12;J=0;l=K;return J|0}function l6(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[47620]|0;if(d>>>0<h>>>0)Va();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)Va();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0<h>>>0)Va();if((k|0)==(c[47621]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[47618]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<h>>>0)Va();if((c[b+12>>2]|0)!=(k|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<<e);r=k;f=j;m=k;break}if((d|0)!=(a|0)){if(d>>>0<h>>>0)Va();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else Va()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<h>>>0)Va();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0<h>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(k|0))Va();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else Va()}while(0);if(g){a=c[k+28>>2]|0;b=190768+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[47617]=c[47617]&~(1<<a);r=k;f=j;m=k;break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else Va();while(0);d=c[47620]|0;if(i>>>0<d>>>0)Va();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Va();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)Va();a=o+4|0;b=c[a>>2]|0;if(!(b&1))Va();if(!(b&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[47620]|0)>>>0)Va();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();d=b+12|0;if((c[d>>2]|0)!=(o|0))Va();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;b=190768+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[47617]=c[47617]&~(1<<a);break b}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);d=c[47620]|0;if(n>>>0<d>>>0)Va();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0<d>>>0)Va();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[47620]|0)>>>0)Va();if((c[b+12>>2]|0)!=(o|0))Va()}if((d|0)==(b|0)){c[47616]=c[47616]&~(1<<e);break}if((d|0)!=(a|0)){if(d>>>0<(c[47620]|0)>>>0)Va();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else Va()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=190504+(a<<1<<2)|0;b=c[47616]|0;a=1<<a;if(b&a){a=d+8|0;b=c[a>>2]|0;if(b>>>0<(c[47620]|0)>>>0)Va();else{p=b;q=a}}else{c[47616]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[47617]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[47620]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else Va()}}else{c[47617]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[47624]|0)+-1|0;c[47624]=r;if(!r)a=190920;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[47624]=-1;return}function m6(a,b){a=a|0;b=b|0;var d=0;if(a){d=S(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=k6(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;u6(a|0,0,d|0)|0;return a|0}function n6(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=k6(b)|0;return b|0}if(b>>>0>4294967231){c[(L1()|0)>>2]=12;b=0;return b|0}d=o6(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=k6(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;B6(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;l6(a);b=d;return b|0}\nfunction o6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[47620]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0<k>>>0))Va();f=c[k+4>>2]|0;if(!(f&1))Va();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[47736]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;p6(m,d);return a|0}if((k|0)==(c[47622]|0)){m=(c[47619]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[47622]=e;c[47619]=d;return a|0}if((k|0)==(c[47621]|0)){f=(c[47618]|0)+d|0;if(f>>>0<b>>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[47618]=d;c[47621]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0<b>>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0<i>>>0)Va();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0<i>>>0)Va();d=g+12|0;if((c[d>>2]|0)!=(k|0))Va();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else Va()}while(0);if(h|0){d=c[k+28>>2]|0;e=190768+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[47617]=c[47617]&~(1<<d);break a}}else if(h>>>0>=(c[47620]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else Va();while(0);f=c[47620]|0;if(j>>>0<f>>>0)Va();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0<f>>>0)Va();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=190504+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0<i>>>0)Va();if((c[e+12>>2]|0)!=(k|0))Va()}if((f|0)==(e|0)){c[47616]=c[47616]&~(1<<g);break}if((f|0)!=(d|0)){if(f>>>0<i>>>0)Va();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else Va()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;p6(n,m);return a|0}return 0}function p6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[47620]|0;if(l>>>0<i>>>0)Va();if((l|0)==(c[47621]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[47618]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<i>>>0)Va();if((c[d+12>>2]|0)!=(l|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<<e);r=l;f=k;break}if((b|0)!=(a|0)){if(b>>>0<i>>>0)Va();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else Va()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<i>>>0)Va();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0<i>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(l|0))Va();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else Va()}while(0);if(g){a=c[l+28>>2]|0;d=190768+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[47617]=c[47617]&~(1<<a);r=l;f=k;break a}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else Va();while(0);b=c[47620]|0;if(j>>>0<b>>>0)Va();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Va();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[47620]|0;if(o>>>0<h>>>0)Va();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[47621]|0;if((o|0)==(c[47622]|0)){q=(c[47619]|0)+f|0;c[47619]=q;c[47622]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[47621]=0;c[47618]=0;return}if((o|0)==(a|0)){q=(c[47618]|0)+f|0;c[47618]=q;c[47621]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0<h>>>0)Va();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0<h>>>0)Va();a=e+12|0;if((c[a>>2]|0)!=(o|0))Va();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else Va()}while(0);if(g|0){a=c[o+28>>2]|0;d=190768+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[47617]=c[47617]&~(1<<a);break b}}else if(g>>>0>=(c[47620]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else Va();while(0);b=c[47620]|0;if(n>>>0<b>>>0)Va();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0<b>>>0)Va();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[47620]|0)>>>0)Va();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=190504+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0<h>>>0)Va();if((c[d+12>>2]|0)!=(o|0))Va()}if((b|0)==(d|0)){c[47616]=c[47616]&~(1<<e);break}if((b|0)!=(a|0)){if(b>>>0<h>>>0)Va();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else Va()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[47621]|0)){c[47618]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=190504+(a<<1<<2)|0;d=c[47616]|0;a=1<<a;if(d&a){a=b+8|0;d=c[a>>2]|0;if(d>>>0<(c[47620]|0)>>>0)Va();else{p=d;q=a}}else{c[47616]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<<p;o=(q+520192|0)>>>16&4;q=q<<o;a=(q+245760|0)>>>16&2;a=14-(o|p|a)+(q<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=190768+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[47617]|0;b=1<<a;if(!(d&b)){c[47617]=d|b;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[47620]|0)>>>0)Va();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[47620]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))Va();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function q6(a,b){a=a|0;b=b|0;if(a>>>0<9){b=k6(b)|0;return b|0}else{b=r6(a,b)|0;return b|0}return 0}function r6(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(L1()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=k6(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;p6(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;p6(h,i)}i=b+8|0;return i|0}function s6(){}function t6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (D=d,a-c>>>0|0)|0}function u6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function v6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}D=a<<c-32;return 0}function w6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (D=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function x6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;D=e;return d|0}f=f+1|0}e=e*2|0;d=n6(d|0,8*(e+1|0)|0)|0;d=x6(a|0,b|0,d|0,e|0)|0;D=e;return d|0}function y6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=(b|0)<0?-1:0;return b>>c-32|0}function z6(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){D=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}D=0;return b>>>c-32|0}function A6(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function B6(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return La(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function C6(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function D6(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (D=n,f)|0}else{if(!g){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (D=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (D=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (D=n,f)|0}g=h-1|0;if(g&h|0){i=(V(h|0)|0)+33-(V(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (D=o,p)|0}else{p=C6(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (D=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (D=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (D=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((C6(i|0)|0)>>>0);return (D=o,p)|0}g=(V(i|0)|0)-(V(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (D=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (D=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=w6(m|0,l|0,-1,-1)|0;d=D;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t6(k|0,d|0,e|0,n|0)|0;p=D;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t6(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=D;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (D=o,p)|0}function E6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return D6(a,b,c,d,0)|0}function F6(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=S(e,f)|0;d=a>>>16;a=(c>>>16)+(S(e,d)|0)|0;e=b>>>16;b=S(e,f)|0;return (D=(a>>>16)+(S(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function G6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=F6(e,f)|0;a=D;return (D=(S(b,f)|0)+(S(d,e)|0)+a|a&0,c|0|0)|0}function H6(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){_()|0;Fa(12);return -1}c[i>>2]=a;if((a|0)>(Z()|0)?(Y()|0)==0:0){Fa(12);c[i>>2]=b;return -1}return b|0}function I6(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else B6(b,c,d)|0;return b|0}function J6(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;D6(a,b,d,e,f)|0;l=g;return (D=c[f+4>>2]|0,c[f>>2]|0)|0}function K6(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function L6(a){a=a|0;return (a&255)<<8|a>>8&255|0}function M6(a,b){a=a|0;b=b|0;db[a&127](b|0)}function N6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return eb[a&63](b|0,c|0,d|0)|0}function O6(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;fb[a&31](b|0,c|0,d|0,e|0,f|0)}function P6(a){a=a|0;return +gb[a&1]()}function Q6(a,b){a=a|0;b=b|0;return +hb[a&1](b|0)}function R6(a){a=a|0;return ib[a&3]()|0}function S6(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return jb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function T6(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return kb[a&3](b|0,c|0,+d,+e)|0}function U6(a,b,c){a=a|0;b=b|0;c=c|0;lb[a&63](b|0,c|0)}function V6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return mb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function W6(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;nb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function X6(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ob[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function Y6(a,b){a=a|0;b=b|0;return pb[a&63](b|0)|0}function Z6(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +qb[a&7](+b,+c,+d)}function _6(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rb[a&127](b|0,c|0,d|0)}function $6(a){a=a|0;sb[a&15]()}function a7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return tb[a&127](b|0,c|0,d|0,e|0)|0}function b7(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ub[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function c7(a,b,c){a=a|0;b=b|0;c=c|0;return vb[a&127](b|0,c|0)|0}function d7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return wb[a&63](b|0,c|0,d|0,e|0,f|0)|0}function e7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function f7(a){a=a|0;W(0)}function g7(a,b,c){a=a|0;b=b|0;c=c|0;W(1);return 0}function h7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(2)}function i7(){W(3);return 0.0}function j7(a){a=a|0;W(4);return 0.0}function k7(){W(5);return 0}function l7(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;W(6);return 0}function m7(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;W(7);return 0}function n7(a,b){a=a|0;b=b|0;W(8)}function o7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(9);return 0}function p7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;W(10)}function q7(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;W(11)}function r7(a){a=a|0;W(12);return 0}function s7(a,b,c){a=+a;b=+b;c=+c;W(13);return 0.0}function t7(a,b,c){a=a|0;b=b|0;c=c|0;W(14)}function u7(){W(15)}function v7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(16);return 0}function w7(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;W(17)}function x7(a,b){a=a|0;b=b|0;W(18);return 0}function y7(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;W(19);return 0}function z7(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;W(20)}\n\n// EMSCRIPTEN_END_FUNCS\nvar db=[f7,Jb,Kb,Ob,Pb,Qb,ic,jc,Hc,Ic,Jc,Kc,Lc,Mc,Nc,Zc,_c,bd,cd,dd,ed,fd,gd,hd,td,ud,vd,xd,yd,zd,Ad,Bd,Cd,Dd,Ed,Pd,Qd,Rd,Td,Ud,Vd,Wd,Xd,Yd,Zd,_d,$d,be,oe,pe,qe,re,Ce,De,Ee,Ge,Te,Ue,Ve,Xe,Ye,Ze,_e,$e,af,bf,cf,df,nf,of,pf,qf,Tf,Of,mm,Yl,ap,Bo,Lp,Up,Xn,Zn,Ip,Jp,Ul,Vl,$n,io,ko,vo,CB,VM,lN,XM,WM,HN,sM,vM,FS,KS,Hf,Al,Fo,Jo,bp,l6,Uv,qA,wG,pI,TU,yR,zQ,LL,lV,OX,hY,iY,oY,f7,f7,f7,f7,f7,f7,f7,f7,f7];var eb=[g7,Em,Jv,Az,Iz,Rz,Wz,TB,XB,UL,NP,OU,w_,C_,W$,a0,k$,q$,I1,J1,P1,Q1,N2,dA,Um,xv,op,kt,Sx,Ux,Xx,Yz,rG,i2,LD,z4,OO,QL,FR,jY,C0,K$,w0,G0,s4,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7,g7];var fb=[h7,$c,Fd,Md,ae,Fe,F_,G_,W_,X_,t0,d0,e0,t$,u$,xl,uG,AQ,o_,p_,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7,h7];var gb=[i7,SO];var hb=[j7,ZO];var ib=[k7,Yq,RK,IL];var jb=[l7,F0,v0,l7];var kb=[m7,su,nu,m7];var lb=[n7,Pc,Uc,jd,od,Ld,he,xe,Me,kf,wf,$B,pN,TN,LN,GN,jN,kN,PN,QN,IS,MS,aM,gA,sG,TK,qQ,PW,NX,kY,lY,pY,rY,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7,n7];var mb=[o7,PX];var nb=[p7,KH,LH,MH,NH,OH,PH,QH,RH,p7,p7,p7,p7,p7,p7,p7];var ob=[q7];var pb=[r7,$g,ug,Im,Jm,VB,YB,FQ,GQ,xS,yS,zS,AS,BS,CS,DS,ES,H1,Fb,oF,vl,yl,Xm,IK,qB,gC,pB,NK,SK,rB,rQ,HK,wQ,xQ,qY,k6,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7,r7];var qb=[s7,bJ,cJ,dJ,eJ,s7,s7,s7];var rb=[t7,Rb,Sb,Vb,Gc,Oc,Qc,Tc,id,kd,nd,Gd,Hd,Kd,ce,de,ge,se,te,we,He,Ie,Le,ef,ff,jf,rf,sf,vf,lk,mk,nk,Fm,Bz,Jz,nA,DB,dC,NC,RD,jG,OJ,JL,VL,uM,OP,RP,fR,dR,GS,HS,JS,LS,NS,PU,CW,BW,GA,gB,rC,VC,YC,MK,PO,OL,uQ,yQ,DW,FW,GW,OW,QW,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7,t7];var sb=[u7,RO,OK,PK,QK,UK,VK,WK,UU,u7,u7,u7,u7,u7,u7,u7];var tb=[v7,Gm,Or,Kv,Cz,Kz,SA,QD,TA,kB,zB,BB,MB,LB,_B,cC,eC,KL,PP,gR,eR,cT,QU,kV,jV,q_,r_,s_,t_,u_,v_,x_,A_,E_,Q$,R$,S$,T$,U$,V$,X$,_$,c0,e$,f$,g$,h$,i$,j$,l$,o$,s$,$z,RC,vG,QO,dZ,hZ,oZ,yZ,HZ,MZ,KZ,NZ,H0,j_,a_,M$,N$,D0,E0,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7,v7];var ub=[w7,Ub,Sc,md,Jd,fe,ve,Ke,hf,uf,BQ,w7,w7,w7,w7,w7];var vb=[x7,xB,UB,ZB,RN,SN,JN,FN,nN,ZW,_W,$W,aX,bX,cX,eX,fX,gX,hX,iX,jX,kX,lX,mX,nX,oX,pX,qX,rX,sX,tX,uX,vX,wX,xX,yX,zX,AX,BX,CX,y_,z_,B_,Y_,Z_,__,$_,a$,b$,c$,d$,Y$,Z$,$$,m$,n$,p$,mF,kg,_g,Bh,di,vi,Gk,Ek,wl,zl,Wo,eq,gr,Cr,Er,Gr,Hr,Jr,Ir,Ur,et,jt,lt,qv,px,CE,BE,AE,tG,hC,KK,GG,WG,RG,SG,TH,Z3,W5,MO,_P,NA,cV,UA,WA,sQ,f2,DT,YW,mY,nY,n6,l_,m_,n_,J5,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7,x7];var wb=[y7,yB,oN,KN,J0,K0,L0,M0,O0,P0,Q0,R0,S0,U0,V0,W0,X0,Y0,T0,w1,x1,n1,g1,Z0,_0,$0,b1,a1,c1,d1,e1,f1,h1,i1,j1,k1,l1,m1,o1,p1,q1,r1,v1,t1,s1,u1,C1,y1,z1,A1,B1,D1,E1,F1,y7,y7,y7,y7,y7,y7,y7,y7,y7,y7];var xb=[z7,Tb,Rc,ld,wd,Id,Sd,ee,ue,Je,We,gf,tf,Kf,Jf,If,Gf,Ff,Ef,hc,Df,Cf,AB,mN,IN,D_,b0,r$,k3,tQ,vQ,O$];return{_i64Subtract:t6,_memset:u6,_bitshift64Lshr:z6,_bitshift64Shl:v6,_fflush:m4,_bitshift64Ashr:y6,_vizLastErrorMessage:Gb,_sbrk:H6,_memcpy:B6,_llvm_bswap_i32:K6,___muldi3:G6,___uremdi3:J6,_testSetjmp:A6,_llvm_cttz_i32:C6,_vizCreateFile:Hb,___udivmoddi4:D6,_realloc:n6,_i64Add:w6,_llvm_bswap_i16:L6,_emscripten_get_global_libc:G1,_htons:L4,___udivdi3:E6,___errno_location:L1,___muldsi3:F6,_vizRenderFromString:Ib,_saveSetjmp:x6,_free:l6,_dtextract:Pz,_memmove:I6,_malloc:k6,_memalign:q6,runPostSets:s6,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setTempRet0:Db,getTempRet0:Eb,setThrew:Cb,stackAlloc:yb,stackSave:zb,stackRestore:Ab,establishStackSpace:Bb,setThrew:Cb,setTempRet0:Db,getTempRet0:Eb,dynCall_vi:M6,dynCall_iiii:N6,dynCall_viiiii:O6,dynCall_d:P6,dynCall_di:Q6,dynCall_i:R6,dynCall_iiiiiiiiiii:S6,dynCall_iiidd:T6,dynCall_vii:U6,dynCall_iiiiiii:V6,dynCall_viiiddi:W6,dynCall_viiiiiiiii:X6,dynCall_ii:Y6,dynCall_dddd:Z6,dynCall_viii:_6,dynCall_v:$6,dynCall_iiiii:a7,dynCall_viiiiii:b7,dynCall_iii:c7,dynCall_iiiiii:d7,dynCall_viiii:e7}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var stackSave=Module[\"stackSave\"]=asm[\"stackSave\"];var _vizCreateFile=Module[\"_vizCreateFile\"]=asm[\"_vizCreateFile\"];var _vizLastErrorMessage=Module[\"_vizLastErrorMessage\"]=asm[\"_vizLastErrorMessage\"];var getTempRet0=Module[\"getTempRet0\"]=asm[\"getTempRet0\"];var _vizRenderFromString=Module[\"_vizRenderFromString\"]=asm[\"_vizRenderFromString\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var _fflush=Module[\"_fflush\"]=asm[\"_fflush\"];var _bitshift64Ashr=Module[\"_bitshift64Ashr\"]=asm[\"_bitshift64Ashr\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _sbrk=Module[\"_sbrk\"]=asm[\"_sbrk\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var ___errno_location=Module[\"___errno_location\"]=asm[\"___errno_location\"];var ___muldi3=Module[\"___muldi3\"]=asm[\"___muldi3\"];var ___uremdi3=Module[\"___uremdi3\"]=asm[\"___uremdi3\"];var stackAlloc=Module[\"stackAlloc\"]=asm[\"stackAlloc\"];var _llvm_cttz_i32=Module[\"_llvm_cttz_i32\"]=asm[\"_llvm_cttz_i32\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var ___udivmoddi4=Module[\"___udivmoddi4\"]=asm[\"___udivmoddi4\"];var setTempRet0=Module[\"setTempRet0\"]=asm[\"setTempRet0\"];var _realloc=Module[\"_realloc\"]=asm[\"_realloc\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _llvm_bswap_i16=Module[\"_llvm_bswap_i16\"]=asm[\"_llvm_bswap_i16\"];var _emscripten_get_global_libc=Module[\"_emscripten_get_global_libc\"]=asm[\"_emscripten_get_global_libc\"];var _htons=Module[\"_htons\"]=asm[\"_htons\"];var ___udivdi3=Module[\"___udivdi3\"]=asm[\"___udivdi3\"];var _llvm_bswap_i32=Module[\"_llvm_bswap_i32\"]=asm[\"_llvm_bswap_i32\"];var ___muldsi3=Module[\"___muldsi3\"]=asm[\"___muldsi3\"];var _testSetjmp=Module[\"_testSetjmp\"]=asm[\"_testSetjmp\"];var _saveSetjmp=Module[\"_saveSetjmp\"]=asm[\"_saveSetjmp\"];var _free=Module[\"_free\"]=asm[\"_free\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var setThrew=Module[\"setThrew\"]=asm[\"setThrew\"];var _dtextract=Module[\"_dtextract\"]=asm[\"_dtextract\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var stackRestore=Module[\"stackRestore\"]=asm[\"stackRestore\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var establishStackSpace=Module[\"establishStackSpace\"]=asm[\"establishStackSpace\"];var _memalign=Module[\"_memalign\"]=asm[\"_memalign\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_d=Module[\"dynCall_d\"]=asm[\"dynCall_d\"];var dynCall_di=Module[\"dynCall_di\"]=asm[\"dynCall_di\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_iiiiiiiiiii=Module[\"dynCall_iiiiiiiiiii\"]=asm[\"dynCall_iiiiiiiiiii\"];var dynCall_iiidd=Module[\"dynCall_iiidd\"]=asm[\"dynCall_iiidd\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_viiiddi=Module[\"dynCall_viiiddi\"]=asm[\"dynCall_viiiddi\"];var dynCall_viiiiiiiii=Module[\"dynCall_viiiiiiiii\"]=asm[\"dynCall_viiiiiiiii\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_dddd=Module[\"dynCall_dddd\"]=asm[\"dynCall_dddd\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];Runtime.stackAlloc=Module[\"stackAlloc\"];Runtime.stackSave=Module[\"stackSave\"];Runtime.stackRestore=Module[\"stackRestore\"];Runtime.establishStackSpace=Module[\"establishStackSpace\"];Runtime.setTempRet0=Module[\"setTempRet0\"];Runtime.getTempRet0=Module[\"getTempRet0\"];Module[\"asm\"]=asm;function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};Module[\"callMain\"]=Module.callMain=function callMain(args){args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module[\"thisProgram\"]),\"i8\",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),\"i8\",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,\"i32\",ALLOC_NORMAL);try{var ret=Module[\"_main\"](argc,argv,0);exit(ret,true)}catch(e){if(e instanceof ExitStatus){return}else if(e==\"SimulateInfiniteLoop\"){Module[\"noExitRuntime\"]=true;return}else{var toLog=e;if(e&&typeof e===\"object\"&&e.stack){toLog=[e,e.stack]}Module.printErr(\"exception thrown: \"+toLog);Module[\"quit\"](1,e)}}finally{calledMain=true}};function run(args){args=args||Module[\"arguments\"];if(preloadStartTime===null)preloadStartTime=Date.now();if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(Module[\"_main\"]&&shouldRunNow)Module[\"callMain\"](args);postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=Module.run=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"exit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}Module[\"exit\"]=Module.exit=exit;var abortDecorators=[];function abort(what){if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;var extra=\"\\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.\";var output=\"abort(\"+what+\") at \"+stackTrace()+extra;if(abortDecorators){abortDecorators.forEach((function(decorator){output=decorator(output,what)}))}throw output}Module[\"abort\"]=Module.abort=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"]){shouldRunNow=false}run()\n\n\n\n\n\n return Module;\n};\nfunction Viz(src) {\n var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];\n var format = options.format === undefined ? \"svg\" : options.format;\n var engine = options.engine === undefined ? \"dot\" : options.engine;\n var scale = options.scale;\n var totalMemory = options.totalMemory;\n var files = options.files === undefined ? [] : options.files;\n var images = options.images === undefined ? [] : options.images;\n var i;\n \n for (i = 0; i < images.length; i++) {\n files.push({ path: images[i].path, data: \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.1//EN\\\" \\\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\\\">\\n<svg width=\\\"\" + images[i].width + \"\\\" height=\\\"\" + images[i].height + \"\\\"></svg>\" });\n }\n\n if (format == \"png-image-element\") {\n return Viz.svgXmlToPngImageElement(render(src, \"svg\", engine, totalMemory, files), scale);\n } else {\n return render(src, format, engine, totalMemory, files);\n }\n}\n\nfunction render(src, format, engine, totalMemory, files) {\n var graphviz = Module({ TOTAL_MEMORY: totalMemory });\n var i;\n \n for (i = 0; i < files.length; i++) {\n graphviz[\"ccall\"](\"vizCreateFile\", \"number\", [\"string\", \"string\"], [files[i].path, files[i].data]);\n }\n \n var resultPointer = graphviz[\"ccall\"](\"vizRenderFromString\", \"number\", [\"string\", \"string\", \"string\"], [src, format, engine]);\n var resultString = graphviz[\"Pointer_stringify\"](resultPointer);\n\n var errorMessagePointer = graphviz[\"ccall\"](\"vizLastErrorMessage\", \"number\", [], []);\n var errorMessageString = graphviz[\"Pointer_stringify\"](errorMessagePointer);\n \n if (errorMessageString != \"\") {\n throw new Error(errorMessageString);\n }\n \n return resultString;\n}\n\n// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\nfunction b64EncodeUnicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function(match, p1) {\n return String.fromCharCode('0x' + p1);\n }));\n}\n\nViz.svgXmlToPngImageElement = function(svgXml, scale, callback) {\n if (scale === undefined) {\n if (\"devicePixelRatio\" in window && window.devicePixelRatio > 1) {\n scale = window.devicePixelRatio;\n } else {\n scale = 1;\n }\n }\n \n var pngImage = new Image();\n\n try {\n if (typeof fabric === \"object\" && fabric.loadSVGFromString) {\n fabric.loadSVGFromString(svgXml, function(objects, options) {\n // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case.\n if (objects.length == 0) {\n if (callback !== undefined) {\n callback(new Error(\"Error loading SVG with Fabric\"));\n return;\n } else {\n throw new Error(\"Error loading SVG with Fabric\");\n }\n }\n \n var element = document.createElement(\"canvas\");\n element.width = options.width;\n element.height = options.height;\n \n var canvas = new fabric.Canvas(element, { enableRetinaScaling: false });\n var obj = fabric.util.groupSVGElements(objects, options);\n canvas.add(obj).renderAll();\n \n pngImage.src = canvas.toDataURL({ multiplier: scale });\n pngImage.width = options.width;\n pngImage.height = options.height;\n \n if (callback !== undefined) {\n callback(null, pngImage);\n }\n });\n } else {\n var svgImage = new Image();\n\n svgImage.onload = function() {\n var canvas = document.createElement(\"canvas\");\n canvas.width = svgImage.width * scale;\n canvas.height = svgImage.height * scale;\n\n var context = canvas.getContext(\"2d\");\n context.drawImage(svgImage, 0, 0, canvas.width, canvas.height);\n\n pngImage.src = canvas.toDataURL(\"image/png\");\n pngImage.width = svgImage.width;\n pngImage.height = svgImage.height;\n \n if (callback !== undefined) {\n callback(null, pngImage);\n }\n }\n \n svgImage.onerror = function(e) {\n var error;\n \n if ('error' in e) {\n error = e.error;\n } else {\n error = new Error('Error loading SVG');\n }\n \n if (callback !== undefined) {\n callback(error);\n } else {\n throw error;\n }\n }\n \n svgImage.src = \"data:image/svg+xml;base64,\" + b64EncodeUnicode(svgXml);\n }\n } catch (e) {\n if (callback !== undefined) {\n callback(e);\n } else {\n throw e;\n }\n }\n \n if (callback === undefined) {\n return pngImage;\n }\n}\n\nViz.svgXmlToPngBase64 = function(svgXml, scale, callback) {\n Viz.svgXmlToPngImageElement(svgXml, scale, function(err, image) {\n if (err) {\n callback(err);\n } else {\n callback(null, image.src.slice(\"data:image/png;base64,\".length));\n }\n });\n}\nif (typeof module === \"object\" && module.exports) {\n module.exports = Viz;\n} else {\n global.Viz = Viz;\n}\n \n})(this);\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","import {connect} from 'react-redux';\nimport {includes, isEmpty, isNil} from 'ramda';\nimport React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport TreeContainer from './TreeContainer';\nimport GlobalErrorContainer from './components/error/GlobalErrorContainer.react';\nimport {\n computeGraphs,\n computePaths,\n hydrateInitialOutputs,\n setLayout,\n} from './actions/index';\nimport {applyPersistence} from './persistence';\nimport apiThunk from './actions/api';\nimport {getAppState} from './reducers/constants';\nimport {STATUS} from './constants/constants';\n\n/**\n * Fire off API calls for initialization\n */\nclass UnconnectedContainer extends Component {\n constructor(props) {\n super(props);\n this.initialization = this.initialization.bind(this);\n this.state = {\n errorLoading: false,\n };\n }\n componentDidMount() {\n this.initialization(this.props);\n }\n\n componentWillReceiveProps(props) {\n this.initialization(props);\n }\n\n initialization(props) {\n const {\n appLifecycle,\n dependenciesRequest,\n dispatch,\n graphs,\n layout,\n layoutRequest,\n paths,\n } = props;\n\n if (isEmpty(layoutRequest)) {\n dispatch(apiThunk('_dash-layout', 'GET', 'layoutRequest'));\n } else if (layoutRequest.status === STATUS.OK) {\n if (isEmpty(layout)) {\n const finalLayout = applyPersistence(\n layoutRequest.content,\n dispatch\n );\n dispatch(setLayout(finalLayout));\n } else if (isNil(paths)) {\n dispatch(computePaths({subTree: layout, startingPath: []}));\n }\n }\n\n if (isEmpty(dependenciesRequest)) {\n dispatch(\n apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest')\n );\n } else if (\n dependenciesRequest.status === STATUS.OK &&\n isEmpty(graphs)\n ) {\n dispatch(computeGraphs(dependenciesRequest.content));\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === STATUS.OK &&\n !isEmpty(graphs) &&\n // LayoutRequest and its computed stores\n layoutRequest.status === STATUS.OK &&\n !isEmpty(layout) &&\n !isNil(paths) &&\n // Hasn't already hydrated\n appLifecycle === getAppState('STARTED')\n ) {\n let errorLoading = false;\n try {\n dispatch(hydrateInitialOutputs());\n } catch (err) {\n errorLoading = true;\n } finally {\n this.setState(state =>\n state.errorLoading !== errorLoading ? {errorLoading} : null\n );\n }\n }\n }\n\n render() {\n const {\n appLifecycle,\n dependenciesRequest,\n layoutRequest,\n layout,\n config,\n } = this.props;\n\n const {errorLoading} = this.state;\n\n if (\n layoutRequest.status &&\n !includes(layoutRequest.status, [STATUS.OK, 'loading'])\n ) {\n return <div className=\"_dash-error\">Error loading layout</div>;\n } else if (\n errorLoading ||\n (dependenciesRequest.status &&\n !includes(dependenciesRequest.status, [STATUS.OK, 'loading']))\n ) {\n return (\n <div className=\"_dash-error\">Error loading dependencies</div>\n );\n } else if (\n appLifecycle === getAppState('HYDRATED') &&\n config.ui === true\n ) {\n return (\n <GlobalErrorContainer>\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n </GlobalErrorContainer>\n );\n } else if (appLifecycle === getAppState('HYDRATED')) {\n return (\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n );\n }\n\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n}\nUnconnectedContainer.propTypes = {\n appLifecycle: PropTypes.oneOf([\n getAppState('STARTED'),\n getAppState('HYDRATED'),\n ]),\n dispatch: PropTypes.func,\n dependenciesRequest: PropTypes.object,\n layoutRequest: PropTypes.object,\n layout: PropTypes.object,\n paths: PropTypes.object,\n history: PropTypes.any,\n error: PropTypes.object,\n config: PropTypes.object,\n};\n\nconst Container = connect(\n // map state to props\n state => ({\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n paths: state.paths,\n history: state.history,\n error: state.error,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedContainer);\n\nexport default Container;\n","/* global document:true */\nimport {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport APIController from './APIController.react';\nimport DocumentTitle from './components/core/DocumentTitle.react';\nimport Loading from './components/core/Loading.react';\nimport Toolbar from './components/core/Toolbar.react';\nimport Reloader from './components/core/Reloader.react';\nimport {setHooks, setConfig} from './actions/index';\nimport {type} from 'ramda';\n\nclass UnconnectedAppContainer extends React.Component {\n constructor(props) {\n super(props);\n if (\n props.hooks.request_pre !== null ||\n props.hooks.request_post !== null\n ) {\n props.dispatch(setHooks(props.hooks));\n }\n }\n\n componentWillMount() {\n const {dispatch} = this.props;\n const config = JSON.parse(\n document.getElementById('_dash-config').textContent\n );\n\n // preset common request params in the config\n config.fetch = {\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n };\n\n dispatch(setConfig(config));\n }\n\n render() {\n const {config} = this.props;\n if (type(config) === 'Null') {\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n const {show_undo_redo} = config;\n return (\n <React.Fragment>\n {show_undo_redo ? <Toolbar /> : null}\n <APIController />\n <DocumentTitle />\n <Loading />\n <Reloader />\n </React.Fragment>\n );\n }\n}\n\nUnconnectedAppContainer.propTypes = {\n hooks: PropTypes.object,\n dispatch: PropTypes.func,\n config: PropTypes.object,\n};\n\nconst AppContainer = connect(\n state => ({\n history: state.history,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedAppContainer);\n\nexport default AppContainer;\n","import React from 'react';\nimport {Provider} from 'react-redux';\n\nimport initializeStore from './store';\nimport AppContainer from './AppContainer.react';\n\nimport PropTypes from 'prop-types';\n\nconst store = initializeStore();\n\nconst AppProvider = ({hooks}) => {\n return (\n <Provider store={store}>\n <AppContainer hooks={hooks} />\n </Provider>\n );\n};\n\nAppProvider.propTypes = {\n hooks: PropTypes.shape({\n request_pre: PropTypes.func,\n request_post: PropTypes.func,\n }),\n};\n\nAppProvider.defaultProps = {\n hooks: {\n request_pre: null,\n request_post: null,\n },\n};\n\nexport default AppProvider;\n","/* eslint-env browser */\n\n'use strict';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport AppProvider from './AppProvider.react';\n\nclass DashRenderer {\n constructor(hooks) {\n // render Dash Renderer upon initialising!\n ReactDOM.render(\n <AppProvider hooks={hooks} />,\n document.getElementById('react-entry-point')\n );\n }\n}\n\nexport {DashRenderer};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Registry from './registry';\nimport {propTypeErrorHandler} from './exceptions';\nimport {connect} from 'react-redux';\nimport {\n addIndex,\n any,\n concat,\n filter,\n forEach,\n has,\n includes,\n isEmpty,\n isNil,\n keysIn,\n map,\n mergeRight,\n omit,\n pick,\n propOr,\n type,\n} from 'ramda';\nimport {notifyObservers, updateProps} from './actions';\nimport isSimpleComponent from './isSimpleComponent';\nimport {recordUiEdit} from './persistence';\nimport ComponentErrorBoundary from './components/error/ComponentErrorBoundary.react';\nimport checkPropTypes from './checkPropTypes';\n\nfunction validateComponent(componentDefinition) {\n if (type(componentDefinition) === 'Array') {\n throw new Error(\n 'The children property of a component is a list of lists, instead ' +\n 'of just a list. ' +\n 'Check the component that has the following contents, ' +\n 'and remove of the levels of nesting: \\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n if (\n type(componentDefinition) === 'Object' &&\n !(\n has('namespace', componentDefinition) &&\n has('type', componentDefinition) &&\n has('props', componentDefinition)\n )\n ) {\n throw new Error(\n 'An object was provided as `children` instead of a component, ' +\n 'string, or number (or list of those). ' +\n 'Check the children property that looks something like:\\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n}\n\nconst createContainer = (component, path) =>\n isSimpleComponent(component) ? (\n component\n ) : (\n <AugmentedTreeContainer\n key={component && component.props && component.props.id}\n _dashprivate_layout={component}\n _dashprivate_path={path}\n />\n );\n\nfunction CheckedComponent(p) {\n const {element, extraProps, props, children, type} = p;\n\n const errorMessage = checkPropTypes(\n element.propTypes,\n props,\n 'component prop',\n element\n );\n if (errorMessage) {\n propTypeErrorHandler(errorMessage, props, type);\n }\n\n return React.createElement(\n element,\n mergeRight(props, extraProps),\n ...(Array.isArray(children) ? children : [children])\n );\n}\n\nCheckedComponent.propTypes = {\n children: PropTypes.any,\n element: PropTypes.any,\n layout: PropTypes.any,\n props: PropTypes.any,\n extraProps: PropTypes.any,\n id: PropTypes.string,\n};\nclass TreeContainer extends Component {\n constructor(props) {\n super(props);\n\n this.setProps = this.setProps.bind(this);\n }\n\n setProps(newProps) {\n const {\n _dashprivate_dependencies,\n _dashprivate_dispatch,\n _dashprivate_path,\n _dashprivate_layout,\n } = this.props;\n\n const id = this.getLayoutProps().id;\n\n // Identify the modified props that are required for callbacks\n const watchedKeys = filter(\n key =>\n _dashprivate_dependencies &&\n _dashprivate_dependencies.find(\n dependency =>\n dependency.inputs.find(\n input => input.id === id && input.property === key\n ) ||\n dependency.state.find(\n state => state.id === id && state.property === key\n )\n )\n )(keysIn(newProps));\n\n // setProps here is triggered by the UI - record these changes\n // for persistence\n recordUiEdit(_dashprivate_layout, newProps, _dashprivate_dispatch);\n\n // Always update this component's props\n _dashprivate_dispatch(\n updateProps({\n props: newProps,\n itempath: _dashprivate_path,\n })\n );\n\n // Only dispatch changes to Dash if a watched prop changed\n if (watchedKeys.length) {\n _dashprivate_dispatch(\n notifyObservers({\n id: id,\n props: pick(watchedKeys)(newProps),\n })\n );\n }\n }\n\n getChildren(components, path) {\n if (isNil(components)) {\n return null;\n }\n\n return Array.isArray(components)\n ? addIndex(map)(\n (component, i) =>\n createContainer(\n component,\n concat(path, ['props', 'children', i])\n ),\n components\n )\n : createContainer(components, concat(path, ['props', 'children']));\n }\n\n getComponent(_dashprivate_layout, children, loading_state, setProps) {\n const {_dashprivate_config} = this.props;\n\n if (isEmpty(_dashprivate_layout)) {\n return null;\n }\n\n if (isSimpleComponent(_dashprivate_layout)) {\n return _dashprivate_layout;\n }\n validateComponent(_dashprivate_layout);\n\n const element = Registry.resolve(_dashprivate_layout);\n\n const props = omit(['children'], _dashprivate_layout.props);\n\n return _dashprivate_config.props_check ? (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={_dashprivate_layout.props.id}\n key={element && element.props && element.props.id}\n >\n <CheckedComponent\n children={children}\n element={element}\n props={props}\n extraProps={{loading_state, setProps}}\n type={_dashprivate_layout.type}\n />\n </ComponentErrorBoundary>\n ) : (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={_dashprivate_layout.props.id}\n key={element && element.props && element.props.id}\n >\n {React.createElement(\n element,\n mergeRight(props, {loading_state, setProps}),\n ...(Array.isArray(children) ? children : [children])\n )}\n </ComponentErrorBoundary>\n );\n }\n\n shouldComponentUpdate(nextProps) {\n const {_dashprivate_layout, _dashprivate_loadingState} = nextProps;\n return (\n _dashprivate_layout !== this.props._dashprivate_layout ||\n _dashprivate_loadingState.is_loading !==\n this.props._dashprivate_loadingState.is_loading\n );\n }\n\n getLayoutProps() {\n return propOr({}, 'props', this.props._dashprivate_layout);\n }\n\n render() {\n const {\n _dashprivate_layout,\n _dashprivate_loadingState,\n _dashprivate_path,\n } = this.props;\n\n const layoutProps = this.getLayoutProps();\n\n const children = this.getChildren(\n layoutProps.children,\n _dashprivate_path\n );\n\n return this.getComponent(\n _dashprivate_layout,\n children,\n _dashprivate_loadingState,\n this.setProps\n );\n }\n}\n\nTreeContainer.propTypes = {\n _dashprivate_dependencies: PropTypes.any,\n _dashprivate_dispatch: PropTypes.func,\n _dashprivate_layout: PropTypes.object,\n _dashprivate_loadingState: PropTypes.object,\n _dashprivate_requestQueue: PropTypes.any,\n _dashprivate_config: PropTypes.object,\n _dashprivate_path: PropTypes.array,\n};\n\nfunction isLoadingComponent(layout) {\n validateComponent(layout);\n return Registry.resolve(layout)._dashprivate_isLoadingComponent;\n}\n\nfunction getNestedIds(layout) {\n const ids = [];\n const queue = [layout];\n\n while (queue.length) {\n const elementLayout = queue.shift();\n\n const props = elementLayout && elementLayout.props;\n\n if (!props) {\n continue;\n }\n\n const {children, id} = props;\n\n if (id) {\n ids.push(id);\n }\n\n if (children) {\n const filteredChildren = filter(\n child =>\n !isSimpleComponent(child) && !isLoadingComponent(child),\n Array.isArray(children) ? children : [children]\n );\n\n queue.push(...filteredChildren);\n }\n }\n\n return ids;\n}\n\nfunction getLoadingState(layout, requestQueue) {\n const ids = isLoadingComponent(layout)\n ? getNestedIds(layout)\n : layout && layout.props.id\n ? [layout.props.id]\n : [];\n\n let isLoading = false;\n let loadingProp;\n let loadingComponent;\n\n if (requestQueue) {\n forEach(r => {\n const controllerId = isNil(r.controllerId) ? '' : r.controllerId;\n if (\n r.status === 'loading' &&\n any(id => includes(id, controllerId), ids)\n ) {\n isLoading = true;\n [loadingComponent, loadingProp] = r.controllerId.split('.');\n }\n }, requestQueue);\n }\n\n // Set loading state\n return {\n is_loading: isLoading,\n prop_name: loadingProp,\n component_name: loadingComponent,\n };\n}\n\nexport const AugmentedTreeContainer = connect(\n state => ({\n dependencies: state.dependenciesRequest.content,\n requestQueue: state.requestQueue,\n config: state.config,\n }),\n dispatch => ({dispatch}),\n (stateProps, dispatchProps, ownProps) => ({\n _dashprivate_dependencies: stateProps.dependencies,\n _dashprivate_dispatch: dispatchProps.dispatch,\n _dashprivate_layout: ownProps._dashprivate_layout,\n _dashprivate_path: ownProps._dashprivate_path,\n _dashprivate_loadingState: getLoadingState(\n ownProps._dashprivate_layout,\n stateProps.requestQueue\n ),\n _dashprivate_requestQueue: stateProps.requestQueue,\n _dashprivate_config: stateProps.config,\n })\n)(TreeContainer);\n\nexport default AugmentedTreeContainer;\n","/* global fetch: true */\nimport {mergeDeepRight} from 'ramda';\nimport {handleAsyncError, getCSRFHeader} from '../actions';\nimport {urlBase} from '../utils';\n\nfunction GET(path, fetchConfig) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'GET',\n headers: getCSRFHeader(),\n })\n );\n}\n\nfunction POST(path, fetchConfig, body = {}) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: body ? JSON.stringify(body) : null,\n })\n );\n}\n\nconst request = {GET, POST};\n\nexport default function apiThunk(endpoint, method, store, id, body) {\n return (dispatch, getState) => {\n const config = getState().config;\n const url = `${urlBase(config)}${endpoint}`;\n\n dispatch({\n type: store,\n payload: {id, status: 'loading'},\n });\n return request[method](url, config.fetch, body)\n .then(res => {\n const contentType = res.headers.get('content-type');\n if (\n contentType &&\n contentType.indexOf('application/json') !== -1\n ) {\n return res.json().then(json => {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id,\n },\n });\n return json;\n });\n }\n return dispatch({\n type: store,\n payload: {\n id,\n status: res.status,\n },\n });\n })\n .catch(err => {\n const message = 'Error from API call: ' + endpoint;\n handleAsyncError(err, message, dispatch);\n });\n };\n}\n","const actionList = {\n ON_PROP_CHANGE: 'ON_PROP_CHANGE',\n SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE',\n COMPUTE_GRAPHS: 'COMPUTE_GRAPHS',\n COMPUTE_PATHS: 'COMPUTE_PATHS',\n SET_LAYOUT: 'SET_LAYOUT',\n SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE',\n SET_CONFIG: 'SET_CONFIG',\n ON_ERROR: 'ON_ERROR',\n SET_HOOKS: 'SET_HOOKS',\n};\n\nexport const getAction = action => {\n if (actionList[action]) {\n return actionList[action];\n }\n throw new Error(`${action} is not defined.`);\n};\n","/* global fetch:true, Promise:true, document:true */\nimport {\n adjust,\n any,\n append,\n concat,\n findIndex,\n findLastIndex,\n flatten,\n flip,\n has,\n includes,\n intersection,\n isEmpty,\n keys,\n lensPath,\n mergeLeft,\n mergeDeepRight,\n path,\n pluck,\n propEq,\n reject,\n slice,\n sort,\n type,\n uniq,\n view,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\nimport {crawlLayout, hasId} from '../reducers/utils';\nimport {getAppState} from '../reducers/constants';\nimport {getAction} from './constants';\nimport cookie from 'cookie';\nimport {uid, urlBase, isMultiOutputProp, parseMultipleOutputs} from '../utils';\nimport {STATUS} from '../constants/constants';\nimport {applyPersistence, prunePersistence} from '../persistence';\n\nimport isAppReady from './isAppReady';\n\nexport const updateProps = createAction(getAction('ON_PROP_CHANGE'));\nexport const setRequestQueue = createAction(getAction('SET_REQUEST_QUEUE'));\nexport const computeGraphs = createAction(getAction('COMPUTE_GRAPHS'));\nexport const computePaths = createAction(getAction('COMPUTE_PATHS'));\nexport const setAppLifecycle = createAction(getAction('SET_APP_LIFECYCLE'));\nexport const setConfig = createAction(getAction('SET_CONFIG'));\nexport const setHooks = createAction(getAction('SET_HOOKS'));\nexport const setLayout = createAction(getAction('SET_LAYOUT'));\nexport const onError = createAction(getAction('ON_ERROR'));\n\nexport function hydrateInitialOutputs() {\n return function(dispatch, getState) {\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle(getAppState('HYDRATED')));\n };\n}\n\nexport function getCSRFHeader() {\n return {\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token,\n };\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n const {graphs} = getState();\n const {InputGraph, MultiGraph} = graphs;\n const allNodes = InputGraph.overallOrder();\n // overallOrder will assert circular dependencies for multi output.\n\n try {\n MultiGraph.overallOrder();\n } catch (err) {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message: 'Circular Dependencies',\n html: err.toString(),\n },\n })\n );\n }\n\n const inputNodeIds = [];\n allNodes.reverse();\n allNodes.forEach(nodeId => {\n const componentId = nodeId.split('.')[0];\n /*\n * Filter out the outputs,\n * inputs that aren't leaves,\n * and the invisible inputs\n */\n if (\n InputGraph.dependenciesOf(nodeId).length > 0 &&\n InputGraph.dependantsOf(nodeId).length === 0 &&\n has(componentId, getState().paths)\n ) {\n inputNodeIds.push(nodeId);\n }\n });\n\n reduceInputIds(inputNodeIds, InputGraph).forEach(inputOutput => {\n const [componentId, componentProp] = inputOutput.input.split('.');\n // Get the initial property\n const propLens = lensPath(\n concat(getState().paths[componentId], ['props', componentProp])\n );\n const propValue = view(propLens, getState().layout);\n\n dispatch(\n notifyObservers({\n id: componentId,\n props: {[componentProp]: propValue},\n excludedOutputs: inputOutput.excludedOutputs,\n })\n );\n });\n}\n\nexport function redo() {\n return function(dispatch, getState) {\n const history = getState().history;\n dispatch(createAction('REDO')());\n const next = history.future[0];\n\n // Update props\n dispatch(\n createAction('REDO_PROP_CHANGE')({\n itempath: getState().paths[next.id],\n props: next.props,\n })\n );\n\n // Notify observers\n dispatch(\n notifyObservers({\n id: next.id,\n props: next.props,\n })\n );\n };\n}\n\nconst UNDO = createAction('UNDO')();\nexport function undo() {\n return undo_revert(UNDO);\n}\n\nconst REVERT = createAction('REVERT')();\nexport function revert() {\n return undo_revert(REVERT);\n}\n\nfunction undo_revert(undo_or_revert) {\n return function(dispatch, getState) {\n const history = getState().history;\n dispatch(undo_or_revert);\n const previous = history.past[history.past.length - 1];\n\n // Update props\n dispatch(\n createAction('UNDO_PROP_CHANGE')({\n itempath: getState().paths[previous.id],\n props: previous.props,\n })\n );\n\n // Notify observers\n dispatch(\n notifyObservers({\n id: previous.id,\n props: previous.props,\n })\n );\n };\n}\n\nfunction reduceInputIds(nodeIds, InputGraph) {\n /*\n * Create input-output(s) pairs,\n * sort by number of outputs,\n * and remove redundant inputs (inputs that update the same output)\n */\n const inputOutputPairs = nodeIds.map(nodeId => ({\n input: nodeId,\n // TODO - Does this include grandchildren?\n outputs: InputGraph.dependenciesOf(nodeId),\n excludedOutputs: [],\n }));\n\n const sortedInputOutputPairs = sort(\n (a, b) => b.outputs.length - a.outputs.length,\n inputOutputPairs\n );\n\n /*\n * In some cases, we may have unique outputs but inputs that could\n * trigger components to update multiple times.\n *\n * For example, [A, B] => C and [A, D] => E\n * The unique inputs might be [A, B, D] but that is redundant.\n * We only need to update B and D or just A.\n *\n * In these cases, we'll supply an additional list of outputs\n * to exclude.\n */\n sortedInputOutputPairs.forEach((pair, i) => {\n const outputsThatWillBeUpdated = flatten(\n pluck('outputs', slice(0, i, sortedInputOutputPairs))\n );\n pair.outputs.forEach(output => {\n if (includes(output, outputsThatWillBeUpdated)) {\n pair.excludedOutputs.push(output);\n }\n });\n });\n\n return sortedInputOutputPairs;\n}\n\nexport function notifyObservers(payload) {\n return async function(dispatch, getState) {\n const {id, props, excludedOutputs} = payload;\n\n const {\n dependenciesRequest,\n graphs,\n layout,\n paths,\n requestQueue,\n } = getState();\n\n const {InputGraph} = graphs;\n /*\n * Figure out all of the output id's that depend on this input.\n * This includes id's that are direct children as well as\n * grandchildren.\n * grandchildren will get filtered out in a later stage.\n */\n let outputObservers = [];\n\n const changedProps = keys(props);\n changedProps.forEach(propName => {\n const node = `${id}.${propName}`;\n if (!InputGraph.hasNode(node)) {\n return;\n }\n InputGraph.dependenciesOf(node).forEach(outputId => {\n /*\n * Multiple input properties that update the same\n * output can change at once.\n * For example, `n_clicks` and `n_clicks_previous`\n * on a button component.\n * We only need to update the output once for this\n * update, so keep outputObservers unique.\n */\n if (!includes(outputId, outputObservers)) {\n outputObservers.push(outputId);\n }\n });\n });\n\n if (excludedOutputs) {\n outputObservers = reject(\n flip(includes)(excludedOutputs),\n outputObservers\n );\n }\n\n if (isEmpty(outputObservers)) {\n return;\n }\n\n /*\n * There may be several components that depend on this input.\n * And some components may depend on other components before\n * updating. Get this update order straightened out.\n */\n const depOrder = InputGraph.overallOrder();\n outputObservers = sort(\n (a, b) => depOrder.indexOf(b) - depOrder.indexOf(a),\n outputObservers\n );\n const queuedObservers = [];\n outputObservers.forEach(function filterObservers(outputIdAndProp) {\n let outputIds;\n if (isMultiOutputProp(outputIdAndProp)) {\n outputIds = parseMultipleOutputs(outputIdAndProp).map(\n e => e.split('.')[0]\n );\n } else {\n outputIds = [outputIdAndProp.split('.')[0]];\n }\n\n /*\n * before we make the POST to update the output, check\n * that the output doesn't depend on any other inputs that\n * that depend on the same controller.\n * if the output has another input with a shared controller,\n * then don't update this output yet.\n * when each dependency updates, it'll dispatch its own\n * `notifyObservers` action which will allow this\n * component to update.\n *\n * for example, if A updates B and C (A -> [B, C]) and B updates C\n * (B -> C), then when A updates, this logic will\n * reject C from the queue since it will end up getting updated\n * by B.\n *\n * in this case, B will already be in queuedObservers by the time\n * this loop hits C because of the overallOrder sorting logic\n */\n\n const controllers = InputGraph.dependantsOf(outputIdAndProp);\n\n const controllersInFutureQueue = intersection(\n queuedObservers,\n controllers\n );\n\n /*\n * check that the output hasn't been triggered to update already\n * by a different input.\n *\n * for example:\n * Grandparent -> [Parent A, Parent B] -> Child\n *\n * when Grandparent changes, it will trigger Parent A and Parent B\n * to each update Child.\n * one of the components (Parent A or Parent B) will queue up\n * the change for Child. if this update has already been queued up,\n * then skip the update for the other component\n */\n const controllerIsInExistingQueue = any(\n r =>\n includes(r.controllerId, controllers) &&\n r.status === 'loading',\n requestQueue\n );\n\n /*\n * TODO - Place throttling logic here?\n *\n * Only process the last two requests for a _single_ output\n * at a time.\n *\n * For example, if A -> B, and A is changed 10 times, then:\n * 1 - processing the first two requests\n * 2 - if more than 2 requests come in while the first two\n * are being processed, then skip updating all of the\n * requests except for the last 2\n */\n\n /*\n * also check that this observer is actually in the current\n * component tree.\n * observers don't actually need to be rendered at the moment\n * of a controller change.\n * for example, perhaps the user has hidden one of the observers\n */\n\n if (\n controllersInFutureQueue.length === 0 &&\n any(e => has(e, getState().paths))(outputIds) &&\n !controllerIsInExistingQueue\n ) {\n queuedObservers.push(outputIdAndProp);\n }\n });\n\n /**\n * Determine the id of all components used as input or state in the callbacks\n * triggered by the props change.\n *\n * Wait for all components associated to these ids to be ready before initiating\n * the callbacks.\n */\n const deps = queuedObservers.map(output =>\n dependenciesRequest.content.find(\n dependency => dependency.output === output\n )\n );\n\n const ids = uniq(\n flatten(\n deps.map(dep => [\n dep.inputs.map(input => input.id),\n dep.state.map(state => state.id),\n ])\n )\n );\n\n await isAppReady(layout, paths, ids);\n\n /*\n * record the set of output IDs that will eventually need to be\n * updated in a queue. not all of these requests will be fired in this\n * action\n */\n const newRequestQueue = queuedObservers.map(i => ({\n controllerId: i,\n status: 'loading',\n uid: uid(),\n requestTime: Date.now(),\n }));\n dispatch(setRequestQueue(concat(requestQueue, newRequestQueue)));\n\n const promises = [];\n for (let i = 0; i < queuedObservers.length; i++) {\n const outputIdAndProp = queuedObservers[i];\n const requestUid = newRequestQueue[i].uid;\n\n promises.push(\n updateOutput(\n outputIdAndProp,\n getState,\n requestUid,\n dispatch,\n changedProps.map(prop => `${id}.${prop}`)\n )\n );\n }\n\n /* eslint-disable consistent-return */\n return Promise.all(promises);\n /* eslint-enable consistent-return */\n };\n}\n\nfunction updateOutput(\n outputIdAndProp,\n getState,\n requestUid,\n dispatch,\n changedPropIds\n) {\n const {config, layout, graphs, dependenciesRequest, hooks} = getState();\n const {InputGraph} = graphs;\n\n const getThisRequestIndex = () => {\n const postRequestQueue = getState().requestQueue;\n const thisRequestIndex = findIndex(\n propEq('uid', requestUid),\n postRequestQueue\n );\n return thisRequestIndex;\n };\n\n const updateRequestQueue = (rejected, status) => {\n const postRequestQueue = getState().requestQueue;\n const thisRequestIndex = getThisRequestIndex();\n if (thisRequestIndex === -1) {\n // It was already pruned away\n return;\n }\n const updatedQueue = adjust(\n thisRequestIndex,\n mergeLeft({\n status: status,\n responseTime: Date.now(),\n rejected,\n }),\n postRequestQueue\n );\n // We don't need to store any requests before this one\n const thisControllerId =\n postRequestQueue[thisRequestIndex].controllerId;\n const prunedQueue = updatedQueue.filter((queueItem, index) => {\n return (\n queueItem.controllerId !== thisControllerId ||\n index >= thisRequestIndex\n );\n });\n\n dispatch(setRequestQueue(prunedQueue));\n };\n\n /*\n * Construct a payload of the input and state.\n * For example:\n * {\n * inputs: [{'id': 'input1', 'property': 'new value'}],\n * state: [{'id': 'state1', 'property': 'existing value'}]\n * }\n */\n\n // eslint-disable-next-line no-unused-vars\n const [outputComponentId, _] = outputIdAndProp.split('.');\n const payload = {\n output: outputIdAndProp,\n changedPropIds,\n };\n\n const {\n inputs,\n state,\n clientside_function,\n } = dependenciesRequest.content.find(\n dependency => dependency.output === outputIdAndProp\n );\n const validKeys = keys(getState().paths);\n\n payload.inputs = inputs.map(inputObject => {\n // Make sure the component id exists in the layout\n if (!includes(inputObject.id, validKeys)) {\n throw new ReferenceError(\n 'An invalid input object was used in an ' +\n '`Input` of a Dash callback. ' +\n 'The id of this object is `' +\n inputObject.id +\n '` and the property is `' +\n inputObject.property +\n '`. The list of ids in the current layout is ' +\n '`[' +\n validKeys.join(', ') +\n ']`'\n );\n }\n const propLens = lensPath(\n concat(getState().paths[inputObject.id], [\n 'props',\n inputObject.property,\n ])\n );\n return {\n id: inputObject.id,\n property: inputObject.property,\n value: view(propLens, layout),\n };\n });\n\n const inputsPropIds = inputs.map(p => `${p.id}.${p.property}`);\n\n payload.changedPropIds = changedPropIds.filter(p =>\n includes(p, inputsPropIds)\n );\n\n if (state.length > 0) {\n payload.state = state.map(stateObject => {\n // Make sure the component id exists in the layout\n if (!includes(stateObject.id, validKeys)) {\n throw new ReferenceError(\n 'An invalid input object was used in a ' +\n '`State` object of a Dash callback. ' +\n 'The id of this object is `' +\n stateObject.id +\n '` and the property is `' +\n stateObject.property +\n '`. The list of ids in the current layout is ' +\n '`[' +\n validKeys.join(', ') +\n ']`'\n );\n }\n const propLens = lensPath(\n concat(getState().paths[stateObject.id], [\n 'props',\n stateObject.property,\n ])\n );\n return {\n id: stateObject.id,\n property: stateObject.property,\n value: view(propLens, layout),\n };\n });\n }\n\n function doUpdateProps(id, updatedProps) {\n const {layout, paths} = getState();\n const itempath = paths[id];\n if (!itempath) {\n return false;\n }\n\n // This is a callback-generated update.\n // Check if this invalidates existing persisted prop values,\n // or if persistence changed, whether this updates other props.\n const updatedProps2 = prunePersistence(\n path(itempath, layout),\n updatedProps,\n dispatch\n );\n\n // In case the update contains whole components, see if any of\n // those components have props to update to persist user edits.\n const {props} = applyPersistence({props: updatedProps2}, dispatch);\n\n dispatch(\n updateProps({\n itempath,\n props,\n source: 'response',\n })\n );\n\n return props;\n }\n\n // Clientside hook\n if (clientside_function) {\n let returnValue;\n\n /*\n * Create the dash_clientside namespace if it doesn't exist and inject\n * no_update and PreventUpdate.\n */\n if (!window.dash_clientside) {\n window.dash_clientside = {};\n }\n\n if (!window.dash_clientside.no_update) {\n Object.defineProperty(window.dash_clientside, 'no_update', {\n value: {description: 'Return to prevent updating an Output.'},\n writable: false,\n });\n\n Object.defineProperty(window.dash_clientside, 'PreventUpdate', {\n value: {description: 'Throw to prevent updating all Outputs.'},\n writable: false,\n });\n }\n\n try {\n returnValue = window.dash_clientside[clientside_function.namespace][\n clientside_function.function_name\n ](\n ...pluck('value', payload.inputs),\n ...(has('state', payload) ? pluck('value', payload.state) : [])\n );\n } catch (e) {\n /*\n * Prevent all updates.\n */\n if (e === window.dash_clientside.PreventUpdate) {\n updateRequestQueue(true, STATUS.PREVENT_UPDATE);\n return;\n }\n\n /* eslint-disable no-console */\n console.error(\n `The following error occurred while executing ${clientside_function.namespace}.${clientside_function.function_name} ` +\n `in order to update component \"${payload.output}\" ⋁⋁⋁`\n );\n console.error(e);\n /* eslint-enable no-console */\n\n /*\n * Update the request queue by treating an unsuccessful clientside\n * like a failed serverside response via same request queue\n * mechanism\n */\n\n updateRequestQueue(true, STATUS.CLIENTSIDE_ERROR);\n return;\n }\n\n // Returning promises isn't support atm\n if (type(returnValue) === 'Promise') {\n /* eslint-disable no-console */\n console.error(\n 'The clientside function ' +\n `${clientside_function.namespace}.${clientside_function.function_name} ` +\n 'returned a Promise instead of a value. Promises are not ' +\n 'supported in Dash clientside right now, but may be in the ' +\n 'future.'\n );\n /* eslint-enable no-console */\n updateRequestQueue(true, STATUS.CLIENTSIDE_ERROR);\n return;\n }\n\n function updateClientsideOutput(outputIdAndProp, outputValue) {\n const [outputId, outputProp] = outputIdAndProp.split('.');\n const updatedProps = {\n [outputProp]: outputValue,\n };\n\n /*\n * Update the request queue by treating a successful clientside\n * like a successful serverside response (200 status code)\n */\n updateRequestQueue(false, STATUS.OK);\n\n /*\n * Prevent update.\n */\n if (outputValue === window.dash_clientside.no_update) {\n return;\n }\n\n // Update the layout with the new result\n const appliedProps = doUpdateProps(outputId, updatedProps);\n\n /*\n * This output could itself be a serverside or clientside input\n * to another function\n */\n if (appliedProps) {\n dispatch(\n notifyObservers({\n id: outputId,\n props: appliedProps,\n })\n );\n }\n }\n\n if (isMultiOutputProp(payload.output)) {\n parseMultipleOutputs(payload.output).forEach((outputPropId, i) => {\n updateClientsideOutput(outputPropId, returnValue[i]);\n });\n } else {\n updateClientsideOutput(payload.output, returnValue);\n }\n\n /*\n * Note that unlike serverside updates, we're not handling\n * children as components right now, so we don't need to\n * crawl the computed result to check for nested components\n * or properties that might trigger other inputs.\n * In the future, we could handle this case.\n */\n return;\n }\n\n if (hooks.request_pre !== null) {\n hooks.request_pre(payload);\n }\n\n /* eslint-disable consistent-return */\n return fetch(\n `${urlBase(config)}_dash-update-component`,\n mergeDeepRight(config.fetch, {\n /* eslint-enable consistent-return */\n\n method: 'POST',\n headers: getCSRFHeader(),\n body: JSON.stringify(payload),\n })\n )\n .then(function handleResponse(res) {\n const isRejected = () => {\n const latestRequestIndex = findLastIndex(\n propEq('controllerId', outputIdAndProp),\n getState().requestQueue\n );\n /*\n * Note that if the latest request is still `loading`\n * or even if the latest request failed,\n * we still reject this response in favor of waiting\n * for the latest request to finish.\n */\n const rejected = latestRequestIndex > getThisRequestIndex();\n return rejected;\n };\n\n if (res.status !== STATUS.OK) {\n // update the status of this request\n updateRequestQueue(true, res.status);\n\n /*\n * This is a 204 response code, there's no content to process.\n */\n if (res.status === STATUS.PREVENT_UPDATE) {\n return;\n }\n\n /*\n * eject into `catch` handler below to display error\n * message in ui\n */\n throw res;\n }\n\n /*\n * Check to see if another request has already come back\n * _after_ this one.\n * If so, ignore this request.\n */\n if (isRejected()) {\n updateRequestQueue(true, res.status);\n return;\n }\n\n res.json().then(function handleJson(data) {\n /*\n * Even if the `res` was received in the correct order,\n * the remainder of the response (res.json()) could happen\n * at different rates causing the parsed responses to\n * get out of order\n */\n if (isRejected()) {\n updateRequestQueue(true, res.status);\n return;\n }\n\n updateRequestQueue(false, res.status);\n\n // Fire custom request_post hook if any\n if (hooks.request_post !== null) {\n hooks.request_post(payload, data.response);\n }\n\n /*\n * it's possible that this output item is no longer visible.\n * for example, the could still be request running when\n * the user switched the chapter\n *\n * if it's not visible, then ignore the rest of the updates\n * to the store\n */\n\n const multi = data.multi;\n\n const handleResponse = ([outputIdAndProp, props]) => {\n // Backward compatibility\n const pathKey = multi ? outputIdAndProp : outputComponentId;\n\n const appliedProps = doUpdateProps(pathKey, props);\n if (!appliedProps) {\n return;\n }\n\n dispatch(\n notifyObservers({\n id: pathKey,\n props: appliedProps,\n })\n );\n\n /*\n * If the response includes children, then we need to update our\n * paths store.\n * TODO - Do we need to wait for updateProps to finish?\n */\n if (has('children', appliedProps)) {\n const newChildren = appliedProps.children;\n dispatch(\n computePaths({\n subTree: newChildren,\n startingPath: concat(\n getState().paths[pathKey],\n ['props', 'children']\n ),\n })\n );\n\n /*\n * if children contains objects with IDs, then we\n * need to dispatch a propChange for all of these\n * new children components\n */\n if (\n includes(type(newChildren), ['Array', 'Object']) &&\n !isEmpty(newChildren)\n ) {\n /*\n * TODO: We're just naively crawling\n * the _entire_ layout to recompute the\n * the dependency graphs.\n * We don't need to do this - just need\n * to compute the subtree\n */\n const newProps = {};\n crawlLayout(newChildren, function appendIds(child) {\n if (hasId(child)) {\n keys(child.props).forEach(childProp => {\n const componentIdAndProp = `${child.props.id}.${childProp}`;\n if (\n has(\n componentIdAndProp,\n InputGraph.nodes\n )\n ) {\n newProps[componentIdAndProp] = {\n id: child.props.id,\n props: {\n [childProp]:\n child.props[childProp],\n },\n };\n }\n });\n }\n });\n\n /*\n * Organize props by shared outputs so that we\n * only make one request per output component\n * (even if there are multiple inputs).\n *\n * For example, we might render 10 inputs that control\n * a single output. If that is the case, we only want\n * to make a single call, not 10 calls.\n */\n\n /*\n * In some cases, the new item will be an output\n * with its inputs already rendered (not rendered)\n * as part of this update.\n * For example, a tab with global controls that\n * renders different content containers without any\n * additional inputs.\n *\n * In that case, we'll call `updateOutput` with that output\n * and just \"pretend\" that one if its inputs changed.\n *\n * If we ever add logic that informs the user on\n * \"which input changed\", we'll have to account for this\n * special case (no input changed?)\n */\n\n const outputIds = [];\n keys(newProps).forEach(idAndProp => {\n if (\n // It's an output\n InputGraph.dependenciesOf(idAndProp)\n .length === 0 &&\n /*\n * And none of its inputs are generated in this\n * request\n */\n intersection(\n InputGraph.dependantsOf(idAndProp),\n keys(newProps)\n ).length === 0\n ) {\n outputIds.push(idAndProp);\n delete newProps[idAndProp];\n }\n });\n\n // Dispatch updates to inputs\n const reducedNodeIds = reduceInputIds(\n keys(newProps),\n InputGraph\n );\n const depOrder = InputGraph.overallOrder();\n const sortedNewProps = sort(\n (a, b) =>\n depOrder.indexOf(a.input) -\n depOrder.indexOf(b.input),\n reducedNodeIds\n );\n sortedNewProps.forEach(function(inputOutput) {\n const payload = newProps[inputOutput.input];\n payload.excludedOutputs =\n inputOutput.excludedOutputs;\n dispatch(notifyObservers(payload));\n });\n\n // Dispatch updates to lone outputs\n outputIds.forEach(idAndProp => {\n const requestUid = uid();\n dispatch(\n setRequestQueue(\n append(\n {\n // TODO - Are there any implications of doing this??\n controllerId: null,\n status: 'loading',\n uid: requestUid,\n requestTime: Date.now(),\n },\n getState().requestQueue\n )\n )\n );\n updateOutput(\n idAndProp,\n\n getState,\n requestUid,\n dispatch,\n changedPropIds\n );\n });\n }\n }\n };\n if (multi) {\n Object.entries(data.response).forEach(handleResponse);\n } else {\n handleResponse([outputIdAndProp, data.response.props]);\n }\n });\n })\n .catch(err => {\n const message = `Callback error updating ${\n isMultiOutputProp(payload.output)\n ? parseMultipleOutputs(payload.output).join(', ')\n : payload.output\n }`;\n handleAsyncError(err, message, dispatch);\n });\n}\n\nexport function handleAsyncError(err, message, dispatch) {\n // Handle html error responses\n const errText =\n err && typeof err.text === 'function'\n ? err.text()\n : Promise.resolve(err);\n\n errText.then(text => {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message,\n html: text,\n },\n })\n );\n });\n}\n\nexport function serialize(state) {\n // Record minimal input state in the url\n const {graphs, paths, layout} = state;\n const {InputGraph} = graphs;\n const allNodes = InputGraph.nodes;\n const savedState = {};\n keys(allNodes).forEach(nodeId => {\n const [componentId, componentProp] = nodeId.split('.');\n /*\n * Filter out the outputs,\n * and the invisible inputs\n */\n if (\n InputGraph.dependenciesOf(nodeId).length > 0 &&\n has(componentId, paths)\n ) {\n // Get the property\n const propLens = lensPath(\n concat(paths[componentId], ['props', componentProp])\n );\n const propValue = view(propLens, layout);\n savedState[nodeId] = propValue;\n }\n });\n\n return savedState;\n}\n","import {path} from 'ramda';\nimport {isReady} from '@plotly/dash-component-plugins';\n\nimport Registry from '../registry';\n\nexport default (layout, paths, targets) => {\n const promises = [];\n targets.forEach(id => {\n const pathOfId = paths[id];\n if (!pathOfId) {\n return;\n }\n\n const target = path(pathOfId, layout);\n if (!target) {\n return;\n }\n\n const component = Registry.resolve(target);\n const ready = isReady(component);\n\n if (ready && typeof ready.then === 'function') {\n promises.push(ready);\n }\n });\n\n return promises.length ? Promise.all(promises) : true;\n};\n","/*\n * Copied out of prop-types and modified - inspired by check-prop-types, but\n * simplified and tweaked to our needs: we don't need the NODE_ENV check,\n * we report all errors, not just the first one, and we don't need the throwing\n * variant `assertPropTypes`.\n */\nimport ReactPropTypesSecret from 'prop-types/lib/ReactPropTypesSecret';\n\n/**\n * Assert that the values match with the type specs.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @return {string} Any error messsage resulting from checking the types\n */\nexport default function checkPropTypes(\n typeSpecs,\n values,\n location,\n componentName,\n getStack\n) {\n const errors = [];\n for (const typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n let error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n error = Error(\n (componentName || 'React class') +\n ': ' +\n location +\n ' type `' +\n typeSpecName +\n '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' +\n typeof typeSpecs[typeSpecName] +\n '`.'\n );\n error.name = 'Invariant Violation';\n } else {\n error = typeSpecs[typeSpecName](\n values,\n typeSpecName,\n componentName,\n location,\n null,\n ReactPropTypesSecret\n );\n }\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n errors.push(\n (componentName || 'React class') +\n ': type specification of ' +\n location +\n ' `' +\n typeSpecName +\n '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' +\n typeof error +\n '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error) {\n var stack = (getStack && getStack()) || '';\n\n errors.push(\n 'Failed ' + location + ' type: ' + error.message + stack\n );\n }\n }\n }\n return errors.join('\\n\\n');\n}\n","/* global document:true */\n\nimport {connect} from 'react-redux';\nimport {any} from 'ramda';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass DocumentTitle extends Component {\n constructor(props) {\n super(props);\n this.state = {\n initialTitle: document.title,\n };\n }\n\n componentWillReceiveProps(props) {\n if (any(r => r.status === 'loading', props.requestQueue)) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n\n shouldComponentUpdate() {\n return false;\n }\n\n render() {\n return null;\n }\n}\n\nDocumentTitle.propTypes = {\n requestQueue: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n requestQueue: state.requestQueue,\n}))(DocumentTitle);\n","import {connect} from 'react-redux';\nimport {any} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Loading(props) {\n if (any(r => r.status === 'loading', props.requestQueue)) {\n return <div className=\"_dash-loading-callback\" />;\n }\n return null;\n}\n\nLoading.propTypes = {\n requestQueue: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n requestQueue: state.requestQueue,\n}))(Loading);\n","/* eslint-disable no-undef,react/no-did-update-set-state,no-magic-numbers */\nimport {\n comparator,\n equals,\n forEach,\n has,\n isEmpty,\n lt,\n path,\n pathOr,\n sort,\n} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport apiThunk from '../../actions/api';\n\nclass Reloader extends React.Component {\n constructor(props) {\n super(props);\n if (props.config.hot_reload) {\n const {interval, max_retry} = props.config.hot_reload;\n this.state = {\n interval,\n disabled: false,\n intervalId: null,\n packages: null,\n max_retry,\n };\n } else {\n this.state = {\n disabled: true,\n };\n }\n this._retry = 0;\n this._head = document.querySelector('head');\n this.clearInterval = this.clearInterval.bind(this);\n }\n\n clearInterval() {\n window.clearInterval(this.state.intervalId);\n this.setState({intervalId: null});\n }\n\n static getDerivedStateFromProps(props) {\n /*\n * Save the non-loading requests in the state in order to compare\n * current hashes with previous hashes.\n * Note that if there wasn't a \"loading\" state for the requests,\n * then we could simply compare `props` with `prevProps` in\n * `componentDidUpdate`.\n */\n if (\n !isEmpty(props.reloadRequest) &&\n props.reloadRequest.status !== 'loading'\n ) {\n return {reloadRequest: props.reloadRequest};\n }\n return null;\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {reloadRequest} = this.state;\n const {dispatch} = this.props;\n\n // In the beginning, reloadRequest won't be defined\n if (!reloadRequest) {\n return;\n }\n\n /*\n * When reloadRequest is first defined, prevState won't be defined\n * for one render loop.\n * The first reloadRequest defines the initial/baseline hash -\n * it doesn't require a reload\n */\n if (!has('reloadRequest', prevState)) {\n return;\n }\n\n if (\n reloadRequest.status === 200 &&\n path(['content', 'reloadHash'], reloadRequest) !==\n path(['reloadRequest', 'content', 'reloadHash'], prevState)\n ) {\n // Check for CSS (!content.hard) or new package assets\n if (\n reloadRequest.content.hard ||\n !equals(\n reloadRequest.content.packages.length,\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n ).length\n ) ||\n !equals(\n sort(comparator(lt), reloadRequest.content.packages),\n sort(\n comparator(lt),\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n )\n )\n )\n ) {\n // Look if it was a css file.\n let was_css = false;\n // eslint-disable-next-line prefer-const\n for (let a of reloadRequest.content.files) {\n if (a.is_css) {\n was_css = true;\n const nodesToDisable = [];\n\n // Search for the old file by xpath.\n const it = document.evaluate(\n `//link[contains(@href, \"${a.url}\")]`,\n this._head\n );\n let node = it.iterateNext();\n\n while (node) {\n nodesToDisable.push(node);\n node = it.iterateNext();\n }\n\n forEach(\n n => n.setAttribute('disabled', 'disabled'),\n nodesToDisable\n );\n\n if (a.modified > 0) {\n const link = document.createElement('link');\n link.href = `${a.url}?m=${a.modified}`;\n link.type = 'text/css';\n link.rel = 'stylesheet';\n this._head.appendChild(link);\n // Else the file was deleted.\n }\n } else {\n // If there's another kind of file here do a hard reload.\n was_css = false;\n break;\n }\n }\n if (!was_css) {\n // Assets file have changed\n // or a component lib has been added/removed -\n // Must do a hard reload\n window.top.location.reload();\n }\n } else {\n // Backend code changed - can do a soft reload in place\n dispatch({type: 'RELOAD'});\n }\n } else if (reloadRequest.status === 500) {\n if (this._retry > this.state.max_retry) {\n this.clearInterval();\n // Integrate with dev tools ui?!\n window.alert(\n `\n Reloader failed after ${this._retry} times.\n Please check your application for errors.\n `\n );\n }\n this._retry++;\n }\n }\n\n componentDidMount() {\n const {dispatch, reloadRequest} = this.props;\n const {disabled, interval} = this.state;\n if (!disabled && !this.state.intervalId) {\n const intervalId = window.setInterval(() => {\n // Prevent requests from piling up - reloading can take\n // many seconds (10-30) and the interval is 3s by default\n if (reloadRequest.status !== 'loading') {\n dispatch(apiThunk('_reload-hash', 'GET', 'reloadRequest'));\n }\n }, interval);\n this.setState({intervalId});\n }\n }\n\n componentWillUnmount() {\n if (!this.state.disabled && this.state.intervalId) {\n this.clearInterval();\n }\n }\n\n render() {\n return null;\n }\n}\n\nReloader.defaultProps = {};\n\nReloader.propTypes = {\n id: PropTypes.string,\n config: PropTypes.object,\n reloadRequest: PropTypes.object,\n dispatch: PropTypes.func,\n interval: PropTypes.number,\n};\n\nexport default connect(\n state => ({\n config: state.config,\n reloadRequest: state.reloadRequest,\n }),\n dispatch => ({dispatch})\n)(Reloader);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {mergeRight} from 'ramda';\nimport {redo, undo} from '../../actions/index.js';\nimport Radium from 'radium';\n\nfunction UnconnectedToolbar(props) {\n const {dispatch, history} = props;\n const styles = {\n parentSpanStyle: {\n display: 'inline-block',\n opacity: '0.2',\n ':hover': {\n opacity: 1,\n },\n },\n iconStyle: {\n fontSize: 20,\n },\n labelStyle: {\n fontSize: 15,\n },\n };\n\n const undoLink = (\n <span\n key=\"undoLink\"\n style={mergeRight(\n {\n color: history.past.length ? '#0074D9' : 'grey',\n cursor: history.past.length ? 'pointer' : 'default',\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(undo())}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(270deg)'},\n styles.iconStyle\n )}\n >\n ↺\n </div>\n <div style={styles.labelStyle}>undo</div>\n </span>\n );\n\n const redoLink = (\n <span\n key=\"redoLink\"\n style={mergeRight(\n {\n color: history.future.length ? '#0074D9' : 'grey',\n cursor: history.future.length ? 'pointer' : 'default',\n marginLeft: 10,\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(redo())}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(90deg)'},\n styles.iconStyle\n )}\n >\n ↻\n </div>\n <div style={styles.labelStyle}>redo</div>\n </span>\n );\n\n return (\n <div\n className=\"_dash-undo-redo\"\n style={{\n position: 'fixed',\n bottom: '30px',\n left: '30px',\n fontSize: '20px',\n textAlign: 'center',\n zIndex: '9999',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <div\n style={{\n position: 'relative',\n }}\n >\n {history.past.length > 0 ? undoLink : null}\n {history.future.length > 0 ? redoLink : null}\n </div>\n </div>\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst Toolbar = connect(\n state => ({\n history: state.history,\n }),\n dispatch => ({dispatch})\n)(Radium(UnconnectedToolbar));\n\nexport default Toolbar;\n","var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./CallbackGraphContainer.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","import React, {Component} from 'react';\nimport './CallbackGraphContainer.css';\n\nimport viz from 'viz.js';\n\nimport PropTypes from 'prop-types';\n\nclass CallbackGraphContainer extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const {dependenciesRequest} = this.props;\n const elements = {};\n const callbacks = [];\n const links = dependenciesRequest.content.map(({inputs, output}, i) => {\n callbacks.push(`cb${i};`);\n function recordAndReturn([id, property]) {\n elements[id] = elements[id] || {};\n elements[id][property] = true;\n return `\"${id}.${property}\"`;\n }\n const out_nodes = output\n .replace(/^\\.\\./, '')\n .replace(/\\.\\.$/, '')\n .split('...')\n .map(o => recordAndReturn(o.split('.')))\n .join(', ');\n const in_nodes = inputs\n .map(({id, property}) => recordAndReturn([id, property]))\n .join(', ');\n return `{${in_nodes}} -> cb${i} -> {${out_nodes}};`;\n });\n\n const dot = `digraph G {\n overlap = false; fontname=\"Arial\"; fontcolor=\"#333333\";\n edge [color=\"#888888\"];\n node [shape=box, fontname=\"Arial\", style=filled, color=\"#109DFF\", fontcolor=white];\n graph [penwidth=0];\n subgraph callbacks {\n node [shape=circle, width=0.3, label=\"\", color=\"#00CC96\"];\n ${callbacks.join('\\n')} }\n\n ${Object.entries(elements)\n .map(\n ([id, props], i) => `\n subgraph cluster_${i} {\n bgcolor=\"#B9C2CE\";\n ${Object.keys(props)\n .map(p => `\"${id}.${p}\" [label=\"${p}\"];`)\n .join('\\n')}\n label = \"${id}\"; }`\n )\n .join('\\n')}\n\n ${links.join('\\n')} }`;\n\n return (\n <div\n className=\"dash-callback-dag--container\"\n dangerouslySetInnerHTML={{\n __html: viz(dot, {format: 'svg'}),\n }}\n />\n );\n }\n}\n\nCallbackGraphContainer.propTypes = {\n dependenciesRequest: PropTypes.object,\n};\n\nexport {CallbackGraphContainer};\n","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {onError, revert} from '../../actions';\n\nclass UnconnectedComponentErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n myID: props.componentId,\n oldChildren: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(_) {\n return {hasError: true};\n }\n\n componentDidCatch(error, info) {\n const {dispatch} = this.props;\n dispatch(\n onError({\n myID: this.state.myID,\n type: 'frontEnd',\n error,\n info,\n })\n );\n dispatch(revert);\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps, prevState) {\n const prevChildren = prevProps.children;\n if (\n !this.state.hasError &&\n prevChildren !== prevState.oldChildren &&\n prevChildren !== this.props.children\n ) {\n this.setState({\n oldChildren: prevChildren,\n });\n }\n }\n /* eslint-enable react/no-did-update-set-state */\n\n render() {\n const {hasError, oldChildren} = this.state;\n return hasError ? oldChildren : this.props.children;\n }\n}\n\nUnconnectedComponentErrorBoundary.propTypes = {\n children: PropTypes.object,\n componentId: PropTypes.string,\n error: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst ComponentErrorBoundary = connect(\n state => ({\n error: state.error,\n }),\n dispatch => {\n return {dispatch};\n }\n)(Radium(UnconnectedComponentErrorBoundary));\n\nexport default ComponentErrorBoundary;\n","var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./FrontEndError.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","import {connect} from 'react-redux';\nimport './FrontEndError.css';\nimport {Component} from 'react';\nimport CollapseIcon from '../icons/CollapseIcon.svg';\nimport PropTypes from 'prop-types';\nimport '../Percy.css';\nimport {urlBase} from '../../../utils';\n\nimport werkzeugCss from '../werkzeugcss';\n\nclass FrontEndError extends Component {\n constructor(props) {\n super(props);\n this.state = {\n collapsed: this.props.isListItem,\n };\n }\n\n render() {\n const {e, inAlertsTray} = this.props;\n const {collapsed} = this.state;\n\n const cardClasses =\n 'dash-error-card__content' +\n (inAlertsTray ? ' dash-error-card--alerts-tray' : '');\n\n /* eslint-disable no-inline-comments */\n const errorHeader = (\n <div\n className=\"dash-fe-error-top test-devtools-error-toggle\"\n onClick={() => this.setState({collapsed: !collapsed})}\n >\n <span className=\"dash-fe-error-top__group\">\n ⛑️\n <span className=\"dash-fe-error__title\">\n {e.error.message || 'Error'}\n </span>\n </span>\n <span className=\"dash-fe-error-top__group\">\n <span className=\"dash-fe-error__timestamp percy-hide\">\n {`${e.timestamp.toLocaleTimeString()}`}\n </span>\n <span className=\"dash-fe-error__timestamp percy-show\">\n {/* Special percy timestamp for visual testing.\n * Hidden during regular usage.\n */}\n 00:00:00 PM\n </span>\n\n <CollapseIcon\n className={`dash-fe-error__collapse ${\n collapsed ? 'dash-fe-error__collapse--flipped' : ''\n }`}\n onClick={() => this.setState({collapsed: !collapsed})}\n />\n </span>\n </div>\n );\n /* eslint-enable no-inline-comments */\n\n return collapsed ? (\n <div className=\"dash-error-card__list-item\">{errorHeader}</div>\n ) : (\n <div className={cardClasses}>\n {errorHeader}\n <ErrorContent error={e.error} />\n </div>\n );\n }\n}\n\n/* eslint-disable no-inline-comments, no-magic-numbers */\nfunction UnconnectedErrorContent({error, base}) {\n return (\n <div className=\"error-container\">\n {/*\n * 40 is a rough heuristic - if longer than 40 then the\n * message might overflow into ellipses in the title above &\n * will need to be displayed in full in this error body\n */}\n {typeof error.message !== 'string' ||\n error.message.length < 40 ? null : (\n <div className=\"dash-fe-error__st\">\n <div className=\"dash-fe-error__info dash-fe-error__curved\">\n {error.message}\n </div>\n </div>\n )}\n\n {typeof error.stack !== 'string' ? null : (\n <div className=\"dash-fe-error__st\">\n <div className=\"dash-fe-error__info\">\n <details>\n <summary>\n <i>\n (This error originated from the built-in\n JavaScript code that runs Dash apps. Click\n to see the full stack trace or open your\n browser's console.)\n </i>\n </summary>\n\n {error.stack.split('\\n').map(line => (\n <p>{line}</p>\n ))}\n </details>\n </div>\n </div>\n )}\n {/* Backend Error */}\n {typeof error.html !== 'string' ? null : error.html.indexOf(\n '<!DOCTYPE HTML'\n ) === 0 ? (\n <div className=\"dash-be-error__st\">\n <div className=\"dash-backend-error\">\n {/* Embed werkzeug debugger in an iframe to prevent\n CSS leaking - werkzeug HTML includes a bunch\n of CSS on base html elements like `<body/>`\n */}\n\n <iframe\n srcDoc={error.html\n .replace(\n '</head>',\n `<style type=\"text/css\">${werkzeugCss}</style></head>`\n )\n .replace(\n '=\"?__debugger__',\n `=\"${base}?__debugger__`\n )}\n style={{\n /*\n * 67px of padding and margin between this\n * iframe and the parent container.\n * 67 was determined manually in the\n * browser's dev tools.\n */\n width: 'calc(600px - 67px)',\n height: '75vh',\n border: 'none',\n }}\n />\n </div>\n </div>\n ) : (\n <div className=\"dash-be-error__str\">\n <div className=\"dash-backend-error\">{error.html}</div>\n </div>\n )}\n </div>\n );\n}\n/* eslint-enable no-inline-comments, no-magic-numbers */\n\nconst errorPropTypes = PropTypes.shape({\n message: PropTypes.string,\n\n /* front-end error messages */\n stack: PropTypes.string,\n\n /* backend error messages */\n html: PropTypes.string,\n});\n\nUnconnectedErrorContent.propTypes = {\n error: errorPropTypes,\n base: PropTypes.string,\n};\n\nconst ErrorContent = connect(state => ({base: urlBase(state.config)}))(\n UnconnectedErrorContent\n);\n\nFrontEndError.propTypes = {\n e: PropTypes.shape({\n timestamp: PropTypes.object,\n error: errorPropTypes,\n }),\n inAlertsTray: PropTypes.bool,\n isListItem: PropTypes.bool,\n};\n\nFrontEndError.defaultProps = {\n inAlertsTray: false,\n isListItem: false,\n};\n\nexport {FrontEndError};\n","import React, {Component} from 'react';\nimport './FrontEndError.css';\nimport PropTypes from 'prop-types';\nimport {FrontEndError} from './FrontEndError.react';\n\nclass FrontEndErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const errorsLength = this.props.errors.length;\n if (errorsLength === 0) {\n return null;\n }\n\n const inAlertsTray = this.props.inAlertsTray;\n let cardClasses = 'dash-error-card dash-error-card--container';\n\n const errorElements = this.props.errors.map((error, i) => {\n return <FrontEndError e={error} isListItem={true} key={i} />;\n });\n if (inAlertsTray) {\n cardClasses += ' dash-error-card--alerts-tray';\n }\n return (\n <div className={cardClasses}>\n <div className=\"dash-error-card__topbar\">\n <div className=\"dash-error-card__message\">\n 🛑 Errors (\n <strong className=\"test-devtools-error-count\">\n {errorsLength}\n </strong>\n )\n </div>\n </div>\n <div className=\"dash-error-card__list\">{errorElements}</div>\n </div>\n );\n }\n}\n\nFrontEndErrorContainer.propTypes = {\n errors: PropTypes.array,\n inAlertsTray: PropTypes.any,\n};\n\nFrontEndErrorContainer.propTypes = {\n inAlertsTray: PropTypes.any,\n};\n\nexport {FrontEndErrorContainer};\n","import {connect} from 'react-redux';\nimport React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {DebugMenu} from './menu/DebugMenu.react';\n\nclass UnconnectedGlobalErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {error, dependenciesRequest} = this.props;\n return (\n <div id=\"_dash-global-error-container\">\n <DebugMenu\n error={error}\n dependenciesRequest={dependenciesRequest}\n >\n <div id=\"_dash-app-content\">{this.props.children}</div>\n </DebugMenu>\n </div>\n );\n }\n}\n\nUnconnectedGlobalErrorContainer.propTypes = {\n children: PropTypes.object,\n error: PropTypes.object,\n dependenciesRequest: PropTypes.object,\n};\n\nconst GlobalErrorContainer = connect(state => ({\n error: state.error,\n dependenciesRequest: state.dependenciesRequest,\n}))(Radium(UnconnectedGlobalErrorContainer));\n\nexport default GlobalErrorContainer;\n","var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./GlobalErrorOverlay.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {concat} from 'ramda';\n\nimport './GlobalErrorOverlay.css';\nimport {FrontEndErrorContainer} from './FrontEnd/FrontEndErrorContainer.react';\n\nexport default class GlobalErrorOverlay extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {visible, error, toastsEnabled} = this.props;\n\n let frontEndErrors;\n if (toastsEnabled) {\n const errors = concat(error.frontEnd, error.backEnd);\n\n frontEndErrors = <FrontEndErrorContainer errors={errors} />;\n }\n return (\n <div>\n <div>{this.props.children}</div>\n <div className=\"dash-error-menu\">\n <div className={visible ? 'dash-fe-errors' : ''}>\n {frontEndErrors}\n </div>\n </div>\n </div>\n );\n }\n}\n\nGlobalErrorOverlay.propTypes = {\n children: PropTypes.object,\n visible: PropTypes.bool,\n error: PropTypes.object,\n toastsEnabled: PropTypes.any,\n};\n","var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./Percy.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z\",\n fill: \"#fff\"\n});\n\nvar SvgBellIcon = function SvgBellIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 28,\n height: 27,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgBellIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z\",\n fill: \"#B9C2CE\"\n});\n\nvar SvgBellIconGrey = function SvgBellIconGrey(props) {\n return React.createElement(\"svg\", _extends({\n width: 28,\n height: 27,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgBellIconGrey;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1 1l4 4 4-4\",\n stroke: \"#A2B1C6\"\n});\n\nvar SvgCollapseIcon = function SvgCollapseIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 10,\n height: 6,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgCollapseIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M14.85 21.197L5.616 12l9.225-9.197L12.028 0 0 12l12.037 12 2.813-2.803zm12.3 0L36.375 12 27.15 2.803 29.963 0 42 12 29.962 24l-2.812-2.803z\",\n fill: \"#fff\"\n});\n\nvar SvgDebugIcon = function SvgDebugIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 42,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgDebugIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 4a4 4 0 118 0 4 4 0 11-8 0zm5.44 2L6 5.44 4.56 4 6 2.56 5.44 2 4 3.44 2.56 2 2 2.56 3.44 4 2 5.44l.56.56L4 4.56 5.44 6z\",\n fill: \"#fff\"\n});\n\nvar SvgErrorIconWhite = function SvgErrorIconWhite(props) {\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 8 8\",\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgErrorIconWhite;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z\",\n fill: \"#fff\"\n});\n\nvar SvgGraphIcon = function SvgGraphIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 22,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgGraphIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z\",\n fill: \"#B9C2CE\"\n});\n\nvar SvgGraphIconGrey = function SvgGraphIconGrey(props) {\n return React.createElement(\"svg\", _extends({\n width: 22,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgGraphIconGrey;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React from \"react\";\n\nvar _ref =\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M1 1l12 12m0-12L1 13\",\n stroke: \"#fff\",\n strokeWidth: 2\n});\n\nvar SvgWhiteCloseIcon = function SvgWhiteCloseIcon(props) {\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 14 14\",\n fill: \"none\"\n }, props), _ref);\n};\n\nexport default SvgWhiteCloseIcon;","var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./DebugAlertContainer.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","import './DebugAlertContainer.css';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport ErrorIconWhite from '../icons/ErrorIconWhite.svg';\n\nclass DebugAlertContainer extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const {alertsOpened} = this.props;\n return (\n <div\n className={`dash-debug-alert-container${\n alertsOpened ? ' dash-debug-alert-container--opened' : ''\n }`}\n onClick={this.props.onClick}\n >\n <div className=\"dash-debug-alert\">\n {alertsOpened ? (\n <ErrorIconWhite className=\"dash-debug-alert-container__icon\" />\n ) : (\n '🛑 '\n )}\n {this.props.errors.length}\n </div>\n </div>\n );\n }\n}\n\nDebugAlertContainer.propTypes = {\n errors: PropTypes.object,\n alertsOpened: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport {DebugAlertContainer};\n","var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./DebugMenu.css\");\n\nif (typeof content === 'string') {\n content = [[module.id, content, '']];\n}\n\nvar options = {}\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\")(content, options);\n\nif (content.locals) {\n module.exports = content.locals;\n}\n","import React, {Component} from 'react';\nimport {concat, isEmpty} from 'ramda';\nimport './DebugMenu.css';\n\nimport DebugIcon from '../icons/DebugIcon.svg';\nimport WhiteCloseIcon from '../icons/WhiteCloseIcon.svg';\nimport BellIcon from '../icons/BellIcon.svg';\nimport BellIconGrey from '../icons/BellIconGrey.svg';\nimport GraphIcon from '../icons/GraphIcon.svg';\nimport GraphIconGrey from '../icons/GraphIconGrey.svg';\nimport PropTypes from 'prop-types';\nimport {DebugAlertContainer} from './DebugAlertContainer.react';\nimport GlobalErrorOverlay from '../GlobalErrorOverlay.react';\nimport {CallbackGraphContainer} from '../CallbackGraph/CallbackGraphContainer.react';\n\nclass DebugMenu extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n opened: false,\n alertsOpened: false,\n callbackGraphOpened: false,\n toastsEnabled: true,\n };\n }\n render() {\n const {\n opened,\n alertsOpened,\n toastsEnabled,\n callbackGraphOpened,\n } = this.state;\n const {error, dependenciesRequest} = this.props;\n\n const menuClasses = opened\n ? 'dash-debug-menu dash-debug-menu--opened'\n : 'dash-debug-menu dash-debug-menu--closed';\n\n const menuContent = opened ? (\n <div className=\"dash-debug-menu__content\">\n {callbackGraphOpened ? (\n <CallbackGraphContainer\n dependenciesRequest={dependenciesRequest}\n />\n ) : null}\n {error.frontEnd.length > 0 || error.backEnd.length > 0 ? (\n <div className=\"dash-debug-menu__button-container\">\n <DebugAlertContainer\n errors={concat(error.frontEnd, error.backEnd)}\n alertsOpened={alertsOpened}\n onClick={() =>\n this.setState({alertsOpened: !alertsOpened})\n }\n />\n </div>\n ) : null}\n <div className=\"dash-debug-menu__button-container\">\n <div\n className={`dash-debug-menu__button ${\n callbackGraphOpened\n ? 'dash-debug-menu__button--enabled'\n : ''\n }`}\n onClick={() =>\n this.setState({\n callbackGraphOpened: !callbackGraphOpened,\n })\n }\n >\n {callbackGraphOpened ? (\n <GraphIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--graph\" />\n ) : (\n <GraphIconGrey className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n )}\n </div>\n <label className=\"dash-debug-menu__button-label\">\n Callback Graph\n </label>\n </div>\n <div className=\"dash-debug-menu__button-container\">\n <div\n className={`dash-debug-menu__button ${\n toastsEnabled\n ? 'dash-debug-menu__button--enabled'\n : ''\n }`}\n onClick={() =>\n this.setState({\n toastsEnabled: !toastsEnabled,\n })\n }\n >\n {toastsEnabled ? (\n <BellIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n ) : (\n <BellIconGrey className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n )}\n </div>\n <label className=\"dash-debug-menu__button-label\">\n Errors\n </label>\n </div>\n <div className=\"dash-debug-menu__button-container\">\n <div\n className=\"dash-debug-menu__button dash-debug-menu__button--small\"\n onClick={e => {\n e.stopPropagation();\n this.setState({opened: false});\n }}\n >\n <WhiteCloseIcon className=\"dash-debug-menu__icon--close\" />\n </div>\n </div>\n </div>\n ) : (\n <DebugIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--debug\" />\n );\n\n const alertsLabel =\n error.frontEnd.length + error.backEnd.length > 0 && !opened ? (\n <div className=\"dash-debug-alert-label\">\n <div className=\"dash-debug-alert\">\n 🛑  {error.frontEnd.length + error.backEnd.length}\n </div>\n </div>\n ) : null;\n\n return (\n <div>\n {alertsLabel}\n <div\n className={menuClasses}\n onClick={() => this.setState({opened: true})}\n >\n {menuContent}\n </div>\n <GlobalErrorOverlay\n error={error}\n visible={\n !(isEmpty(error.backEnd) && isEmpty(error.frontEnd))\n }\n toastsEnabled={toastsEnabled}\n >\n {this.props.children}\n </GlobalErrorOverlay>\n </div>\n );\n }\n}\n\nDebugMenu.propTypes = {\n children: PropTypes.object,\n error: PropTypes.object,\n dependenciesRequest: PropTypes.object,\n};\n\nexport {DebugMenu};\n","// Werkzeug css included as a string, because we want to inject\n// it into an iframe srcDoc\n\nexport default `\nbody {\n margin: 0px;\n margin-top: 10px;\n}\n\n.error-container {\n font-family: Roboto;\n}\n\n.traceback {\n background-color: white;\n border: 2px solid #dfe8f3;\n border-radius: 0px 0px 4px 4px;\n color: #506784;\n}\n\nh2.traceback {\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n border-bottom: 0px;\n box-sizing: border-box;\n border-radius: 4px 4px 0px 0px;\n color: #506784;\n}\n\nh2.traceback em {\n color: #506784;\n font-weight: 100;\n}\n\n.traceback pre, .debugger textarea {\n background-color: #F3F6FA;\n}\n\n.debugger h1 {\n color: #506784;\n font-family: Roboto;\n}\n\n.explanation {\n color: #A2B1C6;\n}\n\n/* Hide the Don't Panic! footer */\n.debugger .footer {\n display: none;\n}\n\n/* Hide all of the Dash traceback stuff that leads up to the call */\n.line.before {\n display: none;\n}\n\ndiv.debugger {\n padding: 0px;\n}\n\n.debugger h1 {\n display: none;\n}\n\n.debugger .errormsg {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-radius: 4px;\n padding: 10px;\n}\n\n.debugger .pastemessage input {\n display: none;\n}\n\n.debugger .explanation {\n display: none;\n}\n\n.debugger div.plain {\n border-radius: 4px;\n border-width: 2px;\n color: #506784;\n}\n\n.plain {\n display: block !important;\n}\n.plain > form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n`;\n","export const REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nexport const OAUTH_COOKIE_NAME = 'plotly_oauth_token';\n\nexport const STATUS = {\n OK: 200,\n PREVENT_UPDATE: 204,\n CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR',\n};\n","import {has, includes} from 'ramda';\n\nexport function propTypeErrorHandler(message, props, type) {\n /*\n * propType error messages are constructed in\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js\n * (Version 15.7.2)\n *\n * Parse these exception objects to remove JS source code and improve\n * the clarity.\n *\n * If wrong prop type was passed in, message looks like:\n *\n * Error: \"Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) {\n * var id = props.id ? props.id : generateId();\n * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, {\n * id: id\n * }));\n * }`, expected `boolean`.\"\n *\n *\n * If a required prop type was omitted, message looks like:\n *\n * \"Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) {\n * var _this;\n *\n * _classCallCheck(this, Checklist);\n *\n * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props));\n * _this.state = {\n * values: props.values\n * };\n * return _this;\n * }`, but its value is `undefined`.\"\n *\n */\n\n const messageParts = message.split('`');\n let errorMessage;\n if (includes('is marked as required', message)) {\n const invalidPropPath = messageParts[1];\n errorMessage = `${invalidPropPath} in ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += ` is required but it was not provided.`;\n } else if (includes('Bad object', message)) {\n /*\n * Handle .exact errors\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442\n */\n errorMessage =\n message.split('supplied to ')[0] +\n `supplied to ${type}` +\n '.\\nBad' +\n message.split('.\\nBad')[1];\n } else if (\n includes('Invalid ', message) &&\n includes(' supplied to ', message)\n ) {\n const invalidPropPath = messageParts[1];\n\n errorMessage = `Invalid argument \\`${invalidPropPath}\\` passed into ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += '.';\n\n /*\n * Not all error messages include the expected value.\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(', expected ', message)) {\n const expectedPropType = message.split(', expected ')[1];\n errorMessage += `\\nExpected ${expectedPropType}`;\n }\n\n /*\n * Not all error messages include the type\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(' of type `', message)) {\n const invalidPropTypeProvided = message\n .split(' of type `')[1]\n .split('`')[0];\n errorMessage += `\\nWas supplied type \\`${invalidPropTypeProvided}\\`.`;\n }\n\n if (has(invalidPropPath, props)) {\n /*\n * invalidPropPath may be nested like `options[0].value`.\n * For now, we won't try to unpack these nested options\n * but we could in the future.\n */\n const jsonSuppliedValue = JSON.stringify(\n props[invalidPropPath],\n null,\n 2\n );\n if (jsonSuppliedValue) {\n if (includes('\\n', jsonSuppliedValue)) {\n errorMessage += `\\nValue provided: \\n${jsonSuppliedValue}`;\n } else {\n errorMessage += `\\nValue provided: ${jsonSuppliedValue}`;\n }\n }\n }\n } else {\n /*\n * Not aware of other prop type warning messages.\n * But, if they exist, then at least throw the default\n * react prop types error\n */\n throw new Error(message);\n }\n\n throw new Error(errorMessage);\n}\n","import {DashRenderer} from './DashRenderer';\n\n// make DashRenderer globally available\nwindow.DashRenderer = DashRenderer;\n","import {includes, type} from 'ramda';\n\nconst SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean'];\n\nexport default component => includes(type(component), SIMPLE_COMPONENT_TYPES);\n","/**\n * Generalized persistence for component props\n *\n * When users input new prop values, they can be stored and reapplied later,\n * when the component is recreated (changing `Tab` for example) or when the\n * page is reloaded (depending on `persistence_type`) Storage is tied to\n * component ID and will not on with components without an ID.\n *\n * Renderer handles the mechanics, but components must define a few props:\n *\n * - `persistence`: boolean, string, or number. For simple usage, set to `true`\n * to enable persistence, omit or set `false` to disable. For more complex\n * scenarios, use any truthy value, and change to a *different* truthy value\n * when you want the persisted values cleared. (modeled off `uirevision` in)\n * plotly.js\n * Typically should have no default, but the other persistence props should\n * have defaults, so all a user needs to do to enable persistence is set this\n * one prop.\n *\n * - `persisted_props`: array of prop names or \"nested prop IDs\" allowed to\n * persist. Normally should default to the full list of supported props,\n * so they can all be enabled at once. The main exception to this is if\n * there's a prop that *can* be persisted but most users wouldn't want this.\n * A nested prop ID describes *part* of a prop to store. It must be\n * \"<propName>.<piece>\" where propName is the prop that has this info, and\n * piece may or may not map to the exact substructure being stored but is\n * meaningful to the user. For example, in `dash_table`, `columns.name`\n * stores `columns[i].name` for all columns `i`. Nested props also need\n * entries in `persistenceTransforms` - see below.\n *\n * - `persistence_type`: one of \"local\", \"session\", or \"memory\", just like\n * `dcc.Store`. But the default here should be \"local\" because the main use\n * case is to maintain settings across reloads.\n *\n * If any `persisted_props` are nested prop IDs, the component should define a\n * class property (not a React prop) `persistenceTransforms`, as an object:\n * {\n * [propName]: {\n * [piece]: {\n * extract: propValue => valueToStore,\n * apply: (storedValue, propValue) => newPropValue\n * }\n * }\n * }\n * - `extract` turns a prop value into a reduced value to store.\n * - `apply` puts an extracted value back into the prop. Make sure this creates\n * a new object rather than mutating `proValue`, and that if there are\n * multiple `piece` entries for one `propName`, their `apply` functions\n * commute - which should not be an issue if they extract and apply\n * non-intersecting parts of the full prop.\n * You only need to define these for the props that need them.\n * It's important that `extract` pulls out *only* the relevant pieces of the\n * prop, because persistence is only maintained if the extracted value of the\n * prop before applying persistence is the same as it was before the user's\n * changes.\n */\n\nimport {\n equals,\n filter,\n forEach,\n keys,\n lensPath,\n mergeRight,\n set,\n type,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\n\nimport Registry from './registry';\n\nexport const storePrefix = '_dash_persistence.';\n\nfunction err(e) {\n const error = typeof e === 'string' ? new Error(e) : e;\n\n /* eslint-disable no-console */\n // Send this to the console too, so it's still available with debug off\n console.error(e);\n /* eslint-disable no-console */\n\n return createAction('ON_ERROR')({\n myID: storePrefix,\n type: 'frontEnd',\n error,\n });\n}\n\n/*\n * Does a key fit this prefix? Must either be an exact match\n * or, if a separator is provided, a scoped match - exact prefix\n * followed by the separator (then anything else)\n */\nfunction keyPrefixMatch(prefix, separator) {\n const fullStr = prefix + separator;\n const fullLen = fullStr.length;\n return key => key === prefix || key.substr(0, fullLen) === fullStr;\n}\n\nconst UNDEFINED = 'U';\nconst _parse = val => (val === UNDEFINED ? undefined : JSON.parse(val || null));\nconst _stringify = val => (val === undefined ? UNDEFINED : JSON.stringify(val));\n\nclass WebStore {\n constructor(backEnd) {\n this._name = backEnd;\n this._storage = window[backEnd];\n }\n\n hasItem(key) {\n return this._storage.getItem(storePrefix + key) !== null;\n }\n\n getItem(key) {\n // note: _storage.getItem returns null on missing keys\n // and JSON.parse(null) returns null as well\n return _parse(this._storage.getItem(storePrefix + key));\n }\n\n _setItem(key, value) {\n // unprotected version of setItem, for use by tryGetWebStore\n this._storage.setItem(storePrefix + key, _stringify(value));\n }\n /*\n * In addition to the regular key->value to set, setItem takes\n * dispatch as a parameter, so it can report OOM to devtools\n */\n setItem(key, value, dispatch) {\n try {\n this._setItem(key, value);\n } catch (e) {\n dispatch(\n err(\n `${key} failed to save in ${this._name}. Persisted props may be lost.`\n )\n );\n // TODO: at some point we may want to convert this to fall back\n // on memory, pulling out all persistence keys and putting them\n // in a MemStore that gets used from then onward.\n }\n }\n\n removeItem(key) {\n this._storage.removeItem(storePrefix + key);\n }\n\n /*\n * clear matching keys matching (optionally followed by a dot and more\n * characters) - or all keys associated with this store if no prefix.\n */\n clear(keyPrefix) {\n const fullPrefix = storePrefix + (keyPrefix || '');\n const keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : '');\n const keysToRemove = [];\n // 2-step process, so we don't depend on any particular behavior of\n // key order while removing some\n for (let i = 0; i < this._storage.length; i++) {\n const fullKey = this._storage.key(i);\n if (keyMatch(fullKey)) {\n keysToRemove.push(fullKey);\n }\n }\n forEach(k => this._storage.removeItem(k), keysToRemove);\n }\n}\n\nclass MemStore {\n constructor() {\n this._data = {};\n }\n\n hasItem(key) {\n return key in this._data;\n }\n\n getItem(key) {\n // run this storage through JSON too so we know we get a fresh object\n // each retrieval\n return _parse(this._data[key]);\n }\n\n setItem(key, value) {\n this._data[key] = _stringify(value);\n }\n\n removeItem(key) {\n delete this._data[key];\n }\n\n clear(keyPrefix) {\n if (keyPrefix) {\n forEach(\n key => delete this._data[key],\n filter(keyPrefixMatch(keyPrefix, '.'), keys(this._data))\n );\n } else {\n this._data = {};\n }\n }\n}\n\n// Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage.\n// That should be plenty for common persistence use cases,\n// without getting anywhere near typical browser limits\nconst pow = 16;\nfunction longString() {\n let s = 'Spam';\n for (let i = 2; i < pow; i++) {\n s += s;\n }\n return s;\n}\n\nexport const stores = {\n memory: new MemStore(),\n // Defer testing & making local/session stores until requested.\n // That way if we have errors here they can show up in devtools.\n};\n\nconst backEnds = {\n local: 'localStorage',\n session: 'sessionStorage',\n};\n\nfunction tryGetWebStore(backEnd, dispatch) {\n const store = new WebStore(backEnd);\n const fallbackStore = stores.memory;\n const storeTest = longString();\n const testKey = storePrefix + 'x.x';\n try {\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n dispatch(\n err(`${backEnd} init failed set/get, falling back to memory`)\n );\n return fallbackStore;\n }\n store.removeItem(testKey);\n return store;\n } catch (e) {\n dispatch(\n err(`${backEnd} init first try failed; clearing and retrying`)\n );\n }\n try {\n store.clear();\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n throw new Error('nope');\n }\n store.removeItem(testKey);\n dispatch(err(`${backEnd} init set/get succeeded after clearing!`));\n return store;\n } catch (e) {\n dispatch(err(`${backEnd} init still failed, falling back to memory`));\n return fallbackStore;\n }\n}\n\nfunction getStore(type, dispatch) {\n if (!stores[type]) {\n stores[type] = tryGetWebStore(backEnds[type], dispatch);\n }\n return stores[type];\n}\n\nconst noopTransform = {\n extract: propValue => propValue,\n apply: (storedValue, _propValue) => storedValue,\n};\n\nconst getTransform = (element, propName, propPart) =>\n propPart\n ? element.persistenceTransforms[propName][propPart]\n : noopTransform;\n\nconst getValsKey = (id, persistedProp, persistence) =>\n `${id}.${persistedProp}.${JSON.stringify(persistence)}`;\n\nconst getProps = layout => {\n const {props, type, namespace} = layout;\n if (!type || !namespace) {\n // not a real component - just need the props for recursion\n return {props};\n }\n const {id, persistence} = props;\n\n const element = Registry.resolve(layout);\n const getVal = prop => props[prop] || (element.defaultProps || {})[prop];\n const persisted_props = getVal('persisted_props');\n const persistence_type = getVal('persistence_type');\n const canPersist = id && persisted_props && persistence_type;\n\n return {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n };\n};\n\nexport function recordUiEdit(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(layout);\n if (!canPersist || !persistence) {\n return;\n }\n\n forEach(persistedProp => {\n const [propName, propPart] = persistedProp.split('.');\n if (newProps[propName]) {\n const storage = getStore(persistence_type, dispatch);\n const {extract} = getTransform(element, propName, propPart);\n\n const valsKey = getValsKey(id, persistedProp, persistence);\n let originalVal = extract(props[propName]);\n const newVal = extract(newProps[propName]);\n\n // mainly for nested props with multiple persisted parts, it's\n // possible to have the same value as before - should not store\n // in this case.\n if (originalVal !== newVal) {\n if (storage.hasItem(valsKey)) {\n originalVal = storage.getItem(valsKey)[1];\n }\n const vals =\n originalVal === undefined\n ? [newVal]\n : [newVal, originalVal];\n storage.setItem(valsKey, vals, dispatch);\n }\n }\n }, persisted_props);\n}\n\n/*\n * Used for entire layouts (on load) or partial layouts (from children\n * callbacks) to apply previously-stored UI edits to components\n */\nexport function applyPersistence(layout, dispatch) {\n if (type(layout) !== 'Object' || !layout.props) {\n return layout;\n }\n\n return persistenceMods(layout, layout, [], dispatch);\n}\n\nconst UNDO = true;\nfunction modProp(key, storage, element, props, persistedProp, update, undo) {\n if (storage.hasItem(key)) {\n const [newVal, originalVal] = storage.getItem(key);\n const fromVal = undo ? newVal : originalVal;\n const toVal = undo ? originalVal : newVal;\n const [propName, propPart] = persistedProp.split('.');\n const transform = getTransform(element, propName, propPart);\n\n if (equals(fromVal, transform.extract(props[propName]))) {\n update[propName] = transform.apply(\n toVal,\n propName in update ? update[propName] : props[propName]\n );\n } else {\n // clear this saved edit - we've started with the wrong\n // value for this persistence ID\n storage.removeItem(key);\n }\n }\n}\n\nfunction persistenceMods(layout, component, path, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(component);\n\n let layoutOut = layout;\n if (canPersist && persistence) {\n const storage = getStore(persistence_type, dispatch);\n const update = {};\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update\n ),\n persisted_props\n );\n\n for (const propName in update) {\n layoutOut = set(\n lensPath(path.concat('props', propName)),\n update[propName],\n layoutOut\n );\n }\n }\n\n // recurse inward\n const {children} = props;\n if (Array.isArray(children)) {\n children.forEach((child, i) => {\n if (type(child) === 'Object' && child.props) {\n layoutOut = persistenceMods(\n layoutOut,\n child,\n path.concat('props', 'children', i),\n dispatch\n );\n }\n });\n } else if (type(children) === 'Object' && children.props) {\n layoutOut = persistenceMods(\n layoutOut,\n children,\n path.concat('props', 'children'),\n dispatch\n );\n }\n return layoutOut;\n}\n\n/*\n * When we receive new explicit props from a callback,\n * these override UI-driven edits of those exact props\n * but not for props nested inside children\n */\nexport function prunePersistence(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n persistence,\n persisted_props,\n persistence_type,\n element,\n } = getProps(layout);\n\n const getFinal = (propName, prevVal) =>\n propName in newProps ? newProps[propName] : prevVal;\n const finalPersistence = getFinal('persistence', persistence);\n\n if (!canPersist || !(persistence || finalPersistence)) {\n return newProps;\n }\n\n const finalPersistenceType = getFinal('persistence_type', persistence_type);\n const finalPersistedProps = getFinal('persisted_props', persisted_props);\n const persistenceChanged =\n finalPersistence !== persistence ||\n finalPersistenceType !== persistence_type ||\n finalPersistedProps !== persisted_props;\n\n const notInNewProps = persistedProp =>\n !(persistedProp.split('.')[0] in newProps);\n\n const update = {};\n\n let depersistedProps = props;\n\n if (persistenceChanged && persistence) {\n // clear previously-applied persistence\n const storage = getStore(persistence_type, dispatch);\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update,\n UNDO\n ),\n filter(notInNewProps, persisted_props)\n );\n depersistedProps = mergeRight(props, update);\n }\n\n if (finalPersistence) {\n const finalStorage = getStore(finalPersistenceType, dispatch);\n\n if (persistenceChanged) {\n // apply new persistence\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, finalPersistence),\n finalStorage,\n element,\n depersistedProps,\n persistedProp,\n update\n ),\n filter(notInNewProps, finalPersistedProps)\n );\n }\n\n // now the main point - clear any edit of a prop that changed\n // note that this is independent of the new prop value.\n const transforms = element.persistenceTransforms || {};\n for (const propName in newProps) {\n const propTransforms = transforms[propName];\n if (propTransforms) {\n for (const propPart in propTransforms) {\n finalStorage.removeItem(\n getValsKey(\n id,\n `${propName}.${propPart}`,\n finalPersistence\n )\n );\n }\n } else {\n finalStorage.removeItem(\n getValsKey(id, propName, finalPersistence)\n );\n }\n }\n }\n return persistenceChanged ? mergeRight(newProps, update) : newProps;\n}\n","import {assoc, assocPath, mergeRight} from 'ramda';\n\nexport default function createApiReducer(store) {\n return function ApiReducer(state = {}, action) {\n let newState = state;\n if (action.type === store) {\n const {id, status, content} = action.payload;\n const newRequest = {status, content};\n if (Array.isArray(id)) {\n newState = assocPath(id, newRequest, state);\n } else if (id) {\n newState = assoc(id, newRequest, state);\n } else {\n newState = mergeRight(state, newRequest);\n }\n }\n return newState;\n };\n}\n","import {getAction} from '../actions/constants';\nimport {getAppState} from './constants';\n\nfunction appLifecycle(state = getAppState('STARTED'), action) {\n switch (action.type) {\n case getAction('SET_APP_LIFECYCLE'):\n return getAppState(action.payload);\n default:\n return state;\n }\n}\n\nexport default appLifecycle;\n","import {getAction} from '../actions/constants';\n\nexport default function config(state = null, action) {\n if (action.type === getAction('SET_CONFIG')) {\n return action.payload;\n }\n return state;\n}\n","export function getAppState(state) {\n const stateList = {\n STARTED: 'STARTED',\n HYDRATED: 'HYDRATED',\n };\n if (stateList[state]) {\n return stateList[state];\n }\n throw new Error(`${state} is not a valid app state.`);\n}\n","import {type} from 'ramda';\nimport {DepGraph} from 'dependency-graph';\nimport {isMultiOutputProp, parseMultipleOutputs} from '../utils';\n\nconst initialGraph = {};\n\nconst graphs = (state = initialGraph, action) => {\n switch (action.type) {\n case 'COMPUTE_GRAPHS': {\n const dependencies = action.payload;\n const inputGraph = new DepGraph();\n const multiGraph = new DepGraph();\n\n dependencies.forEach(function registerDependency(dependency) {\n const {output, inputs} = dependency;\n\n // Multi output supported will be a string already\n // Backward compatibility by detecting object.\n let outputId;\n if (type(output) === 'Object') {\n outputId = `${output.id}.${output.property}`;\n } else {\n outputId = output;\n if (isMultiOutputProp(output)) {\n parseMultipleOutputs(output).forEach(out => {\n multiGraph.addNode(out);\n inputs.forEach(i => {\n const inputId = `${i.id}.${i.property}`;\n if (!multiGraph.hasNode(inputId)) {\n multiGraph.addNode(inputId);\n }\n multiGraph.addDependency(inputId, out);\n });\n });\n } else {\n multiGraph.addNode(output);\n inputs.forEach(i => {\n const inputId = `${i.id}.${i.property}`;\n if (!multiGraph.hasNode(inputId)) {\n multiGraph.addNode(inputId);\n }\n multiGraph.addDependency(inputId, output);\n });\n }\n }\n\n inputs.forEach(inputObject => {\n const inputId = `${inputObject.id}.${inputObject.property}`;\n inputGraph.addNode(outputId);\n if (!inputGraph.hasNode(inputId)) {\n inputGraph.addNode(inputId);\n }\n inputGraph.addDependency(inputId, outputId);\n });\n });\n\n return {InputGraph: inputGraph, MultiGraph: multiGraph};\n }\n\n default:\n return state;\n }\n};\n\nexport default graphs;\n","import {mergeRight} from 'ramda';\n\nconst initialError = {\n frontEnd: [],\n backEnd: [],\n};\n\nexport default function error(state = initialError, action) {\n switch (action.type) {\n case 'ON_ERROR': {\n if (action.payload.type === 'frontEnd') {\n return {\n frontEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.frontEnd,\n ],\n backEnd: state.backEnd,\n };\n } else if (action.payload.type === 'backEnd') {\n return {\n frontEnd: state.frontEnd,\n backEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.backEnd,\n ],\n };\n }\n return state;\n }\n\n default: {\n return state;\n }\n }\n}\n","const initialHistory = {\n past: [],\n present: {},\n future: [],\n};\n\nfunction history(state = initialHistory, action) {\n switch (action.type) {\n case 'UNDO': {\n const {past, present, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present, ...future],\n };\n }\n\n case 'REDO': {\n const {past, present, future} = state;\n const next = future[0];\n const newFuture = future.slice(1);\n return {\n past: [...past, present],\n present: next,\n future: newFuture,\n };\n }\n\n case 'REVERT': {\n const {past, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [...future],\n };\n }\n\n default: {\n return state;\n }\n }\n}\n\nexport default history;\n","const customHooks = (\n state = {request_pre: null, request_post: null, bear: false},\n action\n) => {\n switch (action.type) {\n case 'SET_HOOKS':\n return action.payload;\n default:\n return state;\n }\n};\n\nexport default customHooks;\n","import {append, assocPath, includes, lensPath, mergeRight, view} from 'ramda';\n\nimport {getAction} from '../actions/constants';\n\nconst layout = (state = {}, action) => {\n if (action.type === getAction('SET_LAYOUT')) {\n return action.payload;\n } else if (\n includes(action.type, [\n 'UNDO_PROP_CHANGE',\n 'REDO_PROP_CHANGE',\n getAction('ON_PROP_CHANGE'),\n ])\n ) {\n const propPath = append('props', action.payload.itempath);\n const existingProps = view(lensPath(propPath), state);\n const mergedProps = mergeRight(existingProps, action.payload.props);\n return assocPath(propPath, mergedProps, state);\n }\n\n return state;\n};\n\nexport default layout;\n","import {crawlLayout, hasPropsId} from './utils';\nimport {\n concat,\n equals,\n filter,\n isEmpty,\n isNil,\n keys,\n mergeRight,\n omit,\n slice,\n} from 'ramda';\nimport {getAction} from '../actions/constants';\n\nconst initialPaths = null;\n\nconst paths = (state = initialPaths, action) => {\n switch (action.type) {\n case getAction('COMPUTE_PATHS'): {\n const {subTree, startingPath} = action.payload;\n let oldState = state;\n if (isNil(state)) {\n oldState = {};\n }\n let newState;\n\n // if we're updating a subtree, clear out all of the existing items\n if (!isEmpty(startingPath)) {\n const removeKeys = filter(\n k =>\n equals(\n startingPath,\n slice(0, startingPath.length, oldState[k])\n ),\n keys(oldState)\n );\n newState = omit(removeKeys, oldState);\n } else {\n newState = mergeRight({}, oldState);\n }\n\n crawlLayout(subTree, function assignPath(child, itempath) {\n if (hasPropsId(child)) {\n newState[child.props.id] = concat(startingPath, itempath);\n }\n });\n\n return newState;\n }\n\n default: {\n return state;\n }\n }\n};\n\nexport default paths;\n","'use strict';\nimport {\n concat,\n equals,\n filter,\n forEach,\n isEmpty,\n keys,\n lensPath,\n view,\n} from 'ramda';\nimport {combineReducers} from 'redux';\nimport layout from './layout';\nimport graphs from './dependencyGraph';\nimport paths from './paths';\nimport requestQueue from './requestQueue';\nimport appLifecycle from './appLifecycle';\nimport history from './history';\nimport error from './error';\nimport hooks from './hooks';\nimport createApiReducer from './api';\nimport config from './config';\n\nexport const apiRequests = [\n 'dependenciesRequest',\n 'layoutRequest',\n 'reloadRequest',\n 'loginRequest',\n];\n\nfunction mainReducer() {\n const parts = {\n appLifecycle,\n layout,\n graphs,\n paths,\n requestQueue,\n config,\n history,\n error,\n hooks,\n };\n forEach(r => {\n parts[r] = createApiReducer(r);\n }, apiRequests);\n\n return combineReducers(parts);\n}\n\nfunction getInputHistoryState(itempath, props, state) {\n const {graphs, layout, paths} = state;\n const {InputGraph} = graphs;\n const keyObj = filter(equals(itempath), paths);\n let historyEntry;\n if (!isEmpty(keyObj)) {\n const id = keys(keyObj)[0];\n historyEntry = {id, props: {}};\n keys(props).forEach(propKey => {\n const inputKey = `${id}.${propKey}`;\n if (\n InputGraph.hasNode(inputKey) &&\n InputGraph.dependenciesOf(inputKey).length > 0\n ) {\n historyEntry.props[propKey] = view(\n lensPath(concat(paths[id], ['props', propKey])),\n layout\n );\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function(state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE') {\n const {itempath, props} = action.payload;\n const historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n const nextState = reducer(state, action);\n\n if (\n action.type === 'ON_PROP_CHANGE' &&\n action.payload.source !== 'response'\n ) {\n const {itempath, props} = action.payload;\n /*\n * if the prop change is an input, then\n * record it so that it can be played back\n */\n const historyEntry = getInputHistoryState(\n itempath,\n props,\n nextState\n );\n if (historyEntry && !isEmpty(historyEntry.props)) {\n nextState.history = {\n past: [...nextState.history.past, state.history.present],\n present: historyEntry,\n future: [],\n };\n }\n }\n\n return nextState;\n };\n}\n\nfunction reloaderReducer(reducer) {\n return function(state, action) {\n const {history, config, hooks} = state || {};\n let newState = state;\n if (action.type === 'RELOAD') {\n newState = {history, config, hooks};\n } else if (action.type === 'SET_CONFIG') {\n // new config also reloads, and even clears history,\n // in case there's a new user or even a totally different app!\n // hooks are set at an even higher level than config though.\n newState = {hooks};\n }\n return reducer(newState, action);\n };\n}\n\nexport function createReducer() {\n return reloaderReducer(recordHistory(mainReducer()));\n}\n","import {clone} from 'ramda';\n\nconst requestQueue = (state = [], action) => {\n switch (action.type) {\n case 'SET_REQUEST_QUEUE':\n return clone(action.payload);\n\n default:\n return state;\n }\n};\n\nexport default requestQueue;\n","import {\n allPass,\n append,\n compose,\n flip,\n has,\n is,\n prop,\n reduce,\n type,\n} from 'ramda';\n\nconst extend = reduce(flip(append));\n\nconst hasProps = allPass([is(Object), has('props')]);\n\nexport const hasPropsId = allPass([\n hasProps,\n compose(\n has('id'),\n prop('props')\n ),\n]);\n\nexport const hasPropsChildren = allPass([\n hasProps,\n compose(\n has('children'),\n prop('props')\n ),\n]);\n\n// crawl a layout object, apply a function on every object\nexport const crawlLayout = (object, func, path = []) => {\n func(object, path);\n\n /*\n * object may be a string, a number, or null\n * R.has will return false for both of those types\n */\n if (hasPropsChildren(object)) {\n const newPath = extend(path, ['props', 'children']);\n if (Array.isArray(object.props.children)) {\n object.props.children.forEach((child, i) => {\n crawlLayout(child, func, append(i, newPath));\n });\n } else {\n crawlLayout(object.props.children, func, newPath);\n }\n } else if (is(Array, object)) {\n /*\n * Sometimes when we're updating a sub-tree\n * (like when we're responding to a callback)\n * that returns `{children: [{...}, {...}]}`\n * then we'll need to start crawling from\n * an array instead of an object.\n */\n\n object.forEach((child, i) => {\n crawlLayout(child, func, append(i, path));\n });\n }\n};\n\nexport function hasId(child) {\n return (\n type(child) === 'Object' &&\n has('props', child) &&\n has('id', child.props)\n );\n}\n","'use strict';\n\nexport default {\n resolve: component => {\n const {type, namespace} = component;\n\n const ns = window[namespace]; /* global window: true */\n\n if (ns) {\n if (ns[type]) {\n return ns[type];\n }\n\n throw new Error(`Component ${type} not found in ${namespace}`);\n }\n\n throw new Error(`${namespace} was not found.`);\n },\n};\n","/* global module, require */\n\nimport {createStore, applyMiddleware} from 'redux';\nimport thunk from 'redux-thunk';\nimport {createReducer} from './reducers/reducer';\n\nlet store;\n\n/**\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\n *\n * @param {bool} reset: discard any previous store\n *\n * @returns {Store<GenericStoreEnhancer>}\n * An initialized redux store with middleware and possible hot reloading of reducers\n */\nconst initializeStore = reset => {\n if (store && !reset) {\n return store;\n }\n\n const reducer = createReducer();\n\n // only attach logger to middleware in non-production mode\n store =\n process.env.NODE_ENV === 'production' // eslint-disable-line no-process-env\n ? createStore(reducer, applyMiddleware(thunk))\n : createStore(\n reducer,\n window.__REDUX_DEVTOOLS_EXTENSION__ &&\n window.__REDUX_DEVTOOLS_EXTENSION__(),\n applyMiddleware(thunk)\n );\n\n if (!reset) {\n // TODO - Protect this under a debug mode?\n window.store = store; /* global window:true */\n }\n\n if (module.hot) {\n // Enable hot module replacement for reducers\n module.hot.accept('./reducers/reducer', () => {\n const nextRootReducer = require('./reducers/reducer').createReducer();\n\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n};\n\nexport default initializeStore;\n","import {has, type} from 'ramda';\n\n/*\n * requests_pathname_prefix is the new config parameter introduced in\n * dash==0.18.0. The previous versions just had url_base_pathname\n */\nexport function urlBase(config) {\n const hasUrlBase = has('url_base_pathname', config);\n const hasReqPrefix = has('requests_pathname_prefix', config);\n if (type(config) !== 'Object' || (!hasUrlBase && !hasReqPrefix)) {\n throw new Error(\n `\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in \\`config\\`. \\`config\\` is: `,\n config\n );\n }\n\n const base = hasReqPrefix\n ? config.requests_pathname_prefix\n : config.url_base_pathname;\n\n return base.charAt(base.length - 1) === '/' ? base : base + '/';\n}\n\nexport function uid() {\n function s4() {\n const h = 0x10000;\n return Math.floor((1 + Math.random()) * h)\n .toString(16)\n .substring(1);\n }\n return (\n s4() +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4()\n );\n}\n\nexport function isMultiOutputProp(outputIdAndProp) {\n /*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\n\n return outputIdAndProp.startsWith('..');\n}\n\nexport function parseMultipleOutputs(outputIdAndProp) {\n /*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\n return outputIdAndProp.split('...').map(o => o.replace('..', ''));\n}\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","(function() { module.exports = window[\"PropTypes\"]; }());","(function() { module.exports = window[\"React\"]; }());","(function() { module.exports = window[\"ReactDOM\"]; }());"],"sourceRoot":""} \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js b/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js deleted file mode 100644 index 25f1767d..00000000 --- a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js +++ /dev/null @@ -1,21 +0,0 @@ -window.dash_renderer=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=58)}([function(e,t){e.exports=window.React},function(e,t){e.exports=window.PropTypes},,function(e,t,r){"use strict";t.__esModule=!0,t.connect=t.Provider=void 0;var n=i(r(60)),o=i(r(61));function i(e){return e&&e.__esModule?e:{default:e}}t.Provider=n.default,t.connect=o.default},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(r(78)),i=n(r(18)),a=n(r(84));t.createAction=o.default,t.handleAction=i.default,t.handleActions=a.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(r)return[e,t];return e},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&n.test(e)};var n=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return g}));var n=r(29),o=r.n(n),i=r(30),a=r.n(i),s=r(10),u=r.n(s),c=r(31),f=r(44),l=r(11),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d=o()(c.a),y=a()(f.a,d);var h=void 0,m=void 0;function v(t){var r=t||e&&e.navigator&&e.navigator.userAgent;return m&&r===h||(m="all"===r?{prefix:d,prefixedKeyframes:"keyframes"}:new y({userAgent:r}),h=r),m}function b(e){return v(e).prefixedKeyframes||"keyframes"}function g(e,t){var r=function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return Array.isArray(n)?n=n.join(";"+r+":"):n&&"object"===(void 0===n?"undefined":p(n))&&"function"==typeof n.toString&&(n=n.toString()),t[r]=n,t}),{})}(e);return function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return Array.isArray(n)&&(n=u.a.canUseDOM?n[n.length-1].toString():n.join(";"+Object(l.a)(r)+":")),t[r]=n,t}),{})}(v(t).prefix(r))}}).call(this,r(9))},function(e,t,r){"use strict";r.r(t);var n=r(26),o="object"==typeof self&&self&&self.Object===Object&&self,i=(n.a||o||Function("return this")()).Symbol,a=Object.prototype,s=a.hasOwnProperty,u=a.toString,c=i?i.toStringTag:void 0;var f=function(e){var t=s.call(e,c),r=e[c];try{e[c]=void 0;var n=!0}catch(e){}var o=u.call(e);return n&&(t?e[c]=r:delete e[c]),o},l=Object.prototype.toString;var p=function(e){return l.call(e)},d="[object Null]",y="[object Undefined]",h=i?i.toStringTag:void 0;var m=function(e){return null==e?void 0===e?y:d:h&&h in Object(e)?f(e):p(e)};var v=function(e,t){return function(r){return e(t(r))}}(Object.getPrototypeOf,Object);var b=function(e){return null!=e&&"object"==typeof e},g="[object Object]",_=Function.prototype,w=Object.prototype,O=_.toString,S=w.hasOwnProperty,x=O.call(Object);var k=function(e){if(!b(e)||m(e)!=g)return!1;var t=v(e);if(null===t)return!0;var r=S.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&O.call(r)==x},j=r(13),P={INIT:"@@redux/INIT"};function E(e,t,r){var n;if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw new Error("Expected the enhancer to be a function.");return r(E)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var o=e,i=t,a=[],s=a,u=!1;function c(){s===a&&(s=a.slice())}function f(){return i}function l(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return c(),s.push(e),function(){if(t){t=!1,c();var r=s.indexOf(e);s.splice(r,1)}}}function p(e){if(!k(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw new Error("Reducers may not dispatch actions.");try{u=!0,i=o(i,e)}finally{u=!1}for(var t=a=s,r=0;r<t.length;r++){(0,t[r])()}return e}return p({type:P.INIT}),(n={dispatch:p,subscribe:l,getState:f,replaceReducer:function(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");o=e,p({type:P.INIT})}})[j.a]=function(){var e,t=l;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Expected the observer to be an object.");function r(){e.next&&e.next(f())}return r(),{unsubscribe:t(r)}}})[j.a]=function(){return this},e},n}function T(e,t){var r=t&&t.type;return"Given action "+(r&&'"'+r.toString()+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function C(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var o=t[n];0,"function"==typeof e[o]&&(r[o]=e[o])}var i=Object.keys(r);var a=void 0;try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(void 0===r(void 0,{type:P.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===r(void 0,{type:"@@redux/PROBE_UNKNOWN_ACTION_"+Math.random().toString(36).substring(7).split("").join(".")}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+P.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')}))}(r)}catch(e){a=e}return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(a)throw a;for(var n=!1,o={},s=0;s<i.length;s++){var u=i[s],c=r[u],f=e[u],l=c(f,t);if(void 0===l){var p=T(u,t);throw new Error(p)}o[u]=l,n=n||l!==f}return n?o:e}}function A(e,t){return function(){return t(e.apply(void 0,arguments))}}function R(e,t){if("function"==typeof e)return A(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');for(var r=Object.keys(e),n={},o=0;o<r.length;o++){var i=r[o],a=e[i];"function"==typeof a&&(n[i]=A(a,t))}return n}function M(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}var I=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};function D(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return function(r,n,o){var i,a=e(r,n,o),s=a.dispatch,u={getState:a.getState,dispatch:function(e){return s(e)}};return i=t.map((function(e){return e(u)})),s=M.apply(void 0,i)(a.dispatch),I({},a,{dispatch:s})}}}r.d(t,"createStore",(function(){return E})),r.d(t,"combineReducers",(function(){return C})),r.d(t,"bindActionCreators",(function(){return R})),r.d(t,"applyMiddleware",(function(){return D})),r.d(t,"compose",(function(){return M}))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){var n; -/*! - Copyright (c) 2015 Jed Watson. - Based on code that is Copyright 2013-2015, Facebook, Inc. - All rights reserved. -*/!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=/([a-z])?([A-Z])/g,o=function(e,t,r){return(t||"")+"-"+r.toLowerCase()},i=function(e){return e.replace(n,o)};t.b=function(e){return Object.keys(e).reduce((function(t,r){var n=i(r);return/^ms-/.test(n)&&(n="-"+n),t[n]=e[r],t}),{})}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.exports=t.default},function(e,t,r){"use strict";(function(e,n){var o,i=r(25);o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:n;var a=Object(i.a)(o);t.a=a}).call(this,r(9),r(64)(e))},function(e,t){function r(e,t,r){var n=[],o={};return function i(a){o[a]=!0,n.push(a),e[a].forEach((function(e){if(o[e]){if(n.indexOf(e)>=0)throw n.push(e),new Error("Dependency Cycle Found: "+n.join(" -> "))}else i(e)})),n.pop(),t&&0!==e[a].length||-1!==r.indexOf(a)||r.push(a)}}(t.DepGraph=function(){this.nodes={},this.outgoingEdges={},this.incomingEdges={}}).prototype={addNode:function(e,t){this.hasNode(e)||(2===arguments.length?this.nodes[e]=t:this.nodes[e]=e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach((function(t){Object.keys(t).forEach((function(r){var n=t[r].indexOf(e);n>=0&&t[r].splice(n,1)}),this)})))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var r;this.hasNode(e)&&(r=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(r,1),this.hasNode(t)&&(r=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(r,1)},dependenciesOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.outgoingEdges,t,n)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.incomingEdges,t,n)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;var i=r(this.outgoingEdges,!1,[]);o.forEach((function(e){i(e)}));var a=r(this.outgoingEdges,e,n);return o.filter((function(e){return 0===t.incomingEdges[e].length})).forEach((function(e){a(e)})),n}}},function(e,t,r){"use strict";t.__esModule=!0;var n,o=r(1),i=(n=o)&&n.__esModule?n:{default:n};t.default=i.default.shape({subscribe:i.default.func.isRequired,dispatch:i.default.func.isRequired,getState:i.default.func.isRequired})},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(e);try{throw new Error(e)}catch(e){}}},function(e,t,r){var n=r(67).Symbol;e.exports=n},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e,t){return function(r,i){if(i.type!==e)return r;var a=n.isError(i)?"throw":"next";o(t)&&(t.next=t.throw=t);var s=t[a];return o(s)?s(r,i):r}};var n=r(79);function o(e){return"function"==typeof e}e.exports=t.default},function(e,t){var r=9007199254740991,n="[object Arguments]",o="[object Function]",i="[object GeneratorFunction]",a=Object.prototype,s=a.hasOwnProperty,u=a.toString,c=a.propertyIsEnumerable;e.exports=function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&function(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=r}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?u.call(e):"";return t==o||t==i}(e)}(e)}(e)&&s.call(e,"callee")&&(!c.call(e,"callee")||u.call(e)==n)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,o){for(var i=0,a=e.length;i<a;++i){var s=e[i](t,r,n,o);if(s)return s}},e.exports=t.default},function(e,t,r){"use strict";function n(e,t){-1===e.indexOf(t)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(t))for(var r=0,o=t.length;r<o;++r)n(e,t[r]);else n(e,t)},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Object&&!Array.isArray(e)},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e)};var n,o=r(92),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t){e.exports=window.ReactDOM},function(e,t,r){"use strict";function n(e){var t,r=e.Symbol;return"function"==typeof r?r.observable?t=r.observable:(t=r("observable"),r.observable=t):t="@@observable",t}r.d(t,"a",(function(){return n}))},function(e,t,r){"use strict";(function(e){var r="object"==typeof e&&e&&e.Object===Object&&e;t.a=r}).call(this,r(9))},function(e,t,r){"use strict"; -/*! - * cookie - * Copyright(c) 2012-2014 Roman Shtylman - * Copyright(c) 2015 Douglas Christopher Wilson - * MIT Licensed - */t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},o=t||{},a=e.split(i),u=o.decode||n,c=0;c<a.length;c++){var f=a[c],l=f.indexOf("=");if(!(l<0)){var p=f.substr(0,l).trim(),d=f.substr(++l,f.length).trim();'"'==d[0]&&(d=d.slice(1,-1)),null==r[p]&&(r[p]=s(d,u))}}return r},t.serialize=function(e,t,r){var n=r||{},i=n.encode||o;if("function"!=typeof i)throw new TypeError("option encode is invalid");if(!a.test(e))throw new TypeError("argument name is invalid");var s=i(t);if(s&&!a.test(s))throw new TypeError("argument val is invalid");var u=e+"="+s;if(null!=n.maxAge){var c=n.maxAge-0;if(isNaN(c))throw new Error("maxAge should be a Number");u+="; Max-Age="+Math.floor(c)}if(n.domain){if(!a.test(n.domain))throw new TypeError("option domain is invalid");u+="; Domain="+n.domain}if(n.path){if(!a.test(n.path))throw new TypeError("option path is invalid");u+="; Path="+n.path}if(n.expires){if("function"!=typeof n.expires.toUTCString)throw new TypeError("option expires is invalid");u+="; Expires="+n.expires.toUTCString()}n.httpOnly&&(u+="; HttpOnly");n.secure&&(u+="; Secure");if(n.sameSite){switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:u+="; SameSite=Strict";break;case"lax":u+="; SameSite=Lax";break;case"strict":u+="; SameSite=Strict";break;default:throw new TypeError("option sameSite is invalid")}}return u};var n=decodeURIComponent,o=encodeURIComponent,i=/; */,a=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function s(e,t){try{return t(e)}catch(t){return e}}},function(e,t,r){var n;window,e.exports=(n=r(0),function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=n},function(e,t,r){"use strict";r.r(t);var n=r(0),o=function(e,t){var r,o={isReady:new Promise((function(e){r=e})),get:Object(n.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(r(!0));case 2:o.isReady=!0;case 3:case"end":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},i=function(e){return e&&e._dashprivate_isLazyComponentReady};r.d(t,"asyncDecorator",(function(){return o})),r.d(t,"isReady",(function(){return i}))}]))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.prefixMap,r=e.plugins;return function e(s){for(var u in s){var c=s[u];if((0,a.default)(c))s[u]=e(c);else if(Array.isArray(c)){for(var f=[],l=0,p=c.length;l<p;++l){var d=(0,o.default)(r,u,c[l],s,t);(0,i.default)(f,d||c[l])}f.length>0&&(s[u]=f)}else{var y=(0,o.default)(r,u,c,s,t);y&&(s[u]=y),s=(0,n.default)(t,u,s)}}return s}};var n=s(r(87)),o=s(r(20)),i=s(r(21)),a=s(r(22));function s(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.default=function(e){var t=e.prefixMap,r=e.plugins,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e);var n="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=r.userAgent||n,this._keepUnprefixed=r.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,o.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,i.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var a=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(a){for(var s in this._requiresPrefix={},a)a[s]>=this._browserInfo.browserVersion&&(this._requiresPrefix[s]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return n(e,[{key:"prefix",value:function(e){return this._useFallback?f(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:"_prefixStyle",value:function(e){for(var t in e){var n=e[t];if((0,u.default)(n))e[t]=this.prefix(n);else if(Array.isArray(n)){for(var o=[],i=0,f=n.length;i<f;++i){var l=(0,c.default)(r,t,n[i],e,this._metaData);(0,s.default)(o,l||n[i])}o.length>0&&(e[t]=o)}else{var p=(0,c.default)(r,t,n,e,this._metaData);p&&(e[t]=p),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,a.default)(t)]=n,this._keepUnprefixed||delete e[t])}}return e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}()};var o=f(r(88)),i=f(r(91)),a=f(r(12)),s=f(r(21)),u=f(r(22)),c=f(r(20));function f(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,r){"use strict";var n=r(32),o=r.n(n),i=r(33),a=r.n(i),s=r(34),u=r.n(s),c=r(35),f=r.n(c),l=r(36),p=r.n(l),d=r(37),y=r.n(d),h=r(38),m=r.n(h),v=r(39),b=r.n(v),g=r(40),_=r.n(g),w=r(41),O=r.n(w),S=r(42),x=r.n(S),k=r(43),j=r.n(k),P=["Webkit"],E=["Moz"],T=["ms"],C=["Webkit","Moz"],A=["Webkit","ms"],R=["Webkit","Moz","ms"];t.a={plugins:[o.a,a.a,u.a,f.a,p.a,y.a,m.a,b.a,_.a,O.a,x.a,j.a],prefixMap:{transform:A,transformOrigin:A,transformOriginX:A,transformOriginY:A,backfaceVisibility:P,perspective:P,perspectiveOrigin:P,transformStyle:P,transformOriginZ:P,animation:P,animationDelay:P,animationDirection:P,animationFillMode:P,animationDuration:P,animationIterationCount:P,animationName:P,animationPlayState:P,animationTimingFunction:P,appearance:C,userSelect:R,fontKerning:P,textEmphasisPosition:P,textEmphasis:P,textEmphasisStyle:P,textEmphasisColor:P,boxDecorationBreak:P,clipPath:P,maskImage:P,maskMode:P,maskRepeat:P,maskPosition:P,maskClip:P,maskOrigin:P,maskSize:P,maskComposite:P,mask:P,maskBorderSource:P,maskBorderMode:P,maskBorderSlice:P,maskBorderWidth:P,maskBorderOutset:P,maskBorderRepeat:P,maskBorder:P,maskType:P,textDecorationStyle:C,textDecorationSkip:C,textDecorationLine:C,textDecorationColor:C,filter:P,fontFeatureSettings:C,breakAfter:R,breakBefore:R,breakInside:R,columnCount:C,columnFill:C,columnGap:C,columnRule:C,columnRuleColor:C,columnRuleStyle:C,columnRuleWidth:C,columns:C,columnSpan:C,columnWidth:C,writingMode:A,flex:A,flexBasis:P,flexDirection:A,flexGrow:P,flexFlow:A,flexShrink:P,flexWrap:A,alignContent:P,alignItems:P,alignSelf:P,justifyContent:P,order:P,transitionDelay:P,transitionDuration:P,transitionProperty:P,transitionTimingFunction:P,backdropFilter:P,scrollSnapType:A,scrollSnapPointsX:A,scrollSnapPointsY:A,scrollSnapDestination:A,scrollSnapCoordinate:A,shapeImageThreshold:P,shapeImageMargin:P,shapeImageOutside:P,hyphens:R,flowInto:A,flowFrom:A,regionFragment:A,boxSizing:E,textAlignLast:E,tabSize:E,wrapFlow:T,wrapThrough:T,wrapMargin:T,touchAction:T,gridTemplateColumns:T,gridTemplateRows:T,gridTemplateAreas:T,gridTemplate:T,gridAutoColumns:T,gridAutoRows:T,gridAutoFlow:T,grid:T,gridRowStart:T,gridColumnStart:T,gridRowEnd:T,gridRow:T,gridColumn:T,gridColumnEnd:T,gridColumnGap:T,gridRowGap:T,gridArea:T,gridGap:T,textSizeAdjust:A,borderImage:P,borderImageOutset:P,borderImageRepeat:P,borderImageSlice:P,borderImageSource:P,borderImageWidth:P}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("calc(")>-1)return a.map((function(e){return t.replace(/calc\(/g,e+"calc(")}))};var n,o=r(6),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-","-moz-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("cross-fade(")>-1)return a.map((function(e){return t.replace(/cross-fade\(/g,e+"cross-fade(")}))};var n,o=r(6),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("cursor"===e&&o.hasOwnProperty(t))return n.map((function(e){return e+t}))};var n=["-webkit-","-moz-",""],o={"zoom-in":!0,"zoom-out":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("filter(")>-1)return a.map((function(e){return t.replace(/filter\(/g,e+"filter(")}))};var n,o=r(6),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("display"===e&&n.hasOwnProperty(t))return n[t]};var n={flex:["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex","flex"],"inline-flex":["-webkit-inline-box","-moz-inline-box","-ms-inline-flexbox","-webkit-inline-flex","inline-flex"]};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end"},o={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal");o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},o={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&s.test(t))return a.map((function(e){return t.replace(s,(function(t){return e+t}))}))};var n,o=r(6),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-","-moz-",""],s=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("image-set(")>-1)return a.map((function(e){return t.replace(/image-set\(/g,e+"image-set(")}))};var n,o=r(6),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("position"===e&&"sticky"===t)return["-webkit-sticky","sticky"]},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return n.map((function(e){return e+t}))};var n=["-webkit-","-moz-",""],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){if("string"==typeof t&&s.hasOwnProperty(e)){var c=function(e,t){if((0,o.default)(e))return e;for(var r=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g),i=0,a=r.length;i<a;++i){var s=r[i],c=[s];for(var f in t){var l=(0,n.default)(f);if(s.indexOf(l)>-1&&"order"!==l)for(var p=t[f],d=0,y=p.length;d<y;++d)c.unshift(s.replace(l,u[p[d]]+l))}r[i]=c.join(",")}return r.join(",")}(t,a),f=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter((function(e){return!/-moz-|-ms-/.test(e)})).join(",");if(e.indexOf("Webkit")>-1)return f;var l=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter((function(e){return!/-webkit-|-ms-/.test(e)})).join(",");return e.indexOf("Moz")>-1?l:(r["Webkit"+(0,i.default)(e)]=f,r["Moz"+(0,i.default)(e)]=l,c)}};var n=a(r(23)),o=a(r(6)),i=a(r(12));function a(e){return e&&e.__esModule?e:{default:e}}var s={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},u={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-"};e.exports=t.default},function(e,t,r){"use strict";var n=r(45),o=r.n(n),i=r(46),a=r.n(i),s=r(47),u=r.n(s),c=r(48),f=r.n(c),l=r(49),p=r.n(l),d=r(50),y=r.n(d),h=r(51),m=r.n(h),v=r(52),b=r.n(v),g=r(53),_=r.n(g),w=r(54),O=r.n(w),S=r(55),x=r.n(S),k=r(56),j=r.n(k);t.a={plugins:[o.a,a.a,u.a,f.a,p.a,y.a,m.a,b.a,_.a,O.a,x.a,j.a],prefixMap:{chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:66,userSelect:53,fontKerning:32,textEmphasisPosition:66,textEmphasis:66,textEmphasisStyle:66,textEmphasisColor:66,boxDecorationBreak:66,clipPath:54,maskImage:66,maskMode:66,maskRepeat:66,maskPosition:66,maskClip:66,maskOrigin:66,maskSize:66,maskComposite:66,mask:66,maskBorderSource:66,maskBorderMode:66,maskBorderSlice:66,maskBorderWidth:66,maskBorderOutset:66,maskBorderRepeat:66,maskBorder:66,maskType:66,textDecorationStyle:56,textDecorationSkip:56,textDecorationLine:56,textDecorationColor:56,filter:52,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49,writingMode:47},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:11,userSelect:11,backdropFilter:11,fontKerning:9,scrollSnapType:10.1,scrollSnapPointsX:10.1,scrollSnapPointsY:10.1,scrollSnapDestination:10.1,scrollSnapCoordinate:10.1,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:11,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8,writingMode:10.1},firefox:{appearance:60,userSelect:60,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:60,hyphens:42,fontFeatureSettings:33,breakAfter:51,breakBefore:51,breakInside:51,columnCount:51,columnFill:51,columnGap:51,columnRule:51,columnRuleColor:51,columnRuleStyle:51,columnRuleWidth:51,columns:51,columnSpan:51,columnWidth:51},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:50,userSelect:40,fontKerning:19,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:41,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:43,textDecorationSkip:43,textDecorationLine:43,textDecorationColor:43,filter:39,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36,writingMode:34},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11,writingMode:11},edge:{userSelect:17,wrapFlow:17,wrapThrough:17,wrapMargin:17,scrollSnapType:17,scrollSnapPointsX:17,scrollSnapPointsY:17,scrollSnapDestination:17,scrollSnapCoordinate:17,hyphens:17,flowInto:17,flowFrom:17,breakBefore:17,breakAfter:17,breakInside:17,regionFragment:17,gridTemplateColumns:15,gridTemplateRows:15,gridTemplateAreas:15,gridTemplate:15,gridAutoColumns:15,gridAutoRows:15,gridAutoFlow:15,grid:15,gridRowStart:15,gridColumnStart:15,gridRowEnd:15,gridRow:15,gridColumn:15,gridColumnEnd:15,gridColumnGap:15,gridRowGap:15,gridArea:15,gridGap:15},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:11,userSelect:11,backdropFilter:11,fontKerning:11,scrollSnapType:10.3,scrollSnapPointsX:10.3,scrollSnapPointsY:10.3,scrollSnapDestination:10.3,scrollSnapCoordinate:10.3,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textSizeAdjust:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:11,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1,writingMode:10.3},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:62,userSelect:4.4,fontKerning:4.4,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,clipPath:4.4,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62,filter:4.4,fontFeatureSettings:4.4,breakAfter:4.4,breakBefore:4.4,breakInside:4.4,columnCount:4.4,columnFill:4.4,columnGap:4.4,columnRule:4.4,columnRuleColor:4.4,columnRuleStyle:4.4,columnRuleWidth:4.4,columns:4.4,columnSpan:4.4,columnWidth:4.4,writingMode:4.4},and_chr:{appearance:62,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62},and_uc:{flex:11.4,flexBasis:11.4,flexDirection:11.4,flexGrow:11.4,flexFlow:11.4,flexShrink:11.4,flexWrap:11.4,alignContent:11.4,alignItems:11.4,alignSelf:11.4,justifyContent:11.4,order:11.4,transform:11.4,transformOrigin:11.4,transformOriginX:11.4,transformOriginY:11.4,backfaceVisibility:11.4,perspective:11.4,perspectiveOrigin:11.4,transformStyle:11.4,transformOriginZ:11.4,animation:11.4,animationDelay:11.4,animationDirection:11.4,animationFillMode:11.4,animationDuration:11.4,animationIterationCount:11.4,animationName:11.4,animationPlayState:11.4,animationTimingFunction:11.4,appearance:11.4,userSelect:11.4,textEmphasisPosition:11.4,textEmphasis:11.4,textEmphasisStyle:11.4,textEmphasisColor:11.4,clipPath:11.4,maskImage:11.4,maskMode:11.4,maskRepeat:11.4,maskPosition:11.4,maskClip:11.4,maskOrigin:11.4,maskSize:11.4,maskComposite:11.4,mask:11.4,maskBorderSource:11.4,maskBorderMode:11.4,maskBorderSlice:11.4,maskBorderWidth:11.4,maskBorderOutset:11.4,maskBorderRepeat:11.4,maskBorder:11.4,maskType:11.4,textSizeAdjust:11.4,filter:11.4,hyphens:11.4,fontFeatureSettings:11.4,breakAfter:11.4,breakBefore:11.4,breakInside:11.4,columnCount:11.4,columnFill:11.4,columnGap:11.4,columnRule:11.4,columnRuleColor:11.4,columnRuleStyle:11.4,columnRuleWidth:11.4,columns:11.4,columnSpan:11.4,columnWidth:11.4,writingMode:11.4},op_mini:{}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,s=n.cssPrefix,u=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("calc(")>-1&&("firefox"===o&&a<15||"chrome"===o&&a<25||"safari"===o&&a<6.1||"ios_saf"===o&&a<7))return(0,i.default)(t.replace(/calc\(/g,s+"calc("),t,u)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,s=n.cssPrefix,u=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("cross-fade(")>-1&&("chrome"===o||"opera"===o||"and_chr"===o||("ios_saf"===o||"safari"===o)&&a<10))return(0,i.default)(t.replace(/cross-fade\(/g,s+"cross-fade("),t,u)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,u=n.browserVersion,c=n.cssPrefix,f=n.keepUnprefixed;if("cursor"===e&&a[t]&&("firefox"===o||"chrome"===o||"safari"===o||"opera"===o))return(0,i.default)(c+t,t,f);if("cursor"===e&&s[t]&&("firefox"===o&&u<24||"chrome"===o&&u<37||"safari"===o&&u<9||"opera"===o&&u<24))return(0,i.default)(c+t,t,f)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a={grab:!0,grabbing:!0},s={"zoom-in":!0,"zoom-out":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,s=n.cssPrefix,u=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("filter(")>-1&&("ios_saf"===o||"safari"===o&&a<9.1))return(0,i.default)(t.replace(/filter\(/g,s+"filter("),t,u)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,s=n.browserVersion,u=n.cssPrefix,c=n.keepUnprefixed;if("display"===e&&a[t]&&("chrome"===o&&s<29&&s>20||("safari"===o||"ios_saf"===o)&&s<9&&s>6||"opera"===o&&(15===s||16===s)))return(0,i.default)(u+t,t,c)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a={flex:!0,"inline-flex":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,u=n.browserVersion,c=n.cssPrefix,f=n.keepUnprefixed,l=n.requiresPrefix;if((s.hasOwnProperty(e)||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("ie_mob"===o||"ie"===o)&&10===u){if(delete l[e],f||Array.isArray(r[e])||delete r[e],"display"===e&&a.hasOwnProperty(t))return(0,i.default)(c+a[t],t,f);s.hasOwnProperty(e)&&(r[s[e]]=a[t]||t)}};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},s={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,c=n.browserVersion,f=n.cssPrefix,l=n.keepUnprefixed,p=n.requiresPrefix;if((u.indexOf(e)>-1||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("firefox"===o&&c<22||"chrome"===o&&c<21||("safari"===o||"ios_saf"===o)&&c<=6.1||"android"===o&&c<4.4||"and_uc"===o)){if(delete p[e],l||Array.isArray(r[e])||delete r[e],"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal"),"display"===e&&a.hasOwnProperty(t))return(0,i.default)(f+a[t],t,l);s.hasOwnProperty(e)&&(r[s[e]]=a[t]||t)}};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},s={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"},u=Object.keys(s).concat(["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"]);e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,s=n.browserVersion,u=n.cssPrefix,c=n.keepUnprefixed;if("string"==typeof t&&a.test(t)&&("firefox"===o&&s<16||"chrome"===o&&s<26||("safari"===o||"ios_saf"===o)&&s<7||("opera"===o||"op_mini"===o)&&s<12.1||"android"===o&&s<4.4||"and_uc"===o))return(0,i.default)(t.replace(a,(function(e){return u+e})),t,c)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.cssPrefix,s=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("image-set(")>-1&&("chrome"===o||"opera"===o||"and_chr"===o||"and_uc"===o||"ios_saf"===o||"safari"===o))return(0,i.default)(t.replace(/image-set\(/g,a+"image-set("),t,s)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.cssPrefix,s=n.keepUnprefixed;if("position"===e&&"sticky"===t&&("safari"===o||"ios_saf"===o))return(0,i.default)(a+t,t,s)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.cssPrefix,u=n.keepUnprefixed;if(a.hasOwnProperty(e)&&s.hasOwnProperty(t))return(0,i.default)(o+t,t,u)};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},s={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.cssPrefix,u=n.keepUnprefixed,c=n.requiresPrefix;if("string"==typeof t&&a.hasOwnProperty(e)){s||(s=Object.keys(c).map((function(e){return(0,i.default)(e)})));var f=t.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return s.forEach((function(e){f.forEach((function(t,r){t.indexOf(e)>-1&&"order"!==e&&(f[r]=t.replace(e,o+e)+(u?","+t:""))}))})),f.join(",")}};var n,o=r(23),i=(n=o)&&n.__esModule?n:{default:n};var a={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s=void 0;e.exports=t.default},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,r){r(59),e.exports=r(93)},function(e,t){!function(e){"use strict";if(!e.fetch){var t={searchParams:"URLSearchParams"in e,iterable:"Symbol"in e&&"iterator"in Symbol,blob:"FileReader"in e&&"Blob"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:"FormData"in e,arrayBuffer:"ArrayBuffer"in e};if(t.arrayBuffer)var r=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],n=function(e){return e&&DataView.prototype.isPrototypeOf(e)},o=ArrayBuffer.isView||function(e){return e&&r.indexOf(Object.prototype.toString.call(e))>-1};f.prototype.append=function(e,t){e=s(e),t=u(t);var r=this.map[e];this.map[e]=r?r+","+t:t},f.prototype.delete=function(e){delete this.map[s(e)]},f.prototype.get=function(e){return e=s(e),this.has(e)?this.map[e]:null},f.prototype.has=function(e){return this.map.hasOwnProperty(s(e))},f.prototype.set=function(e,t){this.map[s(e)]=u(t)},f.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},f.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),c(e)},f.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),c(e)},f.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),c(e)},t.iterable&&(f.prototype[Symbol.iterator]=f.prototype.entries);var i=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},h.call(m.prototype),h.call(b.prototype),b.prototype.clone=function(){return new b(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new f(this.headers),url:this.url})},b.error=function(){var e=new b(null,{status:0,statusText:""});return e.type="error",e};var a=[301,302,303,307,308];b.redirect=function(e,t){if(-1===a.indexOf(t))throw new RangeError("Invalid status code");return new b(null,{status:t,headers:{location:e}})},e.Headers=f,e.Request=m,e.Response=b,e.fetch=function(e,r){return new Promise((function(n,o){var i=new m(e,r),a=new XMLHttpRequest;a.onload=function(){var e,t,r={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new f,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new b(o,r))},a.onerror=function(){o(new TypeError("Network request failed"))},a.ontimeout=function(){o(new TypeError("Network request failed"))},a.open(i.method,i.url,!0),"include"===i.credentials?a.withCredentials=!0:"omit"===i.credentials&&(a.withCredentials=!1),"responseType"in a&&t.blob&&(a.responseType="blob"),i.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),a.send(void 0===i._bodyInit?null:i._bodyInit)}))},e.fetch.polyfill=!0}function s(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.\^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function u(e){return"string"!=typeof e&&(e=String(e)),e}function c(e){var r={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return t.iterable&&(r[Symbol.iterator]=function(){return r}),r}function f(e){this.map={},e instanceof f?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function l(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function p(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function d(e){var t=new FileReader,r=p(t);return t.readAsArrayBuffer(e),r}function y(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function h(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,e)if("string"==typeof e)this._bodyText=e;else if(t.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(t.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(t.arrayBuffer&&t.blob&&n(e))this._bodyArrayBuffer=y(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer]);else{if(!t.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e)&&!o(e))throw new Error("unsupported BodyInit type");this._bodyArrayBuffer=y(e)}else this._bodyText="";this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):t.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},t.blob&&(this.blob=function(){var e=l(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?l(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(d)}),this.text=function(){var e,t,r,n=l(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=p(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},t.formData&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}function m(e,t){var r,n,o=(t=t||{}).body;if(e instanceof m){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new f(e.headers)),this.method=e.method,this.mode=e.mode,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"omit",!t.headers&&this.headers||(this.headers=new f(t.headers)),this.method=(r=t.method||this.method||"GET",n=r.toUpperCase(),i.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function v(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function b(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new f(t.headers),this.url=t.url||"",this._initBody(e)}}("undefined"!=typeof self?self:this)},function(e,t,r){"use strict";t.__esModule=!0,t.default=void 0;var n=r(0),o=a(r(1)),i=a(r(15));a(r(16));function a(e){return e&&e.__esModule?e:{default:e}}var s=function(e){function t(r,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,e.call(this,r,n));return o.store=r.store,o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return n.Children.only(this.props.children)},t}(n.Component);t.default=s,s.propTypes={store:i.default.isRequired,children:o.default.element.isRequired},s.childContextTypes={store:i.default.isRequired}},function(e,t,r){"use strict";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};t.default=function(e,t,r){var f=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},m=Boolean(e),v=e||l,b=void 0;b="function"==typeof t?t:t?(0,s.default)(t):p;var g=r||d,_=f.pure,w=void 0===_||_,O=f.withRef,S=void 0!==O&&O,x=w&&g!==d,k=h++;return function(e){var t="Connect("+function(e){return e.displayName||e.name||"Component"}(e)+")";var r=function(r){function i(e,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i);var o=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,r.call(this,e,n));o.version=k,o.store=e.store||n.store,(0,c.default)(o.store,'Could not find "store" in either the context or props of "'+t+'". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "'+t+'".');var a=o.store.getState();return o.state={storeState:a},o.clearCache(),o}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(i,r),i.prototype.shouldComponentUpdate=function(){return!w||this.haveOwnPropsChanged||this.hasStoreStateChanged},i.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var r=e.getState();return this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(r,t):this.finalMapStateToProps(r)},i.prototype.configureFinalMapState=function(e,t){var r=v(e.getState(),t),n="function"==typeof r;return this.finalMapStateToProps=n?r:v,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,n?this.computeStateProps(e,t):r},i.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var r=e.dispatch;return this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(r,t):this.finalMapDispatchToProps(r)},i.prototype.configureFinalMapDispatch=function(e,t){var r=b(e.dispatch,t),n="function"==typeof r;return this.finalMapDispatchToProps=n?r:b,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,n?this.computeDispatchProps(e,t):r},i.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,a.default)(e,this.stateProps))&&(this.stateProps=e,!0)},i.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,a.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},i.prototype.updateMergedPropsIfNeeded=function(){var e,t,r,n=(e=this.stateProps,t=this.dispatchProps,r=this.props,g(e,t,r));return!(this.mergedProps&&x&&(0,a.default)(n,this.mergedProps))&&(this.mergedProps=n,!0)},i.prototype.isSubscribed=function(){return"function"==typeof this.unsubscribe},i.prototype.trySubscribe=function(){m&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},i.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},i.prototype.componentDidMount=function(){this.trySubscribe()},i.prototype.componentWillReceiveProps=function(e){w&&(0,a.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},i.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},i.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},i.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!w||t!==e){if(w&&!this.doStatePropsDependOnOwnProps){var r=function(e,t){try{return e.apply(t)}catch(e){return y.value=e,y}}(this.updateStatePropsIfNeeded,this);if(!r)return;r===y&&(this.statePropsPrecalculationError=y.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},i.prototype.getWrappedInstance=function(){return(0,c.default)(S,"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call."),this.refs.wrappedInstance},i.prototype.render=function(){var t=this.haveOwnPropsChanged,r=this.hasStoreStateChanged,i=this.haveStatePropsBeenPrecalculated,a=this.statePropsPrecalculationError,s=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,a)throw a;var u=!0,c=!0;w&&s&&(u=r||t&&this.doStatePropsDependOnOwnProps,c=t&&this.doDispatchPropsDependOnOwnProps);var f=!1,l=!1;i?f=!0:u&&(f=this.updateStatePropsIfNeeded()),c&&(l=this.updateDispatchPropsIfNeeded());return!(!!(f||l||t)&&this.updateMergedPropsIfNeeded())&&s?s:(this.renderedElement=S?(0,o.createElement)(e,n({},this.mergedProps,{ref:"wrappedInstance"})):(0,o.createElement)(e,this.mergedProps),this.renderedElement)},i}(o.Component);return r.displayName=t,r.WrappedComponent=e,r.contextTypes={store:i.default},r.propTypes={store:i.default},(0,u.default)(r,e)}};var o=r(0),i=f(r(15)),a=f(r(62)),s=f(r(63)),u=(f(r(16)),f(r(65)),f(r(74))),c=f(r(77));function f(e){return e&&e.__esModule?e:{default:e}}var l=function(e){return{}},p=function(e){return{dispatch:e}},d=function(e,t,r){return n({},r,e,t)};var y={value:null};var h=0},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e,t){if(e===t)return!0;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i<r.length;i++)if(!o.call(t,r[i])||e[r[i]]!==t[r[i]])return!1;return!0}},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){return function(t){return(0,n.bindActionCreators)(e,t)}};var n=r(8)},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,r){var n=r(66),o=r(71),i=r(73),a="[object Object]",s=Function.prototype,u=Object.prototype,c=s.toString,f=u.hasOwnProperty,l=c.call(Object);e.exports=function(e){if(!i(e)||n(e)!=a)return!1;var t=o(e);if(null===t)return!0;var r=f.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&c.call(r)==l}},function(e,t,r){var n=r(17),o=r(69),i=r(70),a="[object Null]",s="[object Undefined]",u=n?n.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:a:u&&u in Object(e)?o(e):i(e)}},function(e,t,r){var n=r(68),o="object"==typeof self&&self&&self.Object===Object&&self,i=n||o||Function("return this")();e.exports=i},function(e,t,r){(function(t){var r="object"==typeof t&&t&&t.Object===Object&&t;e.exports=r}).call(this,r(9))},function(e,t,r){var n=r(17),o=Object.prototype,i=o.hasOwnProperty,a=o.toString,s=n?n.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),r=e[s];try{e[s]=void 0;var n=!0}catch(e){}var o=a.call(e);return n&&(t?e[s]=r:delete e[s]),o}},function(e,t){var r=Object.prototype.toString;e.exports=function(e){return r.call(e)}},function(e,t,r){var n=r(72)(Object.getPrototypeOf,Object);e.exports=n},function(e,t){e.exports=function(e,t){return function(r){return e(t(r))}}},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t,r){"use strict";var n=r(75),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function u(e){return n.isMemo(e)?a:s[e.$$typeof]||o}s[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var c=Object.defineProperty,f=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(y){var o=d(r);o&&o!==y&&e(t,o,n)}var a=f(r);l&&(a=a.concat(l(r)));for(var s=u(t),h=u(r),m=0;m<a.length;++m){var v=a[m];if(!(i[v]||n&&n[v]||h&&h[v]||s&&s[v])){var b=p(r,v);try{c(t,v,b)}catch(e){}}}return t}return t}},function(e,t,r){"use strict";e.exports=r(76)},function(e,t,r){"use strict"; -/** @license React v16.11.0 - * react-is.production.min.js - * - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,s=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,f=n?Symbol.for("react.context"):60110,l=n?Symbol.for("react.async_mode"):60111,p=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,y=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.fundamental"):60117,g=n?Symbol.for("react.responder"):60118,_=n?Symbol.for("react.scope"):60119;function w(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case l:case p:case a:case u:case s:case y:return e;default:switch(e=e&&e.$$typeof){case f:case d:case c:return e;default:return t}}case v:case m:case i:return t}}}function O(e){return w(e)===p}t.typeOf=w,t.AsyncMode=l,t.ConcurrentMode=p,t.ContextConsumer=f,t.ContextProvider=c,t.Element=o,t.ForwardRef=d,t.Fragment=a,t.Lazy=v,t.Memo=m,t.Portal=i,t.Profiler=u,t.StrictMode=s,t.Suspense=y,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===p||e===u||e===s||e===y||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===c||e.$$typeof===f||e.$$typeof===d||e.$$typeof===b||e.$$typeof===g||e.$$typeof===_)},t.isAsyncMode=function(e){return O(e)||w(e)===l},t.isConcurrentMode=O,t.isContextConsumer=function(e){return w(e)===f},t.isContextProvider=function(e){return w(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return w(e)===d},t.isFragment=function(e){return w(e)===a},t.isLazy=function(e){return w(e)===v},t.isMemo=function(e){return w(e)===m},t.isPortal=function(e){return w(e)===i},t.isProfiler=function(e){return w(e)===u},t.isStrictMode=function(e){return w(e)===s},t.isSuspense=function(e){return w(e)===y}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o,i,a,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,n,o,i,a,s],f=0;(u=new Error(t.replace(/%s/g,(function(){return c[f++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,r){"use strict";function n(e){return e}t.__esModule=!0,t.default=function(e,t,r){var o="function"==typeof t?t:n;return function(){for(var t=arguments.length,n=Array(t),i=0;i<t;i++)n[i]=arguments[i];var a={type:e,payload:o.apply(void 0,n)};return 1===n.length&&n[0]instanceof Error&&(a.error=!0),"function"==typeof r&&(a.meta=r.apply(void 0,n)),a}},e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.isFSA=function(e){return i.default(e)&&void 0!==e.type&&Object.keys(e).every(s)},t.isError=function(e){return!0===e.error};var n,o=r(80),i=(n=o)&&n.__esModule?n:{default:n},a=["type","payload","error","meta"];function s(e){return a.indexOf(e)>-1}},function(e,t,r){var n=r(81),o=r(19),i=r(82),a="[object Object]";var s=Object.prototype,u=s.hasOwnProperty,c=s.toString;e.exports=function(e){var t,r;return!(!function(e){return!!e&&"object"==typeof e}(e)||c.call(e)!=a||o(e)||!(u.call(e,"constructor")||"function"!=typeof(t=e.constructor)||t instanceof t))&&(n(e,(function(e,t){r=t}),i),void 0===r||u.call(e,r))}},function(e,t){var r,n=function(e,t,n){for(var o=-1,i=Object(e),a=n(e),s=a.length;s--;){var u=a[r?s:++o];if(!1===t(i[u],u,i))break}return e};e.exports=n},function(e,t,r){var n=r(19),o=r(83),i=/^\d+$/,a=Object.prototype.hasOwnProperty,s=9007199254740991;function u(e,t){return e="number"==typeof e||i.test(e)?+e:-1,t=null==t?s:t,e>-1&&e%1==0&&e<t}e.exports=function(e){if(null==e)return[];var t,r;r=typeof(t=e),(!t||"object"!=r&&"function"!=r)&&(e=Object(e));var i=e.length;i=i&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=s}(i)&&(o(e)||n(e))&&i||0;for(var c=e.constructor,f=-1,l="function"==typeof c&&c.prototype===e,p=Array(i),d=i>0;++f<i;)p[f]=f+"";for(var y in e)d&&u(y,i)||"constructor"==y&&(l||!a.call(e,y))||p.push(y);return p}},function(e,t){var r="[object Function]",n=/^\[object .+?Constructor\]$/;function o(e){return!!e&&"object"==typeof e}var i,a,s,u=Object.prototype,c=Function.prototype.toString,f=u.hasOwnProperty,l=u.toString,p=RegExp("^"+c.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),d=(i=Array,a="isArray",function(e){return null!=e&&(function(e){return function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)&&l.call(e)==r}(e)?p.test(c.call(e)):o(e)&&n.test(e))}(s=null==i?void 0:i[a])?s:void 0),y=9007199254740991;var h=d||function(e){return o(e)&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=y}(e.length)&&"[object Array]"==l.call(e)};e.exports=h},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t){var r=i.default(e).map((function(t){return o.default(t,e[t])}));return void 0!==t?function(e,n){return void 0===e&&(e=t),a.default.apply(void 0,r)(e,n)}:a.default.apply(void 0,r)};var o=n(r(18)),i=n(r(85)),a=n(r(86));e.exports=t.default},function(e,t,r){"use strict";t.__esModule=!0,t.default=function(e){if("undefined"!=typeof Reflect&&"function"==typeof Reflect.ownKeys)return Reflect.ownKeys(e);var t=Object.getOwnPropertyNames(e);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e)));return t},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e,r){return t.reduce((function(e,t){return t(e,r)}),e)}},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(e.hasOwnProperty(t)){for(var n={},o=e[t],a=(0,i.default)(t),s=Object.keys(r),u=0;u<s.length;u++){var c=s[u];if(c===t)for(var f=0;f<o.length;f++)n[o[f]+a]=r[t];n[c]=r[c]}return n}return r};var n,o=r(12),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=i.default._detect(e);t.yandexbrowser&&(t=i.default._detect(e.replace(/YaBrowser\/[0-9.]*/,"")));for(var r in a)if(t.hasOwnProperty(r)){var n=a[r];t.jsPrefix=n,t.cssPrefix="-"+n.toLowerCase()+"-";break}t.browserName=function(e){if(e.firefox)return"firefox";if(e.mobile||e.tablet){if(e.ios)return"ios_saf";if(e.android)return"android";if(e.opera)return"op_mini"}for(var t in s)if(e.hasOwnProperty(t))return s[t]}(t),t.version?t.browserVersion=parseFloat(t.version):t.browserVersion=parseInt(parseFloat(t.osversion),10);t.osVersion=parseFloat(t.osversion),"ios_saf"===t.browserName&&t.browserVersion>t.osVersion&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName="and_chr");"android"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.samsungBrowser&&(t.browserName="and_chr",t.browserVersion=44);return t};var n,o=r(89),i=(n=o)&&n.__esModule?n:{default:n};var a={chrome:"Webkit",safari:"Webkit",ios:"Webkit",android:"Webkit",phantom:"Webkit",opera:"Webkit",webos:"Webkit",blackberry:"Webkit",bada:"Webkit",tizen:"Webkit",chromium:"Webkit",vivaldi:"Webkit",firefox:"Moz",seamoney:"Moz",sailfish:"Moz",msie:"ms",msedge:"ms"},s={chrome:"chrome",chromium:"chrome",safari:"safari",firfox:"firefox",msedge:"edge",opera:"opera",vivaldi:"opera",msie:"ie"};e.exports=t.default},function(e,t,r){var n;n=function(){var e=!0;function t(t){function r(e){var r=t.match(e);return r&&r.length>1&&r[1]||""}function n(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var o,a=r(/(ipod|iphone|ipad)/i).toLowerCase(),s=!/like android/i.test(t)&&/android/i.test(t),u=/nexus\s*[0-6]\s*/i.test(t),c=!u&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),p=/sailfish/i.test(t),d=/tizen/i.test(t),y=/(web|hpw)(o|0)s/i.test(t),h=/windows phone/i.test(t),m=(/SamsungBrowser/i.test(t),!h&&/windows/i.test(t)),v=!a&&!l&&/macintosh/i.test(t),b=!s&&!p&&!d&&!y&&/linux/i.test(t),g=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),_=r(/version\/(\d+(\.\d+)?)/i),w=/tablet/i.test(t)&&!/tablet pc/i.test(t),O=!w&&/[^-]mobi/i.test(t),S=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:_||r(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:r(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||_}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:_||r(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?o={name:"NAVER Whale browser",whale:e,version:r(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?o={name:"MZ Browser",mzbrowser:e,version:r(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:_||r(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?o={name:"Focus",focus:e,version:r(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:_||r(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:r(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:r(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:r(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:r(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:r(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:r(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},g?(o.msedge=e,o.version=g):(o.msie=e,o.version=r(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:r(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:g}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:r(/vivaldi\/(\d+(\.\d+)?)/i)||_}:p?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:r(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:r(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:r(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):l?o={name:"Amazon Silk",silk:e,version:r(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:r(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:r(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:_||r(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:y?(o={name:"WebOS",osname:"WebOS",webos:e,version:_||r(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:r(/dolfin\/(\d+(\.\d+)?)/i)}:d?o={name:"Tizen",osname:"Tizen",tizen:e,version:r(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||_}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:r(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||_}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:r(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||_}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?o={name:"Android",version:_}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},_&&(o.version=_)):a?(o={name:"iphone"==a?"iPhone":"ipad"==a?"iPad":"iPod"},_&&(o.version=_)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:r(/googlebot\/(\d+(\.\d+))/i)||_}:{name:r(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&_&&(o.version=_)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||r(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!s&&!o.silk?!o.windowsphone&&a?(o[a]=e,o.ios=e,o.osname="iOS"):v?(o.mac=e,o.osname="macOS"):S?(o.xbox=e,o.osname="Xbox"):m?(o.windows=e,o.osname="Windows"):b&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var x="";o.windows?x=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(r(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?x=r(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?x=(x=r(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):a?x=(x=r(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):s?x=r(/android[ \/-](\d+(\.\d+)*)/i):o.webos?x=r(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?x=r(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?x=r(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(x=r(/tizen[\/\s](\d+(\.\d+)*)/i)),x&&(o.osversion=x);var k=!o.windows&&x.split(".")[0];return w||c||"ipad"==a||s&&(3==k||k>=4&&!O)||o.silk?o.tablet=e:(O||"iphone"==a||"ipod"==a||s||u||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===i([o.version,"1.0"])||o.mzbrowser&&1===i([o.version,"6.0"])||o.focus&&1===i([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var r=t("undefined"!=typeof navigator&&navigator.userAgent||"");function n(e){return e.split(".").length}function o(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r++)n.push(t(e[r]));return n}function i(e){for(var t=Math.max(n(e[0]),n(e[1])),r=o(e,(function(e){var r=t-n(e);return o((e+=new Array(r+1).join(".0")).split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));--t>=0;){if(r[0][t]>r[1][t])return 1;if(r[0][t]!==r[1][t])return-1;if(0===t)return 0}}function a(e,n,o){var a=r;"string"==typeof n&&(o=n,n=void 0),void 0===n&&(n=!1),o&&(a=t(o));var s=""+a.version;for(var u in e)if(e.hasOwnProperty(u)&&a[u]){if("string"!=typeof e[u])throw new Error("Browser version in the minVersion map should be a string: "+u+": "+String(e));return i([s,e[u]])<0}return n}return r.test=function(e){for(var t=0;t<e.length;++t){var n=e[t];if("string"==typeof n&&n in r)return!0}return!1},r.isUnsupportedBrowser=a,r.compareVersions=i,r.check=function(e,t,r){return!a(e,t,r)},r._detect=t,r.detect=t,r},e.exports?e.exports=n():r(90)("bowser",n)},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if("chrome"===e&&t<43||("safari"===e||"ios_saf"===e)&&t<9||"opera"===e&&t<30||"android"===e&&t<=4.4||"and_uc"===e)return r+"keyframes";return"keyframes"},e.exports=t.default},function(e,t,r){"use strict";r.r(t);var n=/[A-Z]/g,o=/^ms-/,i={};function a(e){return"-"+e.toLowerCase()}t.default=function(e){if(i.hasOwnProperty(e))return i[e];var t=e.replace(n,a);return i[e]=o.test(t)?"-"+t:t}},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),i=r(24),a=r.n(i),s=r(3),u=r(8);function c(e){return function(t){var r=t.dispatch,n=t.getState;return function(t){return function(o){return"function"==typeof o?o(r,n,e):t(o)}}}}var f=c();f.withExtraArgument=c;var l=f,p=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function d(e,t){return function(){var r=arguments.length;if(0===r)return t();var n=arguments[r-1];return p(n)||"function"!=typeof n[e]?t.apply(this,arguments):n[e].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}function y(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function h(e){return function t(r){return 0===arguments.length||y(r)?t:e.apply(this,arguments)}}function m(e){return function t(r,n){switch(arguments.length){case 0:return t;case 1:return y(r)?t:h((function(t){return e(r,t)}));default:return y(r)&&y(n)?t:y(r)?h((function(t){return e(t,n)})):y(n)?h((function(t){return e(r,t)})):e(r,n)}}}var v=m(d("forEach",(function(e,t){for(var r=t.length,n=0;n<r;)e(t[n]),n+=1;return t})));function b(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function g(e,t,r){return function(){if(0===arguments.length)return r();var n=Array.prototype.slice.call(arguments,0),o=n.pop();if(!p(o)){for(var i=0;i<e.length;){if("function"==typeof o[e[i]])return o[e[i]].apply(o,n);i+=1}if(b(o)){var a=t.apply(null,n);return a(o)}}return r.apply(this,arguments)}}function _(e,t){for(var r=0,n=t.length,o=[];r<n;)e(t[r])&&(o[o.length]=t[r]),r+=1;return o}function w(e){return"[object Object]"===Object.prototype.toString.call(e)}function O(e){return"[object String]"===Object.prototype.toString.call(e)}var S=h((function(e){return!!p(e)||!!e&&("object"==typeof e&&(!O(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))})),x=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function k(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,r){return t.apply(this,arguments)};case 3:return function(e,r,n){return t.apply(this,arguments)};case 4:return function(e,r,n,o){return t.apply(this,arguments)};case 5:return function(e,r,n,o,i){return t.apply(this,arguments)};case 6:return function(e,r,n,o,i,a){return t.apply(this,arguments)};case 7:return function(e,r,n,o,i,a,s){return t.apply(this,arguments)};case 8:return function(e,r,n,o,i,a,s,u){return t.apply(this,arguments)};case 9:return function(e,r,n,o,i,a,s,u,c){return t.apply(this,arguments)};case 10:return function(e,r,n,o,i,a,s,u,c,f){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}var j=m((function(e,t){return k(e.length,(function(){return e.apply(t,arguments)}))}));function P(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function E(e,t,r,n){return e["@@transducer/result"](r[n](j(e["@@transducer/step"],e),t))}var T="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function C(e,t,r){if("function"==typeof e&&(e=function(e){return new x(e)}(e)),S(r))return function(e,t,r){for(var n=0,o=r.length;n<o;){if((t=e["@@transducer/step"](t,r[n]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n+=1}return e["@@transducer/result"](t)}(e,t,r);if("function"==typeof r["fantasy-land/reduce"])return E(e,t,r,"fantasy-land/reduce");if(null!=r[T])return P(e,t,r[T]());if("function"==typeof r.next)return P(e,t,r);if("function"==typeof r.reduce)return E(e,t,r,"reduce");throw new TypeError("reduce: list must be array or iterable")}var A=function(){return this.xf["@@transducer/init"]()},R=function(e){return this.xf["@@transducer/result"](e)},M=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=A,e.prototype["@@transducer/result"]=R,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),I=m((function(e,t){return new M(e,t)}));function D(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var N=Object.prototype.toString,B=function(){return"[object Arguments]"===N.call(arguments)?function(e){return"[object Arguments]"===N.call(e)}:function(e){return D("callee",e)}}(),F=!{toString:null}.propertyIsEnumerable("toString"),U=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],q=function(){return arguments.propertyIsEnumerable("length")}(),W=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},L="function"!=typeof Object.keys||q?h((function(e){if(Object(e)!==e)return[];var t,r,n=[],o=q&&B(e);for(t in e)!D(t,e)||o&&"length"===t||(n[n.length]=t);if(F)for(r=U.length-1;r>=0;)D(t=U[r],e)&&!W(n,t)&&(n[n.length]=t),r-=1;return n})):h((function(e){return Object(e)!==e?[]:Object.keys(e)})),z=m(g(["filter"],I,(function(e,t){return w(t)?C((function(r,n){return e(t[n])&&(r[n]=t[n]),r}),{},L(t)):_(e,t)})));function G(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function K(e,t,r){for(var n=0,o=r.length;n<o;){if(e(t,r[n]))return!0;n+=1}return!1}var V="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},Q=h((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));function H(e,t,r,n){var o=G(e);function i(e,t){return $(e,t,r.slice(),n.slice())}return!K((function(e,t){return!K(i,t,e)}),G(t),o)}function $(e,t,r,n){if(V(e,t))return!0;var o,i,a=Q(e);if(a!==Q(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(a){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===(o=e.constructor,null==(i=String(o).match(/^function (\w*)/))?"":i[1]))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!V(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!V(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var s=r.length-1;s>=0;){if(r[s]===e)return n[s]===t;s-=1}switch(a){case"Map":return e.size===t.size&&H(e.entries(),t.entries(),r.concat([e]),n.concat([t]));case"Set":return e.size===t.size&&H(e.values(),t.values(),r.concat([e]),n.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var u=L(e);if(u.length!==L(t).length)return!1;var c=r.concat([e]),f=n.concat([t]);for(s=u.length-1;s>=0;){var l=u[s];if(!D(l,t)||!$(t[l],e[l],c,f))return!1;s-=1}return!0}var Y=m((function(e,t){return $(e,t,[],[])})),X=h((function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():p(e)?[]:O(e)?"":w(e)?{}:B(e)?function(){return arguments}():void 0})),Z=h((function(e){return null!=e&&Y(e,X(e))})),J=function(e){return{value:e,"fantasy-land/map":function(){return this}}},ee=m((function(e,t){return e(J)(t).value}));function te(e){return function t(r,n,o){switch(arguments.length){case 0:return t;case 1:return y(r)?t:m((function(t,n){return e(r,t,n)}));case 2:return y(r)&&y(n)?t:y(r)?m((function(t,r){return e(t,n,r)})):y(n)?m((function(t,n){return e(r,t,n)})):h((function(t){return e(r,n,t)}));default:return y(r)&&y(n)&&y(o)?t:y(r)&&y(n)?m((function(t,r){return e(t,r,o)})):y(r)&&y(o)?m((function(t,r){return e(t,n,r)})):y(n)&&y(o)?m((function(t,n){return e(r,t,n)})):y(r)?h((function(t){return e(t,n,o)})):y(n)?h((function(t){return e(r,t,o)})):y(o)?h((function(t){return e(r,n,t)})):e(r,n,o)}}}var re=Number.isInteger||function(e){return e<<0===e},ne=te((function(e,t,r){var n={};for(var o in r)n[o]=r[o];return n[e]=t,n})),oe=h((function(e){return null==e})),ie=te((function e(t,r,n){if(0===t.length)return r;var o=t[0];if(t.length>1){var i=!oe(n)&&D(o,n)?n[o]:re(t[1])?[]:{};r=e(Array.prototype.slice.call(t,1),r,i)}if(re(o)&&p(n)){var a=[].concat(n);return a[o]=r,a}return ne(o,r,n)}));function ae(e,t){for(var r=0,n=t.length,o=Array(n);r<n;)o[r]=e(t[r]),r+=1;return o}var se=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=A,e.prototype["@@transducer/result"]=R,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),ue=m((function(e,t){return new se(e,t)}));var ce=m((function(e,t){return 1===e?h(t):k(e,function e(t,r,n){return function(){for(var o=[],i=0,a=t,s=0;s<r.length||i<arguments.length;){var u;s<r.length&&(!y(r[s])||i>=arguments.length)?u=r[s]:(u=arguments[i],i+=1),o[s]=u,y(u)||(a-=1),s+=1}return a<=0?n.apply(this,o):k(a,e(t,o,n))}}(e,[],t))})),fe=m(g(["fantasy-land/map","map"],ue,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return ce(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return C((function(r,n){return r[n]=e(t[n]),r}),{},L(t));default:return ae(e,t)}}))),le=m((function(e,t){return function(r){return function(n){return fe((function(e){return t(e,n)}),r(e(n)))}}})),pe=m((function(e,t){for(var r=t,n=0;n<e.length;){if(null==r)return;r=r[e[n]],n+=1}return r})),de=h((function(e){return le(pe(e),ie(e))}));function ye(e){return"[object Function]"===Object.prototype.toString.call(e)}function he(e,t){return function(e,t,r){var n,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(n=1/t;r<e.length;){if(0===(o=e[r])&&1/o===n)return r;r+=1}return-1}if(t!=t){for(;r<e.length;){if("number"==typeof(o=e[r])&&o!=o)return r;r+=1}return-1}return e.indexOf(t,r);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,r);case"object":if(null===t)return e.indexOf(t,r)}for(;r<e.length;){if(Y(e[r],t))return r;r+=1}return-1}(t,e,0)>=0}function me(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var ve=function(e){return(e<10?"0":"")+e},be="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+ve(e.getUTCMonth()+1)+"-"+ve(e.getUTCDate())+"T"+ve(e.getUTCHours())+":"+ve(e.getUTCMinutes())+":"+ve(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var ge=m((function(e,t){return z((r=e,function(){return!r.apply(this,arguments)}),t);var r}));var _e=h((function(e){return function e(t,r){var n=function(n){var o=r.concat([t]);return he(n,o)?"<Circular>":e(n,o)},o=function(e,t){return ae((function(t){return me(t)+": "+n(e[t])}),t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+ae(n,t).join(", ")+"))";case"[object Array]":return"["+ae(n,t).concat(o(t,ge((function(e){return/^\d+$/.test(e)}),L(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+n(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?n(NaN):me(be(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+n(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+n(t.valueOf())+")":me(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var i=t.toString();if("[object Object]"!==i)return i}return"{"+o(t,L(t)).join(", ")+"}"}}(e,[])})),we=m((function(e,t){if(p(e)){if(p(t))return e.concat(t);throw new TypeError(_e(t)+" is not an array")}if(O(e)){if(O(t))return e+t;throw new TypeError(_e(t)+" is not a string")}if(null!=e&&ye(e["fantasy-land/concat"]))return e["fantasy-land/concat"](t);if(null!=e&&ye(e.concat))return e.concat(t);throw new TypeError(_e(e)+' does not have a method named "concat" or "fantasy-land/concat"')})),Oe=m(he);function Se(e,t){var r;t=t||[];var n=(e=e||[]).length,o=t.length,i=[];for(r=0;r<n;)i[i.length]=e[r],r+=1;for(r=0;r<o;)i[i.length]=t[r],r+=1;return i}var xe=m((function(e,t){return Se(t,[e])}));var ke="function"==typeof Object.assign?Object.assign:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1,n=arguments.length;r<n;){var o=arguments[r];if(null!=o)for(var i in o)D(i,o)&&(t[i]=o[i]);r+=1}return t},je=m((function(e,t){return ke({},e,t)})),Pe={ON_PROP_CHANGE:"ON_PROP_CHANGE",SET_REQUEST_QUEUE:"SET_REQUEST_QUEUE",COMPUTE_GRAPHS:"COMPUTE_GRAPHS",COMPUTE_PATHS:"COMPUTE_PATHS",SET_LAYOUT:"SET_LAYOUT",SET_APP_LIFECYCLE:"SET_APP_LIFECYCLE",SET_CONFIG:"SET_CONFIG",ON_ERROR:"ON_ERROR",SET_HOOKS:"SET_HOOKS"},Ee=function(e){if(Pe[e])return Pe[e];throw new Error("".concat(e," is not defined."))},Te=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(t.type===Ee("SET_LAYOUT"))return t.payload;if(Oe(t.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE",Ee("ON_PROP_CHANGE")])){var r=xe("props",t.payload.itempath),n=ee(de(r),e),o=je(n,t.payload.props);return ie(r,o,e)}return e},Ce=r(14),Ae=m((function(e,t){if(0===e.length)return!1;for(var r=t,n=0;n<e.length;){if(!D(e[n],r))return!1;r=r[e[n]],n+=1}return!0})),Re=m((function(e,t){return Ae([e],t)}));function Me(e){var t=Re("url_base_pathname",e),r=Re("requests_pathname_prefix",e);if("Object"!==Q(e)||!t&&!r)throw new Error('\n Trying to make an API request but neither\n "url_base_pathname" nor "requests_pathname_prefix"\n is in `config`. `config` is: ',e);var n=r?e.requests_pathname_prefix:e.url_base_pathname;return"/"===n.charAt(n.length-1)?n:n+"/"}function Ie(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()}function De(e){return e.startsWith("..")}function Ne(e){return e.split("...").map((function(e){return e.replace("..","")}))}var Be={},Fe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Be,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"COMPUTE_GRAPHS":var r=t.payload,n=new Ce.DepGraph,o=new Ce.DepGraph;return r.forEach((function(e){var t,r=e.output,i=e.inputs;"Object"===Q(r)?t="".concat(r.id,".").concat(r.property):(t=r,De(r)?Ne(r).forEach((function(e){o.addNode(e),i.forEach((function(t){var r="".concat(t.id,".").concat(t.property);o.hasNode(r)||o.addNode(r),o.addDependency(r,e)}))})):(o.addNode(r),i.forEach((function(e){var t="".concat(e.id,".").concat(e.property);o.hasNode(t)||o.addNode(t),o.addDependency(t,r)})))),i.forEach((function(e){var r="".concat(e.id,".").concat(e.property);n.addNode(t),n.hasNode(r)||n.addNode(r),n.addDependency(r,t)}))})),{InputGraph:n,MultiGraph:o};default:return e}},Ue=te(C),qe=h((function(e){return ce(e.length,(function(t,r){var n=Array.prototype.slice.call(arguments,0);return n[0]=r,n[1]=t,e.apply(this,n)}))})),We=m((function(e,t){return t>e?t:e})),Le=m((function(e,t){return pe([e],t)})),ze=m((function(e,t){return fe(Le(e),t)})),Ge=h((function(e){return ce(Ue(We,0,ze("length",e)),(function(){for(var t=0,r=e.length;t<r;){if(!e[t].apply(this,arguments))return!1;t+=1}return!0}))})),Ke=m((function(e,t){return null!=t&&t.constructor===e||t instanceof e}));function Ve(e,t){return function(){return t.call(this,e.apply(this,arguments))}}var Qe=te(d("slice",(function(e,t,r){return Array.prototype.slice.call(r,e,t)}))),He=h(d("tail",Qe(1,1/0)));function $e(){if(0===arguments.length)throw new Error("pipe requires at least one argument");return k(arguments[0].length,Ue(Ve,arguments[0],He(arguments)))}var Ye=h((function(e){return O(e)?e.split("").reverse().join(""):Array.prototype.slice.call(e,0).reverse()}));function Xe(){if(0===arguments.length)throw new Error("compose requires at least one argument");return $e.apply(this,Ye(arguments))}var Ze=Ue(qe(xe)),Je=Ge([Ke(Object),Re("props")]),et=Ge([Je,Xe(Re("id"),Le("props"))]),tt=Ge([Je,Xe(Re("children"),Le("props"))]),rt=function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(r(t,n),tt(t)){var o=Ze(n,["props","children"]);Array.isArray(t.props.children)?t.props.children.forEach((function(t,n){e(t,r,xe(n,o))})):e(t.props.children,r,o)}else Ke(Array,t)&&t.forEach((function(t,o){e(t,r,xe(o,n))}))};var nt=m((function(e,t){for(var r={},n={},o=0,i=e.length;o<i;)n[e[o]]=1,o+=1;for(var a in t)n.hasOwnProperty(a)||(r[a]=t[a]);return r})),ot=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Ee("COMPUTE_PATHS"):var r,n=t.payload,o=n.subTree,i=n.startingPath,a=e;if(oe(e)&&(a={}),Z(i))r=je({},a);else{var s=z((function(e){return Y(i,Qe(0,i.length,a[e]))}),L(a));r=nt(s,a)}return rt(o,(function(e,t){et(e)&&(r[e.props.id]=we(i,t))})),r;default:return e}};function it(e,t,r,n){var o,i=function(o){for(var i=t.length,a=0;a<i;){if(e===t[a])return r[a];a+=1}for(var s in t[a+1]=e,r[a+1]=o,e)o[s]=n?it(e[s],t,r,!0):e[s];return o};switch(Q(e)){case"Object":return i({});case"Array":return i([]);case"Date":return new Date(e.valueOf());case"RegExp":return o=e,new RegExp(o.source,(o.global?"g":"")+(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.sticky?"y":"")+(o.unicode?"u":""));default:return e}}var at=h((function(e){return null!=e&&"function"==typeof e.clone?e.clone():it(e,[],[],!0)})),st=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_REQUEST_QUEUE":return at(t.payload);default:return e}};function ut(e){var t={STARTED:"STARTED",HYDRATED:"HYDRATED"};if(t[e])return t[e];throw new Error("".concat(e," is not a valid app state."))}var ct=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ut("STARTED"),t=arguments.length>1?arguments[1]:void 0;switch(t.type){case Ee("SET_APP_LIFECYCLE"):return ut(t.payload);default:return e}};function ft(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var lt={past:[],present:{},future:[]};var pt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:lt;switch((arguments.length>1?arguments[1]:void 0).type){case"UNDO":var t=e.past,r=e.present,n=e.future,o=t[t.length-1];return{past:t.slice(0,t.length-1),present:o,future:[r].concat(ft(n))};case"REDO":var i=e.past,a=e.present,s=e.future,u=s[0],c=s.slice(1);return{past:[].concat(ft(i),[a]),present:u,future:c};case"REVERT":var f=e.past,l=e.future,p=f[f.length-1];return{past:f.slice(0,f.length-1),present:p,future:ft(l)};default:return e}};function dt(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var yt={frontEnd:[],backEnd:[]};function ht(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:yt,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ON_ERROR":return"frontEnd"===t.payload.type?{frontEnd:[je(t.payload,{timestamp:new Date})].concat(dt(e.frontEnd)),backEnd:e.backEnd}:"backEnd"===t.payload.type?{frontEnd:e.frontEnd,backEnd:[je(t.payload,{timestamp:new Date})].concat(dt(e.backEnd))}:e;default:return e}}var mt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{request_pre:null,request_post:null,bear:!1},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_HOOKS":return t.payload;default:return e}};function vt(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;return t.type===Ee("SET_CONFIG")?t.payload:e}function bt(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var gt,_t=["dependenciesRequest","layoutRequest","reloadRequest","loginRequest"];function wt(){var e={appLifecycle:ct,layout:Te,graphs:Fe,paths:ot,requestQueue:st,config:vt,history:pt,error:ht,hooks:mt};return v((function(t){var r;e[t]=(r=t,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e;if(t.type===r){var o=t.payload,i=o.id,a=o.status,s=o.content,u={status:a,content:s};n=Array.isArray(i)?ie(i,u,e):i?ne(i,u,e):je(e,u)}return n})}),_t),Object(u.combineReducers)(e)}function Ot(e,t,r){var n,o=r.graphs,i=r.layout,a=r.paths,s=o.InputGraph,u=z(Y(e),a);if(!Z(u)){var c=L(u)[0];n={id:c,props:{}},L(t).forEach((function(e){var t="".concat(c,".").concat(e);s.hasNode(t)&&s.dependenciesOf(t).length>0&&(n.props[e]=ee(de(we(a[c],["props",e])),i))}))}return n}function St(){return function(e){return function(t,r){var n=t||{},o=n.history,i=n.config,a=n.hooks,s=t;return"RELOAD"===r.type?s={history:o,config:i,hooks:a}:"SET_CONFIG"===r.type&&(s={hooks:a}),e(s,r)}}((e=wt(),function(t,r){if("ON_PROP_CHANGE"===r.type){var n=r.payload,o=Ot(n.itempath,n.props,t);o&&!Z(o.props)&&(t.history.present=o)}var i=e(t,r);if("ON_PROP_CHANGE"===r.type&&"response"!==r.payload.source){var a=r.payload,s=Ot(a.itempath,a.props,i);s&&!Z(s.props)&&(i.history={past:[].concat(bt(i.history.past),[t.history.present]),present:s,future:[]})}return i}));var e}var xt=function(e){if(gt&&!e)return gt;var t=St();return gt=Object(u.createStore)(t,Object(u.applyMiddleware)(l)),e||(window.store=gt),gt},kt=r(1),jt=r.n(kt),Pt={resolve:function(e){var t=e.type,r=e.namespace,n=window[r];if(n){if(n[t])return n[t];throw new Error("Component ".concat(t," not found in ").concat(r))}throw new Error("".concat(r," was not found."))}};var Et=h((function(e){var t,r=[];for(t in e)r[r.length]=t;return r})),Tt=m((function(e,t){for(var r={},n=0;n<e.length;)e[n]in t&&(r[e[n]]=t[e[n]]),n+=1;return r})),Ct=h((function(e){return ce(e.length,(function(){var t=0,r=arguments[0],n=arguments[arguments.length-1],o=Array.prototype.slice.call(arguments,0);return o[0]=function(){var e=r.apply(this,Se(arguments,[t,n]));return t+=1,e},e.apply(this,o)}))})),At=m((function(e,t){return null==t||t!=t?e:t})),Rt=te((function(e,t,r){return At(e,pe(t,r))})),Mt=te((function(e,t,r){return Rt(e,[t],r)}));function It(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}var Dt=function(){function e(e,t){this.xf=t,this.f=e,this.any=!1}return e.prototype["@@transducer/init"]=A,e.prototype["@@transducer/result"]=function(e){return this.any||(e=this.xf["@@transducer/step"](e,!1)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.any=!0,e=It(this.xf["@@transducer/step"](e,!0))),e},e}(),Nt=m(g(["any"],m((function(e,t){return new Dt(e,t)})),(function(e,t){for(var r=0;r<t.length;){if(e(t[r]))return!0;r+=1}return!1}))),Bt=m((function(e,t){return Array.prototype.slice.call(t,0).sort(e)}));function Ft(e){return function t(r){for(var n,o,i,a=[],s=0,u=r.length;s<u;){if(S(r[s]))for(i=0,o=(n=e?t(r[s]):r[s]).length;i<o;)a[a.length]=n[i],i+=1;else a[a.length]=r[s];s+=1}return a}}var Ut=h(Ft(!0));function qt(e){return e}var Wt=h(qt);function Lt(e,t,r){var n,o=typeof e;switch(o){case"string":case"number":return 0===e&&1/e==-1/0?!!r._items["-0"]||(t&&(r._items["-0"]=!0),!1):null!==r._nativeSet?t?(n=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===n):r._nativeSet.has(e):o in r._items?e in r._items[o]||(t&&(r._items[o][e]=!0),!1):(t&&(r._items[o]={},r._items[o][e]=!0),!1);case"boolean":if(o in r._items){var i=e?1:0;return!!r._items[o][i]||(t&&(r._items[o][i]=!0),!1)}return t&&(r._items[o]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?t?(n=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===n):r._nativeSet.has(e):o in r._items?!!he(e,r._items[o])||(t&&r._items[o].push(e),!1):(t&&(r._items[o]=[e]),!1);case"undefined":return!!r._items[o]||(t&&(r._items[o]=!0),!1);case"object":if(null===e)return!!r._items.null||(t&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(e))in r._items?!!he(e,r._items[o])||(t&&r._items[o].push(e),!1):(t&&(r._items[o]=[e]),!1)}}var zt=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!Lt(e,!0,this)},e.prototype.has=function(e){return Lt(e,!1,this)},e}(),Gt=m((function(e,t){for(var r,n,o=new zt,i=[],a=0;a<t.length;)r=e(n=t[a]),o.add(r)&&i.push(n),a+=1;return i}))(Wt),Kt=m((function(e,t){var r,n;return e.length>t.length?(r=e,n=t):(r=t,n=e),Gt(_(qe(he)(r),n))})),Vt=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.found=!1}return e.prototype["@@transducer/init"]=A,e.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,-1)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.found=!0,e=It(this.xf["@@transducer/step"](e,this.idx))),e},e}(),Qt=m(g([],m((function(e,t){return new Vt(e,t)})),(function(e,t){for(var r=0,n=t.length;r<n;){if(e(t[r]))return r;r+=1}return-1}))),Ht=te((function(e,t,r){return Y(t,r[e])})),$t=te((function(e,t,r){if(e>=r.length||e<-r.length)return r;var n=(e<0?r.length:0)+e,o=Se(r);return o[n]=t(r[n]),o})),Yt=m((function(e,t){return ke({},t,e)})),Xt=te((function(e,t,r){var n,o={};for(n in t)D(n,t)&&(o[n]=D(n,r)?e(n,t[n],r[n]):t[n]);for(n in r)D(n,r)&&!D(n,o)&&(o[n]=r[n]);return o})),Zt=te((function e(t,r,n){return Xt((function(r,n,o){return w(n)&&w(o)?e(t,n,o):t(r,n,o)}),r,n)})),Jt=m((function(e,t){return Zt((function(e,t,r){return r}),e,t)})),er=function(){function e(e,t){this.xf=t,this.f=e,this.idx=-1,this.lastIdx=-1}return e.prototype["@@transducer/init"]=A,e.prototype["@@transducer/result"]=function(e){return this.xf["@@transducer/result"](this.xf["@@transducer/step"](e,this.lastIdx))},e.prototype["@@transducer/step"]=function(e,t){return this.idx+=1,this.f(t)&&(this.lastIdx=this.idx),e},e}(),tr=m(g([],m((function(e,t){return new er(e,t)})),(function(e,t){for(var r=t.length-1;r>=0;){if(e(t[r]))return r;r-=1}return-1}))),rr=r(4),nr=r(27),or=r.n(nr),ir={OK:200,PREVENT_UPDATE:204,CLIENTSIDE_ERROR:"CLIENTSIDE_ERROR"},ar=h((function(e){return function(){return e}})),sr=function(e){return{value:e,map:function(t){return sr(t(e))}}},ur=te((function(e,t,r){return e((function(e){return sr(t(e))}))(r).value})),cr=te((function(e,t,r){return ur(e,ar(t),r)}));function fr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function lr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function pr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function dr(e,t,r){return t&&pr(e.prototype,t),r&&pr(e,r),e}var yr="_dash_persistence.";function hr(e){var t="string"==typeof e?new Error(e):e;return console.error(e),Object(rr.createAction)("ON_ERROR")({myID:yr,type:"frontEnd",error:t})}function mr(e,t){var r=e+t,n=r.length;return function(t){return t===e||t.substr(0,n)===r}}var vr=function(e){return"U"===e?void 0:JSON.parse(e||null)},br=function(e){return void 0===e?"U":JSON.stringify(e)},gr=function(){function e(t){lr(this,e),this._name=t,this._storage=window[t]}return dr(e,[{key:"hasItem",value:function(e){return null!==this._storage.getItem(yr+e)}},{key:"getItem",value:function(e){return vr(this._storage.getItem(yr+e))}},{key:"_setItem",value:function(e,t){this._storage.setItem(yr+e,br(t))}},{key:"setItem",value:function(e,t,r){try{this._setItem(e,t)}catch(t){r(hr("".concat(e," failed to save in ").concat(this._name,". Persisted props may be lost.")))}}},{key:"removeItem",value:function(e){this._storage.removeItem(yr+e)}},{key:"clear",value:function(e){for(var t=this,r=mr(yr+(e||""),e?".":""),n=[],o=0;o<this._storage.length;o++){var i=this._storage.key(o);r(i)&&n.push(i)}v((function(e){return t._storage.removeItem(e)}),n)}}]),e}(),_r=16;var wr={memory:new(function(){function e(){lr(this,e),this._data={}}return dr(e,[{key:"hasItem",value:function(e){return e in this._data}},{key:"getItem",value:function(e){return vr(this._data[e])}},{key:"setItem",value:function(e,t){this._data[e]=br(t)}},{key:"removeItem",value:function(e){delete this._data[e]}},{key:"clear",value:function(e){var t=this;e?v((function(e){return delete t._data[e]}),z(mr(e,"."),L(this._data))):this._data={}}}]),e}())},Or={local:"localStorage",session:"sessionStorage"};function Sr(e,t){var r=new gr(e),n=wr.memory,o=function(){for(var e="Spam",t=2;t<_r;t++)e+=e;return e}(),i=yr+"x.x";try{return r._setItem(i,o),r.getItem(i)!==o?(t(hr("".concat(e," init failed set/get, falling back to memory"))),n):(r.removeItem(i),r)}catch(r){t(hr("".concat(e," init first try failed; clearing and retrying")))}try{if(r.clear(),r._setItem(i,o),r.getItem(i)!==o)throw new Error("nope");return r.removeItem(i),t(hr("".concat(e," init set/get succeeded after clearing!"))),r}catch(r){return t(hr("".concat(e," init still failed, falling back to memory"))),n}}function xr(e,t){return wr[e]||(wr[e]=Sr(Or[e],t)),wr[e]}var kr={extract:function(e){return e},apply:function(e,t){return e}},jr=function(e,t,r){return r?e.persistenceTransforms[t][r]:kr},Pr=function(e,t,r){return"".concat(e,".").concat(t,".").concat(JSON.stringify(r))},Er=function(e){var t=e.props,r=e.type,n=e.namespace;if(!r||!n)return{props:t};var o=t.id,i=t.persistence,a=Pt.resolve(e),s=function(e){return t[e]||(a.defaultProps||{})[e]},u=s("persisted_props"),c=s("persistence_type");return{canPersist:o&&u&&c,id:o,props:t,element:a,persistence:i,persisted_props:u,persistence_type:c}};function Tr(e,t){return"Object"===Q(e)&&e.props?function e(t,r,n,o){var i=Er(r),a=i.canPersist,s=i.id,u=i.props,c=i.element,f=i.persistence,l=i.persisted_props,p=i.persistence_type;var d=t;if(a&&f){var y=xr(p,o),h={};for(var m in v((function(e){return Ar(Pr(s,e,f),y,c,u,e,h)}),l),h)d=cr(de(n.concat("props",m)),h[m],d)}var b=u.children;Array.isArray(b)?b.forEach((function(t,r){"Object"===Q(t)&&t.props&&(d=e(d,t,n.concat("props","children",r),o))})):"Object"===Q(b)&&b.props&&(d=e(d,b,n.concat("props","children"),o));return d}(e,e,[],t):e}var Cr=!0;function Ar(e,t,r,n,o,i,a){if(t.hasItem(e)){var s=fr(t.getItem(e),2),u=s[0],c=s[1],f=a?u:c,l=a?c:u,p=fr(o.split("."),2),d=p[0],y=p[1],h=jr(r,d,y);Y(f,h.extract(n[d]))?i[d]=h.apply(l,d in i?i[d]:n[d]):t.removeItem(e)}}var Rr=r(28),Mr=function(e,t,r){var n=[];return r.forEach((function(r){var o=t[r];if(o){var i=pe(o,e);if(i){var a=Pt.resolve(i),s=Object(Rr.isReady)(a);s&&"function"==typeof s.then&&n.push(s)}}})),!n.length||Promise.all(n)};function Ir(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Dr(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Nr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Br=Object(rr.createAction)(Ee("ON_PROP_CHANGE")),Fr=Object(rr.createAction)(Ee("SET_REQUEST_QUEUE")),Ur=Object(rr.createAction)(Ee("COMPUTE_GRAPHS")),qr=Object(rr.createAction)(Ee("COMPUTE_PATHS")),Wr=Object(rr.createAction)(Ee("SET_APP_LIFECYCLE")),Lr=Object(rr.createAction)(Ee("SET_CONFIG")),zr=Object(rr.createAction)(Ee("SET_HOOKS")),Gr=Object(rr.createAction)(Ee("SET_LAYOUT")),Kr=Object(rr.createAction)(Ee("ON_ERROR"));function Vr(){return function(e,t){!function(e,t){var r=t().graphs,n=r.InputGraph,o=r.MultiGraph,i=n.overallOrder();try{o.overallOrder()}catch(t){e(Kr({type:"backEnd",error:{message:"Circular Dependencies",html:t.toString()}}))}var a=[];i.reverse(),i.forEach((function(e){var r=e.split(".")[0];n.dependenciesOf(e).length>0&&0===n.dependantsOf(e).length&&Re(r,t().paths)&&a.push(e)})),Zr(a,n).forEach((function(r){var n=Nr(r.input.split("."),2),o=n[0],i=n[1],a=de(we(t().paths[o],["props",i])),s=ee(a,t().layout);e(Jr({id:o,props:Dr({},i,s),excludedOutputs:r.excludedOutputs}))}))}(e,t),e(Wr(ut("HYDRATED")))}}function Qr(){return{"X-CSRFToken":or.a.parse(document.cookie)._csrf_token}}var Hr=Object(rr.createAction)("UNDO")();var $r=Object(rr.createAction)("REVERT")();function Yr(){return Xr($r)}function Xr(e){return function(t,r){var n=r().history;t(e);var o=n.past[n.past.length-1];t(Object(rr.createAction)("UNDO_PROP_CHANGE")({itempath:r().paths[o.id],props:o.props})),t(Jr({id:o.id,props:o.props}))}}function Zr(e,t){var r=e.map((function(e){return{input:e,outputs:t.dependenciesOf(e),excludedOutputs:[]}})),n=Bt((function(e,t){return t.outputs.length-e.outputs.length}),r);return n.forEach((function(e,t){var r=Ut(ze("outputs",Qe(0,t,n)));e.outputs.forEach((function(t){Oe(t,r)&&e.excludedOutputs.push(t)}))})),n}function Jr(e){return function(t,r){var n,o,i,a,s,u,c,f,l,p,d,y,h,m,v,b,g,_,w,O,S;return regeneratorRuntime.async((function(x){for(;;)switch(x.prev=x.next){case 0:if(n=e.id,o=e.props,i=e.excludedOutputs,a=r(),s=a.dependenciesRequest,u=a.graphs,c=a.layout,f=a.paths,l=a.requestQueue,p=u.InputGraph,d=[],(y=L(o)).forEach((function(e){var t="".concat(n,".").concat(e);p.hasNode(t)&&p.dependenciesOf(t).forEach((function(e){Oe(e,d)||d.push(e)}))})),i&&(d=ge(qe(Oe)(i),d)),!Z(d)){x.next=9;break}return x.abrupt("return");case 9:return h=p.overallOrder(),d=Bt((function(e,t){return h.indexOf(t)-h.indexOf(e)}),d),m=[],d.forEach((function(e){var t;t=De(e)?Ne(e).map((function(e){return e.split(".")[0]})):[e.split(".")[0]];var n=p.dependantsOf(e),o=Kt(m,n),i=Nt((function(e){return Oe(e.controllerId,n)&&"loading"===e.status}),l);0===o.length&&Nt((function(e){return Re(e,r().paths)}))(t)&&!i&&m.push(e)})),v=m.map((function(e){return s.content.find((function(t){return t.output===e}))})),b=Gt(Ut(v.map((function(e){return[e.inputs.map((function(e){return e.id})),e.state.map((function(e){return e.id}))]})))),x.next=17,regeneratorRuntime.awrap(Mr(c,f,b));case 17:for(g=m.map((function(e){return{controllerId:e,status:"loading",uid:Ie(),requestTime:Date.now()}})),t(Fr(we(l,g))),_=[],w=0;w<m.length;w++)O=m[w],S=g[w].uid,_.push(en(O,r,S,t,y.map((function(e){return"".concat(n,".").concat(e)}))));return x.abrupt("return",Promise.all(_));case 22:case"end":return x.stop()}}))}}function en(e,t,r,n,o){var i=t(),a=i.config,s=i.layout,u=i.graphs,c=i.dependenciesRequest,f=i.hooks,l=u.InputGraph,p=function(){var e=t().requestQueue;return Qt(Ht("uid",r),e)},d=function(e,r){var o=t().requestQueue,i=p();if(-1!==i){var a=$t(i,Yt({status:r,responseTime:Date.now(),rejected:e}),o),s=o[i].controllerId,u=a.filter((function(e,t){return e.controllerId!==s||t>=i}));n(Fr(u))}},y=Nr(e.split("."),2),h=y[0],m=(y[1],{output:e,changedPropIds:o}),b=c.content.find((function(t){return t.output===e})),g=b.inputs,_=b.state,w=b.clientside_function,O=L(t().paths);m.inputs=g.map((function(e){if(!Oe(e.id,O))throw new ReferenceError("An invalid input object was used in an `Input` of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+O.join(", ")+"]`");var r=de(we(t().paths[e.id],["props",e.property]));return{id:e.id,property:e.property,value:ee(r,s)}}));var S=g.map((function(e){return"".concat(e.id,".").concat(e.property)}));function x(e,r){var o=t(),i=o.layout,a=o.paths[e];if(!a)return!1;var s=Tr({props:function(e,t,r){var n=Er(e),o=n.canPersist,i=n.id,a=n.props,s=n.persistence,u=n.persisted_props,c=n.persistence_type,f=n.element,l=function(e,r){return e in t?t[e]:r},p=l("persistence",s);if(!o||!s&&!p)return t;var d=l("persistence_type",c),y=l("persisted_props",u),h=p!==s||d!==c||y!==u,m=function(e){return!(e.split(".")[0]in t)},b={},g=a;if(h&&s){var _=xr(c,r);v((function(e){return Ar(Pr(i,e,s),_,f,a,e,b,Cr)}),z(m,u)),g=je(a,b)}if(p){var w=xr(d,r);h&&v((function(e){return Ar(Pr(i,e,p),w,f,g,e,b)}),z(m,y));var O=f.persistenceTransforms||{};for(var S in t){var x=O[S];if(x)for(var k in x)w.removeItem(Pr(i,"".concat(S,".").concat(k),p));else w.removeItem(Pr(i,S,p))}}return h?je(t,b):t}(pe(a,i),r,n)},n).props;return n(Br({itempath:a,props:s,source:"response"})),s}if(m.changedPropIds=o.filter((function(e){return Oe(e,S)})),_.length>0&&(m.state=_.map((function(e){if(!Oe(e.id,O))throw new ReferenceError("An invalid input object was used in a `State` object of a Dash callback. The id of this object is `"+e.id+"` and the property is `"+e.property+"`. The list of ids in the current layout is `["+O.join(", ")+"]`");var r=de(we(t().paths[e.id],["props",e.property]));return{id:e.id,property:e.property,value:ee(r,s)}}))),w){var k,j=function(e,t){var r=Nr(e.split("."),2),o=r[0],i=Dr({},r[1],t);if(d(!1,ir.OK),t!==window.dash_clientside.no_update){var a=x(o,i);a&&n(Jr({id:o,props:a}))}};window.dash_clientside||(window.dash_clientside={}),window.dash_clientside.no_update||(Object.defineProperty(window.dash_clientside,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(window.dash_clientside,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1}));try{var P;k=(P=window.dash_clientside[w.namespace])[w.function_name].apply(P,Ir(ze("value",m.inputs)).concat(Ir(Re("state",m)?ze("value",m.state):[])))}catch(e){return e===window.dash_clientside.PreventUpdate?void d(!0,ir.PREVENT_UPDATE):(console.error("The following error occurred while executing ".concat(w.namespace,".").concat(w.function_name," ")+'in order to update component "'.concat(m.output,'" ⋁⋁⋁')),console.error(e),void d(!0,ir.CLIENTSIDE_ERROR))}return"Promise"===Q(k)?(console.error("The clientside function "+"".concat(w.namespace,".").concat(w.function_name," ")+"returned a Promise instead of a value. Promises are not supported in Dash clientside right now, but may be in the future."),void d(!0,ir.CLIENTSIDE_ERROR)):void(De(m.output)?Ne(m.output).forEach((function(e,t){j(e,k[t])})):j(m.output,k))}return null!==f.request_pre&&f.request_pre(m),fetch("".concat(Me(a),"_dash-update-component"),Jt(a.fetch,{method:"POST",headers:Qr(),body:JSON.stringify(m)})).then((function(r){var i=function(){return tr(Ht("controllerId",e),t().requestQueue)>p()};if(r.status!==ir.OK){if(d(!0,r.status),r.status===ir.PREVENT_UPDATE)return;throw r}i()?d(!0,r.status):r.json().then((function(a){if(i())d(!0,r.status);else{d(!1,r.status),null!==f.request_post&&f.request_post(m,a.response);var s=a.multi,u=function(e){var r=Nr(e,2),i=r[0],a=r[1],u=s?i:h,c=x(u,a);if(c&&(n(Jr({id:u,props:c})),Re("children",c))){var f=c.children;if(n(qr({subTree:f,startingPath:we(t().paths[u],["props","children"])})),Oe(Q(f),["Array","Object"])&&!Z(f)){var p={};rt(f,(function(e){(function(e){return"Object"===Q(e)&&Re("props",e)&&Re("id",e.props)})(e)&&L(e.props).forEach((function(t){var r="".concat(e.props.id,".").concat(t);Re(r,l.nodes)&&(p[r]={id:e.props.id,props:Dr({},t,e.props[t])})}))}));var d=[];L(p).forEach((function(e){0===l.dependenciesOf(e).length&&0===Kt(l.dependantsOf(e),L(p)).length&&(d.push(e),delete p[e])}));var y=Zr(L(p),l),m=l.overallOrder();Bt((function(e,t){return m.indexOf(e.input)-m.indexOf(t.input)}),y).forEach((function(e){var t=p[e.input];t.excludedOutputs=e.excludedOutputs,n(Jr(t))})),d.forEach((function(e){var r=Ie();n(Fr(xe({controllerId:null,status:"loading",uid:r,requestTime:Date.now()},t().requestQueue))),en(e,t,r,n,o)}))}}};s?Object.entries(a.response).forEach(u):u([e,a.response.props])}}))})).catch((function(e){tn(e,"Callback error updating ".concat(De(m.output)?Ne(m.output).join(", "):m.output),n)}))}function tn(e,t,r){(e&&"function"==typeof e.text?e.text():Promise.resolve(e)).then((function(e){r(Kr({type:"backEnd",error:{message:t,html:e}}))}))}var rn=["String","Number","Null","Boolean"],nn=function(e){return Oe(Q(e),rn)},on=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var an=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._userAgent=t,this._listeners=[],this._cssSet={}}return on(e,[{key:"subscribe",value:function(e){var t=this;return-1===this._listeners.indexOf(e)&&this._listeners.push(e),{remove:function(){var r=t._listeners.indexOf(e);r>-1&&t._listeners.splice(r,1)}}}},{key:"addCSS",value:function(e){var t=this;return this._cssSet[e]||(this._cssSet[e]=!0,this._emitChange()),{remove:function(){delete t._cssSet[e],t._emitChange()}}}},{key:"getCSS",value:function(){return Object.keys(this._cssSet).join("\n")}},{key:"_emitChange",value:function(){this._listeners.forEach((function(e){return e()}))}}]),e}(),sn={animationIterationCount:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,stopOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function un(e,t){return!sn[e]&&"number"==typeof t&&0!==t?t+"px":t}function cn(e,t){return Object.keys(e).reduce((function(r,n){return r[n]=t(e[n],n),r}),{})}function fn(e){return cn(e,(function(t,r){return un(r,e[r])+" !important"}))}var ln=r(11),pn=r(7);function dn(e,t,r){if(!t)return"";var n,o=cn(t,(function(e,t){return un(t,e)})),i=Object(pn.b)(o,r),a=Object(ln.b)(i);return e+"{"+(n=a,Object.keys(n).map((function(e){return e+": "+n[e]+";"})).join("\n"))+"}"}var yn=function(e){return null==e?"main":e.toString()},hn=function(e,t,r){var n=yn(t);return!!e&&!!e._radiumStyleState&&!!e._radiumStyleState[n]&&e._radiumStyleState[n][r]},mn=function(e){return"string"==typeof e.ref?e.ref:e.key},vn=function(e){return e._lastRadiumState||e.state&&e.state._radiumStyleState||{}};function bn(e){if(!e)return"";for(var t=5381,r=e.length-1;r;)t=33*t^e.charCodeAt(r),r-=1;return(t>>>0).toString(16)}var gn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function _n(e){return e&&e.constructor===Object&&e.toString===Object.prototype.toString}function wn(e){var t={};return e.forEach((function(e){e&&"object"===(void 0===e?"undefined":gn(e))&&(Array.isArray(e)&&(e=wn(e)),Object.keys(e).forEach((function(r){if(_n(e[r])&&_n(t[r])){if(0===r.indexOf("@media"))for(var n=r;;)if(!t[n+=" "])return void(t[n]=e[r]);t[r]=wn([t[r],e[r]])}else t[r]=e[r]})))})),t}Object.assign,"function"==typeof Symbol&&Symbol.iterator;var On=function(){};var Sn=function(e){var t=e.style,r=e.mergeStyles;return{style:Array.isArray(t)?r(t):t}};var xn=[],kn=!1;function jn(){xn.forEach((function(e){e()}))}var Pn=function(e){return-1===xn.indexOf(e)&&xn.push(e),kn||(window.addEventListener("mouseup",jn),kn=!0),{remove:function(){var t=xn.indexOf(e);xn.splice(t,1),0===xn.length&&kn&&(window.removeEventListener("mouseup",jn),kn=!1)}}},En=function(e){return":hover"===e||":active"===e||":focus"===e},Tn=function(e){var t=e.ExecutionEnvironment,r=e.getComponentField,n=e.getState,o=e.mergeStyles,i=e.props,a=e.setState,s=e.style,u={},c={};if(s[":hover"]){var f=i.onMouseEnter;c.onMouseEnter=function(e){f&&f(e),a(":hover",!0)};var l=i.onMouseLeave;c.onMouseLeave=function(e){l&&l(e),a(":hover",!1)}}if(s[":active"]){var p=i.onMouseDown;c.onMouseDown=function(e){p&&p(e),u._lastMouseDown=Date.now(),a(":active","viamousedown")};var d=i.onKeyDown;c.onKeyDown=function(e){d&&d(e)," "!==e.key&&"Enter"!==e.key||a(":active","viakeydown")};var y=i.onKeyUp;c.onKeyUp=function(e){y&&y(e)," "!==e.key&&"Enter"!==e.key||a(":active",!1)}}if(s[":focus"]){var h=i.onFocus;c.onFocus=function(e){h&&h(e),a(":focus",!0)};var m=i.onBlur;c.onBlur=function(e){m&&m(e),a(":focus",!1)}}s[":active"]&&!r("_radiumMouseUpListener")&&t.canUseEventListeners&&(u._radiumMouseUpListener=Pn((function(){Object.keys(r("state")._radiumStyleState).forEach((function(e){"viamousedown"===n(":active",e)&&a(":active",!1,e)}))})));var v=i.disabled?[s[":disabled"]]:Object.keys(s).filter((function(e){return En(e)&&n(e)})).map((function(e){return s[e]})),b=o([s].concat(v));return b=Object.keys(b).reduce((function(e,t){return En(t)||":disabled"===t||(e[t]=b[t]),e}),{}),{componentFields:u,props:c,style:b}},Cn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},An=void 0;function Rn(e,t){return Object.keys(e).filter((function(r){return t(e[r],r)})).reduce((function(t,r){return t[r]=e[r],t}),{})}var Mn={checkProps:On,keyframes:function(e){var t=e.addCSS,r=e.config,n=e.style;return{style:Object.keys(n).reduce((function(e,o){var i=n[o];if("animationName"===o&&i&&i.__radiumKeyframes){var a=i.__process(r.userAgent),s=a.animationName,u=a.css;t(u),i=s}return e[o]=i,e}),{})}},mergeStyleArray:Sn,prefix:function(e){var t=e.config,r=e.style;return{style:Object(pn.b)(r,t.userAgent)}},removeNestedStyles:function(e){var t=e.isNestedStyle,r=e.style;return{style:Object.keys(r).reduce((function(e,n){var o=r[n];return t(o)||(e[n]=o),e}),{})}},resolveInteractionStyles:Tn,resolveMediaQueries:function(e){var t=e.ExecutionEnvironment,r=e.addCSS,n=e.appendImportantToEachValue,o=e.config,i=e.cssRuleSetToString,a=e.getComponentField,s=e.getGlobalState,u=e.hash,c=e.isNestedStyle,f=e.mergeStyles,l=e.props,p=e.setState,d=e.style,y=function(e){return Object.keys(e).reduce((function(t,r){return 0!==r.indexOf("@media")&&(t[r]=e[r]),t}),{})}(d),h=function(e){var t=e.addCSS,r=e.appendImportantToEachValue,n=e.cssRuleSetToString,o=e.hash,i=e.isNestedStyle,a=e.style,s=e.userAgent,u="";return Object.keys(a).filter((function(e){return 0===e.indexOf("@media")})).map((function(e){var c=r(Rn(a[e],(function(e){return!i(e)})));if(Object.keys(c).length){var f=n("",c,s),l="rmq-"+o(e+f);t(e+"{ ."+l+f+"}"),u+=(u?" ":"")+l}})),u}({addCSS:r,appendImportantToEachValue:n,cssRuleSetToString:i,hash:u,isNestedStyle:c,style:d,userAgent:o.userAgent}),m=h?{className:h+(l.className?" "+l.className:"")}:null,v=o.matchMedia||function(e){return void 0===An&&(An=!!e.canUseDOM&&!!window&&!!window.matchMedia&&function(e){return window.matchMedia(e)}||null),An}(t);if(!v)return{props:m,style:y};var b=Cn({},a("_radiumMediaQueryListenersByQuery")),g=s("mediaQueryListsByQuery")||{};return Object.keys(d).filter((function(e){return 0===e.indexOf("@media")})).map((function(e){var t=Rn(d[e],c);if(Object.keys(t).length){var r=function(e){var t=e.listener,r=e.listenersByQuery,n=e.matchMedia,o=e.mediaQueryListsByQuery,i=e.query,a=o[i=i.replace("@media ","")];return!a&&n&&(o[i]=a=n(i)),r&&r[i]||(a.addListener(t),r[i]={remove:function(){a.removeListener(t)}}),a}({listener:function(){return p(e,r.matches,"_all")},listenersByQuery:b,matchMedia:v,mediaQueryListsByQuery:g,query:e});r.matches&&(y=f([y,t]))}})),{componentFields:{_radiumMediaQueryListenersByQuery:b},globalState:{mediaQueryListsByQuery:g},props:m,style:y}},visited:function(e){var t=e.addCSS,r=e.appendImportantToEachValue,n=e.config,o=e.cssRuleSetToString,i=e.hash,a=e.props,s=e.style,u=a.className,c=Object.keys(s).reduce((function(e,a){var c=s[a];if(":visited"===a){c=r(c);var f=o("",c,n.userAgent),l="rad-"+i(f);t("."+l+":visited"+f),u=(u?u+" ":"")+l}else e[a]=c;return e}),{});return{props:u===a.className?null:{className:u},style:c}}},In=r(10),Dn=r.n(In),Nn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Bn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Fn={plugins:[Mn.mergeStyleArray,Mn.checkProps,Mn.resolveMediaQueries,Mn.resolveInteractionStyles,Mn.keyframes,Mn.visited,Mn.removeNestedStyles,Mn.prefix,Mn.checkProps]},Un={},qn=null,Wn=function(e){return e.type&&!e.type._isRadiumEnhanced},Ln=function(e){var t=e.children,r=e.component,n=e.config,i=e.existingKeyMap,a=e.extraStateKeyMap;if(!t)return t;var s=void 0===t?"undefined":Bn(t);if("string"===s||"number"===s)return t;if("function"===s)return function(){var e=t.apply(this,arguments);if(o.a.isValidElement(e)){var s=mn(e);delete a[s];var u=qn(r,e,n,i,!0,a),c=u.element;return c}return e};if(1===o.a.Children.count(t)&&t.type){var u=o.a.Children.only(t),c=mn(u);return delete a[c],qn(r,u,n,i,!0,a).element}return o.a.Children.map(t,(function(e){if(o.a.isValidElement(e)){var t=mn(e);return delete a[t],qn(r,e,n,i,!0,a).element}return e}))},zn=function(e){var t=e.component,r=e.config,n=e.existingKeyMap,i=e.props,a=e.extraStateKeyMap,s=i;return Object.keys(i).forEach((function(e){if("children"!==e){var u=i[e];if(o.a.isValidElement(u)){var c=mn(u);delete a[c],s=Nn({},s);var f=qn(t,u,r,n,!0,a).element;s[e]=f}}})),s},Gn=function(e){var t=e.component,r=e.config,n=e.existingKeyMap,i=e.props,a=e.renderedElement;if(!o.a.isValidElement(a)||"string"!=typeof a.type||!i.style)return i;var s=i,u=r.plugins||Fn.plugins,c=t.constructor.displayName||t.constructor.name,f=function(e){var t=e.componentName,r=e.existingKeyMap,n=e.renderedElement,o=mn(n),i=yn(o),a=!1;return function(){if(a)return i;if(a=!0,r[i]){var e=void 0;throw"string"==typeof n.type?e=n.type:n.type.constructor&&(e=n.type.constructor.displayName||n.type.constructor.name),new Error("Radium requires each element with interactive styles to have a unique key, set using either the ref or key prop. "+(o?'Key "'+o+'" is a duplicate.':"Multiple elements have no key specified.")+' Component: "'+t+'". '+(e?'Element: "'+e+'".':""))}return r[i]=!0,i}}({renderedElement:a,existingKeyMap:n,componentName:c}),l=function(e){return t[e]},p=function(e){return Un[e]},d=function(e,r){return hn(t.state,r||f(),e)},y=function(e,r,n){return function(e,t,r,n){if(e._radiumIsMounted){var o=vn(e),i={_radiumStyleState:Nn({},o)};i._radiumStyleState[t]=Nn({},i._radiumStyleState[t]),i._radiumStyleState[t][r]=n,e._lastRadiumState=i._radiumStyleState,e.setState(i)}}(t,n||f(),e,r)},h=function(e){var r=t._radiumStyleKeeper||t.context._radiumStyleKeeper;if(!r){if(Vn)return{remove:function(){}};throw new Error("To use plugins requiring `addCSS` (e.g. keyframes, media queries), please wrap your application in the StyleRoot component. Component name: `"+c+"`.")}return r.addCSS(e)},m=i.style;return u.forEach((function(e){var n=e({ExecutionEnvironment:Dn.a,addCSS:h,appendImportantToEachValue:fn,componentName:c,config:r,cssRuleSetToString:dn,getComponentField:l,getGlobalState:p,getState:d,hash:bn,mergeStyles:wn,props:s,setState:y,isNestedStyle:_n,style:m})||{};m=n.style||m,s=n.props&&Object.keys(n.props).length?Nn({},s,n.props):s;var o=n.componentFields||{};Object.keys(o).forEach((function(e){t[e]=o[e]}));var i=n.globalState||{};Object.keys(i).forEach((function(e){Un[e]=i[e]}))})),m!==i.style&&(s=Nn({},s,{style:m})),s},Kn=function(e,t,r){return"string"==typeof e.type&&(t=Nn({},t,{"data-radium":!0})),o.a.cloneElement(e,t,r)},Vn=!1;var Qn=qn=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Fn,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments[5];if(!i){var a=vn(e);i=Object.keys(a).reduce((function(e,t){return"main"!==t&&(e[t]=!0),e}),{})}if(!t||t.props&&t.props["data-radium"]||o&&!Wn(t))return{extraStateKeyMap:i,element:t};var s=Ln({children:t.props.children,component:e,config:r,existingKeyMap:n,extraStateKeyMap:i}),u=zn({component:e,config:r,existingKeyMap:n,extraStateKeyMap:i,props:t.props});if(u=Gn({component:e,config:r,existingKeyMap:n,props:u,renderedElement:t}),s===t.props.children&&u===t.props)return{extraStateKeyMap:i,element:t};var c=Kn(t,u!==t.props?u:{},s);return{extraStateKeyMap:i,element:c}},Hn=function e(t,r,n){null===t&&(t=Function.prototype);var o=Object.getOwnPropertyDescriptor(t,r);if(void 0===o){var i=Object.getPrototypeOf(t);return null===i?void 0:e(i,r,n)}if("value"in o)return o.value;var a=o.get;return void 0!==a?a.call(n):void 0},$n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),Yn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},Xn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function Zn(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function eo(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var to=["arguments","callee","caller","length","name","prototype","type"];function ro(e,t){Object.getOwnPropertyNames(e).forEach((function(r){if(to.indexOf(r)<0&&!t.hasOwnProperty(r)){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n)}}))}function no(e){var t,r,o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if("function"!=typeof e){var i=Yn({},o,e);return function(e){return no(e,i)}}var a=e,s=a;(function(e){return"function"==typeof e&&/^\s*class\s+/.test(e.toString())})(s)&&(s=function(e){function t(){return ro(new(Function.prototype.bind.apply(e,[null].concat(Array.prototype.slice.call(arguments)))),this),this}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":Xn(t)));e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t}(s)),function(e){return!(e.render||e.prototype&&e.prototype.render)}(s)&&((s=function(e){function t(){return Zn(this,t),Jn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return eo(t,e),$n(t,[{key:"render",value:function(){return a(this.props,this.context)}}]),t}(n.Component)).displayName=a.displayName||a.name);var u=(r=t=function(e){function t(){Zn(this,t);var e=Jn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e.state=e.state||{},e.state._radiumStyleState={},e._radiumIsMounted=!0,e}return eo(t,e),$n(t,[{key:"componentWillUnmount",value:function(){Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this)&&Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentWillUnmount",this).call(this),this._radiumIsMounted=!1,this._radiumMouseUpListener&&this._radiumMouseUpListener.remove(),this._radiumMediaQueryListenersByQuery&&Object.keys(this._radiumMediaQueryListenersByQuery).forEach((function(e){this._radiumMediaQueryListenersByQuery[e].remove()}),this)}},{key:"getChildContext",value:function(){var e=Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this)?Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"getChildContext",this).call(this):{};if(!this.props.radiumConfig)return e;var r=Yn({},e);return this.props.radiumConfig&&(r._radiumConfig=this.props.radiumConfig),r}},{key:"render",value:function(){var e=Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"render",this).call(this),r=this.props.radiumConfig||this.context._radiumConfig||o;o&&r!==o&&(r=Yn({},o,r));var n=Qn(this,e,r),i=n.extraStateKeyMap,a=n.element;return this._extraRadiumStateKeys=Object.keys(i),a}},{key:"componentDidUpdate",value:function(e,r){if(Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this)&&Hn(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"componentDidUpdate",this).call(this,e,r),this._extraRadiumStateKeys.length>0){var n=this._extraRadiumStateKeys.reduce((function(e,t){e[t];return function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,[t])}),vn(this));this._lastRadiumState=n,this.setState({_radiumStyleState:n})}}}]),t}(s),t._isRadiumEnhanced=!0,r);return ro(a,u),u.propTypes&&u.propTypes.style&&(u.propTypes=Yn({},u.propTypes,{style:jt.a.oneOfType([jt.a.array,jt.a.object])})),u.displayName=a.displayName||a.name||"Component",u.contextTypes=Yn({},u.contextTypes,{_radiumConfig:jt.a.object,_radiumStyleKeeper:jt.a.instanceOf(an)}),u.childContextTypes=Yn({},u.childContextTypes,{_radiumConfig:jt.a.object,_radiumStyleKeeper:jt.a.instanceOf(an)}),u}var oo,io,ao="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},so=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var uo,co,fo=(io=oo=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),so(t,[{key:"_buildStyles",value:function(e){var t=this,r=this.props.radiumConfig&&this.props.radiumConfig.userAgent||this.context&&this.context._radiumConfig&&this.context._radiumConfig.userAgent,n=this.props.scopeSelector,o=Object.keys(e).reduce((function(t,r){return"object"!==ao(e[r])&&(t[r]=e[r]),t}),{});return(Object.keys(o).length?dn(n||"",o,r):"")+Object.keys(e).reduce((function(o,i){var a=e[i];if("mediaQueries"===i)o+=t._buildMediaQueryString(a);else if("object"===ao(e[i])){o+=dn(n?i.split(",").map((function(e){return n+" "+e.trim()})).join(","):i,a,r)}return o}),"")}},{key:"_buildMediaQueryString",value:function(e){var t=this,r="";return Object.keys(e).forEach((function(n){r+="@media "+n+"{"+t._buildStyles(e[n])+"}"})),r}},{key:"render",value:function(){if(!this.props.rules)return null;var e=this._buildStyles(this.props.rules);return o.a.createElement("style",{dangerouslySetInnerHTML:{__html:e}})}}]),t}(n.PureComponent),oo.propTypes={radiumConfig:jt.a.object,rules:jt.a.object,scopeSelector:jt.a.string},oo.contextTypes={_radiumConfig:jt.a.object},oo.defaultProps={scopeSelector:""},io),lo=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();var po=(co=uo=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return e._onChange=function(){setTimeout((function(){e._isMounted&&e.setState(e._getCSSState())}),0)},e.state=e._getCSSState(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),lo(t,[{key:"componentDidMount",value:function(){this._isMounted=!0,this._subscription=this.context._radiumStyleKeeper.subscribe(this._onChange),this._onChange()}},{key:"componentWillUnmount",value:function(){this._isMounted=!1,this._subscription&&this._subscription.remove()}},{key:"_getCSSState",value:function(){return{css:this.context._radiumStyleKeeper.getCSS()}}},{key:"render",value:function(){return o.a.createElement("style",{dangerouslySetInnerHTML:{__html:this.state.css}})}}]),t}(n.PureComponent),uo.contextTypes={_radiumStyleKeeper:jt.a.instanceOf(an)},co),yo=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function ho(e){if(!e._radiumStyleKeeper){var t=e.props.radiumConfig&&e.props.radiumConfig.userAgent||e.context._radiumConfig&&e.context._radiumConfig.userAgent;e._radiumStyleKeeper=new an(t)}return e._radiumStyleKeeper}var mo=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments));return ho(e),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),yo(t,[{key:"getChildContext",value:function(){return{_radiumStyleKeeper:ho(this)}}},{key:"render",value:function(){var e=this.props,t=(e.radiumConfig,function(e,t){var r={};for(var n in e)t.indexOf(n)>=0||Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n]);return r}(e,["radiumConfig"]));return o.a.createElement("div",t,this.props.children,o.a.createElement(po,null))}}]),t}(n.PureComponent);mo.contextTypes={_radiumConfig:jt.a.object,_radiumStyleKeeper:jt.a.instanceOf(an)},mo.childContextTypes={_radiumStyleKeeper:jt.a.instanceOf(an)};var vo=mo=no(mo);function bo(e){return no(e)}bo.Plugins=Mn,bo.Style=fo,bo.StyleRoot=vo,bo.getState=hn,bo.keyframes=function(e,t){return{__radiumKeyframes:!0,__process:function(r){var n=Object(pn.a)(r),o=Object.keys(e).map((function(t){return dn(t,e[t],r)})).join("\n"),i=(t?t+"-":"")+"radium-animation-"+bn(o);return{css:"@"+n+" "+i+" {\n"+o+"\n}\n",animationName:i}}}};var go=bo;function _o(e){return(_o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wo(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Oo(e,t){return!t||"object"!==_o(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function So(e){return(So=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xo(e,t){return(xo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ko=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=Oo(this,So(t).call(this,e))).state={myID:e.componentId,oldChildren:null,hasError:!1},r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&xo(e,t)}(t,e),r=t,o=[{key:"getDerivedStateFromError",value:function(e){return{hasError:!0}}}],(n=[{key:"componentDidCatch",value:function(e,t){var r=this.props.dispatch;r(Kr({myID:this.state.myID,type:"frontEnd",error:e,info:t})),r(Yr)}},{key:"componentDidUpdate",value:function(e,t){var r=e.children;this.state.hasError||r===t.oldChildren||r===this.props.children||this.setState({oldChildren:r})}},{key:"render",value:function(){var e=this.state,t=e.hasError,r=e.oldChildren;return t?r:this.props.children}}])&&wo(r.prototype,n),o&&wo(r,o),t}(n.Component);ko.propTypes={children:jt.a.object,componentId:jt.a.string,error:jt.a.object,dispatch:jt.a.func};var jo=Object(s.connect)((function(e){return{error:e.error}}),(function(e){return{dispatch:e}}))(go(ko)),Po=r(57),Eo=r.n(Po);function To(e){return(To="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Co(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==s.return||s.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function Ao(e){return(Ao="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ro(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Mo(e){return(Mo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Io(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Do(e,t){return(Do=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function No(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Bo(e){if("Array"===Q(e))throw new Error("The children property of a component is a list of lists, instead of just a list. Check the component that has the following contents, and remove of the levels of nesting: \n"+JSON.stringify(e,null,2));if("Object"===Q(e)&&!(Re("namespace",e)&&Re("type",e)&&Re("props",e)))throw new Error("An object was provided as `children` instead of a component, string, or number (or list of those). Check the children property that looks something like:\n"+JSON.stringify(e,null,2))}var Fo=function(e,t){return nn(e)?e:o.a.createElement(zo,{key:e&&e.props&&e.props.id,_dashprivate_layout:e,_dashprivate_path:t})};function Uo(e){var t=e.element,r=e.extraProps,n=e.props,i=e.children,a=e.type,s=function(e,t,r,n,o){var i=[];for(var a in e)if(e.hasOwnProperty(a)){var s=void 0;try{"function"!=typeof e[a]?(s=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+To(e[a])+"`.")).name="Invariant Violation":s=e[a](t,a,n,r,null,Eo.a)}catch(e){s=e}if(!s||s instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+To(s)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),s instanceof Error){var u=o&&o()||"";i.push("Failed "+r+" type: "+s.message+u)}}return i.join("\n\n")}(t.propTypes,n,"component prop",t);return s&&function(e,t,r){var n,o=e.split("`");if(Oe("is marked as required",e)){var i=o[1];n="".concat(i," in ").concat(r),t.id&&(n+=' with ID "'.concat(t.id,'"')),n+=" is required but it was not provided."}else if(Oe("Bad object",e))n=e.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+e.split(".\nBad")[1];else{if(!Oe("Invalid ",e)||!Oe(" supplied to ",e))throw new Error(e);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),t.id&&(n+=' with ID "'.concat(t.id,'"')),n+=".",Oe(", expected ",e)){var s=e.split(", expected ")[1];n+="\nExpected ".concat(s)}if(Oe(" of type `",e)){var u=e.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(u,"`.")}if(Re(a,t)){var c=JSON.stringify(t[a],null,2);c&&(Oe("\n",c)?n+="\nValue provided: \n".concat(c):n+="\nValue provided: ".concat(c))}}throw new Error(n)}(s,n,a),o.a.createElement.apply(o.a,[t,je(n,r)].concat(No(Array.isArray(i)?i:[i])))}Uo.propTypes={children:jt.a.any,element:jt.a.any,layout:jt.a.any,props:jt.a.any,extraProps:jt.a.any,id:jt.a.string};var qo=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t){return!t||"object"!==Ao(t)&&"function"!=typeof t?Io(e):t}(this,Mo(t).call(this,e))).setProps=r.setProps.bind(Io(r)),r}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Do(e,t)}(t,e),r=t,(n=[{key:"setProps",value:function(e){var t=this.props,r=t._dashprivate_dependencies,n=t._dashprivate_dispatch,o=t._dashprivate_path,i=t._dashprivate_layout,a=this.getLayoutProps().id,s=z((function(e){return r&&r.find((function(t){return t.inputs.find((function(t){return t.id===a&&t.property===e}))||t.state.find((function(t){return t.id===a&&t.property===e}))}))}))(Et(e));!function(e,t,r){var n=Er(e),o=n.canPersist,i=n.id,a=n.props,s=n.element,u=n.persistence,c=n.persisted_props,f=n.persistence_type;o&&u&&v((function(e){var n=fr(e.split("."),2),o=n[0],c=n[1];if(t[o]){var l=xr(f,r),p=jr(s,o,c).extract,d=Pr(i,e,u),y=p(a[o]),h=p(t[o]);if(y!==h){l.hasItem(d)&&(y=l.getItem(d)[1]);var m=void 0===y?[h]:[h,y];l.setItem(d,m,r)}}}),c)}(i,e,n),n(Br({props:e,itempath:o})),s.length&&n(Jr({id:a,props:Tt(s)(e)}))}},{key:"getChildren",value:function(e,t){return oe(e)?null:Array.isArray(e)?Ct(fe)((function(e,r){return Fo(e,we(t,["props","children",r]))}),e):Fo(e,we(t,["props","children"]))}},{key:"getComponent",value:function(e,t,r,n){var i=this.props._dashprivate_config;if(Z(e))return null;if(nn(e))return e;Bo(e);var a=Pt.resolve(e),s=nt(["children"],e.props);return i.props_check?o.a.createElement(jo,{componentType:e.type,componentId:e.props.id,key:a&&a.props&&a.props.id},o.a.createElement(Uo,{children:t,element:a,props:s,extraProps:{loading_state:r,setProps:n},type:e.type})):o.a.createElement(jo,{componentType:e.type,componentId:e.props.id,key:a&&a.props&&a.props.id},o.a.createElement.apply(o.a,[a,je(s,{loading_state:r,setProps:n})].concat(No(Array.isArray(t)?t:[t]))))}},{key:"shouldComponentUpdate",value:function(e){var t=e._dashprivate_layout,r=e._dashprivate_loadingState;return t!==this.props._dashprivate_layout||r.is_loading!==this.props._dashprivate_loadingState.is_loading}},{key:"getLayoutProps",value:function(){return Mt({},"props",this.props._dashprivate_layout)}},{key:"render",value:function(){var e=this.props,t=e._dashprivate_layout,r=e._dashprivate_loadingState,n=e._dashprivate_path,o=this.getLayoutProps(),i=this.getChildren(o.children,n);return this.getComponent(t,i,r,this.setProps)}}])&&Ro(r.prototype,n),i&&Ro(r,i),t}(n.Component);function Wo(e){return Bo(e),Pt.resolve(e)._dashprivate_isLoadingComponent}function Lo(e,t){var r,n,o=Wo(e)?function(e){for(var t=[],r=[e];r.length;){var n=r.shift(),o=n&&n.props;if(o){var i=o.children,a=o.id;if(a&&t.push(a),i){var s=z((function(e){return!nn(e)&&!Wo(e)}),Array.isArray(i)?i:[i]);r.push.apply(r,No(s))}}}return t}(e):e&&e.props.id?[e.props.id]:[],i=!1;return t&&v((function(e){var t=oe(e.controllerId)?"":e.controllerId;if("loading"===e.status&&Nt((function(e){return Oe(e,t)}),o)){i=!0;var a=Co(e.controllerId.split("."),2);n=a[0],r=a[1]}}),t),{is_loading:i,prop_name:r,component_name:n}}qo.propTypes={_dashprivate_dependencies:jt.a.any,_dashprivate_dispatch:jt.a.func,_dashprivate_layout:jt.a.object,_dashprivate_loadingState:jt.a.object,_dashprivate_requestQueue:jt.a.any,_dashprivate_config:jt.a.object,_dashprivate_path:jt.a.array};var zo=Object(s.connect)((function(e){return{dependencies:e.dependenciesRequest.content,requestQueue:e.requestQueue,config:e.config}}),(function(e){return{dispatch:e}}),(function(e,t,r){return{_dashprivate_dependencies:e.dependencies,_dashprivate_dispatch:t.dispatch,_dashprivate_layout:r._dashprivate_layout,_dashprivate_path:r._dashprivate_path,_dashprivate_loadingState:Lo(r._dashprivate_layout,e.requestQueue),_dashprivate_requestQueue:e.requestQueue,_dashprivate_config:e.config}}))(qo),Go=zo;function Ko(e){return(Ko="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vo(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Qo(e,t){return!t||"object"!==Ko(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ho(e){return(Ho=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $o(e,t){return($o=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Yo=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Qo(this,Ho(t).call(this,e))}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$o(e,t)}(t,e),r=t,(n=[{key:"render",value:function(){return o.a.createElement("div",{id:"_dash-app-content"},this.props.children)}}])&&Vo(r.prototype,n),i&&Vo(r,i),t}(n.Component);Yo.propTypes={children:jt.a.object};var Xo=Yo;var Zo={GET:function(e,t){return fetch(e,Jt(t,{method:"GET",headers:Qr()}))},POST:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(e,Jt(t,{method:"POST",headers:Qr(),body:r?JSON.stringify(r):null}))}};function Jo(e,t,r,n,o){return function(i,a){var s=a().config,u="".concat(Me(s)).concat(e);return i({type:r,payload:{id:n,status:"loading"}}),Zo[t](u,s.fetch,o).then((function(e){var t=e.headers.get("content-type");return t&&-1!==t.indexOf("application/json")?e.json().then((function(t){return i({type:r,payload:{status:e.status,content:t,id:n}}),t})):i({type:r,payload:{id:n,status:e.status}})})).catch((function(t){tn(t,"Error from API call: "+e,i)}))}}function ei(e){return(ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ti(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ri(e){return(ri=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ni(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oi(e,t){return(oi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ii=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t){return!t||"object"!==ei(t)&&"function"!=typeof t?ni(e):t}(this,ri(t).call(this,e))).initialization=r.initialization.bind(ni(r)),r.state={errorLoading:!1},r}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oi(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this.initialization(this.props)}},{key:"componentWillReceiveProps",value:function(e){this.initialization(e)}},{key:"initialization",value:function(e){var t=e.appLifecycle,r=e.dependenciesRequest,n=e.dispatch,o=e.graphs,i=e.layout,a=e.layoutRequest,s=e.paths;if(Z(a))n(Jo("_dash-layout","GET","layoutRequest"));else if(a.status===ir.OK)if(Z(i)){var u=Tr(a.content,n);n(Gr(u))}else oe(s)&&n(qr({subTree:i,startingPath:[]}));if(Z(r)?n(Jo("_dash-dependencies","GET","dependenciesRequest")):r.status===ir.OK&&Z(o)&&n(Ur(r.content)),r.status===ir.OK&&!Z(o)&&a.status===ir.OK&&!Z(i)&&!oe(s)&&t===ut("STARTED")){var c=!1;try{n(Vr())}catch(e){c=!0}finally{this.setState((function(e){return e.errorLoading!==c?{errorLoading:c}:null}))}}}},{key:"render",value:function(){var e=this.props,t=e.appLifecycle,r=e.dependenciesRequest,n=e.layoutRequest,i=e.layout,a=e.config,s=this.state.errorLoading;return n.status&&!Oe(n.status,[ir.OK,"loading"])?o.a.createElement("div",{className:"_dash-error"},"Error loading layout"):s||r.status&&!Oe(r.status,[ir.OK,"loading"])?o.a.createElement("div",{className:"_dash-error"},"Error loading dependencies"):t===ut("HYDRATED")&&!0===a.ui?o.a.createElement(Xo,null,o.a.createElement(Go,{_dashprivate_layout:i,_dashprivate_path:[]})):t===ut("HYDRATED")?o.a.createElement(Go,{_dashprivate_layout:i,_dashprivate_path:[]}):o.a.createElement("div",{className:"_dash-loading"},"Loading...")}}])&&ti(r.prototype,n),i&&ti(r,i),t}(n.Component);ii.propTypes={appLifecycle:jt.a.oneOf([ut("STARTED"),ut("HYDRATED")]),dispatch:jt.a.func,dependenciesRequest:jt.a.object,layoutRequest:jt.a.object,layout:jt.a.object,paths:jt.a.object,history:jt.a.any,error:jt.a.object,config:jt.a.object};var ai=Object(s.connect)((function(e){return{appLifecycle:e.appLifecycle,dependenciesRequest:e.dependenciesRequest,layoutRequest:e.layoutRequest,layout:e.layout,graphs:e.graphs,paths:e.paths,history:e.history,error:e.error,config:e.config}}),(function(e){return{dispatch:e}}))(ii);function si(e){return(si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ui(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ci(e,t){return!t||"object"!==si(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function fi(e){return(fi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function li(e,t){return(li=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var pi=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=ci(this,fi(t).call(this,e))).state={initialTitle:document.title},r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&li(e,t)}(t,e),r=t,(n=[{key:"componentWillReceiveProps",value:function(e){Nt((function(e){return"loading"===e.status}),e.requestQueue)?document.title="Updating...":document.title=this.state.initialTitle}},{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return null}}])&&ui(r.prototype,n),o&&ui(r,o),t}(n.Component);pi.propTypes={requestQueue:jt.a.array.isRequired};var di=Object(s.connect)((function(e){return{requestQueue:e.requestQueue}}))(pi);function yi(e){return Nt((function(e){return"loading"===e.status}),e.requestQueue)?o.a.createElement("div",{className:"_dash-loading-callback"}):null}yi.propTypes={requestQueue:jt.a.array.isRequired};var hi=Object(s.connect)((function(e){return{requestQueue:e.requestQueue}}))(yi);function mi(e){var t=e.dispatch,r=e.history,n={parentSpanStyle:{display:"inline-block",opacity:"0.2",":hover":{opacity:1}},iconStyle:{fontSize:20},labelStyle:{fontSize:15}},i=o.a.createElement("span",{key:"undoLink",style:je({color:r.past.length?"#0074D9":"grey",cursor:r.past.length?"pointer":"default"},n.parentSpanStyle),onClick:function(){return t(Xr(Hr))}},o.a.createElement("div",{style:je({transform:"rotate(270deg)"},n.iconStyle)},"↺"),o.a.createElement("div",{style:n.labelStyle},"undo")),a=o.a.createElement("span",{key:"redoLink",style:je({color:r.future.length?"#0074D9":"grey",cursor:r.future.length?"pointer":"default",marginLeft:10},n.parentSpanStyle),onClick:function(){return t((function(e,t){var r=t().history;e(Object(rr.createAction)("REDO")());var n=r.future[0];e(Object(rr.createAction)("REDO_PROP_CHANGE")({itempath:t().paths[n.id],props:n.props})),e(Jr({id:n.id,props:n.props}))}))}},o.a.createElement("div",{style:je({transform:"rotate(90deg)"},n.iconStyle)},"↻"),o.a.createElement("div",{style:n.labelStyle},"redo"));return o.a.createElement("div",{className:"_dash-undo-redo",style:{position:"fixed",bottom:"30px",left:"30px",fontSize:"20px",textAlign:"center",zIndex:"9999",backgroundColor:"rgba(255, 255, 255, 0.9)"}},o.a.createElement("div",{style:{position:"relative"}},r.past.length>0?i:null,r.future.length>0?a:null))}mi.propTypes={history:jt.a.object,dispatch:jt.a.func};var vi=Object(s.connect)((function(e){return{history:e.history}}),(function(e){return{dispatch:e}}))(go(mi)),bi=h((function(e){return function(t,r){return e(t,r)?-1:e(r,t)?1:0}})),gi=m((function(e,t){return e<t}));function _i(e){return(_i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wi(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Oi(e){return(Oi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Si(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xi(e,t){return(xi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ki=function(e){function t(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=function(e,t){return!t||"object"!==_i(t)&&"function"!=typeof t?Si(e):t}(this,Oi(t).call(this,e)),e.config.hot_reload){var n=e.config.hot_reload,o=n.interval,i=n.max_retry;r.state={interval:o,disabled:!1,intervalId:null,packages:null,max_retry:i}}else r.state={disabled:!0};return r._retry=0,r._head=document.querySelector("head"),r.clearInterval=r.clearInterval.bind(Si(r)),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&xi(e,t)}(t,e),r=t,o=[{key:"getDerivedStateFromProps",value:function(e){return Z(e.reloadRequest)||"loading"===e.reloadRequest.status?null:{reloadRequest:e.reloadRequest}}}],(n=[{key:"clearInterval",value:function(){window.clearInterval(this.state.intervalId),this.setState({intervalId:null})}},{key:"componentDidUpdate",value:function(e,t){var r=this.state.reloadRequest,n=this.props.dispatch;if(r&&Re("reloadRequest",t))if(200===r.status&&pe(["content","reloadHash"],r)!==pe(["reloadRequest","content","reloadHash"],t))if(!r.content.hard&&Y(r.content.packages.length,Rt([],["reloadRequest","content","packages"],t).length)&&Y(Bt(bi(gi),r.content.packages),Bt(bi(gi),Rt([],["reloadRequest","content","packages"],t))))n({type:"RELOAD"});else{var o=!1,i=!0,a=!1,s=void 0;try{for(var u,c=r.content.files[Symbol.iterator]();!(i=(u=c.next()).done);i=!0){var f=u.value;if(!f.is_css){o=!1;break}o=!0;for(var l=[],p=document.evaluate('//link[contains(@href, "'.concat(f.url,'")]'),this._head),d=p.iterateNext();d;)l.push(d),d=p.iterateNext();if(v((function(e){return e.setAttribute("disabled","disabled")}),l),f.modified>0){var y=document.createElement("link");y.href="".concat(f.url,"?m=").concat(f.modified),y.type="text/css",y.rel="stylesheet",this._head.appendChild(y)}}}catch(e){a=!0,s=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw s}}o||window.top.location.reload()}else 500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("\n Reloader failed after ".concat(this._retry," times.\n Please check your application for errors.\n "))),this._retry++)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.dispatch,r=e.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval((function(){"loading"!==r.status&&t(Jo("_reload-hash","GET","reloadRequest"))}),i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}])&&wi(r.prototype,n),o&&wi(r,o),t}(o.a.Component);ki.defaultProps={},ki.propTypes={id:jt.a.string,config:jt.a.object,reloadRequest:jt.a.object,dispatch:jt.a.func,interval:jt.a.number};var ji=Object(s.connect)((function(e){return{config:e.config,reloadRequest:e.reloadRequest}}),(function(e){return{dispatch:e}}))(ki);function Pi(e){return(Pi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ei(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Ti(e,t){return!t||"object"!==Pi(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ci(e){return(Ci=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ai(e,t){return(Ai=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Ri=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=Ti(this,Ci(t).call(this,e)),null===e.hooks.request_pre&&null===e.hooks.request_post||e.dispatch(zr(e.hooks)),r}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ai(e,t)}(t,e),r=t,(n=[{key:"componentWillMount",value:function(){var e=this.props.dispatch,t=JSON.parse(document.getElementById("_dash-config").textContent);t.fetch={credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}},e(Lr(t))}},{key:"render",value:function(){var e=this.props.config;if("Null"===Q(e))return o.a.createElement("div",{className:"_dash-loading"},"Loading...");var t=e.show_undo_redo;return o.a.createElement(o.a.Fragment,null,t?o.a.createElement(vi,null):null,o.a.createElement(ai,null),o.a.createElement(di,null),o.a.createElement(hi,null),o.a.createElement(ji,null))}}])&&Ei(r.prototype,n),i&&Ei(r,i),t}(o.a.Component);Ri.propTypes={hooks:jt.a.object,dispatch:jt.a.func,config:jt.a.object};var Mi=Object(s.connect)((function(e){return{history:e.history,config:e.config}}),(function(e){return{dispatch:e}}))(Ri),Ii=xt(),Di=function(e){var t=e.hooks;return o.a.createElement(s.Provider,{store:Ii},o.a.createElement(Mi,{hooks:t}))};Di.propTypes={hooks:jt.a.shape({request_pre:jt.a.func,request_post:jt.a.func})},Di.defaultProps={hooks:{request_pre:null,request_post:null}};var Ni=Di;window.DashRenderer=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),a.a.render(o.a.createElement(Ni,{hooks:t}),document.getElementById("react-entry-point"))}}]); -//# sourceMappingURL=dash_renderer.min.js.map \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js.map b/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js.map deleted file mode 100644 index d7c0e2ab..00000000 --- a/inst/lib/dash-renderer@1.2.2/dash-renderer/dash_renderer.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack://dash_renderer/webpack/bootstrap","webpack://dash_renderer/external \"React\"","webpack://dash_renderer/external \"PropTypes\"","webpack://dash_renderer/./node_modules/react-redux/lib/index.js","webpack://dash_renderer/./node_modules/redux-actions/lib/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedValue.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://dash_renderer/./node_modules/radium/es/prefixer.js","webpack://dash_renderer/./node_modules/lodash-es/_root.js","webpack://dash_renderer/./node_modules/lodash-es/_Symbol.js","webpack://dash_renderer/./node_modules/lodash-es/_getRawTag.js","webpack://dash_renderer/./node_modules/lodash-es/_objectToString.js","webpack://dash_renderer/./node_modules/lodash-es/_baseGetTag.js","webpack://dash_renderer/./node_modules/lodash-es/_overArg.js","webpack://dash_renderer/./node_modules/lodash-es/_getPrototype.js","webpack://dash_renderer/./node_modules/lodash-es/isObjectLike.js","webpack://dash_renderer/./node_modules/lodash-es/isPlainObject.js","webpack://dash_renderer/./node_modules/redux/es/createStore.js","webpack://dash_renderer/./node_modules/redux/es/combineReducers.js","webpack://dash_renderer/./node_modules/redux/es/bindActionCreators.js","webpack://dash_renderer/./node_modules/redux/es/compose.js","webpack://dash_renderer/./node_modules/redux/es/applyMiddleware.js","webpack://dash_renderer/./node_modules/redux/es/index.js","webpack://dash_renderer/(webpack)/buildin/global.js","webpack://dash_renderer/./node_modules/exenv/index.js","webpack://dash_renderer/./node_modules/radium/es/camel-case-props-to-dash-case.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/capitalizeString.js","webpack://dash_renderer/./node_modules/symbol-observable/es/index.js","webpack://dash_renderer/./node_modules/dependency-graph/lib/dep_graph.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/storeShape.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/warning.js","webpack://dash_renderer/./node_modules/lodash/_Symbol.js","webpack://dash_renderer/./node_modules/redux-actions/lib/handleAction.js","webpack://dash_renderer/./node_modules/lodash.isarguments/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixValue.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/isObject.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://dash_renderer/external \"ReactDOM\"","webpack://dash_renderer/./node_modules/symbol-observable/es/ponyfill.js","webpack://dash_renderer/./node_modules/lodash-es/_freeGlobal.js","webpack://dash_renderer/./node_modules/cookie/index.js","webpack://dash_renderer/./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/createPrefixer.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/static.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/transition.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/dynamic.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/transition.js","webpack://dash_renderer/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://dash_renderer/./node_modules/whatwg-fetch/fetch.js","webpack://dash_renderer/./node_modules/react-redux/lib/components/Provider.js","webpack://dash_renderer/./node_modules/react-redux/lib/components/connect.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/shallowEqual.js","webpack://dash_renderer/./node_modules/react-redux/lib/utils/wrapActionCreators.js","webpack://dash_renderer/(webpack)/buildin/harmony-module.js","webpack://dash_renderer/./node_modules/lodash/isPlainObject.js","webpack://dash_renderer/./node_modules/lodash/_baseGetTag.js","webpack://dash_renderer/./node_modules/lodash/_root.js","webpack://dash_renderer/./node_modules/lodash/_freeGlobal.js","webpack://dash_renderer/./node_modules/lodash/_getRawTag.js","webpack://dash_renderer/./node_modules/lodash/_objectToString.js","webpack://dash_renderer/./node_modules/lodash/_getPrototype.js","webpack://dash_renderer/./node_modules/lodash/_overArg.js","webpack://dash_renderer/./node_modules/lodash/isObjectLike.js","webpack://dash_renderer/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://dash_renderer/./node_modules/react-is/index.js","webpack://dash_renderer/./node_modules/react-is/cjs/react-is.production.min.js","webpack://dash_renderer/./node_modules/invariant/browser.js","webpack://dash_renderer/./node_modules/redux-actions/lib/createAction.js","webpack://dash_renderer/./node_modules/flux-standard-action/lib/index.js","webpack://dash_renderer/./node_modules/lodash.isplainobject/index.js","webpack://dash_renderer/./node_modules/lodash._basefor/index.js","webpack://dash_renderer/./node_modules/lodash.keysin/index.js","webpack://dash_renderer/./node_modules/lodash.isarray/index.js","webpack://dash_renderer/./node_modules/redux-actions/lib/handleActions.js","webpack://dash_renderer/./node_modules/redux-actions/lib/ownKeys.js","webpack://dash_renderer/./node_modules/reduce-reducers/dist/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixProperty.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getBrowserInformation.js","webpack://dash_renderer/./node_modules/bowser/src/bowser.js","webpack://dash_renderer/(webpack)/buildin/amd-define.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js","webpack://dash_renderer/./node_modules/hyphenate-style-name/index.js","webpack://dash_renderer/./node_modules/redux-thunk/es/index.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArray.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_checkForMethod.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry1.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry2.js","webpack://dash_renderer/./node_modules/ramda/es/forEach.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isTransformer.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dispatchable.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_filter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isObject.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xwrap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arity.js","webpack://dash_renderer/./node_modules/ramda/es/bind.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduce.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfBase.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfilter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_has.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArguments.js","webpack://dash_renderer/./node_modules/ramda/es/keys.js","webpack://dash_renderer/./node_modules/ramda/es/filter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includesWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectIs.js","webpack://dash_renderer/./node_modules/ramda/es/type.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_equals.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_functionName.js","webpack://dash_renderer/./node_modules/ramda/es/equals.js","webpack://dash_renderer/./node_modules/ramda/es/empty.js","webpack://dash_renderer/./node_modules/ramda/es/isEmpty.js","webpack://dash_renderer/./node_modules/ramda/es/view.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry3.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isInteger.js","webpack://dash_renderer/./node_modules/ramda/es/assoc.js","webpack://dash_renderer/./node_modules/ramda/es/isNil.js","webpack://dash_renderer/./node_modules/ramda/es/assocPath.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_map.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xmap.js","webpack://dash_renderer/./node_modules/ramda/es/curryN.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curryN.js","webpack://dash_renderer/./node_modules/ramda/es/map.js","webpack://dash_renderer/./node_modules/ramda/es/lens.js","webpack://dash_renderer/./node_modules/ramda/es/path.js","webpack://dash_renderer/./node_modules/ramda/es/lensPath.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isFunction.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_quote.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toISOString.js","webpack://dash_renderer/./node_modules/ramda/es/reject.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_complement.js","webpack://dash_renderer/./node_modules/ramda/es/toString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toString.js","webpack://dash_renderer/./node_modules/ramda/es/concat.js","webpack://dash_renderer/./node_modules/ramda/es/includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_concat.js","webpack://dash_renderer/./node_modules/ramda/es/append.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectAssign.js","webpack://dash_renderer/./node_modules/ramda/es/mergeRight.js","webpack://dash_renderer/./src/actions/constants.js","webpack://dash_renderer/./src/reducers/layout.js","webpack://dash_renderer/./node_modules/ramda/es/hasPath.js","webpack://dash_renderer/./node_modules/ramda/es/has.js","webpack://dash_renderer/./src/utils.js","webpack://dash_renderer/./src/reducers/dependencyGraph.js","webpack://dash_renderer/./node_modules/ramda/es/reduce.js","webpack://dash_renderer/./node_modules/ramda/es/flip.js","webpack://dash_renderer/./node_modules/ramda/es/max.js","webpack://dash_renderer/./node_modules/ramda/es/prop.js","webpack://dash_renderer/./node_modules/ramda/es/pluck.js","webpack://dash_renderer/./node_modules/ramda/es/allPass.js","webpack://dash_renderer/./node_modules/ramda/es/is.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_pipe.js","webpack://dash_renderer/./node_modules/ramda/es/slice.js","webpack://dash_renderer/./node_modules/ramda/es/tail.js","webpack://dash_renderer/./node_modules/ramda/es/pipe.js","webpack://dash_renderer/./node_modules/ramda/es/reverse.js","webpack://dash_renderer/./node_modules/ramda/es/compose.js","webpack://dash_renderer/./src/reducers/utils.js","webpack://dash_renderer/./node_modules/ramda/es/omit.js","webpack://dash_renderer/./src/reducers/paths.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_clone.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_cloneRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/clone.js","webpack://dash_renderer/./src/reducers/requestQueue.js","webpack://dash_renderer/./src/reducers/constants.js","webpack://dash_renderer/./src/reducers/appLifecycle.js","webpack://dash_renderer/./src/reducers/history.js","webpack://dash_renderer/./src/reducers/error.js","webpack://dash_renderer/./src/reducers/hooks.js","webpack://dash_renderer/./src/reducers/config.js","webpack://dash_renderer/./src/reducers/reducer.js","webpack://dash_renderer/./src/store.js","webpack://dash_renderer/./src/reducers/api.js","webpack://dash_renderer/./src/registry.js","webpack://dash_renderer/./node_modules/ramda/es/keysIn.js","webpack://dash_renderer/./node_modules/ramda/es/pick.js","webpack://dash_renderer/./node_modules/ramda/es/addIndex.js","webpack://dash_renderer/./node_modules/ramda/es/defaultTo.js","webpack://dash_renderer/./node_modules/ramda/es/pathOr.js","webpack://dash_renderer/./node_modules/ramda/es/propOr.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xany.js","webpack://dash_renderer/./node_modules/ramda/es/any.js","webpack://dash_renderer/./node_modules/ramda/es/sort.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_makeFlat.js","webpack://dash_renderer/./node_modules/ramda/es/flatten.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_identity.js","webpack://dash_renderer/./node_modules/ramda/es/identity.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_Set.js","webpack://dash_renderer/./node_modules/ramda/es/uniq.js","webpack://dash_renderer/./node_modules/ramda/es/uniqBy.js","webpack://dash_renderer/./node_modules/ramda/es/intersection.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindIndex.js","webpack://dash_renderer/./node_modules/ramda/es/findIndex.js","webpack://dash_renderer/./node_modules/ramda/es/propEq.js","webpack://dash_renderer/./node_modules/ramda/es/adjust.js","webpack://dash_renderer/./node_modules/ramda/es/mergeLeft.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepRight.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindLastIndex.js","webpack://dash_renderer/./node_modules/ramda/es/findLastIndex.js","webpack://dash_renderer/./src/constants/constants.js","webpack://dash_renderer/./node_modules/ramda/es/always.js","webpack://dash_renderer/./node_modules/ramda/es/over.js","webpack://dash_renderer/./node_modules/ramda/es/set.js","webpack://dash_renderer/./src/persistence.js","webpack://dash_renderer/./src/actions/isAppReady.js","webpack://dash_renderer/./src/actions/index.js","webpack://dash_renderer/./src/isSimpleComponent.js","webpack://dash_renderer/./node_modules/radium/es/style-keeper.js","webpack://dash_renderer/./node_modules/radium/es/append-px-if-needed.js","webpack://dash_renderer/./node_modules/radium/es/map-object.js","webpack://dash_renderer/./node_modules/radium/es/append-important-to-each-value.js","webpack://dash_renderer/./node_modules/radium/es/css-rule-set-to-string.js","webpack://dash_renderer/./node_modules/radium/es/clean-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-state.js","webpack://dash_renderer/./node_modules/radium/es/get-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-radium-style-state.js","webpack://dash_renderer/./node_modules/radium/es/hash.js","webpack://dash_renderer/./node_modules/radium/es/merge-styles.js","webpack://dash_renderer/./node_modules/radium/es/plugins/check-props-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/merge-style-array-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/mouse-up-listener.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-media-queries-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/index.js","webpack://dash_renderer/./node_modules/radium/es/plugins/keyframes-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/prefix-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/remove-nested-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/visited-plugin.js","webpack://dash_renderer/./node_modules/radium/es/resolve-styles.js","webpack://dash_renderer/./node_modules/radium/es/enhancer.js","webpack://dash_renderer/./node_modules/radium/es/components/style.js","webpack://dash_renderer/./node_modules/radium/es/components/style-sheet.js","webpack://dash_renderer/./node_modules/radium/es/components/style-root.js","webpack://dash_renderer/./node_modules/radium/es/index.js","webpack://dash_renderer/./node_modules/radium/es/keyframes.js","webpack://dash_renderer/./src/components/error/ComponentErrorBoundary.react.js","webpack://dash_renderer/./src/TreeContainer.js","webpack://dash_renderer/./src/checkPropTypes.js","webpack://dash_renderer/./src/exceptions.js","webpack://dash_renderer/./src/components/error/GlobalErrorContainerPassthrough.react.js","webpack://dash_renderer/./src/actions/api.js","webpack://dash_renderer/./src/APIController.react.js","webpack://dash_renderer/./src/components/core/DocumentTitle.react.js","webpack://dash_renderer/./src/components/core/Loading.react.js","webpack://dash_renderer/./src/components/core/Toolbar.react.js","webpack://dash_renderer/./node_modules/ramda/es/comparator.js","webpack://dash_renderer/./node_modules/ramda/es/lt.js","webpack://dash_renderer/./src/components/core/Reloader.react.js","webpack://dash_renderer/./src/AppContainer.react.js","webpack://dash_renderer/./src/AppProvider.react.js","webpack://dash_renderer/./src/index.js","webpack://dash_renderer/./src/DashRenderer.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","connect","Provider","undefined","_Provider2","_interopRequireDefault","_connect2","obj","_createAction2","_handleAction2","_handleActions2","createAction","handleAction","handleActions","default","prefixedValue","keepUnprefixed","regex","test","_typeof","iterator","constructor","prefixAll","InlineStylePrefixer","_lastUserAgent","_cachedPrefixer","getPrefixer","userAgent","actualUserAgent","global","navigator","prefix","prefixedKeyframes","getPrefixedKeyframes","getPrefixedStyle","style","styleWithFallbacks","keys","reduce","newStyle","Array","isArray","join","toString","transformValues","val","canUseDOM","length","flattenStyleValues","freeSelf","self","Function","objectProto","nativeObjectToString","symToStringTag","isOwn","tag","unmasked","e","result","nullTag","undefinedTag","func","transform","arg","getPrototypeOf","objectTag","funcProto","funcToString","objectCtorString","proto","Ctor","ActionTypes","INIT","reducer","preloadedState","enhancer","_ref2","Error","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","slice","getState","subscribe","listener","isSubscribed","push","index","indexOf","splice","dispatch","action","type","listeners","replaceReducer","nextReducer","_ref","outerSubscribe","observer","TypeError","observeState","next","unsubscribe","this","getUndefinedStateErrorMessage","actionType","combineReducers","reducers","reducerKeys","finalReducers","finalReducerKeys","shapeAssertionError","forEach","Math","random","substring","split","assertReducerShape","state","arguments","hasChanged","nextState","_i","_key","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","apply","bindActionCreators","actionCreators","boundActionCreators","compose","_len","funcs","a","b","_extends","assign","target","source","applyMiddleware","middlewares","createStore","chain","store","_dispatch","middlewareAPI","map","middleware","g","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","_camelCaseRegex","_camelCaseReplacer","match","p1","p2","toLowerCase","camelCaseToDashCase","replace","prefixedStyle","dashCaseKey","str","charAt","toUpperCase","root","createDFS","edges","leavesOnly","currentPath","visited","DFS","currentNode","node","pop","DepGraph","nodes","outgoingEdges","incomingEdges","addNode","data","hasNode","removeNode","edgeList","idx","getNodeData","setNodeData","addDependency","from","to","removeDependency","dependenciesOf","dependantsOf","overallOrder","CycleDFS","filter","_propTypes","_propTypes2","shape","isRequired","message","console","error","handlerKey","_fluxStandardAction","isError","isFunction","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","objectToString","propertyIsEnumerable","isObjectLike","isLength","isObject","isArrayLike","isArrayLikeObject","plugins","metaData","len","processedValue","addIfNew","list","values","_hyphenateStyleName2","_hyphenateStyleName","symbolObservablePonyfill","observable","freeGlobal","parse","options","opt","pairs","pairSplitRegExp","dec","decode","pair","eq_idx","substr","trim","tryDecode","serialize","enc","encode","fieldContentRegExp","maxAge","isNaN","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","isReady","Promise","lazy","resolve","then","setTimeout","regeneratorRuntime","async","prev","awrap","stop","u","_dashprivate_isLazyComponentReady","prefixMap","_isObject2","combinedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_createClass","defineProperties","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","fallback","Prefixer","instance","_classCallCheck","defaultUserAgent","_userAgent","_keepUnprefixed","_browserInfo","_getBrowserInformation2","cssPrefix","_useFallback","_getPrefixedKeyframes2","browserName","browserVersion","prefixData","_requiresPrefix","_hasPropsRequiringPrefix","_metaData","jsPrefix","requiresPrefix","_prefixStyle","_capitalizeString2","styles","w","ms","wm","wms","wmms","transformOrigin","transformOriginX","transformOriginY","backfaceVisibility","perspective","perspectiveOrigin","transformStyle","transformOriginZ","animation","animationDelay","animationDirection","animationFillMode","animationDuration","animationIterationCount","animationName","animationPlayState","animationTimingFunction","appearance","userSelect","fontKerning","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","textDecorationLine","textDecorationColor","fontFeatureSettings","breakAfter","breakBefore","breakInside","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columns","columnSpan","columnWidth","writingMode","flex","flexBasis","flexDirection","flexGrow","flexFlow","flexShrink","flexWrap","alignContent","alignItems","alignSelf","justifyContent","order","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","backdropFilter","scrollSnapType","scrollSnapPointsX","scrollSnapPointsY","scrollSnapDestination","scrollSnapCoordinate","shapeImageThreshold","shapeImageMargin","shapeImageOutside","hyphens","flowInto","flowFrom","regionFragment","boxSizing","textAlignLast","tabSize","wrapFlow","wrapThrough","wrapMargin","touchAction","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridTemplate","gridAutoColumns","gridAutoRows","gridAutoFlow","grid","gridRowStart","gridColumnStart","gridRowEnd","gridRow","gridColumn","gridColumnEnd","gridColumnGap","gridRowGap","gridArea","gridGap","textSizeAdjust","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","_isPrefixedValue2","prefixes","_isPrefixedValue","grab","grabbing","alternativeProps","alternativeValues","WebkitBoxOrient","WebkitBoxDirection","wrap","grad","properties","maxHeight","maxWidth","width","height","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","j","pLen","unshift","prefixMapping","prefixValue","webkitOutput","mozOutput","transition","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","chrome","safari","firefox","opera","ie","edge","ios_saf","android","and_chr","and_uc","op_mini","_getPrefixedValue2","_getPrefixedValue","grabValues","zoomValues","concat","requiresPrefixDashCased","prop","_hyphenateProperty","fetch","support","searchParams","iterable","blob","Blob","formData","arrayBuffer","viewClasses","isDataView","DataView","isPrototypeOf","isArrayBufferView","ArrayBuffer","isView","Headers","append","normalizeName","normalizeValue","oldValue","has","set","callback","thisArg","items","iteratorFor","entries","methods","Request","clone","body","_bodyInit","Body","Response","status","statusText","headers","url","response","redirectStatuses","redirect","RangeError","location","input","init","reject","request","xhr","XMLHttpRequest","onload","rawHeaders","getAllResponseHeaders","line","parts","shift","responseURL","responseText","onerror","ontimeout","open","method","credentials","withCredentials","responseType","setRequestHeader","send","polyfill","String","done","header","getOwnPropertyNames","consumed","bodyUsed","fileReaderReady","reader","readBlobAsArrayBuffer","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","buffer","_initBody","_bodyText","_bodyBlob","FormData","_bodyFormData","URLSearchParams","_bodyArrayBuffer","rejected","text","readAsText","chars","fromCharCode","readArrayBufferAsText","json","JSON","upcased","referrer","form","bytes","bodyInit","ok","_react","_storeShape2","_Component","context","_this","ReferenceError","_possibleConstructorReturn","subClass","superClass","setPrototypeOf","__proto__","_inherits","getChildContext","render","Children","only","children","Component","propTypes","element","childContextTypes","mapStateToProps","mapDispatchToProps","mergeProps","shouldSubscribe","Boolean","mapState","defaultMapStateToProps","mapDispatch","_wrapActionCreators2","defaultMapDispatchToProps","finalMergeProps","defaultMergeProps","_options$pure","pure","_options$withRef","withRef","checkMergedEquals","version","nextVersion","WrappedComponent","connectDisplayName","displayName","getDisplayName","Connect","_invariant2","storeState","clearCache","shouldComponentUpdate","haveOwnPropsChanged","hasStoreStateChanged","computeStateProps","finalMapStateToProps","configureFinalMapState","doStatePropsDependOnOwnProps","mappedState","isFactory","computeDispatchProps","finalMapDispatchToProps","configureFinalMapDispatch","doDispatchPropsDependOnOwnProps","mappedDispatch","updateStatePropsIfNeeded","nextStateProps","stateProps","_shallowEqual2","updateDispatchPropsIfNeeded","nextDispatchProps","dispatchProps","updateMergedPropsIfNeeded","parentProps","nextMergedProps","mergedProps","trySubscribe","handleChange","tryUnsubscribe","componentDidMount","componentWillReceiveProps","nextProps","componentWillUnmount","haveStatePropsBeenPrecalculated","statePropsPrecalculationError","renderedElement","prevStoreState","haveStatePropsChanged","fn","ctx","errorObject","tryCatch","setState","getWrappedInstance","refs","wrappedInstance","shouldUpdateStateProps","shouldUpdateDispatchProps","haveDispatchPropsChanged","ref","contextTypes","_hoistNonReactStatics2","objA","objB","keysA","keysB","hasOwn","_redux","originalModule","webpackPolyfill","baseGetTag","getPrototype","getRawTag","overArg","ReactIs","REACT_STATICS","contextType","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","getOwnPropertySymbols","getOwnPropertyDescriptor","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","for","f","h","k","q","v","x","y","$$typeof","z","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","condition","format","args","argIndex","framesToPop","identity","metaCreator","finalActionCreator","payload","meta","isFSA","_lodashIsplainobject2","every","isValidKey","_lodashIsplainobject","validKeys","baseFor","isArguments","keysIn","objToString","subValue","fromRight","iteratee","keysFunc","reIsUint","isIndex","isProto","skipIndexes","reIsHostCtor","fnToString","reIsNative","RegExp","nativeIsArray","isNative","handlers","defaultState","_ownKeys2","_reduceReducers2","Reflect","ownKeys","previous","current","prefixProperties","requiredPrefixes","capitalizedProperty","styleProperty","_capitalizeString","browserInfo","_bowser2","_detect","yandexbrowser","browser","prefixByBrowser","mobile","tablet","ios","browserByCanIuseAlias","getBrowserName","parseFloat","parseInt","osversion","osVersion","samsungBrowser","_bowser","phantom","webos","blackberry","bada","tizen","chromium","vivaldi","seamoney","sailfish","msie","msedge","firfox","definition","detect","ua","getFirstMatch","getSecondMatch","iosdevice","nexusMobile","nexusTablet","chromeos","silk","windowsphone","windows","mac","linux","edgeVersion","versionIdentifier","xbox","whale","mzbrowser","coast","focus","ucbrowser","maxthon","epiphany","puffin","sleipnir","kMeleon","osname","chromeBook","seamonkey","firefoxos","slimer","touchpad","qupzilla","googlebot","blink","webkit","gecko","getWindowsVersion","osMajorVersion","compareVersions","bowser","getVersionPrecision","arr","versions","precision","max","chunks","delta","chunk","reverse","isUnsupportedBrowser","minVersions","strictMode","browserList","browserItem","check","uppercasePattern","msPattern","cache","toHyphenLower","hName","createThunkMiddleware","extraArgument","thunk","withExtraArgument","_checkForMethod","methodname","_isArray","_isPlaceholder","_curry1","f1","_curry2","f2","_b","_a","_isTransformer","_dispatchable","methodNames","xf","transducer","_filter","_isObject","_isString","nodeType","XWrap","acc","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","thisObj","_iterableReduce","iter","step","_methodReduce","methodName","symIterator","_reduce","_xwrap","_arrayReduce","XFilter","_xfBase","_has","hasEnumBug","nonEnumerableProps","hasArgsEnumBug","contains","item","nIdx","ks","checkArgsLength","pred","filterable","_arrayFromIterator","_includesWith","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_equals","aItem","typeA","equals","valueOf","ignoreCase","multiline","sticky","unicode","size","extendedStackA","extendedStackB","empty","Const","lens","_curry3","f3","_c","Number","assocPath","nextObj","_isInteger","_map","functor","XMap","_curryN","received","combined","argsIdx","left","combinedIdx","setter","toFunctorFn","paths","_isFunction","_includes","inf","_indexOf","_quote","pad","Date","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","_toString","seen","recur","xs","mapPairs","sort","NaN","Infinity","repr","_concat","set1","set2","len1","len2","el","output","nextKey","actionList","ON_PROP_CHANGE","SET_REQUEST_QUEUE","COMPUTE_GRAPHS","COMPUTE_PATHS","SET_LAYOUT","SET_APP_LIFECYCLE","SET_CONFIG","ON_ERROR","SET_HOOKS","getAction","layout","includes","propPath","itempath","existingProps","lensPath","mergeRight","_path","urlBase","config","hasUrlBase","hasReqPrefix","base","requests_pathname_prefix","url_base_pathname","uid","s4","isMultiOutputProp","outputIdAndProp","startsWith","parseMultipleOutputs","initialGraph","graphs","dependencies","inputGraph","multiGraph","dependency","outputId","inputs","id","out","inputId","inputObject","InputGraph","MultiGraph","preds","_pipe","fromIndex","toIndex","pipe","extend","flip","hasProps","allPass","is","hasPropsId","hasPropsChildren","crawlLayout","newPath","child","names","newState","subTree","startingPath","oldState","isNil","isEmpty","removeKeys","omit","_clone","refFrom","refTo","deep","pattern","copy","copiedValue","requestQueue","getAppState","stateList","STARTED","HYDRATED","appLifecycle","initialHistory","past","present","future","history","newFuture","initialError","frontEnd","backEnd","timestamp","customHooks","request_pre","request_post","bear","apiRequests","mainReducer","hooks","content","newRequest","assoc","getInputHistoryState","historyEntry","keyObj","propKey","inputKey","createReducer","reloaderReducer","initializeStore","reset","namespace","origFn","_reduced","XAny","any","comparator","_makeFlat","recursive","flatt","jlen","ilen","_identity","hasOrAdd","shouldAdd","prevSize","_items","_nativeSet","add","bIdx","_Set","Set","appliedItem","list1","list2","lookupList","filteredList","XFindIndex","found","_idx","_list","mergeDeepWithKey","lObj","rObj","lVal","rVal","XFindLastIndex","lastIdx","STATUS","OK","PREVENT_UPDATE","CLIENTSIDE_ERROR","Identity","storePrefix","err","myID","keyPrefixMatch","separator","fullStr","fullLen","_parse","_stringify","stringify","WebStore","_name","_storage","getItem","setItem","_setItem","removeItem","keyPrefix","keyMatch","keysToRemove","fullKey","pow","stores","memory","_data","backEnds","local","session","tryGetWebStore","fallbackStore","storeTest","longString","testKey","clear","getStore","noopTransform","extract","propValue","storedValue","_propValue","getTransform","propName","propPart","persistenceTransforms","getValsKey","persistedProp","persistence","getProps","Registry","getVal","persisted_props","persistence_type","canPersist","applyPersistence","persistenceMods","layoutOut","storage","update","modProp","UNDO","undo","hasItem","newVal","originalVal","fromVal","toVal","targets","promises","pathOfId","ready","all","updateProps","setRequestQueue","computeGraphs","computePaths","setAppLifecycle","setConfig","setHooks","setLayout","onError","hydrateInitialOutputs","allNodes","html","inputNodeIds","nodeId","componentId","reduceInputIds","inputOutput","componentProp","propLens","notifyObservers","excludedOutputs","triggerDefaultState","getCSRFHeader","cookie","_csrf_token","REVERT","revert","undo_revert","undo_or_revert","nodeIds","inputOutputPairs","outputs","sortedInputOutputPairs","outputsThatWillBeUpdated","flatten","pluck","dependenciesRequest","outputObservers","changedProps","depOrder","queuedObservers","outputIds","controllers","controllersInFutureQueue","intersection","controllerIsInExistingQueue","controllerId","deps","find","ids","uniq","dep","isAppReady","newRequestQueue","requestTime","now","requestUid","updateOutput","changedPropIds","getThisRequestIndex","postRequestQueue","findIndex","propEq","updateRequestQueue","thisRequestIndex","updatedQueue","adjust","mergeLeft","responseTime","thisControllerId","prunedQueue","queueItem","outputComponentId","clientside_function","inputsPropIds","doUpdateProps","updatedProps","newProps","getFinal","prevVal","finalPersistence","finalPersistenceType","finalPersistedProps","persistenceChanged","notInNewProps","depersistedProps","finalStorage","transforms","propTransforms","prunePersistence","stateObject","returnValue","updateClientsideOutput","dash_clientside","no_update","appliedProps","description","function_name","PreventUpdate","outputPropId","mergeDeepRight","res","isRejected","findLastIndex","multi","handleResponse","pathKey","newChildren","hasId","childProp","componentIdAndProp","idAndProp","reducedNodeIds","handleAsyncError","SIMPLE_COMPONENT_TYPES","StyleKeeper","_listeners","_cssSet","remove","listenerIndex","css","_this2","_emitChange","isUnitlessNumber","boxFlex","boxFlexGroup","boxOrdinalGroup","flexPositive","flexNegative","flexOrder","fontWeight","lineClamp","lineHeight","opacity","orphans","widows","zIndex","zoom","fillOpacity","stopOpacity","strokeDashoffset","strokeOpacity","strokeWidth","appendPxIfNeeded","propertyName","mapObject","mapper","appendImportantToEachValue","cssRuleSetToString","selector","rules","rulesWithPx","prefixedRules","cssPrefixedRules","elementKey","_radiumStyleState","_lastRadiumState","hash","hashValue","charCodeAt","isNestedStyle","newKey","mergeStyles","_callbacks","_mouseUpListenerIsActive","_handleMouseUp","removeEventListener","_isInteractiveStyleField","styleFieldName","getComponentField","newComponentFields","existingOnMouseEnter","onMouseEnter","existingOnMouseLeave","onMouseLeave","existingOnMouseDown","onMouseDown","_lastMouseDown","existingOnKeyDown","onKeyDown","existingOnKeyUp","onKeyUp","existingOnFocus","onFocus","existingOnBlur","onBlur","_radiumMouseUpListener","interactionStyles","disabled","styleWithoutInteractions","componentFields","_windowMatchMedia","_filterObject","predicate","checkProps","keyframes","addCSS","newStyleInProgress","__radiumKeyframes","_keyframesValue$__pro","__process","mergeStyleArray","removeNestedStyles","resolveInteractionStyles","resolveMediaQueries","_ref3","getGlobalState","styleWithoutMedia","_removeMediaQueries","mediaQueryClassNames","className","query","topLevelRules","ruleCSS","mediaQueryClassName","_topLevelRulesToCSS","matchMedia","mediaQueryString","_getWindowMatchMedia","listenersByQuery","mediaQueryListsByQuery","nestedRules","mql","addListener","removeListener","_subscribeToMediaQuery","matches","_radiumMediaQueryListenersByQuery","globalState","visitedClassName","DEFAULT_CONFIG","_shouldResolveStyles","_isRadiumEnhanced","existingKeyMap","extraStateKeyMap","childrenType","isValidElement","_resolveStyles","_element","count","onlyChild","_key2","_key3","_key4","_element4","_ref4","componentName","getKey","originalKey","alreadyGotKey","elementName","componentGetState","stateKey","_radiumIsMounted","existing","styleKeeper","_radiumStyleKeeper","__isTestModeEnabled","plugin","fieldName","newGlobalState","cloneElement","shouldCheckBeforeResolve","_get","receiver","desc","parent","KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES","copyProperties","enhanceWithRadium","configOrComposedComponent","_class","_temp","newConfig","configOrComponent","ComposedComponent","isNativeClass","OrigComponent","NewComponent","inherits","isStateless","RadiumEnhancer","_ComposedComponent","superChildContext","radiumConfig","newContext","_radiumConfig","currentConfig","_extraRadiumStateKeys","prevProps","prevState","trimmedRadiumState","_objectWithoutProperties","oneOfType","array","instanceOf","_PureComponent","Style","scopeSelector","rootRules","accumulator","_buildMediaQueryString","part","stylesByMediaQuery","_this3","_buildStyles","dangerouslySetInnerHTML","__html","string","StyleSheet","_onChange","_isMounted","_getCSSState","_subscription","getCSS","_getStyleKeeper","StyleRoot","_props","otherProps","Radium","Plugins","keyframeRules","keyframesPrefixed","percentage","UnconnectedComponentErrorBoundary","oldChildren","hasError","_","info","prevChildren","PropTypes","ComponentErrorBoundary","validateComponent","componentDefinition","createContainer","isSimpleComponent","AugmentedTreeContainer","_dashprivate_layout","_dashprivate_path","CheckedComponent","extraProps","typeSpecs","getStack","errors","typeSpecName","ReactPropTypesSecret","ex","stack","checkPropTypes","messageParts","invalidPropPath","expectedPropType","invalidPropTypeProvided","jsonSuppliedValue","propTypeErrorHandler","React","TreeContainer","setProps","_dashprivate_dependencies","_dashprivate_dispatch","getLayoutProps","watchedKeys","valsKey","vals","recordUiEdit","pick","components","addIndex","loading_state","_dashprivate_config","props_check","componentType","_dashprivate_loadingState","is_loading","propOr","layoutProps","getChildren","getComponent","isLoadingComponent","_dashprivate_isLoadingComponent","getLoadingState","loadingProp","loadingComponent","queue","elementLayout","filteredChildren","getNestedIds","isLoading","prop_name","component_name","_dashprivate_requestQueue","ownProps","GlobalErrorContainer","GET","fetchConfig","POST","apiThunk","endpoint","contentType","UnconnectedContainer","initialization","errorLoading","layoutRequest","finalLayout","ui","oneOf","Container","DocumentTitle","initialTitle","title","Loading","UnconnectedToolbar","parentSpanStyle","display","iconStyle","fontSize","labelStyle","undoLink","color","cursor","onClick","redoLink","marginLeft","position","bottom","textAlign","backgroundColor","Toolbar","Reloader","hot_reload","interval","max_retry","intervalId","packages","_retry","_head","querySelector","clearInterval","reloadRequest","hard","pathOr","lt","was_css","files","is_css","nodesToDisable","it","evaluate","iterateNext","setAttribute","modified","link","href","rel","appendChild","top","reload","alert","setInterval","number","UnconnectedAppContainer","getElementById","textContent","Accept","show_undo_redo","AppContainer","AppProvider","DashRenderer","ReactDOM"],"mappings":"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","file":"dash_renderer.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 58);\n","(function() { module.exports = window[\"React\"]; }());","(function() { module.exports = window[\"PropTypes\"]; }());","'use strict';\n\nexports.__esModule = true;\nexports.connect = exports.Provider = undefined;\n\nvar _Provider = require('./components/Provider');\n\nvar _Provider2 = _interopRequireDefault(_Provider);\n\nvar _connect = require('./components/connect');\n\nvar _connect2 = _interopRequireDefault(_connect);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports.Provider = _Provider2[\"default\"];\nexports.connect = _connect2[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _createAction = require('./createAction');\n\nvar _createAction2 = _interopRequireDefault(_createAction);\n\nvar _handleAction = require('./handleAction');\n\nvar _handleAction2 = _interopRequireDefault(_handleAction);\n\nvar _handleActions = require('./handleActions');\n\nvar _handleActions2 = _interopRequireDefault(_handleActions);\n\nexports.createAction = _createAction2['default'];\nexports.handleAction = _handleAction2['default'];\nexports.handleActions = _handleActions2['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedValue;\nfunction getPrefixedValue(prefixedValue, value, keepUnprefixed) {\n if (keepUnprefixed) {\n return [prefixedValue, value];\n }\n return prefixedValue;\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\n\nimport createStaticPrefixer from 'inline-style-prefixer/static/createPrefixer';\nimport createDynamicPrefixer from 'inline-style-prefixer/dynamic/createPrefixer';\nimport ExecutionEnvironment from 'exenv';\n\nimport staticData from './prefix-data/static';\nimport dynamicData from './prefix-data/dynamic';\n\nimport { camelCaseToDashCase } from './camel-case-props-to-dash-case';\n\nvar prefixAll = createStaticPrefixer(staticData);\nvar InlineStylePrefixer = createDynamicPrefixer(dynamicData, prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && (typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n}\n\n// Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n if (Array.isArray(val)) {\n if (ExecutionEnvironment.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(';' + camelCaseToDashCase(key) + ':');\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\nvar _lastUserAgent = void 0;\nvar _cachedPrefixer = void 0;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (process.env.NODE_ENV === 'test' || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({ userAgent: actualUserAgent });\n }\n _lastUserAgent = actualUserAgent;\n }\n\n return _cachedPrefixer;\n}\n\nexport function getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes || 'keyframes';\n}\n\n// Returns a new style object with vendor prefixes added to property names and\n// values.\nexport function getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","var _camelCaseRegex = /([a-z])?([A-Z])/g;\n\nvar _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) {\n return (p1 || '') + '-' + p2.toLowerCase();\n};\n\nexport var camelCaseToDashCase = function camelCaseToDashCase(s) {\n return s.replace(_camelCaseRegex, _camelCaseReplacer);\n};\n\nvar camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) {\n // Since prefix is expected to work on inline style objects, we must\n // translate the keys to dash case for rendering to CSS.\n return Object.keys(prefixedStyle).reduce(function (result, key) {\n var dashCaseKey = camelCaseToDashCase(key);\n\n // Fix IE vendor prefix\n if (/^ms-/.test(dashCaseKey)) {\n dashCaseKey = '-' + dashCaseKey;\n }\n\n result[dashCaseKey] = prefixedStyle[key];\n return result;\n }, {});\n};\n\nexport default camelCasePropsToDashCase;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nmodule.exports = exports[\"default\"];","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","/**\n * A simple dependency graph\n */\n\n/**\n * Helper for creating a Depth-First-Search on\n * a set of edges.\n *\n * Detects cycles and throws an Error if one is detected.\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n */\nfunction createDFS(edges, leavesOnly, result) {\n var currentPath = [];\n var visited = {};\n return function DFS(currentNode) {\n visited[currentNode] = true;\n currentPath.push(currentNode);\n edges[currentNode].forEach(function (node) {\n if (!visited[node]) {\n DFS(node);\n } else if (currentPath.indexOf(node) >= 0) {\n currentPath.push(node);\n throw new Error('Dependency Cycle Found: ' + currentPath.join(' -> '));\n }\n });\n currentPath.pop();\n if ((!leavesOnly || edges[currentNode].length === 0) && result.indexOf(currentNode) === -1) {\n result.push(currentNode);\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\nvar DepGraph = exports.DepGraph = function DepGraph() {\n this.nodes = {};\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n};\nDepGraph.prototype = {\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode:function (node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode:function (node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) {\n Object.keys(edgeList).forEach(function (key) {\n var idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode:function (node) {\n return this.nodes.hasOwnProperty(node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData:function (node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData:function (node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency:function (from, to) {\n if (!this.hasNode(from)) {\n throw new Error('Node does not exist: ' + from);\n }\n if (!this.hasNode(to)) {\n throw new Error('Node does not exist: ' + to);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency:function (from, to) {\n var idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf:function (node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(this.outgoingEdges, leavesOnly, result);\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n }\n else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf:function (node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(this.incomingEdges, leavesOnly, result);\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error('Node does not exist: ' + node);\n }\n },\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder:function (leavesOnly) {\n var self = this;\n var result = [];\n var keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n } else {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n var CycleDFS = createDFS(this.outgoingEdges, false, []);\n keys.forEach(function(n) {\n CycleDFS(n);\n });\n\n var DFS = createDFS(this.outgoingEdges, leavesOnly, result);\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys.filter(function (node) {\n return self.incomingEdges[node].length === 0;\n }).forEach(function (n) {\n DFS(n);\n });\n\n return result;\n }\n },\n\n\n};\n","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _propTypes2[\"default\"].shape({\n subscribe: _propTypes2[\"default\"].func.isRequired,\n dispatch: _propTypes2[\"default\"].func.isRequired,\n getState: _propTypes2[\"default\"].func.isRequired\n});","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = warning;\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","'use strict';\n\nexports.__esModule = true;\nexports['default'] = handleAction;\n\nvar _fluxStandardAction = require('flux-standard-action');\n\nfunction isFunction(val) {\n return typeof val === 'function';\n}\n\nfunction handleAction(type, reducers) {\n return function (state, action) {\n // If action type does not match, return previous state\n if (action.type !== type) return state;\n\n var handlerKey = _fluxStandardAction.isError(action) ? 'throw' : 'next';\n\n // If function is passed instead of map, use as reducer\n if (isFunction(reducers)) {\n reducers.next = reducers['throw'] = reducers;\n }\n\n // Otherwise, assume an action map was passed\n var reducer = reducers[handlerKey];\n\n return isFunction(reducer) ? reducer(state, action) : state;\n };\n}\n\nmodule.exports = exports['default'];","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isArguments;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];","(function() { module.exports = window[\"ReactDOM\"]; }());","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=t(require(\"react\")):e[\"dash-component-plugins\"]=t(e.React)}(window,(function(e){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\"a\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\"\",n(n.s=1)}([function(t,n){t.exports=e},function(e,t,n){\"use strict\";n.r(t);var r=n(0),o=function(e,t){var n,o={isReady:new Promise((function(e){n=e})),get:Object(r.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(n(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},u=function(e){return e&&e._dashprivate_isLazyComponentReady};n.d(t,\"asyncDecorator\",(function(){return o})),n.d(t,\"isReady\",(function(){return u}))}])}));","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('../utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = require('../utils/getBrowserInformation');\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = require('../utils/getPrefixedKeyframes');\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: 'prefix',\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: '_prefixStyle',\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: 'prefixAll',\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports['default'];","import calc from 'inline-style-prefixer/static/plugins/calc';\nimport crossFade from 'inline-style-prefixer/static/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/static/plugins/cursor';\nimport filter from 'inline-style-prefixer/static/plugins/filter';\nimport flex from 'inline-style-prefixer/static/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/static/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/static/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/static/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/static/plugins/imageSet';\nimport position from 'inline-style-prefixer/static/plugins/position';\nimport sizing from 'inline-style-prefixer/static/plugins/sizing';\nimport transition from 'inline-style-prefixer/static/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\n\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n transform: wms,\n transformOrigin: wms,\n transformOriginX: wms,\n transformOriginY: wms,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n fontKerning: w,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: wm,\n textDecorationSkip: wm,\n textDecorationLine: wm,\n textDecorationColor: wm,\n filter: w,\n fontFeatureSettings: wm,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w,\n backdropFilter: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n boxSizing: m,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n gridTemplateColumns: ms,\n gridTemplateRows: ms,\n gridTemplateAreas: ms,\n gridTemplate: ms,\n gridAutoColumns: ms,\n gridAutoRows: ms,\n gridAutoFlow: ms,\n grid: ms,\n gridRowStart: ms,\n gridColumnStart: ms,\n gridRowEnd: ms,\n gridRow: ms,\n gridColumn: ms,\n gridColumnEnd: ms,\n gridColumnGap: ms,\n gridRowGap: ms,\n gridArea: ms,\n gridGap: ms,\n textSizeAdjust: wms,\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\nfunction calc(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports['default'];","import calc from 'inline-style-prefixer/dynamic/plugins/calc';\nimport crossFade from 'inline-style-prefixer/dynamic/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/dynamic/plugins/cursor';\nimport filter from 'inline-style-prefixer/dynamic/plugins/filter';\nimport flex from 'inline-style-prefixer/dynamic/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/dynamic/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/dynamic/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/dynamic/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/dynamic/plugins/imageSet';\nimport position from 'inline-style-prefixer/dynamic/plugins/position';\nimport sizing from 'inline-style-prefixer/dynamic/plugins/sizing';\nimport transition from 'inline-style-prefixer/dynamic/plugins/transition';\n\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n chrome: {\n transform: 35,\n transformOrigin: 35,\n transformOriginX: 35,\n transformOriginY: 35,\n backfaceVisibility: 35,\n perspective: 35,\n perspectiveOrigin: 35,\n transformStyle: 35,\n transformOriginZ: 35,\n animation: 42,\n animationDelay: 42,\n animationDirection: 42,\n animationFillMode: 42,\n animationDuration: 42,\n animationIterationCount: 42,\n animationName: 42,\n animationPlayState: 42,\n animationTimingFunction: 42,\n appearance: 66,\n userSelect: 53,\n fontKerning: 32,\n textEmphasisPosition: 66,\n textEmphasis: 66,\n textEmphasisStyle: 66,\n textEmphasisColor: 66,\n boxDecorationBreak: 66,\n clipPath: 54,\n maskImage: 66,\n maskMode: 66,\n maskRepeat: 66,\n maskPosition: 66,\n maskClip: 66,\n maskOrigin: 66,\n maskSize: 66,\n maskComposite: 66,\n mask: 66,\n maskBorderSource: 66,\n maskBorderMode: 66,\n maskBorderSlice: 66,\n maskBorderWidth: 66,\n maskBorderOutset: 66,\n maskBorderRepeat: 66,\n maskBorder: 66,\n maskType: 66,\n textDecorationStyle: 56,\n textDecorationSkip: 56,\n textDecorationLine: 56,\n textDecorationColor: 56,\n filter: 52,\n fontFeatureSettings: 47,\n breakAfter: 49,\n breakBefore: 49,\n breakInside: 49,\n columnCount: 49,\n columnFill: 49,\n columnGap: 49,\n columnRule: 49,\n columnRuleColor: 49,\n columnRuleStyle: 49,\n columnRuleWidth: 49,\n columns: 49,\n columnSpan: 49,\n columnWidth: 49,\n writingMode: 47\n },\n safari: {\n flex: 8,\n flexBasis: 8,\n flexDirection: 8,\n flexGrow: 8,\n flexFlow: 8,\n flexShrink: 8,\n flexWrap: 8,\n alignContent: 8,\n alignItems: 8,\n alignSelf: 8,\n justifyContent: 8,\n order: 8,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8,\n transformOrigin: 8,\n transformOriginX: 8,\n transformOriginY: 8,\n backfaceVisibility: 8,\n perspective: 8,\n perspectiveOrigin: 8,\n transformStyle: 8,\n transformOriginZ: 8,\n animation: 8,\n animationDelay: 8,\n animationDirection: 8,\n animationFillMode: 8,\n animationDuration: 8,\n animationIterationCount: 8,\n animationName: 8,\n animationPlayState: 8,\n animationTimingFunction: 8,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 9,\n scrollSnapType: 10.1,\n scrollSnapPointsX: 10.1,\n scrollSnapPointsY: 10.1,\n scrollSnapDestination: 10.1,\n scrollSnapCoordinate: 10.1,\n textEmphasisPosition: 7,\n textEmphasis: 7,\n textEmphasisStyle: 7,\n textEmphasisColor: 7,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8,\n breakAfter: 8,\n breakInside: 8,\n regionFragment: 11,\n columnCount: 8,\n columnFill: 8,\n columnGap: 8,\n columnRule: 8,\n columnRuleColor: 8,\n columnRuleStyle: 8,\n columnRuleWidth: 8,\n columns: 8,\n columnSpan: 8,\n columnWidth: 8,\n writingMode: 10.1\n },\n firefox: {\n appearance: 60,\n userSelect: 60,\n boxSizing: 28,\n textAlignLast: 48,\n textDecorationStyle: 35,\n textDecorationSkip: 35,\n textDecorationLine: 35,\n textDecorationColor: 35,\n tabSize: 60,\n hyphens: 42,\n fontFeatureSettings: 33,\n breakAfter: 51,\n breakBefore: 51,\n breakInside: 51,\n columnCount: 51,\n columnFill: 51,\n columnGap: 51,\n columnRule: 51,\n columnRuleColor: 51,\n columnRuleStyle: 51,\n columnRuleWidth: 51,\n columns: 51,\n columnSpan: 51,\n columnWidth: 51\n },\n opera: {\n flex: 16,\n flexBasis: 16,\n flexDirection: 16,\n flexGrow: 16,\n flexFlow: 16,\n flexShrink: 16,\n flexWrap: 16,\n alignContent: 16,\n alignItems: 16,\n alignSelf: 16,\n justifyContent: 16,\n order: 16,\n transform: 22,\n transformOrigin: 22,\n transformOriginX: 22,\n transformOriginY: 22,\n backfaceVisibility: 22,\n perspective: 22,\n perspectiveOrigin: 22,\n transformStyle: 22,\n transformOriginZ: 22,\n animation: 29,\n animationDelay: 29,\n animationDirection: 29,\n animationFillMode: 29,\n animationDuration: 29,\n animationIterationCount: 29,\n animationName: 29,\n animationPlayState: 29,\n animationTimingFunction: 29,\n appearance: 50,\n userSelect: 40,\n fontKerning: 19,\n textEmphasisPosition: 50,\n textEmphasis: 50,\n textEmphasisStyle: 50,\n textEmphasisColor: 50,\n boxDecorationBreak: 50,\n clipPath: 41,\n maskImage: 50,\n maskMode: 50,\n maskRepeat: 50,\n maskPosition: 50,\n maskClip: 50,\n maskOrigin: 50,\n maskSize: 50,\n maskComposite: 50,\n mask: 50,\n maskBorderSource: 50,\n maskBorderMode: 50,\n maskBorderSlice: 50,\n maskBorderWidth: 50,\n maskBorderOutset: 50,\n maskBorderRepeat: 50,\n maskBorder: 50,\n maskType: 50,\n textDecorationStyle: 43,\n textDecorationSkip: 43,\n textDecorationLine: 43,\n textDecorationColor: 43,\n filter: 39,\n fontFeatureSettings: 34,\n breakAfter: 36,\n breakBefore: 36,\n breakInside: 36,\n columnCount: 36,\n columnFill: 36,\n columnGap: 36,\n columnRule: 36,\n columnRuleColor: 36,\n columnRuleStyle: 36,\n columnRuleWidth: 36,\n columns: 36,\n columnSpan: 36,\n columnWidth: 36,\n writingMode: 34\n },\n ie: {\n flex: 10,\n flexDirection: 10,\n flexFlow: 10,\n flexWrap: 10,\n transform: 9,\n transformOrigin: 9,\n transformOriginX: 9,\n transformOriginY: 9,\n userSelect: 11,\n wrapFlow: 11,\n wrapThrough: 11,\n wrapMargin: 11,\n scrollSnapType: 11,\n scrollSnapPointsX: 11,\n scrollSnapPointsY: 11,\n scrollSnapDestination: 11,\n scrollSnapCoordinate: 11,\n touchAction: 10,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 11,\n breakAfter: 11,\n breakInside: 11,\n regionFragment: 11,\n gridTemplateColumns: 11,\n gridTemplateRows: 11,\n gridTemplateAreas: 11,\n gridTemplate: 11,\n gridAutoColumns: 11,\n gridAutoRows: 11,\n gridAutoFlow: 11,\n grid: 11,\n gridRowStart: 11,\n gridColumnStart: 11,\n gridRowEnd: 11,\n gridRow: 11,\n gridColumn: 11,\n gridColumnEnd: 11,\n gridColumnGap: 11,\n gridRowGap: 11,\n gridArea: 11,\n gridGap: 11,\n textSizeAdjust: 11,\n writingMode: 11\n },\n edge: {\n userSelect: 17,\n wrapFlow: 17,\n wrapThrough: 17,\n wrapMargin: 17,\n scrollSnapType: 17,\n scrollSnapPointsX: 17,\n scrollSnapPointsY: 17,\n scrollSnapDestination: 17,\n scrollSnapCoordinate: 17,\n hyphens: 17,\n flowInto: 17,\n flowFrom: 17,\n breakBefore: 17,\n breakAfter: 17,\n breakInside: 17,\n regionFragment: 17,\n gridTemplateColumns: 15,\n gridTemplateRows: 15,\n gridTemplateAreas: 15,\n gridTemplate: 15,\n gridAutoColumns: 15,\n gridAutoRows: 15,\n gridAutoFlow: 15,\n grid: 15,\n gridRowStart: 15,\n gridColumnStart: 15,\n gridRowEnd: 15,\n gridRow: 15,\n gridColumn: 15,\n gridColumnEnd: 15,\n gridColumnGap: 15,\n gridRowGap: 15,\n gridArea: 15,\n gridGap: 15\n },\n ios_saf: {\n flex: 8.1,\n flexBasis: 8.1,\n flexDirection: 8.1,\n flexGrow: 8.1,\n flexFlow: 8.1,\n flexShrink: 8.1,\n flexWrap: 8.1,\n alignContent: 8.1,\n alignItems: 8.1,\n alignSelf: 8.1,\n justifyContent: 8.1,\n order: 8.1,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8.1,\n transformOrigin: 8.1,\n transformOriginX: 8.1,\n transformOriginY: 8.1,\n backfaceVisibility: 8.1,\n perspective: 8.1,\n perspectiveOrigin: 8.1,\n transformStyle: 8.1,\n transformOriginZ: 8.1,\n animation: 8.1,\n animationDelay: 8.1,\n animationDirection: 8.1,\n animationFillMode: 8.1,\n animationDuration: 8.1,\n animationIterationCount: 8.1,\n animationName: 8.1,\n animationPlayState: 8.1,\n animationTimingFunction: 8.1,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 11,\n scrollSnapType: 10.3,\n scrollSnapPointsX: 10.3,\n scrollSnapPointsY: 10.3,\n scrollSnapDestination: 10.3,\n scrollSnapCoordinate: 10.3,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textSizeAdjust: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8.1,\n breakAfter: 8.1,\n breakInside: 8.1,\n regionFragment: 11,\n columnCount: 8.1,\n columnFill: 8.1,\n columnGap: 8.1,\n columnRule: 8.1,\n columnRuleColor: 8.1,\n columnRuleStyle: 8.1,\n columnRuleWidth: 8.1,\n columns: 8.1,\n columnSpan: 8.1,\n columnWidth: 8.1,\n writingMode: 10.3\n },\n android: {\n borderImage: 4.2,\n borderImageOutset: 4.2,\n borderImageRepeat: 4.2,\n borderImageSlice: 4.2,\n borderImageSource: 4.2,\n borderImageWidth: 4.2,\n flex: 4.2,\n flexBasis: 4.2,\n flexDirection: 4.2,\n flexGrow: 4.2,\n flexFlow: 4.2,\n flexShrink: 4.2,\n flexWrap: 4.2,\n alignContent: 4.2,\n alignItems: 4.2,\n alignSelf: 4.2,\n justifyContent: 4.2,\n order: 4.2,\n transition: 4.2,\n transitionDelay: 4.2,\n transitionDuration: 4.2,\n transitionProperty: 4.2,\n transitionTimingFunction: 4.2,\n transform: 4.4,\n transformOrigin: 4.4,\n transformOriginX: 4.4,\n transformOriginY: 4.4,\n backfaceVisibility: 4.4,\n perspective: 4.4,\n perspectiveOrigin: 4.4,\n transformStyle: 4.4,\n transformOriginZ: 4.4,\n animation: 4.4,\n animationDelay: 4.4,\n animationDirection: 4.4,\n animationFillMode: 4.4,\n animationDuration: 4.4,\n animationIterationCount: 4.4,\n animationName: 4.4,\n animationPlayState: 4.4,\n animationTimingFunction: 4.4,\n appearance: 62,\n userSelect: 4.4,\n fontKerning: 4.4,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n clipPath: 4.4,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62,\n filter: 4.4,\n fontFeatureSettings: 4.4,\n breakAfter: 4.4,\n breakBefore: 4.4,\n breakInside: 4.4,\n columnCount: 4.4,\n columnFill: 4.4,\n columnGap: 4.4,\n columnRule: 4.4,\n columnRuleColor: 4.4,\n columnRuleStyle: 4.4,\n columnRuleWidth: 4.4,\n columns: 4.4,\n columnSpan: 4.4,\n columnWidth: 4.4,\n writingMode: 4.4\n },\n and_chr: {\n appearance: 62,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62\n },\n and_uc: {\n flex: 11.4,\n flexBasis: 11.4,\n flexDirection: 11.4,\n flexGrow: 11.4,\n flexFlow: 11.4,\n flexShrink: 11.4,\n flexWrap: 11.4,\n alignContent: 11.4,\n alignItems: 11.4,\n alignSelf: 11.4,\n justifyContent: 11.4,\n order: 11.4,\n transform: 11.4,\n transformOrigin: 11.4,\n transformOriginX: 11.4,\n transformOriginY: 11.4,\n backfaceVisibility: 11.4,\n perspective: 11.4,\n perspectiveOrigin: 11.4,\n transformStyle: 11.4,\n transformOriginZ: 11.4,\n animation: 11.4,\n animationDelay: 11.4,\n animationDirection: 11.4,\n animationFillMode: 11.4,\n animationDuration: 11.4,\n animationIterationCount: 11.4,\n animationName: 11.4,\n animationPlayState: 11.4,\n animationTimingFunction: 11.4,\n appearance: 11.4,\n userSelect: 11.4,\n textEmphasisPosition: 11.4,\n textEmphasis: 11.4,\n textEmphasisStyle: 11.4,\n textEmphasisColor: 11.4,\n clipPath: 11.4,\n maskImage: 11.4,\n maskMode: 11.4,\n maskRepeat: 11.4,\n maskPosition: 11.4,\n maskClip: 11.4,\n maskOrigin: 11.4,\n maskSize: 11.4,\n maskComposite: 11.4,\n mask: 11.4,\n maskBorderSource: 11.4,\n maskBorderMode: 11.4,\n maskBorderSlice: 11.4,\n maskBorderWidth: 11.4,\n maskBorderOutset: 11.4,\n maskBorderRepeat: 11.4,\n maskBorder: 11.4,\n maskType: 11.4,\n textSizeAdjust: 11.4,\n filter: 11.4,\n hyphens: 11.4,\n fontFeatureSettings: 11.4,\n breakAfter: 11.4,\n breakBefore: 11.4,\n breakInside: 11.4,\n columnCount: 11.4,\n columnFill: 11.4,\n columnGap: 11.4,\n columnRule: 11.4,\n columnRuleColor: 11.4,\n columnRuleStyle: 11.4,\n columnRuleWidth: 11.4,\n columns: 11.4,\n columnSpan: 11.4,\n columnWidth: 11.4,\n writingMode: 11.4\n },\n op_mini: {}\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + 'calc('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n 'zoom-in': true,\n 'zoom-out': true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + 'filter('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n 'inline-flex': true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n};\n\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nvar otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) {\n return cssPrefix + grad;\n }), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + 'image-set('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n\n // TODO: chrome & opera support it\n};function sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : '');\n }\n });\n });\n\n return multipleValues.join(',');\n }\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","(function(self) {\n 'use strict';\n\n if (self.fetch) {\n return\n }\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob: 'FileReader' in self && 'Blob' in self && (function() {\n try {\n new Blob()\n return true\n } catch(e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isDataView = function(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n var isArrayBufferView = ArrayBuffer.isView || function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.\\^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue+','+value : value\n }\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n }\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n }\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n }\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n }\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n }\n\n Headers.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) { items.push(name) })\n return iteratorFor(items)\n }\n\n Headers.prototype.values = function() {\n var items = []\n this.forEach(function(value) { items.push(value) })\n return iteratorFor(items)\n }\n\n Headers.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) { items.push([name, value]) })\n return iteratorFor(items)\n }\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n throw new Error('unsupported BodyInit type')\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return (methods.indexOf(upcased) > -1) ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'omit'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n }\n\n Request.prototype.clone = function() {\n return new Request(this, { body: this._bodyInit })\n }\n\n function decode(body) {\n var form = new FormData()\n body.trim().split('&').forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n }\n\n Body.call(Request.prototype)\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n }\n\n Body.call(Response.prototype)\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n }\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n }\n\n var redirectStatuses = [301, 302, 303, 307, 308]\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n }\n\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n\n self.fetch = function(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n var xhr = new XMLHttpRequest()\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n }\n self.fetch.polyfill = true\n})(typeof self !== 'undefined' ? self : this);\n","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = undefined;\n\nvar _react = require('react');\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar didWarnAboutReceivingStore = false;\nfunction warnAboutReceivingStore() {\n if (didWarnAboutReceivingStore) {\n return;\n }\n didWarnAboutReceivingStore = true;\n\n (0, _warning2[\"default\"])('<Provider> does not support changing `store` on the fly. ' + 'It is most likely that you see this error because you updated to ' + 'Redux 2.x and React Redux 2.x which no longer hot reload reducers ' + 'automatically. See https://github.com/reactjs/react-redux/releases/' + 'tag/v2.0.0 for the migration instructions.');\n}\n\nvar Provider = function (_Component) {\n _inherits(Provider, _Component);\n\n Provider.prototype.getChildContext = function getChildContext() {\n return { store: this.store };\n };\n\n function Provider(props, context) {\n _classCallCheck(this, Provider);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.store = props.store;\n return _this;\n }\n\n Provider.prototype.render = function render() {\n return _react.Children.only(this.props.children);\n };\n\n return Provider;\n}(_react.Component);\n\nexports[\"default\"] = Provider;\n\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.prototype.componentWillReceiveProps = function (nextProps) {\n var store = this.store;\n var nextStore = nextProps.store;\n\n\n if (store !== nextStore) {\n warnAboutReceivingStore();\n }\n };\n}\n\nProvider.propTypes = {\n store: _storeShape2[\"default\"].isRequired,\n children: _propTypes2[\"default\"].element.isRequired\n};\nProvider.childContextTypes = {\n store: _storeShape2[\"default\"].isRequired\n};","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports[\"default\"] = connect;\n\nvar _react = require('react');\n\nvar _storeShape = require('../utils/storeShape');\n\nvar _storeShape2 = _interopRequireDefault(_storeShape);\n\nvar _shallowEqual = require('../utils/shallowEqual');\n\nvar _shallowEqual2 = _interopRequireDefault(_shallowEqual);\n\nvar _wrapActionCreators = require('../utils/wrapActionCreators');\n\nvar _wrapActionCreators2 = _interopRequireDefault(_wrapActionCreators);\n\nvar _warning = require('../utils/warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _isPlainObject = require('lodash/isPlainObject');\n\nvar _isPlainObject2 = _interopRequireDefault(_isPlainObject);\n\nvar _hoistNonReactStatics = require('hoist-non-react-statics');\n\nvar _hoistNonReactStatics2 = _interopRequireDefault(_hoistNonReactStatics);\n\nvar _invariant = require('invariant');\n\nvar _invariant2 = _interopRequireDefault(_invariant);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar defaultMapStateToProps = function defaultMapStateToProps(state) {\n return {};\n}; // eslint-disable-line no-unused-vars\nvar defaultMapDispatchToProps = function defaultMapDispatchToProps(dispatch) {\n return { dispatch: dispatch };\n};\nvar defaultMergeProps = function defaultMergeProps(stateProps, dispatchProps, parentProps) {\n return _extends({}, parentProps, stateProps, dispatchProps);\n};\n\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\n\nvar errorObject = { value: null };\nfunction tryCatch(fn, ctx) {\n try {\n return fn.apply(ctx);\n } catch (e) {\n errorObject.value = e;\n return errorObject;\n }\n}\n\n// Helps track hot reloading.\nvar nextVersion = 0;\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n var shouldSubscribe = Boolean(mapStateToProps);\n var mapState = mapStateToProps || defaultMapStateToProps;\n\n var mapDispatch = void 0;\n if (typeof mapDispatchToProps === 'function') {\n mapDispatch = mapDispatchToProps;\n } else if (!mapDispatchToProps) {\n mapDispatch = defaultMapDispatchToProps;\n } else {\n mapDispatch = (0, _wrapActionCreators2[\"default\"])(mapDispatchToProps);\n }\n\n var finalMergeProps = mergeProps || defaultMergeProps;\n var _options$pure = options.pure,\n pure = _options$pure === undefined ? true : _options$pure,\n _options$withRef = options.withRef,\n withRef = _options$withRef === undefined ? false : _options$withRef;\n\n var checkMergedEquals = pure && finalMergeProps !== defaultMergeProps;\n\n // Helps track hot reloading.\n var version = nextVersion++;\n\n return function wrapWithConnect(WrappedComponent) {\n var connectDisplayName = 'Connect(' + getDisplayName(WrappedComponent) + ')';\n\n function checkStateShape(props, methodName) {\n if (!(0, _isPlainObject2[\"default\"])(props)) {\n (0, _warning2[\"default\"])(methodName + '() in ' + connectDisplayName + ' must return a plain object. ' + ('Instead received ' + props + '.'));\n }\n }\n\n function computeMergedProps(stateProps, dispatchProps, parentProps) {\n var mergedProps = finalMergeProps(stateProps, dispatchProps, parentProps);\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mergedProps, 'mergeProps');\n }\n return mergedProps;\n }\n\n var Connect = function (_Component) {\n _inherits(Connect, _Component);\n\n Connect.prototype.shouldComponentUpdate = function shouldComponentUpdate() {\n return !pure || this.haveOwnPropsChanged || this.hasStoreStateChanged;\n };\n\n function Connect(props, context) {\n _classCallCheck(this, Connect);\n\n var _this = _possibleConstructorReturn(this, _Component.call(this, props, context));\n\n _this.version = version;\n _this.store = props.store || context.store;\n\n (0, _invariant2[\"default\"])(_this.store, 'Could not find \"store\" in either the context or ' + ('props of \"' + connectDisplayName + '\". ') + 'Either wrap the root component in a <Provider>, ' + ('or explicitly pass \"store\" as a prop to \"' + connectDisplayName + '\".'));\n\n var storeState = _this.store.getState();\n _this.state = { storeState: storeState };\n _this.clearCache();\n return _this;\n }\n\n Connect.prototype.computeStateProps = function computeStateProps(store, props) {\n if (!this.finalMapStateToProps) {\n return this.configureFinalMapState(store, props);\n }\n\n var state = store.getState();\n var stateProps = this.doStatePropsDependOnOwnProps ? this.finalMapStateToProps(state, props) : this.finalMapStateToProps(state);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(stateProps, 'mapStateToProps');\n }\n return stateProps;\n };\n\n Connect.prototype.configureFinalMapState = function configureFinalMapState(store, props) {\n var mappedState = mapState(store.getState(), props);\n var isFactory = typeof mappedState === 'function';\n\n this.finalMapStateToProps = isFactory ? mappedState : mapState;\n this.doStatePropsDependOnOwnProps = this.finalMapStateToProps.length !== 1;\n\n if (isFactory) {\n return this.computeStateProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedState, 'mapStateToProps');\n }\n return mappedState;\n };\n\n Connect.prototype.computeDispatchProps = function computeDispatchProps(store, props) {\n if (!this.finalMapDispatchToProps) {\n return this.configureFinalMapDispatch(store, props);\n }\n\n var dispatch = store.dispatch;\n\n var dispatchProps = this.doDispatchPropsDependOnOwnProps ? this.finalMapDispatchToProps(dispatch, props) : this.finalMapDispatchToProps(dispatch);\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(dispatchProps, 'mapDispatchToProps');\n }\n return dispatchProps;\n };\n\n Connect.prototype.configureFinalMapDispatch = function configureFinalMapDispatch(store, props) {\n var mappedDispatch = mapDispatch(store.dispatch, props);\n var isFactory = typeof mappedDispatch === 'function';\n\n this.finalMapDispatchToProps = isFactory ? mappedDispatch : mapDispatch;\n this.doDispatchPropsDependOnOwnProps = this.finalMapDispatchToProps.length !== 1;\n\n if (isFactory) {\n return this.computeDispatchProps(store, props);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n checkStateShape(mappedDispatch, 'mapDispatchToProps');\n }\n return mappedDispatch;\n };\n\n Connect.prototype.updateStatePropsIfNeeded = function updateStatePropsIfNeeded() {\n var nextStateProps = this.computeStateProps(this.store, this.props);\n if (this.stateProps && (0, _shallowEqual2[\"default\"])(nextStateProps, this.stateProps)) {\n return false;\n }\n\n this.stateProps = nextStateProps;\n return true;\n };\n\n Connect.prototype.updateDispatchPropsIfNeeded = function updateDispatchPropsIfNeeded() {\n var nextDispatchProps = this.computeDispatchProps(this.store, this.props);\n if (this.dispatchProps && (0, _shallowEqual2[\"default\"])(nextDispatchProps, this.dispatchProps)) {\n return false;\n }\n\n this.dispatchProps = nextDispatchProps;\n return true;\n };\n\n Connect.prototype.updateMergedPropsIfNeeded = function updateMergedPropsIfNeeded() {\n var nextMergedProps = computeMergedProps(this.stateProps, this.dispatchProps, this.props);\n if (this.mergedProps && checkMergedEquals && (0, _shallowEqual2[\"default\"])(nextMergedProps, this.mergedProps)) {\n return false;\n }\n\n this.mergedProps = nextMergedProps;\n return true;\n };\n\n Connect.prototype.isSubscribed = function isSubscribed() {\n return typeof this.unsubscribe === 'function';\n };\n\n Connect.prototype.trySubscribe = function trySubscribe() {\n if (shouldSubscribe && !this.unsubscribe) {\n this.unsubscribe = this.store.subscribe(this.handleChange.bind(this));\n this.handleChange();\n }\n };\n\n Connect.prototype.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n }\n };\n\n Connect.prototype.componentDidMount = function componentDidMount() {\n this.trySubscribe();\n };\n\n Connect.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (!pure || !(0, _shallowEqual2[\"default\"])(nextProps, this.props)) {\n this.haveOwnPropsChanged = true;\n }\n };\n\n Connect.prototype.componentWillUnmount = function componentWillUnmount() {\n this.tryUnsubscribe();\n this.clearCache();\n };\n\n Connect.prototype.clearCache = function clearCache() {\n this.dispatchProps = null;\n this.stateProps = null;\n this.mergedProps = null;\n this.haveOwnPropsChanged = true;\n this.hasStoreStateChanged = true;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n this.renderedElement = null;\n this.finalMapDispatchToProps = null;\n this.finalMapStateToProps = null;\n };\n\n Connect.prototype.handleChange = function handleChange() {\n if (!this.unsubscribe) {\n return;\n }\n\n var storeState = this.store.getState();\n var prevStoreState = this.state.storeState;\n if (pure && prevStoreState === storeState) {\n return;\n }\n\n if (pure && !this.doStatePropsDependOnOwnProps) {\n var haveStatePropsChanged = tryCatch(this.updateStatePropsIfNeeded, this);\n if (!haveStatePropsChanged) {\n return;\n }\n if (haveStatePropsChanged === errorObject) {\n this.statePropsPrecalculationError = errorObject.value;\n }\n this.haveStatePropsBeenPrecalculated = true;\n }\n\n this.hasStoreStateChanged = true;\n this.setState({ storeState: storeState });\n };\n\n Connect.prototype.getWrappedInstance = function getWrappedInstance() {\n (0, _invariant2[\"default\"])(withRef, 'To access the wrapped instance, you need to specify ' + '{ withRef: true } as the fourth argument of the connect() call.');\n\n return this.refs.wrappedInstance;\n };\n\n Connect.prototype.render = function render() {\n var haveOwnPropsChanged = this.haveOwnPropsChanged,\n hasStoreStateChanged = this.hasStoreStateChanged,\n haveStatePropsBeenPrecalculated = this.haveStatePropsBeenPrecalculated,\n statePropsPrecalculationError = this.statePropsPrecalculationError,\n renderedElement = this.renderedElement;\n\n\n this.haveOwnPropsChanged = false;\n this.hasStoreStateChanged = false;\n this.haveStatePropsBeenPrecalculated = false;\n this.statePropsPrecalculationError = null;\n\n if (statePropsPrecalculationError) {\n throw statePropsPrecalculationError;\n }\n\n var shouldUpdateStateProps = true;\n var shouldUpdateDispatchProps = true;\n if (pure && renderedElement) {\n shouldUpdateStateProps = hasStoreStateChanged || haveOwnPropsChanged && this.doStatePropsDependOnOwnProps;\n shouldUpdateDispatchProps = haveOwnPropsChanged && this.doDispatchPropsDependOnOwnProps;\n }\n\n var haveStatePropsChanged = false;\n var haveDispatchPropsChanged = false;\n if (haveStatePropsBeenPrecalculated) {\n haveStatePropsChanged = true;\n } else if (shouldUpdateStateProps) {\n haveStatePropsChanged = this.updateStatePropsIfNeeded();\n }\n if (shouldUpdateDispatchProps) {\n haveDispatchPropsChanged = this.updateDispatchPropsIfNeeded();\n }\n\n var haveMergedPropsChanged = true;\n if (haveStatePropsChanged || haveDispatchPropsChanged || haveOwnPropsChanged) {\n haveMergedPropsChanged = this.updateMergedPropsIfNeeded();\n } else {\n haveMergedPropsChanged = false;\n }\n\n if (!haveMergedPropsChanged && renderedElement) {\n return renderedElement;\n }\n\n if (withRef) {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, _extends({}, this.mergedProps, {\n ref: 'wrappedInstance'\n }));\n } else {\n this.renderedElement = (0, _react.createElement)(WrappedComponent, this.mergedProps);\n }\n\n return this.renderedElement;\n };\n\n return Connect;\n }(_react.Component);\n\n Connect.displayName = connectDisplayName;\n Connect.WrappedComponent = WrappedComponent;\n Connect.contextTypes = {\n store: _storeShape2[\"default\"]\n };\n Connect.propTypes = {\n store: _storeShape2[\"default\"]\n };\n\n if (process.env.NODE_ENV !== 'production') {\n Connect.prototype.componentWillUpdate = function componentWillUpdate() {\n if (this.version === version) {\n return;\n }\n\n // We are hot reloading!\n this.version = version;\n this.trySubscribe();\n this.clearCache();\n };\n }\n\n return (0, _hoistNonReactStatics2[\"default\"])(Connect, WrappedComponent);\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports[\"default\"] = shallowEqual;\nfunction shallowEqual(objA, objB) {\n if (objA === objB) {\n return true;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n\n return true;\n}","'use strict';\n\nexports.__esModule = true;\nexports[\"default\"] = wrapActionCreators;\n\nvar _redux = require('redux');\n\nfunction wrapActionCreators(actionCreators) {\n return function (dispatch) {\n return (0, _redux.bindActionCreators)(actionCreators, dispatch);\n };\n}","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.11.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","'use strict';\n\nexports.__esModule = true;\nexports['default'] = createAction;\nfunction identity(t) {\n return t;\n}\n\nfunction createAction(type, actionCreator, metaCreator) {\n var finalActionCreator = typeof actionCreator === 'function' ? actionCreator : identity;\n\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var action = {\n type: type,\n payload: finalActionCreator.apply(undefined, args)\n };\n\n if (args.length === 1 && args[0] instanceof Error) {\n // Handle FSA errors where the payload is an Error object. Set error.\n action.error = true;\n }\n\n if (typeof metaCreator === 'function') {\n action.meta = metaCreator.apply(undefined, args);\n }\n\n return action;\n };\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.isFSA = isFSA;\nexports.isError = isError;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _lodashIsplainobject = require('lodash.isplainobject');\n\nvar _lodashIsplainobject2 = _interopRequireDefault(_lodashIsplainobject);\n\nvar validKeys = ['type', 'payload', 'error', 'meta'];\n\nfunction isValidKey(key) {\n return validKeys.indexOf(key) > -1;\n}\n\nfunction isFSA(action) {\n return _lodashIsplainobject2['default'](action) && typeof action.type !== 'undefined' && Object.keys(action).every(isValidKey);\n}\n\nfunction isError(action) {\n return action.error === true;\n}","/**\n * lodash 3.2.0 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar baseFor = require('lodash._basefor'),\n isArguments = require('lodash.isarguments'),\n keysIn = require('lodash.keysin');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/**\n * The base implementation of `_.forIn` without support for callback\n * shorthands and `this` binding.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForIn(object, iteratee) {\n return baseFor(object, iteratee, keysIn);\n}\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * **Note:** This method assumes objects created by the `Object` constructor\n * have no inherited enumerable properties.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n var Ctor;\n\n // Exit early for non `Object` objects.\n if (!(isObjectLike(value) && objToString.call(value) == objectTag && !isArguments(value)) ||\n (!hasOwnProperty.call(value, 'constructor') && (Ctor = value.constructor, typeof Ctor == 'function' && !(Ctor instanceof Ctor)))) {\n return false;\n }\n // IE < 9 iterates inherited properties before own properties. If the first\n // iterated property is an object's own property then there are no inherited\n // enumerable properties.\n var result;\n // In most environments an object's own properties are iterated before\n // its inherited properties. If the last iterated property is an object's\n // own property then there are no inherited enumerable properties.\n baseForIn(value, function(subValue, key) {\n result = key;\n });\n return result === undefined || hasOwnProperty.call(value, result);\n}\n\nmodule.exports = isPlainObject;\n","/**\n * lodash 3.0.3 (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/**\n * The base implementation of `baseForIn` and `baseForOwn` which iterates\n * over `object` properties returned by `keysFunc` invoking `iteratee` for\n * each property. Iteratee functions may exit iteration early by explicitly\n * returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * Creates a base function for methods like `_.forIn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = baseFor;\n","/**\n * lodash 3.0.8 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\nvar isArguments = require('lodash.isarguments'),\n isArray = require('lodash.isarray');\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^\\d+$/;\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;\n length = length == null ? MAX_SAFE_INTEGER : length;\n return value > -1 && value % 1 == 0 && value < length;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n if (object == null) {\n return [];\n }\n if (!isObject(object)) {\n object = Object(object);\n }\n var length = object.length;\n length = (length && isLength(length) &&\n (isArray(object) || isArguments(object)) && length) || 0;\n\n var Ctor = object.constructor,\n index = -1,\n isProto = typeof Ctor == 'function' && Ctor.prototype === object,\n result = Array(length),\n skipIndexes = length > 0;\n\n while (++index < length) {\n result[index] = (index + '');\n }\n for (var key in object) {\n if (!(skipIndexes && isIndex(key, length)) &&\n !(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = keysIn;\n","/**\n * lodash 3.0.4 (Custom Build) <https://lodash.com/>\n * Build: `lodash modern modularize exports=\"npm\" -o ./`\n * Copyright 2012-2015 The Dojo Foundation <http://dojofoundation.org/>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n * Available under MIT license <https://lodash.com/license>\n */\n\n/** `Object#toString` result references. */\nvar arrayTag = '[object Array]',\n funcTag = '[object Function]';\n\n/** Used to detect host constructors (Safari > 5). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/**\n * Checks if `value` is object-like.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/** Used for native method references. */\nvar objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar fnToString = Function.prototype.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n fnToString.call(hasOwnProperty).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/* Native method references for those with the same name as other `lodash` methods. */\nvar nativeIsArray = getNative(Array, 'isArray');\n\n/**\n * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)\n * of an array-like value.\n */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = object == null ? undefined : object[key];\n return isNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This function is based on [`ToLength`](http://ecma-international.org/ecma-262/6.0/#sec-tolength).\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n */\nfunction isLength(value) {\n return typeof value == 'number' && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(function() { return arguments; }());\n * // => false\n */\nvar isArray = nativeIsArray || function(value) {\n return isObjectLike(value) && isLength(value.length) && objToString.call(value) == arrayTag;\n};\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is correctly classified, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in older versions of Chrome and Safari which return 'function' for regexes\n // and Safari 8 equivalents which return 'object' for typed array constructors.\n return isObject(value) && objToString.call(value) == funcTag;\n}\n\n/**\n * Checks if `value` is the [language type](https://es5.github.io/#x8) of `Object`.\n * (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(1);\n * // => false\n */\nfunction isObject(value) {\n // Avoid a V8 JIT bug in Chrome 19-20.\n // See https://code.google.com/p/v8/issues/detail?id=2291 for more details.\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is a native function.\n *\n * @static\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function, else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\nfunction isNative(value) {\n if (value == null) {\n return false;\n }\n if (isFunction(value)) {\n return reIsNative.test(fnToString.call(value));\n }\n return isObjectLike(value) && reIsHostCtor.test(value);\n}\n\nmodule.exports = isArray;\n","'use strict';\n\nexports.__esModule = true;\nexports['default'] = handleActions;\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _handleAction = require('./handleAction');\n\nvar _handleAction2 = _interopRequireDefault(_handleAction);\n\nvar _ownKeys = require('./ownKeys');\n\nvar _ownKeys2 = _interopRequireDefault(_ownKeys);\n\nvar _reduceReducers = require('reduce-reducers');\n\nvar _reduceReducers2 = _interopRequireDefault(_reduceReducers);\n\nfunction handleActions(handlers, defaultState) {\n var reducers = _ownKeys2['default'](handlers).map(function (type) {\n return _handleAction2['default'](type, handlers[type]);\n });\n\n return typeof defaultState !== 'undefined' ? function (state, action) {\n if (state === undefined) state = defaultState;\n return _reduceReducers2['default'].apply(undefined, reducers)(state, action);\n } : _reduceReducers2['default'].apply(undefined, reducers);\n}\n\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports['default'] = ownKeys;\n\nfunction ownKeys(object) {\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n return Reflect.ownKeys(object);\n }\n\n var keys = Object.getOwnPropertyNames(object);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(object));\n }\n\n return keys;\n}\n\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports.default = function () {\n for (var _len = arguments.length, reducers = Array(_len), _key = 0; _key < _len; _key++) {\n reducers[_key] = arguments[_key];\n }\n\n return function (previous, current) {\n return reducers.reduce(function (p, r) {\n return r(p, current);\n }, previous);\n };\n};\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = require('bowser');\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: 'Webkit',\n safari: 'Webkit',\n ios: 'Webkit',\n android: 'Webkit',\n phantom: 'Webkit',\n opera: 'Webkit',\n webos: 'Webkit',\n blackberry: 'Webkit',\n bada: 'Webkit',\n tizen: 'Webkit',\n chromium: 'Webkit',\n vivaldi: 'Webkit',\n firefox: 'Moz',\n seamoney: 'Moz',\n sailfish: 'Moz',\n msie: 'ms',\n msedge: 'ms'\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: 'chrome',\n chromium: 'chrome',\n safari: 'safari',\n firfox: 'firefox',\n msedge: 'edge',\n opera: 'opera',\n vivaldi: 'opera',\n msie: 'ie'\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return 'firefox';\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return 'ios_saf';\n } else if (browserInfo.android) {\n return 'android';\n } else if (browserInfo.opera) {\n return 'op_mini';\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, ''));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-';\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = 'and_chr';\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) {\n browserInfo.browserName = 'and_chr';\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports['default'];","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(name, definition)\n else root[name] = definition()\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)(o|0)s/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser'\n , whale: t\n , version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser'\n , mzbrowser: t\n , version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus'\n , focus: t\n , version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.whale && compareVersions([result.version, '1.0']) === 1) ||\n (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||\n (result.focus && compareVersions([result.version, '1.0']) === 1) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array<String>} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = 'keyframes';\n\n if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports['default'];","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _isArray from './_isArray.js';\n\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n if (length === 0) {\n return fn();\n }\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from './_curry1.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\nvar forEach = /*#__PURE__*/_curry2( /*#__PURE__*/_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n return list;\n}));\nexport default forEach;","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from './_isArray.js';\nimport _isTransformer from './_isTransformer.js';\n\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n if (!_isArray(obj)) {\n var idx = 0;\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n idx += 1;\n }\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n return fn.apply(this, arguments);\n };\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry1 from './_curry1.js';\nimport _isArray from './_isArray.js';\nimport _isString from './_isString.js';\n\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\nvar _isArrayLike = /*#__PURE__*/_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n if (!x) {\n return false;\n }\n if (typeof x !== 'object') {\n return false;\n }\n if (_isString(x)) {\n return false;\n }\n if (x.nodeType === 1) {\n return !!x.length;\n }\n if (x.length === 0) {\n return true;\n }\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n return false;\n});\nexport default _isArrayLike;","var XWrap = /*#__PURE__*/function () {\n function XWrap(fn) {\n this.f = fn;\n }\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _arity from './internal/_arity.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\nvar bind = /*#__PURE__*/_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\nexport default bind;","import _isArrayLike from './_isArrayLike.js';\nimport _xwrap from './_xwrap.js';\nimport bind from '../bind.js';\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n idx += 1;\n }\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n step = iter.next();\n }\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\n\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFilter = /*#__PURE__*/function () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter = /*#__PURE__*/_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\nexport default _xfilter;","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from './_has.js';\n\nvar toString = Object.prototype.toString;\nvar _isArguments = /*#__PURE__*/function () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from './internal/_curry1.js';\nimport _has from './internal/_has.js';\nimport _isArguments from './internal/_isArguments.js';\n\n// cover IE < 9 keys issues\nvar hasEnumBug = ! /*#__PURE__*/{ toString: null }.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n// Safari bug\nvar hasArgsEnumBug = /*#__PURE__*/function () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n idx += 1;\n }\n return false;\n};\n\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? /*#__PURE__*/_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) : /*#__PURE__*/_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n var prop, nIdx;\n var ks = [];\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n nIdx -= 1;\n }\n }\n return ks;\n});\nexport default keys;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _filter from './internal/_filter.js';\nimport _isObject from './internal/_isObject.js';\nimport _reduce from './internal/_reduce.js';\nimport _xfilter from './internal/_xfilter.js';\nimport keys from './keys.js';\n\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar filter = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n return acc;\n }, {}, keys(filterable)) :\n // else\n _filter(pred, filterable);\n}));\nexport default filter;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\nvar type = /*#__PURE__*/_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\nexport default type;","import _arrayFromIterator from './_arrayFromIterator.js';\nimport _includesWith from './_includesWith.js';\nimport _functionName from './_functionName.js';\nimport _has from './_has.js';\nimport _objectIs from './_objectIs.js';\nimport keys from '../keys.js';\nimport type from '../type.js';\n\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n }\n\n // if *a* array contains any element that is not included in *b*\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n break;\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n break;\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n break;\n case 'Error':\n return a.name === b.name && a.message === b.message;\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n break;\n }\n\n var idx = stackA.length - 1;\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n\n idx = keysA.length - 1;\n while (idx >= 0) {\n var key = keysA[idx];\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n idx -= 1;\n }\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from './internal/_curry2.js';\nimport _equals from './internal/_equals.js';\n\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\nvar equals = /*#__PURE__*/_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\nexport default equals;","import _curry1 from './internal/_curry1.js';\nimport _isArguments from './internal/_isArguments.js';\nimport _isArray from './internal/_isArray.js';\nimport _isObject from './internal/_isObject.js';\nimport _isString from './internal/_isString.js';\n\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\nvar empty = /*#__PURE__*/_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : void 0 // else\n ;\n});\nexport default empty;","import _curry1 from './internal/_curry1.js';\nimport empty from './empty.js';\nimport equals from './equals.js';\n\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\nvar isEmpty = /*#__PURE__*/_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\nexport default isEmpty;","import _curry2 from './internal/_curry2.js';\n\n// `Const` is a functor that effectively ignores the function given to `map`.\nvar Const = function (x) {\n return { value: x, 'fantasy-land/map': function () {\n return this;\n } };\n};\n\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\nvar view = /*#__PURE__*/_curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n});\nexport default view;","import _curry1 from './_curry1.js';\nimport _curry2 from './_curry2.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","import _curry3 from './internal/_curry3.js';\n\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\nvar assoc = /*#__PURE__*/_curry3(function assoc(prop, val, obj) {\n var result = {};\n for (var p in obj) {\n result[p] = obj[p];\n }\n result[prop] = val;\n return result;\n});\nexport default assoc;","import _curry1 from './internal/_curry1.js';\n\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\nvar isNil = /*#__PURE__*/_curry1(function isNil(x) {\n return x == null;\n});\nexport default isNil;","import _curry3 from './internal/_curry3.js';\nimport _has from './internal/_has.js';\nimport _isArray from './internal/_isArray.js';\nimport _isInteger from './internal/_isInteger.js';\nimport assoc from './assoc.js';\nimport isNil from './isNil.js';\n\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\nvar assocPath = /*#__PURE__*/_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n var idx = path[0];\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\nexport default assocPath;","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n return result;\n}","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XMap = /*#__PURE__*/function () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap = /*#__PURE__*/_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\nexport default _xmap;","import _arity from './internal/_arity.js';\nimport _curry1 from './internal/_curry1.js';\nimport _curry2 from './internal/_curry2.js';\nimport _curryN from './internal/_curryN.js';\n\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\nvar curryN = /*#__PURE__*/_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n return _arity(length, _curryN(length, [], fn));\n});\nexport default curryN;","import _arity from './_arity.js';\nimport _isPlaceholder from './_isPlaceholder.js';\n\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n combined[combinedIdx] = result;\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n combinedIdx += 1;\n }\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _map from './internal/_map.js';\nimport _reduce from './internal/_reduce.js';\nimport _xmap from './internal/_xmap.js';\nimport curryN from './curryN.js';\nimport keys from './keys.js';\n\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\nvar map = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n default:\n return _map(fn, functor);\n }\n}));\nexport default map;","import _curry2 from './internal/_curry2.js';\nimport map from './map.js';\n\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\nvar lens = /*#__PURE__*/_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\nexport default lens;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n */\nvar path = /*#__PURE__*/_curry2(function path(paths, obj) {\n var val = obj;\n var idx = 0;\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n val = val[paths[idx]];\n idx += 1;\n }\n return val;\n});\nexport default path;","import _curry1 from './internal/_curry1.js';\nimport assocPath from './assocPath.js';\nimport lens from './lens.js';\nimport path from './path.js';\n\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\nvar lensPath = /*#__PURE__*/_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\nexport default lensPath;","export default function _isFunction(x) {\n return Object.prototype.toString.call(x) === '[object Function]';\n}","import _indexOf from './_indexOf.js';\n\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from '../equals.js';\n\nexport default function _indexOf(list, a, idx) {\n var inf, item;\n // Array.prototype.indexOf doesn't exist below IE9\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n while (idx < list.length) {\n item = list[idx];\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n }\n // non-zero numbers can utilise Set\n return list.indexOf(a, idx);\n\n // all these types can utilise Set\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n }\n }\n // anything else not covered above, defer to R.equals\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","import _complement from './internal/_complement.js';\nimport _curry2 from './internal/_curry2.js';\nimport filter from './filter.js';\n\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\nvar reject = /*#__PURE__*/_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\nexport default reject;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","import _curry1 from './internal/_curry1.js';\nimport _toString from './internal/_toString.js';\n\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\nvar toString = /*#__PURE__*/_curry1(function toString(val) {\n return _toString(val, []);\n});\nexport default toString;","import _includes from './_includes.js';\nimport _map from './_map.js';\nimport _quote from './_quote.js';\nimport _toISOString from './_toISOString.js';\nimport keys from '../keys.js';\nimport reject from '../reject.js';\n\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n };\n\n // mapPairs :: (Object, [String]) -> [String]\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return (/^\\d+$/.test(k)\n );\n }, keys(x)))).join(', ') + ']';\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n case '[object Null]':\n return 'null';\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n case '[object Undefined]':\n return 'undefined';\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry2 from './internal/_curry2.js';\nimport _isArray from './internal/_isArray.js';\nimport _isFunction from './internal/_isFunction.js';\nimport _isString from './internal/_isString.js';\nimport toString from './toString.js';\n\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\nvar concat = /*#__PURE__*/_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n throw new TypeError(toString(b) + ' is not an array');\n }\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n throw new TypeError(toString(b) + ' is not a string');\n }\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\nexport default concat;","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\nvar includes = /*#__PURE__*/_curry2(_includes);\nexport default includes;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n\n idx = 0;\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n idx = 0;\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n return result;\n}","import _concat from './internal/_concat.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\nvar append = /*#__PURE__*/_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\nexport default append;","import _has from './_has.js';\n\n// Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n while (idx < length) {\n var source = arguments[idx];\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n idx += 1;\n }\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\nvar mergeRight = /*#__PURE__*/_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\nexport default mergeRight;","const actionList = {\n ON_PROP_CHANGE: 'ON_PROP_CHANGE',\n SET_REQUEST_QUEUE: 'SET_REQUEST_QUEUE',\n COMPUTE_GRAPHS: 'COMPUTE_GRAPHS',\n COMPUTE_PATHS: 'COMPUTE_PATHS',\n SET_LAYOUT: 'SET_LAYOUT',\n SET_APP_LIFECYCLE: 'SET_APP_LIFECYCLE',\n SET_CONFIG: 'SET_CONFIG',\n ON_ERROR: 'ON_ERROR',\n SET_HOOKS: 'SET_HOOKS',\n};\n\nexport const getAction = action => {\n if (actionList[action]) {\n return actionList[action];\n }\n throw new Error(`${action} is not defined.`);\n};\n","import {append, assocPath, includes, lensPath, mergeRight, view} from 'ramda';\n\nimport {getAction} from '../actions/constants';\n\nconst layout = (state = {}, action) => {\n if (action.type === getAction('SET_LAYOUT')) {\n return action.payload;\n } else if (\n includes(action.type, [\n 'UNDO_PROP_CHANGE',\n 'REDO_PROP_CHANGE',\n getAction('ON_PROP_CHANGE'),\n ])\n ) {\n const propPath = append('props', action.payload.itempath);\n const existingProps = view(lensPath(propPath), state);\n const mergedProps = mergeRight(existingProps, action.payload.props);\n return assocPath(propPath, mergedProps, state);\n }\n\n return state;\n};\n\nexport default layout;\n","import _curry2 from './internal/_curry2.js';\nimport _has from './internal/_has.js';\n\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\nvar hasPath = /*#__PURE__*/_curry2(function hasPath(_path, obj) {\n if (_path.length === 0) {\n return false;\n }\n var val = obj;\n var idx = 0;\n while (idx < _path.length) {\n if (_has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n return true;\n});\nexport default hasPath;","import _curry2 from './internal/_curry2.js';\nimport hasPath from './hasPath.js';\n\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\nvar has = /*#__PURE__*/_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\nexport default has;","import {has, type} from 'ramda';\n\n/*\n * requests_pathname_prefix is the new config parameter introduced in\n * dash==0.18.0. The previous versions just had url_base_pathname\n */\nexport function urlBase(config) {\n const hasUrlBase = has('url_base_pathname', config);\n const hasReqPrefix = has('requests_pathname_prefix', config);\n if (type(config) !== 'Object' || (!hasUrlBase && !hasReqPrefix)) {\n throw new Error(\n `\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in \\`config\\`. \\`config\\` is: `,\n config\n );\n }\n\n const base = hasReqPrefix\n ? config.requests_pathname_prefix\n : config.url_base_pathname;\n\n return base.charAt(base.length - 1) === '/' ? base : base + '/';\n}\n\nexport function uid() {\n function s4() {\n const h = 0x10000;\n return Math.floor((1 + Math.random()) * h)\n .toString(16)\n .substring(1);\n }\n return (\n s4() +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n '-' +\n s4() +\n s4() +\n s4()\n );\n}\n\nexport function isMultiOutputProp(outputIdAndProp) {\n /*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\n\n return outputIdAndProp.startsWith('..');\n}\n\nexport function parseMultipleOutputs(outputIdAndProp) {\n /*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\n return outputIdAndProp.split('...').map(o => o.replace('..', ''));\n}\n","import {type} from 'ramda';\nimport {DepGraph} from 'dependency-graph';\nimport {isMultiOutputProp, parseMultipleOutputs} from '../utils';\n\nconst initialGraph = {};\n\nconst graphs = (state = initialGraph, action) => {\n switch (action.type) {\n case 'COMPUTE_GRAPHS': {\n const dependencies = action.payload;\n const inputGraph = new DepGraph();\n const multiGraph = new DepGraph();\n\n dependencies.forEach(function registerDependency(dependency) {\n const {output, inputs} = dependency;\n\n // Multi output supported will be a string already\n // Backward compatibility by detecting object.\n let outputId;\n if (type(output) === 'Object') {\n outputId = `${output.id}.${output.property}`;\n } else {\n outputId = output;\n if (isMultiOutputProp(output)) {\n parseMultipleOutputs(output).forEach(out => {\n multiGraph.addNode(out);\n inputs.forEach(i => {\n const inputId = `${i.id}.${i.property}`;\n if (!multiGraph.hasNode(inputId)) {\n multiGraph.addNode(inputId);\n }\n multiGraph.addDependency(inputId, out);\n });\n });\n } else {\n multiGraph.addNode(output);\n inputs.forEach(i => {\n const inputId = `${i.id}.${i.property}`;\n if (!multiGraph.hasNode(inputId)) {\n multiGraph.addNode(inputId);\n }\n multiGraph.addDependency(inputId, output);\n });\n }\n }\n\n inputs.forEach(inputObject => {\n const inputId = `${inputObject.id}.${inputObject.property}`;\n inputGraph.addNode(outputId);\n if (!inputGraph.hasNode(inputId)) {\n inputGraph.addNode(inputId);\n }\n inputGraph.addDependency(inputId, outputId);\n });\n });\n\n return {InputGraph: inputGraph, MultiGraph: multiGraph};\n }\n\n default:\n return state;\n }\n};\n\nexport default graphs;\n","import _curry3 from './internal/_curry3.js';\nimport _reduce from './internal/_reduce.js';\n\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\nvar reduce = /*#__PURE__*/_curry3(_reduce);\nexport default reduce;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\n\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\nvar flip = /*#__PURE__*/_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\nexport default flip;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\nvar max = /*#__PURE__*/_curry2(function max(a, b) {\n return b > a ? b : a;\n});\nexport default max;","import _curry2 from './internal/_curry2.js';\nimport path from './path.js';\n\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig s -> {s: a} -> a | Undefined\n * @param {String} p The property name\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop = /*#__PURE__*/_curry2(function prop(p, obj) {\n return path([p], obj);\n});\nexport default prop;","import _curry2 from './internal/_curry2.js';\nimport map from './map.js';\nimport prop from './prop.js';\n\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\nvar pluck = /*#__PURE__*/_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\nexport default pluck;","import _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\nimport max from './max.js';\nimport pluck from './pluck.js';\nimport reduce from './reduce.js';\n\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n * const isQueen = R.propEq('rank', 'Q');\n * const isSpade = R.propEq('suit', '♠︎');\n * const isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\nvar allPass = /*#__PURE__*/_curry1(function allPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n while (idx < len) {\n if (!preds[idx].apply(this, arguments)) {\n return false;\n }\n idx += 1;\n }\n return true;\n });\n});\nexport default allPass;","import _curry2 from './internal/_curry2.js';\n\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\nvar is = /*#__PURE__*/_curry2(function is(Ctor, val) {\n return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\nexport default is;","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry3 from './internal/_curry3.js';\n\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\nvar slice = /*#__PURE__*/_curry3( /*#__PURE__*/_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\nexport default slice;","import _checkForMethod from './internal/_checkForMethod.js';\nimport _curry1 from './internal/_curry1.js';\nimport slice from './slice.js';\n\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\nvar tail = /*#__PURE__*/_curry1( /*#__PURE__*/_checkForMethod('tail', /*#__PURE__*/slice(1, Infinity)));\nexport default tail;","import _arity from './internal/_arity.js';\nimport _pipe from './internal/_pipe.js';\nimport reduce from './reduce.js';\nimport tail from './tail.js';\n\n/**\n * Performs left-to-right function composition. The leftmost function may have\n * any arity; the remaining functions must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import _curry1 from './internal/_curry1.js';\nimport _isString from './internal/_isString.js';\n\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\nvar reverse = /*#__PURE__*/_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\nexport default reverse;","import pipe from './pipe.js';\nimport reverse from './reverse.js';\n\n/**\n * Performs right-to-left function composition. The rightmost function may have\n * any arity; the remaining functions must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\nexport default function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n return pipe.apply(this, reverse(arguments));\n}","import {\n allPass,\n append,\n compose,\n flip,\n has,\n is,\n prop,\n reduce,\n type,\n} from 'ramda';\n\nconst extend = reduce(flip(append));\n\nconst hasProps = allPass([is(Object), has('props')]);\n\nexport const hasPropsId = allPass([\n hasProps,\n compose(\n has('id'),\n prop('props')\n ),\n]);\n\nexport const hasPropsChildren = allPass([\n hasProps,\n compose(\n has('children'),\n prop('props')\n ),\n]);\n\n// crawl a layout object, apply a function on every object\nexport const crawlLayout = (object, func, path = []) => {\n func(object, path);\n\n /*\n * object may be a string, a number, or null\n * R.has will return false for both of those types\n */\n if (hasPropsChildren(object)) {\n const newPath = extend(path, ['props', 'children']);\n if (Array.isArray(object.props.children)) {\n object.props.children.forEach((child, i) => {\n crawlLayout(child, func, append(i, newPath));\n });\n } else {\n crawlLayout(object.props.children, func, newPath);\n }\n } else if (is(Array, object)) {\n /*\n * Sometimes when we're updating a sub-tree\n * (like when we're responding to a callback)\n * that returns `{children: [{...}, {...}]}`\n * then we'll need to start crawling from\n * an array instead of an object.\n */\n\n object.forEach((child, i) => {\n crawlLayout(child, func, append(i, path));\n });\n }\n};\n\nexport function hasId(child) {\n return (\n type(child) === 'Object' &&\n has('props', child) &&\n has('id', child.props)\n );\n}\n","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\nvar omit = /*#__PURE__*/_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n return result;\n});\nexport default omit;","import {crawlLayout, hasPropsId} from './utils';\nimport {\n concat,\n equals,\n filter,\n isEmpty,\n isNil,\n keys,\n mergeRight,\n omit,\n slice,\n} from 'ramda';\nimport {getAction} from '../actions/constants';\n\nconst initialPaths = null;\n\nconst paths = (state = initialPaths, action) => {\n switch (action.type) {\n case getAction('COMPUTE_PATHS'): {\n const {subTree, startingPath} = action.payload;\n let oldState = state;\n if (isNil(state)) {\n oldState = {};\n }\n let newState;\n\n // if we're updating a subtree, clear out all of the existing items\n if (!isEmpty(startingPath)) {\n const removeKeys = filter(\n k =>\n equals(\n startingPath,\n slice(0, startingPath.length, oldState[k])\n ),\n keys(oldState)\n );\n newState = omit(removeKeys, oldState);\n } else {\n newState = mergeRight({}, oldState);\n }\n\n crawlLayout(subTree, function assignPath(child, itempath) {\n if (hasPropsId(child)) {\n newState[child.props.id] = concat(startingPath, itempath);\n }\n });\n\n return newState;\n }\n\n default: {\n return state;\n }\n }\n};\n\nexport default paths;\n","import _cloneRegExp from './_cloneRegExp.js';\nimport type from '../type.js';\n\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n idx += 1;\n }\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n return copiedValue;\n };\n switch (type(value)) {\n case 'Object':\n return copy({});\n case 'Array':\n return copy([]);\n case 'Date':\n return new Date(value.valueOf());\n case 'RegExp':\n return _cloneRegExp(value);\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _clone from './internal/_clone.js';\nimport _curry1 from './internal/_curry1.js';\n\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\nvar clone = /*#__PURE__*/_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\nexport default clone;","import {clone} from 'ramda';\n\nconst requestQueue = (state = [], action) => {\n switch (action.type) {\n case 'SET_REQUEST_QUEUE':\n return clone(action.payload);\n\n default:\n return state;\n }\n};\n\nexport default requestQueue;\n","export function getAppState(state) {\n const stateList = {\n STARTED: 'STARTED',\n HYDRATED: 'HYDRATED',\n };\n if (stateList[state]) {\n return stateList[state];\n }\n throw new Error(`${state} is not a valid app state.`);\n}\n","import {getAction} from '../actions/constants';\nimport {getAppState} from './constants';\n\nfunction appLifecycle(state = getAppState('STARTED'), action) {\n switch (action.type) {\n case getAction('SET_APP_LIFECYCLE'):\n return getAppState(action.payload);\n default:\n return state;\n }\n}\n\nexport default appLifecycle;\n","const initialHistory = {\n past: [],\n present: {},\n future: [],\n};\n\nfunction history(state = initialHistory, action) {\n switch (action.type) {\n case 'UNDO': {\n const {past, present, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present, ...future],\n };\n }\n\n case 'REDO': {\n const {past, present, future} = state;\n const next = future[0];\n const newFuture = future.slice(1);\n return {\n past: [...past, present],\n present: next,\n future: newFuture,\n };\n }\n\n case 'REVERT': {\n const {past, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [...future],\n };\n }\n\n default: {\n return state;\n }\n }\n}\n\nexport default history;\n","import {mergeRight} from 'ramda';\n\nconst initialError = {\n frontEnd: [],\n backEnd: [],\n};\n\nexport default function error(state = initialError, action) {\n switch (action.type) {\n case 'ON_ERROR': {\n if (action.payload.type === 'frontEnd') {\n return {\n frontEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.frontEnd,\n ],\n backEnd: state.backEnd,\n };\n } else if (action.payload.type === 'backEnd') {\n return {\n frontEnd: state.frontEnd,\n backEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.backEnd,\n ],\n };\n }\n return state;\n }\n\n default: {\n return state;\n }\n }\n}\n","const customHooks = (\n state = {request_pre: null, request_post: null, bear: false},\n action\n) => {\n switch (action.type) {\n case 'SET_HOOKS':\n return action.payload;\n default:\n return state;\n }\n};\n\nexport default customHooks;\n","import {getAction} from '../actions/constants';\n\nexport default function config(state = null, action) {\n if (action.type === getAction('SET_CONFIG')) {\n return action.payload;\n }\n return state;\n}\n","'use strict';\nimport {\n concat,\n equals,\n filter,\n forEach,\n isEmpty,\n keys,\n lensPath,\n view,\n} from 'ramda';\nimport {combineReducers} from 'redux';\nimport layout from './layout';\nimport graphs from './dependencyGraph';\nimport paths from './paths';\nimport requestQueue from './requestQueue';\nimport appLifecycle from './appLifecycle';\nimport history from './history';\nimport error from './error';\nimport hooks from './hooks';\nimport createApiReducer from './api';\nimport config from './config';\n\nexport const apiRequests = [\n 'dependenciesRequest',\n 'layoutRequest',\n 'reloadRequest',\n 'loginRequest',\n];\n\nfunction mainReducer() {\n const parts = {\n appLifecycle,\n layout,\n graphs,\n paths,\n requestQueue,\n config,\n history,\n error,\n hooks,\n };\n forEach(r => {\n parts[r] = createApiReducer(r);\n }, apiRequests);\n\n return combineReducers(parts);\n}\n\nfunction getInputHistoryState(itempath, props, state) {\n const {graphs, layout, paths} = state;\n const {InputGraph} = graphs;\n const keyObj = filter(equals(itempath), paths);\n let historyEntry;\n if (!isEmpty(keyObj)) {\n const id = keys(keyObj)[0];\n historyEntry = {id, props: {}};\n keys(props).forEach(propKey => {\n const inputKey = `${id}.${propKey}`;\n if (\n InputGraph.hasNode(inputKey) &&\n InputGraph.dependenciesOf(inputKey).length > 0\n ) {\n historyEntry.props[propKey] = view(\n lensPath(concat(paths[id], ['props', propKey])),\n layout\n );\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function(state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE') {\n const {itempath, props} = action.payload;\n const historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n const nextState = reducer(state, action);\n\n if (\n action.type === 'ON_PROP_CHANGE' &&\n action.payload.source !== 'response'\n ) {\n const {itempath, props} = action.payload;\n /*\n * if the prop change is an input, then\n * record it so that it can be played back\n */\n const historyEntry = getInputHistoryState(\n itempath,\n props,\n nextState\n );\n if (historyEntry && !isEmpty(historyEntry.props)) {\n nextState.history = {\n past: [...nextState.history.past, state.history.present],\n present: historyEntry,\n future: [],\n };\n }\n }\n\n return nextState;\n };\n}\n\nfunction reloaderReducer(reducer) {\n return function(state, action) {\n const {history, config, hooks} = state || {};\n let newState = state;\n if (action.type === 'RELOAD') {\n newState = {history, config, hooks};\n } else if (action.type === 'SET_CONFIG') {\n // new config also reloads, and even clears history,\n // in case there's a new user or even a totally different app!\n // hooks are set at an even higher level than config though.\n newState = {hooks};\n }\n return reducer(newState, action);\n };\n}\n\nexport function createReducer() {\n return reloaderReducer(recordHistory(mainReducer()));\n}\n","/* global module, require */\n\nimport {createStore, applyMiddleware} from 'redux';\nimport thunk from 'redux-thunk';\nimport {createReducer} from './reducers/reducer';\n\nlet store;\n\n/**\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\n *\n * @param {bool} reset: discard any previous store\n *\n * @returns {Store<GenericStoreEnhancer>}\n * An initialized redux store with middleware and possible hot reloading of reducers\n */\nconst initializeStore = reset => {\n if (store && !reset) {\n return store;\n }\n\n const reducer = createReducer();\n\n // only attach logger to middleware in non-production mode\n store =\n process.env.NODE_ENV === 'production' // eslint-disable-line no-process-env\n ? createStore(reducer, applyMiddleware(thunk))\n : createStore(\n reducer,\n window.__REDUX_DEVTOOLS_EXTENSION__ &&\n window.__REDUX_DEVTOOLS_EXTENSION__(),\n applyMiddleware(thunk)\n );\n\n if (!reset) {\n // TODO - Protect this under a debug mode?\n window.store = store; /* global window:true */\n }\n\n if (module.hot) {\n // Enable hot module replacement for reducers\n module.hot.accept('./reducers/reducer', () => {\n const nextRootReducer = require('./reducers/reducer').createReducer();\n\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n};\n\nexport default initializeStore;\n","import {assoc, assocPath, mergeRight} from 'ramda';\n\nexport default function createApiReducer(store) {\n return function ApiReducer(state = {}, action) {\n let newState = state;\n if (action.type === store) {\n const {id, status, content} = action.payload;\n const newRequest = {status, content};\n if (Array.isArray(id)) {\n newState = assocPath(id, newRequest, state);\n } else if (id) {\n newState = assoc(id, newRequest, state);\n } else {\n newState = mergeRight(state, newRequest);\n }\n }\n return newState;\n };\n}\n","'use strict';\n\nexport default {\n resolve: component => {\n const {type, namespace} = component;\n\n const ns = window[namespace]; /* global window: true */\n\n if (ns) {\n if (ns[type]) {\n return ns[type];\n }\n\n throw new Error(`Component ${type} not found in ${namespace}`);\n }\n\n throw new Error(`${namespace} was not found.`);\n },\n};\n","import _curry1 from './internal/_curry1.js';\n\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @see R.keys, R.valuesIn\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.keysIn(f); //=> ['x', 'y']\n */\nvar keysIn = /*#__PURE__*/_curry1(function keysIn(obj) {\n var prop;\n var ks = [];\n for (prop in obj) {\n ks[ks.length] = prop;\n }\n return ks;\n});\nexport default keysIn;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\nvar pick = /*#__PURE__*/_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n idx += 1;\n }\n return result;\n});\nexport default pick;","import _concat from './internal/_concat.js';\nimport _curry1 from './internal/_curry1.js';\nimport curryN from './curryN.js';\n\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n * const mapIndexed = R.addIndex(R.map);\n * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\nvar addIndex = /*#__PURE__*/_curry1(function addIndex(fn) {\n return curryN(fn.length, function () {\n var idx = 0;\n var origFn = arguments[0];\n var list = arguments[arguments.length - 1];\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = function () {\n var result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx += 1;\n return result;\n };\n return fn.apply(this, args);\n });\n});\nexport default addIndex;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\nvar defaultTo = /*#__PURE__*/_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\nexport default defaultTo;","import _curry3 from './internal/_curry3.js';\nimport defaultTo from './defaultTo.js';\nimport path from './path.js';\n\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\nvar pathOr = /*#__PURE__*/_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\nexport default pathOr;","import _curry3 from './internal/_curry3.js';\nimport pathOr from './pathOr.js';\n\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\nvar propOr = /*#__PURE__*/_curry3(function propOr(val, p, obj) {\n return pathOr(val, [p], obj);\n});\nexport default propOr;","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XAny = /*#__PURE__*/function () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n return this.xf['@@transducer/result'](result);\n };\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n return result;\n };\n\n return XAny;\n}();\n\nvar _xany = /*#__PURE__*/_curry2(function _xany(f, xf) {\n return new XAny(f, xf);\n});\nexport default _xany;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xany from './internal/_xany.js';\n\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\nvar any = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n idx += 1;\n }\n return false;\n}));\nexport default any;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n * const diff = function(a, b) { return a - b; };\n * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\nvar sort = /*#__PURE__*/_curry2(function sort(comparator, list) {\n return Array.prototype.slice.call(list, 0).sort(comparator);\n});\nexport default sort;","import _isArrayLike from './_isArrayLike.js';\n\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n idx += 1;\n }\n return result;\n };\n}","import _curry1 from './internal/_curry1.js';\nimport _makeFlat from './internal/_makeFlat.js';\n\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\nvar flatten = /*#__PURE__*/_curry1( /*#__PURE__*/_makeFlat(true));\nexport default flatten;","export default function _identity(x) {\n return x;\n}","import _curry1 from './internal/_curry1.js';\nimport _identity from './internal/_identity.js';\n\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\nvar identity = /*#__PURE__*/_curry1(_identity);\nexport default identity;","import _includes from './_includes.js';\n\nvar _Set = /*#__PURE__*/function () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n };\n\n //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n };\n\n //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n return false;\n }\n }\n // these types can all utilise the native Set\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n set._nativeSet.add(item);\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n return false;\n }\n return true;\n }\n /* falls through */\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n return false;\n }\n // scan through all previously applied items\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n return false;\n }\n return true;\n }\n}\n\n// A simple Set type that honours R.equals semantics\nexport default _Set;","import identity from './identity.js';\nimport uniqBy from './uniqBy.js';\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\nvar uniq = /*#__PURE__*/uniqBy(identity);\nexport default uniq;","import _Set from './internal/_Set.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\nvar uniqBy = /*#__PURE__*/_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n if (set.add(appliedItem)) {\n result.push(item);\n }\n idx += 1;\n }\n return result;\n});\nexport default uniqBy;","import _includes from './internal/_includes.js';\nimport _curry2 from './internal/_curry2.js';\nimport _filter from './internal/_filter.js';\nimport flip from './flip.js';\nimport uniq from './uniq.js';\n\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\nvar intersection = /*#__PURE__*/_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\nexport default intersection;","import _curry2 from './_curry2.js';\nimport _reduced from './_reduced.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFindIndex = /*#__PURE__*/function () {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindIndex.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n return this.xf['@@transducer/result'](result);\n };\n XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n return result;\n };\n\n return XFindIndex;\n}();\n\nvar _xfindIndex = /*#__PURE__*/_curry2(function _xfindIndex(f, xf) {\n return new XFindIndex(f, xf);\n});\nexport default _xfindIndex;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfindIndex from './internal/_xfindIndex.js';\n\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n idx += 1;\n }\n return -1;\n}));\nexport default findIndex;","import _curry3 from './internal/_curry3.js';\nimport equals from './equals.js';\n\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\nvar propEq = /*#__PURE__*/_curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\nexport default propEq;","import _concat from './internal/_concat.js';\nimport _curry3 from './internal/_curry3.js';\n\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> (a -> a) -> [a] -> [a]\n * @param {Number} idx The index.\n * @param {Function} fn The function to apply.\n * @param {Array|Arguments} list An array-like object whose value\n * at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n * the element at index `idx` replaced with the value\n * returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']\n * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D']\n * @symb R.adjust(-1, f, [a, b]) = [a, f(b)]\n * @symb R.adjust(0, f, [a, b]) = [f(a), b]\n */\nvar adjust = /*#__PURE__*/_curry3(function adjust(idx, fn, list) {\n if (idx >= list.length || idx < -list.length) {\n return list;\n }\n var start = idx < 0 ? list.length : 0;\n var _idx = start + idx;\n var _list = _concat(list);\n _list[_idx] = fn(list[_idx]);\n return _list;\n});\nexport default adjust;","import _objectAssign from './internal/_objectAssign.js';\nimport _curry2 from './internal/_curry2.js';\n\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const resetToDefault = R.mergeLeft({x: 0});\n * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeLeft(a, b) = {...b, ...a}\n */\nvar mergeLeft = /*#__PURE__*/_curry2(function mergeLeft(l, r) {\n return _objectAssign({}, r, l);\n});\nexport default mergeLeft;","import _curry3 from './internal/_curry3.js';\nimport _has from './internal/_has.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\nvar mergeWithKey = /*#__PURE__*/_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\nexport default mergeWithKey;","import _curry3 from './internal/_curry3.js';\nimport _isObject from './internal/_isObject.js';\nimport mergeWithKey from './mergeWithKey.js';\n\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\nvar mergeDeepWithKey = /*#__PURE__*/_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\nexport default mergeDeepWithKey;","import _curry2 from './internal/_curry2.js';\nimport mergeDeepWithKey from './mergeDeepWithKey.js';\n\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\nvar mergeDeepRight = /*#__PURE__*/_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\nexport default mergeDeepRight;","import _curry2 from './_curry2.js';\nimport _xfBase from './_xfBase.js';\n\nvar XFindLastIndex = /*#__PURE__*/function () {\n function XFindLastIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.lastIdx = -1;\n }\n XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n };\n XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n if (this.f(input)) {\n this.lastIdx = this.idx;\n }\n return result;\n };\n\n return XFindLastIndex;\n}();\n\nvar _xfindLastIndex = /*#__PURE__*/_curry2(function _xfindLastIndex(f, xf) {\n return new XFindLastIndex(f, xf);\n});\nexport default _xfindLastIndex;","import _curry2 from './internal/_curry2.js';\nimport _dispatchable from './internal/_dispatchable.js';\nimport _xfindLastIndex from './internal/_xfindLastIndex.js';\n\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\nvar findLastIndex = /*#__PURE__*/_curry2( /*#__PURE__*/_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n var idx = list.length - 1;\n while (idx >= 0) {\n if (fn(list[idx])) {\n return idx;\n }\n idx -= 1;\n }\n return -1;\n}));\nexport default findLastIndex;","export const REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nexport const OAUTH_COOKIE_NAME = 'plotly_oauth_token';\n\nexport const STATUS = {\n OK: 200,\n PREVENT_UPDATE: 204,\n CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR',\n};\n","import _curry1 from './internal/_curry1.js';\n\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * const t = R.always('Tee');\n * t(); //=> 'Tee'\n */\nvar always = /*#__PURE__*/_curry1(function always(val) {\n return function () {\n return val;\n };\n});\nexport default always;","import _curry3 from './internal/_curry3.js';\n\n// `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\nvar Identity = function (x) {\n return { value: x, map: function (f) {\n return Identity(f(x));\n } };\n};\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\nvar over = /*#__PURE__*/_curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function (y) {\n return Identity(f(y));\n })(x).value;\n});\nexport default over;","import _curry3 from './internal/_curry3.js';\nimport always from './always.js';\nimport over from './over.js';\n\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\nvar set = /*#__PURE__*/_curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\nexport default set;","/**\n * Generalized persistence for component props\n *\n * When users input new prop values, they can be stored and reapplied later,\n * when the component is recreated (changing `Tab` for example) or when the\n * page is reloaded (depending on `persistence_type`) Storage is tied to\n * component ID and will not on with components without an ID.\n *\n * Renderer handles the mechanics, but components must define a few props:\n *\n * - `persistence`: boolean, string, or number. For simple usage, set to `true`\n * to enable persistence, omit or set `false` to disable. For more complex\n * scenarios, use any truthy value, and change to a *different* truthy value\n * when you want the persisted values cleared. (modeled off `uirevision` in)\n * plotly.js\n * Typically should have no default, but the other persistence props should\n * have defaults, so all a user needs to do to enable persistence is set this\n * one prop.\n *\n * - `persisted_props`: array of prop names or \"nested prop IDs\" allowed to\n * persist. Normally should default to the full list of supported props,\n * so they can all be enabled at once. The main exception to this is if\n * there's a prop that *can* be persisted but most users wouldn't want this.\n * A nested prop ID describes *part* of a prop to store. It must be\n * \"<propName>.<piece>\" where propName is the prop that has this info, and\n * piece may or may not map to the exact substructure being stored but is\n * meaningful to the user. For example, in `dash_table`, `columns.name`\n * stores `columns[i].name` for all columns `i`. Nested props also need\n * entries in `persistenceTransforms` - see below.\n *\n * - `persistence_type`: one of \"local\", \"session\", or \"memory\", just like\n * `dcc.Store`. But the default here should be \"local\" because the main use\n * case is to maintain settings across reloads.\n *\n * If any `persisted_props` are nested prop IDs, the component should define a\n * class property (not a React prop) `persistenceTransforms`, as an object:\n * {\n * [propName]: {\n * [piece]: {\n * extract: propValue => valueToStore,\n * apply: (storedValue, propValue) => newPropValue\n * }\n * }\n * }\n * - `extract` turns a prop value into a reduced value to store.\n * - `apply` puts an extracted value back into the prop. Make sure this creates\n * a new object rather than mutating `proValue`, and that if there are\n * multiple `piece` entries for one `propName`, their `apply` functions\n * commute - which should not be an issue if they extract and apply\n * non-intersecting parts of the full prop.\n * You only need to define these for the props that need them.\n * It's important that `extract` pulls out *only* the relevant pieces of the\n * prop, because persistence is only maintained if the extracted value of the\n * prop before applying persistence is the same as it was before the user's\n * changes.\n */\n\nimport {\n equals,\n filter,\n forEach,\n keys,\n lensPath,\n mergeRight,\n set,\n type,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\n\nimport Registry from './registry';\n\nexport const storePrefix = '_dash_persistence.';\n\nfunction err(e) {\n const error = typeof e === 'string' ? new Error(e) : e;\n\n /* eslint-disable no-console */\n // Send this to the console too, so it's still available with debug off\n console.error(e);\n /* eslint-disable no-console */\n\n return createAction('ON_ERROR')({\n myID: storePrefix,\n type: 'frontEnd',\n error,\n });\n}\n\n/*\n * Does a key fit this prefix? Must either be an exact match\n * or, if a separator is provided, a scoped match - exact prefix\n * followed by the separator (then anything else)\n */\nfunction keyPrefixMatch(prefix, separator) {\n const fullStr = prefix + separator;\n const fullLen = fullStr.length;\n return key => key === prefix || key.substr(0, fullLen) === fullStr;\n}\n\nconst UNDEFINED = 'U';\nconst _parse = val => (val === UNDEFINED ? undefined : JSON.parse(val || null));\nconst _stringify = val => (val === undefined ? UNDEFINED : JSON.stringify(val));\n\nclass WebStore {\n constructor(backEnd) {\n this._name = backEnd;\n this._storage = window[backEnd];\n }\n\n hasItem(key) {\n return this._storage.getItem(storePrefix + key) !== null;\n }\n\n getItem(key) {\n // note: _storage.getItem returns null on missing keys\n // and JSON.parse(null) returns null as well\n return _parse(this._storage.getItem(storePrefix + key));\n }\n\n _setItem(key, value) {\n // unprotected version of setItem, for use by tryGetWebStore\n this._storage.setItem(storePrefix + key, _stringify(value));\n }\n /*\n * In addition to the regular key->value to set, setItem takes\n * dispatch as a parameter, so it can report OOM to devtools\n */\n setItem(key, value, dispatch) {\n try {\n this._setItem(key, value);\n } catch (e) {\n dispatch(\n err(\n `${key} failed to save in ${this._name}. Persisted props may be lost.`\n )\n );\n // TODO: at some point we may want to convert this to fall back\n // on memory, pulling out all persistence keys and putting them\n // in a MemStore that gets used from then onward.\n }\n }\n\n removeItem(key) {\n this._storage.removeItem(storePrefix + key);\n }\n\n /*\n * clear matching keys matching (optionally followed by a dot and more\n * characters) - or all keys associated with this store if no prefix.\n */\n clear(keyPrefix) {\n const fullPrefix = storePrefix + (keyPrefix || '');\n const keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : '');\n const keysToRemove = [];\n // 2-step process, so we don't depend on any particular behavior of\n // key order while removing some\n for (let i = 0; i < this._storage.length; i++) {\n const fullKey = this._storage.key(i);\n if (keyMatch(fullKey)) {\n keysToRemove.push(fullKey);\n }\n }\n forEach(k => this._storage.removeItem(k), keysToRemove);\n }\n}\n\nclass MemStore {\n constructor() {\n this._data = {};\n }\n\n hasItem(key) {\n return key in this._data;\n }\n\n getItem(key) {\n // run this storage through JSON too so we know we get a fresh object\n // each retrieval\n return _parse(this._data[key]);\n }\n\n setItem(key, value) {\n this._data[key] = _stringify(value);\n }\n\n removeItem(key) {\n delete this._data[key];\n }\n\n clear(keyPrefix) {\n if (keyPrefix) {\n forEach(\n key => delete this._data[key],\n filter(keyPrefixMatch(keyPrefix, '.'), keys(this._data))\n );\n } else {\n this._data = {};\n }\n }\n}\n\n// Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage.\n// That should be plenty for common persistence use cases,\n// without getting anywhere near typical browser limits\nconst pow = 16;\nfunction longString() {\n let s = 'Spam';\n for (let i = 2; i < pow; i++) {\n s += s;\n }\n return s;\n}\n\nexport const stores = {\n memory: new MemStore(),\n // Defer testing & making local/session stores until requested.\n // That way if we have errors here they can show up in devtools.\n};\n\nconst backEnds = {\n local: 'localStorage',\n session: 'sessionStorage',\n};\n\nfunction tryGetWebStore(backEnd, dispatch) {\n const store = new WebStore(backEnd);\n const fallbackStore = stores.memory;\n const storeTest = longString();\n const testKey = storePrefix + 'x.x';\n try {\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n dispatch(\n err(`${backEnd} init failed set/get, falling back to memory`)\n );\n return fallbackStore;\n }\n store.removeItem(testKey);\n return store;\n } catch (e) {\n dispatch(\n err(`${backEnd} init first try failed; clearing and retrying`)\n );\n }\n try {\n store.clear();\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n throw new Error('nope');\n }\n store.removeItem(testKey);\n dispatch(err(`${backEnd} init set/get succeeded after clearing!`));\n return store;\n } catch (e) {\n dispatch(err(`${backEnd} init still failed, falling back to memory`));\n return fallbackStore;\n }\n}\n\nfunction getStore(type, dispatch) {\n if (!stores[type]) {\n stores[type] = tryGetWebStore(backEnds[type], dispatch);\n }\n return stores[type];\n}\n\nconst noopTransform = {\n extract: propValue => propValue,\n apply: (storedValue, _propValue) => storedValue,\n};\n\nconst getTransform = (element, propName, propPart) =>\n propPart\n ? element.persistenceTransforms[propName][propPart]\n : noopTransform;\n\nconst getValsKey = (id, persistedProp, persistence) =>\n `${id}.${persistedProp}.${JSON.stringify(persistence)}`;\n\nconst getProps = layout => {\n const {props, type, namespace} = layout;\n if (!type || !namespace) {\n // not a real component - just need the props for recursion\n return {props};\n }\n const {id, persistence} = props;\n\n const element = Registry.resolve(layout);\n const getVal = prop => props[prop] || (element.defaultProps || {})[prop];\n const persisted_props = getVal('persisted_props');\n const persistence_type = getVal('persistence_type');\n const canPersist = id && persisted_props && persistence_type;\n\n return {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n };\n};\n\nexport function recordUiEdit(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(layout);\n if (!canPersist || !persistence) {\n return;\n }\n\n forEach(persistedProp => {\n const [propName, propPart] = persistedProp.split('.');\n if (newProps[propName]) {\n const storage = getStore(persistence_type, dispatch);\n const {extract} = getTransform(element, propName, propPart);\n\n const valsKey = getValsKey(id, persistedProp, persistence);\n let originalVal = extract(props[propName]);\n const newVal = extract(newProps[propName]);\n\n // mainly for nested props with multiple persisted parts, it's\n // possible to have the same value as before - should not store\n // in this case.\n if (originalVal !== newVal) {\n if (storage.hasItem(valsKey)) {\n originalVal = storage.getItem(valsKey)[1];\n }\n const vals =\n originalVal === undefined\n ? [newVal]\n : [newVal, originalVal];\n storage.setItem(valsKey, vals, dispatch);\n }\n }\n }, persisted_props);\n}\n\n/*\n * Used for entire layouts (on load) or partial layouts (from children\n * callbacks) to apply previously-stored UI edits to components\n */\nexport function applyPersistence(layout, dispatch) {\n if (type(layout) !== 'Object' || !layout.props) {\n return layout;\n }\n\n return persistenceMods(layout, layout, [], dispatch);\n}\n\nconst UNDO = true;\nfunction modProp(key, storage, element, props, persistedProp, update, undo) {\n if (storage.hasItem(key)) {\n const [newVal, originalVal] = storage.getItem(key);\n const fromVal = undo ? newVal : originalVal;\n const toVal = undo ? originalVal : newVal;\n const [propName, propPart] = persistedProp.split('.');\n const transform = getTransform(element, propName, propPart);\n\n if (equals(fromVal, transform.extract(props[propName]))) {\n update[propName] = transform.apply(\n toVal,\n propName in update ? update[propName] : props[propName]\n );\n } else {\n // clear this saved edit - we've started with the wrong\n // value for this persistence ID\n storage.removeItem(key);\n }\n }\n}\n\nfunction persistenceMods(layout, component, path, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(component);\n\n let layoutOut = layout;\n if (canPersist && persistence) {\n const storage = getStore(persistence_type, dispatch);\n const update = {};\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update\n ),\n persisted_props\n );\n\n for (const propName in update) {\n layoutOut = set(\n lensPath(path.concat('props', propName)),\n update[propName],\n layoutOut\n );\n }\n }\n\n // recurse inward\n const {children} = props;\n if (Array.isArray(children)) {\n children.forEach((child, i) => {\n if (type(child) === 'Object' && child.props) {\n layoutOut = persistenceMods(\n layoutOut,\n child,\n path.concat('props', 'children', i),\n dispatch\n );\n }\n });\n } else if (type(children) === 'Object' && children.props) {\n layoutOut = persistenceMods(\n layoutOut,\n children,\n path.concat('props', 'children'),\n dispatch\n );\n }\n return layoutOut;\n}\n\n/*\n * When we receive new explicit props from a callback,\n * these override UI-driven edits of those exact props\n * but not for props nested inside children\n */\nexport function prunePersistence(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n persistence,\n persisted_props,\n persistence_type,\n element,\n } = getProps(layout);\n\n const getFinal = (propName, prevVal) =>\n propName in newProps ? newProps[propName] : prevVal;\n const finalPersistence = getFinal('persistence', persistence);\n\n if (!canPersist || !(persistence || finalPersistence)) {\n return newProps;\n }\n\n const finalPersistenceType = getFinal('persistence_type', persistence_type);\n const finalPersistedProps = getFinal('persisted_props', persisted_props);\n const persistenceChanged =\n finalPersistence !== persistence ||\n finalPersistenceType !== persistence_type ||\n finalPersistedProps !== persisted_props;\n\n const notInNewProps = persistedProp =>\n !(persistedProp.split('.')[0] in newProps);\n\n const update = {};\n\n let depersistedProps = props;\n\n if (persistenceChanged && persistence) {\n // clear previously-applied persistence\n const storage = getStore(persistence_type, dispatch);\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update,\n UNDO\n ),\n filter(notInNewProps, persisted_props)\n );\n depersistedProps = mergeRight(props, update);\n }\n\n if (finalPersistence) {\n const finalStorage = getStore(finalPersistenceType, dispatch);\n\n if (persistenceChanged) {\n // apply new persistence\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, finalPersistence),\n finalStorage,\n element,\n depersistedProps,\n persistedProp,\n update\n ),\n filter(notInNewProps, finalPersistedProps)\n );\n }\n\n // now the main point - clear any edit of a prop that changed\n // note that this is independent of the new prop value.\n const transforms = element.persistenceTransforms || {};\n for (const propName in newProps) {\n const propTransforms = transforms[propName];\n if (propTransforms) {\n for (const propPart in propTransforms) {\n finalStorage.removeItem(\n getValsKey(\n id,\n `${propName}.${propPart}`,\n finalPersistence\n )\n );\n }\n } else {\n finalStorage.removeItem(\n getValsKey(id, propName, finalPersistence)\n );\n }\n }\n }\n return persistenceChanged ? mergeRight(newProps, update) : newProps;\n}\n","import {path} from 'ramda';\nimport {isReady} from '@plotly/dash-component-plugins';\n\nimport Registry from '../registry';\n\nexport default (layout, paths, targets) => {\n const promises = [];\n targets.forEach(id => {\n const pathOfId = paths[id];\n if (!pathOfId) {\n return;\n }\n\n const target = path(pathOfId, layout);\n if (!target) {\n return;\n }\n\n const component = Registry.resolve(target);\n const ready = isReady(component);\n\n if (ready && typeof ready.then === 'function') {\n promises.push(ready);\n }\n });\n\n return promises.length ? Promise.all(promises) : true;\n};\n","/* global fetch:true, Promise:true, document:true */\nimport {\n adjust,\n any,\n append,\n concat,\n findIndex,\n findLastIndex,\n flatten,\n flip,\n has,\n includes,\n intersection,\n isEmpty,\n keys,\n lensPath,\n mergeLeft,\n mergeDeepRight,\n path,\n pluck,\n propEq,\n reject,\n slice,\n sort,\n type,\n uniq,\n view,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\nimport {crawlLayout, hasId} from '../reducers/utils';\nimport {getAppState} from '../reducers/constants';\nimport {getAction} from './constants';\nimport cookie from 'cookie';\nimport {uid, urlBase, isMultiOutputProp, parseMultipleOutputs} from '../utils';\nimport {STATUS} from '../constants/constants';\nimport {applyPersistence, prunePersistence} from '../persistence';\n\nimport isAppReady from './isAppReady';\n\nexport const updateProps = createAction(getAction('ON_PROP_CHANGE'));\nexport const setRequestQueue = createAction(getAction('SET_REQUEST_QUEUE'));\nexport const computeGraphs = createAction(getAction('COMPUTE_GRAPHS'));\nexport const computePaths = createAction(getAction('COMPUTE_PATHS'));\nexport const setAppLifecycle = createAction(getAction('SET_APP_LIFECYCLE'));\nexport const setConfig = createAction(getAction('SET_CONFIG'));\nexport const setHooks = createAction(getAction('SET_HOOKS'));\nexport const setLayout = createAction(getAction('SET_LAYOUT'));\nexport const onError = createAction(getAction('ON_ERROR'));\n\nexport function hydrateInitialOutputs() {\n return function(dispatch, getState) {\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle(getAppState('HYDRATED')));\n };\n}\n\nexport function getCSRFHeader() {\n return {\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token,\n };\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n const {graphs} = getState();\n const {InputGraph, MultiGraph} = graphs;\n const allNodes = InputGraph.overallOrder();\n // overallOrder will assert circular dependencies for multi output.\n\n try {\n MultiGraph.overallOrder();\n } catch (err) {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message: 'Circular Dependencies',\n html: err.toString(),\n },\n })\n );\n }\n\n const inputNodeIds = [];\n allNodes.reverse();\n allNodes.forEach(nodeId => {\n const componentId = nodeId.split('.')[0];\n /*\n * Filter out the outputs,\n * inputs that aren't leaves,\n * and the invisible inputs\n */\n if (\n InputGraph.dependenciesOf(nodeId).length > 0 &&\n InputGraph.dependantsOf(nodeId).length === 0 &&\n has(componentId, getState().paths)\n ) {\n inputNodeIds.push(nodeId);\n }\n });\n\n reduceInputIds(inputNodeIds, InputGraph).forEach(inputOutput => {\n const [componentId, componentProp] = inputOutput.input.split('.');\n // Get the initial property\n const propLens = lensPath(\n concat(getState().paths[componentId], ['props', componentProp])\n );\n const propValue = view(propLens, getState().layout);\n\n dispatch(\n notifyObservers({\n id: componentId,\n props: {[componentProp]: propValue},\n excludedOutputs: inputOutput.excludedOutputs,\n })\n );\n });\n}\n\nexport function redo() {\n return function(dispatch, getState) {\n const history = getState().history;\n dispatch(createAction('REDO')());\n const next = history.future[0];\n\n // Update props\n dispatch(\n createAction('REDO_PROP_CHANGE')({\n itempath: getState().paths[next.id],\n props: next.props,\n })\n );\n\n // Notify observers\n dispatch(\n notifyObservers({\n id: next.id,\n props: next.props,\n })\n );\n };\n}\n\nconst UNDO = createAction('UNDO')();\nexport function undo() {\n return undo_revert(UNDO);\n}\n\nconst REVERT = createAction('REVERT')();\nexport function revert() {\n return undo_revert(REVERT);\n}\n\nfunction undo_revert(undo_or_revert) {\n return function(dispatch, getState) {\n const history = getState().history;\n dispatch(undo_or_revert);\n const previous = history.past[history.past.length - 1];\n\n // Update props\n dispatch(\n createAction('UNDO_PROP_CHANGE')({\n itempath: getState().paths[previous.id],\n props: previous.props,\n })\n );\n\n // Notify observers\n dispatch(\n notifyObservers({\n id: previous.id,\n props: previous.props,\n })\n );\n };\n}\n\nfunction reduceInputIds(nodeIds, InputGraph) {\n /*\n * Create input-output(s) pairs,\n * sort by number of outputs,\n * and remove redundant inputs (inputs that update the same output)\n */\n const inputOutputPairs = nodeIds.map(nodeId => ({\n input: nodeId,\n // TODO - Does this include grandchildren?\n outputs: InputGraph.dependenciesOf(nodeId),\n excludedOutputs: [],\n }));\n\n const sortedInputOutputPairs = sort(\n (a, b) => b.outputs.length - a.outputs.length,\n inputOutputPairs\n );\n\n /*\n * In some cases, we may have unique outputs but inputs that could\n * trigger components to update multiple times.\n *\n * For example, [A, B] => C and [A, D] => E\n * The unique inputs might be [A, B, D] but that is redundant.\n * We only need to update B and D or just A.\n *\n * In these cases, we'll supply an additional list of outputs\n * to exclude.\n */\n sortedInputOutputPairs.forEach((pair, i) => {\n const outputsThatWillBeUpdated = flatten(\n pluck('outputs', slice(0, i, sortedInputOutputPairs))\n );\n pair.outputs.forEach(output => {\n if (includes(output, outputsThatWillBeUpdated)) {\n pair.excludedOutputs.push(output);\n }\n });\n });\n\n return sortedInputOutputPairs;\n}\n\nexport function notifyObservers(payload) {\n return async function(dispatch, getState) {\n const {id, props, excludedOutputs} = payload;\n\n const {\n dependenciesRequest,\n graphs,\n layout,\n paths,\n requestQueue,\n } = getState();\n\n const {InputGraph} = graphs;\n /*\n * Figure out all of the output id's that depend on this input.\n * This includes id's that are direct children as well as\n * grandchildren.\n * grandchildren will get filtered out in a later stage.\n */\n let outputObservers = [];\n\n const changedProps = keys(props);\n changedProps.forEach(propName => {\n const node = `${id}.${propName}`;\n if (!InputGraph.hasNode(node)) {\n return;\n }\n InputGraph.dependenciesOf(node).forEach(outputId => {\n /*\n * Multiple input properties that update the same\n * output can change at once.\n * For example, `n_clicks` and `n_clicks_previous`\n * on a button component.\n * We only need to update the output once for this\n * update, so keep outputObservers unique.\n */\n if (!includes(outputId, outputObservers)) {\n outputObservers.push(outputId);\n }\n });\n });\n\n if (excludedOutputs) {\n outputObservers = reject(\n flip(includes)(excludedOutputs),\n outputObservers\n );\n }\n\n if (isEmpty(outputObservers)) {\n return;\n }\n\n /*\n * There may be several components that depend on this input.\n * And some components may depend on other components before\n * updating. Get this update order straightened out.\n */\n const depOrder = InputGraph.overallOrder();\n outputObservers = sort(\n (a, b) => depOrder.indexOf(b) - depOrder.indexOf(a),\n outputObservers\n );\n const queuedObservers = [];\n outputObservers.forEach(function filterObservers(outputIdAndProp) {\n let outputIds;\n if (isMultiOutputProp(outputIdAndProp)) {\n outputIds = parseMultipleOutputs(outputIdAndProp).map(\n e => e.split('.')[0]\n );\n } else {\n outputIds = [outputIdAndProp.split('.')[0]];\n }\n\n /*\n * before we make the POST to update the output, check\n * that the output doesn't depend on any other inputs that\n * that depend on the same controller.\n * if the output has another input with a shared controller,\n * then don't update this output yet.\n * when each dependency updates, it'll dispatch its own\n * `notifyObservers` action which will allow this\n * component to update.\n *\n * for example, if A updates B and C (A -> [B, C]) and B updates C\n * (B -> C), then when A updates, this logic will\n * reject C from the queue since it will end up getting updated\n * by B.\n *\n * in this case, B will already be in queuedObservers by the time\n * this loop hits C because of the overallOrder sorting logic\n */\n\n const controllers = InputGraph.dependantsOf(outputIdAndProp);\n\n const controllersInFutureQueue = intersection(\n queuedObservers,\n controllers\n );\n\n /*\n * check that the output hasn't been triggered to update already\n * by a different input.\n *\n * for example:\n * Grandparent -> [Parent A, Parent B] -> Child\n *\n * when Grandparent changes, it will trigger Parent A and Parent B\n * to each update Child.\n * one of the components (Parent A or Parent B) will queue up\n * the change for Child. if this update has already been queued up,\n * then skip the update for the other component\n */\n const controllerIsInExistingQueue = any(\n r =>\n includes(r.controllerId, controllers) &&\n r.status === 'loading',\n requestQueue\n );\n\n /*\n * TODO - Place throttling logic here?\n *\n * Only process the last two requests for a _single_ output\n * at a time.\n *\n * For example, if A -> B, and A is changed 10 times, then:\n * 1 - processing the first two requests\n * 2 - if more than 2 requests come in while the first two\n * are being processed, then skip updating all of the\n * requests except for the last 2\n */\n\n /*\n * also check that this observer is actually in the current\n * component tree.\n * observers don't actually need to be rendered at the moment\n * of a controller change.\n * for example, perhaps the user has hidden one of the observers\n */\n\n if (\n controllersInFutureQueue.length === 0 &&\n any(e => has(e, getState().paths))(outputIds) &&\n !controllerIsInExistingQueue\n ) {\n queuedObservers.push(outputIdAndProp);\n }\n });\n\n /**\n * Determine the id of all components used as input or state in the callbacks\n * triggered by the props change.\n *\n * Wait for all components associated to these ids to be ready before initiating\n * the callbacks.\n */\n const deps = queuedObservers.map(output =>\n dependenciesRequest.content.find(\n dependency => dependency.output === output\n )\n );\n\n const ids = uniq(\n flatten(\n deps.map(dep => [\n dep.inputs.map(input => input.id),\n dep.state.map(state => state.id),\n ])\n )\n );\n\n await isAppReady(layout, paths, ids);\n\n /*\n * record the set of output IDs that will eventually need to be\n * updated in a queue. not all of these requests will be fired in this\n * action\n */\n const newRequestQueue = queuedObservers.map(i => ({\n controllerId: i,\n status: 'loading',\n uid: uid(),\n requestTime: Date.now(),\n }));\n dispatch(setRequestQueue(concat(requestQueue, newRequestQueue)));\n\n const promises = [];\n for (let i = 0; i < queuedObservers.length; i++) {\n const outputIdAndProp = queuedObservers[i];\n const requestUid = newRequestQueue[i].uid;\n\n promises.push(\n updateOutput(\n outputIdAndProp,\n getState,\n requestUid,\n dispatch,\n changedProps.map(prop => `${id}.${prop}`)\n )\n );\n }\n\n /* eslint-disable consistent-return */\n return Promise.all(promises);\n /* eslint-enable consistent-return */\n };\n}\n\nfunction updateOutput(\n outputIdAndProp,\n getState,\n requestUid,\n dispatch,\n changedPropIds\n) {\n const {config, layout, graphs, dependenciesRequest, hooks} = getState();\n const {InputGraph} = graphs;\n\n const getThisRequestIndex = () => {\n const postRequestQueue = getState().requestQueue;\n const thisRequestIndex = findIndex(\n propEq('uid', requestUid),\n postRequestQueue\n );\n return thisRequestIndex;\n };\n\n const updateRequestQueue = (rejected, status) => {\n const postRequestQueue = getState().requestQueue;\n const thisRequestIndex = getThisRequestIndex();\n if (thisRequestIndex === -1) {\n // It was already pruned away\n return;\n }\n const updatedQueue = adjust(\n thisRequestIndex,\n mergeLeft({\n status: status,\n responseTime: Date.now(),\n rejected,\n }),\n postRequestQueue\n );\n // We don't need to store any requests before this one\n const thisControllerId =\n postRequestQueue[thisRequestIndex].controllerId;\n const prunedQueue = updatedQueue.filter((queueItem, index) => {\n return (\n queueItem.controllerId !== thisControllerId ||\n index >= thisRequestIndex\n );\n });\n\n dispatch(setRequestQueue(prunedQueue));\n };\n\n /*\n * Construct a payload of the input and state.\n * For example:\n * {\n * inputs: [{'id': 'input1', 'property': 'new value'}],\n * state: [{'id': 'state1', 'property': 'existing value'}]\n * }\n */\n\n // eslint-disable-next-line no-unused-vars\n const [outputComponentId, _] = outputIdAndProp.split('.');\n const payload = {\n output: outputIdAndProp,\n changedPropIds,\n };\n\n const {\n inputs,\n state,\n clientside_function,\n } = dependenciesRequest.content.find(\n dependency => dependency.output === outputIdAndProp\n );\n const validKeys = keys(getState().paths);\n\n payload.inputs = inputs.map(inputObject => {\n // Make sure the component id exists in the layout\n if (!includes(inputObject.id, validKeys)) {\n throw new ReferenceError(\n 'An invalid input object was used in an ' +\n '`Input` of a Dash callback. ' +\n 'The id of this object is `' +\n inputObject.id +\n '` and the property is `' +\n inputObject.property +\n '`. The list of ids in the current layout is ' +\n '`[' +\n validKeys.join(', ') +\n ']`'\n );\n }\n const propLens = lensPath(\n concat(getState().paths[inputObject.id], [\n 'props',\n inputObject.property,\n ])\n );\n return {\n id: inputObject.id,\n property: inputObject.property,\n value: view(propLens, layout),\n };\n });\n\n const inputsPropIds = inputs.map(p => `${p.id}.${p.property}`);\n\n payload.changedPropIds = changedPropIds.filter(p =>\n includes(p, inputsPropIds)\n );\n\n if (state.length > 0) {\n payload.state = state.map(stateObject => {\n // Make sure the component id exists in the layout\n if (!includes(stateObject.id, validKeys)) {\n throw new ReferenceError(\n 'An invalid input object was used in a ' +\n '`State` object of a Dash callback. ' +\n 'The id of this object is `' +\n stateObject.id +\n '` and the property is `' +\n stateObject.property +\n '`. The list of ids in the current layout is ' +\n '`[' +\n validKeys.join(', ') +\n ']`'\n );\n }\n const propLens = lensPath(\n concat(getState().paths[stateObject.id], [\n 'props',\n stateObject.property,\n ])\n );\n return {\n id: stateObject.id,\n property: stateObject.property,\n value: view(propLens, layout),\n };\n });\n }\n\n function doUpdateProps(id, updatedProps) {\n const {layout, paths} = getState();\n const itempath = paths[id];\n if (!itempath) {\n return false;\n }\n\n // This is a callback-generated update.\n // Check if this invalidates existing persisted prop values,\n // or if persistence changed, whether this updates other props.\n const updatedProps2 = prunePersistence(\n path(itempath, layout),\n updatedProps,\n dispatch\n );\n\n // In case the update contains whole components, see if any of\n // those components have props to update to persist user edits.\n const {props} = applyPersistence({props: updatedProps2}, dispatch);\n\n dispatch(\n updateProps({\n itempath,\n props,\n source: 'response',\n })\n );\n\n return props;\n }\n\n // Clientside hook\n if (clientside_function) {\n let returnValue;\n\n /*\n * Create the dash_clientside namespace if it doesn't exist and inject\n * no_update and PreventUpdate.\n */\n if (!window.dash_clientside) {\n window.dash_clientside = {};\n }\n\n if (!window.dash_clientside.no_update) {\n Object.defineProperty(window.dash_clientside, 'no_update', {\n value: {description: 'Return to prevent updating an Output.'},\n writable: false,\n });\n\n Object.defineProperty(window.dash_clientside, 'PreventUpdate', {\n value: {description: 'Throw to prevent updating all Outputs.'},\n writable: false,\n });\n }\n\n try {\n returnValue = window.dash_clientside[clientside_function.namespace][\n clientside_function.function_name\n ](\n ...pluck('value', payload.inputs),\n ...(has('state', payload) ? pluck('value', payload.state) : [])\n );\n } catch (e) {\n /*\n * Prevent all updates.\n */\n if (e === window.dash_clientside.PreventUpdate) {\n updateRequestQueue(true, STATUS.PREVENT_UPDATE);\n return;\n }\n\n /* eslint-disable no-console */\n console.error(\n `The following error occurred while executing ${clientside_function.namespace}.${clientside_function.function_name} ` +\n `in order to update component \"${payload.output}\" ⋁⋁⋁`\n );\n console.error(e);\n /* eslint-enable no-console */\n\n /*\n * Update the request queue by treating an unsuccessful clientside\n * like a failed serverside response via same request queue\n * mechanism\n */\n\n updateRequestQueue(true, STATUS.CLIENTSIDE_ERROR);\n return;\n }\n\n // Returning promises isn't support atm\n if (type(returnValue) === 'Promise') {\n /* eslint-disable no-console */\n console.error(\n 'The clientside function ' +\n `${clientside_function.namespace}.${clientside_function.function_name} ` +\n 'returned a Promise instead of a value. Promises are not ' +\n 'supported in Dash clientside right now, but may be in the ' +\n 'future.'\n );\n /* eslint-enable no-console */\n updateRequestQueue(true, STATUS.CLIENTSIDE_ERROR);\n return;\n }\n\n function updateClientsideOutput(outputIdAndProp, outputValue) {\n const [outputId, outputProp] = outputIdAndProp.split('.');\n const updatedProps = {\n [outputProp]: outputValue,\n };\n\n /*\n * Update the request queue by treating a successful clientside\n * like a successful serverside response (200 status code)\n */\n updateRequestQueue(false, STATUS.OK);\n\n /*\n * Prevent update.\n */\n if (outputValue === window.dash_clientside.no_update) {\n return;\n }\n\n // Update the layout with the new result\n const appliedProps = doUpdateProps(outputId, updatedProps);\n\n /*\n * This output could itself be a serverside or clientside input\n * to another function\n */\n if (appliedProps) {\n dispatch(\n notifyObservers({\n id: outputId,\n props: appliedProps,\n })\n );\n }\n }\n\n if (isMultiOutputProp(payload.output)) {\n parseMultipleOutputs(payload.output).forEach((outputPropId, i) => {\n updateClientsideOutput(outputPropId, returnValue[i]);\n });\n } else {\n updateClientsideOutput(payload.output, returnValue);\n }\n\n /*\n * Note that unlike serverside updates, we're not handling\n * children as components right now, so we don't need to\n * crawl the computed result to check for nested components\n * or properties that might trigger other inputs.\n * In the future, we could handle this case.\n */\n return;\n }\n\n if (hooks.request_pre !== null) {\n hooks.request_pre(payload);\n }\n\n /* eslint-disable consistent-return */\n return fetch(\n `${urlBase(config)}_dash-update-component`,\n mergeDeepRight(config.fetch, {\n /* eslint-enable consistent-return */\n\n method: 'POST',\n headers: getCSRFHeader(),\n body: JSON.stringify(payload),\n })\n )\n .then(function handleResponse(res) {\n const isRejected = () => {\n const latestRequestIndex = findLastIndex(\n propEq('controllerId', outputIdAndProp),\n getState().requestQueue\n );\n /*\n * Note that if the latest request is still `loading`\n * or even if the latest request failed,\n * we still reject this response in favor of waiting\n * for the latest request to finish.\n */\n const rejected = latestRequestIndex > getThisRequestIndex();\n return rejected;\n };\n\n if (res.status !== STATUS.OK) {\n // update the status of this request\n updateRequestQueue(true, res.status);\n\n /*\n * This is a 204 response code, there's no content to process.\n */\n if (res.status === STATUS.PREVENT_UPDATE) {\n return;\n }\n\n /*\n * eject into `catch` handler below to display error\n * message in ui\n */\n throw res;\n }\n\n /*\n * Check to see if another request has already come back\n * _after_ this one.\n * If so, ignore this request.\n */\n if (isRejected()) {\n updateRequestQueue(true, res.status);\n return;\n }\n\n res.json().then(function handleJson(data) {\n /*\n * Even if the `res` was received in the correct order,\n * the remainder of the response (res.json()) could happen\n * at different rates causing the parsed responses to\n * get out of order\n */\n if (isRejected()) {\n updateRequestQueue(true, res.status);\n return;\n }\n\n updateRequestQueue(false, res.status);\n\n // Fire custom request_post hook if any\n if (hooks.request_post !== null) {\n hooks.request_post(payload, data.response);\n }\n\n /*\n * it's possible that this output item is no longer visible.\n * for example, the could still be request running when\n * the user switched the chapter\n *\n * if it's not visible, then ignore the rest of the updates\n * to the store\n */\n\n const multi = data.multi;\n\n const handleResponse = ([outputIdAndProp, props]) => {\n // Backward compatibility\n const pathKey = multi ? outputIdAndProp : outputComponentId;\n\n const appliedProps = doUpdateProps(pathKey, props);\n if (!appliedProps) {\n return;\n }\n\n dispatch(\n notifyObservers({\n id: pathKey,\n props: appliedProps,\n })\n );\n\n /*\n * If the response includes children, then we need to update our\n * paths store.\n * TODO - Do we need to wait for updateProps to finish?\n */\n if (has('children', appliedProps)) {\n const newChildren = appliedProps.children;\n dispatch(\n computePaths({\n subTree: newChildren,\n startingPath: concat(\n getState().paths[pathKey],\n ['props', 'children']\n ),\n })\n );\n\n /*\n * if children contains objects with IDs, then we\n * need to dispatch a propChange for all of these\n * new children components\n */\n if (\n includes(type(newChildren), ['Array', 'Object']) &&\n !isEmpty(newChildren)\n ) {\n /*\n * TODO: We're just naively crawling\n * the _entire_ layout to recompute the\n * the dependency graphs.\n * We don't need to do this - just need\n * to compute the subtree\n */\n const newProps = {};\n crawlLayout(newChildren, function appendIds(child) {\n if (hasId(child)) {\n keys(child.props).forEach(childProp => {\n const componentIdAndProp = `${child.props.id}.${childProp}`;\n if (\n has(\n componentIdAndProp,\n InputGraph.nodes\n )\n ) {\n newProps[componentIdAndProp] = {\n id: child.props.id,\n props: {\n [childProp]:\n child.props[childProp],\n },\n };\n }\n });\n }\n });\n\n /*\n * Organize props by shared outputs so that we\n * only make one request per output component\n * (even if there are multiple inputs).\n *\n * For example, we might render 10 inputs that control\n * a single output. If that is the case, we only want\n * to make a single call, not 10 calls.\n */\n\n /*\n * In some cases, the new item will be an output\n * with its inputs already rendered (not rendered)\n * as part of this update.\n * For example, a tab with global controls that\n * renders different content containers without any\n * additional inputs.\n *\n * In that case, we'll call `updateOutput` with that output\n * and just \"pretend\" that one if its inputs changed.\n *\n * If we ever add logic that informs the user on\n * \"which input changed\", we'll have to account for this\n * special case (no input changed?)\n */\n\n const outputIds = [];\n keys(newProps).forEach(idAndProp => {\n if (\n // It's an output\n InputGraph.dependenciesOf(idAndProp)\n .length === 0 &&\n /*\n * And none of its inputs are generated in this\n * request\n */\n intersection(\n InputGraph.dependantsOf(idAndProp),\n keys(newProps)\n ).length === 0\n ) {\n outputIds.push(idAndProp);\n delete newProps[idAndProp];\n }\n });\n\n // Dispatch updates to inputs\n const reducedNodeIds = reduceInputIds(\n keys(newProps),\n InputGraph\n );\n const depOrder = InputGraph.overallOrder();\n const sortedNewProps = sort(\n (a, b) =>\n depOrder.indexOf(a.input) -\n depOrder.indexOf(b.input),\n reducedNodeIds\n );\n sortedNewProps.forEach(function(inputOutput) {\n const payload = newProps[inputOutput.input];\n payload.excludedOutputs =\n inputOutput.excludedOutputs;\n dispatch(notifyObservers(payload));\n });\n\n // Dispatch updates to lone outputs\n outputIds.forEach(idAndProp => {\n const requestUid = uid();\n dispatch(\n setRequestQueue(\n append(\n {\n // TODO - Are there any implications of doing this??\n controllerId: null,\n status: 'loading',\n uid: requestUid,\n requestTime: Date.now(),\n },\n getState().requestQueue\n )\n )\n );\n updateOutput(\n idAndProp,\n\n getState,\n requestUid,\n dispatch,\n changedPropIds\n );\n });\n }\n }\n };\n if (multi) {\n Object.entries(data.response).forEach(handleResponse);\n } else {\n handleResponse([outputIdAndProp, data.response.props]);\n }\n });\n })\n .catch(err => {\n const message = `Callback error updating ${\n isMultiOutputProp(payload.output)\n ? parseMultipleOutputs(payload.output).join(', ')\n : payload.output\n }`;\n handleAsyncError(err, message, dispatch);\n });\n}\n\nexport function handleAsyncError(err, message, dispatch) {\n // Handle html error responses\n const errText =\n err && typeof err.text === 'function'\n ? err.text()\n : Promise.resolve(err);\n\n errText.then(text => {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message,\n html: text,\n },\n })\n );\n });\n}\n\nexport function serialize(state) {\n // Record minimal input state in the url\n const {graphs, paths, layout} = state;\n const {InputGraph} = graphs;\n const allNodes = InputGraph.nodes;\n const savedState = {};\n keys(allNodes).forEach(nodeId => {\n const [componentId, componentProp] = nodeId.split('.');\n /*\n * Filter out the outputs,\n * and the invisible inputs\n */\n if (\n InputGraph.dependenciesOf(nodeId).length > 0 &&\n has(componentId, paths)\n ) {\n // Get the property\n const propLens = lensPath(\n concat(paths[componentId], ['props', componentProp])\n );\n const propValue = view(propLens, layout);\n savedState[nodeId] = propValue;\n }\n });\n\n return savedState;\n}\n","import {includes, type} from 'ramda';\n\nconst SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean'];\n\nexport default component => includes(type(component), SIMPLE_COMPONENT_TYPES);\n","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StyleKeeper = function () {\n function StyleKeeper(userAgent) {\n _classCallCheck(this, StyleKeeper);\n\n this._userAgent = userAgent;\n this._listeners = [];\n this._cssSet = {};\n }\n\n _createClass(StyleKeeper, [{\n key: 'subscribe',\n value: function subscribe(listener) {\n var _this = this;\n\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n var listenerIndex = _this._listeners.indexOf(listener);\n if (listenerIndex > -1) {\n _this._listeners.splice(listenerIndex, 1);\n }\n }\n };\n }\n }, {\n key: 'addCSS',\n value: function addCSS(css) {\n var _this2 = this;\n\n if (!this._cssSet[css]) {\n this._cssSet[css] = true;\n this._emitChange();\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n delete _this2._cssSet[css];\n _this2._emitChange();\n }\n };\n }\n }, {\n key: 'getCSS',\n value: function getCSS() {\n return Object.keys(this._cssSet).join('\\n');\n }\n }, {\n key: '_emitChange',\n value: function _emitChange() {\n this._listeners.forEach(function (listener) {\n return listener();\n });\n }\n }]);\n\n return StyleKeeper;\n}();\n\nexport { StyleKeeper as default };","\n\n// Copied from https://github.com/facebook/react/blob/\n// 102cd291899f9942a76c40a0e78920a6fe544dc1/\n// src/renderers/dom/shared/CSSProperty.js\nvar isUnitlessNumber = {\n animationIterationCount: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n stopOpacity: true,\n strokeDashoffset: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nexport default function appendPxIfNeeded(propertyName, value) {\n var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0;\n return needsPxSuffix ? value + 'px' : value;\n}","export default function mapObject(object, mapper) {\n return Object.keys(object).reduce(function (result, key) {\n result[key] = mapper(object[key], key);\n return result;\n }, {});\n}","import appendPxIfNeeded from './append-px-if-needed';\nimport mapObject from './map-object';\n\nexport default function appendImportantToEachValue(style) {\n return mapObject(style, function (result, key) {\n return appendPxIfNeeded(key, style[key]) + ' !important';\n });\n}","import appendPxIfNeeded from './append-px-if-needed';\nimport camelCasePropsToDashCase from './camel-case-props-to-dash-case';\nimport mapObject from './map-object';\nimport { getPrefixedStyle } from './prefixer';\n\nfunction createMarkupForStyles(style) {\n return Object.keys(style).map(function (property) {\n return property + ': ' + style[property] + ';';\n }).join('\\n');\n}\n\nexport default function cssRuleSetToString(selector, rules, userAgent) {\n if (!rules) {\n return '';\n }\n\n var rulesWithPx = mapObject(rules, function (value, key) {\n return appendPxIfNeeded(key, value);\n });\n var prefixedRules = getPrefixedStyle(rulesWithPx, userAgent);\n var cssPrefixedRules = camelCasePropsToDashCase(prefixedRules);\n var serializedRules = createMarkupForStyles(cssPrefixedRules);\n return selector + '{' + serializedRules + '}';\n}","/* flow */\n\nvar cleanStateKey = function cleanStateKey(key) {\n return key === null || typeof key === 'undefined' ? 'main' : key.toString();\n};\n\nexport default cleanStateKey;","import cleanStateKey from './clean-state-key';\n\nvar getState = function getState(state, elementKey, value) {\n var key = cleanStateKey(elementKey);\n\n return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value];\n};\n\nexport default getState;","var getStateKey = function getStateKey(renderedElement) {\n return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key;\n};\n\nexport default getStateKey;","var getRadiumStyleState = function getRadiumStyleState(component) {\n return component._lastRadiumState || component.state && component.state._radiumStyleState || {};\n};\n\nexport default getRadiumStyleState;","\n\n// a simple djb2 hash based on hash-string:\n// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js\n// returns a hex-encoded hash\nexport default function hash(text) {\n if (!text) {\n return '';\n }\n\n var hashValue = 5381;\n var index = text.length - 1;\n\n while (index) {\n hashValue = hashValue * 33 ^ text.charCodeAt(index);\n index -= 1;\n }\n\n return (hashValue >>> 0).toString(16);\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nexport function isNestedStyle(value) {\n // Don't merge objects overriding toString, since they should be converted\n // to string values.\n return value && value.constructor === Object && value.toString === Object.prototype.toString;\n}\n\n// Merge style objects. Deep merge plain object values.\nexport function mergeStyles(styles) {\n var result = {};\n\n styles.forEach(function (style) {\n if (!style || (typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object') {\n return;\n }\n\n if (Array.isArray(style)) {\n style = mergeStyles(style);\n }\n\n Object.keys(style).forEach(function (key) {\n // Simple case, nothing nested\n if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) {\n result[key] = style[key];\n return;\n }\n\n // If nested media, don't merge the nested styles, append a space to the\n // end (benign when converted to CSS). This way we don't end up merging\n // media queries that appear later in the chain with those that appear\n // earlier.\n if (key.indexOf('@media') === 0) {\n var newKey = key;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n newKey += ' ';\n if (!result[newKey]) {\n result[newKey] = style[key];\n return;\n }\n }\n }\n\n // Merge all other nested styles recursively\n result[key] = mergeStyles([result[key], style[key]]);\n });\n });\n\n return result;\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _checkProps = function checkProps() {};\n\nif (process.env.NODE_ENV !== 'production') {\n // Warn if you use longhand and shorthand properties in the same style\n // object.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n\n var shorthandPropertyExpansions = {\n background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'],\n border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction']\n };\n\n _checkProps = function checkProps(config) {\n var componentName = config.componentName,\n style = config.style;\n\n if ((typeof style === 'undefined' ? 'undefined' : _typeof(style)) !== 'object' || !style) {\n return;\n }\n\n var styleKeys = Object.keys(style);\n styleKeys.forEach(function (styleKey) {\n if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) {\n return styleKeys.indexOf(sp) !== -1;\n })) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable no-console */\n console.warn('Radium: property \"' + styleKey + '\" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.');\n /* eslint-enable no-console */\n }\n }\n });\n\n styleKeys.forEach(function (k) {\n return _checkProps(_extends({}, config, { style: style[k] }));\n });\n return;\n };\n}\n\nexport default _checkProps;","\n\n// Convenient syntax for multiple styles: `style={[style1, style2, etc]}`\n// Ignores non-objects, so you can do `this.state.isCool && styles.cool`.\nvar mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) {\n var style = _ref.style,\n mergeStyles = _ref.mergeStyles;\n\n // eslint-disable-line no-shadow\n var newStyle = Array.isArray(style) ? mergeStyles(style) : style;\n return { style: newStyle };\n};\n\nexport default mergeStyleArrayPlugin;","var _callbacks = [];\nvar _mouseUpListenerIsActive = false;\n\nfunction _handleMouseUp() {\n _callbacks.forEach(function (callback) {\n callback();\n });\n}\n\nvar subscribe = function subscribe(callback) {\n if (_callbacks.indexOf(callback) === -1) {\n _callbacks.push(callback);\n }\n\n if (!_mouseUpListenerIsActive) {\n window.addEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = true;\n }\n\n return {\n remove: function remove() {\n var index = _callbacks.indexOf(callback);\n _callbacks.splice(index, 1);\n\n if (_callbacks.length === 0 && _mouseUpListenerIsActive) {\n window.removeEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = false;\n }\n }\n };\n};\n\nexport default {\n subscribe: subscribe,\n __triggerForTests: _handleMouseUp\n};","\n\nimport MouseUpListener from './mouse-up-listener';\n\nvar _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) {\n return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus';\n};\n\nvar resolveInteractionStyles = function resolveInteractionStyles(config) {\n var ExecutionEnvironment = config.ExecutionEnvironment,\n getComponentField = config.getComponentField,\n getState = config.getState,\n mergeStyles = config.mergeStyles,\n props = config.props,\n setState = config.setState,\n style = config.style;\n\n\n var newComponentFields = {};\n var newProps = {};\n\n // Only add handlers if necessary\n if (style[':hover']) {\n // Always call the existing handler if one is already defined.\n // This code, and the very similar ones below, could be abstracted a bit\n // more, but it hurts readability IMO.\n var existingOnMouseEnter = props.onMouseEnter;\n newProps.onMouseEnter = function (e) {\n existingOnMouseEnter && existingOnMouseEnter(e);\n setState(':hover', true);\n };\n\n var existingOnMouseLeave = props.onMouseLeave;\n newProps.onMouseLeave = function (e) {\n existingOnMouseLeave && existingOnMouseLeave(e);\n setState(':hover', false);\n };\n }\n\n if (style[':active']) {\n var existingOnMouseDown = props.onMouseDown;\n newProps.onMouseDown = function (e) {\n existingOnMouseDown && existingOnMouseDown(e);\n newComponentFields._lastMouseDown = Date.now();\n setState(':active', 'viamousedown');\n };\n\n var existingOnKeyDown = props.onKeyDown;\n newProps.onKeyDown = function (e) {\n existingOnKeyDown && existingOnKeyDown(e);\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', 'viakeydown');\n }\n };\n\n var existingOnKeyUp = props.onKeyUp;\n newProps.onKeyUp = function (e) {\n existingOnKeyUp && existingOnKeyUp(e);\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', false);\n }\n };\n }\n\n if (style[':focus']) {\n var existingOnFocus = props.onFocus;\n newProps.onFocus = function (e) {\n existingOnFocus && existingOnFocus(e);\n setState(':focus', true);\n };\n\n var existingOnBlur = props.onBlur;\n newProps.onBlur = function (e) {\n existingOnBlur && existingOnBlur(e);\n setState(':focus', false);\n };\n }\n\n if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) {\n newComponentFields._radiumMouseUpListener = MouseUpListener.subscribe(function () {\n Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) {\n if (getState(':active', key) === 'viamousedown') {\n setState(':active', false, key);\n }\n });\n });\n }\n\n // Merge the styles in the order they were defined\n var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) {\n return _isInteractiveStyleField(name) && getState(name);\n }).map(function (name) {\n return style[name];\n });\n\n var newStyle = mergeStyles([style].concat(interactionStyles));\n\n // Remove interactive styles\n newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) {\n if (!_isInteractiveStyleField(name) && name !== ':disabled') {\n styleWithoutInteractions[name] = newStyle[name];\n }\n return styleWithoutInteractions;\n }, {});\n\n return {\n componentFields: newComponentFields,\n props: newProps,\n style: newStyle\n };\n};\n\nexport default resolveInteractionStyles;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _windowMatchMedia = void 0;\nfunction _getWindowMatchMedia(ExecutionEnvironment) {\n if (_windowMatchMedia === undefined) {\n _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) {\n return window.matchMedia(mediaQueryString);\n } || null;\n }\n return _windowMatchMedia;\n}\n\nfunction _filterObject(obj, predicate) {\n return Object.keys(obj).filter(function (key) {\n return predicate(obj[key], key);\n }).reduce(function (result, key) {\n result[key] = obj[key];\n return result;\n }, {});\n}\n\nfunction _removeMediaQueries(style) {\n return Object.keys(style).reduce(function (styleWithoutMedia, key) {\n if (key.indexOf('@media') !== 0) {\n styleWithoutMedia[key] = style[key];\n }\n return styleWithoutMedia;\n }, {});\n}\n\nfunction _topLevelRulesToCSS(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n isNestedStyle = _ref.isNestedStyle,\n style = _ref.style,\n userAgent = _ref.userAgent;\n\n var className = '';\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) {\n return !isNestedStyle(value);\n }));\n\n if (!Object.keys(topLevelRules).length) {\n return;\n }\n\n var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent);\n\n // CSS classes cannot start with a number\n var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS);\n var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}';\n\n addCSS(css);\n\n className += (className ? ' ' : '') + mediaQueryClassName;\n });\n return className;\n}\n\nfunction _subscribeToMediaQuery(_ref2) {\n var listener = _ref2.listener,\n listenersByQuery = _ref2.listenersByQuery,\n matchMedia = _ref2.matchMedia,\n mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery,\n query = _ref2.query;\n\n query = query.replace('@media ', '');\n\n var mql = mediaQueryListsByQuery[query];\n if (!mql && matchMedia) {\n mediaQueryListsByQuery[query] = mql = matchMedia(query);\n }\n\n if (!listenersByQuery || !listenersByQuery[query]) {\n mql.addListener(listener);\n\n listenersByQuery[query] = {\n remove: function remove() {\n mql.removeListener(listener);\n }\n };\n }\n return mql;\n}\n\nexport default function resolveMediaQueries(_ref3) {\n var ExecutionEnvironment = _ref3.ExecutionEnvironment,\n addCSS = _ref3.addCSS,\n appendImportantToEachValue = _ref3.appendImportantToEachValue,\n config = _ref3.config,\n cssRuleSetToString = _ref3.cssRuleSetToString,\n getComponentField = _ref3.getComponentField,\n getGlobalState = _ref3.getGlobalState,\n hash = _ref3.hash,\n isNestedStyle = _ref3.isNestedStyle,\n mergeStyles = _ref3.mergeStyles,\n props = _ref3.props,\n setState = _ref3.setState,\n style = _ref3.style;\n\n // eslint-disable-line no-shadow\n var newStyle = _removeMediaQueries(style);\n var mediaQueryClassNames = _topLevelRulesToCSS({\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n cssRuleSetToString: cssRuleSetToString,\n hash: hash,\n isNestedStyle: isNestedStyle,\n style: style,\n userAgent: config.userAgent\n });\n\n var newProps = mediaQueryClassNames ? {\n className: mediaQueryClassNames + (props.className ? ' ' + props.className : '')\n } : null;\n\n var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment);\n\n if (!matchMedia) {\n return {\n props: newProps,\n style: newStyle\n };\n }\n\n var listenersByQuery = _extends({}, getComponentField('_radiumMediaQueryListenersByQuery'));\n var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {};\n\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var nestedRules = _filterObject(style[query], isNestedStyle);\n\n if (!Object.keys(nestedRules).length) {\n return;\n }\n\n var mql = _subscribeToMediaQuery({\n listener: function listener() {\n return setState(query, mql.matches, '_all');\n },\n listenersByQuery: listenersByQuery,\n matchMedia: matchMedia,\n mediaQueryListsByQuery: mediaQueryListsByQuery,\n query: query\n });\n\n // Apply media query states\n if (mql.matches) {\n newStyle = mergeStyles([newStyle, nestedRules]);\n }\n });\n\n return {\n componentFields: {\n _radiumMediaQueryListenersByQuery: listenersByQuery\n },\n globalState: { mediaQueryListsByQuery: mediaQueryListsByQuery },\n props: newProps,\n style: newStyle\n };\n}","\n\nimport checkPropsPlugin from './check-props-plugin';\n/* eslint-disable block-scoped-const */\n\nimport keyframesPlugin from './keyframes-plugin';\nimport mergeStyleArrayPlugin from './merge-style-array-plugin';\nimport prefixPlugin from './prefix-plugin';\nimport removeNestedStylesPlugin from './remove-nested-styles-plugin';\nimport resolveInteractionStylesPlugin from './resolve-interaction-styles-plugin';\nimport resolveMediaQueriesPlugin from './resolve-media-queries-plugin';\nimport visitedPlugin from './visited-plugin';\n\nexport default {\n checkProps: checkPropsPlugin,\n keyframes: keyframesPlugin,\n mergeStyleArray: mergeStyleArrayPlugin,\n prefix: prefixPlugin,\n removeNestedStyles: removeNestedStylesPlugin,\n resolveInteractionStyles: resolveInteractionStylesPlugin,\n resolveMediaQueries: resolveMediaQueriesPlugin,\n visited: visitedPlugin\n};","export default function keyframesPlugin(_ref // eslint-disable-line no-shadow\n) {\n var addCSS = _ref.addCSS,\n config = _ref.config,\n style = _ref.style;\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (key === 'animationName' && value && value.__radiumKeyframes) {\n var keyframesValue = value;\n\n var _keyframesValue$__pro = keyframesValue.__process(config.userAgent),\n animationName = _keyframesValue$__pro.animationName,\n css = _keyframesValue$__pro.css;\n\n addCSS(css);\n value = animationName;\n }\n\n newStyleInProgress[key] = value;\n return newStyleInProgress;\n }, {});\n return { style: newStyle };\n}","\n\nimport { getPrefixedStyle } from '../prefixer';\n\nexport default function prefixPlugin(_ref // eslint-disable-line no-shadow\n) {\n var config = _ref.config,\n style = _ref.style;\n\n var newStyle = getPrefixedStyle(style, config.userAgent);\n return { style: newStyle };\n}","\n\nexport default function removeNestedStyles(_ref) {\n var isNestedStyle = _ref.isNestedStyle,\n style = _ref.style;\n\n // eslint-disable-line no-shadow\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (!isNestedStyle(value)) {\n newStyleInProgress[key] = value;\n }\n return newStyleInProgress;\n }, {});\n\n return {\n style: newStyle\n };\n}","\n\nexport default function visited(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n config = _ref.config,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n props = _ref.props,\n style = _ref.style;\n\n // eslint-disable-line no-shadow\n var className = props.className;\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n if (key === ':visited') {\n value = appendImportantToEachValue(value);\n var ruleCSS = cssRuleSetToString('', value, config.userAgent);\n var visitedClassName = 'rad-' + hash(ruleCSS);\n var css = '.' + visitedClassName + ':visited' + ruleCSS;\n\n addCSS(css);\n className = (className ? className + ' ' : '') + visitedClassName;\n } else {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n\n return {\n props: className === props.className ? null : { className: className },\n style: newStyle\n };\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nimport appendImportantToEachValue from './append-important-to-each-value';\n\nimport cssRuleSetToString from './css-rule-set-to-string';\nimport getState from './get-state';\nimport getStateKey from './get-state-key';\nimport cleanStateKey from './clean-state-key';\nimport getRadiumStyleState from './get-radium-style-state';\nimport hash from './hash';\nimport { isNestedStyle, mergeStyles } from './merge-styles';\nimport Plugins from './plugins/';\n\nimport ExecutionEnvironment from 'exenv';\nimport React from 'react';\n\nvar DEFAULT_CONFIG = {\n plugins: [Plugins.mergeStyleArray, Plugins.checkProps, Plugins.resolveMediaQueries, Plugins.resolveInteractionStyles, Plugins.keyframes, Plugins.visited, Plugins.removeNestedStyles, Plugins.prefix, Plugins.checkProps]\n};\n\n// Gross\nvar globalState = {};\n\n// Declare early for recursive helpers.\nvar resolveStyles = null;\n\nvar _shouldResolveStyles = function _shouldResolveStyles(component) {\n return component.type && !component.type._isRadiumEnhanced;\n};\n\nvar _resolveChildren = function _resolveChildren(_ref) {\n var children = _ref.children,\n component = _ref.component,\n config = _ref.config,\n existingKeyMap = _ref.existingKeyMap,\n extraStateKeyMap = _ref.extraStateKeyMap;\n\n if (!children) {\n return children;\n }\n\n var childrenType = typeof children === 'undefined' ? 'undefined' : _typeof(children);\n\n if (childrenType === 'string' || childrenType === 'number') {\n // Don't do anything with a single primitive child\n return children;\n }\n\n if (childrenType === 'function') {\n // Wrap the function, resolving styles on the result\n return function () {\n var result = children.apply(this, arguments);\n\n if (React.isValidElement(result)) {\n var _key = getStateKey(result);\n delete extraStateKeyMap[_key];\n\n var _resolveStyles = resolveStyles(component, result, config, existingKeyMap, true, extraStateKeyMap),\n _element = _resolveStyles.element;\n\n return _element;\n }\n\n return result;\n };\n }\n\n if (React.Children.count(children) === 1 && children.type) {\n // If a React Element is an only child, don't wrap it in an array for\n // React.Children.map() for React.Children.only() compatibility.\n var onlyChild = React.Children.only(children);\n var _key2 = getStateKey(onlyChild);\n delete extraStateKeyMap[_key2];\n\n var _resolveStyles2 = resolveStyles(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap),\n _element2 = _resolveStyles2.element;\n\n return _element2;\n }\n\n return React.Children.map(children, function (child) {\n if (React.isValidElement(child)) {\n var _key3 = getStateKey(child);\n delete extraStateKeyMap[_key3];\n\n var _resolveStyles3 = resolveStyles(component, child, config, existingKeyMap, true, extraStateKeyMap),\n _element3 = _resolveStyles3.element;\n\n return _element3;\n }\n\n return child;\n });\n};\n\n// Recurse over props, just like children\nvar _resolveProps = function _resolveProps(_ref2) {\n var component = _ref2.component,\n config = _ref2.config,\n existingKeyMap = _ref2.existingKeyMap,\n props = _ref2.props,\n extraStateKeyMap = _ref2.extraStateKeyMap;\n\n var newProps = props;\n\n Object.keys(props).forEach(function (prop) {\n // We already recurse over children above\n if (prop === 'children') {\n return;\n }\n\n var propValue = props[prop];\n if (React.isValidElement(propValue)) {\n var _key4 = getStateKey(propValue);\n delete extraStateKeyMap[_key4];\n newProps = _extends({}, newProps);\n\n var _resolveStyles4 = resolveStyles(component, propValue, config, existingKeyMap, true, extraStateKeyMap),\n _element4 = _resolveStyles4.element;\n\n newProps[prop] = _element4;\n }\n });\n\n return newProps;\n};\n\nvar _buildGetKey = function _buildGetKey(_ref3) {\n var componentName = _ref3.componentName,\n existingKeyMap = _ref3.existingKeyMap,\n renderedElement = _ref3.renderedElement;\n\n // We need a unique key to correlate state changes due to user interaction\n // with the rendered element, so we know to apply the proper interactive\n // styles.\n var originalKey = getStateKey(renderedElement);\n var key = cleanStateKey(originalKey);\n\n var alreadyGotKey = false;\n var getKey = function getKey() {\n if (alreadyGotKey) {\n return key;\n }\n\n alreadyGotKey = true;\n\n if (existingKeyMap[key]) {\n var elementName = void 0;\n if (typeof renderedElement.type === 'string') {\n elementName = renderedElement.type;\n } else if (renderedElement.type.constructor) {\n elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name;\n }\n\n throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key \"' + originalKey + '\" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: \"' + componentName + '\". ' + (elementName ? 'Element: \"' + elementName + '\".' : ''));\n }\n\n existingKeyMap[key] = true;\n\n return key;\n };\n\n return getKey;\n};\n\nvar _setStyleState = function _setStyleState(component, key, stateKey, value) {\n if (!component._radiumIsMounted) {\n return;\n }\n\n var existing = getRadiumStyleState(component);\n var state = { _radiumStyleState: _extends({}, existing) };\n\n state._radiumStyleState[key] = _extends({}, state._radiumStyleState[key]);\n state._radiumStyleState[key][stateKey] = value;\n\n component._lastRadiumState = state._radiumStyleState;\n component.setState(state);\n};\n\nvar _runPlugins = function _runPlugins(_ref4) {\n var component = _ref4.component,\n config = _ref4.config,\n existingKeyMap = _ref4.existingKeyMap,\n props = _ref4.props,\n renderedElement = _ref4.renderedElement;\n\n // Don't run plugins if renderedElement is not a simple ReactDOMElement or has\n // no style.\n if (!React.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) {\n return props;\n }\n\n var newProps = props;\n\n var plugins = config.plugins || DEFAULT_CONFIG.plugins;\n\n var componentName = component.constructor.displayName || component.constructor.name;\n var getKey = _buildGetKey({\n renderedElement: renderedElement,\n existingKeyMap: existingKeyMap,\n componentName: componentName\n });\n var getComponentField = function getComponentField(key) {\n return component[key];\n };\n var getGlobalState = function getGlobalState(key) {\n return globalState[key];\n };\n var componentGetState = function componentGetState(stateKey, elementKey) {\n return getState(component.state, elementKey || getKey(), stateKey);\n };\n var setState = function setState(stateKey, value, elementKey) {\n return _setStyleState(component, elementKey || getKey(), stateKey, value);\n };\n\n var addCSS = function addCSS(css) {\n var styleKeeper = component._radiumStyleKeeper || component.context._radiumStyleKeeper;\n if (!styleKeeper) {\n if (__isTestModeEnabled) {\n return {\n remove: function remove() {}\n };\n }\n\n throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.');\n }\n\n return styleKeeper.addCSS(css);\n };\n\n var newStyle = props.style;\n\n plugins.forEach(function (plugin) {\n var result = plugin({\n ExecutionEnvironment: ExecutionEnvironment,\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n componentName: componentName,\n config: config,\n cssRuleSetToString: cssRuleSetToString,\n getComponentField: getComponentField,\n getGlobalState: getGlobalState,\n getState: componentGetState,\n hash: hash,\n mergeStyles: mergeStyles,\n props: newProps,\n setState: setState,\n isNestedStyle: isNestedStyle,\n style: newStyle\n }) || {};\n\n newStyle = result.style || newStyle;\n\n newProps = result.props && Object.keys(result.props).length ? _extends({}, newProps, result.props) : newProps;\n\n var newComponentFields = result.componentFields || {};\n Object.keys(newComponentFields).forEach(function (fieldName) {\n component[fieldName] = newComponentFields[fieldName];\n });\n\n var newGlobalState = result.globalState || {};\n Object.keys(newGlobalState).forEach(function (key) {\n globalState[key] = newGlobalState[key];\n });\n });\n\n if (newStyle !== props.style) {\n newProps = _extends({}, newProps, { style: newStyle });\n }\n\n return newProps;\n};\n\n// Wrapper around React.cloneElement. To avoid processing the same element\n// twice, whenever we clone an element add a special prop to make sure we don't\n// process this element again.\nvar _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) {\n // Only add flag if this is a normal DOM element\n if (typeof renderedElement.type === 'string') {\n newProps = _extends({}, newProps, { 'data-radium': true });\n }\n\n return React.cloneElement(renderedElement, newProps, newChildren);\n};\n\n//\n// The nucleus of Radium. resolveStyles is called on the rendered elements\n// before they are returned in render. It iterates over the elements and\n// children, rewriting props to add event handlers required to capture user\n// interactions (e.g. mouse over). It also replaces the style prop because it\n// adds in the various interaction styles (e.g. :hover).\n//\n/* eslint-disable max-params */\nresolveStyles = function resolveStyles(component, // ReactComponent, flow+eslint complaining\nrenderedElement) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG;\n var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var extraStateKeyMap = arguments[5];\n\n // The extraStateKeyMap is for determining which keys should be erased from\n // the state (i.e. which child components are unmounted and should no longer\n // have a style state).\n if (!extraStateKeyMap) {\n var state = getRadiumStyleState(component);\n extraStateKeyMap = Object.keys(state).reduce(function (acc, key) {\n // 'main' is the auto-generated key when there is only one element with\n // interactive styles and if a custom key is not assigned. Because of\n // this, it is impossible to know which child is 'main', so we won't\n // count this key when generating our extraStateKeyMap.\n if (key !== 'main') {\n acc[key] = true;\n }\n return acc;\n }, {});\n }\n\n // ReactElement\n if (!renderedElement ||\n // Bail if we've already processed this element. This ensures that only the\n // owner of an element processes that element, since the owner's render\n // function will be called first (which will always be the case, since you\n // can't know what else to render until you render the parent component).\n renderedElement.props && renderedElement.props['data-radium'] ||\n // Bail if this element is a radium enhanced element, because if it is,\n // then it will take care of resolving its own styles.\n shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) {\n return { extraStateKeyMap: extraStateKeyMap, element: renderedElement };\n }\n\n var newChildren = _resolveChildren({\n children: renderedElement.props.children,\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap\n });\n\n var newProps = _resolveProps({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap,\n props: renderedElement.props\n });\n\n newProps = _runPlugins({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n props: newProps,\n renderedElement: renderedElement\n });\n\n // If nothing changed, don't bother cloning the element. Might be a bit\n // wasteful, as we add the sentinal to stop double-processing when we clone.\n // Assume benign double-processing is better than unneeded cloning.\n if (newChildren === renderedElement.props.children && newProps === renderedElement.props) {\n return { extraStateKeyMap: extraStateKeyMap, element: renderedElement };\n }\n\n var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren);\n\n return { extraStateKeyMap: extraStateKeyMap, element: element };\n};\n/* eslint-enable max-params */\n\n// Only for use by tests\nvar __isTestModeEnabled = false;\nif (process.env.NODE_ENV !== 'production') {\n resolveStyles.__clearStateForTests = function () {\n globalState = {};\n };\n resolveStyles.__setTestMode = function (isEnabled) {\n __isTestModeEnabled = isEnabled;\n };\n}\n\nexport default resolveStyles;","var _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport StyleKeeper from './style-keeper';\nimport resolveStyles from './resolve-styles';\nimport getRadiumStyleState from './get-radium-style-state';\n\nvar KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type'];\n\nfunction copyProperties(source, target) {\n Object.getOwnPropertyNames(source).forEach(function (key) {\n if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, key);\n Object.defineProperty(target, key, descriptor);\n }\n });\n}\n\nfunction isStateless(component) {\n return !component.render && !(component.prototype && component.prototype.render);\n}\n\n// Check if value is a real ES class in Native / Node code.\n// See: https://stackoverflow.com/a/30760236\nfunction isNativeClass(component) {\n return typeof component === 'function' && /^\\s*class\\s+/.test(component.toString());\n}\n\n// Manually apply babel-ish class inheritance.\nfunction inherits(subClass, superClass) {\n if (typeof superClass !== 'function' && superClass !== null) {\n throw new TypeError('Super expression must either be null or a function, not ' + (typeof superClass === 'undefined' ? 'undefined' : _typeof(superClass)));\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n\n if (superClass) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(subClass, superClass);\n } else {\n subClass.__proto__ = superClass; // eslint-disable-line no-proto\n }\n }\n}\n\nexport default function enhanceWithRadium(configOrComposedComponent) {\n var _class, _temp;\n\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof configOrComposedComponent !== 'function') {\n var newConfig = _extends({}, config, configOrComposedComponent);\n return function (configOrComponent) {\n return enhanceWithRadium(configOrComponent, newConfig);\n };\n }\n\n var component = configOrComposedComponent;\n var ComposedComponent = component;\n\n // Handle Native ES classes.\n if (isNativeClass(ComposedComponent)) {\n // Manually approximate babel's class transpilation, but _with_ a real `new` call.\n ComposedComponent = function (OrigComponent) {\n function NewComponent() {\n // Ordinarily, babel would produce something like:\n //\n // ```\n // return _possibleConstructorReturn(this, OrigComponent.apply(this, arguments));\n // ```\n //\n // Instead, we just call `new` directly without the `_possibleConstructorReturn` wrapper.\n var source = new (Function.prototype.bind.apply(OrigComponent, [null].concat(Array.prototype.slice.call(arguments))))();\n\n // Then we manually update context with properties.\n copyProperties(source, this);\n\n return this;\n }\n\n inherits(NewComponent, OrigComponent);\n\n return NewComponent;\n }(ComposedComponent);\n }\n\n // Handle stateless components\n if (isStateless(ComposedComponent)) {\n ComposedComponent = function (_Component) {\n _inherits(ComposedComponent, _Component);\n\n function ComposedComponent() {\n _classCallCheck(this, ComposedComponent);\n\n return _possibleConstructorReturn(this, (ComposedComponent.__proto__ || Object.getPrototypeOf(ComposedComponent)).apply(this, arguments));\n }\n\n _createClass(ComposedComponent, [{\n key: 'render',\n value: function render() {\n return component(this.props, this.context);\n }\n }]);\n\n return ComposedComponent;\n }(Component);\n\n ComposedComponent.displayName = component.displayName || component.name;\n }\n\n var RadiumEnhancer = (_temp = _class = function (_ComposedComponent) {\n _inherits(RadiumEnhancer, _ComposedComponent);\n\n function RadiumEnhancer() {\n _classCallCheck(this, RadiumEnhancer);\n\n var _this2 = _possibleConstructorReturn(this, (RadiumEnhancer.__proto__ || Object.getPrototypeOf(RadiumEnhancer)).apply(this, arguments));\n\n _this2.state = _this2.state || {};\n _this2.state._radiumStyleState = {};\n _this2._radiumIsMounted = true;\n return _this2;\n }\n\n _createClass(RadiumEnhancer, [{\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this)) {\n _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentWillUnmount', this).call(this);\n }\n\n this._radiumIsMounted = false;\n\n if (this._radiumMouseUpListener) {\n this._radiumMouseUpListener.remove();\n }\n\n if (this._radiumMediaQueryListenersByQuery) {\n Object.keys(this._radiumMediaQueryListenersByQuery).forEach(function (query) {\n this._radiumMediaQueryListenersByQuery[query].remove();\n }, this);\n }\n }\n }, {\n key: 'getChildContext',\n value: function getChildContext() {\n var superChildContext = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this) ? _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'getChildContext', this).call(this) : {};\n\n if (!this.props.radiumConfig) {\n return superChildContext;\n }\n\n var newContext = _extends({}, superChildContext);\n\n if (this.props.radiumConfig) {\n newContext._radiumConfig = this.props.radiumConfig;\n }\n\n return newContext;\n }\n }, {\n key: 'render',\n value: function render() {\n var renderedElement = _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'render', this).call(this);\n var currentConfig = this.props.radiumConfig || this.context._radiumConfig || config;\n\n if (config && currentConfig !== config) {\n currentConfig = _extends({}, config, currentConfig);\n }\n\n var _resolveStyles = resolveStyles(this, renderedElement, currentConfig),\n extraStateKeyMap = _resolveStyles.extraStateKeyMap,\n element = _resolveStyles.element;\n\n this._extraRadiumStateKeys = Object.keys(extraStateKeyMap);\n\n return element;\n }\n\n /* eslint-disable react/no-did-update-set-state, no-unused-vars */\n\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps, prevState) {\n if (_get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this)) {\n _get(RadiumEnhancer.prototype.__proto__ || Object.getPrototypeOf(RadiumEnhancer.prototype), 'componentDidUpdate', this).call(this, prevProps, prevState);\n }\n\n if (this._extraRadiumStateKeys.length > 0) {\n var trimmedRadiumState = this._extraRadiumStateKeys.reduce(function (state, key) {\n var extraStateKey = state[key],\n remainingState = _objectWithoutProperties(state, [key]);\n\n return remainingState;\n }, getRadiumStyleState(this));\n\n this._lastRadiumState = trimmedRadiumState;\n this.setState({ _radiumStyleState: trimmedRadiumState });\n }\n }\n /* eslint-enable react/no-did-update-set-state, no-unused-vars */\n\n }]);\n\n return RadiumEnhancer;\n }(ComposedComponent), _class._isRadiumEnhanced = true, _temp);\n\n // Class inheritance uses Object.create and because of __proto__ issues\n // with IE <10 any static properties of the superclass aren't inherited and\n // so need to be manually populated.\n // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below-\n\n copyProperties(component, RadiumEnhancer);\n\n if (process.env.NODE_ENV !== 'production') {\n // This also fixes React Hot Loader by exposing the original components top\n // level prototype methods on the Radium enhanced prototype as discussed in\n // https://github.com/FormidableLabs/radium/issues/219.\n copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype);\n }\n\n if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) {\n RadiumEnhancer.propTypes = _extends({}, RadiumEnhancer.propTypes, {\n style: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n });\n }\n\n RadiumEnhancer.displayName = component.displayName || component.name || 'Component';\n\n RadiumEnhancer.contextTypes = _extends({}, RadiumEnhancer.contextTypes, {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n });\n\n RadiumEnhancer.childContextTypes = _extends({}, RadiumEnhancer.childContextTypes, {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n });\n\n return RadiumEnhancer;\n}","var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport cssRuleSetToString from '../css-rule-set-to-string';\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\nvar Style = (_temp = _class = function (_PureComponent) {\n _inherits(Style, _PureComponent);\n\n function Style() {\n _classCallCheck(this, Style);\n\n return _possibleConstructorReturn(this, (Style.__proto__ || Object.getPrototypeOf(Style)).apply(this, arguments));\n }\n\n _createClass(Style, [{\n key: '_buildStyles',\n value: function _buildStyles(styles) {\n var _this2 = this;\n\n var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.context && this.context._radiumConfig && this.context._radiumConfig.userAgent;\n\n var scopeSelector = this.props.scopeSelector;\n\n var rootRules = Object.keys(styles).reduce(function (accumulator, selector) {\n if (_typeof(styles[selector]) !== 'object') {\n accumulator[selector] = styles[selector];\n }\n\n return accumulator;\n }, {});\n var rootStyles = Object.keys(rootRules).length ? cssRuleSetToString(scopeSelector || '', rootRules, userAgent) : '';\n\n return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) {\n var rules = styles[selector];\n\n if (selector === 'mediaQueries') {\n accumulator += _this2._buildMediaQueryString(rules);\n } else if (_typeof(styles[selector]) === 'object') {\n var completeSelector = scopeSelector ? selector.split(',').map(function (part) {\n return scopeSelector + ' ' + part.trim();\n }).join(',') : selector;\n\n accumulator += cssRuleSetToString(completeSelector, rules, userAgent);\n }\n\n return accumulator;\n }, '');\n }\n }, {\n key: '_buildMediaQueryString',\n value: function _buildMediaQueryString(stylesByMediaQuery) {\n var _this3 = this;\n\n var mediaQueryString = '';\n\n Object.keys(stylesByMediaQuery).forEach(function (query) {\n mediaQueryString += '@media ' + query + '{' + _this3._buildStyles(stylesByMediaQuery[query]) + '}';\n });\n\n return mediaQueryString;\n }\n }, {\n key: 'render',\n value: function render() {\n if (!this.props.rules) {\n return null;\n }\n\n var styles = this._buildStyles(this.props.rules);\n\n return React.createElement('style', { dangerouslySetInnerHTML: { __html: styles } });\n }\n }]);\n\n return Style;\n}(PureComponent), _class.propTypes = {\n radiumConfig: PropTypes.object,\n rules: PropTypes.object,\n scopeSelector: PropTypes.string\n}, _class.contextTypes = {\n _radiumConfig: PropTypes.object\n}, _class.defaultProps = {\n scopeSelector: ''\n}, _temp);\n\n\nexport default Style;","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _class, _temp;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport StyleKeeper from '../style-keeper';\n\nvar StyleSheet = (_temp = _class = function (_PureComponent) {\n _inherits(StyleSheet, _PureComponent);\n\n function StyleSheet() {\n _classCallCheck(this, StyleSheet);\n\n var _this = _possibleConstructorReturn(this, (StyleSheet.__proto__ || Object.getPrototypeOf(StyleSheet)).apply(this, arguments));\n\n _this._onChange = function () {\n setTimeout(function () {\n _this._isMounted && _this.setState(_this._getCSSState());\n }, 0);\n };\n\n _this.state = _this._getCSSState();\n return _this;\n }\n\n _createClass(StyleSheet, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this._isMounted = true;\n this._subscription = this.context._radiumStyleKeeper.subscribe(this._onChange);\n this._onChange();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this._isMounted = false;\n if (this._subscription) {\n this._subscription.remove();\n }\n }\n }, {\n key: '_getCSSState',\n value: function _getCSSState() {\n return { css: this.context._radiumStyleKeeper.getCSS() };\n }\n }, {\n key: 'render',\n value: function render() {\n return React.createElement('style', { dangerouslySetInnerHTML: { __html: this.state.css } });\n }\n }]);\n\n return StyleSheet;\n}(PureComponent), _class.contextTypes = {\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n}, _temp);\nexport { StyleSheet as default };","var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nimport React, { PureComponent } from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport Enhancer from '../enhancer';\nimport StyleKeeper from '../style-keeper';\nimport StyleSheet from './style-sheet';\n\n\nfunction _getStyleKeeper(instance) {\n if (!instance._radiumStyleKeeper) {\n var userAgent = instance.props.radiumConfig && instance.props.radiumConfig.userAgent || instance.context._radiumConfig && instance.context._radiumConfig.userAgent;\n instance._radiumStyleKeeper = new StyleKeeper(userAgent);\n }\n\n return instance._radiumStyleKeeper;\n}\n\nvar StyleRoot = function (_PureComponent) {\n _inherits(StyleRoot, _PureComponent);\n\n function StyleRoot() {\n _classCallCheck(this, StyleRoot);\n\n var _this = _possibleConstructorReturn(this, (StyleRoot.__proto__ || Object.getPrototypeOf(StyleRoot)).apply(this, arguments));\n\n _getStyleKeeper(_this);\n return _this;\n }\n\n _createClass(StyleRoot, [{\n key: 'getChildContext',\n value: function getChildContext() {\n return { _radiumStyleKeeper: _getStyleKeeper(this) };\n }\n }, {\n key: 'render',\n value: function render() {\n /* eslint-disable no-unused-vars */\n // Pass down all props except config to the rendered div.\n var _props = this.props,\n radiumConfig = _props.radiumConfig,\n otherProps = _objectWithoutProperties(_props, ['radiumConfig']);\n /* eslint-enable no-unused-vars */\n\n return React.createElement(\n 'div',\n otherProps,\n this.props.children,\n React.createElement(StyleSheet, null)\n );\n }\n }]);\n\n return StyleRoot;\n}(PureComponent);\n\nStyleRoot.contextTypes = {\n _radiumConfig: PropTypes.object,\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n};\n\nStyleRoot.childContextTypes = {\n _radiumStyleKeeper: PropTypes.instanceOf(StyleKeeper)\n};\n\nStyleRoot = Enhancer(StyleRoot);\n\nexport default StyleRoot;","import Enhancer from './enhancer';\nimport Plugins from './plugins';\nimport Style from './components/style';\nimport StyleRoot from './components/style-root';\nimport getState from './get-state';\nimport keyframes from './keyframes';\nimport resolveStyles from './resolve-styles';\n\nfunction Radium(ComposedComponent) {\n return Enhancer(ComposedComponent);\n}\n\n// Legacy object support.\n//\n// Normally it would be disfavored to attach these to the `Radium` object\n// because it defeats tree-shaking, using instead the ESM exports. But,\n// the `Radium` `Enhancer` uses **all** of these, so there's no extra \"cost\"\n// to them being explicitly on the `Radium` object.\nRadium.Plugins = Plugins;\nRadium.Style = Style;\nRadium.StyleRoot = StyleRoot;\nRadium.getState = getState;\nRadium.keyframes = keyframes;\n\nif (process.env.NODE_ENV !== 'production') {\n Radium.TestMode = {\n clearState: resolveStyles.__clearStateForTests,\n disable: resolveStyles.__setTestMode.bind(null, false),\n enable: resolveStyles.__setTestMode.bind(null, true)\n };\n}\n\nexport default Radium;\n\n// ESM re-exports\nexport { Plugins, Style, StyleRoot, getState, keyframes };","import cssRuleSetToString from './css-rule-set-to-string';\nimport hash from './hash';\nimport { getPrefixedKeyframes } from './prefixer';\n\nexport default function keyframes(keyframeRules, name) {\n return {\n __radiumKeyframes: true,\n __process: function __process(userAgent) {\n var keyframesPrefixed = getPrefixedKeyframes(userAgent);\n var rules = Object.keys(keyframeRules).map(function (percentage) {\n return cssRuleSetToString(percentage, keyframeRules[percentage], userAgent);\n }).join('\\n');\n var animationName = (name ? name + '-' : '') + 'radium-animation-' + hash(rules);\n var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\\n' + rules + '\\n}\\n';\n return { css: css, animationName: animationName };\n }\n };\n}","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {onError, revert} from '../../actions';\n\nclass UnconnectedComponentErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n myID: props.componentId,\n oldChildren: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(_) {\n return {hasError: true};\n }\n\n componentDidCatch(error, info) {\n const {dispatch} = this.props;\n dispatch(\n onError({\n myID: this.state.myID,\n type: 'frontEnd',\n error,\n info,\n })\n );\n dispatch(revert);\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps, prevState) {\n const prevChildren = prevProps.children;\n if (\n !this.state.hasError &&\n prevChildren !== prevState.oldChildren &&\n prevChildren !== this.props.children\n ) {\n this.setState({\n oldChildren: prevChildren,\n });\n }\n }\n /* eslint-enable react/no-did-update-set-state */\n\n render() {\n const {hasError, oldChildren} = this.state;\n return hasError ? oldChildren : this.props.children;\n }\n}\n\nUnconnectedComponentErrorBoundary.propTypes = {\n children: PropTypes.object,\n componentId: PropTypes.string,\n error: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst ComponentErrorBoundary = connect(\n state => ({\n error: state.error,\n }),\n dispatch => {\n return {dispatch};\n }\n)(Radium(UnconnectedComponentErrorBoundary));\n\nexport default ComponentErrorBoundary;\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Registry from './registry';\nimport {propTypeErrorHandler} from './exceptions';\nimport {connect} from 'react-redux';\nimport {\n addIndex,\n any,\n concat,\n filter,\n forEach,\n has,\n includes,\n isEmpty,\n isNil,\n keysIn,\n map,\n mergeRight,\n omit,\n pick,\n propOr,\n type,\n} from 'ramda';\nimport {notifyObservers, updateProps} from './actions';\nimport isSimpleComponent from './isSimpleComponent';\nimport {recordUiEdit} from './persistence';\nimport ComponentErrorBoundary from './components/error/ComponentErrorBoundary.react';\nimport checkPropTypes from './checkPropTypes';\n\nfunction validateComponent(componentDefinition) {\n if (type(componentDefinition) === 'Array') {\n throw new Error(\n 'The children property of a component is a list of lists, instead ' +\n 'of just a list. ' +\n 'Check the component that has the following contents, ' +\n 'and remove of the levels of nesting: \\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n if (\n type(componentDefinition) === 'Object' &&\n !(\n has('namespace', componentDefinition) &&\n has('type', componentDefinition) &&\n has('props', componentDefinition)\n )\n ) {\n throw new Error(\n 'An object was provided as `children` instead of a component, ' +\n 'string, or number (or list of those). ' +\n 'Check the children property that looks something like:\\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n}\n\nconst createContainer = (component, path) =>\n isSimpleComponent(component) ? (\n component\n ) : (\n <AugmentedTreeContainer\n key={component && component.props && component.props.id}\n _dashprivate_layout={component}\n _dashprivate_path={path}\n />\n );\n\nfunction CheckedComponent(p) {\n const {element, extraProps, props, children, type} = p;\n\n const errorMessage = checkPropTypes(\n element.propTypes,\n props,\n 'component prop',\n element\n );\n if (errorMessage) {\n propTypeErrorHandler(errorMessage, props, type);\n }\n\n return React.createElement(\n element,\n mergeRight(props, extraProps),\n ...(Array.isArray(children) ? children : [children])\n );\n}\n\nCheckedComponent.propTypes = {\n children: PropTypes.any,\n element: PropTypes.any,\n layout: PropTypes.any,\n props: PropTypes.any,\n extraProps: PropTypes.any,\n id: PropTypes.string,\n};\nclass TreeContainer extends Component {\n constructor(props) {\n super(props);\n\n this.setProps = this.setProps.bind(this);\n }\n\n setProps(newProps) {\n const {\n _dashprivate_dependencies,\n _dashprivate_dispatch,\n _dashprivate_path,\n _dashprivate_layout,\n } = this.props;\n\n const id = this.getLayoutProps().id;\n\n // Identify the modified props that are required for callbacks\n const watchedKeys = filter(\n key =>\n _dashprivate_dependencies &&\n _dashprivate_dependencies.find(\n dependency =>\n dependency.inputs.find(\n input => input.id === id && input.property === key\n ) ||\n dependency.state.find(\n state => state.id === id && state.property === key\n )\n )\n )(keysIn(newProps));\n\n // setProps here is triggered by the UI - record these changes\n // for persistence\n recordUiEdit(_dashprivate_layout, newProps, _dashprivate_dispatch);\n\n // Always update this component's props\n _dashprivate_dispatch(\n updateProps({\n props: newProps,\n itempath: _dashprivate_path,\n })\n );\n\n // Only dispatch changes to Dash if a watched prop changed\n if (watchedKeys.length) {\n _dashprivate_dispatch(\n notifyObservers({\n id: id,\n props: pick(watchedKeys)(newProps),\n })\n );\n }\n }\n\n getChildren(components, path) {\n if (isNil(components)) {\n return null;\n }\n\n return Array.isArray(components)\n ? addIndex(map)(\n (component, i) =>\n createContainer(\n component,\n concat(path, ['props', 'children', i])\n ),\n components\n )\n : createContainer(components, concat(path, ['props', 'children']));\n }\n\n getComponent(_dashprivate_layout, children, loading_state, setProps) {\n const {_dashprivate_config} = this.props;\n\n if (isEmpty(_dashprivate_layout)) {\n return null;\n }\n\n if (isSimpleComponent(_dashprivate_layout)) {\n return _dashprivate_layout;\n }\n validateComponent(_dashprivate_layout);\n\n const element = Registry.resolve(_dashprivate_layout);\n\n const props = omit(['children'], _dashprivate_layout.props);\n\n return _dashprivate_config.props_check ? (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={_dashprivate_layout.props.id}\n key={element && element.props && element.props.id}\n >\n <CheckedComponent\n children={children}\n element={element}\n props={props}\n extraProps={{loading_state, setProps}}\n type={_dashprivate_layout.type}\n />\n </ComponentErrorBoundary>\n ) : (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={_dashprivate_layout.props.id}\n key={element && element.props && element.props.id}\n >\n {React.createElement(\n element,\n mergeRight(props, {loading_state, setProps}),\n ...(Array.isArray(children) ? children : [children])\n )}\n </ComponentErrorBoundary>\n );\n }\n\n shouldComponentUpdate(nextProps) {\n const {_dashprivate_layout, _dashprivate_loadingState} = nextProps;\n return (\n _dashprivate_layout !== this.props._dashprivate_layout ||\n _dashprivate_loadingState.is_loading !==\n this.props._dashprivate_loadingState.is_loading\n );\n }\n\n getLayoutProps() {\n return propOr({}, 'props', this.props._dashprivate_layout);\n }\n\n render() {\n const {\n _dashprivate_layout,\n _dashprivate_loadingState,\n _dashprivate_path,\n } = this.props;\n\n const layoutProps = this.getLayoutProps();\n\n const children = this.getChildren(\n layoutProps.children,\n _dashprivate_path\n );\n\n return this.getComponent(\n _dashprivate_layout,\n children,\n _dashprivate_loadingState,\n this.setProps\n );\n }\n}\n\nTreeContainer.propTypes = {\n _dashprivate_dependencies: PropTypes.any,\n _dashprivate_dispatch: PropTypes.func,\n _dashprivate_layout: PropTypes.object,\n _dashprivate_loadingState: PropTypes.object,\n _dashprivate_requestQueue: PropTypes.any,\n _dashprivate_config: PropTypes.object,\n _dashprivate_path: PropTypes.array,\n};\n\nfunction isLoadingComponent(layout) {\n validateComponent(layout);\n return Registry.resolve(layout)._dashprivate_isLoadingComponent;\n}\n\nfunction getNestedIds(layout) {\n const ids = [];\n const queue = [layout];\n\n while (queue.length) {\n const elementLayout = queue.shift();\n\n const props = elementLayout && elementLayout.props;\n\n if (!props) {\n continue;\n }\n\n const {children, id} = props;\n\n if (id) {\n ids.push(id);\n }\n\n if (children) {\n const filteredChildren = filter(\n child =>\n !isSimpleComponent(child) && !isLoadingComponent(child),\n Array.isArray(children) ? children : [children]\n );\n\n queue.push(...filteredChildren);\n }\n }\n\n return ids;\n}\n\nfunction getLoadingState(layout, requestQueue) {\n const ids = isLoadingComponent(layout)\n ? getNestedIds(layout)\n : layout && layout.props.id\n ? [layout.props.id]\n : [];\n\n let isLoading = false;\n let loadingProp;\n let loadingComponent;\n\n if (requestQueue) {\n forEach(r => {\n const controllerId = isNil(r.controllerId) ? '' : r.controllerId;\n if (\n r.status === 'loading' &&\n any(id => includes(id, controllerId), ids)\n ) {\n isLoading = true;\n [loadingComponent, loadingProp] = r.controllerId.split('.');\n }\n }, requestQueue);\n }\n\n // Set loading state\n return {\n is_loading: isLoading,\n prop_name: loadingProp,\n component_name: loadingComponent,\n };\n}\n\nexport const AugmentedTreeContainer = connect(\n state => ({\n dependencies: state.dependenciesRequest.content,\n requestQueue: state.requestQueue,\n config: state.config,\n }),\n dispatch => ({dispatch}),\n (stateProps, dispatchProps, ownProps) => ({\n _dashprivate_dependencies: stateProps.dependencies,\n _dashprivate_dispatch: dispatchProps.dispatch,\n _dashprivate_layout: ownProps._dashprivate_layout,\n _dashprivate_path: ownProps._dashprivate_path,\n _dashprivate_loadingState: getLoadingState(\n ownProps._dashprivate_layout,\n stateProps.requestQueue\n ),\n _dashprivate_requestQueue: stateProps.requestQueue,\n _dashprivate_config: stateProps.config,\n })\n)(TreeContainer);\n\nexport default AugmentedTreeContainer;\n","/*\n * Copied out of prop-types and modified - inspired by check-prop-types, but\n * simplified and tweaked to our needs: we don't need the NODE_ENV check,\n * we report all errors, not just the first one, and we don't need the throwing\n * variant `assertPropTypes`.\n */\nimport ReactPropTypesSecret from 'prop-types/lib/ReactPropTypesSecret';\n\n/**\n * Assert that the values match with the type specs.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @return {string} Any error messsage resulting from checking the types\n */\nexport default function checkPropTypes(\n typeSpecs,\n values,\n location,\n componentName,\n getStack\n) {\n const errors = [];\n for (const typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n let error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n error = Error(\n (componentName || 'React class') +\n ': ' +\n location +\n ' type `' +\n typeSpecName +\n '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' +\n typeof typeSpecs[typeSpecName] +\n '`.'\n );\n error.name = 'Invariant Violation';\n } else {\n error = typeSpecs[typeSpecName](\n values,\n typeSpecName,\n componentName,\n location,\n null,\n ReactPropTypesSecret\n );\n }\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n errors.push(\n (componentName || 'React class') +\n ': type specification of ' +\n location +\n ' `' +\n typeSpecName +\n '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' +\n typeof error +\n '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error) {\n var stack = (getStack && getStack()) || '';\n\n errors.push(\n 'Failed ' + location + ' type: ' + error.message + stack\n );\n }\n }\n }\n return errors.join('\\n\\n');\n}\n","import {has, includes} from 'ramda';\n\nexport function propTypeErrorHandler(message, props, type) {\n /*\n * propType error messages are constructed in\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js\n * (Version 15.7.2)\n *\n * Parse these exception objects to remove JS source code and improve\n * the clarity.\n *\n * If wrong prop type was passed in, message looks like:\n *\n * Error: \"Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) {\n * var id = props.id ? props.id : generateId();\n * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, {\n * id: id\n * }));\n * }`, expected `boolean`.\"\n *\n *\n * If a required prop type was omitted, message looks like:\n *\n * \"Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) {\n * var _this;\n *\n * _classCallCheck(this, Checklist);\n *\n * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props));\n * _this.state = {\n * values: props.values\n * };\n * return _this;\n * }`, but its value is `undefined`.\"\n *\n */\n\n const messageParts = message.split('`');\n let errorMessage;\n if (includes('is marked as required', message)) {\n const invalidPropPath = messageParts[1];\n errorMessage = `${invalidPropPath} in ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += ` is required but it was not provided.`;\n } else if (includes('Bad object', message)) {\n /*\n * Handle .exact errors\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442\n */\n errorMessage =\n message.split('supplied to ')[0] +\n `supplied to ${type}` +\n '.\\nBad' +\n message.split('.\\nBad')[1];\n } else if (\n includes('Invalid ', message) &&\n includes(' supplied to ', message)\n ) {\n const invalidPropPath = messageParts[1];\n\n errorMessage = `Invalid argument \\`${invalidPropPath}\\` passed into ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += '.';\n\n /*\n * Not all error messages include the expected value.\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(', expected ', message)) {\n const expectedPropType = message.split(', expected ')[1];\n errorMessage += `\\nExpected ${expectedPropType}`;\n }\n\n /*\n * Not all error messages include the type\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(' of type `', message)) {\n const invalidPropTypeProvided = message\n .split(' of type `')[1]\n .split('`')[0];\n errorMessage += `\\nWas supplied type \\`${invalidPropTypeProvided}\\`.`;\n }\n\n if (has(invalidPropPath, props)) {\n /*\n * invalidPropPath may be nested like `options[0].value`.\n * For now, we won't try to unpack these nested options\n * but we could in the future.\n */\n const jsonSuppliedValue = JSON.stringify(\n props[invalidPropPath],\n null,\n 2\n );\n if (jsonSuppliedValue) {\n if (includes('\\n', jsonSuppliedValue)) {\n errorMessage += `\\nValue provided: \\n${jsonSuppliedValue}`;\n } else {\n errorMessage += `\\nValue provided: ${jsonSuppliedValue}`;\n }\n }\n }\n } else {\n /*\n * Not aware of other prop type warning messages.\n * But, if they exist, then at least throw the default\n * react prop types error\n */\n throw new Error(message);\n }\n\n throw new Error(errorMessage);\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass GlobalErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n return <div id=\"_dash-app-content\">{this.props.children}</div>;\n }\n}\n\nGlobalErrorContainer.propTypes = {\n children: PropTypes.object,\n};\n\nexport default GlobalErrorContainer;\n","/* global fetch: true */\nimport {mergeDeepRight} from 'ramda';\nimport {handleAsyncError, getCSRFHeader} from '../actions';\nimport {urlBase} from '../utils';\n\nfunction GET(path, fetchConfig) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'GET',\n headers: getCSRFHeader(),\n })\n );\n}\n\nfunction POST(path, fetchConfig, body = {}) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: body ? JSON.stringify(body) : null,\n })\n );\n}\n\nconst request = {GET, POST};\n\nexport default function apiThunk(endpoint, method, store, id, body) {\n return (dispatch, getState) => {\n const config = getState().config;\n const url = `${urlBase(config)}${endpoint}`;\n\n dispatch({\n type: store,\n payload: {id, status: 'loading'},\n });\n return request[method](url, config.fetch, body)\n .then(res => {\n const contentType = res.headers.get('content-type');\n if (\n contentType &&\n contentType.indexOf('application/json') !== -1\n ) {\n return res.json().then(json => {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id,\n },\n });\n return json;\n });\n }\n return dispatch({\n type: store,\n payload: {\n id,\n status: res.status,\n },\n });\n })\n .catch(err => {\n const message = 'Error from API call: ' + endpoint;\n handleAsyncError(err, message, dispatch);\n });\n };\n}\n","import {connect} from 'react-redux';\nimport {includes, isEmpty, isNil} from 'ramda';\nimport React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport TreeContainer from './TreeContainer';\nimport GlobalErrorContainer from './components/error/GlobalErrorContainer.react';\nimport {\n computeGraphs,\n computePaths,\n hydrateInitialOutputs,\n setLayout,\n} from './actions/index';\nimport {applyPersistence} from './persistence';\nimport apiThunk from './actions/api';\nimport {getAppState} from './reducers/constants';\nimport {STATUS} from './constants/constants';\n\n/**\n * Fire off API calls for initialization\n */\nclass UnconnectedContainer extends Component {\n constructor(props) {\n super(props);\n this.initialization = this.initialization.bind(this);\n this.state = {\n errorLoading: false,\n };\n }\n componentDidMount() {\n this.initialization(this.props);\n }\n\n componentWillReceiveProps(props) {\n this.initialization(props);\n }\n\n initialization(props) {\n const {\n appLifecycle,\n dependenciesRequest,\n dispatch,\n graphs,\n layout,\n layoutRequest,\n paths,\n } = props;\n\n if (isEmpty(layoutRequest)) {\n dispatch(apiThunk('_dash-layout', 'GET', 'layoutRequest'));\n } else if (layoutRequest.status === STATUS.OK) {\n if (isEmpty(layout)) {\n const finalLayout = applyPersistence(\n layoutRequest.content,\n dispatch\n );\n dispatch(setLayout(finalLayout));\n } else if (isNil(paths)) {\n dispatch(computePaths({subTree: layout, startingPath: []}));\n }\n }\n\n if (isEmpty(dependenciesRequest)) {\n dispatch(\n apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest')\n );\n } else if (\n dependenciesRequest.status === STATUS.OK &&\n isEmpty(graphs)\n ) {\n dispatch(computeGraphs(dependenciesRequest.content));\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === STATUS.OK &&\n !isEmpty(graphs) &&\n // LayoutRequest and its computed stores\n layoutRequest.status === STATUS.OK &&\n !isEmpty(layout) &&\n !isNil(paths) &&\n // Hasn't already hydrated\n appLifecycle === getAppState('STARTED')\n ) {\n let errorLoading = false;\n try {\n dispatch(hydrateInitialOutputs());\n } catch (err) {\n errorLoading = true;\n } finally {\n this.setState(state =>\n state.errorLoading !== errorLoading ? {errorLoading} : null\n );\n }\n }\n }\n\n render() {\n const {\n appLifecycle,\n dependenciesRequest,\n layoutRequest,\n layout,\n config,\n } = this.props;\n\n const {errorLoading} = this.state;\n\n if (\n layoutRequest.status &&\n !includes(layoutRequest.status, [STATUS.OK, 'loading'])\n ) {\n return <div className=\"_dash-error\">Error loading layout</div>;\n } else if (\n errorLoading ||\n (dependenciesRequest.status &&\n !includes(dependenciesRequest.status, [STATUS.OK, 'loading']))\n ) {\n return (\n <div className=\"_dash-error\">Error loading dependencies</div>\n );\n } else if (\n appLifecycle === getAppState('HYDRATED') &&\n config.ui === true\n ) {\n return (\n <GlobalErrorContainer>\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n </GlobalErrorContainer>\n );\n } else if (appLifecycle === getAppState('HYDRATED')) {\n return (\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n );\n }\n\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n}\nUnconnectedContainer.propTypes = {\n appLifecycle: PropTypes.oneOf([\n getAppState('STARTED'),\n getAppState('HYDRATED'),\n ]),\n dispatch: PropTypes.func,\n dependenciesRequest: PropTypes.object,\n layoutRequest: PropTypes.object,\n layout: PropTypes.object,\n paths: PropTypes.object,\n history: PropTypes.any,\n error: PropTypes.object,\n config: PropTypes.object,\n};\n\nconst Container = connect(\n // map state to props\n state => ({\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n paths: state.paths,\n history: state.history,\n error: state.error,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedContainer);\n\nexport default Container;\n","/* global document:true */\n\nimport {connect} from 'react-redux';\nimport {any} from 'ramda';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass DocumentTitle extends Component {\n constructor(props) {\n super(props);\n this.state = {\n initialTitle: document.title,\n };\n }\n\n componentWillReceiveProps(props) {\n if (any(r => r.status === 'loading', props.requestQueue)) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n\n shouldComponentUpdate() {\n return false;\n }\n\n render() {\n return null;\n }\n}\n\nDocumentTitle.propTypes = {\n requestQueue: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n requestQueue: state.requestQueue,\n}))(DocumentTitle);\n","import {connect} from 'react-redux';\nimport {any} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Loading(props) {\n if (any(r => r.status === 'loading', props.requestQueue)) {\n return <div className=\"_dash-loading-callback\" />;\n }\n return null;\n}\n\nLoading.propTypes = {\n requestQueue: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n requestQueue: state.requestQueue,\n}))(Loading);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {mergeRight} from 'ramda';\nimport {redo, undo} from '../../actions/index.js';\nimport Radium from 'radium';\n\nfunction UnconnectedToolbar(props) {\n const {dispatch, history} = props;\n const styles = {\n parentSpanStyle: {\n display: 'inline-block',\n opacity: '0.2',\n ':hover': {\n opacity: 1,\n },\n },\n iconStyle: {\n fontSize: 20,\n },\n labelStyle: {\n fontSize: 15,\n },\n };\n\n const undoLink = (\n <span\n key=\"undoLink\"\n style={mergeRight(\n {\n color: history.past.length ? '#0074D9' : 'grey',\n cursor: history.past.length ? 'pointer' : 'default',\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(undo())}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(270deg)'},\n styles.iconStyle\n )}\n >\n ↺\n </div>\n <div style={styles.labelStyle}>undo</div>\n </span>\n );\n\n const redoLink = (\n <span\n key=\"redoLink\"\n style={mergeRight(\n {\n color: history.future.length ? '#0074D9' : 'grey',\n cursor: history.future.length ? 'pointer' : 'default',\n marginLeft: 10,\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(redo())}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(90deg)'},\n styles.iconStyle\n )}\n >\n ↻\n </div>\n <div style={styles.labelStyle}>redo</div>\n </span>\n );\n\n return (\n <div\n className=\"_dash-undo-redo\"\n style={{\n position: 'fixed',\n bottom: '30px',\n left: '30px',\n fontSize: '20px',\n textAlign: 'center',\n zIndex: '9999',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <div\n style={{\n position: 'relative',\n }}\n >\n {history.past.length > 0 ? undoLink : null}\n {history.future.length > 0 ? redoLink : null}\n </div>\n </div>\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst Toolbar = connect(\n state => ({\n history: state.history,\n }),\n dispatch => ({dispatch})\n)(Radium(UnconnectedToolbar));\n\nexport default Toolbar;\n","import _curry1 from './internal/_curry1.js';\n\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n * const byAge = R.comparator((a, b) => a.age < b.age);\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByIncreasingAge = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\nvar comparator = /*#__PURE__*/_curry1(function comparator(pred) {\n return function (a, b) {\n return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n };\n});\nexport default comparator;","import _curry2 from './internal/_curry2.js';\n\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n * R.lt(2, 1); //=> false\n * R.lt(2, 2); //=> false\n * R.lt(2, 3); //=> true\n * R.lt('a', 'z'); //=> true\n * R.lt('z', 'a'); //=> false\n */\nvar lt = /*#__PURE__*/_curry2(function lt(a, b) {\n return a < b;\n});\nexport default lt;","/* eslint-disable no-undef,react/no-did-update-set-state,no-magic-numbers */\nimport {\n comparator,\n equals,\n forEach,\n has,\n isEmpty,\n lt,\n path,\n pathOr,\n sort,\n} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport apiThunk from '../../actions/api';\n\nclass Reloader extends React.Component {\n constructor(props) {\n super(props);\n if (props.config.hot_reload) {\n const {interval, max_retry} = props.config.hot_reload;\n this.state = {\n interval,\n disabled: false,\n intervalId: null,\n packages: null,\n max_retry,\n };\n } else {\n this.state = {\n disabled: true,\n };\n }\n this._retry = 0;\n this._head = document.querySelector('head');\n this.clearInterval = this.clearInterval.bind(this);\n }\n\n clearInterval() {\n window.clearInterval(this.state.intervalId);\n this.setState({intervalId: null});\n }\n\n static getDerivedStateFromProps(props) {\n /*\n * Save the non-loading requests in the state in order to compare\n * current hashes with previous hashes.\n * Note that if there wasn't a \"loading\" state for the requests,\n * then we could simply compare `props` with `prevProps` in\n * `componentDidUpdate`.\n */\n if (\n !isEmpty(props.reloadRequest) &&\n props.reloadRequest.status !== 'loading'\n ) {\n return {reloadRequest: props.reloadRequest};\n }\n return null;\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {reloadRequest} = this.state;\n const {dispatch} = this.props;\n\n // In the beginning, reloadRequest won't be defined\n if (!reloadRequest) {\n return;\n }\n\n /*\n * When reloadRequest is first defined, prevState won't be defined\n * for one render loop.\n * The first reloadRequest defines the initial/baseline hash -\n * it doesn't require a reload\n */\n if (!has('reloadRequest', prevState)) {\n return;\n }\n\n if (\n reloadRequest.status === 200 &&\n path(['content', 'reloadHash'], reloadRequest) !==\n path(['reloadRequest', 'content', 'reloadHash'], prevState)\n ) {\n // Check for CSS (!content.hard) or new package assets\n if (\n reloadRequest.content.hard ||\n !equals(\n reloadRequest.content.packages.length,\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n ).length\n ) ||\n !equals(\n sort(comparator(lt), reloadRequest.content.packages),\n sort(\n comparator(lt),\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n )\n )\n )\n ) {\n // Look if it was a css file.\n let was_css = false;\n // eslint-disable-next-line prefer-const\n for (let a of reloadRequest.content.files) {\n if (a.is_css) {\n was_css = true;\n const nodesToDisable = [];\n\n // Search for the old file by xpath.\n const it = document.evaluate(\n `//link[contains(@href, \"${a.url}\")]`,\n this._head\n );\n let node = it.iterateNext();\n\n while (node) {\n nodesToDisable.push(node);\n node = it.iterateNext();\n }\n\n forEach(\n n => n.setAttribute('disabled', 'disabled'),\n nodesToDisable\n );\n\n if (a.modified > 0) {\n const link = document.createElement('link');\n link.href = `${a.url}?m=${a.modified}`;\n link.type = 'text/css';\n link.rel = 'stylesheet';\n this._head.appendChild(link);\n // Else the file was deleted.\n }\n } else {\n // If there's another kind of file here do a hard reload.\n was_css = false;\n break;\n }\n }\n if (!was_css) {\n // Assets file have changed\n // or a component lib has been added/removed -\n // Must do a hard reload\n window.top.location.reload();\n }\n } else {\n // Backend code changed - can do a soft reload in place\n dispatch({type: 'RELOAD'});\n }\n } else if (reloadRequest.status === 500) {\n if (this._retry > this.state.max_retry) {\n this.clearInterval();\n // Integrate with dev tools ui?!\n window.alert(\n `\n Reloader failed after ${this._retry} times.\n Please check your application for errors.\n `\n );\n }\n this._retry++;\n }\n }\n\n componentDidMount() {\n const {dispatch, reloadRequest} = this.props;\n const {disabled, interval} = this.state;\n if (!disabled && !this.state.intervalId) {\n const intervalId = window.setInterval(() => {\n // Prevent requests from piling up - reloading can take\n // many seconds (10-30) and the interval is 3s by default\n if (reloadRequest.status !== 'loading') {\n dispatch(apiThunk('_reload-hash', 'GET', 'reloadRequest'));\n }\n }, interval);\n this.setState({intervalId});\n }\n }\n\n componentWillUnmount() {\n if (!this.state.disabled && this.state.intervalId) {\n this.clearInterval();\n }\n }\n\n render() {\n return null;\n }\n}\n\nReloader.defaultProps = {};\n\nReloader.propTypes = {\n id: PropTypes.string,\n config: PropTypes.object,\n reloadRequest: PropTypes.object,\n dispatch: PropTypes.func,\n interval: PropTypes.number,\n};\n\nexport default connect(\n state => ({\n config: state.config,\n reloadRequest: state.reloadRequest,\n }),\n dispatch => ({dispatch})\n)(Reloader);\n","/* global document:true */\nimport {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport APIController from './APIController.react';\nimport DocumentTitle from './components/core/DocumentTitle.react';\nimport Loading from './components/core/Loading.react';\nimport Toolbar from './components/core/Toolbar.react';\nimport Reloader from './components/core/Reloader.react';\nimport {setHooks, setConfig} from './actions/index';\nimport {type} from 'ramda';\n\nclass UnconnectedAppContainer extends React.Component {\n constructor(props) {\n super(props);\n if (\n props.hooks.request_pre !== null ||\n props.hooks.request_post !== null\n ) {\n props.dispatch(setHooks(props.hooks));\n }\n }\n\n componentWillMount() {\n const {dispatch} = this.props;\n const config = JSON.parse(\n document.getElementById('_dash-config').textContent\n );\n\n // preset common request params in the config\n config.fetch = {\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n };\n\n dispatch(setConfig(config));\n }\n\n render() {\n const {config} = this.props;\n if (type(config) === 'Null') {\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n const {show_undo_redo} = config;\n return (\n <React.Fragment>\n {show_undo_redo ? <Toolbar /> : null}\n <APIController />\n <DocumentTitle />\n <Loading />\n <Reloader />\n </React.Fragment>\n );\n }\n}\n\nUnconnectedAppContainer.propTypes = {\n hooks: PropTypes.object,\n dispatch: PropTypes.func,\n config: PropTypes.object,\n};\n\nconst AppContainer = connect(\n state => ({\n history: state.history,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedAppContainer);\n\nexport default AppContainer;\n","import React from 'react';\nimport {Provider} from 'react-redux';\n\nimport initializeStore from './store';\nimport AppContainer from './AppContainer.react';\n\nimport PropTypes from 'prop-types';\n\nconst store = initializeStore();\n\nconst AppProvider = ({hooks}) => {\n return (\n <Provider store={store}>\n <AppContainer hooks={hooks} />\n </Provider>\n );\n};\n\nAppProvider.propTypes = {\n hooks: PropTypes.shape({\n request_pre: PropTypes.func,\n request_post: PropTypes.func,\n }),\n};\n\nAppProvider.defaultProps = {\n hooks: {\n request_pre: null,\n request_post: null,\n },\n};\n\nexport default AppProvider;\n","import {DashRenderer} from './DashRenderer';\n\n// make DashRenderer globally available\nwindow.DashRenderer = DashRenderer;\n","/* eslint-env browser */\n\n'use strict';\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport AppProvider from './AppProvider.react';\n\nclass DashRenderer {\n constructor(hooks) {\n // render Dash Renderer upon initialising!\n ReactDOM.render(\n <AppProvider hooks={hooks} />,\n document.getElementById('react-entry-point')\n );\n }\n}\n\nexport {DashRenderer};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js new file mode 100644 index 00000000..3925e98f --- /dev/null +++ b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js @@ -0,0 +1,38929 @@ +window["dash_renderer"] = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 0); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "./node_modules/@babel/runtime/helpers/esm/extends.js": +/*!************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/extends.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _extends; }); +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; + }; + + return _extends.apply(this, arguments); +} + +/***/ }), + +/***/ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js": +/*!*********************************************************************************!*\ + !*** ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js ***! + \*********************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _objectWithoutPropertiesLoose; }); +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + return target; +} + +/***/ }), + +/***/ "./node_modules/@plotly/dash-component-plugins/dist/index.js": +/*!*******************************************************************!*\ + !*** ./node_modules/@plotly/dash-component-plugins/dist/index.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +!function(e,n){ true?module.exports=n(__webpack_require__(/*! react */ "react")):undefined}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){"use strict";t.r(n);var r=t(0),o=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(t(!0));case 2:o.isReady=!0;case 3:case"end":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},i=function(e,n){Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return u(n)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c="_dashprivate_historychange",f=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e)}var n,t,r;return n=e,r=[{key:"dispatchChangeEvent",value:function(){window.dispatchEvent(new CustomEvent(c))}},{key:"onChange",value:function(e){return window.addEventListener(c,e),function(){return window.removeEventListener(c,e)}}}],(t=null)&&a(n.prototype,t),r&&a(n,r),e}();t.d(n,"asyncDecorator",(function(){return o})),t.d(n,"inheritAsyncDecorator",(function(){return i})),t.d(n,"isReady",(function(){return u})),t.d(n,"History",(function(){return f}))}])})); + +/***/ }), + +/***/ "./node_modules/base64-js/index.js": +/*!*****************************************!*\ + !*** ./node_modules/base64-js/index.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk( + uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength) + )) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + + +/***/ }), + +/***/ "./node_modules/bowser/src/bowser.js": +/*!*******************************************!*\ + !*** ./node_modules/bowser/src/bowser.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/*! + * Bowser - a browser detector + * https://github.com/ded/bowser + * MIT License | (c) Dustin Diaz 2015 + */ + +!function (root, name, definition) { + if ( true && module.exports) module.exports = definition() + else if (true) __webpack_require__(/*! !webpack amd define */ "./node_modules/webpack/buildin/amd-define.js")(name, definition) + else {} +}(this, 'bowser', function () { + /** + * See useragents.js for examples of navigator.userAgent + */ + + var t = true + + function detect(ua) { + + function getFirstMatch(regex) { + var match = ua.match(regex); + return (match && match.length > 1 && match[1]) || ''; + } + + function getSecondMatch(regex) { + var match = ua.match(regex); + return (match && match.length > 1 && match[2]) || ''; + } + + var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase() + , likeAndroid = /like android/i.test(ua) + , android = !likeAndroid && /android/i.test(ua) + , nexusMobile = /nexus\s*[0-6]\s*/i.test(ua) + , nexusTablet = !nexusMobile && /nexus\s*[0-9]+/i.test(ua) + , chromeos = /CrOS/.test(ua) + , silk = /silk/i.test(ua) + , sailfish = /sailfish/i.test(ua) + , tizen = /tizen/i.test(ua) + , webos = /(web|hpw)(o|0)s/i.test(ua) + , windowsphone = /windows phone/i.test(ua) + , samsungBrowser = /SamsungBrowser/i.test(ua) + , windows = !windowsphone && /windows/i.test(ua) + , mac = !iosdevice && !silk && /macintosh/i.test(ua) + , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua) + , edgeVersion = getSecondMatch(/edg([ea]|ios)\/(\d+(\.\d+)?)/i) + , versionIdentifier = getFirstMatch(/version\/(\d+(\.\d+)?)/i) + , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua) + , mobile = !tablet && /[^-]mobi/i.test(ua) + , xbox = /xbox/i.test(ua) + , result + + if (/opera/i.test(ua)) { + // an old Opera + result = { + name: 'Opera' + , opera: t + , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i) + } + } else if (/opr\/|opios/i.test(ua)) { + // a new Opera + result = { + name: 'Opera' + , opera: t + , version: getFirstMatch(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i) || versionIdentifier + } + } + else if (/SamsungBrowser/i.test(ua)) { + result = { + name: 'Samsung Internet for Android' + , samsungBrowser: t + , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i) + } + } + else if (/Whale/i.test(ua)) { + result = { + name: 'NAVER Whale browser' + , whale: t + , version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/MZBrowser/i.test(ua)) { + result = { + name: 'MZ Browser' + , mzbrowser: t + , version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/coast/i.test(ua)) { + result = { + name: 'Opera Coast' + , coast: t + , version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i) + } + } + else if (/focus/i.test(ua)) { + result = { + name: 'Focus' + , focus: t + , version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/yabrowser/i.test(ua)) { + result = { + name: 'Yandex Browser' + , yandexbrowser: t + , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i) + } + } + else if (/ucbrowser/i.test(ua)) { + result = { + name: 'UC Browser' + , ucbrowser: t + , version: getFirstMatch(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/mxios/i.test(ua)) { + result = { + name: 'Maxthon' + , maxthon: t + , version: getFirstMatch(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/epiphany/i.test(ua)) { + result = { + name: 'Epiphany' + , epiphany: t + , version: getFirstMatch(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/puffin/i.test(ua)) { + result = { + name: 'Puffin' + , puffin: t + , version: getFirstMatch(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i) + } + } + else if (/sleipnir/i.test(ua)) { + result = { + name: 'Sleipnir' + , sleipnir: t + , version: getFirstMatch(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (/k-meleon/i.test(ua)) { + result = { + name: 'K-Meleon' + , kMeleon: t + , version: getFirstMatch(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i) + } + } + else if (windowsphone) { + result = { + name: 'Windows Phone' + , osname: 'Windows Phone' + , windowsphone: t + } + if (edgeVersion) { + result.msedge = t + result.version = edgeVersion + } + else { + result.msie = t + result.version = getFirstMatch(/iemobile\/(\d+(\.\d+)?)/i) + } + } + else if (/msie|trident/i.test(ua)) { + result = { + name: 'Internet Explorer' + , msie: t + , version: getFirstMatch(/(?:msie |rv:)(\d+(\.\d+)?)/i) + } + } else if (chromeos) { + result = { + name: 'Chrome' + , osname: 'Chrome OS' + , chromeos: t + , chromeBook: t + , chrome: t + , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) + } + } else if (/edg([ea]|ios)/i.test(ua)) { + result = { + name: 'Microsoft Edge' + , msedge: t + , version: edgeVersion + } + } + else if (/vivaldi/i.test(ua)) { + result = { + name: 'Vivaldi' + , vivaldi: t + , version: getFirstMatch(/vivaldi\/(\d+(\.\d+)?)/i) || versionIdentifier + } + } + else if (sailfish) { + result = { + name: 'Sailfish' + , osname: 'Sailfish OS' + , sailfish: t + , version: getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i) + } + } + else if (/seamonkey\//i.test(ua)) { + result = { + name: 'SeaMonkey' + , seamonkey: t + , version: getFirstMatch(/seamonkey\/(\d+(\.\d+)?)/i) + } + } + else if (/firefox|iceweasel|fxios/i.test(ua)) { + result = { + name: 'Firefox' + , firefox: t + , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i) + } + if (/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(ua)) { + result.firefoxos = t + result.osname = 'Firefox OS' + } + } + else if (silk) { + result = { + name: 'Amazon Silk' + , silk: t + , version : getFirstMatch(/silk\/(\d+(\.\d+)?)/i) + } + } + else if (/phantom/i.test(ua)) { + result = { + name: 'PhantomJS' + , phantom: t + , version: getFirstMatch(/phantomjs\/(\d+(\.\d+)?)/i) + } + } + else if (/slimerjs/i.test(ua)) { + result = { + name: 'SlimerJS' + , slimer: t + , version: getFirstMatch(/slimerjs\/(\d+(\.\d+)?)/i) + } + } + else if (/blackberry|\bbb\d+/i.test(ua) || /rim\stablet/i.test(ua)) { + result = { + name: 'BlackBerry' + , osname: 'BlackBerry OS' + , blackberry: t + , version: versionIdentifier || getFirstMatch(/blackberry[\d]+\/(\d+(\.\d+)?)/i) + } + } + else if (webos) { + result = { + name: 'WebOS' + , osname: 'WebOS' + , webos: t + , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i) + }; + /touchpad\//i.test(ua) && (result.touchpad = t) + } + else if (/bada/i.test(ua)) { + result = { + name: 'Bada' + , osname: 'Bada' + , bada: t + , version: getFirstMatch(/dolfin\/(\d+(\.\d+)?)/i) + }; + } + else if (tizen) { + result = { + name: 'Tizen' + , osname: 'Tizen' + , tizen: t + , version: getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i) || versionIdentifier + }; + } + else if (/qupzilla/i.test(ua)) { + result = { + name: 'QupZilla' + , qupzilla: t + , version: getFirstMatch(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i) || versionIdentifier + } + } + else if (/chromium/i.test(ua)) { + result = { + name: 'Chromium' + , chromium: t + , version: getFirstMatch(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i) || versionIdentifier + } + } + else if (/chrome|crios|crmo/i.test(ua)) { + result = { + name: 'Chrome' + , chrome: t + , version: getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i) + } + } + else if (android) { + result = { + name: 'Android' + , version: versionIdentifier + } + } + else if (/safari|applewebkit/i.test(ua)) { + result = { + name: 'Safari' + , safari: t + } + if (versionIdentifier) { + result.version = versionIdentifier + } + } + else if (iosdevice) { + result = { + name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod' + } + // WTF: version is not part of user agent in web apps + if (versionIdentifier) { + result.version = versionIdentifier + } + } + else if(/googlebot/i.test(ua)) { + result = { + name: 'Googlebot' + , googlebot: t + , version: getFirstMatch(/googlebot\/(\d+(\.\d+))/i) || versionIdentifier + } + } + else { + result = { + name: getFirstMatch(/^(.*)\/(.*) /), + version: getSecondMatch(/^(.*)\/(.*) /) + }; + } + + // set webkit or gecko flag for browsers based on these engines + if (!result.msedge && /(apple)?webkit/i.test(ua)) { + if (/(apple)?webkit\/537\.36/i.test(ua)) { + result.name = result.name || "Blink" + result.blink = t + } else { + result.name = result.name || "Webkit" + result.webkit = t + } + if (!result.version && versionIdentifier) { + result.version = versionIdentifier + } + } else if (!result.opera && /gecko\//i.test(ua)) { + result.name = result.name || "Gecko" + result.gecko = t + result.version = result.version || getFirstMatch(/gecko\/(\d+(\.\d+)?)/i) + } + + // set OS flags for platforms that have multiple browsers + if (!result.windowsphone && (android || result.silk)) { + result.android = t + result.osname = 'Android' + } else if (!result.windowsphone && iosdevice) { + result[iosdevice] = t + result.ios = t + result.osname = 'iOS' + } else if (mac) { + result.mac = t + result.osname = 'macOS' + } else if (xbox) { + result.xbox = t + result.osname = 'Xbox' + } else if (windows) { + result.windows = t + result.osname = 'Windows' + } else if (linux) { + result.linux = t + result.osname = 'Linux' + } + + function getWindowsVersion (s) { + switch (s) { + case 'NT': return 'NT' + case 'XP': return 'XP' + case 'NT 5.0': return '2000' + case 'NT 5.1': return 'XP' + case 'NT 5.2': return '2003' + case 'NT 6.0': return 'Vista' + case 'NT 6.1': return '7' + case 'NT 6.2': return '8' + case 'NT 6.3': return '8.1' + case 'NT 10.0': return '10' + default: return undefined + } + } + + // OS version extraction + var osVersion = ''; + if (result.windows) { + osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i)) + } else if (result.windowsphone) { + osVersion = getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i); + } else if (result.mac) { + osVersion = getFirstMatch(/Mac OS X (\d+([_\.\s]\d+)*)/i); + osVersion = osVersion.replace(/[_\s]/g, '.'); + } else if (iosdevice) { + osVersion = getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i); + osVersion = osVersion.replace(/[_\s]/g, '.'); + } else if (android) { + osVersion = getFirstMatch(/android[ \/-](\d+(\.\d+)*)/i); + } else if (result.webos) { + osVersion = getFirstMatch(/(?:web|hpw)os\/(\d+(\.\d+)*)/i); + } else if (result.blackberry) { + osVersion = getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i); + } else if (result.bada) { + osVersion = getFirstMatch(/bada\/(\d+(\.\d+)*)/i); + } else if (result.tizen) { + osVersion = getFirstMatch(/tizen[\/\s](\d+(\.\d+)*)/i); + } + if (osVersion) { + result.osversion = osVersion; + } + + // device type extraction + var osMajorVersion = !result.windows && osVersion.split('.')[0]; + if ( + tablet + || nexusTablet + || iosdevice == 'ipad' + || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile))) + || result.silk + ) { + result.tablet = t + } else if ( + mobile + || iosdevice == 'iphone' + || iosdevice == 'ipod' + || android + || nexusMobile + || result.blackberry + || result.webos + || result.bada + ) { + result.mobile = t + } + + // Graded Browser Support + // http://developer.yahoo.com/yui/articles/gbs + if (result.msedge || + (result.msie && result.version >= 10) || + (result.yandexbrowser && result.version >= 15) || + (result.vivaldi && result.version >= 1.0) || + (result.chrome && result.version >= 20) || + (result.samsungBrowser && result.version >= 4) || + (result.whale && compareVersions([result.version, '1.0']) === 1) || + (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) || + (result.focus && compareVersions([result.version, '1.0']) === 1) || + (result.firefox && result.version >= 20.0) || + (result.safari && result.version >= 6) || + (result.opera && result.version >= 10.0) || + (result.ios && result.osversion && result.osversion.split(".")[0] >= 6) || + (result.blackberry && result.version >= 10.1) + || (result.chromium && result.version >= 20) + ) { + result.a = t; + } + else if ((result.msie && result.version < 10) || + (result.chrome && result.version < 20) || + (result.firefox && result.version < 20.0) || + (result.safari && result.version < 6) || + (result.opera && result.version < 10.0) || + (result.ios && result.osversion && result.osversion.split(".")[0] < 6) + || (result.chromium && result.version < 20) + ) { + result.c = t + } else result.x = t + + return result + } + + var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '') + + bowser.test = function (browserList) { + for (var i = 0; i < browserList.length; ++i) { + var browserItem = browserList[i]; + if (typeof browserItem=== 'string') { + if (browserItem in bowser) { + return true; + } + } + } + return false; + } + + /** + * Get version precisions count + * + * @example + * getVersionPrecision("1.10.3") // 3 + * + * @param {string} version + * @return {number} + */ + function getVersionPrecision(version) { + return version.split(".").length; + } + + /** + * Array::map polyfill + * + * @param {Array} arr + * @param {Function} iterator + * @return {Array} + */ + function map(arr, iterator) { + var result = [], i; + if (Array.prototype.map) { + return Array.prototype.map.call(arr, iterator); + } + for (i = 0; i < arr.length; i++) { + result.push(iterator(arr[i])); + } + return result; + } + + /** + * Calculate browser version weight + * + * @example + * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1 + * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1 + * compareVersions(['1.10.2.1', '1.10.2.1']); // 0 + * compareVersions(['1.10.2.1', '1.0800.2']); // -1 + * + * @param {Array<String>} versions versions to compare + * @return {Number} comparison result + */ + function compareVersions(versions) { + // 1) get common precision for both versions, for example for "10.0" and "9" it should be 2 + var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1])); + var chunks = map(versions, function (version) { + var delta = precision - getVersionPrecision(version); + + // 2) "9" -> "9.0" (for precision = 2) + version = version + new Array(delta + 1).join(".0"); + + // 3) "9.0" -> ["000000000"", "000000009"] + return map(version.split("."), function (chunk) { + return new Array(20 - chunk.length).join("0") + chunk; + }).reverse(); + }); + + // iterate in reverse order by reversed chunks array + while (--precision >= 0) { + // 4) compare: "000000009" > "000000010" = false (but "9" > "10" = true) + if (chunks[0][precision] > chunks[1][precision]) { + return 1; + } + else if (chunks[0][precision] === chunks[1][precision]) { + if (precision === 0) { + // all version chunks are same + return 0; + } + } + else { + return -1; + } + } + } + + /** + * Check if browser is unsupported + * + * @example + * bowser.isUnsupportedBrowser({ + * msie: "10", + * firefox: "23", + * chrome: "29", + * safari: "5.1", + * opera: "16", + * phantom: "534" + * }); + * + * @param {Object} minVersions map of minimal version to browser + * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map + * @param {String} [ua] user agent string + * @return {Boolean} + */ + function isUnsupportedBrowser(minVersions, strictMode, ua) { + var _bowser = bowser; + + // make strictMode param optional with ua param usage + if (typeof strictMode === 'string') { + ua = strictMode; + strictMode = void(0); + } + + if (strictMode === void(0)) { + strictMode = false; + } + if (ua) { + _bowser = detect(ua); + } + + var version = "" + _bowser.version; + for (var browser in minVersions) { + if (minVersions.hasOwnProperty(browser)) { + if (_bowser[browser]) { + if (typeof minVersions[browser] !== 'string') { + throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions)); + } + + // browser version and min supported version. + return compareVersions([version, minVersions[browser]]) < 0; + } + } + } + + return strictMode; // not found + } + + /** + * Check if browser is supported + * + * @param {Object} minVersions map of minimal version to browser + * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map + * @param {String} [ua] user agent string + * @return {Boolean} + */ + function check(minVersions, strictMode, ua) { + return !isUnsupportedBrowser(minVersions, strictMode, ua); + } + + bowser.isUnsupportedBrowser = isUnsupportedBrowser; + bowser.compareVersions = compareVersions; + bowser.check = check; + + /* + * Set our detect method to the main bowser object so we can + * reuse it to test other user agents. + * This is needed to implement future tests. + */ + bowser._detect = detect; + + /* + * Set our detect public method to the main bowser object + * This is needed to implement bowser in server side + */ + bowser.detect = detect; + return bowser +}); + + +/***/ }), + +/***/ "./node_modules/buffer/index.js": +/*!**************************************!*\ + !*** ./node_modules/buffer/index.js ***! + \**************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh <http://feross.org> + * @license MIT + */ +/* eslint-disable no-proto */ + + + +var base64 = __webpack_require__(/*! base64-js */ "./node_modules/base64-js/index.js") +var ieee754 = __webpack_require__(/*! ieee754 */ "./node_modules/ieee754/index.js") +var isArray = __webpack_require__(/*! isarray */ "./node_modules/isarray/index.js") + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 + +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Use Object implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * Due to various browser bugs, sometimes the Object implementation will be used even + * when the browser supports typed arrays. + * + * Note: + * + * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, + * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. + * + * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. + * + * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of + * incorrect length in some situations. + + * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they + * get the Object implementation, which is slower but behaves correctly. + */ +Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined + ? global.TYPED_ARRAY_SUPPORT + : typedArraySupport() + +/* + * Export kMaxLength after typed array support is determined. + */ +exports.kMaxLength = kMaxLength() + +function typedArraySupport () { + try { + var arr = new Uint8Array(1) + arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }} + return arr.foo() === 42 && // typed array instances can be augmented + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +} + +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} + +function createBuffer (that, length) { + if (kMaxLength() < length) { + throw new RangeError('Invalid typed array length') + } + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = new Uint8Array(length) + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + if (that === null) { + that = new Buffer(length) + } + that.length = length + } + + return that +} + +/** + * The Buffer constructor returns instances of `Uint8Array` that have their + * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of + * `Uint8Array`, so the returned instances will have all the node `Buffer` methods + * and the `Uint8Array` methods. Square bracket notation works as expected -- it + * returns a single octet. + * + * The `Uint8Array` prototype remains unmodified. + */ + +function Buffer (arg, encodingOrOffset, length) { + if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) { + return new Buffer(arg, encodingOrOffset, length) + } + + // Common case. + if (typeof arg === 'number') { + if (typeof encodingOrOffset === 'string') { + throw new Error( + 'If encoding is specified then the first argument must be a string' + ) + } + return allocUnsafe(this, arg) + } + return from(this, arg, encodingOrOffset, length) +} + +Buffer.poolSize = 8192 // not used by this implementation + +// TODO: Legacy, not needed anymore. Remove in next major version. +Buffer._augment = function (arr) { + arr.__proto__ = Buffer.prototype + return arr +} + +function from (that, value, encodingOrOffset, length) { + if (typeof value === 'number') { + throw new TypeError('"value" argument must not be a number') + } + + if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) { + return fromArrayBuffer(that, value, encodingOrOffset, length) + } + + if (typeof value === 'string') { + return fromString(that, value, encodingOrOffset) + } + + return fromObject(that, value) +} + +/** + * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError + * if value is a number. + * Buffer.from(str[, encoding]) + * Buffer.from(array) + * Buffer.from(buffer) + * Buffer.from(arrayBuffer[, byteOffset[, length]]) + **/ +Buffer.from = function (value, encodingOrOffset, length) { + return from(null, value, encodingOrOffset, length) +} + +if (Buffer.TYPED_ARRAY_SUPPORT) { + Buffer.prototype.__proto__ = Uint8Array.prototype + Buffer.__proto__ = Uint8Array + if (typeof Symbol !== 'undefined' && Symbol.species && + Buffer[Symbol.species] === Buffer) { + // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97 + Object.defineProperty(Buffer, Symbol.species, { + value: null, + configurable: true + }) + } +} + +function assertSize (size) { + if (typeof size !== 'number') { + throw new TypeError('"size" argument must be a number') + } else if (size < 0) { + throw new RangeError('"size" argument must not be negative') + } +} + +function alloc (that, size, fill, encoding) { + assertSize(size) + if (size <= 0) { + return createBuffer(that, size) + } + if (fill !== undefined) { + // Only pay attention to encoding if it's a string. This + // prevents accidentally sending in a number that would + // be interpretted as a start offset. + return typeof encoding === 'string' + ? createBuffer(that, size).fill(fill, encoding) + : createBuffer(that, size).fill(fill) + } + return createBuffer(that, size) +} + +/** + * Creates a new filled Buffer instance. + * alloc(size[, fill[, encoding]]) + **/ +Buffer.alloc = function (size, fill, encoding) { + return alloc(null, size, fill, encoding) +} + +function allocUnsafe (that, size) { + assertSize(size) + that = createBuffer(that, size < 0 ? 0 : checked(size) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < size; ++i) { + that[i] = 0 + } + } + return that +} + +/** + * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance. + * */ +Buffer.allocUnsafe = function (size) { + return allocUnsafe(null, size) +} +/** + * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance. + */ +Buffer.allocUnsafeSlow = function (size) { + return allocUnsafe(null, size) +} + +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') { + encoding = 'utf8' + } + + if (!Buffer.isEncoding(encoding)) { + throw new TypeError('"encoding" must be a valid string encoding') + } + + var length = byteLength(string, encoding) | 0 + that = createBuffer(that, length) + + var actual = that.write(string, encoding) + + if (actual !== length) { + // Writing a hex string, for example, that contains invalid characters will + // cause everything after the first invalid character to be ignored. (e.g. + // 'abxxcd' will be treated as 'ab') + that = that.slice(0, actual) + } + + return that +} + +function fromArrayLike (that, array) { + var length = array.length < 0 ? 0 : checked(array.length) | 0 + that = createBuffer(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function fromArrayBuffer (that, array, byteOffset, length) { + array.byteLength // this throws if `array` is not a valid ArrayBuffer + + if (byteOffset < 0 || array.byteLength < byteOffset) { + throw new RangeError('\'offset\' is out of bounds') + } + + if (array.byteLength < byteOffset + (length || 0)) { + throw new RangeError('\'length\' is out of bounds') + } + + if (byteOffset === undefined && length === undefined) { + array = new Uint8Array(array) + } else if (length === undefined) { + array = new Uint8Array(array, byteOffset) + } else { + array = new Uint8Array(array, byteOffset, length) + } + + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = array + that.__proto__ = Buffer.prototype + } else { + // Fallback: Return an object instance of the Buffer class + that = fromArrayLike(that, array) + } + return that +} + +function fromObject (that, obj) { + if (Buffer.isBuffer(obj)) { + var len = checked(obj.length) | 0 + that = createBuffer(that, len) + + if (that.length === 0) { + return that + } + + obj.copy(that, 0, 0, len) + return that + } + + if (obj) { + if ((typeof ArrayBuffer !== 'undefined' && + obj.buffer instanceof ArrayBuffer) || 'length' in obj) { + if (typeof obj.length !== 'number' || isnan(obj.length)) { + return createBuffer(that, 0) + } + return fromArrayLike(that, obj) + } + + if (obj.type === 'Buffer' && isArray(obj.data)) { + return fromArrayLike(that, obj.data) + } + } + + throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.') +} + +function checked (length) { + // Note: cannot use `length < kMaxLength()` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (length) { + if (+length != length) { // eslint-disable-line eqeqeq + length = 0 + } + return Buffer.alloc(+length) +} + +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} + +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + for (var i = 0, len = Math.min(x, y); i < len; ++i) { + if (a[i] !== b[i]) { + x = a[i] + y = b[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'latin1': + case 'binary': + case 'base64': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!isArray(list)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + + if (list.length === 0) { + return Buffer.alloc(0) + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; ++i) { + length += list[i].length + } + } + + var buffer = Buffer.allocUnsafe(length) + var pos = 0 + for (i = 0; i < list.length; ++i) { + var buf = list[i] + if (!Buffer.isBuffer(buf)) { + throw new TypeError('"list" argument must be an Array of Buffers') + } + buf.copy(buffer, pos) + pos += buf.length + } + return buffer +} + +function byteLength (string, encoding) { + if (Buffer.isBuffer(string)) { + return string.length + } + if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' && + (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) { + return string.byteLength + } + if (typeof string !== 'string') { + string = '' + string + } + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'latin1': + case 'binary': + return len + case 'utf8': + case 'utf-8': + case undefined: + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +function slowToString (encoding, start, end) { + var loweredCase = false + + // No need to verify that "this.length <= MAX_UINT32" since it's a read-only + // property of a typed array. + + // This behaves neither like String nor Uint8Array in that we set start/end + // to their upper/lower bounds if the value passed is out of range. + // undefined is handled specially as per ECMA-262 6th Edition, + // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization. + if (start === undefined || start < 0) { + start = 0 + } + // Return early if start > this.length. Done here to prevent potential uint32 + // coercion fail below. + if (start > this.length) { + return '' + } + + if (end === undefined || end > this.length) { + end = this.length + } + + if (end <= 0) { + return '' + } + + // Force coersion to uint32. This will also coerce falsey/NaN values to 0. + end >>>= 0 + start >>>= 0 + + if (end <= start) { + return '' + } + + if (!encoding) encoding = 'utf8' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'latin1': + case 'binary': + return latin1Slice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} + +// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect +// Buffer instances. +Buffer.prototype._isBuffer = true + +function swap (b, n, m) { + var i = b[n] + b[n] = b[m] + b[m] = i +} + +Buffer.prototype.swap16 = function swap16 () { + var len = this.length + if (len % 2 !== 0) { + throw new RangeError('Buffer size must be a multiple of 16-bits') + } + for (var i = 0; i < len; i += 2) { + swap(this, i, i + 1) + } + return this +} + +Buffer.prototype.swap32 = function swap32 () { + var len = this.length + if (len % 4 !== 0) { + throw new RangeError('Buffer size must be a multiple of 32-bits') + } + for (var i = 0; i < len; i += 4) { + swap(this, i, i + 3) + swap(this, i + 1, i + 2) + } + return this +} + +Buffer.prototype.swap64 = function swap64 () { + var len = this.length + if (len % 8 !== 0) { + throw new RangeError('Buffer size must be a multiple of 64-bits') + } + for (var i = 0; i < len; i += 8) { + swap(this, i, i + 7) + swap(this, i + 1, i + 6) + swap(this, i + 2, i + 5) + swap(this, i + 3, i + 4) + } + return this +} + +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} + +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} + +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '<Buffer ' + str + '>' +} + +Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) { + if (!Buffer.isBuffer(target)) { + throw new TypeError('Argument must be a Buffer') + } + + if (start === undefined) { + start = 0 + } + if (end === undefined) { + end = target ? target.length : 0 + } + if (thisStart === undefined) { + thisStart = 0 + } + if (thisEnd === undefined) { + thisEnd = this.length + } + + if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) { + throw new RangeError('out of range index') + } + + if (thisStart >= thisEnd && start >= end) { + return 0 + } + if (thisStart >= thisEnd) { + return -1 + } + if (start >= end) { + return 1 + } + + start >>>= 0 + end >>>= 0 + thisStart >>>= 0 + thisEnd >>>= 0 + + if (this === target) return 0 + + var x = thisEnd - thisStart + var y = end - start + var len = Math.min(x, y) + + var thisCopy = this.slice(thisStart, thisEnd) + var targetCopy = target.slice(start, end) + + for (var i = 0; i < len; ++i) { + if (thisCopy[i] !== targetCopy[i]) { + x = thisCopy[i] + y = targetCopy[i] + break + } + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`, +// OR the last index of `val` in `buffer` at offset <= `byteOffset`. +// +// Arguments: +// - buffer - a Buffer to search +// - val - a string, Buffer, or number +// - byteOffset - an index into `buffer`; will be clamped to an int32 +// - encoding - an optional encoding, relevant is val is a string +// - dir - true for indexOf, false for lastIndexOf +function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) { + // Empty buffer means no match + if (buffer.length === 0) return -1 + + // Normalize byteOffset + if (typeof byteOffset === 'string') { + encoding = byteOffset + byteOffset = 0 + } else if (byteOffset > 0x7fffffff) { + byteOffset = 0x7fffffff + } else if (byteOffset < -0x80000000) { + byteOffset = -0x80000000 + } + byteOffset = +byteOffset // Coerce to Number. + if (isNaN(byteOffset)) { + // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer + byteOffset = dir ? 0 : (buffer.length - 1) + } + + // Normalize byteOffset: negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = buffer.length + byteOffset + if (byteOffset >= buffer.length) { + if (dir) return -1 + else byteOffset = buffer.length - 1 + } else if (byteOffset < 0) { + if (dir) byteOffset = 0 + else return -1 + } + + // Normalize val + if (typeof val === 'string') { + val = Buffer.from(val, encoding) + } + + // Finally, search either indexOf (if dir is true) or lastIndexOf + if (Buffer.isBuffer(val)) { + // Special case: looking for empty string/buffer always fails + if (val.length === 0) { + return -1 + } + return arrayIndexOf(buffer, val, byteOffset, encoding, dir) + } else if (typeof val === 'number') { + val = val & 0xFF // Search for a byte value [0-255] + if (Buffer.TYPED_ARRAY_SUPPORT && + typeof Uint8Array.prototype.indexOf === 'function') { + if (dir) { + return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset) + } else { + return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset) + } + } + return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir) + } + + throw new TypeError('val must be string, number or Buffer') +} + +function arrayIndexOf (arr, val, byteOffset, encoding, dir) { + var indexSize = 1 + var arrLength = arr.length + var valLength = val.length + + if (encoding !== undefined) { + encoding = String(encoding).toLowerCase() + if (encoding === 'ucs2' || encoding === 'ucs-2' || + encoding === 'utf16le' || encoding === 'utf-16le') { + if (arr.length < 2 || val.length < 2) { + return -1 + } + indexSize = 2 + arrLength /= 2 + valLength /= 2 + byteOffset /= 2 + } + } + + function read (buf, i) { + if (indexSize === 1) { + return buf[i] + } else { + return buf.readUInt16BE(i * indexSize) + } + } + + var i + if (dir) { + var foundIndex = -1 + for (i = byteOffset; i < arrLength; i++) { + if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === valLength) return foundIndex * indexSize + } else { + if (foundIndex !== -1) i -= i - foundIndex + foundIndex = -1 + } + } + } else { + if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength + for (i = byteOffset; i >= 0; i--) { + var found = true + for (var j = 0; j < valLength; j++) { + if (read(arr, i + j) !== read(val, j)) { + found = false + break + } + } + if (found) return i + } + } + + return -1 +} + +Buffer.prototype.includes = function includes (val, byteOffset, encoding) { + return this.indexOf(val, byteOffset, encoding) !== -1 +} + +Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, true) +} + +Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) { + return bidirectionalIndexOf(this, val, byteOffset, encoding, false) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new TypeError('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; ++i) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) return i + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function latin1Write (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + throw new Error( + 'Buffer.write(string, encoding, offset[, length]) is no longer supported' + ) + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('Attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'latin1': + case 'binary': + return latin1Write(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } + + res.push(codePoint) + i += bytesPerSequence + } + + return decodeCodePointsArray(res) +} + +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function latin1Slice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; ++i) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; ++i) { + out += toHex(buf[i]) + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = this.subarray(start, end) + newBuf.__proto__ = Buffer.prototype + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; ++i) { + newBuf[i] = this[i + start] + } + } + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance') + if (value > max || value < min) throw new RangeError('"value" argument is out of bounds') + if (offset + ext > buf.length) throw new RangeError('Index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + var maxBytes = Math.pow(2, 8 * byteLength) - 1 + checkInt(this, value, offset, byteLength, maxBytes, 0) + } + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = (value & 0xff) + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) { + sub = 1 + } + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = (value & 0xff) + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = (value & 0xff) + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value & 0xff) + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = (value & 0xff) + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (offset + ext > buf.length) throw new RangeError('Index out of range') + if (offset < 0) throw new RangeError('Index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + var i + + if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (i = len - 1; i >= 0; --i) { + target[i + targetStart] = this[i + start] + } + } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + // ascending copy from start + for (i = 0; i < len; ++i) { + target[i + targetStart] = this[i + start] + } + } else { + Uint8Array.prototype.set.call( + target, + this.subarray(start, start + len), + targetStart + ) + } + + return len +} + +// Usage: +// buffer.fill(number[, offset[, end]]) +// buffer.fill(buffer[, offset[, end]]) +// buffer.fill(string[, offset[, end]][, encoding]) +Buffer.prototype.fill = function fill (val, start, end, encoding) { + // Handle string cases: + if (typeof val === 'string') { + if (typeof start === 'string') { + encoding = start + start = 0 + end = this.length + } else if (typeof end === 'string') { + encoding = end + end = this.length + } + if (val.length === 1) { + var code = val.charCodeAt(0) + if (code < 256) { + val = code + } + } + if (encoding !== undefined && typeof encoding !== 'string') { + throw new TypeError('encoding must be a string') + } + if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) { + throw new TypeError('Unknown encoding: ' + encoding) + } + } else if (typeof val === 'number') { + val = val & 255 + } + + // Invalid ranges are not set to a default, so can range check early. + if (start < 0 || this.length < start || this.length < end) { + throw new RangeError('Out of range index') + } + + if (end <= start) { + return this + } + + start = start >>> 0 + end = end === undefined ? this.length : end >>> 0 + + if (!val) val = 0 + + var i + if (typeof val === 'number') { + for (i = start; i < end; ++i) { + this[i] = val + } + } else { + var bytes = Buffer.isBuffer(val) + ? val + : utf8ToBytes(new Buffer(val, encoding).toString()) + var len = bytes.length + for (i = 0; i < end - start; ++i) { + this[i + start] = bytes[i % len] + } + } + + return this +} + +// HELPER FUNCTIONS +// ================ + +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; ++i) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; ++i) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; ++i) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +function isnan (val) { + return val !== val // eslint-disable-line no-self-compare +} + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./node_modules/cookie/index.js": +/*!**************************************!*\ + !*** ./node_modules/cookie/index.js ***! + \**************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */ + + + +/** + * Module exports. + * @public + */ + +exports.parse = parse; +exports.serialize = serialize; + +/** + * Module variables. + * @private + */ + +var decode = decodeURIComponent; +var encode = encodeURIComponent; +var pairSplitRegExp = /; */; + +/** + * RegExp to match field-content in RFC 7230 sec 3.2 + * + * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ] + * field-vchar = VCHAR / obs-text + * obs-text = %x80-FF + */ + +var fieldContentRegExp = /^[\u0009\u0020-\u007e\u0080-\u00ff]+$/; + +/** + * Parse a cookie header. + * + * Parse the given cookie header string into an object + * The object has the various cookies as keys(names) => values + * + * @param {string} str + * @param {object} [options] + * @return {object} + * @public + */ + +function parse(str, options) { + if (typeof str !== 'string') { + throw new TypeError('argument str must be a string'); + } + + var obj = {} + var opt = options || {}; + var pairs = str.split(pairSplitRegExp); + var dec = opt.decode || decode; + + for (var i = 0; i < pairs.length; i++) { + var pair = pairs[i]; + var eq_idx = pair.indexOf('='); + + // skip things that don't look like key=value + if (eq_idx < 0) { + continue; + } + + var key = pair.substr(0, eq_idx).trim() + var val = pair.substr(++eq_idx, pair.length).trim(); + + // quoted values + if ('"' == val[0]) { + val = val.slice(1, -1); + } + + // only assign once + if (undefined == obj[key]) { + obj[key] = tryDecode(val, dec); + } + } + + return obj; +} + +/** + * Serialize data into a cookie header. + * + * Serialize the a name value pair into a cookie string suitable for + * http headers. An optional options object specified cookie parameters. + * + * serialize('foo', 'bar', { httpOnly: true }) + * => "foo=bar; httpOnly" + * + * @param {string} name + * @param {string} val + * @param {object} [options] + * @return {string} + * @public + */ + +function serialize(name, val, options) { + var opt = options || {}; + var enc = opt.encode || encode; + + if (typeof enc !== 'function') { + throw new TypeError('option encode is invalid'); + } + + if (!fieldContentRegExp.test(name)) { + throw new TypeError('argument name is invalid'); + } + + var value = enc(val); + + if (value && !fieldContentRegExp.test(value)) { + throw new TypeError('argument val is invalid'); + } + + var str = name + '=' + value; + + if (null != opt.maxAge) { + var maxAge = opt.maxAge - 0; + if (isNaN(maxAge)) throw new Error('maxAge should be a Number'); + str += '; Max-Age=' + Math.floor(maxAge); + } + + if (opt.domain) { + if (!fieldContentRegExp.test(opt.domain)) { + throw new TypeError('option domain is invalid'); + } + + str += '; Domain=' + opt.domain; + } + + if (opt.path) { + if (!fieldContentRegExp.test(opt.path)) { + throw new TypeError('option path is invalid'); + } + + str += '; Path=' + opt.path; + } + + if (opt.expires) { + if (typeof opt.expires.toUTCString !== 'function') { + throw new TypeError('option expires is invalid'); + } + + str += '; Expires=' + opt.expires.toUTCString(); + } + + if (opt.httpOnly) { + str += '; HttpOnly'; + } + + if (opt.secure) { + str += '; Secure'; + } + + if (opt.sameSite) { + var sameSite = typeof opt.sameSite === 'string' + ? opt.sameSite.toLowerCase() : opt.sameSite; + + switch (sameSite) { + case true: + str += '; SameSite=Strict'; + break; + case 'lax': + str += '; SameSite=Lax'; + break; + case 'strict': + str += '; SameSite=Strict'; + break; + case 'none': + str += '; SameSite=None'; + break; + default: + throw new TypeError('option sameSite is invalid'); + } + } + + return str; +} + +/** + * Try decoding a string using a decoding function. + * + * @param {string} str + * @param {function} decode + * @private + */ + +function tryDecode(str, decode) { + try { + return decode(str); + } catch (e) { + return str; + } +} + + +/***/ }), + +/***/ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js": +/*!***************************************************************!*\ + !*** ./node_modules/css-in-js-utils/lib/hyphenateProperty.js ***! + \***************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = hyphenateProperty; + +var _hyphenateStyleName = __webpack_require__(/*! hyphenate-style-name */ "./node_modules/hyphenate-style-name/index.js"); + +var _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function hyphenateProperty(property) { + return (0, _hyphenateStyleName2.default)(property); +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js": +/*!*************************************************************!*\ + !*** ./node_modules/css-in-js-utils/lib/isPrefixedValue.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isPrefixedValue; +var regex = /-webkit-|-moz-|-ms-/; + +function isPrefixedValue(value) { + return typeof value === 'string' && regex.test(value); +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/*!*************************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! + \*************************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".dash-callback-dag--container {\n border-radius: 4px;\n position: fixed;\n bottom: 165px;\n right: 16px;\n max-width: 80vw;\n max-height: calc(100vh - 180px);\n overflow: auto;\n box-sizing: border-box;\n background: #ffffff;\n display: inline-block;\n /* shadow-1 */\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\n 0px 2px 6px rgba(80, 103, 132, 0.12),\n 0px 0px 1px rgba(80, 103, 132, 0.32);\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css": +/*!***********************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css ***! + \***********************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".error-container {\n margin-top: 10px;\n}\n\n.dash-fe-errors {\n min-width: 386px;\n max-width: 650px;\n max-height: 450px;\n display: inline-block;\n}\n\n.dash-fe-error__icon-error {\n width: 20px;\n height: 20px;\n display: inline-block;\n margin-right: 16px;\n}\n.dash-fe-error__icon-close {\n width: 10px;\n height: 10px;\n position: absolute;\n right: 12px;\n top: 12px;\n display: inline-block;\n}\n.dash-fe-error__icon-arrow {\n width: 8px;\n height: 28px;\n margin: 0px 8px;\n}\n.dash-fe-error-top {\n height: 20px;\n display: flex;\n justify-content: space-between;\n width: 100%;\n cursor: pointer;\n}\n.dash-fe-error-top__group:first-child {\n /*\n * 77% is the maximum space allowed based off of the other elements\n * in the top part of the error container (timestamp & collapse arrow).\n * this was manually determined */\n width: 77%;\n}\n.dash-fe-error-top__group {\n display: inline-flex;\n align-items: center;\n}\n.dash-fe-error__title {\n text-align: left;\n margin: 0px;\n margin-left: 5px;\n padding: 0px;\n font-size: 14px;\n display: inline-block;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.dash-fe-error__timestamp {\n margin-right: 20px;\n}\n.dash-fe-error__collapse--flipped {\n -webkit-transform: rotate(180deg);\n -ms-transform: rotate(180deg);\n transform: rotate(180deg);\n}\n\n.dash-fe-error__info_title {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n padding: 10px;\n}\n\n.dash-fe-error__info {\n border: 1px solid #dfe8f3;\n margin: 0 0 1em 0;\n padding: 10px;\n\n background-color: white;\n border: 2px solid #dfe8f3;\n color: #506784;\n overflow: auto;\n white-space: pre-wrap;\n}\n\n.dash-fe-error__curved {\n border-radius: 4px;\n}\n\n.dash-fe-error__curved-top {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-width: 0px;\n}\n\n.dash-fe-error__curved-bottom {\n border-radius-bottom-left: 4px;\n border-radius-bottom-right: 4px;\n background-color: #FFEFEF;\n}\n\n.dash-be-error__st {\n background-color: #fdf3f4;\n min-width: 386px;\n max-width: 650px;\n /* iframe container handles the scrolling */\n overflow: hidden;\n display: inline-block;\n}\n\n.dash-be-error__str {\n background-color: #fdf3f4;\n min-width: 386px;\n max-width: 650px;\n overflow: auto;\n display: inline-block;\n white-space: pre-wrap;\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css": +/*!*******************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css ***! + \*******************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".dash-error-menu {\n max-width: 50%;\n max-height: 60%;\n display: contents;\n font-family: monospace;\n font-size: 14px;\n font-variant-ligatures: common-ligatures;\n}\n\n.dash-error-card {\n box-sizing: border-box;\n background: #ffffff;\n display: inline-block;\n /* shadow-1 */\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\n 0px 2px 6px rgba(80, 103, 132, 0.12),\n 0px 0px 1px rgba(80, 103, 132, 0.32);\n border-radius: 4px;\n position: fixed;\n top: 16px;\n right: 16px;\n animation: dash-error-card-animation 0.5s;\n padding: 24px;\n text-align: left;\n background-color: white;\n\n}\n.dash-error-card--alerts-tray {\n position: absolute;\n top: -300px;\n left: -1px;\n animation: none;\n box-shadow: none;\n border: 1px solid #ececec;\n border-bottom: 0;\n border-bottom-left-radius: 0px;\n border-bottom-right-radius: 0px;\n width: 422px;\n}\n.dash-error-card--container {\n padding: 10px 10px;\n width: 600px;\n max-width: 800px;\n max-height: calc(100vh - 50px);\n margin: 10px;\n overflow: auto;\n z-index: 1001; /* above the plotly.js toolbar */\n}\n\n.dash-error-card__topbar {\n width: 100%;\n height: 32px;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.dash-error-card__message {\n font-size: 14px;\n}\n\n.dash-error-card__message > strong {\n color: #ff4500;\n}\n\n.dash-error-card__content {\n box-sizing: border-box;\n padding: 10px 10px;\n background-color: white;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 2px;\n margin-bottom: 8px;\n}\n\n.dash-error-card__list-item {\n background: #ffffff;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 2px;\n padding: 10px 10px;\n margin-bottom: 10px;\n display: flex;\n align-items: center;\n}\n\n@keyframes dash-error-card-animation {\n from {\n opacity: 0;\n -webkit-transform: scale(1.1);\n -moz-transform: scale(1.1);\n -ms-transform: scale(1.1);\n transform: scale(1.1);\n }\n to {\n opacity: 1;\n -webkit-transform: scale(1);\n -moz-transform: scale(1);\n -ms-transform: scale(1);\n transform: scale(1);\n }\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css": +/*!******************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css ***! + \******************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".percy-show {\n display: none;\n}\n\n@media only percy {\n .percy-hide {\n display: none;\n }\n .percy-show {\n display: block;\n }\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css": +/*!*************************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css ***! + \*************************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".dash-debug-alert-container {\n box-sizing: border-box;\n background: #f3f6fa;\n border-radius: 2px;\n padding: 8px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n transition: background-color 0.1s, border 0.1s;\n}\n.dash-debug-alert-container:hover {\n cursor: pointer;\n}\n.dash-debug-alert-container--opened {\n background-color: #119dff;\n color: white;\n}\n.dash-debug-alert-container__icon {\n width: 12px;\n height: 12px;\n margin-right: 4px;\n}\n.dash-debug-alert-container__icon--warning {\n height: auto;\n}\n\n.dash-debug-alert {\n display: flex;\n align-items: center;\n font-size: 10px;\n}\n\n.dash-debug-alert-label {\n display: flex;\n position: fixed;\n bottom: 81px;\n right: 29px;\n z-index: 10001;\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 32px;\n background-color: white;\n padding: 4px;\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css": +/*!***************************************************************************************!*\ + !*** ./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css ***! + \***************************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +// Imports +var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); +exports = ___CSS_LOADER_API_IMPORT___(false); +// Module +exports.push([module.i, ".dash-debug-menu {\n transition: width 0.05s, background-color 0.1s;\n position: fixed;\n bottom: 35px;\n right: 35px;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 10000;\n}\n.dash-debug-menu--closed {\n background-color: #119dff;\n border-radius: 100%;\n width: 64px;\n height: 64px;\n}\n.dash-debug-menu--opened {\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\n 0px 1px 3px rgba(162, 177, 198, 0.32);\n border-radius: 4px;\n padding: 12px 0px;\n background-color: white;\n}\n\n.dash-debug-menu--closed:hover {\n cursor: pointer;\n background-color: #108de4;\n}\n\n.dash-debug-menu__icon {\n width: 24px;\n height: 28px;\n}\n.dash-debug-menu__icon--close {\n width: 14px;\n height: 14px;\n}\n.dash-debug-menu__icon--bell {\n height: 24px;\n width: 28px;\n}\n.dash-debug-menu__icon--debug {\n height: 24px;\n width: auto;\n}\n.dash-debug-menu__icon--graph {\n height: 24px;\n}\n\n.dash-debug-menu__content {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n.dash-debug-menu__button-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 74px;\n margin-left: 10px;\n}\n.dash-debug-menu__button-label {\n color: #A2B1C6;\n font-size: 10px;\n margin-top: 4px;\n}\n\n.dash-debug-menu__button {\n background-color: white;\n border-radius: 100%;\n border: 1px solid #B9C2CE;\n width: 64px;\n height: 64px;\n font-size: 10px;\n display: flex;\n justify-content: center;\n align-items: center;\n transition: background-color 0.2s;\n color: black;\n}\n.dash-debug-menu__button--enabled {\n background-color: #00CC96;\n color: white;\n}\n.dash-debug-menu__button--small {\n width: 32px;\n height: 32px;\n background-color: #B9C2CE;\n}\n.dash-debug-menu__button:hover {\n cursor: pointer;\n background-color: #f5f5f5;\n}\n.dash-debug-menu__button--small:hover {\n background-color: #a1a9b5;\n}\n\n.dash-debug-menu__button--enabled:hover {\n background-color: #03bb8a;\n}\n", ""]); +// Exports +module.exports = exports; + + +/***/ }), + +/***/ "./node_modules/css-loader/dist/runtime/api.js": +/*!*****************************************************!*\ + !*** ./node_modules/css-loader/dist/runtime/api.js ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/* + MIT License http://www.opensource.org/licenses/mit-license.php + Author Tobias Koppers @sokra +*/ +// css base code, injected by the css-loader +// eslint-disable-next-line func-names +module.exports = function (useSourceMap) { + var list = []; // return the list of modules as css string + + list.toString = function toString() { + return this.map(function (item) { + var content = cssWithMappingToString(item, useSourceMap); + + if (item[2]) { + return "@media ".concat(item[2], " {").concat(content, "}"); + } + + return content; + }).join(''); + }; // import a list of modules into the list + // eslint-disable-next-line func-names + + + list.i = function (modules, mediaQuery, dedupe) { + if (typeof modules === 'string') { + // eslint-disable-next-line no-param-reassign + modules = [[null, modules, '']]; + } + + var alreadyImportedModules = {}; + + if (dedupe) { + for (var i = 0; i < this.length; i++) { + // eslint-disable-next-line prefer-destructuring + var id = this[i][0]; + + if (id != null) { + alreadyImportedModules[id] = true; + } + } + } + + for (var _i = 0; _i < modules.length; _i++) { + var item = [].concat(modules[_i]); + + if (dedupe && alreadyImportedModules[item[0]]) { + // eslint-disable-next-line no-continue + continue; + } + + if (mediaQuery) { + if (!item[2]) { + item[2] = mediaQuery; + } else { + item[2] = "".concat(mediaQuery, " and ").concat(item[2]); + } + } + + list.push(item); + } + }; + + return list; +}; + +function cssWithMappingToString(item, useSourceMap) { + var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring + + var cssMapping = item[3]; + + if (!cssMapping) { + return content; + } + + if (useSourceMap && typeof btoa === 'function') { + var sourceMapping = toComment(cssMapping); + var sourceURLs = cssMapping.sources.map(function (source) { + return "/*# sourceURL=".concat(cssMapping.sourceRoot || '').concat(source, " */"); + }); + return [content].concat(sourceURLs).concat([sourceMapping]).join('\n'); + } + + return [content].join('\n'); +} // Adapted from convert-source-map (MIT) + + +function toComment(sourceMap) { + // eslint-disable-next-line no-undef + var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))); + var data = "sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(base64); + return "/*# ".concat(data, " */"); +} + +/***/ }), + +/***/ "./node_modules/dependency-graph/lib/dep_graph.js": +/*!********************************************************!*\ + !*** ./node_modules/dependency-graph/lib/dep_graph.js ***! + \********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +/** + * A simple dependency graph + */ + +/** + * Helper for creating a Topological Sort using Depth-First-Search on a set of edges. + * + * Detects cycles and throws an Error if one is detected (unless the "circular" + * parameter is "true" in which case it ignores them). + * + * @param edges The set of edges to DFS through + * @param leavesOnly Whether to only return "leaf" nodes (ones who have no edges) + * @param result An array in which the results will be populated + * @param circular A boolean to allow circular dependencies + */ +function createDFS(edges, leavesOnly, result, circular) { + var visited = {}; + return function(start) { + if (visited[start]) { + return; + } + var inCurrentPath = {}; + var currentPath = []; + var todo = []; // used as a stack + todo.push({ node: start, processed: false }); + while (todo.length > 0) { + var current = todo[todo.length - 1]; // peek at the todo stack + var processed = current.processed; + var node = current.node; + if (!processed) { + // Haven't visited edges yet (visiting phase) + if (visited[node]) { + todo.pop(); + continue; + } else if (inCurrentPath[node]) { + // It's not a DAG + if (circular) { + todo.pop(); + // If we're tolerating cycles, don't revisit the node + continue; + } + currentPath.push(node); + throw new DepGraphCycleError(currentPath); + } + + inCurrentPath[node] = true; + currentPath.push(node); + var nodeEdges = edges[node]; + // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation) + for (var i = nodeEdges.length - 1; i >= 0; i--) { + todo.push({ node: nodeEdges[i], processed: false }); + } + current.processed = true; + } else { + // Have visited edges (stack unrolling phase) + todo.pop(); + currentPath.pop(); + inCurrentPath[node] = false; + visited[node] = true; + if (!leavesOnly || edges[node].length === 0) { + result.push(node); + } + } + } + }; +} + +/** + * Simple Dependency Graph + */ +var DepGraph = (exports.DepGraph = function DepGraph(opts) { + this.nodes = {}; // Node -> Node/Data (treated like a Set) + this.outgoingEdges = {}; // Node -> [Dependency Node] + this.incomingEdges = {}; // Node -> [Dependant Node] + this.circular = opts && !!opts.circular; // Allows circular deps +}); +DepGraph.prototype = { + /** + * The number of nodes in the graph. + */ + size: function() { + return Object.keys(this.nodes).length; + }, + /** + * Add a node to the dependency graph. If a node already exists, this method will do nothing. + */ + addNode: function(node, data) { + if (!this.hasNode(node)) { + // Checking the arguments length allows the user to add a node with undefined data + if (arguments.length === 2) { + this.nodes[node] = data; + } else { + this.nodes[node] = node; + } + this.outgoingEdges[node] = []; + this.incomingEdges[node] = []; + } + }, + /** + * Remove a node from the dependency graph. If a node does not exist, this method will do nothing. + */ + removeNode: function(node) { + if (this.hasNode(node)) { + delete this.nodes[node]; + delete this.outgoingEdges[node]; + delete this.incomingEdges[node]; + [this.incomingEdges, this.outgoingEdges].forEach(function(edgeList) { + Object.keys(edgeList).forEach(function(key) { + var idx = edgeList[key].indexOf(node); + if (idx >= 0) { + edgeList[key].splice(idx, 1); + } + }, this); + }); + } + }, + /** + * Check if a node exists in the graph + */ + hasNode: function(node) { + return this.nodes.hasOwnProperty(node); + }, + /** + * Get the data associated with a node name + */ + getNodeData: function(node) { + if (this.hasNode(node)) { + return this.nodes[node]; + } else { + throw new Error("Node does not exist: " + node); + } + }, + /** + * Set the associated data for a given node name. If the node does not exist, this method will throw an error + */ + setNodeData: function(node, data) { + if (this.hasNode(node)) { + this.nodes[node] = data; + } else { + throw new Error("Node does not exist: " + node); + } + }, + /** + * Add a dependency between two nodes. If either of the nodes does not exist, + * an Error will be thrown. + */ + addDependency: function(from, to) { + if (!this.hasNode(from)) { + throw new Error("Node does not exist: " + from); + } + if (!this.hasNode(to)) { + throw new Error("Node does not exist: " + to); + } + if (this.outgoingEdges[from].indexOf(to) === -1) { + this.outgoingEdges[from].push(to); + } + if (this.incomingEdges[to].indexOf(from) === -1) { + this.incomingEdges[to].push(from); + } + return true; + }, + /** + * Remove a dependency between two nodes. + */ + removeDependency: function(from, to) { + var idx; + if (this.hasNode(from)) { + idx = this.outgoingEdges[from].indexOf(to); + if (idx >= 0) { + this.outgoingEdges[from].splice(idx, 1); + } + } + + if (this.hasNode(to)) { + idx = this.incomingEdges[to].indexOf(from); + if (idx >= 0) { + this.incomingEdges[to].splice(idx, 1); + } + } + }, + /** + * Return a clone of the dependency graph. If any custom data is attached + * to the nodes, it will only be shallow copied. + */ + clone: function() { + var source = this; + var result = new DepGraph(); + var keys = Object.keys(source.nodes); + keys.forEach(function(n) { + result.nodes[n] = source.nodes[n]; + result.outgoingEdges[n] = source.outgoingEdges[n].slice(0); + result.incomingEdges[n] = source.incomingEdges[n].slice(0); + }); + return result; + }, + /** + * Get an array containing the nodes that the specified node depends on (transitively). + * + * Throws an Error if the graph has a cycle, or the specified node does not exist. + * + * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned + * in the array. + */ + dependenciesOf: function(node, leavesOnly) { + if (this.hasNode(node)) { + var result = []; + var DFS = createDFS( + this.outgoingEdges, + leavesOnly, + result, + this.circular + ); + DFS(node); + var idx = result.indexOf(node); + if (idx >= 0) { + result.splice(idx, 1); + } + return result; + } else { + throw new Error("Node does not exist: " + node); + } + }, + /** + * get an array containing the nodes that depend on the specified node (transitively). + * + * Throws an Error if the graph has a cycle, or the specified node does not exist. + * + * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array. + */ + dependantsOf: function(node, leavesOnly) { + if (this.hasNode(node)) { + var result = []; + var DFS = createDFS( + this.incomingEdges, + leavesOnly, + result, + this.circular + ); + DFS(node); + var idx = result.indexOf(node); + if (idx >= 0) { + result.splice(idx, 1); + } + return result; + } else { + throw new Error("Node does not exist: " + node); + } + }, + /** + * Construct the overall processing order for the dependency graph. + * + * Throws an Error if the graph has a cycle. + * + * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned. + */ + overallOrder: function(leavesOnly) { + var self = this; + var result = []; + var keys = Object.keys(this.nodes); + if (keys.length === 0) { + return result; // Empty graph + } else { + if (!this.circular) { + // Look for cycles - we run the DFS starting at all the nodes in case there + // are several disconnected subgraphs inside this dependency graph. + var CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular); + keys.forEach(function(n) { + CycleDFS(n); + }); + } + + var DFS = createDFS( + this.outgoingEdges, + leavesOnly, + result, + this.circular + ); + // Find all potential starting points (nodes with nothing depending on them) an + // run a DFS starting at these points to get the order + keys + .filter(function(node) { + return self.incomingEdges[node].length === 0; + }) + .forEach(function(n) { + DFS(n); + }); + + // If we're allowing cycles - we need to run the DFS against any remaining + // nodes that did not end up in the initial result (as they are part of a + // subgraph that does not have a clear starting point) + if (this.circular) { + keys + .filter(function(node) { + return result.indexOf(node) === -1; + }) + .forEach(function(n) { + DFS(n); + }); + } + + return result; + } + } +}; + +/** + * Cycle error, including the path of the cycle. + */ +var DepGraphCycleError = (exports.DepGraphCycleError = function(cyclePath) { + var message = "Dependency Cycle Found: " + cyclePath.join(" -> "); + var instance = new Error(message); + instance.cyclePath = cyclePath; + Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); + if (Error.captureStackTrace) { + Error.captureStackTrace(instance, DepGraphCycleError); + } + return instance; +}); +DepGraphCycleError.prototype = Object.create(Error.prototype, { + constructor: { + value: Error, + enumerable: false, + writable: true, + configurable: true + } +}); +Object.setPrototypeOf(DepGraphCycleError, Error); + + +/***/ }), + +/***/ "./node_modules/exenv/index.js": +/*!*************************************!*\ + !*** ./node_modules/exenv/index.js ***! + \*************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +/* global define */ + +(function () { + 'use strict'; + + var canUseDOM = !!( + typeof window !== 'undefined' && + window.document && + window.document.createElement + ); + + var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: + canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen + + }; + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return ExecutionEnvironment; + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} + +}()); + + +/***/ }), + +/***/ "./node_modules/fast-isnumeric/index.js": +/*!**********************************************!*\ + !*** ./node_modules/fast-isnumeric/index.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * inspired by is-number <https://github.com/jonschlinkert/is-number> + * but significantly simplified and sped up by ignoring number and string constructors + * ie these return false: + * new Number(1) + * new String('1') + */ + + + +var allBlankCharCodes = __webpack_require__(/*! is-string-blank */ "./node_modules/is-string-blank/index.js"); + +module.exports = function(n) { + var type = typeof n; + if(type === 'string') { + var original = n; + n = +n; + // whitespace strings cast to zero - filter them out + if(n===0 && allBlankCharCodes(original)) return false; + } + else if(type !== 'number') return false; + + return n - n < 1; +}; + + +/***/ }), + +/***/ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js": +/*!**********************************************************************************!*\ + !*** ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js ***! + \**********************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Copyright 2015, Yahoo! Inc. + * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. + */ +var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); +var REACT_STATICS = { + childContextTypes: true, + contextType: true, + contextTypes: true, + defaultProps: true, + displayName: true, + getDefaultProps: true, + getDerivedStateFromError: true, + getDerivedStateFromProps: true, + mixins: true, + propTypes: true, + type: true +}; + +var KNOWN_STATICS = { + name: true, + length: true, + prototype: true, + caller: true, + callee: true, + arguments: true, + arity: true +}; + +var FORWARD_REF_STATICS = { + '$$typeof': true, + render: true, + defaultProps: true, + displayName: true, + propTypes: true +}; + +var MEMO_STATICS = { + '$$typeof': true, + compare: true, + defaultProps: true, + displayName: true, + propTypes: true, + type: true +}; + +var TYPE_STATICS = {}; +TYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS; + +function getStatics(component) { + if (ReactIs.isMemo(component)) { + return MEMO_STATICS; + } + return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; +} + +var defineProperty = Object.defineProperty; +var getOwnPropertyNames = Object.getOwnPropertyNames; +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +var getPrototypeOf = Object.getPrototypeOf; +var objectPrototype = Object.prototype; + +function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { + if (typeof sourceComponent !== 'string') { + // don't hoist over string (html) components + + if (objectPrototype) { + var inheritedComponent = getPrototypeOf(sourceComponent); + if (inheritedComponent && inheritedComponent !== objectPrototype) { + hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); + } + } + + var keys = getOwnPropertyNames(sourceComponent); + + if (getOwnPropertySymbols) { + keys = keys.concat(getOwnPropertySymbols(sourceComponent)); + } + + var targetStatics = getStatics(targetComponent); + var sourceStatics = getStatics(sourceComponent); + + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { + var descriptor = getOwnPropertyDescriptor(sourceComponent, key); + try { + // Avoid failures from read-only properties + defineProperty(targetComponent, key, descriptor); + } catch (e) {} + } + } + + return targetComponent; + } + + return targetComponent; +} + +module.exports = hoistNonReactStatics; + + +/***/ }), + +/***/ "./node_modules/hyphenate-style-name/index.js": +/*!****************************************************!*\ + !*** ./node_modules/hyphenate-style-name/index.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* eslint-disable no-var, prefer-template */ +var uppercasePattern = /[A-Z]/g +var msPattern = /^ms-/ +var cache = {} + +function toHyphenLower(match) { + return '-' + match.toLowerCase() +} + +function hyphenateStyleName(name) { + if (cache.hasOwnProperty(name)) { + return cache[name] + } + + var hName = name.replace(uppercasePattern, toHyphenLower) + return (cache[name] = msPattern.test(hName) ? '-' + hName : hName) +} + +/* harmony default export */ __webpack_exports__["default"] = (hyphenateStyleName); + + +/***/ }), + +/***/ "./node_modules/ieee754/index.js": +/*!***************************************!*\ + !*** ./node_modules/ieee754/index.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = (nBytes * 8) - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = ((value * c) - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/createPrefixer.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/createPrefixer.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +exports.default = createPrefixer; + +var _getBrowserInformation = __webpack_require__(/*! ../utils/getBrowserInformation */ "./node_modules/inline-style-prefixer/utils/getBrowserInformation.js"); + +var _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation); + +var _getPrefixedKeyframes = __webpack_require__(/*! ../utils/getPrefixedKeyframes */ "./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js"); + +var _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes); + +var _capitalizeString = __webpack_require__(/*! ../utils/capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); + +var _capitalizeString2 = _interopRequireDefault(_capitalizeString); + +var _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js"); + +var _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly); + +var _isObject = __webpack_require__(/*! ../utils/isObject */ "./node_modules/inline-style-prefixer/utils/isObject.js"); + +var _isObject2 = _interopRequireDefault(_isObject); + +var _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ "./node_modules/inline-style-prefixer/utils/prefixValue.js"); + +var _prefixValue2 = _interopRequireDefault(_prefixValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function createPrefixer(_ref) { + var prefixMap = _ref.prefixMap, + plugins = _ref.plugins; + var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) { + return style; + }; + + return function () { + /** + * Instantiante a new prefixer + * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com + * @param {string} keepUnprefixed - keeps unprefixed properties and values + */ + function Prefixer() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + _classCallCheck(this, Prefixer); + + var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined; + + this._userAgent = options.userAgent || defaultUserAgent; + this._keepUnprefixed = options.keepUnprefixed || false; + + if (this._userAgent) { + this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent); + } + + // Checks if the userAgent was resolved correctly + if (this._browserInfo && this._browserInfo.cssPrefix) { + this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix); + } else { + this._useFallback = true; + return false; + } + + var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName]; + if (prefixData) { + this._requiresPrefix = {}; + + for (var property in prefixData) { + if (prefixData[property] >= this._browserInfo.browserVersion) { + this._requiresPrefix[property] = true; + } + } + + this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0; + } else { + this._useFallback = true; + } + + this._metaData = { + browserVersion: this._browserInfo.browserVersion, + browserName: this._browserInfo.browserName, + cssPrefix: this._browserInfo.cssPrefix, + jsPrefix: this._browserInfo.jsPrefix, + keepUnprefixed: this._keepUnprefixed, + requiresPrefix: this._requiresPrefix + }; + } + + _createClass(Prefixer, [{ + key: 'prefix', + value: function prefix(style) { + // use static prefixer as fallback if userAgent can not be resolved + if (this._useFallback) { + return fallback(style); + } + + // only add prefixes if needed + if (!this._hasPropsRequiringPrefix) { + return style; + } + + return this._prefixStyle(style); + } + }, { + key: '_prefixStyle', + value: function _prefixStyle(style) { + for (var property in style) { + var value = style[property]; + + // handle nested objects + if ((0, _isObject2.default)(value)) { + style[property] = this.prefix(value); + // handle array values + } else if (Array.isArray(value)) { + var combinedValue = []; + + for (var i = 0, len = value.length; i < len; ++i) { + var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData); + (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]); + } + + // only modify the value if it was touched + // by any plugin to prevent unnecessary mutations + if (combinedValue.length > 0) { + style[property] = combinedValue; + } + } else { + var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData); + + // only modify the value if it was touched + // by any plugin to prevent unnecessary mutations + if (_processedValue) { + style[property] = _processedValue; + } + + // add prefixes to properties + if (this._requiresPrefix.hasOwnProperty(property)) { + style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value; + if (!this._keepUnprefixed) { + delete style[property]; + } + } + } + } + + return style; + } + + /** + * Returns a prefixed version of the style object using all vendor prefixes + * @param {Object} styles - Style object that gets prefixed properties added + * @returns {Object} - Style object with prefixed properties and values + */ + + }], [{ + key: 'prefixAll', + value: function prefixAll(styles) { + return fallback(styles); + } + }]); + + return Prefixer; + }(); +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/calc.js": +/*!********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/calc.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = calc; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function calc(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) { + return (0, _getPrefixedValue2.default)(value.replace(/calc\(/g, cssPrefix + 'calc('), value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js": +/*!*************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = crossFade; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function crossFade(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) { + return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cursor; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var grabValues = { + grab: true, + grabbing: true +}; + + +var zoomValues = { + 'zoom-in': true, + 'zoom-out': true +}; + +function cursor(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + // adds prefixes for firefox, chrome, safari, and opera regardless of + // version until a reliable browser support info can be found + // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79 + if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) { + return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); + } + + if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) { + return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/filter.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/filter.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = filter; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function filter(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) { + return (0, _getPrefixedValue2.default)(value.replace(/filter\(/g, cssPrefix + 'filter('), value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flex.js": +/*!********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flex.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flex; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var values = { + flex: true, + 'inline-flex': true +}; +function flex(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) { + return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js": +/*!*************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flexboxIE; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var alternativeValues = { + 'space-around': 'distribute', + 'space-between': 'justify', + 'flex-start': 'start', + 'flex-end': 'end', + flex: 'flexbox', + 'inline-flex': 'inline-flexbox' +}; + +var alternativeProps = { + alignContent: 'msFlexLinePack', + alignSelf: 'msFlexItemAlign', + alignItems: 'msFlexAlign', + justifyContent: 'msFlexPack', + order: 'msFlexOrder', + flexGrow: 'msFlexPositive', + flexShrink: 'msFlexNegative', + flexBasis: 'msFlexPreferredSize' +}; + +function flexboxIE(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed, + requiresPrefix = _ref.requiresPrefix; + + if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) { + delete requiresPrefix[property]; + + if (!keepUnprefixed && !Array.isArray(style[property])) { + delete style[property]; + } + if (property === 'display' && alternativeValues.hasOwnProperty(value)) { + return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed); + } + if (alternativeProps.hasOwnProperty(property)) { + style[alternativeProps[property]] = alternativeValues[value] || value; + } + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js": +/*!**************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flexboxOld; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var alternativeValues = { + 'space-around': 'justify', + 'space-between': 'justify', + 'flex-start': 'start', + 'flex-end': 'end', + 'wrap-reverse': 'multiple', + wrap: 'multiple', + flex: 'box', + 'inline-flex': 'inline-box' +}; + + +var alternativeProps = { + alignItems: 'WebkitBoxAlign', + justifyContent: 'WebkitBoxPack', + flexWrap: 'WebkitBoxLines', + flexGrow: 'WebkitBoxFlex' +}; + +var otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection']; +var properties = Object.keys(alternativeProps).concat(otherProps); + +function flexboxOld(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed, + requiresPrefix = _ref.requiresPrefix; + + if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) { + delete requiresPrefix[property]; + + if (!keepUnprefixed && !Array.isArray(style[property])) { + delete style[property]; + } + if (property === 'flexDirection' && typeof value === 'string') { + if (value.indexOf('column') > -1) { + style.WebkitBoxOrient = 'vertical'; + } else { + style.WebkitBoxOrient = 'horizontal'; + } + if (value.indexOf('reverse') > -1) { + style.WebkitBoxDirection = 'reverse'; + } else { + style.WebkitBoxDirection = 'normal'; + } + } + if (property === 'display' && alternativeValues.hasOwnProperty(value)) { + return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed); + } + if (alternativeProps.hasOwnProperty(property)) { + style[alternativeProps[property]] = alternativeValues[value] || value; + } + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js": +/*!************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = gradient; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi; +function gradient(property, value, style, _ref) { + var browserName = _ref.browserName, + browserVersion = _ref.browserVersion, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) { + return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) { + return cssPrefix + grad; + }), value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js": +/*!************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = imageSet; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function imageSet(property, value, style, _ref) { + var browserName = _ref.browserName, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) { + return (0, _getPrefixedValue2.default)(value.replace(/image-set\(/g, cssPrefix + 'image-set('), value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/position.js": +/*!************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/position.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = position; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function position(property, value, style, _ref) { + var browserName = _ref.browserName, + cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) { + return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = sizing; + +var _getPrefixedValue = __webpack_require__(/*! ../../utils/getPrefixedValue */ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js"); + +var _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var properties = { + maxHeight: true, + maxWidth: true, + width: true, + height: true, + columnWidth: true, + minWidth: true, + minHeight: true +}; + +var values = { + 'min-content': true, + 'max-content': true, + 'fill-available': true, + 'fit-content': true, + 'contain-floats': true + + // TODO: chrome & opera support it +};function sizing(property, value, style, _ref) { + var cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed; + + // This might change in the future + // Keep an eye on it + if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) { + return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/dynamic/plugins/transition.js": +/*!**************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/dynamic/plugins/transition.js ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = transition; + +var _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js"); + +var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var properties = { + transition: true, + transitionProperty: true, + WebkitTransition: true, + WebkitTransitionProperty: true, + MozTransition: true, + MozTransitionProperty: true +}; + + +var requiresPrefixDashCased = void 0; + +function transition(property, value, style, _ref) { + var cssPrefix = _ref.cssPrefix, + keepUnprefixed = _ref.keepUnprefixed, + requiresPrefix = _ref.requiresPrefix; + + if (typeof value === 'string' && properties.hasOwnProperty(property)) { + // memoize the prefix array for later use + if (!requiresPrefixDashCased) { + requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) { + return (0, _hyphenateProperty2.default)(prop); + }); + } + + // only split multi values, not cubic beziers + var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); + + requiresPrefixDashCased.forEach(function (prop) { + multipleValues.forEach(function (val, index) { + if (val.indexOf(prop) > -1 && prop !== 'order') { + multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : ''); + } + }); + }); + + return multipleValues.join(','); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/createPrefixer.js": +/*!*********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/createPrefixer.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = createPrefixer; + +var _prefixProperty = __webpack_require__(/*! ../utils/prefixProperty */ "./node_modules/inline-style-prefixer/utils/prefixProperty.js"); + +var _prefixProperty2 = _interopRequireDefault(_prefixProperty); + +var _prefixValue = __webpack_require__(/*! ../utils/prefixValue */ "./node_modules/inline-style-prefixer/utils/prefixValue.js"); + +var _prefixValue2 = _interopRequireDefault(_prefixValue); + +var _addNewValuesOnly = __webpack_require__(/*! ../utils/addNewValuesOnly */ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js"); + +var _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly); + +var _isObject = __webpack_require__(/*! ../utils/isObject */ "./node_modules/inline-style-prefixer/utils/isObject.js"); + +var _isObject2 = _interopRequireDefault(_isObject); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function createPrefixer(_ref) { + var prefixMap = _ref.prefixMap, + plugins = _ref.plugins; + + function prefixAll(style) { + for (var property in style) { + var value = style[property]; + + // handle nested objects + if ((0, _isObject2.default)(value)) { + style[property] = prefixAll(value); + // handle array values + } else if (Array.isArray(value)) { + var combinedValue = []; + + for (var i = 0, len = value.length; i < len; ++i) { + var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap); + (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]); + } + + // only modify the value if it was touched + // by any plugin to prevent unnecessary mutations + if (combinedValue.length > 0) { + style[property] = combinedValue; + } + } else { + var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap); + + // only modify the value if it was touched + // by any plugin to prevent unnecessary mutations + if (_processedValue) { + style[property] = _processedValue; + } + + style = (0, _prefixProperty2.default)(prefixMap, property, style); + } + } + + return style; + } + + return prefixAll; +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/calc.js": +/*!*******************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/calc.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = calc; + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var prefixes = ['-webkit-', '-moz-', '']; +function calc(property, value) { + if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) { + return prefixes.map(function (prefix) { + return value.replace(/calc\(/g, prefix + 'calc('); + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/crossFade.js": +/*!************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/crossFade.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = crossFade; + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// http://caniuse.com/#search=cross-fade +var prefixes = ['-webkit-', '']; +function crossFade(property, value) { + if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) { + return prefixes.map(function (prefix) { + return value.replace(/cross-fade\(/g, prefix + 'cross-fade('); + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/cursor.js": +/*!*********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/cursor.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = cursor; +var prefixes = ['-webkit-', '-moz-', '']; + +var values = { + 'zoom-in': true, + 'zoom-out': true, + grab: true, + grabbing: true +}; + +function cursor(property, value) { + if (property === 'cursor' && values.hasOwnProperty(value)) { + return prefixes.map(function (prefix) { + return prefix + value; + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/filter.js": +/*!*********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/filter.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = filter; + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// http://caniuse.com/#feat=css-filter-function +var prefixes = ['-webkit-', '']; +function filter(property, value) { + if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) { + return prefixes.map(function (prefix) { + return value.replace(/filter\(/g, prefix + 'filter('); + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/flex.js": +/*!*******************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/flex.js ***! + \*******************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flex; +var values = { + flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'], + 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex'] +}; + +function flex(property, value) { + if (property === 'display' && values.hasOwnProperty(value)) { + return values[value]; + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js": +/*!************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js ***! + \************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flexboxIE; +var alternativeValues = { + 'space-around': 'distribute', + 'space-between': 'justify', + 'flex-start': 'start', + 'flex-end': 'end' +}; +var alternativeProps = { + alignContent: 'msFlexLinePack', + alignSelf: 'msFlexItemAlign', + alignItems: 'msFlexAlign', + justifyContent: 'msFlexPack', + order: 'msFlexOrder', + flexGrow: 'msFlexPositive', + flexShrink: 'msFlexNegative', + flexBasis: 'msFlexPreferredSize' +}; + +function flexboxIE(property, value, style) { + if (alternativeProps.hasOwnProperty(property)) { + style[alternativeProps[property]] = alternativeValues[value] || value; + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js": +/*!*************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = flexboxOld; +var alternativeValues = { + 'space-around': 'justify', + 'space-between': 'justify', + 'flex-start': 'start', + 'flex-end': 'end', + 'wrap-reverse': 'multiple', + wrap: 'multiple', + flex: 'box', + 'inline-flex': 'inline-box' +}; + +var alternativeProps = { + alignItems: 'WebkitBoxAlign', + justifyContent: 'WebkitBoxPack', + flexWrap: 'WebkitBoxLines', + flexGrow: 'WebkitBoxFlex' +}; + +function flexboxOld(property, value, style) { + if (property === 'flexDirection' && typeof value === 'string') { + if (value.indexOf('column') > -1) { + style.WebkitBoxOrient = 'vertical'; + } else { + style.WebkitBoxOrient = 'horizontal'; + } + if (value.indexOf('reverse') > -1) { + style.WebkitBoxDirection = 'reverse'; + } else { + style.WebkitBoxDirection = 'normal'; + } + } + if (alternativeProps.hasOwnProperty(property)) { + style[alternativeProps[property]] = alternativeValues[value] || value; + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/gradient.js": +/*!***********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/gradient.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = gradient; + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var prefixes = ['-webkit-', '-moz-', '']; + +var values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi; + +function gradient(property, value) { + if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) { + return prefixes.map(function (prefix) { + return value.replace(values, function (grad) { + return prefix + grad; + }); + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/imageSet.js": +/*!***********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/imageSet.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = imageSet; + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// http://caniuse.com/#feat=css-image-set +var prefixes = ['-webkit-', '']; +function imageSet(property, value) { + if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) { + return prefixes.map(function (prefix) { + return value.replace(/image-set\(/g, prefix + 'image-set('); + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/position.js": +/*!***********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/position.js ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = position; +function position(property, value) { + if (property === 'position' && value === 'sticky') { + return ['-webkit-sticky', 'sticky']; + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/sizing.js": +/*!*********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/sizing.js ***! + \*********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = sizing; +var prefixes = ['-webkit-', '-moz-', '']; + +var properties = { + maxHeight: true, + maxWidth: true, + width: true, + height: true, + columnWidth: true, + minWidth: true, + minHeight: true +}; +var values = { + 'min-content': true, + 'max-content': true, + 'fill-available': true, + 'fit-content': true, + 'contain-floats': true +}; + +function sizing(property, value) { + if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) { + return prefixes.map(function (prefix) { + return prefix + value; + }); + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/static/plugins/transition.js": +/*!*************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/static/plugins/transition.js ***! + \*************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = transition; + +var _hyphenateProperty = __webpack_require__(/*! css-in-js-utils/lib/hyphenateProperty */ "./node_modules/css-in-js-utils/lib/hyphenateProperty.js"); + +var _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty); + +var _isPrefixedValue = __webpack_require__(/*! css-in-js-utils/lib/isPrefixedValue */ "./node_modules/css-in-js-utils/lib/isPrefixedValue.js"); + +var _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue); + +var _capitalizeString = __webpack_require__(/*! ../../utils/capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); + +var _capitalizeString2 = _interopRequireDefault(_capitalizeString); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var properties = { + transition: true, + transitionProperty: true, + WebkitTransition: true, + WebkitTransitionProperty: true, + MozTransition: true, + MozTransitionProperty: true +}; + + +var prefixMapping = { + Webkit: '-webkit-', + Moz: '-moz-', + ms: '-ms-' +}; + +function prefixValue(value, propertyPrefixMap) { + if ((0, _isPrefixedValue2.default)(value)) { + return value; + } + + // only split multi values, not cubic beziers + var multipleValues = value.split(/,(?![^()]*(?:\([^()]*\))?\))/g); + + for (var i = 0, len = multipleValues.length; i < len; ++i) { + var singleValue = multipleValues[i]; + var values = [singleValue]; + for (var property in propertyPrefixMap) { + var dashCaseProperty = (0, _hyphenateProperty2.default)(property); + + if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') { + var prefixes = propertyPrefixMap[property]; + for (var j = 0, pLen = prefixes.length; j < pLen; ++j) { + // join all prefixes and create a new value + values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty)); + } + } + } + + multipleValues[i] = values.join(','); + } + + return multipleValues.join(','); +} + +function transition(property, value, style, propertyPrefixMap) { + // also check for already prefixed transitions + if (typeof value === 'string' && properties.hasOwnProperty(property)) { + var outputValue = prefixValue(value, propertyPrefixMap); + // if the property is already prefixed + var webkitOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function (val) { + return !/-moz-|-ms-/.test(val); + }).join(','); + + if (property.indexOf('Webkit') > -1) { + return webkitOutput; + } + + var mozOutput = outputValue.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter(function (val) { + return !/-webkit-|-ms-/.test(val); + }).join(','); + + if (property.indexOf('Moz') > -1) { + return mozOutput; + } + + style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput; + style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput; + return outputValue; + } +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = addNewValuesOnly; +function addIfNew(list, value) { + if (list.indexOf(value) === -1) { + list.push(value); + } +} + +function addNewValuesOnly(list, values) { + if (Array.isArray(values)) { + for (var i = 0, len = values.length; i < len; ++i) { + addIfNew(list, values[i]); + } + } else { + addIfNew(list, values); + } +} +module.exports = exports["default"]; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/capitalizeString.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/capitalizeString.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = capitalizeString; +function capitalizeString(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} +module.exports = exports["default"]; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/getBrowserInformation.js": +/*!***************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/getBrowserInformation.js ***! + \***************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getBrowserInformation; + +var _bowser = __webpack_require__(/*! bowser */ "./node_modules/bowser/src/bowser.js"); + +var _bowser2 = _interopRequireDefault(_bowser); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var prefixByBrowser = { + chrome: 'Webkit', + safari: 'Webkit', + ios: 'Webkit', + android: 'Webkit', + phantom: 'Webkit', + opera: 'Webkit', + webos: 'Webkit', + blackberry: 'Webkit', + bada: 'Webkit', + tizen: 'Webkit', + chromium: 'Webkit', + vivaldi: 'Webkit', + firefox: 'Moz', + seamoney: 'Moz', + sailfish: 'Moz', + msie: 'ms', + msedge: 'ms' +}; + + +var browserByCanIuseAlias = { + chrome: 'chrome', + chromium: 'chrome', + safari: 'safari', + firfox: 'firefox', + msedge: 'edge', + opera: 'opera', + vivaldi: 'opera', + msie: 'ie' +}; + +function getBrowserName(browserInfo) { + if (browserInfo.firefox) { + return 'firefox'; + } + + if (browserInfo.mobile || browserInfo.tablet) { + if (browserInfo.ios) { + return 'ios_saf'; + } else if (browserInfo.android) { + return 'android'; + } else if (browserInfo.opera) { + return 'op_mini'; + } + } + + for (var browser in browserByCanIuseAlias) { + if (browserInfo.hasOwnProperty(browser)) { + return browserByCanIuseAlias[browser]; + } + } +} + +/** + * Uses bowser to get default browser browserInformation such as version and name + * Evaluates bowser browserInfo and adds vendorPrefix browserInformation + * @param {string} userAgent - userAgent that gets evaluated + */ +function getBrowserInformation(userAgent) { + var browserInfo = _bowser2.default._detect(userAgent); + + if (browserInfo.yandexbrowser) { + browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\/[0-9.]*/, '')); + } + + for (var browser in prefixByBrowser) { + if (browserInfo.hasOwnProperty(browser)) { + var prefix = prefixByBrowser[browser]; + + browserInfo.jsPrefix = prefix; + browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-'; + break; + } + } + + browserInfo.browserName = getBrowserName(browserInfo); + + // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN + if (browserInfo.version) { + browserInfo.browserVersion = parseFloat(browserInfo.version); + } else { + browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10); + } + + browserInfo.osVersion = parseFloat(browserInfo.osversion); + + // iOS forces all browsers to use Safari under the hood + // as the Safari version seems to match the iOS version + // we just explicitely use the osversion instead + // https://github.com/rofrischmann/inline-style-prefixer/issues/72 + if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) { + browserInfo.browserVersion = browserInfo.osVersion; + } + + // seperate native android chrome + // https://github.com/rofrischmann/inline-style-prefixer/issues/45 + if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) { + browserInfo.browserName = 'and_chr'; + } + + // For android < 4.4 we want to check the osversion + // not the chrome version, see issue #26 + // https://github.com/rofrischmann/inline-style-prefixer/issues/26 + if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) { + browserInfo.browserVersion = browserInfo.osVersion; + } + + // Samsung browser are basically build on Chrome > 44 + // https://github.com/rofrischmann/inline-style-prefixer/issues/102 + if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) { + browserInfo.browserName = 'and_chr'; + browserInfo.browserVersion = 44; + } + + return browserInfo; +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js": +/*!**************************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js ***! + \**************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getPrefixedKeyframes; +function getPrefixedKeyframes(browserName, browserVersion, cssPrefix) { + var prefixedKeyframes = 'keyframes'; + + if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') { + return cssPrefix + prefixedKeyframes; + } + return prefixedKeyframes; +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/getPrefixedValue.js": +/*!**********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/getPrefixedValue.js ***! + \**********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = getPrefixedValue; +function getPrefixedValue(prefixedValue, value, keepUnprefixed) { + if (keepUnprefixed) { + return [prefixedValue, value]; + } + return prefixedValue; +} +module.exports = exports["default"]; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/isObject.js": +/*!**************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/isObject.js ***! + \**************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = isObject; +function isObject(value) { + return value instanceof Object && !Array.isArray(value); +} +module.exports = exports["default"]; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/prefixProperty.js": +/*!********************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/prefixProperty.js ***! + \********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = prefixProperty; + +var _capitalizeString = __webpack_require__(/*! ./capitalizeString */ "./node_modules/inline-style-prefixer/utils/capitalizeString.js"); + +var _capitalizeString2 = _interopRequireDefault(_capitalizeString); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function prefixProperty(prefixProperties, property, style) { + if (prefixProperties.hasOwnProperty(property)) { + var newStyle = {}; + var requiredPrefixes = prefixProperties[property]; + var capitalizedProperty = (0, _capitalizeString2.default)(property); + var keys = Object.keys(style); + for (var i = 0; i < keys.length; i++) { + var styleProperty = keys[i]; + if (styleProperty === property) { + for (var j = 0; j < requiredPrefixes.length; j++) { + newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property]; + } + } + newStyle[styleProperty] = style[styleProperty]; + } + return newStyle; + } + return style; +} +module.exports = exports['default']; + +/***/ }), + +/***/ "./node_modules/inline-style-prefixer/utils/prefixValue.js": +/*!*****************************************************************!*\ + !*** ./node_modules/inline-style-prefixer/utils/prefixValue.js ***! + \*****************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = prefixValue; +function prefixValue(plugins, property, value, style, metaData) { + for (var i = 0, len = plugins.length; i < len; ++i) { + var processedValue = plugins[i](property, value, style, metaData); + + // we can stop processing if a value is returned + // as all plugin criteria are unique + if (processedValue) { + return processedValue; + } + } +} +module.exports = exports["default"]; + +/***/ }), + +/***/ "./node_modules/invariant/browser.js": +/*!*******************************************!*\ + !*** ./node_modules/invariant/browser.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var invariant = function(condition, format, a, b, c, d, e, f) { + if (true) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + format.replace(/%s/g, function() { return args[argIndex++]; }) + ); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +}; + +module.exports = invariant; + + +/***/ }), + +/***/ "./node_modules/is-string-blank/index.js": +/*!***********************************************!*\ + !*** ./node_modules/is-string-blank/index.js ***! + \***********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Is this string all whitespace? + * This solution kind of makes my brain hurt, but it's significantly faster + * than !str.trim() or any other solution I could find. + * + * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character + * and verified with: + * + * for(var i = 0; i < 65536; i++) { + * var s = String.fromCharCode(i); + * if(+s===0 && !s.trim()) console.log(i, s); + * } + * + * which counts a couple of these as *not* whitespace, but finds nothing else + * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears + * that there are no whitespace characters above this, and code points above + * this do not map onto white space characters. + */ + +module.exports = function(str){ + var l = str.length, + a; + for(var i = 0; i < l; i++) { + a = str.charCodeAt(i); + if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) && + (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) && + (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) && + (a !== 8288) && (a !== 12288) && (a !== 65279)) { + return false; + } + } + return true; +} + + +/***/ }), + +/***/ "./node_modules/isarray/index.js": +/*!***************************************!*\ + !*** ./node_modules/isarray/index.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var toString = {}.toString; + +module.exports = Array.isArray || function (arr) { + return toString.call(arr) == '[object Array]'; +}; + + +/***/ }), + +/***/ "./node_modules/just-curry-it/index.js": +/*!*********************************************!*\ + !*** ./node_modules/just-curry-it/index.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = curry; + +/* + function add(a, b, c) { + return a + b + c; + } + curry(add)(1)(2)(3); // 6 + curry(add)(1)(2)(2); // 5 + curry(add)(2)(4, 3); // 9 + + function add(...args) { + return args.reduce((sum, n) => sum + n, 0) + } + var curryAdd4 = curry(add, 4) + curryAdd4(1)(2, 3)(4); // 10 + + function converter(ratio, input) { + return (input*ratio).toFixed(1); + } + const curriedConverter = curry(converter) + const milesToKm = curriedConverter(1.62); + milesToKm(35); // 56.7 + milesToKm(10); // 16.2 +*/ + +function curry(fn, arity) { + return function curried() { + if (arity == null) { + arity = fn.length; + } + var args = [].slice.call(arguments); + if (args.length >= arity) { + return fn.apply(this, args); + } else { + return function() { + return curried.apply(this, args.concat([].slice.call(arguments))); + }; + } + }; +} + + +/***/ }), + +/***/ "./node_modules/process/browser.js": +/*!*****************************************!*\ + !*** ./node_modules/process/browser.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +// shim for using process in browser +var process = module.exports = {}; + +// cached from whatever global is present so that test runners that stub it +// don't break things. But we need to wrap it in a try catch in case it is +// wrapped in strict mode code which doesn't define any globals. It's inside a +// function because try/catches deoptimize in certain engines. + +var cachedSetTimeout; +var cachedClearTimeout; + +function defaultSetTimout() { + throw new Error('setTimeout has not been defined'); +} +function defaultClearTimeout () { + throw new Error('clearTimeout has not been defined'); +} +(function () { + try { + if (typeof setTimeout === 'function') { + cachedSetTimeout = setTimeout; + } else { + cachedSetTimeout = defaultSetTimout; + } + } catch (e) { + cachedSetTimeout = defaultSetTimout; + } + try { + if (typeof clearTimeout === 'function') { + cachedClearTimeout = clearTimeout; + } else { + cachedClearTimeout = defaultClearTimeout; + } + } catch (e) { + cachedClearTimeout = defaultClearTimeout; + } +} ()) +function runTimeout(fun) { + if (cachedSetTimeout === setTimeout) { + //normal enviroments in sane situations + return setTimeout(fun, 0); + } + // if setTimeout wasn't available but was latter defined + if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { + cachedSetTimeout = setTimeout; + return setTimeout(fun, 0); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedSetTimeout(fun, 0); + } catch(e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedSetTimeout.call(null, fun, 0); + } catch(e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error + return cachedSetTimeout.call(this, fun, 0); + } + } + + +} +function runClearTimeout(marker) { + if (cachedClearTimeout === clearTimeout) { + //normal enviroments in sane situations + return clearTimeout(marker); + } + // if clearTimeout wasn't available but was latter defined + if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { + cachedClearTimeout = clearTimeout; + return clearTimeout(marker); + } + try { + // when when somebody has screwed with setTimeout but no I.E. maddness + return cachedClearTimeout(marker); + } catch (e){ + try { + // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally + return cachedClearTimeout.call(null, marker); + } catch (e){ + // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. + // Some versions of I.E. have different rules for clearTimeout vs setTimeout + return cachedClearTimeout.call(this, marker); + } + } + + + +} +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + if (!draining || !currentQueue) { + return; + } + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = runTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + runClearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + runTimeout(drainQueue); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; +process.prependListener = noop; +process.prependOnceListener = noop; + +process.listeners = function (name) { return [] } + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + + +/***/ }), + +/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js": +/*!*************************************************************!*\ + !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***! + \*************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; + + +/***/ }), + +/***/ "./node_modules/radium/es/append-important-to-each-value.js": +/*!******************************************************************!*\ + !*** ./node_modules/radium/es/append-important-to-each-value.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return appendImportantToEachValue; }); +/* harmony import */ var _append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-px-if-needed */ "./node_modules/radium/es/append-px-if-needed.js"); +/* harmony import */ var _map_object__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map-object */ "./node_modules/radium/es/map-object.js"); + + +function appendImportantToEachValue(style) { + return Object(_map_object__WEBPACK_IMPORTED_MODULE_1__["default"])(style, function (result, key) { + return Object(_append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__["default"])(key, style[key]) + ' !important'; + }); +} + +/***/ }), + +/***/ "./node_modules/radium/es/append-px-if-needed.js": +/*!*******************************************************!*\ + !*** ./node_modules/radium/es/append-px-if-needed.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return appendPxIfNeeded; }); +// Copied from https://github.com/facebook/react/blob/ +// b87aabdfe1b7461e7331abb3601d9e6bb27544bc/ +// packages/react-dom/src/shared/CSSProperty.js +var isUnitlessNumber = { + animationIterationCount: true, + borderImageOutset: true, + borderImageSlice: true, + borderImageWidth: true, + boxFlex: true, + boxFlexGroup: true, + boxOrdinalGroup: true, + columnCount: true, + columns: true, + flex: true, + flexGrow: true, + flexPositive: true, + flexShrink: true, + flexNegative: true, + flexOrder: true, + gridArea: true, + gridRow: true, + gridRowEnd: true, + gridRowSpan: true, + gridRowStart: true, + gridColumn: true, + gridColumnEnd: true, + gridColumnSpan: true, + gridColumnStart: true, + fontWeight: true, + lineClamp: true, + lineHeight: true, + opacity: true, + order: true, + orphans: true, + tabSize: true, + widows: true, + zIndex: true, + zoom: true, + // SVG-related properties + fillOpacity: true, + floodOpacity: true, + stopOpacity: true, + strokeDasharray: true, + strokeDashoffset: true, + strokeMiterlimit: true, + strokeOpacity: true, + strokeWidth: true +}; +function appendPxIfNeeded(propertyName, value) { + var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0; + return needsPxSuffix ? value + 'px' : value; +} + +/***/ }), + +/***/ "./node_modules/radium/es/camel-case-props-to-dash-case.js": +/*!*****************************************************************!*\ + !*** ./node_modules/radium/es/camel-case-props-to-dash-case.js ***! + \*****************************************************************/ +/*! exports provided: camelCaseToDashCase, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "camelCaseToDashCase", function() { return camelCaseToDashCase; }); +var _camelCaseRegex = /([a-z])?([A-Z])/g; + +var _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) { + return (p1 || '') + '-' + p2.toLowerCase(); +}; + +var camelCaseToDashCase = function camelCaseToDashCase(s) { + return s.replace(_camelCaseRegex, _camelCaseReplacer); +}; + +var camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) { + // Since prefix is expected to work on inline style objects, we must + // translate the keys to dash case for rendering to CSS. + return Object.keys(prefixedStyle).reduce(function (result, key) { + var dashCaseKey = camelCaseToDashCase(key); // Fix IE vendor prefix + + if (/^ms-/.test(dashCaseKey)) { + dashCaseKey = "-".concat(dashCaseKey); + } + + result[dashCaseKey] = prefixedStyle[key]; + return result; + }, {}); +}; + +/* harmony default export */ __webpack_exports__["default"] = (camelCasePropsToDashCase); + +/***/ }), + +/***/ "./node_modules/radium/es/clean-state-key.js": +/*!***************************************************!*\ + !*** ./node_modules/radium/es/clean-state-key.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* flow */ +var cleanStateKey = function cleanStateKey(key) { + return key === null || typeof key === 'undefined' ? 'main' : key.toString(); +}; + +/* harmony default export */ __webpack_exports__["default"] = (cleanStateKey); + +/***/ }), + +/***/ "./node_modules/radium/es/components/style-root.js": +/*!*********************************************************!*\ + !*** ./node_modules/radium/es/components/style-root.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../enhancer */ "./node_modules/radium/es/enhancer.js"); +/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../style-keeper */ "./node_modules/radium/es/style-keeper.js"); +/* harmony import */ var _style_sheet__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./style-sheet */ "./node_modules/radium/es/components/style-sheet.js"); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../context */ "./node_modules/radium/es/context.js"); +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + + + + + + +function getStyleKeeper(configProp, configContext) { + var userAgent = configProp && configProp.userAgent || configContext && configContext.userAgent; + return new _style_keeper__WEBPACK_IMPORTED_MODULE_2__["default"](userAgent); +} + +var StyleRootInner = Object(_enhancer__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_ref) { + var children = _ref.children, + otherProps = _objectWithoutProperties(_ref, ["children"]); + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", otherProps, children, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_style_sheet__WEBPACK_IMPORTED_MODULE_3__["default"], null)); +}); + +var StyleRoot = function StyleRoot(props) { + /* eslint-disable no-unused-vars */ + // Pass down all props except config to the rendered div. + + /* eslint-enable no-unused-vars */ + var radiumConfig = props.radiumConfig; + var configContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_context__WEBPACK_IMPORTED_MODULE_4__["RadiumConfigContext"]); + var styleKeeper = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(getStyleKeeper(radiumConfig, configContext)); + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_context__WEBPACK_IMPORTED_MODULE_4__["StyleKeeperContext"].Provider, { + value: styleKeeper.current + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(StyleRootInner, props)); +}; + +/* harmony default export */ __webpack_exports__["default"] = (StyleRoot); + +/***/ }), + +/***/ "./node_modules/radium/es/components/style-sheet.js": +/*!**********************************************************!*\ + !*** ./node_modules/radium/es/components/style-sheet.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../style-keeper */ "./node_modules/radium/es/style-keeper.js"); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../context */ "./node_modules/radium/es/context.js"); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + +var StyleSheet = +/*#__PURE__*/ +function (_Component) { + _inherits(StyleSheet, _Component); + + // eslint-disable-next-line react/sort-comp + function StyleSheet() { + var _this; + + _classCallCheck(this, StyleSheet); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(StyleSheet).apply(this, arguments)); + _this.styleKeeper = void 0; + _this._subscription = void 0; + _this._root = void 0; + _this._css = void 0; + + _this._onChange = function () { + var nextCSS = _this.styleKeeper.getCSS(); + + if (nextCSS !== _this._css) { + if (_this._root) { + _this._root.innerHTML = nextCSS; + } else { + throw new Error('No root style object found, even after StyleSheet mount.'); + } + + _this._css = nextCSS; + } + }; + + if (!_this.props.styleKeeperContext) { + throw new Error('StyleRoot is required to use StyleSheet'); + } + + _this.styleKeeper = _this.props.styleKeeperContext; + _this._css = _this.styleKeeper.getCSS(); + return _this; + } + + _createClass(StyleSheet, [{ + key: "componentDidMount", + value: function componentDidMount() { + this._subscription = this.styleKeeper.subscribe(this._onChange); + + this._onChange(); + } + }, { + key: "shouldComponentUpdate", + value: function shouldComponentUpdate() { + return false; + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this._subscription) { + this._subscription.remove(); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("style", { + dangerouslySetInnerHTML: { + __html: this._css + }, + ref: function ref(c) { + _this2._root = c; + } + }); + } + }]); + + return StyleSheet; +}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); + +/* harmony default export */ __webpack_exports__["default"] = (Object(_context__WEBPACK_IMPORTED_MODULE_2__["withRadiumContexts"])(StyleSheet)); + +/***/ }), + +/***/ "./node_modules/radium/es/components/style.js": +/*!****************************************************!*\ + !*** ./node_modules/radium/es/components/style.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../context */ "./node_modules/radium/es/context.js"); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + +var Style = +/*#__PURE__*/ +function (_PureComponent) { + _inherits(Style, _PureComponent); + + function Style() { + _classCallCheck(this, Style); + + return _possibleConstructorReturn(this, _getPrototypeOf(Style).apply(this, arguments)); + } + + _createClass(Style, [{ + key: "_buildStyles", + value: function _buildStyles(styles) { + var _this = this; + + var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.props.radiumConfigContext && this.props.radiumConfigContext.userAgent; + var scopeSelector = this.props.scopeSelector; + var rootRules = Object.keys(styles).reduce(function (accumulator, selector) { + if (_typeof(styles[selector]) !== 'object') { + accumulator[selector] = styles[selector]; + } + + return accumulator; + }, {}); + var rootStyles = Object.keys(rootRules).length ? Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(scopeSelector || '', rootRules, userAgent) : ''; + return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) { + var rules = styles[selector]; + + if (selector === 'mediaQueries') { + accumulator += _this._buildMediaQueryString(rules); + } else if (_typeof(styles[selector]) === 'object') { + var completeSelector = scopeSelector ? selector.split(',').map(function (part) { + return scopeSelector + ' ' + part.trim(); + }).join(',') : selector; + accumulator += Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(completeSelector, rules, userAgent); + } + + return accumulator; + }, ''); + } + }, { + key: "_buildMediaQueryString", + value: function _buildMediaQueryString(stylesByMediaQuery) { + var _this2 = this; + + var mediaQueryString = ''; + Object.keys(stylesByMediaQuery).forEach(function (query) { + mediaQueryString += '@media ' + query + '{' + _this2._buildStyles(stylesByMediaQuery[query]) + '}'; + }); + return mediaQueryString; + } + }, { + key: "render", + value: function render() { + if (!this.props.rules) { + return null; + } + + var styles = this._buildStyles(this.props.rules); + + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("style", { + dangerouslySetInnerHTML: { + __html: styles + } + }); + } + }]); + + return Style; +}(react__WEBPACK_IMPORTED_MODULE_1__["PureComponent"]); + +Style.propTypes = { + radiumConfig: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + rules: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + scopeSelector: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string +}; +Style.defaultProps = { + scopeSelector: '' +}; +/* harmony default export */ __webpack_exports__["default"] = (Object(_context__WEBPACK_IMPORTED_MODULE_3__["withRadiumContexts"])(Style)); + +/***/ }), + +/***/ "./node_modules/radium/es/context.js": +/*!*******************************************!*\ + !*** ./node_modules/radium/es/context.js ***! + \*******************************************/ +/*! exports provided: StyleKeeperContext, RadiumConfigContext, withRadiumContexts */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "StyleKeeperContext", function() { return StyleKeeperContext; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "RadiumConfigContext", function() { return RadiumConfigContext; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withRadiumContexts", function() { return withRadiumContexts; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./style-keeper */ "./node_modules/radium/es/style-keeper.js"); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + + +var StyleKeeperContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(undefined); +var RadiumConfigContext = react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(undefined); +function withRadiumContexts(WrappedComponent) { + var WithRadiumContexts = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(function (props, ref) { + var radiumConfigContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(RadiumConfigContext); + var styleKeeperContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(StyleKeeperContext); + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(WrappedComponent, _extends({ + ref: ref + }, props, { + radiumConfigContext: radiumConfigContext, + styleKeeperContext: styleKeeperContext + })); + }); + WithRadiumContexts.displayName = "withRadiumContexts(".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', ")"); + return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_1___default()(WithRadiumContexts, WrappedComponent); +} + +/***/ }), + +/***/ "./node_modules/radium/es/css-rule-set-to-string.js": +/*!**********************************************************!*\ + !*** ./node_modules/radium/es/css-rule-set-to-string.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return cssRuleSetToString; }); +/* harmony import */ var _append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-px-if-needed */ "./node_modules/radium/es/append-px-if-needed.js"); +/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ "./node_modules/radium/es/camel-case-props-to-dash-case.js"); +/* harmony import */ var _map_object__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map-object */ "./node_modules/radium/es/map-object.js"); +/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefixer */ "./node_modules/radium/es/prefixer.js"); + + + + + +function createMarkupForStyles(style) { + return Object.keys(style).map(function (property) { + return property + ': ' + style[property] + ';'; + }).join('\n'); +} + +function cssRuleSetToString(selector, rules, userAgent) { + if (!rules) { + return ''; + } + + var rulesWithPx = Object(_map_object__WEBPACK_IMPORTED_MODULE_2__["default"])(rules, function (value, key) { + return Object(_append_px_if_needed__WEBPACK_IMPORTED_MODULE_0__["default"])(key, value); + }); + var prefixedRules = Object(_prefixer__WEBPACK_IMPORTED_MODULE_3__["getPrefixedStyle"])(rulesWithPx, userAgent); + var cssPrefixedRules = Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_1__["default"])(prefixedRules); + var serializedRules = createMarkupForStyles(cssPrefixedRules); + return selector + '{' + serializedRules + '}'; +} + +/***/ }), + +/***/ "./node_modules/radium/es/enhancer.js": +/*!********************************************!*\ + !*** ./node_modules/radium/es/enhancer.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return enhanceWithRadium; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _resolve_styles__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./resolve-styles */ "./node_modules/radium/es/resolve-styles.js"); +/* harmony import */ var _get_radium_style_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-radium-style-state */ "./node_modules/radium/es/get-radium-style-state.js"); +/* harmony import */ var _context__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./context */ "./node_modules/radium/es/context.js"); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); } + +function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); } + +function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } + + + + + + + + +var KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type']; +var RADIUM_PROTO; +var RADIUM_METHODS; + +function copyProperties(source, target) { + Object.getOwnPropertyNames(source).forEach(function (key) { + if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) { + var descriptor = Object.getOwnPropertyDescriptor(source, key); + descriptor && Object.defineProperty(target, key, descriptor); + } + }); +} // Handle scenarios of: +// - Inherit from `React.Component` in any fashion +// See: https://github.com/FormidableLabs/radium/issues/738 +// - There's an explicit `render` field defined + + +function isStateless(component) { + var proto = component.prototype || {}; + return !component.isReactComponent && !proto.isReactComponent && !component.render && !proto.render; +} // Check if value is a real ES class in Native / Node code. +// See: https://stackoverflow.com/a/30760236 + + +function isNativeClass(component) { + return typeof component === 'function' && /^\s*class\s+/.test(component.toString()); +} // Handle es7 arrow functions on React class method names by detecting +// and transfering the instance method to original class prototype. +// (Using a copy of the class). +// See: https://github.com/FormidableLabs/radium/issues/738 + + +function copyArrowFuncs(enhancedSelf, ComposedComponent) { + RADIUM_METHODS.forEach(function (name) { + var thisDesc = Object.getOwnPropertyDescriptor(enhancedSelf, name); + var thisMethod = (thisDesc || {}).value; // Only care if have instance method. + + if (!thisMethod) { + return; + } + + var radiumDesc = Object.getOwnPropertyDescriptor(RADIUM_PROTO, name); + var radiumProtoMethod = (radiumDesc || {}).value; + var superProtoMethod = ComposedComponent.prototype[name]; // Allow transfer when: + // 1. have an instance method + // 2. the super class prototype doesn't have any method + // 3. it is not already the radium prototype's + + if (!superProtoMethod && thisMethod !== radiumProtoMethod) { + // Transfer dynamic render component to Component prototype (copy). + thisDesc && Object.defineProperty(ComposedComponent.prototype, name, thisDesc); // Remove instance property, leaving us to have a contrived + // inheritance chain of (1) radium, (2) superclass. + + delete enhancedSelf[name]; + } + }); +} + +function trimRadiumState(enhancer) { + if (enhancer._extraRadiumStateKeys && enhancer._extraRadiumStateKeys.length > 0) { + var trimmedRadiumState = enhancer._extraRadiumStateKeys.reduce(function (state, key) { + // eslint-disable-next-line no-unused-vars + var extraStateKey = state[key], + remainingState = _objectWithoutProperties(state, [key].map(_toPropertyKey)); + + return remainingState; + }, Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_4__["default"])(enhancer)); + + enhancer._lastRadiumState = trimmedRadiumState; + enhancer.setState({ + _radiumStyleState: trimmedRadiumState + }); + } +} + +function cleanUpEnhancer(enhancer) { + var _radiumMouseUpListener = enhancer._radiumMouseUpListener, + _radiumMediaQueryListenersByQuery = enhancer._radiumMediaQueryListenersByQuery; + enhancer._radiumIsMounted = false; + + if (_radiumMouseUpListener) { + _radiumMouseUpListener.remove(); + } + + if (_radiumMediaQueryListenersByQuery) { + Object.keys(_radiumMediaQueryListenersByQuery).forEach(function (query) { + _radiumMediaQueryListenersByQuery[query].remove(); + }, enhancer); + } +} + +function resolveConfig(propConfig, contextConfig, hocConfig) { + var config = propConfig || contextConfig || hocConfig; + + if (hocConfig && config !== hocConfig) { + config = _objectSpread({}, hocConfig, config); + } + + return config; +} + +function renderRadiumComponent(enhancer, renderedElement, resolvedConfig, propConfig) { + var _resolveStyles = Object(_resolve_styles__WEBPACK_IMPORTED_MODULE_3__["default"])(enhancer, renderedElement, resolvedConfig), + extraStateKeyMap = _resolveStyles.extraStateKeyMap, + element = _resolveStyles.element; + + enhancer._extraRadiumStateKeys = Object.keys(extraStateKeyMap); + + if (propConfig) { + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_context__WEBPACK_IMPORTED_MODULE_5__["RadiumConfigContext"].Provider, { + value: propConfig + }, element); + } + + return element; +} + +function createEnhancedFunctionComponent(origComponent, config) { + var RadiumEnhancer = react__WEBPACK_IMPORTED_MODULE_0___default.a.forwardRef(function (props, ref) { + var radiumConfig = props.radiumConfig, + otherProps = _objectWithoutProperties(props, ["radiumConfig"]); + + var radiumConfigContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_context__WEBPACK_IMPORTED_MODULE_5__["RadiumConfigContext"]); + var styleKeeperContext = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_context__WEBPACK_IMPORTED_MODULE_5__["StyleKeeperContext"]); + + var _useState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useState"])({}), + _useState2 = _slicedToArray(_useState, 2), + state = _useState2[0], + setState = _useState2[1]; + + var enhancerApi = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])({ + state: state, + setState: setState, + _radiumMediaQueryListenersByQuery: undefined, + _radiumMouseUpListener: undefined, + _radiumIsMounted: true, + _lastRadiumState: undefined, + _extraRadiumStateKeys: undefined, + _radiumStyleKeeper: styleKeeperContext + }).current; // result of useRef is never recreated and is designed to be mutable + // we need to make sure the latest state is attached to it + + enhancerApi.state = state; + Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { + return function () { + cleanUpEnhancer(enhancerApi); + }; + }, [enhancerApi]); + var hasExtraStateKeys = enhancerApi._extraRadiumStateKeys && enhancerApi._extraRadiumStateKeys.length > 0; + Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { + trimRadiumState(enhancerApi); + }, [hasExtraStateKeys, enhancerApi]); + var renderedElement = origComponent(otherProps, ref); + var currentConfig = resolveConfig(radiumConfig, radiumConfigContext, config); + return renderRadiumComponent(enhancerApi, renderedElement, currentConfig, radiumConfig); + }); + RadiumEnhancer._isRadiumEnhanced = true; + RadiumEnhancer.defaultProps = origComponent.defaultProps; + return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(RadiumEnhancer, origComponent); +} + +function createEnhancedClassComponent(origComponent, ComposedComponent, config) { + var RadiumEnhancer = + /*#__PURE__*/ + function (_ComposedComponent) { + _inherits(RadiumEnhancer, _ComposedComponent); + + // need to attempt to assign to this.state in case + // super component is setting state on construction, + // otherwise class properties reinitialize to undefined + // need to assign the following methods to this.xxx as + // tests attempt to set this on the original component + function RadiumEnhancer() { + var _this; + + _classCallCheck(this, RadiumEnhancer); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(RadiumEnhancer).apply(this, arguments)); + _this.state = _this.state || {}; + _this._radiumStyleKeeper = _this.props.styleKeeperContext; + _this._radiumMediaQueryListenersByQuery = _this._radiumMediaQueryListenersByQuery; + _this._radiumMouseUpListener = _this._radiumMouseUpListener; + _this._radiumIsMounted = true; + _this._lastRadiumState = void 0; + _this._extraRadiumStateKeys = void 0; + _this.state._radiumStyleState = {}; + + var self = _assertThisInitialized(_this); // Handle es7 arrow functions on React class method + + + copyArrowFuncs(self, ComposedComponent); + return _this; + } + + _createClass(RadiumEnhancer, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState, snapshot) { + if (_get(_getPrototypeOf(RadiumEnhancer.prototype), "componentDidUpdate", this)) { + _get(_getPrototypeOf(RadiumEnhancer.prototype), "componentDidUpdate", this).call(this, prevProps, prevState, snapshot); + } + + trimRadiumState(this); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (_get(_getPrototypeOf(RadiumEnhancer.prototype), "componentWillUnmount", this)) { + _get(_getPrototypeOf(RadiumEnhancer.prototype), "componentWillUnmount", this).call(this); + } + + cleanUpEnhancer(this); + } + }, { + key: "render", + value: function render() { + var renderedElement = _get(_getPrototypeOf(RadiumEnhancer.prototype), "render", this).call(this); + + var currentConfig = resolveConfig(this.props.radiumConfig, this.props.radiumConfigContext, config); + return renderRadiumComponent(this, renderedElement, currentConfig, this.props.radiumConfig); + } + }]); + + return RadiumEnhancer; + }(ComposedComponent); // Lazy infer the method names of the Enhancer. + + + RadiumEnhancer._isRadiumEnhanced = true; + RADIUM_PROTO = RadiumEnhancer.prototype; + RADIUM_METHODS = Object.getOwnPropertyNames(RADIUM_PROTO).filter(function (n) { + return n !== 'constructor' && typeof RADIUM_PROTO[n] === 'function'; + }); // Class inheritance uses Object.create and because of __proto__ issues + // with IE <10 any static properties of the superclass aren't inherited and + // so need to be manually populated. + // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below- + + copyProperties(origComponent, RadiumEnhancer); + + if (true) { + // This also fixes React Hot Loader by exposing the original components top + // level prototype methods on the Radium enhanced prototype as discussed in + // https://github.com/FormidableLabs/radium/issues/219. + copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype); + } // add Radium propTypes to enhanced component's propTypes + + + if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) { + RadiumEnhancer.propTypes = _objectSpread({}, RadiumEnhancer.propTypes, { + style: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.oneOfType([prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array, prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object]) + }); + } // copy display name to enhanced component + + + RadiumEnhancer.displayName = origComponent.displayName || origComponent.name || 'Component'; + return Object(_context__WEBPACK_IMPORTED_MODULE_5__["withRadiumContexts"])(RadiumEnhancer); +} + +function createComposedFromNativeClass(ComposedComponent) { + ComposedComponent = function (OrigComponent) { + function NewComponent() { + // Use Reflect.construct to simulate 'new' + var obj = Reflect.construct(OrigComponent, arguments, this.constructor); + return obj; + } // $FlowFixMe + + + Reflect.setPrototypeOf(NewComponent.prototype, OrigComponent.prototype); // $FlowFixMe + + Reflect.setPrototypeOf(NewComponent, OrigComponent); + return NewComponent; + }(ComposedComponent); + + return ComposedComponent; +} + +var ReactForwardRefSymbol = Object(react__WEBPACK_IMPORTED_MODULE_0__["forwardRef"])(function () { + return null; +}).$$typeof; +function enhanceWithRadium(configOrComposedComponent) { + var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (ReactForwardRefSymbol && configOrComposedComponent.$$typeof === ReactForwardRefSymbol) { + return createEnhancedFunctionComponent(configOrComposedComponent.render, config); + } + + if (typeof configOrComposedComponent !== 'function') { + return createFactoryFromConfig(config, configOrComposedComponent); + } + + var origComponent = configOrComposedComponent; // Handle stateless components + + if (isStateless(origComponent)) { + return createEnhancedFunctionComponent(origComponent, config); + } + + var _ComposedComponent2 = origComponent; // Radium is transpiled in npm, so it isn't really using es6 classes at + // runtime. However, the user of Radium might be. In this case we have + // to maintain forward compatibility with native es classes. + + if (isNativeClass(_ComposedComponent2)) { + _ComposedComponent2 = createComposedFromNativeClass(_ComposedComponent2); + } // Shallow copy composed if still original (we may mutate later). + + + if (_ComposedComponent2 === origComponent) { + _ComposedComponent2 = + /*#__PURE__*/ + function (_ComposedComponent3) { + _inherits(ComposedComponent, _ComposedComponent3); + + function ComposedComponent() { + _classCallCheck(this, ComposedComponent); + + return _possibleConstructorReturn(this, _getPrototypeOf(ComposedComponent).apply(this, arguments)); + } + + return ComposedComponent; + }(_ComposedComponent2); + } + + return createEnhancedClassComponent(origComponent, _ComposedComponent2, config); +} + +function createFactoryFromConfig(config, configOrComposedComponent) { + var newConfig = _objectSpread({}, config, configOrComposedComponent); + + return function (configOrComponent) { + return enhanceWithRadium(configOrComponent, newConfig); + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/get-radium-style-state.js": +/*!**********************************************************!*\ + !*** ./node_modules/radium/es/get-radium-style-state.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var getRadiumStyleState = function getRadiumStyleState(component) { + return component._lastRadiumState || component.state && component.state._radiumStyleState || {}; +}; + +/* harmony default export */ __webpack_exports__["default"] = (getRadiumStyleState); + +/***/ }), + +/***/ "./node_modules/radium/es/get-state-key.js": +/*!*************************************************!*\ + !*** ./node_modules/radium/es/get-state-key.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var getStateKey = function getStateKey(renderedElement) { + return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key; +}; + +/* harmony default export */ __webpack_exports__["default"] = (getStateKey); + +/***/ }), + +/***/ "./node_modules/radium/es/get-state.js": +/*!*********************************************!*\ + !*** ./node_modules/radium/es/get-state.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _clean_state_key__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./clean-state-key */ "./node_modules/radium/es/clean-state-key.js"); + + +var getState = function getState(state, elementKey, value) { + var key = Object(_clean_state_key__WEBPACK_IMPORTED_MODULE_0__["default"])(elementKey); + return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value]; +}; + +/* harmony default export */ __webpack_exports__["default"] = (getState); + +/***/ }), + +/***/ "./node_modules/radium/es/hash.js": +/*!****************************************!*\ + !*** ./node_modules/radium/es/hash.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return hash; }); +// a simple djb2 hash based on hash-string: +// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js +// returns a hex-encoded hash +function hash(text) { + if (!text) { + return ''; + } + + var hashValue = 5381; + var index = text.length - 1; + + while (index) { + hashValue = hashValue * 33 ^ text.charCodeAt(index); + index -= 1; + } + + return (hashValue >>> 0).toString(16); +} + +/***/ }), + +/***/ "./node_modules/radium/es/index.js": +/*!*****************************************!*\ + !*** ./node_modules/radium/es/index.js ***! + \*****************************************/ +/*! exports provided: default, Plugins, Style, StyleRoot, getState, keyframes */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _enhancer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./enhancer */ "./node_modules/radium/es/enhancer.js"); +/* harmony import */ var _plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./plugins */ "./node_modules/radium/es/plugins/index.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Plugins", function() { return _plugins__WEBPACK_IMPORTED_MODULE_1__["default"]; }); + +/* harmony import */ var _components_style__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/style */ "./node_modules/radium/es/components/style.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Style", function() { return _components_style__WEBPACK_IMPORTED_MODULE_2__["default"]; }); + +/* harmony import */ var _components_style_root__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./components/style-root */ "./node_modules/radium/es/components/style-root.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "StyleRoot", function() { return _components_style_root__WEBPACK_IMPORTED_MODULE_3__["default"]; }); + +/* harmony import */ var _get_state__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./get-state */ "./node_modules/radium/es/get-state.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "getState", function() { return _get_state__WEBPACK_IMPORTED_MODULE_4__["default"]; }); + +/* harmony import */ var _keyframes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./keyframes */ "./node_modules/radium/es/keyframes.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keyframes", function() { return _keyframes__WEBPACK_IMPORTED_MODULE_5__["default"]; }); + +/* harmony import */ var _resolve_styles__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resolve-styles */ "./node_modules/radium/es/resolve-styles.js"); + + + + + + + + +function Radium(ComposedComponent) { + return Object(_enhancer__WEBPACK_IMPORTED_MODULE_0__["default"])(ComposedComponent); +} // Legacy object support. +// +// Normally it would be disfavored to attach these to the `Radium` object +// because it defeats tree-shaking, using instead the ESM exports. But, +// the `Radium` `Enhancer` uses **all** of these, so there's no extra "cost" +// to them being explicitly on the `Radium` object. + + +Radium.Plugins = _plugins__WEBPACK_IMPORTED_MODULE_1__["default"]; +Radium.Style = _components_style__WEBPACK_IMPORTED_MODULE_2__["default"]; +Radium.StyleRoot = _components_style_root__WEBPACK_IMPORTED_MODULE_3__["default"]; +Radium.getState = _get_state__WEBPACK_IMPORTED_MODULE_4__["default"]; +Radium.keyframes = _keyframes__WEBPACK_IMPORTED_MODULE_5__["default"]; + +if (true) { + Radium.TestMode = { + clearState: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__clearStateForTests, + disable: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__setTestMode.bind(null, false), + enable: _resolve_styles__WEBPACK_IMPORTED_MODULE_6__["default"].__setTestMode.bind(null, true) + }; +} + +/* harmony default export */ __webpack_exports__["default"] = (Radium); // ESM re-exports + + + +/***/ }), + +/***/ "./node_modules/radium/es/keyframes.js": +/*!*********************************************!*\ + !*** ./node_modules/radium/es/keyframes.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return keyframes; }); +/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); +/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hash */ "./node_modules/radium/es/hash.js"); +/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prefixer */ "./node_modules/radium/es/prefixer.js"); + + + +function keyframes(keyframeRules, name) { + return { + __radiumKeyframes: true, + __process: function __process(userAgent) { + var keyframesPrefixed = Object(_prefixer__WEBPACK_IMPORTED_MODULE_2__["getPrefixedKeyframes"])(userAgent); + var rules = Object.keys(keyframeRules).map(function (percentage) { + return Object(_css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_0__["default"])(percentage, keyframeRules[percentage], userAgent); + }).join('\n'); + var animationName = (name ? name + '-' : '') + 'radium-animation-' + Object(_hash__WEBPACK_IMPORTED_MODULE_1__["default"])(rules); + var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\n' + rules + '\n}\n'; + return { + css: css, + animationName: animationName + }; + } + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/map-object.js": +/*!**********************************************!*\ + !*** ./node_modules/radium/es/map-object.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return mapObject; }); +function mapObject(object, mapper) { + return Object.keys(object).reduce(function (result, key) { + result[key] = mapper(object[key], key); + return result; + }, {}); +} + +/***/ }), + +/***/ "./node_modules/radium/es/merge-styles.js": +/*!************************************************!*\ + !*** ./node_modules/radium/es/merge-styles.js ***! + \************************************************/ +/*! exports provided: isNestedStyle, mergeStyles */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isNestedStyle", function() { return isNestedStyle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergeStyles", function() { return mergeStyles; }); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function isNestedStyle(value) { + // Don't merge objects overriding toString, since they should be converted + // to string values. + return value && value.constructor === Object && value.toString === Object.prototype.toString; +} // Merge style objects. Deep merge plain object values. + +function mergeStyles(styles) { + var result = {}; + styles.forEach(function (style) { + if (!style || _typeof(style) !== 'object') { + return; + } + + if (Array.isArray(style)) { + style = mergeStyles(style); + } + + Object.keys(style).forEach(function (key) { + // Simple case, nothing nested + if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) { + result[key] = style[key]; + return; + } // If nested media, don't merge the nested styles, append a space to the + // end (benign when converted to CSS). This way we don't end up merging + // media queries that appear later in the chain with those that appear + // earlier. + + + if (key.indexOf('@media') === 0) { + var newKey = key; // eslint-disable-next-line no-constant-condition + + while (true) { + newKey += ' '; + + if (!result[newKey]) { + result[newKey] = style[key]; + return; + } + } + } // Merge all other nested styles recursively + + + result[key] = mergeStyles([result[key], style[key]]); + }); + }); + return result; +} + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/check-props-plugin.js": +/*!**************************************************************!*\ + !*** ./node_modules/radium/es/plugins/check-props-plugin.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +var _checkProps = function checkProps() {}; + +if (true) { + // Warn if you use longhand and shorthand properties in the same style + // object. + // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties + var shorthandPropertyExpansions = { + background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'], + border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'], + borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'], + borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'], + font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'], + listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'], + margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'], + padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'], + transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction'] + }; + + _checkProps = function checkProps(config) { + var componentName = config.componentName, + style = config.style; + + if (_typeof(style) !== 'object' || !style) { + return; + } + + var styleKeys = Object.keys(style); + styleKeys.forEach(function (styleKey) { + if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) { + return styleKeys.indexOf(sp) !== -1; + })) { + if (true) { + /* eslint-disable no-console */ + console.warn('Radium: property "' + styleKey + '" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.'); + /* eslint-enable no-console */ + } + } + }); + styleKeys.forEach(function (k) { + return _checkProps(_objectSpread({}, config, { + style: style[k] + })); + }); + return; + }; +} + +/* harmony default export */ __webpack_exports__["default"] = (_checkProps); + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/index.js": +/*!*************************************************!*\ + !*** ./node_modules/radium/es/plugins/index.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _check_props_plugin__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./check-props-plugin */ "./node_modules/radium/es/plugins/check-props-plugin.js"); +/* harmony import */ var _keyframes_plugin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keyframes-plugin */ "./node_modules/radium/es/plugins/keyframes-plugin.js"); +/* harmony import */ var _merge_style_array_plugin__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./merge-style-array-plugin */ "./node_modules/radium/es/plugins/merge-style-array-plugin.js"); +/* harmony import */ var _prefix_plugin__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-plugin */ "./node_modules/radium/es/plugins/prefix-plugin.js"); +/* harmony import */ var _remove_nested_styles_plugin__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./remove-nested-styles-plugin */ "./node_modules/radium/es/plugins/remove-nested-styles-plugin.js"); +/* harmony import */ var _resolve_interaction_styles_plugin__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./resolve-interaction-styles-plugin */ "./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js"); +/* harmony import */ var _resolve_media_queries_plugin__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./resolve-media-queries-plugin */ "./node_modules/radium/es/plugins/resolve-media-queries-plugin.js"); +/* harmony import */ var _visited_plugin__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./visited-plugin */ "./node_modules/radium/es/plugins/visited-plugin.js"); +/* eslint-disable block-scoped-const */ + + + + + + + + +/* harmony default export */ __webpack_exports__["default"] = ({ + checkProps: _check_props_plugin__WEBPACK_IMPORTED_MODULE_0__["default"], + keyframes: _keyframes_plugin__WEBPACK_IMPORTED_MODULE_1__["default"], + mergeStyleArray: _merge_style_array_plugin__WEBPACK_IMPORTED_MODULE_2__["default"], + prefix: _prefix_plugin__WEBPACK_IMPORTED_MODULE_3__["default"], + removeNestedStyles: _remove_nested_styles_plugin__WEBPACK_IMPORTED_MODULE_4__["default"], + resolveInteractionStyles: _resolve_interaction_styles_plugin__WEBPACK_IMPORTED_MODULE_5__["default"], + resolveMediaQueries: _resolve_media_queries_plugin__WEBPACK_IMPORTED_MODULE_6__["default"], + visited: _visited_plugin__WEBPACK_IMPORTED_MODULE_7__["default"] +}); + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/keyframes-plugin.js": +/*!************************************************************!*\ + !*** ./node_modules/radium/es/plugins/keyframes-plugin.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return keyframesPlugin; }); +function keyframesPlugin(_ref) { + var addCSS = _ref.addCSS, + config = _ref.config, + style = _ref.style; + + var processKeyframeStyle = function processKeyframeStyle(value) { + var keyframesValue = value; + + var _keyframesValue$__pro = keyframesValue.__process(config.userAgent), + animationName = _keyframesValue$__pro.animationName, + css = _keyframesValue$__pro.css; + + addCSS(css); + return animationName; + }; + + var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { + var value = style[key]; + var isKeyframeArray = Array.isArray(value); + + if (key === 'animationName' && value && (value.__radiumKeyframes || isKeyframeArray)) { + if (isKeyframeArray) { + value = value.map(processKeyframeStyle).join(', '); + } else { + value = processKeyframeStyle(value); + } + } + + newStyleInProgress[key] = value; + return newStyleInProgress; + }, {}); + return { + style: newStyle + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/merge-style-array-plugin.js": +/*!********************************************************************!*\ + !*** ./node_modules/radium/es/plugins/merge-style-array-plugin.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// Convenient syntax for multiple styles: `style={[style1, style2, etc]}` +// Ignores non-objects, so you can do `this.state.isCool && styles.cool`. +var mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) { + var style = _ref.style, + mergeStyles = _ref.mergeStyles; + // eslint-disable-line no-shadow + var newStyle = Array.isArray(style) ? mergeStyles(style) : style; + return { + style: newStyle + }; +}; + +/* harmony default export */ __webpack_exports__["default"] = (mergeStyleArrayPlugin); + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/mouse-up-listener.js": +/*!*************************************************************!*\ + !*** ./node_modules/radium/es/plugins/mouse-up-listener.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var _callbacks = []; +var _mouseUpListenerIsActive = false; + +function _handleMouseUp() { + _callbacks.forEach(function (callback) { + callback(); + }); +} + +var subscribe = function subscribe(callback) { + if (_callbacks.indexOf(callback) === -1) { + _callbacks.push(callback); + } + + if (!_mouseUpListenerIsActive) { + window.addEventListener('mouseup', _handleMouseUp); + _mouseUpListenerIsActive = true; + } + + return { + remove: function remove() { + var index = _callbacks.indexOf(callback); + + _callbacks.splice(index, 1); + + if (_callbacks.length === 0 && _mouseUpListenerIsActive) { + window.removeEventListener('mouseup', _handleMouseUp); + _mouseUpListenerIsActive = false; + } + } + }; +}; + +/* harmony default export */ __webpack_exports__["default"] = ({ + subscribe: subscribe, + __triggerForTests: _handleMouseUp +}); + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/prefix-plugin.js": +/*!*********************************************************!*\ + !*** ./node_modules/radium/es/plugins/prefix-plugin.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return prefixPlugin; }); +/* harmony import */ var _prefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../prefixer */ "./node_modules/radium/es/prefixer.js"); + +function prefixPlugin(_ref) { + var config = _ref.config, + style = _ref.style; + var newStyle = Object(_prefixer__WEBPACK_IMPORTED_MODULE_0__["getPrefixedStyle"])(style, config.userAgent); + return { + style: newStyle + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/remove-nested-styles-plugin.js": +/*!***********************************************************************!*\ + !*** ./node_modules/radium/es/plugins/remove-nested-styles-plugin.js ***! + \***********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return removeNestedStyles; }); +function removeNestedStyles(_ref) { + var isNestedStyle = _ref.isNestedStyle, + style = _ref.style; + // eslint-disable-line no-shadow + var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { + var value = style[key]; + + if (!isNestedStyle(value)) { + newStyleInProgress[key] = value; + } + + return newStyleInProgress; + }, {}); + return { + style: newStyle + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js": +/*!*****************************************************************************!*\ + !*** ./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js ***! + \*****************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _mouse_up_listener__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./mouse-up-listener */ "./node_modules/radium/es/plugins/mouse-up-listener.js"); + + +var _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) { + return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus'; +}; + +var resolveInteractionStyles = function resolveInteractionStyles(config) { + var ExecutionEnvironment = config.ExecutionEnvironment, + getComponentField = config.getComponentField, + getState = config.getState, + mergeStyles = config.mergeStyles, + props = config.props, + setState = config.setState, + style = config.style; + var newComponentFields = {}; + var newProps = {}; // Only add handlers if necessary + + if (style[':hover']) { + // Always call the existing handler if one is already defined. + // This code, and the very similar ones below, could be abstracted a bit + // more, but it hurts readability IMO. + var existingOnMouseEnter = props.onMouseEnter; + + newProps.onMouseEnter = function (e) { + existingOnMouseEnter && existingOnMouseEnter(e); + setState(':hover', true); + }; + + var existingOnMouseLeave = props.onMouseLeave; + + newProps.onMouseLeave = function (e) { + existingOnMouseLeave && existingOnMouseLeave(e); + setState(':hover', false); + }; + } + + if (style[':active']) { + var existingOnMouseDown = props.onMouseDown; + + newProps.onMouseDown = function (e) { + existingOnMouseDown && existingOnMouseDown(e); + newComponentFields._lastMouseDown = Date.now(); + setState(':active', 'viamousedown'); + }; + + var existingOnKeyDown = props.onKeyDown; + + newProps.onKeyDown = function (e) { + existingOnKeyDown && existingOnKeyDown(e); + + if (e.key === ' ' || e.key === 'Enter') { + setState(':active', 'viakeydown'); + } + }; + + var existingOnKeyUp = props.onKeyUp; + + newProps.onKeyUp = function (e) { + existingOnKeyUp && existingOnKeyUp(e); + + if (e.key === ' ' || e.key === 'Enter') { + setState(':active', false); + } + }; + } + + if (style[':focus']) { + var existingOnFocus = props.onFocus; + + newProps.onFocus = function (e) { + existingOnFocus && existingOnFocus(e); + setState(':focus', true); + }; + + var existingOnBlur = props.onBlur; + + newProps.onBlur = function (e) { + existingOnBlur && existingOnBlur(e); + setState(':focus', false); + }; + } + + if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) { + newComponentFields._radiumMouseUpListener = _mouse_up_listener__WEBPACK_IMPORTED_MODULE_0__["default"].subscribe(function () { + Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) { + if (getState(':active', key) === 'viamousedown') { + setState(':active', false, key); + } + }); + }); + } // Merge the styles in the order they were defined + + + var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) { + return _isInteractiveStyleField(name) && getState(name); + }).map(function (name) { + return style[name]; + }); + var newStyle = mergeStyles([style].concat(interactionStyles)); // Remove interactive styles + + newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) { + if (!_isInteractiveStyleField(name) && name !== ':disabled') { + styleWithoutInteractions[name] = newStyle[name]; + } + + return styleWithoutInteractions; + }, {}); + return { + componentFields: newComponentFields, + props: newProps, + style: newStyle + }; +}; + +/* harmony default export */ __webpack_exports__["default"] = (resolveInteractionStyles); + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/resolve-media-queries-plugin.js": +/*!************************************************************************!*\ + !*** ./node_modules/radium/es/plugins/resolve-media-queries-plugin.js ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return resolveMediaQueries; }); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var _windowMatchMedia; + +function _getWindowMatchMedia(ExecutionEnvironment) { + if (_windowMatchMedia === undefined) { + _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) { + return window.matchMedia(mediaQueryString); + } || null; + } + + return _windowMatchMedia; +} + +function _filterObject(obj, predicate) { + return Object.keys(obj).filter(function (key) { + return predicate(obj[key], key); + }).reduce(function (result, key) { + result[key] = obj[key]; + return result; + }, {}); +} + +function _removeMediaQueries(style) { + return Object.keys(style).reduce(function (styleWithoutMedia, key) { + if (key.indexOf('@media') !== 0) { + styleWithoutMedia[key] = style[key]; + } + + return styleWithoutMedia; + }, {}); +} + +function _topLevelRulesToCSS(_ref) { + var addCSS = _ref.addCSS, + appendImportantToEachValue = _ref.appendImportantToEachValue, + cssRuleSetToString = _ref.cssRuleSetToString, + hash = _ref.hash, + isNestedStyle = _ref.isNestedStyle, + style = _ref.style, + userAgent = _ref.userAgent; + var className = ''; + Object.keys(style).filter(function (name) { + return name.indexOf('@media') === 0; + }).map(function (query) { + var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) { + return !isNestedStyle(value); + })); + + if (!Object.keys(topLevelRules).length) { + return; + } + + var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent); // CSS classes cannot start with a number + + var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS); + var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}'; + addCSS(css); + className += (className ? ' ' : '') + mediaQueryClassName; + }); + return className; +} + +function _subscribeToMediaQuery(_ref2) { + var listener = _ref2.listener, + listenersByQuery = _ref2.listenersByQuery, + matchMedia = _ref2.matchMedia, + mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery, + query = _ref2.query; + query = query.replace('@media ', ''); + var mql = mediaQueryListsByQuery[query]; + + if (!mql && matchMedia) { + mediaQueryListsByQuery[query] = mql = matchMedia(query); + } + + if (!listenersByQuery || !listenersByQuery[query]) { + mql.addListener(listener); + listenersByQuery[query] = { + remove: function remove() { + mql.removeListener(listener); + } + }; + } + + return mql; +} + +function resolveMediaQueries(_ref3) { + var ExecutionEnvironment = _ref3.ExecutionEnvironment, + addCSS = _ref3.addCSS, + appendImportantToEachValue = _ref3.appendImportantToEachValue, + config = _ref3.config, + cssRuleSetToString = _ref3.cssRuleSetToString, + getComponentField = _ref3.getComponentField, + getGlobalState = _ref3.getGlobalState, + hash = _ref3.hash, + isNestedStyle = _ref3.isNestedStyle, + mergeStyles = _ref3.mergeStyles, + props = _ref3.props, + setState = _ref3.setState, + style = _ref3.style; + + // eslint-disable-line no-shadow + var newStyle = _removeMediaQueries(style); + + var mediaQueryClassNames = _topLevelRulesToCSS({ + addCSS: addCSS, + appendImportantToEachValue: appendImportantToEachValue, + cssRuleSetToString: cssRuleSetToString, + hash: hash, + isNestedStyle: isNestedStyle, + style: style, + userAgent: config.userAgent + }); + + var newProps = mediaQueryClassNames ? { + className: mediaQueryClassNames + (props.className ? ' ' + props.className : '') + } : null; + + var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment); + + if (!matchMedia) { + return { + props: newProps, + style: newStyle + }; + } + + var listenersByQuery = _objectSpread({}, getComponentField('_radiumMediaQueryListenersByQuery')); + + var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {}; + Object.keys(style).filter(function (name) { + return name.indexOf('@media') === 0; + }).map(function (query) { + var nestedRules = _filterObject(style[query], isNestedStyle); + + if (!Object.keys(nestedRules).length) { + return; + } + + var mql = _subscribeToMediaQuery({ + listener: function listener() { + return setState(query, mql.matches, '_all'); + }, + listenersByQuery: listenersByQuery, + matchMedia: matchMedia, + mediaQueryListsByQuery: mediaQueryListsByQuery, + query: query + }); // Apply media query states + + + if (mql.matches) { + newStyle = mergeStyles([newStyle, nestedRules]); + } + }); + return { + componentFields: { + _radiumMediaQueryListenersByQuery: listenersByQuery + }, + globalState: { + mediaQueryListsByQuery: mediaQueryListsByQuery + }, + props: newProps, + style: newStyle + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/plugins/visited-plugin.js": +/*!**********************************************************!*\ + !*** ./node_modules/radium/es/plugins/visited-plugin.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return visited; }); +function visited(_ref) { + var addCSS = _ref.addCSS, + appendImportantToEachValue = _ref.appendImportantToEachValue, + config = _ref.config, + cssRuleSetToString = _ref.cssRuleSetToString, + hash = _ref.hash, + props = _ref.props, + style = _ref.style; + // eslint-disable-line no-shadow + var className = props.className; + var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) { + var value = style[key]; + + if (key === ':visited') { + value = appendImportantToEachValue(value); + var ruleCSS = cssRuleSetToString('', value, config.userAgent); + var visitedClassName = 'rad-' + hash(ruleCSS); + var css = '.' + visitedClassName + ':visited' + ruleCSS; + addCSS(css); + className = (className ? className + ' ' : '') + visitedClassName; + } else { + newStyleInProgress[key] = value; + } + + return newStyleInProgress; + }, {}); + return { + props: className === props.className ? null : { + className: className + }, + style: newStyle + }; +} + +/***/ }), + +/***/ "./node_modules/radium/es/prefix-data/dynamic.js": +/*!*******************************************************!*\ + !*** ./node_modules/radium/es/prefix-data/dynamic.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/calc */ "./node_modules/inline-style-prefixer/dynamic/plugins/calc.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/crossFade */ "./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/cursor */ "./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/filter */ "./node_modules/inline-style-prefixer/dynamic/plugins/filter.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flex */ "./node_modules/inline-style-prefixer/dynamic/plugins/flex.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flexboxIE */ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/flexboxOld */ "./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/gradient */ "./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/imageSet */ "./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/position */ "./node_modules/inline-style-prefixer/dynamic/plugins/position.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/sizing */ "./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! inline-style-prefixer/dynamic/plugins/transition */ "./node_modules/inline-style-prefixer/dynamic/plugins/transition.js"); +/* harmony import */ var inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11__); + + + + + + + + + + + + +/* harmony default export */ __webpack_exports__["default"] = ({ + plugins: [inline_style_prefixer_dynamic_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default.a, inline_style_prefixer_dynamic_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default.a, inline_style_prefixer_dynamic_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default.a, inline_style_prefixer_dynamic_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default.a, inline_style_prefixer_dynamic_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default.a, inline_style_prefixer_dynamic_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default.a, inline_style_prefixer_dynamic_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default.a, inline_style_prefixer_dynamic_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default.a, inline_style_prefixer_dynamic_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default.a, inline_style_prefixer_dynamic_plugins_position__WEBPACK_IMPORTED_MODULE_9___default.a, inline_style_prefixer_dynamic_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default.a, inline_style_prefixer_dynamic_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default.a], + prefixMap: { + chrome: { + transform: 35, + transformOrigin: 35, + transformOriginX: 35, + transformOriginY: 35, + backfaceVisibility: 35, + perspective: 35, + perspectiveOrigin: 35, + transformStyle: 35, + transformOriginZ: 35, + animation: 42, + animationDelay: 42, + animationDirection: 42, + animationFillMode: 42, + animationDuration: 42, + animationIterationCount: 42, + animationName: 42, + animationPlayState: 42, + animationTimingFunction: 42, + appearance: 66, + userSelect: 53, + fontKerning: 32, + textEmphasisPosition: 66, + textEmphasis: 66, + textEmphasisStyle: 66, + textEmphasisColor: 66, + boxDecorationBreak: 66, + clipPath: 54, + maskImage: 66, + maskMode: 66, + maskRepeat: 66, + maskPosition: 66, + maskClip: 66, + maskOrigin: 66, + maskSize: 66, + maskComposite: 66, + mask: 66, + maskBorderSource: 66, + maskBorderMode: 66, + maskBorderSlice: 66, + maskBorderWidth: 66, + maskBorderOutset: 66, + maskBorderRepeat: 66, + maskBorder: 66, + maskType: 66, + textDecorationStyle: 56, + textDecorationSkip: 56, + textDecorationLine: 56, + textDecorationColor: 56, + filter: 52, + fontFeatureSettings: 47, + breakAfter: 49, + breakBefore: 49, + breakInside: 49, + columnCount: 49, + columnFill: 49, + columnGap: 49, + columnRule: 49, + columnRuleColor: 49, + columnRuleStyle: 49, + columnRuleWidth: 49, + columns: 49, + columnSpan: 49, + columnWidth: 49, + writingMode: 47 + }, + safari: { + flex: 8, + flexBasis: 8, + flexDirection: 8, + flexGrow: 8, + flexFlow: 8, + flexShrink: 8, + flexWrap: 8, + alignContent: 8, + alignItems: 8, + alignSelf: 8, + justifyContent: 8, + order: 8, + transition: 6, + transitionDelay: 6, + transitionDuration: 6, + transitionProperty: 6, + transitionTimingFunction: 6, + transform: 8, + transformOrigin: 8, + transformOriginX: 8, + transformOriginY: 8, + backfaceVisibility: 8, + perspective: 8, + perspectiveOrigin: 8, + transformStyle: 8, + transformOriginZ: 8, + animation: 8, + animationDelay: 8, + animationDirection: 8, + animationFillMode: 8, + animationDuration: 8, + animationIterationCount: 8, + animationName: 8, + animationPlayState: 8, + animationTimingFunction: 8, + appearance: 11, + userSelect: 11, + backdropFilter: 11, + fontKerning: 9, + scrollSnapType: 10.1, + scrollSnapPointsX: 10.1, + scrollSnapPointsY: 10.1, + scrollSnapDestination: 10.1, + scrollSnapCoordinate: 10.1, + textEmphasisPosition: 7, + textEmphasis: 7, + textEmphasisStyle: 7, + textEmphasisColor: 7, + boxDecorationBreak: 11, + clipPath: 11, + maskImage: 11, + maskMode: 11, + maskRepeat: 11, + maskPosition: 11, + maskClip: 11, + maskOrigin: 11, + maskSize: 11, + maskComposite: 11, + mask: 11, + maskBorderSource: 11, + maskBorderMode: 11, + maskBorderSlice: 11, + maskBorderWidth: 11, + maskBorderOutset: 11, + maskBorderRepeat: 11, + maskBorder: 11, + maskType: 11, + textDecorationStyle: 11, + textDecorationSkip: 11, + textDecorationLine: 11, + textDecorationColor: 11, + shapeImageThreshold: 10, + shapeImageMargin: 10, + shapeImageOutside: 10, + filter: 9, + hyphens: 11, + flowInto: 11, + flowFrom: 11, + breakBefore: 8, + breakAfter: 8, + breakInside: 8, + regionFragment: 11, + columnCount: 8, + columnFill: 8, + columnGap: 8, + columnRule: 8, + columnRuleColor: 8, + columnRuleStyle: 8, + columnRuleWidth: 8, + columns: 8, + columnSpan: 8, + columnWidth: 8, + writingMode: 10.1 + }, + firefox: { + appearance: 60, + userSelect: 60, + boxSizing: 28, + textAlignLast: 48, + textDecorationStyle: 35, + textDecorationSkip: 35, + textDecorationLine: 35, + textDecorationColor: 35, + tabSize: 60, + hyphens: 42, + fontFeatureSettings: 33, + breakAfter: 51, + breakBefore: 51, + breakInside: 51, + columnCount: 51, + columnFill: 51, + columnGap: 51, + columnRule: 51, + columnRuleColor: 51, + columnRuleStyle: 51, + columnRuleWidth: 51, + columns: 51, + columnSpan: 51, + columnWidth: 51 + }, + opera: { + flex: 16, + flexBasis: 16, + flexDirection: 16, + flexGrow: 16, + flexFlow: 16, + flexShrink: 16, + flexWrap: 16, + alignContent: 16, + alignItems: 16, + alignSelf: 16, + justifyContent: 16, + order: 16, + transform: 22, + transformOrigin: 22, + transformOriginX: 22, + transformOriginY: 22, + backfaceVisibility: 22, + perspective: 22, + perspectiveOrigin: 22, + transformStyle: 22, + transformOriginZ: 22, + animation: 29, + animationDelay: 29, + animationDirection: 29, + animationFillMode: 29, + animationDuration: 29, + animationIterationCount: 29, + animationName: 29, + animationPlayState: 29, + animationTimingFunction: 29, + appearance: 50, + userSelect: 40, + fontKerning: 19, + textEmphasisPosition: 50, + textEmphasis: 50, + textEmphasisStyle: 50, + textEmphasisColor: 50, + boxDecorationBreak: 50, + clipPath: 41, + maskImage: 50, + maskMode: 50, + maskRepeat: 50, + maskPosition: 50, + maskClip: 50, + maskOrigin: 50, + maskSize: 50, + maskComposite: 50, + mask: 50, + maskBorderSource: 50, + maskBorderMode: 50, + maskBorderSlice: 50, + maskBorderWidth: 50, + maskBorderOutset: 50, + maskBorderRepeat: 50, + maskBorder: 50, + maskType: 50, + textDecorationStyle: 43, + textDecorationSkip: 43, + textDecorationLine: 43, + textDecorationColor: 43, + filter: 39, + fontFeatureSettings: 34, + breakAfter: 36, + breakBefore: 36, + breakInside: 36, + columnCount: 36, + columnFill: 36, + columnGap: 36, + columnRule: 36, + columnRuleColor: 36, + columnRuleStyle: 36, + columnRuleWidth: 36, + columns: 36, + columnSpan: 36, + columnWidth: 36, + writingMode: 34 + }, + ie: { + flex: 10, + flexDirection: 10, + flexFlow: 10, + flexWrap: 10, + transform: 9, + transformOrigin: 9, + transformOriginX: 9, + transformOriginY: 9, + userSelect: 11, + wrapFlow: 11, + wrapThrough: 11, + wrapMargin: 11, + scrollSnapType: 11, + scrollSnapPointsX: 11, + scrollSnapPointsY: 11, + scrollSnapDestination: 11, + scrollSnapCoordinate: 11, + touchAction: 10, + hyphens: 11, + flowInto: 11, + flowFrom: 11, + breakBefore: 11, + breakAfter: 11, + breakInside: 11, + regionFragment: 11, + gridTemplateColumns: 11, + gridTemplateRows: 11, + gridTemplateAreas: 11, + gridTemplate: 11, + gridAutoColumns: 11, + gridAutoRows: 11, + gridAutoFlow: 11, + grid: 11, + gridRowStart: 11, + gridColumnStart: 11, + gridRowEnd: 11, + gridRow: 11, + gridColumn: 11, + gridColumnEnd: 11, + gridColumnGap: 11, + gridRowGap: 11, + gridArea: 11, + gridGap: 11, + textSizeAdjust: 11, + writingMode: 11 + }, + edge: { + userSelect: 17, + wrapFlow: 17, + wrapThrough: 17, + wrapMargin: 17, + scrollSnapType: 17, + scrollSnapPointsX: 17, + scrollSnapPointsY: 17, + scrollSnapDestination: 17, + scrollSnapCoordinate: 17, + hyphens: 17, + flowInto: 17, + flowFrom: 17, + breakBefore: 17, + breakAfter: 17, + breakInside: 17, + regionFragment: 17, + gridTemplateColumns: 15, + gridTemplateRows: 15, + gridTemplateAreas: 15, + gridTemplate: 15, + gridAutoColumns: 15, + gridAutoRows: 15, + gridAutoFlow: 15, + grid: 15, + gridRowStart: 15, + gridColumnStart: 15, + gridRowEnd: 15, + gridRow: 15, + gridColumn: 15, + gridColumnEnd: 15, + gridColumnGap: 15, + gridRowGap: 15, + gridArea: 15, + gridGap: 15 + }, + ios_saf: { + flex: 8.1, + flexBasis: 8.1, + flexDirection: 8.1, + flexGrow: 8.1, + flexFlow: 8.1, + flexShrink: 8.1, + flexWrap: 8.1, + alignContent: 8.1, + alignItems: 8.1, + alignSelf: 8.1, + justifyContent: 8.1, + order: 8.1, + transition: 6, + transitionDelay: 6, + transitionDuration: 6, + transitionProperty: 6, + transitionTimingFunction: 6, + transform: 8.1, + transformOrigin: 8.1, + transformOriginX: 8.1, + transformOriginY: 8.1, + backfaceVisibility: 8.1, + perspective: 8.1, + perspectiveOrigin: 8.1, + transformStyle: 8.1, + transformOriginZ: 8.1, + animation: 8.1, + animationDelay: 8.1, + animationDirection: 8.1, + animationFillMode: 8.1, + animationDuration: 8.1, + animationIterationCount: 8.1, + animationName: 8.1, + animationPlayState: 8.1, + animationTimingFunction: 8.1, + appearance: 11, + userSelect: 11, + backdropFilter: 11, + fontKerning: 11, + scrollSnapType: 10.3, + scrollSnapPointsX: 10.3, + scrollSnapPointsY: 10.3, + scrollSnapDestination: 10.3, + scrollSnapCoordinate: 10.3, + boxDecorationBreak: 11, + clipPath: 11, + maskImage: 11, + maskMode: 11, + maskRepeat: 11, + maskPosition: 11, + maskClip: 11, + maskOrigin: 11, + maskSize: 11, + maskComposite: 11, + mask: 11, + maskBorderSource: 11, + maskBorderMode: 11, + maskBorderSlice: 11, + maskBorderWidth: 11, + maskBorderOutset: 11, + maskBorderRepeat: 11, + maskBorder: 11, + maskType: 11, + textSizeAdjust: 11, + textDecorationStyle: 11, + textDecorationSkip: 11, + textDecorationLine: 11, + textDecorationColor: 11, + shapeImageThreshold: 10, + shapeImageMargin: 10, + shapeImageOutside: 10, + filter: 9, + hyphens: 11, + flowInto: 11, + flowFrom: 11, + breakBefore: 8.1, + breakAfter: 8.1, + breakInside: 8.1, + regionFragment: 11, + columnCount: 8.1, + columnFill: 8.1, + columnGap: 8.1, + columnRule: 8.1, + columnRuleColor: 8.1, + columnRuleStyle: 8.1, + columnRuleWidth: 8.1, + columns: 8.1, + columnSpan: 8.1, + columnWidth: 8.1, + writingMode: 10.3 + }, + android: { + borderImage: 4.2, + borderImageOutset: 4.2, + borderImageRepeat: 4.2, + borderImageSlice: 4.2, + borderImageSource: 4.2, + borderImageWidth: 4.2, + flex: 4.2, + flexBasis: 4.2, + flexDirection: 4.2, + flexGrow: 4.2, + flexFlow: 4.2, + flexShrink: 4.2, + flexWrap: 4.2, + alignContent: 4.2, + alignItems: 4.2, + alignSelf: 4.2, + justifyContent: 4.2, + order: 4.2, + transition: 4.2, + transitionDelay: 4.2, + transitionDuration: 4.2, + transitionProperty: 4.2, + transitionTimingFunction: 4.2, + transform: 4.4, + transformOrigin: 4.4, + transformOriginX: 4.4, + transformOriginY: 4.4, + backfaceVisibility: 4.4, + perspective: 4.4, + perspectiveOrigin: 4.4, + transformStyle: 4.4, + transformOriginZ: 4.4, + animation: 4.4, + animationDelay: 4.4, + animationDirection: 4.4, + animationFillMode: 4.4, + animationDuration: 4.4, + animationIterationCount: 4.4, + animationName: 4.4, + animationPlayState: 4.4, + animationTimingFunction: 4.4, + appearance: 62, + userSelect: 4.4, + fontKerning: 4.4, + textEmphasisPosition: 62, + textEmphasis: 62, + textEmphasisStyle: 62, + textEmphasisColor: 62, + boxDecorationBreak: 62, + clipPath: 4.4, + maskImage: 62, + maskMode: 62, + maskRepeat: 62, + maskPosition: 62, + maskClip: 62, + maskOrigin: 62, + maskSize: 62, + maskComposite: 62, + mask: 62, + maskBorderSource: 62, + maskBorderMode: 62, + maskBorderSlice: 62, + maskBorderWidth: 62, + maskBorderOutset: 62, + maskBorderRepeat: 62, + maskBorder: 62, + maskType: 62, + filter: 4.4, + fontFeatureSettings: 4.4, + breakAfter: 4.4, + breakBefore: 4.4, + breakInside: 4.4, + columnCount: 4.4, + columnFill: 4.4, + columnGap: 4.4, + columnRule: 4.4, + columnRuleColor: 4.4, + columnRuleStyle: 4.4, + columnRuleWidth: 4.4, + columns: 4.4, + columnSpan: 4.4, + columnWidth: 4.4, + writingMode: 4.4 + }, + and_chr: { + appearance: 62, + textEmphasisPosition: 62, + textEmphasis: 62, + textEmphasisStyle: 62, + textEmphasisColor: 62, + boxDecorationBreak: 62, + maskImage: 62, + maskMode: 62, + maskRepeat: 62, + maskPosition: 62, + maskClip: 62, + maskOrigin: 62, + maskSize: 62, + maskComposite: 62, + mask: 62, + maskBorderSource: 62, + maskBorderMode: 62, + maskBorderSlice: 62, + maskBorderWidth: 62, + maskBorderOutset: 62, + maskBorderRepeat: 62, + maskBorder: 62, + maskType: 62 + }, + and_uc: { + flex: 11.4, + flexBasis: 11.4, + flexDirection: 11.4, + flexGrow: 11.4, + flexFlow: 11.4, + flexShrink: 11.4, + flexWrap: 11.4, + alignContent: 11.4, + alignItems: 11.4, + alignSelf: 11.4, + justifyContent: 11.4, + order: 11.4, + transform: 11.4, + transformOrigin: 11.4, + transformOriginX: 11.4, + transformOriginY: 11.4, + backfaceVisibility: 11.4, + perspective: 11.4, + perspectiveOrigin: 11.4, + transformStyle: 11.4, + transformOriginZ: 11.4, + animation: 11.4, + animationDelay: 11.4, + animationDirection: 11.4, + animationFillMode: 11.4, + animationDuration: 11.4, + animationIterationCount: 11.4, + animationName: 11.4, + animationPlayState: 11.4, + animationTimingFunction: 11.4, + appearance: 11.4, + userSelect: 11.4, + textEmphasisPosition: 11.4, + textEmphasis: 11.4, + textEmphasisStyle: 11.4, + textEmphasisColor: 11.4, + clipPath: 11.4, + maskImage: 11.4, + maskMode: 11.4, + maskRepeat: 11.4, + maskPosition: 11.4, + maskClip: 11.4, + maskOrigin: 11.4, + maskSize: 11.4, + maskComposite: 11.4, + mask: 11.4, + maskBorderSource: 11.4, + maskBorderMode: 11.4, + maskBorderSlice: 11.4, + maskBorderWidth: 11.4, + maskBorderOutset: 11.4, + maskBorderRepeat: 11.4, + maskBorder: 11.4, + maskType: 11.4, + textSizeAdjust: 11.4, + filter: 11.4, + hyphens: 11.4, + fontFeatureSettings: 11.4, + breakAfter: 11.4, + breakBefore: 11.4, + breakInside: 11.4, + columnCount: 11.4, + columnFill: 11.4, + columnGap: 11.4, + columnRule: 11.4, + columnRuleColor: 11.4, + columnRuleStyle: 11.4, + columnRuleWidth: 11.4, + columns: 11.4, + columnSpan: 11.4, + columnWidth: 11.4, + writingMode: 11.4 + }, + op_mini: {} + } +}); + +/***/ }), + +/***/ "./node_modules/radium/es/prefix-data/static.js": +/*!******************************************************!*\ + !*** ./node_modules/radium/es/prefix-data/static.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/calc */ "./node_modules/inline-style-prefixer/static/plugins/calc.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/crossFade */ "./node_modules/inline-style-prefixer/static/plugins/crossFade.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/cursor */ "./node_modules/inline-style-prefixer/static/plugins/cursor.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/filter */ "./node_modules/inline-style-prefixer/static/plugins/filter.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flex */ "./node_modules/inline-style-prefixer/static/plugins/flex.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flexboxIE */ "./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/flexboxOld */ "./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/gradient */ "./node_modules/inline-style-prefixer/static/plugins/gradient.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/imageSet */ "./node_modules/inline-style-prefixer/static/plugins/imageSet.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/position */ "./node_modules/inline-style-prefixer/static/plugins/position.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/sizing */ "./node_modules/inline-style-prefixer/static/plugins/sizing.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! inline-style-prefixer/static/plugins/transition */ "./node_modules/inline-style-prefixer/static/plugins/transition.js"); +/* harmony import */ var inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11__); + + + + + + + + + + + + +var w = ['Webkit']; +var m = ['Moz']; +var ms = ['ms']; +var wm = ['Webkit', 'Moz']; +var wms = ['Webkit', 'ms']; +var wmms = ['Webkit', 'Moz', 'ms']; +/* harmony default export */ __webpack_exports__["default"] = ({ + plugins: [inline_style_prefixer_static_plugins_calc__WEBPACK_IMPORTED_MODULE_0___default.a, inline_style_prefixer_static_plugins_crossFade__WEBPACK_IMPORTED_MODULE_1___default.a, inline_style_prefixer_static_plugins_cursor__WEBPACK_IMPORTED_MODULE_2___default.a, inline_style_prefixer_static_plugins_filter__WEBPACK_IMPORTED_MODULE_3___default.a, inline_style_prefixer_static_plugins_flex__WEBPACK_IMPORTED_MODULE_4___default.a, inline_style_prefixer_static_plugins_flexboxIE__WEBPACK_IMPORTED_MODULE_5___default.a, inline_style_prefixer_static_plugins_flexboxOld__WEBPACK_IMPORTED_MODULE_6___default.a, inline_style_prefixer_static_plugins_gradient__WEBPACK_IMPORTED_MODULE_7___default.a, inline_style_prefixer_static_plugins_imageSet__WEBPACK_IMPORTED_MODULE_8___default.a, inline_style_prefixer_static_plugins_position__WEBPACK_IMPORTED_MODULE_9___default.a, inline_style_prefixer_static_plugins_sizing__WEBPACK_IMPORTED_MODULE_10___default.a, inline_style_prefixer_static_plugins_transition__WEBPACK_IMPORTED_MODULE_11___default.a], + prefixMap: { + transform: wms, + transformOrigin: wms, + transformOriginX: wms, + transformOriginY: wms, + backfaceVisibility: w, + perspective: w, + perspectiveOrigin: w, + transformStyle: w, + transformOriginZ: w, + animation: w, + animationDelay: w, + animationDirection: w, + animationFillMode: w, + animationDuration: w, + animationIterationCount: w, + animationName: w, + animationPlayState: w, + animationTimingFunction: w, + appearance: wm, + userSelect: wmms, + fontKerning: w, + textEmphasisPosition: w, + textEmphasis: w, + textEmphasisStyle: w, + textEmphasisColor: w, + boxDecorationBreak: w, + clipPath: w, + maskImage: w, + maskMode: w, + maskRepeat: w, + maskPosition: w, + maskClip: w, + maskOrigin: w, + maskSize: w, + maskComposite: w, + mask: w, + maskBorderSource: w, + maskBorderMode: w, + maskBorderSlice: w, + maskBorderWidth: w, + maskBorderOutset: w, + maskBorderRepeat: w, + maskBorder: w, + maskType: w, + textDecorationStyle: wm, + textDecorationSkip: wm, + textDecorationLine: wm, + textDecorationColor: wm, + filter: w, + fontFeatureSettings: wm, + breakAfter: wmms, + breakBefore: wmms, + breakInside: wmms, + columnCount: wm, + columnFill: wm, + columnGap: wm, + columnRule: wm, + columnRuleColor: wm, + columnRuleStyle: wm, + columnRuleWidth: wm, + columns: wm, + columnSpan: wm, + columnWidth: wm, + writingMode: wms, + flex: wms, + flexBasis: w, + flexDirection: wms, + flexGrow: w, + flexFlow: wms, + flexShrink: w, + flexWrap: wms, + alignContent: w, + alignItems: w, + alignSelf: w, + justifyContent: w, + order: w, + transitionDelay: w, + transitionDuration: w, + transitionProperty: w, + transitionTimingFunction: w, + backdropFilter: w, + scrollSnapType: wms, + scrollSnapPointsX: wms, + scrollSnapPointsY: wms, + scrollSnapDestination: wms, + scrollSnapCoordinate: wms, + shapeImageThreshold: w, + shapeImageMargin: w, + shapeImageOutside: w, + hyphens: wmms, + flowInto: wms, + flowFrom: wms, + regionFragment: wms, + boxSizing: m, + textAlignLast: m, + tabSize: m, + wrapFlow: ms, + wrapThrough: ms, + wrapMargin: ms, + touchAction: ms, + gridTemplateColumns: ms, + gridTemplateRows: ms, + gridTemplateAreas: ms, + gridTemplate: ms, + gridAutoColumns: ms, + gridAutoRows: ms, + gridAutoFlow: ms, + grid: ms, + gridRowStart: ms, + gridColumnStart: ms, + gridRowEnd: ms, + gridRow: ms, + gridColumn: ms, + gridColumnEnd: ms, + gridColumnGap: ms, + gridRowGap: ms, + gridArea: ms, + gridGap: ms, + textSizeAdjust: wms, + borderImage: w, + borderImageOutset: w, + borderImageRepeat: w, + borderImageSlice: w, + borderImageSource: w, + borderImageWidth: w + } +}); + +/***/ }), + +/***/ "./node_modules/radium/es/prefixer.js": +/*!********************************************!*\ + !*** ./node_modules/radium/es/prefixer.js ***! + \********************************************/ +/*! exports provided: getPrefixedKeyframes, getPrefixedStyle */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefixedKeyframes", function() { return getPrefixedKeyframes; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPrefixedStyle", function() { return getPrefixedStyle; }); +/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! inline-style-prefixer/static/createPrefixer */ "./node_modules/inline-style-prefixer/static/createPrefixer.js"); +/* harmony import */ var inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! inline-style-prefixer/dynamic/createPrefixer */ "./node_modules/inline-style-prefixer/dynamic/createPrefixer.js"); +/* harmony import */ var inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! exenv */ "./node_modules/exenv/index.js"); +/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _prefix_data_static__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prefix-data/static */ "./node_modules/radium/es/prefix-data/static.js"); +/* harmony import */ var _prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./prefix-data/dynamic */ "./node_modules/radium/es/prefix-data/dynamic.js"); +/* harmony import */ var _camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./camel-case-props-to-dash-case */ "./node_modules/radium/es/camel-case-props-to-dash-case.js"); +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/** + * Based on https://github.com/jsstyles/css-vendor, but without having to + * convert between different cases all the time. + * + * + */ + + + + + + +var prefixAll = inline_style_prefixer_static_createPrefixer__WEBPACK_IMPORTED_MODULE_0___default()(_prefix_data_static__WEBPACK_IMPORTED_MODULE_3__["default"]); +var InlineStylePrefixer = inline_style_prefixer_dynamic_createPrefixer__WEBPACK_IMPORTED_MODULE_1___default()(_prefix_data_dynamic__WEBPACK_IMPORTED_MODULE_4__["default"], prefixAll); + +function transformValues(style) { + return Object.keys(style).reduce(function (newStyle, key) { + var value = style[key]; + + if (Array.isArray(value)) { + value = value.join(';' + key + ':'); + } else if (value && _typeof(value) === 'object' && typeof value.toString === 'function') { + value = value.toString(); + } + + newStyle[key] = value; + return newStyle; + }, {}); +} // Flatten prefixed values that are arrays to strings. +// +// We get prefixed styles back in the form of: +// - `display: "flex"` OR +// - `display: "-webkit-flex"` OR +// - `display: [/* ... */, "-webkit-flex", "flex"] +// +// The last form is problematic for eventual use in the browser and server +// render. More confusingly, we have to do **different** things on the +// browser and server (noted inline below). +// +// https://github.com/FormidableLabs/radium/issues/958 + + +function flattenStyleValues(style) { + return Object.keys(style).reduce(function (newStyle, key) { + var val = style[key]; + + if (Array.isArray(val)) { + if (exenv__WEBPACK_IMPORTED_MODULE_2___default.a.canUseDOM) { + // For the **browser**, when faced with multiple values, we just take + // the **last** one, which is the original passed in value before + // prefixing. This _should_ work, because `inline-style-prefixer` + // we're just passing through what would happen without ISP. + val = val[val.length - 1].toString(); + } else { + // For the **server**, we just concatenate things together and convert + // the style object values into a hacked-up string of like `display: + // "-webkit-flex;display:flex"` that will SSR render correctly to like + // `"display:-webkit-flex;display:flex"` but would otherwise be + // totally invalid values. + // We convert keys to dash-case only for the serialize values and + // leave the real key camel-cased so it's as expected to React and + // other parts of the processing chain. + val = val.join(";".concat(Object(_camel_case_props_to_dash_case__WEBPACK_IMPORTED_MODULE_5__["camelCaseToDashCase"])(key), ":")); + } + } + + newStyle[key] = val; + return newStyle; + }, {}); +} + +var _hasWarnedAboutUserAgent = false; + +var _lastUserAgent; + +var _cachedPrefixer; + +function getPrefixer(userAgent) { + var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent; + + if (true) { + if (!actualUserAgent && !_hasWarnedAboutUserAgent) { + /* eslint-disable no-console */ + console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.'); + /* eslint-enable no-console */ + + _hasWarnedAboutUserAgent = true; + } + } + + if ( false || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) { + if (actualUserAgent === 'all') { + _cachedPrefixer = { + prefix: prefixAll, + prefixedKeyframes: 'keyframes' + }; + } else { + _cachedPrefixer = new InlineStylePrefixer({ + userAgent: actualUserAgent + }); + } + + _lastUserAgent = actualUserAgent; + } + + return _cachedPrefixer; +} + +function getPrefixedKeyframes(userAgent) { + return getPrefixer(userAgent).prefixedKeyframes || 'keyframes'; +} // Returns a new style object with vendor prefixes added to property names and +// values. + +function getPrefixedStyle(style, userAgent) { + var styleWithFallbacks = transformValues(style); + var prefixer = getPrefixer(userAgent); + var prefixedStyle = prefixer.prefix(styleWithFallbacks); + var flattenedStyle = flattenStyleValues(prefixedStyle); + return flattenedStyle; +} +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"))) + +/***/ }), + +/***/ "./node_modules/radium/es/resolve-styles.js": +/*!**************************************************!*\ + !*** ./node_modules/radium/es/resolve-styles.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _append_important_to_each_value__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./append-important-to-each-value */ "./node_modules/radium/es/append-important-to-each-value.js"); +/* harmony import */ var _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./css-rule-set-to-string */ "./node_modules/radium/es/css-rule-set-to-string.js"); +/* harmony import */ var _get_state__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get-state */ "./node_modules/radium/es/get-state.js"); +/* harmony import */ var _get_state_key__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./get-state-key */ "./node_modules/radium/es/get-state-key.js"); +/* harmony import */ var _clean_state_key__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./clean-state-key */ "./node_modules/radium/es/clean-state-key.js"); +/* harmony import */ var _get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./get-radium-style-state */ "./node_modules/radium/es/get-radium-style-state.js"); +/* harmony import */ var _hash__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hash */ "./node_modules/radium/es/hash.js"); +/* harmony import */ var _merge_styles__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./merge-styles */ "./node_modules/radium/es/merge-styles.js"); +/* harmony import */ var _plugins___WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./plugins/ */ "./node_modules/radium/es/plugins/index.js"); +/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! exenv */ "./node_modules/exenv/index.js"); +/* harmony import */ var exenv__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(exenv__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _style_keeper__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./style-keeper */ "./node_modules/radium/es/style-keeper.js"); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + + + + + + + + + + + + + +var DEFAULT_CONFIG = { + plugins: [_plugins___WEBPACK_IMPORTED_MODULE_8__["default"].mergeStyleArray, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].checkProps, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].resolveMediaQueries, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].resolveInteractionStyles, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].keyframes, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].visited, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].removeNestedStyles, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].prefix, _plugins___WEBPACK_IMPORTED_MODULE_8__["default"].checkProps] +}; // Gross + +var globalState = {}; // Only for use by tests + +var __isTestModeEnabled = false; +// Declare early for recursive helpers. +var _resolveStyles5 = null; + +var _shouldResolveStyles = function _shouldResolveStyles(component) { + return component.type && !component.type._isRadiumEnhanced; +}; + +var _resolveChildren = function _resolveChildren(_ref) { + var children = _ref.children, + component = _ref.component, + config = _ref.config, + existingKeyMap = _ref.existingKeyMap, + extraStateKeyMap = _ref.extraStateKeyMap; + + if (!children) { + return children; + } + + var childrenType = _typeof(children); + + if (childrenType === 'string' || childrenType === 'number') { + // Don't do anything with a single primitive child + return children; + } + + if (childrenType === 'function') { + // Wrap the function, resolving styles on the result + return function () { + var result = children.apply(this, arguments); + + if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(result)) { + var _key = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(result); + + delete extraStateKeyMap[_key]; + + var _resolveStyles = _resolveStyles5(component, result, config, existingKeyMap, true, extraStateKeyMap), + element = _resolveStyles.element; + + return element; + } + + return result; + }; + } + + if (react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.count(children) === 1 && children.type) { + // If a React Element is an only child, don't wrap it in an array for + // React.Children.map() for React.Children.only() compatibility. + var onlyChild = react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.only(children); + + var _key2 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(onlyChild); + + delete extraStateKeyMap[_key2]; + + var _resolveStyles2 = _resolveStyles5(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap), + element = _resolveStyles2.element; + + return element; + } + + return react__WEBPACK_IMPORTED_MODULE_10___default.a.Children.map(children, function (child) { + if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(child)) { + var _key3 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(child); + + delete extraStateKeyMap[_key3]; + + var _resolveStyles3 = _resolveStyles5(component, child, config, existingKeyMap, true, extraStateKeyMap), + _element = _resolveStyles3.element; + + return _element; + } + + return child; + }); +}; // Recurse over props, just like children + + +var _resolveProps = function _resolveProps(_ref2) { + var component = _ref2.component, + config = _ref2.config, + existingKeyMap = _ref2.existingKeyMap, + props = _ref2.props, + extraStateKeyMap = _ref2.extraStateKeyMap; + var newProps = props; + Object.keys(props).forEach(function (prop) { + // We already recurse over children above + if (prop === 'children') { + return; + } + + var propValue = props[prop]; + + if (react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(propValue)) { + var _key4 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(propValue); + + delete extraStateKeyMap[_key4]; + newProps = _objectSpread({}, newProps); + + var _resolveStyles4 = _resolveStyles5(component, propValue, config, existingKeyMap, true, extraStateKeyMap), + element = _resolveStyles4.element; + + newProps[prop] = element; + } + }); + return newProps; +}; + +var _buildGetKey = function _buildGetKey(_ref3) { + var componentName = _ref3.componentName, + existingKeyMap = _ref3.existingKeyMap, + renderedElement = _ref3.renderedElement; + // We need a unique key to correlate state changes due to user interaction + // with the rendered element, so we know to apply the proper interactive + // styles. + var originalKey = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(renderedElement); + var key = Object(_clean_state_key__WEBPACK_IMPORTED_MODULE_4__["default"])(originalKey); + var alreadyGotKey = false; + + var getKey = function getKey() { + if (alreadyGotKey) { + return key; + } + + alreadyGotKey = true; + + if (existingKeyMap[key]) { + var elementName; + + if (typeof renderedElement.type === 'string') { + elementName = renderedElement.type; + } else if (renderedElement.type.constructor) { + elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name; + } + + throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key "' + originalKey + '" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: "' + componentName + '". ' + (elementName ? 'Element: "' + elementName + '".' : '')); + } + + existingKeyMap[key] = true; + return key; + }; + + return getKey; +}; + +var _setStyleState = function _setStyleState(component, key, stateKey, value) { + if (!component._radiumIsMounted) { + return; + } + + var existing = Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__["default"])(component); + var state = { + _radiumStyleState: _objectSpread({}, existing) + }; + state._radiumStyleState[key] = _objectSpread({}, state._radiumStyleState[key]); + state._radiumStyleState[key][stateKey] = value; + component._lastRadiumState = state._radiumStyleState; + component.setState(state); +}; + +var _runPlugins = function _runPlugins(_ref4) { + var component = _ref4.component, + config = _ref4.config, + existingKeyMap = _ref4.existingKeyMap, + props = _ref4.props, + renderedElement = _ref4.renderedElement; + + // Don't run plugins if renderedElement is not a simple ReactDOMElement or has + // no style. + if (!react__WEBPACK_IMPORTED_MODULE_10___default.a.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) { + return props; + } + + var newProps = props; + var plugins = config.plugins || DEFAULT_CONFIG.plugins; + var componentName = component.constructor.displayName || component.constructor.name; + + var getKey = _buildGetKey({ + renderedElement: renderedElement, + existingKeyMap: existingKeyMap, + componentName: componentName + }); + + var getComponentField = function getComponentField(key) { + return component[key]; + }; + + var getGlobalState = function getGlobalState(key) { + return globalState[key]; + }; + + var componentGetState = function componentGetState(stateKey, elementKey) { + return Object(_get_state__WEBPACK_IMPORTED_MODULE_2__["default"])(component.state, elementKey || getKey(), stateKey); + }; + + var setState = function setState(stateKey, value, elementKey) { + return _setStyleState(component, elementKey || getKey(), stateKey, value); + }; + + var addCSS = function addCSS(css) { + var styleKeeper = component._radiumStyleKeeper; + + if (!styleKeeper) { + if (__isTestModeEnabled) { + return { + remove: function remove() {} + }; + } + + throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.'); + } + + return styleKeeper.addCSS(css); + }; + + var newStyle = props.style; + plugins.forEach(function (plugin) { + var result = plugin({ + ExecutionEnvironment: exenv__WEBPACK_IMPORTED_MODULE_9___default.a, + addCSS: addCSS, + appendImportantToEachValue: _append_important_to_each_value__WEBPACK_IMPORTED_MODULE_0__["default"], + componentName: componentName, + config: config, + cssRuleSetToString: _css_rule_set_to_string__WEBPACK_IMPORTED_MODULE_1__["default"], + getComponentField: getComponentField, + getGlobalState: getGlobalState, + getState: componentGetState, + hash: _hash__WEBPACK_IMPORTED_MODULE_6__["default"], + mergeStyles: _merge_styles__WEBPACK_IMPORTED_MODULE_7__["mergeStyles"], + props: newProps, + setState: setState, + isNestedStyle: _merge_styles__WEBPACK_IMPORTED_MODULE_7__["isNestedStyle"], + style: newStyle + }) || {}; + newStyle = result.style || newStyle; + newProps = result.props && Object.keys(result.props).length ? _objectSpread({}, newProps, result.props) : newProps; + var newComponentFields = result.componentFields || {}; + Object.keys(newComponentFields).forEach(function (fieldName) { + component[fieldName] = newComponentFields[fieldName]; + }); + var newGlobalState = result.globalState || {}; + Object.keys(newGlobalState).forEach(function (key) { + globalState[key] = newGlobalState[key]; + }); + }); + + if (newStyle !== props.style) { + newProps = _objectSpread({}, newProps, { + style: newStyle + }); + } + + return newProps; +}; // Wrapper around React.cloneElement. To avoid processing the same element +// twice, whenever we clone an element add a special prop to make sure we don't +// process this element again. + + +var _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) { + // Only add flag if this is a normal DOM element + if (typeof renderedElement.type === 'string') { + newProps = _objectSpread({}, newProps, { + 'data-radium': true + }); + } + + return react__WEBPACK_IMPORTED_MODULE_10___default.a.cloneElement(renderedElement, newProps, newChildren); +}; // +// The nucleus of Radium. resolveStyles is called on the rendered elements +// before they are returned in render. It iterates over the elements and +// children, rewriting props to add event handlers required to capture user +// interactions (e.g. mouse over). It also replaces the style prop because it +// adds in the various interaction styles (e.g. :hover). +// + +/* eslint-disable max-params */ + + +_resolveStyles5 = function resolveStyles(component, renderedElement) { + var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG; + var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; + var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false; + var extraStateKeyMap = arguments.length > 5 ? arguments[5] : undefined; + + // The extraStateKeyMap is for determining which keys should be erased from + // the state (i.e. which child components are unmounted and should no longer + // have a style state). + if (!extraStateKeyMap) { + var state = Object(_get_radium_style_state__WEBPACK_IMPORTED_MODULE_5__["default"])(component); + extraStateKeyMap = Object.keys(state).reduce(function (acc, key) { + // 'main' is the auto-generated key when there is only one element with + // interactive styles and if a custom key is not assigned. Because of + // this, it is impossible to know which child is 'main', so we won't + // count this key when generating our extraStateKeyMap. + if (key !== 'main') { + acc[key] = true; + } + + return acc; + }, {}); + } + + if (Array.isArray(renderedElement) && !renderedElement.props) { + var elements = renderedElement.map(function (element) { + // element is in-use, so remove from the extraStateKeyMap + if (extraStateKeyMap) { + var _key5 = Object(_get_state_key__WEBPACK_IMPORTED_MODULE_3__["default"])(element); + + delete extraStateKeyMap[_key5]; + } // this element is an array of elements, + // so return an array of elements with resolved styles + + + return _resolveStyles5(component, element, config, existingKeyMap, shouldCheckBeforeResolve, extraStateKeyMap).element; + }); + return { + extraStateKeyMap: extraStateKeyMap, + element: elements + }; + } // ReactElement + + + if (!renderedElement || // Bail if we've already processed this element. This ensures that only the + // owner of an element processes that element, since the owner's render + // function will be called first (which will always be the case, since you + // can't know what else to render until you render the parent component). + renderedElement.props && renderedElement.props['data-radium'] || // Bail if this element is a radium enhanced element, because if it is, + // then it will take care of resolving its own styles. + shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) { + return { + extraStateKeyMap: extraStateKeyMap, + element: renderedElement + }; + } + + var children = renderedElement.props.children; + + var newChildren = _resolveChildren({ + children: children, + component: component, + config: config, + existingKeyMap: existingKeyMap, + extraStateKeyMap: extraStateKeyMap + }); + + var newProps = _resolveProps({ + component: component, + config: config, + existingKeyMap: existingKeyMap, + extraStateKeyMap: extraStateKeyMap, + props: renderedElement.props + }); + + newProps = _runPlugins({ + component: component, + config: config, + existingKeyMap: existingKeyMap, + props: newProps, + renderedElement: renderedElement + }); // If nothing changed, don't bother cloning the element. Might be a bit + // wasteful, as we add the sentinel to stop double-processing when we clone. + // Assume benign double-processing is better than unneeded cloning. + + if (newChildren === children && newProps === renderedElement.props) { + return { + extraStateKeyMap: extraStateKeyMap, + element: renderedElement + }; + } + + var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren); + + return { + extraStateKeyMap: extraStateKeyMap, + element: element + }; +}; +/* eslint-enable max-params */ +// Only for use by tests + + +if (true) { + _resolveStyles5.__clearStateForTests = function () { + globalState = {}; + }; + + _resolveStyles5.__setTestMode = function (isEnabled) { + __isTestModeEnabled = isEnabled; + }; +} + +/* harmony default export */ __webpack_exports__["default"] = (_resolveStyles5); + +/***/ }), + +/***/ "./node_modules/radium/es/style-keeper.js": +/*!************************************************!*\ + !*** ./node_modules/radium/es/style-keeper.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return StyleKeeper; }); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +var StyleKeeper = +/*#__PURE__*/ +function () { + function StyleKeeper(userAgent) { + _classCallCheck(this, StyleKeeper); + + this._userAgent = void 0; + this._listeners = void 0; + this._cssSet = void 0; + this._userAgent = userAgent; + this._listeners = []; + this._cssSet = {}; + } + + _createClass(StyleKeeper, [{ + key: "subscribe", + value: function subscribe(listener) { + var _this = this; + + if (this._listeners.indexOf(listener) === -1) { + this._listeners.push(listener); + } + + return { + // Must be fat arrow to capture `this` + remove: function remove() { + var listenerIndex = _this._listeners.indexOf(listener); + + if (listenerIndex > -1) { + _this._listeners.splice(listenerIndex, 1); + } + } + }; + } + }, { + key: "addCSS", + value: function addCSS(css) { + var _this2 = this; + + if (!this._cssSet[css]) { + this._cssSet[css] = true; + + this._emitChange(); + } + + return { + // Must be fat arrow to capture `this` + remove: function remove() { + delete _this2._cssSet[css]; + + _this2._emitChange(); + } + }; + } + }, { + key: "getCSS", + value: function getCSS() { + return Object.keys(this._cssSet).join('\n'); + } + }, { + key: "_emitChange", + value: function _emitChange() { + this._listeners.forEach(function (listener) { + return listener(); + }); + } + }]); + + return StyleKeeper; +}(); + + + +/***/ }), + +/***/ "./node_modules/ramda/es/F.js": +/*!************************************!*\ + !*** ./node_modules/ramda/es/F.js ***! + \************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * A function that always returns `false`. Any passed in parameters are ignored. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Function + * @sig * -> Boolean + * @param {*} + * @return {Boolean} + * @see R.T + * @example + * + * R.F(); //=> false + */ +var F = function () { + return false; +}; + +/* harmony default export */ __webpack_exports__["default"] = (F); + +/***/ }), + +/***/ "./node_modules/ramda/es/T.js": +/*!************************************!*\ + !*** ./node_modules/ramda/es/T.js ***! + \************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * A function that always returns `true`. Any passed in parameters are ignored. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Function + * @sig * -> Boolean + * @param {*} + * @return {Boolean} + * @see R.F + * @example + * + * R.T(); //=> true + */ +var T = function () { + return true; +}; + +/* harmony default export */ __webpack_exports__["default"] = (T); + +/***/ }), + +/***/ "./node_modules/ramda/es/__.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/__.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * A special placeholder value used to specify "gaps" within curried functions, + * allowing partial application of any combination of arguments, regardless of + * their positions. + * + * If `g` is a curried ternary function and `_` is `R.__`, the following are + * equivalent: + * + * - `g(1, 2, 3)` + * - `g(_, 2, 3)(1)` + * - `g(_, _, 3)(1)(2)` + * - `g(_, _, 3)(1, 2)` + * - `g(_, 2, _)(1, 3)` + * - `g(_, 2)(1)(3)` + * - `g(_, 2)(1, 3)` + * - `g(_, 2)(_, 3)(1)` + * + * @name __ + * @constant + * @memberOf R + * @since v0.6.0 + * @category Function + * @example + * + * const greet = R.replace('{name}', R.__, 'Hello, {name}!'); + * greet('Alice'); //=> 'Hello, Alice!' + */ +/* harmony default export */ __webpack_exports__["default"] = ({ + '@@functional/placeholder': true +}); + +/***/ }), + +/***/ "./node_modules/ramda/es/add.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/add.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Adds two values. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} a + * @param {Number} b + * @return {Number} + * @see R.subtract + * @example + * + * R.add(2, 3); //=> 5 + * R.add(7)(10); //=> 17 + */ + +var add = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function add(a, b) { + return Number(a) + Number(b); +}); + +/* harmony default export */ __webpack_exports__["default"] = (add); + +/***/ }), + +/***/ "./node_modules/ramda/es/addIndex.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/addIndex.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + + +/** + * Creates a new list iteration function from an existing one by adding two new + * parameters to its callback function: the current index, and the entire list. + * + * This would turn, for instance, [`R.map`](#map) function into one that + * more closely resembles `Array.prototype.map`. Note that this will only work + * for functions in which the iteration callback function is the first + * parameter, and where the list is the last parameter. (This latter might be + * unimportant if the list parameter is not used.) + * + * @func + * @memberOf R + * @since v0.15.0 + * @category Function + * @category List + * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *) + * @param {Function} fn A list iteration function that does not pass index or list to its callback + * @return {Function} An altered list iteration function that passes (item, index, list) to its callback + * @example + * + * const mapIndexed = R.addIndex(R.map); + * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']); + * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r'] + */ + +var addIndex = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function addIndex(fn) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(fn.length, function () { + var idx = 0; + var origFn = arguments[0]; + var list = arguments[arguments.length - 1]; + var args = Array.prototype.slice.call(arguments, 0); + + args[0] = function () { + var result = origFn.apply(this, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments, [idx, list])); + idx += 1; + return result; + }; + + return fn.apply(this, args); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (addIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/adjust.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/adjust.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + + +/** + * Applies a function to the value at the given index of an array, returning a + * new copy of the array with the element at the given index replaced with the + * result of the function application. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig Number -> (a -> a) -> [a] -> [a] + * @param {Number} idx The index. + * @param {Function} fn The function to apply. + * @param {Array|Arguments} list An array-like object whose value + * at the supplied index will be replaced. + * @return {Array} A copy of the supplied array-like object with + * the element at index `idx` replaced with the value + * returned by applying `fn` to the existing element. + * @see R.update + * @example + * + * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd'] + * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D'] + * @symb R.adjust(-1, f, [a, b]) = [a, f(b)] + * @symb R.adjust(0, f, [a, b]) = [f(a), b] + */ + +var adjust = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function adjust(idx, fn, list) { + if (idx >= list.length || idx < -list.length) { + return list; + } + + var start = idx < 0 ? list.length : 0; + + var _idx = start + idx; + + var _list = Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list); + + _list[_idx] = fn(list[_idx]); + return _list; +}); + +/* harmony default export */ __webpack_exports__["default"] = (adjust); + +/***/ }), + +/***/ "./node_modules/ramda/es/all.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/all.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xall.js */ "./node_modules/ramda/es/internal/_xall.js"); + + + +/** + * Returns `true` if all elements of the list match the predicate, `false` if + * there are any that don't. + * + * Dispatches to the `all` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> Boolean + * @param {Function} fn The predicate function. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if the predicate is satisfied by every element, `false` + * otherwise. + * @see R.any, R.none, R.transduce + * @example + * + * const equals3 = R.equals(3); + * R.all(equals3)([3, 3, 3, 3]); //=> true + * R.all(equals3)([3, 3, 1, 3]); //=> false + */ + +var all = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['all'], _internal_xall_js__WEBPACK_IMPORTED_MODULE_2__["default"], function all(fn, list) { + var idx = 0; + + while (idx < list.length) { + if (!fn(list[idx])) { + return false; + } + + idx += 1; + } + + return true; +})); + +/* harmony default export */ __webpack_exports__["default"] = (all); + +/***/ }), + +/***/ "./node_modules/ramda/es/allPass.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/allPass.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + + + + +/** + * Takes a list of predicates and returns a predicate that returns true for a + * given list of arguments if every one of the provided predicates is satisfied + * by those arguments. + * + * The function returned is a curried function whose arity matches that of the + * highest-arity predicate. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Logic + * @sig [(*... -> Boolean)] -> (*... -> Boolean) + * @param {Array} predicates An array of predicates to check + * @return {Function} The combined predicate + * @see R.anyPass + * @example + * + * const isQueen = R.propEq('rank', 'Q'); + * const isSpade = R.propEq('suit', '♠︎'); + * const isQueenOfSpades = R.allPass([isQueen, isSpade]); + * + * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false + * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true + */ + +var allPass = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function allPass(preds) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_2__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_3__["default"])('length', preds)), function () { + var idx = 0; + var len = preds.length; + + while (idx < len) { + if (!preds[idx].apply(this, arguments)) { + return false; + } + + idx += 1; + } + + return true; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (allPass); + +/***/ }), + +/***/ "./node_modules/ramda/es/always.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/always.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Returns a function that always returns the given value. Note that for + * non-primitives the value returned is a reference to the original value. + * + * This function is known as `const`, `constant`, or `K` (for K combinator) in + * other languages and libraries. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig a -> (* -> a) + * @param {*} val The value to wrap in a function + * @return {Function} A Function :: * -> val. + * @example + * + * const t = R.always('Tee'); + * t(); //=> 'Tee' + */ + +var always = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function always(val) { + return function () { + return val; + }; +}); + +/* harmony default export */ __webpack_exports__["default"] = (always); + +/***/ }), + +/***/ "./node_modules/ramda/es/and.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/and.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if both arguments are `true`; `false` otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig a -> b -> a | b + * @param {Any} a + * @param {Any} b + * @return {Any} the first argument if it is falsy, otherwise the second argument. + * @see R.both, R.xor + * @example + * + * R.and(true, true); //=> true + * R.and(true, false); //=> false + * R.and(false, true); //=> false + * R.and(false, false); //=> false + */ + +var and = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function and(a, b) { + return a && b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (and); + +/***/ }), + +/***/ "./node_modules/ramda/es/andThen.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/andThen.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_assertPromise.js */ "./node_modules/ramda/es/internal/_assertPromise.js"); + + +/** + * Returns the result of applying the onSuccess function to the value inside + * a successfully resolved promise. This is useful for working with promises + * inside function compositions. + * + * @func + * @memberOf R + * @since v0.27.0 + * @category Function + * @sig (a -> b) -> (Promise e a) -> (Promise e b) + * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b) + * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value. + * @param {Promise} p + * @return {Promise} The result of calling `p.then(onSuccess)` + * @see R.otherwise + * @example + * + * var makeQuery = (email) => ({ query: { email }}); + * + * //getMemberName :: String -> Promise ({firstName, lastName}) + * var getMemberName = R.pipe( + * makeQuery, + * fetchMember, + * R.andThen(R.pick(['firstName', 'lastName'])) + * ); + */ + +var andThen = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function andThen(f, p) { + Object(_internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__["default"])('andThen', p); + + return p.then(f); +}); + +/* harmony default export */ __webpack_exports__["default"] = (andThen); + +/***/ }), + +/***/ "./node_modules/ramda/es/any.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/any.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xany_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xany.js */ "./node_modules/ramda/es/internal/_xany.js"); + + + +/** + * Returns `true` if at least one of the elements of the list match the predicate, + * `false` otherwise. + * + * Dispatches to the `any` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> Boolean + * @param {Function} fn The predicate function. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false` + * otherwise. + * @see R.all, R.none, R.transduce + * @example + * + * const lessThan0 = R.flip(R.lt)(0); + * const lessThan2 = R.flip(R.lt)(2); + * R.any(lessThan0)([1, 2]); //=> false + * R.any(lessThan2)([1, 2]); //=> true + */ + +var any = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['any'], _internal_xany_js__WEBPACK_IMPORTED_MODULE_2__["default"], function any(fn, list) { + var idx = 0; + + while (idx < list.length) { + if (fn(list[idx])) { + return true; + } + + idx += 1; + } + + return false; +})); + +/* harmony default export */ __webpack_exports__["default"] = (any); + +/***/ }), + +/***/ "./node_modules/ramda/es/anyPass.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/anyPass.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + + + + +/** + * Takes a list of predicates and returns a predicate that returns true for a + * given list of arguments if at least one of the provided predicates is + * satisfied by those arguments. + * + * The function returned is a curried function whose arity matches that of the + * highest-arity predicate. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Logic + * @sig [(*... -> Boolean)] -> (*... -> Boolean) + * @param {Array} predicates An array of predicates to check + * @return {Function} The combined predicate + * @see R.allPass + * @example + * + * const isClub = R.propEq('suit', '♣'); + * const isSpade = R.propEq('suit', '♠'); + * const isBlackCard = R.anyPass([isClub, isSpade]); + * + * isBlackCard({rank: '10', suit: '♣'}); //=> true + * isBlackCard({rank: 'Q', suit: '♠'}); //=> true + * isBlackCard({rank: 'Q', suit: '♦'}); //=> false + */ + +var anyPass = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function anyPass(preds) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_2__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_3__["default"])('length', preds)), function () { + var idx = 0; + var len = preds.length; + + while (idx < len) { + if (preds[idx].apply(this, arguments)) { + return true; + } + + idx += 1; + } + + return false; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (anyPass); + +/***/ }), + +/***/ "./node_modules/ramda/es/ap.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/ap.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); + + + + +/** + * ap applies a list of functions to a list of values. + * + * Dispatches to the `ap` method of the second argument, if present. Also + * treats curried functions as applicatives. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Function + * @sig [a -> b] -> [a] -> [b] + * @sig Apply f => f (a -> b) -> f a -> f b + * @sig (r -> a -> b) -> (r -> a) -> (r -> b) + * @param {*} applyF + * @param {*} applyX + * @return {*} + * @example + * + * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6] + * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> ["tasty pizza", "tasty salad", "PIZZA", "SALAD"] + * + * // R.ap can also be used as S combinator + * // when only two functions are passed + * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA' + * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)] + */ + +var ap = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function ap(applyF, applyX) { + return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) { + return applyF(x)(applyX(x)); + } : Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (acc, f) { + return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, Object(_map_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, applyX)); + }, [], applyF); +}); + +/* harmony default export */ __webpack_exports__["default"] = (ap); + +/***/ }), + +/***/ "./node_modules/ramda/es/aperture.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/aperture.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_aperture_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_aperture.js */ "./node_modules/ramda/es/internal/_aperture.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xaperture_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xaperture.js */ "./node_modules/ramda/es/internal/_xaperture.js"); + + + + +/** + * Returns a new list, composed of n-tuples of consecutive elements. If `n` is + * greater than the length of the list, an empty list is returned. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig Number -> [a] -> [[a]] + * @param {Number} n The size of the tuples to create + * @param {Array} list The list to split into `n`-length tuples + * @return {Array} The resulting list of `n`-length tuples + * @see R.transduce + * @example + * + * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]] + * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]] + * R.aperture(7, [1, 2, 3, 4, 5]); //=> [] + */ + +var aperture = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__["default"])([], _internal_xaperture_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_aperture_js__WEBPACK_IMPORTED_MODULE_0__["default"])); + +/* harmony default export */ __webpack_exports__["default"] = (aperture); + +/***/ }), + +/***/ "./node_modules/ramda/es/append.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/append.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns a new list containing the contents of the given list, followed by + * the given element. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> [a] + * @param {*} el The element to add to the end of the new list. + * @param {Array} list The list of elements to add a new item to. + * list. + * @return {Array} A new list containing the elements of the old list followed by `el`. + * @see R.prepend + * @example + * + * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests'] + * R.append('tests', []); //=> ['tests'] + * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']] + */ + +var append = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function append(el, list) { + return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, [el]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (append); + +/***/ }), + +/***/ "./node_modules/ramda/es/apply.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/apply.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Applies function `fn` to the argument list `args`. This is useful for + * creating a fixed-arity function from a variadic function. `fn` should be a + * bound function if context is significant. + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Function + * @sig (*... -> a) -> [*] -> a + * @param {Function} fn The function which will be called with `args` + * @param {Array} args The arguments to call `fn` with + * @return {*} result The result, equivalent to `fn(...args)` + * @see R.call, R.unapply + * @example + * + * const nums = [1, 2, 3, -99, 42, 6, 7]; + * R.apply(Math.max, nums); //=> 42 + * @symb R.apply(f, [a, b, c]) = f(a, b, c) + */ + +var apply = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function apply(fn, args) { + return fn.apply(this, args); +}); + +/* harmony default export */ __webpack_exports__["default"] = (apply); + +/***/ }), + +/***/ "./node_modules/ramda/es/applySpec.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/applySpec.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./apply.js */ "./node_modules/ramda/es/apply.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); +/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./values.js */ "./node_modules/ramda/es/values.js"); + + + + + + + + // Use custom mapValues function to avoid issues with specs that include a "map" key and R.map +// delegating calls to .map + +function mapValues(fn, obj) { + return Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(obj).reduce(function (acc, key) { + acc[key] = fn(obj[key]); + return acc; + }, {}); +} +/** + * Given a spec object recursively mapping properties to functions, creates a + * function producing an object of the same structure, by mapping each property + * to the result of calling its associated function with the supplied arguments. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Function + * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v}) + * @param {Object} spec an object recursively mapping properties to functions for + * producing the values for these properties. + * @return {Function} A function that returns an object of the same structure + * as `spec', with each property set to the value returned by calling its + * associated function with the supplied arguments. + * @see R.converge, R.juxt + * @example + * + * const getMetrics = R.applySpec({ + * sum: R.add, + * nested: { mul: R.multiply } + * }); + * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } } + * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } } + */ + + +var applySpec = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function applySpec(spec) { + spec = mapValues(function (v) { + return typeof v == 'function' ? v : applySpec(v); + }, spec); + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', Object(_values_js__WEBPACK_IMPORTED_MODULE_7__["default"])(spec))), function () { + var args = arguments; + return mapValues(function (f) { + return Object(_apply_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f, args); + }, spec); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (applySpec); + +/***/ }), + +/***/ "./node_modules/ramda/es/applyTo.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/applyTo.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Takes a value and applies a function to it. + * + * This function is also known as the `thrush` combinator. + * + * @func + * @memberOf R + * @since v0.25.0 + * @category Function + * @sig a -> (a -> b) -> b + * @param {*} x The value + * @param {Function} f The function to apply + * @return {*} The result of applying `f` to `x` + * @example + * + * const t42 = R.applyTo(42); + * t42(R.identity); //=> 42 + * t42(R.add(1)); //=> 43 + */ + +var applyTo = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function applyTo(x, f) { + return f(x); +}); + +/* harmony default export */ __webpack_exports__["default"] = (applyTo); + +/***/ }), + +/***/ "./node_modules/ramda/es/ascend.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/ascend.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Makes an ascending comparator function out of a function that returns a value + * that can be compared with `<` and `>`. + * + * @func + * @memberOf R + * @since v0.23.0 + * @category Function + * @sig Ord b => (a -> b) -> a -> a -> Number + * @param {Function} fn A function of arity one that returns a value that can be compared + * @param {*} a The first item to be compared. + * @param {*} b The second item to be compared. + * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0` + * @see R.descend + * @example + * + * const byAge = R.ascend(R.prop('age')); + * const people = [ + * { name: 'Emma', age: 70 }, + * { name: 'Peter', age: 78 }, + * { name: 'Mikhail', age: 62 }, + * ]; + * const peopleByYoungestFirst = R.sort(byAge, people); + * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] + */ + +var ascend = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ascend(fn, a, b) { + var aa = fn(a); + var bb = fn(b); + return aa < bb ? -1 : aa > bb ? 1 : 0; +}); + +/* harmony default export */ __webpack_exports__["default"] = (ascend); + +/***/ }), + +/***/ "./node_modules/ramda/es/assoc.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/assoc.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Makes a shallow clone of an object, setting or overriding the specified + * property with the given value. Note that this copies and flattens prototype + * properties onto the new object as well. All non-primitive properties are + * copied by reference. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @sig String -> a -> {k: v} -> {k: v} + * @param {String} prop The property name to set + * @param {*} val The new value + * @param {Object} obj The object to clone + * @return {Object} A new object equivalent to the original except for the changed property. + * @see R.dissoc, R.pick + * @example + * + * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3} + */ + +var assoc = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function assoc(prop, val, obj) { + var result = {}; + + for (var p in obj) { + result[p] = obj[p]; + } + + result[prop] = val; + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (assoc); + +/***/ }), + +/***/ "./node_modules/ramda/es/assocPath.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/assocPath.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); +/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); +/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./isNil.js */ "./node_modules/ramda/es/isNil.js"); + + + + + + +/** + * Makes a shallow clone of an object, setting or overriding the nodes required + * to create the given path, and placing the specific value at the tail end of + * that path. Note that this copies and flattens prototype properties onto the + * new object as well. All non-primitive properties are copied by reference. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> a -> {a} -> {a} + * @param {Array} path the path to set + * @param {*} val The new value + * @param {Object} obj The object to clone + * @return {Object} A new object equivalent to the original except along the specified path. + * @see R.dissocPath + * @example + * + * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}} + * + * // Any missing or non-object keys in path will be overridden + * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}} + */ + +var assocPath = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function assocPath(path, val, obj) { + if (path.length === 0) { + return val; + } + + var idx = path[0]; + + if (path.length > 1) { + var nextObj = !Object(_isNil_js__WEBPACK_IMPORTED_MODULE_5__["default"])(obj) && Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, obj) ? obj[idx] : Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__["default"])(path[1]) ? [] : {}; + val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj); + } + + if (Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_3__["default"])(idx) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { + var arr = [].concat(obj); + arr[idx] = val; + return arr; + } else { + return Object(_assoc_js__WEBPACK_IMPORTED_MODULE_4__["default"])(idx, val, obj); + } +}); + +/* harmony default export */ __webpack_exports__["default"] = (assocPath); + +/***/ }), + +/***/ "./node_modules/ramda/es/binary.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/binary.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); + + +/** + * Wraps a function of any arity (including nullary) in a function that accepts + * exactly 2 parameters. Any extraneous parameters will not be passed to the + * supplied function. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category Function + * @sig (* -> c) -> (a, b -> c) + * @param {Function} fn The function to wrap. + * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of + * arity 2. + * @see R.nAry, R.unary + * @example + * + * const takesThreeArgs = function(a, b, c) { + * return [a, b, c]; + * }; + * takesThreeArgs.length; //=> 3 + * takesThreeArgs(1, 2, 3); //=> [1, 2, 3] + * + * const takesTwoArgs = R.binary(takesThreeArgs); + * takesTwoArgs.length; //=> 2 + * // Only 2 arguments are passed to the wrapped function + * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined] + * @symb R.binary(f)(a, b, c) = f(a, b) + */ + +var binary = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function binary(fn) { + return Object(_nAry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(2, fn); +}); + +/* harmony default export */ __webpack_exports__["default"] = (binary); + +/***/ }), + +/***/ "./node_modules/ramda/es/bind.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/bind.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Creates a function that is bound to a context. + * Note: `R.bind` does not provide the additional argument-binding capabilities of + * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind). + * + * @func + * @memberOf R + * @since v0.6.0 + * @category Function + * @category Object + * @sig (* -> *) -> {*} -> (* -> *) + * @param {Function} fn The function to bind to context + * @param {Object} thisObj The context to bind `fn` to + * @return {Function} A function that will execute in the context of `thisObj`. + * @see R.partial + * @example + * + * const log = R.bind(console.log, console); + * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3} + * // logs {a: 2} + * @symb R.bind(f, o)(a, b) = f.call(o, a, b) + */ + +var bind = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function bind(fn, thisObj) { + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { + return fn.apply(thisObj, arguments); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (bind); + +/***/ }), + +/***/ "./node_modules/ramda/es/both.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/both.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); +/* harmony import */ var _and_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./and.js */ "./node_modules/ramda/es/and.js"); +/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); + + + + +/** + * A function which calls the two provided functions and returns the `&&` + * of the results. + * It returns the result of the first function if it is false-y and the result + * of the second function otherwise. Note that this is short-circuited, + * meaning that the second function will not be invoked if the first returns a + * false-y value. + * + * In addition to functions, `R.both` also accepts any fantasy-land compatible + * applicative functor. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category Logic + * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) + * @param {Function} f A predicate + * @param {Function} g Another predicate + * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together. + * @see R.and + * @example + * + * const gt10 = R.gt(R.__, 10) + * const lt20 = R.lt(R.__, 20) + * const f = R.both(gt10, lt20); + * f(15); //=> true + * f(30); //=> false + * + * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false) + * R.both([false, false, 'a'], [11]); //=> [false, false, 11] + */ + +var both = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function both(f, g) { + return Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _both() { + return f.apply(this, arguments) && g.apply(this, arguments); + } : Object(_lift_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_and_js__WEBPACK_IMPORTED_MODULE_2__["default"])(f, g); +}); + +/* harmony default export */ __webpack_exports__["default"] = (both); + +/***/ }), + +/***/ "./node_modules/ramda/es/call.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/call.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); + +/** + * Returns the result of calling its first argument with the remaining + * arguments. This is occasionally useful as a converging function for + * [`R.converge`](#converge): the first branch can produce a function while the + * remaining branches produce values to be passed to that function as its + * arguments. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Function + * @sig (*... -> a),*... -> a + * @param {Function} fn The function to apply to the remaining arguments. + * @param {...*} args Any number of positional arguments. + * @return {*} + * @see R.apply + * @example + * + * R.call(R.add, 1, 2); //=> 3 + * + * const indentN = R.pipe(R.repeat(' '), + * R.join(''), + * R.replace(/^(?!$)/gm)); + * + * const format = R.converge(R.call, [ + * R.pipe(R.prop('indent'), indentN), + * R.prop('value') + * ]); + * + * format({indent: 2, value: 'foo\nbar\nbaz\n'}); //=> ' foo\n bar\n baz\n' + * @symb R.call(f, a, b) = f(a, b) + */ + +var call = +/*#__PURE__*/ +Object(_curry_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function call(fn) { + return fn.apply(this, Array.prototype.slice.call(arguments, 1)); +}); +/* harmony default export */ __webpack_exports__["default"] = (call); + +/***/ }), + +/***/ "./node_modules/ramda/es/chain.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/chain.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_makeFlat.js */ "./node_modules/ramda/es/internal/_makeFlat.js"); +/* harmony import */ var _internal_xchain_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xchain.js */ "./node_modules/ramda/es/internal/_xchain.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); + + + + + +/** + * `chain` maps a function over a list and concatenates the results. `chain` + * is also known as `flatMap` in some libraries. + * + * Dispatches to the `chain` method of the second argument, if present, + * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain). + * + * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig Chain m => (a -> m b) -> m a -> m b + * @param {Function} fn The function to map with + * @param {Array} list The list to map over + * @return {Array} The result of flat-mapping `list` with `fn` + * @example + * + * const duplicate = n => [n, n]; + * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3] + * + * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1] + */ + +var chain = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/chain', 'chain'], _internal_xchain_js__WEBPACK_IMPORTED_MODULE_3__["default"], function chain(fn, monad) { + if (typeof monad === 'function') { + return function (x) { + return fn(monad(x))(x); + }; + } + + return Object(_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_2__["default"])(false)(Object(_map_js__WEBPACK_IMPORTED_MODULE_4__["default"])(fn, monad)); +})); + +/* harmony default export */ __webpack_exports__["default"] = (chain); + +/***/ }), + +/***/ "./node_modules/ramda/es/clamp.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/clamp.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Restricts a number to be within a range. + * + * Also works for other ordered types such as Strings and Dates. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Relation + * @sig Ord a => a -> a -> a -> a + * @param {Number} minimum The lower limit of the clamp (inclusive) + * @param {Number} maximum The upper limit of the clamp (inclusive) + * @param {Number} value Value to be clamped + * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise + * @example + * + * R.clamp(1, 10, -5) // => 1 + * R.clamp(1, 10, 15) // => 10 + * R.clamp(1, 10, 4) // => 4 + */ + +var clamp = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function clamp(min, max, value) { + if (min > max) { + throw new Error('min must not be greater than max in clamp(min, max, value)'); + } + + return value < min ? min : value > max ? max : value; +}); + +/* harmony default export */ __webpack_exports__["default"] = (clamp); + +/***/ }), + +/***/ "./node_modules/ramda/es/clone.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/clone.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone.js */ "./node_modules/ramda/es/internal/_clone.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + + +/** + * Creates a deep copy of the value which may contain (nested) `Array`s and + * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are + * assigned by reference rather than copied + * + * Dispatches to a `clone` method if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig {*} -> {*} + * @param {*} value The object or array to clone + * @return {*} A deeply cloned copy of `val` + * @example + * + * const objects = [{}, {}, {}]; + * const objectsClone = R.clone(objects); + * objects === objectsClone; //=> false + * objects[0] === objectsClone[0]; //=> false + */ + +var clone = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function clone(value) { + return value != null && typeof value.clone === 'function' ? value.clone() : Object(_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value, [], [], true); +}); + +/* harmony default export */ __webpack_exports__["default"] = (clone); + +/***/ }), + +/***/ "./node_modules/ramda/es/comparator.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/comparator.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Makes a comparator function out of a function that reports whether the first + * element is less than the second. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((a, b) -> Boolean) -> ((a, b) -> Number) + * @param {Function} pred A predicate function of arity two which will return `true` if the first argument + * is less than the second, `false` otherwise + * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0` + * @example + * + * const byAge = R.comparator((a, b) => a.age < b.age); + * const people = [ + * { name: 'Emma', age: 70 }, + * { name: 'Peter', age: 78 }, + * { name: 'Mikhail', age: 62 }, + * ]; + * const peopleByIncreasingAge = R.sort(byAge, people); + * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }] + */ + +var comparator = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function comparator(pred) { + return function (a, b) { + return pred(a, b) ? -1 : pred(b, a) ? 1 : 0; + }; +}); + +/* harmony default export */ __webpack_exports__["default"] = (comparator); + +/***/ }), + +/***/ "./node_modules/ramda/es/complement.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/complement.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); +/* harmony import */ var _not_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./not.js */ "./node_modules/ramda/es/not.js"); + + +/** + * Takes a function `f` and returns a function `g` such that if called with the same arguments + * when `f` returns a "truthy" value, `g` returns `false` and when `f` returns a "falsy" value `g` returns `true`. + * + * `R.complement` may be applied to any functor + * + * @func + * @memberOf R + * @since v0.12.0 + * @category Logic + * @sig (*... -> *) -> (*... -> Boolean) + * @param {Function} f + * @return {Function} + * @see R.not + * @example + * + * const isNotNil = R.complement(R.isNil); + * isNil(null); //=> true + * isNotNil(null); //=> false + * isNil(7); //=> false + * isNotNil(7); //=> true + */ + +var complement = +/*#__PURE__*/ +Object(_lift_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_not_js__WEBPACK_IMPORTED_MODULE_1__["default"]); +/* harmony default export */ __webpack_exports__["default"] = (complement); + +/***/ }), + +/***/ "./node_modules/ramda/es/compose.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/compose.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return compose; }); +/* harmony import */ var _pipe_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipe.js */ "./node_modules/ramda/es/pipe.js"); +/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); + + +/** + * Performs right-to-left function composition. The last argument may have + * any arity; the remaining arguments must be unary. + * + * **Note:** The result of compose is not automatically curried. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z) + * @param {...Function} ...functions The functions to compose + * @return {Function} + * @see R.pipe + * @example + * + * const classyGreeting = (firstName, lastName) => "The name's " + lastName + ", " + firstName + " " + lastName + * const yellGreeting = R.compose(R.toUpper, classyGreeting); + * yellGreeting('James', 'Bond'); //=> "THE NAME'S BOND, JAMES BOND" + * + * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7 + * + * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b))) + */ + +function compose() { + if (arguments.length === 0) { + throw new Error('compose requires at least one argument'); + } + + return _pipe_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/composeK.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/composeK.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return composeK; }); +/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); +/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); + + + +/** + * Returns the right-to-left Kleisli composition of the provided functions, + * each of which must return a value of a type supported by [`chain`](#chain). + * + * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Function + * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z) + * @param {...Function} ...functions The functions to compose + * @return {Function} + * @see R.pipeK + * @deprecated since v0.26.0 + * @example + * + * // get :: String -> Object -> Maybe * + * const get = R.curry((propName, obj) => Maybe(obj[propName])) + * + * // getStateCode :: Maybe String -> Maybe String + * const getStateCode = R.composeK( + * R.compose(Maybe.of, R.toUpper), + * get('state'), + * get('address'), + * get('user'), + * ); + * getStateCode({"user":{"address":{"state":"ny"}}}); //=> Maybe.Just("NY") + * getStateCode({}); //=> Maybe.Nothing() + * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a))) + */ + +function composeK() { + if (arguments.length === 0) { + throw new Error('composeK requires at least one argument'); + } + + var init = Array.prototype.slice.call(arguments); + var last = init.pop(); + return Object(_compose_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_compose_js__WEBPACK_IMPORTED_MODULE_1__["default"].apply(this, Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_chain_js__WEBPACK_IMPORTED_MODULE_0__["default"], init)), last); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/composeP.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/composeP.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return composeP; }); +/* harmony import */ var _pipeP_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./pipeP.js */ "./node_modules/ramda/es/pipeP.js"); +/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); + + +/** + * Performs right-to-left composition of one or more Promise-returning + * functions. The last arguments may have any arity; the remaining + * arguments must be unary. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z) + * @param {...Function} functions The functions to compose + * @return {Function} + * @see R.pipeP + * @deprecated since v0.26.0 + * @example + * + * const db = { + * users: { + * JOE: { + * name: 'Joe', + * followers: ['STEVE', 'SUZY'] + * } + * } + * } + * + * // We'll pretend to do a db lookup which returns a promise + * const lookupUser = (userId) => Promise.resolve(db.users[userId]) + * const lookupFollowers = (user) => Promise.resolve(user.followers) + * lookupUser('JOE').then(lookupFollowers) + * + * // followersForUser :: String -> Promise [UserId] + * const followersForUser = R.composeP(lookupFollowers, lookupUser); + * followersForUser('JOE').then(followers => console.log('Followers:', followers)) + * // Followers: ["STEVE","SUZY"] + */ + +function composeP() { + if (arguments.length === 0) { + throw new Error('composeP requires at least one argument'); + } + + return _pipeP_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/composeWith.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/composeWith.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _pipeWith_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pipeWith.js */ "./node_modules/ramda/es/pipeWith.js"); +/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); + + + +/** + * Performs right-to-left function composition using transforming function. The last argument may have + * any arity; the remaining arguments must be unary. + * + * **Note:** The result of compose is not automatically curried. Transforming function is not used on the + * last argument. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Function + * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z) + * @param {...Function} ...functions The functions to compose + * @return {Function} + * @see R.compose, R.pipeWith + * @example + * + * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res)); + * + * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2 + * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined + * + * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, i(...args))) + */ + +var composeWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function composeWith(xf, list) { + return _pipeWith_js__WEBPACK_IMPORTED_MODULE_1__["default"].apply(this, [xf, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list)]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (composeWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/concat.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/concat.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); +/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); + + + + + +/** + * Returns the result of concatenating the given lists or strings. + * + * Note: `R.concat` expects both arguments to be of the same type, + * unlike the native `Array.prototype.concat` method. It will throw + * an error if you `concat` an Array with a non-Array value. + * + * Dispatches to the `concat` method of the first argument, if present. + * Can also concatenate two members of a [fantasy-land + * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup). + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] -> [a] + * @sig String -> String -> String + * @param {Array|String} firstList The first list + * @param {Array|String} secondList The second list + * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of + * `secondList`. + * + * @example + * + * R.concat('ABC', 'DEF'); // 'ABCDEF' + * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] + * R.concat([], []); //=> [] + */ + +var concat = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function concat(a, b) { + if (Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a)) { + if (Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b)) { + return a.concat(b); + } + + throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(b) + ' is not an array'); + } + + if (Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(a)) { + if (Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(b)) { + return a + b; + } + + throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(b) + ' is not a string'); + } + + if (a != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a['fantasy-land/concat'])) { + return a['fantasy-land/concat'](b); + } + + if (a != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.concat)) { + return a.concat(b); + } + + throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a) + ' does not have a method named "concat" or "fantasy-land/concat"'); +}); + +/* harmony default export */ __webpack_exports__["default"] = (concat); + +/***/ }), + +/***/ "./node_modules/ramda/es/cond.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/cond.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + + + + +/** + * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic. + * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments + * to `fn` are applied to each of the predicates in turn until one returns a + * "truthy" value, at which point `fn` returns the result of applying its + * arguments to the corresponding transformer. If none of the predicates + * matches, `fn` returns undefined. + * + * @func + * @memberOf R + * @since v0.6.0 + * @category Logic + * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *) + * @param {Array} pairs A list of [predicate, transformer] + * @return {Function} + * @see R.ifElse, R.unless, R.when + * @example + * + * const fn = R.cond([ + * [R.equals(0), R.always('water freezes at 0°C')], + * [R.equals(100), R.always('water boils at 100°C')], + * [R.T, temp => 'nothing special happens at ' + temp + '°C'] + * ]); + * fn(0); //=> 'water freezes at 0°C' + * fn(50); //=> 'nothing special happens at 50°C' + * fn(100); //=> 'water boils at 100°C' + */ + +var cond = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function cond(pairs) { + var arity = Object(_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (pair) { + return pair[0].length; + }, pairs)); + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arity, function () { + var idx = 0; + + while (idx < pairs.length) { + if (pairs[idx][0].apply(this, arguments)) { + return pairs[idx][1].apply(this, arguments); + } + + idx += 1; + } + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (cond); + +/***/ }), + +/***/ "./node_modules/ramda/es/construct.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/construct.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _constructN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constructN.js */ "./node_modules/ramda/es/constructN.js"); + + +/** + * Wraps a constructor function inside a curried function that can be called + * with the same arguments and returns the same type. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (* -> {*}) -> (* -> {*}) + * @param {Function} fn The constructor function to wrap. + * @return {Function} A wrapped, curried constructor function. + * @see R.invoker + * @example + * + * // Constructor function + * function Animal(kind) { + * this.kind = kind; + * }; + * Animal.prototype.sighting = function() { + * return "It's a " + this.kind + "!"; + * } + * + * const AnimalConstructor = R.construct(Animal) + * + * // Notice we no longer need the 'new' keyword: + * AnimalConstructor('Pig'); //=> {"kind": "Pig", "sighting": function (){...}}; + * + * const animalTypes = ["Lion", "Tiger", "Bear"]; + * const animalSighting = R.invoker(0, 'sighting'); + * const sightNewAnimal = R.compose(animalSighting, AnimalConstructor); + * R.map(sightNewAnimal, animalTypes); //=> ["It's a Lion!", "It's a Tiger!", "It's a Bear!"] + */ + +var construct = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function construct(Fn) { + return Object(_constructN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Fn.length, Fn); +}); + +/* harmony default export */ __webpack_exports__["default"] = (construct); + +/***/ }), + +/***/ "./node_modules/ramda/es/constructN.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/constructN.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); +/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); + + + +/** + * Wraps a constructor function inside a curried function that can be called + * with the same arguments and returns the same type. The arity of the function + * returned is specified to allow using variadic constructor functions. + * + * @func + * @memberOf R + * @since v0.4.0 + * @category Function + * @sig Number -> (* -> {*}) -> (* -> {*}) + * @param {Number} n The arity of the constructor function. + * @param {Function} Fn The constructor function to wrap. + * @return {Function} A wrapped, curried constructor function. + * @example + * + * // Variadic Constructor function + * function Salad() { + * this.ingredients = arguments; + * } + * + * Salad.prototype.recipe = function() { + * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients); + * return R.join('\n', instructions); + * }; + * + * const ThreeLayerSalad = R.constructN(3, Salad); + * + * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments. + * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup'); + * + * console.log(salad.recipe()); + * // Add a dollop of Mayonnaise + * // Add a dollop of Potato Chips + * // Add a dollop of Ketchup + */ + +var constructN = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function constructN(n, Fn) { + if (n > 10) { + throw new Error('Constructor with greater than ten arguments'); + } + + if (n === 0) { + return function () { + return new Fn(); + }; + } + + return Object(_curry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_nAry_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + switch (arguments.length) { + case 1: + return new Fn($0); + + case 2: + return new Fn($0, $1); + + case 3: + return new Fn($0, $1, $2); + + case 4: + return new Fn($0, $1, $2, $3); + + case 5: + return new Fn($0, $1, $2, $3, $4); + + case 6: + return new Fn($0, $1, $2, $3, $4, $5); + + case 7: + return new Fn($0, $1, $2, $3, $4, $5, $6); + + case 8: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7); + + case 9: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8); + + case 10: + return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9); + } + })); +}); + +/* harmony default export */ __webpack_exports__["default"] = (constructN); + +/***/ }), + +/***/ "./node_modules/ramda/es/contains.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/contains.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns `true` if the specified value is equal, in [`R.equals`](#equals) + * terms, to at least one element of the given list; `false` otherwise. + * Works also with strings. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> Boolean + * @param {Object} a The item to compare against. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. + * @see R.includes + * @deprecated since v0.26.0 + * @example + * + * R.contains(3, [1, 2, 3]); //=> true + * R.contains(4, [1, 2, 3]); //=> false + * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true + * R.contains([42], [[42]]); //=> true + * R.contains('ba', 'banana'); //=>true + */ + +var contains = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (contains); + +/***/ }), + +/***/ "./node_modules/ramda/es/converge.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/converge.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + + + + + +/** + * Accepts a converging function and a list of branching functions and returns + * a new function. The arity of the new function is the same as the arity of + * the longest branching function. When invoked, this new function is applied + * to some arguments, and each branching function is applied to those same + * arguments. The results of each branching function are passed as arguments + * to the converging function to produce the return value. + * + * @func + * @memberOf R + * @since v0.4.2 + * @category Function + * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z) + * @param {Function} after A function. `after` will be invoked with the return values of + * `fn1` and `fn2` as its arguments. + * @param {Array} functions A list of functions. + * @return {Function} A new function. + * @see R.useWith + * @example + * + * const average = R.converge(R.divide, [R.sum, R.length]) + * average([1, 2, 3, 4, 5, 6, 7]) //=> 4 + * + * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower]) + * strangeConcat("Yodel") //=> "YODELyodel" + * + * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b)) + */ + +var converge = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function converge(after, fns) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_reduce_js__WEBPACK_IMPORTED_MODULE_5__["default"])(_max_js__WEBPACK_IMPORTED_MODULE_3__["default"], 0, Object(_pluck_js__WEBPACK_IMPORTED_MODULE_4__["default"])('length', fns)), function () { + var args = arguments; + var context = this; + return after.apply(context, Object(_internal_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (fn) { + return fn.apply(context, args); + }, fns)); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (converge); + +/***/ }), + +/***/ "./node_modules/ramda/es/countBy.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/countBy.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); + +/** + * Counts the elements of a list according to how many match each value of a + * key generated by the supplied function. Returns an object mapping the keys + * produced by `fn` to the number of occurrences in the list. Note that all + * keys are coerced to strings because of how JavaScript objects work. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig (a -> String) -> [a] -> {*} + * @param {Function} fn The function used to map values to keys. + * @param {Array} list The list to count elements from. + * @return {Object} An object mapping keys to number of occurrences in the list. + * @example + * + * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2]; + * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1} + * + * const letters = ['a', 'b', 'A', 'a', 'B', 'c']; + * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1} + */ + +var countBy = +/*#__PURE__*/ +Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (acc, elem) { + return acc + 1; +}, 0); +/* harmony default export */ __webpack_exports__["default"] = (countBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/curry.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/curry.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + +/** + * Returns a curried equivalent of the provided function. The curried function + * has two unusual capabilities. First, its arguments needn't be provided one + * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the + * following are equivalent: + * + * - `g(1)(2)(3)` + * - `g(1)(2, 3)` + * - `g(1, 2)(3)` + * - `g(1, 2, 3)` + * + * Secondly, the special placeholder value [`R.__`](#__) may be used to specify + * "gaps", allowing partial application of any combination of arguments, + * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), + * the following are equivalent: + * + * - `g(1, 2, 3)` + * - `g(_, 2, 3)(1)` + * - `g(_, _, 3)(1)(2)` + * - `g(_, _, 3)(1, 2)` + * - `g(_, 2)(1)(3)` + * - `g(_, 2)(1, 3)` + * - `g(_, 2)(_, 3)(1)` + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (* -> a) -> (* -> a) + * @param {Function} fn The function to curry. + * @return {Function} A new, curried function. + * @see R.curryN, R.partial + * @example + * + * const addFourNumbers = (a, b, c, d) => a + b + c + d; + * + * const curriedAddFourNumbers = R.curry(addFourNumbers); + * const f = curriedAddFourNumbers(1, 2); + * const g = f(3); + * g(4); //=> 10 + */ + +var curry = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function curry(fn) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); +}); + +/* harmony default export */ __webpack_exports__["default"] = (curry); + +/***/ }), + +/***/ "./node_modules/ramda/es/curryN.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/curryN.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); + + + + +/** + * Returns a curried equivalent of the provided function, with the specified + * arity. The curried function has two unusual capabilities. First, its + * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the + * following are equivalent: + * + * - `g(1)(2)(3)` + * - `g(1)(2, 3)` + * - `g(1, 2)(3)` + * - `g(1, 2, 3)` + * + * Secondly, the special placeholder value [`R.__`](#__) may be used to specify + * "gaps", allowing partial application of any combination of arguments, + * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__), + * the following are equivalent: + * + * - `g(1, 2, 3)` + * - `g(_, 2, 3)(1)` + * - `g(_, _, 3)(1)(2)` + * - `g(_, _, 3)(1, 2)` + * - `g(_, 2)(1)(3)` + * - `g(_, 2)(1, 3)` + * - `g(_, 2)(_, 3)(1)` + * + * @func + * @memberOf R + * @since v0.5.0 + * @category Function + * @sig Number -> (* -> a) -> (* -> a) + * @param {Number} length The arity for the returned function. + * @param {Function} fn The function to curry. + * @return {Function} A new, curried function. + * @see R.curry + * @example + * + * const sumArgs = (...args) => R.sum(args); + * + * const curriedAddFourNumbers = R.curryN(4, sumArgs); + * const f = curriedAddFourNumbers(1, 2); + * const g = f(3); + * g(4); //=> 10 + */ + +var curryN = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function curryN(length, fn) { + if (length === 1) { + return Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn); + } + + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(length, Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(length, [], fn)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (curryN); + +/***/ }), + +/***/ "./node_modules/ramda/es/dec.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/dec.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); + +/** + * Decrements its argument. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Math + * @sig Number -> Number + * @param {Number} n + * @return {Number} n - 1 + * @see R.inc + * @example + * + * R.dec(42); //=> 41 + */ + +var dec = +/*#__PURE__*/ +Object(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"])(-1); +/* harmony default export */ __webpack_exports__["default"] = (dec); + +/***/ }), + +/***/ "./node_modules/ramda/es/defaultTo.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/defaultTo.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns the second argument if it is not `null`, `undefined` or `NaN`; + * otherwise the first argument is returned. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Logic + * @sig a -> b -> a | b + * @param {a} default The default value. + * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`. + * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value + * @example + * + * const defaultTo42 = R.defaultTo(42); + * + * defaultTo42(null); //=> 42 + * defaultTo42(undefined); //=> 42 + * defaultTo42(false); //=> false + * defaultTo42('Ramda'); //=> 'Ramda' + * // parseInt('string') results in NaN + * defaultTo42(parseInt('string')); //=> 42 + */ + +var defaultTo = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function defaultTo(d, v) { + return v == null || v !== v ? d : v; +}); + +/* harmony default export */ __webpack_exports__["default"] = (defaultTo); + +/***/ }), + +/***/ "./node_modules/ramda/es/descend.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/descend.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Makes a descending comparator function out of a function that returns a value + * that can be compared with `<` and `>`. + * + * @func + * @memberOf R + * @since v0.23.0 + * @category Function + * @sig Ord b => (a -> b) -> a -> a -> Number + * @param {Function} fn A function of arity one that returns a value that can be compared + * @param {*} a The first item to be compared. + * @param {*} b The second item to be compared. + * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0` + * @see R.ascend + * @example + * + * const byAge = R.descend(R.prop('age')); + * const people = [ + * { name: 'Emma', age: 70 }, + * { name: 'Peter', age: 78 }, + * { name: 'Mikhail', age: 62 }, + * ]; + * const peopleByOldestFirst = R.sort(byAge, people); + * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }] + */ + +var descend = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function descend(fn, a, b) { + var aa = fn(a); + var bb = fn(b); + return aa > bb ? -1 : aa < bb ? 1 : 0; +}); + +/* harmony default export */ __webpack_exports__["default"] = (descend); + +/***/ }), + +/***/ "./node_modules/ramda/es/difference.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/difference.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_Set.js */ "./node_modules/ramda/es/internal/_Set.js"); + + +/** + * Finds the set (i.e. no duplicates) of all elements in the first list not + * contained in the second list. Objects and Arrays are compared in terms of + * value equality, not reference equality. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` that are not in `list2`. + * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without + * @example + * + * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2] + * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5] + * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}] + */ + +var difference = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function difference(first, second) { + var out = []; + var idx = 0; + var firstLen = first.length; + var secondLen = second.length; + var toFilterOut = new _internal_Set_js__WEBPACK_IMPORTED_MODULE_1__["default"](); + + for (var i = 0; i < secondLen; i += 1) { + toFilterOut.add(second[i]); + } + + while (idx < firstLen) { + if (toFilterOut.add(first[idx])) { + out[out.length] = first[idx]; + } + + idx += 1; + } + + return out; +}); + +/* harmony default export */ __webpack_exports__["default"] = (difference); + +/***/ }), + +/***/ "./node_modules/ramda/es/differenceWith.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/differenceWith.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + + +/** + * Finds the set (i.e. no duplicates) of all elements in the first list not + * contained in the second list. Duplication is determined according to the + * value returned by applying the supplied predicate to two list elements. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` that are not in `list2`. + * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith + * @example + * + * const cmp = (x, y) => x.a === y.a; + * const l1 = [{a: 1}, {a: 2}, {a: 3}]; + * const l2 = [{a: 3}, {a: 4}]; + * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}] + */ + +var differenceWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function differenceWith(pred, first, second) { + var out = []; + var idx = 0; + var firstLen = first.length; + + while (idx < firstLen) { + if (!Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, first[idx], second) && !Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, first[idx], out)) { + out.push(first[idx]); + } + + idx += 1; + } + + return out; +}); + +/* harmony default export */ __webpack_exports__["default"] = (differenceWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/dissoc.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/dissoc.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns a new object that does not contain a `prop` property. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Object + * @sig String -> {k: v} -> {k: v} + * @param {String} prop The name of the property to dissociate + * @param {Object} obj The object to clone + * @return {Object} A new object equivalent to the original but without the specified property + * @see R.assoc, R.omit + * @example + * + * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3} + */ + +var dissoc = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function dissoc(prop, obj) { + var result = {}; + + for (var p in obj) { + result[p] = obj[p]; + } + + delete result[prop]; + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (dissoc); + +/***/ }), + +/***/ "./node_modules/ramda/es/dissocPath.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/dissocPath.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); +/* harmony import */ var _dissoc_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dissoc.js */ "./node_modules/ramda/es/dissoc.js"); +/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./remove.js */ "./node_modules/ramda/es/remove.js"); +/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); + + + + + + + +/** + * Makes a shallow clone of an object, omitting the property at the given path. + * Note that this copies and flattens prototype properties onto the new object + * as well. All non-primitive properties are copied by reference. + * + * @func + * @memberOf R + * @since v0.11.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> {k: v} -> {k: v} + * @param {Array} path The path to the value to omit + * @param {Object} obj The object to clone + * @return {Object} A new object without the property at path + * @see R.assocPath + * @example + * + * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}} + */ + +var dissocPath = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function dissocPath(path, obj) { + switch (path.length) { + case 0: + return obj; + + case 1: + return Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(path[0]) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj) ? Object(_remove_js__WEBPACK_IMPORTED_MODULE_5__["default"])(path[0], 1, obj) : Object(_dissoc_js__WEBPACK_IMPORTED_MODULE_4__["default"])(path[0], obj); + + default: + var head = path[0]; + var tail = Array.prototype.slice.call(path, 1); + + if (obj[head] == null) { + return obj; + } else if (Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(head) && Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { + return Object(_update_js__WEBPACK_IMPORTED_MODULE_6__["default"])(head, dissocPath(tail, obj[head]), obj); + } else { + return Object(_assoc_js__WEBPACK_IMPORTED_MODULE_3__["default"])(head, dissocPath(tail, obj[head]), obj); + } + + } +}); + +/* harmony default export */ __webpack_exports__["default"] = (dissocPath); + +/***/ }), + +/***/ "./node_modules/ramda/es/divide.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/divide.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Divides two numbers. Equivalent to `a / b`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} a The first value. + * @param {Number} b The second value. + * @return {Number} The result of `a / b`. + * @see R.multiply + * @example + * + * R.divide(71, 100); //=> 0.71 + * + * const half = R.divide(R.__, 2); + * half(42); //=> 21 + * + * const reciprocal = R.divide(1); + * reciprocal(4); //=> 0.25 + */ + +var divide = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function divide(a, b) { + return a / b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (divide); + +/***/ }), + +/***/ "./node_modules/ramda/es/drop.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/drop.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xdrop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdrop.js */ "./node_modules/ramda/es/internal/_xdrop.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + + +/** + * Returns all but the first `n` elements of the given list, string, or + * transducer/transformer (or object with a `drop` method). + * + * Dispatches to the `drop` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n + * @param {*} list + * @return {*} A copy of list without the first `n` elements + * @see R.take, R.transduce, R.dropLast, R.dropWhile + * @example + * + * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] + * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz'] + * R.drop(3, ['foo', 'bar', 'baz']); //=> [] + * R.drop(4, ['foo', 'bar', 'baz']); //=> [] + * R.drop(3, 'ramda'); //=> 'da' + */ + +var drop = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['drop'], _internal_xdrop_js__WEBPACK_IMPORTED_MODULE_2__["default"], function drop(n, xs) { + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Math.max(0, n), Infinity, xs); +})); + +/* harmony default export */ __webpack_exports__["default"] = (drop); + +/***/ }), + +/***/ "./node_modules/ramda/es/dropLast.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/dropLast.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_dropLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLast.js */ "./node_modules/ramda/es/internal/_dropLast.js"); +/* harmony import */ var _internal_xdropLast_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLast.js */ "./node_modules/ramda/es/internal/_xdropLast.js"); + + + + +/** + * Returns a list containing all but the last `n` elements of the given `list`. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n The number of elements of `list` to skip. + * @param {Array} list The list of elements to consider. + * @return {Array} A copy of the list with only the first `list.length - n` elements + * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile + * @example + * + * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] + * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo'] + * R.dropLast(3, ['foo', 'bar', 'baz']); //=> [] + * R.dropLast(4, ['foo', 'bar', 'baz']); //=> [] + * R.dropLast(3, 'ramda'); //=> 'ra' + */ + +var dropLast = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropLast_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_dropLast_js__WEBPACK_IMPORTED_MODULE_2__["default"])); + +/* harmony default export */ __webpack_exports__["default"] = (dropLast); + +/***/ }), + +/***/ "./node_modules/ramda/es/dropLastWhile.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/dropLastWhile.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_dropLastWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dropLastWhile.js */ "./node_modules/ramda/es/internal/_dropLastWhile.js"); +/* harmony import */ var _internal_xdropLastWhile_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_xdropLastWhile.js */ "./node_modules/ramda/es/internal/_xdropLastWhile.js"); + + + + +/** + * Returns a new list excluding all the tailing elements of a given list which + * satisfy the supplied predicate function. It passes each value from the right + * to the supplied predicate function, skipping elements until the predicate + * function returns a `falsy` value. The predicate function is applied to one argument: + * *(value)*. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} predicate The function to be called on each element + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`. + * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile + * @example + * + * const lteThree = x => x <= 3; + * + * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4] + * + * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd' + */ + +var dropLastWhile = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropLastWhile_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_dropLastWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"])); + +/* harmony default export */ __webpack_exports__["default"] = (dropLastWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/dropRepeats.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/dropRepeats.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith.js */ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js"); +/* harmony import */ var _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./dropRepeatsWith.js */ "./node_modules/ramda/es/dropRepeatsWith.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + + + + +/** + * Returns a new list without any consecutively repeating elements. + * [`R.equals`](#equals) is used to determine equality. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig [a] -> [a] + * @param {Array} list The array to consider. + * @return {Array} `list` without repeating elements. + * @see R.transduce + * @example + * + * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2] + */ + +var dropRepeats = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], +/*#__PURE__*/ +Object(_internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_4__["default"]), +/*#__PURE__*/ +Object(_dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_4__["default"]))); + +/* harmony default export */ __webpack_exports__["default"] = (dropRepeats); + +/***/ }), + +/***/ "./node_modules/ramda/es/dropRepeatsWith.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/dropRepeatsWith.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropRepeatsWith.js */ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js"); +/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./last.js */ "./node_modules/ramda/es/last.js"); + + + + +/** + * Returns a new list without any consecutively repeating elements. Equality is + * determined by applying the supplied predicate to each pair of consecutive elements. The + * first element in a series of equal elements will be preserved. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig ((a, a) -> Boolean) -> [a] -> [a] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list The array to consider. + * @return {Array} `list` without repeating elements. + * @see R.transduce + * @example + * + * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3]; + * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3] + */ + +var dropRepeatsWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xdropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_2__["default"], function dropRepeatsWith(pred, list) { + var result = []; + var idx = 1; + var len = list.length; + + if (len !== 0) { + result[0] = list[0]; + + while (idx < len) { + if (!pred(Object(_last_js__WEBPACK_IMPORTED_MODULE_3__["default"])(result), list[idx])) { + result[result.length] = list[idx]; + } + + idx += 1; + } + } + + return result; +})); + +/* harmony default export */ __webpack_exports__["default"] = (dropRepeatsWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/dropWhile.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/dropWhile.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xdropWhile.js */ "./node_modules/ramda/es/internal/_xdropWhile.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + + +/** + * Returns a new list excluding the leading elements of a given list which + * satisfy the supplied predicate function. It passes each value to the supplied + * predicate function, skipping elements while the predicate function returns + * `true`. The predicate function is applied to one argument: *(value)*. + * + * Dispatches to the `dropWhile` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} fn The function called per iteration. + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array. + * @see R.takeWhile, R.transduce, R.addIndex + * @example + * + * const lteTwo = x => x <= 2; + * + * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1] + * + * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da' + */ + +var dropWhile = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['dropWhile'], _internal_xdropWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"], function dropWhile(pred, xs) { + var idx = 0; + var len = xs.length; + + while (idx < len && pred(xs[idx])) { + idx += 1; + } + + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(idx, Infinity, xs); +})); + +/* harmony default export */ __webpack_exports__["default"] = (dropWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/either.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/either.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); +/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); +/* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./or.js */ "./node_modules/ramda/es/or.js"); + + + + +/** + * A function wrapping calls to the two functions in an `||` operation, + * returning the result of the first function if it is truth-y and the result + * of the second function otherwise. Note that this is short-circuited, + * meaning that the second function will not be invoked if the first returns a + * truth-y value. + * + * In addition to functions, `R.either` also accepts any fantasy-land compatible + * applicative functor. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category Logic + * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean) + * @param {Function} f a predicate + * @param {Function} g another predicate + * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together. + * @see R.or + * @example + * + * const gt10 = x => x > 10; + * const even = x => x % 2 === 0; + * const f = R.either(gt10, even); + * f(101); //=> true + * f(8); //=> true + * + * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55) + * R.either([false, false, 'a'], [11]) // => [11, 11, "a"] + */ + +var either = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function either(f, g) { + return Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f) ? function _either() { + return f.apply(this, arguments) || g.apply(this, arguments); + } : Object(_lift_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_or_js__WEBPACK_IMPORTED_MODULE_3__["default"])(f, g); +}); + +/* harmony default export */ __webpack_exports__["default"] = (either); + +/***/ }), + +/***/ "./node_modules/ramda/es/empty.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/empty.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArguments.js */ "./node_modules/ramda/es/internal/_isArguments.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); +/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); + + + + + +/** + * Returns the empty value of its argument's type. Ramda defines the empty + * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other + * types are supported if they define `<Type>.empty`, + * `<Type>.prototype.empty` or implement the + * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid). + * + * Dispatches to the `empty` method of the first argument, if present. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Function + * @sig a -> a + * @param {*} x + * @return {*} + * @example + * + * R.empty(Just(42)); //=> Nothing() + * R.empty([1, 2, 3]); //=> [] + * R.empty('unicorns'); //=> '' + * R.empty({x: 1, y: 2}); //=> {} + */ + +var empty = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function empty(x) { + return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x) ? [] : Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x) ? '' : Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x) ? {} : Object(_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x) ? function () { + return arguments; + }() : void 0 // else + ; +}); + +/* harmony default export */ __webpack_exports__["default"] = (empty); + +/***/ }), + +/***/ "./node_modules/ramda/es/endsWith.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/endsWith.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); +/* harmony import */ var _takeLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./takeLast.js */ "./node_modules/ramda/es/takeLast.js"); + + + +/** + * Checks if a list ends with the provided sublist. + * + * Similarly, checks if a string ends with the provided substring. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category List + * @sig [a] -> [a] -> Boolean + * @sig String -> String -> Boolean + * @param {*} suffix + * @param {*} list + * @return {Boolean} + * @see R.startsWith + * @example + * + * R.endsWith('c', 'abc') //=> true + * R.endsWith('b', 'abc') //=> false + * R.endsWith(['c'], ['a', 'b', 'c']) //=> true + * R.endsWith(['b'], ['a', 'b', 'c']) //=> false + */ + +var endsWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (suffix, list) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_takeLast_js__WEBPACK_IMPORTED_MODULE_2__["default"])(suffix.length, list), suffix); +}); + +/* harmony default export */ __webpack_exports__["default"] = (endsWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/eqBy.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/eqBy.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + +/** + * Takes a function and two values in its domain and returns `true` if the + * values map to the same value in the codomain; `false` otherwise. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Relation + * @sig (a -> b) -> a -> a -> Boolean + * @param {Function} f + * @param {*} x + * @param {*} y + * @return {Boolean} + * @example + * + * R.eqBy(Math.abs, 5, -5); //=> true + */ + +var eqBy = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function eqBy(f, x, y) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f(x), f(y)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (eqBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/eqProps.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/eqProps.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + +/** + * Reports whether two objects have the same value, in [`R.equals`](#equals) + * terms, for the specified property. Useful as a curried predicate. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig k -> {k: v} -> {k: v} -> Boolean + * @param {String} prop The name of the property to compare + * @param {Object} obj1 + * @param {Object} obj2 + * @return {Boolean} + * + * @example + * + * const o1 = { a: 1, b: 2, c: 3, d: 4 }; + * const o2 = { a: 10, b: 20, c: 3, d: 40 }; + * R.eqProps('a', o1, o2); //=> false + * R.eqProps('c', o1, o2); //=> true + */ + +var eqProps = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function eqProps(prop, obj1, obj2) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj1[prop], obj2[prop]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (eqProps); + +/***/ }), + +/***/ "./node_modules/ramda/es/equals.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/equals.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_equals.js */ "./node_modules/ramda/es/internal/_equals.js"); + + +/** + * Returns `true` if its arguments are equivalent, `false` otherwise. Handles + * cyclical data structures. + * + * Dispatches symmetrically to the `equals` methods of both arguments, if + * present. + * + * @func + * @memberOf R + * @since v0.15.0 + * @category Relation + * @sig a -> b -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @example + * + * R.equals(1, 1); //=> true + * R.equals(1, '1'); //=> false + * R.equals([1, 2, 3], [1, 2, 3]); //=> true + * + * const a = {}; a.v = a; + * const b = {}; b.v = b; + * R.equals(a, b); //=> true + */ + +var equals = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function equals(a, b) { + return Object(_internal_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a, b, [], []); +}); + +/* harmony default export */ __webpack_exports__["default"] = (equals); + +/***/ }), + +/***/ "./node_modules/ramda/es/evolve.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/evolve.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Creates a new object by recursively evolving a shallow copy of `object`, + * according to the `transformation` functions. All non-primitive properties + * are copied by reference. + * + * A `transformation` function will not be invoked if its corresponding key + * does not exist in the evolved object. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Object + * @sig {k: (v -> v)} -> {k: v} -> {k: v} + * @param {Object} transformations The object specifying transformation functions to apply + * to the object. + * @param {Object} object The object to be transformed. + * @return {Object} The transformed object. + * @example + * + * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123}; + * const transformations = { + * firstName: R.trim, + * lastName: R.trim, // Will not get invoked. + * data: {elapsed: R.add(1), remaining: R.add(-1)} + * }; + * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123} + */ + +var evolve = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function evolve(transformations, object) { + var result = object instanceof Array ? [] : {}; + var transformation, key, type; + + for (key in object) { + transformation = transformations[key]; + type = typeof transformation; + result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key]; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (evolve); + +/***/ }), + +/***/ "./node_modules/ramda/es/filter.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/filter.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); +/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/_xfilter.js */ "./node_modules/ramda/es/internal/_xfilter.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + + + + + + +/** + * Takes a predicate and a `Filterable`, and returns a new filterable of the + * same type containing the members of the given filterable which satisfy the + * given predicate. Filterable objects include plain objects or any object + * that has a filter method such as `Array`. + * + * Dispatches to the `filter` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Filterable f => (a -> Boolean) -> f a -> f a + * @param {Function} pred + * @param {Array} filterable + * @return {Array} Filterable + * @see R.reject, R.transduce, R.addIndex + * @example + * + * const isEven = n => n % 2 === 0; + * + * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4] + * + * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} + */ + +var filter = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['filter'], _internal_xfilter_js__WEBPACK_IMPORTED_MODULE_5__["default"], function (pred, filterable) { + return Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(filterable) ? Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (acc, key) { + if (pred(filterable[key])) { + acc[key] = filterable[key]; + } + + return acc; + }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(filterable)) : // else + Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, filterable); +})); + +/* harmony default export */ __webpack_exports__["default"] = (filter); + +/***/ }), + +/***/ "./node_modules/ramda/es/find.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/find.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xfind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfind.js */ "./node_modules/ramda/es/internal/_xfind.js"); + + + +/** + * Returns the first element of the list which matches the predicate, or + * `undefined` if no element matches. + * + * Dispatches to the `find` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> a | undefined + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Object} The element found, or `undefined`. + * @see R.transduce + * @example + * + * const xs = [{a: 1}, {a: 2}, {a: 3}]; + * R.find(R.propEq('a', 2))(xs); //=> {a: 2} + * R.find(R.propEq('a', 4))(xs); //=> undefined + */ + +var find = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['find'], _internal_xfind_js__WEBPACK_IMPORTED_MODULE_2__["default"], function find(fn, list) { + var idx = 0; + var len = list.length; + + while (idx < len) { + if (fn(list[idx])) { + return list[idx]; + } + + idx += 1; + } +})); + +/* harmony default export */ __webpack_exports__["default"] = (find); + +/***/ }), + +/***/ "./node_modules/ramda/es/findIndex.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/findIndex.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xfindIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindIndex.js */ "./node_modules/ramda/es/internal/_xfindIndex.js"); + + + +/** + * Returns the index of the first element of the list which matches the + * predicate, or `-1` if no element matches. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig (a -> Boolean) -> [a] -> Number + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Number} The index of the element found, or `-1`. + * @see R.transduce + * @example + * + * const xs = [{a: 1}, {a: 2}, {a: 3}]; + * R.findIndex(R.propEq('a', 2))(xs); //=> 1 + * R.findIndex(R.propEq('a', 4))(xs); //=> -1 + */ + +var findIndex = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindIndex_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findIndex(fn, list) { + var idx = 0; + var len = list.length; + + while (idx < len) { + if (fn(list[idx])) { + return idx; + } + + idx += 1; + } + + return -1; +})); + +/* harmony default export */ __webpack_exports__["default"] = (findIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/findLast.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/findLast.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xfindLast_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLast.js */ "./node_modules/ramda/es/internal/_xfindLast.js"); + + + +/** + * Returns the last element of the list which matches the predicate, or + * `undefined` if no element matches. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig (a -> Boolean) -> [a] -> a | undefined + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Object} The element found, or `undefined`. + * @see R.transduce + * @example + * + * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; + * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1} + * R.findLast(R.propEq('a', 4))(xs); //=> undefined + */ + +var findLast = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindLast_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findLast(fn, list) { + var idx = list.length - 1; + + while (idx >= 0) { + if (fn(list[idx])) { + return list[idx]; + } + + idx -= 1; + } +})); + +/* harmony default export */ __webpack_exports__["default"] = (findLast); + +/***/ }), + +/***/ "./node_modules/ramda/es/findLastIndex.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/findLastIndex.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xfindLastIndex_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xfindLastIndex.js */ "./node_modules/ramda/es/internal/_xfindLastIndex.js"); + + + +/** + * Returns the index of the last element of the list which matches the + * predicate, or `-1` if no element matches. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig (a -> Boolean) -> [a] -> Number + * @param {Function} fn The predicate function used to determine if the element is the + * desired one. + * @param {Array} list The array to consider. + * @return {Number} The index of the element found, or `-1`. + * @see R.transduce + * @example + * + * const xs = [{a: 1, b: 0}, {a:1, b: 1}]; + * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1 + * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1 + */ + +var findLastIndex = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xfindLastIndex_js__WEBPACK_IMPORTED_MODULE_2__["default"], function findLastIndex(fn, list) { + var idx = list.length - 1; + + while (idx >= 0) { + if (fn(list[idx])) { + return idx; + } + + idx -= 1; + } + + return -1; +})); + +/* harmony default export */ __webpack_exports__["default"] = (findLastIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/flatten.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/flatten.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_makeFlat.js */ "./node_modules/ramda/es/internal/_makeFlat.js"); + + +/** + * Returns a new list by pulling every item out of it (and all its sub-arrays) + * and putting them in a new array, depth-first. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [b] + * @param {Array} list The array to consider. + * @return {Array} The flattened list. + * @see R.unnest + * @example + * + * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]); + * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] + */ + +var flatten = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_makeFlat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(true)); + +/* harmony default export */ __webpack_exports__["default"] = (flatten); + +/***/ }), + +/***/ "./node_modules/ramda/es/flip.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/flip.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + +/** + * Returns a new function much like the supplied one, except that the first two + * arguments' order is reversed. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z) + * @param {Function} fn The function to invoke with its first two parameters reversed. + * @return {*} The result of invoking `fn` with its first two parameters' order reversed. + * @example + * + * const mergeThree = (a, b, c) => [].concat(a, b, c); + * + * mergeThree(1, 2, 3); //=> [1, 2, 3] + * + * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3] + * @symb R.flip(f)(a, b, c) = f(b, a, c) + */ + +var flip = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function flip(fn) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, function (a, b) { + var args = Array.prototype.slice.call(arguments, 0); + args[0] = b; + args[1] = a; + return fn.apply(this, args); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (flip); + +/***/ }), + +/***/ "./node_modules/ramda/es/forEach.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/forEach.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Iterate over an input `list`, calling a provided function `fn` for each + * element in the list. + * + * `fn` receives one argument: *(value)*. + * + * Note: `R.forEach` does not skip deleted or unassigned indices (sparse + * arrays), unlike the native `Array.prototype.forEach` method. For more + * details on this behavior, see: + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description + * + * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns + * the original array. In some libraries this function is named `each`. + * + * Dispatches to the `forEach` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig (a -> *) -> [a] -> [a] + * @param {Function} fn The function to invoke. Receives one argument, `value`. + * @param {Array} list The list to iterate over. + * @return {Array} The original list. + * @see R.addIndex + * @example + * + * const printXPlusFive = x => console.log(x + 5); + * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3] + * // logs 6 + * // logs 7 + * // logs 8 + * @symb R.forEach(f, [a, b, c]) = [a, b, c] + */ + +var forEach = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('forEach', function forEach(fn, list) { + var len = list.length; + var idx = 0; + + while (idx < len) { + fn(list[idx]); + idx += 1; + } + + return list; +})); + +/* harmony default export */ __webpack_exports__["default"] = (forEach); + +/***/ }), + +/***/ "./node_modules/ramda/es/forEachObjIndexed.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/forEachObjIndexed.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + +/** + * Iterate over an input `object`, calling a provided function `fn` for each + * key and value in the object. + * + * `fn` receives three argument: *(value, key, obj)*. + * + * @func + * @memberOf R + * @since v0.23.0 + * @category Object + * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a + * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`. + * @param {Object} obj The object to iterate over. + * @return {Object} The original object. + * @example + * + * const printKeyConcatValue = (value, key) => console.log(key + ':' + value); + * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2} + * // logs x:1 + * // logs y:2 + * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b} + */ + +var forEachObjIndexed = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function forEachObjIndexed(fn, obj) { + var keyList = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); + var idx = 0; + + while (idx < keyList.length) { + var key = keyList[idx]; + fn(obj[key], key, obj); + idx += 1; + } + + return obj; +}); + +/* harmony default export */ __webpack_exports__["default"] = (forEachObjIndexed); + +/***/ }), + +/***/ "./node_modules/ramda/es/fromPairs.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/fromPairs.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Creates a new object from a list key-value pairs. If a key appears in + * multiple pairs, the rightmost pair is included in the object. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig [[k,v]] -> {k: v} + * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object. + * @return {Object} The object made by pairing up `keys` and `values`. + * @see R.toPairs, R.pair + * @example + * + * R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3} + */ + +var fromPairs = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function fromPairs(pairs) { + var result = {}; + var idx = 0; + + while (idx < pairs.length) { + result[pairs[idx][0]] = pairs[idx][1]; + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (fromPairs); + +/***/ }), + +/***/ "./node_modules/ramda/es/groupBy.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/groupBy.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); + + + +/** + * Splits a list into sub-lists stored in an object, based on the result of + * calling a String-returning function on each element, and grouping the + * results according to values returned. + * + * Dispatches to the `groupBy` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> String) -> [a] -> {String: [a]} + * @param {Function} fn Function :: a -> String + * @param {Array} list The array to group + * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements + * that produced that key when passed to `fn`. + * @see R.reduceBy, R.transduce + * @example + * + * const byGrade = R.groupBy(function(student) { + * const score = student.score; + * return score < 65 ? 'F' : + * score < 70 ? 'D' : + * score < 80 ? 'C' : + * score < 90 ? 'B' : 'A'; + * }); + * const students = [{name: 'Abby', score: 84}, + * {name: 'Eddy', score: 58}, + * // ... + * {name: 'Jack', score: 69}]; + * byGrade(students); + * // { + * // 'A': [{name: 'Dianne', score: 99}], + * // 'B': [{name: 'Abby', score: 84}] + * // // ..., + * // 'F': [{name: 'Eddy', score: 58}] + * // } + */ + +var groupBy = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('groupBy', +/*#__PURE__*/ +Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (acc, item) { + if (acc == null) { + acc = []; + } + + acc.push(item); + return acc; +}, null))); + +/* harmony default export */ __webpack_exports__["default"] = (groupBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/groupWith.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/groupWith.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Takes a list and returns a list of lists where each sublist's elements are + * all satisfied pairwise comparison according to the provided function. + * Only adjacent elements are passed to the comparison function. + * + * @func + * @memberOf R + * @since v0.21.0 + * @category List + * @sig ((a, a) → Boolean) → [a] → [[a]] + * @param {Function} fn Function for determining whether two given (adjacent) + * elements should be in the same group + * @param {Array} list The array to group. Also accepts a string, which will be + * treated as a list of characters. + * @return {List} A list that contains sublists of elements, + * whose concatenations are equal to the original list. + * @example + * + * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]] + * + * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21]) + * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]] + * + * R.groupWith(R.eqBy(isVowel), 'aestiou') + * //=> ['ae', 'st', 'iou'] + */ + +var groupWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (fn, list) { + var res = []; + var idx = 0; + var len = list.length; + + while (idx < len) { + var nextidx = idx + 1; + + while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) { + nextidx += 1; + } + + res.push(list.slice(idx, nextidx)); + idx = nextidx; + } + + return res; +}); + +/* harmony default export */ __webpack_exports__["default"] = (groupWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/gt.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/gt.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if the first argument is greater than the second; `false` + * otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @see R.lt + * @example + * + * R.gt(2, 1); //=> true + * R.gt(2, 2); //=> false + * R.gt(2, 3); //=> false + * R.gt('a', 'z'); //=> false + * R.gt('z', 'a'); //=> true + */ + +var gt = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function gt(a, b) { + return a > b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (gt); + +/***/ }), + +/***/ "./node_modules/ramda/es/gte.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/gte.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if the first argument is greater than or equal to the second; + * `false` otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {Number} a + * @param {Number} b + * @return {Boolean} + * @see R.lte + * @example + * + * R.gte(2, 1); //=> true + * R.gte(2, 2); //=> true + * R.gte(2, 3); //=> false + * R.gte('a', 'z'); //=> false + * R.gte('z', 'a'); //=> true + */ + +var gte = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function gte(a, b) { + return a >= b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (gte); + +/***/ }), + +/***/ "./node_modules/ramda/es/has.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/has.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./hasPath.js */ "./node_modules/ramda/es/hasPath.js"); + + +/** + * Returns whether or not an object has an own property with the specified name + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Object + * @sig s -> {s: x} -> Boolean + * @param {String} prop The name of the property to check for. + * @param {Object} obj The object to query. + * @return {Boolean} Whether the property exists. + * @example + * + * const hasName = R.has('name'); + * hasName({name: 'alice'}); //=> true + * hasName({name: 'bob'}); //=> true + * hasName({}); //=> false + * + * const point = {x: 0, y: 0}; + * const pointHas = R.has(R.__, point); + * pointHas('x'); //=> true + * pointHas('y'); //=> true + * pointHas('z'); //=> false + */ + +var has = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function has(prop, obj) { + return Object(_hasPath_js__WEBPACK_IMPORTED_MODULE_1__["default"])([prop], obj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (has); + +/***/ }), + +/***/ "./node_modules/ramda/es/hasIn.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/hasIn.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns whether or not an object or its prototype chain has a property with + * the specified name + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Object + * @sig s -> {s: x} -> Boolean + * @param {String} prop The name of the property to check for. + * @param {Object} obj The object to query. + * @return {Boolean} Whether the property exists. + * @example + * + * function Rectangle(width, height) { + * this.width = width; + * this.height = height; + * } + * Rectangle.prototype.area = function() { + * return this.width * this.height; + * }; + * + * const square = new Rectangle(2, 2); + * R.hasIn('width', square); //=> true + * R.hasIn('area', square); //=> true + */ + +var hasIn = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function hasIn(prop, obj) { + return prop in obj; +}); + +/* harmony default export */ __webpack_exports__["default"] = (hasIn); + +/***/ }), + +/***/ "./node_modules/ramda/es/hasPath.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/hasPath.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./isNil.js */ "./node_modules/ramda/es/isNil.js"); + + + +/** + * Returns whether or not a path exists in an object. Only the object's + * own properties are checked. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> {a} -> Boolean + * @param {Array} path The path to use. + * @param {Object} obj The object to check the path in. + * @return {Boolean} Whether the path exists. + * @see R.has + * @example + * + * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true + * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true + * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false + * R.hasPath(['a', 'b'], {}); // => false + */ + +var hasPath = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function hasPath(_path, obj) { + if (_path.length === 0 || Object(_isNil_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { + return false; + } + + var val = obj; + var idx = 0; + + while (idx < _path.length) { + if (!Object(_isNil_js__WEBPACK_IMPORTED_MODULE_2__["default"])(val) && Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_path[idx], val)) { + val = val[_path[idx]]; + idx += 1; + } else { + return false; + } + } + + return true; +}); + +/* harmony default export */ __webpack_exports__["default"] = (hasPath); + +/***/ }), + +/***/ "./node_modules/ramda/es/head.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/head.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); + +/** + * Returns the first element of the given list or string. In some libraries + * this function is named `first`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> a | Undefined + * @sig String -> String + * @param {Array|String} list + * @return {*} + * @see R.tail, R.init, R.last + * @example + * + * R.head(['fi', 'fo', 'fum']); //=> 'fi' + * R.head([]); //=> undefined + * + * R.head('abc'); //=> 'a' + * R.head(''); //=> '' + */ + +var head = +/*#__PURE__*/ +Object(_nth_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0); +/* harmony default export */ __webpack_exports__["default"] = (head); + +/***/ }), + +/***/ "./node_modules/ramda/es/identical.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/identical.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectIs.js */ "./node_modules/ramda/es/internal/_objectIs.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns true if its arguments are identical, false otherwise. Values are + * identical if they reference the same memory. `NaN` is identical to `NaN`; + * `0` and `-0` are not identical. + * + * Note this is merely a curried version of ES6 `Object.is`. + * + * @func + * @memberOf R + * @since v0.15.0 + * @category Relation + * @sig a -> a -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @example + * + * const o = {}; + * R.identical(o, o); //=> true + * R.identical(1, 1); //=> true + * R.identical(1, '1'); //=> false + * R.identical([], []); //=> false + * R.identical(0, -0); //=> false + * R.identical(NaN, NaN); //=> true + */ + +var identical = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_objectIs_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (identical); + +/***/ }), + +/***/ "./node_modules/ramda/es/identity.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/identity.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); + + +/** + * A function that does nothing but return the parameter supplied to it. Good + * as a default or placeholder function. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig a -> a + * @param {*} x The value to return. + * @return {*} The input value, `x`. + * @example + * + * R.identity(1); //=> 1 + * + * const obj = {}; + * R.identity(obj) === obj; //=> true + * @symb R.identity(a) = a + */ + +var identity = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (identity); + +/***/ }), + +/***/ "./node_modules/ramda/es/ifElse.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/ifElse.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + +/** + * Creates a function that will process either the `onTrue` or the `onFalse` + * function depending upon the result of the `condition` predicate. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Logic + * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *) + * @param {Function} condition A predicate function + * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value. + * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value. + * @return {Function} A new function that will process either the `onTrue` or the `onFalse` + * function depending upon the result of the `condition` predicate. + * @see R.unless, R.when, R.cond + * @example + * + * const incCount = R.ifElse( + * R.has('count'), + * R.over(R.lensProp('count'), R.inc), + * R.assoc('count', 1) + * ); + * incCount({}); //=> { count: 1 } + * incCount({ count: 1 }); //=> { count: 2 } + */ + +var ifElse = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function ifElse(condition, onTrue, onFalse) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() { + return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (ifElse); + +/***/ }), + +/***/ "./node_modules/ramda/es/inc.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/inc.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); + +/** + * Increments its argument. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Math + * @sig Number -> Number + * @param {Number} n + * @return {Number} n + 1 + * @see R.dec + * @example + * + * R.inc(42); //=> 43 + */ + +var inc = +/*#__PURE__*/ +Object(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1); +/* harmony default export */ __webpack_exports__["default"] = (inc); + +/***/ }), + +/***/ "./node_modules/ramda/es/includes.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/includes.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns `true` if the specified value is equal, in [`R.equals`](#equals) + * terms, to at least one element of the given list; `false` otherwise. + * Works also with strings. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category List + * @sig a -> [a] -> Boolean + * @param {Object} a The item to compare against. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise. + * @see R.any + * @example + * + * R.includes(3, [1, 2, 3]); //=> true + * R.includes(4, [1, 2, 3]); //=> false + * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true + * R.includes([42], [[42]]); //=> true + * R.includes('ba', 'banana'); //=>true + */ + +var includes = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (includes); + +/***/ }), + +/***/ "./node_modules/ramda/es/index.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/index.js ***! + \****************************************/ +/*! exports provided: F, T, __, add, addIndex, adjust, all, allPass, always, and, any, anyPass, ap, aperture, append, apply, applySpec, applyTo, ascend, assoc, assocPath, binary, bind, both, call, chain, clamp, clone, comparator, complement, compose, composeK, composeP, composeWith, concat, cond, construct, constructN, contains, converge, countBy, curry, curryN, dec, defaultTo, descend, difference, differenceWith, dissoc, dissocPath, divide, drop, dropLast, dropLastWhile, dropRepeats, dropRepeatsWith, dropWhile, either, empty, endsWith, eqBy, eqProps, equals, evolve, filter, find, findIndex, findLast, findLastIndex, flatten, flip, forEach, forEachObjIndexed, fromPairs, groupBy, groupWith, gt, gte, has, hasIn, hasPath, head, identical, identity, ifElse, inc, includes, indexBy, indexOf, init, innerJoin, insert, insertAll, intersection, intersperse, into, invert, invertObj, invoker, is, isEmpty, isNil, join, juxt, keys, keysIn, last, lastIndexOf, length, lens, lensIndex, lensPath, lensProp, lift, liftN, lt, lte, map, mapAccum, mapAccumRight, mapObjIndexed, match, mathMod, max, maxBy, mean, median, memoizeWith, merge, mergeAll, mergeDeepLeft, mergeDeepRight, mergeDeepWith, mergeDeepWithKey, mergeLeft, mergeRight, mergeWith, mergeWithKey, min, minBy, modulo, move, multiply, nAry, negate, none, not, nth, nthArg, o, objOf, of, omit, once, or, otherwise, over, pair, partial, partialRight, partition, path, paths, pathEq, pathOr, pathSatisfies, pick, pickAll, pickBy, pipe, pipeK, pipeP, pipeWith, pluck, prepend, product, project, prop, propEq, propIs, propOr, propSatisfies, props, range, reduce, reduceBy, reduceRight, reduceWhile, reduced, reject, remove, repeat, replace, reverse, scan, sequence, set, slice, sort, sortBy, sortWith, split, splitAt, splitEvery, splitWhen, startsWith, subtract, sum, symmetricDifference, symmetricDifferenceWith, tail, take, takeLast, takeLastWhile, takeWhile, tap, test, andThen, times, toLower, toPairs, toPairsIn, toString, toUpper, transduce, transpose, traverse, trim, tryCatch, type, unapply, unary, uncurryN, unfold, union, unionWith, uniq, uniqBy, uniqWith, unless, unnest, until, update, useWith, values, valuesIn, view, when, where, whereEq, without, xor, xprod, zip, zipObj, zipWith, thunkify */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _F_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./F.js */ "./node_modules/ramda/es/F.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "F", function() { return _F_js__WEBPACK_IMPORTED_MODULE_0__["default"]; }); + +/* harmony import */ var _T_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./T.js */ "./node_modules/ramda/es/T.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "T", function() { return _T_js__WEBPACK_IMPORTED_MODULE_1__["default"]; }); + +/* harmony import */ var _js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./__.js */ "./node_modules/ramda/es/__.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "__", function() { return _js__WEBPACK_IMPORTED_MODULE_2__["default"]; }); + +/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "add", function() { return _add_js__WEBPACK_IMPORTED_MODULE_3__["default"]; }); + +/* harmony import */ var _addIndex_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./addIndex.js */ "./node_modules/ramda/es/addIndex.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "addIndex", function() { return _addIndex_js__WEBPACK_IMPORTED_MODULE_4__["default"]; }); + +/* harmony import */ var _adjust_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./adjust.js */ "./node_modules/ramda/es/adjust.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "adjust", function() { return _adjust_js__WEBPACK_IMPORTED_MODULE_5__["default"]; }); + +/* harmony import */ var _all_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./all.js */ "./node_modules/ramda/es/all.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "all", function() { return _all_js__WEBPACK_IMPORTED_MODULE_6__["default"]; }); + +/* harmony import */ var _allPass_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./allPass.js */ "./node_modules/ramda/es/allPass.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "allPass", function() { return _allPass_js__WEBPACK_IMPORTED_MODULE_7__["default"]; }); + +/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "always", function() { return _always_js__WEBPACK_IMPORTED_MODULE_8__["default"]; }); + +/* harmony import */ var _and_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./and.js */ "./node_modules/ramda/es/and.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "and", function() { return _and_js__WEBPACK_IMPORTED_MODULE_9__["default"]; }); + +/* harmony import */ var _any_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./any.js */ "./node_modules/ramda/es/any.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "any", function() { return _any_js__WEBPACK_IMPORTED_MODULE_10__["default"]; }); + +/* harmony import */ var _anyPass_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./anyPass.js */ "./node_modules/ramda/es/anyPass.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "anyPass", function() { return _anyPass_js__WEBPACK_IMPORTED_MODULE_11__["default"]; }); + +/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ap", function() { return _ap_js__WEBPACK_IMPORTED_MODULE_12__["default"]; }); + +/* harmony import */ var _aperture_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./aperture.js */ "./node_modules/ramda/es/aperture.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "aperture", function() { return _aperture_js__WEBPACK_IMPORTED_MODULE_13__["default"]; }); + +/* harmony import */ var _append_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./append.js */ "./node_modules/ramda/es/append.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "append", function() { return _append_js__WEBPACK_IMPORTED_MODULE_14__["default"]; }); + +/* harmony import */ var _apply_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./apply.js */ "./node_modules/ramda/es/apply.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "apply", function() { return _apply_js__WEBPACK_IMPORTED_MODULE_15__["default"]; }); + +/* harmony import */ var _applySpec_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./applySpec.js */ "./node_modules/ramda/es/applySpec.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applySpec", function() { return _applySpec_js__WEBPACK_IMPORTED_MODULE_16__["default"]; }); + +/* harmony import */ var _applyTo_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./applyTo.js */ "./node_modules/ramda/es/applyTo.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "applyTo", function() { return _applyTo_js__WEBPACK_IMPORTED_MODULE_17__["default"]; }); + +/* harmony import */ var _ascend_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ascend.js */ "./node_modules/ramda/es/ascend.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ascend", function() { return _ascend_js__WEBPACK_IMPORTED_MODULE_18__["default"]; }); + +/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assoc", function() { return _assoc_js__WEBPACK_IMPORTED_MODULE_19__["default"]; }); + +/* harmony import */ var _assocPath_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./assocPath.js */ "./node_modules/ramda/es/assocPath.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "assocPath", function() { return _assocPath_js__WEBPACK_IMPORTED_MODULE_20__["default"]; }); + +/* harmony import */ var _binary_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./binary.js */ "./node_modules/ramda/es/binary.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "binary", function() { return _binary_js__WEBPACK_IMPORTED_MODULE_21__["default"]; }); + +/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./bind.js */ "./node_modules/ramda/es/bind.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "bind", function() { return _bind_js__WEBPACK_IMPORTED_MODULE_22__["default"]; }); + +/* harmony import */ var _both_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./both.js */ "./node_modules/ramda/es/both.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "both", function() { return _both_js__WEBPACK_IMPORTED_MODULE_23__["default"]; }); + +/* harmony import */ var _call_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./call.js */ "./node_modules/ramda/es/call.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "call", function() { return _call_js__WEBPACK_IMPORTED_MODULE_24__["default"]; }); + +/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "chain", function() { return _chain_js__WEBPACK_IMPORTED_MODULE_25__["default"]; }); + +/* harmony import */ var _clamp_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./clamp.js */ "./node_modules/ramda/es/clamp.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clamp", function() { return _clamp_js__WEBPACK_IMPORTED_MODULE_26__["default"]; }); + +/* harmony import */ var _clone_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./clone.js */ "./node_modules/ramda/es/clone.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "clone", function() { return _clone_js__WEBPACK_IMPORTED_MODULE_27__["default"]; }); + +/* harmony import */ var _comparator_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./comparator.js */ "./node_modules/ramda/es/comparator.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "comparator", function() { return _comparator_js__WEBPACK_IMPORTED_MODULE_28__["default"]; }); + +/* harmony import */ var _complement_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./complement.js */ "./node_modules/ramda/es/complement.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "complement", function() { return _complement_js__WEBPACK_IMPORTED_MODULE_29__["default"]; }); + +/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return _compose_js__WEBPACK_IMPORTED_MODULE_30__["default"]; }); + +/* harmony import */ var _composeK_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./composeK.js */ "./node_modules/ramda/es/composeK.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeK", function() { return _composeK_js__WEBPACK_IMPORTED_MODULE_31__["default"]; }); + +/* harmony import */ var _composeP_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./composeP.js */ "./node_modules/ramda/es/composeP.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeP", function() { return _composeP_js__WEBPACK_IMPORTED_MODULE_32__["default"]; }); + +/* harmony import */ var _composeWith_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./composeWith.js */ "./node_modules/ramda/es/composeWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "composeWith", function() { return _composeWith_js__WEBPACK_IMPORTED_MODULE_33__["default"]; }); + +/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "concat", function() { return _concat_js__WEBPACK_IMPORTED_MODULE_34__["default"]; }); + +/* harmony import */ var _cond_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./cond.js */ "./node_modules/ramda/es/cond.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "cond", function() { return _cond_js__WEBPACK_IMPORTED_MODULE_35__["default"]; }); + +/* harmony import */ var _construct_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./construct.js */ "./node_modules/ramda/es/construct.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "construct", function() { return _construct_js__WEBPACK_IMPORTED_MODULE_36__["default"]; }); + +/* harmony import */ var _constructN_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./constructN.js */ "./node_modules/ramda/es/constructN.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "constructN", function() { return _constructN_js__WEBPACK_IMPORTED_MODULE_37__["default"]; }); + +/* harmony import */ var _contains_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./contains.js */ "./node_modules/ramda/es/contains.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "contains", function() { return _contains_js__WEBPACK_IMPORTED_MODULE_38__["default"]; }); + +/* harmony import */ var _converge_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./converge.js */ "./node_modules/ramda/es/converge.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "converge", function() { return _converge_js__WEBPACK_IMPORTED_MODULE_39__["default"]; }); + +/* harmony import */ var _countBy_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./countBy.js */ "./node_modules/ramda/es/countBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "countBy", function() { return _countBy_js__WEBPACK_IMPORTED_MODULE_40__["default"]; }); + +/* harmony import */ var _curry_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./curry.js */ "./node_modules/ramda/es/curry.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "curry", function() { return _curry_js__WEBPACK_IMPORTED_MODULE_41__["default"]; }); + +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "curryN", function() { return _curryN_js__WEBPACK_IMPORTED_MODULE_42__["default"]; }); + +/* harmony import */ var _dec_js__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./dec.js */ "./node_modules/ramda/es/dec.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dec", function() { return _dec_js__WEBPACK_IMPORTED_MODULE_43__["default"]; }); + +/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./defaultTo.js */ "./node_modules/ramda/es/defaultTo.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultTo", function() { return _defaultTo_js__WEBPACK_IMPORTED_MODULE_44__["default"]; }); + +/* harmony import */ var _descend_js__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./descend.js */ "./node_modules/ramda/es/descend.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "descend", function() { return _descend_js__WEBPACK_IMPORTED_MODULE_45__["default"]; }); + +/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./difference.js */ "./node_modules/ramda/es/difference.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "difference", function() { return _difference_js__WEBPACK_IMPORTED_MODULE_46__["default"]; }); + +/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./differenceWith.js */ "./node_modules/ramda/es/differenceWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "differenceWith", function() { return _differenceWith_js__WEBPACK_IMPORTED_MODULE_47__["default"]; }); + +/* harmony import */ var _dissoc_js__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./dissoc.js */ "./node_modules/ramda/es/dissoc.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dissoc", function() { return _dissoc_js__WEBPACK_IMPORTED_MODULE_48__["default"]; }); + +/* harmony import */ var _dissocPath_js__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./dissocPath.js */ "./node_modules/ramda/es/dissocPath.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dissocPath", function() { return _dissocPath_js__WEBPACK_IMPORTED_MODULE_49__["default"]; }); + +/* harmony import */ var _divide_js__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ./divide.js */ "./node_modules/ramda/es/divide.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "divide", function() { return _divide_js__WEBPACK_IMPORTED_MODULE_50__["default"]; }); + +/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./drop.js */ "./node_modules/ramda/es/drop.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "drop", function() { return _drop_js__WEBPACK_IMPORTED_MODULE_51__["default"]; }); + +/* harmony import */ var _dropLast_js__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ./dropLast.js */ "./node_modules/ramda/es/dropLast.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropLast", function() { return _dropLast_js__WEBPACK_IMPORTED_MODULE_52__["default"]; }); + +/* harmony import */ var _dropLastWhile_js__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ./dropLastWhile.js */ "./node_modules/ramda/es/dropLastWhile.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropLastWhile", function() { return _dropLastWhile_js__WEBPACK_IMPORTED_MODULE_53__["default"]; }); + +/* harmony import */ var _dropRepeats_js__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ./dropRepeats.js */ "./node_modules/ramda/es/dropRepeats.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropRepeats", function() { return _dropRepeats_js__WEBPACK_IMPORTED_MODULE_54__["default"]; }); + +/* harmony import */ var _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ./dropRepeatsWith.js */ "./node_modules/ramda/es/dropRepeatsWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropRepeatsWith", function() { return _dropRepeatsWith_js__WEBPACK_IMPORTED_MODULE_55__["default"]; }); + +/* harmony import */ var _dropWhile_js__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ./dropWhile.js */ "./node_modules/ramda/es/dropWhile.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dropWhile", function() { return _dropWhile_js__WEBPACK_IMPORTED_MODULE_56__["default"]; }); + +/* harmony import */ var _either_js__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ./either.js */ "./node_modules/ramda/es/either.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "either", function() { return _either_js__WEBPACK_IMPORTED_MODULE_57__["default"]; }); + +/* harmony import */ var _empty_js__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ./empty.js */ "./node_modules/ramda/es/empty.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "empty", function() { return _empty_js__WEBPACK_IMPORTED_MODULE_58__["default"]; }); + +/* harmony import */ var _endsWith_js__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ./endsWith.js */ "./node_modules/ramda/es/endsWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "endsWith", function() { return _endsWith_js__WEBPACK_IMPORTED_MODULE_59__["default"]; }); + +/* harmony import */ var _eqBy_js__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ./eqBy.js */ "./node_modules/ramda/es/eqBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eqBy", function() { return _eqBy_js__WEBPACK_IMPORTED_MODULE_60__["default"]; }); + +/* harmony import */ var _eqProps_js__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ./eqProps.js */ "./node_modules/ramda/es/eqProps.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "eqProps", function() { return _eqProps_js__WEBPACK_IMPORTED_MODULE_61__["default"]; }); + +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "equals", function() { return _equals_js__WEBPACK_IMPORTED_MODULE_62__["default"]; }); + +/* harmony import */ var _evolve_js__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ./evolve.js */ "./node_modules/ramda/es/evolve.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "evolve", function() { return _evolve_js__WEBPACK_IMPORTED_MODULE_63__["default"]; }); + +/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "filter", function() { return _filter_js__WEBPACK_IMPORTED_MODULE_64__["default"]; }); + +/* harmony import */ var _find_js__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ./find.js */ "./node_modules/ramda/es/find.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "find", function() { return _find_js__WEBPACK_IMPORTED_MODULE_65__["default"]; }); + +/* harmony import */ var _findIndex_js__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ./findIndex.js */ "./node_modules/ramda/es/findIndex.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findIndex", function() { return _findIndex_js__WEBPACK_IMPORTED_MODULE_66__["default"]; }); + +/* harmony import */ var _findLast_js__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ./findLast.js */ "./node_modules/ramda/es/findLast.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findLast", function() { return _findLast_js__WEBPACK_IMPORTED_MODULE_67__["default"]; }); + +/* harmony import */ var _findLastIndex_js__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ./findLastIndex.js */ "./node_modules/ramda/es/findLastIndex.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "findLastIndex", function() { return _findLastIndex_js__WEBPACK_IMPORTED_MODULE_68__["default"]; }); + +/* harmony import */ var _flatten_js__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ./flatten.js */ "./node_modules/ramda/es/flatten.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flatten", function() { return _flatten_js__WEBPACK_IMPORTED_MODULE_69__["default"]; }); + +/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "flip", function() { return _flip_js__WEBPACK_IMPORTED_MODULE_70__["default"]; }); + +/* harmony import */ var _forEach_js__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ./forEach.js */ "./node_modules/ramda/es/forEach.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forEach", function() { return _forEach_js__WEBPACK_IMPORTED_MODULE_71__["default"]; }); + +/* harmony import */ var _forEachObjIndexed_js__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ./forEachObjIndexed.js */ "./node_modules/ramda/es/forEachObjIndexed.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "forEachObjIndexed", function() { return _forEachObjIndexed_js__WEBPACK_IMPORTED_MODULE_72__["default"]; }); + +/* harmony import */ var _fromPairs_js__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ./fromPairs.js */ "./node_modules/ramda/es/fromPairs.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "fromPairs", function() { return _fromPairs_js__WEBPACK_IMPORTED_MODULE_73__["default"]; }); + +/* harmony import */ var _groupBy_js__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ./groupBy.js */ "./node_modules/ramda/es/groupBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupBy", function() { return _groupBy_js__WEBPACK_IMPORTED_MODULE_74__["default"]; }); + +/* harmony import */ var _groupWith_js__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ./groupWith.js */ "./node_modules/ramda/es/groupWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "groupWith", function() { return _groupWith_js__WEBPACK_IMPORTED_MODULE_75__["default"]; }); + +/* harmony import */ var _gt_js__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ./gt.js */ "./node_modules/ramda/es/gt.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "gt", function() { return _gt_js__WEBPACK_IMPORTED_MODULE_76__["default"]; }); + +/* harmony import */ var _gte_js__WEBPACK_IMPORTED_MODULE_77__ = __webpack_require__(/*! ./gte.js */ "./node_modules/ramda/es/gte.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "gte", function() { return _gte_js__WEBPACK_IMPORTED_MODULE_77__["default"]; }); + +/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_78__ = __webpack_require__(/*! ./has.js */ "./node_modules/ramda/es/has.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "has", function() { return _has_js__WEBPACK_IMPORTED_MODULE_78__["default"]; }); + +/* harmony import */ var _hasIn_js__WEBPACK_IMPORTED_MODULE_79__ = __webpack_require__(/*! ./hasIn.js */ "./node_modules/ramda/es/hasIn.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasIn", function() { return _hasIn_js__WEBPACK_IMPORTED_MODULE_79__["default"]; }); + +/* harmony import */ var _hasPath_js__WEBPACK_IMPORTED_MODULE_80__ = __webpack_require__(/*! ./hasPath.js */ "./node_modules/ramda/es/hasPath.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "hasPath", function() { return _hasPath_js__WEBPACK_IMPORTED_MODULE_80__["default"]; }); + +/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_81__ = __webpack_require__(/*! ./head.js */ "./node_modules/ramda/es/head.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "head", function() { return _head_js__WEBPACK_IMPORTED_MODULE_81__["default"]; }); + +/* harmony import */ var _identical_js__WEBPACK_IMPORTED_MODULE_82__ = __webpack_require__(/*! ./identical.js */ "./node_modules/ramda/es/identical.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identical", function() { return _identical_js__WEBPACK_IMPORTED_MODULE_82__["default"]; }); + +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_83__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "identity", function() { return _identity_js__WEBPACK_IMPORTED_MODULE_83__["default"]; }); + +/* harmony import */ var _ifElse_js__WEBPACK_IMPORTED_MODULE_84__ = __webpack_require__(/*! ./ifElse.js */ "./node_modules/ramda/es/ifElse.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ifElse", function() { return _ifElse_js__WEBPACK_IMPORTED_MODULE_84__["default"]; }); + +/* harmony import */ var _inc_js__WEBPACK_IMPORTED_MODULE_85__ = __webpack_require__(/*! ./inc.js */ "./node_modules/ramda/es/inc.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "inc", function() { return _inc_js__WEBPACK_IMPORTED_MODULE_85__["default"]; }); + +/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_86__ = __webpack_require__(/*! ./includes.js */ "./node_modules/ramda/es/includes.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "includes", function() { return _includes_js__WEBPACK_IMPORTED_MODULE_86__["default"]; }); + +/* harmony import */ var _indexBy_js__WEBPACK_IMPORTED_MODULE_87__ = __webpack_require__(/*! ./indexBy.js */ "./node_modules/ramda/es/indexBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "indexBy", function() { return _indexBy_js__WEBPACK_IMPORTED_MODULE_87__["default"]; }); + +/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_88__ = __webpack_require__(/*! ./indexOf.js */ "./node_modules/ramda/es/indexOf.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "indexOf", function() { return _indexOf_js__WEBPACK_IMPORTED_MODULE_88__["default"]; }); + +/* harmony import */ var _init_js__WEBPACK_IMPORTED_MODULE_89__ = __webpack_require__(/*! ./init.js */ "./node_modules/ramda/es/init.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "init", function() { return _init_js__WEBPACK_IMPORTED_MODULE_89__["default"]; }); + +/* harmony import */ var _innerJoin_js__WEBPACK_IMPORTED_MODULE_90__ = __webpack_require__(/*! ./innerJoin.js */ "./node_modules/ramda/es/innerJoin.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "innerJoin", function() { return _innerJoin_js__WEBPACK_IMPORTED_MODULE_90__["default"]; }); + +/* harmony import */ var _insert_js__WEBPACK_IMPORTED_MODULE_91__ = __webpack_require__(/*! ./insert.js */ "./node_modules/ramda/es/insert.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "insert", function() { return _insert_js__WEBPACK_IMPORTED_MODULE_91__["default"]; }); + +/* harmony import */ var _insertAll_js__WEBPACK_IMPORTED_MODULE_92__ = __webpack_require__(/*! ./insertAll.js */ "./node_modules/ramda/es/insertAll.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "insertAll", function() { return _insertAll_js__WEBPACK_IMPORTED_MODULE_92__["default"]; }); + +/* harmony import */ var _intersection_js__WEBPACK_IMPORTED_MODULE_93__ = __webpack_require__(/*! ./intersection.js */ "./node_modules/ramda/es/intersection.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "intersection", function() { return _intersection_js__WEBPACK_IMPORTED_MODULE_93__["default"]; }); + +/* harmony import */ var _intersperse_js__WEBPACK_IMPORTED_MODULE_94__ = __webpack_require__(/*! ./intersperse.js */ "./node_modules/ramda/es/intersperse.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "intersperse", function() { return _intersperse_js__WEBPACK_IMPORTED_MODULE_94__["default"]; }); + +/* harmony import */ var _into_js__WEBPACK_IMPORTED_MODULE_95__ = __webpack_require__(/*! ./into.js */ "./node_modules/ramda/es/into.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "into", function() { return _into_js__WEBPACK_IMPORTED_MODULE_95__["default"]; }); + +/* harmony import */ var _invert_js__WEBPACK_IMPORTED_MODULE_96__ = __webpack_require__(/*! ./invert.js */ "./node_modules/ramda/es/invert.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invert", function() { return _invert_js__WEBPACK_IMPORTED_MODULE_96__["default"]; }); + +/* harmony import */ var _invertObj_js__WEBPACK_IMPORTED_MODULE_97__ = __webpack_require__(/*! ./invertObj.js */ "./node_modules/ramda/es/invertObj.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invertObj", function() { return _invertObj_js__WEBPACK_IMPORTED_MODULE_97__["default"]; }); + +/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_98__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "invoker", function() { return _invoker_js__WEBPACK_IMPORTED_MODULE_98__["default"]; }); + +/* harmony import */ var _is_js__WEBPACK_IMPORTED_MODULE_99__ = __webpack_require__(/*! ./is.js */ "./node_modules/ramda/es/is.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "is", function() { return _is_js__WEBPACK_IMPORTED_MODULE_99__["default"]; }); + +/* harmony import */ var _isEmpty_js__WEBPACK_IMPORTED_MODULE_100__ = __webpack_require__(/*! ./isEmpty.js */ "./node_modules/ramda/es/isEmpty.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isEmpty", function() { return _isEmpty_js__WEBPACK_IMPORTED_MODULE_100__["default"]; }); + +/* harmony import */ var _isNil_js__WEBPACK_IMPORTED_MODULE_101__ = __webpack_require__(/*! ./isNil.js */ "./node_modules/ramda/es/isNil.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "isNil", function() { return _isNil_js__WEBPACK_IMPORTED_MODULE_101__["default"]; }); + +/* harmony import */ var _join_js__WEBPACK_IMPORTED_MODULE_102__ = __webpack_require__(/*! ./join.js */ "./node_modules/ramda/es/join.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "join", function() { return _join_js__WEBPACK_IMPORTED_MODULE_102__["default"]; }); + +/* harmony import */ var _juxt_js__WEBPACK_IMPORTED_MODULE_103__ = __webpack_require__(/*! ./juxt.js */ "./node_modules/ramda/es/juxt.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "juxt", function() { return _juxt_js__WEBPACK_IMPORTED_MODULE_103__["default"]; }); + +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_104__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keys", function() { return _keys_js__WEBPACK_IMPORTED_MODULE_104__["default"]; }); + +/* harmony import */ var _keysIn_js__WEBPACK_IMPORTED_MODULE_105__ = __webpack_require__(/*! ./keysIn.js */ "./node_modules/ramda/es/keysIn.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "keysIn", function() { return _keysIn_js__WEBPACK_IMPORTED_MODULE_105__["default"]; }); + +/* harmony import */ var _last_js__WEBPACK_IMPORTED_MODULE_106__ = __webpack_require__(/*! ./last.js */ "./node_modules/ramda/es/last.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "last", function() { return _last_js__WEBPACK_IMPORTED_MODULE_106__["default"]; }); + +/* harmony import */ var _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_107__ = __webpack_require__(/*! ./lastIndexOf.js */ "./node_modules/ramda/es/lastIndexOf.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lastIndexOf", function() { return _lastIndexOf_js__WEBPACK_IMPORTED_MODULE_107__["default"]; }); + +/* harmony import */ var _length_js__WEBPACK_IMPORTED_MODULE_108__ = __webpack_require__(/*! ./length.js */ "./node_modules/ramda/es/length.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "length", function() { return _length_js__WEBPACK_IMPORTED_MODULE_108__["default"]; }); + +/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_109__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lens", function() { return _lens_js__WEBPACK_IMPORTED_MODULE_109__["default"]; }); + +/* harmony import */ var _lensIndex_js__WEBPACK_IMPORTED_MODULE_110__ = __webpack_require__(/*! ./lensIndex.js */ "./node_modules/ramda/es/lensIndex.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensIndex", function() { return _lensIndex_js__WEBPACK_IMPORTED_MODULE_110__["default"]; }); + +/* harmony import */ var _lensPath_js__WEBPACK_IMPORTED_MODULE_111__ = __webpack_require__(/*! ./lensPath.js */ "./node_modules/ramda/es/lensPath.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensPath", function() { return _lensPath_js__WEBPACK_IMPORTED_MODULE_111__["default"]; }); + +/* harmony import */ var _lensProp_js__WEBPACK_IMPORTED_MODULE_112__ = __webpack_require__(/*! ./lensProp.js */ "./node_modules/ramda/es/lensProp.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lensProp", function() { return _lensProp_js__WEBPACK_IMPORTED_MODULE_112__["default"]; }); + +/* harmony import */ var _lift_js__WEBPACK_IMPORTED_MODULE_113__ = __webpack_require__(/*! ./lift.js */ "./node_modules/ramda/es/lift.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lift", function() { return _lift_js__WEBPACK_IMPORTED_MODULE_113__["default"]; }); + +/* harmony import */ var _liftN_js__WEBPACK_IMPORTED_MODULE_114__ = __webpack_require__(/*! ./liftN.js */ "./node_modules/ramda/es/liftN.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "liftN", function() { return _liftN_js__WEBPACK_IMPORTED_MODULE_114__["default"]; }); + +/* harmony import */ var _lt_js__WEBPACK_IMPORTED_MODULE_115__ = __webpack_require__(/*! ./lt.js */ "./node_modules/ramda/es/lt.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lt", function() { return _lt_js__WEBPACK_IMPORTED_MODULE_115__["default"]; }); + +/* harmony import */ var _lte_js__WEBPACK_IMPORTED_MODULE_116__ = __webpack_require__(/*! ./lte.js */ "./node_modules/ramda/es/lte.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "lte", function() { return _lte_js__WEBPACK_IMPORTED_MODULE_116__["default"]; }); + +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_117__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "map", function() { return _map_js__WEBPACK_IMPORTED_MODULE_117__["default"]; }); + +/* harmony import */ var _mapAccum_js__WEBPACK_IMPORTED_MODULE_118__ = __webpack_require__(/*! ./mapAccum.js */ "./node_modules/ramda/es/mapAccum.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapAccum", function() { return _mapAccum_js__WEBPACK_IMPORTED_MODULE_118__["default"]; }); + +/* harmony import */ var _mapAccumRight_js__WEBPACK_IMPORTED_MODULE_119__ = __webpack_require__(/*! ./mapAccumRight.js */ "./node_modules/ramda/es/mapAccumRight.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapAccumRight", function() { return _mapAccumRight_js__WEBPACK_IMPORTED_MODULE_119__["default"]; }); + +/* harmony import */ var _mapObjIndexed_js__WEBPACK_IMPORTED_MODULE_120__ = __webpack_require__(/*! ./mapObjIndexed.js */ "./node_modules/ramda/es/mapObjIndexed.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mapObjIndexed", function() { return _mapObjIndexed_js__WEBPACK_IMPORTED_MODULE_120__["default"]; }); + +/* harmony import */ var _match_js__WEBPACK_IMPORTED_MODULE_121__ = __webpack_require__(/*! ./match.js */ "./node_modules/ramda/es/match.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "match", function() { return _match_js__WEBPACK_IMPORTED_MODULE_121__["default"]; }); + +/* harmony import */ var _mathMod_js__WEBPACK_IMPORTED_MODULE_122__ = __webpack_require__(/*! ./mathMod.js */ "./node_modules/ramda/es/mathMod.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mathMod", function() { return _mathMod_js__WEBPACK_IMPORTED_MODULE_122__["default"]; }); + +/* harmony import */ var _max_js__WEBPACK_IMPORTED_MODULE_123__ = __webpack_require__(/*! ./max.js */ "./node_modules/ramda/es/max.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "max", function() { return _max_js__WEBPACK_IMPORTED_MODULE_123__["default"]; }); + +/* harmony import */ var _maxBy_js__WEBPACK_IMPORTED_MODULE_124__ = __webpack_require__(/*! ./maxBy.js */ "./node_modules/ramda/es/maxBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "maxBy", function() { return _maxBy_js__WEBPACK_IMPORTED_MODULE_124__["default"]; }); + +/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_125__ = __webpack_require__(/*! ./mean.js */ "./node_modules/ramda/es/mean.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mean", function() { return _mean_js__WEBPACK_IMPORTED_MODULE_125__["default"]; }); + +/* harmony import */ var _median_js__WEBPACK_IMPORTED_MODULE_126__ = __webpack_require__(/*! ./median.js */ "./node_modules/ramda/es/median.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "median", function() { return _median_js__WEBPACK_IMPORTED_MODULE_126__["default"]; }); + +/* harmony import */ var _memoizeWith_js__WEBPACK_IMPORTED_MODULE_127__ = __webpack_require__(/*! ./memoizeWith.js */ "./node_modules/ramda/es/memoizeWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "memoizeWith", function() { return _memoizeWith_js__WEBPACK_IMPORTED_MODULE_127__["default"]; }); + +/* harmony import */ var _merge_js__WEBPACK_IMPORTED_MODULE_128__ = __webpack_require__(/*! ./merge.js */ "./node_modules/ramda/es/merge.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "merge", function() { return _merge_js__WEBPACK_IMPORTED_MODULE_128__["default"]; }); + +/* harmony import */ var _mergeAll_js__WEBPACK_IMPORTED_MODULE_129__ = __webpack_require__(/*! ./mergeAll.js */ "./node_modules/ramda/es/mergeAll.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeAll", function() { return _mergeAll_js__WEBPACK_IMPORTED_MODULE_129__["default"]; }); + +/* harmony import */ var _mergeDeepLeft_js__WEBPACK_IMPORTED_MODULE_130__ = __webpack_require__(/*! ./mergeDeepLeft.js */ "./node_modules/ramda/es/mergeDeepLeft.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepLeft", function() { return _mergeDeepLeft_js__WEBPACK_IMPORTED_MODULE_130__["default"]; }); + +/* harmony import */ var _mergeDeepRight_js__WEBPACK_IMPORTED_MODULE_131__ = __webpack_require__(/*! ./mergeDeepRight.js */ "./node_modules/ramda/es/mergeDeepRight.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepRight", function() { return _mergeDeepRight_js__WEBPACK_IMPORTED_MODULE_131__["default"]; }); + +/* harmony import */ var _mergeDeepWith_js__WEBPACK_IMPORTED_MODULE_132__ = __webpack_require__(/*! ./mergeDeepWith.js */ "./node_modules/ramda/es/mergeDeepWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepWith", function() { return _mergeDeepWith_js__WEBPACK_IMPORTED_MODULE_132__["default"]; }); + +/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_133__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeDeepWithKey", function() { return _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_133__["default"]; }); + +/* harmony import */ var _mergeLeft_js__WEBPACK_IMPORTED_MODULE_134__ = __webpack_require__(/*! ./mergeLeft.js */ "./node_modules/ramda/es/mergeLeft.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeLeft", function() { return _mergeLeft_js__WEBPACK_IMPORTED_MODULE_134__["default"]; }); + +/* harmony import */ var _mergeRight_js__WEBPACK_IMPORTED_MODULE_135__ = __webpack_require__(/*! ./mergeRight.js */ "./node_modules/ramda/es/mergeRight.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeRight", function() { return _mergeRight_js__WEBPACK_IMPORTED_MODULE_135__["default"]; }); + +/* harmony import */ var _mergeWith_js__WEBPACK_IMPORTED_MODULE_136__ = __webpack_require__(/*! ./mergeWith.js */ "./node_modules/ramda/es/mergeWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeWith", function() { return _mergeWith_js__WEBPACK_IMPORTED_MODULE_136__["default"]; }); + +/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_137__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "mergeWithKey", function() { return _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_137__["default"]; }); + +/* harmony import */ var _min_js__WEBPACK_IMPORTED_MODULE_138__ = __webpack_require__(/*! ./min.js */ "./node_modules/ramda/es/min.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "min", function() { return _min_js__WEBPACK_IMPORTED_MODULE_138__["default"]; }); + +/* harmony import */ var _minBy_js__WEBPACK_IMPORTED_MODULE_139__ = __webpack_require__(/*! ./minBy.js */ "./node_modules/ramda/es/minBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "minBy", function() { return _minBy_js__WEBPACK_IMPORTED_MODULE_139__["default"]; }); + +/* harmony import */ var _modulo_js__WEBPACK_IMPORTED_MODULE_140__ = __webpack_require__(/*! ./modulo.js */ "./node_modules/ramda/es/modulo.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "modulo", function() { return _modulo_js__WEBPACK_IMPORTED_MODULE_140__["default"]; }); + +/* harmony import */ var _move_js__WEBPACK_IMPORTED_MODULE_141__ = __webpack_require__(/*! ./move.js */ "./node_modules/ramda/es/move.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "move", function() { return _move_js__WEBPACK_IMPORTED_MODULE_141__["default"]; }); + +/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_142__ = __webpack_require__(/*! ./multiply.js */ "./node_modules/ramda/es/multiply.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "multiply", function() { return _multiply_js__WEBPACK_IMPORTED_MODULE_142__["default"]; }); + +/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_143__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nAry", function() { return _nAry_js__WEBPACK_IMPORTED_MODULE_143__["default"]; }); + +/* harmony import */ var _negate_js__WEBPACK_IMPORTED_MODULE_144__ = __webpack_require__(/*! ./negate.js */ "./node_modules/ramda/es/negate.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "negate", function() { return _negate_js__WEBPACK_IMPORTED_MODULE_144__["default"]; }); + +/* harmony import */ var _none_js__WEBPACK_IMPORTED_MODULE_145__ = __webpack_require__(/*! ./none.js */ "./node_modules/ramda/es/none.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "none", function() { return _none_js__WEBPACK_IMPORTED_MODULE_145__["default"]; }); + +/* harmony import */ var _not_js__WEBPACK_IMPORTED_MODULE_146__ = __webpack_require__(/*! ./not.js */ "./node_modules/ramda/es/not.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "not", function() { return _not_js__WEBPACK_IMPORTED_MODULE_146__["default"]; }); + +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_147__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nth", function() { return _nth_js__WEBPACK_IMPORTED_MODULE_147__["default"]; }); + +/* harmony import */ var _nthArg_js__WEBPACK_IMPORTED_MODULE_148__ = __webpack_require__(/*! ./nthArg.js */ "./node_modules/ramda/es/nthArg.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "nthArg", function() { return _nthArg_js__WEBPACK_IMPORTED_MODULE_148__["default"]; }); + +/* harmony import */ var _o_js__WEBPACK_IMPORTED_MODULE_149__ = __webpack_require__(/*! ./o.js */ "./node_modules/ramda/es/o.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "o", function() { return _o_js__WEBPACK_IMPORTED_MODULE_149__["default"]; }); + +/* harmony import */ var _objOf_js__WEBPACK_IMPORTED_MODULE_150__ = __webpack_require__(/*! ./objOf.js */ "./node_modules/ramda/es/objOf.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "objOf", function() { return _objOf_js__WEBPACK_IMPORTED_MODULE_150__["default"]; }); + +/* harmony import */ var _of_js__WEBPACK_IMPORTED_MODULE_151__ = __webpack_require__(/*! ./of.js */ "./node_modules/ramda/es/of.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "of", function() { return _of_js__WEBPACK_IMPORTED_MODULE_151__["default"]; }); + +/* harmony import */ var _omit_js__WEBPACK_IMPORTED_MODULE_152__ = __webpack_require__(/*! ./omit.js */ "./node_modules/ramda/es/omit.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "omit", function() { return _omit_js__WEBPACK_IMPORTED_MODULE_152__["default"]; }); + +/* harmony import */ var _once_js__WEBPACK_IMPORTED_MODULE_153__ = __webpack_require__(/*! ./once.js */ "./node_modules/ramda/es/once.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "once", function() { return _once_js__WEBPACK_IMPORTED_MODULE_153__["default"]; }); + +/* harmony import */ var _or_js__WEBPACK_IMPORTED_MODULE_154__ = __webpack_require__(/*! ./or.js */ "./node_modules/ramda/es/or.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "or", function() { return _or_js__WEBPACK_IMPORTED_MODULE_154__["default"]; }); + +/* harmony import */ var _otherwise_js__WEBPACK_IMPORTED_MODULE_155__ = __webpack_require__(/*! ./otherwise.js */ "./node_modules/ramda/es/otherwise.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "otherwise", function() { return _otherwise_js__WEBPACK_IMPORTED_MODULE_155__["default"]; }); + +/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_156__ = __webpack_require__(/*! ./over.js */ "./node_modules/ramda/es/over.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "over", function() { return _over_js__WEBPACK_IMPORTED_MODULE_156__["default"]; }); + +/* harmony import */ var _pair_js__WEBPACK_IMPORTED_MODULE_157__ = __webpack_require__(/*! ./pair.js */ "./node_modules/ramda/es/pair.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pair", function() { return _pair_js__WEBPACK_IMPORTED_MODULE_157__["default"]; }); + +/* harmony import */ var _partial_js__WEBPACK_IMPORTED_MODULE_158__ = __webpack_require__(/*! ./partial.js */ "./node_modules/ramda/es/partial.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partial", function() { return _partial_js__WEBPACK_IMPORTED_MODULE_158__["default"]; }); + +/* harmony import */ var _partialRight_js__WEBPACK_IMPORTED_MODULE_159__ = __webpack_require__(/*! ./partialRight.js */ "./node_modules/ramda/es/partialRight.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partialRight", function() { return _partialRight_js__WEBPACK_IMPORTED_MODULE_159__["default"]; }); + +/* harmony import */ var _partition_js__WEBPACK_IMPORTED_MODULE_160__ = __webpack_require__(/*! ./partition.js */ "./node_modules/ramda/es/partition.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "partition", function() { return _partition_js__WEBPACK_IMPORTED_MODULE_160__["default"]; }); + +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_161__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "path", function() { return _path_js__WEBPACK_IMPORTED_MODULE_161__["default"]; }); + +/* harmony import */ var _paths_js__WEBPACK_IMPORTED_MODULE_162__ = __webpack_require__(/*! ./paths.js */ "./node_modules/ramda/es/paths.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "paths", function() { return _paths_js__WEBPACK_IMPORTED_MODULE_162__["default"]; }); + +/* harmony import */ var _pathEq_js__WEBPACK_IMPORTED_MODULE_163__ = __webpack_require__(/*! ./pathEq.js */ "./node_modules/ramda/es/pathEq.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathEq", function() { return _pathEq_js__WEBPACK_IMPORTED_MODULE_163__["default"]; }); + +/* harmony import */ var _pathOr_js__WEBPACK_IMPORTED_MODULE_164__ = __webpack_require__(/*! ./pathOr.js */ "./node_modules/ramda/es/pathOr.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathOr", function() { return _pathOr_js__WEBPACK_IMPORTED_MODULE_164__["default"]; }); + +/* harmony import */ var _pathSatisfies_js__WEBPACK_IMPORTED_MODULE_165__ = __webpack_require__(/*! ./pathSatisfies.js */ "./node_modules/ramda/es/pathSatisfies.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pathSatisfies", function() { return _pathSatisfies_js__WEBPACK_IMPORTED_MODULE_165__["default"]; }); + +/* harmony import */ var _pick_js__WEBPACK_IMPORTED_MODULE_166__ = __webpack_require__(/*! ./pick.js */ "./node_modules/ramda/es/pick.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pick", function() { return _pick_js__WEBPACK_IMPORTED_MODULE_166__["default"]; }); + +/* harmony import */ var _pickAll_js__WEBPACK_IMPORTED_MODULE_167__ = __webpack_require__(/*! ./pickAll.js */ "./node_modules/ramda/es/pickAll.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pickAll", function() { return _pickAll_js__WEBPACK_IMPORTED_MODULE_167__["default"]; }); + +/* harmony import */ var _pickBy_js__WEBPACK_IMPORTED_MODULE_168__ = __webpack_require__(/*! ./pickBy.js */ "./node_modules/ramda/es/pickBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pickBy", function() { return _pickBy_js__WEBPACK_IMPORTED_MODULE_168__["default"]; }); + +/* harmony import */ var _pipe_js__WEBPACK_IMPORTED_MODULE_169__ = __webpack_require__(/*! ./pipe.js */ "./node_modules/ramda/es/pipe.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipe", function() { return _pipe_js__WEBPACK_IMPORTED_MODULE_169__["default"]; }); + +/* harmony import */ var _pipeK_js__WEBPACK_IMPORTED_MODULE_170__ = __webpack_require__(/*! ./pipeK.js */ "./node_modules/ramda/es/pipeK.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeK", function() { return _pipeK_js__WEBPACK_IMPORTED_MODULE_170__["default"]; }); + +/* harmony import */ var _pipeP_js__WEBPACK_IMPORTED_MODULE_171__ = __webpack_require__(/*! ./pipeP.js */ "./node_modules/ramda/es/pipeP.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeP", function() { return _pipeP_js__WEBPACK_IMPORTED_MODULE_171__["default"]; }); + +/* harmony import */ var _pipeWith_js__WEBPACK_IMPORTED_MODULE_172__ = __webpack_require__(/*! ./pipeWith.js */ "./node_modules/ramda/es/pipeWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pipeWith", function() { return _pipeWith_js__WEBPACK_IMPORTED_MODULE_172__["default"]; }); + +/* harmony import */ var _pluck_js__WEBPACK_IMPORTED_MODULE_173__ = __webpack_require__(/*! ./pluck.js */ "./node_modules/ramda/es/pluck.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "pluck", function() { return _pluck_js__WEBPACK_IMPORTED_MODULE_173__["default"]; }); + +/* harmony import */ var _prepend_js__WEBPACK_IMPORTED_MODULE_174__ = __webpack_require__(/*! ./prepend.js */ "./node_modules/ramda/es/prepend.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prepend", function() { return _prepend_js__WEBPACK_IMPORTED_MODULE_174__["default"]; }); + +/* harmony import */ var _product_js__WEBPACK_IMPORTED_MODULE_175__ = __webpack_require__(/*! ./product.js */ "./node_modules/ramda/es/product.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "product", function() { return _product_js__WEBPACK_IMPORTED_MODULE_175__["default"]; }); + +/* harmony import */ var _project_js__WEBPACK_IMPORTED_MODULE_176__ = __webpack_require__(/*! ./project.js */ "./node_modules/ramda/es/project.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "project", function() { return _project_js__WEBPACK_IMPORTED_MODULE_176__["default"]; }); + +/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_177__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "prop", function() { return _prop_js__WEBPACK_IMPORTED_MODULE_177__["default"]; }); + +/* harmony import */ var _propEq_js__WEBPACK_IMPORTED_MODULE_178__ = __webpack_require__(/*! ./propEq.js */ "./node_modules/ramda/es/propEq.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propEq", function() { return _propEq_js__WEBPACK_IMPORTED_MODULE_178__["default"]; }); + +/* harmony import */ var _propIs_js__WEBPACK_IMPORTED_MODULE_179__ = __webpack_require__(/*! ./propIs.js */ "./node_modules/ramda/es/propIs.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propIs", function() { return _propIs_js__WEBPACK_IMPORTED_MODULE_179__["default"]; }); + +/* harmony import */ var _propOr_js__WEBPACK_IMPORTED_MODULE_180__ = __webpack_require__(/*! ./propOr.js */ "./node_modules/ramda/es/propOr.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propOr", function() { return _propOr_js__WEBPACK_IMPORTED_MODULE_180__["default"]; }); + +/* harmony import */ var _propSatisfies_js__WEBPACK_IMPORTED_MODULE_181__ = __webpack_require__(/*! ./propSatisfies.js */ "./node_modules/ramda/es/propSatisfies.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "propSatisfies", function() { return _propSatisfies_js__WEBPACK_IMPORTED_MODULE_181__["default"]; }); + +/* harmony import */ var _props_js__WEBPACK_IMPORTED_MODULE_182__ = __webpack_require__(/*! ./props.js */ "./node_modules/ramda/es/props.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "props", function() { return _props_js__WEBPACK_IMPORTED_MODULE_182__["default"]; }); + +/* harmony import */ var _range_js__WEBPACK_IMPORTED_MODULE_183__ = __webpack_require__(/*! ./range.js */ "./node_modules/ramda/es/range.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "range", function() { return _range_js__WEBPACK_IMPORTED_MODULE_183__["default"]; }); + +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_184__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduce", function() { return _reduce_js__WEBPACK_IMPORTED_MODULE_184__["default"]; }); + +/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_185__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceBy", function() { return _reduceBy_js__WEBPACK_IMPORTED_MODULE_185__["default"]; }); + +/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_186__ = __webpack_require__(/*! ./reduceRight.js */ "./node_modules/ramda/es/reduceRight.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceRight", function() { return _reduceRight_js__WEBPACK_IMPORTED_MODULE_186__["default"]; }); + +/* harmony import */ var _reduceWhile_js__WEBPACK_IMPORTED_MODULE_187__ = __webpack_require__(/*! ./reduceWhile.js */ "./node_modules/ramda/es/reduceWhile.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduceWhile", function() { return _reduceWhile_js__WEBPACK_IMPORTED_MODULE_187__["default"]; }); + +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_188__ = __webpack_require__(/*! ./reduced.js */ "./node_modules/ramda/es/reduced.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reduced", function() { return _reduced_js__WEBPACK_IMPORTED_MODULE_188__["default"]; }); + +/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_189__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reject", function() { return _reject_js__WEBPACK_IMPORTED_MODULE_189__["default"]; }); + +/* harmony import */ var _remove_js__WEBPACK_IMPORTED_MODULE_190__ = __webpack_require__(/*! ./remove.js */ "./node_modules/ramda/es/remove.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "remove", function() { return _remove_js__WEBPACK_IMPORTED_MODULE_190__["default"]; }); + +/* harmony import */ var _repeat_js__WEBPACK_IMPORTED_MODULE_191__ = __webpack_require__(/*! ./repeat.js */ "./node_modules/ramda/es/repeat.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "repeat", function() { return _repeat_js__WEBPACK_IMPORTED_MODULE_191__["default"]; }); + +/* harmony import */ var _replace_js__WEBPACK_IMPORTED_MODULE_192__ = __webpack_require__(/*! ./replace.js */ "./node_modules/ramda/es/replace.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "replace", function() { return _replace_js__WEBPACK_IMPORTED_MODULE_192__["default"]; }); + +/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_193__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "reverse", function() { return _reverse_js__WEBPACK_IMPORTED_MODULE_193__["default"]; }); + +/* harmony import */ var _scan_js__WEBPACK_IMPORTED_MODULE_194__ = __webpack_require__(/*! ./scan.js */ "./node_modules/ramda/es/scan.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "scan", function() { return _scan_js__WEBPACK_IMPORTED_MODULE_194__["default"]; }); + +/* harmony import */ var _sequence_js__WEBPACK_IMPORTED_MODULE_195__ = __webpack_require__(/*! ./sequence.js */ "./node_modules/ramda/es/sequence.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sequence", function() { return _sequence_js__WEBPACK_IMPORTED_MODULE_195__["default"]; }); + +/* harmony import */ var _set_js__WEBPACK_IMPORTED_MODULE_196__ = __webpack_require__(/*! ./set.js */ "./node_modules/ramda/es/set.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "set", function() { return _set_js__WEBPACK_IMPORTED_MODULE_196__["default"]; }); + +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_197__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "slice", function() { return _slice_js__WEBPACK_IMPORTED_MODULE_197__["default"]; }); + +/* harmony import */ var _sort_js__WEBPACK_IMPORTED_MODULE_198__ = __webpack_require__(/*! ./sort.js */ "./node_modules/ramda/es/sort.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sort", function() { return _sort_js__WEBPACK_IMPORTED_MODULE_198__["default"]; }); + +/* harmony import */ var _sortBy_js__WEBPACK_IMPORTED_MODULE_199__ = __webpack_require__(/*! ./sortBy.js */ "./node_modules/ramda/es/sortBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sortBy", function() { return _sortBy_js__WEBPACK_IMPORTED_MODULE_199__["default"]; }); + +/* harmony import */ var _sortWith_js__WEBPACK_IMPORTED_MODULE_200__ = __webpack_require__(/*! ./sortWith.js */ "./node_modules/ramda/es/sortWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sortWith", function() { return _sortWith_js__WEBPACK_IMPORTED_MODULE_200__["default"]; }); + +/* harmony import */ var _split_js__WEBPACK_IMPORTED_MODULE_201__ = __webpack_require__(/*! ./split.js */ "./node_modules/ramda/es/split.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "split", function() { return _split_js__WEBPACK_IMPORTED_MODULE_201__["default"]; }); + +/* harmony import */ var _splitAt_js__WEBPACK_IMPORTED_MODULE_202__ = __webpack_require__(/*! ./splitAt.js */ "./node_modules/ramda/es/splitAt.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitAt", function() { return _splitAt_js__WEBPACK_IMPORTED_MODULE_202__["default"]; }); + +/* harmony import */ var _splitEvery_js__WEBPACK_IMPORTED_MODULE_203__ = __webpack_require__(/*! ./splitEvery.js */ "./node_modules/ramda/es/splitEvery.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitEvery", function() { return _splitEvery_js__WEBPACK_IMPORTED_MODULE_203__["default"]; }); + +/* harmony import */ var _splitWhen_js__WEBPACK_IMPORTED_MODULE_204__ = __webpack_require__(/*! ./splitWhen.js */ "./node_modules/ramda/es/splitWhen.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "splitWhen", function() { return _splitWhen_js__WEBPACK_IMPORTED_MODULE_204__["default"]; }); + +/* harmony import */ var _startsWith_js__WEBPACK_IMPORTED_MODULE_205__ = __webpack_require__(/*! ./startsWith.js */ "./node_modules/ramda/es/startsWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "startsWith", function() { return _startsWith_js__WEBPACK_IMPORTED_MODULE_205__["default"]; }); + +/* harmony import */ var _subtract_js__WEBPACK_IMPORTED_MODULE_206__ = __webpack_require__(/*! ./subtract.js */ "./node_modules/ramda/es/subtract.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "subtract", function() { return _subtract_js__WEBPACK_IMPORTED_MODULE_206__["default"]; }); + +/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_207__ = __webpack_require__(/*! ./sum.js */ "./node_modules/ramda/es/sum.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "sum", function() { return _sum_js__WEBPACK_IMPORTED_MODULE_207__["default"]; }); + +/* harmony import */ var _symmetricDifference_js__WEBPACK_IMPORTED_MODULE_208__ = __webpack_require__(/*! ./symmetricDifference.js */ "./node_modules/ramda/es/symmetricDifference.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "symmetricDifference", function() { return _symmetricDifference_js__WEBPACK_IMPORTED_MODULE_208__["default"]; }); + +/* harmony import */ var _symmetricDifferenceWith_js__WEBPACK_IMPORTED_MODULE_209__ = __webpack_require__(/*! ./symmetricDifferenceWith.js */ "./node_modules/ramda/es/symmetricDifferenceWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "symmetricDifferenceWith", function() { return _symmetricDifferenceWith_js__WEBPACK_IMPORTED_MODULE_209__["default"]; }); + +/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_210__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tail", function() { return _tail_js__WEBPACK_IMPORTED_MODULE_210__["default"]; }); + +/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_211__ = __webpack_require__(/*! ./take.js */ "./node_modules/ramda/es/take.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "take", function() { return _take_js__WEBPACK_IMPORTED_MODULE_211__["default"]; }); + +/* harmony import */ var _takeLast_js__WEBPACK_IMPORTED_MODULE_212__ = __webpack_require__(/*! ./takeLast.js */ "./node_modules/ramda/es/takeLast.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLast", function() { return _takeLast_js__WEBPACK_IMPORTED_MODULE_212__["default"]; }); + +/* harmony import */ var _takeLastWhile_js__WEBPACK_IMPORTED_MODULE_213__ = __webpack_require__(/*! ./takeLastWhile.js */ "./node_modules/ramda/es/takeLastWhile.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeLastWhile", function() { return _takeLastWhile_js__WEBPACK_IMPORTED_MODULE_213__["default"]; }); + +/* harmony import */ var _takeWhile_js__WEBPACK_IMPORTED_MODULE_214__ = __webpack_require__(/*! ./takeWhile.js */ "./node_modules/ramda/es/takeWhile.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "takeWhile", function() { return _takeWhile_js__WEBPACK_IMPORTED_MODULE_214__["default"]; }); + +/* harmony import */ var _tap_js__WEBPACK_IMPORTED_MODULE_215__ = __webpack_require__(/*! ./tap.js */ "./node_modules/ramda/es/tap.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tap", function() { return _tap_js__WEBPACK_IMPORTED_MODULE_215__["default"]; }); + +/* harmony import */ var _test_js__WEBPACK_IMPORTED_MODULE_216__ = __webpack_require__(/*! ./test.js */ "./node_modules/ramda/es/test.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "test", function() { return _test_js__WEBPACK_IMPORTED_MODULE_216__["default"]; }); + +/* harmony import */ var _andThen_js__WEBPACK_IMPORTED_MODULE_217__ = __webpack_require__(/*! ./andThen.js */ "./node_modules/ramda/es/andThen.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "andThen", function() { return _andThen_js__WEBPACK_IMPORTED_MODULE_217__["default"]; }); + +/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_218__ = __webpack_require__(/*! ./times.js */ "./node_modules/ramda/es/times.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "times", function() { return _times_js__WEBPACK_IMPORTED_MODULE_218__["default"]; }); + +/* harmony import */ var _toLower_js__WEBPACK_IMPORTED_MODULE_219__ = __webpack_require__(/*! ./toLower.js */ "./node_modules/ramda/es/toLower.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toLower", function() { return _toLower_js__WEBPACK_IMPORTED_MODULE_219__["default"]; }); + +/* harmony import */ var _toPairs_js__WEBPACK_IMPORTED_MODULE_220__ = __webpack_require__(/*! ./toPairs.js */ "./node_modules/ramda/es/toPairs.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toPairs", function() { return _toPairs_js__WEBPACK_IMPORTED_MODULE_220__["default"]; }); + +/* harmony import */ var _toPairsIn_js__WEBPACK_IMPORTED_MODULE_221__ = __webpack_require__(/*! ./toPairsIn.js */ "./node_modules/ramda/es/toPairsIn.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toPairsIn", function() { return _toPairsIn_js__WEBPACK_IMPORTED_MODULE_221__["default"]; }); + +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_222__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toString", function() { return _toString_js__WEBPACK_IMPORTED_MODULE_222__["default"]; }); + +/* harmony import */ var _toUpper_js__WEBPACK_IMPORTED_MODULE_223__ = __webpack_require__(/*! ./toUpper.js */ "./node_modules/ramda/es/toUpper.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "toUpper", function() { return _toUpper_js__WEBPACK_IMPORTED_MODULE_223__["default"]; }); + +/* harmony import */ var _transduce_js__WEBPACK_IMPORTED_MODULE_224__ = __webpack_require__(/*! ./transduce.js */ "./node_modules/ramda/es/transduce.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transduce", function() { return _transduce_js__WEBPACK_IMPORTED_MODULE_224__["default"]; }); + +/* harmony import */ var _transpose_js__WEBPACK_IMPORTED_MODULE_225__ = __webpack_require__(/*! ./transpose.js */ "./node_modules/ramda/es/transpose.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "transpose", function() { return _transpose_js__WEBPACK_IMPORTED_MODULE_225__["default"]; }); + +/* harmony import */ var _traverse_js__WEBPACK_IMPORTED_MODULE_226__ = __webpack_require__(/*! ./traverse.js */ "./node_modules/ramda/es/traverse.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "traverse", function() { return _traverse_js__WEBPACK_IMPORTED_MODULE_226__["default"]; }); + +/* harmony import */ var _trim_js__WEBPACK_IMPORTED_MODULE_227__ = __webpack_require__(/*! ./trim.js */ "./node_modules/ramda/es/trim.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "trim", function() { return _trim_js__WEBPACK_IMPORTED_MODULE_227__["default"]; }); + +/* harmony import */ var _tryCatch_js__WEBPACK_IMPORTED_MODULE_228__ = __webpack_require__(/*! ./tryCatch.js */ "./node_modules/ramda/es/tryCatch.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "tryCatch", function() { return _tryCatch_js__WEBPACK_IMPORTED_MODULE_228__["default"]; }); + +/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_229__ = __webpack_require__(/*! ./type.js */ "./node_modules/ramda/es/type.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "type", function() { return _type_js__WEBPACK_IMPORTED_MODULE_229__["default"]; }); + +/* harmony import */ var _unapply_js__WEBPACK_IMPORTED_MODULE_230__ = __webpack_require__(/*! ./unapply.js */ "./node_modules/ramda/es/unapply.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unapply", function() { return _unapply_js__WEBPACK_IMPORTED_MODULE_230__["default"]; }); + +/* harmony import */ var _unary_js__WEBPACK_IMPORTED_MODULE_231__ = __webpack_require__(/*! ./unary.js */ "./node_modules/ramda/es/unary.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unary", function() { return _unary_js__WEBPACK_IMPORTED_MODULE_231__["default"]; }); + +/* harmony import */ var _uncurryN_js__WEBPACK_IMPORTED_MODULE_232__ = __webpack_require__(/*! ./uncurryN.js */ "./node_modules/ramda/es/uncurryN.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uncurryN", function() { return _uncurryN_js__WEBPACK_IMPORTED_MODULE_232__["default"]; }); + +/* harmony import */ var _unfold_js__WEBPACK_IMPORTED_MODULE_233__ = __webpack_require__(/*! ./unfold.js */ "./node_modules/ramda/es/unfold.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unfold", function() { return _unfold_js__WEBPACK_IMPORTED_MODULE_233__["default"]; }); + +/* harmony import */ var _union_js__WEBPACK_IMPORTED_MODULE_234__ = __webpack_require__(/*! ./union.js */ "./node_modules/ramda/es/union.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "union", function() { return _union_js__WEBPACK_IMPORTED_MODULE_234__["default"]; }); + +/* harmony import */ var _unionWith_js__WEBPACK_IMPORTED_MODULE_235__ = __webpack_require__(/*! ./unionWith.js */ "./node_modules/ramda/es/unionWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unionWith", function() { return _unionWith_js__WEBPACK_IMPORTED_MODULE_235__["default"]; }); + +/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_236__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniq", function() { return _uniq_js__WEBPACK_IMPORTED_MODULE_236__["default"]; }); + +/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_237__ = __webpack_require__(/*! ./uniqBy.js */ "./node_modules/ramda/es/uniqBy.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniqBy", function() { return _uniqBy_js__WEBPACK_IMPORTED_MODULE_237__["default"]; }); + +/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_238__ = __webpack_require__(/*! ./uniqWith.js */ "./node_modules/ramda/es/uniqWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "uniqWith", function() { return _uniqWith_js__WEBPACK_IMPORTED_MODULE_238__["default"]; }); + +/* harmony import */ var _unless_js__WEBPACK_IMPORTED_MODULE_239__ = __webpack_require__(/*! ./unless.js */ "./node_modules/ramda/es/unless.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unless", function() { return _unless_js__WEBPACK_IMPORTED_MODULE_239__["default"]; }); + +/* harmony import */ var _unnest_js__WEBPACK_IMPORTED_MODULE_240__ = __webpack_require__(/*! ./unnest.js */ "./node_modules/ramda/es/unnest.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unnest", function() { return _unnest_js__WEBPACK_IMPORTED_MODULE_240__["default"]; }); + +/* harmony import */ var _until_js__WEBPACK_IMPORTED_MODULE_241__ = __webpack_require__(/*! ./until.js */ "./node_modules/ramda/es/until.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "until", function() { return _until_js__WEBPACK_IMPORTED_MODULE_241__["default"]; }); + +/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_242__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "update", function() { return _update_js__WEBPACK_IMPORTED_MODULE_242__["default"]; }); + +/* harmony import */ var _useWith_js__WEBPACK_IMPORTED_MODULE_243__ = __webpack_require__(/*! ./useWith.js */ "./node_modules/ramda/es/useWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useWith", function() { return _useWith_js__WEBPACK_IMPORTED_MODULE_243__["default"]; }); + +/* harmony import */ var _values_js__WEBPACK_IMPORTED_MODULE_244__ = __webpack_require__(/*! ./values.js */ "./node_modules/ramda/es/values.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "values", function() { return _values_js__WEBPACK_IMPORTED_MODULE_244__["default"]; }); + +/* harmony import */ var _valuesIn_js__WEBPACK_IMPORTED_MODULE_245__ = __webpack_require__(/*! ./valuesIn.js */ "./node_modules/ramda/es/valuesIn.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "valuesIn", function() { return _valuesIn_js__WEBPACK_IMPORTED_MODULE_245__["default"]; }); + +/* harmony import */ var _view_js__WEBPACK_IMPORTED_MODULE_246__ = __webpack_require__(/*! ./view.js */ "./node_modules/ramda/es/view.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "view", function() { return _view_js__WEBPACK_IMPORTED_MODULE_246__["default"]; }); + +/* harmony import */ var _when_js__WEBPACK_IMPORTED_MODULE_247__ = __webpack_require__(/*! ./when.js */ "./node_modules/ramda/es/when.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "when", function() { return _when_js__WEBPACK_IMPORTED_MODULE_247__["default"]; }); + +/* harmony import */ var _where_js__WEBPACK_IMPORTED_MODULE_248__ = __webpack_require__(/*! ./where.js */ "./node_modules/ramda/es/where.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "where", function() { return _where_js__WEBPACK_IMPORTED_MODULE_248__["default"]; }); + +/* harmony import */ var _whereEq_js__WEBPACK_IMPORTED_MODULE_249__ = __webpack_require__(/*! ./whereEq.js */ "./node_modules/ramda/es/whereEq.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "whereEq", function() { return _whereEq_js__WEBPACK_IMPORTED_MODULE_249__["default"]; }); + +/* harmony import */ var _without_js__WEBPACK_IMPORTED_MODULE_250__ = __webpack_require__(/*! ./without.js */ "./node_modules/ramda/es/without.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "without", function() { return _without_js__WEBPACK_IMPORTED_MODULE_250__["default"]; }); + +/* harmony import */ var _xor_js__WEBPACK_IMPORTED_MODULE_251__ = __webpack_require__(/*! ./xor.js */ "./node_modules/ramda/es/xor.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "xor", function() { return _xor_js__WEBPACK_IMPORTED_MODULE_251__["default"]; }); + +/* harmony import */ var _xprod_js__WEBPACK_IMPORTED_MODULE_252__ = __webpack_require__(/*! ./xprod.js */ "./node_modules/ramda/es/xprod.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "xprod", function() { return _xprod_js__WEBPACK_IMPORTED_MODULE_252__["default"]; }); + +/* harmony import */ var _zip_js__WEBPACK_IMPORTED_MODULE_253__ = __webpack_require__(/*! ./zip.js */ "./node_modules/ramda/es/zip.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zip", function() { return _zip_js__WEBPACK_IMPORTED_MODULE_253__["default"]; }); + +/* harmony import */ var _zipObj_js__WEBPACK_IMPORTED_MODULE_254__ = __webpack_require__(/*! ./zipObj.js */ "./node_modules/ramda/es/zipObj.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipObj", function() { return _zipObj_js__WEBPACK_IMPORTED_MODULE_254__["default"]; }); + +/* harmony import */ var _zipWith_js__WEBPACK_IMPORTED_MODULE_255__ = __webpack_require__(/*! ./zipWith.js */ "./node_modules/ramda/es/zipWith.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "zipWith", function() { return _zipWith_js__WEBPACK_IMPORTED_MODULE_255__["default"]; }); + +/* harmony import */ var _thunkify_js__WEBPACK_IMPORTED_MODULE_256__ = __webpack_require__(/*! ./thunkify.js */ "./node_modules/ramda/es/thunkify.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "thunkify", function() { return _thunkify_js__WEBPACK_IMPORTED_MODULE_256__["default"]; }); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/***/ }), + +/***/ "./node_modules/ramda/es/indexBy.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/indexBy.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _reduceBy_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./reduceBy.js */ "./node_modules/ramda/es/reduceBy.js"); + +/** + * Given a function that generates a key, turns a list of objects into an + * object indexing the objects by the given key. Note that if multiple + * objects generate the same value for the indexing key only the last value + * will be included in the generated object. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (a -> String) -> [{k: v}] -> {k: {k: v}} + * @param {Function} fn Function :: a -> String + * @param {Array} array The array of objects to index + * @return {Object} An object indexing each array element by the given property. + * @example + * + * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}]; + * R.indexBy(R.prop('id'), list); + * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}} + */ + +var indexBy = +/*#__PURE__*/ +Object(_reduceBy_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (acc, elem) { + return elem; +}, null); +/* harmony default export */ __webpack_exports__["default"] = (indexBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/indexOf.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/indexOf.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_indexOf_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_indexOf.js */ "./node_modules/ramda/es/internal/_indexOf.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); + + + +/** + * Returns the position of the first occurrence of an item in an array, or -1 + * if the item is not included in the array. [`R.equals`](#equals) is used to + * determine equality. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> Number + * @param {*} target The item to find. + * @param {Array} xs The array to search in. + * @return {Number} the index of the target, or -1 if the target is not found. + * @see R.lastIndexOf + * @example + * + * R.indexOf(3, [1,2,3,4]); //=> 2 + * R.indexOf(10, [1,2,3,4]); //=> -1 + */ + +var indexOf = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function indexOf(target, xs) { + return typeof xs.indexOf === 'function' && !Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xs) ? xs.indexOf(target) : Object(_internal_indexOf_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xs, target, 0); +}); + +/* harmony default export */ __webpack_exports__["default"] = (indexOf); + +/***/ }), + +/***/ "./node_modules/ramda/es/init.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/init.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + +/** + * Returns all but the last element of the given list or string. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category List + * @sig [a] -> [a] + * @sig String -> String + * @param {*} list + * @return {*} + * @see R.last, R.head, R.tail + * @example + * + * R.init([1, 2, 3]); //=> [1, 2] + * R.init([1, 2]); //=> [1] + * R.init([1]); //=> [] + * R.init([]); //=> [] + * + * R.init('abc'); //=> 'ab' + * R.init('ab'); //=> 'a' + * R.init('a'); //=> '' + * R.init(''); //=> '' + */ + +var init = +/*#__PURE__*/ +Object(_slice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, -1); +/* harmony default export */ __webpack_exports__["default"] = (init); + +/***/ }), + +/***/ "./node_modules/ramda/es/innerJoin.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/innerJoin.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); + + + +/** + * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list + * `xs'` comprising each of the elements of `xs` which is equal to one or more + * elements of `ys` according to `pred`. + * + * `pred` must be a binary function expecting an element from each list. + * + * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should + * not be significant, but since `xs'` is ordered the implementation guarantees + * that its values are in the same order as they appear in `xs`. Duplicates are + * not removed, so `xs'` may contain duplicates if `xs` contains duplicates. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Relation + * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a] + * @param {Function} pred + * @param {Array} xs + * @param {Array} ys + * @return {Array} + * @see R.intersection + * @example + * + * R.innerJoin( + * (record, id) => record.id === id, + * [{id: 824, name: 'Richie Furay'}, + * {id: 956, name: 'Dewey Martin'}, + * {id: 313, name: 'Bruce Palmer'}, + * {id: 456, name: 'Stephen Stills'}, + * {id: 177, name: 'Neil Young'}], + * [177, 456, 999] + * ); + * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}] + */ + +var innerJoin = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function innerJoin(pred, xs, ys) { + return Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (x) { + return Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, x, ys); + }, xs); +}); + +/* harmony default export */ __webpack_exports__["default"] = (innerJoin); + +/***/ }), + +/***/ "./node_modules/ramda/es/insert.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/insert.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Inserts the supplied element into the list, at the specified `index`. _Note that + + * this is not destructive_: it returns a copy of the list with the changes. + * <small>No lists have been harmed in the application of this function.</small> + * + * @func + * @memberOf R + * @since v0.2.2 + * @category List + * @sig Number -> a -> [a] -> [a] + * @param {Number} index The position to insert the element + * @param {*} elt The element to insert into the Array + * @param {Array} list The list to insert into + * @return {Array} A new Array with `elt` inserted at `index`. + * @example + * + * R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4] + */ + +var insert = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function insert(idx, elt, list) { + idx = idx < list.length && idx >= 0 ? idx : list.length; + var result = Array.prototype.slice.call(list, 0); + result.splice(idx, 0, elt); + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (insert); + +/***/ }), + +/***/ "./node_modules/ramda/es/insertAll.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/insertAll.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Inserts the sub-list into the list, at the specified `index`. _Note that this is not + * destructive_: it returns a copy of the list with the changes. + * <small>No lists have been harmed in the application of this function.</small> + * + * @func + * @memberOf R + * @since v0.9.0 + * @category List + * @sig Number -> [a] -> [a] -> [a] + * @param {Number} index The position to insert the sub-list + * @param {Array} elts The sub-list to insert into the Array + * @param {Array} list The list to insert the sub-list into + * @return {Array} A new Array with `elts` inserted starting at `index`. + * @example + * + * R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4] + */ + +var insertAll = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function insertAll(idx, elts, list) { + idx = idx < list.length && idx >= 0 ? idx : list.length; + return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (insertAll); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_Set.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/internal/_Set.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); + + +var _Set = +/*#__PURE__*/ +function () { + function _Set() { + /* globals Set */ + this._nativeSet = typeof Set === 'function' ? new Set() : null; + this._items = {}; + } + + // until we figure out why jsdoc chokes on this + // @param item The item to add to the Set + // @returns {boolean} true if the item did not exist prior, otherwise false + // + _Set.prototype.add = function (item) { + return !hasOrAdd(item, true, this); + }; // + // @param item The item to check for existence in the Set + // @returns {boolean} true if the item exists in the Set, otherwise false + // + + + _Set.prototype.has = function (item) { + return hasOrAdd(item, false, this); + }; // + // Combines the logic for checking whether an item is a member of the set and + // for adding a new item to the set. + // + // @param item The item to check or add to the Set instance. + // @param shouldAdd If true, the item will be added to the set if it doesn't + // already exist. + // @param set The set instance to check or add to. + // @return {boolean} true if the item already existed, otherwise false. + // + + + return _Set; +}(); + +function hasOrAdd(item, shouldAdd, set) { + var type = typeof item; + var prevSize, newSize; + + switch (type) { + case 'string': + case 'number': + // distinguish between +0 and -0 + if (item === 0 && 1 / item === -Infinity) { + if (set._items['-0']) { + return true; + } else { + if (shouldAdd) { + set._items['-0'] = true; + } + + return false; + } + } // these types can all utilise the native Set + + + if (set._nativeSet !== null) { + if (shouldAdd) { + prevSize = set._nativeSet.size; + + set._nativeSet.add(item); + + newSize = set._nativeSet.size; + return newSize === prevSize; + } else { + return set._nativeSet.has(item); + } + } else { + if (!(type in set._items)) { + if (shouldAdd) { + set._items[type] = {}; + set._items[type][item] = true; + } + + return false; + } else if (item in set._items[type]) { + return true; + } else { + if (shouldAdd) { + set._items[type][item] = true; + } + + return false; + } + } + + case 'boolean': + // set._items['boolean'] holds a two element array + // representing [ falseExists, trueExists ] + if (type in set._items) { + var bIdx = item ? 1 : 0; + + if (set._items[type][bIdx]) { + return true; + } else { + if (shouldAdd) { + set._items[type][bIdx] = true; + } + + return false; + } + } else { + if (shouldAdd) { + set._items[type] = item ? [false, true] : [true, false]; + } + + return false; + } + + case 'function': + // compare functions for reference equality + if (set._nativeSet !== null) { + if (shouldAdd) { + prevSize = set._nativeSet.size; + + set._nativeSet.add(item); + + newSize = set._nativeSet.size; + return newSize === prevSize; + } else { + return set._nativeSet.has(item); + } + } else { + if (!(type in set._items)) { + if (shouldAdd) { + set._items[type] = [item]; + } + + return false; + } + + if (!Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { + if (shouldAdd) { + set._items[type].push(item); + } + + return false; + } + + return true; + } + + case 'undefined': + if (set._items[type]) { + return true; + } else { + if (shouldAdd) { + set._items[type] = true; + } + + return false; + } + + case 'object': + if (item === null) { + if (!set._items['null']) { + if (shouldAdd) { + set._items['null'] = true; + } + + return false; + } + + return true; + } + + /* falls through */ + + default: + // reduce the search size of heterogeneous sets by creating buckets + // for each type. + type = Object.prototype.toString.call(item); + + if (!(type in set._items)) { + if (shouldAdd) { + set._items[type] = [item]; + } + + return false; + } // scan through all previously applied items + + + if (!Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(item, set._items[type])) { + if (shouldAdd) { + set._items[type].push(item); + } + + return false; + } + + return true; + } +} // A simple Set type that honours R.equals semantics + + +/* harmony default export */ __webpack_exports__["default"] = (_Set); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_aperture.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_aperture.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _aperture; }); +function _aperture(n, list) { + var idx = 0; + var limit = list.length - (n - 1); + var acc = new Array(limit >= 0 ? limit : 0); + + while (idx < limit) { + acc[idx] = Array.prototype.slice.call(list, idx, idx + n); + idx += 1; + } + + return acc; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_arity.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_arity.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _arity; }); +function _arity(n, fn) { + /* eslint-disable no-unused-vars */ + switch (n) { + case 0: + return function () { + return fn.apply(this, arguments); + }; + + case 1: + return function (a0) { + return fn.apply(this, arguments); + }; + + case 2: + return function (a0, a1) { + return fn.apply(this, arguments); + }; + + case 3: + return function (a0, a1, a2) { + return fn.apply(this, arguments); + }; + + case 4: + return function (a0, a1, a2, a3) { + return fn.apply(this, arguments); + }; + + case 5: + return function (a0, a1, a2, a3, a4) { + return fn.apply(this, arguments); + }; + + case 6: + return function (a0, a1, a2, a3, a4, a5) { + return fn.apply(this, arguments); + }; + + case 7: + return function (a0, a1, a2, a3, a4, a5, a6) { + return fn.apply(this, arguments); + }; + + case 8: + return function (a0, a1, a2, a3, a4, a5, a6, a7) { + return fn.apply(this, arguments); + }; + + case 9: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { + return fn.apply(this, arguments); + }; + + case 10: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + return fn.apply(this, arguments); + }; + + default: + throw new Error('First argument to _arity must be a non-negative integer no greater than ten'); + } +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_arrayFromIterator.js": +/*!**************************************************************!*\ + !*** ./node_modules/ramda/es/internal/_arrayFromIterator.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _arrayFromIterator; }); +function _arrayFromIterator(iter) { + var list = []; + var next; + + while (!(next = iter.next()).done) { + list.push(next.value); + } + + return list; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_assertPromise.js": +/*!**********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_assertPromise.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _assertPromise; }); +/* harmony import */ var _isFunction_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_toString.js */ "./node_modules/ramda/es/internal/_toString.js"); + + +function _assertPromise(name, p) { + if (p == null || !Object(_isFunction_js__WEBPACK_IMPORTED_MODULE_0__["default"])(p.then)) { + throw new TypeError('`' + name + '` expected a Promise, received ' + Object(_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p, [])); + } +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_checkForMethod.js": +/*!***********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_checkForMethod.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _checkForMethod; }); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); + +/** + * This checks whether a function has a [methodname] function. If it isn't an + * array it will execute that function otherwise it will default to the ramda + * implementation. + * + * @private + * @param {Function} fn ramda implemtation + * @param {String} methodname property to check for a custom implementation + * @return {Object} Whatever the return value of the method is. + */ + +function _checkForMethod(methodname, fn) { + return function () { + var length = arguments.length; + + if (length === 0) { + return fn(); + } + + var obj = arguments[length - 1]; + return Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1)); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_clone.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_clone.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _clone; }); +/* harmony import */ var _cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_cloneRegExp.js */ "./node_modules/ramda/es/internal/_cloneRegExp.js"); +/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../type.js */ "./node_modules/ramda/es/type.js"); + + +/** + * Copies an object. + * + * @private + * @param {*} value The value to be copied + * @param {Array} refFrom Array containing the source references + * @param {Array} refTo Array containing the copied source references + * @param {Boolean} deep Whether or not to perform deep cloning. + * @return {*} The copied value. + */ + +function _clone(value, refFrom, refTo, deep) { + var copy = function copy(copiedValue) { + var len = refFrom.length; + var idx = 0; + + while (idx < len) { + if (value === refFrom[idx]) { + return refTo[idx]; + } + + idx += 1; + } + + refFrom[idx + 1] = value; + refTo[idx + 1] = copiedValue; + + for (var key in value) { + copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key]; + } + + return copiedValue; + }; + + switch (Object(_type_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value)) { + case 'Object': + return copy({}); + + case 'Array': + return copy([]); + + case 'Date': + return new Date(value.valueOf()); + + case 'RegExp': + return Object(_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__["default"])(value); + + default: + return value; + } +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_cloneRegExp.js": +/*!********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_cloneRegExp.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _cloneRegExp; }); +function _cloneRegExp(pattern) { + return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : '')); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_complement.js": +/*!*******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_complement.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _complement; }); +function _complement(f) { + return function () { + return !f.apply(this, arguments); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_concat.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_concat.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _concat; }); +/** + * Private `concat` function to merge two array-like objects. + * + * @private + * @param {Array|Arguments} [set1=[]] An array-like object. + * @param {Array|Arguments} [set2=[]] An array-like object. + * @return {Array} A new, merged array. + * @example + * + * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3] + */ +function _concat(set1, set2) { + set1 = set1 || []; + set2 = set2 || []; + var idx; + var len1 = set1.length; + var len2 = set2.length; + var result = []; + idx = 0; + + while (idx < len1) { + result[result.length] = set1[idx]; + idx += 1; + } + + idx = 0; + + while (idx < len2) { + result[result.length] = set2[idx]; + idx += 1; + } + + return result; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_createPartialApplicator.js": +/*!********************************************************************!*\ + !*** ./node_modules/ramda/es/internal/_createPartialApplicator.js ***! + \********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _createPartialApplicator; }); +/* harmony import */ var _arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +function _createPartialApplicator(concat) { + return Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (fn, args) { + return Object(_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Math.max(0, fn.length - args.length), function () { + return fn.apply(this, concat(args, arguments)); + }); + }); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_curry1.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_curry1.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry1; }); +/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); + +/** + * Optimized internal one-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + +function _curry1(fn) { + return function f1(a) { + if (arguments.length === 0 || Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_0__["default"])(a)) { + return f1; + } else { + return fn.apply(this, arguments); + } + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_curry2.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_curry2.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry2; }); +/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); + + +/** + * Optimized internal two-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + +function _curry2(fn) { + return function f2(a, b) { + switch (arguments.length) { + case 0: + return f2; + + case 1: + return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) ? f2 : Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { + return fn(a, _b); + }); + + default: + return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b) ? f2 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(a) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_a) { + return fn(_a, b); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(b) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { + return fn(a, _b); + }) : fn(a, b); + } + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_curry3.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_curry3.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curry3; }); +/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); + + + +/** + * Optimized internal three-arity curry function. + * + * @private + * @category Function + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + +function _curry3(fn) { + return function f3(a, b, c) { + switch (arguments.length) { + case 0: + return f3; + + case 1: + return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? f3 : Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { + return fn(a, _b, _c); + }); + + case 2: + return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? f3 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { + return fn(_a, b, _c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { + return fn(a, _b, _c); + }) : Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_c) { + return fn(a, b, _c); + }); + + default: + return Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? f3 : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _b) { + return fn(_a, _b, c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_a, _c) { + return fn(_a, b, _c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) && Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_b, _c) { + return fn(a, _b, _c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_a) { + return fn(_a, b, c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(b) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_b) { + return fn(a, _b, c); + }) : Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_2__["default"])(c) ? Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (_c) { + return fn(a, b, _c); + }) : fn(a, b, c); + } + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_curryN.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_curryN.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _curryN; }); +/* harmony import */ var _arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isPlaceholder.js */ "./node_modules/ramda/es/internal/_isPlaceholder.js"); + + +/** + * Internal curryN function. + * + * @private + * @category Function + * @param {Number} length The arity of the curried function. + * @param {Array} received An array of arguments received thus far. + * @param {Function} fn The function to curry. + * @return {Function} The curried function. + */ + +function _curryN(length, received, fn) { + return function () { + var combined = []; + var argsIdx = 0; + var left = length; + var combinedIdx = 0; + + while (combinedIdx < received.length || argsIdx < arguments.length) { + var result; + + if (combinedIdx < received.length && (!Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(received[combinedIdx]) || argsIdx >= arguments.length)) { + result = received[combinedIdx]; + } else { + result = arguments[argsIdx]; + argsIdx += 1; + } + + combined[combinedIdx] = result; + + if (!Object(_isPlaceholder_js__WEBPACK_IMPORTED_MODULE_1__["default"])(result)) { + left -= 1; + } + + combinedIdx += 1; + } + + return left <= 0 ? fn.apply(this, combined) : Object(_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(left, _curryN(length, combined, fn)); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_dispatchable.js": +/*!*********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_dispatchable.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _dispatchable; }); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _isTransformer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); + + +/** + * Returns a function that dispatches with different strategies based on the + * object in list position (last argument). If it is an array, executes [fn]. + * Otherwise, if it has a function with one of the given method names, it will + * execute that function (functor case). Otherwise, if it is a transformer, + * uses transducer [xf] to return a new transformer (transducer case). + * Otherwise, it will default to executing [fn]. + * + * @private + * @param {Array} methodNames properties to check for a custom implementation + * @param {Function} xf transducer to initialize if object is transformer + * @param {Function} fn default ramda implementation + * @return {Function} A function that dispatches on object in list position + */ + +function _dispatchable(methodNames, xf, fn) { + return function () { + if (arguments.length === 0) { + return fn(); + } + + var args = Array.prototype.slice.call(arguments, 0); + var obj = args.pop(); + + if (!Object(_isArray_js__WEBPACK_IMPORTED_MODULE_0__["default"])(obj)) { + var idx = 0; + + while (idx < methodNames.length) { + if (typeof obj[methodNames[idx]] === 'function') { + return obj[methodNames[idx]].apply(obj, args); + } + + idx += 1; + } + + if (Object(_isTransformer_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj)) { + var transducer = xf.apply(null, args); + return transducer(obj); + } + } + + return fn.apply(this, arguments); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_dropLast.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_dropLast.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return dropLast; }); +/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../take.js */ "./node_modules/ramda/es/take.js"); + +function dropLast(n, xs) { + return Object(_take_js__WEBPACK_IMPORTED_MODULE_0__["default"])(n < xs.length ? xs.length - n : 0, xs); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_dropLastWhile.js": +/*!**********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_dropLastWhile.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return dropLastWhile; }); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../slice.js */ "./node_modules/ramda/es/slice.js"); + +function dropLastWhile(pred, xs) { + var idx = xs.length - 1; + + while (idx >= 0 && pred(xs[idx])) { + idx -= 1; + } + + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, idx + 1, xs); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_equals.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_equals.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _equals; }); +/* harmony import */ var _arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_arrayFromIterator.js */ "./node_modules/ramda/es/internal/_arrayFromIterator.js"); +/* harmony import */ var _includesWith_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); +/* harmony import */ var _functionName_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_functionName.js */ "./node_modules/ramda/es/internal/_functionName.js"); +/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _objectIs_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./_objectIs.js */ "./node_modules/ramda/es/internal/_objectIs.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../keys.js */ "./node_modules/ramda/es/keys.js"); +/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../type.js */ "./node_modules/ramda/es/type.js"); + + + + + + + +/** + * private _uniqContentEquals function. + * That function is checking equality of 2 iterator contents with 2 assumptions + * - iterators lengths are the same + * - iterators values are unique + * + * false-positive result will be returned for comparision of, e.g. + * - [1,2,3] and [1,2,3,4] + * - [1,1,1] and [1,2,3] + * */ + +function _uniqContentEquals(aIterator, bIterator, stackA, stackB) { + var a = Object(_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(aIterator); + + var b = Object(_arrayFromIterator_js__WEBPACK_IMPORTED_MODULE_0__["default"])(bIterator); + + function eq(_a, _b) { + return _equals(_a, _b, stackA.slice(), stackB.slice()); + } // if *a* array contains any element that is not included in *b* + + + return !Object(_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (b, aItem) { + return !Object(_includesWith_js__WEBPACK_IMPORTED_MODULE_1__["default"])(eq, aItem, b); + }, b, a); +} + +function _equals(a, b, stackA, stackB) { + if (Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a, b)) { + return true; + } + + var typeA = Object(_type_js__WEBPACK_IMPORTED_MODULE_6__["default"])(a); + + if (typeA !== Object(_type_js__WEBPACK_IMPORTED_MODULE_6__["default"])(b)) { + return false; + } + + if (a == null || b == null) { + return false; + } + + if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') { + return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a); + } + + if (typeof a.equals === 'function' || typeof b.equals === 'function') { + return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a); + } + + switch (typeA) { + case 'Arguments': + case 'Array': + case 'Object': + if (typeof a.constructor === 'function' && Object(_functionName_js__WEBPACK_IMPORTED_MODULE_2__["default"])(a.constructor) === 'Promise') { + return a === b; + } + + break; + + case 'Boolean': + case 'Number': + case 'String': + if (!(typeof a === typeof b && Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.valueOf(), b.valueOf()))) { + return false; + } + + break; + + case 'Date': + if (!Object(_objectIs_js__WEBPACK_IMPORTED_MODULE_4__["default"])(a.valueOf(), b.valueOf())) { + return false; + } + + break; + + case 'Error': + return a.name === b.name && a.message === b.message; + + case 'RegExp': + if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) { + return false; + } + + break; + } + + var idx = stackA.length - 1; + + while (idx >= 0) { + if (stackA[idx] === a) { + return stackB[idx] === b; + } + + idx -= 1; + } + + switch (typeA) { + case 'Map': + if (a.size !== b.size) { + return false; + } + + return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b])); + + case 'Set': + if (a.size !== b.size) { + return false; + } + + return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b])); + + case 'Arguments': + case 'Array': + case 'Object': + case 'Boolean': + case 'Number': + case 'String': + case 'Date': + case 'Error': + case 'RegExp': + case 'Int8Array': + case 'Uint8Array': + case 'Uint8ClampedArray': + case 'Int16Array': + case 'Uint16Array': + case 'Int32Array': + case 'Uint32Array': + case 'Float32Array': + case 'Float64Array': + case 'ArrayBuffer': + break; + + default: + // Values of other types are only equal if identical. + return false; + } + + var keysA = Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(a); + + if (keysA.length !== Object(_keys_js__WEBPACK_IMPORTED_MODULE_5__["default"])(b).length) { + return false; + } + + var extendedStackA = stackA.concat([a]); + var extendedStackB = stackB.concat([b]); + idx = keysA.length - 1; + + while (idx >= 0) { + var key = keysA[idx]; + + if (!(Object(_has_js__WEBPACK_IMPORTED_MODULE_3__["default"])(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) { + return false; + } + + idx -= 1; + } + + return true; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_filter.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_filter.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _filter; }); +function _filter(fn, list) { + var idx = 0; + var len = list.length; + var result = []; + + while (idx < len) { + if (fn(list[idx])) { + result[result.length] = list[idx]; + } + + idx += 1; + } + + return result; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_flatCat.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_flatCat.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _forceReduced_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_forceReduced.js */ "./node_modules/ramda/es/internal/_forceReduced.js"); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + + +var preservingReduced = function (xf) { + return { + '@@transducer/init': _xfBase_js__WEBPACK_IMPORTED_MODULE_3__["default"].init, + '@@transducer/result': function (result) { + return xf['@@transducer/result'](result); + }, + '@@transducer/step': function (result, input) { + var ret = xf['@@transducer/step'](result, input); + return ret['@@transducer/reduced'] ? Object(_forceReduced_js__WEBPACK_IMPORTED_MODULE_0__["default"])(ret) : ret; + } + }; +}; + +var _flatCat = function _xcat(xf) { + var rxf = preservingReduced(xf); + return { + '@@transducer/init': _xfBase_js__WEBPACK_IMPORTED_MODULE_3__["default"].init, + '@@transducer/result': function (result) { + return rxf['@@transducer/result'](result); + }, + '@@transducer/step': function (result, input) { + return !Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_1__["default"])(input) ? Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(rxf, result, [input]) : Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(rxf, result, input); + } + }; +}; + +/* harmony default export */ __webpack_exports__["default"] = (_flatCat); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_forceReduced.js": +/*!*********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_forceReduced.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _forceReduced; }); +function _forceReduced(x) { + return { + '@@transducer/value': x, + '@@transducer/reduced': true + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_functionName.js": +/*!*********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_functionName.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _functionName; }); +function _functionName(f) { + // String(x => x) evaluates to "x => x", so the pattern may not match. + var match = String(f).match(/^function (\w*)/); + return match == null ? '' : match[1]; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_has.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/internal/_has.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _has; }); +function _has(prop, obj) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_identity.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_identity.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _identity; }); +function _identity(x) { + return x; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_includes.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_includes.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _includes; }); +/* harmony import */ var _indexOf_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_indexOf.js */ "./node_modules/ramda/es/internal/_indexOf.js"); + +function _includes(a, list) { + return Object(_indexOf_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list, a, 0) >= 0; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_includesWith.js": +/*!*********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_includesWith.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _includesWith; }); +function _includesWith(pred, x, list) { + var idx = 0; + var len = list.length; + + while (idx < len) { + if (pred(x, list[idx])) { + return true; + } + + idx += 1; + } + + return false; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_indexOf.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_indexOf.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _indexOf; }); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../equals.js */ "./node_modules/ramda/es/equals.js"); + +function _indexOf(list, a, idx) { + var inf, item; // Array.prototype.indexOf doesn't exist below IE9 + + if (typeof list.indexOf === 'function') { + switch (typeof a) { + case 'number': + if (a === 0) { + // manually crawl the list to distinguish between +0 and -0 + inf = 1 / a; + + while (idx < list.length) { + item = list[idx]; + + if (item === 0 && 1 / item === inf) { + return idx; + } + + idx += 1; + } + + return -1; + } else if (a !== a) { + // NaN + while (idx < list.length) { + item = list[idx]; + + if (typeof item === 'number' && item !== item) { + return idx; + } + + idx += 1; + } + + return -1; + } // non-zero numbers can utilise Set + + + return list.indexOf(a, idx); + // all these types can utilise Set + + case 'string': + case 'boolean': + case 'function': + case 'undefined': + return list.indexOf(a, idx); + + case 'object': + if (a === null) { + // null can utilise Set + return list.indexOf(a, idx); + } + + } + } // anything else not covered above, defer to R.equals + + + while (idx < list.length) { + if (Object(_equals_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list[idx], a)) { + return idx; + } + + idx += 1; + } + + return -1; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isArguments.js": +/*!********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isArguments.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); + +var toString = Object.prototype.toString; + +var _isArguments = +/*#__PURE__*/ +function () { + return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) { + return toString.call(x) === '[object Arguments]'; + } : function _isArguments(x) { + return Object(_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])('callee', x); + }; +}(); + +/* harmony default export */ __webpack_exports__["default"] = (_isArguments); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isArray.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isArray.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * Tests whether or not an object is an array. + * + * @private + * @param {*} val The object to test. + * @return {Boolean} `true` if `val` is an array, `false` otherwise. + * @example + * + * _isArray([]); //=> true + * _isArray(null); //=> false + * _isArray({}); //=> false + */ +/* harmony default export */ __webpack_exports__["default"] = (Array.isArray || function _isArray(val) { + return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]'; +}); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isArrayLike.js": +/*!********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isArrayLike.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _isString_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); + + + +/** + * Tests whether or not an object is similar to an array. + * + * @private + * @category Type + * @category List + * @sig * -> Boolean + * @param {*} x The object to test. + * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise. + * @example + * + * _isArrayLike([]); //=> true + * _isArrayLike(true); //=> false + * _isArrayLike({}); //=> false + * _isArrayLike({length: 10}); //=> false + * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true + */ + +var _isArrayLike = +/*#__PURE__*/ +Object(_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isArrayLike(x) { + if (Object(_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)) { + return true; + } + + if (!x) { + return false; + } + + if (typeof x !== 'object') { + return false; + } + + if (Object(_isString_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x)) { + return false; + } + + if (x.nodeType === 1) { + return !!x.length; + } + + if (x.length === 0) { + return true; + } + + if (x.length > 0) { + return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1); + } + + return false; +}); + +/* harmony default export */ __webpack_exports__["default"] = (_isArrayLike); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isFunction.js": +/*!*******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isFunction.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isFunction; }); +function _isFunction(x) { + var type = Object.prototype.toString.call(x); + return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isInteger.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isInteger.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * Determine if the passed argument is an integer. + * + * @private + * @param {*} n + * @category Type + * @return {Boolean} + */ +/* harmony default export */ __webpack_exports__["default"] = (Number.isInteger || function _isInteger(n) { + return n << 0 === n; +}); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isNumber.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isNumber.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isNumber; }); +function _isNumber(x) { + return Object.prototype.toString.call(x) === '[object Number]'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isObject.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isObject.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isObject; }); +function _isObject(x) { + return Object.prototype.toString.call(x) === '[object Object]'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isPlaceholder.js": +/*!**********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isPlaceholder.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isPlaceholder; }); +function _isPlaceholder(a) { + return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isRegExp.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isRegExp.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isRegExp; }); +function _isRegExp(x) { + return Object.prototype.toString.call(x) === '[object RegExp]'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isString.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isString.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isString; }); +function _isString(x) { + return Object.prototype.toString.call(x) === '[object String]'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_isTransformer.js": +/*!**********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_isTransformer.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _isTransformer; }); +function _isTransformer(obj) { + return obj != null && typeof obj['@@transducer/step'] === 'function'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_makeFlat.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_makeFlat.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _makeFlat; }); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); + +/** + * `_makeFlat` is a helper function that returns a one-level or fully recursive + * function based on the flag passed in. + * + * @private + */ + +function _makeFlat(recursive) { + return function flatt(list) { + var value, jlen, j; + var result = []; + var idx = 0; + var ilen = list.length; + + while (idx < ilen) { + if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list[idx])) { + value = recursive ? flatt(list[idx]) : list[idx]; + j = 0; + jlen = value.length; + + while (j < jlen) { + result[result.length] = value[j]; + j += 1; + } + } else { + result[result.length] = list[idx]; + } + + idx += 1; + } + + return result; + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_map.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/internal/_map.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _map; }); +function _map(fn, functor) { + var idx = 0; + var len = functor.length; + var result = Array(len); + + while (idx < len) { + result[idx] = fn(functor[idx]); + idx += 1; + } + + return result; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_objectAssign.js": +/*!*********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_objectAssign.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); + // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign + +function _objectAssign(target) { + if (target == null) { + throw new TypeError('Cannot convert undefined or null to object'); + } + + var output = Object(target); + var idx = 1; + var length = arguments.length; + + while (idx < length) { + var source = arguments[idx]; + + if (source != null) { + for (var nextKey in source) { + if (Object(_has_js__WEBPACK_IMPORTED_MODULE_0__["default"])(nextKey, source)) { + output[nextKey] = source[nextKey]; + } + } + } + + idx += 1; + } + + return output; +} + +/* harmony default export */ __webpack_exports__["default"] = (typeof Object.assign === 'function' ? Object.assign : _objectAssign); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_objectIs.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_objectIs.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is +function _objectIs(a, b) { + // SameValue algorithm + if (a === b) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return a !== 0 || 1 / a === 1 / b; + } else { + // Step 6.a: NaN == NaN + return a !== a && b !== b; + } +} + +/* harmony default export */ __webpack_exports__["default"] = (typeof Object.is === 'function' ? Object.is : _objectIs); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_of.js": +/*!***********************************************!*\ + !*** ./node_modules/ramda/es/internal/_of.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _of; }); +function _of(x) { + return [x]; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_pipe.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/internal/_pipe.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _pipe; }); +function _pipe(f, g) { + return function () { + return g.call(this, f.apply(this, arguments)); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_pipeP.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_pipeP.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _pipeP; }); +function _pipeP(f, g) { + return function () { + var ctx = this; + return f.apply(ctx, arguments).then(function (x) { + return g.call(ctx, x); + }); + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_quote.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_quote.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _quote; }); +function _quote(s) { + var escaped = s.replace(/\\/g, '\\\\').replace(/[\b]/g, '\\b') // \b matches word boundary; [\b] matches backspace + .replace(/\f/g, '\\f').replace(/\n/g, '\\n').replace(/\r/g, '\\r').replace(/\t/g, '\\t').replace(/\v/g, '\\v').replace(/\0/g, '\\0'); + return '"' + escaped.replace(/"/g, '\\"') + '"'; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_reduce.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_reduce.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _reduce; }); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); +/* harmony import */ var _xwrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xwrap.js */ "./node_modules/ramda/es/internal/_xwrap.js"); +/* harmony import */ var _bind_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../bind.js */ "./node_modules/ramda/es/bind.js"); + + + + +function _arrayReduce(xf, acc, list) { + var idx = 0; + var len = list.length; + + while (idx < len) { + acc = xf['@@transducer/step'](acc, list[idx]); + + if (acc && acc['@@transducer/reduced']) { + acc = acc['@@transducer/value']; + break; + } + + idx += 1; + } + + return xf['@@transducer/result'](acc); +} + +function _iterableReduce(xf, acc, iter) { + var step = iter.next(); + + while (!step.done) { + acc = xf['@@transducer/step'](acc, step.value); + + if (acc && acc['@@transducer/reduced']) { + acc = acc['@@transducer/value']; + break; + } + + step = iter.next(); + } + + return xf['@@transducer/result'](acc); +} + +function _methodReduce(xf, acc, obj, methodName) { + return xf['@@transducer/result'](obj[methodName](Object(_bind_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xf['@@transducer/step'], xf), acc)); +} + +var symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator'; +function _reduce(fn, acc, list) { + if (typeof fn === 'function') { + fn = Object(_xwrap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn); + } + + if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list)) { + return _arrayReduce(fn, acc, list); + } + + if (typeof list['fantasy-land/reduce'] === 'function') { + return _methodReduce(fn, acc, list, 'fantasy-land/reduce'); + } + + if (list[symIterator] != null) { + return _iterableReduce(fn, acc, list[symIterator]()); + } + + if (typeof list.next === 'function') { + return _iterableReduce(fn, acc, list); + } + + if (typeof list.reduce === 'function') { + return _methodReduce(fn, acc, list, 'reduce'); + } + + throw new TypeError('reduce: list must be array or iterable'); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_reduced.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_reduced.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _reduced; }); +function _reduced(x) { + return x && x['@@transducer/reduced'] ? x : { + '@@transducer/value': x, + '@@transducer/reduced': true + }; +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_stepCat.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_stepCat.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _stepCat; }); +/* harmony import */ var _objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); +/* harmony import */ var _isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_isArrayLike.js */ "./node_modules/ramda/es/internal/_isArrayLike.js"); +/* harmony import */ var _isTransformer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); +/* harmony import */ var _objOf_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objOf.js */ "./node_modules/ramda/es/objOf.js"); + + + + + +var _stepCatArray = { + '@@transducer/init': Array, + '@@transducer/step': function (xs, x) { + xs.push(x); + return xs; + }, + '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] +}; +var _stepCatString = { + '@@transducer/init': String, + '@@transducer/step': function (a, b) { + return a + b; + }, + '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] +}; +var _stepCatObject = { + '@@transducer/init': Object, + '@@transducer/step': function (result, input) { + return Object(_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])(result, Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(input) ? Object(_objOf_js__WEBPACK_IMPORTED_MODULE_4__["default"])(input[0], input[1]) : input); + }, + '@@transducer/result': _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"] +}; +function _stepCat(obj) { + if (Object(_isTransformer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(obj)) { + return obj; + } + + if (Object(_isArrayLike_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)) { + return _stepCatArray; + } + + if (typeof obj === 'string') { + return _stepCatString; + } + + if (typeof obj === 'object') { + return _stepCatObject; + } + + throw new Error('Cannot create transformer for ' + obj); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_toISOString.js": +/*!********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_toISOString.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/** + * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>. + */ +var pad = function pad(n) { + return (n < 10 ? '0' : '') + n; +}; + +var _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) { + return d.toISOString(); +} : function _toISOString(d) { + return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z'; +}; + +/* harmony default export */ __webpack_exports__["default"] = (_toISOString); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_toString.js": +/*!*****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_toString.js ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _toString; }); +/* harmony import */ var _includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_map.js */ "./node_modules/ramda/es/internal/_map.js"); +/* harmony import */ var _quote_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_quote.js */ "./node_modules/ramda/es/internal/_quote.js"); +/* harmony import */ var _toISOString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./_toISOString.js */ "./node_modules/ramda/es/internal/_toISOString.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../keys.js */ "./node_modules/ramda/es/keys.js"); +/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../reject.js */ "./node_modules/ramda/es/reject.js"); + + + + + + +function _toString(x, seen) { + var recur = function recur(y) { + var xs = seen.concat([x]); + return Object(_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(y, xs) ? '<Circular>' : _toString(y, xs); + }; // mapPairs :: (Object, [String]) -> [String] + + + var mapPairs = function (obj, keys) { + return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k) { + return Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(k) + ': ' + recur(obj[k]); + }, keys.slice().sort()); + }; + + switch (Object.prototype.toString.call(x)) { + case '[object Arguments]': + return '(function() { return arguments; }(' + Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).join(', ') + '))'; + + case '[object Array]': + return '[' + Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(recur, x).concat(mapPairs(x, Object(_reject_js__WEBPACK_IMPORTED_MODULE_5__["default"])(function (k) { + return /^\d+$/.test(k); + }, Object(_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)))).join(', ') + ']'; + + case '[object Boolean]': + return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString(); + + case '[object Date]': + return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_toISOString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(x))) + ')'; + + case '[object Null]': + return 'null'; + + case '[object Number]': + return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10); + + case '[object String]': + return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : Object(_quote_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x); + + case '[object Undefined]': + return 'undefined'; + + default: + if (typeof x.toString === 'function') { + var repr = x.toString(); + + if (repr !== '[object Object]') { + return repr; + } + } + + return '{' + mapPairs(x, Object(_keys_js__WEBPACK_IMPORTED_MODULE_4__["default"])(x)).join(', ') + '}'; + } +} + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xall.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xall.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XAll = +/*#__PURE__*/ +function () { + function XAll(f, xf) { + this.xf = xf; + this.f = f; + this.all = true; + } + + XAll.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XAll.prototype['@@transducer/result'] = function (result) { + if (this.all) { + result = this.xf['@@transducer/step'](result, true); + } + + return this.xf['@@transducer/result'](result); + }; + + XAll.prototype['@@transducer/step'] = function (result, input) { + if (!this.f(input)) { + this.all = false; + result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, false)); + } + + return result; + }; + + return XAll; +}(); + +var _xall = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xall(f, xf) { + return new XAll(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xall); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xany.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xany.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XAny = +/*#__PURE__*/ +function () { + function XAny(f, xf) { + this.xf = xf; + this.f = f; + this.any = false; + } + + XAny.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XAny.prototype['@@transducer/result'] = function (result) { + if (!this.any) { + result = this.xf['@@transducer/step'](result, false); + } + + return this.xf['@@transducer/result'](result); + }; + + XAny.prototype['@@transducer/step'] = function (result, input) { + if (this.f(input)) { + this.any = true; + result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, true)); + } + + return result; + }; + + return XAny; +}(); + +var _xany = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xany(f, xf) { + return new XAny(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xany); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xaperture.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xaperture.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XAperture = +/*#__PURE__*/ +function () { + function XAperture(n, xf) { + this.xf = xf; + this.pos = 0; + this.full = false; + this.acc = new Array(n); + } + + XAperture.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XAperture.prototype['@@transducer/result'] = function (result) { + this.acc = null; + return this.xf['@@transducer/result'](result); + }; + + XAperture.prototype['@@transducer/step'] = function (result, input) { + this.store(input); + return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result; + }; + + XAperture.prototype.store = function (input) { + this.acc[this.pos] = input; + this.pos += 1; + + if (this.pos === this.acc.length) { + this.pos = 0; + this.full = true; + } + }; + + XAperture.prototype.getCopy = function () { + return Object(_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos)); + }; + + return XAperture; +}(); + +var _xaperture = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function _xaperture(n, xf) { + return new XAperture(n, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xaperture); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xchain.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xchain.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _flatCat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_flatCat.js */ "./node_modules/ramda/es/internal/_flatCat.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../map.js */ "./node_modules/ramda/es/map.js"); + + + + +var _xchain = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xchain(f, xf) { + return Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(f, Object(_flatCat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xf)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xchain); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xdrop.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xdrop.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XDrop = +/*#__PURE__*/ +function () { + function XDrop(n, xf) { + this.xf = xf; + this.n = n; + } + + XDrop.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XDrop.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XDrop.prototype['@@transducer/step'] = function (result, input) { + if (this.n > 0) { + this.n -= 1; + return result; + } + + return this.xf['@@transducer/step'](result, input); + }; + + return XDrop; +}(); + +var _xdrop = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdrop(n, xf) { + return new XDrop(n, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xdrop); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xdropLast.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xdropLast.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XDropLast = +/*#__PURE__*/ +function () { + function XDropLast(n, xf) { + this.xf = xf; + this.pos = 0; + this.full = false; + this.acc = new Array(n); + } + + XDropLast.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + + XDropLast.prototype['@@transducer/result'] = function (result) { + this.acc = null; + return this.xf['@@transducer/result'](result); + }; + + XDropLast.prototype['@@transducer/step'] = function (result, input) { + if (this.full) { + result = this.xf['@@transducer/step'](result, this.acc[this.pos]); + } + + this.store(input); + return result; + }; + + XDropLast.prototype.store = function (input) { + this.acc[this.pos] = input; + this.pos += 1; + + if (this.pos === this.acc.length) { + this.pos = 0; + this.full = true; + } + }; + + return XDropLast; +}(); + +var _xdropLast = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropLast(n, xf) { + return new XDropLast(n, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xdropLast); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xdropLastWhile.js": +/*!***********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xdropLastWhile.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XDropLastWhile = +/*#__PURE__*/ +function () { + function XDropLastWhile(fn, xf) { + this.f = fn; + this.retained = []; + this.xf = xf; + } + + XDropLastWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XDropLastWhile.prototype['@@transducer/result'] = function (result) { + this.retained = null; + return this.xf['@@transducer/result'](result); + }; + + XDropLastWhile.prototype['@@transducer/step'] = function (result, input) { + return this.f(input) ? this.retain(result, input) : this.flush(result, input); + }; + + XDropLastWhile.prototype.flush = function (result, input) { + result = Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'], result, this.retained); + this.retained = []; + return this.xf['@@transducer/step'](result, input); + }; + + XDropLastWhile.prototype.retain = function (result, input) { + this.retained.push(input); + return result; + }; + + return XDropLastWhile; +}(); + +var _xdropLastWhile = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropLastWhile(fn, xf) { + return new XDropLastWhile(fn, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xdropLastWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xdropRepeatsWith.js": +/*!*************************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xdropRepeatsWith.js ***! + \*************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XDropRepeatsWith = +/*#__PURE__*/ +function () { + function XDropRepeatsWith(pred, xf) { + this.xf = xf; + this.pred = pred; + this.lastValue = undefined; + this.seenFirstValue = false; + } + + XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) { + var sameAsLast = false; + + if (!this.seenFirstValue) { + this.seenFirstValue = true; + } else if (this.pred(this.lastValue, input)) { + sameAsLast = true; + } + + this.lastValue = input; + return sameAsLast ? result : this.xf['@@transducer/step'](result, input); + }; + + return XDropRepeatsWith; +}(); + +var _xdropRepeatsWith = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropRepeatsWith(pred, xf) { + return new XDropRepeatsWith(pred, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xdropRepeatsWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xdropWhile.js": +/*!*******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xdropWhile.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XDropWhile = +/*#__PURE__*/ +function () { + function XDropWhile(f, xf) { + this.xf = xf; + this.f = f; + } + + XDropWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XDropWhile.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XDropWhile.prototype['@@transducer/step'] = function (result, input) { + if (this.f) { + if (this.f(input)) { + return result; + } + + this.f = null; + } + + return this.xf['@@transducer/step'](result, input); + }; + + return XDropWhile; +}(); + +var _xdropWhile = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xdropWhile(f, xf) { + return new XDropWhile(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xdropWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfBase.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfBase.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = ({ + init: function () { + return this.xf['@@transducer/init'](); + }, + result: function (result) { + return this.xf['@@transducer/result'](result); + } +}); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfilter.js": +/*!****************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfilter.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XFilter = +/*#__PURE__*/ +function () { + function XFilter(f, xf) { + this.xf = xf; + this.f = f; + } + + XFilter.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XFilter.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XFilter.prototype['@@transducer/step'] = function (result, input) { + return this.f(input) ? this.xf['@@transducer/step'](result, input) : result; + }; + + return XFilter; +}(); + +var _xfilter = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfilter(f, xf) { + return new XFilter(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xfilter); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfind.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfind.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XFind = +/*#__PURE__*/ +function () { + function XFind(f, xf) { + this.xf = xf; + this.f = f; + this.found = false; + } + + XFind.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XFind.prototype['@@transducer/result'] = function (result) { + if (!this.found) { + result = this.xf['@@transducer/step'](result, void 0); + } + + return this.xf['@@transducer/result'](result); + }; + + XFind.prototype['@@transducer/step'] = function (result, input) { + if (this.f(input)) { + this.found = true; + result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, input)); + } + + return result; + }; + + return XFind; +}(); + +var _xfind = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfind(f, xf) { + return new XFind(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xfind); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfindIndex.js": +/*!*******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfindIndex.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XFindIndex = +/*#__PURE__*/ +function () { + function XFindIndex(f, xf) { + this.xf = xf; + this.f = f; + this.idx = -1; + this.found = false; + } + + XFindIndex.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XFindIndex.prototype['@@transducer/result'] = function (result) { + if (!this.found) { + result = this.xf['@@transducer/step'](result, -1); + } + + return this.xf['@@transducer/result'](result); + }; + + XFindIndex.prototype['@@transducer/step'] = function (result, input) { + this.idx += 1; + + if (this.f(input)) { + this.found = true; + result = Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(this.xf['@@transducer/step'](result, this.idx)); + } + + return result; + }; + + return XFindIndex; +}(); + +var _xfindIndex = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindIndex(f, xf) { + return new XFindIndex(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xfindIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfindLast.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfindLast.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XFindLast = +/*#__PURE__*/ +function () { + function XFindLast(f, xf) { + this.xf = xf; + this.f = f; + } + + XFindLast.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + + XFindLast.prototype['@@transducer/result'] = function (result) { + return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last)); + }; + + XFindLast.prototype['@@transducer/step'] = function (result, input) { + if (this.f(input)) { + this.last = input; + } + + return result; + }; + + return XFindLast; +}(); + +var _xfindLast = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindLast(f, xf) { + return new XFindLast(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xfindLast); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xfindLastIndex.js": +/*!***********************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xfindLastIndex.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XFindLastIndex = +/*#__PURE__*/ +function () { + function XFindLastIndex(f, xf) { + this.xf = xf; + this.f = f; + this.idx = -1; + this.lastIdx = -1; + } + + XFindLastIndex.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + + XFindLastIndex.prototype['@@transducer/result'] = function (result) { + return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx)); + }; + + XFindLastIndex.prototype['@@transducer/step'] = function (result, input) { + this.idx += 1; + + if (this.f(input)) { + this.lastIdx = this.idx; + } + + return result; + }; + + return XFindLastIndex; +}(); + +var _xfindLastIndex = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xfindLastIndex(f, xf) { + return new XFindLastIndex(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xfindLastIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xmap.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xmap.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XMap = +/*#__PURE__*/ +function () { + function XMap(f, xf) { + this.xf = xf; + this.f = f; + } + + XMap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XMap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XMap.prototype['@@transducer/step'] = function (result, input) { + return this.xf['@@transducer/step'](result, this.f(input)); + }; + + return XMap; +}(); + +var _xmap = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xmap(f, xf) { + return new XMap(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xmap); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xreduceBy.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xreduceBy.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); +/* harmony import */ var _has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XReduceBy = +/*#__PURE__*/ +function () { + function XReduceBy(valueFn, valueAcc, keyFn, xf) { + this.valueFn = valueFn; + this.valueAcc = valueAcc; + this.keyFn = keyFn; + this.xf = xf; + this.inputs = {}; + } + + XReduceBy.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + + XReduceBy.prototype['@@transducer/result'] = function (result) { + var key; + + for (key in this.inputs) { + if (Object(_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(key, this.inputs)) { + result = this.xf['@@transducer/step'](result, this.inputs[key]); + + if (result['@@transducer/reduced']) { + result = result['@@transducer/value']; + break; + } + } + } + + this.inputs = null; + return this.xf['@@transducer/result'](result); + }; + + XReduceBy.prototype['@@transducer/step'] = function (result, input) { + var key = this.keyFn(input); + this.inputs[key] = this.inputs[key] || [key, this.valueAcc]; + this.inputs[key][1] = this.valueFn(this.inputs[key][1], input); + return result; + }; + + return XReduceBy; +}(); + +var _xreduceBy = +/*#__PURE__*/ +Object(_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) { + return new XReduceBy(valueFn, valueAcc, keyFn, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xreduceBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xtake.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xtake.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XTake = +/*#__PURE__*/ +function () { + function XTake(n, xf) { + this.xf = xf; + this.n = n; + this.i = 0; + } + + XTake.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + XTake.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].result; + + XTake.prototype['@@transducer/step'] = function (result, input) { + this.i += 1; + var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input); + return this.n >= 0 && this.i >= this.n ? Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(ret) : ret; + }; + + return XTake; +}(); + +var _xtake = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtake(n, xf) { + return new XTake(n, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xtake); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xtakeWhile.js": +/*!*******************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xtakeWhile.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + + +var XTakeWhile = +/*#__PURE__*/ +function () { + function XTakeWhile(f, xf) { + this.xf = xf; + this.f = f; + } + + XTakeWhile.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].init; + XTakeWhile.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_2__["default"].result; + + XTakeWhile.prototype['@@transducer/step'] = function (result, input) { + return this.f(input) ? this.xf['@@transducer/step'](result, input) : Object(_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"])(result); + }; + + return XTakeWhile; +}(); + +var _xtakeWhile = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtakeWhile(f, xf) { + return new XTakeWhile(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xtakeWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xtap.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xtap.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _xfBase_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./_xfBase.js */ "./node_modules/ramda/es/internal/_xfBase.js"); + + + +var XTap = +/*#__PURE__*/ +function () { + function XTap(f, xf) { + this.xf = xf; + this.f = f; + } + + XTap.prototype['@@transducer/init'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].init; + XTap.prototype['@@transducer/result'] = _xfBase_js__WEBPACK_IMPORTED_MODULE_1__["default"].result; + + XTap.prototype['@@transducer/step'] = function (result, input) { + this.f(input); + return this.xf['@@transducer/step'](result, input); + }; + + return XTap; +}(); + +var _xtap = +/*#__PURE__*/ +Object(_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function _xtap(f, xf) { + return new XTap(f, xf); +}); + +/* harmony default export */ __webpack_exports__["default"] = (_xtap); + +/***/ }), + +/***/ "./node_modules/ramda/es/internal/_xwrap.js": +/*!**************************************************!*\ + !*** ./node_modules/ramda/es/internal/_xwrap.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return _xwrap; }); +var XWrap = +/*#__PURE__*/ +function () { + function XWrap(fn) { + this.f = fn; + } + + XWrap.prototype['@@transducer/init'] = function () { + throw new Error('init not implemented on XWrap'); + }; + + XWrap.prototype['@@transducer/result'] = function (acc) { + return acc; + }; + + XWrap.prototype['@@transducer/step'] = function (acc, x) { + return this.f(acc, x); + }; + + return XWrap; +}(); + +function _xwrap(fn) { + return new XWrap(fn); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/intersection.js": +/*!***********************************************!*\ + !*** ./node_modules/ramda/es/intersection.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_filter.js */ "./node_modules/ramda/es/internal/_filter.js"); +/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); +/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); + + + + + +/** + * Combines two lists into a set (i.e. no duplicates) composed of those + * elements common to both lists. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The list of elements found in both `list1` and `list2`. + * @see R.innerJoin + * @example + * + * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3] + */ + +var intersection = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function intersection(list1, list2) { + var lookupList, filteredList; + + if (list1.length > list2.length) { + lookupList = list1; + filteredList = list2; + } else { + lookupList = list2; + filteredList = list1; + } + + return Object(_uniq_js__WEBPACK_IMPORTED_MODULE_4__["default"])(Object(_internal_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_flip_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(lookupList), filteredList)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (intersection); + +/***/ }), + +/***/ "./node_modules/ramda/es/intersperse.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/intersperse.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Creates a new list with the separator interposed between elements. + * + * Dispatches to the `intersperse` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig a -> [a] -> [a] + * @param {*} separator The element to add to the list. + * @param {Array} list The list to be interposed. + * @return {Array} The new list. + * @example + * + * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's'] + */ + +var intersperse = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('intersperse', function intersperse(separator, list) { + var out = []; + var idx = 0; + var length = list.length; + + while (idx < length) { + if (idx === length - 1) { + out.push(list[idx]); + } else { + out.push(list[idx], separator); + } + + idx += 1; + } + + return out; +})); + +/* harmony default export */ __webpack_exports__["default"] = (intersperse); + +/***/ }), + +/***/ "./node_modules/ramda/es/into.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/into.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone.js */ "./node_modules/ramda/es/internal/_clone.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_isTransformer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isTransformer.js */ "./node_modules/ramda/es/internal/_isTransformer.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_stepCat_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_stepCat.js */ "./node_modules/ramda/es/internal/_stepCat.js"); + + + + + +/** + * Transforms the items of the list with the transducer and appends the + * transformed items to the accumulator using an appropriate iterator function + * based on the accumulator type. + * + * The accumulator can be an array, string, object or a transformer. Iterated + * items will be appended to arrays and concatenated to strings. Objects will + * be merged directly or 2-item arrays will be merged as key, value pairs. + * + * The accumulator can also be a transformer object that provides a 2-arity + * reducing iterator function, step, 0-arity initial value function, init, and + * 1-arity result extraction function result. The step function is used as the + * iterator function in reduce. The result function is used to convert the + * final accumulator into the return type and in most cases is R.identity. The + * init function is used to provide the initial accumulator. + * + * The iteration is performed with [`R.reduce`](#reduce) after initializing the + * transducer. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig a -> (b -> b) -> [c] -> a + * @param {*} acc The initial accumulator value. + * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.transduce + * @example + * + * const numbers = [1, 2, 3, 4]; + * const transducer = R.compose(R.map(R.add(1)), R.take(2)); + * + * R.into([], transducer, numbers); //=> [2, 3] + * + * const intoArray = R.into([]); + * intoArray(transducer, numbers); //=> [2, 3] + */ + +var into = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function into(acc, xf, list) { + return Object(_internal_isTransformer_js__WEBPACK_IMPORTED_MODULE_2__["default"])(acc) ? Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(xf(acc), acc['@@transducer/init'](), list) : Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(xf(Object(_internal_stepCat_js__WEBPACK_IMPORTED_MODULE_4__["default"])(acc)), Object(_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(acc, [], [], false), list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (into); + +/***/ }), + +/***/ "./node_modules/ramda/es/invert.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/invert.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + + +/** + * Same as [`R.invertObj`](#invertObj), however this accounts for objects with + * duplicate values by putting the values into an array. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Object + * @sig {s: x} -> {x: [ s, ... ]} + * @param {Object} obj The object or array to invert + * @return {Object} out A new object with keys in an array. + * @see R.invertObj + * @example + * + * const raceResultsByFirstName = { + * first: 'alice', + * second: 'jake', + * third: 'alice', + * }; + * R.invert(raceResultsByFirstName); + * //=> { 'alice': ['first', 'third'], 'jake':['second'] } + */ + +var invert = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invert(obj) { + var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj); + var len = props.length; + var idx = 0; + var out = {}; + + while (idx < len) { + var key = props[idx]; + var val = obj[key]; + var list = Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, out) ? out[val] : out[val] = []; + list[list.length] = key; + idx += 1; + } + + return out; +}); + +/* harmony default export */ __webpack_exports__["default"] = (invert); + +/***/ }), + +/***/ "./node_modules/ramda/es/invertObj.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/invertObj.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + +/** + * Returns a new object with the keys of the given object as values, and the + * values of the given object, which are coerced to strings, as keys. Note + * that the last key found is preferred when handling the same value. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Object + * @sig {s: x} -> {x: s} + * @param {Object} obj The object or array to invert + * @return {Object} out A new object + * @see R.invert + * @example + * + * const raceResults = { + * first: 'alice', + * second: 'jake' + * }; + * R.invertObj(raceResults); + * //=> { 'alice': 'first', 'jake':'second' } + * + * // Alternatively: + * const raceResults = ['alice', 'jake']; + * R.invertObj(raceResults); + * //=> { 'alice': '0', 'jake':'1' } + */ + +var invertObj = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invertObj(obj) { + var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); + var len = props.length; + var idx = 0; + var out = {}; + + while (idx < len) { + var key = props[idx]; + out[obj[key]] = key; + idx += 1; + } + + return out; +}); + +/* harmony default export */ __webpack_exports__["default"] = (invertObj); + +/***/ }), + +/***/ "./node_modules/ramda/es/invoker.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/invoker.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isFunction.js */ "./node_modules/ramda/es/internal/_isFunction.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); + + + + +/** + * Turns a named method with a specified arity into a function that can be + * called directly supplied with arguments and a target object. + * + * The returned function is curried and accepts `arity + 1` parameters where + * the final parameter is the target object. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *) + * @param {Number} arity Number of arguments the returned function should take + * before the target object. + * @param {String} method Name of any of the target object's methods to call. + * @return {Function} A new curried function. + * @see R.construct + * @example + * + * const sliceFrom = R.invoker(1, 'slice'); + * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm' + * const sliceFrom6 = R.invoker(2, 'slice')(6); + * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh' + * + * const dog = { + * speak: async () => 'Woof!' + * }; + * const speak = R.invoker(0, 'speak'); + * speak(dog).then(console.log) //~> 'Woof!' + * + * @symb R.invoker(0, 'method')(o) = o['method']() + * @symb R.invoker(1, 'method')(a, o) = o['method'](a) + * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b) + */ + +var invoker = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function invoker(arity, method) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(arity + 1, function () { + var target = arguments[arity]; + + if (target != null && Object(_internal_isFunction_js__WEBPACK_IMPORTED_MODULE_1__["default"])(target[method])) { + return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity)); + } + + throw new TypeError(Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(target) + ' does not have a method named "' + method + '"'); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (invoker); + +/***/ }), + +/***/ "./node_modules/ramda/es/is.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/is.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * See if an object (`val`) is an instance of the supplied constructor. This + * function will check up the inheritance chain, if any. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Type + * @sig (* -> {*}) -> a -> Boolean + * @param {Object} ctor A constructor + * @param {*} val The value to test + * @return {Boolean} + * @example + * + * R.is(Object, {}); //=> true + * R.is(Number, 1); //=> true + * R.is(Object, 1); //=> false + * R.is(String, 's'); //=> true + * R.is(String, new String('')); //=> true + * R.is(Object, new String('')); //=> true + * R.is(Object, 's'); //=> false + * R.is(Number, {}); //=> false + */ + +var is = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function is(Ctor, val) { + return val != null && val.constructor === Ctor || val instanceof Ctor; +}); + +/* harmony default export */ __webpack_exports__["default"] = (is); + +/***/ }), + +/***/ "./node_modules/ramda/es/isEmpty.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/isEmpty.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _empty_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./empty.js */ "./node_modules/ramda/es/empty.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + + +/** + * Returns `true` if the given value is its type's empty value; `false` + * otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig a -> Boolean + * @param {*} x + * @return {Boolean} + * @see R.empty + * @example + * + * R.isEmpty([1, 2, 3]); //=> false + * R.isEmpty([]); //=> true + * R.isEmpty(''); //=> true + * R.isEmpty(null); //=> false + * R.isEmpty({}); //=> true + * R.isEmpty({length: 0}); //=> false + */ + +var isEmpty = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isEmpty(x) { + return x != null && Object(_equals_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x, Object(_empty_js__WEBPACK_IMPORTED_MODULE_1__["default"])(x)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (isEmpty); + +/***/ }), + +/***/ "./node_modules/ramda/es/isNil.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/isNil.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Checks if the input value is `null` or `undefined`. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Type + * @sig * -> Boolean + * @param {*} x The value to test. + * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`. + * @example + * + * R.isNil(null); //=> true + * R.isNil(undefined); //=> true + * R.isNil(0); //=> false + * R.isNil([]); //=> false + */ + +var isNil = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function isNil(x) { + return x == null; +}); + +/* harmony default export */ __webpack_exports__["default"] = (isNil); + +/***/ }), + +/***/ "./node_modules/ramda/es/join.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/join.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); + +/** + * Returns a string made by inserting the `separator` between each element and + * concatenating all the elements into a single string. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig String -> [a] -> String + * @param {Number|String} separator The string used to separate the elements. + * @param {Array} xs The elements to join into a string. + * @return {String} str The string made by concatenating `xs` with `separator`. + * @see R.split + * @example + * + * const spacer = R.join(' '); + * spacer(['a', 2, 3.4]); //=> 'a 2 3.4' + * R.join('|', [1, 2, 3]); //=> '1|2|3' + */ + +var join = +/*#__PURE__*/ +Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'join'); +/* harmony default export */ __webpack_exports__["default"] = (join); + +/***/ }), + +/***/ "./node_modules/ramda/es/juxt.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/juxt.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _converge_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./converge.js */ "./node_modules/ramda/es/converge.js"); + + +/** + * juxt applies a list of functions to a list of values. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Function + * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n]) + * @param {Array} fns An array of functions + * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters. + * @see R.applySpec + * @example + * + * const getRange = R.juxt([Math.min, Math.max]); + * getRange(3, 4, 9, -3); //=> [-3, 9] + * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)] + */ + +var juxt = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function juxt(fns) { + return Object(_converge_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function () { + return Array.prototype.slice.call(arguments, 0); + }, fns); +}); + +/* harmony default export */ __webpack_exports__["default"] = (juxt); + +/***/ }), + +/***/ "./node_modules/ramda/es/keys.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/keys.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isArguments.js */ "./node_modules/ramda/es/internal/_isArguments.js"); + + + // cover IE < 9 keys issues + +var hasEnumBug = ! +/*#__PURE__*/ +{ + toString: null +}.propertyIsEnumerable('toString'); +var nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug + +var hasArgsEnumBug = +/*#__PURE__*/ +function () { + 'use strict'; + + return arguments.propertyIsEnumerable('length'); +}(); + +var contains = function contains(list, item) { + var idx = 0; + + while (idx < list.length) { + if (list[idx] === item) { + return true; + } + + idx += 1; + } + + return false; +}; +/** + * Returns a list containing the names of all the enumerable own properties of + * the supplied object. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig {k: v} -> [k] + * @param {Object} obj The object to extract properties from + * @return {Array} An array of the object's own properties. + * @see R.keysIn, R.values + * @example + * + * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c'] + */ + + +var keys = typeof Object.keys === 'function' && !hasArgsEnumBug ? +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { + return Object(obj) !== obj ? [] : Object.keys(obj); +}) : +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keys(obj) { + if (Object(obj) !== obj) { + return []; + } + + var prop, nIdx; + var ks = []; + + var checkArgsLength = hasArgsEnumBug && Object(_internal_isArguments_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj); + + for (prop in obj) { + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj) && (!checkArgsLength || prop !== 'length')) { + ks[ks.length] = prop; + } + } + + if (hasEnumBug) { + nIdx = nonEnumerableProps.length - 1; + + while (nIdx >= 0) { + prop = nonEnumerableProps[nIdx]; + + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj) && !contains(ks, prop)) { + ks[ks.length] = prop; + } + + nIdx -= 1; + } + } + + return ks; +}); +/* harmony default export */ __webpack_exports__["default"] = (keys); + +/***/ }), + +/***/ "./node_modules/ramda/es/keysIn.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/keysIn.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Returns a list containing the names of all the properties of the supplied + * object, including prototype properties. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category Object + * @sig {k: v} -> [k] + * @param {Object} obj The object to extract properties from + * @return {Array} An array of the object's own and prototype properties. + * @see R.keys, R.valuesIn + * @example + * + * const F = function() { this.x = 'X'; }; + * F.prototype.y = 'Y'; + * const f = new F(); + * R.keysIn(f); //=> ['x', 'y'] + */ + +var keysIn = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function keysIn(obj) { + var prop; + var ks = []; + + for (prop in obj) { + ks[ks.length] = prop; + } + + return ks; +}); + +/* harmony default export */ __webpack_exports__["default"] = (keysIn); + +/***/ }), + +/***/ "./node_modules/ramda/es/last.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/last.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); + +/** + * Returns the last element of the given list or string. + * + * @func + * @memberOf R + * @since v0.1.4 + * @category List + * @sig [a] -> a | Undefined + * @sig String -> String + * @param {*} list + * @return {*} + * @see R.init, R.head, R.tail + * @example + * + * R.last(['fi', 'fo', 'fum']); //=> 'fum' + * R.last([]); //=> undefined + * + * R.last('abc'); //=> 'c' + * R.last(''); //=> '' + */ + +var last = +/*#__PURE__*/ +Object(_nth_js__WEBPACK_IMPORTED_MODULE_0__["default"])(-1); +/* harmony default export */ __webpack_exports__["default"] = (last); + +/***/ }), + +/***/ "./node_modules/ramda/es/lastIndexOf.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/lastIndexOf.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isArray.js */ "./node_modules/ramda/es/internal/_isArray.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + + +/** + * Returns the position of the last occurrence of an item in an array, or -1 if + * the item is not included in the array. [`R.equals`](#equals) is used to + * determine equality. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> Number + * @param {*} target The item to find. + * @param {Array} xs The array to search in. + * @return {Number} the index of the target, or -1 if the target is not found. + * @see R.indexOf + * @example + * + * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6 + * R.lastIndexOf(10, [1,2,3,4]); //=> -1 + */ + +var lastIndexOf = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lastIndexOf(target, xs) { + if (typeof xs.lastIndexOf === 'function' && !Object(_internal_isArray_js__WEBPACK_IMPORTED_MODULE_1__["default"])(xs)) { + return xs.lastIndexOf(target); + } else { + var idx = xs.length - 1; + + while (idx >= 0) { + if (Object(_equals_js__WEBPACK_IMPORTED_MODULE_2__["default"])(xs[idx], target)) { + return idx; + } + + idx -= 1; + } + + return -1; + } +}); + +/* harmony default export */ __webpack_exports__["default"] = (lastIndexOf); + +/***/ }), + +/***/ "./node_modules/ramda/es/length.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/length.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber.js */ "./node_modules/ramda/es/internal/_isNumber.js"); + + +/** + * Returns the number of elements in the array by returning `list.length`. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig [a] -> Number + * @param {Array} list The array to inspect. + * @return {Number} The length of the array. + * @example + * + * R.length([]); //=> 0 + * R.length([1, 2, 3]); //=> 3 + */ + +var length = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function length(list) { + return list != null && Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list.length) ? list.length : NaN; +}); + +/* harmony default export */ __webpack_exports__["default"] = (length); + +/***/ }), + +/***/ "./node_modules/ramda/es/lens.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/lens.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); + + +/** + * Returns a lens for the given getter and setter functions. The getter "gets" + * the value of the focus; the setter "sets" the value of the focus. The setter + * should not mutate the data structure. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig (s -> a) -> ((a, s) -> s) -> Lens s a + * @param {Function} getter + * @param {Function} setter + * @return {Lens} + * @see R.view, R.set, R.over, R.lensIndex, R.lensProp + * @example + * + * const xLens = R.lens(R.prop('x'), R.assoc('x')); + * + * R.view(xLens, {x: 1, y: 2}); //=> 1 + * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} + * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} + */ + +var lens = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lens(getter, setter) { + return function (toFunctorFn) { + return function (target) { + return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (focus) { + return setter(focus, target); + }, toFunctorFn(getter(target))); + }; + }; +}); + +/* harmony default export */ __webpack_exports__["default"] = (lens); + +/***/ }), + +/***/ "./node_modules/ramda/es/lensIndex.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/lensIndex.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); +/* harmony import */ var _update_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./update.js */ "./node_modules/ramda/es/update.js"); + + + + +/** + * Returns a lens whose focus is the specified index. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig Number -> Lens s a + * @param {Number} n + * @return {Lens} + * @see R.view, R.set, R.over, R.nth + * @example + * + * const headLens = R.lensIndex(0); + * + * R.view(headLens, ['a', 'b', 'c']); //=> 'a' + * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c'] + * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c'] + */ + +var lensIndex = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensIndex(n) { + return Object(_lens_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n), Object(_update_js__WEBPACK_IMPORTED_MODULE_3__["default"])(n)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (lensIndex); + +/***/ }), + +/***/ "./node_modules/ramda/es/lensPath.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/lensPath.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _assocPath_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assocPath.js */ "./node_modules/ramda/es/assocPath.js"); +/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + + + +/** + * Returns a lens whose focus is the specified path. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Object + * @typedefn Idx = String | Int + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig [Idx] -> Lens s a + * @param {Array} path The path to use. + * @return {Lens} + * @see R.view, R.set, R.over + * @example + * + * const xHeadYLens = R.lensPath(['x', 0, 'y']); + * + * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); + * //=> 2 + * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); + * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]} + * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]}); + * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]} + */ + +var lensPath = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensPath(p) { + return Object(_lens_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_path_js__WEBPACK_IMPORTED_MODULE_3__["default"])(p), Object(_assocPath_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (lensPath); + +/***/ }), + +/***/ "./node_modules/ramda/es/lensProp.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/lensProp.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _assoc_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./assoc.js */ "./node_modules/ramda/es/assoc.js"); +/* harmony import */ var _lens_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lens.js */ "./node_modules/ramda/es/lens.js"); +/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); + + + + +/** + * Returns a lens whose focus is the specified property. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig String -> Lens s a + * @param {String} k + * @return {Lens} + * @see R.view, R.set, R.over + * @example + * + * const xLens = R.lensProp('x'); + * + * R.view(xLens, {x: 1, y: 2}); //=> 1 + * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} + * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2} + */ + +var lensProp = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lensProp(k) { + return Object(_lens_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_prop_js__WEBPACK_IMPORTED_MODULE_3__["default"])(k), Object(_assoc_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (lensProp); + +/***/ }), + +/***/ "./node_modules/ramda/es/lift.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/lift.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _liftN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./liftN.js */ "./node_modules/ramda/es/liftN.js"); + + +/** + * "lifts" a function of arity > 1 so that it may "map over" a list, Function or other + * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Function + * @sig (*... -> *) -> ([*]... -> [*]) + * @param {Function} fn The function to lift into higher context + * @return {Function} The lifted function. + * @see R.liftN + * @example + * + * const madd3 = R.lift((a, b, c) => a + b + c); + * + * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] + * + * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e); + * + * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24] + */ + +var lift = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lift(fn) { + return Object(_liftN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn.length, fn); +}); + +/* harmony default export */ __webpack_exports__["default"] = (lift); + +/***/ }), + +/***/ "./node_modules/ramda/es/liftN.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/liftN.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); + + + + + +/** + * "lifts" a function to be the specified arity, so that it may "map over" that + * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply). + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Function + * @sig Number -> (*... -> *) -> ([*]... -> [*]) + * @param {Function} fn The function to lift into higher context + * @return {Function} The lifted function. + * @see R.lift, R.ap + * @example + * + * const madd3 = R.liftN(3, (...args) => R.sum(args)); + * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7] + */ + +var liftN = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function liftN(arity, fn) { + var lifted = Object(_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arity, fn); + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arity, function () { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_ap_js__WEBPACK_IMPORTED_MODULE_2__["default"], Object(_map_js__WEBPACK_IMPORTED_MODULE_4__["default"])(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1)); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (liftN); + +/***/ }), + +/***/ "./node_modules/ramda/es/lt.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/lt.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if the first argument is less than the second; `false` + * otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {*} a + * @param {*} b + * @return {Boolean} + * @see R.gt + * @example + * + * R.lt(2, 1); //=> false + * R.lt(2, 2); //=> false + * R.lt(2, 3); //=> true + * R.lt('a', 'z'); //=> true + * R.lt('z', 'a'); //=> false + */ + +var lt = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lt(a, b) { + return a < b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (lt); + +/***/ }), + +/***/ "./node_modules/ramda/es/lte.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/lte.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if the first argument is less than or equal to the second; + * `false` otherwise. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> Boolean + * @param {Number} a + * @param {Number} b + * @return {Boolean} + * @see R.gte + * @example + * + * R.lte(2, 1); //=> false + * R.lte(2, 2); //=> true + * R.lte(2, 3); //=> true + * R.lte('a', 'z'); //=> true + * R.lte('z', 'a'); //=> false + */ + +var lte = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function lte(a, b) { + return a <= b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (lte); + +/***/ }), + +/***/ "./node_modules/ramda/es/map.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/map.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_xmap_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_xmap.js */ "./node_modules/ramda/es/internal/_xmap.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + + + + + + +/** + * Takes a function and + * a [functor](https://github.com/fantasyland/fantasy-land#functor), + * applies the function to each of the functor's values, and returns + * a functor of the same shape. + * + * Ramda provides suitable `map` implementations for `Array` and `Object`, + * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`. + * + * Dispatches to the `map` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * Also treats functions as functors and will compose them together. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Functor f => (a -> b) -> f a -> f b + * @param {Function} fn The function to be called on every element of the input `list`. + * @param {Array} list The list to be iterated over. + * @return {Array} The new list. + * @see R.transduce, R.addIndex + * @example + * + * const double = x => x * 2; + * + * R.map(double, [1, 2, 3]); //=> [2, 4, 6] + * + * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6} + * @symb R.map(f, [a, b]) = [f(a), f(b)] + * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) } + * @symb R.map(f, functor_o) = functor_o.map(f) + */ + +var map = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['fantasy-land/map', 'map'], _internal_xmap_js__WEBPACK_IMPORTED_MODULE_4__["default"], function map(fn, functor) { + switch (Object.prototype.toString.call(functor)) { + case '[object Function]': + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_5__["default"])(functor.length, function () { + return fn.call(this, functor.apply(this, arguments)); + }); + + case '[object Object]': + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (acc, key) { + acc[key] = fn(functor[key]); + return acc; + }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_6__["default"])(functor)); + + default: + return Object(_internal_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(fn, functor); + } +})); + +/* harmony default export */ __webpack_exports__["default"] = (map); + +/***/ }), + +/***/ "./node_modules/ramda/es/mapAccum.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/mapAccum.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * The `mapAccum` function behaves like a combination of map and reduce; it + * applies a function to each element of a list, passing an accumulating + * parameter from left to right, and returning a final value of this + * accumulator together with the new list. + * + * The iterator function receives two arguments, *acc* and *value*, and should + * return a tuple *[acc, value]*. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y]) + * @param {Function} fn The function to be called on every element of the input `list`. + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.scan, R.addIndex, R.mapAccumRight + * @example + * + * const digits = ['1', '2', '3', '4']; + * const appender = (a, b) => [a + b, a + b]; + * + * R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']] + * @symb R.mapAccum(f, a, [b, c, d]) = [ + * f(f(f(a, b)[0], c)[0], d)[0], + * [ + * f(a, b)[1], + * f(f(a, b)[0], c)[1], + * f(f(f(a, b)[0], c)[0], d)[1] + * ] + * ] + */ + +var mapAccum = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapAccum(fn, acc, list) { + var idx = 0; + var len = list.length; + var result = []; + var tuple = [acc]; + + while (idx < len) { + tuple = fn(tuple[0], list[idx]); + result[idx] = tuple[1]; + idx += 1; + } + + return [tuple[0], result]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (mapAccum); + +/***/ }), + +/***/ "./node_modules/ramda/es/mapAccumRight.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/mapAccumRight.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * The `mapAccumRight` function behaves like a combination of map and reduce; it + * applies a function to each element of a list, passing an accumulating + * parameter from right to left, and returning a final value of this + * accumulator together with the new list. + * + * Similar to [`mapAccum`](#mapAccum), except moves through the input list from + * the right to the left. + * + * The iterator function receives two arguments, *acc* and *value*, and should + * return a tuple *[acc, value]*. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y]) + * @param {Function} fn The function to be called on every element of the input `list`. + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.addIndex, R.mapAccum + * @example + * + * const digits = ['1', '2', '3', '4']; + * const appender = (a, b) => [b + a, b + a]; + * + * R.mapAccumRight(appender, 5, digits); //=> ['12345', ['12345', '2345', '345', '45']] + * @symb R.mapAccumRight(f, a, [b, c, d]) = [ + * f(f(f(a, d)[0], c)[0], b)[0], + * [ + * f(a, d)[1], + * f(f(a, d)[0], c)[1], + * f(f(f(a, d)[0], c)[0], b)[1] + * ] + * ] + */ + +var mapAccumRight = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapAccumRight(fn, acc, list) { + var idx = list.length - 1; + var result = []; + var tuple = [acc]; + + while (idx >= 0) { + tuple = fn(tuple[0], list[idx]); + result[idx] = tuple[1]; + idx -= 1; + } + + return [tuple[0], result]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (mapAccumRight); + +/***/ }), + +/***/ "./node_modules/ramda/es/mapObjIndexed.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/mapObjIndexed.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + + +/** + * An Object-specific version of [`map`](#map). The function is applied to three + * arguments: *(value, key, obj)*. If only the value is significant, use + * [`map`](#map) instead. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Object + * @sig ((*, String, Object) -> *) -> Object -> Object + * @param {Function} fn + * @param {Object} obj + * @return {Object} + * @see R.map + * @example + * + * const xyz = { x: 1, y: 2, z: 3 }; + * const prependKeyAndDouble = (num, key, obj) => key + (num * 2); + * + * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' } + */ + +var mapObjIndexed = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mapObjIndexed(fn, obj) { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, key) { + acc[key] = fn(obj[key], key, obj); + return acc; + }, {}, Object(_keys_js__WEBPACK_IMPORTED_MODULE_2__["default"])(obj)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mapObjIndexed); + +/***/ }), + +/***/ "./node_modules/ramda/es/match.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/match.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Tests a regular expression against a String. Note that this function will + * return an empty array when there are no matches. This differs from + * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match) + * which returns `null` when there are no matches. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category String + * @sig RegExp -> String -> [String | Undefined] + * @param {RegExp} rx A regular expression. + * @param {String} str The string to match against + * @return {Array} The list of matches or empty array. + * @see R.test + * @example + * + * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na'] + * R.match(/a/, 'b'); //=> [] + * R.match(/a/, null); //=> TypeError: null does not have a method named "match" + */ + +var match = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function match(rx, str) { + return str.match(rx) || []; +}); + +/* harmony default export */ __webpack_exports__["default"] = (match); + +/***/ }), + +/***/ "./node_modules/ramda/es/mathMod.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/mathMod.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); + + +/** + * `mathMod` behaves like the modulo operator should mathematically, unlike the + * `%` operator (and by extension, [`R.modulo`](#modulo)). So while + * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer + * arguments, and returns NaN when the modulus is zero or negative. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} m The dividend. + * @param {Number} p the modulus. + * @return {Number} The result of `b mod a`. + * @see R.modulo + * @example + * + * R.mathMod(-17, 5); //=> 3 + * R.mathMod(17, 5); //=> 2 + * R.mathMod(17, -5); //=> NaN + * R.mathMod(17, 0); //=> NaN + * R.mathMod(17.2, 5); //=> NaN + * R.mathMod(17, 5.3); //=> NaN + * + * const clock = R.mathMod(R.__, 12); + * clock(15); //=> 3 + * clock(24); //=> 0 + * + * const seventeenMod = R.mathMod(17); + * seventeenMod(3); //=> 2 + * seventeenMod(4); //=> 1 + * seventeenMod(10); //=> 7 + */ + +var mathMod = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mathMod(m, p) { + if (!Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(m)) { + return NaN; + } + + if (!Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p) || p < 1) { + return NaN; + } + + return (m % p + p) % p; +}); + +/* harmony default export */ __webpack_exports__["default"] = (mathMod); + +/***/ }), + +/***/ "./node_modules/ramda/es/max.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/max.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns the larger of its two arguments. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> a + * @param {*} a + * @param {*} b + * @return {*} + * @see R.maxBy, R.min + * @example + * + * R.max(789, 123); //=> 789 + * R.max('a', 'b'); //=> 'b' + */ + +var max = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function max(a, b) { + return b > a ? b : a; +}); + +/* harmony default export */ __webpack_exports__["default"] = (max); + +/***/ }), + +/***/ "./node_modules/ramda/es/maxBy.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/maxBy.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Takes a function and two values, and returns whichever value produces the + * larger result when passed to the provided function. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Relation + * @sig Ord b => (a -> b) -> a -> a -> a + * @param {Function} f + * @param {*} a + * @param {*} b + * @return {*} + * @see R.max, R.minBy + * @example + * + * // square :: Number -> Number + * const square = n => n * n; + * + * R.maxBy(square, -3, 2); //=> -3 + * + * R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5 + * R.reduce(R.maxBy(square), 0, []); //=> 0 + */ + +var maxBy = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function maxBy(f, a, b) { + return f(b) > f(a) ? b : a; +}); + +/* harmony default export */ __webpack_exports__["default"] = (maxBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/mean.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/mean.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _sum_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./sum.js */ "./node_modules/ramda/es/sum.js"); + + +/** + * Returns the mean of the given list of numbers. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list + * @return {Number} + * @see R.median + * @example + * + * R.mean([2, 7, 9]); //=> 6 + * R.mean([]); //=> NaN + */ + +var mean = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mean(list) { + return Object(_sum_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) / list.length; +}); + +/* harmony default export */ __webpack_exports__["default"] = (mean); + +/***/ }), + +/***/ "./node_modules/ramda/es/median.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/median.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _mean_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mean.js */ "./node_modules/ramda/es/mean.js"); + + +/** + * Returns the median of the given list of numbers. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list + * @return {Number} + * @see R.mean + * @example + * + * R.median([2, 9, 7]); //=> 7 + * R.median([7, 2, 10, 9]); //=> 8 + * R.median([]); //=> NaN + */ + +var median = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function median(list) { + var len = list.length; + + if (len === 0) { + return NaN; + } + + var width = 2 - len % 2; + var idx = (len - width) / 2; + return Object(_mean_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Array.prototype.slice.call(list, 0).sort(function (a, b) { + return a < b ? -1 : a > b ? 1 : 0; + }).slice(idx, idx + width)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (median); + +/***/ }), + +/***/ "./node_modules/ramda/es/memoizeWith.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/memoizeWith.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); + + + +/** + * Creates a new function that, when invoked, caches the result of calling `fn` + * for a given argument set and returns the result. Subsequent calls to the + * memoized `fn` with the same argument set will not result in an additional + * call to `fn`; instead, the cached result for that set of arguments will be + * returned. + * + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Function + * @sig (*... -> String) -> (*... -> a) -> (*... -> a) + * @param {Function} fn The function to generate the cache key. + * @param {Function} fn The function to memoize. + * @return {Function} Memoized version of `fn`. + * @example + * + * let count = 0; + * const factorial = R.memoizeWith(R.identity, n => { + * count += 1; + * return R.product(R.range(1, n + 1)); + * }); + * factorial(5); //=> 120 + * factorial(5); //=> 120 + * factorial(5); //=> 120 + * count; //=> 1 + */ + +var memoizeWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function memoizeWith(mFn, fn) { + var cache = {}; + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { + var key = mFn.apply(this, arguments); + + if (!Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_2__["default"])(key, cache)) { + cache[key] = fn.apply(this, arguments); + } + + return cache[key]; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (memoizeWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/merge.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/merge.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Create a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects, + * the value from the second object will be used. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig {k: v} -> {k: v} -> {k: v} + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeRight, R.mergeDeepRight, R.mergeWith, R.mergeWithKey + * @deprecated since v0.26.0 + * @example + * + * R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); + * //=> { 'name': 'fred', 'age': 40 } + * + * const withDefaults = R.merge({x: 0, y: 0}); + * withDefaults({y: 2}); //=> {x: 0, y: 2} + * @symb R.merge(a, b) = {...a, ...b} + */ + +var merge = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function merge(l, r) { + return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, l, r); +}); + +/* harmony default export */ __webpack_exports__["default"] = (merge); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeAll.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/mergeAll.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + + +/** + * Merges a list of objects together into one object. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig [{k: v}] -> {k: v} + * @param {Array} list An array of objects + * @return {Object} A merged object. + * @see R.reduce + * @example + * + * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3} + * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2} + * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 } + */ + +var mergeAll = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeAll(list) { + return _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(null, [{}].concat(list)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeAll); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeDeepLeft.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/mergeDeepLeft.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); + + +/** + * Creates a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects: + * - and both values are objects, the two values will be recursively merged + * - otherwise the value from the first object will be used. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig {a} -> {a} -> {a} + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey + * @example + * + * R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, + * { age: 40, contact: { email: 'baa@example.com' }}); + * //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }} + */ + +var mergeDeepLeft = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepLeft(lObj, rObj) { + return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { + return lVal; + }, lObj, rObj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeDeepLeft); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeDeepRight.js": +/*!*************************************************!*\ + !*** ./node_modules/ramda/es/mergeDeepRight.js ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); + + +/** + * Creates a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects: + * - and both values are objects, the two values will be recursively merged + * - otherwise the value from the second object will be used. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig {a} -> {a} -> {a} + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey + * @example + * + * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }}, + * { age: 40, contact: { email: 'baa@example.com' }}); + * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }} + */ + +var mergeDeepRight = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepRight(lObj, rObj) { + return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { + return rVal; + }, lObj, rObj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeDeepRight); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeDeepWith.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/mergeDeepWith.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeDeepWithKey.js */ "./node_modules/ramda/es/mergeDeepWithKey.js"); + + +/** + * Creates a new object with the own properties of the two provided objects. + * If a key exists in both objects: + * - and both associated values are also objects then the values will be + * recursively merged. + * - otherwise the provided function is applied to associated values using the + * resulting value as the new value associated with the key. + * If a key only exists in one object, the value will be associated with the key + * of the resulting object. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig ((a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.mergeWith, R.mergeDeepWithKey + * @example + * + * R.mergeDeepWith(R.concat, + * { a: true, c: { values: [10, 20] }}, + * { b: true, c: { values: [15, 35] }}); + * //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }} + */ + +var mergeDeepWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepWith(fn, lObj, rObj) { + return Object(_mergeDeepWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (k, lVal, rVal) { + return fn(lVal, rVal); + }, lObj, rObj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeDeepWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeDeepWithKey.js": +/*!***************************************************!*\ + !*** ./node_modules/ramda/es/mergeDeepWithKey.js ***! + \***************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isObject.js */ "./node_modules/ramda/es/internal/_isObject.js"); +/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); + + + +/** + * Creates a new object with the own properties of the two provided objects. + * If a key exists in both objects: + * - and both associated values are also objects then the values will be + * recursively merged. + * - otherwise the provided function is applied to the key and associated values + * using the resulting value as the new value associated with the key. + * If a key only exists in one object, the value will be associated with the key + * of the resulting object. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Object + * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} lObj + * @param {Object} rObj + * @return {Object} + * @see R.mergeWithKey, R.mergeDeepWith + * @example + * + * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r + * R.mergeDeepWithKey(concatValues, + * { a: true, c: { thing: 'foo', values: [10, 20] }}, + * { b: true, c: { thing: 'bar', values: [15, 35] }}); + * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }} + */ + +var mergeDeepWithKey = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeDeepWithKey(fn, lObj, rObj) { + return Object(_mergeWithKey_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function (k, lVal, rVal) { + if (Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(lVal) && Object(_internal_isObject_js__WEBPACK_IMPORTED_MODULE_1__["default"])(rVal)) { + return mergeDeepWithKey(fn, lVal, rVal); + } else { + return fn(k, lVal, rVal); + } + }, lObj, rObj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeDeepWithKey); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeLeft.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/mergeLeft.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Create a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects, + * the value from the first object will be used. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Object + * @sig {k: v} -> {k: v} -> {k: v} + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey + * @example + * + * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 }); + * //=> { 'name': 'fred', 'age': 40 } + * + * const resetToDefault = R.mergeLeft({x: 0}); + * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2} + * @symb R.mergeLeft(a, b) = {...b, ...a} + */ + +var mergeLeft = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeLeft(l, r) { + return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, r, l); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeLeft); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeRight.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/mergeRight.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_objectAssign.js */ "./node_modules/ramda/es/internal/_objectAssign.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Create a new object with the own properties of the first object merged with + * the own properties of the second object. If a key exists in both objects, + * the value from the second object will be used. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Object + * @sig {k: v} -> {k: v} -> {k: v} + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey + * @example + * + * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 }); + * //=> { 'name': 'fred', 'age': 40 } + * + * const withDefaults = R.mergeRight({x: 0, y: 0}); + * withDefaults({y: 2}); //=> {x: 0, y: 2} + * @symb R.mergeRight(a, b) = {...a, ...b} + */ + +var mergeRight = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function mergeRight(l, r) { + return Object(_internal_objectAssign_js__WEBPACK_IMPORTED_MODULE_0__["default"])({}, l, r); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeRight); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeWith.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/mergeWith.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./mergeWithKey.js */ "./node_modules/ramda/es/mergeWithKey.js"); + + +/** + * Creates a new object with the own properties of the two provided objects. If + * a key exists in both objects, the provided function is applied to the values + * associated with the key in each object, with the result being used as the + * value associated with the key in the returned object. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Object + * @sig ((a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeDeepWith, R.merge, R.mergeWithKey + * @example + * + * R.mergeWith(R.concat, + * { a: true, values: [10, 20] }, + * { b: true, values: [15, 35] }); + * //=> { a: true, b: true, values: [10, 20, 15, 35] } + */ + +var mergeWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeWith(fn, l, r) { + return Object(_mergeWithKey_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (_, _l, _r) { + return fn(_l, _r); + }, l, r); +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/mergeWithKey.js": +/*!***********************************************!*\ + !*** ./node_modules/ramda/es/mergeWithKey.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); + + +/** + * Creates a new object with the own properties of the two provided objects. If + * a key exists in both objects, the provided function is applied to the key + * and the values associated with the key in each object, with the result being + * used as the value associated with the key in the returned object. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Object + * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a} + * @param {Function} fn + * @param {Object} l + * @param {Object} r + * @return {Object} + * @see R.mergeDeepWithKey, R.merge, R.mergeWith + * @example + * + * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r + * R.mergeWithKey(concatValues, + * { a: true, thing: 'foo', values: [10, 20] }, + * { b: true, thing: 'bar', values: [15, 35] }); + * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] } + * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 } + */ + +var mergeWithKey = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function mergeWithKey(fn, l, r) { + var result = {}; + var k; + + for (k in l) { + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, l)) { + result[k] = Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) ? fn(k, l[k], r[k]) : l[k]; + } + } + + for (k in r) { + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, r) && !Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(k, result)) { + result[k] = r[k]; + } + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (mergeWithKey); + +/***/ }), + +/***/ "./node_modules/ramda/es/min.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/min.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns the smaller of its two arguments. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord a => a -> a -> a + * @param {*} a + * @param {*} b + * @return {*} + * @see R.minBy, R.max + * @example + * + * R.min(789, 123); //=> 123 + * R.min('a', 'b'); //=> 'a' + */ + +var min = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function min(a, b) { + return b < a ? b : a; +}); + +/* harmony default export */ __webpack_exports__["default"] = (min); + +/***/ }), + +/***/ "./node_modules/ramda/es/minBy.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/minBy.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Takes a function and two values, and returns whichever value produces the + * smaller result when passed to the provided function. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Relation + * @sig Ord b => (a -> b) -> a -> a -> a + * @param {Function} f + * @param {*} a + * @param {*} b + * @return {*} + * @see R.min, R.maxBy + * @example + * + * // square :: Number -> Number + * const square = n => n * n; + * + * R.minBy(square, -3, 2); //=> 2 + * + * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1 + * R.reduce(R.minBy(square), Infinity, []); //=> Infinity + */ + +var minBy = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function minBy(f, a, b) { + return f(b) < f(a) ? b : a; +}); + +/* harmony default export */ __webpack_exports__["default"] = (minBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/modulo.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/modulo.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Divides the first parameter by the second and returns the remainder. Note + * that this function preserves the JavaScript-style behavior for modulo. For + * mathematical modulo see [`mathMod`](#mathMod). + * + * @func + * @memberOf R + * @since v0.1.1 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} a The value to the divide. + * @param {Number} b The pseudo-modulus + * @return {Number} The result of `b % a`. + * @see R.mathMod + * @example + * + * R.modulo(17, 3); //=> 2 + * // JS behavior: + * R.modulo(-17, 3); //=> -2 + * R.modulo(17, -3); //=> 2 + * + * const isOdd = R.modulo(R.__, 2); + * isOdd(42); //=> 0 + * isOdd(21); //=> 1 + */ + +var modulo = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function modulo(a, b) { + return a % b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (modulo); + +/***/ }), + +/***/ "./node_modules/ramda/es/move.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/move.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Move an item, at index `from`, to index `to`, in a list of elements. + * A new list will be created containing the new elements order. + * + * @func + * @memberOf R + * @since v0.27.0 + * @category List + * @sig Number -> Number -> [a] -> [a] + * @param {Number} from The source index + * @param {Number} to The destination index + * @param {Array} list The list which will serve to realise the move + * @return {Array} The new list reordered + * @example + * + * R.move(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['b', 'c', 'a', 'd', 'e', 'f'] + * R.move(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'a', 'b', 'c', 'd', 'e'] list rotation + */ + +var move = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (from, to, list) { + var length = list.length; + var result = list.slice(); + var positiveFrom = from < 0 ? length + from : from; + var positiveTo = to < 0 ? length + to : to; + var item = result.splice(positiveFrom, 1); + return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (move); + +/***/ }), + +/***/ "./node_modules/ramda/es/multiply.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/multiply.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Multiplies two numbers. Equivalent to `a * b` but curried. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} a The first value. + * @param {Number} b The second value. + * @return {Number} The result of `a * b`. + * @see R.divide + * @example + * + * const double = R.multiply(2); + * const triple = R.multiply(3); + * double(3); //=> 6 + * triple(4); //=> 12 + * R.multiply(2, 5); //=> 10 + */ + +var multiply = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function multiply(a, b) { + return a * b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (multiply); + +/***/ }), + +/***/ "./node_modules/ramda/es/nAry.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/nAry.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Wraps a function of any arity (including nullary) in a function that accepts + * exactly `n` parameters. Any extraneous parameters will not be passed to the + * supplied function. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig Number -> (* -> a) -> (* -> a) + * @param {Number} n The desired arity of the new function. + * @param {Function} fn The function to wrap. + * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of + * arity `n`. + * @see R.binary, R.unary + * @example + * + * const takesTwoArgs = (a, b) => [a, b]; + * + * takesTwoArgs.length; //=> 2 + * takesTwoArgs(1, 2); //=> [1, 2] + * + * const takesOneArg = R.nAry(1, takesTwoArgs); + * takesOneArg.length; //=> 1 + * // Only `n` arguments are passed to the wrapped function + * takesOneArg(1, 2); //=> [1, undefined] + * @symb R.nAry(0, f)(a, b) = f() + * @symb R.nAry(1, f)(a, b) = f(a) + * @symb R.nAry(2, f)(a, b) = f(a, b) + */ + +var nAry = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nAry(n, fn) { + switch (n) { + case 0: + return function () { + return fn.call(this); + }; + + case 1: + return function (a0) { + return fn.call(this, a0); + }; + + case 2: + return function (a0, a1) { + return fn.call(this, a0, a1); + }; + + case 3: + return function (a0, a1, a2) { + return fn.call(this, a0, a1, a2); + }; + + case 4: + return function (a0, a1, a2, a3) { + return fn.call(this, a0, a1, a2, a3); + }; + + case 5: + return function (a0, a1, a2, a3, a4) { + return fn.call(this, a0, a1, a2, a3, a4); + }; + + case 6: + return function (a0, a1, a2, a3, a4, a5) { + return fn.call(this, a0, a1, a2, a3, a4, a5); + }; + + case 7: + return function (a0, a1, a2, a3, a4, a5, a6) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6); + }; + + case 8: + return function (a0, a1, a2, a3, a4, a5, a6, a7) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7); + }; + + case 9: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8); + }; + + case 10: + return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) { + return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9); + }; + + default: + throw new Error('First argument to nAry must be a non-negative integer no greater than ten'); + } +}); + +/* harmony default export */ __webpack_exports__["default"] = (nAry); + +/***/ }), + +/***/ "./node_modules/ramda/es/negate.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/negate.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Negates its argument. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Math + * @sig Number -> Number + * @param {Number} n + * @return {Number} + * @example + * + * R.negate(42); //=> -42 + */ + +var negate = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function negate(n) { + return -n; +}); + +/* harmony default export */ __webpack_exports__["default"] = (negate); + +/***/ }), + +/***/ "./node_modules/ramda/es/none.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/none.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_complement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement.js */ "./node_modules/ramda/es/internal/_complement.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _all_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./all.js */ "./node_modules/ramda/es/all.js"); + + + +/** + * Returns `true` if no elements of the list match the predicate, `false` + * otherwise. + * + * Dispatches to the `all` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig (a -> Boolean) -> [a] -> Boolean + * @param {Function} fn The predicate function. + * @param {Array} list The array to consider. + * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise. + * @see R.all, R.any + * @example + * + * const isEven = n => n % 2 === 0; + * const isOdd = n => n % 2 === 1; + * + * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true + * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false + */ + +var none = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function none(fn, input) { + return Object(_all_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_internal_complement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn), input); +}); + +/* harmony default export */ __webpack_exports__["default"] = (none); + +/***/ }), + +/***/ "./node_modules/ramda/es/not.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/not.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * A function that returns the `!` of its argument. It will return `true` when + * passed false-y value, and `false` when passed a truth-y one. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig * -> Boolean + * @param {*} a any value + * @return {Boolean} the logical inverse of passed argument. + * @see R.complement + * @example + * + * R.not(true); //=> false + * R.not(false); //=> true + * R.not(0); //=> true + * R.not(1); //=> false + */ + +var not = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function not(a) { + return !a; +}); + +/* harmony default export */ __webpack_exports__["default"] = (not); + +/***/ }), + +/***/ "./node_modules/ramda/es/nth.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/nth.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); + + +/** + * Returns the nth element of the given list or string. If n is negative the + * element at index length + n is returned. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> [a] -> a | Undefined + * @sig Number -> String -> String + * @param {Number} offset + * @param {*} list + * @return {*} + * @example + * + * const list = ['foo', 'bar', 'baz', 'quux']; + * R.nth(1, list); //=> 'bar' + * R.nth(-1, list); //=> 'quux' + * R.nth(-99, list); //=> undefined + * + * R.nth(2, 'abc'); //=> 'c' + * R.nth(3, 'abc'); //=> '' + * @symb R.nth(-1, [a, b, c]) = c + * @symb R.nth(0, [a, b, c]) = a + * @symb R.nth(1, [a, b, c]) = b + */ + +var nth = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nth(offset, list) { + var idx = offset < 0 ? list.length + offset : offset; + return Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) ? list.charAt(idx) : list[idx]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (nth); + +/***/ }), + +/***/ "./node_modules/ramda/es/nthArg.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/nthArg.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); + + + +/** + * Returns a function which returns its nth argument. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category Function + * @sig Number -> *... -> * + * @param {Number} n + * @return {Function} + * @example + * + * R.nthArg(1)('a', 'b', 'c'); //=> 'b' + * R.nthArg(-1)('a', 'b', 'c'); //=> 'c' + * @symb R.nthArg(-1)(a, b, c) = c + * @symb R.nthArg(0)(a, b, c) = a + * @symb R.nthArg(1)(a, b, c) = b + */ + +var nthArg = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function nthArg(n) { + var arity = n < 0 ? 1 : n + 1; + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arity, function () { + return Object(_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(n, arguments); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (nthArg); + +/***/ }), + +/***/ "./node_modules/ramda/es/o.js": +/*!************************************!*\ + !*** ./node_modules/ramda/es/o.js ***! + \************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * `o` is a curried composition function that returns a unary function. + * Like [`compose`](#compose), `o` performs right-to-left function composition. + * Unlike [`compose`](#compose), the rightmost function passed to `o` will be + * invoked with only one argument. Also, unlike [`compose`](#compose), `o` is + * limited to accepting only 2 unary functions. The name o was chosen because + * of its similarity to the mathematical composition operator ∘. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category Function + * @sig (b -> c) -> (a -> b) -> a -> c + * @param {Function} f + * @param {Function} g + * @return {Function} + * @see R.compose, R.pipe + * @example + * + * const classyGreeting = name => "The name's " + name.last + ", " + name.first + " " + name.last + * const yellGreeting = R.o(R.toUpper, classyGreeting); + * yellGreeting({first: 'James', last: 'Bond'}); //=> "THE NAME'S BOND, JAMES BOND" + * + * R.o(R.multiply(10), R.add(10))(-4) //=> 60 + * + * @symb R.o(f, g, x) = f(g(x)) + */ + +var o = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function o(f, g, x) { + return f(g(x)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (o); + +/***/ }), + +/***/ "./node_modules/ramda/es/objOf.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/objOf.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Creates an object containing a single key:value pair. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Object + * @sig String -> a -> {String:a} + * @param {String} key + * @param {*} val + * @return {Object} + * @see R.pair + * @example + * + * const matchPhrases = R.compose( + * R.objOf('must'), + * R.map(R.objOf('match_phrase')) + * ); + * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]} + */ + +var objOf = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function objOf(key, val) { + var obj = {}; + obj[key] = val; + return obj; +}); + +/* harmony default export */ __webpack_exports__["default"] = (objOf); + +/***/ }), + +/***/ "./node_modules/ramda/es/of.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/of.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_of_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_of.js */ "./node_modules/ramda/es/internal/_of.js"); + + +/** + * Returns a singleton array containing the value provided. + * + * Note this `of` is different from the ES6 `of`; See + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of + * + * @func + * @memberOf R + * @since v0.3.0 + * @category Function + * @sig a -> [a] + * @param {*} x any value + * @return {Array} An array wrapping `x`. + * @example + * + * R.of(null); //=> [null] + * R.of([42]); //=> [[42]] + */ + +var of = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_of_js__WEBPACK_IMPORTED_MODULE_1__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (of); + +/***/ }), + +/***/ "./node_modules/ramda/es/omit.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/omit.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns a partial copy of an object omitting the keys specified. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [String] -> {String: *} -> {String: *} + * @param {Array} names an array of String property names to omit from the new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with properties from `names` not on it. + * @see R.pick + * @example + * + * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3} + */ + +var omit = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function omit(names, obj) { + var result = {}; + var index = {}; + var idx = 0; + var len = names.length; + + while (idx < len) { + index[names[idx]] = 1; + idx += 1; + } + + for (var prop in obj) { + if (!index.hasOwnProperty(prop)) { + result[prop] = obj[prop]; + } + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (omit); + +/***/ }), + +/***/ "./node_modules/ramda/es/once.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/once.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + + +/** + * Accepts a function `fn` and returns a function that guards invocation of + * `fn` such that `fn` can only ever be called once, no matter how many times + * the returned function is invoked. The first value calculated is returned in + * subsequent invocations. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (a... -> b) -> (a... -> b) + * @param {Function} fn The function to wrap in a call-only-once wrapper. + * @return {Function} The wrapped function. + * @example + * + * const addOneOnce = R.once(x => x + 1); + * addOneOnce(10); //=> 11 + * addOneOnce(addOneOnce(50)); //=> 11 + */ + +var once = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function once(fn) { + var called = false; + var result; + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function () { + if (called) { + return result; + } + + called = true; + result = fn.apply(this, arguments); + return result; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (once); + +/***/ }), + +/***/ "./node_modules/ramda/es/or.js": +/*!*************************************!*\ + !*** ./node_modules/ramda/es/or.js ***! + \*************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns `true` if one or both of its arguments are `true`. Returns `false` + * if both arguments are `false`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Logic + * @sig a -> b -> a | b + * @param {Any} a + * @param {Any} b + * @return {Any} the first argument if truthy, otherwise the second argument. + * @see R.either, R.xor + * @example + * + * R.or(true, true); //=> true + * R.or(true, false); //=> true + * R.or(false, true); //=> true + * R.or(false, false); //=> false + */ + +var or = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function or(a, b) { + return a || b; +}); + +/* harmony default export */ __webpack_exports__["default"] = (or); + +/***/ }), + +/***/ "./node_modules/ramda/es/otherwise.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/otherwise.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_assertPromise.js */ "./node_modules/ramda/es/internal/_assertPromise.js"); + + +/** + * Returns the result of applying the onFailure function to the value inside + * a failed promise. This is useful for handling rejected promises + * inside function compositions. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Function + * @sig (e -> b) -> (Promise e a) -> (Promise e b) + * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b) + * @param {Function} onFailure The function to apply. Can return a value or a promise of a value. + * @param {Promise} p + * @return {Promise} The result of calling `p.then(null, onFailure)` + * @see R.then + * @example + * + * var failedFetch = (id) => Promise.reject('bad ID'); + * var useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' }) + * + * //recoverFromFailure :: String -> Promise ({firstName, lastName}) + * var recoverFromFailure = R.pipe( + * failedFetch, + * R.otherwise(useDefault), + * R.then(R.pick(['firstName', 'lastName'])), + * ); + * recoverFromFailure(12345).then(console.log) + */ + +var otherwise = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function otherwise(f, p) { + Object(_internal_assertPromise_js__WEBPACK_IMPORTED_MODULE_1__["default"])('otherwise', p); + + return p.then(null, f); +}); + +/* harmony default export */ __webpack_exports__["default"] = (otherwise); + +/***/ }), + +/***/ "./node_modules/ramda/es/over.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/over.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + // `Identity` is a functor that holds a single value, where `map` simply +// transforms the held value with the provided function. + +var Identity = function (x) { + return { + value: x, + map: function (f) { + return Identity(f(x)); + } + }; +}; +/** + * Returns the result of "setting" the portion of the given data structure + * focused by the given lens to the result of applying the given function to + * the focused value. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig Lens s a -> (a -> a) -> s -> s + * @param {Lens} lens + * @param {*} v + * @param {*} x + * @return {*} + * @see R.prop, R.lensIndex, R.lensProp + * @example + * + * const headLens = R.lensIndex(0); + * + * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz'] + */ + + +var over = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function over(lens, f, x) { + // The value returned by the getter function is first transformed with `f`, + // then set as the value of an `Identity`. This is then mapped over with the + // setter function of the lens. + return lens(function (y) { + return Identity(f(y)); + })(x).value; +}); + +/* harmony default export */ __webpack_exports__["default"] = (over); + +/***/ }), + +/***/ "./node_modules/ramda/es/pair.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/pair.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category List + * @sig a -> b -> (a,b) + * @param {*} fst + * @param {*} snd + * @return {Array} + * @see R.objOf, R.of + * @example + * + * R.pair('foo', 'bar'); //=> ['foo', 'bar'] + */ + +var pair = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pair(fst, snd) { + return [fst, snd]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (pair); + +/***/ }), + +/***/ "./node_modules/ramda/es/partial.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/partial.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator.js */ "./node_modules/ramda/es/internal/_createPartialApplicator.js"); + + +/** + * Takes a function `f` and a list of arguments, and returns a function `g`. + * When applied, `g` returns the result of applying `f` to the arguments + * provided initially followed by the arguments provided to `g`. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x) + * @param {Function} f + * @param {Array} args + * @return {Function} + * @see R.partialRight, R.curry + * @example + * + * const multiply2 = (a, b) => a * b; + * const double = R.partial(multiply2, [2]); + * double(2); //=> 4 + * + * const greet = (salutation, title, firstName, lastName) => + * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; + * + * const sayHello = R.partial(greet, ['Hello']); + * const sayHelloToMs = R.partial(sayHello, ['Ms.']); + * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!' + * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d) + */ + +var partial = +/*#__PURE__*/ +Object(_internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (partial); + +/***/ }), + +/***/ "./node_modules/ramda/es/partialRight.js": +/*!***********************************************!*\ + !*** ./node_modules/ramda/es/partialRight.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_createPartialApplicator.js */ "./node_modules/ramda/es/internal/_createPartialApplicator.js"); +/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); + + + +/** + * Takes a function `f` and a list of arguments, and returns a function `g`. + * When applied, `g` returns the result of applying `f` to the arguments + * provided to `g` followed by the arguments provided initially. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x) + * @param {Function} f + * @param {Array} args + * @return {Function} + * @see R.partial + * @example + * + * const greet = (salutation, title, firstName, lastName) => + * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!'; + * + * const greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']); + * + * greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!' + * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b) + */ + +var partialRight = +/*#__PURE__*/ +Object(_internal_createPartialApplicator_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_flip_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])); + +/* harmony default export */ __webpack_exports__["default"] = (partialRight); + +/***/ }), + +/***/ "./node_modules/ramda/es/partition.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/partition.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); +/* harmony import */ var _juxt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./juxt.js */ "./node_modules/ramda/es/juxt.js"); +/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); + + + +/** + * Takes a predicate and a list or other `Filterable` object and returns the + * pair of filterable objects of the same type of elements which do and do not + * satisfy, the predicate, respectively. Filterable objects include plain objects or any object + * that has a filter method such as `Array`. + * + * @func + * @memberOf R + * @since v0.1.4 + * @category List + * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a] + * @param {Function} pred A predicate to determine which side the element belongs to. + * @param {Array} filterable the list (or other filterable) to partition. + * @return {Array} An array, containing first the subset of elements that satisfy the + * predicate, and second the subset of elements that do not satisfy. + * @see R.filter, R.reject + * @example + * + * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']); + * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ] + * + * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' }); + * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ] + */ + +var partition = +/*#__PURE__*/ +Object(_juxt_js__WEBPACK_IMPORTED_MODULE_1__["default"])([_filter_js__WEBPACK_IMPORTED_MODULE_0__["default"], _reject_js__WEBPACK_IMPORTED_MODULE_2__["default"]]); +/* harmony default export */ __webpack_exports__["default"] = (partition); + +/***/ }), + +/***/ "./node_modules/ramda/es/path.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/path.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _paths_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./paths.js */ "./node_modules/ramda/es/paths.js"); + + +/** + * Retrieve the value at a given path. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category Object + * @typedefn Idx = String | Int + * @sig [Idx] -> {a} -> a | Undefined + * @param {Array} path The path to use. + * @param {Object} obj The object to retrieve the nested property from. + * @return {*} The data at `path`. + * @see R.prop, R.nth + * @example + * + * R.path(['a', 'b'], {a: {b: 2}}); //=> 2 + * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined + * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1 + * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2 + */ + +var path = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function path(pathAr, obj) { + return Object(_paths_js__WEBPACK_IMPORTED_MODULE_1__["default"])([pathAr], obj)[0]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (path); + +/***/ }), + +/***/ "./node_modules/ramda/es/pathEq.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/pathEq.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + + +/** + * Determines whether a nested path on an object has a specific value, in + * [`R.equals`](#equals) terms. Most likely used to filter a list. + * + * @func + * @memberOf R + * @since v0.7.0 + * @category Relation + * @typedefn Idx = String | Int + * @sig [Idx] -> a -> {a} -> Boolean + * @param {Array} path The path of the nested property to use + * @param {*} val The value to compare the nested property with + * @param {Object} obj The object to check the nested property in + * @return {Boolean} `true` if the value equals the nested object property, + * `false` otherwise. + * @example + * + * const user1 = { address: { zipCode: 90210 } }; + * const user2 = { address: { zipCode: 55555 } }; + * const user3 = { name: 'Bob' }; + * const users = [ user1, user2, user3 ]; + * const isFamous = R.pathEq(['address', 'zipCode'], 90210); + * R.filter(isFamous, users); //=> [ user1 ] + */ + +var pathEq = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathEq(_path, val, obj) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_path_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_path, obj), val); +}); + +/* harmony default export */ __webpack_exports__["default"] = (pathEq); + +/***/ }), + +/***/ "./node_modules/ramda/es/pathOr.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/pathOr.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _defaultTo_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./defaultTo.js */ "./node_modules/ramda/es/defaultTo.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + + +/** + * If the given, non-null object has a value at the given path, returns the + * value at that path. Otherwise returns the provided default value. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Object + * @typedefn Idx = String | Int + * @sig a -> [Idx] -> {a} -> a + * @param {*} d The default value. + * @param {Array} p The path to use. + * @param {Object} obj The object to retrieve the nested property from. + * @return {*} The data at `path` of the supplied object or the default value. + * @example + * + * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2 + * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> "N/A" + */ + +var pathOr = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathOr(d, p, obj) { + return Object(_defaultTo_js__WEBPACK_IMPORTED_MODULE_1__["default"])(d, Object(_path_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, obj)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (pathOr); + +/***/ }), + +/***/ "./node_modules/ramda/es/pathSatisfies.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/pathSatisfies.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + +/** + * Returns `true` if the specified object property at given path satisfies the + * given predicate; `false` otherwise. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Logic + * @typedefn Idx = String | Int + * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean + * @param {Function} pred + * @param {Array} propPath + * @param {*} obj + * @return {Boolean} + * @see R.propSatisfies, R.path + * @example + * + * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true + * R.pathSatisfies(R.is(Object), [], {x: {y: 2}}); //=> true + */ + +var pathSatisfies = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pathSatisfies(pred, propPath, obj) { + return pred(Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])(propPath, obj)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (pathSatisfies); + +/***/ }), + +/***/ "./node_modules/ramda/es/paths.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/paths.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isInteger.js */ "./node_modules/ramda/es/internal/_isInteger.js"); +/* harmony import */ var _nth_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./nth.js */ "./node_modules/ramda/es/nth.js"); + + + +/** + * Retrieves the values at given paths of an object. + * + * @func + * @memberOf R + * @since v0.27.0 + * @category Object + * @typedefn Idx = [String | Int] + * @sig [Idx] -> {a} -> [a | Undefined] + * @param {Array} pathsArray The array of paths to be fetched. + * @param {Object} obj The object to retrieve the nested properties from. + * @return {Array} A list consisting of values at paths specified by "pathsArray". + * @see R.path + * @example + * + * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3] + * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined] + */ + +var paths = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function paths(pathsArray, obj) { + return pathsArray.map(function (paths) { + var val = obj; + var idx = 0; + var p; + + while (idx < paths.length) { + if (val == null) { + return; + } + + p = paths[idx]; + val = Object(_internal_isInteger_js__WEBPACK_IMPORTED_MODULE_1__["default"])(p) ? Object(_nth_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p, val) : val[p]; + idx += 1; + } + + return val; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (paths); + +/***/ }), + +/***/ "./node_modules/ramda/es/pick.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/pick.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns a partial copy of an object containing only the keys specified. If + * the key does not exist, the property is ignored. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [k] -> {k: v} -> {k: v} + * @param {Array} names an array of String property names to copy onto a new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with only properties from `names` on it. + * @see R.omit, R.props + * @example + * + * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} + * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1} + */ + +var pick = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pick(names, obj) { + var result = {}; + var idx = 0; + + while (idx < names.length) { + if (names[idx] in obj) { + result[names[idx]] = obj[names[idx]]; + } + + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (pick); + +/***/ }), + +/***/ "./node_modules/ramda/es/pickAll.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/pickAll.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Similar to `pick` except that this one includes a `key: undefined` pair for + * properties that don't exist. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [k] -> {k: v} -> {k: v} + * @param {Array} names an array of String property names to copy onto a new object + * @param {Object} obj The object to copy from + * @return {Object} A new object with only properties from `names` on it. + * @see R.pick + * @example + * + * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4} + * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined} + */ + +var pickAll = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pickAll(names, obj) { + var result = {}; + var idx = 0; + var len = names.length; + + while (idx < len) { + var name = names[idx]; + result[name] = obj[name]; + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (pickAll); + +/***/ }), + +/***/ "./node_modules/ramda/es/pickBy.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/pickBy.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns a partial copy of an object containing only the keys that satisfy + * the supplied predicate. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Object + * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v} + * @param {Function} pred A predicate to determine whether or not a key + * should be included on the output object. + * @param {Object} obj The object to copy from + * @return {Object} A new object with only properties that satisfy `pred` + * on it. + * @see R.pick, R.filter + * @example + * + * const isUpperCase = (val, key) => key.toUpperCase() === key; + * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4} + */ + +var pickBy = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pickBy(test, obj) { + var result = {}; + + for (var prop in obj) { + if (test(obj[prop], prop, obj)) { + result[prop] = obj[prop]; + } + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (pickBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/pipe.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/pipe.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipe; }); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_pipe_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipe.js */ "./node_modules/ramda/es/internal/_pipe.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); +/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); + + + + +/** + * Performs left-to-right function composition. The first argument may have + * any arity; the remaining arguments must be unary. + * + * In some libraries this function is named `sequence`. + * + * **Note:** The result of pipe is not automatically curried. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z) + * @param {...Function} functions + * @return {Function} + * @see R.compose + * @example + * + * const f = R.pipe(Math.pow, R.negate, R.inc); + * + * f(3, 4); // -(3^4) + 1 + * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b))) + */ + +function pipe() { + if (arguments.length === 0) { + throw new Error('pipe requires at least one argument'); + } + + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments[0].length, Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_pipe_js__WEBPACK_IMPORTED_MODULE_1__["default"], arguments[0], Object(_tail_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arguments))); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/pipeK.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/pipeK.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipeK; }); +/* harmony import */ var _composeK_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./composeK.js */ "./node_modules/ramda/es/composeK.js"); +/* harmony import */ var _reverse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reverse.js */ "./node_modules/ramda/es/reverse.js"); + + +/** + * Returns the left-to-right Kleisli composition of the provided functions, + * each of which must return a value of a type supported by [`chain`](#chain). + * + * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Function + * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z) + * @param {...Function} + * @return {Function} + * @see R.composeK + * @deprecated since v0.26.0 + * @example + * + * // parseJson :: String -> Maybe * + * // get :: String -> Object -> Maybe * + * + * // getStateCode :: Maybe String -> Maybe String + * const getStateCode = R.pipeK( + * parseJson, + * get('user'), + * get('address'), + * get('state'), + * R.compose(Maybe.of, R.toUpper) + * ); + * + * getStateCode('{"user":{"address":{"state":"ny"}}}'); + * //=> Just('NY') + * getStateCode('[Invalid JSON]'); + * //=> Nothing() + * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a))) + */ + +function pipeK() { + if (arguments.length === 0) { + throw new Error('pipeK requires at least one argument'); + } + + return _composeK_js__WEBPACK_IMPORTED_MODULE_0__["default"].apply(this, Object(_reverse_js__WEBPACK_IMPORTED_MODULE_1__["default"])(arguments)); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/pipeP.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/pipeP.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return pipeP; }); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_pipeP_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_pipeP.js */ "./node_modules/ramda/es/internal/_pipeP.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); +/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); + + + + +/** + * Performs left-to-right composition of one or more Promise-returning + * functions. The first argument may have any arity; the remaining arguments + * must be unary. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category Function + * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z) + * @param {...Function} functions + * @return {Function} + * @see R.composeP + * @deprecated since v0.26.0 + * @example + * + * // followersForUser :: String -> Promise [User] + * const followersForUser = R.pipeP(db.getUserById, db.getFollowers); + */ + +function pipeP() { + if (arguments.length === 0) { + throw new Error('pipeP requires at least one argument'); + } + + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(arguments[0].length, Object(_reduce_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_pipeP_js__WEBPACK_IMPORTED_MODULE_1__["default"], arguments[0], Object(_tail_js__WEBPACK_IMPORTED_MODULE_3__["default"])(arguments))); +} + +/***/ }), + +/***/ "./node_modules/ramda/es/pipeWith.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/pipeWith.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _head_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./head.js */ "./node_modules/ramda/es/head.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _tail_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tail.js */ "./node_modules/ramda/es/tail.js"); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); + + + + + + +/** + * Performs left-to-right function composition using transforming function. The first argument may have + * any arity; the remaining arguments must be unary. + * + * **Note:** The result of pipeWith is not automatically curried. Transforming function is not used on the + * first argument. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Function + * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z) + * @param {...Function} functions + * @return {Function} + * @see R.composeWith, R.pipe + * @example + * + * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res)); + * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc]) + * + * f(3, 4); // -(3^4) + 1 + * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, g(...args))) + */ + +var pipeWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function pipeWith(xf, list) { + if (list.length <= 0) { + return _identity_js__WEBPACK_IMPORTED_MODULE_5__["default"]; + } + + var headList = Object(_head_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list); + var tailList = Object(_tail_js__WEBPACK_IMPORTED_MODULE_4__["default"])(list); + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(headList.length, function () { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_3__["default"])(function (result, f) { + return xf.call(this, f, result); + }, headList.apply(this, arguments), tailList); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (pipeWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/pluck.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/pluck.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony import */ var _prop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./prop.js */ "./node_modules/ramda/es/prop.js"); + + + +/** + * Returns a new list by plucking the same named property off all objects in + * the list supplied. + * + * `pluck` will work on + * any [functor](https://github.com/fantasyland/fantasy-land#functor) in + * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Functor f => k -> f {k: v} -> f v + * @param {Number|String} key The key name to pluck off of each object. + * @param {Array} f The array or functor to consider. + * @return {Array} The list of values for the given key. + * @see R.props + * @example + * + * var getAges = R.pluck('age'); + * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27] + * + * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3] + * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5} + * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5] + * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5] + */ + +var pluck = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function pluck(p, list) { + return Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_prop_js__WEBPACK_IMPORTED_MODULE_2__["default"])(p), list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (pluck); + +/***/ }), + +/***/ "./node_modules/ramda/es/prepend.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/prepend.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns a new list with the given element at the front, followed by the + * contents of the list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig a -> [a] -> [a] + * @param {*} el The item to add to the head of the output list. + * @param {Array} list The array to add to the tail of the output list. + * @return {Array} A new array. + * @see R.append + * @example + * + * R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum'] + */ + +var prepend = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function prepend(el, list) { + return Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])([el], list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (prepend); + +/***/ }), + +/***/ "./node_modules/ramda/es/product.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/product.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _multiply_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./multiply.js */ "./node_modules/ramda/es/multiply.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + +/** + * Multiplies together all the elements of a list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list An array of numbers + * @return {Number} The product of all the numbers in the list. + * @see R.reduce + * @example + * + * R.product([2,4,6,8,100,1]); //=> 38400 + */ + +var product = +/*#__PURE__*/ +Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_multiply_js__WEBPACK_IMPORTED_MODULE_0__["default"], 1); +/* harmony default export */ __webpack_exports__["default"] = (product); + +/***/ }), + +/***/ "./node_modules/ramda/es/project.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/project.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_map_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_map.js */ "./node_modules/ramda/es/internal/_map.js"); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); +/* harmony import */ var _pickAll_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./pickAll.js */ "./node_modules/ramda/es/pickAll.js"); +/* harmony import */ var _useWith_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./useWith.js */ "./node_modules/ramda/es/useWith.js"); + + + + +/** + * Reasonable analog to SQL `select` statement. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @category Relation + * @sig [k] -> [{k: v}] -> [{k: v}] + * @param {Array} props The property names to project + * @param {Array} objs The objects to query + * @return {Array} An array of objects with just the `props` properties. + * @example + * + * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2}; + * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7}; + * const kids = [abby, fred]; + * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}] + */ + +var project = +/*#__PURE__*/ +Object(_useWith_js__WEBPACK_IMPORTED_MODULE_3__["default"])(_internal_map_js__WEBPACK_IMPORTED_MODULE_0__["default"], [_pickAll_js__WEBPACK_IMPORTED_MODULE_2__["default"], _identity_js__WEBPACK_IMPORTED_MODULE_1__["default"]]); // passing `identity` gives correct arity + +/* harmony default export */ __webpack_exports__["default"] = (project); + +/***/ }), + +/***/ "./node_modules/ramda/es/prop.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/prop.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + +/** + * Returns a function that when supplied an object returns the indicated + * property of that object, if it exists. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @typedefn Idx = String | Int + * @sig Idx -> {s: a} -> a | Undefined + * @param {String|Number} p The property name or array index + * @param {Object} obj The object to query + * @return {*} The value at `obj.p`. + * @see R.path, R.nth + * @example + * + * R.prop('x', {x: 100}); //=> 100 + * R.prop('x', {}); //=> undefined + * R.prop(0, [100]); //=> 100 + * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4 + */ + +var prop = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function prop(p, obj) { + return Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])([p], obj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (prop); + +/***/ }), + +/***/ "./node_modules/ramda/es/propEq.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/propEq.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); + + +/** + * Returns `true` if the specified object property is equal, in + * [`R.equals`](#equals) terms, to the given value; `false` otherwise. + * You can test multiple properties with [`R.whereEq`](#whereEq). + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig String -> a -> Object -> Boolean + * @param {String} name + * @param {*} val + * @param {*} obj + * @return {Boolean} + * @see R.whereEq, R.propSatisfies, R.equals + * @example + * + * const abby = {name: 'Abby', age: 7, hair: 'blond'}; + * const fred = {name: 'Fred', age: 12, hair: 'brown'}; + * const rusty = {name: 'Rusty', age: 10, hair: 'brown'}; + * const alois = {name: 'Alois', age: 15, disposition: 'surly'}; + * const kids = [abby, fred, rusty, alois]; + * const hasBrownHair = R.propEq('hair', 'brown'); + * R.filter(hasBrownHair, kids); //=> [fred, rusty] + */ + +var propEq = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propEq(name, val, obj) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, obj[name]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (propEq); + +/***/ }), + +/***/ "./node_modules/ramda/es/propIs.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/propIs.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _is_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./is.js */ "./node_modules/ramda/es/is.js"); + + +/** + * Returns `true` if the specified object property is of the given type; + * `false` otherwise. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Type + * @sig Type -> String -> Object -> Boolean + * @param {Function} type + * @param {String} name + * @param {*} obj + * @return {Boolean} + * @see R.is, R.propSatisfies + * @example + * + * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true + * R.propIs(Number, 'x', {x: 'foo'}); //=> false + * R.propIs(Number, 'x', {}); //=> false + */ + +var propIs = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propIs(type, name, obj) { + return Object(_is_js__WEBPACK_IMPORTED_MODULE_1__["default"])(type, obj[name]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (propIs); + +/***/ }), + +/***/ "./node_modules/ramda/es/propOr.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/propOr.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _pathOr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./pathOr.js */ "./node_modules/ramda/es/pathOr.js"); + + +/** + * If the given, non-null object has an own property with the specified name, + * returns the value of that property. Otherwise returns the provided default + * value. + * + * @func + * @memberOf R + * @since v0.6.0 + * @category Object + * @sig a -> String -> Object -> a + * @param {*} val The default value. + * @param {String} p The name of the property to return. + * @param {Object} obj The object to query. + * @return {*} The value of given property of the supplied object or the default value. + * @example + * + * const alice = { + * name: 'ALICE', + * age: 101 + * }; + * const favorite = R.prop('favoriteLibrary'); + * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary'); + * + * favorite(alice); //=> undefined + * favoriteWithDefault(alice); //=> 'Ramda' + */ + +var propOr = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propOr(val, p, obj) { + return Object(_pathOr_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, [p], obj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (propOr); + +/***/ }), + +/***/ "./node_modules/ramda/es/propSatisfies.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/propSatisfies.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Returns `true` if the specified object property satisfies the given + * predicate; `false` otherwise. You can test multiple properties with + * [`R.where`](#where). + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Logic + * @sig (a -> Boolean) -> String -> {String: a} -> Boolean + * @param {Function} pred + * @param {String} name + * @param {*} obj + * @return {Boolean} + * @see R.where, R.propEq, R.propIs + * @example + * + * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true + */ + +var propSatisfies = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function propSatisfies(pred, name, obj) { + return pred(obj[name]); +}); + +/* harmony default export */ __webpack_exports__["default"] = (propSatisfies); + +/***/ }), + +/***/ "./node_modules/ramda/es/props.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/props.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _path_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./path.js */ "./node_modules/ramda/es/path.js"); + + +/** + * Acts as multiple `prop`: array of keys in, array of values out. Preserves + * order. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig [k] -> {k: v} -> [v] + * @param {Array} ps The property names to fetch + * @param {Object} obj The object to query + * @return {Array} The corresponding values or partially applied function. + * @example + * + * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2] + * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2] + * + * const fullName = R.compose(R.join(' '), R.props(['first', 'last'])); + * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth' + */ + +var props = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function props(ps, obj) { + return ps.map(function (p) { + return Object(_path_js__WEBPACK_IMPORTED_MODULE_1__["default"])([p], obj); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (props); + +/***/ }), + +/***/ "./node_modules/ramda/es/range.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/range.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isNumber.js */ "./node_modules/ramda/es/internal/_isNumber.js"); + + +/** + * Returns a list of numbers from `from` (inclusive) to `to` (exclusive). + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> Number -> [Number] + * @param {Number} from The first number in the list. + * @param {Number} to One more than the last number in the list. + * @return {Array} The list of numbers in the set `[a, b)`. + * @example + * + * R.range(1, 5); //=> [1, 2, 3, 4] + * R.range(50, 53); //=> [50, 51, 52] + */ + +var range = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function range(from, to) { + if (!(Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(from) && Object(_internal_isNumber_js__WEBPACK_IMPORTED_MODULE_1__["default"])(to))) { + throw new TypeError('Both arguments to range must be numbers'); + } + + var result = []; + var n = from; + + while (n < to) { + result.push(n); + n += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (range); + +/***/ }), + +/***/ "./node_modules/ramda/es/reduce.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/reduce.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); + + +/** + * Returns a single item by iterating through the list, successively calling + * the iterator function and passing it an accumulator value and the current + * value from the array, and then passing the result to the next call. + * + * The iterator function receives two values: *(acc, value)*. It may use + * [`R.reduced`](#reduced) to shortcut the iteration. + * + * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function + * is *(value, acc)*. + * + * Note: `R.reduce` does not skip deleted or unassigned indices (sparse + * arrays), unlike the native `Array.prototype.reduce` method. For more details + * on this behavior, see: + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description + * + * Dispatches to the `reduce` method of the third argument, if present. When + * doing so, it is up to the user to handle the [`R.reduced`](#reduced) + * shortcuting, as this is not implemented by `reduce`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, b) -> a) -> a -> [b] -> a + * @param {Function} fn The iterator function. Receives two values, the accumulator and the + * current element from the array. + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduced, R.addIndex, R.reduceRight + * @example + * + * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10 + * // - -10 + * // / \ / \ + * // - 4 -6 4 + * // / \ / \ + * // - 3 ==> -3 3 + * // / \ / \ + * // - 2 -1 2 + * // / \ / \ + * // 0 1 0 1 + * + * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d) + */ + +var reduce = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (reduce); + +/***/ }), + +/***/ "./node_modules/ramda/es/reduceBy.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/reduceBy.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_clone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_clone.js */ "./node_modules/ramda/es/internal/_clone.js"); +/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_xreduceBy_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./internal/_xreduceBy.js */ "./node_modules/ramda/es/internal/_xreduceBy.js"); + + + + + + +/** + * Groups the elements of the list according to the result of calling + * the String-returning function `keyFn` on each element and reduces the elements + * of each group to a single value via the reducer function `valueFn`. + * + * This function is basically a more general [`groupBy`](#groupBy) function. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category List + * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a} + * @param {Function} valueFn The function that reduces the elements of each group to a single + * value. Receives two values, accumulator for a particular group and the current element. + * @param {*} acc The (initial) accumulator value for each group. + * @param {Function} keyFn The function that maps the list's element into a key. + * @param {Array} list The array to group. + * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of + * `valueFn` for elements which produced that key when passed to `keyFn`. + * @see R.groupBy, R.reduce + * @example + * + * const groupNames = (acc, {name}) => acc.concat(name) + * const toGrade = ({score}) => + * score < 65 ? 'F' : + * score < 70 ? 'D' : + * score < 80 ? 'C' : + * score < 90 ? 'B' : 'A' + * + * var students = [ + * {name: 'Abby', score: 83}, + * {name: 'Bart', score: 62}, + * {name: 'Curt', score: 88}, + * {name: 'Dora', score: 92}, + * ] + * + * reduceBy(groupNames, [], toGrade, students) + * //=> {"A": ["Dora"], "B": ["Abby", "Curt"], "F": ["Bart"]} + */ + +var reduceBy = +/*#__PURE__*/ +Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(4, [], +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_2__["default"])([], _internal_xreduceBy_js__WEBPACK_IMPORTED_MODULE_5__["default"], function reduceBy(valueFn, valueAcc, keyFn, list) { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (acc, elt) { + var key = keyFn(elt); + acc[key] = valueFn(Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_3__["default"])(key, acc) ? acc[key] : Object(_internal_clone_js__WEBPACK_IMPORTED_MODULE_0__["default"])(valueAcc, [], [], false), elt); + return acc; + }, {}, list); +})); + +/* harmony default export */ __webpack_exports__["default"] = (reduceBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/reduceRight.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/reduceRight.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Returns a single item by iterating through the list, successively calling + * the iterator function and passing it an accumulator value and the current + * value from the array, and then passing the result to the next call. + * + * Similar to [`reduce`](#reduce), except moves through the input list from the + * right to the left. + * + * The iterator function receives two values: *(value, acc)*, while the arguments' + * order of `reduce`'s iterator function is *(acc, value)*. + * + * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse + * arrays), unlike the native `Array.prototype.reduceRight` method. For more details + * on this behavior, see: + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, b) -> b) -> b -> [a] -> b + * @param {Function} fn The iterator function. Receives two values, the current element from the array + * and the accumulator. + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduce, R.addIndex + * @example + * + * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2 + * // - -2 + * // / \ / \ + * // 1 - 1 3 + * // / \ / \ + * // 2 - ==> 2 -1 + * // / \ / \ + * // 3 - 3 4 + * // / \ / \ + * // 4 0 4 0 + * + * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a))) + */ + +var reduceRight = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reduceRight(fn, acc, list) { + var idx = list.length - 1; + + while (idx >= 0) { + acc = fn(list[idx], acc); + idx -= 1; + } + + return acc; +}); + +/* harmony default export */ __webpack_exports__["default"] = (reduceRight); + +/***/ }), + +/***/ "./node_modules/ramda/es/reduceWhile.js": +/*!**********************************************!*\ + !*** ./node_modules/ramda/es/reduceWhile.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curryN.js */ "./node_modules/ramda/es/internal/_curryN.js"); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); + + + +/** + * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating + * through the list, successively calling the iterator function. `reduceWhile` + * also takes a predicate that is evaluated before each step. If the predicate + * returns `false`, it "short-circuits" the iteration and returns the current + * value of the accumulator. + * + * @func + * @memberOf R + * @since v0.22.0 + * @category List + * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a + * @param {Function} pred The predicate. It is passed the accumulator and the + * current element. + * @param {Function} fn The iterator function. Receives two values, the + * accumulator and the current element. + * @param {*} a The accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduce, R.reduced + * @example + * + * const isOdd = (acc, x) => x % 2 === 1; + * const xs = [1, 3, 5, 60, 777, 800]; + * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9 + * + * const ys = [2, 4, 6] + * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111 + */ + +var reduceWhile = +/*#__PURE__*/ +Object(_internal_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(4, [], function _reduceWhile(pred, fn, a, list) { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (acc, x) { + return pred(acc, x) ? fn(acc, x) : Object(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_2__["default"])(acc); + }, a, list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (reduceWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/reduced.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/reduced.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_reduced.js */ "./node_modules/ramda/es/internal/_reduced.js"); + + +/** + * Returns a value wrapped to indicate that it is the final value of the reduce + * and transduce functions. The returned value should be considered a black + * box: the internal structure is not guaranteed to be stable. + * + * Note: this optimization is only available to the below functions: + * - [`reduce`](#reduce) + * - [`reduceWhile`](#reduceWhile) + * - [`transduce`](#transduce) + * + * @func + * @memberOf R + * @since v0.15.0 + * @category List + * @sig a -> * + * @param {*} x The final value of the reduce. + * @return {*} The wrapped value. + * @see R.reduce, R.reduceWhile, R.transduce + * @example + * + * R.reduce( + * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item), + * [], + * [1, 2, 3, 4, 5]) // [1, 2, 3] + */ + +var reduced = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(_internal_reduced_js__WEBPACK_IMPORTED_MODULE_1__["default"]); + +/* harmony default export */ __webpack_exports__["default"] = (reduced); + +/***/ }), + +/***/ "./node_modules/ramda/es/reject.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/reject.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_complement_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_complement.js */ "./node_modules/ramda/es/internal/_complement.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _filter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./filter.js */ "./node_modules/ramda/es/filter.js"); + + + +/** + * The complement of [`filter`](#filter). + * + * Acts as a transducer if a transformer is given in list position. Filterable + * objects include plain objects or any object that has a filter method such + * as `Array`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Filterable f => (a -> Boolean) -> f a -> f a + * @param {Function} pred + * @param {Array} filterable + * @return {Array} + * @see R.filter, R.transduce, R.addIndex + * @example + * + * const isOdd = (n) => n % 2 === 1; + * + * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4] + * + * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4} + */ + +var reject = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function reject(pred, filterable) { + return Object(_filter_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_internal_complement_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred), filterable); +}); + +/* harmony default export */ __webpack_exports__["default"] = (reject); + +/***/ }), + +/***/ "./node_modules/ramda/es/remove.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/remove.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Removes the sub-list of `list` starting at index `start` and containing + * `count` elements. _Note that this is not destructive_: it returns a copy of + * the list with the changes. + * <small>No lists have been harmed in the application of this function.</small> + * + * @func + * @memberOf R + * @since v0.2.2 + * @category List + * @sig Number -> Number -> [a] -> [a] + * @param {Number} start The position to start removing elements + * @param {Number} count The number of elements to remove + * @param {Array} list The list to remove from + * @return {Array} A new Array with `count` elements from `start` removed. + * @see R.without + * @example + * + * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8] + */ + +var remove = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function remove(start, count, list) { + var result = Array.prototype.slice.call(list, 0); + result.splice(start, count); + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (remove); + +/***/ }), + +/***/ "./node_modules/ramda/es/repeat.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/repeat.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); +/* harmony import */ var _times_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./times.js */ "./node_modules/ramda/es/times.js"); + + + +/** + * Returns a fixed list of size `n` containing a specified identical value. + * + * @func + * @memberOf R + * @since v0.1.1 + * @category List + * @sig a -> n -> [a] + * @param {*} value The value to repeat. + * @param {Number} n The desired size of the output list. + * @return {Array} A new array containing `n` `value`s. + * @see R.times + * @example + * + * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi'] + * + * const obj = {}; + * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}] + * repeatedObjs[0] === repeatedObjs[1]; //=> true + * @symb R.repeat(a, 0) = [] + * @symb R.repeat(a, 1) = [a] + * @symb R.repeat(a, 2) = [a, a] + */ + +var repeat = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function repeat(value, n) { + return Object(_times_js__WEBPACK_IMPORTED_MODULE_2__["default"])(Object(_always_js__WEBPACK_IMPORTED_MODULE_1__["default"])(value), n); +}); + +/* harmony default export */ __webpack_exports__["default"] = (repeat); + +/***/ }), + +/***/ "./node_modules/ramda/es/replace.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/replace.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Replace a substring or regex match in a string with a replacement. + * + * The first two parameters correspond to the parameters of the + * `String.prototype.replace()` function, so the second parameter can also be a + * function. + * + * @func + * @memberOf R + * @since v0.7.0 + * @category String + * @sig RegExp|String -> String -> String -> String + * @param {RegExp|String} pattern A regular expression or a substring to match. + * @param {String} replacement The string to replace the matches with. + * @param {String} str The String to do the search and replacement in. + * @return {String} The result. + * @example + * + * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo' + * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo' + * + * // Use the "g" (global) flag to replace all occurrences: + * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar' + */ + +var replace = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function replace(regex, replacement, str) { + return str.replace(regex, replacement); +}); + +/* harmony default export */ __webpack_exports__["default"] = (replace); + +/***/ }), + +/***/ "./node_modules/ramda/es/reverse.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/reverse.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_isString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_isString.js */ "./node_modules/ramda/es/internal/_isString.js"); + + +/** + * Returns a new list or string with the elements or characters in reverse + * order. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] + * @sig String -> String + * @param {Array|String} list + * @return {Array|String} + * @example + * + * R.reverse([1, 2, 3]); //=> [3, 2, 1] + * R.reverse([1, 2]); //=> [2, 1] + * R.reverse([1]); //=> [1] + * R.reverse([]); //=> [] + * + * R.reverse('abc'); //=> 'cba' + * R.reverse('ab'); //=> 'ba' + * R.reverse('a'); //=> 'a' + * R.reverse(''); //=> '' + */ + +var reverse = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function reverse(list) { + return Object(_internal_isString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse(); +}); + +/* harmony default export */ __webpack_exports__["default"] = (reverse); + +/***/ }), + +/***/ "./node_modules/ramda/es/scan.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/scan.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Scan is similar to [`reduce`](#reduce), but returns a list of successively + * reduced values from the left + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig ((a, b) -> a) -> a -> [b] -> [a] + * @param {Function} fn The iterator function. Receives two values, the accumulator and the + * current element from the array + * @param {*} acc The accumulator value. + * @param {Array} list The list to iterate over. + * @return {Array} A list of all intermediately reduced values. + * @see R.reduce, R.mapAccum + * @example + * + * const numbers = [1, 2, 3, 4]; + * const factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24] + * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)] + */ + +var scan = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function scan(fn, acc, list) { + var idx = 0; + var len = list.length; + var result = [acc]; + + while (idx < len) { + acc = fn(acc, list[idx]); + result[idx + 1] = acc; + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (scan); + +/***/ }), + +/***/ "./node_modules/ramda/es/sequence.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/sequence.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _ap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ap.js */ "./node_modules/ramda/es/ap.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony import */ var _prepend_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./prepend.js */ "./node_modules/ramda/es/prepend.js"); +/* harmony import */ var _reduceRight_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./reduceRight.js */ "./node_modules/ramda/es/reduceRight.js"); + + + + + +/** + * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable) + * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an + * Applicative of Traversable. + * + * Dispatches to the `sequence` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a) + * @param {Function} of + * @param {*} traversable + * @return {*} + * @see R.traverse + * @example + * + * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3]) + * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing() + * + * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)] + * R.sequence(R.of, Nothing()); //=> [Nothing()] + */ + +var sequence = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sequence(of, traversable) { + return typeof traversable.sequence === 'function' ? traversable.sequence(of) : Object(_reduceRight_js__WEBPACK_IMPORTED_MODULE_4__["default"])(function (x, acc) { + return Object(_ap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_prepend_js__WEBPACK_IMPORTED_MODULE_3__["default"], x), acc); + }, of([]), traversable); +}); + +/* harmony default export */ __webpack_exports__["default"] = (sequence); + +/***/ }), + +/***/ "./node_modules/ramda/es/set.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/set.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); +/* harmony import */ var _over_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./over.js */ "./node_modules/ramda/es/over.js"); + + + +/** + * Returns the result of "setting" the portion of the given data structure + * focused by the given lens to the given value. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig Lens s a -> a -> s -> s + * @param {Lens} lens + * @param {*} v + * @param {*} x + * @return {*} + * @see R.prop, R.lensIndex, R.lensProp + * @example + * + * const xLens = R.lensProp('x'); + * + * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2} + * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2} + */ + +var set = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function set(lens, v, x) { + return Object(_over_js__WEBPACK_IMPORTED_MODULE_2__["default"])(lens, Object(_always_js__WEBPACK_IMPORTED_MODULE_1__["default"])(v), x); +}); + +/* harmony default export */ __webpack_exports__["default"] = (set); + +/***/ }), + +/***/ "./node_modules/ramda/es/slice.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/slice.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + + +/** + * Returns the elements of the given list or string (or object with a `slice` + * method) from `fromIndex` (inclusive) to `toIndex` (exclusive). + * + * Dispatches to the `slice` method of the third argument, if present. + * + * @func + * @memberOf R + * @since v0.1.4 + * @category List + * @sig Number -> Number -> [a] -> [a] + * @sig Number -> Number -> String -> String + * @param {Number} fromIndex The start index (inclusive). + * @param {Number} toIndex The end index (exclusive). + * @param {*} list + * @return {*} + * @example + * + * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] + * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd'] + * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c'] + * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c'] + * R.slice(0, 3, 'ramda'); //=> 'ram' + */ + +var slice = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('slice', function slice(fromIndex, toIndex, list) { + return Array.prototype.slice.call(list, fromIndex, toIndex); +})); + +/* harmony default export */ __webpack_exports__["default"] = (slice); + +/***/ }), + +/***/ "./node_modules/ramda/es/sort.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/sort.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Returns a copy of the list, sorted according to the comparator function, + * which should accept two values at a time and return a negative number if the + * first value is smaller, a positive number if it's larger, and zero if they + * are equal. Please note that this is a **copy** of the list. It does not + * modify the original. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, a) -> Number) -> [a] -> [a] + * @param {Function} comparator A sorting function :: a -> b -> Int + * @param {Array} list The list to sort + * @return {Array} a new array with its elements sorted by the comparator function. + * @example + * + * const diff = function(a, b) { return a - b; }; + * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7] + */ + +var sort = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sort(comparator, list) { + return Array.prototype.slice.call(list, 0).sort(comparator); +}); + +/* harmony default export */ __webpack_exports__["default"] = (sort); + +/***/ }), + +/***/ "./node_modules/ramda/es/sortBy.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/sortBy.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Sorts the list according to the supplied function. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig Ord b => (a -> b) -> [a] -> [a] + * @param {Function} fn + * @param {Array} list The list to sort. + * @return {Array} A new list sorted by the keys generated by `fn`. + * @example + * + * const sortByFirstItem = R.sortBy(R.prop(0)); + * const pairs = [[-1, 1], [-2, 2], [-3, 3]]; + * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]] + * + * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name'))); + * const alice = { + * name: 'ALICE', + * age: 101 + * }; + * const bob = { + * name: 'Bob', + * age: -10 + * }; + * const clara = { + * name: 'clara', + * age: 314.159 + * }; + * const people = [clara, bob, alice]; + * sortByNameCaseInsensitive(people); //=> [alice, bob, clara] + */ + +var sortBy = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sortBy(fn, list) { + return Array.prototype.slice.call(list, 0).sort(function (a, b) { + var aa = fn(a); + var bb = fn(b); + return aa < bb ? -1 : aa > bb ? 1 : 0; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (sortBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/sortWith.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/sortWith.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Sorts a list according to a list of comparators. + * + * @func + * @memberOf R + * @since v0.23.0 + * @category Relation + * @sig [(a, a) -> Number] -> [a] -> [a] + * @param {Array} functions A list of comparator functions. + * @param {Array} list The list to sort. + * @return {Array} A new list sorted according to the comarator functions. + * @example + * + * const alice = { + * name: 'alice', + * age: 40 + * }; + * const bob = { + * name: 'bob', + * age: 30 + * }; + * const clara = { + * name: 'clara', + * age: 40 + * }; + * const people = [clara, bob, alice]; + * const ageNameSort = R.sortWith([ + * R.descend(R.prop('age')), + * R.ascend(R.prop('name')) + * ]); + * ageNameSort(people); //=> [alice, clara, bob] + */ + +var sortWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function sortWith(fns, list) { + return Array.prototype.slice.call(list, 0).sort(function (a, b) { + var result = 0; + var i = 0; + + while (result === 0 && i < fns.length) { + result = fns[i](a, b); + i += 1; + } + + return result; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (sortWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/split.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/split.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); + +/** + * Splits a string into an array of strings based on the given + * separator. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category String + * @sig (String | RegExp) -> String -> [String] + * @param {String|RegExp} sep The pattern. + * @param {String} str The string to separate into an array. + * @return {Array} The array of strings from `str` separated by `sep`. + * @see R.join + * @example + * + * const pathComponents = R.split('/'); + * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node'] + * + * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd'] + */ + +var split = +/*#__PURE__*/ +Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(1, 'split'); +/* harmony default export */ __webpack_exports__["default"] = (split); + +/***/ }), + +/***/ "./node_modules/ramda/es/splitAt.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/splitAt.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _length_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./length.js */ "./node_modules/ramda/es/length.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + +/** + * Splits a given list or string at a given index. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig Number -> [a] -> [[a], [a]] + * @sig Number -> String -> [String, String] + * @param {Number} index The index where the array/string is split. + * @param {Array|String} array The array/string to be split. + * @return {Array} + * @example + * + * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]] + * R.splitAt(5, 'hello world'); //=> ['hello', ' world'] + * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r'] + */ + +var splitAt = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitAt(index, array) { + return [Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(0, index, array), Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(index, Object(_length_js__WEBPACK_IMPORTED_MODULE_1__["default"])(array), array)]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (splitAt); + +/***/ }), + +/***/ "./node_modules/ramda/es/splitEvery.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/splitEvery.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + +/** + * Splits a collection into slices of the specified length. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig Number -> [a] -> [[a]] + * @sig Number -> String -> [String] + * @param {Number} n + * @param {Array} list + * @return {Array} + * @example + * + * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]] + * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz'] + */ + +var splitEvery = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitEvery(n, list) { + if (n <= 0) { + throw new Error('First argument to splitEvery must be a positive integer'); + } + + var result = []; + var idx = 0; + + while (idx < list.length) { + result.push(Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, idx += n, list)); + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (splitEvery); + +/***/ }), + +/***/ "./node_modules/ramda/es/splitWhen.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/splitWhen.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Takes a list and a predicate and returns a pair of lists with the following properties: + * + * - the result of concatenating the two output lists is equivalent to the input list; + * - none of the elements of the first output list satisfies the predicate; and + * - if the second output list is non-empty, its first element satisfies the predicate. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [[a], [a]] + * @param {Function} pred The predicate that determines where the array is split. + * @param {Array} list The array to be split. + * @return {Array} + * @example + * + * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]] + */ + +var splitWhen = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function splitWhen(pred, list) { + var idx = 0; + var len = list.length; + var prefix = []; + + while (idx < len && !pred(list[idx])) { + prefix.push(list[idx]); + idx += 1; + } + + return [prefix, Array.prototype.slice.call(list, idx)]; +}); + +/* harmony default export */ __webpack_exports__["default"] = (splitWhen); + +/***/ }), + +/***/ "./node_modules/ramda/es/startsWith.js": +/*!*********************************************!*\ + !*** ./node_modules/ramda/es/startsWith.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); +/* harmony import */ var _take_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./take.js */ "./node_modules/ramda/es/take.js"); + + + +/** + * Checks if a list starts with the provided sublist. + * + * Similarly, checks if a string starts with the provided substring. + * + * @func + * @memberOf R + * @since v0.24.0 + * @category List + * @sig [a] -> [a] -> Boolean + * @sig String -> String -> Boolean + * @param {*} prefix + * @param {*} list + * @return {Boolean} + * @see R.endsWith + * @example + * + * R.startsWith('a', 'abc') //=> true + * R.startsWith('b', 'abc') //=> false + * R.startsWith(['a'], ['a', 'b', 'c']) //=> true + * R.startsWith(['b'], ['a', 'b', 'c']) //=> false + */ + +var startsWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function (prefix, list) { + return Object(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_take_js__WEBPACK_IMPORTED_MODULE_2__["default"])(prefix.length, list), prefix); +}); + +/* harmony default export */ __webpack_exports__["default"] = (startsWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/subtract.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/subtract.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Subtracts its second argument from its first argument. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig Number -> Number -> Number + * @param {Number} a The first value. + * @param {Number} b The second value. + * @return {Number} The result of `a - b`. + * @see R.add + * @example + * + * R.subtract(10, 8); //=> 2 + * + * const minus5 = R.subtract(R.__, 5); + * minus5(17); //=> 12 + * + * const complementaryAngle = R.subtract(90); + * complementaryAngle(30); //=> 60 + * complementaryAngle(72); //=> 18 + */ + +var subtract = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function subtract(a, b) { + return Number(a) - Number(b); +}); + +/* harmony default export */ __webpack_exports__["default"] = (subtract); + +/***/ }), + +/***/ "./node_modules/ramda/es/sum.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/sum.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./add.js */ "./node_modules/ramda/es/add.js"); +/* harmony import */ var _reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./reduce.js */ "./node_modules/ramda/es/reduce.js"); + + +/** + * Adds together all the elements of a list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Math + * @sig [Number] -> Number + * @param {Array} list An array of numbers + * @return {Number} The sum of all the numbers in the list. + * @see R.reduce + * @example + * + * R.sum([2,4,6,8,100,1]); //=> 121 + */ + +var sum = +/*#__PURE__*/ +Object(_reduce_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_add_js__WEBPACK_IMPORTED_MODULE_0__["default"], 0); +/* harmony default export */ __webpack_exports__["default"] = (sum); + +/***/ }), + +/***/ "./node_modules/ramda/es/symmetricDifference.js": +/*!******************************************************!*\ + !*** ./node_modules/ramda/es/symmetricDifference.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); +/* harmony import */ var _difference_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./difference.js */ "./node_modules/ramda/es/difference.js"); + + + +/** + * Finds the set (i.e. no duplicates) of all elements contained in the first or + * second list, but not both. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` or `list2`, but not both. + * @see R.symmetricDifferenceWith, R.difference, R.differenceWith + * @example + * + * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5] + * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2] + */ + +var symmetricDifference = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function symmetricDifference(list1, list2) { + return Object(_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_difference_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list1, list2), Object(_difference_js__WEBPACK_IMPORTED_MODULE_2__["default"])(list2, list1)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (symmetricDifference); + +/***/ }), + +/***/ "./node_modules/ramda/es/symmetricDifferenceWith.js": +/*!**********************************************************!*\ + !*** ./node_modules/ramda/es/symmetricDifferenceWith.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./concat.js */ "./node_modules/ramda/es/concat.js"); +/* harmony import */ var _differenceWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./differenceWith.js */ "./node_modules/ramda/es/differenceWith.js"); + + + +/** + * Finds the set (i.e. no duplicates) of all elements contained in the first or + * second list, but not both. Duplication is determined according to the value + * returned by applying the supplied predicate to two list elements. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category Relation + * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The elements in `list1` or `list2`, but not both. + * @see R.symmetricDifference, R.difference, R.differenceWith + * @example + * + * const eqA = R.eqBy(R.prop('a')); + * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}]; + * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}]; + * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}] + */ + +var symmetricDifferenceWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function symmetricDifferenceWith(pred, list1, list2) { + return Object(_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_differenceWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, list1, list2), Object(_differenceWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, list2, list1)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (symmetricDifferenceWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/tail.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/tail.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_checkForMethod.js */ "./node_modules/ramda/es/internal/_checkForMethod.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + +/** + * Returns all but the first element of the given list or string (or object + * with a `tail` method). + * + * Dispatches to the `slice` method of the first argument, if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] + * @sig String -> String + * @param {*} list + * @return {*} + * @see R.head, R.init, R.last + * @example + * + * R.tail([1, 2, 3]); //=> [2, 3] + * R.tail([1, 2]); //=> [2] + * R.tail([1]); //=> [] + * R.tail([]); //=> [] + * + * R.tail('abc'); //=> 'bc' + * R.tail('ab'); //=> 'b' + * R.tail('a'); //=> '' + * R.tail(''); //=> '' + */ + +var tail = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_internal_checkForMethod_js__WEBPACK_IMPORTED_MODULE_0__["default"])('tail', +/*#__PURE__*/ +Object(_slice_js__WEBPACK_IMPORTED_MODULE_2__["default"])(1, Infinity))); + +/* harmony default export */ __webpack_exports__["default"] = (tail); + +/***/ }), + +/***/ "./node_modules/ramda/es/take.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/take.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtake.js */ "./node_modules/ramda/es/internal/_xtake.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + + +/** + * Returns the first `n` elements of the given list, string, or + * transducer/transformer (or object with a `take` method). + * + * Dispatches to the `take` method of the second argument, if present. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n + * @param {*} list + * @return {*} + * @see R.drop + * @example + * + * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo'] + * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar'] + * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.take(3, 'ramda'); //=> 'ram' + * + * const personnel = [ + * 'Dave Brubeck', + * 'Paul Desmond', + * 'Eugene Wright', + * 'Joe Morello', + * 'Gerry Mulligan', + * 'Bob Bates', + * 'Joe Dodge', + * 'Ron Crotty' + * ]; + * + * const takeFive = R.take(5); + * takeFive(personnel); + * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan'] + * @symb R.take(-1, [a, b]) = [a, b] + * @symb R.take(0, [a, b]) = [] + * @symb R.take(1, [a, b]) = [a] + * @symb R.take(2, [a, b]) = [a, b] + */ + +var take = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['take'], _internal_xtake_js__WEBPACK_IMPORTED_MODULE_2__["default"], function take(n, xs) { + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(0, n < 0 ? Infinity : n, xs); +})); + +/* harmony default export */ __webpack_exports__["default"] = (take); + +/***/ }), + +/***/ "./node_modules/ramda/es/takeLast.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/takeLast.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _drop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./drop.js */ "./node_modules/ramda/es/drop.js"); + + +/** + * Returns a new list containing the last `n` elements of the given list. + * If `n > list.length`, returns a list of `list.length` elements. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig Number -> [a] -> [a] + * @sig Number -> String -> String + * @param {Number} n The number of elements to return. + * @param {Array} xs The collection to consider. + * @return {Array} + * @see R.dropLast + * @example + * + * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz'] + * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz'] + * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz'] + * R.takeLast(3, 'ramda'); //=> 'mda' + */ + +var takeLast = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function takeLast(n, xs) { + return Object(_drop_js__WEBPACK_IMPORTED_MODULE_1__["default"])(n >= 0 ? xs.length - n : 0, xs); +}); + +/* harmony default export */ __webpack_exports__["default"] = (takeLast); + +/***/ }), + +/***/ "./node_modules/ramda/es/takeLastWhile.js": +/*!************************************************!*\ + !*** ./node_modules/ramda/es/takeLastWhile.js ***! + \************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + +/** + * Returns a new list containing the last `n` elements of a given list, passing + * each value to the supplied predicate function, and terminating when the + * predicate function returns `false`. Excludes the element that caused the + * predicate function to fail. The predicate function is passed one argument: + * *(value)*. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} fn The function called per iteration. + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array. + * @see R.dropLastWhile, R.addIndex + * @example + * + * const isNotOne = x => x !== 1; + * + * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4] + * + * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda' + */ + +var takeLastWhile = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function takeLastWhile(fn, xs) { + var idx = xs.length - 1; + + while (idx >= 0 && fn(xs[idx])) { + idx -= 1; + } + + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx + 1, Infinity, xs); +}); + +/* harmony default export */ __webpack_exports__["default"] = (takeLastWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/takeWhile.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/takeWhile.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xtakeWhile_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtakeWhile.js */ "./node_modules/ramda/es/internal/_xtakeWhile.js"); +/* harmony import */ var _slice_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./slice.js */ "./node_modules/ramda/es/slice.js"); + + + + +/** + * Returns a new list containing the first `n` elements of a given list, + * passing each value to the supplied predicate function, and terminating when + * the predicate function returns `false`. Excludes the element that caused the + * predicate function to fail. The predicate function is passed one argument: + * *(value)*. + * + * Dispatches to the `takeWhile` method of the second argument, if present. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig (a -> Boolean) -> [a] -> [a] + * @sig (a -> Boolean) -> String -> String + * @param {Function} fn The function called per iteration. + * @param {Array} xs The collection to iterate over. + * @return {Array} A new array. + * @see R.dropWhile, R.transduce, R.addIndex + * @example + * + * const isNotFour = x => x !== 4; + * + * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3] + * + * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram' + */ + +var takeWhile = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])(['takeWhile'], _internal_xtakeWhile_js__WEBPACK_IMPORTED_MODULE_2__["default"], function takeWhile(fn, xs) { + var idx = 0; + var len = xs.length; + + while (idx < len && fn(xs[idx])) { + idx += 1; + } + + return Object(_slice_js__WEBPACK_IMPORTED_MODULE_3__["default"])(0, idx, xs); +})); + +/* harmony default export */ __webpack_exports__["default"] = (takeWhile); + +/***/ }), + +/***/ "./node_modules/ramda/es/tap.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/tap.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_dispatchable.js */ "./node_modules/ramda/es/internal/_dispatchable.js"); +/* harmony import */ var _internal_xtap_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_xtap.js */ "./node_modules/ramda/es/internal/_xtap.js"); + + + +/** + * Runs the given function with the supplied object, then returns the object. + * + * Acts as a transducer if a transformer is given as second parameter. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig (a -> *) -> a -> a + * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away. + * @param {*} x + * @return {*} `x`. + * @example + * + * const sayX = x => console.log('x is ' + x); + * R.tap(sayX, 100); //=> 100 + * // logs 'x is 100' + * @symb R.tap(f, a) = a + */ + +var tap = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])( +/*#__PURE__*/ +Object(_internal_dispatchable_js__WEBPACK_IMPORTED_MODULE_1__["default"])([], _internal_xtap_js__WEBPACK_IMPORTED_MODULE_2__["default"], function tap(fn, x) { + fn(x); + return x; +})); + +/* harmony default export */ __webpack_exports__["default"] = (tap); + +/***/ }), + +/***/ "./node_modules/ramda/es/test.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/test.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_cloneRegExp.js */ "./node_modules/ramda/es/internal/_cloneRegExp.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_isRegExp.js */ "./node_modules/ramda/es/internal/_isRegExp.js"); +/* harmony import */ var _toString_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./toString.js */ "./node_modules/ramda/es/toString.js"); + + + + +/** + * Determines whether a given string matches a given regular expression. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category String + * @sig RegExp -> String -> Boolean + * @param {RegExp} pattern + * @param {String} str + * @return {Boolean} + * @see R.match + * @example + * + * R.test(/^x/, 'xyz'); //=> true + * R.test(/^y/, 'xyz'); //=> false + */ + +var test = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function test(pattern, str) { + if (!Object(_internal_isRegExp_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pattern)) { + throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + Object(_toString_js__WEBPACK_IMPORTED_MODULE_3__["default"])(pattern)); + } + + return Object(_internal_cloneRegExp_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pattern).test(str); +}); + +/* harmony default export */ __webpack_exports__["default"] = (test); + +/***/ }), + +/***/ "./node_modules/ramda/es/thunkify.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/thunkify.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + + +/** + * Creates a thunk out of a function. A thunk delays a calculation until + * its result is needed, providing lazy evaluation of arguments. + * + * @func + * @memberOf R + * @since v0.26.0 + * @category Function + * @sig ((a, b, ..., j) -> k) -> (a, b, ..., j) -> (() -> k) + * @param {Function} fn A function to wrap in a thunk + * @return {Function} Expects arguments for `fn` and returns a new function + * that, when called, applies those arguments to `fn`. + * @see R.partial, R.partialRight + * @example + * + * R.thunkify(R.identity)(42)(); //=> 42 + * R.thunkify((a, b) => a + b)(25, 17)(); //=> 42 + */ + +var thunkify = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function thunkify(fn) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_0__["default"])(fn.length, function createThunk() { + var fnArgs = arguments; + return function invokeThunk() { + return fn.apply(this, fnArgs); + }; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (thunkify); + +/***/ }), + +/***/ "./node_modules/ramda/es/times.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/times.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Calls an input function `n` times, returning an array containing the results + * of those function calls. + * + * `fn` is passed one argument: The current value of `n`, which begins at `0` + * and is gradually incremented to `n - 1`. + * + * @func + * @memberOf R + * @since v0.2.3 + * @category List + * @sig (Number -> a) -> Number -> [a] + * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`. + * @param {Number} n A value between `0` and `n - 1`. Increments after each function call. + * @return {Array} An array containing the return values of all calls to `fn`. + * @see R.repeat + * @example + * + * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4] + * @symb R.times(f, 0) = [] + * @symb R.times(f, 1) = [f(0)] + * @symb R.times(f, 2) = [f(0), f(1)] + */ + +var times = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function times(fn, n) { + var len = Number(n); + var idx = 0; + var list; + + if (len < 0 || isNaN(len)) { + throw new RangeError('n must be a non-negative number'); + } + + list = new Array(len); + + while (idx < len) { + list[idx] = fn(idx); + idx += 1; + } + + return list; +}); + +/* harmony default export */ __webpack_exports__["default"] = (times); + +/***/ }), + +/***/ "./node_modules/ramda/es/toLower.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/toLower.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); + +/** + * The lower case version of a string. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category String + * @sig String -> String + * @param {String} str The string to lower case. + * @return {String} The lower case version of `str`. + * @see R.toUpper + * @example + * + * R.toLower('XYZ'); //=> 'xyz' + */ + +var toLower = +/*#__PURE__*/ +Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, 'toLowerCase'); +/* harmony default export */ __webpack_exports__["default"] = (toLower); + +/***/ }), + +/***/ "./node_modules/ramda/es/toPairs.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/toPairs.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); + + +/** + * Converts an object into an array of key, value arrays. Only the object's + * own properties are used. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. + * + * @func + * @memberOf R + * @since v0.4.0 + * @category Object + * @sig {String: *} -> [[String,*]] + * @param {Object} obj The object to extract from + * @return {Array} An array of key, value arrays from the object's own properties. + * @see R.fromPairs + * @example + * + * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]] + */ + +var toPairs = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toPairs(obj) { + var pairs = []; + + for (var prop in obj) { + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, obj)) { + pairs[pairs.length] = [prop, obj[prop]]; + } + } + + return pairs; +}); + +/* harmony default export */ __webpack_exports__["default"] = (toPairs); + +/***/ }), + +/***/ "./node_modules/ramda/es/toPairsIn.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/toPairsIn.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Converts an object into an array of key, value arrays. The object's own + * properties and prototype properties are used. Note that the order of the + * output array is not guaranteed to be consistent across different JS + * platforms. + * + * @func + * @memberOf R + * @since v0.4.0 + * @category Object + * @sig {String: *} -> [[String,*]] + * @param {Object} obj The object to extract from + * @return {Array} An array of key, value arrays from the object's own + * and prototype properties. + * @example + * + * const F = function() { this.x = 'X'; }; + * F.prototype.y = 'Y'; + * const f = new F(); + * R.toPairsIn(f); //=> [['x','X'], ['y','Y']] + */ + +var toPairsIn = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toPairsIn(obj) { + var pairs = []; + + for (var prop in obj) { + pairs[pairs.length] = [prop, obj[prop]]; + } + + return pairs; +}); + +/* harmony default export */ __webpack_exports__["default"] = (toPairsIn); + +/***/ }), + +/***/ "./node_modules/ramda/es/toString.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/toString.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _internal_toString_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_toString.js */ "./node_modules/ramda/es/internal/_toString.js"); + + +/** + * Returns the string representation of the given value. `eval`'ing the output + * should result in a value equivalent to the input value. Many of the built-in + * `toString` methods do not satisfy this requirement. + * + * If the given value is an `[object Object]` with a `toString` method other + * than `Object.prototype.toString`, this method is invoked with no arguments + * to produce the return value. This means user-defined constructor functions + * can provide a suitable `toString` method. For example: + * + * function Point(x, y) { + * this.x = x; + * this.y = y; + * } + * + * Point.prototype.toString = function() { + * return 'new Point(' + this.x + ', ' + this.y + ')'; + * }; + * + * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)' + * + * @func + * @memberOf R + * @since v0.14.0 + * @category String + * @sig * -> String + * @param {*} val + * @return {String} + * @example + * + * R.toString(42); //=> '42' + * R.toString('abc'); //=> '"abc"' + * R.toString([1, 2, 3]); //=> '[1, 2, 3]' + * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{"bar": 2, "baz": 3, "foo": 1}' + * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date("2001-02-03T04:05:06.000Z")' + */ + +var toString = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function toString(val) { + return Object(_internal_toString_js__WEBPACK_IMPORTED_MODULE_1__["default"])(val, []); +}); + +/* harmony default export */ __webpack_exports__["default"] = (toString); + +/***/ }), + +/***/ "./node_modules/ramda/es/toUpper.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/toUpper.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _invoker_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invoker.js */ "./node_modules/ramda/es/invoker.js"); + +/** + * The upper case version of a string. + * + * @func + * @memberOf R + * @since v0.9.0 + * @category String + * @sig String -> String + * @param {String} str The string to upper case. + * @return {String} The upper case version of `str`. + * @see R.toLower + * @example + * + * R.toUpper('abc'); //=> 'ABC' + */ + +var toUpper = +/*#__PURE__*/ +Object(_invoker_js__WEBPACK_IMPORTED_MODULE_0__["default"])(0, 'toUpperCase'); +/* harmony default export */ __webpack_exports__["default"] = (toUpper); + +/***/ }), + +/***/ "./node_modules/ramda/es/transduce.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/transduce.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_reduce.js */ "./node_modules/ramda/es/internal/_reduce.js"); +/* harmony import */ var _internal_xwrap_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_xwrap.js */ "./node_modules/ramda/es/internal/_xwrap.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + + +/** + * Initializes a transducer using supplied iterator function. Returns a single + * item by iterating through the list, successively calling the transformed + * iterator function and passing it an accumulator value and the current value + * from the array, and then passing the result to the next call. + * + * The iterator function receives two values: *(acc, value)*. It will be + * wrapped as a transformer to initialize the transducer. A transformer can be + * passed directly in place of an iterator function. In both cases, iteration + * may be stopped early with the [`R.reduced`](#reduced) function. + * + * A transducer is a function that accepts a transformer and returns a + * transformer and can be composed directly. + * + * A transformer is an an object that provides a 2-arity reducing iterator + * function, step, 0-arity initial value function, init, and 1-arity result + * extraction function, result. The step function is used as the iterator + * function in reduce. The result function is used to convert the final + * accumulator into the return type and in most cases is + * [`R.identity`](#identity). The init function can be used to provide an + * initial accumulator, but is ignored by transduce. + * + * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer. + * + * @func + * @memberOf R + * @since v0.12.0 + * @category List + * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a + * @param {Function} xf The transducer function. Receives a transformer and returns a transformer. + * @param {Function} fn The iterator function. Receives two values, the accumulator and the + * current element from the array. Wrapped as transformer, if necessary, and used to + * initialize the transducer + * @param {*} acc The initial accumulator value. + * @param {Array} list The list to iterate over. + * @return {*} The final, accumulated value. + * @see R.reduce, R.reduced, R.into + * @example + * + * const numbers = [1, 2, 3, 4]; + * const transducer = R.compose(R.map(R.add(1)), R.take(2)); + * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3] + * + * const isOdd = (x) => x % 2 === 1; + * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1)); + * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1] + */ + +var transduce = +/*#__PURE__*/ +Object(_curryN_js__WEBPACK_IMPORTED_MODULE_2__["default"])(4, function transduce(xf, fn, acc, list) { + return Object(_internal_reduce_js__WEBPACK_IMPORTED_MODULE_0__["default"])(xf(typeof fn === 'function' ? Object(_internal_xwrap_js__WEBPACK_IMPORTED_MODULE_1__["default"])(fn) : fn), acc, list); +}); +/* harmony default export */ __webpack_exports__["default"] = (transduce); + +/***/ }), + +/***/ "./node_modules/ramda/es/transpose.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/transpose.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Transposes the rows and columns of a 2D list. + * When passed a list of `n` lists of length `x`, + * returns a list of `x` lists of length `n`. + * + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig [[a]] -> [[a]] + * @param {Array} list A 2D list + * @return {Array} A 2D list + * @example + * + * R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']] + * R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']] + * + * // If some of the rows are shorter than the following rows, their elements are skipped: + * R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]] + * @symb R.transpose([[a], [b], [c]]) = [a, b, c] + * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]] + * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]] + */ + +var transpose = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function transpose(outerlist) { + var i = 0; + var result = []; + + while (i < outerlist.length) { + var innerlist = outerlist[i]; + var j = 0; + + while (j < innerlist.length) { + if (typeof result[j] === 'undefined') { + result[j] = []; + } + + result[j].push(innerlist[j]); + j += 1; + } + + i += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (transpose); + +/***/ }), + +/***/ "./node_modules/ramda/es/traverse.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/traverse.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony import */ var _sequence_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./sequence.js */ "./node_modules/ramda/es/sequence.js"); + + + +/** + * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning + * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable), + * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative + * into an Applicative of Traversable. + * + * Dispatches to the `traverse` method of the third argument, if present. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b) + * @param {Function} of + * @param {Function} f + * @param {*} traversable + * @return {*} + * @see R.sequence + * @example + * + * // Returns `Maybe.Nothing` if the given divisor is `0` + * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d) + * + * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2]) + * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing + */ + +var traverse = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function traverse(of, f, traversable) { + return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : Object(_sequence_js__WEBPACK_IMPORTED_MODULE_2__["default"])(of, Object(_map_js__WEBPACK_IMPORTED_MODULE_1__["default"])(f, traversable)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (traverse); + +/***/ }), + +/***/ "./node_modules/ramda/es/trim.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/trim.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +var ws = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028' + '\u2029\uFEFF'; +var zeroWidth = '\u200b'; +var hasProtoTrim = typeof String.prototype.trim === 'function'; +/** + * Removes (strips) whitespace from both ends of the string. + * + * @func + * @memberOf R + * @since v0.6.0 + * @category String + * @sig String -> String + * @param {String} str The string to trim. + * @return {String} Trimmed version of `str`. + * @example + * + * R.trim(' xyz '); //=> 'xyz' + * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z'] + */ + +var trim = !hasProtoTrim || +/*#__PURE__*/ +ws.trim() || ! +/*#__PURE__*/ +zeroWidth.trim() ? +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { + var beginRx = new RegExp('^[' + ws + '][' + ws + ']*'); + var endRx = new RegExp('[' + ws + '][' + ws + ']*$'); + return str.replace(beginRx, '').replace(endRx, ''); +}) : +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function trim(str) { + return str.trim(); +}); +/* harmony default export */ __webpack_exports__["default"] = (trim); + +/***/ }), + +/***/ "./node_modules/ramda/es/tryCatch.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/tryCatch.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_arity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_arity.js */ "./node_modules/ramda/es/internal/_arity.js"); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + + +/** + * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned + * function evaluates the `tryer`; if it does not throw, it simply returns the + * result. If the `tryer` *does* throw, the returned function evaluates the + * `catcher` function and returns its result. Note that for effective + * composition with this function, both the `tryer` and `catcher` functions + * must return the same type of results. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Function + * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a) + * @param {Function} tryer The function that may throw. + * @param {Function} catcher The function that will be evaluated if `tryer` throws. + * @return {Function} A new function that will catch exceptions and send then to the catcher. + * @example + * + * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true + * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched' + * R.tryCatch(R.times(R.identity), R.always([]))('s') // => [] + * R.tryCatch(() => { throw 'this is not a valid value'}, (err, value)=>({error : err, value }))('bar') // => {'error': 'this is not a valid value', 'value': 'bar'} + */ + +var tryCatch = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_2__["default"])(function _tryCatch(tryer, catcher) { + return Object(_internal_arity_js__WEBPACK_IMPORTED_MODULE_0__["default"])(tryer.length, function () { + try { + return tryer.apply(this, arguments); + } catch (e) { + return catcher.apply(this, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_1__["default"])([e], arguments)); + } + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (tryCatch); + +/***/ }), + +/***/ "./node_modules/ramda/es/type.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/type.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Gives a single-word string description of the (native) type of a value, + * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not + * attempt to distinguish user Object types any further, reporting them all as + * 'Object'. + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Type + * @sig (* -> {*}) -> String + * @param {*} val The value to test + * @return {String} + * @example + * + * R.type({}); //=> "Object" + * R.type(1); //=> "Number" + * R.type(false); //=> "Boolean" + * R.type('s'); //=> "String" + * R.type(null); //=> "Null" + * R.type([]); //=> "Array" + * R.type(/[A-z]/); //=> "RegExp" + * R.type(() => {}); //=> "Function" + * R.type(undefined); //=> "Undefined" + */ + +var type = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function type(val) { + return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1); +}); + +/* harmony default export */ __webpack_exports__["default"] = (type); + +/***/ }), + +/***/ "./node_modules/ramda/es/unapply.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/unapply.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Takes a function `fn`, which takes a single array argument, and returns a + * function which: + * + * - takes any number of positional arguments; + * - passes these arguments to `fn` as an array; and + * - returns the result. + * + * In other words, `R.unapply` derives a variadic function from a function which + * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply). + * + * @func + * @memberOf R + * @since v0.8.0 + * @category Function + * @sig ([*...] -> a) -> (*... -> a) + * @param {Function} fn + * @return {Function} + * @see R.apply + * @example + * + * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]' + * @symb R.unapply(f)(a, b) = f([a, b]) + */ + +var unapply = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unapply(fn) { + return function () { + return fn(Array.prototype.slice.call(arguments, 0)); + }; +}); + +/* harmony default export */ __webpack_exports__["default"] = (unapply); + +/***/ }), + +/***/ "./node_modules/ramda/es/unary.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/unary.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _nAry_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./nAry.js */ "./node_modules/ramda/es/nAry.js"); + + +/** + * Wraps a function of any arity (including nullary) in a function that accepts + * exactly 1 parameter. Any extraneous parameters will not be passed to the + * supplied function. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category Function + * @sig (* -> b) -> (a -> b) + * @param {Function} fn The function to wrap. + * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of + * arity 1. + * @see R.binary, R.nAry + * @example + * + * const takesTwoArgs = function(a, b) { + * return [a, b]; + * }; + * takesTwoArgs.length; //=> 2 + * takesTwoArgs(1, 2); //=> [1, 2] + * + * const takesOneArg = R.unary(takesTwoArgs); + * takesOneArg.length; //=> 1 + * // Only 1 argument is passed to the wrapped function + * takesOneArg(1, 2); //=> [1, undefined] + * @symb R.unary(f)(a, b, c) = f(a) + */ + +var unary = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unary(fn) { + return Object(_nAry_js__WEBPACK_IMPORTED_MODULE_1__["default"])(1, fn); +}); + +/* harmony default export */ __webpack_exports__["default"] = (unary); + +/***/ }), + +/***/ "./node_modules/ramda/es/uncurryN.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/uncurryN.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + +/** + * Returns a function of arity `n` from a (manually) curried function. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Function + * @sig Number -> (a -> b) -> (a -> c) + * @param {Number} length The arity for the returned function. + * @param {Function} fn The function to uncurry. + * @return {Function} A new function. + * @see R.curry + * @example + * + * const addFour = a => b => c => d => a + b + c + d; + * + * const uncurriedAddFour = R.uncurryN(4, addFour); + * uncurriedAddFour(1, 2, 3, 4); //=> 10 + */ + +var uncurryN = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function uncurryN(depth, fn) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(depth, function () { + var currentDepth = 1; + var value = fn; + var idx = 0; + var endIdx; + + while (currentDepth <= depth && typeof value === 'function') { + endIdx = currentDepth === depth ? arguments.length : idx + value.length; + value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx)); + currentDepth += 1; + idx = endIdx; + } + + return value; + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (uncurryN); + +/***/ }), + +/***/ "./node_modules/ramda/es/unfold.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/unfold.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Builds a list from a seed value. Accepts an iterator function, which returns + * either false to stop iteration or an array of length 2 containing the value + * to add to the resulting list and the seed to be used in the next call to the + * iterator function. + * + * The iterator function receives one argument: *(seed)*. + * + * @func + * @memberOf R + * @since v0.10.0 + * @category List + * @sig (a -> [b]) -> * -> [b] + * @param {Function} fn The iterator function. receives one argument, `seed`, and returns + * either false to quit iteration or an array of length two to proceed. The element + * at index 0 of this array will be added to the resulting array, and the element + * at index 1 will be passed to the next call to `fn`. + * @param {*} seed The seed value. + * @return {Array} The final list. + * @example + * + * const f = n => n > 50 ? false : [-n, n + 10]; + * R.unfold(f, 10); //=> [-10, -20, -30, -40, -50] + * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...] + */ + +var unfold = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unfold(fn, seed) { + var pair = fn(seed); + var result = []; + + while (pair && pair.length) { + result[result.length] = pair[0]; + pair = fn(pair[1]); + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (unfold); + +/***/ }), + +/***/ "./node_modules/ramda/es/union.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/union.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _compose_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./compose.js */ "./node_modules/ramda/es/compose.js"); +/* harmony import */ var _uniq_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uniq.js */ "./node_modules/ramda/es/uniq.js"); + + + + +/** + * Combines two lists into a set (i.e. no duplicates) composed of the elements + * of each list. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig [*] -> [*] -> [*] + * @param {Array} as The first list. + * @param {Array} bs The second list. + * @return {Array} The first and second lists concatenated, with + * duplicates removed. + * @example + * + * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4] + */ + +var union = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])( +/*#__PURE__*/ +Object(_compose_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_uniq_js__WEBPACK_IMPORTED_MODULE_3__["default"], _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])); + +/* harmony default export */ __webpack_exports__["default"] = (union); + +/***/ }), + +/***/ "./node_modules/ramda/es/unionWith.js": +/*!********************************************!*\ + !*** ./node_modules/ramda/es/unionWith.js ***! + \********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_concat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_concat.js */ "./node_modules/ramda/es/internal/_concat.js"); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _uniqWith_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./uniqWith.js */ "./node_modules/ramda/es/uniqWith.js"); + + + +/** + * Combines two lists into a set (i.e. no duplicates) composed of the elements + * of each list. Duplication is determined according to the value returned by + * applying the supplied predicate to two list elements. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Relation + * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list1 The first list. + * @param {Array} list2 The second list. + * @return {Array} The first and second lists concatenated, with + * duplicates removed. + * @see R.union + * @example + * + * const l1 = [{a: 1}, {a: 2}]; + * const l2 = [{a: 1}, {a: 4}]; + * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}] + */ + +var unionWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function unionWith(pred, list1, list2) { + return Object(_uniqWith_js__WEBPACK_IMPORTED_MODULE_2__["default"])(pred, Object(_internal_concat_js__WEBPACK_IMPORTED_MODULE_0__["default"])(list1, list2)); +}); + +/* harmony default export */ __webpack_exports__["default"] = (unionWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/uniq.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/uniq.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./identity.js */ "./node_modules/ramda/es/identity.js"); +/* harmony import */ var _uniqBy_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uniqBy.js */ "./node_modules/ramda/es/uniqBy.js"); + + +/** + * Returns a new list containing only one copy of each element in the original + * list. [`R.equals`](#equals) is used to determine equality. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [a] + * @param {Array} list The array to consider. + * @return {Array} The list of unique items. + * @example + * + * R.uniq([1, 1, 2, 1]); //=> [1, 2] + * R.uniq([1, '1']); //=> [1, '1'] + * R.uniq([[42], [42]]); //=> [[42]] + */ + +var uniq = +/*#__PURE__*/ +Object(_uniqBy_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); +/* harmony default export */ __webpack_exports__["default"] = (uniq); + +/***/ }), + +/***/ "./node_modules/ramda/es/uniqBy.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/uniqBy.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_Set_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_Set.js */ "./node_modules/ramda/es/internal/_Set.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns a new list containing only one copy of each element in the original + * list, based upon the value returned by applying the supplied function to + * each list element. Prefers the first item if the supplied function produces + * the same value on two items. [`R.equals`](#equals) is used for comparison. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category List + * @sig (a -> b) -> [a] -> [a] + * @param {Function} fn A function used to produce a value to use during comparisons. + * @param {Array} list The array to consider. + * @return {Array} The list of unique items. + * @example + * + * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10] + */ + +var uniqBy = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function uniqBy(fn, list) { + var set = new _internal_Set_js__WEBPACK_IMPORTED_MODULE_0__["default"](); + var result = []; + var idx = 0; + var appliedItem, item; + + while (idx < list.length) { + item = list[idx]; + appliedItem = fn(item); + + if (set.add(appliedItem)) { + result.push(item); + } + + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (uniqBy); + +/***/ }), + +/***/ "./node_modules/ramda/es/uniqWith.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/uniqWith.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includesWith.js */ "./node_modules/ramda/es/internal/_includesWith.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + + +/** + * Returns a new list containing only one copy of each element in the original + * list, based upon the value returned by applying the supplied predicate to + * two list elements. Prefers the first item if two items compare equal based + * on the predicate. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category List + * @sig ((a, a) -> Boolean) -> [a] -> [a] + * @param {Function} pred A predicate used to test whether two items are equal. + * @param {Array} list The array to consider. + * @return {Array} The list of unique items. + * @example + * + * const strEq = R.eqBy(String); + * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2] + * R.uniqWith(strEq)([{}, {}]); //=> [{}] + * R.uniqWith(strEq)([1, '1', 1]); //=> [1] + * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1'] + */ + +var uniqWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function uniqWith(pred, list) { + var idx = 0; + var len = list.length; + var result = []; + var item; + + while (idx < len) { + item = list[idx]; + + if (!Object(_internal_includesWith_js__WEBPACK_IMPORTED_MODULE_0__["default"])(pred, item, result)) { + result[result.length] = item; + } + + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (uniqWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/unless.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/unless.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Tests the final argument by passing it to the given predicate function. If + * the predicate is not satisfied, the function will return the result of + * calling the `whenFalseFn` function with the same argument. If the predicate + * is satisfied, the argument is returned as is. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Logic + * @sig (a -> Boolean) -> (a -> a) -> a -> a + * @param {Function} pred A predicate function + * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates + * to a falsy value. + * @param {*} x An object to test with the `pred` function and + * pass to `whenFalseFn` if necessary. + * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`. + * @see R.ifElse, R.when, R.cond + * @example + * + * let safeInc = R.unless(R.isNil, R.inc); + * safeInc(null); //=> null + * safeInc(1); //=> 2 + */ + +var unless = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function unless(pred, whenFalseFn, x) { + return pred(x) ? x : whenFalseFn(x); +}); + +/* harmony default export */ __webpack_exports__["default"] = (unless); + +/***/ }), + +/***/ "./node_modules/ramda/es/unnest.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/unnest.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_identity.js */ "./node_modules/ramda/es/internal/_identity.js"); +/* harmony import */ var _chain_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chain.js */ "./node_modules/ramda/es/chain.js"); + + +/** + * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from + * any [Chain](https://github.com/fantasyland/fantasy-land#chain). + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig Chain c => c (c a) -> c a + * @param {*} list + * @return {*} + * @see R.flatten, R.chain + * @example + * + * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]] + * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6] + */ + +var unnest = +/*#__PURE__*/ +Object(_chain_js__WEBPACK_IMPORTED_MODULE_1__["default"])(_internal_identity_js__WEBPACK_IMPORTED_MODULE_0__["default"]); +/* harmony default export */ __webpack_exports__["default"] = (unnest); + +/***/ }), + +/***/ "./node_modules/ramda/es/until.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/until.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Takes a predicate, a transformation function, and an initial value, + * and returns a value of the same type as the initial value. + * It does so by applying the transformation until the predicate is satisfied, + * at which point it returns the satisfactory value. + * + * @func + * @memberOf R + * @since v0.20.0 + * @category Logic + * @sig (a -> Boolean) -> (a -> a) -> a -> a + * @param {Function} pred A predicate function + * @param {Function} fn The iterator function + * @param {*} init Initial value + * @return {*} Final value that satisfies predicate + * @example + * + * R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128 + */ + +var until = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function until(pred, fn, init) { + var val = init; + + while (!pred(val)) { + val = fn(val); + } + + return val; +}); + +/* harmony default export */ __webpack_exports__["default"] = (until); + +/***/ }), + +/***/ "./node_modules/ramda/es/update.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/update.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); +/* harmony import */ var _adjust_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./adjust.js */ "./node_modules/ramda/es/adjust.js"); +/* harmony import */ var _always_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./always.js */ "./node_modules/ramda/es/always.js"); + + + +/** + * Returns a new copy of the array with the element at the provided index + * replaced with the given value. + * + * @func + * @memberOf R + * @since v0.14.0 + * @category List + * @sig Number -> a -> [a] -> [a] + * @param {Number} idx The index to update. + * @param {*} x The value to exist at the given index of the returned array. + * @param {Array|Arguments} list The source array-like object to be updated. + * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`. + * @see R.adjust + * @example + * + * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c'] + * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_'] + * @symb R.update(-1, a, [b, c]) = [b, a] + * @symb R.update(0, a, [b, c]) = [a, c] + * @symb R.update(1, a, [b, c]) = [b, a] + */ + +var update = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function update(idx, x, list) { + return Object(_adjust_js__WEBPACK_IMPORTED_MODULE_1__["default"])(idx, Object(_always_js__WEBPACK_IMPORTED_MODULE_2__["default"])(x), list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (update); + +/***/ }), + +/***/ "./node_modules/ramda/es/useWith.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/useWith.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _curryN_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./curryN.js */ "./node_modules/ramda/es/curryN.js"); + + +/** + * Accepts a function `fn` and a list of transformer functions and returns a + * new curried function. When the new function is invoked, it calls the + * function `fn` with parameters consisting of the result of calling each + * supplied handler on successive arguments to the new function. + * + * If more arguments are passed to the returned function than transformer + * functions, those arguments are passed directly to `fn` as additional + * parameters. If you expect additional arguments that don't need to be + * transformed, although you can ignore them, it's best to pass an identity + * function so that the new function reports the correct arity. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Function + * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z) + * @param {Function} fn The function to wrap. + * @param {Array} transformers A list of transformer functions + * @return {Function} The wrapped function. + * @see R.converge + * @example + * + * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81 + * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81 + * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32 + * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32 + * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b)) + */ + +var useWith = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function useWith(fn, transformers) { + return Object(_curryN_js__WEBPACK_IMPORTED_MODULE_1__["default"])(transformers.length, function () { + var args = []; + var idx = 0; + + while (idx < transformers.length) { + args.push(transformers[idx].call(this, arguments[idx])); + idx += 1; + } + + return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length))); + }); +}); + +/* harmony default export */ __webpack_exports__["default"] = (useWith); + +/***/ }), + +/***/ "./node_modules/ramda/es/values.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/values.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); +/* harmony import */ var _keys_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./keys.js */ "./node_modules/ramda/es/keys.js"); + + +/** + * Returns a list of all the enumerable own properties of the supplied object. + * Note that the order of the output array is not guaranteed across different + * JS platforms. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category Object + * @sig {k: v} -> [v] + * @param {Object} obj The object to extract values from + * @return {Array} An array of the values of the object's own properties. + * @see R.valuesIn, R.keys + * @example + * + * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3] + */ + +var values = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function values(obj) { + var props = Object(_keys_js__WEBPACK_IMPORTED_MODULE_1__["default"])(obj); + var len = props.length; + var vals = []; + var idx = 0; + + while (idx < len) { + vals[idx] = obj[props[idx]]; + idx += 1; + } + + return vals; +}); + +/* harmony default export */ __webpack_exports__["default"] = (values); + +/***/ }), + +/***/ "./node_modules/ramda/es/valuesIn.js": +/*!*******************************************!*\ + !*** ./node_modules/ramda/es/valuesIn.js ***! + \*******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry1.js */ "./node_modules/ramda/es/internal/_curry1.js"); + +/** + * Returns a list of all the properties, including prototype properties, of the + * supplied object. + * Note that the order of the output array is not guaranteed to be consistent + * across different JS platforms. + * + * @func + * @memberOf R + * @since v0.2.0 + * @category Object + * @sig {k: v} -> [v] + * @param {Object} obj The object to extract values from + * @return {Array} An array of the values of the object's own and prototype properties. + * @see R.values, R.keysIn + * @example + * + * const F = function() { this.x = 'X'; }; + * F.prototype.y = 'Y'; + * const f = new F(); + * R.valuesIn(f); //=> ['X', 'Y'] + */ + +var valuesIn = +/*#__PURE__*/ +Object(_internal_curry1_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function valuesIn(obj) { + var prop; + var vs = []; + + for (prop in obj) { + vs[vs.length] = obj[prop]; + } + + return vs; +}); + +/* harmony default export */ __webpack_exports__["default"] = (valuesIn); + +/***/ }), + +/***/ "./node_modules/ramda/es/view.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/view.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + // `Const` is a functor that effectively ignores the function given to `map`. + +var Const = function (x) { + return { + value: x, + 'fantasy-land/map': function () { + return this; + } + }; +}; +/** + * Returns a "view" of the given data structure, determined by the given lens. + * The lens's focus determines which portion of the data structure is visible. + * + * @func + * @memberOf R + * @since v0.16.0 + * @category Object + * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s + * @sig Lens s a -> s -> a + * @param {Lens} lens + * @param {*} x + * @return {*} + * @see R.prop, R.lensIndex, R.lensProp + * @example + * + * const xLens = R.lensProp('x'); + * + * R.view(xLens, {x: 1, y: 2}); //=> 1 + * R.view(xLens, {x: 4, y: 2}); //=> 4 + */ + + +var view = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function view(lens, x) { + // Using `Const` effectively ignores the setter function of the `lens`, + // leaving the value returned by the getter function unmodified. + return lens(Const)(x).value; +}); + +/* harmony default export */ __webpack_exports__["default"] = (view); + +/***/ }), + +/***/ "./node_modules/ramda/es/when.js": +/*!***************************************!*\ + !*** ./node_modules/ramda/es/when.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Tests the final argument by passing it to the given predicate function. If + * the predicate is satisfied, the function will return the result of calling + * the `whenTrueFn` function with the same argument. If the predicate is not + * satisfied, the argument is returned as is. + * + * @func + * @memberOf R + * @since v0.18.0 + * @category Logic + * @sig (a -> Boolean) -> (a -> a) -> a -> a + * @param {Function} pred A predicate function + * @param {Function} whenTrueFn A function to invoke when the `condition` + * evaluates to a truthy value. + * @param {*} x An object to test with the `pred` function and + * pass to `whenTrueFn` if necessary. + * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`. + * @see R.ifElse, R.unless, R.cond + * @example + * + * // truncate :: String -> String + * const truncate = R.when( + * R.propSatisfies(R.gt(R.__, 10), 'length'), + * R.pipe(R.take(10), R.append('…'), R.join('')) + * ); + * truncate('12345'); //=> '12345' + * truncate('0123456789ABC'); //=> '0123456789…' + */ + +var when = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function when(pred, whenTrueFn, x) { + return pred(x) ? whenTrueFn(x) : x; +}); + +/* harmony default export */ __webpack_exports__["default"] = (when); + +/***/ }), + +/***/ "./node_modules/ramda/es/where.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/where.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _internal_has_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_has.js */ "./node_modules/ramda/es/internal/_has.js"); + + +/** + * Takes a spec object and a test object; returns true if the test satisfies + * the spec. Each of the spec's own properties must be a predicate function. + * Each predicate is applied to the value of the corresponding property of the + * test object. `where` returns true if all the predicates return true, false + * otherwise. + * + * `where` is well suited to declaratively expressing constraints for other + * functions such as [`filter`](#filter) and [`find`](#find). + * + * @func + * @memberOf R + * @since v0.1.1 + * @category Object + * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean + * @param {Object} spec + * @param {Object} testObj + * @return {Boolean} + * @see R.propSatisfies, R.whereEq + * @example + * + * // pred :: Object -> Boolean + * const pred = R.where({ + * a: R.equals('foo'), + * b: R.complement(R.equals('bar')), + * x: R.gt(R.__, 10), + * y: R.lt(R.__, 20) + * }); + * + * pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true + * pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false + * pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false + * pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false + * pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false + */ + +var where = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function where(spec, testObj) { + for (var prop in spec) { + if (Object(_internal_has_js__WEBPACK_IMPORTED_MODULE_1__["default"])(prop, spec) && !spec[prop](testObj[prop])) { + return false; + } + } + + return true; +}); + +/* harmony default export */ __webpack_exports__["default"] = (where); + +/***/ }), + +/***/ "./node_modules/ramda/es/whereEq.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/whereEq.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _equals_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./equals.js */ "./node_modules/ramda/es/equals.js"); +/* harmony import */ var _map_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./map.js */ "./node_modules/ramda/es/map.js"); +/* harmony import */ var _where_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./where.js */ "./node_modules/ramda/es/where.js"); + + + + +/** + * Takes a spec object and a test object; returns true if the test satisfies + * the spec, false otherwise. An object satisfies the spec if, for each of the + * spec's own properties, accessing that property of the object gives the same + * value (in [`R.equals`](#equals) terms) as accessing that property of the + * spec. + * + * `whereEq` is a specialization of [`where`](#where). + * + * @func + * @memberOf R + * @since v0.14.0 + * @category Object + * @sig {String: *} -> {String: *} -> Boolean + * @param {Object} spec + * @param {Object} testObj + * @return {Boolean} + * @see R.propEq, R.where + * @example + * + * // pred :: Object -> Boolean + * const pred = R.whereEq({a: 1, b: 2}); + * + * pred({a: 1}); //=> false + * pred({a: 1, b: 2}); //=> true + * pred({a: 1, b: 2, c: 3}); //=> true + * pred({a: 1, b: 1}); //=> false + */ + +var whereEq = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function whereEq(spec, testObj) { + return Object(_where_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Object(_map_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_equals_js__WEBPACK_IMPORTED_MODULE_1__["default"], spec), testObj); +}); + +/* harmony default export */ __webpack_exports__["default"] = (whereEq); + +/***/ }), + +/***/ "./node_modules/ramda/es/without.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/without.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_includes.js */ "./node_modules/ramda/es/internal/_includes.js"); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); +/* harmony import */ var _flip_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flip.js */ "./node_modules/ramda/es/flip.js"); +/* harmony import */ var _reject_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./reject.js */ "./node_modules/ramda/es/reject.js"); + + + + +/** + * Returns a new list without values in the first argument. + * [`R.equals`](#equals) is used to determine equality. + * + * Acts as a transducer if a transformer is given in list position. + * + * @func + * @memberOf R + * @since v0.19.0 + * @category List + * @sig [a] -> [a] -> [a] + * @param {Array} list1 The values to be removed from `list2`. + * @param {Array} list2 The array to remove values from. + * @return {Array} The new array without values in `list1`. + * @see R.transduce, R.difference, R.remove + * @example + * + * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4] + */ + +var without = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_1__["default"])(function (xs, list) { + return Object(_reject_js__WEBPACK_IMPORTED_MODULE_3__["default"])(Object(_flip_js__WEBPACK_IMPORTED_MODULE_2__["default"])(_internal_includes_js__WEBPACK_IMPORTED_MODULE_0__["default"])(xs), list); +}); + +/* harmony default export */ __webpack_exports__["default"] = (without); + +/***/ }), + +/***/ "./node_modules/ramda/es/xor.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/xor.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Exclusive disjunction logical operation. + * Returns `true` if one of the arguments is truthy and the other is falsy. + * Otherwise, it returns `false`. + * + * @func + * @memberOf R + * @since v0.27.0 + * @category Logic + * @sig a -> b -> Boolean + * @param {Any} a + * @param {Any} b + * @return {Boolean} true if one of the arguments is truthy and the other is falsy + * @see R.or, R.and + * @example + * + * R.xor(true, true); //=> false + * R.xor(true, false); //=> true + * R.xor(false, true); //=> true + * R.xor(false, false); //=> false + */ + +var xor = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function xor(a, b) { + return Boolean(!a ^ !b); +}); + +/* harmony default export */ __webpack_exports__["default"] = (xor); + +/***/ }), + +/***/ "./node_modules/ramda/es/xprod.js": +/*!****************************************!*\ + !*** ./node_modules/ramda/es/xprod.js ***! + \****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Creates a new list out of the two supplied by creating each possible pair + * from the lists. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [b] -> [[a,b]] + * @param {Array} as The first list. + * @param {Array} bs The second list. + * @return {Array} The list made by combining each possible pair from + * `as` and `bs` into pairs (`[a, b]`). + * @example + * + * R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']] + * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]] + */ + +var xprod = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function xprod(a, b) { + // = xprodWith(prepend); (takes about 3 times as long...) + var idx = 0; + var ilen = a.length; + var j; + var jlen = b.length; + var result = []; + + while (idx < ilen) { + j = 0; + + while (j < jlen) { + result[result.length] = [a[idx], b[j]]; + j += 1; + } + + idx += 1; + } + + return result; +}); + +/* harmony default export */ __webpack_exports__["default"] = (xprod); + +/***/ }), + +/***/ "./node_modules/ramda/es/zip.js": +/*!**************************************!*\ + !*** ./node_modules/ramda/es/zip.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Creates a new list out of the two supplied by pairing up equally-positioned + * items from both lists. The returned list is truncated to the length of the + * shorter of the two input lists. + * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`. + * + * @func + * @memberOf R + * @since v0.1.0 + * @category List + * @sig [a] -> [b] -> [[a,b]] + * @param {Array} list1 The first array to consider. + * @param {Array} list2 The second array to consider. + * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`. + * @example + * + * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']] + * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]] + */ + +var zip = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zip(a, b) { + var rv = []; + var idx = 0; + var len = Math.min(a.length, b.length); + + while (idx < len) { + rv[idx] = [a[idx], b[idx]]; + idx += 1; + } + + return rv; +}); + +/* harmony default export */ __webpack_exports__["default"] = (zip); + +/***/ }), + +/***/ "./node_modules/ramda/es/zipObj.js": +/*!*****************************************!*\ + !*** ./node_modules/ramda/es/zipObj.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry2.js */ "./node_modules/ramda/es/internal/_curry2.js"); + +/** + * Creates a new object out of a list of keys and a list of values. + * Key/value pairing is truncated to the length of the shorter of the two lists. + * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`. + * + * @func + * @memberOf R + * @since v0.3.0 + * @category List + * @sig [String] -> [*] -> {String: *} + * @param {Array} keys The array that will be properties on the output object. + * @param {Array} values The list of values on the output object. + * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`. + * @example + * + * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3} + */ + +var zipObj = +/*#__PURE__*/ +Object(_internal_curry2_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zipObj(keys, values) { + var idx = 0; + var len = Math.min(keys.length, values.length); + var out = {}; + + while (idx < len) { + out[keys[idx]] = values[idx]; + idx += 1; + } + + return out; +}); + +/* harmony default export */ __webpack_exports__["default"] = (zipObj); + +/***/ }), + +/***/ "./node_modules/ramda/es/zipWith.js": +/*!******************************************!*\ + !*** ./node_modules/ramda/es/zipWith.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./internal/_curry3.js */ "./node_modules/ramda/es/internal/_curry3.js"); + +/** + * Creates a new list out of the two supplied by applying the function to each + * equally-positioned pair in the lists. The returned list is truncated to the + * length of the shorter of the two input lists. + * + * @function + * @memberOf R + * @since v0.1.0 + * @category List + * @sig ((a, b) -> c) -> [a] -> [b] -> [c] + * @param {Function} fn The function used to combine the two elements into one value. + * @param {Array} list1 The first array to consider. + * @param {Array} list2 The second array to consider. + * @return {Array} The list made by combining same-indexed elements of `list1` and `list2` + * using `fn`. + * @example + * + * const f = (x, y) => { + * // ... + * }; + * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']); + * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')] + * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)] + */ + +var zipWith = +/*#__PURE__*/ +Object(_internal_curry3_js__WEBPACK_IMPORTED_MODULE_0__["default"])(function zipWith(fn, a, b) { + var rv = []; + var idx = 0; + var len = Math.min(a.length, b.length); + + while (idx < len) { + rv[idx] = fn(a[idx], b[idx]); + idx += 1; + } + + return rv; +}); + +/* harmony default export */ __webpack_exports__["default"] = (zipWith); + +/***/ }), + +/***/ "./node_modules/react-is/cjs/react-is.development.js": +/*!***********************************************************!*\ + !*** ./node_modules/react-is/cjs/react-is.development.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** @license React v16.11.0 + * react-is.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + +if (true) { + (function() { +'use strict'; + +Object.defineProperty(exports, '__esModule', { value: true }); + +// The Symbol used to tag the ReactElement-like types. If there is no native Symbol +// nor polyfill, then a plain number is used for performance. +var hasSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; +var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; +var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; +var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; +var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; +var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; +var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary +// (unstable) APIs that have been removed. Can we remove the symbols? + +var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; +var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; +var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; +var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; +var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; +var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; +var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; +var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; +var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; +var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; + +function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE); +} + +/** + * Forked from fbjs/warning: + * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js + * + * Only change is we use console.warn instead of console.error, + * and do nothing when 'console' is not supported. + * This really simplifies the code. + * --- + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ +var lowPriorityWarningWithoutStack = function () {}; + +{ + var printWarning = function (format) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + + if (typeof console !== 'undefined') { + console.warn(message); + } + + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarningWithoutStack = function (condition, format) { + if (format === undefined) { + throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument'); + } + + if (!condition) { + for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(void 0, [format].concat(args)); + } + }; +} + +var lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack; + +function typeOf(object) { + if (typeof object === 'object' && object !== null) { + var $$typeof = object.$$typeof; + + switch ($$typeof) { + case REACT_ELEMENT_TYPE: + var type = object.type; + + switch (type) { + case REACT_ASYNC_MODE_TYPE: + case REACT_CONCURRENT_MODE_TYPE: + case REACT_FRAGMENT_TYPE: + case REACT_PROFILER_TYPE: + case REACT_STRICT_MODE_TYPE: + case REACT_SUSPENSE_TYPE: + return type; + + default: + var $$typeofType = type && type.$$typeof; + + switch ($$typeofType) { + case REACT_CONTEXT_TYPE: + case REACT_FORWARD_REF_TYPE: + case REACT_PROVIDER_TYPE: + return $$typeofType; + + default: + return $$typeof; + } + + } + + case REACT_LAZY_TYPE: + case REACT_MEMO_TYPE: + case REACT_PORTAL_TYPE: + return $$typeof; + } + } + + return undefined; +} // AsyncMode is deprecated along with isAsyncMode + +var AsyncMode = REACT_ASYNC_MODE_TYPE; +var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; +var ContextConsumer = REACT_CONTEXT_TYPE; +var ContextProvider = REACT_PROVIDER_TYPE; +var Element = REACT_ELEMENT_TYPE; +var ForwardRef = REACT_FORWARD_REF_TYPE; +var Fragment = REACT_FRAGMENT_TYPE; +var Lazy = REACT_LAZY_TYPE; +var Memo = REACT_MEMO_TYPE; +var Portal = REACT_PORTAL_TYPE; +var Profiler = REACT_PROFILER_TYPE; +var StrictMode = REACT_STRICT_MODE_TYPE; +var Suspense = REACT_SUSPENSE_TYPE; +var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated + +function isAsyncMode(object) { + { + if (!hasWarnedAboutDeprecatedIsAsyncMode) { + hasWarnedAboutDeprecatedIsAsyncMode = true; + lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); + } + } + + return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; +} +function isConcurrentMode(object) { + return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; +} +function isContextConsumer(object) { + return typeOf(object) === REACT_CONTEXT_TYPE; +} +function isContextProvider(object) { + return typeOf(object) === REACT_PROVIDER_TYPE; +} +function isElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; +} +function isForwardRef(object) { + return typeOf(object) === REACT_FORWARD_REF_TYPE; +} +function isFragment(object) { + return typeOf(object) === REACT_FRAGMENT_TYPE; +} +function isLazy(object) { + return typeOf(object) === REACT_LAZY_TYPE; +} +function isMemo(object) { + return typeOf(object) === REACT_MEMO_TYPE; +} +function isPortal(object) { + return typeOf(object) === REACT_PORTAL_TYPE; +} +function isProfiler(object) { + return typeOf(object) === REACT_PROFILER_TYPE; +} +function isStrictMode(object) { + return typeOf(object) === REACT_STRICT_MODE_TYPE; +} +function isSuspense(object) { + return typeOf(object) === REACT_SUSPENSE_TYPE; +} + +exports.typeOf = typeOf; +exports.AsyncMode = AsyncMode; +exports.ConcurrentMode = ConcurrentMode; +exports.ContextConsumer = ContextConsumer; +exports.ContextProvider = ContextProvider; +exports.Element = Element; +exports.ForwardRef = ForwardRef; +exports.Fragment = Fragment; +exports.Lazy = Lazy; +exports.Memo = Memo; +exports.Portal = Portal; +exports.Profiler = Profiler; +exports.StrictMode = StrictMode; +exports.Suspense = Suspense; +exports.isValidElementType = isValidElementType; +exports.isAsyncMode = isAsyncMode; +exports.isConcurrentMode = isConcurrentMode; +exports.isContextConsumer = isContextConsumer; +exports.isContextProvider = isContextProvider; +exports.isElement = isElement; +exports.isForwardRef = isForwardRef; +exports.isFragment = isFragment; +exports.isLazy = isLazy; +exports.isMemo = isMemo; +exports.isPortal = isPortal; +exports.isProfiler = isProfiler; +exports.isStrictMode = isStrictMode; +exports.isSuspense = isSuspense; + })(); +} + + +/***/ }), + +/***/ "./node_modules/react-is/index.js": +/*!****************************************!*\ + !*** ./node_modules/react-is/index.js ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +if (false) {} else { + module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/react-is/cjs/react-is.development.js"); +} + + +/***/ }), + +/***/ "./node_modules/react-redux/es/components/Context.js": +/*!***********************************************************!*\ + !*** ./node_modules/react-redux/es/components/Context.js ***! + \***********************************************************/ +/*! exports provided: ReactReduxContext, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ReactReduxContext", function() { return ReactReduxContext; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); + +var ReactReduxContext = +/*#__PURE__*/ +react__WEBPACK_IMPORTED_MODULE_0___default.a.createContext(null); + +if (true) { + ReactReduxContext.displayName = 'ReactRedux'; +} + +/* harmony default export */ __webpack_exports__["default"] = (ReactReduxContext); + +/***/ }), + +/***/ "./node_modules/react-redux/es/components/Provider.js": +/*!************************************************************!*\ + !*** ./node_modules/react-redux/es/components/Provider.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Context */ "./node_modules/react-redux/es/components/Context.js"); +/* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/Subscription */ "./node_modules/react-redux/es/utils/Subscription.js"); + + + + + +function Provider(_ref) { + var store = _ref.store, + context = _ref.context, + children = _ref.children; + var contextValue = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { + var subscription = new _utils_Subscription__WEBPACK_IMPORTED_MODULE_3__["default"](store); + subscription.onStateChange = subscription.notifyNestedSubs; + return { + store: store, + subscription: subscription + }; + }, [store]); + var previousState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { + return store.getState(); + }, [store]); + Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { + var subscription = contextValue.subscription; + subscription.trySubscribe(); + + if (previousState !== store.getState()) { + subscription.notifyNestedSubs(); + } + + return function () { + subscription.tryUnsubscribe(); + subscription.onStateChange = null; + }; + }, [contextValue, previousState]); + var Context = context || _Context__WEBPACK_IMPORTED_MODULE_2__["ReactReduxContext"]; + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(Context.Provider, { + value: contextValue + }, children); +} + +if (true) { + Provider.propTypes = { + store: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.shape({ + subscribe: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired, + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired, + getState: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func.isRequired + }), + context: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any + }; +} + +/* harmony default export */ __webpack_exports__["default"] = (Provider); + +/***/ }), + +/***/ "./node_modules/react-redux/es/components/connectAdvanced.js": +/*!*******************************************************************!*\ + !*** ./node_modules/react-redux/es/components/connectAdvanced.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return connectAdvanced; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! hoist-non-react-statics */ "./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js"); +/* harmony import */ var hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-is */ "./node_modules/react-is/index.js"); +/* harmony import */ var react_is__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_is__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/Subscription */ "./node_modules/react-redux/es/utils/Subscription.js"); +/* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); +/* harmony import */ var _Context__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Context */ "./node_modules/react-redux/es/components/Context.js"); + + + + + + + + // Define some constant arrays just to avoid re-creating these + +var EMPTY_ARRAY = []; +var NO_SUBSCRIPTION_ARRAY = [null, null]; + +var stringifyComponent = function stringifyComponent(Comp) { + try { + return JSON.stringify(Comp); + } catch (err) { + return String(Comp); + } +}; + +function storeStateUpdatesReducer(state, action) { + var updateCount = state[1]; + return [action.payload, updateCount + 1]; +} + +function useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) { + Object(_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_6__["useIsomorphicLayoutEffect"])(function () { + return effectFunc.apply(void 0, effectArgs); + }, dependencies); +} + +function captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) { + // We want to capture the wrapper props and child props we used for later comparisons + lastWrapperProps.current = wrapperProps; + lastChildProps.current = actualChildProps; + renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update + + if (childPropsFromStoreUpdate.current) { + childPropsFromStoreUpdate.current = null; + notifyNestedSubs(); + } +} + +function subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) { + // If we're not subscribed to the store, nothing to do here + if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts + + var didUnsubscribe = false; + var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component + + var checkForUpdates = function checkForUpdates() { + if (didUnsubscribe) { + // Don't run stale listeners. + // Redux doesn't guarantee unsubscriptions happen until next dispatch. + return; + } + + var latestStoreState = store.getState(); + var newChildProps, error; + + try { + // Actually run the selector with the most recent store state and wrapper props + // to determine what the child props should be + newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current); + } catch (e) { + error = e; + lastThrownError = e; + } + + if (!error) { + lastThrownError = null; + } // If the child props haven't changed, nothing to do here - cascade the subscription update + + + if (newChildProps === lastChildProps.current) { + if (!renderIsScheduled.current) { + notifyNestedSubs(); + } + } else { + // Save references to the new child props. Note that we track the "child props from store update" + // as a ref instead of a useState/useReducer because we need a way to determine if that value has + // been processed. If this went into useState/useReducer, we couldn't clear out the value without + // forcing another re-render, which we don't want. + lastChildProps.current = newChildProps; + childPropsFromStoreUpdate.current = newChildProps; + renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render + + forceComponentUpdateDispatch({ + type: 'STORE_UPDATED', + payload: { + error: error + } + }); + } + }; // Actually subscribe to the nearest connected ancestor (or store) + + + subscription.onStateChange = checkForUpdates; + subscription.trySubscribe(); // Pull data from the store after first render in case the store has + // changed since we began. + + checkForUpdates(); + + var unsubscribeWrapper = function unsubscribeWrapper() { + didUnsubscribe = true; + subscription.tryUnsubscribe(); + subscription.onStateChange = null; + + if (lastThrownError) { + // It's possible that we caught an error due to a bad mapState function, but the + // parent re-rendered without this component and we're about to unmount. + // This shouldn't happen as long as we do top-down subscriptions correctly, but + // if we ever do those wrong, this throw will surface the error in our tests. + // In that case, throw the error from here so it doesn't get lost. + throw lastThrownError; + } + }; + + return unsubscribeWrapper; +} + +var initStateUpdates = function initStateUpdates() { + return [null, 0]; +}; + +function connectAdvanced( +/* + selectorFactory is a func that is responsible for returning the selector function used to + compute new props from state, props, and dispatch. For example: + export default connectAdvanced((dispatch, options) => (state, props) => ({ + thing: state.things[props.thingId], + saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)), + }))(YourComponent) + Access to dispatch is provided to the factory so selectorFactories can bind actionCreators + outside of their selector as an optimization. Options passed to connectAdvanced are passed to + the selectorFactory, along with displayName and WrappedComponent, as the second argument. + Note that selectorFactory is responsible for all caching/memoization of inbound and outbound + props. Do not use connectAdvanced directly without memoizing results between calls to your + selector, otherwise the Connect component will re-render on every state or props change. +*/ +selectorFactory, // options object: +_ref) { + if (_ref === void 0) { + _ref = {}; + } + + var _ref2 = _ref, + _ref2$getDisplayName = _ref2.getDisplayName, + getDisplayName = _ref2$getDisplayName === void 0 ? function (name) { + return "ConnectAdvanced(" + name + ")"; + } : _ref2$getDisplayName, + _ref2$methodName = _ref2.methodName, + methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName, + _ref2$renderCountProp = _ref2.renderCountProp, + renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp, + _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges, + shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta, + _ref2$storeKey = _ref2.storeKey, + storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey, + _ref2$withRef = _ref2.withRef, + withRef = _ref2$withRef === void 0 ? false : _ref2$withRef, + _ref2$forwardRef = _ref2.forwardRef, + forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef, + _ref2$context = _ref2.context, + context = _ref2$context === void 0 ? _Context__WEBPACK_IMPORTED_MODULE_7__["ReactReduxContext"] : _ref2$context, + connectOptions = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_ref2, ["getDisplayName", "methodName", "renderCountProp", "shouldHandleStateChanges", "storeKey", "withRef", "forwardRef", "context"]); + + if (true) { + if (renderCountProp !== undefined) { + throw new Error("renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension"); + } + + if (withRef) { + throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component'); + } + + var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + "React.createContext(), and pass the context object to React Redux's Provider and specific components" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect'; + + if (storeKey !== 'store') { + throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage); + } + } + + var Context = context; + return function wrapWithConnect(WrappedComponent) { + if ( true && !Object(react_is__WEBPACK_IMPORTED_MODULE_4__["isValidElementType"])(WrappedComponent)) { + throw new Error("You must pass a component to the function returned by " + (methodName + ". Instead received " + stringifyComponent(WrappedComponent))); + } + + var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; + var displayName = getDisplayName(wrappedComponentName); + + var selectorFactoryOptions = Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, connectOptions, { + getDisplayName: getDisplayName, + methodName: methodName, + renderCountProp: renderCountProp, + shouldHandleStateChanges: shouldHandleStateChanges, + storeKey: storeKey, + displayName: displayName, + wrappedComponentName: wrappedComponentName, + WrappedComponent: WrappedComponent + }); + + var pure = connectOptions.pure; + + function createChildSelector(store) { + return selectorFactory(store.dispatch, selectorFactoryOptions); + } // If we aren't running in "pure" mode, we don't want to memoize values. + // To avoid conditionally calling hooks, we fall back to a tiny wrapper + // that just executes the given callback immediately. + + + var usePureOnlyMemo = pure ? react__WEBPACK_IMPORTED_MODULE_3__["useMemo"] : function (callback) { + return callback(); + }; + + function ConnectFunction(props) { + var _useMemo = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + // Distinguish between actual "data" props that were passed to the wrapper component, + // and values needed to control behavior (forwarded refs, alternate context instances). + // To maintain the wrapperProps object reference, memoize this destructuring. + var forwardedRef = props.forwardedRef, + wrapperProps = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(props, ["forwardedRef"]); + + return [props.context, forwardedRef, wrapperProps]; + }, [props]), + propsContext = _useMemo[0], + forwardedRef = _useMemo[1], + wrapperProps = _useMemo[2]; + + var ContextToUse = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext. + // Memoize the check that determines which context instance we should use. + return propsContext && propsContext.Consumer && Object(react_is__WEBPACK_IMPORTED_MODULE_4__["isContextConsumer"])(react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(propsContext.Consumer, null)) ? propsContext : Context; + }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available + + var contextValue = Object(react__WEBPACK_IMPORTED_MODULE_3__["useContext"])(ContextToUse); // The store _must_ exist as either a prop or in context. + // We'll check to see if it _looks_ like a Redux store first. + // This allows us to pass through a `store` prop that is just a plain value. + + var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch); + var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store); + + if ( true && !didStoreComeFromProps && !didStoreComeFromContext) { + throw new Error("Could not find \"store\" in the context of " + ("\"" + displayName + "\". Either wrap the root component in a <Provider>, ") + "or pass a custom React context provider to <Provider> and the corresponding " + ("React context consumer to " + displayName + " in connect options.")); + } // Based on the previous check, one of these must be true + + + var store = didStoreComeFromProps ? props.store : contextValue.store; + var childPropsSelector = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + // The child props selector needs the store reference as an input. + // Re-create this selector whenever the store changes. + return createChildSelector(store); + }, [store]); + + var _useMemo2 = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component + // connected to the store via props shouldn't use subscription from context, or vice versa. + + var subscription = new _utils_Subscription__WEBPACK_IMPORTED_MODULE_5__["default"](store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in + // the middle of the notification loop, where `subscription` will then be null. This can + // probably be avoided if Subscription's listeners logic is changed to not call listeners + // that have been unsubscribed in the middle of the notification loop. + + var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription); + return [subscription, notifyNestedSubs]; + }, [store, didStoreComeFromProps, contextValue]), + subscription = _useMemo2[0], + notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary, + // and memoize that value to avoid unnecessary context updates. + + + var overriddenContextValue = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + if (didStoreComeFromProps) { + // This component is directly subscribed to a store from props. + // We don't want descendants reading from this store - pass down whatever + // the existing context value is from the nearest connected ancestor. + return contextValue; + } // Otherwise, put this component's subscription instance into context, so that + // connected descendants won't update until after this component is done + + + return Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, contextValue, { + subscription: subscription + }); + }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update + // causes a change to the calculated child component props (or we caught an error in mapState) + + var _useReducer = Object(react__WEBPACK_IMPORTED_MODULE_3__["useReducer"])(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates), + _useReducer$ = _useReducer[0], + previousStateUpdateResult = _useReducer$[0], + forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards + + + if (previousStateUpdateResult && previousStateUpdateResult.error) { + throw previousStateUpdateResult.error; + } // Set up refs to coordinate values between the subscription effect and the render logic + + + var lastChildProps = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(); + var lastWrapperProps = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(wrapperProps); + var childPropsFromStoreUpdate = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(); + var renderIsScheduled = Object(react__WEBPACK_IMPORTED_MODULE_3__["useRef"])(false); + var actualChildProps = usePureOnlyMemo(function () { + // Tricky logic here: + // - This render may have been triggered by a Redux store update that produced new child props + // - However, we may have gotten new wrapper props after that + // If we have new child props, and the same wrapper props, we know we should use the new child props as-is. + // But, if we have new wrapper props, those might change the child props, so we have to recalculate things. + // So, we'll use the child props from store update only if the wrapper props are the same as last time. + if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) { + return childPropsFromStoreUpdate.current; + } // TODO We're reading the store directly in render() here. Bad idea? + // This will likely cause Bad Things (TM) to happen in Concurrent Mode. + // Note that we do this because on renders _not_ caused by store updates, we need the latest store state + // to determine what the child props should be. + + + return childPropsSelector(store.getState(), wrapperProps); + }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns + // about useLayoutEffect in SSR, so we try to detect environment and fall back to + // just useEffect instead to avoid the warning, since neither will run anyway. + + useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes + + useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component. + // We memoize the elements for the rendered child component as an optimization. + + var renderedWrappedComponent = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(WrappedComponent, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, actualChildProps, { + ref: forwardedRef + })); + }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering + // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate. + + var renderedChild = Object(react__WEBPACK_IMPORTED_MODULE_3__["useMemo"])(function () { + if (shouldHandleStateChanges) { + // If this component is subscribed to store updates, we need to pass its own + // subscription instance down to our descendants. That means rendering the same + // Context instance, and putting a different value into the context. + return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(ContextToUse.Provider, { + value: overriddenContextValue + }, renderedWrappedComponent); + } + + return renderedWrappedComponent; + }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]); + return renderedChild; + } // If we're in "pure" mode, ensure our wrapper component only re-renders when incoming props have changed. + + + var Connect = pure ? react__WEBPACK_IMPORTED_MODULE_3___default.a.memo(ConnectFunction) : ConnectFunction; + Connect.WrappedComponent = WrappedComponent; + Connect.displayName = displayName; + + if (forwardRef) { + var forwarded = react__WEBPACK_IMPORTED_MODULE_3___default.a.forwardRef(function forwardConnectRef(props, ref) { + return react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement(Connect, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, props, { + forwardedRef: ref + })); + }); + forwarded.displayName = displayName; + forwarded.WrappedComponent = WrappedComponent; + return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(forwarded, WrappedComponent); + } + + return hoist_non_react_statics__WEBPACK_IMPORTED_MODULE_2___default()(Connect, WrappedComponent); + }; +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/connect.js": +/*!********************************************************!*\ + !*** ./node_modules/react-redux/es/connect/connect.js ***! + \********************************************************/ +/*! exports provided: createConnect, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createConnect", function() { return createConnect; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _components_connectAdvanced__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../components/connectAdvanced */ "./node_modules/react-redux/es/components/connectAdvanced.js"); +/* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/shallowEqual */ "./node_modules/react-redux/es/utils/shallowEqual.js"); +/* harmony import */ var _mapDispatchToProps__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mapDispatchToProps */ "./node_modules/react-redux/es/connect/mapDispatchToProps.js"); +/* harmony import */ var _mapStateToProps__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./mapStateToProps */ "./node_modules/react-redux/es/connect/mapStateToProps.js"); +/* harmony import */ var _mergeProps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./mergeProps */ "./node_modules/react-redux/es/connect/mergeProps.js"); +/* harmony import */ var _selectorFactory__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./selectorFactory */ "./node_modules/react-redux/es/connect/selectorFactory.js"); + + + + + + + + +/* + connect is a facade over connectAdvanced. It turns its args into a compatible + selectorFactory, which has the signature: + + (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps + + connect passes its args to connectAdvanced as options, which will in turn pass them to + selectorFactory each time a Connect component instance is instantiated or hot reloaded. + + selectorFactory returns a final props selector from its mapStateToProps, + mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps, + mergePropsFactories, and pure args. + + The resulting final props selector is called by the Connect component instance whenever + it receives new props or store state. + */ + +function match(arg, factories, name) { + for (var i = factories.length - 1; i >= 0; i--) { + var result = factories[i](arg); + if (result) return result; + } + + return function (dispatch, options) { + throw new Error("Invalid value of type " + typeof arg + " for " + name + " argument when connecting component " + options.wrappedComponentName + "."); + }; +} + +function strictEqual(a, b) { + return a === b; +} // createConnect with default args builds the 'official' connect behavior. Calling it with +// different options opens up some testing and extensibility scenarios + + +function createConnect(_temp) { + var _ref = _temp === void 0 ? {} : _temp, + _ref$connectHOC = _ref.connectHOC, + connectHOC = _ref$connectHOC === void 0 ? _components_connectAdvanced__WEBPACK_IMPORTED_MODULE_2__["default"] : _ref$connectHOC, + _ref$mapStateToPropsF = _ref.mapStateToPropsFactories, + mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? _mapStateToProps__WEBPACK_IMPORTED_MODULE_5__["default"] : _ref$mapStateToPropsF, + _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories, + mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? _mapDispatchToProps__WEBPACK_IMPORTED_MODULE_4__["default"] : _ref$mapDispatchToPro, + _ref$mergePropsFactor = _ref.mergePropsFactories, + mergePropsFactories = _ref$mergePropsFactor === void 0 ? _mergeProps__WEBPACK_IMPORTED_MODULE_6__["default"] : _ref$mergePropsFactor, + _ref$selectorFactory = _ref.selectorFactory, + selectorFactory = _ref$selectorFactory === void 0 ? _selectorFactory__WEBPACK_IMPORTED_MODULE_7__["default"] : _ref$selectorFactory; + + return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) { + if (_ref2 === void 0) { + _ref2 = {}; + } + + var _ref3 = _ref2, + _ref3$pure = _ref3.pure, + pure = _ref3$pure === void 0 ? true : _ref3$pure, + _ref3$areStatesEqual = _ref3.areStatesEqual, + areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual, + _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual, + areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__["default"] : _ref3$areOwnPropsEqua, + _ref3$areStatePropsEq = _ref3.areStatePropsEqual, + areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__["default"] : _ref3$areStatePropsEq, + _ref3$areMergedPropsE = _ref3.areMergedPropsEqual, + areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_3__["default"] : _ref3$areMergedPropsE, + extraOptions = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1__["default"])(_ref3, ["pure", "areStatesEqual", "areOwnPropsEqual", "areStatePropsEqual", "areMergedPropsEqual"]); + + var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps'); + var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps'); + var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps'); + return connectHOC(selectorFactory, Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({ + // used in error messages + methodName: 'connect', + // used to compute Connect's displayName from the wrapped component's displayName. + getDisplayName: function getDisplayName(name) { + return "Connect(" + name + ")"; + }, + // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes + shouldHandleStateChanges: Boolean(mapStateToProps), + // passed through to selectorFactory + initMapStateToProps: initMapStateToProps, + initMapDispatchToProps: initMapDispatchToProps, + initMergeProps: initMergeProps, + pure: pure, + areStatesEqual: areStatesEqual, + areOwnPropsEqual: areOwnPropsEqual, + areStatePropsEqual: areStatePropsEqual, + areMergedPropsEqual: areMergedPropsEqual + }, extraOptions)); + }; +} +/* harmony default export */ __webpack_exports__["default"] = (/*#__PURE__*/createConnect()); + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/mapDispatchToProps.js": +/*!*******************************************************************!*\ + !*** ./node_modules/react-redux/es/connect/mapDispatchToProps.js ***! + \*******************************************************************/ +/*! exports provided: whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMapDispatchToPropsIsFunction", function() { return whenMapDispatchToPropsIsFunction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMapDispatchToPropsIsMissing", function() { return whenMapDispatchToPropsIsMissing; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMapDispatchToPropsIsObject", function() { return whenMapDispatchToPropsIsObject; }); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./wrapMapToProps */ "./node_modules/react-redux/es/connect/wrapMapToProps.js"); + + +function whenMapDispatchToPropsIsFunction(mapDispatchToProps) { + return typeof mapDispatchToProps === 'function' ? Object(_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__["wrapMapToPropsFunc"])(mapDispatchToProps, 'mapDispatchToProps') : undefined; +} +function whenMapDispatchToPropsIsMissing(mapDispatchToProps) { + return !mapDispatchToProps ? Object(_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__["wrapMapToPropsConstant"])(function (dispatch) { + return { + dispatch: dispatch + }; + }) : undefined; +} +function whenMapDispatchToPropsIsObject(mapDispatchToProps) { + return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? Object(_wrapMapToProps__WEBPACK_IMPORTED_MODULE_1__["wrapMapToPropsConstant"])(function (dispatch) { + return Object(redux__WEBPACK_IMPORTED_MODULE_0__["bindActionCreators"])(mapDispatchToProps, dispatch); + }) : undefined; +} +/* harmony default export */ __webpack_exports__["default"] = ([whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject]); + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/mapStateToProps.js": +/*!****************************************************************!*\ + !*** ./node_modules/react-redux/es/connect/mapStateToProps.js ***! + \****************************************************************/ +/*! exports provided: whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMapStateToPropsIsFunction", function() { return whenMapStateToPropsIsFunction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMapStateToPropsIsMissing", function() { return whenMapStateToPropsIsMissing; }); +/* harmony import */ var _wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./wrapMapToProps */ "./node_modules/react-redux/es/connect/wrapMapToProps.js"); + +function whenMapStateToPropsIsFunction(mapStateToProps) { + return typeof mapStateToProps === 'function' ? Object(_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__["wrapMapToPropsFunc"])(mapStateToProps, 'mapStateToProps') : undefined; +} +function whenMapStateToPropsIsMissing(mapStateToProps) { + return !mapStateToProps ? Object(_wrapMapToProps__WEBPACK_IMPORTED_MODULE_0__["wrapMapToPropsConstant"])(function () { + return {}; + }) : undefined; +} +/* harmony default export */ __webpack_exports__["default"] = ([whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing]); + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/mergeProps.js": +/*!***********************************************************!*\ + !*** ./node_modules/react-redux/es/connect/mergeProps.js ***! + \***********************************************************/ +/*! exports provided: defaultMergeProps, wrapMergePropsFunc, whenMergePropsIsFunction, whenMergePropsIsOmitted, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "defaultMergeProps", function() { return defaultMergeProps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "wrapMergePropsFunc", function() { return wrapMergePropsFunc; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMergePropsIsFunction", function() { return whenMergePropsIsFunction; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "whenMergePropsIsOmitted", function() { return whenMergePropsIsOmitted; }); +/* harmony import */ var _babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/extends */ "./node_modules/@babel/runtime/helpers/esm/extends.js"); +/* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "./node_modules/react-redux/es/utils/verifyPlainObject.js"); + + +function defaultMergeProps(stateProps, dispatchProps, ownProps) { + return Object(_babel_runtime_helpers_esm_extends__WEBPACK_IMPORTED_MODULE_0__["default"])({}, ownProps, {}, stateProps, {}, dispatchProps); +} +function wrapMergePropsFunc(mergeProps) { + return function initMergePropsProxy(dispatch, _ref) { + var displayName = _ref.displayName, + pure = _ref.pure, + areMergedPropsEqual = _ref.areMergedPropsEqual; + var hasRunOnce = false; + var mergedProps; + return function mergePropsProxy(stateProps, dispatchProps, ownProps) { + var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps); + + if (hasRunOnce) { + if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps; + } else { + hasRunOnce = true; + mergedProps = nextMergedProps; + if (true) Object(_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(mergedProps, displayName, 'mergeProps'); + } + + return mergedProps; + }; + }; +} +function whenMergePropsIsFunction(mergeProps) { + return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined; +} +function whenMergePropsIsOmitted(mergeProps) { + return !mergeProps ? function () { + return defaultMergeProps; + } : undefined; +} +/* harmony default export */ __webpack_exports__["default"] = ([whenMergePropsIsFunction, whenMergePropsIsOmitted]); + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/selectorFactory.js": +/*!****************************************************************!*\ + !*** ./node_modules/react-redux/es/connect/selectorFactory.js ***! + \****************************************************************/ +/*! exports provided: impureFinalPropsSelectorFactory, pureFinalPropsSelectorFactory, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "impureFinalPropsSelectorFactory", function() { return impureFinalPropsSelectorFactory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pureFinalPropsSelectorFactory", function() { return pureFinalPropsSelectorFactory; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return finalPropsSelectorFactory; }); +/* harmony import */ var _babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @babel/runtime/helpers/esm/objectWithoutPropertiesLoose */ "./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"); +/* harmony import */ var _verifySubselectors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./verifySubselectors */ "./node_modules/react-redux/es/connect/verifySubselectors.js"); + + +function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) { + return function impureFinalPropsSelector(state, ownProps) { + return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps); + }; +} +function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) { + var areStatesEqual = _ref.areStatesEqual, + areOwnPropsEqual = _ref.areOwnPropsEqual, + areStatePropsEqual = _ref.areStatePropsEqual; + var hasRunAtLeastOnce = false; + var state; + var ownProps; + var stateProps; + var dispatchProps; + var mergedProps; + + function handleFirstCall(firstState, firstOwnProps) { + state = firstState; + ownProps = firstOwnProps; + stateProps = mapStateToProps(state, ownProps); + dispatchProps = mapDispatchToProps(dispatch, ownProps); + mergedProps = mergeProps(stateProps, dispatchProps, ownProps); + hasRunAtLeastOnce = true; + return mergedProps; + } + + function handleNewPropsAndNewState() { + stateProps = mapStateToProps(state, ownProps); + if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); + mergedProps = mergeProps(stateProps, dispatchProps, ownProps); + return mergedProps; + } + + function handleNewProps() { + if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps); + if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps); + mergedProps = mergeProps(stateProps, dispatchProps, ownProps); + return mergedProps; + } + + function handleNewState() { + var nextStateProps = mapStateToProps(state, ownProps); + var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps); + stateProps = nextStateProps; + if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps); + return mergedProps; + } + + function handleSubsequentCalls(nextState, nextOwnProps) { + var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps); + var stateChanged = !areStatesEqual(nextState, state); + state = nextState; + ownProps = nextOwnProps; + if (propsChanged && stateChanged) return handleNewPropsAndNewState(); + if (propsChanged) return handleNewProps(); + if (stateChanged) return handleNewState(); + return mergedProps; + } + + return function pureFinalPropsSelector(nextState, nextOwnProps) { + return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps); + }; +} // TODO: Add more comments +// If pure is true, the selector returned by selectorFactory will memoize its results, +// allowing connectAdvanced's shouldComponentUpdate to return false if final +// props have not changed. If false, the selector will always return a new +// object and shouldComponentUpdate will always return true. + +function finalPropsSelectorFactory(dispatch, _ref2) { + var initMapStateToProps = _ref2.initMapStateToProps, + initMapDispatchToProps = _ref2.initMapDispatchToProps, + initMergeProps = _ref2.initMergeProps, + options = Object(_babel_runtime_helpers_esm_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0__["default"])(_ref2, ["initMapStateToProps", "initMapDispatchToProps", "initMergeProps"]); + + var mapStateToProps = initMapStateToProps(dispatch, options); + var mapDispatchToProps = initMapDispatchToProps(dispatch, options); + var mergeProps = initMergeProps(dispatch, options); + + if (true) { + Object(_verifySubselectors__WEBPACK_IMPORTED_MODULE_1__["default"])(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName); + } + + var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory; + return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options); +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/verifySubselectors.js": +/*!*******************************************************************!*\ + !*** ./node_modules/react-redux/es/connect/verifySubselectors.js ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return verifySubselectors; }); +/* harmony import */ var _utils_warning__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/warning */ "./node_modules/react-redux/es/utils/warning.js"); + + +function verify(selector, methodName, displayName) { + if (!selector) { + throw new Error("Unexpected value for " + methodName + " in " + displayName + "."); + } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') { + if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) { + Object(_utils_warning__WEBPACK_IMPORTED_MODULE_0__["default"])("The selector for " + methodName + " of " + displayName + " did not specify a value for dependsOnOwnProps."); + } + } +} + +function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) { + verify(mapStateToProps, 'mapStateToProps', displayName); + verify(mapDispatchToProps, 'mapDispatchToProps', displayName); + verify(mergeProps, 'mergeProps', displayName); +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/connect/wrapMapToProps.js": +/*!***************************************************************!*\ + !*** ./node_modules/react-redux/es/connect/wrapMapToProps.js ***! + \***************************************************************/ +/*! exports provided: wrapMapToPropsConstant, getDependsOnOwnProps, wrapMapToPropsFunc */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "wrapMapToPropsConstant", function() { return wrapMapToPropsConstant; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getDependsOnOwnProps", function() { return getDependsOnOwnProps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "wrapMapToPropsFunc", function() { return wrapMapToPropsFunc; }); +/* harmony import */ var _utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/verifyPlainObject */ "./node_modules/react-redux/es/utils/verifyPlainObject.js"); + +function wrapMapToPropsConstant(getConstant) { + return function initConstantSelector(dispatch, options) { + var constant = getConstant(dispatch, options); + + function constantSelector() { + return constant; + } + + constantSelector.dependsOnOwnProps = false; + return constantSelector; + }; +} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args +// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine +// whether mapToProps needs to be invoked when props have changed. +// +// A length of one signals that mapToProps does not depend on props from the parent component. +// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and +// therefore not reporting its length accurately.. + +function getDependsOnOwnProps(mapToProps) { + return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1; +} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction, +// this function wraps mapToProps in a proxy function which does several things: +// +// * Detects whether the mapToProps function being called depends on props, which +// is used by selectorFactory to decide if it should reinvoke on props changes. +// +// * On first call, handles mapToProps if returns another function, and treats that +// new function as the true mapToProps for subsequent calls. +// +// * On first call, verifies the first result is a plain object, in order to warn +// the developer that their mapToProps function is not returning a valid result. +// + +function wrapMapToPropsFunc(mapToProps, methodName) { + return function initProxySelector(dispatch, _ref) { + var displayName = _ref.displayName; + + var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) { + return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch); + }; // allow detectFactoryAndVerify to get ownProps + + + proxy.dependsOnOwnProps = true; + + proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) { + proxy.mapToProps = mapToProps; + proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps); + var props = proxy(stateOrDispatch, ownProps); + + if (typeof props === 'function') { + proxy.mapToProps = props; + proxy.dependsOnOwnProps = getDependsOnOwnProps(props); + props = proxy(stateOrDispatch, ownProps); + } + + if (true) Object(_utils_verifyPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(props, displayName, methodName); + return props; + }; + + return proxy; + }; +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/hooks/useDispatch.js": +/*!**********************************************************!*\ + !*** ./node_modules/react-redux/es/hooks/useDispatch.js ***! + \**********************************************************/ +/*! exports provided: createDispatchHook, useDispatch */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createDispatchHook", function() { return createDispatchHook; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useDispatch", function() { return useDispatch; }); +/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); +/* harmony import */ var _useStore__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useStore */ "./node_modules/react-redux/es/hooks/useStore.js"); + + +/** + * Hook factory, which creates a `useDispatch` hook bound to a given context. + * + * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. + * @returns {Function} A `useDispatch` hook bound to the specified context. + */ + +function createDispatchHook(context) { + if (context === void 0) { + context = _components_Context__WEBPACK_IMPORTED_MODULE_0__["ReactReduxContext"]; + } + + var useStore = context === _components_Context__WEBPACK_IMPORTED_MODULE_0__["ReactReduxContext"] ? _useStore__WEBPACK_IMPORTED_MODULE_1__["useStore"] : Object(_useStore__WEBPACK_IMPORTED_MODULE_1__["createStoreHook"])(context); + return function useDispatch() { + var store = useStore(); + return store.dispatch; + }; +} +/** + * A hook to access the redux `dispatch` function. + * + * @returns {any|function} redux store's `dispatch` function + * + * @example + * + * import React, { useCallback } from 'react' + * import { useDispatch } from 'react-redux' + * + * export const CounterComponent = ({ value }) => { + * const dispatch = useDispatch() + * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), []) + * return ( + * <div> + * <span>{value}</span> + * <button onClick={increaseCounter}>Increase counter</button> + * </div> + * ) + * } + */ + +var useDispatch = +/*#__PURE__*/ +createDispatchHook(); + +/***/ }), + +/***/ "./node_modules/react-redux/es/hooks/useReduxContext.js": +/*!**************************************************************!*\ + !*** ./node_modules/react-redux/es/hooks/useReduxContext.js ***! + \**************************************************************/ +/*! exports provided: useReduxContext */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useReduxContext", function() { return useReduxContext; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); + + +/** + * A hook to access the value of the `ReactReduxContext`. This is a low-level + * hook that you should usually not need to call directly. + * + * @returns {any} the value of the `ReactReduxContext` + * + * @example + * + * import React from 'react' + * import { useReduxContext } from 'react-redux' + * + * export const CounterComponent = ({ value }) => { + * const { store } = useReduxContext() + * return <div>{store.getState()}</div> + * } + */ + +function useReduxContext() { + var contextValue = Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(_components_Context__WEBPACK_IMPORTED_MODULE_1__["ReactReduxContext"]); + + if ( true && !contextValue) { + throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>'); + } + + return contextValue; +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/hooks/useSelector.js": +/*!**********************************************************!*\ + !*** ./node_modules/react-redux/es/hooks/useSelector.js ***! + \**********************************************************/ +/*! exports provided: createSelectorHook, useSelector */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createSelectorHook", function() { return createSelectorHook; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useSelector", function() { return useSelector; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./useReduxContext */ "./node_modules/react-redux/es/hooks/useReduxContext.js"); +/* harmony import */ var _utils_Subscription__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/Subscription */ "./node_modules/react-redux/es/utils/Subscription.js"); +/* harmony import */ var _utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/useIsomorphicLayoutEffect */ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js"); +/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); + + + + + + +var refEquality = function refEquality(a, b) { + return a === b; +}; + +function useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) { + var _useReducer = Object(react__WEBPACK_IMPORTED_MODULE_0__["useReducer"])(function (s) { + return s + 1; + }, 0), + forceRender = _useReducer[1]; + + var subscription = Object(react__WEBPACK_IMPORTED_MODULE_0__["useMemo"])(function () { + return new _utils_Subscription__WEBPACK_IMPORTED_MODULE_2__["default"](store, contextSub); + }, [store, contextSub]); + var latestSubscriptionCallbackError = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + var latestSelector = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + var latestSelectedState = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(); + var selectedState; + + try { + if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) { + selectedState = selector(store.getState()); + } else { + selectedState = latestSelectedState.current; + } + } catch (err) { + if (latestSubscriptionCallbackError.current) { + err.message += "\nThe error may be correlated with this previous error:\n" + latestSubscriptionCallbackError.current.stack + "\n\n"; + } + + throw err; + } + + Object(_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__["useIsomorphicLayoutEffect"])(function () { + latestSelector.current = selector; + latestSelectedState.current = selectedState; + latestSubscriptionCallbackError.current = undefined; + }); + Object(_utils_useIsomorphicLayoutEffect__WEBPACK_IMPORTED_MODULE_3__["useIsomorphicLayoutEffect"])(function () { + function checkForUpdates() { + try { + var newSelectedState = latestSelector.current(store.getState()); + + if (equalityFn(newSelectedState, latestSelectedState.current)) { + return; + } + + latestSelectedState.current = newSelectedState; + } catch (err) { + // we ignore all errors here, since when the component + // is re-rendered, the selectors are called again, and + // will throw again, if neither props nor store state + // changed + latestSubscriptionCallbackError.current = err; + } + + forceRender({}); + } + + subscription.onStateChange = checkForUpdates; + subscription.trySubscribe(); + checkForUpdates(); + return function () { + return subscription.tryUnsubscribe(); + }; + }, [store, subscription]); + return selectedState; +} +/** + * Hook factory, which creates a `useSelector` hook bound to a given context. + * + * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. + * @returns {Function} A `useSelector` hook bound to the specified context. + */ + + +function createSelectorHook(context) { + if (context === void 0) { + context = _components_Context__WEBPACK_IMPORTED_MODULE_4__["ReactReduxContext"]; + } + + var useReduxContext = context === _components_Context__WEBPACK_IMPORTED_MODULE_4__["ReactReduxContext"] ? _useReduxContext__WEBPACK_IMPORTED_MODULE_1__["useReduxContext"] : function () { + return Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(context); + }; + return function useSelector(selector, equalityFn) { + if (equalityFn === void 0) { + equalityFn = refEquality; + } + + if ( true && !selector) { + throw new Error("You must pass a selector to useSelectors"); + } + + var _useReduxContext = useReduxContext(), + store = _useReduxContext.store, + contextSub = _useReduxContext.subscription; + + return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub); + }; +} +/** + * A hook to access the redux store's state. This hook takes a selector function + * as an argument. The selector is called with the store state. + * + * This hook takes an optional equality comparison function as the second parameter + * that allows you to customize the way the selected state is compared to determine + * whether the component needs to be re-rendered. + * + * @param {Function} selector the selector function + * @param {Function=} equalityFn the function that will be used to determine equality + * + * @returns {any} the selected state + * + * @example + * + * import React from 'react' + * import { useSelector } from 'react-redux' + * + * export const CounterComponent = () => { + * const counter = useSelector(state => state.counter) + * return <div>{counter}</div> + * } + */ + +var useSelector = +/*#__PURE__*/ +createSelectorHook(); + +/***/ }), + +/***/ "./node_modules/react-redux/es/hooks/useStore.js": +/*!*******************************************************!*\ + !*** ./node_modules/react-redux/es/hooks/useStore.js ***! + \*******************************************************/ +/*! exports provided: createStoreHook, useStore */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createStoreHook", function() { return createStoreHook; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useStore", function() { return useStore; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../components/Context */ "./node_modules/react-redux/es/components/Context.js"); +/* harmony import */ var _useReduxContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useReduxContext */ "./node_modules/react-redux/es/hooks/useReduxContext.js"); + + + +/** + * Hook factory, which creates a `useStore` hook bound to a given context. + * + * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`. + * @returns {Function} A `useStore` hook bound to the specified context. + */ + +function createStoreHook(context) { + if (context === void 0) { + context = _components_Context__WEBPACK_IMPORTED_MODULE_1__["ReactReduxContext"]; + } + + var useReduxContext = context === _components_Context__WEBPACK_IMPORTED_MODULE_1__["ReactReduxContext"] ? _useReduxContext__WEBPACK_IMPORTED_MODULE_2__["useReduxContext"] : function () { + return Object(react__WEBPACK_IMPORTED_MODULE_0__["useContext"])(context); + }; + return function useStore() { + var _useReduxContext = useReduxContext(), + store = _useReduxContext.store; + + return store; + }; +} +/** + * A hook to access the redux store. + * + * @returns {any} the redux store + * + * @example + * + * import React from 'react' + * import { useStore } from 'react-redux' + * + * export const ExampleComponent = () => { + * const store = useStore() + * return <div>{store.getState()}</div> + * } + */ + +var useStore = +/*#__PURE__*/ +createStoreHook(); + +/***/ }), + +/***/ "./node_modules/react-redux/es/index.js": +/*!**********************************************!*\ + !*** ./node_modules/react-redux/es/index.js ***! + \**********************************************/ +/*! exports provided: Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _components_Provider__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./components/Provider */ "./node_modules/react-redux/es/components/Provider.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Provider", function() { return _components_Provider__WEBPACK_IMPORTED_MODULE_0__["default"]; }); + +/* harmony import */ var _components_connectAdvanced__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/connectAdvanced */ "./node_modules/react-redux/es/components/connectAdvanced.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "connectAdvanced", function() { return _components_connectAdvanced__WEBPACK_IMPORTED_MODULE_1__["default"]; }); + +/* harmony import */ var _components_Context__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./components/Context */ "./node_modules/react-redux/es/components/Context.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "ReactReduxContext", function() { return _components_Context__WEBPACK_IMPORTED_MODULE_2__["ReactReduxContext"]; }); + +/* harmony import */ var _connect_connect__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./connect/connect */ "./node_modules/react-redux/es/connect/connect.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "connect", function() { return _connect_connect__WEBPACK_IMPORTED_MODULE_3__["default"]; }); + +/* harmony import */ var _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./hooks/useDispatch */ "./node_modules/react-redux/es/hooks/useDispatch.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useDispatch", function() { return _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_4__["useDispatch"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createDispatchHook", function() { return _hooks_useDispatch__WEBPACK_IMPORTED_MODULE_4__["createDispatchHook"]; }); + +/* harmony import */ var _hooks_useSelector__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./hooks/useSelector */ "./node_modules/react-redux/es/hooks/useSelector.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useSelector", function() { return _hooks_useSelector__WEBPACK_IMPORTED_MODULE_5__["useSelector"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createSelectorHook", function() { return _hooks_useSelector__WEBPACK_IMPORTED_MODULE_5__["createSelectorHook"]; }); + +/* harmony import */ var _hooks_useStore__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./hooks/useStore */ "./node_modules/react-redux/es/hooks/useStore.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "useStore", function() { return _hooks_useStore__WEBPACK_IMPORTED_MODULE_6__["useStore"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createStoreHook", function() { return _hooks_useStore__WEBPACK_IMPORTED_MODULE_6__["createStoreHook"]; }); + +/* harmony import */ var _utils_batch__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/batch */ "./node_modules/react-redux/es/utils/batch.js"); +/* harmony import */ var _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/reactBatchedUpdates */ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "batch", function() { return _utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_8__["unstable_batchedUpdates"]; }); + +/* harmony import */ var _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/shallowEqual */ "./node_modules/react-redux/es/utils/shallowEqual.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "shallowEqual", function() { return _utils_shallowEqual__WEBPACK_IMPORTED_MODULE_9__["default"]; }); + + + + + + + + + + + +Object(_utils_batch__WEBPACK_IMPORTED_MODULE_7__["setBatch"])(_utils_reactBatchedUpdates__WEBPACK_IMPORTED_MODULE_8__["unstable_batchedUpdates"]); + + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/Subscription.js": +/*!***********************************************************!*\ + !*** ./node_modules/react-redux/es/utils/Subscription.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Subscription; }); +/* harmony import */ var _batch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./batch */ "./node_modules/react-redux/es/utils/batch.js"); + // encapsulates the subscription logic for connecting a component to the redux store, as +// well as nesting subscriptions of descendant components, so that we can ensure the +// ancestor components re-render before descendants + +var nullListeners = { + notify: function notify() {} +}; + +function createListenerCollection() { + var batch = Object(_batch__WEBPACK_IMPORTED_MODULE_0__["getBatch"])(); + var first = null; + var last = null; + return { + clear: function clear() { + first = null; + last = null; + }, + notify: function notify() { + batch(function () { + var listener = first; + + while (listener) { + listener.callback(); + listener = listener.next; + } + }); + }, + get: function get() { + var listeners = []; + var listener = first; + + while (listener) { + listeners.push(listener); + listener = listener.next; + } + + return listeners; + }, + subscribe: function subscribe(callback) { + var isSubscribed = true; + var listener = last = { + callback: callback, + next: null, + prev: last + }; + + if (listener.prev) { + listener.prev.next = listener; + } else { + first = listener; + } + + return function unsubscribe() { + if (!isSubscribed || first === null) return; + isSubscribed = false; + + if (listener.next) { + listener.next.prev = listener.prev; + } else { + last = listener.prev; + } + + if (listener.prev) { + listener.prev.next = listener.next; + } else { + first = listener.next; + } + }; + } + }; +} + +var Subscription = +/*#__PURE__*/ +function () { + function Subscription(store, parentSub) { + this.store = store; + this.parentSub = parentSub; + this.unsubscribe = null; + this.listeners = nullListeners; + this.handleChangeWrapper = this.handleChangeWrapper.bind(this); + } + + var _proto = Subscription.prototype; + + _proto.addNestedSub = function addNestedSub(listener) { + this.trySubscribe(); + return this.listeners.subscribe(listener); + }; + + _proto.notifyNestedSubs = function notifyNestedSubs() { + this.listeners.notify(); + }; + + _proto.handleChangeWrapper = function handleChangeWrapper() { + if (this.onStateChange) { + this.onStateChange(); + } + }; + + _proto.isSubscribed = function isSubscribed() { + return Boolean(this.unsubscribe); + }; + + _proto.trySubscribe = function trySubscribe() { + if (!this.unsubscribe) { + this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper); + this.listeners = createListenerCollection(); + } + }; + + _proto.tryUnsubscribe = function tryUnsubscribe() { + if (this.unsubscribe) { + this.unsubscribe(); + this.unsubscribe = null; + this.listeners.clear(); + this.listeners = nullListeners; + } + }; + + return Subscription; +}(); + + + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/batch.js": +/*!****************************************************!*\ + !*** ./node_modules/react-redux/es/utils/batch.js ***! + \****************************************************/ +/*! exports provided: setBatch, getBatch */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setBatch", function() { return setBatch; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getBatch", function() { return getBatch; }); +// Default to a dummy "batch" implementation that just runs the callback +function defaultNoopBatch(callback) { + callback(); +} + +var batch = defaultNoopBatch; // Allow injecting another batching function later + +var setBatch = function setBatch(newBatch) { + return batch = newBatch; +}; // Supply a getter just to skip dealing with ESM bindings + +var getBatch = function getBatch() { + return batch; +}; + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/isPlainObject.js": +/*!************************************************************!*\ + !*** ./node_modules/react-redux/es/utils/isPlainObject.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return isPlainObject; }); +/** + * @param {any} obj The object to inspect. + * @returns {boolean} True if the argument appears to be a plain object. + */ +function isPlainObject(obj) { + if (typeof obj !== 'object' || obj === null) return false; + var proto = Object.getPrototypeOf(obj); + if (proto === null) return true; + var baseProto = proto; + + while (Object.getPrototypeOf(baseProto) !== null) { + baseProto = Object.getPrototypeOf(baseProto); + } + + return proto === baseProto; +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/reactBatchedUpdates.js": +/*!******************************************************************!*\ + !*** ./node_modules/react-redux/es/utils/reactBatchedUpdates.js ***! + \******************************************************************/ +/*! exports provided: unstable_batchedUpdates */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-dom */ "react-dom"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_0__); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "unstable_batchedUpdates", function() { return react_dom__WEBPACK_IMPORTED_MODULE_0__["unstable_batchedUpdates"]; }); + +/* eslint-disable import/no-unresolved */ + + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/shallowEqual.js": +/*!***********************************************************!*\ + !*** ./node_modules/react-redux/es/utils/shallowEqual.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return shallowEqual; }); +function is(x, y) { + if (x === y) { + return x !== 0 || y !== 0 || 1 / x === 1 / y; + } else { + return x !== x && y !== y; + } +} + +function shallowEqual(objA, objB) { + if (is(objA, objB)) return true; + + if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { + return false; + } + + var keysA = Object.keys(objA); + var keysB = Object.keys(objB); + if (keysA.length !== keysB.length) return false; + + for (var i = 0; i < keysA.length; i++) { + if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { + return false; + } + } + + return true; +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js": +/*!************************************************************************!*\ + !*** ./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js ***! + \************************************************************************/ +/*! exports provided: useIsomorphicLayoutEffect */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useIsomorphicLayoutEffect", function() { return useIsomorphicLayoutEffect; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); + // React currently throws a warning when using useLayoutEffect on the server. +// To get around it, we can conditionally useEffect on the server (no-op) and +// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store +// subscription callback always has the selector from the latest render commit +// available, otherwise a store update may happen between render and the effect, +// which may cause missed updates; we also must ensure the store subscription +// is created synchronously, otherwise a store update may occur before the +// subscription is created and an inconsistent state may be observed + +var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? react__WEBPACK_IMPORTED_MODULE_0__["useLayoutEffect"] : react__WEBPACK_IMPORTED_MODULE_0__["useEffect"]; + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/verifyPlainObject.js": +/*!****************************************************************!*\ + !*** ./node_modules/react-redux/es/utils/verifyPlainObject.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return verifyPlainObject; }); +/* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ "./node_modules/react-redux/es/utils/isPlainObject.js"); +/* harmony import */ var _warning__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./warning */ "./node_modules/react-redux/es/utils/warning.js"); + + +function verifyPlainObject(value, displayName, methodName) { + if (!Object(_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(value)) { + Object(_warning__WEBPACK_IMPORTED_MODULE_1__["default"])(methodName + "() in " + displayName + " must return a plain object. Instead received " + value + "."); + } +} + +/***/ }), + +/***/ "./node_modules/react-redux/es/utils/warning.js": +/*!******************************************************!*\ + !*** ./node_modules/react-redux/es/utils/warning.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return warning; }); +/** + * Prints a warning in the console if it exists. + * + * @param {String} message The warning message. + * @returns {void} + */ +function warning(message) { + /* eslint-disable no-console */ + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(message); + } + /* eslint-enable no-console */ + + + try { + // This error was thrown as a convenience so that if you enable + // "break on all exceptions" in your console, + // it would pause the execution at this line. + throw new Error(message); + /* eslint-disable no-empty */ + } catch (e) {} + /* eslint-enable no-empty */ + +} + +/***/ }), + +/***/ "./node_modules/reduce-reducers/es/index.js": +/*!**************************************************!*\ + !*** ./node_modules/reduce-reducers/es/index.js ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function () { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + var initialState = typeof args[args.length - 1] !== 'function' && args.pop(); + var reducers = args; + + if (typeof initialState === 'undefined') { + throw new TypeError('The initial state may not be undefined. If you do not want to set a value for this reducer, you can use null instead of undefined.'); + } + + return function (prevState, value) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + var prevStateIsUndefined = typeof prevState === 'undefined'; + var valueIsUndefined = typeof value === 'undefined'; + + if (prevStateIsUndefined && valueIsUndefined && initialState) { + return initialState; + } + + return reducers.reduce(function (newState, reducer) { + return reducer.apply(undefined, [newState, value].concat(args)); + }, prevStateIsUndefined && !valueIsUndefined && initialState ? initialState : prevState); + }; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/combineActions.js": +/*!*********************************************************!*\ + !*** ./node_modules/redux-actions/es/combineActions.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return combineActions; }); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/isFunction */ "./node_modules/redux-actions/es/utils/isFunction.js"); +/* harmony import */ var _utils_isSymbol__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/isSymbol */ "./node_modules/redux-actions/es/utils/isSymbol.js"); +/* harmony import */ var _utils_isEmpty__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/isEmpty */ "./node_modules/redux-actions/es/utils/isEmpty.js"); +/* harmony import */ var _utils_toString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/toString */ "./node_modules/redux-actions/es/utils/toString.js"); +/* harmony import */ var _utils_isString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/isString */ "./node_modules/redux-actions/es/utils/isString.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constants */ "./node_modules/redux-actions/es/constants.js"); + + + + + + + + +function isValidActionType(type) { + return Object(_utils_isString__WEBPACK_IMPORTED_MODULE_5__["default"])(type) || Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_1__["default"])(type) || Object(_utils_isSymbol__WEBPACK_IMPORTED_MODULE_2__["default"])(type); +} + +function isValidActionTypes(types) { + if (Object(_utils_isEmpty__WEBPACK_IMPORTED_MODULE_3__["default"])(types)) { + return false; + } + + return types.every(isValidActionType); +} + +function combineActions() { + for (var _len = arguments.length, actionsTypes = new Array(_len), _key = 0; _key < _len; _key++) { + actionsTypes[_key] = arguments[_key]; + } + + invariant__WEBPACK_IMPORTED_MODULE_0___default()(isValidActionTypes(actionsTypes), 'Expected action types to be strings, symbols, or action creators'); + var combinedActionType = actionsTypes.map(_utils_toString__WEBPACK_IMPORTED_MODULE_4__["default"]).join(_constants__WEBPACK_IMPORTED_MODULE_6__["ACTION_TYPE_DELIMITER"]); + return { + toString: function toString() { + return combinedActionType; + } + }; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/constants.js": +/*!****************************************************!*\ + !*** ./node_modules/redux-actions/es/constants.js ***! + \****************************************************/ +/*! exports provided: DEFAULT_NAMESPACE, ACTION_TYPE_DELIMITER */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DEFAULT_NAMESPACE", function() { return DEFAULT_NAMESPACE; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ACTION_TYPE_DELIMITER", function() { return ACTION_TYPE_DELIMITER; }); +var DEFAULT_NAMESPACE = '/'; +var ACTION_TYPE_DELIMITER = '||'; + +/***/ }), + +/***/ "./node_modules/redux-actions/es/createAction.js": +/*!*******************************************************!*\ + !*** ./node_modules/redux-actions/es/createAction.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createAction; }); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/isFunction */ "./node_modules/redux-actions/es/utils/isFunction.js"); +/* harmony import */ var _utils_identity__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/identity */ "./node_modules/redux-actions/es/utils/identity.js"); +/* harmony import */ var _utils_isNull__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/isNull */ "./node_modules/redux-actions/es/utils/isNull.js"); + + + + +function createAction(type, payloadCreator, metaCreator) { + if (payloadCreator === void 0) { + payloadCreator = _utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"]; + } + + invariant__WEBPACK_IMPORTED_MODULE_0___default()(Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_1__["default"])(payloadCreator) || Object(_utils_isNull__WEBPACK_IMPORTED_MODULE_3__["default"])(payloadCreator), 'Expected payloadCreator to be a function, undefined or null'); + var finalPayloadCreator = Object(_utils_isNull__WEBPACK_IMPORTED_MODULE_3__["default"])(payloadCreator) || payloadCreator === _utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"] ? _utils_identity__WEBPACK_IMPORTED_MODULE_2__["default"] : function (head) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + return head instanceof Error ? head : payloadCreator.apply(void 0, [head].concat(args)); + }; + var hasMeta = Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_1__["default"])(metaCreator); + var typeString = type.toString(); + + var actionCreator = function actionCreator() { + var payload = finalPayloadCreator.apply(void 0, arguments); + var action = { + type: type + }; + + if (payload instanceof Error) { + action.error = true; + } + + if (payload !== undefined) { + action.payload = payload; + } + + if (hasMeta) { + action.meta = metaCreator.apply(void 0, arguments); + } + + return action; + }; + + actionCreator.toString = function () { + return typeString; + }; + + return actionCreator; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/createActions.js": +/*!********************************************************!*\ + !*** ./node_modules/redux-actions/es/createActions.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createActions; }); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_isPlainObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/isPlainObject */ "./node_modules/redux-actions/es/utils/isPlainObject.js"); +/* harmony import */ var _utils_isFunction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/isFunction */ "./node_modules/redux-actions/es/utils/isFunction.js"); +/* harmony import */ var _utils_identity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/identity */ "./node_modules/redux-actions/es/utils/identity.js"); +/* harmony import */ var _utils_isArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/isArray */ "./node_modules/redux-actions/es/utils/isArray.js"); +/* harmony import */ var _utils_isString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/isString */ "./node_modules/redux-actions/es/utils/isString.js"); +/* harmony import */ var _utils_isNil__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/isNil */ "./node_modules/redux-actions/es/utils/isNil.js"); +/* harmony import */ var _utils_getLastElement__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/getLastElement */ "./node_modules/redux-actions/es/utils/getLastElement.js"); +/* harmony import */ var _utils_camelCase__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./utils/camelCase */ "./node_modules/redux-actions/es/utils/camelCase.js"); +/* harmony import */ var _utils_arrayToObject__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./utils/arrayToObject */ "./node_modules/redux-actions/es/utils/arrayToObject.js"); +/* harmony import */ var _utils_flattenActionMap__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./utils/flattenActionMap */ "./node_modules/redux-actions/es/utils/flattenActionMap.js"); +/* harmony import */ var _utils_unflattenActionCreators__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./utils/unflattenActionCreators */ "./node_modules/redux-actions/es/utils/unflattenActionCreators.js"); +/* harmony import */ var _createAction__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./createAction */ "./node_modules/redux-actions/es/createAction.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./constants */ "./node_modules/redux-actions/es/constants.js"); +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + + + + + + + + + + + +function createActions(actionMap) { + for (var _len = arguments.length, identityActions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + identityActions[_key - 1] = arguments[_key]; + } + + var options = Object(_utils_isPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(Object(_utils_getLastElement__WEBPACK_IMPORTED_MODULE_7__["default"])(identityActions)) ? identityActions.pop() : {}; + invariant__WEBPACK_IMPORTED_MODULE_0___default()(identityActions.every(_utils_isString__WEBPACK_IMPORTED_MODULE_5__["default"]) && (Object(_utils_isString__WEBPACK_IMPORTED_MODULE_5__["default"])(actionMap) || Object(_utils_isPlainObject__WEBPACK_IMPORTED_MODULE_1__["default"])(actionMap)), 'Expected optional object followed by string action types'); + + if (Object(_utils_isString__WEBPACK_IMPORTED_MODULE_5__["default"])(actionMap)) { + return actionCreatorsFromIdentityActions([actionMap].concat(identityActions), options); + } + + return _objectSpread({}, actionCreatorsFromActionMap(actionMap, options), actionCreatorsFromIdentityActions(identityActions, options)); +} + +function actionCreatorsFromActionMap(actionMap, options) { + var flatActionMap = Object(_utils_flattenActionMap__WEBPACK_IMPORTED_MODULE_10__["default"])(actionMap, options); + var flatActionCreators = actionMapToActionCreators(flatActionMap); + return Object(_utils_unflattenActionCreators__WEBPACK_IMPORTED_MODULE_11__["default"])(flatActionCreators, options); +} + +function actionMapToActionCreators(actionMap, _temp) { + var _ref = _temp === void 0 ? {} : _temp, + prefix = _ref.prefix, + _ref$namespace = _ref.namespace, + namespace = _ref$namespace === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_13__["DEFAULT_NAMESPACE"] : _ref$namespace; + + function isValidActionMapValue(actionMapValue) { + if (Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_2__["default"])(actionMapValue) || Object(_utils_isNil__WEBPACK_IMPORTED_MODULE_6__["default"])(actionMapValue)) { + return true; + } + + if (Object(_utils_isArray__WEBPACK_IMPORTED_MODULE_4__["default"])(actionMapValue)) { + var _actionMapValue$ = actionMapValue[0], + payload = _actionMapValue$ === void 0 ? _utils_identity__WEBPACK_IMPORTED_MODULE_3__["default"] : _actionMapValue$, + meta = actionMapValue[1]; + return Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_2__["default"])(payload) && Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_2__["default"])(meta); + } + + return false; + } + + return Object(_utils_arrayToObject__WEBPACK_IMPORTED_MODULE_9__["default"])(Object.keys(actionMap), function (partialActionCreators, type) { + var _objectSpread2; + + var actionMapValue = actionMap[type]; + invariant__WEBPACK_IMPORTED_MODULE_0___default()(isValidActionMapValue(actionMapValue), 'Expected function, undefined, null, or array with payload and meta ' + ("functions for " + type)); + var prefixedType = prefix ? "" + prefix + namespace + type : type; + var actionCreator = Object(_utils_isArray__WEBPACK_IMPORTED_MODULE_4__["default"])(actionMapValue) ? _createAction__WEBPACK_IMPORTED_MODULE_12__["default"].apply(void 0, [prefixedType].concat(actionMapValue)) : Object(_createAction__WEBPACK_IMPORTED_MODULE_12__["default"])(prefixedType, actionMapValue); + return _objectSpread({}, partialActionCreators, (_objectSpread2 = {}, _objectSpread2[type] = actionCreator, _objectSpread2)); + }); +} + +function actionCreatorsFromIdentityActions(identityActions, options) { + var actionMap = Object(_utils_arrayToObject__WEBPACK_IMPORTED_MODULE_9__["default"])(identityActions, function (partialActionMap, type) { + var _objectSpread3; + + return _objectSpread({}, partialActionMap, (_objectSpread3 = {}, _objectSpread3[type] = _utils_identity__WEBPACK_IMPORTED_MODULE_3__["default"], _objectSpread3)); + }); + var actionCreators = actionMapToActionCreators(actionMap, options); + return Object(_utils_arrayToObject__WEBPACK_IMPORTED_MODULE_9__["default"])(Object.keys(actionCreators), function (partialActionCreators, type) { + var _objectSpread4; + + return _objectSpread({}, partialActionCreators, (_objectSpread4 = {}, _objectSpread4[Object(_utils_camelCase__WEBPACK_IMPORTED_MODULE_8__["default"])(type)] = actionCreators[type], _objectSpread4)); + }); +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/createCurriedAction.js": +/*!**************************************************************!*\ + !*** ./node_modules/redux-actions/es/createCurriedAction.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var just_curry_it__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! just-curry-it */ "./node_modules/just-curry-it/index.js"); +/* harmony import */ var just_curry_it__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(just_curry_it__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _createAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAction */ "./node_modules/redux-actions/es/createAction.js"); + + +/* harmony default export */ __webpack_exports__["default"] = (function (type, payloadCreator) { + return just_curry_it__WEBPACK_IMPORTED_MODULE_0___default()(Object(_createAction__WEBPACK_IMPORTED_MODULE_1__["default"])(type, payloadCreator), payloadCreator.length); +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/handleAction.js": +/*!*******************************************************!*\ + !*** ./node_modules/redux-actions/es/handleAction.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return handleAction; }); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_isFunction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/isFunction */ "./node_modules/redux-actions/es/utils/isFunction.js"); +/* harmony import */ var _utils_isPlainObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/isPlainObject */ "./node_modules/redux-actions/es/utils/isPlainObject.js"); +/* harmony import */ var _utils_identity__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/identity */ "./node_modules/redux-actions/es/utils/identity.js"); +/* harmony import */ var _utils_isNil__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/isNil */ "./node_modules/redux-actions/es/utils/isNil.js"); +/* harmony import */ var _utils_isUndefined__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/isUndefined */ "./node_modules/redux-actions/es/utils/isUndefined.js"); +/* harmony import */ var _utils_toString__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./utils/toString */ "./node_modules/redux-actions/es/utils/toString.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./constants */ "./node_modules/redux-actions/es/constants.js"); + + + + + + + + +function handleAction(type, reducer, defaultState) { + if (reducer === void 0) { + reducer = _utils_identity__WEBPACK_IMPORTED_MODULE_3__["default"]; + } + + var types = Object(_utils_toString__WEBPACK_IMPORTED_MODULE_6__["default"])(type).split(_constants__WEBPACK_IMPORTED_MODULE_7__["ACTION_TYPE_DELIMITER"]); + invariant__WEBPACK_IMPORTED_MODULE_0___default()(!Object(_utils_isUndefined__WEBPACK_IMPORTED_MODULE_5__["default"])(defaultState), "defaultState for reducer handling " + types.join(', ') + " should be defined"); + invariant__WEBPACK_IMPORTED_MODULE_0___default()(Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_1__["default"])(reducer) || Object(_utils_isPlainObject__WEBPACK_IMPORTED_MODULE_2__["default"])(reducer), 'Expected reducer to be a function or object with next and throw reducers'); + + var _ref = Object(_utils_isFunction__WEBPACK_IMPORTED_MODULE_1__["default"])(reducer) ? [reducer, reducer] : [reducer.next, reducer.throw].map(function (aReducer) { + return Object(_utils_isNil__WEBPACK_IMPORTED_MODULE_4__["default"])(aReducer) ? _utils_identity__WEBPACK_IMPORTED_MODULE_3__["default"] : aReducer; + }), + nextReducer = _ref[0], + throwReducer = _ref[1]; + + return function (state, action) { + if (state === void 0) { + state = defaultState; + } + + var actionType = action.type; + + if (!actionType || types.indexOf(Object(_utils_toString__WEBPACK_IMPORTED_MODULE_6__["default"])(actionType)) === -1) { + return state; + } + + return (action.error === true ? throwReducer : nextReducer)(state, action); + }; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/handleActions.js": +/*!********************************************************!*\ + !*** ./node_modules/redux-actions/es/handleActions.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return handleActions; }); +/* harmony import */ var reduce_reducers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! reduce-reducers */ "./node_modules/reduce-reducers/es/index.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! invariant */ "./node_modules/invariant/browser.js"); +/* harmony import */ var invariant__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(invariant__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _utils_isPlainObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils/isPlainObject */ "./node_modules/redux-actions/es/utils/isPlainObject.js"); +/* harmony import */ var _utils_isMap__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/isMap */ "./node_modules/redux-actions/es/utils/isMap.js"); +/* harmony import */ var _utils_ownKeys__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils/ownKeys */ "./node_modules/redux-actions/es/utils/ownKeys.js"); +/* harmony import */ var _utils_flattenReducerMap__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils/flattenReducerMap */ "./node_modules/redux-actions/es/utils/flattenReducerMap.js"); +/* harmony import */ var _handleAction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./handleAction */ "./node_modules/redux-actions/es/handleAction.js"); +/* harmony import */ var _utils_get__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./utils/get */ "./node_modules/redux-actions/es/utils/get.js"); + + + + + + + + +function handleActions(handlers, defaultState, options) { + if (options === void 0) { + options = {}; + } + + invariant__WEBPACK_IMPORTED_MODULE_1___default()(Object(_utils_isPlainObject__WEBPACK_IMPORTED_MODULE_2__["default"])(handlers) || Object(_utils_isMap__WEBPACK_IMPORTED_MODULE_3__["default"])(handlers), 'Expected handlers to be a plain object.'); + var flattenedReducerMap = Object(_utils_flattenReducerMap__WEBPACK_IMPORTED_MODULE_5__["default"])(handlers, options); + var reducers = Object(_utils_ownKeys__WEBPACK_IMPORTED_MODULE_4__["default"])(flattenedReducerMap).map(function (type) { + return Object(_handleAction__WEBPACK_IMPORTED_MODULE_6__["default"])(type, Object(_utils_get__WEBPACK_IMPORTED_MODULE_7__["default"])(type, flattenedReducerMap), defaultState); + }); + var reducer = reduce_reducers__WEBPACK_IMPORTED_MODULE_0__["default"].apply(void 0, reducers.concat([defaultState])); + return function (state, action) { + if (state === void 0) { + state = defaultState; + } + + return reducer(state, action); + }; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/index.js": +/*!************************************************!*\ + !*** ./node_modules/redux-actions/es/index.js ***! + \************************************************/ +/*! exports provided: combineActions, createAction, createActions, createCurriedAction, handleAction, handleActions */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _combineActions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./combineActions */ "./node_modules/redux-actions/es/combineActions.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "combineActions", function() { return _combineActions__WEBPACK_IMPORTED_MODULE_0__["default"]; }); + +/* harmony import */ var _createAction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./createAction */ "./node_modules/redux-actions/es/createAction.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createAction", function() { return _createAction__WEBPACK_IMPORTED_MODULE_1__["default"]; }); + +/* harmony import */ var _createActions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./createActions */ "./node_modules/redux-actions/es/createActions.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createActions", function() { return _createActions__WEBPACK_IMPORTED_MODULE_2__["default"]; }); + +/* harmony import */ var _createCurriedAction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./createCurriedAction */ "./node_modules/redux-actions/es/createCurriedAction.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "createCurriedAction", function() { return _createCurriedAction__WEBPACK_IMPORTED_MODULE_3__["default"]; }); + +/* harmony import */ var _handleAction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./handleAction */ "./node_modules/redux-actions/es/handleAction.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "handleAction", function() { return _handleAction__WEBPACK_IMPORTED_MODULE_4__["default"]; }); + +/* harmony import */ var _handleActions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./handleActions */ "./node_modules/redux-actions/es/handleActions.js"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "handleActions", function() { return _handleActions__WEBPACK_IMPORTED_MODULE_5__["default"]; }); + + + + + + + + + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/arrayToObject.js": +/*!**************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/arrayToObject.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (array, callback) { + return array.reduce(function (partialObject, element) { + return callback(partialObject, element); + }, {}); +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/camelCase.js": +/*!**********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/camelCase.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var to_camel_case__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! to-camel-case */ "./node_modules/to-camel-case/index.js"); +/* harmony import */ var to_camel_case__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(to_camel_case__WEBPACK_IMPORTED_MODULE_0__); + +var namespacer = '/'; +/* harmony default export */ __webpack_exports__["default"] = (function (type) { + return type.indexOf(namespacer) === -1 ? to_camel_case__WEBPACK_IMPORTED_MODULE_0___default()(type) : type.split(namespacer).map(to_camel_case__WEBPACK_IMPORTED_MODULE_0___default.a).join(namespacer); +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/flattenActionMap.js": +/*!*****************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/flattenActionMap.js ***! + \*****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ "./node_modules/redux-actions/es/utils/isPlainObject.js"); +/* harmony import */ var _flattenWhenNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./flattenWhenNode */ "./node_modules/redux-actions/es/utils/flattenWhenNode.js"); + + +/* harmony default export */ __webpack_exports__["default"] = (Object(_flattenWhenNode__WEBPACK_IMPORTED_MODULE_1__["default"])(_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/flattenReducerMap.js": +/*!******************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/flattenReducerMap.js ***! + \******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _isPlainObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isPlainObject */ "./node_modules/redux-actions/es/utils/isPlainObject.js"); +/* harmony import */ var _isMap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isMap */ "./node_modules/redux-actions/es/utils/isMap.js"); +/* harmony import */ var _hasGeneratorInterface__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./hasGeneratorInterface */ "./node_modules/redux-actions/es/utils/hasGeneratorInterface.js"); +/* harmony import */ var _flattenWhenNode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flattenWhenNode */ "./node_modules/redux-actions/es/utils/flattenWhenNode.js"); + + + + +/* harmony default export */ __webpack_exports__["default"] = (Object(_flattenWhenNode__WEBPACK_IMPORTED_MODULE_3__["default"])(function (node) { + return (Object(_isPlainObject__WEBPACK_IMPORTED_MODULE_0__["default"])(node) || Object(_isMap__WEBPACK_IMPORTED_MODULE_1__["default"])(node)) && !Object(_hasGeneratorInterface__WEBPACK_IMPORTED_MODULE_2__["default"])(node); +})); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/flattenWhenNode.js": +/*!****************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/flattenWhenNode.js ***! + \****************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants */ "./node_modules/redux-actions/es/constants.js"); +/* harmony import */ var _ownKeys__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ownKeys */ "./node_modules/redux-actions/es/utils/ownKeys.js"); +/* harmony import */ var _get__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./get */ "./node_modules/redux-actions/es/utils/get.js"); + + + +/* harmony default export */ __webpack_exports__["default"] = (function (predicate) { + return function flatten(map, _temp, partialFlatMap, partialFlatActionType) { + var _ref = _temp === void 0 ? {} : _temp, + _ref$namespace = _ref.namespace, + namespace = _ref$namespace === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_0__["DEFAULT_NAMESPACE"] : _ref$namespace, + prefix = _ref.prefix; + + if (partialFlatMap === void 0) { + partialFlatMap = {}; + } + + if (partialFlatActionType === void 0) { + partialFlatActionType = ''; + } + + function connectNamespace(type) { + var _ref2; + + if (!partialFlatActionType) return type; + var types = type.toString().split(_constants__WEBPACK_IMPORTED_MODULE_0__["ACTION_TYPE_DELIMITER"]); + var partials = partialFlatActionType.split(_constants__WEBPACK_IMPORTED_MODULE_0__["ACTION_TYPE_DELIMITER"]); + return (_ref2 = []).concat.apply(_ref2, partials.map(function (p) { + return types.map(function (t) { + return "" + p + namespace + t; + }); + })).join(_constants__WEBPACK_IMPORTED_MODULE_0__["ACTION_TYPE_DELIMITER"]); + } + + function connectPrefix(type) { + if (partialFlatActionType || !prefix || prefix && new RegExp("^" + prefix + namespace).test(type)) { + return type; + } + + return "" + prefix + namespace + type; + } + + Object(_ownKeys__WEBPACK_IMPORTED_MODULE_1__["default"])(map).forEach(function (type) { + var nextNamespace = connectPrefix(connectNamespace(type)); + var mapValue = Object(_get__WEBPACK_IMPORTED_MODULE_2__["default"])(type, map); + + if (predicate(mapValue)) { + flatten(mapValue, { + namespace: namespace, + prefix: prefix + }, partialFlatMap, nextNamespace); + } else { + partialFlatMap[nextNamespace] = mapValue; + } + }); + return partialFlatMap; + }; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/get.js": +/*!****************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/get.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return get; }); +/* harmony import */ var _isMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isMap */ "./node_modules/redux-actions/es/utils/isMap.js"); + +function get(key, x) { + return Object(_isMap__WEBPACK_IMPORTED_MODULE_0__["default"])(x) ? x.get(key) : x[key]; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/getLastElement.js": +/*!***************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/getLastElement.js ***! + \***************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (array) { + return array[array.length - 1]; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/hasGeneratorInterface.js": +/*!**********************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/hasGeneratorInterface.js ***! + \**********************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return hasGeneratorInterface; }); +/* harmony import */ var _ownKeys__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ownKeys */ "./node_modules/redux-actions/es/utils/ownKeys.js"); + +function hasGeneratorInterface(handler) { + var keys = Object(_ownKeys__WEBPACK_IMPORTED_MODULE_0__["default"])(handler); + var hasOnlyInterfaceNames = keys.every(function (ownKey) { + return ownKey === 'next' || ownKey === 'throw'; + }); + return keys.length && keys.length <= 2 && hasOnlyInterfaceNames; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/identity.js": +/*!*********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/identity.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isArray.js": +/*!********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isArray.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return Array.isArray(value); +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isEmpty.js": +/*!********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isEmpty.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value.length === 0; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isFunction.js": +/*!***********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isFunction.js ***! + \***********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return typeof value === 'function'; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isMap.js": +/*!******************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isMap.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return typeof Map !== 'undefined' && value instanceof Map; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isNil.js": +/*!******************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isNil.js ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value === null || value === undefined; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isNull.js": +/*!*******************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isNull.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value === null; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isPlainObject.js": +/*!**************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isPlainObject.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + if (typeof value !== 'object' || value === null) return false; + var proto = value; + + while (Object.getPrototypeOf(proto) !== null) { + proto = Object.getPrototypeOf(proto); + } + + return Object.getPrototypeOf(value) === proto; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isString.js": +/*!*********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isString.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return typeof value === 'string'; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isSymbol.js": +/*!*********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isSymbol.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return typeof value === 'symbol' || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Symbol]'; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/isUndefined.js": +/*!************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/isUndefined.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value === undefined; +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/ownKeys.js": +/*!********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/ownKeys.js ***! + \********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return ownKeys; }); +/* harmony import */ var _isMap__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./isMap */ "./node_modules/redux-actions/es/utils/isMap.js"); + +function ownKeys(object) { + if (Object(_isMap__WEBPACK_IMPORTED_MODULE_0__["default"])(object)) { + // We are using loose transforms in babel. Here we are trying to convert an + // interable to an array. Loose mode expects everything to already be an + // array. The problem is that our eslint rules encourage us to prefer + // spread over Array.from. + // + // Instead of disabling loose mode we simply disable the warning. + // eslint-disable-next-line unicorn/prefer-spread + return Array.from(object.keys()); + } + + if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') { + return Reflect.ownKeys(object); + } + + var keys = Object.getOwnPropertyNames(object); + + if (typeof Object.getOwnPropertySymbols === 'function') { + keys = keys.concat(Object.getOwnPropertySymbols(object)); + } + + return keys; +} + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/toString.js": +/*!*********************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/toString.js ***! + \*********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = (function (value) { + return value.toString(); +}); + +/***/ }), + +/***/ "./node_modules/redux-actions/es/utils/unflattenActionCreators.js": +/*!************************************************************************!*\ + !*** ./node_modules/redux-actions/es/utils/unflattenActionCreators.js ***! + \************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return unflattenActionCreators; }); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants */ "./node_modules/redux-actions/es/constants.js"); +/* harmony import */ var _isEmpty__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./isEmpty */ "./node_modules/redux-actions/es/utils/isEmpty.js"); +/* harmony import */ var _camelCase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./camelCase */ "./node_modules/redux-actions/es/utils/camelCase.js"); + + + +function unflattenActionCreators(flatActionCreators, _temp) { + var _ref = _temp === void 0 ? {} : _temp, + _ref$namespace = _ref.namespace, + namespace = _ref$namespace === void 0 ? _constants__WEBPACK_IMPORTED_MODULE_0__["DEFAULT_NAMESPACE"] : _ref$namespace, + prefix = _ref.prefix; + + function unflatten(flatActionType, partialNestedActionCreators, partialFlatActionTypePath) { + var nextNamespace = Object(_camelCase__WEBPACK_IMPORTED_MODULE_2__["default"])(partialFlatActionTypePath.shift()); + + if (Object(_isEmpty__WEBPACK_IMPORTED_MODULE_1__["default"])(partialFlatActionTypePath)) { + partialNestedActionCreators[nextNamespace] = flatActionCreators[flatActionType]; + } else { + if (!partialNestedActionCreators[nextNamespace]) { + partialNestedActionCreators[nextNamespace] = {}; + } + + unflatten(flatActionType, partialNestedActionCreators[nextNamespace], partialFlatActionTypePath); + } + } + + var nestedActionCreators = {}; + Object.getOwnPropertyNames(flatActionCreators).forEach(function (type) { + var unprefixedType = prefix ? type.replace("" + prefix + namespace, '') : type; + return unflatten(type, nestedActionCreators, unprefixedType.split(namespace)); + }); + return nestedActionCreators; +} + +/***/ }), + +/***/ "./node_modules/redux-thunk/es/index.js": +/*!**********************************************!*\ + !*** ./node_modules/redux-thunk/es/index.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function createThunkMiddleware(extraArgument) { + return function (_ref) { + var dispatch = _ref.dispatch, + getState = _ref.getState; + return function (next) { + return function (action) { + if (typeof action === 'function') { + return action(dispatch, getState, extraArgument); + } + + return next(action); + }; + }; + }; +} + +var thunk = createThunkMiddleware(); +thunk.withExtraArgument = createThunkMiddleware; + +/* harmony default export */ __webpack_exports__["default"] = (thunk); + +/***/ }), + +/***/ "./node_modules/redux/es/redux.js": +/*!****************************************!*\ + !*** ./node_modules/redux/es/redux.js ***! + \****************************************/ +/*! exports provided: __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "__DO_NOT_USE__ActionTypes", function() { return ActionTypes; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyMiddleware", function() { return applyMiddleware; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return bindActionCreators; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return combineReducers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "compose", function() { return compose; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return createStore; }); +/* harmony import */ var symbol_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! symbol-observable */ "./node_modules/symbol-observable/es/index.js"); + + +/** + * These are private action types reserved by Redux. + * For any unknown actions, you must return the current state. + * If the current state is undefined, you must return the initial state. + * Do not reference these action types directly in your code. + */ +var randomString = function randomString() { + return Math.random().toString(36).substring(7).split('').join('.'); +}; + +var ActionTypes = { + INIT: "@@redux/INIT" + randomString(), + REPLACE: "@@redux/REPLACE" + randomString(), + PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() { + return "@@redux/PROBE_UNKNOWN_ACTION" + randomString(); + } +}; + +/** + * @param {any} obj The object to inspect. + * @returns {boolean} True if the argument appears to be a plain object. + */ +function isPlainObject(obj) { + if (typeof obj !== 'object' || obj === null) return false; + var proto = obj; + + while (Object.getPrototypeOf(proto) !== null) { + proto = Object.getPrototypeOf(proto); + } + + return Object.getPrototypeOf(obj) === proto; +} + +/** + * Creates a Redux store that holds the state tree. + * The only way to change the data in the store is to call `dispatch()` on it. + * + * There should only be a single store in your app. To specify how different + * parts of the state tree respond to actions, you may combine several reducers + * into a single reducer function by using `combineReducers`. + * + * @param {Function} reducer A function that returns the next state tree, given + * the current state tree and the action to handle. + * + * @param {any} [preloadedState] The initial state. You may optionally specify it + * to hydrate the state from the server in universal apps, or to restore a + * previously serialized user session. + * If you use `combineReducers` to produce the root reducer function, this must be + * an object with the same shape as `combineReducers` keys. + * + * @param {Function} [enhancer] The store enhancer. You may optionally specify it + * to enhance the store with third-party capabilities such as middleware, + * time travel, persistence, etc. The only store enhancer that ships with Redux + * is `applyMiddleware()`. + * + * @returns {Store} A Redux store that lets you read the state, dispatch actions + * and subscribe to changes. + */ + +function createStore(reducer, preloadedState, enhancer) { + var _ref2; + + if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') { + throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.'); + } + + if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') { + enhancer = preloadedState; + preloadedState = undefined; + } + + if (typeof enhancer !== 'undefined') { + if (typeof enhancer !== 'function') { + throw new Error('Expected the enhancer to be a function.'); + } + + return enhancer(createStore)(reducer, preloadedState); + } + + if (typeof reducer !== 'function') { + throw new Error('Expected the reducer to be a function.'); + } + + var currentReducer = reducer; + var currentState = preloadedState; + var currentListeners = []; + var nextListeners = currentListeners; + var isDispatching = false; + /** + * This makes a shallow copy of currentListeners so we can use + * nextListeners as a temporary list while dispatching. + * + * This prevents any bugs around consumers calling + * subscribe/unsubscribe in the middle of a dispatch. + */ + + function ensureCanMutateNextListeners() { + if (nextListeners === currentListeners) { + nextListeners = currentListeners.slice(); + } + } + /** + * Reads the state tree managed by the store. + * + * @returns {any} The current state tree of your application. + */ + + + function getState() { + if (isDispatching) { + throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.'); + } + + return currentState; + } + /** + * Adds a change listener. It will be called any time an action is dispatched, + * and some part of the state tree may potentially have changed. You may then + * call `getState()` to read the current state tree inside the callback. + * + * You may call `dispatch()` from a change listener, with the following + * caveats: + * + * 1. The subscriptions are snapshotted just before every `dispatch()` call. + * If you subscribe or unsubscribe while the listeners are being invoked, this + * will not have any effect on the `dispatch()` that is currently in progress. + * However, the next `dispatch()` call, whether nested or not, will use a more + * recent snapshot of the subscription list. + * + * 2. The listener should not expect to see all state changes, as the state + * might have been updated multiple times during a nested `dispatch()` before + * the listener is called. It is, however, guaranteed that all subscribers + * registered before the `dispatch()` started will be called with the latest + * state by the time it exits. + * + * @param {Function} listener A callback to be invoked on every dispatch. + * @returns {Function} A function to remove this change listener. + */ + + + function subscribe(listener) { + if (typeof listener !== 'function') { + throw new Error('Expected the listener to be a function.'); + } + + if (isDispatching) { + throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); + } + + var isSubscribed = true; + ensureCanMutateNextListeners(); + nextListeners.push(listener); + return function unsubscribe() { + if (!isSubscribed) { + return; + } + + if (isDispatching) { + throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.'); + } + + isSubscribed = false; + ensureCanMutateNextListeners(); + var index = nextListeners.indexOf(listener); + nextListeners.splice(index, 1); + currentListeners = null; + }; + } + /** + * Dispatches an action. It is the only way to trigger a state change. + * + * The `reducer` function, used to create the store, will be called with the + * current state tree and the given `action`. Its return value will + * be considered the **next** state of the tree, and the change listeners + * will be notified. + * + * The base implementation only supports plain object actions. If you want to + * dispatch a Promise, an Observable, a thunk, or something else, you need to + * wrap your store creating function into the corresponding middleware. For + * example, see the documentation for the `redux-thunk` package. Even the + * middleware will eventually dispatch plain object actions using this method. + * + * @param {Object} action A plain object representing “what changed”. It is + * a good idea to keep actions serializable so you can record and replay user + * sessions, or use the time travelling `redux-devtools`. An action must have + * a `type` property which may not be `undefined`. It is a good idea to use + * string constants for action types. + * + * @returns {Object} For convenience, the same action object you dispatched. + * + * Note that, if you use a custom middleware, it may wrap `dispatch()` to + * return something else (for example, a Promise you can await). + */ + + + function dispatch(action) { + if (!isPlainObject(action)) { + throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.'); + } + + if (typeof action.type === 'undefined') { + throw new Error('Actions may not have an undefined "type" property. ' + 'Have you misspelled a constant?'); + } + + if (isDispatching) { + throw new Error('Reducers may not dispatch actions.'); + } + + try { + isDispatching = true; + currentState = currentReducer(currentState, action); + } finally { + isDispatching = false; + } + + var listeners = currentListeners = nextListeners; + + for (var i = 0; i < listeners.length; i++) { + var listener = listeners[i]; + listener(); + } + + return action; + } + /** + * Replaces the reducer currently used by the store to calculate the state. + * + * You might need this if your app implements code splitting and you want to + * load some of the reducers dynamically. You might also need this if you + * implement a hot reloading mechanism for Redux. + * + * @param {Function} nextReducer The reducer for the store to use instead. + * @returns {void} + */ + + + function replaceReducer(nextReducer) { + if (typeof nextReducer !== 'function') { + throw new Error('Expected the nextReducer to be a function.'); + } + + currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT. + // Any reducers that existed in both the new and old rootReducer + // will receive the previous state. This effectively populates + // the new state tree with any relevant data from the old one. + + dispatch({ + type: ActionTypes.REPLACE + }); + } + /** + * Interoperability point for observable/reactive libraries. + * @returns {observable} A minimal observable of state changes. + * For more information, see the observable proposal: + * https://github.com/tc39/proposal-observable + */ + + + function observable() { + var _ref; + + var outerSubscribe = subscribe; + return _ref = { + /** + * The minimal observable subscription method. + * @param {Object} observer Any object that can be used as an observer. + * The observer object should have a `next` method. + * @returns {subscription} An object with an `unsubscribe` method that can + * be used to unsubscribe the observable from the store, and prevent further + * emission of values from the observable. + */ + subscribe: function subscribe(observer) { + if (typeof observer !== 'object' || observer === null) { + throw new TypeError('Expected the observer to be an object.'); + } + + function observeState() { + if (observer.next) { + observer.next(getState()); + } + } + + observeState(); + var unsubscribe = outerSubscribe(observeState); + return { + unsubscribe: unsubscribe + }; + } + }, _ref[symbol_observable__WEBPACK_IMPORTED_MODULE_0__["default"]] = function () { + return this; + }, _ref; + } // When a store is created, an "INIT" action is dispatched so that every + // reducer returns their initial state. This effectively populates + // the initial state tree. + + + dispatch({ + type: ActionTypes.INIT + }); + return _ref2 = { + dispatch: dispatch, + subscribe: subscribe, + getState: getState, + replaceReducer: replaceReducer + }, _ref2[symbol_observable__WEBPACK_IMPORTED_MODULE_0__["default"]] = observable, _ref2; +} + +/** + * Prints a warning in the console if it exists. + * + * @param {String} message The warning message. + * @returns {void} + */ +function warning(message) { + /* eslint-disable no-console */ + if (typeof console !== 'undefined' && typeof console.error === 'function') { + console.error(message); + } + /* eslint-enable no-console */ + + + try { + // This error was thrown as a convenience so that if you enable + // "break on all exceptions" in your console, + // it would pause the execution at this line. + throw new Error(message); + } catch (e) {} // eslint-disable-line no-empty + +} + +function getUndefinedStateErrorMessage(key, action) { + var actionType = action && action.type; + var actionDescription = actionType && "action \"" + String(actionType) + "\"" || 'an action'; + return "Given " + actionDescription + ", reducer \"" + key + "\" returned undefined. " + "To ignore an action, you must explicitly return the previous state. " + "If you want this reducer to hold no value, you can return null instead of undefined."; +} + +function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) { + var reducerKeys = Object.keys(reducers); + var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer'; + + if (reducerKeys.length === 0) { + return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.'; + } + + if (!isPlainObject(inputState)) { + return "The " + argumentName + " has unexpected type of \"" + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + "\". Expected argument to be an object with the following " + ("keys: \"" + reducerKeys.join('", "') + "\""); + } + + var unexpectedKeys = Object.keys(inputState).filter(function (key) { + return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key]; + }); + unexpectedKeys.forEach(function (key) { + unexpectedKeyCache[key] = true; + }); + if (action && action.type === ActionTypes.REPLACE) return; + + if (unexpectedKeys.length > 0) { + return "Unexpected " + (unexpectedKeys.length > 1 ? 'keys' : 'key') + " " + ("\"" + unexpectedKeys.join('", "') + "\" found in " + argumentName + ". ") + "Expected to find one of the known reducer keys instead: " + ("\"" + reducerKeys.join('", "') + "\". Unexpected keys will be ignored."); + } +} + +function assertReducerShape(reducers) { + Object.keys(reducers).forEach(function (key) { + var reducer = reducers[key]; + var initialState = reducer(undefined, { + type: ActionTypes.INIT + }); + + if (typeof initialState === 'undefined') { + throw new Error("Reducer \"" + key + "\" returned undefined during initialization. " + "If the state passed to the reducer is undefined, you must " + "explicitly return the initial state. The initial state may " + "not be undefined. If you don't want to set a value for this reducer, " + "you can use null instead of undefined."); + } + + if (typeof reducer(undefined, { + type: ActionTypes.PROBE_UNKNOWN_ACTION() + }) === 'undefined') { + throw new Error("Reducer \"" + key + "\" returned undefined when probed with a random type. " + ("Don't try to handle " + ActionTypes.INIT + " or other actions in \"redux/*\" ") + "namespace. They are considered private. Instead, you must return the " + "current state for any unknown actions, unless it is undefined, " + "in which case you must return the initial state, regardless of the " + "action type. The initial state may not be undefined, but can be null."); + } + }); +} +/** + * Turns an object whose values are different reducer functions, into a single + * reducer function. It will call every child reducer, and gather their results + * into a single state object, whose keys correspond to the keys of the passed + * reducer functions. + * + * @param {Object} reducers An object whose values correspond to different + * reducer functions that need to be combined into one. One handy way to obtain + * it is to use ES6 `import * as reducers` syntax. The reducers may never return + * undefined for any action. Instead, they should return their initial state + * if the state passed to them was undefined, and the current state for any + * unrecognized action. + * + * @returns {Function} A reducer function that invokes every reducer inside the + * passed object, and builds a state object with the same shape. + */ + + +function combineReducers(reducers) { + var reducerKeys = Object.keys(reducers); + var finalReducers = {}; + + for (var i = 0; i < reducerKeys.length; i++) { + var key = reducerKeys[i]; + + if (true) { + if (typeof reducers[key] === 'undefined') { + warning("No reducer provided for key \"" + key + "\""); + } + } + + if (typeof reducers[key] === 'function') { + finalReducers[key] = reducers[key]; + } + } + + var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same + // keys multiple times. + + var unexpectedKeyCache; + + if (true) { + unexpectedKeyCache = {}; + } + + var shapeAssertionError; + + try { + assertReducerShape(finalReducers); + } catch (e) { + shapeAssertionError = e; + } + + return function combination(state, action) { + if (state === void 0) { + state = {}; + } + + if (shapeAssertionError) { + throw shapeAssertionError; + } + + if (true) { + var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache); + + if (warningMessage) { + warning(warningMessage); + } + } + + var hasChanged = false; + var nextState = {}; + + for (var _i = 0; _i < finalReducerKeys.length; _i++) { + var _key = finalReducerKeys[_i]; + var reducer = finalReducers[_key]; + var previousStateForKey = state[_key]; + var nextStateForKey = reducer(previousStateForKey, action); + + if (typeof nextStateForKey === 'undefined') { + var errorMessage = getUndefinedStateErrorMessage(_key, action); + throw new Error(errorMessage); + } + + nextState[_key] = nextStateForKey; + hasChanged = hasChanged || nextStateForKey !== previousStateForKey; + } + + hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length; + return hasChanged ? nextState : state; + }; +} + +function bindActionCreator(actionCreator, dispatch) { + return function () { + return dispatch(actionCreator.apply(this, arguments)); + }; +} +/** + * Turns an object whose values are action creators, into an object with the + * same keys, but with every function wrapped into a `dispatch` call so they + * may be invoked directly. This is just a convenience method, as you can call + * `store.dispatch(MyActionCreators.doSomething())` yourself just fine. + * + * For convenience, you can also pass an action creator as the first argument, + * and get a dispatch wrapped function in return. + * + * @param {Function|Object} actionCreators An object whose values are action + * creator functions. One handy way to obtain it is to use ES6 `import * as` + * syntax. You may also pass a single function. + * + * @param {Function} dispatch The `dispatch` function available on your Redux + * store. + * + * @returns {Function|Object} The object mimicking the original object, but with + * every action creator wrapped into the `dispatch` call. If you passed a + * function as `actionCreators`, the return value will also be a single + * function. + */ + + +function bindActionCreators(actionCreators, dispatch) { + if (typeof actionCreators === 'function') { + return bindActionCreator(actionCreators, dispatch); + } + + if (typeof actionCreators !== 'object' || actionCreators === null) { + throw new Error("bindActionCreators expected an object or a function, instead received " + (actionCreators === null ? 'null' : typeof actionCreators) + ". " + "Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?"); + } + + var boundActionCreators = {}; + + for (var key in actionCreators) { + var actionCreator = actionCreators[key]; + + if (typeof actionCreator === 'function') { + boundActionCreators[key] = bindActionCreator(actionCreator, dispatch); + } + } + + return boundActionCreators; +} + +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +} + +function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + + if (Object.getOwnPropertySymbols) { + keys.push.apply(keys, Object.getOwnPropertySymbols(object)); + } + + if (enumerableOnly) keys = keys.filter(function (sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + return keys; +} + +function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + + if (i % 2) { + ownKeys(source, true).forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(source).forEach(function (key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + + return target; +} + +/** + * Composes single-argument functions from right to left. The rightmost + * function can take multiple arguments as it provides the signature for + * the resulting composite function. + * + * @param {...Function} funcs The functions to compose. + * @returns {Function} A function obtained by composing the argument functions + * from right to left. For example, compose(f, g, h) is identical to doing + * (...args) => f(g(h(...args))). + */ +function compose() { + for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) { + funcs[_key] = arguments[_key]; + } + + if (funcs.length === 0) { + return function (arg) { + return arg; + }; + } + + if (funcs.length === 1) { + return funcs[0]; + } + + return funcs.reduce(function (a, b) { + return function () { + return a(b.apply(void 0, arguments)); + }; + }); +} + +/** + * Creates a store enhancer that applies middleware to the dispatch method + * of the Redux store. This is handy for a variety of tasks, such as expressing + * asynchronous actions in a concise manner, or logging every action payload. + * + * See `redux-thunk` package as an example of the Redux middleware. + * + * Because middleware is potentially asynchronous, this should be the first + * store enhancer in the composition chain. + * + * Note that each middleware will be given the `dispatch` and `getState` functions + * as named arguments. + * + * @param {...Function} middlewares The middleware chain to be applied. + * @returns {Function} A store enhancer applying the middleware. + */ + +function applyMiddleware() { + for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) { + middlewares[_key] = arguments[_key]; + } + + return function (createStore) { + return function () { + var store = createStore.apply(void 0, arguments); + + var _dispatch = function dispatch() { + throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.'); + }; + + var middlewareAPI = { + getState: store.getState, + dispatch: function dispatch() { + return _dispatch.apply(void 0, arguments); + } + }; + var chain = middlewares.map(function (middleware) { + return middleware(middlewareAPI); + }); + _dispatch = compose.apply(void 0, chain)(store.dispatch); + return _objectSpread2({}, store, { + dispatch: _dispatch + }); + }; + }; +} + +/* + * This is a dummy function to check if the function name has been altered by minification. + * If the function has been minified and NODE_ENV !== 'production', warn the user. + */ + +function isCrushed() {} + +if ( true && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') { + warning('You are currently using minified code outside of NODE_ENV === "production". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.'); +} + + + + +/***/ }), + +/***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": +/*!****************************************************************************!*\ + !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! + \****************************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isOldIE = function isOldIE() { + var memo; + return function memorize() { + if (typeof memo === 'undefined') { + // Test for IE <= 9 as proposed by Browserhacks + // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 + // Tests for existence of standard globals is to allow style-loader + // to operate correctly into non-standard environments + // @see https://github.com/webpack-contrib/style-loader/issues/177 + memo = Boolean(window && document && document.all && !window.atob); + } + + return memo; + }; +}(); + +var getTarget = function getTarget() { + var memo = {}; + return function memorize(target) { + if (typeof memo[target] === 'undefined') { + var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself + + if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { + try { + // This will throw an exception if access to iframe is blocked + // due to cross-origin restrictions + styleTarget = styleTarget.contentDocument.head; + } catch (e) { + // istanbul ignore next + styleTarget = null; + } + } + + memo[target] = styleTarget; + } + + return memo[target]; + }; +}(); + +var stylesInDom = []; + +function getIndexByIdentifier(identifier) { + var result = -1; + + for (var i = 0; i < stylesInDom.length; i++) { + if (stylesInDom[i].identifier === identifier) { + result = i; + break; + } + } + + return result; +} + +function modulesToDom(list, options) { + var idCountMap = {}; + var identifiers = []; + + for (var i = 0; i < list.length; i++) { + var item = list[i]; + var id = options.base ? item[0] + options.base : item[0]; + var count = idCountMap[id] || 0; + var identifier = "".concat(id, " ").concat(count); + idCountMap[id] = count + 1; + var index = getIndexByIdentifier(identifier); + var obj = { + css: item[1], + media: item[2], + sourceMap: item[3] + }; + + if (index !== -1) { + stylesInDom[index].references++; + stylesInDom[index].updater(obj); + } else { + stylesInDom.push({ + identifier: identifier, + updater: addStyle(obj, options), + references: 1 + }); + } + + identifiers.push(identifier); + } + + return identifiers; +} + +function insertStyleElement(options) { + var style = document.createElement('style'); + var attributes = options.attributes || {}; + + if (typeof attributes.nonce === 'undefined') { + var nonce = true ? __webpack_require__.nc : undefined; + + if (nonce) { + attributes.nonce = nonce; + } + } + + Object.keys(attributes).forEach(function (key) { + style.setAttribute(key, attributes[key]); + }); + + if (typeof options.insert === 'function') { + options.insert(style); + } else { + var target = getTarget(options.insert || 'head'); + + if (!target) { + throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); + } + + target.appendChild(style); + } + + return style; +} + +function removeStyleElement(style) { + // istanbul ignore if + if (style.parentNode === null) { + return false; + } + + style.parentNode.removeChild(style); +} +/* istanbul ignore next */ + + +var replaceText = function replaceText() { + var textStore = []; + return function replace(index, replacement) { + textStore[index] = replacement; + return textStore.filter(Boolean).join('\n'); + }; +}(); + +function applyToSingletonTag(style, index, remove, obj) { + var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE + + /* istanbul ignore if */ + + if (style.styleSheet) { + style.styleSheet.cssText = replaceText(index, css); + } else { + var cssNode = document.createTextNode(css); + var childNodes = style.childNodes; + + if (childNodes[index]) { + style.removeChild(childNodes[index]); + } + + if (childNodes.length) { + style.insertBefore(cssNode, childNodes[index]); + } else { + style.appendChild(cssNode); + } + } +} + +function applyToTag(style, options, obj) { + var css = obj.css; + var media = obj.media; + var sourceMap = obj.sourceMap; + + if (media) { + style.setAttribute('media', media); + } else { + style.removeAttribute('media'); + } + + if (sourceMap && btoa) { + css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); + } // For old IE + + /* istanbul ignore if */ + + + if (style.styleSheet) { + style.styleSheet.cssText = css; + } else { + while (style.firstChild) { + style.removeChild(style.firstChild); + } + + style.appendChild(document.createTextNode(css)); + } +} + +var singleton = null; +var singletonCounter = 0; + +function addStyle(obj, options) { + var style; + var update; + var remove; + + if (options.singleton) { + var styleIndex = singletonCounter++; + style = singleton || (singleton = insertStyleElement(options)); + update = applyToSingletonTag.bind(null, style, styleIndex, false); + remove = applyToSingletonTag.bind(null, style, styleIndex, true); + } else { + style = insertStyleElement(options); + update = applyToTag.bind(null, style, options); + + remove = function remove() { + removeStyleElement(style); + }; + } + + update(obj); + return function updateStyle(newObj) { + if (newObj) { + if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { + return; + } + + update(obj = newObj); + } else { + remove(); + } + }; +} + +module.exports = function (list, options) { + options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style> + // tags it will allow on a page + + if (!options.singleton && typeof options.singleton !== 'boolean') { + options.singleton = isOldIE(); + } + + list = list || []; + var lastIdentifiers = modulesToDom(list, options); + return function update(newList) { + newList = newList || []; + + if (Object.prototype.toString.call(newList) !== '[object Array]') { + return; + } + + for (var i = 0; i < lastIdentifiers.length; i++) { + var identifier = lastIdentifiers[i]; + var index = getIndexByIdentifier(identifier); + stylesInDom[index].references--; + } + + var newLastIdentifiers = modulesToDom(newList, options); + + for (var _i = 0; _i < lastIdentifiers.length; _i++) { + var _identifier = lastIdentifiers[_i]; + + var _index = getIndexByIdentifier(_identifier); + + if (stylesInDom[_index].references === 0) { + stylesInDom[_index].updater(); + + stylesInDom.splice(_index, 1); + } + } + + lastIdentifiers = newLastIdentifiers; + }; +}; + +/***/ }), + +/***/ "./node_modules/symbol-observable/es/index.js": +/*!****************************************************!*\ + !*** ./node_modules/symbol-observable/es/index.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ponyfill.js */ "./node_modules/symbol-observable/es/ponyfill.js"); +/* global window */ + + +var root; + +if (typeof self !== 'undefined') { + root = self; +} else if (typeof window !== 'undefined') { + root = window; +} else if (typeof global !== 'undefined') { + root = global; +} else if (true) { + root = module; +} else {} + +var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__["default"])(root); +/* harmony default export */ __webpack_exports__["default"] = (result); + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module))) + +/***/ }), + +/***/ "./node_modules/symbol-observable/es/ponyfill.js": +/*!*******************************************************!*\ + !*** ./node_modules/symbol-observable/es/ponyfill.js ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return symbolObservablePonyfill; }); +function symbolObservablePonyfill(root) { + var result; + var Symbol = root.Symbol; + + if (typeof Symbol === 'function') { + if (Symbol.observable) { + result = Symbol.observable; + } else { + result = Symbol('observable'); + Symbol.observable = result; + } + } else { + result = '@@observable'; + } + + return result; +}; + + +/***/ }), + +/***/ "./node_modules/to-camel-case/index.js": +/*!*********************************************!*\ + !*** ./node_modules/to-camel-case/index.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +var space = __webpack_require__(/*! to-space-case */ "./node_modules/to-space-case/index.js") + +/** + * Export. + */ + +module.exports = toCamelCase + +/** + * Convert a `string` to camel case. + * + * @param {String} string + * @return {String} + */ + +function toCamelCase(string) { + return space(string).replace(/\s(\w)/g, function (matches, letter) { + return letter.toUpperCase() + }) +} + + +/***/ }), + +/***/ "./node_modules/to-no-case/index.js": +/*!******************************************!*\ + !*** ./node_modules/to-no-case/index.js ***! + \******************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + + +/** + * Export. + */ + +module.exports = toNoCase + +/** + * Test whether a string is camel-case. + */ + +var hasSpace = /\s/ +var hasSeparator = /(_|-|\.|:)/ +var hasCamel = /([a-z][A-Z]|[A-Z][a-z])/ + +/** + * Remove any starting case from a `string`, like camel or snake, but keep + * spaces and punctuation that may be important otherwise. + * + * @param {String} string + * @return {String} + */ + +function toNoCase(string) { + if (hasSpace.test(string)) return string.toLowerCase() + if (hasSeparator.test(string)) return (unseparate(string) || string).toLowerCase() + if (hasCamel.test(string)) return uncamelize(string).toLowerCase() + return string.toLowerCase() +} + +/** + * Separator splitter. + */ + +var separatorSplitter = /[\W_]+(.|$)/g + +/** + * Un-separate a `string`. + * + * @param {String} string + * @return {String} + */ + +function unseparate(string) { + return string.replace(separatorSplitter, function (m, next) { + return next ? ' ' + next : '' + }) +} + +/** + * Camelcase splitter. + */ + +var camelSplitter = /(.)([A-Z]+)/g + +/** + * Un-camelcase a `string`. + * + * @param {String} string + * @return {String} + */ + +function uncamelize(string) { + return string.replace(camelSplitter, function (m, previous, uppers) { + return previous + ' ' + uppers.toLowerCase().split('').join(' ') + }) +} + + +/***/ }), + +/***/ "./node_modules/to-space-case/index.js": +/*!*********************************************!*\ + !*** ./node_modules/to-space-case/index.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + + +var clean = __webpack_require__(/*! to-no-case */ "./node_modules/to-no-case/index.js") + +/** + * Export. + */ + +module.exports = toSpaceCase + +/** + * Convert a `string` to space case. + * + * @param {String} string + * @return {String} + */ + +function toSpaceCase(string) { + return clean(string).replace(/[\W_]+(.|$)/g, function (matches, match) { + return match ? ' ' + match : '' + }).trim() +} + + +/***/ }), + +/***/ "./node_modules/viz.js/full.render.js": +/*!********************************************!*\ + !*** ./node_modules/viz.js/full.render.js ***! + \********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(process, Buffer) {/* +Viz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) +*/ +(function(global) { +var Module = function(Module) { + Module = Module || {}; +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=(function(status,toThrow){throw toThrow});Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module["ENVIRONMENT"]){if(Module["ENVIRONMENT"]==="WEB"){ENVIRONMENT_IS_WEB=true}else if(Module["ENVIRONMENT"]==="WORKER"){ENVIRONMENT_IS_WORKER=true}else if(Module["ENVIRONMENT"]==="NODE"){ENVIRONMENT_IS_NODE=true}else if(Module["ENVIRONMENT"]==="SHELL"){ENVIRONMENT_IS_SHELL=true}else{throw new Error("Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.")}}else{ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&"function"==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=__webpack_require__(/*! fs */ 1);if(!nodePath)nodePath=__webpack_require__(/*! path */ 2);filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);if(true){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process["on"]("unhandledRejection",(function(reason,p){process["exit"](1)}));Module["inspect"]=(function(){return"[Emscripten Module object]"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!="undefined"){Module["arguments"]=arguments}Module["setWindowTitle"]=(function(title){document.title=title})}Module["print"]=typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null;Module["printErr"]=typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||Module["print"];Module.print=Module["print"];Module.printErr=Module["printErr"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}var JSfuncs={"stackSave":(function(){stackSave()}),"stackRestore":(function(){stackRestore()}),"arrayToC":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc==="function"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return"";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str="";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw"Runtime error: expected the system to be little-endian!";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];if(!Math["clz32"])Math["clz32"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math["clz32"];if(!Math["trunc"])Math["trunc"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math["trunc"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath("/",PATH.dirname(path));FS.writeFile(PATH.join("/",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+194160;__ATINIT__.push();memoryInitializer="data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqQVQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP1ioNc07TtU/JXUCmggb2j8AAAAAAADgPwAAAAAAAOA/LNSa5h2n6j9q3nGKjuToP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAAOA/XdxGA3gL4j8AAAAAAADQP1ioNc07TtU/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/07zjFB3J0T/TvOMUHcnRP13cRgN4C+I/XdxGA3gL4j9d3EYDeAviPw1xrIvbaNw/ZF3cRgN47T/Sb18HzhnnPxB6Nqs+V+U/EHo2qz5X5T/Sb18HzhnnP3gLJCh+jOM/tRX7y+7J4T/Sb18HzhnnP9JvXwfOGec/WKg1zTtO1T+IhVrTvOPYP9JvXwfOGec/eAskKH6M4z/EQq1p3nHsP9JvXwfOGec/0m9fB84Z5z+1FfvL7snhP9JvXwfOGec/EHo2qz5X5T+1FfvL7snhP3gLJCh+jOM/0m9fB84Z5z/Sb18HzhnnP4Y41sVtNO4/0m9fB84Z5z/Sb18HzhnnP3gLJCh+jOM/WKg1zTtO1T/TvOMUHcnRP1ioNc07TtU/pgpGJXUC3j8AAAAAAADgP1ioNc07TtU/DXGsi9to3D8AAAAAAADgPw1xrIvbaNw/AAAAAAAA4D8NcayL22jcP1ioNc07TtU/AAAAAAAA4D8AAAAAAADgP9O84xQdydE/07zjFB3J0T8AAAAAAADgP9O84xQdydE/at5xio7k6D8AAAAAAADgPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgP1ioNc07TtU/iIVa07zj2D/TvOMUHcnRPwAAAAAAAOA/AAAAAAAA4D/Sb18HzhnnPwAAAAAAAOA/AAAAAAAA4D8NcayL22jcP/RsVn2utt4/ETY8vVKWyT/0bFZ9rrbePzsBTYQNT+E/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D9YqDXNO07VPwAAAAAAAOA/AAAAAAAA4D8+6Nms+lzFPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAAOA/gnNGlPYGxz8NcayL22jcPwAAAAAAAOA/WKg1zTtO1T9YqDXNO07VP7UV+8vuyeE/tRX7y+7J4T8AAAAAAADQPwAAAAAAAOA/AAAAAAAA4D8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8H8BZIUPzcP6K0N/jCZNY/WKg1zTtO1T8NcayL22jcPw1xrIvbaNw/AAAAAAAA4D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA0D8NcayL22jcPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VPwAAAAAAANA/WKg1zTtO1T9YqDXNO07VP1ioNc07TtU/AAAAAAAA8D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQP8RCrWnecew/AAAAAAAA0D9/2T15WKjRPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/eAskKH6M4z/Sb18HzhnnP8RCrWnecew/E/JBz2bV0z8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/EHo2qz5X5T8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAANA/AAAAAAAA0D/TvOMUHcnRPwAAAAAAAOA/0m9fB84Z5z8AAAAAAADgPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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CAAAAFxlAQAOAAAAfWUBAAgAAACGZQEAEgAAAKdlAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAADAAAAIQAAAAQAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAQAAAACBHAAAwRwAABgAAAAQAAAA8RwAABgAAAAgAAAAGAAAABAAAAERHAAAABAAACAAAAP////8AAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAAIAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAkAAAALAAAACAAAAAoAAADISAAATEgAALBIAAABAAAAAQAAAAoAAAAWAAAACwAAAFgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAANAAAAAAAAAAcAAAAAAAAABwAAAAIAAAAFAAAACAAAAAAAAAAAAAAABgAAAAMAAAAOAAAACwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABAAAAAAAAAABwAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA/////wAAAAAAAAAAJwAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAMAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAA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R74BAANO+/u0rv8AU74BAJI147PN4/8AX74BAE0p68zrxf8Aa74BAMob5N7L5P8Ad74BABhY/v7Zpv8Ag74BAANO+/u0rv8Aj74BAJI147PN4/8Am74BAE0p68zrxf8Ap74BAMob5N7L5P8As74BABhY/v7Zpv8Av74BACoy////zP8Ay74BAANO+/u0rv8A174BAJI147PN4/8A474BAE0p68zrxf8A774BAMob5N7L5P8A+74BABhY/v7Zpv8AB78BACoy////zP8AE78BABws5eXYvf8AH78BAANO+/u0rv8AK78BAJI147PN4/8AN78BAE0p68zrxf8AQ78BAMob5N7L5P8AT78BABhY/v7Zpv8AW78BACoy////zP8AZ78BABws5eXYvf8Ac78BAOkj/f3a7P8Af78BAANO+/u0rv8Ai78BAJI147PN4/8Al78BAE0p68zrxf8Ao78BAMob5N7L5P8Ar78BABhY/v7Zpv8Au78BACoy////zP8Ax78BABws5eXYvf8A078BAOkj/f3a7P8A378BAAAA8vLy8v8A678BAGw14rPizf8A978BABFR/f3NrP8AA8ABAJsf6MvV6P8AD8ABAGw14rPizf8AG8ABABFR/f3NrP8AJ8ABAJsf6MvV6P8AM8ABAOQr9PTK5P8AP8ABAGw14rPizf8AS8ABABFR/f3NrP8AV8ABAJsf6MvV6P8AY8ABAOQr9PTK5P8Ab8ABADgt9eb1yf8Ae8ABAGw14rPizf8Ah8ABABFR/f3NrP8Ak8ABAJsf6MvV6P8An8ABAOQr9PTK5P8Aq8ABADgt9eb1yf8At8ABACNR///yrv8Aw8ABAGw14rPizf8Az8ABABFR/f3NrP8A28ABAJsf6MvV6P8A58ABAOQr9PTK5P8A88ABADgt9eb1yf8A/8ABACNR///yrv8AC8EBABkn8fHizP8AF8EBAGw14rPizf8AI8EBABFR/f3NrP8AL8EBAJsf6MvV6P8AO8EBAOQr9PTK5P8AR8EBADgt9eb1yf8AU8EBACNR///yrv8AX8EBABkn8fHizP8Aa8EBAAAAzMzMzP8Ad8EBAOb9jo4BUv8AgcEBAE2/ZCdkGf8AjMEBAObcxcUbff8AlsEBAOh23t53rv8AoMEBAOU+8fG22v8AqsEBAOkd/f3g7/8AtMEBADsm9eb10P8A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it4BADqb2KbYVP8Ak94BACLQ///ZL/8AnN4BABla5eXElP8Apd4BAHJ4wmbCpf8Art4BAAub/PyNYv8At94BAJxNy42gy/8AwN4BAORm5+eKw/8Ayd4BADqb2KbYVP8A0t4BACLQ///ZL/8A294BABla5eXElP8A5N4BAAAAs7Ozs/8A7d4BAHhU043Tx/8A994BANNSvbyAvf8AAt8BACpM////s/8ADN8BAK8l2r662v8AFt8BAASL+/uAcv8AIN8BAJBk04Cx0/8AKt8BABac/f20Yv8ANN8BADqG3rPeaf8APt8BAOkv/PzN5f8ASN8BAAAA2dnZ2f8AUt8BAHhU043Tx/8AXN8BANNSvbyAvf8AZ98BAE0p68zrxf8Act8BACpM////s/8AfN8BAK8l2r662v8Aht8BAASL+/uAcv8AkN8BAJBk04Cx0/8Amt8BABac/f20Yv8ApN8BADqG3rPeaf8Art8BAOkv/PzN5f8AuN8BAAAA2dnZ2f8Awt8BAHhU043Tx/8AzN8BANNSvbyAvf8A198BAE0p68zrxf8A4t8BACWQ///tb/8A7d8BACpM////s/8A998BAK8l2r662v8AAeABAASL+/uAcv8AC+ABAJBk04Cx0/8AFeABABac/f20Yv8AH+ABADqG3rPeaf8AKeABAOkv/PzN5f8AM+ABAAAA2dnZ2f8APeABAHhU043Tx/8ARuABACpM////s/8AT+ABAK8l2r662v8AWOABAHhU043Tx/8AYeABACpM////s/8AauABAK8l2r662v8Ac+ABAASL+/uAcv8AfOABAHhU043Tx/8AheABACpM////s/8AjuABAK8l2r662v8Al+ABAASL+/uAcv8AoOABAJBk04Cx0/8AqeABAHhU043Tx/8AsuABACpM////s/8Au+ABAK8l2r662v8AxOABAASL+/uAcv8AzeABAJBk04Cx0/8A1uABABac/f20Yv8A3+ABAHhU043Tx/8A6OABACpM////s/8A8eABAK8l2r662v8A+uABAASL+/uAcv8AA+EBAJBk04Cx0/8ADOEBABac/f20Yv8AFeEBADqG3rPeaf8AHuEBAHhU043Tx/8AJ+EBACpM////s/8AMOEBAK8l2r662v8AOeEBAASL+/uAcv8AQuEBAJBk04Cx0/8AS+EBABac/f20Yv8AVOEBADqG3rPeaf8AXeEBAOkv/PzN5f8AZuEBAHhU043Tx/8Ab+EBACpM////s/8AeOEBAK8l2r662v8AgeEBAASL+/uAcv8AiuEBAJBk04Cx0/8Ak+EBABac/f20Yv8AnOEBADqG3rPeaf8ApeEBAOkv/PzN5f8AruEBAAAA2dnZ2f8At+EBAO39np4BQv8AxeEBALGCol5Pov8A1OEBAPq01dU+T/8A4uEBAAq49PRtQ/8A8OEBABSd/f2uYf8A/uEBAB9z/v7gi/8ADOIBADFg9eb1mP8AGuIBAE9B3avdpP8AKOIBAHJ4wmbCpf8ANuIBAI+7vTKIvf8AROIBAO39np4BQv8AUuIBAI+7vTKIvf8AYeIBALGCol5Pov8AcOIBAPq01dU+T/8AfuIBAAq49PRtQ/8AjOIBABSd/f2uYf8AmuIBAB9z/v7gi/8AqOIBACpA////v/8AtuIBADFg9eb1mP8AxOIBAE9B3avdpP8A0uIBAHJ4wmbCpf8A4OIBAA2k/PyNWf8A7eIBACpA////v/8A+uIBAFFN1ZnVlP8AB+MBAP7h19cZHP8AFOMBABSd/f2uYf8AIeMBAE9B3avdpP8ALuMBAI/EuiuDuv8AO+MBAP7h19cZHP8ASOMBABSd/f2uYf8AVeMBACpA////v/8AYuMBAE9B3avdpP8Ab+MBAI/EuiuDuv8AfOMBAPq01dU+T/8AieMBAA2k/PyNWf8AluMBAB9z/v7gi/8Ao+MBADFg9eb1mP8AsOMBAFFN1ZnVlP8AveMBAI+7vTKIvf8AyuMBAPq01dU+T/8A1+MBAA2k/PyNWf8A5OMBAB9z/v7gi/8A8eMBACpA////v/8A/uMBADFg9eb1mP8AC+QBAFFN1ZnVlP8AGOQBAI+7vTKIvf8AJeQBAPq01dU+T/8AMuQBAAq49PRtQ/8AP+QBABSd/f2uYf8ATOQBAB9z/v7gi/8AWeQBADFg9eb1mP8AZuQBAE9B3avdpP8Ac+QBAHJ4wmbCpf8AgOQBAI+7vTKIvf8AjeQBAPq01dU+T/8AmuQBAAq49PRtQ/8Ap+QBABSd/f2uYf8AtOQBAB9z/v7gi/8AweQBACpA////v/8AzuQBADFg9eb1mP8A2+QBAE9B3avdpP8A6OQBAHJ4wmbCpf8A9eQBAI+7vTKIvf8AAuUBAJMP//D4//8AEeUBABgj+vrr1/8AI+UBAH///wD///8ALeUBAHGA/3//1P8APeUBAH8P//D///8ASOUBACoa9fX13P8AU+UBABc6///kxP8AX+UBAAAAAAAAAP8AauUBABkx///rzf8AfuUBAKr//wAA//8AiOUBAMDO4oor4v8AmOUBAAC+paUqKv8Ao+UBABdj3t64h/8AsuUBAIBnoF+eoP8AweUBAD///3//AP8A0eUBABHa0tJpHv8A4OUBAAuv//9/UP8A6+UBAJqT7WSV7f8A/+UBACEi///43P8ADeYBAPbn3NwUPP8AGuYBAH///wD///8AJOYBAKr/iwAAi/8AMuYBAH//iwCLi/8AQOYBAB7vuLiGC/8AU+YBAAAAqampqf8AYeYBAFX/ZABkAP8AcOYBAAAAqampqf8AfuYBACduvb23a/8AjeYBANT/i4sAi/8AnuYBADqOa1VrL/8AsuYBABf///+MAP8AwuYBAMbAzJkyzP8A0uYBAAD/i4sAAP8A3+YBAAp56emWev8A7+YBAFU9vI+8j/8AAecBAK+Pi0g9i/8AFOcBAH9nTy9PT/8AJ+cBAH9nTy9PT/8AOucBAID/0QDO0f8ATecBAMf/05QA0/8AXecBAOjr//8Uk/8Aa+cBAIr//wC///8AfOcBAAAAaWlpaf8AiecBAAAAaWlpaf8AlucBAJTh/x6Q//8ApucBAADOsrIiIv8AtecBABwP///68P8AxucBAFXAiyKLIv8A1+cBANT///8A//8A5OcBAAAA3Nzc3P8A8+cBAKoH//j4//8AA+gBACP////XAP8ADegBAB7Z2tqlIP8AHOgBAAAAgICAgP8AJugBAFX/gACAAP8AMegBADvQ/63/L/8AQugBAAAAgICAgP8ATOgBAFUP//D/8P8AWugBAOmW//9ptP8AZ+gBAACMzc1cXP8AdugBAML/gksAgv8AgugBACoP////8P8AjegBACZq8PDmjP8AmOgBAKoU+ubm+v8ApugBAPAP///w9f8AuegBAED//Hz8AP8AyOgBACYx///6zf8A2ugBAIk/5q3Y5v8A6egBAAB38PCAgP8A+egBAH8f/+D///8ACOkBACoo+vr60v8AIukBAAAA09PT0/8AMekBAFVk7pDukP8AQekBAAAA09PT0/8AUOkBAPhJ//+2wf8AX+kBAAyE//+gev8A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VAACAOqR//9utP8AXQACAOuN7u5qp/8AZgACAOyHzc1gkP8AbwACAOqUi4s6Yv8AeAACAACMzc1cXP8AggACAACU//9qav8AjQACAACU7u5jY/8AmAACAACVzc1VVf8AowACAACUi4s6Ov8ArgACAML/gksAgv8AtQACACoA/////gAAuwACACoP////8P8AwQACACoP////8P8AyAACACoP7u7u4P8AzwACACoOzc3Nwf8A1gACACoOi4uLg/8A3QACACZq8PDmjP8A4wACACdw///2j/8A6gACACdw7u7mhf8A8QACACdvzc3Gc/8A+AACACdvi4uGTv8A/wACAKoU+ubm+v8ACAECAPAP///w9f8AFgECAPAP///w9f8AJQECAO8P7u7g5f8ANAECAPAOzc3Bxf8AQwECAO8Oi4uDhv8AUgECAED//Hz8AP8AXAECACYx///6zf8AaQECACYx///6zf8AdwECACUy7u7pv/8AhQECACYxzc3Jpf8AkwECACcxi4uJcP8AoQECAIk/5q3Y5v8AqwECAIpA/7/v//8AtgECAIpA7rLf7v8AwQECAIo/zZrAzf8AzAECAIlAi2iDi/8A1wECAAB38PCAgP8A4gECAH8f/+D///8A7AECAH8f/+D///8A9wECAH8f7tHu7v8AAgICAH8fzbTNzf8ADQICAH8fi3qLi/8AGAICACNz7u7dgv8AJwICACN0///si/8ANwICACNz7u7cgv8ARwICACNzzc2+cP8AVwICACNzi4uBTP8AZwICACoo+vr60v8AfAICAAAA09PT0/8AhgICAAAA09PT0/8AkAICAPhJ//+2wf8AmgICAPlR//+uuf8ApQICAPhR7u6irf8AsAICAPlQzc2Mlf8AuwICAPlQi4tfZf8AxgICAAyE//+gev8A0gICAAyE//+gev8A3wICAAuE7u6Vcv8A7AICAAyFzc2BYv8A+QICAAyFi4tXQv8ABgMCAH3RsiCyqv8AFAMCAI91+ofO+v8AIQMCAI9P/7Di//8ALwMCAI9P7qTT7v8APQMCAI5PzY22zf8ASwMCAI9Oi2B7i/8AWQMCAK+P/4Rw//8AaAMCAJQ4mXeImf8AdwMCAJQ4mXeImf8AhgMCAJc03rDE3v8AlQMCAJc1/8rh//8ApQMCAJc17rzS7v8AtQMCAJc1zaK1zf8A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HBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDX///7/////39/VP3/DwD+3////////////t//////AwD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AAAAAAAAAAAA////BwcAAAAAAP7//wf+BwAAAAD+//////////98/38vAGAAAADg////////IwAAAP8DAAAA4J/5///9xQMAAACwAwADAOCH+f///W0DAAAAXgAAHADgr/v///3tIwAAAAABAAAA4J/5///9zSMAAACwAwAAAODHPdYYx78DAAAAAAAAAADg3/3///3vAwAAAAADAAAA4N/9///97wMAAABAAwAAAODf/f///f8DAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA/v////9/DQA/AAAAAAAAAJYl8P6ubA0gHwAAAAAAAAAAAAAAAAAAAP/+////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////z8A/////38A7doHAAAAAFABUDGCq2IsAAAAAEAAyYD1BwAAAAAIAQL/////////////////////////D///////////////A///Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAEBMAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAACAAAAA/gMAAP7///////////8fAP7/////////////B+D/////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////8/AAAAAAAAAAAAAAD//////////////////////////w8AAAAAAAAAAAAAAAAAAAAAYP8H/v//h/7//wcAAAAAAACAAP//f////3//////AAAAAAAAAP//////////////AQD4AwADAAAAAAD//////////z8AAAADAAAAwNf///v/////f39U/f8PAP7f///////////+3/////97AP///////58Z////zz8DAAAAAAAA/v///38C/v///38A/v/7//+7FgD///8HBwAAAAAA/v//B///BwD/A////////////3z/f+///z3/A+7////////z/z8e/8//AADun/n///3F0585gLDP/wMA5If5///9bdOHOQBewP8fAO6v+////e3zvzsAAMH/AADun/n///3N8485wLDD/wAA7Mc91hjHv8PHPYAAgP8AAO7f/f///e/D3z1gAMP/AADs3/3///3vw989YEDD/wAA7N/9///9/8PPPYAAw/8AAAAAAAAAAAAAAAAAAAAAAAD+/////3//B/9//wMAAAAAliXw/q5s/ztfP/8DAAAAAAAAAAP/A6DC//7///8D/v/fD7/+/z/+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HwIAAACgAAAA/v8+AP7///////////8fZv7/////////////dxkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAA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AGd2cmVuZGVyX2NvcmVfbXAuYwBtcF9yZXNvbHZlX2NvbG9yACVkICVkICVkICVkICVkICVkICUuMWYgJS40ZiAlZCAlLjFmICUuMWYgJWQgJWQgJXNcMDAxCgAjIGVuZCBvZiBGSUcgZmlsZQoAI0ZJRyAzLjIKACMgR2VuZXJhdGVkIGJ5ICVzIHZlcnNpb24gJXMgKCVzKQoAIyBUaXRsZTogJXMKACMgUGFnZXM6ICVkCgBQb3J0cmFpdAoAQ2VudGVyCgBJbmNoZXMKAExldHRlcgoAMTAwLjAwCgBTaW5nbGUKAC0yCgAxMjAwACAyCgBtcABtcDptcAAgXSAgJWQgdHJ1ZSAlcwoAIF0gICVkIGZhbHNlICVzCgAgc2V0bGluZXdpZHRoCgAlcyAAc2V0aHNiACUuNWcgJS41ZyAlLjVnICVzY29sb3IKACUgAG5ld3BhdGggACBtb3ZldG8KACBsaW5ldG8KAHN0cm9rZQoAIGN1cnZldG8KAGNsb3NlcGF0aCBmaWxsCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIGZpbGwKACBlbGxpcHNlX3BhdGggc3Ryb2tlCgAgLyVzIHNldF9mb250CgAgbW92ZXRvIAAgJXMgYWxpZ25lZHRleHQKAFsgL1JlY3QgWyAAIF0KACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAZ3NhdmUKACUlICVzCgAwIDAgMCBlZGdlY29sb3IKAGVuZHBhZ2UKc2hvd3BhZ2UKZ3Jlc3RvcmUKACUlUGFnZVRyYWlsZXIKACUlJSVFbmRQYWdlOiAlZAoAJSUlJVBhZ2U6ICVkICVkCgAlJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoATGFuZHNjYXBlAFBvcnRyYWl0ACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgAlZCAlZCAlZCBiZWdpbnBhZ2UKAGdzYXZlCiVkICVkICVkICVkIGJveHByaW0gY2xpcCBuZXdwYXRoCgAlZyAlZyBzZXRfc2NhbGUgJWQgcm90YXRlICVnICVnIHRyYW5zbGF0ZQoAY2FudmFzIHNpemUgKCVkLCVkKSBleGNlZWRzIFBERiBsaW1pdCAoJWQpCgkoc3VnZ2VzdCBzZXR0aW5nIGEgYm91bmRpbmcgYm94IHNpemUsIHNlZSBkb3QoMSkpCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACVkICVkIHNldGxheWVyCgAlJSUlVGl0bGU6ICVzCgAlJVBhZ2VzOiAoYXRlbmQpCgAlJVBhZ2VzOiAxCgAlJUJvdW5kaW5nQm94OiAoYXRlbmQpCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlJUVuZENvbW1lbnRzCnNhdmUKAHNldHVwTGF0aW4xCgBbIHtDYXRhbG9nfSA8PCAvVVJJIDw8IC9CYXNlICVzID4+ID4+Ci9QVVQgcGRmbWFyawoAJSVCZWdpblByb2xvZwAvRG90RGljdCAyMDAgZGljdCBkZWYARG90RGljdCBiZWdpbgAvc2V0dXBMYXRpbjEgewBtYXJrAC9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmACBFbmNvZGluZ1ZlY3RvciAwAElTT0xhdGluMUVuY29kaW5nIDAgMjU1IGdldGludGVydmFsIHB1dGludGVydmFsAEVuY29kaW5nVmVjdG9yIDQ1IC9oeXBoZW4gcHV0ACUgU2V0IHVwIElTTyBMYXRpbiAxIGNoYXJhY3RlciBlbmNvZGluZwAvc3Rhcm5ldElTTyB7ACAgICAgICAgZHVwIGR1cCBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVnaW4AICAgICAgICB7IDEgaW5kZXggL0ZJRCBuZSB7IGRlZiB9eyBwb3AgcG9wIH0gaWZlbHNlACAgICAgICAgfSBmb3JhbGwAICAgICAgICAvRW5jb2RpbmcgRW5jb2RpbmdWZWN0b3IgZGVmACAgICAgICAgY3VycmVudGRpY3QgZW5kIGRlZmluZWZvbnQAfSBkZWYAL1RpbWVzLVJvbWFuIHN0YXJuZXRJU08gZGVmAC9UaW1lcy1JdGFsaWMgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGQgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGRJdGFsaWMgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLU9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXIgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllci1Cb2xkIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGRPYmxpcXVlIHN0YXJuZXRJU08gZGVmAGNsZWFydG9tYXJrAH0gYmluZCBkZWYAJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAAvY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgAvZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmAC9JbnZTY2FsZUZhY3RvciAxLjAgZGVmAC9zZXRfc2NhbGUgewAgICAgICAgZHVwIDEgZXhjaCBkaXYgL0ludlNjYWxlRmFjdG9yIGV4Y2ggZGVmACAgICAgICBzY2FsZQAlIHN0eWxlcwAvc29saWQgeyBbXSAwIHNldGRhc2ggfSBiaW5kIGRlZgAvZGFzaGVkIHsgWzkgSW52U2NhbGVGYWN0b3IgbXVsIGR1cCBdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kb3R0ZWQgeyBbMSBJbnZTY2FsZUZhY3RvciBtdWwgNiBJbnZTY2FsZUZhY3RvciBtdWxdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9pbnZpcyB7L2ZpbGwge25ld3BhdGh9IGRlZiAvc3Ryb2tlIHtuZXdwYXRofSBkZWYgL3Nob3cge3BvcCBuZXdwYXRofSBkZWZ9IGJpbmQgZGVmAC9ib2xkIHsgMiBzZXRsaW5ld2lkdGggfSBiaW5kIGRlZgAvZmlsbGVkIHsgfSBiaW5kIGRlZgAvdW5maWxsZWQgeyB9IGJpbmQgZGVmAC9yb3VuZGVkIHsgfSBiaW5kIGRlZgAvZGlhZ29uYWxzIHsgfSBiaW5kIGRlZgAvdGFwZXJlZCB7IH0gYmluZCBkZWYAJSBob29rcyBmb3Igc2V0dGluZyBjb2xvciAAL25vZGVjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2VkZ2Vjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2dyYXBoY29sb3IgeyBzZXRoc2Jjb2xvciB9IGJpbmQgZGVmAC9ub3Bjb2xvciB7cG9wIHBvcCBwb3B9IGJpbmQgZGVmAC9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMACS9ucGFnZXMgZXhjaCBkZWYACS9qIGV4Y2ggZGVmAAkvaSBleGNoIGRlZgAJL3N0ciAxMCBzdHJpbmcgZGVmAAlucGFnZXMgMSBndCB7AAkJZ3NhdmUACQkJY29vcmRmb250IHNldGZvbnQACQkJMCAwIG1vdmV0bwAJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93AAkJZ3Jlc3RvcmUACX0gaWYAL3NldF9mb250IHsACWZpbmRmb250IGV4Y2gACXNjYWxlZm9udCBzZXRmb250ACUgZHJhdyB0ZXh0IGZpdHRlZCB0byBpdHMgZXhwZWN0ZWQgd2lkdGgAL2FsaWduZWR0ZXh0IHsJCQklIHdpZHRoIHRleHQACS90ZXh0IGV4Y2ggZGVmAAkvd2lkdGggZXhjaCBkZWYACWdzYXZlAAkJd2lkdGggMCBndCB7AAkJCVtdIDAgc2V0ZGFzaAAJCQl0ZXh0IHN0cmluZ3dpZHRoIHBvcCB3aWR0aCBleGNoIHN1YiB0ZXh0IGxlbmd0aCBkaXYgMCB0ZXh0IGFzaG93AAkJfSBpZgAJZ3Jlc3RvcmUAL2JveHByaW0gewkJCQklIHhjb3JuZXIgeWNvcm5lciB4c2l6ZSB5c2l6ZQAJCTQgMiByb2xsAAkJbW92ZXRvAAkJMiBjb3B5AAkJZXhjaCAwIHJsaW5ldG8ACQkwIGV4Y2ggcmxpbmV0bwAJCXBvcCBuZWcgMCBybGluZXRvAAkJY2xvc2VwYXRoAC9lbGxpcHNlX3BhdGggewAJL3J5IGV4Y2ggZGVmAAkvcnggZXhjaCBkZWYACS95IGV4Y2ggZGVmAAkveCBleGNoIGRlZgAJbWF0cml4IGN1cnJlbnRtYXRyaXgACW5ld3BhdGgACXggeSB0cmFuc2xhdGUACXJ4IHJ5IHNjYWxlAAkwIDAgMSAwIDM2MCBhcmMACXNldG1hdHJpeAAvZW5kcGFnZSB7IHNob3dwYWdlIH0gYmluZCBkZWYAL3Nob3dwYWdlIHsgfSBkZWYAL2xheWVyY29sb3JzZXEACVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QACQlbMCAwIDBdAAkJWy4yIC44IC44XQAJCVsuNCAuOCAuOF0ACQlbLjYgLjggLjhdAAkJWy44IC44IC44XQAJXQBkZWYAL2xheWVybGVuIGxheWVyY29sb3JzZXEgbGVuZ3RoIGRlZgAvc2V0bGF5ZXIgey9tYXhsYXllciBleGNoIGRlZiAvY3VybGF5ZXIgZXhjaCBkZWYACWxheWVyY29sb3JzZXEgY3VybGF5ZXIgMSBzdWIgbGF5ZXJsZW4gbW9kIGdldAAJYWxvYWQgcG9wIHNldGhzYmNvbG9yAAkvbm9kZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZWRnZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZ3JhcGhjb2xvciB7bm9wY29sb3J9IGRlZgAvb25sYXllciB7IGN1cmxheWVyIG5lIHtpbnZpc30gaWYgfSBkZWYAL29ubGF5ZXJzIHsACS9teXVwcGVyIGV4Y2ggZGVmAAkvbXlsb3dlciBleGNoIGRlZgAJY3VybGF5ZXIgbXlsb3dlciBsdAAJY3VybGF5ZXIgbXl1cHBlciBndAAJb3IACXtpbnZpc30gaWYAL2N1cmxheWVyIDAgZGVmACUlRW5kUmVzb3VyY2UAJSVFbmRQcm9sb2cAJSVCZWdpblNldHVwADE0IGRlZmF1bHQtZm9udC1mYW1pbHkgc2V0X2ZvbnQAJSAvYXJyb3dsZW5ndGggMTAgZGVmACUgL2Fycm93d2lkdGggNSBkZWYAJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyAC9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQAlIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwAvbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQAyIGx0IHsAICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQAICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQAfSBpZgAlJUVuZFNldHVwACUlVHJhaWxlcgoAJSUlJVBhZ2VzOiAlZAoAZW5kCnJlc3RvcmUKACUlRU9GCgAlIVBTLUFkb2JlLTMuMAAgRVBTRi0zLjAKACUlJSVDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKAHBzMjpwcwA8IS0tIAA8cG9seWxpbmUAIHBvaW50cz0iACIvPgoAIGZpbGw9IgB1cmwoI2xfJWQpAHVybCgjcl8lZCkAIiBmaWxsLW9wYWNpdHk9IiVmACIgc3Ryb2tlPSIAIiBzdHJva2Utd2lkdGg9IgAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzADUsMgAxLDUAIiBzdHJva2Utb3BhY2l0eT0iJWYAZ3ZyZW5kZXJfY29yZV9zdmcuYwBzdmdfcHJpbnRfY29sb3IAPHBhdGgAIGlkPSIAX3AiIAAgZD0iACVjADxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InJfJWQiIGN4PSI1MCUlIiBjeT0iNTAlJSIgcj0iNzUlJSIgZng9IiVkJSUiIGZ5PSIlZCUlIj4KADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6ADtzdG9wLW9wYWNpdHk6ADEuADsiLz4KADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9yYWRpYWxHcmFkaWVudD4KPC9kZWZzPgoAPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ibF8lZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIAB4MT0iACIgeTE9IgAiIHgyPSIAIiB5Mj0iACIgPgoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgoAPHBvbHlnb24APGVsbGlwc2UAIGN4PSIAIiBjeT0iACIgcng9IgAiIHJ5PSIAPHRleHQAIHRleHQtYW5jaG9yPSJzdGFydCIAIHRleHQtYW5jaG9yPSJlbmQiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgAgeD0iACIgeT0iACBmb250LWZhbWlseT0iJXMALCVzACBmb250LXdlaWdodD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiACBmb250LWZhbWlseT0iJXMiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIHRleHQtZGVjb3JhdGlvbj0iACVzb3ZlcmxpbmUAJXNsaW5lLXRocm91Z2gAIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiACBmb250LXNpemU9IiUuMmYiACBmaWxsPSIlcyIAIGZpbGw9IiMlMDJ4JTAyeCUwMngiAHN2Z190ZXh0c3BhbgA+ADx0ZXh0UGF0aCB4bGluazpocmVmPSIjJXNfcCIgc3RhcnRPZmZzZXQ9IjUwJSUiPgA8dHNwYW4geD0iMCIgZHk9IgAiPgA8L3RzcGFuPjwvdGV4dFBhdGg+ADwvdGV4dD4KADwvZz4KADxnACBpZD0iYV8AIHhsaW5rOmhyZWY9IgAgeGxpbms6dGl0bGU9IgAgdGFyZ2V0PSIAPHRpdGxlPgA8L3RpdGxlPgoAPGcgaWQ9IgBfJXMAIiBjbGFzcz0iJXMAY2xhc3MAIHRyYW5zZm9ybT0ic2NhbGUoACkgcm90YXRlKCVkKSB0cmFuc2xhdGUoACkiPgoAPC9zdmc+CgA8IS0tACBQYWdlczogJWQgLS0+CgA8c3ZnIHdpZHRoPSIlZHB0IiBoZWlnaHQ9IiVkcHQiCgAgdmlld0JveD0iJS4yZiAlLjJmICUuMmYgJS4yZiIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIAIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KAHN0eWxlc2hlZXQAPD94bWwtc3R5bGVzaGVldCBocmVmPSIAIiB0eXBlPSJ0ZXh0L2NzcyI/PgoAPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIgoAICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgoAPCEtLSBHZW5lcmF0ZWQgYnkgAGRhcmtibHVlAGRhcmtjeWFuAGRhcmtncmF5AGRhcmtncmV5AGRhcmttYWdlbnRhAGRhcmtyZWQAbGlnaHRncmVlbgAjIAAgY3JlYXRlIGxpbmUgACAtZmlsbCAAIC1kYXNoIDUAIC1kYXNoIDIAZ3ZyZW5kZXJfY29yZV90ay5jAHRrZ2VuX3ByaW50X3RhZ3MAZ3JhcGggbGFiZWwAIC10YWdzIHslZCVzJXB9AHRrZ2VuX3ByaW50X2NvbG9yACRjACAtd2lkdGggACAtc21vb3RoIGJlemllciAAIGNyZWF0ZSBwb2x5Z29uIAAgLW91dGxpbmUgACBjcmVhdGUgb3ZhbCAAIGNyZWF0ZSB0ZXh0IAAgLXRleHQgewB9ACAtZm9udCB7ACAlZH0AIC1hbmNob3IgdwAgLWFuY2hvciBlACMAIFRpdGxlOiAAIFBhZ2VzOiAlZAoAIyBHZW5lcmF0ZWQgYnkgACkKAHRrAHRrOnRrACAgICAgIDwhLS0gACAtLT4KAEVycm9yIGR1cmluZyBjb252ZXJzaW9uIHRvICJVVEYtOCIuICBRdWl0aW5nLgoAIDx2OnNoYXBlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACB3aWR0aDogJWQ7IGhlaWdodDogJWQiIGZpbGxlZD0iZmFsc2UiPgA8djpwYXRoIHY9IgAgbSAAJS4wZiwlLjBmIAAgbCAAIGUgACIvPgA8L3Y6c2hhcGU+CgA8djpzdHJva2UgY29sb3I9IgAiIHdlaWdodD0iJS4wZnB0ACIgZGFzaHN0eWxlPSJkYXNoACIgZGFzaHN0eWxlPSJkb3QAIiAvPgAjJTAyeCUwMnglMDJ4AGd2cmVuZGVyX2NvcmVfdm1sLmMAdm1sX3ByaW50X2NvbG9yACB3aWR0aDogJWQ7IGhlaWdodDogJWQiACA+ADx2OnBhdGggIHY9IgAvPjwvdjpzaGFwZT4KAG0gACVzJS4wZiwlLjBmIABjIAAgZmlsbGVkPSJ0cnVlIiBmaWxsY29sb3I9IgAiIAAgZmlsbGVkPSJmYWxzZSIgACUuMGYgJS4wZiAAbCAAeCBlICIvPgAgIDx2Om92YWwgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOwAgbGVmdDogJS4yZjsgdG9wOiAlLjJmOwAgd2lkdGg6ICUuMmY7IGhlaWdodDogJS4yZiIAPC92Om92YWw+CgA8djpyZWN0IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACBzdHJva2VkPSJmYWxzZSIgZmlsbGVkPSJmYWxzZSI+CgA8djp0ZXh0Ym94IGluc2V0PSIwLDAsMCwwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHYtdGV4dC13cmFwcGluZzonZmFsc2UnO3BhZGRpbmc6JzAnOwBmb250LWZhbWlseTogJyVzJzsAZm9udC13ZWlnaHQ6ICVzOwBmb250LXN0cmV0Y2g6ICVzOwBmb250LXN0eWxlOiAlczsAIGZvbnQtc2l6ZTogJS4yZnB0OwBjb2xvcjolczsAY29sb3I6IyUwMnglMDJ4JTAyeDsAdm1sX3RleHRzcGFuACI+PGNlbnRlcj4APC9jZW50ZXI+PC92OnRleHRib3g+CgA8L3Y6cmVjdD4KADwvYT4KADxhACBocmVmPSIlcyIAIHRpdGxlPSIlcyIAIHRhcmdldD0iJXMiAD4KADwvdjpncm91cD4KADwvRElWPgoAPERJViBpZD0nX1ZNTDJfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW4iPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPERJViBpZD0nX25vdFZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij4KADwhLS0gdGhpcyBzaG91bGQgb25seSBkaXNwbGF5IG9uIE5PTi1JRSBicm93c2VycyAtLT4KADxIMj5Tb3JyeSwgdGhpcyBkaWFncmFtIHdpbGwgb25seSBkaXNwbGF5IGNvcnJlY3RseSBvbiBJbnRlcm5ldCBFeHBsb3JlciA1IChhbmQgdXApIGJyb3dzZXJzLjwvSDI+CgA8RElWIGlkPSdfbm90Vk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIE5PTi1JRSBodG1sIGNvbnRlbnQgaGVyZSAtLT4KADwvQk9EWT4KPC9IVE1MPgoAPEhFQUQ+ADxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KADxUSVRMRT4APC9USVRMRT4APCEtLSBQYWdlczogJWQgLS0+CgAgICA8U0NSSVBUIExBTkdVQUdFPSdKYXZhc2NyaXB0Jz4KACAgIGZ1bmN0aW9uIGJyb3dzZXJjaGVjaygpCgAgICB7CgAgICAgICB2YXIgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudAoAICAgICAgdmFyIG1zaWUgPSB1YS5pbmRleE9mICggJ01TSUUgJyApCgAgICAgICB2YXIgaWV2ZXJzOwoAICAgICAgdmFyIGl0ZW07CgAgICAgICB2YXIgVk1MeWVzPW5ldyBBcnJheSgnX1ZNTDFfJywnX1ZNTDJfJyk7CgAgICAgICB2YXIgVk1Mbm89bmV3IEFycmF5KCdfbm90Vk1MMV8nLCdfbm90Vk1MMl8nKTsKACAgICAgIGlmICggbXNpZSA+IDAgKXsgICAgICAvLyBJZiBJbnRlcm5ldCBFeHBsb3JlciwgcmV0dXJuIHZlcnNpb24gbnVtYmVyCgAgICAgICAgICBpZXZlcnM9IHBhcnNlSW50ICh1YS5zdWJzdHJpbmcgKG1zaWUrNSwgdWEuaW5kZXhPZiAoJy4nLCBtc2llICkpKQoAICAgICAgfQoAICAgICAgaWYgKGlldmVycz49NSl7CgAgICAgICAgZm9yICh4IGluIFZNTHllcyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1MeWVzW3hdKTsKACAgICAg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ZW5kX3BhZ2UKAC8vKioqIGJlZ2luX3BhZ2UKAC8vKioqIGVuZF9sYXllcgoALy8qKiogYmVnaW5fbGF5ZXI6ICVzLCAlZC8lZAoALy8qKiogZW5kX2dyYXBoCgAvLyoqKiBiZWdpbl9ncmFwaCAlcwoAY2FtZXJhIHsgbG9jYXRpb24gPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgbG9va19hdCAgPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgcmlnaHQgeCAqIGltYWdlX3dpZHRoIC8gaW1hZ2VfaGVpZ2h0CiAgICAgICAgIGFuZ2xlICUuM2YKfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICogMC43NQogICAgZm9nX29mZnNldCAwLjEwCiAgICBmb2dfYWx0IDEuNTAKICAgIHR1cmJ1bGVuY2UgMS43NQp9Ci8vZ25kCnBsYW5lIHsgPDAuMDAsIDEuMDAsIDAuMDA+LCAwCiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50eyBjb2xvciByZ2IgPDAuMjUsIDAuNDUsIDAuMDA+IH0KICAgICAgICBub3JtYWwgeyBidW1wcyAwLjc1IHNjYWxlIDAuMDEgfQogICAgICAgIGZpbmlzaCB7IHBob25nIDAuMTAgfQogICAgfQp9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgAjdmVyc2lvbiAzLjY7CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAjZGVmYXVsdCB7IGZpbmlzaCB7IGFtYmllbnQgMC4xIGRpZmZ1c2UgMC45IH0gfQoAI2luY2x1ZGUgImNvbG9ycy5pbmMiCiNpbmNsdWRlICJ0ZXh0dXJlcy5pbmMiCiNpbmNsdWRlICJzaGFwZXMuaW5jIgoAI2RlY2xhcmUgJXMgPSAlczsKAEJsYWNrAFdoaXRlAGJha2Vyc2Nob2MAYnJhc3MAYnJpZ2h0Z29sZABicm9uemUAYnJvbnplMgBjbGVhcgBjb29sY29wcGVyAGNvcHBlcgBkYXJrYnJvd24AZGFya3B1cnBsZQBkYXJrdGFuAGRhcmt3b29kAGRrZ3JlZW5jb3BwZXIAZHVzdHlyb3NlAGZlbGRzcGFyAGZsZXNoAGdyYXkwNQBncmVlbmNvcHBlcgBodW50ZXJzZ3JlZW4AbGlnaHRfcHVycGxlAGxpZ2h0d29vZABtYW5kYXJpbm9yYW5nZQBtZWRpdW1mb3Jlc3RncmVlbgBtZWRpdW1nb2xkZW5yb2QAbWVkaXVtd29vZABtZWRfcHVycGxlAG1pY2EAbmVvbmJsdWUAbmVvbnBpbmsAbmV3bWlkbmlnaHRibHVlAG5ld3RhbgBvbGRnb2xkAHF1YXJ0egByaWNoYmx1ZQBzY2FybGV0AHNlbWlTd2VldENob2MAc2lsdmVyAHNwaWN5cGluawBzdW1tZXJza3kAdmVyeWRhcmticm93bgB2ZXJ5X2xpZ2h0X3B1cnBsZQBwb3YAcG92OnBvdgAlcyAlcwoALlwiIAAgJWQgJWQAICVzCgAgJWQAZmlsbCAAZWxsaXBzZSBhdHRycyVkICVzd2lkICUuNWYgaHQgJS41ZiBhdCAoJS41ZiwlLjVmKTsKAC5mdCAlcwoALnBzICVkKlxuKFNGdS8lLjBmdQoAIiVzIiBhdCAoJS41ZiwlLjVmKTsKACUwM28AJXMlcyBpcyBub3QgYSB0cm9mZiBmb250CgBkb3QgcGljIHBsdWdpbjogAFIAXQouUEUKAC5QUyAlLjVmICUuNWYKACVzIHRvIGNoYW5nZSBkcmF3aW5nIHNpemUsIG11bHRpcGx5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9uIHRoZSAuUFMgbGluZSBhYm92ZSBhbmQgdGhlIG51bWJlciBvbiB0aGUgdHdvIGxpbmVzIGJlbG93IChyb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIpIGJ5IGEgc2NhbGUgZmFjdG9yCgAubnIgU0YgJS4wZgpzY2FsZXRoaWNrbmVzcyA9ICUuMGYKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgAlcyBub24tZmF0YWwgcnVuLXRpbWUgcGljIHZlcnNpb24gZGV0ZXJtaW5hdGlvbiwgdmVyc2lvbiAyCgBib3hyYWQ9Mi4wICVzIHdpbGwgYmUgcmVzZXQgdG8gMC4wIGJ5IGdwaWMgb25seQoAc2NhbGU9MS4wICVzIHJlcXVpcmVkIGZvciBjb21wYXJpc29ucwoAJXMgYm94cmFkIGlzIG5vdyAwLjAgaW4gZ3BpYywgZWxzZSBpdCByZW1haW5zIDIuMAoAJXMgZGFzaHdpZCBpcyAwLjEgaW4gMTB0aCBFZGl0aW9uLCAwLjA1IGluIERXQiAyIGFuZCBpbiBncGljCgAlcyBmaWxsdmFsIGlzIDAuMyBpbiAxMHRoIEVkaXRpb24gKGZpbGwgMCBtZWFucyBibGFjayksIDAuNSBpbiBncGljIChmaWxsIDAgbWVhbnMgd2hpdGUpLCB1bmRlZmluZWQgaW4gRFdCIDIKACVzIGZpbGwgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGdwaWMgY2FuIHVzZSBmaWxsIG9yIGZpbGxlZCwgMTB0aCBFZGl0aW9uIHVzZXMgZmlsbCBvbmx5CgAlcyBEV0IgMiBkb2Vzbid0IHVzZSBmaWxsIGFuZCBkb2Vzbid0IGRlZmluZSBmaWxsdmFsCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBpZiBib3hyYWQgPiAxLjAgJiYgZGFzaHdpZCA8IDAuMDc1IHRoZW4gWAoJZmlsbHZhbCA9IDE7CglkZWZpbmUgZmlsbCBZIFk7CglkZWZpbmUgc29saWQgWSBZOwoJZGVmaW5lIHJlc2V0IFkgc2NhbGU9MS4wIFk7ClgKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAGlmIGZpbGx2YWwgPiAwLjQgdGhlbiBYCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSAxIC0gWTsKCWRlZmluZSBib2xkIFkgdGhpY2tuZXNzIDIgWTsKAAklcyBpZiB5b3UgdXNlIGdwaWMgYW5kIGl0IGJhcmZzIG9uIGVuY291bnRlcmluZyAic29saWQiLAoACSVzCWluc3RhbGwgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGdwaWMgb3Igc3dpdGNoIHRvIERXQiBvciAxMHRoIEVkaXRpb24gcGljOwoACSVzCXNvcnJ5LCB0aGUgZ3JvZmYgZm9sa3MgY2hhbmdlZCBncGljOyBzZW5kIGFueSBjb21wbGFpbnQgdG8gdGhlbTsKAFggZWxzZSBaCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSBZOwoJZGVmaW5lIGJvbGQgWSBZOwoJZGVmaW5lIGZpbGxlZCBZIGZpbGwgWTsKWgoAJXMgYXJyb3doZWFkIGhhcyBubyBtZWFuaW5nIGluIERXQiAyLCBhcnJvd2hlYWQgPSA3IG1ha2VzIGZpbGxlZCBhcnJvd2hlYWRzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgYXJyb3doZWFkIGlzIHVuZGVmaW5lZCBpbiBEV0IgMiwgaW5pdGlh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IH0KACAgICB0ZXh0dXJlIEltYWdlVGV4dHVyZSB7IHVybCAiJXMiIH0KACAgfQoAY29yZV9sb2FkaW1hZ2VfZmlnACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKICVkICVzCgAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKAGNvcmVfbG9hZGltYWdlX3N2ZwA8aW1hZ2UgeGxpbms6aHJlZj0iACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeD0iJWciIHk9IiVnIgAgdHJhbnNmb3JtPSJyb3RhdGUoJWQgJWcgJWcpIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIALz4KAGRvdF9sYXlvdXQAcGhhc2UAZG90IGRvZXMgbm90IHN1cHBvcnQgdGhlIGFzcGVjdCBhdHRyaWJ1dGUgZm9yIGRpc2Nvbm5lY3RlZCBncmFwaHMgb3IgZ3JhcGhzIHdpdGggY2x1c3RlcnMKAGNvbXBvdW5kAHYgPT0gbgBkb3Rpbml0LmMAcmVtb3ZlX2Zyb21fcmFuawBvcmRlcgBlZGdlIGxhYmVscyB3aXRoIHNwbGluZXM9Y3VydmVkIG5vdCBzdXBwb3J0ZWQgaW4gZG90IC0gdXNlIHhsYWJlbHMKAEVEX2xhYmVsKGZlKQBkb3RzcGxpbmVzLmMAX2RvdF9zcGxpbmVzAGZsYXQgZWRnZSBiZXR3ZWVuIGFkamFjZW50IG5vZGVzIG9uZSBvZiB3aGljaCBoYXMgYSByZWNvcmQgc2hhcGUgLSByZXBsYWNlIHJlY29yZHMgd2l0aCBIVE1MLWxpa2UgbGFiZWxzCgAgIEVkZ2UgJXMgJXMgJXMKAHh4eAAxMDAwMAB7JXN9AGF1eGcAbGFiZWxfZmxvYXQAZml4ZWQAKGwgPSBFRF9sYWJlbChmZSkpAHNldEVkZ2VMYWJlbFBvcwBlICE9IE5VTEwAZmFzdGdyLmMAZGVsZXRlX2Zhc3RfZWRnZQBuICE9IE5EX25leHQobikAZmFzdF9ub2RlAHUgIT0gdgBmYXN0X25vZGVhcHAATkRfbmV4dCh2KSA9PSBOVUxMAGZpbmRfZmFzdF9ub2RlKGcsIG4pAGRlbGV0ZV9mYXN0X25vZGUAZGVsZXRlX2ZsYXRfZWRnZQBtZXJnZV9vbmV3YXkgZ2xpdGNoCgBtZXJnZV9vbmV3YXkAc2FmZV9kZWxldGVfZmFzdF9lZGdlAGxnAGNvbXAAY250ID09IHN6AG1pbmNyb3NzLmMAZml4TGFiZWxPcmRlcgByZW1pbmNyb3NzAG1pbmNyb3NzICVzOiAlZCBjcm9zc2luZ3MsICUuMmYgc2Vjcy4KAHYAbmVpZ2hib3IAKHJ2ID09IDApIHx8IChORF9vcmRlcihydiktTkRfb3JkZXIodikpKmRpciA+IDAAY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLHYsZSkgPT0gRkFMU0UAZmxhdF9yZW9yZGVyAE5EX3JhbmsodikgPT0gcgBwb3N0b3JkZXIAZmxhdGluZGV4KGFnaGVhZChlKSkgPCBNLT5ucm93cwBmbGF0X3NlYXJjaABmbGF0aW5kZXgoYWd0YWlsKGUpKSA8IE0tPm5jb2xzAG91dABvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZCBmb3Igbm9kZSAnJXMnLgoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWQgYmVzdF9jcm9zcyAlZAoATkRfb3JkZXIodikgPCBORF9vcmRlcih3KQBiYWxhbmNlAHRyYW5zcG9zZV9zdGVwAHN1cnByaXNlCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6ICVzICVzIHJhbmsgJWQgaSA9ICVkIGFuID0gMAoAR0RfcmFuayhnKVtyXS5uIDw9IEdEX3JhbmsoZylbcl0uYW4AaW5zdGFsbF9pbl9yYW5rAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IHJhbmsgJWQgbm90IGluIHJhbmsgcmFuZ2UgWyVkLCVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBHRF9yYW5rKGcpWyVkXS52ICsgTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKGcpWyVkXS5hdiArIEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAF9uZXdfcmFuawBtY2xpbWl0AHJhbmsoZywgMiwgbnNpdGVyMihnKSkgPT0gMABwb3NpdGlvbi5jAGRvdF9wb3NpdGlvbgBBUj0lMC40bGYJIEFyZWE9ICUwLjRsZgkARHVtbXk9JWQKAEdvaW5nIHRvIGFwcGx5IGFub3RoZXIgZXhwYW5zaW9uLgoAbmV4dCNpdGVyPSVkCgBocABjb25uZWN0R3JhcGgARWRnZSBsZW5ndGggJWYgbGFyZ2VyIHRoYW4gbWF4aW11bSAldSBhbGxvd2VkLgpDaGVjayBmb3Igb3ZlcndpZGUgbm9kZShzKS4KAG5zbGltaXQAY29udGFpbl9ub2RlcyBjbHVzdCAlcyByYW5rICVkIG1pc3Npbmcgbm9kZQoAbnNsaW1pdDEAbmV3cmFuawBNYXhyYW5rID0gJWQsIG1pbnJhbmsgPSAlZAoAbGVhZGVyICE9IE5VTEwAcmFuay5jAGNsdXN0ZXJfbGVhZGVyAChORF9VRl9zaXplKG4pIDw9IDEpIHx8IChuID09IGxlYWRlcikAYWdoZWFkKGUpID09IFVGX2ZpbmQoYWdoZWFkKGUpKQBtaW5tYXhfZWRnZXMAYWd0YWlsKGUpID09IFVGX2ZpbmQoYWd0YWlsKGUpKQByYW5rAHNhbWUAbWluAHNvdXJjZQBtYXgAc2luawBsZXZlbCBhc3NpZ25tZW50IGNvbnN0cmFpbnRzAGxldmVsIGdyYXBoIHJlYwB/cm9vdAB/dG9wAH9ib3QAY29tcGFjdABfd2Vha18lZAByYW5raW5nOiBmYWlsdXJlIHRvIGNyZWF0ZSBzdHJvbmcgY29uc3RyYWludCBlZGdlIGJldHdlZW4gbm9kZXMgJXMgYW5kICVzCgAlcyBoYXMgdW5yZWNvZ25pemVkIHJhbms9JXMAbGV2ZWwgZWRnZSByZWMAbGV2ZWwgbm9kZSByZWMAc2FtZWhlYWQAc2FtZXRhaWwAdG9vIG1hbnkgKD4gJWQpIHNhbWV7aGVhZCx0YWlsfSBncm91cHMgZm9yIG5vZGUgJXMKAGNvbWJpQVIgPSAlbGYKACVsZiwlZAB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAEVEX3RvX3ZpcnQoZSkgPT0gTlVMTABjbGFzczIuYwBtZXJnZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpID09IE5VTEwAbWFrZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATkRfcmFuayhmcm9tKSA8IE5EX3JhbmsodG8pAGNsdXN0ZXIuYwBtYXBfcGF0aAAlcyB3YXMgYWxyZWFkeSBpbiBhIHJhbmtzZXQsIGRlbGV0ZWQgZnJvbSBjbHVzdGVyICVzCgBsaGVhZABsdGFpbAAlcyAtPiAlczogc3BsaW5lIHNpemUgPiAxIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBoZWFkIG5vdCBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgAlcyAtPiAlczogdGFpbCBpcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBiZXotPnNmbGFnAGNvbXBvdW5kLmMAbWFrZUNvbXBvdW5kRWRnZQBiZXotPmVmbGFnACVzIC0+ICVzOiB0YWlsIG5vdCBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgAlcyAtPiAlczogaGVhZCBpcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBzZWdtZW50IFslcywlc10gZG9lcyBub3QgaW50ZXJzZWN0IGJveCBsbD0lcyx1cj0lcwoAYm94SW50ZXJzZWN0ZgAoJS41ZywlLjVnKQBjbHVzdGVyIG5hbWVkICVzIG5vdCBmb3VuZAoAY29uY2VudHJhdGU9dHJ1ZSBtYXkgbm90IHdvcmsgY29ycmVjdGx5LgoAcmVidWlsdGRfdmxpc3RzOiByYW5rIGxlYWQgJXMgbm90IGluIG9yZGVyICVkIG9mIHJhbmsgJWQKAGRlZ2VuZXJhdGUgY29uY2VudHJhdGVkIHJhbmsgJXMsJWQKAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAY29uYy5jAG1lcmdldmlydHVhbABkb3Q6IE91dCBvZiBtZW1vcnkKAE5EX291dCh2KS5zaXplID09IDIAZmxhdC5jAHNldGJvdW5kcwBHRF9taW5yYW5rKGcpID09IDAAYWJvbWluYXRpb24AbmVhdG9fbGF5b3V0AG5lYXRvAGZkcAB0d29waQBjaXJjbwBwYXRjaHdvcmsAb3NhZ2UAbm9wAG5vcDEAbm9wMgAlbGYsJWxmLCVsZiVjAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoAbm90cmFuc2xhdGUAbm9kZSAlcyBpbiBncmFwaCAlcyBoYXMgbm8gcG9zaXRpb24KAHMsJWxmLCVsZiVuACBlLCVsZiwlbGYlbgBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykgZG9lc24ndCBoYXZlIDNuKzEgcG9pbnRzCgAlbGYsJWxmJW4Ac3ludGF4IGVycm9yIGluIHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKQoAJWxmLCVsZiwlbGYsJWxmAHN0YXJ0AHNlbGYAcmFuZG9tAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBfbmVhdG9fY2MAZ3JhcGggJXMgaXMgZGlzY29ubmVjdGVkLiBIZW5jZSwgdGhlIGNpcmN1aXQgbW9kZWwKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAHRoZSBncmFwaCBpbnRvIGNvbm5lY3RlZCBjb21wb25lbnRzLgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoATkRfaWQobnApID09IGkAbmVhdG9pbml0LmMAbWFrZUdyYXBoRGF0YQBmIDwgZ3JhcGhbal0ubmVkZ2VzAGRmc0N5Y2xlAG1vZGVsICVkIHNtYXJ0X2luaXQgJWQgc3RyZXNzd3QgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAGNvbnZlcnQgZ3JhcGg6IABtYWpvcml6YXRpb24KACVkIG5vZGVzICUuMmYgc2VjCgBsZXZlbHNnYXAAbGF5b3V0IGFib3J0ZWQKAHN0cmVzc3d0ACVzIGF0dHJpYnV0ZSB2YWx1ZSBtdXN0IGJlIDEgb3IgMiAtIGlnbm9yaW5nCgBtb2RlbABjaXJjdWl0AHN1YnNldABzaG9ydHBhdGgAbWRzAGVkZ2VzIGluIGdyYXBoICVzIGhhdmUgbm8gbGVuIGF0dHJpYnV0ZS4gSGVuY2UsIHRoZSBtZHMgbW9kZWwKAGlzIGluYXBwcm9wcmlhdGUuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVua25vd24gdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZWwiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbW9kZQBLSwBtYWpvcgBoaWVyAElsbGVnYWwgdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZSIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBkaW1lbgBtYWtlU3BsaW5lOiBmYWlsZWQgdG8gbWFrZSBzcGxpbmUgZWRnZSAoJXMsJXMpCgBzcGxpbmUgJXMgJXMKAGIgPT0gbgBuZWF0b3NwbGluZXMuYwBtYWtlX2JhcnJpZXJzAHRoZSBib3VuZGluZyBib3hlcyBvZiBzb21lIG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHNvbWUgbm9kZXMgd2l0aCBtYXJnaW4gKCUuMDJmLCUuMDJmKSB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBwb2x5bGluZXMAbGluZSBzZWdtZW50cwBvcnRob2dvbmFsIGxpbmVzAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBwb2x5bGluZSAlcyAlcwoAbWRzTW9kZWw6IGRlbHRhID0gJWYKAFNldHRpbmcgdXAgc3RyZXNzIGZ1bmN0aW9uAFNvbHZpbmcgbW9kZWw6IAAKZmluYWwgZSA9ICVmICVkIGl0ZXJhdGlvbnMgJS4yZiBzZWMKAERhbXBpbmcAZGVmYXVsdGRpc3QAIGluICVzIC0gc2V0dGluZyB0byAlLjAyZgoAYmFkIGVkZ2UgbGVuICIlcyIAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwoAc3RhcnQ9JXMgbm90IHN1cHBvcnRlZCB3aXRoIG1vZGU9c2VsZiAtIGlnbm9yZWQKAFNldHRpbmcgdXAgc3ByaW5nIG1vZGVsOiAAJS4yZiBzZWMKAApmaW5hbCBlID0gJWYAIQAgJWQlcyBpdGVyYXRpb25zICUuMmYgc2VjCgBNYXguIGl0ZXJhdGlvbnMgKCVkKSByZWFjaGVkIG9uIGdyYXBoICVzCgAlcyAlLjNmCgAlLjNmIABORF9oZWFwaW5kZXgodikgPCAwAHN0dWZmLmMAbmVhdG9fZW5xdWV1ZQBDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRoczogAHNwZWNpZmllZCByb290IG5vZGUgIiVzIiB3YXMgbm90IGZvdW5kLgBVc2luZyBkZWZhdWx0IGNhbGN1bGF0aW9uIGZvciByb290IG5vZGUKAHJlcG9zaXRpb24gJXMKACVzIDogJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACAgAEdyYXBoICVzIGhhcyBhcnJheSBwYWNraW5nIHdpdGggdXNlciB2YWx1ZXMgYnV0IG5vICJzb3J0diIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZC4AbGVuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGRpbQBsYXlvdXQgJXMKAGVuZCAlcwoAaWR4ID09IHN6AGxheW91dC5jAGV4cGFuZENsdXN0ZXIAaSA9PSBkZWcAZ2V0RWRnZUxpc3QAX2RnXyVkAGRlcml2ZSBncmFwaCAlcyBvZiAlcwoAbm9kZSAiJXMiIGlzIGNvbnRhaW5lZCBpbiB0d28gbm9uLWNvbXBhcmFibGUgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAX3BvcnRfJXNfJXNfJXNfJWxkAF9wb3J0XyVzXyglZClfKCVkKV8lbGQAJWxmLCVsZiwlbGYsJWxmJWMAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAHNwbGluZXMgYW5kIGNsdXN0ZXIgZWRnZXMgbm90IHN1cHBvcnRlZCAtIHVzaW5nIGxpbmUgc2VnbWVudHMKAG1heGl0ZXIASwBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Abm9ybWFsaXplAG92ZXJsYXAAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5yZWNvZ25pemVkIG92ZXJsYXAgdmFsdWUgIiVzIiAtIHVzaW5nIGZhbHNlCgBWb3Jvbm9pAG92ZXJsYXA6ICVzIHZhbHVlICVkIHNjYWxpbmcgJS4wNGYKAG92ZXJsYXBfc2NhbGluZwB2b3Jvbm9pAHNjYWxpbmcAdnBzYwBpcHNlcABvc2NhbGUAb2xkIHNjYWxpbmcAc2NhbGV4eQB4IGFuZCB5IHNjYWxpbmcAb3J0aG8Ab3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob195eABvcnRob3h5AHh5IG9ydGhvZ29uYWwgY29uc3RyYWludHMAb3J0aG95eAB5eCBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRobwBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG9feXgAcG9ydGhveHkAeHkgcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhveXgAeXggcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcHJpc20AQWRqdXN0aW5nICVzIHVzaW5nICVzCgBVbmhhbmRsZWQgYWRqdXN0IG9wdGlvbiAlcwoATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAlZAoATnVtYmVyIG9mIGluY3JlYXNlcyA9ICVkCgBvdmVybGFwIFslZF0gOiAlZAoAdm9yb19tYXJnaW4Ac2VwAGVzZXAATm9kZSBzZXBhcmF0aW9uOiBhZGQ9JWQgKCVmLCVmKQoAJWYsJWYAc2NhbGUgPSAoJS4wM2YsJS4wM2YpCgBFZGdlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgBDYWxjdWxhdGluZyBjaXJjdWl0IG1vZGVsAGNvbmp1Z2F0ZV9ncmFkaWVudDogdW5leHBlY3RlZCBsZW5ndGggMCB2ZWN0b3IKAENhbGN1bGF0aW5nIHN1YnNldCBtb2RlbABncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAaXMgdW5kZWZpbmVkLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBDYWxjdWxhdGluZyBNRFMgbW9kZWwAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAOiAlLjJmIHNlYwoAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwA6ICUuMmYgc2VjAGNnAGRlbHRhIDw9IDB4RkZGRgBjb25zdHJhaW50LmMAbWtOQ29uc3RyYWludEcAdmcAY29tcHJlc3MgJWcgCgBzY2FsZSBieSAlZywlZyAKAGJlc3Rjb3N0IDwgSFVHRV9WQUwAY29tcHV0ZVNjYWxlWFkAdHJ5aW5nIHRvIGRlbGV0ZSBhIG5vbi1saW5lCgAKaW50ZXJzZWN0aW9uIGF0ICUuM2YgJS4zZgoAc2VnIyVkIDogKCUuM2YsICUuM2YpICglLjNmLCAlLjNmKQoAbWFrZUFkZFBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAbWFrZVBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAeCE9TlVMTABzbWFydF9pbmlfeC5jAElNRFNfZ2l2ZW5fZGltAGlsbC1jb25kaXRpb25lZAByb290ID0gJXMgbWF4IHN0ZXBzIHRvIHJvb3QgPSAlZAoAdHdvcGk6IHVzZSBvZiB3ZWlnaHQ9MCBjcmVhdGVzIGRpc2Nvbm5lY3RlZCBjb21wb25lbnQuCgBSYW5rIHNlcGFyYXRpb24gPSAAJS4wM2xmIABhcmVhAGluc2V0ACVzIGNvb3JkICUuNWcgJS41ZyBodCAlZiB3aWR0aCAlZgoAJS4wM2YAcmVjICVmICVmICVmICVmCgAlZiAtICVmICVmICVmICVmID0gJWYgKCVmICVmICVmICVmKQoAdHJ5aW5nIHRvIGFkZCB0byByZWN0IHslZiArLy0gJWYsICVmICsvLSAlZn0KAHRvdGFsIGFkZGVkIHNvIGZhciA9ICVkCgBhZGRpbmcgJWQgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGNvbXBvdW5kRWRnZXM6IGNvdWxkIG5vdCBjb25zdHJ1Y3Qgb2JzdGFjbGVzIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAGNvbXBvdW5kRWRnZXM6IG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHBhY2sgdmFsdWUgJWQgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAc2VwIHZhbHVlICglLjAzZiwlLjAzZikgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAY2Mlc18lZABjYyVzKyVkAGNfY250ID09IDAAY29tcC5jAGZpbmRDQ29tcABncmlkKCVkLCVkKTogJXMKAG9uZWJsb2NrAG1pbmRpc3QAYXJ0aWN1bGF0aW9uX3BvcwByb290AHJvb3QgPSAlcwoAX2Jsb2NrXyVkAHMtPnN6ID4gMABibG9ja3RyZWUuYwBwb3AAYWN0dWFsAG5vZGVsaXN0LmMAaW5zZXJ0Tm9kZWxpc3QAX3NwYW5fJWQAX2Nsb25lXyVkAGlwAGRlZ2xpc3QuYwByZW1vdmVEZWdsaXN0AEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5uZXIgaW50ZXJuYWwgZXJyb3ItLWVuZCBvZiBidWZmZXIgbWlzc2VkAGZhdGFsIGVycm9yIC0gc2Nhbm5lciBpbnB1dCBidWZmZXIgb3ZlcmZsb3cAb3V0IG9mIGR5bmFtaWMgbWVtb3J5IGluIGFhZ19nZXRfbmV4dF9idWZmZXIoKQBpbnB1dABzeW50YXggYW1iaWd1aXR5IC0gYmFkbHkgZGVsaW1pdGVkIG51bWJlciAnACcgaW4gbGluZSAlZCBvZiAAIHNwbGl0cyBpbnRvIHR3byB0b2tlbnMKACVzAGxpbmUAJWQgJTFbIl0lbgBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnX2NyZWF0ZV9idWZmZXIoKQBvdXQgb2YgZHluYW1pYyBtZW1vcnkgaW4gYWFnZW5zdXJlX2J1ZmZlcl9zdGFjaygpADogACBpbiBsaW5lICVkACBuZWFyICcAIHNjYW5uaW5nIGEgcXVvdGVkIHN0cmluZyAobWlzc2luZyBlbmRxdW90ZT8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOiIAIHNjYW5uaW5nIGEgSFRNTCBzdHJpbmcgKG1pc3NpbmcgJz4nPyBiYWQgbmVzdGluZz8gbG9uZ2VyIHRoYW4gJWQ/KQAKU3RyaW5nIHN0YXJ0aW5nOjwAIHNjYW5uaW5nIGEgLyouLi4qLyBjb21tZW50IChtaXNzaW5nICcqLz8gbG9uZ2VyIHRoYW4gJWQ/KQBmbGV4IHNjYW5uZXIgcHVzaC1iYWNrIG92ZXJmbG93ACIiAHN0cmljdABsaW5lbGVuZ3RoADsKACBba2V5PQBdACBbACwKAD0AXyVsZF9TVVNQRUNUAGRpAHN0cmljdCAAewoAXTsKABLu7hQJA+7+7u7uAe7u7gHu7gr+7hMZFe4TAe7u7u4LEe7u7u7u7u7u7gHu7hYJAQEdDxfu7hoXG+7uHO7u7u4BGfvu7u4B7hDu7h7u7u7uAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhcRAgICAgICAgICAgICAhIQAhMCAhYCAgICAgICAgICAgICAgICAgICAgICAgICAhQCFQICAgICAgICAgICAgICAgICAgICAgICAgICAgICDgIPAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgECAwQFBgcICQoLDA0LAwQFDwcDDA0GDA0ODA0aFRYAAQADBw4GDwgMDRITKhARCRAvMBEyFxMNFBIuEhRBEzITLEAqQhksQkYiDA0OIw8JEBEKEBHJEBEtRUb8AQb2Dwf2JAIQES8wNk1OKCY7PCo2MTk9Py86QNhEMD4lN0M1Sys4SUwAAwkAAAABDgILDAgjJCU2Oz0ADRASGxYcEicyIhczHjwGBzUFDxEUGCkAEykAAAAAADcVKB0eACEmNB8wPhksABsAIBoqACs6Li8AMTg5LQACAgEAAwMBAAEAAQEBAAIBAQACAgMBAQAABQABAwEDBQMBAQEBAgABAAQCAAIBAQMCAQADAgEAAQEAAQEBAwAYGRkZGhscHB0dHh4fHyAgISEiIiMkJCYnJSUoKCkpKSoqKysrLCwtLS4vLzAxMTIzNDY1Nzc3ODg4OTk6Ou7u/+7u7u7u7h8g7gDv7u7uDO7u7ggN7u7u+O7u7u7u7vXu/wMIBCEFCxITJxQVFikyQRcYGRosMzRCR0gbShwdLh5PHyBrZXkAYXR0cmlidXRlIG1hY3JvcyBub3QgaW1wbGVtZW50ZWQAJXM6JXMAQ291bGQgbm90IG9wZW4gIiVzIiBmb3Igd3JpdGluZyA6ICVzCgBObyBsaWJ6IHN1cHBvcnQuCgAuJWQAbm9uYW1lLmd2AGd2d3JpdGVfbm9feiBwcm9ibGVtICVkCgBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlCgBObyBsaWJ6IHN1cHBvcnQKAGd2cHJpbnRmOiAlcwoALTk5OTk5OTk5OTk5OTk5OS45OQBncmFwaHZpegAyLjQwLjEAMjAxNjEyMjUuMDMwNAByZW5kZXIAbGF5b3V0AGRldmljZQBsb2FkaW1hZ2UAZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUKAFVzaW5nICVzOiAlczolcwoAZ3Z1c2Vyc2hhcGUuYwBndnVzZXJzaGFwZV9maW5kAGd2dXNlcnNoYXBlX2ZpbGVfYWNjZXNzAEZpbGVuYW1lICIlcyIgaXMgdW5zYWZlCgAlcyB3aGlsZSBvcGVuaW5nICVzCgB1cy0+ZgBndnVzZXJzaGFwZV9vcGVuACIlcyIgd2FzIG5vdCBmb3VuZCBhcyBhIGZpbGUgb3IgYXMgYSBzaGFwZSBsaWJyYXJ5IG1lbWJlcgoAL01lZGlhQm94AChbYS16XVthLXpBLVpdKik9IihbXiJdKikiAGNhbm5vdCBjb21waWxlIHJlZ3VsYXIgZXhwcmVzc2lvbiAlcwAlbGYlMnMAcHQAdmlld0JveAAlbGYgJWxmICVsZiAlbGYAaW4AcHgAcGMAIgBjbQBtbQAlJUJvdW5kaW5nQm94OgAB0NHS09TV1tfY2QA8c3ZnAFdFQlAAd2VicAAobGliKQCJUE5HDQoaCgBwbmcAJSFQUy1BZG9iZS0AQk0AYm1wAEdJRjgAZ2lmAP/Y/+AAanBlZwAlUERGLQBwZGYAxdDTxgBlcHMAPD94bWwAeG1sAFJJRkYAcmlmZgAAAAEAAGljbwBMYXlvdXQgdHlwZTogIiVzIiBub3QgcmVjb2duaXplZC4gVXNlIG9uZSBvZjolcwoAJWQgJWQgJWQgJWQATGF5b3V0IHdhcyBub3QgZG9uZQoAZmFpbHVyZSBtYWxsb2MnaW5nIGZvciByZXN1bHQgc3RyaW5nAGdjOiBPdXQgb2YgbWVtb3J5CgBfY2NfAG9yaWcAb3AAY2NvbXBzLmMAbWFwQ2x1c3QAY2NncmFwaGluZm8AY2Nnbm9kZWluZm8AKCU0bGQpICU3bGQgbm9kZXMgJTdsZCBlZGdlcwoAICAgICAgICU3ZCBub2RlcyAlN2QgZWRnZXMgJTdsZCBjb21wb25lbnRzICVzCgBkZwBFcnJvcjogbm9kZSAiJXMiIGJlbG9uZ3MgdG8gdHdvIG5vbi1uZXN0ZWQgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAc29ydHYAcm93IG1ham9yAGNvbHVtbiBtYWpvcgBhcnJheSBwYWNraW5nOiAlcyAlZCByb3dzICVkIGNvbHVtbnMKAGJiWyVzXSAlLjVnICUuNWcgJS41ZyAlLjVnCgBzdGVwIHNpemUgPSAlZAoAcG9zWyVkXSAlZCAlZAoAY2MgKCVkIGNlbGxzKSBhdCAoJWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABsbnJjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTABlZGdldGFyZ2V0AGxhYmVsdGFyZ2V0AHRhaWx0YXJnZXQAaGVhZHRhcmdldABlZGdldG9vbHRpcABsYWJlbHRvb2x0aXAAdGFpbHRvb2x0aXAAaGVhZHRvb2x0aXAAAW5lc3Rpbmcgbm90IGFsbG93ZWQgaW4gc3R5bGU6ICVzCgB1bm1hdGNoZWQgJyknIGluIHN0eWxlOiAlcwoAdHJ1bmNhdGluZyBzdHlsZSAnJXMnCgB1bm1hdGNoZWQgJygnIGluIHN0eWxlOiAlcwoAYWxsAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBmaWxsY29sb3IAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24Abm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAVW5zdXBwb3J0ZWQgY2hhcnNldCB2YWx1ZSAlZAoAVVRGLTgAQklHLTUAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAcG9seWdvbgBvdmFsAGNpcmNsZQBwb2ludABlZ2cAdHJpYW5nbGUAcGxhaW50ZXh0AHBsYWluAGRpYW1vbmQAdHJhcGV6aXVtAHBhcmFsbGVsb2dyYW0AaG91c2UAcGVudGFnb24AaGV4YWdvbgBzZXB0YWdvbgBvY3RhZ29uAG5vdGUAdGFiAGZvbGRlcgBib3gzZABjb21wb25lbnQAY3lsaW5kZXIAcmVjdAByZWN0YW5nbGUAc3F1YXJlAGRvdWJsZWNpcmNsZQBkb3VibGVvY3RhZ29uAHRyaXBsZW9jdGFnb24AaW52dHJpYW5nbGUAaW52dHJhcGV6aXVtAGludmhvdXNlAHVuZGVybGluZQBNZGlhbW9uZABNc3F1YXJlAE1jaXJjbGUAcHJvbW90ZXIAY2RzAHRlcm1pbmF0b3IAdXRyAGluc3VsYXRvcgByaWJvc2l0ZQBybmFzdGFiAHByb3RlYXNlc2l0ZQBwcm90ZWluc3RhYgBwcmltZXJzaXRlAHJlc3RyaWN0aW9uc2l0ZQBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBhc3NlbWJseQBzaWduYXR1cmUAcnByb21vdGVyAGxhcnJvdwByYXJyb3cAbHByb21vdGVyAHJlY29yZABNcmVjb3JkAHN0YXIAIzgwODA4MAAjZmNmY2ZjACMzMDMwMzAAI2U4ZThlOAAjZTBlMGUwACNmMGYwZjAAIzEwMTAxMAAjZjhmOGY4AGluIG5vZGUgJXMKAHJvdW5kZWQAZGlhZ29uYWxzAHJhZGlhbABzdHJpcGVkAHdlZGdlZABfAG5vZGUgJXMsIHBvcnQgJXMsIHVucmVjb2duaXplZCBjb21wYXNzIHBvaW50ICclcycgLSBpZ25vcmVkCgBub2RlICVzLCBwb3J0ICVzIHVucmVjb2duaXplZAoAJS41ZyAlLjVnIHRyYW5zbGF0ZSBuZXdwYXRoIHVzZXJfc2hhcGVfJWQKAGludmlzAABmaWxsZWQAAHMAZQB3AHNwbGluZXMuYwBiZWdpbnBhdGgAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAZW5kcGF0aABtYWtlU2VsZkVkZ2UAZ2V0c3BsaW5lcG9pbnRzOiBubyBzcGxpbmUgcG9pbnRzIGF2YWlsYWJsZSBmb3IgZWRnZSAoJXMsJXMpCgBwb2x5bGluZU1pZHBvaW50AHNwYW4tPmZvbnQAdGV4dHNwYW4uYwB0ZXh0c3Bhbl9zaXplAGZvbnQtPm5hbWUAZm9udG5hbWU6ICIlcyIgcmVzb2x2ZWQgdG86ICVzCgBmb250bmFtZTogdW5hYmxlIHRvIHJlc29sdmUgIiVzIgoAY291cgBhcmlhbABoZWx2ZXRpY2EAW2ludGVybmFsIHRpbWVzXQBbaW50ZXJuYWwgY291cmllcl0AW2ludGVybmFsIGFyaWFsXQBBdmFudEdhcmRlLUJvb2sAVVJXIEdvdGhpYyBMAGJvb2sAc2Fucy1TZXJpZgBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAG9ibGlxdWUAaXRhbGljAEF2YW50R2FyZGUtRGVtaQBkZW1pAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUAQm9va21hbi1EZW1pAFVSVyBCb29rbWFuIEwAc2VyaWYAQm9va21hbi1EZW1pSXRhbGljAEJvb2ttYW4tTGlnaHQAbGlnaHQAQm9va21hbi1MaWdodEl0YWxpYwBDb3VyaWVyAG1vbm9zcGFjZQBDb3VyaWVyLUJvbGQAQ291cmllci1Cb2xkT2JsaXF1ZQBDb3VyaWVyLU9ibGlxdWUASGVsdmV0aWNhAEhlbHZldGljYS1Cb2xkAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93AGNvbmRlbnNlZABIZWx2ZXRpY2EtTmFycm93LUJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUASGVsdmV0aWNhLU9ibGlxdWUATmV3Q2VudHVyeVNjaGxiay1Cb2xkAENlbnR1cnkgU2Nob29sYm9vayBMAE5ld0NlbnR1cnlTY2hsYmstQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLVJvbWFuAHJvbWFuAFBhbGF0aW5vLUJvbGQAUGFsYXRpbm8gTGlub3R5cGUAUGFsYXRpbm8tQm9sZEl0YWxpYwBQYWxhdGluby1JdGFsaWMAUGFsYXRpbm8tUm9tYW4AU3ltYm9sAGZhbnRhc3kAVGltZXMtQm9sZABUaW1lcwBUaW1lcy1Cb2xkSXRhbGljAFRpbWVzLUl0YWxpYwBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljAFVSVyBDaGFuY2VyeSBMAG1lZGl1bQBaYXBmRGluZ2JhdHMARGluZ2JhdHMAaW5wdXRzY2FsZQBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAGNsdXN0ZXIgY3ljbGUgJXMgLS0gJXMgbm90IHN1cHBvcnRlZAoAdGFpbCBjbHVzdGVyICVzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBub2RlICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAF9fAGxhYmVsAHNoYXBlAGJveABUd28gY2x1c3RlcnMgbmFtZWQgJXMgLSB0aGUgc2Vjb25kIHdpbGwgYmUgaWdub3JlZAoAbWFwTgBBRWxpZwBBYWN1dGUAQWNpcmMAQWdyYXZlAEFscGhhAEFyaW5nAEF0aWxkZQBBdW1sAEJldGEAQ2NlZGlsAENoaQBEYWdnZXIARGVsdGEARVRIAEVhY3V0ZQBFY2lyYwBFZ3JhdmUARXBzaWxvbgBFdGEARXVtbABHYW1tYQBJYWN1dGUASWNpcmMASWdyYXZlAElvdGEASXVtbABLYXBwYQBMYW1iZGEATXUATnRpbGRlAE51AE9FbGlnAE9hY3V0ZQBPY2lyYwBPZ3JhdmUAT21lZ2EAT21pY3JvbgBPc2xhc2gAT3RpbGRlAE91bWwAUGhpAFBpAFByaW1lAFBzaQBSaG8AU2Nhcm9uAFNpZ21hAFRIT1JOAFRhdQBUaGV0YQBVYWN1dGUAVWNpcmMAVWdyYXZlAFVwc2lsb24AVXVtbABYaQBZYWN1dGUAWXVtbABaZXRhAGFhY3V0ZQBhY2lyYwBhY3V0ZQBhZWxpZwBhZ3JhdmUAYWxlZnN5bQBhbHBoYQBhbXAAYW5kAGFuZwBhcmluZwBhc3ltcABhdGlsZGUAYXVtbABiZHF1bwBiZXRhAGJydmJhcgBidWxsAGNhcABjY2VkaWwAY2VkaWwAY2VudABjaGkAY2lyYwBjbHVicwBjb25nAGNvcHkAY3JhcnIAY3VwAGN1cnJlbgBkQXJyAGRhZ2dlcgBkYXJyAGRlZwBkZWx0YQBkaWFtcwBkaXZpZGUAZWFjdXRlAGVjaXJjAGVncmF2ZQBlbXB0eQBlbXNwAGVuc3AAZXBzaWxvbgBlcXVpdgBldGEAZXRoAGV1bWwAZXVybwBleGlzdABmbm9mAGZvcmFsbABmcmFjMTIAZnJhYzE0AGZyYWMzNABmcmFzbABnYW1tYQBnZQBndABoQXJyAGhhcnIAaGVhcnRzAGhlbGxpcABpYWN1dGUAaWNpcmMAaWV4Y2wAaWdyYXZlAGltYWdlAGluZmluAGludABpb3RhAGlxdWVzdABpc2luAGl1bWwAa2FwcGEAbEFycgBsYW1iZGEAbGFuZwBsYXF1bwBsYXJyAGxjZWlsAGxkcXVvAGxlAGxmbG9vcgBsb3dhc3QAbG96AGxybQBsc2FxdW8AbHNxdW8AbHQAbWFjcgBtZGFzaABtaWNybwBtaWRkb3QAbXUAbmFibGEAbmJzcABuZGFzaABuZQBuaQBub3QAbm90aW4AbnN1YgBudGlsZGUAbnUAb2FjdXRlAG9jaXJjAG9lbGlnAG9ncmF2ZQBvbGluZQBvbWVnYQBvbWljcm9uAG9wbHVzAG9yAG9yZGYAb3JkbQBvc2xhc2gAb3RpbGRlAG90aW1lcwBvdW1sAHBhcmEAcGFydABwZXJtaWwAcGVycABwaGkAcGkAcGl2AHBsdXNtbgBwb3VuZABwcmltZQBwcm9kAHByb3AAcHNpAHF1b3QAckFycgByYWRpYwByYW5nAHJhcXVvAHJhcnIAcmNlaWwAcmRxdW8AcmVhbAByZWcAcmZsb29yAHJobwBybG0AcnNhcXVvAHJzcXVvAHNicXVvAHNjYXJvbgBzZG90AHNlY3QAc2h5AHNpZ21hAHNpZ21hZgBzaW0Ac3BhZGVzAHN1YgBzdWJlAHN1bQBzdXAAc3VwMQBzdXAyAHN1cDMAc3VwZQBzemxpZwB0YXUAdGhlcmU0AHRoZXRhAHRoZXRhc3ltAHRoaW5zcAB0aG9ybgB0aWxkZQB0aW1lcwB0cmFkZQB1QXJyAHVhY3V0ZQB1YXJyAHVjaXJjAHVncmF2ZQB1bWwAdXBzaWgAdXBzaWxvbgB1dW1sAHdlaWVycAB4aQB5YWN1dGUAeWVuAHl1bWwAemV0YQB6d2oAenduagBVVEY4IGNvZGVzID4gNCBieXRlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKGdyYXBoICVzKSAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoASW52YWxpZCAlZC1ieXRlIFVURjggZm91bmQgaW4gaW5wdXQgb2YgZ3JhcGggJXMgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAGJ6LnNpemUAb3ZlcmxhcF9iZXppZXIAdXJ2ZWQAb21wb3VuZABhbHNlAGluZQBvbmUAbwBydGhvAG9seWxpbmUAcGxpbmUAcnVlAGVzAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAc3BsaW5lcwBvZGIAT3J0aG9nb25hbCBlZGdlcyBkbyBub3QgY3VycmVudGx5IGhhbmRsZSBlZGdlIGxhYmVscy4gVHJ5IHVzaW5nIHhsYWJlbHMuCgBvcnRobyAlcyAlcwoAY2hhbmkAb3J0aG8uYwBjaGFuU2VhcmNoAGNwACUlIVBTLUFkb2JlLTIuMAolJSUlQm91bmRpbmdCb3g6IChhdGVuZCkKL3BvaW50IHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgbmV3cGF0aAogIFggWSAzIDAgMzYwIGFyYyBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgovbm9kZSB7CiAvdSBleGNoIGRlZgogL3IgZXhjaCBkZWYKIC9kIGV4Y2ggZGVmCiAvbCBleGNoIGRlZgogbmV3cGF0aCBsIGQgbW92ZXRvCiByIGQgbGluZXRvIHIgdSBsaW5ldG8gbCB1IGxpbmV0bwogY2xvc2VwYXRoIGZpbGwKfSBkZWYKCgAlZCAlZCB0cmFuc2xhdGUKADAuOCAwLjggMC44IHNldHJnYmNvbG9yCgBzaG93cGFnZQolJSUlVHJhaWxlcgolJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBuZXdwYXRoICVkICVkIG1vdmV0bwoAJWQgJWQgbGluZXRvCgAlZCAlZCBsaW5ldG8gc3Ryb2tlCgBjaGFubmVsICVkICglZiwlZikKACAtPgoAICAgICAAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAQl9SSUdIVABCX0RPV04AQl9MRUZUAEJfVVAAQl9OT0RFAHNlZwBuZXh0X3NlZwBkZWNpZGVfcG9pbnQAaW5jb21wYXJhYmxlIHNlZ21lbnRzICEhIC0tIEFib3J0aW5nCgBzMS0+Y29tbV9jb29yZD09czItPmNvbW1fY29vcmQAaXNfcGFyYWxsZWwAZ3JhcGggRyB7CgAgbm9kZVtzaGFwZT1wb2ludF0KACAgJWQgW3Bvcz0iJWQsJWQiXQoAICAlZCAtLSAlZFtsZW49IiVmIl0KAH0KAGNvbG9yICVzACVzIGlzIG5vdCBhIGtub3duIGNvbG9yLgoAZXJyb3IgaW4gY29seGxhdGUoKQoAc29saWQAaW52aXNpYmxlAGJvbGQAc2V0bGluZXdpZHRoAGZpbGxlZAB1bmZpbGxlZAB0YXBlcmVkAGd2cmVuZGVyX3NldF9zdHlsZTogdW5zdXBwb3J0ZWQgc3R5bGUgJXMgLSBpZ25vcmluZwoAZ3ZyZW5kZXIuYwBndnJlbmRlcl91c2Vyc2hhcGUAbmFtZQBuYW1lWzBdAGJvdGgAam9iAGd2bG9hZGltYWdlLmMAZ3Zsb2FkaW1hZ2UAdXMAdXMtPm5hbWUAdXMtPm5hbWVbMF0ATm8gbG9hZGltYWdlIHBsdWdpbiBmb3IgIiVzIgoAUQBMZWZ0AEtQX0xlZnQAUmlnaHQAS1BfUmlnaHQAVXAAS1BfVXAARG93bgBLUF9Eb3duAHBsdXMAS1BfQWRkAG1pbnVzAEtQX1N1YnRyYWN0AEYAZWRnZQB0YWlscG9ydABoZWFkcG9ydABrZXkAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADIAMwA0ADUANgA3ADgAOQAxMAAxMQAxMgAxMwAxNAAxNQAxNgAxNwAxOAAxOQAyMABBZ25vZGVpbmZvX3QAQWdlZGdlaW5mb190AHJvd2cAY29sZwBBZ3JhcGhpbmZvX3QAZGVseCA+PSAwAHBvc19odG1sX3RibABkZWx5ID49IDAAdGFibGUgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAGNlbGwgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIGNlbGwgc2l6ZSB3aXRoIHVuc3BlY2lmaWVkIHdpZHRoIG9yIGhlaWdodAoATm8gb3IgaW1wcm9wZXIgaW1hZ2UgZmlsZT0iJXMiCgBwZW5jb2xvcgAtPgBmUFEuYwBQUWNoZWNrAEhlYXAgb3ZlcmZsb3cKACUhUFMtQWRvYmUtMi4wCi9ub2RlIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgBzaG93cGFnZQoAZmFpbGVkIGF0IG5vZGUgJWRbMF0KAG5wLT5jZWxsc1swXQBtYXplLmMAY2hrU2dyYXBoAGZhaWxlZCBhdCBub2RlICVkWzFdCgBucC0+Y2VsbHNbMV0AZGl0ZW1zAGZpbmRTVmVydAAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlZiAlZiB0cmFuc2xhdGUKADAgMCAxIHNldHJnYmNvbG9yCgAlZiAlZiAlZiAlZiBub2RlCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgY2VsbAoAMSAwIDAgc2V0cmdiY29sb3IKAHVuZXhwZWN0ZWQgY2FzZSBpbiBsb2NhdGVfZW5kcG9pbnQKADAAdHJhcGV6b2lkLmMAbG9jYXRlX2VuZHBvaW50AGFkZF9zZWdtZW50OiBlcnJvcgoAbmV3bm9kZTogUXVlcnktdGFibGUgb3ZlcmZsb3cKAG5ld25vZGUAbmV3dHJhcDogVHJhcGV6b2lkLXRhYmxlIG92ZXJmbG93ICVkCgBuZXd0cmFwAGluZGV4LmMAUlRyZWVTZWFyY2gAbi0+bGV2ZWwgPj0gMABSVHJlZUluc2VydABsZXZlbCA+PSAwICYmIGxldmVsIDw9ICgqbiktPmxldmVsAHItPmJvdW5kYXJ5W2ldIDw9IHItPmJvdW5kYXJ5W05VTURJTVMgKyBpXQByICYmIG4gJiYgbmV3AFJUcmVlSW5zZXJ0MgBsZXZlbCA+PSAwICYmIGxldmVsIDw9IG4tPmxldmVsAEZBTFNFAG5vZGUuYwBOb2RlQ292ZXIAciAmJiBuAFBpY2tCcmFuY2gAQWRkQnJhbmNoAGkgPCBOT0RFQ0FSRABuZXcAbiAmJiBpID49IDAgJiYgaSA8IE5PREVDQVJEAERpc2NvbkJyYW5jaAByAHJlY3RhbmdsZS5jAFJlY3RBcmVhAHIgJiYgcnIAQ29tYmluZVJlY3QAciAmJiBzAE92ZXJsYXAAbgBzcGxpdC5xLmMAU3BsaXROb2RlAGIAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAExvYWROb2RlcwBxAHAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMF0gKyBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPT0gTk9ERUNBUkQgKyAxAE1ldGhvZFplcm8AcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IHJ0cC0+TWluRmlsbCAmJiBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPj0gcnRwLT5NaW5GaWxsACFydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0udGFrZW5baV0AQ2xhc3NpZnkAR2V0QnJhbmNoZXMAbi0+YnJhbmNoW2ldLmNoaWxkAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAgICAgICEAxZAQAfUAgDBxITFFcWFwgLaQwfCgUMDikRKw8tEC8wIDIGNDUbHB0eCwwhIiMkJSYnKAwYGRcEChscGiAqCiEiIyQlJicoDAoOUwosWDFYWFhYWFgMGxwPLlgzISIjJCUmJygbHP9T//8hIiMkJSYnKAz//wX///8JFP//////DBsc/xAVFiEiIyQlJicoGxz/////ISIjJCUmJygM/xITFBEWF////////wwbHP///xIhIiMkJSYnKBsc/////yEiIyQlJicoDP///////xP///////8MGxz/////ISIjJCUmJygbHP////8hIiMkJSYnKBITFBUWFxgZ////////////IyQlJicbEhMUFhciNmgBHzhWISACGxsbXhsbNzlwNtLCTwQ8IkciPyJEIiJYImUiIgUGX2A5BAcICQoLDA0OBGZnXWptBQZvWDtxBwgJCgsMDQ4Ecjxbcz5hRhsSExQWFwQFBj9BYkkHCAkKCwwNDgUGAFwAAAcICQoLDA0OBAAATwAAAFNCAAAAAAAEBQYARFRVBwgJCgsMDQ4FBgAAAAAHCAkKCwwNDgQAKiwuRzEzAAAAAAAABAUGAAAASgcICQoLDA0OBQYAAAAABwgJCgsMDQ4EAAAAAAAATAAAAAAAAAQFBgAAAAAHCAkKCwwNDgUGAAAAAAcICQoLDA0OKSstLzAyNDUAAAAAAAAAAAApKy0wMgAELwAkIwASFBYaHB4gGAAFBy8vLwAvLwAACQgoAAABIgIGAAAAAAAIAAAAAAAAAAAAAAAAACUDJhMKKRULKhcOLRkRGwwrHQ0sHw8hEAAzADAAL0MAMQAvADUuJ0IyQQA6OAA8NEUANgBAAAA/AEQ3Ozk9AAIDAwEBAgEBAQMDAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQIBAQIABgEDAwMDAwEAAQIDAAQBAgMABAAEAAQAAwIBAgECAVN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGJlZm9yZSA8VEFCTEU+AFN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGFmdGVyIDwvVEFCTEU+AAApKioqKywsLS0tLS0tLS0tLS4vMDEyMzQ1Njc4OTo7PD0+Pj8/QUBCQkJCQkJDQ0REREZFR0dHSUhKSEtITEhNTU5OT0//Aw8QESM6JD0lQBVDJkUnSBhLGU0aKBxOHR5QUVJZWmxrbmNkV2ltZW1vcnkgZXhoYXVzdGVkACVzIGluIGxpbmUgJWQgCgAuLi4gJXMgLi4uCgBUQUJMRQBUUgBUSABURABIVE1MAEZPTlQAQgBVAE8ASQBTVVAAU1VCAFMAQlIASFIAVlIASU1HAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlZCAKADxJTUc+AElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAc2NhbGUAc3JjADxCUj4AYWxpZ24ASUdIVABFRlQARU5URVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gLSBpZ25vcmVkCgA8Rk9OVD4AY29sb3IAZmFjZQBwb2ludC1zaXplAFBPSU5ULVNJWkUASW1wcm9wZXIgJXMgdmFsdWUgJXMgLSBpZ25vcmVkACVzIHZhbHVlICVzID4gJWQgLSB0b28gbGFyZ2UgLSBpZ25vcmVkACVzIHZhbHVlICVzIDwgJWQgLSB0b28gc21hbGwgLSBpZ25vcmVkADxURD4AYmFsaWduAGJnY29sb3IAYm9yZGVyAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAGNvbHNwYW4AZml4ZWRzaXplAGdyYWRpZW50YW5nbGUAaGVpZ2h0AGhyZWYAaWQAcG9ydAByb3dzcGFuAHNpZGVzAHN0eWxlAHRhcmdldAB0aXRsZQB0b29sdGlwAHZhbGlnbgB3aWR0aABXSURUSABPVFRPTQBPUABJRERMRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgAgLABPVU5ERUQAQURJQUwASWxsZWdhbCB2YWx1ZSAlcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBTT0xJRABJTlZJU0lCTEUASU5WSVMARE9UVEVEAERBU0hFRABVbnJlY29nbml6ZWQgY2hhcmFjdGVyICclYycgKCVkKSBpbiBzaWRlcyBhdHRyaWJ1dGUKAFJPV1NQQU4AUk9XU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAEhFSUdIVABHUkFESUVOVEFOR0xFAFJVRQBBTFNFAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAENPTFNQQU4AQ09MU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAENFTExTUEFDSU5HAENFTExQQURESU5HAEJPUkRFUgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBFWFQASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gaW4gVEQgLSBpZ25vcmVkCgA8VEFCTEU+AGNlbGxib3JkZXIAY29sdW1ucwByb3dzAFVua25vd24gdmFsdWUgJXMgZm9yIFJPV1MgLSBpZ25vcmVkCgBVbmtub3duIHZhbHVlICVzIGZvciBDT0xVTU5TIC0gaWdub3JlZAoAQ0VMTFNCT1JERVIAPEhUTUw+ADwvSFRNTD4ALS0ATGFiZWwgY2xvc2VkIGJlZm9yZSBlbmQgb2YgSFRNTCBlbGVtZW50CgBVbmNsb3NlZCBjb21tZW50CgBqID09IDAAY3Z0LmMAUG9ic3BhdGgAcm91dGUuYwBsaWJwYXRoLyVzOiVkOiAlcwoAc2hvcnRlc3QuYwBzb3VyY2UgcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBkZXN0aW5hdGlvbiBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAY2Fubm90IG1hbGxvYyBvcHMAY2Fubm90IHJlYWxsb2Mgb3BzAHRyaWFuZ3VsYXRpb24gZmFpbGVkAGNhbm5vdCBtYWxsb2MgdHJpcwBjYW5ub3QgcmVhbGxvYyB0cmlzAGNhbm5vdCBtYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBkcS5wbmxzAGNhbm5vdCBtYWxsb2MgcG5scwBjYW5ub3QgbWFsbG9jIHBubHBzAGNhbm5vdCByZWFsbG9jIHBubHMAY2Fubm90IHJlYWxsb2MgcG5scHMAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUWQBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5PVEFUSU9OKAAoAHwAaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAGh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvAHhtbD1odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UAL2Rldi91cmFuZG9tAGZhbGxiYWNrKDQpAGdldHRpbWVvZmRheV9yZXMgPT0gMAB4bWxwYXJzZS5jAGdhdGhlcl90aW1lX2VudHJvcHkARVhQQVRfRU5UUk9QWV9ERUJVRwAxAEVudHJvcHk6ICVzIC0tPiAweCUwKmx4ICglbHUgYnl0ZXMpCgBpbnZhbGlkIGFyZ3VtZW50AHByZWZpeCBtdXN0IG5vdCBiZSBib3VuZCB0byBvbmUgb2YgdGhlIHJlc2VydmVkIG5hbWVzcGFjZSBuYW1lcwByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAY2Fubm90IHN1c3BlbmQgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eQBwYXJzaW5nIGZpbmlzaGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAGlsbGVnYWwgY2hhcmFjdGVyKHMpIGluIHB1YmxpYyBpZAB0ZXh0IGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABYTUwgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAGluY29tcGxldGUgbWFya3VwIGluIHBhcmFtZXRlciBlbnRpdHkAbXVzdCBub3QgdW5kZWNsYXJlIHByZWZpeAB1bmJvdW5kIHByZWZpeABjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgByZXF1ZXN0ZWQgZmVhdHVyZSByZXF1aXJlcyBYTUxfRFREIHN1cHBvcnQgaW4gRXhwYXQAZW50aXR5IGRlY2xhcmVkIGluIHBhcmFtZXRlciBlbnRpdHkAdW5leHBlY3RlZCBwYXJzZXIgc3RhdGUgLSBwbGVhc2Ugc2VuZCBhIGJ1ZyByZXBvcnQAZG9jdW1lbnQgaXMgbm90IHN0YW5kYWxvbmUAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHVuY2xvc2VkIENEQVRBIHNlY3Rpb24AZW5jb2Rpbmcgc3BlY2lmaWVkIGluIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNvcnJlY3QAdW5rbm93biBlbmNvZGluZwBYTUwgb3IgdGV4dCBkZWNsYXJhdGlvbiBub3QgYXQgc3RhcnQgb2YgZW50aXR5AHJlZmVyZW5jZSB0byBleHRlcm5hbCBlbnRpdHkgaW4gYXR0cmlidXRlAHJlZmVyZW5jZSB0byBiaW5hcnkgZW50aXR5AHJlZmVyZW5jZSB0byBpbnZhbGlkIGNoYXJhY3RlciBudW1iZXIAYXN5bmNocm9ub3VzIGVudGl0eQByZWN1cnNpdmUgZW50aXR5IHJlZmVyZW5jZQB1bmRlZmluZWQgZW50aXR5AGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGR1cGxpY2F0ZSBhdHRyaWJ1dGUAbWlzbWF0Y2hlZCB0YWcAcGFydGlhbCBjaGFyYWN0ZXIAdW5jbG9zZWQgdG9rZW4Abm90IHdlbGwtZm9ybWVkIChpbnZhbGlkIHRva2VuKQBubyBlbGVtZW50IGZvdW5kAHN5bnRheCBlcnJvcgBvdXQgb2YgbWVtb3J5AAIDBAUGBwgAAAkKCwwNDg8QEQAAAAAAAAAAAAAAABITABQAAAAAAAAAAAAAAAAAABUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARcAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAxobHB0eAAAfICEiIyQlEBEAAAAAAAAAAAAAAAASEyYUAAAAAAAAAAAAAAAAAAAnFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0RBVEFbVVMtQVNDSUkAVVRGLTE2AFVURi0xNkJFAFVURi0xNkxFAHZlcnNpb24AZW5jb2RpbmcAc3RhbmRhbG9uZQBET0NUWVBFAFNZU1RFTQBQVUJMSUMARU5USVRZAEFUVExJU1QARUxFTUVOVABOT1RBVElPTgBJTkNMVURFAElHTk9SRQBFTVBUWQBBTlkAUENEQVRBAElNUExJRUQAUkVRVUlSRUQARklYRUQAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUSUVTAE5NVE9LRU4ATk1UT0tFTlMATkRBVEEAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAASEBMUFRYXGBkaGxwdHh8gIRAQIiMQJCUmJygpKisQLC0uES8wERExERERMjM0NTY3ODkREBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDsQPD0+P0BBEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEMQEEQQRUZHEEgQSRAQEBBKS0xNEBBOEE9QEBAQEFEQEBAQEBAQEBAQEBAQUhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFRVVlcQEFhZEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFoQW1xdXl9gYWIQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAA/v8A/AEAAPgBAAB4AAAAAP/73/sAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/P/gr//////////////f//////8gQLAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAA/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAhv7///8AQEkAAAAAABgA3/8AyAAAAAAAAAABADwAAAAAAAAAAAAAAAAQ4AEeAGD/vwAAAAAAAP8HAAAAAAAAAAAAAAAAAAAAAAAAAPjPAwAAAAMAIP9/AAAATgAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAABAAIB4AMAABAAAAAAAAAAAQACAAAAAA/A8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAABAAIAAAAAADAAAAAAAAAAAQACAAAAAA/QAAAAAAAAAAAAAgAAAAAP8HAAAAAAAAAAAAIAAAAAAA/wAAAAAAAAAQACAAAAAAAAAAAAAAAAAAAAAgAAAAAD8CAAAAAAAAAAAABAAAAAAQAAAAAAAAgACAwN8ADAAAAAAAAAAAAAAAAAAfAAAAAAAA/v///wD8//8AAAAAAAAAAPwAAAAAAADA/9//BwAAAAAAAAAAAACABgD8AAAYPgAAgL8AzAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAYP///x8AAP8DAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAQAAGAAAAAAAAAAAADgAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAwAAD+fy8AAP8D/38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjEAAAAAAAAAAAAAAAAAAAAAAADE/////wAAAMAAAAAAAAAAAAEA4J8AAAAAfz8AAAAAAAAAAAAAAAAAAAAAEAAQAAD8////HwAAAAAADAAAAAAAAEAADPAAAAAAAADA+AAAAAAAAADAAAAAAAAAAAD/AP///yEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9/AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA+AA4ADgAGCA+P////z//////38f/PF//38AAP///wMAAP////8BAHsD0MGvQgAMH7z//wAAAAAAAv//////////////////////////////////////////////////////////DwD/////fwAAAP8HAAD/////////////PwAAAAAAAPz///7/////////////////////////////////////////////////////H/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IcD/gAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAA//////9//w8AAAAAAAAAAP////v/////////////DwD//////////////////////////////////z8AAAD/Dx7///8B/MHgAAAAAAAAAAAAAAAeAQAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAA/////w8AAAD///9/////////////////////////////////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAA////////fwAAAAAAAMAA4AAAAAAAAAAAAAAAgA9wAAAAAAAAAAAAAAAAAAD/AP//fwADAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAARAgAAAAP/wMAAAAAAADwAAAAAAAAAAAAEMAAAP//AwcAAAAAAPgAAAAACIAAAAAAAAAAAAAACAD/PwDAAAAAAAAAAAAAAAAAAAAA8AAAgAsAAAAAAAAAgAIAAMAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP///wN/AP/////3/38PAAAAAAAAAAAAAAAAAAAAAACA/v8A/AEAAPgBAAD4PwAAAAAAAAAAAAAAAAAAAH9/ADCH//////+P/wAAAAAAAOD//wf/DwAAAAAAAP//////PwAAAAAPAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/wD/AQAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD/8/z8AAAADAAAAAAAA/gMAAAAAAAAAAAAAAAAAGAAPAAAAAAAAAAAAAAAAAAAA4QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABwAAAAAAAAAAAAAAAAD///////////////////////////////////////8/AP////9//v///////////////////////////z8AAAAA//////////8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////fwD//wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAAAIAAAgAAAAIAAAgAAAAIAAAAACAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP//////D////////////////w8A/3/+f/7//v8AAAAA/wf///9//////////w///////wcAAAAAAAAAAMD///8HAP//////B/8BAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAL///////////x///w8A/////98HAAD//wEA/////////3/9/////////////////////////////x7/////////Pw8A////AAAAAAAAAAAAAAAAAAAAAAAA+P//////////4f8AAAAAAAD//////////z8AAAAAAAAA//////////////////8PAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISRAQEEpLTE1OEBAQT1AQEBAQURAQEBAQEBAQEBEREVJTEBAQEBAQEBAQEBARERERVBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERVRAQEBBWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFcQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFhZWlsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQXBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN88QNf///v///////////+///////////////////////8D/P////////////////////////8A/v///38C/v////8AAAAAAP+/tgD///8HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8BAAAAAAAAAAD9HwAAAAAAAPAD/3//////////7//f4f/P//7+7p/5///9xeOfWYCwz/8DAO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAA7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADu3/3///3v498dYAPP/wAA7N/9///97+PfHWBAz/8GAOzf/f/////n312AAM//APzs/3/8///7L3+AX/8AAAwA/v////9//wc/IP8DAAAAAJYl8P6u7P87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP//+fB//9/QP8z/////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////4cAAAAA//8AAP////////////8fAP7//////////////////////////////////////////////////////////5////7//wf////////////HAQD/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wD//////wf//////////z8A////H/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////PwD/4///////PwAAAAAAAAAAAAAAAADebwD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg/////z/+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA/////////////////////////////////x8AAAAAAAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I////+A/////////////wAAAACA//z///////////////95DwD/BwAAAAAAAAAAAP+79////wAAAP///////w8A//////////8PAP8DAAD8CP//////B/////8HAP///x/////////3/wCA/wMAAAAA////////fwD/P/8D//9/BP////////9/BQAAOP//PAB+fn4Af38AAAAAAAAAAAAAAAAAAAAAAAD//////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP///38AAP///wcAAAAAAAD///8//////w//PgAAAAAA/////////////////////////z//AwAAAAAAAAAAAAA//f////+/kf//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//DwAAAAAA////HwAAAAAAAAAAAAAAAAAAAAD///////8/AP//PwD//wcAAAAAAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8/AAAAwP8AAPz///////8BAAD///8B/wP////////H/wAAAAAAAAAA//////////8eAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8/AP8DAAAAAAAA/////////////////38AAAAAAAAAAAAAAAAAAAAAAAD///////////////8HAAAAAAAAAAAAAAAAAAAAAAAAAP//////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////x8A//////9/AAD4/wAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98/////////v////lv73CoTqlqqW9/de//v/D+77/w8AAAAAAAAAAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AYWxudW0AYWxwaGEAYmxhbmsAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QAc3BhY2UAdXBwZXIAeGRpZ2l0AEMuVVRGLTgAAAAAAAAAAABDAC9wcm9jL3NlbGYvZmQvAHJ3YQBpbmZpbml0eQBuYW4ACQAKAA0ADAAHABsAW1s6YWxudW06XV9dAFteWzphbG51bTpdX10AW1s6c3BhY2U6XV0AW15bOnNwYWNlOl1dAFtbOmRpZ2l0Ol1dAFteWzpkaWdpdDpdXQAvdG1wL3RtcGZpbGVfWFhYWFhYAHcr";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+Pointer_stringify(condition)+", at: "+[filename?Pointer_stringify(filename):"unknown filename",line,func?Pointer_stringify(func):"unknown function"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!=="undefined"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self["performance"]&&self["performance"]["now"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))}),join2:(function(l,r){return PATH.normalize(l+"/"+r)}),resolve:(function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter((function(p){return!!p})),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!="win32";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync("/dev/stdin","r");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf("EOF")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["print"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module["printErr"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,"/",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!=="undefined")return indexedDB;var ret=null;if(typeof window==="object")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,"IDBFS used, but indexedDB not supported");return ret}),DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback("Unable to connect to IndexedDB")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains("timestamp")){fileStore.createIndex("timestamp","timestamp",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!=="."&&p!==".."}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:"local",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index("timestamp");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:"remote",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error("node type not supported"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error("node type not supported"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type==="remote"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readwrite");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type==="local"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type==="local"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={"1024":flags["O_APPEND"],"64":flags["O_CREAT"],"128":flags["O_EXCL"],"0":flags["O_RDONLY"],"2":flags["O_RDWR"],"4096":flags["O_SYNC"],"512":flags["O_TRUNC"],"1":flags["O_WRONLY"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,"/",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split("/");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join("/");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split("/");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts["files"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts["blobs"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj["name"]),base(obj["name"]),WORKERFS.FILE_MODE,0,obj["data"])}));(mount.opts["packages"]||[]).forEach((function(pack){pack["metadata"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack["blob"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+" : "+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split("/").filter((function(p){return!!p})),false);var current=FS.root;var current_path="/";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags}),flagsToPermissionString:(function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,"wx")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split("/");var d="";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+="/"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,"w");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate["willMovePath"]){FS.trackingDelegate["willMovePath"](old_path,new_path)}}catch(e){console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate["onMovePath"])FS.trackingDelegate["onMovePath"](old_path,new_path)}catch(e){console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: "+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate["willDeletePath"]){FS.trackingDelegate["willDeletePath"](path)}}catch(e){console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: "+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate["onDeletePath"])FS.trackingDelegate["onDeletePath"](path)}catch(e){console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: "+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,"w");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===""){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module["printErr"]("read file: "+path)}}try{if(FS.trackingDelegate["onOpenFile"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate["onOpenFile"](path,trackingFlags)}}catch(e){console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: "+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate["onWriteToFile"])FS.trackingDelegate["onWriteToFile"](stream.path)}catch(e){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||"r";opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,"x");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")}),createDefaultDevices:(function(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device;if(typeof crypto!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return __webpack_require__(/*! crypto */ 3)["randomBytes"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),createSpecialDirectories:(function(){FS.mkdir("/proc");FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:(function(){var node=FS.createNode("/proc/self","fd",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},"/proc/self/fd")}),createStandardStreams:(function(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin","r");assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");assert(stderr.fd===2,"invalid handle for stderr ("+stderr.fd+")")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,"stack",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"IDBFS":IDBFS,"NODEFS":NODEFS,"WORKERFS":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module["_fflush"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]=="/")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,"w");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(Module["read"]){try{obj.contents=intArrayFromString(Module["read"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module["preloadPlugins"].forEach((function(plugin){if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return"EM_FS_"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!=="/"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f32=Math_sqrt;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort("trap!")}function _longjmp(env,value){Module["setThrew"](env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===""||name.indexOf("=")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!=="undefined"){_emscripten_get_now=dateNow}else if(typeof self==="object"&&self["performance"]&&typeof self["performance"]["now"]==="function"){_emscripten_get_now=(function(){return self["performance"]["now"]()})}else if(typeof performance==="object"&&typeof performance["now"]==="function"){_emscripten_get_now=(function(){return performance["now"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=__webpack_require__(/*! fs */ 1);var NODEJS_PATH=__webpack_require__(/*! path */ 2);NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:(function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_d(index){try{return Module["dynCall_d"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module["dynCall_dddd"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_di(index,a1){try{return Module["dynCall_di"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module["dynCall_iiidd"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiddi"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;Module["setThrew"](1,0)}}Module.asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,"Infinity":Infinity};Module.asmLibraryArg={"abort":abort,"assert":assert,"enlargeMemory":enlargeMemory,"getTotalMemory":getTotalMemory,"abortOnCannotGrowMemory":abortOnCannotGrowMemory,"invoke_d":invoke_d,"invoke_dddd":invoke_dddd,"invoke_di":invoke_di,"invoke_i":invoke_i,"invoke_ii":invoke_ii,"invoke_iii":invoke_iii,"invoke_iiidd":invoke_iiidd,"invoke_iiii":invoke_iiii,"invoke_iiiii":invoke_iiiii,"invoke_iiiiii":invoke_iiiiii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_iiiiiiiiiii":invoke_iiiiiiiiiii,"invoke_v":invoke_v,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_viii":invoke_viii,"invoke_viiiddi":invoke_viiiddi,"invoke_viiii":invoke_viiii,"invoke_viiiii":invoke_viiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"___assert_fail":___assert_fail,"___buildEnvironment":___buildEnvironment,"___clock_gettime":___clock_gettime,"___lock":___lock,"___map_file":___map_file,"___setErrNo":___setErrNo,"___syscall10":___syscall10,"___syscall140":___syscall140,"___syscall145":___syscall145,"___syscall146":___syscall146,"___syscall192":___syscall192,"___syscall195":___syscall195,"___syscall197":___syscall197,"___syscall20":___syscall20,"___syscall221":___syscall221,"___syscall3":___syscall3,"___syscall33":___syscall33,"___syscall5":___syscall5,"___syscall54":___syscall54,"___syscall6":___syscall6,"___syscall91":___syscall91,"___unlock":___unlock,"__exit":__exit,"_clock_gettime":_clock_gettime,"_emscripten_asm_const_iii":_emscripten_asm_const_iii,"_emscripten_get_now":_emscripten_get_now,"_emscripten_get_now_is_monotonic":_emscripten_get_now_is_monotonic,"_emscripten_memcpy_big":_emscripten_memcpy_big,"_exit":_exit,"_getenv":_getenv,"_gettimeofday":_gettimeofday,"_llvm_ceil_f64":_llvm_ceil_f64,"_llvm_fabs_f32":_llvm_fabs_f32,"_llvm_fabs_f64":_llvm_fabs_f64,"_llvm_floor_f64":_llvm_floor_f64,"_llvm_pow_f64":_llvm_pow_f64,"_llvm_sqrt_f32":_llvm_sqrt_f32,"_llvm_sqrt_f64":_llvm_sqrt_f64,"_llvm_trap":_llvm_trap,"_longjmp":_longjmp,"_setenv":_setenv,"_time":_time,"_times":_times,"DYNAMICTOP_PTR":DYNAMICTOP_PTR,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"cttz_i8":cttz_i8};// EMSCRIPTEN_START_ASM +var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_d;var Y=env.invoke_dddd;var Z=env.invoke_di;var _=env.invoke_i;var $=env.invoke_ii;var aa=env.invoke_iii;var ba=env.invoke_iiidd;var ca=env.invoke_iiii;var da=env.invoke_iiiii;var ea=env.invoke_iiiiii;var fa=env.invoke_iiiiiii;var ga=env.invoke_iiiiiiiiiii;var ha=env.invoke_v;var ia=env.invoke_vi;var ja=env.invoke_vii;var ka=env.invoke_viii;var la=env.invoke_viiiddi;var ma=env.invoke_viiii;var na=env.invoke_viiiii;var oa=env.invoke_viiiiii;var pa=env.invoke_viiiiiiiii;var qa=env.___assert_fail;var ra=env.___buildEnvironment;var sa=env.___clock_gettime;var ta=env.___lock;var ua=env.___map_file;var va=env.___setErrNo;var wa=env.___syscall10;var xa=env.___syscall140;var ya=env.___syscall145;var za=env.___syscall146;var Aa=env.___syscall192;var Ba=env.___syscall195;var Ca=env.___syscall197;var Da=env.___syscall20;var Ea=env.___syscall221;var Fa=env.___syscall3;var Ga=env.___syscall33;var Ha=env.___syscall5;var Ia=env.___syscall54;var Ja=env.___syscall6;var Ka=env.___syscall91;var La=env.___unlock;var Ma=env.__exit;var Na=env._clock_gettime;var Oa=env._emscripten_asm_const_iii;var Pa=env._emscripten_get_now;var Qa=env._emscripten_get_now_is_monotonic;var Ra=env._emscripten_memcpy_big;var Sa=env._exit;var Ta=env._getenv;var Ua=env._gettimeofday;var Va=env._llvm_ceil_f64;var Wa=env._llvm_fabs_f32;var Xa=env._llvm_fabs_f64;var Ya=env._llvm_floor_f64;var Za=env._llvm_pow_f64;var _a=env._llvm_sqrt_f32;var $a=env._llvm_sqrt_f64;var ab=env._llvm_trap;var bb=env._longjmp;var cb=env._setenv;var db=env._time;var eb=env._times;var fb=0.0; +// EMSCRIPTEN_START_FUNCS +function gP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)qa(108200,108204,52,108218);if(!d)qa(108230,108204,53,108218);i=c[d+8>>2]|0;if(!i)qa(108233,108204,54,108218);if(!(a[i>>0]|0))qa(108242,108204,55,108218);b0(h,c[d+28>>2]|0)|0;i=h+(W_(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;p1(h,g)|0;if((hP(b,h)|0)==999){c[j>>2]=h;Pw(0,108254,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function hP(a,b){a=a|0;b=b|0;b=wC(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function iP(a){a=a|0;return 1}function jP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function kP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function lP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function mP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function nP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function oP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function pP(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function qP(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;GP(b,d)}dF(b,d);a[b+540>>0]=1;return}function rP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];zP(b,f);FP(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];zP(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function sP(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function tP(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];zP(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;return}function vP(a){a=a|0;return}function wP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=L1(d,135739)|0;if(d|0){i=TB(d,0)|0;s1(d)|0;f=5}}else{i=TB(c[15621]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){tb[h&127](d);d=c[g>>2]|0}gH(d);$x(c[g>>2]|0)|0}Fz(i,0,134401,280,1);Fz(i,1,134365,304,1);Fz(i,2,134378,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((_C(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function xP(a,b){a=a|0;b=b|0;a=c[a>>2]|0;_C(a,c[a+168>>2]|0,b)|0;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}aD(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function zP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];AP(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=BP(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){CP(b);c[e>>2]=d;DP(b);a[b+537>>0]=1}l=f;return}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function BP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=Sy(a)|0;a:while(1){if(!e){e=9;break}d=Ex(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((WM(d,f)|0)<<24>>24){e=6;break a}d=Gx(a,d)|0}e=Ty(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=Uy(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((TM(d,f)|0)<<24>>24){e=12;break}d=Vy(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=EP(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function CP(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function DP(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){D_(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=nx(d,0,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=nx(ez(d)|0,1,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=nx(ez(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}default:break a}while(0);return}function EP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=EP(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function FP(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){D_(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(pz(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;GP(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;HP(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;IP(b,d);break b}default:break b}while(0);return}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((fz(b)|0)==(b|0))if(!(ey(b)|0)){rC(d,0,108412);break}else{rC(d,0,108404);break}else rC(d,0,108418);while(0);rC(d,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=sx(b,0,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e+1|0,yx(b,d)|0);rC(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=nx(b,0,137973,0)|0;if(!d){d=nx(b,0,108395,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;rC(f,0,108399);rC(f,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;g=fz(ez(b)|0)|0;e=2;d=0;while(1){d=sx(g,1,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e|1,yx(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=nx(ez(b)|0,1,137973,0)|0;if(!d){d=nx(ez(b)|0,1,108395,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function IP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;rC(h,0,108368);k=b+48|0;rC(h,1,ry(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(ey(ez(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;rC(h,3,k?134656:138665);k=b+-48|0;rC(h,4,ry(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=fz(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=sx(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(b$(f,108373)|0)){l=5;break}if(!(b$(f,108382)|0)){l=7;break}if(b$(f,108391)|0)break;rC(h,6,yx(b,d)|0)}if((l|0)==5){l=0;rC(h,2,yx(b,d)|0)}else if((l|0)==7){l=0;rC(h,5,yx(b,d)|0)}rC(i,g,c[e>>2]|0);rC(i,g+1|0,yx(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,137973,0)|0;if(!d){d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,108395,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function JP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=KP(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;uC(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vH(12)|0;if(!b)b=0;else b=n1(b)|0;c[e+4>>2]=b;c[e+8>>2]=n1(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function LP(b,c){b=b|0;c=c|0;MP(b);a[b+44>>0]=0;NP(b)|0;AL(b)|0;return}function MP(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?P0(e,108427)|0:0)JP(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function NP(a){a=a|0;var b=0;b=wC(a,2,108440)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=lb[e&127](b,d)|0;else a=0;return a|0}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function QP(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (RP(~~(d>b?d:b)>>>0)|0)+1|0}function RP(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function SP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=TP(b,d,e,f,g)|0;e=UP(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){VP(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}WP(p)}l=r;return e|0}function TP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=uH(28)|0;j=Cw(25808,c[4558]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=CS()|0;c[g+24>>2]=j;if(!j){E1(108658,14,1,c[15686]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{E1(108658,14,1,c[15686]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)yw(a)|0;a=c[g+24>>2]|0;if(a|0)ES(a)|0;D_(g);g=0}return g|0}function UP(a){a=a|0;var b=0;b=dQ(a)|0;if((b|0)>=0){eQ(a);fQ(a);b=yw(c[a+20>>2]|0)|0}return b|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)qa(108451,108461,445,108471);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];XP(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];XP(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];XP(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];XP(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}XP(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;XP(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;XP(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;XP(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function WP(a){a=a|0;ES(c[a+24>>2]|0)|0;D_(a);return}function XP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)qa(108451,108461,382,108480);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((YP(e,k)|0)!=0&1)|0}while(0);m=m+1|0}ZP(e,q);m=c[d+24>>2]|0;m=GS(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){_P(j,s);n=+$P(q,s);if(n>0.0){g=g+1|0;i=+aQ(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(ZP(j,s),r=+$P(q,s),r>0.0):0){g=g+1|0;i=+bQ(e,j,q,r,f)+i}}k=c[k>>2]|0}BS(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function YP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}qa(108517,108461,219,108554);return 0}function ZP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function _P(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function $P(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function aQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function bQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))qa(108496,108461,276,108506);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(i<g){if(k<j){e=0;break}e=k>j?2:1;break}e=k<j;if(i>g){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function dQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=QP(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=uH(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;gQ(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=hQ(d,g)|0;n=c[j>>2]|0;if(!(nb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function eQ(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;HS(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}return}function fQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Ew(c[e>>2]|0)|0;d=0;while(1){if(!(Ew(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}nb[c[g>>2]&63](g,a,4096)|0;D_(a);d=d+1|0}if((h|0)==8)qa(108567,108461,616,108570);if((f|0)==(d|0))return;else qa(108582,108461,623,108570)}function gQ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)qa(108594,108461,264,108621);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)qa(108631,108461,266,108621);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function iQ(b){b=b|0;var d=0,e=0,f=0,g=0;d=W_(b)|0;if(d>>>0>=(c[46595]|0)>>>0){d=d+11|0;c[46595]=d;d=xH(c[46596]|0,d)|0;c[46596]=d;if(!d)d=0;else e=4}else{d=c[46596]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(Q$(f)|0)e=(P$(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function jQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((N1(r,108673,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;kQ(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=W_(r)|0;if(b>>>0>=(c[46597]|0)>>>0){b=b+11|0;c[46597]=b;b=xH(c[46598]|0,b)|0;c[46598]=b;if(!b){b=-1;break}}else b=c[46598]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((N1(b,108687,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{mQ(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{mQ(k,j,g,C,D,E);lQ(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{mQ(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{mQ(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=nQ(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[46599]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(b$(u,i)|0)==0:0)){b=e2(v,25844,2491,12,101)|0;c[46599]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function kQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=b<c?b:c;m=b>c?b:c;m=m<a?a:m;i=m-(i>a?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function lQ(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function mQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function nQ(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(z$(e,134184,4)|0)==0)):0)?!(d<<24>>24==108|(z$(e,134189,4)|0)==0):0)?(z$(e,134194,8)|0)!=0:0){do if(d<<24>>24==47){d=A$(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(V$(134203,e,4)|0)==0;b=e?d+1|0:b;break}d=c[46600]|0;if((d|0?a[d>>0]|0:0)?V$(134203,d,3)|0:0){b=pQ(d,b+2|0)|0;break}b=b+2|0}}else{d=c[46600]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(V$(134203,d,3)|0)!=0:0)b=pQ(d,b)|0}while(0);b=iQ(b)|0}return b|0}function oQ(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function pQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=W_(a)|0;g=(W_(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[46601]|0)>>>0)d=c[46602]|0;else{c[46601]=d;d=xH(c[46602]|0,d)|0;c[46602]=d}c[e>>2]=a;c[e+4>>2]=b;Y0(d,134208,e)|0;l=f;return c[46602]|0}function qQ(a){a=a|0;c[46600]=a;return}function rQ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;sQ(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=tQ(g)|0;l=f;return a|0}function sQ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;zQ(a);AQ(a);BQ(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function tQ(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=uH(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+uQ(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);vQ(q,c,n);wQ(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;xQ(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}yQ(q);return q|0}function uQ(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10392:10648;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function vQ(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[46603]=100;e=uH(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function wQ(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;xQ(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function xQ(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[46603]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[46603]=k<<1;j=F_(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function yQ(a){a=a|0;var b=0;b=c[a>>2]|0;wQ(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=F_(c[a>>2]|0,c[a+4>>2]<<4)|0;c[46603]=0;return}function zQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function AQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function BQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e<c?e:c}else c=+E(+e)*l*j+ +h[a>>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e<d?e:d}else d=+E(+b)*l*m+ +h[a+8>>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function CQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;DQ(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+EQ(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+EQ(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=xx(c[(c[j>>2]|0)+8>>2]|0,134215)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=134226;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;YO(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)UO(b,134232);else UO(b,f);GQ(b,e,m);if(a[j>>0]|0)D_(c[i>>2]|0)}else FQ(b,c[d>>2]|0,m);HQ(b);l=n;return}function DQ(a){a=a|0;var d=0,e=0,f=0;d=NE(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function EQ(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function FQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];TQ(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function GQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)IQ(g,j,183464);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=JQ(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=KQ(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];$O(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];EJ(e,LQ(p,t,o)|0,4,4,j)}D_(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;MQ(e,j,g);i=i+4|0}i=c[r>>2]|0;fP(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}NQ(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];OQ(e,f,t)}}if(s|0)PQ(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],JQ(e,g,f,t,w)|0):0)PQ(e,w);if(c[u>>2]|0)QQ(g,183464);l=y;return}function HQ(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;OE(a);return}function IQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function JQ(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{Tw(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=n1(QE(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}Ww(t,h)|0;i=c[46604]|0;c[46604]=i+1;c[k>>2]=i;Y0(j,134309,k)|0;Ww(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){Uw(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=PE(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)Xw(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];XE(d,n);PO(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function KQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((uG(b,f,i)|0)<<24>>24)){WO(a,b);b=1}else{WO(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)XO(a,134232,d,h);else XO(a,b,d,h);b=e>>>1&1|2}UO(a,134297);l=j;return b|0}function LQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function MQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=JQ(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=KQ(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];$O(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];EJ(e,LQ(p,r,n)|0,4,4,i)}D_(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];OQ(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{GQ(e,c[i>>2]|0,g);break a}case 3:{SQ(e,c[i>>2]|0,g);break a}default:{FQ(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)PQ(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],JQ(e,g,f,r,s)|0):0)PQ(e,s);l=v;return}function NQ(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?134232:j;WO(f,q);UO(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];RQ(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];RQ(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function OQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;UO(e,(m|0)==0?134232:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))YO(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=134238;k=4}}else{i=134245;k=4}if((k|0)==4)c[j>>2]=i;YO(e,j)}k=f+33|0;fP(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];$O(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];LQ(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{bP(e,j,2);break a}case 3:{bP(e,n+32|0,2);break a}case 1:{bP(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);break a}case 11:{bP(e,j,3);break a}case 5:{bP(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,3);break a}case 13:{bP(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];bP(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,4);break a}case 9:{bP(e,j,2);bP(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);bP(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];EJ(e,LQ(n,o,m)|0,4,4,0)}while(0);l=p;return}function PQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{QO(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){D_(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function QQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function RQ(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];$O(a,g,1);l=f;return}function SQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)qa(134252,134260,623,134272);if(!(a[e>>0]|0))qa(134286,134260,624,134272);else{dP(b,e,g,4,1,f);l=i;return}}function TQ(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];RO(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;UO(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];TO(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}SO(d);l=R;return}function UQ(a){a=a|0;D_(c[a>>2]|0);D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(c[a+16>>2]|0);D_(c[a+12>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);return}function VQ(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;D_(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)tb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)D_(d);D_(a)}return}function WQ(a){a=a|0;D_(c[a+32>>2]|0);D_(a);return}function XQ(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{YQ(c[b>>2]|0);break}case 3:{WQ(c[b>>2]|0);break}default:VQ(c[b>>2]|0)}if(d|0)D_(b);return}function YQ(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)yw(c[e>>2]|0)|0;else{b=c[e>>2]|0;D_(c[a+92>>2]|0);D_(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;ZQ(d);b=b+4|0}D_(c[e>>2]|0)}UQ(a);D_(a);return}function ZQ(a){a=a|0;XQ(a+88|0,0);UQ(a);D_(a);return}function _Q(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=$Q(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function $Q(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(O$(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=aR(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function aR(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(O$(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=$Q(c[b+88>>2]|0,d)|0;else b=0;return b|0}function bR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function cR(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=uH((c[d+100>>2]<<2)+4|0)|0;n=uH((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function dR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55736+(a<<2)>>2]|0;else{c[b>>2]=a;Y0(191879,134313,b)|0;a=191879}l=d;return a|0}function eR(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=az(d,dR(f)|0,1)|0;Az(i,134365,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=uH((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=uH((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=az(b,dR(f)|0,1)|0;Az(i,134365,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=uH((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=uH((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=az(d,dR(e[o>>1]|0)|0,0)|0;o=az(d,dR((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=az(b,dR(e[o>>1]|0)|0,0)|0;o=az(b,dR((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(b,n,o,~~+h[g+72>>3]);f=f+4|0}gR(d);gR(b);return}function fR(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=Rx(a,d,f,0,0)|0;if(!h){i=Rx(a,d,f,0,1)|0;Az(i,134378,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=vH((c[a+184>>2]<<2)+8|0)|0;else a=xH(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=vH((c[a+176>>2]<<2)+8|0)|0;else a=xH(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function gR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(Rx(a,d,h,0,0)|0){d=h;continue}g=Rx(a,d,h,0,1)|0;Az(g,134378,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=vH((c[d+184>>2]<<2)+8|0)|0;else d=xH(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=vH((c[d+176>>2]<<2)+8|0)|0;else d=xH(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function hR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function iR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4621];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=uH((e<<2)+4|0)|0;c[b+96>>2]=uH((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=Xx(134391,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=Xx(134396,g,0)|0;Az(f,134401,280,1)|0;Az(g,134401,280,1)|0;eR(b,f,g);fI(f,2,2147483647)|0;fI(g,2,2147483647)|0;hR(b,f,g);jR(f,g)}else cR(b);l=h;return}function jR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}d=d+164|0}$x(a)|0;$x(b)|0;return}function kR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(pz(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=ez(b)|0;break}case 2:{e=ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=uT(c[d>>2]|0,o,k)|0;if(!f){Tw(n,128,g);a[d+82>>0]=0;e=n1(lR(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=RM(e)|0;else e=OM(e,c[i>>2]|0)|0;D_(c[d>>2]|0);c[d>>2]=e;iH(c[(c[m+16>>2]|0)+144>>2]|0,d);Xw(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?mR(b)|0:0){i=n1(mR(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=nR(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;oR(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];pR(m,n,15)}else{qR(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;oR(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){D_(c[d>>2]|0);c[d>>2]=n1(138529)|0}e=c[o>>2]|0}l=p;return e|0}function lR(b,d){b=b|0;d=d|0;var e=0;a:do switch(pz(b)|0){case 0:{Ww(d,ry(b)|0)|0;break}case 1:{Ww(d,ry(b)|0)|0;break}case 2:{Ww(d,ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;Ww(d,ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(ey(ez(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){Ww(d,138665)|0;break a}else{Ww(d,134656)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function mR(b){b=b|0;var c=0,d=0;c=xx(b,134647)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=xx(b,137741)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function nR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)IQ(j,k,183496);c[g+80>>2]=i;k=uR(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;iR(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}Pw(0,134447,t)|0;k=1;i=0;f=0;break}Pw(0,134481,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)QQ(j,183496);l=w;return k|0}function oR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function pR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=n1(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)qa(134414,134260,1761,134424);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)qa(134437,134260,1764,134424);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];rR(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function qR(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(b$(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=pH(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=nb[c[i>>2]&63](i,I,1)|0;wL(J,d,H);Q=+h[J>>3];o=+h[v>>3];D_(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function rR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=n1(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];pR(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];sR(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;tR(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function sR(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function tR(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function uR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=vI()|0;v=yR()|0;i=0;h=0;k=Aw(t)|0;while(1){if(!k)break;j=Aw(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)CR(v,h);k=c[k>>2]|0}h=uH((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Aw(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Aw(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=vR(d,n,f,g)|0|k;l=wR(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(DR(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;yw(t)|0;yw(v)|0;yI(u);return k|0}function vR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=nR(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=xR(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{qR(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}Pw(0,134532,s)|0;n=1;m=0.0;k=0.0;break}Pw(0,134565,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function wR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(DI(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;BI(a,f,g);g=g+1|0}f=f+1|0}return c|0}function xR(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;CC(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];Pw(1,134615,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function yR(){return Cw(55820,c[4555]|0)|0}function zR(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(12)|0;c[d>>2]=c[b>>2];return d|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function BR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function CR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function DR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(nb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function ER(a){a=a|0;var b=0;if(!(c[46605]|0)){b=uH((a<<2)+4|0)|0;c[46605]=b;c[b>>2]=186424;c[46616]=a}c[46617]=0;return}function FR(){D_(c[46605]|0);c[46605]=0;c[46617]=0;return}function GR(){c[46617]=0;return}function HR(){var a=0,b=0,d=0;b=c[46617]|0;d=c[46605]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)qa(135312,134659,59,134665);else if((a|0)==5)return}function IR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[46605]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function JR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[46617]|0;if((b|0)==(c[46616]|0)){Pw(1,134673,d)|0;a=1}else{b=b+1|0;c[46617]=b;c[(c[46605]|0)+(b<<2)>>2]=a;IR(b);HR();a=0}l=d;return a|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[46605]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[46617]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function LR(){var a=0,b=0,d=0,e=0;b=c[46617]|0;if(!b)a=0;else{e=c[46605]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[46617]=b;if(b|0)KR(1);HR()}return a|0}function MR(a,b){a=a|0;b=b|0;c[a>>2]=b;IR(c[a+4>>2]|0);HR();return}function NR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}OR(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){OR(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function PR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=uH(28)|0;b=ay(a)|0;s=w+4|0;c[s>>2]=b;b=uH(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=Sy(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=Ty(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=ZR(D,f,t,u)|0;if(c[46553]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];QR(r,C,u,f,D)}e=w+8|0;c[e>>2]=uH((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}D_(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=RR(w,u)|0;l=x;return w|0}function QR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15686]|0;D1(134688,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);g1(i,135118,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;g1(i,135166,r)|0;D1(135183,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;g1(i,135202,j)|0;d=d+1|0}D1(135220,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;g1(i,135239,o)|0;d=d+1|0}D1(135257,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;g1(i,135239,p)|0;D1(135004,i)|0;l=q;return}function RR(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=nO(w<<2|2)|0;z=Cw(55856,c[4555]|0)|0;v=Cw(55892,c[4555]|0)|0;w=uH(w<<7)|0;f=uH(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=SR(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=SR(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=uH(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}f=g+(n*72|0)+64|0;d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]<e))break;b=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]<e))break;D=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;TR((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;mO(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;UR((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}yw(z)|0;yw(v)|0;D_(w);VR(y);kO(y);l=A;return y|0}function SR(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=nb[c[d>>2]&63](d,e,512)|0;do if(!h){b=oO(b)|0;if(!f)qa(135101,135049,291,135108);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;nb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function TR(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=pO(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=pO(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=pO(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=pO(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=pO(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=pO(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function VR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15686]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,g1(g,135014,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,g1(g,135066,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)qa(135036,135049,311,135056);else if((b|0)==8)qa(135088,135049,313,135056);else if((b|0)==10){l=j;return}}function WR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function XR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function YR(a){a=a|0;var b=0,d=0;d=a+8|0;D_(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;D_(c[(c[b>>2]|0)+36>>2]|0);D_(c[d>>2]|0);D_(c[b>>2]|0);rO(c[a+16>>2]|0);yw(c[a+20>>2]|0)|0;yw(c[a+24>>2]|0)|0;D_(a);return}function ZR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=vH(i*56|0)|0;i=uH(i<<2)|0;g=f*5|1;j=vH(g*72|0)|0;m=g<<5;k=uH(m)|0;m=uH(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,0);i2(173);$R(f,i);jS(f,o,i,g,j)|0;n=aS(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,1);$R(f,i);jS(f,o,i,g,j)|0;f=aS(f,o,j,1,m)|0;g=uH(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((bS(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=xH(g,a<<5)|0;D_(o);D_(i);D_(j);D_(k);D_(m);c[d>>2]=a;l=p;return q|0}function _R(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];hS(h,f,1,i);d=iS(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];hS(h,f,0,i);d=iS(e,d,i)|0;g=g+1|0}l=j;return}function $R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+k2()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function aS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=uH(j<<2)|0;c[46618]=uH(j<<4)|0;c[46619]=uH((a*56|0)+56|0)|0;j=uH(a<<2)|0;c[46620]=j;k=0;while(1){if((k|0)>(g|0))break;if(cS(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[46618]|0;i=c[46619]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[46621]=a;c[46622]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=dS(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=dS(l,f,0,b,d,0,k,g,e,1)|0;D_(l);D_(c[46618]|0);D_(c[46619]|0);D_(c[46620]|0);return g|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function cS(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function dS(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=eS(g,n,J)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,J,n)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=eS(g,j,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,m,j)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function eS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[46622]|0)+1|0;c[46622]=e;m=c[46619]|0;fS(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[46621]|0;g=n+1|0;n=n+2|0;c[46621]=n;q=c[46618]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[46620]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function fS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[46619]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+gS(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+gS(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function gS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function hS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function iS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];G3(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function jS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[46623]=e<<1;c[46624]=e;k=uH(e*80|0)|0;c[46625]=1;c[46626]=1;H3(f|0,0,e*72|0)|0;g=kS(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=lS(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=mS(a,i+-1|0)|0;h=mS(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}nS(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;oS(e,b,f,k);e=e+1|0}i=i+1|0}e=mS(a,j)|0;while(1){if((e|0)>=(a|0))break;nS(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}D_(k);return c[46625]|0}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=tS()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;xS(s,k,l);n=tS()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=tS()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;yS(r,k,l);c[e+(j*40|0)+28>>2]=f;l=tS()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=tS()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=tS()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=tS()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=sS(d)|0;i=sS(d)|0;m=sS(d)|0;o=sS(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];G3(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];G3(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function lS(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+g$(b);a=a+1|0}return a+-1|0}function mS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+g$(c);a=a+1|0}return ~~+N(+(d/c))|0}function nS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[U>>3]>+h[S>>3]:0){G=4;break}G=(rS(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=pS(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(rS(a,b,2)|0)){n=1;G=7}else{f=pS(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=pS(S,U,f,b,e)|0;f=sS(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=tS()|0;G=tS()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(rS(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(rS(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=pS(U,S,c[S+40>>2]|0,b,e)|0;n=sS(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=tS()|0;F=tS()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=pS(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(uS(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=tS()|0;p=tS()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=sS(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(vS(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}E1(135342,19,1,c[15686]|0)|0}else{g=0;f=0}while(0);wS(a,F,o,1,d,e);wS(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function oS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((pS(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((pS(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function pS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g<l)?+h[a>>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g<l)?+h[b>>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(qS(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(qS(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]<j){d=f+(d*40|0)+32|0;break b}else{d=f+(d*40|0)+36|0;break b}}default:{r=31;break a}}while(0);d=c[d>>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){E1(135276,35,1,c[15686]|0)|0;qa(135312,135314,349,135326)}return 0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g<e+-1.0e-07)?+h[f>>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function rS(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function sS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46625]|0;if((b|0)<(c[46624]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[46625]=b+1;l=e;return b|0}else{e=c[15686]|0;c[d>>2]=b;g1(e,135401,d)|0;qa(135312,135314,88,135439)}return 0}function tS(){var a=0;a=c[46626]|0;if((a|0)<(c[46623]|0)){c[46626]=a+1;return a|0}else{E1(135362,30,1,c[15686]|0)|0;qa(135312,135314,72,135393)}return 0}function uS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function vS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function wS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(uS(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function xS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function yS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function zS(a){a=a|0;var b=0;b=uH(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function AS(a,b){a=a|0;b=b|0;if(b){b=zS(b)|0;c[b>>2]=a;a=b}return a|0}function BS(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;D_(b)}while((a|0)!=0);return}function CS(){var a=0;a=uH(1992)|0;if(a|0)c[a>>2]=DS(a)|0;return a|0}function DS(a){a=a|0;var b=0;b=JS(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function ES(a){a=a|0;FS(a,c[a>>2]|0);D_(c[a>>2]|0);D_(a);return 0}function FS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(FS(a,f),D_(c[e>>2]|0),PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function GS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)qa(135797,135447,194,135455);e=c[b+4>>2]|0;if((e|0)<=-1)qa(135467,135447,195,135455);if(!d)qa(135739,135447,196,135455);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(US(d,b+8+(i*20|0)|0)|0)!=0:0){g=GS(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(US(d,f)|0)!=0:0)e=AS(e,f)|0;g=g+1|0}}while(0);return e|0}function HS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))qa(135653,135447,247,135481);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)qa(135528,135447,250,135481);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(IS(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=JS(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;MS(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];OS(a,m,g,0)|0;MS(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];OS(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}qa(135493,135447,248,135481);return 0}function IS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))qa(135571,135447,311,135585);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=NS(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(IS(a,b,d,c[h>>2]|0,n,g)|0)){TS(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{MS(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;MS(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}else qa(135630,135447,341,135585);while(0);l=q;return j|0}qa(135598,135447,312,135585);return 0}function JS(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=C_(1288)|0;KS(a);return a|0}function KS(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;LS(a+8+(b*20|0)|0);b=b+1|0}return}function LS(a){a=a|0;QS(a);c[a+16>>2]=0;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)qa(135797,135636,99,135643);QS(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){TS(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function NS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))qa(135653,135636,125,135660);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=SS(n)|0;TS(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(SS(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function OS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)qa(135819,135636,167,135671);if(!d)qa(135797,135636,168,135671);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)qa(135681,135636,178,135671)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)qa(135694,135636,187,135671);else{VS(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function PS(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))qa(135698,135636,201,135726);if(!(c[a+8+(b*20|0)+16>>2]|0))qa(136220,135636,202,135726);else{LS(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function QS(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function SS(a){a=a|0;var b=0,d=0,e=0;if(!a)qa(135739,135741,128,135753);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))qa(135762,135741,195,135770);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function US(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else qa(135782,135741,216,135789);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function VS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)qa(135797,135799,40,135809);if(!d)qa(135819,135799,41,135809);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;WS(a,b,d);d=a+1324|0;XS(a);f=SS(a+1852|0)|0;f=(SS(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=JS(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;YS(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else qa(135821,135799,86,135809)}function WS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)qa(135797,135799,106,136208);if(!d)qa(135819,135799,107,136208);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)qa(136220,135799,111,136208);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;TS(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=SS(d)|0;KS(b);l=h;return}function XS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;ZS(a);_S(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;TS(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=SS(i)|0;d=c[o>>2]|0;TS(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=SS(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}$S(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))$S(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)qa(135964,135799,210,136050);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))qa(136061,135799,212,136050);else{l=u;return}}function YS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)qa(135797,135799,297,135861);if(!d)qa(135871,135799,298,135861);if(!e)qa(135873,135799,299,135861);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{OS(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{OS(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)qa(135875,135799,303,135861);else if((e|0)==14)return}function ZS(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;RS(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function _S(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=SS(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}TS(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=SS(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}$S(a,d,0);$S(a,b,1);l=o;return}function $S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)qa(136164,135799,257,136199);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{TS(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=SS(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function aT(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46627]=0;c[46628]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[65430+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[46628]|0;if((h|0)==-2){h=pU()|0;c[46628]=h}if((h|0)>=1)if(h>>>0<296)i=d[136239+h>>0]|0;else i=2;else{c[46628]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[136535+h>>0]|0):0){p=a[136807+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46628]=-2;g=g+4|0;c[g>>2]=c[46629];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[137079+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46628]|0;b:do switch(q|0){case 0:{c[46627]=(c[46627]|0)+1;vT(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[46628]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[65430+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=c[46629];e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[137195+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[46630]=bT(c[g+-4>>2]|0,2)|0;break}case 3:{c[46630]=bT(c[g+-4>>2]|0,1)|0;break}case 5:{e=dT()|0;break}case 8:{eT(c[46631]|0);break}case 9:{fT(c[g>>2]|0);break}case 18:{gT(c[g>>2]|0);break}case 19:{hT();break}case 20:{gT(c[g>>2]|0);break}case 21:{hT();break}case 22:{gT(c[g>>2]|0);break}case 23:{hT();break}case 24:{gT(c[g>>2]|0);break}case 25:{hT();break}case 26:{gT(c[g>>2]|0);break}case 27:{hT();break}case 28:{gT(c[g>>2]|0);break}case 29:{hT();break}case 30:{gT(c[g>>2]|0);break}case 31:{hT();break}case 32:{gT(c[g>>2]|0);break}case 33:{hT();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[46632];e=Cw(55928,c[4554]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[46632]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[46633]>>2];e=c[g>>2]|0;break}case 39:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=56;break a}e=c[46632]|0;c[46632]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{jT();break}case 52:{e=kT()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{lT(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{lT(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{lT(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{lT(c[g>>2]|0,dT()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[137367+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[65662+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[136535+h>>0]|0)==(p|0):0){e=a[136807+h>>0]|0;j=q;h=i;break}e=a[137437+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){cT();e=1;s=96}else if((s|0)==51){vT(137265);cT();e=1;s=96}else if((s|0)==56){vT(137316);cT();e=1;s=96}else if((s|0)==95){vT(137476);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))D_(f);l=t;return e|0}function bT(b,d){b=b|0;d=d|0;var e=0;e=uH(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function cT(){var a=0,b=0;a=c[46632]|0;b=c[46630]|0;if(b|0){XQ(b,1);c[46630]=0}c[13995]=67;while(1){if(!a)break;b=c[a+80>>2]|0;pT(a);a=b}c[13995]=56;c[14004]=68;b=c[46635]|0;nb[c[b>>2]&63](b,0,64)|0;c[14004]=56;c[14013]=69;b=c[46636]|0;nb[c[b>>2]&63](b,0,64)|0;c[14013]=56;sT();return}function dT(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[46636]|0;f=uH(40)|0;if(Ew(c[46635]|0)|0)fT(0);a=Ew(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=uH(a*24|0)|0;a=0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);nb[c[a>>2]&63](e,0,64)|0;return f|0}function eT(b){b=b|0;var d=0,e=0,f=0;e=uH(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=n1(b)|0;c[e+12>>2]=c[c[46633]>>2];f=c[46635]|0;nb[c[f>>2]&63](f,e,1)|0;return}function fT(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=uH(32)|0;j=c[46635]|0;e=Ew(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=uH(56)|0;b[i+12>>1]=1;h=n1(191979)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[46633]>>2]}else{b[i+12>>1]=e;c[k>>2]=uH(e*56|0)|0;d=0;e=Aw(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);nb[c[j>>2]&63](j,0,64)|0;k=c[46636]|0;nb[c[k>>2]&63](k,i,1)|0;return}function gT(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=uH(8)|0;f=c[c[46633]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[46634]|0)+144>>2]|0;c[i>>2]=nb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[46633];c[46633]=i;l=j;return}function hT(){var a=0,b=0;b=c[46633]|0;a=c[b+4>>2]|0;D_(b);c[46633]=a;return}function iT(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function jT(){var b=0,d=0,e=0;e=Cw(55964,c[4554]|0)|0;b=c[46632]|0;d=uH(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function kT(){var a=0;a=c[(c[46632]|0)+84>>2]|0;return nb[c[a>>2]&63](a,0,256)|0}function lT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=uH(16)|0;f=c[46632]|0;h=c[f+84>>2]|0;h=c[(nb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;nb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function mT(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function nT(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+8>>2]|0)|0;D_(b);return}function oT(a,b,d){a=a|0;b=b|0;d=d|0;tT(c[b+8>>2]|0);D_(b);return}function pT(a){a=a|0;yw(c[a+84>>2]|0)|0;UQ(a);D_(a);return}function qT(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function rT(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;D_(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}D_(c[h>>2]|0)}D_(d);return}function sT(){var a=0,b=0;a=c[46633]|0;while(1){b=c[a+4>>2]|0;if(!b)break;D_(a);a=b}return}function tT(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{pT(c[d>>2]|0);break}case 2:{VQ(c[d>>2]|0);break}default:{}}UQ(b);D_(b);return}function uT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[46633]=g;c[46632]=0;c[46630]=0;c[46634]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[46635]=Cw(56e3,c[4554]|0)|0;c[46636]=Cw(56036,c[4554]|0)|0;Tw(e,128,f+24|0);c[46631]=e;if(!(yT(a,e,d)|0)){aT()|0;c[b>>2]=oU()|0;a=c[46630]|0}else{c[b>>2]=2;a=0}yw(c[46635]|0)|0;yw(c[46636]|0)|0;c[46635]=0;c[46636]=0;c[46633]=0;Xw(e);l=f;return a|0}function vT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[186581]|0)){a[186581]=1;f=wT()|0;c[d>>2]=b;c[d+4>>2]=f;Pw(1,137493,d)|0;xT()}l=e;return}function wT(){return dX(c[46637]|0)|0}function xT(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[46640]|0;c[b+4>>2]=c[b>>2];d=c[46649]|0;if((d|0)>0){Vw(b,c[46647]|0,d)|0;b=c[46640]|0}Vw(b,c[46646]|0,c[46648]|0)|0;d=c[46640]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[46640]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[46640]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;Pw(3,137509,e)|0;l=f;return}function yT(b,e,f){b=b|0;e=e|0;f=f|0;c[46640]=e;Tw(186564,128,0);c[46638]=b;a[186583]=0;a[186580]=0;a[186581]=0;c[46648]=0;c[46649]=0;a[186582]=1;f=f+52|0;e=DV(hH(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[46637]=e;SW(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);TW(c[46637]|0,70,27);UW(c[46637]|0,71);return 0}function zT(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(O$(d,137521)|0)){c[46629]=DT(e)|0;a[186582]=0;c[46639]=286}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){a[186582]=1;c[46629]=ET(e)|0;c[46639]=287;break}if(!(O$(d,137541)|0)){c[46629]=FT(b,e,0)|0;c[46639]=288;break}if(!(O$(d,137546)|0)){c[46629]=FT(b,0,1)|0;c[46639]=290;break}if(!(O$(d,137562)|0)){c[46629]=FT(b,0,32)|0;c[46639]=295;break}if(!(O$(d,137548)|0)){c[46629]=FT(b,0,4)|0;c[46639]=291;break}if(!(O$(d,137550)|0)){c[46629]=FT(b,0,64)|0;c[46639]=292;break}if(!(O$(d,137552)|0)){c[46629]=FT(b,0,2)|0;c[46639]=289;break}if(!(O$(d,137554)|0)){c[46629]=FT(b,0,8)|0;c[46639]=293;break}if(!(O$(d,137558)|0)){c[46629]=FT(b,0,16)|0;c[46639]=294;break}if(!(O$(d,137564)|0)){GT(e);c[46639]=283;break}if(!(O$(d,137567)|0)){c[46639]=277;break}if(!(O$(d,137570)|0)){c[46639]=280;break}if(!(O$(d,137573)|0)){c[46629]=HT(e)|0;c[46639]=285;break}if(!(O$(d,137536)|0)){c[46639]=262;break}else{CT(d);break}}a[186582]=0;c[46639]=260}while(0);return}function AT(b,d){b=b|0;d=d|0;do if(!(O$(d,137521)|0)){c[46639]=264;a[186582]=1}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){c[46639]=265;a[186582]=0;break}if(!(O$(d,137536)|0)){c[46639]=263;break}if(!(O$(d,137541)|0)){c[46639]=266;break}if(!(O$(d,137546)|0)){c[46639]=270;break}if(!(O$(d,137548)|0)){c[46639]=271;break}if(!(O$(d,137550)|0)){c[46639]=272;break}if(!(O$(d,137552)|0)){c[46639]=269;break}if(!(O$(d,137554)|0)){c[46639]=273;break}if(!(O$(d,137558)|0)){c[46639]=274;break}if(!(O$(d,137562)|0)){c[46639]=275;break}if(!(O$(d,137564)|0)){c[46639]=(c[46639]|0)==283?282:258;break}if(!(O$(d,137567)|0)){c[46639]=(c[46639]|0)==277?276:278;break}if(!(O$(d,137570)|0)){c[46639]=(c[46639]|0)==280?279:281;break}if(!(O$(d,137573)|0)){c[46639]=(c[46639]|0)==285?284:259;break}else{CT(d);break}}c[46639]=261}while(0);return}function BT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[186582]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[46640]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;f=c[46640]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[46639]=267}return}function CT(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[46639]=268;a[186581]=1;f=wT()|0;c[e>>2]=b;c[e+4>>2]=f;Pw(1,137577,e)|0;l=d;return}function DT(b){b=b|0;var d=0;d=uH(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;IT(d,56296,22,b,138529);return d|0}function ET(a){a=a|0;var c=0;c=uH(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;IT(c,56120,22,a,137883);return c|0}function FT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)IT(e,56096,3,b,137734);d=c[a+144>>2]|0;e=nb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function GT(a){a=a|0;c[46629]=0;IT(186516,56088,1,a,137670);return}function HT(a){a=a|0;var b=0;b=uH(40)|0;IT(b,56072,2,a,137616);return b|0}function IT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e2(m,e,f,8,102)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;Pw(0,137622,n)|0;i=1}else{i=lb[c[j+4>>2]&127](b,i)|0;i=(i|(d[186580]|0))&255}a[186580]=i;g=g+8|0}l=o;return}function JT(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function KT(a,b){a=a|0;b=b|0;c[a+36>>2]=n1(b)|0;return 0}function LT(a,b){a=a|0;b=b|0;c[a+32>>2]=n1(b)|0;return 0}function MT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=(I0(a[d>>0]|0)|0)<<24>>24;switch(f|0){case 82:{e=d+1|0;if(!(O$(e,137681)|0)){c[b>>2]=114;e=0}else h=5;break}case 76:{h=6;break}default:{e=d+1|0;h=5}}do if((h|0)==5)if(!(O$(e,137686)|0))h=6;else{if((f|0)!=67?(O$(e,137690)|0)==0:0){c[g>>2]=d;Pw(0,137696,g)|0;e=1;break}c[b>>2]=110;e=0}while(0);if((h|0)==6){c[b>>2]=108;e=0}l=i;return e|0}function NT(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function OT(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function PT(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,137763,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function QT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=i1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;Pw(0,137805,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;Pw(0,137844,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;Pw(0,137774,h)|0;a=1}while(0);l=k;return a|0}function RT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=9;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=9;break}case 84:{if(!(O$(e+1|0,138481)|0)){d=d+36|0;b[d>>1]=b[d>>1]|6;d=0}else g=9;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=9;break}default:g=9}if((g|0)==9){c[f>>2]=e;Pw(0,138485,f)|0;d=1}l=h;return d|0}function ST(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|512;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|256;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138436,f)|0;d=1}l=h;return d|0}function TT(a,b){a=a|0;b=b|0;c[a+20>>2]=n1(b)|0;return 0}function UT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138429,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function VT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138417,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function WT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138405,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function XT(a,b){a=a|0;b=b|0;c[a+24>>2]=n1(b)|0;return 0}function YT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138360,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138368,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function ZT(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(O$(e+1|0,138309)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else g=5;break}case 70:{if(!(O$(e+1|0,138313)|0))a=0;else g=5;break}default:g=5}if((g|0)==5){c[f>>2]=e;Pw(0,138318,f)|0;a=1}l=h;return a|0}function _T(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,138295,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function $T(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138288,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function aU(a,b){a=a|0;b=b|0;c[a>>2]=n1(b)|0;return 0}function bU(a,b){a=a|0;b=b|0;c[a+16>>2]=n1(b)|0;return 0}function cU(a,b){a=a|0;b=b|0;c[a+4>>2]=n1(b)|0;return 0}function dU(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138243,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138251,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function eU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(P$(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;Pw(0,138190,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=h|f}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function fU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=n1(e)|0;g=d+42|0;f=0;e=h;while(1){d=k1(e,138100)|0;if(!d)break;if(((I0(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(O$(e,138103)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(O$(e,138110)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;Pw(0,138116,i)|0;f=1;e=0;continue}}if(!(O$(d,138154)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(O$(d,138160)|0?O$(d,138170)|0:0){if(!(O$(d,138176)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(O$(d,138183)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;Pw(0,138116,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}D_(h);l=k;return f|0}function gU(a,b){a=a|0;b=b|0;c[a+8>>2]=n1(b)|0;return 0}function hU(a,b){a=a|0;b=b|0;c[a+12>>2]=n1(b)|0;return 0}function iU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(O$(e+1|0,138046)|0)){d=d+36|0;b[d>>1]=b[d>>1]|16;d=0}else g=7;break}case 84:{if(!(O$(e+1|0,138052)|0)){d=d+36|0;b[d>>1]=b[d>>1]|8;d=0}else g=7;break}case 77:{if(!(O$(e+1|0,138055)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138061,f)|0;d=1}l=h;return d|0}function jU(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138040,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function kU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,137696,f)|0;d=1}l=h;return d|0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138638,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;Pw(0,138598,e)|0;b=1}l=f;return b|0}function nU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;Pw(0,138561,e)|0;b=1}l=f;return b|0}function oU(){var b=0;b=(a[186581]|a[186580])<<24>>24;JV(c[46637]|0);Xw(186564);return b|0}function pU(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[46639]=0;d=0;a:do{b:do switch(a[186583]|0){case 2:{b=-1;break a}case 0:{a[186583]=1;h=6;b=138650;d=0;break}default:{b=c[46638]|0;if(!(a[b>>0]|0)){a[186583]=2;h=7;b=138657;break b}else{d=qU(b)|0;h=d-b|0;break b}}}while(0);c[46647]=c[46646];c[46649]=c[46648];c[46646]=b;c[46648]=h;e=c[46642]|0;f=e-(c[46641]|0)|0;g=c[46637]|0;if(!f)b=VW(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[46643]|0)>>>0)b=e;else{Uw(186564,1)|0;b=c[46642]|0}a[b>>0]=0;b=c[46641]|0;c[46642]=b;b=VW(g,b,f,0)|0}if(!((b|0)!=0|(a[186581]|0)!=0)){g=eX(cX(c[46637]|0)|0)|0;h=wT()|0;c[i>>2]=g;c[i+4>>2]=h;Pw(1,137493,i)|0;xT();a[186581]=1;c[46639]=268}if(d|0)c[46638]=d;b=c[46639]|0}while((b|0)==0);l=j;return b|0}function qU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b+1|0;e=a[b>>0]|0;a:do if(e<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(z$(b+2|0,138665,2)|0)){e=rU(b+4|0)|0;d=e;e=a[e>>0]|0;g=8}else{e=d;g=5}else g=6;b:while(1)if((g|0)==5){d=e;e=a[e>>0]|0;g=6;continue}else if((g|0)==6){switch(e<<24>>24){case 62:case 0:{g=8;continue b}default:{}}e=d+1|0;g=5;continue}else if((g|0)==8)if(e<<24>>24==62){g=10;break}else{g=9;break}if((g|0)==9){Pw(0,138668,f)|0;a[186580]=1;break}else if((g|0)==10){d=d+1|0;break}}else{d=b;b=e;while(1){switch(b<<24>>24){case 60:case 0:break a;case 38:{e=d+1|0;if((a[e>>0]|0)==35)g=15;else e=MM(e,186564)|0;break}default:g=15}if((g|0)==15){g=0;e=c[46642]|0;if(e>>>0>=(c[46643]|0)>>>0){Uw(186564,1)|0;e=c[46642]|0}c[46642]=e+1;a[e>>0]=b;e=d+1|0}d=e;b=a[e>>0]|0}}while(0);l=h;return d|0}function rU(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(z$(c,138665,2)|0)==0:0)break;Pw(0,138709,i)|0;a[186580]=1}while(0);l=j;return d|0}function sU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=C_(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=tU(f<<4)|0;p=d+12|0;c[p>>2]=tU((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=tU(e)|0;e=tU(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}tV(d)}return d|0}function tU(a){a=a|0;if(!a)a=0;else a=C_(a)|0;return a|0}function uU(a){a=a|0;var b=0,d=0;D_(c[a+8>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){D_(c[b>>2]|0);D_(c[d>>2]|0)}D_(a);return}function vU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=AV(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=AV(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=jV(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=C_(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)qa(138727,138734,148,138740);if(n|0)D_(n);if(o|0)D_(o);c[g+4>>2]=k;c[g>>2]=i;D_(m);l=p;return 1}function wU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((pV(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function xU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=C_(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=D3(186600,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ja(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ja(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[46689]=0;o=0;ia(112,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[46690]|0;d=c[46689]|0;c[46689]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=fa(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,s|0,j|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[46689];c[f>>2]=c[46690];d=0}D_(s|0);l=u;return d|0}function yU(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function zU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46693]|0)<(a|0)){b=c[46690]|0;if(!b){e=C_(a<<4)|0;c[46690]=e;if(!e){e=c[15686]|0;c[d>>2]=138749;c[d+4>>2]=531;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186600,1)}}else{d=F_(b,a<<4)|0;c[46690]=d;if(!d){d=c[15686]|0;c[e>>2]=138749;c[e+4>>2]=537;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186600,1)}}c[46693]=a}l=f;return}function AU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[46692]|0;do if((c[46691]|0)<(e|0)){if(!i){i=C_(e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}else{i=F_(i,e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}c[46691]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+BU(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+CU(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];DU(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+EU(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];DU(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];FU(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(GU(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];DU(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];HU(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];DU(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];IU(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[46692]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+JU(T);V=+CU(T);W=+EU(T);T=+KU(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+BU(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];IU(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];yU(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];IU(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];yU(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];HU(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];yU(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];AU(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];AU(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function BU(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function CU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function DU(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function EU(a){a=+a;return +(a*a*3.0*(1.0-a))}function FU(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+QU(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+QU(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+QU(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+RU(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];DU(s,B,I);I=+SU(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];DU(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];HU(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];IU(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+QU(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+QU(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+BU(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];DU(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];DU(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function GU(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+LU(B,4),D<+LU(i,j)+-.001):0){d=0;break}if(MU(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function HU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function IU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function JU(a){a=+a;a=1.0-a;return +(a*a*a)}function KU(a){a=+a;return +(a*a*a)}function LU(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function MU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=NU(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function NU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;OU(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=kV(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{OU(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=kV(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0;break}OU(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=kV(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;PU(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;PU(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])PU(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function OU(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function PU(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function QU(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function RU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function SU(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function TU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=C_(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=D3(186776,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;ia(113,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[46733]=0;c[46734]=0;o=0;ia(114,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[46736]|0)/2|0;c[46737]=m;c[46738]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=ca(33,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[46740]|0;e=c[46741]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[46733]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[46733]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[46740]|0;e=c[46741]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[46733]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[46733]=g+1;g=f}}while(0);o=0;ja(29,e|0,c[46733]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[46734]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ja(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[46734]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=aa(103,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[15686]|0;o=0;c[C>>2]=138776;c[C+4>>2]=192;c[C+8>>2]=138787;ca(29,e|0,138757,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=aa(103,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15686]|0;o=0;c[D>>2]=138776;c[D+4>>2]=200;c[D+8>>2]=138820;ca(29,e|0,138757,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=aa(104,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[15686]|0;o=0;c[E>>2]=138776;c[E+4>>2]=207;c[E+8>>2]=138858;ca(29,e|0,138757,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ja(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[46739]=c[46737];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[46743]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[46735]|0;k=c[e+(c[46738]<<2)>>2]|0;o=0;e=ca(33,u|0,c[c[e+(c[46737]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=ca(33,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[46735]|0;if((c[m+(c[46737]<<2)>>2]|0)!=(n|0)?(c[m+(c[46738]<<2)>>2]|0)!=(n|0):0){o=0;j=$(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[46739]|0)){e=0;break}c[46739]=j;e=0;break}o=0;k=$(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[46739]|0)){e=0;break}c[46739]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[46743]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;ia(115,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[46742]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}D_(G|0);l=H;return e|0}function UU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[46746]|0)<(a|0)){b=c[46740]|0;if(!b){g=C_(a<<3)|0;c[46740]=g;if(!g){g=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=523;c[d+8>>2]=139026;g1(g,138757,d)|0;bb(186776,1)}g=C_(a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[f>>2]=138776;c[f+4>>2]=527;c[f+8>>2]=139045;g1(g,138757,f)|0;bb(186776,1)}}else{f=F_(b,a<<3)|0;c[46740]=f;if(!f){f=c[15686]|0;c[g>>2]=138776;c[g+4>>2]=533;c[g+8>>2]=139065;g1(f,138757,g)|0;bb(186776,1)}g=F_(c[46741]|0,a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=539;c[e+8>>2]=139085;g1(g,138757,e)|0;bb(186776,1)}}c[46746]=a}l=h;return}function VU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46736]|0)<(a|0)){b=c[46735]|0;if(!b){e=C_(a<<2)|0;c[46735]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=573;c[d+8>>2]=138981;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<2)|0;c[46735]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=580;c[e+8>>2]=139003;g1(d,138757,e)|0;bb(186776,1)}}c[46736]=a}l=f;return}function WU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function XU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(dV(e,g,a,b)|0))e=f;else break}eV(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15686]|0;c[h>>2]=138776;c[h+4>>2]=324;c[h+8>>2]=138921;g1(a,138757,h)|0}else if((b|0)==9)eV(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function YU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[46743]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function ZU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[46743]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((WU(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function _U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46743]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(_U((e-d|0)/52|0,b)|0){d=1;break a}d=c[46743]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function $U(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46744]|0)<(a|0)){b=c[46742]|0;if(!b){e=C_(a<<4)|0;c[46742]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=593;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<4)|0;c[46742]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=599;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186776,1)}}c[46744]=a}l=f;return}function aV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46738]|0;e=c[46737]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[46735]|0)+(e<<2)>>2];a=186948;d=-1}else{a=186948;d=-1}else if(f){c[b+4>>2]=c[(c[46735]|0)+(d<<2)>>2];a=186952;d=1}else{a=186952;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[46735]|0)+(f<<2)>>2]=b;return}function bV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46739]|0;g=c[46735]|0;b=c[46737]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[46738]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function cV(a,b){a=a|0;b=b|0;c[((a|0)==1?186952:186948)>>2]=b;return}function dV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(WU(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((WU(i,j,f)|0)==1){f=WU(j,i,g)|0;g=1;h=5}else f=0;else{f=WU(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(gV(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function eV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[46734]|0;f=c[46745]|0;if((e|0)<(f|0))h=e;else{fV(f+20|0);h=c[46734]|0}g=c[46743]|0;c[46734]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function fV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46745]|0)<(a|0)){b=c[46743]|0;if(!b){e=C_(a*52|0)|0;c[46743]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=552;c[d+8>>2]=138942;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a*52|0)|0;c[46743]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=558;c[e+8>>2]=138961;g1(d,138757,e)|0;bb(186776,1)}}c[46745]=a}l=f;return}function gV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=WU(a,b,c)|0;if((((f|0)!=3?(g=WU(a,b,d)|0,(g|0)!=3):0)?(h=WU(c,d,a)|0,(h|0)!=3):0)?(e=WU(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((hV(a,b,c)|0)==0?(hV(a,b,d)|0)==0:0)?(hV(c,d,a)|0)==0:0)return (hV(c,d,b)|0)!=0|0;return 1}function hV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((WU(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function iV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=C_(d<<2)|0;n=C_((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g<j){h[i>>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}D_(n);return m|0}function jV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];if(!(CV(m,b,k,f,h)|0)){a=c[h+24>>2]|0;c[a+(i<<2)>>2]=g;m=i+1|0;c[a+(m<<2)>>2]=d;a=iV(m,i,i+2|0,a)|0}else{a=C_((i<<2)+8|0)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function kV(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=lV(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+n$(i);d=+n$(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+n$(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function lV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=mV(a,b)|0;while(0);return a|0}function mV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function nV(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function oV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[46748]|0;if((i|0)>(c[46747]|0)){if(!d)d=C_(i<<4)|0;else d=F_(d,i<<4)|0;c[46748]=d;c[46747]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];G3(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];G3(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];G3(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function pV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e<d&d<f))if(f<d)a=d<e;else a=0;else a=1}else{f=+h[a+8>>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f<e&e<d))if(d<e)a=e<f;else a=0;else a=1}return a&1|0}function rV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+32|0;h=m+16|0;g=m;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=pV(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(qV(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=pV(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],qV(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];a=pV(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];k=(O(f,j)|0)<0;f=(O(pV(g,h,i)|0,a)|0)>>>31;f=k?f:0}while(0);l=m;return f|0}function sV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function tV(a){a=a|0;c[a+24>>2]=uV(c[a+4>>2]|0)|0;vV(a);return}function uV(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=C_(e<<2)|0;b=E_(O(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function vV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+wV(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((xV(b,a,m,n,o)|0?xV(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],yV(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+wV(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function wV(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+C(+(+sV(g,f)));l=e;return +d}function xV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=zV(k,j,i,h)|0;l=g;return f|0}function yV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(rV(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(rV(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=pV(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=pV(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(pV(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function AV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+80|0;j=s+64|0;i=s+48|0;g=s+32|0;k=s+16|0;o=s;p=c[a+4>>2]|0;q=c[a+8>>2]|0;r=c[a+16>>2]|0;m=c[a+20>>2]|0;n=C_((p<<3)+16|0)|0;if((b|0)==-2222){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];b=BV(a,j)|0}if((b|0)>-1){a=c[a+12>>2]|0;f=c[a+(b+1<<2)>>2]|0;a=c[a+(b<<2)>>2]|0}else{f=p;a=p}b=0;while(1){if((b|0)>=(a|0)){b=a;break}u=q+(b<<4)|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];u=q+(c[m+(b<<2)>>2]<<4)|0;t=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[k+12>>2]=c[u+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}while(1){if((b|0)>=(f|0)){b=f;break}h[n+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(p|0))break;t=q+(b<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=q+(c[m+(b<<2)>>2]<<4)|0;u=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}h[n+(p<<3)>>3]=0.0;h[n+(p+1<<3)>>3]=0.0;l=s;return n|0}function BV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m+8|0;e=m;h=m+24|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(wU(e,f)|0))d=g;else break}l=m;return d|0}function CV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;m=t+32|0;p=t+16|0;o=t;r=c[f+4>>2]|0;s=c[f+8>>2]|0;q=c[f+16>>2]|0;g=(e|0)<0;do if((b|0)<0)if(g){g=0;i=0;f=0;h=0}else{b=c[f+12>>2]|0;f=0;h=0;i=e;j=b;b=b+(e<<2)|0;k=9}else{if(g){k=c[f+12>>2]|0;f=0;h=0;i=b;j=k;b=k+(b<<2)|0;k=9;break}g=c[f+12>>2]|0;if((b|0)>(e|0)){f=c[g+(e+1<<2)>>2]|0;h=c[g+(e<<2)>>2]|0;i=b;j=g;b=g+(b<<2)|0;k=9;break}else{f=c[g+(b+1<<2)>>2]|0;h=c[g+(b<<2)>>2]|0;i=e;j=g;b=g+(e<<2)|0;k=9;break}}while(0);if((k|0)==9){g=c[j+(i+1<<2)>>2]|0;i=c[b>>2]|0}b=0;while(1){if((b|0)>=(h|0)){k=13;break}j=s+(b<<4)|0;e=s+(c[q+(b<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];if(!(rV(o,p,m,n)|0))b=b+1|0;else{g=0;break}}a:do if((k|0)==13){while(1){if((f|0)>=(i|0))break;e=s+(f<<4)|0;k=s+(c[q+(f<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0)){f=f+1|0;k=13}else{g=0;break a}}while(1){if((g|0)>=(r|0)){g=1;break a}e=s+(g<<4)|0;k=s+(c[q+(g<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0))g=g+1|0;else{g=0;break}}}while(0);l=t;return g|0}function DV(a){a=a|0;return EV(a,0,0)|0}function EV(a,b,c){a=a|0;b=b|0;c=c|0;return FV(a,b,c,0)|0}function FV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!d){g=C_(496)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=105;c[g+20>>2]=103;d=35;h=6}}else{g=kb[c[d>>2]&63](496)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+376>>2]=16;j=g+12|0;i=kb[d&63](256)|0;d=g+388|0;c[d>>2]=i;if(!i){tb[c[g+20>>2]&127](g);g=0;break}h=kb[c[j>>2]&63](1024)|0;i=g+44|0;c[i>>2]=h;if(!h){e=g+20|0;tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}c[g+48>>2]=h+1024;if(!f){f=GV(j)|0;c[g+352>>2]=f;if(!f){e=g+20|0;tb[c[e>>2]&127](c[i>>2]|0);tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}}else c[g+352>>2]=f;c[g+372>>2]=0;c[g+364>>2]=0;c[g+300>>2]=0;c[g+464>>2]=0;c[g+460>>2]=0;c[g+124>>2]=0;c[g+244>>2]=0;d=g+468|0;a[d>>0]=33;h=g+232|0;a[h>>0]=0;a[g+233>>0]=0;c[g+392>>2]=0;c[g+396>>2]=0;a[g+400>>0]=0;f=g+228|0;c[f>>2]=0;HV(g+412|0,j);HV(g+436|0,j);IV(g,b);if(b|0?(c[f>>2]|0)==0:0){JV(g);g=0;break}if(!e){c[g+224>>2]=TX()|0;break}else{a[h>>0]=1;c[g+224>>2]=xZ()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function GV(b){b=b|0;var d=0;d=kb[c[b>>2]&63](188)|0;if(d|0){HV(d+80|0,b);HV(d+104|0,b);QW(d,b);QW(d+20|0,b);QW(d+40|0,b);QW(d+60|0,b);a[d+131>>0]=0;QW(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function HV(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function IV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+276>>2]=56;EZ(d+252|0);if(e|0)c[d+228>>2]=RV(e,d+12|0)|0;c[d+356>>2]=0;HY(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+312|0;g=d+404|0;c[g>>2]=0;c[g+4>>2]=0;g=d+280|0;f=d+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+308>>2]=0;c[d+360>>2]=0;c[d+368>>2]=0;c[d+380>>2]=0;c[d+236>>2]=0;c[d+248>>2]=0;c[d+240>>2]=0;c[d+472>>2]=0;c[d+476>>2]=0;a[d+484>>0]=0;a[d+485>>0]=0;c[d+488>>2]=0;c[d+492>>2]=0;return}function JV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+364|0;g=b+20|0;d=c[b+360>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;tb[c[g>>2]&127](c[d+36>>2]|0);KV(c[d+44>>2]|0,b);tb[c[g>>2]&127](d);d=h}e=b+300|0;d=c[b+296>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;tb[c[g>>2]&127](d);d=h}KV(c[b+372>>2]|0,b);KV(c[b+368>>2]|0,b);LV(b+412|0);LV(b+436|0);d=b+12|0;tb[c[g>>2]&127](c[b+228>>2]|0);if((a[b+484>>0]|0)==0?(f=c[b+352>>2]|0,f|0):0)MV(f,(c[b+472>>2]|0)==0&1,d);tb[c[g>>2]&127](c[b+388>>2]|0);tb[c[g>>2]&127](c[b+460>>2]|0);tb[c[g>>2]&127](c[b+8>>2]|0);tb[c[g>>2]&127](c[b+44>>2]|0);tb[c[g>>2]&127](c[b+392>>2]|0);tb[c[g>>2]&127](c[b+236>>2]|0);d=c[b+248>>2]|0;if(d|0)tb[d&127](c[b+240>>2]|0);tb[c[g>>2]&127](b)}return}function KV(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;tb[c[b>>2]&127](c[a+16>>2]|0);tb[c[b>>2]&127](a);a=d}return}function LV(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;NV(f,g);d=d+8|0;while(1){e=OV(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;tb[c[d>>2]&127](c[e+20>>2]|0)}PV(a);PV(a+132|0);PV(g);PV(a+40|0);PV(a+60|0);LV(a+80|0);LV(a+104|0);if(b<<24>>24){tb[c[d>>2]&127](c[a+184>>2]|0);tb[c[d>>2]&127](c[a+164>>2]|0)}tb[c[d>>2]&127](a);l=h;return}function NV(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function OV(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function PV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;tb[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}tb[f&127](g);return}function QV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=SV(a)|0;if(!f){c[a+276>>2]=57;f=TV(a,b,d,e)|0}return f|0}function RV(b,d){b=b|0;d=d|0;var e=0,f=0;e=0;do{f=e;e=e+1|0}while((a[b+f>>0]|0)!=0);d=kb[c[d>>2]&63](e)|0;if(!d)d=0;else F3(d|0,b|0,e|0)|0;return d|0}function SV(b){b=b|0;var d=0;d=b+228|0;if(!(nb[(a[b+232>>0]<<24>>24?35:34)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=PW(b,c[d>>2]|0)|0;else b=0;return b|0}function TV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=ob[c[i>>2]&127](i,d,e,h)|0;f=UV(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;l=g;return f|0}function UV(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=l;l=l+16|0;Da=Ga;c[Da>>2]=i;r=c[b+352>>2]|0;s=b+144|0;if((c[s>>2]|0)==(e|0)){p=b+284|0;q=b+288|0;na=b+296|0}else{na=b+296|0;q=c[na>>2]|0;p=q;q=q+4|0}t=k<<24>>24!=0;pa=b+252|0;u=b+80|0;v=b+476|0;w=b+84|0;x=b+320|0;y=b+412|0;z=b+316|0;A=b+424|0;B=b+428|0;C=b+324|0;ra=b+4|0;D=b+485|0;E=r+132|0;F=b+312|0;ta=r+129|0;G=r+128|0;H=r+80|0;I=r+92|0;J=r+96|0;K=b+136|0;L=b+88|0;M=b+488|0;va=b+112|0;wa=r+131|0;xa=b+116|0;ya=r+130|0;za=b+108|0;Aa=b+356|0;N=b+340|0;O=b+132|0;P=b+344|0;Q=b+348|0;R=b+328|0;S=b+349|0;T=b+420|0;U=r+120|0;V=r+116|0;W=b+92|0;X=b+472|0;Y=b+336|0;Z=b+332|0;_=b+96|0;$=b+256|0;aa=b+464|0;ba=b+460|0;ca=r+160|0;da=r+184|0;ea=r+180|0;fa=r+164|0;ga=b+128|0;ha=b+12|0;ia=b+16|0;ja=b+268|0;ka=b+120|0;la=r+176|0;ma=r+168|0;o=e;n=f;e=h;a:while(1){c[p>>2]=n;f=c[Da>>2]|0;c[q>>2]=f;i=f;b:do if((e|0)<1){if(t&(e|0)!=0){m=7;break a}switch(e|0){case -1:{i=5;m=280;break a}case 0:{m=9;break a}case -2:{i=6;break a}case -4:{m=10;break a}case -15:{e=15;break b}default:{}}c[Da>>2]=g;e=0-e|0;i=g}while(0);h=pb[c[pa>>2]&127](pa,e,n,i,o)|0;c:do switch(h|0){case 2:{m=58;break a}case -1:{m=184;break a}case 1:{i=VV(b,0,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 4:{if(!(c[w>>2]|0))i=1;else{m=WV(y,o,n,c[Da>>2]|0)|0;c[z>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];c[C>>2]=0;i=0}c[x>>2]=0;m=274;break}case 7:{i=c[w>>2]|0;if(!i)m=275;else{yb[i&15](c[ra>>2]|0,c[z>>2]|0,c[x>>2]|0,c[C>>2]|0,1);c[z>>2]=0;XV(y);i=o}break}case 57:{i=VV(b,1,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 6:{a[D>>0]=0;m=YV(b,E,75291,36)|0;c[F>>2]=m;if(!m){i=1;m=280;break a}a[ta>>0]=1;if(!(c[w>>2]|0))m=33;else{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[B>>2]=c[A>>2];c[C>>2]=i;i=0;m=34}break}case 14:{m=33;break}case 8:{i=c[z>>2]|0;if(!i)i=1;else{yb[c[w>>2]&15](c[ra>>2]|0,i,c[x>>2]|0,c[C>>2]|0,0);XV(y);i=0}if(!((c[x>>2]|0)==0?!(a[D>>0]|0):0)){f=a[ta>>0]|0;a[ta>>0]=1;do if(c[M>>2]|0?c[va>>2]|0:0){h=YV(b,E,75291,36)|0;if(!h){i=1;m=280;break a}if(!(a[D>>0]|0))e=h+20|0;else{e=h+20|0;c[e>>2]=c[Aa>>2]}a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[e>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;m=280;break a}if(!(a[wa>>0]|0)){if(c[x>>2]|0)break;a[ta>>0]=f;break}if(((a[ya>>0]|0)==0?(oa=c[za>>2]|0,oa|0):0)?(kb[oa&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}}while(0);a[D>>0]=0}e=c[L>>2]|0;if(!e)m=274;else{tb[e&127](c[ra>>2]|0);i=o}break}case 34:{m=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=m;if(!m){i=1;m=280;break a}else m=80;break}case 22:{m=aW(b,o,n,c[Da>>2]|0)|0;c[P>>2]=m;if(!m){i=1;m=280;break a}a[Q>>0]=0;c[R>>2]=0;a[S>>0]=0;m=80;break}case 23:{a[Q>>0]=1;c[R>>2]=139106;m=80;break}case 24:{a[S>>0]=1;c[R>>2]=139112;m=80;break}case 25:{c[R>>2]=139115;m=80;break}case 26:{c[R>>2]=139121;m=80;break}case 27:{c[R>>2]=139128;m=80;break}case 28:{c[R>>2]=139135;m=80;break}case 29:{c[R>>2]=139144;m=80;break}case 30:{c[R>>2]=139152;m=80;break}case 32:case 31:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0){if(!(bW(y,(c[R>>2]|0)==0?((h|0)==32?139161:139171):139173)|0)){i=1;m=280;break a}if(!(cW(y,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}c[R>>2]=c[B>>2];i=o}else m=275;break}case 36:case 35:{if(a[G>>0]|0){if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,a[S>>0]|0,0,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(qa=c[R>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{m=93;break}case 78:{if((a[qa+1>>0]|0)==79)m=93;break}default:{}}if((m|0)==93){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,0,(h|0)==36&1);XV(y);i=o}else m=275}else m=275;break}case 38:case 37:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=fW(b,o,a[Q>>0]|0,n+i|0,(c[Da>>2]|0)+(0-i)|0,H)|0;if(i|0){m=280;break a}e=c[J>>2]|0;c[J>>2]=c[I>>2];if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,0,e,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(sa=c[R>>2]|0,(sa|0)!=0):0){switch(a[sa>>0]|0){case 40:{m=108;break}case 78:{if((a[sa+1>>0]|0)==79)m=108;break}default:{}}if((m|0)==108){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,e,(h|0)==38&1);XV(y);i=o}else m=275}else m=275;break}case 12:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=gW(b,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;e=c[F>>2]|0;f=c[U>>2]|0;if(e){c[e+4>>2]=f;c[(c[F>>2]|0)+8>>2]=(c[V>>2]|0)-(c[U>>2]|0);c[U>>2]=c[V>>2];if(!(c[K>>2]|0))e=1;else{c[q>>2]=n;e=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Aa>>2]|0,0,0,0);e=0}}else{c[V>>2]=f;e=1}if(!i){i=e;m=274}else{m=280;break a}}else m=275;break}case 5:{a[D>>0]=0;a[ta>>0]=1;if(!(c[w>>2]|0)){c[x>>2]=75291;i=1}else{m=c[o+64>>2]|0;m=WV(y,o,n+m|0,(c[Da>>2]|0)+(0-m)|0)|0;c[x>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];i=0}if((((a[ya>>0]|0)==0?(c[M>>2]|0)==0:0)?(ua=c[za>>2]|0,ua|0):0)?(kb[ua&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}if(!(c[F>>2]|0)){e=YV(b,E,75291,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}c[e+24>>2]=0;m=133}else m=133;break}case 13:{i=1;m=133;break}case 15:{if(((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0)?(c[K>>2]|0)!=0:0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=o}else m=275;break}case 16:{if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){h=WV(H,o,n,c[Da>>2]|0)|0;c[(c[F>>2]|0)+28>>2]=h;if(!(c[(c[F>>2]|0)+28>>2]|0)){i=1;m=280;break a}c[J>>2]=c[I>>2];if(c[W>>2]|0){c[q>>2]=n;i=c[F>>2]|0;zb[c[W>>2]&15](c[ra>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o;break c}if(c[K>>2]|0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o}else m=275}else m=275;break}case 9:{if(nb[c[o+44>>2]&63](o,n,c[Da>>2]|0)|0){c[F>>2]=0;m=275;break c}if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,r,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=0;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 10:{if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,E,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=1;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 18:{c[Y>>2]=0;c[Z>>2]=0;if(!(c[_>>2]|0))m=275;else{n=WV(y,o,n,c[Da>>2]|0)|0;c[Z>>2]=n;if(!n){i=1;m=280;break a}c[B>>2]=c[A>>2];i=o}break}case 21:{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}if(!(c[Z>>2]|0))m=275;else{i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[Y>>2]=i;c[B>>2]=c[A>>2];i=o}break}case 19:{if((c[Z>>2]|0)!=0?(c[_>>2]|0)!=0:0){i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,i,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 20:{if((c[Y>>2]|0)!=0?(c[_>>2]|0)!=0:0){c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,0,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 58:{if(c[u>>2]|0)hW(b,o,n,c[Da>>2]|0);i=iW(b,o,Da,g,j,k)|0;if(i|0){m=280;break a}if(!(c[Da>>2]|0)){m=189;break a}else i=o;break}case 44:{i=c[aa>>2]|0;do if((c[$>>2]|0)>>>0>=i>>>0){if(!i){h=c[ha>>2]|0;c[aa>>2]=32;h=kb[h&63](32)|0;c[ba>>2]=h;if(!h){m=198;break a}else break}f=c[ia>>2]|0;h=c[ba>>2]|0;i=i<<1;c[aa>>2]=i;i=lb[f&127](h,i)|0;if(!i){m=193;break a}c[ba>>2]=i;i=c[da>>2]|0;if(i|0){i=lb[c[ia>>2]&127](i,c[aa>>2]<<2)|0;if(!i){i=1;m=280;break a}c[da>>2]=i}}while(0);a[(c[ba>>2]|0)+(c[$>>2]|0)>>0]=0;if(a[ca>>0]|0){i=kW(b)|0;if((i|0)<0){i=1;m=280;break a}c[(c[da>>2]|0)+(c[ea>>2]<<2)>>2]=i;c[ea>>2]=(c[ea>>2]|0)+1;c[(c[fa>>2]|0)+(i*28|0)>>2]=6;if(c[ga>>2]|0)i=o;else m=275}else m=275;break}case 50:{i=(c[ba>>2]|0)+(c[$>>2]|0)|0;if((a[i>>0]|0)==124){i=2;m=280;break a}a[i>>0]=44;if((a[ca>>0]|0)!=0?(c[ga>>2]|0)!=0:0)i=o;else m=275;break}case 49:{f=c[ba>>2]|0;e=c[$>>2]|0;i=a[f+e>>0]|0;if(i<<24>>24==44){i=2;m=280;break a}if(i<<24>>24==0&(a[ca>>0]|0)!=0?(Ba=(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[Ba>>2]|0)!=3):0){c[Ba>>2]=5;i=(c[ga>>2]|0)==0&1;f=c[ba>>2]|0;e=c[$>>2]|0}else i=1;a[f+e>>0]=124;m=274;break}case 59:case 60:{a[ta>>0]=1;if(c[M>>2]|0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break a}f=YV(b,E,e,0)|0;c[I>>2]=c[J>>2];do if(c[ja>>2]|0){if(!(a[ya>>0]|0)){if(a[ta>>0]|0){m=219;break}}else if(c[na>>2]|0){m=219;break}if(!f){i=11;m=280;break a}if(!(a[f+34>>0]|0)){i=24;m=280;break a}}else m=219;while(0);if((m|0)==219?(m=0,(f|0)==0):0){a[G>>0]=a[ya>>0]|0;if((h|0)!=60){m=275;break c}i=c[ka>>2]|0;if(!i){m=275;break c}vb[i&127](c[ra>>2]|0,e,1);i=o;break c}i=f+32|0;if(a[i>>0]|0){i=12;m=280;break a}if(c[f+4>>2]|0){i=lW(b,f,(h|0)==60&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;m=274;break c}else{m=280;break a}}if(!(c[va>>2]|0)){a[G>>0]=a[ya>>0]|0;m=275;break c}a[wa>>0]=0;a[i>>0]=1;h=(pb[c[va>>2]&127](c[xa>>2]|0,0,c[f+20>>2]|0,c[f+16>>2]|0,c[f+24>>2]|0)|0)==0;a[i>>0]=0;if(h){i=21;m=280;break a}e=a[ya>>0]|0;if(!(a[wa>>0]|0)){a[G>>0]=e;i=o;break c}else i=0}else{e=a[ya>>0]|0;a[G>>0]=e;i=1}if((e<<24>>24==0?(Ca=c[za>>2]|0,(Ca|0)!=0):0)?(kb[Ca&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}else m=274;break}case 40:{if(!(c[ga>>2]|0))m=275;else{n=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=n;if(!n){i=1;m=280;break a}c[ea>>2]=0;c[la>>2]=0;a[ca>>0]=1;i=o}break}case 42:case 41:{if(!(a[ca>>0]|0))m=275;else{if(!(c[ga>>2]|0))i=1;else{i=kb[c[ha>>2]&63](20)|0;if(!i){i=1;m=280;break a}m=i+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[i>>2]=(h|0)==41?2:1;c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,i);i=0}a[ca>>0]=0;m=274}break}case 43:{if((a[ca>>0]|0)!=0?(c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[ga>>2]|0)!=0):0)i=o;else m=275;break}case 51:{e=0;m=247;break}case 53:{e=1;m=247;break}case 52:{e=2;m=247;break}case 54:{e=3;m=247;break}case 45:{f=0;m=258;break}case 47:{f=1;m=258;break}case 46:{f=2;m=258;break}case 48:{f=3;m=258;break}case 55:{if(!(nW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 56:{if(!(oW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 0:{if((e|0)==14)i=o;else m=275;break}case 3:{if(!(c[w>>2]|0))m=275;else i=o;break}case 11:{if((a[G>>0]|0)!=0?(c[K>>2]|0)!=0:0)i=o;else m=275;break}case 17:{if(!(c[_>>2]|0))m=275;else i=o;break}case 33:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275;break}case 39:{if(!(c[ga>>2]|0))m=275;else i=o;break}default:m=275}while(0);if((m|0)==33)if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break}else{i=1;m=34}else if((m|0)==80){m=0;if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275}else if((m|0)==133){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;c[(c[F>>2]|0)+16>>2]=e;e=c[F>>2]|0;if(!(c[e+16>>2]|0)){i=1;m=280;break}c[e+20>>2]=c[Aa>>2];c[J>>2]=c[I>>2];if((h|0)==13&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}else if((m|0)==247){m=0;if(a[ca>>0]|0){i=c[Da>>2]|0;if(e)i=i+(0-(c[o+64>>2]|0))|0;f=kW(b)|0;if((f|0)<0){i=1;m=280;break}c[(c[fa>>2]|0)+(f*28|0)>>2]=4;c[(c[fa>>2]|0)+(f*28|0)+4>>2]=e;i=$V(b,o,n,i)|0;if(!i){i=1;m=280;break}e=c[i>>2]|0;c[(c[fa>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{h=i;i=i+1|0}while((a[e+h>>0]|0)!=0);c[ma>>2]=(c[ma>>2]|0)+i;if(c[ga>>2]|0)i=o;else m=275}else m=275}else if((m|0)==258)if(a[ca>>0]|0){e=(c[ga>>2]|0)==0;i=e&1;m=(c[ea>>2]|0)+-1|0;c[ea>>2]=m;c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+(m<<2)>>2]|0)*28|0)+4>>2]=f;if(!(c[ea>>2]|0)){if(!e){e=mW(b)|0;if(!e){i=1;m=280;break}c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,e)}a[ca>>0]=0;c[ma>>2]=0;m=274}else m=274}else m=275;if((m|0)==34){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break}ZV(e);c[(c[F>>2]|0)+24>>2]=e;c[J>>2]=c[I>>2];if((h|0)==14&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}if((m|0)==274){m=0;if(!(i<<24>>24))i=o;else m=275}if((m|0)==275){m=0;if(!(c[u>>2]|0))i=o;else{hW(b,o,n,c[Da>>2]|0);i=o}}switch(c[v>>2]|0){case 3:{m=278;break a}case 2:{i=35;m=280;break a}default:{}}e=c[Da>>2]|0;o=i;n=e;e=ob[c[i>>2]&127](i,e,g,Da)|0}d:switch(m|0){case 7:{c[j>>2]=n;i=0;break}case 9:{c[p>>2]=f;i=4;break}case 10:{i=(o|0)==(c[s>>2]|0);if(!i?(a[(c[na>>2]|0)+20>>0]|0)==0:0){c[j>>2]=n;i=0;break}if((a[b+484>>0]|0)!=0|i^1)if((pb[c[pa>>2]&127](pa,-4,g,g,o)|0)==-1)i=29;else{c[j>>2]=n;i=0}else i=3;break}case 58:{do if((a[D>>0]|0?(Ea=a[ta>>0]|0,a[ta>>0]=1,c[M>>2]|0):0)?c[va>>2]|0:0){i=YV(b,E,75291,36)|0;if(!i){i=1;break d}Da=i+20|0;c[Da>>2]=c[Aa>>2];a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[Da>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[wa>>0]|0)){a[ta>>0]=Ea;break}if(((a[ya>>0]|0)==0?(Fa=c[za>>2]|0,Fa|0):0)?(kb[Fa&63](c[ra>>2]|0)|0)==0:0){i=22;break d}}while(0);c[b+276>>2]=58;i=_V(b,n,g,j)|0;break}case 184:{i=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{c[b+276>>2]=59;i=0;break}case 193:{c[aa>>2]=(c[aa>>2]|0)>>>1;i=1;break}case 198:{c[aa>>2]=0;i=1;break}case 278:{c[j>>2]=c[Da>>2];i=0;break}case 280:break}l=Ga;return i|0}function VV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+16|0;m=q+12|0;i=q+8|0;j=q+4|0;k=q;c[p>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;o=b+284|0;g=(d|0)!=0;a:do if(rb[(a[b+232>>0]<<24>>24?2:1)&3](d,c[n>>2]|0,e,f,o,i,j,p,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+352>>2]|0)+130>>0]=1,h=b+488|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{hW(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[p>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=WV(b+436|0,f,d,d+(lb[c[f+28>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+452>>2]=c[b+448>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=WV(b+436|0,i,g,(c[j>>2]|0)+(0-(c[i+64>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}do if(!(c[b+228>>2]|0)){g=c[m>>2]|0;h=g;if(g|0){k=c[g+64>>2]|0;m=c[n>>2]|0;if((k|0)==(c[m+64>>2]|0)?(k|0)!=2|(g|0)==(m|0):0){c[n>>2]=h;break}c[o>>2]=c[p>>2];d=19;break a}g=c[p>>2]|0;if(g|0){h=b+436|0;if(!d){d=c[n>>2]|0;d=WV(h,d,g,g+(lb[c[d+28>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=PW(b,d)|0;XV(h);if((d|0)!=18)break a;c[o>>2]=c[p>>2];d=18;break a}}while(0);if((d|0)!=0|(e|0)!=0){XV(b+436|0);d=0}else d=0}else d=g?31:30;while(0);l=q;return d|0}function WV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(cW(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function XV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;a:do if(!b){c[e>>2]=c[a>>2];b=a}else{d=c[a>>2]|0;while(1){if(!d){b=a;break a}g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}}while(0);c[b>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function YV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=e+8|0;a:do if(!(c[w>>2]|0))if(g){a[e+4>>0]=6;c[w>>2]=64;h=e+16|0;i=kb[c[c[h>>2]>>2]&63](256)|0;c[e>>2]=i;if(!i){c[w>>2]=0;h=0;break}else{H3(i|0,0,256)|0;j=NW(b,f)|0;j=(c[w>>2]|0)+-1&j;i=e;o=27;break}}else h=0;else{v=NW(b,f)|0;k=c[w>>2]|0;j=k+-1|0;l=c[e>>2]|0;m=v&0-k;u=e+4|0;n=j>>>2;i=0;j=j&v;while(1){h=c[l+(j<<2)>>2]|0;if(!h)break;if((OW(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(i<<24>>24))h=(m>>>((d[u>>0]|0)+-1|0)&n|1)&255;else h=i;t=h&255;i=h;j=j-t+(j>>>0<t>>>0?k:0)|0}if(g){i=a[u>>0]|0;h=i&255;if(!((c[e+12>>2]|0)>>>(h+-1|0))){h=e+16|0;i=e;o=27;break}q=h+1&255;j=i+1&255;s=1<<j;r=s+-1|0;i=s<<2;h=e+16|0;t=kb[c[c[h>>2]>>2]&63](i)|0;if(t){H3(t|0,0,i|0)|0;p=0-s|0;n=j+-1|0;o=r>>>2;m=0;while(1){if(m>>>0>=(c[w>>2]|0)>>>0)break;i=c[(c[e>>2]|0)+(m<<2)>>2]|0;if(i|0){i=NW(b,c[i>>2]|0)|0;k=((i&p)>>>n&o|1)&255;i=i&r;j=0;while(1){l=t+(i<<2)|0;if(!(c[l>>2]|0))break;l=j<<24>>24==0?k:j;x=l&255;i=i+(i>>>0<x>>>0?s:0)-x|0;j=l}c[l>>2]=c[(c[e>>2]|0)+(m<<2)>>2]}m=m+1|0}tb[c[(c[h>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=t;a[u>>0]=q;c[w>>2]=s;k=((v&p)>>>n&o|1)&255;i=r&v;j=0;while(1){if(!(c[t+(i<<2)>>2]|0)){j=i;i=e;o=27;break a}x=j<<24>>24==0?k:j;w=x&255;i=i+(i>>>0<w>>>0?s:0)-w|0;j=x}}else h=0}else h=0}while(0);if((o|0)==27){h=kb[c[c[h>>2]>>2]&63](g)|0;c[(c[i>>2]|0)+(j<<2)>>2]=h;h=c[(c[i>>2]|0)+(j<<2)>>2]|0;if(!h)h=0;else{H3(h|0,0,g|0)|0;c[c[(c[i>>2]|0)+(j<<2)>>2]>>2]=f;h=e+12|0;c[h>>2]=(c[h>>2]|0)+1;h=c[(c[i>>2]|0)+(j<<2)>>2]|0}}return h|0}function ZV(b){b=b|0;var c=0,d=0,e=0;e=b;c=b;while(1){d=a[e>>0]|0;if(!(d<<24>>24))break;switch(d<<24>>24|0){case 10:case 13:case 32:{if((c|0)!=(b|0)){if((a[c+-1>>0]|0)!=32){a[c>>0]=32;c=c+1|0}}else c=b;break}default:{a[c>>0]=d;c=c+1|0}}e=e+1|0}if((c|0)!=(b|0)){b=c+-1|0;b=(a[b>>0]|0)==32?b:c}a[b>>0]=0;return}function _V(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,0,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function $V(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+352>>2]|0;b=WV(g+80|0,b,d,e)|0;do if((b|0)!=0?(f=YV(a,g+20|0,b,24)|0,(f|0)!=0):0)if((c[f>>2]|0)==(b|0)){c[g+96>>2]=c[g+92>>2];if(!(CW(a,f)|0)){f=0;break}}else c[g+92>>2]=c[g+96>>2];else f=0;while(0);return f|0}function aW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+352>>2]|0;k=m+80|0;n=m+92|0;h=c[n>>2]|0;l=m+88|0;if((h|0)==(c[l>>2]|0))if(!((eW(k)|0)<<24>>24))g=0;else{h=c[n>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[n>>2]=h+1;a[h>>0]=0;d=WV(k,d,e,f)|0;if((d|0)!=0?(j=d+1|0,g=YV(b,m+40|0,j,12)|0,(g|0)!=0):0){if((c[g>>2]|0)!=(j|0)){c[n>>2]=c[m+96>>2];break}h=c[n>>2]|0;i=m+96|0;c[i>>2]=h;if(a[b+232>>0]|0){e=a[j>>0]|0;b:do if(e<<24>>24==120)if((((a[d+2>>0]|0)==109?(a[d+3>>0]|0)==108:0)?(a[d+4>>0]|0)==110:0)?(a[d+5>>0]|0)==115:0){switch(a[d+6>>0]|0){case 0:{h=m+152|0;break}case 58:{h=YV(b,m+60|0,d+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else{f=0;d=e}while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[j+d>>0]|0}while(1){d=(h|0)==(c[l>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((eW(k)|0)<<24>>24)){g=0;break a}h=c[n>>2]|0}d=a[j+e>>0]|0;c[n>>2]=h+1;a[h>>0]=d;e=e+1|0;h=c[n>>2]|0}if(d){if(!((eW(k)|0)<<24>>24)){g=0;break}h=c[n>>2]|0}c[n>>2]=h+1;a[h>>0]=0;h=YV(b,m+60|0,c[i>>2]|0,8)|0;c[g+4>>2]=h;if(h){d=c[i>>2]|0;if((c[h>>2]|0)==(d|0)){c[i>>2]=c[n>>2];break}else{c[n>>2]=d;break}}else g=0}}else g=0}while(0);return g|0}function bW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function cW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(eW(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+56|0;f=a+8|0;while(1){if((pb[c[d>>2]&127](b,h,e,g,c[f>>2]|0)|0)>>>0<2)break;if(!((eW(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function dW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f<<24>>24==0;n=b+12|0;m=c[n>>2]|0;a:do if(!(i&(g|0)==0)){j=b+20|0;f=0;while(1){if((f|0)>=(m|0))break;if((c[(c[j>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((!i?(k=b+8|0,(c[k>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[k>>2]=d;l=9}else l=9}else l=9;while(0);b:do if((l|0)==9){j=b+16|0;do if((m|0)==(c[j>>2]|0))if(!m){c[j>>2]=8;f=kb[c[h+12>>2]&63](96)|0;c[b+20>>2]=f;if(f|0)break;c[j>>2]=0;f=0;break b}else{i=b+20|0;f=lb[c[h+16>>2]&127](c[i>>2]|0,m*24|0)|0;if(!f){f=0;break b}c[j>>2]=m<<1;c[i>>2]=f;break}else f=c[b+20>>2]|0;while(0);h=c[n>>2]|0;c[f+(h*12|0)>>2]=d;c[f+(h*12|0)+8>>2]=g;a[f+(h*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=(c[n>>2]|0)+1;f=1}while(0);return f|0}function eW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+4|0;e=c[b>>2]|0;do if(e){f=a+16|0;g=c[f>>2]|0;if(!g){c[a>>2]=e;c[b>>2]=c[e>>2];c[e>>2]=0;l=c[a>>2]|0;b=l+8|0;c[f>>2]=b;c[a+8>>2]=(c[l+4>>2]|0)+(l+8);c[a+12>>2]=b;b=1;break}d=a+8|0;if(((c[d>>2]|0)-g|0)<(c[e+4>>2]|0)){k=c[e>>2]|0;c[e>>2]=c[a>>2];l=c[b>>2]|0;c[a>>2]=l;c[b>>2]=k;b=c[f>>2]|0;F3(l+8|0,b|0,(c[d>>2]|0)-b|0)|0;b=c[a>>2]|0;l=a+12|0;c[l>>2]=(c[l>>2]|0)-(c[f>>2]|0)+(b+8);c[f>>2]=b+8;c[d>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=6}else h=6;while(0);a:do if((h|0)==6){e=c[a>>2]|0;k=a+16|0;do if(!e){i=k;b=c[k>>2]|0}else{j=c[k>>2]|0;b=j;if((j|0)!=(e+8|0)){i=k;break}f=a+8|0;g=(c[f>>2]|0)-b<<1;h=a+12|0;d=(c[h>>2]|0)-b|0;if((g|0)<0){b=0;break a}b=MW(g)|0;if(!b){b=0;break a}b=lb[c[(c[a+20>>2]|0)+4>>2]&127](e,b)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=g;b=c[a>>2]|0;c[h>>2]=b+8+d;c[k>>2]=b+8;c[f>>2]=b+8+g;b=1;break a}while(0);j=a+8|0;b=(c[j>>2]|0)-b|0;if((b|0)>=0){if((b|0)>=1024){b=b<<1;if((b|0)<0){b=0;break}}else b=1024;d=MW(b)|0;if((d|0)!=0?(l=kb[c[c[a+20>>2]>>2]&63](d)|0,(l|0)!=0):0){c[l+4>>2]=b;c[l>>2]=c[a>>2];c[a>>2]=l;h=a+12|0;a=c[h>>2]|0;e=c[k>>2]|0;d=a;f=e;if((a|0)==(e|0)){g=l+8|0;e=f}else{g=l+8|0;F3(g|0,e|0,d-f|0)|0;e=c[i>>2]|0;d=c[h>>2]|0}c[h>>2]=l+8+(d-e);c[k>>2]=g;c[j>>2]=l+8+b;b=1}else b=0}else b=0}while(0);return b|0}function fW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=LW(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(c[h+16>>2]|0)!=(b|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((eW(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function gW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+352>>2]|0;D=g+104|0;F=b+272|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(eW(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+484|0;p=b+144|0;q=b+412|0;r=d+64|0;s=g+132|0;t=b+428|0;u=b+424|0;v=b+224|0;w=b+112|0;m=g+130|0;x=g+128|0;y=g+131|0;z=b+116|0;A=g+112|0;j=g+116|0;k=d+40|0;a:while(1){b:do switch(ob[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=37;break a}case 0:{G=39;break a}case 28:{if((a[o>>0]|0)==0?(c[p>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=WV(q,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=YV(b,s,g,0)|0;c[u>>2]=c[t>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=h+16|0;if(!(c[g>>2]|0)){a[i>>0]=1;g=c[h+4>>2]|0;g=gW(b,c[v>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}if(c[w>>2]|0){a[y>>0]=0;a[i>>0]=1;h=(pb[c[w>>2]&127](c[z>>2]|0,0,c[h+20>>2]|0,c[g>>2]|0,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[y>>0]|0)break b}a[x>>0]=a[m>>0]|0;break}case 6:case 9:{if(!(cW(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=lb[c[k>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=gX(g,C)|0;e=0;while(1){if((e|0)>=(h|0))break;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;G=35;break a}g=c[j>>2]|0}i=a[C+e>>0]|0;c[j>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=41;break a}}while(0);if((G|0)==22){G=0;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;break}g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[x>>0]=a[m>>0]|0;g=0}else if((G|0)==11)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+284>>2]=e;g=10}else if((G|0)==27)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=14;G=35}else{g=14;G=35}else if((G|0)==37)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=4}else g=4;else if((G|0)==39)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=c[B>>2];g=4}else g=4;else if((G|0)==41)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function hW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+68>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+288|0;h=b+284|0}else{h=c[b+296>>2]|0;g=h+4|0}i=b+44|0;j=d+56|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];b=pb[c[j>>2]&127](d,n,f,o,c[k>>2]|0)|0;c[g>>2]=c[n>>2];q=c[i>>2]|0;vb[c[m>>2]&127](c[e>>2]|0,q,(c[o>>2]|0)-q|0);c[h>>2]=c[n>>2]}while(b>>>0>1)}else vb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function iW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+284|0;c[i>>2]=k;h=a+288|0}else{i=c[a+296>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=ob[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;switch(n|0){case 42:{if(c[a+80>>2]|0){hW(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+476>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(!(g<<24>>24))e=6;else{c[f>>2]=k;e=0}break}case -4:case -1:{if(!(g<<24>>24))e=2;else{c[f>>2]=k;e=0}break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function jW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=iW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;if(!((d|0)!=0|(g|0)==0)){c[b+276>>2]=57;d=TV(b,g,e,f)|0}l=h;return d|0}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+352>>2]|0;j=i+184|0;if(!(c[j>>2]|0)){b=kb[c[a+12>>2]&63](c[a+464>>2]<<2)|0;c[j>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){h=i+176|0;b=c[h>>2]|0;g=i+172|0;d=c[g>>2]|0;f=i+164|0;e=c[f>>2]|0;if(b>>>0<d>>>0)g=e;else{if(!e){b=kb[c[a+12>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=lb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[f>>2]=d;b=c[h>>2]|0;g=d}c[h>>2]=b+1;d=c[i+180>>2]|0;if(d|0){a=c[(c[j>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}j=g+(b*28|0)+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}while(0);return b|0}function lW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=b+300|0;f=c[o>>2]|0;if(!f){f=kb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{m=f;g=4}}else{c[o>>2]=c[f+8>>2];m=f;g=4}do if((g|0)==4){h=d+32|0;a[h>>0]=1;i=d+12|0;c[i>>2]=0;j=b+296|0;k=m+8|0;c[k>>2]=c[j>>2];c[j>>2]=m;c[m+12>>2]=d;f=b+308|0;c[m+16>>2]=c[f>>2];a[m+20>>0]=e;c[m>>2]=0;c[m+4>>2]=0;g=c[d+4>>2]|0;e=g+(c[d+8>>2]|0)|0;c[n>>2]=g;if(!(a[d+33>>0]|0))f=rW(b,c[f>>2]|0,c[b+224>>2]|0,g,e,n,0)|0;else{d=b+224|0;f=c[d>>2]|0;f=ob[c[f>>2]&127](f,g,e,n)|0;f=UV(b,c[d>>2]|0,g,e,f,c[n>>2]|0,n,0)|0}if(!f){f=c[n>>2]|0;if((e|0)!=(f|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=f-g;c[b+276>>2]=60;f=0;break}a[h>>0]=0;c[j>>2]=c[k>>2];c[k>>2]=c[o>>2];c[o>>2]=m;f=0}}while(0);l=p;return f|0}function mW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+352>>2]|0;f=b+176|0;b=kb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;qW(a,0,b,d,e)}l=g;return b|0}function nW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{hW(a,b,d,e);d=1}else{h=b+64|0;g=d+(c[h>>2]<<1)|0;d=g+(lb[c[b+28>>2]&127](b,g)|0)|0;f=a+412|0;g=WV(f,b,g,d)|0;if((g|0)!=0?(c[a+428>>2]=c[a+424>>2],i=lb[c[b+32>>2]&127](b,d)|0,i=WV(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){pW(i);vb[c[j>>2]&127](c[a+4>>2]|0,g,i);XV(f);d=1}else d=0}return d|0}function oW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{hW(a,b,d,e);b=1}else{f=a+412|0;h=c[b+64>>2]|0;b=WV(f,b,d+(h<<2)|0,e+(O(h,-3)|0)|0)|0;if(!b)b=0;else{pW(b);ub[c[g>>2]&63](c[a+4>>2]|0,b);XV(f);b=1}}return b|0}function pW(b){b=b|0;var c=0,d=0,e=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{d=b;c=13;e=4;break a}default:{}}b=b+1|0}if((e|0)==4){while(1){if(c<<24>>24==13){a[d>>0]=10;e=b+1|0;b=(a[e>>0]|0)==10?b+2|0:e}else{a[d>>0]=c;b=b+1|0}d=d+1|0;c=a[b>>0]|0;if(!(c<<24>>24))break;else e=4}a[d>>0]=0}return}function qW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[b+352>>2]|0)+164|0;j=c[(c[k>>2]|0)+(d*28|0)>>2]|0;c[e>>2]=j;c[e+4>>2]=c[(c[k>>2]|0)+(d*28|0)+4>>2];if((j|0)==4){c[e+8>>2]=c[g>>2];d=c[(c[k>>2]|0)+(d*28|0)+8>>2]|0;while(1){j=a[d>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;if(!(a[d>>0]|0))break;else d=d+1|0}c[e+12>>2]=0;c[e+16>>2]=0}else{h=c[(c[k>>2]|0)+(d*28|0)+20>>2]|0;i=e+12|0;c[i>>2]=h;j=e+16|0;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);d=(c[k>>2]|0)+(d*28|0)+12|0;h=0;while(1){d=c[d>>2]|0;if(h>>>0>=(c[i>>2]|0)>>>0)break;qW(b,d,(c[j>>2]|0)+(h*20|0)|0,f,g);d=(c[k>>2]|0)+(d*28|0)+24|0;h=h+1|0}c[e+8>>2]=0}return}function rW(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+48|0;ja=ma+28|0;ea=ma+32|0;ka=ma+24|0;Z=ma;c[ja>>2]=f;_=c[b+352>>2]|0;if((c[b+144>>2]|0)==(e|0)){fa=b+284|0;Y=b+288|0}else{Y=c[b+296>>2]|0;fa=Y;Y=Y+4|0}c[fa>>2]=f;t=e+4|0;ga=b+80|0;u=b+476|0;v=e+44|0;w=e+64|0;x=_+80|0;y=_+96|0;z=_+92|0;A=_+129|0;B=b+112|0;C=b+116|0;D=b+428|0;E=b+424|0;F=b+304|0;G=b+120|0;ha=b+4|0;H=_+130|0;$=b+60|0;I=b+364|0;J=b+12|0;K=b+360|0;L=e+28|0;ia=b+308|0;aa=e+56|0;M=b+16|0;N=b+52|0;O=b+412|0;P=b+388|0;Q=b+56|0;R=b+232|0;S=b+233|0;T=b+468|0;U=b+104|0;V=b+372|0;W=e+40|0;X=b+72|0;ba=e+68|0;ca=b+44|0;da=b+48|0;a:while(1){s=c[ja>>2]|0;c[ea>>2]=s;s=ob[c[t>>2]&127](e,s,g,ea)|0;f=c[ea>>2]|0;c[Y>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=134;break a}case 9:{s=c[w>>2]|0;s=(nb[c[v>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[$>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,ka,1);break}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[w>>2]|0;j=WV(x,e,(c[ja>>2]|0)+j|0,(c[ea>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=YV(b,_,j,0)|0;c[z>>2]=c[y>>2];if((a[A>>0]|0)!=0?(a[H>>0]|0)==0:0){if(!k){f=c[G>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}}else{if(!k){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[B>>2]|0)){if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}a[f>>0]=1;j=tW(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(pb[c[B>>2]&127](c[C>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[E>>2]=c[D>>2];break}if(a[F>>0]|0){f=lW(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[G>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[I>>2]|0;if(!f){f=kb[c[J>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=kb[c[J>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[I>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[K>>2];c[K>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;r=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=r;p=f+8|0;c[p>>2]=lb[c[L>>2]&127](e,r)|0;c[ia>>2]=(c[ia>>2]|0)+1;q=c[q>>2]|0;p=q+(c[p>>2]|0)|0;c[Z>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){na=pb[c[aa>>2]&127](e,Z,p,ka,j+-1|0)|0;j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((na|0)==1?1:(c[Z>>2]|0)>>>0>=p>>>0)break;k=(c[r>>2]|0)-k<<1;j=lb[c[M>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;na=j+k|0;c[r>>2]=na;c[ka>>2]=j+n;j=na}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=uW(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[N>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[s>>2]|0,c[P>>2]|0);XV(O);break}case 3:case 4:{na=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;na=WV(O,e,na,na+(lb[c[L>>2]&127](e,na)|0)|0)|0;c[Z>>2]=na;if(!na){f=1;la=89;break a}c[D>>2]=c[E>>2];f=uW(b,e,c[ja>>2]|0,Z,ka)|0;if(f|0){la=79;break a}c[D>>2]=c[E>>2];f=c[N>>2]|0;if(!f)j=1;else{vb[f&127](c[ha>>2]|0,c[Z>>2]|0,c[P>>2]|0);j=0}f=c[Q>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{if(c[N>>2]|0){c[fa>>2]=c[Y>>2];f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[Z>>2]|0)}XV(O);vW(b,c[ka>>2]|0);if((c[ia>>2]|0)==0?(c[u>>2]&-2|0)!=2:0){la=92;break a}break}case 5:{if((c[ia>>2]|0)==(d|0)){f=13;break a}n=c[K>>2]|0;c[K>>2]=c[n>>2];c[n>>2]=c[I>>2];c[I>>2]=n;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=lb[c[L>>2]&127](e,f)|0;if((j|0)!=(c[n+8>>2]|0)){la=96;break a}if(L0(c[n+4>>2]|0,f,j)|0){la=96;break a}c[ia>>2]=(c[ia>>2]|0)+-1;f=c[Q>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[n+16>>2]|0;m=n+12|0;if((j|0)!=0&(a[R>>0]|0)!=0){f=(c[m>>2]|0)+(c[n+28>>2]|0)|0;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break;a[f>>0]=k;f=f+1|0;j=j+1|0}j=c[n+20>>2]|0;c:do if((j|0)!=0&(a[S>>0]|0)!=0){a[f>>0]=a[T>>0]|0;while(1){f=f+1|0;k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0}}while(0);a[f>>0]=0;f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[m>>2]|0)}k=n+44|0;while(1){m=c[k>>2]|0;if(!m)break;f=c[U>>2]|0;if(!f){f=m;j=m}else{ub[f&63](c[ha>>2]|0,c[c[m>>2]>>2]|0);f=m;j=c[k>>2]|0}c[k>>2]=c[j+4>>2];c[m+4>>2]=c[V>>2];c[V>>2]=m;c[(c[f>>2]|0)+4>>2]=c[m+8>>2]}if(!(c[ia>>2]|0)){la=117;break a}break}case 10:{f=lb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[$>>2]|0;if(j|0){s=c[ha>>2]|0;na=gX(f,ka)|0;vb[j&127](s,ka,na);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}case 7:{f=c[$>>2]|0;if(f|0){a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}else tb[f&127](c[ha>>2]|0);f=xW(b,e,ea,g,h,i)|0;if(f|0)break a;if(!(c[ea>>2]|0)){la=133;break a}break}case 6:{j=c[$>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;hW(b,e,c[ja>>2]|0,k);break b}if(!(a[ba>>0]|0))f=k;else{na=c[ja>>2]|0;vb[j&127](c[ha>>2]|0,na,f-na|0);break b}while(1){c[ka>>2]=c[ca>>2];na=pb[c[aa>>2]&127](e,ja,f,ka,c[da>>2]|0)|0;c[Y>>2]=c[ja>>2];s=c[ca>>2]|0;vb[j&127](c[ha>>2]|0,s,(c[ka>>2]|0)-s|0);if(na>>>0<2)break;c[fa>>2]=c[ja>>2];f=c[ea>>2]|0}break}case 11:{if(!(nW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(oW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}while(0);na=c[ea>>2]|0;c[ja>>2]=na;c[fa>>2]=na;switch(c[u>>2]|0){case 2:{f=35;break a}case 3:{la=160;break a}default:{}}}switch(la|0){case 6:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[Y>>2]=g;f=c[$>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1)}if(d)if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ia>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[fa>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{tb[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 79:{vW(b,c[ka>>2]|0);la=89;break}case 92:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 96:{c[fa>>2]=f;f=7;break}case 117:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 133:{c[b+276>>2]=61;f=0;break}case 134:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[$>>2]|0;do if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else if(!(a[ba>>0]|0)){c[ka>>2]=c[ca>>2];pb[c[aa>>2]&127](e,ja,g,ka,c[da>>2]|0)|0;na=c[ca>>2]|0;vb[c[$>>2]&127](c[ha>>2]|0,na,(c[ka>>2]|0)-na|0);break}else{na=c[ja>>2]|0;vb[f&127](c[ha>>2]|0,na,g-na|0);break}while(0);if(!d){c[fa>>2]=g;f=3;break}if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[fa>>2]=g;f=13;break}}case 160:{c[h>>2]=c[ea>>2];f=0;break}}l=ma;return f|0}function sW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;p=q;k=b+296|0;m=c[k>>2]|0;do if(m){n=c[m+12>>2]|0;h=n+4|0;j=c[h>>2]|0;i=n+12|0;g=j+(c[i>>2]|0)|0;j=j+(c[n+8>>2]|0)|0;c[p>>2]=g;o=n+33|0;if(!(a[o>>0]|0))g=rW(b,c[m+16>>2]|0,c[b+224>>2]|0,g,j,p,0)|0;else{s=b+224|0;r=c[s>>2]|0;r=ob[c[r>>2]&127](r,g,j,p)|0;g=UV(b,c[s>>2]|0,g,j,r,c[p>>2]|0,p,0)|0}if(!g){g=c[p>>2]|0;if((j|0)!=(g|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=g-(c[h>>2]|0);g=0;break}a[n+32>>0]=0;s=m+8|0;c[k>>2]=c[s>>2];g=b+300|0;c[s>>2]=c[g>>2];c[g>>2]=m;g=b+276|0;if(!(a[o>>0]|0)){c[g>>2]=58;g=rW(b,(c[b+472>>2]|0)!=0&1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;break}else{c[g>>2]=57;s=b+144|0;g=c[s>>2]|0;g=ob[c[g>>2]&127](g,d,e,p)|0;g=UV(b,c[s>>2]|0,d,e,g,c[p>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=q;return g|0}function tW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;m=c[b+352>>2]|0;h=m+156|0;o=b+412|0;p=b+424|0;a:do if(!(c[h>>2]|0)){d=0;i=b+420|0;k=b+468|0;j=12}else{d=c[p>>2]|0;i=b+420|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;g=b+468|0;e=(c[(c[h>>2]|0)+20>>2]|0)+(((a[g>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;k=g;j=12;break a}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[p>>2]|0}k=a[(c[(c[h>>2]|0)+16>>2]|0)+f>>0]|0;c[p>>2]=d+1;a[d>>0]=k;f=f+1|0}}while(0);b:do if((j|0)==12){NV(n,m+60|0);c:while(1){do{e=OV(n)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[p>>2]|0;f=(d|0)==(c[i>>2]|0);if(!(e<<24>>24))break;if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[g>>0]|0}c[p>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;f=(c[(c[h>>2]|0)+20>>2]|0)+(((a[k>>0]|0)!=0)<<31>>31)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}j=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[p>>2]=d+1;a[d>>0]=j;e=e+1|0}}NV(n,m);d:while(1){do{e=OV(n)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[f>>0]|0}c[p>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=0;d=c[b+428>>2]|0}while(0);l=q;return d|0}function uW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=l;l=l+80|0;K=O+16|0;L=O;M=c[b+352>>2]|0;k=M+20|0;i=YV(b,k,c[g>>2]|0,0)|0;if(!i){i=BW(M+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=YV(b,k,i,24)|0,(j|0)!=0):0)if((a[b+232>>0]|0)!=0?(CW(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){x=c[j+12>>2]|0;k=e+36|0;m=b+376|0;t=b+388|0;u=ob[c[k>>2]&127](e,f,c[m>>2]|0,c[t>>2]|0)|0;i=u+x|0;n=c[m>>2]|0;if((i|0)>(n|0)){i=i+16|0;c[m>>2]=i;i=lb[c[b+16>>2]&127](c[t>>2]|0,i<<4)|0;if(!i){c[m>>2]=n;i=1;break}c[t>>2]=i;if((u|0)>(n|0))ob[c[k>>2]&127](e,f,u,i)|0}J=c[t>>2]|0;r=e+28|0;H=b+412|0;I=b+428|0;w=j+20|0;q=b+424|0;s=0;p=0;k=0;while(1){if((p|0)>=(u|0))break;o=c[(c[t>>2]|0)+(p<<4)>>2]|0;o=aW(b,e,o,o+(lb[c[r>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=15;break}a[i>>0]=1;f=s+1|0;c[J+(s<<2)>>2]=c[o>>2];n=c[t>>2]|0;if(a[n+(p<<4)+12>>0]|0){G=WV(H,e,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0)|0;c[J+(f<<2)>>2]=G;if(!G){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(x|0)){i=1;break b}m=c[w>>2]|0;if((o|0)==(c[m+(i*12|0)>>2]|0))break;i=i+1|0}i=a[m+(i*12|0)+4>>0]|0}while(0);i=fW(b,e,i,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0,H)|0;if(i|0)break a;c[J+(f<<2)>>2]=c[I>>2]}c[I>>2]=c[q>>2];i=c[o+4>>2]|0;do if(i)if(a[o+9>>0]|0){i=DW(b,i,o,c[J+(f<<2)>>2]|0,h)|0;if(!i){i=s;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;i=s+2|0;break}else i=s+2|0;while(0);s=i;p=p+1|0}if((A|0)==15){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+284>>2]=c[(c[t>>2]|0)+(p<<4)>>2];i=8;break}c[b+380>>2]=s;i=c[j+8>>2]|0;c:do if((i|0)!=0?(v=c[i>>2]|0,(a[v+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(s|0)){f=0;p=k;G=s;break c}if((c[J+(i<<2)>>2]|0)==(v|0)){A=37;break c}i=i+2|0}}else{i=-1;A=37}while(0);if((A|0)==37){c[b+384>>2]=i;f=0;p=k;G=s}while(1){if((f|0)>=(x|0))break;i=c[w>>2]|0;n=i+(f*12|0)|0;k=c[n>>2]|0;m=(c[k>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(y=i+(f*12|0)+8|0,z=c[y>>2]|0,(z|0)!=0):0){i=c[k+4>>2]|0;do if(i)if(a[k+9>>0]|0){i=DW(b,i,k,z,h)|0;if(!i){i=p;k=G;break d}else break a}else{a[m>>0]=2;i=p+1|0;break}else{a[m>>0]=1;i=p}while(0);c[J+(G<<2)>>2]=c[c[n>>2]>>2];c[J+(G+1<<2)>>2]=c[y>>2];k=G+2|0}else{i=p;k=G}while(0);f=f+1|0;p=i;G=k}c[J+(G<<2)>>2]=0;e:do if(!p)i=0;else{o=b+396|0;n=c[o>>2]|0;F=b+400|0;f=a[F>>0]|0;i=f&255;do if(!(p<<1>>i)){i=1<<i;m=b+392|0;if(!n){k=i;A=55}else{k=i;i=n}}else{i=f;do{E=i;i=i+1<<24>>24}while((p>>(E&255)|0)!=0);i=(i&255)>3?i:3;a[F>>0]=i;i=i&255;m=b+392|0;k=lb[c[b+16>>2]&127](c[m>>2]|0,12<<i)|0;if(!k){a[F>>0]=f;i=1;break a}else{c[m>>2]=k;k=1<<i;A=55;break}}while(0);f:do if((A|0)==55){i=k;while(1){if(!i){i=-1;break f}E=i+-1|0;c[(c[m>>2]|0)+(E*12|0)>>2]=-1;i=E}}while(0);E=i+-1|0;c[o>>2]=E;w=M+40|0;x=b+424|0;y=b+420|0;z=k+-1|0;A=0-k|0;B=z>>>2;C=b+233|0;D=b+468|0;i=0;v=p;g:while(1){while(1){if((i|0)>=(G|0))break e;e=J+(i<<2)|0;n=c[e>>2]|0;f=n+-1|0;if((a[f>>0]|0)==2)break;a[f>>0]=0;i=i+2|0}EW(b,L);FW(K,L);a[f>>0]=0;f=YV(b,w,n,0)|0;if(!f){i=1;break}f=c[f+4>>2]|0;if(!f){i=1;break}u=c[f+4>>2]|0;if(!u){i=27;break}q=u+20|0;r=u+16|0;p=0;while(1){f=c[q>>2]|0;o=c[r>>2]|0;if((p|0)>=(f|0))break;o=a[o+p>>0]|0;f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}c[x>>2]=f+1;a[f>>0]=o;p=p+1|0}GW(K,o,f);do{t=n;n=n+1|0}while((a[t>>0]|0)!=58);GW(K,n,HW(n)|0);while(1){f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}t=a[n>>0]|0;c[x>>2]=f+1;a[f>>0]=t;if(!(a[n>>0]|0))break;else n=n+1|0}t=IW(K)|0;q=c[m>>2]|0;r=t&A;n=0;s=z&t;while(1){if((c[q+(s*12|0)>>2]|0)!=(E|0))break;if((c[q+(s*12|0)+4>>2]|0)==(t|0)){f=c[q+(s*12|0)+8>>2]|0;o=c[I>>2]|0;while(1){P=a[o>>0]|0;p=P<<24>>24==0;if(p|P<<24>>24!=(a[f>>0]|0))break;f=f+1|0;o=o+1|0}if(p){i=8;break g}}if(!(n<<24>>24))n=(r>>>((d[F>>0]|0)+-1|0)&B|1)&255;P=n&255;s=s+((s|0)<(P|0)?k:0)-P|0}if(a[C>>0]|0){a[(c[x>>2]|0)+-1>>0]=a[D>>0]|0;f=c[c[u>>2]>>2]|0;while(1){n=c[x>>2]|0;if((n|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}n=c[x>>2]|0}P=a[f>>0]|0;c[x>>2]=n+1;a[n>>0]=P;if(!(a[f>>0]|0))break;else f=f+1|0}}P=c[I>>2]|0;c[I>>2]=c[x>>2];c[e>>2]=P;c[(c[m>>2]|0)+(s*12|0)>>2]=E;c[(c[m>>2]|0)+(s*12|0)+4>>2]=t;c[(c[m>>2]|0)+(s*12|0)+8>>2]=P;v=v+-1|0;i=i+2|0;if(!v)break e}break a}while(0);while(1){if((i|0)>=(G|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[b+232>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[M+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}if((a[b+233>>0]|0)!=0?(N=c[c[i>>2]>>2]|0,(N|0)!=0):0){j=0;while(1){m=j+1|0;if(!(a[N+j>>0]|0))break;else j=m}}else m=0;c[g+4>>2]=k;p=i+20|0;c[g+16>>2]=c[p>>2];c[g+8>>2]=c[c[i>>2]>>2];c[g+20>>2]=m;q=0;while(1){r=q+1|0;if(!(a[k+q>>0]|0))break;else q=r}j=c[p>>2]|0;n=r+m+j|0;f=i+24|0;if((n|0)>(c[f>>2]|0)){j=n+24|0;o=kb[c[b+12>>2]&63](j)|0;if(!o){i=1;break}c[f>>2]=j;f=i+16|0;F3(o|0,c[f>>2]|0,c[p>>2]|0)|0;j=b+360|0;while(1){j=c[j>>2]|0;if(!j)break;n=j+12|0;if((c[n>>2]|0)==(c[f>>2]|0))c[n>>2]=o}tb[c[b+20>>2]&127](c[f>>2]|0);c[f>>2]=o;n=o;j=c[p>>2]|0}else{n=i+16|0;f=n;n=c[n>>2]|0}j=n+j|0;F3(j|0,k|0,r|0)|0;if(m|0){P=j+q|0;a[P>>0]=a[b+468>>0]|0;F3(P+1|0,c[c[i>>2]>>2]|0,m|0)|0}c[g>>2]=c[f>>2];i=0}}while(0);l=O;return i|0}function vW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+104|0;f=a+372|0;d=a+4|0;while(1){if(!b)break;a=c[e>>2]|0;if(!a)a=b;else{ub[a&63](c[d>>2]|0,c[c[b>>2]>>2]|0);a=b}h=b+4|0;g=c[h>>2]|0;c[h>>2]=c[f>>2];c[f>>2]=b;c[(c[a>>2]|0)+4>>2]=c[b+8>>2];b=g}return}function wW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+276>>2]=62;k=b+284|0;c[k>>2]=d;m=b+144|0;n=b+288|0;o=b+80|0;i=b+476|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=ob[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)hW(b,c[m>>2]|0,g,h);break}case 11:{if(!(nW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(oW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){hW(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function xW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+284|0;c[s>>2]=i;t=b+288|0}else{t=c[b+296>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;k=d+8|0;m=b+60|0;u=b+80|0;v=b+4|0;w=b+476|0;n=d+68|0;o=b+44|0;p=d+56|0;q=b+48|0;a:while(1){j=ob[c[k>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;r=i;b:do switch(j|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[m>>2]|0;if(i|0){a[x>>0]=10;vb[i&127](c[v>>2]|0,x,1);break b}if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r);break}case 6:{j=c[m>>2]|0;if(!j){if(!(c[u>>2]|0))break b;hW(b,d,c[y>>2]|0,r);break b}if(!(a[n>>0]|0))i=r;else{r=c[y>>2]|0;vb[j&127](c[v>>2]|0,r,i-r|0);break b}while(1){c[x>>2]=c[o>>2];r=pb[c[p>>2]&127](d,y,i,x,c[q>>2]|0)|0;c[t>>2]=c[z>>2];i=c[o>>2]|0;vb[j&127](c[v>>2]|0,i,(c[x>>2]|0)-i|0);if(r>>>0<2)break;c[s>>2]=c[y>>2];i=c[z>>2]|0}break}default:{A=28;break a}}while(0);r=c[z>>2]|0;c[y>>2]=r;c[s>>2]=r;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r)}else tb[i&127](c[v>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function yW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;do if(!((d|0)!=0|(g|0)==0)){d=b+276|0;if(!(c[b+472>>2]|0)){c[d>>2]=58;d=_V(b,g,e,f)|0;break}else{c[d>>2]=63;d=zW(b,g,e,f)|0;break}}while(0);l=h;return d|0}function zW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function AW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+360|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=lb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}F3(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function BW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function CW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+352>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=YV(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function DW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=a[f>>0]|0;i=c[d>>2]|0;h=(i|0)==0;do if(!(k<<24>>24))if(h){m=0;j=11}else h=28;else if(((!h?(a[i>>0]|0)==120:0)?(a[i+1>>0]|0)==109:0)?(a[i+2>>0]|0)==108:0){h=a[i+3>>0]|0;if((h<<24>>24==110?(a[i+4>>0]|0)==115:0)?(a[i+5>>0]|0)==0:0){h=39;break}m=h<<24>>24==0&1;j=11}else{m=0;j=11}while(0);a:do if((j|0)==11){l=m<<24>>24!=0;h=1;i=1;n=0;while(1){j=i<<24>>24!=0;if(!(k<<24>>24))break;do if(j){if((n|0)<=36?k<<24>>24==(a[139175+n>>0]|0):0)break;i=0}else i=0;while(0);do if(!(l|h<<24>>24==0)){if((n|0)<=29?k<<24>>24==(a[139212+n>>0]|0):0)break;h=0}while(0);k=n+1|0;n=k;k=a[f+k>>0]|0}if((m&255|0)!=(j&(n|0)==36&1|0)){h=l?38:40;break}if(!(h<<24>>24!=0&(n|0)==29)){o=b+468|0;n=n+((a[o>>0]|0)!=0&1)|0;h=b+372|0;j=c[h>>2]|0;do if(!j){h=b+12|0;i=kb[c[h>>2]&63](28)|0;if(!i){h=1;break a}j=n+24|0;m=kb[c[h>>2]&63](j)|0;c[i+16>>2]=m;if(!m){tb[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=j;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=n+24|0;m=lb[c[b+16>>2]&127](c[k>>2]|0,l)|0;if(!m){h=1;break a}c[k>>2]=m;c[i>>2]=l}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;F3(c[i>>2]|0,f|0,n|0)|0;h=a[o>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+352>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(p=c[b+100>>2]|0,(p|0)!=0):0){vb[p&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}while(0);return h|0}function EW(a,b){a=a|0;b=b|0;var d=0;d=b;c[d>>2]=0;c[d+4>>2]=0;b=b+8|0;c[b>>2]=KW(a)|0;c[b+4>>2]=0;return}function FW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=b;g=c[d+4>>2]^1936682341;e=a;c[e>>2]=c[d>>2]^1886610805;c[e+4>>2]=g;e=b+8|0;g=e;d=c[g+4>>2]^1685025377;f=a+8|0;c[f>>2]=c[g>>2]^1852075885;c[f+4>>2]=d;f=b;b=c[f+4>>2]^1819895653;d=a+16|0;c[d>>2]=c[f>>2]^1852142177;c[d+4>>2]=b;d=c[e+4>>2]^1952801890;b=a+24|0;c[b>>2]=c[e>>2]^2037671283;c[b+4>>2]=d;c[a+40>>2]=a+32;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;return}function GW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;n=e+f|0;o=b+40|0;p=b+40|0;q=b+32|0;r=b+33|0;s=b+34|0;t=b+35|0;h=b+36|0;i=b+37|0;j=b+38|0;k=b+39|0;l=b+24|0;m=b+48|0;f=e;do{while(1){g=c[o>>2]|0;if(f>>>0>=n>>>0){e=0;break}if(g>>>0>=p>>>0){e=1;break}e=a[f>>0]|0;c[o>>2]=g+1;a[g>>0]=e;f=f+1|0}if(g>>>0<p>>>0)break;A=d[q>>0]|0;B=A3(d[r>>0]|0|0,0,8)|0;g=z;y=A3(d[s>>0]|0|0,0,16)|0;g=g|z;w=A3(d[t>>0]|0|0,0,24)|0;g=g|z|(d[h>>0]|0);u=A3(d[i>>0]|0|0,0,40)|0;g=g|z;x=A3(d[j>>0]|0|0,0,48)|0;g=g|z;v=A3(d[k>>0]|0|0,0,56)|0;v=B|A|y|w|u|x|v;g=g|z;x=l;u=g^c[x+4>>2];w=l;c[w>>2]=v^c[x>>2];c[w+4>>2]=u;JW(b,2);w=b;g=c[w+4>>2]^g;u=b;c[u>>2]=c[w>>2]^v;c[u+4>>2]=g;c[o>>2]=q;u=m;u=s3(c[u>>2]|0,c[u+4>>2]|0,8,0)|0;g=m;c[g>>2]=u;c[g+4>>2]=z}while(e);return}function HW(b){b=b|0;var c=0;c=0;while(1){if(!(a[b>>0]|0))break;c=c+1|0;b=b+1|0}return c|0}function IW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;f=a+32|0;h=(c[a+40>>2]|0)-f|0;e=a+48|0;e=s3(c[e>>2]|0,c[e+4>>2]|0,h|0,0)|0;e=A3(e|0,z|0,56)|0;b=z;switch(h<<24>>24|0){case 7:{e=A3(d[a+38>>0]|0|0,0,48)|0|e;b=z|b;g=3;break}case 6:{g=3;break}case 5:{g=4;break}case 4:{g=5;break}case 3:{g=6;break}case 2:{g=7;break}case 1:{g=8;break}default:{}}if((g|0)==3){h=A3(d[a+37>>0]|0|0,0,40)|0;e=h|e;b=z|b;g=4}if((g|0)==4){b=d[a+36>>0]|0|b;g=5}if((g|0)==5){h=A3(d[a+35>>0]|0|0,0,24)|0;e=h|e;b=z|b;g=6}if((g|0)==6){h=A3(d[a+34>>0]|0|0,0,16)|0;e=h|e;b=z|b;g=7}if((g|0)==7){h=A3(d[a+33>>0]|0|0,0,8)|0;b=z|b;e=h|e;g=8}if((g|0)==8)e=e|(d[f>>0]|0);h=a+24|0;i=h;g=c[i+4>>2]^b;f=h;c[f>>2]=c[i>>2]^e;c[f+4>>2]=g;JW(a,2);f=a;b=c[f+4>>2]^b;g=a;c[g>>2]=c[f>>2]^e;c[g+4>>2]=b;g=a+16|0;b=g;e=c[b+4>>2]|0;f=g;c[f>>2]=c[b>>2]^255;c[f+4>>2]=e;JW(a,4);f=a;a=a+8|0;z=c[a+4>>2]^c[f+4>>2]^c[g+4>>2]^c[h+4>>2];return c[a>>2]^c[f>>2]^c[g>>2]^c[h>>2]|0}function JW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;f=a+24|0;g=a+16|0;d=0;while(1){if((d|0)>=(b|0))break;h=e;n=c[h>>2]|0;h=c[h+4>>2]|0;o=a;o=s3(c[o>>2]|0,c[o+4>>2]|0,n|0,h|0)|0;k=z;m=A3(n|0,h|0,13)|0;l=z;h=z3(n|0,h|0,51)|0;h=(m|h)^o;l=(l|z)^k;m=f;n=c[m>>2]|0;m=c[m+4>>2]|0;j=g;j=s3(c[j>>2]|0,c[j+4>>2]|0,n|0,m|0)|0;i=z;q=A3(n|0,m|0,16)|0;p=z;m=z3(n|0,m|0,48)|0;m=(q|m)^j;p=(p|z)^i;o=s3(k|0,o|0,m|0,p|0)|0;k=z;q=a;c[q>>2]=o;c[q+4>>2]=k;q=A3(m|0,p|0,21)|0;n=z;p=z3(m|0,p|0,43)|0;m=f;c[m>>2]=(q|p)^o;c[m+4>>2]=(n|z)^k;i=s3(j|0,i|0,h|0,l|0)|0;j=z;m=A3(h|0,l|0,17)|0;k=z;l=z3(h|0,l|0,47)|0;h=e;c[h>>2]=(m|l)^i;c[h+4>>2]=(k|z)^j;h=g;c[h>>2]=j;c[h+4>>2]=i;d=d+1|0}return}function KW(a){a=a|0;var b=0;while(1){b=c[a+472>>2]|0;if(!b)break;else a=b}return c[a+492>>2]|0}function LW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+352>>2]|0;o=d+16|0;p=d+40|0;q=b+144|0;r=b+284|0;s=e<<24>>24==0;t=h+12|0;v=h+16|0;w=h+8|0;x=d+44|0;y=d+64|0;z=b+436|0;A=b+452|0;B=b+448|0;C=(K+80|0)==(h|0);D=b+268|0;E=K+130|0;F=K+129|0;G=b+296|0;H=b+224|0;i=0;a:while(1){b:while(1){switch(ob[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=61;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=21;break b}case -3:{n=22;break b}case 7:case 39:{n=23;break b}case 10:{j=lb[c[p>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;j=1;i=14}else{j=1;i=14}else{if(s&(j|0)==32){k=c[t>>2]|0;if((c[v>>2]|0)==(k|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=gX(j,J)|0;k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[y>>2]|0;j=(nb[c[x>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=31;break b}j=c[y>>2]|0;j=WV(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=61;break a}m=YV(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[D>>2]|0))if(!m)break b;else break;if(!(a[E>>0]|0)){j=(m|0)!=0;if(!(a[F>>0]|0)){n=45;break}else{u=j;n=47;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=45;break}else{u=j;n=47;break}}}else if(!(a[F>>0]|0))if(!m){i=11;n=61;break a}else{n=46;break}else{j=(m|0)!=0;if(!(a[E>>0]|0)){u=j;n=47;break}else{n=45;break}}while(0);if((n|0)==45)if(j)n=46;else{i=11;n=61;break a}else if((n|0)==47?(n=0,!u):0)break b;if((n|0)==46?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=61;break a}k=m+32|0;if(a[k>>0]|0){n=49;break a}if(c[m+28>>2]|0){n=52;break a}j=c[m+4>>2]|0;if(!j){n=55;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=LW(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=58;break a}}if(j)break a}if((n|0)==21){n=0;if(!(cW(h,d,f,c[I>>2]|0)|0)){i=1;n=61;break}}else if((n|0)==22){c[I>>2]=f+(c[y>>2]|0);n=23}else if((n|0)==31){n=0;f=c[t>>2]|0;if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==23){n=0;f=c[t>>2]|0;if(s){if((c[v>>2]|0)==(f|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[r>>2]=c[I>>2];i=4;n=61}else{i=4;n=61}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=4;n=61}else{i=4;n=61}else if((n|0)==49)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=12;n=61}else{i=12;n=61}else if((n|0)==52)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=15;n=61}else{i=15;n=61}else if((n|0)==55)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=16;n=61}else{i=16;n=61}else if((n|0)==58)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=23;n=61}else{i=23;n=61}l=L;return i|0}function MW(a){a=a|0;var b=0;b=a+8|0;return ((a|0)<1?0:(b|0)>0?b:0)|0}function NW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=l;l=l+80|0;d=c+16|0;e=c;EW(a,e);FW(d,e);GW(d,b,HW(b)|0);b=IW(d)|0;l=c;return b|0}function OW(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function PW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(nb[f&63](c[b+244>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=hX()|0;e=kb[f&63](e)|0;c[b+236>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{tb[e&127](c[j>>2]|0);e=1}}else{e=ob[(a[b+232>>0]<<24>>24?65:64)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+240>>2]=c[j>>2];c[b+248>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)tb[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function QW(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function RW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+352>>2]|0;m=b+424|0;n=b+420|0;o=b+412|0;p=b+428|0;q=l+152|0;r=b+368|0;j=l+60|0;k=l+80|0;a:while(1){h=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}f=a[h>>0]|0;switch(f<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}e=c[m>>2]|0;if((e|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}e=c[m>>2]|0;f=a[h>>0]|0}c[m>>2]=e+1;a[e>>0]=f;h=h+1|0}if((s|0)==5){s=0;d=c[m>>2]|0;if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;d=YV(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[h>>0]|0)==0?h:h+1|0;c[m>>2]=c[p>>2];continue}d=c[m>>2]|0;if((c[p>>2]|0)==(d|0))f=q;else{if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;f=YV(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=BW(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[m>>2]=d}c:while(1){i=h+1|0;e=a[i>>0]|0;g=(d|0)==(c[n>>2]|0);switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[m>>2]|0;e=a[i>>0]|0}c[m>>2]=d+1;a[d>>0]=e;h=i;d=c[m>>2]|0}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;if(DW(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[m>>2]=c[p>>2];d=(a[i>>0]|0)==0?i:h+2|0}return d|0}function SW(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0?(d=a+4|0,e=(c[d>>2]|0)==(c[a>>2]|0),c[a>>2]=b,e):0)c[d>>2]=b;return}function TW(a,b,d){a=a|0;b=b|0;d=d|0;if(a|0){c[a+52>>2]=b;c[a+56>>2]=d}return}function UW(a,b){a=a|0;b=b|0;if(a|0)c[a+60>>2]=b;return}function VW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(b|0)==0;a:do if(!(g|(e|0)<0)?!((d|0)==0&(e|0)!=0):0){h=b+476|0;switch(c[h>>2]|0){case 3:{c[b+280>>2]=33;g=0;break a}case 2:{c[b+280>>2]=36;g=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;g=0;break a}break}default:{}}c[h>>2]=1;if(e|0){g=YW(b,e)|0;if(!g){g=0;break}F3(g|0,d|0,e|0)|0;g=ZW(b,e,f)|0;break}a[b+480>>0]=f;if(!f)g=1;else{g=b+24|0;j=c[g>>2]|0;d=b+292|0;c[d>>2]=j;f=c[b+28>>2]|0;c[b+40>>2]=f;e=b+276|0;f=ob[c[e>>2]&127](b,j,f,g)|0;c[b+280>>2]=f;if(f|0){c[b+288>>2]=c[b+284>>2];c[e>>2]=66;g=0;break}switch(c[h>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+48>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+404|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[h>>2]=2;g=1;break a}default:{g=1;break a}}}}else i=3;while(0);if((i|0)==3)if(g)g=0;else{c[b+280>>2]=41;g=0}return g|0}function WW(b){b=b|0;var d=0;d=b+492|0;if(!(c[d>>2]|0))c[d>>2]=_W()|0;if(!(a[b+232>>0]|0))b=1;else b=RW(b,139242)|0;return b|0}function XW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+280>>2]|0}function YW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!a)d=0;else{if((b|0)<0){c[a+280>>2]=1;d=0;break}switch(c[a+476>>2]|0){case 3:{c[a+280>>2]=33;d=0;break a}case 2:{c[a+280>>2]=36;d=0;break a}default:{m=a+32|0;j=c[m>>2]|0;n=a+28|0;e=c[n>>2]|0;d=e;if((j-e|0)>=(b|0))break a;p=a+24|0;k=c[p>>2]|0;i=e-k|0;e=i+b|0;if((e|0)<0){c[a+280>>2]=1;d=0;break a}l=a+8|0;f=c[l>>2]|0;q=f;g=k-q|0;h=(g|0)>1024;b=h?1024:g;e=b+e|0;do if((e|0)>(j-q|0)){d=j-k|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(e|0)&(d|0)>0);if((d|0)<1){c[a+280>>2]=1;d=0;break a}e=kb[c[a+12>>2]&63](d)|0;if(!e){c[a+280>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[p>>2]|0;if(!d){d=e+(c[n>>2]|0)|0;c[n>>2]=d;c[l>>2]=e;o=22;break}else{q=d;o=q-(c[l>>2]|0)|0;o=(o|0)<1024?o:1024;F3(e|0,d+(0-o)|0,(c[n>>2]|0)-q+o|0)|0;tb[c[a+20>>2]&127](c[l>>2]|0);c[l>>2]=e;d=e+((c[n>>2]|0)-(c[p>>2]|0))+o|0;c[n>>2]=d;e=e+o|0;o=22;break}}else if(h){e=g-b|0;G3(f|0,f+e|0,b+i|0)|0;e=0-e|0;d=(c[n>>2]|0)+e|0;c[n>>2]=d;e=(c[p>>2]|0)+e|0;o=22}while(0);if((o|0)==22)c[p>>2]=e;c[a+288>>2]=0;c[a+284>>2]=0;c[a+292>>2]=0;break a}}}while(0);return d|0}function ZW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!b)d=0;else{f=b+476|0;switch(c[f>>2]|0){case 3:{c[b+280>>2]=33;d=0;break a}case 2:{c[b+280>>2]=36;d=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;d=0;break a}break}default:{}}c[f>>2]=1;g=b+24|0;j=c[g>>2]|0;h=b+292|0;c[h>>2]=j;k=b+28|0;i=(c[k>>2]|0)+d|0;c[k>>2]=i;c[b+40>>2]=i;k=b+36|0;c[k>>2]=(c[k>>2]|0)+d;a[b+480>>0]=e;d=b+276|0;i=ob[c[d>>2]&127](b,j,i,g)|0;c[b+280>>2]=i;if(i|0){c[b+288>>2]=c[b+284>>2];c[d>>2]=66;d=0;break}switch(c[f>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[f>>2]=2;d=1;break a}break}default:d=1}k=c[b+144>>2]|0;xb[c[k+48>>2]&31](k,c[h>>2]|0,c[g>>2]|0,b+404|0);c[h>>2]=c[g>>2]}while(0);return d|0}function _W(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;if(!($W(a)|0)){d=bX()|0;d=(H1()|0)^d;c[a>>2]=d;a=aX(139296,O(d,2147483647)|0)|0}else a=aX(139283,c[a>>2]|0)|0;l=b;return a|0}function $W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=X_(139283,0,f)|0;if((e|0)<0)b=0;else{b=0;while(1){g=G1(e,a+b|0,4-b|0)|0;d=g+b|0;if((g|0)>0)if(d>>>0<4)b=d;else{b=1;break}if((c[(O_()|0)>>2]|0)!=4){b=0;break}}X0(e)|0}l=f;return b|0}function aX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=Ta(139361)|0;if(d|0?(b$(d,139381)|0)==0:0){d=c[15686]|0;c[e>>2]=a;c[e+4>>2]=8;c[e+8>>2]=b;c[e+12>>2]=4;g1(d,139383,e)|0}l=f;return b|0}function bX(){var a=0,b=0;b=l;l=l+16|0;a=b;if(!(Ua(a|0,0)|0)){l=b;return c[a+4>>2]|0}else qa(139308,139330,819,139341);return 0}function cX(a){a=a|0;if(!a)a=41;else a=c[a+280>>2]|0;return a|0}function dX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)a=0;else{b=a+284|0;d=c[b>>2]|0;if(d|0?(e=a+292|0,f=c[e>>2]|0,d>>>0>=f>>>0):0){g=c[a+144>>2]|0;xb[c[g+48>>2]&31](g,f,d,a+404|0);c[e>>2]=c[b>>2]}a=(c[a+404>>2]|0)+1|0}return a|0}function eX(a){a=a|0;do switch(a|0){case 41:{a=139420;break}case 1:{a=140692;break}case 2:{a=140679;break}case 3:{a=140662;break}case 4:{a=140630;break}case 5:{a=140615;break}case 6:{a=140597;break}case 7:{a=140582;break}case 8:{a=140562;break}case 9:{a=140534;break}case 10:{a=140499;break}case 11:{a=140482;break}case 12:{a=140455;break}case 13:{a=140435;break}case 14:{a=140397;break}case 15:{a=140370;break}case 16:{a=140328;break}case 17:{a=140281;break}case 18:{a=140264;break}case 19:{a=140213;break}case 20:{a=140190;break}case 21:{a=140144;break}case 22:{a=140117;break}case 23:{a=140066;break}case 24:{a=140030;break}case 25:{a=139978;break}case 26:{a=139933;break}case 27:{a=139918;break}case 28:{a=139892;break}case 29:{a=139854;break}case 30:{a=139822;break}case 31:{a=139789;break}case 32:{a=139755;break}case 33:{a=139738;break}case 34:{a=139717;break}case 35:{a=139701;break}case 36:{a=139684;break}case 37:{a=139640;break}case 38:{a=139560;break}case 39:{a=139501;break}case 40:{a=139437;break}default:a=0}while(0);return a|0}function fX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;f=0;a:while(1){if(e>>>0<=a>>>0)break;h=e+-1|0;g=d[h>>0]|0;do if((g&248|0)==240)if((f+1|0)>>>0>3){i=5;break a}else f=0;else{if((g&240|0)==224)if((f+1|0)>>>0>2){i=8;break a}else{f=0;break}if((g&224|0)==192)if((f+1|0)>>>0>1){i=11;break a}else{f=0;break}else if(!(g&128))break a;else break}while(0);e=h;f=f+1|0}if((i|0)==5)e=e+3|0;else if((i|0)==8)e=e+2|0;else if((i|0)==11)e=e+1|0;c[b>>2]=e;return}function gX(b,c){b=b|0;c=c|0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;b=1;break}if((b|0)<2048){a[c>>0]=b>>>6|192;a[c+1>>0]=b&63|128;b=2;break}if((b|0)<65536){a[c>>0]=b>>>12|224;a[c+1>>0]=b>>>6&63|128;a[c+2>>0]=b&63|128;b=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[c+1>>0]=b>>>12&63|128;a[c+2>>0]=b>>>6&63|128;a[c+3>>0]=b&63|128;b=4}else b=0}else b=0;while(0);return b|0}function hX(){return 1908}function iX(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;while(1){if((i|0)==364){i=0;break}a[e+i>>0]=a[56472+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56544+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){q=e+72|0;m=e+372|0;n=e+884|0;o=(g|0)==0;l=0;while(1){if((l|0)>=256)break;p=c[f+(l<<2)>>2]|0;do if((p|0)==-1){a[q+l>>0]=1;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0}else{if((p|0)<0){if(o|(p|0)<-4){e=0;break b}a[q+l>>0]=3-p;a[n+(l<<2)>>0]=0;b[m+(l<<1)>>1]=0;break}if((p|0)<128){i=a[56544+p>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((p|0)!=(l|0)){e=0;break b}}a[q+l>>0]=i;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=p;b[m+(l<<1)>>1]=(p|0)==0?-1:p&65535;break}if((jX(p)|0)<0){a[q+l>>0]=0;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0;break}if((p|0)>65535){e=0;break b}i=p>>>8;j=p>>>5&7;k=1<<(p&31);if(!(c[56836+((d[140706+i>>0]<<3|j)<<2)>>2]&k))a[q+l>>0]=c[56836+((d[140962+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else a[q+l>>0]=22;a[n+(l<<2)>>0]=gX(p,n+(l<<2)+1|0)|0;b[m+(l<<1)>>1]=p}while(0);l=l+1|0}c[e+368>>2]=h;c[e+364>>2]=g;if(!o){c[e+328>>2]=106;c[e+332>>2]=106;c[e+336>>2]=106;c[e+340>>2]=107;c[e+344>>2]=107;c[e+348>>2]=107;c[e+352>>2]=108;c[e+356>>2]=108;c[e+360>>2]=108}c[e+56>>2]=13;c[e+60>>2]=14}while(0);return e|0}function jX(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56544+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function kX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140962+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function lX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140706+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function mX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(jX(a)|0)>>>31;return a|0}function nX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+364|0;o=b+884|0;p=b+368|0;k=b+72|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0)){h=0;break}r=d[i>>0]|0;j=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=gX(lb[c[n>>2]&127](c[p>>2]|0,i)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0)){h=2;break}i=c[e>>2]|0;j=m;i=i+((d[k+(d[i>>0]|0)>>0]|0)+-3)|0}else{if((h-(c[g>>2]|0)|0)<(b|0)){h=2;break}i=i+1|0}c[e>>2]=i;F3(c[g>>2]|0,j|0,b|0)|0;c[g>>2]=(c[g>>2]|0)+b}l=q;return h|0}function oX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+372|0;n=a+364|0;o=a+368|0;l=a+72|0;while(1){k=c[e>>2]|0;a=k>>>0<f>>>0;i=c[g>>2]|0;if(!(a&i>>>0<h>>>0))break;a=b[m+((d[k>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(lb[c[n>>2]&127](c[o>>2]|0,k)|0)&65535;i=c[e>>2]|0;j=(d[l+(d[i>>0]|0)>>0]|0)+-3|0}else{j=1;i=k}c[e>>2]=i+j;k=c[g>>2]|0;c[g>>2]=k+2;b[k>>1]=a}return ((i|0)!=(h|0)|a^1?0:2)|0}function pX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(e>>>0<f>>>0){n=b+72|0;do switch(a[n+(d[e>>0]|0)>>0]|0){case 12:{h=QX(12,b,e+1|0,f,g)|0;break a}case 13:{h=QX(13,b,e+1|0,f,g)|0;break a}case 2:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 16:{h=RX(b,e+2|0,f,g)|0;break a}case 15:{h=MX(b,e+2|0,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=h;h=0;break a}}}case 9:{if((e+1|0)==(f|0)){c[g>>2]=f;h=-15;break a}else k=3;break}case 10:case 21:{k=3;break}case 30:{h=GX(b,e+1|0,f,g)|0;break a}case 35:{c[g>>2]=e+1;h=38;break a}case 20:{c[g>>2]=e+1;h=25;break a}case 4:{i=e+1|0;h=f-i|0;if((h|0)<=0){h=-26;break a}if((a[i>>0]|0)==93){if((h|0)<=1){h=-1;break a}if((a[e+2>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=e+1;h=23;break a}case 32:{h=e+1|0;if((f-h|0)<=0){h=-24;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 33:{c[g>>2]=e+2;h=36;break a}case 15:{c[g>>2]=e+2;h=35;break a}case 34:{c[g>>2]=e+2;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;h=24;break a}default:{c[g>>2]=h;h=0;break a}}}case 36:{c[g>>2]=e+1;h=21;break a}case 11:{c[g>>2]=e+1;h=17;break a}case 19:{h=SX(b,e+1|0,f,g)|0;break a}case 5:{if((f-e|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0))if(!(lb[c[b+328>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=2}else{h=18;i=2}break}case 6:{if((f-e|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0))if(!(lb[c[b+332>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=3}else{h=18;i=3}break}case 7:{if((f-e|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0))if(!(lb[c[b+336>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=4}else{h=18;i=4}break}case 24:case 22:{h=18;i=1;break}case 23:case 27:case 26:case 25:{h=19;i=1;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((k|0)==3){j=f;i=e;b:while(1){h=i;i=i+1|0;if((j-i|0)<=0){k=18;break}switch(a[n+(d[i>>0]|0)>>0]|0){case 10:case 21:continue b;case 9:break;default:{k=17;break b}}if((h+2|0)==(f|0)){k=17;break}}if((k|0)==17){c[g>>2]=i;h=15;break}else if((k|0)==18){c[g>>2]=i;h=15;break}}k=b+328|0;l=b+332|0;m=b+336|0;j=e+i|0;c:while(1){i=f-j|0;if((i|0)<=0){k=99;break}switch(a[n+(d[j>>0]|0)>>0]|0){case 29:{k=56;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{k=70;break c}case 34:{k=89;break c}case 33:{k=92;break c}case 15:{k=95;break c}case 27:case 26:case 25:case 24:case 22:{e=h;j=j+1|0;h=e;continue c}case 5:{if((i|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,j)|0)){k=60;break c}e=h;j=j+2|0;h=e;continue c}case 6:{if((i|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,j)|0)){k=64;break c}e=h;j=j+3|0;h=e;continue c}case 7:{if((i|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,j)|0)){k=68;break c}e=h;j=j+4|0;h=e;continue c}case 23:{i=j+1|0;switch(h&63){case 18:break;case 41:{h=19;j=i;continue c}default:{e=h;j=i;h=e;continue c}}h=f-i|0;if((h|0)<=0){h=-1;break a}switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{k=74;break c}case 27:case 26:case 25:case 24:case 22:{h=41;j=j+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,i)|0)){k=78;break c}h=41;j=j+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,i)|0)){k=82;break c}h=41;j=j+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){k=86;break c}h=41;j=j+5|0;continue c}default:{h=19;j=i;continue c}}}default:{k=98;break c}}}switch(k|0){case 56:{c[g>>2]=j;h=0;break a}case 60:{c[g>>2]=j;h=0;break a}case 64:{c[g>>2]=j;h=0;break a}case 68:{c[g>>2]=j;h=0;break a}case 70:{c[g>>2]=j;break a}case 74:{c[g>>2]=i;h=0;break a}case 78:{c[g>>2]=i;h=0;break a}case 82:{c[g>>2]=i;h=0;break a}case 86:{c[g>>2]=i;h=0;break a}case 89:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=32;break a}case 92:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=31;break a}case 95:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=30;break a}case 98:{c[g>>2]=j;h=0;break a}case 99:{h=0-h|0;break a}}}else h=-4;while(0);return h|0}function qX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){m=b+72|0;b:do switch(a[m+(d[e>>0]|0)>>0]|0){case 2:{h=JX(b,e+1|0,f,g)|0;break a}case 3:{h=FX(b,e+1|0,f,g)|0;break a}case 9:{h=e+1|0;if((f-h|0)<=0){h=-3;break a}c[g>>2]=(a[m+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 4:{i=e+1|0;if((f-i|0)<=0){h=-5;break a}if((a[i>>0]|0)==93){h=e+2|0;if((f-h|0)<=0){h=-5;break a}if((a[h>>0]|0)==62){c[g>>2]=h;h=0;break a}else h=f}else h=f;break}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);j=b+352|0;k=b+356|0;l=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=49;break}switch(a[m+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=47;break c}case 5:{if((f|0)<2){f=32;break c}if(lb[c[j>>2]&127](b,i)|0){f=32;break c}i=i+2|0;continue c}case 6:{if((f|0)<3){f=36;break c}if(lb[c[k>>2]&127](b,i)|0){f=36;break c}i=i+3|0;continue c}case 7:{if((f|0)<4){f=40;break c}if(lb[c[l>>2]&127](b,i)|0){f=40;break c}i=i+4|0;continue c}case 4:{if((f|0)<=1){f=47;break c}e=i+1|0;if((a[e>>0]|0)!=93){i=e;continue c}if((f|0)<=2){f=47;break c}i=i+2|0;if((a[i>>0]|0)==62){f=46;break c}else{i=e;continue c}}default:{i=i+1|0;continue c}}}if((f|0)==32){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==40){c[g>>2]=i;h=6;break}else if((f|0)==46){c[g>>2]=i;h=0;break}else if((f|0)==47){c[g>>2]=i;h=6;break}else if((f|0)==49){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function rX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if(e>>>0<f>>>0){l=b+72|0;b:do switch(a[l+(d[e>>0]|0)>>0]|0){case 4:{i=e+1|0;h=f;if((h-i|0)<=0){h=-1;break a}if((a[i>>0]|0)==93){f=e+2|0;if((h-f|0)<=0){h=-1;break a}if((a[f>>0]|0)==62){c[g>>2]=e+3;h=40;break a}}break}case 9:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);e=b+352|0;j=b+356|0;k=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=39;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{f=37;break c}case 5:{if((f|0)<2){f=30;break c}if(!(lb[c[e>>2]&127](b,i)|0))f=2;else{f=30;break c}break}case 6:{if((f|0)<3){f=33;break c}if(!(lb[c[j>>2]&127](b,i)|0))f=3;else{f=33;break c}break}case 7:{if((f|0)<4){f=36;break c}if(!(lb[c[k>>2]&127](b,i)|0))f=4;else{f=36;break c}break}default:f=1}i=i+f|0}if((f|0)==30){c[g>>2]=i;h=6;break}else if((f|0)==33){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==37){c[g>>2]=i;h=6;break}else if((f|0)==39){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function sX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+72|0;k=b+352|0;l=b+356|0;m=b+360|0;i=0;a:while(1){h=f-e|0;if((h|0)<=0){f=-1;break}switch(a[j+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{n=16;break a}case 5:{if((h|0)<2){f=-2;break a}if(lb[c[k>>2]&127](b,e)|0){n=6;break a}h=i;e=e+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}if(lb[c[l>>2]&127](b,e)|0){n=10;break a}h=i;e=e+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}if(lb[c[m>>2]&127](b,e)|0){n=14;break a}h=i;e=e+4|0;i=h;continue a}case 2:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=33){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}o=(a[h>>0]|0)==91;i=i+(o&1)|0;e=o?e+3|0:h;continue a}case 4:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=93){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=62){o=i;e=h;i=o;continue a}e=e+3|0;if(!i){n=26;break a}i=i+-1|0;continue a}default:{o=i;e=e+1|0;i=o;continue a}}}if((n|0)==6){c[g>>2]=e;f=0}else if((n|0)==10){c[g>>2]=e;f=0}else if((n|0)==14){c[g>>2]=e;f=0}else if((n|0)==16){c[g>>2]=e;f=0}else if((n|0)==26){c[g>>2]=e;f=42}return f|0}function tX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=24;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 2:{j=11;break a}case 10:{j=12;break a}case 9:{j=15;break a}case 21:{j=19;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11){c[g>>2]=i;h=0;break}else if((j|0)==12)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==15){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==19)if((i|0)==(e|0)){c[g>>2]=e+1;h=39;break}else{c[g>>2]=i;h=6;break}else if((j|0)==24){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function uX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=23;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 30:{j=11;break a}case 10:{j=14;break a}case 9:{j=17;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11)if((i|0)==(e|0)){h=GX(b,e+1|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=i;h=6;break}else if((j|0)==14)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==17){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==23){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function vX(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=6;break}if((f-b|0)<1){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=(b|0)==(d|0)&1;return b|0}function wX(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function xX(b,c){b=b|0;c=c|0;b=b+72|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function yX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+72|0;j=0;k=0;b=1;a:while(1){h=e+1|0;i=a[h>>0]|0;do switch(a[l+(i&255)>>0]|0){case 5:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+2|0;k=h;j=i;continue a}case 6:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+3|0;k=h;j=i;continue a}case 7:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+4|0;k=h;j=i;continue a}case 24:case 22:case 29:{if(b|0){o=b;n=k;i=j;e=h;b=o;k=n;j=i;continue a}if((k|0)>=(f|0)){n=k;o=j;b=1;e=h;k=n;j=o;continue a}c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;n=k;o=j;b=1;e=h;k=n;j=o;continue a}case 12:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=12;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=12;b=2;e=h;k=o;continue a}if((j|0)!=12){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=12;k=k+1|0;b=0;e=h;continue a}case 13:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=13;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=13;b=2;e=h;k=o;continue a}if((j|0)!=13){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=13;k=k+1|0;b=0;e=h;continue a}case 3:{if((k|0)>=(f|0)){i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}case 21:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}b=g+(k<<4)+12|0;if(!(a[b>>0]|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if(((i<<24>>24==32?(h|0)!=(c[g+(k<<4)+4>>2]|0):0)?(m=a[e+2>>0]|0,m<<24>>24!=32):0)?(j|0)!=(d[l+(m&255)>>0]|0):0){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[b>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 10:case 9:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 17:case 11:if((b|0)==2){n=k;o=j;b=2;e=h;k=n;j=o;continue a}else break a;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}while(0)}return k|0}function zX(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(d<<24>>24)+-48+(b*10|0)|0;if((b|0)>=1114112){b=-1;break a}d=c+1|0;c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=jX(b)|0;return b|0}function AX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch(d-c|0){case 2:{if((a[c+1>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else e=14;break}case 3:{if(((a[c>>0]|0)==97?(a[c+1>>0]|0)==109:0)?(a[c+2>>0]|0)==112:0)b=38;else e=14;break}case 4:switch(a[c>>0]|0){case 113:{if((a[c+1>>0]|0)!=117){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==116){b=34;break a}else{e=14;break a}}case 97:{if((a[c+1>>0]|0)!=112){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==115){b=39;break a}else{e=14;break a}}default:{e=14;break a}}default:e=14}while(0);if((e|0)==14)b=0;return b|0}function BX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+72|0;i=g+4|0;while(1){if((f-e|0)<=0)break;switch(a[h+(d[e>>0]|0)>>0]|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+1|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;b=e+1|0;if((f-b|0)>0)e=(a[h+(d[b>>0]|0)>>0]|0)==10?e+2|0:b;else e=b;c[i>>2]=-1;break}default:e=e+1|0}c[i>>2]=(c[i>>2]|0)+1}return}function CX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e+-1|0;b=b+72|0;a:while(1){d=d+1|0;if((g-d|0)<=0){d=1;break}e=a[d>>0]|0;switch(a[b+(e&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(e<<24>>24==9){h=7;break a}else continue a;case 22:case 26:{if(e<<24>>24>=0)continue a;break}default:{}}switch(e<<24>>24|0){case 64:case 36:break;default:{h=7;break a}}}if((h|0)==7){c[f>>2]=d;d=0}return d|0}function DX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0)){b=0;break}k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0)){b=2;break}c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2){b=2;break}c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return b|0}function EX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;while(1){a=c[e>>2]|0;i=a>>>0<f>>>0;j=c[g>>2]|0;if(!(i&j>>>0<h>>>0))break;c[e>>2]=a+1;i=d[a>>0]|0;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=i}return ((j|0)!=(h|0)|i^1?0:2)|0}function FX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;h=k-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}case 19:{f=HX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;f=0;break a}}h=b+328|0;i=b+332|0;j=b+336|0;e=e+f|0;b:while(1){f=k-e|0;if((f|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[h>>2]&127](b,e)|0)){h=21;break b}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=24;break b}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=27;break b}else f=4;break}default:{h=30;break b}}e=e+f|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=9;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function GX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=21;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=24;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=27;break b}else h=4;break}default:{h=30;break b}}e=e+h|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=28;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function HX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;a:do if((i-e|0)>0){h=a[e>>0]|0;if(h<<24>>24==120){b=IX(b,e+1|0,f,g)|0;break}f=b+72|0;if((a[f+(h&255)>>0]|0)!=25){c[g>>2]=e;b=0;break}b:while(1){b=e+1|0;if((i-b|0)<=0){b=-1;break a}switch(a[f+(d[b>>0]|0)>>0]|0){case 25:{e=b;break}case 18:{f=8;break b}default:{f=9;break b}}}if((f|0)==8){c[g>>2]=e+2;b=10;break}else if((f|0)==9){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function IX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if((f-e|0)>0){b=b+72|0;if((a[b+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;f=0;break}b:while(1){h=e+1|0;if((f-h|0)<=0){f=-1;break a}switch(a[b+(d[h>>0]|0)>>0]|0){case 24:case 25:{e=h;break}case 18:{b=6;break b}default:{b=7;break b}}}if((b|0)==6){c[g>>2]=e+2;f=10;break}else if((b|0)==7){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function JX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f;h=q-e|0;a:do if((h|0)>0){p=b+72|0;switch(a[p+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 16:{h=e+1|0;if((q-h|0)<=0){h=-1;break a}switch(a[p+(d[h>>0]|0)>>0]|0){case 27:{h=KX(b,e+2|0,f,g)|0;break a}case 20:{h=LX(e+2|0,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=MX(b,e+1|0,f,g)|0;break a}case 17:{h=NX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}j=b+328|0;k=b+332|0;l=b+336|0;m=b+340|0;n=b+344|0;o=b+348|0;i=0;h=e+h|0;b:while(1){e=q-h|0;if((e|0)<=0){h=-1;break a}c:do switch(a[p+(d[h>>0]|0)>>0]|0){case 29:{r=24;break b}case 10:case 9:case 21:{r=50;break b}case 11:{r=64;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){r=27;break b}else e=2;break}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){r=30;break b}else e=3;break}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[l>>2]&127](b,h)|0)){r=33;break b}else e=4;break}case 23:{if(i|0){r=35;break b}i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 29:{r=38;break b}case 24:case 22:{i=1;e=2;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){r=42;break b}else{i=1;e=3;break c}}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){r=45;break b}else{i=1;e=4;break c}}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){r=48;break b}else{i=1;e=5;break c}}default:{r=49;break b}}}default:{r=69;break b}}while(0);h=h+e|0}d:switch(r|0){case 24:{c[g>>2]=h;h=0;break a}case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 33:{c[g>>2]=h;h=0;break a}case 35:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=i;h=0;break a}case 42:{c[g>>2]=i;h=0;break a}case 45:{c[g>>2]=i;h=0;break a}case 48:{c[g>>2]=i;h=0;break a}case 49:{c[g>>2]=i;h=0;break a}case 50:{e:while(1){r=0;i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 11:{h=i;r=64;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;r=50;break}case 29:{r=52;break e}case 24:case 22:{i=2;break e}case 5:{r=53;break e}case 6:{r=56;break e}case 7:{r=59;break e}default:{r=62;break e}}}if((r|0)==52){c[g>>2]=i;h=0;break a}else if((r|0)==53){if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=3}else if((r|0)==56){if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=4}else if((r|0)==59){if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=5}else if((r|0)==62){c[g>>2]=i;h=0;break a}h=OX(b,h+i|0,f,g)|0;break a}case 69:{c[g>>2]=h;h=0;break a}}if((r|0)==64){c[g>>2]=h+1;h=2;break}i=h+1|0;if((q-i|0)>0)if((a[i>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=i;h=0;break}else h=-1}else h=-1;while(0);return h|0}function KX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((f-e|0)>0){if((a[e>>0]|0)!=45){c[g>>2]=e;f=0;break}h=b+72|0;i=b+352|0;j=b+356|0;k=b+360|0;l=e+1|0;b:while(1){e=f-l|0;if((e|0)<=0){f=-1;break a}switch(a[h+(d[l>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break b}case 5:{if((e|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,l)|0){e=9;break b}l=l+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,l)|0){e=13;break b}l=l+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,l)|0){e=17;break b}l=l+4|0;continue b}case 27:{e=l+1|0;if((f-e|0)<=0){f=-1;break a}if((a[e>>0]|0)==45){e=22;break b}else{l=e;continue b}}default:{l=l+1|0;continue b}}}if((e|0)==9){c[g>>2]=l;f=0;break}else if((e|0)==13){c[g>>2]=l;f=0;break}else if((e|0)==17){c[g>>2]=l;f=0;break}else if((e|0)==19){c[g>>2]=l;f=0;break}else if((e|0)==22){e=l+2|0;if((f-e|0)<=0){f=-1;break}if((a[e>>0]|0)==62){c[g>>2]=l+3;f=13;break}else{c[g>>2]=e;f=0;break}}}else f=-1;while(0);return f|0}function LX(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>5){d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}else d=-1;return d|0}function MX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;f=o-e|0;a:do if((f|0)>0){n=b+72|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;f=e+f|0;b:while(1){h=o-f|0;if((h|0)<=0){f=-1;break a}switch(a[n+(d[f>>0]|0)>>0]|0){case 29:{m=17;break b}case 10:case 9:case 21:{m=28;break b}case 15:{m=50;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,f)|0)){m=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,f)|0)){m=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,f)|0)){m=26;break b}else h=4;break}default:break b}f=f+h|0}if((m|0)==17){c[g>>2]=f;f=0;break}else if((m|0)==20){c[g>>2]=f;f=0;break}else if((m|0)==23){c[g>>2]=f;f=0;break}else if((m|0)==26){c[g>>2]=f;f=0;break}else if((m|0)==28){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}i=b+352|0;j=b+356|0;k=b+360|0;h=f+1|0;c:while(1){f=o-h|0;if((f|0)<=0){f=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 8:case 1:case 0:{m=45;break c}case 5:{if((f|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,h)|0){m=35;break c}h=h+2|0;continue c}case 6:{if((f|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,h)|0){m=39;break c}h=h+3|0;continue c}case 7:{if((f|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,h)|0){m=43;break c}h=h+4|0;continue c}case 15:{f=h+1|0;if((o-f|0)<=0){f=-1;break a}if((a[f>>0]|0)==62){m=48;break c}else{h=f;continue c}}default:{h=h+1|0;continue c}}}if((m|0)==35){c[g>>2]=h;f=0;break}else if((m|0)==39){c[g>>2]=h;f=0;break}else if((m|0)==43){c[g>>2]=h;f=0;break}else if((m|0)==45){c[g>>2]=h;f=0;break}else if((m|0)==48){c[g>>2]=h+2;f=c[p>>2]|0;break}}else if((m|0)==50){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}h=f+1|0;if((o-h|0)<=0){f=-1;break}if((a[h>>0]|0)==62){c[g>>2]=f+2;f=c[p>>2]|0;break}else f=h}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function NX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;h=e+h|0;b:while(1){e=f-h|0;if((e|0)<=0){f=-1;break a}switch(a[l+(d[h>>0]|0)>>0]|0){case 29:{i=17;break b}case 10:case 9:case 21:{i=27;break b}case 11:{i=32;break b}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,h)|0)){i=20;break b}else e=2;break}case 6:{if((e|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){i=23;break b}else e=3;break}case 7:{if((e|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){i=26;break b}else e=4;break}default:{i=33;break b}}h=h+e|0}if((i|0)==17){c[g>>2]=h;f=0;break}else if((i|0)==20){c[g>>2]=h;f=0;break}else if((i|0)==23){c[g>>2]=h;f=0;break}else if((i|0)==26){c[g>>2]=h;f=0;break}else if((i|0)==27){c:while(1){e=h+1|0;if((f-e|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=27;break}case 11:{i=29;break c}default:{i=30;break c}}}if((i|0)==29){c[g>>2]=h+2;f=5;break}else if((i|0)==30){c[g>>2]=e;f=0;break}}else if((i|0)==32){c[g>>2]=h+1;f=5;break}else if((i|0)==33){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function OX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;v=y;c[v>>2]=e;w=f;r=b+72|0;s=b+328|0;t=b+332|0;u=b+336|0;k=b+340|0;m=b+344|0;n=b+348|0;o=b+352|0;p=b+356|0;q=b+360|0;i=0;a:while(1){h=w-e|0;if((h|0)<=0){e=-1;break}b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{x=4;break a}case 27:case 26:case 25:case 24:case 22:{h=e+1|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(lb[c[s>>2]&127](b,e)|0)){x=8;break a}h=e+2|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(lb[c[t>>2]&127](b,e)|0)){x=12;break a}h=e+3|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(lb[c[u>>2]&127](b,e)|0)){x=16;break a}h=e+4|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 23:{if(i|0){x=19;break a}h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=22;break a}case 24:case 22:{j=e+2|0;c[v>>2]=j;i=1;e=j;continue a}case 5:{if((i|0)<2){e=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){x=26;break a}j=e+3|0;c[v>>2]=j;i=1;e=j;continue a}case 6:{if((i|0)<3){e=-2;break a}if(!(lb[c[m>>2]&127](b,h)|0)){x=30;break a}j=e+4|0;c[v>>2]=j;i=1;e=j;continue a}case 7:{if((i|0)<4){e=-2;break a}if(!(lb[c[n>>2]&127](b,h)|0)){x=34;break a}j=e+5|0;c[v>>2]=j;i=1;e=j;continue a}default:{x=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[v>>2]=e;if((w-e|0)<=0){e=-1;break a}switch(a[r+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{x=39;break a}}}case 14:break;default:{x=92;break a}}while(0);while(1){h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break a}j=a[r+(d[h>>0]|0)>>0]|0;if((j|1)<<24>>24==13)break;switch(j<<24>>24){case 9:case 10:case 21:{e=h;break}default:{x=43;break a}}}e=e+2|0;c[v>>2]=e;c:while(1){h=w-e|0;if((h|0)<=0){e=-1;break a}i=a[r+(d[e>>0]|0)>>0]|0;if(i<<24>>24==j<<24>>24)break;switch(i<<24>>24){case 8:case 1:case 0:{x=60;break a}case 2:{x=65;break a}case 5:{if((h|0)<2){e=-2;break a}if(lb[c[o>>2]&127](b,e)|0){x=50;break a}i=e+2|0;c[v>>2]=i;e=i;continue c}case 6:{if((h|0)<3){e=-2;break a}if(lb[c[p>>2]&127](b,e)|0){x=54;break a}i=e+3|0;c[v>>2]=i;e=i;continue c}case 7:{if((h|0)<4){e=-2;break a}if(lb[c[q>>2]&127](b,e)|0){x=58;break a}i=e+4|0;c[v>>2]=i;e=i;continue c}case 3:{e=FX(b,e+1|0,f,v)|0;if((e|0)<1){x=63;break a}e=c[v>>2]|0;continue c}default:{i=e+1|0;c[v>>2]=i;e=i;continue c}}}h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break}switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}default:{x=69;break a}}d:while(1){h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=72;break a}case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{x=73;break d}case 5:{x=74;break d}case 6:{x=78;break d}case 7:{x=82;break d}default:{x=91;break a}}}if((x|0)==73){x=0;e=e+2|0;c[v>>2]=e;i=0;continue}else if((x|0)==74){x=0;if((i|0)<2){e=-2;break}if(!(lb[c[k>>2]&127](b,h)|0)){x=76;break}e=e+3|0;c[v>>2]=e;i=0;continue}else if((x|0)==78){x=0;if((i|0)<3){e=-2;break}if(!(lb[c[m>>2]&127](b,h)|0)){x=80;break}e=e+4|0;c[v>>2]=e;i=0;continue}else if((x|0)==82){x=0;if((i|0)<4){e=-2;break}if(!(lb[c[n>>2]&127](b,h)|0)){x=84;break}e=e+5|0;c[v>>2]=e;i=0;continue}}switch(x|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=h;e=0;break}case 26:{c[g>>2]=h;e=0;break}case 30:{c[g>>2]=h;e=0;break}case 34:{c[g>>2]=h;e=0;break}case 36:{c[g>>2]=h;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[v>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[v>>2]=e;if((w-e|0)>0)if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=y;return e|0}function PX(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function QX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=e+72|0;l=e+352|0;m=e+356|0;n=e+360|0;a:while(1){i=g-f|0;if((i|0)<=0){g=-1;break}j=a[k+(d[f>>0]|0)>>0]|0;switch(j<<24>>24){case 8:case 1:case 0:{o=16;break a}case 5:{if((i|0)<2){g=-2;break a}if(lb[c[l>>2]&127](e,f)|0){o=6;break a}f=f+2|0;continue a}case 6:{if((i|0)<3){g=-2;break a}if(lb[c[m>>2]&127](e,f)|0){o=10;break a}f=f+3|0;continue a}case 7:{if((i|0)<4){g=-2;break a}if(lb[c[n>>2]&127](e,f)|0){o=14;break a}f=f+4|0;continue a}case 13:case 12:{f=f+1|0;if((j&255|0)==(b|0)){o=18;break a}else continue a}default:{f=f+1|0;continue a}}}b:do if((o|0)==6){c[h>>2]=f;g=0}else if((o|0)==10){c[h>>2]=f;g=0}else if((o|0)==14){c[h>>2]=f;g=0}else if((o|0)==16){c[h>>2]=f;g=0}else if((o|0)==18)if((g-f|0)>0){c[h>>2]=f;switch(a[k+(d[f>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{g=27;break b}default:{}}g=0}else g=-27;while(0);return g|0}function RX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=f;a:do if((h-e|0)>0){i=b+72|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{b=KX(b,e+1|0,f,g)|0;break a}case 20:{c[g>>2]=e+1;b=33;break a}case 24:case 22:{b:while(1){b=e+1|0;f=h-b|0;if((f|0)<=0){b=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 22:{e=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=b;b=0;break a}c:do if((j|0)==8){if((f|0)<=1){b=-1;break a}switch(a[i+(d[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;b=0;break a}while(0);c[g>>2]=b;b=16;break a}default:{c[g>>2]=e;b=0;break a}}}else b=-1;while(0);return b|0} +function Rv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=a;while(1){j=c[f>>2]|0;if(!j){k=6;break}if((c[j>>2]|0)==(b|0))break;f=j+4|0}if((k|0)==6)qa(93188,93195,217,93206);i=j+8|0;f=c[i>>2]|0;g=j+4|0;b=c[g>>2]|0;c[(f|0?f+4|0:a)>>2]=b;h=a+4|0;c[(b|0?b+8|0:h)>>2]=f;b=0;f=a;while(1){f=c[f>>2]|0;if(!f)break;if((c[f>>2]|0)==(d|0)){k=9;break}b=f;f=f+4|0}if((k|0)==9){do if(!e)if((f|0)==(c[a>>2]|0)){c[a>>2]=j;c[g>>2]=f;c[i>>2]=0;f=f+8|0;break}else{c[b+4>>2]=j;c[i>>2]=b;c[g>>2]=f;f=f+8|0;break}else if((f|0)==(c[h>>2]|0)){c[h>>2]=j;c[g>>2]=0;c[i>>2]=f;f=f+4|0;break}else{c[i>>2]=f;f=f+4|0;c[g>>2]=c[f>>2];c[(c[f>>2]|0)+8>>2]=j;break}while(0);c[f>>2]=j}return}function Sv(a){a=a|0;return c[a+8>>2]|0}function Tv(a,b){a=a|0;b=b|0;Uv(a,Ov(b)|0);D_(b);return}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function Vv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;m=c[b+8>>2]|0;Wv(a,b);l=Xv(m)|0;a=Zv(Yv(l)|0)|0;_v(m,a);m=$v(a,m)|0;a=Sv(m)|0;j=+aw(m);k=(a|0)==1;f=+(a|0);i=f*.15915494309189535*(j+d);g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)Pv(m,a);d=1.0/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=(c[a>>2]|0)+16|0;c[(c[(c[n>>2]|0)+112>>2]|0)+16>>2]=e;h[(c[(c[n>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*d*+(e|0);o=+E(+f)*g;n=c[(c[n>>2]|0)+132>>2]|0;h[n>>3]=o;h[n+8>>3]=+F(+f)*g;e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;$x(l)|0;return m|0}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=Sy(f)|0;while(1){if(!d)break;e=Ex(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))Vx(f,e,1)|0;e=Gx(a,e)|0}d=Ty(f,d)|0}return}function Xv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=gw(a,g)|0;g=c[g>>2]|0;i=ay(g)|0;h=hw(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=qw(h)|0;d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;pw(h,a);d=Kx(g,d,j)|0}iw(g,j,f);d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;ow(h,a);d=Kx(g,d,j)|0}dz(g,j)|0;e=e+1|0}$x(g)|0;nw(h);l=k;return f|0}function Yv(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46162]|0;c[46162]=d+1;c[b>>2]=d;Y0(e,93221,b)|0;e=vA(a,e,1)|0;Az(e,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;Xy(e,b,1)|0;d=b+16|0;c[(c[(c[d>>2]|0)+112>>2]|0)+16+12>>2]=0;c[(c[(c[d>>2]|0)+112>>2]|0)+32>>2]=0;d=(c[(c[d>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-2;b=Ty(a,b)|0}b=Sy(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;fw(a,b,e)}b=Ty(a,b)|0}l=f;return e|0}function Zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((ay(a)|0)!=1){d=Sy(a)|0;while(1){if(!d)break;b=0;e=Jx(a,d)|0;while(1){if(!e)break;b=b+1|0;e=Kx(a,e,d)|0}if((b|0)==1)ew(d,d,0,0);d=Ty(a,d)|0}b=0;f=0;d=Sy(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=Ty(a,d)|0}b=Kv()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Mv(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=Kv()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Tv(b,a)}}else{b=Kv()|0;g=Sy(a)|0;Mv(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function _v(a,b){a=a|0;b=b|0;var d=0;d=Sy(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))dw(a,d,b);d=Ty(a,d)|0}return}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=bw(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=cw(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function aw(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=rw()|0;e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=Gx(b,d)|0}e=Ty(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=Jx(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=nb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=d+((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)|0;a=nb[c[k>>2]&63](k,a,8)|0}xw(k,g)}g=Kx(b,g,i)|0}e=Jx(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;ww(k,e)}e=Kx(b,e,i)|0}a=h+4|0;j=j+1|0}vw(k);return d|0}function cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=Sy(b)|0;a:while(1){if(!k)break;j=Jx(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=Qv(a)|0;Rv(a,k,f,i);g=bw(a,b)|0;if((g|0)<(e|0)){Lv(h);if(!g){e=0;break a}else e=g}else{Lv(a);a=h}i=i+1|0}j=Kx(b,j,k)|0}k=Ty(b,k)|0}c[d>>2]=e;return a|0}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Kv()|0;e=Ex(a,b)|0;while(1){if(!e)break;f=e+-48|0;Mv(h,0,c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break;f=e+48|0;Mv(h,0,c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Ix(a,e)|0}a:do if((Sv(h)|0)>1){f=d+4|0;a=d;while(1){e=c[a>>2]|0;if(!e){g=13;break a}a=e+4|0;if(!(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(c[(c[(c[(c[c[((e|0)==(c[f>>2]|0)?d:a)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}Mv(d,e,b)}else g=13;while(0);b:do if((g|0)==13){c:do if((Sv(h)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}Mv(d,e,b);break b}while(0);Mv(d,0,b)}while(0);e=h;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}Lv(h);return}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;while(1){g=c[(c[(c[b+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!g)break;h=d+1|0;i=g+16|0;j=c[(c[i>>2]|0)+112>>2]|0;b=j+16|0;f=c[b+12>>2]|0;if(f){if((f|0)>(d|0)){k=11;break}b=c[b+4>>2]|0;f=b;if((b|0)==(e|0))b=j;else{d=j+24|0;if(!((c[j+32>>2]|0)!=0?(c[d>>2]|0)==(e|0):0))e=b;c[d>>2]=f;b=c[(c[i>>2]|0)+112>>2]|0;c[b+32>>2]=c[b+16+12>>2];b=c[(c[i>>2]|0)+112>>2]|0}b=b+16|0}c[b+4>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+16+12>>2]=h;b=g;d=h}if((k|0)==11?(c[j+32>>2]|0)<=(d|0):0){c[j+24>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+32>>2]=h}return}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=Jx(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){Vx(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;fw(a,e,d)}g=Kx(a,g,b)|0}return}function gw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;j=k+8|0;i=k;e=k+16|0;h=c[46163]|0;c[46163]=h+1;c[i>>2]=h;Y0(e,93230,i)|0;i=vA(b,e,1)|0;Az(i,134401,280,1)|0;h=c[46163]|0;c[46163]=h+1;c[j>>2]=h;Y0(e,93230,j)|0;h=b+24|0;a[j>>0]=a[h>>0]|0;a[j+1>>0]=a[h+1>>0]|0;a[j+2>>0]=a[h+2>>0]|0;a[j+3>>0]=a[h+3>>0]|0;j=Xx(e,j,0)|0;e=Sy(b)|0;while(1){if(!e)break;Xy(i,e,1)|0;h=az(j,ry(e)|0,1)|0;Az(h,134365,304,1)|0;c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]=h;e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;g=c[(c[(c[f+16>>2]|0)+112>>2]|0)+16>>2]|0;h=g+16|0;e=Ex(b,f)|0;while(1){if(!e)break;Vx(i,e,1)|0;m=c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;n=Rx(j,g,m,0,1)|0;Az(n,134378,176,1)|0;c[(c[n+16>>2]|0)+116>>2]=e;n=(c[h>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=Gx(b,e)|0}f=Ty(b,f)|0}c[d>>2]=j;l=k;return i|0}function hw(a){a=a|0;var b=0,c=0;c=jw()|0;b=Sy(a)|0;while(1){if(!b)break;ow(c,b);b=Ty(a,b)|0}return c|0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=vH(p)|0;p=vH(p)|0;i=0;l=Jx(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=Jx(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=Rx(a,g,e,0,0)|0;if(i)if(g>>>0<e>>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{dz(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=Kx(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=Kx(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;Az(Rx(a,f,m,0,1)|0,134378,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;Az(Rx(a,d,m,0,1)|0,134378,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;Az(Rx(a,m,n,0,1)|0,134378,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);D_(p);D_(o);return}function jw(){return Cw(18136,c[4555]|0)|0}function kw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function lw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function nw(a){a=a|0;yw(a)|0;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(nb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=b+16|0;c[g+8>>2]=c[(c[f>>2]|0)+236>>2];g=nb[c[a>>2]&63](a,g,4)|0;if(!g)qa(93240,93243,107,93253);e=g+12|0;d=c[e>>2]|0;if((d|0)==(b|0)){b=c[(c[f>>2]|0)+164>>2]|0;c[e>>2]=b;if(!b)nb[c[a>>2]&63](a,g,2)|0}else{do{a=(c[d+16>>2]|0)+164|0;d=c[a>>2]|0;e=(d|0)!=0}while(e&(d|0)!=(b|0));if(e)c[a>>2]=c[(c[d+16>>2]|0)+164>>2]}l=h;return}function qw(a){a=a|0;var b=0,d=0,e=0,f=0;d=nb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)nb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function rw(){return Cw(18172,c[4555]|0)|0}function sw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function tw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function vw(a){a=a|0;yw(a)|0;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function xw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,2)|0;l=d;return}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=ob[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Hw(a,0)|0;f=(b|0)==0;if(f){nb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Ew(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;ob[c[e>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;ob[c[e>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)ob[c[a+12>>2]&127](a,a,0,h)|0}else D_(a);b=c[g>>2]|0;if(!b)b=0;else{ob[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function zw(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Aw(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Aw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Dw(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;vb[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}ob[c[j>>2]&127](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=nb[e&63](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=ob[c[a+12>>2]&127](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}vb[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=b$(b,f)|0;break}else{f=L0(b,f,n)|0;break}else f=ob[o&127](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,e,r);if((c[q>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,r)|0}return e|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=C_(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Kw(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=ob[d&127](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{D_(f);e=ob[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Kw(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=ob[c[d+12>>2]&127](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){D_(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)ob[e&127](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;nb[f&63](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Ew(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Dw(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Fw(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Fw(a){a=a|0;var b=0;if(!a)return 0;else{b=Fw(c[a+4>>2]|0)|0;return b+1+(Fw(c[a>>2]|0)|0)|0}return 0}function Gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Dw(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;vb[f&127](a,g,E)}if((c[x>>2]|0)<0)ob[c[j>>2]&127](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=nb[c[a>>2]&63](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=b$(e,f)|0;break}else{f=L0(e,f,B)|0;break}else f=ob[C&127](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=nb[c[a>>2]&63](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)vb[e&127](a,g,E);if((c[x>>2]|0)<0){ob[c[a+12>>2]&127](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=nb[h&63](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=ob[c[a+12>>2]&127](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){vb[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=b$(f,h)|0;break}else{h=L0(f,h,B)|0;break}else h=ob[C&127](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,g,E);if((c[x>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Dw(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Dw(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=25;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=nb[c[c[n+16>>2]>>2]&63](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=b$(k,f)|0;break}else{g=L0(k,f,i)|0;break}else g=ob[j&127](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=nb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(nb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=nb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=nb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=nb[c[c[a+16>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=nb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=nb[c[a>>2]&63](a,f,8)|0;e=nb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function Kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Dw(a,0)|0;e=c[n+32>>2]|0;if(e|0?(ob[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?52:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Aw(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Mw(0,e,g)|0;else e=nb[f&63](a,e,b)|0;c[h+4>>2]=e}nb[m&63](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?52:n}while(0);return b|0}function Lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=C_(c)|0;else if(a){D_(b);a=0;break}else{a=F_(b,c)|0;break}while(0);return a|0}function Mw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Nw(a){a=a|0;var b=0;b=c[46164]|0;c[46164]=a;return b|0}function Ow(a){a=a|0;var b=0;b=c[46165]|0;c[46165]=a;return b|0}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Qw(a,b,f)|0;l=e;return d|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[46167]|0:(a|0)==2?1:a;c[46167]=h;i=c[46168]|0;c[46168]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[46165]|0)>>>0){a=c[46166]|0;if(!a){a=l3()|0;c[46166]=a;if(!a){a=1;break}}if(!f){o3(a)|0;a=c[46166]|0}r0(a,b,d)|0;a=0}else{if(c[46164]|0){Rw(a,b,d);a=0;break}if(f)a=c[15686]|0;else{i=c[15686]|0;c[e>>2]=(a|0)==1?93267:93273;g1(i,93281,e)|0;a=i}r0(a,b,d)|0;a=0}while(0);l=g;return a|0}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[46169]|0)==0?(f=C_(c[4564]|0)|0,c[46169]=f,(f|0)==0):0)D1(93286,c[15686]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){kb[c[46164]&63]((a|0)==1?93267:93273)|0;kb[c[46164]&63](93945)|0}while(1){a=q0(c[46169]|0,c[4564]|0,b,d)|0;e=c[4564]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4564]=f;if(!(F_(c[46169]|0,f)|0)){e=9;break}}if((e|0)==7){kb[c[46164]&63](c[46169]|0)|0;break}else if((e|0)==9){D1(93286,c[15686]|0)|0;break}}while(0);return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Qw(1,a,e)|0;l=d;return}function Tw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=C_(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function Uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=C_(e)|0;F3(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=F_(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function Vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){Uw(a,d)|0;e=c[f>>2]|0}F3(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Ww(a,b){a=a|0;b=b|0;return Vw(a,b,W_(b)|0)|0}function Xw(a){a=a|0;if(c[a+12>>2]|0)D_(c[a>>2]|0);return}function Yw(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;Qz(c[46171]|0,c[b+8>>2]|0)|0;Qz(c[46171]|0,c[b+12>>2]|0)|0;Ny(c[46171]|0,b);return}function _w(a,b){a=a|0;b=b|0;var c=0;c=yz(a,93334,0)|0;if((b|0)!=0&(c|0)==0){$w(a);c=yz(a,93334,0)|0}return c|0}function $w(a){a=a|0;var b=0,c=0,d=0;d=fz(a)|0;jB(d,d,104,0,1)|0;c=Sy(d)|0;while(1){if(!c)break;bx(a,c);b=Ex(d,c)|0;while(1){if(!b)break;cx(a,b);b=Gx(d,b)|0}c=Ty(d,c)|0}return}function ax(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;hx(b);c=yA(b)|0;ex((c|0)==0?b:c,b);return}function bx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function dx(a){a=a|0;return yz(a,93322,0)|0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Az(b,93322,16,0)|0;f=fx(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=fz(a)|0;c[e>>2]=fx(a,c[b>>2]&3)|0;a=gx(b)|0;d=d+12|0;c[d>>2]=My(ez(b)|0,((a|0)>4?a:4)<<2)|0;a=nb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=ez(b)|0;e=Oz(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=nb[c[f>>2]&63](f,a,8)|0}}while(0);return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=_w(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;Pw(1,93347,d)|0;a=0;break a}}while(0);l=e;return a|0}function gx(a){a=a|0;var b=0;b=fz(ez(a)|0)|0;a=fx(b,c[a>>2]&3)|0;if(!a)a=0;else a=Ew(a)|0;return a|0}function hx(a){a=a|0;var b=0,d=0,e=0,f=0;d=Az(a,93334,20,0)|0;e=d+8|0;c[e>>2]=CA(a,18260,c[4563]|0)|0;f=d+12|0;c[f>>2]=CA(a,18260,c[4563]|0)|0;d=d+16|0;c[d>>2]=CA(a,18260,c[4563]|0)|0;b=yA(a)|0;if(!b){b=c[46170]|0;if(!((b|0)==0|(b|0)==(a|0))){b=_w(b,0)|0;ix(c[b+8>>2]|0,c[e>>2]|0,a,1);ix(c[b+12>>2]|0,c[f>>2]|0,a,2);ix(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=_w(b,0)|0;Hw(c[e>>2]|0,c[a+8>>2]|0)|0;Hw(c[f>>2]|0,c[a+12>>2]|0)|0;Hw(c[d>>2]|0,c[a+16>>2]|0)|0}return}function ix(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=nb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=jx(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;nb[c[d>>2]&63](d,h,1)|0;g=nb[c[b>>2]&63](b,g,8)|0}return}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=My(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=Oz(b,d)|0;c[h+12>>2]=Oz(b,e)|0;c[h+16>>2]=f;return h|0}function kx(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function lx(a,b){a=a|0;b=b|0;var c=0;c=Hw(a,0)|0;b=kx(a,b)|0;Hw(a,c)|0;return b|0}function mx(a,b){a=a|0;b=b|0;a=dx(a)|0;if(!a)a=0;else a=kx(c[a+8>>2]|0,b)|0;return a|0}function nx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[46170]|0;if(!b){a[g>>0]=a[18296]|0;a[g+1>>0]=a[18297]|0;a[g+2>>0]=a[18298]|0;a[g+3>>0]=a[18299]|0;b=Xx(0,g,0)|0;c[46170]=b}}if(!f)b=px(b,d,e)|0;else b=ox(b,d,e,f)|0;l=h;return b|0}function ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=fz(a)|0;_w(a,1)|0;g=fx(a,b)|0;f=lx(g,d)|0;a:do if(!f){f=kx(g,d)|0;if(f|0){f=jx(a,d,e,c[f+16>>2]|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;h=16;break}g=fx(i,b)|0;f=jx(a,d,e,Ew(g)|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{jB(i,i,57,f,1)|0;h=16;break a}case 1:{d=Sy(i)|0;while(1){if(!d){h=16;break a}qx(a,d,f);d=Ty(i,d)|0}}case 2:case 3:{g=Sy(i)|0;while(1){if(!g){h=16;break a}d=Ex(i,g)|0;while(1){if(!d)break;qx(a,d,f);d=Gx(i,d)|0}g=Ty(i,g)|0}}default:break a}}else{h=f+12|0;Qz(a,c[h>>2]|0)|0;c[h>>2]=Oz(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)rx(a,f,e)|0;iz(a,a,f);return f|0}function px(a,b,c){a=a|0;b=b|0;c=c|0;a=fx(a,b)|0;if(!a)a=0;else a=kx(a,c)|0;return a|0}function qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=dx(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=ob[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=Oz(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=ez(a)|0;g=(dx(a)|0)+12|0;i=b+16|0;Qz(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=Oz(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(_w(h,0)|0)+16>>2]|0;f=b+8|0;g=lx(e,c[f>>2]|0)|0;if(!g){i=jx(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;nb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;Qz(h,c[i>>2]|0)|0;c[i>>2]=Oz(h,d)|0;break}}while(0);iz(h,a,b);return 0}function sx(a,b,d){a=a|0;b=b|0;d=d|0;a=fx(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=nb[b&63](a,0,128)|0;break}else{a=nb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function tx(a){a=a|0;var b=0;c[46171]=a;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,c[b>>2]|0)|0}b=_w(a,0)|0;if(b)if(((EA(a,c[b+8>>2]|0)|0)==0?(EA(a,c[b+12>>2]|0)|0)==0:0)?(EA(a,c[b+16>>2]|0)|0)==0:0){Cz(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ez(a)|0;e=gx(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;Qz(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}Ny(f,d);return}function vx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function wx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function xx(a,b){a=a|0;b=b|0;b=mx(a,b)|0;if(!b)b=0;else{a=c[(dx(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function yx(a,b){a=a|0;b=b|0;a=c[(dx(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;b=mx(a,b)|0;if(!b)b=-1;else{rx(a,b,c)|0;b=0}return b|0}function Ax(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=ez(a)|0;f=nx(f,c[a>>2]&3,b,0)|0;if(!f){f=ez(a)|0;f=nx(f,c[a>>2]&3,b,e)|0}rx(a,f,d)|0;return 0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=ez(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=sx(g,f&3,e)|0;if(!e)break a;d=mx(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=yx(a,e)|0;rx(b,d,f)|0;if(Rz(f)|0)Sz(yx(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Dx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Ex(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Hx(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Jx(a,b){a=a|0;b=b|0;var c=0;c=Ex(a,b)|0;if(!c)c=Hx(a,b)|0;return c|0}function Kx(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Gx(a,b)|0;if(!b){b=0;do{if(!b)b=Hx(a,d)|0;else b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Lx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((gy(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(Px(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Mx(a,b){a=a|0;b=b|0;Ox(a,b);return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;Xy(b,d,1)|0;Xy(b,e,1)|0;h=My(b,96)|0;i=h+48|0;l=_x(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Ox(b,h);if(a[b+24>>0]&64){Az(h,93322,16,0)|0;cx(b,h)}gz(b,h);return h|0}function Ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(Px(a,e,f,d)|0)break;j=Fx(a,e)|0;m=a+44|0;Qx(c[m>>2]|0,j+32|0,g);k=a+48|0;Qx(c[k>>2]|0,j+24|0,g);j=Fx(a,f)|0;Qx(c[m>>2]|0,j+28|0,h);Qx(c[k>>2]|0,j+20|0,h);a=yA(a)|0}l=i;return}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Fx(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Dw(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,f,4)|0;c[g>>2]=zw(c[e>>2]|0)|0}else a=0;l=h;return a|0}function Qx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,1)|0;c[b>>2]=zw(a)|0;return}function Rx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(oy(a,2,e,k,0)|0))if(!e){if(f|0?(gy(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(a,b,d,i)|0;b:do if(!g){if(fy(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=Px(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,b,d,i)|0;if(!g){if(!(fy(a)|0))break;g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,d,b,i)|0;if(!g)break}Mx(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Lx(a,b,d)|0)!=0?(oy(a,2,e,k,1)|0)!=0:0){g=k;g=Nx(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;sy(a,2,g)}else g=0;l=n;return g|0}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Fx(a,c[d+40>>2]|0)|0;f=a+44|0;Tx(c[f>>2]|0,h+32|0,g);e=a+48|0;Tx(c[e>>2]|0,h+24|0,g);b=Fx(a,b)|0;Tx(c[f>>2]|0,b+28|0,d);Tx(c[e>>2]|0,b+20|0,d);return}function Tx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,2)|0;c[b>>2]=zw(a)|0;return}function Ux(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(Px(b,h,g,f)|0){if((fz(b)|0)==(b|0)){if(a[b+24>>0]&64)wx(d);kz(b,d);Iz(d);h=d+8|0;qy(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(jB(b,d,58,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=Xy(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=Xy(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=Px(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Ox(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function Wx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t3(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=Yx(e)|0;f=lb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=lb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(oy(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=Zx(f)|0;sy(k,0,f);l=h;return k|0}function Yx(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18632:e}else e=18632;g=kb[c[e>>2]&63](b)|0;f=lb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18508:g;b=c[b+8>>2]|0;b=(b|0)==0?18608:b}else{c[f+4>>2]=18508;b=18608}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function Zx(b){b=b|0;var d=0,e=0;c[b+36>>2]=CA(b,18688,c[4563]|0)|0;c[b+40>>2]=CA(b,18652,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+44>>2]=CA(b,d?18300:18336,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+48>>2]=CA(b,d?18372:18408,c[4563]|0)|0;c[b+52>>2]=CA(b,18444,c[4563]|0)|0;d=yA(b)|0;if(!((d|0)!=0?(e=_x(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,nb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))ax(b);gz(b,b);return b|0}function _x(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function $x(b){b=b|0;var d=0,e=0,f=0,g=0;f=yA(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){kz(b,b);g=b+8|0;qy(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;tb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=wA(b)|0;while(1){if(!d)break;e=xA(d)|0;$x(d)|0;d=e}d=Sy(b)|0;while(1){if(!d)break;e=Ty(b,d)|0;cz(b,d)|0;d=e}By(b);kz(b,b);if(((((EA(b,c[b+40>>2]|0)|0)==0?(EA(b,c[b+36>>2]|0)|0)==0:0)?(EA(b,c[b+48>>2]|0)|0)==0:0)?(EA(b,c[b+44>>2]|0)|0)==0:0)?(EA(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?tx(b)|0:0){d=-1;break}Iz(b);e=b+8|0;qy(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){zA(f,b)|0;Ny(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;nz(b,c[f>>2]|0)|0}tb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Jz(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;ub[c[f>>2]&63](g,b);ub[c[f>>2]&63](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function ay(a){a=a|0;return Ew(c[a+40>>2]|0)|0}function by(a){a=a|0;var b=0,c=0,d=0;b=0;c=Sy(a)|0;while(1){if(!c)break;d=(cy(a,c,0,1)|0)+b|0;b=d;c=Ty(a,c)|0}return b|0}function cy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Fx(a,b)|0;if(f){if(!e)b=0;else b=dy(c[a+44>>2]|0,f+32|0)|0;if(d)b=(dy(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function dy(a,b){a=a|0;b=b|0;var d=0;Dw(a,c[b>>2]|0)|0;d=Ew(a)|0;c[b>>2]=zw(a)|0;return d|0}function ey(b){b=b|0;return a[b+24>>0]&1|0}function fy(a){a=a|0;return (ey(a)|0)==0|0}function gy(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function hy(a,b){a=a|0;b=b|0;return a|0}function iy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=s3(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Lz(a,d)|0;else a=Oz(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)Qz(a,c)|0;return}function ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function my(a){a=a|0;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;return}function oy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=ty(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;uy(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return ob[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;zy(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function ry(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=ez(a)|0;f=a+8|0;b=f;b=xy(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=ob[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;Y0(191693,93374,g)|0;b=191693}}while(0);l=h;return b|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;vb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function ty(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Lz(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=nb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=My(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=Oz(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=CA(a,18536,c[4563]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=CA(a,18572,c[4563]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}nb[c[f>>2]&63](f,h,1)|0;nb[c[b>>2]&63](b,h,1)|0;return}function vy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function wy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=yy(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=nb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=yy(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;nb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;nb[c[e>>2]&63](e,b,2)|0;Qz(a,c[b+24>>2]|0)|0;Ny(a,b);b=1}return b|0}function Ay(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46171]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=nb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;zy(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function By(a){a=a|0;c[46171]=a;a=a+64|0;Cy((c[a>>2]|0)+56|0);Cy((c[a>>2]|0)+68|0);return}function Cy(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){yw(e)|0;c[d>>2]=0}b=b+1|0}return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;if(!(O0(b,c,a)|0))a=0;else a=W_(b)|0;return a|0}function Ey(a,b){a=a|0;b=b|0;return D1(b,a)|0}function Fy(a){a=a|0;return w1(a)|0}function Gy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4656]=c[4653];c[4657]=c[4654];c[e>>2]=a;c[e+4>>2]=W_(a)|0;c[e+8>>2]=0;c[d>>2]=18632;c[d+4>>2]=18508;c[d+8>>2]=18620;a=TB(e,d)|0;Uz(0);l=b;return a|0}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Iy(a){a=a|0;return 0}function Jy(a,b){a=a|0;b=b|0;a=C_(b)|0;H3(a|0,0,b|0)|0;return a|0}function Ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=F_(b,d)|0;if(d>>>0>c>>>0)H3(a+c|0,0,d-c|0)|0;return a|0}function Ly(a,b){a=a|0;b=b|0;D_(b);return}function My(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=lb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)Pw(1,93380,d)|0;l=d;return a|0}function Ny(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;ub[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))Ny(c[a+24>>2]|0,b);return}function Qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function Ry(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=183176;c[e>>2]=b;c[e+4>>2]=d;c[46176]=183168;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,184688,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Sy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Ty(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Uy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Vy(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Ry(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=fz(a)|0;if((e|0)!=(a|0)?(f=Ry(e,b,c)|0,f|0):0){Xy(a,f,1)|0;e=f;break}if(!(py(a,1,b,c)|0))e=0;else{e=_x(a,1)|0;e=Yy(a,b,c,e,z)|0;Zy(a,e);_y(a,e)}}while(0);return e|0}function Xy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=fz(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=yA(a)|0;if(!e)e=0;else{d=Xy(e,b,d)|0;$y(a,d);return d|0}}}else e=0;return e|0}function Yy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=My(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=fz(b)|0;if(a[(fz(b)|0)+24>>0]&64)Az(g,93322,16,0)|0;return g|0}function Zy(a,b){a=a|0;b=b|0;do{$y(a,b);a=yA(a)|0}while((a|0)!=0);return}function _y(b,c){b=b|0;c=c|0;if(a[(fz(b)|0)+24>>0]&64)bx(b,c);gz(b,c);return}function $y(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Ew(c[e>>2]|0)|0;if((fz(a)|0)==(a|0))d=b+28|0;else d=My(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;nb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=fz(a)|0;if(oy(a,1,b,g,0)|0){e=g;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=Ry(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=Xy(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(oy(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=_x(a,1)|0;e=Yy(a,h,i,e,z)|0;Zy(a,e);_y(a,e);sy(a,1,e)}else e=0;l=j;return e|0}function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46185]=b;d=Jx(a,b)|0;while(1){if(!d)break;e=Kx(a,d,b)|0;Sx(a,d,0);d=e}e=c[a+40>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;return}function cz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(Ry(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((fz(b)|0)==(b|0)){e=Jx(b,d)|0;while(1){if(!e)break;g=Kx(b,e,d)|0;Ux(b,e)|0;e=g}if(a[b+24>>0]&64)vx(d);kz(b,d);Iz(d);g=f;qy(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(jB(b,d,59,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((yA(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{Pw(1,93406,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=cz(a,b)|0;break a}case 2:case 3:{f=Ux(a,b)|0;break a}case 0:{f=$x(b)|0;break a}default:{}}while(0);l=h;return f|0}function ez(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function fz(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function gz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,100,0);else hz(b,d,c[e+48>>2]|0);return}function hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){hz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function iz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))qz(b,d,101,e);else jz(b,d,e,c[f+48>>2]|0);return}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){jz(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function kz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,102,0);else lz(b,d,c[e+48>>2]|0);return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){lz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];Ny(a,d);d=0}while(0);return d|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=fz(a)|0;a:do if((d|0)==(fz(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=yA(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(Wy(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(Vx(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function pz(a){a=a|0;return c[a>>2]&3|0}function qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=Az(a,93430,44,0)|0;switch(c|0){case 100:{e=rz(f,b,100)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}case 101:{if(((sz(rz(f,b,100)|0,b)|0)==0?(sz(rz(f,b,102)|0,b)|0)==0:0)?(e=rz(f,b,101)|0,(sz(e,b)|0)==0):0)tz(e,a,b,d)|0;break}case 102:{uz(rz(f,b,100)|0,b);uz(rz(f,b,101)|0,b);e=rz(f,b,102)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}default:Pw(1,93442,g)|0}l=h;return}function rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){Pw(1,93476,e)|0;d=0}a=c[d>>2]|0;if(!a){a=ez(b)|0;a=CA(a,18724,c[4563]|0)|0;c[d>>2]=a}l=g;return a|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=vz(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function tz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=My(ez(d)|0,32)|0;c[f+20>>2]=d;g=vz(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=My(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}nb[c[a>>2]&63](a,f,1)|0;return f|0}function uz(a,b){a=a|0;b=b|0;b=sz(a,b)|0;if(b|0)nb[c[a>>2]&63](a,b,2)|0;return}function vz(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function wz(a,b,d){a=a|0;b=b|0;d=d|0;xz(b);Ny(c[b+16>>2]|0,b);return}function xz(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;Ny(c[b>>2]|0,a);a=d}return}function yz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(b$(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}zz(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else Pw(1,93501,i)|0}while(0);l=k;return f|0}function zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function Az(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=ez(a)|0;f=yz(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=My(h,d)|0;c[d>>2]=Oz(h,b)|0;switch(c[a>>2]&3){case 0:{Bz(a,d);g=d;break a}case 1:{Bz(a,d);g=d;break a}case 2:case 3:{Bz(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)yz(a,b,1)|0;return g|0}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))zz(a,b,0);return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0;e=ez(a)|0;d=yz(a,b,0)|0;if(!d)b=-1;else{Dz(a,d);if(!(c[a>>2]&3)){Ez(e,a,d);b=d}else{jB(fz(e)|0,a,60,d,0)|0;b=d}Qz(e,c[d>>2]|0)|0;Ny(e,b);b=0}return b|0}function Dz(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;zz(b,(a|0)==(d|0)?0:a,0)}return}function Fz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{Az(a,c,g,e)|0;if(!f){b=wA(a)|0;while(1){if(!b)break a;Fz(b,0,c,d,e);b=xA(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break a;b:do if(d)Az(b,c,g,e)|0;else{f=Ex(a,b)|0;while(1){if(!f)break b;Az(f,c,g,e)|0;f=Gx(a,f)|0}}while(0);b=Ty(a,b)|0}}default:{}}while(0);return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{jB(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=Sy(a)|0;while(1){if(!d)break a;b:do if(e)Cz(d,c)|0;else{b=Ex(a,d)|0;while(1){if(!b)break b;Cz(b,c)|0;b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}}default:{}}while(0);return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;Cz(b,c)|0;return}function Iz(a){a=a|0;var b=0,d=0,e=0;d=ez(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;Qz(d,c[e>>2]|0)|0;Ny(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Jz(a){a=a|0;return EA(a,Kz(a)|0)|0}function Kz(a){a=a|0;var b=0,d=0;if(!a)d=184760;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=CA(a,18760,c[4563]|0)|0;c[d>>2]=b;a=183232;c[a>>2]=-2147483648;c[a+4>>2]=0;a=183240;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Lz(a,b){a=a|0;b=b|0;return Mz(Kz(a)|0,b)|0}function Mz(a,b){a=a|0;b=b|0;a=Nz(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function Oz(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;g=183232;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Kz(a)|0,e=Nz(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=s3(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=183240,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){DA(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function Rz(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=183232;a=c[b>>2]&c[a>>2]}return a|0}function Sz(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=183232;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function Tz(a){a=a|0;c[4699]=a;return}function Uz(a){a=a|0;c[46195]=a;c[4699]=1;return}function Vz(a,b){a=a|0;b=b|0;c[46196]=a;c[46197]=b;c[46198]=0;return}function Wz(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[46199]|0)){c[46199]=1;if(!(c[46200]|0))c[46200]=1;if(!(c[46191]|0))c[46191]=c[15621];if(!(c[46192]|0))c[46192]=c[15653];k=c[46201]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){Xz();k=Yz(c[46191]|0,16384)|0;c[c[46201]>>2]=k}Zz()}a:while(1){j=c[46202]|0;a[j>>0]=a[191725]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;f=j;b:while(1){h=f;while(1){f=c[18800+(d[h>>0]<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=h}c:while(1){g=f&255;do{f=g+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(f<<1)>>1]|0))break c;k=b[64684+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19824+(g<<2)>>2]|0}e=b[64894+(f<<1)>>1]|0;f=h+1|0;if((b[63938+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[63752+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[63752+(c[46203]<<1)>>1]|0;f=c[46204]|0}else e=e<<16>>16;c[46193]=j;i=f;c[46194]=i-k;a[191725]=a[f>>0]|0;a[f>>0]=0;c[46202]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[46193]|0;a[f>>0]=a[191725]|0;e=c[46201]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[46206]=n;c[g>>2]=c[46191];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[46206]|0;if((c[46202]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(gA()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[46202]=c[46193];e=(((c[46200]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[191725]|0;f=c[46204]|0;e=c[46203]|0}if((m|0)==128){m=0;g=i-h|0;h=c[46193]|0;f=h+(g+-1)|0;c[46202]=f;e=eA()|0;i=fA(e)|0;j=c[46193]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[46201]>>2]|0)+4>>2]|0)+(c[46206]|0)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[46202]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[46193]|0)+(i-h+-1)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}switch(m|0){case 29:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 32:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=3;continue a}case 35:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;continue a}case 42:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;_z();continue a}case 47:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=5;aA();continue a}case 89:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(95669);continue a}case 92:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(93534);continue a}case 95:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 98:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 101:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=7;c[46205]=1;aA();continue a}case 104:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;n=(c[46205]|0)+-1|0;c[46205]=n;if(!n){m=108;break a}cA(c[46193]|0);continue a}case 109:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46205]=(c[46205]|0)+1;cA(e);continue a}case 112:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);c[4699]=(c[4699]|0)+1;continue a}case 115:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 121:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;E1(e,f,1,c[46192]|0)|0;continue a}}}switch(m|0){case 27:{e=c[46194]|0;if(!e)l=-1;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[46194]|0;if(!e)l=259;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[46194]|0;if(!e)l=260;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=258;l=258}else l=258;break}case 61:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=261;l=261}else l=261;break}case 65:{e=c[46194]|0;if(!e)l=263;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[46194]|0;if(!e)l=262;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==261?264:45;break}case 72:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==258?264:45;break}case 75:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46221]=Oz(c[46171]|0,e)|0;l=267;break}case 78:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if($z()|0){m=(c[46194]|0)+-1|0;a[f>>0]=a[191725]|0;n=j+m|0;c[46202]=n;c[46193]=j;c[46194]=m;a[191725]=a[n>>0]|0;a[n>>0]=0;c[46202]=n}c[46221]=Oz(c[46171]|0,c[46193]|0)|0;l=267;break}case 86:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;bA();l=268;break}case 108:{c[46200]=1;dA();l=268;break}case 118:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{hA(93537);break}}return l|0}function Xz(){var a=0,b=0,d=0;b=c[46201]|0;do if(!b){a=oA(4)|0;c[46201]=a;if(!a)hA(93895);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[46212]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=iA(b,a<<2)|0;c[46201]=b;if(!b)hA(93895);else{d=b+(c[46212]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[46212]=a;return}function Yz(a,b){a=a|0;b=b|0;var d=0;d=oA(48)|0;if(!d)hA(93850);c[d+12>>2]=b;b=oA(b+2|0)|0;c[d+4>>2]=b;if(!b)hA(93850);else{c[d+20>>2]=1;kA(d,a);return d|0}return 0}function Zz(){var b=0,d=0;d=c[46201]|0;b=c[d>>2]|0;c[46206]=c[b+16>>2];b=c[b+8>>2]|0;c[46202]=b;c[46193]=b;c[46191]=c[c[d>>2]>>2];a[191725]=a[b>>0]|0;return}function _z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[46193]|0;b=h+1|0;i=(z$(b,93834,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=N1(b,93839,f)|0;if((f|0)>0?(c[4699]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;nA(d,b-d|0)}}l=g;return}function $z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[46193]|0)+((c[46194]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(mA()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[46195]|0;Tw(h,1024,b);Ww(h,93745)|0;Ww(h,c[46193]|0)|0;c[f>>2]=c[4699];Y0(d,93789,f)|0;Ww(h,d)|0;Ww(h,(k|0)==0?93739:k)|0;Ww(h,93806)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;Pw(0,93831,i)|0;Xw(h);b=1}l=j;return b|0}function aA(){var b=0;b=c[46207]|0;if(!b){b=C_(1024)|0;c[46207]=b;c[46209]=b+1024}c[46208]=b;a[b>>0]=0;return}function bA(){c[46221]=Oz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function cA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[46208]|0;d=c[46207]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[46208]=e;f=c[46209]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[46208]=e;f=d;i=g-f<<1;d=F_(d,i)|0;c[46207]=d;c[46209]=d+i;e=d+(e-f)|0;f=3}c[46208]=e;return}function dA(){c[46221]=Pz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function eA(){var d=0,e=0,f=0,g=0,h=0;h=c[46202]|0;g=c[46193]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18800+((d&255)<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=g}a:while(1){f=d&255;do{d=f+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(d<<1)>>1]|0))break a;d=b[64684+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19824+(f<<2)>>2]|0}g=g+1|0;e=b[64894+(d<<1)>>1]|0}return e|0}function fA(a){a=a|0;var d=0;if(b[63752+(a<<1)>>1]|0){d=c[46202]|0;c[46203]=a;c[46204]=d}while(1){d=(b[63938+(a<<1)>>1]|0)+1|0;if((a|0)==(b[64148+(d<<1)>>1]|0))break;a=b[64684+(a<<1)>>1]|0}d=b[64894+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function gA(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[46201]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[46193]|0;l=c[46202]|0;k=l;if(l>>>0>(i+((c[46206]|0)+1)|0)>>>0)hA(93592);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[46206]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=iA(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[46202]=j;f=c[c[46201]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=nb[c[c[(c[46196]|0)+8>>2]>>2]&63](c[46197]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[46201]>>2]|0;c[46206]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}hA(93648)}while(0);do if((m|0)==17)if(!l){jA(c[46191]|0);b=1;d=c[46206]|0;e=c[c[46201]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=iA(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[46201]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)hA(93692);else{n=c[46206]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[46206]=n;a[o+n>>0]=0;o=c[46201]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[46206]|0)+1)>>0]=0;c[46193]=c[(c[o>>2]|0)+4>>2]}return b|0}function hA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15686]|0;c[b>>2]=a;g1(d,93588,b)|0;Sa(2)}function iA(a,b){a=a|0;b=b|0;return F_(a,b)|0}function jA(a){a=a|0;var b=0,d=0,e=0;d=c[46201]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{Xz();b=Yz(c[46191]|0,16384)|0;d=c[46201]|0;c[d>>2]=b;if(!d)b=0;else e=4}kA(b,a);Zz();return}function kA(a,b){a=a|0;b=b|0;var d=0;d=c[(O_()|0)>>2]|0;lA(a);c[a>>2]=b;c[a+40>>2]=1;b=c[46201]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(O_()|0)>>2]=d;return}function lA(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[46201]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))Zz()}return}function mA(){var b=0,d=0;d=c[46193]|0;b=(c[46194]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function nA(a,b){a=a|0;b=b|0;var d=0;d=c[46210]|0;if((d|0)<(b|0)){if(!d)d=C_(b+1|0)|0;else d=F_(c[46211]|0,b+1|0)|0;c[46211]=d;c[46210]=b}else d=c[46211]|0;b0(d,a)|0;c[46195]=c[46211];return}function oA(a){a=a|0;return C_(a)|0}function pA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;Tw(j,1024,m+1080|0);e=c[46195]|0;if(e|0){Ww(j,e)|0;Ww(j,93945)|0}Ww(j,b)|0;c[f>>2]=c[4699];Y0(d,93948,f)|0;Ww(j,d)|0;a:do if(!(a[c[46193]>>0]|0))switch(((c[46200]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;Y0(d,93968,g)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94030)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 3:{c[h>>2]=16384;Y0(d,94049,h)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94117)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 1:{c[i>>2]=16384;Y0(d,94136,i)|0;Ww(j,d)|0;break a}default:break a}else{Ww(j,93960)|0;Ww(j,c[46193]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){Uw(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;Pw(1,93831,k)|0;Xw(j);l=m;return}function qA(){rA(c[46193]|0);return}function rA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[46202]|0;a[j>>0]=a[191725]|0;i=c[46201]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[46206]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[46206]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)hA(94195);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[46193]=l;a[191725]=a[b>>0]|0;c[46202]=b;return}function sA(){var a=0;a=c[46201]|0;if(!a)a=0;else a=c[a>>2]|0;lA(a);return}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;FA(a,c[g>>2]|0,18444);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function uA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=tA(b,d,e)|0;if(!f){f=My(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;Zx(f)|0}return f|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(oy(a,0,b,f,0)|0)!=0:0)?(e=f,e=tA(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(oy(a,0,b,f,1)|0)!=0:0){e=f;e=uA(a,c[e>>2]|0,c[e+4>>2]|0)|0;sy(a,0,e)}else e=0;l=g;return e|0}function wA(a){a=a|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,0,128)|0}function xA(a){a=a|0;var b=0;b=yA(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=nb[c[b>>2]&63](b,a,8)|0}return a|0}function yA(a){a=a|0;return c[a+56>>2]|0}function zA(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,b,2)|0}function AA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[46213]|0;e=(b|0)!=0;do if(!a)if(e){D_(b);a=0;break}else{a=C_(d)|0;break}else if(e){Ny(a,b);a=0;break}else{a=My(a,d)|0;break}while(0);return a|0}function BA(a,b,d){a=a|0;b=b|0;d=d|0;a=c[46213]|0;if(!a)D_(b);else Ny(a,b);return}function CA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[46213]=a;d=Cw(b,d)|0;c[e>>2]=f;c[46213]=0;return d|0}function DA(a,b,d){a=a|0;b=b|0;d=d|0;c[46213]=a;return nb[c[b>>2]&63](b,d,2)|0}function EA(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Kw(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[46213]=a;if(!(yw(b)|0)){c[d>>2]=e;c[46213]=0;a=0}else a=1;return a|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Kw(b,0,0)|0)!=(c|0):0)Kw(b,c,0)|0;return}function GA(a,b){a=a|0;b=b|0;if(!(Rz(a)|0))b=IA(a,b)|0;else HA(a,b)|0;return b|0}function HA(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function IA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(M$(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[5005]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(M$(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((M$(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20024;while(1){f=c[e>>2]|0;if(!f)break a;if(!(O$(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=94227;while(0);return b|0}function JA(a){a=a|0;return GA(a,KA(a)|0)|0}function KA(a){a=a|0;var b=0;b=((W_(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[46215]|0;if(b>>>0>(c[46214]|0)>>>0){if(!a)a=C_(b)|0;else a=F_(a,b)|0;c[46215]=a;c[46214]=b}return a|0}function LA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if((MA(a)|0)==0?Xy(a,b,0)|0:0){a=1;break}a=xA(a)|0}return a|0}function MA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=ry(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=dx(b)|0;b:do if(d|0?(f=dx(yA(b)|0)|0,f|0):0){h=Ew(c[(dx(fz(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?b$(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=_w(b,0)|0;if(d)if((Ew(c[d+8>>2]|0)|0)>0)d=0;else return (Ew(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function NA(b,d){b=b|0;d=d|0;var e=0,f=0;c[46216]=0;e=xx(b,94237)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=i1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5005]=f;OA(b,1);if(((PA(b,d,1)|0)!=-1?(QA(b,d)|0)!=-1:0)?(RA(b,d)|0)!=-1:0){c[5005]=128;b=kb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function OA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;OA(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function PA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(yA(b)|0)!=0:0){i=0;g=191979;k=106488}else{k=(a[b+24>>0]&1)==0?191979:94281;g=(gy(b)|0)==0;c[46217]=nx(b,2,108373,0)|0;c[46218]=nx(b,2,108382,0)|0;i=1;g=g?191979:94284}f=ry(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=99578}else{h=0;j=191979;f=191979}do if((SA(b,d)|0)!=-1?(TA(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((TA(b,d,k)|0)==-1){f=-1;break}if((TA(b,d,99571)|0)==-1){f=-1;break}}if(!g?(cB(b,d,f)|0)==-1:0){f=-1;break}if(((TA(b,d,j)|0)!=-1?(TA(b,d,94292)|0)!=-1:0)?(c[46216]=(c[46216]|0)+1,(hB(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((UA(a,b)|0)==-1)d=-1;else{k=_w(fz(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=Sy(a)|0;while(1){if(!h){d=0;break a}if(VA(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((WA(h,b,d)|0)==-1){d=-1;break a}}g=Ex(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(VA(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((WA(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(XA(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((YA(g,b,e)|0)==-1){d=-1;break a}}g=Gx(a,g)|0}h=Ty(a,h)|0}}while(0);return d|0}function RA(a,b){a=a|0;b=b|0;c[46216]=(c[46216]|0)+-1;if((SA(a,b)|0)==-1)a=-1;else a=((TA(a,b,107982)|0)==-1)<<31>>31;return a|0}function SA(a,b){a=a|0;b=b|0;var d=0;d=c[46216]|0;while(1){if((d|0)<=0){d=0;break}if((TA(a,b,150515)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function TA(a,b,d){a=a|0;b=b|0;d=d|0;return lb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function UA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if(!(MA(a)|0)){if((PA(a,b,0)|0)==-1){a=-1;break}if((QA(a,b)|0)==-1){a=-1;break}if((RA(a,b)|0)==-1){a=-1;break}}else UA(a,b)|0;a=xA(a)|0}return a|0}function VA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((LA(a,b)|0)==0?(eB(a,b,c,d)|0)!=0:0)if((fB(a,b)|0)==0?(gB(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ez(a)|0;do if((SA(d,b)|0)!=-1?(ZA(a,b)|0)!=-1:0){if(($A(a)|0)==0?(aB(a,b,c)|0)==-1:0){a=-1;break}a=TA(d,b,94248)|0}else a=-1;while(0);return a|0}function XA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=1;break}if((MA(a)|0)==0?Vx(a,b,0)|0:0){a=0;break}a=xA(a)|0}return a|0}function YA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=ez(g)|0;do if((((((SA(f,b)|0)!=-1?(ZA(g,b)|0)!=-1:0)?(_A(a,b,c[46217]|0)|0)!=-1:0)?(g=(ey(ez(g)|0)|0)!=0,(TA(f,b,g?97053:97058)|0)!=-1):0)?(ZA(e,b)|0)!=-1:0)?(_A(a,b,c[46218]|0)|0)!=-1:0){if(!($A(a)|0)){if((aB(a,b,d)|0)==-1){a=-1;break}}else if((bB(a,b,1)|0)==-1){a=-1;break}a=TA(f,b,94248)|0}else a=-1;while(0);return a|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=ry(a)|0;f=ez(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;Y0(d,94268,g)|0;if((TA(f,b,d)|0)==-1)a=-1;else h=4}else if((cB(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function _A(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=ez(b)|0,f=yx(b,d)|0,(a[f>>0]|0)!=0):0)if((TA(e,c,104958)|0)==-1)b=-1;else{do if(Rz(f)|0){if((cB(e,c,f)|0)==-1){b=-1;break a}}else{b=A$(f,58)|0;if(!b)if((dB(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((dB(e,c,f,0)|0)==-1){b=-1;break a}if((TA(e,c,104958)|0)==-1){b=-1;break a}if((dB(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function $A(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function aB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(bB(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=dx(a)|0;j=ez(a)|0;c:do if(f){i=f+12|0;h=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[46217]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[46218]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((TA(j,b,94263)|0)==-1){e=-1;break b}if((SA(j,b)|0)==-1){e=-1;break b}}else{if((SA(j,b)|0)==-1){e=-1;break b}if((TA(j,b,94260)|0)==-1){e=-1;break b}c[46216]=(c[46216]|0)+1}if((cB(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((TA(j,b,94266)|0)==-1){e=-1;break b}if((cB(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=nb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((TA(j,b,94258)|0)==-1){e=-1;break}c[46216]=(c[46216]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function bB(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ry(b)|0;b=ez(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((TA(b,c,94251)|0)!=-1?(cB(b,c,e)|0)!=-1:0)if((d|0)!=0?(TA(b,c,94258)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function cB(a,b,c){a=a|0;b=b|0;c=c|0;return dB(a,b,c,1)|0}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=IA(c,KA(c)|0)|0;else c=JA(c)|0;return TA(a,b,c)|0}function eB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=Hx(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=Ix(a,b)|0}}while(0);return b|0}function fB(a,b){a=a|0;b=b|0;if(!(Hx(a,b)|0))a=(Ex(a,b)|0)==0&1;else a=0;return a|0}function gB(a){a=a|0;var b=0,d=0,e=0;a=dx(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=_w(a,0)|0;if(e)if(((iB(a,b,108412,c[e+16>>2]|0,d)|0)!=-1?(iB(a,b,108399,c[e+8>>2]|0,d)|0)!=-1:0)?(iB(a,b,108368,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Hw(f,0)|0;k=(l|0)==0;j=nb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=nb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((TA(b,d,94263)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}else{if((SA(b,d)|0)==-1){g=-1;break}if((TA(b,d,e)|0)==-1){g=-1;break}if((TA(b,d,94260)|0)==-1){g=-1;break}c[46216]=(c[46216]|0)+1}if((cB(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((TA(b,d,94266)|0)==-1){g=-1;break}if((cB(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=nb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[46216]=(c[46216]|0)+-1;if((g|0)!=1){if((TA(b,d,150517)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}g=(TA(b,d,94295)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Hw(f,l)|0;g=0}while(0);return g|0}function jB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=80;break}case 1:{g=81;break}case 3:case 2:{g=82;break}default:{}}b=lb[g&127](a,b)|0;if(!b)b=-1;else{nB(a,b,d,e,g,f);b=0}return b|0}function kB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Vx(a,b,0)|0;return b|0}function lB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Xy(a,b,0)|0;return b|0}function mB(a,b){a=a|0;b=b|0;return a|0}function nB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)vb[c&127](a,b,d);g=wA(a)|0;while(1){if(!g)break;i=lb[e&127](g,b)|0;if(i|0)nB(g,i,c,d,e,f);g=xA(g)|0}if(!h)vb[c&127](a,b,d);return}function oB(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46219]=0;c[46220]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[94299+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[46220]|0;if((h|0)==-2){h=Wz()|0;c[46220]=h}if((h|0)>=1)if(h>>>0<269)i=d[94379+h>>0]|0;else i=2;else{c[46220]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[94648+h>>0]|0):0){p=a[94708+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46220]=-2;g=g+4|0;c[g>>2]=c[46221];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[94768+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46220]|0;b:do switch(q|0){case 0:{c[46219]=(c[46219]|0)+1;pA(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[46220]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[94299+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[46221];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[94848+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{pB();qB();break}case 3:{if(c[46222]|0){pB();qB();$x(c[46222]|0)|0;c[46171]=0;c[46222]=0}break}case 6:{rB(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){tB();break c}else{sB();break c}case 24:{uB();break}case 25:{uB();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{vB(c[g>>2]|0,0,0);break}case 31:{vB(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{vB(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{wB(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{wB(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{xB(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{xB(c[g>>2]|0,0);break}case 51:{yB(c[g>>2]|0);break}case 52:{zB();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=AB(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[94911+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[94974+e>>0]|0)|0;if(h>>>0<60?(d[94648+h>>0]|0)==(p|0):0){e=a[94708+h>>0]|0;j=q;h=i;break}e=a[95009+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){pA(137476);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))D_(f);l=t;return e|0}function pB(){var a=0,b=0;a=c[46223]|0;while(1){if(!a)break;IB(a+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);b=BB(c[46223]|0)|0;c[46223]=b;a=b}return}function qB(){qA();Ay(c[46222]|0);return}function rB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[46222]|0;if(!f){a[184896]=d&1|(e&255)<<1&2|a[184896]&-12|8;f=c[46225]|0;a[g>>0]=a[184896]|0;a[g+1>>0]=a[184897]|0;a[g+2>>0]=a[184898]|0;a[g+3>>0]=a[184899]|0;f=Xx(b,g,f)|0;c[46222]=f}c[46171]=f;c[46223]=CB(c[46223]|0,f)|0;Qz(0,b)|0;l=h;return}function sB(){var b=0,d=0,e=0,f=0,g=0,h=0;HB(2);e=c[46223]|0;f=a[95044]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(b$(g,95044)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=Sy(e)|0;while(1){if(!d)continue a;g=Xy(c[c[46223]>>2]|0,d,0)|0;PB(g,0,c[b>>2]|0,h);d=Ty(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;PB(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}IB((c[46223]|0)+8|0);IB((c[46223]|0)+16|0);IB((c[46223]|0)+24|0);c[(c[46223]|0)+4>>2]=0;return}function tB(){var a=0;HB(1);a=(c[46223]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;OB(c[a+4>>2]|0);a=a+12|0}IB((c[46223]|0)+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);c[(c[46223]|0)+4>>2]=0;return}function uB(){var a=0,b=0;a=c[46223]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=NB(b)|0;a=c[46223]|0}c[a+4>>2]=0}else{b=MB(b)|0;a=c[46223]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)EB(a+16|0,b);return}function vB(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=KB(b,d)|0;d=LB(az(c[c[46223]>>2]|0,a,1)|0,b)|0;EB((c[46223]|0)+8|0,d);Qz(c[46222]|0,a)|0;return}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)GB();d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))GB();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;HB(g);b=c[46223]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[46222]|0))){d=nx(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[46223]|0;if((c[b>>2]|0)!=(c[46222]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}IB(b+24|0);return}function xB(a,b){a=a|0;b=b|0;b=DB(a,b)|0;EB((c[46223]|0)+24|0,b);return}function yB(a){a=a|0;var b=0;b=c[46223]|0;c[46223]=CB(b,vA(c[b>>2]|0,a,1)|0)|0;Qz(c[46222]|0,a)|0;return}function zB(){var a=0,b=0;a=c[46223]|0;b=c[a>>2]|0;a=BB(a)|0;c[46223]=a;c[a+4>>2]=b;return}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=W_(a)|0;d=d+1+(W_(b)|0)|0;if(d>>>0<1025)d=f;else d=C_(d)|0;b0(d,a)|0;p1(d,b)|0;e=Oz(c[46222]|0,d)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((d|0)!=(f|0))D_(d);l=g;return e|0}function BB(a){a=a|0;var b=0;b=c[(c[46223]|0)+32>>2]|0;Ny(c[46222]|0,a);return b|0}function CB(a,b){a=a|0;b=b|0;var d=0;d=My(c[46222]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function DB(a,b){a=a|0;b=b|0;return FB(267,a,b)|0}function EB(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function FB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(c[46222]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function GB(){var a=0;a=l;l=l+16|0;Pw(0,95048,a)|0;l=a;return}function HB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[95044]|0):0)?!(b$(f,95044)|0):0)){h=nx(c[c[46223]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=nx(c[c[46223]>>2]|0,b,f,191979)|0;c[d>>2]=266;Qz(c[46222]|0,f)|0}d=d+12|0}return}function IB(a){a=a|0;JB(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function JB(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{JB(c[a+4>>2]|0);break}case 266:case 267:{Qz(c[46222]|0,c[a+8>>2]|0)|0;break}default:{}}Ny(c[46222]|0,a);a=b}return}function KB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=W_(a)|0;d=d+2+(W_(b)|0)|0;if(d>>>0<1025)e=g;else e=C_(d)|0;c[f>>2]=a;c[f+4>>2]=b;Y0(e,95081,f)|0;d=Oz(c[46222]|0,e)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((e|0)!=(g|0))D_(e);l=h;return d|0}function LB(a,b){a=a|0;b=b|0;return FB(259,a,b)|0}function MB(a){a=a|0;return FB(265,a,0)|0}function NB(a){a=a|0;return FB(262,a,0)|0}function OB(a){a=a|0;var b=0,d=0;b=(c[46223]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)rx(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=Sy(d)|0;while(1){if(!f)break a;QB(a,b,Xy(c[c[46223]>>2]|0,f,0)|0,0,e);f=Ty(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=Xy(c[c[46223]>>2]|0,c[f+4>>2]|0,0)|0;QB(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function QB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=Rx(c[c[46223]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;RB(d,108373,a?e:b);RB(d,108382,a?b:e);OB(d)}return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=nx(c[c[46223]>>2]|0,2,b,0)|0;if(!e)e=nx(c[c[46223]>>2]|0,2,b,191979)|0;rx(a,e,d)|0}return}function SB(a,b,d){a=a|0;b=b|0;d=d|0;c[46191]=b;c[46222]=a;c[46171]=0;a=d|0?d:18496;c[46225]=a;Vz(a,b);oB()|0;a=c[46171]|0;if(!a){sA();a=c[46171]|0}return a|0}function TB(a,b){a=a|0;b=b|0;return SB(0,a,b)|0}function UB(a,b){a=a|0;b=b|0;b=wC(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;Az(b,134401,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((fz(b)|0)!=(b|0))c[(c[(fz(b)|0)+16>>2]|0)+144>>2]=a;e=xx(b,95297)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(UB(a,e)|0)==999):0){d=xC(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;Pw(1,95824,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{CG(1);bH(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(fz(b)|0)+16>>2]|0)+8>>2]=d;LK();d=c[e>>2]|0;if(d|0?(tb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;CG(0);d=0}}l=i;return d|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0;if(Az(b,134401,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){tb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)gH(b)}return 0}function XB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){tb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)YB(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15653];g=12;break}f=L1(e,103486)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=c$(c[(O_()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;ub[j&63](95087,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{ub[c[(c[b+12>>2]|0)+16>>2]&63](95125,j);d=1}l=k;return d|0}function YB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;Y0(g,95143,e)|0}e=c[b+20>>2]|0;e=e|0?e:95147;d=W_(e)|0;i=W_(g)|0;f=b+52|0;i=d+1+i+(W_(c[f>>2]|0)|0)|0;d=i+11|0;if((c[46226]|0)>>>0<(i+1|0)>>>0){c[46226]=d;d=F_(c[46227]|0,d)|0;c[46227]=d}else d=c[46227]|0;b0(d,e)|0;p1(c[46227]|0,g)|0;d=c[46227]|0;d=d+(W_(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=n1(c[f>>2]|0)|0;f=c[46227]|0;while(1){e=o1(d,58)|0;if(!e)break;p1(f,e+1|0)|0;i=c[46227]|0;g=i+(W_(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}p1(f,d)|0;D_(d);c[b+32>>2]=c[46227];l=h;return}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95125,f);Sa(1)}if((_B(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;ub[f&63](95157,g);Sa(1)}}else e=0;l=h;return e|0}function _B(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=E1(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=F_(h,g)|0;c[j>>2]=f;if(!f){ub[c[(c[b+12>>2]|0)+16>>2]&63](95182,n);Sa(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);F3(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=nb[f&63](b,d,e)|0;while(0);l=o;return e|0}function $B(a,b){a=a|0;b=b|0;var c=0;c=W_(b)|0;b=(ZB(a,b,c)|0)==(c|0);return (b?1:-1)|0}function aC(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(ZB(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function bC(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=w1(d)|0;else b=0;return b|0}function cC(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);bC(a)|0;return}function dC(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95209,e);Sa(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)tb[b&127](a);else{bC(a)|0;eC(a)}l=e;return}function eC(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15653]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){s1(f)|0;c[e>>2]=0}c[d>>2]=0}return}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=q0(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=vH(e+1|0)|0;c[g>>2]=d;f=e;e=Z0(e,b,g)|0}else f=h;ZB(a,f,e)|0;if((f|0)!=(h|0))D_(f)}else{c[f>>2]=c$(c[(O_()|0)>>2]|0)|0;Pw(1,95226,f)|0}l=i;return}function gC(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,b)|0;ZB(a,f,c[e>>2]|0)|0;l=d;return}function hC(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=135312;e=1}else{l=(f|0)<0;k=4;i=0;e=191746;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=191746-e|0}}else{f=95241;e=18}else{f=95240;e=19}c[b>>2]=e;return f|0}function iC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,+h[b>>3])|0;ZB(a,f,c[e>>2]|0)|0;ZB(a,99578,1)|0;b=hC(e,+h[b+8>>3])|0;ZB(a,b,c[e>>2]|0)|0;l=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];iC(a,f);e=e+1|0;if((e|0)>=(d|0))break;ZB(a,99578,1)|0}l=g;return}function kC(a,b){a=a|0;b=b|0;var d=0;d=uH(392)|0;if(d|0){c[d>>2]=20052;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function lC(a){a=a|0;var b=0,d=0,e=0,f=0;b=uH(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function mC(a){a=a|0;tC(a);D_(a);return}function nC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46228]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46228]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46228]=d;c[d+32>>2]=b;c[d>>2]=a;return}function oC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46229]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46229]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46229]=d;c[d+52>>2]=b;c[d>>2]=a;return (wC(a,3,b)|0)!=0|0}function pC(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function qC(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function sC(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)D_(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function tC(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;sC(b+604|0);sC(b+592|0);D_(c[b+584>>2]|0);D_(c[b+588>>2]|0);D_(b);b=e}c[46229]=0;c[46228]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function uC(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;U0(k,e,63)|0;i=A$(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}U0(m,c[d+4>>2]|0,63)|0;d=A$(m,58)|0;if(d|0)a[d>>0]=0;if((b$(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;U0(m,c[b+4>>2]|0,63)|0;b=A$(m,58)|0;if(b|0)a[b>>0]=0;if(b$(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=vH(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function vC(a,b){a=a|0;b=b|0;b=l;l=l+16|0;Pw(1,95321,b)|0;l=b;return 0}function wC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;U0(o,e,63)|0;e=A$(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=A$(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}U0(p,c[e+4>>2]|0,63)|0;e=A$(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(b$(p,o)|0)){g=(e|0)!=0;if(i&g?b$(e,f)|0:0)break;if(!j?b$(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(wC(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(vC(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[15686]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20064+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;g1(q,95352,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function xC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5021]|0){Tw(184920,0,0);c[5021]=0}h=n1(e)|0;e=A$(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(O$(h,d)|0)!=0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=58;Ww(184920,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}D_(d);g=c[g>>2]|0}D_(h);if(e<<24>>24){g=0;i=19}}else{D_(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(O$(g,d)|0)==0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=191979;break}}e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}a[e>>0]=0;e=c[46230]|0;c[46231]=e}while(0);return e|0}function yC(b){b=b|0;var d=0;if(!b)qa(108182,95369,573,95383);if(!(a[b>>0]|0))qa(108187,95369,574,95383);d=c[46234]|0;if(!d)b=0;else b=nb[c[d>>2]&63](d,b,512)|0;return b|0}function zC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)qa(108230,95369,589,95400);g=b+8|0;e=c[g>>2]|0;if(!e)qa(108233,95369,590,95400);if(!(a[e>>0]|0))qa(108242,95369,591,95400);h=b+20|0;f=c[h>>2]|0;do if(!f){d=ZL(e)|0;if(!d){c[i>>2]=c[g>>2];Pw(0,95424,i)|0;d=0;break}i=L1(d,135739)|0;c[h>>2]=i;if(!i){c[j>>2]=c$(c[(O_()|0)>>2]|0)|0;c[j+4>>2]=d;Pw(0,95449,j)|0;d=0;break}d=c[46235]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[46235]=d+1;d=1;break}}else{Z1(f,0,0)|0;if(!(c[h>>2]|0))qa(95470,95369,614,95400);else d=1}while(0);l=k;return d|0}function AC(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){s1(e)|0;c[d>>2]=0}return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function CC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[46362]|0,(c[46236]|0)!=(g|0)):0)?(c[46236]=g,i=c[46234]|0,i|0):0){yw(i)|0;c[46234]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=DC(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];BC(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function DC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)qa(108182,95369,638,95476);if(!(c[46234]|0))c[46234]=Cw(20088,c[4563]|0)|0;b=yC(a)|0;a:do if(!b){b=uH(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=Oz(0,a)|0;if(!((zC(b)|0)<<24>>24)){EC(b);b=0;break}if(!(c[b+20>>2]|0))qa(95470,95369,653,95476);do switch(FC(b)|0){case 0:{a=VJ(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];Pw(0,95493,e)|0;EC(b);b=0;break a}break}case 2:{GC(b);break}case 3:{HC(b);break}case 1:{IC(b);break}case 4:{JC(b);break}case 6:{KC(b);break}case 11:{LC(b);break}case 8:{MC(b);break}case 5:{NC(b);break}case 12:{OC(b);break}default:{}}while(0);AC(b);e=c[46234]|0;nb[c[e>>2]&63](e,b,1)|0}}else AC(b);while(0);l=f;return b|0}function EC(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)Qz(0,b)|0;D_(a);return}function FC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(g3(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(L0(f,c[20124+(d<<4)>>2]|0,c[20124+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[20124+(d<<4)+12>>2];b=c[20124+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(L0(f+8|0,95709,4)|0)break a;c[e>>2]=95714;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(O0(g,200,c[h>>2]|0)|0)){i=11;break}if(!(L0(g,95704,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=98777;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=95719;c[a+24>>2]=0;b=0}l=j;return b|0}function GC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function HC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,16,0)|0;if((PC(c[e>>2]|0,4,b)|0)<<24>>24?(PC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;Z1(c[g>>2]|0,16,0)|0;if((((XC(c[g>>2]|0,2,b)|0)<<24>>24?(XC(c[g>>2]|0,2,d)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,e)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((PC(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(A$(95692,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((PC(g,2,e)|0)<<24>>24))break;Z1(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((PC(c[j>>2]|0,3,i)|0)<<24>>24?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(PC(g,3,i)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function KC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;Z1(c[i>>2]|0,0,0)|0;while(1){if(!(O0(b,1024,c[i>>2]|0)|0))break;d=P0(b,95677)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((N1(d,101285,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function LC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,15,0)|0;h=(m3(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){Z1(f,24,0)|0;if((XC(c[e>>2]|0,4,b)|0)<<24>>24?(XC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{Z1(f,26,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function MC(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[46237]|0)){if(o2(184952,95562,1)|0){c[d>>2]=95562;Pw(1,95589,d)|0}c[46237]=184952}m=b+20|0;Z1(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(O0(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(a3(184952,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(b$(e,138034)|0))break;if(!(b$(e,137966)|0))break c;if(b$(e,95636)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((N1(f,95644,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((N1(f,95626,A)|0)!=2){c[D>>2]=s;if((N1(f,98183,D)|0)==1){e=1;f=WC(+h[s>>3],95633)|0}else{e=g;f=j}}else{e=1;f=WC(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((N1(f,95626,E)|0)!=2){c[B>>2]=s;if((N1(f,98183,B)|0)==1){d=1;e=WC(+h[s>>3],95633)|0}else e=k}else{d=1;e=WC(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function NC(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,0,0)|0;if(!(QC(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function OC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((PC(c[e>>2]|0,1,b)|0)<<24>>24?(PC(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function PC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function QC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(O0(e,1024,a)|0)){a=1;break}f=P0(e,95552)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=RC(d,b)|0}l=h;return a|0}function RC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;SC(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(TC(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,UC(b,f),(VC(f,d)|0)==0):0)?(UC(b,f),(VC(f,d+8|0)|0)==0):0)?(UC(b,f),(VC(f,d+16|0)|0)==0):0){UC(b,f);e=(VC(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function SC(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(TC(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(B$(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function TC(b){b=b|0;var d=0;d=b+4|0;if(!(O0(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function UC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;SC(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(TC(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function VC(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+c2(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function WC(a,b){a=+a;b=b|0;var c=0.0;do if(!(b$(b,95660)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(b$(b,95663)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(b$(b,95666)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(b$(b,95633)|0?b$(b,95669)|0:0)if(!(b$(b,95671)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(b$(b,95674)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function XC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function YC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)s1(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)tb[e&127](b);D_(b);return}function ZC(){var a=0;nx(0,1,105198,102467)|0;a=kC(0,1)|0;LP(a,0);return a|0}function _C(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((UB(b,e)|0)!=999)if((VB(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));Y0(g,95873,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));Y0(g,95873,i)|0}Ax(d,99645,g,191979)|0;b=0}else{b=xC(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;Pw(1,95824,f)|0;b=-1}l=k;return b|0}function $C(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=DG(a,f)|0;wO(b);tC(a);b=h}l=i;return b|0}function aD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){nC(a,e);h=DG(a,f)|0;wO(b);dC(b);tC(a);b=h}l=i;return b|0}function bD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;oC(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=uO(j,c[j+52>>2]|0)|0;if((Az(b,134401,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){Sw(95885,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=C_(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=DG(a,b)|0;wO(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}tC(a);break}Pw(1,95906,h)|0;b=-1}while(0);l=m;return b|0}function cD(a,b){a=a|0;b=b|0;JP(a,0,b);return}function dD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+4288|0;E=H+8|0;D=H;F=4;G=C_(40)|0;c[G>>2]=0;A=H+4152|0;B=H+4148|0;C=H+4128|0;j=H+4112|0;k=H+16|0;o=0;i=$(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=ca(26,e|0,B|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;m=$(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;na(7,C|0,j|0,k|0,24,83);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){j=C+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;aa(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}o=0;g=aa(84,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}}G=D3(184984,1,G|0,F|0)|0;F=z;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){y=m;x=j;w=m;v=n;g=z;m=15}else{y=m;x=j;w=m;v=n;g=0;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=0;g=z;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}u=v+(c[B>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=E3(c[h>>2]|0,G|0,F|0)|0;if(!i)bb(h|0,p|0);z=p}else i=-1;if((i|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[D>>2]=j;ca(27,u|0,134313,D|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;i=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,i|0,134401,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}c[y+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;da(54,b|0,e|0,i|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}}else i=m;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}m=i}o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}i=10;n=y;q=w;r=w;t=w;while(1){if(!e){m=0;i=r;e=t;break c}o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=E3(c[h>>2]|0,G|0,F|0)|0;if(!m)bb(h|0,p|0);z=p}else m=-1;if((m|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if(!g){o=0;c[E>>2]=j;ca(27,u|0,134313,E|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;s=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,s|0,134401,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=E3(c[h>>2]|0,G|0,F|0)|0;if(!g)bb(h|0,p|0);z=p}else g=-1;if((g|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(54,b|0,e|0,s|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=aa(85,q|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=m;q=m;r=m;h=m}else{g=n;h=t}c[g+(j<<2)>>2]=s;n=g;j=j+1|0;m=h}else m=t;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}t=m}}else{m=1;k=0;n=y;j=0;i=w;e=w}while(0);o=0;ia(105,C|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}if((v|0)!=(A|0)){o=0;ia(103,v|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}}if(!m){o=0;g=aa(85,e|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;$(26,c[n+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=g+1|0}o=0;ia(103,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);D_(G|0);l=H;return g|0}function eD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(nD(a)|0)!=0:0))a=95962;e=W_(a)|0;if((e|0)>=104){d=vH(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){b0(d,a)|0;c[b>>2]=e}return d|0}function fD(a,b){a=a|0;b=b|0;Xy(b,a,1)|0;return}function gD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function hD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function iD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;lD(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=mD(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)ub[f&63](k,d);h=Jx(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(lb[c[j>>2]&127](f,-1)|0))lD(e,f);h=Kx(a,h,k)|0}}return b|0}function jD(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;kD(a);a=b}return}function kD(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=vH(16)|0;if(!e){Pw(1,95943,f)|0;bb(184984,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=vH(4e6)|0;c[e>>2]=d;if(!d){Pw(1,95943,j)|0;bb(184984,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}lb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function mD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function nD(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(M$(c&255)|0)){b=0;break}}return b|0}function oD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=l;l=l+4272|0;x=B;y=4;A=C_(40)|0;c[A>>2]=0;u=B+4144|0;v=B+4140|0;w=B+4120|0;h=B+4104|0;i=B+8|0;o=0;f=$(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=E3(c[g>>2]|0,A|0,y|0)|0;if(!e)bb(g|0,p|0);z=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=ca(26,d|0,v|0,u|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;j=$(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;na(7,w|0,h|0,i|0,24,83);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){h=w+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;aa(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}o=0;e=aa(84,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}}A=D3(184984,1,A|0,y|0)|0;y=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){t=h;s=j;r=k;e=z;j=14}else{t=h;s=j;r=k;e=0;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=0;r=k;e=z;j=14}}else{d=0;e=0}else{t=0;s=0;r=0;e=z;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;ia(105,w|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;ia(103,s|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0)){d=0;e=0;break b}o=0;ia(103,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}else{j=19;break}}o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}q=r+(c[v>>2]|0)|0;h=10;k=s;e=0;j=s;n=s;while(1){if(!f)break;o=0;d=aa(c[t>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,A|0,y|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if(!d){o=0;c[x>>2]=e;ca(27,q|0,134313,x|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;m=ca(28,a|0,r|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(53,m|0,134401,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(54,a|0,f|0,m|0,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if((e|0)==(h|0)){h=e<<1;o=0;i=aa(85,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}g=i;j=i;d=i}else{g=k;d=n}c[g+(e<<2)>>2]=m;e=e+1|0;k=g;i=d}else i=n;o=0;f=aa(84,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}n=i}o=0;ia(105,w|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;d=aa(85,n|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0))break b;o=0;ia(103,r|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;D_(A|0);l=B;return d|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=Sy(a)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if(Xy(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){Vx(a,e,1)|0;d=d+1|0}e=Gx(b,e)|0}f=Ty(a,f)|0}return d|0}function qD(a){a=a|0;a=yz(a,95967,0)|0;if(!a)qa(95972,95975,529,95984);else return c[a+8>>2]|0;return 0}function rD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(ay(b)|0){Fz(b,0,95993,-12,0);Fz(b,1,96005,16,0);o=eD(e,f,t)|0;k=sD(b)|0;m=vH((ay(k)|0)<<2)|0;hD(p,u+4144|0,u+48|0,24,86);h=Sy(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15686]|0;e=0;while(1){if(!h)break;if(!(lb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;Y0(i,96907,q)|0;v=vA(k,o,1)|0;w=vA(b,o,1)|0;Az(w,95993,12,0)|0;a[(yz(w,95993,0)|0)+8>>0]=1;f=iD(k,h,v,p)|0;uD(v,w);g=vD(w)|0;wD(b,w);c[m+(e<<2)>>2]=w;dz(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;g1(j,96017,r)|0}e=e+1|0}h=Ty(k,h)|0}if(0){r=ay(b)|0;v=by(b)|0;w=ry(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;g1(j,96047,s)|0}$x(k)|0;Gz(b,0,95993);Gz(b,1,96005);jD(p);f=xH(m,e<<2)|0;if((o|0)!=(t|0))D_(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[18492]|0;a[h+1>>0]=a[18493]|0;a[h+2>>0]=a[18494]|0;a[h+3>>0]=a[18495]|0;h=Xx(96094,h,0)|0;zD(h,b);d=Sy(b)|0;while(1){if(!d)break;if(!(c[(yz(d,96005,0)|0)+12>>2]|0)){g=az(h,ry(d)|0,1)|0;Az(g,96005,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(yz(d,96005,0)|0)+12>>2]=g}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;f=c[(yz(e,96005,0)|0)+12>>2]|0;d=Ex(b,e)|0;while(1){if(!d)break;g=c[(yz(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,96005,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){Rx(h,f,g,0,1)|0;break}else{Rx(h,g,f,0,1)|0;break}while(0);d=Gx(b,d)|0}e=Ty(b,e)|0}l=i;return h|0}function tD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Sy(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)Xy(b,f,1)|0;else{d=Sy(f)|0;while(1){if(!d)break a;Xy(b,d,1)|0;d=Ty(f,d)|0}}while(0);e=Ty(a,e)|0}return}function vD(a){a=a|0;return pD(a,c[a+60>>2]|0)|0}function wD(a,b){a=a|0;b=b|0;xD(a,b,0);return}function xD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=wA(b)|0;while(1){if(!b)break;if((a[(yz(b,95993,0)|0)+8>>0]|0)==0?(f=yD(b,c,d)|0,f|0):0){if(g)e=(z$(ry(b)|0,104980,7)|0)==0;else e=1;xD(b,f,e&1)}b=xA(b)|0}return}function yD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=Sy(a)|0;while(1){if(!g)break;f=az(b,ry(g)|0,0)|0;if(f){if(!e)e=vA(b,ry(a)|0,1)|0;Xy(e,f,1)|0}g=Ty(a,g)|0}if((d|0)!=0&(e|0)==0)e=vA(b,ry(a)|0,1)|0;if(e|0?(pD(e,a)|0,Bx(a,e)|0,(z$(ry(e)|0,104980,7)|0)==0):0)c[(Az(e,95967,12,0)|0)+8>>2]=a;return e|0}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=wA(b)|0;e=c[15686]|0;while(1){if(!d)break;a:do if(!(z$(ry(d)|0,104980,7)|0)){f=az(a,ry(d)|0,1)|0;Az(f,96005,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=Sy(d)|0;while(1){if(!b)break a;if(c[(yz(b,96005,0)|0)+12>>2]|0){k=ry(b)|0;j=ry(d)|0;i=ry(c[(yz(b,96005,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;g1(e,96097,g)|0}c[(yz(b,96005,0)|0)+12>>2]=f;b=Ty(d,b)|0}}else zD(a,d);while(0);d=xA(d)|0}l=h;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){BI(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){BI(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=CD(a,b,d,e)|0;break}m=vH(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;mM(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=uH(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=xx(c[b+(d<<2)>>2]|0,96164)|0;if(g|0?(c[k>>2]=j,g=(N1(g,134313,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=DD(a,m,e)|0;if(c[h>>2]&2)D_(c[e+24>>2]|0)}else d=0;D_(m)}while(0);l=n;return d|0}function CD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[15686]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;mM(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=ry(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;g1(E,96231,u)|0}n=n+1|0}q=vH(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=GD(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;g1(E,96259,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=uH(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=ry(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];HD(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];ID(e,i,j,p,f,B)}g=g+1|0}j=uH(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}_0(j,b,4,87);k=vI()|0;g=uH(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];KD(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;LD(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;LD(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);D_(j);i=0;while(1){if((i|0)>=(b|0))break;D_(c[m+(i<<4)+4>>2]|0);i=i+1|0}D_(m);yI(k);D_(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;g1(E,96275,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function DD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=uH(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[15686]|0;c[g>>2]=k|0?96170:96180;c[g+4>>2]=w;c[g+8>>2]=f;g1(v,96193,g)|0}t=uH((f<<3)+8|0)|0;u=uH((w<<3)+8|0)|0;v=uH(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=uH(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))_0(s,a,4,89)}else{c[46285]=e;_0(s,a,4,88)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}D_(v);D_(s);D_(t);D_(u);l=z;return x|0}function ED(a,b){a=a|0;b=b|0;var d=0;d=c[46285]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function FD(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (e<d?1:(e>d)<<31>>31)|0}function GD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[15686]|0;E1(96418,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;g1(m,96446,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;g1(m,96472,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;g1(m,96494,q)|0}}else{h[m>>3]=j;Pw(1,96391,m)|0;d=-1}l=s;return d|0}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=vI()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;BI(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=FI(r)|0;j=EI(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[15686]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;g1(f,96350,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;g1(f,96377,t)|0;a=a+1|0}}while(0);yI(r);l=u;return}function ID(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=vI()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=vH((ay(b)|0)<<2)|0;a=0;g=Sy(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=Ty(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}a=Sy(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=Ty(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=Sy(b)|0;while(1){if(!o)break;WL(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G)}a=Gx(C,a)|0}}while(0);o=Ty(b,o)|0}a=0;g=Sy(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=Ty(b,g)|0}D_(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=Sy(b)|0;while(1){if(!o)break a;WL(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}o=Ty(b,o)|0}}while(0);i=d+4|0;c[i>>2]=FI(L)|0;j=d+8|0;c[j>>2]=EI(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[15686]|0;d=ry(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;g1(f,96350,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;g1(f,96377,O)|0;a=a+1|0}}while(0);yI(L);l=P;return}function JD(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function KD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];zI(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[15686]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;g1(k,96324,i)|0}l=j;return}function LD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(MD((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(MD(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(MD(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(MD(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(MD(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(MD(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function MD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(CI(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];zI(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[15686]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;g1(j,96290,s)|0;j=1}else j=1}l=t;return j|0}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function OD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function PD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){WL(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d)}l=A;return}function QD(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=DD(a,b,d)|0;break a}case 3:{a=RD(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+80|0;g=n+64|0;f=n+24|0;m=n+8|0;e=n;h=n+56|0;j=d+8|0;k=GD(a,b,c[j>>2]|0)|0;if(0){i=c[15686]|0;c[e>>2]=k;g1(i,96259,e)|0}a:do if((k|0)>=1){c[h+4>>2]=0;c[h>>2]=0;i=uH(a<<4)|0;d=0;while(1){if((d|0)>=(a|0))break;c[i+(d<<4)+12>>2]=d;o=b+(d<<5)|0;e=c[j>>2]|0;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];HD(f,i+(d<<4)|0,k,e,g,191979);d=d+1|0}f=uH(a<<2)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=i+(d<<4);d=d+1|0}_0(f,a,4,87);g=vI()|0;d=uH(a<<3)|0;e=0;while(1){if((e|0)>=(a|0))break;o=c[f+(e<<2)>>2]|0;LD(e,o,g,d+(c[o+12>>2]<<3)|0,k,c[j>>2]|0,b);e=e+1|0}D_(f);e=0;while(1){if((e|0)>=(a|0))break;D_(c[i+(e<<4)+4>>2]|0);e=e+1|0}D_(i);yI(g);if(0>1){f=c[15686]|0;e=0;while(1){if((e|0)>=(a|0))break a;b=c[d+(e<<3)>>2]|0;o=c[d+(e<<3)+4>>2]|0;c[m>>2]=e;c[m+4>>2]=b;c[m+8>>2]=o;g1(f,96275,m)|0;e=e+1|0}}}else d=0;while(0);l=n;return d|0}function SD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=Sy(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Ex(g,i)|0;while(1){if(!f)break b;TD(f,k,l);f=Gx(g,f)|0}}while(0);i=Ty(r,i)|0}UD(r,k,l);j=j+1|0}}while(0);return f|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;UD(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function VD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=BD(a,b,d,e)|0;if(!f)a=1;else{a=SD(a,b,f,d,c[e+12>>2]|0)|0;D_(f)}return a|0}function WD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=VD(a,b,d,e)|0;if(!n){mM(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function XD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)qa(96508,96514,1400,96521);d=YD(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[15686]|0;c[f>>2]=d;g1(h,96533,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;ZD(a,b,e)|0;l=g;return c[e+16>>2]|0}function YD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=xx(b,96663)|0;a:do if(g){c[h>>2]=f;h=(N1(g,134313,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return _D(xx(a,96546)|0,b,c)|0}function _D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)qa(96508,96514,1292,96555);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(z$(b,96573,5)|0)){c[p>>2]=4;m=$D(b+5|0,e)|0;c[k>>2]=j;m=(N1(m,134313,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(z$(b,96579,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(N1(b+5|0,96586,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(b,104980)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(b$(b,108412)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(b$(b,108399)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[15686]|0;E1(96589,11,1,d)|0;c[s>>2]=aE(c[p>>2]|0)|0;g1(d,96601,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];g1(d,96614,t)|0}c[q>>2]=c[n>>2];g1(d,96627,q)|0;c[r>>2]=c[o>>2];g1(d,96640,r)|0}l=u;return c[p>>2]|0}function $D(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function aE(a){a=a|0;switch(a|0){case 1:{a=104980;break}case 2:{a=108399;break}case 3:{a=108412;break}case 4:{a=96573;break}case 5:{a=96579;break}default:a=96653}return a|0}function bE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=E_(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=E_(100,j)|0}else{h=d+100|0;i=F_(c[e+8>>2]|0,O(h,j)|0)|0;H3(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=cE(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=F_(i,O(f,j)|0)|0;H3(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){D_(i);D_(e);e=0;break}else{c[e+8>>2]=F_(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function cE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((B$(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=iE(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=fE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=jE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+c2(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+c2(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+c2(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+c2(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=kE(a,j)|0;do if(a){d=c[j>>2]|0;i=E_(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+c2(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+c2(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==7){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function fE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=kE(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=E_(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){D_(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function gE(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=lE(b+1|0,d)|0;break}case 40:{b=mE(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(M$(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+c2(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=kE(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=C$(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function kE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=i1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=hE(a,n)|0;do if(((((i|0)!=0?(j=hE(i,b+16|0)|0,(j|0)!=0):0)?(e=hE(j,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=kE(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=E_(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=hE(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=fE(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){D_(f);a=0;break}else if((d|0)==12){D_(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=hE(a,b+8|0)|0;do if(((((((k|0)!=0?(m=hE(k,b+16|0)|0,(m|0)!=0):0)?(e=hE(m,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(i=hE(f,b+40|0)|0,(i|0)!=0):0)?(j=hE(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=kE(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=E_(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=hE(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=fE(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){D_(i);a=0;break}else if((d|0)==14){D_(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function nE(a,b,c){a=a|0;b=b|0;c=c|0;return bE(a,b,c,0)|0}function oE(a){a=a|0;return nE(a,0,0)|0}function pE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)tb[e&127](d);qE(d);b=b+1|0}D_(f);D_(a)}return}function qE(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{D_(c[a+8+4>>2]|0);break}case 5:case 4:{D_(c[a+8+4>>2]|0);break}case 6:{D_(c[a+8+4>>2]|0);break}case 7:{D_(c[a+40>>2]|0);break}case 9:case 8:{D_(c[a+8>>2]|0);break}case 14:case 13:{rE(a+8|0);break}case 10:{D_(c[a+16>>2]|0);break}case 11:{D_(c[a+8>>2]|0);break}case 12:{D_(c[a+40>>2]|0);break}default:{}}return}function rE(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[d+(a<<3)+4>>2]|0);a=a+1|0}D_(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[b+(a<<3)+4>>2]|0);a=a+1|0}D_(b);break}default:{}}return}function sE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(ey(ez(b)|0)|0)!=0&1;f=c[46414]|0;a:do if(f|0?(h=yx(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20284;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(b$(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[46425]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=yx(b,f)|0,a[j>>0]|0):0)tE(j,e);f=c[46426]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=yx(b,f)|0,a[m>>0]|0):0)tE(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=ez(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;sE(Rx(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function tE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=uE(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;Pw(0,96668,m)|0}l=o;return}function uE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=vE(a,20344,e)|0;if((d|0)==(a|0)){while(1){d=vE(a,20360,e)|0;if((a|0)==(d|0))break;else a=d}d=vE(a,20408,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function vE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=W_(e)|0;if(!(z$(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function wE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+LL(a,c[46418]|0,1.0,0.0))}function xE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){_O(a,o+16|0,3,g>>>4&1^1);break}else{_O(a,o+32|0,3,g>>>4&1^1);break}else _O(a,o,3,g>>>4&1^1);while(0);l=p;return}function yE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q<f)|y?.45:f/q*.45;s=!(f>1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){_O(a,w,9,1);break}else{_O(a,w+48|0,6,1);break}else _O(a,w,6,1);while(0);l=x;return}function zE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}_O(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;bP(a,p,2);l=q;return}function AE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}_O(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;bP(a,n,2);l=o;return}function BE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){_O(a,i,4,d);break}else{_O(a,i,3,d);break}}else _O(a,d,3,g>>>4&1^1);while(0);l=j;return}function CE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;ZO(a,i,2,f>>>4&1^1);l=g;return}function DE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;bP(a,r,2);if(!(g&64)){if(g&128|0)XL(s,q,3,.5,q,0)}else XL(s,q,3,.5,0,q);aP(a,q,4,0,0,0);l=t;return}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;bP(a,i,2);l=g;return}function FE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+wE(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;MK(j,90,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function HE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+wE(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;MK(k,90,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function IE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+wE(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k<n?-j:j)+n;j=p}else{m=k;j=(p<o?-j:j)+o}w=e+1|0;h[b+(w<<4)>>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+wE(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k<o?m:-m)+k;m=j}else{n=k;m=(j<p?m:-m)+j}w=d+1|0;v=b+(w<<4)|0;h[v>>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+wE(a,g);q=+wE(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s<k;p=(w?-n:n)+k;q=(w?m:-m)+s;o=t;m=t}else{w=t<j;p=s;q=s;o=(w?m:-m)+t;m=(w?-n:n)+j}w=e+1|0;v=b+(w<<4)|0;h[v>>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function JE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function KE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;YO(a,c[(c[a>>2]|0)+336>>2]|0);fP(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];LE(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function LE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];wb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function ME(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=xx(b,96770)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=xx(b,96782)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=nE(e,0,120)|0;if(!d){c[f>>2]=ry(b)|0;Pw(0,96789,f)|0;c[g>>2]=e;Pw(3,96842,g)|0}}l=i;return d|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=uH(304)|0;if(!f)Pw(1,96850,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function OE(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)qa(96876,96880,117,96887);else{D_(c[b+212>>2]|0);D_(c[b+208>>2]|0);D_(c[b+216>>2]|0);D_(c[b+220>>2]|0);D_(c[b+224>>2]|0);D_(c[b+228>>2]|0);D_(c[b+232>>2]|0);D_(c[b+236>>2]|0);D_(c[b+240>>2]|0);D_(c[b+244>>2]|0);D_(c[b+248>>2]|0);D_(c[b+252>>2]|0);D_(c[b+256>>2]|0);D_(c[b+272>>2]|0);D_(c[b+284>>2]|0);D_(c[b+280>>2]|0);c[a>>2]=c[b>>2];D_(b);return}}function PE(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=pH(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=pH(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=pH(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=n1(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=pH(h,j)|0;d=1}return d|0}function QE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;RE(b,e);b=xx(d,137978)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){Ww(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){Ww(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(pz(d)|0){case 0:{f=(g|0)==(d|0)?108412:96901;b=(c[d>>2]|0)>>>4;break}case 1:{f=108399;b=(c[d>>2]|0)>>>4;break}case 2:{f=108368;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}Ww(e,f)|0;c[i>>2]=b;Y0(h,96907,i)|0;Ww(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function RE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){Ww(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;Y0(g,96911,h)|0;Ww(d,g)|0}l=i;return}function SE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=TE(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)fP(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{WO(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=rQ(p,k,m,i,e)|0;aP(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);nV(b)}i=e;f=f+12|0}if(n)fP(a,r);UE(j)}l=s;return o|0}function TE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=uH(12)|0;i=n1(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=uH((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=k1(f,104958)|0;if(!f){f=20;break}j=+VE(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[5130]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;Pw(0,96922,n)|0;c[5130]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[5130]|0))d=1;else{c[o>>2]=b;Pw(1,96957,o)|0;c[5130]=0;d=2}UE(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function UE(a){a=a|0;D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(a);return}function VE(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=A$(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+c2(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function WE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=TE(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)fP(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){WO(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;_O(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)fP(a,s);UE(i)}l=t;return q|0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;D_(c[g>>2]|0);d=uH(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function YE(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k<n)):0)?(d=+h[b+8>>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d<j)):0)?(k=+h[b+16>>3],!(k>m|k<n)):0)?(k=+h[b+24>>3],!(k>i|k<j)):0)?(k=+h[b+32>>3],!(k>m|k<n)):0)?(k=+h[b+40>>3],!(k>i|k<j)):0)?(k=+h[b+48>>3],!(k>m|k<n)):0)?(n=+h[b+56>>3],!(n>i|n<j)):0))p=11;a:do if((p|0)==11){if(!(ZE(b)|0)){XL(f,b,3,.5,c,e);YE(a,c);YE(a,e);break}f=a+24|0;g=a+8|0;e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function ZE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+$G(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+$G(f,e,d)<4.0&1;l=b;return a|0}function _E(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;D=l;l=l+272|0;u=D+256|0;v=D+224|0;w=D+192|0;x=D+128|0;y=D+64|0;z=D;A=D+160|0;B=D+96|0;C=D+32|0;t=c[d+16>>2]|0;s=c[t+144>>2]|0;r=t+16|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];c[x+16>>2]=c[r+16>>2];c[x+20>>2]=c[r+20>>2];c[x+24>>2]=c[r+24>>2];c[x+28>>2]=c[r+28>>2];t=c[(c[t+8>>2]|0)+88>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(!t){c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}else{d=x+16|0;if(+h[x>>3]==+h[d>>3]?(e=x+8|0,f=x+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[x>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}j=v+8|0;k=v+16|0;m=v+24|0;n=y+16|0;o=y+24|0;p=s+144|0;q=w+16|0;r=t+12|0;d=0;f=c[t+8>>2]|0;e=0;g=0.0;i=0;while(1){if((i|0)>=(c[t>>2]|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];switch(c[f>>2]|0){case 1:case 0:{H=+h[f+8>>3];I=+h[f+24>>3];h[v>>3]=H-I;F=+h[f+16>>3];G=+h[f+32>>3];h[j>>3]=F-G;h[k>>3]=I+H;h[m>>3]=G+F;E=f+80|0;c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2];E=f+96|0;c[E>>2]=c[k>>2];c[E+4>>2]=c[k+4>>2];c[E+8>>2]=c[k+8>>2];c[E+12>>2]=c[k+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];$E(x,u);c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];$E(x,u);break}case 3:case 2:{E=f+80|0;J=f+8|0;aF(A,c[J+4>>2]|0,c[J>>2]|0,x);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2];c[E+16>>2]=c[A+16>>2];c[E+20>>2]=c[A+20>>2];c[E+24>>2]=c[A+24>>2];c[E+28>>2]=c[A+28>>2];break}case 5:case 4:{J=f+80|0;E=f+8|0;aF(B,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[B>>2];c[J+4>>2]=c[B+4>>2];c[J+8>>2]=c[B+8>>2];c[J+12>>2]=c[B+12>>2];c[J+16>>2]=c[B+16>>2];c[J+20>>2]=c[B+20>>2];c[J+24>>2]=c[B+24>>2];c[J+28>>2]=c[B+28>>2];break}case 6:{J=f+80|0;E=f+8|0;aF(C,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];c[J+16>>2]=c[C+16>>2];c[J+20>>2]=c[C+20>>2];c[J+24>>2]=c[C+24>>2];c[J+28>>2]=c[C+28>>2];break}case 7:{J=f+112|0;c[J>>2]=uH(56)|0;E=n1(c[f+40>>2]|0)|0;K=c[J>>2]|0;c[K>>2]=E;a[K+48>>0]=a[97003+(c[f+24>>2]|0)>>0]|0;c[y>>2]=e;h[n>>3]=g;c[o>>2]=c[o>>2]&-128|d&127;K=c[p>>2]|0;K=nb[c[K>>2]&63](K,y,1)|0;E=c[J>>2]|0;c[E+4>>2]=K;wL(u,s,E);bF(w,+h[f+8>>3],+h[f+16>>3],c[J>>2]|0);J=f+80|0;c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];c[J+16>>2]=c[w+16>>2];c[J+20>>2]=c[w+20>>2];c[J+24>>2]=c[w+24>>2];c[J+28>>2]=c[w+28>>2];c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];$E(x,u);c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];$E(x,u);if(!(c[r>>2]|0))c[r>>2]=106;break}case 10:{e=c[f+16>>2]|0;g=+h[f+8>>3];break}case 15:{d=c[f+8>>2]|0;break}default:{}}f=f+120|0;i=i+1|0}c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}l=D;return}function $E(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function aF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];$E(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];$E(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function bF(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function cF(a){a=a|0;if((c[a>>2]|0)==7)mH(c[a+112>>2]|0,1);return}function dF(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[46369]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;cP(b,NL(d,nx(d,0,98496,0)|0,191979)|0);c[b+160>>2]=0;eF(b,d);if(j&2|0)fF(b,d);e=Sy(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=Ty(d,e)|0}gF(b,k);while(1){if(!((hF(b)|0)<<24>>24))break;if((iF(b)|0)>1)DO(b);jF(b);while(1){if(!((kF(b)|0)<<24>>24))break;lF(b,d);mF(b)}if((iF(b)|0)>1)EO(b);nF(b,k)}oF(b);l=m;return}function eF(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);zO(a,b);return}function fF(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;WO(b,131718);d=xx(c,137895)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(c,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);zG(b,c);g=Sy(c)|0;while(1){if(!g)break;d=xx(g,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(g,134647)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(g,98392)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(g,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Ex(c,g)|0;while(1){if(!f)break;d=xx(f,137741)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(f,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Gx(c,f)|0}g=Ty(c,g)|0}return}function gF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];Pw(0,97541,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];Pw(0,97541,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function hF(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function iF(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function jF(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function kF(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function lF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{Tw(m,128,f);g=n+212|0;h=c[g>>2]|0;RE(d,m);Ww(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){Uw(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}qQ(xx(e,97006)|0);qF(d);BO(d);UO(d,134232);WO(d,131718);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=uH((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){WG(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))yO(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];XE(d,k);PO(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);rF(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)oH(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;QO(d)}while(0);sF(d,e,o);CO(d);if(h|0){Xw(m);c[n+212>>2]=h}l=p;return}function mF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];pF(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((kF(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];pF(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function nF(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function oF(a){a=a|0;AO(a);OE(a);return}function pF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function qF(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];yG(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];yG(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[46369])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[46369]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function rF(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=xx(d,137895)|0;if(!e){j=1;e=134116}else{i=(a[e>>0]|0)==0;j=i&1;e=i?134116:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(b$(e,134297)|0)==0;k=m?134116:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(b$(e,134297)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((uG(k,o,p)|0)<<24>>24)){WO(b,k);UO(b,134297);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];$O(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;WO(b,i);UO(b,134297);tG(d,r)|0;e=c[o+4>>2]|0;h=KL(d,c[46373]|0,0,0)|0;f=+g[p>>2];if(!e)XO(b,134232,h,f);else XO(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];$O(b,q,r);D_(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)wG(b,e);l=s;return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)tF(a,b,d);a:do if(!(d&1)){if(d&16|0){JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a);HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);break}if(!(d&8)){f=Sy(b)|0;while(1){if(!f)break a;uF(a,f);e=Ex(b,f)|0;while(1){if(!e)break;uF(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}}HO(a);e=Sy(b)|0;while(1){if(!e)break;if((wF(b,e)|0)<<24>>24)uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if((xF(b,e)|0)<<24>>24)vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}else{HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}while(0);if(g)tF(a,b,d);return}function tF(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((rG(e,u)|0)<<24>>24){if(L)tF(e,u,i);sG(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;qQ(xx(u,97006)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=tG(u,H)|0;if(!j)p=0;else{YO(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=OL(u,0,103230)|0;k=OL(u,0,103238)|0;O=29;break}if(j&8|0){j=OL(u,0,103246)|0;k=OL(u,0,103254)|0;O=29;break}if(j&4|0){j=OL(u,0,103262)|0;k=OL(u,0,103270)|0;O=29;break}j=xx(u,137741)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=xx(u,134647)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=xx(u,98392)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=xx(u,137895)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=OL(u,0,103214)|0;k=OL(u,0,103222)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;O=31}if((O|0)==31){O=0;if(!((uG(n,J,w)|0)<<24>>24)){WO(e,n);k=1}else{WO(e,c[J>>2]|0);k=c[G>>2]|0;m=KL(u,c[46373]|0,0,0)|0;o=+g[w>>2];if(!k)XO(e,134232,m,o);else XO(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[46372]|0;if((m|0?(z=yx(u,m)|0,z|0):0)?a[z>>0]|0:0)fP(e,+LL(u,c[46372]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=KL(u,c[46371]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)UO(e,134297);else UO(e,j);EJ(e,I,4,p,k)}}else{if(!(p&64)){if(KL(u,c[46371]|0,1,0)|0){UO(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}if(!k)break;UO(e,134297);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(KL(u,c[46371]|0,1,0)|0))UO(e,134297);else UO(e,j);if((WE(e,I,n,0)|0)>1){c[N>>2]=ry(u)|0;Pw(3,97374,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,0)}while(0);D_(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)oH(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}QO(e)}a:do if(!F){k=Sy(u)|0;while(1){if(!k)break a;uF(e,k);j=Ex(u,k)|0;while(1){if(!j)break;vF(e,j);j=Gx(u,j)|0}k=Ty(u,k)|0}}while(0);vG(e,f);if(!L)tF(e,u,i)}v=v+1|0}l=P;return}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(jG(b,ez(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(kG(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;cP(b,ry(d)|0);e=NL(d,c[46399]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46387]|0,191979)|0;b:do if(a[e>>0]|0){AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);lG(b,d);ub[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)oH(b,10,e);mG(b)}while(0);l=j;return}function vF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((yF(d,g)|0)<<24>>24?(f=d+-48|0,(zF(b,d)|0)<<24>>24):0){i=d+48|0;e=W_(ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=C_(e+3+(W_(ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;b0(e,ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(ey(ez(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(W_(e)|0)|0;if(i){a[g>>0]=a[138665]|0;a[g+1>>0]=a[138666]|0;a[g+2>>0]=a[138667]|0}else{a[g>>0]=a[134656]|0;a[g+1>>0]=a[134657]|0;a[g+2>>0]=a[134658]|0}p1(e,ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;cP(b,e);D_(e);e=NL(d,c[46421]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46415]|0,191979)|0;b:do if(!(a[e>>0]|0))e=0;else{AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=185144;break b}if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);BF(b,d,e);CF(b,d,e);DF(b)}while(0);l=h;return}function wF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function xF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function yF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(iG(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((VM(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(VM(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function zF(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,c[46420]|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=NL(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[46397]|0,191979)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((eG(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function AF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[97256]|0){Tw(185408,128,191746);a[97256]=0}Tw(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(cG(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;c[185144+(e<<2)>>2]=c[46353];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;Ww(185408,d)|0;d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;Pw(1,97257,k)|0;c[46286]=0;Xw(j)}else if((d|0)==9){c[m>>2]=b;Pw(1,97291,m)|0;c[46286]=0;Xw(j)}else if((d|0)==12){c[n>>2]=b;Pw(0,97319,n)|0;c[46349]=0;Xw(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;Pw(1,97342,o)|0;c[46286]=0;Xw(j);break}c[185144+(e<<2)>>2]=0;Xw(j);d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}a[d>>0]=0;c[46353]=c[46352]}while(0);l=p;return 185144}function BF(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=NE(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(RL(xx(f,97079)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)YO(d,g);g=c[46436]|0;if((g|0?(i=yx(f,g)|0,i|0):0)?a[i>>0]|0:0)fP(d,+LL(f,c[46436]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(ez(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{Tw(o,128,p);c[z+212>>2]=pH(QE(d,f,o)|0,f)|0;Xw(o);g=xx(f,137973)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=xx(f,108395)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=pH(g,f)|0;g=xx(f,97092)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=xx(f,97101)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=n1(i)|0;q=39}}while(0);if((q|0)==36){g=pH(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=xx(f,97109)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=xx(f,97119)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=n1(i)|0;q=47}}while(0);if((q|0)==44){g=pH(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=xx(f,97128)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=xx(f,97137)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=n1(i)|0}while(0);if((q|0)==52){c[z+220>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=xx(f,97145)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=xx(f,97154)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=n1(i)|0}while(0);if((q|0)==59){c[z+224>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=xx(f,138006)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=pH(g,f)|0;else i=0;g=xx(f,97162)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=pH(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=n1(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=xx(f,97173)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=pH(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=n1(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=xx(f,97185)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=pH(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=n1(i)|0;g=xx(f,97196)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=pH(g,f)|0;break}if(i)c[z+256>>2]=n1(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=xx(f,138019)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=xx(f,97207)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=n1(g)|0}while(0);if((q|0)==94){p=WF(g,f)|0;c[z+228>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=xx(f,97219)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=WF(g,f)|0;c[z+232>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=n1(r)|0;g=xx(f,97232)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=WF(g,f)|0;c[z+236>>2]=pH(r,f)|0;D_(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=n1(s)|0;g=xx(f,97244)|0;if(g|0?a[g>>0]|0:0){s=WF(g,f)|0;c[z+240>>2]=pH(s,f)|0;D_(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=n1(g)|0}while(0);D_(j);D_(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;XF(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;yO(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);NO(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))PO(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function CF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];qQ(xx(e,97006)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+LL(e,c[46418]|0,1.0,0.0);k=NL(e,c[46406]|0,191979)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(b$(i,108091)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(KF(b,e,f,k,q+1|0,N,M)|0))break;else m=134232;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=OL(e,c[46407]|0,m)|0}else{j=103270;g=103262;k=185632;i=185632;p=18}else{j=103254;g=103246;k=185632;i=185632;p=18}else{j=103238;g=103230;k=185632;i=185632;p=18}else{j=103222;g=103214;k=185632;i=185632;p=18}if((p|0)==18){i=c[i>>2]|0;i=OL(e,i,LF(m,g)|0)|0;g=OL(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{UO(b,i);j=g}}if((j|0)!=(m|0))WO(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?134232:i;g=(a[j>>0]|0)==0?134232:j;UO(b,134297);WO(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=kL(O,MF(e)|0,M,0,0)|0;_O(b,c[J+8>>2]|0,c[J>>2]|0,1);NF(J);UO(b,i);if((g|0)!=(i|0))WO(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];KE(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];KE(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){UO(b,i);WO(b,j);break}UO(b,134232);if(!(a[j>>0]|0)){WO(b,134232);break}else{WO(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){aP(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;YO(b,f)}}else aP(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=C_(A)|0;A=C_(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=C_(n)|0;c[z+(o*48|0)>>2]=m;n=C_(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];OF(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];OF(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];PF(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];OF(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=n1(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=k1(i,104958)|0;if(!i)break;e=(a[i>>0]|0)==0?134232:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,e);WO(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}aP(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,g);WO(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];KE(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){UO(b,r);WO(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];KE(b,3,K,L,N,M,g)}D_(s);g=0;while(1){if((g|0)>=(I|0))break;D_(c[z+(g*48|0)>>2]|0);D_(c[A+(g*48|0)>>2]|0);g=g+1|0}D_(z);D_(A)}while(0);l=P;return}function DF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(QO(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);PO(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);QO(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,j,11,k,i,h,e,g,d);FF(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);FF(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);OO(a);OE(a);l=x;return}function EF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];JF(a,h)}l=j;return}function FF(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=uH((W_(j)|0)+11|0)|0;switch(e|0){case 11:{m=105198;break}case 7:{m=98557;break}case 6:{m=98567;break}default:qa(135312,96880,2730,97018)}c[o>>2]=j;c[o+4>>2]=m;Y0(n,97034,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){GF(b,d);PO(b,g,h,i,n)}oH(b,e,d);if(k|0)HF(b,d,k);if(j){if(!m){GF(b,d);PO(b,g,h,i,n)}QO(b)}D_(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;D_(c[i>>2]|0);d=uH(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function HF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(B$(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;IF(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;IF(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];bM(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];YO(b,c[(c[b>>2]|0)+336>>2]|0);UO(b,c[d+8>>2]|0);bP(b,i,3)}l=o;return}function IF(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function JF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;D_(c[j>>2]|0);d=uH(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function KF(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=TE(e,f,k)|0;if((e|0)>1){z=b+48|0;A=ez(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=ry(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(ey(A)|0)!=0;B=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?97053:97058;c[j+8>>2]=B;Pw(3,97063,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{UO(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){UF(F,n,H,E);k=c[H>>2]|0;aP(a,k,c[t>>2]|0,0,0,0);D_(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];UF(G,n/(m+n),H,E);D_(c[G>>2]|0);f=c[H>>2]|0;aP(a,f,c[t>>2]|0,0,0,0);D_(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;D_(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;aP(a,o,c[A>>2]|0,0,0,0);D_(o)}if(c[u>>2]|0){UO(a,c[c[s>>2]>>2]|0);WO(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];KE(a,2,C,D,h,i,o)}if(c[v>>2]|0){UO(a,e);WO(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];KE(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;YO(a,d)}while(0);p=p+1|0}UE(r);e=0}l=J;return e|0}function LF(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((W_(d)|0)+1|0,e)|0;b=f+10|0;if((c[46350]|0)<(f|0)){c[46350]=b;b=F_(c[46351]|0,b)|0;c[46351]=b}else b=c[46351]|0;b0(b,d)|0;while(1){e=e+-1|0;b=c[46351]|0;if(!e)break;f=b+(W_(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;p1(b,d)|0}return b|0}function MF(b){b=b|0;var d=0,e=0;d=c[46414]|0;a:do if(!d)e=7;else{d=yx(b,d)|0;switch(a[d>>0]|0){case 110:if(!(b$(d,132627)|0)){d=1;break a}else{e=7;break a}case 102:if(!(b$(d,97040)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(b$(d,97048)|0)){d=3;break a}if(!(b$(d,108195)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(ey(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function NF(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function OF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function PF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function QF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function RF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function SF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function TF(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function UF(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=uH(64)|0;c[e+4>>2]=4;n=uH(64)|0;c[e>>2]=n;XL(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=uH(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+VF(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=uH(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=uH(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];XL(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);D_(n)}l=p;return}function VF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function WF(b,d){b=b|0;d=d|0;d=fz(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=RM(b)|0;else d=OM(b,d)|0;return bG(d)|0}function XF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=vH(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=YF(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;ZF(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}_F(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;D_(g);h=s;g=s}l=q;return}function YF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(ZE(a)|0)){XL(f,a,3,.5,d,e);d=YF(e,YF(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=aG(f,b)|0}l=g;return d|0}function ZF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+$F(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function _F(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=xH(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=xH(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function $F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function aG(a,b){a=a|0;b=b|0;var d=0;d=vH(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function bG(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(B$(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((dG(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function dG(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function eG(a,b){a=a|0;b=b|0;return fG(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function fG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;Tw(n,128,o+24|0);Ww(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){Uw(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=m1(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=m1(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=m1(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=gG(b,g,0)|0;f=gG(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(gG(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}Xw(n);l=o;return f|0}function gG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(b$(d,97370)|0)==0:0))f=3;a:do if((f|0)==3){if((hG(d)|0)<<24>>24){e=a2(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(b$(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function hG(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function iG(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function jG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=NL(e,c[46397]|0,191979)|0,(eG(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Jx(d,e)|0))f=1;else{f=Jx(d,e)|0;while(1){if(!f){f=0;break a}g=NL(f,c[46420]|0,191979)|0;if(!(a[g>>0]|0)){f=1;break a}if((eG(b,g)|0)<<24>>24){f=1;break a}f=Kx(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function kG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(iG(f,e)|0)&255;l=d;return b|0}function lG(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=NE(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(ez(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;nG(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=HJ(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=oG(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((pG(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=xx(d,99679)|0;if(!g)g=0;else g=a2(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=uH(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=qG(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=uH(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=uH(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))yO(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);qQ(xx(d,97006)|0);LO(a,d);return}function mG(a){a=a|0;MO(a);OE(a);return}function nG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=xx(e,137973)|0;i=xx(e,138019)|0;k=xx(e,138006)|0;Tw(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=xx(e,108395)|0;g=QE(b,e,j)|0;if(!i)d=0;else d=WF(i,e)|0;PE(b,h,f,d,k,g,e)|0;D_(d);Xw(j);l=m;return}function oG(b){b=b|0;var d=0,e=0;b=OL(b,c[46387]|0,191979)|0;a:do if(!(a[b>>0]|0))b=0;else{AF(b)|0;b=0;d=185144;while(1){e=c[d>>2]|0;if(!e)break a;e=(b$(e,108075)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function pG(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function qG(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=uH(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function rG(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,nx(d,0,98484,0)|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=Sy(d)|0;while(1){if(!e){e=0;break a}if((jG(b,d,e)|0)<<24>>24){e=1;break a}e=Ty(d,e)|0}}else e=0;else e=1;while(0);return e|0}function sG(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);FO(a,b);return}function tG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=xx(b,138e3)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){AF(b)|0;e=185144;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=185144;break a}if(!(b$(f,108075)|0)){g=10;break}if(!(b$(f,103308)|0)){f=e;g=12;break}if(!(b$(f,103315)|0)){f=e;g=14;break}if(!(b$(f,103290)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(TE(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)Pw(0,97389,i)|0;m=vH((W_(b)|0)+1|0)|0;c[d>>2]=m;b0(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((W_(m)|0)+1)|0;c[d+4>>2]=m;b0(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);UE(j);b=1}else{c[d>>2]=0;UE(j);b=0}l=k;return b|0}function vG(a,b){a=a|0;b=b|0;GO(a,b);OE(a);return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=vH(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];ZO(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;_O(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;aP(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;bP(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];TO(a,p,d);d=j}break}case 8:{WO(a,c[r+8>>2]|0);d=1;break}case 9:{UO(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);WO(a,c[z+4>>2]|0);XO(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);WO(a,j);XO(a,n,d,o);d=3;break}case 14:{Pw(0,97455,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{Pw(0,97495,w)|0;e=0;d=j}break}case 11:{AF(c[r+8>>2]|0)|0;YO(a,185144);i=185144;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)YO(a,c[(c[a>>2]|0)+336>>2]|0);D_(f);l=x;return}function xG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=xH(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function yG(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function zG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;zG(b,e);d=xx(e,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,134647)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,137895)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,98392)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(e,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=f+1|0}return}function AG(a){a=a|0;var b=0,d=0,e=0;b=c[46356]|0;if(!b){b=Cw(20524,c[4555]|0)|0;c[46356]=b}if(!(nb[c[b>>2]&63](b,a,4)|0)){d=c[46356]|0;e=c[d>>2]|0;b=n1(a)|0;nb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function BG(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CG(a){a=a|0;var b=0;b=c[46357]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[46357]=b,(b|0)==0):0){J0(1,c[46358]|0)|0;D_(c[46358]|0)}}else{c[46357]=b+1;if(!b){c[46358]=n1(J0(1,0)|0)|0;J0(1,150481)|0}}return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)EL();do if((Az(b,134401,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){EG(b);FG(a,b);GG(a,b);CG(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=pC(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=25660;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=uO(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=HG(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(b$(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[46359]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}wO(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[46359]=0;g=27}if((g|0)==27?(g=0,(vO(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=25772;IG(i);JG(i);KG(i,b);LG(i,b);MG(i,b);if(!(c[f>>2]&128))dF(i,b);c[46359]=i}i=qC(a)|0}if((g|0)==13){Pw(1,97653,s)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;s=ry(b)|0;v=+FL();c[t>>2]=s;h[t+8>>3]=v;g1(d,97624,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];Pw(1,97674,p)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[q>>2]=t;h[q+8>>3]=v;g1(d,97624,q)|0;d=-1;break}else if((g|0)==33){CG(0);if(!0){d=0;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[r>>2]=t;h[r+8>>3]=v;g1(d,97624,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){Pw(1,97576,d)|0;if(!0)d=-1;else{d=c[15686]|0;t=ry(b)|0;v=+FL();c[e>>2]=t;h[e+8>>3]=v;g1(d,97624,e)|0;d=-1}}l=u;return d|0}function EG(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;RG(a,b);b=Ty(a,b)|0}return}function FG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=xx(d,102470)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=N1(e,102477,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=xx(d,98076)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=N1(e,102477,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=98080;f=xx(d,98083)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[46371]=nx(d,0,98446,0)|0;c[46372]=nx(d,0,98437,0)|0;c[b+320>>2]=OL(0,c[46381]|0,104968)|0;h[b+328>>3]=+LL(0,c[46380]|0,14.0,1.0);c[b+336>>2]=20560;c[b+188>>2]=ry(d)|0;l=o;return}function GG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){D_(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){D_(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){D_(e);c[g>>2]=0}e=xx(d,97827)|0;if(e){c[b+312>>2]=PG(b,d,e)|0;e=xx(d,97834)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=QG(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function HG(b){b=b|0;b=xx(b,97795)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(b$(b+1|0,97807)|0))b=1;else{b=0;break a}break}case 101:{if(!(b$(b+1|0,97817)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function IG(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function JG(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function KG(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function LG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e<k/f;i=(n?i:k)/(n?e:f);h[x>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=xx(d,97726)|0;if(g){m=C_((W_(g)|0)+1|0)|0;n=C_((W_(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((N1(g,97735,s)|0)==4){g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((N1(g,97755,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;N1(g,97775,t)|0;break}g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);D_(m);D_(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function MG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]<i?I:E)>>3];h[I>>3]=o;e=p;f=I;m=+h[(g<k?I:E)+8>>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i<g){h[e>>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k<m){f=E;j=21}else{r=e;m=k}}if((j|0)==21){h[f+8>>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;OG(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;OG(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){OG(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;OG(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];Pw(0,97706,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];NG(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];NG(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];NG(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];yG(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];yG(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function NG(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function OG(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function PG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=xx(d,97947)|0;i=b+296|0;c[i>>2]=(f|0)==0?97956:f;d=xx(d,97960)|0;f=b+300|0;d=(d|0)==0?97973:d;c[f>>2]=d;d=q1(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];Pw(0,97975,g)|0;c[f>>2]=191979}d=n1(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=k1(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=vH(f<<2)|0;else d=xH(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=xH(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=vH((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((fG(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;Pw(0,97846,j)|0;D_(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Ex(a,b)|0;while(1){if(!b)break;SG(b);b=Gx(a,b)|0}return}function SG(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)TG(a);return}function TG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)qa(98114,96880,3994,98128);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];JE(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];JE(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)qa(98144,96880,3968,98156);if(((k>>>0)%3|0|0)!=1)qa(98166,96880,3969,98156);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q<e;g=l?q:e;e=l?e:q;f=(r-q)*o+p;m=+h[c+8>>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p<j;g=l?p:j;f=l?j:p;e=(m-p)/o+q;if(e>=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function WG(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[46360]|0)!=(d|0)){w$(+(d|0)*.15915494309189535,183248,183256);c[46360]=d}g=+h[b>>3];e=+h[22907];f=+h[b+8>>3];i=+h[22906];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=xx(a,b)|0;if(a|0?(c[f>>2]=e,(N1(a,98183,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function bH(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=uH(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=xx(b,98187)|0;if(!e){e=Ta(98196)|0;if(e|0)k=3}else k=3;if((k|0)==3)cb(98208,e|0,1)|0;e=(cH(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=xx(b,98219)|0,c[46362]=e,(e|0)==0):0)c[46362]=c[46361];f=+LL(b,nx(b,0,98229,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=xx(b,98237)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(b$(e,98245)|0)){e=1;break a}break}case 66:{if(!(b$(e,98248)|0)){e=2;break a}break}case 82:{e=(b$(e,98251)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+LL(b,nx(b,0,98254,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=NL(b,nx(b,0,98262,0)|0,0)|0;if(e){c[g>>2]=i;if(N1(e,98183,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(P0(e,98270)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(KL(b,nx(b,0,98278,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=aM(NL(b,nx(b,0,98288,0)|0,0)|0,20572,20588)|0;c[(c[m>>2]|0)+244>>2]=i;dH(b);i=eH(b,98298,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;eH(b,98303,e+48|0)|0;e=QL(xx(b,98308)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=xx(b,98315)|0;do if(!e){e=xx(b,98322)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=xx(b,98334)|0;if(e|0){e=QL(e)|0;k=27}}else{e=(a2(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[46364]=aM(xx(b,98344)|0,20604,20620)|0;a[191874]=QL(xx(b,98356)|0)|0;c[46367]=0;c[46368]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=xx(b,98368)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=xx(b,98372)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+b2(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}fH(b);h[22910]=1.e+37;c[46370]=nx(b,0,98383,0)|0;c[46373]=nx(b,0,137952,0)|0;c[46374]=nx(b,0,102470,0)|0;c[46375]=nx(b,1,137966,0)|0;c[46376]=nx(b,1,138034,0)|0;c[46377]=nx(b,1,105204,0)|0;c[46378]=nx(b,1,137741,0)|0;c[46379]=nx(b,1,98392,0)|0;c[46387]=nx(b,1,138e3,0)|0;c[46380]=nx(b,1,98402,0)|0;c[46381]=nx(b,1,98411,0)|0;c[46382]=nx(b,1,98420,0)|0;k=nx(b,1,105198,0)|0;c[46384]=k;if(!k)c[46384]=nx(b,1,105198,102467)|0;c[46385]=nx(b,1,98430,0)|0;c[46388]=nx(b,1,98278,0)|0;c[46402]=nx(b,1,98437,0)|0;c[46391]=nx(b,1,98383,0)|0;c[46383]=nx(b,1,102470,0)|0;c[46389]=nx(b,1,137994,0)|0;c[46390]=nx(b,1,98446,0)|0;c[46393]=nx(b,1,98458,0)|0;c[46392]=nx(b,1,98322,0)|0;c[46394]=nx(b,1,98463,0)|0;c[46395]=nx(b,1,137942,0)|0;c[46396]=nx(b,1,134215,0)|0;c[46386]=nx(b,1,98474,0)|0;c[46397]=nx(b,1,98484,0)|0;c[46398]=nx(b,1,98490,0)|0;c[46399]=nx(b,1,98496,0)|0;c[46400]=nx(b,1,98504,0)|0;c[46401]=nx(b,1,98513,0)|0;c[46403]=nx(b,1,137952,0)|0;c[46404]=nx(b,2,98515,0)|0;c[46406]=nx(b,2,137741,0)|0;c[46407]=nx(b,2,98392,0)|0;c[46409]=nx(b,2,98402,0)|0;c[46410]=nx(b,2,98411,0)|0;c[46411]=nx(b,2,98420,0)|0;c[46412]=nx(b,2,105198,0)|0;c[46413]=nx(b,2,98430,0)|0;c[46422]=nx(b,2,98522,0)|0;c[46414]=nx(b,2,98533,0)|0;c[46425]=nx(b,2,98537,0)|0;c[46426]=nx(b,2,98547,0)|0;c[46427]=nx(b,2,98557,0)|0;c[46428]=nx(b,2,98567,0)|0;c[46429]=nx(b,2,98577,0)|0;c[46430]=nx(b,2,98591,0)|0;c[46431]=nx(b,2,98605,0)|0;c[46432]=nx(b,2,98620,0)|0;c[46433]=nx(b,2,98634,0)|0;c[46405]=nx(b,2,98645,0)|0;c[46417]=nx(b,2,98278,0)|0;c[46415]=nx(b,2,138e3,0)|0;c[46416]=nx(b,2,98652,0)|0;c[46418]=nx(b,2,98661,0)|0;c[46419]=nx(b,2,98671,0)|0;c[46420]=nx(b,2,98484,0)|0;c[46421]=nx(b,2,98496,0)|0;c[46434]=nx(b,2,98682,0)|0;c[46435]=nx(b,2,98691,0)|0;c[46436]=nx(b,2,98437,0)|0;e=ME(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=xx(b,137978)|0;if(e|0?a[e>>0]|0:0){b=pH(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function cH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=OL(a,nx(a,0,98781,0)|0,98789)|0;if(((((((O$(a,98795)|0)!=0?(O$(a,98803)|0)!=0:0)?(O$(a,98810)|0)!=0:0)?(O$(a,98813)|0)!=0:0)?(O$(a,98824)|0)!=0:0)?(O$(a,98835)|0)!=0:0)?(O$(a,98845)|0)!=0:0)if((O$(a,98856)|0)!=0?(O$(a,98862)|0)!=0:0)if((O$(a,98789)|0)!=0?(O$(a,98867)|0)!=0:0){c[b>>2]=a;Pw(0,98872,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function dH(b){b=b|0;var d=0.0,e=0,f=0;e=xx(b,98739)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(b$(e,98745)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(e,98750)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(b$(e,98759)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(b$(e,98766)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+b2(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function eH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=xx(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(N1(b,98723,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(N1(b,98733,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function fH(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=xx(b,105198)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(Rz(d)|0)!=0;g=+LL(b,nx(b,0,98402,0)|0,14.0,1.0);i=OL(b,nx(b,0,98411,0)|0,104968)|0;d=kH(b,d,e?2:0,g,i,OL(b,nx(b,0,98420,0)|0,134232)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=xx(b,102602)|0;e=(d|0)!=0;do if((fz(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=xx(b,98700)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((fz(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function gH(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){pE(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}D_(c[b+92>>2]|0);b=c[e>>2]|0}while(0);D_(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;nH(c[e+12>>2]|0);Gz(a,0,134401);return}function hH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=98945;break}case 1:{a=98813;break}case 2:{a=98951;break}default:{c[b>>2]=a;Pw(1,98915,b)|0;a=98945}}l=d;return a|0}function iH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=vH((W_(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;jH(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;jH(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;jH(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function jH(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=uH((k*56|0)+112|0)|0;else n=wH(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[45824]=c[e+4>>2];h[22914]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=nb[c[g>>2]&63](g,183296,1)|0;wL(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function kH(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=uH(88)|0;switch(pz(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=fz(ez(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=fz(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=n1(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=n1(e)|0;a[t+82>>0]=1;if(!(kR(b,t)|0))break a;switch(pz(b)|0){case 0:{c[p>>2]=ry(n)|0;Pw(3,98957,p)|0;break a}case 1:{c[q>>2]=ry(o)|0;Pw(3,98979,q)|0;break a}case 2:{p=ry(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(ey(s)|0)!=0;s=ry(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?134656:138665;c[r+8>>2]=s;Pw(3,99e3,r)|0;break a}default:break a}}case 0:{i=lH(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=RM(i)|0;else i=OM(i,s)|0;D_(c[t>>2]|0);c[t>>2]=i;iH(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:qa(99027,99043,166,99052)}while(0);l=u;return t|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(pz(d)|0){case 0:{i=ry(d)|0;g=W_(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 1:{i=ry(ez(d)|0)|0;g=W_(i)|0;j=ry(d)|0;h=W_(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 2:{h=d+48|0;i=ry(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=W_(i)|0;l=ry(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=W_(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=W_(q)|0;m=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=W_(o)|0;j=W_(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=W_(f)|0}else{n=2;f=99063}x=(ey(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=102467;w=f;x=x?138665:134656;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=99075;m=99072;j=102467;i=99066;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=vH(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function mH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)D_(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)tb[f&127](g);d=d+56|0;e=e+1|0}D_(a)}return}function nH(d){d=d|0;var e=0;if(d|0){D_(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)XQ(e,1)}else mH(c[e>>2]|0,b[d+76>>1]|0);D_(d)}return}function oH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){RO(d,0);UO(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];TO(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}SO(d);i=18}}else{CQ(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function pH(a,b){a=a|0;b=b|0;return lH(a,b,1)|0}function qH(a){a=a|0;return rH(a,0)|0}function rH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[46437]|0;if(!e){c[46438]=64;e=vH(64)|0;c[46437]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[46438]|0;if((i|0)>(b+-8|0)){e=b<<1;c[46438]=e;e=xH(c[46437]|0,e)|0;c[46437]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(sH(h)|0)!=0:0)k=18;else{f=5;d=99104}break}case 60:{f=4;d=99127;break}case 62:{f=4;d=99110;break}case 45:{f=5;d=99121;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=99097;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=99090;break a}case 39:{f=5;d=99115;break a}case 10:if(j){k=18;break a}else{f=5;d=99084;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:99078}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[46437]|0}function sH(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function tH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[46439]|0;if(!d){c[46440]=64;d=vH(64)|0;c[46439]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[46440]|0;if((i|0)>(f+-8|0)){d=f<<1;c[46440]=d;d=xH(c[46439]|0,d)|0;c[46439]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(sH(b)|0)){g=5;e=99104}else j=12;break}case 60:{g=4;e=99127;break}case 62:{g=4;e=99110;break}case 34:{g=6;e=99090;break}case 39:{g=5;e=99115;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[46439]|0}function uH(a){a=a|0;var b=0;if(!a)a=0;else{b=vH(a)|0;H3(b|0,0,a|0)|0;a=b}return a|0}function vH(a){a=a|0;if(a){a=C_(a)|0;if(!a){E1(108658,14,1,c[15686]|0)|0;a=0}}else a=0;return a|0}function wH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=F_(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)H3(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else E1(108658,14,1,c[15686]|0)|0;return a|0}function xH(a,b){a=a|0;b=b|0;a=F_(a,b)|0;if((b|0)!=0&(a|0)==0)E1(108658,14,1,c[15686]|0)|0;return a|0} +function ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=pl(xx(a,87703)|0,b)|0;q=pl(xx(a,87709)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=ry(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=ry(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;Pw(0,87715,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=vH(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(ql(H,h)|0)){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;Pw(0,87756,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(ql(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(ql(H,h)|0){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;Pw(0,87799,n)|0;K=26;break}if(!(c[C>>2]|0))qa(87841,87852,369,87863);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];rl(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(FE(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(tl((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];rl(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else qa(87880,87852,387,87863);else{if(f)b=FE(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(ql(H,f)|0)){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;Pw(0,87891,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(ql(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(ql(H,f)|0){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;Pw(0,87934,x)|0;K=52;break}if(!(c[v>>2]|0))qa(87880,87852,429,87863);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];rl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(tl(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))qa(87841,87852,452,87863);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];rl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=vH(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}D_(c[I>>2]|0);D_(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=vM(d,b)|0;if(!d){c[e>>2]=b;Pw(0,88054,e)|0;d=0}}else d=0;l=f;return d|0}function ql(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s<k?(f=r+ +(~~((k-q)*(r-t)/(q-s))|0),f>=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t<f?(m=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(m>=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=yl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=yl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=yl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=yl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;Pw(1,87976,B)|0;qa(135312,87852,78,88028)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function tl(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+ul(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)XL(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+ul(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}f=+vl(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}f=+vl(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function ul(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(xl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+ul(j,b,g,d,e,f);if(!(b>=0.0))b=+ul(k,g,c,d,e,f)}while(0);l=m;return +b}function vl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(wl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+vl(j,b,g,d,e,f);if(!(b>=0.0))b=+vl(k,g,c,d,e,f)}while(0);l=m;return +b}function wl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function xl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;Y0(b,88042,d)|0;l=c;return b|0}function zl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=C_(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(20,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(65,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(21,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(66,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=D3(183936,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;ca(20,3,88082,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;ia(99,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);D_(t|0);l=v;return}function Al(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((Al(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=ph(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=ph(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}sh(a,o);l=l+1|0}if((r|0)==23)qa(88218,88262,115,88269);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function Dl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((Dl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Fl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}xj(d);j=Sy(d)|0;while(1){if(!j)break;Gl(d,j);i=Ex(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Gl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Gx(d,i)|0}j=Ty(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(oz(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(oz(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(oz(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=ry(d)|0;c[p+4>>2]=i;Pw(0,88182,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=ry(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;Pw(1,88124,o)|0;bb(183936,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Fl(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;Jl(j,k+512|0,k);e=(a[190690]|0)+1<<24>>24;a[190690]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=Sy(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(SL(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[190690]|0)):0){Kl(b);Ll(j,b,g);Ml(b)}d=Ty(b,d)|0}Nl(j);l=k;return}function Jl(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Kl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46023]=0;return}function Ll(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Ol(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Pl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[190690]|0))continue;Ql(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[190690]|0)?(e|0)==(SL(e)|0):0)Ol(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Ml(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=vH(a<<2)|0;else a=xH(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Nl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Ol(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=uH(16)|0;if(!f)Pw(1,95943,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=uH(4e6)|0;c[f>>2]=b;if(!b){Pw(1,88282,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[190690]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[190690]|0;b=c[46023]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46023]=d;c[g+164>>2]=0;return}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Sl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Sl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Tl(b)}while(0);Ji(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Ul(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Ul(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){Ch(b);Qh(b)}return e|0}function Sl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(ig(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function Tl(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)qa(88339,88322,190,88358);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=vH(d<<6)|0;else a=xH(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=uH(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Ul(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=ig(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Vl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Wl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=ph(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=ph(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Xl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Yl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Yl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=vH((c[e>>2]<<2)+8|0)|0;else f=xH(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=uh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Yl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)qa(88302,88322,63,88329);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Xl(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Zl(a){a=a|0;c[46363]=1;rm(a);c[46363]=0;return}function _l(a){a=a|0;c[46363]=2;rm(a);c[46363]=0;return}function $l(a){a=a|0;var b=0;Az(a,134365,304,1)|0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+64|0;j=s+48|0;o=s+40|0;k=s+24|0;i=s+8|0;q=s+56|0;m=s;do if((b|0)!=0?(r=e+16|0,p=c[(c[r>>2]|0)+132>>2]|0,g=yx(e,b)|0,(a[g>>0]|0)!=0):0){a[q>>0]=0;b=p+8|0;if((c[46366]|0)>2?(c[i>>2]=p,c[i+4>>2]=b,c[i+8>>2]=p+16,c[i+12>>2]=q,(N1(g,88435,i)|0)>2):0){a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;a:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;o=p+(b<<3)|0;h[o>>3]=+h[o>>3]/+h[22908];b=b+1|0}}while(0);if((g|0)>3)Hn(e,f,3);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=p;c[k+4>>2]=b;c[k+8>>2]=q;if((N1(g,98723,k)|0)<=1){c[j>>2]=ry(e)|0;c[j+4>>2]=g;Pw(1,88449,j)|0;b=0;break}a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=p+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[22908];b=b+1|0}}while(0);do if((g|0)>2){b=c[46401]|0;if((b|0?(n=yx(e,b)|0,n|0):0)?(c[o>>2]=m,(N1(n,98183,o)|0)==1):0){u=+h[22908];t=+h[m>>3];h[p+16>>3]=u>0.0?t/u:t;Hn(e,f,3);break}In(e,f)}while(0);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=s;return b|0}function bm(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}cm(a);return}function cm(a){a=a|0;if((c[46363]|0)!=0|(c[46025]|0)<0)Fn(a);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=nx(b,0,99611,0)|0;e=nx(b,0,99645,0)|0;p=(RL(xx(b,88493)|0,0)|0)<<24>>24!=0;if(!e)e=nx(b,0,99645,191979)|0;En(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(z$(ry(j)|0,104980,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)em(j,f,99607);i=i+1|0}a:do if((f|0)==8){p=ry(j)|0;e=ry(b)|0;c[m>>2]=p;c[m+4>>2]=e;Pw(1,88505,m)|0;e=-1}else if((f|0)==12){fm(b,k,e);j=gm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[46363]|0)==1^1)?(tq(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;mM(b);if(i){d=(c[n>>2]|0)+16|0;_E(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[46367]=1;f=Sy(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=Ty(b,f)|0}}do if(!(p|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;cn(b)}while(0);if(!((j|0)!=0&(f|(an(b)|0)<<24>>24!=0))){if((j|0)==2){c[46367]=1;break}}else hm(b);$m(b,0)}while(0);l=q;return e|0}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=xx(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(N1(b,102477,j)|0)==2):0){j=d+56|0;km(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function fm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=yx(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(N1(n,102477,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;km(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=wA(b)|0;while(1){if(!f)break a;lm(f,b,d,e);f=xA(f)|0}}while(0);l=m;return}function gm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(by(a)|0){f=nx(a,2,99597,0)|0;if(!((f|0)==0|(c[46363]|0)<2)){b=0;e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=b+((im(f,d)|0)!=0&1)|0;d=Gx(a,d)|0;b=g}e=Ty(a,e)|0}if(b){b=(b|0)==(by(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function hm(a){a=a|0;var b=0,d=0,e=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;KM(b);e=b+16|0;nH(c[(c[e>>2]|0)+96>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);nH(c[(c[e>>2]|0)+100>>2]|0);nH(c[(c[e>>2]|0)+104>>2]|0);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=yx(d,b)|0;do if(a[b>>0]|0){sE(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((N1(b,88542,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((N1(b,88554,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=jm(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=vH(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((N1(b,88624,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(B$(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=PK(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}D_(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){KM(d);if(a[190691]|0){b=0;break}a[190691]=1;D=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;Pw(0,88567,A)|0;b=0;break}else if((e|0)==13){if(!(a[190691]|0)){a[190691]=1;C=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;Pw(0,88634,z)|0}D_(n);KM(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){em(d,e,99611);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){em(d,e,99607);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){em(d,e,99614);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}em(d,b,99622);b=1;break}}else b=0;while(0);l=B;return b|0}function jm(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(B$(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(B$(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((B$(c&255)|0)!=0);return d|0}function km(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((z$(ry(a)|0,104980,7)|0)==0?(mm(a,e,f)|0)!=0:0){Az(a,134401,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];nm(b,a);fm(a,d,e)}else g=4;a:do if((g|0)==4){a=wA(a)|0;while(1){if(!a)break a;lm(a,b,d,e);a=xA(a)|0}}while(0);l=h;return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=yx(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((N1(k,88682,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function om(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=xx(b,88698)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(N$(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(z$(h,88704,4)|0)){e=0;break}if(!(z$(h,102485,7)|0)){e=1;break}if(z$(h,88709,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(N1(e,96907,k)|0)>=1):0)){k=H1()|0;k=(db(0)|0)^k;c[j>>2]=k;c[m>>2]=k;Y0(i,96907,m)|0;zx(b,88698,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=om(a,d,e)|0;if((d|0)!=2&(c[46026]|0)!=0)Pw(0,88716,f)|0;if((d|0)==1)qm(a,b);i2(c[e>>2]|0);l=f;return d|0}function qm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=Sy(b)|0;f=0.0;while(1){if(!e)break;l=+E(+f)*g;j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=+F(+f)*g;a[j+119>>0]=1;if((c[46366]|0)>2)In(e,d);e=Ty(b,e)|0;f=f+i}return}function rm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[22908];do if(c[46363]|0){h[22908]=72.0;sm(b);tm(b);if((dm(b,1)|0)<0){Pw(3,88764,d)|0;break}else{PI(b,0);f=32;break}}else{o=RL(xx(b,88493)|0,0)|0;h[22908]=+ML(b);sm(b);g=um(b)|0;Sp(b,k,0)|0;i=vm(b)|0;j=ZD(b,0,n)|0;d=YD(b,-1,8)|0;c[46025]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46025]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){wm(b,g,i);Vp(b,k)|0;tm(b);if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else f=11}else if(e){c[46025]=8;f=11}else f=11;while(0);if((f|0)==11){j=dD(b,p,88792,m)|0;d=c[p>>2]|0;do if((d|0)<=1){wm(b,g,i);Vp(b,k)|0;if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;vD(d)|0;wm(d,g,i);Vp(d,k)|0;$M(d,2);if(f)hn(d);else xm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=uH(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46025];c[n+20>>2]=e;c[n+12>>2]=1;VD(d,j,b,n)|0;D_(e)}while(0);mM(b);tm(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;Fn(n);Cz(n,134401)|0;dz(b,n)|0;d=d+1|0}D_(j)}PI(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[22908]=q;l=r;return}function sm(a){a=a|0;var d=0,e=0,f=0,g=0;$M(a,2);f=KL(a,nx(a,0,89557,0)|0,2,2)|0;d=(KL(a,nx(a,0,90633,0)|0,f,2)|0)&65535;b[(c[(fz(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[46366]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Hm(a);return}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[46366]|0)>2&(c[46401]|0)!=0){b=Sy(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;Y0(d,98183,e)|0;rx(b,c[46401]|0,d)|0;b=Ty(a,b)|0}}while(0);l=f;return}function um(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=xx(b,89477)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(b$(d,89482)|0)){b=0;break a}break}case 109:{if(!(b$(d,89485)|0)){b=1;break a}break}case 104:{if(!(b$(d,89491)|0)){b=2;break a}break}default:{}}b=ry(b)|0;c[e>>2]=d;c[e+4>>2]=b;Pw(0,89496,e)|0;b=1}while(0);l=f;return b|0}function vm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=xx(b,89260)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(b$(d,89266)|0)){b=1;break a}break}case 115:{if(!(b$(d,89274)|0)){b=2;break a}if(!(b$(d,89281)|0)){b=0;break a}break}case 109:{if(!(b$(d,89291)|0)){if(nx(b,2,90566,0)|0){b=3;break a}c[e>>2]=ry(b)|0;Pw(0,89295,e)|0;Pw(3,89358,f)|0;b=0;break a}break}default:{}}b=ry(b)|0;c[g>>2]=d;c[g+4>>2]=b;Pw(0,89415,g)|0;b=0}while(0);l=h;return b|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=xx(a,90975)|0;if(!e)if((b|0)==1)e=200;else e=(ay(a)|0)*100|0;else e=a2(e)|0;c[46365]=e;e=yn(a,b)|0;do if(!((e|0)<2|(c[46365]|0)<0))if(!b){zm(a,e,d);break}else{ym(a,e,b,d,c[46366]|0);break}while(0);return}function xm(a){a=a|0;mM(a);$m(a,1);return}function ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+40|0;o=u+24|0;n=u;p=u+48|0;t=u+44|0;q=(d|0)==2;i=pm(a,b,q?0:2)|0;j=Gm(a)|0;k=j|4;s=vH(f<<2)|0;c[s>>2]=vH(O(b<<3,f)|0)|0;g=c[46366]|0;f=1;while(1){if((f|0)>=(g|0))break;c[s+(f<<2)>>2]=(c[s>>2]|0)+((O(f,b)|0)<<3);f=f+1|0}g=(i|0)==0;f=g?k:j;if(0){k=c[15686]|0;j=c[46365]|0;m=+h[22909];c[n>>2]=e;c[n+4>>2]=g&1;c[n+8>>2]=f&3;c[n+12>>2]=j;h[n+16>>3]=m;g1(k,89073,n)|0;E1(89130,15,1,k)|0;EL();E1(89146,13,1,k)|0}n=Cm(a,b,p,d,e,t)|0;if(0){k=c[15686]|0;m=+FL();c[o>>2]=b;h[o+8>>3]=m;g1(k,89160,o)|0}if((d|0)!=1){m=+LL(a,nx(a,0,89179,0)|0,0.0,-1797693134862315708145274.0e284);if(q){f=Gq(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0,m)|0;g=12}else g=14}else{f=qn(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0)|0;g=12}if((g|0)==12)if((f|0)<0)Pw(3,89189,r)|0;else g=14;a:do if((g|0)==14){g=Sy(a)|0;while(1){if(!g)break a;k=c[g+16>>2]|0;i=c[k+120>>2]|0;j=c[46366]|0;k=k+132|0;f=0;while(1){if((f|0)>=(j|0))break;h[(c[k>>2]|0)+(f<<3)>>3]=+h[(c[s+(f<<2)>>2]|0)+(i<<3)>>3];f=f+1|0}g=Ty(a,g)|0}}while(0);br(n);D_(c[s>>2]|0);D_(s);D_(c[t>>2]|0);l=u;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;g=l;l=l+48|0;f=g+32|0;e=g;switch(d|0){case 2:{Am(a,b);break}case 1:{if(!(Cq(a,b)|0)){c[e>>2]=ry(a)|0;Pw(0,88802,e)|0;Pw(3,91952,g+8|0)|0;Pw(3,88854,g+16|0)|0;Pw(3,88926,g+24|0)|0;Wn(a,b)}break}default:{Wn(a,b);if((d|0)==3)Bm(a)}}Kn(a,b);Ln(a,b);if(0){e=c[15686]|0;j=c[46365]|0;i=+h[22909];c[f>>2]=d;c[f+4>>2]=j;h[f+8>>3]=i;g1(e,88964,f)|0;EL()}Mn(a,b);l=g;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=Cm(a,b,j,0,2,0)|0;i=ds(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}D_(c[i>>2]|0);D_(i);br(g);l=j;return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Cm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0;j=by(a)|0;G=GI()|0;if((f|0)==2){k=0;D=0}else{D=nx(a,2,90566,0)|0;k=(c[46404]|0)!=0&1;D=(D|0)!=0}A=(e|1|0)==3;E=vH(b*20|0)|0;F=vH(b<<2)|0;l=(j<<1)+b<<2;m=vH(l)|0;z=A|D;if(z)f=vH(l)|0;else f=0;C=(k|0)!=0;if(C)j=vH(l)|0;else j=0;if(A)k=vH(l)|0;else k=0;l=0;x=Sy(a)|0;y=0;while(1){if(!x)break;JI(G);if((c[(c[x+16>>2]|0)+120>>2]|0)!=(y|0)){B=12;break}c[F+(y<<2)>>2]=x;u=E+(y*20|0)+4|0;c[u>>2]=m;v=E+(y*20|0)+8|0;c[v>>2]=z?f:0;w=E+(y*20|0)+12|0;c[w>>2]=C?j:0;c[E+(y*20|0)+16>>2]=A?k:0;r=1;t=Jx(a,x)|0;s=1;q=l;m=m+4|0;f=z?f+4|0:f;j=C?j+4|0:j;k=A?k+4|0:k;while(1){if(!t)break;n=c[t>>2]&3;p=t+-48|0;l=t+48|0;do if((c[((n|0)==2?t:p)+40>>2]|0)==(c[((n|0)==3?t:l)+40>>2]|0)){n=r;p=s;l=q}else{n=Dm(G,t,r)|0;if((n|0)!=(r|0)){if(C){p=(c[w>>2]|0)+(n<<2)|0;g[p>>2]=+h[(c[t+16>>2]|0)+128>>3]+ +g[p>>2]}if(!D){n=r;p=s;l=q;break}n=(c[v>>2]|0)+(n<<2)|0;H=+h[(c[t+16>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=H>o?H:o;n=r;p=s;l=q;break}I=c[t>>2]&3;l=(I|0)==3?t:l;q=q+1|0;n=r+1|0;r=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(x|0)?((I|0)==2?t:p):l)+40>>2]|0)+16>>2]|0)+120>>2];if(C){g[j>>2]=+h[(c[t+16>>2]|0)+128>>3];j=j+4|0}if(D){l=f+4|0;g[f>>2]=+h[(c[t+16>>2]|0)+136>>3];if(A){f=l;B=27}else f=l}else if(A){g[f>>2]=1.0;f=f+4|0;B=27}if((B|0)==27){B=0;l=xx(t,98533)|0;if((l|0)!=0?(z$(l,132627,4)|0)==0:0)o=0.0;else o=(x|0)==(c[((c[t>>2]&3|0)==2?t:p)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;k=k+4|0}p=s+1|0;l=q;m=r}while(0);r=n;t=Kx(a,t,x)|0;s=p;q=l}c[E+(y*20|0)>>2]=s;c[c[u>>2]>>2]=y;l=q;x=Ty(a,x)|0;y=y+1|0}if((B|0)==12)qa(89003,89018,819,89030);if(A)Em(E,b,e,F);n=(l|0)/2|0;a:do if((n|0)!=(by(a)|0)){l=(n<<1)+b<<2;k=xH(c[E+4>>2]|0,l)|0;if(D)f=xH(c[E+8>>2]|0,l)|0;if(C){m=0;j=xH(c[E+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[E+(m*20|0)>>2]|0;c[E+(m*20|0)+4>>2]=k;if(D){c[E+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(C){c[E+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)D_(F);else c[i>>2]=F;KI(G);return E|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return LI(a,f?b:e,f?e:b,d)|0}function Em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Fm(b,g,e,f);g=g+1|0}return}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Fm(b,p,e,f);break}g[h>>2]=o;i=b+(p*20|0)+4|0;j=c[b+(p*20|0)>>2]|0;h=1;while(1){if((h|0)>=(j|0)){h=9;break a}if((c[(c[i>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)qa(89044,89018,721,89064);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Gm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=KL(a,nx(a,0,89205,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89205;Pw(0,89214,b)|0;a=2}l=d;return a|0}function Hm(a){a=a|0;var b=0,d=0,e=0;d=ay(a)|0;c[46026]=nx(a,1,99597,0)|0;e=nx(a,1,90570,0)|0;b=Sy(a)|0;while(1){if(!b)break;$l(b);am(c[46026]|0,e,b,d)|0;b=Ty(a,b)|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Im(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Im(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=uH(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Mm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0.0;k=l;l=l+16|0;g=k;h=e+16|0;i=b[(c[h>>2]|0)+168>>1]|0;j=i<<16>>16;if(i<<16>>16!=1&(a[191874]|0)==0){i=vH(j<<2)|0;g=0;while(1){if((g|0)>=(j|0))break;c[i+(g<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;g=g+1|0}m=+(f|0);YK(d,i,0,j,m,m,17764);e=0;while(1){if((e|0)>=(j|0))break;g=c[i+(e<<2)>>2]|0;h=g+16|0;if(c[(c[h>>2]|0)+96>>2]|0){f=ez(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)|0;kM(f,c[(c[h>>2]|0)+96>>2]|0)}dL(g);e=e+1|0}D_(i)}else{c[g>>2]=e;m=+(f|0);YK(d,g,0,1,m,m,17764);if(c[(c[h>>2]|0)+96>>2]|0){j=ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;kM(j,c[(c[h>>2]|0)+96>>2]|0)}dL(e)}l=k;return}function Nm(a){a=a|0;return 0}function Om(a){a=a|0;return 0}function Pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+384|0;O=Q+368|0;P=Q+112|0;j=Q+32|0;r=Q+336|0;K=Q+320|0;L=Q+304|0;M=Q+288|0;N=Q+272|0;i=Q+256|0;H=Q+240|0;I=Q+224|0;J=Q+208|0;t=Q+192|0;u=Q+176|0;v=Q+160|0;z=Q+144|0;A=Q+128|0;B=Q+96|0;D=Q+16|0;G=Q;a:do switch(HJ(b)|0){case 3:case 1:{f=uH(8)|0;z=b+16|0;b=c[z>>2]|0;i=c[b+12>>2]|0;do if(!(e<<24>>24)){b=c[i+8>>2]|0;if((b|0)>2){y=0.0;j=c[i+44>>2]|0;e=0;p=+g[d>>2];q=+g[d+4>>2];break}else{y=+k2()*.01;b=8;j=0;e=1;p=0.0;q=0.0;break}}else if(!(c[i+40>>2]&2048)){q=+h[b+88>>3];p=-q;y=+h[b+80>>3];x=y*-.5;h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;y=y*.5;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}else{jM(r,i);p=+h[r>>3];x=+h[r+8>>3];q=+h[r+16>>3];y=+h[r+24>>3];h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}while(0);c[f+4>>2]=b;r=uH(b<<4)|0;c[f>>2]=r;s=1.0/+(b|0);t=d+8|0;u=d+4|0;v=(b|0)==4;w=-p;x=-q;i=0;while(1){if((b|0)<=(i|0))break a;do if(e){k=+(i|0)*6.283185307179586*s+y;m=+E(+k);k=+F(+k);if(!(a[t>>0]|0)){P=c[z>>2]|0;n=k*+g[u>>2]*+h[P+80>>3];k=m*+g[d>>2]*(+h[P+96>>3]+ +h[P+88>>3])}else{P=c[z>>2]|0;n=(+h[P+80>>3]+ +g[u>>2])*k;k=(+h[P+96>>3]+ +h[P+88>>3]+ +g[d>>2])*m}o=k*.5;k=n*.5}else{if(!(a[t>>0]|0)){o=+h[j+(i<<4)>>3]*p;k=+h[j+(i<<4)+8>>3]*q;break}if(!v){o=+h[j+(i<<4)>>3];k=+h[j+(i<<4)+8>>3];n=+C(+(k*k+o*o));o=(p/n+1.0)*o;k=(q/n+1.0)*k;break}switch(i|0){case 0:{m=q;k=p;break}case 1:{m=q;k=w;break}case 2:{m=x;k=w;break}case 3:{m=x;k=p;break}default:{m=0.0;k=0.0}}o=+h[j+(i<<4)>>3]+k;k=+h[j+(i<<4)+8>>3]+m}while(0);O=c[z>>2]|0;P=b-i+-1|0;h[r+(P<<4)>>3]=+h[O+16>>3]+o;h[r+(P<<4)+8>>3]=+h[O+24>>3]+k;i=i+1|0}}case 2:{G=b+16|0;f=c[(c[G>>2]|0)+12>>2]|0;k=+h[f+16>>3];o=+h[f+24>>3];m=+h[f+32>>3];n=+h[f+40>>3];f=uH(8)|0;c[f+4>>2]=4;b=uH(64)|0;c[f>>2]=b;G=(c[G>>2]|0)+16|0;c[P>>2]=c[G>>2];c[P+4>>2]=c[G+4>>2];c[P+8>>2]=c[G+8>>2];c[P+12>>2]=c[G+12>>2];if(!(a[d+8>>0]|0)){c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(i,k,o,O,d);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];N=(c[f>>2]|0)+16|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(H,k,n,O,d);c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];N=(c[f>>2]|0)+32|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(I,m,n,O,d);c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];N=(c[f>>2]|0)+48|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(J,m,o,O,d);c[N>>2]=c[J>>2];c[N+4>>2]=c[J+4>>2];c[N+8>>2]=c[J+8>>2];c[N+12>>2]=c[J+12>>2];break a}else{y=k-+g[d>>2];J=d+4|0;x=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(K,y,x,O);c[b>>2]=c[K>>2];c[b+4>>2]=c[K+4>>2];c[b+8>>2]=c[K+8>>2];c[b+12>>2]=c[K+12>>2];K=(c[f>>2]|0)+16|0;x=k-+g[d>>2];y=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(L,x,y,O);c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];L=(c[f>>2]|0)+32|0;y=m+ +g[d>>2];x=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(M,y,x,O);c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];M=(c[f>>2]|0)+48|0;x=m+ +g[d>>2];y=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(N,x,y,O);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];break a}}case 4:{b=b+16|0;f=uH(8)|0;c[f+4>>2]=4;i=uH(64)|0;c[f>>2]=i;j=c[b>>2]|0;N=j+16|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];k=-+h[j+88>>3];if(!(a[d+8>>0]|0)){x=-+h[j+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(A,k,x,O,d);c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];N=(c[f>>2]|0)+16|0;M=c[b>>2]|0;x=-+h[M+88>>3];y=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(B,x,y,O,d);c[N>>2]=c[B>>2];c[N+4>>2]=c[B+4>>2];c[N+8>>2]=c[B+8>>2];c[N+12>>2]=c[B+12>>2];N=(c[f>>2]|0)+32|0;M=c[b>>2]|0;y=+h[M+96>>3];x=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(D,y,x,O,d);c[N>>2]=c[D>>2];c[N+4>>2]=c[D+4>>2];c[N+8>>2]=c[D+8>>2];c[N+12>>2]=c[D+12>>2];N=(c[f>>2]|0)+48|0;M=c[b>>2]|0;x=+h[M+96>>3];y=-+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(G,x,y,O,d);c[N>>2]=c[G>>2];c[N+4>>2]=c[G+4>>2];c[N+8>>2]=c[G+8>>2];c[N+12>>2]=c[G+12>>2];break a}else{y=k-+g[d>>2];M=d+4|0;x=-+h[j+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(t,y,x,O);c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];N=(c[f>>2]|0)+16|0;L=c[b>>2]|0;x=-+h[L+88>>3]-+g[d>>2];y=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(u,x,y,O);c[N>>2]=c[u>>2];c[N+4>>2]=c[u+4>>2];c[N+8>>2]=c[u+8>>2];c[N+12>>2]=c[u+12>>2];N=(c[f>>2]|0)+32|0;L=c[b>>2]|0;y=+h[L+96>>3]+ +g[d>>2];x=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(v,y,x,O);c[N>>2]=c[v>>2];c[N+4>>2]=c[v+4>>2];c[N+8>>2]=c[v+8>>2];c[N+12>>2]=c[v+12>>2];N=(c[f>>2]|0)+48|0;L=c[b>>2]|0;x=+h[L+96>>3]+ +g[d>>2];y=-+h[L+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(z,x,y,O);c[N>>2]=c[z>>2];c[N+4>>2]=c[z+4>>2];c[N+8>>2]=c[z+8>>2];c[N+12>>2]=c[z+12>>2];break a}}default:f=0}while(0);l=Q;return f|0}function Qm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Rm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+g[e+4>>2]*c+ +h[d+8>>3];h[a>>3]=+g[e>>2]*b+ +h[d>>3];h[a+8>>3]=c;return}function Sm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Tm(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Tm(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];vU(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Um(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+144|0;p=u+104|0;q=u+88|0;o=u+80|0;n=u+72|0;j=u+64|0;s=u+128|0;k=u+32|0;m=u+124|0;t=u+16|0;r=u;i=u+120|0;h=(c[b+16>>2]|0)+144|0;g=c[h>>2]|0;h=c[h+4>>2]|0;v=j;c[v>>2]=g;c[v+4>>2]=h;v=g;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];h=g+(h+-1<<4)|0;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];a:do if(!(f<<24>>24)){g=-1111;f=-1111}else{g=-1111;f=-1111;h=0;while(1){if((h|0)>=(e|0))break a;if((f|0)==-1111){f=c[d+(h<<2)>>2]|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];f=(wU(q,p)|0)==0;f=f?-1111:h}if((g|0)==-1111){g=c[d+(h<<2)>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];g=(wU(q,p)|0)==0;g=g?-1111:h}h=h+1|0}}while(0);Vm(d,e,f,g,i,m);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;h=c[i>>2]|0;v=c[m>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];if((xU(h,v,p,k,s)|0)<0){t=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;v=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[n>>2]=t;c[n+4>>2]=v;Pw(1,89563,n)|0}else{if(0>1){g=c[15686]|0;n=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;f=b+-48|0;v=ry(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)|0;c[o>>2]=n;c[o+4>>2]=v;g1(g,89611,o)|0;g=b}else{f=b+-48|0;g=b}QK(b,c[((c[g>>2]&3|0)==2?b:f)+40>>2]|0,c[s>>2]|0,c[s+4>>2]|0,17764);D_(h);c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];jL(a,b,q,p)}l=u;return}function Vm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=vH(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else qa(89625,89632,77,89647)}function Wm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;k=n+12|0;f=n;uq(f,a);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;KK(g);g=Gx(a,g)|0}f=Ty(a,f)|0}h=Cw(17728,c[4555]|0)|0;f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;if((c[46363]|0)>1?(i=c[g+16>>2]|0,(c[i+8>>2]|0)!=0):0){o=i+168|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}else m=14;if((m|0)==14?(m=0,j=Xm(h,g)|0,(j|0)!=(g|0)):0){o=c[j+16>>2]|0;p=o+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;o=o+172|0;c[(c[g+16>>2]|0)+172>>2]=c[o>>2];c[o>>2]=g}g=Gx(a,g)|0}f=Ty(a,f)|0}yw(h)|0;if(!(nb[d&63](a,k,e)|0)){c[46367]=1;f=0}else f=1;l=n;return f|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;e=c[b>>2]&3;i=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;do if(i>>>0>=e>>>0){d=b+16|0;if(i>>>0>e>>>0){d=c[d>>2]|0;o=e;e=i;k=+h[d+16>>3];m=+h[d+24>>3];g=+h[d+56>>3];f=+h[d+64>>3];break}o=c[d>>2]|0;j=+h[o+56>>3];n=+h[o+64>>3];g=+h[o+16>>3];f=+h[o+24>>3];if(!(g<j))if(!(g>j)){d=f>n;if(f<n){o=i;e=i;k=j;m=n}else{o=i;e=i;k=g;m=f;g=d?j:g;f=d?n:f}}else{o=i;e=i;k=g;m=f;g=j;f=n}else{o=i;e=i;k=j;m=n}}else{d=c[b+16>>2]|0;o=i;k=+h[d+56>>3];m=+h[d+64>>3];g=+h[d+16>>3];f=+h[d+24>>3]}while(0);c[p+8>>2]=o;h[p+16>>3]=g;h[p+24>>3]=f;c[p+32>>2]=e;h[p+40>>3]=k;h[p+48>>3]=m;c[p+56>>2]=b;p=c[(nb[c[a>>2]&63](a,p,1)|0)+56>>2]|0;l=q;return p|0}function Ym(a,b){a=a|0;b=b|0;return Wm(a,21,b)|0}function Zm(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;F=l;l=l+112|0;B=F+88|0;A=F+72|0;t=F+40|0;q=F+8|0;p=F;u=F+64|0;C=F+48|0;D=F+24|0;i=(c[46363]|0)>1&1;do if((f|0)>5){s=uH((ay(d)|0)<<2)|0;o=(f|0)==8;n=o&1;m=Sy(d)|0;r=0;while(1){if(!m)break;j=Pm(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=r}else{c[k>>2]=r;c[s+(r<<2)>>2]=j;j=r+1|0}m=Ty(d,m)|0;r=j}if(s){j=ms(s,r)|0;if(j|0){if(o){y=0;z=s;x=s;w=1;break}y=sU(s,r)|0;z=s;x=s;w=1;break}if(o){Pw(0,89661,p)|0;j=0;y=0;z=s;x=s;w=1;break}else{G=+g[e+4>>2];h[q>>3]=+g[e>>2];h[q+8>>3]=G;Pw(0,89739,q)|0;j=0;y=0;z=s;x=s;w=1;break}}else{j=0;y=0;z=0;x=0;w=0}}else{j=0;y=0;z=0;r=0;x=0;w=0}while(0);if(0){k=c[15686]|0;if((f|0)==8&(j|0)!=0)m=89845;else m=(y|0)==0?89831:(f|0)==10?107030:89821;c[t>>2]=m;g1(k,89862,t)|0}v=(y|0)!=0;a:do if(!v){if((f|0)==8&(j|0)!=0){cN(d,0);i=1}}else{k=Sy(d)|0;while(1){if(!k)break a;j=Ex(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Sm(u,j,y,1,0,0);q=u;s=c[q+4>>2]|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;j=Gx(d,j)|0}k=Ty(d,k)|0}}while(0);p=(i|0)==0;q=d+60|0;s=(f|0)==10;i=0;o=Sy(d)|0;j=0;while(1){if(!o)break;t=o+16|0;e=Ex(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;k=e+16|0;m=c[k>>2]|0;if(!p?(c[m+8>>2]|0)!=0:0){H=(c[t>>2]|0)+16|0;u=m+16|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Tm(C,A,B);n=(c[n+16>>2]|0)+16|0;u=(c[k>>2]|0)+56|0;c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Tm(D,A,B);c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];jL(d,e,A,B)}else E=35;b:do if((E|0)==35){E=0;H=b[m+168>>1]|0;k=H<<16>>16;if(H<<16>>16){if((o|0)==(n|0)){if(!i){j=uH(96)|0;c[j+84>>2]=uH(((ay(d)|0)<<5)+11520|0)|0;i=j}Mm(i,e,c[(c[(c[q>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!v){zJ(d,e,f,17764);break}k=a[191874]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(s)Um(d,m,z,r,1);else _m(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=Gx(d,e)|0}o=Ty(d,o)|0}if(v)uU(y);if(i|0){D_(c[i+84>>2]|0);D_(j)}if(w){i=0;while(1){if((i|0)>=(r|0))break;D_(c[z+(i<<2)>>2]|0);i=i+1|0}D_(x)}l=F;return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;d=k+40|0;h=k+80|0;e=k+32|0;i=k+16|0;j=k;m=(c[b+16>>2]|0)+144|0;n=c[m>>2]|0;m=c[m+4>>2]|0;o=e;c[o>>2]=n;c[o+4>>2]=m;o=n;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];m=n+(m+-1<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];oV(g,h);if(0>1){o=c[15686]|0;m=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;e=b+-48|0;n=ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0;c[d>>2]=m;c[d+4>>2]=n;g1(o,89887,d)|0;d=e;e=b}else{d=b+-48|0;e=b}QK(b,c[((c[e>>2]&3|0)==2?b:d)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17764);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];jL(a,b,f,g);l=k;return}function $m(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)an(a)|0;if(e<<16>>16)Ym(a,e&65535)|0;return}function an(a){a=a|0;var b=0,d=0,e=0,f=0;d=bn(a)|0;b=Sy(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=Ty(a,b)|0}return d|0}function bn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{cn(a);b=1;e=c[d>>2]|0}j=(c[e+116>>2]&1|0)==0;if(!j){k=e+32|0;i=+h[k>>3];d=e+40|0;h[k>>3]=+h[d>>3];h[d>>3]=i}d=c[e+8>>2]|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(g<1.0|f<1.0)if(g<f){i=1.0;f=f/g;break b}else{i=g/f;f=1.0;break b}else i=g;break}case 5:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(!(g>1.0&f>1.0))break a;f=g<f?g:f;i=f;break}case 1:{g=+h[d+16>>3];f=+h[e+40>>3]/+h[e+32>>3];if(f<g){i=1.0;f=g/f;break b}else{i=f/g;f=1.0;break b}}default:break a}while(0);g=j?f:i;f=j?i:f;c:do if((c[46363]|0)>1){d=Sy(a)|0;while(1){if(!d)break c;b=Ex(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)dn(b,f,g);b=Gx(a,b)|0}d=Ty(a,d)|0}}while(0);b=Sy(a)|0;while(1){if(!b)break;k=c[(c[b+16>>2]|0)+132>>2]|0;h[k>>3]=+h[k>>3]*f;k=k+8|0;h[k>>3]=+h[k>>3]*g;b=Ty(a,b)|0}en(a,f,g);b=1}else b=0;while(0);return b|0}function cn(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f*.013888888888888888;i=+h[m+8>>3];j=i*.013888888888888888;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];fn(d,k)}d=Gx(b,d)|0}e=Ty(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];gn(b,k);l=n;return}function dn(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0;p=c[b>>2]&3;i=c[(c[(c[((p|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=(d+-1.0)*72.0;q=s*+h[i>>3];t=(e+-1.0)*72.0;r=t*+h[i+8>>3];p=c[(c[(c[((p|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=s*+h[p>>3];t=t*+h[p+8>>3];p=c[b+16>>2]|0;i=c[p+8>>2]|0;j=c[i+4>>2]|0;k=j+-1|0;b=0;i=c[i>>2]|0;while(1){if((b|0)>=(j|0))break;l=c[i+4>>2]|0;m=l+-1|0;n=(b|0)==(k|0);f=0;g=c[i>>2]|0;while(1){if((f|0)>=(l|0))break;do if(f|b){o=+h[g>>3];if((f|0)==(m|0)&n){h[g>>3]=o+q;u=g+8|0;h[u>>3]=+h[u>>3]+r;break}else{h[g>>3]=o*d;u=g+8|0;h[u>>3]=+h[u>>3]*e;break}}else{h[g>>3]=+h[g>>3]+s;u=g+8|0;h[u>>3]=+h[u>>3]+t}while(0);f=f+1|0;g=g+16|0}if(c[i+8>>2]|0){u=i+16|0;h[u>>3]=+h[u>>3]+s;u=i+24|0;h[u>>3]=+h[u>>3]+t}if(c[i+12>>2]|0){u=i+32|0;h[u>>3]=+h[u>>3]+q;u=i+40|0;h[u>>3]=+h[u>>3]+r}b=b+1|0;i=i+48|0}b=c[p+96>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]*d;u=b+64|0;h[u>>3]=+h[u>>3]*e}b=c[p+100>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+q;u=b+64|0;h[u>>3]=+h[u>>3]+r}b=c[p+104>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+s;u=b+64|0;h[u>>3]=+h[u>>3]+t}return}function en(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;en(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function fn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function gn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];gn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function hn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;mM(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]*.013888888888888888;g=+h[b+24>>3]*.013888888888888888;b=Sy(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=Ty(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];jn(a,d);$m(a,1);l=i;return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];jn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function kn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+k2();i=j+8|0;h[j>>3]=+k2();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+k2();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Is(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;n=wn(b,b,0.0)|0;o=wn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(Bq(b,n,o)|0)){D_(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]+ +h[p+(j<<3)>>3]+ +h[p+(e<<3)>>3]*-2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);xn(n);xn(o);return d|0}function mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;if(c[a+8>>2]|0){d=nn(a,b)|0;f=0.0;e=0;p=0;while(1){if((p|0)>=(b|0))break;e=e+p|0;o=c[a+(p*20|0)>>2]|0;k=a+(p*20|0)+4|0;m=(O(p,b)|0)-e|0;n=a+(p*20|0)+8|0;j=1;while(1){if((j|0)>=(o|0))break;i=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((i|0)>=(p|0)){i=d+(m+i<<2)|0;s=+g[(c[n>>2]|0)+(j<<2)>>2];f=f+ +B(+(+g[i>>2]-s));g[i>>2]=s}j=j+1|0}p=p+1|0}if(0){b=c[15686]|0;h[q>>3]=f;g1(b,89903,q)|0}}else d=0;l=r;return d|0}function nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;j=uH(b<<2)|0;zq(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;ir(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}D_(j);Aq(h);l=m;return i|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;k=uH(b<<2)|0;zq(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;vq(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}D_(k);Aq(i);l=n;return j|0}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=uH(e<<2)|0;q=uH(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;_r(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=+((c[a+(p*20|0)>>2]|0)+-1|0)+l;g[f+(e<<2)>>2]=s-+((Zr(a,h,p,q)|0)<<1|0);e=e+1|0}$r(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=on(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;_r(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Zr(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(l<s)l=+(h-((Zr(a,j,e,q)|0)<<1)|0);g[f+(i<<2)>>2]=l;i=i+1|0}$r(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=nn(a,b)|0}D_(q);D_(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function qn(a,b,e,f,i,j,k,m,n){a=a|0;b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0;M=l;l=l+80|0;L=M+56|0;K=M+48|0;A=M+40|0;u=M+32|0;t=M+24|0;s=M+16|0;p=M+8|0;o=M;q=k&4;J=k&3;a:do if((n|0)<0)e=0;else{if(0)EL();k=(m|0)==2;b:do if(k){if(0)E1(91878,24,1,c[15686]|0)|0;e=pn(a,b)|0;w=14}else{switch(m|0){case 1:{e=ln(a,b)|0;if(e|0){I=e;break b}Pw(0,91903,o)|0;Pw(3,91952,p)|0;w=15;break b}case 3:break;default:{w=15;break b}}if(0)E1(92005,21,1,c[15686]|0)|0;e=mn(a,b)|0;w=14}while(0);if((w|0)==14)if(!e)w=15;else I=e;do if((w|0)==15){if(0)E1(92027,26,1,c[15686]|0)|0;if(!(c[a+8>>2]|0)){I=on(a,b)|0;break}else{I=nn(a,b)|0;break}}while(0);if(0){H=c[15686]|0;h[s>>3]=+FL();g1(H,92054,s)|0;E1(92066,25,1,H)|0;EL()}c:do if((b|0)>1&(q|0)!=0)if((rn(a,b,f,j,q,J,k&1)|0)<0){u=0;t=0;e=-1;a=0;s=0;q=0;p=0;o=0;m=0;k=0}else{k=0;while(1){if((k|0)>=(j|0)){y=0;w=35;break c}m=f+(k<<2)|0;r=1.0;e=0;while(1){if((e|0)==(b|0))break;x=+B(+(+h[(c[m>>2]|0)+(e<<3)>>3]));r=x>r?x:r;e=e+1|0}r=1.0/r;e=0;while(1){if((e|0)==(b|0)){e=0;break}H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]*r;e=e+1|0}while(1){if((e|0)==(b|0))break;x=(+k2()+-.5)*1.0e-06;H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]+x;e=e+1|0}Is(b,c[m>>2]|0);k=k+1|0}}else{y=kn(0,b,j,f,i)|0;w=35}while(0);d:do if((w|0)==35){if(0){H=c[15686]|0;h[t>>3]=+FL();g1(H,92092,t)|0}if((b|0)==1|(n|0)==0){e=0;break a}if(0){H=c[15686]|0;h[u>>3]=+FL();g1(H,92054,u)|0;E1(89925,26,1,H)|0;EL()}s=j<<2;H=uH(s)|0;t=b<<2;a=O(t,j)|0;G=uH(a)|0;e=0;while(1){if((e|0)>=(j|0))break;m=G+((O(e,b)|0)<<2)|0;c[H+(e<<2)>>2]=m;o=f+(e<<2)|0;k=0;while(1){if((k|0)>=(b|0))break;g[m+(k<<2)>>2]=+h[(c[o>>2]|0)+(k<<3)>>3];k=k+1|0}e=e+1|0}e:do if(!J){p=b+-1|0;e=0;r=0.0;o=0;while(1){if((o|0)>=(p|0))break e;q=b-o|0;m=e;k=1;while(1){e=m+1|0;if((k|0)>=(q|0))break;m=e;r=+g[I+(e<<2)>>2]+r;k=k+1|0}o=o+1|0}}else r=+(b|0)*.5*+(b+-1|0);while(0);C=(O(b+1|0,b)|0)/2|0;D=(J|0)==2;if(D)ct(C,I);dt(C,I);E=b<<3;m=uH(E)|0;H3(m|0,0,E|0)|0;F=b+-1|0;e=0;o=0;while(1){if((o|0)>=(F|0)){e=b;k=0;o=0;break}p=b-o|0;v=0.0;k=1;while(1){e=e+1|0;if((k|0)>=(p|0))break;x=+g[I+(e<<2)>>2];z=m+(k+o<<3)|0;h[z>>3]=+h[z>>3]-x;v=v+x;k=k+1|0}z=m+(o<<3)|0;h[z>>3]=+h[z>>3]-v;o=o+1|0}while(1){if((k|0)>=(b|0))break;g[I+(o<<2)>>2]=+h[m+(k<<3)>>3];z=e+o|0;e=e+-1|0;k=k+1|0;o=z}z=uH(s)|0;c[z>>2]=uH(a)|0;e=1;while(1){if((e|0)>=(j|0))break;c[z+(e<<2)>>2]=(c[z>>2]|0)+((O(e,b)|0)<<2);e=e+1|0}p=uH(t)|0;o=uH(t)|0;k=uH(C<<2)|0;if(0){w=c[15686]|0;h[A>>3]=+FL();g1(w,92054,A)|0;E1(89952,15,1,w)|0;EL()}w=(y|0)==0;y=c[15686]|0;e=0;q=0;x=1797693134862315708145274.0e284;while(1){if(!(q<<24>>24==0&(e|0)<(n|0)))break;H3(m|0,0,E|0)|0;if(D){et(C,I,k);u=0;a=0}else{u=0;a=0}while(1){if((u|0)>=(F|0)){q=b;s=0;a=0;break}t=b-u+-1|0;at(t,0.0,o);q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;at(t,+g[(c[A>>2]|0)+(u<<2)>>2],p);Xs(t,p,-1.0,(c[A>>2]|0)+(u<<2)+4|0);ct(t,p);Ws(t,p,o,o);q=q+1|0}ft(t,o);q=0;while(1){if((q|0)>=(t|0))break;s=o+(q<<2)|0;v=+g[s>>2];if(v>=3402823466385288598117041.0e14|v<0.0)g[s>>2]=0.0;q=q+1|0}q=a+1|0;a=u+1|0;f:do if(D){v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=k+(q<<2)|0;N=+g[A>>2]*+g[o+(s<<2)>>2];g[A>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}else{v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;N=+g[o+(s<<2)>>2];g[k+(q<<2)>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}while(0);A=m+(u<<3)|0;h[A>>3]=+h[A>>3]-v;u=a;a=q}while(1){if((s|0)>=(b|0)){q=0;break}g[k+(a<<2)>>2]=+h[m+(s<<3)>>3];A=q+a|0;q=q+-1|0;s=s+1|0;a=A}while(1){if((q|0)>=(j|0)){v=0.0;q=0;break}Us(k,b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0);q=q+1|0}while(1){if((q|0)>=(j|0))break;v=+_s(b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0)+v;q=q+1|0}v=v*2.0+r;q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;Us(I,b,c[A>>2]|0,p);v=v-+_s(b,c[A>>2]|0,p);q=q+1|0}P=x-v;N=+h[22909];q=(v<N?1:(P>=0.0?P:-P)/x<N)&1;a=0;while(1){if((a|0)>=(j|0))break;t=H+(a<<2)|0;s=c[t>>2]|0;g:do if(w){if((Fq(I,s,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}}else{Zs(b,s,p);if((Fq(I,p,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}else s=0;while(1){if((s|0)>=(b|0))break g;if((d[(c[(c[i+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[p+(s<<2)>>2];s=s+1|0}}while(0);a=a+1|0}if(((e|0)%5|0|0)==0&0!=0?(h[K>>3]=v,g1(y,90277,K)|0,((e+5|0)%50|0|0)==0):0)n3(10,y)|0;e=e+1|0;x=v}if(!0)q=0;else{N=+sn(H,I,j,b,J);P=+FL();h[L>>3]=N;c[L+8>>2]=e;h[L+16>>3]=P;g1(y,89968,L)|0;q=0}while(1){if((q|0)>=(j|0)){u=z;t=I;a=G;s=H;q=z;break d}a=H+(q<<2)|0;t=f+(q<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[a>>2]|0)+(s<<2)>>2];s=s+1|0}q=q+1|0}}while(0);D_(a);D_(s);D_(t);if(u|0){D_(c[u>>2]|0);D_(q)}D_(p);D_(o);D_(m);D_(k)}while(0);l=M;return e|0}function rn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;R=l;l=l+32|0;o=R+24|0;Q=R+8|0;H=R+4|0;N=R;M=(d|0)<50?d:50;P=vH(M<<2)|0;G=d<<3;n=vH(O(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[P+(m<<2)>>2]=n+((O(m,d)|0)<<3);m=m+1|0}E=M<<1;E=(E|0)>50?E:50;E=(E|0)>(d|0)?d:E;c[o>>2]=0;sr(b,d,E,o,k);tr(c[o>>2]|0,d,E);mt(c[o>>2]|0,E,d,P,M);D_(c[c[o>>2]>>2]|0);D_(c[o>>2]|0);E=d<<2;L=vH(E)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}zq(Q,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)es(b,d);C=vH(E)|0;K=vH(160)|0;n=vH(d*160|0)|0;D=vH(160)|0;m=0;while(1){if((m|0)==40)break;c[D+(m<<2)>>2]=n+((O(m,d)|0)<<2);m=m+1|0}m=(g2()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[D>>2]|0;if(I){cr(m,b,d,n);n=0;o=0}else{vq(m,b,d,n,Q);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}F=c[(c[D>>2]|0)+(o<<2)>>2]|0;c[C+(o<<2)>>2]=F;A=(F|0)>(n|0);m=A?o:m;n=A?F:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=D+(r<<2)|0;n=c[t>>2]|0;if(I){cr(m,b,d,n);q=0;n=0}else{vq(m,b,d,n,Q);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=C+(q<<2)|0;F=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(F|0)<(k|0)?F:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((g2()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[C+(m<<2)>>2]=-1;m=m+1|0}w=vH(E)|0;F=vH(d<<4)|0;x=d+-1|0;y=x<<2;A=0;o=0;k=0;n=0;z=0;while(1){if((z|0)>=(d|0))break;m=L+(z<<2)|0;a:do if((c[m>>2]|0)>-1){t=F+(z<<4)+4|0;c[t>>2]=vH(y)|0;v=vH(y)|0;c[F+(z<<4)+8>>2]=v;c[F+(z<<4)>>2]=x;a[F+(z<<4)+12>>0]=1;r=D+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(z|0)){q=z;break}c[(c[t>>2]|0)+(m<<2)>>2]=m;c[v+(m<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){m=q+1|0;if((q|0)==(x|0)){m=x;break a}c[(c[t>>2]|0)+(q<<2)>>2]=m;c[v+(q<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];q=m}}else{if((n|0)<40){k=vH(E)|0;o=vH(E)|0;n=d;m=1}else m=0;a[F+(z<<4)+12>>0]=m;c[F+(z<<4)+4>>2]=k;c[F+(z<<4)+8>>2]=o;c[F+(z<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[k+(m<<2)>>2]=c[K+(m<<2)>>2];c[o+(m<<2)>>2]=c[(c[D+(m<<2)>>2]|0)+(z<<2)>>2];m=m+1|0}o=o+160|0;k=k+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;z=z+1|0}D_(C);D_(w);if(D|0){D_(c[D>>2]|0);D_(D)}D=vH(d*20|0)|0;q=A+d<<2;r=vH(q)|0;v=(j|0)==2;q=vH(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[D+(t*20|0)+4>>2]=r;c[D+(t*20|0)+8>>2]=q;m=(c[F+(t<<4)>>2]|0)+1|0;w=D+(t*20|0)|0;c[w>>2]=m;o=(c[F+(t<<4)+8>>2]|0)+-4|0;k=F+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;E=c[w>>2]|0;q=q+(E<<2)|0;r=r+(E<<2)|0;t=t+1|0}C=vH(f<<2)|0;c[C>>2]=vH(O(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[C+(m<<2)>>2]=(c[C>>2]|0)+((O(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=C+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[C+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[C>>2]>>3]=1.0;m=C+4|0;if(!((nt(P,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=C+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(g2()|0)*4.656612875245797e-10;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ss(P,d,M,c[C+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Hs(D,P,d,M,H);Fs(P,c[H>>2]|0,M,d,M,N);D_(c[c[H>>2]>>2]|0);D_(c[H>>2]|0);z=vH(G)|0;A=vH(M<<3)|0;m=0;n=0;p=+tn(e,F,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[F+(o<<4)+8>>2]|0)+-4|0;t=c[D+(o*20|0)+4>>2]|0;v=c[D+(o*20|0)+8>>2]|0;w=D+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+gs(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=u*+h[(c[y>>2]|0)+(m<<3)>>3]+ +h[q>>3];s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(o<<3)>>3]*s;o=o+1|0}Es(P,M,d,z,A);m=C+(x<<2)|0;if(Eq(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ss(P,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+tn(e,F,f,d,j);p=+B(+(u-p))/(u+1.0e-10);m=p<+h[22909]&1;p=u}else m=0;n=n+1|0}D_(A);D_(z);if(I){fs(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[F+(m<<4)+12>>0]|0){D_(c[F+(m<<4)+4>>2]|0);D_(c[F+(m<<4)+8>>2]|0)}m=m+1|0}D_(F);D_(c[D+4>>2]|0);D_(c[D+8>>2]|0);D_(D);D_(L);D_(K);D_(c[C>>2]|0);D_(C);m=c[N>>2]|0;if(m|0){D_(c[m>>2]|0);D_(c[N>>2]|0)}D_(c[P>>2]|0);D_(P);Aq(Q);l=R;return n|0}function sn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+C(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+C(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=i*l+h}m=m+1|0}return +h}function tn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/(p*p)+g}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/p+g}k=k+1|0}l=l+1|0}}while(0);return +g}function un(a){a=+a;return +(+C(+a)*a)}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=i*i+e;f=f+1|0}return +(+C(+e))}function wn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=uH(a<<2)|0;f=0;g=uH(O(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function xn(a){a=a|0;if(a|0){D_(c[a>>2]|0);D_(a)}return}function yn(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=ay(b)|0;m=by(b)|0;k=nx(b,2,90566,0)|0;a:do if(!d){h[22909]=+(n|0)*.0001;aH(b,105860,183272);g=xx(c[b+60>>2]|0,90006)|0;if(!g)e=.99;else e=+b2(g);h[22911]=e;g=uH((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=g;g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[(c[j>>2]|0)+152>>2]|0)+(g<<2)>>2]=i;p=c[i+16>>2]|0;c[p+120>>2]=g;c[p+124>>2]=-1;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}else{h[22909]=.0001;aH(b,105860,183272);g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[i+16>>2]|0)+120>>2]=g;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}while(0);g=xx(b,90014)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){e=+h[22909];f=+b2(g);if(!(e>f))e=f}else e=e/+(((m|0)>1?m:1)|0)*+C(+(+(n|0)))+1.0;h[22910]=e;if(!(c[46363]|d)){d=wn(n,n,e)|0;p=b+16|0;c[(c[p>>2]|0)+160>>2]=d;d=wn(n,n,1.0)|0;c[(c[p>>2]|0)+164>>2]=d;d=wn(n,c[46366]|0,1.0)|0;c[(c[p>>2]|0)+168>>2]=d;d=Cn(n,n,c[46366]|0)|0;c[(c[p>>2]|0)+172>>2]=d}l=o;return n|0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=Jx(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=Kx(a,j,b)|0}return e|0}function An(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(zn(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=Ex(a,b)|0;e=0.0;while(1){if(!b)break;switch(Dn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=ry(a)|0;h[i+8>>3]=1.0;Pw(3,90026,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=Gx(a,b)|0;e=f+e}l=k;return +e}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=uH((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=uH(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=uH(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function Dn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=yx(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((N1(f,98183,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[46363]|0)!=0:0){b=0;break}c[j>>2]=f;Pw(0,90053,j)|0;b=2}else b=1;while(0);l=k;return b|0}function En(a){a=a|0;return yn(a,0)|0}function Fn(a){a=a|0;a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);if(!(c[46363]|0)){xn(c[(c[a>>2]|0)+160>>2]|0);xn(c[(c[a>>2]|0)+164>>2]|0);xn(c[(c[a>>2]|0)+168>>2]|0);Gn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;D_(d);e=e+1|0;b=c[g>>2]|0}D_(b);f=f+1|0}D_(a)}return}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[46366]|0))break;f=+k2()*e;h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function In(a,b){a=a|0;b=b|0;Hn(a,b,2);return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=+k2()*e;d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=+k2()*e;h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[46366]|0)>2)In(a,b);return}function Kn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(0)E1(90071,26,1,c[15686]|0)|0;d=pm(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46027]|d)){Pw(0,90098,e)|0;c[46027]=1}e=b+16|0;d=0;while(1){b=c[(c[(c[e>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!b)break a;if(!(a[(c[b+16>>2]|0)+119>>0]|0))Jn(b,1);d=d+1|0}}while(0);l=f;return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;p=q+80|0;n=q;if(0){E1(90147,25,1,c[15686]|0)|0;EL()}o=a+16|0;f=c[o>>2]|0;k=c[f+164>>2]|0;f=c[f+160>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;i=f+(m<<2)|0;j=k+(m<<2)|0;e=0;while(1){if((e|0)==(m|0))break;g=+h[(c[i>>2]|0)+(e<<3)>>3];g=1.0/(g*g);d=c[(c[o>>2]|0)+152>>2]|0;d=Rx(a,c[d+(m<<2)>>2]|0,c[d+(e<<2)>>2]|0,0,0)|0;if(d)g=+h[(c[d+16>>2]|0)+128>>3]*g;h[(c[k+(e<<2)>>2]|0)+(m<<3)>>3]=g;h[(c[j>>2]|0)+(e<<3)>>3]=g;e=e+1|0}m=m+1|0}a=c[46366]|0;e=0;while(1){if((e|0)<(b|0))d=0;else break;while(1){if((d|0)>=(a|0))break;h[(c[(c[(c[o>>2]|0)+168>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}e=e+1|0}i=0;while(1){d=c[(c[(c[o>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!d)break;a=d+16|0;d=0;while(1){if((d|0)>=(b|0))break;a:do if((i|0)!=(d|0)){g=+vn(c[(c[a>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[o>>2]|0)+152>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+132>>2]|0,n);f=c[46366]|0;g=1.0/g;e=0;while(1){if((e|0)>=(f|0))break a;m=c[o>>2]|0;r=+h[n+(e<<3)>>3];r=(r-+h[(c[(c[m+160>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3]*r*g)*+h[(c[(c[m+164>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3];h[(c[(c[(c[m+172>>2]|0)+(i<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)>>3]=r;m=(c[(c[m+168>>2]|0)+(i<<2)>>2]|0)+(e<<3)|0;h[m>>3]=+h[m>>3]+r;e=e+1|0}}while(0);d=d+1|0}i=i+1|0}if(0){o=c[15686]|0;h[p>>3]=+FL();g1(o,90173,p)|0}l=q;return}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+32|0;g=i+24|0;f=i+8|0;e=i;j=+h[22909];h[22831]=j*j;while(1){d=Nn(a,b)|0;if(!d)break;On(a,b,d)}if(!0)b=a+16|0;else{d=c[15686]|0;h[e>>3]=+Pn(a,b);g1(d,90183,e)|0;b=a+16|0;k=c[(c[b>>2]|0)+156>>2]|0;e=(k|0)==(c[46365]|0)?90197:191979;j=+FL();c[f>>2]=k;c[f+4>>2]=e;h[f+8>>3]=j;g1(d,90199,f)|0}b=c[(c[b>>2]|0)+156>>2]|0;if((b|0)==(c[46365]|0)){k=ry(a)|0;c[g>>2]=b;c[g+4>>2]=k;Pw(0,90226,g)|0}l=i;return}function Nn(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;o=(c[46029]|0)+1|0;c[46029]=o;a=c[a+16>>2]|0;if((c[a+156>>2]|0)<(c[46365]|0)){m=c[46366]|0;n=a+152|0;k=a+168|0;a=0;e=0.0;j=0;while(1){if((j|0)>=(b|0))break;g=c[(c[n>>2]|0)+(j<<2)>>2]|0;if((d[(c[g+16>>2]|0)+119>>0]|0)<=1){i=0.0;f=0;while(1){if((f|0)>=(m|0))break;s=+h[(c[(c[k>>2]|0)+(j<<2)>>2]|0)+(f<<3)>>3];i=s*s+i;f=f+1|0}if(i>e){a=g;e=i}}j=j+1|0}if(!(e<+h[22831])){if(0!=0&((o|0)%100|0|0)==0?(p=c[15686]|0,h[q>>3]=+C(+e),g1(p,90277,q)|0,((c[46029]|0)%1e3|0|0)==0):0)n3(10,p)|0}else a=0}else a=0;l=r;return a|0}function On(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46028]|0;if(!f){g=c[46366]|0;g=vH(O(g<<3,g)|0)|0}else{g=c[46366]|0;g=xH(f,O(g<<3,g)|0)|0}c[46028]=g;Qn(a,b,m,g);i=c[46366]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[182656+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Xt(g,182736,182656,i);f=0;while(1){if((f|0)>=(c[46366]|0))break;e=+h[22911];e=(1.0-e)*2.0*+k2()+e;i=182736+(f<<3)|0;e=e*+h[i>>3];h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=+h[i>>3]+e;f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Rn(a,b,m);if(cM()|0){g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=+B(+(+h[182736+(f<<3)>>3]))+e;f=f+1|0}e=+C(+e);m=c[15686]|0;c[n>>2]=ry(d)|0;h[n+8>>3]=e;g1(m,90268,n)|0}l=o;return}function Pn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[46366]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=r*r+e}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=((+C(+e)*-2.0+r)*r+e)*+h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]+d;i=i+1|0;d=r}}return +d}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[46366]|0;a=0;while(1){if((a|0)>=(g|0))break;i=O(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(i+f<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[46366]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=q*q+r;a=a+1|0}n=1.0/+un(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((O(u,a)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+p*n*q*o*+h[w+(a<<3)>>3];a=a+1|0}m=e+((O(u,i)|0)+i<<3)|0;h[m>>3]=(1.0-q*n*(r-o*o))*p+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[46366]|0;i=1;while(1){if((i|0)>=(f|0))break;g=O(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(g+a<<3)>>3]=+h[e+((O(f,a)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[46366]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+vn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[46366]|0;i=1.0/i;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=(o-+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*o*i)*+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3];h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46030]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function Tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46031]|0;k=c[46030]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Un(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)qa(90283,90303,643,90311);d=c[46031]|0;c[46031]=d+1;c[b>>2]=d;c[(c[46030]|0)+(d<<2)>>2]=a;if((d|0)>0)Sn(a);return}function Vn(){var a=0,b=0,d=0,e=0;b=c[46031]|0;if(!b)a=0;else{e=c[46030]|0;a=c[e>>2]|0;d=b+-1|0;c[46031]=d;d=c[e+(d<<2)>>2]|0;c[e>>2]=d;c[(c[d+16>>2]|0)+124>>2]=0;if((b|0)>2)Tn(d);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[46030]=uH((b<<2)+4|0)|0;if(0){E1(90325,28,1,c[15686]|0)|0;EL()}b=Sy(a)|0;while(1){if(!b)break;Xn(a,b);b=Ty(a,b)|0}if(0){a=c[15686]|0;h[d>>3]=+FL();g1(a,90173,d)|0}D_(c[46030]|0);l=e;return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[22910];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46032]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Un(b);a:while(1){k=Vn()|0;if(!k)break;d=c[46032]|0;j=k+16|0;if((k|0)!=(d|0))Yn(a,d,k,+h[(c[j>>2]|0)+136>>3]);i=Jx(a,k)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(k|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[j>>2]|0;f=+h[(c[i+16>>2]|0)+136>>3]+ +h[d+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Sn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Un(b);break}}while(0);i=Kx(a,i,k)|0}}return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Zn(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;_n(a);return}function _n(a){a=a|0;var b=0,d=0,e=0,f=0;b=ay(a)|0;e=uH(b*56|0)|0;b=uH((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;$n(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function $n(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(ay(b)|0){Zn(b);f=xx(b,93136)|0;if(f)if(a[f>>0]|0){d=az(b,f,0)|0;if(!d){c[g>>2]=f;Pw(0,90354,g)|0;Pw(3,90394,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=nx(b,1,93136,0)|0;o=(n|0)!=0;f=xx(b,137660)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(N1(f,102477,m)|0)==1):0)h[k>>3]=+h[j>>3];if(ay(b)|0){m=oD(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=bo(b,n)|0,e|0):0)break;e=0}while(0);f=Zt(b,e)|0;if(!((e|0)!=0|o^1))rx(f,n,139381)|0;r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;tq(b)|0;hn(b);d=(s|0)==0|g?d:f}else{XD(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(oz(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=bo(g,n)|0,q|0):0){f=q;break}f=0}while(0);vD(g)|0;i=Zt(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)rx(i,n,139381)|0;tq(g)|0;j=j+1|0}r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;WD(c[t>>2]|0,m,b,p)|0;hn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;dz(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}D_(m)}if(s|0)zx(b,93136,ry(d)|0)|0;eJ(b)}l=u;return}function bo(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c){c=0;break}if((QL(yx(c,b)|0)|0)<<24>>24)break;c=Ty(a,c)|0}return c|0}function co(a){a=a|0;var b=0,c=0;b=Sy(a)|0;if(b|0){while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;JM(c);c=Gx(a,c)|0}HM(b);b=Ty(a,b)|0}eo(a)}return}function eo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function fo(a){a=a|0;go(a);if(!((ay(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){nu(a);eJ(a)}return}function go(a){a=a|0;c[46377]=nx(a,1,105204,105210)|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;ho(a,0);io(a);return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){lo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;mo(b,d);ho(d,0)}else ho(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;Az(b,134365,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;jo(b);e=Ex(a,b)|0;while(1){if(!e)break;ko(e);e=Gx(a,e)|0}b=Ty(a,b)|0;d=d+1|0}return}function jo(a){a=a|0;zx(a,105204,105210)|0;return}function ko(a){a=a|0;Az(a,134378,304,1)|0;return}function lo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function no(a){a=a|0;var b=0,d=0;b=Sy(a)|0;if(b|0){D_(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}oo(a)}return}function oo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function po(a){a=a|0;var d=0,e=0,f=0;qo(a);ro(a,0);so(a,0);to(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Ym(a,d&65535)|0}else{d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]*.013888888888888888;h[e+8>>3]=+h[f+24>>3]*.013888888888888888;d=Ty(a,d)|0}$m(a,1)}eJ(a);return}function qo(a){a=a|0;var d=0,e=0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;d=Sy(a)|0;while(1){if(!d)break;$l(d);d=Ty(a,d)|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;Az(d,134378,176,1)|0;eM(d)|0;d=Gx(a,d)|0}e=Ty(a,e)|0}return}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){yo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;fH(d);zo(b,d);ro(d,0)}else ro(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+448|0;G=Q+400|0;F=Q+384|0;P=Q+344|0;O=Q+304|0;N=Q+248|0;D=Q+192|0;x=Q+152|0;y=Q+96|0;o=Q+72|0;d=Q+64|0;I=Q+32|0;J=Q;B=Q+416|0;u=Q+328|0;w=Q+288|0;K=Q+232|0;L=Q+176|0;M=Q+136|0;H=Q+80|0;n=c[a+60>>2]|0;if(0>1){uo(b);E=c[15686]|0;c[d>>2]=ry(a)|0;g1(E,90637,d)|0}E=a+16|0;f=b+1|0;d=1;e=0;while(1){g=c[E>>2]|0;if((d|0)>(c[g+180>>2]|0))break;C=c[(c[g+184>>2]|0)+(d<<2)>>2]|0;so(C,f);d=d+1|0;e=(ay(C)|0)+e|0}p=(ay(a)|0)-e|0;d=c[E>>2]|0;C=(c[d+180>>2]|0)+p|0;v=(C|0)==0;if(v?(c[d+12>>2]|0)==0:0){P=d+16|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;h[d+40>>3]=18.0;h[d+32>>3]=18.0}else{d=B+16|0;do if((XD(a,4,4,B)|0)>>>0>=3)if((c[d>>2]|0)==4?(c[B+28>>2]&2|0)!=0:0){e=nx(n,0,96164,0)|0;d=nx(n,1,96164,0)|0;if((e|0)!=0|(d|0)!=0){c[B+24>>2]=uH(C<<2)|0;break}else{c[o>>2]=ry(a)|0;Pw(0,90483,o)|0;d=0;e=0;break}}else{d=0;e=0}else{c[d>>2]=3;d=0;e=0}while(0);z=uH(C<<5)|0;A=uH(C<<2)|0;s=B+24|0;n=(e|0)!=0;r=0;g=1;while(1){f=c[E>>2]|0;if((g|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(g<<2)>>2]|0;t=z+(r<<5)|0;q=(c[f+16>>2]|0)+16|0;c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[t+16>>2]=c[q+16>>2];c[t+20>>2]=c[q+20>>2];c[t+24>>2]=c[q+24>>2];c[t+28>>2]=c[q+28>>2];if(n&(c[s>>2]|0)!=0){t=KL(f,e,0,0)|0;c[(c[s>>2]|0)+(r<<2)>>2]=t}c[A+(r<<2)>>2]=f;r=r+1|0;g=g+1|0}a:do if((p|0)>0){o=I+16|0;p=I+24|0;q=(d|0)!=0;n=Sy(a)|0;e=r;while(1){if(!n)break a;f=c[n+16>>2]|0;g=f+112|0;if(!(c[g>>2]|0)){c[g>>2]=a;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;h[o>>3]=+h[f+96>>3]+ +h[f+88>>3];h[p>>3]=+h[f+80>>3];t=z+(e<<5)|0;c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];c[t+16>>2]=c[I+16>>2];c[t+20>>2]=c[I+20>>2];c[t+24>>2]=c[I+24>>2];c[t+28>>2]=c[I+28>>2];if(q&(c[s>>2]|0)!=0){t=KL(n,d,0,0)|0;c[(c[s>>2]|0)+(e<<2)>>2]=t}c[A+(e<<2)>>2]=n;e=e+1|0}n=Ty(a,n)|0}}while(0);t=QD(C,z,B)|0;d=c[s>>2]|0;if(d|0)D_(d);vo(J,2147483647.0,2147483647.0);s=J+16|0;vo(u,-2147483647.0,-2147483647.0);c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];g=I+16|0;n=I+8|0;o=I+24|0;p=J+8|0;q=J+24|0;r=c[15686]|0;d=0;while(1){if((d|0)>=(C|0))break;j=+(c[t+(d<<3)>>2]|0);m=+(c[t+(d<<3)+4>>2]|0);e=z+(d<<5)|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];c[I+16>>2]=c[e+16>>2];c[I+20>>2]=c[e+20>>2];c[I+24>>2]=c[e+24>>2];c[I+28>>2]=c[e+28>>2];i=+h[I>>3]+j;h[I>>3]=i;j=+h[g>>3]+j;h[g>>3]=j;k=+h[n>>3]+m;h[n>>3]=k;m=+h[o>>3]+m;h[o>>3]=m;h[J>>3]=+h[(+h[J>>3]<i?J:I)>>3];h[p>>3]=+h[(+h[p>>3]<k?J:I)+8>>3];h[s>>3]=+h[(+h[s>>3]>j?J:I)+16>>3];h[q>>3]=+h[(+h[q>>3]>m?J:I)+24>>3];e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){u=(c[f>>2]|0)+16|0;c[u>>2]=c[I>>2];c[u+4>>2]=c[I+4>>2];c[u+8>>2]=c[I+8>>2];c[u+12>>2]=c[I+12>>2];c[u+16>>2]=c[I+16>>2];c[u+20>>2]=c[I+20>>2];c[u+24>>2]=c[I+24>>2];c[u+28>>2]=c[I+28>>2];if(0>1){uo(b);c[y>>2]=ry(e)|0;h[y+8>>3]=i;h[y+16>>3]=k;h[y+24>>3]=j;h[y+32>>3]=m;g1(r,90462,y)|0}}else{u=(c[f>>2]|0)+16|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];wo(w,F,G);c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];if(0>1){uo(b);u=ry(e)|0;f=c[f>>2]|0;k=+h[f+16>>3];m=+h[f+24>>3];c[x>>2]=u;h[x+8>>3]=k;h[x+16>>3]=m;g1(r,90450,x)|0}}d=d+1|0}e=c[E>>2]|0;d=c[e+12>>2]|0;if(d|0){i=+h[d+24>>3];if(v){j=+h[d+32>>3];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;h[s>>3]=i;h[q>>3]=j;j=0.0;k=i}else{j=+h[J>>3];k=+h[s>>3]}m=i-(k-j);i=m*.5;if(m>0.0){h[J>>3]=j-i;h[s>>3]=k+i}}if((b|0)>0)i=+((c[B+8>>2]|0)>>>0)*.5;else i=0.0;j=+h[J>>3]-i;h[J>>3]=j;k=+h[s>>3]+i;h[s>>3]=k;m=-i-+h[e+56>>3]+ +h[p>>3];h[p>>3]=m;i=+h[e+88>>3]+i+ +h[q>>3];h[q>>3]=i;if(0>1){uo(b);c[D>>2]=ry(a)|0;h[D+8>>3]=j;h[D+16>>3]=m;h[D+24>>3]=k;h[D+32>>3]=i;g1(r,90462,D)|0}d=0;while(1){if((d|0)>=(C|0))break;e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){D=(c[f>>2]|0)+16|0;c[I>>2]=c[D>>2];c[I+4>>2]=c[D+4>>2];c[I+8>>2]=c[D+8>>2];c[I+12>>2]=c[D+12>>2];c[I+16>>2]=c[D+16>>2];c[I+20>>2]=c[D+20>>2];c[I+24>>2]=c[D+24>>2];c[I+28>>2]=c[D+28>>2];c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(I,F,G);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(K,F,G);c[g>>2]=c[K>>2];c[g+4>>2]=c[K+4>>2];c[g+8>>2]=c[K+8>>2];c[g+12>>2]=c[K+12>>2];D=(c[f>>2]|0)+16|0;c[D>>2]=c[I>>2];c[D+4>>2]=c[I+4>>2];c[D+8>>2]=c[I+8>>2];c[D+12>>2]=c[I+12>>2];c[D+16>>2]=c[I+16>>2];c[D+20>>2]=c[I+20>>2];c[D+24>>2]=c[I+24>>2];c[D+28>>2]=c[I+28>>2];if(0>1){uo(b);D=ry(e)|0;i=+h[I>>3];j=+h[n>>3];k=+h[g>>3];m=+h[o>>3];c[N>>2]=D;h[N+8>>3]=i;h[N+16>>3]=j;h[N+24>>3]=k;h[N+32>>3]=m;g1(r,90462,N)|0}}else{D=(c[f>>2]|0)+16|0;c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(L,F,G);c[D>>2]=c[L>>2];c[D+4>>2]=c[L+4>>2];c[D+8>>2]=c[L+8>>2];c[D+12>>2]=c[L+12>>2];if(0>1){uo(b);D=ry(e)|0;B=c[f>>2]|0;k=+h[B+16>>3];m=+h[B+24>>3];c[O>>2]=D;h[O+8>>3]=k;h[O+16>>3]=m;g1(r,90450,O)|0}}d=d+1|0}c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(M,F,G);c[s>>2]=c[M>>2];c[s+4>>2]=c[M+4>>2];c[s+8>>2]=c[M+8>>2];c[s+12>>2]=c[M+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(H,F,G);c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];O=(c[E>>2]|0)+16|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[O+16>>2]=c[J+16>>2];c[O+20>>2]=c[J+20>>2];c[O+24>>2]=c[J+24>>2];c[O+28>>2]=c[J+28>>2];if(0>1){uo(b);O=ry(a)|0;i=+h[J>>3];j=+h[p>>3];k=+h[s>>3];m=+h[q>>3];c[P>>2]=O;h[P+8>>3]=i;h[P+16>>3]=j;h[P+24>>3]=k;h[P+32>>3]=m;g1(r,90462,P)|0}D_(z);D_(A);D_(t)}l=Q;return}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;s=t+32|0;i=t+8|0;d=t;r=a+16|0;o=c[r>>2]|0;p=+h[o+16>>3];q=+h[o+24>>3];if(0>1){uo(b);o=c[15686]|0;c[d>>2]=ry(a)|0;g1(o,90435,d)|0}o=(b|0)!=0;a:do if(o){d=Sy(a)|0;e=c[15686]|0;while(1){if(!d)break a;f=d+16|0;g=c[f>>2]|0;if((c[g+112>>2]|0)==(a|0)?(u=g+16|0,h[u>>3]=+h[u>>3]+p,g=g+24|0,h[g>>3]=+h[g>>3]+q,0>1):0){uo(b);u=ry(d)|0;g=c[f>>2]|0;m=+h[g+16>>3];n=+h[g+24>>3];c[i>>2]=u;h[i+8>>3]=m;h[i+16>>3]=n;g1(e,90450,i)|0}d=Ty(a,d)|0}}else e=c[15686]|0;while(0);i=b+1|0;a=1;while(1){d=c[r>>2]|0;if((a|0)>(c[d+180>>2]|0))break;g=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(o){f=g+16|0;d=c[f>>2]|0;j=+h[d+16>>3]+p;k=+h[d+24>>3]+q;m=+h[d+32>>3]+p;n=+h[d+40>>3]+q;if(0>1){uo(b);c[s>>2]=ry(g)|0;h[s+8>>3]=j;h[s+16>>3]=k;h[s+24>>3]=m;h[s+32>>3]=n;g1(e,90462,s)|0;d=c[f>>2]|0}h[d+16>>3]=j;h[d+24>>3]=k;h[d+32>>3]=m;h[d+40>>3]=n}to(g,i);a=a+1|0}l=t;return}function uo(a){a=a|0;var b=0;b=c[15686]|0;while(1){if((a|0)<=0)break;D1(90480,b)|0;a=a+-1|0}return}function vo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function yo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Ao(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;HM(b);b=Ty(a,b)|0}Bo(a);return}function Bo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;nH(c[(c[e+16>>2]|0)+12>>2]|0);Bo(e);a=a+1|0}D_(d);return}function Co(a){a=a|0;var b=0,d=0,e=0;Fz(a,1,134365,304,1);sM(a)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=Sy(a)|0;while(1){if(!d)break;Do(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=Ty(a,d)|0}e=nx(a,2,90566,0)|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Eo(b,e);b=Gx(a,b)|0}d=Ty(a,d)|0}Fo(a);return}function Do(a){a=a|0;var b=0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0.0;Az(a,134378,176,1)|0;e=+LL(a,c[46404]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+LL(a,b,+h[1371],0.0);h[(c[d>>2]|0)+136>>3]=e;eM(a)|0;return}function Fo(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=nx(b,1,99597,0)|0;a:do if(n|0){o=nx(b,1,90570,0)|0;i=b+16|0;j=(o|0)==0;k=c[15686]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=yx(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((N1(b,98723,p)|0)<=1){c[q>>2]=ry(e)|0;c[q+4>>2]=b;g1(k,90574,q)|0;break}b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[22908];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((QL(yx(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Go(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}Ho(a);return}function Ho(a){a=a|0;Io(a);a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);D_(c[(c[a>>2]|0)+140>>2]|0);return}function Io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;nH(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){D_(c[d>>2]|0);D_(c[(c[b>>2]|0)+140>>2]|0)}Io(e);f=f+1|0}D_(b);if((fz(a)|0)!=(a|0))Cz(a,134401)|0;return}function Jo(a,b){a=a|0;b=b|0;c[b+4>>2]=nx(a,0,90626,0)|0;c[b+8>>2]=nx(a,0,138034,0)|0;c[b+12>>2]=nx(a,0,137966,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=XD(a,2,4,b+20|0)|0;return}function Ko(a){a=a|0;var d=0,e=0;$M(a,2);d=uH(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(KL(a,nx(a,0,90633,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[46366]=d&65535;Lo(a,0,a);hp(a);Co(a);return}function Lo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Mo(j);d=j}g=e+16|0;f=wA(a)|0;while(1){if(!f)break;if(!(z$(ry(f)|0,104980,7)|0)){Az(f,134401,280,1)|0;n=uH(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;No(d,f);Lo(f,0,f)}else Lo(f,d,e);f=xA(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=xH(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Oo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Jo(a,c);Po(a,c);Qo(a);Ro(a,a);So(a);l=b;return}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(0){q=c[15686]|0;c[e>>2]=ry(b)|0;g1(q,90637,e)|0}e=Sy(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=Ty(b,e)|0}p=To(b,d)|0;q=Iu(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;ip(f,m);e=Sy(f)|0;while(1){if(!e)break;g=Ty(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Uo(e,f)|0;Po(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*36.0;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}dz(f,e)|0;e=g}if((ay(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Qp(f)|0;vp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){mM(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=uH(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=BD(e,q,0,d+20|0)|0;D_(f)}Vo(p,c[o>>2]|0,q,e,b,d);D_(e);f=Sy(p)|0;while(1){if(!f)break;g=c[f+16>>2]|0;e=c[g+212>>2]|0;if(!e){e=c[(c[g+112>>2]|0)+8>>2]|0;if(e|0){o=c[g+132>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[g+132>>2]|0;x=+h[g+32>>3];w=+h[o>>3]-x*.5;v=c[(c[e+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[g+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}f=Ty(p,f)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Wo(p,q);D_(q);if(0){v=c[15686]|0;c[r>>2]=ry(b)|0;g1(v,90648,r)|0}l=s;return}function Qo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];g=j*36.0;f=i*36.0;k=c[e+132>>2]|0;h[k>>3]=j*.5;h[k+8>>3]=i*.5;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=Ty(b,d)|0}return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=Sy(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=+h[e>>3]+f;e=e+8|0;h[e>>3]=+h[e>>3]+g}d=Ty(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=+h[n>>3]+g;m=+h[l>>3]+f;k=+h[e>>3]+g;h[p>>3]=+h[p>>3]+f;h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Ro(d,b);a=a+1|0}return}function So(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;So(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function To(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;s=y+24|0;t=y+8|0;g=y;f=y+56|0;w=e+16|0;x=c[w>>2]|0;c[w>>2]=x+1;c[s>>2]=x;Y0(f,90710,s)|0;if(0>1){x=c[15686]|0;w=ry(d)|0;c[g>>2]=f;c[g+4>>2]=w;g1(x,90717,g)|0};a[s>>0]=a[18484]|0;a[s+1>>0]=a[18485]|0;a[s+2>>0]=a[18486]|0;a[s+3>>0]=a[18487]|0;x=Xx(91072,s,0)|0;Az(x,134401,280,1)|0;v=uH(56)|0;w=x+16|0;o=c[w>>2]|0;c[o+140>>2]=v;v=d+16|0;b[o+176>>1]=b[(c[v>>2]|0)+176>>1]|0;ap(d,x,91095);ap(d,x,91700);ap(d,x,90983);o=e+4|0;p=s+16|0;q=s+8|0;r=s+24|0;j=0;n=1;while(1){f=c[v>>2]|0;if((n|0)>(c[f+180>>2]|0))break;c[s>>2]=c[332];c[s+4>>2]=c[333];c[s+8>>2]=c[334];c[s+12>>2]=c[335];c[s+16>>2]=c[336];c[s+20>>2]=c[337];c[s+24>>2]=c[338];c[s+28>>2]=c[339];g=c[(c[f+184>>2]|0)+(n<<2)>>2]|0;fH(g);i=bp(x,ry(g)|0)|0;k=i+16|0;f=c[k>>2]|0;c[f+212>>2]=g;m=j+1|0;c[f+120>>2]=j;if(c[o>>2]|0)cp(g,i,e,s);f=Sy(g)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+164>>2]=i;f=Ty(g,f)|0}f=c[k>>2]|0;if(a[f+119>>0]|0){k=c[f+132>>2]|0;h[k>>3]=(+h[p>>3]+ +h[s>>3])*.5;h[k+8>>3]=(+h[r>>3]+ +h[q>>3])*.5}j=m;n=n+1|0}k=Sy(d)|0;while(1){if(!k)break;f=k+16|0;g=c[f>>2]|0;if(!(c[g+164>>2]|0)){i=g+212|0;s=c[i>>2]|0;if(s|0?(s|0)!=(c[(c[(c[v>>2]|0)+140>>2]|0)+48>>2]|0):0){u=18;break}c[i>>2]=d;if(!(a[g+118>>0]|0)){i=bp(x,ry(k)|0)|0;g=c[f>>2]|0;c[g+164>>2]=i;i=c[i+16>>2]|0;c[i+120>>2]=j;h[i+32>>3]=+h[g+32>>3];h[i+40>>3]=+h[g+40>>3];h[i+88>>3]=+h[g+88>>3];h[i+96>>3]=+h[g+96>>3];h[i+80>>3]=+h[g+80>>3];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];f=a[g+119>>0]|0;if(f<<24>>24){e=c[g+132>>2]|0;s=c[i+132>>2]|0;h[s>>3]=+h[e>>3];h[s+8>>3]=+h[e+8>>3];a[i+119>>0]=f}c[(c[i+112>>2]|0)+8>>2]=k;f=j+1|0}else f=j}else f=j;k=Ty(d,k)|0;j=f}if((u|0)==18){e=ry(k)|0;s=ry(d)|0;u=ry(c[(c[f>>2]|0)+212>>2]|0)|0;c[t>>2]=e;c[t+4>>2]=s;c[t+8>>2]=u;Pw(1,90740,t)|0;bb(184132,1)}m=Sy(d)|0;while(1){if(!m)break;n=c[(c[m+16>>2]|0)+164>>2]|0;o=n+16|0;i=Ex(d,m)|0;while(1){if(!i)break;f=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((f|0)!=(n|0)){if(f>>>0>n>>>0)k=Rx(x,n,f,0,1)|0;else k=Rx(x,f,n,0,1)|0;Az(k,134378,176,1)|0;g=c[i+16>>2]|0;u=c[k+16>>2]|0;h[u+136>>3]=+h[g+136>>3];h[u+128>>3]=+h[g+128>>3];f=c[(c[f+16>>2]|0)+112>>2]|0;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[(c[o>>2]|0)+112>>2]|0;t=g+4|0;c[t>>2]=(c[t>>2]|0)+1;if(!(c[u+172>>2]|0)){c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}dp(k,i)}i=Gx(d,i)|0}m=Ty(d,m)|0}f=c[(c[v>>2]|0)+140>>2]|0;g=c[f>>2]|0;if(g|0){i=uH((c[f+4>>2]<<4)+16|0)|0;c[c[(c[w>>2]|0)+140>>2]>>2]=i;f=0;while(1){if(!(c[g>>2]|0))break;m=c[(c[(c[g+4>>2]|0)+16>>2]|0)+164>>2]|0;if(m){ep(d,g);n=bp(x,190692)|0;o=n+16|0;c[(c[o>>2]|0)+120>>2]=j;if(n>>>0>m>>>0)k=Rx(x,m,n,0,1)|0;else k=Rx(x,n,m,0,1)|0;Az(k,134378,176,1)|0;u=c[g>>2]|0;t=c[u+16>>2]|0;v=c[k+16>>2]|0;h[v+136>>3]=+h[t+136>>3];h[v+128>>3]=+h[t+128>>3];dp(k,u);u=c[(c[o>>2]|0)+112>>2]|0;v=u+4|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[m+16>>2]|0)+112>>2]|0;t=v+4|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[i+4>>2]=n;h[i+8>>3]=+h[g+8>>3];c[i>>2]=k;f=f+1|0;i=i+16|0;j=j+1|0}g=g+16|0}c[(c[(c[w>>2]|0)+140>>2]|0)+4>>2]=f}l=y;return x|0}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=uH((l<<4)+16|0)|0;f=Zo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=_o(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;D_(f);break}else qa(90656,90666,766,90675)}while(0);return k|0}function Vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;x=B+16|0;A=B;m=c[g+8>>2]|0;j=c[g+12>>2]|0;y=(c[g>>2]|0)==(f|0);z=(b|0)!=0;a:do if(z){p=c[(c[d>>2]|0)+16>>2]|0;k=+h[p+16>>3];m=~~(k+(k>=0.0?.5:-.5));c[A>>2]=m;k=+h[p+24>>3];g=~~(k+(k>=0.0?.5:-.5));u=A+4|0;c[u>>2]=g;k=+h[p+32>>3];n=~~(k+(k>=0.0?.5:-.5));v=A+8|0;c[v>>2]=n;k=+h[p+40>>3];p=~~(k+(k>=0.0?.5:-.5));w=A+12|0;c[w>>2]=p;if((b|0)>1){q=c[e>>2]|0;t=c[e+4>>2]|0;m=q+m|0;c[A>>2]=m;b=t+g|0;c[u>>2]=b;n=q+n|0;c[v>>2]=n;q=x+4|0;r=x+8|0;s=x+12|0;o=e;g=d;t=t+p|0;p=b;while(1){g=g+4|0;j=o+8|0;c[w>>2]=t;b=c[g>>2]|0;if(!b){j=0;r=p;s=t;break a}E=c[b+16>>2]|0;G=+h[E+16>>3];i=+h[E+24>>3];k=+h[E+32>>3];H=+h[E+40>>3];E=~~(H+(H>=0.0?.5:-.5));c[s>>2]=E;b=c[j>>2]|0;F=c[o+12>>2]|0;D=b+~~(G+(G>=0.0?.5:-.5))|0;c[x>>2]=D;C=F+~~(i+(i>=0.0?.5:-.5))|0;c[q>>2]=C;b=b+~~(k+(k>=0.0?.5:-.5))|0;c[r>>2]=b;E=F+E|0;c[s>>2]=E;D=c[((m|0)<(D|0)?A:x)>>2]|0;c[A>>2]=D;C=c[((p|0)<(C|0)?A:x)+4>>2]|0;c[u>>2]=C;b=c[((n|0)>(b|0)?A:x)+8>>2]|0;c[v>>2]=b;o=j;t=c[((t|0)>(E|0)?A:x)+12>>2]|0;m=D;p=C;n=b}}else{j=0;r=g;s=p}}else{c[A>>2]=0;c[A+4>>2]=0;n=KL(f,m,54,3)|0;c[A+8>>2]=n;s=KL(f,j,36,3)|0;c[A+12>>2]=s;j=1;m=0;r=0}while(0);b=f+16|0;o=c[b>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=m-n+~~(H+(H>=0.0?.5:-.5))|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[A>>2]=m;n=n+g|0;c[A+8>>2]=n;g=0}else g=0}else g=j;if(y|(g|0)!=0){j=0;g=o}else{j=KL(a,c[46374]|0,8,0)|0;g=c[b>>2]|0}q=j-m|0;p=~~(+h[g+56>>3]+ +(j-r|0));c[A>>2]=0;c[A+4>>2]=0;o=q+j+n|0;c[A+8>>2]=o;b=~~(+h[g+88>>3]+ +(j+p|0)+ +(s|0));c[A+12>>2]=b;b:do if(z){g=e;c:while(1){n=d+4|0;j=c[d>>2]|0;if(!j)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}k=+(d|0)*.013888888888888888;i=+(g|0)*.013888888888888888;d=Sy(j)|0;while(1){if(!d){d=n;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=+h[F>>3]+k;F=F+8|0;h[F>>3]=+h[F>>3]+i;d=Ty(j,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;E=F+8|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;h[F+24>>3]=+(o|0)*.013888888888888888;h[F+32>>3]=+(b|0)*.013888888888888888;l=B;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;Xo(d);Cz(d,134401)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)D_(b);Xo(a);Cz(a,134401)|0;d=Sy(a)|0;while(1){if(!d)break;e=Ty(a,d)|0;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+172>>2]|0);Cz(b,134378)|0;b=Gx(a,b)|0}Yo(d);d=e}$x(a)|0;return}function Xo(a){a=a|0;D_(c[(c[a+16>>2]|0)+140>>2]|0);return}function Yo(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);Cz(a,134365)|0;return}function Zo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=uH((l*24|0)+24|0)|0;i=0;j=Jx(b,a)|0;while(1){if(!j)break;f=c[j>>2]&3;e=c[((f|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((f|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;f=c[(c[k>>2]|0)+132>>2]|0;g=+h[e>>3]-+h[f>>3];d=+h[e+8>>3]-+h[f+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+K(+d,+g);h[m+(i*24|0)+16>>3]=d*d+g*g;i=i+1|0;j=Kx(b,j,a)|0}if((i|0)!=(l|0))qa(90689,90666,642,90698);_0(m,l,24,67);a:do if((l|0)>1){j=l+-1|0;e=0;b:while(1){if((e|0)>=(j|0))break a;g=+h[m+(e*24|0)+8>>3];f=e+1|0;i=f;while(1){if((i|0)>=(l|0))break;if(!(+h[m+(i*24|0)+8>>3]==g))break;i=i+1|0}if((i|0)==(f|0)){e=f;continue}if((i|0)==(l|0))d=3.141592653589793;else d=+h[m+(i*24|0)+8>>3];d=(d-g)/+(i-e|0);d=d>.03490658503988659?.03490658503988659:d;g=0.0;while(1){if((e|0)>=(i|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=+h[k>>3]+g;g=g+d;e=e+1|0}}}while(0);return m|0}function _o(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;m=i>>>0>a>>>0;l=m?g:-g;d=m?1:-1;k=0;i=c[n+172>>2]|0;j=m?f:f+-1+o|0;g=m?p:g*+(o+-1|0)+p;while(1){if((k|0)>=(o|0))break;n=c[i>>2]|0;c[e+(j<<4)>>2]=n;m=c[n>>2]&3;q=(m|0)==3?n:n+48|0;c[e+(j<<4)+4>>2]=c[((c[(c[(c[q+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?q:(m|0)==2?n:n+-48|0)+40>>2];h[e+(j<<4)+8>>3]=g;k=k+1|0;i=i+4|0;j=j+d|0;g=g+l}return o+f|0}function $o(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c<d)){d=+h[a+16>>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d<c)<<31>>31}else a=-1;else a=1;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=nx(a,0,c,0)|0;do if(d|0){a=yx(a,d)|0;d=nx(b,0,c,0)|0;if(!d){nx(b,0,c,a)|0;break}else{rx(b,d,a)|0;break}}while(0);return}function bp(a,b){a=a|0;b=b|0;var d=0,f=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;f=uH(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=vH((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function cp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;p=q;o=q+64|0;i=c[e+4>>2]|0;k=yx(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=yx(yA(b)|0,i)|0;if((e|0)==(k|0))break;if(!(b$(k,e)|0))break}a[o>>0]=0;e=p+8|0;i=p+16|0;j=p+24|0;c[m>>2]=p;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=o;if((N1(k,90851,m)|0)<=3){c[n>>2]=ry(b)|0;c[n+4>>2]=k;Pw(0,90869,n)|0;break}g=+h[22908];if(g>0.0){h[p>>3]=+h[p>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}e=a[o>>0]|0;if(e<<24>>24==33)a[(c[d+16>>2]|0)+119>>0]=3;else a[(c[d+16>>2]|0)+119>>0]=e<<24>>24==63?2:1;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[f+16>>2]=c[p+16>>2];c[f+20>>2]=c[p+20>>2];c[f+24>>2]=c[p+24>>2];c[f+28>>2]=c[p+28>>2]}while(0);l=q;return}function dp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;a=b[f+168>>1]|0;f=c[f+172>>2]|0;if(!f){a=a<<16>>16;e=a;a=vH((a<<2)+4|0)|0}else{a=a<<16>>16;e=a;a=xH(f,(a<<2)+4|0)|0}c[a+(e<<2)>>2]=d;d=c[g>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=W_(ry(a)|0)|0;j=W_(ry(f)|0)|0;j=(b+8+j+(W_(ry(d)|0)|0)|0)>999;b=ry(a)|0;if(j){d=ry(d)|0;j=ry(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;Y0(190692,90809,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;Y0(190692,90828,h)|0}l=i;return}function fp(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=C_(40)|0;c[i>>2]=0;g=+h[22908];o=0;f=+Z(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){h[22908]=f;o=0;ia(100,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){i=D3(184132,1,i|0,j|0)|0;j=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,i|0,j|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1)d=0;else d=z}else d=z}else d=z;while(1){if(d|0)break;o=0;ia(101,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}o=0;$(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;ia(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}}o=0;ja(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else{k=12;break}}if((k|0)==12)h[22908]=g;D_(i|0);return}function gp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Wm(a,22,10)|0){c[46363]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Ym(a,d)|0;break}else{Pw(0,90912,g)|0;d=2;break}while(0);c[46363]=0}if((c[46367]|0)<1)Ym(a,d)|0;l=i;return}function hp(a){a=a|0;var b=0.0,d=0.0,e=0;e=l;l=l+16|0;c[45704]=1;c[45705]=1;c[45707]=-1;c[45709]=50;h[22860]=0.0;h[22855]=0.0;h[22856]=1.0;c[45708]=KL(a,nx(a,0,90975,0)|0,600,0)|0;d=+LL(a,nx(a,0,90983,0)|0,.3,0.0);h[22857]=d;h[1371]=d;if(-1.0==-1.0)b=+LL(a,nx(a,0,90985,0)|0,-1.0,0.0);else b=-1.0;h[22858]=b;c[45706]=1;a=om(a,2,182824)|0;c[45718]=a;if(!a){Pw(0,90988,e)|0;c[45706]=2}c[45734]=(O(c[45708]|0,c[45709]|0)|0)/100|0;d=+h[22857];h[22862]=d*d;if(c[45704]|0){b=+h[22860];if(b<=0.0){b=d*3.0;h[22860]=b}h[22861]=b*b}l=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=jp(a,b)|0;kp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[45704]|0)){b=0;while(1){if((b|0)>=(c[45735]|0))break a;np(a,+lp(b),g);b=b+1|0}}else{d=Ku(ay(a)|0)|0;Pu(d,ay(a)|0);b=0;while(1){if((b|0)>=(c[45735]|0))break;mp(a,+lp(b),g,d);b=b+1|0}Ru(d)}while(0);b:do if(e!=0.0|f!=0.0){b=Sy(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=+h[g>>3]+e;g=g+8|0;h[g>>3]=+h[g>>3]+f;b=Ty(a,b)|0}}while(0);if(i|0)op();l=j;return}function jp(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[22858]==-1.0){i=ay(a)|0;d=+h[22857];h[22858]=+h[22856]*.2*d*+C(+(+(i|0)));i=1}else{i=0;d=+h[22857]}g=c[45734]|0;h[b+8>>3]=+lp(g);h[b+16>>3]=d;h[b+24>>3]=+h[22855];e=c[45708]|0;a=e-g|0;c[b>>2]=a;f=c[45707]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[45735]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[45735]=g;a=f-g|0;j=10}}else{c[45735]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0;v=ay(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=Sy(d)|0;q=0;r=0;g=0;k=0;n=0;while(1){if(!u)break;f=c[u+16>>2]|0;if(!(a[f+119>>0]|0))f=r;else{f=c[f+132>>2]|0;i=+h[f>>3];if(!q){k=~~i;g=~~+h[f+8>>3];n=g;f=k}else{p=+(r|0);s=+h[f+8>>3];t=+(g|0);w=+(k|0);o=+(n|0);n=~~(s>o?s:o);f=~~(i<p?i:p);g=~~(s<t?s:t);k=~~(i>w?i:w)}q=q+1|0}u=Ty(d,u)|0;r=f}i=+h[22857]*(+C(+(+(v-x|0)))+1.0);s=i*.6;h[22864]=s;h[22863]=s;if((q|0)!=1)if((q|0)>1){t=+(k+r|0)*.5;w=+(n+g|0)*.5;o=+(k-r|0);p=o*1.2;l=+(n-g|0);m=l*1.2;i=i*2.4*s;j=m*p/i;do if(!(j>=1.0)){if(j>0.0){i=+C(+j)*2.0;j=p/i;h[22863]=j;i=m/i;z=20;break}if(p>0.0){j=o*.6;h[22863]=j;i=i/p*.5;z=20;break}if(m>0.0){j=i/m*.5;h[22863]=j;i=l*.6;z=20}else{i=s;j=s}}else{j=o*.6;h[22863]=j;i=l*.6;z=20}while(0);if((z|0)==20)h[22864]=i;s=+K(+i,+j);j=j/+E(+s);h[22863]=j;i=i/+F(+s);h[22864]=i}else{t=0.0;w=0.0;j=s;i=s}else{t=+(r|0);w=+(g|0);j=s;i=s}h[22865]=j*j;h[22866]=i*i;if((c[45718]|0)==2)f=c[45706]|0;else{f=H1()|0;f=(db(0)|0)^f}i2(f);a:do if(!e){e=Sy(d)|0;if(!q)while(1){if(!e)break a;s=+h[22863];s=(+k2()*2.0+-1.0)*s;z=e+16|0;h[c[(c[z>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[z>>2]|0)+132>>2]|0)+8>>3]=s;e=Ty(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){s=+h[22863];s=(+k2()*2.0+-1.0)*s;h[c[(c[f>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=s}else{z=c[g+132>>2]|0;h[z>>3]=+h[z>>3]-t;z=z+8|0;h[z>>3]=+h[z>>3]-w}e=Ty(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;u=e+8|0;s=+E(+(+h[u>>3]))*+h[22863]+t;x=c[(c[e+4>>2]|0)+16>>2]|0;v=c[x+132>>2]|0;h[v>>3]=s;h[v+8>>3]=+F(+(+h[u>>3]))*+h[22864]+w;a[x+119>>0]=1;e=e+16|0}l=t*.1;m=w*.1;r=Sy(d)|0;while(1){if(!r)break a;q=r+16|0;e=c[q>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))z=32;do if((z|0)==32){z=0;if(a[e+119>>0]|0){x=c[e+132>>2]|0;h[x>>3]=+h[x>>3]-t;x=x+8|0;h[x>>3]=+h[x>>3]-w;break}n=Jx(d,r)|0;e=0;j=0.0;i=0.0;while(1){if(!n)break;k=c[n>>2]&3;f=(k|0)==2?n:n+-48|0;g=c[f+40>>2]|0;k=(k|0)==3?n:n+48|0;do if((g|0)!=(c[k+40>>2]|0)?(y=c[(c[((g|0)==(r|0)?k:f)+40>>2]|0)+16>>2]|0,(a[y+119>>0]|0)!=0):0)if(!e){x=c[y+132>>2]|0;e=1;j=+h[x>>3];i=+h[x+8>>3];break}else{p=+(e|0);x=c[y+132>>2]|0;e=e+1|0;s=+(e|0);j=(+h[x>>3]+j*p)/s;i=(+h[x+8>>3]+i*p)/s;break}while(0);n=Kx(d,n,r)|0}do if((e|0)<=1)if((e|0)==1){f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j*.98+l;i=i*.9+m;break}else{i=+k2()*6.283185307179586;s=+k2()*.9;p=s*+h[22863]*+E(+i);f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=p;i=+h[22864]*s*+F(+i);break}else{f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);r=Ty(d,r)|0}}while(0);h[b>>3]=t;h[b+8>>3]=w;return}function lp(a){a=a|0;var b=0;b=c[45708]|0;return +(+h[22858]*+(b-a|0)/+(b|0))}function mp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Qu(e);f=Sy(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[22860];g=~~+A(+(+h[i>>3]/j));Tu(e,g,~~+A(+(+h[i+8>>3]/j)),f);f=Ty(a,f)|0}g=Sy(a)|0;while(1){if(!g)break;f=Ex(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))qp(g,i,f);f=Gx(a,f)|0}g=Ty(a,g)|0}Vu(e,23);rp(a,b,d)}return}function np(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=Sy(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=Ty(a,e)|0}g=Sy(a)|0;while(1){if(!g)break;else e=g;while(1){e=Ty(a,e)|0;if(!e)break;pp(g,e)}e=Ex(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))qp(g,f,e);e=Gx(a,e)|0}g=Ty(a,g)|0}rp(a,b,d)}return}function op(){h[22858]=-1.0;return}function pp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];sp(a,b,d,e,e*e+d*d);return}function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;a=a+16|0;b=c[(c[a>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[b>>3];f=+h[k+8>>3]-+h[b+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=e+f;if(!(e==0.0))break;e=+(5-((g2()|0)%10|0)|0);f=+(5-((g2()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+C(+e);b=c[d+16>>2]|0;e=+h[b+128>>3];if(!(c[45705]|0))e=e*f/+h[b+136>>3];else e=(f-+h[b+136>>3])*e/f;g=e*g;k=c[(c[j>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]-g;i=e*i;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[a>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]+g;k=k+24|0;h[k>>3]=+h[k>>3]+i;return}function rp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;m=Sy(b)|0;while(1){if(!m)break;l=c[m+16>>2]|0;if(!(a[l+119>>0]&2)){k=c[l+112>>2]|0;f=+h[k+16>>3];i=+h[k+24>>3];g=i*i+f*f;if(g<o){e=c[l+132>>2]|0;j=+h[e>>3]+f;f=+h[e+8>>3]+i}else{g=d/+C(+g);e=c[l+132>>2]|0;j=+h[e>>3]+g*f;f=+h[e+8>>3]+g*i}do if(!n){g=+C(+(f*f/+h[22866]+j*j/+h[22865]));if((c[k+8>>2]|0)==0?(c[l+212>>2]|0)==0:0){h[e>>3]=j/g;f=f/g;break}if(!(g>=1.0)){h[e>>3]=j;break}else{h[e>>3]=j*.95/g;f=f*.95/g;break}}else h[e>>3]=j;while(0);h[e+8>>3]=f}m=Ty(b,m)|0}return}function sp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0;g=d;d=f;while(1){if(!(d==0.0))break;d=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);g=d;d=e*e+d*d}if(!(c[45705]|0))d=+h[22862]/d;else{f=+C(+d);d=+h[22862]/(f*d)}j=c[a+16>>2]|0;a=c[j+112>>2]|0;if(((c[a+8>>2]|0)==0?(c[j+212>>2]|0)==0:0)?(i=c[b+16>>2]|0,(c[(c[i+112>>2]|0)+8>>2]|0)==0):0)d=(c[i+212>>2]|0)==0?d*10.0:d;f=d*g;j=c[(c[b+16>>2]|0)+112>>2]|0;b=j+16|0;h[b>>3]=+h[b>>3]+f;g=d*e;j=j+24|0;h[j>>3]=+h[j>>3]+g;j=a+16|0;h[j>>3]=+h[j>>3]-f;j=a+24|0;h[j>>3]=+h[j>>3]-g;return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))pp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;up(d,h,a,f);up(d,h,e,f);b=e+1|0;up(d,h,b,f);up(d,g,a,f);up(d,g,b,f);g=g+1|0;up(d,g,a,f);up(d,g,e,f);up(d,g,b,f);return 0}function up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Wu(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=g*g+f*f;if(i<+h[22861])sp(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=xx(b,91095)|0;if(0)E1(91032,8,1,c[15686]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91041;f=A$(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=a2(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(0){i=c[15686]|0;c[g>>2]=f;c[g+4>>2]=e;g1(i,91049,g)|0}if(!((f|0)!=0?!(wp(b,d,f)|0):0))sq(b,e)|0;l=h;return}function wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=ay(b)|0;k=by(b)|0;qq(j,b);c[46072]=c[j>>2];c[46073]=c[j+4>>2];c[46074]=c[j+8>>2];if(a[184296]|0){g[46072]=+g[46072]*.013888888888888888;g[46073]=+g[46073]*.013888888888888888}f=xp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0)*2.0;p=1.0/+(O(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;yp(s,r);m=+h[22868]*+h[170];h[22869]=m;h[22870]=o*m*p;d=0;while(1){if((d|0)>=(c[45742]|0))break;m=+zp(d);if(m<=0.0)break;f=Ap(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=n+q;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function xp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=Sy(a)|0;while(1){if(!e)break;else d=e;while(1){c=Ty(a,d)|0;if(!c)break;d=c;b=(Dp(e,c)|0)+b|0}e=Ty(a,e)|0}return b|0}function yp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[22872]=f;c[45742]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[22868]=e*e;if(f==0.0)h[22872]=+C(+(+(a|0)))*.2*e;return}function zp(a){a=a|0;var b=0;b=c[344]|0;return +(+h[22872]*+(b-a|0)/+(b|0))}function Ap(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;e=Sy(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=Ty(b,e)|0}e=0;j=Sy(b)|0;while(1){if(!j)break;else g=j;while(1){f=Ty(b,g)|0;if(!f)break;g=f;e=(Bp(j,f)|0)+e|0}f=Ex(b,j)|0;while(1){if(!f)break;Cp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=Gx(b,f)|0}j=Ty(b,j)|0}a:do if(!e)e=0;else{m=d*d;g=Sy(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;k=+h[j+16>>3];i=+h[j+24>>3];l=i*i+k*k;if(l<m){f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k}else{l=+C(+l);f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k*d/l;i=i*d/l}j=f+8|0;h[j>>3]=+h[j>>3]+i}g=Ty(b,g)|0}}while(0);return e|0}function Bp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];return Fp(a,b,d,e,e*e+d*d)|0}function Cp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(Dp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];d=+h[m+8>>3]-+h[l+8>>3];g=+C(+(d*d+e*e));j=+Ep(a);j=+Ep(b)+j;k=g-j;g=k*k/((+h[171]+j)*g);e=g*e;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]+e;b=b+24|0;h[b>>3]=+h[b>>3]+d}return}function Dp(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0,l=0;k=c[d+16>>2]|0;l=c[k+132>>2]|0;d=c[b+16>>2]|0;b=c[d+132>>2]|0;i=+h[l>>3]-+h[b>>3];j=+h[l+8>>3]-+h[b+8>>3];j=j<0.0?-j:j;b=(a[184296]|0)==0;e=+h[d+32>>3];if(b){f=+g[46072];e=e*.5*f;f=+h[k+32>>3]*.5*f}else{f=+g[46072];e=e*.5+f;f=+h[k+32>>3]*.5+f}if(!((i<0.0?-i:i)<=f+e))d=0;else{e=+h[d+40>>3];if(b){i=+g[46073];f=e*.5*i;e=+h[k+40>>3]*.5*i}else{i=+g[46073];f=e*.5+i;e=+h[k+40>>3]*.5+i}d=j<=e+f&1}return d|0}function Ep(b){b=b|0;var d=0.0,e=0.0;b=c[b+16>>2]|0;d=+h[b+32>>3];if(!(a[184296]|0)){e=d*.5*+g[46072];d=+h[b+40>>3]*.5*+g[46073]}else{e=d*.5+ +g[46072];d=+h[b+40>>3]*.5+ +g[46073]}return +(+C(+(d*d+e*e)))}function Fp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);d=f;f=e*e+f*f}g=Dp(a,b)|0;f=((g|0)==0?+h[22870]:+h[22869])/f;d=f*d;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=f*e;b=b+24|0;h[b>>3]=+h[b>>3]+f;b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Gp(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;Hp(a);return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;e=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Ip(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Ip(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+4|0;k=n;a[m>>0]=a[18492]|0;a[m+1>>0]=a[18493]|0;a[m+2>>0]=a[18494]|0;a[m+3>>0]=a[18495]|0;m=Xx(91072,m,0)|0;Az(m,91080,280,1)|0;c[(c[b+16>>2]|0)+140>>2]=m;e=Sy(b)|0;while(1){if(!e)break;f=e+16|0;if(!(c[c[(c[f>>2]|0)+112>>2]>>2]|0)){j=Kp(m,ry(e)|0,e)|0;c[c[(c[f>>2]|0)+112>>2]>>2]=j}e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;h=c[e>>2]&3;g=c[c[(c[(c[((h|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;h=c[c[(c[(c[((h|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((g|0)!=(h|0))Az(Rx(m,g,h,0,1)|0,134378,176,1)|0;e=Gx(b,e)|0}f=Ty(b,f)|0}j=oD(m,k,0)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;h=c[j+(f<<2)>>2]|0;e=Sy(h)|0;while(1){if(!e)break;g=Ex(b,c[c[(c[e+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!g)break;i=c[c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((e|0)!=(i|0)){i=Rx(m,e,i,0,1)|0;Az(i,134378,176,1)|0;Vx(h,i,1)|0}g=Gx(b,g)|0}e=Ty(h,e)|0}f=f+1|0}e=Sy(m)|0;while(1){if(!e)break;f=Ex(m,e)|0;while(1){if(!f)break;b=uH(8)|0;c[(c[f+16>>2]|0)+120>>2]=b;f=Gx(m,f)|0}e=Ty(m,e)|0}c[d>>2]=c[k>>2];l=n;return j|0}function Kp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;e=uH(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=uH(c[46366]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Lp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(ay(a)|0){g=Jp(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){Xu(b,a);Mp(c[g>>2]|0);tq(a)|0}else{d=c[b+60>>2]|0;XD(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;Xu(i,a);tq(i)|0;b=b+1|0}WD(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Mp(c[g+(b<<2)>>2]|0);b=b+1|0}}D_(g)}l=h;return}function Mp(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=Ty(a,b)|0}return}function Np(a){a=a|0;if(ay(a)|0){Gp(a);Lp(a);D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);hn(a);eJ(a)}return}function Op(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;if(b|0){e=a+16|0;Pp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}D_(c[(c[e>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401)}return}function Pp(a){a=a|0;var b=0,d=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+120>>2]|0);b=Gx(a,b)|0}b=d+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);d=Ty(a,d)|0}$x(a)|0;return}function Qp(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Rp(a,k)|0){b=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=Sy(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=Ty(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=Sy(a)|0;while(1){if(!d)break a;f=Ex(a,d)|0;if(f|0)break;d=Ty(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+K(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+E(+e);e=+F(+e);b=Sy(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=p*g+j-o*e;h[n>>3]=p*e+i+o*g;b=Ty(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Rp(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=xx(b,91085)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+c2(b,f);if((c[f>>2]|0)==(b|0))if(!((QL(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e*.017453292519943295;b=1}else b=0;while(0);l=g;return b|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,91095)|0;return Tp(a,(d|0)==0?(c|0?c:191979):d,b)|0}function Tp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;m=n+16|0;j=n+8|0;i=n;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17792;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(V$(d,g,c[f+8>>2]|0)|0)){k=6;break}f=f+16|0}if((k|0)==6){if(!(c[f+12>>2]|0)){c[i>>2]=g;Pw(0,91103,i)|0;f=17792}i=c[f>>2]|0;c[e>>2]=i;c[e+4>>2]=c[f+12>>2];if((i|0)==18)Up(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=RL(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;Pw(0,91145,j)|0;f=0}else f=f&255;f=(f|0)==0;c[e>>2]=f&1;f=f?91192:132627;k=15}}else{c[e>>2]=0;f=132627;k=15}if((k|0)==15)c[e+4>>2]=f;if(0){k=c[15686]|0;j=c[e+8>>2]|0;o=+h[e+16>>3];c[m>>2]=c[e+4>>2];c[m+4>>2]=j;h[m+8>>3]=o;g1(k,91200,m)|0}l=n;return e|0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(N1(b,134313,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+LL(a,nx(a,0,91236,0)|0,-4.0,-1.0e10);l=e;return}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((ay(a)|0)>=2){d=Qp(a)|0;d=(Wp(a)|0)+d|0;e=c[b>>2]|0;if(e){if(0){e=c[15686]|0;j=ry(a)|0;i=c[b+4>>2]|0;c[f>>2]=j;c[f+4>>2]=i;g1(e,91565,f)|0;e=c[b>>2]|0}if(e>>>0>2){switch(e|0){case 3:{e=Xq(a,1)|0;break}case 4:{e=Xq(a,0)|0;break}case 6:case 5:{e=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{Hq(a,e)|0;e=0;break}case 15:{e=Xq(a,-1)|0;break}default:{c[g>>2]=c[b+4>>2];Pw(0,91588,g)|0;e=0}}d=e+d|0;break}if(Xp(a)|0){Yp();D_(c[46075]|0);c[46075]=0;break}Zp(a);if((c[b>>2]|0)==2)e=_p()|0;else e=$p()|0;if(e|0)aq();Yp();D_(c[46075]|0);c[46075]=0;d=e+d|0}}else d=0;while(0);l=h;return d|0}function Wp(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+24|0;f=m+16|0;j=m;b=xx(a,137660)|0;a:do if(((b|0)!=0?(k=j+8|0,c[f>>2]=j,c[f+4>>2]=k,e=N1(b,102477,f)|0,(e|0)!=0):0)?(g=+h[j>>3],!(+B(+g)<1.0e-09)):0){if((e|0)!=1){d=+h[k>>3];if(+B(+d)<1.0e-09){b=0;break}}else{h[k>>3]=g;d=g}if(!(d==1.0&g==1.0)){if(0){f=c[15686]|0;h[i>>3]=g;h[i+8>>3]=d;g1(f,91748,i)|0}b=Sy(a)|0;while(1){if(!b){b=1;break a}i=c[(c[b+16>>2]|0)+132>>2]|0;h[i>>3]=+h[i>>3]*+h[j>>3];i=i+8|0;h[i>>3]=+h[i>>3]*+h[k>>3];b=Ty(a,b)|0}}else b=0}else b=0;while(0);l=m;return b|0}function Xp(b){b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46084]=ay(b)|0;ur();c[46099]=vH((c[46084]|0)*96|0)|0;f=Sy(b)|0;d=c[46099]|0;qq(k,b);i=+g[k>>2];j=+g[k+4>>2];k=(a[k+8>>0]|0)==0;j=k?j:j*.013888888888888888;i=k?i:i*.013888888888888888;k=k?2:1;e=0;while(1){if((e|0)>=(c[46084]|0)){d=0;break}o=c[(c[f+16>>2]|0)+132>>2]|0;h[d+8>>3]=+h[o>>3];h[d+16>>3]=+h[o+8>>3];if(mb[k&3](d+40|0,f,i,j)|0){m=4;break}c[d+24>>2]=e;c[d+28>>2]=1;c[d>>2]=f;c[d+88>>2]=0;d=d+96|0;e=e+1|0;f=Ty(b,f)|0}if((m|0)==4){D_(c[46099]|0);c[46099]=0;d=1}l=n;return d|0}function Yp(){var a=0,b=0;a=c[46099]|0;b=0;while(1){if((b|0)>=(c[46084]|0))break;pt(a+40|0);a=a+96|0;b=b+1|0}ot();Wr();D_(c[46099]|0);return}function Zp(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46099]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46084]|0;d=p;e=1;g=+h[p+40>>3]+i;i=+h[p+56>>3]+i;j=+h[p+48>>3]+k;k=+h[p+64>>3]+k;while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=+h[d+136>>3]+s;r=+h[d+144>>3]+q;s=+h[d+152>>3]+s;q=+h[d+160>>3]+q;d=d+96|0;e=e+1|0;g=t<g?t:g;i=s>i?s:i;j=r<j?r:j;k=q>k?q:k}d=xx(b,91688)|0;if(d|0?a[d>>0]|0:0)h[173]=+b2(d);s=+h[173];t=s*(k-j);s=s*(i-g);h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=s+i;h[n+8>>3]=t+k;iq(m,n);l=o;return}function _p(){var a=0,b=0,d=0,e=0;d=l;l=l+16|0;b=d;if(bq(0)|0){cq();a=0;do{pq();a=a+1|0}while((bq(a)|0)!=0);if(!0)a=1;else{e=c[15686]|0;c[b>>2]=a;g1(e,91616,b)|0;a=1}}else a=0;l=d;return a|0}function $p(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;b=bq(0)|0;if(!b)a=0;else{cq();dq(0);Yt(0,1);a=0;e=0;d=0;while(1){fq();d=d+1|0;f=bq(d)|0;if(!f)break;b=(f|0)<(b|0)?0:e+1|0;c[46076]=1;if(b){gq();a=a+1|0}dq(1);Yt(0,1);e=b;b=f}if(0){f=c[15686]|0;c[g>>2]=d;g1(f,91616,g)|0;c[h>>2]=a;g1(f,91643,h)|0}hq();a=1}l=i;return a|0}function aq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=c[46099]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;o=q+24|0;n=q+8|0;p=q;d=c[46099]|0;e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0)){f=0;b=0;break}c[d+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(e+-1|0))break;m=d+96|0;b=b+1|0;j=d+8|0;k=d+40|0;i=d+32|0;g=m;h=b;while(1){if((h|0)>=(e|0)){d=m;continue a}e=g+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];if(!(yt(n,k,o,g+40|0)|0))d=f;else{c[i>>2]=1;c[g+32>>2]=1;d=f+1|0}g=g+96|0;h=h+1|0;f=d;e=c[46084]|0}}if(0>1){o=c[15686]|0;c[p>>2]=a;c[p+4>>2]=f;g1(o,91669,p)|0}l=q;return f|0}function cq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;nq();k=c[46078]|0;l=c[46099]|0;a=c[46075]|0;a:while(1){i=a;if(a>>>0>=k>>>0)break;b=a+4|0;if(b>>>0>=k>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;g=+h[d>>3];if(+h[f>>3]!=g){a=b;continue}e=+h[d+8>>3];if(+h[f+8>>3]!=e){a=b;continue}j=a+8|0;f=2;while(1){if(j>>>0>=k>>>0)break;d=c[j>>2]|0;if(!(+h[d>>3]==g)){m=11;break}if(!(+h[d+8>>3]==e)){m=11;break}j=j+4|0;f=f+1|0}if((m|0)==11){m=0;d=c[j>>2]|0;if(+h[d+8>>3]==e){e=(+h[d>>3]-g)/+(f|0);d=(((j>>>0>b>>>0?j:b)+-1+(0-i)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=j;continue a}i=c[b>>2]|0;h[i>>3]=+h[i>>3]+e*+(a|0);a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=j>>>0){a=j;continue a}f=c[a>>2]|0;n=c[f+16>>2]|0;i=c[b>>2]|0;d=c[i+16>>2]|0;h[i>>3]=(+h[l+(n*96|0)+56>>3]-+h[l+(n*96|0)+40>>3]+ +h[l+(d*96|0)+56>>3]-+h[l+(d*96|0)+40>>3])*.5+ +h[f>>3];b=b+4|0;a=a+4|0}}return}function dq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;if(a|0)nq();i=c[46075]|0;j=c[i>>2]|0;d=+h[j>>3];h[22887]=d;k=c[46084]|0;f=1;g=+h[j>>3];while(1){if((f|0)>=(k|0))break;a=c[i+(f<<2)>>2]|0;b=+h[a>>3];if(b<d){h[22887]=b;e=+h[a>>3]}else{e=b;b=d}f=f+1|0;d=b;g=e>g?e:g}e=+h[j+8>>3];h[22888]=e;h[22890]=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3]-e;h[22889]=g-d;return}function eq(){var a=0;a=c[46077]|0;if(a>>>0<(c[46078]|0)>>>0){c[46077]=a+4;a=c[a>>2]|0}else a=0;return a|0}function fq(){var a=0,b=0,d=0;a=c[46099]|0;jq();d=(c[46076]|0)==0;b=0;while(1){if((b|0)>=(c[46084]|0))break;if(!(d?!(c[a+32>>2]|0):0))kq(a);a=a+96|0;b=b+1|0}return}function gq(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[22883];i=+h[22881];g=+h[22884];e=+h[22882];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=f+j;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;iq(c,b);l=a;return}function hq(){Hr();Jr();Kt();nr();return}function iq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[22884]=f;e=+h[b>>3];h[22883]=e;c=+h[a+8>>3];h[22882]=c;d=+h[b+8>>3];h[22881]=d;h[22873]=f;h[22875]=f;h[22877]=e;h[22879]=e;h[22880]=d;h[22876]=d;h[22878]=c;h[22874]=c;return}function jq(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46099]|0;g=m+8|0;f=+vr(g,182984);e=+vr(g,183e3);d=+vr(g,183016);a=1;b=+vr(g,183032);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46084]|0))break;q=m+104|0;r=+vr(q,182984);n=r<f;t=+vr(q,183016);p=t<d;s=+vr(q,183e3);o=s<e;u=+vr(q,183032);q=u<b;a=a+1|0;b=q?u:b;d=p?t:d;e=o?s:e;f=n?r:f;g=q?l:g;i=p?l:i;j=o?l:j;k=n?l:k;m=l}Xr(k+8|0,+h[22873],+h[22874]);Xr(i+8|0,+h[22877],+h[22878]);Xr(j+8|0,+h[22875],+h[22876]);Xr(g+8|0,+h[22879],+h[22880]);return}function kq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+64|0;j=p+48|0;i=p+32|0;g=p+16|0;m=p+8|0;n=p;k=c[a+88>>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+lq(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];mq(g,i,j,m,n);b=+h[n>>3]*q+b;d=+h[m>>3]*q+d;e=q+e;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;d=+h[b+8>>3];f=+h[c+8>>3];e=+h[a+8>>3];return +(+B(+((f-e)*+h[b>>3]+(d-f)*+h[a>>3]+ +h[c>>3]*(e-d)))*.5)}function mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[b>>3]+ +h[a>>3]+ +h[c>>3])*.3333333333333333;h[e>>3]=(+h[b+8>>3]+ +h[a+8>>3]+ +h[c+8>>3])*.3333333333333333;return}function nq(){var a=0,b=0,d=0,e=0;a=c[46075]|0;if(!a){a=vH(c[46084]<<2)|0;c[46075]=a;c[46078]=a+(c[46084]<<2)}d=c[46099]|0;Wr();e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}_0(c[46075]|0,e,4,68);c[46077]=c[46075];return}function oq(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(d<e))if(!(d>e)){e=+h[a>>3];d=+h[b>>3];if(e<d)a=-1;else a=e>d&1}else a=1;else a=-1;return a|0}function pq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=0;b=c[46099]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function qq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91700)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91704)|0;if(e|0?rq(e,j,.800000011920929,4.0)|0:0)break;g[j+4>>2]=4.0;g[j>>2]=4.0;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91709,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function rq(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;m=o;j=o+12|0;k=o+8|0;while(1){h=a[b>>0]|0;i=b+1|0;if(!(B$(h<<24>>24)|0))break;else b=i}p=h<<24>>24==43;h=d+8|0;a[h>>0]=p&1;c[m>>2]=j;c[m+4>>2]=k;switch(N1(p?i:b,91742,m)|0){case 0:{b=0;break}case 1:{c[k>>2]=c[j>>2];n=5;break}default:n=5}if((n|0)==5){do if(a[h>>0]|0){if(e>1.0){q=+g[j>>2]/e;g[d>>2]=q>f?f:q;e=+g[k>>2]/e;e=e>f?f:e;break}if(e<1.0){q=+g[j>>2]/e;g[d>>2]=q<f?f:q;e=+g[k>>2]/e;e=e<f?f:e;break}else{c[d>>2]=c[j>>2];e=+g[k>>2];break}}else{g[d>>2]=+g[j>>2]/e+1.0;e=+g[k>>2]/e+1.0}while(0);g[d+4>>2]=e;b=1}l=o;return b|0}function sq(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((ay(a)|0)<2)a=0;else{Tp(a,b,c)|0;a=Vp(a,c)|0}l=d;return a|0}function tq(a){a=a|0;return sq(a,xx(a,91095)|0)|0}function uq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91704)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91700)|0;if(e|0?rq(e,j,1.25,3.200000047683716)|0:0)break;g[j+4>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91771,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;wq(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((xq(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;yq(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((xq(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=h+~~+g[(c[k>>2]|0)+(a<<2)>>2];yq(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function wq(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function xq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function zq(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function Aq(a){a=a|0;D_(c[a>>2]|0);return}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;if(!0)g=0;else{E1(91804,25,1,c[15686]|0)|0;g=0}while(1){if((g|0)>=(a|0))break;i=b+(g<<2)|0;f=0;e=0.0;while(1){if((f|0)==(a|0))break;if((g|0)!=(f|0))e=+h[(c[i>>2]|0)+(f<<3)>>3]+e;f=f+1|0}h[(c[i>>2]|0)+(g<<3)>>3]=-e;g=g+1|0}return xs(b,d,a+-1|0)|0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=wn(b,b,0.0)|0;k=wn(b,b,0.0)|0;e=Sy(a)|0;while(1){if(!e)break;d=Jx(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=Kx(a,d,e)|0}e=Ty(a,e)|0}i=Bq(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]+ +h[a+(e<<3)>>3]+ +h[a+(d<<3)>>3]*-2.0;d=d+1|0}e=e+1|0}}while(0);xn(j);xn(k);return i|0}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=vH(n)|0;p=vH(n)|0;q=vH(n)|0;k=vH(n)|0;m=vH(n)|0;n=vH(n)|0;Ps(d,c,n);Is(d,n);Is(d,b);Ks(a,d,b,k);Ms(d,n,k,o);Ps(d,o,p);i=f+-1|0;c=0;g=+Qs(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,o)>e)){c=0;break}Ks(a,d,p,q);h=+Qs(d,p,q);if(h==0.0){c=0;break}h=g/h;Os(d,p,h,m);Ns(d,b,m,b);if((c|0)<(i|0)){Os(d,q,h,q);Ms(d,o,q,o);h=+Qs(d,o,o);if(g==0.0){r=7;break}Os(d,p,h/g,p);Ns(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){Pw(1,91830,j)|0;c=1}D_(o);D_(p);D_(q);D_(k);D_(m);D_(n);l=s;return c|0}function Eq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=vH(o)|0;q=vH(o)|0;k=vH(o)|0;m=vH(o)|0;n=vH(o)|0;o=vH(o)|0;Ps(d,c,o);if(g<<24>>24){Is(d,o);Is(d,b)}Ls(a,d,b,m);Ms(d,o,m,p);Ps(d,p,q);g=f+-1|0;c=0;h=+Qs(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,p)>e)){c=0;break}Ls(a,d,q,k);i=+Qs(d,q,k);if(i==0.0){c=0;break}i=h/i;Os(d,q,i,n);Ns(d,b,n,b);if((c|0)<(g|0)){Os(d,k,i,k);Ms(d,p,k,p);i=+Qs(d,p,p);if(h==0.0){r=9;break}Os(d,q,i/h,q);Ns(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){Pw(1,91830,j)|0;c=1}D_(p);D_(q);D_(k);D_(m);D_(n);D_(o);l=s;return c|0}function Fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=uH(k)|0;n=uH(k)|0;o=uH(k)|0;k=uH(k)|0;Ts(d,b);Ts(d,c);Us(a,d,b,k);Ts(d,k);Vs(d,c,k,m);Zs(d,m,n);i=f+-1|0;c=0;g=+_s(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+bt(d,m)>e)){c=0;break}Ts(d,n);Ts(d,b);Ts(d,m);Us(a,d,n,o);Ts(d,o);h=+_s(d,n,o);if(h==0.0){c=0;break}h=g/h;Xs(d,b,h,n);if((c|0)<(i|0)){Xs(d,m,-h,o);h=+_s(d,m,m);if(g==0.0){p=7;break}Ys(d,n,h/g,n);Ws(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){Pw(1,91830,j)|0;c=1}D_(m);D_(n);D_(o);D_(k);l=q;return c|0}function Gq(a,b,d,e,f,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;var o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+48|0;F=M+24|0;E=M+16|0;D=M+8|0;C=M;J=M+40|0;K=M+36|0;H=M+32|0;s=j&4;c[J>>2]=0;c[K>>2]=0;a:do if(c[a+16>>2]|0){p=0;o=0;while(1){if((p|0)>=(b|0))break;t=c[a+(p*20|0)>>2]|0;u=a+(p*20|0)+16|0;r=1;while(1){if((r|0)>=(t|0))break;if(!(o<<24>>24))o=+g[(c[u>>2]|0)+(r<<2)>>2]!=0.0;else o=1;r=r+1|0;o=o&1}p=p+1|0}if(o<<24>>24){z=(s|0)!=0;if(z){r=e+4|0;b:do if((i|0)>2){o=i+-1|0;if((qn(a,b,d,r,f,o,j,k,15)|0)<0){o=-1;break a}p=e+(o<<2)|0;o=0;while(1){if((o|0)>=(b|0))break b;h[(c[p>>2]|0)+(o<<3)>>3]=+h[(c[r>>2]|0)+(o<<3)>>3];o=o+1|0}}while(0);y=c[e>>2]|0;w=c[r>>2]|0;if((kt(a,b,w,b)|0)==0?(kv(a,b,.01,.1,w,J,K,H)|0)==0:0){x=c[H>>2]|0;if((x|0)<1){o=qn(a,b,d,e,f,i,j,k,m)|0;break}c:do if(n>0.0){s=c[J>>2]|0;t=c[K>>2]|0;u=x+-1|0;q=0.0;r=0;while(1){if((r|0)>=(x|0))break c;o=c[t+(r<<2)>>2]|0;A=n-q-+h[w+(c[s+(o<<2)>>2]<<3)>>3]+ +h[w+(c[s+(o+-1<<2)>>2]<<3)>>3];q=(A<0.0?0.0:A)+q;if((r|0)<(u|0))p=c[t+(r+1<<2)>>2]|0;else p=b;while(1){if((o|0)>=(p|0))break;I=w+(c[s+(o<<2)>>2]<<3)|0;h[I>>3]=+h[I>>3]+q;o=o+1|0}r=r+1|0}}while(0);if((i|0)==2?(Qt(a,b,w,y,+h[22909])|0)!=0:0){p=0;o=-1}else L=33}else{p=0;o=-1}}else{kn(a,b,i,e,f)|0;if(!(kv(a,b,.01,.1,0,J,K,H)|0))L=33;else{p=0;o=-1}}d:do if((L|0)==33){if((b|0)==1){o=0;break a}I=vH(c[H>>2]<<2)|0;if(!m){o=0;break a}if(0)EL();switch(k|0){case 2:{if(0)E1(91878,24,1,c[15686]|0)|0;o=pn(a,b)|0;L=46;break}case 1:{o=ln(a,b)|0;if(!o){Pw(0,91903,C)|0;Pw(3,91952,D)|0;L=47}else G=o;break}case 3:{if(0)E1(92005,21,1,c[15686]|0)|0;o=mn(a,b)|0;L=46;break}default:L=47}if((L|0)==46)if(!o)L=47;else G=o;if((L|0)==47){if(0)E1(92027,26,1,c[15686]|0)|0;G=on(a,b)|0}if(0){a=c[15686]|0;h[E>>3]=+FL();g1(a,92054,E)|0;E1(92066,25,1,a)|0;EL()}a=b+-1|0;y=(O(a,b)|0)/2|0;E=y+b|0;e:do if(!z){q=1.0;p=0;while(1){if((p|0)>=(i|0))break;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;A=+B(+(+h[(c[r>>2]|0)+(o<<3)>>3]));q=A>q?A:q;o=o+1|0}p=p+1|0}q=1.0/q;p=0;while(1){if((p|0)>=(i|0))break e;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;D=(c[r>>2]|0)+(o<<3)|0;h[D>>3]=+h[D>>3]*(10.0*q);o=o+1|0}p=p+1|0}}while(0);f:do if(n>0.0){v=+(y|0);o=0;q=0.0;s=0;g:while(1){if((s|0)>=(a|0))break;t=s+1|0;r=o;p=t;while(1){o=r+1|0;if((p|0)>=(b|0)){s=t;continue g}A=+gs(e,i,s,p);r=o;q=A/+g[G+(o<<2)>>2]+q;p=p+1|0}}q=q/v;o=0;while(1){if((o|0)>=(E|0)){o=0;break f}D=G+(o<<2)|0;g[D>>2]=+g[D>>2]*q;o=o+1|0}}else o=0;while(0);while(1){if((o|0)>=(i|0))break;Is(b,c[e+(o<<2)>>2]|0);o=o+1|0}p=c[e+4>>2]|0;q=+h[p>>3];o=0;while(1){if((o|0)>=(b|0))break;D=p+(o<<3)|0;h[D>>3]=+h[D>>3]-q;o=o+1|0}u=i<<2;D=vH(u)|0;x=b<<2;w=O(x,i)|0;r=vH(w)|0;o=0;while(1){if((o|0)>=(i|0))break;s=r+((O(o,b)|0)<<2)|0;c[D+(o<<2)>>2]=s;t=e+(o<<2)|0;p=0;while(1){if((p|0)>=(b|0))break;g[s+(p<<2)>>2]=+h[(c[t>>2]|0)+(p<<3)>>3];p=p+1|0}o=o+1|0}v=+(y|0);if(0){C=c[15686]|0;h[F>>3]=+FL();g1(C,92092,F)|0}ct(E,G);dt(E,G);C=vH(b<<3)|0;$s(b,0.0,C);o=0;r=0;while(1){if((r|0)>=(a|0)){o=b;p=0;r=0;break}s=b-r|0;q=0.0;p=1;while(1){o=o+1|0;if((p|0)>=(s|0))break;A=+g[G+(o<<2)>>2];F=C+(p+r<<3)|0;h[F>>3]=+h[F>>3]-A;q=q+A;p=p+1|0}F=C+(r<<3)|0;h[F>>3]=+h[F>>3]-q;r=r+1|0}while(1){if((p|0)>=(b|0))break;g[G+(r<<2)>>2]=+h[C+(p<<3)>>3];F=o+r|0;o=o+-1|0;p=p+1|0;r=F}k=vH(u)|0;c[k>>2]=vH(w)|0;o=1;while(1){if((o|0)>=(i|0))break;c[k+(o<<2)>>2]=(c[k>>2]|0)+((O(o,b)|0)<<2);o=o+1|0}z=vH(x)|0;f=vH(x)|0;j=vH(E<<2)|0;p=Et(G,b)|0;d=Jt(G,b,c[J>>2]|0,c[K>>2]|0,c[H>>2]|0)|0;y=k+4|0;r=0;A=1797693134862315708145274.0e284;o=0;while(1){if(!(r<<24>>24==0&(o|0)<(m|0)))break;$s(b,0.0,C);et(E,G,j);w=0;t=0;while(1){if((w|0)>=(a|0)){r=0;s=b;t=0;break}x=b-w+-1|0;at(b,0.0,f);r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;at(x,+g[(c[H>>2]|0)+(w<<2)>>2],z);Xs(x,z,-1.0,(c[H>>2]|0)+(w<<2)+4|0);ct(x,z);Ws(x,z,f,f);r=r+1|0}ft(x,f);r=0;while(1){if((r|0)>=(x|0))break;s=f+(r<<2)|0;q=+g[s>>2];if(q>=3402823466385288598117041.0e14|q<0.0)g[s>>2]=0.0;r=r+1|0}u=w+1|0;q=0.0;r=t;s=0;while(1){r=r+1|0;if((s|0)>=(x|0))break;H=j+(r<<2)|0;N=+g[H>>2]*+g[f+(s<<2)>>2];g[H>>2]=N;H=C+(u+s<<3)|0;h[H>>3]=+h[H>>3]-N;q=q+N;s=s+1|0}t=C+(w<<3)|0;h[t>>3]=+h[t>>3]-q;w=u;t=r}while(1){if((r|0)>=(b|0)){r=0;break}g[j+(t<<2)>>2]=+h[C+(r<<3)>>3];H=s+t|0;r=r+1|0;s=s+-1|0;t=H}while(1){if((r|0)>=(i|0)){q=0.0;r=0;break}Us(j,b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(i|0))break;q=+_s(b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0)+q;r=r+1|0}q=q*2.0+v;r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;Us(G,b,c[H>>2]|0,z);q=q-+_s(b,c[H>>2]|0,z);r=r+1|0}N=+B(+(q-A))/+B(+(A+1.0e-10));r=((o|0)>1&q>A|N<+h[22909])&1;s=0;while(1){if((s|0)>=(i|0))break;if((s|0)!=1){if(Fq(G,c[D+(s<<2)>>2]|0,c[k+(s<<2)>>2]|0,b,.001,b)|0){o=-1;break d}}else Ft(d,c[y>>2]|0,D,i,1,15,I,n)|0;s=s+1|0}A=q;o=o+1|0}D_(I);It(d);if(D|0){r=0;while(1){if((r|0)>=(i|0))break;t=D+(r<<2)|0;u=e+(r<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[u>>2]|0)+(s<<3)>>3]=+g[(c[t>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}D_(c[D>>2]|0);D_(D)}if(k|0){D_(c[k>>2]|0);D_(k)}D_(z);D_(f);D_(C);D_(G);D_(j)}while(0);D_(c[J>>2]|0);D_(c[K>>2]|0);if(p){D_(c[p>>2]|0);D_(p)}}else L=10}else L=10;while(0);if((L|0)==10)o=qn(a,b,d,e,f,i,j,k,m)|0;l=M;return o|0}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=ay(a)|0;k=vH(i*48|0)|0;qq(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=Sy(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Iq(d,e,f);d=Ty(a,d)|0;e=e+48|0}a:do if(!(Jq(k,i)|0))d=0;else{switch(b|0){case 9:{Lq(a,k,i,69,1);Nq(a,k,i,70,1);d=0;e=k;break}case 10:{Nq(a,k,i,70,1);Lq(a,k,i,69,1);d=0;e=k;break}case 7:{Lq(a,k,i,71,1);Nq(a,k,i,70,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Nq(a,k,i,70,0);Lq(a,k,i,69,0);d=0;e=k;break}case 12:{Nq(a,k,i,72,0);Lq(a,k,i,69,0);d=0;e=k;break}default:{Lq(a,k,i,71,0);Nq(a,k,i,70,0);d=0;e=k}}if((j|0)==9){Nq(a,k,i,72,1);Lq(a,k,i,69,1);j=10}if((j|0)==10){Lq(a,k,i,69,0);Nq(a,k,i,70,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)*1.3888888888888887e-03;h[j+8>>3]=+(g|0)*1.3888888888888887e-03;d=d+1|0;e=e+48|0}}while(0);D_(k);l=m;return d|0}function Iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0.0;f=c[b+16>>2]|0;k=c[f+132>>2]|0;l=+h[k>>3]*720.0;j=~~(l+(l>=0.0?.5:-.5));l=+h[k+8>>3]*720.0;k=~~(l+(l>=0.0?.5:-.5));if(!(a[e+8>>0]|0)){m=+h[f+32>>3]*72.0*(+g[e>>2]*5.0);l=+h[f+40>>3]*72.0*(+g[e+4>>2]*5.0);i=~~(m+(m>=0.0?.5:-.5));f=~~(l+(l>=0.0?.5:-.5))}else{l=+h[f+32>>3]*36.0;m=+h[f+40>>3]*36.0;i=~~((+g[e>>2]+ +(~~(l+(l>=0.0?.5:-.5))|0))*10.0);f=~~((+g[e+4>>2]+ +(~~(m+(m>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=b;c[d+32>>2]=j-i;c[d+36>>2]=k-f;c[d+40>>2]=i+j;c[d+44>>2]=f+k;return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Kq(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0)&1;return a|0}function Lq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,73)|0;else h=Sq(i,e,73)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Mq(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0)&1;return a|0}function Nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,74)|0;else h=Sq(i,e,74)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Rq(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;a=c[a+16>>2]|0;f=(b|0)<(a|0);e=Qq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Qq(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;a=c[a+12>>2]|0;f=(b|0)<(a|0);e=Rq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Qq(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Rq(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Sq(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;w=Xx(92103,v,0)|0;Az(w,134401,280,1)|0;g=Aw(d)|0;h=-2147483647;u=0;while(1){if(!g)break;s=c[g+8>>2]|0;t=u+((h|0)!=(s|0)&1)|0;g=c[g>>2]|0;h=s;u=t}s=w+16|0;t=(u<<3)+-4|0;n=0;j=0;g=0;h=0;m=0;r=Aw(d)|0;i=-2147483647;while(1){if(!r)break;q=c[r+8>>2]|0;if((i|0)!=(q|0)){p=az(w,ry(c[r+20>>2]|0)|0,1)|0;Az(p,134365,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!h){c[(c[s>>2]|0)+192>>2]=p;n=p}else{c[(c[n+16>>2]|0)+164>>2]=p;n=h}c[g+176>>2]=0;k=j+1|0;i=uH(k<<2)|0;c[(c[o>>2]|0)+172>>2]=i;if(!m){j=k;k=p;m=p;g=p;h=n;i=q}else{i=m+16|0;c[(c[i>>2]|0)+184>>2]=0;j=uH((m|0)==(n|0)?t:u-j<<2)|0;c[(c[i>>2]|0)+180>>2]=j;j=Rx(w,m,p,0,1)|0;Az(j,134378,176,1)|0;g=c[j+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[i>>2]|0;h=c[g+180>>2]|0;if(!h)g=vH((c[g+184>>2]<<2)+8|0)|0;else g=xH(h,(c[g+184>>2]<<2)+8|0)|0;m=c[i>>2]|0;c[m+180>>2]=g;m=m+184|0;h=c[m>>2]|0;c[m>>2]=h+1;c[g+(h<<2)>>2]=j;g=c[i>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;h=c[g+172>>2]|0;if(!h)g=vH((c[g+176>>2]<<2)+8|0)|0;else g=xH(h,(c[g+176>>2]<<2)+8|0)|0;h=c[o>>2]|0;c[h+172>>2]=g;h=h+176|0;m=c[h>>2]|0;c[h>>2]=m+1;c[g+(m<<2)>>2]=j;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=k;k=p;m=p;g=p;h=n;i=q}}else{k=g;g=n}c[r+24>>2]=k;n=g;g=k;r=c[r>>2]|0}m=m+16|0;c[(c[m>>2]|0)+184>>2]=0;g=uH(4)|0;c[(c[m>>2]|0)+180>>2]=g;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;m=Xx(92150,v,0)|0;g=Aw(d)|0;while(1){if(!g)break;v=az(m,ry(c[g+20>>2]|0)|0,1)|0;Az(v,134365,304,1)|0;c[g+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=g;g=c[g>>2]|0}g=0;k=Aw(d)|0;h=-2147483647;a:while(1){if(!k)break;j=c[k+8>>2]|0;b:do if((h|0)==(j|0))j=h;else{g=k;while(1){g=c[g>>2]|0;if(!g)break a;if((c[g+8>>2]|0)!=(j|0))break b}}while(0);i=k+28|0;h=g;while(1){if(!h)break;if(lb[e&127](k,h)|0)Rx(m,c[i>>2]|0,c[h+28>>2]|0,0,1)|0;h=c[h>>2]|0}k=c[k>>2]|0;h=j}Vq(m,w,f);$x(m)|0;l=x;return w|0}function Tq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;a[r>>0]=a[18484]|0;a[r+1>>0]=a[18485]|0;a[r+2>>0]=a[18486]|0;a[r+3>>0]=a[18487]|0;r=Xx(92103,r,0)|0;Az(r,134401,280,1)|0;k=r+16|0;h=Aw(e)|0;i=0;while(1){if(!h)break;j=az(r,ry(c[h+20>>2]|0)|0,1)|0;Az(j,134365,304,1)|0;p=j+16|0;n=c[p>>2]|0;c[n+112>>2]=h;c[h+24>>2]=j;c[n+176>>2]=0;n=uH(4)|0;o=c[p>>2]|0;c[o+172>>2]=n;c[o+184>>2]=0;o=uH(4)|0;c[(c[p>>2]|0)+180>>2]=o;if(!i)c[(c[k>>2]|0)+192>>2]=j;else c[(c[i+16>>2]|0)+164>>2]=j;h=c[h>>2]|0;i=j}m=Aw(e)|0;a:while(1){if(!m)break;n=m+32|0;o=m+24|0;p=m+20|0;h=m;while(1){h=c[h>>2]|0;if(!h)break;if(lb[f&127](m,h)|0){i=lb[g&127](n,h+32|0)|0;j=Rx(r,c[o>>2]|0,c[h+24>>2]|0,0,1)|0;Az(j,134378,176,1)|0;if((i|0)>=65536){q=13;break a}k=j+16|0;t=c[k>>2]|0;b[t+170>>1]=i;c[t+156>>2]=1;if(j|0?Rx(d,c[p>>2]|0,c[h+20>>2]|0,0,0)|0:0)c[(c[k>>2]|0)+156>>2]=100}}m=c[m>>2]|0}if((q|0)==13)qa(92106,92122,254,92135);m=Aw(e)|0;while(1){if(!m)break;k=c[m+24>>2]|0;n=k+16|0;k=Ex(r,k)|0;while(1){if(!k)break;h=c[n>>2]|0;i=c[h+180>>2]|0;if(!i)h=vH((c[h+184>>2]<<2)+8|0)|0;else h=xH(i,(c[h+184>>2]<<2)+8|0)|0;i=c[n>>2]|0;c[i+180>>2]=h;i=i+184|0;j=c[i>>2]|0;c[i>>2]=j+1;c[h+(j<<2)>>2]=k;j=c[n>>2]|0;c[(c[j+180>>2]|0)+(c[j+184>>2]<<2)>>2]=0;j=k+-48|0;h=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;i=c[h+172>>2]|0;if(!i)h=vH((c[h+176>>2]<<2)+8|0)|0;else h=xH(i,(c[h+176>>2]<<2)+8|0)|0;c[(c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0)+172>>2]=h;g=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;q=c[g+172>>2]|0;g=g+176|0;t=c[g>>2]|0;c[g>>2]=t+1;c[q+(t<<2)>>2]=k;t=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;c[(c[t+172>>2]|0)+(c[t+176>>2]<<2)>>2]=0;k=Gx(r,k)|0}m=c[m>>2]|0}l=s;return r|0}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0;f=Sy(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){D_(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)D_(b);f=Ty(a,f)|0}$x(a)|0;return}function Vq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Sy(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=Ex(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=lb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=Rx(d,m,h,0,1)|0;Az(i,134378,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((p|0)>(g&65535|0)){if(!(g<<16>>16)){f=c[o>>2]|0;g=c[f+180>>2]|0;if(!g)f=vH((c[f+184>>2]<<2)+8|0)|0;else f=xH(g,(c[f+184>>2]<<2)+8|0)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;f=c[o>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;h=h+16|0;f=c[h>>2]|0;g=c[f+172>>2]|0;if(!g)f=vH((c[f+176>>2]<<2)+8|0)|0;else f=xH(g,(c[f+176>>2]<<2)+8|0)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=Gx(a,l)|0}k=Ty(a,k)|0}return}function Wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Xq(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;u=y+24|0;s=y+16|0;r=y+52|0;q=y+40|0;t=y;w=ay(b)|0;x=vH(w*72|0)|0;qq(q,b);k=+g[q>>2];m=+g[q+4>>2];q=(a[q+8>>0]|0)!=0;k=q?k*.013888888888888888:k;m=q?m*.013888888888888888:m;n=k*.5;o=m*.5;e=x;f=Sy(b)|0;while(1){if(!f)break;p=c[f+16>>2]|0;i=+h[p+32>>3];if(q){j=+h[p+40>>3]*.5+m;i=i*.5+k}else{j=o*+h[p+40>>3];i=n*i}p=c[p+132>>2]|0;A=+h[p>>3];h[e>>3]=A;z=+h[p+8>>3];h[e+8>>3]=z;h[e+16>>3]=A-i;h[e+24>>3]=z-j;h[e+32>>3]=A+i;h[e+40>>3]=z+j;h[e+48>>3]=i;h[e+56>>3]=j;c[e+64>>2]=f;e=e+72|0;f=Ty(b,f)|0}do if((d|0)<0){i=+Yq(x,w);if(i==0.0){D_(x);e=0;break}if(!0){k=i;j=i;v=19}else{v=c[15686]|0;h[s>>3]=i;g1(v,92153,s)|0;k=i;j=i;v=19}}else{f=Zq(x,w,r)|0;e=c[r>>2]|0;if(!e){D_(f);D_(x);e=0;break}if(!d){$q(t,f,e);i=+h[t>>3];j=+h[t+8>>3]}else{j=+_q(f,e);i=j}D_(f);if(!0){k=i;v=19}else{v=c[15686]|0;h[u>>3]=i;h[u+8>>3]=j;g1(v,92167,u)|0;k=i;v=19}}while(0);if((v|0)==19){e=0;f=x;while(1){if((e|0)>=(w|0))break;v=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[v>>3]=+h[f>>3]*k;h[v+8>>3]=+h[f+8>>3]*j;e=e+1|0;f=f+72|0}D_(x);e=1}l=y;return e|0}function Yq(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else{g=+B(+(e-f));g=(+h[j+48>>3]+ +h[p>>3])/g}e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else{e=+B(+(e-f));e=(+h[j+56>>3]+ +h[o>>3])/e}g=e<g?e:g;i=i+1|0;j=j+72|0;c=g>c?g:c}}return +c}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=vH((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=xH(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[q+48>>3]+ +h[x>>3])/+B(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[q+56>>3]+ +h[w>>3])/+B(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=xH(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function _q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=g<f?g:f;d=d+1|0;e=f>e?f:e;a=c}return +e}function $q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;_0(b+16|0,c,16,75);g=vH((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)+8>>3]*+h[g+(f<<4)>>3];b=i<d;d=b?i:d;e=b?f:e;f=f+1|0}if(d<t){i=+h[g+(e<<4)+8>>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else qa(92184,92122,832,92204)}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(c<d))if(!(c>d)){d=+h[a+8>>3];c=+h[b+8>>3];if(d<c)a=-1;else a=d>c&1}else a=1;else a=-1;return a|0}function br(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)D_(b);b=c[a+8>>2]|0;if(b|0)D_(b);b=c[a+16>>2]|0;if(b|0)D_(b);D_(a)}return}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=F_(c[46079]|0,d<<2)|0;c[46079]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}dr(n,a,k,e,d);i=-2147483639;while(1){if(!((er(n,m,c[46079]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;fr(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,a+~~+g[(c[h>>2]|0)+(f<<2)>>2]|0,c[46079]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}gr(n);l=o;return}function dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((f|0)==1)i=0;else i=vH((f<<2)+-4|0)|0;c[a>>2]=i;j=f+-1|0;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;hr(a,g,d,e);g=g+-1|0}return}function er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;hr(a,0,d,e);a=1}return a|0}function fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){j=e+(b<<2)|0;i=c[j>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=i;while(1){if((a|0)<=0)break;h=a>>>1;i=c[g+(h<<2)>>2]|0;if((c[f+(i<<2)>>2]|0)<=(d|0))break;c[g+(a<<2)>>2]=i;c[e+(i<<2)>>2]=a;a=h}c[g+(a<<2)>>2]=b;c[j>>2]=a}return}function gr(a){a=a|0;a=c[a>>2]|0;if(a|0)D_(a);return}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function ir(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=vH(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}jr(m,a,o,e,d);a:while(1){if(!((kr(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;lr(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,+g[(c[h>>2]|0)+(f<<2)>>2]+k,o,e);f=f+1|0}}gr(m);D_(o);l=p;return}function jr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=vH(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;mr(a,g,d,e);g=g+-1|0}return}function kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;mr(a,0,d,e);a=1}return a|0}function lr(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){k=e+(b<<2)|0;j=c[k>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=j;while(1){if((a|0)<=0)break;i=a>>>1;j=c[h+(i<<2)>>2]|0;if(!(+g[f+(j<<2)>>2]>d))break;c[h+(a<<2)>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h+(a<<2)>>2]=b;c[k>>2]=a}return}function mr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function nr(){gt(184320,48);c[46083]=0;return}function or(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0;i=it(184320)|0;c[i+32>>2]=a;c[i+36>>2]=b;Pt(a);Pt(b);c[i+24>>2]=0;c[i+28>>2]=0;f=+h[a>>3];g=+h[b>>3]-f;e=+h[a+8>>3];d=+h[b+8>>3]-e;f=d*e+g*f+(d*d+g*g)*.5;b=i+16|0;h[b>>3]=f;if((g>0.0?g:-g)>(d>0.0?d:-d)){h[i>>3]=1.0;e=d/g;d=g;a=i+8|0}else{h[i+8>>3]=1.0;e=g/d;a=i}h[a>>3]=e;h[b>>3]=f/d;b=c[46083]|0;c[i+40>>2]=b;c[46083]=b+1;return i|0}function pr(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;l=+h[a>>3];a:do if(l==1.0){if(!(+h[a+8>>3]>=0.0)){b=c[a+28>>2]|0;d=c[a+24>>2]|0;if(!d)m=9;else m=5}else{b=c[a+24>>2]|0;d=c[a+28>>2]|0;if(!d)m=9;else m=5}do if((m|0)==5){e=+h[d+8>>3];if(e>+h[22881])break a;f=+h[22882];if(!(e>=f)){i=f;e=+h[a+16>>3]-+h[a+8>>3]*f;break}else{i=e;e=+h[d>>3];break}}else if((m|0)==9){f=+h[22882];i=f;e=+h[a+16>>3]-+h[a+8>>3]*f}while(0);do if(b){g=+h[b+8>>3];if(g<f)break a;f=+h[22881];if(!(g<=f)){g=f;f=+h[a+16>>3]-+h[a+8>>3]*f;break}else{f=+h[b>>3];break}}else{f=+h[22881];g=f;f=+h[a+16>>3]-+h[a+8>>3]*f}while(0);j=+h[22883];b=e>j;d=f>j;k=+h[22884];if(!(b&d|e<k&f<k)){if(b){i=(+h[a+16>>3]-j)/+h[a+8>>3];e=j}if(e<k){i=(+h[a+16>>3]-k)/+h[a+8>>3];e=k}if(d){g=(+h[a+16>>3]-j)/+h[a+8>>3];f=j}if(f<k){g=(+h[a+16>>3]-k)/+h[a+8>>3];f=k;m=46}else m=46}}else{d=c[a+28>>2]|0;b=c[a+24>>2]|0;do if(b){e=+h[b>>3];if(e>+h[22883])break a;g=+h[22884];if(!(e>=g)){i=+h[a+16>>3]-g*l;e=g;break}else{i=+h[b+8>>3];break}}else{g=+h[22884];i=+h[a+16>>3]-g*l;e=g}while(0);do if(d){f=+h[d>>3];if(f<g)break a;j=+h[22883];if(!(f<=j)){g=+h[a+16>>3]-l*j;f=j;break}else{g=+h[d+8>>3];break}}else{f=+h[22883];g=+h[a+16>>3]-l*f}while(0);j=+h[22881];b=i>j;d=g>j;k=+h[22882];if(!(b&d|i<k&g<k)){if(b){i=j;e=(+h[a+16>>3]-j)/l}if(i<k){i=k;e=(+h[a+16>>3]-k)/l}if(d){g=j;f=(+h[a+16>>3]-j)/l}if(g<k){g=k;f=(+h[a+16>>3]-k)/l;m=46}else m=46}}while(0);if((m|0)==46)qr(a,e,i,f,g);return}function qr(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Xr(c[g>>2]|0,b,d);Xr(c[g>>2]|0,e,f);a=a+36|0;Xr(c[a>>2]|0,b,d);Xr(c[a>>2]|0,e,f);return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Pt(d);if(c[a+24+(1-b<<2)>>2]|0){pr(a);Ot(c[a+32>>2]|0);Ot(c[a+36>>2]|0);jt(a,184320)}return}function sr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=vH(O(m,d)|0)|0;g=c[e>>2]|0;m=vH(m)|0;n=c[a+8>>2]|0;if(g|0){D_(c[g>>2]|0);D_(g)}k=vH(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((O(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)es(a,b);e=(g2()|0)%(b|0)|0;zq(o,b);g=c[k>>2]|0;if(j){cr(e,a,b,g);f=0;g=0}else{vq(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){cr(e,a,b,g);g=0;f=0}else{vq(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}D_(m);if(j)fs(a,b,n);l=p;return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=1.0/+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e*i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function ur(){c[46085]=~~+C(+(+((c[46084]|0)+4|0)));return}function vr(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function wr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function xr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=+h[c+8>>3]+ +h[b+8>>3];return}function yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return +((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+yr(h,g,f)>0.0&1;l=e;return d|0}function Ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=(p-q)*o;n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=m+n*(q-p)+j*l+f*(i-k);if(g==0.0)d=0;else{p=(f*(i-p)+m+(q-i)*l)/g;q=-(f*j+((q-k)*o+(i-q)*n))/g;h[e>>3]=p*(n-o)+o;h[e+8>>3]=j*p+i;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function Br(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0.0,i=0;c[a+20>>2]=b;Pt(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46086]|0;e=e+((Cr(a)|0)*40|0)|0;while(1){f=e+32|0;e=c[f>>2]|0;if(!e)break;d=+h[i>>3];g=+h[e+24>>3];if(d>g)continue;if(!(d==g))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[f>>2]=a;c[46087]=(c[46087]|0)+1;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46088]|0;e=+(d|0);b=(+h[a+24>>3]-+h[22888])/+h[22890]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46089]|0))c[46089]=a;return a|0}function Dr(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46086]|0;b=b+((Cr(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;Ot(c[d>>2]|0);c[d>>2]=0}return}function Er(){return (c[46087]|0)==0|0}function Fr(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46086]|0;d=c[46089]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46089]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Gr(){var a=0,b=0;b=(c[46086]|0)+((c[46089]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;return a|0}function Hr(){D_(c[46086]|0);c[46086]=0;return}function Ir(){var a=0,b=0,d=0;c[46087]=0;c[46089]=0;a=c[46085]|0;b=a<<2;c[46088]=b;d=c[46086]|0;if(!d){d=vH(a*160|0)|0;c[46086]=d;b=c[46088]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Jr(){gt(184368,40);D_(c[46095]|0);c[46095]=0;return}function Kr(){var a=0,b=0,d=0;gt(184368,40);a=c[46085]|0;b=a<<1;c[46096]=b;d=c[46095]|0;if(!d){d=vH(a<<3)|0;c[46095]=d;b=c[46096]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46090]=Lr(0,0)|0;c[46091]=Lr(0,0)|0;c[c[46090]>>2]=0;d=c[46091]|0;b=c[46090]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46091]|0)+4>>2]=0;d=c[46095]|0;c[d>>2]=c[46090];c[d+((c[46096]|0)+-1<<2)>>2]=c[46091];return}function Lr(b,d){b=b|0;d=d|0;var e=0;e=it(184368)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Mr(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=f*j-l*g,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(p*f-q*g)/m;j=(q*j-p*l)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f<g)e=o;else{if(f==g?+h[o>>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Lt()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Nr(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0;n=c[b+8>>2]|0;k=c[n+36>>2]|0;l=+h[d>>3];o=+h[k>>3];m=l>o;p=a[b+16>>0]|0;if(m)if(!(p<<24>>24))b=1;else f=4;else if(p<<24>>24==1)b=0;else f=4;if((f|0)==4){e=+h[n>>3];a:do if(e==1.0){e=+h[d+8>>3];g=e-+h[k+8>>3];i=l-o;j=+h[n+8>>3];d=j<0.0;do if(m?j>=0.0:d){if(g>=j*i){b=1;break a}}else{b=j*e+l>+h[n+16>>3];if(d)if(b){b=0;break a}else break;else if(b)break;else{b=0;break a}}while(0);o=o-+h[c[n+32>>2]>>3];b=j*(i*i-g*g)<o*g*(i*2.0/o+1.0+j*j);if(d)b=b^1}else{i=+h[n+16>>3]-l*e;j=+h[d+8>>3]-i;o=l-o;l=i-+h[k+8>>3];b=j*j>l*l+o*o}while(0);b=(b^p<<24>>24!=0)&1}return b|0}function Or(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Pr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46096]|0;b=~~((+h[a>>3]-+h[22887])/+h[22889]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Qr(f)|0;if(!b){d=1;while(1){b=Qr(f-d|0)|0;if(b|0)break;b=Qr(d+f|0)|0;if(b|0)break;d=d+1|0}c[46097]=(c[46097]|0)+d}c[46098]=(c[46098]|0)+1;e=c[46090]|0;d=c[46091]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Nr(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Nr(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Nr(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46096]|0)+-1|0):0){b=(c[46095]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Qr(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46096]|0)>(a|0)?(d=(c[46095]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){jt(b,184368);b=0}else b=0}}else b=0;return b|0}function Rr(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Sr(a){a=a|0;return c[a+4>>2]|0}function Tr(a){a=a|0;return c[a>>2]|0}function Ur(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+32|0:d+36|0;return c[b>>2]|0}function Vr(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+36|0:d+32|0;return c[b>>2]|0}function Wr(){gt(184400,24);return}function Xr(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46099]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Yr(a,i,f)|0;do if(e|0){if((e|0)<0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Yr(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];i=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==i&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];g=d-e;i=i-k;d=f-e;if(!(j>=0.0)){if(i>=0.0){b=1;break}e=d/i;d=g/j;if(d<e){b=-1;break}if(d>e){b=1;break}b=j>i?-1:1;break}if(!(i<0.0)){b=i>0.0;if(!(j>0.0)){if(b){b=!(g<=0.0)?1:-1;break}if(g<d){b=!(d<=0.0)?-1:1;break}else{b=!(g<=0.0)?1:-1;break}}else{if(!b){b=d>0.0?-1:1;break}e=d/i;d=g/j;if(d<e){b=-1;break}if(d>e){b=1;break}b=j<i?-1:1;break}}else b=-1}else b=0}else b=-1;while(0);return b|0}function Zr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+(d*20|0)>>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=a+((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)|0;b=b+1|0;a=g}return a|0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function $r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function as(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=cs(a,b)|0;else a=bs(a,b)|0;return a|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=vH(O(f,b)|0)|0;f=vH(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;cr(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=vH(O(g,b)|0)|0;g=vH(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}zq(f,b);d=0;while(1){if((d|0)>=(b|0))break;vq(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}Aq(f);l=h;return g|0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;es(a,b);d=bs(a,b)|0;fs(a,b,e);return d|0}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=vH(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=vH(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;_r(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Zr(a,0,m,l)|0)<<1)|0);d=d+1|0}$r(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}D_(l);return}function fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;D_(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=i*i+g}return +(+C(+g))}function hs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46103]=a;_0(b+(d<<2)|0,1-d+e|0,4,76)}return}function is(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46103]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (e<d?-1:e>d&1)|0}function js(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){ks(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;js(a,b,d,f);g=g+1|0;js(a,b,g,e);if(!(ls(a,b,d,f)|0))js(a,b,d,f);if(!(ls(a,b,g,e)|0))js(a,b,g,e)}l=h;return}function ks(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0.0,m=0,n=0;g=g2()|0;g=b+(((((g2()|0)<<16|g)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;j=c[g>>2]|0;k=b+(d<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;l=+h[a+(j<<3)>>3];g=d+1|0;d=e;a:while(1){if((g|0)>=(d|0))break;while(1){if((g|0)>=(d|0))break;if(!(+h[a+(c[b+(g<<2)>>2]<<3)>>3]<=l))break;g=g+1|0}while(1){if((g|0)>=(d|0))continue a;e=b+(d<<2)|0;i=c[e>>2]|0;if(!(+h[a+(i<<3)>>3]>l))break;d=d+-1|0}n=b+(g<<2)|0;m=c[n>>2]|0;c[n>>2]=i;c[e>>2]=m;g=g+1|0;d=d+-1|0}n=g+((+h[a+(c[b+(g<<2)>>2]<<3)>>3]>l)<<31>>31)|0;c[f>>2]=n;n=b+(n<<2)|0;c[k>>2]=c[n>>2];c[n>>2]=j;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0.0;x=l;l=l+16|0;v=4;w=C_(40)|0;c[w>>2]=0;t=x;o=0;u=$(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=$(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;A=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=A;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=g<A?g:A;i=i>A?i:A;j=j>y?j:y;k=k<y?k:y}c[u+(m*40|0)+4>>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=D3(184416,1,w|0,v|0)|0;v=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=z;q=0;m=s;n=u}}else{d=z;q=0;m=0;n=0}while(1){if(d|0){o=0;ia(103,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=aa(77,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}if(!d){o=0;d=ca(24,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}}o=0;ia(103,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;D_(w|0);l=x;return d|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v;o=v+8|0;p=v+4|0;c[b+8>>2]=0;u=vH(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=a+(e*24|0);e=e+1|0}_0(u,f,4,78);m=0;g=0;f=0;h=0;a:while(1){if((m|0)>=(c[b>>2]|0)){s=0;d=g;t=h;break}n=u+(m<<2)|0;e=c[n>>2]|0;c[o>>2]=e;a=c[e+16>>2]|0;if((c[a>>2]|0)==(e|0))e=c[a+4>>2]|0;else e=e+-24|0;c[p>>2]=e;k=0;a=g;j=h;while(1){if((k|0)>=2)break;switch(ps(o,p)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(j|0))break;i=qs(c[h>>2]|0,e)|0;if(i|0){s=i;d=a;t=j;break a}g=g+1|0;h=c[h+4>>2]|0}g=vH(12)|0;if(!j){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[e+20>>2]=g;h=j+1|0;break}case 1:{e=e+20|0;g=c[e>>2]|0;if(!g){r=19;break a}do if((j|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;break}if((g|0)==(f|0)){f=c[f+8>>2]|0;c[f+4>>2]=0;break}else{i=g+4|0;h=c[g+8>>2]|0;c[h+4>>2]=c[i>>2];c[(c[i>>2]|0)+8>>2]=h;break}}else{a=0;f=0}while(0);D_(g);c[e>>2]=0;g=f;h=j+-1|0;break}default:{g=f;h=j}}e=c[n>>2]|0;f=c[e+16>>2]|0;if((e|0)==(c[f+4>>2]|0))f=c[f>>2]|0;else f=e+24|0;c[p>>2]=f;k=k+1|0;f=g;j=h}m=m+1|0;g=a;h=j}if((r|0)==19){Pw(1,92219,q)|0;bb(184416,1)}e=0;while(1){if((e|0)>=(t|0))break;r=c[d+4>>2]|0;D_(d);e=e+1|0;d=r}D_(u);l=v;return s|0}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+48|0;o=D+24|0;n=D+16|0;u=D;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}z=c[a+(e<<2)>>2]|0;A=c[z>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[u+8>>2]=c[A+8>>2];c[u+12>>2]=c[A+12>>2];A=e+1|0;B=d+(e*40|0)+8|0;p=d+(e*40|0)+24|0;q=d+(e*40|0)+32|0;g=d+(e*40|0)+16|0;e=A;while(1){if((e|0)>=(b|0)){e=A;continue a}i=c[a+(e<<2)>>2]|0;j=+h[B>>3];k=+h[d+(e*40|0)+24>>3];m=!(j<=k);f=+h[d+(e*40|0)+8>>3];if((((!(m|!(j>=f))?(r=+h[g>>3],s=+h[d+(e*40|0)+32>>3],r<=s):0)?(t=+h[d+(e*40|0)+16>>3],r>=t):0)?(E=+h[p>>3],!(!(E<=k)|!(E>=f))):0)?(E=+h[q>>3],!(!(E<=s)|!(E>=t))):0){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];if(wU(n,o)|0){e=1;break a}}else C=11;if((((((C|0)==11?(C=0,v=+h[p>>3],!(!(f<=v)|!(f>=j))):0)?(w=+h[d+(e*40|0)+16>>3],x=+h[q>>3],w<=x):0)?(y=+h[g>>3],!(!(w>=y)|(!(k<=v)|m))):0)?(E=+h[d+(e*40|0)+32>>3],!(!(E<=x)|!(E>=y))):0)?(m=c[i>>2]|0,c[n>>2]=c[z>>2],c[n+4>>2]=c[z+4>>2],c[o>>2]=c[m>>2],c[o+4>>2]=c[m+4>>2],c[o+8>>2]=c[m+8>>2],c[o+12>>2]=c[m+12>>2],wU(n,o)|0):0){e=1;break a}e=e+1|0}}l=D;return e|0}function ps(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;rs(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){rs(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ss(b,a,(d|0)>-1?d:0-d|0)|0}if(!(ts(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ss(a,b,0)|0;d=(ss(a,b,(d|0)<=(ss(a,b,1)|0)&1)|0)<<1}else d=ss(a,b,(d|0)>-1?d:0-d|0)|0;if(!(ts(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=us(a,b,g)|0}while(0);l=m;return d|0}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0)){a=c[e>>2]|0;e=a}else{e=a+24|0;a=a+24|0}g=+h[e>>3]-i;f=+h[a+8>>3]-j;e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0)){a=c[e>>2]|0;e=a}else{e=b+24|0;a=b+24|0}k=+h[e>>3]-i;l=+h[a+8>>3]-j;j=(+h[b+8>>3]-j)*g-(+h[b>>3]-i)*f;b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=l*g-k*f;a=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=a;c[d+8>>2]=O(a,b)|0;return}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j)if(k==g)b=(ws(l,e,i)|0)!=-1&1;else b=0;else b=ws(k,g,j)|0;return b|0}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do if((f|0)<1)g=0;else{n=+h[a>>3];p=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];m=+h[b>>3];o=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];b:do switch(f|0){case 3:{if(n==l){h[d>>3]=n;i=(o-i)/(m-k)*(n-k)+i;break b}if(m==k){h[d>>3]=m;i=(p-j)/(n-l)*(m-l)+j;break b}else{k=(o-i)/(m-k);l=(p-j)/(n-l);o=o-k*m;p=p-l*n;i=k-l;h[d>>3]=(p-o)/i;i=(k*p-o*l)/i;break b}}case 2:{if((ss(a,b,0)|0)==-1)if((ss(b,a,1)|0)==-1){f=(ss(b,a,0)|0)==-1;l=f?l:n;k=m;j=f?j:p;i=o}else{l=k;k=m;j=i;i=o}else if((ss(a,b,1)|0)!=-1)if((ss(b,a,0)|0)==-1){k=n;i=p}else{g=0;break a}else{l=m;j=o}h[d>>3]=(k+l)*.5;i=(i+j)*.5;break}case 1:if((o-p)*(n-l)==(m-n)*(p-j)){h[d>>3]=m;i=o;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;o=+h[a>>3];p=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))e=c[e>>2]|0;else e=a+24|0;m=+h[e>>3];j=+h[e+8>>3];k=+h[b>>3];n=+h[b+8>>3];e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0))e=c[e>>2]|0;else e=b+24|0;i=+h[e>>3];g=+h[e+8>>3];a:do if(!(o!=m&k!=i)){do if(o==m){f=+h[d>>3];if(o==f?p==+h[d+8>>3]:0)break;if(!(m==f)){r=18;break a}if(!(j==+h[d+8>>3])){r=18;break a}}while(0);if(k==i){f=+h[d>>3];if(k==f?n==+h[d+8>>3]:0){e=0;break}if(i==f?g==+h[d+8>>3]:0)e=0;else r=18}else e=0}else r=18;while(0);if((r|0)==18)if(0>1){e=c[15686]|0;p=+h[d+8>>3];h[q>>3]=+h[d>>3];h[q+8>>3]=p;g1(e,92248,q)|0;vs(1,a);vs(2,b);e=1}else e=1;l=s;return e|0}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0;k=l;l=l+48|0;j=k;f=c[15686]|0;g=+h[b>>3];i=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0)){d=c[d>>2]|0;e=d}else{e=b+24|0;d=b+24|0}n=+h[e>>3];m=+h[d+8>>3];c[j>>2]=a;h[j+8>>3]=g;h[j+16>>3]=i;h[j+24>>3]=n;h[j+32>>3]=m;g1(f,92276,j)|0;l=k;return}function ws(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a<b?b<c:c<b)?1:-1)|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;a:do if(!(lv(a,d)|0))a=0;else{f=uH(d<<3)|0;a=0;while(1){if((a|0)<(d|0))e=0;else break;while(1){if((e|0)==(d|0))break;h[f+(e<<3)>>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;mv(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}D_(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ys(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=vH(q)|0;q=vH(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((g2()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;As(k,0,o,-+zs(g,0,o,k),g);d=d+1|0}j=+Bs(k,0,o)}while(j<1.0e-10);Cs(k,0,o,1.0/j,k);d=0;do{Ds(q,0,o,k);Es(a,b,b,k,p);Ds(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+Bs(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;Cs(k,0,o,1.0/j,k);l=+zs(k,0,o,q)}while(+B(+l)<.999);h[f+(i<<3)>>3]=l*j;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((g2()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}Cs(k,0,o,1.0/+Bs(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j<l;j=s?l:j;g=s?k:g;k=k+1|0}if((g|0)==(i|0)){i=b;continue}k=e+(i<<2)|0;Ds(p,0,o,c[k>>2]|0);s=e+(g<<2)|0;Ds(c[k>>2]|0,0,o,c[s>>2]|0);Ds(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}D_(p);D_(q);return (d|0)<=(r|0)|0}function zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=+h[d>>3]*+h[c>>3]+f;e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function As(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Bs(a,b,c){a=a|0;b=b|0;c=c|0;return +(+C(+(+zs(a,b,c,a))))}function Cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function Es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[k>>2]|0)+(i<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Fs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0;k=c[i>>2]|0;if(!k){o=d<<2;j=C_(O(o,f)|0)|0;o=C_(o)|0}else{o=d<<2;j=F_(c[k>>2]|0,O(o,f)|0)|0;o=F_(k,o)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;l=0.0}else break;while(1){if((j|0)>=(e|0))break;p=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0;l=p}g[(c[n>>2]|0)+(k<<2)>>2]=l;k=k+1|0}i=i+1|0}return}function Gs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;if(!k){j=C_(O(d<<3,f)|0)|0;o=C_(d<<2)|0}else{j=F_(c[k>>2]|0,O(d<<3,f)|0)|0;o=F_(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Hs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;if(!j){i=C_(O(d*20|0,e)|0)|0;q=C_(d<<2)|0}else{i=F_(c[j>>2]|0,O(d*20|0,e)|0)|0;q=F_(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3]*+g[m+(j<<2)>>2]+k;j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Is(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+h[d>>3]+c;d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Js(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((g2()|0)%500|0|0);c=c+1|0}Is(a,b);return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3]*+g[(c[l>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=+h[d+(i<<3)>>3]*+g[(c[k>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[c+(e<<3)>>3]+ +h[b+(e<<3)>>3];e=e+1|0}return}function Os(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=+h[c+(e<<3)>>3]*+h[b+(e<<3)>>3]+d;e=e+1|0}return +d}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+B(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Ts(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+g[d>>2]+c;d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=+g[a+(h<<2)>>2]*l;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=+g[c+(i<<2)>>2]*p+f;o=d+(i<<2)|0;g[o>>2]=+g[o>>2]+p*l;f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=+g[o>>2]+f;h=h+m|0;j=k;m=m+-1|0}return}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function Ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[c+(e<<2)>>2]+ +g[b+(e<<2)>>2];e=e+1|0}return}function Xs(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[d+(e<<2)>>2]*c+ +g[f>>2];e=e+1|0}return}function Ys(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function _s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[c+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0}return +d}function $s(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function at(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function bt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+B(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+C(+e);d=d+1|0}return}function ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+C(+e);c=c+1|0}return}function gt(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=O(4/((ht(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;D_(c[b+4>>2]|0);D_(b);b=d}while(0);c[a>>2]=0;return}function ht(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function it(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=vH(8)|0;f=vH(O(c[46085]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46085]|0))break;jt(f+(O(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function jt(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=uH(b<<3)|0;l=a+8|0;f=c[l>>2]|0;lt(a,b,m);Js(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=vH(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=Dq(a,d,m,b,.001,e)|0;D_(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}D_(m);return i>>>31|0}function lt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[j>>2]|0)+(f<<2)>>2]*+g[(c[m>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=vH(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=vH(i)|0;g=g+1|0}p=vH(f<<3)|0;q=vH(b<<2)|0;g=vH(O(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(O(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ys(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=+h[(c[l>>2]|0)+(g<<3)>>3]*+(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)+j;g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;D_(c[r+(g<<2)>>2]|0);g=g+1|0}D_(r);D_(p);D_(c[q>>2]|0);D_(q);return}function nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;$u(c[a>>2]|0,d,d<<2,j);Hs(c[j>>2]|0,a,d,b,i);Gs(a,c[i>>2]|0,b,d,b,h);D_(c[c[i>>2]>>2]|0);D_(c[i>>2]|0);e=(ys(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function ot(){c[46143]=0;D_(c[46144]|0);D_(c[46145]|0);D_(c[46146]|0);c[46144]=0;c[46145]=0;c[46146]=0;return}function pt(a){a=a|0;D_(c[a+36>>2]|0);return}function qt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;o=r+64|0;q=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;n=d+16|0;g=c[n>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{g=c[n>>2]|0;j=c[g+12>>2]|0;k=c[j+8>>2]|0;c[q>>2]=k;g=c[c[g+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))p=11;else p=8;break}case 112:{if((b$(g,102695)|0)==0?(rt(c[j+44>>2]|0,k)|0)!=0:0)p=11;else p=8;break}default:p=8}do if((p|0)==8)if((k|0)<3){c[b+40>>2]=(c[j>>2]|0)==0?0:2;p=17;break}else{g=b+40|0;c[g>>2]=0;break}else if((p|0)==11){g=b+40|0;c[g>>2]=1;if((k|0)<=2)p=17}while(0);if((p|0)==17){i=st(d,q,e,f)|0;p=21;break a}i=vH(k<<4)|0;j=j+44|0;if((c[g>>2]|0)==1){p=c[j>>2]|0;s=e;h[i>>3]=+h[p>>3]*.013888888888888888+s;e=f;h[i+8>>3]=+h[p+8>>3]*.013888888888888888+e;h[i+16>>3]=+h[p+16>>3]*.013888888888888888-s;h[i+24>>3]=+h[p+24>>3]*.013888888888888888+e;h[i+32>>3]=+h[p+32>>3]*.013888888888888888-s;h[i+40>>3]=+h[p+40>>3]*.013888888888888888-e;h[i+48>>3]=+h[p+48>>3]*.013888888888888888+s;h[i+56>>3]=+h[p+56>>3]*.013888888888888888-e;p=21;break a}g=0;while(1){if((g|0)>=(k|0)){p=21;break a}p=c[j>>2]|0;u=+h[p+(g<<4)>>3];s=+h[p+(g<<4)+8>>3];t=+C(+(s*s+u*u));h[i+(g<<4)>>3]=(e/t+1.0)*u*.013888888888888888;h[i+(g<<4)+8>>3]=(f/t+1.0)*s*.013888888888888888;g=g+1|0}}case 2:{c[q>>2]=4;p=vH(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;v=+h[d+32>>3];t=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];u=-e;s=-f;tt(i,o,d,u,s);c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];i=p+16|0;n=~~v;tt(j,n,d,e,s);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=p+32|0;d=~~t;tt(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=p+48|0;tt(m,o,d,u,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=p;p=21;break a}case 3:{c[b+40>>2]=2;i=st(d,q,e,f)|0;p=21;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];Pw(1,92312,o)|0;g=1;break a}}else{c[q>>2]=4;u=+h[g+32>>3]*.5+e;v=+h[g+40>>3]*.5+f;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;p=21}while(0);if((p|0)==21){c[b+36>>2]=i;g=c[q>>2]|0;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function rt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;do if((b|0)==4){c=+h[a+8>>3];b=a+16|0;d=+h[a+24>>3];if(c==d){if(!(+h[a+40>>3]==+h[a+56>>3])){b=0;break}if(!(+h[a>>3]==+h[a+48>>3])){b=0;break}b=+h[b>>3]==+h[a+32>>3];break}if((+h[a>>3]==+h[b>>3]?+h[a+32>>3]==+h[a+48>>3]:0)?c==+h[a+56>>3]:0)b=d==+h[a+40>>3];else b=0}else b=0;while(0);return b&1|0}function st(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0.0,l=0;f=xx(a,99679)|0;if(!f)f=0;else f=a2(f)|0;i=(f|0)<3?20:f;j=vH(i<<4)|0;a=a+16|0;g=1.0/+(i|0);f=0;while(1){if((f|0)>=(i|0))break;l=c[a>>2]|0;k=g*+(f|0)*6.283185307179586;h[j+(f<<4)>>3]=(+h[l+32>>3]*.5+d)*+E(+k);h[j+(f<<4)+8>>3]=(+h[l+40>>3]*.5+e)*+F(+k);f=f+1|0}c[b>>2]=i;return j|0}function tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)*.013888888888888888+d;h[a+8>>3]=+(c|0)*.013888888888888888+e;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m<i?m:i;j=l<j?l:j;a=k}h[c>>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function vt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;n=r+64|0;p=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;o=d+16|0;g=c[o>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[p>>2]=k;b:do if((k|0)>2){i=vH(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]*.013888888888888888;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]*.013888888888888888;g=g+1|0}}else i=st(d,p,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))g=1;else q=13;break}case 112:{if((b$(g,102695)|0)==0?(rt(i,c[p>>2]|0)|0)!=0:0)g=1;else q=13;break}default:q=13}do if((q|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[b+40>>2]=g;q=20;break a}case 2:{c[p>>2]=4;q=vH(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;t=+h[o+16>>3];v=+h[o+24>>3];u=+h[o+32>>3];s=+h[o+40>>3];wt(i,t,v);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;wt(j,u,v);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;wt(k,u,s);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;wt(m,t,s);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=q;q=20;break a}case 3:{c[b+40>>2]=2;i=st(d,p,0.0,0.0)|0;q=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];Pw(1,92348,n)|0;g=1;break a}}else{c[p>>2]=4;u=+h[g+32>>3]*.5;v=+h[g+40>>3]*.5;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;q=20}while(0);if((q|0)==20){g=c[p>>2]|0;if(e!=1.0|f!=1.0)xt(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function wt(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b*.013888888888888888;h[a+8>>3]=c*.013888888888888888;return}function xt(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=+h[a>>3]*c;f=a+8|0;h[f>>3]=+h[f>>3]*d;a=a+16|0;e=e+1|0}return}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0;r=l;l=l+128|0;o=r+112|0;n=r+96|0;m=r+80|0;f=r+64|0;p=r+48|0;q=r+32|0;j=r+16|0;k=r;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];xr(p,n,o);g=b+16|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];xr(q,n,o);c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];xr(j,n,o);i=e+16|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];xr(k,n,o);c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];do if(zt(f,m,n,o)|0){f=c[b+40>>2]|0;if(f&1|0?c[e+40>>2]&1|0:0){f=1;break}if(f&2|0?c[e+40>>2]&2|0:0){s=+h[g>>3]-+h[b>>3]+ +h[i>>3]-+h[e>>3];t=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(u*u+t*t>s*s*.25);break}f=c[46144]|0;if(!f){c[46144]=vH(c[46143]<<4)|0;i=vH(c[46143]<<4)|0;c[46145]=i;f=c[46144]|0}else i=c[46145]|0;v=c[b+36>>2]|0;b=b+32|0;g=c[b>>2]|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];At(v,g,o,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];At(a,e,o,i);if(!(Bt(f,i,c[b>>2]|0,c[g>>2]|0)|0)){f=c[46144]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];if(Ct(m,n,o)|0?(k=c[46145]|0,v=c[g>>2]|0,c[o>>2]=c[f>>2],c[o+4>>2]=c[f+4>>2],c[o+8>>2]=c[f+8>>2],c[o+12>>2]=c[f+12>>2],Dt(k,v,o)|0):0){f=1;break}f=c[46145]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];if(!(Ct(m,n,o)|0))f=0;else{q=c[46144]|0;v=c[b>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];f=(Dt(q,v,o)|0)!=0}}else f=1}else f=0;while(0);l=r;return f&1|0}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3]&1;else a=0;return a|0}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[c>>3]+ +h[a>>3];h[d+8>>3]=+h[f>>3]+ +h[a+8>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+112|0;s=A+96|0;r=A+80|0;q=A+64|0;p=A+48|0;u=A+32|0;v=A+16|0;w=A;x=d+-1|0;y=e+-1|0;z=d<<1;t=e<<1;f=0;g=0;h=0;i=0;while(1){B=a+(f<<4)|0;C=a+(((x+f|0)%(d|0)|0)<<4)|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[C>>2];c[s+4>>2]=c[C+4>>2];c[s+8>>2]=c[C+8>>2];c[s+12>>2]=c[C+12>>2];wr(u,r,s);o=b+(g<<4)|0;n=b+(((y+g|0)%(e|0)|0)<<4)|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];wr(v,r,s);c[q>>2]=c[45770];c[q+4>>2]=c[45771];c[q+8>>2]=c[45772];c[q+12>>2]=c[45773];c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];j=+yr(q,r,s);c[q>>2]=c[C>>2];c[q+4>>2]=c[C+4>>2];c[q+8>>2]=c[C+8>>2];c[q+12>>2]=c[C+12>>2];c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];k=zr(q,r,s)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];c[s+8>>2]=c[B+8>>2];c[s+12>>2]=c[B+12>>2];m=zr(q,r,s)|0;c[p>>2]=c[C>>2];c[p+4>>2]=c[C+4>>2];c[p+8>>2]=c[C+8>>2];c[p+12>>2]=c[C+12>>2];c[q>>2]=c[B>>2];c[q+4>>2]=c[B+4>>2];c[q+8>>2]=c[B+8>>2];c[q+12>>2]=c[B+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];if(Ar(p,q,r,s,w)|0){f=1;break}n=(k|0)==0;o=(m|0)==0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0))if(o){f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{g=(g+1|0)%(e|0)|0;i=i+1|0;break}else if(n){g=(g+1|0)%(e|0)|0;i=i+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0}while(0);if(!((i|0)<(t|0)&((h|0)<(z|0)&((i|0)<(e|0)|(h|0)<(d|0))))){f=0;break}}l=A;return f|0}function Ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3]&1;else a=0;return a|0}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0;e=c[46146]|0;if(!e){e=vH(c[46143]<<4)|0;c[46146]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}d=b+-1|0;f=0.0;a=0;a:while(1){if((a|0)>=(b|0)){l=19;break}g=(d+a|0)%(b|0)|0;j=+h[e+(a<<4)+8>>3];i=j==0.0;if(i?+h[e+(g<<4)+8>>3]==0.0:0){if(+h[e+(g<<4)>>3]*+h[e+(a<<4)>>3]<0.0){e=1;break}}else l=11;do if((l|0)==11){l=0;k=+h[e+(g<<4)+8>>3];if(!(j>=0.0)|!(k<=0.0)?!(k>=0.0)|!(j<=0.0):0)break;j=(k*+h[e+(a<<4)>>3]-j*+h[e+(g<<4)>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(k==0.0|i){f=f+.5;break}else{f=f+1.0;break}}while(0);a=a+1|0}if((l|0)==19)e=((~~f|0)%2|0|0)==1&1;return e|0}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=vH(b<<2)|0;i=O(b,b)|0;d=vH(i<<2)|0;c[j>>2]=d;at(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((O(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Ft(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;F=c[a+52>>2]|0;G=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Ht(M,C,E,F,G,j);H=c[a+28>>2]|0;I=c[a+32>>2]|0;J=c[a+36>>2]|0;K=c[a+12>>2]|0;L=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(G|0)){e=C;d=G}else e=c[F+(d<<2)>>2]|0}c[L+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}z=c[a+40>>2]|0;A=I+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){x=f;while(1){if((x|0)>=(C|0))break b;f=c[E+(x<<2)>>2]|0;y=+g[M+(f<<2)>>2];l=y;w=x;m=0.0;while(1){g[z+(f<<2)>>2]=m;f=w+1|0;if((f|0)>=(C|0)){v=0;break}l=(c[L+(f<<2)>>2]|0)>(c[L+(w<<2)>>2]|0)?l+j:l;a=c[E+(f<<2)>>2]|0;m=+g[M+(a<<2)>>2];if(+B(+(m-l))>1.0e-09){v=1;break}w=f;m=m-y;f=a}n=x;while(1){if((n|0)>(w|0)){a=0;o=x;break}o=c[E+(n<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;a=0;l=-+g[b+(o<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(o|0))l=+g[M+(a<<2)>>2]*+g[p+(a<<2)>>2]+l;a=a+1|0}g[H+(o<<2)>>2]=l/-+g[p+(o<<2)>>2]-+g[z+(o<<2)>>2];n=n+1|0}c:while(1){if((o|0)>(w|0)){m=0.0;q=0.0;r=0;break}n=c[L+(c[E+(o<<2)>>2]<<2)>>2]|0;if((n|0)==(G|0))r=f;else{r=c[F+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}p=o;while(1){if((p|0)>=(r|0)){p=o;break}n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]<y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((p|0)>=(r|0))break;n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]==y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((o|0)>=(r|0)){o=r;continue c}n=c[E+(o<<2)>>2]|0;if(+g[H+(n<<2)>>2]>y){c[K+(a<<2)>>2]=n;a=a+1|0}o=o+1|0}}while(1){if((r|0)>=(a|0))break;o=c[K+(r<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[p+(c[K+(n<<2)>>2]<<2)>>2];n=n+1|0}N=l*2.0;u=p+(o<<2)|0;s=+g[u>>2];l=N+m;s=(N*y+m*q-+g[H+(o<<2)>>2]*s)/(l-s);g[I+(r<<2)>>2]=s;m=l-+g[u>>2];q=s;r=r+1|0}p=(a|0)==(C|0);if(p)g[A>>2]=y;u=a+-1|0;m=0.0;q=0.0;o=u;while(1){if((o|0)<=-1)break;r=c[K+(o<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=o;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[K+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;N=+g[t>>2];s=l+m;N=(l*y+m*q-+g[H+(r<<2)>>2]*N)/(s-N);g[J+(o<<2)>>2]=N;m=s-+g[t>>2];q=N;o=o+-1|0}if(p){g[J>>2]=y;s=0.0;n=-1;p=0}else{s=0.0;n=-1;p=0}while(1){if((a|0)<=(p|0))break;q=+g[J+(p<<2)>>2];if((p|0)>0)l=+g[I+(p+-1<<2)>>2];else l=q;do if(q<l){o=l>y;if(q<y){l=o?y:l;m=l;break}if(o){m=q;l=q}else m=q}else m=q;while(0);N=+B(+(m-y))*+(a-p|0)+ +B(+(l-y))*+(p|0);t=N>s;s=t?N:s;n=t?p:n;p=p+1|0}if((n|0)>-1)break;if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0){k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;x=f;continue}k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];x=f}m=+g[J+(n<<2)>>2];if(!n)q=m;else q=+g[I+(n+-1<<2)>>2];if(v){t=c[E+(f<<2)>>2]|0;l=+g[M+(t<<2)>>2];l=((c[L+(t<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0)?l-j:l)-+g[z+(c[K+(u<<2)>>2]<<2)>>2]}else l=1.0e9;l=m<l?m:l;k=q>k?q:k;do if(l<k){o=k>y;if(l<y){l=o?y:k;m=l;break}if(o)m=l;else{m=l;l=k}}else{m=l;l=k}while(0);o=0;while(1){if((o|0)>=(n|0))break;t=c[K+(o<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+l;o=o+1|0}while(1){if((n|0)>=(a|0))break;t=c[K+(n<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+m;n=n+1|0}if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0)k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;else k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];a=x;while(1){if((a|0)>(w|0))break;c[E+(a<<2)>>2]=c[K+(a-x<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+B(+(l-y))<.01:0)e=+B(+(m-y))<.01;else e=0;e=e&1}Ts(C,M);Gt(M,E,F,G,i);d=d+1|0}}while(0);return d|0}function Gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Ht(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;hs(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]<i)g[k>>2]=i;k=l;m=m+1|0}return}function It(a){a=a|0;D_(c[c[a>>2]>>2]|0);D_(c[a>>2]|0);D_(c[a+8>>2]|0);D_(c[a+28>>2]|0);D_(c[a+32>>2]|0);D_(c[a+36>>2]|0);D_(c[a+40>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);D_(a);return}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=vH(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Et(a,b)|0;i=b<<2;j=vH(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=vH(i)|0;c[k+32>>2]=vH(i)|0;c[k+36>>2]=vH(i)|0;c[k+40>>2]=vH(i)|0;c[k+12>>2]=vH(i)|0;c[k+16>>2]=vH(i)|0;c[k+20>>2]=vH(i)|0;c[k+24>>2]=vH(i)|0;return k|0}function Kt(){gt(184592,24);c[46151]=0;return}function Lt(){return it(184592)|0}function Mt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function Nt(a){a=a|0;var b=0;b=c[46151]|0;c[a+16>>2]=b;c[46151]=b+1;return}function Ot(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)jt(a,184592);return}function Pt(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Qt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;v=vH(q)|0;m=b<<3;w=vH(m)|0;u=as(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;k=u+(a<<2)|0;j=0;while(1){if((j|0)==(b|0))break;s=(c[k>>2]|0)+(j<<2)|0;c[s>>2]=c[s>>2]<<8;j=j+1|0}a=a+1|0}if(!d)qa(92381,92389,283,92403);s=vH(m)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Rt(s,b);i=0.0;n=0.0;m=1;while(1){if((m|0)>=(b|0))break;j=u+(m<<2)|0;k=d+(m<<3)|0;a=0;while(1){if((a|0)==(m|0))break;y=c[(c[j>>2]|0)+(a<<2)>>2]|0;r=+h[k>>3]-+h[d+(a<<3)>>3];i=r*r*(1.0/+(O(y,y)|0))+i;n=+B(+r)*(1.0/+(y|0))+n;a=a+1|0}m=m+1|0}r=n/i;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*r;a=a+1|0}St(b,o,f,d,u);k=vH(O(q,b)|0)|0;j=0;while(1){if((j|0)>=(b|0)){k=1;break}m=k+((O(j,b)|0)<<2)|0;c[v+(j<<2)>>2]=m;o=u+(j<<2)|0;i=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[m+(a<<2)>>2]=p;i=i-p}a=a+1|0}g[m+(j<<2)>>2]=i;j=j+1|0}while(1){if((k|0)>=(b|0)){j=0;break}i=+h[d+(k<<3)>>3];j=u+(k<<2)|0;a=0;while(1){if((a|0)==(k|0))break;y=(c[j>>2]|0)+(a<<2)|0;n=+(c[y>>2]|0);p=i-+h[d+(a<<3)>>3];p=n*n-p*p;q=~~+C(+p);q=p>0.0?q:0;c[(c[u+(a<<2)>>2]|0)+(k<<2)>>2]=q;c[y>>2]=q;a=a+1|0}k=k+1|0}while(1){if((j|0)>=(b|0)){q=0;a=0;break}n=+h[e+(j<<3)>>3];m=w+(j<<3)|0;h[m>>3]=0.0;o=u+(j<<2)|0;k=v+(j<<2)|0;a=0;i=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+g[(c[k>>2]|0)+(a<<2)>>2]*+(c[(c[o>>2]|0)+(a<<2)>>2]|0);i=i+(n>=+h[e+(a<<3)>>3]?-p:p);h[m>>3]=i}a=a+1|0}j=j+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){t=42;break}if((Eq(v,e,w,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];k=u+(o<<2)|0;m=v+(o<<2)|0;i=0.0;j=0;while(1){if((j|0)==(b|0))break;do if((j|0)!=(o|0)){n=+g[(c[m>>2]|0)+(j<<2)>>2]*+(c[(c[k>>2]|0)+(j<<2)>>2]|0);if(!(p>=+h[e+(j<<3)>>3])){i=i+n;break}else{i=i+-n;break}}while(0);j=j+1|0}j=w+(o<<3)|0;p=+h[j>>3];if(i!=p?+B(+(1.0-i/p))>1.0e-05:0){h[j>>3]=i;a=0}o=o+1|0}q=q+1|0}a:do if((t|0)==42){i=1.0/r;a=0;while(1){if((a|0)>=(b|0)){a=0;break a}y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*i;y=e+(a<<3)|0;h[y>>3]=+h[y>>3]*i;a=a+1|0}}while(0);D_(c[u>>2]|0);D_(u);D_(c[v>>2]|0);D_(v);D_(s);D_(w);l=x;return a|0}function Rt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=+h[a+(c<<3)>>3]+d;c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;Cs(a,0,f,1.0/+Bs(a,0,f),a);return}function St(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Tt(f,a)|0;l=vH(8)|0;if(!e){f=0;j=0}else{g=vH(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Rt(g,a);f=g;j=g}Ut(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+C(+(+B(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=+h[m>>3]*d;f=f+1|0}e=e+1|0}D_(c[k>>2]|0);D_(k);D_(l);D_(j);return}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=vH(O(n,b)|0)|0;n=vH(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}m=Wt(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+ +g[i>>2]-p*p-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}D_(m);l=o;return n|0}function Ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=vH(r)|0;r=vH(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}if(k)i=0;else{As(l,0,p,-+zs(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p)}while(g<1.0e-10);Cs(l,0,p,1.0/g,l);do{Ds(r,0,p,l);Vt(a,b,b,l,q,f);Ds(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p);if(g<1.0e-10)break a;Cs(l,0,p,1.0/g,l);m=+zs(l,0,p,r)}while(+B(+m)<n);h[e+(j<<3)>>3]=m*g;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+zs(c[s>>2]|0,0,p,k);As(k,0,p,n,c[s>>2]|0);i=i+1|0}Cs(k,0,p,1.0/+Bs(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g<n;g=s?n:g;i=s?k:i;k=k+1|0}if((i|0)==(j|0)){j=f;continue}b=d+(j<<2)|0;Ds(q,0,p,c[b>>2]|0);s=d+(i<<2)|0;Ds(c[b>>2]|0,0,p,c[s>>2]|0);Ds(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}D_(q);D_(r);return}function Vt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=+h[e+(l<<3)>>3]*+g[(c[m>>2]|0)+(l<<2)>>2]+k;l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)As(f,0,j,-+zs(f,0,j,i),i);return}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=vH(b<<2)|0;k=1.0/+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=m+f;h=h+1|0;e=m+e}g[j+(i<<2)>>2]=k*f;i=i+1|0}g[d>>2]=e/+(O(b,b)|0);return j|0}function Xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=O(d,d)|0;r=vH(q<<3)|0;s=vH(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+B(+(+h[a+((O(e,d)|0)+o<<3)>>3]));m=t<f;n=m?g:e;f=m?f:t;e=e+1|0;g=n}if(f<1.0e-10){l=33;break}i=O(g,d)|0;n=O(o,d)|0;e=o;while(1){if((e|0)>=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=O(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-+h[j>>3]*f;i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-+h[a+(i+n<<3)>>3]*f;i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+B(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=O(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[b+(g<<3)>>3]*+h[a+(g+k<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}D_(r);D_(s)}}if((l|0)==33){k3(92418)|0;D_(r);D_(s)}return}function Yt(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;nr();Kt();Ir();c[46147]=jb[d&3]()|0;Kr();q=r+8|0;p=jb[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(Er()|0)){Fr(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(Er()|0)break;g=+h[o>>3];if(g<f)break;if(g==f?+h[p>>3]<e:0)break}if(Er()|0)break a;t=Gr()|0;b=Tr(t)|0;v=Sr(t)|0;i=Sr(v)|0;m=Ur(t)|0;u=Vr(v)|0;j=c[t+20>>2]|0;Nt(j);rr(c[t+8>>2]|0,a[t+16>>0]|0,j);rr(c[v+8>>2]|0,a[v+16>>0]|0,j);Rr(t);Dr(v);Rr(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=or(k,v?m:u)|0;m=Lr(u,t)|0;Or(b,m);rr(u,(t^1)&255,j);Ot(j);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,k))}b=Mr(m,i)|0;if(!b)continue;Br(m,b,+Mt(b,k))}b=Pr(p)|0;k=Sr(b)|0;i=or(Vr(b)|0,p)|0;m=Lr(i,0)|0;Or(b,m);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,p))}i=Lr(i,1)|0;Or(m,i);b=Mr(i,k)|0;if(b|0)Br(i,b,+Mt(b,p));p=jb[d&3]()|0}b=c[46090]|0;while(1){b=Sr(b)|0;if((b|0)==(c[46091]|0))break;pr(c[b+8>>2]|0)}l=s;return}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+8|0;e=g;do if((ay(a)|0)!=1){_t(a);if(!b)b=$t(a)|0;d=au(a,b)|0;if(0){h=c[15686]|0;c[e>>2]=ry(b)|0;c[e+4>>2]=d;g1(h,92434,e)|0}if((d|0)<0){Pw(1,92468,f)|0;break}else{bu(a);cu(a,b);du(a,b);eu(a,d);break}}else{h=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}while(0);l=g;return b|0}function _t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=ay(a)|0;d=O(d,d)|0;b=Sy(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(mu(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=Ty(a,b)|0}return}function $t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(ay(a)|0)<3;b=Sy(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)lu(a,b,0);b=Ty(a,b)|0}d=0;b=0;e=Sy(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=Ty(a,e)|0}}while(0);return b|0}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;iu(a,b);d=Sy(a)|0;e=y3(0,e|0,32)|0;f=z;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=Ty(a,d)|0}return b|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0;d=Sy(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=z;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=Ty(a,d)|0}return}function cu(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;hu(a,b);return}function du(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;gu(a,b);return}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+16|0;f=i;g=fu(a,b)|0;if(0){e=c[15686]|0;D1(92524,e)|0;d=0;while(1){if((d|0)>(b|0))break;h[f>>3]=+h[g+(d<<3)>>3];g1(e,92543,f)|0;d=d+1|0}D1(150517,e)|0}d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+112>>2]|0;j=+h[g+(c[e+24>>2]<<3)>>3];e=e+48|0;k=+E(+(+h[e>>3]))*j;f=c[f+132>>2]|0;h[f>>3]=k;h[f+8>>3]=+F(+(+h[e>>3]))*j;d=Ty(a,d)|0}D_(g);l=i;return}function fu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=uH((d<<3)+8|0)|0;b=NL(b,nx(c[b+60>>2]|0,0,98262,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+c2(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=i+e;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(B$(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=e+f;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=Jx(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=j*.5+e;e=j+e;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))gu(a,f)}g=Kx(a,g,b)|0}return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=Jx(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)hu(a,d);f=Kx(a,f,b)|0}return}function iu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=nx(b,2,98515,0)|0;c[n+4>>2]=0;c[n>>2]=0;ju(n,d);j=(o|0)==0;a:while(1){k=ku(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=Jx(b,k)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)continue a;if(!((!j?(a[(yx(g,o)|0)>>0]|0)==48:0)?!(b$(yx(g,o)|0,135312)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0<r>>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=s3(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=z;ju(n,e)}}g=Kx(b,g,k)|0}}l=p;return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0;d=uH(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function ku(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];D_(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function lu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=Jx(a,b)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0<k>>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;lu(a,e,b)}g=Kx(a,g,b)|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=Jx(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=Kx(a,g,b)|0}return d|0}function nu(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=nx(a,1,92551,0)|0;g=nx(a,0,92551,0)|0;a=ou(a,g,d,nx(a,0,92556,0)|0)|0;d=a+16|0;f=+C(+(+h[a>>3]+.1));zu(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];pu(a);qu(a);ru(a);l=b;return}function ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=uH(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=ou(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=+h[g>>3]+f;if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=Sy(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=uu(n,d)|0;f=+h[k>>3]+f;if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=Ty(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+wu(a,b);else{h[o+8>>3]=f;f=+vu(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;p=l;l=l+176|0;f=p+144|0;n=p+64|0;k=p+32|0;i=p;o=c[a+64>>2]|0;a:do if(o|0){m=uH(o<<2)|0;b=a+48|0;e=0;d=b;while(1){d=c[d>>2]|0;if((e|0)>=(o|0))break;c[m+(e<<2)>>2]=d;e=e+1|0;d=d+52|0}_0(m,o,4,79);j=uH(o<<3)|0;d=0;while(1){if((d|0)>=(o|0))break;h[j+(d<<3)>>3]=+h[c[m+(d<<2)>>2]>>3];d=d+1|0}g=+h[a+8>>3];if(+h[a>>3]==g){i=a+16|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}else{q=+h[a+40>>3];r=+h[a+32>>3];h[i>>3]=+h[a+16>>3];h[i+8>>3]=+h[a+24>>3];s=q-r;g=(r+q-+C(+(g*4.0+s*s)))*.5;h[i+16>>3]=r-g;h[i+24>>3]=q-g;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}if(0){f=c[15686]|0;q=+h[a+24>>3];r=+h[a+32>>3];s=+h[a+40>>3];h[k>>3]=+h[a+16>>3];h[k+8>>3]=q;h[k+16>>3]=r;h[k+24>>3]=s;g1(f,92603,k)|0}e=c[15686]|0;d=0;while(1){if((d|0)>=(o|0))break;k=(c[m+(d<<2)>>2]|0)+16|0;f=i+(d<<5)|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[k+16>>2]=c[f+16>>2];c[k+20>>2]=c[f+20>>2];c[k+24>>2]=c[f+24>>2];c[k+28>>2]=c[f+28>>2];if(0){g=+h[f>>3];r=+h[i+(d<<5)+16>>3];u=r*.5;q=+h[i+(d<<5)+8>>3];s=+h[i+(d<<5)+24>>3];t=s*.5;h[n>>3]=+h[j+(d<<3)>>3];h[n+8>>3]=g-u;h[n+16>>3]=q-t;h[n+24>>3]=u+g;h[n+32>>3]=t+q;h[n+40>>3]=s*r;h[n+48>>3]=g;h[n+56>>3]=q;h[n+64>>3]=r;h[n+72>>3]=s;g1(e,92620,n)|0}d=d+1|0}D_(m);D_(j);D_(i);d=0;while(1){b=c[b>>2]|0;if((d|0)>=(o|0))break a;if(!(c[b+60>>2]|0))pu(b);b=b+52|0;d=d+1|0}}while(0);l=p;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;f=l;l=l+48|0;e=f;if(c[a+60>>2]|0){k=+h[a+24>>3];i=+h[a+32>>3];g=+h[a+40>>3];b=c[a+56>>2]|0;d=b+16|0;j=c[d>>2]|0;h[j+16>>3]=+h[a+16>>3];h[j+24>>3]=k;a=c[d>>2]|0;h[a+32>>3]=i*.013888888888888888;h[a+40>>3]=g*.013888888888888888;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);su(b);if(0){j=c[15686]|0;a=ry(b)|0;d=c[d>>2]|0;m=+h[d+16>>3];g=+h[d+24>>3];i=+h[d+80>>3];k=+h[d+96>>3]+ +h[d+88>>3];c[e>>2]=a;h[e+8>>3]=m;h[e+16>>3]=g;h[e+24>>3]=i;h[e+32>>3]=k;g1(j,92562,e)|0}}else{b=a+48|0;while(1){b=c[b>>2]|0;if(!b)break;qu(b);b=b+52|0}i=+h[a+32>>3];m=+h[a+40>>3];g=+h[a+16>>3]-i*.5;k=+h[a+24>>3]-m*.5;j=c[(c[a+56>>2]|0)+16>>2]|0;h[j+16>>3]=g;h[j+24>>3]=k;h[j+32>>3]=g+i;h[j+40>>3]=k+m}l=f;return}function ru(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ru(b);b=b+52|0;d=d+1|0}D_(a);return}function su(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[46380]|0;if(e|0?(a[(yx(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;Y0(d,92597,f)|0;rx(b,c[46380]|0,d)|0}dM(b);l=g;return}function tu(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function uu(a,b){a=a|0;b=b|0;var d=0;d=uH(72)|0;h[d>>3]=+wu(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function vu(a,b){a=a|0;b=b|0;var d=0.0;d=+LL(c[a+56>>2]|0,b,0.0,0.0);if(d==0.0)d=+h[a+8>>3];else{d=+C(+(+h[a+8>>3]))+d*2.0;d=d*d}return +d}function wu(a,b){a=a|0;b=b|0;var c=0.0;c=+LL(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=+h[b+(e<<3)>>3]+f;e=e+1|0;f=j}if(f>+h[d+24>>3]*+h[d+16>>3]+.001)e=0;else{e=uH(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];yu(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function yu(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=l;l=l+112|0;y=z+72|0;u=z+40|0;p=z+32|0;m=z;w=k+16|0;q=+h[w>>3];x=k+24|0;r=+h[x>>3];v=+h[k+16+((!(q<r)&1)<<3)>>3];do if((a|0)>=1){if(0){A=c[15686]|0;B=+h[k+8>>3];h[m>>3]=+h[k>>3];h[m+8>>3]=q;h[m+16>>3]=B;h[m+24>>3]=r;g1(A,92657,m)|0;c[p>>2]=e;g1(A,92703,p)|0}if(!e){i=+h[b>>3];B=v*v;v=i/B;B=B/i;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a,b,d,1,i,i,i,v>B?v:B,y);break}if((a|0)>(e|0)?(t=+h[b+(e<<3)>>3],n=t<f?f:t,s=t>g?g:t,t=t+i,o=t/v,o=o*o,B=o/s,o=n/o,o=B>o?B:o,o<=j):0){c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a,b,d,e+1|0,n,s,t,o,y);break}q=i/v;if(0){A=c[15686]|0;c[u>>2]=e;h[u+8>>3]=i;h[u+16>>3]=v;h[u+24>>3]=q;g1(A,92728,u)|0}n=+h[w>>3];if(v==n){o=1.0/q;p=k+8|0;n=+h[k>>3]-n*.5;m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+24>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+16>>3]=B;h[d+(m<<5)+8>>3]=(+h[x>>3]-q)*.5+ +h[p>>3];h[d+(m<<5)>>3]=B*.5+n;n=B+n;m=m+1|0}h[p>>3]=+h[p>>3]-q*.5;m=1}else{o=1.0/q;n=+h[x>>3]*.5+ +h[k+8>>3];m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+16>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+24>>3]=B;h[d+(m<<5)>>3]=(q-+h[w>>3])*.5+ +h[k>>3];h[d+(m<<5)+8>>3]=n-B*.5;n=n-B;m=m+1|0}h[k>>3]=+h[k>>3]+q*.5;m=0}A=k+16+(m<<3)|0;h[A>>3]=+h[A>>3]-q;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a-e|0,b+(e<<3)|0,d+(e<<5)|0,0,0.0,0.0,0.0,1.0,y)}while(0);l=z;return}function zu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Au(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=l;l=l+96|0;C=D+48|0;B=D+24|0;A=D+16|0;z=D+8|0;u=D+80|0;v=D;w=a+16|0;x=d+4|0;y=u+4|0;s=Sy(a)|0;e=0;f=0;i=0;j=0;while(1){if(!s)break;t=Ex(a,s)|0;q=e;r=j;while(1){if(!t)break;e=(b[(c[t+16>>2]|0)+168>>1]|0)==0;do if((s|0)==(c[((c[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0))if(e){j=q;e=r}else{if(!f){e=uH(96)|0;c[e+84>>2]=uH(((ay(a)|0)<<5)+11520|0)|0;f=e}else e=r;Mm(f,t,c[(c[w>>2]|0)+248>>2]|0);j=q}else if(!e){i=Bu(t,d)|0;j=i+8|0;if(ms(c[j>>2]|0,c[i>>2]|0)|0){k=sU(c[j>>2]|0,c[i>>2]|0)|0;if(!k){Pw(0,92781,z)|0;j=1;e=r;break}else e=t;while(1){if(!e)break;E=e+16|0;F=(c[E>>2]|0)+144|0;Sm(v,e,k,0,c[j>>2]|0,c[i>>2]|0);H=v;G=c[H+4>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;Um(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[E>>2]|0)+172>>2]|0}Cu(i);j=q;e=r;break}if(!q){qq(u,a);e=YD(a,8,8)|0;Pw(0,92865,A)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];if(!(o>=n)&!(p>=n)){m=+g[u>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[C>>3]=m;h[C+8>>3]=n;h[C+16>>3]=o;h[C+24>>3]=p;Pw(3,92981,C)|0}}else{c[B>>2]=e;h[B+8>>3]=o;h[B+16>>3]=p;Pw(3,92931,B)|0}j=1;e=r}else{j=q;e=r}}else{j=q;e=r}while(0);t=Gx(a,t)|0;q=j;r=e}s=Ty(a,s)|0;e=q;j=r}Du(i);if(f|0){D_(c[f+84>>2]|0);D_(j)}l=D;return e|0}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=uH(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Eu(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Eu(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Fu(k,b,0,f,d);Fu(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Fu(k,h,e,f,d);l=p;return k|0}function Cu(a){a=a|0;c[a>>2]=0;return}function Du(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Eu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Fu(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Fu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=Sy(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Gu(b,Pm(h,g,0)|0);h=Ty(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Gu(b,Hu(h,g)|0);d=d+1|0}return}function Gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=vH(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=xH(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Hu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0;m=uH(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[m+4>>2]=4;b=uH(64)|0;c[m>>2]=b;if(!(a[d+8>>0]|0)){p=+g[d>>2];o=+g[d+4>>2];i=(f+e)*.5*(p+-1.0);n=(k+l)*.5*(o+-1.0);j=e*p-i;i=f*p-i;f=k*o-n;e=l*o-n}else{i=+g[d>>2];p=+g[d+4>>2];j=e-i;i=f+i;f=k+p;e=l-p}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return m|0}function Iu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+160|0;n=o+16|0;j=o+8|0;g=o;k=o+24|0;m=uH(ay(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{p=ry(b)|0;i=c[46152]|0;c[g>>2]=p;c[g+4>>2]=i;Y0(k,93041,g)|0;i=vA(b,k,1)|0;Az(i,134401,280,1)|0;g=uH(56)|0;c[(c[i+16>>2]|0)+140>>2]=g;c[g>>2]=f;c[g+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,i,m);f=f+16|0}}while(0);h=0;i=Sy(b)|0;while(1){if(!i)break;p=c[i+16>>2]|0;if((a[m+(c[p+120>>2]|0)>>0]|0)==0?(a[p+119>>0]|0)==3:0){if(!g){p=ry(b)|0;g=(c[46152]|0)+f|0;c[j>>2]=p;c[j+4>>2]=g;Y0(k,93041,j)|0;g=vA(b,k,1)|0;Az(g,134401,280,1)|0;p=uH(56)|0;c[(c[g+16>>2]|0)+140>>2]=p;f=f+1|0}Ju(b,i,g,m);h=1}i=Ty(b,i)|0}if(g|0)vD(g)|0;g=Sy(b)|0;while(1){if(!g)break;if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){j=ry(b)|0;p=(c[46152]|0)+f|0;c[n>>2]=j;c[n+4>>2]=p;Y0(k,93049,n)|0;p=vA(b,k,1)|0;Az(p,134401,280,1)|0;j=uH(56)|0;c[(c[p+16>>2]|0)+140>>2]=j;Ju(b,g,p,m);vD(p)|0;f=f+1|0}g=Ty(b,g)|0}D_(m);c[46152]=(c[46152]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=h;i=uH((f<<2)+4|0)|0;h=i;g=wA(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=xA(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=o;return i|0}else qa(93057,93068,134,93075);return 0}function Ju(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;Xy(e,d,1)|0;i=Jx(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,e,f);i=Kx(b,i,d)|0}return}function Ku(a){a=a|0;var b=0;b=vH(24)|0;c[46153]=b;c[b>>2]=Cw(18100,c[4555]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Lu(a)|0;return b|0}function Lu(a){a=a|0;var b=0,d=0;b=vH(16)|0;c[b+12>>2]=0;d=vH(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;d=Ou(c[46153]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Lu(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)D_(d);c[b>>2]=vH(e<<3)|0;c[f>>2]=e}return}function Qu(a){a=a|0;var b=0;b=c[a>>2]|0;nb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ru(a){a=a|0;yw(c[a>>2]|0)|0;Su(c[a+4>>2]|0);D_(c[a+16>>2]|0);D_(a);return}function Su(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;h=g+12|0;c[h>>2]=b;c[h+4>>2]=d;i=c[a>>2]|0;h=(nb[c[i>>2]&63](i,h,1)|0)+8|0;c[h>>2]=Uu(a,e,c[h>>2]|0)|0;if(0>2){i=c[15686]|0;h=ry(e)|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;g1(i,93085,f)|0}l=g;return}function Uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Vu(a,b){a=a|0;b=b|0;Jw(c[a>>2]|0,b,a)|0;return}function Wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Xu(a,b){a=a|0;b=b|0;if((ay(a)|0)==1){a=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{Yu(a);if(!((QL(xx(b,93102)|0)|0)<<24>>24))b=tv(a,183128)|0;else b=Zu(a)|0;Cv(a,b,183128);_u(b)}return}function Yu(a){a=a|0;var b=0;b=ez(c[c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46154]|0;if((b|0)!=(a|0)){c[45785]=0;c[46154]=b;c[46155]=nx(b,0,93111,0)|0;c[46156]=nx(c[46154]|0,1,93119,0)|0;c[46157]=nx(c[46154]|0,1,93136,0)|0;a=c[46154]|0}c[46158]=xx(a,93136)|0;nv(183128);c[45784]=1;h[22895]=+LL(c[46154]|0,c[46155]|0,1.0,0.0);c[45786]=c[46156];c[45787]=c[46157];c[45788]=c[46158];return}function Zu(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[45785]|0;c[45785]=b+1;c[e>>2]=b;Y0(d,93152,e)|0;d=ov(vA(a,d,1)|0)|0;e=d+8|0;b=Sy(a)|0;while(1){if(!b)break;Xy(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=Ty(a,b)|0}l=f;return d|0}function _u(a){a=a|0;Bv(a);return}function $u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;av(f,c);bv(a,b,c,f);cv(b,f,d);dv(f);l=e;return}function av(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function bv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=vH(t)|0;C=vH(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=vH(t)|0;t=vH(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;js(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}fv(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((gv(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=F_(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}D_(A);D_(C);D_(s);D_(t);iv(u);l=D;return}function cv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=vH(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=vH(h)|0;h=vH(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=vH(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}D_(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ev(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function dv(a){a=a|0;D_(c[a>>2]|0);return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function fv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=vH(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;jv(a,e);e=e+-1|0}return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;jv(a,0);a=1}return a|0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;j=a+4|0;g=c[j>>2]|0;d=a+8|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=g<<1;d=F_(c[a>>2]|0,g<<5)|0;c[a>>2]=d;k=a;i=c[j>>2]|0}else{k=a;i=g;d=c[a>>2]|0}c[j>>2]=i+1;j=d+(g<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];while(1){if((g|0)<=0)break;d=c[k>>2]|0;e=+h[d+(g<<4)+8>>3];a=g>>>1;f=+h[d+(a<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((g2()|0)&1))break;d=c[k>>2]|0}j=d+(g<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];b=d+(a<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=(c[k>>2]|0)+(a<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];g=a}l=n;return}function iv(a){a=a|0;D_(c[a>>2]|0);return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e<f))if(!(e==f?((g2()|0)&1|0)!=0:0))k=6}else k=6;if((k|0)==6){k=0;d=b}do if((g|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((g2()|0)&1))break}d=g}while(0);if((d|0)==(b|0))break;g=c[a>>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function kv(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=vH(b<<3)|0;if(!(kt(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=uH(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;js(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e<d?d:e;a=0;g=1;d=n;while(1){if((g|0)>=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=a+(n-d>e&1)|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=vH(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=vH(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)D_(f);return a|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46159]|0;if(d|0)xn(d);c[46159]=wn(b,b,0.0)|0;d=c[46160]|0;if(d|0)D_(d);c[46160]=uH(b<<2)|0;d=c[46161]|0;if(d|0)D_(d);n=uH(b<<3)|0;c[46161]=n;o=c[46159]|0;p=c[46160]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+B(+j);f=f<j?j:f;d=d+1|0}if(!(f!=0.0)){e=15;break}h[n+(i<<3)>>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;k=d;f=0.0}else break;while(1){if((e|0)>=(b|0))break;a=c[p+(e<<2)>>2]|0;j=+B(+(+h[(c[o+(a<<2)>>2]|0)+(l<<3)>>3]));j=+h[n+(a<<3)>>3]*j;a=f<j;i=a?e:k;e=e+1|0;k=i;f=a?j:f}if(f==0.0){d=0;break a}d=p+(l<<2)|0;if((k|0)!=(l|0)){i=c[d>>2]|0;a=p+(k<<2)|0;c[d>>2]=c[a>>2];c[a>>2]=i}g=c[o+(c[d>>2]<<2)>>2]|0;a=l+1|0;f=1.0/+h[g+(l<<3)>>3];e=a;while(1){if((e|0)>=(b|0)){d=k;l=a;continue b}i=c[o+(c[p+(e<<2)>>2]<<2)>>2]|0;d=i+(l<<3)|0;j=+h[d>>3]*f;h[d>>3]=j;c:do if(j!=0.0){d=a;while(1){if((d|0)>=(b|0))break c;q=i+(d<<3)|0;h[q>>3]=+h[q>>3]-+h[g+(d<<3)>>3]*j;d=d+1|0}}while(0);e=e+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[n+(i<<3)>>3]=0.0;d=0}while(0);return d|0}function mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46159]|0;l=c[46160]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[l+(j<<2)>>2]|0;i=k+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=+h[a+(e<<3)>>3]*+h[(c[i>>2]|0)+(e<<3)>>3]+f;e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=l+(b<<2)|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=+h[a+(e<<3)>>3]*+h[(c[k+(c[g>>2]<<2)>>2]|0)+(e<<3)>>3]+f;e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[(c[k+(c[g>>2]<<2)>>2]|0)+(b<<3)>>3];e=b}return}function nv(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function ov(a){a=a|0;var b=0;b=uH(64)|0;nv(b+36|0);c[b+8>>2]=a;return b|0}function pv(a){a=a|0;if(a|0){Lv(c[a+32>>2]|0);D_(a)}return}function qv(a){a=a|0;return ay(c[a+8>>2]|0)|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function sv(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;uv(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=Sy(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=Ty(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=Ty(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;rv((c[i+12>>2]|0)+36|0,h);h=k}nv(b);return j|0}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;g=i+8|0;e=c[b+24>>2]|0;if(!((e|0)!=0?(d=az(a,e,0)|0,(d|0)!=0):0))f=3;a:do if((f|0)==3){e=b+20|0;b:do if(c[e>>2]|0){d=Sy(a)|0;while(1){if(!d)break b;if((PL(c[c[(c[d+16>>2]|0)+112>>2]>>2]|0,c[e>>2]|0,0)|0)<<24>>24)break a;d=Ty(a,d)|0}}while(0);d=Sy(a)|0}while(0);if(0){f=c[15686]|0;c[h>>2]=ry(d)|0;g1(f,93141,h)|0}c[g+4>>2]=0;c[g>>2]=0;vv(a,d,b,1,g);l=i;return}function vv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+8|0;k=c[l>>2]|0;c[l>>2]=k+1;l=b+16|0;c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]=k;c[(c[(c[l>>2]|0)+112>>2]|0)+24>>2]=k;k=(e|0)==0;j=Jx(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;g=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[g>>2]|0))c[g>>2]=-1}else{e=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[e>>2]|0)){c[e>>2]=1;e=g}else e=g}g=e+16|0;h=c[(c[g>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;wv(f,j);vv(a,e,d,0,f);i=(c[(c[l>>2]|0)+112>>2]|0)+24|0;c[i>>2]=c[(c[(c[((c[i>>2]|0)<(c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)?b:e)+16>>2]|0)+112>>2]|0)+24>>2];if((c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)>=(c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]|0)){e=0;do{h=xv(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=yv(a,d)|0;zv(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(qv(e)|0)>1:0)zv(e,b);if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){sv(d,e);break}rv(d,e)}}}else{g=c[(c[l>>2]|0)+112>>2]|0;if((c[g+8>>2]|0)!=(e|0)){h=g+24|0;g=c[h>>2]|0;c[h>>2]=(g|0)<(i|0)?g:i}}while(0);j=Kx(a,j,b)|0}if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){l=yv(a,d)|0;zv(l,b);sv(d,l)}return}function wv(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function xv(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)qa(135312,93172,65,93184);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else qa(93162,93172,61,93184);return 0}function yv(a,b){a=a|0;b=b|0;return ov(Av(a,b)|0)|0}function zv(a,b){a=a|0;b=b|0;Xy(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;Y0(e,93152,f)|0;b=vA(a,e,1)|0;Az(b,134401,280,1)|0;l=d;return b|0}function Bv(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Bv(b);b=d}pv(a);return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;Dv(a,b,+h[c+32>>3]);return}function Dv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Dv(a,e,d);e=e+4|0;f=f+1|0}e=Vv(a,b,d)|0;c[b+32>>2]=e;a=Sv(e)|0;if((f|0)>0)d=+Ev(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=uH(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=j*+(k|0);d=o+1|0;g=+Fv(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do switch(o|0){case 1:{h[u+40>>3]=1.0;d=0;break}case 2:{j=+h[u+64>>3]-+h[u+8>>3];Gv(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}default:{n=u+8|0;m=u;d=0;while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;if((d|0)==(o|0)){i=u;j=+h[n>>3]+6.283185307179586-+h[m+8>>3];k=m+56|0}else{k=m+56|0;i=k;j=+h[m+64>>3]-+h[m+8>>3]}Gv(m,i,j);m=k}}}while(0);while(1){if((d|0)>=(o|0))break;Hv(u+(d*56|0)|0,t,b,f);d=d+1|0}D_(u);if((a|0)==1){f=g+f*.5;Iv(e,-f,0.0,0.0);h[p>>3]=+h[p>>3]+f;u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[s>>3]+ +h[r>>3])*.5+-3.141592653589793)}function Fv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+d+k*2.0;g=g<k?k:g}else e=i;i=e;e=j+4|0}h[a+32>>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+d+ +h[b>>3];h[a+24>>3]=g;return +g}function Gv(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(d*+h[b+32>>3]+e*+h[a+32>>3])/(c*2.0*e*d);c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,G=0.0;z=b+8|0;y=+h[z>>3];A=b+24|0;k=+h[A>>3];B=b+32|0;j=+h[B>>3];f=+h[a+16>>3]*+h[a+40>>3];x=(d|0)==1;if(x){v=+h[a+32>>3];g=v*.15915494309189535;g=f>g?f:g;f=g*6.283185307179586-v;if(f>0.0){e=f/+(c[a+48>>2]|0)+e;l=0.0;f=g}else{l=0.0;f=g}}else l=+h[a+8>>3]-+h[a+32>>3]/(f*2.0);q=+h[a+24>>3]+f;r=q>y;s=a+48|0;t=((c[s>>2]|0)+1|0)/2|0;u=1.0/f;v=e/f*.5;w=a+8|0;n=b+40|0;o=0;p=0.0;g=l;while(1){n=c[n>>2]|0;if(!n)break;i=c[n>>2]|0;if(!i)i=0;else i=c[(c[(c[i+16>>2]|0)+112>>2]|0)+8>>2]|0;if((i|0)==(c[a>>2]|0)?(Sv(c[n+32>>2]|0)|0)>=1:0){l=+h[n+16>>3];m=l*u;do if(!x)if((c[s>>2]|0)==1){g=+h[w>>3];break}else{g=g+v+m;break}else{if(g!=0.0)g=(c[s>>2]|0)==2?3.141592653589793:m+g;j=g;k=k<0.0?g:k}while(0);G=+E(+g)*f;D=+F(+g)*f;Iv(n,G,D,+Jv(n,G,D,g));g=(x?(l+e)*u:m+v)+g;o=o+1|0;i=o;l=(o|0)==(t|0)?g:p}else{i=o;l=p}n=n+4|0;o=i;p=l}f=r?q:y;if((d|0)>1?(C=c[a>>2]|0,(C|0)==(c[b+44>>2]|0)):0)h[(c[(c[C+16>>2]|0)+112>>2]|0)+24>>3]=p;h[z>>3]=f;h[A>>3]=k;h[B>>3]=j;return}function Iv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=Sy(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;i=+h[k>>3];l=k+8|0;g=+h[l>>3];if(n){o=+E(+e);p=+F(+e);j=o*i-p*g;g=p*i+o*g}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=Ty(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Iv(f,b,d,e);f=f+4|0}return}function Jv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;m=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((Sv(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}l=c[a>>2]|0;n=l+16|0;i=c[(c[n>>2]|0)+132>>2]|0;f=+h[i>>3]+b;k=+h[i+8>>3]+d;f=k*k+f*f;i=Sy(m)|0;g=l;while(1){if(!i)break;if((i|0)!=(l|0)?(o=c[(c[i+16>>2]|0)+132>>2]|0,j=+h[o>>3]+b,k=+h[o+8>>3]+d,j=k*k+j*j,j<f):0){f=j;g=i}i=Ty(m,i)|0}if((l|0)!=(g|0)){j=+h[a+24>>3];k=+h[a+16>>3]-j;g=c[n>>2]|0;i=c[g+132>>2]|0;f=+h[i>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){d=+C(+(d*d+b*b));b=+K(+(+h[i+8>>3]),+(f+k));f=+E(+b);f=e+1.5707963267948966-b-+I(+((k-j/f)/d*f));break}else{f=+K(+(+h[i+8>>3]),+f);f=e+3.141592653589793-f-+h[(c[g+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function Kv(){return uH(12)|0}function Lv(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;D_(b);b=d}D_(a)}return}function Mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Nv(d)|0;d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=a+4|0;e=c[d>>2]|0;if((b|0)==0|(e|0)==(b|0)){c[(e|0?e+4|0:a)>>2]=f;c[f+8>>2]=e;e=0}else{e=b+4|0;d=c[e>>2]|0;c[e>>2]=f;c[f+8>>2]=b;e=d;d=d+8|0}c[d>>2]=f;c[f+4>>2]=e;return}function Nv(a){a=a|0;var b=0;b=uH(12)|0;c[b>>2]=a;return b|0}function Ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a>>2]|0;d=b;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function Qv(a){a=a|0;var b=0,d=0,e=0;d=Kv()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;Mv(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0} +function Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(a){a=a|0;z=a}function Hb(){return z|0}function Ib(a){a=a|0;c[45884]=a;return 0}function Jb(){return c[45884]|0}function Kb(a,b){a=a|0;b=b|0;Oa(0,a|0,b|0)|0;return}function Lb(a){a=a|0;c[46369]=a;return}function Mb(a){a=a|0;if(a|0)c[46363]=a;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=ZC()|0;cD(h,10976);cD(h,17220);cD(h,17440);Ow(1)|0;Nw(18)|0;Tz(1);while(1){a=Gy(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){_C(h,a,d)|0;bD(h,a,b,f,g)|0;WB(h,a)|0}$x(a)|0;a=191979}l=i;return e|0}function Ob(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{uI(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)FM(f);break}case 4:case 5:case 6:{rI(f,e,d);Rb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Pb(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[45885]|0)){c[45885]=c[4652];c[45886]=57;c[45887]=19}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=183540;switch(c[a+64>>2]|0){case 2:{hI(a,d,a,0);break}case 3:{hI(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}case 6:case 5:case 4:{Qb(d);if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Qb(b){b=b|0;var d=0,e=0;d=c[45889]|0;if((d|0)!=(c[45888]|0)){e=c[c[45920]>>2]|0;if(!e){e=LM(b,0,96782,191979)|0;c[c[45920]>>2]=e;d=c[45889]|0}if(d>>>0>=(c[45890]|0)>>>0){Uw(183552,1)|0;d=c[45889]|0}a[d>>0]=0;d=c[45888]|0;c[45889]=d;rx(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[45920]|0)+4>>2]|0;d=c[45905]|0;if(d>>>0>=(c[45906]|0)>>>0){Uw(183616,1)|0;d=c[45905]|0}a[d>>0]=0;d=c[45904]|0;c[45905]=d;rx(b,e,d)|0}Ax(b,66649,c[(c[45920]|0)+8236>>2]|0,191979)|0;d=0;while(1){if((d|0)==8)break;Xw(183552+(d<<4)|0);d=d+1|0}D_(c[45920]|0);h[1]=1.0;h[5]=1.0;c[45921]=0;c[45925]=0;return}function Rb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=C_(8240)|0;c[45920]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=66665;break}case 5:{b[i+8232>>1]=12;g=66669;break}default:{g=xx(d,66649)|0;if((g|0?a[g>>0]|0:0)?(h=Sb(g)|0,(h&65535)>10):0){i=c[45920]|0;b[i+8232>>1]=h;break a}g=Sb(66661)|0;i=c[45920]|0;b[i+8232>>1]=g;g=66661}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=LM(d,0,96782,191979)|0;i=c[45920]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=LM(d,0,66673,191979)|0;c[(c[45920]|0)+4>>2]=g;i=LM(d,1,96782,191979)|0;c[(c[45920]|0)+8>>2]=i;i=LM(d,1,66673,191979)|0;c[(c[45920]|0)+12>>2]=i;i=LM(d,2,96782,191979)|0;g=c[45920]|0;c[g+16>>2]=i;if(!f)h=0;else{h=LM(d,2,66681,191979)|0;g=c[45920]|0}c[g+20>>2]=h;if(!e)h=0;else{h=LM(d,2,66689,191979)|0;g=c[45920]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=LM(d,2,66673,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=LM(d,2,66697,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=LM(d,2,66706,191979)|0;g=c[45920]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;Tw(183552+(g<<4)|0,1024,(c[45920]|0)+40+(g<<10)|0);g=g+1|0}return}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;Pw(0,66715,h)|0}a[g+f>>0]=0;i=(a2(g)|0)&65535;l=j;return i|0}function Tb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[45920]>>2]|0;b=c[45893]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[45920]|0)+4>>2]|0;b=c[45909]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[45922]=0;c[45926]=0;return}function Ub(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+8>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+12>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[45929]=0;c[45931]=0;return}function Vb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+16>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45897]|0;if((c[45896]|0)!=(b|0)){d=c[(c[45920]|0)+24>>2]|0;if(b>>>0>=(c[45898]|0)>>>0){Uw(183584,1)|0;b=c[45897]|0}a[b>>0]=0;b=c[45896]|0;c[45897]=b;rx(e,d,b)|0}b=c[45901]|0;if((c[45900]|0)!=(b|0)){d=c[(c[45920]|0)+20>>2]|0;if(b>>>0>=(c[45902]|0)>>>0){Uw(183600,1)|0;b=c[45901]|0}a[b>>0]=0;b=c[45900]|0;c[45901]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+28>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}b=c[45913]|0;if((c[45912]|0)!=(b|0)){d=c[(c[45920]|0)+36>>2]|0;if(b>>>0>=(c[45914]|0)>>>0){Uw(183648,1)|0;b=c[45913]|0}a[b>>0]=0;b=c[45912]|0;c[45913]=b;rx(e,d,b)|0}b=c[45917]|0;if((c[45916]|0)!=(b|0)){d=c[(c[45920]|0)+32>>2]|0;if(b>>>0>=(c[45918]|0)>>>0){Uw(183664,1)|0;b=c[45917]|0}a[b>>0]=0;b=c[45916]|0;c[45917]=b;rx(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[45930]=0;c[45932]=0;c[45923]=0;c[45924]=0;c[45927]=0;c[45928]=0;return}function Wb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11416+(o<<2)>>2]|0;Ww(p,66812)|0;g=f+4|0;dc(k,+h[(c[g>>2]|0)+16>>3]);Ww(p,k)|0;gc(d,191979,c[c[g>>2]>>2]|0);ac(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[45920]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11464+((i&65535)+-15<<2)>>2]&g,n=183684+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;Y0(k,66815,r)|0;Ww(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];Ww(p,66821)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];cc(p,j);c[s>>2]=q;Y0(k,99194,s)|0;Ww(p,k)|0;dc(k,+h[f+32>>3]);Ww(p,k)|0;gc(d,191979,c[f>>2]|0);l=t;return}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;$b(a);ac(a);if(!d){a=c[11416+(e<<2)>>2]|0;Ww(a,66809)|0}else{if((d|1|0)==3)ic(a,d,b,2);else jc(a);a=c[11416+(e<<2)>>2]|0;Ww(a,66806)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];cc(a,f);dc(g,+h[b+16>>3]-+h[b>>3]);Ww(a,g)|0;dc(g,+h[b+24>>3]-+h[b+8>>3]);Ww(a,g)|0;l=i;return}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$b(a);ac(a);if(!d)bc(a,112,b,c);else{if((d|1|0)==3)ic(a,d,b,c);else jc(a);bc(a,80,b,c)}return}function Zb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$b(a);ac(a);if(!f)bc(a,66,b,c);else{if((f|1|0)==3)ic(a,f,b,c);else jc(a);bc(a,98,b,c)}return}function _b(a,b,c){a=a|0;b=b|0;c=c|0;$b(a);ac(a);bc(a,76,b,c);return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;Tw(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;Ww(m,66778)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];Y0(f,66792,i)|0;ec(f,0);Ww(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;gc(b,66797,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(b$(d,108075)|0)){d=i;continue a}break}case 98:{if(!(b$(d,108057)|0)){d=i;continue a}break}case 115:{if(!(b$(d,108062)|0)){d=i;continue a}break}default:{}}Ww(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}Ww(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;gc(b,66797,d);d=i}Xw(m)}l=n;return}function ac(a){a=a|0;fc((c[a+16>>2]|0)+16|0);gc(a,75730,190678);return}function bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11416+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;Y0(i,66742,j)|0;Ww(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];cc(h,j);b=b+1|0}l=k;return}function cc(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,+h[b>>3]);Ww(a,d)|0;dc(d,+gI(+h[b+8>>3]));Ww(a,d)|0;l=c;return}function dc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;Y0(a,66747,d)|0;ec(a,1);l=c;return}function ec(b,c){b=b|0;c=c|0;var d=0,e=0;d=A$(b,46)|0;if(!d){if(c|0){d=b+(W_(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function fc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;Y0(190678,75610,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;Y0(190678,66760,i)|0}l=j;return}function gc(a,b,d){a=a|0;b=b|0;d=d|0;hc(c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=W_(e)|0;c[h>>2]=d;c[h+4>>2]=i;Y0(g,66753,h)|0;Ww(b,g)|0;Ww(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function ic(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[45920]|0)+8232>>1]|0)<14)jc(b);else{Tw(w,1024,x+96|0);v=(d|0)==2;if(v){aN(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];cc(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];cc(w,t)}else{aN(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];cc(w,t);kc(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];cc(w,t);kc(w,q)}Ww(w,66803)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){lc(w,j,f);lc(w,+g[d>>2],u+96|0)}else{lc(w,0.0,f);lc(w,1.0,u+96|0)}Yw(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;gc(b,66800,v);Xw(w)}l=x;return}function jc(a){a=a|0;fc((c[a+16>>2]|0)+56|0);gc(a,66800,190678);return}function kc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,b);Ww(a,d)|0;l=c;return}function lc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;Y0(e,92597,f)|0;ec(e,1);fc(c);hc(a,e,190678);l=d;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;Ww(g,66909)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];cc(g,i);dc(f,+h[d+16>>3]-+h[d>>3]);Ww(g,f)|0;dc(f,+h[d+24>>3]-+h[d+8>>3]);Ww(g,f)|0;gc(a,191979,c[b+8>>2]|0);l=e;return}function nc(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=lC(c[a>>2]|0)|0;$C(b,c[(c[a+16>>2]|0)+8>>2]|0,67693,0)|0;mC(b);break}case 1:{uI(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function oc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[45933]|0)){c[45933]=c[4652];c[45934]=57;c[45935]=19}c[(c[e+64>>2]|0)+8>>2]=183732;pc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;qc(e,b,1,d);l=f;return}function pc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;pc(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Cw(11836,c[4555]|0)|0;Fz(a,1,137978,12,0);Fz(a,2,137978,12,0);Fz(a,0,137978,-12,0);f=rc(a,0,m)|0;j=Sy(a)|0;i=0;g=0;while(1){if(!j)break;if(!(z$(ry(j)|0,104980,7)|0)){k=g;g=sc(m,ry(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(yz(j,137978,0)|0)+8>>2]=g;h=Ex(a,j)|0;g=i;while(1){if(!h)break;c[(yz(h,137978,0)|0)+8>>2]=g;h=Gx(a,h)|0;g=g+1|0}j=Ty(a,j)|0;i=g;g=k}yw(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;tc(b,m);$B(b,94292)|0;uc(a,b,d,e);vc(a,b,e);$B(b,94263)|0;tc(b,c[e>>2]|0);if(n){c[o>>2]=f;fC(b,66912,o)}else{c[p>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66932,p)}xc(a,b,d,wc(a,b,d,e)|0,e);yc(a,b,d,e);$B(b,150517)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;tc(b,p);if(n)$B(b,107982)|0;else $B(b,75253)|0;l=q;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((fz(a)|0)!=(a|0)){e=b+1|0;c[(yz(a,137978,0)|0)+8>>2]=b;if(!(z$(ry(a)|0,104980,7)|0)){b=ry(a)|0;Kc(d,b,c[(yz(a,137978,0)|0)+8>>2]|0);b=e}else b=e}e=wA(a)|0;while(1){if(!e)break;a=rc(e,b,d)|0;e=xA(e)|0;b=a}return b|0}function sc(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function tc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;$B(a,90480)|0;b=b+-1|0}return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=ry(a)|0;tc(b,c[e>>2]|0);c[i>>2]=Bc(j,e)|0;fC(b,67020,i);if(d|0){$B(b,94263)|0;tc(b,c[e>>2]|0);j=(ey(a)|0)!=0;c[f>>2]=j?104626:134226;fC(b,67634,f);tc(b,c[e>>2]|0);j=(gy(a)|0)!=0;c[g>>2]=j?104626:134226;fC(b,67651,g)}l=h;return}function vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=fz(b)|0;j=c[b>>2]&3;f=sx(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=yx(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(b$(g,105198)|0)break}$B(d,94263)|0;tc(d,c[e>>2]|0);c[m>>2]=Bc(c[h>>2]|0,e)|0;fC(d,67070,m);if(a[k>>0]|0?Dc(c[h>>2]|0)|0:0){Ec(yx(b,f)|0,d,e);break}c[n>>2]=Bc(yx(b,f)|0,e)|0;fC(d,67077,n)}while(0);f=sx(i,j,f)|0}}while(0);l=o;return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=wA(a)|0;if(f){$B(b,94263)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(b,g);g=(d|0)!=0;if(g){$B(b,66994)|0;a=0;d=f}else{$B(b,67054)|0;tc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else $B(b,94263)|0;if(g)Cc(d,b,e);else{c[h>>2]=c[(yz(d,137978,0)|0)+8>>2];fC(b,134313,h)}d=xA(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0;a=1}}else a=0;l=i;return a|0}function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Sy(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}}else{$B(b,94263)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,66994)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,67008)|0;tc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(z$(ry(g)|0,104980,7)|0){do if(e)if(h){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else e=1;while(0);Ac(g,b,d,f)}g=Ty(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}return}function yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Sy(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Ex(a,f)|0)break;f=Ty(a,f)|0}$B(b,94263)|0;i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,66944)|0;i=(d|0)!=0;if(i)g=0;else{tc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Ex(a,f)|0;while(1){if(!h)break;do if(g)if(i){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else g=1;while(0);zc(h,b,d,e);h=Gx(a,h)|0}f=Ty(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0}while(0);return}function zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=c[(yz(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66970,g);tc(b,c[e>>2]|0);c[h>>2]=c[(yz(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66983,h);vc(a,b,e);$B(b,150517)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;tc(b,i);$B(b,75253)|0}l=j;return}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;tc(b,h);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=Bc(ry(a)|0,e)|0;fC(b,67020,g);vc(a,b,e);$B(b,150517)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;tc(b,h);$B(b,75253)|0}l=i;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=RM(b)|0;if(!(c[45936]|0)){Tw(183744,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{Ww(183744,67033)|0;break}case 92:{Ww(183744,93534)|0;break}case 47:{Ww(183744,67036)|0;break}case 8:{Ww(183744,67039)|0;break}case 12:{Ww(183744,67042)|0;break}case 10:{Ww(183744,67045)|0;break}case 13:{Ww(183744,67048)|0;break}case 9:{Ww(183744,67051)|0;break}default:{d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}c[45937]=d+1;a[d>>0]=f}}e=e+1|0}d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}a[d>>0]=0;d=c[45936]|0;c[45937]=d;if(a[g>>0]|0)D_(b);return d|0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;qc(a,b,0,c);a=wA(a)|0;while(1){if(!a)break;$B(b,94263)|0;Cc(a,b,c);a=xA(a)|0}return}function Dc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(b$(c,67591)|0)){b=1;break a}break}case 2:{if(!(b$(c,67597)|0)){b=1;break a}break}case 1:{if(!(b$(c,67604)|0)){b=1;break a}return (b$(c,67618)|0)==0|0}case 4:{if(!(b$(c,67611)|0)){b=1;break a}b=(b$(c,67626)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=oE(b)|0;if(!h){c[f>>2]=b;Pw(0,67082,f)|0;break}$B(d,150517)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(d,g);$B(d,67109)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else $B(d,94263)|0;Fc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;$B(d,150517)|0;tc(d,c[e>>2]|0);$B(d,94258)|0;pE(h)}while(0);l=i;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;tc(b,e);$B(b,94292)|0;tc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;fC(b,67112,f);tc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;fC(b,67125,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;fC(b,67112,z);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;fC(b,67112,i);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 6:{fC(b,67160,A+56|0);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 7:{fC(b,67172,A+64|0);tc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;fC(b,67184,j);tc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;fC(b,67206,k);tc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];fC(b,67222,m);tc(b,c[d>>2]|0);c[n>>2]=Bc(c[a+40>>2]|0,d)|0;fC(b,67239,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;fC(b,67112,o);tc(b,c[d>>2]|0);fC(b,67253,A+120|0);tc(b,c[d>>2]|0);c[p>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67270,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;fC(b,67112,q);tc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{fC(b,67253,A+144|0);tc(b,c[d>>2]|0);c[r>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67270,r);break a}case 1:{fC(b,67285,A+160|0);tc(b,c[d>>2]|0);Hc(b,a+16|0,d);break a}default:{fC(b,67304,A+168|0);tc(b,c[d>>2]|0);Ic(b,a+16|0,d);break a}}}case 10:{fC(b,67323,s);tc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];fC(b,67335,t);tc(b,c[d>>2]|0);c[u>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67351,u);break}case 11:{fC(b,67365,v);tc(b,c[d>>2]|0);c[w>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67377,w);break}case 15:{fC(b,67392,x);tc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];fC(b,67404,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;tc(b,z);$B(b,75253)|0;l=A;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;fC(a,67565,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)fC(a,97973,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;fC(a,67577,g);b=b+1|0}fC(a,67518,i);l=j;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;fC(a,67521,i);tc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;fC(a,67543,f);tc(a,c[d>>2]|0);Jc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;fC(a,67420,j);tc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,67448,f);tc(a,c[d>>2]|0);Jc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;fC(a,67476,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)fC(a,97973,i);o=+g[d+(f<<3)>>2];n=Bc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;fC(a,67487,j);f=f+1|0}fC(a,67518,k);l=m;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=nb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;Pw(0,67664,f)|0}}else{f=E_(1,16)|0;c[f+8>>2]=n1(b)|0;c[f+12>>2]=d;nb[c[a>>2]&63](a,f,1)|0}l=g;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function Nc(a){a=a|0;$B(a,68500)|0;return}function Oc(a){a=a|0;c[45940]=2;return}function Pc(a){a=a|0;c[45940]=1;return}function Qc(a){a=a|0;c[45940]=2;return}function Rc(a){a=a|0;c[45940]=0;return}function Sc(a){a=a|0;c[45940]=2;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[45940]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((W_(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=bd(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;fC(b,68445,o);l=p;return}function Uc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(ad(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}default:qa(135312,67785,163,67816)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45940]|0;_c(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45940]|0;_c(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);$c(a,b,d,1);l=f;return}function Xc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[45940]|0;if((d|0)<=3)qa(67778,67785,360,67805);t=C_((d*140|0)+140|0)|0;_c(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45940]|0;_c(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);$c(a,b,d,0);l=e;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function $c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function ad(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45941]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[187600+(g<<1)>>1]|0)-d|0;n=(b[188112+(g<<1)>>1]|0)-e|0;j=(b[188624+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45941]=k+1;if((k|0)==256)g=i;else{b[187600+(g<<1)>>1]=d;b[188112+(g<<1)>>1]=e;b[188624+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45942]|0;if(!d){c[45943]=64;d=C_(64)|0;c[45942]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45943]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45943]=d;d=F_(c[45942]|0,d)|0;c[45942]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45942]|0}function cd(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{$B(b,68116)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,150517)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,99578)|0;$B(b,qH(ry(c[e+8>>2]|0)|0)|0)|0;$B(b,150517)|0}break}case 3:{f=qH(ry(c[e+8>>2]|0)|0)|0;$B(b,68139)|0;$B(b,f)|0;$B(b,68149)|0;$B(b,f)|0;$B(b,68104)|0;break}default:{}}return}function dd(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);$B(a,68108)|0;break}default:{}}return}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;fd(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function fd(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[45944]|0)<(f|0)){c[45944]=m;o=F_(c[45945]|0,m<<3)|0;c[45945]=o}else o=c[45945]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;fC(b,67850,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;fC(b,67871,v);break a}case 2:{c[q>>2]=g;fC(b,67891,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[45945]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;fC(b,67899,w);m=m+1|0}$B(b,150517)|0;break a}default:qa(135312,67906,63,67926)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;fC(b,67943,r);break}else qa(135312,67906,75,67926)}if((m&-2|0)==2){switch(d|0){case 1:{$B(b,67976)|0;break}case 0:{$B(b,67997)|0;break}case 2:{$B(b,68016)|0;break}default:qa(135312,67906,91,67926)}if(k|0?a[k>>0]|0:0){$B(b,73496)|0;$B(b,tH(k)|0)|0;$B(b,95669)|0}if(e?a[g>>0]|0:0){$B(b,68035)|0;$B(b,tH(g)|0)|0;$B(b,95669)|0}if(j|0?a[j>>0]|0:0){$B(b,74455)|0;$B(b,qH(j)|0)|0;$B(b,95669)|0}if(i|0?a[i>>0]|0:0){$B(b,68043)|0;$B(b,qH(i)|0)|0;$B(b,95669)|0}$B(b,68052)|0;$B(b,68060)|0;b:do switch(d|0){case 1:{f=c[45945]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;fC(b,68070,s);break}case 0:{v=c[45945]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;fC(b,68079,t);break}case 2:{w=c[45945]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;fC(b,68091,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[45945]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;fC(b,68097,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){$B(b,73320)|0;break}else{$B(b,68104)|0;break}}}while(0);l=y;return}function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function hd(a){a=a|0;$B(a,68500)|0;return}function id(a){a=a|0;c[45946]=2;return}function jd(a){a=a|0;c[45946]=1;return}function kd(a){a=a|0;c[45946]=2;return}function ld(a){a=a|0;c[45946]=0;return}function md(a){a=a|0;c[45946]=2;return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[45946]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=xd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;fC(b,68445,m);l=n;return}function od(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(wd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}case 0:{f=0;k=10;break}default:qa(135312,68409,168,68428)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45946]|0;ud(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45946]|0;ud(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);vd(a,b,d,1);l=f;return}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[45946]|0;t=C_((d*140|0)+140|0)|0;ud(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45946]|0;ud(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);vd(a,b,d,0);l=e;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function wd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45947]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[189136+(g<<1)>>1]|0)-d|0;n=(b[189648+(g<<1)>>1]|0)-e|0;j=(b[190160+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45947]=k+1;if((k|0)==256)g=i;else{b[189136+(g<<1)>>1]=d;b[189648+(g<<1)>>1]=e;b[190160+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function xd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45948]|0;if(!d){c[45949]=64;d=C_(64)|0;c[45948]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45949]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45949]=d;d=F_(c[45948]|0,d)|0;c[45948]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45948]|0}function yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;$B(a,73228)|0;if((c[a+64>>2]|0)==2)$B(a,73243)|0;else $B(a,150517)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;fC(a,73254,b);l=d;return}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;$B(a,73182)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];fC(a,73193,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;fC(a,69562,f)}$B(a,73208)|0;$B(a,73221)|0;l=g;return}function Ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[190688]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=ry(c[h>>2]|0)|0;fC(b,69493,i);d=b+64|0;if((c[d>>2]|0)==2)$B(b,69526)|0;else $B(b,69508)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;fC(b,69562,f);break}else{$B(b,69538)|0;break}while(0);$B(b,69592)|0;jJ(b,c[(c[e>>2]|0)+24>>2]|0,13e3);lJ(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;jJ(b,0,i)}}c[45950]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[190688]|0)){$B(b,69612)|0;a[190688]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=mJ(d,c[45950]|0)|0;fC(b,69625,j)}l=k;return}function Bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;fC(a,69477,f);l=b;return}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;fC(a,69104,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;fC(a,69121,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69155:69165;fC(a,69174,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;fC(a,69199,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;fC(a,69238,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;fC(a,69258,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;fC(a,69298,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;ub[t&63](69341,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;fC(a,69436,r)}l=s;return}function Dd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){$B(a,69028)|0;jJ(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}$B(a,69045)|0;$B(a,69072)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];fC(a,69087,d);l=e;return}function Ed(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,69021,d);$B(a,69014)|0;l=b;return}function Fd(a){a=a|0;$B(a,84457)|0;return}function Gd(a){a=a|0;$B(a,69014)|0;return}function Hd(a){a=a|0;$B(a,84457)|0;return}function Id(a){a=a|0;$B(a,69014)|0;return}function Jd(a){a=a|0;$B(a,84457)|0;return}function Kd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){$B(a,68910)|0;jC(a,c[g>>2]|0,2);$B(a,68921)|0;c[d>>2]=mJ(b,c[45950]|0)|0;fC(a,68925,d)}l=e;return}function Ld(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Sd(b,f+16|0);i=e+4|0;gC(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];fC(b,68869,j);i=mJ(c[e>>2]|0,c[45950]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];iC(b,j);$B(b,68884)|0;gC(b,+h[f>>3]);c[k>>2]=i;fC(b,68893,k)}l=m;return}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Sd(a,e+56|0);jC(a,f,2);$B(a,68827)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[b>>2]|0)+16|0);jC(a,f,2);$B(a,68847)|0}l=g;return}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Sd(a,f+56|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68793)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[g>>2]|0)+16|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68809)|0}l=j;return}function Od(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68793)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68775)|0}l=k;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[e>>2]|0)+16|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];iC(a,f);$B(a,68766)|0;e=e+1|0}$B(a,68775)|0}l=g;return}function Qd(a,b){a=a|0;b=b|0;$B(a,68745)|0;$B(a,b)|0;$B(a,150517)|0;return}function Rd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];iC(a,g);c[k>>2]=e;c[k+4>>2]=b;fC(a,68662,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];iC(a,g);c[m>>2]=e;c[m+4>>2]=b;fC(a,68678,m)}l=n;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=108412;break}case 2:{d=108399;break}case 3:{d=108368;break}default:d=68714}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;fC(a,68721,e)}l=f;return}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;gC(b,+h[i+152>>3]);$B(b,68695)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(b$(f,108062)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;fC(b,68710,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(b$(f,131253)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;fC(b,93588,k);d=i}l=m;return}function Ud(b){b=b|0;var d=0;$B(b,74734)|0;d=xx(c[(c[b>>2]|0)+168>>2]|0,74790)|0;if(d|0?a[d>>0]|0:0){$B(b,74801)|0;$B(b,d)|0;$B(b,74825)|0}$B(b,74846)|0;$B(b,74894)|0;$B(b,74948)|0;d=b+12|0;$B(b,qH(c[c[c[d>>2]>>2]>>2]|0)|0)|0;$B(b,78077)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;$B(b,78087)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;$B(b,75330)|0;$B(b,75354)|0;return}function Vd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;$B(b,74569)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,74574,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;fC(b,74590,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;fC(b,74623,g);$B(b,74654)|0;$B(b,74690)|0;$B(b,76284)|0;l=i;return}function Wd(a){a=a|0;$B(a,74561)|0;return}function Xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;se(a,b,0,98484,c[(c[a+16>>2]|0)+8>>2]|0);$B(a,76284)|0;return}function Yd(a){a=a|0;$B(a,74409)|0;return}function Zd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;se(b,c[g+212>>2]|0,0,108412,c[d>>2]|0);$B(b,74513)|0;gC(b,+h[b+488>>3]);$B(b,99578)|0;gC(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);fC(b,74532,f);gC(b,+h[b+504>>3]);$B(b,99578)|0;gC(b,-+h[b+512>>3]);$B(b,74556)|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,74465)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0;$B(b,74473)|0}l=e;return}function _d(a){a=a|0;$B(a,74409)|0;return}function $d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,104980,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[b>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ae(a){a=a|0;$B(a,74409)|0;return}function be(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;se(a,c[d+212>>2]|0,b,108399,c[e>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[e>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ce(a){a=a|0;$B(a,74409)|0;return}function de(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,108368,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;b=pH(99069,c[b>>2]|0)|0;$B(a,qH(b)|0)|0;D_(b);$B(a,74473)|0;return}function ee(a){a=a|0;$B(a,74409)|0;return}function fe(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$B(b,74415)|0;if(f|0){$B(b,74418)|0;$B(b,qH(f)|0)|0;$B(b,95669)|0}$B(b,74308)|0;$B(b,76245)|0;if(c|0?a[c>>0]|0:0){$B(b,74426)|0;$B(b,c)|0;$B(b,95669)|0}if(d|0?a[d>>0]|0:0){$B(b,74440)|0;$B(b,rH(d,1)|0)|0;$B(b,95669)|0}if(e|0?a[e>>0]|0:0){$B(b,74455)|0;$B(b,qH(e)|0)|0;$B(b,95669)|0}$B(b,76284)|0;return}function ge(a){a=a|0;$B(a,76239)|0;$B(a,74409)|0;return}function he(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;$B(e,73940)|0;switch(a[g+48>>0]|0){case 108:{$B(e,73946)|0;break}case 114:{$B(e,73967)|0;break}default:$B(e,73986)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){$B(e,74008)|0;gC(e,+h[f>>3]);$B(e,74013)|0;gC(e,-G);$B(e,95669)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];fC(e,74019,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;fC(e,74036,p)}$B(e,95669)|0;if(f|0){c[r>>2]=f;fC(e,74040,r)}if(k|0){c[s>>2]=k;fC(e,74058,s)}if(!j)j=0;else{c[q>>2]=j;fC(e,74077,q)}}else{c[i>>2]=c[f>>2];fC(e,74094,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))fC(e,74112,t);if(!((j|0)!=0|(z&2|0)==0))fC(e,74132,u);if(z&100|0){fC(e,74153,v);if(!(z&4))f=0;else{fC(e,102960,w);f=1}if(z&64){c[y>>2]=f|0?97973:191979;fC(e,74172,y);f=1}if(z&32|0){c[A>>2]=f|0?97973:191979;fC(e,74183,A)}fC(e,95669,B)}if(z&8|0)fC(e,74198,C);if(z&16|0)fC(e,74222,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];fC(e,74244,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(O$(f,134232)|0){c[J>>2]=f;fC(e,74262,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;fC(e,74273,F);break}default:qa(135312,73454,486,74295)}$B(e,74308)|0;if(b[H>>1]&512){c[K>>2]=qH(c[I+212>>2]|0)|0;fC(e,74310,K);$B(e,74359)|0;gC(e,-G);$B(e,74377)|0}$B(e,rH(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)fC(e,74380,L);$B(e,74400)|0;l=M;return}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=pe(a,b,2)|0;break}case 3:{d=qe(a)|0;break}default:d=0}$B(a,73904)|0;ne(a,c,d);$B(a,73913)|0;gC(a,+h[b>>3]);$B(a,73919)|0;c=b+8|0;gC(a,-+h[c>>3]);$B(a,73926)|0;gC(a,+h[b+16>>3]-+h[b>>3]);$B(a,73933)|0;gC(a,+h[b+24>>3]-+h[c>>3]);$B(a,73320)|0;return}function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=pe(a,b,c)|0;break}case 3:{e=qe(a)|0;break}default:e=0}$B(a,73895)|0;ne(a,d,e);$B(a,73310)|0;e=0;while(1){if((e|0)>=(c|0))break;gC(a,+h[b+(e<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(e<<4)+8>>3]);$B(a,99578)|0;e=e+1|0}gC(a,+h[b>>3]);$B(a,97973)|0;gC(a,-+h[b+8>>3]);$B(a,73320)|0;return}function ke(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=pe(a,d,e)|0;break}case 3:{f=qe(a)|0;break}default:f=0}$B(a,73490)|0;if(b[g+260>>1]&512){$B(a,73496)|0;$B(a,qH(c[g+212>>2]|0)|0)|0;$B(a,73502)|0}ne(a,h,f);$B(a,73507)|0;re(a,d,e);$B(a,73320)|0;return}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;$B(a,73300)|0;ne(a,0,0);$B(a,73310)|0;d=0;while(1){if((d|0)>=(c|0))break;gC(a,+h[b+(d<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(d<<4)+8>>3]);$B(a,99578)|0;d=d+1|0}$B(a,73320)|0;return}function me(a,b){a=a|0;b=b|0;$B(a,73294)|0;$B(a,qH(b)|0)|0;$B(a,75354)|0;return}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;$B(b,73325)|0;a:do switch(d|0){case 2:{c[f>>2]=e;fC(b,73333,f);break}case 3:{c[g>>2]=e;fC(b,73344,g);break}case 0:{$B(b,132627)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,73355,j)}}}while(0);$B(b,73374)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);d=m+152|0;if(+h[d>>3]!=1.0){$B(b,73385)|0;gC(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73425;fC(b,73402,o);break}case 2:{c[n>>2]=73429;fC(b,73402,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;fC(b,73433,p)}while(0);$B(b,95669)|0;l=q;return}function oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,134297)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,73454,117,73474)}while(0);l=g;return}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[45952]|0;c[45952]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;aN(d,k,e,f,0);c[o>>2]=q;fC(b,73727,o);$B(b,73792)|0;gC(b,+h[k>>3]);$B(b,73797)|0;gC(b,+h[k+8>>3]);$B(b,73804)|0;gC(b,+h[k+16>>3]);$B(b,73811)|0;gC(b,+h[k+24>>3]);$B(b,73818)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;fC(b,73823,i)}else $B(b,73599)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;fC(b,96586,m)}else s=7;while(0);if((s|0)==7)$B(b,73650)|0;$B(b,73653)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;fC(b,73823,n)}else $B(b,73659)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;fC(b,96586,r)}else s=14;while(0);if((s|0)==14)$B(b,73650)|0;$B(b,73863)|0;l=t;return q|0}function qe(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[45951]|0;c[45951]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;fC(b,73515,k);$B(b,73599)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,96586,j)}else p=6;while(0);if((p|0)==6)$B(b,73650)|0;$B(b,73653)|0;$B(b,73659)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;fC(b,96586,o)}else p=10;while(0);if((p|0)==10)$B(b,73650)|0;$B(b,73695)|0;l=q;return n|0}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;fC(a,73512,g);gC(a,+h[b+(f<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function se(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;$B(b,74483)|0;$B(b,qH(d)|0)|0;if(e|0){c[h>>2]=qH(e)|0;fC(b,74491,h)}c[i>>2]=f;fC(b,74495,i);d=xx(g,74507)|0;if(d|0?a[d>>0]|0:0){$B(b,99578)|0;$B(b,qH(d)|0)|0}$B(b,95669)|0;l=j;return}function te(a){a=a|0;var b=0;$B(a,75314)|0;b=a+12|0;$B(a,De(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,75330)|0;return}function ue(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;$B(b,75291)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,De(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,75302,e);c[45953]=0;l=f;return}function ve(a){a=a|0;c[45953]=1;return}function we(a){a=a|0;c[45953]=-1;return}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){Ee(b);$B(b,75230)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];iC(b,i);$B(b,75244)|0;$B(b,c[e>>2]|0)|0;$B(b,75253)|0;$B(b,75051)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Fe(b,i);$B(b,75255)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;$B(b,95669)|0;$B(b,k)|0;$B(b,95669)|0;c[m>>2]=j;fC(b,75264,m);switch(a[e+48>>0]|0){case 108:{$B(b,75269)|0;break}case 114:{$B(b,75280)|0;break}default:{}}Ge(b);$B(b,150517)|0}l=n;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;Ee(a);$B(a,75216)|0;jC(a,b,2);$B(a,75051)|0;do if(!d)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){Ee(a);$B(a,75188)|0;jC(a,b,d);$B(a,75051)|0;do if(!e)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Fe(a,i);$B(a,75162)|0;gC(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){$B(a,75059)|0;e=c[k>>2]|0}if((e|0)==2)$B(a,75068)|0;$B(a,75171)|0;Ge(a);$B(a,150517)|0}l=m;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Fe(a,g);b=c[h>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[h>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=i;return}function Ce(a,b){a=a|0;b=b|0;$B(a,75034)|0;$B(a,De(b)|0)|0;$B(a,150517)|0;return}function De(a){a=a|0;return a|0}function Ee(b){b=b|0;if(!(a[b+144>>0]|0))$B(b,75159)|0;else $B(b,c[b+148>>2]|0)|0;return}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,94227)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75077,49,75141)}while(0);l=g;return}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=108399;e=f+8|0;break}case 10:{b=0;d=108399;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=108368;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=108368;e=f+8|0;break}case 0:{b=1;d=108412;e=f+8|0;break}case 4:{b=0;d=75113;e=f+8|0;break}case 1:{b=1;d=108412;e=f+8|0;break}case 5:{b=0;d=108412;e=f+8|0;break}default:qa(135312,75077,106,75096)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;fC(a,75125,g);l=h;return}function He(a){a=a|0;var b=0;$B(a,78049)|0;$B(a,78057)|0;b=a+12|0;$B(a,Se(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,78090)|0;return}function Ie(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[45957]=~~(+h[b+232>>3]-+h[b+216>>3]);c[45956]=~~(+h[b+224>>3]-+h[b+208>>3]);$B(b,76736)|0;$B(b,76743)|0;d=ry(c[d+8>>2]|0)|0;if(a[d>>0]|0){$B(b,76812)|0;$B(b,Se(d)|0)|0;$B(b,76820)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,76829,e);$B(b,76849)|0;$B(b,76884)|0;$B(b,76912)|0;$B(b,76918)|0;$B(b,76961)|0;$B(b,77002)|0;$B(b,77021)|0;$B(b,77038)|0;$B(b,77086)|0;$B(b,77139)|0;$B(b,77215)|0;$B(b,77291)|0;$B(b,77300)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77614)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77627)|0;$B(b,77635)|0;$B(b,77641)|0;$B(b,77655)|0;$B(b,77663)|0;$B(b,77696)|0;e=(c[45957]|0)+10|0;c[f>>2]=c[45956];c[f+4>>2]=e;fC(b,77773,f);$B(b,77803)|0;$B(b,77812)|0;$B(b,77870)|0;$B(b,77880)|0;$B(b,77945)|0;f=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=f;fC(b,77982,g);g=c[45957]|0;c[i>>2]=c[45956];c[i+4>>2]=g;fC(b,78010,i);l=j;return}function Je(a){a=a|0;$B(a,76287)|0;$B(a,76299)|0;$B(a,76307)|0;$B(a,76370)|0;$B(a,76299)|0;$B(a,76415)|0;$B(a,76464)|0;$B(a,76518)|0;$B(a,76299)|0;$B(a,76618)|0;$B(a,76667)|0;$B(a,76299)|0;$B(a,76719)|0;return}function Ke(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;$B(b,76245)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Se(d)|0;fC(b,76248,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Se(e)|0;fC(b,76259,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Se(f)|0;fC(b,76271,i)}$B(b,76284)|0;l=j;return}function Le(a){a=a|0;$B(a,76239)|0;return}function Me(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}B=j+-8.0;k=+((c[45957]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);fC(b,75901,n);h[o>>3]=B;h[o+8>>3]=k;fC(b,75838,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;fC(b,75862,p);$B(b,75936)|0;$B(b,75970)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];fC(b,76060,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;fC(b,76079,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;fC(b,76096,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;fC(b,76114,v)}}else{c[q>>2]=c[g>>2];fC(b,76060,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];fC(b,76130,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(O$(g,134232)|0){c[z>>2]=g;fC(b,76150,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;fC(b,76160,y);break}default:qa(135312,75624,438,76181)}$B(b,76194)|0;$B(b,Se(c[f>>2]|0)|0)|0;$B(b,76205)|0;$B(b,76228)|0;l=A;return}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;$B(a,75802)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[45957]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;fC(a,75838,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;fC(a,75862,f);We(a,d);$B(a,75684)|0;Ue(a);$B(a,75890)|0;l=e;return}function Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;$B(a,75407)|0;n=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=n;fC(a,75660,g);We(a,e);$B(a,75684)|0;Ue(a);$B(a,75687)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){$B(a,75714)|0;h[j>>3]=i;h[j+8>>3]=f;fC(a,75780,j);$B(a,75791)|0}else{h[k>>3]=i;h[k+8>>3]=f;fC(a,75780,k)}if((e|0)==(g|0))$B(a,75794)|0;e=e+1|0}$B(a,75523)|0;l=m;return}function Pe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;$B(a,75407)|0;h=c[45957]|0;c[e>>2]=c[45956];c[e+4>>2]=h;fC(a,75660,e);We(a,g);$B(a,75684)|0;Ue(a);$B(a,75687)|0;Xe(a,b,d);$B(a,75700)|0;l=f;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;$B(a,75407)|0;g=c[45957]|0;c[f>>2]=c[45956];c[f+4>>2]=g;fC(a,75444,f);$B(a,75484)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){$B(a,75496)|0;m=+((c[45957]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;fC(a,75500,i);$B(a,75511)|0}else{m=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;fC(a,75500,j)}if((e|0)==(f|0))$B(a,75515)|0;e=e+1|0}$B(a,75519)|0;Ue(a);$B(a,75523)|0;l=k;return}function Re(a,b){a=a|0;b=b|0;$B(a,75342)|0;$B(a,Se(b)|0)|0;$B(a,75354)|0;return}function Se(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[45954]|0;if(!d){c[45955]=64;d=vH(64)|0;c[45954]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[45955]|0;if((q|0)>(b+-8|0)){d=b<<1;c[45955]=d;d=xH(c[45954]|0,d)|0;c[45954]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=99127;t=26;break b}case 62:{e=4;b=99110;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=99121;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=99090;t=26;break b}case 39:{e=5;b=99115;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=A3(j|0,f|0,6)|0;g=s3(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Te(p)|0)==0;e=b?5:1;b=b?99104:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?99097:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=x3(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=w3(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){E1(75360,46,1,c[15686]|0)|0;Sa(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[45954]|0}return 0}function Te(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Ue(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;$B(a,75535)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ve(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;fC(a,75553,j)}switch(c[i+144>>2]|0){case 1:{$B(a,75570)|0;break}case 2:{$B(a,75588)|0;break}default:{}}$B(a,75605)|0;l=k;return}function Ve(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,132627)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75624,94,75644)}while(0);l=g;return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)$B(a,75763)|0;else{d=c[a+16>>2]|0;$B(a,75733)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ve(a,f);$B(a,75760)|0}l=g;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=75714;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[45957]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;fC(a,75717,g);e=(f|0)==0?75730:191979;f=f+1|0}$B(a,95669)|0;l=i;return}function Ye(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;$B(a,80347)|0;$B(a,80362)|0;$B(a,80401)|0;$B(a,80450)|0;c[e>>2]=134232;c[e+4>>2]=80538;fC(a,80519,e);c[d>>2]=134116;c[d+4>>2]=80544;fC(a,80519,d);l=b;return}function Ze(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79300,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;fC(a,79322,d);$B(a,79469)|0;$B(a,80299)|0;l=b;return}function _e(a){a=a|0;$B(a,79283)|0;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;fC(a,79253,h);g[45958]=+(O(d,-10)|0);l=f;return}function af(a){a=a|0;$B(a,79236)|0;return}function bf(a){a=a|0;$B(a,79218)|0;return}function cf(a){a=a|0;$B(a,79202)|0;return}function df(a){a=a|0;$B(a,79181)|0;g[45958]=+g[45958]+-2.0;return}function ef(a){a=a|0;$B(a,79162)|0;return}function ff(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79140,d);l=b;return}function gf(a){a=a|0;$B(a,79124)|0;return}function hf(a){a=a|0;$B(a,79106)|0;g[45958]=+g[45958]+-5.0;return}function jf(a){a=a|0;$B(a,79090)|0;g[45958]=+g[45958]+5.0;return}function kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;fC(b,78936,n);g[45959]=+g[45958]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=qf(b,78988,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=qf(b,78205,m)|0;f=+g[45959];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=qf(b,78237,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=rf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79075;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=qf(b,79e3,q)|0;$B(b,q)|0;D_(q);D_(i);D_(o);D_(d);D_(n);l=r;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;$B(a,78813)|0;g[45959]=+g[45958]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=qf(a,78173,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=qf(a,78205,e)|0;A=+g[45959];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=qf(a,78237,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=rf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=qf(a,78828,n)|0;$B(a,w)|0;D_(b);D_(e);D_(f);D_(v);D_(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=qf(a,78173,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=qf(a,78205,r)|0;A=+g[45959];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=qf(a,78237,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=rf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=qf(a,78874,y)|0;$B(a,y)|0;D_(f);D_(e);D_(b);D_(x);D_(y)}l=z;return}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;$B(a,78678)|0;g[45959]=+g[45958]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=qf(a,78173,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=qf(a,78205,m)|0;L=+g[45959]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=qf(a,78237,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,0.0)|0;c[f>>2]=78300;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=qf(a,78269,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=qf(a,78314,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=qf(a,78343,r)|0;D_(M);D_(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=qf(a,78314,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=qf(a,78343,t)|0;D_(x);D_(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=qf(a,78693,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=qf(a,78398,v)|0;D_(x);$B(a,M)|0;D_(k);D_(m);D_(n);D_(j);D_(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=qf(a,78173,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=qf(a,78205,z)|0;N=+g[45959]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=qf(a,78237,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,.25)|0;c[D>>2]=d;i=0;f=qf(a,78738,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=qf(a,78753,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=qf(a,78775,H)|0;D_(D);D_(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=qf(a,78785,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=qf(a,78398,J)|0;D_(I);$B(a,M)|0;D_(n);D_(m);D_(k);D_(j);D_(M)}l=K;return}function nf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;$B(a,78605)|0;g[45959]=+g[45958]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=qf(a,78173,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=qf(a,78205,s)|0;C=+g[45959]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=qf(a,78237,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=rf(a,e,0.0)|0;c[k>>2]=78619;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=qf(a,78269,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=qf(a,78314,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=qf(a,78343,w)|0;D_(k);D_(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=qf(a,78314,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=qf(a,78343,y)|0;D_(k);D_(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=qf(a,78628,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=qf(a,78398,A)|0;D_(b);$B(a,d)|0;D_(r);D_(s);D_(t);D_(n);D_(d);l=B;return}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;$B(a,78157)|0;g[45959]=+g[45958]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=qf(a,78173,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=qf(a,78205,n)|0;w=+g[45959];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=qf(a,78237,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=rf(a,e,0.0)|0;c[m>>2]=78300;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=qf(a,78269,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=qf(a,78314,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=qf(a,78343,s)|0;D_(x);D_(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=qf(a,78352,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=qf(a,78398,u)|0;D_(t);$B(a,x)|0;D_(q);D_(n);D_(o);D_(i);D_(x);l=v;return}function pf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,78138,e);l=d;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=q0(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=C_(g+1|0)|0;c[f>>2]=d;Z0(a,b,f)|0;break}else{a=n1(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=c$(c[(O_()|0)>>2]|0)|0;ub[a&63](78583,h);a=n1(191979)|0}while(0);l=i;return a|0}function rf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(b$(f,133220)|0)){c[k>>2]=78420;h[k+8>>3]=e;f=qf(a,78403,k)|0;break a}if(!(b$(f,130350)|0)){c[m>>2]=78424;h[m+8>>3]=e;f=qf(a,78403,m)|0;break a}if(!(b$(f,128349)|0)){c[p>>2]=78430;h[p+8>>3]=e;f=qf(a,78403,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=qf(a,78403,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=qf(a,78435,i)|0;break}default:{p=c[15686]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;g1(p,78474,j)|0;qa(135312,78524,436,78544)}}while(0);c[o>>2]=f;p=qf(a,78561,o)|0;D_(f);l=q;return p|0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=80990;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;fC(a,83609,g);f=ry(c[f+8>>2]|0)|0;c[e>>2]=80990;c[e+4>>2]=f;fC(a,83641,e);c[d>>2]=80990;fC(a,83655,d);l=b;return}function tf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=80990;fC(a,83557,d);l=b;return}function uf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4025]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}Gf();c[4025]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;fC(a,81177,m);c[n>>2]=80990;fC(a,81192,n);if(d>0.0){b=+j$(d);h[18829]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[18829]=b;h[B>>3]=b;h[B+8>>3]=b;fC(a,81361,B);c[S>>2]=80990;fC(a,81396,S);c[o>>2]=80990;fC(a,81454,o);c[p>>2]=80990;fC(a,81514,p);c[q>>2]=80990;fC(a,81563,q);c[r>>2]=80990;fC(a,81602,r);c[s>>2]=80990;fC(a,81653,s);c[t>>2]=80990;fC(a,81715,t);c[u>>2]=80990;fC(a,81825,u);c[v>>2]=80990;fC(a,81916,v);c[w>>2]=80990;fC(a,81970,w);c[x>>2]=80990;fC(a,82039,x);fC(a,82075,y);c[z>>2]=80990;fC(a,82200,z);c[A>>2]=80990;fC(a,82229,A);fC(a,82269,C);c[E>>2]=80990;fC(a,82362,E);c[F>>2]=80990;fC(a,82421,F);c[G>>2]=80990;fC(a,82502,G);fC(a,82572,H);c[I>>2]=80990;fC(a,82661,I);c[J>>2]=80990;fC(a,82766,J);c[K>>2]=80990;fC(a,82842,K);c[L>>2]=80990;fC(a,82881,L);c[M>>2]=80990;fC(a,82980,M);c[N>>2]=80990;fC(a,83026,N);fC(a,83115,O);c[P>>2]=80990;fC(a,83156,P);c[Q>>2]=80990;fC(a,83239,Q);c[R>>2]=80990;fC(a,83340,R);h[T>>3]=e;h[T+8>>3]=d;fC(a,83404,T);fC(a,83432,U);fC(a,83440,V);l=W;return}function vf(a){a=a|0;var b=0;b=l;l=l+16|0;fC(a,81170,b);l=b;return}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[45960]|0;if(d|0?(b$(d,f)|0)==0:0)break;c[o>>2]=Ef(f)|0;fC(b,81069,o);o=c[m>>2]|0;c[45960]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[45961]|0)){j=+h[18829];c[p>>2]=f;h[p+8>>3]=j;fC(b,81077,p);c[45961]=f}c[q>>2]=Ff(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;fC(b,81098,q);l=r;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?81011:191979;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;fC(a,81017,f);l=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,1);l=e;return}function zf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=C_((d*140|0)+140|0)|0;Cf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(Y0(j,80995,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;fC(a,81002,q);D_(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,s);e=e+1|0}$B(a,150517)|0;l=t;return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,0);l=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=80990;c[e+4>>2]=b;fC(a,80983,e);l=d;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function Ef(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15828;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(b$(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81151;c[f+4>>2]=b;Pw(1,81125,f)|0;d=o1(b,45)|0;if(!d){d=81168;break}a[d>>0]=0}l=h;return d|0}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45962]|0;if(!d){c[45963]=64;d=C_(64)|0;c[45962]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45963]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45963]=d;d=F_(c[45962]|0,d)|0;c[45962]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45962]|0}function Gf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81151;c[b+4>>2]=83548;Pw(0,83530,b)|0;l=a;return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;fC(a,84128,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,84170,f);l=e;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;fC(a,84215,f);$B(a,84307)|0;l=e;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)qa(108200,84312,212,84331);if(!b)qa(108230,84312,213,84331);p=b+8|0;if(!(c[p>>2]|0))qa(108233,84312,214,84331);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){fC(a,84352,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;fC(a,84355,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;fC(a,84355,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;fC(a,84362,n)}fC(a,84352,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;fC(a,84355,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;fC(a,84355,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;fC(a,84377,s)}l=t;return}function Lf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)qa(108200,84312,153,84393);if(!d)qa(108230,84312,154,84393);if(!(c[d+8>>2]|0))qa(108233,84312,155,84393);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==98)g=18;else{tb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((zC(d)|0)<<24>>24))break;f=j3(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){J1(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=U_(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=98;AC(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;fC(b,84411,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];fC(b,84442,m)}else kJ(b,d);fC(b,84457,n)}l=o;return}function Mf(a){a=a|0;S_(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)qa(108200,84312,121,84467);e=c[a+16>>2]|0;if(!e)qa(96876,84312,123,84467);if(!b)qa(108230,84312,124,84467);d=b+8|0;if(!(c[d>>2]|0))qa(108233,84312,125,84467);if(!(c[e+8>>2]|0))qa(135797,84312,128,84467);else{fC(a,84487,g);fC(a,84496,g+8|0);fC(a,84523,g+16|0);fC(a,84548,g+24|0);fC(a,84577,g+32|0);fC(a,84605,g+40|0);c[f>>2]=c[d>>2];fC(a,84612,f);fC(a,84651,g+56|0);fC(a,107982,g+64|0);l=g;return}}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)qa(108200,84312,97,84656);if(!b)qa(108230,84312,98,84656);e=c[b+8>>2]|0;if(!e)qa(108233,84312,99,84656);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;fC(a,84675,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;fC(a,84733,g);l=i;return}}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)qa(108200,84312,53,84765);if(!b)qa(108230,84312,54,84765);e=b+8|0;if(!(c[e>>2]|0))qa(108233,84312,55,84765);$B(a,84784)|0;$B(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;fC(a,84913,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;fC(a,84804,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;fC(a,84883,m)}$B(a,84992)|0;l=o;return}function Qf(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;Rf(b);b=Ty(a,b)|0}c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;Sf(b);b=Gx(a,b)|0}c=Ty(a,c)|0}return}function Rf(a){a=a|0;var b=0,d=0;Az(a,134365,304,1)|0;dM(a);bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=uH(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=uH(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=uH(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=uH(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=uH(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Sf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;Az(d,134378,176,1)|0;eM(d)|0;h=KL(d,c[46404]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=NL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[46398]|0,191979)|0;i=NL(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[46398]|0,191979)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Ok(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(KL(d,c[46417]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(KL(d,c[46405]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Tf(a){a=a|0;var b=0,d=0;Uf(c[(c[a+16>>2]|0)+192>>2]|0);d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}Vf(d);d=Ty(a,d)|0}Wf(a);return}function Uf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Xf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}D_(d);D_(b);b=g}return}function Vf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){D_(d);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)tb[c[(c[b+4>>2]|0)+4>>2]&127](a);Cz(a,134365)|0;return}function Wf(a){a=a|0;var d=0,e=0,f=0;d=wA(a)|0;while(1){if(!d)break;Wf(d);d=xA(d)|0}if(Az(a,134401,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){D_(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;D_(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){D_(e+-64|0);break}else{D_(e);break}}while(0);if((fz(a)|0)!=(a|0)){nH(c[(c[f>>2]|0)+12>>2]|0);Cz(a,134401)|0}}return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a}return}function Yf(a){a=a|0;if(ay(a)|0)Zf(a);eJ(a);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=YD(a,-1,8)|0;d=ZD(a,0,f)|0;XD(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)_f(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=rD(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){_f(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){_f(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;$f(b,a);_f(b);d=d+1|0;b=c[g>>2]|0}ag(a);WD(c[g>>2]|0,e,a,f)|0;bg(a);cg(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;D_(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Wf(c[f>>2]|0);dz(a,c[f>>2]|0)|0;b=b+1|0}D_(e)}l=h;return}function _f(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=KL(a,nx(a,0,85007,0)|0,-1,1)|0;$M(a,10);d=Nk(a,e)|0;eg(a,a);Qf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){zj(a,d);if(f){d=3;break}if(c[g>>2]|0){Pw(0,85013,k)|0;c[e>>2]=0;d=0}Jh(a,(d|0)!=0&1);if(h){d=7;break}Mi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)fg(a,1);else if((d|0)==7)fg(a,2);else if((d|0)==9)fg(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)gg(a);tk(a);kg(a);if((QL(xx(a,85104)|0)|0)<<24>>24)nl(a)}l=m;return}function $f(b,d){b=b|0;d=d|0;var e=0,f=0;Az(b,134401,280,1)|0;e=uH(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function ag(a){a=a|0;var b=0,d=0,e=0;b=uH((ay(a)|0)<<4)|0;d=Sy(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=Ty(a,d)|0}return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=Ty(a,d)|0}D_(e);return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=uH((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=qD(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;dg(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Az(d,134401,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=uH((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=qD(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;dg(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function eg(a,b){a=a|0;b=b|0;if((fz(a)|0)!=(a|0))Az(a,134401,280,1)|0;if((a|0)==(b|0))c[(c[(fz(a)|0)+16>>2]|0)+188>>2]=a;a=wA(a)|0;while(1){if(!a)break;eg(a,b);a=xA(a)|0}return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=nx(a,1,87076,191979)|0;g=nx(a,1,85147,191979)|0;h=(b|0)>0;d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],Y0(e,134313,j)|0,rx(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];Y0(e,134313,k)|0;rx(b,g,e)|0}b=Ty(a,b)|0}l=m;return}function gg(a){a=a|0;var b=0,c=0,d=0;c=vA(a,86580,0)|0;if(c|0){b=Sy(c)|0;while(1){if(!b)break;d=Ty(c,b)|0;sh(a,b);hg(a,b);Vf(b);cz(a,b)|0;b=d}zA(a,c)|0}return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)qa(85113,85120,248,85130);return}function ig(a){a=a|0;return c[(c[(fz(a)|0)+16>>2]|0)+188>>2]|0}function jg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function kg(a){a=a|0;lg(a,1);return}function lg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{Pw(0,85153,f)|0;A=9}}else if(X<<16>>16==8){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){cN(d,0);n=0;m=0;k=0;break}else{ng(d);cN(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){ll(d);if(qJ()|0)break;W=uH(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=uH(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_<y?y:_)}else g=I;B=f+-16|0;z=g+16|0;x=0;t=L;r=M;q=j;u=E;v=m;g=k;f=p;while(1){if((x|0)>=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?(kb[c[17300>>2]&63](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{og(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=xH(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;og(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=xH(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}og(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=xH(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)qa(85221,85234,313,85247);c[Y>>2]=H;c[F>>2]=I;_0(E,L,4,58);c[W+84>>2]=uH((D<<5)+11520|0)|0;c[Y+16>>2]=uH(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=rg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(rg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=uH(w<<2)|0;c[f>>2]=rg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}AJ(d,f,w,P,17296);if((w|0)>1)D_(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){sg(d,Y,W,M,x,w,P);x=u;continue}else{tg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);YK(W,M,x,w,y,+((f|0)/2|0|0),17296);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)kM(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);kM(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{ug(d);n=W;k=W}}f:do if((c[46427]|0)!=0|(c[46428]|0)!=0?(c[46433]|0)!=0|(c[46432]|0)!=0:0){j=Sy(d)|0;while(1){if(!j)break f;g:do if(c[46427]|0){f=Hx(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){eL(i,1)|0;kM(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Ix(d,f)|0}}while(0);h:do if(c[46428]|0){f=Ex(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?eL(f,0)|0:0)kM(d,c[(c[g>>2]|0)+104>>2]|0);f=Gx(d,f)|0}}while(0);j=Ty(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{D_(m);D_(c[n+84>>2]|0);D_(k);D_(c[Y+16>>2]|0);rJ()}}c[46367]=1;c[46368]=1}while(0);l=Z;return}function mg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=Ty(a,b)|0}return}function ng(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;qg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}kM(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)qa(85421,85234,234,85440);else if((d|0)==12)return}function og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=rg(C)|0;r=rg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){F3(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{F3(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function qg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function rg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function sg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){F3(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Sg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Tg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Vg(b,d,e,o,q,y,1);Vg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[18830]=G;h[18831]=E;k=k+1|0;C=+(k|0);D=v*C;h[18832]=F+D;C=E+m*C;h[18833]=C;h[18834]=G;h[18835]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[18836]=G;h[18837]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[18840]=G;h[18839]=F;h[18838]=E-D;h[18841]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=150640+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];SK(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);o=n}if(p)n=sJ(e,A)|0;else n=yJ(e,A)|0;o=c[A>>2]|0;if(!o)break a;QK(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17296);c[q>>2]=0}}Ug(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Rg(b,f,g,i,q,j);l=B;return}function tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[45964]|0)){c[45964]=vH(32e3)|0;c[45965]=vH(32e3)|0;c[45966]=2e3;c[45967]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;F3(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{F3(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=rg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=xg(b,K,c[45964]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;yg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];TK(e,K,1,T,zg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if((kb[c[17300>>2]&63](p)|0)<<24>>24)break b;o=t|1;ca=150640+(t<<5)|0;Bg(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=Cg(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=150640+(o<<5)|0;yg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}yg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];WK(e,u,1,U,zg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;Dg(e,I,u,T,U,o);if(!G){k=yJ(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];G3(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=sJ(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[45966]|0)){c[45966]=p<<1;t=xH(c[45964]|0,p<<5)|0;c[45964]=t;o=c[X>>2]|0}else t=c[45964]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=Eg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;Fg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;yg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];TK(e,o,1,T,zg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=150640+(t<<5)|0;Bg(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];yg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;WK(e,r?Y:u,1,U,zg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}Dg(e,I,u,T,U,k);if(G)q=sJ(e,X)|0;else q=yJ(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];G3(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[45966]|0)){c[45966]=n<<1;p=xH(c[45964]|0,n<<5)|0;c[45964]=p;k=c[X>>2]|0}else p=c[45964]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;Fg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){QK(K,c[_>>2]|0,c[45964]|0,v,17296);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[45966]|0;if((k|0)>(c[45967]|0)){c[45967]=k;o=xH(c[45965]|0,k<<4)|0;c[45965]=o;n=c[45964]|0}else o=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}QK(K,c[_>>2]|0,o,v,17296);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;F3(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}QK(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17296);q=q+1|0}}while(0);l=ba;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;if((kb[c[4324]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)vg(e);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=vH(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}wg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;D_(c[d+(b*48|0)>>2]|0);b=b+1|0}D_(d);c[a>>2]=g;return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=vH(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Pg(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Pg(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Pg(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Pg(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Qg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function yg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=Lg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=Mg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=Lg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=Mg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j<o)j=p}p=+h[q+24>>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function zg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{Kg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{Kg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function Cg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function Dg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Hg(b,-1)|0;b=Hg(b,1)|0;if(!((h|0)!=0?!(fL(h)|0):0))i=3;do if((i|0)==3){if(b|0?(fL(b)|0)==0:0)break;h=Ig(d,-1)|0;b=Ig(d,1)|0;if(h|0?(fL(h)|0)==0:0)break;if(b|0?(fL(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];SK(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=150640+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];SK(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];SK(a,j);h=b}Jg(a,d,i)}while(0);l=k;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Fg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if((kb[c[17300>>2]&63](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){Gg(j,i,~~((f+g)*.5),~~f);break}else{Gg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0<e)){g=j;continue}h[f>>3]=e+16.0;g=j}return}function Kg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Lg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Og(b,d,e,f)|0)<<24>>24!=0);return b|0}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ng(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ng(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function Og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Rg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((HJ(J)|0)!=2?(HJ(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Tg(J,B,d,e,f,i);break}else{Yg(J,B,d,e,f,i,g);break}y=uH(156)|0;z=Zg(b,y)|0;t=vA(z,85383,1)|0;Az(t,134401,280,1)|0;zx(t,87076,87090)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=_g(t,q)|0;u=_g(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=$g(z,t,u,o)|0;else k=$g(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=Rx(z,t,u,0,1)|0;else x=g;rx(x,c[46404]|0,85387)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;$M(z,i);Qf(z);zj(z,0);Jh(z,0);Mi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}tk(z);lg(z,0);eJ(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=PK(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];YE((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;kM(b,T)}}r=r+1|0}bh(z,y)}else Q=3;while(0);if((Q|0)==3?(c[45968]|0)==0:0){c[45968]=1;Pw(0,85260,O)|0;Q=ry(J)|0;S=(ey(b)|0)!=0;T=ry(B)|0;c[P>>2]=Q;c[P+4>>2]=S?134656:138665;c[P+8>>2]=T;Pw(3,85366,P)|0}l=R;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Vg(b,d,e,p,f,t,1);Vg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[18830]=A;h[18831]=+h[t+56+(m<<5)+24>>3];h[18832]=E;h[18833]=B;h[18834]=A;h[18835]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[18836]=A;h[18837]=D;h[18838]=C;h[18841]=B;h[18839]=+h[v+56+(i<<5)+24>>3];h[18840]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];SK(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=150640+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];SK(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];SK(e,u);j=i}if((g|0)==10)j=sJ(e,w)|0;else j=yJ(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Pg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Pg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)QK(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17296);l=z;return}function Tg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Pg(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Pg(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Xg(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Xg(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Xg(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Xg(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Xg(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Xg(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Xg(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Xg(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;QK(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17296);i=i+z;b=b+1|0}l=N;return}function Ug(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Wg(a,d,e,q,j,w,1);Wg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[18830]=D;h[18833]=B;m=m+1|0;z=+(m|0);A=s*z;h[18832]=C+A;z=B-n*z;h[18831]=z;h[18834]=D;h[18837]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[18836]=D;h[18835]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[18840]=D;h[18841]=C;h[18838]=B-A;h[18839]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=150640+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];SK(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);p=o}if(a)o=yJ(e,v)|0;else o=sJ(e,v)|0;p=c[v>>2]|0;if(!p)break;QK(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17296);c[d>>2]=0}l=x;return}function Vg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Wg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Xg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Yg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=uH(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}_0(U,g,4,59);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Pg(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Pg(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];QK(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17296);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0;p=t}D_(U)}while(0);l=Y;return}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(ey(b)|0)==0;j=j?18488:18480;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=Xx(85398,f,0)|0;Az(f,134401,280,1)|0;nx(f,0,87076,191979)|0;j=uH(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=sx(fz(b)|0,1,0)|0;while(1){if(!e)break;nx(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,1,e)|0}e=sx(fz(b)|0,2,0)|0;while(1){if(!e)break;nx(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,2,e)|0}if(!(nx(f,2,108382,0)|0))nx(f,2,108382,191979)|0;if(!(nx(f,2,108373,0)|0))nx(f,2,108373,191979)|0;ch(f,d);l=g;return f|0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=az(a,ry(b)|0,1)|0;Az(a,134365,304,1)|0;Bx(b,a)|0;if((HJ(b)|0)==2){f=b+16|0;b=vH((W_(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];Y0(b,85393,d)|0;zx(a,105198,b)|0}l=e;return a|0}function $g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=Rx(a,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(d,c)|0;return c|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Pg(a,f,g);l=i;return}function bh(a,b){a=a|0;b=b|0;c[46419]=c[b>>2];c[46423]=c[b+4>>2];c[46424]=c[b+8>>2];c[46404]=c[b+12>>2];c[46405]=c[b+16>>2];c[46411]=c[b+20>>2];c[46410]=c[b+24>>2];c[46409]=c[b+28>>2];c[46435]=c[b+32>>2];c[46427]=c[b+36>>2];c[46412]=c[b+40>>2];c[46422]=c[b+44>>2];c[46431]=c[b+48>>2];c[46430]=c[b+52>>2];c[46429]=c[b+56>>2];c[46434]=c[b+60>>2];c[46428]=c[b+64>>2];c[46413]=c[b+68>>2];c[46375]=c[b+72>>2];c[46376]=c[b+76>>2];c[46377]=c[b+80>>2];c[46387]=c[b+84>>2];c[46380]=c[b+88>>2];c[46381]=c[b+92>>2];c[46382]=c[b+96>>2];c[46384]=c[b+100>>2];c[46385]=c[b+104>>2];c[46388]=c[b+108>>2];c[46391]=c[b+112>>2];c[46389]=c[b+116>>2];c[46390]=c[b+120>>2];c[46393]=c[b+124>>2];c[46392]=c[b+128>>2];c[46394]=c[b+132>>2];c[46395]=c[b+136>>2];c[46386]=c[b+140>>2];c[46398]=c[b+144>>2];c[46370]=c[b+148>>2];c[46367]=c[b+152>>2];D_(b);Tf(a);$x(a)|0;return}function ch(a,b){a=a|0;b=b|0;c[b>>2]=c[46419];c[b+4>>2]=c[46423];c[b+8>>2]=c[46424];c[b+12>>2]=c[46404];c[b+16>>2]=c[46405];c[b+20>>2]=c[46411];c[b+24>>2]=c[46410];c[b+28>>2]=c[46409];c[b+32>>2]=c[46435];c[b+36>>2]=c[46427];c[b+40>>2]=c[46412];c[b+44>>2]=c[46422];c[b+48>>2]=c[46431];c[b+52>>2]=c[46430];c[b+56>>2]=c[46429];c[b+60>>2]=c[46434];c[b+64>>2]=c[46428];c[b+68>>2]=c[46413];c[b+72>>2]=c[46375];c[b+76>>2]=c[46376];c[b+80>>2]=c[46377];c[b+84>>2]=c[46387];c[b+88>>2]=c[46380];c[b+92>>2]=c[46381];c[b+96>>2]=c[46382];c[b+100>>2]=c[46384];c[b+104>>2]=c[46385];c[b+108>>2]=c[46388];c[b+112>>2]=c[46391];c[b+116>>2]=c[46389];c[b+120>>2]=c[46390];c[b+124>>2]=c[46393];c[b+128>>2]=c[46392];c[b+132>>2]=c[46394];c[b+136>>2]=c[46395];c[b+140>>2]=c[46386];c[b+144>>2]=c[46398];c[b+152>>2]=c[46367];c[b+148>>2]=c[46370];c[46419]=0;c[46423]=nx(a,2,87317,0)|0;c[46424]=nx(a,2,87326,0)|0;b=nx(a,2,98515,0)|0;c[46404]=b;if(!b)c[46404]=nx(a,2,98515,191979)|0;c[46405]=0;c[46411]=0;c[46410]=nx(a,2,98411,0)|0;c[46409]=nx(a,2,98402,0)|0;c[46435]=nx(a,2,98691,0)|0;c[46427]=0;c[46412]=nx(a,2,105198,0)|0;c[46422]=nx(a,2,85403,0)|0;c[46431]=0;c[46430]=nx(a,2,98591,0)|0;c[46429]=nx(a,2,98577,0)|0;c[46434]=nx(a,2,98682,0)|0;c[46428]=0;c[46413]=0;c[46375]=nx(a,1,137966,0)|0;c[46376]=nx(a,1,138034,0)|0;c[46377]=nx(a,1,105204,0)|0;c[46387]=0;c[46380]=nx(a,1,98402,0)|0;c[46381]=nx(a,1,98411,0)|0;c[46382]=0;c[46384]=nx(a,1,105198,0)|0;c[46385]=0;c[46388]=0;c[46391]=nx(a,1,98383,0)|0;c[46389]=nx(a,1,137994,0)|0;c[46390]=nx(a,1,98446,0)|0;c[46393]=nx(a,1,98458,0)|0;c[46392]=nx(a,1,98322,0)|0;c[46394]=nx(a,1,98463,0)|0;c[46395]=nx(a,1,85415,0)|0;c[46386]=0;c[46398]=0;c[46370]=nx(a,0,98383,0)|0;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0}function eh(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=gh(a,f,b,e)|0;l=d;return b|0}function gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=gh(a,f,b,e)|0;l=d;return b|0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=vH((c[d+184>>2]<<2)+8|0)|0;else b=xH(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function kh(a){a=a|0;if(!a)qa(85456,85466,117,85475);else{jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function lh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=vH((c[d+208>>2]<<2)+8|0)|0;else b=xH(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function mh(a){a=a|0;nh(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=vH((e<<2)+8|0)|0;else d=xH(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function oh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=uH(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=uH(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;return ih(oh(a,b,c)|0)|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))qa(85492,85466,215,85508);else return}function rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))qa(85518,85466,220,85525);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)qa(85538,85466,221,85525);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(th(a,b)|0))qa(85557,85466,231,85578);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function th(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function uh(b){b=b|0;var d=0,e=0,f=0,g=0;d=uH(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=uH(304)|0;c[d+24>>2]=fz(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=uH(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=uH(20)|0;c[(c[e>>2]|0)+180>>2]=f;qh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=vH((c[e+192>>2]<<2)+8|0)|0;else e=xH(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=vH((c[e+200>>2]<<2)+8|0)|0;else e=xH(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(ig(b)|0)+16>>2]|0)+240>>0]=1;return}function wh(a){a=a|0;var b=0,d=0;if(!a)qa(85456,85466,269,85595);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;yh(a,b);break}else qa(87498,85466,340,85633);else Pw(0,85612,f)|0;while(0);l=f;return}function yh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function zh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;Ah(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))Bh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;Ah(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function Ah(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)qa(85456,85466,128,85646);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))jh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){jh(d,a);b=c[a>>2]|0}f=f+1|0}return}function Ch(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[18484]|0;a[n+1>>0]=a[18485]|0;a[n+2>>0]=a[18486]|0;a[n+3>>0]=a[18487]|0;d=Xx(85668,n,0)|0}c[o>>2]=g;Y0(m,134313,o)|0;t=az(d,m,1)|0;Az(t,91080,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((ay(d)|0)>1)Dh(d,h);$x(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=Sy(a)|0;a:while(1){if(!h)break;i=Ty(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))Rx(a,h,g,0,1)|0}else{Rx(a,g,h,0,1)|0;d=1}g=Ty(a,g)|0}}do if(d|0){h=vA(a,85671,1)|0;j=uH((ay(a)|0)<<2)|0;i=uH((ay(a)|0)<<2)|0;f=b+4|0;e=Sy(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?cy(a,e,1,1)|0:0){c:do if(Eh(a,e,h,i)|0){g=ay(h)|0;if((Fh(a,h,j)|0)!=(g|0)){d=17;break b}_0(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Hh(h)}e=Ty(a,e)|0}if((d|0)==17)qa(85676,85686,265,85697);else if((d|0)==23){D_(j);break}}while(0);return}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((ay(d)|0)<<2)>>2]=h;Xy(d,b,1)|0;h=Ex(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Gx(a,h)|0}h=Hx(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Ix(a,h)|0}return f|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Ih(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];cz(b,e)|0;e=Ex(a,e)|0;while(1){if(!e)break;g=Gx(a,e)|0;Ux(a,e)|0;e=g}f=f+1|0}return f|0}function Gh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Hh(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;c=Ty(a,b)|0;cz(a,b)|0;b=c}return}function Ih(a,b){a=a|0;b=b|0;var c=0;c=Sy(b)|0;while(1){if(!c){c=0;break}if(!(cy(a,c,1,0)|0))break;c=Ty(b,c)|0}return c|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Kh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Lh(b,f);f=f+1|0;e=(Mh(b,0,d)|0)+e|0}Nh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Oh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=xx(b,85711)|0;if(f|0?(QL(f)|0)<<24>>24==0:0)break;ll(b);a[190689]=1;e=Mh(b,2,d)|0}while(0);Ph(b,e);return}function Kh(d){d=d|0;var e=0;if(0)EL();a[190689]=0;c[45971]=d;e=((by(ig(d)|0)|0)<<2)+4|0;c[45970]=uH(e)|0;c[45969]=uH(e)|0;Fi(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Gi(d);Uk(d);Il(d,1);Hi(d);Wh(d);e=c[e>>2]|0;c[45972]=b[e+236>>1];c[45973]=b[e+238>>1];return}function Lh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=ki(0)|0;li(a)}else e=2147483647;m=c[15686]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[46365]|0;if((k|0)==2)if((e|0)>(b|0)){ni(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((ig(a)|0)==(a|0))mi(a,k);if(!k)Xh(a);Yh(a);g=ki(0)|0;if((g|0)>(b|0)){f=e;e=g}else{li(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;g1(m,86104,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[45974]|0))break;oi(a,j);e=ki(0)|0;if((e|0)>(b|0))g=i;else{li(a);g=+h[22830]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))ni(a);if((b|0)>0){pi(a,0);e=ki(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;qi(a);b=b+1|0}}while(0);l=o;return e|0}function Nh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;ji(a);k=a+16|0;d=c[k>>2]|0;m=c[15686]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=ry(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;g1(m,86054,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;fl(a);Wh(a);Xh(a);Yh(a);f=a+16|0;d=Mh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Oh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Zh(a);return d|0}function Ph(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[45969]|0;if(f|0){D_(f);c[45969]=0}f=c[45970]|0;if(f|0){D_(f);c[45970]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Qh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){wh(i);D_(c[j>>2]|0);D_(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Rh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[15686]|0;d=ry(d)|0;r=+FL();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;g1(o,85722,p)|0}l=q;return}function Qh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Sh(a,j,-1)|0;j=Sh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Rh(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Th(b,c)|0;if(!b)break;if(Uh(a,b)|0){d=b;continue}e=(Vh(a,b)|0)==0;d=e?d:b}return d|0}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)qa(85761,85686,1023,85763);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else qa(85772,85686,1029,85763);else g=0}return g|0}function Uh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(oz(b,d)|0)!=0&1;else b=0;return b|0}function Vh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(oz(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Wh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[46370]|0;a:do if((d|0)!=0|(c[46391]|0)!=0){d=NL(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(b$(d,85974)|0)){ei(b,1);break a}break}case 105:{if(!(b$(d,95660)|0)){ei(b,0);break a}break}default:{}}c[e>>2]=d;Pw(1,85978,e)|0;break}d=wA(b)|0;while(1){if(!d)break;if(!(Rj(d)|0))Wh(d);d=xA(d)|0}if(c[46391]|0)fi(b)}while(0);l=f;return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=ci(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){di(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Yh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=vH(e)|0;else p=xH(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((_h(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((_h(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=($h(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(_h(d,g)|0){t=37;break a}wh(g);ai(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)qa(85820,85686,1561,85859);if(h|0)D_(q)}return}function Zh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function _h(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(bi(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(bi(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((_h(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=($h(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else qa(85872,85686,1490,85888);return 0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}xh(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=vH((c[e+208>>2]<<2)+8|0)|0;else e=xH(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=oh(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];vh(b,m)}return}function bi(a,b){a=a|0;b=b|0;var c=0;c=Uh(a,b)|0;return Vh(a,b)|0|c|0}function ci(a,b){a=a|0;b=b|0;var d=0;d=uH(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=uH(O(b,a)|0)|0;return d|0}function di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(ig(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((oz(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(oz(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;wh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;ai(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;di(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)qa(85898,85686,1251,85930);else if((q|0)==12)qa(85942,85686,1252,85930);else if((q|0)==16)qa(85898,85686,1260,85930);else if((q|0)==18)qa(85942,85686,1261,85930)}else p=e;while(0);a[p+158>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c)break;gi(a,c,b);c=Ty(a,c)|0}return}function fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=Sy(b)|0;while(1){if(!d)break;e=NL(d,c[46391]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(b$(e,85974)|0)){gi(b,d,1);break a}break}case 105:{if(!(b$(e,95660)|0)){gi(b,d,0);break a}break}default:{}}h=ry(d)|0;c[f>>2]=e;c[f+4>>2]=h;Pw(1,86009,f)|0}while(0);d=Ty(b,d)|0}l=g;return}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[45970]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;_0(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(hh(e,d)|0)break a;i=oh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;vh(b,i);f=f+1|0}}}while(0);return}function hi(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function ii(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ji(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[45972];b[f+238>>1]=c[45973]}return}function ki(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[45971]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=Di(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function li(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function mi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=GL(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;IL(o,g);while(1){f=JL(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){kl(d,f,e,o);continue}else{Bi(d,f);Ci(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(JL(o)|0)Pw(1,86217,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;vi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((ig(d)|0)==(d|0)?(ki(0)|0)>0:0)pi(d,0);HL(o);l=r;return}function ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;_0(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[45971]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[45971]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;yi(a,d,g,(xi(a,d,d-f|0)|0)&255);d=d+f|0}pi(a,g^1);return}function pi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(wi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function qi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(ri(d,i,j)|0)continue;if(p){f=si(i,j)|0;h=si(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(ti(i,j)|0)+f|0;h=(ti(j,i)|0)+h|0}if((h|0)<=(f|0))break}ui(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)qa(86168,85686,721,86194);else if((e|0)==16)return}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[190689]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ti(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}vi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))vi(e,f)}return}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[45971]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function wi(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(ri(d,j,k)|0)continue;if(r){f=si(j,k)|0;g=si(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(ti(j,k)|0)+f|0;g=(ti(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}vi(j,k);i=f-g+i|0;g=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)qa(86168,85686,770,86202);else if((f|0)==17)return i|0;return 0}function xi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[45969]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{_0(p,a,4,60);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(zi(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(ri(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}vi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function zi(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function Ai(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Bi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))qa(86282,85686,1346,86318);g=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=ry(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;Pw(1,86334,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;Pw(1,86407,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=ry(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;Pw(1,86468,o)|0}}else{n=ry(a)|0;o=ry(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;Pw(1,86227,f)|0}while(0);l=p;return}function Ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function Di(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[45975]|0)>(d|0))q=c[45976]|0;else{d=d+1|0;c[45975]=d;f=c[45976]|0;if(!f)d=vH(d<<2)|0;else d=xH(f,d<<2)|0;c[45976]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(Ei(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(Ei(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function Ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Fi(a){a=a|0;var b=0.0,d=0.0;c[45974]=8;c[46365]=24;h[22830]=.995;a=xx(a,86590)|0;if(a|0?(b=+b2(a),b>0.0):0){d=b*+(c[45974]|0);c[45974]=~~(d>1.0?d:1.0);b=b*+(c[46365]|0);c[46365]=~~(b>1.0?b:1.0)}return}function Gi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=uH(e<<2)|0;Ii(a,d,e,0)|0;D_(d);return}function Hi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=uH((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=Sy(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Gx(a,f)|0}g=Ty(a,g)|0}f=uH((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=uH((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}D_(i);return}function Ii(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Ii(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((ig(a)|0)!=(a|0)){H3(d|0,0,e<<2|0)|0;g=Sy(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Ex(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Gx(a,i)|0}g=Ty(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=vA(ig(a)|0,86580,1)|0;g=az(f,0,1)|0;Az(g,134365,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=uH(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=uH(20)|0;c[(c[l>>2]|0)+180>>2]=k;Xy(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ji(a){a=a|0;var b=0,d=0;Zh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ji(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Ki(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Li(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17308+(d*12|0)+((Li(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function Li(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Mi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){ll(b);Ni(b);if(a[191874]|0)zl(b);Oi(b);if(Rl(b)|0)Ni(b);Pi(b);if(fI(b,2,Qi(b)|0)|0?(Ri(b),fI(b,2,Qi(b)|0)|0):0)qa(86598,86626,134,86637);Si(b);Ti(b,d);Ui(b)}return}function Ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=KL(f,c[46374]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=tj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){uj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Oi(a){a=a|0;var b=0,d=0,e=0;pj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){qj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{qj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Pi(a){a=a|0;bj(a);cj(a);dj(a);ej(a);fj(a);return}function Qi(a){a=a|0;var b=0,c=0.0;b=xx(a,86826)|0;if(!b)a=2147483647;else{c=+b2(b);a=~~(c*+(ay(a)|0))}return a|0}function Ri(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=uh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;$i(o,f,0.0,0)|0;$i(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)qa(86734,86626,111,86737);else if((s|0)==19)return}function Si(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Ti(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Vi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Wi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i<l?i:l;if(i>1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f<i){l=1.0;f=i/f;break}else{l=f/i;f=1.0;break}}else{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i<f){l=1.0;f=f/i;break}else{l=i/f;f=1.0;break}else l=i}while(0);e=(c[k+116>>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Xi(a,f,i)}while(0);if(d|0)Yi(a,d);return}function Ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;D_(c[e+16>>2]|0);D_(e);d=d+1|0}if(f){D_(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){D_(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;D_(e);D_(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Vi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}_i(a,b);return}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Zi(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Zi(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Xi(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Xi(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Yi(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[15686]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;g1(n,86650,f)|0;c[g>>2]=zk(a)|0;g1(n,86675,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){E1(86685,34,1,c[15686]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[15686]|0;c[j>>2]=c[b+24>>2];g1(n,86720,j)|0}l=m;return}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function _i(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(ig(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g<m;l=c[(c[s>>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g<x?g:x}}else{i=+(c[(c[(c[w+260>>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function $i(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=uH(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=uH(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){aj(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;ih(i)|0;return i|0}function aj(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;Pw(1,86750,d)|0;l=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=uH((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=uH(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function cj(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(XK(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];$i(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(nj(g,f)|0))$i(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(nj(d,f)|0)){$i(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=fh(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))$i(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i<A?A:i);if((f|0)>65535){aj(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function dj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=uh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;$i(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;$i(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function ej(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){ij(a);jj(a);kj(a);lj(a)}return}function fj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){gj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;$i(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function gj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=KL(a,c[46374]|0,8,0)|0;hj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=ry(a)|0;c[m+4>>2]=e;Pw(1,86834,m)|0;break}else{$i(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;$i(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function hj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=uh(ig(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=uh(ig(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(ig(b)|0)!=(b|0):0)?(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;$i(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function ij(a){a=a|0;var b=0,d=0;do if((ig(a)|0)!=(a|0)){gj(a);a=a+16|0;b=c[a>>2]|0;b=fh(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;$i(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;ij(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function jj(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=KL(d,c[46374]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(mj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;$i(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(mj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}$i(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;jj(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function kj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=KL(a,c[46374]|0,8,0)|0;hj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;hj(e);f=c[b>>2]|0;g=e+16|0;$i(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;$i(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;kj(e);a=a+1|0}return}function lj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=KL(a,c[46374]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;hj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);$i(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}lj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function mj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(oz(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(oz(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function nj(a,b){a=a|0;b=b|0;return oj(a,b)|0}function oj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(oj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function pj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=vH((i<<2)+4|0)|0;else d=xH(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];rj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Hx(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=vH((c[e+176>>2]<<2)+8|0)|0;else e=xH(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Ix(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Ex(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=vH((c[e+184>>2]<<2)+8|0)|0;else e=xH(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Gx(a,i)|0}}}while(0);l=o;return}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(ez(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function sj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=ig(b)|0;g=SL(d)|0;if((g|0)!=(d|0))rh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];rj(a,d,h);l=i;return}function tj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))j=8.0;else j=+(KL(a,c[46374]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=tj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((ig(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(fz(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((ig(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function uj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))e=0;else e=KL(a,c[46374]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;uj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((ig(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)vj(a,~~p,d);if((ig(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function vj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(ig(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function xj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=Sy(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=Ty(a,h)|0}c[e+264>>2]=d;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=xx(a,86879)|0;if(!b)b=2147483647;else{g=+b2(b);b=~~(g*+(ay(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];fI(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function zj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(xx(a,86888)|0))Bj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;Aj(a,d)}if(0){g=c[15686]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;g1(g,86896,e)|0}l=f;return}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[45977]=0;a[h>>0]=a[18484]|0;a[h+1>>0]=a[18485]|0;a[h+2>>0]=a[18486]|0;a[h+3>>0]=a[18487]|0;h=Xx(87106,h,0)|0;Az(h,87135,280,1)|0;mz(h,17404,17344);Cj(b);e=xx(b,86879)|0;if(!e)f=2147483647;else{j=+b2(e);f=~~(j*+(ay(b)|0))}Sj(b,0);Tj(b,h);Uj(b,h);Vj(b,h,0,0);Wj(h);g=Xj(h)|0;Yj(h);if(d|0){Mk(h);Ak(h)}e=xx(b,99560)|0;if(!e)e=-1;else e=a2(e)|0;yH(h,1,f,e)|0;Zj(b,h,g);$x(h)|0;l=i;return}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;Cj(a);do if(!b){Dj(a,a);Pk(a);Ej(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Il(a,0);b=0}else{Mk(a);Ak(a);Dj(a,a);Pk(a);Ej(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Il(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);xk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Fj(a,f)|0)Il(a,0);if(!b)yj(a);else Bk(a,b);Gj(a,b);Hj(a);l=g;return}function Cj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=Sy(d)|0;while(1){if(!g)break;f=Ex(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Gx(d,f)|0}g=Ty(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function Dj(a,b){a=a|0;b=b|0;var d=0;b=wA(b)|0;while(1){if(!b)break;d=Pj(b)|0;do if(d)if((d|0)==7&(c[46364]|0)==100){Lj(a,b);break}else{Qj(a,b,d);break}else Dj(a,b);while(0);b=xA(b)|0}return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=SL(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=SL(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(SL(h)|0)){g=9;break}wk(d);d=c[e>>2]|0}if((g|0)==9)qa(86999,86939,346,87031);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(SL(i)|0))break;wk(d);d=c[e>>2]|0}qa(87044,86939,353,87031)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=Sy(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(SL(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=ph(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=ph(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=Ty(a,g)|0}}while(0);return (d|0)!=0|0}function Gj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=Sy(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=SL(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:UL(g)}g=Ty(d,g)|0}if((ig(d)|0)==(d|0)){if((c[46364]|0)==100)e=1;else{Kj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Jj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Ij((c[i>>2]|0)+172|0);Ij((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=Sy(b)|0;while(1){if(!i)break;h=Ex(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=Sy(b)|0;while(1){if(!d)break;e=Ex(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Gx(b,e)|0}d=Ty(b,d)|0}D_(c[k>>2]|0);D_(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Gx(b,h)|0}i=Ty(b,i)|0}D_(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Ij(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Jj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Jj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Kj(b){b=b|0;var d=0;d=wA(ig(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Lj(b,d);d=xA(d)|0}return}function Lj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Mj(a,b),Sy(b)|0):0){Nj(a,b);if((c[46364]|0)==100){Bj(b,0);Oj(b);break}else{xj(b);break}}while(0);return}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=Sy(d)|0;while(1){if(!g)break;i=Ty(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{dz(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(oz(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))dz(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=Sy(d)|0;while(1){if(!e)break;b=Ex(ig(d)|0,e)|0;while(1){if(!b)break;if(oz(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)Vx(d,b,1)|0;b=Gx(ig(d)|0,b)|0}e=Ty(d,e)|0}return}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function Oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)qa(86924,86939,238,86946);c[g+264>>2]=h;d=Sy(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}TL(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=Ty(b,d)|0}if((d|0)==11)qa(86961,86939,242,86946);else if((d|0)==13)return}function Pj(b){b=b|0;var d=0;if(!(Rj(b)|0)){d=aM(xx(b,87076)|0,17356,17380)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=Sy(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=Ty(d,f)|0;if(!f)break;TL(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Rj(a){a=a|0;return (z$(ry(a)|0,104980,7)|0)==0|0}function Sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(lk(b)|0)){do if(qM(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;mk(b,d);d=b;break}while(0);e=wA(b)|0;while(1){if(!e)break;Sj(e,d);e=xA(e)|0}a:do if(qM(b)|0){e=Sy(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=Ty(b,e)|0}}while(0);switch(nk(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{ok(b)|0;break}case 6:break;default:{e=ry(b)|0;f=xx(b,87076)|0;c[g>>2]=e;c[g+4>>2]=f;Pw(0,87259,g)|0}}if((k|0)==19){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((qM(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=ok(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0;c[45977]=0;d=Sy(a)|0;while(1){if(!d)break;if((_j(d)|0)==(d|0)){e=bk(b,ry(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=Ty(a,d)|0}d=Sy(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(_j(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=Ty(a,d)|0}return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Sy(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Ex(a,h)|0;while(1){if(!i)break;do if((gk(i)|0)==0?(j=i+-48|0,k=c[(c[(_j(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(hk(i)|0)){if((fk(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(fk(f)|0)==0:0){ik(b,d,k,i);break}jk(b,d,k,i);break}else{f=_j(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=_j(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}ik(b,d,e,i);break}}while(0);i=Gx(a,i)|0}h=Ty(a,h)|0}return}function Vj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((qM(a)|0)!=0?(fk(a)|0)!=0:0){g=Sy(a)|0;while(1){if(!g)break;if(!(Hx(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=bk(b,87157)|0;Rx(b,d,f,0,1)|0}if(!(Ex(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=bk(b,87162)|0;Rx(b,f,e,0,1)|0}g=Ty(a,g)|0}if((e|0)!=0&(d|0)!=0){ek(Rx(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=wA(a)|0;while(1){if(!d)break;Vj(d,b,f,e);d=xA(d)|0}return}function Wj(b){b=b|0;var d=0,e=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=Ty(b,d)|0}d=Sy(b)|0;while(1){if(!d)break;ck(b,d);d=Ty(b,d)|0}return}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=Ty(a,b)|0}b=0;e=Sy(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){ak(a,e,d);b=d}e=Ty(a,e)|0}a:do if((b|0)>1){f=bk(a,87151)|0;d=1;e=Sy(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){Rx(a,f,e,0,1)|0;d=d+1|0}e=Ty(a,e)|0}}while(0);return b|0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=Sy(a)|0;while(1){if(!g)break;h=g+16|0;f=Ex(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=vH((c[b+184>>2]<<2)+8|0)|0;else b=xH(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Gx(a,f)|0}g=Ty(a,g)|0}return}function Zj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=uH((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=Sy(a)|0;while(1){if(!h)break;j=c[(c[(c[(_j(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=Ty(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=Sy(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=Ty(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=Sy(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=Ty(a,f)|0}}while(0);$j(a,f);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){D_(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)D_(f);i=Ty(d,i)|0}D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);f=Sy(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=Ty(a,f)|0}if(j)D_(o);return}function _j(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=_j(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function $j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;$j(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=Sy(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=Ty(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Ex(a,b)|0;while(1){if(!e)break;ak(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break a;ak(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Ix(a,e)|0}}while(0);return}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=az(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=uH(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=uH(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[45977]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[45977]=f;c[b+164>>2]=0;return f|0}function ck(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Ex(b,d)|0;while(1){if(!d)break;e=Gx(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){dk(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}ck(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function dk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;ek(d,e[g+170>>1]|0,c[g+156>>2]|0);dz(a,b)|0;return}function ek(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function fk(a){a=a|0;return (RL(xx(a,87167)|0,0)|0)&255|0}function gk(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function hk(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=kk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function ik(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=Rx(a,b,d,0,0)|0;if(!g){g=Rx(a,d,b,0,0)|0;if(!g){g=Rx(a,b,d,0,1)|0;if(!g){b=ry(b)|0;f=ry(d)|0;c[h>>2]=b;c[h+4>>2]=f;Pw(1,87184,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;ek(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function jk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Hx(a,d)|0;while(1){if(!h){k=6;break}n=Ex(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Ix(a,h)|0}if((k|0)==6){n=c[45978]|0;c[45978]=n+1;c[j>>2]=n;Y0(i,87175,j)|0;i=bk(a,i)|0;n=Rx(a,i,d,0,1)|0;i=Rx(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function lk(a){a=a|0;return (Sy(a)|0)==0|0}function mk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Nj(b,a);Mj(b,a);return}function nk(b){b=b|0;var c=0;b=xx(b,87076)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(b$(b,87086)|0)if(b$(b,87090)|0)if(b$(b,87097)|0)if(b$(b,87101)|0)if(!(b$(b,87081)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function ok(a){a=a|0;var b=0,c=0;c=Sy(a)|0;a:do if(!c)b=0;else{b=_j(c)|0;while(1){c=Ty(a,c)|0;if(!c)break a;pk(b,c)|0}}while(0);return b|0}function pk(a,b){a=a|0;b=b|0;if(b){a=_j(a)|0;c[(c[(_j(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function qk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87135,c[d>>2]|0,1)|0;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87302,c[d+4>>2]|0,1)|0;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87287,c[d+8>>2]|0,1)|0;return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[46423]=nx(b,2,87317,0)|0;k=nx(b,2,87326,0)|0;c[46424]=k;a:do if((k|0)!=0|(c[46423]|0)!=0){k=Sy(b)|0;while(1){if(!k)break a;j=0;d=0;i=Jx(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[46423]|0;do if((f|0)==(k|0)&(g|0)!=0){f=yx(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=uk(m,d,k,i,f)|0;break b}}while(0);f=c[46424]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=yx(i,f)|0,(a[o>>0]|0)!=0):0)e=uk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Kx(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)vk(k,e);e=c[e>>2]|0;if(e|0)D_(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)vk(k,d);d=c[d>>2]|0;if(d|0)D_(d);e=e+1|0}k=Ty(b,k)|0}}while(0);l=p;return}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(b$(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=vH((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=xH(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=ry(e)|0;c[k>>2]=5;c[k+4>>2]=r;Pw(1,87335,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=uH(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){sE(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+wE(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+u$(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+u$(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;NK(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;sE(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function wk(a){a=a|0;var b=0,d=0,e=0;kh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=fh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;ph(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else xh(a,b);return}function xk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;yk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function yk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))yk(d)}else{wk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function zk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=Sy(a)|0;b=0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Gx(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=Ty(a,e)|0}return b|0}function Ak(b){b=b|0;var d=0,e=0,f=0,g=0;e=Sy(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=Ty(b,e)|0}return}function Bk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;Ck(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[15686]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=Sy(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=Ty(a,d)|0}yj(a);e=+Dk(a);h[m>>3]=e;if(0){h[o>>3]=e;g1(n,87387,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}Ek(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}yj(a);Fk(a);Gk();h[m>>3]=+Dk(a);l=q;return}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[45982]=vH((ay(a)|0)*24|0)|0;c[45981]=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=Ty(a,b)|0}i=Sy(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=uH(4)|0;g=c[45982]|0;k=c[45981]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[45981]=k+1}else{g=SL(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[45982]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l<m?m:l;c[k+120>>2]=d;break}d=uH(c[b+216>>2]<<2)|0;e=c[45982]|0;f=c[45981]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[45981]=f+1}while(0);i=Ty(a,i)|0}return}function Dk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Fk(a);g=c[45979]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[45980]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function Ek(a){a=a|0;var b=0;c[45983]=uH((ay(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(ay(a)|0))break;c[(c[45983]|0)+(b<<2)>>2]=b;b=b+1|0}Fk(a);Hk(a);Ik(a);return}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[45979]=0;b=c[45980]|0;if(b|0){e=0;while(1){if((e|0)>=(c[45981]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){D_(d);b=c[45980]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){D_(d);b=c[45980]|0}e=e+1|0}D_(b)}c[45980]=uH((c[45981]|0)*40|0)|0;b=0;while(1){d=c[45981]|0;if((b|0)>=(d|0))break;k=uH(d<<2)|0;c[(c[45980]|0)+(b*40|0)+4>>2]=k;k=uH(c[45981]<<2)|0;l=c[45980]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[45980]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Gx(a,d)|0}e=Ty(a,e)|0}i=c[45981]|0;k=c[45982]|0;l=c[45980]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[45979]|0))c[45979]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]<j)h[g>>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Gk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[45979]|0;l=c[45980]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Hk(a){a=a|0;var b=0;b=c[45983]|0;_0(b,ay(a)|0,4,63);return}function Ik(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[45979]|0;k=c[45980]|0;g=c[45983]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){_0(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,64);g=c[45980]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(ph(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[45980]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function Jk(a,b){a=a|0;b=b|0;a=Kk(c[a>>2]|0)|0;b=Kk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=ez(e)|0;e=Ex(g,e)|0;while(1){if(!e)break;e=Gx(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Lk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[45980]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function Mk(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=Ty(a,b)|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=xx(a,96579)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(N1(a,87402,e)|0)>=1):0)Pw(0,87409,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Ok(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;il(a);b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Ok(d)|0)==0:0)?(e=d+48|0,f=SL(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=SL(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=fh(f,h)|0;if(!i){ph(f,h,d)|0;break}else{xh(d,i);break}}i=c[d>>2]&3;Qk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function Qk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=uh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=SL(d)|0;d=SL(f)|0;f=$i(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[($i(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Rk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)qa(87498,87520,148,87529);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Sk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Sk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(wj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Uk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;il(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;jl(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=Sy(b)|0;while(1){if(!h)break;g=Ex(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Gx(b,g)|0}h=Ty(b,h)|0}m=Sy(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(SL(m)|0):0){qh(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Ex(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Vk(l)|0){if(!(Tk(d,l)|0)){Wk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Rk(b,l,e,0);lh(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xh(l,d);lh(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){xh(l,d);lh(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(wj(l,d)|0)!=0:0)if(!(a[191874]|0)){Rk(b,l,c[(c[o>>2]|0)+172>>2]|0,1);lh(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){lh(l);d=l;break}e=SL(e)|0;f=SL(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){vh(b,l);d=l;break}if((h|0)>(g|0)){Xk(b,e,f,l);d=l;break}e=Rx(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Xk(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(wj(l,e)|0))break;if(!(a[191874]|0)){lh(l);Rk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Xk(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Gx(b,l)|0}m=Ty(b,m)|0}if((ig(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=vH(4)|0;else d=xH(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Vk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=_k(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=_k(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=fh(f,e)|0;if(h|0){Rk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Xk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)qa(87541,87520,89,87566);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Yk(a,e)|0;else f=Zk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Ki(ph(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))qa(87577,87520,103,87566);else return}function Yk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=uh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(fz(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Zk(a){a=a|0;var b=0;b=uh(a)|0;Sk(a,b);return b|0}function _k(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=SL(b)|0;return b|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ig(a)|0;h=Sy(a)|0;while(1){if(!h)break;b=Jx(j,h)|0;i=0;while(1){if(!b)break;l=Kx(j,b,h)|0;if(oz(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Tk(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Rk(a,k,b,0);mh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){al(b,e,k);b=l;i=k;continue}else{al(e,b,k);b=l;i=k;continue}b=hh(b,e)|0;if(!b){vh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}mh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}xh(k,b);m=i;b=l;i=m}h=Ty(a,h)|0}return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=bl(a)|0;e=bl(b)|0;cl(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function bl(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function cl(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))qa(87602,87630,81,87640);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=fh(d,e)|0,j|0):0)?wj(f,j)|0:0){xh(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=ig(d)|0;j=g+-48|0;i=dl(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(ph(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=fh(d,e)|0;if(g|0?wj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=ph(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=ph(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;kh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(ph(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;kh(g)}}}while(0);return}function dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;el(a,e,c[b+236>>2]|0,2);b=uh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function el(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function fl(a){a=a|0;var b=0;Uk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Hi(a);mi(a,0);gl(a);$k(a);hl(a);return}function gl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ig(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;el(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=fz(k)|0;sh(d,e);qh(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function hl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;kh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;kh(d);d=c[g>>2]|0}sh(ig(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=Sy(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){UL(f);d=c[e>>2]|0}c[d+212>>2]=0;f=Ty(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=Sy(h)|0;a:while(1){if(!d)break;j=Ty(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=ry(d)|0;g=ry(b)|0;c[n>>2]=f;c[n+4>>2]=g;Pw(0,87649,n)|0;dz(h,d)|0;d=j;continue}VL(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Ex(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(h,g)|0}}k=k+1|0}l=o;return}function jl(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=uH((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=uh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(ph(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=Sy(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Gx(e,f)|0}j=Ty(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function kl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;Bi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;Ci(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Sy(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Ex(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(b,g)|0}h=Ty(b,h)|0}ml(b);return}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;ml(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=Sy(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Ex(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Gx(b,h)|0}i=Ty(b,i)|0}return}function nl(a){a=a|0;var b=0,c=0,d=0;d=tM(a)|0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;ol(b,d);b=Gx(a,b)|0}c=Ty(a,c)|0}yw(d)|0;return} +function yH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=C_(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ka(62,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[15686]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=99176;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;ca(29,j|0,99132,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ha(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=$(27,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ha(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[46441]=(e|0)>-1?e:30;t=D3(185768,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ha(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[15686]|0;m=0;while(1){o=0;j=_(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=$(28,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ja(25,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;aa(91,99176,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;ca(29,a|0,99194,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;ca(29,a|0,99194,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ha(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ha(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ha(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[46481]|0;g=c[46482]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=99176;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;ca(29,a|0,99198,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);D_(t|0);l=u;return f|0}function zH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function AH(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[46484]=b;c[46491]=0;c[46482]=0;c[46481]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[46481]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[46482]=k;b=b+1|0;f=k}b=g+164|0}b=c[46492]|0;if(!b)b=vH(h<<2)|0;else b=xH(b,h<<2)|0;c[46492]=b;c[46493]=0;b=c[46486]|0;if(!b)b=vH(c[46481]<<2)|0;else b=xH(b,c[46481]<<2)|0;c[46486]=b;c[46485]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=uH((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=uH(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function BH(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=GL(c[46481]|0)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){IL(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=JL(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){IL(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[46481]|0)){Pw(1,99530,k)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=ry(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;Pw(3,99552,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);HL(m);l=o;return}function CH(){var b=0,d=0,e=0;b=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function DH(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=uH(c[46481]<<2)|0;e=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=QH(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=RH(f,e)|0;while(1){if((SH(a)|0)<=1)break;WH(a,c[(VH(UH(TH(a)|0)|0)|0)+8>>2]|0)}D_(a);a=0;while(1){if((a|0)>=(e|0))break;D_(c[f+(a<<2)>>2]|0);a=a+1|0}D_(f);if((c[46485]|0)==((c[46481]|0)+-1|0)){XH();return}else qa(99275,99305,523,99310)}function EH(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[46491]|0;f=c[46485]|0;j=c[46486]|0;k=c[46441]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[46491]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[46491]=f}return a|0}function FH(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[46487]=0;c[46488]=2147483647;d=c[a+16>>2]|0;c[46489]=c[d+284>>2];c[46490]=c[d+288>>2];if(b)PH(a);else OH(a);return c[46487]|0}function GH(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){KH(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){KH(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){KH(h,g);break}else{KH(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=LH(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((LH(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;MH(a,b);n=c[g+16>>2]|0;NH(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{Pw(1,99236,n)|0;bb(185768,1)}}function HH(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;JH();m=uH((c[46483]<<2)+4|0)|0;d=c[46483]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[46484]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[46483]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){D_(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}D_(m);return}function IH(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[46485]|0))break;a=c[(c[46486]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=FH(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){KH(g,f>>>1);break}else{KH(a,(f|0)/-2|0);break}}while(0);b=b+1|0}CH();return}function JH(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[46483]=-2147483647;b=(c[(c[46484]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[46483]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[46483]=f-g;c[h>>2]=0}l=i;return}function KH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function LH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function MH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[46486]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function NH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function OH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))OH(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){OH(b);a=c[i>>2]|0}d=d+1|0}return}function PH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))PH(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){PH(b);a=c[i>>2]|0}d=d+1|0}return}function QH(a){a=a|0;var b=0;b=uH(16)|0;c[b>>2]=a;c[b+4>>2]=eI(a,b)|0;c[b+12>>2]=b;return b|0}function RH(a,b){a=a|0;b=b|0;var d=0,e=0;e=uH(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;WH(e,d);d=d+-1|0}return e|0}function SH(a){a=a|0;return c[a+4>>2]|0}function TH(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;WH(a,0);return b|0}function UH(a){a=a|0;return dI(c[a>>2]|0,0,0)|0}function VH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)qa(99324,99305,463,99338);g=a+48|0;d=$H(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=$H(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)aI(c[d>>2]|0,0,b);else aI(c[f>>2]|0,0,0-b|0);bI(a);return cI(d,f)|0}function WH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function XH(){NH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0,1)|0;YH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0);return}function YH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))YH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){YH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)ZH(b);return}function ZH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(_H(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(_H(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function _H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function $H(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function bI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){Pw(1,99427,h)|0;bb(185768,1)}g=c[46485]|0;c[d>>2]=g;d=c[46486]|0;c[46485]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){Pw(1,99461,h+8|0)|0;bb(185768,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){Pw(1,99496,h+16|0)|0;bb(185768,1)}else{l=h;return}}function cI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else qa(99350,99305,327,99397);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else qa(99408,99305,335,99397)}else i=a;return i|0}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$H(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=dI(h,a,d)|0}else if(($H(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=dI(i,a,d)|0}else if(($H(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function eI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){bI(g);a=(eI(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){bI(f);a=(eI(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,99560)|0;if(!d)d=30;else d=a2(d)|0;return yH(a,b,c,d)|0}function gI(a){a=+a;return +((c[46369]|0)==0?a:+h[22916]-a)}function hI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[46494]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];iI(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];jI(e,99571,+h[b+352>>3]);jI(e,99578,t*.013888888888888888);jI(e,99578,s*.013888888888888888);kI(e);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){lI(e,99580,JA(ry(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];mI(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=ez(i)|0;b=nI(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=JA(yx(i,c[46384]|0)|0)|0;jI(e,99578,+h[(c[g>>2]|0)+32>>3]);jI(e,99578,+h[(c[g>>2]|0)+40>>3]);lI(e,99578,b);lI(e,99578,OL(i,c[46387]|0,108041)|0);lI(e,99578,c[c[(c[g>>2]|0)+8>>2]>>2]|0);lI(e,99578,OL(i,c[46378]|0,134232)|0);b=OL(i,c[46379]|0,191979)|0;if(!(a[b>>0]|0))b=OL(i,c[46378]|0,131718)|0;lI(e,99578,b);kI(e)}i=Ty(d,i)|0}o=f<<24>>24==0;n=Sy(d)|0;while(1){if(!n)break;m=Ex(d,n)|0;while(1){if(!m)break;if(o){f=191979;j=191979}else{j=xx(m,108373)|0;f=xx(m,108382)|0;f=f|0?f:191979;j=j|0?j:191979}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}lI(e,0,108368);oI(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);oI(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);pI(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];mI(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=ez(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;lI(e,99578,nI(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];mI(e,q)}lI(e,99578,OL(m,c[46415]|0,108041)|0);lI(e,99578,OL(m,c[46406]|0,134232)|0);kI(e);m=Gx(d,m)|0}n=Ty(d,n)|0}qI(99586,e);l=r;return}function iI(a){a=a|0;var b=0.0;if(c[46369]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[22916]=b;h[22917]=b*.013888888888888888}return}function jI(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)qI(b,a);h[e>>3]=c;Y0(d,99592,e)|0;qI(d,a);l=f;return}function kI(b){b=b|0;a[191875]=10;lb[c[46494]&127](b,191875)|0;return}function lI(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)qI(b,a);qI(c,a);return}function mI(a,b){a=a|0;b=b|0;var d=0.0;jI(a,99578,+h[b>>3]*.013888888888888888);if(!(c[46369]|0))d=+h[b+8>>3];else d=+h[22916]-+h[b+8>>3];jI(a,99578,d*.013888888888888888);return}function nI(a,b){a=a|0;b=b|0;var c=0;c=Oz(a,b)|0;b=JA(c)|0;Qz(a,c)|0;return b|0}function oI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=JA(ry(d)|0)|0;else{f=ez(d)|0;d=nI(f,(A$(ry(d)|0,58)|0)+1|0)|0}lI(b,99578,d);if(e|0?a[e>>0]|0:0)lI(b,104958,JA(e)|0);return}function pI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;qI(99578,a);c[f>>2]=b;Y0(e,134313,f)|0;qI(e,a);l=d;return}function qI(a,b){a=a|0;b=b|0;lb[c[46494]&127](b,a)|0;return}function rI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;CG(1);iI(d);Tw(H,1024,Y+240|0);LM(d,1,99597,191979)|0;LM(d,1,99601,191979)|0;c[46376]=LM(d,1,138034,191979)|0;c[46375]=LM(d,1,137966,191979)|0;LM(d,2,99597,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){LM(d,1,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){LM(d,2,99611,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){LM(d,2,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){LM(d,2,99614,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){LM(d,2,99622,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=LM(d,0,99611,191979)|0;w=LM(d,0,99630,191979)|0;v=LM(d,0,99637,191979)|0}z=LM(d,0,99645,191979)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=Sy(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[46369]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;Y0(G,99648,J)|0;Ww(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;Y0(G,99663,Q)|0;Ww(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;zx(y,99597,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;Y0(G,99669,X)|0;zx(y,99597,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;Y0(G,99592,K)|0;rx(s,c[46375]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;Y0(G,99592,L)|0;rx(s,c[46376]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;Y0(G,99669,M)|0;zx(s,99607,G)|0;j=c[t>>2]|0}if(b$(c[c[j+8>>2]>>2]|0,103194)|0){if(c[46400]|0?(UJ(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=xx(s,99679)|0;if(!j)j=8;else j=a2(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[46369]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[22917]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;Y0(G,99692,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[46369]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[22917]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;Y0(G,99692,O)|0}Ww(H,G)|0;n=n+1|0}k=c[46400]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;rx(s,k,t)|0}}else{sI(y,c[j+12>>2]|0,H);Yw(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;zx(s,99601,t)|0}a:do if((c[46367]|0)>0){t=Ex(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[22916]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;Y0(G,99702,P)|0;Ww(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[22916]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;Y0(G,99715,R)|0;Ww(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;Y0(G,99669,S)|0;Ww(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;zx(t,99597,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;Y0(G,99669,T)|0;zx(t,99611,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;Y0(G,99669,U)|0;zx(t,99607,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;Y0(G,99669,V)|0;zx(t,99614,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;Y0(G,99669,W)|0;zx(t,99622,G)|0}while(0);t=Gx(d,t)|0}}else j=u;while(0);u=j;y=Ty(d,y)|0}tI(d,z,x,w,v);Xw(H);if(b[(c[I>>2]|0)+136>>1]&1)FM(d);c[f>>2]=i;c[g>>2]=u;CG(0);l=Y;return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[46369]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[22916]-+h[b+24>>3]-g;g=+h[22916]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;Y0(j,99753,k)|0;Ww(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;sI(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function tI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[46369]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[22916];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;Y0(n,99728,j)|0;rx(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[46369]|0)==0?t:+h[22916]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;Y0(n,99669,p)|0;rx(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;Y0(n,99748,q)|0;rx(b,f,n)|0;h[o>>3]=t*.013888888888888888;Y0(n,99748,o)|0;rx(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;tI(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function uI(a){a=a|0;var b=0;b=l;l=l+16|0;rI(a,b,b+4|0);l=b;return}function vI(){return Cw(20636,c[4555]|0)|0}function wI(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function xI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function yI(a){a=a|0;yw(a)|0;return}function zI(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=AI(e)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=d;return}function AI(a){a=a|0;var b=0,d=0,e=0;b=uH(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function BI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=AI(f)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=e;return}function CI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(nb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function DI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(nb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function EI(a){a=a|0;return Ew(a)|0}function FI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH((Ew(a)|0)<<3)|0;b=d;a=Aw(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function GI(){var a=0,b=0,d=0,e=0;a=vH(40)|0;b=a;d=20672;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Cw(a,c[4555]|0)|0}function HI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=vH(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function JI(a){a=a|0;nb[c[a>>2]&63](a,0,64)|0;return}function KI(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;yw(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;D_(a);a=d}D_(b);return}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(nb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function MI(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){NI(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];OI(d,q);p=d+16|0;NI(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];OI(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{NI(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];OI(d,q);n=d+16|0;NI(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];OI(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];OI(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;MI(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function NI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[46495]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];ZG(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[22918];e=b+8|0;h[e>>3]=+h[e>>3]-+h[22919];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function PI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[46495]=m&3;m=m&1;a[191877]=m;if(!(m<<24>>24))RI(b);else QI(b);SI(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[191877]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[46495]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[46495]|0){case 0:{q=m+16|0;c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}case 1:{NI(o,-+h[m+40>>3],+h[m+16>>3]);c[45836]=c[o>>2];c[45837]=c[o+4>>2];c[45838]=c[o+8>>2];c[45839]=c[o+12>>2];break}case 2:{NI(p,+h[m+16>>3],-+h[m+40>>3]);c[45836]=c[p>>2];c[45837]=c[p+4>>2];c[45838]=c[p+8>>2];c[45839]=c[p+12>>2];break}case 3:{NI(q,+h[m+24>>3],+h[m+16>>3]);c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}default:{}}TI(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];UI(b,s)}if(!0){l=w;return}if(!(a[191877]|0)){n=+h[22919];k=+h[22918];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;Y0(s,99989,v)|0}else{k=+h[22918];n=+h[22919];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;Y0(s,99774,u)|0}n1(s)|0;ab()}function QI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((fz(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;QI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function RI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((fz(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;RI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function SI(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[46368]|0)!=0:0)){u=g<<16>>16==0;n=Sy(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Ex(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=WI(e)|0;t=j+i|0;if(t|0){q=h+j+o+(ay(e)|0)|0;r=uH(q*40|0)|0;s=uH(t*40|0)|0;NI(M,2147483647.0,2147483647.0);g=M+16|0;NI(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=Sy(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];ZI(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Ex(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];Pw(0,100801,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){_I(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];Pw(0,100836,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$I(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];Pw(0,100876,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];Pw(0,100916,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));aJ(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=PL(e,nx(e,0,100952,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];SP(r,q,s,t,O)|0;if(0)bJ(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;cJ(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];kM(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;Pw(0,100997,R)|0}}else{R=c[15686]|0;c[Q>>2]=f;c[Q+4>>2]=t;g1(R,100964,Q)|0}D_(r);D_(s)}}l=S;return}function TI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[22918]!=0.0|+h[22919]!=0.0|(c[46495]|0)!=0){d=Sy(a)|0;while(1){if(!d)break;if(c[46495]|0)bN(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[46367]|0)==1){b=Ex(a,d)|0;while(1){if(!b)break a;VI(b);b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}MI(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function UI(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function VI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[191874]|0)==0?(a[d+112>>0]|0)!=6:0){q=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;Pw(1,100784,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function WI(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((fz(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(WI(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function XI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function YI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function ZI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[191877]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function _I(a,b){a=a|0;b=b|0;b=fL(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function $I(a,b){a=a|0;b=b|0;var d=0;b=fL(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function aJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));aJ(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((fz(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];YI(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function bJ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15686]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;g1(q,101039,o)|0;a:do if(0>=2){E1(101099,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=191979;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;g1(q,101108,p)|0;o=o+1|0;a=a+40|0}E1(101151,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;g1(q,101160,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function cJ(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function dJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function eJ(a){a=a|0;PI(a,1);return}function fJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=ZL(xx(a,102500)|0)|0;if(b){b=gJ(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=uH(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=ry(a)|0;Pw(0,101208,d)|0}l=e;return}function gJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[46496]|0;if(!d){d=Cw(20708,c[4555]|0)|0;c[46496]=d}d=nb[c[d>>2]&63](d,b,512)|0;do if(!d){g=L1(b,135739)|0;if(!g){c[e>>2]=b;Pw(0,101257,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(O0(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(N1(f,101285,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(P0(f,101314)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;Pw(0,101319,i)|0;d=0}else f=12;if((f|0)==12){q=vH(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[46497]|0;c[46497]=o+1;c[q+12>>2]=o;J1(j3(g)|0,j)|0;o=c[j+36>>2]|0;n=vH(o+1|0)|0;c[q+52>>2]=n;Z1(g,0,0)|0;g3(n,o,1,g)|0;a[n+o>>0]=0;o=c[46496]|0;nb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}s1(g)|0}while(0);l=p;return d|0}function hJ(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+52>>2]|0);return}function iJ(a){a=a|0;D_(c[(c[a+16>>2]|0)+12>>2]|0);return}function jJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;$B(b,f)|0;$B(b,150517)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=ZL(f)|0;if(!e){c[k>>2]=f;Pw(0,101358,k)|0;break}g=L1(e,135739)|0;if(!g){c[m>>2]=e;Pw(0,101386,m)|0;break}while(1){f=YL(g)|0;if(!f)break;$B(b,f)|0}$B(b,150517)|0;s1(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function kJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((V$(e,101414,3)|0)!=0?(V$(e,101418,5)|0)!=0:0)?(V$(e,101424,3)|0)!=0:0)?(V$(e,101428,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}aC(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;aC(b,10)|0}return}function lJ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[46496]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];fC(b,101436,e);$B(b,101454)|0;kJ(b,d);$B(b,101472)|0;$B(b,101487)|0}g=c[46496]|0;d=nb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function mJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=SM(b)|0;break}default:{switch(nJ(b)|0){case 2:break;case 1:{f=SM(b)|0;break a}default:{f=b;break a}}if(!(c[46498]|0)){Pw(0,101499,e)|0;c[46498]=1;f=b}else f=b}}while(0);if(!(c[46499]|0))Tw(185996,0,0);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=92;break}default:{}}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}h=a[e>>0]|0;c[46500]=d+1;a[d>>0]=h;e=e+1|0}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=41;if((f|0)!=(b|0))D_(f);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}a[d>>0]=0;h=c[46499]|0;c[46500]=h;l=g;return h|0}function nJ(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function oJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((TU(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[46504]|0;if((a|0)>(c[46503]|0)){if(!f)a=vH(a<<5)|0;else a=xH(f,a<<5)|0;c[46504]=a;g=c[b>>2]|0;c[46503]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((xU(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];oV(i,m)}a=m+4|0;if(!(pJ(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[46505]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function pJ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46506]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=xH(c[46505]|0,a<<4)|0;c[46505]=b;if(!b){Pw(1,101589,d)|0;a=1;break}else{c[46506]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function qJ(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+1;do if((d|0)<=0){d=vH(4800)|0;c[46505]=d;if(!d){Pw(1,101612,a)|0;a=1;break}c[46506]=300;c[46508]=0;c[46509]=0;if(0){EL();a=0}else a=0}else a=0;while(0);l=b;return a|0}function rJ(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+-1;if((d|0)<=1?(D_(c[46505]|0),0):0){d=c[15686]|0;g=c[46508]|0;f=c[46509]|0;e=+FL();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;g1(d,101650,a)|0}l=b;return}function sJ(a,b){a=a|0;b=b|0;return tJ(a,b,0)|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[46508]=(c[46508]|0)+1;H=c[b+80>>2]|0;c[46509]=(c[46509]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){Pw(1,101693,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(uJ(H,B,b)|0)){g=H<<3;if((g|0)>(c[46510]|0)){f=c[46511]|0;if(!f)f=vH(H<<7)|0;else f=xH(f,H<<7)|0;c[46511]=f;c[46510]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=ry(f)|0;Pw(1,101800,i)|0;f=0;break}o=H+-1|0;q=c[46511]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;Pw(1,101735,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;Pw(1,101735,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((TU(t,u,I)|0)<0){Pw(1,101839,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[46504]|0;if((g|0)>(c[46503]|0)){if(!f)f=vH(g<<5)|0;else f=xH(f,g<<5)|0;c[46504]=f;g=c[i>>2]|0;c[46503]=g}j=c[46511]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((xU(f,g,G,w,y)|0)<0){Pw(1,101878,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,y)}n=y+4|0;if(!(pJ(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[46505]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;vJ(B,H,c[46505]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=ry(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=ry(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;Pw(0,101916,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,J);vJ(B,H,c[J>>2]|0,c[J+4>>2]|0,10);D_(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[46505]|0}else f=0}else f=0}while(0);l=L;return f|0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[15686]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]<f;e=v&1;C=b+(w<<5)|0;u=+h[C>>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]<m;j=t&1;y=b+(w<<5)+8|0;k=+h[y>>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;g1(M,102116,I)|0;wJ(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=xJ(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=xJ(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q<s;h[(B?(w?G:C):w?E:F)>>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m<f;h[(B?(w?G:C):w?E:F)+8>>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;Pw(1,102070,H)|0;wJ(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f<g)?!(f>+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){E1(102159,42,1,M)|0;wJ(d);g=+h[b>>3];f=+h[d>>3]}if(f<g)h[d>>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g<f){h[e>>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f<g)?!(f>+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){E1(102202,39,1,M)|0;wJ(d);g=+h[e>>3];f=+h[i>>3]}if(f<g){h[i>>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f<g)h[e>>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){Pw(1,102025,k)|0;wJ(d);e=1}l=R;return e|0}function vJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function wJ(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15686]|0;f=b+80|0;c[g>>2]=c[f>>2];g1(e,102242,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;g1(e,102253,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?102284:102296;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;g1(e,102312,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?102284:102296;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;g1(e,102363,j)|0;l=m;return}function xJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function yJ(a,b){a=a|0;b=b|0;return tJ(a,b,1)|0}function zJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=uH(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}AJ(a,g,i,d,e);if((i|0)>20)D_(g);l=j;return}function AJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];BJ(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];BJ(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[191874]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];oV(A,B);QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){CJ(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];DJ(G,A)}QK(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,j,z,A)}while(0);l=K;return}function BJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function CJ(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[22920]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[22921]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[45840];c[a+4>>2]=c[45841];c[a+8>>2]=c[45842];c[a+12>>2]=c[45843];return}function DJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function EJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)FJ(a,b,d,f);else{D=uH((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o<m?o:m}k=(g|16777216|0)==83886080;n=(A|0)==4;j=(g|0)==16777216;e=0;i=0;while(1){if((i|0)>=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=uH(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];_O(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];bP(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];bP(a,B,4);D_(G);break}else qa(102412,102423,737,102432)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=uH(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=uH(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=uH(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;_O(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=vH((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];aP(a,G,j,0,0,f&255);D_(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}_O(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];bP(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=uH(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];_O(a,i,g,f);D_(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];bP(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];bP(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}_O(a,i,g,f);D_(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];bP(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=uH(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];_O(a,G,6,f);D_(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];bP(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];bP(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];bP(a,B,2);break}else qa(102412,102423,714,102432)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}_O(a,i,g,f);D_(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=uH(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;_O(a,w,d,f);D_(w);G=uH(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=uH(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);y=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;_O(a,y,d,f);D_(y);y=uH(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);G=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;_O(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;bP(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 268435456:break;default:break a}G=uH(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];_O(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;bP(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;bP(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;bP(a,B,2);D_(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=uH(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;_O(a,y,d,f);D_(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];bP(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;bP(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;bP(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=uH(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;_O(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=uH(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;_O(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];_O(a,G,d,f);D_(G);break}}while(0);D_(D)}l=E;return}function FJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];aP(a,b,d,0,0,e&255);aP(a,g,7,0,0,0);l=f;return}function GJ(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function HJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=89)if((a|0)==92)a=2;else return ((a|0)==91?3:(a|0)==94?4:0)|0;else a=1}else a=0;return a|0}function IJ(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=uH(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1616;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(QL(xx(b,102485)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+SJ(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f<k?f:k)*72.0;k=+(~~(k+(k>=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=KL(b,c[46390]|0,d,0)|0;V=+LL(b,c[46392]|0,0.0,-360.0)+m;if(!e){U=+LL(b,c[46393]|0,0.0,-100.0);I=KL(b,c[46389]|0,4,0)|0;T=+LL(b,c[46394]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=xx(b,102470)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=N1(d,102477,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(ez(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+TJ(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+TJ(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=xx(b,105999)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){CC(A,ez(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[G>>2]=e;c[G+4>>2]=d;Pw(0,102561,G)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(b$(d,102493)|0)==0:0){e=xx(b,102500)|0;CC(D,ez(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[H>>2]=e|0?e:102510;c[H+4>>2]=d;Pw(0,102516,H)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=xx(b,102602)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];ub[p&63](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=NL(b,c[46395]|0,134226)|0;if((a[g>>0]|0)==115?(b$(g,105204)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((QL(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=ry(b)|0;M=ry(ez(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;Pw(0,102611,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((QL(NL(b,c[46386]|0,134226)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P<f){f=+h[_>>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P<r?r-P+x:x)+P}j=(W|0)>1;g=j?W:1;a:do if((e|0)<3){g=uH(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=uH(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+u$(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;w$((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;w$(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;w$(+K(+o,+x)+v,R,S);x=+u$(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{ub[c[i+4>>2]&63](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);w$(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function JJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[46512]=f;f=W_(f)|0;f=uH(((f|0)>1?f:1)+1|0)|0;b=LJ(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];Pw(1,102446,e)|0;c[46512]=102467;b=LJ(a,d,1,f)|0}D_(f);MJ(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((QL(NL(a,c[46395]|0,134226)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(QL(NL(a,c[46386]|0,134226)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];NJ(b,j,a);OJ(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];PJ(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function KJ(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=uH(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+LL(a,c[46376]|0,1797693134862315708145274.0e284,0.0);b=+LL(a,c[46375]|0,1797693134862315708145274.0e284,0.0);f=f<b?f:b;f=b==1797693134862315708145274.0e284&f==1797693134862315708145274.0e284?.05:f>0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=KL(a,c[46390]|0,g,0)|0;i=uH((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function LJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=uH(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[46512]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=uH(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[46512]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[46512]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[46512]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=LJ(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=n1(f)|0;c[46512]=(c[46512]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[46512]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=uH(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=n1(f)|0;c[k+52>>2]=kH(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[46512]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[46512]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[46512]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[46512]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[46512]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[46512]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){QJ(g,r);g=0}else if((E|0)==27){QJ(g,r);g=0}else if((E|0)==34){QJ(g,r);g=0}else if((E|0)==36){QJ(g,r);g=0}else if((E|0)==38){QJ(g,r);g=0}else if((E|0)==51){c[46512]=i+1;c[g+48>>2]=m}else if((E|0)==59){QJ(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function MJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;MJ(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=xx(d,102470)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=N1(j,102477,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function NJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))OJ(p,q,+h[b+8>>3]+ +(d|0));else OJ(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];NJ(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function OJ(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function PJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];OJ(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;OJ(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];PJ(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function QJ(a,b){a=a|0;b=b|0;RJ(a);D_(b);return}function RJ(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;RJ(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}D_(c[a+60>>2]|0);nH(c[a+52>>2]|0);D_(c[e>>2]|0);D_(a);return}function SJ(a){a=a|0;var b=0.0,d=0.0;d=+LL(a,c[46376]|0,0.0,.01);b=+LL(a,c[46375]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function TJ(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function UJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==89&1;return a|0}function VJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[46513]|0;a:do if(!f)d=0;else{g=c[46514]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(b$(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function WJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(ZL(xx(d,102500)|0)|0)if((a[b>>0]|0)==101?(b$(b,102659)|0)==0:0){d=101;g=6}else{b=102493;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(b$(b,102493)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=20744;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(b$(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=XJ(b)|0;return b|0}function XJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=VJ(b)|0;if(!d){f=c[46514]|0;d=f+1|0;c[46514]=d;e=c[46513]|0;if(!e)d=vH(d<<2)|0;else d=xH(e,d<<2)|0;c[46513]=d;d=uH(16)|0;c[(c[46513]|0)+(f<<2)>>2]=d;c[d>>2]=c[5186];c[d+4>>2]=c[5187];c[d+8>>2]=c[5188];c[d+12>>2]=c[5189];e=n1(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(b$(b,102493)|0)==0:0){e=1;break}c[g>>2]=c[5186];c[g+4>>2]=e;Pw(0,102664,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function YJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function ZJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function _J(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){D_(c[a+44>>2]|0);D_(a)}return}function $J(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4208;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?103330:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=_Q(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(nK(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=ry(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;Pw(0,103332,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1664)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(nK(d,0,g,e,c[n>>2]|0,h)|0)oK(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function aK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[46517]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];ZG(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[46517]|0)){f=c[46518]|0;g=c[46520]|0;i=c[46519]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[46521]=g;i=c[g+44>>2]|0;c[46519]=i;f=c[g+8>>2]|0;c[46518]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[46520]=g;c[46517]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[45844];c[p+4>>2]=c[45845];c[p+8>>2]=c[45846];c[p+12>>2]=c[45847];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((mK(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function bK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=bR(b,d,0,f,g)|0;else b=0;return b|0}function cK(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){PO(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[46515]|0)<(K|0)){i=K+5|0;c[46515]=i;j=c[46516]|0;if(!j)i=vH(i<<4)|0;else i=xH(j,i<<4)|0;c[46516]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=dK(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=OL(f,0,103230)|0;UO(e,s);WO(e,OL(f,0,103238)|0);j=0;i=1;break}if(i&8|0){s=OL(f,0,103246)|0;UO(e,s);WO(e,OL(f,0,103254)|0);j=0;i=1;break}if(i&4|0){s=OL(f,0,103262)|0;UO(e,s);WO(e,OL(f,0,103270)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=eK(f)|0;i=1}else{j=eK(f)|0;if(!((uG(j,L,n)|0)<<24>>24)){WO(e,j);i=1}else{WO(e,c[L>>2]|0);i=c[L+4>>2]|0;m=KL(f,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(e,134232,m,k);else XO(e,i,m,k);i=(D&2)>>>1|2}}s=fK(e,f)|0}else{s=OL(f,0,103214)|0;UO(e,s);WO(e,OL(f,0,103222)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(b$(m,102493)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{UO(e,134297);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,o,j)|0)>1){c[z>>2]=ry(f)|0;Pw(3,103278,z)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(!y)gK(e,f)}else{if(!x){if((t|0)==0?(WE(e,o,j,1)|0)>1:0){c[A>>2]=ry(f)|0;Pw(3,103278,A)|0}_O(e,c[46516]|0,K,0);break}if(!p){UO(e,134297);_O(e,c[46516]|0,K,i&255);UO(e,s);bP(e,(c[46516]|0)+32|0,2);break}i=i&255;if(q){_O(e,o,K,i);break}else{EJ(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=xx(f,105999)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(b$(m,102493)|0)==0:0){m=xx(f,102500)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,n,j)|0)>1){c[G>>2]=ry(f)|0;Pw(3,103278,G)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(y)break;gK(e,f);break}if(x)if(!(D&12)){_O(e,n,K,m);break}else{EJ(e,n,K,D,m);break}else{if((WE(e,n,j,1)|0)>1){c[H>>2]=ry(f)|0;Pw(3,103278,H)|0}_O(e,c[46516]|0,K,0);break}}while(0);R=c[46516]|0;dP(e,o,R,K,i,NL(f,c[46396]|0,134226)|0)}D_(c[L>>2]|0);oH(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)PO(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);QO(e)}l=P;return}function dK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=jK(d,f)|0;if(e|0)YO(b,e);e=c[46402]|0;if((e|0?(g=yx(d,e)|0,g|0):0)?a[g>>0]|0:0)fP(b,+LL(d,c[46402]|0,1.0,0.0));l=h;return c[f>>2]|0}function eK(a){a=a|0;return iK(a,131718)|0}function fK(b,d){b=b|0;d=d|0;d=OL(d,c[46378]|0,191979)|0;d=a[d>>0]|0?d:134232;UO(b,d);return d|0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];hK(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;bP(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;bP(a,e,2);l=d;return}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function iK(b,d){b=b|0;d=d|0;var e=0;e=OL(b,c[46379]|0,191979)|0;if(!(a[e>>0]|0)){e=OL(b,c[46378]|0,191979)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function jK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=OL(b,c[46387]|0,191979)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=AF(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(b$(f,108075)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(b$(f,103290)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(b$(f,103308)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(b$(f,103298)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(b$(f,131253)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((b$(f,103315)|0)==0?kK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((b$(f,103323)|0)==0?lK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function kK(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function lK(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function mK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function nK(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];OJ(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{pK(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;pK(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{pK(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{pK(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];YG(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=qK(g,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+rK(j,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function oK(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=ry(a)|0;c[e+4>>2]=b;Pw(0,103393,e)|0;l=d;return}function pK(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];YG(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];MK(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];ZG(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function qK(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function rK(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function sK(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];ZG(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function tK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){PO(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;g1(g,103424,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];oH(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)PO(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);QO(a)}}l=n;return}function uK(a){a=a|0;RJ(c[(c[a+16>>2]|0)+12>>2]|0);return}function vK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4208;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?103330:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=BK(i,f)|0;if(!j){if(nK(e,i+16|0,h,f,15,0)|0)oK(e,f)}else if(nK(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=ry(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;Pw(0,103332,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function wK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];ZG(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function xK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];_G(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function yK(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)PO(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=dK(d,e)|0;fK(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=eK(e)|0;if(!((uG(i,s,n)|0)<<24>>24)){WO(d,i);i=1}else{WO(d,c[s>>2]|0);i=c[s+4>>2]|0;j=KL(e,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(d,134232,j,k);else XO(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(b$(j,103201)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];$O(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];EJ(d,r,4,f,i)}zK(d,e,o);D_(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)PO(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);QO(d)}l=w;return}function zK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];AK(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];hK(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];oH(b,10,c[j>>2]|0);fK(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];hK(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];hK(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];bP(b,q,2)}zK(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function BK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(b$(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=BK(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function CK(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function EK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];ZG(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[46522]|0)){d=+h[22924];e=+h[22925];i=+h[22926]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[46523]=b;c[46524]=c[b+44>>2];c[46525]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?183416:183424)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?183424:183416)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{jM(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?183416:183424)>>3]=i;h[(o?183424:183416)>>3]=f}d=+h[22927];if(d==0.0){h[22927]=1.0;d=1.0}e=+h[22928];if(e==0.0){h[22928]=1.0;e=1.0}d=i/d;h[22924]=d;e=f/e;h[22925]=e;i=i*.5;h[22926]=i;h[22929]=f*.5;o=O((c[(c[46523]|0)+4>>2]|0)+-1|0,c[46525]|0)|0;c[46526]=(o|0)>0?o:0;c[46522]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[22929],!(e>p)):0){o=c[46525]|0;if((o|0)<3){a=+u$(f/i,d/p)<1.0;break}b=(c[46527]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[46524]|0;m=c[46526]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(mK(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[45860];c[u+4>>2]=c[45861];c[u+8>>2]=c[45862];c[u+12>>2]=c[45863];n=(mK(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[45860],c[t+4>>2]=c[45861],c[t+8>>2]=c[45862],c[t+12>>2]=c[45863],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(mK(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(mK(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[46527]=g;a=0;break}else if((b|0)==31){c[46527]=j;a=1;break}}else a=0}else a=0}else{c[46522]=0;a=0}while(0);l=x;return a&1|0}function FK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[46530]|0))d=+h[22932];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[22932]=d;c[46530]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+u$(g,e)<=d&1}else{c[46530]=0;a=0}l=j;return a|0}function GK(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){PO(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[46528]|0)<(p|0)){g=p+2|0;c[46528]=g;i=c[46529]|0;if(!i)g=vH(g<<4)|0;else g=xH(i,g<<4)|0;c[46529]=g}jK(f,j)|0;if(!(c[j>>2]&32))YO(e,21916);else YO(e,21912);g=c[46402]|0;if(g|0)fP(e,+LL(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){UO(e,OL(f,0,103230)|0);g=OL(f,0,103238)|0;WO(e,g);break}if(g&8|0){UO(e,OL(f,0,103246)|0);g=OL(f,0,103254)|0;WO(e,g);break}if(!(g&4)){g=iK(f,134232)|0;WO(e,g);fK(e,f)|0;break}else{UO(e,OL(f,0,103262)|0);g=OL(f,0,103270)|0;WO(e,g);break}}else{UO(e,OL(f,0,103214)|0);g=OL(f,0,103222)|0;WO(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{UO(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[46529]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}ZO(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);QO(e)}l=t;return}function HK(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=IK(b,e,f)|0;c[h+36>>2]=c[f+36>>2];nK(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function IK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(ez(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];JK(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];JK(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<<k&y){switch(k|0){case 0:{e=u;b=t;break}case 1:{e=r;b=q;break}case 2:{e=u;b=p;break}case 3:{e=o;b=q;break}default:{}}e=x+e|0;b=v+b|0;f=e-w|0;C=b-s|0;f=(O(C,C)|0)+(O(f,f)|0)|0;if((d|0)==0|(f|0)<(g|0))d=c[21924+(k<<2)>>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function JK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function KK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;f=i+40|0;h=i;g=b+16|0;e=c[g>>2]|0;d=e+16|0;if(a[e+47>>0]|0){e=c[b>>2]&3;HK(f,c[((e|0)==3?b:b+48|0)+40>>2]|0,c[((e|0)==2?b:b+-48|0)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;HK(h,c[((e|0)==2?b:b+-48|0)+40>>2]|0,c[((e|0)==3?b:b+48|0)+40>>2]|0,d);e=h;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=i;return}function LK(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];EK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];FK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];aK(0,b)|0;l=a;return}function MK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;XL(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((lb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=lb[k&127](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;OK(f,a,b,k)}l=m;return}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}MK(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function PK(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=uH(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=vH(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=xH(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=uH(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function QK(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=ez(m)|0;B=PK(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[q&127](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;OK(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[g&127](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;OK(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;RK(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];YE((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function RK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=(kb[c[i>>2]&63](o)|0)&255;else j=0;sE(o,m,n);k=i+4|0;if((kb[c[k>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if((kb[c[k>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=HE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=FE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)IE(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function SK(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function TK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){HK(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];UK(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+VK(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=pb[n&127](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,569,103498);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function VK(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function WK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){HK(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];UK(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+VK(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else qa(103508,103488,606,103532)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=pb[o&127](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,765,103532);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function XK(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function YK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){_K(d,e,f,g,h,i);break}if(!(k&1))qa(135312,103488,1231,103540);else{aL(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){$K(d,e,f,g,h,i);break}_K(d,e,f,g,h,i)}while(0);if((l|0)==6)ZK(d,e,f,g,h,i);return}function ZK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;cL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];cL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function _K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s<p?s:p;n=s<o?s:o;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;cL(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;cL(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];cL(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;cL(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];cL(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function $K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;cL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];cL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function aL(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o<m?o:m;n=o<n?o:n;q=0;while(1){if((q|0)>=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;cL(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;cL(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];cL(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;cL(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];cL(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;QK(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function bL(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21940+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21940+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21972+(d<<5)+(b<<2)>>2]|0;return d|0}function cL(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function dL(b){b=b|0;var d=0,e=0;if((c[46433]|0)!=0|(c[46432]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,1)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,0)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function eL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[46433]|0;if(!((e|0)!=0?(a[(yx(b,e)|0)>>0]|0)!=0:0)){e=c[46432]|0;if(!e){e=0;break}if(!(a[(yx(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=fL(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}XL(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}XL(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+LL(b,c[46433]|0,-25.0,-180.0)*.017453292519943295+r;j=+LL(b,c[46432]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function fL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;Pw(1,103553,f)|0;d=0}l=h;return d|0}function gL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;hL(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];bM(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{iL(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function hL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)qa(135630,103488,1316,103615)}function jL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dL(b);return}function kL(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=lL(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+mL(+(n+-1|0),C);A=n+1|0;L=~~+mL(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+nL(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+nL(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+hb[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+mL(q+-1.5707963267948966,6.283185307179586);b=1;p=+mL(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=uH(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];oL(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)pL(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)qL(o,m,l,j,i,k);else{oL(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;oL(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)pL(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)qL(o,k,l,j,i,i+3.141592653589793);rL(J);return o|0}function lL(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=sL()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];tL(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}XL(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+uL(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];tL(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}vL(o);l=q;return o|0}function mL(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function nL(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function oL(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=xH(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function pL(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){qL(h,a,b,c,e+i,i);break}else{oL(h,+E(+i)*c+a,+F(+i)*c+a);break}}else oL(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function qL(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;oL(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);oL(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function rL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function sL(){var a=0;a=uH(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=uH(128e3)|0;return a|0}function tL(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=xH(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function uL(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function vL(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=xH(c[a>>2]|0,b<<6)|0;return}function wL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)qa(103632,103643,203,103654);e=c[h>>2]|0;if(!e)qa(103668,103643,206,103654);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=xL(e)|0;if(!0)e=0;else{e=(AG(c[h>>2]|0)|0)==0;e=e?0:g}if(!((OP(b,d,e)|0)<<24>>24))yL(d,e);do if(e|0){f=c[g>>2]|0;b=c[15686]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;g1(b,103711,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;g1(b,103679,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function xL(a){a=a|0;var b=0;b=c[46531]|0;if((b|0)!=0?(O$(b,a)|0)==0:0)a=c[46540]|0;else{D_(b);c[46531]=n1(a)|0;a=e2(186124,22228,35,36,93)|0;c[46540]=a}return a|0}function yL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(V$(e,103745,4)|0)if((V$(e,103750,5)|0)!=0?(V$(e,103756,9)|0)!=0:0){g=4248;e=103766}else{g=8344;e=103802}else{g=6296;e=103783}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function zL(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function AL(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=30;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Cw(b,c[4555]|0)|0;c[a+144>>2]=b;return b|0}function BL(a,b,d){a=a|0;b=b|0;d=d|0;d=E_(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=n1(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=n1(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function CL(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b>>2]|0);D_(c[b+4>>2]|0);D_(b);return}function DL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=b$(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=b$(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function EL(){eb(186164)|0;return}function FL(){var a=0,b=0;b=l;l=l+16|0;a=b;eb(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[46541]|0)-(c[46542]|0)|0)*.016666666666666666)}function GL(a){a=a|0;var b=0,d=0;b=uH(16)|0;a=(a|0)>2?a:2;d=uH(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function HL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function IL(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function JL(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function KL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=i1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function LL(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+c2(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function ML(a){a=a|0;var b=0.0;b=+h[22908];if(!(b>0.0)){b=+LL(a,nx(a,0,104612,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function NL(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=yx(a,b)|0;return c|0}function OL(b,c,d){b=b|0;c=c|0;d=d|0;b=NL(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=QL(yx(a,b)|0)|0;return a|0}function QL(a){a=a|0;return RL(a,0)|0}function RL(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((O$(b,134226)|0)!=0?(O$(b,104623)|0)!=0:0)if((O$(b,104626)|0)!=0?(O$(b,104631)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(a2(b)|0)&255}else c=1;else c=0;return c|0}function SL(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=SL(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=SL(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function UL(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function VL(a,b){a=a|0;b=b|0;if((SL(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else qa(104643,104635,194,104659)}function WL(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function XL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function YL(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[46545]|0;f=d+1024|0;if((d-e|0)<1024){c[46545]=f;f=xH(c[46546]|0,f)|0;c[46546]=f;d=c[46545]|0}else f=c[46546]|0;d=O0(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(W_(d)|0)+e|0;d=c[46546]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[46546]|0;return ((e|0)>0?d:0)|0}function ZL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[46362]|0;e=c[46548]|0;if((c[46547]|0)==(d|0))d=e;else{if(e){D_(c[e>>2]|0);D_(c[46548]|0);c[46548]=0;d=c[46362]|0}c[46547]=d;if(!d)break;if(!(a[d>>0]|0))break;d=_L(d)|0;c[46548]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=$L(d,c[46549]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function _L(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=n1(a)|0;d=0;while(1){b=k1(b,104958)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=vH(a)|0;else a=xH(d,a)|0;c[a+(g<<2)>>2]=b;f=W_(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[46549]=e;return f|0}function $L(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[46550]|0;c[46550]=F_(h,b+2+(W_(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[46550]|0;c[e>>2]=b;c[e+4>>2]=104956;c[e+8>>2]=d;Y0(h,104949,e)|0;if(!(K1(c[46550]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[46550]|0;l=g;return a|0}function aM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(b$(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function bM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;C=A?r:e;r=r+1|0;b=A?f:b;e=C;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;XL(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k<j;m=m-q;n=n-o;n=n*n+m*m;g=C?p:g;i=C?i:p;j=C?n:j;k=C?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function cM(){return 0}function dM(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+LL(b,c[46376]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+LL(b,c[46375]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=WJ(OL(b,c[46377]|0,104960)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=yx(b,c[46384]|0)|0;d=+LL(b,c[46380]|0,14.0,1.0);e=OL(b,c[46381]|0,104968)|0;f=OL(b,c[46382]|0,134232)|0;i=(Rz(l)|0)!=0;k=(HJ(b)|0)==2;i=kH(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[46385]|0;if((i|0?(j=yx(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(Rz(j)|0)!=0;l=kH(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(ez(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(KL(b,c[46388]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;tb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function eM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=ez(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[46412]|0;if(((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){fM(b,m);t=(Rz(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=kH(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=QL(NL(b,c[46422]|0,134226)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[46413]|0;if((f|0?(j=yx(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){fM(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(Rz(j)|0)!=0;j=kH(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[46427]|0;if(((d|0)!=0?(k=yx(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){gM(b,m,n);j=(Rz(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=kH(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[46428]|0;if((f|0?(q=yx(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){gM(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(Rz(q)|0)!=0;q=kH(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=xx(b,108373)|0;d=d|0?d:191979;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;hM(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46434]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=xx(b,108382)|0;d=d|0?d:191979;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;hM(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46435]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function fM(a,b){a=a|0;b=b|0;h[b>>3]=+LL(a,c[46409]|0,14.0,1.0);c[b+8>>2]=OL(a,c[46410]|0,104968)|0;c[b+12>>2]=OL(a,c[46411]|0,134232)|0;return}function gM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))fM(a,b);h[d>>3]=+LL(a,c[46429]|0,+h[b>>3],1.0);c[d+8>>2]=OL(a,c[46430]|0,c[e>>2]|0)|0;c[d+12>>2]=OL(a,c[46431]|0,c[b+12>>2]|0)|0;return}function hM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=A$(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function iM(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=yx(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(QL(d)|0)<<24>>24==0&1;else b=0;return b|0}function jM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function kM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];lM(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function lM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function mM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((ay(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){nM(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;nM(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{nM(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;nM(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=Sy(b)|0;while(1){if(!n)break;WL(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];oM(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];pM(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Ex(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]<N?K:B)>>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]<M?K:B)+8>>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Gx(b,m)|0}n=Ty(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]<P?K:G)>>3];h[D>>3]=+h[(+h[D>>3]<O?K:G)+8>>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function nM(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function qM(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(V$(ry(a)|0,104980,7)|0)==0&1;return a|0}function rM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(pz(b)|0){case 0:{e=nx(a,0,c,191979)|0;break a}case 1:{e=nx(a,1,c,191979)|0;break a}case 2:{e=nx(a,2,c,191979)|0;break a}default:{e=0;break a}}while(0);rx(b,e,d)|0;return e|0}function sM(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=tM(d)|0;h=Cw(23488,c[4555]|0)|0;j=vA(d,104988,1)|0;Az(j,134401,280,1)|0;Tw(g,128,k+16|0);e=Sy(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=Ex(d,e)|0;while(1){if(!f)break a;uM(f,j,g,h,i);f=Gx(d,f)|0}}while(0);e=Ty(d,e)|0}Xw(g);yw(h)|0;f=ay(j)|0;e=Sy(j)|0;while(1){if(!e)break;h=Ty(j,e)|0;dz(d,e)|0;e=h}$x(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}yw(i)|0;l=k;return f|0}function tM(a){a=a|0;var b=0;b=Cw(23524,c[4555]|0)|0;DM(a,b);return b|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(z$(ry(m)|0,104980,7)|0))o=vM(g,ry(m)|0)|0;else o=0;if(!(z$(ry(n)|0,104980,7)|0))i=vM(g,ry(n)|0)|0;else i=0;h=(o|0)!=0;j=(i|0)!=0;if(h|j){if((o|0)==(i|0)){r=ry(m)|0;s=ry(m)|0;c[k>>2]=r;c[k+4>>2]=s;Pw(0,105003,k)|0;break}g=wM(f,b)|0;if(g|0){xM(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!j)if(!(oz(o,n)|0)){zM(f,m,n,xM(b,yM(m,o,e,d)|0,n)|0);break}else{r=ry(n)|0;s=ry(o)|0;c[q>>2]=r;c[q+4>>2]=s;Pw(0,105158,q)|0;break}if(!h)if(!(oz(i,m)|0)){zM(f,m,n,xM(b,m,yM(n,i,e,d)|0)|0);break}else{r=ry(m)|0;s=ry(i)|0;c[p>>2]=r;c[p+4>>2]=s;Pw(0,105121,p)|0;break}if(oz(i,o)|0){q=ry(o)|0;s=ry(i)|0;c[r>>2]=q;c[r+4>>2]=s;Pw(0,105041,r)|0;break}if(!(oz(o,i)|0)){s=yM(m,o,e,d)|0;zM(f,m,n,xM(b,s,yM(n,i,e,d)|0)|0);break}else{q=ry(i)|0;r=ry(o)|0;c[s>>2]=q;c[s+4>>2]=r;Pw(0,105081,s)|0;break}}}while(0);l=t;return}function vM(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function wM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=nb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;c=Rx(ez(b)|0,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(a,c)|0;return c|0}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;Ww(e,105195)|0;i=c[46551]|0;c[46551]=i+1;c[g>>2]=i;Y0(j,134313,g)|0;Ww(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;Ww(e,ry(d)|0)|0;h=fz(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=az(h,e,1)|0;Az(j,134365,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;Xy(d,j,1)|0;Xy(f,b,1)|0;f=ez(j)|0;c[46384]=rM(f,j,105198,191979,c[46384]|0)|0;f=ez(j)|0;c[46387]=rM(f,j,138e3,131253,c[46387]|0)|0;f=ez(j)|0;c[46377]=rM(f,j,105204,105210,c[46377]|0)|0;l=k;return j|0}function zM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];nb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];nb[c[a>>2]&63](a,g,1)|0;l=f;return}function AM(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function BM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0<d>>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function DM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=ry(a)|0;if(!(nb[c[b>>2]&63](b,d,512)|0)){i=uH(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;nb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;Pw(0,105214,g)|0}DM(a,b);e=e+1|0}l=h;return}function EM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function FM(a){a=a|0;var b=0,c=0,d=0;d=vA(a,104988,1)|0;Az(d,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;GM(c,d);c=Gx(a,c)|0}b=Ty(a,b)|0}b=Sy(d)|0;while(1){if(!b)break;c=Ty(d,b)|0;HM(b);dz(a,b)|0;b=c}$x(d)|0;return}function GM(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=IM(f,d)|0;e=xM(b,f,IM(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;JM(b)}return}function HM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){tb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);Cz(a,134365)|0;return}function IM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=ez(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){Xy(d,b,1)|0;b=A$(ry(b)|0,58)|0;if(!b)qa(108182,104635,1225,105266);d=b+1|0;b=az(f,d,0)|0;if(!b){b=az(f,d,1)|0;Az(b,134365,304,1)|0;d=sx(f,1,0)|0;while(1){if(!d)break a;g=yx(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))rx(b,d,e)|0;d=sx(f,1,d)|0}}}while(0);return b|0}function JM(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+144>>2]|0);KM(a);nH(c[(c[b>>2]|0)+96>>2]|0);nH(c[(c[b>>2]|0)+108>>2]|0);nH(c[(c[b>>2]|0)+100>>2]|0);nH(c[(c[b>>2]|0)+104>>2]|0);Cz(a,134378)|0;return}function KM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;D_(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}D_(a);D_(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function LM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=nx(a,b,c,0)|0;if(!e)e=nx(a,b,c,d)|0;return e|0}function MM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=A$(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(U0(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e2(h,23560,252,8,94)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];Y0(j,134313,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;Ww(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function NM(a,b){a=a|0;b=b|0;return b$(c[a>>2]|0,c[b>>2]|0)|0}function OM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[46552]|0)!=(d|0)){c[46552]=d;a[191878]=0}Tw(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=QM(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[191878]|0)){c[j>>2]=ry(d)|0;Pw(0,106681,j)|0;a[191878]=1}h=-1;e=PM(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[191878]|0)){g=ry(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;Pw(0,106802,k)|0;a[191878]=1}e=PM(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=n1(n)|0;Xw(o);l=q;return p|0}function PM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=RM(g)|0;h=d+4|0;i=d+8|0;e=W_(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;D_(g);l=j;return k|0}function QM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=e2(h,23560,252,8,94)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function RM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;Tw(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=QM(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=n1(h)|0;Xw(i);l=k;return j|0}function SM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;Tw(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=n1(f)|0;Xw(g);l=i;return h|0}function TM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];UM(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];oM(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=lb[d&127](f,e)|0}else d=0;l=n;return d|0}function UM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function VM(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];oM(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];pM(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(XM(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((YM(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(VM(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function XM(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function YM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)qa(106911,104635,1637,106919);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((VG(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function ZM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];JE(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function _M(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(O$(e,106934)|0)){d=4;break a}if(!(O$(e,106940)|0)){d=12;break a}break}case 70:case 102:{if(!(O$(b+1|0,106948)|0)){d=2;break a}break}case 76:case 108:{if(!(O$(b+1|0,106953)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(O$(e,106957)|0)){d=0;break a}if(!(O$(e,106961)|0)){d=2;break a}break}case 79:case 111:{if(!(O$(b+1|0,106963)|0)){d=8;break a}break}case 80:case 112:{if(!(O$(b+1|0,106968)|0)){d=6;break a}break}case 83:case 115:{if(!(O$(b+1|0,106976)|0)){d=10;break a}break}case 84:case 116:{if(!(O$(b+1|0,106982)|0)){d=10;break a}break}case 89:case 121:{if(!(O$(b+1|0,106986)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;Pw(0,106989,f)|0}while(0);l=g;return d|0}function $M(d,f){d=d|0;f=f|0;var g=0;g=xx(d,107030)|0;if(g)if(!(a[g>>0]|0))f=0;else f=_M(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function aN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q<f?w:p)>>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s<i?w:p)+8>>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function bN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function cN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=C_(40)|0;c[w>>2]=0;s=y;o=0;e=$(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=$(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=E3(c[f>>2]|0,w|0,x|0)|0;if(!e)bb(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[191874]|0))t=0;else{o=0;e=_(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=aa(95,b|0,107038)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[46553]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[46553]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;ca(20,0,107042,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=aa(96,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[46553]&2|0){o=0;ja(26,c[15686]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=$(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=aa(97,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[46363]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[191874]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=ca(31,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=ca(31,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=$(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=aa(98,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=aa(84,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=$(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ma(28,v|0,n|0,8,99);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;ia(107,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15686]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[46553]&16|0:0){o=0;ja(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ma(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ka(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ka(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=ca(32,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ma(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;ia(108,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ha(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=$(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=$(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ka(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=D3(186216,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;ia(109,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[46553]&4|0){o=0;na(8,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;oa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[191874]|0))e=0;else{o=0;ia(110,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;ia(103,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;ia(103,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(111,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(103,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}D_(w|0);l=y;return}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;D1(107909,a)|0;D1(107920,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){YN(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{_N(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;g1(a,107940,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;g1(a,107960,p)|0;d=d+1|0}D1(107982,a)|0;l=q;return}function eN(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function fN(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function gN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;YN(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){WN(j,h,c[h+24>>2]|0);pO(b,f,h,0.0)|0;break}else{WN(j,h,i);pO(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function hN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;YN(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;WN(h,g,e);pO(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function iN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=uH((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;WN(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=XN(j,i)|0;NR(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){WN(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{YN(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}ZN(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){WN(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];ZN(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=F_(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function jN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];RN(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function kN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];RN(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function lN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;QN(uN(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function mN(a){a=a|0;var b=0,d=0;d=a+20|0;wN(c[d>>2]|0);b=a+24|0;wN(c[b>>2]|0);xN(c[d>>2]|0);xN(c[b>>2]|0);yN(c[d>>2]|0,a);yN(c[b>>2]|0,a);zN(c[d>>2]|0);zN(c[b>>2]|0);return}function nN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;D1(107157,a)|0;c[n>>2]=10;c[n+4>>2]=10;g1(a,107563,n)|0;D1(135183,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;g1(a,135202,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];vN(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}D1(107580,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;g1(a,135239,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;g1(a,107605,x)|0;l=z;return}function oN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[15686]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];pN(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];pN(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)D_(i);p=vH(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(rN(u,d)|0);j=+h[I>>3]}else{j=+qN(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(rN(q,d)|0);else j=+qN(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(rN(q,d)|0);j=+h[J>>3]}else{j=+qN(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=ry(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=ry(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;g1(G,107116,M)|0}QK(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,25576);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];jL(b,z,E,F)}v=v+1|0}D_(o);l=N;return}function pN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function qN(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=uN(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function rN(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=uN(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function sN(a){a=a|0;return 0}function tN(a){a=a|0;return 0}function uN(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)qa(107129,107135,423,107143);a=c[a+16>>2]|0;a=nb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)qa(107154,107135,425,107143);else return a|0;return 0}function vN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=rN(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+qN(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;g1(d,107656,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=rN(m,g)|0;else f=~~+qN(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;g1(d,107678,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=rN(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+qN(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;g1(d,107692,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function wN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=$N(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function xN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)PN(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function yN(a,b){a=a|0;b=b|0;var d=0;d=Aw(a)|0;while(1){if(!d)break;a=Aw(c[d+16>>2]|0)|0;while(1){if(!a)break;DN(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function zN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Aw(a)|0;while(1){if(!e)break;i=e+8|0;f=Aw(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[46553]&8|0)AN(f,~~+h[i>>3]);g=f+32|0;eO(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15686]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;g1(i,107713,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Ew(e)|0){BN(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);D1(107733,i)|0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;D1(107738,i)|0;BN(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);D1(150517,i)|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function BN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=CN(c[d+32>>2]|0)|0;e=CN(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;g1(b,107744,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=CN(c[d+32>>2]|0)|0;i=CN(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;g1(b,107744,e)|0}l=g;return}function CN(a){a=a|0;switch(a|0){case 0:{a=107795;break}case 1:{a=107790;break}case 2:{a=107783;break}case 3:{a=107776;break}case 4:{a=107768;break}default:a=0}return a|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((dO(u,j,k)|0)==0?(dO(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,EN(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;FN(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;FN(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function EN(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))qa(107866,107135,843,107897);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function FN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=IN(b,e)|0;if(!b){h=0;break}d=IN(d,f)|0;if(!d){i=6;break}if(!(EN(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)qa(135312,107135,871,107815);else if((i|0)==7)h=KN(b,JN(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function GN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=uN(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;bO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=IN(b,e)|0;m=IN(d,f)|0;do if(!(a[b>>0]|0)){j=uN(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=uN(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function HN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(EN(b,d)|0))break;g=IN(b,1)|0;d=IN(d,e)|0;b=g}g=c[(uN(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;cO(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function IN(a,b){a=a|0;b=b|0;if(!a)qa(107802,107135,798,107806);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function JN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=LN(b,c,3,1)|0;else b=LN(b,c,4,2)|0;l=f;return b|0}Pw(1,107828,e)|0;bb(186216,1);return 0}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=IN(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j<k)?(g=+h[a+16>>3],i=+h[b+24>>3],!(g>i)):0){if(k<j&g<k){b=MN(a,b,d,e)|0;break}if(k<g&g<i){b=0-(MN(b,a,d,e)|0)|0;break}if(!(g==k))if(j==k){d=c[a+36>>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j<i){o=(c[a+36>>2]|0)==(d|0);d=ON(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=ON(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=NN(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(NN(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=NN(f,o,d)|0;break}else{b=0-(NN(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i<j){a=c[a+36>>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=ON(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(ON(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function ON(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function PN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(JN(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{bO(d,a,b);break}case -1:{bO(d,b,a);break}default:{}}b=b+1|0}}return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=vH(d<<2)|0;else a=xH(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function RN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=nb[c[a>>2]&63](a,f,512)|0;if(!e){e=uH(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Cw(25624,c[4555]|0)|0;nb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;nb[c[f>>2]&63](f,b,1)|0;l=g;return}function SN(a,b,d){a=a|0;b=b|0;d=d|0;aO(c[b+32>>2]|0);D_(c[b+28>>2]|0);D_(b);return}function TN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e<f)a=!(+h[b+8>>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+16>>2]|0)|0;D_(b);return}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function WN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function XN(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function YN(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function ZN(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f<g){k=0;l=i;d=j;e=f;f=g}else{k=1;l=j;d=i;e=g}h[b+24>>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function $N(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=uH(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=yR()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function aO(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;yw(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}D_(e);D_(a);return}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,1)|0;l=e;return}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;nb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,2)|0;l=e;return}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(nb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function eO(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=fO(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=gO(a,d,b,e)|0;d=d+1|0}while(1){d=hO(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}iO(e)}}return}function fO(a){a=a|0;var b=0;b=uH(8)|0;c[b+4>>2]=uH(a<<2)|0;c[b>>2]=-1;return b|0}function gO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Aw(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=gO(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;jO(e,b);return d+1|0}function hO(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function iO(a){a=a|0;D_(c[a+4>>2]|0);D_(a);return}function jO(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function kO(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function lO(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=uH(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=uH((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function nO(a){a=a|0;var b=0;b=uH(24)|0;c[b>>2]=0;c[b+16>>2]=uH(a*40|0)|0;return b|0}function oO(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function pO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;qO(b,f);qO(d,f);return a|0}function qO(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function rO(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+28>>2]|0);D_(c[b>>2]|0);D_(c[a+20>>2]|0);D_(a);return}function sO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}GR();a:do if(!(JR(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=LR()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=tO(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(JR(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;MR(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function tO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function uO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;wC(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function vO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(XB(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){tb[d&127](a);a=0}else a=0;else a=1;return a|0}function wO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;dC(a);return}function xO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function yO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function zO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)tb[d&127](a);return}function AO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)tb[d&127](a);cC(a);return}function BO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)tb[d&127](a);return}function CO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)tb[d&127](a);return}function DO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function EO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)tb[d&127](a);return}function FO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)tb[d&127](a);return}function GO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)tb[d&127](a);return}function HO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)tb[d&127](a);return}function IO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)tb[d&127](a);return}function JO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)tb[d&127](a);return}function KO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)tb[d&127](a);return}function LO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)tb[d&127](a);return}function MO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)tb[d&127](a);return}function NO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)tb[d&127](a);return}function OO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)tb[d&127](a);return}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)yb[h&15](a,b,d,e,f);return}function QO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)tb[d&127](a);return}function RO(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)ub[e&63](a,b);return}function SO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)tb[d&127](a);return}function TO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];xO(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vb[g&127](b,f,e)}}while(0);l=k;return}function UO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=iQ(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e2(e,f,c[a+20>>2]|0,4,100)|0)!=0:0))h=3;a:do if((h|0)==3){switch(jQ(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{Pw(1,108020,g)|0;break a}}a=vH((W_(b)|0)+16|0)|0;c[i>>2]=b;Y0(a,107985,i)|0;if(AG(a)|0){c[j>>2]=b;Pw(0,107994,j)|0}D_(a)}while(0);l=k;return}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(VO(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)ub[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function YO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(b$(b,108041)|0)){c[j>>2]=3;b=f;continue b}if(!(b$(b,108062)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+b2(d);b=f;continue b}break}case 100:{if(!(b$(b,134245)|0)){c[j>>2]=1;b=f;continue b}if(!(b$(b,134238)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(b$(b,131253)|0?b$(b,108047)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(b$(b,108057)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(b$(b,108075)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(b$(b,108082)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(b$(b,108091)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;Pw(0,108099,k)|0;b=f}}while(0);l=m;return}function ZO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){yO(a,g,g,2)|0;f=c[i>>2]|0}vb[f&127](a,g,e)}l=j;return}function _O(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;xb[c[n>>2]&31](a,e,d,f)}else xb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function $O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];_O(a,f,4,d);l=e;return}function aP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){zb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=h;h=xH(c[46594]|0,h<<4)|0;c[46594]=h}else h=c[46594]|0;yO(a,b,h,d)|0;zb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){vb[f&127](a,b,d);break}e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;vb[c[g>>2]&127](a,e,d)}while(0);return}function cP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)ub[f&63](b,d);return}function dP(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)qa(108200,108152,691,108163);if(!d)qa(108182,108152,692,108163);if(!(a[d>>0]|0))qa(108187,108152,693,108163);D=yC(d)|0;if(!D){if((C|0)!=0&(VJ(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)yb[m&15](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];BC(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]<v?E:G)>>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]<w?E:G)+8>>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(eP(i)|0){case 1:if(q<r){p=q*p;o=q*o;break a}else{p=r*p;o=r*o;break a}case 2:{p=q*p;break}case 3:{o=r*o;break}case 4:{p=q*p;o=r*o;break}default:{}}while(0);if(p<t){t=(t-p)*.5;j=j+t;h[E>>3]=j;k=k-t;h[n>>3]=k}if(o<w){w=(w-o)*.5;h[z>>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];xO(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];xO(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];gP(b,D,B,g,G)}}}l=F;return}function eP(b){b=b|0;if(a[b>>0]|0)if(O$(b,138034)|0)if(O$(b,137966)|0)if(!(O$(b,108195)|0))b=4;else b=(QL(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function fP(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return} +function SX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-20;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=26;break b}else h=4;break}default:{h=29;break b}}e=e+h|0}if((h|0)==17){c[g>>2]=e;f=0;break}else if((h|0)==20){c[g>>2]=e;f=0;break}else if((h|0)==23){c[g>>2]=e;f=0;break}else if((h|0)==26){c[g>>2]=e;f=0;break}else if((h|0)==28){c[g>>2]=e;f=20;break}else if((h|0)==29){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function TX(){return 58116}function UX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;c[g>>2]=d;h=c[b>>2]|0;a=f-(c[e>>2]|0)|0;if((d-h|0)>(a|0)){a=h+a|0;c[g>>2]=a;f=1}else{f=0;a=d}fX(h,g);h=c[g>>2]|0;d=c[b>>2]|0;g=h-d|0;F3(c[e>>2]|0,d|0,g|0)|0;c[b>>2]=(c[b>>2]|0)+g;c[e>>2]=(c[e>>2]|0)+g;l=i;return (f?2:h>>>0<a>>>0&1)|0}function VX(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+72|0;k=f;l=h;m=c[e>>2]|0;n=c[g>>2]|0;a:while(1){d=m>>>0<f>>>0;if(!(n>>>0<h>>>0&d)){o=12;break}d=a[m>>0]|0;i=d&255;switch(a[j+i>>0]|0){case 5:{if((k-m|0)<2){d=1;break a}b[n>>1]=(d&31)<<6|a[m+1>>0]&63;m=m+2|0;n=n+2|0;continue a}case 6:{if((k-m|0)<3){d=1;break a}b[n>>1]=(a[m+1>>0]&63)<<6|i<<12|a[m+2>>0]&63;m=m+3|0;n=n+2|0;continue a}case 7:{if((l-n|0)<4){d=2;break a}if((k-m|0)<4){d=1;break a}i=((a[m+1>>0]&63)<<12|(d&7)<<18|(a[m+2>>0]&63)<<6|a[m+3>>0]&63)+-65536|0;b[n>>1]=i>>>10|55296;b[n+2>>1]=i&1023|56320;m=m+4|0;n=n+4|0;continue a}default:{b[n>>1]=d<<24>>24;m=m+1|0;n=n+2|0;continue a}}}if((o|0)==12)d=d?2:0;c[e>>2]=m;c[g>>2]=n;return d|0}function WX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function XX(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function YX(a,b){a=a|0;b=b|0;return 0}function ZX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function _X(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function $X(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)return 1;else{b=d[b+1>>0]|0;return b>>>7^1|(b&192|0)==192|0}return 0}function aY(b,c){b=b|0;c=c|0;var d=0;b=a[c+2>>0]|0;do if(b<<24>>24>-1)b=1;else{d=a[c>>0]|0;if(d<<24>>24==-17?(a[c+1>>0]|0)==-65:0)if((b&255)>189){b=1;break}else{b=191;c=-65}else{if((b&255)>191){b=1;break}c=a[c+1>>0]|0;b=c&255;if(d<<24>>24==-32){b=(c&255)<160|(b&192|0)==192;break}}b=(b&128|0)==0?1:d<<24>>24==-19?(c&255)>159:(b&192|0)==192}while(0);return b&1|0}function bY(b,c){b=b|0;c=c|0;var e=0;e=d[c+3>>0]|0;do if(!((e&128|0)==0|(e&192|0)==192)?(e=d[c+2>>0]|0,!((e&128|0)==0|(e&192|0)==192)):0){e=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;if(e<<24>>24==-16){b=(b&255)<144|(c&192|0)==192;break}else{b=(c&128|0)==0?1:e<<24>>24==-12?(b&255)>143:(c&192|0)==192;break}}else b=1;while(0);return b&1|0}function cY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e+1>>0]|0;if(!(f<<24>>24)){h=a[e>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=EY(12,b,e+2|0,m,g)|0;break a}case 13:{f=EY(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 16:{f=FY(b,e+4|0,m,g)|0;break a}case 15:{f=AY(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=uY(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+5>>0]|0)==0?(a[e+4>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=GY(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[i+3>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[h+3>>0]|0;i=a[k>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function dY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;do switch(f|0){case 2:{f=xY(b,e+2|0,i,g)|0;break a}case 3:{f=tY(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[b+3>>0]|0){b=h;continue b}if((a[h>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[b+5>>0]|0){b=h;continue b}if((a[i>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function eY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b+1>>0]|0;h=a[b>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function fY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}h=(a[b>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function gY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function hY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=uY(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function iY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function jY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function kY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function lY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;i=e+3|0;h=a[i>>0]|0;j=h<<24>>24==0;k=a[l>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+5>>0]|0;b=a[e+4>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function mY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=jX(b)|0;return b|0}function nY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+3>>0]|0)==0?(a[c+2>>0]|0)==116:0){if(!(a[c+1>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c+1>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[c+3>>0]|0)==0:0)?(a[c+2>>0]|0)==109:0)?(a[c+5>>0]|0)==0:0)?(a[c+4>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c+1>>0]|0))switch(a[c>>0]|0){case 113:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=117){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=112){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function oY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[e+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function pY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+72|0;f=e;a:while(1){h=f+2|0;if((j-h|0)<=1){f=1;break}f=a[f+3>>0]|0;b=f<<24>>24==0;e=a[h>>0]|0;if(b)f=d[i+(e&255)>>0]|0;else f=sY(f,e)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(b&e<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!b){k=12;break a}if(e<<24>>24>=0){f=h;continue a}break}default:if(!b){k=12;break a}}switch(e<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function qY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j>>0]|0;b=a[j+1>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[b>>0]|0;f=(o<<4&48|i>>>6|a[j+3>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function rY(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k+1>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0<e>>>0;k=c[h>>2]|0;if(!(j&k>>>0<i>>>0))break;j=((d[g+1>>0]|0)<<8|(d[g>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function sY(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function tY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=vY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[j+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))f=d[k+(h&255)>>0]|0;else f=sY(b,h)|0;switch(f|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else j=i}if((h|0)==22){c[g>>2]=i;b=0;break}else if((h|0)==23){c[g>>2]=i;b=0;break}else if((h|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==28){c[g>>2]=j+4;b=9;break}else if((h|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function uY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function vY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e+1>>0]|0;h=a[e>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=wY(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[b+3>>0]|0;f=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function wY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function xY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[e+3>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[i>>0]|0)>>0]|0;else h=sY(h,a[i>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+4|0,f,g)|0;break a}case 20:{h=zY(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=AY(b,e+2|0,f,g)|0;break a}case 17:{h=BY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h+1>>0]|0;k=a[h>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}k=h+2|0;e=o-k|0;if((e|0)<=1){h=-1;break a}l=a[h+3>>0]|0;i=a[k>>0]|0;if(!(l<<24>>24))j=d[m+(i&255)>>0]|0;else j=sY(l,i)|0;switch(j|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140706+(l&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=k;h=0;break a}case 49:{c[g>>2]=k;h=0;break a}case 50:{if((e|0)<3){h=-2;break a}c[g>>2]=k;h=0;break a}case 52:{if((e|0)<4){h=-2;break a}c[g>>2]=k;h=0;break a}case 54:{c[g>>2]=k;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[h+3>>0]|0;e=a[i>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=CY(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function yY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h+1>>0]|0;b=a[h>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[h+3>>0]|0){h=f;continue b}if((a[f>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[h+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function zY(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function AY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;j=o-e|0;a:do if((j|0)>1){f=a[e+1>>0]|0;if(!(f<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(f,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(f&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[k+3>>0]|0;j=a[f>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j+1>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[j+3>>0]|0){j=f;continue c}if((a[f>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[k+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function BY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[j+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function CY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e+1>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[h>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}e=a[e+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[o+(h&255)>>0]|0;else e=sY(e,h)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=tY(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[i>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function DY(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function EY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f+1>>0]|0;i=a[f>>0]|0;if(!(e<<24>>24))e=d[k+(i&255)>>0]|0;else e=sY(e,i)|0;switch(e|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{i=f+2|0;if((e|0)==(b|0)){l=12;break a}else{f=i;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-i|0)>1){c[h>>2]=i;g=a[f+3>>0]|0;f=a[i>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function FY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+5>>0]|0;h=a[e+4>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function GY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}h=a[h+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[b+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function HY(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function IY(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(qZ(a,c[59964+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function JY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,0,b,c,d)|0}function KY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,1,b,c,d)|0}function LY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;BX(58480,b,c,d);return}function MY(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;a:do if(f>>>0<g>>>0){l=c[d+72>>2]|0;i=f+1|0;b:do if((i|0)==(g|0)){i=a[d+69>>0]|0;if(((i<<24>>24)+-3|0)>>>0<3){i=-1;break a}switch(a[f>>0]|0){case 60:case 0:{i=-1;break a}case -17:case -1:case -2:break;default:break b}if(!((e|0)==1&i<<24>>24==0)){i=-1;break a}}else{k=a[f>>0]|0;i=a[i>>0]|0;j=((k&255)<<8|i&255)&65535;c:do if(j<<16>>16<-2){if(j<<16>>16>=-257){switch(j<<16>>16){case -257:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+16>>2];i=14;break a}switch(j<<16>>16){case -4165:break;default:break c}if((e|0)==1)switch(a[d+69>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}i=f+2|0;if((i|0)==(g|0)){i=-1;break a}if((a[i>>0]|0)!=-65)break b;c[h>>2]=f+3;c[l>>2]=c[b+8>>2];i=14;break a}else{if(j<<16>>16<15360){switch(j<<16>>16){case -2:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+20>>2];i=14;break a}switch(j<<16>>16){case 15360:break;default:break c}i=a[d+69>>0]|0;if(i<<24>>24==4){if((e|0)==1)break b}else if((e|0)==1&i<<24>>24==3)break b;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);if(k<<24>>24){if((e|0)==1|i<<24>>24!=0)break;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}if((e|0)==1?(a[d+69>>0]|0)==5:0)break;i=c[b+16>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);i=c[b+(a[d+69>>0]<<2)>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0}else i=-4;while(0);return i|0}function NY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e>>0]|0;if(!(f<<24>>24)){h=a[e+1>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=mZ(12,b,e+2|0,m,g)|0;break a}case 13:{f=mZ(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 16:{f=nZ(b,e+4|0,m,g)|0;break a}case 15:{f=iZ(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=cZ(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+4>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=oZ(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[j>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[k>>0]|0;i=a[h+3>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function OY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;do switch(f|0){case 2:{f=fZ(b,e+2|0,i,g)|0;break a}case 3:{f=bZ(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[h>>0]|0){b=h;continue b}if((a[b+3>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[i>>0]|0){b=h;continue b}if((a[b+5>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function PY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b>>0]|0;h=a[b+1>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function QY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}h=(a[f+5>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+5>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function RY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function SY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=cZ(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function TY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function UY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function VY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function WY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;h=a[l>>0]|0;j=h<<24>>24==0;i=e+3|0;k=a[i>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+4>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function XY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if(!(a[b>>0]|0))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){e=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8)b=d+-48|b<<4;else if((e|0)==9)b=(b<<4)+-55+d|0;else if((e|0)==10)b=(b<<4)+-87+d|0;if((b|0)<1114112)c=c+2|0;else{b=-1;e=19;break}}}else{c=b;b=0;e=13}else{d=b;b=0;c=-1;e=16}while(0);while(1)if((e|0)==13){if(a[c>>0]|0){d=c;c=-1;e=16;continue}if((a[c+1>>0]|0)==59){e=18;continue}d=c;c=a[c+1>>0]|0;e=16;continue}else if((e|0)==16){b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;e=19;continue}c=d+2|0;e=13;continue}else if((e|0)==18){b=jX(b)|0;e=19;continue}else if((e|0)==19)return b|0;return 0}function YY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+2>>0]|0)==0?(a[c+3>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[c+1>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[c+1>>0]|0)==97:0)?(a[c+2>>0]|0)==0:0)?(a[c+3>>0]|0)==109:0)?(a[c+4>>0]|0)==0:0)?(a[c+5>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c>>0]|0))switch(a[c+1>>0]|0){case 113:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=117){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=112){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function ZY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[i>>0]|0;h=a[e+3>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function _Y(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+72|0;a:while(1){h=e+2|0;if((k-h|0)<=1){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function $Y(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j+1>>0]|0;b=a[j>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[j+3>>0]|0;f=(o<<4&48|i>>>6|a[b>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function aZ(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0<e>>>0;k=c[h>>2]|0;if(!(j&k>>>0<i>>>0))break;j=((d[g>>0]|0)<<8|(d[g+1>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function bZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=dZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[i>>0]|0;f=a[j+3>>0]|0;if(!(b<<24>>24))h=d[k+(f&255)>>0]|0;else h=sY(b,f)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{f=23;break b}case 6:{f=24;break b}case 7:{f=26;break b}case 18:{f=28;break b}case 29:break;default:{f=29;break b}}e=f&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else j=i}if((f|0)==22){c[g>>2]=i;b=0;break}else if((f|0)==23){c[g>>2]=i;b=0;break}else if((f|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==28){c[g>>2]=j+4;b=9;break}else if((f|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function cZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function dZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e>>0]|0;h=a[e+1>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=eZ(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[i>>0]|0;f=a[b+3>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function eZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function fZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[i>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+3>>0]|0)>>0]|0;else h=sY(h,a[e+3>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+4|0,f,g)|0;break a}case 20:{h=hZ(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=iZ(b,e+2|0,f,g)|0;break a}case 17:{h=jZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h>>0]|0;k=a[h+1>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}e=h+2|0;l=o-e|0;if((l|0)<=1){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[56836+((l>>>5|d[140706+(i&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=e;h=0;break a}case 49:{c[g>>2]=e;h=0;break a}case 50:{if((l|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 52:{if((l|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 54:{c[g>>2]=e;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[i>>0]|0;e=a[h+3>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=kZ(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function gZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h>>0]|0;b=a[h+1>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[f>>0]|0){h=f;continue b}if((a[h+3>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[h+5>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function hZ(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function iZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;i=o-e|0;a:do if((i|0)>1){j=a[e>>0]|0;if(!(j<<24>>24)){h=a[e+1>>0]|0;f=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;f=sY(j,h)|0}switch(f|0){case 29:{m=h&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[f>>0]|0;j=a[k+3>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j>>0]|0;h=a[j+1>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[f>>0]|0){j=f;continue c}if((a[j+3>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[k+5>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function jZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[j>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[j+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function kZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e>>0]|0;j=a[e+1>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[h>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}h=a[i>>0]|0;e=a[e+3>>0]|0;if(!(h<<24>>24))e=d[o+(e&255)>>0]|0;else e=sY(h,e)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=bZ(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[i>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function lZ(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function mZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f>>0]|0;i=a[f+1>>0]|0;if(!(e<<24>>24))i=d[k+(i&255)>>0]|0;else i=sY(e,i)|0;switch(i|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{e=f+2|0;if((i|0)==(b|0)){l=12;break a}else{f=e;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-e|0)>1){c[h>>2]=e;g=a[e>>0]|0;f=a[f+3>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function nZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+4>>0]|0;h=a[e+5>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function oZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}j=a[k>>0]|0;h=a[h+3>>0]|0;if(!(j<<24>>24))i=d[b+(h&255)>>0]|0;else i=sY(j,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(j&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function pZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;while(1){b=c[d>>2]|0;h=b>>>0<e>>>0;i=c[f>>2]|0;if(!(h&i>>>0<g>>>0))break;c[d>>2]=b+1;h=a[b>>0]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[i>>0]=h}return ((i|0)!=(g|0)|h^1?0:2)|0}function qZ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function rZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(36,a,b,c,d,e,f,g,h,i,j)|0}function sZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[58844+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function tZ(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+64|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(uZ(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+24|0;f=c[p>>2]|0;do if(!(ob[c[r>>2]&127](d,n,f,141258)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];if(!i)e=c[t>>2]|0;else{e=c[t>>2]|0;c[i>>2]=e}if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}f=c[o>>2]|0;if(f|0){e=f;n=f;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(ob[c[r>>2]&127](d,n,f,141266)|0){f=c[q>>2]|0;e=f;if((((vZ(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=nb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if((b|0)!=0|(ob[c[r>>2]&127](d,n,f,141275)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=f;if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104631)|0)){if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104623)|0)){c[g>>2]=n;e=0;break}if(m)c[m>>2]=0}else if(m)c[m>>2]=1;while(1){if(!(wZ(vZ(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function uZ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(wZ(vZ(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+64|0;do b=b+(c[j>>2]|0)|0;while((wZ(vZ(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=vZ(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(wZ(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=vZ(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function vZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+1|0)|0;l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function wZ(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function xZ(){return 59988}function yZ(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function zZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,0,b,c,d)|0}function AZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,1,b,c,d)|0}function BZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(37,a,b,c,d,e,f,g,h,i,j)|0}function CZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[60352+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function DZ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=iX(b,c,d,e)|0;if(b|0)a[b+72+58>>0]=23;return b|0}function EZ(a){a=a|0;c[a>>2]=15;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function FZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=16;a=0;break}case 12:{c[a>>2]=16;a=1;break}case 11:{c[a>>2]=16;a=55;break}case 13:{c[a>>2]=16;a=56;break}case 14:{a=0;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=9;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function GZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=7;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=7}if((g|0)==7)a=JZ(a,b)|0;return a|0}function HZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=19;a=4;break}default:a=JZ(a,b)|0}return a|0}function IZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function JZ(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=18;a=-1}return a|0}function KZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=22;a=3;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=8;else{c[a>>2]=23;a=3}break}default:h=8}while(0);if((h|0)==8)a=JZ(a,b)|0;return a|0}function LZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141308)|0){c[a>>2]=24;a=11;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141315)|0){c[a>>2]=25;a=33;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141323)|0){c[a>>2]=26;a=39;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141331)|0))i=14;else{c[a>>2]=27;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=28;a=3;break}default:i=14}while(0);if((i|0)==14)a=JZ(a,b)|0;return a|0}function MZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=18;a=2;break}default:a=JZ(a,b)|0}return a|0}function NZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=29;a=5;break}default:a=JZ(a,b)|0}return a|0}function OZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=22;a=6;break}default:a=JZ(a,b)|0}return a|0}function PZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function QZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=30;a=11;break}case 18:{c[a>>2]=31;a=9;break}default:a=JZ(a,b)|0}return a|0}function RZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=32;a=34;break}default:a=JZ(a,b)|0}return a|0}function SZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=33;a=40;break}default:a=JZ(a,b)|0}return a|0}function TZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=34;a=18;break}default:a=JZ(a,b)|0}return a|0}function UZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function VZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=35;a=17;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=6;else{c[a>>2]=36;a=17}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function WZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}default:a=JZ(a,b)|0}return a|0}function XZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=38;a=21;break}default:a=JZ(a,b)|0}return a|0}function YZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=20;break}default:a=JZ(a,b)|0}return a|0}function ZZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=c[a+8>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=c[a+8>>2]|0;break}default:a=JZ(a,b)|0}return a|0}function _Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 33:{c[a>>2]=40;d=0;break}case 34:{d=a+12|0;e=c[d>>2]|0;if(!e)g=7;else{c[d>>2]=e+-1;d=0}break}case 15:{d=0;break}case 26:{g=7;break}case -4:{if(!(c[a+12>>2]|0))d=0;else g=7;break}default:d=LZ(a,b,d,e,f)|0}if((g|0)==7)d=JZ(a,b)|0;return d|0}function $Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141340)|0){c[a>>2]=41;a=0;break a}if(!(ob[c[g>>2]&127](f,d,e,141348)|0))h=6;else{c[a>>2]=42;a=0}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function a_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=JZ(a,b)|0}return a|0}function b_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=58;break}default:a=JZ(a,b)|0}return a|0}function c_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141355)|0){c[a>>2]=37;c[a+8>>2]=39;a=42;break a}if(!(ob[c[g>>2]&127](f,d,e,141361)|0))h=7;else{c[a>>2]=37;c[a+8>>2]=39;a=41}break}case 23:{c[a>>2]=43;c[a+4>>2]=1;a=44;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function d_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]|0)|0,e,141365)|0))g=9;else{c[a>>2]=44;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=45;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function e_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{c[a>>2]=37;c[a+8>>2]=39;a=45;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function f_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:a=JZ(a,b)|0}return a|0}function g_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=45}else a=45;break}case 36:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=46}else a=46;break}case 35:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=47}else a=47;break}case 37:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=48}else a=48;break}case 38:{c[a>>2]=45;a=50;break}case 21:{c[a>>2]=45;a=49;break}default:a=JZ(a,b)|0}return a|0}function h_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=48;a=51;break}default:a=JZ(a,b)|0}return a|0}function i_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=33;break}case 41:case 18:{c[a>>2]=49;a=22;break}default:a=JZ(a,b)|0}return a|0}function k_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+24|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(ob[i&127](f,d,e,c[62200+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=50;g=g+23|0;break a}if(!(ob[i&127](f,d,e,141331)|0))j=10;else{c[a>>2]=51;g=33}break}case 23:{c[a>>2]=52;g=33;break}default:j=10}while(0);if((j|0)==10)g=JZ(a,b)|0;return g|0}function l_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141372)|0){c[a>>2]=32;a=35;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141380)|0){c[a>>2]=32;a=36;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141389)|0))i=9;else{c[a>>2]=53;a=33}break}case 27:{c[a>>2]=32;a=37;break}default:i=9}while(0);if((i|0)==9)a=JZ(a,b)|0;return a|0}function m_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function n_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=55;a=31;break}default:a=JZ(a,b)|0}return a|0}function o_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=52;a=33;break}default:a=JZ(a,b)|0}return a|0}function p_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=56;a=32;break}default:a=JZ(a,b)|0}return a|0}function q_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function r_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=32;a=38;break}default:a=JZ(a,b)|0}return a|0}function s_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=57;a=10;break}default:a=JZ(a,b)|0}return a|0}function t_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=58;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=59;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function u_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=60;a=13;break}default:a=JZ(a,b)|0}return a|0}function v_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=58;a=14;break}default:a=JZ(a,b)|0}return a|0}function w_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}case 18:{if(!(ob[c[f+24>>2]&127](f,d,e,141443)|0))g=5;else{c[a>>2]=61;a=11}break}default:g=5}if((g|0)==5)a=JZ(a,b)|0;return a|0}function x_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=37;c[a+8>>2]=11;a=16;break}default:a=JZ(a,b)|0}return a|0}function y_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=62;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=63;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function z_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=64;a=13;break}default:a=JZ(a,b)|0}return a|0}function A_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=62;a=14;break}default:a=JZ(a,b)|0}return a|0}function B_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}default:a=JZ(a,b)|0}return a|0}function C_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[46749]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=187036+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46749]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[46751]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=187036+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[46749]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=f;w=i;l=x;return w|0}j=c[46750]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[187300+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=187300+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46750]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[46749]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[46750]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[187300+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[187300+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[46751]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=187300+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[46750]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=187300+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[46750]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[46751]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[46754]|0;if(b>>>0>15){w=a+n|0;c[46754]=w;c[46751]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[46751]=0;c[46754]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[46752]|0;if(i>>>0>n>>>0){u=i-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[46867]|0)){c[46869]=4096;c[46868]=4096;c[46870]=-1;c[46871]=-1;c[46872]=0;c[46860]=0;c[46867]=p&-16^1431655768;a=4096}else a=c[46869]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[46859]|0;if(a|0?(o=c[46857]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[46860]&4)){d=c[46755]|0;c:do if(d){e=187444;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=I3(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=I3(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[46868]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[46857]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[46859]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=I3(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[46869]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((I3(a|0)|0)==(-1|0)){I3(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[46860]=c[46860]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=I3(m|0)|0,s=I3(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[46857]|0)+h|0;c[46857]=b;if(b>>>0>(c[46858]|0)>>>0)c[46858]=b;j=c[46755]|0;do if(j){b=187444;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[46752]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[46756]=c[46871];break}if(g>>>0<(c[46753]|0)>>>0)c[46753]=g;a=g+h|0;b=187444;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=187444;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[46754]|0)==(b|0)){w=(c[46751]|0)+i|0;c[46751]=w;c[46754]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=187300+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[46750]=c[46750]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=187300+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46750]|0;d=1<<b;if(!(a&d)){c[46750]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[46752]|0)+i|0;c[46752]=w;c[46755]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=187444;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[46756]=c[46871];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46861];c[b+4>>2]=c[46862];c[b+8>>2]=c[46863];c[b+12>>2]=c[46864];c[46861]=g;c[46862]=h;c[46864]=0;c[46863]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=187300+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[46750]|0;a=1<<d;if(!(b&a)){c[46750]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[46753]|0;if((w|0)==0|g>>>0<w>>>0)c[46753]=g;c[46861]=g;c[46862]=h;c[46864]=0;c[46758]=c[46867];c[46757]=-1;c[46762]=187036;c[46761]=187036;c[46764]=187044;c[46763]=187044;c[46766]=187052;c[46765]=187052;c[46768]=187060;c[46767]=187060;c[46770]=187068;c[46769]=187068;c[46772]=187076;c[46771]=187076;c[46774]=187084;c[46773]=187084;c[46776]=187092;c[46775]=187092;c[46778]=187100;c[46777]=187100;c[46780]=187108;c[46779]=187108;c[46782]=187116;c[46781]=187116;c[46784]=187124;c[46783]=187124;c[46786]=187132;c[46785]=187132;c[46788]=187140;c[46787]=187140;c[46790]=187148;c[46789]=187148;c[46792]=187156;c[46791]=187156;c[46794]=187164;c[46793]=187164;c[46796]=187172;c[46795]=187172;c[46798]=187180;c[46797]=187180;c[46800]=187188;c[46799]=187188;c[46802]=187196;c[46801]=187196;c[46804]=187204;c[46803]=187204;c[46806]=187212;c[46805]=187212;c[46808]=187220;c[46807]=187220;c[46810]=187228;c[46809]=187228;c[46812]=187236;c[46811]=187236;c[46814]=187244;c[46813]=187244;c[46816]=187252;c[46815]=187252;c[46818]=187260;c[46817]=187260;c[46820]=187268;c[46819]=187268;c[46822]=187276;c[46821]=187276;c[46824]=187284;c[46823]=187284;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[46756]=c[46871]}while(0);b=c[46752]|0;if(b>>>0>n>>>0){u=b-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(O_()|0)>>2]=12;w=0;l=x;return w|0}function D_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46753]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[46754]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46751]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=187300+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46750]=c[46750]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46755]|0)==(j|0)){j=(c[46752]|0)+b|0;c[46752]=j;c[46755]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(j|0)){j=(c[46751]|0)+b|0;c[46751]=j;c[46754]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46749]=c[46749]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=187300+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46750]=c[46750]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=187036+(a<<1<<2)|0;b=c[46749]|0;a=1<<a;if(!(b&a)){c[46749]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=187300+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46750]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[46750]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[46757]|0)+-1|0;c[46757]=j;if(!j)a=187452;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46757]=-1;return}function E_(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=C_(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;H3(a|0,0,d|0)|0;return a|0}function F_(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=C_(b)|0;return b|0}if(b>>>0>4294967231){c[(O_()|0)>>2]=12;b=0;return b|0}d=G_(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=C_(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;F3(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;D_(a);b=d;return b|0}function G_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46869]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;H_(k,d);return a|0}if((c[46755]|0)==(i|0)){k=(c[46752]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46755]=e;c[46752]=d;return a|0}if((c[46754]|0)==(i|0)){e=(c[46751]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46751]=d;c[46754]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46749]=c[46749]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46750]=c[46750]&~(1<<d);break}}else{c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;H_(i,k);return a|0}return 0}function H_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46754]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46751]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46750]=c[46750]&~(1<<d);break}}else{c[g+16+(((c[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46755]|0)==(i|0)){i=(c[46752]|0)+b|0;c[46752]=i;c[46755]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(i|0)){i=(c[46751]|0)+b|0;c[46751]=i;c[46754]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=187300+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46750]=c[46750]&~(1<<b);break}}else{c[g+16+(((c[g+16>>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;e=(i+520192|0)>>>16&4;i=i<<e;b=(i+245760|0)>>>16&2;b=14-(e|g|b)+(i<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=187300+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46750]|0;d=1<<b;if(!(a&d)){c[46750]=a|d;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function I_(a,b){a=a|0;b=b|0;if(a>>>0<9){b=C_(b)|0;return b|0}else{b=J_(a,b)|0;return b|0}return 0}function J_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(O_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=C_(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;H_(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;H_(f,i)}i=b+8|0;return i|0}function K_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(c[a+60>>2]|0)|0;a=N_(Ja(6,d|0)|0)|0;l=b;return a|0}function L_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=N_(ya(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function M_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((N_(xa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function N_(a){a=a|0;if(a>>>0>4294963200){c[(O_()|0)>>2]=0-a;a=-1}return a|0}function O_(){return 187492}function P_(a){a=a|0;return a|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ia(54,f|0)|0):0)a[b+75>>0]=-1;f=R_(b,d,e)|0;l=g;return f|0}function R_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=N_(za(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=N_(za(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function S_(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ka(91,e|0)|0)|0;l=d;return b|0}function T_(){return}function U_(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(O_()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=N_(Aa(192,h|0)|0)|0}else{c[(O_()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function V_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(W_(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function W_(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function X_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ha(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}i=N_(e)|0;l=h;return i|0}function Y_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[141449+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=141537;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=141537;else{f=141537;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return Z_(f,c[e+20>>2]|0)|0}function Z_(a,b){a=a|0;b=b|0;return __(a,b)|0}function __(a,b){a=a|0;b=b|0;if(!b)b=0;else b=$_(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function $_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=a$(c[b+8>>2]|0,o)|0;f=a$(c[b+12>>2]|0,o)|0;g=a$(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=a$(c[b+(g<<2)>>2]|0,o)|0;g=a$(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=b$(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=a$(c[b+(f<<2)>>2]|0,o)|0;f=a$(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function a$(a,b){a=a|0;b=b|0;var c=0;c=C3(a|0)|0;return ((b|0)==0?a:c)|0}function b$(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function c$(a){a=a|0;return Y_(a,c[(d$()|0)+188>>2]|0)|0}function d$(){return e$()|0}function e$(){return 62872}function f$(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function g$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function h$(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z3(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+h$(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function i$(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function j$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function k$(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z3(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=l$(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function l$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[63116+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[63132+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+m$(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<<u)|0;c[s>>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+m$(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[63132+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+m$(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+m$(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10904+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function m$(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=A3(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function n$(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=s3(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function o$(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function p$(a,b){a=+a;b=+b;return +(+o$(a,b))}function q$(a,b){a=+a;b=b|0;return +(+m$(a,b))}function r$(a,b){a=+a;b=+b;return +(+s$(a,b))}function s$(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z3(i|0,l|0,52)|0;e=e&2047;m=z3(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=A3(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=t$(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=A3(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=A3(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=A3(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=A3(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=A3(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=A3(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=A3(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=A3(f|0,d|0,1)|0;g=z;e=e+-1|0;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=A3(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=s3(f|0,d|0,0,-1048576)|0;d=z;e=A3(e|0,0,52)|0;d=d|z;e=o|e}else{e=z3(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function t$(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function u$(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z3(s|0,r|0,52)|0;i=z3(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}v$(m,n,b);v$(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function v$(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function w$(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+f$(a,0.0,0);h[d>>3]=+i$(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=k$(a,g)|0;m=g+8|0;e=+f$(+h[g>>3],+h[m>>3],1);a=+i$(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function x$(a,b){a=+a;b=b|0;return +(+h$(a,b))}function y$(a){a=a|0;if(a>>>0<131072)a=(d[143341+((d[143341+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function z$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function A$(b,c){b=b|0;c=c|0;b=V_(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function B$(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function C$(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-1,0)|0;return c|0}function D$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function E$(a){a=a|0;return (a+-48|0)>>>0<10|0}function F$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;G$(h,0);d=H$(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function G$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(O_()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while((B$(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=I$(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((d[146510+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){G$(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[146510+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;G$(b,0);c[(O_()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=r3(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=s3(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=I$(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[146766+((e*23|0)>>>5&7)>>0]|0;f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=z3(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0<k>>>0|(m|0)==(k|0)&l>>>0<i>>>0)){f=k;n=72;break}else j=k;while(1){i=A3(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=w3(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=r3(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=s3(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[146510+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while(e>>>0>(d[146510+i>>0]|0)>>>0);c[(O_()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(O_()|0)>>2]=34;g=s3(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(O_()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t3(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function I$(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=J$(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function J$(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((K$(a)|0)==0?(nb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function K$(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)nb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function L$(a){a=a|0;return (a+-48|0)>>>0<10|0}function M$(a){a=a|0;if(!(N$(a)|0))a=(E$(a)|0)!=0&1;else a=1;return a|0}function N$(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function O$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=P$(f)|0,(f|0)!=(P$(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=P$(b&255)|0;return g-(P$(d[c>>0]|0)|0)|0}function P$(a){a=a|0;var b=0;b=(Q$(a)|0)==0;return (b?a:a|32)|0}function Q$(a){a=a|0;return (a+-65|0)>>>0<26|0}function R$(a){a=a|0;return S$(a,0)|0}function S$(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T$(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66242+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66242+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[66242+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[65754+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[65754+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[65754+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function T$(a){a=a|0;if(a>>>0<131072)a=(d[146775+((d[146775+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U$(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function V$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=P$(f)|0,(g|0)!=(P$(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=P$(b&255)|0;b=b-(P$(d[c>>0]|0)|0)|0}return b|0}function W$(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function X$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?187560:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[($$()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(O_()|0)>>2]=84;f=-1}l=k;return f|0}function Y$(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Z$(a,b,0)|0;return a|0}function Z$(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(_$()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(O_()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(O_()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function _$(){return e$()|0}function $$(){return e$()|0}function a0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Ta(149751)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149758+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149830)|0;if(d|0?a[d>>0]|0:0)break;d=149835}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=149835;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((b$(k,149835)|0)!=0?(b$(k,149843)|0)!=0:0){d=c[46891]|0;if(d|0)do{if(!(b$(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);ta(187568);d=c[46891]|0;c:do if(d|0){while(1){if(!(b$(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}La(187568);break b}while(0);d:do if(((c[46876]|0)==0?(g=Ta(149849)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=V_(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){F3(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;F3(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=ua(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=C_(28)|0;if(!d){S_(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d;break}}else m=41;while(0);if((m|0)==41){d=C_(28)|0;if(d){c[d>>2]=c[15558];c[d+4>>2]=c[15559];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d}}La(187568);d=(b|0)==0&(d|0)==0?62232:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62232;break}d=0}while(0);l=p;return d|0}function b0(a,b){a=a|0;b=b|0;c0(a,b)|0;return a|0}function c0(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function d0(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function e0(a){a=a|0;if(!a)a=0;else a=(f0(63396,a)|0)!=0&1;return a|0}function f0(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((U$(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function g0(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=h0(a)|0;break}case 2:{a=T$(a)|0;break}case 3:{a=i0(a)|0;break}case 4:{a=j0(a)|0;break}case 5:{a=L$(a)|0;break}case 6:{a=k0(a)|0;break}case 7:{a=l0(a)|0;break}case 8:{a=W$(a)|0;break}case 9:{a=y$(a)|0;break}case 10:{a=e0(a)|0;break}case 11:{a=m0(a)|0;break}case 12:{a=n0(a)|0;break}default:a=0}while(0);return a|0}function h0(a){a=a|0;if(!(L$(a)|0))a=(T$(a)|0)!=0&1;else a=1;return a|0}function i0(a){a=a|0;return d0(a)|0}function j0(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function k0(a){a=a|0;if(!(e0(a)|0))a=(W$(a)|0)!=0&1;else a=0;return a|0}function l0(a){a=a|0;return (R$(a)|0)!=(a|0)|0}function m0(a){a=a|0;return (o0(a)|0)!=(a|0)|0}function n0(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function o0(a){a=a|0;return S$(a,1)|0}function p0(a){a=a|0;return (a+-97|0)>>>0<26|0}function q0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63484;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(O_()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=r0(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function r0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((s0(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=t0(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=s0(b,d,n,q,p)|0;if(h){nb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=s0(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)u0(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function s0(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(O_()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)v0(d,r,j);if(j|0)continue;u=(E$(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<<u&75913|0)==0)m=0;else{m=0;do{m=1<<(k<<24>>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<<u&75913|0)==0))}if(k<<24>>24==42){if((E$(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=w0(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=w0(D)|0;j=c[D>>2]|0;break}if(E$(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(149862+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}x0(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=z0(j,k,x)|0;m=y-o|0;q=0;n=150326;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=t3(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=150326;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?150326:150328):150327;v=67;break d}}case 117:{k=E;m=0;n=150326;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=150326;o=x;k=1;break}case 109:{k=c$(c[(O_()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:150336;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){B0(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=C0(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=150326;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=y0(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?150326:150326+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=A0(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=D$(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=150326;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=Y$(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}B0(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=Y$(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}v0(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;B0(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;B0(d,32,m,s,j);v0(d,n,q);B0(d,48,m,s,j^65536);B0(d,48,o,p,0);v0(d,r,p);B0(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;x0(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function t0(a){a=a|0;return 0}function u0(a){a=a|0;return}function v0(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))E0(b,d,a)|0;return}function w0(b){b=b|0;var d=0,e=0;if(!(E$(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((E$(a[e>>0]|0)|0)!=0)}return d|0}function x0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function y0(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[150374+(b&15)>>0]|0|f;b=z3(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function z0(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z3(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function A0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=x3(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=w3(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function B0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;H3(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{v0(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}v0(a,f,e)}l=g;return}function C0(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;D0(e)|0;if((z|0)<0){e=-e;C=1;B=150343}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?150344:150349):150346}D0(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;B0(b,32,f,j,h&-65537);v0(b,B,C);v0(b,e!=e|0.0!=0.0?(G?150511:150370):G?150362:150366,3);B0(b,32,f,j,h^8192)}else{r=+x$(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=A0(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[150374+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;B0(b,32,f,F,h);v0(b,s,q);B0(b,48,f,F,h^65536);v0(b,G,k);B0(b,48,j-k|0,0,0);v0(b,o,E);B0(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=A3(c[j>>2]|0,0,o|0)|0;x=s3(x|0,z|0,m|0,0)|0;y=z;v=x3(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=w3(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=A0(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;B0(b,32,f,j,h);v0(b,B,C);B0(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=A0(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)v0(b,150390,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=A0(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}B0(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=A0(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;v0(b,m,1);if(s&(k|0)<1){m=n;break}v0(b,150390,1);m=n}else{if(m>>>0<=G>>>0)break;H3(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;v0(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}B0(b,48,k+18|0,18,0);v0(b,v,E-v|0)}B0(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function D0(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function E0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(F0(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=nb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=nb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);F3(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function F0(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function G0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;F3(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function H0(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=150392;f=97;while(1){if(e<<24>>24==f<<24>>24?(b$(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function I0(a){a=a|0;var b=0;b=(p0(a)|0)==0;return (b?a:a&95)|0}function J0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{ta(187576);if((b|0)!=6){d=K0(b,d)|0;La(187576);break}if(!d){d=194052;b=0}else{b=g;e=150465;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=V_(d,59)|0;e=b-d|0;if((e|0)<16){F3(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}K0(f,g)|0;f=f+1|0}while((f|0)!=6);d=194052;b=0}while(1){f=c[187536+(b<<2)>>2]|0;f=f|0?f+8|0:150481;e=W_(f)|0;F3(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;La(187576);d=194052}while(0);l=h;return d|0}function K0(a,b){a=a|0;b=b|0;if(!b)a=c[187536+(a<<2)>>2]|0;else{b=a0(a,b)|0;c[187536+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:150481)|0}function L0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function M0(a){a=a|0;return N0(a)|0}function N0(a){a=a|0;return B3(a|0)|0}function O0(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=t0(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)u0(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=D$(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;F3(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=J$(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)u0(f)}return b|0}function P0(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=A$(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=Q0(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=R0(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=S0(b,c)|0;break}else{b=T0(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function Q0(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function R0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function S0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function T0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(L0(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=D$(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;V0(a,b,c)|0;return a|0}function V0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);H3(b|0,0,e|0)|0;return b|0}function W0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function X0(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(a)|0;a=Ja(6,d|0)|0;a=N_((a|0)==-4?0:a)|0;l=b;return a|0}function Y0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Z0(a,b,f)|0;l=e;return d|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return q0(a,2147483647,b,c)|0}function _0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)$0(a,d,e,f,j);else b1(a,d,e,k,f,0,j);if((f|0)==1){c1(k,1);f=0;break}else{c1(k,b);f=1;break}}else{$0(a,d,e,f,j);a1(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}b1(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){c1(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;a1(k,1);b1(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);c1(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;b1(h,d,e,k,n,1,j);a=h;f=n;continue}b=d1(k)|0;a1(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function $0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((lb[d&127](a,g)|0)>-1?(lb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((lb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f1(b,m,e);l=n;return}function a1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b1(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((lb[d&127](g,j)|0)>-1){i=10;break a}if((lb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=d1(n)|0;a1(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((lb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){f1(b,o,e);$0(a,b,d,f,h)}l=p;return}function c1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function d1(a){a=a|0;var b=0;b=e1((c[a>>2]|0)+-1|0)|0;if(!b){b=e1(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e1(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;F3(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;F3(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r0(a,b,f)|0;l=e;return d|0}function h1(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;sa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-2147483648,0)|0;return c|0}function j1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){H3(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=V_(b,e<<24>>24)|0;l=h;return e-b|0}function k1(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[46896]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[46896]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[46896]=d;if(!(a[d>>0]|0)){c[46896]=0;break}else{c[46896]=d+1;a[d>>0]=0;break}}while(0);return b|0}function l1(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function m1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function n1(a){a=a|0;var b=0,c=0;b=(W_(a)|0)+1|0;c=C_(b)|0;if(!c)a=0;else a=F3(c|0,a|0,b|0)|0;return a|0}function o1(a,b){a=a|0;b=b|0;return l1(a,b,(W_(a)|0)+1|0)|0}function p1(a,b){a=a|0;b=b|0;b0(a+(W_(a)|0)|0,b)|0;return a|0}function q1(b,c){b=b|0;c=c|0;c=b+(j1(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function r1(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function s1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=t0(a)|0;else f=0;t1(a);g=(c[a>>2]&1|0)!=0;if(!g){e=u1()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;v1()}b=w1(a)|0;b=kb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)D_(d);if(g){if(f|0)u0(a)}else D_(a);return b|0}function t1(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(y1()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function u1(){ta(187588);return 187596}function v1(){La(187588);return}function w1(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=x1(a)|0;break}d=(t0(a)|0)==0;b=x1(a)|0;if(!d)u0(a)}else{if(!(c[15685]|0))b=0;else b=w1(c[15685]|0)|0;a=c[(u1()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=t0(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=x1(a)|0|b;if(d|0)u0(a);a=c[a+56>>2]|0}while((a|0)!=0);v1()}while(0);return b|0}function x1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)nb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function y1(){return e$()|0}function z1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(A$(150498,a[d>>0]|0)|0){e=C_(1156)|0;if(!e)e=0;else{H3(e|0,0,124)|0;if(!(A$(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(A$(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;Ea(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=Ea(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;Ea(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ia(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=15;c[e+36>>2]=18;c[e+40>>2]=16;c[e+12>>2]=17;if(!(c[46875]|0))c[e+76>>2]=-1;A1(e)|0}}else{c[(O_()|0)>>2]=22;e=0}l=k;return e|0}function A1(a){a=a|0;var b=0,d=0;b=u1()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;v1();return a|0}function B1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(C1()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62280+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(O_()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function C1(){return e$()|0}function D1(a,b){a=a|0;b=b|0;var c=0;c=W_(a)|0;return ((E1(a,1,c,b)|0)!=(c|0))<<31>>31|0}function E1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(t0(e)|0)==0;a=E0(a,f,e)|0;if(!g)u0(e)}else a=E0(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function F1(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(F0(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((nb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function G1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=N_(Fa(3,f|0)|0)|0;l=e;return d|0}function H1(){var a=0,b=0;b=l;l=l+16|0;a=Da(20,b|0)|0;l=b;return a|0}function I1(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=150483;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function J1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ca(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ea(221,e|0)|0)>=0):0){I1(e,a);c[f>>2]=e;c[f+4>>2]=b;b=N_(Ba(195,f|0)|0)|0}else b=N_(d)|0;l=g;return b|0}function K1(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ga(33,e|0)|0)|0;l=d;return b|0}function L1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(A$(150498,a[d>>0]|0)|0){f=M1(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=N_(Ha(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}b=z1(e,d)|0;if(!b){c[h>>2]=e;Ja(6,h|0)|0;b=0}}else b=0}else{c[(O_()|0)>>2]=22;b=0}l=i;return b|0}function M1(b){b=b|0;var c=0,d=0,e=0;d=(A$(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(A$(b,120)|0)==0;d=e?d:d|128;b=(A$(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function N1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=O1(a,b,f)|0;l=e;return d|0}function O1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=38;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Q1(e,b,d)|0;l=g;return h|0}function P1(a,b,c){a=a|0;b=b|0;c=c|0;return Y1(a,b,c)|0}function Q1(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=t0(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(B$(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(E$(n&255)|0?(a[p+2>>0]|0)==36:0){w=R1(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(E$(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((E$(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{S1(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{G$(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0}while((B$(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}G$(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0<n>>>0)c[y>>2]=p+1;else{if((I$(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){H3(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;H3(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=C_(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(X$(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=F_(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(T1(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=C_(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=F_(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+U1(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=H$(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{S1(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;G$(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(B$(d[k>>0]|0)|0))break;else m=k}G$(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0}while((B$(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){D_(j);D_(i)}}else e=0;while(0);if(K|0)u0(b);l=L;return e|0}function R1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function S1(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function T1(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function U1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0}while((B$(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=I$(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[150502+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[150511+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=I$(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|32|0)==120){g=+V1(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+W1(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function V1(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=I$(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=I$(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=I$(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=I$(a)|0;l=s3(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=s3(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=I$(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else G$(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=s3(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=X1(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){G$(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=A3(q|0,p|0,2)|0;l=s3(l|0,z|0,-32,-1)|0;l=s3(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(O_()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(O_()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=s3(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=t3(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=s3(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+p$(+m$(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(O_()|0)>>2]=34;h=+q$(h,l)}while(0);return +h}function W1(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=I$(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48){k=0;b=0;while(1){k=s3(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=s3(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=X1(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){G$(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=s3(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(O_()|0)>>2]=22;G$(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(O_()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0<a>>>0){c[(O_()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[63608+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63608+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63608+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=A3(c[p>>2]|0,0,29)|0;k=s3(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=w3(k|0,m|0,1e9,0)|0;k=x3(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[63640+(p<<2)>>2]|0;if(n>>>0<o>>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+p$(+m$(1.0,105-n|0),j);r=+r$(j,+m$(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+r$(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(O_()|0)>>2]=34}while(0);i=+q$(i,b)}while(0);l=J;return +i}function X1(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=r3(g|0,b|0,10,0)|0;g=z;e=s3(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=s3(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=t3(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function Y1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=D$(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;F3(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Z1(a,b,c){a=a|0;b=b|0;c=c|0;return _1(a,b,c)|0}function _1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(t0(a)|0)==0;b=$1(a,b,d)|0;if(!e)u0(a)}else b=$1(a,b,d)|0;return b|0}function $1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((nb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function a2(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(B$(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(E$(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((E$(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function b2(a){a=a|0;return +(+c2(a,0))}function c2(a,b){a=a|0;b=b|0;return +(+d2(a,b,1))}function d2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;G$(h,0);e=+U1(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function e2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=lb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function f2(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=r3((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=s3(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=z3(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function g2(){var a=0,b=0,d=0;b=183528;b=r3(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=s3(b|0,z|0,1,0)|0;a=z;d=183528;c[d>>2]=b;c[d+4>>2]=a;a=z3(b|0,a|0,33)|0;return a|0}function h2(a){a=a|0;F3(190672,65740,6)|0;F3(65740,a|0,6)|0;return 190672}function i2(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;h2(d)|0;l=c;return}function j2(a){a=a|0;var b=0;b=f2(a,65746)|0;b=A3(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function k2(){return +(+j2(65740))}function l2(a,b){a=a|0;b=b|0;if(!a)b=E_(1,24)|0;else H3(b|0,0,24)|0;return b|0}function m2(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{D_(c[b>>2]|0);d=b;b=c[b+4>>2]|0;D_(d)}while((b|0)!=0);D_(a);return}function n2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=C_(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=C_(g)|0;c[j>>2]=b;d=b;if(!b){D_(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)H3(b|0,0,d|0)|0}else b=0;while(0);return b|0}function o2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=p2()|0;a:do if(!t)b=12;else{u=l2(0,0)|0;if(!u){q2(t);b=12;break}H3(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=r2(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=E_(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=s2(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=C_((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;H3(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=E_(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=E_(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=s2(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=t2(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=u2(u,0,0,b)|0;if((b|0)!=0?(s=v2(u,i,b)|0,(s|0)!=0):0){b=w2(u,t,s)|0;if(!b){o=C_(c[p>>2]<<2)|0;if(o){q=C_(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)H3(o|0,0,b<<2|0)|0;x2(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=E_(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=x2(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=E_(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=C_(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}F3(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;m2(u);q2(t);D_(o);D_(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);m2(u);q2(t);if(h|0)D_(f);if(i|0)D_(e);c[a+4>>2]=g;y2(a)}while(0);l=v;return b|0}function p2(){var a=0,b=0;a=C_(20)|0;do if(a){b=C_(2048)|0;c[a+16>>2]=b;if(!b){D_(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function q2(a){a=a|0;D_(c[a+16>>2]|0);D_(a);return}function r2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=C2(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=u2(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=R2(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=S2(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=u2(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=M2(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=v2(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=N2(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=N2(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=T2(b,d,D2(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=E2(t)|0;h=h+-1|0;i=E2(t)|0}if((j|0)==40){f=1;d=N2(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=B2(t,f)|0;if(d|0)break a;d=B2(t,g)|0;if(d|0)break a;d=C2(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function s2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=A2(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=C_((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=C_((c[g>>2]<<2)+4|0)|0;if(!A){D_(z);g=12;break}c[A>>2]=-1;B=C_((c[g>>2]<<3)+8|0)|0;if(!B){D_(z);D_(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);B2(d,e)|0;g=C2(d,0)|0;a:do if((g|0)!=0|(A2(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(D2(d)|0){case 6:{i=D2(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=E2(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=C_((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=C2(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=C2(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=B2(d,q)|0;if(!g){g=C2(d,5)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(!g){i=k+20|0;g=C2(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=C2(d,g)|0;if(!g){g=C2(d,4)|0;if(!g){g=B2(d,k)|0;if(!g){p=i;g=C2(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=C2(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=C2(d,m)|0;if(g|0){p=t;o=s;break c}g=C2(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=B2(d,q)|0;if(!g){g=C2(d,1)|0;if(!g){g=B2(d,c[i>>2]|0)|0;if(!g){g=C2(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=C2(d,i?p:t)|0;if(!g){g=C2(d,i?t:m)|0;if(!g){g=B2(d,e)|0;if(!g){g=C2(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=B2(d,q)|0;if(!g){g=B2(d,j)|0;if(!g){g=B2(d,k)|0;if(!g){g=C2(d,3)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(g|0){p=t;o=s;break c}g=C2(d,2)|0;if(g|0){p=t;o=s;break c}g=B2(d,k)|0;if(g|0){p=t;o=s;break c}g=C2(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=E2(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(D2(d)|0)+i;i=0;l=-1}else{q=D2(d)|0;r=D2(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=D2(d)|0;j=D2(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=E2(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=E2(d)|0;o=E2(d)|0;g=E2(d)|0;e=D2(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=E2(d)|0;i=D2(d)|0;k=D2(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=Q2(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=Q2(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(A2(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(P2(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;D_(z);D_(A);D_(B)}while(0);return g|0}function t2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=A2(b)|0;c[t>>2]=0;c[x>>2]=0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d){b:do if((A2(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=D2(b)|0;r=E2(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=C2(b,j)|0;if(d|0)break b;d=B2(b,r)|0;if(d|0)break b;d=C2(b,1)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=C2(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=D2(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=L2(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=v2(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=L2(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=M2(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=v2(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=u2(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=N2(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=v2(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((A2(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function u2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=n2(a,0,0,1,20)|0;a=K2(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function v2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function w2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=A2(b)|0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d)if((A2(b)|0)>(m|0)){b:while(1){h=D2(b)|0;i=E2(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=F2(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=G2(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=G2(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=F2(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,1)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 1:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,2)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 2:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,3)|0;if(d|0)break a;d=B2(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=H2(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=H2(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=H2(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=H2(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((A2(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)D_(e);else if((n|0)==52)D_(e)}else d=0}while(0);l=o;return d|0}function x2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=z2(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=x2(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=z2(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=x2(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function y2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){D_(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){D_(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)D_(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)D_(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}D_(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){D_(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}D_(a)}a=c[h+32>>2]|0;if(a|0)D_(a);a=c[h+20>>2]|0;if(a|0)D_(a);a=c[h+36>>2]|0;if(a|0)D_(a);D_(h)}return}function z2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=C_(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)D_(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=C_((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function A2(a){a=a|0;return c[a+12>>2]|0}function B2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function C2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function D2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function E2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function F2(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=n2(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function G2(a){a=a|0;a=n2(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function H2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=n2(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=n2(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=n2(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function I2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=A2(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=B2(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((A2(a)|0)>(o|0))while(1){b=E2(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=B2(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=B2(a,k)|0,g|0):0)break a;if((A2(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function J2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=F_(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];J2(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function K2(a,b,d){a=a|0;b=b|0;d=d|0;a=n2(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function L2(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=A2(d)|0;B2(d,e)|0;e=C2(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(D2(d)|0){case 1:{i=7;break c}case 0:{e=E2(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((A2(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=E2(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=M2(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=u2(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=N2(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,m+4|0)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=C2(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=v2(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,k)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=C2(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function M2(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=n2(b,0,0,1,16)|0;b=K2(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function O2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function Q2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function R2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=V2(b,d+1|0)|0;break}case 92:{e=d+1|0;f=W2(e)|0;if(f|0){e=R2(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=u2(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=u2(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=u2(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=u2(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=X2(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=u2(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=u2(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=u2(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=u2(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=N2(c[b>>2]|0,f,e)|0;else e=0}else e=u2(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=u2(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=u2(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=B1(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((m0(c[j>>2]|0)|0)==0?(l0(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=R$(c[j>>2]|0)|0;g=R$(c[j>>2]|0)|0;f=b+24|0;g=u2(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=o0(c[j>>2]|0)|0;d=o0(c[j>>2]|0)|0;d=u2(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=N2(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=u2(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function S2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=U2(b,i)|0;if((a[b>>0]|0)==44){b=U2(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function T2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=u2(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=v2(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function U2(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(E$(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(E$(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function V2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=C_(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=Y2(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){_0(c[r>>2]|0,c[h>>2]|0,4,109);d=_2(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=n2(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}F3(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=K2(c[b>>2]|0,0,j)|0;e=N2(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);D_(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function W2(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[63648+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[63648+(b<<3)+4>>2]|0}function X2(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function Y2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=B1(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}F3(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=H0(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=B1(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=_2(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?($2(e,m,g)|0)!=0:0){g=12;break a}}j=B1(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function Z2(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function _2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=F_(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=n2(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function $2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(l0(b)|0)){if(!(m0(b)|0)){b=b+1|0;break}f=o0(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((o0(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=R$(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((R$(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=_2(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function a3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=C_(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=c3(i,b,g,f,k)|0;else a=b3(i,b,g,f,k)|0;if(!a)d3(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)D_(d)}l=n;return a|0}function b3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=l2(0,0)|0;a:do if(U){p=n2(U,0,0,0,32)|0;if(!p){m2(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=C_(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=C_(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=C_(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)H3(g|0,0,n<<2|0)|0;G=e+q|0;e=B1(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(h0(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(h0(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(h0(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(h0(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(h0(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(h0(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(h0(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(h0(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=n2(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=n2(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(f3(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;d3(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(z$(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(h0(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(h0(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(h0(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(h0(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(h0(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(h0(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(h0(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(h0(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(g0(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=o0(q)|0;e=w+24|0;if(g0(x,c[e>>2]|0)|0)break;x=R$(q)|0;if(!(g0(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(e3(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=n2(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=n2(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==60){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==145){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==152){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);m2(U);if(j|0)D_(i);if(m|0)D_(h);if(k)D_(g)}else e=12;while(0);l=V;return e|0}function c3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=C_(e)|0;if(!U)e=12;else{H3(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=B1(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(h0(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(h0(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(h0(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(h0(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(h0(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(h0(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(h0(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)H3(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=B1(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(h0(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(h0(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(h0(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(h0(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(h0(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(h0(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(h0(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(g0(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=o0(h)|0;a=k+24|0;if(g0(A,c[a>>2]|0)|0)break;A=R$(h)|0;if(!(g0(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(e3(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(f3(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);D_(U)}l=W;return e|0}function d3(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)H3(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function e3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(g0(b,d)|0){d=1;break a}}else{e=R$(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}e=o0(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function f3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function g3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=t0(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0<k>>>0?i:k;F3(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(K$(f)|0)break;h=nb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)u0(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)u0(f);return e|0}function h3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=i3(a)|0}else a=i3(a)|0;return a|0}function i3(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=nb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function j3(a){a=a|0;(c[a+76>>2]|0)>-1?t0(a)|0:0;return c[a+60>>2]|0}function k3(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15653]|0;if((c[f+76>>2]|0)>-1)g=t0(f)|0;else g=0;do if((D1(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(F1(f,10)|0)>>31}while(0);if(g|0)u0(f);return b|0}function l3(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=150604;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){h1(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=N_(Ha(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;wa(10,h|0)|0;b=z1(f,150624)|0;if(!b){c[i>>2]=f;Ja(6,i|0)|0;b=0}}l=k;return b|0}function m3(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(t0(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=J$(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=J$(a)|0;break}}while(0);return b|0}function n3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(t0(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=F1(d,b)|0;u0(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=F1(d,b)|0}while(0);return e|0}function o3(a){a=a|0;return h3(a)|0}function p3(){}function q3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function r3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=q3(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function s3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function t3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function u3(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0} +function v3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=u3(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((u3(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (z=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=s3(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t3(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t3(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function w3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return v3(a,b,c,d,0)|0}function x3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;v3(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function y3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=(b|0)<0?-1:0;return b>>c-32|0}function z3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=0;return b>>>c-32|0}function A3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}z=a<<c-32;return 0}function B3(a){a=a|0;return (a&255)<<8|a>>8&255|0}function C3(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function D3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=F_(d|0,8*(e+1|0)|0)|0;d=D3(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function E3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function F3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ra(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function G3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else F3(b,c,d)|0;return b|0}function H3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function I3(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;va(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;va(12);return -1}return d|0}function J3(a){a=a|0;return +gb[a&1]()}function K3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +hb[a&7](+b,+c,+d)}function L3(a,b){a=a|0;b=b|0;return +ib[a&1](b|0)}function M3(a){a=a|0;return jb[a&3]()|0}function N3(a,b){a=a|0;b=b|0;return kb[a&63](b|0)|0}function O3(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&127](b|0,c|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return mb[a&3](b|0,c|0,+d,+e)|0}function Q3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nb[a&63](b|0,c|0,d|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ob[a&127](b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function T3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return qb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function U3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function V3(a){a=a|0;sb[a&15]()}function W3(a,b){a=a|0;b=b|0;tb[a&127](b|0)}function X3(a,b,c){a=a|0;b=b|0;c=c|0;ub[a&63](b|0,c|0)}function Y3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&127](b|0,c|0,d|0)}function Z3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;wb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function $3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&15](b|0,c|0,d|0,e|0,f|0)}function a4(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;zb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function b4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ab[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function c4(){S(0);return 0.0}function d4(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function e4(a){a=a|0;S(2);return 0.0}function f4(){S(3);return 0}function g4(a){a=a|0;S(4);return 0}function h4(a,b){a=a|0;b=b|0;S(5);return 0}function i4(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;S(6);return 0}function j4(a,b,c){a=a|0;b=b|0;c=c|0;S(7);return 0}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(9);return 0}function m4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(10);return 0}function n4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;S(11);return 0}function o4(){S(12)}function p4(a){a=a|0;S(13)}function q4(a,b){a=a|0;b=b|0;S(14)}function r4(a,b,c){a=a|0;b=b|0;c=c|0;S(15)}function s4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(16)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(17)}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(18)}function v4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(19)}function w4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(20)} + +// EMSCRIPTEN_END_FUNCS +var gb=[c4,FL];var hb=[d4,RF,QF,SF,TF,d4,d4,d4];var ib=[e4,ML];var jb=[f4,eq,EH,vI];var kb=[g4,eh,zg,Nm,Om,Fy,Iy,sN,tN,iP,jP,kP,lP,mP,nP,oP,pP,K_,Ib,bC,Al,Dl,an,vH,ay,Sy,$x,AH,FH,by,eN,uH,jN,kN,bV,C_,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4];var lb=[h4,hy,Ey,Jy,EK,FK,wK,sK,aK,KT,LT,MT,NT,OT,PT,RT,ST,TT,UT,VT,WT,XT,YT,ZT,_T,$T,aU,bU,cU,dU,eU,fU,gU,hU,iU,jU,kU,lU,mU,nU,wX,xX,zX,WX,XX,YX,ZX,_X,$X,aY,bY,UY,VY,XY,jY,kY,mY,$B,pg,dh,Gh,ii,Ai,Lk,Jk,Bl,El,$o,oq,Kq,Mq,Oq,Pq,Rq,Qq,ar,is,ns,ps,tu,mB,lB,kB,gD,Ty,xH,tD,JD,ED,FD,GE,D1,n3,zL,NM,xx,PR,Ex,Gx,fN,b$,oQ,JT,ZU,_U,F_,kX,lX,mX,Z2,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4];var mb=[i4,qt,vt,i4];var nb=[j4,Jm,Mu,kw,sw,Bw,Gw,Dy,Hy,HI,AM,zR,AX,YY,nY,L_,M_,Q_,R_,G0,Pw,Zm,Au,tp,os,Iw,eD,Y0,vA,g1,BL,DI,sO,WU,HY,yZ,sZ,CZ,P1,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4];var ob=[k4,Lm,Wq,Nu,mw,uw,Cx,AA,Dx,Wx,jy,ly,wy,vy,Ky,Oy,Qy,xI,CM,VN,TN,PP,BR,XR,WR,pX,qX,rX,sX,tX,uX,vX,yX,CX,NY,OY,PY,QY,RY,SY,TY,WY,_Y,cY,dY,eY,fY,gY,hY,iY,lY,pY,Lw,Az,iD,DL,QV,TV,_V,jW,sW,yW,wW,zW,iX,DZ,XW,JY,KY,zZ,AZ,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4];var pb=[l4,iy,bK,xK,DX,EX,UX,VX,pZ,$Y,aZ,qY,rY,nX,oX,FZ,GZ,HZ,IZ,KZ,LZ,MZ,NZ,OZ,QZ,RZ,SZ,TZ,UZ,PZ,s_,t_,j_,c_,VZ,WZ,XZ,ZZ,YZ,_Z,$Z,a_,b_,d_,e_,f_,g_,h_,i_,k_,l_,m_,n_,r_,p_,o_,q_,y_,u_,v_,w_,x_,z_,A_,B_,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4];var qb=[m4,AU];var rb=[n4,rZ,BZ,n4];var sb=[o4,EL,BH,CH,DH,HH,IH,JH,FR,o4,o4,o4,o4,o4,o4,o4];var tb=[p4,Ob,Pb,Tb,Ub,Vb,nc,oc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,cd,dd,gd,hd,id,jd,kd,ld,md,yd,zd,Ad,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Ud,Vd,Wd,Yd,Zd,_d,$d,ae,be,ce,de,ee,ge,te,ue,ve,we,He,Ie,Je,Le,Ye,Ze,_e,af,bf,cf,df,ef,ff,gf,hf,jf,sf,tf,uf,vf,Yf,Tf,rm,bm,fp,Go,ao,co,Np,Op,Zl,_l,fo,no,po,Ao,my,IJ,_J,KJ,JJ,uK,fJ,iJ,qP,vP,Mf,Fl,Ko,Oo,gp,D_,ax,jD,cF,ER,lO,mN,yI,YR,zU,UU,VU,$U,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4];var ub=[q4,Uc,Zc,od,td,Qd,me,Ce,Re,pf,Bf,Ly,cK,GK,yK,tK,YJ,ZJ,CK,DK,tP,xP,PI,Sw,fD,GH,dN,AT,yU,XU,YU,aV,cV,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4];var vb=[r4,Wb,Xb,_b,Lc,Tc,Vc,Yc,nd,pd,sd,Ld,Md,Pd,he,ie,le,xe,ye,Be,Me,Ne,Qe,kf,lf,of,wf,xf,Af,qk,rk,sk,Km,lw,tw,Zw,ny,Py,wz,BA,YC,BG,wI,II,hJ,BM,EM,UN,SN,rP,sP,uP,wP,yP,AR,nT,mT,qx,Sx,bz,Ez,Hz,zH,CL,BI,hN,lN,oT,qT,rT,zT,BT,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4];var wb=[s4,xE,yE,zE,AE,BE,CE,DE,EE,s4,s4,s4,s4,s4,s4,s4];var xb=[t4,Yb,Wc,qd,Bd,Nd,Xd,je,ze,Oe,$e,mf,yf,Pf,Of,Nf,Lf,Kf,Jf,mc,If,Hf,ky,$J,vK,BX,ZY,oY,_0,gN,iN,LY];var yb=[u4,ed,Kd,Rd,fe,Ke,Cl,hD,nN,u4,u4,u4,u4,u4,u4,u4];var zb=[v4,Zb,Xc,rd,Od,ke,Ae,Pe,nf,zf,oN,v4,v4,v4,v4,v4];var Ab=[w4];return{___errno_location:O_,___muldi3:r3,___udivdi3:w3,___uremdi3:x3,_bitshift64Ashr:y3,_bitshift64Lshr:z3,_bitshift64Shl:A3,_dtextract:zw,_free:D_,_htons:M0,_i64Add:s3,_i64Subtract:t3,_llvm_bswap_i16:B3,_llvm_bswap_i32:C3,_malloc:C_,_memalign:I_,_memcpy:F3,_memmove:G3,_memset:H3,_realloc:F_,_saveSetjmp:D3,_sbrk:I3,_testSetjmp:E3,_vizCreateFile:Kb,_vizLastErrorMessage:Jb,_vizRenderFromString:Nb,_vizSetNop:Mb,_vizSetY_invert:Lb,dynCall_d:J3,dynCall_dddd:K3,dynCall_di:L3,dynCall_i:M3,dynCall_ii:N3,dynCall_iii:O3,dynCall_iiidd:P3,dynCall_iiii:Q3,dynCall_iiiii:R3,dynCall_iiiiii:S3,dynCall_iiiiiii:T3,dynCall_iiiiiiiiiii:U3,dynCall_v:V3,dynCall_vi:W3,dynCall_vii:X3,dynCall_viii:Y3,dynCall_viiiddi:Z3,dynCall_viiii:_3,dynCall_viiiii:$3,dynCall_viiiiii:a4,dynCall_viiiiiiiii:b4,establishStackSpace:Eb,getTempRet0:Hb,runPostSets:p3,setTempRet0:Gb,setThrew:Fb,stackAlloc:Bb,stackRestore:Db,stackSave:Cb}}) + + +// EMSCRIPTEN_END_ASM +(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var ___uremdi3=Module["___uremdi3"]=asm["___uremdi3"];var _bitshift64Ashr=Module["_bitshift64Ashr"]=asm["_bitshift64Ashr"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _dtextract=Module["_dtextract"]=asm["_dtextract"];var _free=Module["_free"]=asm["_free"];var _htons=Module["_htons"]=asm["_htons"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i16=Module["_llvm_bswap_i16"]=asm["_llvm_bswap_i16"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memalign=Module["_memalign"]=asm["_memalign"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _sbrk=Module["_sbrk"]=asm["_sbrk"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var _vizCreateFile=Module["_vizCreateFile"]=asm["_vizCreateFile"];var _vizLastErrorMessage=Module["_vizLastErrorMessage"]=asm["_vizLastErrorMessage"];var _vizRenderFromString=Module["_vizRenderFromString"]=asm["_vizRenderFromString"];var _vizSetNop=Module["_vizSetNop"]=asm["_vizSetNop"];var _vizSetY_invert=Module["_vizSetY_invert"]=asm["_vizSetY_invert"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var getTempRet0=Module["getTempRet0"]=asm["getTempRet0"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var setTempRet0=Module["setTempRet0"]=asm["setTempRet0"];var setThrew=Module["setThrew"]=asm["setThrew"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_d=Module["dynCall_d"]=asm["dynCall_d"];var dynCall_dddd=Module["dynCall_dddd"]=asm["dynCall_dddd"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiidd=Module["dynCall_iiidd"]=asm["dynCall_iiidd"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiiiiii=Module["dynCall_iiiiiiiiiii"]=asm["dynCall_iiiiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiddi=Module["dynCall_viiiddi"]=asm["dynCall_viiiddi"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];Module["asm"]=asm;Module["ccall"]=ccall;Module["Pointer_stringify"]=Pointer_stringify;Module["UTF8ToString"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")});function doBrowserLoad(){Module["readAsync"](memoryInitializer,applyMemoryInitializer,(function(){throw"could not load memory initializer "+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){function useRequest(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"])run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};function run(args){args=args||Module["arguments"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module["calledRun"])return;function doRun(){if(Module["calledRun"])return;Module["calledRun"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&Module["noExitRuntime"]&&status===0){return}if(Module["noExitRuntime"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module["onExit"])Module["onExit"](status)}if(ENVIRONMENT_IS_NODE){process["exit"](status)}Module["quit"](status,new ExitStatus(status))}Module["exit"]=exit;function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=""}ABORT=true;EXITSTATUS=1;throw"abort("+what+"). Build with -s ASSERTIONS=1 for more info."}Module["abort"]=abort;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}Module["noExitRuntime"]=true;run() + + + + + return Module; +}; + +function render(instance, src, options) { + var i; + for (i = 0; i < options.files.length; i++) { + instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]); + } + + instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]); + instance['ccall']('vizSetNop', 'number', ['number'], [options.nop ? options.nop : 0]); + + var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]); + var resultString = instance['Pointer_stringify'](resultPointer); + instance['ccall']('free', 'number', ['number'], [resultPointer]); + + var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []); + var errorMessageString = instance['Pointer_stringify'](errorMessagePointer); + instance['ccall']('free', 'number', ['number'], [errorMessagePointer]); + + if (errorMessageString != '') { + throw new Error(errorMessageString); + } + + return resultString; +} + +if (typeof importScripts === "function") { + var instance = Module(); + + onmessage = function(event) { + var id = event.data.id; + var src = event.data.src; + var options = event.data.options; + + try { + var result = render(instance, src, options); + postMessage({ id: id, result: result }); + } catch (e) { + var error; + if (e instanceof Error) { + error = { message: e.message, fileName: e.fileName, lineNumber: e.lineNumber }; + } else { + error = { message: e.toString() }; + } + postMessage({ id: id, error: error }); + } + } +} + +if (true) { + module.exports = { render: render, Module: Module }; +} else {} + +if (typeof global.Viz !== 'undefined') { + global.Viz.render = render; + global.Viz.Module = Module; +} + +})(typeof self !== 'undefined' ? self : this); + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../buffer/index.js */ "./node_modules/buffer/index.js").Buffer)) + +/***/ }), + +/***/ "./node_modules/viz.js/viz.es.js": +/*!***************************************!*\ + !*** ./node_modules/viz.js/viz.es.js ***! + \***************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* +Viz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36) +Copyright (c) 2014-2018 Michael Daines +Licensed under MIT license + +This distribution contains other software in object code form: + +Graphviz +Licensed under Eclipse Public License - v 1.0 +http://www.graphviz.org + +Expat +Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper +Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers. +Licensed under MIT license +http://www.libexpat.org + +zlib +Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler +http://www.zlib.net/zlib_license.html +*/ +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { + return typeof obj; +} : function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; +}; + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +var WorkerWrapper = function () { + function WorkerWrapper(worker) { + var _this = this; + + classCallCheck(this, WorkerWrapper); + + this.worker = worker; + this.listeners = []; + this.nextId = 0; + + this.worker.addEventListener('message', function (event) { + var id = event.data.id; + var error = event.data.error; + var result = event.data.result; + + _this.listeners[id](error, result); + delete _this.listeners[id]; + }); + } + + createClass(WorkerWrapper, [{ + key: 'render', + value: function render(src, options) { + var _this2 = this; + + return new Promise(function (resolve, reject) { + var id = _this2.nextId++; + + _this2.listeners[id] = function (error, result) { + if (error) { + reject(new Error(error.message, error.fileName, error.lineNumber)); + return; + } + resolve(result); + }; + + _this2.worker.postMessage({ id: id, src: src, options: options }); + }); + } + }]); + return WorkerWrapper; +}(); + +var ModuleWrapper = function ModuleWrapper(module, render) { + classCallCheck(this, ModuleWrapper); + + var instance = module(); + this.render = function (src, options) { + return new Promise(function (resolve, reject) { + try { + resolve(render(instance, src, options)); + } catch (error) { + reject(error); + } + }); + }; +}; + +// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding + + +function b64EncodeUnicode(str) { + return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) { + return String.fromCharCode('0x' + p1); + })); +} + +function defaultScale() { + if ('devicePixelRatio' in window && window.devicePixelRatio > 1) { + return window.devicePixelRatio; + } else { + return 1; + } +} + +function svgXmlToImageElement(svgXml) { + var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref$scale = _ref.scale, + scale = _ref$scale === undefined ? defaultScale() : _ref$scale, + _ref$mimeType = _ref.mimeType, + mimeType = _ref$mimeType === undefined ? "image/png" : _ref$mimeType, + _ref$quality = _ref.quality, + quality = _ref$quality === undefined ? 1 : _ref$quality; + + return new Promise(function (resolve, reject) { + var svgImage = new Image(); + + svgImage.onload = function () { + var canvas = document.createElement('canvas'); + canvas.width = svgImage.width * scale; + canvas.height = svgImage.height * scale; + + var context = canvas.getContext("2d"); + context.drawImage(svgImage, 0, 0, canvas.width, canvas.height); + + canvas.toBlob(function (blob) { + var image = new Image(); + image.src = URL.createObjectURL(blob); + image.width = svgImage.width; + image.height = svgImage.height; + + resolve(image); + }, mimeType, quality); + }; + + svgImage.onerror = function (e) { + var error; + + if ('error' in e) { + error = e.error; + } else { + error = new Error('Error loading SVG'); + } + + reject(error); + }; + + svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml); + }); +} + +function svgXmlToImageElementFabric(svgXml) { + var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref2$scale = _ref2.scale, + scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale, + _ref2$mimeType = _ref2.mimeType, + mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType, + _ref2$quality = _ref2.quality, + quality = _ref2$quality === undefined ? 1 : _ref2$quality; + + var multiplier = scale; + + var format = void 0; + if (mimeType == 'image/jpeg') { + format = 'jpeg'; + } else if (mimeType == 'image/png') { + format = 'png'; + } + + return new Promise(function (resolve, reject) { + fabric.loadSVGFromString(svgXml, function (objects, options) { + // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case. + if (objects.length == 0) { + reject(new Error('Error loading SVG with Fabric')); + } + + var element = document.createElement("canvas"); + element.width = options.width; + element.height = options.height; + + var canvas = new fabric.Canvas(element, { enableRetinaScaling: false }); + var obj = fabric.util.groupSVGElements(objects, options); + canvas.add(obj).renderAll(); + + var image = new Image(); + image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality }); + image.width = options.width; + image.height = options.height; + + resolve(image); + }); + }); +} + +var Viz = function () { + function Viz() { + var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + workerURL = _ref3.workerURL, + worker = _ref3.worker, + Module = _ref3.Module, + render = _ref3.render; + + classCallCheck(this, Viz); + + if (typeof workerURL !== 'undefined') { + this.wrapper = new WorkerWrapper(new Worker(workerURL)); + } else if (typeof worker !== 'undefined') { + this.wrapper = new WorkerWrapper(worker); + } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') { + this.wrapper = new ModuleWrapper(Module, render); + } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') { + this.wrapper = new ModuleWrapper(Viz.Module, Viz.render); + } else { + throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.'); + } + } + + createClass(Viz, [{ + key: 'renderString', + value: function renderString(src) { + var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + _ref4$format = _ref4.format, + format = _ref4$format === undefined ? 'svg' : _ref4$format, + _ref4$engine = _ref4.engine, + engine = _ref4$engine === undefined ? 'dot' : _ref4$engine, + _ref4$files = _ref4.files, + files = _ref4$files === undefined ? [] : _ref4$files, + _ref4$images = _ref4.images, + images = _ref4$images === undefined ? [] : _ref4$images, + _ref4$yInvert = _ref4.yInvert, + yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert, + _ref4$nop = _ref4.nop, + nop = _ref4$nop === undefined ? 0 : _ref4$nop; + + for (var i = 0; i < images.length; i++) { + files.push({ + path: images[i].path, + data: '<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">\n<svg width="' + images[i].width + '" height="' + images[i].height + '"></svg>' + }); + } + + return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert, nop: nop }); + } + }, { + key: 'renderSVGElement', + value: function renderSVGElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + var parser = new DOMParser(); + return parser.parseFromString(str, 'image/svg+xml').documentElement; + }); + } + }, { + key: 'renderImageElement', + value: function renderImageElement(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var scale = options.scale, + mimeType = options.mimeType, + quality = options.quality; + + + return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) { + if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === "object" && fabric.loadSVGFromString) { + return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality }); + } else { + return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality }); + } + }); + } + }, { + key: 'renderJSONObject', + value: function renderJSONObject(src) { + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var format = options.format; + + + if (format !== 'json' || format !== 'json0') { + format = 'json'; + } + + return this.renderString(src, _extends({}, options, { format: format })).then(function (str) { + return JSON.parse(str); + }); + } + }]); + return Viz; +}(); + +/* harmony default export */ __webpack_exports__["default"] = (Viz); + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/amd-define.js": +/*!***************************************!*\ + !*** (webpack)/buildin/amd-define.js ***! + \***************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function() { + throw new Error("define cannot be used indirect"); +}; + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/global.js": +/*!***********************************!*\ + !*** (webpack)/buildin/global.js ***! + \***********************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), + +/***/ "./node_modules/webpack/buildin/harmony-module.js": +/*!*******************************************!*\ + !*** (webpack)/buildin/harmony-module.js ***! + \*******************************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +module.exports = function(originalModule) { + if (!originalModule.webpackPolyfill) { + var module = Object.create(originalModule); + // module.parent = undefined by default + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + Object.defineProperty(module, "exports", { + enumerable: true + }); + module.webpackPolyfill = 1; + } + return module; +}; + + +/***/ }), + +/***/ "./node_modules/whatwg-fetch/fetch.js": +/*!********************************************!*\ + !*** ./node_modules/whatwg-fetch/fetch.js ***! + \********************************************/ +/*! exports provided: Headers, Request, Response, DOMException, fetch */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Headers", function() { return Headers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Request", function() { return Request; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Response", function() { return Response; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DOMException", function() { return DOMException; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "fetch", function() { return fetch; }); +var support = { + searchParams: 'URLSearchParams' in self, + iterable: 'Symbol' in self && 'iterator' in Symbol, + blob: + 'FileReader' in self && + 'Blob' in self && + (function() { + try { + new Blob() + return true + } catch (e) { + return false + } + })(), + formData: 'FormData' in self, + arrayBuffer: 'ArrayBuffer' in self +} + +function isDataView(obj) { + return obj && DataView.prototype.isPrototypeOf(obj) +} + +if (support.arrayBuffer) { + var viewClasses = [ + '[object Int8Array]', + '[object Uint8Array]', + '[object Uint8ClampedArray]', + '[object Int16Array]', + '[object Uint16Array]', + '[object Int32Array]', + '[object Uint32Array]', + '[object Float32Array]', + '[object Float64Array]' + ] + + var isArrayBufferView = + ArrayBuffer.isView || + function(obj) { + return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1 + } +} + +function normalizeName(name) { + if (typeof name !== 'string') { + name = String(name) + } + if (/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(name)) { + throw new TypeError('Invalid character in header field name') + } + return name.toLowerCase() +} + +function normalizeValue(value) { + if (typeof value !== 'string') { + value = String(value) + } + return value +} + +// Build a destructive iterator for the value list +function iteratorFor(items) { + var iterator = { + next: function() { + var value = items.shift() + return {done: value === undefined, value: value} + } + } + + if (support.iterable) { + iterator[Symbol.iterator] = function() { + return iterator + } + } + + return iterator +} + +function Headers(headers) { + this.map = {} + + if (headers instanceof Headers) { + headers.forEach(function(value, name) { + this.append(name, value) + }, this) + } else if (Array.isArray(headers)) { + headers.forEach(function(header) { + this.append(header[0], header[1]) + }, this) + } else if (headers) { + Object.getOwnPropertyNames(headers).forEach(function(name) { + this.append(name, headers[name]) + }, this) + } +} + +Headers.prototype.append = function(name, value) { + name = normalizeName(name) + value = normalizeValue(value) + var oldValue = this.map[name] + this.map[name] = oldValue ? oldValue + ', ' + value : value +} + +Headers.prototype['delete'] = function(name) { + delete this.map[normalizeName(name)] +} + +Headers.prototype.get = function(name) { + name = normalizeName(name) + return this.has(name) ? this.map[name] : null +} + +Headers.prototype.has = function(name) { + return this.map.hasOwnProperty(normalizeName(name)) +} + +Headers.prototype.set = function(name, value) { + this.map[normalizeName(name)] = normalizeValue(value) +} + +Headers.prototype.forEach = function(callback, thisArg) { + for (var name in this.map) { + if (this.map.hasOwnProperty(name)) { + callback.call(thisArg, this.map[name], name, this) + } + } +} + +Headers.prototype.keys = function() { + var items = [] + this.forEach(function(value, name) { + items.push(name) + }) + return iteratorFor(items) +} + +Headers.prototype.values = function() { + var items = [] + this.forEach(function(value) { + items.push(value) + }) + return iteratorFor(items) +} + +Headers.prototype.entries = function() { + var items = [] + this.forEach(function(value, name) { + items.push([name, value]) + }) + return iteratorFor(items) +} + +if (support.iterable) { + Headers.prototype[Symbol.iterator] = Headers.prototype.entries +} + +function consumed(body) { + if (body.bodyUsed) { + return Promise.reject(new TypeError('Already read')) + } + body.bodyUsed = true +} + +function fileReaderReady(reader) { + return new Promise(function(resolve, reject) { + reader.onload = function() { + resolve(reader.result) + } + reader.onerror = function() { + reject(reader.error) + } + }) +} + +function readBlobAsArrayBuffer(blob) { + var reader = new FileReader() + var promise = fileReaderReady(reader) + reader.readAsArrayBuffer(blob) + return promise +} + +function readBlobAsText(blob) { + var reader = new FileReader() + var promise = fileReaderReady(reader) + reader.readAsText(blob) + return promise +} + +function readArrayBufferAsText(buf) { + var view = new Uint8Array(buf) + var chars = new Array(view.length) + + for (var i = 0; i < view.length; i++) { + chars[i] = String.fromCharCode(view[i]) + } + return chars.join('') +} + +function bufferClone(buf) { + if (buf.slice) { + return buf.slice(0) + } else { + var view = new Uint8Array(buf.byteLength) + view.set(new Uint8Array(buf)) + return view.buffer + } +} + +function Body() { + this.bodyUsed = false + + this._initBody = function(body) { + this._bodyInit = body + if (!body) { + this._bodyText = '' + } else if (typeof body === 'string') { + this._bodyText = body + } else if (support.blob && Blob.prototype.isPrototypeOf(body)) { + this._bodyBlob = body + } else if (support.formData && FormData.prototype.isPrototypeOf(body)) { + this._bodyFormData = body + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this._bodyText = body.toString() + } else if (support.arrayBuffer && support.blob && isDataView(body)) { + this._bodyArrayBuffer = bufferClone(body.buffer) + // IE 10-11 can't handle a DataView body. + this._bodyInit = new Blob([this._bodyArrayBuffer]) + } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) { + this._bodyArrayBuffer = bufferClone(body) + } else { + this._bodyText = body = Object.prototype.toString.call(body) + } + + if (!this.headers.get('content-type')) { + if (typeof body === 'string') { + this.headers.set('content-type', 'text/plain;charset=UTF-8') + } else if (this._bodyBlob && this._bodyBlob.type) { + this.headers.set('content-type', this._bodyBlob.type) + } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) { + this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8') + } + } + } + + if (support.blob) { + this.blob = function() { + var rejected = consumed(this) + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return Promise.resolve(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(new Blob([this._bodyArrayBuffer])) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as blob') + } else { + return Promise.resolve(new Blob([this._bodyText])) + } + } + + this.arrayBuffer = function() { + if (this._bodyArrayBuffer) { + return consumed(this) || Promise.resolve(this._bodyArrayBuffer) + } else { + return this.blob().then(readBlobAsArrayBuffer) + } + } + } + + this.text = function() { + var rejected = consumed(this) + if (rejected) { + return rejected + } + + if (this._bodyBlob) { + return readBlobAsText(this._bodyBlob) + } else if (this._bodyArrayBuffer) { + return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer)) + } else if (this._bodyFormData) { + throw new Error('could not read FormData body as text') + } else { + return Promise.resolve(this._bodyText) + } + } + + if (support.formData) { + this.formData = function() { + return this.text().then(decode) + } + } + + this.json = function() { + return this.text().then(JSON.parse) + } + + return this +} + +// HTTP methods whose capitalization should be normalized +var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'] + +function normalizeMethod(method) { + var upcased = method.toUpperCase() + return methods.indexOf(upcased) > -1 ? upcased : method +} + +function Request(input, options) { + options = options || {} + var body = options.body + + if (input instanceof Request) { + if (input.bodyUsed) { + throw new TypeError('Already read') + } + this.url = input.url + this.credentials = input.credentials + if (!options.headers) { + this.headers = new Headers(input.headers) + } + this.method = input.method + this.mode = input.mode + this.signal = input.signal + if (!body && input._bodyInit != null) { + body = input._bodyInit + input.bodyUsed = true + } + } else { + this.url = String(input) + } + + this.credentials = options.credentials || this.credentials || 'same-origin' + if (options.headers || !this.headers) { + this.headers = new Headers(options.headers) + } + this.method = normalizeMethod(options.method || this.method || 'GET') + this.mode = options.mode || this.mode || null + this.signal = options.signal || this.signal + this.referrer = null + + if ((this.method === 'GET' || this.method === 'HEAD') && body) { + throw new TypeError('Body not allowed for GET or HEAD requests') + } + this._initBody(body) +} + +Request.prototype.clone = function() { + return new Request(this, {body: this._bodyInit}) +} + +function decode(body) { + var form = new FormData() + body + .trim() + .split('&') + .forEach(function(bytes) { + if (bytes) { + var split = bytes.split('=') + var name = split.shift().replace(/\+/g, ' ') + var value = split.join('=').replace(/\+/g, ' ') + form.append(decodeURIComponent(name), decodeURIComponent(value)) + } + }) + return form +} + +function parseHeaders(rawHeaders) { + var headers = new Headers() + // Replace instances of \r\n and \n followed by at least one space or horizontal tab with a space + // https://tools.ietf.org/html/rfc7230#section-3.2 + var preProcessedHeaders = rawHeaders.replace(/\r?\n[\t ]+/g, ' ') + preProcessedHeaders.split(/\r?\n/).forEach(function(line) { + var parts = line.split(':') + var key = parts.shift().trim() + if (key) { + var value = parts.join(':').trim() + headers.append(key, value) + } + }) + return headers +} + +Body.call(Request.prototype) + +function Response(bodyInit, options) { + if (!options) { + options = {} + } + + this.type = 'default' + this.status = options.status === undefined ? 200 : options.status + this.ok = this.status >= 200 && this.status < 300 + this.statusText = 'statusText' in options ? options.statusText : 'OK' + this.headers = new Headers(options.headers) + this.url = options.url || '' + this._initBody(bodyInit) +} + +Body.call(Response.prototype) + +Response.prototype.clone = function() { + return new Response(this._bodyInit, { + status: this.status, + statusText: this.statusText, + headers: new Headers(this.headers), + url: this.url + }) +} + +Response.error = function() { + var response = new Response(null, {status: 0, statusText: ''}) + response.type = 'error' + return response +} + +var redirectStatuses = [301, 302, 303, 307, 308] + +Response.redirect = function(url, status) { + if (redirectStatuses.indexOf(status) === -1) { + throw new RangeError('Invalid status code') + } + + return new Response(null, {status: status, headers: {location: url}}) +} + +var DOMException = self.DOMException +try { + new DOMException() +} catch (err) { + DOMException = function(message, name) { + this.message = message + this.name = name + var error = Error(message) + this.stack = error.stack + } + DOMException.prototype = Object.create(Error.prototype) + DOMException.prototype.constructor = DOMException +} + +function fetch(input, init) { + return new Promise(function(resolve, reject) { + var request = new Request(input, init) + + if (request.signal && request.signal.aborted) { + return reject(new DOMException('Aborted', 'AbortError')) + } + + var xhr = new XMLHttpRequest() + + function abortXhr() { + xhr.abort() + } + + xhr.onload = function() { + var options = { + status: xhr.status, + statusText: xhr.statusText, + headers: parseHeaders(xhr.getAllResponseHeaders() || '') + } + options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL') + var body = 'response' in xhr ? xhr.response : xhr.responseText + resolve(new Response(body, options)) + } + + xhr.onerror = function() { + reject(new TypeError('Network request failed')) + } + + xhr.ontimeout = function() { + reject(new TypeError('Network request failed')) + } + + xhr.onabort = function() { + reject(new DOMException('Aborted', 'AbortError')) + } + + xhr.open(request.method, request.url, true) + + if (request.credentials === 'include') { + xhr.withCredentials = true + } else if (request.credentials === 'omit') { + xhr.withCredentials = false + } + + if ('responseType' in xhr && support.blob) { + xhr.responseType = 'blob' + } + + request.headers.forEach(function(value, name) { + xhr.setRequestHeader(name, value) + }) + + if (request.signal) { + request.signal.addEventListener('abort', abortXhr) + + xhr.onreadystatechange = function() { + // DONE (success or failure) + if (xhr.readyState === 4) { + request.signal.removeEventListener('abort', abortXhr) + } + } + } + + xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit) + }) +} + +fetch.polyfill = true + +if (!self.fetch) { + self.fetch = fetch + self.Headers = Headers + self.Request = Request + self.Response = Response +} + + +/***/ }), + +/***/ "./src/APIController.react.js": +/*!************************************!*\ + !*** ./src/APIController.react.js ***! + \************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _TreeContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./TreeContainer */ "./src/TreeContainer.js"); +/* harmony import */ var _components_error_GlobalErrorContainer_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/error/GlobalErrorContainer.react */ "./src/components/error/GlobalErrorContainer.react.js"); +/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions */ "./src/actions/index.js"); +/* harmony import */ var _actions_paths__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./actions/paths */ "./src/actions/paths.js"); +/* harmony import */ var _actions_dependencies__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/dependencies */ "./src/actions/dependencies.js"); +/* harmony import */ var _actions_api__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./actions/api */ "./src/actions/api.js"); +/* harmony import */ var _actions_utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./actions/utils */ "./src/actions/utils.js"); +/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./persistence */ "./src/persistence.js"); +/* harmony import */ var _reducers_constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./reducers/constants */ "./src/reducers/constants.js"); +/* harmony import */ var _constants_constants__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./constants/constants */ "./src/constants/constants.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + + + + + + + + + + + + + + +/** + * Fire off API calls for initialization + * @param {*} props props + * @returns {*} component + */ + +var UnconnectedContainer = function UnconnectedContainer(props) { + var _useState = Object(react__WEBPACK_IMPORTED_MODULE_2__["useState"])(false), + _useState2 = _slicedToArray(_useState, 2), + errorLoading = _useState2[0], + setErrorLoading = _useState2[1]; + + var events = Object(react__WEBPACK_IMPORTED_MODULE_2__["useRef"])(null); + + if (!events.current) { + events.current = new _actions_utils__WEBPACK_IMPORTED_MODULE_10__["EventEmitter"](); + } + + var renderedTree = Object(react__WEBPACK_IMPORTED_MODULE_2__["useRef"])(false); + Object(react__WEBPACK_IMPORTED_MODULE_2__["useEffect"])(storeEffect.bind(null, props, events, setErrorLoading)); + Object(react__WEBPACK_IMPORTED_MODULE_2__["useEffect"])(function () { + if (renderedTree.current) { + renderedTree.current = false; + events.current.emit('rendered'); + } + }); + var appLifecycle = props.appLifecycle, + dependenciesRequest = props.dependenciesRequest, + layoutRequest = props.layoutRequest, + layout = props.layout, + config = props.config; + var content; + + if (layoutRequest.status && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["includes"])(layoutRequest.status, [_constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK, 'loading'])) { + content = react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { + className: "_dash-error" + }, "Error loading layout"); + } else if (errorLoading || dependenciesRequest.status && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["includes"])(dependenciesRequest.status, [_constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK, 'loading'])) { + content = react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { + className: "_dash-error" + }, "Error loading dependencies"); + } else if (appLifecycle === Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_12__["getAppState"])('HYDRATED')) { + renderedTree.current = true; + content = react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_TreeContainer__WEBPACK_IMPORTED_MODULE_4__["default"], { + _dashprivate_layout: layout, + _dashprivate_path: [] + }); + } else { + content = react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement("div", { + className: "_dash-loading" + }, "Loading..."); + } + + return config && config.ui === true ? react__WEBPACK_IMPORTED_MODULE_2___default.a.createElement(_components_error_GlobalErrorContainer_react__WEBPACK_IMPORTED_MODULE_5__["default"], null, content) : content; +}; + +function storeEffect(props, events, setErrorLoading) { + var appLifecycle = props.appLifecycle, + dependenciesRequest = props.dependenciesRequest, + dispatch = props.dispatch, + error = props.error, + graphs = props.graphs, + layout = props.layout, + layoutRequest = props.layoutRequest; + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layoutRequest)) { + dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_9__["default"])('_dash-layout', 'GET', 'layoutRequest')); + } else if (layoutRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layout)) { + var finalLayout = Object(_persistence__WEBPACK_IMPORTED_MODULE_11__["applyPersistence"])(layoutRequest.content, dispatch); + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["setPaths"])(Object(_actions_paths__WEBPACK_IMPORTED_MODULE_7__["computePaths"])(finalLayout, [], null, events.current))); + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["setLayout"])(finalLayout)); + } + } + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(dependenciesRequest)) { + dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_9__["default"])('_dash-dependencies', 'GET', 'dependenciesRequest')); + } else if (dependenciesRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK && Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(graphs)) { + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["setGraphs"])(Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_8__["computeGraphs"])(dependenciesRequest.content, Object(_actions__WEBPACK_IMPORTED_MODULE_6__["dispatchError"])(dispatch)))); + } + + if ( // dependenciesRequest and its computed stores + dependenciesRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(graphs) && // LayoutRequest and its computed stores + layoutRequest.status === _constants_constants__WEBPACK_IMPORTED_MODULE_13__["STATUS"].OK && !Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(layout) && // Hasn't already hydrated + appLifecycle === Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_12__["getAppState"])('STARTED')) { + var hasError = false; + + try { + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["hydrateInitialOutputs"])(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["dispatchError"])(dispatch))); + } catch (err) { + // Display this error in devtools, unless we have errors + // already, in which case we assume this new one is moot + if (!error.frontEnd.length && !error.backEnd.length) { + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["onError"])({ + type: 'backEnd', + error: err + })); + } + + hasError = true; + } finally { + setErrorLoading(hasError); + } + } +} + +UnconnectedContainer.propTypes = { + appLifecycle: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.oneOf([Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_12__["getAppState"])('STARTED'), Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_12__["getAppState"])('HYDRATED')]), + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.func, + dependenciesRequest: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, + graphs: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, + layoutRequest: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, + layout: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, + history: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.any, + error: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object, + config: prop_types__WEBPACK_IMPORTED_MODULE_3___default.a.object +}; +var Container = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])( // map state to props +function (state) { + return { + appLifecycle: state.appLifecycle, + dependenciesRequest: state.dependenciesRequest, + layoutRequest: state.layoutRequest, + layout: state.layout, + graphs: state.graphs, + history: state.history, + error: state.error, + config: state.config + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +})(UnconnectedContainer); +/* harmony default export */ __webpack_exports__["default"] = (Container); + +/***/ }), + +/***/ "./src/AppContainer.react.js": +/*!***********************************!*\ + !*** ./src/AppContainer.react.js ***! + \***********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _APIController_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./APIController.react */ "./src/APIController.react.js"); +/* harmony import */ var _components_core_DocumentTitle_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./components/core/DocumentTitle.react */ "./src/components/core/DocumentTitle.react.js"); +/* harmony import */ var _components_core_Loading_react__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components/core/Loading.react */ "./src/components/core/Loading.react.js"); +/* harmony import */ var _components_core_Toolbar_react__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./components/core/Toolbar.react */ "./src/components/core/Toolbar.react.js"); +/* harmony import */ var _components_core_Reloader_react__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./components/core/Reloader.react */ "./src/components/core/Reloader.react.js"); +/* harmony import */ var _actions_index__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./actions/index */ "./src/actions/index.js"); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + + + + + + +var UnconnectedAppContainer = /*#__PURE__*/function (_React$Component) { + _inherits(UnconnectedAppContainer, _React$Component); + + function UnconnectedAppContainer(props) { + var _this; + + _classCallCheck(this, UnconnectedAppContainer); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedAppContainer).call(this, props)); + + if (props.hooks.request_pre !== null || props.hooks.request_post !== null) { + props.dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_8__["setHooks"])(props.hooks)); + } + + return _this; + } + + _createClass(UnconnectedAppContainer, [{ + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + var dispatch = this.props.dispatch; + var config = JSON.parse(document.getElementById('_dash-config').textContent); // preset common request params in the config + + config.fetch = { + credentials: 'same-origin', + headers: { + Accept: 'application/json', + 'Content-Type': 'application/json' + } + }; + dispatch(Object(_actions_index__WEBPACK_IMPORTED_MODULE_8__["setConfig"])(config)); + } + }, { + key: "render", + value: function render() { + var config = this.props.config; + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_9__["type"])(config) === 'Null') { + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + className: "_dash-loading" + }, "Loading..."); + } + + var show_undo_redo = config.show_undo_redo; + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_1___default.a.Fragment, null, show_undo_redo ? react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Toolbar_react__WEBPACK_IMPORTED_MODULE_6__["default"], null) : null, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_APIController_react__WEBPACK_IMPORTED_MODULE_3__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_DocumentTitle_react__WEBPACK_IMPORTED_MODULE_4__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Loading_react__WEBPACK_IMPORTED_MODULE_5__["default"], null), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_components_core_Reloader_react__WEBPACK_IMPORTED_MODULE_7__["default"], null)); + } + }]); + + return UnconnectedAppContainer; +}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); + +UnconnectedAppContainer.propTypes = { + hooks: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, + config: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object +}; +var AppContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + history: state.history, + config: state.config + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +})(UnconnectedAppContainer); +/* harmony default export */ __webpack_exports__["default"] = (AppContainer); + +/***/ }), + +/***/ "./src/AppProvider.react.js": +/*!**********************************!*\ + !*** ./src/AppProvider.react.js ***! + \**********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var _store__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./store */ "./src/store.js"); +/* harmony import */ var _AppContainer_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./AppContainer.react */ "./src/AppContainer.react.js"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); + + + + + +var store = Object(_store__WEBPACK_IMPORTED_MODULE_2__["default"])(); + +var AppProvider = function AppProvider(_ref) { + var hooks = _ref.hooks; + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_redux__WEBPACK_IMPORTED_MODULE_1__["Provider"], { + store: store + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AppContainer_react__WEBPACK_IMPORTED_MODULE_3__["default"], { + hooks: hooks + })); +}; + +AppProvider.propTypes = { + hooks: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ + request_pre: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func, + request_post: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.func + }) +}; +AppProvider.defaultProps = { + hooks: { + request_pre: null, + request_post: null + } +}; +/* harmony default export */ __webpack_exports__["default"] = (AppProvider); + +/***/ }), + +/***/ "./src/DashRenderer.js": +/*!*****************************!*\ + !*** ./src/DashRenderer.js ***! + \*****************************/ +/*! exports provided: DashRenderer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DashRenderer", function() { return DashRenderer; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom"); +/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _AppProvider_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppProvider.react */ "./src/AppProvider.react.js"); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + + + + +var DashRenderer = function DashRenderer(hooks) { + _classCallCheck(this, DashRenderer); + + // render Dash Renderer upon initialising! + react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render(react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_AppProvider_react__WEBPACK_IMPORTED_MODULE_2__["default"], { + hooks: hooks + }), document.getElementById('react-entry-point')); +}; + + + +/***/ }), + +/***/ "./src/TreeContainer.js": +/*!******************************!*\ + !*** ./src/TreeContainer.js ***! + \******************************/ +/*! exports provided: AugmentedTreeContainer, default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AugmentedTreeContainer", function() { return AugmentedTreeContainer; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./registry */ "./src/registry.js"); +/* harmony import */ var _exceptions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./exceptions */ "./src/exceptions.js"); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./actions */ "./src/actions/index.js"); +/* harmony import */ var _isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./isSimpleComponent */ "./src/isSimpleComponent.js"); +/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./persistence */ "./src/persistence.js"); +/* harmony import */ var _components_error_ComponentErrorBoundary_react__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./components/error/ComponentErrorBoundary.react */ "./src/components/error/ComponentErrorBoundary.react.js"); +/* harmony import */ var _checkPropTypes__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./checkPropTypes */ "./src/checkPropTypes.js"); +/* harmony import */ var _actions_dependencies__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./actions/dependencies */ "./src/actions/dependencies.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + + + + + + + + + + + + + +function validateComponent(componentDefinition) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["type"])(componentDefinition) === 'Array') { + throw new Error('The children property of a component is a list of lists, instead ' + 'of just a list. ' + 'Check the component that has the following contents, ' + 'and remove one of the levels of nesting: \n' + JSON.stringify(componentDefinition, null, 2)); + } + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["type"])(componentDefinition) === 'Object' && !(Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('namespace', componentDefinition) && Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('type', componentDefinition) && Object(ramda__WEBPACK_IMPORTED_MODULE_5__["has"])('props', componentDefinition))) { + throw new Error('An object was provided as `children` instead of a component, ' + 'string, or number (or list of those). ' + 'Check the children property that looks something like:\n' + JSON.stringify(componentDefinition, null, 2)); + } +} + +var createContainer = function createContainer(component, path) { + return Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(component) ? component : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(AugmentedTreeContainer, { + key: component && component.props && Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_11__["stringifyId"])(component.props.id), + _dashprivate_layout: component, + _dashprivate_path: path + }); +}; + +function CheckedComponent(p) { + var element = p.element, + extraProps = p.extraProps, + props = p.props, + children = p.children, + type = p.type; + var errorMessage = Object(_checkPropTypes__WEBPACK_IMPORTED_MODULE_10__["default"])(element.propTypes, props, 'component prop', element); + + if (errorMessage) { + Object(_exceptions__WEBPACK_IMPORTED_MODULE_3__["propTypeErrorHandler"])(errorMessage, props, type); + } + + return createElement(element, props, extraProps, children); +} + +CheckedComponent.propTypes = { + children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + element: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + layout: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + props: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + extraProps: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + id: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.string +}; + +function createElement(element, props, extraProps, children) { + var allProps = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["mergeRight"])(props, extraProps); + + if (Array.isArray(children)) { + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement.apply(react__WEBPACK_IMPORTED_MODULE_0___default.a, [element, allProps].concat(_toConsumableArray(children))); + } + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(element, allProps, children); +} + +var TreeContainer = /*#__PURE__*/function (_Component) { + _inherits(TreeContainer, _Component); + + function TreeContainer(props) { + var _this; + + _classCallCheck(this, TreeContainer); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(TreeContainer).call(this, props)); + _this.setProps = _this.setProps.bind(_assertThisInitialized(_this)); + return _this; + } + + _createClass(TreeContainer, [{ + key: "setProps", + value: function setProps(newProps) { + var _this$props = this.props, + _dashprivate_graphs = _this$props._dashprivate_graphs, + _dashprivate_dispatch = _this$props._dashprivate_dispatch, + _dashprivate_path = _this$props._dashprivate_path, + _dashprivate_layout = _this$props._dashprivate_layout; + var oldProps = this.getLayoutProps(); + var id = oldProps.id; + var changedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["pickBy"])(function (val, key) { + return !Object(ramda__WEBPACK_IMPORTED_MODULE_5__["equals"])(val, oldProps[key]); + }, newProps); + + if (!Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isEmpty"])(changedProps)) { + // Identify the modified props that are required for callbacks + var watchedKeys = Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_11__["getWatchedKeys"])(id, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["keys"])(changedProps), _dashprivate_graphs); // setProps here is triggered by the UI - record these changes + // for persistence + + Object(_persistence__WEBPACK_IMPORTED_MODULE_8__["recordUiEdit"])(_dashprivate_layout, newProps, _dashprivate_dispatch); // Always update this component's props + + _dashprivate_dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["updateProps"])({ + props: changedProps, + itempath: _dashprivate_path + })); // Only dispatch changes to Dash if a watched prop changed + + + if (watchedKeys.length) { + _dashprivate_dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_6__["notifyObservers"])({ + id: id, + props: Object(ramda__WEBPACK_IMPORTED_MODULE_5__["pick"])(watchedKeys, changedProps) + })); + } + } + } + }, { + key: "getChildren", + value: function getChildren(components, path) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isNil"])(components)) { + return null; + } + + return Array.isArray(components) ? Object(ramda__WEBPACK_IMPORTED_MODULE_5__["addIndex"])(ramda__WEBPACK_IMPORTED_MODULE_5__["map"])(function (component, i) { + return createContainer(component, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["concat"])(path, ['props', 'children', i])); + }, components) : createContainer(components, Object(ramda__WEBPACK_IMPORTED_MODULE_5__["concat"])(path, ['props', 'children'])); + } + }, { + key: "getComponent", + value: function getComponent(_dashprivate_layout, children, loading_state, setProps) { + var _dashprivate_config = this.props._dashprivate_config; + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["isEmpty"])(_dashprivate_layout)) { + return null; + } + + if (Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(_dashprivate_layout)) { + return _dashprivate_layout; + } + + validateComponent(_dashprivate_layout); + var element = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(_dashprivate_layout); + var props = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["dissoc"])('children', _dashprivate_layout.props); + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_5__["type"])(props.id) === 'Object') { + // Turn object ids (for wildcards) into unique strings. + // Because of the `dissoc` above we're not mutating the layout, + // just the id we pass on to the rendered component + props.id = Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_11__["stringifyId"])(props.id); + } + + var extraProps = { + loading_state: loading_state, + setProps: setProps + }; + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_components_error_ComponentErrorBoundary_react__WEBPACK_IMPORTED_MODULE_9__["default"], { + componentType: _dashprivate_layout.type, + componentId: props.id, + key: props.id + }, _dashprivate_config.props_check ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(CheckedComponent, { + children: children, + element: element, + props: props, + extraProps: extraProps, + type: _dashprivate_layout.type + }) : createElement(element, props, extraProps, children)); + } + }, { + key: "shouldComponentUpdate", + value: function shouldComponentUpdate(nextProps) { + var _dashprivate_layout = nextProps._dashprivate_layout, + _dashprivate_loadingState = nextProps._dashprivate_loadingState; + return _dashprivate_layout !== this.props._dashprivate_layout || _dashprivate_loadingState.is_loading !== this.props._dashprivate_loadingState.is_loading; + } + }, { + key: "getLayoutProps", + value: function getLayoutProps() { + return Object(ramda__WEBPACK_IMPORTED_MODULE_5__["propOr"])({}, 'props', this.props._dashprivate_layout); + } + }, { + key: "render", + value: function render() { + var _this$props2 = this.props, + _dashprivate_layout = _this$props2._dashprivate_layout, + _dashprivate_loadingState = _this$props2._dashprivate_loadingState, + _dashprivate_path = _this$props2._dashprivate_path; + var layoutProps = this.getLayoutProps(); + var children = this.getChildren(layoutProps.children, _dashprivate_path); + return this.getComponent(_dashprivate_layout, children, _dashprivate_loadingState, this.setProps); + } + }]); + + return TreeContainer; +}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); + +TreeContainer.propTypes = { + _dashprivate_graphs: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any, + _dashprivate_dispatch: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.func, + _dashprivate_layout: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + _dashprivate_loadingState: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + _dashprivate_config: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + _dashprivate_path: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.array +}; + +function isLoadingComponent(layout) { + validateComponent(layout); + return _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(layout)._dashprivate_isLoadingComponent; +} + +function getNestedIds(layout) { + var ids = []; + var queue = [layout]; + + while (queue.length) { + var elementLayout = queue.shift(); + var props = elementLayout && elementLayout.props; + + if (!props) { + continue; + } + + var children = props.children, + id = props.id; + + if (id) { + ids.push(id); + } + + if (children) { + var filteredChildren = Object(ramda__WEBPACK_IMPORTED_MODULE_5__["filter"])(function (child) { + return !Object(_isSimpleComponent__WEBPACK_IMPORTED_MODULE_7__["default"])(child) && !isLoadingComponent(child); + }, Array.isArray(children) ? children : [children]); + queue.push.apply(queue, _toConsumableArray(filteredChildren)); + } + } + + return ids; +} + +function getLoadingState(layout, pendingCallbacks) { + var ids = isLoadingComponent(layout) ? getNestedIds(layout) : layout && layout.props.id && [layout.props.id]; + var isLoading = false; + var loadingProp; + var loadingComponent; + + if (pendingCallbacks && pendingCallbacks.length && ids && ids.length) { + var idStrs = ids.map(_actions_dependencies__WEBPACK_IMPORTED_MODULE_11__["stringifyId"]); + pendingCallbacks.forEach(function (cb) { + var requestId = cb.requestId, + requestedOutputs = cb.requestedOutputs; + + if (requestId === undefined) { + return; + } + + idStrs.forEach(function (idStr) { + var props = requestedOutputs[idStr]; + + if (props) { + isLoading = true; // TODO: what about multiple loading components / props? + + loadingComponent = idStr; + loadingProp = props[0]; + } + }); + }); + } // Set loading state + + + return { + is_loading: isLoading, + prop_name: loadingProp, + component_name: loadingComponent + }; +} + +var AugmentedTreeContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_4__["connect"])(function (state) { + return { + graphs: state.graphs, + pendingCallbacks: state.pendingCallbacks, + config: state.config + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +}, function (stateProps, dispatchProps, ownProps) { + return { + _dashprivate_graphs: stateProps.graphs, + _dashprivate_dispatch: dispatchProps.dispatch, + _dashprivate_layout: ownProps._dashprivate_layout, + _dashprivate_path: ownProps._dashprivate_path, + _dashprivate_loadingState: getLoadingState(ownProps._dashprivate_layout, stateProps.pendingCallbacks), + _dashprivate_config: stateProps.config + }; +})(TreeContainer); +/* harmony default export */ __webpack_exports__["default"] = (AugmentedTreeContainer); + +/***/ }), + +/***/ "./src/actions/api.js": +/*!****************************!*\ + !*** ./src/actions/api.js ***! + \****************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return apiThunk; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actions */ "./src/actions/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ "./src/actions/utils.js"); + + + + +function GET(path, fetchConfig) { + return fetch(path, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(fetchConfig, { + method: 'GET', + headers: Object(_actions__WEBPACK_IMPORTED_MODULE_1__["getCSRFHeader"])() + })); +} + +function POST(path, fetchConfig) { + var body = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + return fetch(path, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(fetchConfig, { + method: 'POST', + headers: Object(_actions__WEBPACK_IMPORTED_MODULE_1__["getCSRFHeader"])(), + body: body ? JSON.stringify(body) : null + })); +} + +var request = { + GET: GET, + POST: POST +}; +function apiThunk(endpoint, method, store, id, body) { + return function (dispatch, getState) { + var config = getState().config; + var url = "".concat(Object(_utils__WEBPACK_IMPORTED_MODULE_2__["urlBase"])(config)).concat(endpoint); + dispatch({ + type: store, + payload: { + id: id, + status: 'loading' + } + }); + return request[method](url, config.fetch, body).then(function (res) { + var contentType = res.headers.get('content-type'); + + if (contentType && contentType.indexOf('application/json') !== -1) { + return res.json().then(function (json) { + dispatch({ + type: store, + payload: { + status: res.status, + content: json, + id: id + } + }); + return json; + }); + } + + return dispatch({ + type: store, + payload: { + id: id, + status: res.status + } + }); + })["catch"](function (err) { + var message = 'Error from API call: ' + endpoint; + Object(_actions__WEBPACK_IMPORTED_MODULE_1__["handleAsyncError"])(err, message, dispatch); + }); + }; +} + +/***/ }), + +/***/ "./src/actions/constants.js": +/*!**********************************!*\ + !*** ./src/actions/constants.js ***! + \**********************************/ +/*! exports provided: getAction */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAction", function() { return getAction; }); +var actionList = { + ON_PROP_CHANGE: 1, + SET_REQUEST_QUEUE: 1, + SET_GRAPHS: 1, + SET_PATHS: 1, + SET_LAYOUT: 1, + SET_APP_LIFECYCLE: 1, + SET_CONFIG: 1, + ON_ERROR: 1, + SET_HOOKS: 1 +}; +var getAction = function getAction(action) { + if (actionList[action]) { + return action; + } + + throw new Error("".concat(action, " is not defined.")); +}; + +/***/ }), + +/***/ "./src/actions/dependencies.js": +/*!*************************************!*\ + !*** ./src/actions/dependencies.js ***! + \*************************************/ +/*! exports provided: isMultiOutputProp, parseIfWildcard, combineIdAndProp, stringifyId, validateCallbacksToLayout, computeGraphs, setNewRequestId, isMultiValued, getCallbacksByInput, getWatchedKeys, getCallbacksInLayout, removePendingCallback, findReadyCallbacks, followForward, mergePendingCallbacks, pruneRemovedCallbacks */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMultiOutputProp", function() { return isMultiOutputProp; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseIfWildcard", function() { return parseIfWildcard; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "combineIdAndProp", function() { return combineIdAndProp; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stringifyId", function() { return stringifyId; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "validateCallbacksToLayout", function() { return validateCallbacksToLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computeGraphs", function() { return computeGraphs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setNewRequestId", function() { return setNewRequestId; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isMultiValued", function() { return isMultiValued; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCallbacksByInput", function() { return getCallbacksByInput; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getWatchedKeys", function() { return getWatchedKeys; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCallbacksInLayout", function() { return getCallbacksInLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "removePendingCallback", function() { return removePendingCallback; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "findReadyCallbacks", function() { return findReadyCallbacks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "followForward", function() { return followForward; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "mergePendingCallbacks", function() { return mergePendingCallbacks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "pruneRemovedCallbacks", function() { return pruneRemovedCallbacks; }); +/* harmony import */ var dependency_graph__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! dependency-graph */ "./node_modules/dependency-graph/lib/dep_graph.js"); +/* harmony import */ var dependency_graph__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(dependency_graph__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var fast_isnumeric__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! fast-isnumeric */ "./node_modules/fast-isnumeric/index.js"); +/* harmony import */ var fast_isnumeric__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(fast_isnumeric__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./paths */ "./src/actions/paths.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ "./src/actions/utils.js"); +/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../registry */ "./src/registry.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + + + + +var mergeMax = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["mergeWith"])(Math.max); + + + +/* + * If this update is for multiple outputs, then it has + * starting & trailing `..` and each propId pair is separated + * by `...`, e.g. + * "..output-1.value...output-2.value...output-3.value...output-4.value.." + */ + +var isMultiOutputProp = function isMultiOutputProp(idAndProp) { + return idAndProp.startsWith('..'); +}; +var ALL = { + wild: 'ALL', + multi: 1 +}; +var MATCH = { + wild: 'MATCH' +}; +var ALLSMALLER = { + wild: 'ALLSMALLER', + multi: 1, + expand: 1 +}; +var wildcards = { + ALL: ALL, + MATCH: MATCH, + ALLSMALLER: ALLSMALLER +}; +var allowedWildcards = { + Output: { + ALL: ALL, + MATCH: MATCH + }, + Input: wildcards, + State: wildcards +}; +var wildcardValTypes = ['string', 'number', 'boolean']; +var idInvalidChars = ['.', '{']; +/* + * If this ID is a wildcard, it is a stringified JSON object + * the "{" character is disallowed from regular string IDs + */ + +var isWildcardId = function isWildcardId(idStr) { + return idStr.startsWith('{'); +}; +/* + * Turn stringified wildcard IDs into objects. + * Wildcards are encoded as single-item arrays containing the wildcard name + * as a string. + */ + + +function parseWildcardId(idStr) { + return Object(ramda__WEBPACK_IMPORTED_MODULE_2__["map"])(function (val) { + return Array.isArray(val) && wildcards[val[0]] || val; + }, JSON.parse(idStr)); +} +/* + * If this update is for multiple outputs, then it has + * starting & trailing `..` and each propId pair is separated + * by `...`, e.g. + * "..output-1.value...output-2.value...output-3.value...output-4.value.." + */ + + +function parseMultipleOutputs(outputIdAndProp) { + return outputIdAndProp.substr(2, outputIdAndProp.length - 4).split('...'); +} + +function splitIdAndProp(idAndProp) { + // since wildcard ids can have . in them but props can't, + // look for the last . in the string and split there + var dotPos = idAndProp.lastIndexOf('.'); + var idStr = idAndProp.substr(0, dotPos); + return { + id: parseIfWildcard(idStr), + property: idAndProp.substr(dotPos + 1) + }; +} +/* + * Check if this ID is a stringified object, and if so parse it to that object + */ + + +function parseIfWildcard(idStr) { + return isWildcardId(idStr) ? parseWildcardId(idStr) : idStr; +} +var combineIdAndProp = function combineIdAndProp(_ref) { + var id = _ref.id, + property = _ref.property; + return "".concat(stringifyId(id), ".").concat(property); +}; +/* + * JSON.stringify - for the object form - but ensuring keys are sorted + */ + +function stringifyId(id) { + if (_typeof(id) !== 'object') { + return id; + } + + var stringifyVal = function stringifyVal(v) { + return v && v.wild || JSON.stringify(v); + }; + + var parts = Object.keys(id).sort().map(function (k) { + return JSON.stringify(k) + ':' + stringifyVal(id[k]); + }); + return '{' + parts.join(',') + '}'; +} +/* + * id dict values can be numbers, strings, and booleans. + * We need a definite ordering that will work across types, + * even if sane users would not mix types. + * - numeric strings are treated as numbers + * - booleans come after numbers, before strings. false, then true. + * - non-numeric strings come last + */ + +function idValSort(a, b) { + var bIsNumeric = fast_isnumeric__WEBPACK_IMPORTED_MODULE_1___default()(b); + + if (fast_isnumeric__WEBPACK_IMPORTED_MODULE_1___default()(a)) { + if (bIsNumeric) { + var aN = Number(a); + var bN = Number(b); + return aN > bN ? 1 : aN < bN ? -1 : 0; + } + + return -1; + } + + if (bIsNumeric) { + return 1; + } + + var aIsBool = typeof a === 'boolean'; + + if (aIsBool !== (typeof b === 'boolean')) { + return aIsBool ? -1 : 1; + } + + return a > b ? 1 : a < b ? -1 : 0; +} +/* + * Provide a value known to be before or after v, according to idValSort + */ + + +var valBefore = function valBefore(v) { + return fast_isnumeric__WEBPACK_IMPORTED_MODULE_1___default()(v) ? v - 1 : 0; +}; + +var valAfter = function valAfter(v) { + return typeof v === 'string' ? v + 'z' : 'z'; +}; + +function addMap(depMap, id, prop, dependency) { + var idMap = depMap[id] = depMap[id] || {}; + var callbacks = idMap[prop] = idMap[prop] || []; + callbacks.push(dependency); +} + +function addPattern(depMap, idSpec, prop, dependency) { + var keys = Object.keys(idSpec).sort(); + var keyStr = keys.join(','); + var values = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(keys, idSpec); + var keyCallbacks = depMap[keyStr] = depMap[keyStr] || {}; + var propCallbacks = keyCallbacks[prop] = keyCallbacks[prop] || []; + var valMatch = false; + + for (var i = 0; i < propCallbacks.length; i++) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_2__["equals"])(values, propCallbacks[i].values)) { + valMatch = propCallbacks[i]; + break; + } + } + + if (!valMatch) { + valMatch = { + keys: keys, + values: values, + callbacks: [] + }; + propCallbacks.push(valMatch); + } + + valMatch.callbacks.push(dependency); +} + +function validateDependencies(parsedDependencies, dispatchError) { + var outStrs = {}; + var outObjs = []; + parsedDependencies.forEach(function (dep) { + var inputs = dep.inputs, + outputs = dep.outputs, + state = dep.state; + var hasOutputs = true; + + if (outputs.length === 1 && !outputs[0].id && !outputs[0].property) { + hasOutputs = false; + dispatchError('A callback is missing Outputs', ['Please provide an output for this callback:', JSON.stringify(dep, null, 2)]); + } + + var head = 'In the callback for output(s):\n ' + outputs.map(combineIdAndProp).join('\n '); + + if (!inputs.length) { + dispatchError('A callback is missing Inputs', [head, 'there are no `Input` elements.', 'Without `Input` elements, it will never get called.', '', 'Subscribing to `Input` components will cause the', 'callback to be called whenever their values change.']); + } + + var spec = [[outputs, 'Output'], [inputs, 'Input'], [state, 'State']]; + spec.forEach(function (_ref2) { + var _ref3 = _slicedToArray(_ref2, 2), + args = _ref3[0], + cls = _ref3[1]; + + if (cls === 'Output' && !hasOutputs) { + // just a quirk of how we pass & parse outputs - if you don't + // provide one, it looks like a single blank output. This is + // actually useful for graceful failure, so we work around it. + return; + } + + if (!Array.isArray(args)) { + dispatchError("Callback ".concat(cls, "(s) must be an Array"), [head, "For ".concat(cls, "(s) we found:"), JSON.stringify(args), 'but we expected an Array.']); + } + + args.forEach(function (idProp, i) { + validateArg(idProp, head, cls, i, dispatchError); + }); + }); + findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs); + findInOutOverlap(outputs, inputs, head, dispatchError); + findMismatchedWildcards(outputs, inputs, state, head, dispatchError); + }); +} + +function validateArg(_ref4, head, cls, i, dispatchError) { + var id = _ref4.id, + property = _ref4.property; + + if (typeof property !== 'string' || !property) { + dispatchError('Callback property error', [head, "".concat(cls, "[").concat(i, "].property = ").concat(JSON.stringify(property)), 'but we expected `property` to be a non-empty string.']); + } + + if (_typeof(id) === 'object') { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_2__["isEmpty"])(id)) { + dispatchError('Callback item missing ID', [head, "".concat(cls, "[").concat(i, "].id = {}"), 'Every item linked to a callback needs an ID']); + } + + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["forEachObjIndexed"])(function (v, k) { + if (!k) { + dispatchError('Callback wildcard ID error', [head, "".concat(cls, "[").concat(i, "].id has key \"").concat(k, "\""), 'Keys must be non-empty strings.']); + } + + if (_typeof(v) === 'object' && v.wild) { + if (allowedWildcards[cls][v.wild] !== v) { + dispatchError('Callback wildcard ID error', [head, "".concat(cls, "[").concat(i, "].id[\"").concat(k, "\"] = ").concat(v.wild), "Allowed wildcards for ".concat(cls, "s are:"), Object(ramda__WEBPACK_IMPORTED_MODULE_2__["keys"])(allowedWildcards[cls]).join(', ')]); + } + } else if (!Object(ramda__WEBPACK_IMPORTED_MODULE_2__["includes"])(_typeof(v), wildcardValTypes)) { + dispatchError('Callback wildcard ID error', [head, "".concat(cls, "[").concat(i, "].id[\"").concat(k, "\"] = ").concat(JSON.stringify(v)), 'Wildcard callback ID values must be either wildcards', 'or constants of one of these types:', wildcardValTypes.join(', ')]); + } + }, id); + } else if (typeof id === 'string') { + if (!id) { + dispatchError('Callback item missing ID', [head, "".concat(cls, "[").concat(i, "].id = \"").concat(id, "\""), 'Every item linked to a callback needs an ID']); + } + + var invalidChars = idInvalidChars.filter(function (c) { + return Object(ramda__WEBPACK_IMPORTED_MODULE_2__["includes"])(c, id); + }); + + if (invalidChars.length) { + dispatchError('Callback invalid ID string', [head, "".concat(cls, "[").concat(i, "].id = '").concat(id, "'"), "characters '".concat(invalidChars.join("', '"), "' are not allowed.")]); + } + } else { + dispatchError('Callback ID type error', [head, "".concat(cls, "[").concat(i, "].id = ").concat(JSON.stringify(id)), 'IDs must be strings or wildcard-compatible objects.']); + } +} + +function findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs) { + var newOutputStrs = {}; + var newOutputObjs = []; + outputs.forEach(function (_ref5, i) { + var id = _ref5.id, + property = _ref5.property; + + if (typeof id === 'string') { + var idProp = combineIdAndProp({ + id: id, + property: property + }); + + if (newOutputStrs[idProp]) { + dispatchError('Duplicate callback Outputs', [head, "Output ".concat(i, " (").concat(idProp, ") is already used by this callback.")]); + } else if (outStrs[idProp]) { + dispatchError('Duplicate callback outputs', [head, "Output ".concat(i, " (").concat(idProp, ") is already in use."), 'Any given output can only have one callback that sets it.', 'To resolve this situation, try combining these into', 'one callback function, distinguishing the trigger', 'by using `dash.callback_context` if necessary.']); + } else { + newOutputStrs[idProp] = 1; + } + } else { + var idObj = { + id: id, + property: property + }; + var selfOverlap = wildcardOverlap(idObj, newOutputObjs); + var otherOverlap = selfOverlap || wildcardOverlap(idObj, outObjs); + + if (selfOverlap || otherOverlap) { + var _idProp = combineIdAndProp(idObj); + + var idProp2 = combineIdAndProp(selfOverlap || otherOverlap); + dispatchError('Overlapping wildcard callback outputs', [head, "Output ".concat(i, " (").concat(_idProp, ")"), "overlaps another output (".concat(idProp2, ")"), "used in ".concat(selfOverlap ? 'this' : 'a different', " callback.")]); + } else { + newOutputObjs.push(idObj); + } + } + }); + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["keys"])(newOutputStrs).forEach(function (k) { + outStrs[k] = 1; + }); + newOutputObjs.forEach(function (idObj) { + outObjs.push(idObj); + }); +} + +function findInOutOverlap(outputs, inputs, head, dispatchError) { + outputs.forEach(function (out, outi) { + var outId = out.id, + outProp = out.property; + inputs.forEach(function (in_, ini) { + var inId = in_.id, + inProp = in_.property; + + if (outProp !== inProp || _typeof(outId) !== _typeof(inId)) { + return; + } + + if (typeof outId === 'string') { + if (outId === inId) { + dispatchError('Same `Input` and `Output`', [head, "Input ".concat(ini, " (").concat(combineIdAndProp(in_), ")"), "matches Output ".concat(outi, " (").concat(combineIdAndProp(out), ")")]); + } + } else if (wildcardOverlap(in_, [out])) { + dispatchError('Same `Input` and `Output`', [head, "Input ".concat(ini, " (").concat(combineIdAndProp(in_), ")"), 'can match the same component(s) as', "Output ".concat(outi, " (").concat(combineIdAndProp(out), ")")]); + } + }); + }); +} + +function findMismatchedWildcards(outputs, inputs, state, head, dispatchError) { + var _findWildcardKeys = findWildcardKeys(outputs[0].id), + out0AnyKeys = _findWildcardKeys.anyKeys; + + outputs.forEach(function (out, outi) { + if (outi && !Object(ramda__WEBPACK_IMPORTED_MODULE_2__["equals"])(findWildcardKeys(out.id).anyKeys, out0AnyKeys)) { + dispatchError('Mismatched `MATCH` wildcards across `Output`s', [head, "Output ".concat(outi, " (").concat(combineIdAndProp(out), ")"), 'does not have MATCH wildcards on the same keys as', "Output 0 (".concat(combineIdAndProp(outputs[0]), ")."), 'MATCH wildcards must be on the same keys for all Outputs.', 'ALL wildcards need not match, only MATCH.']); + } + }); + [[inputs, 'Input'], [state, 'State']].forEach(function (_ref6) { + var _ref7 = _slicedToArray(_ref6, 2), + args = _ref7[0], + cls = _ref7[1]; + + args.forEach(function (arg, i) { + var _findWildcardKeys2 = findWildcardKeys(arg.id), + anyKeys = _findWildcardKeys2.anyKeys, + allsmallerKeys = _findWildcardKeys2.allsmallerKeys; + + var allWildcardKeys = anyKeys.concat(allsmallerKeys); + var diff = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["difference"])(allWildcardKeys, out0AnyKeys); + + if (diff.length) { + diff.sort(); + dispatchError('`Input` / `State` wildcards not in `Output`s', [head, "".concat(cls, " ").concat(i, " (").concat(combineIdAndProp(arg), ")"), "has MATCH or ALLSMALLER on key(s) ".concat(diff.join(', ')), "where Output 0 (".concat(combineIdAndProp(outputs[0]), ")"), 'does not have a MATCH wildcard. Inputs and State do not', 'need every MATCH from the Output(s), but they cannot have', 'extras beyond the Output(s).']); + } + }); + }); +} + +var matchWildKeys = function matchWildKeys(_ref8) { + var _ref9 = _slicedToArray(_ref8, 2), + a = _ref9[0], + b = _ref9[1]; + + var aWild = a && a.wild; + var bWild = b && b.wild; + + if (aWild && bWild) { + // Every wildcard combination overlaps except MATCH<->ALLSMALLER + return !(a === MATCH && b === ALLSMALLER || a === ALLSMALLER && b === MATCH); + } + + return a === b || aWild || bWild; +}; + +function wildcardOverlap(_ref10, objs) { + var id = _ref10.id, + property = _ref10.property; + var idKeys = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["keys"])(id).sort(); + var idVals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(idKeys, id); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = objs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var obj = _step.value; + var id2 = obj.id, + property2 = obj.property; + + if (property2 === property && typeof id2 !== 'string' && Object(ramda__WEBPACK_IMPORTED_MODULE_2__["equals"])(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["keys"])(id2).sort(), idKeys) && Object(ramda__WEBPACK_IMPORTED_MODULE_2__["all"])(matchWildKeys, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["zip"])(idVals, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(idKeys, id2)))) { + return obj; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator["return"] != null) { + _iterator["return"](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + return false; +} + +function validateCallbacksToLayout(state_, dispatchError) { + var config = state_.config, + graphs = state_.graphs, + layout = state_.layout, + paths = state_.paths; + var outputMap = graphs.outputMap, + inputMap = graphs.inputMap, + outputPatterns = graphs.outputPatterns, + inputPatterns = graphs.inputPatterns; + var validateIds = !config.suppress_callback_exceptions; + + function tail(callbacks) { + return 'This ID was used in the callback(s) for Output(s):\n ' + callbacks.map(function (_ref11) { + var outputs = _ref11.outputs; + return outputs.map(combineIdAndProp).join(', '); + }).join('\n '); + } + + function missingId(id, cls, callbacks) { + dispatchError('ID not found in layout', ["Attempting to connect a callback ".concat(cls, " item to component:"), " \"".concat(stringifyId(id), "\""), 'but no components with that id exist in the layout.', '', 'If you are assigning callbacks to components that are', 'generated by other callbacks (and therefore not in the', 'initial layout), you can suppress this exception by setting', '`suppress_callback_exceptions=True`.', tail(callbacks)]); + } + + function validateProp(id, idPath, prop, cls, callbacks) { + var component = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["path"])(idPath, layout); + var element = _registry__WEBPACK_IMPORTED_MODULE_5__["default"].resolve(component); // note: Flow components do not have propTypes, so we can't validate. + + if (element && element.propTypes && !element.propTypes[prop]) { + // look for wildcard props (ie data-* etc) + for (var propName in element.propTypes) { + var last = propName.length - 1; + + if (propName.charAt(last) === '*' && prop.substr(0, last) === propName.substr(0, last)) { + return; + } + } + + var type = component.type, + namespace = component.namespace; + dispatchError('Invalid prop for this component', ["Property \"".concat(prop, "\" was used with component ID:"), " ".concat(JSON.stringify(id)), "in one of the ".concat(cls, " items of a callback."), "This ID is assigned to a ".concat(namespace, ".").concat(type, " component"), 'in the layout, which does not support this property.', tail(callbacks)]); + } + } + + function validateIdPatternProp(id, property, cls, callbacks) { + resolveDeps()(paths)({ + id: id, + property: property + }).forEach(function (dep) { + var idResolved = dep.id, + idPath = dep.path; + validateProp(idResolved, idPath, property, cls, callbacks); + }); + } + + var callbackIdsCheckedForState = {}; + + function validateState(callback) { + var state = callback.state, + output = callback.output; // ensure we don't check the same callback for state multiple times + + if (callbackIdsCheckedForState[output]) { + return; + } + + callbackIdsCheckedForState[output] = 1; + var cls = 'State'; + state.forEach(function (_ref12) { + var id = _ref12.id, + property = _ref12.property; + + if (typeof id === 'string') { + var idPath = Object(_paths__WEBPACK_IMPORTED_MODULE_3__["getPath"])(paths, id); + + if (!idPath) { + if (validateIds) { + missingId(id, cls, [callback]); + } + } else { + validateProp(id, idPath, property, cls, [callback]); + } + } // Only validate props for State object ids that we don't need to + // resolve them to specific inputs or outputs + else if (!Object(ramda__WEBPACK_IMPORTED_MODULE_2__["intersection"])([MATCH, ALLSMALLER], Object(ramda__WEBPACK_IMPORTED_MODULE_2__["values"])(id)).length) { + validateIdPatternProp(id, property, cls, [callback]); + } + }); + } + + function validateMap(map, cls, doState) { + for (var id in map) { + var idProps = map[id]; + var idPath = Object(_paths__WEBPACK_IMPORTED_MODULE_3__["getPath"])(paths, id); + + if (!idPath) { + if (validateIds) { + missingId(id, cls, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["values"])(idProps))); + } + } else { + for (var property in idProps) { + var callbacks = idProps[property]; + validateProp(id, idPath, property, cls, callbacks); + + if (doState) { + // It would be redundant to check state on both inputs + // and outputs - so only set doState for outputs. + callbacks.forEach(validateState); + } + } + } + } + } + + validateMap(outputMap, 'Output', true); + validateMap(inputMap, 'Input'); + + function validatePatterns(patterns, cls, doState) { + for (var keyStr in patterns) { + var keyPatterns = patterns[keyStr]; + + var _loop = function _loop(property) { + keyPatterns[property].forEach(function (_ref13) { + var keys = _ref13.keys, + values = _ref13.values, + callbacks = _ref13.callbacks; + var id = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["zipObj"])(keys, values); + validateIdPatternProp(id, property, cls, callbacks); + + if (doState) { + callbacks.forEach(validateState); + } + }); + }; + + for (var property in keyPatterns) { + _loop(property); + } + } + } + + validatePatterns(outputPatterns, 'Output', true); + validatePatterns(inputPatterns, 'Input'); +} +function computeGraphs(dependencies, dispatchError) { + // multiGraph is just for finding circular deps + var multiGraph = new dependency_graph__WEBPACK_IMPORTED_MODULE_0__["DepGraph"](); + var wildcardPlaceholders = {}; + var fixIds = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["map"])(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["evolve"])({ + id: parseIfWildcard + })); + var parsedDependencies = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["map"])(function (dep) { + var output = dep.output; + var out = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["evolve"])({ + inputs: fixIds, + state: fixIds + }, dep); + out.outputs = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["map"])(function (outi) { + return Object(ramda__WEBPACK_IMPORTED_MODULE_2__["assoc"])('out', true, splitIdAndProp(outi)); + }, isMultiOutputProp(output) ? parseMultipleOutputs(output) : [output]); + return out; + }, dependencies); + var hasError = false; + + var wrappedDE = function wrappedDE(message, lines) { + hasError = true; + dispatchError(message, lines); + }; + + validateDependencies(parsedDependencies, wrappedDE); + /* + * For regular ids, outputMap and inputMap are: + * {[id]: {[prop]: [callback, ...]}} + * where callbacks are the matching specs from the original + * dependenciesRequest, but with outputs parsed to look like inputs, + * and a list anyKeys added if the outputs have MATCH wildcards. + * For outputMap there should only ever be one callback per id/prop + * but for inputMap there may be many. + * + * For wildcard ids, outputPatterns and inputPatterns are: + * { + * [keystr]: { + * [prop]: [ + * {keys: [...], values: [...], callbacks: [callback, ...]}, + * {...} + * ] + * } + * } + * keystr is a stringified ordered list of keys in the id + * keys is the same ordered list (just copied for convenience) + * values is an array of explicit or wildcard values for each key in keys + */ + + var outputMap = {}; + var inputMap = {}; + var outputPatterns = {}; + var inputPatterns = {}; + var finalGraphs = { + MultiGraph: multiGraph, + outputMap: outputMap, + inputMap: inputMap, + outputPatterns: outputPatterns, + inputPatterns: inputPatterns, + callbacks: parsedDependencies + }; + + if (hasError) { + // leave the graphs empty if we found an error, so we don't try to + // execute the broken callbacks. + return finalGraphs; + } + + parsedDependencies.forEach(function (dependency) { + var outputs = dependency.outputs, + inputs = dependency.inputs; + outputs.concat(inputs).forEach(function (item) { + var id = item.id; + + if (_typeof(id) === 'object') { + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["forEachObjIndexed"])(function (val, key) { + if (!wildcardPlaceholders[key]) { + wildcardPlaceholders[key] = { + exact: [], + expand: 0 + }; + } + + var keyPlaceholders = wildcardPlaceholders[key]; + + if (val && val.wild) { + if (val.expand) { + keyPlaceholders.expand += 1; + } + } else if (keyPlaceholders.exact.indexOf(val) === -1) { + keyPlaceholders.exact.push(val); + } + }, id); + } + }); + }); + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["forEachObjIndexed"])(function (keyPlaceholders) { + var exact = keyPlaceholders.exact, + expand = keyPlaceholders.expand; + var vals = exact.slice().sort(idValSort); + + if (expand) { + for (var i = 0; i < expand; i++) { + if (exact.length) { + vals.splice(0, 0, [valBefore(vals[0])]); + vals.push(valAfter(vals[vals.length - 1])); + } else { + vals.push(i); + } + } + } else if (!exact.length) { + // only MATCH/ALL - still need a value + vals.push(0); + } + + keyPlaceholders.vals = vals; + }, wildcardPlaceholders); + + function makeAllIds(idSpec, outIdFinal) { + var idList = [{}]; + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["forEachObjIndexed"])(function (val, key) { + var testVals = wildcardPlaceholders[key].vals; + var outValIndex = testVals.indexOf(outIdFinal[key]); + var newVals = [val]; + + if (val && val.wild) { + if (val === ALLSMALLER) { + if (outValIndex > 0) { + newVals = testVals.slice(0, outValIndex); + } else { + // no smaller items - delete all outputs. + newVals = []; + } + } else { + // MATCH or ALL + // MATCH *is* ALL for outputs, ie we don't already have a + // value specified in `outIdFinal` + newVals = outValIndex === -1 || val === ALL ? testVals : [outIdFinal[key]]; + } + } // replicates everything in idList once for each item in + // newVals, attaching each value at key. + + + idList = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["ap"])(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["ap"])([Object(ramda__WEBPACK_IMPORTED_MODULE_2__["assoc"])(key)], newVals), idList); + }, idSpec); + return idList; + } + + parsedDependencies.forEach(function registerDependency(dependency) { + var outputs = dependency.outputs, + inputs = dependency.inputs; // multiGraph - just for testing circularity + + function addInputToMulti(inIdProp, outIdProp) { + multiGraph.addNode(inIdProp); + multiGraph.addDependency(inIdProp, outIdProp); + } + + function addOutputToMulti(outIdFinal, outIdProp) { + multiGraph.addNode(outIdProp); + inputs.forEach(function (inObj) { + var inId = inObj.id, + property = inObj.property; + + if (_typeof(inId) === 'object') { + var inIdList = makeAllIds(inId, outIdFinal); + inIdList.forEach(function (id) { + addInputToMulti(combineIdAndProp({ + id: id, + property: property + }), outIdProp); + }); + } else { + addInputToMulti(combineIdAndProp(inObj), outIdProp); + } + }); + } // We'll continue to use dep.output as its id, but add outputs as well + // for convenience and symmetry with the structure of inputs and state. + // Also collect MATCH keys in the output (all outputs must share these) + // and ALL keys in the first output (need not be shared but we'll use + // the first output for calculations) for later convenience. + + + var _findWildcardKeys3 = findWildcardKeys(outputs[0].id), + anyKeys = _findWildcardKeys3.anyKeys, + hasALL = _findWildcardKeys3.hasALL; + + var finalDependency = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["mergeRight"])({ + hasALL: hasALL, + anyKeys: anyKeys, + outputs: outputs + }, dependency); + outputs.forEach(function (outIdProp) { + var outId = outIdProp.id, + property = outIdProp.property; + + if (_typeof(outId) === 'object') { + var outIdList = makeAllIds(outId, {}); + outIdList.forEach(function (id) { + addOutputToMulti(id, combineIdAndProp({ + id: id, + property: property + })); + }); + addPattern(outputPatterns, outId, property, finalDependency); + } else { + addOutputToMulti({}, combineIdAndProp(outIdProp)); + addMap(outputMap, outId, property, finalDependency); + } + }); + inputs.forEach(function (inputObject) { + var inId = inputObject.id, + inProp = inputObject.property; + + if (_typeof(inId) === 'object') { + addPattern(inputPatterns, inId, inProp, finalDependency); + } else { + addMap(inputMap, inId, inProp, finalDependency); + } + }); + }); + return finalGraphs; +} + +function findWildcardKeys(id) { + var anyKeys = []; + var allsmallerKeys = []; + var hasALL = false; + + if (_typeof(id) === 'object') { + Object(ramda__WEBPACK_IMPORTED_MODULE_2__["forEachObjIndexed"])(function (val, key) { + if (val === MATCH) { + anyKeys.push(key); + } else if (val === ALLSMALLER) { + allsmallerKeys.push(key); + } else if (val === ALL) { + hasALL = true; + } + }, id); + anyKeys.sort(); + allsmallerKeys.sort(); + } + + return { + anyKeys: anyKeys, + allsmallerKeys: allsmallerKeys, + hasALL: hasALL + }; +} +/* + * Do the given id values `vals` match the pattern `patternVals`? + * `keys`, `patternVals`, and `vals` are all arrays, and we already know that + * we're only looking at ids with the same keys as the pattern. + * + * Optionally, include another reference set of the same - to ensure the + * correct matching of MATCH or ALLSMALLER between input and output items. + */ + + +function idMatch(keys, vals, patternVals, refKeys, refVals, refPatternVals) { + for (var i = 0; i < keys.length; i++) { + var val = vals[i]; + var patternVal = patternVals[i]; + + if (patternVal.wild) { + // If we have a second id, compare the wildcard values. + // Without a second id, all wildcards pass at this stage. + if (refKeys && patternVal !== ALL) { + var refIndex = refKeys.indexOf(keys[i]); + var refPatternVal = refPatternVals[refIndex]; // Sanity check. Shouldn't ever fail this, if the back end + // did its job validating callbacks. + // You can't resolve an input against an input, because + // two ALLSMALLER's wouldn't make sense! + + if (patternVal === ALLSMALLER && refPatternVal === ALLSMALLER) { + throw new Error('invalid wildcard id pair: ' + JSON.stringify({ + keys: keys, + patternVals: patternVals, + vals: vals, + refKeys: refKeys, + refPatternVals: refPatternVals, + refVals: refVals + })); + } + + if (idValSort(val, refVals[refIndex]) !== (patternVal === ALLSMALLER ? -1 : refPatternVal === ALLSMALLER ? 1 : 0)) { + return false; + } + } + } else if (val !== patternVal) { + return false; + } + } + + return true; +} + +function getAnyVals(patternVals, vals) { + var matches = []; + + for (var i = 0; i < patternVals.length; i++) { + if (patternVals[i] === MATCH) { + matches.push(vals[i]); + } + } + + return matches.length ? JSON.stringify(matches) : ''; +} + +function resolveDeps(refKeys, refVals, refPatternVals) { + return function (paths) { + return function (_ref14) { + var idPattern = _ref14.id, + property = _ref14.property; + + if (typeof idPattern === 'string') { + var _path = Object(_paths__WEBPACK_IMPORTED_MODULE_3__["getPath"])(paths, idPattern); + + return _path ? [{ + id: idPattern, + property: property, + path: _path + }] : []; + } + + var keys = Object.keys(idPattern).sort(); + var patternVals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(keys, idPattern); + var keyStr = keys.join(','); + var keyPaths = paths.objs[keyStr]; + + if (!keyPaths) { + return []; + } + + var result = []; + keyPaths.forEach(function (_ref15) { + var vals = _ref15.values, + path = _ref15.path; + + if (idMatch(keys, vals, patternVals, refKeys, refVals, refPatternVals)) { + result.push({ + id: Object(ramda__WEBPACK_IMPORTED_MODULE_2__["zipObj"])(keys, vals), + property: property, + path: path + }); + } + }); + return result; + }; + }; +} +/* + * Create a pending callback object. Includes the original callback definition, + * its resolved ID (including the value of all MATCH wildcards), + * accessors to find all inputs, outputs, and state involved in this + * callback (lazy as not all users will want all of these), + * placeholders for which other callbacks this one is blockedBy or blocking, + * and a boolean for whether it has been dispatched yet. + */ + + +var makeResolvedCallback = function makeResolvedCallback(callback, resolve, anyVals) { + return { + callback: callback, + anyVals: anyVals, + resolvedId: callback.output + anyVals, + getOutputs: function getOutputs(paths) { + return callback.outputs.map(resolve(paths)); + }, + getInputs: function getInputs(paths) { + return callback.inputs.map(resolve(paths)); + }, + getState: function getState(paths) { + return callback.state.map(resolve(paths)); + }, + blockedBy: {}, + blocking: {}, + changedPropIds: {}, + initialCall: false, + requestId: 0, + requestedOutputs: {} + }; +}; + +var DIRECT = 2; +var INDIRECT = 1; +var nextRequestId = 0; +/* + * Give a callback a new requestId. + */ + +function setNewRequestId(callback) { + nextRequestId++; + return Object(ramda__WEBPACK_IMPORTED_MODULE_2__["assoc"])('requestId', nextRequestId, callback); +} +/* + * Does this item (input / output / state) support multiple values? + * string IDs do not; wildcard IDs only do if they contain ALL or ALLSMALLER + */ + +function isMultiValued(_ref16) { + var id = _ref16.id; + return _typeof(id) === 'object' && Object(ramda__WEBPACK_IMPORTED_MODULE_2__["any"])(function (v) { + return v.multi; + }, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["values"])(id)); +} +/* + * For a given output id and prop, find the callback generating it. + * If no callback is found, returns false. + * If one is found, returns: + * { + * callback: the callback spec {outputs, inputs, state etc} + * anyVals: stringified list of resolved MATCH keys we matched + * resolvedId: the "outputs" id string plus MATCH values we matched + * getOutputs: accessor function to give all resolved outputs of this + * callback. Takes `paths` as argument to apply when the callback is + * dispatched, in case a previous callback has altered the layout. + * The result is a list of {id (string or object), property (string)} + * getInputs: same for inputs + * getState: same for state + * blockedBy: an object of {[resolvedId]: 1} blocking this callback + * blocking: an object of {[resolvedId]: 1} this callback is blocking + * changedPropIds: an object of {[idAndProp]: v} triggering this callback + * v = DIRECT (2): the prop was changed in the front end, so dependent + * callbacks *MUST* be executed. + * v = INDIRECT (1): the prop is expected to be changed by a callback, + * but if this is prevented, dependent callbacks may be pruned. + * initialCall: boolean, if true we don't require any changedPropIds + * to keep this callback around, as it's the initial call to populate + * this value on page load or changing part of the layout. + * By default this is true for callbacks generated by + * getCallbackByOutput, false from getCallbacksByInput. + * requestId: integer: starts at 0. when this callback is dispatched it will + * get a unique requestId, but if it gets added again the requestId will + * be reset to 0, and we'll know to ignore the response of the first + * request. + * requestedOutputs: object of {[idStr]: [props]} listing all the props + * actually requested for update. + * } + */ + +function getCallbackByOutput(graphs, paths, id, prop) { + var resolve; + var callback; + var anyVals = ''; + + if (typeof id === 'string') { + // standard id version + var callbacks = (graphs.outputMap[id] || {})[prop]; + + if (callbacks) { + callback = callbacks[0]; + resolve = resolveDeps(); + } + } else { + // wildcard version + var _keys = Object.keys(id).sort(); + + var vals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(_keys, id); + + var keyStr = _keys.join(','); + + var patterns = (graphs.outputPatterns[keyStr] || {})[prop]; + + if (patterns) { + for (var i = 0; i < patterns.length; i++) { + var patternVals = patterns[i].values; + + if (idMatch(_keys, vals, patternVals)) { + callback = patterns[i].callbacks[0]; + resolve = resolveDeps(_keys, vals, patternVals); + anyVals = getAnyVals(patternVals, vals); + break; + } + } + } + } + + if (!resolve) { + return false; + } + + return makeResolvedCallback(callback, resolve, anyVals); +} +/* + * If there are ALL keys we need to reduce a set of outputs resolved + * from an input to one item per combination of MATCH values. + * That will give one result per callback invocation. + */ + + +function reduceALLOuts(outs, anyKeys, hasALL) { + if (!hasALL) { + return outs; + } + + if (!anyKeys.length) { + // If there's ALL but no MATCH, there's only one invocation + // of the callback, so just base it off the first output. + return [outs[0]]; + } + + var anySeen = {}; + return outs.filter(function (i) { + var matchKeys = JSON.stringify(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(anyKeys, i.id)); + + if (!anySeen[matchKeys]) { + anySeen[matchKeys] = 1; + return true; + } + + return false; + }); +} + +function addResolvedFromOutputs(callback, outPattern, outs, matches) { + var out0Keys = Object.keys(outPattern.id).sort(); + var out0PatternVals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(out0Keys, outPattern.id); + outs.forEach(function (_ref17) { + var outId = _ref17.id; + var outVals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(out0Keys, outId); + matches.push(makeResolvedCallback(callback, resolveDeps(out0Keys, outVals, out0PatternVals), getAnyVals(out0PatternVals, outVals))); + }); +} +/* + * For a given id and prop find all callbacks it's an input of. + * + * Returns an array of objects: + * {callback, resolvedId, getOutputs, getInputs, getState} + * See getCallbackByOutput for details. + * + * Note that if the original input contains an ALLSMALLER wildcard, + * there may be many entries for the same callback, but any given output + * (with an MATCH corresponding to the input's ALLSMALLER) will only appear + * in one entry. + */ + + +function getCallbacksByInput(graphs, paths, id, prop, changeType) { + var matches = []; + var idAndProp = combineIdAndProp({ + id: id, + property: prop + }); + + if (typeof id === 'string') { + // standard id version + var callbacks = (graphs.inputMap[id] || {})[prop]; + + if (!callbacks) { + return []; + } + + var baseResolve = resolveDeps(); + callbacks.forEach(function (callback) { + var anyKeys = callback.anyKeys, + hasALL = callback.hasALL; + + if (anyKeys) { + var out0Pattern = callback.outputs[0]; + var out0Set = reduceALLOuts(baseResolve(paths)(out0Pattern), anyKeys, hasALL); + addResolvedFromOutputs(callback, out0Pattern, out0Set, matches); + } else { + matches.push(makeResolvedCallback(callback, baseResolve, '')); + } + }); + } else { + // wildcard version + var _keys2 = Object.keys(id).sort(); + + var vals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(_keys2, id); + + var keyStr = _keys2.join(','); + + var patterns = (graphs.inputPatterns[keyStr] || {})[prop]; + + if (!patterns) { + return []; + } + + patterns.forEach(function (pattern) { + if (idMatch(_keys2, vals, pattern.values)) { + var resolve = resolveDeps(_keys2, vals, pattern.values); + pattern.callbacks.forEach(function (callback) { + var out0Pattern = callback.outputs[0]; + var anyKeys = callback.anyKeys, + hasALL = callback.hasALL; + var out0Set = reduceALLOuts(resolve(paths)(out0Pattern), anyKeys, hasALL); + addResolvedFromOutputs(callback, out0Pattern, out0Set, matches); + }); + } + }); + } + + matches.forEach(function (match) { + match.changedPropIds[idAndProp] = changeType || DIRECT; + }); + return matches; +} +function getWatchedKeys(id, newProps, graphs) { + if (!(id && graphs && newProps.length)) { + return []; + } + + if (typeof id === 'string') { + var inputs = graphs.inputMap[id]; + return inputs ? newProps.filter(function (newProp) { + return inputs[newProp]; + }) : []; + } + + var keys = Object.keys(id).sort(); + var vals = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["props"])(keys, id); + var keyStr = keys.join(','); + var keyPatterns = graphs.inputPatterns[keyStr]; + + if (!keyPatterns) { + return []; + } + + return newProps.filter(function (prop) { + var patterns = keyPatterns[prop]; + return patterns && patterns.some(function (pattern) { + return idMatch(keys, vals, pattern.values); + }); + }); +} +/* + * Return a list of all callbacks referencing a chunk of the layout, + * either as inputs or outputs. + * + * opts.outputsOnly: boolean, set true when crawling the *whole* layout, + * because outputs are enough to get everything. + * opts.removedArrayInputsOnly: boolean, set true to only look for inputs in + * wildcard arrays (ALL or ALLSMALLER), no outputs. This gets used to tell + * when the new *absence* of a given component should trigger a callback. + * opts.newPaths: paths object after the edit - to be used with + * removedArrayInputsOnly to determine if the callback still has its outputs + * opts.chunkPath: path to the new chunk - used to determine if any outputs are + * outside of this chunk, because this determines whether inputs inside the + * chunk count as having changed + * + * Returns an array of objects: + * {callback, resolvedId, getOutputs, getInputs, getState, ...etc} + * See getCallbackByOutput for details. + */ + +function getCallbacksInLayout(graphs, paths, layoutChunk, opts) { + var outputsOnly = opts.outputsOnly, + removedArrayInputsOnly = opts.removedArrayInputsOnly, + newPaths = opts.newPaths, + chunkPath = opts.chunkPath; + var foundCbIds = {}; + var callbacks = []; + + function addCallback(callback) { + if (callback) { + var foundIndex = foundCbIds[callback.resolvedId]; + + if (foundIndex !== undefined) { + callbacks[foundIndex].changedPropIds = mergeMax(callbacks[foundIndex].changedPropIds, callback.changedPropIds); + } else { + foundCbIds[callback.resolvedId] = callbacks.length; + callbacks.push(callback); + } + } + } + + function addCallbackIfArray(idStr) { + return function (cb) { + return cb.getInputs(paths).some(function (ini) { + if (Array.isArray(ini) && ini.some(function (inij) { + return stringifyId(inij.id) === idStr; + })) { + // This callback should trigger even with no changedProps, + // since the props that changed no longer exist. + if (Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(cb.getOutputs(newPaths)).length) { + cb.initialCall = true; + cb.changedPropIds = {}; + addCallback(cb); + } + + return true; + } + + return false; + }); + }; + } + + function handleOneId(id, outIdCallbacks, inIdCallbacks) { + if (outIdCallbacks) { + for (var property in outIdCallbacks) { + var cb = getCallbackByOutput(graphs, paths, id, property); + + if (cb) { + // callbacks found in the layout by output should always run + // ie this is the initial call of this callback even if it's + // not the page initialization but just a new layout chunk + cb.initialCall = true; + addCallback(cb); + } + } + } + + if (!outputsOnly && inIdCallbacks) { + var maybeAddCallback = removedArrayInputsOnly ? addCallbackIfArray(stringifyId(id)) : addCallback; + var handleThisCallback = maybeAddCallback; + + if (chunkPath) { + handleThisCallback = function handleThisCallback(cb) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_2__["all"])(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["startsWith"])(chunkPath), Object(ramda__WEBPACK_IMPORTED_MODULE_2__["pluck"])('path', Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(cb.getOutputs(paths))))) { + cb.changedPropIds = {}; + } + + maybeAddCallback(cb); + }; + } + + for (var _property in inIdCallbacks) { + getCallbacksByInput(graphs, paths, id, _property, INDIRECT).forEach(handleThisCallback); + } + } + } + + Object(_utils__WEBPACK_IMPORTED_MODULE_4__["crawlLayout"])(layoutChunk, function (child) { + var id = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["path"])(['props', 'id'], child); + + if (id) { + if (typeof id === 'string' && !removedArrayInputsOnly) { + handleOneId(id, graphs.outputMap[id], graphs.inputMap[id]); + } else { + var keyStr = Object.keys(id).sort().join(','); + handleOneId(id, !removedArrayInputsOnly && graphs.outputPatterns[keyStr], graphs.inputPatterns[keyStr]); + } + } + }); // We still need to follow these forward in order to capture blocks and, + // if based on a partial layout, any knock-on effects in the full layout. + + var finalCallbacks = followForward(graphs, paths, callbacks); // Exception to the `initialCall` case of callbacks found by output: + // if *every* input to this callback is itself an output of another + // callback earlier in the chain, we remove the `initialCall` flag + // so that if all of those prior callbacks abort all of their outputs, + // this later callback never runs. + // See test inin003 "callback2 is never triggered, even on initial load" + + finalCallbacks.forEach(function (cb) { + if (cb.initialCall && !Object(ramda__WEBPACK_IMPORTED_MODULE_2__["isEmpty"])(cb.blockedBy)) { + var inputs = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(cb.getInputs(paths)); + cb.initialCall = false; + inputs.forEach(function (i) { + var propId = combineIdAndProp(i); + + if (cb.changedPropIds[propId]) { + cb.changedPropIds[propId] = INDIRECT; + } else { + cb.initialCall = true; + } + }); + } + }); + return finalCallbacks; +} +function removePendingCallback(pendingCallbacks, paths, removeResolvedId, skippedProps) { + var finalPendingCallbacks = []; + pendingCallbacks.forEach(function (pending) { + var blockedBy = pending.blockedBy, + blocking = pending.blocking, + changedPropIds = pending.changedPropIds, + resolvedId = pending.resolvedId; + + if (resolvedId !== removeResolvedId) { + finalPendingCallbacks.push(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["mergeRight"])(pending, { + blockedBy: Object(ramda__WEBPACK_IMPORTED_MODULE_2__["dissoc"])(removeResolvedId, blockedBy), + blocking: Object(ramda__WEBPACK_IMPORTED_MODULE_2__["dissoc"])(removeResolvedId, blocking), + changedPropIds: Object(ramda__WEBPACK_IMPORTED_MODULE_2__["pickBy"])(function (v, k) { + return v === DIRECT || !Object(ramda__WEBPACK_IMPORTED_MODULE_2__["includes"])(k, skippedProps); + }, changedPropIds) + })); + } + }); // If any callback no longer has any changed inputs, it shouldn't fire. + // This will repeat recursively until all unneeded callbacks are pruned + + if (skippedProps.length) { + for (var i = 0; i < finalPendingCallbacks.length; i++) { + var cb = finalPendingCallbacks[i]; + + if (!cb.initialCall && Object(ramda__WEBPACK_IMPORTED_MODULE_2__["isEmpty"])(cb.changedPropIds)) { + return removePendingCallback(finalPendingCallbacks, paths, cb.resolvedId, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(cb.getOutputs(paths)).map(combineIdAndProp)); + } + } + } + + return finalPendingCallbacks; +} +/* + * Split the list of pending callbacks into ready (not blocked by any others) + * and blocked. Sort the ready callbacks by how many each is blocking, on the + * theory that the most important ones to dispatch are the ones with the most + * others depending on them. + */ + +function findReadyCallbacks(pendingCallbacks) { + var _partition = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["partition"])(function (pending) { + return Object(ramda__WEBPACK_IMPORTED_MODULE_2__["isEmpty"])(pending.blockedBy) && !pending.requestId; + }, pendingCallbacks), + _partition2 = _slicedToArray(_partition, 2), + readyCallbacks = _partition2[0], + blockedCallbacks = _partition2[1]; + + readyCallbacks.sort(function (a, b) { + return Object.keys(b.blocking).length - Object.keys(a.blocking).length; + }); + return { + readyCallbacks: readyCallbacks, + blockedCallbacks: blockedCallbacks + }; +} + +function addBlock(callbacks, blockingId, blockedId) { + callbacks.forEach(function (_ref18) { + var blockedBy = _ref18.blockedBy, + blocking = _ref18.blocking, + resolvedId = _ref18.resolvedId; + + if (resolvedId === blockingId || blocking[blockingId]) { + blocking[blockedId] = 1; + } else if (resolvedId === blockedId || blockedBy[blockedId]) { + blockedBy[blockingId] = 1; + } + }); +} + +function collectIds(callbacks) { + var allResolvedIds = {}; + callbacks.forEach(function (_ref19, i) { + var resolvedId = _ref19.resolvedId; + allResolvedIds[resolvedId] = i; + }); + return allResolvedIds; +} +/* + * Take a list of callbacks and follow them all forward, ie see if any of their + * outputs are inputs of another callback. Any new callbacks get added to the + * list. All that come after another get marked as blocked by that one, whether + * they were in the initial list or not. + */ + + +function followForward(graphs, paths, callbacks_) { + var callbacks = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["clone"])(callbacks_); + var allResolvedIds = collectIds(callbacks); + var i; + var callback; + + var followOutput = function followOutput(_ref20) { + var id = _ref20.id, + property = _ref20.property; + var nextCBs = getCallbacksByInput(graphs, paths, id, property, INDIRECT); + nextCBs.forEach(function (nextCB) { + var existingIndex = allResolvedIds[nextCB.resolvedId]; + + if (existingIndex === undefined) { + existingIndex = callbacks.length; + callbacks.push(nextCB); + allResolvedIds[nextCB.resolvedId] = existingIndex; + } else { + var existingCB = callbacks[existingIndex]; + existingCB.changedPropIds = mergeMax(existingCB.changedPropIds, nextCB.changedPropIds); + } + + addBlock(callbacks, callback.resolvedId, nextCB.resolvedId); + }); + }; // Using a for loop instead of forEach because followOutput may extend the + // callbacks array, and we want to continue into these new elements. + + + for (i = 0; i < callbacks.length; i++) { + callback = callbacks[i]; + var outputs = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["unnest"])(callback.getOutputs(paths)); + outputs.forEach(followOutput); + } + + return callbacks; +} + +function mergeAllBlockers(cb1, cb2) { + function mergeBlockers(a, b) { + if (cb1[a][cb2.resolvedId] && !cb2[b][cb1.resolvedId]) { + cb2[b][cb1.resolvedId] = cb1[a][cb2.resolvedId]; + cb2[b] = mergeMax(cb1[b], cb2[b]); + cb1[a] = mergeMax(cb2[a], cb1[a]); + } + } + + mergeBlockers('blockedBy', 'blocking'); + mergeBlockers('blocking', 'blockedBy'); +} +/* + * Given two arrays of pending callbacks, merge them into one so that + * each will only fire once, and any extra blockages from combining the lists + * will be accounted for. + */ + + +function mergePendingCallbacks(cb1, cb2) { + if (!cb2.length) { + return cb1; + } + + if (!cb1.length) { + return cb2; + } + + var finalCallbacks = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["clone"])(cb1); + var callbacks2 = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["clone"])(cb2); + var allResolvedIds = collectIds(finalCallbacks); + callbacks2.forEach(function (callback, i) { + var existingIndex = allResolvedIds[callback.resolvedId]; + + if (existingIndex !== undefined) { + finalCallbacks.forEach(function (finalCb) { + mergeAllBlockers(finalCb, callback); + }); + callbacks2.slice(i + 1).forEach(function (cb2) { + mergeAllBlockers(cb2, callback); + }); + finalCallbacks[existingIndex] = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["mergeDeepRight"])(finalCallbacks[existingIndex], callback); + } else { + allResolvedIds[callback.resolvedId] = finalCallbacks.length; + finalCallbacks.push(callback); + } + }); + return finalCallbacks; +} +/* + * Remove callbacks whose outputs or changed inputs have been removed + * from the layout + */ + +function pruneRemovedCallbacks(pendingCallbacks, paths) { + var removeIds = []; + var cleanedCallbacks = pendingCallbacks.map(function (callback) { + var changedPropIds = callback.changedPropIds, + getOutputs = callback.getOutputs, + resolvedId = callback.resolvedId; + + if (!Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(getOutputs(paths)).length) { + removeIds.push(resolvedId); + return callback; + } + + var omittedProps = false; + var newChangedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["pickBy"])(function (_, propId) { + if (Object(_paths__WEBPACK_IMPORTED_MODULE_3__["getPath"])(paths, splitIdAndProp(propId).id)) { + return true; + } + + omittedProps = true; + return false; + }, changedPropIds); + return omittedProps ? Object(ramda__WEBPACK_IMPORTED_MODULE_2__["assoc"])('changedPropIds', newChangedProps, callback) : callback; + }); + removeIds.forEach(function (resolvedId) { + var cb = cleanedCallbacks.find(Object(ramda__WEBPACK_IMPORTED_MODULE_2__["propEq"])('resolvedId', resolvedId)); + + if (cb) { + cleanedCallbacks = removePendingCallback(pendingCallbacks, paths, resolvedId, Object(ramda__WEBPACK_IMPORTED_MODULE_2__["flatten"])(cb.getOutputs(paths)).map(combineIdAndProp)); + } + }); + return cleanedCallbacks; +} + +/***/ }), + +/***/ "./src/actions/index.js": +/*!******************************!*\ + !*** ./src/actions/index.js ***! + \******************************/ +/*! exports provided: updateProps, setPendingCallbacks, setRequestQueue, setGraphs, setPaths, setAppLifecycle, setConfig, setHooks, setLayout, onError, dispatchError, hydrateInitialOutputs, getCSRFHeader, redo, undo, revert, notifyObservers, handleAsyncError */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateProps", function() { return updateProps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setPendingCallbacks", function() { return setPendingCallbacks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setRequestQueue", function() { return setRequestQueue; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setGraphs", function() { return setGraphs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setPaths", function() { return setPaths; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setAppLifecycle", function() { return setAppLifecycle; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setConfig", function() { return setConfig; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setHooks", function() { return setHooks; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "setLayout", function() { return setLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "onError", function() { return onError; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "dispatchError", function() { return dispatchError; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hydrateInitialOutputs", function() { return hydrateInitialOutputs; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getCSRFHeader", function() { return getCSRFHeader; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "redo", function() { return redo; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "undo", function() { return undo; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "revert", function() { return revert; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "notifyObservers", function() { return notifyObservers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "handleAsyncError", function() { return handleAsyncError; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); +/* harmony import */ var _reducers_constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../reducers/constants */ "./src/reducers/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./constants */ "./src/actions/constants.js"); +/* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! cookie */ "./node_modules/cookie/index.js"); +/* harmony import */ var cookie__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(cookie__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./utils */ "./src/actions/utils.js"); +/* harmony import */ var _dependencies__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./dependencies */ "./src/actions/dependencies.js"); +/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./paths */ "./src/actions/paths.js"); +/* harmony import */ var _constants_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../constants/constants */ "./src/constants/constants.js"); +/* harmony import */ var _persistence__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../persistence */ "./src/persistence.js"); +/* harmony import */ var _isAppReady__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./isAppReady */ "./src/actions/isAppReady.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } + +function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } + + + + + + + + + + + + +var updateProps = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('ON_PROP_CHANGE')); +var setPendingCallbacks = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('SET_PENDING_CALLBACKS'); +var setRequestQueue = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_REQUEST_QUEUE')); +var setGraphs = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_GRAPHS')); +var setPaths = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_PATHS')); +var setAppLifecycle = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_APP_LIFECYCLE')); +var setConfig = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_CONFIG')); +var setHooks = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_HOOKS')); +var setLayout = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('SET_LAYOUT')); +var onError = Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(Object(_constants__WEBPACK_IMPORTED_MODULE_3__["getAction"])('ON_ERROR')); +var dispatchError = function dispatchError(dispatch) { + return function (message, lines) { + return dispatch(onError({ + type: 'backEnd', + error: { + message: message, + html: lines.join('\n') + } + })); + }; +}; +function hydrateInitialOutputs() { + return function (dispatch, getState) { + Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["validateCallbacksToLayout"])(getState(), dispatchError(dispatch)); + triggerDefaultState(dispatch, getState); + dispatch(setAppLifecycle(Object(_reducers_constants__WEBPACK_IMPORTED_MODULE_2__["getAppState"])('HYDRATED'))); + }; +} +/* eslint-disable-next-line no-console */ + +var logWarningOnce = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["once"])(console.warn); +function getCSRFHeader() { + try { + return { + 'X-CSRFToken': cookie__WEBPACK_IMPORTED_MODULE_4___default.a.parse(document.cookie)._csrf_token + }; + } catch (e) { + logWarningOnce(e); + return {}; + } +} + +function triggerDefaultState(dispatch, getState) { + var _getState = getState(), + graphs = _getState.graphs, + paths = _getState.paths, + layout = _getState.layout; // overallOrder will assert circular dependencies for multi output. + + + try { + graphs.MultiGraph.overallOrder(); + } catch (err) { + dispatch(onError({ + type: 'backEnd', + error: { + message: 'Circular Dependencies', + html: err.toString() + } + })); + } + + var initialCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["getCallbacksInLayout"])(graphs, paths, layout, { + outputsOnly: true + }); + dispatch(startCallbacks(initialCallbacks)); +} + +var redo = moveHistory('REDO'); +var undo = moveHistory('UNDO'); +var revert = moveHistory('REVERT'); + +function moveHistory(changeType) { + return function (dispatch, getState) { + var _getState2 = getState(), + history = _getState2.history, + paths = _getState2.paths; + + dispatch(Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])(changeType)()); + + var _ref = (changeType === 'REDO' ? history.future[0] : history.past[history.past.length - 1]) || {}, + id = _ref.id, + props = _ref.props; + + if (id) { + // Update props + dispatch(Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('UNDO_PROP_CHANGE')({ + itempath: Object(_paths__WEBPACK_IMPORTED_MODULE_7__["getPath"])(paths, id), + props: props + })); + dispatch(notifyObservers({ + id: id, + props: props + })); + } + }; +} + +function unwrapIfNotMulti(paths, idProps, spec, anyVals, depType) { + if (Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["isMultiValued"])(spec)) { + return idProps; + } + + if (idProps.length !== 1) { + if (!idProps.length) { + if (typeof spec.id === 'string') { + throw new ReferenceError('A nonexistent object was used in an `' + depType + '` of a Dash callback. The id of this object is `' + spec.id + '` and the property is `' + spec.property + '`. The string ids in the current layout are: [' + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(paths.strs).join(', ') + ']'); + } // TODO: unwrapped list of wildcard ids? + // eslint-disable-next-line no-console + + + console.log(paths.objs); + throw new ReferenceError('A nonexistent object was used in an `' + depType + '` of a Dash callback. The id of this object is ' + JSON.stringify(spec.id) + (anyVals ? ' with MATCH values ' + anyVals : '') + ' and the property is `' + spec.property + '`. The wildcard ids currently available are logged above.'); + } + + throw new ReferenceError('Multiple objects were found for an `' + depType + '` of a callback that only takes one value. The id spec is ' + JSON.stringify(spec.id) + (anyVals ? ' with MATCH values ' + anyVals : '') + ' and the property is `' + spec.property + '`. The objects we found are: ' + JSON.stringify(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["map"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pick"])(['id', 'property']), idProps))); + } + + return idProps[0]; +} + +function startCallbacks(callbacks) { + return (/*#__PURE__*/function () { + var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(dispatch, getState) { + return regeneratorRuntime.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return fireReadyCallbacks(dispatch, getState, callbacks); + + case 2: + return _context.abrupt("return", _context.sent); + + case 3: + case "end": + return _context.stop(); + } + } + }, _callee); + })); + + return function (_x, _x2) { + return _ref2.apply(this, arguments); + }; + }() + ); +} + +function fireReadyCallbacks(_x3, _x4, _x5) { + return _fireReadyCallbacks.apply(this, arguments); +} + +function _fireReadyCallbacks() { + _fireReadyCallbacks = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(dispatch, getState, callbacks) { + var _findReadyCallbacks, readyCallbacks, blockedCallbacks, _getState6, config, hooks, layout, paths, outputStash, requestedCallbacks, allCallbacks, ids, fireNext, hasClientSide, queue, done; + + return regeneratorRuntime.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + fireNext = function _ref14() { + return fireReadyCallbacks(dispatch, getState, getState().pendingCallbacks); + }; + + _findReadyCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["findReadyCallbacks"])(callbacks), readyCallbacks = _findReadyCallbacks.readyCallbacks, blockedCallbacks = _findReadyCallbacks.blockedCallbacks; + _getState6 = getState(), config = _getState6.config, hooks = _getState6.hooks, layout = _getState6.layout, paths = _getState6.paths; // We want to calculate all the outputs only once, but we need them + // for pendingCallbacks which we're going to dispatch prior to + // initiating the queue. So first loop over readyCallbacks to + // generate the output lists, then dispatch pendingCallbacks, + // then loop again to fire off the requests. + + outputStash = {}; + requestedCallbacks = readyCallbacks.map(function (cb) { + var cbOut = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["setNewRequestId"])(cb); + var requestId = cbOut.requestId, + getOutputs = cbOut.getOutputs; + var allOutputs = getOutputs(paths); + var flatOutputs = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flatten"])(allOutputs); + var allPropIds = []; + var reqOut = {}; + flatOutputs.forEach(function (_ref11) { + var id = _ref11.id, + property = _ref11.property; + var idStr = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["stringifyId"])(id); + var idOut = reqOut[idStr] = reqOut[idStr] || []; + idOut.push(property); + allPropIds.push(Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["combineIdAndProp"])({ + id: idStr, + property: property + })); + }); + cbOut.requestedOutputs = reqOut; + outputStash[requestId] = { + allOutputs: allOutputs, + allPropIds: allPropIds + }; + return cbOut; + }); + allCallbacks = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(requestedCallbacks, blockedCallbacks); + dispatch(setPendingCallbacks(allCallbacks)); + ids = requestedCallbacks.map(function (cb) { + return [cb.getInputs(paths), cb.getState(paths)]; + }); + _context3.next = 10; + return Object(_isAppReady__WEBPACK_IMPORTED_MODULE_10__["default"])(layout, paths, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["uniq"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pluck"])('id', Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flatten"])(ids)))); + + case 10: + hasClientSide = false; + queue = requestedCallbacks.map(function (cb) { + var _cb$callback = cb.callback, + output = _cb$callback.output, + inputs = _cb$callback.inputs, + state = _cb$callback.state, + clientside_function = _cb$callback.clientside_function; + var requestId = cb.requestId, + resolvedId = cb.resolvedId; + var _outputStash$requestI = outputStash[requestId], + allOutputs = _outputStash$requestI.allOutputs, + allPropIds = _outputStash$requestI.allPropIds; + var payload; + + try { + var outputs = allOutputs.map(function (out, i) { + return unwrapIfNotMulti(paths, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["map"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pick"])(['id', 'property']), out), cb.callback.outputs[i], cb.anyVals, 'Output'); + }); + payload = { + output: output, + outputs: Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["isMultiOutputProp"])(output) ? outputs : outputs[0], + inputs: fillVals(paths, layout, cb, inputs, 'Input'), + changedPropIds: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(cb.changedPropIds) + }; + + if (cb.callback.state.length) { + payload.state = fillVals(paths, layout, cb, state, 'State'); + } + } catch (e) { + handleError(e); + return fireNext(); + } + + function updatePending(pendingCallbacks, skippedProps) { + var newPending = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["removePendingCallback"])(pendingCallbacks, getState().paths, resolvedId, skippedProps); + dispatch(setPendingCallbacks(newPending)); + } + + function handleData(data) { + var _getState7 = getState(), + pendingCallbacks = _getState7.pendingCallbacks; + + if (!requestIsActive(pendingCallbacks, resolvedId, requestId)) { + return; + } + + var updated = []; + Object.entries(data).forEach(function (_ref12) { + var _ref13 = _slicedToArray(_ref12, 2), + id = _ref13[0], + props = _ref13[1]; + + var parsedId = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["parseIfWildcard"])(id); + + var _getState8 = getState(), + oldLayout = _getState8.layout, + oldPaths = _getState8.paths; + + var appliedProps = doUpdateProps(dispatch, getState, parsedId, props); + + if (appliedProps) { + // doUpdateProps can cause new callbacks to be added + // via derived props - update pendingCallbacks + // But we may also need to merge in other callbacks that + // we found in an earlier interation of the data loop. + var statePendingCallbacks = getState().pendingCallbacks; + + if (statePendingCallbacks !== pendingCallbacks) { + pendingCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["mergePendingCallbacks"])(pendingCallbacks, statePendingCallbacks); + } + + Object.keys(appliedProps).forEach(function (property) { + updated.push(Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["combineIdAndProp"])({ + id: id, + property: property + })); + }); + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('children', appliedProps)) { + var oldChildren = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(Object(_paths__WEBPACK_IMPORTED_MODULE_7__["getPath"])(oldPaths, parsedId), ['props', 'children']), oldLayout); // If components changed, need to update paths, + // check if all pending callbacks are still + // valid, and add all callbacks associated with + // new components, either as inputs or outputs, + // or components removed from ALL/ALLSMALLER inputs + + pendingCallbacks = updateChildPaths(dispatch, getState, pendingCallbacks, parsedId, appliedProps.children, oldChildren); + } // persistence edge case: if you explicitly update the + // persistence key, other props may change that require us + // to fire additional callbacks + + + var addedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pickBy"])(function (v, k) { + return !(k in props); + }, appliedProps); + + if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(addedProps)) { + var _getState9 = getState(), + graphs = _getState9.graphs, + _paths = _getState9.paths; + + pendingCallbacks = includeObservers(id, addedProps, graphs, _paths, pendingCallbacks); + } + } + }); + updatePending(pendingCallbacks, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["without"])(updated, allPropIds)); + } + + function handleError(err) { + var _getState10 = getState(), + pendingCallbacks = _getState10.pendingCallbacks; + + if (requestIsActive(pendingCallbacks, resolvedId, requestId)) { + // Skip all prop updates from this callback, and remove + // it from the pending list so callbacks it was blocking + // that have other changed inputs will still fire. + updatePending(pendingCallbacks, allPropIds); + } + + var outputs = payload ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["map"])(_dependencies__WEBPACK_IMPORTED_MODULE_6__["combineIdAndProp"], Object(ramda__WEBPACK_IMPORTED_MODULE_0__["flatten"])([payload.outputs])).join(', ') : output; + var message = "Callback error updating ".concat(outputs); + + if (clientside_function) { + var ns = clientside_function.namespace, + fn = clientside_function.function_name; + message += " via clientside function ".concat(ns, ".").concat(fn); + } + + handleAsyncError(err, message, dispatch); + } + + if (clientside_function) { + try { + handleData(handleClientside(clientside_function, payload)); + } catch (err) { + handleError(err); + } + + hasClientSide = true; + return null; + } + + return handleServerside(config, payload, hooks).then(handleData)["catch"](handleError).then(fireNext); + }); + done = Promise.all(queue); + return _context3.abrupt("return", hasClientSide ? fireNext().then(done) : done); + + case 14: + case "end": + return _context3.stop(); + } + } + }, _callee3); + })); + return _fireReadyCallbacks.apply(this, arguments); +} + +function fillVals(paths, layout, cb, specs, depType) { + var getter = depType === 'Input' ? cb.getInputs : cb.getState; + return getter(paths).map(function (inputList, i) { + return unwrapIfNotMulti(paths, inputList.map(function (_ref3) { + var id = _ref3.id, + property = _ref3.property, + path_ = _ref3.path; + return { + id: id, + property: property, + value: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(path_, layout).props[property] + }; + }), specs[i], cb.anyVals, depType); + }); +} + +function handleServerside(config, payload, hooks) { + if (hooks.request_pre !== null) { + hooks.request_pre(payload); + } + + return fetch("".concat(Object(_utils__WEBPACK_IMPORTED_MODULE_5__["urlBase"])(config), "_dash-update-component"), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeDeepRight"])(config.fetch, { + method: 'POST', + headers: getCSRFHeader(), + body: JSON.stringify(payload) + })).then(function (res) { + var status = res.status; + + if (status === _constants_constants__WEBPACK_IMPORTED_MODULE_8__["STATUS"].OK) { + return res.json().then(function (data) { + var multi = data.multi, + response = data.response; + + if (hooks.request_post !== null) { + hooks.request_post(payload, response); + } + + if (multi) { + return response; + } + + var output = payload.output; + var id = output.substr(0, output.lastIndexOf('.')); + return _defineProperty({}, id, response.props); + }); + } + + if (status === _constants_constants__WEBPACK_IMPORTED_MODULE_8__["STATUS"].PREVENT_UPDATE) { + return {}; + } + + throw res; + }); +} + +var getVals = function getVals(input) { + return Array.isArray(input) ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pluck"])('value', input) : input.value; +}; + +var zipIfArray = function zipIfArray(a, b) { + return Array.isArray(a) ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["zip"])(a, b) : [[a, b]]; +}; + +function handleClientside(clientside_function, payload) { + var dc = window.dash_clientside = window.dash_clientside || {}; + + if (!dc.no_update) { + Object.defineProperty(dc, 'no_update', { + value: { + description: 'Return to prevent updating an Output.' + }, + writable: false + }); + Object.defineProperty(dc, 'PreventUpdate', { + value: { + description: 'Throw to prevent updating all Outputs.' + }, + writable: false + }); + } + + var inputs = payload.inputs, + outputs = payload.outputs, + state = payload.state; + var returnValue; + + try { + var _dc$namespace; + + var namespace = clientside_function.namespace, + function_name = clientside_function.function_name; + var args = inputs.map(getVals); + + if (state) { + args = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(args, state.map(getVals)); + } + + returnValue = (_dc$namespace = dc[namespace])[function_name].apply(_dc$namespace, _toConsumableArray(args)); + } catch (e) { + if (e === dc.PreventUpdate) { + return {}; + } + + throw e; + } + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(returnValue) === 'Promise') { + throw new Error('The clientside function returned a Promise. ' + 'Promises are not supported in Dash clientside ' + 'right now, but may be in the future.'); + } + + var data = {}; + zipIfArray(outputs, returnValue).forEach(function (_ref5) { + var _ref6 = _slicedToArray(_ref5, 2), + outi = _ref6[0], + reti = _ref6[1]; + + zipIfArray(outi, reti).forEach(function (_ref7) { + var _ref8 = _slicedToArray(_ref7, 2), + outij = _ref8[0], + retij = _ref8[1]; + + var id = outij.id, + property = outij.property; + var idStr = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["stringifyId"])(id); + var dataForId = data[idStr] = data[idStr] || {}; + + if (retij !== dc.no_update) { + dataForId[property] = retij; + } + }); + }); + return data; +} + +function requestIsActive(pendingCallbacks, resolvedId, requestId) { + var thisCallback = pendingCallbacks.find(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["propEq"])('resolvedId', resolvedId)); // could be inactivated if it was requested again, in which case it could + // potentially even have finished and been removed from the list + + return thisCallback && thisCallback.requestId === requestId; +} + +function doUpdateProps(dispatch, getState, id, updatedProps) { + var _getState3 = getState(), + layout = _getState3.layout, + paths = _getState3.paths; + + var itempath = Object(_paths__WEBPACK_IMPORTED_MODULE_7__["getPath"])(paths, id); + + if (!itempath) { + return false; + } // This is a callback-generated update. + // Check if this invalidates existing persisted prop values, + // or if persistence changed, whether this updates other props. + + + var updatedProps2 = Object(_persistence__WEBPACK_IMPORTED_MODULE_9__["prunePersistence"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(itempath, layout), updatedProps, dispatch); // In case the update contains whole components, see if any of + // those components have props to update to persist user edits. + + var _applyPersistence = Object(_persistence__WEBPACK_IMPORTED_MODULE_9__["applyPersistence"])({ + props: updatedProps2 + }, dispatch), + props = _applyPersistence.props; + + dispatch(updateProps({ + itempath: itempath, + props: props, + source: 'response' + })); + return props; +} + +function updateChildPaths(dispatch, getState, pendingCallbacks, id, children, oldChildren) { + var _getState4 = getState(), + oldPaths = _getState4.paths, + graphs = _getState4.graphs; + + var childrenPath = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(Object(_paths__WEBPACK_IMPORTED_MODULE_7__["getPath"])(oldPaths, id), ['props', 'children']); + var paths = Object(_paths__WEBPACK_IMPORTED_MODULE_7__["computePaths"])(children, childrenPath, oldPaths); + dispatch(setPaths(paths)); + var cleanedCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["pruneRemovedCallbacks"])(pendingCallbacks, paths); + var newCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["getCallbacksInLayout"])(graphs, paths, children, { + chunkPath: childrenPath + }); // Wildcard callbacks with array inputs (ALL / ALLSMALLER) need to trigger + // even due to the deletion of components + + var deletedComponentCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["getCallbacksInLayout"])(graphs, oldPaths, oldChildren, { + removedArrayInputsOnly: true, + newPaths: paths, + chunkPath: childrenPath + }); + var allNewCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["mergePendingCallbacks"])(newCallbacks, deletedComponentCallbacks); + return Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["mergePendingCallbacks"])(cleanedCallbacks, allNewCallbacks); +} + +function notifyObservers(_ref9) { + var id = _ref9.id, + props = _ref9.props; + return (/*#__PURE__*/function () { + var _ref10 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(dispatch, getState) { + var _getState5, graphs, paths, pendingCallbacks, finalCallbacks; + + return regeneratorRuntime.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _getState5 = getState(), graphs = _getState5.graphs, paths = _getState5.paths, pendingCallbacks = _getState5.pendingCallbacks; + finalCallbacks = includeObservers(id, props, graphs, paths, pendingCallbacks); + dispatch(startCallbacks(finalCallbacks)); + + case 3: + case "end": + return _context2.stop(); + } + } + }, _callee2); + })); + + return function (_x6, _x7) { + return _ref10.apply(this, arguments); + }; + }() + ); +} + +function includeObservers(id, props, graphs, paths, pendingCallbacks) { + var changedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(props); + var finalCallbacks = pendingCallbacks; + changedProps.forEach(function (propName) { + var newCBs = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["getCallbacksByInput"])(graphs, paths, id, propName); + + if (newCBs.length) { + finalCallbacks = Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["mergePendingCallbacks"])(finalCallbacks, Object(_dependencies__WEBPACK_IMPORTED_MODULE_6__["followForward"])(graphs, paths, newCBs)); + } + }); + return finalCallbacks; +} + +function handleAsyncError(err, message, dispatch) { + // Handle html error responses + if (err && typeof err.text === 'function') { + err.text().then(function (text) { + var error = { + message: message, + html: text + }; + dispatch(onError({ + type: 'backEnd', + error: error + })); + }); + } else { + var error = err instanceof Error ? err : { + message: message, + html: err + }; + dispatch(onError({ + type: 'backEnd', + error: error + })); + } +} + +/***/ }), + +/***/ "./src/actions/isAppReady.js": +/*!***********************************!*\ + !*** ./src/actions/isAppReady.js ***! + \***********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @plotly/dash-component-plugins */ "./node_modules/@plotly/dash-component-plugins/dist/index.js"); +/* harmony import */ var _plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../registry */ "./src/registry.js"); +/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./paths */ "./src/actions/paths.js"); +/* harmony import */ var _dependencies__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dependencies */ "./src/actions/dependencies.js"); + + + + + +/* harmony default export */ __webpack_exports__["default"] = (function (layout, paths, targets) { + if (!targets.length) { + return true; + } + + var promises = []; + var events = paths.events; + var rendered = new Promise(function (resolveRendered) { + events.once('rendered', resolveRendered); + }); + targets.forEach(function (id) { + var pathOfId = Object(_paths__WEBPACK_IMPORTED_MODULE_3__["getPath"])(paths, id); + + if (!pathOfId) { + return; + } + + var target = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(pathOfId, layout); + + if (!target) { + return; + } + + var component = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(target); + var ready = Object(_plotly_dash_component_plugins__WEBPACK_IMPORTED_MODULE_1__["isReady"])(component); + + if (ready && typeof ready.then === 'function') { + promises.push(Promise.race([ready, rendered.then(function () { + return document.getElementById(Object(_dependencies__WEBPACK_IMPORTED_MODULE_4__["stringifyId"])(id)) && ready; + })])); + } + }); + return promises.length ? Promise.all(promises) : true; +}); + +/***/ }), + +/***/ "./src/actions/paths.js": +/*!******************************!*\ + !*** ./src/actions/paths.js ***! + \******************************/ +/*! exports provided: computePaths, getPath */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "computePaths", function() { return computePaths; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getPath", function() { return getPath; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils */ "./src/actions/utils.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + + + +/* + * state.paths has structure: + * { + * strs: {[id]: path} // for regular string ids + * objs: {[keyStr]: [{values, path}]} // for wildcard ids + * } + * keyStr: sorted keys of the id, joined with ',' into one string + * values: array of values in the id, in order of keys + */ + +function computePaths(subTree, startingPath, oldPaths, events) { + var _ref = oldPaths || { + strs: {}, + objs: {} + }, + oldStrs = _ref.strs, + oldObjs = _ref.objs; + + var diffHead = function diffHead(path) { + return startingPath.some(function (v, i) { + return path[i] !== v; + }); + }; + + var spLen = startingPath.length; // if we're updating a subtree, clear out all of the existing items + + var strs = spLen ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(diffHead, oldStrs) : {}; + var objs = {}; + + if (spLen) { + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEachObjIndexed"])(function (oldValPaths, oldKeys) { + var newVals = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(function (_ref2) { + var path = _ref2.path; + return diffHead(path); + }, oldValPaths); + + if (newVals.length) { + objs[oldKeys] = newVals; + } + }, oldObjs); + } + + Object(_utils__WEBPACK_IMPORTED_MODULE_1__["crawlLayout"])(subTree, function assignPath(child, itempath) { + var id = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(['props', 'id'], child); + + if (id) { + if (_typeof(id) === 'object') { + var keys = Object.keys(id).sort(); + var values = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["props"])(keys, id); + var keyStr = keys.join(','); + var paths = objs[keyStr] = objs[keyStr] || []; + paths.push({ + values: values, + path: Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(startingPath, itempath) + }); + } else { + strs[id] = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(startingPath, itempath); + } + } + }); // We include an event emitter here because it will be used along with + // paths to determine when the app is ready for callbacks. + + return { + strs: strs, + objs: objs, + events: events || oldPaths.events + }; +} +function getPath(paths, id) { + if (_typeof(id) === 'object') { + var keys = Object.keys(id).sort(); + var keyStr = keys.join(','); + var keyPaths = paths.objs[keyStr]; + + if (!keyPaths) { + return false; + } + + var values = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["props"])(keys, id); + var pathObj = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["find"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["propEq"])('values', values), keyPaths); + return pathObj && pathObj.path; + } + + return paths.strs[id]; +} + +/***/ }), + +/***/ "./src/actions/utils.js": +/*!******************************!*\ + !*** ./src/actions/utils.js ***! + \******************************/ +/*! exports provided: urlBase, crawlLayout, EventEmitter */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "urlBase", function() { return urlBase; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "crawlLayout", function() { return crawlLayout; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EventEmitter", function() { return EventEmitter; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + + +/* + * requests_pathname_prefix is the new config parameter introduced in + * dash==0.18.0. The previous versions just had url_base_pathname + */ + +function urlBase(config) { + var hasUrlBase = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('url_base_pathname', config); + var hasReqPrefix = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('requests_pathname_prefix', config); + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(config) !== 'Object' || !hasUrlBase && !hasReqPrefix) { + throw new Error("\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in `config`. `config` is: ", config); + } + + var base = hasReqPrefix ? config.requests_pathname_prefix : config.url_base_pathname; + return base.charAt(base.length - 1) === '/' ? base : base + '/'; +} +var propsChildren = ['props', 'children']; // crawl a layout object or children array, apply a function on every object + +var crawlLayout = function crawlLayout(object, func) { + var currentPath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; + + if (Array.isArray(object)) { + // children array + object.forEach(function (child, i) { + crawlLayout(child, func, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])(i, currentPath)); + }); + } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(object) === 'Object') { + func(object, currentPath); + var children = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(propsChildren, object); + + if (children) { + var newPath = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["concat"])(currentPath, propsChildren); + crawlLayout(children, func, newPath); + } + } +}; // There are packages for this but it's simple enough, I just +// adapted it from https://gist.github.com/mudge/5830382 + +var EventEmitter = /*#__PURE__*/function () { + function EventEmitter() { + _classCallCheck(this, EventEmitter); + + this._ev = {}; + } + + _createClass(EventEmitter, [{ + key: "on", + value: function on(event, listener) { + var _this = this; + + var events = this._ev[event] = this._ev[event] || []; + events.push(listener); + return function () { + return _this.removeListener(event, listener); + }; + } + }, { + key: "removeListener", + value: function removeListener(event, listener) { + var events = this._ev[event]; + + if (events) { + var idx = events.indexOf(listener); + + if (idx > -1) { + events.splice(idx, 1); + } + } + } + }, { + key: "emit", + value: function emit(event) { + var _this2 = this; + + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var events = this._ev[event]; + + if (events) { + events.forEach(function (listener) { + return listener.apply(_this2, args); + }); + } + } + }, { + key: "once", + value: function once(event, listener) { + var _this3 = this; + + var remove = this.on(event, function () { + remove(); + + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + + listener.apply(_this3, args); + }); + } + }]); + + return EventEmitter; +}(); + +/***/ }), + +/***/ "./src/checkPropTypes.js": +/*!*******************************!*\ + !*** ./src/checkPropTypes.js ***! + \*******************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return checkPropTypes; }); +/* harmony import */ var prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prop-types/lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js"); +/* harmony import */ var prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0__); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +/* + * Copied out of prop-types and modified - inspired by check-prop-types, but + * simplified and tweaked to our needs: we don't need the NODE_ENV check, + * we report all errors, not just the first one, and we don't need the throwing + * variant `assertPropTypes`. + */ + +/** + * Assert that the values match with the type specs. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @return {string} Any error messsage resulting from checking the types + */ + +function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + var errors = []; + + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error = void 0; // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + error = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + _typeof(typeSpecs[typeSpecName]) + '`.'); + error.name = 'Invariant Violation'; + } else { + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, prop_types_lib_ReactPropTypesSecret__WEBPACK_IMPORTED_MODULE_0___default.a); + } + } catch (ex) { + error = ex; + } + + if (error && !(error instanceof Error)) { + errors.push((componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + _typeof(error) + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).'); + } + + if (error instanceof Error) { + var stack = getStack && getStack() || ''; + errors.push('Failed ' + location + ' type: ' + error.message + stack); + } + } + } + + return errors.join('\n\n'); +} + +/***/ }), + +/***/ "./src/components/core/DocumentTitle.react.js": +/*!****************************************************!*\ + !*** ./src/components/core/DocumentTitle.react.js ***! + \****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + +var DocumentTitle = /*#__PURE__*/function (_Component) { + _inherits(DocumentTitle, _Component); + + function DocumentTitle(props) { + var _this; + + _classCallCheck(this, DocumentTitle); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(DocumentTitle).call(this, props)); + _this.state = { + initialTitle: document.title + }; + return _this; + } + + _createClass(DocumentTitle, [{ + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(props) { + if (props.pendingCallbacks.length) { + document.title = 'Updating...'; + } else { + document.title = this.state.initialTitle; + } + } + }, { + key: "shouldComponentUpdate", + value: function shouldComponentUpdate() { + return false; + } + }, { + key: "render", + value: function render() { + return null; + } + }]); + + return DocumentTitle; +}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); + +DocumentTitle.propTypes = { + pendingCallbacks: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array.isRequired +}; +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + pendingCallbacks: state.pendingCallbacks + }; +})(DocumentTitle)); + +/***/ }), + +/***/ "./src/components/core/Loading.react.js": +/*!**********************************************!*\ + !*** ./src/components/core/Loading.react.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); + + + + +function Loading(props) { + if (props.pendingCallbacks.length) { + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + className: "_dash-loading-callback" + }); + } + + return null; +} + +Loading.propTypes = { + pendingCallbacks: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array.isRequired +}; +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + pendingCallbacks: state.pendingCallbacks + }; +})(Loading)); + +/***/ }), + +/***/ "./src/components/core/Reloader.react.js": +/*!***********************************************!*\ + !*** ./src/components/core/Reloader.react.js ***! + \***********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var _actions_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/api */ "./src/actions/api.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + +var Reloader = /*#__PURE__*/function (_React$Component) { + _inherits(Reloader, _React$Component); + + function Reloader(props) { + var _this; + + _classCallCheck(this, Reloader); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(Reloader).call(this, props)); + + if (props.config.hot_reload) { + var _props$config$hot_rel = props.config.hot_reload, + interval = _props$config$hot_rel.interval, + max_retry = _props$config$hot_rel.max_retry; + _this.state = { + interval: interval, + disabled: false, + intervalId: null, + packages: null, + max_retry: max_retry + }; + } else { + _this.state = { + disabled: true + }; + } + + _this._retry = 0; + _this._head = document.querySelector('head'); + _this.clearInterval = _this.clearInterval.bind(_assertThisInitialized(_this)); + return _this; + } + + _createClass(Reloader, [{ + key: "clearInterval", + value: function clearInterval() { + window.clearInterval(this.state.intervalId); + this.setState({ + intervalId: null + }); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + var reloadRequest = this.state.reloadRequest; + var dispatch = this.props.dispatch; // In the beginning, reloadRequest won't be defined + + if (!reloadRequest) { + return; + } + /* + * When reloadRequest is first defined, prevState won't be defined + * for one render loop. + * The first reloadRequest defines the initial/baseline hash - + * it doesn't require a reload + */ + + + if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])('reloadRequest', prevState)) { + return; + } + + if (reloadRequest.status === 200 && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(['content', 'reloadHash'], reloadRequest) !== Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(['reloadRequest', 'content', 'reloadHash'], prevState)) { + // Check for CSS (!content.hard) or new package assets + if (reloadRequest.content.hard || !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(reloadRequest.content.packages.length, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pathOr"])([], ['reloadRequest', 'content', 'packages'], prevState).length) || !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["comparator"])(ramda__WEBPACK_IMPORTED_MODULE_0__["lt"]), reloadRequest.content.packages), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["sort"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["comparator"])(ramda__WEBPACK_IMPORTED_MODULE_0__["lt"]), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["pathOr"])([], ['reloadRequest', 'content', 'packages'], prevState)))) { + // Look if it was a css file. + var was_css = false; // eslint-disable-next-line prefer-const + + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = reloadRequest.content.files[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var a = _step.value; + + if (a.is_css) { + was_css = true; + var nodesToDisable = []; // Search for the old file by xpath. + + var it = document.evaluate("//link[contains(@href, \"".concat(a.url, "\")]"), this._head); + var node = it.iterateNext(); + + while (node) { + nodesToDisable.push(node); + node = it.iterateNext(); + } + + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (n) { + return n.setAttribute('disabled', 'disabled'); + }, nodesToDisable); + + if (a.modified > 0) { + var link = document.createElement('link'); + link.href = "".concat(a.url, "?m=").concat(a.modified); + link.type = 'text/css'; + link.rel = 'stylesheet'; + + this._head.appendChild(link); // Else the file was deleted. + + } + } else { + // If there's another kind of file here do a hard reload. + was_css = false; + break; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator["return"] != null) { + _iterator["return"](); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + if (!was_css) { + // Assets file have changed + // or a component lib has been added/removed - + // Must do a hard reload + window.top.location.reload(); + } + } else { + // Backend code changed - can do a soft reload in place + dispatch({ + type: 'RELOAD' + }); + } + } else if (reloadRequest.status === 500) { + if (this._retry > this.state.max_retry) { + this.clearInterval(); // Integrate with dev tools ui?! + + window.alert("\n Reloader failed after ".concat(this._retry, " times.\n Please check your application for errors.\n ")); + } + + this._retry++; + } + } + }, { + key: "componentDidMount", + value: function componentDidMount() { + var _this$props = this.props, + dispatch = _this$props.dispatch, + reloadRequest = _this$props.reloadRequest; + var _this$state = this.state, + disabled = _this$state.disabled, + interval = _this$state.interval; + + if (!disabled && !this.state.intervalId) { + var intervalId = window.setInterval(function () { + // Prevent requests from piling up - reloading can take + // many seconds (10-30) and the interval is 3s by default + if (reloadRequest.status !== 'loading') { + dispatch(Object(_actions_api__WEBPACK_IMPORTED_MODULE_4__["default"])('_reload-hash', 'GET', 'reloadRequest')); + } + }, interval); + this.setState({ + intervalId: intervalId + }); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (!this.state.disabled && this.state.intervalId) { + this.clearInterval(); + } + } + }, { + key: "render", + value: function render() { + return null; + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(props) { + /* + * Save the non-loading requests in the state in order to compare + * current hashes with previous hashes. + * Note that if there wasn't a "loading" state for the requests, + * then we could simply compare `props` with `prevProps` in + * `componentDidUpdate`. + */ + if (!Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(props.reloadRequest) && props.reloadRequest.status !== 'loading') { + return { + reloadRequest: props.reloadRequest + }; + } + + return null; + } + }]); + + return Reloader; +}(react__WEBPACK_IMPORTED_MODULE_1___default.a.Component); + +Reloader.defaultProps = {}; +Reloader.propTypes = { + id: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, + config: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + reloadRequest: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func, + interval: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.number +}; +/* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_3__["connect"])(function (state) { + return { + config: state.config, + reloadRequest: state.reloadRequest + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +})(Reloader)); + +/***/ }), + +/***/ "./src/components/core/Toolbar.react.js": +/*!**********************************************!*\ + !*** ./src/components/core/Toolbar.react.js ***! + \**********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _actions_index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions/index.js */ "./src/actions/index.js"); +/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); + + + + + + + +function UnconnectedToolbar(props) { + var dispatch = props.dispatch, + history = props.history; + var styles = { + parentSpanStyle: { + display: 'inline-block', + opacity: '0.2', + ':hover': { + opacity: 1 + } + }, + iconStyle: { + fontSize: 20 + }, + labelStyle: { + fontSize: 15 + } + }; + var undoLink = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", { + key: "undoLink", + style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ + color: history.past.length ? '#0074D9' : 'grey', + cursor: history.past.length ? 'pointer' : 'default' + }, styles.parentSpanStyle), + onClick: function onClick() { + return dispatch(_actions_index_js__WEBPACK_IMPORTED_MODULE_4__["undo"]); + } + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ + transform: 'rotate(270deg)' + }, styles.iconStyle) + }, "\u21BA"), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + style: styles.labelStyle + }, "undo")); + var redoLink = react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("span", { + key: "redoLink", + style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ + color: history.future.length ? '#0074D9' : 'grey', + cursor: history.future.length ? 'pointer' : 'default', + marginLeft: 10 + }, styles.parentSpanStyle), + onClick: function onClick() { + return dispatch(_actions_index_js__WEBPACK_IMPORTED_MODULE_4__["redo"]); + } + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + style: Object(ramda__WEBPACK_IMPORTED_MODULE_3__["mergeRight"])({ + transform: 'rotate(90deg)' + }, styles.iconStyle) + }, "\u21BB"), react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + style: styles.labelStyle + }, "redo")); + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + className: "_dash-undo-redo", + style: { + position: 'fixed', + bottom: '30px', + left: '30px', + fontSize: '20px', + textAlign: 'center', + zIndex: '9999', + backgroundColor: 'rgba(255, 255, 255, 0.9)' + } + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + style: { + position: 'relative' + } + }, history.past.length > 0 ? undoLink : null, history.future.length > 0 ? redoLink : null)); +} + +UnconnectedToolbar.propTypes = { + history: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func +}; +var Toolbar = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + history: state.history + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +})(Object(radium__WEBPACK_IMPORTED_MODULE_5__["default"])(UnconnectedToolbar)); +/* harmony default export */ __webpack_exports__["default"] = (Toolbar); + +/***/ }), + +/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.css": +/*!***********************************************************************!*\ + !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.css ***! + \***********************************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./CallbackGraphContainer.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/CallbackGraph/CallbackGraphContainer.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/CallbackGraph/CallbackGraphContainer.react.js": +/*!****************************************************************************!*\ + !*** ./src/components/error/CallbackGraph/CallbackGraphContainer.react.js ***! + \****************************************************************************/ +/*! exports provided: CallbackGraphContainer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CallbackGraphContainer", function() { return CallbackGraphContainer; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CallbackGraphContainer.css */ "./src/components/error/CallbackGraph/CallbackGraphContainer.css"); +/* harmony import */ var _CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_CallbackGraphContainer_css__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var viz_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! viz.js */ "./node_modules/viz.js/viz.es.js"); +/* harmony import */ var viz_js_full_render__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! viz.js/full.render */ "./node_modules/viz.js/full.render.js"); +/* harmony import */ var viz_js_full_render__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(viz_js_full_render__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _actions_dependencies__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../actions/dependencies */ "./src/actions/dependencies.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + + + + + + + + +var CallbackGraphContainer = function CallbackGraphContainer(_ref) { + var graphs = _ref.graphs; + var el = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(null); + var viz = Object(react__WEBPACK_IMPORTED_MODULE_0__["useRef"])(null); + + var makeViz = function makeViz() { + viz.current = new viz_js__WEBPACK_IMPORTED_MODULE_3__["default"]({ + Module: viz_js_full_render__WEBPACK_IMPORTED_MODULE_4__["Module"], + render: viz_js_full_render__WEBPACK_IMPORTED_MODULE_4__["render"] + }); + }; + + if (!viz.current) { + makeViz(); + } + + Object(react__WEBPACK_IMPORTED_MODULE_0__["useEffect"])(function () { + var callbacks = graphs.callbacks; + var elements = {}; + var callbacksOut = []; + var links = callbacks.map(function (_ref2, i) { + var inputs = _ref2.inputs, + outputs = _ref2.outputs; + callbacksOut.push("cb".concat(i, ";")); + + function recordAndReturn(_ref3) { + var id = _ref3.id, + property = _ref3.property; + var idClean = Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_5__["stringifyId"])(id).replace(/[\{\}".;\[\]()]/g, '').replace(/:/g, '-').replace(/,/g, '_'); + elements[idClean] = elements[idClean] || {}; + elements[idClean][property] = true; + return "\"".concat(idClean, ".").concat(property, "\""); + } + + var out_nodes = outputs.map(recordAndReturn).join(', '); + var in_nodes = inputs.map(recordAndReturn).join(', '); + return "{".concat(in_nodes, "} -> cb").concat(i, " -> {").concat(out_nodes, "};"); + }); + var dot = "digraph G {\n overlap = false; fontname=\"Arial\"; fontcolor=\"#333333\";\n edge [color=\"#888888\"];\n node [shape=box, fontname=\"Arial\", style=filled, color=\"#109DFF\", fontcolor=white];\n graph [penwidth=0];\n subgraph callbacks {\n node [shape=circle, width=0.3, label=\"\", color=\"#00CC96\"];\n ".concat(callbacksOut.join('\n'), " }\n\n ").concat(Object.entries(elements).map(function (_ref4, i) { + var _ref5 = _slicedToArray(_ref4, 2), + id = _ref5[0], + props = _ref5[1]; + + return "\n subgraph cluster_".concat(i, " {\n bgcolor=\"#B9C2CE\";\n ").concat(Object.keys(props).map(function (p) { + return "\"".concat(id, ".").concat(p, "\" [label=\"").concat(p, "\"];"); + }).join('\n'), "\n label = \"").concat(id, "\"; }"); + }).join('\n'), "\n\n ").concat(links.join('\n'), " }"); + viz.current.renderSVGElement(dot).then(function (vizEl) { + el.current.innerHTML = ''; + el.current.appendChild(vizEl); + })["catch"](function (e) { + // https://github.com/mdaines/viz.js/wiki/Caveats + makeViz(); // eslint-disable-next-line no-console + + console.error(e); + el.current.innerHTML = 'Error creating callback graph'; + }); + }); + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-callback-dag--container", + ref: el + }); +}; + +CallbackGraphContainer.propTypes = { + graphs: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object +}; + + +/***/ }), + +/***/ "./src/components/error/ComponentErrorBoundary.react.js": +/*!**************************************************************!*\ + !*** ./src/components/error/ComponentErrorBoundary.react.js ***! + \**************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); +/* harmony import */ var _actions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../actions */ "./src/actions/index.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + +var UnconnectedComponentErrorBoundary = /*#__PURE__*/function (_Component) { + _inherits(UnconnectedComponentErrorBoundary, _Component); + + function UnconnectedComponentErrorBoundary(props) { + var _this; + + _classCallCheck(this, UnconnectedComponentErrorBoundary); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedComponentErrorBoundary).call(this, props)); + _this.state = { + myID: props.componentId, + oldChildren: null, + hasError: false + }; + return _this; + } + + _createClass(UnconnectedComponentErrorBoundary, [{ + key: "componentDidCatch", + value: function componentDidCatch(error, info) { + var dispatch = this.props.dispatch; + dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_4__["onError"])({ + myID: this.state.myID, + type: 'frontEnd', + error: error, + info: info + })); + dispatch(_actions__WEBPACK_IMPORTED_MODULE_4__["revert"]); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + var prevChildren = prevProps.children; + + if (!this.state.hasError && prevChildren !== prevState.oldChildren && prevChildren !== this.props.children) { + /* eslint-disable-next-line react/no-did-update-set-state */ + this.setState({ + oldChildren: prevChildren + }); + } + } + }, { + key: "render", + value: function render() { + var _this$state = this.state, + hasError = _this$state.hasError, + oldChildren = _this$state.oldChildren; + return hasError ? oldChildren : this.props.children; + } + }], [{ + key: "getDerivedStateFromError", + value: function getDerivedStateFromError(_) { + return { + hasError: true + }; + } + }]); + + return UnconnectedComponentErrorBoundary; +}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); + +UnconnectedComponentErrorBoundary.propTypes = { + children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + componentId: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.string, + error: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + dispatch: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func +}; +var ComponentErrorBoundary = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + error: state.error + }; +}, function (dispatch) { + return { + dispatch: dispatch + }; +})(Object(radium__WEBPACK_IMPORTED_MODULE_3__["default"])(UnconnectedComponentErrorBoundary)); +/* harmony default export */ __webpack_exports__["default"] = (ComponentErrorBoundary); + +/***/ }), + +/***/ "./src/components/error/FrontEnd/FrontEndError.css": +/*!*********************************************************!*\ + !*** ./src/components/error/FrontEnd/FrontEndError.css ***! + \*********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./FrontEndError.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/FrontEnd/FrontEndError.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/FrontEnd/FrontEndError.react.js": +/*!**************************************************************!*\ + !*** ./src/components/error/FrontEnd/FrontEndError.react.js ***! + \**************************************************************/ +/*! exports provided: FrontEndError */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FrontEndError", function() { return FrontEndError; }); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontEndError.css */ "./src/components/error/FrontEnd/FrontEndError.css"); +/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _icons_CollapseIcon_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/CollapseIcon.svg */ "./src/components/error/icons/CollapseIcon.svg"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _Percy_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Percy.css */ "./src/components/error/Percy.css"); +/* harmony import */ var _Percy_css__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Percy_css__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _actions_utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../actions/utils */ "./src/actions/utils.js"); +/* harmony import */ var _werkzeugcss__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../werkzeugcss */ "./src/components/error/werkzeugcss.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + + + + +var FrontEndError = /*#__PURE__*/function (_Component) { + _inherits(FrontEndError, _Component); + + function FrontEndError(props) { + var _this; + + _classCallCheck(this, FrontEndError); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(FrontEndError).call(this, props)); + _this.state = { + collapsed: _this.props.isListItem + }; + return _this; + } + + _createClass(FrontEndError, [{ + key: "render", + value: function render() { + var _this2 = this; + + var _this$props = this.props, + e = _this$props.e, + inAlertsTray = _this$props.inAlertsTray; + var collapsed = this.state.collapsed; + var cardClasses = 'dash-error-card__content' + (inAlertsTray ? ' dash-error-card--alerts-tray' : ''); + /* eslint-disable no-inline-comments */ + + var errorHeader = React.createElement("div", { + className: "dash-fe-error-top test-devtools-error-toggle", + onClick: function onClick() { + return _this2.setState({ + collapsed: !collapsed + }); + } + }, React.createElement("span", { + className: "dash-fe-error-top__group" + }, "\u26D1\uFE0F", React.createElement("span", { + className: "dash-fe-error__title" + }, e.error.message || 'Error')), React.createElement("span", { + className: "dash-fe-error-top__group" + }, React.createElement("span", { + className: "dash-fe-error__timestamp percy-hide" + }, "".concat(e.timestamp.toLocaleTimeString())), React.createElement("span", { + className: "dash-fe-error__timestamp percy-show" + }, "00:00:00 PM"), React.createElement(_icons_CollapseIcon_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "dash-fe-error__collapse ".concat(collapsed ? 'dash-fe-error__collapse--flipped' : ''), + onClick: function onClick() { + return _this2.setState({ + collapsed: !collapsed + }); + } + }))); + /* eslint-enable no-inline-comments */ + + return collapsed ? React.createElement("div", { + className: "dash-error-card__list-item" + }, errorHeader) : React.createElement("div", { + className: cardClasses + }, errorHeader, React.createElement(ErrorContent, { + error: e.error + })); + } + }]); + + return FrontEndError; +}(react__WEBPACK_IMPORTED_MODULE_2__["Component"]); + +var MAX_MESSAGE_LENGTH = 40; +/* eslint-disable no-inline-comments */ + +function UnconnectedErrorContent(_ref) { + var error = _ref.error, + base = _ref.base; + return React.createElement("div", { + className: "error-container" + }, typeof error.message !== 'string' || error.message.length < MAX_MESSAGE_LENGTH ? null : React.createElement("div", { + className: "dash-fe-error__st" + }, React.createElement("div", { + className: "dash-fe-error__info dash-fe-error__curved" + }, error.message)), typeof error.stack !== 'string' ? null : React.createElement("div", { + className: "dash-fe-error__st" + }, React.createElement("div", { + className: "dash-fe-error__info" + }, React.createElement("details", null, React.createElement("summary", null, React.createElement("i", null, "(This error originated from the built-in JavaScript code that runs Dash apps. Click to see the full stack trace or open your browser's console.)")), error.stack.split('\n').map(function (line, i) { + return React.createElement("p", { + key: i + }, line); + })))), typeof error.html !== 'string' ? null : error.html.indexOf('<!DOCTYPE HTML') === 0 ? React.createElement("div", { + className: "dash-be-error__st" + }, React.createElement("div", { + className: "dash-backend-error" + }, React.createElement("iframe", { + srcDoc: error.html.replace('</head>', "<style type=\"text/css\">".concat(_werkzeugcss__WEBPACK_IMPORTED_MODULE_7__["default"], "</style></head>")).replace('="?__debugger__', "=\"".concat(base, "?__debugger__")), + style: { + /* + * 67px of padding and margin between this + * iframe and the parent container. + * 67 was determined manually in the + * browser's dev tools. + */ + width: 'calc(600px - 67px)', + height: '75vh', + border: 'none' + } + }))) : React.createElement("div", { + className: "dash-be-error__str" + }, React.createElement("div", { + className: "dash-backend-error" + }, error.html))); +} +/* eslint-enable no-inline-comments */ + + +var errorPropTypes = prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ + message: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string, + + /* front-end error messages */ + stack: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string, + + /* backend error messages */ + html: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string +}); +UnconnectedErrorContent.propTypes = { + error: errorPropTypes, + base: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.string +}; +var ErrorContent = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + base: Object(_actions_utils__WEBPACK_IMPORTED_MODULE_6__["urlBase"])(state.config) + }; +})(UnconnectedErrorContent); +FrontEndError.propTypes = { + e: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.shape({ + timestamp: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.object, + error: errorPropTypes + }), + inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool, + isListItem: prop_types__WEBPACK_IMPORTED_MODULE_4___default.a.bool +}; +FrontEndError.defaultProps = { + inAlertsTray: false, + isListItem: false +}; + + +/***/ }), + +/***/ "./src/components/error/FrontEnd/FrontEndErrorContainer.react.js": +/*!***********************************************************************!*\ + !*** ./src/components/error/FrontEnd/FrontEndErrorContainer.react.js ***! + \***********************************************************************/ +/*! exports provided: FrontEndErrorContainer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FrontEndErrorContainer", function() { return FrontEndErrorContainer; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./FrontEndError.css */ "./src/components/error/FrontEnd/FrontEndError.css"); +/* harmony import */ var _FrontEndError_css__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_FrontEndError_css__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _FrontEndError_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./FrontEndError.react */ "./src/components/error/FrontEnd/FrontEndError.react.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + +var FrontEndErrorContainer = /*#__PURE__*/function (_Component) { + _inherits(FrontEndErrorContainer, _Component); + + function FrontEndErrorContainer(props) { + _classCallCheck(this, FrontEndErrorContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(FrontEndErrorContainer).call(this, props)); + } + + _createClass(FrontEndErrorContainer, [{ + key: "render", + value: function render() { + var errorsLength = this.props.errors.length; + + if (errorsLength === 0) { + return null; + } + + var inAlertsTray = this.props.inAlertsTray; + var cardClasses = 'dash-error-card dash-error-card--container'; + var errorElements = this.props.errors.map(function (error, i) { + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FrontEndError_react__WEBPACK_IMPORTED_MODULE_3__["FrontEndError"], { + e: error, + isListItem: true, + key: i + }); + }); + + if (inAlertsTray) { + cardClasses += ' dash-error-card--alerts-tray'; + } + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: cardClasses + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-error-card__topbar" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-error-card__message" + }, "\uD83D\uDED1 Errors (", react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("strong", { + className: "test-devtools-error-count" + }, errorsLength), ")")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-error-card__list" + }, errorElements)); + } + }]); + + return FrontEndErrorContainer; +}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); + +FrontEndErrorContainer.propTypes = { + errors: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.array, + inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any +}; +FrontEndErrorContainer.propTypes = { + inAlertsTray: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.any +}; + + +/***/ }), + +/***/ "./src/components/error/GlobalErrorContainer.react.js": +/*!************************************************************!*\ + !*** ./src/components/error/GlobalErrorContainer.react.js ***! + \************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var radium__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! radium */ "./node_modules/radium/es/index.js"); +/* harmony import */ var _menu_DebugMenu_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./menu/DebugMenu.react */ "./src/components/error/menu/DebugMenu.react.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + +var UnconnectedGlobalErrorContainer = /*#__PURE__*/function (_Component) { + _inherits(UnconnectedGlobalErrorContainer, _Component); + + function UnconnectedGlobalErrorContainer(props) { + _classCallCheck(this, UnconnectedGlobalErrorContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(UnconnectedGlobalErrorContainer).call(this, props)); + } + + _createClass(UnconnectedGlobalErrorContainer, [{ + key: "render", + value: function render() { + var _this$props = this.props, + error = _this$props.error, + graphs = _this$props.graphs, + children = _this$props.children; + return react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + id: "_dash-global-error-container" + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_menu_DebugMenu_react__WEBPACK_IMPORTED_MODULE_4__["DebugMenu"], { + error: error, + graphs: graphs + }, react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement("div", { + id: "_dash-app-content" + }, children))); + } + }]); + + return UnconnectedGlobalErrorContainer; +}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); + +UnconnectedGlobalErrorContainer.propTypes = { + children: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + error: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + graphs: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object +}; +var GlobalErrorContainer = Object(react_redux__WEBPACK_IMPORTED_MODULE_0__["connect"])(function (state) { + return { + error: state.error, + graphs: state.graphs + }; +})(Object(radium__WEBPACK_IMPORTED_MODULE_3__["default"])(UnconnectedGlobalErrorContainer)); +/* harmony default export */ __webpack_exports__["default"] = (GlobalErrorContainer); + +/***/ }), + +/***/ "./src/components/error/GlobalErrorOverlay.css": +/*!*****************************************************!*\ + !*** ./src/components/error/GlobalErrorOverlay.css ***! + \*****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!./GlobalErrorOverlay.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/GlobalErrorOverlay.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/GlobalErrorOverlay.react.js": +/*!**********************************************************!*\ + !*** ./src/components/error/GlobalErrorOverlay.react.js ***! + \**********************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return GlobalErrorOverlay; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./GlobalErrorOverlay.css */ "./src/components/error/GlobalErrorOverlay.css"); +/* harmony import */ var _GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_GlobalErrorOverlay_css__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _FrontEnd_FrontEndErrorContainer_react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FrontEnd/FrontEndErrorContainer.react */ "./src/components/error/FrontEnd/FrontEndErrorContainer.react.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + +var GlobalErrorOverlay = /*#__PURE__*/function (_Component) { + _inherits(GlobalErrorOverlay, _Component); + + function GlobalErrorOverlay(props) { + _classCallCheck(this, GlobalErrorOverlay); + + return _possibleConstructorReturn(this, _getPrototypeOf(GlobalErrorOverlay).call(this, props)); + } + + _createClass(GlobalErrorOverlay, [{ + key: "render", + value: function render() { + var _this$props = this.props, + visible = _this$props.visible, + error = _this$props.error, + toastsEnabled = _this$props.toastsEnabled; + var frontEndErrors; + + if (toastsEnabled) { + var errors = Object(ramda__WEBPACK_IMPORTED_MODULE_2__["concat"])(error.frontEnd, error.backEnd); + frontEndErrors = react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_FrontEnd_FrontEndErrorContainer_react__WEBPACK_IMPORTED_MODULE_4__["FrontEndErrorContainer"], { + errors: errors + }); + } + + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, this.props.children), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-error-menu" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: visible ? 'dash-fe-errors' : '' + }, frontEndErrors))); + } + }]); + + return GlobalErrorOverlay; +}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); + + +GlobalErrorOverlay.propTypes = { + children: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + visible: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.bool, + error: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.object, + toastsEnabled: prop_types__WEBPACK_IMPORTED_MODULE_1___default.a.any +}; + +/***/ }), + +/***/ "./src/components/error/Percy.css": +/*!****************************************!*\ + !*** ./src/components/error/Percy.css ***! + \****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../node_modules/css-loader/dist/cjs.js!./Percy.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/Percy.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/icons/BellIcon.svg": +/*!*************************************************!*\ + !*** ./src/components/error/icons/BellIcon.svg ***! + \*************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z", + fill: "#fff" +}); + +function SvgBellIcon(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 28, + height: 27, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgBellIcon); + +/***/ }), + +/***/ "./src/components/error/icons/BellIconGrey.svg": +/*!*****************************************************!*\ + !*** ./src/components/error/icons/BellIconGrey.svg ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z", + fill: "#B9C2CE" +}); + +function SvgBellIconGrey(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 28, + height: 27, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgBellIconGrey); + +/***/ }), + +/***/ "./src/components/error/icons/CollapseIcon.svg": +/*!*****************************************************!*\ + !*** ./src/components/error/icons/CollapseIcon.svg ***! + \*****************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M1 1l4 4 4-4", + stroke: "#A2B1C6" +}); + +function SvgCollapseIcon(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 10, + height: 6, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgCollapseIcon); + +/***/ }), + +/***/ "./src/components/error/icons/DebugIcon.svg": +/*!**************************************************!*\ + !*** ./src/components/error/icons/DebugIcon.svg ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M14.85 21.197L5.616 12l9.225-9.197L12.028 0 0 12l12.037 12 2.813-2.803zm12.3 0L36.375 12 27.15 2.803 29.963 0 42 12 29.962 24l-2.812-2.803z", + fill: "#fff" +}); + +function SvgDebugIcon(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 42, + height: 24, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgDebugIcon); + +/***/ }), + +/***/ "./src/components/error/icons/ErrorIconWhite.svg": +/*!*******************************************************!*\ + !*** ./src/components/error/icons/ErrorIconWhite.svg ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + fillRule: "evenodd", + clipRule: "evenodd", + d: "M0 4a4 4 0 118 0 4 4 0 11-8 0zm5.44 2L6 5.44 4.56 4 6 2.56 5.44 2 4 3.44 2.56 2 2 2.56 3.44 4 2 5.44l.56.56L4 4.56 5.44 6z", + fill: "#fff" +}); + +function SvgErrorIconWhite(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + viewBox: "0 0 8 8", + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgErrorIconWhite); + +/***/ }), + +/***/ "./src/components/error/icons/GraphIcon.svg": +/*!**************************************************!*\ + !*** ./src/components/error/icons/GraphIcon.svg ***! + \**************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z", + fill: "#fff" +}); + +function SvgGraphIcon(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 22, + height: 24, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgGraphIcon); + +/***/ }), + +/***/ "./src/components/error/icons/GraphIconGrey.svg": +/*!******************************************************!*\ + !*** ./src/components/error/icons/GraphIconGrey.svg ***! + \******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z", + fill: "#B9C2CE" +}); + +function SvgGraphIconGrey(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + width: 22, + height: 24, + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgGraphIconGrey); + +/***/ }), + +/***/ "./src/components/error/icons/WhiteCloseIcon.svg": +/*!*******************************************************!*\ + !*** ./src/components/error/icons/WhiteCloseIcon.svg ***! + \*******************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + + + +var _ref = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("path", { + d: "M1 1l12 12m0-12L1 13", + stroke: "#fff", + strokeWidth: 2 +}); + +function SvgWhiteCloseIcon(props) { + return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("svg", _extends({ + viewBox: "0 0 14 14", + fill: "none" + }, props), _ref); +} + +/* harmony default export */ __webpack_exports__["default"] = (SvgWhiteCloseIcon); + +/***/ }), + +/***/ "./src/components/error/menu/DebugAlertContainer.css": +/*!***********************************************************!*\ + !*** ./src/components/error/menu/DebugAlertContainer.css ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./DebugAlertContainer.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugAlertContainer.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/menu/DebugAlertContainer.react.js": +/*!****************************************************************!*\ + !*** ./src/components/error/menu/DebugAlertContainer.react.js ***! + \****************************************************************/ +/*! exports provided: DebugAlertContainer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DebugAlertContainer", function() { return DebugAlertContainer; }); +/* harmony import */ var _DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DebugAlertContainer.css */ "./src/components/error/menu/DebugAlertContainer.css"); +/* harmony import */ var _DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_DebugAlertContainer_css__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _icons_ErrorIconWhite_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/ErrorIconWhite.svg */ "./src/components/error/icons/ErrorIconWhite.svg"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + +var DebugAlertContainer = /*#__PURE__*/function (_Component) { + _inherits(DebugAlertContainer, _Component); + + function DebugAlertContainer(props) { + _classCallCheck(this, DebugAlertContainer); + + return _possibleConstructorReturn(this, _getPrototypeOf(DebugAlertContainer).call(this, props)); + } + + _createClass(DebugAlertContainer, [{ + key: "render", + value: function render() { + var alertsOpened = this.props.alertsOpened; + return React.createElement("div", { + className: "dash-debug-alert-container".concat(alertsOpened ? ' dash-debug-alert-container--opened' : ''), + onClick: this.props.onClick + }, React.createElement("div", { + className: "dash-debug-alert" + }, alertsOpened ? React.createElement(_icons_ErrorIconWhite_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "dash-debug-alert-container__icon" + }) : '🛑 ', this.props.errors.length)); + } + }]); + + return DebugAlertContainer; +}(react__WEBPACK_IMPORTED_MODULE_1__["Component"]); + +DebugAlertContainer.propTypes = { + errors: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.object, + alertsOpened: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.bool, + onClick: prop_types__WEBPACK_IMPORTED_MODULE_2___default.a.func +}; + + +/***/ }), + +/***/ "./src/components/error/menu/DebugMenu.css": +/*!*************************************************!*\ + !*** ./src/components/error/menu/DebugMenu.css ***! + \*************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +var api = __webpack_require__(/*! ../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); + var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!./DebugMenu.css */ "./node_modules/css-loader/dist/cjs.js!./src/components/error/menu/DebugMenu.css"); + + content = content.__esModule ? content.default : content; + + if (typeof content === 'string') { + content = [[module.i, content, '']]; + } + +var options = {}; + +options.insert = "head"; +options.singleton = false; + +var update = api(content, options); + +var exported = content.locals ? content.locals : {}; + + + +module.exports = exported; + +/***/ }), + +/***/ "./src/components/error/menu/DebugMenu.react.js": +/*!******************************************************!*\ + !*** ./src/components/error/menu/DebugMenu.react.js ***! + \******************************************************/ +/*! exports provided: DebugMenu */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DebugMenu", function() { return DebugMenu; }); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react"); +/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _DebugMenu_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./DebugMenu.css */ "./src/components/error/menu/DebugMenu.css"); +/* harmony import */ var _DebugMenu_css__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_DebugMenu_css__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _icons_DebugIcon_svg__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../icons/DebugIcon.svg */ "./src/components/error/icons/DebugIcon.svg"); +/* harmony import */ var _icons_WhiteCloseIcon_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../icons/WhiteCloseIcon.svg */ "./src/components/error/icons/WhiteCloseIcon.svg"); +/* harmony import */ var _icons_BellIcon_svg__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../icons/BellIcon.svg */ "./src/components/error/icons/BellIcon.svg"); +/* harmony import */ var _icons_BellIconGrey_svg__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../icons/BellIconGrey.svg */ "./src/components/error/icons/BellIconGrey.svg"); +/* harmony import */ var _icons_GraphIcon_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../icons/GraphIcon.svg */ "./src/components/error/icons/GraphIcon.svg"); +/* harmony import */ var _icons_GraphIconGrey_svg__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../icons/GraphIconGrey.svg */ "./src/components/error/icons/GraphIconGrey.svg"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! prop-types */ "prop-types"); +/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _DebugAlertContainer_react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DebugAlertContainer.react */ "./src/components/error/menu/DebugAlertContainer.react.js"); +/* harmony import */ var _GlobalErrorOverlay_react__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../GlobalErrorOverlay.react */ "./src/components/error/GlobalErrorOverlay.react.js"); +/* harmony import */ var _CallbackGraph_CallbackGraphContainer_react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../CallbackGraph/CallbackGraphContainer.react */ "./src/components/error/CallbackGraph/CallbackGraphContainer.react.js"); +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + + + + + + + + + + + + + + + +var DebugMenu = /*#__PURE__*/function (_Component) { + _inherits(DebugMenu, _Component); + + function DebugMenu(props) { + var _this; + + _classCallCheck(this, DebugMenu); + + _this = _possibleConstructorReturn(this, _getPrototypeOf(DebugMenu).call(this, props)); + _this.state = { + opened: false, + alertsOpened: false, + callbackGraphOpened: false, + toastsEnabled: true + }; + return _this; + } + + _createClass(DebugMenu, [{ + key: "render", + value: function render() { + var _this2 = this; + + var _this$state = this.state, + opened = _this$state.opened, + alertsOpened = _this$state.alertsOpened, + toastsEnabled = _this$state.toastsEnabled, + callbackGraphOpened = _this$state.callbackGraphOpened; + var _this$props = this.props, + error = _this$props.error, + graphs = _this$props.graphs; + var menuClasses = opened ? 'dash-debug-menu dash-debug-menu--opened' : 'dash-debug-menu dash-debug-menu--closed'; + var menuContent = opened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__content" + }, callbackGraphOpened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_CallbackGraph_CallbackGraphContainer_react__WEBPACK_IMPORTED_MODULE_12__["CallbackGraphContainer"], { + graphs: graphs + }) : null, error.frontEnd.length > 0 || error.backEnd.length > 0 ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button-container" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_DebugAlertContainer_react__WEBPACK_IMPORTED_MODULE_10__["DebugAlertContainer"], { + errors: Object(ramda__WEBPACK_IMPORTED_MODULE_1__["concat"])(error.frontEnd, error.backEnd), + alertsOpened: alertsOpened, + onClick: function onClick() { + return _this2.setState({ + alertsOpened: !alertsOpened + }); + } + })) : null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button-container" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button ".concat(callbackGraphOpened ? 'dash-debug-menu__button--enabled' : ''), + onClick: function onClick() { + return _this2.setState({ + callbackGraphOpened: !callbackGraphOpened + }); + } + }, callbackGraphOpened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_GraphIcon_svg__WEBPACK_IMPORTED_MODULE_7__["default"], { + className: "dash-debug-menu__icon dash-debug-menu__icon--graph" + }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_GraphIconGrey_svg__WEBPACK_IMPORTED_MODULE_8__["default"], { + className: "dash-debug-menu__icon dash-debug-menu__icon--bell" + })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "dash-debug-menu__button-label" + }, "Callback Graph")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button-container" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button ".concat(toastsEnabled ? 'dash-debug-menu__button--enabled' : ''), + onClick: function onClick() { + return _this2.setState({ + toastsEnabled: !toastsEnabled + }); + } + }, toastsEnabled ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_BellIcon_svg__WEBPACK_IMPORTED_MODULE_5__["default"], { + className: "dash-debug-menu__icon dash-debug-menu__icon--bell" + }) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_BellIconGrey_svg__WEBPACK_IMPORTED_MODULE_6__["default"], { + className: "dash-debug-menu__icon dash-debug-menu__icon--bell" + })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("label", { + className: "dash-debug-menu__button-label" + }, "Errors")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button-container" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-menu__button dash-debug-menu__button--small", + onClick: function onClick(e) { + e.stopPropagation(); + + _this2.setState({ + opened: false + }); + } + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_WhiteCloseIcon_svg__WEBPACK_IMPORTED_MODULE_4__["default"], { + className: "dash-debug-menu__icon--close" + })))) : react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_icons_DebugIcon_svg__WEBPACK_IMPORTED_MODULE_3__["default"], { + className: "dash-debug-menu__icon dash-debug-menu__icon--debug" + }); + var alertsLabel = error.frontEnd.length + error.backEnd.length > 0 && !opened ? react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-alert-label" + }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: "dash-debug-alert" + }, "\uD83D\uDED1 \xA0", error.frontEnd.length + error.backEnd.length)) : null; + return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, alertsLabel, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", { + className: menuClasses, + onClick: function onClick() { + return _this2.setState({ + opened: true + }); + } + }, menuContent), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_GlobalErrorOverlay_react__WEBPACK_IMPORTED_MODULE_11__["default"], { + error: error, + visible: !(Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(error.backEnd) && Object(ramda__WEBPACK_IMPORTED_MODULE_1__["isEmpty"])(error.frontEnd)), + toastsEnabled: toastsEnabled + }, this.props.children)); + } + }]); + + return DebugMenu; +}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]); + +DebugMenu.propTypes = { + children: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, + error: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object, + graphs: prop_types__WEBPACK_IMPORTED_MODULE_9___default.a.object +}; + + +/***/ }), + +/***/ "./src/components/error/werkzeugcss.js": +/*!*********************************************!*\ + !*** ./src/components/error/werkzeugcss.js ***! + \*********************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// Werkzeug css included as a string, because we want to inject +// it into an iframe srcDoc +/* harmony default export */ __webpack_exports__["default"] = ("\nbody {\n margin: 0px;\n margin-top: 10px;\n}\n\n.error-container {\n font-family: Roboto;\n}\n\n.traceback {\n background-color: white;\n border: 2px solid #dfe8f3;\n border-radius: 0px 0px 4px 4px;\n color: #506784;\n}\n\nh2.traceback {\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n border-bottom: 0px;\n box-sizing: border-box;\n border-radius: 4px 4px 0px 0px;\n color: #506784;\n}\n\nh2.traceback em {\n color: #506784;\n font-weight: 100;\n}\n\n.traceback pre, .debugger textarea {\n background-color: #F3F6FA;\n}\n\n.debugger h1 {\n color: #506784;\n font-family: Roboto;\n}\n\n.explanation {\n color: #A2B1C6;\n}\n\n/* Hide the Don't Panic! footer */\n.debugger .footer {\n display: none;\n}\n\n/* Hide all of the Dash traceback stuff that leads up to the call */\n.line.before {\n display: none;\n}\n\ndiv.debugger {\n padding: 0px;\n}\n\n.debugger h1 {\n display: none;\n}\n\n.debugger .errormsg {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-radius: 4px;\n padding: 10px;\n}\n\n.debugger .pastemessage input {\n display: none;\n}\n\n.debugger .explanation {\n display: none;\n}\n\n.debugger div.plain {\n border-radius: 4px;\n border-width: 2px;\n color: #506784;\n}\n\n.plain {\n display: block !important;\n}\n.plain > form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n"); + +/***/ }), + +/***/ "./src/constants/constants.js": +/*!************************************!*\ + !*** ./src/constants/constants.js ***! + \************************************/ +/*! exports provided: REDIRECT_URI_PATHNAME, OAUTH_COOKIE_NAME, STATUS */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "REDIRECT_URI_PATHNAME", function() { return REDIRECT_URI_PATHNAME; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "OAUTH_COOKIE_NAME", function() { return OAUTH_COOKIE_NAME; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "STATUS", function() { return STATUS; }); +var REDIRECT_URI_PATHNAME = '/_oauth2/callback'; +var OAUTH_COOKIE_NAME = 'plotly_oauth_token'; +var STATUS = { + OK: 200, + PREVENT_UPDATE: 204, + CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR' +}; + +/***/ }), + +/***/ "./src/exceptions.js": +/*!***************************!*\ + !*** ./src/exceptions.js ***! + \***************************/ +/*! exports provided: propTypeErrorHandler */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "propTypeErrorHandler", function() { return propTypeErrorHandler; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); + +function propTypeErrorHandler(message, props, type) { + /* + * propType error messages are constructed in + * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js + * (Version 15.7.2) + * + * Parse these exception objects to remove JS source code and improve + * the clarity. + * + * If wrong prop type was passed in, message looks like: + * + * Error: "Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) { + * var id = props.id ? props.id : generateId(); + * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, { + * id: id + * })); + * }`, expected `boolean`." + * + * + * If a required prop type was omitted, message looks like: + * + * "Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) { + * var _this; + * + * _classCallCheck(this, Checklist); + * + * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props)); + * _this.state = { + * values: props.values + * }; + * return _this; + * }`, but its value is `undefined`." + * + */ + var messageParts = message.split('`'); + var errorMessage; + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('is marked as required', message)) { + var invalidPropPath = messageParts[1]; + errorMessage = "".concat(invalidPropPath, " in ").concat(type); + + if (props.id) { + errorMessage += " with ID \"".concat(props.id, "\""); + } + + errorMessage += " is required but it was not provided."; + } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('Bad object', message)) { + /* + * Handle .exact errors + * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442 + */ + errorMessage = message.split('supplied to ')[0] + "supplied to ".concat(type) + '.\nBad' + message.split('.\nBad')[1]; + } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('Invalid ', message) && Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(' supplied to ', message)) { + var _invalidPropPath = messageParts[1]; + errorMessage = "Invalid argument `".concat(_invalidPropPath, "` passed into ").concat(type); + + if (props.id) { + errorMessage += " with ID \"".concat(props.id, "\""); + } + + errorMessage += '.'; + /* + * Not all error messages include the expected value. + * In particular, oneOfType. + * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388 + */ + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(', expected ', message)) { + var expectedPropType = message.split(', expected ')[1]; + errorMessage += "\nExpected ".concat(expectedPropType); + } + /* + * Not all error messages include the type + * In particular, oneOfType. + * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388 + */ + + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(' of type `', message)) { + var invalidPropTypeProvided = message.split(' of type `')[1].split('`')[0]; + errorMessage += "\nWas supplied type `".concat(invalidPropTypeProvided, "`."); + } + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["has"])(_invalidPropPath, props)) { + /* + * invalidPropPath may be nested like `options[0].value`. + * For now, we won't try to unpack these nested options + * but we could in the future. + */ + var jsonSuppliedValue = JSON.stringify(props[_invalidPropPath], null, 2); + + if (jsonSuppliedValue) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])('\n', jsonSuppliedValue)) { + errorMessage += "\nValue provided: \n".concat(jsonSuppliedValue); + } else { + errorMessage += "\nValue provided: ".concat(jsonSuppliedValue); + } + } + } + } else { + /* + * Not aware of other prop type warning messages. + * But, if they exist, then at least throw the default + * react prop types error + */ + throw new Error(message); + } + + throw new Error(errorMessage); +} + +/***/ }), + +/***/ "./src/index.js": +/*!**********************!*\ + !*** ./src/index.js ***! + \**********************/ +/*! no exports provided */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _DashRenderer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DashRenderer */ "./src/DashRenderer.js"); + // make DashRenderer globally available + +window.DashRenderer = _DashRenderer__WEBPACK_IMPORTED_MODULE_0__["DashRenderer"]; + +/***/ }), + +/***/ "./src/isSimpleComponent.js": +/*!**********************************!*\ + !*** ./src/isSimpleComponent.js ***! + \**********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); + +var SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean']; +/* harmony default export */ __webpack_exports__["default"] = (function (component) { + return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(component), SIMPLE_COMPONENT_TYPES); +}); + +/***/ }), + +/***/ "./src/persistence.js": +/*!****************************!*\ + !*** ./src/persistence.js ***! + \****************************/ +/*! exports provided: storePrefix, stores, recordUiEdit, applyPersistence, prunePersistence */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "storePrefix", function() { return storePrefix; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "stores", function() { return stores; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recordUiEdit", function() { return recordUiEdit; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applyPersistence", function() { return applyPersistence; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prunePersistence", function() { return prunePersistence; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var redux_actions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-actions */ "./node_modules/redux-actions/es/index.js"); +/* harmony import */ var _registry__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./registry */ "./src/registry.js"); +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } + +function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +/** + * Generalized persistence for component props + * + * When users input new prop values, they can be stored and reapplied later, + * when the component is recreated (changing `Tab` for example) or when the + * page is reloaded (depending on `persistence_type`). Storage is tied to + * component ID, and the prop values will not be stored with components + * without an ID. + * + * Renderer handles the mechanics, but components must define a few props: + * + * - `persistence`: boolean, string, or number. For simple usage, set to `true` + * to enable persistence, omit or set `false` to disable. For more complex + * scenarios, use any truthy value, and change to a *different* truthy value + * when you want the persisted values cleared. (modeled off `uirevision` in) + * plotly.js + * Typically should have no default, but the other persistence props should + * have defaults, so all a user needs to do to enable persistence is set this + * one prop. + * + * - `persisted_props`: array of prop names or "nested prop IDs" allowed to + * persist. Normally should default to the full list of supported props, + * so they can all be enabled at once. The main exception to this is if + * there's a prop that *can* be persisted but most users wouldn't want this. + * A nested prop ID describes *part* of a prop to store. It must be + * "<propName>.<piece>" where propName is the prop that has this info, and + * piece may or may not map to the exact substructure being stored but is + * meaningful to the user. For example, in `dash_table`, `columns.name` + * stores `columns[i].name` for all columns `i`. Nested props also need + * entries in `persistenceTransforms` - see below. + * + * - `persistence_type`: one of "local", "session", or "memory", just like + * `dcc.Store`. But the default here should be "local" because the main use + * case is to maintain settings across reloads. + * + * If any `persisted_props` are nested prop IDs, the component should define a + * class property (not a React prop) `persistenceTransforms`, as an object: + * { + * [propName]: { + * [piece]: { + * extract: propValue => valueToStore, + * apply: (storedValue, propValue) => newPropValue + * } + * } + * } + * - `extract` turns a prop value into a reduced value to store. + * - `apply` puts an extracted value back into the prop. Make sure this creates + * a new object rather than mutating `proValue`, and that if there are + * multiple `piece` entries for one `propName`, their `apply` functions + * commute - which should not be an issue if they extract and apply + * non-intersecting parts of the full prop. + * You only need to define these for the props that need them. + * It's important that `extract` pulls out *only* the relevant pieces of the + * prop, because persistence is only maintained if the extracted value of the + * prop before applying persistence is the same as it was before the user's + * changes. + */ + + + +var storePrefix = '_dash_persistence.'; + +function err(e) { + var error = typeof e === 'string' ? new Error(e) : e; + return Object(redux_actions__WEBPACK_IMPORTED_MODULE_1__["createAction"])('ON_ERROR')({ + type: 'frontEnd', + error: error + }); +} +/* + * Does a key fit this prefix? Must either be an exact match + * or, if a separator is provided, a scoped match - exact prefix + * followed by the separator (then anything else) + */ + + +function keyPrefixMatch(prefix, separator) { + var fullStr = prefix + separator; + var fullLen = fullStr.length; + return function (key) { + return key === prefix || key.substr(0, fullLen) === fullStr; + }; +} + +var UNDEFINED = 'U'; + +var _parse = function _parse(val) { + return val === UNDEFINED ? undefined : JSON.parse(val || null); +}; + +var _stringify = function _stringify(val) { + return val === undefined ? UNDEFINED : JSON.stringify(val); +}; + +var WebStore = /*#__PURE__*/function () { + function WebStore(backEnd) { + _classCallCheck(this, WebStore); + + this._name = backEnd; + this._storage = window[backEnd]; + } + + _createClass(WebStore, [{ + key: "hasItem", + value: function hasItem(key) { + return this._storage.getItem(storePrefix + key) !== null; + } + }, { + key: "getItem", + value: function getItem(key) { + // note: _storage.getItem returns null on missing keys + // and JSON.parse(null) returns null as well + return _parse(this._storage.getItem(storePrefix + key)); + } + }, { + key: "_setItem", + value: function _setItem(key, value) { + // unprotected version of setItem, for use by tryGetWebStore + this._storage.setItem(storePrefix + key, _stringify(value)); + } + /* + * In addition to the regular key->value to set, setItem takes + * dispatch as a parameter, so it can report OOM to devtools + */ + + }, { + key: "setItem", + value: function setItem(key, value, dispatch) { + try { + this._setItem(key, value); + } catch (e) { + dispatch(err("".concat(key, " failed to save in ").concat(this._name, ". Persisted props may be lost."))); // TODO: at some point we may want to convert this to fall back + // on memory, pulling out all persistence keys and putting them + // in a MemStore that gets used from then onward. + } + } + }, { + key: "removeItem", + value: function removeItem(key) { + this._storage.removeItem(storePrefix + key); + } + /* + * clear matching keys matching (optionally followed by a dot and more + * characters) - or all keys associated with this store if no prefix. + */ + + }, { + key: "clear", + value: function clear(keyPrefix) { + var _this = this; + + var fullPrefix = storePrefix + (keyPrefix || ''); + var keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : ''); + var keysToRemove = []; // 2-step process, so we don't depend on any particular behavior of + // key order while removing some + + for (var i = 0; i < this._storage.length; i++) { + var fullKey = this._storage.key(i); + + if (keyMatch(fullKey)) { + keysToRemove.push(fullKey); + } + } + + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (k) { + return _this._storage.removeItem(k); + }, keysToRemove); + } + }]); + + return WebStore; +}(); + +var MemStore = /*#__PURE__*/function () { + function MemStore() { + _classCallCheck(this, MemStore); + + this._data = {}; + } + + _createClass(MemStore, [{ + key: "hasItem", + value: function hasItem(key) { + return key in this._data; + } + }, { + key: "getItem", + value: function getItem(key) { + // run this storage through JSON too so we know we get a fresh object + // each retrieval + return _parse(this._data[key]); + } + }, { + key: "setItem", + value: function setItem(key, value) { + this._data[key] = _stringify(value); + } + }, { + key: "removeItem", + value: function removeItem(key) { + delete this._data[key]; + } + }, { + key: "clear", + value: function clear(keyPrefix) { + var _this2 = this; + + if (keyPrefix) { + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (key) { + return delete _this2._data[key]; + }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(keyPrefixMatch(keyPrefix, '.'), Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(this._data))); + } else { + this._data = {}; + } + } + }]); + + return MemStore; +}(); // Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage. +// That should be plenty for common persistence use cases, +// without getting anywhere near typical browser limits + + +var pow = 16; + +function longString() { + var s = 'Spam'; + + for (var i = 2; i < pow; i++) { + s += s; + } + + return s; +} + +var stores = { + memory: new MemStore() // Defer testing & making local/session stores until requested. + // That way if we have errors here they can show up in devtools. + +}; +var backEnds = { + local: 'localStorage', + session: 'sessionStorage' +}; + +function tryGetWebStore(backEnd, dispatch) { + var store = new WebStore(backEnd); + var fallbackStore = stores.memory; + var storeTest = longString(); + var testKey = storePrefix + 'x.x'; + + try { + store._setItem(testKey, storeTest); + + if (store.getItem(testKey) !== storeTest) { + dispatch(err("".concat(backEnd, " init failed set/get, falling back to memory"))); + return fallbackStore; + } + + store.removeItem(testKey); + return store; + } catch (e) { + dispatch(err("".concat(backEnd, " init first try failed; clearing and retrying"))); + } + + try { + store.clear(); + + store._setItem(testKey, storeTest); + + if (store.getItem(testKey) !== storeTest) { + throw new Error('nope'); + } + + store.removeItem(testKey); + dispatch(err("".concat(backEnd, " init set/get succeeded after clearing!"))); + return store; + } catch (e) { + dispatch(err("".concat(backEnd, " init still failed, falling back to memory"))); + return fallbackStore; + } +} + +function getStore(type, dispatch) { + if (!stores[type]) { + stores[type] = tryGetWebStore(backEnds[type], dispatch); + } + + return stores[type]; +} + +var noopTransform = { + extract: function extract(propValue) { + return propValue; + }, + apply: function apply(storedValue, _propValue) { + return storedValue; + } +}; + +var getTransform = function getTransform(element, propName, propPart) { + return propPart ? element.persistenceTransforms[propName][propPart] : noopTransform; +}; + +var getValsKey = function getValsKey(id, persistedProp, persistence) { + return "".concat(id, ".").concat(persistedProp, ".").concat(JSON.stringify(persistence)); +}; + +var getProps = function getProps(layout) { + var props = layout.props, + type = layout.type, + namespace = layout.namespace; + + if (!type || !namespace) { + // not a real component - just need the props for recursion + return { + props: props + }; + } + + var id = props.id, + persistence = props.persistence; + var element = _registry__WEBPACK_IMPORTED_MODULE_2__["default"].resolve(layout); + + var getVal = function getVal(prop) { + return props[prop] || (element.defaultProps || {})[prop]; + }; + + var persisted_props = getVal('persisted_props'); + var persistence_type = getVal('persistence_type'); + var canPersist = id && persisted_props && persistence_type; + return { + canPersist: canPersist, + id: id, + props: props, + element: element, + persistence: persistence, + persisted_props: persisted_props, + persistence_type: persistence_type + }; +}; + +function recordUiEdit(layout, newProps, dispatch) { + var _getProps = getProps(layout), + canPersist = _getProps.canPersist, + id = _getProps.id, + props = _getProps.props, + element = _getProps.element, + persistence = _getProps.persistence, + persisted_props = _getProps.persisted_props, + persistence_type = _getProps.persistence_type; + + if (!canPersist || !persistence) { + return; + } + + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { + var _persistedProp$split = persistedProp.split('.'), + _persistedProp$split2 = _slicedToArray(_persistedProp$split, 2), + propName = _persistedProp$split2[0], + propPart = _persistedProp$split2[1]; + + if (newProps[propName] !== undefined) { + var storage = getStore(persistence_type, dispatch); + + var _getTransform = getTransform(element, propName, propPart), + extract = _getTransform.extract; + + var valsKey = getValsKey(id, persistedProp, persistence); + var originalVal = extract(props[propName]); + var newVal = extract(newProps[propName]); // mainly for nested props with multiple persisted parts, it's + // possible to have the same value as before - should not store + // in this case. + + if (originalVal !== newVal) { + if (storage.hasItem(valsKey)) { + originalVal = storage.getItem(valsKey)[1]; + } + + var vals = originalVal === undefined ? [newVal] : [newVal, originalVal]; + storage.setItem(valsKey, vals, dispatch); + } + } + }, persisted_props); +} +/* + * Used for entire layouts (on load) or partial layouts (from children + * callbacks) to apply previously-stored UI edits to components + */ + +function applyPersistence(layout, dispatch) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(layout) !== 'Object' || !layout.props) { + return layout; + } + + return persistenceMods(layout, layout, [], dispatch); +} +var UNDO = true; + +function modProp(key, storage, element, props, persistedProp, update, undo) { + if (storage.hasItem(key)) { + var _storage$getItem = storage.getItem(key), + _storage$getItem2 = _slicedToArray(_storage$getItem, 2), + newVal = _storage$getItem2[0], + originalVal = _storage$getItem2[1]; + + var fromVal = undo ? newVal : originalVal; + var toVal = undo ? originalVal : newVal; + + var _persistedProp$split3 = persistedProp.split('.'), + _persistedProp$split4 = _slicedToArray(_persistedProp$split3, 2), + propName = _persistedProp$split4[0], + propPart = _persistedProp$split4[1]; + + var transform = getTransform(element, propName, propPart); + + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["equals"])(fromVal, transform.extract(props[propName]))) { + update[propName] = transform.apply(toVal, propName in update ? update[propName] : props[propName]); + } else { + // clear this saved edit - we've started with the wrong + // value for this persistence ID + storage.removeItem(key); + } + } +} + +function persistenceMods(layout, component, path, dispatch) { + var _getProps2 = getProps(component), + canPersist = _getProps2.canPersist, + id = _getProps2.id, + props = _getProps2.props, + element = _getProps2.element, + persistence = _getProps2.persistence, + persisted_props = _getProps2.persisted_props, + persistence_type = _getProps2.persistence_type; + + var layoutOut = layout; + + if (canPersist && persistence) { + var storage = getStore(persistence_type, dispatch); + var update = {}; + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { + return modProp(getValsKey(id, persistedProp, persistence), storage, element, props, persistedProp, update); + }, persisted_props); + + for (var propName in update) { + layoutOut = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["set"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(path.concat('props', propName)), update[propName], layoutOut); + } + } // recurse inward + + + var children = props.children; + + if (Array.isArray(children)) { + children.forEach(function (child, i) { + if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(child) === 'Object' && child.props) { + layoutOut = persistenceMods(layoutOut, child, path.concat('props', 'children', i), dispatch); + } + }); + } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["type"])(children) === 'Object' && children.props) { + layoutOut = persistenceMods(layoutOut, children, path.concat('props', 'children'), dispatch); + } + + return layoutOut; +} +/* + * When we receive new explicit props from a callback, + * these override UI-driven edits of those exact props + * but not for props nested inside children + */ + + +function prunePersistence(layout, newProps, dispatch) { + var _getProps3 = getProps(layout), + canPersist = _getProps3.canPersist, + id = _getProps3.id, + props = _getProps3.props, + persistence = _getProps3.persistence, + persisted_props = _getProps3.persisted_props, + persistence_type = _getProps3.persistence_type, + element = _getProps3.element; + + var getFinal = function getFinal(propName, prevVal) { + return propName in newProps ? newProps[propName] : prevVal; + }; + + var finalPersistence = getFinal('persistence', persistence); + + if (!canPersist || !(persistence || finalPersistence)) { + return newProps; + } + + var finalPersistenceType = getFinal('persistence_type', persistence_type); + var finalPersistedProps = getFinal('persisted_props', persisted_props); + var persistenceChanged = finalPersistence !== persistence || finalPersistenceType !== persistence_type || finalPersistedProps !== persisted_props; + + var notInNewProps = function notInNewProps(persistedProp) { + return !(persistedProp.split('.')[0] in newProps); + }; + + var update = {}; + var depersistedProps = props; + + if (persistenceChanged && persistence) { + // clear previously-applied persistence + var storage = getStore(persistence_type, dispatch); + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { + return modProp(getValsKey(id, persistedProp, persistence), storage, element, props, persistedProp, update, UNDO); + }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(notInNewProps, persisted_props)); + depersistedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(props, update); + } + + if (finalPersistence) { + var finalStorage = getStore(finalPersistenceType, dispatch); + + if (persistenceChanged) { + // apply new persistence + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (persistedProp) { + return modProp(getValsKey(id, persistedProp, finalPersistence), finalStorage, element, depersistedProps, persistedProp, update); + }, Object(ramda__WEBPACK_IMPORTED_MODULE_0__["filter"])(notInNewProps, finalPersistedProps)); + } // now the main point - clear any edit of a prop that changed + // note that this is independent of the new prop value. + + + var transforms = element.persistenceTransforms || {}; + + for (var propName in newProps) { + var propTransforms = transforms[propName]; + + if (propTransforms) { + for (var propPart in propTransforms) { + finalStorage.removeItem(getValsKey(id, "".concat(propName, ".").concat(propPart), finalPersistence)); + } + } else { + finalStorage.removeItem(getValsKey(id, propName, finalPersistence)); + } + } + } + + return persistenceChanged ? Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(newProps, update) : newProps; +} + +/***/ }), + +/***/ "./src/reducers/api.js": +/*!*****************************!*\ + !*** ./src/reducers/api.js ***! + \*****************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return createApiReducer; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); + +function createApiReducer(store) { + return function ApiReducer() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var action = arguments.length > 1 ? arguments[1] : undefined; + var newState = state; + + if (action.type === store) { + var _action$payload = action.payload, + id = _action$payload.id, + status = _action$payload.status, + content = _action$payload.content; + var newRequest = { + status: status, + content: content + }; + + if (Array.isArray(id)) { + newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assocPath"])(id, newRequest, state); + } else if (id) { + newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assoc"])(id, newRequest, state); + } else { + newState = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(state, newRequest); + } + } + + return newState; + }; +} + +/***/ }), + +/***/ "./src/reducers/appLifecycle.js": +/*!**************************************!*\ + !*** ./src/reducers/appLifecycle.js ***! + \**************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); +/* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./constants */ "./src/reducers/constants.js"); + + + +function appLifecycle() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Object(_constants__WEBPACK_IMPORTED_MODULE_1__["getAppState"])('STARTED'); + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case Object(_actions_constants__WEBPACK_IMPORTED_MODULE_0__["getAction"])('SET_APP_LIFECYCLE'): + return Object(_constants__WEBPACK_IMPORTED_MODULE_1__["getAppState"])(action.payload); + + default: + return state; + } +} + +/* harmony default export */ __webpack_exports__["default"] = (appLifecycle); + +/***/ }), + +/***/ "./src/reducers/config.js": +/*!********************************!*\ + !*** ./src/reducers/config.js ***! + \********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return config; }); +/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); + +function config() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; + var action = arguments.length > 1 ? arguments[1] : undefined; + + if (action.type === Object(_actions_constants__WEBPACK_IMPORTED_MODULE_0__["getAction"])('SET_CONFIG')) { + return action.payload; + } + + return state; +} + +/***/ }), + +/***/ "./src/reducers/constants.js": +/*!***********************************!*\ + !*** ./src/reducers/constants.js ***! + \***********************************/ +/*! exports provided: getAppState */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getAppState", function() { return getAppState; }); +function getAppState(state) { + var stateList = { + STARTED: 'STARTED', + HYDRATED: 'HYDRATED' + }; + + if (stateList[state]) { + return stateList[state]; + } + + throw new Error("".concat(state, " is not a valid app state.")); +} + +/***/ }), + +/***/ "./src/reducers/dependencyGraph.js": +/*!*****************************************!*\ + !*** ./src/reducers/dependencyGraph.js ***! + \*****************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var initialGraph = {}; + +var graphs = function graphs() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialGraph; + var action = arguments.length > 1 ? arguments[1] : undefined; + + if (action.type === 'SET_GRAPHS') { + return action.payload; + } + + return state; +}; + +/* harmony default export */ __webpack_exports__["default"] = (graphs); + +/***/ }), + +/***/ "./src/reducers/error.js": +/*!*******************************!*\ + !*** ./src/reducers/error.js ***! + \*******************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return error; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + +var initialError = { + frontEnd: [], + backEnd: [] +}; +function error() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialError; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case 'ON_ERROR': + { + // log errors to the console for stack tracing and so they're + // available even with debugging off + + /* eslint-disable-next-line no-console */ + console.error(action.payload.error); + + if (action.payload.type === 'frontEnd') { + return { + frontEnd: [Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(action.payload, { + timestamp: new Date() + })].concat(_toConsumableArray(state.frontEnd)), + backEnd: state.backEnd + }; + } else if (action.payload.type === 'backEnd') { + return { + frontEnd: state.frontEnd, + backEnd: [Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(action.payload, { + timestamp: new Date() + })].concat(_toConsumableArray(state.backEnd)) + }; + } + + return state; + } + + default: + { + return state; + } + } +} + +/***/ }), + +/***/ "./src/reducers/history.js": +/*!*********************************!*\ + !*** ./src/reducers/history.js ***! + \*********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + +var initialHistory = { + past: [], + present: {}, + future: [] +}; + +function history() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialHistory; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case 'UNDO': + { + var past = state.past, + present = state.present, + future = state.future; + var previous = past[past.length - 1]; + var newPast = past.slice(0, past.length - 1); + return { + past: newPast, + present: previous, + future: [present].concat(_toConsumableArray(future)) + }; + } + + case 'REDO': + { + var _past = state.past, + _present = state.present, + _future = state.future; + var next = _future[0]; + + var newFuture = _future.slice(1); + + return { + past: [].concat(_toConsumableArray(_past), [_present]), + present: next, + future: newFuture + }; + } + + case 'REVERT': + { + var _past2 = state.past, + _future2 = state.future; + var _previous = _past2[_past2.length - 1]; + + var _newPast = _past2.slice(0, _past2.length - 1); + + return { + past: _newPast, + present: _previous, + future: _toConsumableArray(_future2) + }; + } + + default: + { + return state; + } + } +} + +/* harmony default export */ __webpack_exports__["default"] = (history); + +/***/ }), + +/***/ "./src/reducers/hooks.js": +/*!*******************************!*\ + !*** ./src/reducers/hooks.js ***! + \*******************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var customHooks = function customHooks() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { + request_pre: null, + request_post: null, + bear: false + }; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case 'SET_HOOKS': + return action.payload; + + default: + return state; + } +}; + +/* harmony default export */ __webpack_exports__["default"] = (customHooks); + +/***/ }), + +/***/ "./src/reducers/layout.js": +/*!********************************!*\ + !*** ./src/reducers/layout.js ***! + \********************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); + + + +var layout = function layout() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var action = arguments.length > 1 ? arguments[1] : undefined; + + if (action.type === Object(_actions_constants__WEBPACK_IMPORTED_MODULE_1__["getAction"])('SET_LAYOUT')) { + return action.payload; + } else if (Object(ramda__WEBPACK_IMPORTED_MODULE_0__["includes"])(action.type, ['UNDO_PROP_CHANGE', 'REDO_PROP_CHANGE', Object(_actions_constants__WEBPACK_IMPORTED_MODULE_1__["getAction"])('ON_PROP_CHANGE')])) { + var propPath = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["append"])('props', action.payload.itempath); + var existingProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["view"])(Object(ramda__WEBPACK_IMPORTED_MODULE_0__["lensPath"])(propPath), state); + var mergedProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["mergeRight"])(existingProps, action.payload.props); + return Object(ramda__WEBPACK_IMPORTED_MODULE_0__["assocPath"])(propPath, mergedProps, state); + } + + return state; +}; + +/* harmony default export */ __webpack_exports__["default"] = (layout); + +/***/ }), + +/***/ "./src/reducers/paths.js": +/*!*******************************!*\ + !*** ./src/reducers/paths.js ***! + \*******************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _actions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../actions/constants */ "./src/actions/constants.js"); + +var initialPaths = { + strs: {}, + objs: {} +}; + +var paths = function paths() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialPaths; + var action = arguments.length > 1 ? arguments[1] : undefined; + + if (action.type === Object(_actions_constants__WEBPACK_IMPORTED_MODULE_0__["getAction"])('SET_PATHS')) { + return action.payload; + } + + return state; +}; + +/* harmony default export */ __webpack_exports__["default"] = (paths); + +/***/ }), + +/***/ "./src/reducers/pendingCallbacks.js": +/*!******************************************!*\ + !*** ./src/reducers/pendingCallbacks.js ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +var pendingCallbacks = function pendingCallbacks() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; + var action = arguments.length > 1 ? arguments[1] : undefined; + + switch (action.type) { + case 'SET_PENDING_CALLBACKS': + return action.payload; + + default: + return state; + } +}; + +/* harmony default export */ __webpack_exports__["default"] = (pendingCallbacks); + +/***/ }), + +/***/ "./src/reducers/reducer.js": +/*!*********************************!*\ + !*** ./src/reducers/reducer.js ***! + \*********************************/ +/*! exports provided: apiRequests, createReducer */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "apiRequests", function() { return apiRequests; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createReducer", function() { return createReducer; }); +/* harmony import */ var ramda__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ramda */ "./node_modules/ramda/es/index.js"); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var _actions_dependencies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../actions/dependencies */ "./src/actions/dependencies.js"); +/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./layout */ "./src/reducers/layout.js"); +/* harmony import */ var _dependencyGraph__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./dependencyGraph */ "./src/reducers/dependencyGraph.js"); +/* harmony import */ var _paths__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./paths */ "./src/reducers/paths.js"); +/* harmony import */ var _pendingCallbacks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./pendingCallbacks */ "./src/reducers/pendingCallbacks.js"); +/* harmony import */ var _appLifecycle__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./appLifecycle */ "./src/reducers/appLifecycle.js"); +/* harmony import */ var _history__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./history */ "./src/reducers/history.js"); +/* harmony import */ var _error__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./error */ "./src/reducers/error.js"); +/* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./hooks */ "./src/reducers/hooks.js"); +/* harmony import */ var _api__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./api */ "./src/reducers/api.js"); +/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./config */ "./src/reducers/config.js"); +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + +function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + + + + + + + + + + + + + +var apiRequests = ['dependenciesRequest', 'layoutRequest', 'reloadRequest', 'loginRequest']; + +function mainReducer() { + var parts = { + appLifecycle: _appLifecycle__WEBPACK_IMPORTED_MODULE_7__["default"], + layout: _layout__WEBPACK_IMPORTED_MODULE_3__["default"], + graphs: _dependencyGraph__WEBPACK_IMPORTED_MODULE_4__["default"], + paths: _paths__WEBPACK_IMPORTED_MODULE_5__["default"], + pendingCallbacks: _pendingCallbacks__WEBPACK_IMPORTED_MODULE_6__["default"], + config: _config__WEBPACK_IMPORTED_MODULE_12__["default"], + history: _history__WEBPACK_IMPORTED_MODULE_8__["default"], + error: _error__WEBPACK_IMPORTED_MODULE_9__["default"], + hooks: _hooks__WEBPACK_IMPORTED_MODULE_10__["default"] + }; + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["forEach"])(function (r) { + parts[r] = Object(_api__WEBPACK_IMPORTED_MODULE_11__["default"])(r); + }, apiRequests); + return Object(redux__WEBPACK_IMPORTED_MODULE_1__["combineReducers"])(parts); +} + +function getInputHistoryState(itempath, props, state) { + var graphs = state.graphs, + layout = state.layout, + paths = state.paths; + var idProps = Object(ramda__WEBPACK_IMPORTED_MODULE_0__["path"])(itempath.concat(['props']), layout); + + var _ref = idProps || {}, + id = _ref.id; + + var historyEntry; + + if (id) { + historyEntry = { + id: id, + props: {} + }; + Object(ramda__WEBPACK_IMPORTED_MODULE_0__["keys"])(props).forEach(function (propKey) { + if (Object(_actions_dependencies__WEBPACK_IMPORTED_MODULE_2__["getCallbacksByInput"])(graphs, paths, id, propKey).length) { + historyEntry.props[propKey] = idProps[propKey]; + } + }); + } + + return historyEntry; +} + +function recordHistory(reducer) { + return function (state, action) { + // Record initial state + if (action.type === 'ON_PROP_CHANGE') { + var _action$payload = action.payload, + itempath = _action$payload.itempath, + props = _action$payload.props; + var historyEntry = getInputHistoryState(itempath, props, state); + + if (historyEntry && !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(historyEntry.props)) { + state.history.present = historyEntry; + } + } + + var nextState = reducer(state, action); + + if (action.type === 'ON_PROP_CHANGE' && action.payload.source !== 'response') { + var _action$payload2 = action.payload, + _itempath = _action$payload2.itempath, + _props = _action$payload2.props; + /* + * if the prop change is an input, then + * record it so that it can be played back + */ + + var _historyEntry = getInputHistoryState(_itempath, _props, nextState); + + if (_historyEntry && !Object(ramda__WEBPACK_IMPORTED_MODULE_0__["isEmpty"])(_historyEntry.props)) { + nextState.history = { + past: [].concat(_toConsumableArray(nextState.history.past), [state.history.present]), + present: _historyEntry, + future: [] + }; + } + } + + return nextState; + }; +} + +function reloaderReducer(reducer) { + return function (state, action) { + var _ref2 = state || {}, + history = _ref2.history, + config = _ref2.config, + hooks = _ref2.hooks; + + var newState = state; + + if (action.type === 'RELOAD') { + newState = { + history: history, + config: config, + hooks: hooks + }; + } else if (action.type === 'SET_CONFIG') { + // new config also reloads, and even clears history, + // in case there's a new user or even a totally different app! + // hooks are set at an even higher level than config though. + newState = { + hooks: hooks + }; + } + + return reducer(newState, action); + }; +} + +function createReducer() { + return reloaderReducer(recordHistory(mainReducer())); +} + +/***/ }), + +/***/ "./src/registry.js": +/*!*************************!*\ + !*** ./src/registry.js ***! + \*************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony default export */ __webpack_exports__["default"] = ({ + resolve: function resolve(component) { + var type = component.type, + namespace = component.namespace; + var ns = window[namespace]; + + if (ns) { + if (ns[type]) { + return ns[type]; + } + + throw new Error("Component ".concat(type, " not found in ").concat(namespace)); + } + + throw new Error("".concat(namespace, " was not found.")); + } +}); + +/***/ }), + +/***/ "./src/store.js": +/*!**********************!*\ + !*** ./src/store.js ***! + \**********************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var redux__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); +/* harmony import */ var redux_thunk__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! redux-thunk */ "./node_modules/redux-thunk/es/index.js"); +/* harmony import */ var _reducers_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./reducers/reducer */ "./src/reducers/reducer.js"); + + + +var store; +/** + * Initialize a Redux store with thunk, plus logging (only in development mode) middleware + * + * @param {bool} reset: discard any previous store + * + * @returns {Store<GenericStoreEnhancer>} + * An initialized redux store with middleware and possible hot reloading of reducers + */ + +var initializeStore = function initializeStore(reset) { + if (store && !reset) { + return store; + } + + var reducer = Object(_reducers_reducer__WEBPACK_IMPORTED_MODULE_2__["createReducer"])(); // eslint-disable-next-line no-process-env + + if (false) {} else { + // only attach logger to middleware in non-production mode + var reduxDTEC = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__; + + if (reduxDTEC) { + store = Object(redux__WEBPACK_IMPORTED_MODULE_0__["createStore"])(reducer, reduxDTEC(Object(redux__WEBPACK_IMPORTED_MODULE_0__["applyMiddleware"])(redux_thunk__WEBPACK_IMPORTED_MODULE_1__["default"]))); + } else { + store = Object(redux__WEBPACK_IMPORTED_MODULE_0__["createStore"])(reducer, Object(redux__WEBPACK_IMPORTED_MODULE_0__["applyMiddleware"])(redux_thunk__WEBPACK_IMPORTED_MODULE_1__["default"])); + } + } + + if (!reset) { + // TODO - Protect this under a debug mode? + window.store = store; + } + + if (false) {} + + return store; +}; + +/* harmony default export */ __webpack_exports__["default"] = (initializeStore); + +/***/ }), + +/***/ 0: +/*!*****************************************!*\ + !*** multi whatwg-fetch ./src/index.js ***! + \*****************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +__webpack_require__(/*! whatwg-fetch */"./node_modules/whatwg-fetch/fetch.js"); +module.exports = __webpack_require__(/*! ./src/index.js */"./src/index.js"); + + +/***/ }), + +/***/ 1: +/*!********************!*\ + !*** fs (ignored) ***! + \********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +/* (ignored) */ + +/***/ }), + +/***/ 2: +/*!**********************!*\ + !*** path (ignored) ***! + \**********************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +/* (ignored) */ + +/***/ }), + +/***/ 3: +/*!************************!*\ + !*** crypto (ignored) ***! + \************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +/* (ignored) */ + +/***/ }), + +/***/ "prop-types": +/*!****************************!*\ + !*** external "PropTypes" ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +(function() { module.exports = window["PropTypes"]; }()); + +/***/ }), + +/***/ "react": +/*!************************!*\ + !*** external "React" ***! + \************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +(function() { module.exports = window["React"]; }()); + +/***/ }), + +/***/ "react-dom": +/*!***************************!*\ + !*** external "ReactDOM" ***! + \***************************/ +/*! no static exports found */ +/***/ (function(module, exports) { + +(function() { module.exports = window["ReactDOM"]; }()); + +/***/ }) + +/******/ }); \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js.map b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js.map new file mode 100644 index 00000000..82687f06 --- /dev/null +++ b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.dev.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://dash_renderer/webpack/bootstrap","webpack://dash_renderer/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://dash_renderer/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://dash_renderer/./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack://dash_renderer/./node_modules/base64-js/index.js","webpack://dash_renderer/./node_modules/bowser/src/bowser.js","webpack://dash_renderer/./node_modules/buffer/index.js","webpack://dash_renderer/./node_modules/cookie/index.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.css","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.css","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.css","webpack://dash_renderer/./src/components/error/Percy.css","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.css","webpack://dash_renderer/./src/components/error/menu/DebugMenu.css","webpack://dash_renderer/./node_modules/css-loader/dist/runtime/api.js","webpack://dash_renderer/./node_modules/dependency-graph/lib/dep_graph.js","webpack://dash_renderer/./node_modules/exenv/index.js","webpack://dash_renderer/./node_modules/fast-isnumeric/index.js","webpack://dash_renderer/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://dash_renderer/./node_modules/hyphenate-style-name/index.js","webpack://dash_renderer/./node_modules/ieee754/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/transition.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/transition.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/capitalizeString.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getBrowserInformation.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedValue.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/isObject.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixProperty.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixValue.js","webpack://dash_renderer/./node_modules/invariant/browser.js","webpack://dash_renderer/./node_modules/is-string-blank/index.js","webpack://dash_renderer/./node_modules/isarray/index.js","webpack://dash_renderer/./node_modules/just-curry-it/index.js","webpack://dash_renderer/./node_modules/process/browser.js","webpack://dash_renderer/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://dash_renderer/./node_modules/radium/es/append-important-to-each-value.js","webpack://dash_renderer/./node_modules/radium/es/append-px-if-needed.js","webpack://dash_renderer/./node_modules/radium/es/camel-case-props-to-dash-case.js","webpack://dash_renderer/./node_modules/radium/es/clean-state-key.js","webpack://dash_renderer/./node_modules/radium/es/components/style-root.js","webpack://dash_renderer/./node_modules/radium/es/components/style-sheet.js","webpack://dash_renderer/./node_modules/radium/es/components/style.js","webpack://dash_renderer/./node_modules/radium/es/context.js","webpack://dash_renderer/./node_modules/radium/es/css-rule-set-to-string.js","webpack://dash_renderer/./node_modules/radium/es/enhancer.js","webpack://dash_renderer/./node_modules/radium/es/get-radium-style-state.js","webpack://dash_renderer/./node_modules/radium/es/get-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-state.js","webpack://dash_renderer/./node_modules/radium/es/hash.js","webpack://dash_renderer/./node_modules/radium/es/index.js","webpack://dash_renderer/./node_modules/radium/es/keyframes.js","webpack://dash_renderer/./node_modules/radium/es/map-object.js","webpack://dash_renderer/./node_modules/radium/es/merge-styles.js","webpack://dash_renderer/./node_modules/radium/es/plugins/check-props-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/index.js","webpack://dash_renderer/./node_modules/radium/es/plugins/keyframes-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/merge-style-array-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/mouse-up-listener.js","webpack://dash_renderer/./node_modules/radium/es/plugins/prefix-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/remove-nested-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-media-queries-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/visited-plugin.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/dynamic.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/static.js","webpack://dash_renderer/./node_modules/radium/es/prefixer.js","webpack://dash_renderer/./node_modules/radium/es/resolve-styles.js","webpack://dash_renderer/./node_modules/radium/es/style-keeper.js","webpack://dash_renderer/./node_modules/ramda/es/F.js","webpack://dash_renderer/./node_modules/ramda/es/T.js","webpack://dash_renderer/./node_modules/ramda/es/__.js","webpack://dash_renderer/./node_modules/ramda/es/add.js","webpack://dash_renderer/./node_modules/ramda/es/addIndex.js","webpack://dash_renderer/./node_modules/ramda/es/adjust.js","webpack://dash_renderer/./node_modules/ramda/es/all.js","webpack://dash_renderer/./node_modules/ramda/es/allPass.js","webpack://dash_renderer/./node_modules/ramda/es/always.js","webpack://dash_renderer/./node_modules/ramda/es/and.js","webpack://dash_renderer/./node_modules/ramda/es/andThen.js","webpack://dash_renderer/./node_modules/ramda/es/any.js","webpack://dash_renderer/./node_modules/ramda/es/anyPass.js","webpack://dash_renderer/./node_modules/ramda/es/ap.js","webpack://dash_renderer/./node_modules/ramda/es/aperture.js","webpack://dash_renderer/./node_modules/ramda/es/append.js","webpack://dash_renderer/./node_modules/ramda/es/apply.js","webpack://dash_renderer/./node_modules/ramda/es/applySpec.js","webpack://dash_renderer/./node_modules/ramda/es/applyTo.js","webpack://dash_renderer/./node_modules/ramda/es/ascend.js","webpack://dash_renderer/./node_modules/ramda/es/assoc.js","webpack://dash_renderer/./node_modules/ramda/es/assocPath.js","webpack://dash_renderer/./node_modules/ramda/es/binary.js","webpack://dash_renderer/./node_modules/ramda/es/bind.js","webpack://dash_renderer/./node_modules/ramda/es/both.js","webpack://dash_renderer/./node_modules/ramda/es/call.js","webpack://dash_renderer/./node_modules/ramda/es/chain.js","webpack://dash_renderer/./node_modules/ramda/es/clamp.js","webpack://dash_renderer/./node_modules/ramda/es/clone.js","webpack://dash_renderer/./node_modules/ramda/es/comparator.js","webpack://dash_renderer/./node_modules/ramda/es/complement.js","webpack://dash_renderer/./node_modules/ramda/es/compose.js","webpack://dash_renderer/./node_modules/ramda/es/composeK.js","webpack://dash_renderer/./node_modules/ramda/es/composeP.js","webpack://dash_renderer/./node_modules/ramda/es/composeWith.js","webpack://dash_renderer/./node_modules/ramda/es/concat.js","webpack://dash_renderer/./node_modules/ramda/es/cond.js","webpack://dash_renderer/./node_modules/ramda/es/construct.js","webpack://dash_renderer/./node_modules/ramda/es/constructN.js","webpack://dash_renderer/./node_modules/ramda/es/contains.js","webpack://dash_renderer/./node_modules/ramda/es/converge.js","webpack://dash_renderer/./node_modules/ramda/es/countBy.js","webpack://dash_renderer/./node_modules/ramda/es/curry.js","webpack://dash_renderer/./node_modules/ramda/es/curryN.js","webpack://dash_renderer/./node_modules/ramda/es/dec.js","webpack://dash_renderer/./node_modules/ramda/es/defaultTo.js","webpack://dash_renderer/./node_modules/ramda/es/descend.js","webpack://dash_renderer/./node_modules/ramda/es/difference.js","webpack://dash_renderer/./node_modules/ramda/es/differenceWith.js","webpack://dash_renderer/./node_modules/ramda/es/dissoc.js","webpack://dash_renderer/./node_modules/ramda/es/dissocPath.js","webpack://dash_renderer/./node_modules/ramda/es/divide.js","webpack://dash_renderer/./node_modules/ramda/es/drop.js","webpack://dash_renderer/./node_modules/ramda/es/dropLast.js","webpack://dash_renderer/./node_modules/ramda/es/dropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/dropRepeats.js","webpack://dash_renderer/./node_modules/ramda/es/dropRepeatsWith.js","webpack://dash_renderer/./node_modules/ramda/es/dropWhile.js","webpack://dash_renderer/./node_modules/ramda/es/either.js","webpack://dash_renderer/./node_modules/ramda/es/empty.js","webpack://dash_renderer/./node_modules/ramda/es/endsWith.js","webpack://dash_renderer/./node_modules/ramda/es/eqBy.js","webpack://dash_renderer/./node_modules/ramda/es/eqProps.js","webpack://dash_renderer/./node_modules/ramda/es/equals.js","webpack://dash_renderer/./node_modules/ramda/es/evolve.js","webpack://dash_renderer/./node_modules/ramda/es/filter.js","webpack://dash_renderer/./node_modules/ramda/es/find.js","webpack://dash_renderer/./node_modules/ramda/es/findIndex.js","webpack://dash_renderer/./node_modules/ramda/es/findLast.js","webpack://dash_renderer/./node_modules/ramda/es/findLastIndex.js","webpack://dash_renderer/./node_modules/ramda/es/flatten.js","webpack://dash_renderer/./node_modules/ramda/es/flip.js","webpack://dash_renderer/./node_modules/ramda/es/forEach.js","webpack://dash_renderer/./node_modules/ramda/es/forEachObjIndexed.js","webpack://dash_renderer/./node_modules/ramda/es/fromPairs.js","webpack://dash_renderer/./node_modules/ramda/es/groupBy.js","webpack://dash_renderer/./node_modules/ramda/es/groupWith.js","webpack://dash_renderer/./node_modules/ramda/es/gt.js","webpack://dash_renderer/./node_modules/ramda/es/gte.js","webpack://dash_renderer/./node_modules/ramda/es/has.js","webpack://dash_renderer/./node_modules/ramda/es/hasIn.js","webpack://dash_renderer/./node_modules/ramda/es/hasPath.js","webpack://dash_renderer/./node_modules/ramda/es/head.js","webpack://dash_renderer/./node_modules/ramda/es/identical.js","webpack://dash_renderer/./node_modules/ramda/es/identity.js","webpack://dash_renderer/./node_modules/ramda/es/ifElse.js","webpack://dash_renderer/./node_modules/ramda/es/inc.js","webpack://dash_renderer/./node_modules/ramda/es/includes.js","webpack://dash_renderer/./node_modules/ramda/es/index.js","webpack://dash_renderer/./node_modules/ramda/es/indexBy.js","webpack://dash_renderer/./node_modules/ramda/es/indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/init.js","webpack://dash_renderer/./node_modules/ramda/es/innerJoin.js","webpack://dash_renderer/./node_modules/ramda/es/insert.js","webpack://dash_renderer/./node_modules/ramda/es/insertAll.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_Set.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_aperture.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arity.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_assertPromise.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_checkForMethod.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_clone.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_cloneRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_complement.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_concat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_createPartialApplicator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry1.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry2.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry3.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curryN.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dispatchable.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dropLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_equals.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_filter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_flatCat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_forceReduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_functionName.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_has.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_identity.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includesWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArguments.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArray.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isFunction.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isInteger.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isNumber.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isObject.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isTransformer.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_makeFlat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_map.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectAssign.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectIs.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_of.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_pipe.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_pipeP.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_quote.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduce.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_stepCat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toISOString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xall.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xany.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xaperture.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xchain.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdrop.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropRepeatsWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xdropWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfBase.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfilter.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfind.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindIndex.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindLast.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfindLastIndex.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xmap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xreduceBy.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtake.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtakeWhile.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xwrap.js","webpack://dash_renderer/./node_modules/ramda/es/intersection.js","webpack://dash_renderer/./node_modules/ramda/es/intersperse.js","webpack://dash_renderer/./node_modules/ramda/es/into.js","webpack://dash_renderer/./node_modules/ramda/es/invert.js","webpack://dash_renderer/./node_modules/ramda/es/invertObj.js","webpack://dash_renderer/./node_modules/ramda/es/invoker.js","webpack://dash_renderer/./node_modules/ramda/es/is.js","webpack://dash_renderer/./node_modules/ramda/es/isEmpty.js","webpack://dash_renderer/./node_modules/ramda/es/isNil.js","webpack://dash_renderer/./node_modules/ramda/es/join.js","webpack://dash_renderer/./node_modules/ramda/es/juxt.js","webpack://dash_renderer/./node_modules/ramda/es/keys.js","webpack://dash_renderer/./node_modules/ramda/es/keysIn.js","webpack://dash_renderer/./node_modules/ramda/es/last.js","webpack://dash_renderer/./node_modules/ramda/es/lastIndexOf.js","webpack://dash_renderer/./node_modules/ramda/es/length.js","webpack://dash_renderer/./node_modules/ramda/es/lens.js","webpack://dash_renderer/./node_modules/ramda/es/lensIndex.js","webpack://dash_renderer/./node_modules/ramda/es/lensPath.js","webpack://dash_renderer/./node_modules/ramda/es/lensProp.js","webpack://dash_renderer/./node_modules/ramda/es/lift.js","webpack://dash_renderer/./node_modules/ramda/es/liftN.js","webpack://dash_renderer/./node_modules/ramda/es/lt.js","webpack://dash_renderer/./node_modules/ramda/es/lte.js","webpack://dash_renderer/./node_modules/ramda/es/map.js","webpack://dash_renderer/./node_modules/ramda/es/mapAccum.js","webpack://dash_renderer/./node_modules/ramda/es/mapAccumRight.js","webpack://dash_renderer/./node_modules/ramda/es/mapObjIndexed.js","webpack://dash_renderer/./node_modules/ramda/es/match.js","webpack://dash_renderer/./node_modules/ramda/es/mathMod.js","webpack://dash_renderer/./node_modules/ramda/es/max.js","webpack://dash_renderer/./node_modules/ramda/es/maxBy.js","webpack://dash_renderer/./node_modules/ramda/es/mean.js","webpack://dash_renderer/./node_modules/ramda/es/median.js","webpack://dash_renderer/./node_modules/ramda/es/memoizeWith.js","webpack://dash_renderer/./node_modules/ramda/es/merge.js","webpack://dash_renderer/./node_modules/ramda/es/mergeAll.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepLeft.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepRight.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWith.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeLeft.js","webpack://dash_renderer/./node_modules/ramda/es/mergeRight.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWith.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/min.js","webpack://dash_renderer/./node_modules/ramda/es/minBy.js","webpack://dash_renderer/./node_modules/ramda/es/modulo.js","webpack://dash_renderer/./node_modules/ramda/es/move.js","webpack://dash_renderer/./node_modules/ramda/es/multiply.js","webpack://dash_renderer/./node_modules/ramda/es/nAry.js","webpack://dash_renderer/./node_modules/ramda/es/negate.js","webpack://dash_renderer/./node_modules/ramda/es/none.js","webpack://dash_renderer/./node_modules/ramda/es/not.js","webpack://dash_renderer/./node_modules/ramda/es/nth.js","webpack://dash_renderer/./node_modules/ramda/es/nthArg.js","webpack://dash_renderer/./node_modules/ramda/es/o.js","webpack://dash_renderer/./node_modules/ramda/es/objOf.js","webpack://dash_renderer/./node_modules/ramda/es/of.js","webpack://dash_renderer/./node_modules/ramda/es/omit.js","webpack://dash_renderer/./node_modules/ramda/es/once.js","webpack://dash_renderer/./node_modules/ramda/es/or.js","webpack://dash_renderer/./node_modules/ramda/es/otherwise.js","webpack://dash_renderer/./node_modules/ramda/es/over.js","webpack://dash_renderer/./node_modules/ramda/es/pair.js","webpack://dash_renderer/./node_modules/ramda/es/partial.js","webpack://dash_renderer/./node_modules/ramda/es/partialRight.js","webpack://dash_renderer/./node_modules/ramda/es/partition.js","webpack://dash_renderer/./node_modules/ramda/es/path.js","webpack://dash_renderer/./node_modules/ramda/es/pathEq.js","webpack://dash_renderer/./node_modules/ramda/es/pathOr.js","webpack://dash_renderer/./node_modules/ramda/es/pathSatisfies.js","webpack://dash_renderer/./node_modules/ramda/es/paths.js","webpack://dash_renderer/./node_modules/ramda/es/pick.js","webpack://dash_renderer/./node_modules/ramda/es/pickAll.js","webpack://dash_renderer/./node_modules/ramda/es/pickBy.js","webpack://dash_renderer/./node_modules/ramda/es/pipe.js","webpack://dash_renderer/./node_modules/ramda/es/pipeK.js","webpack://dash_renderer/./node_modules/ramda/es/pipeP.js","webpack://dash_renderer/./node_modules/ramda/es/pipeWith.js","webpack://dash_renderer/./node_modules/ramda/es/pluck.js","webpack://dash_renderer/./node_modules/ramda/es/prepend.js","webpack://dash_renderer/./node_modules/ramda/es/product.js","webpack://dash_renderer/./node_modules/ramda/es/project.js","webpack://dash_renderer/./node_modules/ramda/es/prop.js","webpack://dash_renderer/./node_modules/ramda/es/propEq.js","webpack://dash_renderer/./node_modules/ramda/es/propIs.js","webpack://dash_renderer/./node_modules/ramda/es/propOr.js","webpack://dash_renderer/./node_modules/ramda/es/propSatisfies.js","webpack://dash_renderer/./node_modules/ramda/es/props.js","webpack://dash_renderer/./node_modules/ramda/es/range.js","webpack://dash_renderer/./node_modules/ramda/es/reduce.js","webpack://dash_renderer/./node_modules/ramda/es/reduceBy.js","webpack://dash_renderer/./node_modules/ramda/es/reduceRight.js","webpack://dash_renderer/./node_modules/ramda/es/reduceWhile.js","webpack://dash_renderer/./node_modules/ramda/es/reduced.js","webpack://dash_renderer/./node_modules/ramda/es/reject.js","webpack://dash_renderer/./node_modules/ramda/es/remove.js","webpack://dash_renderer/./node_modules/ramda/es/repeat.js","webpack://dash_renderer/./node_modules/ramda/es/replace.js","webpack://dash_renderer/./node_modules/ramda/es/reverse.js","webpack://dash_renderer/./node_modules/ramda/es/scan.js","webpack://dash_renderer/./node_modules/ramda/es/sequence.js","webpack://dash_renderer/./node_modules/ramda/es/set.js","webpack://dash_renderer/./node_modules/ramda/es/slice.js","webpack://dash_renderer/./node_modules/ramda/es/sort.js","webpack://dash_renderer/./node_modules/ramda/es/sortBy.js","webpack://dash_renderer/./node_modules/ramda/es/sortWith.js","webpack://dash_renderer/./node_modules/ramda/es/split.js","webpack://dash_renderer/./node_modules/ramda/es/splitAt.js","webpack://dash_renderer/./node_modules/ramda/es/splitEvery.js","webpack://dash_renderer/./node_modules/ramda/es/splitWhen.js","webpack://dash_renderer/./node_modules/ramda/es/startsWith.js","webpack://dash_renderer/./node_modules/ramda/es/subtract.js","webpack://dash_renderer/./node_modules/ramda/es/sum.js","webpack://dash_renderer/./node_modules/ramda/es/symmetricDifference.js","webpack://dash_renderer/./node_modules/ramda/es/symmetricDifferenceWith.js","webpack://dash_renderer/./node_modules/ramda/es/tail.js","webpack://dash_renderer/./node_modules/ramda/es/take.js","webpack://dash_renderer/./node_modules/ramda/es/takeLast.js","webpack://dash_renderer/./node_modules/ramda/es/takeLastWhile.js","webpack://dash_renderer/./node_modules/ramda/es/takeWhile.js","webpack://dash_renderer/./node_modules/ramda/es/tap.js","webpack://dash_renderer/./node_modules/ramda/es/test.js","webpack://dash_renderer/./node_modules/ramda/es/thunkify.js","webpack://dash_renderer/./node_modules/ramda/es/times.js","webpack://dash_renderer/./node_modules/ramda/es/toLower.js","webpack://dash_renderer/./node_modules/ramda/es/toPairs.js","webpack://dash_renderer/./node_modules/ramda/es/toPairsIn.js","webpack://dash_renderer/./node_modules/ramda/es/toString.js","webpack://dash_renderer/./node_modules/ramda/es/toUpper.js","webpack://dash_renderer/./node_modules/ramda/es/transduce.js","webpack://dash_renderer/./node_modules/ramda/es/transpose.js","webpack://dash_renderer/./node_modules/ramda/es/traverse.js","webpack://dash_renderer/./node_modules/ramda/es/trim.js","webpack://dash_renderer/./node_modules/ramda/es/tryCatch.js","webpack://dash_renderer/./node_modules/ramda/es/type.js","webpack://dash_renderer/./node_modules/ramda/es/unapply.js","webpack://dash_renderer/./node_modules/ramda/es/unary.js","webpack://dash_renderer/./node_modules/ramda/es/uncurryN.js","webpack://dash_renderer/./node_modules/ramda/es/unfold.js","webpack://dash_renderer/./node_modules/ramda/es/union.js","webpack://dash_renderer/./node_modules/ramda/es/unionWith.js","webpack://dash_renderer/./node_modules/ramda/es/uniq.js","webpack://dash_renderer/./node_modules/ramda/es/uniqBy.js","webpack://dash_renderer/./node_modules/ramda/es/uniqWith.js","webpack://dash_renderer/./node_modules/ramda/es/unless.js","webpack://dash_renderer/./node_modules/ramda/es/unnest.js","webpack://dash_renderer/./node_modules/ramda/es/until.js","webpack://dash_renderer/./node_modules/ramda/es/update.js","webpack://dash_renderer/./node_modules/ramda/es/useWith.js","webpack://dash_renderer/./node_modules/ramda/es/values.js","webpack://dash_renderer/./node_modules/ramda/es/valuesIn.js","webpack://dash_renderer/./node_modules/ramda/es/view.js","webpack://dash_renderer/./node_modules/ramda/es/when.js","webpack://dash_renderer/./node_modules/ramda/es/where.js","webpack://dash_renderer/./node_modules/ramda/es/whereEq.js","webpack://dash_renderer/./node_modules/ramda/es/without.js","webpack://dash_renderer/./node_modules/ramda/es/xor.js","webpack://dash_renderer/./node_modules/ramda/es/xprod.js","webpack://dash_renderer/./node_modules/ramda/es/zip.js","webpack://dash_renderer/./node_modules/ramda/es/zipObj.js","webpack://dash_renderer/./node_modules/ramda/es/zipWith.js","webpack://dash_renderer/./node_modules/react-is/cjs/react-is.development.js","webpack://dash_renderer/./node_modules/react-is/index.js","webpack://dash_renderer/./node_modules/react-redux/es/components/Context.js","webpack://dash_renderer/./node_modules/react-redux/es/components/Provider.js","webpack://dash_renderer/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/connect.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mergeProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/verifySubselectors.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://dash_renderer/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://dash_renderer/./node_modules/react-redux/es/hooks/useSelector.js","webpack://dash_renderer/./node_modules/react-redux/es/hooks/useStore.js","webpack://dash_renderer/./node_modules/react-redux/es/index.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/Subscription.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/batch.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/isPlainObject.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/reactBatchedUpdates.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/verifyPlainObject.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/warning.js","webpack://dash_renderer/./node_modules/reduce-reducers/es/index.js","webpack://dash_renderer/./node_modules/redux-actions/es/combineActions.js","webpack://dash_renderer/./node_modules/redux-actions/es/constants.js","webpack://dash_renderer/./node_modules/redux-actions/es/createAction.js","webpack://dash_renderer/./node_modules/redux-actions/es/createActions.js","webpack://dash_renderer/./node_modules/redux-actions/es/createCurriedAction.js","webpack://dash_renderer/./node_modules/redux-actions/es/handleAction.js","webpack://dash_renderer/./node_modules/redux-actions/es/handleActions.js","webpack://dash_renderer/./node_modules/redux-actions/es/index.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/arrayToObject.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/camelCase.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/flattenActionMap.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/flattenReducerMap.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/flattenWhenNode.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/get.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/getLastElement.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/hasGeneratorInterface.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/identity.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isArray.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isEmpty.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isFunction.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isMap.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isNil.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isNull.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isPlainObject.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isString.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isSymbol.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isUndefined.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/ownKeys.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/toString.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/unflattenActionCreators.js","webpack://dash_renderer/./node_modules/redux-thunk/es/index.js","webpack://dash_renderer/./node_modules/redux/es/redux.js","webpack://dash_renderer/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://dash_renderer/./node_modules/symbol-observable/es/index.js","webpack://dash_renderer/./node_modules/symbol-observable/es/ponyfill.js","webpack://dash_renderer/./node_modules/to-camel-case/index.js","webpack://dash_renderer/./node_modules/to-no-case/index.js","webpack://dash_renderer/./node_modules/to-space-case/index.js","webpack://dash_renderer/./node_modules/viz.js/full.render.js","webpack://dash_renderer/./node_modules/viz.js/viz.es.js","webpack://dash_renderer/(webpack)/buildin/amd-define.js","webpack://dash_renderer/(webpack)/buildin/global.js","webpack://dash_renderer/(webpack)/buildin/harmony-module.js","webpack://dash_renderer/./node_modules/whatwg-fetch/fetch.js","webpack://dash_renderer/./src/APIController.react.js","webpack://dash_renderer/./src/AppContainer.react.js","webpack://dash_renderer/./src/AppProvider.react.js","webpack://dash_renderer/./src/DashRenderer.js","webpack://dash_renderer/./src/TreeContainer.js","webpack://dash_renderer/./src/actions/api.js","webpack://dash_renderer/./src/actions/constants.js","webpack://dash_renderer/./src/actions/dependencies.js","webpack://dash_renderer/./src/actions/index.js","webpack://dash_renderer/./src/actions/isAppReady.js","webpack://dash_renderer/./src/actions/paths.js","webpack://dash_renderer/./src/actions/utils.js","webpack://dash_renderer/./src/checkPropTypes.js","webpack://dash_renderer/./src/components/core/DocumentTitle.react.js","webpack://dash_renderer/./src/components/core/Loading.react.js","webpack://dash_renderer/./src/components/core/Reloader.react.js","webpack://dash_renderer/./src/components/core/Toolbar.react.js","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.css?58e2","webpack://dash_renderer/./src/components/error/CallbackGraph/CallbackGraphContainer.react.js","webpack://dash_renderer/./src/components/error/ComponentErrorBoundary.react.js","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.css?a900","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndError.react.js","webpack://dash_renderer/./src/components/error/FrontEnd/FrontEndErrorContainer.react.js","webpack://dash_renderer/./src/components/error/GlobalErrorContainer.react.js","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.css?ad3d","webpack://dash_renderer/./src/components/error/GlobalErrorOverlay.react.js","webpack://dash_renderer/./src/components/error/Percy.css?af38","webpack://dash_renderer/./src/components/error/icons/BellIcon.svg","webpack://dash_renderer/./src/components/error/icons/BellIconGrey.svg","webpack://dash_renderer/./src/components/error/icons/CollapseIcon.svg","webpack://dash_renderer/./src/components/error/icons/DebugIcon.svg","webpack://dash_renderer/./src/components/error/icons/ErrorIconWhite.svg","webpack://dash_renderer/./src/components/error/icons/GraphIcon.svg","webpack://dash_renderer/./src/components/error/icons/GraphIconGrey.svg","webpack://dash_renderer/./src/components/error/icons/WhiteCloseIcon.svg","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.css?1383","webpack://dash_renderer/./src/components/error/menu/DebugAlertContainer.react.js","webpack://dash_renderer/./src/components/error/menu/DebugMenu.css?6d54","webpack://dash_renderer/./src/components/error/menu/DebugMenu.react.js","webpack://dash_renderer/./src/components/error/werkzeugcss.js","webpack://dash_renderer/./src/constants/constants.js","webpack://dash_renderer/./src/exceptions.js","webpack://dash_renderer/./src/index.js","webpack://dash_renderer/./src/isSimpleComponent.js","webpack://dash_renderer/./src/persistence.js","webpack://dash_renderer/./src/reducers/api.js","webpack://dash_renderer/./src/reducers/appLifecycle.js","webpack://dash_renderer/./src/reducers/config.js","webpack://dash_renderer/./src/reducers/constants.js","webpack://dash_renderer/./src/reducers/dependencyGraph.js","webpack://dash_renderer/./src/reducers/error.js","webpack://dash_renderer/./src/reducers/history.js","webpack://dash_renderer/./src/reducers/hooks.js","webpack://dash_renderer/./src/reducers/layout.js","webpack://dash_renderer/./src/reducers/paths.js","webpack://dash_renderer/./src/reducers/pendingCallbacks.js","webpack://dash_renderer/./src/reducers/reducer.js","webpack://dash_renderer/./src/registry.js","webpack://dash_renderer/./src/store.js","webpack://dash_renderer/fs (ignored)","webpack://dash_renderer/path (ignored)","webpack://dash_renderer/crypto (ignored)","webpack://dash_renderer/external \"PropTypes\"","webpack://dash_renderer/external \"React\"","webpack://dash_renderer/external \"ReactDOM\""],"names":["UnconnectedContainer","props","useState","errorLoading","setErrorLoading","events","useRef","current","EventEmitter","renderedTree","useEffect","storeEffect","bind","emit","appLifecycle","dependenciesRequest","layoutRequest","layout","config","content","status","includes","STATUS","OK","getAppState","ui","dispatch","error","graphs","isEmpty","apiThunk","finalLayout","applyPersistence","setPaths","computePaths","setLayout","setGraphs","computeGraphs","dispatchError","hasError","hydrateInitialOutputs","err","frontEnd","length","backEnd","onError","type","propTypes","PropTypes","oneOf","func","object","history","any","Container","connect","state","UnconnectedAppContainer","hooks","request_pre","request_post","setHooks","JSON","parse","document","getElementById","textContent","fetch","credentials","headers","Accept","setConfig","show_undo_redo","React","Component","AppContainer","store","initializeStore","AppProvider","shape","defaultProps","DashRenderer","ReactDOM","render","validateComponent","componentDefinition","Error","stringify","has","createContainer","component","path","isSimpleComponent","stringifyId","id","CheckedComponent","p","element","extraProps","children","errorMessage","checkPropTypes","propTypeErrorHandler","createElement","string","allProps","mergeRight","Array","isArray","TreeContainer","setProps","newProps","_dashprivate_graphs","_dashprivate_dispatch","_dashprivate_path","_dashprivate_layout","oldProps","getLayoutProps","changedProps","pickBy","val","key","equals","watchedKeys","getWatchedKeys","keys","recordUiEdit","updateProps","itempath","notifyObservers","pick","components","isNil","addIndex","map","i","concat","loading_state","_dashprivate_config","Registry","resolve","dissoc","props_check","nextProps","_dashprivate_loadingState","is_loading","propOr","layoutProps","getChildren","getComponent","array","isLoadingComponent","_dashprivate_isLoadingComponent","getNestedIds","ids","queue","elementLayout","shift","push","filteredChildren","filter","child","getLoadingState","pendingCallbacks","isLoading","loadingProp","loadingComponent","idStrs","forEach","cb","requestId","requestedOutputs","undefined","idStr","prop_name","component_name","AugmentedTreeContainer","stateProps","dispatchProps","ownProps","GET","fetchConfig","mergeDeepRight","method","getCSRFHeader","POST","body","request","endpoint","getState","url","urlBase","payload","then","res","contentType","get","indexOf","json","message","handleAsyncError","actionList","ON_PROP_CHANGE","SET_REQUEST_QUEUE","SET_GRAPHS","SET_PATHS","SET_LAYOUT","SET_APP_LIFECYCLE","SET_CONFIG","ON_ERROR","SET_HOOKS","getAction","action","mergeMax","mergeWith","Math","max","isMultiOutputProp","idAndProp","startsWith","ALL","wild","multi","MATCH","ALLSMALLER","expand","wildcards","allowedWildcards","Output","Input","State","wildcardValTypes","idInvalidChars","isWildcardId","parseWildcardId","parseMultipleOutputs","outputIdAndProp","substr","split","splitIdAndProp","dotPos","lastIndexOf","parseIfWildcard","property","combineIdAndProp","stringifyVal","v","parts","Object","sort","k","join","idValSort","a","b","bIsNumeric","isNumeric","aN","Number","bN","aIsBool","valBefore","valAfter","addMap","depMap","prop","dependency","idMap","callbacks","addPattern","idSpec","keyStr","values","keyCallbacks","propCallbacks","valMatch","validateDependencies","parsedDependencies","outStrs","outObjs","dep","inputs","outputs","hasOutputs","head","spec","args","cls","idProp","validateArg","findDuplicateOutputs","findInOutOverlap","findMismatchedWildcards","forEachObjIndexed","invalidChars","c","newOutputStrs","newOutputObjs","idObj","selfOverlap","wildcardOverlap","otherOverlap","idProp2","out","outi","outId","outProp","in_","ini","inId","inProp","findWildcardKeys","out0AnyKeys","anyKeys","arg","allsmallerKeys","allWildcardKeys","diff","difference","matchWildKeys","aWild","bWild","objs","idKeys","idVals","obj","id2","property2","all","zip","validateCallbacksToLayout","state_","paths","outputMap","inputMap","outputPatterns","inputPatterns","validateIds","suppress_callback_exceptions","tail","missingId","validateProp","idPath","propName","last","charAt","namespace","validateIdPatternProp","resolveDeps","idResolved","callbackIdsCheckedForState","validateState","callback","output","getPath","intersection","validateMap","doState","idProps","flatten","validatePatterns","patterns","keyPatterns","zipObj","dependencies","multiGraph","DepGraph","wildcardPlaceholders","fixIds","evolve","assoc","wrappedDE","lines","finalGraphs","MultiGraph","item","exact","keyPlaceholders","vals","slice","splice","makeAllIds","outIdFinal","idList","testVals","outValIndex","newVals","ap","registerDependency","addInputToMulti","inIdProp","outIdProp","addNode","addDependency","addOutputToMulti","inObj","inIdList","hasALL","finalDependency","outIdList","inputObject","idMatch","patternVals","refKeys","refVals","refPatternVals","patternVal","refIndex","refPatternVal","getAnyVals","matches","idPattern","keyPaths","result","makeResolvedCallback","anyVals","resolvedId","getOutputs","getInputs","blockedBy","blocking","changedPropIds","initialCall","DIRECT","INDIRECT","nextRequestId","setNewRequestId","isMultiValued","getCallbackByOutput","reduceALLOuts","outs","anySeen","matchKeys","addResolvedFromOutputs","outPattern","out0Keys","out0PatternVals","outVals","getCallbacksByInput","changeType","baseResolve","out0Pattern","out0Set","pattern","match","newProp","some","getCallbacksInLayout","layoutChunk","opts","outputsOnly","removedArrayInputsOnly","newPaths","chunkPath","foundCbIds","addCallback","foundIndex","addCallbackIfArray","inij","handleOneId","outIdCallbacks","inIdCallbacks","maybeAddCallback","handleThisCallback","pluck","crawlLayout","finalCallbacks","followForward","propId","removePendingCallback","removeResolvedId","skippedProps","finalPendingCallbacks","pending","findReadyCallbacks","partition","readyCallbacks","blockedCallbacks","addBlock","blockingId","blockedId","collectIds","allResolvedIds","callbacks_","clone","followOutput","nextCBs","nextCB","existingIndex","existingCB","unnest","mergeAllBlockers","cb1","cb2","mergeBlockers","mergePendingCallbacks","callbacks2","finalCb","pruneRemovedCallbacks","removeIds","cleanedCallbacks","omittedProps","newChangedProps","_","find","propEq","createAction","setPendingCallbacks","setRequestQueue","setAppLifecycle","html","triggerDefaultState","logWarningOnce","once","console","warn","cookie","_csrf_token","e","overallOrder","toString","initialCallbacks","startCallbacks","redo","moveHistory","undo","revert","future","past","unwrapIfNotMulti","depType","ReferenceError","strs","log","fireReadyCallbacks","fireNext","outputStash","requestedCallbacks","cbOut","allOutputs","flatOutputs","allPropIds","reqOut","idOut","allCallbacks","isAppReady","uniq","hasClientSide","clientside_function","fillVals","handleError","updatePending","newPending","handleData","data","requestIsActive","updated","entries","parsedId","oldLayout","oldPaths","appliedProps","doUpdateProps","statePendingCallbacks","oldChildren","updateChildPaths","addedProps","includeObservers","without","ns","fn","function_name","handleClientside","handleServerside","done","Promise","specs","getter","inputList","path_","value","response","PREVENT_UPDATE","getVals","input","zipIfArray","dc","window","dash_clientside","no_update","defineProperty","description","writable","returnValue","PreventUpdate","reti","outij","retij","dataForId","thisCallback","updatedProps","updatedProps2","prunePersistence","source","childrenPath","newCallbacks","deletedComponentCallbacks","allNewCallbacks","newCBs","text","targets","promises","rendered","resolveRendered","pathOfId","target","ready","isReady","race","subTree","startingPath","oldStrs","oldObjs","diffHead","spLen","oldValPaths","oldKeys","assignPath","pathObj","hasUrlBase","hasReqPrefix","base","requests_pathname_prefix","url_base_pathname","propsChildren","currentPath","append","newPath","_ev","event","listener","removeListener","idx","apply","remove","on","typeSpecs","location","componentName","getStack","errors","typeSpecName","hasOwnProperty","name","ReactPropTypesSecret","ex","stack","DocumentTitle","initialTitle","title","isRequired","Loading","Reloader","hot_reload","interval","max_retry","disabled","intervalId","packages","_retry","_head","querySelector","clearInterval","setState","prevProps","prevState","reloadRequest","hard","pathOr","comparator","lt","was_css","files","is_css","nodesToDisable","it","evaluate","node","iterateNext","n","setAttribute","modified","link","href","rel","appendChild","top","reload","alert","setInterval","number","UnconnectedToolbar","styles","parentSpanStyle","display","opacity","iconStyle","fontSize","labelStyle","undoLink","color","cursor","transform","redoLink","marginLeft","position","bottom","left","textAlign","zIndex","backgroundColor","Toolbar","Radium","CallbackGraphContainer","el","viz","makeViz","Viz","Module","elements","callbacksOut","links","recordAndReturn","idClean","replace","out_nodes","in_nodes","dot","renderSVGElement","vizEl","innerHTML","UnconnectedComponentErrorBoundary","myID","componentId","info","prevChildren","ComponentErrorBoundary","FrontEndError","collapsed","isListItem","inAlertsTray","cardClasses","errorHeader","timestamp","toLocaleTimeString","MAX_MESSAGE_LENGTH","UnconnectedErrorContent","line","werkzeugCss","width","height","border","errorPropTypes","ErrorContent","bool","FrontEndErrorContainer","errorsLength","errorElements","UnconnectedGlobalErrorContainer","GlobalErrorContainer","GlobalErrorOverlay","visible","toastsEnabled","frontEndErrors","DebugAlertContainer","alertsOpened","onClick","DebugMenu","opened","callbackGraphOpened","menuClasses","menuContent","stopPropagation","alertsLabel","REDIRECT_URI_PATHNAME","OAUTH_COOKIE_NAME","CLIENTSIDE_ERROR","messageParts","invalidPropPath","expectedPropType","invalidPropTypeProvided","jsonSuppliedValue","SIMPLE_COMPONENT_TYPES","storePrefix","keyPrefixMatch","prefix","separator","fullStr","fullLen","UNDEFINED","_parse","_stringify","WebStore","_name","_storage","getItem","setItem","_setItem","removeItem","keyPrefix","fullPrefix","keyMatch","keysToRemove","fullKey","MemStore","_data","pow","longString","s","stores","memory","backEnds","local","session","tryGetWebStore","fallbackStore","storeTest","testKey","clear","getStore","noopTransform","extract","propValue","storedValue","_propValue","getTransform","propPart","persistenceTransforms","getValsKey","persistedProp","persistence","getProps","getVal","persisted_props","persistence_type","canPersist","storage","valsKey","originalVal","newVal","hasItem","persistenceMods","UNDO","modProp","update","fromVal","toVal","layoutOut","set","lensPath","getFinal","prevVal","finalPersistence","finalPersistenceType","finalPersistedProps","persistenceChanged","notInNewProps","depersistedProps","finalStorage","transforms","propTransforms","createApiReducer","ApiReducer","newState","newRequest","assocPath","stateList","STARTED","HYDRATED","initialGraph","initialError","Date","initialHistory","present","previous","newPast","next","newFuture","customHooks","bear","propPath","existingProps","view","mergedProps","initialPaths","apiRequests","mainReducer","r","combineReducers","getInputHistoryState","historyEntry","propKey","recordHistory","reducer","nextState","reloaderReducer","createReducer","reset","process","reduxDTEC","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","createStore","applyMiddleware","thunk","module"],"mappings":";;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;;;;;;AClFA;AAAA;AAAe;AACf;AACA,mBAAmB,sBAAsB;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAe;AACf;AACA;AACA;AACA;;AAEA,aAAa,uBAAuB;AACpC;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;ACbA,eAAe,KAAiD,kBAAkB,mBAAO,CAAC,oBAAO,GAAG,SAA+K,CAAC,qBAAqB,mBAAmB,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,uCAAuC,qCAAqC,oBAAoB,EAAE,iBAAiB,4FAA4F,eAAe,wCAAwC,SAAS,EAAE,mBAAmB,8BAA8B,qDAAqD,0BAA0B,6CAA6C,sBAAsB,6DAA6D,YAAY,eAAe,SAAS,iBAAiB,iCAAiC,iBAAiB,YAAY,UAAU,sBAAsB,mBAAmB,iDAAiD,iBAAiB,gBAAgB,YAAY,iBAAiB,aAAa,OAAO,2BAA2B,SAAS,iCAAiC,IAAI,kCAAkC,8CAA8C,8BAA8B,6CAA6C,MAAM,uBAAuB,uDAAuD,oBAAoB,kCAAkC,GAAG,OAAO,GAAG,IAAI,oEAAoE,eAAe,kBAAkB,QAAQ,iBAAiB,6DAA6D,eAAe,aAAa,EAAE,eAAe,+CAA+C,gBAAgB,YAAY,WAAW,KAAK,WAAW,+GAA+G,gDAAgD,aAAa,eAAe,8EAA8E,SAAS,UAAU,eAAe,2CAA2C,0CAA0C,EAAE,iCAAiC,+CAA+C,yCAAyC,yCAAyC,GAAG,mCAAmC,SAAS,6CAA6C,SAAS,+BAA+B,SAAS,+BAA+B,SAAS,GAAG,GAAG,G;;;;;;;;;;;;ACArqF;;AAEZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,UAAU;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACvJA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAA4B;AAClC,WAAW,IAAyC,EAAE,8FAAM;AAC5D,OAAO,EAAyB;AAChC,CAAC;AACD;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,MAAM;AACpB,cAAc,SAAS;AACvB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,kDAAkD;AAClD,kDAAkD;AAClD;AACA,cAAc,cAAc;AAC5B,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,cAAc;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACnoBD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEY;;AAEZ,aAAa,mBAAO,CAAC,oDAAW;AAChC,cAAc,mBAAO,CAAC,gDAAS;AAC/B,cAAc,mBAAO,CAAC,gDAAS;;AAE/B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,uCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,aAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,iBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,wBAAwB,QAAQ;AAChC;AACA,qBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qBAAqB,QAAQ;AAC7B;AACA;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,eAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;AC5vDA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,kBAAkB;AACnC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,iBAAiB;AAC7C,iBAAiB;AACjB;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;ACrMa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,0BAA0B,mBAAO,CAAC,0EAAsB;;AAExD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA,oC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA,oC;;;;;;;;;;;ACXA;AACA,kCAAkC,mBAAO,CAAC,8GAAyD;AACnG;AACA;AACA,cAAc,QAAS,kCAAkC,yBAAyB,sBAAs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AAClD,qBAAqB,uCAAuC;AAC5D;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,0BAA0B;AAC1B,0BAA0B;AAC1B,0CAA0C;AAC1C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;ACtUA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,KAAK,IAA4E;AACjF,EAAE,mCAAO;AACT;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAIN;;AAEF,CAAC;;;;;;;;;;;;;ACvCD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,wBAAwB,mBAAO,CAAC,gEAAiB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA;AACA;AACA,cAAc,mBAAO,CAAC,kDAAU;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,uBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;;;ACtGA;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEe,iFAAkB;;;;;;;;;;;;AClBjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA;AACA,QAAQ,WAAW;;AAEnB;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,QAAQ,WAAW;;AAEnB;AACA;AACA,QAAQ,UAAU;;AAElB;AACA;;;;;;;;;;;;;ACnFa;;AAEb;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA,6BAA6B,mBAAO,CAAC,2GAAgC;;AAErE;;AAEA,4BAA4B,mBAAO,CAAC,yGAA+B;;AAEnE;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,gBAAgB,mBAAO,CAAC,iFAAmB;;AAE3C;;AAEA,mBAAmB,mBAAO,CAAC,uFAAsB;;AAEjD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA,+CAA+C,SAAS;AACxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB,mBAAmB,OAAO;AAC1B;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA,oC;;;;;;;;;;;;AC9Ka;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACvBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC3Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACpEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,yBAAyB,mBAAO,CAAC,sGAAuC;;AAExE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA,oC;;;;;;;;;;;;ACpDa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,sBAAsB,mBAAO,CAAC,6FAAyB;;AAEvD;;AAEA,mBAAmB,mBAAO,CAAC,uFAAsB;;AAEjD;;AAEA,wBAAwB,mBAAO,CAAC,iGAA2B;;AAE3D;;AAEA,gBAAgB,mBAAO,CAAC,iFAAmB;;AAE3C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,2CAA2C,SAAS;AACpD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,oC;;;;;;;;;;;;ACpEa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AChBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC5Ba;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACzCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AC1Ba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;ACtBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACXa;;AAEb;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oC;;;;;;;;;;;;AChCa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,yBAAyB,mBAAO,CAAC,sGAAuC;;AAExE;;AAEA,uBAAuB,mBAAO,CAAC,kGAAqC;;AAEpE;;AAEA,wBAAwB,mBAAO,CAAC,oGAA8B;;AAE9D;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,UAAU;AACzD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AC5Fa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC,SAAS;AACjD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oC;;;;;;;;;;;;ACrBa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,cAAc,mBAAO,CAAC,mDAAQ;;AAE9B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oC;;;;;;;;;;;;AClIa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACda;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACZa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACTa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,wBAAwB,mBAAO,CAAC,0FAAoB;;AAEpD;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA,uBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;AChCa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA,uCAAuC,SAAS;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,yBAAyB,EAAE;AACrE;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;;;;;;;;;;;;;AChDa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClCA,iBAAiB;;AAEjB;AACA;AACA;;;;;;;;;;;;ACJA;;AAEA;AACA;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACvCA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;;;;;;ACvLtC;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAqD;AAChB;AACtB;AACf,SAAS,2DAAS;AAClB,WAAW,oEAAgB;AAC3B,GAAG;AACH,C;;;;;;;;;;;;ACNA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe;AACf;AACA;AACA,C;;;;;;;;;;;;ACnDA;AAAA;AAAA;;AAEA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AA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ACA,CAAC;AACD;AACA;AACA;;;AAGA;AACA;AACA;AACA,oCAAoC,QAAQ;;AAE5C;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA,qFAAqF;AACrF;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,EAAE,uEAAmB;;AAE1B;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,6BAA6B;AAC7B;;AAEA;AACA;;AAEA;AACA,uBAAuB,+DAAa;AACpC;AACA;;AAEA;;AAEA;AACA,WAAW,4CAAK,eAAe,4DAAmB;AAClD;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA,uBAAuB,4CAAK;AAC5B;AACA;;AAEA,8BAA8B,wDAAU,CAAC,4DAAmB;AAC5D,6BAA6B,wDAAU,CAAC,2DAAkB;;AAE1D,oBAAoB,sDAAQ,GAAG;AAC/B;AACA;AACA;;AAEA,sBAAsB,oDAAM;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU;AACf;;AAEA;AACA,IAAI,uDAAS;AACb;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,uDAAS;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,SAAS,8DAAY;AACrB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA+C;;;AAG/C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG,oBAAoB;;;AAGvB;AACA;AACA;AACA;AACA,GAAG,EAA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B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACoD;AACH;AACc;AACpB;AAC0B;AACY;AACV;AAC1B;AAC9B;AACf,cAAc,2DAAgB;AAC9B,aAAa,yDAAe;AAC5B,mBAAmB,iEAAqB;AACxC,UAAU,sDAAY;AACtB,sBAAsB,oEAAwB;AAC9C,4BAA4B,0EAA8B;AAC1D,uBAAuB,qEAAyB;AAChD,WAAW,uDAAa;AACxB,CAAC,E;;;;;;;;;;;;AClBD;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,C;;;;;;;;;;;;AClCA;AAAA,kDAAkD,sBAAsB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,oFAAqB,E;;;;;;;;;;;;ACZpC;AAAA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA,CAAC,E;;;;;;;;;;;;ACpCD;AAAA;AAAA;AAA+C;AAChC;AACf;AACA;AACA,iBAAiB,kEAAgB;AACjC;AACA;AACA;AACA,C;;;;;;;;;;;;ACRA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,0DAAe;AAC/D;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL,GAAG;;;AAGH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH,gEAAgE;;AAEhE;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA;AACA;AACA;;AAEe,uFAAwB,E;;;;;;;;;;;;AClHvC;AAAA;AAAA,gCAAgC,gBAAgB,sBAAsB,OAAO,uDAAuD,mCAAmC,0DAA0D,sFAAsF,gEAAgE,EAAE,GAAG,EAAE,iCAAiC,2CAA2C,EAAE,EAAE,EAAE,eAAe;;AAE/d,2CAA2C,kBAAkB,kCAAkC,qEAAqE,EAAE,EAAE,OAAO,kBAAkB,EAAE,YAAY;;AAE/M;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG,IAAI;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA,mEAAmE;;AAEnE;AACA,wBAAwB,wCAAwC;AAChE;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;;AAEzC;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK,EAAE;;;AAGP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,C;;;;;;;;;;;;ACxKA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,GAAG,IAAI;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,C;;;;;;;;;;;;AChCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA8D;AACU;AACN;AACA;AACJ;AACU;AACE;AACJ;AACA;AACA;AACJ;AACQ;AAC3D;AACf,YAAY,iFAAI,EAAE,sFAAS,EAAE,mFAAM,EAAE,mFAAM,EAAE,iFAAI,EAAE,sFAAS,EAAE,uFAAU,EAAE,qFAAQ,EAAE,qFAAQ,EAAE,qFAAQ,EAAE,oFAAM,EAAE,wFAAU;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC,E;;;;;;;;;;;;ACjoBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6D;AACU;AACN;AACA;AACJ;AACU;AACE;AACJ;AACA;AACA;AACJ;AACQ;AACzE;AACA;AACA;AACA;AACA;AACA;AACe;AACf,YAAY,gFAAI,EAAE,qFAAS,EAAE,kFAAM,EAAE,kFAAM,EAAE,gFAAI,EAAE,qFAAS,EAAE,sFAAU,EAAE,oFAAQ,EAAE,oFAAQ,EAAE,oFAAQ,EAAE,mFAAM,EAAE,uFAAU;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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ACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,6CAAK;AACZ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,WAAW,0DAAQ;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,4CAAoB;AAChD;AACA,kCAAkC,uEAA0B;AAC5D;AACA;AACA,0BAA0B,+DAAkB;AAC5C;AACA;AACA;AACA,YAAY,6CAAI;AAChB,mBAAmB,yDAAW;AAC9B;AACA;AACA,qBAAqB,2DAAa;AAClC;AACA,KAAK;AACL;AACA,kFAAkF;AAClF;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA,+BAA+B;AAC/B;AACA,KAAK;AACL;;AAEA;AACA,EAAE;AACF;AACA;;;AAGA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,KAAK;AACL;;AAEA,SAAS,6CAAK;AACd,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,uEAAmB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK,IAAI;AACT;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,8DAAW;;AAE/B;AACA,OAAO;AACP;;;AAGA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;;;AAGH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,EAAE;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iGAAiG;;AAEjG;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,IAAI,IAAqC;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEe,8EAAe,E;;;;;;;;;;;;AC/Z9B;AAAA;AAAA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE;;AAE3T,6DAA6D,sEAAsE,8DAA8D,oBAAoB;;AAErN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;;AAEH;AACA,CAAC;;;;;;;;;;;;;;AC3ED;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEe,gEAAC,E;;;;;;;;;;;;ACnBhB;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEe,gEAAC,E;;;;;;;;;;;;ACnBhB;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK,kBAAkB,KAAK;AAC9D,uBAAuB;AACvB;AACe;AACf;AACA,CAAC,E;;;;;;;;;;;;AC7BD;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACzBlB;AAAA;AAAA;AAAA;AAA4C;AACA;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,mEAAO;AAC7C;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC/CvB;AAAA;AAAA;AAA4C;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,gBAAgB;AAC3B;AACA,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,sDAAsD;AACtD;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;;AAEA;;AAEA,cAAc,mEAAO;;AAErB;AACA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC7CrB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,UAAU,yDAAK;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC9ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB,EAAE;AACjD,yBAAyB,sBAAsB,EAAE;AACjD;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AClDtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,SAAS;AACrB;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC7BrB;AAAA;AAA4C;AAC5C;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY,IAAI;AAChB;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,2BAA2B;AAC3B,4BAA4B;AAC5B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC3BlB;AAAA;AAAA;AAA4C;AACc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,qCAAqC,SAAS,SAAS;AACvD;AACA,+CAA+C,oBAAoB;AACnE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,EAAE,0EAAc;;AAEhB;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACrCtB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,UAAU,yDAAK;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC/ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB,EAAE;AAC7C,qBAAqB,qBAAqB,EAAE;AAC5C,qBAAqB,qBAAqB,EAAE;AAC5C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACnDtB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACA;AACA;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iDAAiD;AACjD,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA,GAAG,GAAG,mEAAO;AACb,WAAW,mEAAO,MAAM,uDAAG;AAC3B,GAAG;AACH,CAAC;;AAEc,iEAAE,E;;;;;;;;;;;;ACzCjB;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;AACY;AACN;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,uCAAuC;AACvC,uCAA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AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,KAAK;AAChB,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,oCAAoC,EAAE;AACtD;AACA;;AAEA;AACA;AACA,yDAAK;AACL;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACvCnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACR;AACJ;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,sCAAsC;AACtC;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,kCAAkC,2DAAO;AACtD;AACA;AACA;AACA;AACA;;AAEA,SAAS,qEAAS,QAAQ,uDAAG;AAC7B,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC9CpB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AChCpB;AAAA;AAAA;AAA0C;AACE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,EAAE,KAAK;AAChB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA,2BAA2B,IAAI,IAAI;AACnC;AACA,iCAAiC;AACjC,uCAAuC;AACvC;;AAEA;AACA;AACA,mEAAO;AACP,8EAA8E,kEAAM;AACpF,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC9BpB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,yBAAyB;AACpC,WAAW,2BAA2B;AACtC;AACA;AACA,iBAAiB,2BAA2B,EAAE,wBAAwB,GAAG,yBAAyB;AAClG;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;ACjCzB;AAAA;AAAA;AAA6B;AACF;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA,oBAAoB;AACpB,uBAAuB;AACvB,iBAAiB;AACjB,oBAAoB;AACpB;;AAEA;AACA;AACA,wDAAI,CAAC,+CAAG;AACO,yEAAU,E;;;;;;;;;;;;AC5BzB;AAAA;AAAA;AAAA;AAA6B;AACM;AACnC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,gDAAI,aAAa,2DAAO;AACjC,C;;;;;;;;;;;;ACjCA;AAAA;AAAA;AAAA;AAAA;AAA+B;AACI;AACR;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,WAAW,eAAe,EAAE;AAC3D,wBAAwB,EAAE;AAC1B;AACA;;AAEe;AACf;AACA;AACA;;AAEA;AACA;AACA,SAAS,2DAAO,CAAC,mDAAO,aAAa,uDAAG,CAAC,iDAAK;AAC9C,C;;;;;;;;;;;;AC3CA;AAAA;AAAA;AAAA;AAA+B;AACI;AACnC;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,iDAAK,aAAa,2DAAO;AAClC,C;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAA4C;AACP;AACF;AACnC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D,qDAAqD;AACrD;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,oDAAQ,kBAAkB,2DAAO;AAC1C,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;AClC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACE;AACM;AACJ;AACX;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,aAAa;AACxB,YAAY,aAAa;AACzB;AACA;AACA;AACA;AACA,+BAA+B;AAC/B,uCAAuC;AACvC,yBAAyB;AACzB;;AAEA;AACA;AACA,mEAAO;AACP,MAAM,oEAAQ;AACd,QAAQ,oEAAQ;AAChB;AACA;;AAEA,wBAAwB,4DAAQ;AAChC;;AAEA,MAAM,qEAAS;AACf,QAAQ,qEAAS;AACjB;AACA;;AAEA,wBAAwB,4DAAQ;AAChC;;AAEA,mBAAmB,uEAAW;AAC9B;AACA;;AAEA,mBAAmB,uEAAW;AAC9B;AACA;;AAEA,sBAAsB,4DAAQ;AAC9B,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AChErB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACjB;AACA;AACM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,eAAe;AACf,gBAAgB;AAChB;;AAEA;AACA;AACA,mEAAO;AACP,cAAc,0DAAM,CAAC,+CAAG,KAAK,uDAAG;AAChC;AACA,GAAG;AACH,SAAS,kEAAM;AACf;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACpDnB;AAAA;AAAA;AAA4C;AACH;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE,YAAY,EAAE;AAC/B,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO,uCAAuC;AAC/E;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,8DAAU;AACnB,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACzCxB;AAAA;AAAA;AAAA;AAA4C;AACb;AACF;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,EAAE,YAAY,EAAE;AACzC,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,SAAS,yDAAK,CAAC,wDAAI;AACnB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;ACvFzB;AAAA;AAAA;AAAgD;AACJ;AAC5C;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC,oBAAoB,eAAe,IAAI,eAAe,GAAG;AACzD,iCAAiC;AACjC,mCAAmC;AACnC;;AAEA;AACA;AACA,mEAAO,CAAC,6DAAS;;AAEF,uEAAQ,E;;;;;;;;;;;;AC9BvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACN;AACL;AACN;AACI;AACE;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,0DAAM,CAAC,+CAAG,KAAK,yDAAK;AACpC;AACA;AACA,gCAAgC,gEAAI;AACpC;AACA,KAAK;AACL,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC/CvB;AAAA;AAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,uCAAuC,UAAU;AACjD;AACA;AACA,sCAAsC,SAAS;AAC/C;;AAEA;AACA;AACA,4DAAQ;AACR;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC/BtB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AClDpB;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACA;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA,mEAAO;AACP;AACA,WAAW,mEAAO;AAClB;;AAEA,SAAS,kEAAM,SAAS,mEAAO;AAC/B,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACzDrB;AAAA;AAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,kBAAkB;AAClB;;AAEA;AACA;AACA,uDAAG;AACY,kEAAG,E;;;;;;;;;;;;ACpBlB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,+BAA+B;AAC/B,2BAA2B;AAC3B,6BAA6B;AAC7B;AACA,wCAAwC;AACxC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AC/BxB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,yBAAyB;AACpC,WAAW,2BAA2B;AACtC;AACA;AACA,iBAAiB,yBAAyB,GAAG,wBAAwB,GAAG,2BAA2B;AACnG;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACnCtB;AAAA;AAAA;AAA4C;AACN;AACtC;AACA;AACA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EAAE,6DAAS;;AAExB,uEAAQ,E;;;;;;;;;;;;AClCvB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACE;AACE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,mEAAe,EAAE,kEAAc;;AAElC,4EAAa,E;;;;;;;;;;;;ACtC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACQ;AACb;AAClB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa;AACb;AACA,6EAAiB,CAAC,kDAAM;AACxB;AACA,mEAAe,CAAC,kDAAM;;AAEP,0EAAW,E;;;;;;;;;;;;AClC1B;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACQ;AACnC;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,qEAAiB;AACnC;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,wDAAI;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,8EAAe,E;;;;;;;;;;;;AClD9B;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACJ;AACrB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAC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;AAAA;AAA4C;AACY;AACN;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,yCAAyC,OAAO;AAChD,yCAAyC;AACzC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,8DAAU;AAC5B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC1CvB;AAAA;AAAA;AAAA;AAA4C;AACY;AACI;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,qBAAqB,WAAW,GAAG,UAAU;AAC7C,8CAA8C;AAC9C,8CAA8C;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,mEAAe;AACjC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,4EAAa,E;;;;;;;;;;;;AC5C5B;AAAA;AAAA;AAA4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,qEAAS;;AAEM,sEAAO,E;;;;;;;;;;;;AC1BtB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AClCnB;AAAA;AAAA;AAA4D;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2EAAe;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACrDtB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,kDAAkD,WAAW,EAAE,OAAO;AACtE;AACA;AACA,iCAAiC,WAAW,KAAK;AACjD;;AAEA;AACA;AACA,mEAAO;AACP,gBAAgB,wDAAI;AACpB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,gFAAiB,E;;;;;;;;;;;;ACxChC;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;;AAEA;AACA;AACA,mEAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AChCxB;AAAA;AAAA;AAAA;AAA4D;AAChB;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,2BAA2B,wBAAwB;AACnD,yBAAyB,wBAAwB;AACjD;AACA,yBAAyB,wBAAwB;AACjD;AACA;AACA,oBAAoB,0BAA0B;AAC9C,oBAAoB,wBAAwB;AAC5C;AACA,oBAAoB,wBAAwB;AAC5C;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2EAAe;AACf;AACA,4DAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC3DtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,MAAM;AACjB;AACA,YAAY,KAAK;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACrDxB;AAAA;AAA4C;AAC5C;AACA,mEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB,mBAAmB;AACnB,uBAAuB;AACvB,uBAAuB;AACvB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,iEAAE,E;;;;;;;;;;;;AC7BjB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,oBAAoB;AACpB,oBAAoB;AACpB,oBAAoB;AACpB,wBAAwB;AACxB,wBAAwB;AACxB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC7BlB;AAAA;AAAA;AAA4C;AACT;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,KAAK;AACnB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,QAAQ;AACpB;AACA;AACA;AACA,iBAAiB,cAAc,EAAE;AACjC,iBAAiB,YAAY,EAAE;AAC/B,kBAAkB,EAAE;AACpB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A;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAsC;AACA;AACE;AACE;AACU;AACJ;AACN;AACQ;AACF;AACN;AACA;AACQ;AACV;AACY;AACJ;AACF;AACQ;AACJ;AACF;AACF;AACQ;AACN;AACJ;AACA;AACA;AACE;AACA;AACA;AACU;AACA;AACN;AACE;AACA;AACM;AACV;AACJ;AACU;AACE;AACJ;AACA;AACF;AACJ;AACE;AACN;AACY;AACJ;AACM;AACQ;AAChB;AACQ;AACR;AACJ;AACQ;AACU;AACJ;AACQ;AACZ;AACN;AACF;AACM;AACR;AACM;AACF;AACA;AACA;AACJ;AACU;AACF;AACU;AACZ;AACN;AACM;AACoB;AAChB;AACJ;AACI;AACd;AACE;AACA;AACI;AACI;AACN;AACU;AACF;AACJ;AACN;AACU;AACF;AACA;AACN;AACU;AACN;AACM;AACM;AACF;AACd;AACI;AACM;AACJ;AACV;AACU;AACJ;AACF;AACA;AACA;AACI;AACJ;AACc;AACV;AACJ;AACU;AACF;AACA;AACR;AACE;AACN;AACE;AACA;AACU;AACU;AACA;AAChB;AACI;AACR;AACI;AACF;AACI;AACU;AACZ;AACM;AACU;AACE;AACF;AACM;AACd;AACE;AACF;AACM;AAClB;AACI;AACE;AACJ;AACQ;AACR;AACI;AACJ;AACF;AACA;AACM;AACV;AACQ;AACN;AACI;AACA;AACJ;AACc;AACV;AACA;AACM;AACU;AACN;AACV;AACE;AACE;AACA;AACc;AAClB;AACM;AACF;AACJ;AACE;AACA;AACM;AACN;AACI;AACA;AACA;AACN;AACI;AACA;AACA;AACc;AAChB;AACA;AACE;AACI;AACM;AACA;AACR;AACF;AACA;AACA;AACE;AACA;AACN;AACQ;AACV;AACI;AACF;AACI;AACI;AACN;AACI;AACM;AACF;AACE;AACJ;AACV;AACgC;AACQ;AACtC;AACA;AACQ;AACU;AACR;AACZ;AACE;AACM;AACJ;AACI;AACA;AACI;AACF;AACF;AACI;AACA;AACF;AACR;AACQ;AACR;AACM;AACJ;AACM;AACJ;AACF;AACQ;AACV;AACI;AACI;AACJ;AACA;AACF;AACE;AACE;AACF;AACI;AACR;AACA;AACE;AACI;AACA;AACR;AACI;AACJ;AACM;AACE;;;;;;;;;;;;;AC/PlD;AAAA;AAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,KAAK,MAAM,IAAI;AAC1C,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA,uBAAuB,sBAAsB,GAAG,sBAAsB;AACtE;AACA,cAAc,MAAM,sBAAsB,QAAQ;AAClD;;AAEA;AACA;AACA,4DAAQ;AACR;AACA,CAAC;AACc,sEAAO,E;;;;;;;;;;;;AC7BtB;AAAA;AAAA;AAAA;AAA4C;AACE;AACA;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,gCAAgC;AAChC,iCAAiC;AACjC;;AAEA;AACA;AACA,mEAAO;AACP,8CAA8C,oEAAQ,4BAA4B,oEAAQ;AAC1F,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC7BtB;AAAA;AAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0BAA0B;AAC1B,uBAAuB;AACvB,oBAAoB;AACpB,mBAAmB;AACnB;AACA,sBAAsB;AACtB,qBAAqB;AACrB,oBAAoB;AACpB,mBAAmB;AACnB;;AAEA;AACA;AACA,yDAAK;AACU,mEAAI,E;;;;;;;;;;;;AC7BnB;AAAA;AAAA;AAAA;AAAwD;AACZ;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY,8BAA8B;AAC1C,YAAY,8BAA8B;AAC1C,YAAY,8BAA8B;AAC1C,YAAY,gCAAgC;AAC5C,YAAY,4BAA4B;AACxC;AACA;AACA,eAAe,gCAAgC,GAAG,4BAA4B;AAC9E;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,mEAAO;AAChB,WAAW,yEAAa;AACxB,GAAG;AACH,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AC/CxB;AAAA;AAA4C;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC9BrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AC3BxB;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA,IAAI;AACJ;AACA,eAAe,QAAQ;AACvB;;;AAGA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB;;;AAGA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;;;AAGP;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA,aAAa,4DAAS;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO;;;AAGP,WAAW,4DAAS;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;;AAGc,mEAAI,E;;;;;;;;;;;;ACxMnB;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACXA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,C;;;;;;;;;;;;AC7DA;AAAA;AAAe;AACf;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAA2C;AACJ;AACxB;AACf,oBAAoB,8DAAW;AAC/B,yEAAyE,4DAAS;AAClF;AAC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AAAA;AAAA;AAAqC;AACY;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;;AAEe;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,2DAAQ;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,UAAU,iEAAc;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC7CA;AAAA;AAAA;AAA8B;AACf;AACf,SAAS,wDAAI;AACb,C;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAgC;AACjB;AACf;;AAEA;AACA;AACA;;AAEA,SAAS,yDAAK;AACd,C;;;;;;;;;;;;ACTA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyD;AACV;AACA;AAClB;AACU;AACT;AACA;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,qEAAkB;;AAE5B,UAAU,qEAAkB;;AAE5B;AACA;AACA,GAAG;;;AAGH,UAAU,gEAAa;AACvB,YAAY,gEAAa;AACzB,GAAG;AACH;;AAEe;AACf,MAAM,4DAAS;AACf;AACA;;AAEA,cAAc,wDAAI;;AAElB,gBAAgB,wDAAI;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAiD,gEAAa;AAC9D;AACA;;AAEA;;AAEA;AACA;AACA;AACA,qCAAqC,4DAAS;AAC9C;AACA;;AAEA;;AAEA;AACA,WAAW,4DAAS;AACpB;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAC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AEA;AACA;AACA,C;;;;;;;;;;;;AClCA;AAAA;AAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACXA;AAAA;AAA6B;;AAE7B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,YAAY,uDAAI;AAChB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEe,kIAAmE,E;;;;;;;;;;;;AC5BlF;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEe,sHAAuD,E;;;;;;;;;;;;ACbtE;AAAA;AAAe;AACf;AACA,C;;;;;;;;;;;;ACFA;AAAA;AAAe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,C;;;;;;;;;;;;ACPA;AAAA;AAAe;AACf,6FAA6F;AAC7F;AACA;AACA,C;;;;;;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACZ;AACH;;AAE9B;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAAmD,wDAAI;AACvD;;AAEA;AACe;AACf;AACA,SAAS,yDAAM;AACf;;AAEA,MAAM,+DAAY;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACtEA;AAAA;AAAe;AACf;AACA;AACA;AACA;AACA,C;;;;;;;;;;;;ACLA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA+C;AACR;AACM;AACI;AACjB;AAChC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,oDAAS;AAClC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,yBAAyB,oDAAS;AAClC;AACA;AACA;AACA;AACA,WAAW,gEAAa,SAAS,+DAAY,UAAU,yDAAK;AAC5D,GAAG;AACH,yBAAyB,oDAAS;AAClC;AACe;AACf,MAAM,iEAAc;AACpB;AACA;;AAEA,MAAM,+DAAY;AAClB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;AC7CA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEe,2EAAY,E;;;;;;;;;;;;ACb3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC;AACV;AACI;AACY;AACf;AACI;AACnB;AACf;AACA;AACA,WAAW,4DAAS;AACpB,IAAI;;;AAGJ;AACA,WAAW,uDAAI;AACf,aAAa,yDAAM;AACnB,KAAK;AACL;;AAEA;AACA;AACA,2BAA2B,kBAAkB,EAAE,KAAK,uDAAI;;AAExD;AACA,mBAAmB,uDAAI,8BAA8B,0DAAM;AAC3D;AACA,OAAO,EAAE,wDAAI;;AAEb;AACA;;AAEA;AACA,8DAA8D,yDAAM,CAAC,+DAAY;;AAEjF;AACA;;AAEA;AACA;;AAEA;AACA,gFAAgF,yDAAM;;AAEtF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,gBAAgB,wDAAI,oBAAoB;AACvD;AACA,C;;;;;;;;;;;;ACzDA;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,kDAAO;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACzCpB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,kDAAO;;AAE/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACzCpB;AAAA;AAAA;AAAA;AAAmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,kDAAO;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,0DAAO;AAClB;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;ACjDzB;AAAA;AAAA;AAAA;AAAmC;AACE;AACT;;AAE5B;AACA;AACA,0DAAO;AACP,SAAS,uDAAG,IAAI,2DAAQ;AACxB,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACVtB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,kDAAO;AAChD,2CAA2C,kDAAO;;AAElD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AChCrB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,kDAAO;;AAEpD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;AChDzB;AAAA;AAAA;AAAA;AAAmC;AACA;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,kDAAO;;AAEzD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa,0DAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,8EAAe,E;;;;;;;;;;;;AC5C9B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oDAAoD,kDAAO;AAC3D,sDAAsD,kDAAO;;AAE7D;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,gFAAiB,E;;;;;;;;;;;;ACtChC;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,kDAAO;AACrD,gDAAgD,kDAAO;;AAEvD;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;ACnC1B;AAAe;AACf;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC,E;;;;;;;;;;;;ACPD;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2CAA2C,kDAAO;AAClD,6CAA6C,kDAAO;;AAEpD;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC3BvB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,kDAAO;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,eAAe,2DAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACzCrB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,kDAAO;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,2DAAQ;AACvB;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;AC5C1B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,kDAAO;;AAEpD;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;AClCzB;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,kDAAkD,kDAAO;;AAEzD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,8EAAe,E;;;;;;;;;;;;ACtC9B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,kDAAO;AAC/C,0CAA0C,kDAAO;;AAEjD;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC3BpB;AAAA;AAAA;AAAA;AAAmC;AACN;AACM;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C,kDAAO;;AAEpD;AACA;;AAEA;AACA,UAAU,uDAAI;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;ACnDzB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,kDAAO;AAChD,2CAA2C,kDAAO;;AAElD;AACA;AACA;AACA,6CAA6C,2DAAQ;AACrD;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAAA;AAAA;AAAmC;AACE;AACF;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C,kDAAO;AACrD,gDAAgD,kDAAO;;AAEvD;AACA,yEAAyE,2DAAQ;AACjF;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;AC5B1B;AAAA;AAAA;AAAmC;AACA;;AAEnC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,kDAAO;AAC/C,0CAA0C,kDAAO;;AAEjD;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA,0DAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC5BpB;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc;AACf;AACA,C;;;;;;;;;;;;ACxBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;AACA;AACf;AACA;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,+CAA+C;AAC/C;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,SAAS,wDAAI,CAAC,mEAAO,CAAC,wDAAI,CAAC,6DAAS;AACpC,CAAC;;AAEc,2EAAY,E;;;;;;;;;;;;ACvC3B;AAAA;AAAA;AAA4D;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,iDAAiD;AACjD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2EAAe;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;AC1C1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACc;AACd;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0EAAc,QAAQ,mEAAO,8CAA8C,mEAAO,IAAI,oEAAQ,QAAQ,kEAAM;AACrH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACnDnB;AAAA;AAAA;AAAA;AAA4C;AACN;AACT;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,KAAK;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,mEAAO;AACP,cAAc,wDAAI;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gEAAI;AACnB;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC7CrB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK,KAAK;AACnB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,mEAAO;AACP,cAAc,wDAAI;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AC/CxB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACQ;AACnB;AACI;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;;AAEA,0BAA0B,uEAAW;AACrC;AACA;;AAEA,wBAAwB,4DAAQ;AAChC,GAAG;AACH,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACrDtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,uBAAuB,EAAE;AACzB,wBAAwB;AACxB,wBAAwB;AACxB,0BAA0B;AAC1B,qCAAqC;AACrC,qCAAqC;AACrC,0BAA0B;AAC1B,uBAAuB,EAAE;AACzB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,iEAAE,E;;;;;;;;;;;;AC/BjB;AAAA;AAAA;AAAA;AAA4C;AACb;AACE;AACjC;AACA,+DAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B,sBAAsB;AACtB,sBAAsB;AACtB,wBAAwB;AACxB,oBAAoB,EAAE;AACtB,mBAAmB,UAAU,EAAE;AAC/B;;AAEA;AACA;AACA,mEAAO;AACP,sBAAsB,0DAAM,IAAI,yDAAK;AACrC,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC/BtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA,sBAAsB;AACtB,2BAA2B;AAC3B,mBAAmB;AACnB,oBAAoB;AACpB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACzBpB;AAAA;AAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B;;AAEA;AACA;AACA,2DAAO;AACQ,mEAAI,E;;;;;;;;;;;;ACxBnB;AAAA;AAAA;AAA4C;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,4DAAQ;AACjB;AACA,GAAG;AACH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AC5BnB;AAAA;AAAA;AAAA;AAA4C;AACN;AACgB;;AAEtD;AACA;AACA;AACA;AACA,CAAC;AACD,6IAA6I;;AAE7I;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,gBAAgB,iBAAiB,EAAE;AACnC;;;AAGA;AACA;AACA,mEAAO;AACP;AACA,CAAC;AACD;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA,0CAA0C,wEAAY;;AAEtD;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,UAAU,gEAAI;AACd;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;AC1FnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,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CA;AACA;AACA,iCAAiC;AACjC;AACA,uBAAuB,iBAAiB,EAAE,OAAO;AACjD;AACA,mBAAmB,aAAa,KAAK;AACrC;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,8BAA8B,yDAAK;AAChD;AACA;AACA,aAAa,0DAAM;AACnB;AACA,OAAO;;AAEP;AACA,aAAa,mEAAO;AACpB;AACA;AACA,OAAO,IAAI,EAAE,wDAAI;;AAEjB;AACA,aAAa,gEAAI;AACjB;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACjElB;AAAA;AAA4C;AAC5C;AACA,wEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;ACrDvB;AAAA;AAA4C;AAC5C;AACA,6EAA6E;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,4EAAa,E;;;;;;;;;;;;ACvD5B;AAAA;AAAA;AAAA;AAA4C;AACA;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,qBAAqB;AACrB;AAC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ACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACzBlB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,+DAA+D;AAC/D,gDAAgD;AAChD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AChCpB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,wBAAwB;AACxB;AACA,yBAAyB;AACzB,yBAAyB;AACzB;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACjCrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,qDAAqD;AACrD,sDAAsD;AACtD;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AC/BnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB,kBAAkB;AAClB,yBAAyB;AACzB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC5BvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,2BAA2B;AAC3B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AChGnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACtBrB;AAAA;AAAA;AAAA;AAAoD;AACR;AACjB;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C,2CAA2C;AAC3C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,uDAAG,CAAC,uEAAW;AACxB,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACnCnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,QAAQ;AACpB;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB,iBAAiB;AACjB,iBAAiB;AACjB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC3BlB;AAAA;AAAA;AAA4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,uBAAuB;AACvB,wBAAwB;AACxB,yBAAyB;AACzB;AACA,wBAAwB;AACxB,wBAAwB;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,SAAS,qEAAS;AAClB,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACpClB;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA,mCAAmC;AACnC,oCAAoC;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,SAAS,0DAAM;AACf,WAAW,uDAAG;AACd,GAAG;AACH,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC/BrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sBAAsB,6BAA6B,EAAE;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,gEAAC,E;;;;;;;;;;;;ACnChB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C,OAAO,QAAQ,oBAAoB,GAAG,oBAAoB,GAAG,oBAAoB;AAC7H;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC9BpB;AAAA;AAAA;AAA4C;AACR;AACpC;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,MAAM;AAClB;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB;;AAEA;AACA;AACA,mEAAO,CAAC,uDAAG;;AAEI,iEAAE,E;;;;;;;;;;;;ACzBjB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,UAAU,KAAK;AACpC,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,4BAA4B,uBAAuB,EAAE,OAAO;AAC5D;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACxCnB;AAAA;AAAA;AAA0C;AACE;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA,uBAAuB;AACvB,mCAAmC;AACnC;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA,SAAS,kEAAM;AACf;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACtCnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY,IAAI;AAChB;AACA;AACA;AACA,yBAAyB;AACzB,0BAA0B;AAC1B,0BAA0B;AAC1B,2BAA2B;AAC3B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,iEAAE,E;;;;;;;;;;;;AC5BjB;AAAA;AAAA;AAA4C;AACc;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA,iCAAiC,uCAAuC;AACxE;AACA,oDAAoD,oBAAoB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,EAAE,0EAAc;;AAEhB;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACvCxB;AAAA;AAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;;;AAGA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AC9CnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,6BAA6B;AAC7B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACxBnB;AAAA;AAAA;AAA4C;AACkC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA,oFAAwB,CAAC,2DAAO;;AAEjB,sEAAO,E;;;;;;;;;;;;ACnCtB;AAAA;AAAA;AAAA;AAA4C;AACkC;AACjD;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA,oFAAwB;AACxB;AACA,wDAAI,CAAC,2DAAO;;AAEG,2EAAY,E;;;;;;;;;;;;AClC3B;AAAA;AAAA;AAAA;AAAiC;AACJ;AACI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA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A;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACpCtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,KAAK,KAAK;AAC1C,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA;AACA,+BAA+B,uBAAuB,EAAE,OAAO;AAC/D;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACpCrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACF;AACP;AACJ;AAC7B;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,kEAAM,sBAAsB,0DAAM,CAAC,yDAAK,gBAAgB,wDAAI;AACrE,C;;;;;;;;;;;;AClCA;AAAA;AAAA;AAAA;AAAqC;AACF;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,QAAQ,WAAW,eAAe;AACzD;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,oDAAQ,aAAa,2DAAO;AACrC,C;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACA;AACT;AACJ;AAC7B;AACA;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;;AAEA,SAAS,kEAAM,sBAAsB,0DAAM,CAAC,0DAAM,gBAAgB,wDAAI;AACtE,C;;;;;;;;;;;;AC9BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACf;AACe;AACf;AACQ;AACrC;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,WAAW,oDAAQ;AACnB;;AAEA,iBAAiB,wDAAI;AACrB,iBAAiB,wDAAI;AACrB,SAAS,kEAAM;AACf,WAAW,mEAAO;AAClB;AACA,KAAK;AACL,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC9CvB;AAAA;AAAA;AAAA;AAA4C;AACjB;AACE;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,KAAK;AAClC,WAAW,cAAc;AACzB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB,GAAG,uBAAuB,GAAG;AACrE;AACA,qCAAqC;AACrC,wBAAwB,IAAI,OAAO,MAAM,QAAQ,EAAE,OAAO;AAC1D,wBAAwB,WAAW,GAAG,WAAW,GAAG,WAAW;AAC/D;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,uDAAG,CAAC,wDAAI;AACjB,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACrCpB;AAAA;AAAA;AAA4C;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,mEAAO;AAChB,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC1BtB;AAAA;AAAA;AAAqC;AACJ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,mCAAmC;AACnC;;AAEA;AACA;AACA,0DAAM,CAAC,oDAAQ;AACA,sEAAO,E;;;;;;;;;;;;ACrBtB;AAAA;AAAA;AAAA;AAAA;AAAsC;AACD;AACF;AACA;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,KAAK,OAAO,KAAK;AAClC,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB;AACA,2CAA2C,QAAQ,uBAAuB,GAAG,uBAAuB;AACpG;;AAEA;AACA;AACA,2DAAO,CAAC,wDAAI,GAAG,mDAAO,EAAE,oDAAQ,GAAG;;AAEpB,sEAAO,E;;;;;;;;;;;;AC5BtB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,EAAE;AACd;AACA;AACA;AACA,qBAAqB,OAAO,EAAE;AAC9B,sBAAsB,EAAE;AACxB,yBAAyB;AACzB,uCAAuC,OAAO;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,wDAAI;AACb,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AC9BnB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,sBAAsB;AACtB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB;AACA;AACA,qCAAqC;AACrC;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AClCrB;AAAA;AAAA;AAA4C;AACnB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,+BAA+B,WAAW,EAAE;AAC5C,+BAA+B,SAAS,EAAE;AAC1C,gCAAgC,EAAE;AAClC;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,sDAAE;AACX,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC7BrB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,mCAAmC;AACnC;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACnCrB;AAAA;AAA4C;AAC5C;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,UAAU;AAC/C,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0CAA0C,WAAW,EAAE;AACvD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,4EAAa,E;;;;;;;;;;;;AC3B5B;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAK;AACrB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA,6BAA6B,WAAW,EAAE;AAC1C,kCAAkC,WAAW,EAAE;AAC/C;AACA;AACA,kBAAkB,6CAA6C,EAAE;AACjE;;AAEA;AACA;AACA,mEAAO;AACP;AACA,WAAW,wDAAI;AACf,GAAG;AACH,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC/BpB;AAAA;AAAA;AAA4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA,sBAAsB;AACtB,wBAAwB;AACxB;;AAEA;AACA;AACA,mEAAO;AACP,QAAQ,qEAAS,UAAU,qEAAS;AACpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACrCpB;AAAA;AAAA;AAA4C;AACA;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO,CAAC,2DAAO;;AAEA,qEAAM,E;;;;;;;;;;;;ACrDrB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0C;AACE;AACY;AAClB;AACM;AACM;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC,0BAA0B,MAAM;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,8DAAU;AAC5B,SAAS,mEAAO;AAChB;AACA,uBAAuB,gEAAI,wBAAwB,kEAAM;AACzD;AACA,GAAG,IAAI;AACP,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC5DvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;ACzD1B;AAAA;AAAA;AAAA;AAA4C;AACA;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,6CAA6C;AAC7C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,mEAAO;AAChB,uCAAuC,oEAAQ;AAC/C,GAAG;AACH,CAAC;;AAEc,0EAAW,E;;;;;;;;;;;;ACzC1B;AAAA;AAAA;AAA4C;AACE;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO,CAAC,4DAAQ;;AAED,sEAAO,E;;;;;;;;;;;;AChCtB;AAAA;AAAA;AAAA;AAAoD;AACR;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA,yBAAyB,uBAAuB,EAAE,OAAO;AACzD;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,uEAAW;AAC3B,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AClCrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC9BrB;AAAA;AAAA;AAAA;AAA4C;AACX;AACF;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,8CAA8C,SAAS,IAAI,IAAI,IAAI,IAAI;AACvE,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,yDAAK,CAAC,0DAAM;AACrB,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACjCrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,+CAA+C;AAC/C,+CAA+C;AAC/C;AACA;AACA,gDAAgD;AAChD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AChCtB;AAAA;AAAA;AAA4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA,6BAA6B;AAC7B,0BAA0B;AAC1B,uBAAuB;AACvB,sBAAsB;AACtB;AACA,yBAAyB;AACzB,wBAAwB;AACxB,uBAAuB;AACvB,sBAAsB;AACtB;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,qEAAS;AAClB,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACjCtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACvCnB;AAAA;AAAA;AAAA;AAAA;AAAA;AAA4C;AACnB;AACE;AACQ;AACQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0DAA0D;AAC1D,4DAA4D;AAC5D;AACA,0CAA0C;AAC1C,oCAAoC;AACpC;;AAEA;AACA;AACA,mEAAO;AACP,iFAAiF,+DAAW;AAC5F,WAAW,sDAAE,CAAC,uDAAG,CAAC,mDAAO;AACzB,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;ACtCvB;AAAA;AAAA;AAAA;AAA4C;AACX;AACJ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,yBAAyB,WAAW,EAAE,QAAQ;AAC9C,yBAAyB,WAAW,EAAE,QAAQ;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,wDAAI,OAAO,0DAAM;AAC1B,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AChClB;AAAA;AAAA;AAA4D;AAChB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,4CAA4C;AAC5C,mDAAmD;AACnD,6CAA6C;AAC7C,8CAA8C;AAC9C,+BAA+B;AAC/B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2EAAe;AACf;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACnCpB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,qCAAqC,cAAc;AACnD,gCAAgC;AAChC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AC5BnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC7CrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AClDvB;AAAA;AAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA,2DAAO;AACQ,oEAAK,E;;;;;;;;;;;;ACzBpB;AAAA;AAAA;AAAA;AAA4C;AACX;AACF;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA,gCAAgC;AAChC,oCAAoC;AACpC,gCAAgC;AAChC;;AAEA;AACA;AACA,mEAAO;AACP,UAAU,yDAAK,mBAAmB,yDAAK,QAAQ,0DAAM;AACrD,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC5BtB;AAAA;AAAA;AAA4C;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA,+CAA+C;AAC/C,qCAAqC;AACrC;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gBAAgB,yDAAK;AACrB;;AAEA;AACA,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;ACrCzB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACpCxB;AAAA;AAAA;AAAA;AAA4C;AACX;AACJ;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,wDAAI;AACpB,CAAC;;AAEc,yEAAU,E;;;;;;;;;;;;AChCzB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,mBAAmB;AACnB;AACA;AACA,+BAA+B;AAC/B,+BAA+B;AAC/B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC/BvB;AAAA;AAAA;AAA2B;AACM;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA;AACA,+BAA+B;AAC/B;;AAEA;AACA;AACA,0DAAM,CAAC,+CAAG;AACK,kEAAG,E;;;;;;;;;;;;ACrBlB;AAAA;AAAA;AAAA;AAA4C;AACX;AACQ;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,sDAAsD;AACtD,sDAAsD;AACtD;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,8DAAU,gBAAgB,8DAAU;AACpD,CAAC;;AAEc,kFAAmB,E;;;;;;;;;;;;AC5BlC;AAAA;AAAA;AAAA;AAA4C;AACX;AACgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAClD,qBAAqB,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AAClD,+CAA+C,QAAQ,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK;AACpF;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,kEAAc,sBAAsB,kEAAc;AAClE,CAAC;;AAEc,sFAAuB,E;;;;;;;;;;;;AChCtC;AAAA;AAAA;AAAA;AAA4D;AAChB;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,0BAA0B;AAC1B,uBAAuB;AACvB,oBAAoB;AACpB,mBAAmB;AACnB;AACA,sBAAsB;AACtB,qBAAqB;AACrB,oBAAoB;AACpB,mBAAmB;AACnB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2EAAe;AACf;AACA,yDAAK;;AAEU,mEAAI,E;;;;;;;;;;;;ACvCnB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACd;AACX;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,yCAAyC;AACzC,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,WAAW,0DAAM;AAC9B,SAAS,yDAAK;AACd,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACxDnB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,YAAY;AACZ;AACA;AACA;AACA,6CAA6C;AAC7C,6CAA6C;AAC7C,6CAA6C;AAC7C,6CAA6C;AAC7C,+BAA+B;AAC/B;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,wDAAI;AACb,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC/BvB;AAAA;AAAA;AAA4C;AACb;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;;AAEA,SAAS,yDAAK;AACd,CAAC;;AAEc,4EAAa,E;;;;;;;;;;;;ACxC5B;AAAA;AAAA;AAAA;AAAA;AAA4C;AACY;AACJ;AACrB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA,sDAAsD;AACtD;AACA,8CAA8C;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,gBAAgB,+DAAW;AACxC;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,yDAAK;AACd,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACjDxB;AAAA;AAAA;AAAA;AAA4C;AACY;AAChB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA,yEAAa,KAAK,yDAAK;AACvB;AACA;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACjClB;AAAA;AAAA;AAAA;AAAA;AAAsD;AACV;AACI;AACX;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,4BAA4B;AAC5B,4BAA4B;AAC5B;;AAEA;AACA;AACA,mEAAO;AACP,OAAO,qEAAS;AAChB,sFAAsF,cAAc,4DAAQ;AAC5G;;AAEA,SAAS,wEAAY;AACrB,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;AChCnB;AAAA;AAAA;AAAiC;AACW;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA,qCAAqC;AACrC,8CAA8C;AAC9C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AChCvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC9CpB;AAAA;AAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA,2DAAO;AACQ,sEAAO,E;;;;;;;;;;;;ACpBtB;AAAA;AAAA;AAA4C;AACN;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,mBAAmB,iBAAiB,EAAE;AACtC;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACnCtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU;AACnB,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,uBAAuB;AACvB;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACnCxB;AAAA;AAAA;AAA4C;AACI;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,uBAAuB;AACvB,0BAA0B;AAC1B,8BAA8B;AAC9B,oBAAoB,uBAAuB,EAAE,QAAQ,6BAA6B;AAClF,qDAAqD;AACrD;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,qEAAS;AAClB,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC7CvB;AAAA;AAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA,2DAAO;AACQ,sEAAO,E;;;;;;;;;;;;ACpBtB;AAAA;AAAA;AAAA;AAA4C;AACF;AACT;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA;AACA,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA,+DAA+D;AAC/D;AACA;AACA;AACA,+EAA+E;AAC/E;;AAEA;AACA;AACA,0DAAM;AACN,SAAS,mEAAO,+BAA+B,kEAAM;AACrD,CAAC;AACc,wEAAS,E;;;;;;;;;;;;ACxDxB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;ACnDxB;AAAA;AAAA;AAAA;AAA4C;AACjB;AACU;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;AACrD,qDAAqD;AACrD;;AAEA;AACA;AACA,mEAAO;AACP,oHAAoH,4DAAQ,KAAK,uDAAG;AACpI,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;ACpCvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;AACA;AACA,2BAA2B;AAC3B,+CAA+C;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;AACD;AACA,mEAAO;AACP;AACA,CAAC;AACc,mEAAI,E;;;;;;;;;;;;ACnCnB;AAAA;AAAA;AAAA;AAA0C;AACE;AACA;AAC5C;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA,sCAAsC,QAAQ,EAAE;AAChD,0BAA0B,aAAa;AACvC;AACA,0BAA0B,mCAAmC,kBAAkB,qBAAqB,iBAAiB;AACrH;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,kEAAM;AACf;AACA;AACA,KAAK;AACL,iCAAiC,mEAAO;AACxC;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;ACvCvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA,iBAAiB,EAAE;AACnB,kBAAkB;AAClB,sBAAsB;AACtB,oBAAoB;AACpB,qBAAqB;AACrB,mBAAmB;AACnB,wBAAwB;AACxB,uBAAuB,EAAE;AACzB,0BAA0B;AAC1B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACjCnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AClCtB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,2BAA2B;AAC3B;AACA;AACA,2BAA2B;AAC3B;AACA,0BAA0B;AAC1B;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,wDAAI;AACb,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACrCpB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC1CvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY,MAAM;AAClB;AACA;AACA;AACA,wBAAwB;AACxB;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACzCrB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACA;AACT;AACN;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,2DAAO,CAAC,gDAAI,EAAE,2DAAO;;AAEN,oEAAK,E;;;;;;;;;;;;AC5BpB;AAAA;AAAA;AAAA;AAA4C;AACA;AACP;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA,qBAAqB,KAAK,GAAG,KAAK;AAClC,qBAAqB,KAAK,GAAG,KAAK;AAClC,iDAAiD,QAAQ,KAAK,GAAG,KAAK,GAAG,KAAK;AAC9E;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,4DAAQ,OAAO,mEAAO;AAC/B,CAAC;;AAEc,wEAAS,E;;;;;;;;;;;;AChCxB;AAAA;AAAA;AAAqC;AACJ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,6BAA6B;AAC7B;;AAEA;AACA;AACA,0DAAM,CAAC,oDAAQ;AACA,mEAAI,E;;;;;;;;;;;;ACvBnB;AAAA;AAAA;AAAsC;AACM;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA,mEAAO;AACP,gBAAgB,wDAAI;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AC3CrB;AAAA;AAAA;AAAwD;AACZ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,0CAA0C;AAC1C,6BAA6B,IAAI,GAAG,eAAe;AACnD,uCAAuC;AACvC,uCAAuC;AACvC;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;;AAEA,SAAS,yEAAa;AACtB;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;AC9CvB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA,sBAAsB;AACtB,mBAAmB;AACnB;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AChCrB;AAAA;AAAA;AAAgD;AACjB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA,kCAAkC;AAClC,2CAA2C;AAC3C;;AAEA;AACA;AACA,yDAAK,CAAC,6DAAS;AACA,qEAAM,E;;;;;;;;;;;;ACvBrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,YAAY,EAAE;AACd;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;ACjCpB;AAAA;AAAA;AAAA;AAA4C;AACX;AACA;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,WAAW,gBAAgB;AAC3B,YAAY,MAAM;AAClB;AACA;AACA;AACA,0CAA0C;AAC1C,2CAA2C;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,MAAM,0DAAM;AAC3B,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AChCrB;AAAA;AAAA;AAA4C;AACX;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,YAAY,SAAS;AACrB;AACA;AACA;AACA,4DAA4D;AAC5D,4DAA4D;AAC5D,kDAAkD;AAClD,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM;AACf;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AChDtB;AAAA;AAAA;AAA4C;AACf;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,kBAAkB,iBAAiB,EAAE;AACrC;;AAEA;AACA;AACA,mEAAO;AACP,cAAc,wDAAI;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;ACpCrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,KAAK;AACd,WAAW,OAAO;AAClB,YAAY,MAAM;AAClB;AACA;AACA;AACA,8BAA8B,cAAc;AAC5C;AACA;AACA,sBAAsB;AACtB;;AAEA;AACA;AACA,mEAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,uEAAQ,E;;;;;;;;;;;;ACpCvB;AAAA;AAA4C;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAK;AAChB,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,uBAAuB,WAAW,EAAE;AACpC,uBAAuB,WAAW,EAAE;AACpC;;;AAGA;AACA;AACA,mEAAO;AACP;AACA;AACA;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACzCnB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB;AACA,WAAW,EAAE;AACb;AACA,YAAY,EAAE;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,kCAAkC;AAClC;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,mEAAI,E;;;;;;;;;;;;ACpCnB;AAAA;AAAA;AAA4C;AACN;AACtC;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,uBAAuB,KAAK,UAAU;AAC/C,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD,cAAc,iCAAiC,EAAE;AACjD;;AAEA;AACA;AACA,mEAAO;AACP;AACA,QAAQ,gEAAI;AACZ;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AClDpB;AAAA;AAAA;AAAA;AAAA;AAA4C;AACX;AACN;AACI;AAC/B;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,KAAK,UAAU;AAClC,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA,gCAAgC,WAAW;AAC3C;AACA,cAAc,KAAK,EAAE;AACrB,cAAc,WAAW,EAAE;AAC3B,cAAc,iBAAiB,EAAE;AACjC,cAAc,WAAW,EAAE;AAC3B;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,yDAAK,CAAC,uDAAG,CAAC,kDAAM;AACzB,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACvCtB;AAAA;AAAA;AAAA;AAAA;AAAgD;AACJ;AACf;AACI;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,2CAA2C;AAC3C;;AAEA;AACA;AACA,mEAAO;AACP,SAAS,0DAAM,CAAC,wDAAI,CAAC,6DAAS;AAC9B,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;AC9BtB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAI;AACf,WAAW,IAAI;AACf,YAAY,QAAQ;AACpB;AACA;AACA;AACA,0BAA0B;AAC1B,2BAA2B;AAC3B,2BAA2B;AAC3B,4BAA4B;AAC5B;;AAEA;AACA;AACA,mEAAO;AACP;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;AC7BlB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA,mEAAO;AACP,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC;;AAEc,oEAAK,E;;;;;;;;;;;;AC5CpB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA,yDAAyD,gBAAgB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,kEAAG,E;;;;;;;;;;;;ACpClB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,OAAO;AACnB;AACA;AACA,6CAA6C,OAAO;AACpD;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,qEAAM,E;;;;;;;;;;;;AClCrB;AAAA;AAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,YAAY,MAAM;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAEc,sEAAO,E;;;;;;;;;;;;ACzCtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA,8CAA8C,cAAc;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0FAA0F,aAAa;AACvG;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA,gGAAgG,eAAe;AAC/G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;;AC3Oa;;AAEb,IAAI,KAAqC,EAAE,EAE1C;AACD,mBAAmB,mBAAO,CAAC,0FAA+B;AAC1D;;;;;;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAA0B;AACnB;AACP;AACA,4CAAK;;AAEL,IAAI,IAAqC;AACzC;AACA;;AAEe,gFAAiB,E;;;;;;;;;;;;ACThC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAkD;AACf;AACW;AACG;;AAEjD;AACA;AACA;AACA;AACA,qBAAqB,qDAAO;AAC5B,2BAA2B,2DAAY;AACvC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,sBAAsB,qDAAO;AAC7B;AACA,GAAG;AACH,EAAE,uDAAS;AACX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,2BAA2B,0DAAiB;AAC5C,SAAS,4CAAK;AACd;AACA,GAAG;AACH;;AAEA,IAAI,IAAqC;AACzC;AACA,WAAW,iDAAS;AACpB,iBAAiB,iDAAS;AAC1B,gBAAgB,iDAAS;AACzB,gBAAgB,iDAAS;AACzB,KAAK;AACL,aAAa,iDAAS;AACtB,cAAc,iDAAS;AACvB;AACA;;AAEe,uEAAQ,E;;;;;;;;;;;;ACnDvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0C;AACjD;AACoB;AACN;AAChB;AAC8B;AACjC;;AAE9C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE,kGAAyB;AAC3B;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC;;AAExC;AACA,6BAA6B;;AAE7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,KAAK;;;AAGL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,IAAI;;;AAGJ;AACA,8BAA8B;AAC9B;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C,0DAAiB;AAC5D,uBAAuB,uGAA6B;;AAEpD,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA,qQAAqQ,UAAU,8BAA8B,UAAU,0CAA0C,oBAAoB;;AAErX;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC,KAAK,mEAAkB;AACpE;AACA;;AAEA;AACA;;AAEA,iCAAiC,kFAAQ,GAAG;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA,KAAK;AACL;AACA;;;AAGA,iCAAiC,6CAAO;AACxC;AACA;;AAEA;AACA,qBAAqB,qDAAO;AAC5B;AACA;AACA;AACA;AACA,2BAA2B,uGAA6B;;AAExD;AACA,OAAO;AACP;AACA;AACA;;AAEA,yBAAyB,qDAAO;AAChC;AACA;AACA,wDAAwD,kEAAiB,CAAC,4CAAK;AAC/E,OAAO,2BAA2B;;AAElC,yBAAyB,wDAAU,eAAe;AAClD;AACA;;AAEA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA,OAAO;;;AAGP;AACA,+BAA+B,qDAAO;AACtC;AACA;AACA;AACA,OAAO;;AAEP,sBAAsB,qDAAO;AAC7B,oEAAoE;AACpE;;AAEA,+BAA+B,2DAAY,kEAAkE;AAC7G;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,0CAA0C,oBAAoB,oBAAoB;AAClF;;;AAGA,mCAAmC,qDAAO;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;;AAGA,eAAe,kFAAQ,GAAG;AAC1B;AACA,SAAS;AACT,OAAO,uDAAuD;AAC9D;;AAEA,wBAAwB,wDAAU;AAClC;AACA;AACA,wDAAwD;;;AAGxD;AACA;AACA,OAAO;;;AAGP,2BAA2B,oDAAM;AACjC,6BAA6B,oDAAM;AACnC,sCAAsC,oDAAM;AAC5C,8BAA8B,oDAAM;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;;AAGA;AACA,OAAO,oDAAoD;AAC3D;AACA;;AAEA,iMAAiM;;AAEjM,0SAA0S;AAC1S;;AAEA,qCAAqC,qDAAO;AAC5C,eAAe,4CAAK,iCAAiC,kFAAQ,GAAG;AAChE;AACA,SAAS;AACT,OAAO,sDAAsD;AAC7D;;AAEA,0BAA0B,qDAAO;AACjC;AACA;AACA;AACA;AACA,iBAAiB,4CAAK;AACtB;AACA,WAAW;AACX;;AAEA;AACA,OAAO;AACP;AACA,KAAK;;;AAGL,yBAAyB,4CAAK;AAC9B;AACA;;AAEA;AACA,sBAAsB,4CAAK;AAC3B,eAAe,4CAAK,wBAAwB,kFAAQ,GAAG;AACvD;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,aAAa,8DAAY;AACzB;;AAEA,WAAW,8DAAY;AACvB;AACA,C;;;;;;;;;;;;AChXA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AAC0C;AACxC;AACX;AACqB;AACN;AACV;AACC;AACvD;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oCAAoC,QAAQ;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;;AAGO;AACP,kCAAkC;AAClC;AACA,gDAAgD,mEAAe;AAC/D;AACA,oEAAoE,wDAA+B;AACnG;AACA,uEAAuE,2DAAkC;AACzG;AACA,+DAA+D,mDAA0B;AACzF;AACA,0DAA0D,wDAAsB;;AAEhF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D,2DAAY;AAC1E;AACA,gEAAgE,2DAAY;AAC5E;AACA,iEAAiE,2DAAY;AAC7E,uBAAuB,uGAA6B;;AAEpD;AACA;AACA;AACA,uCAAuC,kFAAQ;AAC/C;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AAGA,2FAAe,E;;;;;;;;;;;;ACnGf;AAAA;AAAA;AAAA;AAAA;AAAA;AAA2C;AACmC;AACvE;AACP,oDAAoD,0EAAkB;AACtE;AACO;AACP,+BAA+B,8EAAsB;AACrD;AACA;AACA;AACA,GAAG;AACH;AACO;AACP,wEAAwE,8EAAsB;AAC9F,WAAW,gEAAkB;AAC7B,GAAG;AACH;AACe,kKAAmG,E;;;;;;;;;;;;ACjBlH;AAAA;AAAA;AAAA;AAA8E;AACvE;AACP,iDAAiD,0EAAkB;AACnE;AACO;AACP,4BAA4B,8EAAsB;AAClD;AACA,GAAG;AACH;AACe,4HAA6D,E;;;;;;;;;;;;ACT5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACC;AACpD;AACP,SAAS,kFAAQ,GAAG,cAAc,gBAAgB;AAClD;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,YAAY,IAAqC,EAAE,wEAAiB;AACpE;;AAEA;AACA;AACA;AACA;AACO;AACP;AACA;AACO;AACP;AACA;AACA,GAAG;AACH;AACe,kHAAmD,E;;;;;;;;;;;;ACnClE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAoG;AAC9C;AAC/C;AACP;AACA;AACA;AACA;AACO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,gBAAgB,uGAA6B;;AAE7C;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C,IAAI,mEAAkB;AACtB;;AAEA;AACA;AACA,C;;;;;;;;;;;;ACtFA;AAAA;AAAA;AAAuC;;AAEvC;AACA;AACA;AACA,GAAG;AACH;AACA,MAAM,8DAAO;AACb;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA,C;;;;;;;;;;;;AChBA;AAAA;AAAA;AAAA;AAAA;AAA2D;AACpD;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA,MAAM;;;AAGN;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,UAAU,IAAqC,EAAE,wEAAiB;AAClE;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;AC/DA;AAAA;AAAA;AAAA;AAAA;AAA0D;AACgB;AAC1E;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,SAAS;AACtB;;AAEO;AACP;AACA,cAAc,qEAAiB;AAC/B;;AAEA,6BAA6B,qEAAiB,GAAG,kDAAe,GAAG,iEAAe;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,aAAa;AAC1B;AACA;AACA;AACA,kBAAkB,cAAc;AAChC,WAAW,cAAc;AACzB;AACA,qCAAqC,QAAQ;AAC7C;AACA,yDAAyD,2BAA2B;AACpF;AACA;AACA,gBAAgB,MAAM;AACtB,0BAA0B,gBAAgB;AAC1C;AACA;AACA;AACA;;AAEO;AACP;AACA,qB;;;;;;;;;;;;AC5CA;AAAA;AAAA;AAAA;AAAA;AAAmC;AACuB;AAC1D;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,WAAW,kBAAkB;AAC7B;AACA,qCAAqC,QAAQ;AAC7C,YAAY,QAAQ;AACpB,kBAAkB,iBAAiB;AACnC;AACA;;AAEO;AACP,qBAAqB,wDAAU,CAAC,qEAAiB;;AAEjD,MAAM,KAAqC;AAC3C,8DAA8D;AAC9D;;AAEA;AACA,C;;;;;;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAgE;AACc;AAC7B;AAC8B;AACrB;;AAE1D;AACA;AACA;;AAEA;AACA,oBAAoB,wDAAU;AAC9B;AACA,GAAG;AACH;;AAEA,qBAAqB,qDAAO;AAC5B,eAAe,2DAAY;AAC3B,GAAG;AACH,wCAAwC,oDAAM;AAC9C,uBAAuB,oDAAM;AAC7B,4BAA4B,oDAAM;AAClC;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA,EAAE,kGAAyB;AAC3B;AACA;AACA;AACA,GAAG;AACH,EAAE,kGAAyB;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,SAAS;AACtB;;;AAGO;AACP;AACA,cAAc,qEAAiB;AAC/B;;AAEA,oCAAoC,qEAAiB,GAAG,gEAAsB;AAC9E,WAAW,wDAAU;AACrB;AACA;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,UAAU;AACrB;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;;AAEO;AACP;AACA,qB;;;;;;;;;;;;ACnIA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAmC;AACuB;AACoB;AAC9E;AACA;AACA;AACA,WAAW,cAAc;AACzB,aAAa,SAAS;AACtB;;AAEO;AACP;AACA,cAAc,qEAAiB;AAC/B;;AAEA,oCAAoC,qEAAiB,GAAG,gEAAsB;AAC9E,WAAW,wDAAU;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB;AACA;AACA;AACA,kBAAkB,iBAAiB;AACnC;AACA;;AAEO;AACP;AACA,kB;;;;;;;;;;;;AC3CA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;AACc;AACF;AACjB;AAC8B;AACA;AACT;AACpB;AACsC;AAC/B;AAChD,6DAAQ,CAAC,kFAAK;;;;;;;;;;;;;ACVd;AAAA;AAAA;AAAmC;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA,cAAc,uDAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA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,E;;;;;;;;;;;;ACFD;AAAgB;AAChB;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAgB;AAChB;AACA;;AAEA;AACA;AACA;;AAEA;AACA,CAAC,E;;;;;;;;;;;;ACTD;AAAgB;AAChB;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAgB;AAChB;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAgB;AAChB;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAA;AAAA;AAA4B;AACb;AACf,MAAM,sDAAK;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,C;;;;;;;;;;;;ACxBA;AAAgB;AAChB;AACA,CAAC,E;;;;;;;;;;;;ACFD;AAAA;AAAA;AAAA;AAAA;AAAiD;AACjB;AACI;AACrB;AACf,kCAAkC;AAClC;AACA,8CAA8C,4DAAiB;AAC/D;;AAEA;AACA,wBAAwB,0DAAS;;AAEjC,QAAQ,wDAAO;AACf;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;;;;;;;AC7BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEe,oEAAK,E;;;;;;;;;;;;ACnBpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAA6C;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,IAAI;AACf,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,WAAW,IAAI;AACf;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,IAAI;AACnB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;;;AAGA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,OAAO,yDAAY;AACxB;AACA,KAAK;AACL,GAAG;AACH;AACA;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG,QAAQ,yDAAY;AACvB;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG,aAAa;;AAEhB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,oEAAoE;AACpE;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;;;AAGA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;;AAEA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,oDAAoD;AACpD;;AAEA;;AAEA,MAAM,IAAqC;AAC3C;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,QAAQ,IAAqC;AAC7C;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,sEAAsE,aAAa;AACnF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;;AAEA;AACA,4EAA4E,aAAa;AACzF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B;AAC9B;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAqC;AACzC;AACA;;AAEgI;;;;;;;;;;;;;ACtpBnH;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gBAAgB,KAAwC,GAAG,sBAAiB,GAAG,SAAI;;AAEnF;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,qEAAqE,qBAAqB,aAAa;;AAEvG;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,yDAAyD;AACzD,GAAG;;AAEH;;;AAGA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;;AAEA;;AAEA,oBAAoB,6BAA6B;AACjD;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,E;;;;;;;;;;;;AC5QA;AAAA;AAAA;AACqC;;AAErC;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC,UAAU,IAA6B;AACxC;AACA,CAAC,MAAM,EAEN;;AAED,aAAa,4DAAQ;AACN,qEAAM,EAAC;;;;;;;;;;;;;;AClBtB;AAAA;AAAe;AACf;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;;;;;;;;;;;;;ACfA,YAAY,mBAAO,CAAC,4DAAe;;AA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AAsB,sBAAsB,8EAA8E,kCAAkC,2BAA2B,6BAA6B;;;;;AAK/uN;AACA;;AAEA;AACA;AACA,aAAa,0BAA0B;AACvC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA;AACA,iBAAiB;AACjB,OAAO;AACP,iBAAiB;AACjB;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;;AAEA,IAAI,IAA4D;AAChE,oBAAoB;AACpB,CAAC,MAAM,EAEN;;AAED;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;;;;ACzFD;AAAA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,qCAAqC;AACxE,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;;;AAGA;AACA,0DAA0D,EAAE;AAC5D;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA,mFAAmF;AACnF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;;AAEA,uCAAuC;AACvC,GAAG;AACH;;AAEA;AACA,oFAAoF;AACpF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,+CAA+C,6BAA6B;AAC5E;AACA;;AAEA;AACA,oCAAoC,2DAA2D;AAC/F;AACA;;AAEA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA,sFAAsF;AACtF;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,wFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,mBAAmB;AACxC;AACA;AACA;AACA,SAAS;AACT;;AAEA,uCAAuC,2FAA2F;AAClI;AACA,GAAG;AACH;AACA;AACA;;AAEA,+CAA+C,YAAY,gBAAgB;AAC3E;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;AAGA,+CAA+C,YAAY,gBAAgB;AAC3E;AACA,kDAAkD,qDAAqD;AACvG,SAAS;AACT,4CAA4C,qDAAqD;AACjG;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA,+CAA+C,YAAY,iBAAiB;AAC5E;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,CAAC;;AAEc,kEAAG,EAAC;;;;;;;;;;;;ACpUnB;AACA;AACA;;;;;;;;;;;;ACFA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;ACvBA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEO;AACP;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,qDAAqD;AACrD,OAAO;AACP;AACA,OAAO;AACP,4EAA4E;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,qBAAqB;AACjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA,qCAAqC,0BAA0B;AAC/D;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,6BAA6B,0BAA0B,eAAe;AACtE;;AAEO;AACP;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO;AACP;AACA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","file":"dash_renderer.dev.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\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}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n);var r=t(0),o=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(t(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},i=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return u(n)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=\"_dashprivate_historychange\",f=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}var n,t,r;return n=e,r=[{key:\"dispatchChangeEvent\",value:function(){window.dispatchEvent(new CustomEvent(c))}},{key:\"onChange\",value:function(e){return window.addEventListener(c,e),function(){return window.removeEventListener(c,e)}}}],(t=null)&&a(n.prototype,t),r&&a(n,r),e}();t.d(n,\"asyncDecorator\",(function(){return o})),t.d(n,\"inheritAsyncDecorator\",(function(){return i})),t.d(n,\"isReady\",(function(){return u})),t.d(n,\"History\",(function(){return f}))}])}));","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(name, definition)\n else root[name] = definition()\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)(o|0)s/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser'\n , whale: t\n , version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser'\n , mzbrowser: t\n , version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus'\n , focus: t\n , version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.whale && compareVersions([result.version, '1.0']) === 1) ||\n (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||\n (result.focus && compareVersions([result.version, '1.0']) === 1) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array<String>} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh <http://feross.org>\n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dash-callback-dag--container {\\n border-radius: 4px;\\n position: fixed;\\n bottom: 165px;\\n right: 16px;\\n max-width: 80vw;\\n max-height: calc(100vh - 180px);\\n overflow: auto;\\n box-sizing: border-box;\\n background: #ffffff;\\n display: inline-block;\\n /* shadow-1 */\\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\\n 0px 2px 6px rgba(80, 103, 132, 0.12),\\n 0px 0px 1px rgba(80, 103, 132, 0.32);\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".error-container {\\n margin-top: 10px;\\n}\\n\\n.dash-fe-errors {\\n min-width: 386px;\\n max-width: 650px;\\n max-height: 450px;\\n display: inline-block;\\n}\\n\\n.dash-fe-error__icon-error {\\n width: 20px;\\n height: 20px;\\n display: inline-block;\\n margin-right: 16px;\\n}\\n.dash-fe-error__icon-close {\\n width: 10px;\\n height: 10px;\\n position: absolute;\\n right: 12px;\\n top: 12px;\\n display: inline-block;\\n}\\n.dash-fe-error__icon-arrow {\\n width: 8px;\\n height: 28px;\\n margin: 0px 8px;\\n}\\n.dash-fe-error-top {\\n height: 20px;\\n display: flex;\\n justify-content: space-between;\\n width: 100%;\\n cursor: pointer;\\n}\\n.dash-fe-error-top__group:first-child {\\n /*\\n * 77% is the maximum space allowed based off of the other elements\\n * in the top part of the error container (timestamp & collapse arrow).\\n * this was manually determined */\\n width: 77%;\\n}\\n.dash-fe-error-top__group {\\n display: inline-flex;\\n align-items: center;\\n}\\n.dash-fe-error__title {\\n text-align: left;\\n margin: 0px;\\n margin-left: 5px;\\n padding: 0px;\\n font-size: 14px;\\n display: inline-block;\\n text-overflow: ellipsis;\\n white-space: nowrap;\\n overflow: hidden;\\n}\\n.dash-fe-error__timestamp {\\n margin-right: 20px;\\n}\\n.dash-fe-error__collapse--flipped {\\n -webkit-transform: rotate(180deg);\\n -ms-transform: rotate(180deg);\\n transform: rotate(180deg);\\n}\\n\\n.dash-fe-error__info_title {\\n margin: 0;\\n color: #506784;\\n font-size: 16px;\\n background-color: #f3f6fa;\\n border: 2px solid #dfe8f3;\\n box-sizing: border-box;\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n padding: 10px;\\n}\\n\\n.dash-fe-error__info {\\n border: 1px solid #dfe8f3;\\n margin: 0 0 1em 0;\\n padding: 10px;\\n\\n background-color: white;\\n border: 2px solid #dfe8f3;\\n color: #506784;\\n overflow: auto;\\n white-space: pre-wrap;\\n}\\n\\n.dash-fe-error__curved {\\n border-radius: 4px;\\n}\\n\\n.dash-fe-error__curved-top {\\n border-top-left-radius: 4px;\\n border-top-right-radius: 4px;\\n border-bottom-width: 0px;\\n}\\n\\n.dash-fe-error__curved-bottom {\\n border-radius-bottom-left: 4px;\\n border-radius-bottom-right: 4px;\\n background-color: #FFEFEF;\\n}\\n\\n.dash-be-error__st {\\n background-color: #fdf3f4;\\n min-width: 386px;\\n max-width: 650px;\\n /* iframe container handles the scrolling */\\n overflow: hidden;\\n display: inline-block;\\n}\\n\\n.dash-be-error__str {\\n background-color: #fdf3f4;\\n min-width: 386px;\\n max-width: 650px;\\n overflow: auto;\\n display: inline-block;\\n white-space: pre-wrap;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dash-error-menu {\\n max-width: 50%;\\n max-height: 60%;\\n display: contents;\\n font-family: monospace;\\n font-size: 14px;\\n font-variant-ligatures: common-ligatures;\\n}\\n\\n.dash-error-card {\\n box-sizing: border-box;\\n background: #ffffff;\\n display: inline-block;\\n /* shadow-1 */\\n box-shadow: 0px 6px 16px rgba(80, 103, 132, 0.165),\\n 0px 2px 6px rgba(80, 103, 132, 0.12),\\n 0px 0px 1px rgba(80, 103, 132, 0.32);\\n border-radius: 4px;\\n position: fixed;\\n top: 16px;\\n right: 16px;\\n animation: dash-error-card-animation 0.5s;\\n padding: 24px;\\n text-align: left;\\n background-color: white;\\n\\n}\\n.dash-error-card--alerts-tray {\\n position: absolute;\\n top: -300px;\\n left: -1px;\\n animation: none;\\n box-shadow: none;\\n border: 1px solid #ececec;\\n border-bottom: 0;\\n border-bottom-left-radius: 0px;\\n border-bottom-right-radius: 0px;\\n width: 422px;\\n}\\n.dash-error-card--container {\\n padding: 10px 10px;\\n width: 600px;\\n max-width: 800px;\\n max-height: calc(100vh - 50px);\\n margin: 10px;\\n overflow: auto;\\n z-index: 1001; /* above the plotly.js toolbar */\\n}\\n\\n.dash-error-card__topbar {\\n width: 100%;\\n height: 32px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n}\\n.dash-error-card__message {\\n font-size: 14px;\\n}\\n\\n.dash-error-card__message > strong {\\n color: #ff4500;\\n}\\n\\n.dash-error-card__content {\\n box-sizing: border-box;\\n padding: 10px 10px;\\n background-color: white;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 2px;\\n margin-bottom: 8px;\\n}\\n\\n.dash-error-card__list-item {\\n background: #ffffff;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 2px;\\n padding: 10px 10px;\\n margin-bottom: 10px;\\n display: flex;\\n align-items: center;\\n}\\n\\n@keyframes dash-error-card-animation {\\n from {\\n opacity: 0;\\n -webkit-transform: scale(1.1);\\n -moz-transform: scale(1.1);\\n -ms-transform: scale(1.1);\\n transform: scale(1.1);\\n }\\n to {\\n opacity: 1;\\n -webkit-transform: scale(1);\\n -moz-transform: scale(1);\\n -ms-transform: scale(1);\\n transform: scale(1);\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".percy-show {\\n display: none;\\n}\\n\\n@media only percy {\\n .percy-hide {\\n display: none;\\n }\\n .percy-show {\\n display: block;\\n }\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dash-debug-alert-container {\\n box-sizing: border-box;\\n background: #f3f6fa;\\n border-radius: 2px;\\n padding: 8px;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n transition: background-color 0.1s, border 0.1s;\\n}\\n.dash-debug-alert-container:hover {\\n cursor: pointer;\\n}\\n.dash-debug-alert-container--opened {\\n background-color: #119dff;\\n color: white;\\n}\\n.dash-debug-alert-container__icon {\\n width: 12px;\\n height: 12px;\\n margin-right: 4px;\\n}\\n.dash-debug-alert-container__icon--warning {\\n height: auto;\\n}\\n\\n.dash-debug-alert {\\n display: flex;\\n align-items: center;\\n font-size: 10px;\\n}\\n\\n.dash-debug-alert-label {\\n display: flex;\\n position: fixed;\\n bottom: 81px;\\n right: 29px;\\n z-index: 10001;\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 32px;\\n background-color: white;\\n padding: 4px;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".dash-debug-menu {\\n transition: width 0.05s, background-color 0.1s;\\n position: fixed;\\n bottom: 35px;\\n right: 35px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n z-index: 10000;\\n}\\n.dash-debug-menu--closed {\\n background-color: #119dff;\\n border-radius: 100%;\\n width: 64px;\\n height: 64px;\\n}\\n.dash-debug-menu--opened {\\n box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.25),\\n 0px 1px 3px rgba(162, 177, 198, 0.32);\\n border-radius: 4px;\\n padding: 12px 0px;\\n background-color: white;\\n}\\n\\n.dash-debug-menu--closed:hover {\\n cursor: pointer;\\n background-color: #108de4;\\n}\\n\\n.dash-debug-menu__icon {\\n width: 24px;\\n height: 28px;\\n}\\n.dash-debug-menu__icon--close {\\n width: 14px;\\n height: 14px;\\n}\\n.dash-debug-menu__icon--bell {\\n height: 24px;\\n width: 28px;\\n}\\n.dash-debug-menu__icon--debug {\\n height: 24px;\\n width: auto;\\n}\\n.dash-debug-menu__icon--graph {\\n height: 24px;\\n}\\n\\n.dash-debug-menu__content {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n}\\n\\n.dash-debug-menu__button-container {\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n align-items: center;\\n width: 74px;\\n margin-left: 10px;\\n}\\n.dash-debug-menu__button-label {\\n color: #A2B1C6;\\n font-size: 10px;\\n margin-top: 4px;\\n}\\n\\n.dash-debug-menu__button {\\n background-color: white;\\n border-radius: 100%;\\n border: 1px solid #B9C2CE;\\n width: 64px;\\n height: 64px;\\n font-size: 10px;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n transition: background-color 0.2s;\\n color: black;\\n}\\n.dash-debug-menu__button--enabled {\\n background-color: #00CC96;\\n color: white;\\n}\\n.dash-debug-menu__button--small {\\n width: 32px;\\n height: 32px;\\n background-color: #B9C2CE;\\n}\\n.dash-debug-menu__button:hover {\\n cursor: pointer;\\n background-color: #f5f5f5;\\n}\\n.dash-debug-menu__button--small:hover {\\n background-color: #a1a9b5;\\n}\\n\\n.dash-debug-menu__button--enabled:hover {\\n background-color: #03bb8a;\\n}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (useSourceMap) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item, useSourceMap);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join('');\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === 'string') {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, '']];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};\n\nfunction cssWithMappingToString(item, useSourceMap) {\n var content = item[1] || ''; // eslint-disable-next-line prefer-destructuring\n\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (useSourceMap && typeof btoa === 'function') {\n var sourceMapping = toComment(cssMapping);\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || '').concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join('\\n');\n }\n\n return [content].join('\\n');\n} // Adapted from convert-source-map (MIT)\n\n\nfunction toComment(sourceMap) {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n return \"/*# \".concat(data, \" */\");\n}","/**\n * A simple dependency graph\n */\n\n/**\n * Helper for creating a Topological Sort using Depth-First-Search on a set of edges.\n *\n * Detects cycles and throws an Error if one is detected (unless the \"circular\"\n * parameter is \"true\" in which case it ignores them).\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n * @param circular A boolean to allow circular dependencies\n */\nfunction createDFS(edges, leavesOnly, result, circular) {\n var visited = {};\n return function(start) {\n if (visited[start]) {\n return;\n }\n var inCurrentPath = {};\n var currentPath = [];\n var todo = []; // used as a stack\n todo.push({ node: start, processed: false });\n while (todo.length > 0) {\n var current = todo[todo.length - 1]; // peek at the todo stack\n var processed = current.processed;\n var node = current.node;\n if (!processed) {\n // Haven't visited edges yet (visiting phase)\n if (visited[node]) {\n todo.pop();\n continue;\n } else if (inCurrentPath[node]) {\n // It's not a DAG\n if (circular) {\n todo.pop();\n // If we're tolerating cycles, don't revisit the node\n continue;\n }\n currentPath.push(node);\n throw new DepGraphCycleError(currentPath);\n }\n\n inCurrentPath[node] = true;\n currentPath.push(node);\n var nodeEdges = edges[node];\n // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation)\n for (var i = nodeEdges.length - 1; i >= 0; i--) {\n todo.push({ node: nodeEdges[i], processed: false });\n }\n current.processed = true;\n } else {\n // Have visited edges (stack unrolling phase)\n todo.pop();\n currentPath.pop();\n inCurrentPath[node] = false;\n visited[node] = true;\n if (!leavesOnly || edges[node].length === 0) {\n result.push(node);\n }\n }\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\nvar DepGraph = (exports.DepGraph = function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n});\nDepGraph.prototype = {\n /**\n * The number of nodes in the graph.\n */\n size: function() {\n return Object.keys(this.nodes).length;\n },\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode: function(node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode: function(node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n [this.incomingEdges, this.outgoingEdges].forEach(function(edgeList) {\n Object.keys(edgeList).forEach(function(key) {\n var idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode: function(node) {\n return this.nodes.hasOwnProperty(node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData: function(node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData: function(node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency: function(from, to) {\n if (!this.hasNode(from)) {\n throw new Error(\"Node does not exist: \" + from);\n }\n if (!this.hasNode(to)) {\n throw new Error(\"Node does not exist: \" + to);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency: function(from, to) {\n var idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Return a clone of the dependency graph. If any custom data is attached\n * to the nodes, it will only be shallow copied.\n */\n clone: function() {\n var source = this;\n var result = new DepGraph();\n var keys = Object.keys(source.nodes);\n keys.forEach(function(n) {\n result.nodes[n] = source.nodes[n];\n result.outgoingEdges[n] = source.outgoingEdges[n].slice(0);\n result.incomingEdges[n] = source.incomingEdges[n].slice(0);\n });\n return result;\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf: function(node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(\n this.outgoingEdges,\n leavesOnly,\n result,\n this.circular\n );\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf: function(node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(\n this.incomingEdges,\n leavesOnly,\n result,\n this.circular\n );\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder: function(leavesOnly) {\n var self = this;\n var result = [];\n var keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n } else {\n if (!this.circular) {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n var CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular);\n keys.forEach(function(n) {\n CycleDFS(n);\n });\n }\n\n var DFS = createDFS(\n this.outgoingEdges,\n leavesOnly,\n result,\n this.circular\n );\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys\n .filter(function(node) {\n return self.incomingEdges[node].length === 0;\n })\n .forEach(function(n) {\n DFS(n);\n });\n\n // If we're allowing cycles - we need to run the DFS against any remaining\n // nodes that did not end up in the initial result (as they are part of a\n // subgraph that does not have a clear starting point)\n if (this.circular) {\n keys\n .filter(function(node) {\n return result.indexOf(node) === -1;\n })\n .forEach(function(n) {\n DFS(n);\n });\n }\n\n return result;\n }\n }\n};\n\n/**\n * Cycle error, including the path of the cycle.\n */\nvar DepGraphCycleError = (exports.DepGraphCycleError = function(cyclePath) {\n var message = \"Dependency Cycle Found: \" + cyclePath.join(\" -> \");\n var instance = new Error(message);\n instance.cyclePath = cyclePath;\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\n if (Error.captureStackTrace) {\n Error.captureStackTrace(instance, DepGraphCycleError);\n }\n return instance;\n});\nDepGraphCycleError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\nObject.setPrototypeOf(DepGraphCycleError, Error);\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","/**\n * inspired by is-number <https://github.com/jonschlinkert/is-number>\n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n'use strict';\n\nvar allBlankCharCodes = require('is-string-blank');\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = require('../utils/getBrowserInformation');\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = require('../utils/getPrefixedKeyframes');\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: 'prefix',\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: '_prefixStyle',\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: 'prefixAll',\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + 'calc('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n 'zoom-in': true,\n 'zoom-out': true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + 'filter('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n 'inline-flex': true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n};\n\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nvar otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) {\n return cssPrefix + grad;\n }), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + 'image-set('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n\n // TODO: chrome & opera support it\n};function sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : '');\n }\n });\n });\n\n return multipleValues.join(',');\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('../utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\nfunction calc(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = require('bowser');\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: 'Webkit',\n safari: 'Webkit',\n ios: 'Webkit',\n android: 'Webkit',\n phantom: 'Webkit',\n opera: 'Webkit',\n webos: 'Webkit',\n blackberry: 'Webkit',\n bada: 'Webkit',\n tizen: 'Webkit',\n chromium: 'Webkit',\n vivaldi: 'Webkit',\n firefox: 'Moz',\n seamoney: 'Moz',\n sailfish: 'Moz',\n msie: 'ms',\n msedge: 'ms'\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: 'chrome',\n chromium: 'chrome',\n safari: 'safari',\n firfox: 'firefox',\n msedge: 'edge',\n opera: 'opera',\n vivaldi: 'opera',\n msie: 'ie'\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return 'firefox';\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return 'ios_saf';\n } else if (browserInfo.android) {\n return 'android';\n } else if (browserInfo.opera) {\n return 'op_mini';\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, ''));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-';\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = 'and_chr';\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) {\n browserInfo.browserName = 'and_chr';\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = 'keyframes';\n\n if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedValue;\nfunction getPrefixedValue(prefixedValue, value, keepUnprefixed) {\n if (keepUnprefixed) {\n return [prefixedValue, value];\n }\n return prefixedValue;\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","'use strict';\r\n\r\n/**\r\n * Is this string all whitespace?\r\n * This solution kind of makes my brain hurt, but it's significantly faster\r\n * than !str.trim() or any other solution I could find.\r\n *\r\n * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character\r\n * and verified with:\r\n *\r\n * for(var i = 0; i < 65536; i++) {\r\n * var s = String.fromCharCode(i);\r\n * if(+s===0 && !s.trim()) console.log(i, s);\r\n * }\r\n *\r\n * which counts a couple of these as *not* whitespace, but finds nothing else\r\n * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears\r\n * that there are no whitespace characters above this, and code points above\r\n * this do not map onto white space characters.\r\n */\r\n\r\nmodule.exports = function(str){\r\n var l = str.length,\r\n a;\r\n for(var i = 0; i < l; i++) {\r\n a = str.charCodeAt(i);\r\n if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) &&\r\n (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) &&\r\n (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) &&\r\n (a !== 8288) && (a !== 12288) && (a !== 65279)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","module.exports = curry;\n\n/*\n function add(a, b, c) {\n return a + b + c;\n }\n curry(add)(1)(2)(3); // 6\n curry(add)(1)(2)(2); // 5\n curry(add)(2)(4, 3); // 9\n\n function add(...args) {\n return args.reduce((sum, n) => sum + n, 0)\n }\n var curryAdd4 = curry(add, 4)\n curryAdd4(1)(2, 3)(4); // 10\n\n function converter(ratio, input) {\n return (input*ratio).toFixed(1);\n }\n const curriedConverter = curry(converter)\n const milesToKm = curriedConverter(1.62);\n milesToKm(35); // 56.7\n milesToKm(10); // 16.2\n*/\n\nfunction curry(fn, arity) {\n return function curried() {\n if (arity == null) {\n arity = fn.length;\n }\n var args = [].slice.call(arguments);\n if (args.length >= arity) {\n return fn.apply(this, args);\n } else {\n return function() {\n return curried.apply(this, args.concat([].slice.call(arguments)));\n };\n }\n };\n}\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","import appendPxIfNeeded from './append-px-if-needed';\nimport mapObject from './map-object';\nexport default function appendImportantToEachValue(style) {\n return mapObject(style, function (result, key) {\n return appendPxIfNeeded(key, style[key]) + ' !important';\n });\n}","// Copied from https://github.com/facebook/react/blob/\n// b87aabdfe1b7461e7331abb3601d9e6bb27544bc/\n// packages/react-dom/src/shared/CSSProperty.js\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nexport default function appendPxIfNeeded(propertyName, value) {\n var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0;\n return needsPxSuffix ? value + 'px' : value;\n}","var _camelCaseRegex = /([a-z])?([A-Z])/g;\n\nvar _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) {\n return (p1 || '') + '-' + p2.toLowerCase();\n};\n\nexport var camelCaseToDashCase = function camelCaseToDashCase(s) {\n return s.replace(_camelCaseRegex, _camelCaseReplacer);\n};\n\nvar camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) {\n // Since prefix is expected to work on inline style objects, we must\n // translate the keys to dash case for rendering to CSS.\n return Object.keys(prefixedStyle).reduce(function (result, key) {\n var dashCaseKey = camelCaseToDashCase(key); // Fix IE vendor prefix\n\n if (/^ms-/.test(dashCaseKey)) {\n dashCaseKey = \"-\".concat(dashCaseKey);\n }\n\n result[dashCaseKey] = prefixedStyle[key];\n return result;\n }, {});\n};\n\nexport default camelCasePropsToDashCase;","/* flow */\nvar cleanStateKey = function cleanStateKey(key) {\n return key === null || typeof key === 'undefined' ? 'main' : key.toString();\n};\n\nexport default cleanStateKey;","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { useContext, useRef } from 'react';\nimport Enhancer from '../enhancer';\nimport StyleKeeper from '../style-keeper';\nimport StyleSheet from './style-sheet';\nimport { StyleKeeperContext, RadiumConfigContext } from '../context';\n\nfunction getStyleKeeper(configProp, configContext) {\n var userAgent = configProp && configProp.userAgent || configContext && configContext.userAgent;\n return new StyleKeeper(userAgent);\n}\n\nvar StyleRootInner = Enhancer(function (_ref) {\n var children = _ref.children,\n otherProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n return React.createElement(\"div\", otherProps, children, React.createElement(StyleSheet, null));\n});\n\nvar StyleRoot = function StyleRoot(props) {\n /* eslint-disable no-unused-vars */\n // Pass down all props except config to the rendered div.\n\n /* eslint-enable no-unused-vars */\n var radiumConfig = props.radiumConfig;\n var configContext = useContext(RadiumConfigContext);\n var styleKeeper = useRef(getStyleKeeper(radiumConfig, configContext));\n return React.createElement(StyleKeeperContext.Provider, {\n value: styleKeeper.current\n }, React.createElement(StyleRootInner, props));\n};\n\nexport default StyleRoot;","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { Component } from 'react';\nimport StyleKeeper from '../style-keeper';\nimport { withRadiumContexts } from '../context';\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(StyleSheet, _Component);\n\n // eslint-disable-next-line react/sort-comp\n function StyleSheet() {\n var _this;\n\n _classCallCheck(this, StyleSheet);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(StyleSheet).apply(this, arguments));\n _this.styleKeeper = void 0;\n _this._subscription = void 0;\n _this._root = void 0;\n _this._css = void 0;\n\n _this._onChange = function () {\n var nextCSS = _this.styleKeeper.getCSS();\n\n if (nextCSS !== _this._css) {\n if (_this._root) {\n _this._root.innerHTML = nextCSS;\n } else {\n throw new Error('No root style object found, even after StyleSheet mount.');\n }\n\n _this._css = nextCSS;\n }\n };\n\n if (!_this.props.styleKeeperContext) {\n throw new Error('StyleRoot is required to use StyleSheet');\n }\n\n _this.styleKeeper = _this.props.styleKeeperContext;\n _this._css = _this.styleKeeper.getCSS();\n return _this;\n }\n\n _createClass(StyleSheet, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._subscription = this.styleKeeper.subscribe(this._onChange);\n\n this._onChange();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this._subscription) {\n this._subscription.remove();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: this._css\n },\n ref: function ref(c) {\n _this2._root = c;\n }\n });\n }\n }]);\n\n return StyleSheet;\n}(Component);\n\nexport default withRadiumContexts(StyleSheet);","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport cssRuleSetToString from '../css-rule-set-to-string';\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRadiumContexts } from '../context';\n\nvar Style =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Style, _PureComponent);\n\n function Style() {\n _classCallCheck(this, Style);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Style).apply(this, arguments));\n }\n\n _createClass(Style, [{\n key: \"_buildStyles\",\n value: function _buildStyles(styles) {\n var _this = this;\n\n var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.props.radiumConfigContext && this.props.radiumConfigContext.userAgent;\n var scopeSelector = this.props.scopeSelector;\n var rootRules = Object.keys(styles).reduce(function (accumulator, selector) {\n if (_typeof(styles[selector]) !== 'object') {\n accumulator[selector] = styles[selector];\n }\n\n return accumulator;\n }, {});\n var rootStyles = Object.keys(rootRules).length ? cssRuleSetToString(scopeSelector || '', rootRules, userAgent) : '';\n return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) {\n var rules = styles[selector];\n\n if (selector === 'mediaQueries') {\n accumulator += _this._buildMediaQueryString(rules);\n } else if (_typeof(styles[selector]) === 'object') {\n var completeSelector = scopeSelector ? selector.split(',').map(function (part) {\n return scopeSelector + ' ' + part.trim();\n }).join(',') : selector;\n accumulator += cssRuleSetToString(completeSelector, rules, userAgent);\n }\n\n return accumulator;\n }, '');\n }\n }, {\n key: \"_buildMediaQueryString\",\n value: function _buildMediaQueryString(stylesByMediaQuery) {\n var _this2 = this;\n\n var mediaQueryString = '';\n Object.keys(stylesByMediaQuery).forEach(function (query) {\n mediaQueryString += '@media ' + query + '{' + _this2._buildStyles(stylesByMediaQuery[query]) + '}';\n });\n return mediaQueryString;\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.props.rules) {\n return null;\n }\n\n var styles = this._buildStyles(this.props.rules);\n\n return React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: styles\n }\n });\n }\n }]);\n\n return Style;\n}(PureComponent);\n\nStyle.propTypes = {\n radiumConfig: PropTypes.object,\n rules: PropTypes.object,\n scopeSelector: PropTypes.string\n};\nStyle.defaultProps = {\n scopeSelector: ''\n};\nexport default withRadiumContexts(Style);","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { useContext } from 'react';\nimport hoistStatics from 'hoist-non-react-statics';\nimport StyleKeeper from './style-keeper';\nexport var StyleKeeperContext = React.createContext(undefined);\nexport var RadiumConfigContext = React.createContext(undefined);\nexport function withRadiumContexts(WrappedComponent) {\n var WithRadiumContexts = React.forwardRef(function (props, ref) {\n var radiumConfigContext = useContext(RadiumConfigContext);\n var styleKeeperContext = useContext(StyleKeeperContext);\n return React.createElement(WrappedComponent, _extends({\n ref: ref\n }, props, {\n radiumConfigContext: radiumConfigContext,\n styleKeeperContext: styleKeeperContext\n }));\n });\n WithRadiumContexts.displayName = \"withRadiumContexts(\".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', \")\");\n return hoistStatics(WithRadiumContexts, WrappedComponent);\n}","import appendPxIfNeeded from './append-px-if-needed';\nimport camelCasePropsToDashCase from './camel-case-props-to-dash-case';\nimport mapObject from './map-object';\nimport { getPrefixedStyle } from './prefixer';\n\nfunction createMarkupForStyles(style) {\n return Object.keys(style).map(function (property) {\n return property + ': ' + style[property] + ';';\n }).join('\\n');\n}\n\nexport default function cssRuleSetToString(selector, rules, userAgent) {\n if (!rules) {\n return '';\n }\n\n var rulesWithPx = mapObject(rules, function (value, key) {\n return appendPxIfNeeded(key, value);\n });\n var prefixedRules = getPrefixedStyle(rulesWithPx, userAgent);\n var cssPrefixedRules = camelCasePropsToDashCase(prefixedRules);\n var serializedRules = createMarkupForStyles(cssPrefixedRules);\n return selector + '{' + serializedRules + '}';\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport React, { useState, useContext, useRef, useEffect, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\nimport resolveStyles from './resolve-styles';\nimport getRadiumStyleState from './get-radium-style-state';\nimport { RadiumConfigContext, withRadiumContexts } from './context';\nimport { StyleKeeperContext } from './context';\nvar KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type'];\nvar RADIUM_PROTO;\nvar RADIUM_METHODS;\n\nfunction copyProperties(source, target) {\n Object.getOwnPropertyNames(source).forEach(function (key) {\n if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, key);\n descriptor && Object.defineProperty(target, key, descriptor);\n }\n });\n} // Handle scenarios of:\n// - Inherit from `React.Component` in any fashion\n// See: https://github.com/FormidableLabs/radium/issues/738\n// - There's an explicit `render` field defined\n\n\nfunction isStateless(component) {\n var proto = component.prototype || {};\n return !component.isReactComponent && !proto.isReactComponent && !component.render && !proto.render;\n} // Check if value is a real ES class in Native / Node code.\n// See: https://stackoverflow.com/a/30760236\n\n\nfunction isNativeClass(component) {\n return typeof component === 'function' && /^\\s*class\\s+/.test(component.toString());\n} // Handle es7 arrow functions on React class method names by detecting\n// and transfering the instance method to original class prototype.\n// (Using a copy of the class).\n// See: https://github.com/FormidableLabs/radium/issues/738\n\n\nfunction copyArrowFuncs(enhancedSelf, ComposedComponent) {\n RADIUM_METHODS.forEach(function (name) {\n var thisDesc = Object.getOwnPropertyDescriptor(enhancedSelf, name);\n var thisMethod = (thisDesc || {}).value; // Only care if have instance method.\n\n if (!thisMethod) {\n return;\n }\n\n var radiumDesc = Object.getOwnPropertyDescriptor(RADIUM_PROTO, name);\n var radiumProtoMethod = (radiumDesc || {}).value;\n var superProtoMethod = ComposedComponent.prototype[name]; // Allow transfer when:\n // 1. have an instance method\n // 2. the super class prototype doesn't have any method\n // 3. it is not already the radium prototype's\n\n if (!superProtoMethod && thisMethod !== radiumProtoMethod) {\n // Transfer dynamic render component to Component prototype (copy).\n thisDesc && Object.defineProperty(ComposedComponent.prototype, name, thisDesc); // Remove instance property, leaving us to have a contrived\n // inheritance chain of (1) radium, (2) superclass.\n\n delete enhancedSelf[name];\n }\n });\n}\n\nfunction trimRadiumState(enhancer) {\n if (enhancer._extraRadiumStateKeys && enhancer._extraRadiumStateKeys.length > 0) {\n var trimmedRadiumState = enhancer._extraRadiumStateKeys.reduce(function (state, key) {\n // eslint-disable-next-line no-unused-vars\n var extraStateKey = state[key],\n remainingState = _objectWithoutProperties(state, [key].map(_toPropertyKey));\n\n return remainingState;\n }, getRadiumStyleState(enhancer));\n\n enhancer._lastRadiumState = trimmedRadiumState;\n enhancer.setState({\n _radiumStyleState: trimmedRadiumState\n });\n }\n}\n\nfunction cleanUpEnhancer(enhancer) {\n var _radiumMouseUpListener = enhancer._radiumMouseUpListener,\n _radiumMediaQueryListenersByQuery = enhancer._radiumMediaQueryListenersByQuery;\n enhancer._radiumIsMounted = false;\n\n if (_radiumMouseUpListener) {\n _radiumMouseUpListener.remove();\n }\n\n if (_radiumMediaQueryListenersByQuery) {\n Object.keys(_radiumMediaQueryListenersByQuery).forEach(function (query) {\n _radiumMediaQueryListenersByQuery[query].remove();\n }, enhancer);\n }\n}\n\nfunction resolveConfig(propConfig, contextConfig, hocConfig) {\n var config = propConfig || contextConfig || hocConfig;\n\n if (hocConfig && config !== hocConfig) {\n config = _objectSpread({}, hocConfig, config);\n }\n\n return config;\n}\n\nfunction renderRadiumComponent(enhancer, renderedElement, resolvedConfig, propConfig) {\n var _resolveStyles = resolveStyles(enhancer, renderedElement, resolvedConfig),\n extraStateKeyMap = _resolveStyles.extraStateKeyMap,\n element = _resolveStyles.element;\n\n enhancer._extraRadiumStateKeys = Object.keys(extraStateKeyMap);\n\n if (propConfig) {\n return React.createElement(RadiumConfigContext.Provider, {\n value: propConfig\n }, element);\n }\n\n return element;\n}\n\nfunction createEnhancedFunctionComponent(origComponent, config) {\n var RadiumEnhancer = React.forwardRef(function (props, ref) {\n var radiumConfig = props.radiumConfig,\n otherProps = _objectWithoutProperties(props, [\"radiumConfig\"]);\n\n var radiumConfigContext = useContext(RadiumConfigContext);\n var styleKeeperContext = useContext(StyleKeeperContext);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var enhancerApi = useRef({\n state: state,\n setState: setState,\n _radiumMediaQueryListenersByQuery: undefined,\n _radiumMouseUpListener: undefined,\n _radiumIsMounted: true,\n _lastRadiumState: undefined,\n _extraRadiumStateKeys: undefined,\n _radiumStyleKeeper: styleKeeperContext\n }).current; // result of useRef is never recreated and is designed to be mutable\n // we need to make sure the latest state is attached to it\n\n enhancerApi.state = state;\n useEffect(function () {\n return function () {\n cleanUpEnhancer(enhancerApi);\n };\n }, [enhancerApi]);\n var hasExtraStateKeys = enhancerApi._extraRadiumStateKeys && enhancerApi._extraRadiumStateKeys.length > 0;\n useEffect(function () {\n trimRadiumState(enhancerApi);\n }, [hasExtraStateKeys, enhancerApi]);\n var renderedElement = origComponent(otherProps, ref);\n var currentConfig = resolveConfig(radiumConfig, radiumConfigContext, config);\n return renderRadiumComponent(enhancerApi, renderedElement, currentConfig, radiumConfig);\n });\n RadiumEnhancer._isRadiumEnhanced = true;\n RadiumEnhancer.defaultProps = origComponent.defaultProps;\n return hoistStatics(RadiumEnhancer, origComponent);\n}\n\nfunction createEnhancedClassComponent(origComponent, ComposedComponent, config) {\n var RadiumEnhancer =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(RadiumEnhancer, _ComposedComponent);\n\n // need to attempt to assign to this.state in case\n // super component is setting state on construction,\n // otherwise class properties reinitialize to undefined\n // need to assign the following methods to this.xxx as\n // tests attempt to set this on the original component\n function RadiumEnhancer() {\n var _this;\n\n _classCallCheck(this, RadiumEnhancer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(RadiumEnhancer).apply(this, arguments));\n _this.state = _this.state || {};\n _this._radiumStyleKeeper = _this.props.styleKeeperContext;\n _this._radiumMediaQueryListenersByQuery = _this._radiumMediaQueryListenersByQuery;\n _this._radiumMouseUpListener = _this._radiumMouseUpListener;\n _this._radiumIsMounted = true;\n _this._lastRadiumState = void 0;\n _this._extraRadiumStateKeys = void 0;\n _this.state._radiumStyleState = {};\n\n var self = _assertThisInitialized(_this); // Handle es7 arrow functions on React class method\n\n\n copyArrowFuncs(self, ComposedComponent);\n return _this;\n }\n\n _createClass(RadiumEnhancer, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, snapshot) {\n if (_get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, snapshot);\n }\n\n trimRadiumState(this);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (_get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentWillUnmount\", this)) {\n _get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentWillUnmount\", this).call(this);\n }\n\n cleanUpEnhancer(this);\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderedElement = _get(_getPrototypeOf(RadiumEnhancer.prototype), \"render\", this).call(this);\n\n var currentConfig = resolveConfig(this.props.radiumConfig, this.props.radiumConfigContext, config);\n return renderRadiumComponent(this, renderedElement, currentConfig, this.props.radiumConfig);\n }\n }]);\n\n return RadiumEnhancer;\n }(ComposedComponent); // Lazy infer the method names of the Enhancer.\n\n\n RadiumEnhancer._isRadiumEnhanced = true;\n RADIUM_PROTO = RadiumEnhancer.prototype;\n RADIUM_METHODS = Object.getOwnPropertyNames(RADIUM_PROTO).filter(function (n) {\n return n !== 'constructor' && typeof RADIUM_PROTO[n] === 'function';\n }); // Class inheritance uses Object.create and because of __proto__ issues\n // with IE <10 any static properties of the superclass aren't inherited and\n // so need to be manually populated.\n // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below-\n\n copyProperties(origComponent, RadiumEnhancer);\n\n if (process.env.NODE_ENV !== 'production') {\n // This also fixes React Hot Loader by exposing the original components top\n // level prototype methods on the Radium enhanced prototype as discussed in\n // https://github.com/FormidableLabs/radium/issues/219.\n copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype);\n } // add Radium propTypes to enhanced component's propTypes\n\n\n if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) {\n RadiumEnhancer.propTypes = _objectSpread({}, RadiumEnhancer.propTypes, {\n style: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n });\n } // copy display name to enhanced component\n\n\n RadiumEnhancer.displayName = origComponent.displayName || origComponent.name || 'Component';\n return withRadiumContexts(RadiumEnhancer);\n}\n\nfunction createComposedFromNativeClass(ComposedComponent) {\n ComposedComponent = function (OrigComponent) {\n function NewComponent() {\n // Use Reflect.construct to simulate 'new'\n var obj = Reflect.construct(OrigComponent, arguments, this.constructor);\n return obj;\n } // $FlowFixMe\n\n\n Reflect.setPrototypeOf(NewComponent.prototype, OrigComponent.prototype); // $FlowFixMe\n\n Reflect.setPrototypeOf(NewComponent, OrigComponent);\n return NewComponent;\n }(ComposedComponent);\n\n return ComposedComponent;\n}\n\nvar ReactForwardRefSymbol = forwardRef(function () {\n return null;\n}).$$typeof;\nexport default function enhanceWithRadium(configOrComposedComponent) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (ReactForwardRefSymbol && configOrComposedComponent.$$typeof === ReactForwardRefSymbol) {\n return createEnhancedFunctionComponent(configOrComposedComponent.render, config);\n }\n\n if (typeof configOrComposedComponent !== 'function') {\n return createFactoryFromConfig(config, configOrComposedComponent);\n }\n\n var origComponent = configOrComposedComponent; // Handle stateless components\n\n if (isStateless(origComponent)) {\n return createEnhancedFunctionComponent(origComponent, config);\n }\n\n var _ComposedComponent2 = origComponent; // Radium is transpiled in npm, so it isn't really using es6 classes at\n // runtime. However, the user of Radium might be. In this case we have\n // to maintain forward compatibility with native es classes.\n\n if (isNativeClass(_ComposedComponent2)) {\n _ComposedComponent2 = createComposedFromNativeClass(_ComposedComponent2);\n } // Shallow copy composed if still original (we may mutate later).\n\n\n if (_ComposedComponent2 === origComponent) {\n _ComposedComponent2 =\n /*#__PURE__*/\n function (_ComposedComponent3) {\n _inherits(ComposedComponent, _ComposedComponent3);\n\n function ComposedComponent() {\n _classCallCheck(this, ComposedComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ComposedComponent).apply(this, arguments));\n }\n\n return ComposedComponent;\n }(_ComposedComponent2);\n }\n\n return createEnhancedClassComponent(origComponent, _ComposedComponent2, config);\n}\n\nfunction createFactoryFromConfig(config, configOrComposedComponent) {\n var newConfig = _objectSpread({}, config, configOrComposedComponent);\n\n return function (configOrComponent) {\n return enhanceWithRadium(configOrComponent, newConfig);\n };\n}","var getRadiumStyleState = function getRadiumStyleState(component) {\n return component._lastRadiumState || component.state && component.state._radiumStyleState || {};\n};\n\nexport default getRadiumStyleState;","var getStateKey = function getStateKey(renderedElement) {\n return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key;\n};\n\nexport default getStateKey;","import cleanStateKey from './clean-state-key';\n\nvar getState = function getState(state, elementKey, value) {\n var key = cleanStateKey(elementKey);\n return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value];\n};\n\nexport default getState;","// a simple djb2 hash based on hash-string:\n// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js\n// returns a hex-encoded hash\nexport default function hash(text) {\n if (!text) {\n return '';\n }\n\n var hashValue = 5381;\n var index = text.length - 1;\n\n while (index) {\n hashValue = hashValue * 33 ^ text.charCodeAt(index);\n index -= 1;\n }\n\n return (hashValue >>> 0).toString(16);\n}","import Enhancer from './enhancer';\nimport Plugins from './plugins';\nimport Style from './components/style';\nimport StyleRoot from './components/style-root';\nimport getState from './get-state';\nimport keyframes from './keyframes';\nimport resolveStyles from './resolve-styles';\n\nfunction Radium(ComposedComponent) {\n return Enhancer(ComposedComponent);\n} // Legacy object support.\n//\n// Normally it would be disfavored to attach these to the `Radium` object\n// because it defeats tree-shaking, using instead the ESM exports. But,\n// the `Radium` `Enhancer` uses **all** of these, so there's no extra \"cost\"\n// to them being explicitly on the `Radium` object.\n\n\nRadium.Plugins = Plugins;\nRadium.Style = Style;\nRadium.StyleRoot = StyleRoot;\nRadium.getState = getState;\nRadium.keyframes = keyframes;\n\nif (process.env.NODE_ENV !== 'production') {\n Radium.TestMode = {\n clearState: resolveStyles.__clearStateForTests,\n disable: resolveStyles.__setTestMode.bind(null, false),\n enable: resolveStyles.__setTestMode.bind(null, true)\n };\n}\n\nexport default Radium; // ESM re-exports\n\nexport { Plugins, Style, StyleRoot, getState, keyframes };","import cssRuleSetToString from './css-rule-set-to-string';\nimport hash from './hash';\nimport { getPrefixedKeyframes } from './prefixer';\nexport default function keyframes(keyframeRules, name) {\n return {\n __radiumKeyframes: true,\n __process: function __process(userAgent) {\n var keyframesPrefixed = getPrefixedKeyframes(userAgent);\n var rules = Object.keys(keyframeRules).map(function (percentage) {\n return cssRuleSetToString(percentage, keyframeRules[percentage], userAgent);\n }).join('\\n');\n var animationName = (name ? name + '-' : '') + 'radium-animation-' + hash(rules);\n var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\\n' + rules + '\\n}\\n';\n return {\n css: css,\n animationName: animationName\n };\n }\n };\n}","export default function mapObject(object, mapper) {\n return Object.keys(object).reduce(function (result, key) {\n result[key] = mapper(object[key], key);\n return result;\n }, {});\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport function isNestedStyle(value) {\n // Don't merge objects overriding toString, since they should be converted\n // to string values.\n return value && value.constructor === Object && value.toString === Object.prototype.toString;\n} // Merge style objects. Deep merge plain object values.\n\nexport function mergeStyles(styles) {\n var result = {};\n styles.forEach(function (style) {\n if (!style || _typeof(style) !== 'object') {\n return;\n }\n\n if (Array.isArray(style)) {\n style = mergeStyles(style);\n }\n\n Object.keys(style).forEach(function (key) {\n // Simple case, nothing nested\n if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) {\n result[key] = style[key];\n return;\n } // If nested media, don't merge the nested styles, append a space to the\n // end (benign when converted to CSS). This way we don't end up merging\n // media queries that appear later in the chain with those that appear\n // earlier.\n\n\n if (key.indexOf('@media') === 0) {\n var newKey = key; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n newKey += ' ';\n\n if (!result[newKey]) {\n result[newKey] = style[key];\n return;\n }\n }\n } // Merge all other nested styles recursively\n\n\n result[key] = mergeStyles([result[key], style[key]]);\n });\n });\n return result;\n}","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _checkProps = function checkProps() {};\n\nif (process.env.NODE_ENV !== 'production') {\n // Warn if you use longhand and shorthand properties in the same style\n // object.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n var shorthandPropertyExpansions = {\n background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'],\n border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction']\n };\n\n _checkProps = function checkProps(config) {\n var componentName = config.componentName,\n style = config.style;\n\n if (_typeof(style) !== 'object' || !style) {\n return;\n }\n\n var styleKeys = Object.keys(style);\n styleKeys.forEach(function (styleKey) {\n if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) {\n return styleKeys.indexOf(sp) !== -1;\n })) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable no-console */\n console.warn('Radium: property \"' + styleKey + '\" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.');\n /* eslint-enable no-console */\n }\n }\n });\n styleKeys.forEach(function (k) {\n return _checkProps(_objectSpread({}, config, {\n style: style[k]\n }));\n });\n return;\n };\n}\n\nexport default _checkProps;","/* eslint-disable block-scoped-const */\nimport checkPropsPlugin from './check-props-plugin';\nimport keyframesPlugin from './keyframes-plugin';\nimport mergeStyleArrayPlugin from './merge-style-array-plugin';\nimport prefixPlugin from './prefix-plugin';\nimport removeNestedStylesPlugin from './remove-nested-styles-plugin';\nimport resolveInteractionStylesPlugin from './resolve-interaction-styles-plugin';\nimport resolveMediaQueriesPlugin from './resolve-media-queries-plugin';\nimport visitedPlugin from './visited-plugin';\nexport default {\n checkProps: checkPropsPlugin,\n keyframes: keyframesPlugin,\n mergeStyleArray: mergeStyleArrayPlugin,\n prefix: prefixPlugin,\n removeNestedStyles: removeNestedStylesPlugin,\n resolveInteractionStyles: resolveInteractionStylesPlugin,\n resolveMediaQueries: resolveMediaQueriesPlugin,\n visited: visitedPlugin\n};","export default function keyframesPlugin(_ref) {\n var addCSS = _ref.addCSS,\n config = _ref.config,\n style = _ref.style;\n\n var processKeyframeStyle = function processKeyframeStyle(value) {\n var keyframesValue = value;\n\n var _keyframesValue$__pro = keyframesValue.__process(config.userAgent),\n animationName = _keyframesValue$__pro.animationName,\n css = _keyframesValue$__pro.css;\n\n addCSS(css);\n return animationName;\n };\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n var isKeyframeArray = Array.isArray(value);\n\n if (key === 'animationName' && value && (value.__radiumKeyframes || isKeyframeArray)) {\n if (isKeyframeArray) {\n value = value.map(processKeyframeStyle).join(', ');\n } else {\n value = processKeyframeStyle(value);\n }\n }\n\n newStyleInProgress[key] = value;\n return newStyleInProgress;\n }, {});\n return {\n style: newStyle\n };\n}","// Convenient syntax for multiple styles: `style={[style1, style2, etc]}`\n// Ignores non-objects, so you can do `this.state.isCool && styles.cool`.\nvar mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) {\n var style = _ref.style,\n mergeStyles = _ref.mergeStyles;\n // eslint-disable-line no-shadow\n var newStyle = Array.isArray(style) ? mergeStyles(style) : style;\n return {\n style: newStyle\n };\n};\n\nexport default mergeStyleArrayPlugin;","var _callbacks = [];\nvar _mouseUpListenerIsActive = false;\n\nfunction _handleMouseUp() {\n _callbacks.forEach(function (callback) {\n callback();\n });\n}\n\nvar subscribe = function subscribe(callback) {\n if (_callbacks.indexOf(callback) === -1) {\n _callbacks.push(callback);\n }\n\n if (!_mouseUpListenerIsActive) {\n window.addEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = true;\n }\n\n return {\n remove: function remove() {\n var index = _callbacks.indexOf(callback);\n\n _callbacks.splice(index, 1);\n\n if (_callbacks.length === 0 && _mouseUpListenerIsActive) {\n window.removeEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = false;\n }\n }\n };\n};\n\nexport default {\n subscribe: subscribe,\n __triggerForTests: _handleMouseUp\n};","import { getPrefixedStyle } from '../prefixer';\nexport default function prefixPlugin(_ref) {\n var config = _ref.config,\n style = _ref.style;\n var newStyle = getPrefixedStyle(style, config.userAgent);\n return {\n style: newStyle\n };\n}","export default function removeNestedStyles(_ref) {\n var isNestedStyle = _ref.isNestedStyle,\n style = _ref.style;\n // eslint-disable-line no-shadow\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n\n if (!isNestedStyle(value)) {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n return {\n style: newStyle\n };\n}","import MouseUpListener from './mouse-up-listener';\n\nvar _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) {\n return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus';\n};\n\nvar resolveInteractionStyles = function resolveInteractionStyles(config) {\n var ExecutionEnvironment = config.ExecutionEnvironment,\n getComponentField = config.getComponentField,\n getState = config.getState,\n mergeStyles = config.mergeStyles,\n props = config.props,\n setState = config.setState,\n style = config.style;\n var newComponentFields = {};\n var newProps = {}; // Only add handlers if necessary\n\n if (style[':hover']) {\n // Always call the existing handler if one is already defined.\n // This code, and the very similar ones below, could be abstracted a bit\n // more, but it hurts readability IMO.\n var existingOnMouseEnter = props.onMouseEnter;\n\n newProps.onMouseEnter = function (e) {\n existingOnMouseEnter && existingOnMouseEnter(e);\n setState(':hover', true);\n };\n\n var existingOnMouseLeave = props.onMouseLeave;\n\n newProps.onMouseLeave = function (e) {\n existingOnMouseLeave && existingOnMouseLeave(e);\n setState(':hover', false);\n };\n }\n\n if (style[':active']) {\n var existingOnMouseDown = props.onMouseDown;\n\n newProps.onMouseDown = function (e) {\n existingOnMouseDown && existingOnMouseDown(e);\n newComponentFields._lastMouseDown = Date.now();\n setState(':active', 'viamousedown');\n };\n\n var existingOnKeyDown = props.onKeyDown;\n\n newProps.onKeyDown = function (e) {\n existingOnKeyDown && existingOnKeyDown(e);\n\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', 'viakeydown');\n }\n };\n\n var existingOnKeyUp = props.onKeyUp;\n\n newProps.onKeyUp = function (e) {\n existingOnKeyUp && existingOnKeyUp(e);\n\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', false);\n }\n };\n }\n\n if (style[':focus']) {\n var existingOnFocus = props.onFocus;\n\n newProps.onFocus = function (e) {\n existingOnFocus && existingOnFocus(e);\n setState(':focus', true);\n };\n\n var existingOnBlur = props.onBlur;\n\n newProps.onBlur = function (e) {\n existingOnBlur && existingOnBlur(e);\n setState(':focus', false);\n };\n }\n\n if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) {\n newComponentFields._radiumMouseUpListener = MouseUpListener.subscribe(function () {\n Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) {\n if (getState(':active', key) === 'viamousedown') {\n setState(':active', false, key);\n }\n });\n });\n } // Merge the styles in the order they were defined\n\n\n var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) {\n return _isInteractiveStyleField(name) && getState(name);\n }).map(function (name) {\n return style[name];\n });\n var newStyle = mergeStyles([style].concat(interactionStyles)); // Remove interactive styles\n\n newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) {\n if (!_isInteractiveStyleField(name) && name !== ':disabled') {\n styleWithoutInteractions[name] = newStyle[name];\n }\n\n return styleWithoutInteractions;\n }, {});\n return {\n componentFields: newComponentFields,\n props: newProps,\n style: newStyle\n };\n};\n\nexport default resolveInteractionStyles;","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _windowMatchMedia;\n\nfunction _getWindowMatchMedia(ExecutionEnvironment) {\n if (_windowMatchMedia === undefined) {\n _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) {\n return window.matchMedia(mediaQueryString);\n } || null;\n }\n\n return _windowMatchMedia;\n}\n\nfunction _filterObject(obj, predicate) {\n return Object.keys(obj).filter(function (key) {\n return predicate(obj[key], key);\n }).reduce(function (result, key) {\n result[key] = obj[key];\n return result;\n }, {});\n}\n\nfunction _removeMediaQueries(style) {\n return Object.keys(style).reduce(function (styleWithoutMedia, key) {\n if (key.indexOf('@media') !== 0) {\n styleWithoutMedia[key] = style[key];\n }\n\n return styleWithoutMedia;\n }, {});\n}\n\nfunction _topLevelRulesToCSS(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n isNestedStyle = _ref.isNestedStyle,\n style = _ref.style,\n userAgent = _ref.userAgent;\n var className = '';\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) {\n return !isNestedStyle(value);\n }));\n\n if (!Object.keys(topLevelRules).length) {\n return;\n }\n\n var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent); // CSS classes cannot start with a number\n\n var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS);\n var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}';\n addCSS(css);\n className += (className ? ' ' : '') + mediaQueryClassName;\n });\n return className;\n}\n\nfunction _subscribeToMediaQuery(_ref2) {\n var listener = _ref2.listener,\n listenersByQuery = _ref2.listenersByQuery,\n matchMedia = _ref2.matchMedia,\n mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery,\n query = _ref2.query;\n query = query.replace('@media ', '');\n var mql = mediaQueryListsByQuery[query];\n\n if (!mql && matchMedia) {\n mediaQueryListsByQuery[query] = mql = matchMedia(query);\n }\n\n if (!listenersByQuery || !listenersByQuery[query]) {\n mql.addListener(listener);\n listenersByQuery[query] = {\n remove: function remove() {\n mql.removeListener(listener);\n }\n };\n }\n\n return mql;\n}\n\nexport default function resolveMediaQueries(_ref3) {\n var ExecutionEnvironment = _ref3.ExecutionEnvironment,\n addCSS = _ref3.addCSS,\n appendImportantToEachValue = _ref3.appendImportantToEachValue,\n config = _ref3.config,\n cssRuleSetToString = _ref3.cssRuleSetToString,\n getComponentField = _ref3.getComponentField,\n getGlobalState = _ref3.getGlobalState,\n hash = _ref3.hash,\n isNestedStyle = _ref3.isNestedStyle,\n mergeStyles = _ref3.mergeStyles,\n props = _ref3.props,\n setState = _ref3.setState,\n style = _ref3.style;\n\n // eslint-disable-line no-shadow\n var newStyle = _removeMediaQueries(style);\n\n var mediaQueryClassNames = _topLevelRulesToCSS({\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n cssRuleSetToString: cssRuleSetToString,\n hash: hash,\n isNestedStyle: isNestedStyle,\n style: style,\n userAgent: config.userAgent\n });\n\n var newProps = mediaQueryClassNames ? {\n className: mediaQueryClassNames + (props.className ? ' ' + props.className : '')\n } : null;\n\n var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment);\n\n if (!matchMedia) {\n return {\n props: newProps,\n style: newStyle\n };\n }\n\n var listenersByQuery = _objectSpread({}, getComponentField('_radiumMediaQueryListenersByQuery'));\n\n var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {};\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var nestedRules = _filterObject(style[query], isNestedStyle);\n\n if (!Object.keys(nestedRules).length) {\n return;\n }\n\n var mql = _subscribeToMediaQuery({\n listener: function listener() {\n return setState(query, mql.matches, '_all');\n },\n listenersByQuery: listenersByQuery,\n matchMedia: matchMedia,\n mediaQueryListsByQuery: mediaQueryListsByQuery,\n query: query\n }); // Apply media query states\n\n\n if (mql.matches) {\n newStyle = mergeStyles([newStyle, nestedRules]);\n }\n });\n return {\n componentFields: {\n _radiumMediaQueryListenersByQuery: listenersByQuery\n },\n globalState: {\n mediaQueryListsByQuery: mediaQueryListsByQuery\n },\n props: newProps,\n style: newStyle\n };\n}","export default function visited(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n config = _ref.config,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n props = _ref.props,\n style = _ref.style;\n // eslint-disable-line no-shadow\n var className = props.className;\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n\n if (key === ':visited') {\n value = appendImportantToEachValue(value);\n var ruleCSS = cssRuleSetToString('', value, config.userAgent);\n var visitedClassName = 'rad-' + hash(ruleCSS);\n var css = '.' + visitedClassName + ':visited' + ruleCSS;\n addCSS(css);\n className = (className ? className + ' ' : '') + visitedClassName;\n } else {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n return {\n props: className === props.className ? null : {\n className: className\n },\n style: newStyle\n };\n}","import calc from 'inline-style-prefixer/dynamic/plugins/calc';\nimport crossFade from 'inline-style-prefixer/dynamic/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/dynamic/plugins/cursor';\nimport filter from 'inline-style-prefixer/dynamic/plugins/filter';\nimport flex from 'inline-style-prefixer/dynamic/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/dynamic/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/dynamic/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/dynamic/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/dynamic/plugins/imageSet';\nimport position from 'inline-style-prefixer/dynamic/plugins/position';\nimport sizing from 'inline-style-prefixer/dynamic/plugins/sizing';\nimport transition from 'inline-style-prefixer/dynamic/plugins/transition';\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n chrome: {\n transform: 35,\n transformOrigin: 35,\n transformOriginX: 35,\n transformOriginY: 35,\n backfaceVisibility: 35,\n perspective: 35,\n perspectiveOrigin: 35,\n transformStyle: 35,\n transformOriginZ: 35,\n animation: 42,\n animationDelay: 42,\n animationDirection: 42,\n animationFillMode: 42,\n animationDuration: 42,\n animationIterationCount: 42,\n animationName: 42,\n animationPlayState: 42,\n animationTimingFunction: 42,\n appearance: 66,\n userSelect: 53,\n fontKerning: 32,\n textEmphasisPosition: 66,\n textEmphasis: 66,\n textEmphasisStyle: 66,\n textEmphasisColor: 66,\n boxDecorationBreak: 66,\n clipPath: 54,\n maskImage: 66,\n maskMode: 66,\n maskRepeat: 66,\n maskPosition: 66,\n maskClip: 66,\n maskOrigin: 66,\n maskSize: 66,\n maskComposite: 66,\n mask: 66,\n maskBorderSource: 66,\n maskBorderMode: 66,\n maskBorderSlice: 66,\n maskBorderWidth: 66,\n maskBorderOutset: 66,\n maskBorderRepeat: 66,\n maskBorder: 66,\n maskType: 66,\n textDecorationStyle: 56,\n textDecorationSkip: 56,\n textDecorationLine: 56,\n textDecorationColor: 56,\n filter: 52,\n fontFeatureSettings: 47,\n breakAfter: 49,\n breakBefore: 49,\n breakInside: 49,\n columnCount: 49,\n columnFill: 49,\n columnGap: 49,\n columnRule: 49,\n columnRuleColor: 49,\n columnRuleStyle: 49,\n columnRuleWidth: 49,\n columns: 49,\n columnSpan: 49,\n columnWidth: 49,\n writingMode: 47\n },\n safari: {\n flex: 8,\n flexBasis: 8,\n flexDirection: 8,\n flexGrow: 8,\n flexFlow: 8,\n flexShrink: 8,\n flexWrap: 8,\n alignContent: 8,\n alignItems: 8,\n alignSelf: 8,\n justifyContent: 8,\n order: 8,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8,\n transformOrigin: 8,\n transformOriginX: 8,\n transformOriginY: 8,\n backfaceVisibility: 8,\n perspective: 8,\n perspectiveOrigin: 8,\n transformStyle: 8,\n transformOriginZ: 8,\n animation: 8,\n animationDelay: 8,\n animationDirection: 8,\n animationFillMode: 8,\n animationDuration: 8,\n animationIterationCount: 8,\n animationName: 8,\n animationPlayState: 8,\n animationTimingFunction: 8,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 9,\n scrollSnapType: 10.1,\n scrollSnapPointsX: 10.1,\n scrollSnapPointsY: 10.1,\n scrollSnapDestination: 10.1,\n scrollSnapCoordinate: 10.1,\n textEmphasisPosition: 7,\n textEmphasis: 7,\n textEmphasisStyle: 7,\n textEmphasisColor: 7,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8,\n breakAfter: 8,\n breakInside: 8,\n regionFragment: 11,\n columnCount: 8,\n columnFill: 8,\n columnGap: 8,\n columnRule: 8,\n columnRuleColor: 8,\n columnRuleStyle: 8,\n columnRuleWidth: 8,\n columns: 8,\n columnSpan: 8,\n columnWidth: 8,\n writingMode: 10.1\n },\n firefox: {\n appearance: 60,\n userSelect: 60,\n boxSizing: 28,\n textAlignLast: 48,\n textDecorationStyle: 35,\n textDecorationSkip: 35,\n textDecorationLine: 35,\n textDecorationColor: 35,\n tabSize: 60,\n hyphens: 42,\n fontFeatureSettings: 33,\n breakAfter: 51,\n breakBefore: 51,\n breakInside: 51,\n columnCount: 51,\n columnFill: 51,\n columnGap: 51,\n columnRule: 51,\n columnRuleColor: 51,\n columnRuleStyle: 51,\n columnRuleWidth: 51,\n columns: 51,\n columnSpan: 51,\n columnWidth: 51\n },\n opera: {\n flex: 16,\n flexBasis: 16,\n flexDirection: 16,\n flexGrow: 16,\n flexFlow: 16,\n flexShrink: 16,\n flexWrap: 16,\n alignContent: 16,\n alignItems: 16,\n alignSelf: 16,\n justifyContent: 16,\n order: 16,\n transform: 22,\n transformOrigin: 22,\n transformOriginX: 22,\n transformOriginY: 22,\n backfaceVisibility: 22,\n perspective: 22,\n perspectiveOrigin: 22,\n transformStyle: 22,\n transformOriginZ: 22,\n animation: 29,\n animationDelay: 29,\n animationDirection: 29,\n animationFillMode: 29,\n animationDuration: 29,\n animationIterationCount: 29,\n animationName: 29,\n animationPlayState: 29,\n animationTimingFunction: 29,\n appearance: 50,\n userSelect: 40,\n fontKerning: 19,\n textEmphasisPosition: 50,\n textEmphasis: 50,\n textEmphasisStyle: 50,\n textEmphasisColor: 50,\n boxDecorationBreak: 50,\n clipPath: 41,\n maskImage: 50,\n maskMode: 50,\n maskRepeat: 50,\n maskPosition: 50,\n maskClip: 50,\n maskOrigin: 50,\n maskSize: 50,\n maskComposite: 50,\n mask: 50,\n maskBorderSource: 50,\n maskBorderMode: 50,\n maskBorderSlice: 50,\n maskBorderWidth: 50,\n maskBorderOutset: 50,\n maskBorderRepeat: 50,\n maskBorder: 50,\n maskType: 50,\n textDecorationStyle: 43,\n textDecorationSkip: 43,\n textDecorationLine: 43,\n textDecorationColor: 43,\n filter: 39,\n fontFeatureSettings: 34,\n breakAfter: 36,\n breakBefore: 36,\n breakInside: 36,\n columnCount: 36,\n columnFill: 36,\n columnGap: 36,\n columnRule: 36,\n columnRuleColor: 36,\n columnRuleStyle: 36,\n columnRuleWidth: 36,\n columns: 36,\n columnSpan: 36,\n columnWidth: 36,\n writingMode: 34\n },\n ie: {\n flex: 10,\n flexDirection: 10,\n flexFlow: 10,\n flexWrap: 10,\n transform: 9,\n transformOrigin: 9,\n transformOriginX: 9,\n transformOriginY: 9,\n userSelect: 11,\n wrapFlow: 11,\n wrapThrough: 11,\n wrapMargin: 11,\n scrollSnapType: 11,\n scrollSnapPointsX: 11,\n scrollSnapPointsY: 11,\n scrollSnapDestination: 11,\n scrollSnapCoordinate: 11,\n touchAction: 10,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 11,\n breakAfter: 11,\n breakInside: 11,\n regionFragment: 11,\n gridTemplateColumns: 11,\n gridTemplateRows: 11,\n gridTemplateAreas: 11,\n gridTemplate: 11,\n gridAutoColumns: 11,\n gridAutoRows: 11,\n gridAutoFlow: 11,\n grid: 11,\n gridRowStart: 11,\n gridColumnStart: 11,\n gridRowEnd: 11,\n gridRow: 11,\n gridColumn: 11,\n gridColumnEnd: 11,\n gridColumnGap: 11,\n gridRowGap: 11,\n gridArea: 11,\n gridGap: 11,\n textSizeAdjust: 11,\n writingMode: 11\n },\n edge: {\n userSelect: 17,\n wrapFlow: 17,\n wrapThrough: 17,\n wrapMargin: 17,\n scrollSnapType: 17,\n scrollSnapPointsX: 17,\n scrollSnapPointsY: 17,\n scrollSnapDestination: 17,\n scrollSnapCoordinate: 17,\n hyphens: 17,\n flowInto: 17,\n flowFrom: 17,\n breakBefore: 17,\n breakAfter: 17,\n breakInside: 17,\n regionFragment: 17,\n gridTemplateColumns: 15,\n gridTemplateRows: 15,\n gridTemplateAreas: 15,\n gridTemplate: 15,\n gridAutoColumns: 15,\n gridAutoRows: 15,\n gridAutoFlow: 15,\n grid: 15,\n gridRowStart: 15,\n gridColumnStart: 15,\n gridRowEnd: 15,\n gridRow: 15,\n gridColumn: 15,\n gridColumnEnd: 15,\n gridColumnGap: 15,\n gridRowGap: 15,\n gridArea: 15,\n gridGap: 15\n },\n ios_saf: {\n flex: 8.1,\n flexBasis: 8.1,\n flexDirection: 8.1,\n flexGrow: 8.1,\n flexFlow: 8.1,\n flexShrink: 8.1,\n flexWrap: 8.1,\n alignContent: 8.1,\n alignItems: 8.1,\n alignSelf: 8.1,\n justifyContent: 8.1,\n order: 8.1,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8.1,\n transformOrigin: 8.1,\n transformOriginX: 8.1,\n transformOriginY: 8.1,\n backfaceVisibility: 8.1,\n perspective: 8.1,\n perspectiveOrigin: 8.1,\n transformStyle: 8.1,\n transformOriginZ: 8.1,\n animation: 8.1,\n animationDelay: 8.1,\n animationDirection: 8.1,\n animationFillMode: 8.1,\n animationDuration: 8.1,\n animationIterationCount: 8.1,\n animationName: 8.1,\n animationPlayState: 8.1,\n animationTimingFunction: 8.1,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 11,\n scrollSnapType: 10.3,\n scrollSnapPointsX: 10.3,\n scrollSnapPointsY: 10.3,\n scrollSnapDestination: 10.3,\n scrollSnapCoordinate: 10.3,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textSizeAdjust: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8.1,\n breakAfter: 8.1,\n breakInside: 8.1,\n regionFragment: 11,\n columnCount: 8.1,\n columnFill: 8.1,\n columnGap: 8.1,\n columnRule: 8.1,\n columnRuleColor: 8.1,\n columnRuleStyle: 8.1,\n columnRuleWidth: 8.1,\n columns: 8.1,\n columnSpan: 8.1,\n columnWidth: 8.1,\n writingMode: 10.3\n },\n android: {\n borderImage: 4.2,\n borderImageOutset: 4.2,\n borderImageRepeat: 4.2,\n borderImageSlice: 4.2,\n borderImageSource: 4.2,\n borderImageWidth: 4.2,\n flex: 4.2,\n flexBasis: 4.2,\n flexDirection: 4.2,\n flexGrow: 4.2,\n flexFlow: 4.2,\n flexShrink: 4.2,\n flexWrap: 4.2,\n alignContent: 4.2,\n alignItems: 4.2,\n alignSelf: 4.2,\n justifyContent: 4.2,\n order: 4.2,\n transition: 4.2,\n transitionDelay: 4.2,\n transitionDuration: 4.2,\n transitionProperty: 4.2,\n transitionTimingFunction: 4.2,\n transform: 4.4,\n transformOrigin: 4.4,\n transformOriginX: 4.4,\n transformOriginY: 4.4,\n backfaceVisibility: 4.4,\n perspective: 4.4,\n perspectiveOrigin: 4.4,\n transformStyle: 4.4,\n transformOriginZ: 4.4,\n animation: 4.4,\n animationDelay: 4.4,\n animationDirection: 4.4,\n animationFillMode: 4.4,\n animationDuration: 4.4,\n animationIterationCount: 4.4,\n animationName: 4.4,\n animationPlayState: 4.4,\n animationTimingFunction: 4.4,\n appearance: 62,\n userSelect: 4.4,\n fontKerning: 4.4,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n clipPath: 4.4,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62,\n filter: 4.4,\n fontFeatureSettings: 4.4,\n breakAfter: 4.4,\n breakBefore: 4.4,\n breakInside: 4.4,\n columnCount: 4.4,\n columnFill: 4.4,\n columnGap: 4.4,\n columnRule: 4.4,\n columnRuleColor: 4.4,\n columnRuleStyle: 4.4,\n columnRuleWidth: 4.4,\n columns: 4.4,\n columnSpan: 4.4,\n columnWidth: 4.4,\n writingMode: 4.4\n },\n and_chr: {\n appearance: 62,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62\n },\n and_uc: {\n flex: 11.4,\n flexBasis: 11.4,\n flexDirection: 11.4,\n flexGrow: 11.4,\n flexFlow: 11.4,\n flexShrink: 11.4,\n flexWrap: 11.4,\n alignContent: 11.4,\n alignItems: 11.4,\n alignSelf: 11.4,\n justifyContent: 11.4,\n order: 11.4,\n transform: 11.4,\n transformOrigin: 11.4,\n transformOriginX: 11.4,\n transformOriginY: 11.4,\n backfaceVisibility: 11.4,\n perspective: 11.4,\n perspectiveOrigin: 11.4,\n transformStyle: 11.4,\n transformOriginZ: 11.4,\n animation: 11.4,\n animationDelay: 11.4,\n animationDirection: 11.4,\n animationFillMode: 11.4,\n animationDuration: 11.4,\n animationIterationCount: 11.4,\n animationName: 11.4,\n animationPlayState: 11.4,\n animationTimingFunction: 11.4,\n appearance: 11.4,\n userSelect: 11.4,\n textEmphasisPosition: 11.4,\n textEmphasis: 11.4,\n textEmphasisStyle: 11.4,\n textEmphasisColor: 11.4,\n clipPath: 11.4,\n maskImage: 11.4,\n maskMode: 11.4,\n maskRepeat: 11.4,\n maskPosition: 11.4,\n maskClip: 11.4,\n maskOrigin: 11.4,\n maskSize: 11.4,\n maskComposite: 11.4,\n mask: 11.4,\n maskBorderSource: 11.4,\n maskBorderMode: 11.4,\n maskBorderSlice: 11.4,\n maskBorderWidth: 11.4,\n maskBorderOutset: 11.4,\n maskBorderRepeat: 11.4,\n maskBorder: 11.4,\n maskType: 11.4,\n textSizeAdjust: 11.4,\n filter: 11.4,\n hyphens: 11.4,\n fontFeatureSettings: 11.4,\n breakAfter: 11.4,\n breakBefore: 11.4,\n breakInside: 11.4,\n columnCount: 11.4,\n columnFill: 11.4,\n columnGap: 11.4,\n columnRule: 11.4,\n columnRuleColor: 11.4,\n columnRuleStyle: 11.4,\n columnRuleWidth: 11.4,\n columns: 11.4,\n columnSpan: 11.4,\n columnWidth: 11.4,\n writingMode: 11.4\n },\n op_mini: {}\n }\n};","import calc from 'inline-style-prefixer/static/plugins/calc';\nimport crossFade from 'inline-style-prefixer/static/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/static/plugins/cursor';\nimport filter from 'inline-style-prefixer/static/plugins/filter';\nimport flex from 'inline-style-prefixer/static/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/static/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/static/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/static/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/static/plugins/imageSet';\nimport position from 'inline-style-prefixer/static/plugins/position';\nimport sizing from 'inline-style-prefixer/static/plugins/sizing';\nimport transition from 'inline-style-prefixer/static/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n transform: wms,\n transformOrigin: wms,\n transformOriginX: wms,\n transformOriginY: wms,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n fontKerning: w,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: wm,\n textDecorationSkip: wm,\n textDecorationLine: wm,\n textDecorationColor: wm,\n filter: w,\n fontFeatureSettings: wm,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w,\n backdropFilter: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n boxSizing: m,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n gridTemplateColumns: ms,\n gridTemplateRows: ms,\n gridTemplateAreas: ms,\n gridTemplate: ms,\n gridAutoColumns: ms,\n gridAutoRows: ms,\n gridAutoFlow: ms,\n grid: ms,\n gridRowStart: ms,\n gridColumnStart: ms,\n gridRowEnd: ms,\n gridRow: ms,\n gridColumn: ms,\n gridColumnEnd: ms,\n gridColumnGap: ms,\n gridRowGap: ms,\n gridArea: ms,\n gridGap: ms,\n textSizeAdjust: wms,\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w\n }\n};","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\nimport createStaticPrefixer from 'inline-style-prefixer/static/createPrefixer';\nimport createDynamicPrefixer from 'inline-style-prefixer/dynamic/createPrefixer';\nimport ExecutionEnvironment from 'exenv';\nimport staticData from './prefix-data/static';\nimport dynamicData from './prefix-data/dynamic';\nimport { camelCaseToDashCase } from './camel-case-props-to-dash-case';\nvar prefixAll = createStaticPrefixer(staticData);\nvar InlineStylePrefixer = createDynamicPrefixer(dynamicData, prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && _typeof(value) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n} // Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\n\n\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n\n if (Array.isArray(val)) {\n if (ExecutionEnvironment.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(\";\".concat(camelCaseToDashCase(key), \":\"));\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\n\nvar _lastUserAgent;\n\nvar _cachedPrefixer;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (process.env.NODE_ENV === 'test' || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({\n userAgent: actualUserAgent\n });\n }\n\n _lastUserAgent = actualUserAgent;\n }\n\n return _cachedPrefixer;\n}\n\nexport function getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes || 'keyframes';\n} // Returns a new style object with vendor prefixes added to property names and\n// values.\n\nexport function getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport appendImportantToEachValue from './append-important-to-each-value';\nimport cssRuleSetToString from './css-rule-set-to-string';\nimport getState from './get-state';\nimport getStateKey from './get-state-key';\nimport cleanStateKey from './clean-state-key';\nimport getRadiumStyleState from './get-radium-style-state';\nimport hash from './hash';\nimport { isNestedStyle, mergeStyles } from './merge-styles';\nimport Plugins from './plugins/';\nimport ExecutionEnvironment from 'exenv';\nimport React from 'react';\nimport StyleKeeper from './style-keeper';\nvar DEFAULT_CONFIG = {\n plugins: [Plugins.mergeStyleArray, Plugins.checkProps, Plugins.resolveMediaQueries, Plugins.resolveInteractionStyles, Plugins.keyframes, Plugins.visited, Plugins.removeNestedStyles, Plugins.prefix, Plugins.checkProps]\n}; // Gross\n\nvar globalState = {}; // Only for use by tests\n\nvar __isTestModeEnabled = false;\n// Declare early for recursive helpers.\nvar _resolveStyles5 = null;\n\nvar _shouldResolveStyles = function _shouldResolveStyles(component) {\n return component.type && !component.type._isRadiumEnhanced;\n};\n\nvar _resolveChildren = function _resolveChildren(_ref) {\n var children = _ref.children,\n component = _ref.component,\n config = _ref.config,\n existingKeyMap = _ref.existingKeyMap,\n extraStateKeyMap = _ref.extraStateKeyMap;\n\n if (!children) {\n return children;\n }\n\n var childrenType = _typeof(children);\n\n if (childrenType === 'string' || childrenType === 'number') {\n // Don't do anything with a single primitive child\n return children;\n }\n\n if (childrenType === 'function') {\n // Wrap the function, resolving styles on the result\n return function () {\n var result = children.apply(this, arguments);\n\n if (React.isValidElement(result)) {\n var _key = getStateKey(result);\n\n delete extraStateKeyMap[_key];\n\n var _resolveStyles = _resolveStyles5(component, result, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles.element;\n\n return element;\n }\n\n return result;\n };\n }\n\n if (React.Children.count(children) === 1 && children.type) {\n // If a React Element is an only child, don't wrap it in an array for\n // React.Children.map() for React.Children.only() compatibility.\n var onlyChild = React.Children.only(children);\n\n var _key2 = getStateKey(onlyChild);\n\n delete extraStateKeyMap[_key2];\n\n var _resolveStyles2 = _resolveStyles5(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles2.element;\n\n return element;\n }\n\n return React.Children.map(children, function (child) {\n if (React.isValidElement(child)) {\n var _key3 = getStateKey(child);\n\n delete extraStateKeyMap[_key3];\n\n var _resolveStyles3 = _resolveStyles5(component, child, config, existingKeyMap, true, extraStateKeyMap),\n _element = _resolveStyles3.element;\n\n return _element;\n }\n\n return child;\n });\n}; // Recurse over props, just like children\n\n\nvar _resolveProps = function _resolveProps(_ref2) {\n var component = _ref2.component,\n config = _ref2.config,\n existingKeyMap = _ref2.existingKeyMap,\n props = _ref2.props,\n extraStateKeyMap = _ref2.extraStateKeyMap;\n var newProps = props;\n Object.keys(props).forEach(function (prop) {\n // We already recurse over children above\n if (prop === 'children') {\n return;\n }\n\n var propValue = props[prop];\n\n if (React.isValidElement(propValue)) {\n var _key4 = getStateKey(propValue);\n\n delete extraStateKeyMap[_key4];\n newProps = _objectSpread({}, newProps);\n\n var _resolveStyles4 = _resolveStyles5(component, propValue, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles4.element;\n\n newProps[prop] = element;\n }\n });\n return newProps;\n};\n\nvar _buildGetKey = function _buildGetKey(_ref3) {\n var componentName = _ref3.componentName,\n existingKeyMap = _ref3.existingKeyMap,\n renderedElement = _ref3.renderedElement;\n // We need a unique key to correlate state changes due to user interaction\n // with the rendered element, so we know to apply the proper interactive\n // styles.\n var originalKey = getStateKey(renderedElement);\n var key = cleanStateKey(originalKey);\n var alreadyGotKey = false;\n\n var getKey = function getKey() {\n if (alreadyGotKey) {\n return key;\n }\n\n alreadyGotKey = true;\n\n if (existingKeyMap[key]) {\n var elementName;\n\n if (typeof renderedElement.type === 'string') {\n elementName = renderedElement.type;\n } else if (renderedElement.type.constructor) {\n elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name;\n }\n\n throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key \"' + originalKey + '\" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: \"' + componentName + '\". ' + (elementName ? 'Element: \"' + elementName + '\".' : ''));\n }\n\n existingKeyMap[key] = true;\n return key;\n };\n\n return getKey;\n};\n\nvar _setStyleState = function _setStyleState(component, key, stateKey, value) {\n if (!component._radiumIsMounted) {\n return;\n }\n\n var existing = getRadiumStyleState(component);\n var state = {\n _radiumStyleState: _objectSpread({}, existing)\n };\n state._radiumStyleState[key] = _objectSpread({}, state._radiumStyleState[key]);\n state._radiumStyleState[key][stateKey] = value;\n component._lastRadiumState = state._radiumStyleState;\n component.setState(state);\n};\n\nvar _runPlugins = function _runPlugins(_ref4) {\n var component = _ref4.component,\n config = _ref4.config,\n existingKeyMap = _ref4.existingKeyMap,\n props = _ref4.props,\n renderedElement = _ref4.renderedElement;\n\n // Don't run plugins if renderedElement is not a simple ReactDOMElement or has\n // no style.\n if (!React.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) {\n return props;\n }\n\n var newProps = props;\n var plugins = config.plugins || DEFAULT_CONFIG.plugins;\n var componentName = component.constructor.displayName || component.constructor.name;\n\n var getKey = _buildGetKey({\n renderedElement: renderedElement,\n existingKeyMap: existingKeyMap,\n componentName: componentName\n });\n\n var getComponentField = function getComponentField(key) {\n return component[key];\n };\n\n var getGlobalState = function getGlobalState(key) {\n return globalState[key];\n };\n\n var componentGetState = function componentGetState(stateKey, elementKey) {\n return getState(component.state, elementKey || getKey(), stateKey);\n };\n\n var setState = function setState(stateKey, value, elementKey) {\n return _setStyleState(component, elementKey || getKey(), stateKey, value);\n };\n\n var addCSS = function addCSS(css) {\n var styleKeeper = component._radiumStyleKeeper;\n\n if (!styleKeeper) {\n if (__isTestModeEnabled) {\n return {\n remove: function remove() {}\n };\n }\n\n throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.');\n }\n\n return styleKeeper.addCSS(css);\n };\n\n var newStyle = props.style;\n plugins.forEach(function (plugin) {\n var result = plugin({\n ExecutionEnvironment: ExecutionEnvironment,\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n componentName: componentName,\n config: config,\n cssRuleSetToString: cssRuleSetToString,\n getComponentField: getComponentField,\n getGlobalState: getGlobalState,\n getState: componentGetState,\n hash: hash,\n mergeStyles: mergeStyles,\n props: newProps,\n setState: setState,\n isNestedStyle: isNestedStyle,\n style: newStyle\n }) || {};\n newStyle = result.style || newStyle;\n newProps = result.props && Object.keys(result.props).length ? _objectSpread({}, newProps, result.props) : newProps;\n var newComponentFields = result.componentFields || {};\n Object.keys(newComponentFields).forEach(function (fieldName) {\n component[fieldName] = newComponentFields[fieldName];\n });\n var newGlobalState = result.globalState || {};\n Object.keys(newGlobalState).forEach(function (key) {\n globalState[key] = newGlobalState[key];\n });\n });\n\n if (newStyle !== props.style) {\n newProps = _objectSpread({}, newProps, {\n style: newStyle\n });\n }\n\n return newProps;\n}; // Wrapper around React.cloneElement. To avoid processing the same element\n// twice, whenever we clone an element add a special prop to make sure we don't\n// process this element again.\n\n\nvar _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) {\n // Only add flag if this is a normal DOM element\n if (typeof renderedElement.type === 'string') {\n newProps = _objectSpread({}, newProps, {\n 'data-radium': true\n });\n }\n\n return React.cloneElement(renderedElement, newProps, newChildren);\n}; //\n// The nucleus of Radium. resolveStyles is called on the rendered elements\n// before they are returned in render. It iterates over the elements and\n// children, rewriting props to add event handlers required to capture user\n// interactions (e.g. mouse over). It also replaces the style prop because it\n// adds in the various interaction styles (e.g. :hover).\n//\n\n/* eslint-disable max-params */\n\n\n_resolveStyles5 = function resolveStyles(component, renderedElement) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG;\n var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var extraStateKeyMap = arguments.length > 5 ? arguments[5] : undefined;\n\n // The extraStateKeyMap is for determining which keys should be erased from\n // the state (i.e. which child components are unmounted and should no longer\n // have a style state).\n if (!extraStateKeyMap) {\n var state = getRadiumStyleState(component);\n extraStateKeyMap = Object.keys(state).reduce(function (acc, key) {\n // 'main' is the auto-generated key when there is only one element with\n // interactive styles and if a custom key is not assigned. Because of\n // this, it is impossible to know which child is 'main', so we won't\n // count this key when generating our extraStateKeyMap.\n if (key !== 'main') {\n acc[key] = true;\n }\n\n return acc;\n }, {});\n }\n\n if (Array.isArray(renderedElement) && !renderedElement.props) {\n var elements = renderedElement.map(function (element) {\n // element is in-use, so remove from the extraStateKeyMap\n if (extraStateKeyMap) {\n var _key5 = getStateKey(element);\n\n delete extraStateKeyMap[_key5];\n } // this element is an array of elements,\n // so return an array of elements with resolved styles\n\n\n return _resolveStyles5(component, element, config, existingKeyMap, shouldCheckBeforeResolve, extraStateKeyMap).element;\n });\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: elements\n };\n } // ReactElement\n\n\n if (!renderedElement || // Bail if we've already processed this element. This ensures that only the\n // owner of an element processes that element, since the owner's render\n // function will be called first (which will always be the case, since you\n // can't know what else to render until you render the parent component).\n renderedElement.props && renderedElement.props['data-radium'] || // Bail if this element is a radium enhanced element, because if it is,\n // then it will take care of resolving its own styles.\n shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) {\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: renderedElement\n };\n }\n\n var children = renderedElement.props.children;\n\n var newChildren = _resolveChildren({\n children: children,\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap\n });\n\n var newProps = _resolveProps({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap,\n props: renderedElement.props\n });\n\n newProps = _runPlugins({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n props: newProps,\n renderedElement: renderedElement\n }); // If nothing changed, don't bother cloning the element. Might be a bit\n // wasteful, as we add the sentinel to stop double-processing when we clone.\n // Assume benign double-processing is better than unneeded cloning.\n\n if (newChildren === children && newProps === renderedElement.props) {\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: renderedElement\n };\n }\n\n var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren);\n\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: element\n };\n};\n/* eslint-enable max-params */\n// Only for use by tests\n\n\nif (process.env.NODE_ENV !== 'production') {\n _resolveStyles5.__clearStateForTests = function () {\n globalState = {};\n };\n\n _resolveStyles5.__setTestMode = function (isEnabled) {\n __isTestModeEnabled = isEnabled;\n };\n}\n\nexport default _resolveStyles5;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar StyleKeeper =\n/*#__PURE__*/\nfunction () {\n function StyleKeeper(userAgent) {\n _classCallCheck(this, StyleKeeper);\n\n this._userAgent = void 0;\n this._listeners = void 0;\n this._cssSet = void 0;\n this._userAgent = userAgent;\n this._listeners = [];\n this._cssSet = {};\n }\n\n _createClass(StyleKeeper, [{\n key: \"subscribe\",\n value: function subscribe(listener) {\n var _this = this;\n\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n var listenerIndex = _this._listeners.indexOf(listener);\n\n if (listenerIndex > -1) {\n _this._listeners.splice(listenerIndex, 1);\n }\n }\n };\n }\n }, {\n key: \"addCSS\",\n value: function addCSS(css) {\n var _this2 = this;\n\n if (!this._cssSet[css]) {\n this._cssSet[css] = true;\n\n this._emitChange();\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n delete _this2._cssSet[css];\n\n _this2._emitChange();\n }\n };\n }\n }, {\n key: \"getCSS\",\n value: function getCSS() {\n return Object.keys(this._cssSet).join('\\n');\n }\n }, {\n key: \"_emitChange\",\n value: function _emitChange() {\n this._listeners.forEach(function (listener) {\n return listener();\n });\n }\n }]);\n\n return StyleKeeper;\n}();\n\nexport { StyleKeeper as default };","/**\n * A function that always returns `false`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.T\n * @example\n *\n * R.F(); //=> false\n */\nvar F = function () {\n return false;\n};\n\nexport default F;","/**\n * A function that always returns `true`. Any passed in parameters are ignored.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig * -> Boolean\n * @param {*}\n * @return {Boolean}\n * @see R.F\n * @example\n *\n * R.T(); //=> true\n */\nvar T = function () {\n return true;\n};\n\nexport default T;","/**\n * A special placeholder value used to specify \"gaps\" within curried functions,\n * allowing partial application of any combination of arguments, regardless of\n * their positions.\n *\n * If `g` is a curried ternary function and `_` is `R.__`, the following are\n * equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2, _)(1, 3)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @name __\n * @constant\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @example\n *\n * const greet = R.replace('{name}', R.__, 'Hello, {name}!');\n * greet('Alice'); //=> 'Hello, Alice!'\n */\nexport default {\n '@@functional/placeholder': true\n};","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Adds two values.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a\n * @param {Number} b\n * @return {Number}\n * @see R.subtract\n * @example\n *\n * R.add(2, 3); //=> 5\n * R.add(7)(10); //=> 17\n */\n\nvar add =\n/*#__PURE__*/\n_curry2(function add(a, b) {\n return Number(a) + Number(b);\n});\n\nexport default add;","import _concat from \"./internal/_concat.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n * const mapIndexed = R.addIndex(R.map);\n * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\n\nvar addIndex =\n/*#__PURE__*/\n_curry1(function addIndex(fn) {\n return curryN(fn.length, function () {\n var idx = 0;\n var origFn = arguments[0];\n var list = arguments[arguments.length - 1];\n var args = Array.prototype.slice.call(arguments, 0);\n\n args[0] = function () {\n var result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx += 1;\n return result;\n };\n\n return fn.apply(this, args);\n });\n});\n\nexport default addIndex;","import _concat from \"./internal/_concat.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Applies a function to the value at the given index of an array, returning a\n * new copy of the array with the element at the given index replaced with the\n * result of the function application.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> (a -> a) -> [a] -> [a]\n * @param {Number} idx The index.\n * @param {Function} fn The function to apply.\n * @param {Array|Arguments} list An array-like object whose value\n * at the supplied index will be replaced.\n * @return {Array} A copy of the supplied array-like object with\n * the element at index `idx` replaced with the value\n * returned by applying `fn` to the existing element.\n * @see R.update\n * @example\n *\n * R.adjust(1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'B', 'c', 'd']\n * R.adjust(-1, R.toUpper, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c', 'D']\n * @symb R.adjust(-1, f, [a, b]) = [a, f(b)]\n * @symb R.adjust(0, f, [a, b]) = [f(a), b]\n */\n\nvar adjust =\n/*#__PURE__*/\n_curry3(function adjust(idx, fn, list) {\n if (idx >= list.length || idx < -list.length) {\n return list;\n }\n\n var start = idx < 0 ? list.length : 0;\n\n var _idx = start + idx;\n\n var _list = _concat(list);\n\n _list[_idx] = fn(list[_idx]);\n return _list;\n});\n\nexport default adjust;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xall from \"./internal/_xall.js\";\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n * otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n * const equals3 = R.equals(3);\n * R.all(equals3)([3, 3, 3, 3]); //=> true\n * R.all(equals3)([3, 3, 1, 3]); //=> false\n */\n\nvar all =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['all'], _xall, function all(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (!fn(list[idx])) {\n return false;\n }\n\n idx += 1;\n }\n\n return true;\n}));\n\nexport default all;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if every one of the provided predicates is satisfied\n * by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.anyPass\n * @example\n *\n * const isQueen = R.propEq('rank', 'Q');\n * const isSpade = R.propEq('suit', '♠︎');\n * const isQueenOfSpades = R.allPass([isQueen, isSpade]);\n *\n * isQueenOfSpades({rank: 'Q', suit: '♣︎'}); //=> false\n * isQueenOfSpades({rank: 'Q', suit: '♠︎'}); //=> true\n */\n\nvar allPass =\n/*#__PURE__*/\n_curry1(function allPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n\n while (idx < len) {\n if (!preds[idx].apply(this, arguments)) {\n return false;\n }\n\n idx += 1;\n }\n\n return true;\n });\n});\n\nexport default allPass;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * const t = R.always('Tee');\n * t(); //=> 'Tee'\n */\n\nvar always =\n/*#__PURE__*/\n_curry1(function always(val) {\n return function () {\n return val;\n };\n});\n\nexport default always;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if both arguments are `true`; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if it is falsy, otherwise the second argument.\n * @see R.both, R.xor\n * @example\n *\n * R.and(true, true); //=> true\n * R.and(true, false); //=> false\n * R.and(false, true); //=> false\n * R.and(false, false); //=> false\n */\n\nvar and =\n/*#__PURE__*/\n_curry2(function and(a, b) {\n return a && b;\n});\n\nexport default and;","import _curry2 from \"./internal/_curry2.js\";\nimport _assertPromise from \"./internal/_assertPromise.js\";\n/**\n * Returns the result of applying the onSuccess function to the value inside\n * a successfully resolved promise. This is useful for working with promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @since v0.27.0\n * @category Function\n * @sig (a -> b) -> (Promise e a) -> (Promise e b)\n * @sig (a -> (Promise e b)) -> (Promise e a) -> (Promise e b)\n * @param {Function} onSuccess The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(onSuccess)`\n * @see R.otherwise\n * @example\n *\n * var makeQuery = (email) => ({ query: { email }});\n *\n * //getMemberName :: String -> Promise ({firstName, lastName})\n * var getMemberName = R.pipe(\n * makeQuery,\n * fetchMember,\n * R.andThen(R.pick(['firstName', 'lastName']))\n * );\n */\n\nvar andThen =\n/*#__PURE__*/\n_curry2(function andThen(f, p) {\n _assertPromise('andThen', p);\n\n return p.then(f);\n});\n\nexport default andThen;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xany from \"./internal/_xany.js\";\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\n\nvar any =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}));\n\nexport default any;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Takes a list of predicates and returns a predicate that returns true for a\n * given list of arguments if at least one of the provided predicates is\n * satisfied by those arguments.\n *\n * The function returned is a curried function whose arity matches that of the\n * highest-arity predicate.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Logic\n * @sig [(*... -> Boolean)] -> (*... -> Boolean)\n * @param {Array} predicates An array of predicates to check\n * @return {Function} The combined predicate\n * @see R.allPass\n * @example\n *\n * const isClub = R.propEq('suit', '♣');\n * const isSpade = R.propEq('suit', '♠');\n * const isBlackCard = R.anyPass([isClub, isSpade]);\n *\n * isBlackCard({rank: '10', suit: '♣'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♠'}); //=> true\n * isBlackCard({rank: 'Q', suit: '♦'}); //=> false\n */\n\nvar anyPass =\n/*#__PURE__*/\n_curry1(function anyPass(preds) {\n return curryN(reduce(max, 0, pluck('length', preds)), function () {\n var idx = 0;\n var len = preds.length;\n\n while (idx < len) {\n if (preds[idx].apply(this, arguments)) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n });\n});\n\nexport default anyPass;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport map from \"./map.js\";\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n * // R.ap can also be used as S combinator\n * // when only two functions are passed\n * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\n\nvar ap =\n/*#__PURE__*/\n_curry2(function ap(applyF, applyX) {\n return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n return applyF(x)(applyX(x));\n } : _reduce(function (acc, f) {\n return _concat(acc, map(f, applyX));\n }, [], applyF);\n});\n\nexport default ap;","import _aperture from \"./internal/_aperture.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xaperture from \"./internal/_xaperture.js\";\n/**\n * Returns a new list, composed of n-tuples of consecutive elements. If `n` is\n * greater than the length of the list, an empty list is returned.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @param {Number} n The size of the tuples to create\n * @param {Array} list The list to split into `n`-length tuples\n * @return {Array} The resulting list of `n`-length tuples\n * @see R.transduce\n * @example\n *\n * R.aperture(2, [1, 2, 3, 4, 5]); //=> [[1, 2], [2, 3], [3, 4], [4, 5]]\n * R.aperture(3, [1, 2, 3, 4, 5]); //=> [[1, 2, 3], [2, 3, 4], [3, 4, 5]]\n * R.aperture(7, [1, 2, 3, 4, 5]); //=> []\n */\n\nvar aperture =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xaperture, _aperture));\n\nexport default aperture;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\n\nvar append =\n/*#__PURE__*/\n_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\n\nexport default append;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Applies function `fn` to the argument list `args`. This is useful for\n * creating a fixed-arity function from a variadic function. `fn` should be a\n * bound function if context is significant.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> a) -> [*] -> a\n * @param {Function} fn The function which will be called with `args`\n * @param {Array} args The arguments to call `fn` with\n * @return {*} result The result, equivalent to `fn(...args)`\n * @see R.call, R.unapply\n * @example\n *\n * const nums = [1, 2, 3, -99, 42, 6, 7];\n * R.apply(Math.max, nums); //=> 42\n * @symb R.apply(f, [a, b, c]) = f(a, b, c)\n */\n\nvar apply =\n/*#__PURE__*/\n_curry2(function apply(fn, args) {\n return fn.apply(this, args);\n});\n\nexport default apply;","import _curry1 from \"./internal/_curry1.js\";\nimport apply from \"./apply.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\nimport keys from \"./keys.js\";\nimport values from \"./values.js\"; // Use custom mapValues function to avoid issues with specs that include a \"map\" key and R.map\n// delegating calls to .map\n\nfunction mapValues(fn, obj) {\n return keys(obj).reduce(function (acc, key) {\n acc[key] = fn(obj[key]);\n return acc;\n }, {});\n}\n/**\n * Given a spec object recursively mapping properties to functions, creates a\n * function producing an object of the same structure, by mapping each property\n * to the result of calling its associated function with the supplied arguments.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig {k: ((a, b, ..., m) -> v)} -> ((a, b, ..., m) -> {k: v})\n * @param {Object} spec an object recursively mapping properties to functions for\n * producing the values for these properties.\n * @return {Function} A function that returns an object of the same structure\n * as `spec', with each property set to the value returned by calling its\n * associated function with the supplied arguments.\n * @see R.converge, R.juxt\n * @example\n *\n * const getMetrics = R.applySpec({\n * sum: R.add,\n * nested: { mul: R.multiply }\n * });\n * getMetrics(2, 4); // => { sum: 6, nested: { mul: 8 } }\n * @symb R.applySpec({ x: f, y: { z: g } })(a, b) = { x: f(a, b), y: { z: g(a, b) } }\n */\n\n\nvar applySpec =\n/*#__PURE__*/\n_curry1(function applySpec(spec) {\n spec = mapValues(function (v) {\n return typeof v == 'function' ? v : applySpec(v);\n }, spec);\n return curryN(reduce(max, 0, pluck('length', values(spec))), function () {\n var args = arguments;\n return mapValues(function (f) {\n return apply(f, args);\n }, spec);\n });\n});\n\nexport default applySpec;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Takes a value and applies a function to it.\n *\n * This function is also known as the `thrush` combinator.\n *\n * @func\n * @memberOf R\n * @since v0.25.0\n * @category Function\n * @sig a -> (a -> b) -> b\n * @param {*} x The value\n * @param {Function} f The function to apply\n * @return {*} The result of applying `f` to `x`\n * @example\n *\n * const t42 = R.applyTo(42);\n * t42(R.identity); //=> 42\n * t42(R.add(1)); //=> 43\n */\n\nvar applyTo =\n/*#__PURE__*/\n_curry2(function applyTo(x, f) {\n return f(x);\n});\n\nexport default applyTo;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes an ascending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) < fn(b), `1` if fn(b) < fn(a), otherwise `0`\n * @see R.descend\n * @example\n *\n * const byAge = R.ascend(R.prop('age'));\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByYoungestFirst = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\n\nvar ascend =\n/*#__PURE__*/\n_curry3(function ascend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n});\n\nexport default ascend;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport assoc from \"./assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\n\nexport default assocPath;","import _curry1 from \"./internal/_curry1.js\";\nimport nAry from \"./nAry.js\";\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 2 parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> c) -> (a, b -> c)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 2.\n * @see R.nAry, R.unary\n * @example\n *\n * const takesThreeArgs = function(a, b, c) {\n * return [a, b, c];\n * };\n * takesThreeArgs.length; //=> 3\n * takesThreeArgs(1, 2, 3); //=> [1, 2, 3]\n *\n * const takesTwoArgs = R.binary(takesThreeArgs);\n * takesTwoArgs.length; //=> 2\n * // Only 2 arguments are passed to the wrapped function\n * takesTwoArgs(1, 2, 3); //=> [1, 2, undefined]\n * @symb R.binary(f)(a, b, c) = f(a, b)\n */\n\nvar binary =\n/*#__PURE__*/\n_curry1(function binary(fn) {\n return nAry(2, fn);\n});\n\nexport default binary;","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport and from \"./and.js\";\nimport lift from \"./lift.js\";\n/**\n * A function which calls the two provided functions and returns the `&&`\n * of the results.\n * It returns the result of the first function if it is false-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * false-y value.\n *\n * In addition to functions, `R.both` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f A predicate\n * @param {Function} g Another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `&&`s their outputs together.\n * @see R.and\n * @example\n *\n * const gt10 = R.gt(R.__, 10)\n * const lt20 = R.lt(R.__, 20)\n * const f = R.both(gt10, lt20);\n * f(15); //=> true\n * f(30); //=> false\n *\n * R.both(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(false)\n * R.both([false, false, 'a'], [11]); //=> [false, false, 11]\n */\n\nvar both =\n/*#__PURE__*/\n_curry2(function both(f, g) {\n return _isFunction(f) ? function _both() {\n return f.apply(this, arguments) && g.apply(this, arguments);\n } : lift(and)(f, g);\n});\n\nexport default both;","import curry from \"./curry.js\";\n/**\n * Returns the result of calling its first argument with the remaining\n * arguments. This is occasionally useful as a converging function for\n * [`R.converge`](#converge): the first branch can produce a function while the\n * remaining branches produce values to be passed to that function as its\n * arguments.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig (*... -> a),*... -> a\n * @param {Function} fn The function to apply to the remaining arguments.\n * @param {...*} args Any number of positional arguments.\n * @return {*}\n * @see R.apply\n * @example\n *\n * R.call(R.add, 1, 2); //=> 3\n *\n * const indentN = R.pipe(R.repeat(' '),\n * R.join(''),\n * R.replace(/^(?!$)/gm));\n *\n * const format = R.converge(R.call, [\n * R.pipe(R.prop('indent'), indentN),\n * R.prop('value')\n * ]);\n *\n * format({indent: 2, value: 'foo\\nbar\\nbaz\\n'}); //=> ' foo\\n bar\\n baz\\n'\n * @symb R.call(f, a, b) = f(a, b)\n */\n\nvar call =\n/*#__PURE__*/\ncurry(function call(fn) {\n return fn.apply(this, Array.prototype.slice.call(arguments, 1));\n});\nexport default call;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\nimport _xchain from \"./internal/_xchain.js\";\nimport map from \"./map.js\";\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries.\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n * const duplicate = n => [n, n];\n * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\n\nvar chain =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) {\n if (typeof monad === 'function') {\n return function (x) {\n return fn(monad(x))(x);\n };\n }\n\n return _makeFlat(false)(map(fn, monad));\n}));\n\nexport default chain;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Restricts a number to be within a range.\n *\n * Also works for other ordered types such as Strings and Dates.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Relation\n * @sig Ord a => a -> a -> a -> a\n * @param {Number} minimum The lower limit of the clamp (inclusive)\n * @param {Number} maximum The upper limit of the clamp (inclusive)\n * @param {Number} value Value to be clamped\n * @return {Number} Returns `minimum` when `val < minimum`, `maximum` when `val > maximum`, returns `val` otherwise\n * @example\n *\n * R.clamp(1, 10, -5) // => 1\n * R.clamp(1, 10, 15) // => 10\n * R.clamp(1, 10, 4) // => 4\n */\n\nvar clamp =\n/*#__PURE__*/\n_curry3(function clamp(min, max, value) {\n if (min > max) {\n throw new Error('min must not be greater than max in clamp(min, max, value)');\n }\n\n return value < min ? min : value > max ? max : value;\n});\n\nexport default clamp;","import _clone from \"./internal/_clone.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\n\nvar clone =\n/*#__PURE__*/\n_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\n\nexport default clone;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n * const byAge = R.comparator((a, b) => a.age < b.age);\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByIncreasingAge = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\n\nvar comparator =\n/*#__PURE__*/\n_curry1(function comparator(pred) {\n return function (a, b) {\n return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n };\n});\n\nexport default comparator;","import lift from \"./lift.js\";\nimport not from \"./not.js\";\n/**\n * Takes a function `f` and returns a function `g` such that if called with the same arguments\n * when `f` returns a \"truthy\" value, `g` returns `false` and when `f` returns a \"falsy\" value `g` returns `true`.\n *\n * `R.complement` may be applied to any functor\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> *) -> (*... -> Boolean)\n * @param {Function} f\n * @return {Function}\n * @see R.not\n * @example\n *\n * const isNotNil = R.complement(R.isNil);\n * isNil(null); //=> true\n * isNotNil(null); //=> false\n * isNil(7); //=> false\n * isNotNil(7); //=> true\n */\n\nvar complement =\n/*#__PURE__*/\nlift(not);\nexport default complement;","import pipe from \"./pipe.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Performs right-to-left function composition. The last argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of compose is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipe\n * @example\n *\n * const classyGreeting = (firstName, lastName) => \"The name's \" + lastName + \", \" + firstName + \" \" + lastName\n * const yellGreeting = R.compose(R.toUpper, classyGreeting);\n * yellGreeting('James', 'Bond'); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.compose(Math.abs, R.add(1), R.multiply(2))(-4) //=> 7\n *\n * @symb R.compose(f, g, h)(a, b) = f(g(h(a, b)))\n */\n\nexport default function compose() {\n if (arguments.length === 0) {\n throw new Error('compose requires at least one argument');\n }\n\n return pipe.apply(this, reverse(arguments));\n}","import chain from \"./chain.js\";\nimport compose from \"./compose.js\";\nimport map from \"./map.js\";\n/**\n * Returns the right-to-left Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.composeK(h, g, f)` is equivalent to `R.compose(R.chain(h), R.chain(g), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((y -> m z), (x -> m y), ..., (a -> m b)) -> (a -> m z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.pipeK\n * @deprecated since v0.26.0\n * @example\n *\n * // get :: String -> Object -> Maybe *\n * const get = R.curry((propName, obj) => Maybe(obj[propName]))\n *\n * // getStateCode :: Maybe String -> Maybe String\n * const getStateCode = R.composeK(\n * R.compose(Maybe.of, R.toUpper),\n * get('state'),\n * get('address'),\n * get('user'),\n * );\n * getStateCode({\"user\":{\"address\":{\"state\":\"ny\"}}}); //=> Maybe.Just(\"NY\")\n * getStateCode({}); //=> Maybe.Nothing()\n * @symb R.composeK(f, g, h)(a) = R.chain(f, R.chain(g, h(a)))\n */\n\nexport default function composeK() {\n if (arguments.length === 0) {\n throw new Error('composeK requires at least one argument');\n }\n\n var init = Array.prototype.slice.call(arguments);\n var last = init.pop();\n return compose(compose.apply(this, map(chain, init)), last);\n}","import pipeP from \"./pipeP.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Performs right-to-left composition of one or more Promise-returning\n * functions. The last arguments may have any arity; the remaining\n * arguments must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((y -> Promise z), (x -> Promise y), ..., (a -> Promise b)) -> (a -> Promise z)\n * @param {...Function} functions The functions to compose\n * @return {Function}\n * @see R.pipeP\n * @deprecated since v0.26.0\n * @example\n *\n * const db = {\n * users: {\n * JOE: {\n * name: 'Joe',\n * followers: ['STEVE', 'SUZY']\n * }\n * }\n * }\n *\n * // We'll pretend to do a db lookup which returns a promise\n * const lookupUser = (userId) => Promise.resolve(db.users[userId])\n * const lookupFollowers = (user) => Promise.resolve(user.followers)\n * lookupUser('JOE').then(lookupFollowers)\n *\n * // followersForUser :: String -> Promise [UserId]\n * const followersForUser = R.composeP(lookupFollowers, lookupUser);\n * followersForUser('JOE').then(followers => console.log('Followers:', followers))\n * // Followers: [\"STEVE\",\"SUZY\"]\n */\n\nexport default function composeP() {\n if (arguments.length === 0) {\n throw new Error('composeP requires at least one argument');\n }\n\n return pipeP.apply(this, reverse(arguments));\n}","import _curry2 from \"./internal/_curry2.js\";\nimport pipeWith from \"./pipeWith.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Performs right-to-left function composition using transforming function. The last argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of compose is not automatically curried. Transforming function is not used on the\n * last argument.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig ((* -> *), [(y -> z), (x -> y), ..., (o -> p), ((a, b, ..., n) -> o)]) -> ((a, b, ..., n) -> z)\n * @param {...Function} ...functions The functions to compose\n * @return {Function}\n * @see R.compose, R.pipeWith\n * @example\n *\n * const composeWhileNotNil = R.composeWith((f, res) => R.isNil(res) ? res : f(res));\n *\n * composeWhileNotNil([R.inc, R.prop('age')])({age: 1}) //=> 2\n * composeWhileNotNil([R.inc, R.prop('age')])({}) //=> undefined\n *\n * @symb R.composeWith(f)([g, h, i])(...args) = f(g, f(h, i(...args)))\n */\n\nvar composeWith =\n/*#__PURE__*/\n_curry2(function composeWith(xf, list) {\n return pipeWith.apply(this, [xf, reverse(list)]);\n});\n\nexport default composeWith;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport _isString from \"./internal/_isString.js\";\nimport toString from \"./toString.js\";\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\n\nvar concat =\n/*#__PURE__*/\n_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(b) + ' is not an array');\n }\n\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n\n throw new TypeError(toString(b) + ' is not a string');\n }\n\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n\nexport default concat;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport map from \"./map.js\";\nimport max from \"./max.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Returns a function, `fn`, which encapsulates `if/else, if/else, ...` logic.\n * `R.cond` takes a list of [predicate, transformer] pairs. All of the arguments\n * to `fn` are applied to each of the predicates in turn until one returns a\n * \"truthy\" value, at which point `fn` returns the result of applying its\n * arguments to the corresponding transformer. If none of the predicates\n * matches, `fn` returns undefined.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Logic\n * @sig [[(*... -> Boolean),(*... -> *)]] -> (*... -> *)\n * @param {Array} pairs A list of [predicate, transformer]\n * @return {Function}\n * @see R.ifElse, R.unless, R.when\n * @example\n *\n * const fn = R.cond([\n * [R.equals(0), R.always('water freezes at 0°C')],\n * [R.equals(100), R.always('water boils at 100°C')],\n * [R.T, temp => 'nothing special happens at ' + temp + '°C']\n * ]);\n * fn(0); //=> 'water freezes at 0°C'\n * fn(50); //=> 'nothing special happens at 50°C'\n * fn(100); //=> 'water boils at 100°C'\n */\n\nvar cond =\n/*#__PURE__*/\n_curry1(function cond(pairs) {\n var arity = reduce(max, 0, map(function (pair) {\n return pair[0].length;\n }, pairs));\n return _arity(arity, function () {\n var idx = 0;\n\n while (idx < pairs.length) {\n if (pairs[idx][0].apply(this, arguments)) {\n return pairs[idx][1].apply(this, arguments);\n }\n\n idx += 1;\n }\n });\n});\n\nexport default cond;","import _curry1 from \"./internal/_curry1.js\";\nimport constructN from \"./constructN.js\";\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> {*}) -> (* -> {*})\n * @param {Function} fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @see R.invoker\n * @example\n *\n * // Constructor function\n * function Animal(kind) {\n * this.kind = kind;\n * };\n * Animal.prototype.sighting = function() {\n * return \"It's a \" + this.kind + \"!\";\n * }\n *\n * const AnimalConstructor = R.construct(Animal)\n *\n * // Notice we no longer need the 'new' keyword:\n * AnimalConstructor('Pig'); //=> {\"kind\": \"Pig\", \"sighting\": function (){...}};\n *\n * const animalTypes = [\"Lion\", \"Tiger\", \"Bear\"];\n * const animalSighting = R.invoker(0, 'sighting');\n * const sightNewAnimal = R.compose(animalSighting, AnimalConstructor);\n * R.map(sightNewAnimal, animalTypes); //=> [\"It's a Lion!\", \"It's a Tiger!\", \"It's a Bear!\"]\n */\n\nvar construct =\n/*#__PURE__*/\n_curry1(function construct(Fn) {\n return constructN(Fn.length, Fn);\n});\n\nexport default construct;","import _curry2 from \"./internal/_curry2.js\";\nimport curry from \"./curry.js\";\nimport nAry from \"./nAry.js\";\n/**\n * Wraps a constructor function inside a curried function that can be called\n * with the same arguments and returns the same type. The arity of the function\n * returned is specified to allow using variadic constructor functions.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Function\n * @sig Number -> (* -> {*}) -> (* -> {*})\n * @param {Number} n The arity of the constructor function.\n * @param {Function} Fn The constructor function to wrap.\n * @return {Function} A wrapped, curried constructor function.\n * @example\n *\n * // Variadic Constructor function\n * function Salad() {\n * this.ingredients = arguments;\n * }\n *\n * Salad.prototype.recipe = function() {\n * const instructions = R.map(ingredient => 'Add a dollop of ' + ingredient, this.ingredients);\n * return R.join('\\n', instructions);\n * };\n *\n * const ThreeLayerSalad = R.constructN(3, Salad);\n *\n * // Notice we no longer need the 'new' keyword, and the constructor is curried for 3 arguments.\n * const salad = ThreeLayerSalad('Mayonnaise')('Potato Chips')('Ketchup');\n *\n * console.log(salad.recipe());\n * // Add a dollop of Mayonnaise\n * // Add a dollop of Potato Chips\n * // Add a dollop of Ketchup\n */\n\nvar constructN =\n/*#__PURE__*/\n_curry2(function constructN(n, Fn) {\n if (n > 10) {\n throw new Error('Constructor with greater than ten arguments');\n }\n\n if (n === 0) {\n return function () {\n return new Fn();\n };\n }\n\n return curry(nAry(n, function ($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) {\n switch (arguments.length) {\n case 1:\n return new Fn($0);\n\n case 2:\n return new Fn($0, $1);\n\n case 3:\n return new Fn($0, $1, $2);\n\n case 4:\n return new Fn($0, $1, $2, $3);\n\n case 5:\n return new Fn($0, $1, $2, $3, $4);\n\n case 6:\n return new Fn($0, $1, $2, $3, $4, $5);\n\n case 7:\n return new Fn($0, $1, $2, $3, $4, $5, $6);\n\n case 8:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7);\n\n case 9:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8);\n\n case 10:\n return new Fn($0, $1, $2, $3, $4, $5, $6, $7, $8, $9);\n }\n }));\n});\n\nexport default constructN;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.includes\n * @deprecated since v0.26.0\n * @example\n *\n * R.contains(3, [1, 2, 3]); //=> true\n * R.contains(4, [1, 2, 3]); //=> false\n * R.contains({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.contains([42], [[42]]); //=> true\n * R.contains('ba', 'banana'); //=>true\n */\n\nvar contains =\n/*#__PURE__*/\n_curry2(_includes);\n\nexport default contains;","import _curry2 from \"./internal/_curry2.js\";\nimport _map from \"./internal/_map.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. The arity of the new function is the same as the arity of\n * the longest branching function. When invoked, this new function is applied\n * to some arguments, and each branching function is applied to those same\n * arguments. The results of each branching function are passed as arguments\n * to the converging function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n * `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n * const average = R.converge(R.divide, [R.sum, R.length])\n * average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n * strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\n\nvar converge =\n/*#__PURE__*/\n_curry2(function converge(after, fns) {\n return curryN(reduce(max, 0, pluck('length', fns)), function () {\n var args = arguments;\n var context = this;\n return after.apply(context, _map(function (fn) {\n return fn.apply(context, args);\n }, fns));\n });\n});\n\nexport default converge;","import reduceBy from \"./reduceBy.js\";\n/**\n * Counts the elements of a list according to how many match each value of a\n * key generated by the supplied function. Returns an object mapping the keys\n * produced by `fn` to the number of occurrences in the list. Note that all\n * keys are coerced to strings because of how JavaScript objects work.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig (a -> String) -> [a] -> {*}\n * @param {Function} fn The function used to map values to keys.\n * @param {Array} list The list to count elements from.\n * @return {Object} An object mapping keys to number of occurrences in the list.\n * @example\n *\n * const numbers = [1.0, 1.1, 1.2, 2.0, 3.0, 2.2];\n * R.countBy(Math.floor)(numbers); //=> {'1': 3, '2': 2, '3': 1}\n *\n * const letters = ['a', 'b', 'A', 'a', 'B', 'c'];\n * R.countBy(R.toLower)(letters); //=> {'a': 3, 'b': 2, 'c': 1}\n */\n\nvar countBy =\n/*#__PURE__*/\nreduceBy(function (acc, elem) {\n return acc + 1;\n}, 0);\nexport default countBy;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a curried equivalent of the provided function. The curried function\n * has two unusual capabilities. First, its arguments needn't be provided one\n * at a time. If `f` is a ternary function and `g` is `R.curry(f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (* -> a) -> (* -> a)\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curryN, R.partial\n * @example\n *\n * const addFourNumbers = (a, b, c, d) => a + b + c + d;\n *\n * const curriedAddFourNumbers = R.curry(addFourNumbers);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curry =\n/*#__PURE__*/\n_curry1(function curry(fn) {\n return curryN(fn.length, fn);\n});\n\nexport default curry;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","import add from \"./add.js\";\n/**\n * Decrements its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n - 1\n * @see R.inc\n * @example\n *\n * R.dec(42); //=> 41\n */\n\nvar dec =\n/*#__PURE__*/\nadd(-1);\nexport default dec;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nexport default defaultTo;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a descending comparator function out of a function that returns a value\n * that can be compared with `<` and `>`.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Function\n * @sig Ord b => (a -> b) -> a -> a -> Number\n * @param {Function} fn A function of arity one that returns a value that can be compared\n * @param {*} a The first item to be compared.\n * @param {*} b The second item to be compared.\n * @return {Number} `-1` if fn(a) > fn(b), `1` if fn(b) > fn(a), otherwise `0`\n * @see R.ascend\n * @example\n *\n * const byAge = R.descend(R.prop('age'));\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByOldestFirst = R.sort(byAge, people);\n * //=> [{ name: 'Peter', age: 78 }, { name: 'Emma', age: 70 }, { name: 'Mikhail', age: 62 }]\n */\n\nvar descend =\n/*#__PURE__*/\n_curry3(function descend(fn, a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa > bb ? -1 : aa < bb ? 1 : 0;\n});\n\nexport default descend;","import _curry2 from \"./internal/_curry2.js\";\nimport _Set from \"./internal/_Set.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\n\nvar difference =\n/*#__PURE__*/\n_curry2(function difference(first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n var secondLen = second.length;\n var toFilterOut = new _Set();\n\n for (var i = 0; i < secondLen; i += 1) {\n toFilterOut.add(second[i]);\n }\n\n while (idx < firstLen) {\n if (toFilterOut.add(first[idx])) {\n out[out.length] = first[idx];\n }\n\n idx += 1;\n }\n\n return out;\n});\n\nexport default difference;","import _includesWith from \"./internal/_includesWith.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Duplication is determined according to the\n * value returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.difference, R.symmetricDifference, R.symmetricDifferenceWith\n * @example\n *\n * const cmp = (x, y) => x.a === y.a;\n * const l1 = [{a: 1}, {a: 2}, {a: 3}];\n * const l2 = [{a: 3}, {a: 4}];\n * R.differenceWith(cmp, l1, l2); //=> [{a: 1}, {a: 2}]\n */\n\nvar differenceWith =\n/*#__PURE__*/\n_curry3(function differenceWith(pred, first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n\n while (idx < firstLen) {\n if (!_includesWith(pred, first[idx], second) && !_includesWith(pred, first[idx], out)) {\n out.push(first[idx]);\n }\n\n idx += 1;\n }\n\n return out;\n});\n\nexport default differenceWith;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc, R.omit\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\n\nvar dissoc =\n/*#__PURE__*/\n_curry2(function dissoc(prop, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n delete result[prop];\n return result;\n});\n\nexport default dissoc;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport assoc from \"./assoc.js\";\nimport dissoc from \"./dissoc.js\";\nimport remove from \"./remove.js\";\nimport update from \"./update.js\";\n/**\n * Makes a shallow clone of an object, omitting the property at the given path.\n * Note that this copies and flattens prototype properties onto the new object\n * as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.11.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {k: v} -> {k: v}\n * @param {Array} path The path to the value to omit\n * @param {Object} obj The object to clone\n * @return {Object} A new object without the property at path\n * @see R.assocPath\n * @example\n *\n * R.dissocPath(['a', 'b', 'c'], {a: {b: {c: 42}}}); //=> {a: {b: {}}}\n */\n\nvar dissocPath =\n/*#__PURE__*/\n_curry2(function dissocPath(path, obj) {\n switch (path.length) {\n case 0:\n return obj;\n\n case 1:\n return _isInteger(path[0]) && _isArray(obj) ? remove(path[0], 1, obj) : dissoc(path[0], obj);\n\n default:\n var head = path[0];\n var tail = Array.prototype.slice.call(path, 1);\n\n if (obj[head] == null) {\n return obj;\n } else if (_isInteger(head) && _isArray(obj)) {\n return update(head, dissocPath(tail, obj[head]), obj);\n } else {\n return assoc(head, dissocPath(tail, obj[head]), obj);\n }\n\n }\n});\n\nexport default dissocPath;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Divides two numbers. Equivalent to `a / b`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a / b`.\n * @see R.multiply\n * @example\n *\n * R.divide(71, 100); //=> 0.71\n *\n * const half = R.divide(R.__, 2);\n * half(42); //=> 21\n *\n * const reciprocal = R.divide(1);\n * reciprocal(4); //=> 0.25\n */\n\nvar divide =\n/*#__PURE__*/\n_curry2(function divide(a, b) {\n return a / b;\n});\n\nexport default divide;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdrop from \"./internal/_xdrop.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `drop` method).\n *\n * Dispatches to the `drop` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*} A copy of list without the first `n` elements\n * @see R.take, R.transduce, R.dropLast, R.dropWhile\n * @example\n *\n * R.drop(1, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.drop(2, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.drop(3, ['foo', 'bar', 'baz']); //=> []\n * R.drop(4, ['foo', 'bar', 'baz']); //=> []\n * R.drop(3, 'ramda'); //=> 'da'\n */\n\nvar drop =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['drop'], _xdrop, function drop(n, xs) {\n return slice(Math.max(0, n), Infinity, xs);\n}));\n\nexport default drop;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _dropLast from \"./internal/_dropLast.js\";\nimport _xdropLast from \"./internal/_xdropLast.js\";\n/**\n * Returns a list containing all but the last `n` elements of the given `list`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements of `list` to skip.\n * @param {Array} list The list of elements to consider.\n * @return {Array} A copy of the list with only the first `list.length - n` elements\n * @see R.takeLast, R.drop, R.dropWhile, R.dropLastWhile\n * @example\n *\n * R.dropLast(1, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.dropLast(2, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.dropLast(3, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(4, ['foo', 'bar', 'baz']); //=> []\n * R.dropLast(3, 'ramda'); //=> 'ra'\n */\n\nvar dropLast =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropLast, _dropLast));\n\nexport default dropLast;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _dropLastWhile from \"./internal/_dropLastWhile.js\";\nimport _xdropLastWhile from \"./internal/_xdropLastWhile.js\";\n/**\n * Returns a new list excluding all the tailing elements of a given list which\n * satisfy the supplied predicate function. It passes each value from the right\n * to the supplied predicate function, skipping elements until the predicate\n * function returns a `falsy` value. The predicate function is applied to one argument:\n * *(value)*.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} predicate The function to be called on each element\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array without any trailing elements that return `falsy` values from the `predicate`.\n * @see R.takeLastWhile, R.addIndex, R.drop, R.dropWhile\n * @example\n *\n * const lteThree = x => x <= 3;\n *\n * R.dropLastWhile(lteThree, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3, 4]\n *\n * R.dropLastWhile(x => x !== 'd' , 'Ramda'); //=> 'Ramd'\n */\n\nvar dropLastWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropLastWhile, _dropLastWhile));\n\nexport default dropLastWhile;","import _curry1 from \"./internal/_curry1.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropRepeatsWith from \"./internal/_xdropRepeatsWith.js\";\nimport dropRepeatsWith from \"./dropRepeatsWith.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns a new list without any consecutively repeating elements.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * R.dropRepeats([1, 1, 1, 2, 3, 4, 4, 2, 2]); //=> [1, 2, 3, 4, 2]\n */\n\nvar dropRepeats =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_dispatchable([],\n/*#__PURE__*/\n_xdropRepeatsWith(equals),\n/*#__PURE__*/\ndropRepeatsWith(equals)));\n\nexport default dropRepeats;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropRepeatsWith from \"./internal/_xdropRepeatsWith.js\";\nimport last from \"./last.js\";\n/**\n * Returns a new list without any consecutively repeating elements. Equality is\n * determined by applying the supplied predicate to each pair of consecutive elements. The\n * first element in a series of equal elements will be preserved.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} `list` without repeating elements.\n * @see R.transduce\n * @example\n *\n * const l = [1, -1, 1, 3, 4, -4, -4, -5, 5, 3, 3];\n * R.dropRepeatsWith(R.eqBy(Math.abs), l); //=> [1, 3, 4, -5, 3]\n */\n\nvar dropRepeatsWith =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xdropRepeatsWith, function dropRepeatsWith(pred, list) {\n var result = [];\n var idx = 1;\n var len = list.length;\n\n if (len !== 0) {\n result[0] = list[0];\n\n while (idx < len) {\n if (!pred(last(result), list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n }\n\n return result;\n}));\n\nexport default dropRepeatsWith;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xdropWhile from \"./internal/_xdropWhile.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list excluding the leading elements of a given list which\n * satisfy the supplied predicate function. It passes each value to the supplied\n * predicate function, skipping elements while the predicate function returns\n * `true`. The predicate function is applied to one argument: *(value)*.\n *\n * Dispatches to the `dropWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.takeWhile, R.transduce, R.addIndex\n * @example\n *\n * const lteTwo = x => x <= 2;\n *\n * R.dropWhile(lteTwo, [1, 2, 3, 4, 3, 2, 1]); //=> [3, 4, 3, 2, 1]\n *\n * R.dropWhile(x => x !== 'd' , 'Ramda'); //=> 'da'\n */\n\nvar dropWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['dropWhile'], _xdropWhile, function dropWhile(pred, xs) {\n var idx = 0;\n var len = xs.length;\n\n while (idx < len && pred(xs[idx])) {\n idx += 1;\n }\n\n return slice(idx, Infinity, xs);\n}));\n\nexport default dropWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport lift from \"./lift.js\";\nimport or from \"./or.js\";\n/**\n * A function wrapping calls to the two functions in an `||` operation,\n * returning the result of the first function if it is truth-y and the result\n * of the second function otherwise. Note that this is short-circuited,\n * meaning that the second function will not be invoked if the first returns a\n * truth-y value.\n *\n * In addition to functions, `R.either` also accepts any fantasy-land compatible\n * applicative functor.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> Boolean) -> (*... -> Boolean)\n * @param {Function} f a predicate\n * @param {Function} g another predicate\n * @return {Function} a function that applies its arguments to `f` and `g` and `||`s their outputs together.\n * @see R.or\n * @example\n *\n * const gt10 = x => x > 10;\n * const even = x => x % 2 === 0;\n * const f = R.either(gt10, even);\n * f(101); //=> true\n * f(8); //=> true\n *\n * R.either(Maybe.Just(false), Maybe.Just(55)); // => Maybe.Just(55)\n * R.either([false, false, 'a'], [11]) // => [11, 11, \"a\"]\n */\n\nvar either =\n/*#__PURE__*/\n_curry2(function either(f, g) {\n return _isFunction(f) ? function _either() {\n return f.apply(this, arguments) || g.apply(this, arguments);\n } : lift(or)(f, g);\n});\n\nexport default either;","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : void 0 // else\n ;\n});\n\nexport default empty;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport takeLast from \"./takeLast.js\";\n/**\n * Checks if a list ends with the provided sublist.\n *\n * Similarly, checks if a string ends with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} suffix\n * @param {*} list\n * @return {Boolean}\n * @see R.startsWith\n * @example\n *\n * R.endsWith('c', 'abc') //=> true\n * R.endsWith('b', 'abc') //=> false\n * R.endsWith(['c'], ['a', 'b', 'c']) //=> true\n * R.endsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\nvar endsWith =\n/*#__PURE__*/\n_curry2(function (suffix, list) {\n return equals(takeLast(suffix.length, list), suffix);\n});\n\nexport default endsWith;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Takes a function and two values in its domain and returns `true` if the\n * values map to the same value in the codomain; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Relation\n * @sig (a -> b) -> a -> a -> Boolean\n * @param {Function} f\n * @param {*} x\n * @param {*} y\n * @return {Boolean}\n * @example\n *\n * R.eqBy(Math.abs, 5, -5); //=> true\n */\n\nvar eqBy =\n/*#__PURE__*/\n_curry3(function eqBy(f, x, y) {\n return equals(f(x), f(y));\n});\n\nexport default eqBy;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Reports whether two objects have the same value, in [`R.equals`](#equals)\n * terms, for the specified property. Useful as a curried predicate.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig k -> {k: v} -> {k: v} -> Boolean\n * @param {String} prop The name of the property to compare\n * @param {Object} obj1\n * @param {Object} obj2\n * @return {Boolean}\n *\n * @example\n *\n * const o1 = { a: 1, b: 2, c: 3, d: 4 };\n * const o2 = { a: 10, b: 20, c: 3, d: 40 };\n * R.eqProps('a', o1, o2); //=> false\n * R.eqProps('c', o1, o2); //=> true\n */\n\nvar eqProps =\n/*#__PURE__*/\n_curry3(function eqProps(prop, obj1, obj2) {\n return equals(obj1[prop], obj2[prop]);\n});\n\nexport default eqProps;","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n * to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n * const transformations = {\n * firstName: R.trim,\n * lastName: R.trim, // Will not get invoked.\n * data: {elapsed: R.add(1), remaining: R.add(-1)}\n * };\n * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\n\nvar evolve =\n/*#__PURE__*/\n_curry2(function evolve(transformations, object) {\n var result = object instanceof Array ? [] : {};\n var transformation, key, type;\n\n for (key in object) {\n transformation = transformations[key];\n type = typeof transformation;\n result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n }\n\n return result;\n});\n\nexport default evolve;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));\n\nexport default filter;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfind from \"./internal/_xfind.js\";\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n * R.find(R.propEq('a', 4))(xs); //=> undefined\n */\n\nvar find =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['find'], _xfind, function find(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return list[idx];\n }\n\n idx += 1;\n }\n}));\n\nexport default find;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindIndex from \"./internal/_xfindIndex.js\";\n/**\n * Returns the index of the first element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.findIndex(R.propEq('a', 2))(xs); //=> 1\n * R.findIndex(R.propEq('a', 4))(xs); //=> -1\n */\n\nvar findIndex =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindIndex, function findIndex(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}));\n\nexport default findIndex;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindLast from \"./internal/_xfindLast.js\";\n/**\n * Returns the last element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLast(R.propEq('a', 1))(xs); //=> {a: 1, b: 1}\n * R.findLast(R.propEq('a', 4))(xs); //=> undefined\n */\n\nvar findLast =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindLast, function findLast(fn, list) {\n var idx = list.length - 1;\n\n while (idx >= 0) {\n if (fn(list[idx])) {\n return list[idx];\n }\n\n idx -= 1;\n }\n}));\n\nexport default findLast;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfindLastIndex from \"./internal/_xfindLastIndex.js\";\n/**\n * Returns the index of the last element of the list which matches the\n * predicate, or `-1` if no element matches.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> Boolean) -> [a] -> Number\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Number} The index of the element found, or `-1`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1, b: 0}, {a:1, b: 1}];\n * R.findLastIndex(R.propEq('a', 1))(xs); //=> 1\n * R.findLastIndex(R.propEq('a', 4))(xs); //=> -1\n */\n\nvar findLastIndex =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xfindLastIndex, function findLastIndex(fn, list) {\n var idx = list.length - 1;\n\n while (idx >= 0) {\n if (fn(list[idx])) {\n return idx;\n }\n\n idx -= 1;\n }\n\n return -1;\n}));\n\nexport default findLastIndex;","import _curry1 from \"./internal/_curry1.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\n\nvar flatten =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_makeFlat(true));\n\nexport default flatten;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\n\nvar flip =\n/*#__PURE__*/\n_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\n\nexport default flip;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n\n return list;\n}));\n\nexport default forEach;","import _curry2 from \"./internal/_curry2.js\";\nimport keys from \"./keys.js\";\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n * const printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n * // logs x:1\n * // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\n\nvar forEachObjIndexed =\n/*#__PURE__*/\n_curry2(function forEachObjIndexed(fn, obj) {\n var keyList = keys(obj);\n var idx = 0;\n\n while (idx < keyList.length) {\n var key = keyList[idx];\n fn(obj[key], key, obj);\n idx += 1;\n }\n\n return obj;\n});\n\nexport default forEachObjIndexed;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a new object from a list key-value pairs. If a key appears in\n * multiple pairs, the rightmost pair is included in the object.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [[k,v]] -> {k: v}\n * @param {Array} pairs An array of two-element arrays that will be the keys and values of the output object.\n * @return {Object} The object made by pairing up `keys` and `values`.\n * @see R.toPairs, R.pair\n * @example\n *\n * R.fromPairs([['a', 1], ['b', 2], ['c', 3]]); //=> {a: 1, b: 2, c: 3}\n */\n\nvar fromPairs =\n/*#__PURE__*/\n_curry1(function fromPairs(pairs) {\n var result = {};\n var idx = 0;\n\n while (idx < pairs.length) {\n result[pairs[idx][0]] = pairs[idx][1];\n idx += 1;\n }\n\n return result;\n});\n\nexport default fromPairs;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport reduceBy from \"./reduceBy.js\";\n/**\n * Splits a list into sub-lists stored in an object, based on the result of\n * calling a String-returning function on each element, and grouping the\n * results according to values returned.\n *\n * Dispatches to the `groupBy` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> String) -> [a] -> {String: [a]}\n * @param {Function} fn Function :: a -> String\n * @param {Array} list The array to group\n * @return {Object} An object with the output of `fn` for keys, mapped to arrays of elements\n * that produced that key when passed to `fn`.\n * @see R.reduceBy, R.transduce\n * @example\n *\n * const byGrade = R.groupBy(function(student) {\n * const score = student.score;\n * return score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A';\n * });\n * const students = [{name: 'Abby', score: 84},\n * {name: 'Eddy', score: 58},\n * // ...\n * {name: 'Jack', score: 69}];\n * byGrade(students);\n * // {\n * // 'A': [{name: 'Dianne', score: 99}],\n * // 'B': [{name: 'Abby', score: 84}]\n * // // ...,\n * // 'F': [{name: 'Eddy', score: 58}]\n * // }\n */\n\nvar groupBy =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('groupBy',\n/*#__PURE__*/\nreduceBy(function (acc, item) {\n if (acc == null) {\n acc = [];\n }\n\n acc.push(item);\n return acc;\n}, null)));\n\nexport default groupBy;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Takes a list and returns a list of lists where each sublist's elements are\n * all satisfied pairwise comparison according to the provided function.\n * Only adjacent elements are passed to the comparison function.\n *\n * @func\n * @memberOf R\n * @since v0.21.0\n * @category List\n * @sig ((a, a) → Boolean) → [a] → [[a]]\n * @param {Function} fn Function for determining whether two given (adjacent)\n * elements should be in the same group\n * @param {Array} list The array to group. Also accepts a string, which will be\n * treated as a list of characters.\n * @return {List} A list that contains sublists of elements,\n * whose concatenations are equal to the original list.\n * @example\n *\n * R.groupWith(R.equals, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a + 1 === b, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0, 1], [1, 2, 3], [5], [8], [13], [21]]\n *\n * R.groupWith((a, b) => a % 2 === b % 2, [0, 1, 1, 2, 3, 5, 8, 13, 21])\n * //=> [[0], [1, 1], [2], [3, 5], [8], [13, 21]]\n *\n * R.groupWith(R.eqBy(isVowel), 'aestiou')\n * //=> ['ae', 'st', 'iou']\n */\n\nvar groupWith =\n/*#__PURE__*/\n_curry2(function (fn, list) {\n var res = [];\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n var nextidx = idx + 1;\n\n while (nextidx < len && fn(list[nextidx - 1], list[nextidx])) {\n nextidx += 1;\n }\n\n res.push(list.slice(idx, nextidx));\n idx = nextidx;\n }\n\n return res;\n});\n\nexport default groupWith;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the first argument is greater than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.lt\n * @example\n *\n * R.gt(2, 1); //=> true\n * R.gt(2, 2); //=> false\n * R.gt(2, 3); //=> false\n * R.gt('a', 'z'); //=> false\n * R.gt('z', 'a'); //=> true\n */\n\nvar gt =\n/*#__PURE__*/\n_curry2(function gt(a, b) {\n return a > b;\n});\n\nexport default gt;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the first argument is greater than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.lte\n * @example\n *\n * R.gte(2, 1); //=> true\n * R.gte(2, 2); //=> true\n * R.gte(2, 3); //=> false\n * R.gte('a', 'z'); //=> false\n * R.gte('z', 'a'); //=> true\n */\n\nvar gte =\n/*#__PURE__*/\n_curry2(function gte(a, b) {\n return a >= b;\n});\n\nexport default gte;","import _curry2 from \"./internal/_curry2.js\";\nimport hasPath from \"./hasPath.js\";\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\n\nvar has =\n/*#__PURE__*/\n_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\n\nexport default has;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns whether or not an object or its prototype chain has a property with\n * the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * function Rectangle(width, height) {\n * this.width = width;\n * this.height = height;\n * }\n * Rectangle.prototype.area = function() {\n * return this.width * this.height;\n * };\n *\n * const square = new Rectangle(2, 2);\n * R.hasIn('width', square); //=> true\n * R.hasIn('area', square); //=> true\n */\n\nvar hasIn =\n/*#__PURE__*/\n_curry2(function hasIn(prop, obj) {\n return prop in obj;\n});\n\nexport default hasIn;","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\n\nvar hasPath =\n/*#__PURE__*/\n_curry2(function hasPath(_path, obj) {\n if (_path.length === 0 || isNil(obj)) {\n return false;\n }\n\n var val = obj;\n var idx = 0;\n\n while (idx < _path.length) {\n if (!isNil(val) && _has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n\n return true;\n});\n\nexport default hasPath;","import nth from \"./nth.js\";\n/**\n * Returns the first element of the given list or string. In some libraries\n * this function is named `first`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {Array|String} list\n * @return {*}\n * @see R.tail, R.init, R.last\n * @example\n *\n * R.head(['fi', 'fo', 'fum']); //=> 'fi'\n * R.head([]); //=> undefined\n *\n * R.head('abc'); //=> 'a'\n * R.head(''); //=> ''\n */\n\nvar head =\n/*#__PURE__*/\nnth(0);\nexport default head;","import _objectIs from \"./internal/_objectIs.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns true if its arguments are identical, false otherwise. Values are\n * identical if they reference the same memory. `NaN` is identical to `NaN`;\n * `0` and `-0` are not identical.\n *\n * Note this is merely a curried version of ES6 `Object.is`.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * const o = {};\n * R.identical(o, o); //=> true\n * R.identical(1, 1); //=> true\n * R.identical(1, '1'); //=> false\n * R.identical([], []); //=> false\n * R.identical(0, -0); //=> false\n * R.identical(NaN, NaN); //=> true\n */\n\nvar identical =\n/*#__PURE__*/\n_curry2(_objectIs);\n\nexport default identical;","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nexport default identity;","import _curry3 from \"./internal/_curry3.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Creates a function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Logic\n * @sig (*... -> Boolean) -> (*... -> *) -> (*... -> *) -> (*... -> *)\n * @param {Function} condition A predicate function\n * @param {Function} onTrue A function to invoke when the `condition` evaluates to a truthy value.\n * @param {Function} onFalse A function to invoke when the `condition` evaluates to a falsy value.\n * @return {Function} A new function that will process either the `onTrue` or the `onFalse`\n * function depending upon the result of the `condition` predicate.\n * @see R.unless, R.when, R.cond\n * @example\n *\n * const incCount = R.ifElse(\n * R.has('count'),\n * R.over(R.lensProp('count'), R.inc),\n * R.assoc('count', 1)\n * );\n * incCount({}); //=> { count: 1 }\n * incCount({ count: 1 }); //=> { count: 2 }\n */\n\nvar ifElse =\n/*#__PURE__*/\n_curry3(function ifElse(condition, onTrue, onFalse) {\n return curryN(Math.max(condition.length, onTrue.length, onFalse.length), function _ifElse() {\n return condition.apply(this, arguments) ? onTrue.apply(this, arguments) : onFalse.apply(this, arguments);\n });\n});\n\nexport default ifElse;","import add from \"./add.js\";\n/**\n * Increments its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number} n + 1\n * @see R.dec\n * @example\n *\n * R.inc(42); //=> 43\n */\n\nvar inc =\n/*#__PURE__*/\nadd(1);\nexport default inc;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\n\nvar includes =\n/*#__PURE__*/\n_curry2(_includes);\n\nexport default includes;","export { default as F } from \"./F.js\";\nexport { default as T } from \"./T.js\";\nexport { default as __ } from \"./__.js\";\nexport { default as add } from \"./add.js\";\nexport { default as addIndex } from \"./addIndex.js\";\nexport { default as adjust } from \"./adjust.js\";\nexport { default as all } from \"./all.js\";\nexport { default as allPass } from \"./allPass.js\";\nexport { default as always } from \"./always.js\";\nexport { default as and } from \"./and.js\";\nexport { default as any } from \"./any.js\";\nexport { default as anyPass } from \"./anyPass.js\";\nexport { default as ap } from \"./ap.js\";\nexport { default as aperture } from \"./aperture.js\";\nexport { default as append } from \"./append.js\";\nexport { default as apply } from \"./apply.js\";\nexport { default as applySpec } from \"./applySpec.js\";\nexport { default as applyTo } from \"./applyTo.js\";\nexport { default as ascend } from \"./ascend.js\";\nexport { default as assoc } from \"./assoc.js\";\nexport { default as assocPath } from \"./assocPath.js\";\nexport { default as binary } from \"./binary.js\";\nexport { default as bind } from \"./bind.js\";\nexport { default as both } from \"./both.js\";\nexport { default as call } from \"./call.js\";\nexport { default as chain } from \"./chain.js\";\nexport { default as clamp } from \"./clamp.js\";\nexport { default as clone } from \"./clone.js\";\nexport { default as comparator } from \"./comparator.js\";\nexport { default as complement } from \"./complement.js\";\nexport { default as compose } from \"./compose.js\";\nexport { default as composeK } from \"./composeK.js\";\nexport { default as composeP } from \"./composeP.js\";\nexport { default as composeWith } from \"./composeWith.js\";\nexport { default as concat } from \"./concat.js\";\nexport { default as cond } from \"./cond.js\";\nexport { default as construct } from \"./construct.js\";\nexport { default as constructN } from \"./constructN.js\";\nexport { default as contains } from \"./contains.js\";\nexport { default as converge } from \"./converge.js\";\nexport { default as countBy } from \"./countBy.js\";\nexport { default as curry } from \"./curry.js\";\nexport { default as curryN } from \"./curryN.js\";\nexport { default as dec } from \"./dec.js\";\nexport { default as defaultTo } from \"./defaultTo.js\";\nexport { default as descend } from \"./descend.js\";\nexport { default as difference } from \"./difference.js\";\nexport { default as differenceWith } from \"./differenceWith.js\";\nexport { default as dissoc } from \"./dissoc.js\";\nexport { default as dissocPath } from \"./dissocPath.js\";\nexport { default as divide } from \"./divide.js\";\nexport { default as drop } from \"./drop.js\";\nexport { default as dropLast } from \"./dropLast.js\";\nexport { default as dropLastWhile } from \"./dropLastWhile.js\";\nexport { default as dropRepeats } from \"./dropRepeats.js\";\nexport { default as dropRepeatsWith } from \"./dropRepeatsWith.js\";\nexport { default as dropWhile } from \"./dropWhile.js\";\nexport { default as either } from \"./either.js\";\nexport { default as empty } from \"./empty.js\";\nexport { default as endsWith } from \"./endsWith.js\";\nexport { default as eqBy } from \"./eqBy.js\";\nexport { default as eqProps } from \"./eqProps.js\";\nexport { default as equals } from \"./equals.js\";\nexport { default as evolve } from \"./evolve.js\";\nexport { default as filter } from \"./filter.js\";\nexport { default as find } from \"./find.js\";\nexport { default as findIndex } from \"./findIndex.js\";\nexport { default as findLast } from \"./findLast.js\";\nexport { default as findLastIndex } from \"./findLastIndex.js\";\nexport { default as flatten } from \"./flatten.js\";\nexport { default as flip } from \"./flip.js\";\nexport { default as forEach } from \"./forEach.js\";\nexport { default as forEachObjIndexed } from \"./forEachObjIndexed.js\";\nexport { default as fromPairs } from \"./fromPairs.js\";\nexport { default as groupBy } from \"./groupBy.js\";\nexport { default as groupWith } from \"./groupWith.js\";\nexport { default as gt } from \"./gt.js\";\nexport { default as gte } from \"./gte.js\";\nexport { default as has } from \"./has.js\";\nexport { default as hasIn } from \"./hasIn.js\";\nexport { default as hasPath } from \"./hasPath.js\";\nexport { default as head } from \"./head.js\";\nexport { default as identical } from \"./identical.js\";\nexport { default as identity } from \"./identity.js\";\nexport { default as ifElse } from \"./ifElse.js\";\nexport { default as inc } from \"./inc.js\";\nexport { default as includes } from \"./includes.js\";\nexport { default as indexBy } from \"./indexBy.js\";\nexport { default as indexOf } from \"./indexOf.js\";\nexport { default as init } from \"./init.js\";\nexport { default as innerJoin } from \"./innerJoin.js\";\nexport { default as insert } from \"./insert.js\";\nexport { default as insertAll } from \"./insertAll.js\";\nexport { default as intersection } from \"./intersection.js\";\nexport { default as intersperse } from \"./intersperse.js\";\nexport { default as into } from \"./into.js\";\nexport { default as invert } from \"./invert.js\";\nexport { default as invertObj } from \"./invertObj.js\";\nexport { default as invoker } from \"./invoker.js\";\nexport { default as is } from \"./is.js\";\nexport { default as isEmpty } from \"./isEmpty.js\";\nexport { default as isNil } from \"./isNil.js\";\nexport { default as join } from \"./join.js\";\nexport { default as juxt } from \"./juxt.js\";\nexport { default as keys } from \"./keys.js\";\nexport { default as keysIn } from \"./keysIn.js\";\nexport { default as last } from \"./last.js\";\nexport { default as lastIndexOf } from \"./lastIndexOf.js\";\nexport { default as length } from \"./length.js\";\nexport { default as lens } from \"./lens.js\";\nexport { default as lensIndex } from \"./lensIndex.js\";\nexport { default as lensPath } from \"./lensPath.js\";\nexport { default as lensProp } from \"./lensProp.js\";\nexport { default as lift } from \"./lift.js\";\nexport { default as liftN } from \"./liftN.js\";\nexport { default as lt } from \"./lt.js\";\nexport { default as lte } from \"./lte.js\";\nexport { default as map } from \"./map.js\";\nexport { default as mapAccum } from \"./mapAccum.js\";\nexport { default as mapAccumRight } from \"./mapAccumRight.js\";\nexport { default as mapObjIndexed } from \"./mapObjIndexed.js\";\nexport { default as match } from \"./match.js\";\nexport { default as mathMod } from \"./mathMod.js\";\nexport { default as max } from \"./max.js\";\nexport { default as maxBy } from \"./maxBy.js\";\nexport { default as mean } from \"./mean.js\";\nexport { default as median } from \"./median.js\";\nexport { default as memoizeWith } from \"./memoizeWith.js\";\nexport { default as merge } from \"./merge.js\";\nexport { default as mergeAll } from \"./mergeAll.js\";\nexport { default as mergeDeepLeft } from \"./mergeDeepLeft.js\";\nexport { default as mergeDeepRight } from \"./mergeDeepRight.js\";\nexport { default as mergeDeepWith } from \"./mergeDeepWith.js\";\nexport { default as mergeDeepWithKey } from \"./mergeDeepWithKey.js\";\nexport { default as mergeLeft } from \"./mergeLeft.js\";\nexport { default as mergeRight } from \"./mergeRight.js\";\nexport { default as mergeWith } from \"./mergeWith.js\";\nexport { default as mergeWithKey } from \"./mergeWithKey.js\";\nexport { default as min } from \"./min.js\";\nexport { default as minBy } from \"./minBy.js\";\nexport { default as modulo } from \"./modulo.js\";\nexport { default as move } from \"./move.js\";\nexport { default as multiply } from \"./multiply.js\";\nexport { default as nAry } from \"./nAry.js\";\nexport { default as negate } from \"./negate.js\";\nexport { default as none } from \"./none.js\";\nexport { default as not } from \"./not.js\";\nexport { default as nth } from \"./nth.js\";\nexport { default as nthArg } from \"./nthArg.js\";\nexport { default as o } from \"./o.js\";\nexport { default as objOf } from \"./objOf.js\";\nexport { default as of } from \"./of.js\";\nexport { default as omit } from \"./omit.js\";\nexport { default as once } from \"./once.js\";\nexport { default as or } from \"./or.js\";\nexport { default as otherwise } from \"./otherwise.js\";\nexport { default as over } from \"./over.js\";\nexport { default as pair } from \"./pair.js\";\nexport { default as partial } from \"./partial.js\";\nexport { default as partialRight } from \"./partialRight.js\";\nexport { default as partition } from \"./partition.js\";\nexport { default as path } from \"./path.js\";\nexport { default as paths } from \"./paths.js\";\nexport { default as pathEq } from \"./pathEq.js\";\nexport { default as pathOr } from \"./pathOr.js\";\nexport { default as pathSatisfies } from \"./pathSatisfies.js\";\nexport { default as pick } from \"./pick.js\";\nexport { default as pickAll } from \"./pickAll.js\";\nexport { default as pickBy } from \"./pickBy.js\";\nexport { default as pipe } from \"./pipe.js\";\nexport { default as pipeK } from \"./pipeK.js\";\nexport { default as pipeP } from \"./pipeP.js\";\nexport { default as pipeWith } from \"./pipeWith.js\";\nexport { default as pluck } from \"./pluck.js\";\nexport { default as prepend } from \"./prepend.js\";\nexport { default as product } from \"./product.js\";\nexport { default as project } from \"./project.js\";\nexport { default as prop } from \"./prop.js\";\nexport { default as propEq } from \"./propEq.js\";\nexport { default as propIs } from \"./propIs.js\";\nexport { default as propOr } from \"./propOr.js\";\nexport { default as propSatisfies } from \"./propSatisfies.js\";\nexport { default as props } from \"./props.js\";\nexport { default as range } from \"./range.js\";\nexport { default as reduce } from \"./reduce.js\";\nexport { default as reduceBy } from \"./reduceBy.js\";\nexport { default as reduceRight } from \"./reduceRight.js\";\nexport { default as reduceWhile } from \"./reduceWhile.js\";\nexport { default as reduced } from \"./reduced.js\";\nexport { default as reject } from \"./reject.js\";\nexport { default as remove } from \"./remove.js\";\nexport { default as repeat } from \"./repeat.js\";\nexport { default as replace } from \"./replace.js\";\nexport { default as reverse } from \"./reverse.js\";\nexport { default as scan } from \"./scan.js\";\nexport { default as sequence } from \"./sequence.js\";\nexport { default as set } from \"./set.js\";\nexport { default as slice } from \"./slice.js\";\nexport { default as sort } from \"./sort.js\";\nexport { default as sortBy } from \"./sortBy.js\";\nexport { default as sortWith } from \"./sortWith.js\";\nexport { default as split } from \"./split.js\";\nexport { default as splitAt } from \"./splitAt.js\";\nexport { default as splitEvery } from \"./splitEvery.js\";\nexport { default as splitWhen } from \"./splitWhen.js\";\nexport { default as startsWith } from \"./startsWith.js\";\nexport { default as subtract } from \"./subtract.js\";\nexport { default as sum } from \"./sum.js\";\nexport { default as symmetricDifference } from \"./symmetricDifference.js\";\nexport { default as symmetricDifferenceWith } from \"./symmetricDifferenceWith.js\";\nexport { default as tail } from \"./tail.js\";\nexport { default as take } from \"./take.js\";\nexport { default as takeLast } from \"./takeLast.js\";\nexport { default as takeLastWhile } from \"./takeLastWhile.js\";\nexport { default as takeWhile } from \"./takeWhile.js\";\nexport { default as tap } from \"./tap.js\";\nexport { default as test } from \"./test.js\";\nexport { default as andThen } from \"./andThen.js\";\nexport { default as times } from \"./times.js\";\nexport { default as toLower } from \"./toLower.js\";\nexport { default as toPairs } from \"./toPairs.js\";\nexport { default as toPairsIn } from \"./toPairsIn.js\";\nexport { default as toString } from \"./toString.js\";\nexport { default as toUpper } from \"./toUpper.js\";\nexport { default as transduce } from \"./transduce.js\";\nexport { default as transpose } from \"./transpose.js\";\nexport { default as traverse } from \"./traverse.js\";\nexport { default as trim } from \"./trim.js\";\nexport { default as tryCatch } from \"./tryCatch.js\";\nexport { default as type } from \"./type.js\";\nexport { default as unapply } from \"./unapply.js\";\nexport { default as unary } from \"./unary.js\";\nexport { default as uncurryN } from \"./uncurryN.js\";\nexport { default as unfold } from \"./unfold.js\";\nexport { default as union } from \"./union.js\";\nexport { default as unionWith } from \"./unionWith.js\";\nexport { default as uniq } from \"./uniq.js\";\nexport { default as uniqBy } from \"./uniqBy.js\";\nexport { default as uniqWith } from \"./uniqWith.js\";\nexport { default as unless } from \"./unless.js\";\nexport { default as unnest } from \"./unnest.js\";\nexport { default as until } from \"./until.js\";\nexport { default as update } from \"./update.js\";\nexport { default as useWith } from \"./useWith.js\";\nexport { default as values } from \"./values.js\";\nexport { default as valuesIn } from \"./valuesIn.js\";\nexport { default as view } from \"./view.js\";\nexport { default as when } from \"./when.js\";\nexport { default as where } from \"./where.js\";\nexport { default as whereEq } from \"./whereEq.js\";\nexport { default as without } from \"./without.js\";\nexport { default as xor } from \"./xor.js\";\nexport { default as xprod } from \"./xprod.js\";\nexport { default as zip } from \"./zip.js\";\nexport { default as zipObj } from \"./zipObj.js\";\nexport { default as zipWith } from \"./zipWith.js\";\nexport { default as thunkify } from \"./thunkify.js\";","import reduceBy from \"./reduceBy.js\";\n/**\n * Given a function that generates a key, turns a list of objects into an\n * object indexing the objects by the given key. Note that if multiple\n * objects generate the same value for the indexing key only the last value\n * will be included in the generated object.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> String) -> [{k: v}] -> {k: {k: v}}\n * @param {Function} fn Function :: a -> String\n * @param {Array} array The array of objects to index\n * @return {Object} An object indexing each array element by the given property.\n * @example\n *\n * const list = [{id: 'xyz', title: 'A'}, {id: 'abc', title: 'B'}];\n * R.indexBy(R.prop('id'), list);\n * //=> {abc: {id: 'abc', title: 'B'}, xyz: {id: 'xyz', title: 'A'}}\n */\n\nvar indexBy =\n/*#__PURE__*/\nreduceBy(function (acc, elem) {\n return elem;\n}, null);\nexport default indexBy;","import _curry2 from \"./internal/_curry2.js\";\nimport _indexOf from \"./internal/_indexOf.js\";\nimport _isArray from \"./internal/_isArray.js\";\n/**\n * Returns the position of the first occurrence of an item in an array, or -1\n * if the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.lastIndexOf\n * @example\n *\n * R.indexOf(3, [1,2,3,4]); //=> 2\n * R.indexOf(10, [1,2,3,4]); //=> -1\n */\n\nvar indexOf =\n/*#__PURE__*/\n_curry2(function indexOf(target, xs) {\n return typeof xs.indexOf === 'function' && !_isArray(xs) ? xs.indexOf(target) : _indexOf(xs, target, 0);\n});\n\nexport default indexOf;","import slice from \"./slice.js\";\n/**\n * Returns all but the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.last, R.head, R.tail\n * @example\n *\n * R.init([1, 2, 3]); //=> [1, 2]\n * R.init([1, 2]); //=> [1]\n * R.init([1]); //=> []\n * R.init([]); //=> []\n *\n * R.init('abc'); //=> 'ab'\n * R.init('ab'); //=> 'a'\n * R.init('a'); //=> ''\n * R.init(''); //=> ''\n */\n\nvar init =\n/*#__PURE__*/\nslice(0, -1);\nexport default init;","import _includesWith from \"./internal/_includesWith.js\";\nimport _curry3 from \"./internal/_curry3.js\";\nimport _filter from \"./internal/_filter.js\";\n/**\n * Takes a predicate `pred`, a list `xs`, and a list `ys`, and returns a list\n * `xs'` comprising each of the elements of `xs` which is equal to one or more\n * elements of `ys` according to `pred`.\n *\n * `pred` must be a binary function expecting an element from each list.\n *\n * `xs`, `ys`, and `xs'` are treated as sets, semantically, so ordering should\n * not be significant, but since `xs'` is ordered the implementation guarantees\n * that its values are in the same order as they appear in `xs`. Duplicates are\n * not removed, so `xs'` may contain duplicates if `xs` contains duplicates.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Relation\n * @sig ((a, b) -> Boolean) -> [a] -> [b] -> [a]\n * @param {Function} pred\n * @param {Array} xs\n * @param {Array} ys\n * @return {Array}\n * @see R.intersection\n * @example\n *\n * R.innerJoin(\n * (record, id) => record.id === id,\n * [{id: 824, name: 'Richie Furay'},\n * {id: 956, name: 'Dewey Martin'},\n * {id: 313, name: 'Bruce Palmer'},\n * {id: 456, name: 'Stephen Stills'},\n * {id: 177, name: 'Neil Young'}],\n * [177, 456, 999]\n * );\n * //=> [{id: 456, name: 'Stephen Stills'}, {id: 177, name: 'Neil Young'}]\n */\n\nvar innerJoin =\n/*#__PURE__*/\n_curry3(function innerJoin(pred, xs, ys) {\n return _filter(function (x) {\n return _includesWith(pred, x, ys);\n }, xs);\n});\n\nexport default innerJoin;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Inserts the supplied element into the list, at the specified `index`. _Note that\n\n * this is not destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} index The position to insert the element\n * @param {*} elt The element to insert into the Array\n * @param {Array} list The list to insert into\n * @return {Array} A new Array with `elt` inserted at `index`.\n * @example\n *\n * R.insert(2, 'x', [1,2,3,4]); //=> [1,2,'x',3,4]\n */\n\nvar insert =\n/*#__PURE__*/\n_curry3(function insert(idx, elt, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n var result = Array.prototype.slice.call(list, 0);\n result.splice(idx, 0, elt);\n return result;\n});\n\nexport default insert;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Inserts the sub-list into the list, at the specified `index`. _Note that this is not\n * destructive_: it returns a copy of the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category List\n * @sig Number -> [a] -> [a] -> [a]\n * @param {Number} index The position to insert the sub-list\n * @param {Array} elts The sub-list to insert into the Array\n * @param {Array} list The list to insert the sub-list into\n * @return {Array} A new Array with `elts` inserted starting at `index`.\n * @example\n *\n * R.insertAll(2, ['x','y','z'], [1,2,3,4]); //=> [1,2,'x','y','z',3,4]\n */\n\nvar insertAll =\n/*#__PURE__*/\n_curry3(function insertAll(idx, elts, list) {\n idx = idx < list.length && idx >= 0 ? idx : list.length;\n return [].concat(Array.prototype.slice.call(list, 0, idx), elts, Array.prototype.slice.call(list, idx));\n});\n\nexport default insertAll;","import _includes from \"./_includes.js\";\n\nvar _Set =\n/*#__PURE__*/\nfunction () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n }; //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n\n\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n }; //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n\n\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n\n return false;\n }\n } // these types can all utilise the native Set\n\n\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n }\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n\n return false;\n }\n\n return true;\n }\n\n /* falls through */\n\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n } // scan through all previously applied items\n\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;","export default function _aperture(n, list) {\n var idx = 0;\n var limit = list.length - (n - 1);\n var acc = new Array(limit >= 0 ? limit : 0);\n\n while (idx < limit) {\n acc[idx] = Array.prototype.slice.call(list, idx, idx + n);\n idx += 1;\n }\n\n return acc;\n}","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","import _isFunction from \"./_isFunction.js\";\nimport _toString from \"./_toString.js\";\nexport default function _assertPromise(name, p) {\n if (p == null || !_isFunction(p.then)) {\n throw new TypeError('`' + name + '` expected a Promise, received ' + _toString(p, []));\n }\n}","import _isArray from \"./_isArray.js\";\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy({});\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}","import _arity from \"./_arity.js\";\nimport _curry2 from \"./_curry2.js\";\nexport default function _createPartialApplicator(concat) {\n return _curry2(function (fn, args) {\n return _arity(Math.max(0, fn.length - args.length), function () {\n return fn.apply(this, concat(args, arguments));\n });\n });\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","import take from \"../take.js\";\nexport default function dropLast(n, xs) {\n return take(n < xs.length ? xs.length - n : 0, xs);\n}","import slice from \"../slice.js\";\nexport default function dropLastWhile(pred, xs) {\n var idx = xs.length - 1;\n\n while (idx >= 0 && pred(xs[idx])) {\n idx -= 1;\n }\n\n return slice(0, idx + 1, xs);\n}","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}","import _forceReduced from \"./_forceReduced.js\";\nimport _isArrayLike from \"./_isArrayLike.js\";\nimport _reduce from \"./_reduce.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar preservingReduced = function (xf) {\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return xf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n var ret = xf['@@transducer/step'](result, input);\n return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n }\n };\n};\n\nvar _flatCat = function _xcat(xf) {\n var rxf = preservingReduced(xf);\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return rxf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n }\n };\n};\n\nexport default _flatCat;","export default function _forceReduced(x) {\n return {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","export default function _identity(x) {\n return x;\n}","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","export default function _isFunction(x) {\n var type = Object.prototype.toString.call(x);\n return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _isNumber(x) {\n return Object.prototype.toString.call(x) === '[object Number]';\n}","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","export default function _isRegExp(x) {\n return Object.prototype.toString.call(x) === '[object RegExp]';\n}","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArrayLike from \"./_isArrayLike.js\";\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\n\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","import _has from \"./_has.js\"; // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n\n while (idx < length) {\n var source = arguments[idx];\n\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n\n idx += 1;\n }\n\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","export default function _of(x) {\n return [x];\n}","export default function _pipe(f, g) {\n return function () {\n return g.call(this, f.apply(this, arguments));\n };\n}","export default function _pipeP(f, g) {\n return function () {\n var ctx = this;\n return f.apply(ctx, arguments).then(function (x) {\n return g.call(ctx, x);\n });\n };\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _objectAssign from \"./_objectAssign.js\";\nimport _identity from \"./_identity.js\";\nimport _isArrayLike from \"./_isArrayLike.js\";\nimport _isTransformer from \"./_isTransformer.js\";\nimport objOf from \"../objOf.js\";\nvar _stepCatArray = {\n '@@transducer/init': Array,\n '@@transducer/step': function (xs, x) {\n xs.push(x);\n return xs;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatString = {\n '@@transducer/init': String,\n '@@transducer/step': function (a, b) {\n return a + b;\n },\n '@@transducer/result': _identity\n};\nvar _stepCatObject = {\n '@@transducer/init': Object,\n '@@transducer/step': function (result, input) {\n return _objectAssign(result, _isArrayLike(input) ? objOf(input[0], input[1]) : input);\n },\n '@@transducer/result': _identity\n};\nexport default function _stepCat(obj) {\n if (_isTransformer(obj)) {\n return obj;\n }\n\n if (_isArrayLike(obj)) {\n return _stepCatArray;\n }\n\n if (typeof obj === 'string') {\n return _stepCatString;\n }\n\n if (typeof obj === 'object') {\n return _stepCatObject;\n }\n\n throw new Error('Cannot create transformer for ' + obj);\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n }; // mapPairs :: (Object, [String]) -> [String]\n\n\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\n case '[object Null]':\n return 'null';\n\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\n case '[object Undefined]':\n return 'undefined';\n\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAll =\n/*#__PURE__*/\nfunction () {\n function XAll(f, xf) {\n this.xf = xf;\n this.f = f;\n this.all = true;\n }\n\n XAll.prototype['@@transducer/init'] = _xfBase.init;\n\n XAll.prototype['@@transducer/result'] = function (result) {\n if (this.all) {\n result = this.xf['@@transducer/step'](result, true);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAll.prototype['@@transducer/step'] = function (result, input) {\n if (!this.f(input)) {\n this.all = false;\n result = _reduced(this.xf['@@transducer/step'](result, false));\n }\n\n return result;\n };\n\n return XAll;\n}();\n\nvar _xall =\n/*#__PURE__*/\n_curry2(function _xall(f, xf) {\n return new XAll(f, xf);\n});\n\nexport default _xall;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAny =\n/*#__PURE__*/\nfunction () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n\n return result;\n };\n\n return XAny;\n}();\n\nvar _xany =\n/*#__PURE__*/\n_curry2(function _xany(f, xf) {\n return new XAny(f, xf);\n});\n\nexport default _xany;","import _concat from \"./_concat.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAperture =\n/*#__PURE__*/\nfunction () {\n function XAperture(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n\n XAperture.prototype['@@transducer/init'] = _xfBase.init;\n\n XAperture.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XAperture.prototype['@@transducer/step'] = function (result, input) {\n this.store(input);\n return this.full ? this.xf['@@transducer/step'](result, this.getCopy()) : result;\n };\n\n XAperture.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n XAperture.prototype.getCopy = function () {\n return _concat(Array.prototype.slice.call(this.acc, this.pos), Array.prototype.slice.call(this.acc, 0, this.pos));\n };\n\n return XAperture;\n}();\n\nvar _xaperture =\n/*#__PURE__*/\n_curry2(function _xaperture(n, xf) {\n return new XAperture(n, xf);\n});\n\nexport default _xaperture;","import _curry2 from \"./_curry2.js\";\nimport _flatCat from \"./_flatCat.js\";\nimport map from \"../map.js\";\n\nvar _xchain =\n/*#__PURE__*/\n_curry2(function _xchain(f, xf) {\n return map(f, _flatCat(xf));\n});\n\nexport default _xchain;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDrop =\n/*#__PURE__*/\nfunction () {\n function XDrop(n, xf) {\n this.xf = xf;\n this.n = n;\n }\n\n XDrop.prototype['@@transducer/init'] = _xfBase.init;\n XDrop.prototype['@@transducer/result'] = _xfBase.result;\n\n XDrop.prototype['@@transducer/step'] = function (result, input) {\n if (this.n > 0) {\n this.n -= 1;\n return result;\n }\n\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDrop;\n}();\n\nvar _xdrop =\n/*#__PURE__*/\n_curry2(function _xdrop(n, xf) {\n return new XDrop(n, xf);\n});\n\nexport default _xdrop;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropLast =\n/*#__PURE__*/\nfunction () {\n function XDropLast(n, xf) {\n this.xf = xf;\n this.pos = 0;\n this.full = false;\n this.acc = new Array(n);\n }\n\n XDropLast.prototype['@@transducer/init'] = _xfBase.init;\n\n XDropLast.prototype['@@transducer/result'] = function (result) {\n this.acc = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XDropLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.full) {\n result = this.xf['@@transducer/step'](result, this.acc[this.pos]);\n }\n\n this.store(input);\n return result;\n };\n\n XDropLast.prototype.store = function (input) {\n this.acc[this.pos] = input;\n this.pos += 1;\n\n if (this.pos === this.acc.length) {\n this.pos = 0;\n this.full = true;\n }\n };\n\n return XDropLast;\n}();\n\nvar _xdropLast =\n/*#__PURE__*/\n_curry2(function _xdropLast(n, xf) {\n return new XDropLast(n, xf);\n});\n\nexport default _xdropLast;","import _curry2 from \"./_curry2.js\";\nimport _reduce from \"./_reduce.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropLastWhile =\n/*#__PURE__*/\nfunction () {\n function XDropLastWhile(fn, xf) {\n this.f = fn;\n this.retained = [];\n this.xf = xf;\n }\n\n XDropLastWhile.prototype['@@transducer/init'] = _xfBase.init;\n\n XDropLastWhile.prototype['@@transducer/result'] = function (result) {\n this.retained = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XDropLastWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.retain(result, input) : this.flush(result, input);\n };\n\n XDropLastWhile.prototype.flush = function (result, input) {\n result = _reduce(this.xf['@@transducer/step'], result, this.retained);\n this.retained = [];\n return this.xf['@@transducer/step'](result, input);\n };\n\n XDropLastWhile.prototype.retain = function (result, input) {\n this.retained.push(input);\n return result;\n };\n\n return XDropLastWhile;\n}();\n\nvar _xdropLastWhile =\n/*#__PURE__*/\n_curry2(function _xdropLastWhile(fn, xf) {\n return new XDropLastWhile(fn, xf);\n});\n\nexport default _xdropLastWhile;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropRepeatsWith =\n/*#__PURE__*/\nfunction () {\n function XDropRepeatsWith(pred, xf) {\n this.xf = xf;\n this.pred = pred;\n this.lastValue = undefined;\n this.seenFirstValue = false;\n }\n\n XDropRepeatsWith.prototype['@@transducer/init'] = _xfBase.init;\n XDropRepeatsWith.prototype['@@transducer/result'] = _xfBase.result;\n\n XDropRepeatsWith.prototype['@@transducer/step'] = function (result, input) {\n var sameAsLast = false;\n\n if (!this.seenFirstValue) {\n this.seenFirstValue = true;\n } else if (this.pred(this.lastValue, input)) {\n sameAsLast = true;\n }\n\n this.lastValue = input;\n return sameAsLast ? result : this.xf['@@transducer/step'](result, input);\n };\n\n return XDropRepeatsWith;\n}();\n\nvar _xdropRepeatsWith =\n/*#__PURE__*/\n_curry2(function _xdropRepeatsWith(pred, xf) {\n return new XDropRepeatsWith(pred, xf);\n});\n\nexport default _xdropRepeatsWith;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XDropWhile =\n/*#__PURE__*/\nfunction () {\n function XDropWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XDropWhile.prototype['@@transducer/init'] = _xfBase.init;\n XDropWhile.prototype['@@transducer/result'] = _xfBase.result;\n\n XDropWhile.prototype['@@transducer/step'] = function (result, input) {\n if (this.f) {\n if (this.f(input)) {\n return result;\n }\n\n this.f = null;\n }\n\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XDropWhile;\n}();\n\nvar _xdropWhile =\n/*#__PURE__*/\n_curry2(function _xdropWhile(f, xf) {\n return new XDropWhile(f, xf);\n});\n\nexport default _xdropWhile;","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter =\n/*#__PURE__*/\n_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\n\nexport default _xfilter;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFind =\n/*#__PURE__*/\nfunction () {\n function XFind(f, xf) {\n this.xf = xf;\n this.f = f;\n this.found = false;\n }\n\n XFind.prototype['@@transducer/init'] = _xfBase.init;\n\n XFind.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, void 0);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFind.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, input));\n }\n\n return result;\n };\n\n return XFind;\n}();\n\nvar _xfind =\n/*#__PURE__*/\n_curry2(function _xfind(f, xf) {\n return new XFind(f, xf);\n});\n\nexport default _xfind;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindIndex =\n/*#__PURE__*/\nfunction () {\n function XFindIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.found = false;\n }\n\n XFindIndex.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindIndex.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, -1);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFindIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, this.idx));\n }\n\n return result;\n };\n\n return XFindIndex;\n}();\n\nvar _xfindIndex =\n/*#__PURE__*/\n_curry2(function _xfindIndex(f, xf) {\n return new XFindIndex(f, xf);\n});\n\nexport default _xfindIndex;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindLast =\n/*#__PURE__*/\nfunction () {\n function XFindLast(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFindLast.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindLast.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.last));\n };\n\n XFindLast.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.last = input;\n }\n\n return result;\n };\n\n return XFindLast;\n}();\n\nvar _xfindLast =\n/*#__PURE__*/\n_curry2(function _xfindLast(f, xf) {\n return new XFindLast(f, xf);\n});\n\nexport default _xfindLast;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFindLastIndex =\n/*#__PURE__*/\nfunction () {\n function XFindLastIndex(f, xf) {\n this.xf = xf;\n this.f = f;\n this.idx = -1;\n this.lastIdx = -1;\n }\n\n XFindLastIndex.prototype['@@transducer/init'] = _xfBase.init;\n\n XFindLastIndex.prototype['@@transducer/result'] = function (result) {\n return this.xf['@@transducer/result'](this.xf['@@transducer/step'](result, this.lastIdx));\n };\n\n XFindLastIndex.prototype['@@transducer/step'] = function (result, input) {\n this.idx += 1;\n\n if (this.f(input)) {\n this.lastIdx = this.idx;\n }\n\n return result;\n };\n\n return XFindLastIndex;\n}();\n\nvar _xfindLastIndex =\n/*#__PURE__*/\n_curry2(function _xfindLastIndex(f, xf) {\n return new XFindLastIndex(f, xf);\n});\n\nexport default _xfindLastIndex;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _curryN from \"./_curryN.js\";\nimport _has from \"./_has.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XReduceBy =\n/*#__PURE__*/\nfunction () {\n function XReduceBy(valueFn, valueAcc, keyFn, xf) {\n this.valueFn = valueFn;\n this.valueAcc = valueAcc;\n this.keyFn = keyFn;\n this.xf = xf;\n this.inputs = {};\n }\n\n XReduceBy.prototype['@@transducer/init'] = _xfBase.init;\n\n XReduceBy.prototype['@@transducer/result'] = function (result) {\n var key;\n\n for (key in this.inputs) {\n if (_has(key, this.inputs)) {\n result = this.xf['@@transducer/step'](result, this.inputs[key]);\n\n if (result['@@transducer/reduced']) {\n result = result['@@transducer/value'];\n break;\n }\n }\n }\n\n this.inputs = null;\n return this.xf['@@transducer/result'](result);\n };\n\n XReduceBy.prototype['@@transducer/step'] = function (result, input) {\n var key = this.keyFn(input);\n this.inputs[key] = this.inputs[key] || [key, this.valueAcc];\n this.inputs[key][1] = this.valueFn(this.inputs[key][1], input);\n return result;\n };\n\n return XReduceBy;\n}();\n\nvar _xreduceBy =\n/*#__PURE__*/\n_curryN(4, [], function _xreduceBy(valueFn, valueAcc, keyFn, xf) {\n return new XReduceBy(valueFn, valueAcc, keyFn, xf);\n});\n\nexport default _xreduceBy;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTake =\n/*#__PURE__*/\nfunction () {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n\n XTake.prototype['@@transducer/step'] = function (result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return XTake;\n}();\n\nvar _xtake =\n/*#__PURE__*/\n_curry2(function _xtake(n, xf) {\n return new XTake(n, xf);\n});\n\nexport default _xtake;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTakeWhile =\n/*#__PURE__*/\nfunction () {\n function XTakeWhile(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XTakeWhile.prototype['@@transducer/init'] = _xfBase.init;\n XTakeWhile.prototype['@@transducer/result'] = _xfBase.result;\n\n XTakeWhile.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : _reduced(result);\n };\n\n return XTakeWhile;\n}();\n\nvar _xtakeWhile =\n/*#__PURE__*/\n_curry2(function _xtakeWhile(f, xf) {\n return new XTakeWhile(f, xf);\n});\n\nexport default _xtakeWhile;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTap =\n/*#__PURE__*/\nfunction () {\n function XTap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XTap.prototype['@@transducer/init'] = _xfBase.init;\n XTap.prototype['@@transducer/result'] = _xfBase.result;\n\n XTap.prototype['@@transducer/step'] = function (result, input) {\n this.f(input);\n return this.xf['@@transducer/step'](result, input);\n };\n\n return XTap;\n}();\n\nvar _xtap =\n/*#__PURE__*/\n_curry2(function _xtap(f, xf) {\n return new XTap(f, xf);\n});\n\nexport default _xtap;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _filter from \"./internal/_filter.js\";\nimport flip from \"./flip.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\n\nvar intersection =\n/*#__PURE__*/\n_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\n\nexport default intersection;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new list with the separator interposed between elements.\n *\n * Dispatches to the `intersperse` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} separator The element to add to the list.\n * @param {Array} list The list to be interposed.\n * @return {Array} The new list.\n * @example\n *\n * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's']\n */\n\nvar intersperse =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('intersperse', function intersperse(separator, list) {\n var out = [];\n var idx = 0;\n var length = list.length;\n\n while (idx < length) {\n if (idx === length - 1) {\n out.push(list[idx]);\n } else {\n out.push(list[idx], separator);\n }\n\n idx += 1;\n }\n\n return out;\n}));\n\nexport default intersperse;","import _clone from \"./internal/_clone.js\";\nimport _curry3 from \"./internal/_curry3.js\";\nimport _isTransformer from \"./internal/_isTransformer.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _stepCat from \"./internal/_stepCat.js\";\n/**\n * Transforms the items of the list with the transducer and appends the\n * transformed items to the accumulator using an appropriate iterator function\n * based on the accumulator type.\n *\n * The accumulator can be an array, string, object or a transformer. Iterated\n * items will be appended to arrays and concatenated to strings. Objects will\n * be merged directly or 2-item arrays will be merged as key, value pairs.\n *\n * The accumulator can also be a transformer object that provides a 2-arity\n * reducing iterator function, step, 0-arity initial value function, init, and\n * 1-arity result extraction function result. The step function is used as the\n * iterator function in reduce. The result function is used to convert the\n * final accumulator into the return type and in most cases is R.identity. The\n * init function is used to provide the initial accumulator.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the\n * transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig a -> (b -> b) -> [c] -> a\n * @param {*} acc The initial accumulator value.\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.transduce\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n *\n * R.into([], transducer, numbers); //=> [2, 3]\n *\n * const intoArray = R.into([]);\n * intoArray(transducer, numbers); //=> [2, 3]\n */\n\nvar into =\n/*#__PURE__*/\n_curry3(function into(acc, xf, list) {\n return _isTransformer(acc) ? _reduce(xf(acc), acc['@@transducer/init'](), list) : _reduce(xf(_stepCat(acc)), _clone(acc, [], [], false), list);\n});\n\nexport default into;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport keys from \"./keys.js\";\n/**\n * Same as [`R.invertObj`](#invertObj), however this accounts for objects with\n * duplicate values by putting the values into an array.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: [ s, ... ]}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object with keys in an array.\n * @see R.invertObj\n * @example\n *\n * const raceResultsByFirstName = {\n * first: 'alice',\n * second: 'jake',\n * third: 'alice',\n * };\n * R.invert(raceResultsByFirstName);\n * //=> { 'alice': ['first', 'third'], 'jake':['second'] }\n */\n\nvar invert =\n/*#__PURE__*/\n_curry1(function invert(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n var val = obj[key];\n var list = _has(val, out) ? out[val] : out[val] = [];\n list[list.length] = key;\n idx += 1;\n }\n\n return out;\n});\n\nexport default invert;","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a new object with the keys of the given object as values, and the\n * values of the given object, which are coerced to strings, as keys. Note\n * that the last key found is preferred when handling the same value.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {s: x} -> {x: s}\n * @param {Object} obj The object or array to invert\n * @return {Object} out A new object\n * @see R.invert\n * @example\n *\n * const raceResults = {\n * first: 'alice',\n * second: 'jake'\n * };\n * R.invertObj(raceResults);\n * //=> { 'alice': 'first', 'jake':'second' }\n *\n * // Alternatively:\n * const raceResults = ['alice', 'jake'];\n * R.invertObj(raceResults);\n * //=> { 'alice': '0', 'jake':'1' }\n */\n\nvar invertObj =\n/*#__PURE__*/\n_curry1(function invertObj(obj) {\n var props = keys(obj);\n var len = props.length;\n var idx = 0;\n var out = {};\n\n while (idx < len) {\n var key = props[idx];\n out[obj[key]] = key;\n idx += 1;\n }\n\n return out;\n});\n\nexport default invertObj;","import _curry2 from \"./internal/_curry2.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport curryN from \"./curryN.js\";\nimport toString from \"./toString.js\";\n/**\n * Turns a named method with a specified arity into a function that can be\n * called directly supplied with arguments and a target object.\n *\n * The returned function is curried and accepts `arity + 1` parameters where\n * the final parameter is the target object.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> String -> (a -> b -> ... -> n -> Object -> *)\n * @param {Number} arity Number of arguments the returned function should take\n * before the target object.\n * @param {String} method Name of any of the target object's methods to call.\n * @return {Function} A new curried function.\n * @see R.construct\n * @example\n *\n * const sliceFrom = R.invoker(1, 'slice');\n * sliceFrom(6, 'abcdefghijklm'); //=> 'ghijklm'\n * const sliceFrom6 = R.invoker(2, 'slice')(6);\n * sliceFrom6(8, 'abcdefghijklm'); //=> 'gh'\n *\n * const dog = {\n * speak: async () => 'Woof!'\n * };\n * const speak = R.invoker(0, 'speak');\n * speak(dog).then(console.log) //~> 'Woof!'\n *\n * @symb R.invoker(0, 'method')(o) = o['method']()\n * @symb R.invoker(1, 'method')(a, o) = o['method'](a)\n * @symb R.invoker(2, 'method')(a, b, o) = o['method'](a, b)\n */\n\nvar invoker =\n/*#__PURE__*/\n_curry2(function invoker(arity, method) {\n return curryN(arity + 1, function () {\n var target = arguments[arity];\n\n if (target != null && _isFunction(target[method])) {\n return target[method].apply(target, Array.prototype.slice.call(arguments, 0, arity));\n }\n\n throw new TypeError(toString(target) + ' does not have a method named \"' + method + '\"');\n });\n});\n\nexport default invoker;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * See if an object (`val`) is an instance of the supplied constructor. This\n * function will check up the inheritance chain, if any.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Type\n * @sig (* -> {*}) -> a -> Boolean\n * @param {Object} ctor A constructor\n * @param {*} val The value to test\n * @return {Boolean}\n * @example\n *\n * R.is(Object, {}); //=> true\n * R.is(Number, 1); //=> true\n * R.is(Object, 1); //=> false\n * R.is(String, 's'); //=> true\n * R.is(String, new String('')); //=> true\n * R.is(Object, new String('')); //=> true\n * R.is(Object, 's'); //=> false\n * R.is(Number, {}); //=> false\n */\n\nvar is =\n/*#__PURE__*/\n_curry2(function is(Ctor, val) {\n return val != null && val.constructor === Ctor || val instanceof Ctor;\n});\n\nexport default is;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nexport default isNil;","import invoker from \"./invoker.js\";\n/**\n * Returns a string made by inserting the `separator` between each element and\n * concatenating all the elements into a single string.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig String -> [a] -> String\n * @param {Number|String} separator The string used to separate the elements.\n * @param {Array} xs The elements to join into a string.\n * @return {String} str The string made by concatenating `xs` with `separator`.\n * @see R.split\n * @example\n *\n * const spacer = R.join(' ');\n * spacer(['a', 2, 3.4]); //=> 'a 2 3.4'\n * R.join('|', [1, 2, 3]); //=> '1|2|3'\n */\n\nvar join =\n/*#__PURE__*/\ninvoker(1, 'join');\nexport default join;","import _curry1 from \"./internal/_curry1.js\";\nimport converge from \"./converge.js\";\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n * const getRange = R.juxt([Math.min, Math.max]);\n * getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\n\nvar juxt =\n/*#__PURE__*/\n_curry1(function juxt(fns) {\n return converge(function () {\n return Array.prototype.slice.call(arguments, 0);\n }, fns);\n});\n\nexport default juxt;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a list containing the names of all the properties of the supplied\n * object, including prototype properties.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own and prototype properties.\n * @see R.keys, R.valuesIn\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.keysIn(f); //=> ['x', 'y']\n */\n\nvar keysIn =\n/*#__PURE__*/\n_curry1(function keysIn(obj) {\n var prop;\n var ks = [];\n\n for (prop in obj) {\n ks[ks.length] = prop;\n }\n\n return ks;\n});\n\nexport default keysIn;","import nth from \"./nth.js\";\n/**\n * Returns the last element of the given list or string.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig [a] -> a | Undefined\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.init, R.head, R.tail\n * @example\n *\n * R.last(['fi', 'fo', 'fum']); //=> 'fum'\n * R.last([]); //=> undefined\n *\n * R.last('abc'); //=> 'c'\n * R.last(''); //=> ''\n */\n\nvar last =\n/*#__PURE__*/\nnth(-1);\nexport default last;","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns the position of the last occurrence of an item in an array, or -1 if\n * the item is not included in the array. [`R.equals`](#equals) is used to\n * determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> Number\n * @param {*} target The item to find.\n * @param {Array} xs The array to search in.\n * @return {Number} the index of the target, or -1 if the target is not found.\n * @see R.indexOf\n * @example\n *\n * R.lastIndexOf(3, [-1,3,3,0,1,2,3,4]); //=> 6\n * R.lastIndexOf(10, [1,2,3,4]); //=> -1\n */\n\nvar lastIndexOf =\n/*#__PURE__*/\n_curry2(function lastIndexOf(target, xs) {\n if (typeof xs.lastIndexOf === 'function' && !_isArray(xs)) {\n return xs.lastIndexOf(target);\n } else {\n var idx = xs.length - 1;\n\n while (idx >= 0) {\n if (equals(xs[idx], target)) {\n return idx;\n }\n\n idx -= 1;\n }\n\n return -1;\n }\n});\n\nexport default lastIndexOf;","import _curry1 from \"./internal/_curry1.js\";\nimport _isNumber from \"./internal/_isNumber.js\";\n/**\n * Returns the number of elements in the array by returning `list.length`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [a] -> Number\n * @param {Array} list The array to inspect.\n * @return {Number} The length of the array.\n * @example\n *\n * R.length([]); //=> 0\n * R.length([1, 2, 3]); //=> 3\n */\n\nvar length =\n/*#__PURE__*/\n_curry1(function length(list) {\n return list != null && _isNumber(list.length) ? list.length : NaN;\n});\n\nexport default length;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\n\nexport default lens;","import _curry1 from \"./internal/_curry1.js\";\nimport lens from \"./lens.js\";\nimport nth from \"./nth.js\";\nimport update from \"./update.js\";\n/**\n * Returns a lens whose focus is the specified index.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Number -> Lens s a\n * @param {Number} n\n * @return {Lens}\n * @see R.view, R.set, R.over, R.nth\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.view(headLens, ['a', 'b', 'c']); //=> 'a'\n * R.set(headLens, 'x', ['a', 'b', 'c']); //=> ['x', 'b', 'c']\n * R.over(headLens, R.toUpper, ['a', 'b', 'c']); //=> ['A', 'b', 'c']\n */\n\nvar lensIndex =\n/*#__PURE__*/\n_curry1(function lensIndex(n) {\n return lens(nth(n), update(n));\n});\n\nexport default lensIndex;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","import _curry1 from \"./internal/_curry1.js\";\nimport assoc from \"./assoc.js\";\nimport lens from \"./lens.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a lens whose focus is the specified property.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig String -> Lens s a\n * @param {String} k\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lensProp =\n/*#__PURE__*/\n_curry1(function lensProp(k) {\n return lens(prop(k), assoc(k));\n});\n\nexport default lensProp;","import _curry1 from \"./internal/_curry1.js\";\nimport liftN from \"./liftN.js\";\n/**\n * \"lifts\" a function of arity > 1 so that it may \"map over\" a list, Function or other\n * object that satisfies the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.liftN\n * @example\n *\n * const madd3 = R.lift((a, b, c) => a + b + c);\n *\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n *\n * const madd5 = R.lift((a, b, c, d, e) => a + b + c + d + e);\n *\n * madd5([1,2], [3], [4, 5], [6], [7, 8]); //=> [21, 22, 22, 23, 22, 23, 23, 24]\n */\n\nvar lift =\n/*#__PURE__*/\n_curry1(function lift(fn) {\n return liftN(fn.length, fn);\n});\n\nexport default lift;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport ap from \"./ap.js\";\nimport curryN from \"./curryN.js\";\nimport map from \"./map.js\";\n/**\n * \"lifts\" a function to be the specified arity, so that it may \"map over\" that\n * many lists, Functions or other objects that satisfy the [FantasyLand Apply spec](https://github.com/fantasyland/fantasy-land#apply).\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Function\n * @sig Number -> (*... -> *) -> ([*]... -> [*])\n * @param {Function} fn The function to lift into higher context\n * @return {Function} The lifted function.\n * @see R.lift, R.ap\n * @example\n *\n * const madd3 = R.liftN(3, (...args) => R.sum(args));\n * madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]\n */\n\nvar liftN =\n/*#__PURE__*/\n_curry2(function liftN(arity, fn) {\n var lifted = curryN(arity, fn);\n return curryN(arity, function () {\n return _reduce(ap, map(lifted, arguments[0]), Array.prototype.slice.call(arguments, 1));\n });\n});\n\nexport default liftN;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n * R.lt(2, 1); //=> false\n * R.lt(2, 2); //=> false\n * R.lt(2, 3); //=> true\n * R.lt('a', 'z'); //=> true\n * R.lt('z', 'a'); //=> false\n */\n\nvar lt =\n/*#__PURE__*/\n_curry2(function lt(a, b) {\n return a < b;\n});\n\nexport default lt;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the first argument is less than or equal to the second;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {Number} a\n * @param {Number} b\n * @return {Boolean}\n * @see R.gte\n * @example\n *\n * R.lte(2, 1); //=> false\n * R.lte(2, 2); //=> true\n * R.lte(2, 3); //=> true\n * R.lte('a', 'z'); //=> true\n * R.lte('z', 'a'); //=> false\n */\n\nvar lte =\n/*#__PURE__*/\n_curry2(function lte(a, b) {\n return a <= b;\n});\n\nexport default lte;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * The `mapAccum` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from left to right, and returning a final value of this\n * accumulator together with the new list.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.scan, R.addIndex, R.mapAccumRight\n * @example\n *\n * const digits = ['1', '2', '3', '4'];\n * const appender = (a, b) => [a + b, a + b];\n *\n * R.mapAccum(appender, 0, digits); //=> ['01234', ['01', '012', '0123', '01234']]\n * @symb R.mapAccum(f, a, [b, c, d]) = [\n * f(f(f(a, b)[0], c)[0], d)[0],\n * [\n * f(a, b)[1],\n * f(f(a, b)[0], c)[1],\n * f(f(f(a, b)[0], c)[0], d)[1]\n * ]\n * ]\n */\n\nvar mapAccum =\n/*#__PURE__*/\n_curry3(function mapAccum(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var tuple = [acc];\n\n while (idx < len) {\n tuple = fn(tuple[0], list[idx]);\n result[idx] = tuple[1];\n idx += 1;\n }\n\n return [tuple[0], result];\n});\n\nexport default mapAccum;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * The `mapAccumRight` function behaves like a combination of map and reduce; it\n * applies a function to each element of a list, passing an accumulating\n * parameter from right to left, and returning a final value of this\n * accumulator together with the new list.\n *\n * Similar to [`mapAccum`](#mapAccum), except moves through the input list from\n * the right to the left.\n *\n * The iterator function receives two arguments, *acc* and *value*, and should\n * return a tuple *[acc, value]*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((acc, x) -> (acc, y)) -> acc -> [x] -> (acc, [y])\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.addIndex, R.mapAccum\n * @example\n *\n * const digits = ['1', '2', '3', '4'];\n * const appender = (a, b) => [b + a, b + a];\n *\n * R.mapAccumRight(appender, 5, digits); //=> ['12345', ['12345', '2345', '345', '45']]\n * @symb R.mapAccumRight(f, a, [b, c, d]) = [\n * f(f(f(a, d)[0], c)[0], b)[0],\n * [\n * f(a, d)[1],\n * f(f(a, d)[0], c)[1],\n * f(f(f(a, d)[0], c)[0], b)[1]\n * ]\n * ]\n */\n\nvar mapAccumRight =\n/*#__PURE__*/\n_curry3(function mapAccumRight(fn, acc, list) {\n var idx = list.length - 1;\n var result = [];\n var tuple = [acc];\n\n while (idx >= 0) {\n tuple = fn(tuple[0], list[idx]);\n result[idx] = tuple[1];\n idx -= 1;\n }\n\n return [tuple[0], result];\n});\n\nexport default mapAccumRight;","import _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport keys from \"./keys.js\";\n/**\n * An Object-specific version of [`map`](#map). The function is applied to three\n * arguments: *(value, key, obj)*. If only the value is significant, use\n * [`map`](#map) instead.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig ((*, String, Object) -> *) -> Object -> Object\n * @param {Function} fn\n * @param {Object} obj\n * @return {Object}\n * @see R.map\n * @example\n *\n * const xyz = { x: 1, y: 2, z: 3 };\n * const prependKeyAndDouble = (num, key, obj) => key + (num * 2);\n *\n * R.mapObjIndexed(prependKeyAndDouble, xyz); //=> { x: 'x2', y: 'y4', z: 'z6' }\n */\n\nvar mapObjIndexed =\n/*#__PURE__*/\n_curry2(function mapObjIndexed(fn, obj) {\n return _reduce(function (acc, key) {\n acc[key] = fn(obj[key], key, obj);\n return acc;\n }, {}, keys(obj));\n});\n\nexport default mapObjIndexed;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Tests a regular expression against a String. Note that this function will\n * return an empty array when there are no matches. This differs from\n * [`String.prototype.match`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match)\n * which returns `null` when there are no matches.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig RegExp -> String -> [String | Undefined]\n * @param {RegExp} rx A regular expression.\n * @param {String} str The string to match against\n * @return {Array} The list of matches or empty array.\n * @see R.test\n * @example\n *\n * R.match(/([a-z]a)/g, 'bananas'); //=> ['ba', 'na', 'na']\n * R.match(/a/, 'b'); //=> []\n * R.match(/a/, null); //=> TypeError: null does not have a method named \"match\"\n */\n\nvar match =\n/*#__PURE__*/\n_curry2(function match(rx, str) {\n return str.match(rx) || [];\n});\n\nexport default match;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\n/**\n * `mathMod` behaves like the modulo operator should mathematically, unlike the\n * `%` operator (and by extension, [`R.modulo`](#modulo)). So while\n * `-17 % 5` is `-2`, `mathMod(-17, 5)` is `3`. `mathMod` requires Integer\n * arguments, and returns NaN when the modulus is zero or negative.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} m The dividend.\n * @param {Number} p the modulus.\n * @return {Number} The result of `b mod a`.\n * @see R.modulo\n * @example\n *\n * R.mathMod(-17, 5); //=> 3\n * R.mathMod(17, 5); //=> 2\n * R.mathMod(17, -5); //=> NaN\n * R.mathMod(17, 0); //=> NaN\n * R.mathMod(17.2, 5); //=> NaN\n * R.mathMod(17, 5.3); //=> NaN\n *\n * const clock = R.mathMod(R.__, 12);\n * clock(15); //=> 3\n * clock(24); //=> 0\n *\n * const seventeenMod = R.mathMod(17);\n * seventeenMod(3); //=> 2\n * seventeenMod(4); //=> 1\n * seventeenMod(10); //=> 7\n */\n\nvar mathMod =\n/*#__PURE__*/\n_curry2(function mathMod(m, p) {\n if (!_isInteger(m)) {\n return NaN;\n }\n\n if (!_isInteger(p) || p < 1) {\n return NaN;\n }\n\n return (m % p + p) % p;\n});\n\nexport default mathMod;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Takes a function and two values, and returns whichever value produces the\n * larger result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.max, R.minBy\n * @example\n *\n * // square :: Number -> Number\n * const square = n => n * n;\n *\n * R.maxBy(square, -3, 2); //=> -3\n *\n * R.reduce(R.maxBy(square), 0, [3, -5, 4, 1, -2]); //=> -5\n * R.reduce(R.maxBy(square), 0, []); //=> 0\n */\n\nvar maxBy =\n/*#__PURE__*/\n_curry3(function maxBy(f, a, b) {\n return f(b) > f(a) ? b : a;\n});\n\nexport default maxBy;","import _curry1 from \"./internal/_curry1.js\";\nimport sum from \"./sum.js\";\n/**\n * Returns the mean of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.median\n * @example\n *\n * R.mean([2, 7, 9]); //=> 6\n * R.mean([]); //=> NaN\n */\n\nvar mean =\n/*#__PURE__*/\n_curry1(function mean(list) {\n return sum(list) / list.length;\n});\n\nexport default mean;","import _curry1 from \"./internal/_curry1.js\";\nimport mean from \"./mean.js\";\n/**\n * Returns the median of the given list of numbers.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list\n * @return {Number}\n * @see R.mean\n * @example\n *\n * R.median([2, 9, 7]); //=> 7\n * R.median([7, 2, 10, 9]); //=> 8\n * R.median([]); //=> NaN\n */\n\nvar median =\n/*#__PURE__*/\n_curry1(function median(list) {\n var len = list.length;\n\n if (len === 0) {\n return NaN;\n }\n\n var width = 2 - len % 2;\n var idx = (len - width) / 2;\n return mean(Array.prototype.slice.call(list, 0).sort(function (a, b) {\n return a < b ? -1 : a > b ? 1 : 0;\n }).slice(idx, idx + width));\n});\n\nexport default median;","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new function that, when invoked, caches the result of calling `fn`\n * for a given argument set and returns the result. Subsequent calls to the\n * memoized `fn` with the same argument set will not result in an additional\n * call to `fn`; instead, the cached result for that set of arguments will be\n * returned.\n *\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (*... -> String) -> (*... -> a) -> (*... -> a)\n * @param {Function} fn The function to generate the cache key.\n * @param {Function} fn The function to memoize.\n * @return {Function} Memoized version of `fn`.\n * @example\n *\n * let count = 0;\n * const factorial = R.memoizeWith(R.identity, n => {\n * count += 1;\n * return R.product(R.range(1, n + 1));\n * });\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * factorial(5); //=> 120\n * count; //=> 1\n */\n\nvar memoizeWith =\n/*#__PURE__*/\n_curry2(function memoizeWith(mFn, fn) {\n var cache = {};\n return _arity(fn.length, function () {\n var key = mFn.apply(this, arguments);\n\n if (!_has(key, cache)) {\n cache[key] = fn.apply(this, arguments);\n }\n\n return cache[key];\n });\n});\n\nexport default memoizeWith;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @deprecated since v0.26.0\n * @example\n *\n * R.merge({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.merge({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.merge(a, b) = {...a, ...b}\n */\n\nvar merge =\n/*#__PURE__*/\n_curry2(function merge(l, r) {\n return _objectAssign({}, l, r);\n});\n\nexport default merge;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Merges a list of objects together into one object.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig [{k: v}] -> {k: v}\n * @param {Array} list An array of objects\n * @return {Object} A merged object.\n * @see R.reduce\n * @example\n *\n * R.mergeAll([{foo:1},{bar:2},{baz:3}]); //=> {foo:1,bar:2,baz:3}\n * R.mergeAll([{foo:1},{foo:2},{bar:2}]); //=> {foo:2,bar:2}\n * @symb R.mergeAll([{ x: 1 }, { y: 2 }, { z: 3 }]) = { x: 1, y: 2, z: 3 }\n */\n\nvar mergeAll =\n/*#__PURE__*/\n_curry1(function mergeAll(list) {\n return _objectAssign.apply(null, [{}].concat(list));\n});\n\nexport default mergeAll;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepRight, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepLeft({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 10, contact: { email: 'moo@example.com' }}\n */\n\nvar mergeDeepLeft =\n/*#__PURE__*/\n_curry2(function mergeDeepLeft(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return lVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepLeft;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","import _curry3 from \"./internal/_curry3.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to associated values using the\n * resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepWith(R.concat,\n * { a: true, c: { values: [10, 20] }},\n * { b: true, c: { values: [15, 35] }});\n * //=> { a: true, b: true, c: { values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWith =\n/*#__PURE__*/\n_curry3(function mergeDeepWith(fn, lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return fn(lVal, rVal);\n }, lObj, rObj);\n});\n\nexport default mergeDeepWith;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the first object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeRight, R.mergeDeepLeft, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeLeft({ 'age': 40 }, { 'name': 'fred', 'age': 10 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const resetToDefault = R.mergeLeft({x: 0});\n * resetToDefault({x: 5, y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeLeft(a, b) = {...b, ...a}\n */\n\nvar mergeLeft =\n/*#__PURE__*/\n_curry2(function mergeLeft(l, r) {\n return _objectAssign({}, r, l);\n});\n\nexport default mergeLeft;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\n\nvar mergeRight =\n/*#__PURE__*/\n_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\n\nexport default mergeRight;","import _curry3 from \"./internal/_curry3.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n * R.mergeWith(R.concat,\n * { a: true, values: [10, 20] },\n * { b: true, values: [15, 35] });\n * //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\n\nvar mergeWith =\n/*#__PURE__*/\n_curry3(function mergeWith(fn, l, r) {\n return mergeWithKey(function (_, _l, _r) {\n return fn(_l, _r);\n }, l, r);\n});\n\nexport default mergeWith;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the smaller of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.minBy, R.max\n * @example\n *\n * R.min(789, 123); //=> 123\n * R.min('a', 'b'); //=> 'a'\n */\n\nvar min =\n/*#__PURE__*/\n_curry2(function min(a, b) {\n return b < a ? b : a;\n});\n\nexport default min;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Takes a function and two values, and returns whichever value produces the\n * smaller result when passed to the provided function.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Relation\n * @sig Ord b => (a -> b) -> a -> a -> a\n * @param {Function} f\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.min, R.maxBy\n * @example\n *\n * // square :: Number -> Number\n * const square = n => n * n;\n *\n * R.minBy(square, -3, 2); //=> 2\n *\n * R.reduce(R.minBy(square), Infinity, [3, -5, 4, 1, -2]); //=> 1\n * R.reduce(R.minBy(square), Infinity, []); //=> Infinity\n */\n\nvar minBy =\n/*#__PURE__*/\n_curry3(function minBy(f, a, b) {\n return f(b) < f(a) ? b : a;\n});\n\nexport default minBy;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Divides the first parameter by the second and returns the remainder. Note\n * that this function preserves the JavaScript-style behavior for modulo. For\n * mathematical modulo see [`mathMod`](#mathMod).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The value to the divide.\n * @param {Number} b The pseudo-modulus\n * @return {Number} The result of `b % a`.\n * @see R.mathMod\n * @example\n *\n * R.modulo(17, 3); //=> 2\n * // JS behavior:\n * R.modulo(-17, 3); //=> -2\n * R.modulo(17, -3); //=> 2\n *\n * const isOdd = R.modulo(R.__, 2);\n * isOdd(42); //=> 0\n * isOdd(21); //=> 1\n */\n\nvar modulo =\n/*#__PURE__*/\n_curry2(function modulo(a, b) {\n return a % b;\n});\n\nexport default modulo;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Move an item, at index `from`, to index `to`, in a list of elements.\n * A new list will be created containing the new elements order.\n *\n * @func\n * @memberOf R\n * @since v0.27.0\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} from The source index\n * @param {Number} to The destination index\n * @param {Array} list The list which will serve to realise the move\n * @return {Array} The new list reordered\n * @example\n *\n * R.move(0, 2, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['b', 'c', 'a', 'd', 'e', 'f']\n * R.move(-1, 0, ['a', 'b', 'c', 'd', 'e', 'f']); //=> ['f', 'a', 'b', 'c', 'd', 'e'] list rotation\n */\n\nvar move =\n/*#__PURE__*/\n_curry3(function (from, to, list) {\n var length = list.length;\n var result = list.slice();\n var positiveFrom = from < 0 ? length + from : from;\n var positiveTo = to < 0 ? length + to : to;\n var item = result.splice(positiveFrom, 1);\n return positiveFrom < 0 || positiveFrom >= list.length || positiveTo < 0 || positiveTo >= list.length ? list : [].concat(result.slice(0, positiveTo)).concat(item).concat(result.slice(positiveTo, list.length));\n});\n\nexport default move;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Multiplies two numbers. Equivalent to `a * b` but curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a * b`.\n * @see R.divide\n * @example\n *\n * const double = R.multiply(2);\n * const triple = R.multiply(3);\n * double(3); //=> 6\n * triple(4); //=> 12\n * R.multiply(2, 5); //=> 10\n */\n\nvar multiply =\n/*#__PURE__*/\n_curry2(function multiply(a, b) {\n return a * b;\n});\n\nexport default multiply;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly `n` parameters. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} n The desired arity of the new function.\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity `n`.\n * @see R.binary, R.unary\n * @example\n *\n * const takesTwoArgs = (a, b) => [a, b];\n *\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * const takesOneArg = R.nAry(1, takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only `n` arguments are passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.nAry(0, f)(a, b) = f()\n * @symb R.nAry(1, f)(a, b) = f(a)\n * @symb R.nAry(2, f)(a, b) = f(a, b)\n */\n\nvar nAry =\n/*#__PURE__*/\n_curry2(function nAry(n, fn) {\n switch (n) {\n case 0:\n return function () {\n return fn.call(this);\n };\n\n case 1:\n return function (a0) {\n return fn.call(this, a0);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.call(this, a0, a1);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.call(this, a0, a1, a2);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.call(this, a0, a1, a2, a3);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.call(this, a0, a1, a2, a3, a4);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.call(this, a0, a1, a2, a3, a4, a5);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.call(this, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9);\n };\n\n default:\n throw new Error('First argument to nAry must be a non-negative integer no greater than ten');\n }\n});\n\nexport default nAry;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Negates its argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Math\n * @sig Number -> Number\n * @param {Number} n\n * @return {Number}\n * @example\n *\n * R.negate(42); //=> -42\n */\n\nvar negate =\n/*#__PURE__*/\n_curry1(function negate(n) {\n return -n;\n});\n\nexport default negate;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport all from \"./all.js\";\n/**\n * Returns `true` if no elements of the list match the predicate, `false`\n * otherwise.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is not satisfied by every element, `false` otherwise.\n * @see R.all, R.any\n * @example\n *\n * const isEven = n => n % 2 === 0;\n * const isOdd = n => n % 2 === 1;\n *\n * R.none(isEven, [1, 3, 5, 7, 9, 11]); //=> true\n * R.none(isOdd, [1, 3, 5, 7, 8, 11]); //=> false\n */\n\nvar none =\n/*#__PURE__*/\n_curry2(function none(fn, input) {\n return all(_complement(fn), input);\n});\n\nexport default none;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * A function that returns the `!` of its argument. It will return `true` when\n * passed false-y value, and `false` when passed a truth-y one.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig * -> Boolean\n * @param {*} a any value\n * @return {Boolean} the logical inverse of passed argument.\n * @see R.complement\n * @example\n *\n * R.not(true); //=> false\n * R.not(false); //=> true\n * R.not(0); //=> true\n * R.not(1); //=> false\n */\n\nvar not =\n/*#__PURE__*/\n_curry1(function not(a) {\n return !a;\n});\n\nexport default not;","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\nimport nth from \"./nth.js\";\n/**\n * Returns a function which returns its nth argument.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Function\n * @sig Number -> *... -> *\n * @param {Number} n\n * @return {Function}\n * @example\n *\n * R.nthArg(1)('a', 'b', 'c'); //=> 'b'\n * R.nthArg(-1)('a', 'b', 'c'); //=> 'c'\n * @symb R.nthArg(-1)(a, b, c) = c\n * @symb R.nthArg(0)(a, b, c) = a\n * @symb R.nthArg(1)(a, b, c) = b\n */\n\nvar nthArg =\n/*#__PURE__*/\n_curry1(function nthArg(n) {\n var arity = n < 0 ? 1 : n + 1;\n return curryN(arity, function () {\n return nth(n, arguments);\n });\n});\n\nexport default nthArg;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * `o` is a curried composition function that returns a unary function.\n * Like [`compose`](#compose), `o` performs right-to-left function composition.\n * Unlike [`compose`](#compose), the rightmost function passed to `o` will be\n * invoked with only one argument. Also, unlike [`compose`](#compose), `o` is\n * limited to accepting only 2 unary functions. The name o was chosen because\n * of its similarity to the mathematical composition operator ∘.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Function\n * @sig (b -> c) -> (a -> b) -> a -> c\n * @param {Function} f\n * @param {Function} g\n * @return {Function}\n * @see R.compose, R.pipe\n * @example\n *\n * const classyGreeting = name => \"The name's \" + name.last + \", \" + name.first + \" \" + name.last\n * const yellGreeting = R.o(R.toUpper, classyGreeting);\n * yellGreeting({first: 'James', last: 'Bond'}); //=> \"THE NAME'S BOND, JAMES BOND\"\n *\n * R.o(R.multiply(10), R.add(10))(-4) //=> 60\n *\n * @symb R.o(f, g, x) = f(g(x))\n */\n\nvar o =\n/*#__PURE__*/\n_curry3(function o(f, g, x) {\n return f(g(x));\n});\n\nexport default o;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates an object containing a single key:value pair.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @sig String -> a -> {String:a}\n * @param {String} key\n * @param {*} val\n * @return {Object}\n * @see R.pair\n * @example\n *\n * const matchPhrases = R.compose(\n * R.objOf('must'),\n * R.map(R.objOf('match_phrase'))\n * );\n * matchPhrases(['foo', 'bar', 'baz']); //=> {must: [{match_phrase: 'foo'}, {match_phrase: 'bar'}, {match_phrase: 'baz'}]}\n */\n\nvar objOf =\n/*#__PURE__*/\n_curry2(function objOf(key, val) {\n var obj = {};\n obj[key] = val;\n return obj;\n});\n\nexport default objOf;","import _curry1 from \"./internal/_curry1.js\";\nimport _of from \"./internal/_of.js\";\n/**\n * Returns a singleton array containing the value provided.\n *\n * Note this `of` is different from the ES6 `of`; See\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> [a]\n * @param {*} x any value\n * @return {Array} An array wrapping `x`.\n * @example\n *\n * R.of(null); //=> [null]\n * R.of([42]); //=> [[42]]\n */\n\nvar of =\n/*#__PURE__*/\n_curry1(_of);\n\nexport default of;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object omitting the keys specified.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [String] -> {String: *} -> {String: *}\n * @param {Array} names an array of String property names to omit from the new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with properties from `names` not on it.\n * @see R.pick\n * @example\n *\n * R.omit(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, c: 3}\n */\n\nvar omit =\n/*#__PURE__*/\n_curry2(function omit(names, obj) {\n var result = {};\n var index = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n index[names[idx]] = 1;\n idx += 1;\n }\n\n for (var prop in obj) {\n if (!index.hasOwnProperty(prop)) {\n result[prop] = obj[prop];\n }\n }\n\n return result;\n});\n\nexport default omit;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * const addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\n\nvar once =\n/*#__PURE__*/\n_curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function () {\n if (called) {\n return result;\n }\n\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\n\nexport default once;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if one or both of its arguments are `true`. Returns `false`\n * if both arguments are `false`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {Any} a\n * @param {Any} b\n * @return {Any} the first argument if truthy, otherwise the second argument.\n * @see R.either, R.xor\n * @example\n *\n * R.or(true, true); //=> true\n * R.or(true, false); //=> true\n * R.or(false, true); //=> true\n * R.or(false, false); //=> false\n */\n\nvar or =\n/*#__PURE__*/\n_curry2(function or(a, b) {\n return a || b;\n});\n\nexport default or;","import _curry2 from \"./internal/_curry2.js\";\nimport _assertPromise from \"./internal/_assertPromise.js\";\n/**\n * Returns the result of applying the onFailure function to the value inside\n * a failed promise. This is useful for handling rejected promises\n * inside function compositions.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig (e -> b) -> (Promise e a) -> (Promise e b)\n * @sig (e -> (Promise f b)) -> (Promise e a) -> (Promise f b)\n * @param {Function} onFailure The function to apply. Can return a value or a promise of a value.\n * @param {Promise} p\n * @return {Promise} The result of calling `p.then(null, onFailure)`\n * @see R.then\n * @example\n *\n * var failedFetch = (id) => Promise.reject('bad ID');\n * var useDefault = () => ({ firstName: 'Bob', lastName: 'Loblaw' })\n *\n * //recoverFromFailure :: String -> Promise ({firstName, lastName})\n * var recoverFromFailure = R.pipe(\n * failedFetch,\n * R.otherwise(useDefault),\n * R.then(R.pick(['firstName', 'lastName'])),\n * );\n * recoverFromFailure(12345).then(console.log)\n */\n\nvar otherwise =\n/*#__PURE__*/\n_curry2(function otherwise(f, p) {\n _assertPromise('otherwise', p);\n\n return p.then(null, f);\n});\n\nexport default otherwise;","import _curry3 from \"./internal/_curry3.js\"; // `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\n\nvar Identity = function (x) {\n return {\n value: x,\n map: function (f) {\n return Identity(f(x));\n }\n };\n};\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\n\n\nvar over =\n/*#__PURE__*/\n_curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function (y) {\n return Identity(f(y));\n })(x).value;\n});\n\nexport default over;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Takes two arguments, `fst` and `snd`, and returns `[fst, snd]`.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category List\n * @sig a -> b -> (a,b)\n * @param {*} fst\n * @param {*} snd\n * @return {Array}\n * @see R.objOf, R.of\n * @example\n *\n * R.pair('foo', 'bar'); //=> ['foo', 'bar']\n */\n\nvar pair =\n/*#__PURE__*/\n_curry2(function pair(fst, snd) {\n return [fst, snd];\n});\n\nexport default pair;","import _concat from \"./internal/_concat.js\";\nimport _createPartialApplicator from \"./internal/_createPartialApplicator.js\";\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided initially followed by the arguments provided to `g`.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [a, b, c, ...] -> ((d, e, f, ..., n) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partialRight, R.curry\n * @example\n *\n * const multiply2 = (a, b) => a * b;\n * const double = R.partial(multiply2, [2]);\n * double(2); //=> 4\n *\n * const greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * const sayHello = R.partial(greet, ['Hello']);\n * const sayHelloToMs = R.partial(sayHello, ['Ms.']);\n * sayHelloToMs('Jane', 'Jones'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partial(f, [a, b])(c, d) = f(a, b, c, d)\n */\n\nvar partial =\n/*#__PURE__*/\n_createPartialApplicator(_concat);\n\nexport default partial;","import _concat from \"./internal/_concat.js\";\nimport _createPartialApplicator from \"./internal/_createPartialApplicator.js\";\nimport flip from \"./flip.js\";\n/**\n * Takes a function `f` and a list of arguments, and returns a function `g`.\n * When applied, `g` returns the result of applying `f` to the arguments\n * provided to `g` followed by the arguments provided initially.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a, b, c, ..., n) -> x) -> [d, e, f, ..., n] -> ((a, b, c, ...) -> x)\n * @param {Function} f\n * @param {Array} args\n * @return {Function}\n * @see R.partial\n * @example\n *\n * const greet = (salutation, title, firstName, lastName) =>\n * salutation + ', ' + title + ' ' + firstName + ' ' + lastName + '!';\n *\n * const greetMsJaneJones = R.partialRight(greet, ['Ms.', 'Jane', 'Jones']);\n *\n * greetMsJaneJones('Hello'); //=> 'Hello, Ms. Jane Jones!'\n * @symb R.partialRight(f, [a, b])(c, d) = f(c, d, a, b)\n */\n\nvar partialRight =\n/*#__PURE__*/\n_createPartialApplicator(\n/*#__PURE__*/\nflip(_concat));\n\nexport default partialRight;","import filter from \"./filter.js\";\nimport juxt from \"./juxt.js\";\nimport reject from \"./reject.js\";\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n * predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']);\n * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]\n *\n * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]\n */\n\nvar partition =\n/*#__PURE__*/\njuxt([filter, reject]);\nexport default partition;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\nimport path from \"./path.js\";\n/**\n * Determines whether a nested path on an object has a specific value, in\n * [`R.equals`](#equals) terms. Most likely used to filter a list.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Relation\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> Boolean\n * @param {Array} path The path of the nested property to use\n * @param {*} val The value to compare the nested property with\n * @param {Object} obj The object to check the nested property in\n * @return {Boolean} `true` if the value equals the nested object property,\n * `false` otherwise.\n * @example\n *\n * const user1 = { address: { zipCode: 90210 } };\n * const user2 = { address: { zipCode: 55555 } };\n * const user3 = { name: 'Bob' };\n * const users = [ user1, user2, user3 ];\n * const isFamous = R.pathEq(['address', 'zipCode'], 90210);\n * R.filter(isFamous, users); //=> [ user1 ]\n */\n\nvar pathEq =\n/*#__PURE__*/\n_curry3(function pathEq(_path, val, obj) {\n return equals(path(_path, obj), val);\n});\n\nexport default pathEq;","import _curry3 from \"./internal/_curry3.js\";\nimport defaultTo from \"./defaultTo.js\";\nimport path from \"./path.js\";\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nexport default pathOr;","import _curry3 from \"./internal/_curry3.js\";\nimport path from \"./path.js\";\n/**\n * Returns `true` if the specified object property at given path satisfies the\n * given predicate; `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Logic\n * @typedefn Idx = String | Int\n * @sig (a -> Boolean) -> [Idx] -> {a} -> Boolean\n * @param {Function} pred\n * @param {Array} propPath\n * @param {*} obj\n * @return {Boolean}\n * @see R.propSatisfies, R.path\n * @example\n *\n * R.pathSatisfies(y => y > 0, ['x', 'y'], {x: {y: 2}}); //=> true\n * R.pathSatisfies(R.is(Object), [], {x: {y: 2}}); //=> true\n */\n\nvar pathSatisfies =\n/*#__PURE__*/\n_curry3(function pathSatisfies(pred, propPath, obj) {\n return pred(path(propPath, obj));\n});\n\nexport default pathSatisfies;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.0\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\n\nvar pick =\n/*#__PURE__*/\n_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default pick;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Similar to `pick` except that this one includes a `key: undefined` pair for\n * properties that don't exist.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.pick\n * @example\n *\n * R.pickAll(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pickAll(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, e: undefined, f: undefined}\n */\n\nvar pickAll =\n/*#__PURE__*/\n_curry2(function pickAll(names, obj) {\n var result = {};\n var idx = 0;\n var len = names.length;\n\n while (idx < len) {\n var name = names[idx];\n result[name] = obj[name];\n idx += 1;\n }\n\n return result;\n});\n\nexport default pickAll;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n * should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n * on it.\n * @see R.pick, R.filter\n * @example\n *\n * const isUpperCase = (val, key) => key.toUpperCase() === key;\n * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\n\nvar pickBy =\n/*#__PURE__*/\n_curry2(function pickBy(test, obj) {\n var result = {};\n\n for (var prop in obj) {\n if (test(obj[prop], prop, obj)) {\n result[prop] = obj[prop];\n }\n }\n\n return result;\n});\n\nexport default pickBy;","import _arity from \"./internal/_arity.js\";\nimport _pipe from \"./internal/_pipe.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n/**\n * Performs left-to-right function composition. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * In some libraries this function is named `sequence`.\n *\n * **Note:** The result of pipe is not automatically curried.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.compose\n * @example\n *\n * const f = R.pipe(Math.pow, R.negate, R.inc);\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipe(f, g, h)(a, b) = h(g(f(a, b)))\n */\n\nexport default function pipe() {\n if (arguments.length === 0) {\n throw new Error('pipe requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipe, arguments[0], tail(arguments)));\n}","import composeK from \"./composeK.js\";\nimport reverse from \"./reverse.js\";\n/**\n * Returns the left-to-right Kleisli composition of the provided functions,\n * each of which must return a value of a type supported by [`chain`](#chain).\n *\n * `R.pipeK(f, g, h)` is equivalent to `R.pipe(f, R.chain(g), R.chain(h))`.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Function\n * @sig Chain m => ((a -> m b), (b -> m c), ..., (y -> m z)) -> (a -> m z)\n * @param {...Function}\n * @return {Function}\n * @see R.composeK\n * @deprecated since v0.26.0\n * @example\n *\n * // parseJson :: String -> Maybe *\n * // get :: String -> Object -> Maybe *\n *\n * // getStateCode :: Maybe String -> Maybe String\n * const getStateCode = R.pipeK(\n * parseJson,\n * get('user'),\n * get('address'),\n * get('state'),\n * R.compose(Maybe.of, R.toUpper)\n * );\n *\n * getStateCode('{\"user\":{\"address\":{\"state\":\"ny\"}}}');\n * //=> Just('NY')\n * getStateCode('[Invalid JSON]');\n * //=> Nothing()\n * @symb R.pipeK(f, g, h)(a) = R.chain(h, R.chain(g, f(a)))\n */\n\nexport default function pipeK() {\n if (arguments.length === 0) {\n throw new Error('pipeK requires at least one argument');\n }\n\n return composeK.apply(this, reverse(arguments));\n}","import _arity from \"./internal/_arity.js\";\nimport _pipeP from \"./internal/_pipeP.js\";\nimport reduce from \"./reduce.js\";\nimport tail from \"./tail.js\";\n/**\n * Performs left-to-right composition of one or more Promise-returning\n * functions. The first argument may have any arity; the remaining arguments\n * must be unary.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Function\n * @sig ((a -> Promise b), (b -> Promise c), ..., (y -> Promise z)) -> (a -> Promise z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeP\n * @deprecated since v0.26.0\n * @example\n *\n * // followersForUser :: String -> Promise [User]\n * const followersForUser = R.pipeP(db.getUserById, db.getFollowers);\n */\n\nexport default function pipeP() {\n if (arguments.length === 0) {\n throw new Error('pipeP requires at least one argument');\n }\n\n return _arity(arguments[0].length, reduce(_pipeP, arguments[0], tail(arguments)));\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport head from \"./head.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport tail from \"./tail.js\";\nimport identity from \"./identity.js\";\n/**\n * Performs left-to-right function composition using transforming function. The first argument may have\n * any arity; the remaining arguments must be unary.\n *\n * **Note:** The result of pipeWith is not automatically curried. Transforming function is not used on the\n * first argument.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig ((* -> *), [((a, b, ..., n) -> o), (o -> p), ..., (x -> y), (y -> z)]) -> ((a, b, ..., n) -> z)\n * @param {...Function} functions\n * @return {Function}\n * @see R.composeWith, R.pipe\n * @example\n *\n * const pipeWhileNotNil = R.pipeWith((f, res) => R.isNil(res) ? res : f(res));\n * const f = pipeWhileNotNil([Math.pow, R.negate, R.inc])\n *\n * f(3, 4); // -(3^4) + 1\n * @symb R.pipeWith(f)([g, h, i])(...args) = f(i, f(h, g(...args)))\n */\n\nvar pipeWith =\n/*#__PURE__*/\n_curry2(function pipeWith(xf, list) {\n if (list.length <= 0) {\n return identity;\n }\n\n var headList = head(list);\n var tailList = tail(list);\n return _arity(headList.length, function () {\n return _reduce(function (result, f) {\n return xf.call(this, f, result);\n }, headList.apply(this, arguments), tailList);\n });\n});\n\nexport default pipeWith;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\n\nvar pluck =\n/*#__PURE__*/\n_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n\nexport default pluck;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list with the given element at the front, followed by the\n * contents of the list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The item to add to the head of the output list.\n * @param {Array} list The array to add to the tail of the output list.\n * @return {Array} A new array.\n * @see R.append\n * @example\n *\n * R.prepend('fee', ['fi', 'fo', 'fum']); //=> ['fee', 'fi', 'fo', 'fum']\n */\n\nvar prepend =\n/*#__PURE__*/\n_curry2(function prepend(el, list) {\n return _concat([el], list);\n});\n\nexport default prepend;","import multiply from \"./multiply.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Multiplies together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The product of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.product([2,4,6,8,100,1]); //=> 38400\n */\n\nvar product =\n/*#__PURE__*/\nreduce(multiply, 1);\nexport default product;","import _map from \"./internal/_map.js\";\nimport identity from \"./identity.js\";\nimport pickAll from \"./pickAll.js\";\nimport useWith from \"./useWith.js\";\n/**\n * Reasonable analog to SQL `select` statement.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @category Relation\n * @sig [k] -> [{k: v}] -> [{k: v}]\n * @param {Array} props The property names to project\n * @param {Array} objs The objects to query\n * @return {Array} An array of objects with just the `props` properties.\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond', grade: 2};\n * const fred = {name: 'Fred', age: 12, hair: 'brown', grade: 7};\n * const kids = [abby, fred];\n * R.project(['name', 'grade'], kids); //=> [{name: 'Abby', grade: 2}, {name: 'Fred', grade: 7}]\n */\n\nvar project =\n/*#__PURE__*/\nuseWith(_map, [pickAll, identity]); // passing `identity` gives correct arity\n\nexport default project;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\n\nvar propEq =\n/*#__PURE__*/\n_curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\n\nexport default propEq;","import _curry3 from \"./internal/_curry3.js\";\nimport is from \"./is.js\";\n/**\n * Returns `true` if the specified object property is of the given type;\n * `false` otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Type\n * @sig Type -> String -> Object -> Boolean\n * @param {Function} type\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.is, R.propSatisfies\n * @example\n *\n * R.propIs(Number, 'x', {x: 1, y: 2}); //=> true\n * R.propIs(Number, 'x', {x: 'foo'}); //=> false\n * R.propIs(Number, 'x', {}); //=> false\n */\n\nvar propIs =\n/*#__PURE__*/\n_curry3(function propIs(type, name, obj) {\n return is(type, obj[name]);\n});\n\nexport default propIs;","import _curry3 from \"./internal/_curry3.js\";\nimport pathOr from \"./pathOr.js\";\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\n\nvar propOr =\n/*#__PURE__*/\n_curry3(function propOr(val, p, obj) {\n return pathOr(val, [p], obj);\n});\n\nexport default propOr;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns `true` if the specified object property satisfies the given\n * predicate; `false` otherwise. You can test multiple properties with\n * [`R.where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Logic\n * @sig (a -> Boolean) -> String -> {String: a} -> Boolean\n * @param {Function} pred\n * @param {String} name\n * @param {*} obj\n * @return {Boolean}\n * @see R.where, R.propEq, R.propIs\n * @example\n *\n * R.propSatisfies(x => x > 0, 'x', {x: 1, y: 2}); //=> true\n */\n\nvar propSatisfies =\n/*#__PURE__*/\n_curry3(function propSatisfies(pred, name, obj) {\n return pred(obj[name]);\n});\n\nexport default propSatisfies;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n * const fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\n\nvar props =\n/*#__PURE__*/\n_curry2(function props(ps, obj) {\n return ps.map(function (p) {\n return path([p], obj);\n });\n});\n\nexport default props;","import _curry2 from \"./internal/_curry2.js\";\nimport _isNumber from \"./internal/_isNumber.js\";\n/**\n * Returns a list of numbers from `from` (inclusive) to `to` (exclusive).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> Number -> [Number]\n * @param {Number} from The first number in the list.\n * @param {Number} to One more than the last number in the list.\n * @return {Array} The list of numbers in the set `[a, b)`.\n * @example\n *\n * R.range(1, 5); //=> [1, 2, 3, 4]\n * R.range(50, 53); //=> [50, 51, 52]\n */\n\nvar range =\n/*#__PURE__*/\n_curry2(function range(from, to) {\n if (!(_isNumber(from) && _isNumber(to))) {\n throw new TypeError('Both arguments to range must be numbers');\n }\n\n var result = [];\n var n = from;\n\n while (n < to) {\n result.push(n);\n n += 1;\n }\n\n return result;\n});\n\nexport default range;","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _clone from \"./internal/_clone.js\";\nimport _curryN from \"./internal/_curryN.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _has from \"./internal/_has.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xreduceBy from \"./internal/_xreduceBy.js\";\n/**\n * Groups the elements of the list according to the result of calling\n * the String-returning function `keyFn` on each element and reduces the elements\n * of each group to a single value via the reducer function `valueFn`.\n *\n * This function is basically a more general [`groupBy`](#groupBy) function.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category List\n * @sig ((a, b) -> a) -> a -> (b -> String) -> [b] -> {String: a}\n * @param {Function} valueFn The function that reduces the elements of each group to a single\n * value. Receives two values, accumulator for a particular group and the current element.\n * @param {*} acc The (initial) accumulator value for each group.\n * @param {Function} keyFn The function that maps the list's element into a key.\n * @param {Array} list The array to group.\n * @return {Object} An object with the output of `keyFn` for keys, mapped to the output of\n * `valueFn` for elements which produced that key when passed to `keyFn`.\n * @see R.groupBy, R.reduce\n * @example\n *\n * const groupNames = (acc, {name}) => acc.concat(name)\n * const toGrade = ({score}) =>\n * score < 65 ? 'F' :\n * score < 70 ? 'D' :\n * score < 80 ? 'C' :\n * score < 90 ? 'B' : 'A'\n *\n * var students = [\n * {name: 'Abby', score: 83},\n * {name: 'Bart', score: 62},\n * {name: 'Curt', score: 88},\n * {name: 'Dora', score: 92},\n * ]\n *\n * reduceBy(groupNames, [], toGrade, students)\n * //=> {\"A\": [\"Dora\"], \"B\": [\"Abby\", \"Curt\"], \"F\": [\"Bart\"]}\n */\n\nvar reduceBy =\n/*#__PURE__*/\n_curryN(4, [],\n/*#__PURE__*/\n_dispatchable([], _xreduceBy, function reduceBy(valueFn, valueAcc, keyFn, list) {\n return _reduce(function (acc, elt) {\n var key = keyFn(elt);\n acc[key] = valueFn(_has(key, acc) ? acc[key] : _clone(valueAcc, [], [], false), elt);\n return acc;\n }, {}, list);\n}));\n\nexport default reduceBy;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * Similar to [`reduce`](#reduce), except moves through the input list from the\n * right to the left.\n *\n * The iterator function receives two values: *(value, acc)*, while the arguments'\n * order of `reduce`'s iterator function is *(acc, value)*.\n *\n * Note: `R.reduceRight` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduceRight` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduceRight#Description\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> b) -> b -> [a] -> b\n * @param {Function} fn The iterator function. Receives two values, the current element from the array\n * and the accumulator.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.addIndex\n * @example\n *\n * R.reduceRight(R.subtract, 0, [1, 2, 3, 4]) // => (1 - (2 - (3 - (4 - 0)))) = -2\n * // - -2\n * // / \\ / \\\n * // 1 - 1 3\n * // / \\ / \\\n * // 2 - ==> 2 -1\n * // / \\ / \\\n * // 3 - 3 4\n * // / \\ / \\\n * // 4 0 4 0\n *\n * @symb R.reduceRight(f, a, [b, c, d]) = f(b, f(c, f(d, a)))\n */\n\nvar reduceRight =\n/*#__PURE__*/\n_curry3(function reduceRight(fn, acc, list) {\n var idx = list.length - 1;\n\n while (idx >= 0) {\n acc = fn(list[idx], acc);\n idx -= 1;\n }\n\n return acc;\n});\n\nexport default reduceRight;","import _curryN from \"./internal/_curryN.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _reduced from \"./internal/_reduced.js\";\n/**\n * Like [`reduce`](#reduce), `reduceWhile` returns a single item by iterating\n * through the list, successively calling the iterator function. `reduceWhile`\n * also takes a predicate that is evaluated before each step. If the predicate\n * returns `false`, it \"short-circuits\" the iteration and returns the current\n * value of the accumulator.\n *\n * @func\n * @memberOf R\n * @since v0.22.0\n * @category List\n * @sig ((a, b) -> Boolean) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} pred The predicate. It is passed the accumulator and the\n * current element.\n * @param {Function} fn The iterator function. Receives two values, the\n * accumulator and the current element.\n * @param {*} a The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced\n * @example\n *\n * const isOdd = (acc, x) => x % 2 === 1;\n * const xs = [1, 3, 5, 60, 777, 800];\n * R.reduceWhile(isOdd, R.add, 0, xs); //=> 9\n *\n * const ys = [2, 4, 6]\n * R.reduceWhile(isOdd, R.add, 111, ys); //=> 111\n */\n\nvar reduceWhile =\n/*#__PURE__*/\n_curryN(4, [], function _reduceWhile(pred, fn, a, list) {\n return _reduce(function (acc, x) {\n return pred(acc, x) ? fn(acc, x) : _reduced(acc);\n }, a, list);\n});\n\nexport default reduceWhile;","import _curry1 from \"./internal/_curry1.js\";\nimport _reduced from \"./internal/_reduced.js\";\n/**\n * Returns a value wrapped to indicate that it is the final value of the reduce\n * and transduce functions. The returned value should be considered a black\n * box: the internal structure is not guaranteed to be stable.\n *\n * Note: this optimization is only available to the below functions:\n * - [`reduce`](#reduce)\n * - [`reduceWhile`](#reduceWhile)\n * - [`transduce`](#transduce)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category List\n * @sig a -> *\n * @param {*} x The final value of the reduce.\n * @return {*} The wrapped value.\n * @see R.reduce, R.reduceWhile, R.transduce\n * @example\n *\n * R.reduce(\n * (acc, item) => item > 3 ? R.reduced(acc) : acc.concat(item),\n * [],\n * [1, 2, 3, 4, 5]) // [1, 2, 3]\n */\n\nvar reduced =\n/*#__PURE__*/\n_curry1(_reduced);\n\nexport default reduced;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n\nexport default reject;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Removes the sub-list of `list` starting at index `start` and containing\n * `count` elements. _Note that this is not destructive_: it returns a copy of\n * the list with the changes.\n * <small>No lists have been harmed in the application of this function.</small>\n *\n * @func\n * @memberOf R\n * @since v0.2.2\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @param {Number} start The position to start removing elements\n * @param {Number} count The number of elements to remove\n * @param {Array} list The list to remove from\n * @return {Array} A new Array with `count` elements from `start` removed.\n * @see R.without\n * @example\n *\n * R.remove(2, 3, [1,2,3,4,5,6,7,8]); //=> [1,2,6,7,8]\n */\n\nvar remove =\n/*#__PURE__*/\n_curry3(function remove(start, count, list) {\n var result = Array.prototype.slice.call(list, 0);\n result.splice(start, count);\n return result;\n});\n\nexport default remove;","import _curry2 from \"./internal/_curry2.js\";\nimport always from \"./always.js\";\nimport times from \"./times.js\";\n/**\n * Returns a fixed list of size `n` containing a specified identical value.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig a -> n -> [a]\n * @param {*} value The value to repeat.\n * @param {Number} n The desired size of the output list.\n * @return {Array} A new array containing `n` `value`s.\n * @see R.times\n * @example\n *\n * R.repeat('hi', 5); //=> ['hi', 'hi', 'hi', 'hi', 'hi']\n *\n * const obj = {};\n * const repeatedObjs = R.repeat(obj, 5); //=> [{}, {}, {}, {}, {}]\n * repeatedObjs[0] === repeatedObjs[1]; //=> true\n * @symb R.repeat(a, 0) = []\n * @symb R.repeat(a, 1) = [a]\n * @symb R.repeat(a, 2) = [a, a]\n */\n\nvar repeat =\n/*#__PURE__*/\n_curry2(function repeat(value, n) {\n return times(always(value), n);\n});\n\nexport default repeat;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Replace a substring or regex match in a string with a replacement.\n *\n * The first two parameters correspond to the parameters of the\n * `String.prototype.replace()` function, so the second parameter can also be a\n * function.\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category String\n * @sig RegExp|String -> String -> String -> String\n * @param {RegExp|String} pattern A regular expression or a substring to match.\n * @param {String} replacement The string to replace the matches with.\n * @param {String} str The String to do the search and replacement in.\n * @return {String} The result.\n * @example\n *\n * R.replace('foo', 'bar', 'foo foo foo'); //=> 'bar foo foo'\n * R.replace(/foo/, 'bar', 'foo foo foo'); //=> 'bar foo foo'\n *\n * // Use the \"g\" (global) flag to replace all occurrences:\n * R.replace(/foo/g, 'bar', 'foo foo foo'); //=> 'bar bar bar'\n */\n\nvar replace =\n/*#__PURE__*/\n_curry3(function replace(regex, replacement, str) {\n return str.replace(regex, replacement);\n});\n\nexport default replace;","import _curry1 from \"./internal/_curry1.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns a new list or string with the elements or characters in reverse\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {Array|String} list\n * @return {Array|String}\n * @example\n *\n * R.reverse([1, 2, 3]); //=> [3, 2, 1]\n * R.reverse([1, 2]); //=> [2, 1]\n * R.reverse([1]); //=> [1]\n * R.reverse([]); //=> []\n *\n * R.reverse('abc'); //=> 'cba'\n * R.reverse('ab'); //=> 'ba'\n * R.reverse('a'); //=> 'a'\n * R.reverse(''); //=> ''\n */\n\nvar reverse =\n/*#__PURE__*/\n_curry1(function reverse(list) {\n return _isString(list) ? list.split('').reverse().join('') : Array.prototype.slice.call(list, 0).reverse();\n});\n\nexport default reverse;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Scan is similar to [`reduce`](#reduce), but returns a list of successively\n * reduced values from the left\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> [a]\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {Array} A list of all intermediately reduced values.\n * @see R.reduce, R.mapAccum\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const factorials = R.scan(R.multiply, 1, numbers); //=> [1, 1, 2, 6, 24]\n * @symb R.scan(f, a, [b, c]) = [a, f(a, b), f(f(a, b), c)]\n */\n\nvar scan =\n/*#__PURE__*/\n_curry3(function scan(fn, acc, list) {\n var idx = 0;\n var len = list.length;\n var result = [acc];\n\n while (idx < len) {\n acc = fn(acc, list[idx]);\n result[idx + 1] = acc;\n idx += 1;\n }\n\n return result;\n});\n\nexport default scan;","import _curry2 from \"./internal/_curry2.js\";\nimport ap from \"./ap.js\";\nimport map from \"./map.js\";\nimport prepend from \"./prepend.js\";\nimport reduceRight from \"./reduceRight.js\";\n/**\n * Transforms a [Traversable](https://github.com/fantasyland/fantasy-land#traversable)\n * of [Applicative](https://github.com/fantasyland/fantasy-land#applicative) into an\n * Applicative of Traversable.\n *\n * Dispatches to the `sequence` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> t (f a) -> f (t a)\n * @param {Function} of\n * @param {*} traversable\n * @return {*}\n * @see R.traverse\n * @example\n *\n * R.sequence(Maybe.of, [Just(1), Just(2), Just(3)]); //=> Just([1, 2, 3])\n * R.sequence(Maybe.of, [Just(1), Just(2), Nothing()]); //=> Nothing()\n *\n * R.sequence(R.of, Just([1, 2, 3])); //=> [Just(1), Just(2), Just(3)]\n * R.sequence(R.of, Nothing()); //=> [Nothing()]\n */\n\nvar sequence =\n/*#__PURE__*/\n_curry2(function sequence(of, traversable) {\n return typeof traversable.sequence === 'function' ? traversable.sequence(of) : reduceRight(function (x, acc) {\n return ap(map(prepend, x), acc);\n }, of([]), traversable);\n});\n\nexport default sequence;","import _curry3 from \"./internal/_curry3.js\";\nimport always from \"./always.js\";\nimport over from \"./over.js\";\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\n\nvar set =\n/*#__PURE__*/\n_curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\n\nexport default set;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nexport default slice;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n * const diff = function(a, b) { return a - b; };\n * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\n\nvar sort =\n/*#__PURE__*/\n_curry2(function sort(comparator, list) {\n return Array.prototype.slice.call(list, 0).sort(comparator);\n});\n\nexport default sort;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Sorts the list according to the supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord b => (a -> b) -> [a] -> [a]\n * @param {Function} fn\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted by the keys generated by `fn`.\n * @example\n *\n * const sortByFirstItem = R.sortBy(R.prop(0));\n * const pairs = [[-1, 1], [-2, 2], [-3, 3]];\n * sortByFirstItem(pairs); //=> [[-3, 3], [-2, 2], [-1, 1]]\n *\n * const sortByNameCaseInsensitive = R.sortBy(R.compose(R.toLower, R.prop('name')));\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const bob = {\n * name: 'Bob',\n * age: -10\n * };\n * const clara = {\n * name: 'clara',\n * age: 314.159\n * };\n * const people = [clara, bob, alice];\n * sortByNameCaseInsensitive(people); //=> [alice, bob, clara]\n */\n\nvar sortBy =\n/*#__PURE__*/\n_curry2(function sortBy(fn, list) {\n return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n var aa = fn(a);\n var bb = fn(b);\n return aa < bb ? -1 : aa > bb ? 1 : 0;\n });\n});\n\nexport default sortBy;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Sorts a list according to a list of comparators.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Relation\n * @sig [(a, a) -> Number] -> [a] -> [a]\n * @param {Array} functions A list of comparator functions.\n * @param {Array} list The list to sort.\n * @return {Array} A new list sorted according to the comarator functions.\n * @example\n *\n * const alice = {\n * name: 'alice',\n * age: 40\n * };\n * const bob = {\n * name: 'bob',\n * age: 30\n * };\n * const clara = {\n * name: 'clara',\n * age: 40\n * };\n * const people = [clara, bob, alice];\n * const ageNameSort = R.sortWith([\n * R.descend(R.prop('age')),\n * R.ascend(R.prop('name'))\n * ]);\n * ageNameSort(people); //=> [alice, clara, bob]\n */\n\nvar sortWith =\n/*#__PURE__*/\n_curry2(function sortWith(fns, list) {\n return Array.prototype.slice.call(list, 0).sort(function (a, b) {\n var result = 0;\n var i = 0;\n\n while (result === 0 && i < fns.length) {\n result = fns[i](a, b);\n i += 1;\n }\n\n return result;\n });\n});\n\nexport default sortWith;","import invoker from \"./invoker.js\";\n/**\n * Splits a string into an array of strings based on the given\n * separator.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category String\n * @sig (String | RegExp) -> String -> [String]\n * @param {String|RegExp} sep The pattern.\n * @param {String} str The string to separate into an array.\n * @return {Array} The array of strings from `str` separated by `sep`.\n * @see R.join\n * @example\n *\n * const pathComponents = R.split('/');\n * R.tail(pathComponents('/usr/local/bin/node')); //=> ['usr', 'local', 'bin', 'node']\n *\n * R.split('.', 'a.b.c.xyz.d'); //=> ['a', 'b', 'c', 'xyz', 'd']\n */\n\nvar split =\n/*#__PURE__*/\ninvoker(1, 'split');\nexport default split;","import _curry2 from \"./internal/_curry2.js\";\nimport length from \"./length.js\";\nimport slice from \"./slice.js\";\n/**\n * Splits a given list or string at a given index.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig Number -> [a] -> [[a], [a]]\n * @sig Number -> String -> [String, String]\n * @param {Number} index The index where the array/string is split.\n * @param {Array|String} array The array/string to be split.\n * @return {Array}\n * @example\n *\n * R.splitAt(1, [1, 2, 3]); //=> [[1], [2, 3]]\n * R.splitAt(5, 'hello world'); //=> ['hello', ' world']\n * R.splitAt(-1, 'foobar'); //=> ['fooba', 'r']\n */\n\nvar splitAt =\n/*#__PURE__*/\n_curry2(function splitAt(index, array) {\n return [slice(0, index, array), slice(index, length(array), array)];\n});\n\nexport default splitAt;","import _curry2 from \"./internal/_curry2.js\";\nimport slice from \"./slice.js\";\n/**\n * Splits a collection into slices of the specified length.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [[a]]\n * @sig Number -> String -> [String]\n * @param {Number} n\n * @param {Array} list\n * @return {Array}\n * @example\n *\n * R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7]); //=> [[1, 2, 3], [4, 5, 6], [7]]\n * R.splitEvery(3, 'foobarbaz'); //=> ['foo', 'bar', 'baz']\n */\n\nvar splitEvery =\n/*#__PURE__*/\n_curry2(function splitEvery(n, list) {\n if (n <= 0) {\n throw new Error('First argument to splitEvery must be a positive integer');\n }\n\n var result = [];\n var idx = 0;\n\n while (idx < list.length) {\n result.push(slice(idx, idx += n, list));\n }\n\n return result;\n});\n\nexport default splitEvery;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Takes a list and a predicate and returns a pair of lists with the following properties:\n *\n * - the result of concatenating the two output lists is equivalent to the input list;\n * - none of the elements of the first output list satisfies the predicate; and\n * - if the second output list is non-empty, its first element satisfies the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [[a], [a]]\n * @param {Function} pred The predicate that determines where the array is split.\n * @param {Array} list The array to be split.\n * @return {Array}\n * @example\n *\n * R.splitWhen(R.equals(2), [1, 2, 3, 1, 2, 3]); //=> [[1], [2, 3, 1, 2, 3]]\n */\n\nvar splitWhen =\n/*#__PURE__*/\n_curry2(function splitWhen(pred, list) {\n var idx = 0;\n var len = list.length;\n var prefix = [];\n\n while (idx < len && !pred(list[idx])) {\n prefix.push(list[idx]);\n idx += 1;\n }\n\n return [prefix, Array.prototype.slice.call(list, idx)];\n});\n\nexport default splitWhen;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport take from \"./take.js\";\n/**\n * Checks if a list starts with the provided sublist.\n *\n * Similarly, checks if a string starts with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @see R.endsWith\n * @example\n *\n * R.startsWith('a', 'abc') //=> true\n * R.startsWith('b', 'abc') //=> false\n * R.startsWith(['a'], ['a', 'b', 'c']) //=> true\n * R.startsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\nvar startsWith =\n/*#__PURE__*/\n_curry2(function (prefix, list) {\n return equals(take(prefix.length, list), prefix);\n});\n\nexport default startsWith;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Subtracts its second argument from its first argument.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig Number -> Number -> Number\n * @param {Number} a The first value.\n * @param {Number} b The second value.\n * @return {Number} The result of `a - b`.\n * @see R.add\n * @example\n *\n * R.subtract(10, 8); //=> 2\n *\n * const minus5 = R.subtract(R.__, 5);\n * minus5(17); //=> 12\n *\n * const complementaryAngle = R.subtract(90);\n * complementaryAngle(30); //=> 60\n * complementaryAngle(72); //=> 18\n */\n\nvar subtract =\n/*#__PURE__*/\n_curry2(function subtract(a, b) {\n return Number(a) - Number(b);\n});\n\nexport default subtract;","import add from \"./add.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Adds together all the elements of a list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Math\n * @sig [Number] -> Number\n * @param {Array} list An array of numbers\n * @return {Number} The sum of all the numbers in the list.\n * @see R.reduce\n * @example\n *\n * R.sum([2,4,6,8,100,1]); //=> 121\n */\n\nvar sum =\n/*#__PURE__*/\nreduce(add, 0);\nexport default sum;","import _curry2 from \"./internal/_curry2.js\";\nimport concat from \"./concat.js\";\nimport difference from \"./difference.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifferenceWith, R.difference, R.differenceWith\n * @example\n *\n * R.symmetricDifference([1,2,3,4], [7,6,5,4,3]); //=> [1,2,7,6,5]\n * R.symmetricDifference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5,1,2]\n */\n\nvar symmetricDifference =\n/*#__PURE__*/\n_curry2(function symmetricDifference(list1, list2) {\n return concat(difference(list1, list2), difference(list2, list1));\n});\n\nexport default symmetricDifference;","import _curry3 from \"./internal/_curry3.js\";\nimport concat from \"./concat.js\";\nimport differenceWith from \"./differenceWith.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements contained in the first or\n * second list, but not both. Duplication is determined according to the value\n * returned by applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [a] -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` or `list2`, but not both.\n * @see R.symmetricDifference, R.difference, R.differenceWith\n * @example\n *\n * const eqA = R.eqBy(R.prop('a'));\n * const l1 = [{a: 1}, {a: 2}, {a: 3}, {a: 4}];\n * const l2 = [{a: 3}, {a: 4}, {a: 5}, {a: 6}];\n * R.symmetricDifferenceWith(eqA, l1, l2); //=> [{a: 1}, {a: 2}, {a: 5}, {a: 6}]\n */\n\nvar symmetricDifferenceWith =\n/*#__PURE__*/\n_curry3(function symmetricDifferenceWith(pred, list1, list2) {\n return concat(differenceWith(pred, list1, list2), differenceWith(pred, list2, list1));\n});\n\nexport default symmetricDifferenceWith;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns all but the first element of the given list or string (or object\n * with a `tail` method).\n *\n * Dispatches to the `slice` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @sig String -> String\n * @param {*} list\n * @return {*}\n * @see R.head, R.init, R.last\n * @example\n *\n * R.tail([1, 2, 3]); //=> [2, 3]\n * R.tail([1, 2]); //=> [2]\n * R.tail([1]); //=> []\n * R.tail([]); //=> []\n *\n * R.tail('abc'); //=> 'bc'\n * R.tail('ab'); //=> 'b'\n * R.tail('a'); //=> ''\n * R.tail(''); //=> ''\n */\n\nvar tail =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_checkForMethod('tail',\n/*#__PURE__*/\nslice(1, Infinity)));\n\nexport default tail;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtake from \"./internal/_xtake.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * const personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * const takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\n\nvar take =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));\n\nexport default take;","import _curry2 from \"./internal/_curry2.js\";\nimport drop from \"./drop.js\";\n/**\n * Returns a new list containing the last `n` elements of the given list.\n * If `n > list.length`, returns a list of `list.length` elements.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n The number of elements to return.\n * @param {Array} xs The collection to consider.\n * @return {Array}\n * @see R.dropLast\n * @example\n *\n * R.takeLast(1, ['foo', 'bar', 'baz']); //=> ['baz']\n * R.takeLast(2, ['foo', 'bar', 'baz']); //=> ['bar', 'baz']\n * R.takeLast(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.takeLast(3, 'ramda'); //=> 'mda'\n */\n\nvar takeLast =\n/*#__PURE__*/\n_curry2(function takeLast(n, xs) {\n return drop(n >= 0 ? xs.length - n : 0, xs);\n});\n\nexport default takeLast;","import _curry2 from \"./internal/_curry2.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list containing the last `n` elements of a given list, passing\n * each value to the supplied predicate function, and terminating when the\n * predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropLastWhile, R.addIndex\n * @example\n *\n * const isNotOne = x => x !== 1;\n *\n * R.takeLastWhile(isNotOne, [1, 2, 3, 4]); //=> [2, 3, 4]\n *\n * R.takeLastWhile(x => x !== 'R' , 'Ramda'); //=> 'amda'\n */\n\nvar takeLastWhile =\n/*#__PURE__*/\n_curry2(function takeLastWhile(fn, xs) {\n var idx = xs.length - 1;\n\n while (idx >= 0 && fn(xs[idx])) {\n idx -= 1;\n }\n\n return slice(idx + 1, Infinity, xs);\n});\n\nexport default takeLastWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtakeWhile from \"./internal/_xtakeWhile.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns a new list containing the first `n` elements of a given list,\n * passing each value to the supplied predicate function, and terminating when\n * the predicate function returns `false`. Excludes the element that caused the\n * predicate function to fail. The predicate function is passed one argument:\n * *(value)*.\n *\n * Dispatches to the `takeWhile` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> [a]\n * @sig (a -> Boolean) -> String -> String\n * @param {Function} fn The function called per iteration.\n * @param {Array} xs The collection to iterate over.\n * @return {Array} A new array.\n * @see R.dropWhile, R.transduce, R.addIndex\n * @example\n *\n * const isNotFour = x => x !== 4;\n *\n * R.takeWhile(isNotFour, [1, 2, 3, 4, 3, 2, 1]); //=> [1, 2, 3]\n *\n * R.takeWhile(x => x !== 'd' , 'Ramda'); //=> 'Ram'\n */\n\nvar takeWhile =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['takeWhile'], _xtakeWhile, function takeWhile(fn, xs) {\n var idx = 0;\n var len = xs.length;\n\n while (idx < len && fn(xs[idx])) {\n idx += 1;\n }\n\n return slice(0, idx, xs);\n}));\n\nexport default takeWhile;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtap from \"./internal/_xtap.js\";\n/**\n * Runs the given function with the supplied object, then returns the object.\n *\n * Acts as a transducer if a transformer is given as second parameter.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a -> *) -> a -> a\n * @param {Function} fn The function to call with `x`. The return value of `fn` will be thrown away.\n * @param {*} x\n * @return {*} `x`.\n * @example\n *\n * const sayX = x => console.log('x is ' + x);\n * R.tap(sayX, 100); //=> 100\n * // logs 'x is 100'\n * @symb R.tap(f, a) = a\n */\n\nvar tap =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable([], _xtap, function tap(fn, x) {\n fn(x);\n return x;\n}));\n\nexport default tap;","import _cloneRegExp from \"./internal/_cloneRegExp.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _isRegExp from \"./internal/_isRegExp.js\";\nimport toString from \"./toString.js\";\n/**\n * Determines whether a given string matches a given regular expression.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category String\n * @sig RegExp -> String -> Boolean\n * @param {RegExp} pattern\n * @param {String} str\n * @return {Boolean}\n * @see R.match\n * @example\n *\n * R.test(/^x/, 'xyz'); //=> true\n * R.test(/^y/, 'xyz'); //=> false\n */\n\nvar test =\n/*#__PURE__*/\n_curry2(function test(pattern, str) {\n if (!_isRegExp(pattern)) {\n throw new TypeError('‘test’ requires a value of type RegExp as its first argument; received ' + toString(pattern));\n }\n\n return _cloneRegExp(pattern).test(str);\n});\n\nexport default test;","import curryN from \"./curryN.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a thunk out of a function. A thunk delays a calculation until\n * its result is needed, providing lazy evaluation of arguments.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Function\n * @sig ((a, b, ..., j) -> k) -> (a, b, ..., j) -> (() -> k)\n * @param {Function} fn A function to wrap in a thunk\n * @return {Function} Expects arguments for `fn` and returns a new function\n * that, when called, applies those arguments to `fn`.\n * @see R.partial, R.partialRight\n * @example\n *\n * R.thunkify(R.identity)(42)(); //=> 42\n * R.thunkify((a, b) => a + b)(25, 17)(); //=> 42\n */\n\nvar thunkify =\n/*#__PURE__*/\n_curry1(function thunkify(fn) {\n return curryN(fn.length, function createThunk() {\n var fnArgs = arguments;\n return function invokeThunk() {\n return fn.apply(this, fnArgs);\n };\n });\n});\n\nexport default thunkify;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Calls an input function `n` times, returning an array containing the results\n * of those function calls.\n *\n * `fn` is passed one argument: The current value of `n`, which begins at `0`\n * and is gradually incremented to `n - 1`.\n *\n * @func\n * @memberOf R\n * @since v0.2.3\n * @category List\n * @sig (Number -> a) -> Number -> [a]\n * @param {Function} fn The function to invoke. Passed one argument, the current value of `n`.\n * @param {Number} n A value between `0` and `n - 1`. Increments after each function call.\n * @return {Array} An array containing the return values of all calls to `fn`.\n * @see R.repeat\n * @example\n *\n * R.times(R.identity, 5); //=> [0, 1, 2, 3, 4]\n * @symb R.times(f, 0) = []\n * @symb R.times(f, 1) = [f(0)]\n * @symb R.times(f, 2) = [f(0), f(1)]\n */\n\nvar times =\n/*#__PURE__*/\n_curry2(function times(fn, n) {\n var len = Number(n);\n var idx = 0;\n var list;\n\n if (len < 0 || isNaN(len)) {\n throw new RangeError('n must be a non-negative number');\n }\n\n list = new Array(len);\n\n while (idx < len) {\n list[idx] = fn(idx);\n idx += 1;\n }\n\n return list;\n});\n\nexport default times;","import invoker from \"./invoker.js\";\n/**\n * The lower case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to lower case.\n * @return {String} The lower case version of `str`.\n * @see R.toUpper\n * @example\n *\n * R.toLower('XYZ'); //=> 'xyz'\n */\n\nvar toLower =\n/*#__PURE__*/\ninvoker(0, 'toLowerCase');\nexport default toLower;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Converts an object into an array of key, value arrays. Only the object's\n * own properties are used.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own properties.\n * @see R.fromPairs\n * @example\n *\n * R.toPairs({a: 1, b: 2, c: 3}); //=> [['a', 1], ['b', 2], ['c', 3]]\n */\n\nvar toPairs =\n/*#__PURE__*/\n_curry1(function toPairs(obj) {\n var pairs = [];\n\n for (var prop in obj) {\n if (_has(prop, obj)) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n }\n\n return pairs;\n});\n\nexport default toPairs;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Converts an object into an array of key, value arrays. The object's own\n * properties and prototype properties are used. Note that the order of the\n * output array is not guaranteed to be consistent across different JS\n * platforms.\n *\n * @func\n * @memberOf R\n * @since v0.4.0\n * @category Object\n * @sig {String: *} -> [[String,*]]\n * @param {Object} obj The object to extract from\n * @return {Array} An array of key, value arrays from the object's own\n * and prototype properties.\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.toPairsIn(f); //=> [['x','X'], ['y','Y']]\n */\n\nvar toPairsIn =\n/*#__PURE__*/\n_curry1(function toPairsIn(obj) {\n var pairs = [];\n\n for (var prop in obj) {\n pairs[pairs.length] = [prop, obj[prop]];\n }\n\n return pairs;\n});\n\nexport default toPairsIn;","import _curry1 from \"./internal/_curry1.js\";\nimport _toString from \"./internal/_toString.js\";\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\n\nvar toString =\n/*#__PURE__*/\n_curry1(function toString(val) {\n return _toString(val, []);\n});\n\nexport default toString;","import invoker from \"./invoker.js\";\n/**\n * The upper case version of a string.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to upper case.\n * @return {String} The upper case version of `str`.\n * @see R.toLower\n * @example\n *\n * R.toUpper('abc'); //=> 'ABC'\n */\n\nvar toUpper =\n/*#__PURE__*/\ninvoker(0, 'toUpperCase');\nexport default toUpper;","import _reduce from \"./internal/_reduce.js\";\nimport _xwrap from \"./internal/_xwrap.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Initializes a transducer using supplied iterator function. Returns a single\n * item by iterating through the list, successively calling the transformed\n * iterator function and passing it an accumulator value and the current value\n * from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It will be\n * wrapped as a transformer to initialize the transducer. A transformer can be\n * passed directly in place of an iterator function. In both cases, iteration\n * may be stopped early with the [`R.reduced`](#reduced) function.\n *\n * A transducer is a function that accepts a transformer and returns a\n * transformer and can be composed directly.\n *\n * A transformer is an an object that provides a 2-arity reducing iterator\n * function, step, 0-arity initial value function, init, and 1-arity result\n * extraction function, result. The step function is used as the iterator\n * function in reduce. The result function is used to convert the final\n * accumulator into the return type and in most cases is\n * [`R.identity`](#identity). The init function can be used to provide an\n * initial accumulator, but is ignored by transduce.\n *\n * The iteration is performed with [`R.reduce`](#reduce) after initializing the transducer.\n *\n * @func\n * @memberOf R\n * @since v0.12.0\n * @category List\n * @sig (c -> c) -> ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} xf The transducer function. Receives a transformer and returns a transformer.\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array. Wrapped as transformer, if necessary, and used to\n * initialize the transducer\n * @param {*} acc The initial accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduce, R.reduced, R.into\n * @example\n *\n * const numbers = [1, 2, 3, 4];\n * const transducer = R.compose(R.map(R.add(1)), R.take(2));\n * R.transduce(transducer, R.flip(R.append), [], numbers); //=> [2, 3]\n *\n * const isOdd = (x) => x % 2 === 1;\n * const firstOddTransducer = R.compose(R.filter(isOdd), R.take(1));\n * R.transduce(firstOddTransducer, R.flip(R.append), [], R.range(0, 100)); //=> [1]\n */\n\nvar transduce =\n/*#__PURE__*/\ncurryN(4, function transduce(xf, fn, acc, list) {\n return _reduce(xf(typeof fn === 'function' ? _xwrap(fn) : fn), acc, list);\n});\nexport default transduce;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Transposes the rows and columns of a 2D list.\n * When passed a list of `n` lists of length `x`,\n * returns a list of `x` lists of length `n`.\n *\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [[a]] -> [[a]]\n * @param {Array} list A 2D list\n * @return {Array} A 2D list\n * @example\n *\n * R.transpose([[1, 'a'], [2, 'b'], [3, 'c']]) //=> [[1, 2, 3], ['a', 'b', 'c']]\n * R.transpose([[1, 2, 3], ['a', 'b', 'c']]) //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n *\n * // If some of the rows are shorter than the following rows, their elements are skipped:\n * R.transpose([[10, 11], [20], [], [30, 31, 32]]) //=> [[10, 20, 30], [11, 31], [32]]\n * @symb R.transpose([[a], [b], [c]]) = [a, b, c]\n * @symb R.transpose([[a, b], [c, d]]) = [[a, c], [b, d]]\n * @symb R.transpose([[a, b], [c]]) = [[a, c], [b]]\n */\n\nvar transpose =\n/*#__PURE__*/\n_curry1(function transpose(outerlist) {\n var i = 0;\n var result = [];\n\n while (i < outerlist.length) {\n var innerlist = outerlist[i];\n var j = 0;\n\n while (j < innerlist.length) {\n if (typeof result[j] === 'undefined') {\n result[j] = [];\n }\n\n result[j].push(innerlist[j]);\n j += 1;\n }\n\n i += 1;\n }\n\n return result;\n});\n\nexport default transpose;","import _curry3 from \"./internal/_curry3.js\";\nimport map from \"./map.js\";\nimport sequence from \"./sequence.js\";\n/**\n * Maps an [Applicative](https://github.com/fantasyland/fantasy-land#applicative)-returning\n * function over a [Traversable](https://github.com/fantasyland/fantasy-land#traversable),\n * then uses [`sequence`](#sequence) to transform the resulting Traversable of Applicative\n * into an Applicative of Traversable.\n *\n * Dispatches to the `traverse` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig (Applicative f, Traversable t) => (a -> f a) -> (a -> f b) -> t a -> f (t b)\n * @param {Function} of\n * @param {Function} f\n * @param {*} traversable\n * @return {*}\n * @see R.sequence\n * @example\n *\n * // Returns `Maybe.Nothing` if the given divisor is `0`\n * const safeDiv = n => d => d === 0 ? Maybe.Nothing() : Maybe.Just(n / d)\n *\n * R.traverse(Maybe.of, safeDiv(10), [2, 4, 5]); //=> Maybe.Just([5, 2.5, 2])\n * R.traverse(Maybe.of, safeDiv(10), [2, 0, 5]); //=> Maybe.Nothing\n */\n\nvar traverse =\n/*#__PURE__*/\n_curry3(function traverse(of, f, traversable) {\n return typeof traversable['fantasy-land/traverse'] === 'function' ? traversable['fantasy-land/traverse'](f, of) : sequence(of, map(f, traversable));\n});\n\nexport default traverse;","import _curry1 from \"./internal/_curry1.js\";\nvar ws = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' + '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028' + '\\u2029\\uFEFF';\nvar zeroWidth = '\\u200b';\nvar hasProtoTrim = typeof String.prototype.trim === 'function';\n/**\n * Removes (strips) whitespace from both ends of the string.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category String\n * @sig String -> String\n * @param {String} str The string to trim.\n * @return {String} Trimmed version of `str`.\n * @example\n *\n * R.trim(' xyz '); //=> 'xyz'\n * R.map(R.trim, R.split(',', 'x, y, z')); //=> ['x', 'y', 'z']\n */\n\nvar trim = !hasProtoTrim ||\n/*#__PURE__*/\nws.trim() || !\n/*#__PURE__*/\nzeroWidth.trim() ?\n/*#__PURE__*/\n_curry1(function trim(str) {\n var beginRx = new RegExp('^[' + ws + '][' + ws + ']*');\n var endRx = new RegExp('[' + ws + '][' + ws + ']*$');\n return str.replace(beginRx, '').replace(endRx, '');\n}) :\n/*#__PURE__*/\n_curry1(function trim(str) {\n return str.trim();\n});\nexport default trim;","import _arity from \"./internal/_arity.js\";\nimport _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * `tryCatch` takes two functions, a `tryer` and a `catcher`. The returned\n * function evaluates the `tryer`; if it does not throw, it simply returns the\n * result. If the `tryer` *does* throw, the returned function evaluates the\n * `catcher` function and returns its result. Note that for effective\n * composition with this function, both the `tryer` and `catcher` functions\n * must return the same type of results.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Function\n * @sig (...x -> a) -> ((e, ...x) -> a) -> (...x -> a)\n * @param {Function} tryer The function that may throw.\n * @param {Function} catcher The function that will be evaluated if `tryer` throws.\n * @return {Function} A new function that will catch exceptions and send then to the catcher.\n * @example\n *\n * R.tryCatch(R.prop('x'), R.F)({x: true}); //=> true\n * R.tryCatch(() => { throw 'foo'}, R.always('catched'))('bar') // => 'catched'\n * R.tryCatch(R.times(R.identity), R.always([]))('s') // => []\n * R.tryCatch(() => { throw 'this is not a valid value'}, (err, value)=>({error : err, value }))('bar') // => {'error': 'this is not a valid value', 'value': 'bar'}\n */\n\nvar tryCatch =\n/*#__PURE__*/\n_curry2(function _tryCatch(tryer, catcher) {\n return _arity(tryer.length, function () {\n try {\n return tryer.apply(this, arguments);\n } catch (e) {\n return catcher.apply(this, _concat([e], arguments));\n }\n });\n});\n\nexport default tryCatch;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Takes a function `fn`, which takes a single array argument, and returns a\n * function which:\n *\n * - takes any number of positional arguments;\n * - passes these arguments to `fn` as an array; and\n * - returns the result.\n *\n * In other words, `R.unapply` derives a variadic function from a function which\n * takes an array. `R.unapply` is the inverse of [`R.apply`](#apply).\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Function\n * @sig ([*...] -> a) -> (*... -> a)\n * @param {Function} fn\n * @return {Function}\n * @see R.apply\n * @example\n *\n * R.unapply(JSON.stringify)(1, 2, 3); //=> '[1,2,3]'\n * @symb R.unapply(f)(a, b) = f([a, b])\n */\n\nvar unapply =\n/*#__PURE__*/\n_curry1(function unapply(fn) {\n return function () {\n return fn(Array.prototype.slice.call(arguments, 0));\n };\n});\n\nexport default unapply;","import _curry1 from \"./internal/_curry1.js\";\nimport nAry from \"./nAry.js\";\n/**\n * Wraps a function of any arity (including nullary) in a function that accepts\n * exactly 1 parameter. Any extraneous parameters will not be passed to the\n * supplied function.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Function\n * @sig (* -> b) -> (a -> b)\n * @param {Function} fn The function to wrap.\n * @return {Function} A new function wrapping `fn`. The new function is guaranteed to be of\n * arity 1.\n * @see R.binary, R.nAry\n * @example\n *\n * const takesTwoArgs = function(a, b) {\n * return [a, b];\n * };\n * takesTwoArgs.length; //=> 2\n * takesTwoArgs(1, 2); //=> [1, 2]\n *\n * const takesOneArg = R.unary(takesTwoArgs);\n * takesOneArg.length; //=> 1\n * // Only 1 argument is passed to the wrapped function\n * takesOneArg(1, 2); //=> [1, undefined]\n * @symb R.unary(f)(a, b, c) = f(a)\n */\n\nvar unary =\n/*#__PURE__*/\n_curry1(function unary(fn) {\n return nAry(1, fn);\n});\n\nexport default unary;","import _curry2 from \"./internal/_curry2.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a function of arity `n` from a (manually) curried function.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Function\n * @sig Number -> (a -> b) -> (a -> c)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to uncurry.\n * @return {Function} A new function.\n * @see R.curry\n * @example\n *\n * const addFour = a => b => c => d => a + b + c + d;\n *\n * const uncurriedAddFour = R.uncurryN(4, addFour);\n * uncurriedAddFour(1, 2, 3, 4); //=> 10\n */\n\nvar uncurryN =\n/*#__PURE__*/\n_curry2(function uncurryN(depth, fn) {\n return curryN(depth, function () {\n var currentDepth = 1;\n var value = fn;\n var idx = 0;\n var endIdx;\n\n while (currentDepth <= depth && typeof value === 'function') {\n endIdx = currentDepth === depth ? arguments.length : idx + value.length;\n value = value.apply(this, Array.prototype.slice.call(arguments, idx, endIdx));\n currentDepth += 1;\n idx = endIdx;\n }\n\n return value;\n });\n});\n\nexport default uncurryN;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Builds a list from a seed value. Accepts an iterator function, which returns\n * either false to stop iteration or an array of length 2 containing the value\n * to add to the resulting list and the seed to be used in the next call to the\n * iterator function.\n *\n * The iterator function receives one argument: *(seed)*.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category List\n * @sig (a -> [b]) -> * -> [b]\n * @param {Function} fn The iterator function. receives one argument, `seed`, and returns\n * either false to quit iteration or an array of length two to proceed. The element\n * at index 0 of this array will be added to the resulting array, and the element\n * at index 1 will be passed to the next call to `fn`.\n * @param {*} seed The seed value.\n * @return {Array} The final list.\n * @example\n *\n * const f = n => n > 50 ? false : [-n, n + 10];\n * R.unfold(f, 10); //=> [-10, -20, -30, -40, -50]\n * @symb R.unfold(f, x) = [f(x)[0], f(f(x)[1])[0], f(f(f(x)[1])[1])[0], ...]\n */\n\nvar unfold =\n/*#__PURE__*/\n_curry2(function unfold(fn, seed) {\n var pair = fn(seed);\n var result = [];\n\n while (pair && pair.length) {\n result[result.length] = pair[0];\n pair = fn(pair[1]);\n }\n\n return result;\n});\n\nexport default unfold;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport compose from \"./compose.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @example\n *\n * R.union([1, 2, 3], [2, 3, 4]); //=> [1, 2, 3, 4]\n */\n\nvar union =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\ncompose(uniq, _concat));\n\nexport default union;","import _concat from \"./internal/_concat.js\";\nimport _curry3 from \"./internal/_curry3.js\";\nimport uniqWith from \"./uniqWith.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of the elements\n * of each list. Duplication is determined according to the value returned by\n * applying the supplied predicate to two list elements.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig ((a, a) -> Boolean) -> [*] -> [*] -> [*]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The first and second lists concatenated, with\n * duplicates removed.\n * @see R.union\n * @example\n *\n * const l1 = [{a: 1}, {a: 2}];\n * const l2 = [{a: 1}, {a: 4}];\n * R.unionWith(R.eqBy(R.prop('a')), l1, l2); //=> [{a: 1}, {a: 2}, {a: 4}]\n */\n\nvar unionWith =\n/*#__PURE__*/\n_curry3(function unionWith(pred, list1, list2) {\n return uniqWith(pred, _concat(list1, list2));\n});\n\nexport default unionWith;","import identity from \"./identity.js\";\nimport uniqBy from \"./uniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\n\nvar uniq =\n/*#__PURE__*/\nuniqBy(identity);\nexport default uniq;","import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy =\n/*#__PURE__*/\n_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n\n if (set.add(appliedItem)) {\n result.push(item);\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default uniqBy;","import _includesWith from \"./internal/_includesWith.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied predicate to\n * two list elements. Prefers the first item if two items compare equal based\n * on the predicate.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category List\n * @sig ((a, a) -> Boolean) -> [a] -> [a]\n * @param {Function} pred A predicate used to test whether two items are equal.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * const strEq = R.eqBy(String);\n * R.uniqWith(strEq)([1, '1', 2, 1]); //=> [1, 2]\n * R.uniqWith(strEq)([{}, {}]); //=> [{}]\n * R.uniqWith(strEq)([1, '1', 1]); //=> [1]\n * R.uniqWith(strEq)(['1', 1, 1]); //=> ['1']\n */\n\nvar uniqWith =\n/*#__PURE__*/\n_curry2(function uniqWith(pred, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n var item;\n\n while (idx < len) {\n item = list[idx];\n\n if (!_includesWith(pred, item, result)) {\n result[result.length] = item;\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default uniqWith;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is not satisfied, the function will return the result of\n * calling the `whenFalseFn` function with the same argument. If the predicate\n * is satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenFalseFn A function to invoke when the `pred` evaluates\n * to a falsy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenFalseFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenFalseFn`.\n * @see R.ifElse, R.when, R.cond\n * @example\n *\n * let safeInc = R.unless(R.isNil, R.inc);\n * safeInc(null); //=> null\n * safeInc(1); //=> 2\n */\n\nvar unless =\n/*#__PURE__*/\n_curry3(function unless(pred, whenFalseFn, x) {\n return pred(x) ? x : whenFalseFn(x);\n});\n\nexport default unless;","import _identity from \"./internal/_identity.js\";\nimport chain from \"./chain.js\";\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\n\nvar unnest =\n/*#__PURE__*/\nchain(_identity);\nexport default unnest;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Takes a predicate, a transformation function, and an initial value,\n * and returns a value of the same type as the initial value.\n * It does so by applying the transformation until the predicate is satisfied,\n * at which point it returns the satisfactory value.\n *\n * @func\n * @memberOf R\n * @since v0.20.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} fn The iterator function\n * @param {*} init Initial value\n * @return {*} Final value that satisfies predicate\n * @example\n *\n * R.until(R.gt(R.__, 100), R.multiply(2))(1) // => 128\n */\n\nvar until =\n/*#__PURE__*/\n_curry3(function until(pred, fn, init) {\n var val = init;\n\n while (!pred(val)) {\n val = fn(val);\n }\n\n return val;\n});\n\nexport default until;","import _curry3 from \"./internal/_curry3.js\";\nimport adjust from \"./adjust.js\";\nimport always from \"./always.js\";\n/**\n * Returns a new copy of the array with the element at the provided index\n * replaced with the given value.\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category List\n * @sig Number -> a -> [a] -> [a]\n * @param {Number} idx The index to update.\n * @param {*} x The value to exist at the given index of the returned array.\n * @param {Array|Arguments} list The source array-like object to be updated.\n * @return {Array} A copy of `list` with the value at index `idx` replaced with `x`.\n * @see R.adjust\n * @example\n *\n * R.update(1, '_', ['a', 'b', 'c']); //=> ['a', '_', 'c']\n * R.update(-1, '_', ['a', 'b', 'c']); //=> ['a', 'b', '_']\n * @symb R.update(-1, a, [b, c]) = [b, a]\n * @symb R.update(0, a, [b, c]) = [a, c]\n * @symb R.update(1, a, [b, c]) = [b, a]\n */\n\nvar update =\n/*#__PURE__*/\n_curry3(function update(idx, x, list) {\n return adjust(idx, always(x), list);\n});\n\nexport default update;","import _curry2 from \"./internal/_curry2.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Accepts a function `fn` and a list of transformer functions and returns a\n * new curried function. When the new function is invoked, it calls the\n * function `fn` with parameters consisting of the result of calling each\n * supplied handler on successive arguments to the new function.\n *\n * If more arguments are passed to the returned function than transformer\n * functions, those arguments are passed directly to `fn` as additional\n * parameters. If you expect additional arguments that don't need to be\n * transformed, although you can ignore them, it's best to pass an identity\n * function so that the new function reports the correct arity.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [(a -> x1), (b -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} fn The function to wrap.\n * @param {Array} transformers A list of transformer functions\n * @return {Function} The wrapped function.\n * @see R.converge\n * @example\n *\n * R.useWith(Math.pow, [R.identity, R.identity])(3, 4); //=> 81\n * R.useWith(Math.pow, [R.identity, R.identity])(3)(4); //=> 81\n * R.useWith(Math.pow, [R.dec, R.inc])(3, 4); //=> 32\n * R.useWith(Math.pow, [R.dec, R.inc])(3)(4); //=> 32\n * @symb R.useWith(f, [g, h])(a, b) = f(g(a), h(b))\n */\n\nvar useWith =\n/*#__PURE__*/\n_curry2(function useWith(fn, transformers) {\n return curryN(transformers.length, function () {\n var args = [];\n var idx = 0;\n\n while (idx < transformers.length) {\n args.push(transformers[idx].call(this, arguments[idx]));\n idx += 1;\n }\n\n return fn.apply(this, args.concat(Array.prototype.slice.call(arguments, transformers.length)));\n });\n});\n\nexport default useWith;","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nexport default values;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a list of all the properties, including prototype properties, of the\n * supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own and prototype properties.\n * @see R.values, R.keysIn\n * @example\n *\n * const F = function() { this.x = 'X'; };\n * F.prototype.y = 'Y';\n * const f = new F();\n * R.valuesIn(f); //=> ['X', 'Y']\n */\n\nvar valuesIn =\n/*#__PURE__*/\n_curry1(function valuesIn(obj) {\n var prop;\n var vs = [];\n\n for (prop in obj) {\n vs[vs.length] = obj[prop];\n }\n\n return vs;\n});\n\nexport default valuesIn;","import _curry2 from \"./internal/_curry2.js\"; // `Const` is a functor that effectively ignores the function given to `map`.\n\nvar Const = function (x) {\n return {\n value: x,\n 'fantasy-land/map': function () {\n return this;\n }\n };\n};\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\n\n\nvar view =\n/*#__PURE__*/\n_curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n});\n\nexport default view;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Tests the final argument by passing it to the given predicate function. If\n * the predicate is satisfied, the function will return the result of calling\n * the `whenTrueFn` function with the same argument. If the predicate is not\n * satisfied, the argument is returned as is.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Logic\n * @sig (a -> Boolean) -> (a -> a) -> a -> a\n * @param {Function} pred A predicate function\n * @param {Function} whenTrueFn A function to invoke when the `condition`\n * evaluates to a truthy value.\n * @param {*} x An object to test with the `pred` function and\n * pass to `whenTrueFn` if necessary.\n * @return {*} Either `x` or the result of applying `x` to `whenTrueFn`.\n * @see R.ifElse, R.unless, R.cond\n * @example\n *\n * // truncate :: String -> String\n * const truncate = R.when(\n * R.propSatisfies(R.gt(R.__, 10), 'length'),\n * R.pipe(R.take(10), R.append('…'), R.join(''))\n * );\n * truncate('12345'); //=> '12345'\n * truncate('0123456789ABC'); //=> '0123456789…'\n */\n\nvar when =\n/*#__PURE__*/\n_curry3(function when(pred, whenTrueFn, x) {\n return pred(x) ? whenTrueFn(x) : x;\n});\n\nexport default when;","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec. Each of the spec's own properties must be a predicate function.\n * Each predicate is applied to the value of the corresponding property of the\n * test object. `where` returns true if all the predicates return true, false\n * otherwise.\n *\n * `where` is well suited to declaratively expressing constraints for other\n * functions such as [`filter`](#filter) and [`find`](#find).\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category Object\n * @sig {String: (* -> Boolean)} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propSatisfies, R.whereEq\n * @example\n *\n * // pred :: Object -> Boolean\n * const pred = R.where({\n * a: R.equals('foo'),\n * b: R.complement(R.equals('bar')),\n * x: R.gt(R.__, 10),\n * y: R.lt(R.__, 20)\n * });\n *\n * pred({a: 'foo', b: 'xxx', x: 11, y: 19}); //=> true\n * pred({a: 'xxx', b: 'xxx', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'bar', x: 11, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 10, y: 19}); //=> false\n * pred({a: 'foo', b: 'xxx', x: 11, y: 20}); //=> false\n */\n\nvar where =\n/*#__PURE__*/\n_curry2(function where(spec, testObj) {\n for (var prop in spec) {\n if (_has(prop, spec) && !spec[prop](testObj[prop])) {\n return false;\n }\n }\n\n return true;\n});\n\nexport default where;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport map from \"./map.js\";\nimport where from \"./where.js\";\n/**\n * Takes a spec object and a test object; returns true if the test satisfies\n * the spec, false otherwise. An object satisfies the spec if, for each of the\n * spec's own properties, accessing that property of the object gives the same\n * value (in [`R.equals`](#equals) terms) as accessing that property of the\n * spec.\n *\n * `whereEq` is a specialization of [`where`](#where).\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category Object\n * @sig {String: *} -> {String: *} -> Boolean\n * @param {Object} spec\n * @param {Object} testObj\n * @return {Boolean}\n * @see R.propEq, R.where\n * @example\n *\n * // pred :: Object -> Boolean\n * const pred = R.whereEq({a: 1, b: 2});\n *\n * pred({a: 1}); //=> false\n * pred({a: 1, b: 2}); //=> true\n * pred({a: 1, b: 2, c: 3}); //=> true\n * pred({a: 1, b: 1}); //=> false\n */\n\nvar whereEq =\n/*#__PURE__*/\n_curry2(function whereEq(spec, testObj) {\n return where(map(equals, spec), testObj);\n});\n\nexport default whereEq;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport flip from \"./flip.js\";\nimport reject from \"./reject.js\";\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\n\nvar without =\n/*#__PURE__*/\n_curry2(function (xs, list) {\n return reject(flip(_includes)(xs), list);\n});\n\nexport default without;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Exclusive disjunction logical operation.\n * Returns `true` if one of the arguments is truthy and the other is falsy.\n * Otherwise, it returns `false`.\n *\n * @func\n * @memberOf R\n * @since v0.27.0\n * @category Logic\n * @sig a -> b -> Boolean\n * @param {Any} a\n * @param {Any} b\n * @return {Boolean} true if one of the arguments is truthy and the other is falsy\n * @see R.or, R.and\n * @example\n *\n * R.xor(true, true); //=> false\n * R.xor(true, false); //=> true\n * R.xor(false, true); //=> true\n * R.xor(false, false); //=> false\n */\n\nvar xor =\n/*#__PURE__*/\n_curry2(function xor(a, b) {\n return Boolean(!a ^ !b);\n});\n\nexport default xor;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new list out of the two supplied by creating each possible pair\n * from the lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} as The first list.\n * @param {Array} bs The second list.\n * @return {Array} The list made by combining each possible pair from\n * `as` and `bs` into pairs (`[a, b]`).\n * @example\n *\n * R.xprod([1, 2], ['a', 'b']); //=> [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n * @symb R.xprod([a, b], [c, d]) = [[a, c], [a, d], [b, c], [b, d]]\n */\n\nvar xprod =\n/*#__PURE__*/\n_curry2(function xprod(a, b) {\n // = xprodWith(prepend); (takes about 3 times as long...)\n var idx = 0;\n var ilen = a.length;\n var j;\n var jlen = b.length;\n var result = [];\n\n while (idx < ilen) {\n j = 0;\n\n while (j < jlen) {\n result[result.length] = [a[idx], b[j]];\n j += 1;\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default xprod;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\n\nvar zip =\n/*#__PURE__*/\n_curry2(function zip(a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = [a[idx], b[idx]];\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zip;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\n\nvar zipObj =\n/*#__PURE__*/\n_curry2(function zipObj(keys, values) {\n var idx = 0;\n var len = Math.min(keys.length, values.length);\n var out = {};\n\n while (idx < len) {\n out[keys[idx]] = values[idx];\n idx += 1;\n }\n\n return out;\n});\n\nexport default zipObj;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Creates a new list out of the two supplied by applying the function to each\n * equally-positioned pair in the lists. The returned list is truncated to the\n * length of the shorter of the two input lists.\n *\n * @function\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> c) -> [a] -> [b] -> [c]\n * @param {Function} fn The function used to combine the two elements into one value.\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by combining same-indexed elements of `list1` and `list2`\n * using `fn`.\n * @example\n *\n * const f = (x, y) => {\n * // ...\n * };\n * R.zipWith(f, [1, 2, 3], ['a', 'b', 'c']);\n * //=> [f(1, 'a'), f(2, 'b'), f(3, 'c')]\n * @symb R.zipWith(fn, [a, b, c], [d, e, f]) = [fn(a, d), fn(b, e), fn(c, f)]\n */\n\nvar zipWith =\n/*#__PURE__*/\n_curry3(function zipWith(fn, a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = fn(a[idx], b[idx]);\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zipWith;","/** @license React v16.11.0\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE);\n}\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\nvar lowPriorityWarningWithoutStack = function () {};\n\n{\n var printWarning = function (format) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarningWithoutStack = function (condition, format) {\n if (format === undefined) {\n throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n };\n}\n\nvar lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;\n\nfunction typeOf(object) {\n if (typeof object === 'object' && object !== null) {\n var $$typeof = object.$$typeof;\n\n switch ($$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = object.type;\n\n switch (type) {\n case REACT_ASYNC_MODE_TYPE:\n case REACT_CONCURRENT_MODE_TYPE:\n case REACT_FRAGMENT_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_SUSPENSE_TYPE:\n return type;\n\n default:\n var $$typeofType = type && type.$$typeof;\n\n switch ($$typeofType) {\n case REACT_CONTEXT_TYPE:\n case REACT_FORWARD_REF_TYPE:\n case REACT_PROVIDER_TYPE:\n return $$typeofType;\n\n default:\n return $$typeof;\n }\n\n }\n\n case REACT_LAZY_TYPE:\n case REACT_MEMO_TYPE:\n case REACT_PORTAL_TYPE:\n return $$typeof;\n }\n }\n\n return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n {\n if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n hasWarnedAboutDeprecatedIsAsyncMode = true;\n lowPriorityWarningWithoutStack$1(false, 'The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n }\n }\n\n return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.typeOf = typeOf;\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isValidElementType = isValidElementType;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import React from 'react';\nexport var ReactReduxContext =\n/*#__PURE__*/\nReact.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, [\"forwardedRef\"]);\n\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer(React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a <Provider>, \") + \"or pass a custom React context provider to <Provider> and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return React.createElement(Connect, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default\n/*#__PURE__*/\ncreateConnect();","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, {}, stateProps, {}, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import warning from '../utils/warning';\n\nfunction verify(selector, methodName, displayName) {\n if (!selector) {\n throw new Error(\"Unexpected value for \" + methodName + \" in \" + displayName + \".\");\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) {\n warning(\"The selector for \" + methodName + \" of \" + displayName + \" did not specify a value for dependsOnOwnProps.\");\n }\n }\n}\n\nexport default function verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, displayName) {\n verify(mapStateToProps, 'mapStateToProps', displayName);\n verify(mapDispatchToProps, 'mapDispatchToProps', displayName);\n verify(mergeProps, 'mergeProps', displayName);\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n * <div>\r\n * <span>{value}</span>\r\n * <button onClick={increaseCounter}>Increase counter</button>\r\n * </div>\r\n * )\r\n * }\r\n */\n\nexport var useDispatch =\n/*#__PURE__*/\ncreateDispatchHook();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a <Provider>');\n }\n\n return contextValue;\n}","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production' && !selector) {\n throw new Error(\"You must pass a selector to useSelectors\");\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector =\n/*#__PURE__*/\ncreateSelectorHook();","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return <div>{store.getState()}</div>\r\n * }\r\n */\n\nexport var useStore =\n/*#__PURE__*/\ncreateStoreHook();","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","/**\r\n * @param {any} obj The object to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\nexport default function isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = Object.getPrototypeOf(obj);\n if (proto === null) return true;\n var baseProto = proto;\n\n while (Object.getPrototypeOf(baseProto) !== null) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n return proto === baseProto;\n}","/* eslint-disable import/no-unresolved */\nexport { unstable_batchedUpdates } from 'react-dom';","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import isPlainObject from './isPlainObject';\nimport warning from './warning';\nexport default function verifyPlainObject(value, displayName, methodName) {\n if (!isPlainObject(value)) {\n warning(methodName + \"() in \" + displayName + \" must return a plain object. Instead received \" + value + \".\");\n }\n}","/**\r\n * Prints a warning in the console if it exists.\r\n *\r\n * @param {String} message The warning message.\r\n * @returns {void}\r\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}","export default (function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var initialState = typeof args[args.length - 1] !== 'function' && args.pop();\n var reducers = args;\n\n if (typeof initialState === 'undefined') {\n throw new TypeError('The initial state may not be undefined. If you do not want to set a value for this reducer, you can use null instead of undefined.');\n }\n\n return function (prevState, value) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n var prevStateIsUndefined = typeof prevState === 'undefined';\n var valueIsUndefined = typeof value === 'undefined';\n\n if (prevStateIsUndefined && valueIsUndefined && initialState) {\n return initialState;\n }\n\n return reducers.reduce(function (newState, reducer) {\n return reducer.apply(undefined, [newState, value].concat(args));\n }, prevStateIsUndefined && !valueIsUndefined && initialState ? initialState : prevState);\n };\n});","import invariant from 'invariant';\nimport isFunction from './utils/isFunction';\nimport isSymbol from './utils/isSymbol';\nimport isEmpty from './utils/isEmpty';\nimport toString from './utils/toString';\nimport isString from './utils/isString';\nimport { ACTION_TYPE_DELIMITER } from './constants';\n\nfunction isValidActionType(type) {\n return isString(type) || isFunction(type) || isSymbol(type);\n}\n\nfunction isValidActionTypes(types) {\n if (isEmpty(types)) {\n return false;\n }\n\n return types.every(isValidActionType);\n}\n\nexport default function combineActions() {\n for (var _len = arguments.length, actionsTypes = new Array(_len), _key = 0; _key < _len; _key++) {\n actionsTypes[_key] = arguments[_key];\n }\n\n invariant(isValidActionTypes(actionsTypes), 'Expected action types to be strings, symbols, or action creators');\n var combinedActionType = actionsTypes.map(toString).join(ACTION_TYPE_DELIMITER);\n return {\n toString: function toString() {\n return combinedActionType;\n }\n };\n}","export var DEFAULT_NAMESPACE = '/';\nexport var ACTION_TYPE_DELIMITER = '||';","import invariant from 'invariant';\nimport isFunction from './utils/isFunction';\nimport identity from './utils/identity';\nimport isNull from './utils/isNull';\nexport default function createAction(type, payloadCreator, metaCreator) {\n if (payloadCreator === void 0) {\n payloadCreator = identity;\n }\n\n invariant(isFunction(payloadCreator) || isNull(payloadCreator), 'Expected payloadCreator to be a function, undefined or null');\n var finalPayloadCreator = isNull(payloadCreator) || payloadCreator === identity ? identity : function (head) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return head instanceof Error ? head : payloadCreator.apply(void 0, [head].concat(args));\n };\n var hasMeta = isFunction(metaCreator);\n var typeString = type.toString();\n\n var actionCreator = function actionCreator() {\n var payload = finalPayloadCreator.apply(void 0, arguments);\n var action = {\n type: type\n };\n\n if (payload instanceof Error) {\n action.error = true;\n }\n\n if (payload !== undefined) {\n action.payload = payload;\n }\n\n if (hasMeta) {\n action.meta = metaCreator.apply(void 0, arguments);\n }\n\n return action;\n };\n\n actionCreator.toString = function () {\n return typeString;\n };\n\n return actionCreator;\n}","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport invariant from 'invariant';\nimport isPlainObject from './utils/isPlainObject';\nimport isFunction from './utils/isFunction';\nimport identity from './utils/identity';\nimport isArray from './utils/isArray';\nimport isString from './utils/isString';\nimport isNil from './utils/isNil';\nimport getLastElement from './utils/getLastElement';\nimport camelCase from './utils/camelCase';\nimport arrayToObject from './utils/arrayToObject';\nimport flattenActionMap from './utils/flattenActionMap';\nimport unflattenActionCreators from './utils/unflattenActionCreators';\nimport createAction from './createAction';\nimport { DEFAULT_NAMESPACE } from './constants';\nexport default function createActions(actionMap) {\n for (var _len = arguments.length, identityActions = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n identityActions[_key - 1] = arguments[_key];\n }\n\n var options = isPlainObject(getLastElement(identityActions)) ? identityActions.pop() : {};\n invariant(identityActions.every(isString) && (isString(actionMap) || isPlainObject(actionMap)), 'Expected optional object followed by string action types');\n\n if (isString(actionMap)) {\n return actionCreatorsFromIdentityActions([actionMap].concat(identityActions), options);\n }\n\n return _objectSpread({}, actionCreatorsFromActionMap(actionMap, options), actionCreatorsFromIdentityActions(identityActions, options));\n}\n\nfunction actionCreatorsFromActionMap(actionMap, options) {\n var flatActionMap = flattenActionMap(actionMap, options);\n var flatActionCreators = actionMapToActionCreators(flatActionMap);\n return unflattenActionCreators(flatActionCreators, options);\n}\n\nfunction actionMapToActionCreators(actionMap, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n prefix = _ref.prefix,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? DEFAULT_NAMESPACE : _ref$namespace;\n\n function isValidActionMapValue(actionMapValue) {\n if (isFunction(actionMapValue) || isNil(actionMapValue)) {\n return true;\n }\n\n if (isArray(actionMapValue)) {\n var _actionMapValue$ = actionMapValue[0],\n payload = _actionMapValue$ === void 0 ? identity : _actionMapValue$,\n meta = actionMapValue[1];\n return isFunction(payload) && isFunction(meta);\n }\n\n return false;\n }\n\n return arrayToObject(Object.keys(actionMap), function (partialActionCreators, type) {\n var _objectSpread2;\n\n var actionMapValue = actionMap[type];\n invariant(isValidActionMapValue(actionMapValue), 'Expected function, undefined, null, or array with payload and meta ' + (\"functions for \" + type));\n var prefixedType = prefix ? \"\" + prefix + namespace + type : type;\n var actionCreator = isArray(actionMapValue) ? createAction.apply(void 0, [prefixedType].concat(actionMapValue)) : createAction(prefixedType, actionMapValue);\n return _objectSpread({}, partialActionCreators, (_objectSpread2 = {}, _objectSpread2[type] = actionCreator, _objectSpread2));\n });\n}\n\nfunction actionCreatorsFromIdentityActions(identityActions, options) {\n var actionMap = arrayToObject(identityActions, function (partialActionMap, type) {\n var _objectSpread3;\n\n return _objectSpread({}, partialActionMap, (_objectSpread3 = {}, _objectSpread3[type] = identity, _objectSpread3));\n });\n var actionCreators = actionMapToActionCreators(actionMap, options);\n return arrayToObject(Object.keys(actionCreators), function (partialActionCreators, type) {\n var _objectSpread4;\n\n return _objectSpread({}, partialActionCreators, (_objectSpread4 = {}, _objectSpread4[camelCase(type)] = actionCreators[type], _objectSpread4));\n });\n}","import curry from 'just-curry-it';\nimport createAction from './createAction';\nexport default (function (type, payloadCreator) {\n return curry(createAction(type, payloadCreator), payloadCreator.length);\n});","import invariant from 'invariant';\nimport isFunction from './utils/isFunction';\nimport isPlainObject from './utils/isPlainObject';\nimport identity from './utils/identity';\nimport isNil from './utils/isNil';\nimport isUndefined from './utils/isUndefined';\nimport toString from './utils/toString';\nimport { ACTION_TYPE_DELIMITER } from './constants';\nexport default function handleAction(type, reducer, defaultState) {\n if (reducer === void 0) {\n reducer = identity;\n }\n\n var types = toString(type).split(ACTION_TYPE_DELIMITER);\n invariant(!isUndefined(defaultState), \"defaultState for reducer handling \" + types.join(', ') + \" should be defined\");\n invariant(isFunction(reducer) || isPlainObject(reducer), 'Expected reducer to be a function or object with next and throw reducers');\n\n var _ref = isFunction(reducer) ? [reducer, reducer] : [reducer.next, reducer.throw].map(function (aReducer) {\n return isNil(aReducer) ? identity : aReducer;\n }),\n nextReducer = _ref[0],\n throwReducer = _ref[1];\n\n return function (state, action) {\n if (state === void 0) {\n state = defaultState;\n }\n\n var actionType = action.type;\n\n if (!actionType || types.indexOf(toString(actionType)) === -1) {\n return state;\n }\n\n return (action.error === true ? throwReducer : nextReducer)(state, action);\n };\n}","import reduceReducers from 'reduce-reducers';\nimport invariant from 'invariant';\nimport isPlainObject from './utils/isPlainObject';\nimport isMap from './utils/isMap';\nimport ownKeys from './utils/ownKeys';\nimport flattenReducerMap from './utils/flattenReducerMap';\nimport handleAction from './handleAction';\nimport get from './utils/get';\nexport default function handleActions(handlers, defaultState, options) {\n if (options === void 0) {\n options = {};\n }\n\n invariant(isPlainObject(handlers) || isMap(handlers), 'Expected handlers to be a plain object.');\n var flattenedReducerMap = flattenReducerMap(handlers, options);\n var reducers = ownKeys(flattenedReducerMap).map(function (type) {\n return handleAction(type, get(type, flattenedReducerMap), defaultState);\n });\n var reducer = reduceReducers.apply(void 0, reducers.concat([defaultState]));\n return function (state, action) {\n if (state === void 0) {\n state = defaultState;\n }\n\n return reducer(state, action);\n };\n}","import combineActions from './combineActions';\nimport createAction from './createAction';\nimport createActions from './createActions';\nimport createCurriedAction from './createCurriedAction';\nimport handleAction from './handleAction';\nimport handleActions from './handleActions';\nexport { combineActions, createAction, createActions, createCurriedAction, handleAction, handleActions };","export default (function (array, callback) {\n return array.reduce(function (partialObject, element) {\n return callback(partialObject, element);\n }, {});\n});","import camelCase from 'to-camel-case';\nvar namespacer = '/';\nexport default (function (type) {\n return type.indexOf(namespacer) === -1 ? camelCase(type) : type.split(namespacer).map(camelCase).join(namespacer);\n});","import isPlainObject from './isPlainObject';\nimport flattenWhenNode from './flattenWhenNode';\nexport default flattenWhenNode(isPlainObject);","import isPlainObject from './isPlainObject';\nimport isMap from './isMap';\nimport hasGeneratorInterface from './hasGeneratorInterface';\nimport flattenWhenNode from './flattenWhenNode';\nexport default flattenWhenNode(function (node) {\n return (isPlainObject(node) || isMap(node)) && !hasGeneratorInterface(node);\n});","import { DEFAULT_NAMESPACE, ACTION_TYPE_DELIMITER } from '../constants';\nimport ownKeys from './ownKeys';\nimport get from './get';\nexport default (function (predicate) {\n return function flatten(map, _temp, partialFlatMap, partialFlatActionType) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? DEFAULT_NAMESPACE : _ref$namespace,\n prefix = _ref.prefix;\n\n if (partialFlatMap === void 0) {\n partialFlatMap = {};\n }\n\n if (partialFlatActionType === void 0) {\n partialFlatActionType = '';\n }\n\n function connectNamespace(type) {\n var _ref2;\n\n if (!partialFlatActionType) return type;\n var types = type.toString().split(ACTION_TYPE_DELIMITER);\n var partials = partialFlatActionType.split(ACTION_TYPE_DELIMITER);\n return (_ref2 = []).concat.apply(_ref2, partials.map(function (p) {\n return types.map(function (t) {\n return \"\" + p + namespace + t;\n });\n })).join(ACTION_TYPE_DELIMITER);\n }\n\n function connectPrefix(type) {\n if (partialFlatActionType || !prefix || prefix && new RegExp(\"^\" + prefix + namespace).test(type)) {\n return type;\n }\n\n return \"\" + prefix + namespace + type;\n }\n\n ownKeys(map).forEach(function (type) {\n var nextNamespace = connectPrefix(connectNamespace(type));\n var mapValue = get(type, map);\n\n if (predicate(mapValue)) {\n flatten(mapValue, {\n namespace: namespace,\n prefix: prefix\n }, partialFlatMap, nextNamespace);\n } else {\n partialFlatMap[nextNamespace] = mapValue;\n }\n });\n return partialFlatMap;\n };\n});","import isMap from './isMap';\nexport default function get(key, x) {\n return isMap(x) ? x.get(key) : x[key];\n}","export default (function (array) {\n return array[array.length - 1];\n});","import ownKeys from './ownKeys';\nexport default function hasGeneratorInterface(handler) {\n var keys = ownKeys(handler);\n var hasOnlyInterfaceNames = keys.every(function (ownKey) {\n return ownKey === 'next' || ownKey === 'throw';\n });\n return keys.length && keys.length <= 2 && hasOnlyInterfaceNames;\n}","export default (function (value) {\n return value;\n});","export default (function (value) {\n return Array.isArray(value);\n});","export default (function (value) {\n return value.length === 0;\n});","export default (function (value) {\n return typeof value === 'function';\n});","export default (function (value) {\n return typeof Map !== 'undefined' && value instanceof Map;\n});","export default (function (value) {\n return value === null || value === undefined;\n});","export default (function (value) {\n return value === null;\n});","export default (function (value) {\n if (typeof value !== 'object' || value === null) return false;\n var proto = value;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(value) === proto;\n});","export default (function (value) {\n return typeof value === 'string';\n});","export default (function (value) {\n return typeof value === 'symbol' || typeof value === 'object' && Object.prototype.toString.call(value) === '[object Symbol]';\n});","export default (function (value) {\n return value === undefined;\n});","import isMap from './isMap';\nexport default function ownKeys(object) {\n if (isMap(object)) {\n // We are using loose transforms in babel. Here we are trying to convert an\n // interable to an array. Loose mode expects everything to already be an\n // array. The problem is that our eslint rules encourage us to prefer\n // spread over Array.from.\n //\n // Instead of disabling loose mode we simply disable the warning.\n // eslint-disable-next-line unicorn/prefer-spread\n return Array.from(object.keys());\n }\n\n if (typeof Reflect !== 'undefined' && typeof Reflect.ownKeys === 'function') {\n return Reflect.ownKeys(object);\n }\n\n var keys = Object.getOwnPropertyNames(object);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n keys = keys.concat(Object.getOwnPropertySymbols(object));\n }\n\n return keys;\n}","export default (function (value) {\n return value.toString();\n});","import { DEFAULT_NAMESPACE } from '../constants';\nimport isEmpty from './isEmpty';\nimport camelCase from './camelCase';\nexport default function unflattenActionCreators(flatActionCreators, _temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? DEFAULT_NAMESPACE : _ref$namespace,\n prefix = _ref.prefix;\n\n function unflatten(flatActionType, partialNestedActionCreators, partialFlatActionTypePath) {\n var nextNamespace = camelCase(partialFlatActionTypePath.shift());\n\n if (isEmpty(partialFlatActionTypePath)) {\n partialNestedActionCreators[nextNamespace] = flatActionCreators[flatActionType];\n } else {\n if (!partialNestedActionCreators[nextNamespace]) {\n partialNestedActionCreators[nextNamespace] = {};\n }\n\n unflatten(flatActionType, partialNestedActionCreators[nextNamespace], partialFlatActionTypePath);\n }\n }\n\n var nestedActionCreators = {};\n Object.getOwnPropertyNames(flatActionCreators).forEach(function (type) {\n var unprefixedType = prefix ? type.replace(\"\" + prefix + namespace, '') : type;\n return unflatten(type, nestedActionCreators, unprefixedType.split(namespace));\n });\n return nestedActionCreators;\n}","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","\"use strict\";\n\nvar isOldIE = function isOldIE() {\n var memo;\n return function memorize() {\n if (typeof memo === 'undefined') {\n // Test for IE <= 9 as proposed by Browserhacks\n // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805\n // Tests for existence of standard globals is to allow style-loader\n // to operate correctly into non-standard environments\n // @see https://github.com/webpack-contrib/style-loader/issues/177\n memo = Boolean(window && document && document.all && !window.atob);\n }\n\n return memo;\n };\n}();\n\nvar getTarget = function getTarget() {\n var memo = {};\n return function memorize(target) {\n if (typeof memo[target] === 'undefined') {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n };\n}();\n\nvar stylesInDom = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDom.length; i++) {\n if (stylesInDom[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var index = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3]\n };\n\n if (index !== -1) {\n stylesInDom[index].references++;\n stylesInDom[index].updater(obj);\n } else {\n stylesInDom.push({\n identifier: identifier,\n updater: addStyle(obj, options),\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction insertStyleElement(options) {\n var style = document.createElement('style');\n var attributes = options.attributes || {};\n\n if (typeof attributes.nonce === 'undefined') {\n var nonce = typeof __webpack_nonce__ !== 'undefined' ? __webpack_nonce__ : null;\n\n if (nonce) {\n attributes.nonce = nonce;\n }\n }\n\n Object.keys(attributes).forEach(function (key) {\n style.setAttribute(key, attributes[key]);\n });\n\n if (typeof options.insert === 'function') {\n options.insert(style);\n } else {\n var target = getTarget(options.insert || 'head');\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n }\n\n return style;\n}\n\nfunction removeStyleElement(style) {\n // istanbul ignore if\n if (style.parentNode === null) {\n return false;\n }\n\n style.parentNode.removeChild(style);\n}\n/* istanbul ignore next */\n\n\nvar replaceText = function replaceText() {\n var textStore = [];\n return function replace(index, replacement) {\n textStore[index] = replacement;\n return textStore.filter(Boolean).join('\\n');\n };\n}();\n\nfunction applyToSingletonTag(style, index, remove, obj) {\n var css = remove ? '' : obj.media ? \"@media \".concat(obj.media, \" {\").concat(obj.css, \"}\") : obj.css; // For old IE\n\n /* istanbul ignore if */\n\n if (style.styleSheet) {\n style.styleSheet.cssText = replaceText(index, css);\n } else {\n var cssNode = document.createTextNode(css);\n var childNodes = style.childNodes;\n\n if (childNodes[index]) {\n style.removeChild(childNodes[index]);\n }\n\n if (childNodes.length) {\n style.insertBefore(cssNode, childNodes[index]);\n } else {\n style.appendChild(cssNode);\n }\n }\n}\n\nfunction applyToTag(style, options, obj) {\n var css = obj.css;\n var media = obj.media;\n var sourceMap = obj.sourceMap;\n\n if (media) {\n style.setAttribute('media', media);\n } else {\n style.removeAttribute('media');\n }\n\n if (sourceMap && btoa) {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n while (style.firstChild) {\n style.removeChild(style.firstChild);\n }\n\n style.appendChild(document.createTextNode(css));\n }\n}\n\nvar singleton = null;\nvar singletonCounter = 0;\n\nfunction addStyle(obj, options) {\n var style;\n var update;\n var remove;\n\n if (options.singleton) {\n var styleIndex = singletonCounter++;\n style = singleton || (singleton = insertStyleElement(options));\n update = applyToSingletonTag.bind(null, style, styleIndex, false);\n remove = applyToSingletonTag.bind(null, style, styleIndex, true);\n } else {\n style = insertStyleElement(options);\n update = applyToTag.bind(null, style, options);\n\n remove = function remove() {\n removeStyleElement(style);\n };\n }\n\n update(obj);\n return function updateStyle(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {\n return;\n }\n\n update(obj = newObj);\n } else {\n remove();\n }\n };\n}\n\nmodule.exports = function (list, options) {\n options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of <style>\n // tags it will allow on a page\n\n if (!options.singleton && typeof options.singleton !== 'boolean') {\n options.singleton = isOldIE();\n }\n\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n if (Object.prototype.toString.call(newList) !== '[object Array]') {\n return;\n }\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDom[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDom[_index].references === 0) {\n stylesInDom[_index].updater();\n\n stylesInDom.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","\nvar space = require('to-space-case')\n\n/**\n * Export.\n */\n\nmodule.exports = toCamelCase\n\n/**\n * Convert a `string` to camel case.\n *\n * @param {String} string\n * @return {String}\n */\n\nfunction toCamelCase(string) {\n return space(string).replace(/\\s(\\w)/g, function (matches, letter) {\n return letter.toUpperCase()\n })\n}\n","\n/**\n * Export.\n */\n\nmodule.exports = toNoCase\n\n/**\n * Test whether a string is camel-case.\n */\n\nvar hasSpace = /\\s/\nvar hasSeparator = /(_|-|\\.|:)/\nvar hasCamel = /([a-z][A-Z]|[A-Z][a-z])/\n\n/**\n * Remove any starting case from a `string`, like camel or snake, but keep\n * spaces and punctuation that may be important otherwise.\n *\n * @param {String} string\n * @return {String}\n */\n\nfunction toNoCase(string) {\n if (hasSpace.test(string)) return string.toLowerCase()\n if (hasSeparator.test(string)) return (unseparate(string) || string).toLowerCase()\n if (hasCamel.test(string)) return uncamelize(string).toLowerCase()\n return string.toLowerCase()\n}\n\n/**\n * Separator splitter.\n */\n\nvar separatorSplitter = /[\\W_]+(.|$)/g\n\n/**\n * Un-separate a `string`.\n *\n * @param {String} string\n * @return {String}\n */\n\nfunction unseparate(string) {\n return string.replace(separatorSplitter, function (m, next) {\n return next ? ' ' + next : ''\n })\n}\n\n/**\n * Camelcase splitter.\n */\n\nvar camelSplitter = /(.)([A-Z]+)/g\n\n/**\n * Un-camelcase a `string`.\n *\n * @param {String} string\n * @return {String}\n */\n\nfunction uncamelize(string) {\n return string.replace(camelSplitter, function (m, previous, uppers) {\n return previous + ' ' + uppers.toLowerCase().split('').join(' ')\n })\n}\n","\nvar clean = require('to-no-case')\n\n/**\n * Export.\n */\n\nmodule.exports = toSpaceCase\n\n/**\n * Convert a `string` to space case.\n *\n * @param {String} string\n * @return {String}\n */\n\nfunction toSpaceCase(string) {\n return clean(string).replace(/[\\W_]+(.|$)/g, function (matches, match) {\n return match ? ' ' + match : ''\n }).trim()\n}\n","/*\nViz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36)\n*/\n(function(global) {\nvar Module = function(Module) {\n Module = Module || {};\nvar Module=typeof Module!==\"undefined\"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module[\"arguments\"]=[];Module[\"thisProgram\"]=\"./this.program\";Module[\"quit\"]=(function(status,toThrow){throw toThrow});Module[\"preRun\"]=[];Module[\"postRun\"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;if(Module[\"ENVIRONMENT\"]){if(Module[\"ENVIRONMENT\"]===\"WEB\"){ENVIRONMENT_IS_WEB=true}else if(Module[\"ENVIRONMENT\"]===\"WORKER\"){ENVIRONMENT_IS_WORKER=true}else if(Module[\"ENVIRONMENT\"]===\"NODE\"){ENVIRONMENT_IS_NODE=true}else if(Module[\"ENVIRONMENT\"]===\"SHELL\"){ENVIRONMENT_IS_SHELL=true}else{throw new Error(\"Module['ENVIRONMENT'] value is not valid. must be one of: WEB|WORKER|NODE|SHELL.\")}}else{ENVIRONMENT_IS_WEB=typeof window===\"object\";ENVIRONMENT_IS_WORKER=typeof importScripts===\"function\";ENVIRONMENT_IS_NODE=typeof process===\"object\"&&typeof require===\"function\"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER}if(ENVIRONMENT_IS_NODE){var nodeFS;var nodePath;Module[\"read\"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require(\"fs\");if(!nodePath)nodePath=require(\"path\");filename=nodePath[\"normalize\"](filename);ret=nodeFS[\"readFileSync\"](filename)}return binary?ret:ret.toString()};Module[\"readBinary\"]=function readBinary(filename){var ret=Module[\"read\"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process[\"argv\"].length>1){Module[\"thisProgram\"]=process[\"argv\"][1].replace(/\\\\/g,\"/\")}Module[\"arguments\"]=process[\"argv\"].slice(2);if(typeof module!==\"undefined\"){module[\"exports\"]=Module}process[\"on\"](\"uncaughtException\",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}));process[\"on\"](\"unhandledRejection\",(function(reason,p){process[\"exit\"](1)}));Module[\"inspect\"]=(function(){return\"[Emscripten Module object]\"})}else if(ENVIRONMENT_IS_SHELL){if(typeof read!=\"undefined\"){Module[\"read\"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module[\"readBinary\"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer===\"function\"){return new Uint8Array(readbuffer(f))}data=read(f,\"binary\");assert(typeof data===\"object\");return data};if(typeof scriptArgs!=\"undefined\"){Module[\"arguments\"]=scriptArgs}else if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}if(typeof quit===\"function\"){Module[\"quit\"]=(function(status,toThrow){quit(status)})}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module[\"read\"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module[\"readBinary\"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);xhr.responseType=\"arraybuffer\";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module[\"readAsync\"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,true);xhr.responseType=\"arraybuffer\";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};if(typeof arguments!=\"undefined\"){Module[\"arguments\"]=arguments}Module[\"setWindowTitle\"]=(function(title){document.title=title})}Module[\"print\"]=typeof console!==\"undefined\"?console.log.bind(console):typeof print!==\"undefined\"?print:null;Module[\"printErr\"]=typeof printErr!==\"undefined\"?printErr:typeof console!==\"undefined\"&&console.warn.bind(console)||Module[\"print\"];Module.print=Module[\"print\"];Module.printErr=Module[\"printErr\"];for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function staticAlloc(size){assert(!staticSealed);var ret=STATICTOP;STATICTOP=STATICTOP+size+15&-16;return ret}function dynamicAlloc(size){assert(DYNAMICTOP_PTR);var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;HEAP32[DYNAMICTOP_PTR>>2]=end;if(end>=TOTAL_MEMORY){var success=enlargeMemory();if(!success){HEAP32[DYNAMICTOP_PTR>>2]=ret;return 0}}return ret}function alignMemory(size,factor){if(!factor)factor=STACK_ALIGN;var ret=size=Math.ceil(size/factor)*factor;return ret}function getNativeTypeSize(type){switch(type){case\"i1\":case\"i8\":return 1;case\"i16\":return 2;case\"i32\":return 4;case\"i64\":return 8;case\"float\":return 4;case\"double\":return 8;default:{if(type[type.length-1]===\"*\"){return 4}else if(type[0]===\"i\"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;Module.printErr(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module[\"dynCall_\"+sig].apply(null,[ptr].concat(args))}else{return Module[\"dynCall_\"+sig].call(null,ptr)}}var GLOBAL_BASE=8;var ABORT=0;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort(\"Assertion failed: \"+text)}}function getCFunc(ident){var func=Module[\"_\"+ident];assert(func,\"Cannot call unknown function \"+ident+\", make sure it is exported\");return func}var JSfuncs={\"stackSave\":(function(){stackSave()}),\"stackRestore\":(function(){stackRestore()}),\"arrayToC\":(function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),\"stringToC\":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret})};var toC={\"string\":JSfuncs[\"stringToC\"],\"array\":JSfuncs[\"arrayToC\"]};function ccall(ident,returnType,argTypes,args,opts){var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType===\"string\")ret=Pointer_stringify(ret);if(stack!==0){stackRestore(stack)}return ret}function setValue(ptr,value,type,noSafe){type=type||\"i8\";if(type.charAt(type.length-1)===\"*\")type=\"i32\";switch(type){case\"i1\":HEAP8[ptr>>0]=value;break;case\"i8\":HEAP8[ptr>>0]=value;break;case\"i16\":HEAP16[ptr>>1]=value;break;case\"i32\":HEAP32[ptr>>2]=value;break;case\"i64\":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case\"float\":HEAPF32[ptr>>2]=value;break;case\"double\":HEAPF64[ptr>>3]=value;break;default:abort(\"invalid type for setValue: \"+type)}}var ALLOC_STATIC=2;var ALLOC_NONE=4;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab===\"number\"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types===\"string\"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[typeof _malloc===\"function\"?_malloc:staticAlloc,stackAlloc,staticAlloc,dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType===\"i8\"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];type=singleType||types[i];if(type===0){i++;continue}if(type==\"i64\")type=\"i32\";setValue(ret+i,curr,type);if(previousType!==type){typeSize=getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}function Pointer_stringify(ptr,length){if(length===0||!ptr)return\"\";var hasUtf=0;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];hasUtf|=t;if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret=\"\";if(hasUtf<128){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}return UTF8ToString(ptr)}var UTF8Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf8\"):undefined;function UTF8ArrayToString(u8Array,idx){var endPtr=idx;while(u8Array[endPtr])++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var u0,u1,u2,u3,u4,u5;var str=\"\";while(1){u0=u8Array[idx++];if(!u0)return str;if(!(u0&128)){str+=String.fromCharCode(u0);continue}u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u3=u8Array[idx++]&63;if((u0&248)==240){u0=(u0&7)<<18|u1<<12|u2<<6|u3}else{u4=u8Array[idx++]&63;if((u0&252)==248){u0=(u0&3)<<24|u1<<18|u2<<12|u3<<6|u4}else{u5=u8Array[idx++]&63;u0=(u0&1)<<30|u1<<24|u2<<18|u3<<12|u4<<6|u5}}}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}}function UTF8ToString(ptr){return UTF8ArrayToString(HEAPU8,ptr)}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=2097151){if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else if(u<=67108863){if(outIdx+4>=endIdx)break;outU8Array[outIdx++]=248|u>>24;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+5>=endIdx)break;outU8Array[outIdx++]=252|u>>30;outU8Array[outIdx++]=128|u>>24&63;outU8Array[outIdx++]=128|u>>18&63;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127){++len}else if(u<=2047){len+=2}else if(u<=65535){len+=3}else if(u<=2097151){len+=4}else if(u<=67108863){len+=5}else{len+=6}}return len}var UTF16Decoder=typeof TextDecoder!==\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\\w\\d_]+/g;return text.replace(regex,(function(x){var y=demangle(x);return x===y?x:x+\" [\"+y+\"]\"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return\"(no stack trace available)\"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module[\"extraStackTrace\"])js+=\"\\n\"+Module[\"extraStackTrace\"]();return demangleAll(js)}var PAGE_SIZE=16384;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferViews(){Module[\"HEAP8\"]=HEAP8=new Int8Array(buffer);Module[\"HEAP16\"]=HEAP16=new Int16Array(buffer);Module[\"HEAP32\"]=HEAP32=new Int32Array(buffer);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(buffer);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(buffer);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(buffer);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(buffer);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(buffer)}var STATIC_BASE,STATICTOP,staticSealed;var STACK_BASE,STACKTOP,STACK_MAX;var DYNAMIC_BASE,DYNAMICTOP_PTR;STATIC_BASE=STATICTOP=STACK_BASE=STACKTOP=STACK_MAX=DYNAMIC_BASE=DYNAMICTOP_PTR=0;staticSealed=false;function abortOnCannotGrowMemory(){abort(\"Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value \"+TOTAL_MEMORY+\", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 \")}function enlargeMemory(){abortOnCannotGrowMemory()}var TOTAL_STACK=Module[\"TOTAL_STACK\"]||5242880;var TOTAL_MEMORY=Module[\"TOTAL_MEMORY\"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)Module.printErr(\"TOTAL_MEMORY should be larger than TOTAL_STACK, was \"+TOTAL_MEMORY+\"! (TOTAL_STACK=\"+TOTAL_STACK+\")\");if(Module[\"buffer\"]){buffer=Module[\"buffer\"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module[\"buffer\"]=buffer}updateGlobalBufferViews();function getTotalMemory(){return TOTAL_MEMORY}HEAP32[0]=1668509029;HEAP16[1]=25459;if(HEAPU8[2]!==115||HEAPU8[3]!==99)throw\"Runtime error: expected the system to be little-endian!\";function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback==\"function\"){callback();continue}var func=callback.func;if(typeof func===\"number\"){if(callback.arg===undefined){Module[\"dynCall_v\"](func)}else{Module[\"dynCall_vi\"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module[\"postRun\"]){if(typeof Module[\"postRun\"]==\"function\")Module[\"postRun\"]=[Module[\"postRun\"]];while(Module[\"postRun\"].length){addOnPostRun(Module[\"postRun\"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}if(!Math[\"imul\"]||Math[\"imul\"](4294967295,5)!==-5)Math[\"imul\"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math[\"imul\"];if(!Math[\"clz32\"])Math[\"clz32\"]=(function(x){x=x>>>0;for(var i=0;i<32;i++){if(x&1<<31-i)return i}return 32});Math.clz32=Math[\"clz32\"];if(!Math[\"trunc\"])Math[\"trunc\"]=(function(x){return x<0?Math.ceil(x):Math.floor(x)});Math.trunc=Math[\"trunc\"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_round=Math.round;var Math_min=Math.min;var Math_max=Math.max;var Math_clz32=Math.clz32;var Math_trunc=Math.trunc;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module[\"preloadedImages\"]={};Module[\"preloadedAudios\"]={};var memoryInitializer=null;var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var ASM_CONSTS=[(function($0,$1){var path=Pointer_stringify($0);var data=Pointer_stringify($1);FS.createPath(\"/\",PATH.dirname(path));FS.writeFile(PATH.join(\"/\",path),data)})];function _emscripten_asm_const_iii(code,a0,a1){return ASM_CONSTS[code](a0,a1)}STATIC_BASE=GLOBAL_BASE;STATICTOP=STATIC_BASE+194160;__ATINIT__.push();memoryInitializer=\"data:application/octet-stream;base64,AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAIMEAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkACEAAAAAAAAAAAAAAAABBAoC8AAAgAAAABAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICWQAAAAAAAgJZABJDDAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUkAAAAAAAABSQAAgAwIAAAAAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAABCQAAAAAAAAEJAAAAAAAAgg0AAAAAAAMCIQAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAAEJAAAAAAAAAQkAAAAAAACCDQAAAAAAAwIhAAAAAAAAAUkAAAAAAAABSQACwwQAAAAAAAAAAAAAAEEBANgAAkwAAAAEAAAAAAAAAQAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAEAACAAAAAAAAAAAAABBAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYQAAAAAAAAFhAALDBAAAAAAAAAAAAAAAAABw6AAAQAAAAAQAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWEAAAAAAAABYQEAgPgMAAAAAAAAAAAAAEEAkOwAAegAAAAEAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFJAAAAAAAAAUkAAAAAAAAAAAAAAAAAAABBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSQAAAAAAAAFJA////////73/////////vf////////+//////////7/8AAAAAAAD4PzMzMzMzM9M/PAAAAAAAAACamZmZmZmpPwEAAAAAAAAAAQAAAAAAAAAAAAAAAADwPwEAAAAAAAAAAgAAAAAAAAAAAAAAAADwPwIAAAAAAAAAAwAAAAAAAAAAAAAAAADgPwMAAAAAAAAABAAAAAAAAAAAAAAAAADwPwQAAAAAAAAABQAAAAAAAAAzMzMzMzPzPwUAAAAAAAAABgAAAAAAAACamZmZmZnpPwYAAAAAAAAABwAAAAAAAAAAAAAAAADwPwcAAAAAAAAACAAAAAAAAAAAAAAAAADgPwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAAAAAAAMzMzMzMz078AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzMzMzMzPjPwAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAEAAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABqQVQAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAADAAAAAAAAAAAAAAAAgGZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgGZAmpmZmZmZ2b8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAgGZAexSuR+F65L8AAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAgEZAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAQAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAQAAAAEAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABUAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAEAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkAAAAAAAAAAAEAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAQAAAAAAAAAAAAAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAAAADQPwAAAAAAANA/AAAAAAAA0D8AAAAA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YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8YTLjP1HaG3xhMuM/UdobfGEy4z9R2ht8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CAAAAFxlAQAOAAAAfWUBAAgAAACGZQEAEgAAAKdlAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAwAAAACAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAADAAAAIQAAAAQAAAAAAAAAAAAAAAAAAAAIAAAABAAAAAAAAAAEAAAAIgAAAAUAAAAAAAAAAAAAAAAAAAAFAAAAQAAAACBHAAAwRwAABgAAAAQAAAA8RwAABgAAAAgAAAAGAAAABAAAAERHAAAABAAACAAAAP////8AAAAAAAAAACMAAAAAAAAAAAAAAAAAAAAAAAAANQAAAAAAAAAAAAAAIAAAAAAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAABgAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAA/////wAAAAAAAAAACAAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAACQAAAAAAAAAHAAAAAAAAAAkAAAALAAAACAAAAAoAAADISAAATEgAALBIAAABAAAAAQAAAAoAAAAWAAAACwAAAFgAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAANAAAAAAAAAAcAAAAAAAAABwAAAAIAAAAFAAAACAAAAAAAAAAAAAAABgAAAAMAAAAOAAAACwAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAA8AAAAAAAAABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJQAAABAAAAAAAAAABwAAAAAAAAAIAAAACAAAAAAAAAAAAAAAJgAAAAAAAAAAAAAAAAAAAAAAAAAQAAAA/////wAAAAAAAAAAJwAAAAAAAAAAAAAABwAAAAAAAAABAAAAAAAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAgAAAAMAAAABAAAAAQAAAAIAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAQAAAAQAAAAFAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAABgAAAAEAAAABAAAABwAAAAgAAAAJAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAEAAAABAAAACwAAAAEAAAAMAAAAAQAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAATAAAAEwAAABMAAAATAAAAFwAAABgAAAAZAAAAEwAAABoAAAAbAAAAHAAAAB0AAAATAAAAEwAAABMAAAATAAAAEwAAAAEAAAAeAAAAAQAAAAEAAAATAAAAAQAAAB8AAAAgAAAAIQAAACIAAAAjAAAAEwAAACQAAAAlAAAAJgAAABMAAAATAAAAEwAAABMAAAAnAAAAKAAAACkAAAATAAAAKgAAACsAAAAsAAAALQAAABMAAAATAAAAEwAAABMAAAATAAAAAQAAAAEAAAABAAAAAQAAAAEAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAAC4AAAATAAAAEwAAABMAAAAvAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAAwAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAAEwAAABMAAAATAAAA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R74BAANO+/u0rv8AU74BAJI147PN4/8AX74BAE0p68zrxf8Aa74BAMob5N7L5P8Ad74BABhY/v7Zpv8Ag74BAANO+/u0rv8Aj74BAJI147PN4/8Am74BAE0p68zrxf8Ap74BAMob5N7L5P8As74BABhY/v7Zpv8Av74BACoy////zP8Ay74BAANO+/u0rv8A174BAJI147PN4/8A474BAE0p68zrxf8A774BAMob5N7L5P8A+74BABhY/v7Zpv8AB78BACoy////zP8AE78BABws5eXYvf8AH78BAANO+/u0rv8AK78BAJI147PN4/8AN78BAE0p68zrxf8AQ78BAMob5N7L5P8AT78BABhY/v7Zpv8AW78BACoy////zP8AZ78BABws5eXYvf8Ac78BAOkj/f3a7P8Af78BAANO+/u0rv8Ai78BAJI147PN4/8Al78BAE0p68zrxf8Ao78BAMob5N7L5P8Ar78BABhY/v7Zpv8Au78BACoy////zP8Ax78BABws5eXYvf8A078BAOkj/f3a7P8A378BAAAA8vLy8v8A678BAGw14rPizf8A978BABFR/f3NrP8AA8ABAJsf6MvV6P8AD8ABAGw14rPizf8AG8ABABFR/f3NrP8AJ8ABAJsf6MvV6P8AM8ABAOQr9PTK5P8AP8ABAGw14rPizf8AS8ABABFR/f3NrP8AV8ABAJsf6MvV6P8AY8ABAOQr9PTK5P8Ab8ABADgt9eb1yf8Ae8ABAGw14rPizf8Ah8ABABFR/f3NrP8Ak8ABAJsf6MvV6P8An8ABAOQr9PTK5P8Aq8ABADgt9eb1yf8At8ABACNR///yrv8Aw8ABAGw14rPizf8Az8ABABFR/f3NrP8A28ABAJsf6MvV6P8A58ABAOQr9PTK5P8A88ABADgt9eb1yf8A/8ABACNR///yrv8AC8EBABkn8fHizP8AF8EBAGw14rPizf8AI8EBABFR/f3NrP8AL8EBAJsf6MvV6P8AO8EBAOQr9PTK5P8AR8EBADgt9eb1yf8AU8EBACNR///yrv8AX8EBABkn8fHizP8Aa8EBAAAAzMzMzP8Ad8EBAOb9jo4BUv8AgcEBAE2/ZCdkGf8AjMEBAObcxcUbff8AlsEBAOh23t53rv8AoMEBAOU+8fG22v8AqsEBAOkd/f3g7/8AtMEBADsm9eb10P8A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it4BADqb2KbYVP8Ak94BACLQ///ZL/8AnN4BABla5eXElP8Apd4BAHJ4wmbCpf8Art4BAAub/PyNYv8At94BAJxNy42gy/8AwN4BAORm5+eKw/8Ayd4BADqb2KbYVP8A0t4BACLQ///ZL/8A294BABla5eXElP8A5N4BAAAAs7Ozs/8A7d4BAHhU043Tx/8A994BANNSvbyAvf8AAt8BACpM////s/8ADN8BAK8l2r662v8AFt8BAASL+/uAcv8AIN8BAJBk04Cx0/8AKt8BABac/f20Yv8ANN8BADqG3rPeaf8APt8BAOkv/PzN5f8ASN8BAAAA2dnZ2f8AUt8BAHhU043Tx/8AXN8BANNSvbyAvf8AZ98BAE0p68zrxf8Act8BACpM////s/8AfN8BAK8l2r662v8Aht8BAASL+/uAcv8AkN8BAJBk04Cx0/8Amt8BABac/f20Yv8ApN8BADqG3rPeaf8Art8BAOkv/PzN5f8AuN8BAAAA2dnZ2f8Awt8BAHhU043Tx/8AzN8BANNSvbyAvf8A198BAE0p68zrxf8A4t8BACWQ///tb/8A7d8BACpM////s/8A998BAK8l2r662v8AAeABAASL+/uAcv8AC+ABAJBk04Cx0/8AFeABABac/f20Yv8AH+ABADqG3rPeaf8AKeABAOkv/PzN5f8AM+ABAAAA2dnZ2f8APeABAHhU043Tx/8ARuABACpM////s/8AT+ABAK8l2r662v8AWOABAHhU043Tx/8AYeABACpM////s/8AauABAK8l2r662v8Ac+ABAASL+/uAcv8AfOABAHhU043Tx/8AheABACpM////s/8AjuABAK8l2r662v8Al+ABAASL+/uAcv8AoOABAJBk04Cx0/8AqeABAHhU043Tx/8AsuABACpM////s/8Au+ABAK8l2r662v8AxOABAASL+/uAcv8AzeABAJBk04Cx0/8A1uABABac/f20Yv8A3+ABAHhU043Tx/8A6OABACpM////s/8A8eABAK8l2r662v8A+uABAASL+/uAcv8AA+EBAJBk04Cx0/8ADOEBABac/f20Yv8AFeEBADqG3rPeaf8AHuEBAHhU043Tx/8AJ+EBACpM////s/8AMOEBAK8l2r662v8AOeEBAASL+/uAcv8AQuEBAJBk04Cx0/8AS+EBABac/f20Yv8AVOEBADqG3rPeaf8AXeEBAOkv/PzN5f8AZuEBAHhU043Tx/8Ab+EBACpM////s/8AeOEBAK8l2r662v8AgeEBAASL+/uAcv8AiuEBAJBk04Cx0/8Ak+EBABac/f20Yv8AnOEBADqG3rPeaf8ApeEBAOkv/PzN5f8AruEBAAAA2dnZ2f8At+EBAO39np4BQv8AxeEBALGCol5Pov8A1OEBAPq01dU+T/8A4uEBAAq49PRtQ/8A8OEBABSd/f2uYf8A/uEBAB9z/v7gi/8ADOIBADFg9eb1mP8AGuIBAE9B3avdpP8AKOIBAHJ4wmbCpf8ANuIBAI+7vTKIvf8AROIBAO39np4BQv8AUuIBAI+7vTKIvf8AYeIBALGCol5Pov8AcOIBAPq01dU+T/8AfuIBAAq49PRtQ/8AjOIBABSd/f2uYf8AmuIBAB9z/v7gi/8AqOIBACpA////v/8AtuIBADFg9eb1mP8AxOIBAE9B3avdpP8A0uIBAHJ4wmbCpf8A4OIBAA2k/PyNWf8A7eIBACpA////v/8A+uIBAFFN1ZnVlP8AB+MBAP7h19cZHP8AFOMBABSd/f2uYf8AIeMBAE9B3avdpP8ALuMBAI/EuiuDuv8AO+MBAP7h19cZHP8ASOMBABSd/f2uYf8AVeMBACpA////v/8AYuMBAE9B3avdpP8Ab+MBAI/EuiuDuv8AfOMBAPq01dU+T/8AieMBAA2k/PyNWf8AluMBAB9z/v7gi/8Ao+MBADFg9eb1mP8AsOMBAFFN1ZnVlP8AveMBAI+7vTKIvf8AyuMBAPq01dU+T/8A1+MBAA2k/PyNWf8A5OMBAB9z/v7gi/8A8eMBACpA////v/8A/uMBADFg9eb1mP8AC+QBAFFN1ZnVlP8AGOQBAI+7vTKIvf8AJeQBAPq01dU+T/8AMuQBAAq49PRtQ/8AP+QBABSd/f2uYf8ATOQBAB9z/v7gi/8AWeQBADFg9eb1mP8AZuQBAE9B3avdpP8Ac+QBAHJ4wmbCpf8AgOQBAI+7vTKIvf8AjeQBAPq01dU+T/8AmuQBAAq49PRtQ/8Ap+QBABSd/f2uYf8AtOQBAB9z/v7gi/8AweQBACpA////v/8AzuQBADFg9eb1mP8A2+QBAE9B3avdpP8A6OQBAHJ4wmbCpf8A9eQBAI+7vTKIvf8AAuUBAJMP//D4//8AEeUBABgj+vrr1/8AI+UBAH///wD///8ALeUBAHGA/3//1P8APeUBAH8P//D///8ASOUBACoa9fX13P8AU+UBABc6///kxP8AX+UBAAAAAAAAAP8AauUBABkx///rzf8AfuUBAKr//wAA//8AiOUBAMDO4oor4v8AmOUBAAC+paUqKv8Ao+UBABdj3t64h/8AsuUBAIBnoF+eoP8AweUBAD///3//AP8A0eUBABHa0tJpHv8A4OUBAAuv//9/UP8A6+UBAJqT7WSV7f8A/+UBACEi///43P8ADeYBAPbn3NwUPP8AGuYBAH///wD///8AJOYBAKr/iwAAi/8AMuYBAH//iwCLi/8AQOYBAB7vuLiGC/8AU+YBAAAAqampqf8AYeYBAFX/ZABkAP8AcOYBAAAAqampqf8AfuYBACduvb23a/8AjeYBANT/i4sAi/8AnuYBADqOa1VrL/8AsuYBABf///+MAP8AwuYBAMbAzJkyzP8A0uYBAAD/i4sAAP8A3+YBAAp56emWev8A7+YBAFU9vI+8j/8AAecBAK+Pi0g9i/8AFOcBAH9nTy9PT/8AJ+cBAH9nTy9PT/8AOucBAID/0QDO0f8ATecBAMf/05QA0/8AXecBAOjr//8Uk/8Aa+cBAIr//wC///8AfOcBAAAAaWlpaf8AiecBAAAAaWlpaf8AlucBAJTh/x6Q//8ApucBAADOsrIiIv8AtecBABwP///68P8AxucBAFXAiyKLIv8A1+cBANT///8A//8A5OcBAAAA3Nzc3P8A8+cBAKoH//j4//8AA+gBACP////XAP8ADegBAB7Z2tqlIP8AHOgBAAAAgICAgP8AJugBAFX/gACAAP8AMegBADvQ/63/L/8AQugBAAAAgICAgP8ATOgBAFUP//D/8P8AWugBAOmW//9ptP8AZ+gBAACMzc1cXP8AdugBAML/gksAgv8AgugBACoP////8P8AjegBACZq8PDmjP8AmOgBAKoU+ubm+v8ApugBAPAP///w9f8AuegBAED//Hz8AP8AyOgBACYx///6zf8A2ugBAIk/5q3Y5v8A6egBAAB38PCAgP8A+egBAH8f/+D///8ACOkBACoo+vr60v8AIukBAAAA09PT0/8AMekBAFVk7pDukP8AQekBAAAA09PT0/8AUOkBAPhJ//+2wf8AX+kBAAyE//+gev8A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VAACAOqR//9utP8AXQACAOuN7u5qp/8AZgACAOyHzc1gkP8AbwACAOqUi4s6Yv8AeAACAACMzc1cXP8AggACAACU//9qav8AjQACAACU7u5jY/8AmAACAACVzc1VVf8AowACAACUi4s6Ov8ArgACAML/gksAgv8AtQACACoA/////gAAuwACACoP////8P8AwQACACoP////8P8AyAACACoP7u7u4P8AzwACACoOzc3Nwf8A1gACACoOi4uLg/8A3QACACZq8PDmjP8A4wACACdw///2j/8A6gACACdw7u7mhf8A8QACACdvzc3Gc/8A+AACACdvi4uGTv8A/wACAKoU+ubm+v8ACAECAPAP///w9f8AFgECAPAP///w9f8AJQECAO8P7u7g5f8ANAECAPAOzc3Bxf8AQwECAO8Oi4uDhv8AUgECAED//Hz8AP8AXAECACYx///6zf8AaQECACYx///6zf8AdwECACUy7u7pv/8AhQECACYxzc3Jpf8AkwECACcxi4uJcP8AoQECAIk/5q3Y5v8AqwECAIpA/7/v//8AtgECAIpA7rLf7v8AwQECAIo/zZrAzf8AzAECAIlAi2iDi/8A1wECAAB38PCAgP8A4gECAH8f/+D///8A7AECAH8f/+D///8A9wECAH8f7tHu7v8AAgICAH8fzbTNzf8ADQICAH8fi3qLi/8AGAICACNz7u7dgv8AJwICACN0///si/8ANwICACNz7u7cgv8ARwICACNzzc2+cP8AVwICACNzi4uBTP8AZwICACoo+vr60v8AfAICAAAA09PT0/8AhgICAAAA09PT0/8AkAICAPhJ//+2wf8AmgICAPlR//+uuf8ApQICAPhR7u6irf8AsAICAPlQzc2Mlf8AuwICAPlQi4tfZf8AxgICAAyE//+gev8A0gICAAyE//+gev8A3wICAAuE7u6Vcv8A7AICAAyFzc2BYv8A+QICAAyFi4tXQv8ABgMCAH3RsiCyqv8AFAMCAI91+ofO+v8AIQMCAI9P/7Di//8ALwMCAI9P7qTT7v8APQMCAI5PzY22zf8ASwMCAI9Oi2B7i/8AWQMCAK+P/4Rw//8AaAMCAJQ4mXeImf8AdwMCAJQ4mXeImf8AhgMCAJc03rDE3v8AlQMCAJc1/8rh//8ApQMCAJc17rzS7v8AtQMCAJc1zaK1zf8A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HBwcHBwcFhwcHBwcHBwcHBwWHBocHBYcHBwcHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWHBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYcFhYWFhYWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////////////////////////////////////AAAAAAAAAAT+//+H/v//BwAAAAAAAAAA//9/////f//////////zf/79//////9///////////8P4P////8x/P///wAAAAAAAAD//////////////wEA+AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDX///7/////39/VP3/DwD+3////////////t//////AwD///////+fGf///88/AwAAAAAAAP7///9/Av7///9/AAAAAAAAAAAA////BwcAAAAAAP7//wf+BwAAAAD+//////////98/38vAGAAAADg////////IwAAAP8DAAAA4J/5///9xQMAAACwAwADAOCH+f///W0DAAAAXgAAHADgr/v///3tIwAAAAABAAAA4J/5///9zSMAAACwAwAAAODHPdYYx78DAAAAAAAAAADg3/3///3vAwAAAAADAAAA4N/9///97wMAAABAAwAAAODf/f///f8DAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAA/v////9/DQA/AAAAAAAAAJYl8P6ubA0gHwAAAAAAAAAAAAAAAAAAAP/+////AwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////z8A/////38A7doHAAAAAFABUDGCq2IsAAAAAEAAyYD1BwAAAAAIAQL/////////////////////////D///////////////A///Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAEBMAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAACAAAAA/gMAAP7///////////8fAP7/////////////B+D/////HwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////8/AAAAAAAAAAAAAAD//////////////////////////w8AAAAAAAAAAAAAAAAAAAAAYP8H/v//h/7//wcAAAAAAACAAP//f////3//////AAAAAAAAAP//////////////AQD4AwADAAAAAAD//////////z8AAAADAAAAwNf///v/////f39U/f8PAP7f///////////+3/////97AP///////58Z////zz8DAAAAAAAA/v///38C/v///38A/v/7//+7FgD///8HBwAAAAAA/v//B///BwD/A////////////3z/f+///z3/A+7////////z/z8e/8//AADun/n///3F0585gLDP/wMA5If5///9bdOHOQBewP8fAO6v+////e3zvzsAAMH/AADun/n///3N8485wLDD/wAA7Mc91hjHv8PHPYAAgP8AAO7f/f///e/D3z1gAMP/AADs3/3///3vw989YEDD/wAA7N/9///9/8PPPYAAw/8AAAAAAAAAAAAAAAAAAAAAAAD+/////3//B/9//wMAAAAAliXw/q5s/ztfP/8DAAAAAAAAAAP/A6DC//7///8D/v/fD7/+/z/+AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/HwIAAACgAAAA/v8+AP7///////////8fZv7/////////////dxkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAoAAAAKQAAACAAAAAqAAAADAAAABkAAAAhAAAABgAAAAcAAAABAAAAAQAAAAAAAAAAAAAAABUKAAAVAAAAAAAAAAAAAAAAAAAAAAAAFRAMExweAw0fICEiIxsaERkZGRkZGRkZGRkWEgIOCw8cGBgYGBgYFhYWFhYWFhYWFhYWFhYWFhYWFhYUHAQcFhwYGBgYGBgWFhYWFhYWFhYWFhYWFhYWFhYWFhwkHBwcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBgYGBgYGBgYGBgYGBgYGBgcHBwcHAAAAAAAAAAAAAQErAAAALAAAAC0AAAAuAAAALwAAAC0AAAAwAAAAMQAAADIAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAA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AGd2cmVuZGVyX2NvcmVfbXAuYwBtcF9yZXNvbHZlX2NvbG9yACVkICVkICVkICVkICVkICVkICUuMWYgJS40ZiAlZCAlLjFmICUuMWYgJWQgJWQgJXNcMDAxCgAjIGVuZCBvZiBGSUcgZmlsZQoAI0ZJRyAzLjIKACMgR2VuZXJhdGVkIGJ5ICVzIHZlcnNpb24gJXMgKCVzKQoAIyBUaXRsZTogJXMKACMgUGFnZXM6ICVkCgBQb3J0cmFpdAoAQ2VudGVyCgBJbmNoZXMKAExldHRlcgoAMTAwLjAwCgBTaW5nbGUKAC0yCgAxMjAwACAyCgBtcABtcDptcAAgXSAgJWQgdHJ1ZSAlcwoAIF0gICVkIGZhbHNlICVzCgAgc2V0bGluZXdpZHRoCgAlcyAAc2V0aHNiACUuNWcgJS41ZyAlLjVnICVzY29sb3IKACUgAG5ld3BhdGggACBtb3ZldG8KACBsaW5ldG8KAHN0cm9rZQoAIGN1cnZldG8KAGNsb3NlcGF0aCBmaWxsCgBjbG9zZXBhdGggc3Ryb2tlCgAgZWxsaXBzZV9wYXRoIGZpbGwKACBlbGxpcHNlX3BhdGggc3Ryb2tlCgAgLyVzIHNldF9mb250CgAgbW92ZXRvIAAgJXMgYWxpZ25lZHRleHQKAFsgL1JlY3QgWyAAIF0KACAgL0JvcmRlciBbIDAgMCAwIF0KICAvQWN0aW9uIDw8IC9TdWJ0eXBlIC9VUkkgL1VSSSAlcyA+PgogIC9TdWJ0eXBlIC9MaW5rCi9BTk4gcGRmbWFyawoAZ3NhdmUKACUlICVzCgAwIDAgMCBlZGdlY29sb3IKAGVuZHBhZ2UKc2hvd3BhZ2UKZ3Jlc3RvcmUKACUlUGFnZVRyYWlsZXIKACUlJSVFbmRQYWdlOiAlZAoAJSUlJVBhZ2U6ICVkICVkCgAlJSUlUGFnZUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAoATGFuZHNjYXBlAFBvcnRyYWl0ACUlJSVQYWdlT3JpZW50YXRpb246ICVzCgA8PCAvUGFnZVNpemUgWyVkICVkXSA+PiBzZXRwYWdlZGV2aWNlCgAlZCAlZCAlZCBiZWdpbnBhZ2UKAGdzYXZlCiVkICVkICVkICVkIGJveHByaW0gY2xpcCBuZXdwYXRoCgAlZyAlZyBzZXRfc2NhbGUgJWQgcm90YXRlICVnICVnIHRyYW5zbGF0ZQoAY2FudmFzIHNpemUgKCVkLCVkKSBleGNlZWRzIFBERiBsaW1pdCAoJWQpCgkoc3VnZ2VzdCBzZXR0aW5nIGEgYm91bmRpbmcgYm94IHNpemUsIHNlZSBkb3QoMSkpCgBbIC9Dcm9wQm94IFslZCAlZCAlZCAlZF0gL1BBR0VTIHBkZm1hcmsKACVkICVkIHNldGxheWVyCgAlJSUlVGl0bGU6ICVzCgAlJVBhZ2VzOiAoYXRlbmQpCgAlJVBhZ2VzOiAxCgAlJUJvdW5kaW5nQm94OiAoYXRlbmQpCgAlJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlJUVuZENvbW1lbnRzCnNhdmUKAHNldHVwTGF0aW4xCgBbIHtDYXRhbG9nfSA8PCAvVVJJIDw8IC9CYXNlICVzID4+ID4+Ci9QVVQgcGRmbWFyawoAJSVCZWdpblByb2xvZwAvRG90RGljdCAyMDAgZGljdCBkZWYARG90RGljdCBiZWdpbgAvc2V0dXBMYXRpbjEgewBtYXJrAC9FbmNvZGluZ1ZlY3RvciAyNTYgYXJyYXkgZGVmACBFbmNvZGluZ1ZlY3RvciAwAElTT0xhdGluMUVuY29kaW5nIDAgMjU1IGdldGludGVydmFsIHB1dGludGVydmFsAEVuY29kaW5nVmVjdG9yIDQ1IC9oeXBoZW4gcHV0ACUgU2V0IHVwIElTTyBMYXRpbiAxIGNoYXJhY3RlciBlbmNvZGluZwAvc3Rhcm5ldElTTyB7ACAgICAgICAgZHVwIGR1cCBmaW5kZm9udCBkdXAgbGVuZ3RoIGRpY3QgYmVnaW4AICAgICAgICB7IDEgaW5kZXggL0ZJRCBuZSB7IGRlZiB9eyBwb3AgcG9wIH0gaWZlbHNlACAgICAgICAgfSBmb3JhbGwAICAgICAgICAvRW5jb2RpbmcgRW5jb2RpbmdWZWN0b3IgZGVmACAgICAgICAgY3VycmVudGRpY3QgZW5kIGRlZmluZWZvbnQAfSBkZWYAL1RpbWVzLVJvbWFuIHN0YXJuZXRJU08gZGVmAC9UaW1lcy1JdGFsaWMgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGQgc3Rhcm5ldElTTyBkZWYAL1RpbWVzLUJvbGRJdGFsaWMgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYSBzdGFybmV0SVNPIGRlZgAvSGVsdmV0aWNhLU9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0hlbHZldGljYS1Cb2xkIHN0YXJuZXRJU08gZGVmAC9IZWx2ZXRpY2EtQm9sZE9ibGlxdWUgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXIgc3Rhcm5ldElTTyBkZWYAL0NvdXJpZXItT2JsaXF1ZSBzdGFybmV0SVNPIGRlZgAvQ291cmllci1Cb2xkIHN0YXJuZXRJU08gZGVmAC9Db3VyaWVyLUJvbGRPYmxpcXVlIHN0YXJuZXRJU08gZGVmAGNsZWFydG9tYXJrAH0gYmluZCBkZWYAJSVCZWdpblJlc291cmNlOiBwcm9jc2V0IGdyYXBodml6IDAgMAAvY29vcmQtZm9udC1mYW1pbHkgL1RpbWVzLVJvbWFuIGRlZgAvZGVmYXVsdC1mb250LWZhbWlseSAvVGltZXMtUm9tYW4gZGVmAC9jb29yZGZvbnQgY29vcmQtZm9udC1mYW1pbHkgZmluZGZvbnQgOCBzY2FsZWZvbnQgZGVmAC9JbnZTY2FsZUZhY3RvciAxLjAgZGVmAC9zZXRfc2NhbGUgewAgICAgICAgZHVwIDEgZXhjaCBkaXYgL0ludlNjYWxlRmFjdG9yIGV4Y2ggZGVmACAgICAgICBzY2FsZQAlIHN0eWxlcwAvc29saWQgeyBbXSAwIHNldGRhc2ggfSBiaW5kIGRlZgAvZGFzaGVkIHsgWzkgSW52U2NhbGVGYWN0b3IgbXVsIGR1cCBdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9kb3R0ZWQgeyBbMSBJbnZTY2FsZUZhY3RvciBtdWwgNiBJbnZTY2FsZUZhY3RvciBtdWxdIDAgc2V0ZGFzaCB9IGJpbmQgZGVmAC9pbnZpcyB7L2ZpbGwge25ld3BhdGh9IGRlZiAvc3Ryb2tlIHtuZXdwYXRofSBkZWYgL3Nob3cge3BvcCBuZXdwYXRofSBkZWZ9IGJpbmQgZGVmAC9ib2xkIHsgMiBzZXRsaW5ld2lkdGggfSBiaW5kIGRlZgAvZmlsbGVkIHsgfSBiaW5kIGRlZgAvdW5maWxsZWQgeyB9IGJpbmQgZGVmAC9yb3VuZGVkIHsgfSBiaW5kIGRlZgAvZGlhZ29uYWxzIHsgfSBiaW5kIGRlZgAvdGFwZXJlZCB7IH0gYmluZCBkZWYAJSBob29rcyBmb3Igc2V0dGluZyBjb2xvciAAL25vZGVjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2VkZ2Vjb2xvciB7IHNldGhzYmNvbG9yIH0gYmluZCBkZWYAL2dyYXBoY29sb3IgeyBzZXRoc2Jjb2xvciB9IGJpbmQgZGVmAC9ub3Bjb2xvciB7cG9wIHBvcCBwb3B9IGJpbmQgZGVmAC9iZWdpbnBhZ2UgewklIGkgaiBucGFnZXMACS9ucGFnZXMgZXhjaCBkZWYACS9qIGV4Y2ggZGVmAAkvaSBleGNoIGRlZgAJL3N0ciAxMCBzdHJpbmcgZGVmAAlucGFnZXMgMSBndCB7AAkJZ3NhdmUACQkJY29vcmRmb250IHNldGZvbnQACQkJMCAwIG1vdmV0bwAJCQkoXCgpIHNob3cgaSBzdHIgY3ZzIHNob3cgKCwpIHNob3cgaiBzdHIgY3ZzIHNob3cgKFwpKSBzaG93AAkJZ3Jlc3RvcmUACX0gaWYAL3NldF9mb250IHsACWZpbmRmb250IGV4Y2gACXNjYWxlZm9udCBzZXRmb250ACUgZHJhdyB0ZXh0IGZpdHRlZCB0byBpdHMgZXhwZWN0ZWQgd2lkdGgAL2FsaWduZWR0ZXh0IHsJCQklIHdpZHRoIHRleHQACS90ZXh0IGV4Y2ggZGVmAAkvd2lkdGggZXhjaCBkZWYACWdzYXZlAAkJd2lkdGggMCBndCB7AAkJCVtdIDAgc2V0ZGFzaAAJCQl0ZXh0IHN0cmluZ3dpZHRoIHBvcCB3aWR0aCBleGNoIHN1YiB0ZXh0IGxlbmd0aCBkaXYgMCB0ZXh0IGFzaG93AAkJfSBpZgAJZ3Jlc3RvcmUAL2JveHByaW0gewkJCQklIHhjb3JuZXIgeWNvcm5lciB4c2l6ZSB5c2l6ZQAJCTQgMiByb2xsAAkJbW92ZXRvAAkJMiBjb3B5AAkJZXhjaCAwIHJsaW5ldG8ACQkwIGV4Y2ggcmxpbmV0bwAJCXBvcCBuZWcgMCBybGluZXRvAAkJY2xvc2VwYXRoAC9lbGxpcHNlX3BhdGggewAJL3J5IGV4Y2ggZGVmAAkvcnggZXhjaCBkZWYACS95IGV4Y2ggZGVmAAkveCBleGNoIGRlZgAJbWF0cml4IGN1cnJlbnRtYXRyaXgACW5ld3BhdGgACXggeSB0cmFuc2xhdGUACXJ4IHJ5IHNjYWxlAAkwIDAgMSAwIDM2MCBhcmMACXNldG1hdHJpeAAvZW5kcGFnZSB7IHNob3dwYWdlIH0gYmluZCBkZWYAL3Nob3dwYWdlIHsgfSBkZWYAL2xheWVyY29sb3JzZXEACVsJJSBsYXllciBjb2xvciBzZXF1ZW5jZSAtIGRhcmtlc3QgdG8gbGlnaHRlc3QACQlbMCAwIDBdAAkJWy4yIC44IC44XQAJCVsuNCAuOCAuOF0ACQlbLjYgLjggLjhdAAkJWy44IC44IC44XQAJXQBkZWYAL2xheWVybGVuIGxheWVyY29sb3JzZXEgbGVuZ3RoIGRlZgAvc2V0bGF5ZXIgey9tYXhsYXllciBleGNoIGRlZiAvY3VybGF5ZXIgZXhjaCBkZWYACWxheWVyY29sb3JzZXEgY3VybGF5ZXIgMSBzdWIgbGF5ZXJsZW4gbW9kIGdldAAJYWxvYWQgcG9wIHNldGhzYmNvbG9yAAkvbm9kZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZWRnZWNvbG9yIHtub3Bjb2xvcn0gZGVmAAkvZ3JhcGhjb2xvciB7bm9wY29sb3J9IGRlZgAvb25sYXllciB7IGN1cmxheWVyIG5lIHtpbnZpc30gaWYgfSBkZWYAL29ubGF5ZXJzIHsACS9teXVwcGVyIGV4Y2ggZGVmAAkvbXlsb3dlciBleGNoIGRlZgAJY3VybGF5ZXIgbXlsb3dlciBsdAAJY3VybGF5ZXIgbXl1cHBlciBndAAJb3IACXtpbnZpc30gaWYAL2N1cmxheWVyIDAgZGVmACUlRW5kUmVzb3VyY2UAJSVFbmRQcm9sb2cAJSVCZWdpblNldHVwADE0IGRlZmF1bHQtZm9udC1mYW1pbHkgc2V0X2ZvbnQAJSAvYXJyb3dsZW5ndGggMTAgZGVmACUgL2Fycm93d2lkdGggNSBkZWYAJSBtYWtlIHN1cmUgcGRmbWFyayBpcyBoYXJtbGVzcyBmb3IgUFMtaW50ZXJwcmV0ZXJzIG90aGVyIHRoYW4gRGlzdGlsbGVyAC9wZGZtYXJrIHdoZXJlIHtwb3B9IHt1c2VyZGljdCAvcGRmbWFyayAvY2xlYXJ0b21hcmsgbG9hZCBwdXR9IGlmZWxzZQAlIG1ha2UgJzw8JyBhbmQgJz4+JyBzYWZlIG9uIFBTIExldmVsIDEgZGV2aWNlcwAvbGFuZ3VhZ2VsZXZlbCB3aGVyZSB7cG9wIGxhbmd1YWdlbGV2ZWx9ezF9IGlmZWxzZQAyIGx0IHsAICAgIHVzZXJkaWN0ICg8PCkgY3ZuIChbKSBjdm4gbG9hZCBwdXQAICAgIHVzZXJkaWN0ICg+PikgY3ZuIChbKSBjdm4gbG9hZCBwdXQAfSBpZgAlJUVuZFNldHVwACUlVHJhaWxlcgoAJSUlJVBhZ2VzOiAlZAoAZW5kCnJlc3RvcmUKACUlRU9GCgAlIVBTLUFkb2JlLTMuMAAgRVBTRi0zLjAKACUlJSVDcmVhdG9yOiAlcyB2ZXJzaW9uICVzICglcykKAHBzMjpwcwA8IS0tIAA8cG9seWxpbmUAIHBvaW50cz0iACIvPgoAIGZpbGw9IgB1cmwoI2xfJWQpAHVybCgjcl8lZCkAIiBmaWxsLW9wYWNpdHk9IiVmACIgc3Ryb2tlPSIAIiBzdHJva2Utd2lkdGg9IgAiIHN0cm9rZS1kYXNoYXJyYXk9IiVzADUsMgAxLDUAIiBzdHJva2Utb3BhY2l0eT0iJWYAZ3ZyZW5kZXJfY29yZV9zdmcuYwBzdmdfcHJpbnRfY29sb3IAPHBhdGgAIGlkPSIAX3AiIAAgZD0iACVjADxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InJfJWQiIGN4PSI1MCUlIiBjeT0iNTAlJSIgcj0iNzUlJSIgZng9IiVkJSUiIGZ5PSIlZCUlIj4KADxzdG9wIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6ADtzdG9wLW9wYWNpdHk6ADEuADsiLz4KADxzdG9wIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9yYWRpYWxHcmFkaWVudD4KPC9kZWZzPgoAPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0ibF8lZCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIAB4MT0iACIgeTE9IgAiIHgyPSIAIiB5Mj0iACIgPgoAPHN0b3Agb2Zmc2V0PSIlLjAzZiIgc3R5bGU9InN0b3AtY29sb3I6ADsiLz4KPC9saW5lYXJHcmFkaWVudD4KPC9kZWZzPgoAPHBvbHlnb24APGVsbGlwc2UAIGN4PSIAIiBjeT0iACIgcng9IgAiIHJ5PSIAPHRleHQAIHRleHQtYW5jaG9yPSJzdGFydCIAIHRleHQtYW5jaG9yPSJlbmQiACB0ZXh0LWFuY2hvcj0ibWlkZGxlIgAgeD0iACIgeT0iACBmb250LWZhbWlseT0iJXMALCVzACBmb250LXdlaWdodD0iJXMiACBmb250LXN0cmV0Y2g9IiVzIgAgZm9udC1zdHlsZT0iJXMiACBmb250LWZhbWlseT0iJXMiACBmb250LXdlaWdodD0iYm9sZCIAIGZvbnQtc3R5bGU9Iml0YWxpYyIAIHRleHQtZGVjb3JhdGlvbj0iACVzb3ZlcmxpbmUAJXNsaW5lLXRocm91Z2gAIGJhc2VsaW5lLXNoaWZ0PSJzdXBlciIAIGJhc2VsaW5lLXNoaWZ0PSJzdWIiACBmb250LXNpemU9IiUuMmYiACBmaWxsPSIlcyIAIGZpbGw9IiMlMDJ4JTAyeCUwMngiAHN2Z190ZXh0c3BhbgA+ADx0ZXh0UGF0aCB4bGluazpocmVmPSIjJXNfcCIgc3RhcnRPZmZzZXQ9IjUwJSUiPgA8dHNwYW4geD0iMCIgZHk9IgAiPgA8L3RzcGFuPjwvdGV4dFBhdGg+ADwvdGV4dD4KADwvZz4KADxnACBpZD0iYV8AIHhsaW5rOmhyZWY9IgAgeGxpbms6dGl0bGU9IgAgdGFyZ2V0PSIAPHRpdGxlPgA8L3RpdGxlPgoAPGcgaWQ9IgBfJXMAIiBjbGFzcz0iJXMAY2xhc3MAIHRyYW5zZm9ybT0ic2NhbGUoACkgcm90YXRlKCVkKSB0cmFuc2xhdGUoACkiPgoAPC9zdmc+CgA8IS0tACBQYWdlczogJWQgLS0+CgA8c3ZnIHdpZHRoPSIlZHB0IiBoZWlnaHQ9IiVkcHQiCgAgdmlld0JveD0iJS4yZiAlLjJmICUuMmYgJS4yZiIAIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIAIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgA8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYtOCIgc3RhbmRhbG9uZT0ibm8iPz4KAHN0eWxlc2hlZXQAPD94bWwtc3R5bGVzaGVldCBocmVmPSIAIiB0eXBlPSJ0ZXh0L2NzcyI/PgoAPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIgoAICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPgoAPCEtLSBHZW5lcmF0ZWQgYnkgAGRhcmtibHVlAGRhcmtjeWFuAGRhcmtncmF5AGRhcmtncmV5AGRhcmttYWdlbnRhAGRhcmtyZWQAbGlnaHRncmVlbgAjIAAgY3JlYXRlIGxpbmUgACAtZmlsbCAAIC1kYXNoIDUAIC1kYXNoIDIAZ3ZyZW5kZXJfY29yZV90ay5jAHRrZ2VuX3ByaW50X3RhZ3MAZ3JhcGggbGFiZWwAIC10YWdzIHslZCVzJXB9AHRrZ2VuX3ByaW50X2NvbG9yACRjACAtd2lkdGggACAtc21vb3RoIGJlemllciAAIGNyZWF0ZSBwb2x5Z29uIAAgLW91dGxpbmUgACBjcmVhdGUgb3ZhbCAAIGNyZWF0ZSB0ZXh0IAAgLXRleHQgewB9ACAtZm9udCB7ACAlZH0AIC1hbmNob3IgdwAgLWFuY2hvciBlACMAIFRpdGxlOiAAIFBhZ2VzOiAlZAoAIyBHZW5lcmF0ZWQgYnkgACkKAHRrAHRrOnRrACAgICAgIDwhLS0gACAtLT4KAEVycm9yIGR1cmluZyBjb252ZXJzaW9uIHRvICJVVEYtOCIuICBRdWl0aW5nLgoAIDx2OnNoYXBlIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACB3aWR0aDogJWQ7IGhlaWdodDogJWQiIGZpbGxlZD0iZmFsc2UiPgA8djpwYXRoIHY9IgAgbSAAJS4wZiwlLjBmIAAgbCAAIGUgACIvPgA8L3Y6c2hhcGU+CgA8djpzdHJva2UgY29sb3I9IgAiIHdlaWdodD0iJS4wZnB0ACIgZGFzaHN0eWxlPSJkYXNoACIgZGFzaHN0eWxlPSJkb3QAIiAvPgAjJTAyeCUwMnglMDJ4AGd2cmVuZGVyX2NvcmVfdm1sLmMAdm1sX3ByaW50X2NvbG9yACB3aWR0aDogJWQ7IGhlaWdodDogJWQiACA+ADx2OnBhdGggIHY9IgAvPjwvdjpzaGFwZT4KAG0gACVzJS4wZiwlLjBmIABjIAAgZmlsbGVkPSJ0cnVlIiBmaWxsY29sb3I9IgAiIAAgZmlsbGVkPSJmYWxzZSIgACUuMGYgJS4wZiAAbCAAeCBlICIvPgAgIDx2Om92YWwgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlOwAgbGVmdDogJS4yZjsgdG9wOiAlLjJmOwAgd2lkdGg6ICUuMmY7IGhlaWdodDogJS4yZiIAPC92Om92YWw+CgA8djpyZWN0IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTsgACBzdHJva2VkPSJmYWxzZSIgZmlsbGVkPSJmYWxzZSI+CgA8djp0ZXh0Ym94IGluc2V0PSIwLDAsMCwwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHYtdGV4dC13cmFwcGluZzonZmFsc2UnO3BhZGRpbmc6JzAnOwBmb250LWZhbWlseTogJyVzJzsAZm9udC13ZWlnaHQ6ICVzOwBmb250LXN0cmV0Y2g6ICVzOwBmb250LXN0eWxlOiAlczsAIGZvbnQtc2l6ZTogJS4yZnB0OwBjb2xvcjolczsAY29sb3I6IyUwMnglMDJ4JTAyeDsAdm1sX3RleHRzcGFuACI+PGNlbnRlcj4APC9jZW50ZXI+PC92OnRleHRib3g+CgA8L3Y6cmVjdD4KADwvYT4KADxhACBocmVmPSIlcyIAIHRpdGxlPSIlcyIAIHRhcmdldD0iJXMiAD4KADwvdjpncm91cD4KADwvRElWPgoAPERJViBpZD0nX1ZNTDJfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW4iPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIGh0bWwgY29udGVudCBoZXJlIC0tPgoAPERJViBpZD0nX25vdFZNTDFfJyBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij4KADwhLS0gdGhpcyBzaG91bGQgb25seSBkaXNwbGF5IG9uIE5PTi1JRSBicm93c2VycyAtLT4KADxIMj5Tb3JyeSwgdGhpcyBkaWFncmFtIHdpbGwgb25seSBkaXNwbGF5IGNvcnJlY3RseSBvbiBJbnRlcm5ldCBFeHBsb3JlciA1IChhbmQgdXApIGJyb3dzZXJzLjwvSDI+CgA8RElWIGlkPSdfbm90Vk1MMl8nIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTsiPgoAPCEtLSBpbnNlcnQgYW55IG90aGVyIE5PTi1JRSBodG1sIGNvbnRlbnQgaGVyZSAtLT4KADwvQk9EWT4KPC9IVE1MPgoAPEhFQUQ+ADxNRVRBIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Ij4KADxUSVRMRT4APC9USVRMRT4APCEtLSBQYWdlczogJWQgLS0+CgAgICA8U0NSSVBUIExBTkdVQUdFPSdKYXZhc2NyaXB0Jz4KACAgIGZ1bmN0aW9uIGJyb3dzZXJjaGVjaygpCgAgICB7CgAgICAgICB2YXIgdWEgPSB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudAoAICAgICAgdmFyIG1zaWUgPSB1YS5pbmRleE9mICggJ01TSUUgJyApCgAgICAgICB2YXIgaWV2ZXJzOwoAICAgICAgdmFyIGl0ZW07CgAgICAgICB2YXIgVk1MeWVzPW5ldyBBcnJheSgnX1ZNTDFfJywnX1ZNTDJfJyk7CgAgICAgICB2YXIgVk1Mbm89bmV3IEFycmF5KCdfbm90Vk1MMV8nLCdfbm90Vk1MMl8nKTsKACAgICAgIGlmICggbXNpZSA+IDAgKXsgICAgICAvLyBJZiBJbnRlcm5ldCBFeHBsb3JlciwgcmV0dXJuIHZlcnNpb24gbnVtYmVyCgAgICAgICAgICBpZXZlcnM9IHBhcnNlSW50ICh1YS5zdWJzdHJpbmcgKG1zaWUrNSwgdWEuaW5kZXhPZiAoJy4nLCBtc2llICkpKQoAICAgICAgfQoAICAgICAgaWYgKGlldmVycz49NSl7CgAgICAgICAgZm9yICh4IGluIFZNTHllcyl7CgAgICAgICAgICBpdGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoVk1MeWVzW3hdKTsKACAgICAg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ZW5kX3BhZ2UKAC8vKioqIGJlZ2luX3BhZ2UKAC8vKioqIGVuZF9sYXllcgoALy8qKiogYmVnaW5fbGF5ZXI6ICVzLCAlZC8lZAoALy8qKiogZW5kX2dyYXBoCgAvLyoqKiBiZWdpbl9ncmFwaCAlcwoAY2FtZXJhIHsgbG9jYXRpb24gPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgbG9va19hdCAgPCUuM2YgLCAlLjNmICwgJS4zZj4KICAgICAgICAgcmlnaHQgeCAqIGltYWdlX3dpZHRoIC8gaW1hZ2VfaGVpZ2h0CiAgICAgICAgIGFuZ2xlICUuM2YKfQoALy9za3kKcGxhbmUgeyA8MCwgMSwgMD4sIDEgaG9sbG93CiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50IHsgYm96byB0dXJidWxlbmNlIDAuOTUKICAgICAgICAgICAgY29sb3JfbWFwIHsKICAgICAgICAgICAgICAgIFswLjAwIHJnYiA8MC4wNSwgMC4yMCwgMC41MD5dCiAgICAgICAgICAgICAgICBbMC41MCByZ2IgPDAuMDUsIDAuMjAsIDAuNTA+XQogICAgICAgICAgICAgICAgWzAuNzUgcmdiIDwxLjAwLCAxLjAwLCAxLjAwPl0KICAgICAgICAgICAgICAgIFswLjc1IHJnYiA8MC4yNSwgMC4yNSwgMC4yNT5dCiAgICAgICAgICAgICAgICBbMS4wMCByZ2IgPDAuNTAsIDAuNTAsIDAuNTA+XQogICAgICAgICAgICB9CiAgICAgICAgICAgIHNjYWxlIDwxLjAwLCAxLjAwLCAxLjUwPiAqIDIuNTAKICAgICAgICAgICAgdHJhbnNsYXRlIDwwLjAwLCAwLjAwLCAwLjAwPgogICAgICAgIH0KICAgICAgICBmaW5pc2ggeyBhbWJpZW50IDEgZGlmZnVzZSAwIH0KICAgIH0KICAgIHNjYWxlIDEwMDAwCn0KLy9taXN0CmZvZyB7IGZvZ190eXBlIDIKICAgIGRpc3RhbmNlIDUwCiAgICBjb2xvciByZ2IgPDEuMDAsIDEuMDAsIDEuMDA+ICogMC43NQogICAgZm9nX29mZnNldCAwLjEwCiAgICBmb2dfYWx0IDEuNTAKICAgIHR1cmJ1bGVuY2UgMS43NQp9Ci8vZ25kCnBsYW5lIHsgPDAuMDAsIDEuMDAsIDAuMDA+LCAwCiAgICB0ZXh0dXJlIHsKICAgICAgICBwaWdtZW50eyBjb2xvciByZ2IgPDAuMjUsIDAuNDUsIDAuMDA+IH0KICAgICAgICBub3JtYWwgeyBidW1wcyAwLjc1IHNjYWxlIDAuMDEgfQogICAgICAgIGZpbmlzaCB7IHBob25nIDAuMTAgfQogICAgfQp9CgBsaWdodF9zb3VyY2UgeyA8MTUwMCwzMDAwLC0yNTAwPiBjb2xvciBXaGl0ZSB9CgAjdmVyc2lvbiAzLjY7CgBnbG9iYWxfc2V0dGluZ3MgeyBhc3N1bWVkX2dhbW1hIDEuMCB9CgAjZGVmYXVsdCB7IGZpbmlzaCB7IGFtYmllbnQgMC4xIGRpZmZ1c2UgMC45IH0gfQoAI2luY2x1ZGUgImNvbG9ycy5pbmMiCiNpbmNsdWRlICJ0ZXh0dXJlcy5pbmMiCiNpbmNsdWRlICJzaGFwZXMuaW5jIgoAI2RlY2xhcmUgJXMgPSAlczsKAEJsYWNrAFdoaXRlAGJha2Vyc2Nob2MAYnJhc3MAYnJpZ2h0Z29sZABicm9uemUAYnJvbnplMgBjbGVhcgBjb29sY29wcGVyAGNvcHBlcgBkYXJrYnJvd24AZGFya3B1cnBsZQBkYXJrdGFuAGRhcmt3b29kAGRrZ3JlZW5jb3BwZXIAZHVzdHlyb3NlAGZlbGRzcGFyAGZsZXNoAGdyYXkwNQBncmVlbmNvcHBlcgBodW50ZXJzZ3JlZW4AbGlnaHRfcHVycGxlAGxpZ2h0d29vZABtYW5kYXJpbm9yYW5nZQBtZWRpdW1mb3Jlc3RncmVlbgBtZWRpdW1nb2xkZW5yb2QAbWVkaXVtd29vZABtZWRfcHVycGxlAG1pY2EAbmVvbmJsdWUAbmVvbnBpbmsAbmV3bWlkbmlnaHRibHVlAG5ld3RhbgBvbGRnb2xkAHF1YXJ0egByaWNoYmx1ZQBzY2FybGV0AHNlbWlTd2VldENob2MAc2lsdmVyAHNwaWN5cGluawBzdW1tZXJza3kAdmVyeWRhcmticm93bgB2ZXJ5X2xpZ2h0X3B1cnBsZQBwb3YAcG92OnBvdgAlcyAlcwoALlwiIAAgJWQgJWQAICVzCgAgJWQAZmlsbCAAZWxsaXBzZSBhdHRycyVkICVzd2lkICUuNWYgaHQgJS41ZiBhdCAoJS41ZiwlLjVmKTsKAC5mdCAlcwoALnBzICVkKlxuKFNGdS8lLjBmdQoAIiVzIiBhdCAoJS41ZiwlLjVmKTsKACUwM28AJXMlcyBpcyBub3QgYSB0cm9mZiBmb250CgBkb3QgcGljIHBsdWdpbjogAFIAXQouUEUKAC5QUyAlLjVmICUuNWYKACVzIHRvIGNoYW5nZSBkcmF3aW5nIHNpemUsIG11bHRpcGx5IHRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9uIHRoZSAuUFMgbGluZSBhYm92ZSBhbmQgdGhlIG51bWJlciBvbiB0aGUgdHdvIGxpbmVzIGJlbG93IChyb3VuZGVkIHRvIHRoZSBuZWFyZXN0IGludGVnZXIpIGJ5IGEgc2NhbGUgZmFjdG9yCgAubnIgU0YgJS4wZgpzY2FsZXRoaWNrbmVzcyA9ICUuMGYKACVzIGRvbid0IGNoYW5nZSBhbnl0aGluZyBiZWxvdyB0aGlzIGxpbmUgaW4gdGhpcyBkcmF3aW5nCgAlcyBub24tZmF0YWwgcnVuLXRpbWUgcGljIHZlcnNpb24gZGV0ZXJtaW5hdGlvbiwgdmVyc2lvbiAyCgBib3hyYWQ9Mi4wICVzIHdpbGwgYmUgcmVzZXQgdG8gMC4wIGJ5IGdwaWMgb25seQoAc2NhbGU9MS4wICVzIHJlcXVpcmVkIGZvciBjb21wYXJpc29ucwoAJXMgYm94cmFkIGlzIG5vdyAwLjAgaW4gZ3BpYywgZWxzZSBpdCByZW1haW5zIDIuMAoAJXMgZGFzaHdpZCBpcyAwLjEgaW4gMTB0aCBFZGl0aW9uLCAwLjA1IGluIERXQiAyIGFuZCBpbiBncGljCgAlcyBmaWxsdmFsIGlzIDAuMyBpbiAxMHRoIEVkaXRpb24gKGZpbGwgMCBtZWFucyBibGFjayksIDAuNSBpbiBncGljIChmaWxsIDAgbWVhbnMgd2hpdGUpLCB1bmRlZmluZWQgaW4gRFdCIDIKACVzIGZpbGwgaGFzIG5vIG1lYW5pbmcgaW4gRFdCIDIsIGdwaWMgY2FuIHVzZSBmaWxsIG9yIGZpbGxlZCwgMTB0aCBFZGl0aW9uIHVzZXMgZmlsbCBvbmx5CgAlcyBEV0IgMiBkb2Vzbid0IHVzZSBmaWxsIGFuZCBkb2Vzbid0IGRlZmluZSBmaWxsdmFsCgAlcyByZXNldCB3b3JrcyBpbiBncGljIGFuZCAxMHRoIGVkaXRpb24sIGJ1dCBpc24ndCBkZWZpbmVkIGluIERXQiAyCgAlcyBEV0IgMiBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zCgBpZiBib3hyYWQgPiAxLjAgJiYgZGFzaHdpZCA8IDAuMDc1IHRoZW4gWAoJZmlsbHZhbCA9IDE7CglkZWZpbmUgZmlsbCBZIFk7CglkZWZpbmUgc29saWQgWSBZOwoJZGVmaW5lIHJlc2V0IFkgc2NhbGU9MS4wIFk7ClgKAHJlc2V0ICVzIHNldCB0byBrbm93biBzdGF0ZQoAJXMgR05VIHBpYyB2cy4gMTB0aCBFZGl0aW9uIGRcKGUndGVudGUKAGlmIGZpbGx2YWwgPiAwLjQgdGhlbiBYCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSAxIC0gWTsKCWRlZmluZSBib2xkIFkgdGhpY2tuZXNzIDIgWTsKAAklcyBpZiB5b3UgdXNlIGdwaWMgYW5kIGl0IGJhcmZzIG9uIGVuY291bnRlcmluZyAic29saWQiLAoACSVzCWluc3RhbGwgYSBtb3JlIHJlY2VudCB2ZXJzaW9uIG9mIGdwaWMgb3Igc3dpdGNoIHRvIERXQiBvciAxMHRoIEVkaXRpb24gcGljOwoACSVzCXNvcnJ5LCB0aGUgZ3JvZmYgZm9sa3MgY2hhbmdlZCBncGljOyBzZW5kIGFueSBjb21wbGFpbnQgdG8gdGhlbTsKAFggZWxzZSBaCglkZWZpbmUgc2V0ZmlsbHZhbCBZIGZpbGx2YWwgPSBZOwoJZGVmaW5lIGJvbGQgWSBZOwoJZGVmaW5lIGZpbGxlZCBZIGZpbGwgWTsKWgoAJXMgYXJyb3doZWFkIGhhcyBubyBtZWFuaW5nIGluIERXQiAyLCBhcnJvd2hlYWQgPSA3IG1ha2VzIGZpbGxlZCBhcnJvd2hlYWRzIGluIGdwaWMgYW5kIGluIDEwdGggRWRpdGlvbgoAJXMgYXJyb3doZWFkIGlzIHVuZGVmaW5lZCBpbiBEV0IgMiwgaW5pdGlh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IH0KACAgICB0ZXh0dXJlIEltYWdlVGV4dHVyZSB7IHVybCAiJXMiIH0KACAgfQoAY29yZV9sb2FkaW1hZ2VfZmlnACVkICVkICVkICVkICVkICVkICVkICVkICVkICUuMWYgJWQgJWQgJWQgJWQgJWQgJWQKICVkICVzCgAgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQgJWQKAGNvcmVfbG9hZGltYWdlX3N2ZwA8aW1hZ2UgeGxpbms6aHJlZj0iACIgd2lkdGg9IiVncHgiIGhlaWdodD0iJWdweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgeD0iJWciIHk9IiVnIgAgdHJhbnNmb3JtPSJyb3RhdGUoJWQgJWcgJWcpIgAiIHdpZHRoPSIlZ3B4IiBoZWlnaHQ9IiVncHgiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHg9IiVnIiB5PSIlZyIALz4KAGRvdF9sYXlvdXQAcGhhc2UAZG90IGRvZXMgbm90IHN1cHBvcnQgdGhlIGFzcGVjdCBhdHRyaWJ1dGUgZm9yIGRpc2Nvbm5lY3RlZCBncmFwaHMgb3IgZ3JhcGhzIHdpdGggY2x1c3RlcnMKAGNvbXBvdW5kAHYgPT0gbgBkb3Rpbml0LmMAcmVtb3ZlX2Zyb21fcmFuawBvcmRlcgBlZGdlIGxhYmVscyB3aXRoIHNwbGluZXM9Y3VydmVkIG5vdCBzdXBwb3J0ZWQgaW4gZG90IC0gdXNlIHhsYWJlbHMKAEVEX2xhYmVsKGZlKQBkb3RzcGxpbmVzLmMAX2RvdF9zcGxpbmVzAGZsYXQgZWRnZSBiZXR3ZWVuIGFkamFjZW50IG5vZGVzIG9uZSBvZiB3aGljaCBoYXMgYSByZWNvcmQgc2hhcGUgLSByZXBsYWNlIHJlY29yZHMgd2l0aCBIVE1MLWxpa2UgbGFiZWxzCgAgIEVkZ2UgJXMgJXMgJXMKAHh4eAAxMDAwMAB7JXN9AGF1eGcAbGFiZWxfZmxvYXQAZml4ZWQAKGwgPSBFRF9sYWJlbChmZSkpAHNldEVkZ2VMYWJlbFBvcwBlICE9IE5VTEwAZmFzdGdyLmMAZGVsZXRlX2Zhc3RfZWRnZQBuICE9IE5EX25leHQobikAZmFzdF9ub2RlAHUgIT0gdgBmYXN0X25vZGVhcHAATkRfbmV4dCh2KSA9PSBOVUxMAGZpbmRfZmFzdF9ub2RlKGcsIG4pAGRlbGV0ZV9mYXN0X25vZGUAZGVsZXRlX2ZsYXRfZWRnZQBtZXJnZV9vbmV3YXkgZ2xpdGNoCgBtZXJnZV9vbmV3YXkAc2FmZV9kZWxldGVfZmFzdF9lZGdlAGxnAGNvbXAAY250ID09IHN6AG1pbmNyb3NzLmMAZml4TGFiZWxPcmRlcgByZW1pbmNyb3NzAG1pbmNyb3NzICVzOiAlZCBjcm9zc2luZ3MsICUuMmYgc2Vjcy4KAHYAbmVpZ2hib3IAKHJ2ID09IDApIHx8IChORF9vcmRlcihydiktTkRfb3JkZXIodikpKmRpciA+IDAAY29uc3RyYWluaW5nX2ZsYXRfZWRnZShnLHYsZSkgPT0gRkFMU0UAZmxhdF9yZW9yZGVyAE5EX3JhbmsodikgPT0gcgBwb3N0b3JkZXIAZmxhdGluZGV4KGFnaGVhZChlKSkgPCBNLT5ucm93cwBmbGF0X3NlYXJjaABmbGF0aW5kZXgoYWd0YWlsKGUpKSA8IE0tPm5jb2xzAG91dABvcmRlcmluZyAnJXMnIG5vdCByZWNvZ25pemVkLgoAb3JkZXJpbmcgJyVzJyBub3QgcmVjb2duaXplZCBmb3Igbm9kZSAnJXMnLgoAbWVyZ2UyOiBncmFwaCAlcywgcmFuayAlZCBoYXMgb25seSAlZCA8ICVkIG5vZGVzCgBtaW5jcm9zczogcGFzcyAlZCBpdGVyICVkIHRyeWluZyAlZCBjdXJfY3Jvc3MgJWQgYmVzdF9jcm9zcyAlZAoATkRfb3JkZXIodikgPCBORF9vcmRlcih3KQBiYWxhbmNlAHRyYW5zcG9zZV9zdGVwAHN1cnByaXNlCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6ICVzICVzIHJhbmsgJWQgaSA9ICVkIGFuID0gMAoAR0RfcmFuayhnKVtyXS5uIDw9IEdEX3JhbmsoZylbcl0uYW4AaW5zdGFsbF9pbl9yYW5rAGluc3RhbGxfaW5fcmFuaywgbGluZSAlZDogTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKFJvb3QpWyVkXS5hbiBbJWRdCgBpbnN0YWxsX2luX3JhbmssIGxpbmUgJWQ6IHJhbmsgJWQgbm90IGluIHJhbmsgcmFuZ2UgWyVkLCVkXQoAaW5zdGFsbF9pbl9yYW5rLCBsaW5lICVkOiBHRF9yYW5rKGcpWyVkXS52ICsgTkRfb3JkZXIoJXMpIFslZF0gPiBHRF9yYW5rKGcpWyVkXS5hdiArIEdEX3JhbmsoUm9vdClbJWRdLmFuIFslZF0KAF9uZXdfcmFuawBtY2xpbWl0AHJhbmsoZywgMiwgbnNpdGVyMihnKSkgPT0gMABwb3NpdGlvbi5jAGRvdF9wb3NpdGlvbgBBUj0lMC40bGYJIEFyZWE9ICUwLjRsZgkARHVtbXk9JWQKAEdvaW5nIHRvIGFwcGx5IGFub3RoZXIgZXhwYW5zaW9uLgoAbmV4dCNpdGVyPSVkCgBocABjb25uZWN0R3JhcGgARWRnZSBsZW5ndGggJWYgbGFyZ2VyIHRoYW4gbWF4aW11bSAldSBhbGxvd2VkLgpDaGVjayBmb3Igb3ZlcndpZGUgbm9kZShzKS4KAG5zbGltaXQAY29udGFpbl9ub2RlcyBjbHVzdCAlcyByYW5rICVkIG1pc3Npbmcgbm9kZQoAbnNsaW1pdDEAbmV3cmFuawBNYXhyYW5rID0gJWQsIG1pbnJhbmsgPSAlZAoAbGVhZGVyICE9IE5VTEwAcmFuay5jAGNsdXN0ZXJfbGVhZGVyAChORF9VRl9zaXplKG4pIDw9IDEpIHx8IChuID09IGxlYWRlcikAYWdoZWFkKGUpID09IFVGX2ZpbmQoYWdoZWFkKGUpKQBtaW5tYXhfZWRnZXMAYWd0YWlsKGUpID09IFVGX2ZpbmQoYWd0YWlsKGUpKQByYW5rAHNhbWUAbWluAHNvdXJjZQBtYXgAc2luawBsZXZlbCBhc3NpZ25tZW50IGNvbnN0cmFpbnRzAGxldmVsIGdyYXBoIHJlYwB/cm9vdAB/dG9wAH9ib3QAY29tcGFjdABfd2Vha18lZAByYW5raW5nOiBmYWlsdXJlIHRvIGNyZWF0ZSBzdHJvbmcgY29uc3RyYWludCBlZGdlIGJldHdlZW4gbm9kZXMgJXMgYW5kICVzCgAlcyBoYXMgdW5yZWNvZ25pemVkIHJhbms9JXMAbGV2ZWwgZWRnZSByZWMAbGV2ZWwgbm9kZSByZWMAc2FtZWhlYWQAc2FtZXRhaWwAdG9vIG1hbnkgKD4gJWQpIHNhbWV7aGVhZCx0YWlsfSBncm91cHMgZm9yIG5vZGUgJXMKAGNvbWJpQVIgPSAlbGYKACVsZiwlZAB0aGUgYXNwZWN0IGF0dHJpYnV0ZSBoYXMgYmVlbiBkaXNhYmxlZCBkdWUgdG8gaW1wbGVtZW50YXRpb24gZmxhd3MgLSBhdHRyaWJ1dGUgaWdub3JlZC4KAEVEX3RvX3ZpcnQoZSkgPT0gTlVMTABjbGFzczIuYwBtZXJnZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpID09IE5VTEwAbWFrZV9jaGFpbgBFRF90b192aXJ0KG9yaWcpICE9IE5VTEwATkRfcmFuayhmcm9tKSA8IE5EX3JhbmsodG8pAGNsdXN0ZXIuYwBtYXBfcGF0aAAlcyB3YXMgYWxyZWFkeSBpbiBhIHJhbmtzZXQsIGRlbGV0ZWQgZnJvbSBjbHVzdGVyICVzCgBsaGVhZABsdGFpbAAlcyAtPiAlczogc3BsaW5lIHNpemUgPiAxIG5vdCBzdXBwb3J0ZWQKACVzIC0+ICVzOiBoZWFkIG5vdCBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgAlcyAtPiAlczogdGFpbCBpcyBpbnNpZGUgaGVhZCBjbHVzdGVyICVzCgBiZXotPnNmbGFnAGNvbXBvdW5kLmMAbWFrZUNvbXBvdW5kRWRnZQBiZXotPmVmbGFnACVzIC0+ICVzOiB0YWlsIG5vdCBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgAlcyAtPiAlczogaGVhZCBpcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgBzZWdtZW50IFslcywlc10gZG9lcyBub3QgaW50ZXJzZWN0IGJveCBsbD0lcyx1cj0lcwoAYm94SW50ZXJzZWN0ZgAoJS41ZywlLjVnKQBjbHVzdGVyIG5hbWVkICVzIG5vdCBmb3VuZAoAY29uY2VudHJhdGU9dHJ1ZSBtYXkgbm90IHdvcmsgY29ycmVjdGx5LgoAcmVidWlsdGRfdmxpc3RzOiByYW5rIGxlYWQgJXMgbm90IGluIG9yZGVyICVkIG9mIHJhbmsgJWQKAGRlZ2VuZXJhdGUgY29uY2VudHJhdGVkIHJhbmsgJXMsJWQKAE5EX2luKHJpZ2h0KS5zaXplICsgTkRfb3V0KHJpZ2h0KS5zaXplID09IDAAY29uYy5jAG1lcmdldmlydHVhbABkb3Q6IE91dCBvZiBtZW1vcnkKAE5EX291dCh2KS5zaXplID09IDIAZmxhdC5jAHNldGJvdW5kcwBHRF9taW5yYW5rKGcpID09IDAAYWJvbWluYXRpb24AbmVhdG9fbGF5b3V0AG5lYXRvAGZkcAB0d29waQBjaXJjbwBwYXRjaHdvcmsAb3NhZ2UAbm9wAG5vcDEAbm9wMgAlbGYsJWxmLCVsZiVjAG5vZGUgJXMsIHBvc2l0aW9uICVzLCBleHBlY3RlZCB0d28gZG91YmxlcwoAbm90cmFuc2xhdGUAbm9kZSAlcyBpbiBncmFwaCAlcyBoYXMgbm8gcG9zaXRpb24KAHMsJWxmLCVsZiVuACBlLCVsZiwlbGYlbgBwb3MgYXR0cmlidXRlIGZvciBlZGdlICglcywlcykgZG9lc24ndCBoYXZlIDNuKzEgcG9pbnRzCgAlbGYsJWxmJW4Ac3ludGF4IGVycm9yIGluIHBvcyBhdHRyaWJ1dGUgZm9yIGVkZ2UgKCVzLCVzKQoAJWxmLCVsZiwlbGYsJWxmAHN0YXJ0AHNlbGYAcmFuZG9tAG5vZGUgcG9zaXRpb25zIGFyZSBpZ25vcmVkIHVubGVzcyBzdGFydD1yYW5kb20KAGFzIHJlcXVpcmVkIGJ5IHRoZSAtbiBmbGFnCgBfbmVhdG9fY2MAZ3JhcGggJXMgaXMgZGlzY29ubmVjdGVkLiBIZW5jZSwgdGhlIGNpcmN1aXQgbW9kZWwKAEFsdGVybmF0aXZlbHksIGNvbnNpZGVyIHJ1bm5pbmcgbmVhdG8gdXNpbmcgLUdwYWNrPXRydWUgb3IgZGVjb21wb3NpbmcKAHRoZSBncmFwaCBpbnRvIGNvbm5lY3RlZCBjb21wb25lbnRzLgoAU29sdmluZyBtb2RlbCAlZCBpdGVyYXRpb25zICVkIHRvbCAlZgoATkRfaWQobnApID09IGkAbmVhdG9pbml0LmMAbWFrZUdyYXBoRGF0YQBmIDwgZ3JhcGhbal0ubmVkZ2VzAGRmc0N5Y2xlAG1vZGVsICVkIHNtYXJ0X2luaXQgJWQgc3RyZXNzd3QgJWQgaXRlcmF0aW9ucyAlZCB0b2wgJWYKAGNvbnZlcnQgZ3JhcGg6IABtYWpvcml6YXRpb24KACVkIG5vZGVzICUuMmYgc2VjCgBsZXZlbHNnYXAAbGF5b3V0IGFib3J0ZWQKAHN0cmVzc3d0ACVzIGF0dHJpYnV0ZSB2YWx1ZSBtdXN0IGJlIDEgb3IgMiAtIGlnbm9yaW5nCgBtb2RlbABjaXJjdWl0AHN1YnNldABzaG9ydHBhdGgAbWRzAGVkZ2VzIGluIGdyYXBoICVzIGhhdmUgbm8gbGVuIGF0dHJpYnV0ZS4gSGVuY2UsIHRoZSBtZHMgbW9kZWwKAGlzIGluYXBwcm9wcmlhdGUuIFJldmVydGluZyB0byB0aGUgc2hvcnRlc3QgcGF0aCBtb2RlbC4KAFVua25vd24gdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZWwiIGluIGdyYXBoICVzIC0gaWdub3JlZAoAbW9kZQBLSwBtYWpvcgBoaWVyAElsbGVnYWwgdmFsdWUgJXMgZm9yIGF0dHJpYnV0ZSAibW9kZSIgaW4gZ3JhcGggJXMgLSBpZ25vcmVkCgBkaW1lbgBtYWtlU3BsaW5lOiBmYWlsZWQgdG8gbWFrZSBzcGxpbmUgZWRnZSAoJXMsJXMpCgBzcGxpbmUgJXMgJXMKAGIgPT0gbgBuZWF0b3NwbGluZXMuYwBtYWtlX2JhcnJpZXJzAHRoZSBib3VuZGluZyBib3hlcyBvZiBzb21lIG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHNvbWUgbm9kZXMgd2l0aCBtYXJnaW4gKCUuMDJmLCUuMDJmKSB0b3VjaCAtIGZhbGxpbmcgYmFjayB0byBzdHJhaWdodCBsaW5lIGVkZ2VzCgBwb2x5bGluZXMAbGluZSBzZWdtZW50cwBvcnRob2dvbmFsIGxpbmVzAENyZWF0aW5nIGVkZ2VzIHVzaW5nICVzCgBwb2x5bGluZSAlcyAlcwoAbWRzTW9kZWw6IGRlbHRhID0gJWYKAFNldHRpbmcgdXAgc3RyZXNzIGZ1bmN0aW9uAFNvbHZpbmcgbW9kZWw6IAAKZmluYWwgZSA9ICVmICVkIGl0ZXJhdGlvbnMgJS4yZiBzZWMKAERhbXBpbmcAZGVmYXVsdGRpc3QAIGluICVzIC0gc2V0dGluZyB0byAlLjAyZgoAYmFkIGVkZ2UgbGVuICIlcyIAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwoAc3RhcnQ9JXMgbm90IHN1cHBvcnRlZCB3aXRoIG1vZGU9c2VsZiAtIGlnbm9yZWQKAFNldHRpbmcgdXAgc3ByaW5nIG1vZGVsOiAAJS4yZiBzZWMKAApmaW5hbCBlID0gJWYAIQAgJWQlcyBpdGVyYXRpb25zICUuMmYgc2VjCgBNYXguIGl0ZXJhdGlvbnMgKCVkKSByZWFjaGVkIG9uIGdyYXBoICVzCgAlcyAlLjNmCgAlLjNmIABORF9oZWFwaW5kZXgodikgPCAwAHN0dWZmLmMAbmVhdG9fZW5xdWV1ZQBDYWxjdWxhdGluZyBzaG9ydGVzdCBwYXRoczogAHNwZWNpZmllZCByb290IG5vZGUgIiVzIiB3YXMgbm90IGZvdW5kLgBVc2luZyBkZWZhdWx0IGNhbGN1bGF0aW9uIGZvciByb290IG5vZGUKAHJlcG9zaXRpb24gJXMKACVzIDogJWYgJWYKACVzIDogJWYgJWYgJWYgJWYKACAgAEdyYXBoICVzIGhhcyBhcnJheSBwYWNraW5nIHdpdGggdXNlciB2YWx1ZXMgYnV0IG5vICJzb3J0diIgYXR0cmlidXRlcyBhcmUgZGVmaW5lZC4AbGVuAHBpbgBXYXJuaW5nOiBub2RlICVzLCBwb3NpdGlvbiAlcywgZXhwZWN0ZWQgdHdvIGZsb2F0cwoAY29vcmRzAGRpbQBsYXlvdXQgJXMKAGVuZCAlcwoAaWR4ID09IHN6AGxheW91dC5jAGV4cGFuZENsdXN0ZXIAaSA9PSBkZWcAZ2V0RWRnZUxpc3QAX2RnXyVkAGRlcml2ZSBncmFwaCAlcyBvZiAlcwoAbm9kZSAiJXMiIGlzIGNvbnRhaW5lZCBpbiB0d28gbm9uLWNvbXBhcmFibGUgY2x1c3RlcnMgIiVzIiBhbmQgIiVzIgoAX3BvcnRfJXNfJXNfJXNfJWxkAF9wb3J0XyVzXyglZClfKCVkKV8lbGQAJWxmLCVsZiwlbGYsJWxmJWMAZ3JhcGggJXMsIGNvb3JkICVzLCBleHBlY3RlZCBmb3VyIGRvdWJsZXMKAHNwbGluZXMgYW5kIGNsdXN0ZXIgZWRnZXMgbm90IHN1cHBvcnRlZCAtIHVzaW5nIGxpbmUgc2VnbWVudHMKAG1heGl0ZXIASwBUMABmZHAgZG9lcyBub3Qgc3VwcG9ydCBzdGFydD1zZWxmIC0gaWdub3JpbmcKAHhMYXlvdXQgADk6cHJpc20AdHJpZXMgPSAlZCwgbW9kZSA9ICVzCgBkZXJpdmVkAGluZm8Abm9ybWFsaXplAG92ZXJsYXAAT3ZlcmxhcCB2YWx1ZSAiJXMiIHVuc3VwcG9ydGVkIC0gaWdub3JlZAoAVW5yZWNvZ25pemVkIG92ZXJsYXAgdmFsdWUgIiVzIiAtIHVzaW5nIGZhbHNlCgBWb3Jvbm9pAG92ZXJsYXA6ICVzIHZhbHVlICVkIHNjYWxpbmcgJS4wNGYKAG92ZXJsYXBfc2NhbGluZwB2b3Jvbm9pAHNjYWxpbmcAdnBzYwBpcHNlcABvc2NhbGUAb2xkIHNjYWxpbmcAc2NhbGV4eQB4IGFuZCB5IHNjYWxpbmcAb3J0aG8Ab3J0aG9nb25hbCBjb25zdHJhaW50cwBvcnRob195eABvcnRob3h5AHh5IG9ydGhvZ29uYWwgY29uc3RyYWludHMAb3J0aG95eAB5eCBvcnRob2dvbmFsIGNvbnN0cmFpbnRzAHBvcnRobwBwc2V1ZG8tb3J0aG9nb25hbCBjb25zdHJhaW50cwBwb3J0aG9feXgAcG9ydGhveHkAeHkgcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcG9ydGhveXgAeXggcHNldWRvLW9ydGhvZ29uYWwgY29uc3RyYWludHMAcHJpc20AQWRqdXN0aW5nICVzIHVzaW5nICVzCgBVbmhhbmRsZWQgYWRqdXN0IG9wdGlvbiAlcwoATnVtYmVyIG9mIGl0ZXJhdGlvbnMgPSAlZAoATnVtYmVyIG9mIGluY3JlYXNlcyA9ICVkCgBvdmVybGFwIFslZF0gOiAlZAoAdm9yb19tYXJnaW4Ac2VwAGVzZXAATm9kZSBzZXBhcmF0aW9uOiBhZGQ9JWQgKCVmLCVmKQoAJWYsJWYAc2NhbGUgPSAoJS4wM2YsJS4wM2YpCgBFZGdlIHNlcGFyYXRpb246IGFkZD0lZCAoJWYsJWYpCgBDYWxjdWxhdGluZyBjaXJjdWl0IG1vZGVsAGNvbmp1Z2F0ZV9ncmFkaWVudDogdW5leHBlY3RlZCBsZW5ndGggMCB2ZWN0b3IKAENhbGN1bGF0aW5nIHN1YnNldCBtb2RlbABncmFwaCBpcyBkaXNjb25uZWN0ZWQuIEhlbmNlLCB0aGUgY2lyY3VpdCBtb2RlbAoAaXMgdW5kZWZpbmVkLiBSZXZlcnRpbmcgdG8gdGhlIHNob3J0ZXN0IHBhdGggbW9kZWwuCgBDYWxjdWxhdGluZyBNRFMgbW9kZWwAQ2FsY3VsYXRpbmcgc2hvcnRlc3QgcGF0aHMAOiAlLjJmIHNlYwoAU2V0dGluZyBpbml0aWFsIHBvc2l0aW9ucwA6ICUuMmYgc2VjAGNnAGRlbHRhIDw9IDB4RkZGRgBjb25zdHJhaW50LmMAbWtOQ29uc3RyYWludEcAdmcAY29tcHJlc3MgJWcgCgBzY2FsZSBieSAlZywlZyAKAGJlc3Rjb3N0IDwgSFVHRV9WQUwAY29tcHV0ZVNjYWxlWFkAdHJ5aW5nIHRvIGRlbGV0ZSBhIG5vbi1saW5lCgAKaW50ZXJzZWN0aW9uIGF0ICUuM2YgJS4zZgoAc2VnIyVkIDogKCUuM2YsICUuM2YpICglLjNmLCAlLjNmKQoAbWFrZUFkZFBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAbWFrZVBvbHk6IHVua25vd24gc2hhcGUgdHlwZSAlcwoAeCE9TlVMTABzbWFydF9pbmlfeC5jAElNRFNfZ2l2ZW5fZGltAGlsbC1jb25kaXRpb25lZAByb290ID0gJXMgbWF4IHN0ZXBzIHRvIHJvb3QgPSAlZAoAdHdvcGk6IHVzZSBvZiB3ZWlnaHQ9MCBjcmVhdGVzIGRpc2Nvbm5lY3RlZCBjb21wb25lbnQuCgBSYW5rIHNlcGFyYXRpb24gPSAAJS4wM2xmIABhcmVhAGluc2V0ACVzIGNvb3JkICUuNWcgJS41ZyBodCAlZiB3aWR0aCAlZgoAJS4wM2YAcmVjICVmICVmICVmICVmCgAlZiAtICVmICVmICVmICVmID0gJWYgKCVmICVmICVmICVmKQoAdHJ5aW5nIHRvIGFkZCB0byByZWN0IHslZiArLy0gJWYsICVmICsvLSAlZn0KAHRvdGFsIGFkZGVkIHNvIGZhciA9ICVkCgBhZGRpbmcgJWQgaXRlbXMsIHRvdGFsIGFyZWEgPSAlZiwgdyA9ICVmLCBhcmVhL3c9JWYKAGNvbXBvdW5kRWRnZXM6IGNvdWxkIG5vdCBjb25zdHJ1Y3Qgb2JzdGFjbGVzIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAGNvbXBvdW5kRWRnZXM6IG5vZGVzIHRvdWNoIC0gZmFsbGluZyBiYWNrIHRvIHN0cmFpZ2h0IGxpbmUgZWRnZXMKAHBhY2sgdmFsdWUgJWQgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAc2VwIHZhbHVlICglLjAzZiwlLjAzZikgaXMgc21hbGxlciB0aGFuIGVzZXAgKCUuMDNmLCUuMDNmKQoAY2Mlc18lZABjYyVzKyVkAGNfY250ID09IDAAY29tcC5jAGZpbmRDQ29tcABncmlkKCVkLCVkKTogJXMKAG9uZWJsb2NrAG1pbmRpc3QAYXJ0aWN1bGF0aW9uX3BvcwByb290AHJvb3QgPSAlcwoAX2Jsb2NrXyVkAHMtPnN6ID4gMABibG9ja3RyZWUuYwBwb3AAYWN0dWFsAG5vZGVsaXN0LmMAaW5zZXJ0Tm9kZWxpc3QAX3NwYW5fJWQAX2Nsb25lXyVkAGlwAGRlZ2xpc3QuYwByZW1vdmVEZWdsaXN0AEVycm9yAFdhcm5pbmcAJXM6IAB1c2Vyb3V0OiBjb3VsZCBub3QgYWxsb2NhdGUgbWVtb3J5CgBfQUdfc3RyZGF0YQBfQUdfZGF0YWRpY3QAYWdkaWN0b2Y6IHVua25vd24ga2luZCAlZAoAJWMlbGQAbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZQBhZ2RlbGV0ZSBvbiB3cm9uZyBncmFwaABfQUdfcGVuZGluZwBhZ3JlY29yZF9jYWxsYmFjayBvZiBhIGJhZCBvYmplY3QAcGVuZCBkaWN0b2YgYSBiYWQgb2JqZWN0AG1vdmUgdG8gZnJvbnQgbG9jayBpbmNvbnNpc3RlbmN5AFxcAGZhdGFsIGZsZXggc2Nhbm5lciBpbnRlcm5hbCBlcnJvci0tbm8gYWN0aW9uIGZvdW5kACVzCgBmYXRhbCBmbGV4IHNjYW5u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JWQsJWQpICglZCwlZCkKAGNjICglZCBjZWxscykgYXQgKCVkLCVkKQoAJXMgbm8uIGNlbGxzICVkIFcgJWQgSCAlZAoAICAlZCAlZCBjZWxsCgBsaWJwYWNrOiBkaXNjID0gJWYgKCA8IDApCgBQYWNraW5nOiBjb21wdXRlIGdyaWQgc2l6ZQoAYSAlZiBiICVmIGMgJWYgZCAlZiByICVmCgByb290ICVkICglZikgJWQgKCVmKQoAIHIxICVmIHIyICVmCgBwaW5mbwBwYWNrLmMAZ2V0UGFja0luZm8AICBtYXJnaW4gJWQKAHBhY2ttb2RlAHBhcnNlUGFja01vZGVJbmZvAGFycmF5AGFzcGVjdAAlZgBwYWNrIGluZm86CgAgIG1vZGUgICAlcwoAICBhc3BlY3QgJWYKACAgc2l6ZSAgICVkCgAgIGZsYWdzICAlZAoAdW5kZWZpbmVkAHBhY2sAQXJyb3cgdHlwZSAiJXMiIHVua25vd24gLSBpZ25vcmluZwoAbm9ybWFsAGNyb3cAdGVlAGRvdABpbnYAdmVlAHBlbgBtcHR5AGN1cnZlAGljdXJ2ZQBsAGhhbGYAaW52ZW1wdHkAX2JhY2tncm91bmQAX2RyYXdfAENvdWxkIG5vdCBwYXJzZSAiX2JhY2tncm91bmQiIGF0dHJpYnV0ZSBpbiBncmFwaCAlcwoAICAiJXMiCgBubyBtZW1vcnkgZnJvbSB6bWFsbG9jKCkKAG9iagBlbWl0LmMAcG9wX29ial9zdGF0ZQBjbHVzdAAlbGQAcGFnZSVkLCVkXwBUb3RhbCBzaXplID4gMSBpbiAiJXMiIGNvbG9yIHNwZWMgAElsbGVnYWwgbGVuZ3RoIHZhbHVlIGluICIlcyIgY29sb3IgYXR0cmlidXRlIABsbnJjb2xvcnNjaGVtZQBlbWl0X2VkZ2VfbGFiZWwAJXMtJXMAZm9yd2FyZABiYWNrACAtPiAAIC0tIABpbiBlZGdlICVzJXMlcwoAbGFiZWxhbGlnbmVkAGVkZ2VocmVmAGVkZ2VVUkwAbGFiZWxocmVmAGxhYmVsVVJMAHRhaWxocmVmAHRhaWxVUkwAaGVhZGhyZWYAaGVhZFVSTABlZGdldGFyZ2V0AGxhYmVsdGFyZ2V0AHRhaWx0YXJnZXQAaGVhZHRhcmdldABlZGdldG9vbHRpcABsYWJlbHRvb2x0aXAAdGFpbHRvb2x0aXAAaGVhZHRvb2x0aXAAAW5lc3Rpbmcgbm90IGFsbG93ZWQgaW4gc3R5bGU6ICVzCgB1bm1hdGNoZWQgJyknIGluIHN0eWxlOiAlcwoAdHJ1bmNhdGluZyBzdHlsZSAnJXMnCgB1bm1hdGNoZWQgJygnIGluIHN0eWxlOiAlcwoAYWxsAGluIGNsdXN0ZXIgJXMKAE1vcmUgdGhhbiAyIGNvbG9ycyBzcGVjaWZpZWQgZm9yIGEgZ3JhZGllbnQgLSBpZ25vcmluZyByZW1haW5pbmcKAGdyYWRpZW50IHBlbiBjb2xvcnMgbm90IHlldCBzdXBwb3J0ZWQuCgBJbWFnZXMgdW5zdXBwb3J0ZWQgaW4gImJhY2tncm91bmQiIGF0dHJpYnV0ZQoAbGF5ZXJzIG5vdCBzdXBwb3J0ZWQgaW4gJXMgb3V0cHV0CgBMYXlvdXQgd2FzIG5vdCBkb25lLiAgTWlzc2luZyBsYXlvdXQgcGx1Z2lucz8gCgBndlJlbmRlckpvYnMgJXM6ICUuMmYgc2Vjcy4KAGxheW91dCB3YXMgbm90IGRvbmUKAHJlbmRlcmVyIGZvciAlcyBpcyB1bmF2YWlsYWJsZQoAcGFnZWRpcj0lcyBpZ25vcmVkCgB2aWV3cG9ydAAlbGYsJWxmLCVsZiwnJVteJ10nACVsZiwlbGYsJWxmLCVbXixdJXMAJWxmLCVsZiwlbGYsJWxmLCVsZgBvdXRwdXRvcmRlcgBvZGVzZmlyc3QAZGdlc2ZpcnN0AGxheWVycwBsYXllcnNlbGVjdABUaGUgbGF5ZXJzZWxlY3QgYXR0cmlidXRlICIlcyIgZG9lcyBub3QgbWF0Y2ggYW55IGxheWVyIHNwZWNpZmVkIGJ5IHRoZSBsYXllcnMgYXR0cmlidXRlIC0gaWdub3JlZC4KAGxheWVyc2VwADoJIABsYXllcmxpc3RzZXAALABUaGUgY2hhcmFjdGVyICclYycgYXBwZWFycyBpbiBib3RoIHRoZSBsYXllcnNlcCBhbmQgbGF5ZXJsaXN0c2VwIGF0dHJpYnV0ZXMgLSBsYXllcmxpc3RzZXAgaWdub3JlZC4KAHBhZABCTABwYWdlZGlyAHNvbGlkAABzZXRsaW5ld2lkdGgAMQAAc3BsLT5zaXplID4gMABpbml0X3NwbGluZXNfYmIAYnouc2l6ZSA+IDAAYmV6aWVyX2JiAGJ6LnNpemUgJSAzID09IDEAJWxmAGZvbnRwYXRoAERPVEZPTlRQQVRIAEdERk9OVFBBVEgAaW1hZ2VwYXRoAHF1YW50dW0AcmFua2RpcgBMUgBCVABSTABub2Rlc2VwAHJhbmtzZXAAZXF1YWxseQBzaG93Ym94ZXMAZm9udG5hbWVzAHNpemUAcGFnZQBjZW50ZXIAcm90YXRlAG9yaWVudGF0aW9uAGxhbmRzY2FwZQBjbHVzdGVycmFuawBjb25jZW50cmF0ZQBkcGkAcmVzb2x1dGlvbgBvcmRlcmluZwBmaWxsY29sb3IAZm9udHNpemUAZm9udG5hbWUAZm9udGNvbG9yAHhsYWJlbABwZW53aWR0aABwZXJpcGhlcmllcwBza2V3AGRpc3RvcnRpb24Abm9qdXN0aWZ5AGxheWVyAGdyb3VwAGNvbW1lbnQAdmVydGljZXMAegB3ZWlnaHQAbGFiZWxmbG9hdABkaXIAYXJyb3doZWFkAGFycm93dGFpbABoZWFkbGFiZWwAdGFpbGxhYmVsAGxhYmVsZm9udHNpemUAbGFiZWxmb250bmFtZQBsYWJlbGZvbnRjb2xvcgBsYWJlbGRpc3RhbmNlAGxhYmVsYW5nbGUAbWlubGVuAGRlY29yYXRlAGFycm93c2l6ZQBjb25zdHJhaW50AHRhaWxjbGlwAGhlYWRjbGlwAGxhYmVsanVzdABsb2NhbABnbG9iYWwAJWxmLCVsZiVjACVsZiVjAHJhdGlvAGF1dG8AY29tcHJlc3MAZXhwYW5kAGZpbGwAZ2QAcHMAc3ZnAGNoYXJzZXQAdXRmLTgAbGF0aW4tMQBsYXRpbjEAbDEASVNPLTg4NTktMQBJU09fODg1OS0xAElTTzg4NTktMQBJU08tSVItMTAwAGJpZy01AGJpZzUAdXRmOABVbnN1cHBvcnRlZCBjaGFyc2V0ICIlcyIgLSBhc3N1bWluZyB1dGYtOAoAVW5zdXBwb3J0ZWQgY2hhcnNldCB2YWx1ZSAlZAoAVVRGLTgAQklHLTUAaW4gbGFiZWwgb2YgZ3JhcGggJXMKAGluIGxhYmVsIG9mIG5vZGUgJXMKAGluIGxhYmVsIG9mIGVkZ2UgJXMgJXMgJXMKAGtpbmQgPT0gTFRfTk9ORQBsYWJlbHMuYwBtYWtlX2xhYmVsAFxMAFxHAFxFAFxIAFxUACYjMTM7ACYjMTA7ACZxdW90OwAmIzE2MDsAJmFtcDsAJmd0OwAmIzM5OwAmIzQ1OwAmbHQ7ACVzICVkIG5vZGVzICVkIGVkZ2VzIG1heGl0ZXI9JWQgYmFsYW5jZT0lZAoAbmV0d29yayBzaW1wbGV4OiAAJWQgACVzJWQgbm9kZXMgJWQgZWRnZXMgJWQgaXRlciAlLjJmIHNlYwoAdXBkYXRlOiBtaXNtYXRjaGVkIGxjYSBpbiB0cmVldXBkYXRlcwoAVHJlZV9lZGdlLnNpemUgPT0gTl9ub2RlcyAtIDEAbnMuYwBmZWFzaWJsZV90cmVlACFUUkVFX0VER0UoZSkAbWVyZ2VfdHJlZXMAKHIwLT5oZWFwX2luZGV4ID4gLTEpIHx8IChyMS0+aGVhcF9pbmRleCA+IC0xKQBTVHNldFVuaW9uAHItPmhlYXBfaW5kZXggPj0gMABhZGRfdHJlZV9lZGdlOiBtaXNzaW5nIHRyZWUgZWRnZQoAYWRkX3RyZWVfZWRnZTogZW1wdHkgb3V0ZWRnZSBsaXN0CgBhZGRfdHJlZV9lZGdlOiBlbXB0eSBpbmVkZ2UgbGlzdAoAdHJvdWJsZSBpbiBpbml0X3JhbmsKAAklcyAlZAoAc2VhcmNoc2l6ZQBncmFwaCAAIABub2RlIABzdG9wCgAlLjVnAHBvcwByZWN0cwB4bHAAbHAAaGVhZF9scAB0YWlsX2xwAGx3aWR0aABsaGVpZ2h0AGJiACUuNWcsJS41ZywlLjVnACwlLjVnACUuNWcsJS41ZwBzYW1wbGVwb2ludHMAJS41ZyAlLjVnAHMsJS41ZywlLjVnIABlLCUuNWcsJS41ZyAAJS41ZywlLjVnLCUuNWcsJS41ZwAlLjJmACUuNWcsJS41ZywlLjVnLCUuNWcgAC9wYXRoYm94IHsKICAgIC9YIGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC94IGV4Y2ggbmVnICUuNWcgc3ViIGRlZgogICAgL3kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgoAL3BhdGhib3ggewogICAgL1kgZXhjaCAlLjVnIHN1YiBkZWYKICAgIC9YIGV4Y2ggJS41ZyBzdWIgZGVmCiAgICAveSBleGNoICUuNWcgc3ViIGRlZgogICAgL3ggZXhjaCAlLjVnIHN1YiBkZWYKICAgIG5ld3BhdGggeCB5IG1vdmV0bwogICAgWCB5IGxpbmV0bwogICAgWCBZIGxpbmV0bwogICAgeCBZIGxpbmV0bwogICAgY2xvc2VwYXRoIHN0cm9rZQogfSBkZWYKL2RiZ3N0YXJ0IHsgZ3NhdmUgJS41ZyAlLjVnIHRyYW5zbGF0ZSB9IGRlZgovYXJyb3dsZW5ndGggMTAgZGVmCi9hcnJvd3dpZHRoIGFycm93bGVuZ3RoIDIgZGl2IGRlZgovYXJyb3doZWFkIHsKICAgIGdzYXZlCiAgICByb3RhdGUKICAgIGN1cnJlbnRwb2ludAogICAgbmV3cGF0aAogICAgbW92ZXRvCiAgICBhcnJvd2xlbmd0aCBhcnJvd3dpZHRoIDIgZGl2IHJsaW5ldG8KICAgIDAgYXJyb3d3aWR0aCBuZWcgcmxpbmV0bwogICAgY2xvc2VwYXRoIGZpbGwKICAgIGdyZXN0b3JlCn0gYmluZCBkZWYKL21ha2VhcnJvdyB7CiAgICBjdXJyZW50cG9pbnQgZXhjaCBwb3Agc3ViIGV4Y2ggY3VycmVudHBvaW50IHBvcCBzdWIgYXRhbgogICAgYXJyb3doZWFkCn0gYmluZCBkZWYKL3BvaW50IHsgICAgbmV3cGF0aCAgICAyIDAgMzYwIGFyYyBmaWxsfSBkZWYvbWFrZXZlYyB7CiAgICAvWSBleGNoIGRlZgogICAgL1ggZXhjaCBkZWYKICAgIC95IGV4Y2ggZGVmCiAgICAveCBleGNoIGRlZgogICAgbmV3cGF0aCB4IHkgbW92ZXRvCiAgICBYIFkgbGluZXRvIHN0cm9rZQogICAgWCBZIG1vdmV0bwogICAgeCB5IG1ha2VhcnJvdwp9IGRlZgoAbG9zdCAlcyAlcyBlZGdlCgBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGxhYmVsICVzAG5vIHBvc2l0aW9uIGZvciBlZGdlIHdpdGggdGFpbCBsYWJlbCAlcwBubyBwb3NpdGlvbiBmb3IgZWRnZSB3aXRoIGhlYWQgbGFiZWwgJXMAbm8gcG9zaXRpb24gZm9yIGVkZ2Ugd2l0aCB4bGFiZWwgJXMAZm9yY2VsYWJlbHMAJWQgb3V0IG9mICVkIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb3V0IG9mICVkIGV4dGVyaW9yIGxhYmVscyBwb3NpdGlvbmVkLgoAJWQgb2JqcyAlZCB4bGFiZWxzIGZvcmNlPSVkIGJiPSglLjAyZiwlLjAyZikgKCUuMDJmLCUuMDJmKQoAb2JqZWN0cwoAIFslZF0gKCUuMDJmLCUuMDJmKSAoJS4wMmYsJS4wMmYpICVwICIlcyIKAHhsYWJlbHMKACBbJWRdICVwIHNldCAlZCAoJS4wMmYsJS4wMmYpICglLjAyZiwlLjAyZikgJXMKAHNoYXBlZmlsZSBub3Qgc2V0IG9yIG5vdCBmb3VuZCBmb3IgZXBzZiBub2RlICVzCgBjb3VsZG4ndCBvcGVuIGVwc2YgZmlsZSAlcwoAJSUlJUJvdW5kaW5nQm94OiAlZCAlZCAlZCAlZAByZWFkAEJvdW5kaW5nQm94IG5vdCBmb3VuZCBpbiBlcHNmIGZpbGUgJXMKAGNhbid0IGZpbmQgbGlicmFyeSBmaWxlICVzCgBjYW4ndCBvcGVuIGxpYnJhcnkgZmlsZSAlcwoARU9GAEJFR0lOAEVORABUUkFJTEVSAC91c2VyX3NoYXBlXyVkIHsKACUlQmVnaW5Eb2N1bWVudDoKACUlRW5kRG9jdW1lbnQKAH0gYmluZCBkZWYKAFVURi04IGlucHV0IHVzZXMgbm9uLUxhdGluMSBjaGFyYWN0ZXJzIHdoaWNoIGNhbm5vdCBiZSBoYW5kbGVkIGJ5IHRoaXMgUG9zdFNjcmlwdCBkcml2ZXIKAGNhbm5vdCByZS1hbGxvY2F0ZSBwcwoAcm91dGVzcGxpbmVzaW5pdDogY2Fubm90IGFsbG9jYXRlIHBzCgByb3V0ZXNwbGluZXM6ICVkIGVkZ2VzLCAlZCBib3hlcyAlLjJmIHNlYwoAaW4gcm91dGVzcGxpbmVzLCBjYW5ub3QgZmluZCBOT1JNQUwgZWRnZQoAaW4gcm91dGVzcGxpbmVzLCBpbGxlZ2FsIHZhbHVlcyBvZiBwcmV2ICVkIGFuZCBuZXh0ICVkLCBsaW5lICVkCgBpbiByb3V0ZXNwbGluZXMsIGVkZ2UgaXMgYSBsb29wIGF0ICVzCgBpbiByb3V0ZXNwbGluZXMsIFBzaG9ydGVzdHBhdGggZmFpbGVkCgBpbiByb3V0ZXNwbGluZXMsIFByb3V0ZXNwbGluZSBmYWlsZWQKAFVuYWJsZSB0byByZWNsYWltIGJveCBzcGFjZSBpbiBzcGxpbmUgcm91dGluZyBmb3IgZWRnZSAiJXMiIC0+ICIlcyIuIFNvbWV0aGluZyBpcyBwcm9iYWJseSBzZXJpb3VzbHkgd3JvbmcuCgBpbiBjaGVja3BhdGgsIGJveCAwIGhhcyBMTCBjb29yZCA+IFVSIGNvb3JkCgBpbiBjaGVja3BhdGgsIGJveCAlZCBoYXMgTEwgY29vcmQgPiBVUiBjb29yZAoAaW4gY2hlY2twYXRoLCBib3hlcyAlZCBhbmQgJWQgZG9uJ3QgdG91Y2gKAGluIGNoZWNrcGF0aCwgc3RhcnQgcG9ydCBub3QgaW4gZmlyc3QgYm94CgBpbiBjaGVja3BhdGgsIGVuZCBwb3J0IG5vdCBpbiBsYXN0IGJveAoAJWQgYm94ZXM6CgAlZCAoJS41ZywgJS41ZyksICglLjVnLCAlLjVnKQoAY29uc3RyYWluZWQAbm90IGNvbnN0cmFpbmVkAHN0YXJ0IHBvcnQ6ICglLjVnLCAlLjVnKSwgdGFuZ2VudCBhbmdsZTogJS41ZywgJXMKAGVuZCBwb3J0OiAoJS41ZywgJS41ZyksIHRhbmdlbnQgYW5nbGU6ICUuNWcsICVzCgBzaWRlcyA9PSA0AHNoYXBlcy5jAHJvdW5kX2Nvcm5lcnMAYmFkIGxhYmVsIGZvcm1hdCAlcwoAXE4AbWFyZ2luACVsZiwlbGYAcmVndWxhcgBjdXN0b20Ac2hhcGVmaWxlADxuaWw+AE5vIG9yIGltcHJvcGVyIHNoYXBlZmlsZT0iJXMiIGZvciBub2RlICIlcyIKAE5vIG9yIGltcHJvcGVyIGltYWdlPSIlcyIgZm9yIG5vZGUgIiVzIgoAbGFiZWxsb2MAbm9kZSAnJXMnLCBncmFwaCAnJXMnIHNpemUgdG9vIHNtYWxsIGZvciBsYWJlbAoAZXBzZgB1c2luZyAlcyBmb3IgdW5rbm93biBzaGFwZSAlcwoAcG9seWdvbgBvdmFsAGNpcmNsZQBwb2ludABlZ2cAdHJpYW5nbGUAcGxhaW50ZXh0AHBsYWluAGRpYW1vbmQAdHJhcGV6aXVtAHBhcmFsbGVsb2dyYW0AaG91c2UAcGVudGFnb24AaGV4YWdvbgBzZXB0YWdvbgBvY3RhZ29uAG5vdGUAdGFiAGZvbGRlcgBib3gzZABjb21wb25lbnQAY3lsaW5kZXIAcmVjdAByZWN0YW5nbGUAc3F1YXJlAGRvdWJsZWNpcmNsZQBkb3VibGVvY3RhZ29uAHRyaXBsZW9jdGFnb24AaW52dHJpYW5nbGUAaW52dHJhcGV6aXVtAGludmhvdXNlAHVuZGVybGluZQBNZGlhbW9uZABNc3F1YXJlAE1jaXJjbGUAcHJvbW90ZXIAY2RzAHRlcm1pbmF0b3IAdXRyAGluc3VsYXRvcgByaWJvc2l0ZQBybmFzdGFiAHByb3RlYXNlc2l0ZQBwcm90ZWluc3RhYgBwcmltZXJzaXRlAHJlc3RyaWN0aW9uc2l0ZQBmaXZlcG92ZXJoYW5nAHRocmVlcG92ZXJoYW5nAG5vdmVyaGFuZwBhc3NlbWJseQBzaWduYXR1cmUAcnByb21vdGVyAGxhcnJvdwByYXJyb3cAbHByb21vdGVyAHJlY29yZABNcmVjb3JkAHN0YXIAIzgwODA4MAAjZmNmY2ZjACMzMDMwMzAAI2U4ZThlOAAjZTBlMGUwACNmMGYwZjAAIzEwMTAxMAAjZjhmOGY4AGluIG5vZGUgJXMKAHJvdW5kZWQAZGlhZ29uYWxzAHJhZGlhbABzdHJpcGVkAHdlZGdlZABfAG5vZGUgJXMsIHBvcnQgJXMsIHVucmVjb2duaXplZCBjb21wYXNzIHBvaW50ICclcycgLSBpZ25vcmVkCgBub2RlICVzLCBwb3J0ICVzIHVucmVjb2duaXplZAoAJS41ZyAlLjVnIHRyYW5zbGF0ZSBuZXdwYXRoIHVzZXJfc2hhcGVfJWQKAGludmlzAABmaWxsZWQAAHMAZQB3AHNwbGluZXMuYwBiZWdpbnBhdGgAUC0+ZW5kLnRoZXRhIDwgMiAqIE1fUEkAZW5kcGF0aABtYWtlU2VsZkVkZ2UAZ2V0c3BsaW5lcG9pbnRzOiBubyBzcGxpbmUgcG9pbnRzIGF2YWlsYWJsZSBmb3IgZWRnZSAoJXMsJXMpCgBwb2x5bGluZU1pZHBvaW50AHNwYW4tPmZvbnQAdGV4dHNwYW4uYwB0ZXh0c3Bhbl9zaXplAGZvbnQtPm5hbWUAZm9udG5hbWU6ICIlcyIgcmVzb2x2ZWQgdG86ICVzCgBmb250bmFtZTogdW5hYmxlIHRvIHJlc29sdmUgIiVzIgoAY291cgBhcmlhbABoZWx2ZXRpY2EAW2ludGVybmFsIHRpbWVzXQBbaW50ZXJuYWwgY291cmllcl0AW2ludGVybmFsIGFyaWFsXQBBdmFudEdhcmRlLUJvb2sAVVJXIEdvdGhpYyBMAGJvb2sAc2Fucy1TZXJpZgBBdmFudEdhcmRlLUJvb2tPYmxpcXVlAG9ibGlxdWUAaXRhbGljAEF2YW50R2FyZGUtRGVtaQBkZW1pAEF2YW50R2FyZGUtRGVtaU9ibGlxdWUAQm9va21hbi1EZW1pAFVSVyBCb29rbWFuIEwAc2VyaWYAQm9va21hbi1EZW1pSXRhbGljAEJvb2ttYW4tTGlnaHQAbGlnaHQAQm9va21hbi1MaWdodEl0YWxpYwBDb3VyaWVyAG1vbm9zcGFjZQBDb3VyaWVyLUJvbGQAQ291cmllci1Cb2xkT2JsaXF1ZQBDb3VyaWVyLU9ibGlxdWUASGVsdmV0aWNhAEhlbHZldGljYS1Cb2xkAEhlbHZldGljYS1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93AGNvbmRlbnNlZABIZWx2ZXRpY2EtTmFycm93LUJvbGQASGVsdmV0aWNhLU5hcnJvdy1Cb2xkT2JsaXF1ZQBIZWx2ZXRpY2EtTmFycm93LU9ibGlxdWUASGVsdmV0aWNhLU9ibGlxdWUATmV3Q2VudHVyeVNjaGxiay1Cb2xkAENlbnR1cnkgU2Nob29sYm9vayBMAE5ld0NlbnR1cnlTY2hsYmstQm9sZEl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLUl0YWxpYwBOZXdDZW50dXJ5U2NobGJrLVJvbWFuAHJvbWFuAFBhbGF0aW5vLUJvbGQAUGFsYXRpbm8gTGlub3R5cGUAUGFsYXRpbm8tQm9sZEl0YWxpYwBQYWxhdGluby1JdGFsaWMAUGFsYXRpbm8tUm9tYW4AU3ltYm9sAGZhbnRhc3kAVGltZXMtQm9sZABUaW1lcwBUaW1lcy1Cb2xkSXRhbGljAFRpbWVzLUl0YWxpYwBaYXBmQ2hhbmNlcnktTWVkaXVtSXRhbGljAFVSVyBDaGFuY2VyeSBMAG1lZGl1bQBaYXBmRGluZ2JhdHMARGluZ2JhdHMAaW5wdXRzY2FsZQBubwB0cnVlAHllcwB1dGlscy5jAHUgPT0gVUZfZmluZCh1KQBVRl9zZXRuYW1lAAFmaWxlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSB0aGUgZW52aXJvbm1lbnQgY29udGFpbnMgU0VSVkVSX05BTUU9IiVzIgphbmQgdGhlIEdWX0ZJTEVfUEFUSCB2YXJpYWJsZSBpcyB1bnNldCBvciBlbXB0eS4KAFBhdGggcHJvdmlkZWQgdG8gZmlsZTogIiVzIiBoYXMgYmVlbiBpZ25vcmVkIGJlY2F1c2UgZmlsZXMgYXJlIG9ubHkgcGVybWl0dGVkIHRvIGJlIGxvYWRlZCBmcm9tIHRoZSBkaXJlY3RvcmllcyBpbiAiJXMiIHdoZW4gcnVubmluZyBpbiBhbiBodHRwIHNlcnZlci4KACVzJXMlcwAvADoAZWxsaXBzZQBUaW1lcy1Sb21hbgBjbHVzdGVyAF9fY2x1c3Rlcm5vZGVzAGNsdXN0ZXIgY3ljbGUgJXMgLS0gJXMgbm90IHN1cHBvcnRlZAoAdGFpbCBjbHVzdGVyICVzIGluc2lkZSBoZWFkIGNsdXN0ZXIgJXMKAGhlYWQgY2x1c3RlciAlcyBpbnNpZGUgdGFpbCBjbHVzdGVyICVzCgB0YWlsIG5vZGUgJXMgaW5zaWRlIGhlYWQgY2x1c3RlciAlcwoAaGVhZCBub2RlICVzIGluc2lkZSB0YWlsIGNsdXN0ZXIgJXMKAF9fAGxhYmVsAHNoYXBlAGJveABUd28gY2x1c3RlcnMgbmFtZWQgJXMgLSB0aGUgc2Vjb25kIHdpbGwgYmUgaWdub3JlZAoAbWFwTgBBRWxpZwBBYWN1dGUAQWNpcmMAQWdyYXZlAEFscGhhAEFyaW5nAEF0aWxkZQBBdW1sAEJldGEAQ2NlZGlsAENoaQBEYWdnZXIARGVsdGEARVRIAEVhY3V0ZQBFY2lyYwBFZ3JhdmUARXBzaWxvbgBFdGEARXVtbABHYW1tYQBJYWN1dGUASWNpcmMASWdyYXZlAElvdGEASXVtbABLYXBwYQBMYW1iZGEATXUATnRpbGRlAE51AE9FbGlnAE9hY3V0ZQBPY2lyYwBPZ3JhdmUAT21lZ2EAT21pY3JvbgBPc2xhc2gAT3RpbGRlAE91bWwAUGhpAFBpAFByaW1lAFBzaQBSaG8AU2Nhcm9uAFNpZ21hAFRIT1JOAFRhdQBUaGV0YQBVYWN1dGUAVWNpcmMAVWdyYXZlAFVwc2lsb24AVXVtbABYaQBZYWN1dGUAWXVtbABaZXRhAGFhY3V0ZQBhY2lyYwBhY3V0ZQBhZWxpZwBhZ3JhdmUAYWxlZnN5bQBhbHBoYQBhbXAAYW5kAGFuZwBhcmluZwBhc3ltcABhdGlsZGUAYXVtbABiZHF1bwBiZXRhAGJydmJhcgBidWxsAGNhcABjY2VkaWwAY2VkaWwAY2VudABjaGkAY2lyYwBjbHVicwBjb25nAGNvcHkAY3JhcnIAY3VwAGN1cnJlbgBkQXJyAGRhZ2dlcgBkYXJyAGRlZwBkZWx0YQBkaWFtcwBkaXZpZGUAZWFjdXRlAGVjaXJjAGVncmF2ZQBlbXB0eQBlbXNwAGVuc3AAZXBzaWxvbgBlcXVpdgBldGEAZXRoAGV1bWwAZXVybwBleGlzdABmbm9mAGZvcmFsbABmcmFjMTIAZnJhYzE0AGZyYWMzNABmcmFzbABnYW1tYQBnZQBndABoQXJyAGhhcnIAaGVhcnRzAGhlbGxpcABpYWN1dGUAaWNpcmMAaWV4Y2wAaWdyYXZlAGltYWdlAGluZmluAGludABpb3RhAGlxdWVzdABpc2luAGl1bWwAa2FwcGEAbEFycgBsYW1iZGEAbGFuZwBsYXF1bwBsYXJyAGxjZWlsAGxkcXVvAGxlAGxmbG9vcgBsb3dhc3QAbG96AGxybQBsc2FxdW8AbHNxdW8AbHQAbWFjcgBtZGFzaABtaWNybwBtaWRkb3QAbXUAbmFibGEAbmJzcABuZGFzaABuZQBuaQBub3QAbm90aW4AbnN1YgBudGlsZGUAbnUAb2FjdXRlAG9jaXJjAG9lbGlnAG9ncmF2ZQBvbGluZQBvbWVnYQBvbWljcm9uAG9wbHVzAG9yAG9yZGYAb3JkbQBvc2xhc2gAb3RpbGRlAG90aW1lcwBvdW1sAHBhcmEAcGFydABwZXJtaWwAcGVycABwaGkAcGkAcGl2AHBsdXNtbgBwb3VuZABwcmltZQBwcm9kAHByb3AAcHNpAHF1b3QAckFycgByYWRpYwByYW5nAHJhcXVvAHJhcnIAcmNlaWwAcmRxdW8AcmVhbAByZWcAcmZsb29yAHJobwBybG0AcnNhcXVvAHJzcXVvAHNicXVvAHNjYXJvbgBzZG90AHNlY3QAc2h5AHNpZ21hAHNpZ21hZgBzaW0Ac3BhZGVzAHN1YgBzdWJlAHN1bQBzdXAAc3VwMQBzdXAyAHN1cDMAc3VwZQBzemxpZwB0YXUAdGhlcmU0AHRoZXRhAHRoZXRhc3ltAHRoaW5zcAB0aG9ybgB0aWxkZQB0aW1lcwB0cmFkZQB1QXJyAHVhY3V0ZQB1YXJyAHVjaXJjAHVncmF2ZQB1bWwAdXBzaWgAdXBzaWxvbgB1dW1sAHdlaWVycAB4aQB5YWN1dGUAeWVuAHl1bWwAemV0YQB6d2oAenduagBVVEY4IGNvZGVzID4gNCBieXRlcyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgKGdyYXBoICVzKSAtIHRyZWF0ZWQgYXMgTGF0aW4tMS4gUGVyaGFwcyAiLUdjaGFyc2V0PWxhdGluMSIgaXMgbmVlZGVkPwoASW52YWxpZCAlZC1ieXRlIFVURjggZm91bmQgaW4gaW5wdXQgb2YgZ3JhcGggJXMgLSB0cmVhdGVkIGFzIExhdGluLTEuIFBlcmhhcHMgIi1HY2hhcnNldD1sYXRpbjEiIGlzIG5lZWRlZD8KAGJ6LnNpemUAb3ZlcmxhcF9iZXppZXIAdXJ2ZWQAb21wb3VuZABhbHNlAGluZQBvbmUAbwBydGhvAG9seWxpbmUAcGxpbmUAcnVlAGVzAFVua25vd24gInNwbGluZXMiIHZhbHVlOiAiJXMiIC0gaWdub3JlZAoAc3BsaW5lcwBvZGIAT3J0aG9nb25hbCBlZGdlcyBkbyBub3QgY3VycmVudGx5IGhhbmRsZSBlZGdlIGxhYmVscy4gVHJ5IHVzaW5nIHhsYWJlbHMuCgBvcnRobyAlcyAlcwoAY2hhbmkAb3J0aG8uYwBjaGFuU2VhcmNoAGNwACUlIVBTLUFkb2JlLTIuMAolJSUlQm91bmRpbmdCb3g6IChhdGVuZCkKL3BvaW50IHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgbmV3cGF0aAogIFggWSAzIDAgMzYwIGFyYyBmaWxsCn0gZGVmCi9jZWxsIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIHN0cm9rZQp9IGRlZgovbm9kZSB7CiAvdSBleGNoIGRlZgogL3IgZXhjaCBkZWYKIC9kIGV4Y2ggZGVmCiAvbCBleGNoIGRlZgogbmV3cGF0aCBsIGQgbW92ZXRvCiByIGQgbGluZXRvIHIgdSBsaW5ldG8gbCB1IGxpbmV0bwogY2xvc2VwYXRoIGZpbGwKfSBkZWYKCgAlZCAlZCB0cmFuc2xhdGUKADAuOCAwLjggMC44IHNldHJnYmNvbG9yCgBzaG93cGFnZQolJSUlVHJhaWxlcgolJSUlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgBuZXdwYXRoICVkICVkIG1vdmV0bwoAJWQgJWQgbGluZXRvCgAlZCAlZCBsaW5ldG8gc3Ryb2tlCgBjaGFubmVsICVkICglZiwlZikKACAtPgoAICAgICAAKCglZiwlZiksKCVmLCVmKSkgJXMgJXMAQl9SSUdIVABCX0RPV04AQl9MRUZUAEJfVVAAQl9OT0RFAHNlZwBuZXh0X3NlZwBkZWNpZGVfcG9pbnQAaW5jb21wYXJhYmxlIHNlZ21lbnRzICEhIC0tIEFib3J0aW5nCgBzMS0+Y29tbV9jb29yZD09czItPmNvbW1fY29vcmQAaXNfcGFyYWxsZWwAZ3JhcGggRyB7CgAgbm9kZVtzaGFwZT1wb2ludF0KACAgJWQgW3Bvcz0iJWQsJWQiXQoAICAlZCAtLSAlZFtsZW49IiVmIl0KAH0KAGNvbG9yICVzACVzIGlzIG5vdCBhIGtub3duIGNvbG9yLgoAZXJyb3IgaW4gY29seGxhdGUoKQoAc29saWQAaW52aXNpYmxlAGJvbGQAc2V0bGluZXdpZHRoAGZpbGxlZAB1bmZpbGxlZAB0YXBlcmVkAGd2cmVuZGVyX3NldF9zdHlsZTogdW5zdXBwb3J0ZWQgc3R5bGUgJXMgLSBpZ25vcmluZwoAZ3ZyZW5kZXIuYwBndnJlbmRlcl91c2Vyc2hhcGUAbmFtZQBuYW1lWzBdAGJvdGgAam9iAGd2bG9hZGltYWdlLmMAZ3Zsb2FkaW1hZ2UAdXMAdXMtPm5hbWUAdXMtPm5hbWVbMF0ATm8gbG9hZGltYWdlIHBsdWdpbiBmb3IgIiVzIgoAUQBMZWZ0AEtQX0xlZnQAUmlnaHQAS1BfUmlnaHQAVXAAS1BfVXAARG93bgBLUF9Eb3duAHBsdXMAS1BfQWRkAG1pbnVzAEtQX1N1YnRyYWN0AEYAZWRnZQB0YWlscG9ydABoZWFkcG9ydABrZXkAVVJMAG5vZGUAZGlncmFwaABncmFwaABzdWJncmFwaABfTFRYX2xpYnJhcnkAdGV4dGxheW91dABvYmpwLT5sYmwAeGxhYmVscy5jAHhsYWRqdXN0AHhsaW50ZXJzZWN0aW9ucwBscCAhPSBjbHAAZ2V0aW50cnN4aQBvYmpwMS0+c3oueCA9PSAwICYmIG9ianAxLT5zei55ID09IDAAbGJsZW5jbG9zaW5nAHZwAHhsaGR4dW5sb2FkAHNpemU9PWZyZWVkAHJlY3QuYm91bmRhcnlbMl0gPCBJTlRfTUFYAG9ianBscG1rcwByZWN0LmJvdW5kYXJ5WzNdIDwgSU5UX01BWABvdXQgb2YgbWVtb3J5CgAjJTJ4JTJ4JTJ4JTJ4ACVsZiVsZiVsZgAvYWNjZW50My8xAC9hY2NlbnQzLzIAL2FjY2VudDMvMwAvYWNjZW50NC8xAC9hY2NlbnQ0LzIAL2FjY2VudDQvMwAvYWNjZW50NC80AC9hY2NlbnQ1LzEAL2FjY2VudDUvMgAvYWNjZW50NS8zAC9hY2NlbnQ1LzQAL2FjY2VudDUvNQAvYWNjZW50Ni8xAC9hY2NlbnQ2LzIAL2FjY2VudDYvMwAvYWNjZW50Ni80AC9hY2NlbnQ2LzUAL2FjY2VudDYvNgAvYWNjZW50Ny8xAC9hY2NlbnQ3LzIAL2FjY2VudDcvMwAvYWNjZW50Ny80AC9hY2NlbnQ3LzUAL2FjY2VudDcvNgAvYWNjZW50Ny83AC9hY2NlbnQ4LzEAL2FjY2VudDgvMgAvYWNjZW50OC8zAC9hY2NlbnQ4LzQAL2FjY2VudDgvNQAvYWNjZW50OC82AC9hY2NlbnQ4LzcAL2FjY2VudDgvOAAvYmx1ZXMzLzEAL2JsdWVzMy8yAC9ibHVlczMvMwAvYmx1ZXM0LzEAL2JsdWVzNC8yAC9ibHVlczQvMwAvYmx1ZXM0LzQAL2JsdWVzNS8xAC9ibHVlczUvMgAvYmx1ZXM1LzMAL2JsdWVzNS80AC9ibHVlczUvNQAvYmx1ZXM2LzEAL2JsdWVzNi8yAC9ibHVlczYvMwAvYmx1ZXM2LzQAL2JsdWVzNi81AC9ibHVlczYvNgAvYmx1ZXM3LzEAL2JsdWVzNy8yAC9ibHVlczcvMwAvYmx1ZXM3LzQAL2JsdWVzNy81AC9ibHVlczcvNgAvYmx1ZXM3LzcAL2JsdWVzOC8xAC9ibHVlczgvMgAvYmx1ZXM4LzMAL2JsdWVzOC80AC9ibHVlczgvNQAvYmx1ZXM4LzYAL2JsdWVzOC83AC9ibHVlczgvOAAvYmx1ZXM5LzEAL2JsdWVzOS8yAC9ibHVlczkvMwAvYmx1ZXM5LzQAL2JsdWVzOS81AC9ibHVlczkvNgAvYmx1ZXM5LzcAL2JsdWVzOS84AC9ibHVlczkvOQAvYnJiZzEwLzEAL2JyYmcxMC8xMAAvYnJiZzEwLzIAL2JyYmcxMC8zAC9icmJnMTAvNAAvYnJiZzEwLzUAL2JyYmcxMC82AC9icmJnMTAvNwAvYnJiZzEwLzgAL2JyYmcxMC85AC9icmJnMTEvMQAvYnJiZzExLzEwAC9icmJnMTEvMTEAL2JyYmcxMS8yAC9icmJnMTEvMwAvYnJiZzExLzQAL2JyYmcxMS81AC9icmJnMTEvNgAvYnJiZzExLzcAL2JyYmcxMS84AC9icmJnMTEvOQAvYnJiZzMvMQAvYnJiZzMvMgAvYnJiZzMvMwAvYnJiZzQvMQAvYnJiZzQvMgAvYnJiZzQvMwAvYnJiZzQvNAAvYnJiZzUvMQAvYnJiZzUvMgAvYnJiZzUvMwAvYnJiZzUvNAAvYnJiZzUvNQAvYnJiZzYvMQAvYnJiZzYvMgAvYnJiZzYvMwAvYnJiZzYvNAAvYnJiZzYvNQAvYnJiZzYvNgAvYnJiZzcvMQAvYnJiZzcvMgAvYnJiZzcvMwAvYnJiZzcvNAAvYnJiZzcvNQAvYnJiZzcvNgAvYnJiZzcvNwAvYnJiZzgvMQAvYnJiZzgvMgAvYnJiZzgvMwAvYnJiZzgvNAAvYnJiZzgvNQAvYnJiZzgvNgAvYnJiZzgvNwAvYnJiZzgvOAAvYnJiZzkvMQAvYnJiZzkvMgAvYnJiZzkvMwAvYnJiZzkvNAAvYnJiZzkvNQAvYnJiZzkvNgAvYnJiZzkvNwAvYnJiZzkvOAAvYnJiZzkvOQAvYnVnbjMvMQAvYnVnbjMvMgAvYnVnbjMvMwAvYnVnbjQvMQAvYnVnbjQvMgAvYnVnbjQvMwAvYnVnbjQvNAAvYnVnbjUvMQAvYnVnbjUvMgAvYnVnbjUvMwAvYnVnbjUvNAAvYnVnbjUvNQAvYnVnbjYvMQAvYnVnbjYvMgAvYnVnbjYvMwAvYnVnbjYvNAAvYnVnbjYvNQAvYnVnbjYvNgAvYnVnbjcvMQAvYnVnbjcvMgAvYnVnbjcvMwAvYnVnbjcvNAAvYnVnbjcvNQAvYnVnbjcvNgAvYnVnbjcvNwAvYnVnbjgvMQAvYnVnbjgvMgAvYnVnbjgvMwAvYnVnbjgvNAAvYnVnbjgvNQAvYnVnbjgvNgAvYnVnbjgvNwAvYnVnbjgvOAAvYnVnbjkvMQAvYnVnbjkvMgAvYnVnbjkvMwAvYnVnbjkvNAAvYnVnbjkvNQAvYnVnbjkvNgAvYnVnbjkvNwAvYnVnbjkvOAAvYnVnbjkvOQAvYnVwdTMvMQAvYnVwdTMvMgAvYnVwdTMvMwAvYnVwdTQvMQAvYnVwdTQvMgAvYnVwdTQvMwAvYnVwdTQvNAAvYnVwdTUvMQAvYnVwdTUvMgAvYnVwdTUvMwAvYnVwdTUvNAAvYnVwdTUvNQAvYnVwdTYvMQAvYnVwdTYvMgAvYnVwdTYvMwAvYnVwdTYvNAAvYnVwdTYvNQAvYnVwdTYvNgAvYnVwdTcvMQAvYnVwdTcvMgAvYnVwdTcvMwAvYnVwdTcvNAAvYnVwdTcvNQAvYnVwdTcvNgAvYnVwdTcvNwAvYnVwdTgvMQAvYnVwdTgvMgAvYnVwdTgvMwAvYnVwdTgvNAAvYnVwdTgvNQAvYnVwdTgvNgAvYnVwdTgvNwAvYnVwdTgvOAAvYnVwdTkvMQAvYnVwdTkvMgAvYnVwdTkvMwAvYnVwdTkvNAAvYnVwdTkvNQAvYnVwdTkvNgAvYnVwdTkvNwAvYnVwdTkvOAAvYnVwdTkvOQAvZGFyazIzLzEAL2RhcmsyMy8yAC9kYXJrMjMvMwAvZGFyazI0LzEAL2RhcmsyNC8yAC9kYXJrMjQvMwAvZGFyazI0LzQAL2RhcmsyNS8xAC9kYXJrMjUvMgAvZGFyazI1LzMAL2RhcmsyNS80AC9kYXJrMjUvNQAvZGFyazI2LzEAL2RhcmsyNi8yAC9kYXJrMjYvMwAvZGFyazI2LzQAL2RhcmsyNi81AC9kYXJrMjYvNgAvZGFyazI3LzEAL2RhcmsyNy8yAC9kYXJrMjcvMwAvZGFyazI3LzQAL2RhcmsyNy81AC9kYXJrMjcvNgAvZGFyazI3LzcAL2RhcmsyOC8xAC9kYXJrMjgvMgAvZGFyazI4LzMAL2RhcmsyOC80AC9kYXJrMjgvNQAvZGFyazI4LzYAL2RhcmsyOC83AC9kYXJrMjgvOAAvZ25idTMvMQAvZ25idTMvMgAvZ25idTMvMwAvZ25idTQvMQAvZ25idTQvMgAvZ25idTQvMwAvZ25idTQvNAAvZ25idTUvMQAvZ25idTUvMgAvZ25idTUvMwAvZ25idTUvNAAvZ25idTUvNQAvZ25idTYvMQAvZ25idTYvMgAvZ25idTYvMwAvZ25idTYvNAAvZ25idTYvNQAvZ25idTYvNgAvZ25idTcvMQAvZ25idTcvMgAvZ25idTcvMwAvZ25idTcvNAAvZ25idTcvNQAvZ25idTcvNgAvZ25idTcvNwAvZ25idTgvMQAvZ25idTgvMgAvZ25idTgvMwAvZ25idTgvNAAvZ25idTgvNQAvZ25idTgvNgAvZ25idTgvNwAvZ25idTgvOAAvZ25idTkvMQAvZ25idTkvMgAvZ25idTkvMwAvZ25idTkvNAAvZ25idTkvNQAvZ25idTkvNgAvZ25idTkvNwAvZ25idTkvOAAvZ25idTkvOQAvZ3JlZW5zMy8xAC9ncmVlbnMzLzIAL2dyZWVuczMvMwAvZ3JlZW5zNC8xAC9ncmVlbnM0LzIAL2dyZWVuczQvMwAvZ3JlZW5zNC80AC9ncmVlbnM1LzEAL2dyZWVuczUvMgAvZ3JlZW5zNS8zAC9ncmVlbnM1LzQAL2dyZWVuczUvNQAvZ3JlZW5zNi8xAC9ncmVlbnM2LzIAL2dyZWVuczYvMwAvZ3JlZW5zNi80AC9ncmVlbnM2LzUAL2dyZWVuczYvNgAvZ3JlZW5zNy8xAC9ncmVlbnM3LzIAL2dyZWVuczcvMwAvZ3JlZW5zNy80AC9ncmVlbnM3LzUAL2dyZWVuczcvNgAvZ3JlZW5zNy83AC9ncmVlbnM4LzEAL2dyZWVuczgvMgAvZ3JlZW5zOC8zAC9ncmVlbnM4LzQAL2dyZWVuczgvNQAvZ3JlZW5zOC82AC9ncmVlbnM4LzcAL2dyZWVuczgvOAAvZ3JlZW5zOS8xAC9ncmVlbnM5LzIAL2dyZWVuczkvMwAvZ3JlZW5zOS80AC9ncmVlbnM5LzUAL2dyZWVuczkvNgAvZ3JlZW5zOS83AC9ncmVlbnM5LzgAL2dyZWVuczkvOQAvZ3JleXMzLzEAL2dyZXlzMy8yAC9ncmV5czMvMwAvZ3JleXM0LzEAL2dyZXlzNC8yAC9ncmV5czQvMwAvZ3JleXM0LzQAL2dyZXlzNS8xAC9ncmV5czUvMgAvZ3JleXM1LzMAL2dyZXlzNS80AC9ncmV5czUvNQAvZ3JleXM2LzEAL2dyZXlzNi8yAC9ncmV5czYvMwAvZ3JleXM2LzQAL2dyZXlzNi81AC9ncmV5czYvNgAvZ3JleXM3LzEAL2dyZXlzNy8yAC9ncmV5czcvMwAvZ3JleXM3LzQAL2dyZXlzNy81AC9ncmV5czcvNgAvZ3JleXM3LzcAL2dyZXlzOC8xAC9ncmV5czgvMgAvZ3JleXM4LzMAL2dyZXlzOC80AC9ncmV5czgvNQAvZ3JleXM4LzYAL2dyZXlzOC83AC9ncmV5czgvOAAvZ3JleXM5LzEAL2dyZXlzOS8yAC9ncmV5czkvMwAvZ3JleXM5LzQAL2dyZXlzOS81AC9ncmV5czkvNgAvZ3JleXM5LzcAL2dyZXlzOS84AC9ncmV5czkvOQAvb3JhbmdlczMvMQAvb3JhbmdlczMvMgAvb3JhbmdlczMvMwAvb3JhbmdlczQvMQAvb3JhbmdlczQvMgAvb3JhbmdlczQvMwAvb3JhbmdlczQvNAAvb3JhbmdlczUvMQAvb3JhbmdlczUvMgAvb3JhbmdlczUvMwAvb3JhbmdlczUvNAAvb3JhbmdlczUvNQAvb3JhbmdlczYvMQAvb3JhbmdlczYvMgAvb3JhbmdlczYvMwAvb3JhbmdlczYvNAAvb3JhbmdlczYvNQAvb3JhbmdlczYvNgAvb3JhbmdlczcvMQAvb3JhbmdlczcvMgAvb3JhbmdlczcvMwAvb3JhbmdlczcvNAAvb3JhbmdlczcvNQAvb3JhbmdlczcvNgAvb3JhbmdlczcvNwAvb3JhbmdlczgvMQAvb3JhbmdlczgvMgAvb3JhbmdlczgvMwAvb3JhbmdlczgvNAAvb3JhbmdlczgvNQAvb3JhbmdlczgvNgAvb3JhbmdlczgvNwAvb3JhbmdlczgvOAAvb3JhbmdlczkvMQAvb3JhbmdlczkvMgAvb3JhbmdlczkvMwAvb3JhbmdlczkvNAAvb3JhbmdlczkvNQAvb3JhbmdlczkvNgAvb3JhbmdlczkvNwAvb3JhbmdlczkvOAAvb3JhbmdlczkvOQAvb3JyZDMvMQAvb3JyZDMvMgAvb3JyZDMvMwAvb3JyZDQvMQAvb3JyZDQvMgAvb3JyZDQvMwAvb3JyZDQvNAAvb3JyZDUvMQAvb3JyZDUvMgAvb3JyZDUvMwAvb3JyZDUvNAAvb3JyZDUvNQAvb3JyZDYvMQAvb3JyZDYvMgAvb3JyZDYvMwAvb3JyZDYvNAAvb3JyZDYvNQAvb3JyZDYvNgAvb3JyZDcvMQAvb3JyZDcvMgAvb3JyZDcvMwAvb3JyZDcvNAAvb3JyZDcvNQAvb3JyZDcvNgAvb3JyZDcvNwAvb3JyZDgvMQAvb3JyZDgvMgAvb3JyZDgvMwAvb3JyZDgvNAAvb3JyZDgvNQAvb3JyZDgvNgAvb3JyZDgvNwAvb3JyZDgvOAAvb3JyZDkvMQAvb3JyZDkvMgAvb3JyZDkvMwAvb3JyZDkvNAAvb3JyZDkvNQAvb3JyZDkvNgAvb3JyZDkvNwAvb3JyZDkvOAAvb3JyZDkvOQAvcGFpcmVkMTAvMQAvcGFpcmVkMTAvMTAAL3BhaXJlZDEwLzIAL3BhaXJlZDEwLzMAL3BhaXJlZDEwLzQAL3BhaXJlZDEwLzUAL3BhaXJlZDEwLzYAL3BhaXJlZDEwLzcAL3BhaXJlZDEwLzgAL3BhaXJlZDEwLzkAL3BhaXJlZDExLzEAL3BhaXJlZDExLzEwAC9wYWlyZWQxMS8xMQAvcGFpcmVkMTEvMgAvcGFpcmVkMTEvMwAvcGFpcmVkMTEvNAAvcGFpcmVkMTEvNQAvcGFpcmVkMTEvNgAvcGFpcmVkMTEvNwAvcGFpcmVkMTEvOAAvcGFpcmVkMTEvOQAvcGFpcmVkMTIvMQAvcGFpcmVkMTIvMTAAL3BhaXJlZDEyLzExAC9wYWlyZWQxMi8xMgAvcGFpcmVkMTIvMgAvcGFpcmVkMTIvMwAvcGFpcmVkMTIvNAAvcGFpcmVkMTIvNQAvcGFpcmVkMTIvNgAvcGFpcmVkMTIvNwAvcGFpcmVkMTIvOAAvcGFpcmVkMTIvOQAvcGFpcmVkMy8xAC9wYWlyZWQzLzIAL3BhaXJlZDMvMwAvcGFpcmVkNC8xAC9wYWlyZWQ0LzIAL3BhaXJlZDQvMwAvcGFpcmVkNC80AC9wYWlyZWQ1LzEAL3BhaXJlZDUvMgAvcGFpcmVkNS8zAC9wYWlyZWQ1LzQAL3BhaXJlZDUvNQAvcGFpcmVkNi8xAC9wYWlyZWQ2LzIAL3BhaXJlZDYvMwAvcGFpcmVkNi80AC9wYWlyZWQ2LzUAL3BhaXJlZDYvNgAvcGFpcmVkNy8xAC9wYWlyZWQ3LzIAL3BhaXJlZDcvMwAvcGFpcmVkNy80AC9wYWlyZWQ3LzUAL3BhaXJlZDcvNgAvcGFpcmVkNy83AC9wYWlyZWQ4LzEAL3BhaXJlZDgvMgAvcGFpcmVkOC8zAC9wYWlyZWQ4LzQAL3BhaXJlZDgvNQAvcGFpcmVkOC82AC9wYWlyZWQ4LzcAL3BhaXJlZDgvOAAvcGFpcmVkOS8xAC9wYWlyZWQ5LzIAL3BhaXJlZDkvMwAvcGFpcmVkOS80AC9wYWlyZWQ5LzUAL3BhaXJlZDkvNgAvcGFpcmVkOS83AC9wYWlyZWQ5LzgAL3BhaXJlZDkvOQAvcGFzdGVsMTMvMQAvcGFzdGVsMTMvMgAvcGFzdGVsMTMvMwAvcGFzdGVsMTQvMQAvcGFzdGVsMTQvMgAvcGFzdGVsMTQvMwAvcGFzdGVsMTQvNAAvcGFzdGVsMTUvMQAvcGFzdGVsMTUvMgAvcGFzdGVsMTUvMwAvcGFzdGVsMTUvNAAvcGFzdGVsMTUvNQAvcGFzdGVsMTYvMQAvcGFzdGVsMTYvMgAvcGFzdGVsMTYvMwAvcGFzdGVsMTYvNAAvcGFzdGVsMTYvNQAvcGFzdGVsMTYvNgAvcGFzdGVsMTcvMQAvcGFzdGVsMTcvMgAvcGFzdGVsMTcvMwAvcGFzdGVsMTcvNAAvcGFzdGVsMTcvNQAvcGFzdGVsMTcvNgAvcGFzdGVsMTcvNwAvcGFzdGVsMTgvMQAvcGFzdGVsMTgvMgAvcGFzdGVsMTgvMwAvcGFzdGVsMTgvNAAvcGFzdGVsMTgvNQAvcGFzdGVsMTgvNgAvcGFzdGVsMTgvNwAvcGFzdGVsMTgvOAAvcGFzdGVsMTkvMQAvcGFzdGVsMTkvMgAvcGFzdGVsMTkvMwAvcGFzdGVsMTkvNAAvcGFzdGVsMTkvNQAvcGFzdGVsMTkvNgAvcGFzdGVsMTkvNwAvcGFzdGVsMTkvOAAvcGFzdGVsMTkvOQAvcGFzdGVsMjMvMQAvcGFzdGVsMjMvMgAvcGFzdGVsMjMvMwAvcGFzdGVsMjQvMQAvcGFzdGVsMjQvMgAvcGFzdGVsMjQvMwAvcGFzdGVsMjQvNAAvcGFzdGVsMjUvMQAvcGFzdGVsMjUvMgAvcGFzdGVsMjUvMwAvcGFzdGVsMjUvNAAvcGFzdGVsMjUvNQAvcGFzdGVsMjYvMQAvcGFzdGVsMjYvMgAvcGFzdGVsMjYvMwAvcGFzdGVsMjYvNAAvcGFzdGVsMjYvNQAvcGFzdGVsMjYvNgAvcGFzdGVsMjcvMQAvcGFzdGVsMjcvMgAvcGFzdGVsMjcvMwAvcGFzdGVsMjcvNAAvcGFzdGVsMjcvNQAvcGFzdGVsMjcvNgAvcGFzdGVsMjcvNwAvcGFzdGVsMjgvMQAvcGFzdGVsMjgvMgAvcGFzdGVsMjgvMwAvcGFzdGVsMjgvNAAvcGFzdGVsMjgvNQAvcGFzdGVsMjgvNgAvcGFzdGVsMjgvNwAvcGFzdGVsMjgvOAAvcGl5ZzEwLzEAL3BpeWcxMC8xMAAvcGl5ZzEwLzIAL3BpeWcxMC8zAC9waXlnMTAvNAAvcGl5ZzEwLzUAL3BpeWcxMC82AC9waXlnMTAvNwAvcGl5ZzEwLzgAL3BpeWcxMC85AC9waXlnMTEvMQAvcGl5ZzExLzEwAC9waXlnMTEvMTEAL3BpeWcxMS8yAC9waXlnMTEvMwAvcGl5ZzExLzQAL3BpeWcxMS81AC9waXlnMTEvNgAvcGl5ZzExLzcAL3BpeWcxMS84AC9waXlnMTEvOQAvcGl5ZzMvMQAvcGl5ZzMvMgAvcGl5ZzMvMwAvcGl5ZzQvMQAvcGl5ZzQvMgAvcGl5ZzQvMwAvcGl5ZzQvNAAvcGl5ZzUvMQAvcGl5ZzUvMgAvcGl5ZzUvMwAvcGl5ZzUvNAAvcGl5ZzUvNQAvcGl5ZzYvMQAvcGl5ZzYvMgAvcGl5ZzYvMwAvcGl5ZzYvNAAvcGl5ZzYvNQAvcGl5ZzYvNgAvcGl5ZzcvMQAvcGl5ZzcvMgAvcGl5ZzcvMwAvcGl5ZzcvNAAvcGl5ZzcvNQAvcGl5ZzcvNgAvcGl5ZzcvNwAvcGl5ZzgvMQAvcGl5ZzgvMgAvcGl5ZzgvMwAvcGl5ZzgvNAAvcGl5ZzgvNQAvcGl5ZzgvNgAvcGl5ZzgvNwAvcGl5ZzgvOAAvcGl5ZzkvMQAvcGl5ZzkvMgAvcGl5ZzkvMwAvcGl5ZzkvNAAvcGl5ZzkvNQAvcGl5ZzkvNgAvcGl5ZzkvNwAvcGl5ZzkvOAAvcGl5ZzkvOQAvcHJnbjEwLzEAL3ByZ24xMC8xMAAvcHJnbjEwLzIAL3ByZ24xMC8zAC9wcmduMTAvNAAvcHJnbjEwLzUAL3ByZ24xMC82AC9wcmduMTAvNwAvcHJnbjEwLzgAL3ByZ24xMC85AC9wcmduMTEvMQAvcHJnbjExLzEwAC9wcmduMTEvMTEAL3ByZ24xMS8yAC9wcmduMTEvMwAvcHJnbjExLzQAL3ByZ24xMS81AC9wcmduMTEvNgAvcHJnbjExLzcAL3ByZ24xMS84AC9wcmduMTEvOQAvcHJnbjMvMQAvcHJnbjMvMgAvcHJnbjMvMwAvcHJnbjQvMQAvcHJnbjQvMgAvcHJnbjQvMwAvcHJnbjQvNAAvcHJnbjUvMQAvcHJnbjUvMgAvcHJnbjUvMwAvcHJnbjUvNAAvcHJnbjUvNQAvcHJnbjYvMQAvcHJnbjYvMgAvcHJnbjYvMwAvcHJnbjYvNAAvcHJnbjYvNQAvcHJnbjYvNgAvcHJnbjcvMQAvcHJnbjcvMgAvcHJnbjcvMwAvcHJnbjcvNAAvcHJnbjcvNQAvcHJnbjcvNgAvcHJnbjcvNwAvcHJnbjgvMQAvcHJnbjgvMgAvcHJnbjgvMwAvcHJnbjgvNAAvcHJnbjgvNQAvcHJnbjgvNgAvcHJnbjgvNwAvcHJnbjgvOAAvcHJnbjkvMQAvcHJnbjkvMgAvcHJnbjkvMwAvcHJnbjkvNAAvcHJnbjkvNQAvcHJnbjkvNgAvcHJnbjkvNwAvcHJnbjkvOAAvcHJnbjkvOQAvcHVidTMvMQAvcHVidTMvMgAvcHVidTMvMwAvcHVidTQvMQAvcHVidTQvMgAvcHVidTQvMwAvcHVidTQvNAAvcHVidTUvMQAvcHVidTUvMgAvcHVidTUvMwAvcHVidTUvNAAvcHVidTUvNQAvcHVidTYvMQAvcHVidTYvMgAvcHVidTYvMwAvcHVidTYvNAAvcHVidTYvNQAvcHVidTYvNgAvcHVidTcvMQAvcHVidTcvMgAvcHVidTcvMwAvcHVidTcvNAAvcHVidTcvNQAvcHVidTcvNgAvcHVidTcvNwAvcHVidTgvMQAvcHVidTgvMgAvcHVidTgvMwAvcHVidTgvNAAvcHVidTgvNQAvcHVidTgvNgAvcHVidTgvNwAvcHVidTgvOAAvcHVidTkvMQAvcHVidTkvMgAvcHVidTkvMwAvcHVidTkvNAAvcHVidTkvNQAvcHVidTkvNgAvcHVidTkvNwAvcHVidTkvOAAvcHVidTkvOQAvcHVidWduMy8xAC9wdWJ1Z24zLzIAL3B1YnVnbjMvMwAvcHVidWduNC8xAC9wdWJ1Z240LzIAL3B1YnVnbjQvMwAvcHVidWduNC80AC9wdWJ1Z241LzEAL3B1YnVnbjUvMgAvcHVidWduNS8zAC9wdWJ1Z241LzQAL3B1YnVnbjUvNQAvcHVidWduNi8xAC9wdWJ1Z242LzIAL3B1YnVnbjYvMwAvcHVidWduNi80AC9wdWJ1Z242LzUAL3B1YnVnbjYvNgAvcHVidWduNy8xAC9wdWJ1Z243LzIAL3B1YnVnbjcvMwAvcHVidWduNy80AC9wdWJ1Z243LzUAL3B1YnVnbjcvNgAvcHVidWduNy83AC9wdWJ1Z244LzEAL3B1YnVnbjgvMgAvcHVidWduOC8zAC9wdWJ1Z244LzQAL3B1YnVnbjgvNQAvcHVidWduOC82AC9wdWJ1Z244LzcAL3B1YnVnbjgvOAAvcHVidWduOS8xAC9wdWJ1Z245LzIAL3B1YnVnbjkvMwAvcHVidWduOS80AC9wdWJ1Z245LzUAL3B1YnVnbjkvNgAvcHVidWduOS83AC9wdWJ1Z245LzgAL3B1YnVnbjkvOQAvcHVvcjEwLzEAL3B1b3IxMC8xMAAvcHVvcjEwLzIAL3B1b3IxMC8zAC9wdW9yMTAvNAAvcHVvcjEwLzUAL3B1b3IxMC82AC9wdW9yMTAvNwAvcHVvcjEwLzgAL3B1b3IxMC85AC9wdW9yMTEvMQAvcHVvcjExLzEwAC9wdW9yMTEvMTEAL3B1b3IxMS8yAC9wdW9yMTEvMwAvcHVvcjExLzQAL3B1b3IxMS81AC9wdW9yMTEvNgAvcHVvcjExLzcAL3B1b3IxMS84AC9wdW9yMTEvOQAvcHVvcjMvMQAvcHVvcjMvMgAvcHVvcjMvMwAvcHVvcjQvMQAvcHVvcjQvMgAvcHVvcjQvMwAvcHVvcjQvNAAvcHVvcjUvMQAvcHVvcjUvMgAvcHVvcjUvMwAvcHVvcjUvNAAvcHVvcjUvNQAvcHVvcjYvMQAvcHVvcjYvMgAvcHVvcjYvMwAvcHVvcjYvNAAvcHVvcjYvNQAvcHVvcjYvNgAvcHVvcjcvMQAvcHVvcjcvMgAvcHVvcjcvMwAvcHVvcjcvNAAvcHVvcjcvNQAvcHVvcjcvNgAvcHVvcjcvNwAvcHVvcjgvMQAvcHVvcjgvMgAvcHVvcjgvMwAvcHVvcjgvNAAvcHVvcjgvNQAvcHVvcjgvNgAvcHVvcjgvNwAvcHVvcjgvOAAvcHVvcjkvMQAvcHVvcjkvMgAvcHVvcjkvMwAvcHVvcjkvNAAvcHVvcjkvNQAvcHVvcjkvNgAvcHVvcjkvNwAvcHVvcjkvOAAvcHVvcjkvOQAvcHVyZDMvMQAvcHVyZDMvMgAvcHVyZDMvMwAvcHVyZDQvMQAvcHVyZDQvMgAvcHVyZDQvMwAvcHVyZDQvNAAvcHVyZDUvMQAvcHVyZDUvMgAvcHVyZDUvMwAvcHVyZDUvNAAvcHVyZDUvNQAvcHVyZDYvMQAvcHVyZDYvMgAvcHVyZDYvMwAvcHVyZDYvNAAvcHVyZDYvNQAvcHVyZDYvNgAvcHVyZDcvMQAvcHVyZDcvMgAvcHVyZDcvMwAvcHVyZDcvNAAvcHVyZDcvNQAvcHVyZDcvNgAvcHVyZDcvNwAvcHVyZDgvMQAvcHVyZDgvMgAvcHVyZDgvMwAvcHVyZDgvNAAvcHVyZDgvNQAvcHVyZDgvNgAvcHVyZDgvNwAvcHVyZDgvOAAvcHVyZDkvMQAvcHVyZDkvMgAvcHVyZDkvMwAvcHVyZDkvNAAvcHVyZDkvNQAvcHVyZDkvNgAvcHVyZDkvNwAvcHVyZDkvOAAvcHVyZDkvOQAvcHVycGxlczMvMQAvcHVycGxlczMvMgAvcHVycGxlczMvMwAvcHVycGxlczQvMQAvcHVycGxlczQvMgAvcHVycGxlczQvMwAvcHVycGxlczQvNAAvcHVycGxlczUvMQAvcHVycGxlczUvMgAvcHVycGxlczUvMwAvcHVycGxlczUvNAAvcHVycGxlczUvNQAvcHVycGxlczYvMQAvcHVycGxlczYvMgAvcHVycGxlczYvMwAvcHVycGxlczYvNAAvcHVycGxlczYvNQAvcHVycGxlczYvNgAvcHVycGxlczcvMQAvcHVycGxlczcvMgAvcHVycGxlczcvMwAvcHVycGxlczcvNAAvcHVycGxlczcvNQAvcHVycGxlczcvNgAvcHVycGxlczcvNwAvcHVycGxlczgvMQAvcHVycGxlczgvMgAvcHVycGxlczgvMwAvcHVycGxlczgvNAAvcHVycGxlczgvNQAvcHVycGxlczgvNgAvcHVycGxlczgvNwAvcHVycGxlczgvOAAvcHVycGxlczkvMQAvcHVycGxlczkvMgAvcHVycGxlczkvMwAvcHVycGxlczkvNAAvcHVycGxlczkvNQAvcHVycGxlczkvNgAvcHVycGxlczkvNwAvcHVycGxlczkvOAAvcHVycGxlczkvOQAvcmRidTEwLzEAL3JkYnUxMC8xMAAvcmRidTEwLzIAL3JkYnUxMC8zAC9yZGJ1MTAvNAAvcmRidTEwLzUAL3JkYnUxMC82AC9yZGJ1MTAvNwAvcmRidTEwLzgAL3JkYnUxMC85AC9yZGJ1MTEvMQAvcmRidTExLzEwAC9yZGJ1MTEvMTEAL3JkYnUxMS8yAC9yZGJ1MTEvMwAvcmRidTExLzQAL3JkYnUxMS81AC9yZGJ1MTEvNgAvcmRidTExLzcAL3JkYnUxMS84AC9yZGJ1MTEvOQAvcmRidTMvMQAvcmRidTMvMgAvcmRidTMvMwAvcmRidTQvMQAvcmRidTQvMgAvcmRidTQvMwAvcmRidTQvNAAvcmRidTUvMQAvcmRidTUvMgAvcmRidTUvMwAvcmRidTUvNAAvcmRidTUvNQAvcmRidTYvMQAvcmRidTYvMgAvcmRidTYvMwAvcmRidTYvNAAvcmRidTYvNQAvcmRidTYvNgAvcmRidTcvMQAvcmRidTcvMgAvcmRidTcvMwAvcmRidTcvNAAvcmRidTcvNQAvcmRidTcvNgAvcmRidTcvNwAvcmRidTgvMQAvcmRidTgvMgAvcmRidTgvMwAvcmRidTgvNAAvcmRidTgvNQAvcmRidTgvNgAvcmRidTgvNwAvcmRidTgvOAAvcmRidTkvMQAvcmRidTkvMgAvcmRidTkvMwAvcmRidTkvNAAvcmRidTkvNQAvcmRidTkvNgAvcmRidTkvNwAvcmRidTkvOAAvcmRidTkvOQAvcmRneTEwLzEAL3JkZ3kxMC8xMAAvcmRneTEwLzIAL3JkZ3kxMC8zAC9yZGd5MTAvNAAvcmRneTEwLzUAL3JkZ3kxMC82AC9yZGd5MTAvNwAvcmRneTEwLzgAL3JkZ3kxMC85AC9yZGd5MTEvMQAvcmRneTExLzEwAC9yZGd5MTEvMTEAL3JkZ3kxMS8yAC9yZGd5MTEvMwAvcmRneTExLzQAL3JkZ3kxMS81AC9yZGd5MTEvNgAvcmRneTExLzcAL3JkZ3kxMS84AC9yZGd5MTEvOQAvcmRneTMvMQAvcmRneTMvMgAvcmRneTMvMwAvcmRneTQvMQAvcmRneTQvMgAvcmRneTQvMwAvcmRneTQvNAAvcmRneTUvMQAvcmRneTUvMgAvcmRneTUvMwAvcmRneTUvNAAvcmRneTUvNQAvcmRneTYvMQAvcmRneTYvMgAvcmRneTYvMwAvcmRneTYvNAAvcmRneTYvNQAvcmRneTYvNgAvcmRneTcvMQAvcmRneTcvMgAvcmRneTcvMwAvcmRneTcvNAAvcmRneTcvNQAvcmRneTcvNgAvcmRneTcvNwAvcmRneTgvMQAvcmRneTgvMgAvcmRneTgvMwAvcmRneTgvNAAvcmRneTgvNQAvcmRneTgvNgAvcmRneTgvNwAvcmRneTgvOAAvcmRneTkvMQAvcmRneTkvMgAvcmRneTkvMwAvcmRneTkvNAAvcmRneTkvNQAvcmRneTkvNgAvcmRneTkvNwAvcmRneTkvOAAvcmRneTkvOQAvcmRwdTMvMQAvcmRwdTMvMgAvcmRwdTMvMwAvcmRwdTQvMQAvcmRwdTQvMgAvcmRwdTQvMwAvcmRwdTQvNAAvcmRwdTUvMQAvcmRwdTUvMgAvcmRwdTUvMwAvcmRwdTUvNAAvcmRwdTUvNQAvcmRwdTYvMQAvcmRwdTYvMgAvcmRwdTYvMwAvcmRwdTYvNAAvcmRwdTYvNQAvcmRwdTYvNgAvcmRwdTcvMQAvcmRwdTcvMgAvcmRwdTcvMwAvcmRwdTcvNAAvcmRwdTcvNQAvcmRwdTcvNgAvcmRwdTcvNwAvcmRwdTgvMQAvcmRwdTgvMgAvcmRwdTgvMwAvcmRwdTgvNAAvcmRwdTgvNQAvcmRwdTgvNgAvcmRwdTgvNwAvcmRwdTgvOAAvcmRwdTkvMQAvcmRwdTkvMgAvcmRwdTkvMwAvcmRwdTkvNAAvcmRwdTkvNQAvcmRwdTkvNgAvcmRwdTkvNwAvcmRwdTkvOAAvcmRwdTkvOQAvcmR5bGJ1MTAvMQAvcmR5bGJ1MTAvMTAAL3JkeWxidTEwLzIAL3JkeWxidTEwLzMAL3JkeWxidTEwLzQAL3JkeWxidTEwLzUAL3JkeWxidTEwLzYAL3JkeWxidTEwLzcAL3JkeWxidTEwLzgAL3JkeWxidTEwLzkAL3JkeWxidTExLzEAL3JkeWxidTExLzEwAC9yZHlsYnUxMS8xMQAvcmR5bGJ1MTEvMgAvcmR5bGJ1MTEvMwAvcmR5bGJ1MTEvNAAvcmR5bGJ1MTEvNQAvcmR5bGJ1MTEvNgAvcmR5bGJ1MTEvNwAvcmR5bGJ1MTEvOAAvcmR5bGJ1MTEvOQAvcmR5bGJ1My8xAC9yZHlsYnUzLzIAL3JkeWxidTMvMwAvcmR5bGJ1NC8xAC9yZHlsYnU0LzIAL3JkeWxidTQvMwAvcmR5bGJ1NC80AC9yZHlsYnU1LzEAL3JkeWxidTUvMgAvcmR5bGJ1NS8zAC9yZHlsYnU1LzQAL3JkeWxidTUvNQAvcmR5bGJ1Ni8xAC9yZHlsYnU2LzIAL3JkeWxidTYvMwAvcmR5bGJ1Ni80AC9yZHlsYnU2LzUAL3JkeWxidTYvNgAvcmR5bGJ1Ny8xAC9yZHlsYnU3LzIAL3JkeWxidTcvMwAvcmR5bGJ1Ny80AC9yZHlsYnU3LzUAL3JkeWxidTcvNgAvcmR5bGJ1Ny83AC9yZHlsYnU4LzEAL3JkeWxidTgvMgAvcmR5bGJ1OC8zAC9yZHlsYnU4LzQAL3JkeWxidTgvNQAvcmR5bGJ1OC82AC9yZHlsYnU4LzcAL3JkeWxidTgvOAAvcmR5bGJ1OS8xAC9yZHlsYnU5LzIAL3JkeWxidTkvMwAvcmR5bGJ1OS80AC9yZHlsYnU5LzUAL3JkeWxidTkvNgAvcmR5bGJ1OS83AC9yZHlsYnU5LzgAL3JkeWxidTkvOQAvcmR5bGduMTAvMQAvcmR5bGduMTAvMTAAL3JkeWxnbjEwLzIAL3JkeWxnbjEwLzMAL3JkeWxnbjEwLzQAL3JkeWxnbjEwLzUAL3JkeWxnbjEwLzYAL3JkeWxnbjEwLzcAL3JkeWxnbjEwLzgAL3JkeWxnbjEwLzkAL3JkeWxnbjExLzEAL3JkeWxnbjExLzEwAC9yZHlsZ24xMS8xMQAvcmR5bGduMTEvMgAvcmR5bGduMTEvMwAvcmR5bGduMTEvNAAvcmR5bGduMTEvNQAvcmR5bGduMTEvNgAvcmR5bGduMTEvNwAvcmR5bGduMTEvOAAvcmR5bGduMTEvOQAvcmR5bGduMy8xAC9yZHlsZ24zLzIAL3JkeWxnbjMvMwAvcmR5bGduNC8xAC9yZHlsZ240LzIAL3JkeWxnbjQvMwAvcmR5bGduNC80AC9yZHlsZ241LzEAL3JkeWxnbjUvMgAvcmR5bGduNS8zAC9yZHlsZ241LzQAL3JkeWxnbjUvNQAvcmR5bGduNi8xAC9yZHlsZ242LzIAL3JkeWxnbjYvMwAvcmR5bGduNi80AC9yZHlsZ242LzUAL3JkeWxnbjYvNgAvcmR5bGduNy8xAC9yZHlsZ243LzIAL3JkeWxnbjcvMwAvcmR5bGduNy80AC9yZHlsZ243LzUAL3JkeWxnbjcvNgAvcmR5bGduNy83AC9yZHlsZ244LzEAL3JkeWxnbjgvMgAvcmR5bGduOC8zAC9yZHlsZ244LzQAL3JkeWxnbjgvNQAvcmR5bGduOC82AC9yZHlsZ244LzcAL3JkeWxnbjgvOAAvcmR5bGduOS8xAC9yZHlsZ245LzIAL3JkeWxnbjkvMwAvcmR5bGduOS80AC9yZHlsZ245LzUAL3JkeWxnbjkvNgAvcmR5bGduOS83AC9yZHlsZ245LzgAL3JkeWxnbjkvOQAvcmVkczMvMQAvcmVkczMvMgAvcmVkczMvMwAvcmVkczQvMQAvcmVkczQvMgAvcmVkczQvMwAvcmVkczQvNAAvcmVkczUvMQAvcmVkczUvMgAvcmVkczUvMwAvcmVkczUvNAAvcmVkczUvNQAvcmVkczYvMQAvcmVkczYvMgAvcmVkczYvMwAvcmVkczYvNAAvcmVkczYvNQAvcmVkczYvNgAvcmVkczcvMQAvcmVkczcvMgAvcmVkczcvMwAvcmVkczcvNAAvcmVkczcvNQAvcmVkczcvNgAvcmVkczcvNwAvcmVkczgvMQAvcmVkczgvMgAvcmVkczgvMwAvcmVkczgvNAAvcmVkczgvNQAvcmVkczgvNgAvcmVkczgvNwAvcmVkczgvOAAvcmVkczkvMQAvcmVkczkvMgAvcmVkczkvMwAvcmVkczkvNAAvcmVkczkvNQAvcmVkczkvNgAvcmVkczkvNwAvcmVkczkvOAAvcmVkczkvOQAvc2V0MTMvMQAvc2V0MTMvMgAvc2V0MTMvMwAvc2V0MTQvMQAvc2V0MTQvMgAvc2V0MTQvMwAvc2V0MTQvNAAvc2V0MTUvMQAvc2V0MTUvMgAvc2V0MTUvMwAvc2V0MTUvNAAvc2V0MTUvNQAvc2V0MTYvMQAvc2V0MTYvMgAvc2V0MTYvMwAvc2V0MTYvNAAvc2V0MTYvNQAvc2V0MTYvNgAvc2V0MTcvMQAvc2V0MTcvMgAvc2V0MTcvMwAvc2V0MTcvNAAvc2V0MTcvNQAvc2V0MTcvNgAvc2V0MTcvNwAvc2V0MTgvMQAvc2V0MTgvMgAvc2V0MTgvMwAvc2V0MTgvNAAvc2V0MTgvNQAvc2V0MTgvNgAvc2V0MTgvNwAvc2V0MTgvOAAvc2V0MTkvMQAvc2V0MTkvMgAvc2V0MTkvMwAvc2V0MTkvNAAvc2V0MTkvNQAvc2V0MTkvNgAvc2V0MTkvNwAvc2V0MTkvOAAvc2V0MTkvOQAvc2V0MjMvMQAvc2V0MjMvMgAvc2V0MjMvMwAvc2V0MjQvMQAvc2V0MjQvMgAvc2V0MjQvMwAvc2V0MjQvNAAvc2V0MjUvMQAvc2V0MjUvMgAvc2V0MjUvMwAvc2V0MjUvNAAvc2V0MjUvNQAvc2V0MjYvMQAvc2V0MjYvMgAvc2V0MjYvMwAvc2V0MjYvNAAvc2V0MjYvNQAvc2V0MjYvNgAvc2V0MjcvMQAvc2V0MjcvMgAvc2V0MjcvMwAvc2V0MjcvNAAvc2V0MjcvNQAvc2V0MjcvNgAvc2V0MjcvNwAvc2V0MjgvMQAvc2V0MjgvMgAvc2V0MjgvMwAvc2V0MjgvNAAvc2V0MjgvNQAvc2V0MjgvNgAvc2V0MjgvNwAvc2V0MjgvOAAvc2V0MzEwLzEAL3NldDMxMC8xMAAvc2V0MzEwLzIAL3NldDMxMC8zAC9zZXQzMTAvNAAvc2V0MzEwLzUAL3NldDMxMC82AC9zZXQzMTAvNwAvc2V0MzEwLzgAL3NldDMxMC85AC9zZXQzMTEvMQAvc2V0MzExLzEwAC9zZXQzMTEvMTEAL3NldDMxMS8yAC9zZXQzMTEvMwAvc2V0MzExLzQAL3NldDMxMS81AC9zZXQzMTEvNgAvc2V0MzExLzcAL3NldDMxMS84AC9zZXQzMTEvOQAvc2V0MzEyLzEAL3NldDMxMi8xMAAvc2V0MzEyLzExAC9zZXQzMTIvMTIAL3NldDMxMi8yAC9zZXQzMTIvMwAvc2V0MzEyLzQAL3NldDMxMi81AC9zZXQzMTIvNgAvc2V0MzEyLzcAL3NldDMxMi84AC9zZXQzMTIvOQAvc2V0MzMvMQAvc2V0MzMvMgAvc2V0MzMvMwAvc2V0MzQvMQAvc2V0MzQvMgAvc2V0MzQvMwAvc2V0MzQvNAAvc2V0MzUvMQAvc2V0MzUvMgAvc2V0MzUvMwAvc2V0MzUvNAAvc2V0MzUvNQAvc2V0MzYvMQAvc2V0MzYvMgAvc2V0MzYvMwAvc2V0MzYvNAAvc2V0MzYvNQAvc2V0MzYvNgAvc2V0MzcvMQAvc2V0MzcvMgAvc2V0MzcvMwAvc2V0MzcvNAAvc2V0MzcvNQAvc2V0MzcvNgAvc2V0MzcvNwAvc2V0MzgvMQAvc2V0MzgvMgAvc2V0MzgvMwAvc2V0MzgvNAAvc2V0MzgvNQAvc2V0MzgvNgAvc2V0MzgvNwAvc2V0MzgvOAAvc2V0MzkvMQAvc2V0MzkvMgAvc2V0MzkvMwAvc2V0MzkvNAAvc2V0MzkvNQAvc2V0MzkvNgAvc2V0MzkvNwAvc2V0MzkvOAAvc2V0MzkvOQAvc3BlY3RyYWwxMC8xAC9zcGVjdHJhbDEwLzEwAC9zcGVjdHJhbDEwLzIAL3NwZWN0cmFsMTAvMwAvc3BlY3RyYWwxMC80AC9zcGVjdHJhbDEwLzUAL3NwZWN0cmFsMTAvNgAvc3BlY3RyYWwxMC83AC9zcGVjdHJhbDEwLzgAL3NwZWN0cmFsMTAvOQAvc3BlY3RyYWwxMS8xAC9zcGVjdHJhbDExLzEwAC9zcGVjdHJhbDExLzExAC9zcGVjdHJhbDExLzIAL3NwZWN0cmFsMTEvMwAvc3BlY3RyYWwxMS80AC9zcGVjdHJhbDExLzUAL3NwZWN0cmFsMTEvNgAvc3BlY3RyYWwxMS83AC9zcGVjdHJhbDExLzgAL3NwZWN0cmFsMTEvOQAvc3BlY3RyYWwzLzEAL3NwZWN0cmFsMy8yAC9zcGVjdHJhbDMvMwAvc3BlY3RyYWw0LzEAL3NwZWN0cmFsNC8yAC9zcGVjdHJhbDQvMwAvc3BlY3RyYWw0LzQAL3NwZWN0cmFsNS8xAC9zcGVjdHJhbDUvMgAvc3BlY3RyYWw1LzMAL3NwZWN0cmFsNS80AC9zcGVjdHJhbDUvNQAvc3BlY3RyYWw2LzEAL3NwZWN0cmFsNi8yAC9zcGVjdHJhbDYvMwAvc3BlY3RyYWw2LzQAL3NwZWN0cmFsNi81AC9zcGVjdHJhbDYvNgAvc3BlY3RyYWw3LzEAL3NwZWN0cmFsNy8yAC9zcGVjdHJhbDcvMwAvc3BlY3RyYWw3LzQAL3NwZWN0cmFsNy81AC9zcGVjdHJhbDcvNgAvc3BlY3RyYWw3LzcAL3NwZWN0cmFsOC8xAC9zcGVjdHJhbDgvMgAvc3BlY3RyYWw4LzMAL3NwZWN0cmFsOC80AC9zcGVjdHJhbDgvNQAvc3BlY3RyYWw4LzYAL3NwZWN0cmFsOC83AC9zcGVjdHJhbDgvOAAvc3BlY3RyYWw5LzEAL3NwZWN0cmFsOS8yAC9zcGVjdHJhbDkvMwAvc3BlY3RyYWw5LzQAL3NwZWN0cmFsOS81AC9zcGVjdHJhbDkvNgAvc3BlY3RyYWw5LzcAL3NwZWN0cmFsOS84AC9zcGVjdHJhbDkvOQAvc3ZnL2FsaWNlYmx1ZQAvc3ZnL2FudGlxdWV3aGl0ZQAvc3ZnL2FxdWEAL3N2Zy9hcXVhbWFyaW5lAC9zdmcvYXp1cmUAL3N2Zy9iZWlnZQAvc3ZnL2Jpc3F1ZQAvc3ZnL2JsYWNrAC9zdmcvYmxhbmNoZWRhbG1vbmQAL3N2Zy9ibHVlAC9zdmcvYmx1ZXZpb2xldAAvc3ZnL2Jyb3duAC9zdmcvYnVybHl3b29kAC9zdmcvY2FkZXRibHVlAC9zdmcvY2hhcnRyZXVzZQAvc3ZnL2Nob2NvbGF0ZQAvc3ZnL2NvcmFsAC9zdmcvY29ybmZsb3dlcmJsdWUAL3N2Zy9jb3Juc2lsawAvc3ZnL2NyaW1zb24AL3N2Zy9jeWFuAC9zdmcvZGFya2JsdWUAL3N2Zy9kYXJrY3lhbgAvc3ZnL2Rhcmtnb2xkZW5yb2QAL3N2Zy9kYXJrZ3JheQAvc3ZnL2RhcmtncmVlbgAvc3ZnL2RhcmtncmV5AC9zdmcvZGFya2toYWtpAC9zdmcvZGFya21hZ2VudGEAL3N2Zy9kYXJrb2xpdmVncmVlbgAvc3ZnL2RhcmtvcmFuZ2UAL3N2Zy9kYXJrb3JjaGlkAC9zdmcvZGFya3JlZAAvc3ZnL2RhcmtzYWxtb24AL3N2Zy9kYXJrc2VhZ3JlZW4AL3N2Zy9kYXJrc2xhdGVibHVlAC9zdmcvZGFya3NsYXRlZ3JheQAvc3ZnL2RhcmtzbGF0ZWdyZXkAL3N2Zy9kYXJrdHVycXVvaXNlAC9zdmcvZGFya3Zpb2xldAAvc3ZnL2RlZXBwaW5rAC9zdmcvZGVlcHNreWJsdWUAL3N2Zy9kaW1ncmF5AC9zdmcvZGltZ3JleQAvc3ZnL2RvZGdlcmJsdWUAL3N2Zy9maXJlYnJpY2sAL3N2Zy9mbG9yYWx3aGl0ZQAvc3ZnL2ZvcmVzdGdyZWVuAC9zdmcvZnVjaHNpYQAvc3ZnL2dhaW5zYm9ybwAvc3ZnL2dob3N0d2hpdGUAL3N2Zy9nb2xkAC9zdmcvZ29sZGVucm9kAC9zdmcvZ3JheQAvc3ZnL2dyZWVuAC9zdmcvZ3JlZW55ZWxsb3cAL3N2Zy9ncmV5AC9zdmcvaG9uZXlkZXcAL3N2Zy9ob3RwaW5rAC9zdmcvaW5kaWFucmVkAC9zdmcvaW5kaWdvAC9zdmcvaXZvcnkAL3N2Zy9raGFraQAvc3ZnL2xhdmVuZGVyAC9zdmcvbGF2ZW5kZXJibHVzaAAvc3ZnL2xhd25ncmVlbgAvc3ZnL2xlbW9uY2hpZmZvbgAvc3ZnL2xpZ2h0Ymx1ZQAvc3ZnL2xpZ2h0Y29yYWwAL3N2Zy9saWdodGN5YW4AL3N2Zy9saWdodGdvbGRlbnJvZHllbGxvdwAvc3ZnL2xpZ2h0Z3JheQAvc3ZnL2xpZ2h0Z3JlZW4AL3N2Zy9saWdodGdyZXkAL3N2Zy9saWdodHBpbmsAL3N2Zy9saWdodHNhbG1vbgAvc3ZnL2xpZ2h0c2VhZ3JlZW4AL3N2Zy9saWdodHNreWJsdWUAL3N2Zy9saWdodHNsYXRlZ3JheQAvc3ZnL2xpZ2h0c2xhdGVncmV5AC9zdmcvbGlnaHRzdGVlbGJsdWUAL3N2Zy9saWdodHllbGxvdwAvc3ZnL2xpbWUAL3N2Zy9saW1lZ3JlZW4AL3N2Zy9saW5lbgAvc3ZnL21hZ2VudGEAL3N2Zy9tYXJvb24AL3N2Zy9tZWRpdW1hcXVhbWFyaW5lAC9zdmcvbWVkaXVtYmx1ZQAvc3ZnL21lZGl1bW9yY2hpZAAvc3ZnL21lZGl1bXB1cnBsZQAvc3ZnL21lZGl1bXNlYWdyZWVuAC9zdmcvbWVkaXVtc2xhdGVibHVlAC9zdmcvbWVkaXVtc3ByaW5nZ3JlZW4AL3N2Zy9tZWRpdW10dXJxdW9pc2UAL3N2Zy9tZWRpdW12aW9sZXRyZWQAL3N2Zy9taWRuaWdodGJsdWUAL3N2Zy9taW50Y3JlYW0AL3N2Zy9taXN0eXJvc2UAL3N2Zy9tb2NjYXNpbgAvc3ZnL25hdmFqb3doaXRlAC9zdmcvbmF2eQAvc3ZnL29sZGxhY2UAL3N2Zy9vbGl2ZQAvc3ZnL29saXZlZHJhYgAvc3ZnL29yYW5nZQAvc3ZnL29yYW5nZXJlZAAvc3ZnL29yY2hpZAAvc3ZnL3BhbGVnb2xkZW5yb2QAL3N2Zy9wYWxlZ3JlZW4AL3N2Zy9wYWxldHVycXVvaXNlAC9zdmcvcGFsZXZpb2xldHJlZAAvc3ZnL3BhcGF5YXdoaXAAL3N2Zy9wZWFjaHB1ZmYAL3N2Zy9wZXJ1AC9zdmcvcGluawAvc3ZnL3BsdW0AL3N2Zy9wb3dkZXJibHVlAC9zdmcvcHVycGxlAC9zdmcvcmVkAC9zdmcvcm9zeWJyb3duAC9zdmcvcm95YWxibHVlAC9zdmcvc2FkZGxlYnJvd24AL3N2Zy9zYWxtb24AL3N2Zy9zYW5keWJyb3duAC9zdmcvc2VhZ3JlZW4AL3N2Zy9zZWFzaGVsbAAvc3ZnL3NpZW5uYQAvc3ZnL3NpbHZlcgAvc3ZnL3NreWJsdWUAL3N2Zy9zbGF0ZWJsdWUAL3N2Zy9zbGF0ZWdyYXkAL3N2Zy9zbGF0ZWdyZXkAL3N2Zy9zbm93AC9zdmcvc3ByaW5nZ3JlZW4AL3N2Zy9zdGVlbGJsdWUAL3N2Zy90YW4AL3N2Zy90ZWFsAC9zdmcvdGhpc3RsZQAvc3ZnL3RvbWF0bwAvc3ZnL3R1cnF1b2lzZQAvc3ZnL3Zpb2xldAAvc3ZnL3doZWF0AC9zdmcvd2hpdGUAL3N2Zy93aGl0ZXNtb2tlAC9zdmcveWVsbG93AC9zdmcveWVsbG93Z3JlZW4AL3lsZ24zLzEAL3lsZ24zLzIAL3lsZ24zLzMAL3lsZ240LzEAL3lsZ240LzIAL3lsZ240LzMAL3lsZ240LzQAL3lsZ241LzEAL3lsZ241LzIAL3lsZ241LzMAL3lsZ241LzQAL3lsZ241LzUAL3lsZ242LzEAL3lsZ242LzIAL3lsZ242LzMAL3lsZ242LzQAL3lsZ242LzUAL3lsZ242LzYAL3lsZ243LzEAL3lsZ243LzIAL3lsZ243LzMAL3lsZ243LzQAL3lsZ243LzUAL3lsZ243LzYAL3lsZ243LzcAL3lsZ244LzEAL3lsZ244LzIAL3lsZ244LzMAL3lsZ244LzQAL3lsZ244LzUAL3lsZ244LzYAL3lsZ244LzcAL3lsZ244LzgAL3lsZ245LzEAL3lsZ245LzIAL3lsZ245LzMAL3lsZ245LzQAL3lsZ245LzUAL3lsZ245LzYAL3lsZ245LzcAL3lsZ245LzgAL3lsZ245LzkAL3lsZ25idTMvMQAveWxnbmJ1My8yAC95bGduYnUzLzMAL3lsZ25idTQvMQAveWxnbmJ1NC8yAC95bGduYnU0LzMAL3lsZ25idTQvNAAveWxnbmJ1NS8xAC95bGduYnU1LzIAL3lsZ25idTUvMwAveWxnbmJ1NS80AC95bGduYnU1LzUAL3lsZ25idTYvMQAveWxnbmJ1Ni8yAC95bGduYnU2LzMAL3lsZ25idTYvNAAveWxnbmJ1Ni81AC95bGduYnU2LzYAL3lsZ25idTcvMQAveWxnbmJ1Ny8yAC95bGduYnU3LzMAL3lsZ25idTcvNAAveWxnbmJ1Ny81AC95bGduYnU3LzYAL3lsZ25idTcvNwAveWxnbmJ1OC8xAC95bGduYnU4LzIAL3lsZ25idTgvMwAveWxnbmJ1OC80AC95bGduYnU4LzUAL3lsZ25idTgvNgAveWxnbmJ1OC83AC95bGduYnU4LzgAL3lsZ25idTkvMQAveWxnbmJ1OS8yAC95bGduYnU5LzMAL3lsZ25idTkvNAAveWxnbmJ1OS81AC95bGduYnU5LzYAL3lsZ25idTkvNwAveWxnbmJ1OS84AC95bGduYnU5LzkAL3lsb3JicjMvMQAveWxvcmJyMy8yAC95bG9yYnIzLzMAL3lsb3JicjQvMQAveWxvcmJyNC8yAC95bG9yYnI0LzMAL3lsb3JicjQvNAAveWxvcmJyNS8xAC95bG9yYnI1LzIAL3lsb3JicjUvMwAveWxvcmJyNS80AC95bG9yYnI1LzUAL3lsb3JicjYvMQAveWxvcmJyNi8yAC95bG9yYnI2LzMAL3lsb3JicjYvNAAveWxvcmJyNi81AC95bG9yYnI2LzYAL3lsb3JicjcvMQAveWxvcmJyNy8yAC95bG9yYnI3LzMAL3lsb3JicjcvNAAveWxvcmJyNy81AC95bG9yYnI3LzYAL3lsb3JicjcvNwAveWxvcmJyOC8xAC95bG9yYnI4LzIAL3lsb3JicjgvMwAveWxvcmJyOC80AC95bG9yYnI4LzUAL3lsb3JicjgvNgAveWxvcmJyOC83AC95bG9yYnI4LzgAL3lsb3JicjkvMQAveWxvcmJyOS8yAC95bG9yYnI5LzMAL3lsb3JicjkvNAAveWxvcmJyOS81AC95bG9yYnI5LzYAL3lsb3JicjkvNwAveWxvcmJyOS84AC95bG9yYnI5LzkAL3lsb3JyZDMvMQAveWxvcnJkMy8yAC95bG9ycmQzLzMAL3lsb3JyZDQvMQAveWxvcnJkNC8yAC95bG9ycmQ0LzMAL3lsb3JyZDQvNAAveWxvcnJkNS8xAC95bG9ycmQ1LzIAL3lsb3JyZDUvMwAveWxvcnJkNS80AC95bG9ycmQ1LzUAL3lsb3JyZDYvMQAveWxvcnJkNi8yAC95bG9ycmQ2LzMAL3lsb3JyZDYvNAAveWxvcnJkNi81AC95bG9ycmQ2LzYAL3lsb3JyZDcvMQAveWxvcnJkNy8yAC95bG9ycmQ3LzMAL3lsb3JyZDcvNAAveWxvcnJkNy81AC95bG9ycmQ3LzYAL3lsb3JyZDcvNwAveWxvcnJkOC8xAC95bG9ycmQ4LzIAL3lsb3JyZDgvMwAveWxvcnJkOC80AC95bG9ycmQ4LzUAL3lsb3JyZDgvNgAveWxvcnJkOC83AC95bG9ycmQ4LzgAL3lsb3JyZDkvMQAveWxvcnJkOS8yAC95bG9ycmQ5LzMAL3lsb3JyZDkvNAAveWxvcnJkOS81AC95bG9ycmQ5LzYAL3lsb3JyZDkvNwAveWxvcnJkOS84AC95bG9ycmQ5LzkAYWxpY2VibHVlAGFudGlxdWV3aGl0ZQBhbnRpcXVld2hpdGUxAGFudGlxdWV3aGl0ZTIAYW50aXF1ZXdoaXRlMwBhbnRpcXVld2hpdGU0AGFxdWFtYXJpbmUAYXF1YW1hcmluZTEAYXF1YW1hcmluZTIAYXF1YW1hcmluZTMAYXF1YW1hcmluZTQAYXp1cmUAYXp1cmUxAGF6dXJlMgBhenVyZTMAYXp1cmU0AGJlaWdlAGJpc3F1ZQBiaXNxdWUxAGJpc3F1ZTIAYmlzcXVlMwBiaXNxdWU0AGJsYW5jaGVkYWxtb25kAGJsdWUAYmx1ZTEAYmx1ZTIAYmx1ZTMAYmx1ZTQAYmx1ZXZpb2xldABicm93bgBicm93bjEAYnJvd24yAGJyb3duMwBicm93bjQAYnVybHl3b29kAGJ1cmx5d29vZDEAYnVybHl3b29kMgBidXJseXdvb2QzAGJ1cmx5d29vZDQAY2FkZXRibHVlAGNhZGV0Ymx1ZTEAY2FkZXRibHVlMgBjYWRldGJsdWUzAGNhZGV0Ymx1ZTQAY2hhcnRyZXVzZQBjaGFydHJldXNlMQBjaGFydHJldXNlMgBjaGFydHJldXNlMwBjaGFydHJldXNlNABjaG9jb2xhdGUAY2hvY29sYXRlMQBjaG9jb2xhdGUyAGNob2NvbGF0ZTMAY2hvY29sYXRlNABjb3JhbABjb3JhbDEAY29yYWwyAGNvcmFsMwBjb3JhbDQAY29ybmZsb3dlcmJsdWUAY29ybnNpbGsAY29ybnNpbGsxAGNvcm5zaWxrMgBjb3Juc2lsazMAY29ybnNpbGs0AGNyaW1zb24AY3lhbgBjeWFuMQBjeWFuMgBjeWFuMwBjeWFuNABkYXJrZ29sZGVucm9kAGRhcmtnb2xkZW5yb2QxAGRhcmtnb2xkZW5yb2QyAGRhcmtnb2xkZW5yb2QzAGRhcmtnb2xkZW5yb2Q0AGRhcmtncmVlbgBkYXJra2hha2kAZGFya29saXZlZ3JlZW4AZGFya29saXZlZ3JlZW4xAGRhcmtvbGl2ZWdyZWVuMgBkYXJrb2xpdmVncmVlbjMAZGFya29saXZlZ3JlZW40AGRhcmtvcmFuZ2UAZGFya29yYW5nZTEAZGFya29yYW5nZTIAZGFya29yYW5nZTMAZGFya29yYW5nZTQAZGFya29yY2hpZABkYXJrb3JjaGlkMQBkYXJrb3JjaGlkMgBkYXJrb3JjaGlkMwBkYXJrb3JjaGlkNABkYXJrc2FsbW9uAGRhcmtzZWFncmVlbgBkYXJrc2VhZ3JlZW4xAGRhcmtzZWFncmVlbjIAZGFya3NlYWdyZWVuMwBkYXJrc2VhZ3JlZW40AGRhcmtzbGF0ZWJsdWUAZGFya3NsYXRlZ3JheQBkYXJrc2xhdGVncmF5MQBkYXJrc2xhdGVncmF5MgBkYXJrc2xhdGVncmF5MwBkYXJrc2xhdGVncmF5NABkYXJrc2xhdGVncmV5AGRhcmt0dXJxdW9pc2UAZGFya3Zpb2xldABkZWVwcGluawBkZWVwcGluazEAZGVlcHBpbmsyAGRlZXBwaW5rMwBkZWVwcGluazQAZGVlcHNreWJsdWUAZGVlcHNreWJsdWUxAGRlZXBza3libHVlMgBkZWVwc2t5Ymx1ZTMAZGVlcHNreWJsdWU0AGRpbWdyYXkAZGltZ3JleQBkb2RnZXJibHVlAGRvZGdlcmJsdWUxAGRvZGdlcmJsdWUyAGRvZGdlcmJsdWUzAGRvZGdlcmJsdWU0AGZpcmVicmljawBmaXJlYnJpY2sxAGZpcmVicmljazIAZmlyZWJyaWNrMwBmaXJlYnJpY2s0AGZsb3JhbHdoaXRlAGZvcmVzdGdyZWVuAGdhaW5zYm9ybwBnaG9zdHdoaXRlAGdvbGQAZ29sZDEAZ29sZDIAZ29sZDMAZ29sZDQAZ29sZGVucm9kAGdvbGRlbnJvZDEAZ29sZGVucm9kMgBnb2xkZW5yb2QzAGdvbGRlbnJvZDQAZ3JheQBncmF5MABncmF5MQBncmF5MTAAZ3JheTEwMABncmF5MTEAZ3JheTEyAGdyYXkxMwBncmF5MTQAZ3JheTE1AGdyYXkxNgBncmF5MTcAZ3JheTE4AGdyYXkxOQBncmF5MgBncmF5MjAAZ3JheTIxAGdyYXkyMgBncmF5MjMAZ3JheTI0AGdyYXkyNQBncmF5MjYAZ3JheTI3AGdyYXkyOABncmF5MjkAZ3JheTMAZ3JheTMwAGdyYXkzMQBncmF5MzIAZ3JheTMzAGdyYXkzNABncmF5MzUAZ3JheTM2AGdyYXkzNwBncmF5MzgAZ3JheTM5AGdyYXk0AGdyYXk0MABncmF5NDEAZ3JheTQyAGdyYXk0MwBncmF5NDQAZ3JheTQ1AGdyYXk0NgBncmF5NDcAZ3JheTQ4AGdyYXk0OQBncmF5NQBncmF5NTAAZ3JheTUxAGdyYXk1MgBncmF5NTMAZ3JheTU0AGdyYXk1NQBncmF5NTYAZ3JheTU3AGdyYXk1OABncmF5NTkAZ3JheTYAZ3JheTYwAGdyYXk2MQBncmF5NjIAZ3JheTYzAGdyYXk2NABncmF5NjUAZ3JheTY2AGdyYXk2NwBncmF5NjgAZ3JheTY5AGdyYXk3AGdyYXk3MABncmF5NzEAZ3JheTcyAGdyYXk3MwBncmF5NzQAZ3JheTc1AGdyYXk3NgBncmF5NzcAZ3JheTc4AGdyYXk3OQBncmF5OABncmF5ODAAZ3JheTgxAGdyYXk4MgBncmF5ODMAZ3JheTg0AGdyYXk4NQBncmF5ODYAZ3JheTg3AGdyYXk4OABncmF5ODkAZ3JheTkAZ3JheTkwAGdyYXk5MQBncmF5OTIAZ3JheTkzAGdyYXk5NABncmF5OTUAZ3JheTk2AGdyYXk5NwBncmF5OTgAZ3JheTk5AGdyZWVuAGdyZWVuMQBncmVlbjIAZ3JlZW4zAGdyZWVuNABncmVlbnllbGxvdwBncmV5AGdyZXkwAGdyZXkxAGdyZXkxMABncmV5MTAwAGdyZXkxMQBncmV5MTIAZ3JleTEzAGdyZXkxNABncmV5MTUAZ3JleTE2AGdyZXkxNwBncmV5MTgAZ3JleTE5AGdyZXkyAGdyZXkyMABncmV5MjEAZ3JleTIyAGdyZXkyMwBncmV5MjQAZ3JleTI1AGdyZXkyNgBncmV5MjcAZ3JleTI4AGdyZXkyOQBncmV5MwBncmV5MzAAZ3JleTMxAGdyZXkzMgBncmV5MzMAZ3JleTM0AGdyZXkzNQBncmV5MzYAZ3JleTM3AGdyZXkzOABncmV5MzkAZ3JleTQAZ3JleTQwAGdyZXk0MQBncmV5NDIAZ3JleTQzAGdyZXk0NABncmV5NDUAZ3JleTQ2AGdyZXk0NwBncmV5NDgAZ3JleTQ5AGdyZXk1AGdyZXk1MABncmV5NTEAZ3JleTUyAGdyZXk1MwBncmV5NTQAZ3JleTU1AGdyZXk1NgBncmV5NTcAZ3JleTU4AGdyZXk1OQBncmV5NgBncmV5NjAAZ3JleTYxAGdyZXk2MgBncmV5NjMAZ3JleTY0AGdyZXk2NQBncmV5NjYAZ3JleTY3AGdyZXk2OABncmV5NjkAZ3JleTcAZ3JleTcwAGdyZXk3MQBncmV5NzIAZ3JleTczAGdyZXk3NABncmV5NzUAZ3JleTc2AGdyZXk3NwBncmV5NzgAZ3JleTc5AGdyZXk4AGdyZXk4MABncmV5ODEAZ3JleTgyAGdyZXk4MwBncmV5ODQAZ3JleTg1AGdyZXk4NgBncmV5ODcAZ3JleTg4AGdyZXk4OQBncmV5OQBncmV5OTAAZ3JleTkxAGdyZXk5MgBncmV5OTMAZ3JleTk0AGdyZXk5NQBncmV5OTYAZ3JleTk3AGdyZXk5OABncmV5OTkAaG9uZXlkZXcAaG9uZXlkZXcxAGhvbmV5ZGV3MgBob25leWRldzMAaG9uZXlkZXc0AGhvdHBpbmsAaG90cGluazEAaG90cGluazIAaG90cGluazMAaG90cGluazQAaW5kaWFucmVkAGluZGlhbnJlZDEAaW5kaWFucmVkMgBpbmRpYW5yZWQzAGluZGlhbnJlZDQAaW5kaWdvAGludmlzAGl2b3J5AGl2b3J5MQBpdm9yeTIAaXZvcnkzAGl2b3J5NABraGFraQBraGFraTEAa2hha2kyAGtoYWtpMwBraGFraTQAbGF2ZW5kZXIAbGF2ZW5kZXJibHVzaABsYXZlbmRlcmJsdXNoMQBsYXZlbmRlcmJsdXNoMgBsYXZlbmRlcmJsdXNoMwBsYXZlbmRlcmJsdXNoNABsYXduZ3JlZW4AbGVtb25jaGlmZm9uAGxlbW9uY2hpZmZvbjEAbGVtb25jaGlmZm9uMgBsZW1vbmNoaWZmb24zAGxlbW9uY2hpZmZvbjQAbGlnaHRibHVlAGxpZ2h0Ymx1ZTEAbGlnaHRibHVlMgBsaWdodGJsdWUzAGxpZ2h0Ymx1ZTQAbGlnaHRjb3JhbABsaWdodGN5YW4AbGlnaHRjeWFuMQBsaWdodGN5YW4yAGxpZ2h0Y3lhbjMAbGlnaHRjeWFuNABsaWdodGdvbGRlbnJvZABsaWdodGdvbGRlbnJvZDEAbGlnaHRnb2xkZW5yb2QyAGxpZ2h0Z29sZGVucm9kMwBsaWdodGdvbGRlbnJvZDQAbGlnaHRnb2xkZW5yb2R5ZWxsb3cAbGlnaHRncmF5AGxpZ2h0Z3JleQBsaWdodHBpbmsAbGlnaHRwaW5rMQBsaWdodHBpbmsyAGxpZ2h0cGluazMAbGlnaHRwaW5rNABsaWdodHNhbG1vbgBsaWdodHNhbG1vbjEAbGlnaHRzYWxtb24yAGxpZ2h0c2FsbW9uMwBsaWdodHNhbG1vbjQAbGlnaHRzZWFncmVlbgBsaWdodHNreWJsdWUAbGlnaHRza3libHVlMQBsaWdodHNreWJsdWUyAGxpZ2h0c2t5Ymx1ZTMAbGlnaHRza3libHVlNABsaWdodHNsYXRlYmx1ZQBsaWdodHNsYXRlZ3JheQBsaWdodHNsYXRlZ3JleQBsaWdodHN0ZWVsYmx1ZQBsaWdodHN0ZWVsYmx1ZTEAbGlnaHRzdGVlbGJsdWUyAGxpZ2h0c3RlZWxibHVlMwBsaWdodHN0ZWVsYmx1ZTQAbGlnaHR5ZWxsb3cAbGlnaHR5ZWxsb3cxAGxpZ2h0eWVsbG93MgBsaWdodHllbGxvdzMAbGlnaHR5ZWxsb3c0AGxpbWVncmVlbgBsaW5lbgBtYWdlbnRhAG1hZ2VudGExAG1hZ2VudGEyAG1hZ2VudGEzAG1hZ2VudGE0AG1hcm9vbgBtYXJvb24xAG1hcm9vbjIAbWFyb29uMwBtYXJvb240AG1lZGl1bWFxdWFtYXJpbmUAbWVkaXVtYmx1ZQBtZWRpdW1vcmNoaWQAbWVkaXVtb3JjaGlkMQBtZWRpdW1vcmNoaWQyAG1lZGl1bW9yY2hpZDMAbWVkaXVtb3JjaGlkNABtZWRpdW1wdXJwbGUAbWVkaXVtcHVycGxlMQBtZWRpdW1wdXJwbGUyAG1lZGl1bXB1cnBsZTMAbWVkaXVtcHVycGxlNABtZWRpdW1zZWFncmVlbgBtZWRpdW1zbGF0ZWJsdWUAbWVkaXVtc3ByaW5nZ3JlZW4AbWVkaXVtdHVycXVvaXNlAG1lZGl1bXZpb2xldHJlZABtaWRuaWdodGJsdWUAbWludGNyZWFtAG1pc3R5cm9zZQBtaXN0eXJvc2UxAG1pc3R5cm9zZTIAbWlzdHlyb3NlMwBtaXN0eXJvc2U0AG1vY2Nhc2luAG5hdmFqb3doaXRlAG5hdmFqb3doaXRlMQBuYXZham93aGl0ZTIAbmF2YWpvd2hpdGUzAG5hdmFqb3doaXRlNABuYXZ5AG5hdnlibHVlAG5vbmUAb2xkbGFjZQBvbGl2ZWRyYWIAb2xpdmVkcmFiMQBvbGl2ZWRyYWIyAG9saXZlZHJhYjMAb2xpdmVkcmFiNABvcmFuZ2UAb3JhbmdlMQBvcmFuZ2UyAG9yYW5nZTMAb3JhbmdlNABvcmFuZ2VyZWQAb3JhbmdlcmVkMQBvcmFuZ2VyZWQyAG9yYW5nZXJlZDMAb3JhbmdlcmVkNABvcmNoaWQAb3JjaGlkMQBvcmNoaWQyAG9yY2hpZDMAb3JjaGlkNABwYWxlZ29sZGVucm9kAHBhbGVncmVlbgBwYWxlZ3JlZW4xAHBhbGVncmVlbjIAcGFsZWdyZWVuMwBwYWxlZ3JlZW40AHBhbGV0dXJxdW9pc2UAcGFsZXR1cnF1b2lzZTEAcGFsZXR1cnF1b2lzZTIAcGFsZXR1cnF1b2lzZTMAcGFsZXR1cnF1b2lzZTQAcGFsZXZpb2xldHJlZABwYWxldmlvbGV0cmVkMQBwYWxldmlvbGV0cmVkMgBwYWxldmlvbGV0cmVkMwBwYWxldmlvbGV0cmVkNABwYXBheWF3aGlwAHBlYWNocHVmZgBwZWFjaHB1ZmYxAHBlYWNocHVmZjIAcGVhY2hwdWZmMwBwZWFjaHB1ZmY0AHBlcnUAcGluawBwaW5rMQBwaW5rMgBwaW5rMwBwaW5rNABwbHVtAHBsdW0xAHBsdW0yAHBsdW0zAHBsdW00AHBvd2RlcmJsdWUAcHVycGxlAHB1cnBsZTEAcHVycGxlMgBwdXJwbGUzAHB1cnBsZTQAcmVkAHJlZDEAcmVkMgByZWQzAHJlZDQAcm9zeWJyb3duAHJvc3licm93bjEAcm9zeWJyb3duMgByb3N5YnJvd24zAHJvc3licm93bjQAcm95YWxibHVlAHJveWFsYmx1ZTEAcm95YWxibHVlMgByb3lhbGJsdWUzAHJveWFsYmx1ZTQAc2FkZGxlYnJvd24Ac2FsbW9uAHNhbG1vbjEAc2FsbW9uMgBzYWxtb24zAHNhbG1vbjQAc2FuZHlicm93bgBzZWFncmVlbgBzZWFncmVlbjEAc2VhZ3JlZW4yAHNlYWdyZWVuMwBzZWFncmVlbjQAc2Vhc2hlbGwAc2Vhc2hlbGwxAHNlYXNoZWxsMgBzZWFzaGVsbDMAc2Vhc2hlbGw0AHNpZW5uYQBzaWVubmExAHNpZW5uYTIAc2llbm5hMwBzaWVubmE0AHNreWJsdWUAc2t5Ymx1ZTEAc2t5Ymx1ZTIAc2t5Ymx1ZTMAc2t5Ymx1ZTQAc2xhdGVibHVlAHNsYXRlYmx1ZTEAc2xhdGVibHVlMgBzbGF0ZWJsdWUzAHNsYXRlYmx1ZTQAc2xhdGVncmF5AHNsYXRlZ3JheTEAc2xhdGVncmF5MgBzbGF0ZWdyYXkzAHNsYXRlZ3JheTQAc2xhdGVncmV5AHNub3cAc25vdzEAc25vdzIAc25vdzMAc25vdzQAc3ByaW5nZ3JlZW4Ac3ByaW5nZ3JlZW4xAHNwcmluZ2dyZWVuMgBzcHJpbmdncmVlbjMAc3ByaW5nZ3JlZW40AHN0ZWVsYmx1ZQBzdGVlbGJsdWUxAHN0ZWVsYmx1ZTIAc3RlZWxibHVlMwBzdGVlbGJsdWU0AHRhbgB0YW4xAHRhbjIAdGFuMwB0YW40AHRoaXN0bGUAdGhpc3RsZTEAdGhpc3RsZTIAdGhpc3RsZTMAdGhpc3RsZTQAdG9tYXRvAHRvbWF0bzEAdG9tYXRvMgB0b21hdG8zAHRvbWF0bzQAdHVycXVvaXNlAHR1cnF1b2lzZTEAdHVycXVvaXNlMgB0dXJxdW9pc2UzAHR1cnF1b2lzZTQAdmlvbGV0AHZpb2xldHJlZAB2aW9sZXRyZWQxAHZpb2xldHJlZDIAdmlvbGV0cmVkMwB2aW9sZXRyZWQ0AHdoZWF0AHdoZWF0MQB3aGVhdDIAd2hlYXQzAHdoZWF0NAB3aGl0ZQB3aGl0ZXNtb2tlAHllbGxvdwB5ZWxsb3cxAHllbGxvdzIAeWVsbG93MwB5ZWxsb3c0AHllbGxvd2dyZWVuAGxhY2sAaGl0ZQBpZ2h0Z3JleQBYMTEvAC8lcy8lcwBpbWFnZXNjYWxlAGZhbHNlAGJsYWNrAGRvdHRlZABkYXNoZWQAY3AtPnNyYwBodG1sdGFibGUuYwBlbWl0X2h0bWxfaW1nAGNwLT5zcmNbMF0AdHJhbnNwYXJlbnQAXyVkACVkADIAMwA0ADUANgA3ADgAOQAxMAAxMQAxMgAxMwAxNAAxNQAxNgAxNwAxOAAxOQAyMABBZ25vZGVpbmZvX3QAQWdlZGdlaW5mb190AHJvd2cAY29sZwBBZ3JhcGhpbmZvX3QAZGVseCA+PSAwAHBvc19odG1sX3RibABkZWx5ID49IDAAdGFibGUgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIHRhYmxlIHNpemUgd2l0aCB1bnNwZWNpZmllZCB3aWR0aCBvciBoZWlnaHQKAGNlbGwgc2l6ZSB0b28gc21hbGwgZm9yIGNvbnRlbnQKAGZpeGVkIGNlbGwgc2l6ZSB3aXRoIHVuc3BlY2lmaWVkIHdpZHRoIG9yIGhlaWdodAoATm8gb3IgaW1wcm9wZXIgaW1hZ2UgZmlsZT0iJXMiCgBwZW5jb2xvcgAtPgBmUFEuYwBQUWNoZWNrAEhlYXAgb3ZlcmZsb3cKACUhUFMtQWRvYmUtMi4wCi9ub2RlIHsKICAvWSBleGNoIGRlZgogIC9YIGV4Y2ggZGVmCiAgL3kgZXhjaCBkZWYKICAveCBleGNoIGRlZgogIG5ld3BhdGgKICB4IHkgbW92ZXRvCiAgeCBZIGxpbmV0bwogIFggWSBsaW5ldG8KICBYIHkgbGluZXRvCiAgY2xvc2VwYXRoIGZpbGwKfSBkZWYKL2NlbGwgewogIC9ZIGV4Y2ggZGVmCiAgL1ggZXhjaCBkZWYKICAveSBleGNoIGRlZgogIC94IGV4Y2ggZGVmCiAgbmV3cGF0aAogIHggeSBtb3ZldG8KICB4IFkgbGluZXRvCiAgWCBZIGxpbmV0bwogIFggeSBsaW5ldG8KICBjbG9zZXBhdGggc3Ryb2tlCn0gZGVmCgBzaG93cGFnZQoAZmFpbGVkIGF0IG5vZGUgJWRbMF0KAG5wLT5jZWxsc1swXQBtYXplLmMAY2hrU2dyYXBoAGZhaWxlZCBhdCBub2RlICVkWzFdCgBucC0+Y2VsbHNbMV0AZGl0ZW1zAGZpbmRTVmVydAAlJSUlUGFnZTogMSAxCiUlJSVQYWdlQm91bmRpbmdCb3g6ICVkICVkICVkICVkCgAlZiAlZiB0cmFuc2xhdGUKADAgMCAxIHNldHJnYmNvbG9yCgAlZiAlZiAlZiAlZiBub2RlCgAwIDAgMCBzZXRyZ2Jjb2xvcgoAJWYgJWYgJWYgJWYgY2VsbAoAMSAwIDAgc2V0cmdiY29sb3IKAHVuZXhwZWN0ZWQgY2FzZSBpbiBsb2NhdGVfZW5kcG9pbnQKADAAdHJhcGV6b2lkLmMAbG9jYXRlX2VuZHBvaW50AGFkZF9zZWdtZW50OiBlcnJvcgoAbmV3bm9kZTogUXVlcnktdGFibGUgb3ZlcmZsb3cKAG5ld25vZGUAbmV3dHJhcDogVHJhcGV6b2lkLXRhYmxlIG92ZXJmbG93ICVkCgBuZXd0cmFwAGluZGV4LmMAUlRyZWVTZWFyY2gAbi0+bGV2ZWwgPj0gMABSVHJlZUluc2VydABsZXZlbCA+PSAwICYmIGxldmVsIDw9ICgqbiktPmxldmVsAHItPmJvdW5kYXJ5W2ldIDw9IHItPmJvdW5kYXJ5W05VTURJTVMgKyBpXQByICYmIG4gJiYgbmV3AFJUcmVlSW5zZXJ0MgBsZXZlbCA+PSAwICYmIGxldmVsIDw9IG4tPmxldmVsAEZBTFNFAG5vZGUuYwBOb2RlQ292ZXIAciAmJiBuAFBpY2tCcmFuY2gAQWRkQnJhbmNoAGkgPCBOT0RFQ0FSRABuZXcAbiAmJiBpID49IDAgJiYgaSA8IE5PREVDQVJEAERpc2NvbkJyYW5jaAByAHJlY3RhbmdsZS5jAFJlY3RBcmVhAHIgJiYgcnIAQ29tYmluZVJlY3QAciAmJiBzAE92ZXJsYXAAbgBzcGxpdC5xLmMAU3BsaXROb2RlAGIAbi0+Y291bnQgKyAoKm5uKS0+Y291bnQgPT0gTk9ERUNBUkQgKyAxAExvYWROb2RlcwBxAHAAcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLnBhcnRpdGlvbltpXSA9PSAwIHx8IHJ0cC0+c3BsaXQuUGFydGl0aW9uc1swXS5wYXJ0aXRpb25baV0gPT0gMQBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMF0gKyBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPT0gTk9ERUNBUkQgKyAxAE1ldGhvZFplcm8AcnRwLT5zcGxpdC5QYXJ0aXRpb25zWzBdLmNvdW50WzBdID49IHJ0cC0+TWluRmlsbCAmJiBydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0uY291bnRbMV0gPj0gcnRwLT5NaW5GaWxsACFydHAtPnNwbGl0LlBhcnRpdGlvbnNbMF0udGFrZW5baV0AQ2xhc3NpZnkAR2V0QnJhbmNoZXMAbi0+YnJhbmNoW2ldLmNoaWxkAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR4fICEiIyQlJicoAgICAgICEAxZAQAfUAgDBxITFFcWFwgLaQwfCgUMDikRKw8tEC8wIDIGNDUbHB0eCwwhIiMkJSYnKAwYGRcEChscGiAqCiEiIyQlJicoDAoOUwosWDFYWFhYWFgMGxwPLlgzISIjJCUmJygbHP9T//8hIiMkJSYnKAz//wX///8JFP//////DBsc/xAVFiEiIyQlJicoGxz/////ISIjJCUmJygM/xITFBEWF////////wwbHP///xIhIiMkJSYnKBsc/////yEiIyQlJicoDP///////xP///////8MGxz/////ISIjJCUmJygbHP////8hIiMkJSYnKBITFBUWFxgZ////////////IyQlJicbEhMUFhciNmgBHzhWISACGxsbXhsbNzlwNtLCTwQ8IkciPyJEIiJYImUiIgUGX2A5BAcICQoLDA0OBGZnXWptBQZvWDtxBwgJCgsMDQ4Ecjxbcz5hRhsSExQWFwQFBj9BYkkHCAkKCwwNDgUGAFwAAAcICQoLDA0OBAAATwAAAFNCAAAAAAAEBQYARFRVBwgJCgsMDQ4FBgAAAAAHCAkKCwwNDgQAKiwuRzEzAAAAAAAABAUGAAAASgcICQoLDA0OBQYAAAAABwgJCgsMDQ4EAAAAAAAATAAAAAAAAAQFBgAAAAAHCAkKCwwNDgUGAAAAAAcICQoLDA0OKSstLzAyNDUAAAAAAAAAAAApKy0wMgAELwAkIwASFBYaHB4gGAAFBy8vLwAvLwAACQgoAAABIgIGAAAAAAAIAAAAAAAAAAAAAAAAACUDJhMKKRULKhcOLRkRGwwrHQ0sHw8hEAAzADAAL0MAMQAvADUuJ0IyQQA6OAA8NEUANgBAAAA/AEQ3Ozk9AAIDAwEBAgEBAQMDAwMDAwMDAQEBAQEBAQEBAQEBAQEBAQIBAQIABgEDAwMDAwEAAQIDAAQBAgMABAAEAAQAAwIBAgECAVN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGJlZm9yZSA8VEFCTEU+AFN5bnRheCBlcnJvcjogbm9uLXNwYWNlIHN0cmluZyB1c2VkIGFmdGVyIDwvVEFCTEU+AAApKioqKywsLS0tLS0tLS0tLS4vMDEyMzQ1Njc4OTo7PD0+Pj8/QUBCQkJCQkJDQ0REREZFR0dHSUhKSEtITEhNTU5OT0//Aw8QESM6JD0lQBVDJkUnSBhLGU0aKBxOHR5QUVJZWmxrbmNkV2ltZW1vcnkgZXhoYXVzdGVkACVzIGluIGxpbmUgJWQgCgAuLi4gJXMgLi4uCgBUQUJMRQBUUgBUSABURABIVE1MAEZPTlQAQgBVAE8ASQBTVVAAU1VCAFMAQlIASFIAVlIASU1HAFVua25vd24gSFRNTCBlbGVtZW50IDwlcz4gb24gbGluZSAlZCAKADxJTUc+AElsbGVnYWwgYXR0cmlidXRlICVzIGluICVzIC0gaWdub3JlZAoAc2NhbGUAc3JjADxCUj4AYWxpZ24ASUdIVABFRlQARU5URVIASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gLSBpZ25vcmVkCgA8Rk9OVD4AY29sb3IAZmFjZQBwb2ludC1zaXplAFBPSU5ULVNJWkUASW1wcm9wZXIgJXMgdmFsdWUgJXMgLSBpZ25vcmVkACVzIHZhbHVlICVzID4gJWQgLSB0b28gbGFyZ2UgLSBpZ25vcmVkACVzIHZhbHVlICVzIDwgJWQgLSB0b28gc21hbGwgLSBpZ25vcmVkADxURD4AYmFsaWduAGJnY29sb3IAYm9yZGVyAGNlbGxwYWRkaW5nAGNlbGxzcGFjaW5nAGNvbHNwYW4AZml4ZWRzaXplAGdyYWRpZW50YW5nbGUAaGVpZ2h0AGhyZWYAaWQAcG9ydAByb3dzcGFuAHNpZGVzAHN0eWxlAHRhcmdldAB0aXRsZQB0b29sdGlwAHZhbGlnbgB3aWR0aABXSURUSABPVFRPTQBPUABJRERMRQBJbGxlZ2FsIHZhbHVlICVzIGZvciBWQUxJR04gLSBpZ25vcmVkCgAgLABPVU5ERUQAQURJQUwASWxsZWdhbCB2YWx1ZSAlcyBmb3IgU1RZTEUgLSBpZ25vcmVkCgBTT0xJRABJTlZJU0lCTEUASU5WSVMARE9UVEVEAERBU0hFRABVbnJlY29nbml6ZWQgY2hhcmFjdGVyICclYycgKCVkKSBpbiBzaWRlcyBhdHRyaWJ1dGUKAFJPV1NQQU4AUk9XU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAEhFSUdIVABHUkFESUVOVEFOR0xFAFJVRQBBTFNFAElsbGVnYWwgdmFsdWUgJXMgZm9yIEZJWEVEU0laRSAtIGlnbm9yZWQKAENPTFNQQU4AQ09MU1BBTiB2YWx1ZSBjYW5ub3QgYmUgMCAtIGlnbm9yZWQKAENFTExTUEFDSU5HAENFTExQQURESU5HAEJPUkRFUgBJbGxlZ2FsIHZhbHVlICVzIGZvciBCQUxJR04gaW4gVEQgLSBpZ25vcmVkCgBFWFQASWxsZWdhbCB2YWx1ZSAlcyBmb3IgQUxJR04gaW4gVEQgLSBpZ25vcmVkCgA8VEFCTEU+AGNlbGxib3JkZXIAY29sdW1ucwByb3dzAFVua25vd24gdmFsdWUgJXMgZm9yIFJPV1MgLSBpZ25vcmVkCgBVbmtub3duIHZhbHVlICVzIGZvciBDT0xVTU5TIC0gaWdub3JlZAoAQ0VMTFNCT1JERVIAPEhUTUw+ADwvSFRNTD4ALS0ATGFiZWwgY2xvc2VkIGJlZm9yZSBlbmQgb2YgSFRNTCBlbGVtZW50CgBVbmNsb3NlZCBjb21tZW50CgBqID09IDAAY3Z0LmMAUG9ic3BhdGgAcm91dGUuYwBsaWJwYXRoLyVzOiVkOiAlcwoAc2hvcnRlc3QuYwBzb3VyY2UgcG9pbnQgbm90IGluIGFueSB0cmlhbmdsZQBkZXN0aW5hdGlvbiBwb2ludCBub3QgaW4gYW55IHRyaWFuZ2xlAGNhbm5vdCBmaW5kIHRyaWFuZ2xlIHBhdGgAY2Fubm90IG1hbGxvYyBvcHMAY2Fubm90IHJlYWxsb2Mgb3BzAHRyaWFuZ3VsYXRpb24gZmFpbGVkAGNhbm5vdCBtYWxsb2MgdHJpcwBjYW5ub3QgcmVhbGxvYyB0cmlzAGNhbm5vdCBtYWxsb2MgZHEucG5scwBjYW5ub3QgcmVhbGxvYyBkcS5wbmxzAGNhbm5vdCBtYWxsb2MgcG5scwBjYW5ub3QgbWFsbG9jIHBubHBzAGNhbm5vdCByZWFsbG9jIHBubHMAY2Fubm90IHJlYWxsb2MgcG5scHMAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUWQBFTlRJVElFUwBOTVRPS0VOAE5NVE9LRU5TAE5PVEFUSU9OKAAoAHwAaHR0cDovL3d3dy53My5vcmcvWE1MLzE5OTgvbmFtZXNwYWNlAGh0dHA6Ly93d3cudzMub3JnLzIwMDAveG1sbnMvAHhtbD1odHRwOi8vd3d3LnczLm9yZy9YTUwvMTk5OC9uYW1lc3BhY2UAL2Rldi91cmFuZG9tAGZhbGxiYWNrKDQpAGdldHRpbWVvZmRheV9yZXMgPT0gMAB4bWxwYXJzZS5jAGdhdGhlcl90aW1lX2VudHJvcHkARVhQQVRfRU5UUk9QWV9ERUJVRwAxAEVudHJvcHk6ICVzIC0tPiAweCUwKmx4ICglbHUgYnl0ZXMpCgBpbnZhbGlkIGFyZ3VtZW50AHByZWZpeCBtdXN0IG5vdCBiZSBib3VuZCB0byBvbmUgb2YgdGhlIHJlc2VydmVkIG5hbWVzcGFjZSBuYW1lcwByZXNlcnZlZCBwcmVmaXggKHhtbG5zKSBtdXN0IG5vdCBiZSBkZWNsYXJlZCBvciB1bmRlY2xhcmVkAHJlc2VydmVkIHByZWZpeCAoeG1sKSBtdXN0IG5vdCBiZSB1bmRlY2xhcmVkIG9yIGJvdW5kIHRvIGFub3RoZXIgbmFtZXNwYWNlIG5hbWUAY2Fubm90IHN1c3BlbmQgaW4gZXh0ZXJuYWwgcGFyYW1ldGVyIGVudGl0eQBwYXJzaW5nIGZpbmlzaGVkAHBhcnNpbmcgYWJvcnRlZABwYXJzZXIgbm90IHN1c3BlbmRlZABwYXJzZXIgc3VzcGVuZGVkAGlsbGVnYWwgY2hhcmFjdGVyKHMpIGluIHB1YmxpYyBpZAB0ZXh0IGRlY2xhcmF0aW9uIG5vdCB3ZWxsLWZvcm1lZABYTUwgZGVjbGFyYXRpb24gbm90IHdlbGwtZm9ybWVkAGluY29tcGxldGUgbWFya3VwIGluIHBhcmFtZXRlciBlbnRpdHkAbXVzdCBub3QgdW5kZWNsYXJlIHByZWZpeAB1bmJvdW5kIHByZWZpeABjYW5ub3QgY2hhbmdlIHNldHRpbmcgb25jZSBwYXJzaW5nIGhhcyBiZWd1bgByZXF1ZXN0ZWQgZmVhdHVyZSByZXF1aXJlcyBYTUxfRFREIHN1cHBvcnQgaW4gRXhwYXQAZW50aXR5IGRlY2xhcmVkIGluIHBhcmFtZXRlciBlbnRpdHkAdW5leHBlY3RlZCBwYXJzZXIgc3RhdGUgLSBwbGVhc2Ugc2VuZCBhIGJ1ZyByZXBvcnQAZG9jdW1lbnQgaXMgbm90IHN0YW5kYWxvbmUAZXJyb3IgaW4gcHJvY2Vzc2luZyBleHRlcm5hbCBlbnRpdHkgcmVmZXJlbmNlAHVuY2xvc2VkIENEQVRBIHNlY3Rpb24AZW5jb2Rpbmcgc3BlY2lmaWVkIGluIFhNTCBkZWNsYXJhdGlvbiBpcyBpbmNvcnJlY3QAdW5rbm93biBlbmNvZGluZwBYTUwgb3IgdGV4dCBkZWNsYXJhdGlvbiBub3QgYXQgc3RhcnQgb2YgZW50aXR5AHJlZmVyZW5jZSB0byBleHRlcm5hbCBlbnRpdHkgaW4gYXR0cmlidXRlAHJlZmVyZW5jZSB0byBiaW5hcnkgZW50aXR5AHJlZmVyZW5jZSB0byBpbnZhbGlkIGNoYXJhY3RlciBudW1iZXIAYXN5bmNocm9ub3VzIGVudGl0eQByZWN1cnNpdmUgZW50aXR5IHJlZmVyZW5jZQB1bmRlZmluZWQgZW50aXR5AGlsbGVnYWwgcGFyYW1ldGVyIGVudGl0eSByZWZlcmVuY2UAanVuayBhZnRlciBkb2N1bWVudCBlbGVtZW50AGR1cGxpY2F0ZSBhdHRyaWJ1dGUAbWlzbWF0Y2hlZCB0YWcAcGFydGlhbCBjaGFyYWN0ZXIAdW5jbG9zZWQgdG9rZW4Abm90IHdlbGwtZm9ybWVkIChpbnZhbGlkIHRva2VuKQBubyBlbGVtZW50IGZvdW5kAHN5bnRheCBlcnJvcgBvdXQgb2YgbWVtb3J5AAIDBAUGBwgAAAkKCwwNDg8QEQAAAAAAAAAAAAAAABITABQAAAAAAAAAAAAAAAAAABUWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARcAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZAxobHB0eAAAfICEiIyQlEBEAAAAAAAAAAAAAAAASEyYUAAAAAAAAAAAAAAAAAAAnFgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEXAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBARgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQ0RBVEFbVVMtQVNDSUkAVVRGLTE2AFVURi0xNkJFAFVURi0xNkxFAHZlcnNpb24AZW5jb2RpbmcAc3RhbmRhbG9uZQBET0NUWVBFAFNZU1RFTQBQVUJMSUMARU5USVRZAEFUVExJU1QARUxFTUVOVABOT1RBVElPTgBJTkNMVURFAElHTk9SRQBFTVBUWQBBTlkAUENEQVRBAElNUExJRUQAUkVRVUlSRUQARklYRUQAQ0RBVEEASUQASURSRUYASURSRUZTAEVOVElUSUVTAE5NVE9LRU4ATk1UT0tFTlMATkRBVEEAVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAASEBMUFRYXGBkaGxwdHh8gIRAQIiMQJCUmJygpKisQLC0uES8wERExERERMjM0NTY3ODkREBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDoQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDsQPD0+P0BBEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEMQEEQQRUZHEEgQSRAQEBBKS0xNEBBOEE9QEBAQEFEQEBAQEBAQEBAQEBAQUhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQUxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFRVVlcQEFhZEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFoQW1xdXl9gYWIQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////////////////////////////8AAAAA/v8A/AEAAPgBAAB4AAAAAP/73/sAAIAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwA/P/gr//////////////f//////8gQLAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAA/AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAhv7///8AQEkAAAAAABgA3/8AyAAAAAAAAAABADwAAAAAAAAAAAAAAAAQ4AEeAGD/vwAAAAAAAP8HAAAAAAAAAAAAAAAAAAAAAAAAAPjPAwAAAAMAIP9/AAAATgAAAAAAAAAAAAAAAAAAAAAA/AAAAAAAAAAAABAAIB4AMAABAAAAAAAAAAAQACAAAAAA/A8AAAAAAAAAEAAgAAAAAAAAAAAAAAAAABAAIAAAAAADAAAAAAAAAAAQACAAAAAA/QAAAAAAAAAAAAAgAAAAAP8HAAAAAAAAAAAAIAAAAAAA/wAAAAAAAAAQACAAAAAAAAAAAAAAAAAAAAAgAAAAAD8CAAAAAAAAAAAABAAAAAAQAAAAAAAAgACAwN8ADAAAAAAAAAAAAAAAAAAfAAAAAAAA/v///wD8//8AAAAAAAAAAPwAAAAAAADA/9//BwAAAAAAAAAAAACABgD8AAAYPgAAgL8AzAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAYP///x8AAP8DAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAQAAGAAAAAAAAAAAADgAAAAAEAAAAHAAAAAAAAAAAAAAAAAAAAAwAAD+fy8AAP8D/38AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADjEAAAAAAAAAAAAAAAAAAAAAAADE/////wAAAMAAAAAAAAAAAAEA4J8AAAAAfz8AAAAAAAAAAAAAAAAAAAAAEAAQAAD8////HwAAAAAADAAAAAAAAEAADPAAAAAAAADA+AAAAAAAAADAAAAAAAAAAAD/AP///yEQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP////9/AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgA+AA4ADgAGCA+P////z//////38f/PF//38AAP///wMAAP////8BAHsD0MGvQgAMH7z//wAAAAAAAv//////////////////////////////////////////////////////////DwD/////fwAAAP8HAAD/////////////PwAAAAAAAPz///7/////////////////////////////////////////////////////H/8DAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4IcD/gAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAAA//////9//w8AAAAAAAAAAP////v/////////////DwD//////////////////////////////////z8AAAD/Dx7///8B/MHgAAAAAAAAAAAAAAAeAQAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAA//8AAAAA/////w8AAAD///9/////////////////////////////////////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAA////////fwAAAAAAAMAA4AAAAAAAAAAAAAAAgA9wAAAAAAAAAAAAAAAAAAD/AP//fwADAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAARAgAAAAP/wMAAAAAAADwAAAAAAAAAAAAEMAAAP//AwcAAAAAAPgAAAAACIAAAAAAAAAAAAAACAD/PwDAAAAAAAAAAAAAAAAAAAAA8AAAgAsAAAAAAAAAgAIAAMAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAACAAAAAAAAAAAAAAAAAAAAAPz/AwAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMP///wN/AP/////3/38PAAAAAAAAAAAAAAAAAAAAAACA/v8A/AEAAPgBAAD4PwAAAAAAAAAAAAAAAAAAAH9/ADCH//////+P/wAAAAAAAOD//wf/DwAAAAAAAP//////PwAAAAAPAAAAAAAAAAAAAAAAAACAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAID/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCPAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/wD/AQAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP4AAAD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwD/8/z8AAAADAAAAAAAA/gMAAAAAAAAAAAAAAAAAGAAPAAAAAAAAAAAAAAAAAAAA4QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACABwAAAAAAAAAAAAAAAAD///////////////////////////////////////8/AP////9//v///////////////////////////z8AAAAA//////////8/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////fwD//wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAgAAAAIAAAgAAAAIAAAgAAAAIAAAAACAAAAAgAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAP//////D////////////////w8A/3/+f/7//v8AAAAA/wf///9//////////w///////wcAAAAAAAAAAMD///8HAP//////B/8BAwAAAAAAAAAAAAAAAAAAAAAAAAAAAP////8BAL///////////x///w8A/////98HAAD//wEA/////////3/9/////////////////////////////x7/////////Pw8A////AAAAAAAAAAAAAAAAAAAAAAAA+P//////////4f8AAAAAAAD//////////z8AAAAAAAAA//////////////////8PAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFABIRExQVFhcYGRobHB0eHyAhESIjJBElJicoKSorLBEtLi8QEDAQEBAQEBAQMTIzEDQ1EBARERERERERERERERERERERERERERERERERNhERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERETcREREROBE5Ojs8PT4RERERERERERERERERERERERERERERERERERERERERERERERERERERERERPxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBFAQRFCQ0RFRkdISRAQEEpLTE1OEBAQT1AQEBAQURAQEBAQEBAQEBEREVJTEBAQEBAQEBAQEBARERERVBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBERVRAQEBBWEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFcQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEFhZWlsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQXBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////////////////////////////////////wAAAAAAAAAA/v//B/7//wcAAAAAAAQgBP//f////3//////////////////////////////////w/8DAB9QAAAAAAAAAAAAACAAAAAAAN88QNf///v///////////+///////////////////////8D/P////////////////////////8A/v///38C/v////8AAAAAAP+/tgD///8HBwAAAP8H//////////7/w////////////////+8f/uH/nwAA////////AOD///////////////8DAP//////BzAE/////P8fAAD///8BAAAAAAAAAAD9HwAAAAAAAPAD/3//////////7//f4f/P//7+7p/5///9xeOfWYCwz/8DAO6H+f///W3DhxkCXsD/PwDuv/v///3t478bAQDP/wAA7p/5///97eOfGcCwz/8CAOzHPdYYx//Dxx2BAMD/AADu3/3///3v498dYAPP/wAA7N/9///97+PfHWBAz/8GAOzf/f/////n312AAM//APzs/3/8///7L3+AX/8AAAwA/v////9//wc/IP8DAAAAAJYl8P6u7P87XyD/8wAAAAABAAAA/wMAAP/+////H/7/A////v///x8AAAAAAAAAAP///////3/5/wP//+fB//9/QP8z/////78g///////3////////////PX89//////89/////z1/Pf9//////////z3//////////4cAAAAA//8AAP////////////8fAP7//////////////////////////////////////////////////////////5////7//wf////////////HAQD/3w8A//8PAP//DwD/3w0A////////z///AYAQ/wMAAAAA/wP//////////////wD//////wf//////////z8A////H/8P/wHA/////z8fAP//////D////wP/AwAAAAD///8P/////////3/+/x8A/wP/A4AAAAAAAAAAAAAAAP///////+//7w//AwAAAAD///////P///////+//wMA////////PwD/4///////PwAAAAAAAAAAAAAAAADebwD///////////////////////////////8AAAAAAAAAAP//Pz//////Pz//qv///z/////////fX9wfzw//H9wfAAAAAAAAAAAAAAAAAAACgAAA/x8AAAAAAAAAAAAAAACE/C8+UL3/8+BDAAD//////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADA////////AwAA//////9///////9//////////////////////x94DAD/////vyD/////////gAAA//9/AH9/f39/f39//////wAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAP4DPh/+////////////f+D+//////////////fg/////z/+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/AAAAAAAAAAAA/////////////////////////////////x8AAAAAAAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I////+A/////////////wAAAACA//z///////////////95DwD/BwAAAAAAAAAAAP+79////wAAAP///////w8A//////////8PAP8DAAD8CP//////B/////8HAP///x/////////3/wCA/wMAAAAA////////fwD/P/8D//9/BP////////9/BQAAOP//PAB+fn4Af38AAAAAAAAAAAAAAAAAAAAAAAD//////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8PAAAAAAAAAAAAAAAAAADf/////////////////////x8AAP8D/v//B/7//wfA/////////////3/8/PwcAAAAAP/v//9///+3/z//PwAAAAD///////////////////8HAAAAAAAAAAD///////8fAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////H////////wEAAAAAAP///38AAP///wcAAAAAAAD///8//////w//PgAAAAAA/////////////////////////z//AwAAAAAAAAAAAAA//f////+/kf//PwAAAAAAAAAAAAAAAAAAAAAAAAAAAP//PwD///8DAAAAAAAAAAD/////////wAAAAAAAAAAAb/Dv/v//DwAAAAAA////HwAAAAAAAAAAAAAAAAAAAAD///////8/AP//PwD//wcAAAAAAAAAAAAAAAAAAAAAAP///////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////8/AAAAwP8AAPz///////8BAAD///8B/wP////////H/wAAAAAAAAAA//////////8eAP8DAAAAAAAAAAAAAAAAAAAAAAAAAAD///////8/AP8DAAAAAAAA/////////////////38AAAAAAAAAAAAAAAAAAAAAAAD///////////////8HAAAAAAAAAAAAAAAAAAAAAAAAAP//////fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////wEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////////x8A//////9/AAD4/wAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98/////////v////lv73CoTqlqqW9/de//v/D+77/w8AAAAAAAAAAExDX0FMTABMQ19DVFlQRQAAAABMQ19OVU1FUklDAABMQ19USU1FAAAAAABMQ19DT0xMQVRFAABMQ19NT05FVEFSWQBMQ19NRVNTQUdFUwBMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAALSsgICAwWDB4AChudWxsKQAtMFgrMFggMFgtMHgrMHggMHgAaW5mAElORgBOQU4AMDEyMzQ1Njc4OUFCQ0RFRi4AYWxudW0AYWxwaGEAYmxhbmsAY250cmwAZGlnaXQAZ3JhcGgAbG93ZXIAcHJpbnQAcHVuY3QAc3BhY2UAdXBwZXIAeGRpZ2l0AEMuVVRGLTgAAAAAAAAAAABDAC9wcm9jL3NlbGYvZmQvAHJ3YQBpbmZpbml0eQBuYW4ACQAKAA0ADAAHABsAW1s6YWxudW06XV9dAFteWzphbG51bTpdX10AW1s6c3BhY2U6XV0AW15bOnNwYWNlOl1dAFtbOmRpZ2l0Ol1dAFteWzpkaWdpdDpdXQAvdG1wL3RtcGZpbGVfWFhYWFhYAHcr\";var tempDoublePtr=STATICTOP;STATICTOP+=16;function ___assert_fail(condition,filename,line,func){abort(\"Assertion failed: \"+Pointer_stringify(condition)+\", at: \"+[filename?Pointer_stringify(filename):\"unknown filename\",line,func?Pointer_stringify(func):\"unknown function\"])}function _emscripten_get_now(){abort()}function _emscripten_get_now_is_monotonic(){return ENVIRONMENT_IS_NODE||typeof dateNow!==\"undefined\"||(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&self[\"performance\"]&&self[\"performance\"][\"now\"]}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function ___setErrNo(value){if(Module[\"___errno_location\"])HEAP32[Module[\"___errno_location\"]()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if(clk_id===1&&_emscripten_get_now_is_monotonic()){now=_emscripten_get_now()}else{___setErrNo(ERRNO_CODES.EINVAL);return-1}HEAP32[tp>>2]=now/1e3|0;HEAP32[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(){return _clock_gettime.apply(null,arguments)}function ___lock(){}function ___map_file(pathname,size){___setErrNo(ERRNO_CODES.EPERM);return-1}var ERRNO_MESSAGES={0:\"Success\",1:\"Not super-user\",2:\"No such file or directory\",3:\"No such process\",4:\"Interrupted system call\",5:\"I/O error\",6:\"No such device or address\",7:\"Arg list too long\",8:\"Exec format error\",9:\"Bad file number\",10:\"No children\",11:\"No more processes\",12:\"Not enough core\",13:\"Permission denied\",14:\"Bad address\",15:\"Block device required\",16:\"Mount device busy\",17:\"File exists\",18:\"Cross-device link\",19:\"No such device\",20:\"Not a directory\",21:\"Is a directory\",22:\"Invalid argument\",23:\"Too many open files in system\",24:\"Too many open files\",25:\"Not a typewriter\",26:\"Text file busy\",27:\"File too large\",28:\"No space left on device\",29:\"Illegal seek\",30:\"Read only file system\",31:\"Too many links\",32:\"Broken pipe\",33:\"Math arg out of domain of func\",34:\"Math result not representable\",35:\"File locking deadlock error\",36:\"File or path name too long\",37:\"No record locks available\",38:\"Function not implemented\",39:\"Directory not empty\",40:\"Too many symbolic links\",42:\"No message of desired type\",43:\"Identifier removed\",44:\"Channel number out of range\",45:\"Level 2 not synchronized\",46:\"Level 3 halted\",47:\"Level 3 reset\",48:\"Link number out of range\",49:\"Protocol driver not attached\",50:\"No CSI structure available\",51:\"Level 2 halted\",52:\"Invalid exchange\",53:\"Invalid request descriptor\",54:\"Exchange full\",55:\"No anode\",56:\"Invalid request code\",57:\"Invalid slot\",59:\"Bad font file fmt\",60:\"Device not a stream\",61:\"No data (for no delay io)\",62:\"Timer expired\",63:\"Out of streams resources\",64:\"Machine is not on the network\",65:\"Package not installed\",66:\"The object is remote\",67:\"The link has been severed\",68:\"Advertise error\",69:\"Srmount error\",70:\"Communication error on send\",71:\"Protocol error\",72:\"Multihop attempted\",73:\"Cross mount point (not really error)\",74:\"Trying to read unreadable message\",75:\"Value too large for defined data type\",76:\"Given log. name not unique\",77:\"f.d. invalid for this operation\",78:\"Remote address changed\",79:\"Can access a needed shared lib\",80:\"Accessing a corrupted shared lib\",81:\".lib section in a.out corrupted\",82:\"Attempting to link in too many libs\",83:\"Attempting to exec a shared library\",84:\"Illegal byte sequence\",86:\"Streams pipe error\",87:\"Too many users\",88:\"Socket operation on non-socket\",89:\"Destination address required\",90:\"Message too long\",91:\"Protocol wrong type for socket\",92:\"Protocol not available\",93:\"Unknown protocol\",94:\"Socket type not supported\",95:\"Not supported\",96:\"Protocol family not supported\",97:\"Address family not supported by protocol family\",98:\"Address already in use\",99:\"Address not available\",100:\"Network interface is not configured\",101:\"Network is unreachable\",102:\"Connection reset by network\",103:\"Connection aborted\",104:\"Connection reset by peer\",105:\"No buffer space available\",106:\"Socket is already connected\",107:\"Socket is not connected\",108:\"Can't send after socket shutdown\",109:\"Too many references\",110:\"Connection timed out\",111:\"Connection refused\",112:\"Host is down\",113:\"Host is unreachable\",114:\"Socket already connected\",115:\"Connection already in progress\",116:\"Stale file handle\",122:\"Quota exceeded\",123:\"No medium (in tape drive)\",125:\"Operation canceled\",130:\"Previous owner died\",131:\"State not recoverable\"};var PATH={splitPath:(function(filename){var splitPathRe=/^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;return splitPathRe.exec(filename).slice(1)}),normalizeArray:(function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last===\".\"){parts.splice(i,1)}else if(last===\"..\"){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift(\"..\")}}return parts}),normalize:(function(path){var isAbsolute=path.charAt(0)===\"/\",trailingSlash=path.substr(-1)===\"/\";path=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),!isAbsolute).join(\"/\");if(!path&&!isAbsolute){path=\".\"}if(path&&trailingSlash){path+=\"/\"}return(isAbsolute?\"/\":\"\")+path}),dirname:(function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return\".\"}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir}),basename:(function(path){if(path===\"/\")return\"/\";var lastSlash=path.lastIndexOf(\"/\");if(lastSlash===-1)return path;return path.substr(lastSlash+1)}),extname:(function(path){return PATH.splitPath(path)[3]}),join:(function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join(\"/\"))}),join2:(function(l,r){return PATH.normalize(l+\"/\"+r)}),resolve:(function(){var resolvedPath=\"\",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!==\"string\"){throw new TypeError(\"Arguments to path.resolve must be strings\")}else if(!path){return\"\"}resolvedPath=path+\"/\"+resolvedPath;resolvedAbsolute=path.charAt(0)===\"/\"}resolvedPath=PATH.normalizeArray(resolvedPath.split(\"/\").filter((function(p){return!!p})),!resolvedAbsolute).join(\"/\");return(resolvedAbsolute?\"/\":\"\")+resolvedPath||\".\"}),relative:(function(from,to){from=PATH.resolve(from).substr(1);to=PATH.resolve(to).substr(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!==\"\")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!==\"\")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split(\"/\"));var toParts=trim(to.split(\"/\"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push(\"..\")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join(\"/\")})};var TTY={ttys:[],init:(function(){}),shutdown:(function(){}),register:(function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)}),stream_ops:{open:(function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}stream.tty=tty;stream.seekable=false}),close:(function(stream){stream.tty.ops.flush(stream.tty)}),flush:(function(stream){stream.tty.ops.flush(stream.tty)}),read:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=stream.tty.ops.get_char(stream.tty)}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.put_char){throw new FS.ErrnoError(ERRNO_CODES.ENXIO)}for(var i=0;i<length;i++){try{stream.tty.ops.put_char(stream.tty,buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})},default_tty_ops:{get_char:(function(tty){if(!tty.input.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=new Buffer(BUFSIZE);var bytesRead=0;var isPosixPlatform=process.platform!=\"win32\";var fd=process.stdin.fd;if(isPosixPlatform){var usingDevice=false;try{fd=fs.openSync(\"/dev/stdin\",\"r\");usingDevice=true}catch(e){}}try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE,null)}catch(e){if(e.toString().indexOf(\"EOF\")!=-1)bytesRead=0;else throw e}if(usingDevice){fs.closeSync(fd)}if(bytesRead>0){result=buf.slice(0,bytesRead).toString(\"utf-8\")}else{result=null}}else if(typeof window!=\"undefined\"&&typeof window.prompt==\"function\"){result=window.prompt(\"Input: \");if(result!==null){result+=\"\\n\"}}else if(typeof readline==\"function\"){result=readline();if(result!==null){result+=\"\\n\"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()}),put_char:(function(tty,val){if(val===null||val===10){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"print\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}}),flush:(function(tty){if(tty.output&&tty.output.length>0){Module[\"printErr\"](UTF8ArrayToString(tty.output,0));tty.output=[]}})}};var MEMFS={ops_table:null,mount:(function(mount){return MEMFS.createNode(null,\"/\",16384|511,0)}),createNode:(function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node}),getFileDataAsRegularArray:(function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i<node.usedBytes;++i)arr.push(node.contents[i]);return arr}return node.contents}),getFileDataAsTypedArray:(function(node){if(!node.contents)return new Uint8Array;if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity<CAPACITY_DOUBLING_MAX?2:1.125)|0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),resizeFileStorage:(function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length<newSize)node.contents.push(0);node.usedBytes=newSize}),node_ops:{getattr:(function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}}),lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}),mknod:(function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)}),rename:(function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}}}delete old_node.parent.contents[old_node.name];old_node.name=new_name;new_dir.contents[new_name]=old_node;old_node.parent=new_dir}),unlink:(function(parent,name){delete parent.contents[name]}),rmdir:(function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}delete parent.contents[name]}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node}),readlink:(function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return node.link})},stream_ops:{read:(function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i<size;i++)buffer[offset+i]=contents[position+i]}return size}),write:(function(stream,buffer,offset,length,position,canOwn){if(!length)return 0;var node=stream.node;node.timestamp=Date.now();if(buffer.subarray&&(!node.contents||node.contents.subarray)){if(canOwn){node.contents=buffer.subarray(offset,offset+length);node.usedBytes=length;return length}else if(node.usedBytes===0&&position===0){node.contents=new Uint8Array(buffer.subarray(offset,offset+length));node.usedBytes=length;return length}else if(position+length<=node.usedBytes){node.contents.set(buffer.subarray(offset,offset+length),position);return length}}MEMFS.expandFileStorage(node,position+length);if(node.contents.subarray&&buffer.subarray)node.contents.set(buffer.subarray(offset,offset+length),position);else{for(var i=0;i<length;i++){node.contents[position+i]=buffer[offset+i]}}node.usedBytes=Math.max(node.usedBytes,position+length);return length}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.usedBytes}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position}),allocate:(function(stream,offset,length){MEMFS.expandFileStorage(stream.node,offset+length);stream.node.usedBytes=Math.max(stream.node.usedBytes,offset+length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}var ptr;var allocated;var contents=stream.node.contents;if(!(flags&2)&&(contents.buffer===buffer||contents.buffer===buffer.buffer)){allocated=false;ptr=contents.byteOffset}else{if(position>0||position+length<stream.node.usedBytes){if(contents.subarray){contents=contents.subarray(position,position+length)}else{contents=Array.prototype.slice.call(contents,position,position+length)}}allocated=true;ptr=_malloc(length);if(!ptr){throw new FS.ErrnoError(ERRNO_CODES.ENOMEM)}buffer.set(contents,ptr)}return{ptr:ptr,allocated:allocated}}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(mmapFlags&2){return 0}var bytesWritten=MEMFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0})}};var IDBFS={dbs:{},indexedDB:(function(){if(typeof indexedDB!==\"undefined\")return indexedDB;var ret=null;if(typeof window===\"object\")ret=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB;assert(ret,\"IDBFS used, but indexedDB not supported\");return ret}),DB_VERSION:21,DB_STORE_NAME:\"FILE_DATA\",mount:(function(mount){return MEMFS.mount.apply(null,arguments)}),syncfs:(function(mount,populate,callback){IDBFS.getLocalSet(mount,(function(err,local){if(err)return callback(err);IDBFS.getRemoteSet(mount,(function(err,remote){if(err)return callback(err);var src=populate?remote:local;var dst=populate?local:remote;IDBFS.reconcile(src,dst,callback)}))}))}),getDB:(function(name,callback){var db=IDBFS.dbs[name];if(db){return callback(null,db)}var req;try{req=IDBFS.indexedDB().open(name,IDBFS.DB_VERSION)}catch(e){return callback(e)}if(!req){return callback(\"Unable to connect to IndexedDB\")}req.onupgradeneeded=(function(e){var db=e.target.result;var transaction=e.target.transaction;var fileStore;if(db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)){fileStore=transaction.objectStore(IDBFS.DB_STORE_NAME)}else{fileStore=db.createObjectStore(IDBFS.DB_STORE_NAME)}if(!fileStore.indexNames.contains(\"timestamp\")){fileStore.createIndex(\"timestamp\",\"timestamp\",{unique:false})}});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),getLocalSet:(function(mount,callback){var entries={};function isRealDir(p){return p!==\".\"&&p!==\"..\"}function toAbsolute(root){return(function(p){return PATH.join2(root,p)})}var check=FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));while(check.length){var path=check.pop();var stat;try{stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){check.push.apply(check,FS.readdir(path).filter(isRealDir).map(toAbsolute(path)))}entries[path]={timestamp:stat.mtime}}return callback(null,{type:\"local\",entries:entries})}),getRemoteSet:(function(mount,callback){var entries={};IDBFS.getDB(mount.mountpoint,(function(err,db){if(err)return callback(err);try{var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readonly\");transaction.onerror=(function(e){callback(this.error);e.preventDefault()});var store=transaction.objectStore(IDBFS.DB_STORE_NAME);var index=store.index(\"timestamp\");index.openKeyCursor().onsuccess=(function(event){var cursor=event.target.result;if(!cursor){return callback(null,{type:\"remote\",db:db,entries:entries})}entries[cursor.primaryKey]={timestamp:cursor.key};cursor.continue()})}catch(e){return callback(e)}}))}),loadLocalEntry:(function(path,callback){var stat,node;try{var lookup=FS.lookupPath(path);node=lookup.node;stat=FS.stat(path)}catch(e){return callback(e)}if(FS.isDir(stat.mode)){return callback(null,{timestamp:stat.mtime,mode:stat.mode})}else if(FS.isFile(stat.mode)){node.contents=MEMFS.getFileDataAsTypedArray(node);return callback(null,{timestamp:stat.mtime,mode:stat.mode,contents:node.contents})}else{return callback(new Error(\"node type not supported\"))}}),storeLocalEntry:(function(path,entry,callback){try{if(FS.isDir(entry.mode)){FS.mkdir(path,entry.mode)}else if(FS.isFile(entry.mode)){FS.writeFile(path,entry.contents,{canOwn:true})}else{return callback(new Error(\"node type not supported\"))}FS.chmod(path,entry.mode);FS.utime(path,entry.timestamp,entry.timestamp)}catch(e){return callback(e)}callback(null)}),removeLocalEntry:(function(path,callback){try{var lookup=FS.lookupPath(path);var stat=FS.stat(path);if(FS.isDir(stat.mode)){FS.rmdir(path)}else if(FS.isFile(stat.mode)){FS.unlink(path)}}catch(e){return callback(e)}callback(null)}),loadRemoteEntry:(function(store,path,callback){var req=store.get(path);req.onsuccess=(function(event){callback(null,event.target.result)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(e){callback(this.error);e.preventDefault()})}),reconcile:(function(src,dst,callback){var total=0;var create=[];Object.keys(src.entries).forEach((function(key){var e=src.entries[key];var e2=dst.entries[key];if(!e2||e.timestamp>e2.timestamp){create.push(key);total++}}));var remove=[];Object.keys(dst.entries).forEach((function(key){var e=dst.entries[key];var e2=src.entries[key];if(!e2){remove.push(key);total++}}));if(!total){return callback(null)}var completed=0;var db=src.type===\"remote\"?src.db:dst.db;var transaction=db.transaction([IDBFS.DB_STORE_NAME],\"readwrite\");var store=transaction.objectStore(IDBFS.DB_STORE_NAME);function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=total){return callback(null)}}transaction.onerror=(function(e){done(this.error);e.preventDefault()});create.sort().forEach((function(path){if(dst.type===\"local\"){IDBFS.loadRemoteEntry(store,path,(function(err,entry){if(err)return done(err);IDBFS.storeLocalEntry(path,entry,done)}))}else{IDBFS.loadLocalEntry(path,(function(err,entry){if(err)return done(err);IDBFS.storeRemoteEntry(store,path,entry,done)}))}}));remove.sort().reverse().forEach((function(path){if(dst.type===\"local\"){IDBFS.removeLocalEntry(path,done)}else{IDBFS.removeRemoteEntry(store,path,done)}}))})};var NODEFS={isWindows:false,staticInit:(function(){NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process[\"binding\"](\"constants\");if(flags[\"fs\"]){flags=flags[\"fs\"]}NODEFS.flagsForNodeMap={\"1024\":flags[\"O_APPEND\"],\"64\":flags[\"O_CREAT\"],\"128\":flags[\"O_EXCL\"],\"0\":flags[\"O_RDONLY\"],\"2\":flags[\"O_RDWR\"],\"4096\":flags[\"O_SYNC\"],\"512\":flags[\"O_TRUNC\"],\"1\":flags[\"O_WRONLY\"]}}),bufferFrom:(function(arrayBuffer){return Buffer.alloc?Buffer.from(arrayBuffer):new Buffer(arrayBuffer)}),mount:(function(mount){assert(ENVIRONMENT_IS_NODE);return NODEFS.createNode(null,\"/\",NODEFS.getMode(mount.opts.root),0)}),createNode:(function(parent,name,mode,dev){if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node}),getMode:(function(path){var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return stat.mode}),realPath:(function(node){var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)}),flagsForNode:(function(flags){flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(!flags){return newFlags}else{throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),node_ops:{getattr:(function(node){var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}}),setattr:(function(node,attr){var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),lookup:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)}),mknod:(function(parent,name,mode,dev){var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,\"\",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}return node}),rename:(function(oldNode,newDir,newName){var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),unlink:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),rmdir:(function(parent,name){var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readdir:(function(node){var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),symlink:(function(parent,newName,oldPath){var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),readlink:(function(node){var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}})},stream_ops:{open:(function(stream){var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),close:(function(stream){try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),read:(function(stream,buffer,offset,length,position){if(length===0)return 0;try{return fs.readSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),write:(function(stream,buffer,offset,length,position){try{return fs.writeSync(stream.nfd,NODEFS.bufferFrom(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:(function(mount){assert(ENVIRONMENT_IS_WORKER);if(!WORKERFS.reader)WORKERFS.reader=new FileReaderSync;var root=WORKERFS.createNode(null,\"/\",WORKERFS.DIR_MODE,0);var createdParents={};function ensureParent(path){var parts=path.split(\"/\");var parent=root;for(var i=0;i<parts.length-1;i++){var curr=parts.slice(0,i+1).join(\"/\");if(!createdParents[curr]){createdParents[curr]=WORKERFS.createNode(parent,parts[i],WORKERFS.DIR_MODE,0)}parent=createdParents[curr]}return parent}function base(path){var parts=path.split(\"/\");return parts[parts.length-1]}Array.prototype.forEach.call(mount.opts[\"files\"]||[],(function(file){WORKERFS.createNode(ensureParent(file.name),base(file.name),WORKERFS.FILE_MODE,0,file,file.lastModifiedDate)}));(mount.opts[\"blobs\"]||[]).forEach((function(obj){WORKERFS.createNode(ensureParent(obj[\"name\"]),base(obj[\"name\"]),WORKERFS.FILE_MODE,0,obj[\"data\"])}));(mount.opts[\"packages\"]||[]).forEach((function(pack){pack[\"metadata\"].files.forEach((function(file){var name=file.filename.substr(1);WORKERFS.createNode(ensureParent(name),base(name),WORKERFS.FILE_MODE,0,pack[\"blob\"].slice(file.start,file.end))}))}));return root}),createNode:(function(parent,name,mode,dev,contents,mtime){var node=FS.createNode(parent,name,mode);node.mode=mode;node.node_ops=WORKERFS.node_ops;node.stream_ops=WORKERFS.stream_ops;node.timestamp=(mtime||new Date).getTime();assert(WORKERFS.FILE_MODE!==WORKERFS.DIR_MODE);if(mode===WORKERFS.FILE_MODE){node.size=contents.size;node.contents=contents}else{node.size=4096;node.contents={}}if(parent){parent.contents[name]=node}return node}),node_ops:{getattr:(function(node){return{dev:1,ino:undefined,mode:node.mode,nlink:1,uid:0,gid:0,rdev:undefined,size:node.size,atime:new Date(node.timestamp),mtime:new Date(node.timestamp),ctime:new Date(node.timestamp),blksize:4096,blocks:Math.ceil(node.size/4096)}}),setattr:(function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}}),lookup:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}),mknod:(function(parent,name,mode,dev){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rename:(function(oldNode,newDir,newName){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),unlink:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),rmdir:(function(parent,name){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readdir:(function(node){var entries=[\".\",\"..\"];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries}),symlink:(function(parent,newName,oldPath){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}),readlink:(function(node){throw new FS.ErrnoError(ERRNO_CODES.EPERM)})},stream_ops:{read:(function(stream,buffer,offset,length,position){if(position>=stream.node.size)return 0;var chunk=stream.node.contents.slice(position,position+length);var ab=WORKERFS.reader.readAsArrayBuffer(chunk);buffer.set(new Uint8Array(ab),offset);return chunk.size}),write:(function(stream,buffer,offset,length,position){throw new FS.ErrnoError(ERRNO_CODES.EIO)}),llseek:(function(stream,offset,whence){var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){position+=stream.node.size}}if(position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return position})}};STATICTOP+=16;STATICTOP+=16;STATICTOP+=16;var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:\"/\",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:(function(e){if(!(e instanceof FS.ErrnoError))throw e+\" : \"+stackTrace();return ___setErrNo(e.errno)}),lookupPath:(function(path,opts){path=PATH.resolve(FS.cwd(),path);opts=opts||{};if(!path)return{path:\"\",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}var parts=PATH.normalizeArray(path.split(\"/\").filter((function(p){return!!p})),false);var current=FS.root;var current_path=\"/\";for(var i=0;i<parts.length;i++){var islast=i===parts.length-1;if(islast&&opts.parent){break}current=FS.lookupNode(current,parts[i]);current_path=PATH.join2(current_path,parts[i]);if(FS.isMountpoint(current)){if(!islast||islast&&opts.follow_mount){current=current.mounted.root}}if(!islast||opts.follow){var count=0;while(FS.isLink(current.mode)){var link=FS.readlink(current_path);current_path=PATH.resolve(PATH.dirname(current_path),link);var lookup=FS.lookupPath(current_path,{recurse_count:opts.recurse_count});current=lookup.node;if(count++>40){throw new FS.ErrnoError(ERRNO_CODES.ELOOP)}}}}return{path:current_path,node:current}}),getPath:(function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!==\"/\"?mount+\"/\"+path:mount+path}path=path?node.name+\"/\"+path:node.name;node=node.parent}}),hashName:(function(parentid,name){var hash=0;for(var i=0;i<name.length;i++){hash=(hash<<5)-hash+name.charCodeAt(i)|0}return(parentid+hash>>>0)%FS.nameTable.length}),hashAddNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node}),hashRemoveNode:(function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}}),lookupNode:(function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)}),createNode:(function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=(function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev});FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:(function(){return(this.mode&readMode)===readMode}),set:(function(val){val?this.mode|=readMode:this.mode&=~readMode})},write:{get:(function(){return(this.mode&writeMode)===writeMode}),set:(function(val){val?this.mode|=writeMode:this.mode&=~writeMode})},isFolder:{get:(function(){return FS.isDir(this.mode)})},isDevice:{get:(function(){return FS.isChrdev(this.mode)})}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node}),destroyNode:(function(node){FS.hashRemoveNode(node)}),isRoot:(function(node){return node===node.parent}),isMountpoint:(function(node){return!!node.mounted}),isFile:(function(mode){return(mode&61440)===32768}),isDir:(function(mode){return(mode&61440)===16384}),isLink:(function(mode){return(mode&61440)===40960}),isChrdev:(function(mode){return(mode&61440)===8192}),isBlkdev:(function(mode){return(mode&61440)===24576}),isFIFO:(function(mode){return(mode&61440)===4096}),isSocket:(function(mode){return(mode&49152)===49152}),flagModes:{\"r\":0,\"rs\":1052672,\"r+\":2,\"w\":577,\"wx\":705,\"xw\":705,\"w+\":578,\"wx+\":706,\"xw+\":706,\"a\":1089,\"ax\":1217,\"xa\":1217,\"a+\":1090,\"ax+\":1218,\"xa+\":1218},modeStringToFlags:(function(str){var flags=FS.flagModes[str];if(typeof flags===\"undefined\"){throw new Error(\"Unknown file open mode: \"+str)}return flags}),flagsToPermissionString:(function(flag){var perms=[\"r\",\"w\",\"rw\"][flag&3];if(flag&512){perms+=\"w\"}return perms}),nodePermissions:(function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf(\"r\")!==-1&&!(node.mode&292)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"w\")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf(\"x\")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,\"x\");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}catch(e){}return FS.nodePermissions(dir,\"wx\")}),mayDelete:(function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,\"wx\");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!==\"r\"||flags&512){return ERRNO_CODES.EISDIR}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))}),MAX_OPEN_FDS:4096,nextfd:(function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(ERRNO_CODES.EMFILE)}),getStream:(function(fd){return FS.streams[fd]}),createStream:(function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=(function(){});FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:(function(){return this.node}),set:(function(val){this.node=val})},isRead:{get:(function(){return(this.flags&2097155)!==1})},isWrite:{get:(function(){return(this.flags&2097155)!==0})},isAppend:{get:(function(){return this.flags&1024})}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream}),closeStream:(function(fd){FS.streams[fd]=null}),chrdev_stream_ops:{open:(function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}}),llseek:(function(){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)})},major:(function(dev){return dev>>8}),minor:(function(dev){return dev&255}),makedev:(function(ma,mi){return ma<<8|mi}),registerDevice:(function(dev,ops){FS.devices[dev]={stream_ops:ops}}),getDevice:(function(dev){return FS.devices[dev]}),getMounts:(function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts}),syncfs:(function(populate,callback){if(typeof populate===\"function\"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log(\"warning: \"+FS.syncFSRequests+\" FS.syncfs operations in flight at once, probably just doing extra work\")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach((function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)}))}),mount:(function(type,opts,mountpoint){var root=mountpoint===\"/\";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot}),unmount:(function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach((function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}}));node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)}),lookup:(function(parent,name){return parent.node_ops.lookup(parent,name)}),mknod:(function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name===\".\"||name===\"..\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.mknod(parent,name,mode,dev)}),create:(function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)}),mkdir:(function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)}),mkdirTree:(function(path,mode){var dirs=path.split(\"/\");var d=\"\";for(var i=0;i<dirs.length;++i){if(!dirs[i])continue;d+=\"/\"+dirs[i];try{FS.mkdir(d,mode)}catch(e){if(e.errno!=ERRNO_CODES.EEXIST)throw e}}}),mkdev:(function(path,mode,dev){if(typeof dev===\"undefined\"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)}),symlink:(function(oldpath,newpath){if(!PATH.resolve(oldpath)){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}var newname=PATH.basename(newpath);var err=FS.mayCreate(parent,newname);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return parent.node_ops.symlink(parent,newname,oldpath)}),rename:(function(old_path,new_path){var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;try{lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH.relative(old_path,new_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!==\".\"){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var err=FS.mayDelete(old_dir,old_name,isdir);if(err){throw new FS.ErrnoError(err)}err=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(err){throw new FS.ErrnoError(err)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}if(new_dir!==old_dir){err=FS.nodePermissions(old_dir,\"w\");if(err){throw new FS.ErrnoError(err)}}try{if(FS.trackingDelegate[\"willMovePath\"]){FS.trackingDelegate[\"willMovePath\"](old_path,new_path)}}catch(e){console.log(\"FS.trackingDelegate['willMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}try{if(FS.trackingDelegate[\"onMovePath\"])FS.trackingDelegate[\"onMovePath\"](old_path,new_path)}catch(e){console.log(\"FS.trackingDelegate['onMovePath']('\"+old_path+\"', '\"+new_path+\"') threw an exception: \"+e.message)}}),rmdir:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,true);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}return node.node_ops.readdir(node)}),unlink:(function(path){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var err=FS.mayDelete(parent,name,false);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}try{if(FS.trackingDelegate[\"willDeletePath\"]){FS.trackingDelegate[\"willDeletePath\"](path)}}catch(e){console.log(\"FS.trackingDelegate['willDeletePath']('\"+path+\"') threw an exception: \"+e.message)}parent.node_ops.unlink(parent,name);FS.destroyNode(node);try{if(FS.trackingDelegate[\"onDeletePath\"])FS.trackingDelegate[\"onDeletePath\"](path)}catch(e){console.log(\"FS.trackingDelegate['onDeletePath']('\"+path+\"') threw an exception: \"+e.message)}}),readlink:(function(path){var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return PATH.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))}),stat:(function(path,dontFollow){var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}return node.node_ops.getattr(node)}),lstat:(function(path){return FS.stat(path,true)}),chmod:(function(path,mode,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})}),lchmod:(function(path,mode){FS.chmod(path,mode,true)}),fchmod:(function(fd,mode){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chmod(stream.node,mode)}),chown:(function(path,uid,gid,dontFollow){var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}node.node_ops.setattr(node,{timestamp:Date.now()})}),lchown:(function(path,uid,gid){FS.chown(path,uid,gid,true)}),fchown:(function(fd,uid,gid){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var node;if(typeof path===\"string\"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var err=FS.nodePermissions(node,\"w\");if(err){throw new FS.ErrnoError(err)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})}),ftruncate:(function(fd,len){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}FS.truncate(stream.node,len)}),utime:(function(path,atime,mtime){var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})}),open:(function(path,flags,mode,fd_start,fd_end){if(path===\"\"){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}flags=typeof flags===\"string\"?FS.modeStringToFlags(flags):flags;mode=typeof mode===\"undefined\"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path===\"object\"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}if(!created){var err=FS.mayOpen(node,flags);if(err){throw new FS.ErrnoError(err)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module[\"logReadFiles\"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1;Module[\"printErr\"](\"read file: \"+path)}}try{if(FS.trackingDelegate[\"onOpenFile\"]){var trackingFlags=0;if((flags&2097155)!==1){trackingFlags|=FS.tracking.openFlags.READ}if((flags&2097155)!==0){trackingFlags|=FS.tracking.openFlags.WRITE}FS.trackingDelegate[\"onOpenFile\"](path,trackingFlags)}}catch(e){console.log(\"FS.trackingDelegate['onOpenFile']('\"+path+\"', flags) threw an exception: \"+e.message)}return stream}),close:(function(stream){if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead}),write:(function(stream,buffer,offset,length,position,canOwn){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!==\"undefined\";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;try{if(stream.path&&FS.trackingDelegate[\"onWriteToFile\"])FS.trackingDelegate[\"onWriteToFile\"](stream.path)}catch(e){console.log(\"FS.trackingDelegate['onWriteToFile']('\"+path+\"') threw an exception: \"+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}stream.stream_ops.allocate(stream,offset,length)}),mmap:(function(stream,buffer,offset,length,position,prot,flags){if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),msync:(function(stream,buffer,offset,length,mmapFlags){if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)}),munmap:(function(stream){return 0}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}return stream.stream_ops.ioctl(stream,cmd,arg)}),readFile:(function(path,opts){opts=opts||{};opts.flags=opts.flags||\"r\";opts.encoding=opts.encoding||\"binary\";if(opts.encoding!==\"utf8\"&&opts.encoding!==\"binary\"){throw new Error('Invalid encoding type \"'+opts.encoding+'\"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding===\"utf8\"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding===\"binary\"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||\"w\";var stream=FS.open(path,opts.flags,opts.mode);if(typeof data===\"string\"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error(\"Unsupported data type\")}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}var err=FS.nodePermissions(lookup.node,\"x\");if(err){throw new FS.ErrnoError(err)}FS.currentPath=lookup.path}),createDefaultDirectories:(function(){FS.mkdir(\"/tmp\");FS.mkdir(\"/home\");FS.mkdir(\"/home/web_user\")}),createDefaultDevices:(function(){FS.mkdir(\"/dev\");FS.registerDevice(FS.makedev(1,3),{read:(function(){return 0}),write:(function(stream,buffer,offset,length,pos){return length})});FS.mkdev(\"/dev/null\",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev(\"/dev/tty\",FS.makedev(5,0));FS.mkdev(\"/dev/tty1\",FS.makedev(6,0));var random_device;if(typeof crypto!==\"undefined\"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require(\"crypto\")[\"randomBytes\"](1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice(\"/dev\",\"random\",random_device);FS.createDevice(\"/dev\",\"urandom\",random_device);FS.mkdir(\"/dev/shm\");FS.mkdir(\"/dev/shm/tmp\")}),createSpecialDirectories:(function(){FS.mkdir(\"/proc\");FS.mkdir(\"/proc/self\");FS.mkdir(\"/proc/self/fd\");FS.mount({mount:(function(){var node=FS.createNode(\"/proc/self\",\"fd\",16384|511,73);node.node_ops={lookup:(function(parent,name){var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);var ret={parent:null,mount:{mountpoint:\"fake\"},node_ops:{readlink:(function(){return stream.path})}};ret.parent=ret;return ret})};return node})},{},\"/proc/self/fd\")}),createStandardStreams:(function(){if(Module[\"stdin\"]){FS.createDevice(\"/dev\",\"stdin\",Module[\"stdin\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdin\")}if(Module[\"stdout\"]){FS.createDevice(\"/dev\",\"stdout\",null,Module[\"stdout\"])}else{FS.symlink(\"/dev/tty\",\"/dev/stdout\")}if(Module[\"stderr\"]){FS.createDevice(\"/dev\",\"stderr\",null,Module[\"stderr\"])}else{FS.symlink(\"/dev/tty1\",\"/dev/stderr\")}var stdin=FS.open(\"/dev/stdin\",\"r\");assert(stdin.fd===0,\"invalid handle for stdin (\"+stdin.fd+\")\");var stdout=FS.open(\"/dev/stdout\",\"w\");assert(stdout.fd===1,\"invalid handle for stdout (\"+stdout.fd+\")\");var stderr=FS.open(\"/dev/stderr\",\"w\");assert(stderr.fd===2,\"invalid handle for stderr (\"+stderr.fd+\")\")}),ensureErrnoError:(function(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=(function(errno){this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno];if(this.stack)Object.defineProperty(this,\"stack\",{value:(new Error).stack,writable:true})};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=\"<generic error, no stack>\"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},\"/\");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={\"MEMFS\":MEMFS,\"IDBFS\":IDBFS,\"NODEFS\":NODEFS,\"WORKERFS\":WORKERFS}}),init:(function(input,output,error){assert(!FS.init.initialized,\"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)\");FS.init.initialized=true;FS.ensureErrnoError();Module[\"stdin\"]=input||Module[\"stdin\"];Module[\"stdout\"]=output||Module[\"stdout\"];Module[\"stderr\"]=error||Module[\"stderr\"];FS.createStandardStreams()}),quit:(function(){FS.init.initialized=false;var fflush=Module[\"_fflush\"];if(fflush)fflush(0);for(var i=0;i<FS.streams.length;i++){var stream=FS.streams[i];if(!stream){continue}FS.close(stream)}}),getMode:(function(canRead,canWrite){var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode}),joinPath:(function(parts,forceRelative){var path=PATH.join.apply(null,parts);if(forceRelative&&path[0]==\"/\")path=path.substr(1);return path}),absolutePath:(function(relative,base){return PATH.resolve(base,relative)}),standardizePath:(function(path){return PATH.normalize(path)}),findObject:(function(path,dontResolveLastLink){var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{___setErrNo(ret.error);return null}}),analyzePath:(function(path,dontResolveLastLink){try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path===\"/\"}catch(e){ret.error=e.errno}return ret}),createFolder:(function(parent,name,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.mkdir(path,mode)}),createPath:(function(parent,path,canRead,canWrite){parent=typeof parent===\"string\"?parent:FS.getPath(parent);var parts=path.split(\"/\").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current}),createFile:(function(parent,name,properties,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)}),createDataFile:(function(parent,name,data,canRead,canWrite,canOwn){var path=name?PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name):parent;var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data===\"string\"){var arr=new Array(data.length);for(var i=0,len=data.length;i<len;++i)arr[i]=data.charCodeAt(i);data=arr}FS.chmod(node,mode|146);var stream=FS.open(node,\"w\");FS.write(stream,data,0,data.length,0,canOwn);FS.close(stream);FS.chmod(node,mode)}return node}),createDevice:(function(parent,name,input,output){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:(function(stream){stream.seekable=false}),close:(function(stream){if(output&&output.buffer&&output.buffer.length){output(10)}}),read:(function(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}if(bytesRead){stream.node.timestamp=Date.now()}return bytesRead}),write:(function(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}if(length){stream.node.timestamp=Date.now()}return i})});return FS.mkdev(path,mode,dev)}),createLink:(function(parent,name,target,canRead,canWrite){var path=PATH.join2(typeof parent===\"string\"?parent:FS.getPath(parent),name);return FS.symlink(target,path)}),forceLoadFile:(function(obj){if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;var success=true;if(typeof XMLHttpRequest!==\"undefined\"){throw new Error(\"Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.\")}else if(Module[\"read\"]){try{obj.contents=intArrayFromString(Module[\"read\"](obj.url),true);obj.usedBytes=obj.contents.length}catch(e){success=false}}else{throw new Error(\"Cannot load without read() or XMLHttpRequest.\")}if(!success)___setErrNo(ERRNO_CODES.EIO);return success}),createLazyFile:(function(parent,name,url,canRead,canWrite){function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open(\"HEAD\",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);var datalength=Number(xhr.getResponseHeader(\"Content-length\"));var header;var hasByteServing=(header=xhr.getResponseHeader(\"Accept-Ranges\"))&&header===\"bytes\";var usesGzip=(header=xhr.getResponseHeader(\"Content-Encoding\"))&&header===\"gzip\";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(function(from,to){if(from>to)throw new Error(\"invalid range (\"+from+\", \"+to+\") or no bytes requested!\");if(to>datalength-1)throw new Error(\"only \"+datalength+\" bytes available! programmer error!\");var xhr=new XMLHttpRequest;xhr.open(\"GET\",url,false);if(datalength!==chunkSize)xhr.setRequestHeader(\"Range\",\"bytes=\"+from+\"-\"+to);if(typeof Uint8Array!=\"undefined\")xhr.responseType=\"arraybuffer\";if(xhr.overrideMimeType){xhr.overrideMimeType(\"text/plain; charset=x-user-defined\")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error(\"Couldn't load \"+url+\". Status: \"+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||\"\",true)}});var lazyArray=this;lazyArray.setDataGetter((function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]===\"undefined\"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]===\"undefined\")throw new Error(\"doXHR failed!\");return lazyArray.chunks[chunkNum]}));if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log(\"LazyFiles on gzip forces download of the whole file when length is accessed\")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!==\"undefined\"){if(!ENVIRONMENT_IS_WORKER)throw\"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc\";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})},chunkSize:{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize})}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:(function(){return this.contents.length})}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach((function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}return fn.apply(null,arguments)}}));stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(ERRNO_CODES.EIO)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i<size;i++){buffer[offset+i]=contents[position+i]}}else{for(var i=0;i<size;i++){buffer[offset+i]=contents.get(position+i)}}return size};node.stream_ops=stream_ops;return node}),createPreloadedFile:(function(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(\"cp \"+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}var handled=false;Module[\"preloadPlugins\"].forEach((function(plugin){if(handled)return;if(plugin[\"canHandle\"](fullname)){plugin[\"handle\"](byteArray,fullname,finish,(function(){if(onerror)onerror();removeRunDependency(dep)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency(dep);if(typeof url==\"string\"){Browser.asyncLoad(url,(function(byteArray){processData(byteArray)}),onerror)}else{processData(url)}}),indexedDB:(function(){return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB}),DB_NAME:(function(){return\"EM_FS_\"+window.location.pathname}),DB_VERSION:20,DB_STORE_NAME:\"FILE_DATA\",saveFilesToDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=function openRequest_onupgradeneeded(){console.log(\"creating db\");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],\"readwrite\");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=function putRequest_onsuccess(){ok++;if(ok+fail==total)finish()};putRequest.onerror=function putRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror}),loadFilesFromDB:(function(paths,onload,onerror){onload=onload||(function(){});onerror=onerror||(function(){});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=function openRequest_onsuccess(){var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],\"readonly\")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach((function(path){var getRequest=files.get(path);getRequest.onsuccess=function getRequest_onsuccess(){if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=function getRequest_onerror(){fail++;if(ok+fail==total)finish()}}));transaction.onerror=onerror};openRequest.onerror=onerror})};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:(function(dirfd,path){if(path[0]!==\"/\"){var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);dir=dirstream.path}path=PATH.join2(dir,path)}return path}),doStat:(function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-ERRNO_CODES.ENOTDIR}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;HEAP32[buf+36>>2]=stat.size;HEAP32[buf+40>>2]=4096;HEAP32[buf+44>>2]=stat.blocks;HEAP32[buf+48>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+52>>2]=0;HEAP32[buf+56>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ino;return 0}),doMsync:(function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)}),doMkdir:(function(path,mode){path=PATH.normalize(path);if(path[path.length-1]===\"/\")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}),doMknod:(function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-ERRNO_CODES.EINVAL}FS.mknod(path,mode,dev);return 0}),doReadlink:(function(path,buf,bufsize){if(bufsize<=0)return-ERRNO_CODES.EINVAL;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}),doAccess:(function(path,amode){if(amode&~7){return-ERRNO_CODES.EINVAL}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;var perms=\"\";if(amode&4)perms+=\"r\";if(amode&2)perms+=\"w\";if(amode&1)perms+=\"x\";if(perms&&FS.nodePermissions(node,perms)){return-ERRNO_CODES.EACCES}return 0}),doDup:(function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd}),doReadv:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr<len)break}return ret}),doWritev:(function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}),varargs:0,get:(function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret}),getStr:(function(){var ret=Pointer_stringify(SYSCALLS.get());return ret}),getStreamFromFD:(function(){var stream=FS.getStream(SYSCALLS.get());if(!stream)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return stream}),getSocketFromFD:(function(){var socket=SOCKFS.getSocket(SYSCALLS.get());if(!socket)throw new FS.ErrnoError(ERRNO_CODES.EBADF);return socket}),getSocketAddress:(function(allowNull){var addrp=SYSCALLS.get(),addrlen=SYSCALLS.get();if(allowNull&&addrp===0)return null;var info=__read_sockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info}),get64:(function(){var low=SYSCALLS.get(),high=SYSCALLS.get();if(low>=0)assert(high===0);else assert(high===-1);return low}),getZero:(function(){assert(SYSCALLS.get()===0)})};function ___syscall10(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr();FS.unlink(path);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall145(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doReadv(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();return SYSCALLS.doWritev(stream,iov,iovcnt)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall192(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get(),prot=SYSCALLS.get(),flags=SYSCALLS.get(),fd=SYSCALLS.get(),off=SYSCALLS.get();off<<=12;var ptr;var allocated=false;if(fd===-1){ptr=_memalign(PAGE_SIZE,len);if(!ptr)return-ERRNO_CODES.ENOMEM;_memset(ptr,0,len);allocated=true}else{var info=FS.getStream(fd);if(!info)return-ERRNO_CODES.EBADF;var res=FS.mmap(info,HEAPU8,addr,len,off,prot,flags);ptr=res.ptr;allocated=res.allocated}SYSCALLS.mappings[ptr]={malloc:ptr,len:len,allocated:allocated,fd:fd,flags:flags};return ptr}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall195(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall197(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get();return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var PROCINFO={ppid:1,pid:42,sid:42,pgid:42};function ___syscall20(which,varargs){SYSCALLS.varargs=varargs;try{return PROCINFO.pid}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-ERRNO_CODES.EINVAL}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd};case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0};case 12:case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0};case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-ERRNO_CODES.EINVAL;case 9:___setErrNo(ERRNO_CODES.EINVAL);return-1;default:{return-ERRNO_CODES.EINVAL}}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall3(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),buf=SYSCALLS.get(),count=SYSCALLS.get();return FS.read(stream,HEAP8,buf,count)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall33(which,varargs){SYSCALLS.varargs=varargs;try{var path=SYSCALLS.getStr(),amode=SYSCALLS.get();return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};case 21519:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0};case 21520:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return-ERRNO_CODES.EINVAL};case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)};case 21523:{if(!stream.tty)return-ERRNO_CODES.ENOTTY;return 0};default:abort(\"bad ioctl syscall \"+op)}}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}catch(e){if(typeof FS===\"undefined\"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],\"i8\",ALLOC_STATIC);function ___unlock(){}function __exit(status){Module[\"exit\"](status)}function _exit(status){__exit(status)}var _environ=STATICTOP;STATICTOP+=16;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV[\"USER\"]=ENV[\"LOGNAME\"]=\"web_user\";ENV[\"PATH\"]=\"/\";ENV[\"PWD\"]=\"/\";ENV[\"HOME\"]=\"/home/web_user\";ENV[\"LANG\"]=\"C.UTF-8\";ENV[\"_\"]=Module[\"thisProgram\"];poolPtr=staticAlloc(TOTAL_ENV_SIZE);envPtr=staticAlloc(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){if(typeof env[key]===\"string\"){var line=key+\"=\"+env[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error(\"Environment size exceeded TOTAL_ENV_SIZE!\")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _gettimeofday(ptr){var now=Date.now();HEAP32[ptr>>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}var _llvm_ceil_f64=Math_ceil;var _llvm_fabs_f32=Math_abs;var _llvm_fabs_f64=Math_abs;var _llvm_floor_f64=Math_floor;var _llvm_pow_f64=Math_pow;var _llvm_sqrt_f32=Math_sqrt;var _llvm_sqrt_f64=Math_sqrt;function _llvm_trap(){abort(\"trap!\")}function _longjmp(env,value){Module[\"setThrew\"](env,value||1);throw\"longjmp\"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}function _setenv(envname,envval,overwrite){if(envname===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=Pointer_stringify(envname);var val=Pointer_stringify(envval);if(name===\"\"||name.indexOf(\"=\")!==-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}if(ENV.hasOwnProperty(name)&&!overwrite)return 0;ENV[name]=val;___buildEnvironment(ENV);return 0}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}function _times(buffer){if(buffer!==0){_memset(buffer,0,16)}return 0}if(ENVIRONMENT_IS_NODE){_emscripten_get_now=function _emscripten_get_now_actual(){var t=process[\"hrtime\"]();return t[0]*1e3+t[1]/1e6}}else if(typeof dateNow!==\"undefined\"){_emscripten_get_now=dateNow}else if(typeof self===\"object\"&&self[\"performance\"]&&typeof self[\"performance\"][\"now\"]===\"function\"){_emscripten_get_now=(function(){return self[\"performance\"][\"now\"]()})}else if(typeof performance===\"object\"&&typeof performance[\"now\"]===\"function\"){_emscripten_get_now=(function(){return performance[\"now\"]()})}else{_emscripten_get_now=Date.now}FS.staticInit();__ATINIT__.unshift((function(){if(!Module[\"noFSInit\"]&&!FS.init.initialized)FS.init()}));__ATMAIN__.push((function(){FS.ignorePermissions=false}));__ATEXIT__.push((function(){FS.quit()}));__ATINIT__.unshift((function(){TTY.init()}));__ATEXIT__.push((function(){TTY.shutdown()}));if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var NODEJS_PATH=require(\"path\");NODEFS.staticInit()}___buildEnvironment(ENV);DYNAMICTOP_PTR=staticAlloc(4);STACK_BASE=STACKTOP=alignMemory(STATICTOP);STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;staticSealed=true;var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,\"Character code \"+chr+\" (\"+String.fromCharCode(chr)+\") at offset \"+i+\" not in 0x00-0xFF.\")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join(\"\")}var decodeBase64=typeof atob===\"function\"?atob:(function(input){var keyStr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";var output=\"\";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\\+\\/\\=]/g,\"\");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output});function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE===\"boolean\"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,\"base64\")}catch(_){buf=new Buffer(s,\"base64\")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error(\"Converting base64 string to bytes failed.\")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function invoke_d(index){try{return Module[\"dynCall_d\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_dddd(index,a1,a2,a3){try{return Module[\"dynCall_dddd\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_di(index,a1){try{return Module[\"dynCall_di\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_i(index){try{return Module[\"dynCall_i\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_ii(index,a1){try{return Module[\"dynCall_ii\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iii(index,a1,a2){try{return Module[\"dynCall_iii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiidd(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiidd\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiii(index,a1,a2,a3){try{return Module[\"dynCall_iiii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module[\"dynCall_iiiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module[\"dynCall_iiiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module[\"dynCall_iiiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){try{return Module[\"dynCall_iiiiiiiiiii\"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_v(index){try{Module[\"dynCall_v\"](index)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vi(index,a1){try{Module[\"dynCall_vi\"](index,a1)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_vii(index,a1,a2){try{Module[\"dynCall_vii\"](index,a1,a2)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module[\"dynCall_viii\"](index,a1,a2,a3)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiddi(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiddi\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module[\"dynCall_viiii\"](index,a1,a2,a3,a4)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module[\"dynCall_viiiii\"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module[\"dynCall_viiiiii\"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module[\"dynCall_viiiiiiiii\"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!==\"number\"&&e!==\"longjmp\")throw e;Module[\"setThrew\"](1,0)}}Module.asmGlobalArg={\"Math\":Math,\"Int8Array\":Int8Array,\"Int16Array\":Int16Array,\"Int32Array\":Int32Array,\"Uint8Array\":Uint8Array,\"Uint16Array\":Uint16Array,\"Uint32Array\":Uint32Array,\"Float32Array\":Float32Array,\"Float64Array\":Float64Array,\"NaN\":NaN,\"Infinity\":Infinity};Module.asmLibraryArg={\"abort\":abort,\"assert\":assert,\"enlargeMemory\":enlargeMemory,\"getTotalMemory\":getTotalMemory,\"abortOnCannotGrowMemory\":abortOnCannotGrowMemory,\"invoke_d\":invoke_d,\"invoke_dddd\":invoke_dddd,\"invoke_di\":invoke_di,\"invoke_i\":invoke_i,\"invoke_ii\":invoke_ii,\"invoke_iii\":invoke_iii,\"invoke_iiidd\":invoke_iiidd,\"invoke_iiii\":invoke_iiii,\"invoke_iiiii\":invoke_iiiii,\"invoke_iiiiii\":invoke_iiiiii,\"invoke_iiiiiii\":invoke_iiiiiii,\"invoke_iiiiiiiiiii\":invoke_iiiiiiiiiii,\"invoke_v\":invoke_v,\"invoke_vi\":invoke_vi,\"invoke_vii\":invoke_vii,\"invoke_viii\":invoke_viii,\"invoke_viiiddi\":invoke_viiiddi,\"invoke_viiii\":invoke_viiii,\"invoke_viiiii\":invoke_viiiii,\"invoke_viiiiii\":invoke_viiiiii,\"invoke_viiiiiiiii\":invoke_viiiiiiiii,\"___assert_fail\":___assert_fail,\"___buildEnvironment\":___buildEnvironment,\"___clock_gettime\":___clock_gettime,\"___lock\":___lock,\"___map_file\":___map_file,\"___setErrNo\":___setErrNo,\"___syscall10\":___syscall10,\"___syscall140\":___syscall140,\"___syscall145\":___syscall145,\"___syscall146\":___syscall146,\"___syscall192\":___syscall192,\"___syscall195\":___syscall195,\"___syscall197\":___syscall197,\"___syscall20\":___syscall20,\"___syscall221\":___syscall221,\"___syscall3\":___syscall3,\"___syscall33\":___syscall33,\"___syscall5\":___syscall5,\"___syscall54\":___syscall54,\"___syscall6\":___syscall6,\"___syscall91\":___syscall91,\"___unlock\":___unlock,\"__exit\":__exit,\"_clock_gettime\":_clock_gettime,\"_emscripten_asm_const_iii\":_emscripten_asm_const_iii,\"_emscripten_get_now\":_emscripten_get_now,\"_emscripten_get_now_is_monotonic\":_emscripten_get_now_is_monotonic,\"_emscripten_memcpy_big\":_emscripten_memcpy_big,\"_exit\":_exit,\"_getenv\":_getenv,\"_gettimeofday\":_gettimeofday,\"_llvm_ceil_f64\":_llvm_ceil_f64,\"_llvm_fabs_f32\":_llvm_fabs_f32,\"_llvm_fabs_f64\":_llvm_fabs_f64,\"_llvm_floor_f64\":_llvm_floor_f64,\"_llvm_pow_f64\":_llvm_pow_f64,\"_llvm_sqrt_f32\":_llvm_sqrt_f32,\"_llvm_sqrt_f64\":_llvm_sqrt_f64,\"_llvm_trap\":_llvm_trap,\"_longjmp\":_longjmp,\"_setenv\":_setenv,\"_time\":_time,\"_times\":_times,\"DYNAMICTOP_PTR\":DYNAMICTOP_PTR,\"tempDoublePtr\":tempDoublePtr,\"ABORT\":ABORT,\"STACKTOP\":STACKTOP,\"STACK_MAX\":STACK_MAX,\"cttz_i8\":cttz_i8};// EMSCRIPTEN_START_ASM\nvar asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {\n\"use asm\";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_d;var Y=env.invoke_dddd;var Z=env.invoke_di;var _=env.invoke_i;var $=env.invoke_ii;var aa=env.invoke_iii;var ba=env.invoke_iiidd;var ca=env.invoke_iiii;var da=env.invoke_iiiii;var ea=env.invoke_iiiiii;var fa=env.invoke_iiiiiii;var ga=env.invoke_iiiiiiiiiii;var ha=env.invoke_v;var ia=env.invoke_vi;var ja=env.invoke_vii;var ka=env.invoke_viii;var la=env.invoke_viiiddi;var ma=env.invoke_viiii;var na=env.invoke_viiiii;var oa=env.invoke_viiiiii;var pa=env.invoke_viiiiiiiii;var qa=env.___assert_fail;var ra=env.___buildEnvironment;var sa=env.___clock_gettime;var ta=env.___lock;var ua=env.___map_file;var va=env.___setErrNo;var wa=env.___syscall10;var xa=env.___syscall140;var ya=env.___syscall145;var za=env.___syscall146;var Aa=env.___syscall192;var Ba=env.___syscall195;var Ca=env.___syscall197;var Da=env.___syscall20;var Ea=env.___syscall221;var Fa=env.___syscall3;var Ga=env.___syscall33;var Ha=env.___syscall5;var Ia=env.___syscall54;var Ja=env.___syscall6;var Ka=env.___syscall91;var La=env.___unlock;var Ma=env.__exit;var Na=env._clock_gettime;var Oa=env._emscripten_asm_const_iii;var Pa=env._emscripten_get_now;var Qa=env._emscripten_get_now_is_monotonic;var Ra=env._emscripten_memcpy_big;var Sa=env._exit;var Ta=env._getenv;var Ua=env._gettimeofday;var Va=env._llvm_ceil_f64;var Wa=env._llvm_fabs_f32;var Xa=env._llvm_fabs_f64;var Ya=env._llvm_floor_f64;var Za=env._llvm_pow_f64;var _a=env._llvm_sqrt_f32;var $a=env._llvm_sqrt_f64;var ab=env._llvm_trap;var bb=env._longjmp;var cb=env._setenv;var db=env._time;var eb=env._times;var fb=0.0;\n// EMSCRIPTEN_START_FUNCS\nfunction gP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+176|0;k=n+8|0;j=n;h=n+40|0;if(!b)qa(108200,108204,52,108218);if(!d)qa(108230,108204,53,108218);i=c[d+8>>2]|0;if(!i)qa(108233,108204,54,108218);if(!(a[i>>0]|0))qa(108242,108204,55,108218);b0(h,c[d+28>>2]|0)|0;i=h+(W_(h)|0)|0;a[i>>0]=58;a[i+1>>0]=0;p1(h,g)|0;if((hP(b,h)|0)==999){c[j>>2]=h;Pw(0,108254,j)|0}g=c[b+92>>2]|0;if(g|0?(m=c[g>>2]|0,m|0):0){c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];xb[m&31](b,d,k,f)}l=n;return}function hP(a,b){a=a|0;b=b|0;b=wC(c[a>>2]|0,4,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+92>>2]=c[b+12>>2];c[a+96>>2]=c[b>>2];b=300}return b|0}function iP(a){a=a|0;return 1}function jP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function kP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function lP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function mP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]+10.0/+h[b+352>>3];a[b+537>>0]=1;return 0}function nP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1.1;a[b+537>>0]=1;return 0}function oP(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*.9090909090909091;a[b+537>>0]=1;return 0}function pP(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;e=b+536|0;d=(a[e>>0]|0)==0;a[e>>0]=d&1;if(d){d=c[b+448>>2]|0;e=c[b+452>>2]|0;i=+(d>>>0);g=+(e>>>0);f=i/+(d|0)<g/+(e|0);h[b+352>>3]=(f?i:g)/+((f?d:e)|0);e=b+336|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;a[b+537>>0]=1}return 0}function qP(b){b=b|0;var d=0,e=0;d=c[(c[b>>2]|0)+168>>2]|0;e=b+580|0;if(!(c[e>>2]|0)){c[e>>2]=d;e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]|2;GP(b,d)}dF(b,d);a[b+540>>0]=1;return}function rP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;k=l;l=l+16|0;f=k;switch(d|0){case 1:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];zP(b,f);FP(b);a[b+538>>0]=1;a[b+541>>0]=1;j=13;break}case 2:{a[b+538>>0]=1;a[b+541>>0]=2;j=13;break}case 3:{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];zP(b,f);a[b+538>>0]=1;a[b+541>>0]=3;j=13;break}case 4:{a[b+536>>0]=0;if(!(c[b+360>>2]|0)){f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i)+ +h[d>>3];g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;d=b+528|0}else{f=b+352|0;i=+h[f>>3];d=b+336|0;h[d>>3]=+h[d>>3]-(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i);g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;d=b+520|0}j=b+344|0;h[j>>3]=g*.10000000000000009/(+h[d>>3]*i)+ +h[j>>3];h[f>>3]=i*1.1;j=13;break}case 5:{a[b+536>>0]=0;j=b+352|0;i=+h[j>>3]*.9090909090909091;h[j>>3]=i;if(!(c[b+360>>2]|0)){f=b+336|0;h[f>>3]=+h[f>>3]-(+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+520>>3]*i);g=+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5;f=b+528|0}else{f=b+336|0;h[f>>3]=(+h[e+8>>3]-+((c[b+452>>2]|0)>>>0)*.5)*.10000000000000009/(+h[b+528>>3]*i)+ +h[f>>3];g=+h[e>>3]-+((c[b+448>>2]|0)>>>0)*.5;f=b+520|0}j=b+344|0;h[j>>3]=+h[j>>3]-g*.10000000000000009/(+h[f>>3]*i);j=13;break}default:{}}if((j|0)==13)a[b+537>>0]=1;b=b+560|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];l=k;return}function sP(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}function tP(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0;k=l;l=l+16|0;e=k;i=b+560|0;j=(+h[d>>3]-+h[i>>3])/+h[b+520>>3];g=(+h[d+8>>3]-+h[b+568>>3])/+h[b+528>>3];if(!(+B(+j)<.0001&+B(+g)<.0001)){switch(a[b+541>>0]|0){case 0:{c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];zP(b,e);break}case 2:{f=+h[b+352>>3];if(!(c[b+360>>2]|0)){e=b+336|0;h[e>>3]=+h[e>>3]-j/f;e=b+344|0;h[e>>3]=+h[e>>3]-g/f}else{e=b+336|0;h[e>>3]=+h[e>>3]-g/f;e=b+344|0;h[e>>3]=+h[e>>3]+j/f}a[b+537>>0]=1;break}default:{}}c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2]}l=k;return}function uP(a,b,c){a=a|0;b=b|0;c=c|0;return}function vP(a){a=a|0;return}function wP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[b>>2]|0;if(d){d=L1(d,135739)|0;if(d|0){i=TB(d,0)|0;s1(d)|0;f=5}}else{i=TB(c[15621]|0,0)|0;f=5}if((f|0)==5?i|0:0){g=j+168|0;d=c[g>>2]|0;if(d|0){f=c[j+172>>2]|0;if((f|0)!=0?(h=c[f+4>>2]|0,(h|0)!=0):0){tb[h&127](d);d=c[g>>2]|0}gH(d);$x(c[g>>2]|0)|0}Fz(i,0,134401,280,1);Fz(i,1,134365,304,1);Fz(i,2,134378,176,1);c[g>>2]=i;c[(c[i+16>>2]|0)+144>>2]=j;if((_C(j,i,e)|0)!=-1){c[b+580>>2]=0;c[b+576>>2]=0;a[b+537>>0]=1}}return}function xP(a,b){a=a|0;b=b|0;a=c[a>>2]|0;_C(a,c[a+168>>2]|0,b)|0;return}function yP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;f=g+160|0;e=c[f>>2]|0;if((e|0)!=0?(c[g+164>>2]|0)==0:0){i=g+192|0;h=c[i>>2]|0;c[f>>2]=0;c[i>>2]=0;f=h}else{f=0;e=0}aD(g,c[g+168>>2]|0,b,d)|0;if(e|0){i=c[a>>2]|0;c[i+160>>2]=e;c[i+192>>2]=f}return}function zP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0;f=l;l=l+80|0;e=f+48|0;g=f;m=f+32|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];AP(m,b,e);k=+h[m>>3];j=+h[m+8>>3];i=1.0/+h[b+352>>3];h[g+16>>3]=i+k;h[g+24>>3]=i+j;h[g>>3]=k-i;h[g+8>>3]=j-i;d=c[(c[b>>2]|0)+168>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];c[e+16>>2]=c[g+16>>2];c[e+20>>2]=c[g+20>>2];c[e+24>>2]=c[g+24>>2];c[e+28>>2]=c[g+28>>2];d=BP(d,e)|0;e=b+576|0;if((d|0)!=(c[e>>2]|0)){CP(b);c[e>>2]=d;DP(b);a[b+537>>0]=1}l=f;return}function AP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;if(!(c[b+360>>2]|0)){e=+h[b+352>>3];f=+h[d+8>>3];g=e;i=b+528|0;e=+h[d>>3]/(+h[b+520>>3]*e)-+h[b+504>>3]}else{e=+h[b+352>>3];f=-+h[d>>3];g=e;i=b+520|0;e=+h[d+8>>3]/(+h[b+528>>3]*e)-+h[b+504>>3]}g=f/(+h[i>>3]*g)-+h[b+512>>3];h[a>>3]=e;h[a+8>>3]=g;return}function BP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g;e=Sy(a)|0;a:while(1){if(!e){e=9;break}d=Ex(a,e)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((WM(d,f)|0)<<24>>24){e=6;break a}d=Gx(a,d)|0}e=Ty(a,e)|0}do if((e|0)!=6)if((e|0)==9){d=Uy(a)|0;while(1){if(!d)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];if((TM(d,f)|0)<<24>>24){e=12;break}d=Vy(a,d)|0}if((e|0)==12)break;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[f+20>>2]=c[b+20>>2];c[f+24>>2]=c[b+24>>2];c[f+28>>2]=c[b+28>>2];d=EP(a,f)|0;if(!d){d=a;break}else break}while(0);l=g;return d|0}function CP(b){b=b|0;var d=0;d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{d=(c[d+16>>2]|0)+112|0;a[d>>0]=a[d>>0]&-2;break a}case 1:{d=(c[d+16>>2]|0)+117|0;a[d>>0]=a[d>>0]&-2;break a}case 2:{d=(c[d+16>>2]|0)+115|0;a[d>>0]=a[d>>0]&-2;break a}default:break a}while(0);c[b+584>>2]=0;return}function DP(b){b=b|0;var d=0,e=0;e=b+584|0;d=c[e>>2]|0;if(d|0){D_(d);c[e>>2]=0}d=c[b+576>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{b=(c[d+16>>2]|0)+112|0;a[b>>0]=a[b>>0]|1;b=nx(d,0,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 1:{b=(c[d+16>>2]|0)+117|0;a[b>>0]=a[b>>0]|1;b=nx(ez(d)|0,1,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}case 2:{b=(c[d+16>>2]|0)+115|0;a[b>>0]=a[b>>0]|1;b=nx(ez(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0,2,138019,0)|0;if(!b)break a;c[e>>2]=pH(yx(d,b)|0,d)|0;break a}default:break a}while(0);return}function EP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+32|0;e=m;g=c[a+16>>2]|0;i=c[g+180>>2]|0;j=g+184|0;d=1;while(1){if((d|0)>(i|0)){k=4;break}f=c[(c[j>>2]|0)+(d<<2)>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];f=EP(f,e)|0;if(!f)d=d+1|0;else{a=f;break}}do if((k|0)==4){o=+h[g+24>>3];n=+h[g+40>>3];if(((+h[b+16>>3]>=+h[g+16>>3]?+h[g+32>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=o:0)?n>=+h[b+8>>3]:0)break;a=0}while(0);l=m;return a|0}function FP(b){b=b|0;var d=0,e=0,f=0;f=b+580|0;d=c[f>>2]|0;a:do if(d|0)switch(pz(d)|0){case 0:{e=(c[d+16>>2]|0)+112|0;a[e>>0]=a[e>>0]&-7|4;break a}case 1:{e=(c[d+16>>2]|0)+117|0;a[e>>0]=a[e>>0]&-7|4;break a}case 2:{e=(c[d+16>>2]|0)+115|0;a[e>>0]=a[e>>0]&-7|4;break a}default:break a}while(0);d=b+588|0;e=c[d>>2]|0;if(e|0){D_(e);c[d>>2]=0}d=c[b+576>>2]|0;c[f>>2]=d;b:do if(d|0)switch(pz(d)|0){case 0:{f=(c[d+16>>2]|0)+112|0;a[f>>0]=a[f>>0]|2;GP(b,d);break b}case 1:{f=(c[d+16>>2]|0)+117|0;a[f>>0]=a[f>>0]|2;HP(b,d);break b}case 2:{f=(c[d+16>>2]|0)+115|0;a[f>>0]=a[f>>0]|2;IP(b,d);break b}default:break b}while(0);return}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+592|0;do if((fz(b)|0)==(b|0))if(!(ey(b)|0)){rC(d,0,108412);break}else{rC(d,0,108404);break}else rC(d,0,108418);while(0);rC(d,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;d=0;e=2;while(1){d=sx(b,0,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e+1|0,yx(b,d)|0);rC(f,e+2|0,0);e=e+3|0}c[a+608>>2]=e;d=nx(b,0,137973,0)|0;if(!d){d=nx(b,0,108395,0)|0;if(d|0)g=11}else g=11;if((g|0)==11)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=a+592|0;rC(f,0,108399);rC(f,1,ry(b)|0);c[a+596>>2]=2;f=a+604|0;g=fz(ez(b)|0)|0;e=2;d=0;while(1){d=sx(g,1,d)|0;if(!d)break;rC(f,e,c[d+8>>2]|0);rC(f,e|1,yx(b,d)|0);e=e+2|0}c[a+608>>2]=e;d=nx(ez(b)|0,1,137973,0)|0;if(!d){d=nx(ez(b)|0,1,108395,0)|0;if(d|0)h=6}else h=6;if((h|0)==6)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function IP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;h=a+592|0;rC(h,0,108368);k=b+48|0;rC(h,1,ry(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0);k=(ey(ez(c[((c[b>>2]&3|0)==3?b:k)+40>>2]|0)|0)|0)!=0;rC(h,3,k?134656:138665);k=b+-48|0;rC(h,4,ry(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0);c[a+596>>2]=7;i=a+604|0;j=fz(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0)|0;g=7;d=0;a:while(1){while(1){d=sx(j,2,d)|0;if(!d)break a;e=d+8|0;f=c[e>>2]|0;if(!(b$(f,108373)|0)){l=5;break}if(!(b$(f,108382)|0)){l=7;break}if(b$(f,108391)|0)break;rC(h,6,yx(b,d)|0)}if((l|0)==5){l=0;rC(h,2,yx(b,d)|0)}else if((l|0)==7){l=0;rC(h,5,yx(b,d)|0)}rC(i,g,c[e>>2]|0);rC(i,g+1|0,yx(b,d)|0);g=g+2|0}c[a+608>>2]=g;d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,137973,0)|0;if(!d){d=nx(ez(c[((c[b>>2]&3|0)==2?b:k)+40>>2]|0)|0,2,108395,0)|0;if(d|0)l=13}else l=13;if((l|0)==13)c[a+588>>2]=pH(yx(b,d)|0,b)|0;return}function JP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=KP(a,b,c[d>>2]|0)|0;d=c[d+4>>2]|0;while(1){f=c[d+4>>2]|0;if(!f)break;b=0;while(1){e=c[f+(b*20|0)+4>>2]|0;if(!e)break;uC(a,c[d>>2]|0,e,c[f+(b*20|0)+8>>2]|0,g,f+(b*20|0)|0)|0;b=b+1|0}d=d+8|0}return}function KP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=vH(12)|0;if(!b)b=0;else b=n1(b)|0;c[e+4>>2]=b;c[e+8>>2]=n1(d)|0;d=a+100|0;c[e>>2]=c[d>>2];c[d>>2]=e;return e|0}function LP(b,c){b=b|0;c=c|0;MP(b);a[b+44>>0]=0;NP(b)|0;AL(b)|0;return}function MP(b){b=b|0;var d=0,e=0;d=c[b+32>>2]|0;a:do if(d|0)while(1){e=c[d>>2]|0;if(!e)break a;if((a[e>>0]|0)==103?P0(e,108427)|0:0)JP(b,0,c[d+4>>2]|0);d=d+8|0}while(0);return}function NP(a){a=a|0;var b=0;b=wC(a,2,108440)|0;if(!b)a=999;else{c[a+148>>2]=c[(c[b+16>>2]|0)+12>>2];a=300}return a|0}function OP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0?(e=c[a>>2]|0,(e|0)!=0):0)a=lb[e&127](b,d)|0;else a=0;return a|0}function PP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function QP(a){a=a|0;var b=0.0,d=0.0;a=c[a+16>>2]|0;d=+h[a+16>>3];b=+h[a+24>>3];return (RP(~~(d>b?d:b)>>>0)|0)+1|0}function RP(a){a=a|0;var b=0,c=0;if(!a)a=-1;else{c=a>>>0>65535;a=c?a>>>16:a;c=c?16:0;b=a>>>0>255;a=b?a>>>8:a;c=b?c|8:c;b=a>>>0>15;a=b?a>>>4:a;c=b?c|4:c;b=a>>>0>3;a=(b?c|2:c)+((b?a>>>2:a)>>>0>1&1)|0}return a|0}function SP(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;q=r;p=TP(b,d,e,f,g)|0;e=UP(p)|0;if((e|0)>=0){n=q+16|0;o=q+24|0;m=q+8|0;k=g+32|0;e=0;g=0;while(1){if((g|0)>=(d|0))break;f=b+(g*40|0)+32|0;do if(c[f>>2]|0){VP(q,p,b+(g*40|0)|0);i=+h[n>>3];j=+h[o>>3];if(!(c[q>>2]|0)){a[(c[f>>2]|0)+36>>0]=1;break}if(+h[m>>3]==0.0){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1;break}if((a[k>>0]|0)==1){f=c[f>>2]|0;h[f+16>>3]=i;h[f+24>>3]=j;a[f+36>>0]=1}else e=1}while(0);g=g+1|0}WP(p)}l=r;return e|0}function TP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=uH(28)|0;j=Cw(25808,c[4558]|0)|0;h=g+20|0;c[h>>2]=j;do if(j){j=CS()|0;c[g+24>>2]=j;if(!j){E1(108658,14,1,c[15686]|0)|0;i=6;break}else{c[g>>2]=a;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=e;c[g+16>>2]=f;break}}else{E1(108658,14,1,c[15686]|0)|0;i=6}while(0);if((i|0)==6){a=c[h>>2]|0;if(a|0)yw(a)|0;a=c[g+24>>2]|0;if(a|0)ES(a)|0;D_(g);g=0}return g|0}function UP(a){a=a|0;var b=0;b=dQ(a)|0;if((b|0)>=0){eQ(a);fQ(a);b=yw(c[a+20>>2]|0)|0}return b|0}function VP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0;M=l;l=l+464|0;J=M+416|0;L=M+400|0;G=M+384|0;m=M+352|0;n=M+320|0;o=M+288|0;p=M+256|0;r=M+224|0;s=M+192|0;t=M+160|0;u=M+128|0;v=M+96|0;x=M+64|0;y=M+32|0;H=M;z=c[d+32>>2]|0;e=+h[z>>3];C=d+16|0;A=(e*2.0+ +h[C>>3])*.125;D=z+8|0;I=d+24|0;i=+h[I>>3];K=(+h[D>>3]*2.0+i)*.5;if(!z)qa(108451,108461,445,108471);f=J;g=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));B=z+16|0;h[B>>3]=+h[d>>3]-e;E=d+8|0;F=z+24|0;h[F>>3]=i+ +h[E>>3];XP(m,b,d,J);j=c[m>>2]|0;f=c[m+4>>2]|0;e=+h[m+8>>3];m=m+16|0;c[L>>2]=c[m>>2];c[L+4>>2]=c[m+4>>2];c[L+8>>2]=c[m+8>>2];c[L+12>>2]=c[m+12>>2];a:do if(!j){c[a>>2]=0;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}else{h[F>>3]=+h[E>>3];XP(n,b,d,J);g=c[n>>2]|0;m=c[n+4>>2]|0;i=+h[n+8>>3];n=n+16|0;c[G>>2]=c[n>>2];c[G+4>>2]=c[n+4>>2];c[G+8>>2]=c[n+8>>2];c[G+12>>2]=c[n+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=m;e=i}else g=j;h[F>>3]=+h[E>>3]-+h[D>>3];XP(o,b,d,J);m=c[o>>2]|0;j=c[o+4>>2]|0;i=+h[o+8>>3];o=o+16|0;c[G>>2]=c[o>>2];c[G+4>>2]=c[o+4>>2];c[G+8>>2]=c[o+8>>2];c[G+12>>2]=c[o+12>>2];if(!m){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else m=g;h[B>>3]=+h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(p,b,d,J);g=c[p>>2]|0;j=c[p+4>>2]|0;i=+h[p+8>>3];p=p+16|0;c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(r,b,d,J);g=c[r>>2]|0;j=c[r+4>>2]|0;i=+h[r+8>>3];r=r+16|0;c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[B>>3]=+h[C>>3]+ +h[d>>3];h[F>>3]=+h[I>>3]+ +h[E>>3];XP(s,b,d,J);g=c[s>>2]|0;j=c[s+4>>2]|0;i=+h[s+8>>3];s=s+16|0;c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3];XP(t,b,d,J);g=c[t>>2]|0;j=c[t+4>>2]|0;i=+h[t+8>>3];t=t+16|0;c[G>>2]=c[t>>2];c[G+4>>2]=c[t+4>>2];c[G+8>>2]=c[t+8>>2];c[G+12>>2]=c[t+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=g;f=j;e=i}h[F>>3]=+h[E>>3]-+h[D>>3];XP(u,b,d,J);g=c[u>>2]|0;j=c[u+4>>2]|0;i=+h[u+8>>3];u=u+16|0;c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(!g){c[a>>2]=0;c[a+4>>2]=j;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break}if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];f=j;e=i}else g=m;j=(c[J+28>>2]|0)==0;do if(!(c[J+24>>2]|0))if(j){if(c[J+32>>2]|0){w=38;break}if(!((c[J+12>>2]|0)==0&(c[J>>2]|0)==0))w=38}else w=46;else if(j)w=38;else w=46;while(0);b:do if((w|0)==38)if(!(c[J+32>>2]|0)){h[B>>3]=+h[d>>3]-+h[z>>3];p=v+4|0;r=v+8|0;s=v+16|0;m=F;j=E;i=+h[I>>3];c:while(1){while(1){h[m>>3]=+h[j>>3]+i;if(!(+h[B>>3]<=+h[C>>3]+ +h[d>>3])){w=46;break b}XP(v,b,d,J);n=c[v>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break c;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}else w=46;while(0);d:do if((w|0)==46)if((c[J+12>>2]|0)==0&(c[J>>2]|0)==0){h[B>>3]=+h[d>>3]-+h[z>>3];k=+h[E>>3];n=x+4|0;o=x+8|0;p=x+16|0;i=k;k=+h[I>>3]+k;while(1){h[F>>3]=k;if(!(k>=i-+h[D>>3]))break d;XP(x,b,d,J);j=c[x>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}i=+h[E>>3];k=+h[F>>3]-K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);i=+h[d>>3];k=+h[C>>3]+i;h[B>>3]=k;q=+h[D>>3];h[F>>3]=+h[E>>3]-q;j=c[J+4>>2]|0;do if(!(c[J+8>>2]|0)){m=c[J>>2]|0;if(!((j|0)==0&(m|0)==0)){w=59;break}if(c[J+20>>2]|0){j=0;m=0;w=59;break}if(c[J+32>>2]|0){j=0;m=0;w=59}}else{m=c[J>>2]|0;w=59}while(0);e:do if((w|0)==59){f:do if((j|0)==0&(m|0)==0){h[B>>3]=k;p=y+4|0;r=y+8|0;s=y+16|0;m=F;j=E;i=q;g:while(1){while(1){h[m>>3]=+h[j>>3]-i;i=+h[d>>3];if(!(+h[B>>3]>=i-+h[z>>3]))break f;XP(y,b,d,J);n=c[y>>2]|0;o=c[p>>2]|0;k=+h[r>>3];c[G>>2]=c[s>>2];c[G+4>>2]=c[s+4>>2];c[G+8>>2]=c[s+8>>2];c[G+12>>2]=c[s+12>>2];if(!n)break g;if(k<e)break;else{m=B;j=B;i=A}}c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];m=B;j=B;i=A;g=n;f=o;e=k}c[a>>2]=0;c[a+4>>2]=o;h[a+8>>3]=k;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);if(c[J+20>>2]|0)break;if(c[J+32>>2]|0)break;h[B>>3]=+h[C>>3]+i;i=+h[E>>3];n=H+4|0;o=H+8|0;p=H+16|0;k=i;i=i-+h[D>>3];while(1){h[F>>3]=i;if(!(i<=+h[I>>3]+k))break e;XP(H,b,d,J);j=c[H>>2]|0;m=c[n>>2]|0;i=+h[o>>3];c[G>>2]=c[p>>2];c[G+4>>2]=c[p+4>>2];c[G+8>>2]=c[p+8>>2];c[G+12>>2]=c[p+12>>2];if(!j)break;if(i<e){c[L>>2]=c[G>>2];c[L+4>>2]=c[G+4>>2];c[L+8>>2]=c[G+8>>2];c[L+12>>2]=c[G+12>>2];g=j;f=m;e=i}k=+h[E>>3];i=+h[F>>3]+K}c[a>>2]=0;c[a+4>>2]=m;h[a+8>>3]=i;a=a+16|0;c[a>>2]=c[G>>2];c[a+4>>2]=c[G+4>>2];c[a+8>>2]=c[G+8>>2];c[a+12>>2]=c[G+12>>2];break a}while(0);c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;a=a+16|0;c[a>>2]=c[L>>2];c[a+4>>2]=c[L+4>>2];c[a+8>>2]=c[L+8>>2];c[a+12>>2]=c[L+12>>2]}while(0);l=M;return}function WP(a){a=a|0;ES(c[a+24>>2]|0)|0;D_(a);return}function XP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;s=t+16|0;p=t;g=c[e+32>>2]|0;if(!g)qa(108451,108461,382,108480);o=g+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];o=d+4|0;m=0;g=0;while(1){if((m|0)>=(c[o>>2]|0))break;j=c[d>>2]|0;k=j+(m*40|0)|0;do if((k|0)!=(e|0)){if(+h[j+(m*40|0)+16>>3]>0.0?+h[j+(m*40|0)+24>>3]>0.0:0)break;g=g+((YP(e,k)|0)!=0&1)|0}while(0);m=m+1|0}ZP(e,q);m=c[d+24>>2]|0;m=GS(m,c[m>>2]|0,q)|0;if(!m){c[b>>2]=g;h[b+8>>3]=0.0;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}else{k=m;i=0.0;while(1){if(!k)break;j=c[(c[k+4>>2]|0)+16>>2]|0;if((j|0)!=(e|0)){_P(j,s);n=+$P(q,s);if(n>0.0){g=g+1|0;i=+aQ(e,j,q,n,f)+i}d=c[j+32>>2]|0;if(((d|0)!=0?(a[d+36>>0]|0)!=0:0)?(ZP(j,s),r=+$P(q,s),r>0.0):0){g=g+1|0;i=+bQ(e,j,q,r,f)+i}}k=c[k>>2]|0}BS(m);c[b>>2]=g;h[b+8>>3]=i;s=b+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2]}l=t;return}function YP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0;a=c[a+32>>2]|0;if(+h[b+16>>3]==0.0?+h[b+24>>3]==0.0:0){if((((a|0)!=0?(d=+h[b>>3],e=+h[a+16>>3],d>e):0)?d<+h[a>>3]+e:0)?(f=+h[b+8>>3],g=+h[a+24>>3],f>g):0)a=f<+h[a+8>>3]+g&1;else a=0;return a|0}qa(108517,108461,219,108554);return 0}function ZP(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a+32>>2]|0;e=+h[a+16>>3];c[b>>2]=~~e;d=+h[a+24>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a>>3]+e);c[b+12>>2]=~~(+h[a+8>>3]+d);return}function _P(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;e=+h[a>>3];c[b>>2]=~~e;d=+h[a+8>>3];c[b+4>>2]=~~d;c[b+8>>2]=~~(+h[a+16>>3]+e);c[b+12>>2]=~~(+h[a+24>>3]+d);return}function $P(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=c[a+8>>2]|0;j=c[b>>2]|0;if((((i|0)>=(j|0)?(k=c[a>>2]|0,l=c[b+8>>2]|0,(k|0)<=(l|0)):0)?(e=c[a+12>>2]|0,f=c[b+4>>2]|0,(e|0)>=(f|0)):0)?(g=c[a+4>>2]|0,h=c[b+12>>2]|0,(g|0)<=(h|0)):0)d=(+(c[((e|0)<(h|0)?a:b)+12>>2]|0)-+(c[((g|0)>(f|0)?a:b)+4>>2]|0))*(+(c[((i|0)<(l|0)?a:b)+8>>2]|0)-+(c[((k|0)>(j|0)?a:b)>>2]|0));else d=0.0;return +d}function aQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function bQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;a=cQ(a,b)|0;f=f+(((a|0)<0?5:a)<<2)|0;a=c[f>>2]|0;if(!a){c[f>>2]=b;g=e}else{_P(a,i);g=+$P(d,i);g=g>e?g:0.0;a=c[f>>2]|0;if((c[a+32>>2]|0)!=0?(ZP(a,i),h=+$P(d,i),h>e):0)g=h>g?h:g;if(!(g>0.0)){c[f>>2]=b;g=e}}l=j;return +g}function cQ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+32>>2]|0;f=c[d+32>>2]|0;if((e|0)==(f|0))qa(108496,108461,276,108506);do if((a[e+36>>0]|0)!=0?(a[f+36>>0]|0)!=0:0){j=+h[b>>3];if(j==0.0?+h[b+8>>3]==0.0:0){e=-1;break}k=+h[d>>3];i=+h[d+8>>3];if(!(k==0.0&i==0.0)){g=+h[b+8>>3];if(i<g){if(k<j){e=0;break}e=k>j?2:1;break}e=k<j;if(i>g){if(e){e=6;break}e=k>j?8:7;break}if(!e)if(k>j)e=5;else e=-1;else e=3}else e=-1}else e=-1;while(0);return e|0}function dQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+24|0;e=k+16|0;f=k;g=QP(a)|0;h=a+4|0;i=e+4|0;j=a+20|0;b=0;while(1){if((b|0)>=(c[h>>2]|0)){b=0;break}m=uH(32)|0;o=(c[a>>2]|0)+(b*40|0)|0;n=m+12|0;c[m+28>>2]=o;gQ(f,o);c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];c[n+8>>2]=c[f+8>>2];c[n+12>>2]=c[f+12>>2];n=c[n>>2]|0;c[e>>2]=(((c[m+20>>2]|0)-n|0)/2|0)+n;n=c[m+16>>2]|0;c[i>>2]=(((c[m+24>>2]|0)-n|0)/2|0)+n;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[m+8>>2]=hQ(d,g)|0;n=c[j>>2]|0;if(!(nb[c[n>>2]&63](n,m,1)|0)){b=-1;break}else b=b+1|0}l=k;return b|0}function eQ(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;e=c[d>>2]|0;b=a+24|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a)break;e=c[b>>2]|0;HS(e,a+12|0,c[a+28>>2]|0,e,0)|0;e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}return}function fQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=a+20|0;f=Ew(c[e>>2]|0)|0;d=0;while(1){if(!(Ew(c[e>>2]|0)|0))break;g=c[e>>2]|0;a=c[(c[g+8>>2]|0)+4>>2]|0;if(!a){h=8;break}b=c[(c[g+4>>2]|0)+8>>2]|0;if((b|0)<0)a=c[a+8>>2]|0;else a=a+(0-b)|0;if(!a){h=8;break}nb[c[g>>2]&63](g,a,4096)|0;D_(a);d=d+1|0}if((h|0)==8)qa(108567,108461,616,108570);if((f|0)==(d|0))return;else qa(108582,108461,623,108570)}function gQ(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0.0;d=c[b+32>>2]|0;if(!d){e=0.0;f=0.0}else{e=+h[d>>3];f=+h[d+8>>3]}l=+h[b>>3];k=~~+A(+(l-e));g=+h[b+8>>3];j=~~+A(+(g-f));i=~~+N(+(l+e+ +h[b+16>>3]));if((i|0)==2147483647)qa(108594,108461,264,108621);d=~~+N(+(g+f+ +h[b+24>>3]));if((d|0)==2147483647)qa(108631,108461,266,108621);else{c[a>>2]=k;c[a+4>>2]=j;c[a+8>>2]=i;c[a+12>>2]=d;return}}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=0;e=c[a>>2]|0;d=c[a+4>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;i=e>>>a&1;b=d>>>a&1;g=b+-1|0;h=g&(e^d);g=g&0-i;f=i<<1|f<<2|i^b;b=a;e=h^e^g;d=h^d^g}return f|0}function iQ(b){b=b|0;var d=0,e=0,f=0,g=0;d=W_(b)|0;if(d>>>0>=(c[46595]|0)>>>0){d=d+11|0;c[46595]=d;d=xH(c[46596]|0,d)|0;c[46596]=d;if(!d)d=0;else e=4}else{d=c[46596]|0;e=4}if((e|0)==4){g=d;while(1){e=a[b>>0]|0;if(!(e<<24>>24))break;f=e&255;if(Q$(f)|0)e=(P$(f)|0)&255;a[g>>0]=e;g=g+1|0;b=b+1|0}a[g>>0]=0}return d|0}function jQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;F=l;l=l+144|0;s=F+96|0;p=F+80|0;v=F+124|0;t=F+72|0;w=F+64|0;x=F+56|0;C=F+48|0;D=F+40|0;E=F+32|0;y=F+24|0;z=F+16|0;A=F+8|0;B=F;i=F+120|0;m=F+116|0;n=F+112|0;o=F+108|0;c[e+32>>2]=f;r=b;while(1)if((a[r>>0]|0)==32)r=r+1|0;else break;c[o>>2]=255;b=a[r>>0]|0;a:do if(b<<24>>24==35){c[p>>2]=i;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;if((N1(r,108673,p)|0)<=2){b=a[r>>0]|0;q=12;break}switch(f|0){case 0:{G=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=G;g=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=g;j=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=j;k=+((c[o>>2]|0)>>>0)*.00392156862745098;kQ(G,g,j,t,w,x);h[e>>3]=+h[t>>3];h[e+8>>3]=+h[w>>3];h[e+16>>3]=+h[x>>3];h[e+24>>3]=k;b=0;break a}case 1:{a[e>>0]=c[i>>2];a[e+1>>0]=c[m>>2];a[e+2>>0]=c[n>>2];a[e+3>>0]=c[o>>2];b=0;break a}case 3:{j=+((c[i>>2]|0)>>>0)*.00392156862745098;h[C>>3]=j;k=+((c[m>>2]|0)>>>0)*.00392156862745098;h[D>>3]=k;G=+((c[n>>2]|0)>>>0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break a}case 2:{c[e>>2]=(((c[i>>2]|0)*65535|0)>>>0)/255|0;c[e+4>>2]=(((c[m>>2]|0)*65535|0)>>>0)/255|0;c[e+8>>2]=(((c[n>>2]|0)*65535|0)>>>0)/255|0;c[e+12>>2]=(((c[o>>2]|0)*65535|0)>>>0)/255|0;b=0;break a}case 4:{h[e>>3]=+((c[i>>2]|0)>>>0)*.00392156862745098;h[e+8>>3]=+((c[m>>2]|0)>>>0)*.00392156862745098;h[e+16>>3]=+((c[n>>2]|0)>>>0)*.00392156862745098;h[e+24>>3]=+((c[o>>2]|0)>>>0)*.00392156862745098;b=0;break a}default:{b=0;break a}}}else q=12;while(0);b:do if((q|0)==12){if(!(b<<24>>24!=46?((b&255)+-48|0)>>>0>=10:0)){b=W_(r)|0;if(b>>>0>=(c[46597]|0)>>>0){b=b+11|0;c[46597]=b;b=xH(c[46598]|0,b)|0;c[46598]=b;if(!b){b=-1;break}}else b=c[46598]|0;m=b;i=r;c:while(1){n=i+1|0;i=a[i>>0]|0;switch(i<<24>>24){case 0:break c;case 44:{i=32;break}default:{}}a[m>>0]=i;m=m+1|0;i=n}a[m>>0]=0;c[s>>2]=t;c[s+4>>2]=w;c[s+8>>2]=x;if((N1(b,108687,s)|0)==3){k=+h[t>>3];k=k<1.0?k:1.0;k=k>0.0?k:0.0;h[t>>3]=k;j=+h[w>>3];j=j<1.0?j:1.0;j=j>0.0?j:0.0;h[w>>3]=j;g=+h[x>>3];g=g<1.0?g:1.0;g=g>0.0?g:0.0;h[x>>3]=g;switch(f|0){case 0:{h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=g;h[e+24>>3]=1.0;b=0;break b}case 1:{mQ(k,j,g,C,D,E);a[e>>0]=~~(+h[C>>3]*255.0);a[e+1>>0]=~~(+h[D>>3]*255.0);a[e+2>>0]=~~(+h[E>>3]*255.0);a[e+3>>0]=-1;b=0;break b}case 3:{mQ(k,j,g,C,D,E);lQ(+h[C>>3],+h[D>>3],+h[E>>3],y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{mQ(k,j,g,C,D,E);c[e>>2]=~~(+h[C>>3]*65535.0);c[e+4>>2]=~~(+h[D>>3]*65535.0);c[e+8>>2]=~~(+h[E>>3]*65535.0);c[e+12>>2]=65535;b=0;break b}case 4:{mQ(k,j,g,C,D,E);h[e>>3]=+h[C>>3];h[e+8>>3]=+h[D>>3];h[e+16>>3]=+h[E>>3];h[e+24>>3]=1.0;b=0;break b}default:{b=0;break b}}}}i=nQ(r)|0;c[v>>2]=i;if(!i)b=-1;else{b=c[46599]|0;if(!(((b|0)!=0?(u=c[b>>2]|0,(a[u>>0]|0)==(a[i>>0]|0)):0)?(b$(u,i)|0)==0:0)){b=e2(v,25844,2491,12,101)|0;c[46599]=b;if(!b)switch(f|0){case 0:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}case 1:{a[e+2>>0]=0;a[e+1>>0]=0;a[e>>0]=0;a[e+3>>0]=-1;b=1;break b}case 3:{c[e>>2]=0;b=1;break b}case 2:{c[e+8>>2]=0;c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=65535;b=1;break b}case 4:{c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;h[e+24>>3]=1.0;b=1;break b}default:{b=1;break b}}}switch(f|0){case 0:{h[e>>3]=+(d[b+4>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+5>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+6>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}case 1:{a[e>>0]=a[b+7>>0]|0;a[e+1>>0]=a[b+8>>0]|0;a[e+2>>0]=a[b+9>>0]|0;a[e+3>>0]=a[b+10>>0]|0;b=0;break b}case 3:{j=+(d[b+7>>0]|0)*.00392156862745098;h[C>>3]=j;k=+(d[b+8>>0]|0)*.00392156862745098;h[D>>3]=k;G=+(d[b+9>>0]|0)*.00392156862745098;h[E>>3]=G;lQ(j,k,G,y,z,A,B);a[e>>0]=~~+h[y>>3]*255;a[e+1>>0]=~~+h[z>>3]*255;a[e+2>>0]=~~+h[A>>3]*255;a[e+3>>0]=~~+h[B>>3]*255;b=0;break b}case 2:{c[e>>2]=(d[b+7>>0]|0)*257;c[e+4>>2]=(d[b+8>>0]|0)*257;c[e+8>>2]=(d[b+9>>0]|0)*257;c[e+12>>2]=(d[b+10>>0]|0)*257;b=0;break b}case 4:{h[e>>3]=+(d[b+7>>0]|0)*.00392156862745098;h[e+8>>3]=+(d[b+8>>0]|0)*.00392156862745098;h[e+16>>3]=+(d[b+9>>0]|0)*.00392156862745098;h[e+24>>3]=+(d[b+10>>0]|0)*.00392156862745098;b=0;break b}default:{b=0;break b}}}}while(0);l=F;return b|0}function kQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;i=b<c?b:c;m=b>c?b:c;m=m<a?a:m;i=m-(i>a?a:i);g=i/m;if(m>0.0)if(g>0.0){j=(m-a)/i;k=(m-b)/i;l=(m-c)/i;do if(!(m==a)){if(m==b){a=j+2.0-l;break}if(m==c)a=k+4.0-j;else a=0.0}else a=(b-c)/i;while(0);a=a*60.0;if(a<0.0)a=a+360.0}else a=0.0;else{g=0.0;a=0.0}h[d>>3]=a*.002777777777777778;h[f>>3]=m;h[e>>3]=g;return}function lQ(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;h[d>>3]=1.0-a;h[e>>3]=1.0-b;h[f>>3]=1.0-c;b=+h[d>>3];c=+h[e>>3];c=b<c?b:c;h[g>>3]=c;b=+h[f>>3];c=b<c?b:c;h[g>>3]=c;h[d>>3]=+h[d>>3]-c;h[e>>3]=+h[e>>3]-+h[g>>3];h[f>>3]=+h[f>>3]-+h[g>>3];return}function mQ(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0.0,k=0,l=0;a:do if(!(b<=0.0)){i=!(a>=1.0)?a*6.0:0.0;l=~~i;i=i-+(l|0);a=(1.0-b)*c;j=(1.0-i*b)*c;b=(1.0-(1.0-i)*b)*c;switch(l|0){case 0:{g=a;i=b;a=c;k=8;break a}case 1:{g=a;i=c;a=j;k=8;break a}case 2:{g=b;i=c;k=8;break a}case 3:{g=c;i=j;k=8;break a}case 4:{g=c;i=a;a=b;k=8;break a}case 5:{g=j;i=a;a=c;k=8;break a}default:break a}}else{g=c;i=c;a=c;k=8}while(0);if((k|0)==8){h[d>>3]=a;h[e>>3]=i;h[f>>3]=g}return}function nQ(b){b=b|0;var d=0,e=0;d=a[b>>0]|0;if(((d<<24>>24!=98?(e=b+1|0,!(d<<24>>24==119|(z$(e,134184,4)|0)==0)):0)?!(d<<24>>24==108|(z$(e,134189,4)|0)==0):0)?(z$(e,134194,8)|0)!=0:0){do if(d<<24>>24==47){d=A$(e,47)|0;if(!d)b=e;else{if((a[e>>0]|0)!=47){e=(V$(134203,e,4)|0)==0;b=e?d+1|0:b;break}d=c[46600]|0;if((d|0?a[d>>0]|0:0)?V$(134203,d,3)|0:0){b=pQ(d,b+2|0)|0;break}b=b+2|0}}else{d=c[46600]|0;if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(V$(134203,d,3)|0)!=0:0)b=pQ(d,b)|0}while(0);b=iQ(b)|0}return b|0}function oQ(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function pQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=W_(a)|0;g=(W_(b)|0)+g|0;d=g+13|0;if((g+3|0)>>>0<(c[46601]|0)>>>0)d=c[46602]|0;else{c[46601]=d;d=xH(c[46602]|0,d)|0;c[46602]=d}c[e>>2]=a;c[e+4>>2]=b;Y0(d,134208,e)|0;l=f;return c[46602]|0}function qQ(a){a=a|0;c[46600]=a;return}function rQ(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var f=0,g=0;f=l;l=l+208|0;g=f;sQ(g,+h[a>>3],+h[a+8>>3],b,c,d,e);a=tQ(g)|0;l=f;return a|0}function sQ(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var i=0,j=0;h[a>>3]=b;h[a+8>>3]=c;j=a+16|0;h[j>>3]=d;i=a+24|0;h[i>>3]=e;h[a+32>>3]=0.0;c=+K(+(+F(+f)/e),+(+E(+f)/d));h[a+56>>3]=c;e=+K(+(+F(+g)/e),+(+E(+g)/d));h[a+40>>3]=1.0;h[a+48>>3]=0.0;e=e-+A(+((e-c)*.15915494309189535))*6.283185307179586;h[a+64>>3]=g-f>3.141592653589793&e-c<3.141592653589793?e+6.283185307179586:e;zQ(a);AQ(a);BQ(a);g=+h[j>>3];g=(g-+h[i>>3])/g;h[a+168>>3]=g;h[a+176>>3]=(2.0-g)*g;g=1.0-g;h[a+184>>3]=g;h[a+192>>3]=g*g;return}function tQ(a){a=a|0;var b=0,c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=uH(8)|0;f=+h[a+56>>3];e=+h[a+64>>3]-f;p=1;b=0;while(1){o=e/+(p|0);if(!(b<<24>>24==0&(p|0)<1024))break;a:do if(!(o<=1.5707963267948966))b=0;else{c=f;d=0;b=1;while(1){if(!(b<<24>>24!=0&(d|0)<(p|0)))break a;n=c+o;b=+uQ(a,c,n)<=1.0e-05&1;c=n;d=d+1|0}}while(0);p=p<<1}i=+E(+f);u=+F(+f);d=a+16|0;s=+h[d>>3];v=s*i;j=a+24|0;c=+h[j>>3];g=c*u;i=c*i;c=+h[a>>3];k=a+40|0;t=+h[k>>3];l=a+48|0;r=+h[l>>3];e=t*v+c-r*g;m=a+8|0;n=+h[m>>3];g=r*v+t*g+n;s=-(u*s);vQ(q,c,n);wQ(q,e,g);n=+G(+(o*.5));n=+F(+o)*.3333333333333333*(+C(+(n*n*3.0+4.0))+-1.0);c=f;f=g;g=r*s+t*i;i=t*s-r*i;b=0;while(1){if((b|0)>=(p|0))break;r=c+o;u=+E(+r);v=+F(+r);x=+h[d>>3];z=x*u;w=+h[j>>3];t=w*v;u=w*u;w=+h[k>>3];y=+h[l>>3];s=w*z+ +h[a>>3]-y*t;t=y*z+w*t+ +h[m>>3];x=-(v*x);v=w*x-y*u;u=y*x+w*u;xQ(q,e+i*n,f+g*n,s-v*n,t-u*n,s,t);c=r;e=s;f=t;g=u;i=v;b=b+1|0}yQ(q);return q|0}function uQ(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;d=c+b;i=+h[a+16>>3];e=+h[a+24>>3]/i;g=+E(+d);f=+E(+(d*2.0));d=+E(+(d*3.0));a=e<.25?10392:10648;return +(((e*.001+4.98)*e+.207)/(e+.0067)*i*+L(+(((+h[a+32>>3]*e+ +h[a+40>>3])*e+ +h[a+48>>3])/(+h[a+56>>3]+e)*g+((+h[a>>3]*e+ +h[a+8>>3])*e+ +h[a+16>>3])/(+h[a+24>>3]+e)+((+h[a+64>>3]*e+ +h[a+72>>3])*e+ +h[a+80>>3])/(+h[a+88>>3]+e)*f+((+h[a+96>>3]*e+ +h[a+104>>3])*e+ +h[a+112>>3])/(+h[a+120>>3]+e)*d+(((+h[a+160>>3]*e+ +h[a+168>>3])*e+ +h[a+176>>3])/(+h[a+184>>3]+e)*g+((+h[a+128>>3]*e+ +h[a+136>>3])*e+ +h[a+144>>3])/(+h[a+152>>3]+e)+((+h[a+192>>3]*e+ +h[a+200>>3])*e+ +h[a+208>>3])/(+h[a+216>>3]+e)*f+((+h[a+224>>3]*e+ +h[a+232>>3])*e+ +h[a+240>>3])/(+h[a+248>>3]+e)*d)*(c-b))))}function vQ(a,b,d){a=a|0;b=+b;d=+d;var e=0;c[46603]=100;e=uH(1600)|0;c[a>>2]=e;h[e>>3]=b;h[e+8>>3]=d;c[a+4>>2]=1;return}function wQ(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;f=c[a>>2]|0;e=(c[a+4>>2]|0)+-1|0;xQ(a,+h[f+(e<<4)>>3],+h[f+(e<<4)+8>>3],b,d,b,d);return}function xQ(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k=0,l=0,m=0;l=a+4|0;j=c[l>>2]|0;k=c[46603]|0;if((j+3|0)<(k|0))a=c[a>>2]|0;else{c[46603]=k<<1;j=F_(c[a>>2]|0,k<<5)|0;c[a>>2]=j;a=j;j=c[l>>2]|0}h[a+(j<<4)>>3]=b;m=j+1|0;h[a+(j<<4)+8>>3]=d;h[a+(m<<4)>>3]=e;k=j+2|0;h[a+(m<<4)+8>>3]=f;h[a+(k<<4)>>3]=g;c[l>>2]=j+3;h[a+(k<<4)+8>>3]=i;return}function yQ(a){a=a|0;var b=0;b=c[a>>2]|0;wQ(a,+h[b>>3],+h[b+8>>3]);c[a>>2]=F_(c[a>>2]|0,c[a+4>>2]<<4)|0;c[46603]=0;return}function zQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0;d=+h[a+16>>3];b=+h[a+24>>3];b=+C(+(d*d-b*b));d=b*+h[a+40>>3];b=b*+h[a+48>>3];e=+h[a>>3];h[a+104>>3]=e-d;c=+h[a+8>>3];h[a+112>>3]=c-b;h[a+120>>3]=e+d;h[a+128>>3]=c+b;return}function AQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;d=+h[a+16>>3];i=+h[a+56>>3];j=+E(+i)*d;b=+h[a+24>>3];i=+F(+i)*b;g=+h[a+64>>3];d=+E(+g)*d;b=+F(+g)*b;g=+h[a>>3];c=+h[a+40>>3];e=+h[a+48>>3];h[a+72>>3]=c*j+g-e*i;f=+h[a+8>>3];h[a+80>>3]=e*j+f+c*i;h[a+88>>3]=g+c*d-e*b;h[a+96>>3]=f+e*d+c*b;return}function BQ(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0;k=+h[a+24>>3];l=+h[a+16>>3];e=k/l;m=+h[a+48>>3];n=+B(+m)<.1;j=+h[a+40>>3];do if(n){b=m/j;c=+J(+(b*e));d=-c;if(j<0.0){b=+J(+(b/e));e=d;d=3.141592653589793-c;c=4.71238898038469-b;b=1.5707963267948966-b;break}else{b=+J(+(b/e));e=-3.141592653589793-c;c=1.5707963267948966-b;b=-1.5707963267948966-b;break}}else{b=j/m;c=+J(+(b/e));d=c+1.5707963267948966;if(m<0.0){b=+J(+(b*e));e=c+-1.5707963267948966;c=b+3.141592653589793;break}else{b=+J(+(b*e));e=d;d=c+4.71238898038469;c=b;b=b+-3.141592653589793;break}}while(0);g=+h[a+56>>3];e=e-+A(+((e-g)*.15915494309189535))*6.283185307179586;b=b-+A(+((b-g)*.15915494309189535))*6.283185307179586;f=d-+A(+((d-g)*.15915494309189535))*6.283185307179586;g=c-+A(+((c-g)*.15915494309189535))*6.283185307179586;i=+h[a+64>>3];if(!(e<=i)){e=+h[a+72>>3];c=+h[a+88>>3];c=e<c?e:c}else c=+E(+e)*l*j+ +h[a>>3]-k*+F(+e)*m;h[a+136>>3]=c;if(!(b<=i)){e=+h[a+80>>3];d=+h[a+96>>3];d=e<d?e:d}else d=+E(+b)*l*m+ +h[a+8>>3]+ +F(+b)*k*j;h[a+144>>3]=d;if(!(f<=i)){f=+h[a+72>>3];b=+h[a+88>>3];b=f>b?f:b}else b=+E(+f)*l*j+ +h[a>>3]-k*+F(+f)*m;h[a+152>>3]=b-c;if(!(g<=i)){m=+h[a+80>>3];b=+h[a+96>>3];b=m>b?m:b}else b=+E(+g)*l*m+ +h[a+8>>3]+ +F(+g)*k*j;h[a+160>>3]=b-d;return}function CQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+80|0;m=n;DQ(b);k=+h[e+56>>3];g=+h[e+64>>3];switch(a[e+80>>0]|0){case 116:{g=(+h[e+48>>3]-+EQ(d))*.5+g;f=4;break}case 98:{g=g-(+h[e+48>>3]-+EQ(d))*.5;f=4;break}default:{}}if((f|0)==4)g=g+-1.0;h[m>>3]=k;h[m+8>>3]=g;c[m+20>>2]=c[e+8>>2];c[m+16>>2]=c[e+4>>2];h[m+32>>3]=+h[e+16>>3];j=b+16|0;f=xx(c[(c[j>>2]|0)+8>>2]|0,134215)|0;e=m+56|0;c[e>>2]=f;i=m+60|0;c[i>>2]=c[(c[j>>2]|0)+212>>2];j=m+64|0;a[j>>0]=0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))c[e>>2]=134226;if((a[d+4>>0]|0)==1){e=c[d>>2]|0;YO(b,c[(c[b>>2]|0)+336>>2]|0);f=c[e+24>>2]|0;if(!f)UO(b,134232);else UO(b,f);GQ(b,e,m);if(a[j>>0]|0)D_(c[i>>2]|0)}else FQ(b,c[d>>2]|0,m);HQ(b);l=n;return}function DQ(a){a=a|0;var d=0,e=0,f=0;d=NE(a)|0;e=c[d>>2]|0;a=c[e+4>>2]|0;c[d+4>>2]=a;c[d+12>>2]=c[e+12>>2];switch(a|0){case 2:{a=e+8|0;f=6;break}case 0:{a=e+8|0;f=6;break}case 1:{a=e+8|0;f=6;break}case 3:{a=e+8|0;f=6;break}default:{}}if((f|0)==6)c[d+8>>2]=c[a>>2];c[d+208>>2]=c[e+208>>2];c[d+228>>2]=c[e+228>>2];c[d+244>>2]=c[e+244>>2];f=d+260|0;b[f>>1]=b[f>>1]&-2|b[e+260>>1]&1;return}function EQ(b){b=b|0;var d=0.0,e=0,f=0;switch(a[b+4>>0]|0){case 1:{e=c[b>>2]|0;b=e+72|0;e=e+56|0;f=5;break}case 3:{e=c[b>>2]|0;b=e+24|0;e=e+8|0;f=5;break}case 2:{e=c[b>>2]|0;b=e+32|0;e=e+16|0;f=5;break}default:d=0.0}if((f|0)==5)d=+h[b>>3]-+h[e>>3];return +d}function FQ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+96|0;j=n+64|0;i=n+32|0;g=n+16|0;k=n;m=b[e+4>>1]|0;if(m<<16>>16>=1){r=e+8|0;p=+h[e+24>>3];o=+h[r>>3];h[k>>3]=(o+p)*.5+ +h[f>>3];h[k+8>>3]=(+h[e+16>>3]+ +h[e+32>>3])*.5+ +h[f+8>>3];q=c[e>>2]|0;s=f+16|0;f=a[e+6>>0]|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[i+16>>2]=c[s+16>>2];c[i+20>>2]=c[s+20>>2];c[i+24>>2]=c[s+24>>2];c[i+28>>2]=c[s+28>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];c[j+16>>2]=c[r+16>>2];c[j+20>>2]=c[r+20>>2];c[j+24>>2]=c[r+24>>2];c[j+28>>2]=c[r+28>>2];TQ(d,m<<16>>16,q,g,(p-o)*.5,i,j,f)}l=n;return}function GQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+176|0;t=y+96|0;v=y+64|0;w=y+136|0;p=y;q=y+128|0;r=f+48|0;c[v>>2]=c[r>>2];c[v+4>>2]=c[r+4>>2];c[v+8>>2]=c[r+8>>2];c[v+12>>2]=c[r+12>>2];c[v+16>>2]=c[r+16>>2];c[v+20>>2]=c[r+20>>2];c[v+24>>2]=c[r+24>>2];c[v+28>>2]=c[r+28>>2];m=+h[g>>3];n=+h[g+8>>3];r=f+84|0;i=c[r>>2]|0;if(!(c[f>>2]|0))x=(c[f+8>>2]|0)!=0;else x=1;u=f+108|0;j=c[u>>2]|0;if(j|0)IQ(g,j,183464);h[v>>3]=+h[v>>3]+m;s=v+16|0;h[s>>3]=+h[s>>3]+m;s=v+8|0;h[s>>3]=+h[s>>3]+n;s=v+24|0;h[s>>3]=+h[s>>3]+n;if(x?(c[e+152>>2]&4|0)==0:0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];s=JQ(e,g,f,t,w)|0}else s=0;o=f+42|0;j=b[o>>1]|0;if(!(j&32)){k=c[f+20>>2]|0;if(k){j=KQ(e,k,c[f+28>>2]|0,j&65535,q)|0;if(!(b[o>>1]&4)){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];$O(e,t,j)}else{o=d[f+33>>0]|0;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];EJ(e,LQ(p,t,o)|0,4,4,j)}D_(c[q>>2]|0)}while(1){j=c[i>>2]|0;if(!j)break;MQ(e,j,g);i=i+4|0}i=c[r>>2]|0;fP(e,1.0);j=f+24|0;while(1){k=i+4|0;i=c[i>>2]|0;if(!i)break;if(!(a[i+100>>0]|0)){i=k;continue}NQ(e,i,g,c[j>>2]|0,c[k>>2]|0);i=k}if(a[f+33>>0]|0){c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];c[t+16>>2]=c[v+16>>2];c[t+20>>2]=c[v+20>>2];c[t+24>>2]=c[v+24>>2];c[t+28>>2]=c[v+28>>2];OQ(e,f,t)}}if(s|0)PQ(e,w);if((x?c[e+152>>2]&4|0:0)?(c[t>>2]=c[v>>2],c[t+4>>2]=c[v+4>>2],c[t+8>>2]=c[v+8>>2],c[t+12>>2]=c[v+12>>2],c[t+16>>2]=c[v+16>>2],c[t+20>>2]=c[v+20>>2],c[t+24>>2]=c[v+24>>2],c[t+28>>2]=c[v+28>>2],JQ(e,g,f,t,w)|0):0)PQ(e,w);if(c[u>>2]|0)QQ(g,183464);l=y;return}function HQ(a){a=a|0;var b=0;b=c[a+16>>2]|0;c[b+208>>2]=0;c[b+228>>2]=0;c[b+244>>2]=0;c[b+212>>2]=0;OE(a);return}function IQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;i=a+16|0;f=c[i>>2]|0;if(f|0){if(!(c[b>>2]|0)){f=0;g=d}else{c[d>>2]=f;f=c[b>>2]|0;g=i}c[g>>2]=f}f=c[a+20>>2]|0;if(f|0){g=b+4|0;if(!(c[g>>2]|0)){f=0;g=d}else{c[d+4>>2]=f;f=c[g>>2]|0;g=i}c[g+4>>2]=f}e=+h[a+32>>3];if(e>=0.0){f=b+16|0;if(!(+h[f>>3]>=0.0))e=-1.0;else{h[d+16>>3]=e;e=+h[f>>3];d=i}h[d+16>>3]=e}return}function JQ(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+224|0;n=u+8|0;k=u;t=u+40|0;j=u+184|0;i=u+56|0;m=c[d+16>>2]|0;o=m+208|0;c[h>>2]=c[o>>2];p=m+228|0;c[h+4>>2]=c[p>>2];q=m+244|0;c[h+8>>2]=c[q>>2];r=m+212|0;c[h+12>>2]=c[r>>2];s=m+260|0;a[h+16>>0]=(b[s>>1]<<15&65535)<<16>>16>>15;h=c[f+16>>2]|0;if((h|0)!=0?(a[h>>0]|0)!=0:0)i=0;else{Tw(t,128,i);i=e+60|0;h=c[i>>2]|0;if(!h){h=n1(QE(d,c[m+8>>2]|0,t)|0)|0;c[i>>2]=h;a[e+64>>0]=1}Ww(t,h)|0;i=c[46604]|0;c[46604]=i+1;c[k>>2]=i;Y0(j,134309,k)|0;Ww(t,j)|0;i=t+4|0;h=c[i>>2]|0;if(h>>>0>=(c[t+8>>2]|0)>>>0){Uw(t,1)|0;h=c[i>>2]|0}a[h>>0]=0;h=c[t>>2]|0;c[i>>2]=h;i=1}h=PE(d,0,c[f>>2]|0,c[f+12>>2]|0,c[f+8>>2]|0,h,c[m+8>>2]|0)|0;if(i)Xw(t);do if(h|0){if((c[o>>2]|0)==0?(b[s>>1]&1)==0:0)break;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];c[n+16>>2]=c[g+16>>2];c[n+20>>2]=c[g+20>>2];c[n+24>>2]=c[g+24>>2];c[n+28>>2]=c[g+28>>2];XE(d,n);PO(d,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0)}while(0);l=u;return h|0}function KQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0;j=l;l=l+16|0;i=j;if(!((uG(b,f,i)|0)<<24>>24)){WO(a,b);b=1}else{WO(a,c[f>>2]|0);b=c[f+4>>2]|0;h=+g[i>>2];if(!b)XO(a,134232,d,h);else XO(a,b,d,h);b=e>>>1&1|2}UO(a,134297);l=j;return b|0}function LQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];e=a+32|0;b=b+16|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];if((d|0)>1){j=+(d|0)*.5;i=+h[a>>3]+j;h[a>>3]=i;d=a+8|0;g=+h[d>>3]+j;h[d>>3]=g;f=+h[e>>3]-j;h[e>>3]=f;e=a+40|0;j=+h[e>>3]-j;h[e>>3]=j}else{f=+h[e>>3];g=+h[a+8>>3];i=+h[a>>3];j=+h[a+40>>3]}h[a+16>>3]=f;h[a+24>>3]=g;h[a+48>>3]=i;h[a+56>>3]=j;return a|0}function MQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+176|0;r=v+96|0;s=v+136|0;t=v+64|0;p=v;q=v+128|0;u=f+48|0;c[t>>2]=c[u>>2];c[t+4>>2]=c[u+4>>2];c[t+8>>2]=c[u+8>>2];c[t+12>>2]=c[u+12>>2];c[t+16>>2]=c[u+16>>2];c[t+20>>2]=c[u+20>>2];c[t+24>>2]=c[u+24>>2];c[t+28>>2]=c[u+28>>2];j=+h[g>>3];k=+h[g+8>>3];if(!(c[f>>2]|0))u=(c[f+8>>2]|0)!=0;else u=1;h[t>>3]=+h[t>>3]+j;o=t+16|0;h[o>>3]=+h[o>>3]+j;o=t+8|0;h[o>>3]=+h[o>>3]+k;o=t+24|0;h[o>>3]=+h[o>>3]+k;if(u?(c[e+152>>2]&4|0)==0:0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];o=JQ(e,g,f,r,s)|0}else o=0;n=f+42|0;i=b[n>>1]|0;a:do if(!(i&32)){m=c[f+20>>2]|0;if(m|0){i=KQ(e,m,c[f+28>>2]|0,i&65535,q)|0;if(!(b[n>>1]&4)){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];$O(e,r,i)}else{n=d[f+33>>0]|0;c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];EJ(e,LQ(p,r,n)|0,4,4,i)}D_(c[q>>2]|0)}if(a[f+33>>0]|0){c[r>>2]=c[t>>2];c[r+4>>2]=c[t+4>>2];c[r+8>>2]=c[t+8>>2];c[r+12>>2]=c[t+12>>2];c[r+16>>2]=c[t+16>>2];c[r+20>>2]=c[t+20>>2];c[r+24>>2]=c[t+24>>2];c[r+28>>2]=c[t+28>>2];OQ(e,f,r)}i=f+88|0;switch(a[f+92>>0]|0){case 1:{GQ(e,c[i>>2]|0,g);break a}case 3:{SQ(e,c[i>>2]|0,g);break a}default:{FQ(e,c[i>>2]|0,g);break a}}}while(0);if(o|0)PQ(e,s);if((u?c[e+152>>2]&4|0:0)?(c[r>>2]=c[t>>2],c[r+4>>2]=c[t+4>>2],c[r+8>>2]=c[t+8>>2],c[r+12>>2]=c[t+12>>2],c[r+16>>2]=c[t+16>>2],c[r+20>>2]=c[t+20>>2],c[r+24>>2]=c[t+24>>2],c[r+28>>2]=c[t+28>>2],JQ(e,g,f,r,s)|0):0)PQ(e,s);l=v;return}function NQ(f,g,i,j,k){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+32|0;y=A+16|0;z=A;r=+h[i>>3];x=+h[i+8>>3];q=(j|0)==0?134232:j;WO(f,q);UO(f,q);t=+h[g+48>>3];o=+h[g+56>>3];u=+h[g+64>>3];p=+h[g+72>>3];s=t+r;r=u+r;x=o+x;q=g+100|0;i=a[q>>0]|0;if((i&1)!=0?(n=c[g+96>>2]|0,((e[g+80>>1]|0)+(e[g+84>>1]|0)|0)<(c[n+104>>2]|0)):0){i=b[g+86>>1]|0;do if(i<<16>>16)if(((e[g+82>>1]|0)+(i&65535)|0)==(c[n+100>>2]|0)){B=a[n+32>>0]|0;C=(B<<24>>24)/2|0;j=(C<<24>>24)+(d[n+33>>0]|0)|0;i=j;j=j&255;m=x-+(C<<24>>24);n=B;break}else{n=a[n+32>>0]|0;i=0;j=((n<<24>>24)/2|0)<<24>>24;m=x;break}else{C=a[n+32>>0]|0;j=((C<<24>>24)/2|0)<<24>>24;i=j+(d[n+33>>0]|0)|0;m=x;n=C}while(0);h[z+8>>3]=m-+(j|0);h[z>>3]=r+ +(((n<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];RQ(f,y,0.0,p-o+ +(i&255|0)+ +(n<<24>>24));i=a[q>>0]|0}if(i&2?(v=b[g+86>>1]|0,w=c[g+96>>2]|0,((e[g+82>>1]|0)+(v&65535)|0)<(c[w+100>>2]|0)):0){i=b[g+84>>1]|0;do if(!(i<<16>>16)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;n=(C<<24>>24)+(d[w+33>>0]|0)|0;j=n&255;n=n&255;m=+(C<<24>>24);h[z>>3]=s-m-+(n|0);if((c[w+104>>2]|0)==(e[g+80>>1]|0)){j=n<<1&255;break}if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+(j&255)-u+ +h[w+64>>3]-m)&255}else{if(((e[g+80>>1]|0)+(i&65535)|0)==(c[w+104>>2]|0)){i=a[w+32>>0]|0;C=(i<<24>>24)/2|0;j=(C&255)+(d[w+33>>0]|0)&255;h[z>>3]=s-+(C<<24>>24);break}i=a[w+32>>0]|0;m=+(((i<<24>>24)/2|0)<<24>>24);h[z>>3]=s-m;if((k|0)!=0?(b[k+86>>1]|0)!=v<<16>>16:0)j=~~(+h[w+64>>3]-u-m)&255;else j=0}while(0);h[z+8>>3]=x-+(((i<<24>>24)/2|0)<<24>>24);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];RQ(f,y,u-t+ +(j&255)+ +(i<<24>>24),0.0)}l=A;return}function OQ(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+160|0;o=p+112|0;n=p;j=p+144|0;m=c[f+24>>2]|0;UO(e,(m|0)==0?134232:m);m=f+42|0;i=b[m>>1]|0;if(!(i&384))YO(e,c[(c[e>>2]|0)+336>>2]|0);else{c[j+4>>2]=0;c[j>>2]=0;i=i&65535;if(!(i&256)){if(i&128|0){i=134238;k=4}}else{i=134245;k=4}if((k|0)==4)c[j>>2]=i;YO(e,j)}k=f+33|0;fP(e,+(d[k>>0]|0));a:do if(!(b[m>>1]&4)){i=b[f+36>>1]&15360;if(!(i<<16>>16)){i=a[k>>0]|0;if((i&255)>1){q=+(i&255)*.5;h[g>>3]=+h[g>>3]+q;n=g+8|0;h[n>>3]=+h[n>>3]+q;n=g+16|0;h[n>>3]=+h[n>>3]-q;n=g+24|0;h[n>>3]=+h[n>>3]-q};c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];$O(e,o,0);break}j=n+16|0;m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];LQ(j,o,m)|0;do switch(((i&65535)+-1024|0)>>>10&4194303|0){case 7:{bP(e,j,2);break a}case 3:{bP(e,n+32|0,2);break a}case 1:{bP(e,n+48|0,2);break a}case 0:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);break a}case 11:{bP(e,j,3);break a}case 5:{bP(e,n+32|0,3);break a}case 2:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+48|0,3);break a}case 8:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,3);break a}case 13:{bP(e,j,4);break a}case 6:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];bP(e,n+32|0,4);break a}case 10:{g=n+80|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];g=n+96|0;o=n+32|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];bP(e,n+48|0,4);break a}case 12:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,4);break a}case 9:{bP(e,j,2);bP(e,n+48|0,2);break a}case 4:{g=n+64|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];bP(e,n,2);bP(e,n+32|0,2);break a}default:break a}while(0)}else{m=d[k>>0]|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[o+16>>2]=c[g+16>>2];c[o+20>>2]=c[g+20>>2];c[o+24>>2]=c[g+24>>2];c[o+28>>2]=c[g+28>>2];EJ(e,LQ(n,o,m)|0,4,4,0)}while(0);l=p;return}function PQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=c[d+16>>2]|0;f=h+208|0;if((c[f>>2]|0)==0?(b[h+260>>1]&1)==0:0)d=0;else{QO(d);d=c[f>>2]|0}if((d|0)!=(c[e>>2]|0)){D_(d);c[f>>2]=c[e>>2]}d=h+228|0;f=c[d>>2]|0;g=e+4|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+244|0;f=c[d>>2]|0;g=e+8|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}d=h+212|0;f=c[d>>2]|0;g=e+12|0;if((f|0)!=(c[g>>2]|0)){D_(f);c[d>>2]=c[g>>2]}h=h+260|0;b[h>>1]=b[h>>1]&-2|a[e+16>>0]&1;return}function QQ(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(e|0)c[a+16>>2]=e;e=c[b+4>>2]|0;if(e|0)c[a+20>>2]=e;d=+h[b+16>>3];if(d>=0.0)h[a+32>>3]=d;return}function RQ(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0;f=l;l=l+64|0;g=f+32|0;i=f;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=+h[b>>3]+d;h[i+24>>3]=+h[b+8>>3]+e;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];c[g+20>>2]=c[i+20>>2];c[g+24>>2]=c[i+24>>2];c[g+28>>2]=c[i+28>>2];$O(a,g,1);l=f;return}function SQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0;i=l;l=l+64|0;g=i;k=+h[e>>3];n=k+ +h[d>>3];m=+h[e+8>>3];j=m+ +h[d+8>>3];k=k+ +h[d+16>>3];m=m+ +h[d+24>>3];h[g>>3]=k;h[g+8>>3]=m;h[g+32>>3]=n;h[g+40>>3]=j;h[g+16>>3]=n;h[g+24>>3]=m;h[g+48>>3]=k;h[g+56>>3]=j;f=c[d+36>>2]|0;if(!f)f=c[e+56>>2]|0;e=c[d+32>>2]|0;if(!e)qa(134252,134260,623,134272);if(!(a[e>>0]|0))qa(134286,134260,624,134272);else{dP(b,e,g,4,1,f);l=i;return}}function TQ(d,e,f,g,i,j,k,m){d=d|0;e=e|0;f=f|0;g=g|0;i=+i;j=j|0;k=k|0;m=m|0;var n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;K=R+104|0;O=R+48|0;P=R+16|0;L=R;J=L;c[J>>2]=0;c[J+4>>2]=0;M=+h[g>>3];N=M-i;I=M+i;J=L+8|0;h[J>>3]=(+h[k+24>>3]-+h[k+8>>3])*.5+ +h[g+8>>3];RO(d,1);D=P+16|0;E=P+4|0;F=P+24|0;G=O+4|0;H=O+16|0;s=(m|0)==0;t=O+24|0;u=O+8|0;v=O+32|0;w=O+40|0;x=O+48|0;y=j+16|0;z=j+4|0;A=P+8|0;q=0;while(1){if((q|0)>=(e|0))break;switch(a[f+(q*24|0)+6>>0]|0){case 108:{i=N;break}case 114:{i=I-+h[f+(q*24|0)+8>>3];break}default:i=M-+h[f+(q*24|0)+8>>3]*.5}h[g>>3]=i;B=f+(q*24|0)+16|0;h[J>>3]=+h[J>>3]-+h[B>>3];C=f+(q*24|0)+4|0;p=c[f+(q*24|0)>>2]|0;r=0;while(1){if((r|0)>=(b[C>>1]|0))break;o=p+4|0;m=c[o>>2]|0;if(m){h[D>>3]=+h[(+h[m+16>>3]>0.0?m:j)+16>>3];c[P>>2]=c[((c[m>>2]|0)==0?j:m)>>2];k=c[((c[m+4>>2]|0)==0?j:m)+4>>2]|0;c[E>>2]=k;m=c[m+24>>2]&127;if(!m)Q=12;else m=c[F>>2]&-128|m}else{h[D>>3]=+h[y>>3];c[P>>2]=c[j>>2];k=c[z>>2]|0;c[E>>2]=k;Q=12}if((Q|0)==12){Q=0;m=c[F>>2]&-128}c[F>>2]=m;UO(d,k);c[O>>2]=c[p>>2];c[G>>2]=P;h[H>>3]=+h[p+16>>3];if(s)n=1.0;else n=+h[p+24>>3];h[t>>3]=n;c[A>>2]=c[(c[o>>2]|0)+8>>2];c[u>>2]=c[p+8>>2];o=p+32|0;h[v>>3]=+h[o>>3];h[w>>3]=+h[B>>3];a[x>>0]=108;h[L>>3]=i;c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];TO(d,K,O);n=+h[o>>3]+i;h[g>>3]=n;p=p+56|0;r=r+1|0;i=n}q=q+1|0}SO(d);l=R;return}function UQ(a){a=a|0;D_(c[a>>2]|0);D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(c[a+16>>2]|0);D_(c[a+12>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);return}function VQ(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a|0){j=a+4|0;e=0;g=c[a>>2]|0;while(1){if((e|0)>=(b[j>>1]|0))break;k=g+4|0;d=0;f=c[g>>2]|0;while(1){if((d|0)>=(b[k>>1]|0))break;D_(c[f>>2]|0);h=c[f+8>>2]|0;if(h|0?(i=c[f+12>>2]|0,i|0):0)tb[i&127](h);d=d+1|0;f=f+56|0}e=e+1|0;g=g+24|0}d=c[a>>2]|0;if(d|0)D_(d);D_(a)}return}function WQ(a){a=a|0;D_(c[a+32>>2]|0);D_(a);return}function XQ(b,d){b=b|0;d=d|0;switch(a[b+4>>0]|0){case 1:{YQ(c[b>>2]|0);break}case 3:{WQ(c[b>>2]|0);break}default:VQ(c[b>>2]|0)}if(d|0)D_(b);return}function YQ(a){a=a|0;var b=0,d=0,e=0;e=a+84|0;if((c[a+100>>2]|0)==-1)yw(c[e>>2]|0)|0;else{b=c[e>>2]|0;D_(c[a+92>>2]|0);D_(c[a+96>>2]|0);while(1){d=c[b>>2]|0;if(!d)break;ZQ(d);b=b+4|0}D_(c[e>>2]|0)}UQ(a);D_(a);return}function ZQ(a){a=a|0;XQ(a+88|0,0);UQ(a);D_(a);return}function _Q(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>2]|0)+72>>2]|0;if((a[b+4>>0]|0)!=2?(g=$Q(c[b>>2]|0,e)|0,(g|0)!=0):0){c[f>>2]=d[g+35>>0];b=g+48|0}else b=0;return b|0}function $Q(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+4>>2]|0;if(!((d|0)!=0?(O$(d,b)|0)==0:0))e=3;a:do if((e|0)==3){d=c[a+84>>2]|0;while(1){a=c[d>>2]|0;if(!a){a=0;break a}a=aR(a,b)|0;if(!a)d=d+4|0;else break}}while(0);return a|0}function aR(b,d){b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;if(!((e|0)!=0?(O$(e,d)|0)==0:0))if((a[b+92>>0]|0)==1)b=$Q(c[b+88>>2]|0,d)|0;else b=0;return b|0}function bR(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function cR(d){d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=d+92|0;c[p>>2]=uH((c[d+100>>2]<<2)+4|0)|0;n=uH((c[d+104>>2]<<2)+4|0)|0;c[d+96>>2]=n;o=d+32|0;m=c[d+84>>2]|0;while(1){l=c[m>>2]|0;if(!l)break;d=b[l+82>>1]|0;f=+h[l+72>>3];if(d<<16>>16==1)i=~~f;else{i=~~((f-+(O((a[o>>0]|0)+-1|0,(d&65535)+-1|0)|0))/+(d&65535));i=(i|0)>1?i:1}j=b[l+80>>1]|0;f=+h[l+64>>3];if(j<<16>>16==1)k=~~f;else{k=~~((f-+(O((a[o>>0]|0)+-1|0,(j&65535)+-1|0)|0))/+(j&65535));k=(k|0)>1?k:1}q=e[l+86>>1]|0;g=(d&65535)+q|0;d=q;while(1){if((d|0)>=(g|0))break;q=(c[p>>2]|0)+(d<<2)|0;r=c[q>>2]|0;c[q>>2]=(r|0)>(i|0)?r:i;d=d+1|0}d=e[l+84>>1]|0;g=(j&65535)+d|0;while(1){if((d|0)>=(g|0))break;r=n+(d<<2)|0;q=c[r>>2]|0;c[r>>2]=(q|0)>(k|0)?q:k;d=d+1|0}m=m+4|0}return}function dR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;if(a>>>0<21)a=c[55736+(a<<2)>>2]|0;else{c[b>>2]=a;Y0(191879,134313,b)|0;a=191879}l=d;return a|0}function eR(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=a+104|0;l=a+100|0;j=d+16|0;f=0;g=0;while(1){if((f|0)>(c[k>>2]|0))break;i=az(d,dR(f)|0,1)|0;Az(i,134365,304,1)|0;m=i+16|0;c[(c[m>>2]|0)+176>>2]=0;o=uH((c[l>>2]<<2)+4|0)|0;n=c[m>>2]|0;c[n+172>>2]=o;c[n+184>>2]=0;n=uH((c[l>>2]<<2)+4|0)|0;c[(c[m>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}j=b+16|0;f=0;g=0;while(1){if((f|0)>(c[l>>2]|0))break;i=az(b,dR(f)|0,1)|0;Az(i,134365,304,1)|0;o=i+16|0;c[(c[o>>2]|0)+176>>2]=0;m=uH((c[k>>2]<<2)+4|0)|0;n=c[o>>2]|0;c[n+172>>2]=m;c[n+184>>2]=0;n=uH((c[k>>2]<<2)+4|0)|0;c[(c[o>>2]|0)+180>>2]=n;if(!g)c[(c[j>>2]|0)+192>>2]=i;else c[(c[g+16>>2]|0)+164>>2]=i;f=f+1|0;g=i}f=c[a+84>>2]|0;while(1){g=c[f>>2]|0;if(!g)break;o=g+84|0;n=az(d,dR(e[o>>1]|0)|0,0)|0;o=az(d,dR((e[g+80>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(d,n,o,~~+h[g+64>>3]);o=g+86|0;n=az(b,dR(e[o>>1]|0)|0,0)|0;o=az(b,dR((e[g+82>>1]|0)+(e[o>>1]|0)|0)|0,0)|0;fR(b,n,o,~~+h[g+72>>3]);f=f+4|0}gR(d);gR(b);return}function fR(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=Rx(a,d,f,0,0)|0;if(!h){i=Rx(a,d,f,0,1)|0;Az(i,134378,176,1)|0;b[(c[i+16>>2]|0)+170>>1]=g;d=d+16|0;a=c[d>>2]|0;h=c[a+180>>2]|0;if(!h)a=vH((c[a+184>>2]<<2)+8|0)|0;else a=xH(h,(c[a+184>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+180>>2]=a;g=g+184|0;h=c[g>>2]|0;c[g>>2]=h+1;c[a+(h<<2)>>2]=i;d=c[d>>2]|0;c[(c[d+180>>2]|0)+(c[d+184>>2]<<2)>>2]=0;d=f+16|0;a=c[d>>2]|0;h=c[a+172>>2]|0;if(!h)a=vH((c[a+176>>2]<<2)+8|0)|0;else a=xH(h,(c[a+176>>2]<<2)+8|0)|0;g=c[d>>2]|0;c[g+172>>2]=a;g=g+176|0;f=c[g>>2]|0;c[g>>2]=f+1;c[a+(f<<2)>>2]=i;i=c[d>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0}else{i=(c[h+16>>2]|0)+170|0;f=e[i>>1]|0;b[i>>1]=(f|0)>(g|0)?f:g}return}function gR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[a+16>>2]|0)+192>>2]|0;while(1){f=d+16|0;h=c[(c[f>>2]|0)+164>>2]|0;if(!h)break;if(Rx(a,d,h,0,0)|0){d=h;continue}g=Rx(a,d,h,0,1)|0;Az(g,134378,176,1)|0;b[(c[g+16>>2]|0)+170>>1]=0;d=c[f>>2]|0;e=c[d+180>>2]|0;if(!e)d=vH((c[d+184>>2]<<2)+8|0)|0;else d=xH(e,(c[d+184>>2]<<2)+8|0)|0;i=c[f>>2]|0;c[i+180>>2]=d;i=i+184|0;e=c[i>>2]|0;c[i>>2]=e+1;c[d+(e<<2)>>2]=g;f=c[f>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;f=h+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(!e)d=vH((c[d+176>>2]<<2)+8|0)|0;else d=xH(e,(c[d+176>>2]<<2)+8|0)|0;e=c[f>>2]|0;c[e+172>>2]=d;e=e+176|0;i=c[e>>2]|0;c[e>>2]=i+1;c[d+(i<<2)>>2]=g;d=c[f>>2]|0;c[(c[d+172>>2]|0)+(c[d+176>>2]<<2)>>2]=0;d=h}return}function hR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+92|0;e=0;f=0;b=c[(c[(c[b+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[g>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}a=a+96|0;e=0;f=0;b=c[(c[(c[d+16>>2]|0)+192>>2]|0)+16>>2]|0;while(1){b=c[b+164>>2]|0;if(!b)break;b=c[b+16>>2]|0;h=b+232|0;c[(c[a>>2]|0)+(f<<2)>>2]=(c[h>>2]|0)-e;e=c[h>>2]|0;f=f+1|0}return}function iR(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+4|0;d=h;c[d>>2]=c[4621];e=c[b+100>>2]|0;if((e|0)!=1?(f=b+104|0,(c[f>>2]|0)!=1):0){c[b+92>>2]=uH((e<<2)+4|0)|0;c[b+96>>2]=uH((c[f>>2]<<2)+4|0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;f=Xx(134391,g,0)|0;a[g>>0]=a[d>>0]|0;a[g+1>>0]=a[d+1>>0]|0;a[g+2>>0]=a[d+2>>0]|0;a[g+3>>0]=a[d+3>>0]|0;g=Xx(134396,g,0)|0;Az(f,134401,280,1)|0;Az(g,134401,280,1)|0;eR(b,f,g);fI(f,2,2147483647)|0;fI(g,2,2147483647)|0;hR(b,f,g);jR(f,g)}else cR(b);l=h;return}function jR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;f=d+16|0;d=c[f>>2]|0;e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}d=d+164|0}$x(a)|0;$x(b)|0;return}function kR(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0;p=l;l=l+272|0;n=p+104|0;o=p+136|0;j=p+72|0;k=p;g=p+144|0;c[k+48>>2]=b;switch(pz(b)|0){case 0:{e=c[b+60>>2]|0;break}case 1:{e=ez(b)|0;break}case 2:{e=ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;break}default:{}}i=k+52|0;c[i>>2]=e;m=c[e+60>>2]|0;h[k+32>>3]=+h[d+16>>3];c[k+16>>2]=c[d+4>>2];c[k+20>>2]=c[d+8>>2];c[k+40>>2]=0;f=uT(c[d>>2]|0,o,k)|0;if(!f){Tw(n,128,g);a[d+82>>0]=0;e=n1(lR(b,n)|0)|0;c[d>>2]=e;if((c[d+12>>2]|0)==1)e=RM(e)|0;else e=OM(e,c[i>>2]|0)|0;D_(c[d>>2]|0);c[d>>2]=e;iH(c[(c[m+16>>2]|0)+144>>2]|0,d);Xw(n);e=c[o>>2]|0}else{e=f+4|0;if((a[e>>0]|0)==1){if((c[(c[f>>2]|0)+24>>2]|0)==0?mR(b)|0:0){i=n1(mR(b)|0)|0;c[(c[f>>2]|0)+24>>2]=i}m=nR(m,c[f>>2]|0,0,k)|0;c[o>>2]=c[o>>2]|m;m=c[f>>2]|0;r=+h[m+64>>3]*.5;q=+h[m+72>>3]*.5;oR(j,-r,-q,r,q);m=c[f>>2]|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2];pR(m,n,15)}else{qR(c[(c[m+16>>2]|0)+144>>2]|0,c[f>>2]|0,k);n=c[f>>2]|0;q=+h[n+24>>3]*.5;r=+h[n+32>>3]*.5;oR(j,-q,-r,q,r);n=(c[f>>2]|0)+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[n+16>>2]=c[j+16>>2];c[n+20>>2]=c[j+20>>2];c[n+24>>2]=c[j+24>>2];c[n+28>>2]=c[j+28>>2]}h[d+24>>3]=+h[j+16>>3]-+h[j>>3];h[d+32>>3]=+h[j+24>>3]-+h[j+8>>3];c[d+72>>2]=f;if((a[e>>0]|0)==1){D_(c[d>>2]|0);c[d>>2]=n1(138529)|0}e=c[o>>2]|0}l=p;return e|0}function lR(b,d){b=b|0;d=d|0;var e=0;a:do switch(pz(b)|0){case 0:{Ww(d,ry(b)|0)|0;break}case 1:{Ww(d,ry(b)|0)|0;break}case 2:{Ww(d,ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)|0;e=b+-48|0;Ww(d,ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0;if(!(ey(ez(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0)|0)){Ww(d,138665)|0;break a}else{Ww(d,134656)|0;break a}}default:{}}while(0);e=d+4|0;b=c[e>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[e>>2]|0}a[b>>0]=0;d=c[d>>2]|0;c[e>>2]=d;return d|0}function mR(b){b=b|0;var c=0,d=0;c=xx(b,134647)|0;if(!((c|0)!=0?(a[c>>0]|0)!=0:0))d=3;do if((d|0)==3){c=xx(b,137741)|0;if(c|0?a[c>>0]|0:0)break;c=0}while(0);return c|0}function nR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;u=w+8|0;t=w;v=g+108|0;k=c[v>>2]|0;if(k|0)IQ(j,k,183496);c[g+80>>2]=i;k=uR(f,g,j)|0;r=g+36|0;f=b[r>>1]|0;if(!(f&128))a[g+32>>0]=2;i=g+33|0;if(!(f&32))a[i>>0]=1;iR(g);n=c[g+104>>2]|0;p=a[g+32>>0]|0;f=O(n+1|0,p)|0;o=d[i>>0]<<1;q=c[g+100>>2]|0;p=O(q+1|0,p)|0;m=g+96|0;f=o+f|0;i=0;while(1){if((i|0)>=(n|0))break;f=(c[(c[m>>2]|0)+(i<<2)>>2]|0)+f|0;i=i+1|0}n=g+92|0;i=p+o|0;m=0;while(1){if((m|0)>=(q|0))break;i=(c[(c[n>>2]|0)+(m<<2)>>2]|0)+i|0;m=m+1|0}n=g+38|0;do if(b[r>>1]&1){r=b[n>>1]|0;m=r&65535;if(r<<16>>16?(s=b[g+40>>1]|0,s<<16>>16):0){if(!((f|0)>(m|0)|(i|0)>(s&65535|0))){i=0;f=0;break}Pw(0,134447,t)|0;k=1;i=0;f=0;break}Pw(0,134481,u)|0;k=1}while(0);u=e[n>>1]|0;h[g+64>>3]=+(((f|0)>(u|0)?f:u)|0);u=e[g+40>>1]|0;h[g+72>>3]=+(((i|0)>(u|0)?i:u)|0);if(c[v>>2]|0)QQ(j,183496);l=w;return k|0}function oR(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function pR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0;I=l;l=l+64|0;G=I+32|0;H=I;E=c[e+84>>2]|0;k=c[e+80>>2]|0;if((k|0?(i=c[k+24>>2]|0,i|0):0)?(j=e+24|0,(c[j>>2]|0)==0):0)c[j>>2]=n1(i)|0;F=e+48|0;i=f+16|0;n=+h[i>>3];m=+h[f>>3];k=~~(n-m-+(~~+h[e+64>>3]|0));if((k|0)<=-1)qa(134414,134260,1761,134424);o=f+24|0;y=+h[o>>3];p=f+8|0;q=+h[p>>3];r=+(~~+h[e+72>>3]|0);s=~~(y-q-r);if((s|0)<=-1)qa(134437,134260,1764,134424);t=b[e+36>>1]|0;j=t&65535;a:do if(j&1){b:do if((k|0)>0)switch(j&6){case 4:{h[i>>3]=m+r;break b}case 2:{J=+(k|0);h[i>>3]=n+J;m=m+J;h[f>>3]=m;break b}default:{J=+(k>>>1|0);m=m+J;h[f>>3]=m;h[i>>3]=n-J;break b}}while(0);if((s|0)>0)switch(t&24){case 16:{y=q+r;h[o>>3]=y;s=0;i=0;break a}case 8:{J=+(s|0);y=y+J;h[o>>3]=y;h[p>>3]=q+J;s=0;i=0;break a}default:{J=+(s>>>1|0);h[p>>3]=q+J;y=y-J;h[o>>3]=y;s=0;i=0;break a}}else{s=0;i=0}}else i=k;while(0);n=+(d[e+33>>0]|0);C=e+32|0;u=a[C>>0]|0;q=+(u<<24>>24);D=e+104|0;k=c[D>>2]|0;t=(i|0)/(k|0)|0;o=i-(O(t,k)|0)|0;o=~~(((o|0)>-1?.5:-.5)+ +(o|0));B=e+96|0;p=u<<24>>24;i=~~(m+n+q);j=0;while(1){if((j|0)>(k|0))break;A=(c[B>>2]|0)+(j<<2)|0;k=c[A>>2]|0;c[A>>2]=i;i=i+t+((j|0)<(o|0)&1)+k+p|0;j=j+1|0;k=c[D>>2]|0}A=e+100|0;k=c[A>>2]|0;t=(s|0)/(k|0)|0;p=s-(O(t,k)|0)|0;p=~~(((p|0)>-1?.5:-.5)+ +(p|0));z=e+92|0;o=u<<24>>24;i=~~(y-n-q);j=0;while(1){if((j|0)>(k|0))break;x=(c[z>>2]|0)+(j<<2)|0;k=c[x>>2]|0;c[x>>2]=i;i=i-t+(((j|0)<(p|0))<<31>>31)-k-o|0;j=j+1|0;k=c[A>>2]|0}u=(g|0)==0;v=H+16|0;w=H+24|0;x=H+8|0;i=E;while(1){o=c[i>>2]|0;if(!o)break;k=b[o+84>>1]|0;if(u){j=0;p=b[o+80>>1]|0;s=b[o+86>>1]|0;t=b[o+82>>1]|0}else{j=k<<16>>16==0?8:0;s=b[o+86>>1]|0;j=s<<16>>16==0?j|4:j;p=b[o+80>>1]|0;t=b[o+82>>1]|0;j=(((p&65535)+(k&65535)|0)==(c[D>>2]|0)?j|2:j)|((t&65535)+(s&65535)|0)==(c[A>>2]|0)}K=c[B>>2]|0;k=k&65535;h[H>>3]=+(c[K+(k<<2)>>2]|0);E=a[C>>0]|0;h[v>>3]=+((c[K+((p&65535)+k<<2)>>2]|0)-E|0);p=c[z>>2]|0;h[w>>3]=+(c[p+((s&65535)<<2)>>2]|0);h[x>>3]=+((c[p+((t&65535)+(s&65535)<<2)>>2]|0)+E|0);c[G>>2]=c[H>>2];c[G+4>>2]=c[H+4>>2];c[G+8>>2]=c[H+8>>2];c[G+12>>2]=c[H+12>>2];c[G+16>>2]=c[H+16>>2];c[G+20>>2]=c[H+20>>2];c[G+24>>2]=c[H+24>>2];c[G+28>>2]=c[H+28>>2];rR(o,G,j&g);i=i+4|0}a[e+35>>0]=g;c[F>>2]=c[f>>2];c[F+4>>2]=c[f+4>>2];c[F+8>>2]=c[f+8>>2];c[F+12>>2]=c[f+12>>2];c[F+16>>2]=c[f+16>>2];c[F+20>>2]=c[f+20>>2];c[F+24>>2]=c[f+24>>2];c[F+28>>2]=c[f+28>>2];l=I;return}function qR(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0.0;O=l;l=l+112|0;H=O+48|0;I=O+16|0;J=O;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;c[I+16>>2]=0;c[I+20>>2]=0;c[I+24>>2]=0;c[I+28>>2]=0;K=e+4|0;L=f+16|0;M=f+32|0;N=I+16|0;r=b[K>>1]|0;n=r<<16>>16;g=0;j=-1.0;m=0;while(1){if((m|0)>=(n|0)){g=1;break}i=c[e>>2]|0;if((b[i+(m*24|0)+4>>1]|0)>1){g=0;break}i=c[(c[i+(m*24|0)>>2]|0)+4>>2]|0;if(!i){k=+h[M>>3];h[N>>3]=k;i=L}else{if(c[i+24>>2]&127|0){g=0;break}k=+h[(+h[i+16>>3]>0.0?i:L)+16>>3];h[N>>3]=k;i=(c[i>>2]|0)==0?L:i}i=c[i>>2]|0;c[I>>2]=i;if(!(j==-1.0)){if(k!=j){g=0;break}}else j=k;if(g){if(b$(i,g)|0){g=0;break}}else g=i;m=m+1|0}a[e+6>>0]=g;E=f+48|0;F=f+20|0;G=I+4|0;w=f+40|0;x=I+24|0;y=d+144|0;z=H+4|0;v=J+8|0;A=H+16|0;B=H+24|0;C=H+8|0;D=H+12|0;f=(g|0)==0;j=0.0;s=0.0;t=0.0;u=0.0;n=0;g=r;while(1){if((n|0)>=(g<<16>>16|0))break;k=0.0;q=0.0;m=0;p=0.0;j=0.0;i=c[e>>2]|0;while(1){if((m|0)>=(b[i+(n*24|0)+4>>1]|0))break;c[H>>2]=pH(c[(c[i+(n*24|0)>>2]|0)+(m*56|0)>>2]|0,c[E>>2]|0)|0;i=(c[e>>2]|0)+(n*24|0)|0;g=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;if(!g){h[N>>3]=+h[M>>3];c[I>>2]=c[L>>2];c[G>>2]=c[F>>2];c[x>>2]=c[x>>2]&-128|c[w>>2]&127}else{g=c[g+24>>2]&127;if(!g)g=c[w>>2]&127;c[x>>2]=c[x>>2]&-128|g;r=c[(c[i>>2]|0)+(m*56|0)+4>>2]|0;h[N>>3]=+h[(+h[r+16>>3]>0.0?r:L)+16>>3];c[I>>2]=c[((c[r>>2]|0)==0?L:r)>>2];c[G>>2]=c[((c[r+4>>2]|0)==0?L:r)+4>>2]}i=c[y>>2]|0;c[z>>2]=nb[c[i>>2]&63](i,I,1)|0;wL(J,d,H);Q=+h[J>>3];o=+h[v>>3];D_(c[(c[(c[e>>2]|0)+(n*24|0)>>2]|0)+(m*56|0)>>2]|0);i=c[e>>2]|0;r=c[i+(n*24|0)>>2]|0;c[r+(m*56|0)>>2]=c[H>>2];h[r+(m*56|0)+32>>3]=Q;h[r+(m*56|0)+16>>3]=+h[A>>3];h[r+(m*56|0)+24>>3]=+h[B>>3];c[r+(m*56|0)+4>>2]=c[z>>2];c[r+(m*56|0)+8>>2]=c[C>>2];c[r+(m*56|0)+12>>2]=c[D>>2];P=+h[N>>3];R=+h[B>>3];k=R>k?R:k;q=Q+q;m=m+1|0;p=P>p?P:p;j=o>j?o:j}h[i+(n*24|0)+8>>3]=q;g=(n|0)==0;do if(f)if(g){o=p;k=p-k;g=i;break}else{o=p;k=t-u+p-k;g=i+(n*24|0)|0;break}else{o=j;k=g?p:j;g=i+(n*24|0)|0}while(0);h[g+16>>3]=k;s=q>s?q:s;t=o+t;u=+h[i+(n*24|0)+16>>3]+u;n=n+1|0;g=b[K>>1]|0}h[e+24>>3]=s;h[e+32>>3]=g<<16>>16==1?j:t;l=O;return}function rR(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;v=y+32|0;x=y;j=e+24|0;if((c[j>>2]|0)==0?(i=c[(c[e+96>>2]|0)+24>>2]|0,i|0):0)c[j>>2]=n1(i)|0;t=e+36|0;w=b[t>>1]|0;i=w&65535;a:do if(i&1){k=+h[e+64>>3];q=+h[e+72>>3];j=f+16|0;m=+h[j>>3];o=+h[f>>3];n=m-o-k;b:do if(n>0.0)switch(i&6){case 4:{m=o+k;h[j>>3]=m;k=o;break b}case 2:{m=n+m;h[j>>3]=m;k=o+n;h[f>>3]=k;break b}default:{p=n*.5;k=p+o;h[f>>3]=k;m=m-p;h[j>>3]=m;break b}}else k=o;while(0);i=f+24|0;p=+h[i>>3];j=f+8|0;n=+h[j>>3];o=p-n-q;if(o>0.0)switch(w&24){case 16:{o=n+q;h[i>>3]=o;break a}case 8:{q=o+p;h[i>>3]=q;n=n+o;h[j>>3]=n;o=q;break a}default:{o=o*.5;n=o+n;h[j>>3]=n;o=p-o;h[i>>3]=o;break a}}else o=p}else{k=+h[f>>3];n=+h[f+8>>3];m=+h[f+16>>3];o=+h[f+24>>3]}while(0);s=e+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[s+16>>2]=c[f+16>>2];c[s+20>>2]=c[f+20>>2];c[s+24>>2]=c[f+24>>2];c[s+28>>2]=c[f+28>>2];a[e+35>>0]=g;A=+(d[e+33>>0]|0);z=+(d[e+34>>0]|0);p=k+A+z;h[x>>3]=p;q=n+A+z;s=x+8|0;h[s>>3]=q;n=m-A-z;f=x+16|0;h[f>>3]=n;o=o-A-z;r=x+24|0;h[r>>3]=o;j=e+88|0;switch(a[e+92>>0]|0){case 1:{w=c[j>>2]|0;c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];pR(w,v,g);break}case 3:{i=c[j>>2]|0;k=+h[i+24>>3];m=n-p-+h[i+16>>3];c:do if(m>0.0)switch(w&6){case 4:{h[f>>3]=n-m;break c}case 2:{h[x>>3]=m+p;break c}default:break c}while(0);k=o-q-k;d:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break d}case 8:{h[s>>3]=k+q;break d}default:break d}while(0);c[v>>2]=c[x>>2];c[v+4>>2]=c[x+4>>2];c[v+8>>2]=c[x+8>>2];c[v+12>>2]=c[x+12>>2];c[v+16>>2]=c[x+16>>2];c[v+20>>2]=c[x+20>>2];c[v+24>>2]=c[x+24>>2];c[v+28>>2]=c[x+28>>2];sR(i,v);break}default:{i=c[j>>2]|0;k=+h[i+32>>3];m=n-p-+h[i+24>>3];e:do if(m>0.0?(u=w&6,u<<16>>16!=6):0)switch(u&7){case 4:{h[f>>3]=n-m;break e}case 2:{h[x>>3]=m+p;break e}default:{A=m*.5;h[x>>3]=A+p;h[f>>3]=n-A;break e}}while(0);k=o-q-k;f:do if(k>0.0)switch(w&24){case 16:{h[r>>3]=o-k;break f}case 8:{h[s>>3]=k+q;break f}default:{A=k*.5;h[s>>3]=A+q;h[r>>3]=o-A;break f}}while(0);w=i+8|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[w+28>>2]=c[x+28>>2];x=b[t>>1]&768;tR(c[j>>2]|0,(x&1023)==512?108:(x&1023)==256?114:110)}}l=y;return}function sR(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function tR(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;g=b[d+4>>1]|0;f=0;while(1){if((f|0)>=(g|0))break;h=(c[d>>2]|0)+(f*24|0)+6|0;if(!(a[h>>0]|0))a[h>>0]=e;f=f+1|0}return}function uR(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=f+84|0;t=c[l>>2]|0;u=vI()|0;v=yR()|0;i=0;h=0;k=Aw(t)|0;while(1){if(!k)break;j=Aw(c[k+8>>2]|0)|0;while(1){if(!j)break;j=c[j>>2]|0;i=i+1|0}h=h+1|0;if(a[k+12>>0]|0)CR(v,h);k=c[k>>2]|0}h=uH((i<<2)+4|0)|0;c[l>>2]=h;i=0;j=0;k=0;q=0;r=Aw(t)|0;while(1){if(!r)break;s=q&65535;p=0;o=Aw(c[r+8>>2]|0)|0;while(1){if(!o)break;n=c[o+8>>2]|0;c[h>>2]=n;k=vR(d,n,f,g)|0|k;l=wR(u,q,p,n)|0;b[n+86>>1]=s;b[n+84>>1]=l;l=l+(e[n+80>>1]|0)|0;m=q+(e[n+82>>1]|0)|0;if(DR(v,m)|0){p=n+100|0;a[p>>0]=a[p>>0]|2}p=l;h=h+4|0;o=c[o>>2]|0;i=(l|0)>(i|0)?l:i;j=(m|0)>(j|0)?m:j}q=q+1|0;r=c[r>>2]|0}c[f+100>>2]=j;c[f+104>>2]=i;yw(t)|0;yw(v)|0;yI(u);return k|0}function vR(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+16|0;t=u+8|0;s=u;c[g+96>>2]=i;q=g+36|0;o=b[q>>1]|0;if(!(o&64)){if(!(b[i+36>>1]&64))n=2;else n=a[i+34>>0]|0;a[g+34>>0]=n}if(!(o&32)){n=a[i+88>>0]|0;if(n<<24>>24<=-1)if(!(b[i+36>>1]&32))n=1;else n=a[i+33>>0]|0;a[g+33>>0]=n}n=g+88|0;p=g+92|0;switch(a[p>>0]|0){case 1:{o=nR(f,c[n>>2]|0,g,j)|0;i=c[n>>2]|0;n=o;o=i+64|0;i=i+72|0;break}case 3:{o=xR(c[n>>2]|0,j)|0;i=c[n>>2]|0;n=o;o=i+16|0;i=i+24|0;break}default:{qR(c[(c[f+16>>2]|0)+144>>2]|0,c[n>>2]|0,j);i=c[n>>2]|0;n=0;o=i+24|0;i=i+32|0}}k=+((d[g+33>>0]|0)+(d[g+34>>0]|0)<<1|0);m=+h[o>>3]+k;k=+h[i>>3]+k;i=g+38|0;do if(b[q>>1]&1){o=b[i>>1]|0;if(o<<16>>16?(r=b[g+40>>1]|0,r<<16>>16):0){if(!(m>+(o&65535)|k>+(r&65535))){m=0.0;k=0.0;break}if((a[p>>0]|0)==3){m=0.0;k=0.0;break}Pw(0,134532,s)|0;n=1;m=0.0;k=0.0;break}Pw(0,134565,t)|0;n=1}while(0);v=+(e[i>>1]|0);h[g+64>>3]=m>v?m:v;m=+(e[g+40>>1]|0);h[g+72>>3]=k>m?k:m;l=u;return n|0}function wR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=d+80|0;i=(e[j>>1]|0)+-1|0;h=0;a:while(1){f=c;while(1){if(h)break a;g=i+f|0;while(1){if((g|0)<(f|0)){c=f;h=1;continue a}if(DI(a,g,b)|0)break;g=g+-1|0}f=g+1|0}}h=d+82|0;f=c;while(1){if((f|0)<(c+(e[j>>1]|0)|0))g=b;else break;while(1){if((g|0)>=((e[h>>1]|0)+b|0))break;BI(a,f,g);g=g+1|0}f=f+1|0}return c|0}function xR(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+8|0;d=d+52|0;g=b+32|0;CC(i,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0;i=c[i+4>>2]|0;if((i&k|0)==-1){c[j>>2]=c[g>>2];Pw(1,134615,j)|0;d=1;f=0.0;e=0.0}else{a[(c[(c[d>>2]|0)+16>>2]|0)+114>>0]=1;d=0;f=+(i|0);e=+(k|0)}c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;h[b+16>>3]=e;h[b+24>>3]=f;l=m;return d|0}function yR(){return Cw(55820,c[4555]|0)|0}function zR(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(12)|0;c[d>>2]=c[b>>2];return d|0}function AR(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function BR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)>(e|0)?1:((b|0)<(e|0))<<31>>31)|0}function CR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function DR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(nb[c[a>>2]&63](a,e,512)|0)!=0&1;l=d;return b|0}function ER(a){a=a|0;var b=0;if(!(c[46605]|0)){b=uH((a<<2)+4|0)|0;c[46605]=b;c[b>>2]=186424;c[46616]=a}c[46617]=0;return}function FR(){D_(c[46605]|0);c[46605]=0;c[46617]=0;return}function GR(){c[46617]=0;return}function HR(){var a=0,b=0,d=0;b=c[46617]|0;d=c[46605]|0;a=1;while(1){if((a|0)>(b|0)){a=5;break}if((c[(c[d+(a<<2)>>2]|0)+4>>2]|0)==(a|0))a=a+1|0;else{a=4;break}}if((a|0)==4)qa(135312,134659,59,134665);else if((a|0)==5)return}function IR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=c[46605]|0;g=c[f+(a<<2)>>2]|0;h=c[g>>2]|0;while(1){b=(a|0)/2|0;d=c[f+(b<<2)>>2]|0;e=f+(a<<2)|0;if((c[d>>2]|0)>=(h|0))break;c[e>>2]=d;c[d+4>>2]=a;a=b}c[e>>2]=g;c[g+4>>2]=a;return}function JR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=c[46617]|0;if((b|0)==(c[46616]|0)){Pw(1,134673,d)|0;a=1}else{b=b+1|0;c[46617]=b;c[(c[46605]|0)+(b<<2)>>2]=a;IR(b);HR();a=0}l=d;return a|0}function KR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[46605]|0;f=c[e+(a<<2)>>2]|0;g=c[f>>2]|0;h=c[46617]|0;i=(h|0)/2|0;while(1){if((a|0)>(i|0))break;d=a<<1;b=c[e+(d<<2)>>2]|0;if((d|0)<(h|0)){l=d|1;j=c[e+(l<<2)>>2]|0;k=(c[b>>2]|0)<(c[j>>2]|0);d=k?l:d;b=k?j:b}if((g|0)>=(c[b>>2]|0))break;c[e+(a<<2)>>2]=b;c[b+4>>2]=a;a=d}c[e+(a<<2)>>2]=f;c[f+4>>2]=a;return}function LR(){var a=0,b=0,d=0,e=0;b=c[46617]|0;if(!b)a=0;else{e=c[46605]|0;d=e+4|0;a=c[d>>2]|0;c[d>>2]=c[e+(b<<2)>>2];b=b+-1|0;c[46617]=b;if(b|0)KR(1);HR()}return a|0}function MR(a,b){a=a|0;b=b|0;c[a>>2]=b;IR(c[a+4>>2]|0);HR();return}function NR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+16|0;j=c[m>>2]|0;j=(a[j+((c[e+12>>2]|0)*40|0)+36>>0]|0)!=(a[j+((c[e+16>>2]|0)*40|0)+36>>0]|0);k=~~((+h[d+64>>3]+-3.0-+h[d+48>>3])*.5);l=~~((+h[d+56>>3]+-3.0-+h[d+40>>3])*.5);g=(k|0)<(l|0)?k:l;n=d+4|0;f=0;while(1){b=c[n>>2]|0;if((f|0)>=(b|0)){g=f;break}i=c[d+8+(f<<2)>>2]|0;o=c[m>>2]|0;if((a[o+((c[i+12>>2]|0)*40|0)+36>>0]|0)==(a[o+((c[i+16>>2]|0)*40|0)+36>>0]|0)){g=f;break}OR(i,g);f=f+1|0}while(1){if((g|0)>=(b|0))break;f=c[d+8+(g<<2)>>2]|0;if(j|(f|0)==(e|0)){OR(f,a[(c[m>>2]|0)+((c[f+12>>2]|0)*40|0)+36>>0]|0?k:l);b=c[n>>2]|0}g=g+1|0}return}function OR(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;c[d>>2]=e+1;if((e|0)>=(b|0)){c[d>>2]=0;h[a>>3]=+h[a>>3]+16384.0}return}function PR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0.0;x=l;l=l+112|0;u=x+64|0;t=x+96|0;m=x+32|0;v=x;w=uH(28)|0;b=ay(a)|0;s=w+4|0;c[s>>2]=b;b=uH(b*72|0)|0;r=w+12|0;c[r>>2]=b;e=v+8|0;h[e>>3]=1797693134862315708145274.0e284;h[v>>3]=1797693134862315708145274.0e284;f=v+24|0;h[f>>3]=-1797693134862315708145274.0e284;g=v+16|0;h[g>>3]=-1797693134862315708145274.0e284;i=m+16|0;j=m+8|0;k=m+24|0;d=Sy(a)|0;n=1797693134862315708145274.0e284;o=1797693134862315708145274.0e284;p=-1797693134862315708145274.0e284;q=-1797693134862315708145274.0e284;while(1){if(!d)break;C=d+16|0;D=c[C>>2]|0;z=(+h[D+96>>3]+ +h[D+88>>3])*.5;z=z<1.0?1.0:z;y=+h[D+80>>3]*.5;y=y<1.0?1.0:y;E=+h[D+16>>3];B=E-z;h[m>>3]=B;z=E+z;h[i>>3]=z;E=+h[D+24>>3];A=E-y;h[j>>3]=A;y=E+y;h[k>>3]=y;B=+h[(n<B?v:m)>>3];h[v>>3]=B;A=+h[(o<A?v:m)+8>>3];h[e>>3]=A;z=+h[(p>z?v:m)+16>>3];h[g>>3]=z;y=+h[(q>y?v:m)+24>>3];h[f>>3]=y;D=b+40|0;c[D>>2]=c[m>>2];c[D+4>>2]=c[m+4>>2];c[D+8>>2]=c[m+8>>2];c[D+12>>2]=c[m+12>>2];c[D+16>>2]=c[m+16>>2];c[D+20>>2]=c[m+20>>2];c[D+24>>2]=c[m+24>>2];c[D+28>>2]=c[m+28>>2];c[b>>2]=c[b>>2]|1;c[(c[C>>2]|0)+112>>2]=b;b=b+72|0;d=Ty(a,d)|0;n=B;o=A;p=z;q=y}h[v>>3]=n+-36.0;h[e>>3]=o+-36.0;h[g>>3]=p+36.0;h[f>>3]=q+36.0;D=c[r>>2]|0;f=c[s>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];f=ZR(D,f,t,u)|0;if(c[46553]&1|0){r=c[r>>2]|0;C=c[s>>2]|0;D=c[t>>2]|0;c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];QR(r,C,u,f,D)}e=w+8|0;c[e>>2]=uH((c[t>>2]|0)*72|0)|0;c[w>>2]=c[t>>2];d=c[t>>2]|0;b=0;while(1){if((b|0)>=(d|0))break;D=(c[e>>2]|0)+(b*72|0)+40|0;C=f+(b<<5)|0;c[D>>2]=c[C>>2];c[D+4>>2]=c[C+4>>2];c[D+8>>2]=c[C+8>>2];c[D+12>>2]=c[C+12>>2];c[D+16>>2]=c[C+16>>2];c[D+20>>2]=c[C+20>>2];c[D+24>>2]=c[C+24>>2];c[D+28>>2]=c[C+28>>2];b=b+1|0}D_(f);c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];c[u+16>>2]=c[v+16>>2];c[u+20>>2]=c[v+20>>2];c[u+24>>2]=c[v+24>>2];c[u+28>>2]=c[v+28>>2];c[w+16>>2]=RR(w,u)|0;l=x;return w|0}function QR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0;q=l;l=l+128|0;p=q+96|0;o=q+64|0;j=q+32|0;r=q+16|0;s=q;m=+h[d+16>>3];n=+h[d>>3];k=+h[d+24>>3];g=+h[d+8>>3];i=c[15686]|0;D1(134688,i)|0;c[s>>2]=10;c[s+4>>2]=10;c[s+8>>2]=~~(m+10.0-n);c[s+12>>2]=~~(k+10.0-g);g1(i,135118,s)|0;h[r>>3]=10.0-n;h[r+8>>3]=10.0-g;g1(i,135166,r)|0;D1(135183,i)|0;d=0;while(1){if((d|0)>=(b|0))break;v=+h[a+(d*72|0)+48>>3];u=+h[a+(d*72|0)+56>>3];t=+h[a+(d*72|0)+64>>3];h[j>>3]=+h[a+(d*72|0)+40>>3];h[j+8>>3]=v;h[j+16>>3]=u;h[j+24>>3]=t;g1(i,135202,j)|0;d=d+1|0}D1(135220,i)|0;d=0;while(1){if((d|0)>=(f|0))break;t=+h[e+(d<<5)+8>>3];u=+h[e+(d<<5)+16>>3];v=+h[e+(d<<5)+24>>3];h[o>>3]=+h[e+(d<<5)>>3];h[o+8>>3]=t;h[o+16>>3]=u;h[o+24>>3]=v;g1(i,135239,o)|0;d=d+1|0}D1(135257,i)|0;h[p>>3]=n;h[p+8>>3]=g;h[p+16>>3]=m;h[p+24>>3]=k;g1(i,135239,p)|0;D1(135004,i)|0;l=q;return}function RR(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+32|0;t=A+16|0;k=A;w=c[a>>2]|0;y=nO(w<<2|2)|0;z=Cw(55856,c[4555]|0)|0;v=Cw(55892,c[4555]|0)|0;w=uH(w<<7)|0;f=uH(c[a>>2]<<4)|0;x=a+8|0;g=b+16|0;i=k+8|0;j=b+24|0;m=b+8|0;d=0;while(1){if((d|0)>=(c[a>>2]|0))break;n=c[x>>2]|0;o=n+(d*72|0)|0;c[n+(d*72|0)+32>>2]=4;p=n+(d*72|0)+36|0;c[p>>2]=f+(d<<2<<2);q=n+(d*72|0)+40|0;e=+h[n+(d*72|0)+56>>3];if(e<+h[g>>3]){h[k>>3]=e;h[i>>3]=+h[n+(d*72|0)+48>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,z,t,w,1)|0;c[s+20>>2]=o;c[c[p>>2]>>2]=s}e=+h[n+(d*72|0)+64>>3];if(e<+h[j>>3]){h[k>>3]=+h[q>>3];h[i>>3]=e;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];s=SR(y,v,t,w,0)|0;c[s+20>>2]=o;c[(c[p>>2]|0)+4>>2]=s}if(+h[q>>3]>+h[b>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=SR(y,z,t,w,1)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+8>>2]=s}if(+h[n+(d*72|0)+48>>3]>+h[m>>3]){c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];s=SR(y,v,t,w,0)|0;c[s+24>>2]=o;c[(c[p>>2]|0)+12>>2]=s}d=d+1|0}o=uH(c[y>>2]<<2)|0;r=a+4|0;s=a+12|0;p=t+8|0;m=0;q=0;n=0;while(1){d=c[r>>2]|0;if((n|0)>=(d|0)){b=0;break}g=c[s>>2]|0;i=g+(n*72|0)|0;j=g+(n*72|0)+36|0;c[j>>2]=o+(m<<2);b=g+(n*72|0)+40|0;c[t>>2]=c[b>>2];c[t+4>>2]=c[b+4>>2];c[t+8>>2]=c[b+8>>2];c[t+12>>2]=c[b+12>>2];b=g+(n*72|0)+56|0;k=g+(n*72|0)+32|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d)break;if(!(+h[d+8>>3]<+h[b>>3]))break;C=c[d>>2]|0;B=c[j>>2]|0;f=c[k>>2]|0;c[k>>2]=f+1;c[B+(f<<2)>>2]=C;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}f=g+(n*72|0)+64|0;d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d){u=20;break}e=+h[f>>3];if(!(+h[d+16>>3]<e))break;b=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=b;c[(c[d>>2]|0)+24>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}if((u|0)==20){u=0;e=+h[f>>3]}h[p>>3]=e;b=g+(n*72|0)+56|0;d=nb[c[v>>2]&63](v,t,512)|0;while(1){if(!d){u=25;break}e=+h[b>>3];if(!(+h[d+8>>3]<e))break;D=c[d>>2]|0;B=c[j>>2]|0;C=c[k>>2]|0;c[k>>2]=C+1;c[B+(C<<2)>>2]=D;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[v>>2]&63](v,d,8)|0}if((u|0)==25){u=0;e=+h[b>>3]}h[t>>3]=e;h[p>>3]=+h[g+(n*72|0)+48>>3];d=nb[c[z>>2]&63](z,t,512)|0;while(1){if(!d)break;if(!(+h[d+16>>3]<+h[f>>3]))break;B=c[d>>2]|0;C=c[j>>2]|0;D=c[k>>2]|0;c[k>>2]=D+1;c[C+(D<<2)>>2]=B;c[(c[d>>2]|0)+20>>2]=i;d=nb[c[z>>2]&63](z,d,8)|0}D=c[k>>2]|0;m=D+m|0;q=(D|0)>(q|0)?D:q;n=n+1|0}while(1){if((b|0)>=(d|0))break;TR((c[s>>2]|0)+(b*72|0)|0);b=b+1|0;d=c[r>>2]|0}d=c[y>>2]|0;D=c[y+16>>2]|0;c[D+(d*40|0)+32>>2]=d;d=d+1|0;c[D+(d*40|0)+32>>2]=d;mO(y,q);d=0;while(1){if((d|0)>=(c[a>>2]|0))break;UR((c[x>>2]|0)+(d*72|0)|0,y);d=d+1|0}yw(z)|0;yw(v)|0;D_(w);VR(y);kO(y);l=A;return y|0}function SR(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=nb[c[d>>2]&63](d,e,512)|0;do if(!h){b=oO(b)|0;if(!f)qa(135101,135049,291,135108);else{h=c[b+32>>2]|0;i=f+(h<<5)|0;f=f+(h<<5)+8|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[i>>2]=b;a[b+36>>0]=g;nb[c[d>>2]&63](d,i,1)|0;break}}else i=h;while(0);return c[i>>2]|0}function TR(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;a:do if((+h[b+64>>3]+-3.0-+h[b+48>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break a;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;b:do if(a[d+36>>0]|0){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|8;d=c[c[d+36>>2]>>2]|0;if(!d)break b;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|8;d=c[(c[e+36>>2]|0)+8>>2]|0;if(!d)break b;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);c:do if((+h[b+56>>3]+-3.0-+h[b+40>>3])*.5<2.0){i=c[b+32>>2]|0;j=b+36|0;g=0;while(1){if((g|0)>=(i|0))break c;d=c[(c[j>>2]|0)+(g<<2)>>2]|0;d:do if(!(a[d+36>>0]|0)){f=c[d+20>>2]|0;if((f|0)==(b|0)){e=c[d+24>>2]|0;d=e;e=c[e>>2]|0;do{c[d>>2]=e|16;d=c[(c[d+36>>2]|0)+4>>2]|0;if(!d)break d;d=c[d+24>>2]|0;e=c[d>>2]|0}while(!(e&1|0))}else{e=f;d=c[f>>2]|0;do{c[e>>2]=d|16;d=c[(c[e+36>>2]|0)+12>>2]|0;if(!d)break d;e=c[d+20>>2]|0;d=c[e>>2]|0}while(!(d&1|0))}}while(0);g=g+1|0}}while(0);return}function UR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;g=+h[a+56>>3]-+h[a+40>>3];i=+h[a+64>>3]-+h[a+48>>3];f=(i+g)*.5+500.0;if((i+-3.0)*.5<2.0){l=(c[a>>2]&8|0)==0;f=l?16384.0:f;p=l?16384.0:g}else p=g;if((g+-3.0)*.5<2.0){l=(c[a>>2]&16|0)==0;i=l?16384.0:i;f=l?16384.0:f}l=a+36|0;d=c[l>>2]|0;e=c[d+8>>2]|0;if((e|0)!=0?(j=c[d+4>>2]|0,(j|0)!=0):0){j=pO(b,e,j,f)|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+1;c[a+8+(d<<2)>>2]=j;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(k=c[d>>2]|0,(k|0)!=0):0){k=pO(b,e,k,f)|0;j=a+4|0;d=c[j>>2]|0;c[j>>2]=d+1;c[a+8+(d<<2)>>2]=k;d=c[l>>2]|0}e=c[d+8>>2]|0;if((e|0)!=0?(m=c[d+12>>2]|0,(m|0)!=0):0){m=pO(b,e,m,f)|0;k=a+4|0;d=c[k>>2]|0;c[k>>2]=d+1;c[a+8+(d<<2)>>2]=m;d=c[l>>2]|0}e=c[d+12>>2]|0;if((e|0)!=0?(n=c[d>>2]|0,(n|0)!=0):0){n=pO(b,e,n,f)|0;m=a+4|0;d=c[m>>2]|0;c[m>>2]=d+1;c[a+8+(d<<2)>>2]=n;d=c[l>>2]|0}e=c[d+4>>2]|0;if((e|0)!=0?(o=c[d+12>>2]|0,(o|0)!=0):0){o=pO(b,e,o,i)|0;n=a+4|0;d=c[n>>2]|0;c[n>>2]=d+1;c[a+8+(d<<2)>>2]=o;d=c[l>>2]|0}e=c[d+8>>2]|0;if(e|0?(q=c[d>>2]|0,q|0):0){b=pO(b,e,q,p)|0;o=a+4|0;q=c[o>>2]|0;c[o>>2]=q+1;c[a+8+(q<<2)>>2]=b}return}function VR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;f=a+16|0;g=c[15686]|0;e=0;while(1){if((e|0)>=(c[a>>2]|0)){b=10;break}b=c[f>>2]|0;d=b+(e*40|0)+20|0;if((c[d>>2]|0)==0?(c[h>>2]=e,g1(g,135014,h)|0,(c[d>>2]|0)==0):0){b=5;break}b=b+(e*40|0)+24|0;if((c[b>>2]|0)==0?(c[i>>2]=e,g1(g,135066,i)|0,(c[b>>2]|0)==0):0){b=8;break}e=e+1|0}if((b|0)==5)qa(135036,135049,311,135056);else if((b|0)==8)qa(135088,135049,313,135056);else if((b|0)==10){l=j;return}}function WR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[c+8>>3];if(!(e>f))if(!(e<f)){f=+h[b>>3];e=+h[c>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function XR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(!(e<f)){f=+h[b+8>>3];e=+h[c+8>>3];if(f>e)a=1;else a=(f<e)<<31>>31}else a=-1;else a=1;return a|0}function YR(a){a=a|0;var b=0,d=0;d=a+8|0;D_(c[(c[d>>2]|0)+36>>2]|0);b=a+12|0;D_(c[(c[b>>2]|0)+36>>2]|0);D_(c[d>>2]|0);D_(c[b>>2]|0);rO(c[a+16>>2]|0);yw(c[a+20>>2]|0)|0;yw(c[a+24>>2]|0)|0;D_(a);return}function ZR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p;i=b<<2;f=i+4|0;i=i+5|0;o=vH(i*56|0)|0;i=uH(i<<2)|0;g=f*5|1;j=vH(g*72|0)|0;m=g<<5;k=uH(m)|0;m=uH(m)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,0);i2(173);$R(f,i);jS(f,o,i,g,j)|0;n=aS(f,o,j,0,k)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[h+16>>2]=c[e+16>>2];c[h+20>>2]=c[e+20>>2];c[h+24>>2]=c[e+24>>2];c[h+28>>2]=c[e+28>>2];_R(a,b,h,o,1);$R(f,i);jS(f,o,i,g,j)|0;f=aS(f,o,j,1,m)|0;g=uH(O(n<<5,f)|0)|0;b=0;a=0;while(1){if((b|0)>=(f|0))break;h=m+(b<<5)|0;e=0;while(1){if((e|0)>=(n|0))break;q=a+((bS(g+(a<<5)|0,h,k+(e<<5)|0)|0)!=0&1)|0;e=e+1|0;a=q}b=b+1|0}q=xH(g,a<<5)|0;D_(o);D_(i);D_(j);D_(k);D_(m);c[d>>2]=a;l=p;return q|0}function _R(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+96|0;h=j+64|0;i=j;c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];c[h+16>>2]=c[d+16>>2];c[h+20>>2]=c[d+20>>2];c[h+24>>2]=c[d+24>>2];c[h+28>>2]=c[d+28>>2];hS(h,f,1,i);d=iS(e,1,i)|0;g=0;while(1){if((g|0)>=(b|0))break;k=a+(g*72|0)+40|0;c[h>>2]=c[k>>2];c[h+4>>2]=c[k+4>>2];c[h+8>>2]=c[k+8>>2];c[h+12>>2]=c[k+12>>2];c[h+16>>2]=c[k+16>>2];c[h+20>>2]=c[k+20>>2];c[h+24>>2]=c[k+24>>2];c[h+28>>2]=c[k+28>>2];hS(h,f,0,i);d=iS(e,d,i)|0;g=g+1|0}l=j;return}function $R(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=0;while(1){if((d|0)>(a|0))break;c[b+(d<<2)>>2]=d;d=d+1|0}g=a+1|0;d=1;while(1){if((d|0)>(a|0))break;h=~~(+k2()*+(g-d|0)+ +(d|0));e=b+(d<<2)|0;f=b+(h<<2)|0;if((d|0)!=(h|0)){h=c[e>>2]|0;c[e>>2]=c[f>>2];c[f>>2]=h}d=d+1|0}return}function aS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=a*5|0;j=g+1|0;l=uH(j<<2)|0;c[46618]=uH(j<<4)|0;c[46619]=uH((a*56|0)+56|0)|0;j=uH(a<<2)|0;c[46620]=j;k=0;while(1){if((k|0)>(g|0))break;if(cS(d+(k*72|0)|0,b)|0)break;k=k+1|0}h=c[46618]|0;i=c[46619]|0;g=1;while(1){if((g|0)>(a|0))break;c[h+(g<<4)+8>>2]=c[b+(g*56|0)+48>>2];m=b+(g*56|0)+44|0;c[h+(g<<4)+4>>2]=c[m>>2];c[h+(g<<4)>>2]=g;n=i+(g*56|0)|0;o=b+(g*56|0)|0;c[n>>2]=c[o>>2];c[n+4>>2]=c[o+4>>2];c[n+8>>2]=c[o+8>>2];c[n+12>>2]=c[o+12>>2];c[i+(g*56|0)+16>>2]=c[m>>2];c[i+(g*56|0)+32>>2]=g;c[i+(g*56|0)+48>>2]=1;g=g+1|0}c[46621]=a;c[46622]=0;c[j>>2]=1;g=c[d+(k*72|0)+40>>2]|0;if((g|0)<=0){g=c[d+(k*72|0)+48>>2]|0;if((g|0)>0)g=dS(l,f,0,b,d,0,k,g,e,2)|0;else g=0}else g=dS(l,f,0,b,d,0,k,g,e,1)|0;D_(l);D_(c[46618]|0);D_(c[46619]|0);D_(c[46620]|0);return g|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[(+h[b>>3]>+h[c>>3]?b:c)>>3];f=+h[(+h[b+16>>3]<+h[c+16>>3]?b:c)+16>>3];h[a+16>>3]=f;h[a>>3]=g;e=+h[(+h[b+8>>3]>+h[c+8>>3]?b:c)+8>>3];d=+h[(+h[b+24>>3]<+h[c+24>>3]?b:c)+24>>3];h[a+24>>3]=d;h[a+8>>3]=e;return !(g>=f)&!(e>=d)&1|0}function cS(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a+4>>2]|0;do if((c[a+68>>2]|0)!=2?!((f|0)<1|(c[a>>2]|0)<1):0){if(!((c[a+40>>2]|0)<1?(c[a+44>>2]|0)<1:0)){if((c[a+48>>2]|0)>=1){a=0;break}if((c[a+52>>2]|0)>=1){a=0;break}}d=+h[b+(f*56|0)+24>>3];e=+h[b+(f*56|0)+8>>3];if(!(d>e+1.0e-07))if(d<e+-1.0e-07)a=0;else a=+h[b+(f*56|0)+16>>3]>+h[b+(f*56|0)>>3]&1;else a=1}else a=0;while(0);return a|0}function dS(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0;D=(k|0)==0;C=i;a:while(1){y=f+(C*72|0)|0;if((C|0)<1)break;i=a+(C<<2)|0;if(c[i>>2]|0)break;c[i>>2]=1;v=f+(C*72|0)+8|0;t=f+(C*72|0)+16|0;p=+h[t>>3];w=f+(C*72|0)+24|0;x=f+(C*72|0)+32|0;o=+h[x>>3];if((p>o?(A=c[y>>2]|0,I=+h[e+(A*56|0)>>3],I==+h[e+(A*56|0)+16>>3]):0)?(A=c[f+(C*72|0)+4>>2]|0,K=+h[e+(A*56|0)>>3],K==+h[e+(A*56|0)+16>>3]):0){i=b+(d<<5)|0;if(D){h[i>>3]=I;q=p;p=K}else{h[i>>3]=o;q=-I;o=-K}h[b+(d<<5)+8>>3]=o;h[b+(d<<5)+16>>3]=p;h[b+(d<<5)+24>>3]=q;d=d+1|0}i=f+(C*72|0)+40|0;z=c[i>>2]|0;do if((z|0)<1?(L=f+(C*72|0)+44|0,(c[L>>2]|0)<1):0){i=f+(C*72|0)+48|0;n=f+(C*72|0)+52|0;if((c[i>>2]|0)>0?(M=c[n>>2]|0,(M|0)>0):0){m=c[f+(M*72|0)>>2]|0;l=c[y>>2]|0;if((M|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,1)|0;g=l;l=1;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;g=l;i=n;l=1;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[L>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,1)|0;i=n;l=1}else P=19;while(0);do if((P|0)==19){P=0;A=f+(C*72|0)+48|0;r=c[A>>2]|0;if((r|0)<1?(N=f+(C*72|0)+52|0,(c[N>>2]|0)<1):0){n=f+(C*72|0)+44|0;if((z|0)>0?(O=c[n>>2]|0,(O|0)>0):0){m=c[f+(C*72|0)+4>>2]|0;l=c[f+(z*72|0)+4>>2]|0;if((O|0)==(j|0)){l=eS(g,l,m)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;g=l;l=2;break}else{l=eS(g,m,l)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=n;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[n>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;i=N;l=1;break}u=f+(C*72|0)+44|0;s=c[u>>2]|0;m=(s|0)>0;if((z|0)>0){if(m){if((r|0)>0?(E=f+(C*72|0)+52|0,F=c[E>>2]|0,(F|0)>0):0){n=c[f+(F*72|0)>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if(!((l|0)==2&(F|0)==(j|0))?!((l|0)==1&(s|0)==(j|0)):0){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=E;l=1;break}l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[E>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}m=c[y>>2]|0;if(+B(+(+h[x>>3]-+h[e+(m*56|0)+24>>3]))<=1.0e-07?+B(+(+h[w>>3]-+h[e+(m*56|0)+16>>3]))<=1.0e-07:0){n=c[f+(z*72|0)+4>>2]|0;m=c[e+(m*56|0)+44>>2]|0;if((l|0)==1&(z|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[u>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+52|0;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;l=2;break}}n=c[f+(C*72|0)+4>>2]|0;m=c[f+(z*72|0)+4>>2]|0;if((l|0)==1&(s|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[u>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[A>>2]|0,C,k,1)|0;g=l;l=2;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=u;l=2;break}}}else if(!m)break a;if((r|0)>0?(G=f+(C*72|0)+52|0,H=c[G>>2]|0,(H|0)>0):0){n=c[y>>2]|0;if(+B(+(+h[t>>3]-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0){m=c[f+(H*72|0)>>2]|0;if((l|0)==2&(r|0)==(j|0)){l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}else{l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}}m=c[f+(H*72|0)>>2]|0;n=c[e+((c[f+(C*72|0)+4>>2]|0)*56|0)+44>>2]|0;if((l|0)==2&(H|0)==(j|0)){l=eS(g,n,m)|0;d=dS(a,b,d,e,f,g,c[G>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=A;l=1;break}else{l=eS(g,m,n)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;g=l;i=G;l=1;break}}o=+h[t>>3];n=c[y>>2]|0;if(((+B(+(o-+h[e+(n*56|0)+8>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(n*56|0)>>3]))<=1.0e-07:0)?(J=c[f+(C*72|0)+4>>2]|0,+B(+(+h[x>>3]-+h[e+(J*56|0)+8>>3]))<=1.0e-07):0)?+B(+(+h[w>>3]-+h[e+(J*56|0)>>3]))<=1.0e-07:0)if((l|0)==1){l=eS(g,n,J)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,J,n)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}j=c[f+(C*72|0)+4>>2]|0;if(((+B(+(o-+h[e+(j*56|0)+24>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[e+(j*56|0)+16>>3]))<=1.0e-07:0)?+B(+(+h[x>>3]-+h[e+(n*56|0)+24>>3]))<=1.0e-07:0)?+B(+(+h[w>>3]-+h[e+(n*56|0)+16>>3]))<=1.0e-07:0){m=c[e+(j*56|0)+44>>2]|0;j=c[e+(n*56|0)+44>>2]|0;if((l|0)==1){l=eS(g,j,m)|0;d=dS(a,b,d,e,f,g,c[i>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;d=dS(a,b,d,e,f,l,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;g=l;i=A;l=1;break}else{l=eS(g,m,j)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+52>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,l,c[i>>2]|0,C,k,2)|0;g=l;i=f+(C*72|0)+44|0;l=2;break}}d=dS(a,b,d,e,f,g,z,C,k,2)|0;d=dS(a,b,d,e,f,g,c[A>>2]|0,C,k,1)|0;d=dS(a,b,d,e,f,g,c[f+(C*72|0)+44>>2]|0,C,k,2)|0;i=f+(C*72|0)+52|0;l=1}while(0);j=C;C=c[i>>2]|0}return d|0}function eS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;f=l;l=l+16|0;r=f+4|0;i=f;e=(c[46622]|0)+1|0;c[46622]=e;m=c[46619]|0;fS(b,d,r,i);r=c[r>>2]|0;h=c[m+(b*56|0)+32+(r<<2)>>2]|0;i=c[m+(d*56|0)+32+(c[i>>2]<<2)>>2]|0;n=c[46621]|0;g=n+1|0;n=n+2|0;c[46621]=n;q=c[46618]|0;c[q+(g<<4)>>2]=b;c[q+(n<<4)>>2]=d;o=q+(h<<4)+4|0;p=q+(g<<4)+4|0;c[p>>2]=c[o>>2];c[q+(c[o>>2]<<4)+8>>2]=g;c[q+(g<<4)+8>>2]=n;c[q+(n<<4)+4>>2]=g;j=q+(i<<4)+8|0;c[q+(n<<4)+8>>2]=c[j>>2];c[q+(c[j>>2]<<4)+4>>2]=n;c[o>>2]=i;c[j>>2]=h;j=m+(b*56|0)+48|0;o=c[j>>2]|0;i=m+(d*56|0)+48|0;k=c[i>>2]|0;c[m+(b*56|0)+16+(r<<2)>>2]=d;c[m+(b*56|0)+32+(o<<2)>>2]=g;c[m+(b*56|0)+16+(o<<2)>>2]=c[q+(c[p>>2]<<4)>>2];c[m+(d*56|0)+32+(k<<2)>>2]=n;c[m+(d*56|0)+16+(k<<2)>>2]=b;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1;d=c[46620]|0;c[d+(a<<2)>>2]=h;c[d+(e<<2)>>2]=g;l=f;return e|0}function fS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0;l=c[46619]|0;m=l+(a*56|0)|0;n=l+(b*56|0)|0;f=0;g=-4.0;i=0;while(1){if((i|0)==4)break;h=c[l+(a*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(j=+gS(m,l+(h*56|0)|0,n),j>g):0){f=i;g=j}i=i+1|0}c[d>>2]=f;f=0;i=0;g=-4.0;while(1){if((i|0)==4)break;h=c[l+(b*56|0)+16+(i<<2)>>2]|0;if((h|0)>=1?(k=+gS(n,l+(h*56|0)|0,m),k>g):0){f=i;g=k}i=i+1|0}c[e>>2]=f;return}function gS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g=+h[a>>3];i=+h[b>>3]-g;d=+h[a+8>>3];f=+h[b+8>>3]-d;g=+h[c>>3]-g;d=+h[c+8>>3]-d;e=d*f+g*i;if(!(d*i-g*f>=0.0))d=-e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)))+-2.0;else d=e/(+C(+(d*d+g*g))*+C(+(f*f+i*i)));return +d}function hS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,l=0.0;c[e>>2]=c[a>>2];c[e+4>>2]=c[a+4>>2];c[e+8>>2]=c[a+8>>2];c[e+12>>2]=c[a+12>>2];i=e+32|0;j=a+16|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];if(!d){f=a+8|0;g=j;i=a+24|0;d=a}else{f=a+24|0;g=a;i=a+8|0;d=j}k=+h[g>>3];l=+h[i>>3];h[e+16>>3]=+h[d>>3];h[e+24>>3]=l;h[e+48>>3]=k;h[e+56>>3]=+h[f>>3];a:do if(b|0){d=0;while(1){if((d|0)==4)break a;j=e+(d<<4)+8|0;l=+h[j>>3];b=e+(d<<4)|0;h[j>>3]=+h[b>>3];h[b>>3]=-l;d=d+1|0}}while(0);return}function iS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;h=b+3|0;i=b+1|0;j=b+2|0;k=a+(b*56|0)+44|0;l=a+(h*56|0)+44|0;e=0;f=b;while(1){if((f|0)>(h|0))break;do if((f|0)!=(b|0))if((f|0)==(h|0)){c[l>>2]=b;g=j;break}else{c[a+(f*56|0)+44>>2]=f+1;g=f+-1|0;break}else{c[k>>2]=i;g=h}while(0);c[a+(f*56|0)+48>>2]=g;c[a+(f*56|0)+32>>2]=0;n=a+(f*56|0)|0;m=d+(e<<4)|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];G3(a+(g*56|0)+16|0,m|0,16)|0;e=e+1|0;f=f+1|0}return b+4|0}function jS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;c[46623]=e<<1;c[46624]=e;k=uH(e*80|0)|0;c[46625]=1;c[46626]=1;H3(f|0,0,e*72|0)|0;g=kS(c[d+4>>2]|0,b,f,k)|0;e=1;while(1){if((e|0)>(a|0))break;c[b+(e*56|0)+40>>2]=g;c[b+(e*56|0)+36>>2]=g;e=e+1|0}j=lS(a)|0;g=2;i=1;while(1){if((i|0)>(j|0))break;e=mS(a,i+-1|0)|0;h=mS(a,i)|0;while(1){if((e|0)>=(h|0)){e=1;break}nS(c[d+(g<<2)>>2]|0,b,f,k);e=e+1|0;g=g+1|0}while(1){if((e|0)>(a|0))break;oS(e,b,f,k);e=e+1|0}i=i+1|0}e=mS(a,j)|0;while(1){if((e|0)>=(a|0))break;nS(c[d+(g<<2)>>2]|0,b,f,k);g=g+1|0;e=e+1|0}D_(k);return c[46625]|0}function kS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=tS()|0;c[e+(f*40|0)>>2]=2;s=e+(f*40|0)+8|0;k=b+(a*56|0)|0;l=b+(a*56|0)+16|0;xS(s,k,l);n=tS()|0;c[e+(f*40|0)+36>>2]=n;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+28>>2]=f;j=tS()|0;c[e+(f*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=2;r=e+(j*40|0)+8|0;yS(r,k,l);c[e+(j*40|0)+28>>2]=f;l=tS()|0;c[e+(j*40|0)+32>>2]=l;c[e+(l*40|0)>>2]=3;c[e+(l*40|0)+28>>2]=j;k=tS()|0;c[e+(j*40|0)+36>>2]=k;c[e+(k*40|0)>>2]=1;c[e+(k*40|0)+4>>2]=a;c[e+(k*40|0)+28>>2]=j;j=tS()|0;c[e+(k*40|0)+32>>2]=j;c[e+(j*40|0)>>2]=3;c[e+(j*40|0)+28>>2]=k;g=tS()|0;c[e+(k*40|0)+36>>2]=g;c[e+(g*40|0)>>2]=3;c[e+(g*40|0)+28>>2]=k;k=sS(d)|0;i=sS(d)|0;m=sS(d)|0;o=sS(d)|0;p=d+(k*72|0)+8|0;q=d+(i*72|0)+8|0;t=d+(o*72|0)+24|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];G3(q|0,s|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];p=d+(k*72|0)+24|0;q=d+(i*72|0)+24|0;s=d+(m*72|0)+8|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];G3(q|0,r|0,16)|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[d+(o*72|0)+16>>3]=1073741824.0;h[d+(o*72|0)+8>>3]=1073741824.0;h[d+(m*72|0)+32>>3]=-1073741824.0;h[d+(m*72|0)+24>>3]=-1073741824.0;c[d+(i*72|0)>>2]=a;c[d+(k*72|0)+4>>2]=a;c[d+(i*72|0)+40>>2]=o;c[d+(k*72|0)+40>>2]=o;c[d+(i*72|0)+48>>2]=m;c[d+(k*72|0)+48>>2]=m;c[d+(m*72|0)+40>>2]=k;c[d+(o*72|0)+48>>2]=k;c[d+(m*72|0)+44>>2]=i;c[d+(o*72|0)+52>>2]=i;c[d+(k*72|0)+56>>2]=j;c[d+(i*72|0)+56>>2]=g;c[d+(m*72|0)+56>>2]=l;c[d+(o*72|0)+56>>2]=n;c[d+(i*72|0)+68>>2]=1;c[d+(k*72|0)+68>>2]=1;c[d+(o*72|0)+68>>2]=1;c[d+(m*72|0)+68>>2]=1;c[e+(n*40|0)+24>>2]=o;c[e+(l*40|0)+24>>2]=m;c[e+(j*40|0)+24>>2]=k;c[e+(g*40|0)+24>>2]=i;c[b+(a*56|0)+32>>2]=1;return f|0}function lS(a){a=a|0;var b=0.0;b=+(a|0);a=0;while(1){if(!(b>=1.0))break;b=+g$(b);a=a+1|0}return a+-1|0}function mS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+(a|0);c=d;a=0;while(1){if((a|0)>=(b|0))break;c=+g$(c);a=a+1|0}return ~~+N(+(d/c))|0}function nS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;W=l;l=l+96|0;S=W+32|0;f=W+16|0;T=W;s=S;k=b+(a*56|0)|0;r=s+56|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));U=S+16|0;V=S+24|0;i=+h[V>>3];H=S+8|0;j=+h[H>>3];do if(!(i>j+1.0e-07)){if(!(i<j+-1.0e-07)?+h[U>>3]>+h[S>>3]:0){G=4;break}G=(rS(a,b,1)|0)==0;f=c[S+36>>2]|0;if(G){n=0;G=7}else{f=pS(S,U,f,b,e)|0;G=20}}else G=4;while(0);if((G|0)==4){c[f>>2]=c[S>>2];c[f+4>>2]=c[S+4>>2];c[f+8>>2]=c[S+8>>2];c[f+12>>2]=c[S+12>>2];c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[U>>2]=c[f>>2];c[U+4>>2]=c[f+4>>2];c[U+8>>2]=c[f+8>>2];c[U+12>>2]=c[f+12>>2];E=S+36|0;F=c[E>>2]|0;G=S+40|0;f=c[G>>2]|0;c[E>>2]=f;c[G>>2]=F;if(!(rS(a,b,2)|0)){n=1;G=7}else{f=pS(S,U,f,b,e)|0;G=19}}if((G|0)==7){m=pS(S,U,f,b,e)|0;f=sS(d)|0;c[d+(f*72|0)+68>>2]=1;s=d+(f*72|0)|0;k=d+(m*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[H>>3];h[d+(f*72|0)+16>>3]=q;h[d+(m*72|0)+32>>3]=q;q=+h[S>>3];h[d+(f*72|0)+8>>3]=q;h[d+(m*72|0)+24>>3]=q;c[d+(m*72|0)+48>>2]=f;c[d+(m*72|0)+52>>2]=0;c[d+(f*72|0)+40>>2]=m;c[d+(f*72|0)+44>>2]=0;g=c[d+(f*72|0)+48>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}g=c[d+(f*72|0)+52>>2]|0;if((g|0)>0){k=d+(g*72|0)+40|0;if((c[k>>2]|0)==(m|0))c[k>>2]=f;g=d+(g*72|0)+44|0;if((c[g>>2]|0)==(m|0))c[g>>2]=f}E=tS()|0;G=tS()|0;F=d+(m*72|0)+56|0;D=c[F>>2]|0;c[e+(D*40|0)>>2]=2;C=e+(D*40|0)+8|0;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[e+(D*40|0)+4>>2]=a;c[e+(D*40|0)+32>>2]=G;c[e+(D*40|0)+36>>2]=E;c[e+(E*40|0)>>2]=3;c[e+(E*40|0)+24>>2]=m;c[e+(E*40|0)+28>>2]=D;c[e+(G*40|0)>>2]=3;c[e+(G*40|0)+24>>2]=f;c[e+(G*40|0)+28>>2]=D;c[F>>2]=E;c[d+(f*72|0)+56>>2]=G;if(n)G=19;else G=20}if((G|0)==19)if(!(rS(a,b,1)|0)){g=1;G=21}else{g=1;G=32}else if((G|0)==20)if(!(rS(a,b,2)|0)){g=0;G=21}else{g=0;G=32}if((G|0)==21){o=pS(U,S,c[S+40>>2]|0,b,e)|0;n=sS(d)|0;c[d+(n*72|0)+68>>2]=1;s=d+(n*72|0)|0;k=d+(o*72|0)|0;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));q=+h[V>>3];h[d+(n*72|0)+16>>3]=q;h[d+(o*72|0)+32>>3]=q;q=+h[U>>3];h[d+(n*72|0)+8>>3]=q;h[d+(o*72|0)+24>>3]=q;c[d+(o*72|0)+48>>2]=n;c[d+(o*72|0)+52>>2]=0;c[d+(n*72|0)+40>>2]=o;c[d+(n*72|0)+44>>2]=0;k=c[d+(n*72|0)+48>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}k=c[d+(n*72|0)+52>>2]|0;if((k|0)>0){m=d+(k*72|0)+40|0;if((c[m>>2]|0)==(o|0))c[m>>2]=n;k=d+(k*72|0)+44|0;if((c[k>>2]|0)==(o|0))c[k>>2]=n}D=tS()|0;F=tS()|0;E=d+(o*72|0)+56|0;C=c[E>>2]|0;c[e+(C*40|0)>>2]=2;A=e+(C*40|0)+8|0;c[A>>2]=c[U>>2];c[A+4>>2]=c[U+4>>2];c[A+8>>2]=c[U+8>>2];c[A+12>>2]=c[U+12>>2];c[e+(C*40|0)+4>>2]=a;c[e+(C*40|0)+32>>2]=F;c[e+(C*40|0)+36>>2]=D;c[e+(D*40|0)>>2]=3;c[e+(D*40|0)+24>>2]=o;c[e+(D*40|0)+28>>2]=C;c[e+(F*40|0)>>2]=3;c[e+(F*40|0)+24>>2]=n;c[e+(F*40|0)+28>>2]=C;c[E>>2]=D;c[d+(n*72|0)+56>>2]=F;F=f;f=0}else if((G|0)==32){F=f;o=pS(U,S,c[S+40>>2]|0,b,e)|0;f=1}a:do if((F|0)>0){D=d+(o*72|0)+24|0;E=d+(o*72|0)+32|0;C=(f|0)!=0;y=g?b+(a*56|0)+48|0:b+(a*56|0)+44|0;z=T+8|0;g=0;f=0;x=F;b:while(1){k=d+(x*72|0)|0;v=d+(x*72|0)+24|0;if(!(uS(v,D)|0))break a;m=d+(x*72|0)+56|0;u=c[m>>2]|0;n=tS()|0;p=tS()|0;c[e+(u*40|0)>>2]=1;c[e+(u*40|0)+4>>2]=a;c[e+(u*40|0)+32>>2]=n;c[e+(u*40|0)+36>>2]=p;c[e+(n*40|0)>>2]=3;c[e+(n*40|0)+24>>2]=x;c[e+(n*40|0)+28>>2]=u;c[e+(p*40|0)>>2]=3;w=sS(d)|0;c[e+(p*40|0)+24>>2]=w;A=d+(w*72|0)|0;c[d+(w*72|0)+68>>2]=1;c[e+(p*40|0)+28>>2]=u;g=(x|0)==(F|0)?w:g;u=d+(x*72|0)+32|0;if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0)f=w;s=A;r=s+72|0;do{c[s>>2]=c[k>>2];s=s+4|0;k=k+4|0}while((s|0)<(r|0));c[m>>2]=n;c[d+(w*72|0)+56>>2]=p;t=d+(x*72|0)+48|0;m=d+(x*72|0)+52|0;k=(c[m>>2]|0)<1;do if((c[t>>2]|0)<1){if(k)break b;s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(M=d+(x*72|0)+44|0,N=c[M>>2]|0,(N|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=N;c[d+(w*72|0)+44>>2]=-1;c[M>>2]=-1;c[d+(N*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=N;c[M>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=N}else{c[d+(w*72|0)+44>>2]=-1;t=d+(w*72|0)+40|0;c[t>>2]=c[M>>2];n=c[s>>2]|0;c[M>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[t>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=77;while(0);do if((G|0)==77){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[m>>2]|0)*72|0)+40>>2]=x;n=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+52>>2]|0)*72|0)+44>>2]=w;n=m;k=x}c[n>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[m>>2]|0;break}k=c[m>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(O=c[p>>2]|0,P=(n|0)==(x|0),(O|0)>0):0){c[d+(k*72|0)+60>>2]=P?O:n;c[d+(k*72|0)+64>>2]=P?1:2}c[m>>2]=x;c[p>>2]=w}else{if(!k){i=+h[u>>3];j=+h[H>>3];q=i-j;if(!(+B(+q)<=1.0e-07)){h[z>>3]=i;i=+h[S>>3];h[T>>3]=(+h[U>>3]-i)*(q/(+h[V>>3]-j))+i;s=(vS(T,v)|0)!=0}else s=+h[v>>3]>+h[S>>3];r=d+(x*72|0)+40|0;k=c[r>>2]|0;do if((k|0)>0?(Q=d+(x*72|0)+44|0,R=c[Q>>2]|0,(R|0)>0):0){p=d+(x*72|0)+60|0;k=c[p>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=R;c[d+(w*72|0)+44>>2]=-1;c[Q>>2]=-1;c[d+(R*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=R;c[Q>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;n=w;m=R}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[Q>>2];m=c[r>>2]|0;c[Q>>2]=m;c[r>>2]=k;c[d+(k*72|0)+48>>2]=x;n=x;k=c[X>>2]|0}c[d+(m*72|0)+48>>2]=n;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[p>>2]=0}else G=106;while(0);do if((G|0)==106){G=0;m=d+(k*72|0)+48|0;n=c[m>>2]|0;k=d+(k*72|0)+52|0;if((n|0)>0?(c[k>>2]|0)>0:0){k=c[d+(n*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[r>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[r>>2]|0)*72|0)+48>>2]=x;break}c[m>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;c[d+(k*72|0)+44>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=w;c[d+(X*72|0)+44>>2]=-1;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;c[k>>2]=-1;k=-1}else G=116;do if((G|0)==116){G=0;k=c[t>>2]|0;c[d+(k*72|0)+40>>2]=x;m=d+(k*72|0)+44|0;if(s){c[m>>2]=w;X=d+(x*72|0)+52|0;v=c[X>>2]|0;c[d+(v*72|0)+40>>2]=w;c[d+(v*72|0)+44>>2]=-1;c[X>>2]=-1;break}else{c[m>>2]=-1;k=d+(x*72|0)+52|0;X=c[k>>2]|0;c[d+(X*72|0)+40>>2]=x;c[d+(X*72|0)+44>>2]=w;c[d+(w*72|0)+48>>2]=X;c[d+(w*72|0)+52>>2]=-1;k=c[k>>2]|0;break}}while(0);break}s=d+(x*72|0)+40|0;k=c[s>>2]|0;do if((k|0)>0?(I=d+(x*72|0)+44|0,J=c[I>>2]|0,(J|0)>0):0){r=d+(x*72|0)+60|0;k=c[r>>2]|0;if((k|0)<=0){c[d+(w*72|0)+40>>2]=J;c[d+(w*72|0)+44>>2]=-1;c[I>>2]=-1;c[d+(J*72|0)+48>>2]=w;break}if((c[d+(x*72|0)+64>>2]|0)==1){c[d+(w*72|0)+40>>2]=J;c[I>>2]=-1;c[d+(w*72|0)+44>>2]=k;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;p=w;n=J}else{c[d+(w*72|0)+44>>2]=-1;X=d+(w*72|0)+40|0;c[X>>2]=c[I>>2];n=c[s>>2]|0;c[I>>2]=n;c[s>>2]=k;c[d+(k*72|0)+48>>2]=x;p=x;k=c[X>>2]|0}c[d+(n*72|0)+48>>2]=p;c[d+(k*72|0)+48>>2]=w;c[d+(w*72|0)+60>>2]=0;c[r>>2]=0}else G=51;while(0);do if((G|0)==51){G=0;n=d+(k*72|0)+48|0;p=c[n>>2]|0;k=d+(k*72|0)+52|0;if((p|0)>0?(c[k>>2]|0)>0:0){k=c[d+(p*72|0)+4>>2]|0;if((k|0)>0?(qS(k,b,U)|0)==0:0){c[d+(w*72|0)+44>>2]=-1;c[d+(x*72|0)+44>>2]=-1;c[s>>2]=-1;c[d+((c[d+(w*72|0)+40>>2]|0)*72|0)+52>>2]=w;break}c[d+(x*72|0)+44>>2]=-1;c[d+(w*72|0)+44>>2]=-1;c[d+(w*72|0)+40>>2]=-1;c[d+((c[s>>2]|0)*72|0)+48>>2]=x;break}c[n>>2]=x;c[k>>2]=w}while(0);if(+B(+(+h[u>>3]-+h[E>>3]))<=1.0e-07?C&+B(+(+h[v>>3]-+h[D>>3]))<=1.0e-07:0){k=c[y>>2]|0;if((k|0)>0?(qS(k,b,S)|0)!=0:0){c[d+((c[t>>2]|0)*72|0)+40>>2]=x;m=d+(w*72|0)+52|0;k=w}else{c[d+((c[d+(w*72|0)+48>>2]|0)*72|0)+44>>2]=w;k=x}c[m>>2]=-1;c[d+(k*72|0)+48>>2]=-1;k=c[t>>2]|0;break}k=c[t>>2]|0;m=d+(k*72|0)+40|0;n=c[m>>2]|0;p=d+(k*72|0)+44|0;if((n|0)>0?(K=c[p>>2]|0,L=(n|0)==(x|0),(K|0)>0):0){c[d+(k*72|0)+60>>2]=L?K:n;c[d+(k*72|0)+64>>2]=L?1:2}c[m>>2]=x;c[p>>2]=w}while(0);c[A>>2]=a;c[d+(x*72|0)+4>>2]=a;if((k|0)>0)x=k;else break a}E1(135342,19,1,c[15686]|0)|0}else{g=0;f=0}while(0);wS(a,F,o,1,d,e);wS(a,g,f,2,d,e);c[b+(a*56|0)+32>>2]=1;l=W;return}function oS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!(c[b+(a*56|0)+32>>2]|0)){f=b+(a*56|0)|0;g=b+(a*56|0)+16|0;h=b+(a*56|0)+36|0;c[h>>2]=c[d+((pS(f,g,c[h>>2]|0,b,e)|0)*72|0)+56>>2];a=b+(a*56|0)+40|0;c[a>>2]=c[d+((pS(g,f,c[a>>2]|0,b,e)|0)*72|0)+56>>2]}return}function pS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0,r=0;o=a+8|0;q=b+8|0;a:while(1){b:do switch(c[f+(d*40|0)>>2]|0){case 3:{r=3;break a}case 2:{g=+h[o>>3];i=f+(d*40|0)+8|0;j=+h[f+(d*40|0)+16>>3];k=j+1.0e-07;do if(!(g>k)){l=j+-1.0e-07;if(!(g<l)?+h[a>>3]>+h[i>>3]:0)break;if(+B(+(g-j))<=1.0e-07?(m=+h[i>>3],+B(+(+h[a>>3]-m))<=1.0e-07):0){g=+h[q>>3];do if(!(g>k)){if(!(g<l)?+h[b>>3]>m:0)break;d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break b}d=f+(d*40|0)+32|0;break b}while(0);d=f+(d*40|0)+36|0;break}case 1:{g=+h[o>>3];i=c[f+(d*40|0)+4>>2]|0;if(+B(+(g-+h[e+(i*56|0)+8>>3]))<=1.0e-07?(n=+h[a>>3],+B(+(n-+h[e+(i*56|0)>>3]))<=1.0e-07):0)j=n;else r=19;do if((r|0)==19){r=0;if(+B(+(g-+h[e+(i*56|0)+24>>3]))<=1.0e-07?(p=+h[a>>3],+B(+(p-+h[e+(i*56|0)+16>>3]))<=1.0e-07):0){j=p;break}if(!(qS(i,e,a)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}}while(0);if(!(+B(+(g-+h[q>>3]))<=1.0e-07))if(!(qS(i,e,b)|0)){d=f+(d*40|0)+36|0;break b}else{d=f+(d*40|0)+32|0;break b}else if(+h[b>>3]<j){d=f+(d*40|0)+32|0;break b}else{d=f+(d*40|0)+36|0;break b}}default:{r=31;break a}}while(0);d=c[d>>2]|0}if((r|0)==3)return c[f+(d*40|0)+24>>2]|0;else if((r|0)==31){E1(135276,35,1,c[15686]|0)|0;qa(135312,135314,349,135326)}return 0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0.0;f=b+(a*56|0)+16|0;g=+h[b+(a*56|0)+24>>3];i=b+(a*56|0)|0;e=+h[b+(a*56|0)+8>>3];do if(!(g>e+1.0e-07)){if(!(g<e+-1.0e-07)?+h[f>>3]>+h[i>>3]:0){j=4;break}d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[f>>3];d=(+h[i>>3]-k)*(d-g)-(+h[c>>3]-k)*(e-g);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}else j=4;while(0);do if((j|0)==4){d=+h[c+8>>3];if(+B(+(g-d))<=1.0e-07){d=+h[c>>3]<+h[f>>3]?1.0:-1.0;break}if(!(+B(+(e-d))<=1.0e-07)){k=+h[i>>3];d=(+h[f>>3]-k)*(d-e)-(+h[c>>3]-k)*(g-e);break}else{d=+h[c>>3]<+h[i>>3]?1.0:-1.0;break}}while(0);return d>0.0|0}function rS(a,b,d){a=a|0;b=b|0;d=d|0;return c[b+((c[((d|0)==1?b+(a*56|0)+48|0:b+(a*56|0)+44|0)>>2]|0)*56|0)+32>>2]|0}function sS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46625]|0;if((b|0)<(c[46624]|0)){c[a+(b*72|0)>>2]=-1;c[a+(b*72|0)+4>>2]=-1;c[a+(b*72|0)+68>>2]=1;c[46625]=b+1;l=e;return b|0}else{e=c[15686]|0;c[d>>2]=b;g1(e,135401,d)|0;qa(135312,135314,88,135439)}return 0}function tS(){var a=0;a=c[46626]|0;if((a|0)<(c[46623]|0)){c[46626]=a+1;return a|0}else{E1(135362,30,1,c[15686]|0)|0;qa(135312,135314,72,135393)}return 0}function uS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d+1.0e-07))if(c<d+-1.0e-07)a=0;else a=+h[a>>3]>=+h[b>>3]&1;else a=1;return a|0}function vS(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c<d+-1.0e-07))if(c>d+1.0e-07)a=0;else a=+h[a>>3]<+h[b>>3]&1;else a=1;return a|0}function wS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f+(d*72|0)+24|0;p=(e|0)==1;a:while(1){o=f+(b*72|0)+24|0;j=f+(b*72|0)+48|0;k=f+(b*72|0)+52|0;l=f+(b*72|0)|0;m=f+(b*72|0)+4|0;n=f+(b*72|0)+56|0;if((b|0)<=0)break;while(1){if(!(uS(o,q)|0))break a;d=c[j>>2]|0;e=(d|0)>0;do if(p){if(e?(c[f+(d*72|0)+4>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)+4>>2]|0)!=(a|0)){b=d;continue a}}else{if(e?(c[f+(d*72|0)>>2]|0)==(a|0):0)break;d=c[k>>2]|0;if((d|0)<=0){b=d;continue a}if((c[f+(d*72|0)>>2]|0)!=(a|0)){b=d;continue a}}while(0);if((c[l>>2]|0)!=(c[f+(d*72|0)>>2]|0)){b=d;continue a}if((c[m>>2]|0)!=(c[f+(d*72|0)+4>>2]|0)){b=d;continue a}r=c[f+(d*72|0)+56>>2]|0;e=c[g+(r*40|0)+28>>2]|0;h=g+(e*40|0)+32|0;i=c[n>>2]|0;if((c[h>>2]|0)==(r|0))c[h>>2]=i;else c[g+(e*40|0)+36>>2]=i;e=c[f+(d*72|0)+48>>2]|0;c[j>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);e=c[f+(d*72|0)+52>>2]|0;c[k>>2]=e;do if((e|0)>0){h=f+(e*72|0)+40|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=b;break}e=f+(e*72|0)+44|0;if((c[e>>2]|0)==(d|0))c[e>>2]=b}while(0);r=f+(d*72|0)+24|0;c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];c[f+(d*72|0)+68>>2]=2}}return}function xS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e>f+1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]>+h[d>>3]+1.0e-07){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function yS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3];f=+h[d+8>>3];do if(!(e<f+-1.0e-07)){if(!(+B(+(e-f))<=1.0e-07)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}if(+h[b>>3]<+h[d>>3]){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}while(0);return}function zS(a){a=a|0;var b=0;b=uH(8)|0;if(b|0){c[b+4>>2]=a;c[b>>2]=0}return b|0}function AS(a,b){a=a|0;b=b|0;if(b){b=zS(b)|0;c[b>>2]=a;a=b}return a|0}function BS(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;D_(b)}while((a|0)!=0);return}function CS(){var a=0;a=uH(1992)|0;if(a|0)c[a>>2]=DS(a)|0;return a|0}function DS(a){a=a|0;var b=0;b=JS(a)|0;c[b+4>>2]=0;a=a+1972|0;c[a>>2]=(c[a>>2]|0)+1;return b|0}function ES(a){a=a|0;FS(a,c[a>>2]|0);D_(c[a>>2]|0);D_(a);return 0}function FS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+1912|0;i=a+1936|0;a:do if((c[b+4>>2]|0)>0){d=0;while(1){if((d|0)==64)break a;e=b+8+(d*20|0)+16|0;f=c[e>>2]|0;if(f|0?(FS(a,f),D_(c[e>>2]|0),PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}else{d=0;while(1){if((d|0)==64)break a;if(c[b+8+(d*20|0)+16>>2]|0?(PS(b,d),c[g>>2]=(c[g>>2]|0)+-1,c[h>>2]|0):0)c[i>>2]=(c[i>>2]|0)+1;d=d+1|0}}while(0);return}function GS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)qa(135797,135447,194,135455);e=c[b+4>>2]|0;if((e|0)<=-1)qa(135467,135447,195,135455);if(!d)qa(135739,135447,196,135455);i=a+1952|0;c[i>>2]=(c[i>>2]|0)+1;a:do if((e|0)>0){i=0;e=0;while(1){if((i|0)==64)break a;f=b+8+(i*20|0)+16|0;if((c[f>>2]|0)!=0?(US(d,b+8+(i*20|0)|0)|0)!=0:0){g=GS(a,c[f>>2]|0,d)|0;if(!e)e=g;else{f=e;while(1){h=c[f>>2]|0;if(!h)break;else f=h}c[f>>2]=g}}i=i+1|0}}else{g=0;e=0;while(1){if((g|0)==64)break a;f=b+8+(g*20|0)|0;if((c[b+8+(g*20|0)+16>>2]|0)!=0?(US(d,f)|0)!=0:0)e=AS(e,f)|0;g=g+1|0}}while(0);return e|0}function HS(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;k=p+52|0;m=p+32|0;n=p+16|0;o=p;c[k>>2]=0;if(!((b|0)!=0&(e|0)!=0))qa(135653,135447,247,135481);if((f|0)>-1?(j=c[e>>2]|0,(c[j+4>>2]|0)>=(f|0)):0){g=0;while(1){if((g|0)>=2)break;if((c[b+(g<<2)>>2]|0)>(c[b+(g+2<<2)>>2]|0)){h=8;break}else g=g+1|0}if((h|0)==8)qa(135528,135447,250,135481);i=a+1912|0;g=a+1908|0;h=c[g>>2]|0;if(c[i>>2]|0){q=h|0?a+1924|0:a+1916|0;c[q>>2]=(c[q>>2]|0)+1}if(!h){q=a+1964|0;c[q>>2]=(c[q>>2]|0)+1}if(!(IS(a,b,d,j,k,f)|0))g=0;else{if(c[i>>2]|0){q=c[g>>2]|0?a+1948|0:a+1944|0;c[q>>2]=(c[q>>2]|0)+1}g=JS(a)|0;q=a+1976|0;c[q>>2]=(c[q>>2]|0)+1;q=c[e>>2]|0;c[g+4>>2]=(c[q+4>>2]|0)+1;MS(n,q);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];q=m+16|0;c[q>>2]=c[e>>2];OS(a,m,g,0)|0;MS(o,c[k>>2]|0);c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[q>>2]=c[k>>2];OS(a,m,g,0)|0;c[e>>2]=g;g=a+1980|0;c[g>>2]=(c[g>>2]|0)+2;g=1}l=p;return g|0}qa(135493,135447,248,135481);return 0}function IS(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;m=q+52|0;n=q+48|0;o=q+32|0;p=q+16|0;k=q;c[n>>2]=0;if(!((b|0)!=0&(e|0)!=0&(f|0)!=0))qa(135571,135447,311,135585);if((g|0)>-1?(i=e+4|0,h=c[i>>2]|0,(h|0)>=(g|0)):0){if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1;h=c[i>>2]|0}do if((h|0)>(g|0)){i=NS(b,e)|0;h=e+8+(i*20|0)+16|0;i=e+8+(i*20|0)|0;if(!(IS(a,b,d,c[h>>2]|0,n,g)|0)){TS(o,b,i);c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];j=0;break}else{MS(p,c[h>>2]|0);c[i>>2]=c[p>>2];c[i+4>>2]=c[p+4>>2];c[i+8>>2]=c[p+8>>2];c[i+12>>2]=c[p+12>>2];j=c[n>>2]|0;c[m+16>>2]=j;MS(k,j);c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}}else if((h|0)==(g|0)){c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];c[m+16>>2]=d;j=a+1980|0;c[j>>2]=(c[j>>2]|0)+1;j=OS(a,m,e,f)|0;break}else qa(135630,135447,341,135585);while(0);l=q;return j|0}qa(135598,135447,312,135585);return 0}function JS(a){a=a|0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=C_(1288)|0;KS(a);return a|0}function KS(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;while(1){if((b|0)==64)break;LS(a+8+(b*20|0)|0);b=b+1|0}return}function LS(a){a=a|0;QS(a);c[a+16>>2]=0;return}function MS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;g=i+16|0;h=i;if(!b)qa(135797,135636,99,135643);QS(g);d=1;f=0;while(1){if((f|0)==64)break;do if(c[b+8+(f*20|0)+16>>2]|0){e=b+8+(f*20|0)|0;if(!d){TS(h,g,e);c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];d=0;break}else{c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];d=0;break}}while(0);f=f+1|0}c[a>>2]=c[g>>2];c[a+4>>2]=c[g+4>>2];c[a+8>>2]=c[g+8>>2];c[a+12>>2]=c[g+12>>2];l=i;return}function NS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;k=l;l=l+32|0;i=k+16|0;j=k;if(!((a|0)!=0&(b|0)!=0))qa(135653,135636,125,135660);d=0;e=0;f=0;g=1;h=0;while(1){if((h|0)==64)break;if(c[b+8+(h*20|0)+16>>2]|0){n=b+8+(h*20|0)|0;p=SS(n)|0;TS(j,a,n);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];n=(SS(i)|0)-p|0;m=(g|0)!=0|(n|0)<(f|0);o=m|(p|0)<(e|0)&(n|0)==(f|0);d=o?h:d;e=o?p:e;f=o?n:f;g=m?0:g}h=h+1|0}l=k;return d|0}function OS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!b)qa(135819,135636,167,135671);if(!d)qa(135797,135636,168,135671);do if((c[d>>2]|0)<64){a=0;while(1){if((a|0)>=64){e=10;break}if(!(c[d+8+(a*20|0)+16>>2]|0)){e=8;break}a=a+1|0}if((e|0)==8){f=d+8+(a*20|0)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];f=0;g=d;break}else if((e|0)==10)qa(135681,135636,178,135671)}else{if(c[a+1912>>2]|0){h=c[a+1908>>2]|0?a+1948|0:a+1944|0;c[h>>2]=(c[h>>2]|0)+1}if(!e)qa(135694,135636,187,135671);else{VS(a,d,b,e);f=1;g=(c[d+4>>2]|0)==0?a+1972|0:a+1976|0;break}}while(0);c[g>>2]=(c[g>>2]|0)+1;return f|0}function PS(a,b){a=a|0;b=b|0;if(!((a|0)!=0&b>>>0<64))qa(135698,135636,201,135726);if(!(c[a+8+(b*20|0)+16>>2]|0))qa(136220,135636,202,135726);else{LS(a+8+(b*20|0)|0);c[a>>2]=(c[a>>2]|0)+-1;return}}function QS(a){a=a|0;var b=0;b=0;while(1){if((b|0)==4)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function RS(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=1;c[d+8>>2]=-1;b=1;while(1){if((b|0)==2)break;c[d+(b+2<<2)>>2]=0;c[d+(b<<2)>>2]=0;b=b+1|0}c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=e;return}function SS(a){a=a|0;var b=0,d=0,e=0;if(!a)qa(135739,135741,128,135753);a:do if((c[a>>2]|0)>(c[a+8>>2]|0))b=0;else{b=1;d=0;while(1){if((d|0)==2)break a;e=O(c[a+(d+2<<2)>>2]|0,b)|0;b=e-(c[a+(d<<2)>>2]|0)|0;d=d+1|0}}while(0);return b|0}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;f=g;if(!((b|0)!=0&(d|0)!=0))qa(135762,135741,195,135770);do if((c[b>>2]|0)>(c[b+8>>2]|0)){c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2]}else{if((c[d>>2]|0)>(c[d+8>>2]|0)){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else e=0;while(1){if((e|0)==2)break;j=c[b+(e<<2)>>2]|0;h=c[d+(e<<2)>>2]|0;c[f+(e<<2)>>2]=(j|0)<(h|0)?j:h;h=e+2|0;j=c[b+(h<<2)>>2]|0;i=c[d+(h<<2)>>2]|0;c[f+(h<<2)>>2]=(j|0)>(i|0)?j:i;e=e+1|0}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2]}while(0);l=g;return}function US(a,b){a=a|0;b=b|0;var d=0,e=0;if((a|0)!=0&(b|0)!=0)d=0;else qa(135782,135741,216,135789);while(1){if((d|0)>=2){d=1;break}e=d+2|0;if((c[a+(d<<2)>>2]|0)>(c[b+(e<<2)>>2]|0)){d=0;break}if((c[b+(d<<2)>>2]|0)>(c[a+(e<<2)>>2]|0)){d=0;break}else d=d+1|0}return d|0}function VS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0;if(!b)qa(135797,135799,40,135809);if(!d)qa(135819,135799,41,135809);j=a+1912|0;if(c[j>>2]|0){i=c[a+1908>>2]|0?a+1932|0:a+1928|0;c[i>>2]=(c[i>>2]|0)+1}h=b+4|0;i=c[h>>2]|0;WS(a,b,d);d=a+1324|0;XS(a);f=SS(a+1852|0)|0;f=(SS(a+1868|0)|0)+f|0;if(c[j>>2]|0?(f|0)!=0&(c[a+1908>>2]|0)==0:0){j=a+1960|0;g[j>>2]=+((c[a+1320>>2]|0)>>>0)/+(f|0)+ +g[j>>2]}j=JS(a)|0;c[e>>2]=j;c[h>>2]=i;c[j+4>>2]=i;YS(a,b,j,d);if(((c[c[e>>2]>>2]|0)+(c[b>>2]|0)|0)==65)return;else qa(135821,135799,86,135809)}function WS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;if(!b)qa(135797,135799,106,136208);if(!d)qa(135819,135799,107,136208);else e=0;while(1){if((e|0)>=64)break;if(!(c[b+8+(e*20|0)+16>>2]|0)){f=7;break}j=b+8+(e*20|0)|0;i=a+4+(e*20|0)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];c[i+16>>2]=c[j+16>>2];e=e+1|0}if((f|0)==7)qa(136220,135799,111,136208);e=a+4|0;j=a+1284|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];d=a+1304|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)==65)break;TS(g,d,a+4+(e*20|0)|0);c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];e=e+1|0}c[a+1320>>2]=SS(d)|0;KS(b);l=h;return}function XS(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;i=u+32|0;k=u+16|0;m=u;ZS(a);_S(a);q=a+1844|0;s=a+1848|0;t=a+1892|0;n=a+1852|0;o=a+1884|0;p=a+1868|0;j=a+1888|0;f=0;e=0;while(1){d=c[q>>2]|0;b=c[s>>2]|0;if((b+d|0)>=65)break;h=65-(c[t>>2]|0)|0;if((d|0)<(h|0)&(b|0)<(h|0)){g=-1;h=0}else{r=12;break}while(1){if((h|0)==65)break;if(!(c[a+1584+(h<<2)>>2]|0)){v=a+4+(h*20|0)|0;TS(k,v,n);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];b=SS(i)|0;d=c[o>>2]|0;TS(m,v,p);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];v=SS(i)|0;b=v-(c[j>>2]|0)+(d-b)|0;d=(b|0)>-1;b=d?b:0-b|0;d=(d^1)&1;if((b|0)<=(g|0))if((b|0)==(g|0)){v=(c[a+1844+(d<<2)>>2]|0)<(c[a+1844+(f<<2)>>2]|0);b=g;d=v?d:f;e=v?h:e}else{b=g;d=f}else e=h}else{b=g;d=f}g=b;h=h+1|0;f=d}$S(a,e,f)}if((r|0)==12){b=(d|0)>=(65-(c[t>>2]|0)|0)&1;d=0;while(1){if((d|0)==65)break;if(!(c[a+1584+(d<<2)>>2]|0))$S(a,d,b);d=d+1|0}d=c[q>>2]|0;b=c[s>>2]|0}if((b+d|0)!=65)qa(135964,135799,210,136050);v=c[t>>2]|0;if((d|0)<(v|0)|(b|0)<(v|0))qa(136061,135799,212,136050);else{l=u;return}}function YS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)qa(135797,135799,297,135861);if(!d)qa(135871,135799,298,135861);if(!e)qa(135873,135799,299,135861);else f=0;while(1){if((f|0)>=65){e=14;break}e=c[a+1324+(f<<2)>>2]|0;if(e>>>0>=2){e=9;break}switch(e|0){case 0:{OS(a,a+4+(f*20|0)|0,b,0)|0;break}case 1:{OS(a,a+4+(f*20|0)|0,d,0)|0;break}default:{}}f=f+1|0}if((e|0)==9)qa(135875,135799,303,135861);else if((e|0)==14)return}function ZS(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[a+1848>>2]=0;c[a+1844>>2]=0;b=a+1852|0;f=a+1868|0;RS(e);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[a+1888>>2]=0;c[a+1884>>2]=0;b=0;while(1){if((b|0)==65)break;c[a+1584+(b<<2)>>2]=0;c[a+1324+(b<<2)>>2]=-1;b=b+1|0}l=d;return}function _S(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+304|0;k=o+32|0;m=o+16|0;n=o;b=0;while(1){if((b|0)==65)break;c[k+(b<<2)>>2]=SS(a+4+(b*20|0)|0)|0;b=b+1|0}b=0;d=0;e=0;g=0;a:while(1){if((g|0)==64)break;i=g+1|0;j=a+4+(g*20|0)|0;h=k+(g<<2)|0;f=i;while(1){if((f|0)==65){g=i;continue a}TS(n,j,a+4+(f*20|0)|0);c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];p=SS(m)|0;p=p-(c[h>>2]|0)-(c[k+(f<<2)>>2]|0)|0;q=p>>>0>e>>>0;r=q?f:b;f=f+1|0;b=r;d=q?g:d;e=q?p:e}}$S(a,d,0);$S(a,b,1);l=o;return}function $S(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=a+1584+(b<<2)|0;if(c[e>>2]|0)qa(136164,135799,257,136199);c[a+1324+(b<<2)>>2]=d;c[e>>2]=1;g=a+1844+(d<<2)|0;f=a+1852+(d<<4)|0;e=a+4+(b*20|0)|0;if(!(c[g>>2]|0)){c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2]}else{TS(h,e,f);c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2]}c[a+1884+(d<<2)>>2]=SS(f)|0;c[g>>2]=(c[g>>2]|0)+1;l=i;return}function aT(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46627]=0;c[46628]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=95;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=96;break a}case 4:{s=95;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==31){e=0;s=96;break}e=b[65430+(p<<1)>>1]|0;j=e<<16>>16;do if(e<<16>>16!=-82){h=c[46628]|0;if((h|0)==-2){h=pU()|0;c[46628]=h}if((h|0)>=1)if(h>>>0<296)i=d[136239+h>>0]|0;else i=2;else{c[46628]=0;i=0}h=i+j|0;if(h>>>0<=271?(i|0)==(a[136535+h>>0]|0):0){p=a[136807+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46628]=-2;g=g+4|0;c[g>>2]=c[46629];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[137079+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46628]|0;b:do switch(q|0){case 0:{c[46627]=(c[46627]|0)+1;vT(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=96;break a}else{h=o;break b}else{c[46628]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<16>>16==8)break;if((h|0)==(f|0)){e=1;s=96;break a}e=h+-2|0;g=g+-4|0;h=e;e=b[65430+(b[e>>1]<<1)>>1]|0}g=g+4|0;c[g>>2]=c[46629];e=1;j=3}else s=23}do if((s|0)==23){s=0;j=d[137195+h>>0]|0;e=c[g+(1-j<<2)>>2]|0;do switch(h|0){case 4:{s=26;break a}case 2:{c[46630]=bT(c[g+-4>>2]|0,2)|0;break}case 3:{c[46630]=bT(c[g+-4>>2]|0,1)|0;break}case 5:{e=dT()|0;break}case 8:{eT(c[46631]|0);break}case 9:{fT(c[g>>2]|0);break}case 18:{gT(c[g>>2]|0);break}case 19:{hT();break}case 20:{gT(c[g>>2]|0);break}case 21:{hT();break}case 22:{gT(c[g>>2]|0);break}case 23:{hT();break}case 24:{gT(c[g>>2]|0);break}case 25:{hT();break}case 26:{gT(c[g>>2]|0);break}case 27:{hT();break}case 28:{gT(c[g>>2]|0);break}case 29:{hT();break}case 30:{gT(c[g>>2]|0);break}case 31:{hT();break}case 32:{gT(c[g>>2]|0);break}case 33:{hT();break}case 34:{e=c[g+-4>>2]|0;break}case 35:{e=c[g>>2]|0;break}case 38:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=51;break a}c[(c[g>>2]|0)+80>>2]=c[46632];e=Cw(55928,c[4554]|0)|0;c[(c[g>>2]|0)+84>>2]=e;c[46632]=c[g>>2];c[(c[g>>2]|0)+108>>2]=c[c[46633]>>2];e=c[g>>2]|0;break}case 39:{e=c[46631]|0;i=c[e+4>>2]|0;if(i>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;i=c[46631]|0;e=i;i=c[i+4>>2]|0}a[i>>0]=0;p=c[e>>2]|0;c[e+4>>2]=p;if(iT(p)|0){s=56;break a}e=c[46632]|0;c[46632]=c[e+80>>2];break}case 40:{e=c[g>>2]|0;break}case 41:{e=c[g+-4>>2]|0;break}case 42:{e=c[g+-4>>2]|0;break}case 43:{e=c[g+-4>>2]|0;break}case 44:{e=c[g+-4>>2]|0;break}case 45:{e=c[g+-4>>2]|0;break}case 48:{e=c[g>>2]|0;break}case 49:{e=c[g>>2]|0;break}case 50:{a[(c[g+-8>>2]|0)+12>>0]=1;e=c[g>>2]|0;break}case 51:{jT();break}case 52:{e=kT()|0;break}case 53:{e=c[g>>2]|0;break}case 54:{e=c[g>>2]|0;break}case 55:{e=(c[g+-8>>2]|0)+100|0;a[e>>0]=a[e>>0]|1;e=c[g>>2]|0;break}case 56:{lT(c[g+-4>>2]|0,c[g>>2]|0,1);break}case 57:{e=c[g+-12>>2]|0;break}case 58:{lT(c[g+-4>>2]|0,c[g>>2]|0,2);break}case 59:{e=c[g+-12>>2]|0;break}case 60:{lT(c[g+-4>>2]|0,c[g>>2]|0,3);break}case 61:{e=c[g+-12>>2]|0;break}case 62:{lT(c[g>>2]|0,dT()|0,2);break}case 63:{e=c[g+-8>>2]|0;break}case 64:{e=c[g+-4>>2]|0;break}case 65:{e=c[g>>2]|0;break}default:{}}while(0);i=0-j|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[137367+h>>0]|0)+-41|0;p=b[i>>1]|0;h=p+(b[65662+(e<<1)>>1]|0)|0;if(h>>>0<272?(a[136535+h>>0]|0)==(p|0):0){e=a[136807+h>>0]|0;j=q;h=i;break}e=a[137437+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==26){cT();e=1;s=96}else if((s|0)==51){vT(137265);cT();e=1;s=96}else if((s|0)==56){vT(137316);cT();e=1;s=96}else if((s|0)==95){vT(137476);e=2;s=96}if((s|0)==96)if((f|0)!=(r|0))D_(f);l=t;return e|0}function bT(b,d){b=b|0;d=d|0;var e=0;e=uH(8)|0;a[e+4>>0]=d;c[e>>2]=b;return e|0}function cT(){var a=0,b=0;a=c[46632]|0;b=c[46630]|0;if(b|0){XQ(b,1);c[46630]=0}c[13995]=67;while(1){if(!a)break;b=c[a+80>>2]|0;pT(a);a=b}c[13995]=56;c[14004]=68;b=c[46635]|0;nb[c[b>>2]&63](b,0,64)|0;c[14004]=56;c[14013]=69;b=c[46636]|0;nb[c[b>>2]&63](b,0,64)|0;c[14013]=56;sT();return}function dT(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[46636]|0;f=uH(40)|0;if(Ew(c[46635]|0)|0)fT(0);a=Ew(e)|0;b[f+4>>1]=a;a:do if(!a)a=e;else{c[f>>2]=uH(a*24|0)|0;a=0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d){a=e;break a}g=(c[f>>2]|0)+(a*24|0)|0;h=d+8|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];c[g+8>>2]=c[h+8>>2];c[g+12>>2]=c[h+12>>2];c[g+16>>2]=c[h+16>>2];c[g+20>>2]=c[h+20>>2];a=a+1|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);nb[c[a>>2]&63](e,0,64)|0;return f|0}function eT(b){b=b|0;var d=0,e=0,f=0;e=uH(64)|0;f=b+4|0;d=c[f>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[f>>2]|0}a[d>>0]=0;b=c[b>>2]|0;c[f>>2]=b;c[e+8>>2]=n1(b)|0;c[e+12>>2]=c[c[46633]>>2];f=c[46635]|0;nb[c[f>>2]&63](f,e,1)|0;return}function fT(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=uH(32)|0;j=c[46635]|0;e=Ew(j)|0;k=i+8|0;a[i+14>>0]=d;a:do if(!e){c[k>>2]=uH(56)|0;b[i+12>>1]=1;h=n1(191979)|0;k=c[k>>2]|0;c[k>>2]=h;c[k+4>>2]=c[c[46633]>>2]}else{b[i+12>>1]=e;c[k>>2]=uH(e*56|0)|0;d=0;e=Aw(j)|0;while(1){if(!e)break a;f=(c[k>>2]|0)+(d*56|0)|0;g=e+8|0;h=f+56|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));d=d+1|0;e=c[e>>2]|0}}while(0);nb[c[j>>2]&63](j,0,64)|0;k=c[46636]|0;nb[c[k>>2]&63](k,i,1)|0;return}function gT(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;i=uH(8)|0;f=c[c[46633]>>2]|0;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];if(f|0){a=g+4|0;if((c[a>>2]|0)==0?(b=c[f+4>>2]|0,b|0):0)c[a>>2]=b;a=g+16|0;if(+h[a>>3]<0.0?(d=+h[f+16>>3],d>=0.0):0)h[a>>3]=d;if((c[g>>2]|0)==0?(e=c[f>>2]|0,e|0):0)c[g>>2]=e;a=c[f+24>>2]&127;if(a|0){f=g+24|0;e=c[f>>2]|0;c[f>>2]=e&127|a|e&-128}}f=c[(c[46634]|0)+144>>2]|0;c[i>>2]=nb[c[f>>2]&63](f,g,1)|0;c[i+4>>2]=c[46633];c[46633]=i;l=j;return}function hT(){var a=0,b=0;b=c[46633]|0;a=c[b+4>>2]|0;D_(b);c[46633]=a;return}function iT(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=0;break}if(c<<24>>24==32)b=b+1|0;else{b=1;break}}return b|0}function jT(){var b=0,d=0,e=0;e=Cw(55964,c[4554]|0)|0;b=c[46632]|0;d=uH(16)|0;c[d+8>>2]=e;if(a[b+112>>0]&2)a[d+12>>0]=1;e=c[b+84>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function kT(){var a=0;a=c[(c[46632]|0)+84>>2]|0;return nb[c[a>>2]&63](a,0,256)|0}function lT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=uH(16)|0;f=c[46632]|0;h=c[f+84>>2]|0;h=c[(nb[c[h>>2]&63](h,0,256)|0)+8>>2]|0;c[g+8>>2]=b;nb[c[h>>2]&63](h,g,1)|0;a[b+92>>0]=e;if(a[f+112>>0]&1)a[b+100>>0]=1;c[b+88>>2]=d;return}function mT(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function nT(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+8>>2]|0)|0;D_(b);return}function oT(a,b,d){a=a|0;b=b|0;d=d|0;tT(c[b+8>>2]|0);D_(b);return}function pT(a){a=a|0;yw(c[a+84>>2]|0)|0;UQ(a);D_(a);return}function qT(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function rT(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d+12|0;a=b[g>>1]|0;if(a<<16>>16){h=d+8|0;e=0;f=c[h>>2]|0;while(1){if((e|0)>=(a<<16>>16|0))break;D_(c[f>>2]|0);e=e+1|0;f=f+56|0;a=b[g>>1]|0}D_(c[h>>2]|0)}D_(d);return}function sT(){var a=0,b=0;a=c[46633]|0;while(1){b=c[a+4>>2]|0;if(!b)break;D_(a);a=b}return}function tT(b){b=b|0;var d=0;d=b+88|0;switch(a[b+92>>0]|0){case 1:{pT(c[d>>2]|0);break}case 2:{VQ(c[d>>2]|0);break}default:{}}UQ(b);D_(b);return}function uT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+160|0;e=f+8|0;g=f;c[g>>2]=0;c[g+4>>2]=0;c[46633]=g;c[46632]=0;c[46630]=0;c[46634]=c[(c[(c[d+52>>2]|0)+16>>2]|0)+144>>2];c[46635]=Cw(56e3,c[4554]|0)|0;c[46636]=Cw(56036,c[4554]|0)|0;Tw(e,128,f+24|0);c[46631]=e;if(!(yT(a,e,d)|0)){aT()|0;c[b>>2]=oU()|0;a=c[46630]|0}else{c[b>>2]=2;a=0}yw(c[46635]|0)|0;yw(c[46636]|0)|0;c[46635]=0;c[46636]=0;c[46633]=0;Xw(e);l=f;return a|0}function vT(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;if(!(a[186581]|0)){a[186581]=1;f=wT()|0;c[d>>2]=b;c[d+4>>2]=f;Pw(1,137493,d)|0;xT()}l=e;return}function wT(){return dX(c[46637]|0)|0}function xT(){var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=c[46640]|0;c[b+4>>2]=c[b>>2];d=c[46649]|0;if((d|0)>0){Vw(b,c[46647]|0,d)|0;b=c[46640]|0}Vw(b,c[46646]|0,c[46648]|0)|0;d=c[46640]|0;b=c[d+4>>2]|0;if(b>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;b=c[46640]|0;d=b;b=c[b+4>>2]|0}c[d+4>>2]=b+1;a[b>>0]=0;b=c[46640]|0;d=c[b>>2]|0;c[b+4>>2]=d;c[e>>2]=d;Pw(3,137509,e)|0;l=f;return}function yT(b,e,f){b=b|0;e=e|0;f=f|0;c[46640]=e;Tw(186564,128,0);c[46638]=b;a[186583]=0;a[186580]=0;a[186581]=0;c[46648]=0;c[46649]=0;a[186582]=1;f=f+52|0;e=DV(hH(d[(c[(c[f>>2]|0)+16>>2]|0)+115>>0]|0)|0)|0;c[46637]=e;SW(e,c[(c[(c[f>>2]|0)+16>>2]|0)+144>>2]|0);TW(c[46637]|0,70,27);UW(c[46637]|0,71);return 0}function zT(b,d,e){b=b|0;d=d|0;e=e|0;do if(!(O$(d,137521)|0)){c[46629]=DT(e)|0;a[186582]=0;c[46639]=286}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){a[186582]=1;c[46629]=ET(e)|0;c[46639]=287;break}if(!(O$(d,137541)|0)){c[46629]=FT(b,e,0)|0;c[46639]=288;break}if(!(O$(d,137546)|0)){c[46629]=FT(b,0,1)|0;c[46639]=290;break}if(!(O$(d,137562)|0)){c[46629]=FT(b,0,32)|0;c[46639]=295;break}if(!(O$(d,137548)|0)){c[46629]=FT(b,0,4)|0;c[46639]=291;break}if(!(O$(d,137550)|0)){c[46629]=FT(b,0,64)|0;c[46639]=292;break}if(!(O$(d,137552)|0)){c[46629]=FT(b,0,2)|0;c[46639]=289;break}if(!(O$(d,137554)|0)){c[46629]=FT(b,0,8)|0;c[46639]=293;break}if(!(O$(d,137558)|0)){c[46629]=FT(b,0,16)|0;c[46639]=294;break}if(!(O$(d,137564)|0)){GT(e);c[46639]=283;break}if(!(O$(d,137567)|0)){c[46639]=277;break}if(!(O$(d,137570)|0)){c[46639]=280;break}if(!(O$(d,137573)|0)){c[46629]=HT(e)|0;c[46639]=285;break}if(!(O$(d,137536)|0)){c[46639]=262;break}else{CT(d);break}}a[186582]=0;c[46639]=260}while(0);return}function AT(b,d){b=b|0;d=d|0;do if(!(O$(d,137521)|0)){c[46639]=264;a[186582]=1}else{if(O$(d,137527)|0?O$(d,137530)|0:0){if(!(O$(d,137533)|0)){c[46639]=265;a[186582]=0;break}if(!(O$(d,137536)|0)){c[46639]=263;break}if(!(O$(d,137541)|0)){c[46639]=266;break}if(!(O$(d,137546)|0)){c[46639]=270;break}if(!(O$(d,137548)|0)){c[46639]=271;break}if(!(O$(d,137550)|0)){c[46639]=272;break}if(!(O$(d,137552)|0)){c[46639]=269;break}if(!(O$(d,137554)|0)){c[46639]=273;break}if(!(O$(d,137558)|0)){c[46639]=274;break}if(!(O$(d,137562)|0)){c[46639]=275;break}if(!(O$(d,137564)|0)){c[46639]=(c[46639]|0)==283?282:258;break}if(!(O$(d,137567)|0)){c[46639]=(c[46639]|0)==277?276:278;break}if(!(O$(d,137570)|0)){c[46639]=(c[46639]|0)==280?279:281;break}if(!(O$(d,137573)|0)){c[46639]=(c[46639]|0)==285?284:259;break}else{CT(d);break}}c[46639]=261}while(0);return}function BT(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(a[186582]|0){b=0;while(1){if(!e)break;h=d+1|0;g=a[d>>0]|0;if((g&255)>31){d=c[46640]|0;f=c[d+4>>2]|0;if(f>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;f=c[46640]|0;d=f;f=c[f+4>>2]|0}c[d+4>>2]=f+1;a[f>>0]=g;b=b+1|0}d=h;e=e+-1|0}if(b|0)c[46639]=267}return}function CT(b){b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;c[46639]=268;a[186581]=1;f=wT()|0;c[e>>2]=b;c[e+4>>2]=f;Pw(1,137577,e)|0;l=d;return}function DT(b){b=b|0;var d=0;d=uH(120)|0;c[d+100>>2]=-1;a[d+88>>0]=-1;IT(d,56296,22,b,138529);return d|0}function ET(a){a=a|0;var c=0;c=uH(104)|0;b[c+80>>1]=1;b[c+82>>1]=1;IT(c,56120,22,a,137883);return c|0}function FT(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+32|0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;h[e+16>>3]=-1.0;c[e+24>>2]=d&127;if(b|0)IT(e,56096,3,b,137734);d=c[a+144>>2]|0;e=nb[c[d>>2]&63](d,e,1)|0;l=f;return e|0}function GT(a){a=a|0;c[46629]=0;IT(186516,56088,1,a,137670);return}function HT(a){a=a|0;var b=0;b=uH(40)|0;IT(b,56072,2,a,137616);return b|0}function IT(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;m=o+8|0;while(1){k=c[g>>2]|0;if(!k)break;i=c[g+4>>2]|0;c[m>>2]=k;j=e2(m,e,f,8,102)|0;if(!j){c[n>>2]=k;c[n+4>>2]=h;Pw(0,137622,n)|0;i=1}else{i=lb[c[j+4>>2]&127](b,i)|0;i=(i|(d[186580]|0))&255}a[186580]=i;g=g+8|0}l=o;return}function JT(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function KT(a,b){a=a|0;b=b|0;c[a+36>>2]=n1(b)|0;return 0}function LT(a,b){a=a|0;b=b|0;c[a+32>>2]=n1(b)|0;return 0}function MT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=(I0(a[d>>0]|0)|0)<<24>>24;switch(f|0){case 82:{e=d+1|0;if(!(O$(e,137681)|0)){c[b>>2]=114;e=0}else h=5;break}case 76:{h=6;break}default:{e=d+1|0;h=5}}do if((h|0)==5)if(!(O$(e,137686)|0))h=6;else{if((f|0)!=67?(O$(e,137690)|0)==0:0){c[g>>2]=d;Pw(0,137696,g)|0;e=1;break}c[b>>2]=110;e=0}while(0);if((h|0)==6){c[b>>2]=108;e=0}l=i;return e|0}function NT(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}function OT(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}function PT(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,137763,0,255,d)|0)){h[a+16>>3]=+(c[d>>2]|0);a=0}else a=1;l=e;return a|0}function QT(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;h=k;m=k+36|0;g=i1(a,m,10)|0;do if((c[m>>2]|0)!=(a|0)){if((g|0)>(e|0)){c[i>>2]=b;c[i+4>>2]=a;c[i+8>>2]=e;Pw(0,137805,i)|0;a=1;break}if((g|0)<(d|0)){c[j>>2]=b;c[j+4>>2]=a;c[j+8>>2]=d;Pw(0,137844,j)|0;a=1;break}else{c[f>>2]=g;a=0;break}}else{c[h>>2]=b;c[h+4>>2]=a;Pw(0,137774,h)|0;a=1}while(0);l=k;return a|0}function RT(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=9;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=9;break}case 84:{if(!(O$(e+1|0,138481)|0)){d=d+36|0;b[d>>1]=b[d>>1]|6;d=0}else g=9;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=9;break}default:g=9}if((g|0)==9){c[f>>2]=e;Pw(0,138485,f)|0;d=1}l=h;return d|0}function ST(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|512;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|256;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138436,f)|0;d=1}l=h;return d|0}function TT(a,b){a=a|0;b=b|0;c[a+20>>2]=n1(b)|0;return 0}function UT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138429,0,255,f)|0)){a[d+33>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|32;d=0}else d=1;l=g;return d|0}function VT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138417,0,255,f)|0)){a[d+34>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|64;d=0}else d=1;l=g;return d|0}function WT(d,e){d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g;if(!(QT(e,138405,-128,127,f)|0)){a[d+32>>0]=c[f>>2];d=d+36|0;b[d>>1]=b[d>>1]|128;d=0}else d=1;l=g;return d|0}function XT(a,b){a=a|0;b=b|0;c[a+24>>2]=n1(b)|0;return 0}function YT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138360,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138368,f)|0;d=1;break}else{b[a+80>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function ZT(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(d[e>>0]|0)|0)<<24>>24|0){case 84:{if(!(O$(e+1|0,138309)|0)){a=a+36|0;b[a>>1]=b[a>>1]|1;a=0}else g=5;break}case 70:{if(!(O$(e+1|0,138313)|0))a=0;else g=5;break}default:g=5}if((g|0)==5){c[f>>2]=e;Pw(0,138318,f)|0;a=1}l=h;return a|0}function _T(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;if(!(QT(b,138295,0,360,d)|0)){c[a+28>>2]=c[d>>2]&65535;a=0}else a=1;l=e;return a|0}function $T(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138288,0,65535,e)|0)){b[a+40>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function aU(a,b){a=a|0;b=b|0;c[a>>2]=n1(b)|0;return 0}function bU(a,b){a=a|0;b=b|0;c[a+16>>2]=n1(b)|0;return 0}function cU(a,b){a=a|0;b=b|0;c[a+4>>2]=n1(b)|0;return 0}function dU(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=g+4|0;do if(!(QT(d,138243,0,65535,e)|0)){d=c[e>>2]|0;if(!d){Pw(0,138251,f)|0;d=1;break}else{b[a+82>>1]=d;d=0;break}}else d=1;while(0);l=g;return d|0}function eU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=0;a:while(1){b:while(1){g=e+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a;e=e<<24>>24;f=(P$(e)|0)+-98|0;switch(f>>>1|f<<31|0){case 5:{j=5;break b}case 9:{f=2048;break b}case 8:{j=6;break b}case 0:{j=7;break b}default:{}}c[i>>2]=e;c[i+4>>2]=e;Pw(0,138190,i)|0;e=g}if((j|0)==5){j=0;f=1024}else if((j|0)==6){j=0;f=4096}else if((j|0)==7){j=0;f=8192}e=g;h=h|f}if(h<<16>>16!=15360){j=d+36|0;b[j>>1]=b[j>>1]|h}l=k;return 0}function fU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;h=n1(e)|0;g=d+42|0;f=0;e=h;while(1){d=k1(e,138100)|0;if(!d)break;if(((I0(a[d>>0]|0)|0)&255|0)==82){e=d+1|0;if(!(O$(e,138103)|0)){b[g>>1]=b[g>>1]|4;d=f;e=0;f=d;continue}if(!(O$(e,138110)|0)){b[g>>1]=b[g>>1]|2;d=f;e=0;f=d;continue}else{c[i>>2]=d;Pw(0,138116,i)|0;f=1;e=0;continue}}if(!(O$(d,138154)|0)){b[g>>1]=b[g>>1]&-385;d=f;e=0;f=d;continue}if(O$(d,138160)|0?O$(d,138170)|0:0){if(!(O$(d,138176)|0)){b[g>>1]=b[g>>1]|128;d=f;e=0;f=d;continue}if(!(O$(d,138183)|0)){b[g>>1]=b[g>>1]|256;d=f;e=0;f=d;continue}else{c[j>>2]=d;Pw(0,138116,j)|0;f=1;e=0;continue}}b[g>>1]=b[g>>1]|32;d=f;e=0;f=d}D_(h);l=k;return f|0}function gU(a,b){a=a|0;b=b|0;c[a+8>>2]=n1(b)|0;return 0}function hU(a,b){a=a|0;b=b|0;c[a+12>>2]=n1(b)|0;return 0}function iU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 66:{if(!(O$(e+1|0,138046)|0)){d=d+36|0;b[d>>1]=b[d>>1]|16;d=0}else g=7;break}case 84:{if(!(O$(e+1|0,138052)|0)){d=d+36|0;b[d>>1]=b[d>>1]|8;d=0}else g=7;break}case 77:{if(!(O$(e+1|0,138055)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,138061,f)|0;d=1}l=h;return d|0}function jU(a,d){a=a|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138040,0,65535,e)|0)){b[a+38>>1]=c[e>>2];a=0}else a=1;l=f;return a|0}function kU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;switch((I0(a[e>>0]|0)|0)<<24>>24|0){case 76:{if(!(O$(e+1|0,137686)|0)){d=d+36|0;b[d>>1]=b[d>>1]|4;d=0}else g=7;break}case 82:{if(!(O$(e+1|0,137681)|0)){d=d+36|0;b[d>>1]=b[d>>1]|2;d=0}else g=7;break}case 67:{if(!(O$(e+1|0,137690)|0))d=0;else g=7;break}default:g=7}if((g|0)==7){c[f>>2]=e;Pw(0,137696,f)|0;d=1}l=h;return d|0}function lU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(!(QT(d,138638,0,127,e)|0)){a[b+88>>0]=c[e>>2];b=0}else b=1;l=f;return b|0}function mU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|1;b=0}else{c[e>>2]=d;Pw(0,138598,e)|0;b=1}l=f;return b|0}function nU(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((a[d>>0]|0)==42){b=b+112|0;a[b>>0]=a[b>>0]|2;b=0}else{c[e>>2]=d;Pw(0,138561,e)|0;b=1}l=f;return b|0}function oU(){var b=0;b=(a[186581]|a[186580])<<24>>24;JV(c[46637]|0);Xw(186564);return b|0}function pU(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;c[46639]=0;d=0;a:do{b:do switch(a[186583]|0){case 2:{b=-1;break a}case 0:{a[186583]=1;h=6;b=138650;d=0;break}default:{b=c[46638]|0;if(!(a[b>>0]|0)){a[186583]=2;h=7;b=138657;break b}else{d=qU(b)|0;h=d-b|0;break b}}}while(0);c[46647]=c[46646];c[46649]=c[46648];c[46646]=b;c[46648]=h;e=c[46642]|0;f=e-(c[46641]|0)|0;g=c[46637]|0;if(!f)b=VW(g,b,h,(h|0)==0&1)|0;else{if(e>>>0<(c[46643]|0)>>>0)b=e;else{Uw(186564,1)|0;b=c[46642]|0}a[b>>0]=0;b=c[46641]|0;c[46642]=b;b=VW(g,b,f,0)|0}if(!((b|0)!=0|(a[186581]|0)!=0)){g=eX(cX(c[46637]|0)|0)|0;h=wT()|0;c[i>>2]=g;c[i+4>>2]=h;Pw(1,137493,i)|0;xT();a[186581]=1;c[46639]=268}if(d|0)c[46638]=d;b=c[46639]|0}while((b|0)==0);l=j;return b|0}function qU(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b+1|0;e=a[b>>0]|0;a:do if(e<<24>>24==60){e=a[d>>0]|0;if(e<<24>>24==33)if(!(z$(b+2|0,138665,2)|0)){e=rU(b+4|0)|0;d=e;e=a[e>>0]|0;g=8}else{e=d;g=5}else g=6;b:while(1)if((g|0)==5){d=e;e=a[e>>0]|0;g=6;continue}else if((g|0)==6){switch(e<<24>>24){case 62:case 0:{g=8;continue b}default:{}}e=d+1|0;g=5;continue}else if((g|0)==8)if(e<<24>>24==62){g=10;break}else{g=9;break}if((g|0)==9){Pw(0,138668,f)|0;a[186580]=1;break}else if((g|0)==10){d=d+1|0;break}}else{d=b;b=e;while(1){switch(b<<24>>24){case 60:case 0:break a;case 38:{e=d+1|0;if((a[e>>0]|0)==35)g=15;else e=MM(e,186564)|0;break}default:g=15}if((g|0)==15){g=0;e=c[46642]|0;if(e>>>0>=(c[46643]|0)>>>0){Uw(186564,1)|0;e=c[46642]|0}c[46642]=e+1;a[e>>0]=b;e=d+1|0}d=e;b=a[e>>0]|0}}while(0);l=h;return d|0}function rU(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=1;c=b;a:while(1){e=(f|0)==0;d=c;b:while(1){if(e)break a;g=d+1|0;switch(a[d>>0]|0){case 0:{c=g;break a}case 60:{h=5;break b}case 62:{c=-1;break b}default:d=g}}if((h|0)==5){h=0;c=1}f=f+c|0;c=g}d=c+-1|0;do if(a[d>>0]|0){c=c+-3|0;if(c>>>0>=b>>>0?(z$(c,138665,2)|0)==0:0)break;Pw(0,138709,i)|0;a[186580]=1}while(0);l=j;return d|0}function sU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=C_(28)|0;if(!d)d=0;else{e=0;f=0;while(1){if((e|0)>=(b|0))break;r=(c[(c[a+(e<<2)>>2]|0)+4>>2]|0)+f|0;e=e+1|0;f=r}o=d+8|0;c[o>>2]=tU(f<<4)|0;p=d+12|0;c[p>>2]=tU((b<<2)+4|0)|0;e=f<<2;q=d+16|0;c[q>>2]=tU(e)|0;e=tU(e)|0;r=d+20|0;c[r>>2]=e;c[d+4>>2]=f;c[d>>2]=b;f=0;h=0;while(1){c[(c[p>>2]|0)+(h<<2)>>2]=f;if((h|0)>=(b|0))break;j=a+(h<<2)|0;n=c[j>>2]|0;k=c[n+4>>2]|0;l=f+-1|0;g=0;i=f;m=k;while(1){if((g|0)>=(m|0))break;m=(c[o>>2]|0)+(i<<4)|0;e=(c[n>>2]|0)+(g<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=i+1|0;c[(c[q>>2]|0)+(i<<2)>>2]=m;e=c[r>>2]|0;c[e+(i<<2)>>2]=i+-1;s=c[j>>2]|0;g=g+1|0;i=m;m=c[s+4>>2]|0;n=s}s=l+k|0;c[(c[q>>2]|0)+(s<<2)>>2]=f;c[e+(f<<2)>>2]=s;f=i;h=h+1|0}tV(d)}return d|0}function tU(a){a=a|0;if(!a)a=0;else a=C_(a)|0;return a|0}function uU(a){a=a|0;var b=0,d=0;D_(c[a+8>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);d=a+24|0;b=c[d>>2]|0;if(b|0){D_(c[b>>2]|0);D_(c[d>>2]|0)}D_(a);return}function vU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+16|0;j=p;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];n=AV(a,d,m)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];o=AV(a,f,m)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];m=jV(j,d,n,m,f,o,a)|0;d=c[a+4>>2]|0;j=d+1|0;f=1;h=d;while(1){h=c[m+(h<<2)>>2]|0;k=f+1|0;if((h|0)==(j|0))break;else f=k}i=C_(k<<4)|0;h=i+(f<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];a=a+8|0;while(1){d=c[m+(d<<2)>>2]|0;f=f+-1|0;h=i+(f<<4)|0;if((d|0)==(j|0))break;e=(c[a>>2]|0)+(d<<4)|0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2]}c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if(f|0)qa(138727,138734,148,138740);if(n|0)D_(n);if(o|0)D_(o);c[g+4>>2]=k;c[g>>2]=i;D_(m);l=p;return 1}function wU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+48|0;h=j+32|0;g=j+16|0;f=j;i=c[a>>2]|0;d=c[a+4>>2]|0;e=d+-1|0;a=0;while(1){if((a|0)>=(d|0)){a=1;break}m=i+(((e+a|0)%(d|0)|0)<<4)|0;k=i+(a<<4)|0;c[f>>2]=c[m>>2];c[f+4>>2]=c[m+4>>2];c[f+8>>2]=c[m+8>>2];c[f+12>>2]=c[m+12>>2];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];if((pV(f,g,h)|0)==1){a=0;break}else a=a+1|0}l=j;return a|0}function xU(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;m=u+48|0;k=u+32|0;s=4;j=C_(40)|0;c[j>>2]=0;n=u+16|0;q=u;r=c[d>>2]|0;i=c[d+4>>2]|0;s=D3(186600,1,j|0,s|0)|0;j=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1)d=z;else d=0;while(1){if(d|0){d=-1;break}o=0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];ja(28,n|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[e>>2]=c[n>>2];c[e+4>>2]=c[n+4>>2];c[e+8>>2]=c[n+8>>2];c[e+12>>2]=c[n+12>>2];h=e+16|0;o=0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];ja(28,q|0,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue};c[h>>2]=c[q>>2];c[h+4>>2]=c[q+4>>2];c[h+8>>2]=c[q+8>>2];c[h+12>>2]=c[q+12>>2];c[46689]=0;o=0;ia(112,4);d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,s|0,j|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;continue}g=c[46690]|0;d=c[46689]|0;c[46689]=d+1;d=g+(d<<4)|0;c[d>>2]=c[r>>2];c[d+4>>2]=c[r+4>>2];c[d+8>>2]=c[r+8>>2];c[d+12>>2]=c[r+12>>2];o=0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[m+8>>2]=c[h+8>>2];c[m+12>>2]=c[h+12>>2];d=fa(1,a|0,b|0,r|0,i|0,k|0,m|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,s|0,j|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1)d=z;else{t=8;break}}if((t|0)==8)if((d|0)==-1)d=-1;else{c[f+4>>2]=c[46689];c[f>>2]=c[46690];d=0}D_(s|0);l=u;return d|0}function yU(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0.0;d=+h[b>>3];e=b+8|0;f=+h[e>>3];i=f*f+d*d;g=+C(+i);if(i>1.0e-06){h[b>>3]=d/g;h[e>>3]=f/g};c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function zU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46693]|0)<(a|0)){b=c[46690]|0;if(!b){e=C_(a<<4)|0;c[46690]=e;if(!e){e=c[15686]|0;c[d>>2]=138749;c[d+4>>2]=531;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186600,1)}}else{d=F_(b,a<<4)|0;c[46690]=d;if(!d){d=c[15686]|0;c[e>>2]=138749;c[e+4>>2]=537;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186600,1)}}c[46693]=a}l=f;return}function AU(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0.0;R=l;l=l+336|0;J=R+320|0;I=R+304|0;w=R+144|0;q=R+128|0;G=R+112|0;H=R+96|0;Q=R+80|0;A=R+64|0;C=R+48|0;K=R+32|0;L=R+16|0;M=R;x=R+288|0;y=R+272|0;z=R+256|0;B=R+240|0;D=R+224|0;E=R+208|0;N=R+192|0;O=R+176|0;P=R+160|0;i=c[46692]|0;do if((c[46691]|0)<(e|0)){if(!i){i=C_(e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}else{i=F_(i,e*40|0)|0;c[46692]=i;if(!i){i=-1;break}}c[46691]=e;k=6}else k=6;while(0);if((k|0)==6){h[i>>3]=0.0;k=1;j=0.0;while(1){if((k|0)>=(e|0))break;n=d+(k<<4)|0;F=d+(k+-1<<4)|0;c[I>>2]=c[n>>2];c[I+4>>2]=c[n+4>>2];c[I+8>>2]=c[n+8>>2];c[I+12>>2]=c[n+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];v=+BU(I,J)+j;h[i+(k*40|0)>>3]=v;k=k+1|0;j=v}F=e+-1|0;n=i+(F*40|0)|0;k=1;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)|0;h[S>>3]=+h[S>>3]/+h[n>>3];k=k+1|0}k=0;while(1){if((k|0)>=(e|0))break;S=i+(k*40|0)+8|0;n=i+(k*40|0)|0;v=+CU(+h[n>>3]);c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];c[J+8>>2]=c[f+8>>2];c[J+12>>2]=c[f+12>>2];DU(x,J,v);c[S>>2]=c[x>>2];c[S+4>>2]=c[x+4>>2];c[S+8>>2]=c[x+8>>2];c[S+12>>2]=c[x+12>>2];S=i+(k*40|0)+24|0;v=+EU(+h[n>>3]);c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];DU(y,J,v);c[S>>2]=c[y>>2];c[S+4>>2]=c[y+4>>2];c[S+8>>2]=c[y+8>>2];c[S+12>>2]=c[y+12>>2];k=k+1|0}c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];FU(d,e,i,I,J,G,A,H,C);c[q>>2]=c[G>>2];c[q+4>>2]=c[G+4>>2];c[q+8>>2]=c[G+8>>2];c[q+12>>2]=c[G+12>>2];c[w>>2]=c[A>>2];c[w+4>>2]=c[A+4>>2];c[w+8>>2]=c[A+8>>2];c[w+12>>2]=c[A+12>>2];c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];if(!(GU(a,b,q,w,I,J,d,e)|0)){c[J>>2]=c[A>>2];c[J+4>>2]=c[A+4>>2];c[J+8>>2]=c[A+8>>2];c[J+12>>2]=c[A+12>>2];DU(z,J,.3333333333333333);c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[z>>2];c[J+4>>2]=c[z+4>>2];c[J+8>>2]=c[z+8>>2];c[J+12>>2]=c[z+12>>2];HU(B,I,J);v=+h[B>>3];u=+h[B+8>>3];c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];DU(D,J,.3333333333333333);c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];c[J>>2]=c[D>>2];c[J+4>>2]=c[D+4>>2];c[J+8>>2]=c[D+8>>2];c[J+12>>2]=c[D+12>>2];IU(E,I,J);t=+h[E>>3];p=+h[E+8>>3];q=c[46692]|0;r=+h[G>>3];s=+h[H>>3];o=+h[G+8>>3];m=+h[H+8>>3];n=Q+8|0;i=-1;j=-1.0;k=1;while(1){if((k|0)>=(F|0))break;T=+h[q+(k*40|0)>>3];U=+JU(T);V=+CU(T);W=+EU(T);T=+KU(T);h[Q>>3]=V*v+r*U+W*t+s*T;h[n>>3]=W*p+V*u+o*U+m*T;S=d+(k<<4)|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];T=+BU(I,J);S=T>j;i=S?k:i;j=S?T:j;k=k+1|0}S=d+(i<<4)|0;Q=d+(i+-1<<4)|0;c[I>>2]=c[S>>2];c[I+4>>2]=c[S+4>>2];c[I+8>>2]=c[S+8>>2];c[I+12>>2]=c[S+12>>2];c[J>>2]=c[Q>>2];c[J+4>>2]=c[Q+4>>2];c[J+8>>2]=c[Q+8>>2];c[J+12>>2]=c[Q+12>>2];IU(N,I,J);c[J>>2]=c[N>>2];c[J+4>>2]=c[N+4>>2];c[J+8>>2]=c[N+8>>2];c[J+12>>2]=c[N+12>>2];yU(L,J);Q=i+1|0;N=d+(Q<<4)|0;c[I>>2]=c[N>>2];c[I+4>>2]=c[N+4>>2];c[I+8>>2]=c[N+8>>2];c[I+12>>2]=c[N+12>>2];c[J>>2]=c[S>>2];c[J+4>>2]=c[S+4>>2];c[J+8>>2]=c[S+8>>2];c[J+12>>2]=c[S+12>>2];IU(O,I,J);c[J>>2]=c[O>>2];c[J+4>>2]=c[O+4>>2];c[J+8>>2]=c[O+8>>2];c[J+12>>2]=c[O+12>>2];yU(M,J);c[I>>2]=c[L>>2];c[I+4>>2]=c[L+4>>2];c[I+8>>2]=c[L+8>>2];c[I+12>>2]=c[L+12>>2];c[J>>2]=c[M>>2];c[J+4>>2]=c[M+4>>2];c[J+8>>2]=c[M+8>>2];c[J+12>>2]=c[M+12>>2];HU(P,I,J);c[J>>2]=c[P>>2];c[J+4>>2]=c[P+4>>2];c[J+8>>2]=c[P+8>>2];c[J+12>>2]=c[P+12>>2];yU(K,J);c[I>>2]=c[f>>2];c[I+4>>2]=c[f+4>>2];c[I+8>>2]=c[f+8>>2];c[I+12>>2]=c[f+12>>2];c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];AU(a,b,d,Q,I,J)|0;c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];c[J>>2]=c[g>>2];c[J+4>>2]=c[g+4>>2];c[J+8>>2]=c[g+8>>2];c[J+12>>2]=c[g+12>>2];AU(a,b,S,e-i|0,I,J)|0;i=0}else i=0}l=R;return i|0}function BU(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[b>>3]-+h[a>>3];d=+h[b+8>>3]-+h[a+8>>3];return +(+C(+(d*d+c*c)))}function CU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(a*3.0))}function DU(a,b,d){a=a|0;b=b|0;d=+d;var e=0;h[b>>3]=+h[b>>3]*d;e=b+8|0;h[e>>3]=+h[e>>3]*d;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function EU(a){a=+a;return +(a*a*3.0*(1.0-a))}function FU(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0,M=0;G=l;l=l+128|0;B=G+112|0;v=G+80|0;u=G;r=G+96|0;s=G+64|0;t=G+48|0;C=G+32|0;D=G+16|0;E=a+(b+-1<<4)|0;q=0;w=0.0;x=0.0;y=0.0;z=0.0;A=0.0;while(1){if((q|0)>=(b|0))break;K=d+(q*40|0)+8|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];H=+QU(v,B)+x;J=d+(q*40|0)+24|0;c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];p=+QU(v,B)+A;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[J>>2];c[B+4>>2]=c[J+4>>2];c[B+8>>2]=c[J+8>>2];c[B+12>>2]=c[J+12>>2];o=+QU(v,B)+y;L=a+(q<<4)|0;M=d+(q*40|0)|0;I=+RU(+h[M>>3]);c[B>>2]=c[a>>2];c[B+4>>2]=c[a+4>>2];c[B+8>>2]=c[a+8>>2];c[B+12>>2]=c[a+12>>2];DU(s,B,I);I=+SU(+h[M>>3]);c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];DU(t,B,I);c[v>>2]=c[s>>2];c[v+4>>2]=c[s+4>>2];c[v+8>>2]=c[s+8>>2];c[v+12>>2]=c[s+12>>2];c[B>>2]=c[t>>2];c[B+4>>2]=c[t+4>>2];c[B+8>>2]=c[t+8>>2];c[B+12>>2]=c[t+12>>2];HU(r,v,B);c[v>>2]=c[L>>2];c[v+4>>2]=c[L+4>>2];c[v+8>>2]=c[L+8>>2];c[v+12>>2]=c[L+12>>2];c[B>>2]=c[r>>2];c[B+4>>2]=c[r+4>>2];c[B+8>>2]=c[r+8>>2];c[B+12>>2]=c[r+12>>2];IU(u,v,B);c[v>>2]=c[K>>2];c[v+4>>2]=c[K+4>>2];c[v+8>>2]=c[K+8>>2];c[v+12>>2]=c[K+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];I=+QU(v,B)+w;c[v>>2]=c[J>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[v+12>>2]=c[J+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];q=q+1|0;w=I;x=H;y=o;z=+QU(v,B)+z;A=p}o=y*x-A*A;p=o>=0.0?o:-o;if(!(p>=1.0e-06?(m=(y*w-A*z)/o,n=(x*z-A*w)/o,!(p<1.0e-06|m<=0.0|n<=0.0)):0))F=6;if((F|0)==6){c[v>>2]=c[a>>2];c[v+4>>2]=c[a+4>>2];c[v+8>>2]=c[a+8>>2];c[v+12>>2]=c[a+12>>2];c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];m=+BU(v,B)*.3333333333333333;n=m};c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];DU(C,B,m);c[i>>2]=c[C>>2];c[i+4>>2]=c[C+4>>2];c[i+8>>2]=c[C+8>>2];c[i+12>>2]=c[C+12>>2];c[j>>2]=c[E>>2];c[j+4>>2]=c[E+4>>2];c[j+8>>2]=c[E+8>>2];c[j+12>>2]=c[E+12>>2];c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];DU(D,B,n);c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];l=G;return}function GU(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0,w=0.0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,E=0;C=l;l=l+64|0;B=C;z=(j|0)==2;y=+h[d>>3];u=+h[d+8>>3];v=B+8|0;w=+h[e>>3];x=B+16|0;p=+h[e+8>>3];q=B+24|0;r=+h[f>>3];s=+h[g>>3];t=B+32|0;o=+h[f+8>>3];n=+h[g+8>>3];e=B+40|0;f=B+48|0;g=B+56|0;d=1;k=4.0;m=4.0;while(1){h[B>>3]=y;h[v>>3]=u;D=m*.3333333333333333;h[x>>3]=D*w+y;h[q>>3]=D*p+u;D=k*.3333333333333333;h[t>>3]=r-D*s;h[e>>3]=o-D*n;h[f>>3]=r;h[g>>3]=o;if(d?(D=+LU(B,4),D<+LU(i,j)+-.001):0){d=0;break}if(MU(a,b,B)|0){A=5;break}if(m==0.0&k==0.0){A=9;break}E=m>.01;d=0;k=E?k*.5:0.0;m=E?m*.5:0.0}a:do if((A|0)==5){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else if((A|0)==9)if(z){zU((c[46689]|0)+4|0);e=c[46690]|0;d=1;while(1){if((d|0)==4){d=1;break a}E=c[46689]|0;h[e+(E<<4)>>3]=+h[B+(d<<4)>>3];D=+h[B+(d<<4)+8>>3];c[46689]=E+1;h[e+(E<<4)+8>>3]=D;d=d+1|0}}else d=0;while(0);l=C;return d|0}function HU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function IU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]-+h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]-+h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function JU(a){a=+a;a=1.0-a;return +(a*a*a)}function KU(a){a=+a;return +(a*a*a)}function LU(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0;c=0.0;d=1;while(1){if((d|0)>=(b|0))break;g=d+-1|0;e=+h[a+(d<<4)>>3]-+h[a+(g<<4)>>3];f=+h[a+(d<<4)+8>>3]-+h[a+(g<<4)+8>>3];c=+C(+(f*f+e*e))+c;d=d+1|0}return +c}function MU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;C=l;l=l+64|0;t=C+32|0;u=C;w=u+16|0;y=d+16|0;z=d+32|0;A=d+48|0;B=d+8|0;g=d+24|0;i=d+40|0;j=d+56|0;k=u+8|0;m=u+24|0;f=0;a:while(1){if((f|0)>=(b|0)){e=1;break}n=a+(f<<5)|0;c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];n=a+(f<<5)+16|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];n=NU(d,u,t)|0;b:do if((n|0)!=4){o=+h[u>>3];p=+h[k>>3];q=+h[w>>3];r=+h[m>>3];e=0;while(1){if((e|0)>=(n|0))break b;s=+h[t+(e<<3)>>3];if((!(s<1.0e-06|s>.999999)?(x=s*s*s,E=s*3.0,D=1.0-s,s=E*s*D,v=D*D,E=v*E,D=v*D,v=+h[y>>3]*E+ +h[d>>3]*D+ +h[z>>3]*s+ +h[A>>3]*x,x=+h[g>>3]*E+ +h[B>>3]*D+ +h[i>>3]*s+ +h[j>>3]*x,s=v-o,D=x-p,!(D*D+s*s<.001)):0)?(E=v-q,D=x-r,!(D*D+E*E<.001)):0){e=0;break a}e=e+1|0}}while(0);f=f+1|0}l=C;return e|0}function NU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+96|0;s=v+48|0;t=v+24|0;k=v;u=v+80|0;p=+h[b>>3];g=+h[b+16>>3]-p;q=+h[b+8>>3];j=+h[b+24>>3]-q;c[u>>2]=0;a:do if(!(g==0.0)){j=j/g;m=a+16|0;n=a+32|0;o=a+48|0;OU(+h[a+8>>3]-+h[a>>3]*j,+h[a+24>>3]-+h[m>>3]*j,+h[a+40>>3]-+h[n>>3]*j,+h[a+56>>3]-+h[o>>3]*j,s);h[s>>3]=j*p-q+ +h[s>>3];e=kV(s,t)|0;if((e|0)==4)b=4;else{f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/g;b=0;while(1){if((b|0)>=(e|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[a>>3],+h[m>>3],+h[n>>3],+h[o>>3],s),q=(+h[s>>3]-p+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,q>=0.0&q<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0}}else{OU(+h[a>>3],+h[a+16>>3],+h[a+32>>3],+h[a+48>>3],s);h[s>>3]=+h[s>>3]-p;r=kV(s,t)|0;if(!(j==0.0)){if((r|0)==4){b=4;break}m=a+8|0;n=a+24|0;o=a+40|0;e=a+56|0;f=s+8|0;i=s+16|0;k=s+24|0;g=1.0/j;b=0;while(1){if((b|0)>=(r|0))break;j=+h[t+(b<<3)>>3];if(j>=0.0&j<=1.0?(OU(+h[m>>3],+h[n>>3],+h[o>>3],+h[e>>3],s),p=(+h[s>>3]-q+((+h[k>>3]*j+ +h[i>>3])*j+ +h[f>>3])*j)*g,p>=0.0&p<=1.0):0)PU(j,d,u);b=b+1|0}b=c[u>>2]|0;break}OU(+h[a+8>>3],+h[a+24>>3],+h[a+40>>3],+h[a+56>>3],s);h[s>>3]=+h[s>>3]-q;i=kV(s,k)|0;b=(i|0)==4;b:do if((r|0)==4){if(b){b=4;break a}else b=0;while(1){if((b|0)>=(i|0))break b;PU(+h[k+(b<<3)>>3],d,u);b=b+1|0}}else{if(b){b=0;while(1){if((b|0)>=(r|0))break b;PU(+h[t+(b<<3)>>3],d,u);b=b+1|0}}else e=0;while(1){if((e|0)>=(r|0))break b;f=t+(e<<3)|0;b=0;while(1){if((b|0)>=(i|0))break;g=+h[f>>3];if(g==+h[k+(b<<3)>>3])PU(g,d,u);b=b+1|0}e=e+1|0}}while(0);b=c[u>>2]|0}while(0);l=v;return b|0}function OU(a,b,c,d,e){a=+a;b=+b;c=+c;d=+d;e=e|0;h[e+24>>3]=d-a+(b-c)*3.0;h[e+16>>3]=(c+a)*3.0-b*6.0;h[e+8>>3]=(b-a)*3.0;h[e>>3]=a;return}function PU(a,b,d){a=+a;b=b|0;d=d|0;var e=0;if(a>=0.0&a<=1.0){e=c[d>>2]|0;h[b+(e<<3)>>3]=a;c[d>>2]=e+1}return}function QU(a,b){a=a|0;b=b|0;return +(+h[b+8>>3]*+h[a+8>>3]+ +h[b>>3]*+h[a>>3])}function RU(a){a=+a;var b=0.0;b=1.0-a;return +(b*b*(b+a*3.0))}function SU(a){a=+a;return +(a*a*((1.0-a)*3.0+a))}function TU(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+112|0;E=H+80|0;D=H+64|0;C=H+48|0;G=4;F=C_(40)|0;c[F>>2]=0;w=H+32|0;x=H+16|0;y=H;A=H+96|0;G=D3(186776,1,F|0,G|0)|0;F=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1)e=z;else e=0;a:while(1){if(e|0){e=-2;break}g=a+4|0;o=0;ia(113,c[g>>2]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}c[46733]=0;c[46734]=0;o=0;ia(114,c[g>>2]<<1|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}m=(c[46736]|0)/2|0;c[46737]=m;c[46738]=m+-1;m=c[g>>2]|0;g=c[a>>2]|0;e=0;f=-1;i=t;while(1){if((e|0)>=(m|0))break;I=+h[g+(e<<4)>>3];v=i>I;u=v?e:f;e=e+1|0;f=u;i=v?I:i}v=g+(f<<4)|0;c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];v=g+(((f|0)==0?m:f)+-1<<4)|0;c[w>>2]=c[v>>2];c[w+4>>2]=c[v+4>>2];c[w+8>>2]=c[v+8>>2];c[w+12>>2]=c[v+12>>2];v=g+(((f|0)==(m+-1|0)?0:f+1|0)<<4)|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];I=+h[x>>3];if((+h[w>>3]==I?I==+h[y>>3]:0)?+h[y+8>>3]>+h[x+8>>3]:0)v=15;else v=12;b:do if((v|0)==12){v=0;o=0;e=ca(33,w|0,x|0,y|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((e|0)==1){g=c[46740]|0;e=c[46741]|0;f=0;while(1){if((f|0)>=(m|0))break b;j=c[a>>2]|0;if(!(((f|0)>0?(B=f+-1|0,+h[j+(f<<4)>>3]==+h[j+(B<<4)>>3]):0)?+h[j+(f<<4)+8>>3]==+h[j+(B<<4)+8>>3]:0)){u=c[46733]|0;c[g+(u<<3)>>2]=j+(f<<4);c[g+(u<<3)+4>>2]=g+(((u|0)%(m|0)|0)<<3);c[e+(u<<2)>>2]=g+(u<<3);c[46733]=u+1}f=f+1|0}}else v=15}while(0);c:do if((v|0)==15){v=0;j=c[46740]|0;e=c[46741]|0;g=m;while(1){f=g+-1|0;if((g|0)<=0)break c;k=c[a>>2]|0;if(((g|0)<(m|0)?+h[k+(f<<4)>>3]==+h[k+(g<<4)>>3]:0)?+h[k+(f<<4)+8>>3]==+h[k+(g<<4)+8>>3]:0){g=f;continue}g=c[46733]|0;c[j+(g<<3)>>2]=k+(f<<4);c[j+(g<<3)+4>>2]=j+(((g|0)%(m|0)|0)<<3);c[e+(g<<2)>>2]=j+(g<<3);c[46733]=g+1;g=f}}while(0);o=0;ja(29,e|0,c[46733]|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}j=0;e=c[46734]|0;d:while(1){if((j|0)>=(e|0)){s=0;break}k=j+1|0;g=k;while(1){if((g|0)>=(e|0)){j=k;continue d}o=0;ja(30,j|0,g|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue a}g=g+1|0;e=c[46734]|0}}while(1){if((s|0)>=(e|0))break;o=0;f=aa(103,s|0,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;s=s+1|0}if((s|0)==(e|0)){e=c[15686]|0;o=0;c[C>>2]=138776;c[C+4>>2]=192;c[C+8>>2]=138787;ca(29,e|0,138757,C|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=41;break}}u=b+16|0;k=0;while(1){if((k|0)>=(e|0))break;o=0;f=aa(103,k|0,u|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}if(f|0)break;k=k+1|0}if((k|0)==(e|0)){e=c[15686]|0;o=0;c[D>>2]=138776;c[D+4>>2]=200;c[D+8>>2]=138820;ca(29,e|0,138757,D|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=48;break}}o=0;e=aa(104,s|0,k|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,G|0,F|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}if(!e){e=c[15686]|0;o=0;c[E>>2]=138776;c[E+4>>2]=207;c[E+8>>2]=138858;ca(29,e|0,138757,E|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=53;break}}if((s|0)==(k|0)){o=0;ia(115,2);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,G|0,F|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;continue}else{v=56;break}}c[A>>2]=b;c[A+4>>2]=0;f=A+8|0;c[f>>2]=u;c[A+12>>2]=0;o=0;ja(31,1,A|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue}c[46739]=c[46737];q=s;e:while(1){if((q|0)==-1){g=f;e=0;break}r=c[46743]|0;c[r+(q*52|0)>>2]=2;e=0;while(1){if((e|0)>=3){v=65;break}v=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(v|0?(c[v>>2]|0)==1:0){v=68;break}e=e+1|0}if((v|0)==65){v=0;if((e|0)==3){e=c[46735]|0;k=c[e+(c[46738]<<2)>>2]|0;o=0;e=ca(33,u|0,c[c[e+(c[46737]<<2)>>2]>>2]|0,c[k>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?f:k;j=j?k:f}else v=68}if((v|0)==68){v=0;k=c[r+(q*52|0)+4+(e<<4)>>2]|0;m=c[r+(q*52|0)+4+(e<<4)+4>>2]|0;o=0;e=ca(33,c[k>>2]|0,c[c[r+(q*52|0)+4+(((e+1|0)%3|0)<<4)+4>>2]>>2]|0,c[m>>2]|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1){e=z;continue a}j=(e|0)==1;n=j?k:m;j=j?m:k}do if((q|0)==(s|0)){o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}e=0}else{m=c[46735]|0;if((c[m+(c[46737]<<2)>>2]|0)!=(n|0)?(c[m+(c[46738]<<2)>>2]|0)!=(n|0):0){o=0;j=$(34,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,1,n|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((j|0)<=(c[46739]|0)){e=0;break}c[46739]=j;e=0;break}o=0;k=$(34,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(32,1,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}o=0;ja(31,2,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){g=E3(c[e>>2]|0,G|0,F|0)|0;if(!g)bb(e|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;continue a}if((k|0)>=(c[46739]|0)){e=0;break}c[46739]=k;e=0}while(0);while(1){if((e|0)>=3){q=-1;continue e}g=c[r+(q*52|0)+4+(e<<4)+12>>2]|0;if(g|0?(c[g>>2]|0)==1:0)break;e=e+1|0}q=(g-(c[46743]|0)|0)/52|0}while(1){if(!g)break;g=c[g+4>>2]|0;e=e+1|0}o=0;ia(115,e|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){j=E3(c[g>>2]|0,G|0,F|0)|0;if(!j)bb(g|0,p|0);z=p}else j=-1;if((j|0)==1)e=z;else{v=94;break}}if((v|0)==41)e=-1;else if((v|0)==48)e=-1;else if((v|0)==53){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==56){c[d+4>>2]=2;e=c[46742]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];F=e+16|0;c[F>>2]=c[u>>2];c[F+4>>2]=c[u+4>>2];c[F+8>>2]=c[u+8>>2];c[F+12>>2]=c[u+12>>2];c[d>>2]=e;e=0}else if((v|0)==94){c[d+4>>2]=e;g=c[46742]|0;while(1){e=e+-1|0;if(!f)break;F=g+(e<<4)|0;E=c[f>>2]|0;c[F>>2]=c[E>>2];c[F+4>>2]=c[E+4>>2];c[F+8>>2]=c[E+8>>2];c[F+12>>2]=c[E+12>>2];f=c[f+4>>2]|0}c[d>>2]=g;e=0}D_(G|0);l=H;return e|0}function UU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;e=h+48|0;g=h+32|0;f=h+16|0;d=h;if((c[46746]|0)<(a|0)){b=c[46740]|0;if(!b){g=C_(a<<3)|0;c[46740]=g;if(!g){g=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=523;c[d+8>>2]=139026;g1(g,138757,d)|0;bb(186776,1)}g=C_(a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[f>>2]=138776;c[f+4>>2]=527;c[f+8>>2]=139045;g1(g,138757,f)|0;bb(186776,1)}}else{f=F_(b,a<<3)|0;c[46740]=f;if(!f){f=c[15686]|0;c[g>>2]=138776;c[g+4>>2]=533;c[g+8>>2]=139065;g1(f,138757,g)|0;bb(186776,1)}g=F_(c[46741]|0,a<<2)|0;c[46741]=g;if(!g){g=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=539;c[e+8>>2]=139085;g1(g,138757,e)|0;bb(186776,1)}}c[46746]=a}l=h;return}function VU(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46736]|0)<(a|0)){b=c[46735]|0;if(!b){e=C_(a<<2)|0;c[46735]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=573;c[d+8>>2]=138981;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<2)|0;c[46735]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=580;c[e+8>>2]=139003;g1(d,138757,e)|0;bb(186776,1)}}c[46736]=a}l=f;return}function WU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>0.0?1:d<0.0?2:3)|0}function XU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a:while(1){if((b|0)>3)e=0;else{b=9;break}while(1){if((e|0)>=(b|0)){b=8;break a}f=e+1|0;d=(f|0)%(b|0)|0;g=(e+2|0)%(b|0)|0;if(!(dV(e,g,a,b)|0))e=f;else break}eV(c[a+(e<<2)>>2]|0,c[a+(d<<2)>>2]|0,c[a+(g<<2)>>2]|0);b=b+-1|0;while(1){if((d|0)>=(b|0))continue a;g=d+1|0;c[a+(d<<2)>>2]=c[a+(g<<2)>>2];d=g}}if((b|0)==8){a=c[15686]|0;c[h>>2]=138776;c[h+4>>2]=324;c[h+8>>2]=138921;g1(a,138757,h)|0}else if((b|0)==9)eV(c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0);l=i;return}function YU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[46743]|0;j=i+(a*52|0)|0;k=i+(b*52|0)|0;g=0;while(1){if((g|0)==3)break;l=i+(a*52|0)+4+(g<<4)|0;m=i+(a*52|0)+4+(g<<4)+4|0;n=i+(a*52|0)+4+(g<<4)+12|0;f=0;while(1){if((f|0)==3)break;o=c[c[l>>2]>>2]|0;h=c[c[i+(b*52|0)+4+(f<<4)>>2]>>2]|0;if((o|0)==(h|0)){d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;if((c[c[m>>2]>>2]|0)==(d|0))e=10;else e=8}else{d=c[c[i+(b*52|0)+4+(f<<4)+4>>2]>>2]|0;e=8}if(((e|0)==8?(e=0,(o|0)==(d|0)):0)?(c[c[m>>2]>>2]|0)==(h|0):0)e=10;if((e|0)==10){c[n>>2]=k;c[i+(b*52|0)+4+(f<<4)+12>>2]=j}f=f+1|0}g=g+1|0}return}function ZU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[46743]|0;d=0;e=0;while(1){if((e|0)==3)break;d=d+((WU(c[c[f+(a*52|0)+4+(e<<4)>>2]>>2]|0,c[c[f+(a*52|0)+4+(e<<4)+4>>2]>>2]|0,b)|0)!=2&1)|0;e=e+1|0}return ((d|0)==3|(d|0)==0)&1|0}function _U(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46743]|0;e=d+(a*52|0)|0;a:do if(!(c[e>>2]|0)){c[e>>2]=1;if((a|0)==(b|0))d=1;else{f=0;while(1){if((f|0)>=3)break;e=c[d+(a*52|0)+4+(f<<4)+12>>2]|0;if(e){if(_U((e-d|0)/52|0,b)|0){d=1;break a}d=c[46743]|0}f=f+1|0}c[d+(a*52|0)>>2]=0;d=0}}else d=0;while(0);return d|0}function $U(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46744]|0)<(a|0)){b=c[46742]|0;if(!b){e=C_(a<<4)|0;c[46742]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=593;c[d+8>>2]=138884;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a<<4)|0;c[46742]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=599;c[e+8>>2]=138902;g1(d,138757,e)|0;bb(186776,1)}}c[46744]=a}l=f;return}function aV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[46738]|0;e=c[46737]|0;f=(d|0)>=(e|0);if((a|0)==1)if(f){c[b+4>>2]=c[(c[46735]|0)+(e<<2)>>2];a=186948;d=-1}else{a=186948;d=-1}else if(f){c[b+4>>2]=c[(c[46735]|0)+(d<<2)>>2];a=186952;d=1}else{a=186952;d=1}f=(c[a>>2]|0)+d|0;c[a>>2]=f;c[(c[46735]|0)+(f<<2)>>2]=b;return}function bV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46739]|0;g=c[46735]|0;b=c[46737]|0;while(1){if((b|0)>=(f|0)){e=4;break}d=b+1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==1)break;else b=d}a:do if((e|0)==4){b=c[46738]|0;while(1){if((b|0)<=(f|0)){b=f;break a}d=b+-1|0;if((WU(c[c[g+(d<<2)>>2]>>2]|0,c[c[g+(b<<2)>>2]>>2]|0,c[a>>2]|0)|0)==2)break;else b=d}}while(0);return b|0}function cV(a,b){a=a|0;b=b|0;c[((a|0)==1?186952:186948)>>2]=b;return}function dV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[c[d+(((a+-1+e|0)%(e|0)|0)<<2)>>2]>>2]|0;i=c[c[d+(a<<2)>>2]>>2]|0;g=c[c[d+(((a+1|0)%(e|0)|0)<<2)>>2]>>2]|0;k=(WU(f,i,g)|0)==1;j=c[c[d+(b<<2)>>2]>>2]|0;if(k)if((WU(i,j,f)|0)==1){f=WU(j,i,g)|0;g=1;h=5}else f=0;else{f=WU(i,j,g)|0;g=2;h=5}a:do if((h|0)==5)if((f|0)==(g|0)){f=0;while(1){if((f|0)>=(e|0)){f=1;break a}g=f;f=f+1|0;h=(f|0)%(e|0)|0;if((h|0)==(b|0)|((g|0)==(b|0)|((g|0)==(a|0)|(h|0)==(a|0))))continue;if(gV(i,j,c[c[d+(g<<2)>>2]>>2]|0,c[c[d+(h<<2)>>2]>>2]|0)|0){f=0;break}}}else f=0;while(0);return f|0}function eV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=c[46734]|0;f=c[46745]|0;if((e|0)<(f|0))h=e;else{fV(f+20|0);h=c[46734]|0}g=c[46743]|0;c[46734]=h+1;f=g+(h*52|0)|0;c[f>>2]=0;c[g+(h*52|0)+4>>2]=a;c[g+(h*52|0)+8>>2]=b;c[g+(h*52|0)+16>>2]=0;c[g+(h*52|0)+20>>2]=b;c[g+(h*52|0)+24>>2]=d;c[g+(h*52|0)+32>>2]=0;c[g+(h*52|0)+36>>2]=d;c[g+(h*52|0)+40>>2]=a;c[g+(h*52|0)+48>>2]=0;e=0;while(1){if((e|0)==3)break;c[g+(h*52|0)+4+(e<<4)+8>>2]=f;e=e+1|0}return}function fV(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+32|0;e=f+16|0;d=f;if((c[46745]|0)<(a|0)){b=c[46743]|0;if(!b){e=C_(a*52|0)|0;c[46743]=e;if(!e){e=c[15686]|0;c[d>>2]=138776;c[d+4>>2]=552;c[d+8>>2]=138942;g1(e,138757,d)|0;bb(186776,1)}}else{d=F_(b,a*52|0)|0;c[46743]=d;if(!d){d=c[15686]|0;c[e>>2]=138776;c[e+4>>2]=558;c[e+8>>2]=138961;g1(d,138757,e)|0;bb(186776,1)}}c[46745]=a}l=f;return}function gV(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;f=WU(a,b,c)|0;if((((f|0)!=3?(g=WU(a,b,d)|0,(g|0)!=3):0)?(h=WU(c,d,a)|0,(h|0)!=3):0)?(e=WU(c,d,b)|0,(e|0)!=3):0)return ((f|0)==1^(g|0)==1)&((h|0)==1^(e|0)==1)&1|0;if(((hV(a,b,c)|0)==0?(hV(a,b,d)|0)==0:0)?(hV(c,d,a)|0)==0:0)return (hV(c,d,b)|0)!=0|0;return 1}function hV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;e=+h[a>>3];g=+h[b>>3]-e;f=+h[a+8>>3];d=+h[b+8>>3]-f;e=+h[c>>3]-e;f=+h[c+8>>3]-f;if((WU(a,b,c)|0)==3?f*d+e*g>=0.0:0)a=f*f+e*e<=d*d+g*g&1;else a=0;return a|0}function iV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;m=C_(d<<2)|0;n=C_((d<<3)+8|0)|0;o=n+8|0;f=0;while(1){if((f|0)>=(d|0))break;c[m+(f<<2)>>2]=-1;h[o+(f<<3)>>3]=-2147483647.0;f=f+1|0}h[n>>3]=-2147483648.0;a:while(1){if((a|0)==(b|0))break;l=o+(a<<3)|0;j=+h[l>>3];h[l>>3]=j==-2147483647.0?0.0:-j;k=0;f=-1;while(1){if((k|0)>=(d|0)){a=f;continue a}i=o+(k<<3)|0;g=+h[i>>3];if(g<0.0){q=(a|0)<(k|0);p=+h[(c[e+((q?k:a)<<2)>>2]|0)+((q?a:k)<<3)>>3];j=-(p+ +h[l>>3]);if(p!=0.0&g<j){h[i>>3]=j;c[m+(k<<2)>>2]=a;g=j}f=g>+h[o+(f<<3)>>3]?k:f}k=k+1|0}}D_(n);return m|0}function jV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+16|0;m=j;i=c[h+4>>2]|0;c[m>>2]=c[a>>2];c[m+4>>2]=c[a+4>>2];c[m+8>>2]=c[a+8>>2];c[m+12>>2]=c[a+12>>2];c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];if(!(CV(m,b,k,f,h)|0)){a=c[h+24>>2]|0;c[a+(i<<2)>>2]=g;m=i+1|0;c[a+(m<<2)>>2]=d;a=iV(m,i,i+2|0,a)|0}else{a=C_((i<<2)+8|0)|0;m=i+1|0;c[a+(i<<2)>>2]=m;c[a+(m<<2)>>2]=-1}l=j;return a|0}function kV(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;d=+h[a+24>>3];a:do if(d<1.0e-07&d>-1.0e-07)a=lV(a,b)|0;else{g=+h[a+16>>3]/(d*3.0);f=+h[a+8>>3]/d;e=g*g;d=g*2.0*e-g*f+ +h[a>>3]/d;e=f*.3333333333333333-e;e=e*e*4.0*e;f=d*d+e;if(!(f<0.0)){i=(+C(+f)-d)*.5;e=+n$(i);d=+n$(-d-i)+e;h[b>>3]=d;if(f>0.0)a=1;else{d=d*-.5;h[b+16>>3]=d;a=1;c=7}}else{i=+K(+(+C(+-f)),+-d);d=+n$(+C(+-e)*.5)*2.0;h[b>>3]=d*+E(+(i*.3333333333333333));h[b+8>>3]=+E(+((i+6.283185307179586)*.3333333333333333))*d;d=+E(+((i+-6.283185307179586)*.3333333333333333))*d;a=2;c=7}if((c|0)==7){h[b+(a<<3)>>3]=d;a=3}c=0;while(1){if((c|0)>=(a|0))break a;j=b+(c<<3)|0;h[j>>3]=+h[j>>3]-g;c=c+1|0}}while(0);return a|0}function lV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(!(c<1.0e-07&c>-1.0e-07)){d=+h[a+8>>3]/(c*2.0);c=d*d-+h[a>>3]/c;if(!(c<0.0))if(c==0.0){h[b>>3]=-d;a=1;break}else{c=+C(+c)-d;h[b>>3]=c;h[b+8>>3]=d*-2.0-c;a=2;break}else a=0}else a=mV(a,b)|0;while(0);return a|0}function mV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[a>>3];if(d<1.0e-07&d>-1.0e-07)a=c<1.0e-07&c>-1.0e-07?4:0;else{h[b>>3]=-c/d;a=1}return a|0}function nV(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function oV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=c[a+4>>2]|0;i=(e*3|0)+-2|0;d=c[46748]|0;if((i|0)>(c[46747]|0)){if(!d)d=C_(i<<4)|0;else d=F_(d,i<<4)|0;c[46748]=d;c[46747]=i;h=d;g=d}else{h=d;g=d}f=c[a>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];G3(h+16|0,f|0,16)|0;e=e+-1|0;d=1;a=2;while(1){if((d|0)>=(e|0))break;j=h+(a+2<<4)|0;k=h+(a+1<<4)|0;m=h+(a<<4)|0;l=f+(d<<4)|0;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];G3(k|0,l|0,16)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];d=d+1|0;a=a+3|0}l=h+(a<<4)|0;m=f+(d<<4)|0;c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];c[l+8>>2]=c[m+8>>2];c[l+12>>2]=c[m+12>>2];G3(h+(a+1<<4)|0,m|0,16)|0;c[b+4>>2]=i;c[b>>2]=g;return}function pV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];d=(+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d);return (d>.0001?1:(d<-.0001)<<31>>31)|0}function qV(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[a>>3];f=+h[b>>3];if(e!=f){d=+h[c>>3];if(!(e<d&d<f))if(f<d)a=d<e;else a=0;else a=1}else{f=+h[a+8>>3];e=+h[c+8>>3];d=+h[b+8>>3];if(!(f<e&e<d))if(d<e)a=e<f;else a=0;else a=1}return a&1|0}function rV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+32|0;h=m+16|0;g=m;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];j=pV(g,h,i)|0;if((j|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],(qV(g,h,i)|0)!=0):0)f=1;else k=3;do if((k|0)==3){c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];f=pV(g,h,i)|0;if((f|0)==0?(c[g>>2]=c[a>>2],c[g+4>>2]=c[a+4>>2],c[g+8>>2]=c[a+8>>2],c[g+12>>2]=c[a+12>>2],c[h>>2]=c[b>>2],c[h+4>>2]=c[b+4>>2],c[h+8>>2]=c[b+8>>2],c[h+12>>2]=c[b+12>>2],c[i>>2]=c[e>>2],c[i+4>>2]=c[e+4>>2],c[i+8>>2]=c[e+8>>2],c[i+12>>2]=c[e+12>>2],qV(g,h,i)|0):0){f=1;break};c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];a=pV(g,h,i)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];c[h+8>>2]=c[e+8>>2];c[h+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];k=(O(f,j)|0)<0;f=(O(pV(g,h,i)|0,a)|0)>>>31;f=k?f:0}while(0);l=m;return f|0}function sV(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function tV(a){a=a|0;c[a+24>>2]=uV(c[a+4>>2]|0)|0;vV(a);return}function uV(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+2|0;f=C_(e<<2)|0;b=E_(O(a,a)|0,8)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=b;b=b+(a<<3)|0;d=d+1|0}while(1){if((a|0)>=(e|0))break;c[f+(a<<2)>>2]=0;a=a+1|0}return f|0}function vV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;p=l;l=l+32|0;i=p+16|0;g=p;j=c[a+4>>2]|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=c[a+20>>2]|0;d=c[a+24>>2]|0;b=0;while(1){if((b|0)>=(j|0))break;q=c[o+(b<<2)>>2]|0;e=m+(b<<4)|0;f=m+(q<<4)|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];r=+wV(g,i);f=c[d+(b<<2)>>2]|0;h[f+(q<<3)>>3]=r;h[(c[d+(q<<2)>>2]|0)+(b<<3)>>3]=r;a=b+-1|0;a=(q|0)==(a|0)?b+-2|0:a;while(1){if((a|0)<=-1)break;if((xV(b,a,m,n,o)|0?xV(a,b,m,n,o)|0:0)?(k=m+(a<<4)|0,c[g>>2]=c[e>>2],c[g+4>>2]=c[e+4>>2],c[g+8>>2]=c[e+8>>2],c[g+12>>2]=c[e+12>>2],c[i>>2]=c[k>>2],c[i+4>>2]=c[k+4>>2],c[i+8>>2]=c[k+8>>2],c[i+12>>2]=c[k+12>>2],yV(g,i,j,j,j,m,n)|0):0){c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];r=+wV(g,i);h[f+(a<<3)>>3]=r;h[(c[d+(a<<2)>>2]|0)+(b<<3)>>3]=r}a=a+-1|0}b=b+1|0}l=p;return}function wV(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+16|0;g=e;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];d=+C(+(+sV(g,f)));l=e;return +d}function xV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+64|0;h=g+48|0;i=g+32|0;j=g+16|0;k=g;n=d+(c[f+(a<<2)>>2]<<4)|0;m=d+(a<<4)|0;e=d+(c[e+(a<<2)>>2]<<4)|0;f=d+(b<<4)|0;c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];f=zV(k,j,i,h)|0;l=g;return f|0}function yV(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+64|0;n=p+48|0;m=p+32|0;k=p+16|0;j=p;i=0;while(1){if((i|0)>=(d|0)){o=4;break}r=g+(i<<4)|0;q=g+(c[h+(i<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[r>>2];c[m+4>>2]=c[r+4>>2];c[m+8>>2]=c[r+8>>2];c[m+12>>2]=c[r+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];if(!(rV(j,k,m,n)|0))i=i+1|0;else{e=0;break}}a:do if((o|0)==4)while(1){if((e|0)>=(f|0)){e=1;break a}q=g+(e<<4)|0;r=g+(c[h+(e<<2)>>2]<<4)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[r>>2];c[n+4>>2]=c[r+4>>2];c[n+8>>2]=c[r+8>>2];c[n+12>>2]=c[r+12>>2];if(!(rV(j,k,m,n)|0)){e=e+1|0;o=4}else{e=0;break}}while(0);l=p;return e|0}function zV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+48|0;h=g+32|0;i=g+16|0;j=g;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[a>>2];c[i+4>>2]=c[a+4>>2];c[i+8>>2]=c[a+8>>2];c[i+12>>2]=c[a+12>>2];c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];f=pV(j,i,h)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];e=pV(j,i,h)|0;c[j>>2]=c[a>>2];c[j+4>>2]=c[a+4>>2];c[j+8>>2]=c[a+8>>2];c[j+12>>2]=c[a+12>>2];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];d=(pV(j,i,h)|0)>0;l=g;return (d?e|f:e&f)>>>31^1|0}function AV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+80|0;j=s+64|0;i=s+48|0;g=s+32|0;k=s+16|0;o=s;p=c[a+4>>2]|0;q=c[a+8>>2]|0;r=c[a+16>>2]|0;m=c[a+20>>2]|0;n=C_((p<<3)+16|0)|0;if((b|0)==-2222){c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];b=BV(a,j)|0}if((b|0)>-1){a=c[a+12>>2]|0;f=c[a+(b+1<<2)>>2]|0;a=c[a+(b<<2)>>2]|0}else{f=p;a=p}b=0;while(1){if((b|0)>=(a|0)){b=a;break}u=q+(b<<4)|0;c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];u=q+(c[m+(b<<2)>>2]<<4)|0;t=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[k+8>>2]=c[u+8>>2];c[k+12>>2]=c[u+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}while(1){if((b|0)>=(f|0)){b=f;break}h[n+(b<<3)>>3]=0.0;b=b+1|0}while(1){if((b|0)>=(p|0))break;t=q+(b<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=q+(c[m+(b<<2)>>2]<<4)|0;u=q+(c[r+(b<<2)>>2]<<4)|0;c[k>>2]=c[t>>2];c[k+4>>2]=c[t+4>>2];c[k+8>>2]=c[t+8>>2];c[k+12>>2]=c[t+12>>2];c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];if((zV(k,g,i,j)|0)!=0?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[j>>2]=c[o>>2],c[j+4>>2]=c[o+4>>2],c[j+8>>2]=c[o+8>>2],c[j+12>>2]=c[o+12>>2],(yV(i,j,a,f,p,q,r)|0)!=0):0){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[j+12>>2]=c[o+12>>2];e=+wV(i,j)}else e=0.0;h[n+(b<<3)>>3]=e;b=b+1|0}h[n+(p<<3)>>3]=0.0;h[n+(p+1<<3)>>3]=0.0;l=s;return n|0}function BV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;f=m+8|0;e=m;h=m+24|0;i=a+8|0;j=a+12|0;k=h+4|0;d=0;while(1){if((d|0)>=(c[a>>2]|0)){d=-1111;break}o=c[j>>2]|0;n=c[o+(d<<2)>>2]|0;c[h>>2]=(c[i>>2]|0)+(n<<4);g=d+1|0;c[k>>2]=(c[o+(g<<2)>>2]|0)-n;c[e>>2]=c[h>>2];c[e+4>>2]=c[h+4>>2];c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];if(!(wU(e,f)|0))d=g;else break}l=m;return d|0}function CV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;n=t+48|0;m=t+32|0;p=t+16|0;o=t;r=c[f+4>>2]|0;s=c[f+8>>2]|0;q=c[f+16>>2]|0;g=(e|0)<0;do if((b|0)<0)if(g){g=0;i=0;f=0;h=0}else{b=c[f+12>>2]|0;f=0;h=0;i=e;j=b;b=b+(e<<2)|0;k=9}else{if(g){k=c[f+12>>2]|0;f=0;h=0;i=b;j=k;b=k+(b<<2)|0;k=9;break}g=c[f+12>>2]|0;if((b|0)>(e|0)){f=c[g+(e+1<<2)>>2]|0;h=c[g+(e<<2)>>2]|0;i=b;j=g;b=g+(b<<2)|0;k=9;break}else{f=c[g+(b+1<<2)>>2]|0;h=c[g+(b<<2)>>2]|0;i=e;j=g;b=g+(e<<2)|0;k=9;break}}while(0);if((k|0)==9){g=c[j+(i+1<<2)>>2]|0;i=c[b>>2]|0}b=0;while(1){if((b|0)>=(h|0)){k=13;break}j=s+(b<<4)|0;e=s+(c[q+(b<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];if(!(rV(o,p,m,n)|0))b=b+1|0;else{g=0;break}}a:do if((k|0)==13){while(1){if((f|0)>=(i|0))break;e=s+(f<<4)|0;k=s+(c[q+(f<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0)){f=f+1|0;k=13}else{g=0;break a}}while(1){if((g|0)>=(r|0)){g=1;break a}e=s+(g<<4)|0;k=s+(c[q+(g<<2)>>2]<<4)|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];c[p>>2]=c[d>>2];c[p+4>>2]=c[d+4>>2];c[p+8>>2]=c[d+8>>2];c[p+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];if(!(rV(o,p,m,n)|0))g=g+1|0;else{g=0;break}}}while(0);l=t;return g|0}function DV(a){a=a|0;return EV(a,0,0)|0}function EV(a,b,c){a=a|0;b=b|0;c=c|0;return FV(a,b,c,0)|0}function FV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!d){g=C_(496)|0;if(!g)g=0;else{c[g+12>>2]=35;c[g+16>>2]=105;c[g+20>>2]=103;d=35;h=6}}else{g=kb[c[d>>2]&63](496)|0;if(!g)g=0;else{h=c[d>>2]|0;c[g+12>>2]=h;c[g+16>>2]=c[d+4>>2];c[g+20>>2]=c[d+8>>2];d=h;h=6}}do if((h|0)==6){c[g+8>>2]=0;c[g+32>>2]=0;c[g+376>>2]=16;j=g+12|0;i=kb[d&63](256)|0;d=g+388|0;c[d>>2]=i;if(!i){tb[c[g+20>>2]&127](g);g=0;break}h=kb[c[j>>2]&63](1024)|0;i=g+44|0;c[i>>2]=h;if(!h){e=g+20|0;tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}c[g+48>>2]=h+1024;if(!f){f=GV(j)|0;c[g+352>>2]=f;if(!f){e=g+20|0;tb[c[e>>2]&127](c[i>>2]|0);tb[c[e>>2]&127](c[d>>2]|0);tb[c[e>>2]&127](g);g=0;break}}else c[g+352>>2]=f;c[g+372>>2]=0;c[g+364>>2]=0;c[g+300>>2]=0;c[g+464>>2]=0;c[g+460>>2]=0;c[g+124>>2]=0;c[g+244>>2]=0;d=g+468|0;a[d>>0]=33;h=g+232|0;a[h>>0]=0;a[g+233>>0]=0;c[g+392>>2]=0;c[g+396>>2]=0;a[g+400>>0]=0;f=g+228|0;c[f>>2]=0;HV(g+412|0,j);HV(g+436|0,j);IV(g,b);if(b|0?(c[f>>2]|0)==0:0){JV(g);g=0;break}if(!e){c[g+224>>2]=TX()|0;break}else{a[h>>0]=1;c[g+224>>2]=xZ()|0;a[d>>0]=a[e>>0]|0;break}}while(0);return g|0}function GV(b){b=b|0;var d=0;d=kb[c[b>>2]&63](188)|0;if(d|0){HV(d+80|0,b);HV(d+104|0,b);QW(d,b);QW(d+20|0,b);QW(d+40|0,b);QW(d+60|0,b);a[d+131>>0]=0;QW(d+132|0,b);c[d+152>>2]=0;c[d+156>>2]=0;a[d+160>>0]=0;b=d+164|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;a[d+128>>0]=1;a[d+129>>0]=0;a[d+130>>0]=0}return d|0}function HV(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=b;return}function IV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+276>>2]=56;EZ(d+252|0);if(e|0)c[d+228>>2]=RV(e,d+12|0)|0;c[d+356>>2]=0;HY(d+148|0,d+144|0,0)|0;c[d>>2]=0;c[d+4>>2]=0;e=d+116|0;g=d+52|0;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[e>>2]=d;c[d+120>>2]=0;e=d+128|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;e=c[d+8>>2]|0;c[d+24>>2]=e;c[d+28>>2]=e;c[d+36>>2]=0;c[d+40>>2]=0;e=d+312|0;g=d+404|0;c[g>>2]=0;c[g+4>>2]=0;g=d+280|0;f=d+304|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;g=e;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));b[e+36>>1]=0;a[f>>0]=1;c[d+308>>2]=0;c[d+360>>2]=0;c[d+368>>2]=0;c[d+380>>2]=0;c[d+236>>2]=0;c[d+248>>2]=0;c[d+240>>2]=0;c[d+472>>2]=0;c[d+476>>2]=0;a[d+484>>0]=0;a[d+485>>0]=0;c[d+488>>2]=0;c[d+492>>2]=0;return}function JV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(b|0){e=b+364|0;g=b+20|0;d=c[b+360>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d>>2]|0;tb[c[g>>2]&127](c[d+36>>2]|0);KV(c[d+44>>2]|0,b);tb[c[g>>2]&127](d);d=h}e=b+300|0;d=c[b+296>>2]|0;while(1){if(!d){d=c[e>>2]|0;if(!d)break;c[e>>2]=0}h=c[d+8>>2]|0;tb[c[g>>2]&127](d);d=h}KV(c[b+372>>2]|0,b);KV(c[b+368>>2]|0,b);LV(b+412|0);LV(b+436|0);d=b+12|0;tb[c[g>>2]&127](c[b+228>>2]|0);if((a[b+484>>0]|0)==0?(f=c[b+352>>2]|0,f|0):0)MV(f,(c[b+472>>2]|0)==0&1,d);tb[c[g>>2]&127](c[b+388>>2]|0);tb[c[g>>2]&127](c[b+460>>2]|0);tb[c[g>>2]&127](c[b+8>>2]|0);tb[c[g>>2]&127](c[b+44>>2]|0);tb[c[g>>2]&127](c[b+392>>2]|0);tb[c[g>>2]&127](c[b+236>>2]|0);d=c[b+248>>2]|0;if(d|0)tb[d&127](c[b+240>>2]|0);tb[c[g>>2]&127](b)}return}function KV(a,b){a=a|0;b=b|0;var d=0;b=b+20|0;while(1){if(!a)break;d=c[a+4>>2]|0;tb[c[b>>2]&127](c[a+16>>2]|0);tb[c[b>>2]&127](a);a=d}return}function LV(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;b=c[a>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}b=c[a+4>>2]|0;while(1){if(!b)break;e=c[b>>2]|0;tb[c[(c[d>>2]|0)+8>>2]&127](b);b=e}return}function MV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+20|0;NV(f,g);d=d+8|0;while(1){e=OV(f)|0;if(!e)break;if(!(c[e+16>>2]|0))continue;tb[c[d>>2]&127](c[e+20>>2]|0)}PV(a);PV(a+132|0);PV(g);PV(a+40|0);PV(a+60|0);LV(a+80|0);LV(a+104|0);if(b<<24>>24){tb[c[d>>2]&127](c[a+184>>2]|0);tb[c[d>>2]&127](c[a+164>>2]|0)}tb[c[d>>2]&127](a);l=h;return}function NV(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=d;c[a+4>>2]=d+(c[b+8>>2]<<2);return}function OV(a){a=a|0;var b=0,d=0,e=0;d=c[a+4>>2]|0;e=c[a>>2]|0;do{if((e|0)==(d|0)){b=0;break}b=e;e=e+4|0;c[a>>2]=e;b=c[b>>2]|0}while(!(b|0));return b|0}function PV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=a+8|0;e=a+16|0;b=0;while(1){f=c[(c[e>>2]|0)+8>>2]|0;g=c[a>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0)break;tb[f&127](c[g+(b<<2)>>2]|0);b=b+1|0}tb[f&127](g);return}function QV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=SV(a)|0;if(!f){c[a+276>>2]=57;f=TV(a,b,d,e)|0}return f|0}function RV(b,d){b=b|0;d=d|0;var e=0,f=0;e=0;do{f=e;e=e+1|0}while((a[b+f>>0]|0)!=0);d=kb[c[d>>2]&63](e)|0;if(!d)d=0;else F3(d|0,b|0,e|0)|0;return d|0}function SV(b){b=b|0;var d=0;d=b+228|0;if(!(nb[(a[b+232>>0]<<24>>24?35:34)&63](b+148|0,b+144|0,c[d>>2]|0)|0))b=PW(b,c[d>>2]|0)|0;else b=0;return b|0}function TV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;h=g;c[h>>2]=d;j=b+144|0;i=c[j>>2]|0;i=ob[c[i>>2]&127](i,d,e,h)|0;f=UV(b,c[j>>2]|0,d,e,i,c[h>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;l=g;return f|0}function UV(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;Ga=l;l=l+16|0;Da=Ga;c[Da>>2]=i;r=c[b+352>>2]|0;s=b+144|0;if((c[s>>2]|0)==(e|0)){p=b+284|0;q=b+288|0;na=b+296|0}else{na=b+296|0;q=c[na>>2]|0;p=q;q=q+4|0}t=k<<24>>24!=0;pa=b+252|0;u=b+80|0;v=b+476|0;w=b+84|0;x=b+320|0;y=b+412|0;z=b+316|0;A=b+424|0;B=b+428|0;C=b+324|0;ra=b+4|0;D=b+485|0;E=r+132|0;F=b+312|0;ta=r+129|0;G=r+128|0;H=r+80|0;I=r+92|0;J=r+96|0;K=b+136|0;L=b+88|0;M=b+488|0;va=b+112|0;wa=r+131|0;xa=b+116|0;ya=r+130|0;za=b+108|0;Aa=b+356|0;N=b+340|0;O=b+132|0;P=b+344|0;Q=b+348|0;R=b+328|0;S=b+349|0;T=b+420|0;U=r+120|0;V=r+116|0;W=b+92|0;X=b+472|0;Y=b+336|0;Z=b+332|0;_=b+96|0;$=b+256|0;aa=b+464|0;ba=b+460|0;ca=r+160|0;da=r+184|0;ea=r+180|0;fa=r+164|0;ga=b+128|0;ha=b+12|0;ia=b+16|0;ja=b+268|0;ka=b+120|0;la=r+176|0;ma=r+168|0;o=e;n=f;e=h;a:while(1){c[p>>2]=n;f=c[Da>>2]|0;c[q>>2]=f;i=f;b:do if((e|0)<1){if(t&(e|0)!=0){m=7;break a}switch(e|0){case -1:{i=5;m=280;break a}case 0:{m=9;break a}case -2:{i=6;break a}case -4:{m=10;break a}case -15:{e=15;break b}default:{}}c[Da>>2]=g;e=0-e|0;i=g}while(0);h=pb[c[pa>>2]&127](pa,e,n,i,o)|0;c:do switch(h|0){case 2:{m=58;break a}case -1:{m=184;break a}case 1:{i=VV(b,0,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 4:{if(!(c[w>>2]|0))i=1;else{m=WV(y,o,n,c[Da>>2]|0)|0;c[z>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];c[C>>2]=0;i=0}c[x>>2]=0;m=274;break}case 7:{i=c[w>>2]|0;if(!i)m=275;else{yb[i&15](c[ra>>2]|0,c[z>>2]|0,c[x>>2]|0,c[C>>2]|0,1);c[z>>2]=0;XV(y);i=o}break}case 57:{i=VV(b,1,n,c[Da>>2]|0)|0;if(i|0){m=280;break a}i=c[s>>2]|0;break}case 6:{a[D>>0]=0;m=YV(b,E,75291,36)|0;c[F>>2]=m;if(!m){i=1;m=280;break a}a[ta>>0]=1;if(!(c[w>>2]|0))m=33;else{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[B>>2]=c[A>>2];c[C>>2]=i;i=0;m=34}break}case 14:{m=33;break}case 8:{i=c[z>>2]|0;if(!i)i=1;else{yb[c[w>>2]&15](c[ra>>2]|0,i,c[x>>2]|0,c[C>>2]|0,0);XV(y);i=0}if(!((c[x>>2]|0)==0?!(a[D>>0]|0):0)){f=a[ta>>0]|0;a[ta>>0]=1;do if(c[M>>2]|0?c[va>>2]|0:0){h=YV(b,E,75291,36)|0;if(!h){i=1;m=280;break a}if(!(a[D>>0]|0))e=h+20|0;else{e=h+20|0;c[e>>2]=c[Aa>>2]}a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[e>>2]|0,c[h+16>>2]|0,c[h+24>>2]|0)|0)){i=21;m=280;break a}if(!(a[wa>>0]|0)){if(c[x>>2]|0)break;a[ta>>0]=f;break}if(((a[ya>>0]|0)==0?(oa=c[za>>2]|0,oa|0):0)?(kb[oa&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}}while(0);a[D>>0]=0}e=c[L>>2]|0;if(!e)m=274;else{tb[e&127](c[ra>>2]|0);i=o}break}case 34:{m=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=m;if(!m){i=1;m=280;break a}else m=80;break}case 22:{m=aW(b,o,n,c[Da>>2]|0)|0;c[P>>2]=m;if(!m){i=1;m=280;break a}a[Q>>0]=0;c[R>>2]=0;a[S>>0]=0;m=80;break}case 23:{a[Q>>0]=1;c[R>>2]=139106;m=80;break}case 24:{a[S>>0]=1;c[R>>2]=139112;m=80;break}case 25:{c[R>>2]=139115;m=80;break}case 26:{c[R>>2]=139121;m=80;break}case 27:{c[R>>2]=139128;m=80;break}case 28:{c[R>>2]=139135;m=80;break}case 29:{c[R>>2]=139144;m=80;break}case 30:{c[R>>2]=139152;m=80;break}case 32:case 31:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0){if(!(bW(y,(c[R>>2]|0)==0?((h|0)==32?139161:139171):139173)|0)){i=1;m=280;break a}if(!(cW(y,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}c[R>>2]=c[B>>2];i=o}else m=275;break}case 36:case 35:{if(a[G>>0]|0){if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,a[S>>0]|0,0,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(qa=c[R>>2]|0,(qa|0)!=0):0){switch(a[qa>>0]|0){case 40:{m=93;break}case 78:{if((a[qa+1>>0]|0)==79)m=93;break}default:{}}if((m|0)==93){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,0,(h|0)==36&1);XV(y);i=o}else m=275}else m=275;break}case 38:case 37:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=fW(b,o,a[Q>>0]|0,n+i|0,(c[Da>>2]|0)+(0-i)|0,H)|0;if(i|0){m=280;break a}e=c[J>>2]|0;c[J>>2]=c[I>>2];if(!(dW(c[N>>2]|0,c[P>>2]|0,a[Q>>0]|0,0,e,b)|0)){i=1;m=280;break a}if((c[O>>2]|0)!=0?(sa=c[R>>2]|0,(sa|0)!=0):0){switch(a[sa>>0]|0){case 40:{m=108;break}case 78:{if((a[sa+1>>0]|0)==79)m=108;break}default:{}}if((m|0)==108){m=0;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=41;i=c[A>>2]|0;if((i|0)==(c[T>>2]|0)){if(!((eW(y)|0)<<24>>24)){i=1;m=280;break a}i=c[A>>2]|0}c[A>>2]=i+1;a[i>>0]=0;c[R>>2]=c[B>>2];c[B>>2]=c[A>>2]}c[q>>2]=n;zb[c[O>>2]&15](c[ra>>2]|0,c[c[N>>2]>>2]|0,c[c[P>>2]>>2]|0,c[R>>2]|0,e,(h|0)==38&1);XV(y);i=o}else m=275}else m=275;break}case 12:{if(a[G>>0]|0){i=c[o+64>>2]|0;i=gW(b,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;e=c[F>>2]|0;f=c[U>>2]|0;if(e){c[e+4>>2]=f;c[(c[F>>2]|0)+8>>2]=(c[V>>2]|0)-(c[U>>2]|0);c[U>>2]=c[V>>2];if(!(c[K>>2]|0))e=1;else{c[q>>2]=n;e=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[e>>2]|0,d[e+33>>0]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[Aa>>2]|0,0,0,0);e=0}}else{c[V>>2]=f;e=1}if(!i){i=e;m=274}else{m=280;break a}}else m=275;break}case 5:{a[D>>0]=0;a[ta>>0]=1;if(!(c[w>>2]|0)){c[x>>2]=75291;i=1}else{m=c[o+64>>2]|0;m=WV(y,o,n+m|0,(c[Da>>2]|0)+(0-m)|0)|0;c[x>>2]=m;if(!m){i=1;m=280;break a}c[B>>2]=c[A>>2];i=0}if((((a[ya>>0]|0)==0?(c[M>>2]|0)==0:0)?(ua=c[za>>2]|0,ua|0):0)?(kb[ua&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}if(!(c[F>>2]|0)){e=YV(b,E,75291,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}c[e+24>>2]=0;m=133}else m=133;break}case 13:{i=1;m=133;break}case 15:{if(((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0)?(c[K>>2]|0)!=0:0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,d[i+33>>0]|0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,0);i=o}else m=275;break}case 16:{if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){h=WV(H,o,n,c[Da>>2]|0)|0;c[(c[F>>2]|0)+28>>2]=h;if(!(c[(c[F>>2]|0)+28>>2]|0)){i=1;m=280;break a}c[J>>2]=c[I>>2];if(c[W>>2]|0){c[q>>2]=n;i=c[F>>2]|0;zb[c[W>>2]&15](c[ra>>2]|0,c[i>>2]|0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o;break c}if(c[K>>2]|0){c[q>>2]=n;i=c[F>>2]|0;Ab[c[K>>2]&0](c[ra>>2]|0,c[i>>2]|0,0,0,0,c[i+20>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0,c[i+28>>2]|0);i=o}else m=275}else m=275;break}case 9:{if(nb[c[o+44>>2]&63](o,n,c[Da>>2]|0)|0){c[F>>2]=0;m=275;break c}if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,r,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=0;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 10:{if(!(a[G>>0]|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}i=WV(H,o,n,c[Da>>2]|0)|0;if(!i){i=1;m=280;break a}e=YV(b,E,i,36)|0;c[F>>2]=e;if(!e){i=1;m=280;break a}if((c[e>>2]|0)!=(i|0)){c[I>>2]=c[J>>2];c[F>>2]=0;m=275;break c}c[J>>2]=c[I>>2];c[(c[F>>2]|0)+24>>2]=0;a[(c[F>>2]|0)+33>>0]=1;if(!(c[X>>2]|0))i=(c[na>>2]|0)!=0;else i=1;a[(c[F>>2]|0)+34>>0]=(i^1)&1;if(!(c[K>>2]|0))m=275;else i=o;break}case 18:{c[Y>>2]=0;c[Z>>2]=0;if(!(c[_>>2]|0))m=275;else{n=WV(y,o,n,c[Da>>2]|0)|0;c[Z>>2]=n;if(!n){i=1;m=280;break a}c[B>>2]=c[A>>2];i=o}break}case 21:{if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break a}if(!(c[Z>>2]|0))m=275;else{i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}ZV(i);c[Y>>2]=i;c[B>>2]=c[A>>2];i=o}break}case 19:{if((c[Z>>2]|0)!=0?(c[_>>2]|0)!=0:0){i=c[o+64>>2]|0;i=WV(y,o,n+i|0,(c[Da>>2]|0)+(0-i)|0)|0;if(!i){i=1;m=280;break a}c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,i,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 20:{if((c[Y>>2]|0)!=0?(c[_>>2]|0)!=0:0){c[q>>2]=n;yb[c[_>>2]&15](c[ra>>2]|0,c[Z>>2]|0,c[Aa>>2]|0,0,c[Y>>2]|0);i=0}else i=1;XV(y);m=274;break}case 58:{if(c[u>>2]|0)hW(b,o,n,c[Da>>2]|0);i=iW(b,o,Da,g,j,k)|0;if(i|0){m=280;break a}if(!(c[Da>>2]|0)){m=189;break a}else i=o;break}case 44:{i=c[aa>>2]|0;do if((c[$>>2]|0)>>>0>=i>>>0){if(!i){h=c[ha>>2]|0;c[aa>>2]=32;h=kb[h&63](32)|0;c[ba>>2]=h;if(!h){m=198;break a}else break}f=c[ia>>2]|0;h=c[ba>>2]|0;i=i<<1;c[aa>>2]=i;i=lb[f&127](h,i)|0;if(!i){m=193;break a}c[ba>>2]=i;i=c[da>>2]|0;if(i|0){i=lb[c[ia>>2]&127](i,c[aa>>2]<<2)|0;if(!i){i=1;m=280;break a}c[da>>2]=i}}while(0);a[(c[ba>>2]|0)+(c[$>>2]|0)>>0]=0;if(a[ca>>0]|0){i=kW(b)|0;if((i|0)<0){i=1;m=280;break a}c[(c[da>>2]|0)+(c[ea>>2]<<2)>>2]=i;c[ea>>2]=(c[ea>>2]|0)+1;c[(c[fa>>2]|0)+(i*28|0)>>2]=6;if(c[ga>>2]|0)i=o;else m=275}else m=275;break}case 50:{i=(c[ba>>2]|0)+(c[$>>2]|0)|0;if((a[i>>0]|0)==124){i=2;m=280;break a}a[i>>0]=44;if((a[ca>>0]|0)!=0?(c[ga>>2]|0)!=0:0)i=o;else m=275;break}case 49:{f=c[ba>>2]|0;e=c[$>>2]|0;i=a[f+e>>0]|0;if(i<<24>>24==44){i=2;m=280;break a}if(i<<24>>24==0&(a[ca>>0]|0)!=0?(Ba=(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)|0,(c[Ba>>2]|0)!=3):0){c[Ba>>2]=5;i=(c[ga>>2]|0)==0&1;f=c[ba>>2]|0;e=c[$>>2]|0}else i=1;a[f+e>>0]=124;m=274;break}case 59:case 60:{a[ta>>0]=1;if(c[M>>2]|0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break a}f=YV(b,E,e,0)|0;c[I>>2]=c[J>>2];do if(c[ja>>2]|0){if(!(a[ya>>0]|0)){if(a[ta>>0]|0){m=219;break}}else if(c[na>>2]|0){m=219;break}if(!f){i=11;m=280;break a}if(!(a[f+34>>0]|0)){i=24;m=280;break a}}else m=219;while(0);if((m|0)==219?(m=0,(f|0)==0):0){a[G>>0]=a[ya>>0]|0;if((h|0)!=60){m=275;break c}i=c[ka>>2]|0;if(!i){m=275;break c}vb[i&127](c[ra>>2]|0,e,1);i=o;break c}i=f+32|0;if(a[i>>0]|0){i=12;m=280;break a}if(c[f+4>>2]|0){i=lW(b,f,(h|0)==60&1)|0;e=(i|0)==0;if(e){i=(e^1)&1;m=274;break c}else{m=280;break a}}if(!(c[va>>2]|0)){a[G>>0]=a[ya>>0]|0;m=275;break c}a[wa>>0]=0;a[i>>0]=1;h=(pb[c[va>>2]&127](c[xa>>2]|0,0,c[f+20>>2]|0,c[f+16>>2]|0,c[f+24>>2]|0)|0)==0;a[i>>0]=0;if(h){i=21;m=280;break a}e=a[ya>>0]|0;if(!(a[wa>>0]|0)){a[G>>0]=e;i=o;break c}else i=0}else{e=a[ya>>0]|0;a[G>>0]=e;i=1}if((e<<24>>24==0?(Ca=c[za>>2]|0,(Ca|0)!=0):0)?(kb[Ca&63](c[ra>>2]|0)|0)==0:0){i=22;m=280;break a}else m=274;break}case 40:{if(!(c[ga>>2]|0))m=275;else{n=$V(b,o,n,c[Da>>2]|0)|0;c[N>>2]=n;if(!n){i=1;m=280;break a}c[ea>>2]=0;c[la>>2]=0;a[ca>>0]=1;i=o}break}case 42:case 41:{if(!(a[ca>>0]|0))m=275;else{if(!(c[ga>>2]|0))i=1;else{i=kb[c[ha>>2]&63](20)|0;if(!i){i=1;m=280;break a}m=i+4|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[i>>2]=(h|0)==41?2:1;c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,i);i=0}a[ca>>0]=0;m=274}break}case 43:{if((a[ca>>0]|0)!=0?(c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+((c[ea>>2]|0)+-1<<2)>>2]|0)*28|0)>>2]=3,(c[ga>>2]|0)!=0):0)i=o;else m=275;break}case 51:{e=0;m=247;break}case 53:{e=1;m=247;break}case 52:{e=2;m=247;break}case 54:{e=3;m=247;break}case 45:{f=0;m=258;break}case 47:{f=1;m=258;break}case 46:{f=2;m=258;break}case 48:{f=3;m=258;break}case 55:{if(!(nW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 56:{if(!(oW(b,o,n,c[Da>>2]|0)|0)){i=1;m=280;break a}else i=o;break}case 0:{if((e|0)==14)i=o;else m=275;break}case 3:{if(!(c[w>>2]|0))m=275;else i=o;break}case 11:{if((a[G>>0]|0)!=0?(c[K>>2]|0)!=0:0)i=o;else m=275;break}case 17:{if(!(c[_>>2]|0))m=275;else i=o;break}case 33:{if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275;break}case 39:{if(!(c[ga>>2]|0))m=275;else i=o;break}default:m=275}while(0);if((m|0)==33)if(!(ob[c[o+52>>2]&127](o,n,c[Da>>2]|0,p)|0)){i=32;m=280;break}else{i=1;m=34}else if((m|0)==80){m=0;if((a[G>>0]|0)!=0?(c[O>>2]|0)!=0:0)i=o;else m=275}else if((m|0)==133){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;c[(c[F>>2]|0)+16>>2]=e;e=c[F>>2]|0;if(!(c[e+16>>2]|0)){i=1;m=280;break}c[e+20>>2]=c[Aa>>2];c[J>>2]=c[I>>2];if((h|0)==13&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}else if((m|0)==247){m=0;if(a[ca>>0]|0){i=c[Da>>2]|0;if(e)i=i+(0-(c[o+64>>2]|0))|0;f=kW(b)|0;if((f|0)<0){i=1;m=280;break}c[(c[fa>>2]|0)+(f*28|0)>>2]=4;c[(c[fa>>2]|0)+(f*28|0)+4>>2]=e;i=$V(b,o,n,i)|0;if(!i){i=1;m=280;break}e=c[i>>2]|0;c[(c[fa>>2]|0)+(f*28|0)+8>>2]=e;i=0;do{h=i;i=i+1|0}while((a[e+h>>0]|0)!=0);c[ma>>2]=(c[ma>>2]|0)+i;if(c[ga>>2]|0)i=o;else m=275}else m=275}else if((m|0)==258)if(a[ca>>0]|0){e=(c[ga>>2]|0)==0;i=e&1;m=(c[ea>>2]|0)+-1|0;c[ea>>2]=m;c[(c[fa>>2]|0)+((c[(c[da>>2]|0)+(m<<2)>>2]|0)*28|0)+4>>2]=f;if(!(c[ea>>2]|0)){if(!e){e=mW(b)|0;if(!e){i=1;m=280;break}c[q>>2]=n;vb[c[ga>>2]&127](c[ra>>2]|0,c[c[N>>2]>>2]|0,e)}a[ca>>0]=0;c[ma>>2]=0;m=274}else m=274}else m=275;if((m|0)==34){m=0;if((a[G>>0]|0)!=0?(c[F>>2]|0)!=0:0){e=c[o+64>>2]|0;e=WV(H,o,n+e|0,(c[Da>>2]|0)+(0-e)|0)|0;if(!e){i=1;m=280;break}ZV(e);c[(c[F>>2]|0)+24>>2]=e;c[J>>2]=c[I>>2];if((h|0)==14&(c[K>>2]|0)!=0)i=o;else m=274}else m=274}if((m|0)==274){m=0;if(!(i<<24>>24))i=o;else m=275}if((m|0)==275){m=0;if(!(c[u>>2]|0))i=o;else{hW(b,o,n,c[Da>>2]|0);i=o}}switch(c[v>>2]|0){case 3:{m=278;break a}case 2:{i=35;m=280;break a}default:{}}e=c[Da>>2]|0;o=i;n=e;e=ob[c[i>>2]&127](i,e,g,Da)|0}d:switch(m|0){case 7:{c[j>>2]=n;i=0;break}case 9:{c[p>>2]=f;i=4;break}case 10:{i=(o|0)==(c[s>>2]|0);if(!i?(a[(c[na>>2]|0)+20>>0]|0)==0:0){c[j>>2]=n;i=0;break}if((a[b+484>>0]|0)!=0|i^1)if((pb[c[pa>>2]&127](pa,-4,g,g,o)|0)==-1)i=29;else{c[j>>2]=n;i=0}else i=3;break}case 58:{do if((a[D>>0]|0?(Ea=a[ta>>0]|0,a[ta>>0]=1,c[M>>2]|0):0)?c[va>>2]|0:0){i=YV(b,E,75291,36)|0;if(!i){i=1;break d}Da=i+20|0;c[Da>>2]=c[Aa>>2];a[wa>>0]=0;if(!(pb[c[va>>2]&127](c[xa>>2]|0,0,c[Da>>2]|0,c[i+16>>2]|0,c[i+24>>2]|0)|0)){i=21;break d}if(!(a[wa>>0]|0)){a[ta>>0]=Ea;break}if(((a[ya>>0]|0)==0?(Fa=c[za>>2]|0,Fa|0):0)?(kb[Fa&63](c[ra>>2]|0)|0)==0:0){i=22;break d}}while(0);c[b+276>>2]=58;i=_V(b,n,g,j)|0;break}case 184:{i=(e|0)==28?10:(e|0)==12?17:2;break}case 189:{c[b+276>>2]=59;i=0;break}case 193:{c[aa>>2]=(c[aa>>2]|0)>>>1;i=1;break}case 198:{c[aa>>2]=0;i=1;break}case 278:{c[j>>2]=c[Da>>2];i=0;break}case 280:break}l=Ga;return i|0}function VV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+16|0;m=q+12|0;i=q+8|0;j=q+4|0;k=q;c[p>>2]=0;c[m>>2]=0;c[i>>2]=0;c[k>>2]=-1;n=b+144|0;o=b+284|0;g=(d|0)!=0;a:do if(rb[(a[b+232>>0]<<24>>24?2:1)&3](d,c[n>>2]|0,e,f,o,i,j,p,m,k)|0){if((c[k>>2]|0)==1&(g^1)?(a[(c[b+352>>2]|0)+130>>0]=1,h=b+488|0,(c[h>>2]|0)==1):0)c[h>>2]=0;h=b+140|0;if(!(c[h>>2]|0))if(!(c[b+80>>2]|0)){e=0;d=0}else{hW(b,c[n>>2]|0,e,f);e=0;d=0}else{d=c[p>>2]|0;if(!d)d=0;else{f=c[n>>2]|0;d=WV(b+436|0,f,d,d+(lb[c[f+28>>2]&127](f,d)|0)|0)|0;if(!d){d=1;break}c[b+452>>2]=c[b+448>>2]}g=c[i>>2]|0;if(g){i=c[n>>2]|0;g=WV(b+436|0,i,g,(c[j>>2]|0)+(0-(c[i+64>>2]|0))|0)|0;if(!g){d=1;break}}else g=0;xb[c[h>>2]&31](c[b+4>>2]|0,g,d,c[k>>2]|0);e=g}do if(!(c[b+228>>2]|0)){g=c[m>>2]|0;h=g;if(g|0){k=c[g+64>>2]|0;m=c[n>>2]|0;if((k|0)==(c[m+64>>2]|0)?(k|0)!=2|(g|0)==(m|0):0){c[n>>2]=h;break}c[o>>2]=c[p>>2];d=19;break a}g=c[p>>2]|0;if(g|0){h=b+436|0;if(!d){d=c[n>>2]|0;d=WV(h,d,g,g+(lb[c[d+28>>2]&127](d,g)|0)|0)|0;if(!d){d=1;break a}}d=PW(b,d)|0;XV(h);if((d|0)!=18)break a;c[o>>2]=c[p>>2];d=18;break a}}while(0);if((d|0)!=0|(e|0)!=0){XV(b+436|0);d=0}else d=0}else d=g?31:30;while(0);l=q;return d|0}function WV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(cW(b,d,e,f)|0))d=0;else{e=b+12|0;d=c[e>>2]|0;if((d|0)==(c[b+8>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=0;d=c[b+16>>2]|0}while(0);return d|0}function XV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=a+4|0;b=c[e>>2]|0;a:do if(!b){c[e>>2]=c[a>>2];b=a}else{d=c[a>>2]|0;while(1){if(!d){b=a;break a}g=c[d>>2]|0;c[d>>2]=b;c[e>>2]=d;f=d;d=g;b=f}}while(0);c[b>>2]=0;c[a+16>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;return}function YV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=e+8|0;a:do if(!(c[w>>2]|0))if(g){a[e+4>>0]=6;c[w>>2]=64;h=e+16|0;i=kb[c[c[h>>2]>>2]&63](256)|0;c[e>>2]=i;if(!i){c[w>>2]=0;h=0;break}else{H3(i|0,0,256)|0;j=NW(b,f)|0;j=(c[w>>2]|0)+-1&j;i=e;o=27;break}}else h=0;else{v=NW(b,f)|0;k=c[w>>2]|0;j=k+-1|0;l=c[e>>2]|0;m=v&0-k;u=e+4|0;n=j>>>2;i=0;j=j&v;while(1){h=c[l+(j<<2)>>2]|0;if(!h)break;if((OW(f,c[h>>2]|0)|0)<<24>>24)break a;if(!(i<<24>>24))h=(m>>>((d[u>>0]|0)+-1|0)&n|1)&255;else h=i;t=h&255;i=h;j=j-t+(j>>>0<t>>>0?k:0)|0}if(g){i=a[u>>0]|0;h=i&255;if(!((c[e+12>>2]|0)>>>(h+-1|0))){h=e+16|0;i=e;o=27;break}q=h+1&255;j=i+1&255;s=1<<j;r=s+-1|0;i=s<<2;h=e+16|0;t=kb[c[c[h>>2]>>2]&63](i)|0;if(t){H3(t|0,0,i|0)|0;p=0-s|0;n=j+-1|0;o=r>>>2;m=0;while(1){if(m>>>0>=(c[w>>2]|0)>>>0)break;i=c[(c[e>>2]|0)+(m<<2)>>2]|0;if(i|0){i=NW(b,c[i>>2]|0)|0;k=((i&p)>>>n&o|1)&255;i=i&r;j=0;while(1){l=t+(i<<2)|0;if(!(c[l>>2]|0))break;l=j<<24>>24==0?k:j;x=l&255;i=i+(i>>>0<x>>>0?s:0)-x|0;j=l}c[l>>2]=c[(c[e>>2]|0)+(m<<2)>>2]}m=m+1|0}tb[c[(c[h>>2]|0)+8>>2]&127](c[e>>2]|0);c[e>>2]=t;a[u>>0]=q;c[w>>2]=s;k=((v&p)>>>n&o|1)&255;i=r&v;j=0;while(1){if(!(c[t+(i<<2)>>2]|0)){j=i;i=e;o=27;break a}x=j<<24>>24==0?k:j;w=x&255;i=i+(i>>>0<w>>>0?s:0)-w|0;j=x}}else h=0}else h=0}while(0);if((o|0)==27){h=kb[c[c[h>>2]>>2]&63](g)|0;c[(c[i>>2]|0)+(j<<2)>>2]=h;h=c[(c[i>>2]|0)+(j<<2)>>2]|0;if(!h)h=0;else{H3(h|0,0,g|0)|0;c[c[(c[i>>2]|0)+(j<<2)>>2]>>2]=f;h=e+12|0;c[h>>2]=(c[h>>2]|0)+1;h=c[(c[i>>2]|0)+(j<<2)>>2]|0}}return h|0}function ZV(b){b=b|0;var c=0,d=0,e=0;e=b;c=b;while(1){d=a[e>>0]|0;if(!(d<<24>>24))break;switch(d<<24>>24|0){case 10:case 13:case 32:{if((c|0)!=(b|0)){if((a[c+-1>>0]|0)!=32){a[c>>0]=32;c=c+1|0}}else c=b;break}default:{a[c>>0]=d;c=c+1|0}}e=e+1|0}if((c|0)!=(b|0)){b=c+-1|0;b=(a[b>>0]|0)==32?b:c}a[b>>0]=0;return}function _V(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,0,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function $V(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+352>>2]|0;b=WV(g+80|0,b,d,e)|0;do if((b|0)!=0?(f=YV(a,g+20|0,b,24)|0,(f|0)!=0):0)if((c[f>>2]|0)==(b|0)){c[g+96>>2]=c[g+92>>2];if(!(CW(a,f)|0)){f=0;break}}else c[g+92>>2]=c[g+96>>2];else f=0;while(0);return f|0}function aW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[b+352>>2]|0;k=m+80|0;n=m+92|0;h=c[n>>2]|0;l=m+88|0;if((h|0)==(c[l>>2]|0))if(!((eW(k)|0)<<24>>24))g=0;else{h=c[n>>2]|0;i=4}else i=4;a:do if((i|0)==4){c[n>>2]=h+1;a[h>>0]=0;d=WV(k,d,e,f)|0;if((d|0)!=0?(j=d+1|0,g=YV(b,m+40|0,j,12)|0,(g|0)!=0):0){if((c[g>>2]|0)!=(j|0)){c[n>>2]=c[m+96>>2];break}h=c[n>>2]|0;i=m+96|0;c[i>>2]=h;if(a[b+232>>0]|0){e=a[j>>0]|0;b:do if(e<<24>>24==120)if((((a[d+2>>0]|0)==109?(a[d+3>>0]|0)==108:0)?(a[d+4>>0]|0)==110:0)?(a[d+5>>0]|0)==115:0){switch(a[d+6>>0]|0){case 0:{h=m+152|0;break}case 58:{h=YV(b,m+60|0,d+7|0,8)|0;break}default:{f=0;d=120;break b}}c[g+4>>2]=h;a[g+9>>0]=1;break a}else{f=0;d=120}else{f=0;d=e}while(0);c:while(1){switch(d<<24>>24){case 0:break a;case 58:{e=0;break c}default:{}}d=f+1|0;f=d;d=a[j+d>>0]|0}while(1){d=(h|0)==(c[l>>2]|0);if((e|0)>=(f|0))break;if(d){if(!((eW(k)|0)<<24>>24)){g=0;break a}h=c[n>>2]|0}d=a[j+e>>0]|0;c[n>>2]=h+1;a[h>>0]=d;e=e+1|0;h=c[n>>2]|0}if(d){if(!((eW(k)|0)<<24>>24)){g=0;break}h=c[n>>2]|0}c[n>>2]=h+1;a[h>>0]=0;h=YV(b,m+60|0,c[i>>2]|0,8)|0;c[g+4>>2]=h;if(h){d=c[i>>2]|0;if((c[h>>2]|0)==(d|0)){c[i>>2]=c[n>>2];break}else{c[n>>2]=d;break}}else g=0}}else g=0}while(0);return g|0}function bW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=b+12|0;h=b+8|0;while(1){e=a[d>>0]|0;if(!(e<<24>>24)){i=7;break}f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}f=c[g>>2]|0;e=a[d>>0]|0}c[g>>2]=f+1;a[f>>0]=e;d=d+1|0}if((i|0)==7)d=c[b+16>>2]|0;return d|0}function cW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;c[h>>2]=d;g=a+12|0;if((c[g>>2]|0)==0?(eW(a)|0)<<24>>24==0:0)d=0;else f=3;a:do if((f|0)==3){d=b+56|0;f=a+8|0;while(1){if((pb[c[d>>2]&127](b,h,e,g,c[f>>2]|0)|0)>>>0<2)break;if(!((eW(a)|0)<<24>>24)){d=0;break a}}d=c[a+16>>2]|0}while(0);l=i;return d|0}function dW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=f<<24>>24==0;n=b+12|0;m=c[n>>2]|0;a:do if(!(i&(g|0)==0)){j=b+20|0;f=0;while(1){if((f|0)>=(m|0))break;if((c[(c[j>>2]|0)+(f*12|0)>>2]|0)==(d|0)){f=1;break a}else f=f+1|0}if((!i?(k=b+8|0,(c[k>>2]|0)==0):0)?(a[d+9>>0]|0)==0:0){c[k>>2]=d;l=9}else l=9}else l=9;while(0);b:do if((l|0)==9){j=b+16|0;do if((m|0)==(c[j>>2]|0))if(!m){c[j>>2]=8;f=kb[c[h+12>>2]&63](96)|0;c[b+20>>2]=f;if(f|0)break;c[j>>2]=0;f=0;break b}else{i=b+20|0;f=lb[c[h+16>>2]&127](c[i>>2]|0,m*24|0)|0;if(!f){f=0;break b}c[j>>2]=m<<1;c[i>>2]=f;break}else f=c[b+20>>2]|0;while(0);h=c[n>>2]|0;c[f+(h*12|0)>>2]=d;c[f+(h*12|0)+8>>2]=g;a[f+(h*12|0)+4>>0]=e;if(!(e<<24>>24))a[d+8>>0]=1;c[n>>2]=(c[n>>2]|0)+1;f=1}while(0);return f|0}function eW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+4|0;e=c[b>>2]|0;do if(e){f=a+16|0;g=c[f>>2]|0;if(!g){c[a>>2]=e;c[b>>2]=c[e>>2];c[e>>2]=0;l=c[a>>2]|0;b=l+8|0;c[f>>2]=b;c[a+8>>2]=(c[l+4>>2]|0)+(l+8);c[a+12>>2]=b;b=1;break}d=a+8|0;if(((c[d>>2]|0)-g|0)<(c[e+4>>2]|0)){k=c[e>>2]|0;c[e>>2]=c[a>>2];l=c[b>>2]|0;c[a>>2]=l;c[b>>2]=k;b=c[f>>2]|0;F3(l+8|0,b|0,(c[d>>2]|0)-b|0)|0;b=c[a>>2]|0;l=a+12|0;c[l>>2]=(c[l>>2]|0)-(c[f>>2]|0)+(b+8);c[f>>2]=b+8;c[d>>2]=(c[b+4>>2]|0)+(b+8);b=1}else h=6}else h=6;while(0);a:do if((h|0)==6){e=c[a>>2]|0;k=a+16|0;do if(!e){i=k;b=c[k>>2]|0}else{j=c[k>>2]|0;b=j;if((j|0)!=(e+8|0)){i=k;break}f=a+8|0;g=(c[f>>2]|0)-b<<1;h=a+12|0;d=(c[h>>2]|0)-b|0;if((g|0)<0){b=0;break a}b=MW(g)|0;if(!b){b=0;break a}b=lb[c[(c[a+20>>2]|0)+4>>2]&127](e,b)|0;if(!b){b=0;break a}c[a>>2]=b;c[b+4>>2]=g;b=c[a>>2]|0;c[h>>2]=b+8+d;c[k>>2]=b+8;c[f>>2]=b+8+g;b=1;break a}while(0);j=a+8|0;b=(c[j>>2]|0)-b|0;if((b|0)>=0){if((b|0)>=1024){b=b<<1;if((b|0)<0){b=0;break}}else b=1024;d=MW(b)|0;if((d|0)!=0?(l=kb[c[c[a+20>>2]>>2]&63](d)|0,(l|0)!=0):0){c[l+4>>2]=b;c[l>>2]=c[a>>2];c[a>>2]=l;h=a+12|0;a=c[h>>2]|0;e=c[k>>2]|0;d=a;f=e;if((a|0)==(e|0)){g=l+8|0;e=f}else{g=l+8|0;F3(g|0,e|0,d-f|0)|0;e=c[i>>2]|0;d=c[h>>2]|0}c[h>>2]=l+8+(d-e);c[k>>2]=g;c[j>>2]=l+8+b;b=1}else b=0}else b=0}while(0);return b|0}function fW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;b=LW(b,d,e,f,g,h)|0;do if(!b){d=h+12|0;b=c[d>>2]|0;if((e<<24>>24==0?(c[h+16>>2]|0)!=(b|0):0)?(i=b+-1|0,(a[i>>0]|0)==32):0){c[d>>2]=i;b=i}if((b|0)==(c[h+8>>2]|0)){if(!((eW(h)|0)<<24>>24)){b=1;break}b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=0;b=0}while(0);return b|0}function gW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+16|0;B=H;C=H+4|0;g=c[b+352>>2]|0;D=g+104|0;F=b+272|0;E=c[F>>2]|0;c[F>>2]=1;if((c[D>>2]|0)==0?(eW(D)|0)<<24>>24==0:0)g=1;else{n=d+20|0;o=b+484|0;p=b+144|0;q=b+412|0;r=d+64|0;s=g+132|0;t=b+428|0;u=b+424|0;v=b+224|0;w=b+112|0;m=g+130|0;x=g+128|0;y=g+131|0;z=b+116|0;A=g+112|0;j=g+116|0;k=d+40|0;a:while(1){b:do switch(ob[c[n>>2]&127](d,e,f,B)|0){case -4:{g=0;break a}case -1:{G=37;break a}case 0:{G=39;break a}case 28:{if((a[o>>0]|0)==0?(c[p>>2]|0)==(d|0):0){G=19;break a}g=c[r>>2]|0;g=WV(q,d,e+g|0,(c[B>>2]|0)+(0-g)|0)|0;if(!g){g=1;break a}h=YV(b,s,g,0)|0;c[u>>2]=c[t>>2];if(!h){G=9;break a}i=h+32|0;if(a[i>>0]|0){G=11;break a}g=h+16|0;if(!(c[g>>2]|0)){a[i>>0]=1;g=c[h+4>>2]|0;g=gW(b,c[v>>2]|0,g,g+(c[h+8>>2]|0)|0)|0;a[i>>0]=0;if(!g)break b;else break a}if(c[w>>2]|0){a[y>>0]=0;a[i>>0]=1;h=(pb[c[w>>2]&127](c[z>>2]|0,0,c[h+20>>2]|0,c[g>>2]|0,c[h+24>>2]|0)|0)==0;a[i>>0]=0;if(h){g=21;break a}if(a[y>>0]|0)break b}a[x>>0]=a[m>>0]|0;break}case 6:case 9:{if(!(cW(D,d,e,c[B>>2]|0)|0)){g=1;break a}break}case -3:{c[B>>2]=e+(c[r>>2]|0);G=22;break}case 7:{G=22;break}case 10:{g=lb[c[k>>2]&127](d,e)|0;if((g|0)<0){G=27;break a}h=gX(g,C)|0;e=0;while(1){if((e|0)>=(h|0))break;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;G=35;break a}g=c[j>>2]|0}i=a[C+e>>0]|0;c[j>>2]=g+1;a[g>>0]=i;e=e+1|0}break}default:{G=41;break a}}while(0);if((G|0)==22){G=0;g=c[j>>2]|0;if((c[A>>2]|0)==(g|0)){if(!((eW(D)|0)<<24>>24)){g=1;break}g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=10}e=c[B>>2]|0}if((G|0)==9){a[x>>0]=a[m>>0]|0;g=0}else if((G|0)==11)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=12}else g=12;else if((G|0)==19){c[b+284>>2]=e;g=10}else if((G|0)==27)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=14;G=35}else{g=14;G=35}else if((G|0)==37)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=4}else g=4;else if((G|0)==39)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=c[B>>2];g=4}else g=4;else if((G|0)==41)if((c[p>>2]|0)==(d|0)){c[b+284>>2]=e;g=23}else g=23;c[F>>2]=E}l=H;return g|0}function hW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;n=p;o=p+4|0;c[n>>2]=e;if(!(a[d+68>>0]|0)){if((c[b+144>>2]|0)==(d|0)){g=b+288|0;h=b+284|0}else{h=c[b+296>>2]|0;g=h+4|0}i=b+44|0;j=d+56|0;k=b+48|0;m=b+80|0;e=b+4|0;do{c[o>>2]=c[i>>2];b=pb[c[j>>2]&127](d,n,f,o,c[k>>2]|0)|0;c[g>>2]=c[n>>2];q=c[i>>2]|0;vb[c[m>>2]&127](c[e>>2]|0,q,(c[o>>2]|0)-q|0);c[h>>2]=c[n>>2]}while(b>>>0>1)}else vb[c[b+80>>2]&127](c[b+4>>2]|0,e,f-e|0);l=p;return}function iW(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;k=c[d>>2]|0;if((c[a+144>>2]|0)==(b|0)){i=a+284|0;c[i>>2]=k;h=a+288|0}else{i=c[a+296>>2]|0;h=i+4|0}c[i>>2]=k;c[d>>2]=0;n=ob[c[b+12>>2]&127](b,k,e,j)|0;e=c[j>>2]|0;c[h>>2]=e;switch(n|0){case 42:{if(c[a+80>>2]|0){hW(a,b,k,e);e=c[j>>2]|0}c[d>>2]=e;c[f>>2]=e;e=(c[a+476>>2]|0)==2?35:0;break}case 0:{c[i>>2]=e;e=4;break}case -2:{if(!(g<<24>>24))e=6;else{c[f>>2]=k;e=0}break}case -4:case -1:{if(!(g<<24>>24))e=2;else{c[f>>2]=k;e=0}break}default:{c[i>>2]=e;e=23}}l=m;return e|0}function jW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=iW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;if(!((d|0)!=0|(g|0)==0)){c[b+276>>2]=57;d=TV(b,g,e,f)|0}l=h;return d|0}function kW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+352>>2]|0;j=i+184|0;if(!(c[j>>2]|0)){b=kb[c[a+12>>2]&63](c[a+464>>2]<<2)|0;c[j>>2]=b;if(!b)b=-1;else{c[b>>2]=0;d=4}}else d=4;do if((d|0)==4){h=i+176|0;b=c[h>>2]|0;g=i+172|0;d=c[g>>2]|0;f=i+164|0;e=c[f>>2]|0;if(b>>>0<d>>>0)g=e;else{if(!e){b=kb[c[a+12>>2]&63](896)|0;if(!b){b=-1;break}else{d=b;b=32}}else{b=lb[c[a+16>>2]&127](e,d*56|0)|0;if(!b){b=-1;break}d=b;b=c[g>>2]<<1}c[g>>2]=b;c[f>>2]=d;b=c[h>>2]|0;g=d}c[h>>2]=b+1;d=c[i+180>>2]|0;if(d|0){a=c[(c[j>>2]|0)+(d+-1<<2)>>2]|0;f=g+(a*28|0)+16|0;d=c[f>>2]|0;if(d|0)c[g+(d*28|0)+24>>2]=b;d=g+(a*28|0)+20|0;e=c[d>>2]|0;if(!e)c[g+(a*28|0)+12>>2]=b;c[f>>2]=b;c[d>>2]=e+1}j=g+(b*28|0)+12|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0}while(0);return b|0}function lW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;o=b+300|0;f=c[o>>2]|0;if(!f){f=kb[c[b+12>>2]&63](24)|0;if(!f)f=1;else{m=f;g=4}}else{c[o>>2]=c[f+8>>2];m=f;g=4}do if((g|0)==4){h=d+32|0;a[h>>0]=1;i=d+12|0;c[i>>2]=0;j=b+296|0;k=m+8|0;c[k>>2]=c[j>>2];c[j>>2]=m;c[m+12>>2]=d;f=b+308|0;c[m+16>>2]=c[f>>2];a[m+20>>0]=e;c[m>>2]=0;c[m+4>>2]=0;g=c[d+4>>2]|0;e=g+(c[d+8>>2]|0)|0;c[n>>2]=g;if(!(a[d+33>>0]|0))f=rW(b,c[f>>2]|0,c[b+224>>2]|0,g,e,n,0)|0;else{d=b+224|0;f=c[d>>2]|0;f=ob[c[f>>2]&127](f,g,e,n)|0;f=UV(b,c[d>>2]|0,g,e,f,c[n>>2]|0,n,0)|0}if(!f){f=c[n>>2]|0;if((e|0)!=(f|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=f-g;c[b+276>>2]=60;f=0;break}a[h>>0]=0;c[j>>2]=c[k>>2];c[k>>2]=c[o>>2];c[o>>2]=m;f=0}}while(0);l=p;return f|0}function mW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;b=c[a+352>>2]|0;f=b+176|0;b=kb[c[a+12>>2]&63](((c[f>>2]|0)*20|0)+(c[b+168>>2]|0)|0)|0;if(!b)b=0;else{c[e>>2]=b+((c[f>>2]|0)*20|0);c[d>>2]=b+20;qW(a,0,b,d,e)}l=g;return b|0}function nW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=a+64|0;if(!(c[j>>2]|0))if(!(c[a+80>>2]|0))d=1;else{hW(a,b,d,e);d=1}else{h=b+64|0;g=d+(c[h>>2]<<1)|0;d=g+(lb[c[b+28>>2]&127](b,g)|0)|0;f=a+412|0;g=WV(f,b,g,d)|0;if((g|0)!=0?(c[a+428>>2]=c[a+424>>2],i=lb[c[b+32>>2]&127](b,d)|0,i=WV(f,b,i,e+(0-(c[h>>2]<<1))|0)|0,(i|0)!=0):0){pW(i);vb[c[j>>2]&127](c[a+4>>2]|0,g,i);XV(f);d=1}else d=0}return d|0}function oW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=a+68|0;if(!(c[g>>2]|0))if(!(c[a+80>>2]|0))b=1;else{hW(a,b,d,e);b=1}else{f=a+412|0;h=c[b+64>>2]|0;b=WV(f,b,d+(h<<2)|0,e+(O(h,-3)|0)|0)|0;if(!b)b=0;else{pW(b);ub[c[g>>2]&63](c[a+4>>2]|0,b);XV(f);b=1}}return b|0}function pW(b){b=b|0;var c=0,d=0,e=0;a:while(1){switch(a[b>>0]|0){case 0:break a;case 13:{d=b;c=13;e=4;break a}default:{}}b=b+1|0}if((e|0)==4){while(1){if(c<<24>>24==13){a[d>>0]=10;e=b+1|0;b=(a[e>>0]|0)==10?b+2|0:e}else{a[d>>0]=c;b=b+1|0}d=d+1|0;c=a[b>>0]|0;if(!(c<<24>>24))break;else e=4}a[d>>0]=0}return}function qW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[b+352>>2]|0)+164|0;j=c[(c[k>>2]|0)+(d*28|0)>>2]|0;c[e>>2]=j;c[e+4>>2]=c[(c[k>>2]|0)+(d*28|0)+4>>2];if((j|0)==4){c[e+8>>2]=c[g>>2];d=c[(c[k>>2]|0)+(d*28|0)+8>>2]|0;while(1){j=a[d>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;if(!(a[d>>0]|0))break;else d=d+1|0}c[e+12>>2]=0;c[e+16>>2]=0}else{h=c[(c[k>>2]|0)+(d*28|0)+20>>2]|0;i=e+12|0;c[i>>2]=h;j=e+16|0;c[j>>2]=c[f>>2];c[f>>2]=(c[f>>2]|0)+(h*20|0);d=(c[k>>2]|0)+(d*28|0)+12|0;h=0;while(1){d=c[d>>2]|0;if(h>>>0>=(c[i>>2]|0)>>>0)break;qW(b,d,(c[j>>2]|0)+(h*20|0)|0,f,g);d=(c[k>>2]|0)+(d*28|0)+24|0;h=h+1|0}c[e+8>>2]=0}return}function rW(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;ma=l;l=l+48|0;ja=ma+28|0;ea=ma+32|0;ka=ma+24|0;Z=ma;c[ja>>2]=f;_=c[b+352>>2]|0;if((c[b+144>>2]|0)==(e|0)){fa=b+284|0;Y=b+288|0}else{Y=c[b+296>>2]|0;fa=Y;Y=Y+4|0}c[fa>>2]=f;t=e+4|0;ga=b+80|0;u=b+476|0;v=e+44|0;w=e+64|0;x=_+80|0;y=_+96|0;z=_+92|0;A=_+129|0;B=b+112|0;C=b+116|0;D=b+428|0;E=b+424|0;F=b+304|0;G=b+120|0;ha=b+4|0;H=_+130|0;$=b+60|0;I=b+364|0;J=b+12|0;K=b+360|0;L=e+28|0;ia=b+308|0;aa=e+56|0;M=b+16|0;N=b+52|0;O=b+412|0;P=b+388|0;Q=b+56|0;R=b+232|0;S=b+233|0;T=b+468|0;U=b+104|0;V=b+372|0;W=e+40|0;X=b+72|0;ba=e+68|0;ca=b+44|0;da=b+48|0;a:while(1){s=c[ja>>2]|0;c[ea>>2]=s;s=ob[c[t>>2]&127](e,s,g,ea)|0;f=c[ea>>2]|0;c[Y>>2]=f;k=f;b:do switch(s|0){case -3:{la=6;break a}case -4:{la=15;break a}case 0:{la=20;break a}case -1:{la=21;break a}case -2:{la=23;break a}case 12:{f=17;break a}case -5:{la=134;break a}case 9:{s=c[w>>2]|0;s=(nb[c[v>>2]&63](e,(c[ja>>2]|0)+s|0,k+(0-s)|0)|0)&255;a[ka>>0]=s;do if(s<<24>>24){f=c[$>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,ka,1);break}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[w>>2]|0;j=WV(x,e,(c[ja>>2]|0)+j|0,(c[ea>>2]|0)+(0-j)|0)|0;if(!j){f=1;la=56;break a}k=YV(b,_,j,0)|0;c[z>>2]=c[y>>2];if((a[A>>0]|0)!=0?(a[H>>0]|0)==0:0){if(!k){f=c[G>>2]|0;if(f|0){vb[f&127](c[ha>>2]|0,j,0);break}if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}}else{if(!k){f=11;la=56;break a}if(!(a[k+34>>0]|0)){f=24;la=56;break a}}f=k+32|0;if(a[f>>0]|0){f=12;la=56;break a}if(c[k+28>>2]|0){f=15;la=56;break a}if(!(c[k+4>>2]|0)){if(!(c[B>>2]|0)){if(!(c[ga>>2]|0))break;hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}a[f>>0]=1;j=tW(b)|0;a[f>>0]=0;if(!j){f=1;la=56;break a}if(!(pb[c[B>>2]&127](c[C>>2]|0,j,c[k+20>>2]|0,c[k+16>>2]|0,c[k+24>>2]|0)|0)){f=21;la=56;break a}c[E>>2]=c[D>>2];break}if(a[F>>0]|0){f=lW(b,k,0)|0;if(!f)break;else{la=58;break a}}f=c[G>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[k>>2]|0,0);break b}while(0);break}case 1:case 2:{f=c[I>>2]|0;if(!f){f=kb[c[J>>2]&63](48)|0;if(!f){f=1;la=75;break a}j=kb[c[J>>2]&63](32)|0;c[f+36>>2]=j;if(!j){la=63;break a}c[f+40>>2]=j+32}else c[I>>2]=c[f>>2];o=f+44|0;c[o>>2]=0;c[f>>2]=c[K>>2];c[K>>2]=f;s=f+12|0;c[f+16>>2]=0;c[f+20>>2]=0;r=(c[ja>>2]|0)+(c[w>>2]|0)|0;q=f+4|0;c[q>>2]=r;p=f+8|0;c[p>>2]=lb[c[L>>2]&127](e,r)|0;c[ia>>2]=(c[ia>>2]|0)+1;q=c[q>>2]|0;p=q+(c[p>>2]|0)|0;c[Z>>2]=q;q=f+36|0;c[ka>>2]=c[q>>2];r=f+40|0;j=c[r>>2]|0;while(1){na=pb[c[aa>>2]&127](e,Z,p,ka,j+-1|0)|0;j=c[ka>>2]|0;m=c[q>>2]|0;k=m;n=j-k|0;if((na|0)==1?1:(c[Z>>2]|0)>>>0>=p>>>0)break;k=(c[r>>2]|0)-k<<1;j=lb[c[M>>2]&127](m,k)|0;if(!j){la=69;break a}c[q>>2]=j;na=j+k|0;c[r>>2]=na;c[ka>>2]=j+n;j=na}c[f+24>>2]=n;c[s>>2]=k;a[j>>0]=0;f=uW(b,e,c[ja>>2]|0,s,o)|0;if(f|0){la=75;break a}f=c[N>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else vb[f&127](c[ha>>2]|0,c[s>>2]|0,c[P>>2]|0);XV(O);break}case 3:case 4:{na=(c[ja>>2]|0)+(c[w>>2]|0)|0;c[ka>>2]=0;na=WV(O,e,na,na+(lb[c[L>>2]&127](e,na)|0)|0)|0;c[Z>>2]=na;if(!na){f=1;la=89;break a}c[D>>2]=c[E>>2];f=uW(b,e,c[ja>>2]|0,Z,ka)|0;if(f|0){la=79;break a}c[D>>2]=c[E>>2];f=c[N>>2]|0;if(!f)j=1;else{vb[f&127](c[ha>>2]|0,c[Z>>2]|0,c[P>>2]|0);j=0}f=c[Q>>2]|0;if(!f){if(j|0?c[ga>>2]|0:0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{if(c[N>>2]|0){c[fa>>2]=c[Y>>2];f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[Z>>2]|0)}XV(O);vW(b,c[ka>>2]|0);if((c[ia>>2]|0)==0?(c[u>>2]&-2|0)!=2:0){la=92;break a}break}case 5:{if((c[ia>>2]|0)==(d|0)){f=13;break a}n=c[K>>2]|0;c[K>>2]=c[n>>2];c[n>>2]=c[I>>2];c[I>>2]=n;f=(c[ja>>2]|0)+(c[w>>2]<<1)|0;j=lb[c[L>>2]&127](e,f)|0;if((j|0)!=(c[n+8>>2]|0)){la=96;break a}if(L0(c[n+4>>2]|0,f,j)|0){la=96;break a}c[ia>>2]=(c[ia>>2]|0)+-1;f=c[Q>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0)}else{j=c[n+16>>2]|0;m=n+12|0;if((j|0)!=0&(a[R>>0]|0)!=0){f=(c[m>>2]|0)+(c[n+28>>2]|0)|0;while(1){k=a[j>>0]|0;if(!(k<<24>>24))break;a[f>>0]=k;f=f+1|0;j=j+1|0}j=c[n+20>>2]|0;c:do if((j|0)!=0&(a[S>>0]|0)!=0){a[f>>0]=a[T>>0]|0;while(1){f=f+1|0;k=a[j>>0]|0;if(!(k<<24>>24))break c;a[f>>0]=k;j=j+1|0}}while(0);a[f>>0]=0;f=c[Q>>2]|0}ub[f&63](c[ha>>2]|0,c[m>>2]|0)}k=n+44|0;while(1){m=c[k>>2]|0;if(!m)break;f=c[U>>2]|0;if(!f){f=m;j=m}else{ub[f&63](c[ha>>2]|0,c[c[m>>2]>>2]|0);f=m;j=c[k>>2]|0}c[k>>2]=c[j+4>>2];c[m+4>>2]=c[V>>2];c[V>>2]=m;c[(c[f>>2]|0)+4>>2]=c[m+8>>2]}if(!(c[ia>>2]|0)){la=117;break a}break}case 10:{f=lb[c[W>>2]&127](e,c[ja>>2]|0)|0;if((f|0)<0){f=14;break a}j=c[$>>2]|0;if(j|0){s=c[ha>>2]|0;na=gX(f,ka)|0;vb[j&127](s,ka,na);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,c[ea>>2]|0);break}case 7:{f=c[$>>2]|0;if(f|0){a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1);break b}if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k);break}case 8:{f=c[X>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}else tb[f&127](c[ha>>2]|0);f=xW(b,e,ea,g,h,i)|0;if(f|0)break a;if(!(c[ea>>2]|0)){la=133;break a}break}case 6:{j=c[$>>2]|0;if(!j){if(!(c[ga>>2]|0))break b;hW(b,e,c[ja>>2]|0,k);break b}if(!(a[ba>>0]|0))f=k;else{na=c[ja>>2]|0;vb[j&127](c[ha>>2]|0,na,f-na|0);break b}while(1){c[ka>>2]=c[ca>>2];na=pb[c[aa>>2]&127](e,ja,f,ka,c[da>>2]|0)|0;c[Y>>2]=c[ja>>2];s=c[ca>>2]|0;vb[j&127](c[ha>>2]|0,s,(c[ka>>2]|0)-s|0);if(na>>>0<2)break;c[fa>>2]=c[ja>>2];f=c[ea>>2]|0}break}case 11:{if(!(nW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}case 13:{if(!(oW(b,e,c[ja>>2]|0,k)|0)){f=1;break a}break}default:if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,k)}while(0);na=c[ea>>2]|0;c[ja>>2]=na;c[fa>>2]=na;switch(c[u>>2]|0){case 2:{f=35;break a}case 3:{la=160;break a}default:{}}}switch(la|0){case 6:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}c[Y>>2]=g;f=c[$>>2]|0;if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else{a[ka>>0]=10;vb[f&127](c[ha>>2]|0,ka,1)}if(d)if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0}else f=13;else f=3;break}case 15:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}if((d|0)>0)if((c[ia>>2]|0)==(d|0)){c[h>>2]=c[ja>>2];f=0}else f=13;else f=3;break}case 20:{c[fa>>2]=f;f=4;break}case 21:{if(!(i<<24>>24))f=5;else{c[h>>2]=c[ja>>2];f=0}break}case 23:{if(!(i<<24>>24))f=6;else{c[h>>2]=c[ja>>2];f=0}break}case 56:break;case 58:break;case 63:{tb[c[b+20>>2]&127](f);f=1;la=75;break}case 69:{f=1;la=75;break}case 79:{vW(b,c[ka>>2]|0);la=89;break}case 92:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 96:{c[fa>>2]=f;f=7;break}case 117:{f=wW(b,c[ea>>2]|0,g,h)|0;break}case 133:{c[b+276>>2]=61;f=0;break}case 134:{if(i<<24>>24){c[h>>2]=c[ja>>2];f=0;break}f=c[$>>2]|0;do if(!f){if(c[ga>>2]|0)hW(b,e,c[ja>>2]|0,g)}else if(!(a[ba>>0]|0)){c[ka>>2]=c[ca>>2];pb[c[aa>>2]&127](e,ja,g,ka,c[da>>2]|0)|0;na=c[ca>>2]|0;vb[c[$>>2]&127](c[ha>>2]|0,na,(c[ka>>2]|0)-na|0);break}else{na=c[ja>>2]|0;vb[f&127](c[ha>>2]|0,na,g-na|0);break}while(0);if(!d){c[fa>>2]=g;f=3;break}if((c[ia>>2]|0)==(d|0)){c[h>>2]=g;f=0;break}else{c[fa>>2]=g;f=13;break}}case 160:{c[h>>2]=c[ea>>2];f=0;break}}l=ma;return f|0}function sW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+16|0;p=q;k=b+296|0;m=c[k>>2]|0;do if(m){n=c[m+12>>2]|0;h=n+4|0;j=c[h>>2]|0;i=n+12|0;g=j+(c[i>>2]|0)|0;j=j+(c[n+8>>2]|0)|0;c[p>>2]=g;o=n+33|0;if(!(a[o>>0]|0))g=rW(b,c[m+16>>2]|0,c[b+224>>2]|0,g,j,p,0)|0;else{s=b+224|0;r=c[s>>2]|0;r=ob[c[r>>2]&127](r,g,j,p)|0;g=UV(b,c[s>>2]|0,g,j,r,c[p>>2]|0,p,0)|0}if(!g){g=c[p>>2]|0;if((j|0)!=(g|0)?(c[b+476>>2]|0)==3:0){c[i>>2]=g-(c[h>>2]|0);g=0;break}a[n+32>>0]=0;s=m+8|0;c[k>>2]=c[s>>2];g=b+300|0;c[s>>2]=c[g>>2];c[g>>2]=m;g=b+276|0;if(!(a[o>>0]|0)){c[g>>2]=58;g=rW(b,(c[b+472>>2]|0)!=0&1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;break}else{c[g>>2]=57;s=b+144|0;g=c[s>>2]|0;g=ob[c[g>>2]&127](g,d,e,p)|0;g=UV(b,c[s>>2]|0,d,e,g,c[p>>2]|0,f,(a[b+480>>0]|0)==0&1)|0;break}}}else g=23;while(0);l=q;return g|0}function tW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;n=q;m=c[b+352>>2]|0;h=m+156|0;o=b+412|0;p=b+424|0;a:do if(!(c[h>>2]|0)){d=0;i=b+420|0;k=b+468|0;j=12}else{d=c[p>>2]|0;i=b+420|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;g=b+468|0;e=(c[(c[h>>2]|0)+20>>2]|0)+(((a[g>>0]|0)!=0)<<31>>31)|0;f=0;while(1){if((f|0)>=(e|0)){d=1;k=g;j=12;break a}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[p>>2]|0}k=a[(c[(c[h>>2]|0)+16>>2]|0)+f>>0]|0;c[p>>2]=d+1;a[d>>0]=k;f=f+1|0}}while(0);b:do if((j|0)==12){NV(n,m+60|0);c:while(1){do{e=OV(n)|0;if(!e)break c;h=e+4|0}while(!(c[h>>2]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}g=c[e>>2]|0;while(1){e=a[g>>0]|0;d=c[p>>2]|0;f=(d|0)==(c[i>>2]|0);if(!(e<<24>>24))break;if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[g>>0]|0}c[p>>2]=d+1;a[d>>0]=e;g=g+1|0}if(f){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=61;f=(c[(c[h>>2]|0)+20>>2]|0)+(((a[k>>0]|0)!=0)<<31>>31)|0;e=0;while(1){if((e|0)>=(f|0)){d=1;continue c}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}j=a[(c[(c[h>>2]|0)+16>>2]|0)+e>>0]|0;c[p>>2]=d+1;a[d>>0]=j;e=e+1|0}}NV(n,m);d:while(1){do{e=OV(n)|0;if(!e)break d}while(!(a[e+32>>0]|0));if(d<<24>>24){d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=12}f=c[e>>2]|0;while(1){e=a[f>>0]|0;if(!(e<<24>>24)){d=1;continue d}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break b}d=c[p>>2]|0;e=a[f>>0]|0}c[p>>2]=d+1;a[d>>0]=e;f=f+1|0}}d=c[p>>2]|0;if((d|0)==(c[i>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[p>>2]|0}c[p>>2]=d+1;a[d>>0]=0;d=c[b+428>>2]|0}while(0);l=q;return d|0}function uW(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;O=l;l=l+80|0;K=O+16|0;L=O;M=c[b+352>>2]|0;k=M+20|0;i=YV(b,k,c[g>>2]|0,0)|0;if(!i){i=BW(M+80|0,c[g>>2]|0)|0;if((i|0)!=0?(j=YV(b,k,i,24)|0,(j|0)!=0):0)if((a[b+232>>0]|0)!=0?(CW(b,j)|0)==0:0)i=1;else A=6;else i=1}else{j=i;A=6}a:do if((A|0)==6){x=c[j+12>>2]|0;k=e+36|0;m=b+376|0;t=b+388|0;u=ob[c[k>>2]&127](e,f,c[m>>2]|0,c[t>>2]|0)|0;i=u+x|0;n=c[m>>2]|0;if((i|0)>(n|0)){i=i+16|0;c[m>>2]=i;i=lb[c[b+16>>2]&127](c[t>>2]|0,i<<4)|0;if(!i){c[m>>2]=n;i=1;break}c[t>>2]=i;if((u|0)>(n|0))ob[c[k>>2]&127](e,f,u,i)|0}J=c[t>>2]|0;r=e+28|0;H=b+412|0;I=b+428|0;w=j+20|0;q=b+424|0;s=0;p=0;k=0;while(1){if((p|0)>=(u|0))break;o=c[(c[t>>2]|0)+(p<<4)>>2]|0;o=aW(b,e,o,o+(lb[c[r>>2]&127](e,o)|0)|0)|0;if(!o){i=1;break a}i=(c[o>>2]|0)+-1|0;if(a[i>>0]|0){A=15;break}a[i>>0]=1;f=s+1|0;c[J+(s<<2)>>2]=c[o>>2];n=c[t>>2]|0;if(a[n+(p<<4)+12>>0]|0){G=WV(H,e,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0)|0;c[J+(f<<2)>>2]=G;if(!G){i=1;break a}}else{b:do if(!(a[o+8>>0]|0))i=1;else{i=0;while(1){if((i|0)>=(x|0)){i=1;break b}m=c[w>>2]|0;if((o|0)==(c[m+(i*12|0)>>2]|0))break;i=i+1|0}i=a[m+(i*12|0)+4>>0]|0}while(0);i=fW(b,e,i,c[n+(p<<4)+4>>2]|0,c[n+(p<<4)+8>>2]|0,H)|0;if(i|0)break a;c[J+(f<<2)>>2]=c[I>>2]}c[I>>2]=c[q>>2];i=c[o+4>>2]|0;do if(i)if(a[o+9>>0]|0){i=DW(b,i,o,c[J+(f<<2)>>2]|0,h)|0;if(!i){i=s;break}else break a}else{a[(c[o>>2]|0)+-1>>0]=2;k=k+1|0;i=s+2|0;break}else i=s+2|0;while(0);s=i;p=p+1|0}if((A|0)==15){if((c[b+144>>2]|0)!=(e|0)){i=8;break}c[b+284>>2]=c[(c[t>>2]|0)+(p<<4)>>2];i=8;break}c[b+380>>2]=s;i=c[j+8>>2]|0;c:do if((i|0)!=0?(v=c[i>>2]|0,(a[v+-1>>0]|0)!=0):0){i=0;while(1){if((i|0)>=(s|0)){f=0;p=k;G=s;break c}if((c[J+(i<<2)>>2]|0)==(v|0)){A=37;break c}i=i+2|0}}else{i=-1;A=37}while(0);if((A|0)==37){c[b+384>>2]=i;f=0;p=k;G=s}while(1){if((f|0)>=(x|0))break;i=c[w>>2]|0;n=i+(f*12|0)|0;k=c[n>>2]|0;m=(c[k>>2]|0)+-1|0;d:do if((a[m>>0]|0)==0?(y=i+(f*12|0)+8|0,z=c[y>>2]|0,(z|0)!=0):0){i=c[k+4>>2]|0;do if(i)if(a[k+9>>0]|0){i=DW(b,i,k,z,h)|0;if(!i){i=p;k=G;break d}else break a}else{a[m>>0]=2;i=p+1|0;break}else{a[m>>0]=1;i=p}while(0);c[J+(G<<2)>>2]=c[c[n>>2]>>2];c[J+(G+1<<2)>>2]=c[y>>2];k=G+2|0}else{i=p;k=G}while(0);f=f+1|0;p=i;G=k}c[J+(G<<2)>>2]=0;e:do if(!p)i=0;else{o=b+396|0;n=c[o>>2]|0;F=b+400|0;f=a[F>>0]|0;i=f&255;do if(!(p<<1>>i)){i=1<<i;m=b+392|0;if(!n){k=i;A=55}else{k=i;i=n}}else{i=f;do{E=i;i=i+1<<24>>24}while((p>>(E&255)|0)!=0);i=(i&255)>3?i:3;a[F>>0]=i;i=i&255;m=b+392|0;k=lb[c[b+16>>2]&127](c[m>>2]|0,12<<i)|0;if(!k){a[F>>0]=f;i=1;break a}else{c[m>>2]=k;k=1<<i;A=55;break}}while(0);f:do if((A|0)==55){i=k;while(1){if(!i){i=-1;break f}E=i+-1|0;c[(c[m>>2]|0)+(E*12|0)>>2]=-1;i=E}}while(0);E=i+-1|0;c[o>>2]=E;w=M+40|0;x=b+424|0;y=b+420|0;z=k+-1|0;A=0-k|0;B=z>>>2;C=b+233|0;D=b+468|0;i=0;v=p;g:while(1){while(1){if((i|0)>=(G|0))break e;e=J+(i<<2)|0;n=c[e>>2]|0;f=n+-1|0;if((a[f>>0]|0)==2)break;a[f>>0]=0;i=i+2|0}EW(b,L);FW(K,L);a[f>>0]=0;f=YV(b,w,n,0)|0;if(!f){i=1;break}f=c[f+4>>2]|0;if(!f){i=1;break}u=c[f+4>>2]|0;if(!u){i=27;break}q=u+20|0;r=u+16|0;p=0;while(1){f=c[q>>2]|0;o=c[r>>2]|0;if((p|0)>=(f|0))break;o=a[o+p>>0]|0;f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}c[x>>2]=f+1;a[f>>0]=o;p=p+1|0}GW(K,o,f);do{t=n;n=n+1|0}while((a[t>>0]|0)!=58);GW(K,n,HW(n)|0);while(1){f=c[x>>2]|0;if((f|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}f=c[x>>2]|0}t=a[n>>0]|0;c[x>>2]=f+1;a[f>>0]=t;if(!(a[n>>0]|0))break;else n=n+1|0}t=IW(K)|0;q=c[m>>2]|0;r=t&A;n=0;s=z&t;while(1){if((c[q+(s*12|0)>>2]|0)!=(E|0))break;if((c[q+(s*12|0)+4>>2]|0)==(t|0)){f=c[q+(s*12|0)+8>>2]|0;o=c[I>>2]|0;while(1){P=a[o>>0]|0;p=P<<24>>24==0;if(p|P<<24>>24!=(a[f>>0]|0))break;f=f+1|0;o=o+1|0}if(p){i=8;break g}}if(!(n<<24>>24))n=(r>>>((d[F>>0]|0)+-1|0)&B|1)&255;P=n&255;s=s+((s|0)<(P|0)?k:0)-P|0}if(a[C>>0]|0){a[(c[x>>2]|0)+-1>>0]=a[D>>0]|0;f=c[c[u>>2]>>2]|0;while(1){n=c[x>>2]|0;if((n|0)==(c[y>>2]|0)){if(!((eW(H)|0)<<24>>24)){i=1;break g}n=c[x>>2]|0}P=a[f>>0]|0;c[x>>2]=n+1;a[n>>0]=P;if(!(a[f>>0]|0))break;else f=f+1|0}}P=c[I>>2]|0;c[I>>2]=c[x>>2];c[e>>2]=P;c[(c[m>>2]|0)+(s*12|0)>>2]=E;c[(c[m>>2]|0)+(s*12|0)+4>>2]=t;c[(c[m>>2]|0)+(s*12|0)+8>>2]=P;v=v+-1|0;i=i+2|0;if(!v)break e}break a}while(0);while(1){if((i|0)>=(G|0)){i=h;break}a[(c[J+(i<<2)>>2]|0)+-1>>0]=0;i=i+2|0}while(1){i=c[i>>2]|0;if(!i)break;a[(c[c[i+12>>2]>>2]|0)+-1>>0]=0;i=i+4|0}if(!(a[b+232>>0]|0))i=0;else{i=c[j+4>>2]|0;if(!i){i=c[M+156>>2]|0;if(!i){i=0;break}k=c[g>>2]|0}else{i=c[i+4>>2]|0;if(!i){i=27;break}j=c[g>>2]|0;while(1){k=j+1|0;if((a[j>>0]|0)==58)break;else j=k}}if((a[b+233>>0]|0)!=0?(N=c[c[i>>2]>>2]|0,(N|0)!=0):0){j=0;while(1){m=j+1|0;if(!(a[N+j>>0]|0))break;else j=m}}else m=0;c[g+4>>2]=k;p=i+20|0;c[g+16>>2]=c[p>>2];c[g+8>>2]=c[c[i>>2]>>2];c[g+20>>2]=m;q=0;while(1){r=q+1|0;if(!(a[k+q>>0]|0))break;else q=r}j=c[p>>2]|0;n=r+m+j|0;f=i+24|0;if((n|0)>(c[f>>2]|0)){j=n+24|0;o=kb[c[b+12>>2]&63](j)|0;if(!o){i=1;break}c[f>>2]=j;f=i+16|0;F3(o|0,c[f>>2]|0,c[p>>2]|0)|0;j=b+360|0;while(1){j=c[j>>2]|0;if(!j)break;n=j+12|0;if((c[n>>2]|0)==(c[f>>2]|0))c[n>>2]=o}tb[c[b+20>>2]&127](c[f>>2]|0);c[f>>2]=o;n=o;j=c[p>>2]|0}else{n=i+16|0;f=n;n=c[n>>2]|0}j=n+j|0;F3(j|0,k|0,r|0)|0;if(m|0){P=j+q|0;a[P>>0]=a[b+468>>0]|0;F3(P+1|0,c[c[i>>2]>>2]|0,m|0)|0}c[g>>2]=c[f>>2];i=0}}while(0);l=O;return i|0}function vW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=a+104|0;f=a+372|0;d=a+4|0;while(1){if(!b)break;a=c[e>>2]|0;if(!a)a=b;else{ub[a&63](c[d>>2]|0,c[c[b>>2]>>2]|0);a=b}h=b+4|0;g=c[h>>2]|0;c[h>>2]=c[f>>2];c[f>>2]=b;c[(c[a>>2]|0)+4>>2]=c[b+8>>2];b=g}return}function wW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;j=q;c[b+276>>2]=62;k=b+284|0;c[k>>2]=d;m=b+144|0;n=b+288|0;o=b+80|0;i=b+476|0;g=d;a:while(1){c[j>>2]=0;r=c[m>>2]|0;r=ob[c[r>>2]&127](r,g,e,j)|0;d=c[j>>2]|0;c[n>>2]=d;h=d;switch(r|0){case -15:{p=3;break a}case -4:{p=7;break a}case 0:{p=12;break a}case -1:{p=13;break a}case -2:{p=15;break a}case 15:{if(c[o>>2]|0)hW(b,c[m>>2]|0,g,h);break}case 11:{if(!(nW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}case 13:{if(!(oW(b,c[m>>2]|0,g,h)|0)){d=1;break a}break}default:{d=9;break a}}d=c[j>>2]|0;c[k>>2]=d;switch(c[i>>2]|0){case 2:{d=35;break a}case 3:{p=18;break a}default:{}}g=d}do if((p|0)==3){if(c[o>>2]|0){hW(b,c[m>>2]|0,g,h);if((c[i>>2]|0)==2){d=35;break}d=c[j>>2]|0}c[f>>2]=d;d=0}else if((p|0)==7){c[f>>2]=g;d=0}else if((p|0)==12){c[k>>2]=d;d=4}else if((p|0)==13)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=5;else if((p|0)==15)if(!(a[b+480>>0]|0)){c[f>>2]=g;d=0}else d=6;else if((p|0)==18){c[f>>2]=d;d=0}while(0);l=q;return d|0}function xW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+16|0;y=B+8|0;z=B+4|0;x=B;i=c[e>>2]|0;c[y>>2]=i;if((c[b+144>>2]|0)==(d|0)){s=b+284|0;c[s>>2]=i;t=b+288|0}else{t=c[b+296>>2]|0;s=t;t=t+4|0}c[s>>2]=i;c[e>>2]=0;k=d+8|0;m=b+60|0;u=b+80|0;v=b+4|0;w=b+476|0;n=d+68|0;o=b+44|0;p=d+56|0;q=b+48|0;a:while(1){j=ob[c[k>>2]&127](d,c[y>>2]|0,f,z)|0;i=c[z>>2]|0;c[t>>2]=i;r=i;b:do switch(j|0){case 40:{A=6;break a}case 0:{A=23;break a}case -2:{A=24;break a}case -4:case -1:{A=26;break a}case 7:{i=c[m>>2]|0;if(i|0){a[x>>0]=10;vb[i&127](c[v>>2]|0,x,1);break b}if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r);break}case 6:{j=c[m>>2]|0;if(!j){if(!(c[u>>2]|0))break b;hW(b,d,c[y>>2]|0,r);break b}if(!(a[n>>0]|0))i=r;else{r=c[y>>2]|0;vb[j&127](c[v>>2]|0,r,i-r|0);break b}while(1){c[x>>2]=c[o>>2];r=pb[c[p>>2]&127](d,y,i,x,c[q>>2]|0)|0;c[t>>2]=c[z>>2];i=c[o>>2]|0;vb[j&127](c[v>>2]|0,i,(c[x>>2]|0)-i|0);if(r>>>0<2)break;c[s>>2]=c[y>>2];i=c[z>>2]|0}break}default:{A=28;break a}}while(0);r=c[z>>2]|0;c[y>>2]=r;c[s>>2]=r;switch(c[w>>2]|0){case 3:{A=30;break a}case 2:{i=35;break a}default:{}}}if((A|0)==6){i=c[b+76>>2]|0;if(!i){if(c[u>>2]|0)hW(b,d,c[y>>2]|0,r)}else tb[i&127](c[v>>2]|0);i=c[z>>2]|0;c[e>>2]=i;c[g>>2]=i;i=(c[w>>2]|0)==2?35:0}else if((A|0)==23){c[s>>2]=i;i=4}else if((A|0)==24)if(!(h<<24>>24))i=6;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==26)if(!(h<<24>>24))i=20;else{c[g>>2]=c[y>>2];i=0}else if((A|0)==28){c[s>>2]=i;i=23}else if((A|0)==30){c[g>>2]=c[z>>2];i=0}l=B;return i|0}function yW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;c[g>>2]=d;d=xW(b,c[b+144>>2]|0,g,e,f,(a[b+480>>0]|0)==0&1)|0;g=c[g>>2]|0;do if(!((d|0)!=0|(g|0)==0)){d=b+276|0;if(!(c[b+472>>2]|0)){c[d>>2]=58;d=_V(b,g,e,f)|0;break}else{c[d>>2]=63;d=zW(b,g,e,f)|0;break}}while(0);l=h;return d|0}function zW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;d=rW(b,1,c[b+144>>2]|0,d,e,f,(a[b+480>>0]|0)==0&1)|0;if((d|0)==0?(AW(b)|0)<<24>>24==0:0)d=1;return d|0}function AW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;a=a+360|0;while(1){a=c[a>>2]|0;if(!a){a=1;break}i=(c[a+24>>2]|0)+1|0;j=a+36|0;f=c[j>>2]|0;e=f+i|0;l=a+4|0;d=c[l>>2]|0;if((d|0)==(e|0)){a=1;break}k=a+8|0;b=c[k>>2]|0;g=b+i|0;h=a+40|0;if((g|0)>((c[h>>2]|0)-f|0)){e=lb[c[m>>2]&127](f,g)|0;if(!e){a=0;break}b=a+12|0;f=c[j>>2]|0;if((c[b>>2]|0)==(f|0))c[b>>2]=e;b=a+16|0;d=c[b>>2]|0;if(d|0)c[b>>2]=e+(d-f);c[j>>2]=e;c[h>>2]=e+g;e=e+i|0;d=c[l>>2]|0;b=c[k>>2]|0}F3(e|0,d|0,b|0)|0;c[l>>2]=e}return a|0}function BW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;while(1){e=c[f>>2]|0;if((e|0)==(c[g>>2]|0)){if(!((eW(b)|0)<<24>>24)){d=0;break}e=c[f>>2]|0}i=a[d>>0]|0;c[f>>2]=e+1;a[e>>0]=i;if(!(a[d>>0]|0)){h=6;break}else d=d+1|0}if((h|0)==6){i=b+16|0;d=c[i>>2]|0;c[i>>2]=c[f>>2]}return d|0}function CW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+352>>2]|0;j=n+80|0;k=n+92|0;l=n+88|0;m=n+60|0;n=n+96|0;i=d+4|0;h=c[d>>2]|0;a:while(1){switch(a[h>>0]|0){case 0:{e=1;break a}case 58:{g=c[d>>2]|0;while(1){e=c[k>>2]|0;f=(e|0)==(c[l>>2]|0);if((g|0)==(h|0))break;if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}f=a[g>>0]|0;c[k>>2]=e+1;a[e>>0]=f;g=g+1|0}if(f){if(!((eW(j)|0)<<24>>24)){e=0;break a}e=c[k>>2]|0}c[k>>2]=e+1;a[e>>0]=0;e=YV(b,m,c[n>>2]|0,8)|0;if(!e){e=0;break a}f=c[n>>2]|0;if((c[e>>2]|0)==(f|0))c[n>>2]=c[k>>2];else c[k>>2]=f;c[i>>2]=e;break}default:{}}h=h+1|0}return e|0}function DW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;k=a[f>>0]|0;i=c[d>>2]|0;h=(i|0)==0;do if(!(k<<24>>24))if(h){m=0;j=11}else h=28;else if(((!h?(a[i>>0]|0)==120:0)?(a[i+1>>0]|0)==109:0)?(a[i+2>>0]|0)==108:0){h=a[i+3>>0]|0;if((h<<24>>24==110?(a[i+4>>0]|0)==115:0)?(a[i+5>>0]|0)==0:0){h=39;break}m=h<<24>>24==0&1;j=11}else{m=0;j=11}while(0);a:do if((j|0)==11){l=m<<24>>24!=0;h=1;i=1;n=0;while(1){j=i<<24>>24!=0;if(!(k<<24>>24))break;do if(j){if((n|0)<=36?k<<24>>24==(a[139175+n>>0]|0):0)break;i=0}else i=0;while(0);do if(!(l|h<<24>>24==0)){if((n|0)<=29?k<<24>>24==(a[139212+n>>0]|0):0)break;h=0}while(0);k=n+1|0;n=k;k=a[f+k>>0]|0}if((m&255|0)!=(j&(n|0)==36&1|0)){h=l?38:40;break}if(!(h<<24>>24!=0&(n|0)==29)){o=b+468|0;n=n+((a[o>>0]|0)!=0&1)|0;h=b+372|0;j=c[h>>2]|0;do if(!j){h=b+12|0;i=kb[c[h>>2]&63](28)|0;if(!i){h=1;break a}j=n+24|0;m=kb[c[h>>2]&63](j)|0;c[i+16>>2]=m;if(!m){tb[c[b+20>>2]&127](i);h=1;break a}else{c[i+24>>2]=j;j=i;break}}else{i=j+24|0;if((n|0)>(c[i>>2]|0)){k=j+16|0;l=n+24|0;m=lb[c[b+16>>2]&127](c[k>>2]|0,l)|0;if(!m){h=1;break a}c[k>>2]=m;c[i>>2]=l}c[h>>2]=c[j+4>>2]}while(0);c[j+20>>2]=n;i=j+16|0;F3(c[i>>2]|0,f|0,n|0)|0;h=a[o>>0]|0;if(h<<24>>24)a[(c[i>>2]|0)+(n+-1)>>0]=h;c[j>>2]=d;c[j+12>>2]=e;i=d+4|0;c[j+8>>2]=c[i>>2];if((a[f>>0]|0)==0?((c[b+352>>2]|0)+152|0)==(d|0):0)h=0;else h=j;c[i>>2]=h;c[j+4>>2]=c[g>>2];c[g>>2]=j;if((e|0)!=0?(p=c[b+100>>2]|0,(p|0)!=0):0){vb[p&127](c[b+4>>2]|0,c[d>>2]|0,c[i>>2]|0?f:0);h=0}else h=0}else h=40}while(0);return h|0}function EW(a,b){a=a|0;b=b|0;var d=0;d=b;c[d>>2]=0;c[d+4>>2]=0;b=b+8|0;c[b>>2]=KW(a)|0;c[b+4>>2]=0;return}function FW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=b;g=c[d+4>>2]^1936682341;e=a;c[e>>2]=c[d>>2]^1886610805;c[e+4>>2]=g;e=b+8|0;g=e;d=c[g+4>>2]^1685025377;f=a+8|0;c[f>>2]=c[g>>2]^1852075885;c[f+4>>2]=d;f=b;b=c[f+4>>2]^1819895653;d=a+16|0;c[d>>2]=c[f>>2]^1852142177;c[d+4>>2]=b;d=c[e+4>>2]^1952801890;b=a+24|0;c[b>>2]=c[e>>2]^2037671283;c[b+4>>2]=d;c[a+40>>2]=a+32;b=a+48|0;c[b>>2]=0;c[b+4>>2]=0;return}function GW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;n=e+f|0;o=b+40|0;p=b+40|0;q=b+32|0;r=b+33|0;s=b+34|0;t=b+35|0;h=b+36|0;i=b+37|0;j=b+38|0;k=b+39|0;l=b+24|0;m=b+48|0;f=e;do{while(1){g=c[o>>2]|0;if(f>>>0>=n>>>0){e=0;break}if(g>>>0>=p>>>0){e=1;break}e=a[f>>0]|0;c[o>>2]=g+1;a[g>>0]=e;f=f+1|0}if(g>>>0<p>>>0)break;A=d[q>>0]|0;B=A3(d[r>>0]|0|0,0,8)|0;g=z;y=A3(d[s>>0]|0|0,0,16)|0;g=g|z;w=A3(d[t>>0]|0|0,0,24)|0;g=g|z|(d[h>>0]|0);u=A3(d[i>>0]|0|0,0,40)|0;g=g|z;x=A3(d[j>>0]|0|0,0,48)|0;g=g|z;v=A3(d[k>>0]|0|0,0,56)|0;v=B|A|y|w|u|x|v;g=g|z;x=l;u=g^c[x+4>>2];w=l;c[w>>2]=v^c[x>>2];c[w+4>>2]=u;JW(b,2);w=b;g=c[w+4>>2]^g;u=b;c[u>>2]=c[w>>2]^v;c[u+4>>2]=g;c[o>>2]=q;u=m;u=s3(c[u>>2]|0,c[u+4>>2]|0,8,0)|0;g=m;c[g>>2]=u;c[g+4>>2]=z}while(e);return}function HW(b){b=b|0;var c=0;c=0;while(1){if(!(a[b>>0]|0))break;c=c+1|0;b=b+1|0}return c|0}function IW(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;f=a+32|0;h=(c[a+40>>2]|0)-f|0;e=a+48|0;e=s3(c[e>>2]|0,c[e+4>>2]|0,h|0,0)|0;e=A3(e|0,z|0,56)|0;b=z;switch(h<<24>>24|0){case 7:{e=A3(d[a+38>>0]|0|0,0,48)|0|e;b=z|b;g=3;break}case 6:{g=3;break}case 5:{g=4;break}case 4:{g=5;break}case 3:{g=6;break}case 2:{g=7;break}case 1:{g=8;break}default:{}}if((g|0)==3){h=A3(d[a+37>>0]|0|0,0,40)|0;e=h|e;b=z|b;g=4}if((g|0)==4){b=d[a+36>>0]|0|b;g=5}if((g|0)==5){h=A3(d[a+35>>0]|0|0,0,24)|0;e=h|e;b=z|b;g=6}if((g|0)==6){h=A3(d[a+34>>0]|0|0,0,16)|0;e=h|e;b=z|b;g=7}if((g|0)==7){h=A3(d[a+33>>0]|0|0,0,8)|0;b=z|b;e=h|e;g=8}if((g|0)==8)e=e|(d[f>>0]|0);h=a+24|0;i=h;g=c[i+4>>2]^b;f=h;c[f>>2]=c[i>>2]^e;c[f+4>>2]=g;JW(a,2);f=a;b=c[f+4>>2]^b;g=a;c[g>>2]=c[f>>2]^e;c[g+4>>2]=b;g=a+16|0;b=g;e=c[b+4>>2]|0;f=g;c[f>>2]=c[b>>2]^255;c[f+4>>2]=e;JW(a,4);f=a;a=a+8|0;z=c[a+4>>2]^c[f+4>>2]^c[g+4>>2]^c[h+4>>2];return c[a>>2]^c[f>>2]^c[g>>2]^c[h>>2]|0}function JW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=a+8|0;f=a+24|0;g=a+16|0;d=0;while(1){if((d|0)>=(b|0))break;h=e;n=c[h>>2]|0;h=c[h+4>>2]|0;o=a;o=s3(c[o>>2]|0,c[o+4>>2]|0,n|0,h|0)|0;k=z;m=A3(n|0,h|0,13)|0;l=z;h=z3(n|0,h|0,51)|0;h=(m|h)^o;l=(l|z)^k;m=f;n=c[m>>2]|0;m=c[m+4>>2]|0;j=g;j=s3(c[j>>2]|0,c[j+4>>2]|0,n|0,m|0)|0;i=z;q=A3(n|0,m|0,16)|0;p=z;m=z3(n|0,m|0,48)|0;m=(q|m)^j;p=(p|z)^i;o=s3(k|0,o|0,m|0,p|0)|0;k=z;q=a;c[q>>2]=o;c[q+4>>2]=k;q=A3(m|0,p|0,21)|0;n=z;p=z3(m|0,p|0,43)|0;m=f;c[m>>2]=(q|p)^o;c[m+4>>2]=(n|z)^k;i=s3(j|0,i|0,h|0,l|0)|0;j=z;m=A3(h|0,l|0,17)|0;k=z;l=z3(h|0,l|0,47)|0;h=e;c[h>>2]=(m|l)^i;c[h+4>>2]=(k|z)^j;h=g;c[h>>2]=j;c[h+4>>2]=i;d=d+1|0}return}function KW(a){a=a|0;var b=0;while(1){b=c[a+472>>2]|0;if(!b)break;else a=b}return c[a+492>>2]|0}function LW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+16|0;I=L;J=L+4|0;K=c[b+352>>2]|0;o=d+16|0;p=d+40|0;q=b+144|0;r=b+284|0;s=e<<24>>24==0;t=h+12|0;v=h+16|0;w=h+8|0;x=d+44|0;y=d+64|0;z=b+436|0;A=b+452|0;B=b+448|0;C=(K+80|0)==(h|0);D=b+268|0;E=K+130|0;F=K+129|0;G=b+296|0;H=b+224|0;i=0;a:while(1){b:while(1){switch(ob[c[o>>2]&127](d,f,g,I)|0){case -4:{i=0;n=61;break a}case 0:{n=4;break a}case -1:{n=6;break a}case 6:{n=21;break b}case -3:{n=22;break b}case 7:case 39:{n=23;break b}case 10:{j=lb[c[p>>2]&127](d,f)|0;c:do if((j|0)<0)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;j=1;i=14}else{j=1;i=14}else{if(s&(j|0)==32){k=c[t>>2]|0;if((c[v>>2]|0)==(k|0)){j=4;break}if((a[k+-1>>0]|0)==32){j=4;break}}m=gX(j,J)|0;k=0;while(1){if((k|0)>=(m|0)){j=0;break c}j=c[t>>2]|0;if((j|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){j=1;i=1;break c}j=c[t>>2]|0}M=a[J+k>>0]|0;c[t>>2]=j+1;a[j>>0]=M;k=k+1|0}}while(0);switch(j&7){case 4:case 0:break b;default:{}}break}case 9:{j=c[y>>2]|0;j=(nb[c[x>>2]&63](d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0)&255;if(j<<24>>24){n=31;break b}j=c[y>>2]|0;j=WV(z,d,f+j|0,(c[I>>2]|0)+(0-j)|0)|0;if(!j){i=1;n=61;break a}m=YV(b,K,j,0)|0;c[B>>2]=c[A>>2];do if(C){if(!(c[D>>2]|0))if(!m)break b;else break;if(!(a[E>>0]|0)){j=(m|0)!=0;if(!(a[F>>0]|0)){n=45;break}else{u=j;n=47;break}}else{j=(m|0)!=0;if(!(c[G>>2]|0)){n=45;break}else{u=j;n=47;break}}}else if(!(a[F>>0]|0))if(!m){i=11;n=61;break a}else{n=46;break}else{j=(m|0)!=0;if(!(a[E>>0]|0)){u=j;n=47;break}else{n=45;break}}while(0);if((n|0)==45)if(j)n=46;else{i=11;n=61;break a}else if((n|0)==47?(n=0,!u):0)break b;if((n|0)==46?(n=0,(a[m+34>>0]|0)==0):0){i=24;n=61;break a}k=m+32|0;if(a[k>>0]|0){n=49;break a}if(c[m+28>>2]|0){n=52;break a}j=c[m+4>>2]|0;if(!j){n=55;break a}m=j+(c[m+8>>2]|0)|0;a[k>>0]=1;m=LW(b,c[H>>2]|0,e,j,m,h)|0;a[k>>0]=0;j=(m|0)==0;if(j)break b;else{j=(j^1)&1;i=m}break}default:{n=58;break a}}if(j)break a}if((n|0)==21){n=0;if(!(cW(h,d,f,c[I>>2]|0)|0)){i=1;n=61;break}}else if((n|0)==22){c[I>>2]=f+(c[y>>2]|0);n=23}else if((n|0)==31){n=0;f=c[t>>2]|0;if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=j}do if((n|0)==23){n=0;f=c[t>>2]|0;if(s){if((c[v>>2]|0)==(f|0))break;if((a[f+-1>>0]|0)==32)break}if((f|0)==(c[w>>2]|0)){if(!((eW(h)|0)<<24>>24)){i=1;n=61;break a}f=c[t>>2]|0}c[t>>2]=f+1;a[f>>0]=32}while(0);f=c[I>>2]|0}if((n|0)==4)if((c[q>>2]|0)==(d|0)){c[r>>2]=c[I>>2];i=4;n=61}else{i=4;n=61}else if((n|0)==6)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=4;n=61}else{i=4;n=61}else if((n|0)==49)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=12;n=61}else{i=12;n=61}else if((n|0)==52)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=15;n=61}else{i=15;n=61}else if((n|0)==55)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=16;n=61}else{i=16;n=61}else if((n|0)==58)if((c[q>>2]|0)==(d|0)){c[r>>2]=f;i=23;n=61}else{i=23;n=61}l=L;return i|0}function MW(a){a=a|0;var b=0;b=a+8|0;return ((a|0)<1?0:(b|0)>0?b:0)|0}function NW(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=l;l=l+80|0;d=c+16|0;e=c;EW(a,e);FW(d,e);GW(d,b,HW(b)|0);b=IW(d)|0;l=c;return b|0}function OW(b,c){b=b|0;c=c|0;var d=0;while(1){d=a[b>>0]|0;if(d<<24>>24!=(a[c>>0]|0)){c=0;break}if(!(d<<24>>24)){c=1;break}c=c+1|0;b=b+1|0}return c|0}function PW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;i=k;f=c[b+124>>2]|0;a:do if(!f)e=18;else{e=0;while(1){if((e|0)==256)break;c[i+(e<<2)>>2]=-1;e=e+1|0}g=i+1028|0;c[g>>2]=0;j=i+1024|0;c[j>>2]=0;h=i+1032|0;c[h>>2]=0;do if(nb[f&63](c[b+244>>2]|0,d,i)|0){f=c[b+12>>2]|0;e=hX()|0;e=kb[f&63](e)|0;c[b+236>>2]=e;if(!e){e=c[h>>2]|0;if(!e)e=1;else{tb[e&127](c[j>>2]|0);e=1}}else{e=ob[(a[b+232>>0]<<24>>24?65:64)&127](e,i,c[g>>2]|0,c[j>>2]|0)|0;if(!e)break;c[b+240>>2]=c[j>>2];c[b+248>>2]=c[h>>2];c[b+144>>2]=e;e=0}break a}while(0);e=c[h>>2]|0;if(e|0)tb[e&127](c[j>>2]|0);e=18}while(0);l=k;return e|0}function QW(b,d){b=b|0;d=d|0;a[b+4>>0]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b>>2]=0;c[b+16>>2]=d;return}function RW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=c[b+352>>2]|0;m=b+424|0;n=b+420|0;o=b+412|0;p=b+428|0;q=l+152|0;r=b+368|0;j=l+60|0;k=l+80|0;a:while(1){h=d;b:while(1){if(!(a[d>>0]|0)){d=1;break a}f=a[h>>0]|0;switch(f<<24>>24){case 0:case 12:{s=5;break b}case 61:break b;default:{}}e=c[m>>2]|0;if((e|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break a}e=c[m>>2]|0;f=a[h>>0]|0}c[m>>2]=e+1;a[e>>0]=f;h=h+1|0}if((s|0)==5){s=0;d=c[m>>2]|0;if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;d=YV(b,l,c[p>>2]|0,0)|0;if(d|0)a[d+32>>0]=1;d=(a[h>>0]|0)==0?h:h+1|0;c[m>>2]=c[p>>2];continue}d=c[m>>2]|0;if((c[p>>2]|0)==(d|0))f=q;else{if((d|0)==(c[n>>2]|0)){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;f=YV(b,j,c[p>>2]|0,8)|0;if(!f){d=0;break}e=c[f>>2]|0;i=c[p>>2]|0;d=i;if((e|0)==(i|0)){i=BW(k,e)|0;c[f>>2]=i;if(!i){d=0;break}d=c[p>>2]|0}c[m>>2]=d}c:while(1){i=h+1|0;e=a[i>>0]|0;g=(d|0)==(c[n>>2]|0);switch(e<<24>>24){case 0:case 12:break c;default:{}}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break a}d=c[m>>2]|0;e=a[i>>0]|0}c[m>>2]=d+1;a[d>>0]=e;h=i;d=c[m>>2]|0}if(g){if(!((eW(o)|0)<<24>>24)){d=0;break}d=c[m>>2]|0}c[m>>2]=d+1;a[d>>0]=0;if(DW(b,f,0,c[p>>2]|0,r)|0){d=0;break}c[m>>2]=c[p>>2];d=(a[i>>0]|0)==0?i:h+2|0}return d|0}function SW(a,b){a=a|0;b=b|0;var d=0,e=0;if(a|0?(d=a+4|0,e=(c[d>>2]|0)==(c[a>>2]|0),c[a>>2]=b,e):0)c[d>>2]=b;return}function TW(a,b,d){a=a|0;b=b|0;d=d|0;if(a|0){c[a+52>>2]=b;c[a+56>>2]=d}return}function UW(a,b){a=a|0;b=b|0;if(a|0)c[a+60>>2]=b;return}function VW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=(b|0)==0;a:do if(!(g|(e|0)<0)?!((d|0)==0&(e|0)!=0):0){h=b+476|0;switch(c[h>>2]|0){case 3:{c[b+280>>2]=33;g=0;break a}case 2:{c[b+280>>2]=36;g=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;g=0;break a}break}default:{}}c[h>>2]=1;if(e|0){g=YW(b,e)|0;if(!g){g=0;break}F3(g|0,d|0,e|0)|0;g=ZW(b,e,f)|0;break}a[b+480>>0]=f;if(!f)g=1;else{g=b+24|0;j=c[g>>2]|0;d=b+292|0;c[d>>2]=j;f=c[b+28>>2]|0;c[b+40>>2]=f;e=b+276|0;f=ob[c[e>>2]&127](b,j,f,g)|0;c[b+280>>2]=f;if(f|0){c[b+288>>2]=c[b+284>>2];c[e>>2]=66;g=0;break}switch(c[h>>2]|0){case 3:{j=c[b+144>>2]|0;xb[c[j+48>>2]&31](j,c[d>>2]|0,c[g>>2]|0,b+404|0);c[d>>2]=c[g>>2];g=2;break a}case 1:case 0:{c[h>>2]=2;g=1;break a}default:{g=1;break a}}}}else i=3;while(0);if((i|0)==3)if(g)g=0;else{c[b+280>>2]=41;g=0}return g|0}function WW(b){b=b|0;var d=0;d=b+492|0;if(!(c[d>>2]|0))c[d>>2]=_W()|0;if(!(a[b+232>>0]|0))b=1;else b=RW(b,139242)|0;return b|0}function XW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+280>>2]|0}function YW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if(!a)d=0;else{if((b|0)<0){c[a+280>>2]=1;d=0;break}switch(c[a+476>>2]|0){case 3:{c[a+280>>2]=33;d=0;break a}case 2:{c[a+280>>2]=36;d=0;break a}default:{m=a+32|0;j=c[m>>2]|0;n=a+28|0;e=c[n>>2]|0;d=e;if((j-e|0)>=(b|0))break a;p=a+24|0;k=c[p>>2]|0;i=e-k|0;e=i+b|0;if((e|0)<0){c[a+280>>2]=1;d=0;break a}l=a+8|0;f=c[l>>2]|0;q=f;g=k-q|0;h=(g|0)>1024;b=h?1024:g;e=b+e|0;do if((e|0)>(j-q|0)){d=j-k|0;d=(d|0)==0?1024:d;do d=d<<1;while((d|0)<(e|0)&(d|0)>0);if((d|0)<1){c[a+280>>2]=1;d=0;break a}e=kb[c[a+12>>2]&63](d)|0;if(!e){c[a+280>>2]=1;d=0;break a}c[m>>2]=e+d;d=c[p>>2]|0;if(!d){d=e+(c[n>>2]|0)|0;c[n>>2]=d;c[l>>2]=e;o=22;break}else{q=d;o=q-(c[l>>2]|0)|0;o=(o|0)<1024?o:1024;F3(e|0,d+(0-o)|0,(c[n>>2]|0)-q+o|0)|0;tb[c[a+20>>2]&127](c[l>>2]|0);c[l>>2]=e;d=e+((c[n>>2]|0)-(c[p>>2]|0))+o|0;c[n>>2]=d;e=e+o|0;o=22;break}}else if(h){e=g-b|0;G3(f|0,f+e|0,b+i|0)|0;e=0-e|0;d=(c[n>>2]|0)+e|0;c[n>>2]=d;e=(c[p>>2]|0)+e|0;o=22}while(0);if((o|0)==22)c[p>>2]=e;c[a+288>>2]=0;c[a+284>>2]=0;c[a+292>>2]=0;break a}}}while(0);return d|0}function ZW(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!b)d=0;else{f=b+476|0;switch(c[f>>2]|0){case 3:{c[b+280>>2]=33;d=0;break a}case 2:{c[b+280>>2]=36;d=0;break a}case 0:{if((c[b+472>>2]|0)==0?(WW(b)|0)<<24>>24==0:0){c[b+280>>2]=1;d=0;break a}break}default:{}}c[f>>2]=1;g=b+24|0;j=c[g>>2]|0;h=b+292|0;c[h>>2]=j;k=b+28|0;i=(c[k>>2]|0)+d|0;c[k>>2]=i;c[b+40>>2]=i;k=b+36|0;c[k>>2]=(c[k>>2]|0)+d;a[b+480>>0]=e;d=b+276|0;i=ob[c[d>>2]&127](b,j,i,g)|0;c[b+280>>2]=i;if(i|0){c[b+288>>2]=c[b+284>>2];c[d>>2]=66;d=0;break}switch(c[f>>2]|0){case 3:{d=2;break}case 1:case 0:{if(!e)d=1;else{c[f>>2]=2;d=1;break a}break}default:d=1}k=c[b+144>>2]|0;xb[c[k+48>>2]&31](k,c[h>>2]|0,c[g>>2]|0,b+404|0);c[h>>2]=c[g>>2]}while(0);return d|0}function _W(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;if(!($W(a)|0)){d=bX()|0;d=(H1()|0)^d;c[a>>2]=d;a=aX(139296,O(d,2147483647)|0)|0}else a=aX(139283,c[a>>2]|0)|0;l=b;return a|0}function $W(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=X_(139283,0,f)|0;if((e|0)<0)b=0;else{b=0;while(1){g=G1(e,a+b|0,4-b|0)|0;d=g+b|0;if((g|0)>0)if(d>>>0<4)b=d;else{b=1;break}if((c[(O_()|0)>>2]|0)!=4){b=0;break}}X0(e)|0}l=f;return b|0}function aX(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=Ta(139361)|0;if(d|0?(b$(d,139381)|0)==0:0){d=c[15686]|0;c[e>>2]=a;c[e+4>>2]=8;c[e+8>>2]=b;c[e+12>>2]=4;g1(d,139383,e)|0}l=f;return b|0}function bX(){var a=0,b=0;b=l;l=l+16|0;a=b;if(!(Ua(a|0,0)|0)){l=b;return c[a+4>>2]|0}else qa(139308,139330,819,139341);return 0}function cX(a){a=a|0;if(!a)a=41;else a=c[a+280>>2]|0;return a|0}function dX(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)a=0;else{b=a+284|0;d=c[b>>2]|0;if(d|0?(e=a+292|0,f=c[e>>2]|0,d>>>0>=f>>>0):0){g=c[a+144>>2]|0;xb[c[g+48>>2]&31](g,f,d,a+404|0);c[e>>2]=c[b>>2]}a=(c[a+404>>2]|0)+1|0}return a|0}function eX(a){a=a|0;do switch(a|0){case 41:{a=139420;break}case 1:{a=140692;break}case 2:{a=140679;break}case 3:{a=140662;break}case 4:{a=140630;break}case 5:{a=140615;break}case 6:{a=140597;break}case 7:{a=140582;break}case 8:{a=140562;break}case 9:{a=140534;break}case 10:{a=140499;break}case 11:{a=140482;break}case 12:{a=140455;break}case 13:{a=140435;break}case 14:{a=140397;break}case 15:{a=140370;break}case 16:{a=140328;break}case 17:{a=140281;break}case 18:{a=140264;break}case 19:{a=140213;break}case 20:{a=140190;break}case 21:{a=140144;break}case 22:{a=140117;break}case 23:{a=140066;break}case 24:{a=140030;break}case 25:{a=139978;break}case 26:{a=139933;break}case 27:{a=139918;break}case 28:{a=139892;break}case 29:{a=139854;break}case 30:{a=139822;break}case 31:{a=139789;break}case 32:{a=139755;break}case 33:{a=139738;break}case 34:{a=139717;break}case 35:{a=139701;break}case 36:{a=139684;break}case 37:{a=139640;break}case 38:{a=139560;break}case 39:{a=139501;break}case 40:{a=139437;break}default:a=0}while(0);return a|0}function fX(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;f=0;a:while(1){if(e>>>0<=a>>>0)break;h=e+-1|0;g=d[h>>0]|0;do if((g&248|0)==240)if((f+1|0)>>>0>3){i=5;break a}else f=0;else{if((g&240|0)==224)if((f+1|0)>>>0>2){i=8;break a}else{f=0;break}if((g&224|0)==192)if((f+1|0)>>>0>1){i=11;break a}else{f=0;break}else if(!(g&128))break a;else break}while(0);e=h;f=f+1|0}if((i|0)==5)e=e+3|0;else if((i|0)==8)e=e+2|0;else if((i|0)==11)e=e+1|0;c[b>>2]=e;return}function gX(b,c){b=b|0;c=c|0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;b=1;break}if((b|0)<2048){a[c>>0]=b>>>6|192;a[c+1>>0]=b&63|128;b=2;break}if((b|0)<65536){a[c>>0]=b>>>12|224;a[c+1>>0]=b>>>6&63|128;a[c+2>>0]=b&63|128;b=3;break}if((b|0)<1114112){a[c>>0]=b>>>18|240;a[c+1>>0]=b>>>12&63|128;a[c+2>>0]=b>>>6&63|128;a[c+3>>0]=b&63|128;b=4}else b=0}else b=0;while(0);return b|0}function hX(){return 1908}function iX(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;while(1){if((i|0)==364){i=0;break}a[e+i>>0]=a[56472+i>>0]|0;i=i+1|0}a:while(1){if((i|0)>=128){j=5;break}switch(a[56544+i>>0]|0){case 0:case 28:break;default:if((c[f+(i<<2)>>2]|0)!=(i|0)){e=0;break a}}i=i+1|0}b:do if((j|0)==5){q=e+72|0;m=e+372|0;n=e+884|0;o=(g|0)==0;l=0;while(1){if((l|0)>=256)break;p=c[f+(l<<2)>>2]|0;do if((p|0)==-1){a[q+l>>0]=1;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0}else{if((p|0)<0){if(o|(p|0)<-4){e=0;break b}a[q+l>>0]=3-p;a[n+(l<<2)>>0]=0;b[m+(l<<1)>>1]=0;break}if((p|0)<128){i=a[56544+p>>0]|0;switch(i<<24>>24){case 0:case 28:break;default:if((p|0)!=(l|0)){e=0;break b}}a[q+l>>0]=i;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=p;b[m+(l<<1)>>1]=(p|0)==0?-1:p&65535;break}if((jX(p)|0)<0){a[q+l>>0]=0;b[m+(l<<1)>>1]=-1;a[n+(l<<2)>>0]=1;a[n+(l<<2)+1>>0]=0;break}if((p|0)>65535){e=0;break b}i=p>>>8;j=p>>>5&7;k=1<<(p&31);if(!(c[56836+((d[140706+i>>0]<<3|j)<<2)>>2]&k))a[q+l>>0]=c[56836+((d[140962+i>>0]<<3|j)<<2)>>2]&k|0?26:28;else a[q+l>>0]=22;a[n+(l<<2)>>0]=gX(p,n+(l<<2)+1|0)|0;b[m+(l<<1)>>1]=p}while(0);l=l+1|0}c[e+368>>2]=h;c[e+364>>2]=g;if(!o){c[e+328>>2]=106;c[e+332>>2]=106;c[e+336>>2]=106;c[e+340>>2]=107;c[e+344>>2]=107;c[e+348>>2]=107;c[e+352>>2]=108;c[e+356>>2]=108;c[e+360>>2]=108}c[e+56>>2]=13;c[e+60>>2]=14}while(0);return e|0}function jX(b){b=b|0;var c=0;switch(b>>8|0){case 223:case 222:case 221:case 220:case 219:case 218:case 217:case 216:{b=-1;break}case 0:{if(!(a[56544+b>>0]|0))b=-1;else c=4;break}case 255:{if((b|1|0)==65535)b=-1;else c=4;break}default:c=4}return b|0}function kX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140962+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function lX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=0;else a=c[56836+(((d[140706+(a>>>8)>>0]|0)<<3|a>>>5&7)<<2)>>2]&1<<(a&31);return a|0}function mX(a,b){a=a|0;b=b|0;a=lb[c[a+364>>2]&127](c[a+368>>2]|0,b)|0;if(a>>>0>65535)a=1;else a=(jX(a)|0)>>>31;return a|0}function nX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+16|0;m=q;n=b+364|0;o=b+884|0;p=b+368|0;k=b+72|0;while(1){i=c[e>>2]|0;if((i|0)==(f|0)){h=0;break}r=d[i>>0]|0;j=o+(r<<2)+1|0;r=a[o+(r<<2)>>0]|0;b=r<<24>>24;if(!(r<<24>>24)){b=gX(lb[c[n>>2]&127](c[p>>2]|0,i)|0,m)|0;if((b|0)>(h-(c[g>>2]|0)|0)){h=2;break}i=c[e>>2]|0;j=m;i=i+((d[k+(d[i>>0]|0)>>0]|0)+-3)|0}else{if((h-(c[g>>2]|0)|0)<(b|0)){h=2;break}i=i+1|0}c[e>>2]=i;F3(c[g>>2]|0,j|0,b|0)|0;c[g>>2]=(c[g>>2]|0)+b}l=q;return h|0}function oX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=a+372|0;n=a+364|0;o=a+368|0;l=a+72|0;while(1){k=c[e>>2]|0;a=k>>>0<f>>>0;i=c[g>>2]|0;if(!(a&i>>>0<h>>>0))break;a=b[m+((d[k>>0]|0)<<1)>>1]|0;if(!(a<<16>>16)){a=(lb[c[n>>2]&127](c[o>>2]|0,k)|0)&65535;i=c[e>>2]|0;j=(d[l+(d[i>>0]|0)>>0]|0)+-3|0}else{j=1;i=k}c[e>>2]=i+j;k=c[g>>2]|0;c[g>>2]=k+2;b[k>>1]=a}return ((i|0)!=(h|0)|a^1?0:2)|0}function pX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;a:do if(e>>>0<f>>>0){n=b+72|0;do switch(a[n+(d[e>>0]|0)>>0]|0){case 12:{h=QX(12,b,e+1|0,f,g)|0;break a}case 13:{h=QX(13,b,e+1|0,f,g)|0;break a}case 2:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 16:{h=RX(b,e+2|0,f,g)|0;break a}case 15:{h=MX(b,e+2|0,f,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;h=29;break a}default:{c[g>>2]=h;h=0;break a}}}case 9:{if((e+1|0)==(f|0)){c[g>>2]=f;h=-15;break a}else k=3;break}case 10:case 21:{k=3;break}case 30:{h=GX(b,e+1|0,f,g)|0;break a}case 35:{c[g>>2]=e+1;h=38;break a}case 20:{c[g>>2]=e+1;h=25;break a}case 4:{i=e+1|0;h=f-i|0;if((h|0)<=0){h=-26;break a}if((a[i>>0]|0)==93){if((h|0)<=1){h=-1;break a}if((a[e+2>>0]|0)==62){c[g>>2]=e+3;h=34;break a}}c[g>>2]=i;h=26;break a}case 31:{c[g>>2]=e+1;h=23;break a}case 32:{h=e+1|0;if((f-h|0)<=0){h=-24;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 33:{c[g>>2]=e+2;h=36;break a}case 15:{c[g>>2]=e+2;h=35;break a}case 34:{c[g>>2]=e+2;h=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;h=24;break a}default:{c[g>>2]=h;h=0;break a}}}case 36:{c[g>>2]=e+1;h=21;break a}case 11:{c[g>>2]=e+1;h=17;break a}case 19:{h=SX(b,e+1|0,f,g)|0;break a}case 5:{if((f-e|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0))if(!(lb[c[b+328>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=2}else{h=18;i=2}break}case 6:{if((f-e|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0))if(!(lb[c[b+332>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=3}else{h=18;i=3}break}case 7:{if((f-e|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0))if(!(lb[c[b+336>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else{h=19;i=4}else{h=18;i=4}break}case 24:case 22:{h=18;i=1;break}case 23:case 27:case 26:case 25:{h=19;i=1;break}default:{c[g>>2]=e;h=0;break a}}while(0);if((k|0)==3){j=f;i=e;b:while(1){h=i;i=i+1|0;if((j-i|0)<=0){k=18;break}switch(a[n+(d[i>>0]|0)>>0]|0){case 10:case 21:continue b;case 9:break;default:{k=17;break b}}if((h+2|0)==(f|0)){k=17;break}}if((k|0)==17){c[g>>2]=i;h=15;break}else if((k|0)==18){c[g>>2]=i;h=15;break}}k=b+328|0;l=b+332|0;m=b+336|0;j=e+i|0;c:while(1){i=f-j|0;if((i|0)<=0){k=99;break}switch(a[n+(d[j>>0]|0)>>0]|0){case 29:{k=56;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{k=70;break c}case 34:{k=89;break c}case 33:{k=92;break c}case 15:{k=95;break c}case 27:case 26:case 25:case 24:case 22:{e=h;j=j+1|0;h=e;continue c}case 5:{if((i|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,j)|0)){k=60;break c}e=h;j=j+2|0;h=e;continue c}case 6:{if((i|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,j)|0)){k=64;break c}e=h;j=j+3|0;h=e;continue c}case 7:{if((i|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,j)|0)){k=68;break c}e=h;j=j+4|0;h=e;continue c}case 23:{i=j+1|0;switch(h&63){case 18:break;case 41:{h=19;j=i;continue c}default:{e=h;j=i;h=e;continue c}}h=f-i|0;if((h|0)<=0){h=-1;break a}switch(a[n+(d[i>>0]|0)>>0]|0){case 29:{k=74;break c}case 27:case 26:case 25:case 24:case 22:{h=41;j=j+2|0;continue c}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[k>>2]&127](b,i)|0)){k=78;break c}h=41;j=j+3|0;continue c}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[l>>2]&127](b,i)|0)){k=82;break c}h=41;j=j+4|0;continue c}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){k=86;break c}h=41;j=j+5|0;continue c}default:{h=19;j=i;continue c}}}default:{k=98;break c}}}switch(k|0){case 56:{c[g>>2]=j;h=0;break a}case 60:{c[g>>2]=j;h=0;break a}case 64:{c[g>>2]=j;h=0;break a}case 68:{c[g>>2]=j;h=0;break a}case 70:{c[g>>2]=j;break a}case 74:{c[g>>2]=i;h=0;break a}case 78:{c[g>>2]=i;h=0;break a}case 82:{c[g>>2]=i;h=0;break a}case 86:{c[g>>2]=i;h=0;break a}case 89:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=32;break a}case 92:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=31;break a}case 95:if((h|0)==19){c[g>>2]=j;h=0;break a}else{c[g>>2]=j+1;h=30;break a}case 98:{c[g>>2]=j;h=0;break a}case 99:{h=0-h|0;break a}}}else h=-4;while(0);return h|0}function qX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){m=b+72|0;b:do switch(a[m+(d[e>>0]|0)>>0]|0){case 2:{h=JX(b,e+1|0,f,g)|0;break a}case 3:{h=FX(b,e+1|0,f,g)|0;break a}case 9:{h=e+1|0;if((f-h|0)<=0){h=-3;break a}c[g>>2]=(a[m+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 4:{i=e+1|0;if((f-i|0)<=0){h=-5;break a}if((a[i>>0]|0)==93){h=e+2|0;if((f-h|0)<=0){h=-5;break a}if((a[h>>0]|0)==62){c[g>>2]=h;h=0;break a}else h=f}else h=f;break}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);j=b+352|0;k=b+356|0;l=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=49;break}switch(a[m+(d[i>>0]|0)>>0]|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{f=47;break c}case 5:{if((f|0)<2){f=32;break c}if(lb[c[j>>2]&127](b,i)|0){f=32;break c}i=i+2|0;continue c}case 6:{if((f|0)<3){f=36;break c}if(lb[c[k>>2]&127](b,i)|0){f=36;break c}i=i+3|0;continue c}case 7:{if((f|0)<4){f=40;break c}if(lb[c[l>>2]&127](b,i)|0){f=40;break c}i=i+4|0;continue c}case 4:{if((f|0)<=1){f=47;break c}e=i+1|0;if((a[e>>0]|0)!=93){i=e;continue c}if((f|0)<=2){f=47;break c}i=i+2|0;if((a[i>>0]|0)==62){f=46;break c}else{i=e;continue c}}default:{i=i+1|0;continue c}}}if((f|0)==32){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==40){c[g>>2]=i;h=6;break}else if((f|0)==46){c[g>>2]=i;h=0;break}else if((f|0)==47){c[g>>2]=i;h=6;break}else if((f|0)==49){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function rX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if(e>>>0<f>>>0){l=b+72|0;b:do switch(a[l+(d[e>>0]|0)>>0]|0){case 4:{i=e+1|0;h=f;if((h-i|0)<=0){h=-1;break a}if((a[i>>0]|0)==93){f=e+2|0;if((h-f|0)<=0){h=-1;break a}if((a[f>>0]|0)==62){c[g>>2]=e+3;h=40;break a}}break}case 9:{h=e+1|0;if((f-h|0)<=0){h=-1;break a}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break a}case 10:{c[g>>2]=e+1;h=7;break a}case 5:{h=f;if((h-e|0)<2){h=-2;break a}if(!(lb[c[b+352>>2]&127](b,e)|0)){i=e+2|0;break b}else{c[g>>2]=e;h=0;break a}}case 6:{h=f;if((h-e|0)<3){h=-2;break a}if(!(lb[c[b+356>>2]&127](b,e)|0)){i=e+3|0;break b}else{c[g>>2]=e;h=0;break a}}case 7:{h=f;if((h-e|0)<4){h=-2;break a}if(!(lb[c[b+360>>2]&127](b,e)|0)){i=e+4|0;break b}else{c[g>>2]=e;h=0;break a}}case 8:case 1:case 0:{c[g>>2]=e;h=0;break a}default:{i=e+1|0;h=f}}while(0);e=b+352|0;j=b+356|0;k=b+360|0;c:while(1){f=h-i|0;if((f|0)<=0){f=39;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 4:case 10:case 9:case 8:case 1:case 0:{f=37;break c}case 5:{if((f|0)<2){f=30;break c}if(!(lb[c[e>>2]&127](b,i)|0))f=2;else{f=30;break c}break}case 6:{if((f|0)<3){f=33;break c}if(!(lb[c[j>>2]&127](b,i)|0))f=3;else{f=33;break c}break}case 7:{if((f|0)<4){f=36;break c}if(!(lb[c[k>>2]&127](b,i)|0))f=4;else{f=36;break c}break}default:f=1}i=i+f|0}if((f|0)==30){c[g>>2]=i;h=6;break}else if((f|0)==33){c[g>>2]=i;h=6;break}else if((f|0)==36){c[g>>2]=i;h=6;break}else if((f|0)==37){c[g>>2]=i;h=6;break}else if((f|0)==39){c[g>>2]=i;h=6;break}}else h=-4;while(0);return h|0}function sX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=b+72|0;k=b+352|0;l=b+356|0;m=b+360|0;i=0;a:while(1){h=f-e|0;if((h|0)<=0){f=-1;break}switch(a[j+(d[e>>0]|0)>>0]|0){case 8:case 1:case 0:{n=16;break a}case 5:{if((h|0)<2){f=-2;break a}if(lb[c[k>>2]&127](b,e)|0){n=6;break a}h=i;e=e+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}if(lb[c[l>>2]&127](b,e)|0){n=10;break a}h=i;e=e+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}if(lb[c[m>>2]&127](b,e)|0){n=14;break a}h=i;e=e+4|0;i=h;continue a}case 2:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=33){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}o=(a[h>>0]|0)==91;i=i+(o&1)|0;e=o?e+3|0:h;continue a}case 4:{h=e+1|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=93){o=i;e=h;i=o;continue a}h=e+2|0;if((f-h|0)<=0){f=-1;break a}if((a[h>>0]|0)!=62){o=i;e=h;i=o;continue a}e=e+3|0;if(!i){n=26;break a}i=i+-1|0;continue a}default:{o=i;e=e+1|0;i=o;continue a}}}if((n|0)==6){c[g>>2]=e;f=0}else if((n|0)==10){c[g>>2]=e;f=0}else if((n|0)==14){c[g>>2]=e;f=0}else if((n|0)==16){c[g>>2]=e;f=0}else if((n|0)==26){c[g>>2]=e;f=42}return f|0}function tX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=24;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 2:{j=11;break a}case 10:{j=12;break a}case 9:{j=15;break a}case 21:{j=19;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11){c[g>>2]=i;h=0;break}else if((j|0)==12)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==15){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==19)if((i|0)==(e|0)){c[g>>2]=e+1;h=39;break}else{c[g>>2]=i;h=6;break}else if((j|0)==24){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function uX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>0){l=b+72|0;i=e;a:while(1){if((k-i|0)<=0){j=23;break}switch(a[l+(d[i>>0]|0)>>0]|0){case 3:{j=8;break a}case 30:{j=11;break a}case 10:{j=14;break a}case 9:{j=17;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=1}i=i+h|0}if((j|0)==8)if((i|0)==(e|0)){h=FX(b,e+1|0,f,g)|0;break}else{c[g>>2]=i;h=6;break}else if((j|0)==11)if((i|0)==(e|0)){h=GX(b,e+1|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=i;h=6;break}else if((j|0)==14)if((i|0)==(e|0)){c[g>>2]=e+1;h=7;break}else{c[g>>2]=i;h=6;break}else if((j|0)==17){if((i|0)!=(e|0)){c[g>>2]=i;h=6;break}h=e+1|0;if((k-h|0)<=0){h=-3;break}c[g>>2]=(a[l+(d[h>>0]|0)>>0]|0)==10?e+2|0:h;h=7;break}else if((j|0)==23){c[g>>2]=i;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function vX(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=6;break}if((f-b|0)<1){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+1|0}if((g|0)==6)b=(b|0)==(d|0)&1;return b|0}function wX(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;b=c;a:while(1){switch(a[f+(d[b>>0]|0)>>0]|0){case 5:{e=2;break}case 6:{e=3;break}case 7:{e=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{e=1;break}default:break a}b=b+e|0}return b-c|0}function xX(b,c){b=b|0;c=c|0;b=b+72|0;a:while(1){switch(a[b+(d[c>>0]|0)>>0]|0){case 21:case 9:case 10:break;default:break a}c=c+1|0}return c|0}function yX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=b+72|0;j=0;k=0;b=1;a:while(1){h=e+1|0;i=a[h>>0]|0;do switch(a[l+(i&255)>>0]|0){case 5:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+2|0;k=h;j=i;continue a}case 6:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+3|0;k=h;j=i;continue a}case 7:{if(!b)if((k|0)<(f|0)){c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;b=1}else b=1;h=k;i=j;e=e+4|0;k=h;j=i;continue a}case 24:case 22:case 29:{if(b|0){o=b;n=k;i=j;e=h;b=o;k=n;j=i;continue a}if((k|0)>=(f|0)){n=k;o=j;b=1;e=h;k=n;j=o;continue a}c[g+(k<<4)>>2]=h;a[g+(k<<4)+12>>0]=1;n=k;o=j;b=1;e=h;k=n;j=o;continue a}case 12:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=12;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=12;b=2;e=h;k=o;continue a}if((j|0)!=12){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=12;k=k+1|0;b=0;e=h;continue a}case 13:{if((b|0)!=2){if((k|0)>=(f|0)){o=k;j=13;b=2;e=h;k=o;continue a}c[g+(k<<4)+4>>2]=e+2;o=k;j=13;b=2;e=h;k=o;continue a}if((j|0)!=13){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if((k|0)<(f|0))c[g+(k<<4)+8>>2]=h;j=13;k=k+1|0;b=0;e=h;continue a}case 3:{if((k|0)>=(f|0)){i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}case 21:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}b=g+(k<<4)+12|0;if(!(a[b>>0]|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}if(((i<<24>>24==32?(h|0)!=(c[g+(k<<4)+4>>2]|0):0)?(m=a[e+2>>0]|0,m<<24>>24!=32):0)?(j|0)!=(d[l+(m&255)>>0]|0):0){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[b>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 10:case 9:{switch(b|0){case 1:{n=k;o=j;b=0;e=h;k=n;j=o;continue a}case 2:break;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}if((k|0)>=(f|0)){n=k;o=j;b=2;e=h;k=n;j=o;continue a}a[g+(k<<4)+12>>0]=0;n=k;o=j;b=2;e=h;k=n;j=o;continue a}case 17:case 11:if((b|0)==2){n=k;o=j;b=2;e=h;k=n;j=o;continue a}else break a;default:{i=b;n=k;o=j;e=h;b=i;k=n;j=o;continue a}}while(0)}return k|0}function zX(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do if(d<<24>>24==120){d=c+3|0;b=0;while(1){b:while(1){e=a[d>>0]|0;c=e<<24>>24;if(e<<24>>24==59){e=14;break a}switch(c|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=7;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=8;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=9;break b}default:{}}d=d+1|0}if((e|0)==7){e=0;b=c+-48|b<<4}else if((e|0)==8){e=0;b=(b<<4)+-55+c|0}else if((e|0)==9){e=0;b=(b<<4)+-87+c|0}if((b|0)<1114112)d=d+1|0;else{b=-1;break}}}else{c=b;b=0;while(1){if(d<<24>>24==59){e=14;break a}b=(d<<24>>24)+-48+(b*10|0)|0;if((b|0)>=1114112){b=-1;break a}d=c+1|0;c=d;d=a[d>>0]|0}}while(0);if((e|0)==14)b=jX(b)|0;return b|0}function AX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch(d-c|0){case 2:{if((a[c+1>>0]|0)==116){b=a[c>>0]|0;b=b<<24>>24==108?60:b<<24>>24==103?62:0}else e=14;break}case 3:{if(((a[c>>0]|0)==97?(a[c+1>>0]|0)==109:0)?(a[c+2>>0]|0)==112:0)b=38;else e=14;break}case 4:switch(a[c>>0]|0){case 113:{if((a[c+1>>0]|0)!=117){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==116){b=34;break a}else{e=14;break a}}case 97:{if((a[c+1>>0]|0)!=112){e=14;break a}if((a[c+2>>0]|0)!=111){e=14;break a}if((a[c+3>>0]|0)==115){b=39;break a}else{e=14;break a}}default:{e=14;break a}}default:e=14}while(0);if((e|0)==14)b=0;return b|0}function BX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=b+72|0;i=g+4|0;while(1){if((f-e|0)<=0)break;switch(a[h+(d[e>>0]|0)>>0]|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[i>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+1|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;b=e+1|0;if((f-b|0)>0)e=(a[h+(d[b>>0]|0)>>0]|0)==10?e+2|0:b;else e=b;c[i>>2]=-1;break}default:e=e+1|0}c[i>>2]=(c[i>>2]|0)+1}return}function CX(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=e+-1|0;b=b+72|0;a:while(1){d=d+1|0;if((g-d|0)<=0){d=1;break}e=a[d>>0]|0;switch(a[b+(e&255)>>0]|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:continue a;case 21:if(e<<24>>24==9){h=7;break a}else continue a;case 22:case 26:{if(e<<24>>24>=0)continue a;break}default:{}}switch(e<<24>>24|0){case 64:case 36:break;default:{h=7;break a}}}if((h|0)==7){c[f>>2]=d;d=0}return d|0}function DX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=h;while(1){j=c[e>>2]|0;if((j|0)==(f|0)){b=0;break}k=d[j>>0]|0;b=c[g>>2]|0;if(!(k&128)){if((b|0)==(h|0)){b=2;break}c[e>>2]=j+1;j=a[j>>0]|0;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;continue}else{if((i-b|0)<2){b=2;break}c[g>>2]=b+1;a[b>>0]=k>>>6|192;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k&63|128;c[e>>2]=(c[e>>2]|0)+1;continue}}return b|0}function EX(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;while(1){a=c[e>>2]|0;i=a>>>0<f>>>0;j=c[g>>2]|0;if(!(i&j>>>0<h>>>0))break;c[e>>2]=a+1;i=d[a>>0]|0;j=c[g>>2]|0;c[g>>2]=j+2;b[j>>1]=i}return ((j|0)!=(h|0)|i^1?0:2)|0}function FX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;h=k-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}case 19:{f=HX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;f=0;break a}}h=b+328|0;i=b+332|0;j=b+336|0;e=e+f|0;b:while(1){f=k-e|0;if((f|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[h>>2]&127](b,e)|0)){h=21;break b}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=24;break b}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=27;break b}else f=4;break}default:{h=30;break b}}e=e+f|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=9;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function GX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=18;break b}case 18:{h=29;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=21;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=24;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=27;break b}else h=4;break}default:{h=30;break b}}e=e+h|0}if((h|0)==18){c[g>>2]=e;f=0;break}else if((h|0)==21){c[g>>2]=e;f=0;break}else if((h|0)==24){c[g>>2]=e;f=0;break}else if((h|0)==27){c[g>>2]=e;f=0;break}else if((h|0)==29){c[g>>2]=e+1;f=28;break}else if((h|0)==30){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function HX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;a:do if((i-e|0)>0){h=a[e>>0]|0;if(h<<24>>24==120){b=IX(b,e+1|0,f,g)|0;break}f=b+72|0;if((a[f+(h&255)>>0]|0)!=25){c[g>>2]=e;b=0;break}b:while(1){b=e+1|0;if((i-b|0)<=0){b=-1;break a}switch(a[f+(d[b>>0]|0)>>0]|0){case 25:{e=b;break}case 18:{f=8;break b}default:{f=9;break b}}}if((f|0)==8){c[g>>2]=e+2;b=10;break}else if((f|0)==9){c[g>>2]=b;b=0;break}}else b=-1;while(0);return b|0}function IX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if((f-e|0)>0){b=b+72|0;if((a[b+(d[e>>0]|0)>>0]&-2)<<24>>24!=24){c[g>>2]=e;f=0;break}b:while(1){h=e+1|0;if((f-h|0)<=0){f=-1;break a}switch(a[b+(d[h>>0]|0)>>0]|0){case 24:case 25:{e=h;break}case 18:{b=6;break b}default:{b=7;break b}}}if((b|0)==6){c[g>>2]=e+2;f=10;break}else if((b|0)==7){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function JX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=f;h=q-e|0;a:do if((h|0)>0){p=b+72|0;switch(a[p+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;h=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){h=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=2;break}case 6:{if((h|0)<3){h=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=3;break}case 7:{if((h|0)<4){h=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;h=0;break a}else h=4;break}case 16:{h=e+1|0;if((q-h|0)<=0){h=-1;break a}switch(a[p+(d[h>>0]|0)>>0]|0){case 27:{h=KX(b,e+2|0,f,g)|0;break a}case 20:{h=LX(e+2|0,f,g)|0;break a}default:{c[g>>2]=h;h=0;break a}}}case 15:{h=MX(b,e+1|0,f,g)|0;break a}case 17:{h=NX(b,e+1|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}j=b+328|0;k=b+332|0;l=b+336|0;m=b+340|0;n=b+344|0;o=b+348|0;i=0;h=e+h|0;b:while(1){e=q-h|0;if((e|0)<=0){h=-1;break a}c:do switch(a[p+(d[h>>0]|0)>>0]|0){case 29:{r=24;break b}case 10:case 9:case 21:{r=50;break b}case 11:{r=64;break b}case 17:break b;case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){r=27;break b}else e=2;break}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){r=30;break b}else e=3;break}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[l>>2]&127](b,h)|0)){r=33;break b}else e=4;break}case 23:{if(i|0){r=35;break b}i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 29:{r=38;break b}case 24:case 22:{i=1;e=2;break c}case 5:{if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){r=42;break b}else{i=1;e=3;break c}}case 6:{if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){r=45;break b}else{i=1;e=4;break c}}case 7:{if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){r=48;break b}else{i=1;e=5;break c}}default:{r=49;break b}}}default:{r=69;break b}}while(0);h=h+e|0}d:switch(r|0){case 24:{c[g>>2]=h;h=0;break a}case 27:{c[g>>2]=h;h=0;break a}case 30:{c[g>>2]=h;h=0;break a}case 33:{c[g>>2]=h;h=0;break a}case 35:{c[g>>2]=h;h=0;break a}case 38:{c[g>>2]=i;h=0;break a}case 42:{c[g>>2]=i;h=0;break a}case 45:{c[g>>2]=i;h=0;break a}case 48:{c[g>>2]=i;h=0;break a}case 49:{c[g>>2]=i;h=0;break a}case 50:{e:while(1){r=0;i=h+1|0;e=q-i|0;if((e|0)<=0){h=-1;break a}switch(a[p+(d[i>>0]|0)>>0]|0){case 11:{h=i;r=64;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;r=50;break}case 29:{r=52;break e}case 24:case 22:{i=2;break e}case 5:{r=53;break e}case 6:{r=56;break e}case 7:{r=59;break e}default:{r=62;break e}}}if((r|0)==52){c[g>>2]=i;h=0;break a}else if((r|0)==53){if((e|0)<2){h=-2;break a}if(!(lb[c[m>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=3}else if((r|0)==56){if((e|0)<3){h=-2;break a}if(!(lb[c[n>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=4}else if((r|0)==59){if((e|0)<4){h=-2;break a}if(!(lb[c[o>>2]&127](b,i)|0)){c[g>>2]=i;h=0;break a}else i=5}else if((r|0)==62){c[g>>2]=i;h=0;break a}h=OX(b,h+i|0,f,g)|0;break a}case 69:{c[g>>2]=h;h=0;break a}}if((r|0)==64){c[g>>2]=h+1;h=2;break}i=h+1|0;if((q-i|0)>0)if((a[i>>0]|0)==62){c[g>>2]=h+2;h=4;break}else{c[g>>2]=i;h=0;break}else h=-1}else h=-1;while(0);return h|0}function KX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:do if((f-e|0)>0){if((a[e>>0]|0)!=45){c[g>>2]=e;f=0;break}h=b+72|0;i=b+352|0;j=b+356|0;k=b+360|0;l=e+1|0;b:while(1){e=f-l|0;if((e|0)<=0){f=-1;break a}switch(a[h+(d[l>>0]|0)>>0]|0){case 8:case 1:case 0:{e=19;break b}case 5:{if((e|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,l)|0){e=9;break b}l=l+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,l)|0){e=13;break b}l=l+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,l)|0){e=17;break b}l=l+4|0;continue b}case 27:{e=l+1|0;if((f-e|0)<=0){f=-1;break a}if((a[e>>0]|0)==45){e=22;break b}else{l=e;continue b}}default:{l=l+1|0;continue b}}}if((e|0)==9){c[g>>2]=l;f=0;break}else if((e|0)==13){c[g>>2]=l;f=0;break}else if((e|0)==17){c[g>>2]=l;f=0;break}else if((e|0)==19){c[g>>2]=l;f=0;break}else if((e|0)==22){e=l+2|0;if((f-e|0)<=0){f=-1;break}if((a[e>>0]|0)==62){c[g>>2]=l+3;f=13;break}else{c[g>>2]=e;f=0;break}}}else f=-1;while(0);return f|0}function LX(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>5){d=0;while(1){if((d|0)>=6){d=8;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+1|0}c[e>>2]=b}else d=-1;return d|0}function MX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;f=o-e|0;a:do if((f|0)>0){n=b+72|0;switch(a[n+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{f=1;break}case 5:{if((f|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=2;break}case 6:{if((f|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=3;break}case 7:{if((f|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else f=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;f=e+f|0;b:while(1){h=o-f|0;if((h|0)<=0){f=-1;break a}switch(a[n+(d[f>>0]|0)>>0]|0){case 29:{m=17;break b}case 10:case 9:case 21:{m=28;break b}case 15:{m=50;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,f)|0)){m=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,f)|0)){m=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,f)|0)){m=26;break b}else h=4;break}default:break b}f=f+h|0}if((m|0)==17){c[g>>2]=f;f=0;break}else if((m|0)==20){c[g>>2]=f;f=0;break}else if((m|0)==23){c[g>>2]=f;f=0;break}else if((m|0)==26){c[g>>2]=f;f=0;break}else if((m|0)==28){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}i=b+352|0;j=b+356|0;k=b+360|0;h=f+1|0;c:while(1){f=o-h|0;if((f|0)<=0){f=-1;break a}switch(a[n+(d[h>>0]|0)>>0]|0){case 8:case 1:case 0:{m=45;break c}case 5:{if((f|0)<2){f=-2;break a}if(lb[c[i>>2]&127](b,h)|0){m=35;break c}h=h+2|0;continue c}case 6:{if((f|0)<3){f=-2;break a}if(lb[c[j>>2]&127](b,h)|0){m=39;break c}h=h+3|0;continue c}case 7:{if((f|0)<4){f=-2;break a}if(lb[c[k>>2]&127](b,h)|0){m=43;break c}h=h+4|0;continue c}case 15:{f=h+1|0;if((o-f|0)<=0){f=-1;break a}if((a[f>>0]|0)==62){m=48;break c}else{h=f;continue c}}default:{h=h+1|0;continue c}}}if((m|0)==35){c[g>>2]=h;f=0;break}else if((m|0)==39){c[g>>2]=h;f=0;break}else if((m|0)==43){c[g>>2]=h;f=0;break}else if((m|0)==45){c[g>>2]=h;f=0;break}else if((m|0)==48){c[g>>2]=h+2;f=c[p>>2]|0;break}}else if((m|0)==50){if(!(PX(e,f,p)|0)){c[g>>2]=f;f=0;break}h=f+1|0;if((o-h|0)<=0){f=-1;break}if((a[h>>0]|0)==62){c[g>>2]=f+2;f=c[p>>2]|0;break}else f=h}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function NX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;h=e+h|0;b:while(1){e=f-h|0;if((e|0)<=0){f=-1;break a}switch(a[l+(d[h>>0]|0)>>0]|0){case 29:{i=17;break b}case 10:case 9:case 21:{i=27;break b}case 11:{i=32;break b}case 23:case 27:case 26:case 25:case 24:case 22:{e=1;break}case 5:{if((e|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,h)|0)){i=20;break b}else e=2;break}case 6:{if((e|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,h)|0)){i=23;break b}else e=3;break}case 7:{if((e|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){i=26;break b}else e=4;break}default:{i=33;break b}}h=h+e|0}if((i|0)==17){c[g>>2]=h;f=0;break}else if((i|0)==20){c[g>>2]=h;f=0;break}else if((i|0)==23){c[g>>2]=h;f=0;break}else if((i|0)==26){c[g>>2]=h;f=0;break}else if((i|0)==27){c:while(1){e=h+1|0;if((f-e|0)<=0){f=-1;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 10:case 9:case 21:{h=e;i=27;break}case 11:{i=29;break c}default:{i=30;break c}}}if((i|0)==29){c[g>>2]=h+2;f=5;break}else if((i|0)==30){c[g>>2]=e;f=0;break}}else if((i|0)==32){c[g>>2]=h+1;f=5;break}else if((i|0)==33){c[g>>2]=h;f=0;break}}else f=-1;while(0);return f|0}function OX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;v=y;c[v>>2]=e;w=f;r=b+72|0;s=b+328|0;t=b+332|0;u=b+336|0;k=b+340|0;m=b+344|0;n=b+348|0;o=b+352|0;p=b+356|0;q=b+360|0;i=0;a:while(1){h=w-e|0;if((h|0)<=0){e=-1;break}b:do switch(a[r+(d[e>>0]|0)>>0]|0){case 29:{x=4;break a}case 27:case 26:case 25:case 24:case 22:{h=e+1|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 5:{if((h|0)<2){e=-2;break a}if(!(lb[c[s>>2]&127](b,e)|0)){x=8;break a}h=e+2|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 6:{if((h|0)<3){e=-2;break a}if(!(lb[c[t>>2]&127](b,e)|0)){x=12;break a}h=e+3|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 7:{if((h|0)<4){e=-2;break a}if(!(lb[c[u>>2]&127](b,e)|0)){x=16;break a}h=e+4|0;c[v>>2]=h;j=i;e=h;i=j;continue a}case 23:{if(i|0){x=19;break a}h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=22;break a}case 24:case 22:{j=e+2|0;c[v>>2]=j;i=1;e=j;continue a}case 5:{if((i|0)<2){e=-2;break a}if(!(lb[c[k>>2]&127](b,h)|0)){x=26;break a}j=e+3|0;c[v>>2]=j;i=1;e=j;continue a}case 6:{if((i|0)<3){e=-2;break a}if(!(lb[c[m>>2]&127](b,h)|0)){x=30;break a}j=e+4|0;c[v>>2]=j;i=1;e=j;continue a}case 7:{if((i|0)<4){e=-2;break a}if(!(lb[c[n>>2]&127](b,h)|0)){x=34;break a}j=e+5|0;c[v>>2]=j;i=1;e=j;continue a}default:{x=36;break a}}}case 10:case 9:case 21:while(1){e=e+1|0;c[v>>2]=e;if((w-e|0)<=0){e=-1;break a}switch(a[r+(d[e>>0]|0)>>0]|0){case 14:break b;case 9:case 10:case 21:break;default:{x=39;break a}}}case 14:break;default:{x=92;break a}}while(0);while(1){h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break a}j=a[r+(d[h>>0]|0)>>0]|0;if((j|1)<<24>>24==13)break;switch(j<<24>>24){case 9:case 10:case 21:{e=h;break}default:{x=43;break a}}}e=e+2|0;c[v>>2]=e;c:while(1){h=w-e|0;if((h|0)<=0){e=-1;break a}i=a[r+(d[e>>0]|0)>>0]|0;if(i<<24>>24==j<<24>>24)break;switch(i<<24>>24){case 8:case 1:case 0:{x=60;break a}case 2:{x=65;break a}case 5:{if((h|0)<2){e=-2;break a}if(lb[c[o>>2]&127](b,e)|0){x=50;break a}i=e+2|0;c[v>>2]=i;e=i;continue c}case 6:{if((h|0)<3){e=-2;break a}if(lb[c[p>>2]&127](b,e)|0){x=54;break a}i=e+3|0;c[v>>2]=i;e=i;continue c}case 7:{if((h|0)<4){e=-2;break a}if(lb[c[q>>2]&127](b,e)|0){x=58;break a}i=e+4|0;c[v>>2]=i;e=i;continue c}case 3:{e=FX(b,e+1|0,f,v)|0;if((e|0)<1){x=63;break a}e=c[v>>2]|0;continue c}default:{i=e+1|0;c[v>>2]=i;e=i;continue c}}}h=e+1|0;c[v>>2]=h;if((w-h|0)<=0){e=-1;break}switch(a[r+(d[h>>0]|0)>>0]|0){case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}default:{x=69;break a}}d:while(1){h=e+1|0;c[v>>2]=h;i=w-h|0;if((i|0)<=0){e=-1;break a}switch(a[r+(d[h>>0]|0)>>0]|0){case 29:{x=72;break a}case 11:{x=86;break a}case 17:{x=87;break a}case 10:case 9:case 21:{e=h;break}case 24:case 22:{x=73;break d}case 5:{x=74;break d}case 6:{x=78;break d}case 7:{x=82;break d}default:{x=91;break a}}}if((x|0)==73){x=0;e=e+2|0;c[v>>2]=e;i=0;continue}else if((x|0)==74){x=0;if((i|0)<2){e=-2;break}if(!(lb[c[k>>2]&127](b,h)|0)){x=76;break}e=e+3|0;c[v>>2]=e;i=0;continue}else if((x|0)==78){x=0;if((i|0)<3){e=-2;break}if(!(lb[c[m>>2]&127](b,h)|0)){x=80;break}e=e+4|0;c[v>>2]=e;i=0;continue}else if((x|0)==82){x=0;if((i|0)<4){e=-2;break}if(!(lb[c[n>>2]&127](b,h)|0)){x=84;break}e=e+5|0;c[v>>2]=e;i=0;continue}}switch(x|0){case 4:{c[g>>2]=e;e=0;break}case 8:{c[g>>2]=e;e=0;break}case 12:{c[g>>2]=e;e=0;break}case 16:{c[g>>2]=e;e=0;break}case 19:{c[g>>2]=e;e=0;break}case 22:{c[g>>2]=h;e=0;break}case 26:{c[g>>2]=h;e=0;break}case 30:{c[g>>2]=h;e=0;break}case 34:{c[g>>2]=h;e=0;break}case 36:{c[g>>2]=h;e=0;break}case 39:{c[g>>2]=e;e=0;break}case 43:{c[g>>2]=h;e=0;break}case 50:{c[g>>2]=e;e=0;break}case 54:{c[g>>2]=e;e=0;break}case 58:{c[g>>2]=e;e=0;break}case 60:{c[g>>2]=e;e=0;break}case 63:{if(!e){c[g>>2]=c[v>>2];e=0}break}case 65:{c[g>>2]=e;e=0;break}case 69:{c[g>>2]=h;e=0;break}case 72:{c[g>>2]=h;e=0;break}case 76:{c[g>>2]=h;e=0;break}case 80:{c[g>>2]=h;e=0;break}case 84:{c[g>>2]=h;e=0;break}case 86:{c[g>>2]=e+2;e=1;break}case 87:{e=h+1|0;c[v>>2]=e;if((w-e|0)>0)if((a[e>>0]|0)==62){c[g>>2]=h+2;e=3;break}else{c[g>>2]=e;e=0;break}else e=-1;break}case 91:{c[g>>2]=h;e=0;break}case 92:{c[g>>2]=e;e=0;break}}l=y;return e|0}function PX(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}switch(a[b+1>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}switch(a[b+2>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1;while(0);return d|0}function QX(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;k=e+72|0;l=e+352|0;m=e+356|0;n=e+360|0;a:while(1){i=g-f|0;if((i|0)<=0){g=-1;break}j=a[k+(d[f>>0]|0)>>0]|0;switch(j<<24>>24){case 8:case 1:case 0:{o=16;break a}case 5:{if((i|0)<2){g=-2;break a}if(lb[c[l>>2]&127](e,f)|0){o=6;break a}f=f+2|0;continue a}case 6:{if((i|0)<3){g=-2;break a}if(lb[c[m>>2]&127](e,f)|0){o=10;break a}f=f+3|0;continue a}case 7:{if((i|0)<4){g=-2;break a}if(lb[c[n>>2]&127](e,f)|0){o=14;break a}f=f+4|0;continue a}case 13:case 12:{f=f+1|0;if((j&255|0)==(b|0)){o=18;break a}else continue a}default:{f=f+1|0;continue a}}}b:do if((o|0)==6){c[h>>2]=f;g=0}else if((o|0)==10){c[h>>2]=f;g=0}else if((o|0)==14){c[h>>2]=f;g=0}else if((o|0)==16){c[h>>2]=f;g=0}else if((o|0)==18)if((g-f|0)>0){c[h>>2]=f;switch(a[k+(d[f>>0]|0)>>0]|0){case 20:case 30:case 11:case 10:case 9:case 21:{g=27;break b}default:{}}g=0}else g=-27;while(0);return g|0}function RX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=f;a:do if((h-e|0)>0){i=b+72|0;switch(a[i+(d[e>>0]|0)>>0]|0){case 27:{b=KX(b,e+1|0,f,g)|0;break a}case 20:{c[g>>2]=e+1;b=33;break a}case 24:case 22:{b:while(1){b=e+1|0;f=h-b|0;if((f|0)<=0){b=-1;break a}switch(a[i+(d[b>>0]|0)>>0]|0){case 24:case 22:{e=b;break}case 30:{j=8;break b}case 10:case 9:case 21:break b;default:{j=12;break b}}}if((j|0)==12){c[g>>2]=b;b=0;break a}c:do if((j|0)==8){if((f|0)<=1){b=-1;break a}switch(a[i+(d[e+2>>0]|0)>>0]|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=b;b=0;break a}while(0);c[g>>2]=b;b=16;break a}default:{c[g>>2]=e;b=0;break a}}}else b=-1;while(0);return b|0}\nfunction Rv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=a;while(1){j=c[f>>2]|0;if(!j){k=6;break}if((c[j>>2]|0)==(b|0))break;f=j+4|0}if((k|0)==6)qa(93188,93195,217,93206);i=j+8|0;f=c[i>>2]|0;g=j+4|0;b=c[g>>2]|0;c[(f|0?f+4|0:a)>>2]=b;h=a+4|0;c[(b|0?b+8|0:h)>>2]=f;b=0;f=a;while(1){f=c[f>>2]|0;if(!f)break;if((c[f>>2]|0)==(d|0)){k=9;break}b=f;f=f+4|0}if((k|0)==9){do if(!e)if((f|0)==(c[a>>2]|0)){c[a>>2]=j;c[g>>2]=f;c[i>>2]=0;f=f+8|0;break}else{c[b+4>>2]=j;c[i>>2]=b;c[g>>2]=f;f=f+8|0;break}else if((f|0)==(c[h>>2]|0)){c[h>>2]=j;c[g>>2]=0;c[i>>2]=f;f=f+4|0;break}else{c[i>>2]=f;f=f+4|0;c[g>>2]=c[f>>2];c[(c[f>>2]|0)+8>>2]=j;break}while(0);c[f>>2]=j}return}function Sv(a){a=a|0;return c[a+8>>2]|0}function Tv(a,b){a=a|0;b=b|0;Uv(a,Ov(b)|0);D_(b);return}function Uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[b>>2]|0;if(d|0){e=a+4|0;f=c[e>>2]|0;c[f+4>>2]=d;c[d+8>>2]=f;c[e>>2]=c[b+4>>2];d=a+8|0;c[d>>2]=(c[d>>2]|0)+(c[b+8>>2]|0)}return}function Vv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;m=c[b+8>>2]|0;Wv(a,b);l=Xv(m)|0;a=Zv(Yv(l)|0)|0;_v(m,a);m=$v(a,m)|0;a=Sv(m)|0;j=+aw(m);k=(a|0)==1;f=+(a|0);i=f*.15915494309189535*(j+d);g=k?0.0:i;a=m;while(1){a=c[a>>2]|0;if(!a)break;if(c[(c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&8|0){e=4;break}a=a+4|0}if((e|0)==4)Pv(m,a);d=1.0/f;e=0;a=m;while(1){a=c[a>>2]|0;if(!a)break;n=(c[a>>2]|0)+16|0;c[(c[(c[n>>2]|0)+112>>2]|0)+16>>2]=e;h[(c[(c[n>>2]|0)+112>>2]|0)+24>>3]=0.0;f=6.283185307179586*d*+(e|0);o=+E(+f)*g;n=c[(c[n>>2]|0)+132>>2]|0;h[n>>3]=o;h[n+8>>3]=+F(+f)*g;e=e+1|0;a=a+4|0}o=k?j*.5:i;h[b+16>>3]=o;h[b+24>>3]=o;h[b+48>>3]=-1.0;$x(l)|0;return m|0}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[b+8>>2]|0;d=Sy(f)|0;while(1){if(!d)break;e=Ex(a,d)|0;while(1){if(!e)break;if((c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+12>>2]|0)==(b|0))Vx(f,e,1)|0;e=Gx(a,e)|0}d=Ty(f,d)|0}return}function Xv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;f=gw(a,g)|0;g=c[g>>2]|0;i=ay(g)|0;h=hw(g)|0;i=i+-3|0;e=0;while(1){if((e|0)>=(i|0))break;j=qw(h)|0;d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;pw(h,a);d=Kx(g,d,j)|0}iw(g,j,f);d=Jx(g,j)|0;while(1){if(!d)break;b=c[d>>2]&3;a=c[((b|0)==2?d:d+-48|0)+40>>2]|0;if((j|0)==(a|0))a=c[((b|0)==3?d:d+48|0)+40>>2]|0;b=(c[a+16>>2]|0)+236|0;c[b>>2]=(c[b>>2]|0)+-1;ow(h,a);d=Kx(g,d,j)|0}dz(g,j)|0;e=e+1|0}$x(g)|0;nw(h);l=k;return f|0}function Yv(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;b=f;e=f+8|0;d=c[46162]|0;c[46162]=d+1;c[b>>2]=d;Y0(e,93221,b)|0;e=vA(a,e,1)|0;Az(e,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;Xy(e,b,1)|0;d=b+16|0;c[(c[(c[d>>2]|0)+112>>2]|0)+16+12>>2]=0;c[(c[(c[d>>2]|0)+112>>2]|0)+32>>2]=0;d=(c[(c[d>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-2;b=Ty(a,b)|0}b=Sy(a)|0;while(1){if(!b)break;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+4>>2]&1)){c[d+16>>2]=0;fw(a,b,e)}b=Ty(a,b)|0}l=f;return e|0}function Zv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((ay(a)|0)!=1){d=Sy(a)|0;while(1){if(!d)break;b=0;e=Jx(a,d)|0;while(1){if(!e)break;b=b+1|0;e=Kx(a,e,d)|0}if((b|0)==1)ew(d,d,0,0);d=Ty(a,d)|0}b=0;f=0;d=Sy(a)|0;while(1){if(!d)break;g=c[(c[d+16>>2]|0)+112>>2]|0;g=(c[g+32>>2]|0)+(c[g+16+12>>2]|0)|0;e=(g|0)>(b|0);b=e?g:b;f=e?d:f;d=Ty(a,d)|0}b=Kv()|0;e=f+16|0;d=(c[(c[e>>2]|0)+112>>2]|0)+16+4|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(b,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Mv(b,0,f);g=c[(c[e>>2]|0)+112>>2]|0;a=g+4|0;c[a>>2]=c[a>>2]|16;if(c[g+32>>2]|0){a=Kv()|0;d=(c[(c[e>>2]|0)+112>>2]|0)+24|0;while(1){d=c[d>>2]|0;if((d|0)==(f|0))break;Mv(a,0,d);d=c[(c[d+16>>2]|0)+112>>2]|0;g=d+4|0;c[g>>2]=c[g>>2]|16;d=d+16|0}Tv(b,a)}}else{b=Kv()|0;g=Sy(a)|0;Mv(b,0,g);g=(c[(c[g+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|16}return b|0}function _v(a,b){a=a|0;b=b|0;var d=0;d=Sy(a)|0;while(1){if(!d)break;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&16))dw(a,d,b);d=Ty(a,d)|0}return}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=bw(a,b)|0;c[f>>2]=d;a:do if(d){e=0;while(1){if((e|0)>=10)break a;a=cw(a,b,f)|0;h=d;d=c[f>>2]|0;if((h|0)==(d|0)|(d|0)==0)break;else e=e+1|0}}while(0);l=g;return a|0}function aw(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0;b=0.0;while(1){a=c[a>>2]|0;if(!a)break;f=c[(c[c[(c[(c[a>>2]|0)+16>>2]|0)+112>>2]>>2]|0)+16>>2]|0;d=+h[f+32>>3];d=d>b?d:b;e=+h[f+40>>3];b=e>d?e:d;a=a+4|0}return +b}function bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=rw()|0;e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;c[c[(c[d+16>>2]|0)+120>>2]>>2]=0;d=Gx(b,d)|0}e=Ty(b,e)|0}j=1;d=0;while(1){h=c[a>>2]|0;if(!h)break;i=c[h>>2]|0;g=Jx(b,i)|0;while(1){if(!g)break;f=g+16|0;if((c[c[(c[f>>2]|0)+120>>2]>>2]|0)>0){a=nb[c[k>>2]&63](k,0,128)|0;while(1){if(!a)break;e=c[a+8>>2]|0;if((c[c[(c[e+16>>2]|0)+120>>2]>>2]|0)>(c[c[(c[f>>2]|0)+120>>2]>>2]|0)?(l=c[e>>2]&3,(c[((l|0)==2?e:e+-48|0)+40>>2]|0)!=(i|0)):0)d=d+((c[((l|0)==3?e:e+48|0)+40>>2]|0)!=(i|0)&1)|0;a=nb[c[k>>2]&63](k,a,8)|0}xw(k,g)}g=Kx(b,g,i)|0}e=Jx(b,i)|0;while(1){if(!e)break;a=c[(c[e+16>>2]|0)+120>>2]|0;if(!(c[a>>2]|0)){c[a>>2]=j;ww(k,e)}e=Kx(b,e,i)|0}a=h+4|0;j=j+1|0}vw(k);return d|0}function cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[d>>2]|0;k=Sy(b)|0;a:while(1){if(!k)break;j=Jx(b,k)|0;while(1){if(!j)break;g=c[j>>2]&3;f=c[((g|0)==3?j:j+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?j:j+-48|0)+40>>2]|0;i=0;while(1){if((i|0)>=2)break;h=Qv(a)|0;Rv(a,k,f,i);g=bw(a,b)|0;if((g|0)<(e|0)){Lv(h);if(!g){e=0;break a}else e=g}else{Lv(a);a=h}i=i+1|0}j=Kx(b,j,k)|0}k=Ty(b,k)|0}c[d>>2]=e;return a|0}function dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=Kv()|0;e=Ex(a,b)|0;while(1){if(!e)break;f=e+-48|0;Mv(h,0,c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break;f=e+48|0;Mv(h,0,c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0);f=(c[(c[(c[((c[e>>2]&3|0)==3?e:f)+40>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[f>>2]=c[f>>2]|32;e=Ix(a,e)|0}a:do if((Sv(h)|0)>1){f=d+4|0;a=d;while(1){e=c[a>>2]|0;if(!e){g=13;break a}a=e+4|0;if(!(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32))continue;if(c[(c[(c[(c[c[((e|0)==(c[f>>2]|0)?d:a)>>2]>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break}Mv(d,e,b)}else g=13;while(0);b:do if((g|0)==13){c:do if((Sv(h)|0)>0){e=d;while(1){e=c[e>>2]|0;if(!e)break c;if(c[(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4>>2]&32|0)break;e=e+4|0}Mv(d,e,b);break b}while(0);Mv(d,0,b)}while(0);e=h;while(1){e=c[e>>2]|0;if(!e)break;d=(c[(c[(c[e>>2]|0)+16>>2]|0)+112>>2]|0)+4|0;c[d>>2]=c[d>>2]&-33;e=e+4|0}Lv(h);return}function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;while(1){g=c[(c[(c[b+16>>2]|0)+112>>2]|0)+16>>2]|0;if(!g)break;h=d+1|0;i=g+16|0;j=c[(c[i>>2]|0)+112>>2]|0;b=j+16|0;f=c[b+12>>2]|0;if(f){if((f|0)>(d|0)){k=11;break}b=c[b+4>>2]|0;f=b;if((b|0)==(e|0))b=j;else{d=j+24|0;if(!((c[j+32>>2]|0)!=0?(c[d>>2]|0)==(e|0):0))e=b;c[d>>2]=f;b=c[(c[i>>2]|0)+112>>2]|0;c[b+32>>2]=c[b+16+12>>2];b=c[(c[i>>2]|0)+112>>2]|0}b=b+16|0}c[b+4>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+16+12>>2]=h;b=g;d=h}if((k|0)==11?(c[j+32>>2]|0)<=(d|0):0){c[j+24>>2]=a;c[(c[(c[i>>2]|0)+112>>2]|0)+32>>2]=h}return}function fw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[(c[b+16>>2]|0)+112>>2]|0)+4|0;c[g>>2]=c[g>>2]|1;g=Jx(a,b)|0;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==3?g:g+48|0)+40>>2]|0;f=e+16|0;if(!(c[(c[(c[f>>2]|0)+112>>2]|0)+4>>2]&1)){Vx(d,g,1)|0;c[(c[(c[f>>2]|0)+112>>2]|0)+16>>2]=b;fw(a,e,d)}g=Kx(a,g,b)|0}return}function gw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+144|0;j=k+8|0;i=k;e=k+16|0;h=c[46163]|0;c[46163]=h+1;c[i>>2]=h;Y0(e,93230,i)|0;i=vA(b,e,1)|0;Az(i,134401,280,1)|0;h=c[46163]|0;c[46163]=h+1;c[j>>2]=h;Y0(e,93230,j)|0;h=b+24|0;a[j>>0]=a[h>>0]|0;a[j+1>>0]=a[h+1>>0]|0;a[j+2>>0]=a[h+2>>0]|0;a[j+3>>0]=a[h+3>>0]|0;j=Xx(e,j,0)|0;e=Sy(b)|0;while(1){if(!e)break;Xy(i,e,1)|0;h=az(j,ry(e)|0,1)|0;Az(h,134365,304,1)|0;c[(c[(c[e+16>>2]|0)+112>>2]|0)+16>>2]=h;e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;g=c[(c[(c[f+16>>2]|0)+112>>2]|0)+16>>2]|0;h=g+16|0;e=Ex(b,f)|0;while(1){if(!e)break;Vx(i,e,1)|0;m=c[(c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0)+16>>2]|0;n=Rx(j,g,m,0,1)|0;Az(n,134378,176,1)|0;c[(c[n+16>>2]|0)+116>>2]=e;n=(c[h>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=Gx(b,e)|0}f=Ty(b,f)|0}c[d>>2]=j;l=k;return i|0}function hw(a){a=a|0;var b=0,c=0;c=jw()|0;b=Sy(a)|0;while(1){if(!b)break;ow(c,b);b=Ty(a,b)|0}return c|0}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;m=c[(c[b+16>>2]|0)+236>>2]|0;p=m<<2;o=vH(p)|0;p=vH(p)|0;i=0;l=Jx(a,b)|0;n=0;f=0;while(1){if(!l)break;e=c[l>>2]&3;g=c[((e|0)==2?l:l+-48|0)+40>>2]|0;if((g|0)==(b|0))g=c[((e|0)==3?l:l+48|0)+40>>2]|0;h=0;k=Jx(a,b)|0;j=i;while(1){if(!k)break;if((k|0)!=(l|0)){i=c[k>>2]&3;e=c[((i|0)==2?k:k+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((i|0)==3?k:k+48|0)+40>>2]|0;i=Rx(a,g,e,0,0)|0;if(i)if(g>>>0<e>>>0){e=j+1|0;h=i+16|0;i=c[(c[h>>2]|0)+116>>2]|0;if(!i)h=1;else{dz(d,i)|0;c[(c[h>>2]|0)+116>>2]=0;h=1}}else{h=1;e=j}else e=j}else e=j;k=Kx(a,k,b)|0;j=e}if(!h){c[p+(n<<2)>>2]=g;e=n+1|0}else{c[o+(f<<2)>>2]=g;e=n;f=f+1|0}i=j;l=Kx(a,l,b)|0;n=e}e=m+-1-i|0;a:do if((e|0)>0){if((e|0)<(n|0))g=0;else{if((e|0)!=(n|0))break;f=c[o>>2]|0;g=f+16|0;e=0;while(1){if((e|0)>=(n|0))break a;m=c[p+(e<<2)>>2]|0;Az(Rx(a,f,m,0,1)|0,134378,176,1)|0;d=(c[g>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;e=e+1|0}}while(1){if((g|0)>=(n|0)){f=2;break}f=g|1;if((f|0)>=(n|0)){f=2;break}d=c[p+(g<<2)>>2]|0;m=c[p+(f<<2)>>2]|0;Az(Rx(a,d,m,0,1)|0,134378,176,1)|0;d=(c[d+16>>2]|0)+236|0;c[d>>2]=(c[d>>2]|0)+1;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;g=g+2|0;e=e+-1|0}while(1){if((e|0)<=0)break a;m=c[p>>2]|0;n=c[p+(f<<2)>>2]|0;Az(Rx(a,m,n,0,1)|0,134378,176,1)|0;m=(c[m+16>>2]|0)+236|0;c[m>>2]=(c[m>>2]|0)+1;n=(c[n+16>>2]|0)+236|0;c[n>>2]=(c[n>>2]|0)+1;f=f+1|0;e=e+-1|0}}while(0);D_(p);D_(o);return}function jw(){return Cw(18136,c[4555]|0)|0}function kw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(16)|0;c[d+12>>2]=0;c[d+8>>2]=c[b+8>>2];return d|0}function lw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return ((b|0)<(e|0)?-1:(b|0)>(e|0)&1)|0}function nw(a){a=a|0;yw(a)|0;return}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d;e=b+16|0;c[f+8>>2]=c[(c[e>>2]|0)+236>>2];a=(nb[c[a>>2]&63](a,f,1)|0)+12|0;c[(c[e>>2]|0)+164>>2]=c[a>>2];c[a>>2]=b;l=d;return}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=b+16|0;c[g+8>>2]=c[(c[f>>2]|0)+236>>2];g=nb[c[a>>2]&63](a,g,4)|0;if(!g)qa(93240,93243,107,93253);e=g+12|0;d=c[e>>2]|0;if((d|0)==(b|0)){b=c[(c[f>>2]|0)+164>>2]|0;c[e>>2]=b;if(!b)nb[c[a>>2]&63](a,g,2)|0}else{do{a=(c[d+16>>2]|0)+164|0;d=c[a>>2]|0;e=(d|0)!=0}while(e&(d|0)!=(b|0));if(e)c[a>>2]=c[(c[d+16>>2]|0)+164>>2]}l=h;return}function qw(a){a=a|0;var b=0,d=0,e=0,f=0;d=nb[c[a>>2]&63](a,0,128)|0;if(d){f=d+12|0;b=c[f>>2]|0;e=c[(c[b+16>>2]|0)+164>>2]|0;c[f>>2]=e;if(!e)nb[c[a>>2]&63](a,d,2)|0}else b=0;return b|0}function rw(){return Cw(18172,c[4555]|0)|0}function sw(a,b,d){a=a|0;b=b|0;d=d|0;d=vH(12)|0;c[d+8>>2]=c[b+8>>2];return d|0}function tw(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;e=c[d>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function vw(a){a=a|0;yw(a)|0;return}function ww(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,1)|0;l=d;return}function xw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e+8>>2]=b;nb[c[a>>2]&63](a,e,2)|0;l=d;return}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;do if((a|0)!=0?(c[a+24>>2]|0)<=0:0){h=c[a+4>>2]|0;g=h+32|0;b=c[g>>2]|0;if(b){b=ob[b&127](a,2,0,h)|0;if((b|0)<0){b=-1;break}}else b=0;if(c[a+28>>2]|0)Hw(a,0)|0;f=(b|0)==0;if(f){nb[c[c[a+16>>2]>>2]&63](a,0,64)|0;if((Ew(a)|0)>0){b=-1;break}d=a+8|0;b=c[d>>2]|0;if((c[b+12>>2]|0)>0){e=a+12|0;ob[c[e>>2]&127](a,c[b+8>>2]|0,0,h)|0;b=c[d>>2]|0}else e=a+12|0;ob[c[e>>2]&127](a,b,0,h)|0}b=c[a+20>>2]|0;if(b){if(f&(b|0)==1)ob[c[a+12>>2]&127](a,a,0,h)|0}else D_(a);b=c[g>>2]|0;if(!b)b=0;else{ob[b&127](a,6,0,h)|0;b=0}}else b=-1;while(0);return b|0}function zw(a){a=a|0;var b=0,d=0,e=0;e=a+8|0;b=c[e>>2]|0;d=c[b>>2]|0;a:do if(!(d&12)){if(!(d&3)){d=b+8|0;a=c[d>>2]|0;c[d>>2]=0;break}a=Aw(a)|0;d=c[e>>2]|0;b=c[d+8>>2]|0;d=b+(c[d+12>>2]<<2)|0;while(1){if(b>>>0>=d>>>0)break a;c[b>>2]=0;b=b+4|0}}else a=c[b+4>>2]|0;while(0);e=c[e>>2]|0;c[e>>2]=c[e>>2]&-4097;c[e+16>>2]=0;c[e+4>>2]=0;return a|0}function Aw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+8|0;a=c[g>>2]|0;b=c[a>>2]|0;if(!(b&4096)){a:do if(!(b&3)){if(b&112|0){a=c[a+8>>2]|0;break}a=c[a+4>>2]|0;if(!a)a=0;else{while(1){b=a+4|0;d=c[b>>2]|0;if(!d){e=a;break}c[b>>2]=c[d>>2];c[d>>2]=a;a=d}while(1){b=c[e>>2]|0;if(!b)break a;d=c[b+4>>2]|0;if(!d){e=b;continue}while(1){c[b+4>>2]=c[d>>2];c[d>>2]=b;b=c[d+4>>2]|0;if(!b)break;else{f=d;d=b;b=f}}c[e>>2]=d;e=d}}}else{e=c[a+8>>2]|0;f=e+(c[a+12>>2]<<2)|0;b=0;a=0;while(1){if(e>>>0>=f>>>0)break a;d=c[e>>2]|0;if(d){if(!b){b=d;a=d}else c[b>>2]=d;while(1){d=c[b>>2]|0;if(!d)break;else b=d}c[e>>2]=b}e=e+4|0}}while(0);g=c[g>>2]|0;c[g+4>>2]=a;c[g>>2]=c[g>>2]|4096}else a=c[a+4>>2]|0;return a|0}function Bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=a+8|0;if(c[c[s>>2]>>2]&4096|0)Dw(a,0)|0;r=c[a+4>>2]|0;m=c[r>>2]|0;n=c[r+4>>2]|0;q=r+8|0;u=c[q>>2]|0;o=c[r+20>>2]|0;p=a+20|0;f=c[p>>2]&-32769;c[p>>2]=f;a:do if(!b){if(d&384|0){f=c[s>>2]|0;e=c[f+8>>2]|0;if(!e){e=0;break}if(d&256){e=c[e+4>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}else c[f+4>>2]=e;if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}if(d&4098|0){e=c[s>>2]|0;if(c[e>>2]&144|0){e=0;break}e=c[e+8>>2]|0;if(!e){e=0;break}else{h=e;t=84;break}}if(!(d&64))e=0;else{i=r+16|0;b:do if((c[i>>2]|0)!=0|(u|0)<0){j=a+12|0;k=(u|0)<0;f=0-u|0;e=c[(c[s>>2]|0)+8>>2]|0;while(1){if(!e)break b;g=c[e>>2]|0;h=c[i>>2]|0;if(h|0){if(k)b=c[e+8>>2]|0;else b=e+f|0;vb[h&127](a,b,r)}if((c[q>>2]|0)>=0){e=g;continue}ob[c[j>>2]&127](a,e,0,r)|0;e=g}}while(0);e=c[s>>2]|0;c[e+4>>2]=0;c[e+8>>2]=0;c[(c[s>>2]|0)+16>>2]=0;e=0}}else{if(d&2049|0){g=r+12|0;e=c[g>>2]|0;h=(d&1|0)==0;if(!(h|(e|0)==0)){e=nb[e&63](a,b,r)|0;if(!e){e=0;break}else f=e}else f=b;do if((u|0)>-1)h=f+u|0;else{e=ob[c[a+12>>2]&127](a,0,12,r)|0;if(e|0){c[e+8>>2]=f;h=e;break}if(!(c[g>>2]|0)){e=0;break a}e=c[r+16>>2]|0;if(h|(e|0)==0){e=0;break a}vb[e&127](a,f,r);e=0;break a}while(0);g=c[s>>2]|0;e=c[g>>2]|0;do if(!(e&128)){if(!(e&16))if(!(e&32)){t=51;break}else{t=48;break}f=c[g+4>>2]|0;e=(f|0)!=0;if(!(d&8192)){if(!e){t=48;break}if((f|0)==(c[g+8>>2]|0)){t=48;break}r=f+4|0;a=c[r>>2]|0;c[h+4>>2]=a;c[a>>2]=h;c[h>>2]=f;c[r>>2]=h;break}else{if(!e){t=51;break}e=c[f>>2]|0;if(!e){t=51;break}c[h>>2]=e;c[e+4>>2]=h;c[h+4>>2]=f;c[f>>2]=h;break}}else if(!(d&8192))t=48;else t=51;while(0);if((t|0)==48){e=c[g+8>>2]|0;c[h>>2]=e;if(!e)e=h;else c[h+4>>2]=c[e+4>>2];c[e+4>>2]=h;c[(c[s>>2]|0)+8>>2]=h}else if((t|0)==51){f=g+8|0;e=c[f>>2]|0;if(!e){c[f>>2]=h;e=h}else{r=e+4|0;c[c[r>>2]>>2]=h;c[h+4>>2]=c[r>>2]}c[e+4>>2]=h;c[h>>2]=0}e=c[s>>2]|0;f=e+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1;c[e+4>>2]=h;if((u|0)<0){e=c[h+8>>2]|0;break}else{e=h+(0-u)|0;break}}h=c[s>>2]|0;do if(!(d&512)){e=c[h+4>>2]|0;if(e|0){if((u|0)<0)g=c[e+8>>2]|0;else g=e+(0-u)|0;if((g|0)==(b|0))break}e=b+m|0;if((n|0)<0){b=c[e>>2]|0;t=68}else{b=e;t=68}}else t=68;while(0);if((t|0)==68){g=(u|0)<0;i=(n|0)<0;j=(o|0)==0;k=(n|0)<1;l=0-u|0;e=h+8|0;do{e=c[e>>2]|0;if(!e){e=0;break a}if(g)f=c[e+8>>2]|0;else f=e+l|0;f=f+m|0;if(i)f=c[f>>2]|0;do if(j)if(k){f=b$(b,f)|0;break}else{f=L0(b,f,n)|0;break}else f=ob[o&127](a,b,f,r)|0;while(0)}while((f|0)!=0);f=c[p>>2]|0}c[p>>2]=f|32768;if(!(d&4098)){do if(!(d&8)){f=c[s>>2]|0;if(!(d&16)){c[f+4>>2]=e;break}if((e|0)==(c[f+8>>2]|0)){c[f+4>>2]=0;e=0;break a}else{e=e+4|0;t=108;break}}else{f=c[s>>2]|0;t=108}while(0);if((t|0)==108){e=c[e>>2]|0;c[f+4>>2]=e;if(!e){e=0;break}}if((u|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-u)|0;break}}else{h=e;t=84}}while(0);if((t|0)==84){e=c[h>>2]|0;if(e){c[e+4>>2]=c[h+4>>2];e=c[h>>2]|0}f=(c[s>>2]|0)+8|0;g=c[f>>2]|0;if((h|0)==(g|0)){c[f>>2]=e;e=c[(c[s>>2]|0)+8>>2]|0;if(e|0)c[e+4>>2]=c[h+4>>2]}else{f=h+4|0;c[c[f>>2]>>2]=e;e=g+4|0;if((h|0)==(c[e>>2]|0))c[e>>2]=c[f>>2]}e=c[s>>2]|0;f=e+4|0;if((h|0)==(c[f>>2]|0))g=c[h>>2]|0;else g=0;c[f>>2]=g;t=e+16|0;c[t>>2]=(c[t>>2]|0)+-1;if((u|0)<0)e=c[h+8>>2]|0;else e=h+(0-u)|0;f=c[r+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,e,r);if((c[q>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,r)|0}return e|0}function Cw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if((a|0)!=0&(b|0)!=0?(f=C_(40)|0,(f|0)!=0):0){c[f>>2]=0;c[f+16>>2]=0;c[f+4>>2]=0;Kw(f,a,0)|0;d=f+20|0;i=a+32|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;d=c[i>>2]|0;do if(d){c[g>>2]=0;d=ob[d&127](f,1,g,a)|0;if((d|0)>=0)if(d){e=c[g>>2]|0;if(e|0)if(!(c[b+4>>2]&c[e>>2])){d=f;h=12;break}else{d=f;break}d=a+28|0;if(!(c[d>>2]|0)){d=f;h=12}else{D_(f);e=ob[c[d>>2]&127](0,0,40,a)|0;if(!e){d=0;break a}c[e>>2]=0;c[e+16>>2]=0;c[e+4>>2]=0;Kw(e,a,0)|0;c[e+20>>2]=1;c[e+24>>2]=0;c[e+32>>2]=0;c[e+28>>2]=0;d=e;f=e;h=11}}else{d=f;h=11}else{d=f;h=12}}else{d=f;h=11}while(0);if((h|0)==11){e=ob[c[d+12>>2]&127](d,0,28,a)|0;c[g>>2]=e;if(!e){d=f;h=12}else{c[e>>2]=c[b+4>>2];g=e+4|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0}}if((h|0)==12){D_(d);d=0;break}c[d+8>>2]=e;c[d>>2]=c[b>>2];c[d+16>>2]=b;e=c[i>>2]|0;if(e)ob[e&127](d,5,f,a)|0}else d=0;while(0);l=j;return d|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[c[a+16>>2]>>2]|0;j=a+8|0;g=c[j>>2]|0;h=c[g>>2]|0;d=h&4096;if(!b)if(!d)b=-1;else{e=d;b=c[g+4>>2]|0;i=5}else if(!(c[g+16>>2]|0)){e=0;i=5}else b=-1;a:do if((i|0)==5){c[g>>2]=h&-4097;if(!(h&3)){d=g+4|0;if(!(h&12)){c[d>>2]=0;d=g+8|0}c[d>>2]=b;if(e|0){b=0;break}c[(c[j>>2]|0)+16>>2]=-1;b=0;break}c[g+4>>2]=0;if(!e){c[g+16>>2]=0;while(1){if(!b){b=0;break a}j=c[b>>2]|0;nb[f&63](a,b,32)|0;b=j}}e=c[g+8>>2]|0;a=e+(c[g+12>>2]<<2)|0;while(1){if(e>>>0>=a>>>0){b=0;break a}d=c[e>>2]|0;if(d){c[e>>2]=b;b=c[d>>2]|0;c[d>>2]=0}e=e+4|0}}while(0);return b|0}function Ew(a){a=a|0;var b=0,d=0,e=0;b=a+8|0;d=c[b>>2]|0;if(c[d>>2]&4096){Dw(a,0)|0;d=c[b>>2]|0}e=d+16|0;a=c[e>>2]|0;do if((a|0)<0){b=c[d>>2]|0;if(b&12|0){a=Fw(c[d+4>>2]|0)|0;c[e>>2]=a;break}if(b&112){a=0;b=d+8|0;while(1){b=c[b>>2]|0;if(!b)break;a=a+1|0}c[e>>2]=a}}while(0);return a|0}function Fw(a){a=a|0;var b=0;if(!a)return 0;else{b=Fw(c[a+4>>2]|0)|0;return b+1+(Fw(c[a>>2]|0)|0)|0}return 0}function Gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;z=G+120|0;r=G;F=a+8|0;e=c[F>>2]|0;if(c[e>>2]&4096){Dw(a,0)|0;e=c[F>>2]|0}E=c[a+4>>2]|0;A=c[E>>2]|0;B=c[E+4>>2]|0;x=E+8|0;D=c[x>>2]|0;C=c[E+20>>2]|0;t=a+20|0;c[t>>2]=c[t>>2]&-32769;h=c[e+4>>2]|0;a:do if(!b)if((d&448|0)==0|(h|0)==0)e=0;else{if(!(d&64)){b:do if(!(d&256)){e=h;while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break b;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}}else{e=h;while(1){f=c[e>>2]|0;if(!f)break b;a=f+4|0;c[e>>2]=c[a>>2];c[a>>2]=e;e=f}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break}else{e=e+(0-D)|0;break}}b=E+16|0;if((c[b>>2]|0)!=0|(D|0)<0){j=a+12|0;k=(D|0)<0;i=0-D|0;e=h;do{h=e;while(1){e=h+4|0;f=c[e>>2]|0;if(!f)break;c[e>>2]=c[f>>2];c[f>>2]=h;h=f}e=c[h>>2]|0;f=c[b>>2]|0;if(f|0){if(k)g=c[h+8>>2]|0;else g=h+i|0;vb[f&127](a,g,E)}if((c[x>>2]|0)<0)ob[c[j>>2]&127](a,h,0,E)|0}while((e|0)!=0);e=c[F>>2]|0}c[e+16>>2]=0;c[e+4>>2]=0;e=0}else{y=a+16|0;u=(d&4098|0)==0;c:do if(u|(c[(c[y>>2]|0)+4>>2]|0)!=8)v=45;else{k=(B|0)<0;e=b+A|0;if(k)e=c[e>>2]|0;i=(C|0)==0;j=(B|0)<1;g=nb[c[a>>2]&63](a,b,4)|0;while(1){if(!g){v=45;break c}f=g+A|0;if(k)f=c[f>>2]|0;do if(i)if(j){f=b$(e,f)|0;break}else{f=L0(e,f,B)|0;break}else f=ob[C&127](a,e,f,E)|0;while(0);if(f|0){v=45;break c}if((g|0)==(b|0))break;g=nb[c[a>>2]&63](a,g,8)|0}h=c[(c[F>>2]|0)+4>>2]|0;c[z>>2]=c[h+4>>2];c[z+4>>2]=c[h>>2];e=z;v=180}while(0);d:do if((v|0)==45){do if(!(d&2565)){if(d&32|0){if((D|0)<0)g=c[b+8>>2]|0;else g=b+(0-D)|0;e=g+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e;if(!h){e=b;f=z;h=z;v=198;break}else{e=b;s=f;j=b;v=64;break}}if(h){if((D|0)<0)e=c[h+8>>2]|0;else e=h+(0-D)|0;if((e|0)!=(b|0)){f=b+A|0;if((B|0)<0){g=b;e=0;s=c[f>>2]|0;j=0;v=64}else{g=b;e=0;s=f;j=0;v=64}}else{e=0;g=b;f=z;k=z;j=0;v=141}}else{e=0;g=b;f=z;h=z;v=198}}else{if(!(d&512)){e=b+A|0;if((B|0)<0)f=c[e>>2]|0;else f=e}else f=b;if(!h){e=0;g=b;f=z;h=z;v=198}else{g=b;e=0;s=f;j=0;v=64}}while(0);e:do if((v|0)==64){f:do if((c[(c[y>>2]|0)+4>>2]|0)==4?(q=c[(c[F>>2]|0)+24>>2]|0,!((d&516|0)==0|(q|0)==0)):0){b=(D|0)<0;m=(B|0)<0;n=(C|0)==0;o=(B|0)<1;p=0-D|0;k=0;f=h;while(1){if((k|0)>=(q|0)){f=z;k=z;m=0;break}if(b)i=c[f+8>>2]|0;else i=f+p|0;i=i+A|0;if(m)i=c[i>>2]|0;do if(n)if(o){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=80;break}c[r+(k<<2)>>2]=i;f=c[((i|0)<0?f+4|0:f)>>2]|0;if(!f){e=0;break a}else k=k+1|0}if((v|0)==80)if(b){e=c[f+8>>2]|0;break a}else{e=f+p|0;break a}while(1){if((m|0)>=(q|0))break f;do if((c[r+(m<<2)>>2]|0)<0){i=h+4|0;b=c[i>>2]|0;if((c[r+((m|1)<<2)>>2]|0)<0){c[i>>2]=c[b>>2];c[b>>2]=h;c[f+4>>2]=b;f=b;h=k;i=b+4|0;break}else{c[k>>2]=b;c[f+4>>2]=h;f=h;h=b;i=b;break}}else{i=c[h>>2]|0;if((c[r+((m|1)<<2)>>2]|0)>0){p=i+4|0;c[h>>2]=c[p>>2];c[p>>2]=h;c[k>>2]=i;h=i;break}else{c[f+4>>2]=i;c[k>>2]=h;f=i;i=i+4|0;break}}while(0);k=h;m=m+2|0;h=c[i>>2]|0}}else{f=z;k=z}while(0);n=(D|0)<0;o=(B|0)<0;p=(C|0)!=0;q=(B|0)<1;r=0-D|0;i=h;g:while(1){h=i;while(1){if(n)i=c[h+8>>2]|0;else i=h+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if(!i){v=140;break g}if((i|0)>=0)break;b=h+4|0;m=c[b>>2]|0;if(!m){v=121;break g}if(n)i=c[m+8>>2]|0;else i=m+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>=0){v=118;break}c[b>>2]=c[m>>2];c[m>>2]=h;c[f+4>>2]=m;h=c[m+4>>2]|0;if(!h){f=m;h=k;v=198;break e}else f=m}if((v|0)==118){v=0;if(!i){v=119;break}c[k>>2]=m;c[f+4>>2]=h;i=c[m>>2]|0;if(!i){f=h;h=m;v=198;break e}else{f=h;k=m;continue}}b=c[h>>2]|0;if(!b){v=139;break}if(n)i=c[b+8>>2]|0;else i=b+r|0;i=i+A|0;if(o)i=c[i>>2]|0;do if(!p)if(q){i=b$(s,i)|0;break}else{i=L0(s,i,B)|0;break}else i=ob[C&127](a,s,i,E)|0;while(0);if((i|0)>0){i=b+4|0;c[h>>2]=c[i>>2];c[i>>2]=h;c[k>>2]=b;i=c[b>>2]|0;if(!i){h=b;v=198;break e}else{k=b;continue}}if(!i){v=137;break}c[f+4>>2]=b;c[k>>2]=h;i=c[b+4>>2]|0;if(!i){f=b;v=198;break e}else{f=b;k=h}}if((v|0)==119){c[f+4>>2]=h;f=h;h=m;v=141;break}else if((v|0)==121){c[f+4>>2]=h;f=h;h=k;v=198;break}else if((v|0)==137){c[k>>2]=h;k=h;h=b;v=141;break}else if((v|0)==139){c[k>>2]=h;v=198;break}else if((v|0)==140)if(!h){h=k;v=198;break}else{v=141;break}}while(0);do if((v|0)==141){c[t>>2]=c[t>>2]|32768;i=h+4|0;c[k>>2]=c[i>>2];c[f+4>>2]=c[h>>2];if(!(d&516)){if(d&8|0){c[i>>2]=c[z>>2];c[h>>2]=0;c[z>>2]=h;v=169;break}if(d&16|0){v=z+4|0;c[h>>2]=c[v>>2];c[i>>2]=0;c[v>>2]=h;v=175;break}if(!u){e=f;v=180;break d}if(d&2049|0){if(c[(c[y>>2]|0)+4>>2]&4|0){e=h;break}c[i>>2]=0;e=z+4|0;c[h>>2]=c[e>>2];c[e>>2]=h;e=h;v=205;break}if(!(d&32)){e=0;break a}if(!(c[(c[y>>2]|0)+4>>2]&4)){c[e+4>>2]=0;x=z+4|0;c[e>>2]=c[x>>2];c[x>>2]=j;e=(c[F>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;e=h;break}e=c[E+16>>2]|0;if(e|0)vb[e&127](a,g,E);if((c[x>>2]|0)<0){ob[c[a+12>>2]&127](a,j,0,E)|0;e=h}else e=h}else e=h}else if((v|0)==198){c[f+4>>2]=0;c[h>>2]=0;if(!(d&8))if(!(d&16)){if(d&516|0){e=f;break d}if(!(d&2049)){if(!(d&32)){g=0;e=f;break d}x=(c[F>>2]|0)+16|0;c[x>>2]=(c[x>>2]|0)+1}else{e=0;v=205}}else v=175;else v=169}while(0);if((v|0)==169){h=z+4|0;e=c[h>>2]|0;if(!e){e=f;break}while(1){f=e+4|0;g=c[f>>2]|0;if(!g)break;c[f>>2]=c[g>>2];c[g>>2]=e;e=g}c[h>>2]=c[e>>2]}else if((v|0)==175){e=c[z>>2]|0;if(!e){e=f;break}while(1){f=c[e>>2]|0;if(!f)break;x=f+4|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=f}c[z>>2]=c[e+4>>2]}else if((v|0)==205){i=E+12|0;h=c[i>>2]|0;j=(d&1|0)==0;if(!(j|(h|0)==0))g=nb[h&63](a,g,E)|0;do if(g){if((D|0)>-1){e=g+D|0;v=215;break}e=ob[c[a+12>>2]&127](a,0,12,E)|0;if(e|0){c[e+8>>2]=g;break}if((c[i>>2]|0)!=0?(w=c[E+16>>2]|0,!(j|(w|0)==0)):0){vb[w&127](a,g,E);v=215}else v=215}else v=215;while(0);if((v|0)==215)if(!e){e=f;break}f=(c[F>>2]|0)+16|0;g=c[f>>2]|0;if((g|0)>-1)c[f>>2]=g+1}c[e+4>>2]=c[z>>2];c[e>>2]=c[z+4>>2];h:do if(!((d&516|0)==0?1:(c[(c[y>>2]|0)+4>>2]&8|0)==0)){m=(D|0)<0;if(m)f=c[e+8>>2]|0;else f=e+(0-D)|0;n=(B|0)<0;f=f+A|0;if(n)f=c[f>>2]|0;j=(C|0)==0;k=(B|0)<1;b=0-D|0;while(1){i=e+4|0;g=c[i>>2]|0;if(!g)break h;while(1){h=c[g>>2]|0;if(!h)break;z=h+4|0;c[g>>2]=c[z>>2];c[z>>2]=g;g=h}c[i>>2]=g;if(m)h=c[g+8>>2]|0;else h=g+b|0;h=h+A|0;if(n)h=c[h>>2]|0;do if(j)if(k){h=b$(f,h)|0;break}else{h=L0(f,h,B)|0;break}else h=ob[C&127](a,f,h,E)|0;while(0);if(h|0)break h;c[i>>2]=c[g>>2];c[g>>2]=e;e=g}}while(0);c[(c[F>>2]|0)+4>>2]=e;if((D|0)<0){e=c[e+8>>2]|0;break a}else{e=e+(0-D)|0;break a}}while(0);if((v|0)==180){if((D|0)<0)g=c[h+8>>2]|0;else g=h+(0-D)|0;f=c[E+16>>2]|0;if(!((d&2|0)==0|(f|0)==0))vb[f&127](a,g,E);if((c[x>>2]|0)<0)ob[c[a+12>>2]&127](a,h,0,E)|0;a=(c[F>>2]|0)+16|0;E=c[a>>2]|0;c[a>>2]=(E|0)<1?-1:E+-1|0}do{f=e+4|0;e=c[f>>2]|0}while((e|0)!=0);c[f>>2]=c[z>>2];c[(c[F>>2]|0)+4>>2]=c[z+4>>2];e=d&2|0?g:0}while(0);l=G;return e|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(c[c[a+8>>2]>>2]&4096|0)Dw(a,0)|0;f=(b|0)!=0;if(f){if(c[c[b+8>>2]>>2]&4096|0)Dw(b,0)|0;if((c[b+16>>2]|0)==(c[a+16>>2]|0)){d=b;e=7}else b=0}else{d=0;e=7}a:do if((e|0)==7){while(1){if(!d)break;if((d|0)==(a|0)){b=0;break a}d=c[d+28>>2]|0;e=7}d=a+28|0;e=c[d>>2]|0;if(e|0){g=e+24|0;c[g>>2]=(c[g>>2]|0)+-1}c[a+32>>2]=0;c[d>>2]=0;if(f){c[d>>2]=b;c[a>>2]=25;g=b+24|0;c[g>>2]=(c[g>>2]|0)+1;break}else{c[a>>2]=c[c[a+16>>2]>>2];b=e;break}}while(0);return b|0}function Iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(d&99)){if((d&516|0)==0?(e=c[(c[a+16>>2]|0)+4>>2]|0,!((d&384|0)!=0&(e&12|0)==0)):0){if(e&12|0){if(!(d&408)){e=0;break}o=(d&136|0)!=0;p=(d&272|0)!=0;l=0;f=0;e=0;n=a;while(1){if(!n)break;m=nb[c[c[n+16>>2]>>2]&63](n,b,d)|0;do if(!m)g=l;else{h=c[n+4>>2]|0;i=c[h+4>>2]|0;j=c[h+20>>2]|0;g=m+(c[h>>2]|0)|0;if((i|0)<0)k=c[g>>2]|0;else k=g;if(e|0){do if(!j)if((i|0)<1){g=b$(k,f)|0;break}else{g=L0(k,f,i)|0;break}else g=ob[j&127](n,k,f,h)|0;while(0);if(!(o&(g|0)<0|p&(g|0)>0)){g=l;break}}g=n;f=k;e=m}while(0);l=g;n=c[n+28>>2]|0}c[a+32>>2]=l;break}if(!(d&24)){e=0;break}j=a+32|0;f=c[j>>2]|0;if(f){e=c[(c[f+4>>2]|0)+8>>2]|0;g=c[(c[f+8>>2]|0)+4>>2]|0;if((e|0)<0)e=c[g+8>>2]|0;else e=g+(0-e)|0;if((e|0)==(b|0))e=b;else{f=a;h=32}}else{f=a;h=32}do if((h|0)==32){while(1){if(!f){h=33;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,4)|0;if(e|0){h=36;break}f=c[f+28>>2]|0;h=32}if((h|0)==33){c[j>>2]=0;e=0;break a}else if((h|0)==36){c[j>>2]=f;break}}while(0);i=(d<<4&128^128)+128|0;e=nb[c[c[f+16>>2]>>2]&63](f,e,d)|0;while(1){h=f+16|0;while(1){if(!e)break;else g=a;while(1){if((g|0)==(f|0))break a;if(nb[c[c[g+16>>2]>>2]&63](g,e,4)|0)break;g=c[g+28>>2]|0}e=nb[c[c[h>>2]>>2]&63](f,e,d)|0}f=c[f+28>>2]|0;c[j>>2]=f;if(!f){e=0;break a}e=nb[c[c[f+16>>2]>>2]&63](f,0,i)|0}}else f=a;while(1){if(!f){f=0;e=0;break}e=nb[c[c[f+16>>2]>>2]&63](f,b,d)|0;if(e|0)break;f=c[f+28>>2]|0}c[a+32>>2]=f}else e=nb[c[c[a+16>>2]>>2]&63](a,b,d)|0;while(0);return e|0}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=a+32|0;f=nb[c[a>>2]&63](a,0,128)|0;do{if(!f){e=0;break}h=c[g>>2]|0;e=f;f=nb[c[a>>2]&63](a,f,8)|0;e=nb[b&63]((h|0)==0?a:h,e,d)|0}while((e|0)>=0);return e|0}function Kw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=a+4|0;n=c[f>>2]|0;a:do if(n)if(b){m=c[c[a+16>>2]>>2]|0;g=a+8|0;if(c[c[g>>2]>>2]&4096|0)Dw(a,0)|0;e=c[n+32>>2]|0;if(e|0?(ob[e&127](a,3,b,n)|0)<0:0){b=0;break}c[f>>2]=b;e=c[b+28>>2]|0;c[a+12>>2]=(e|0)==0?52:e;e=c[c[g>>2]>>2]|0;if(!(e&112)){do if(!(e&2))if(!(e&3))if(!(d&1))break;else{b=n;break a}else if((d&3|0)==3){b=n;break a}else break;else if(d&2|0){b=n;break a}while(0);h=Aw(a)|0;e=c[g>>2]|0;l=c[e>>2]|0;c[e>>2]=l&-4097;c[e+4>>2]=0;c[e+16>>2]=0;b:do if(l&3|0){l=c[e+8>>2]|0;f=l+(c[e+12>>2]<<2)|0;e=l;while(1){if(e>>>0>=f>>>0)break b;c[e>>2]=0;e=e+4|0}}while(0);i=(d&2|0)==0;j=b+8|0;k=b+4|0;l=b+24|0;while(1){if(!h){b=n;break a}d=c[h>>2]|0;if(i){e=c[j>>2]|0;if((e|0)<0)e=c[h+8>>2]|0;else e=h+(0-e)|0;g=c[k>>2]|0;e=e+(c[b>>2]|0)|0;if((g|0)<0)e=c[e>>2]|0;f=c[l>>2]|0;if(!f)e=Mw(0,e,g)|0;else e=nb[f&63](a,e,b)|0;c[h+4>>2]=e}nb[m&63](a,h,32)|0;h=d}}else b=n}else b=n;else{c[f>>2]=b;n=c[b+28>>2]|0;c[a+12>>2]=(n|0)==0?52:n}while(0);return b|0}function Lw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=(c|0)==0;do if(!b)if(a)a=0;else a=C_(c)|0;else if(a){D_(b);a=0;break}else{a=F_(b,c)|0;break}while(0);return a|0}function Mw(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=c;if((e|0)>=1){h=c+e+-1|0;g=(h>>>0<c>>>0?c:h)+(1-g)&-2;f=c;while(1){if(f>>>0>=h>>>0)break;b=O(((d[f>>0]|0)<<8)+b+(d[f+1>>0]|0)|0,17109811)|0;f=f+2|0}f=c+g|0;if(f>>>0>h>>>0)c=e;else{c=e;b=O(((d[f>>0]|0)<<8)+b|0,17109811)|0}}else{while(1){f=a[c>>0]|0;if(!(f<<24>>24))break;h=a[c+1>>0]|0;e=O(((f&255)<<8)+b+(h&255)|0,17109811)|0;b=e;c=c+(h<<24>>24?2:1)|0}c=c-g|0}return O(b+c|0,17109811)|0}function Nw(a){a=a|0;var b=0;b=c[46164]|0;c[46164]=a;return b|0}function Ow(a){a=a|0;var b=0;b=c[46165]|0;c[46165]=a;return b|0}function Pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Qw(a,b,f)|0;l=e;return d|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g;f=(a|0)==3;h=f?c[46167]|0:(a|0)==2?1:a;c[46167]=h;i=c[46168]|0;c[46168]=i>>>0>h>>>0?i:h;do if(h>>>0<(c[46165]|0)>>>0){a=c[46166]|0;if(!a){a=l3()|0;c[46166]=a;if(!a){a=1;break}}if(!f){o3(a)|0;a=c[46166]|0}r0(a,b,d)|0;a=0}else{if(c[46164]|0){Rw(a,b,d);a=0;break}if(f)a=c[15686]|0;else{i=c[15686]|0;c[e>>2]=(a|0)==1?93267:93273;g1(i,93281,e)|0;a=i}r0(a,b,d)|0;a=0}while(0);l=g;return a|0}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((c[46169]|0)==0?(f=C_(c[4564]|0)|0,c[46169]=f,(f|0)==0):0)D1(93286,c[15686]|0)|0;else e=4;do if((e|0)==4){if((a|0)!=3){kb[c[46164]&63]((a|0)==1?93267:93273)|0;kb[c[46164]&63](93945)|0}while(1){a=q0(c[46169]|0,c[4564]|0,b,d)|0;e=c[4564]|0;if((a|0)>-1&(a|0)<(e|0)){e=7;break}e=e<<1;f=a+1|0;f=(e|0)>(f|0)?e:f;c[4564]=f;if(!(F_(c[46169]|0,f)|0)){e=9;break}}if((e|0)==7){kb[c[46164]&63](c[46169]|0)|0;break}else if((e|0)==9){D1(93286,c[15686]|0)|0;break}}while(0);return}function Sw(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Qw(1,a,e)|0;l=d;return}function Tw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!e){e=(d|0)==0?1024:d;d=e;e=C_(e)|0;f=1}else f=0;c[b+12>>2]=f;c[b>>2]=e;c[b+8>>2]=e+d;c[b+4>>2]=e;a[e>>0]=0;return}function Uw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;f=c[a>>2]|0;g=(c[h>>2]|0)-f|0;e=g<<1;g=g+b|0;e=g>>>0>e>>>0?g:e;g=a+4|0;b=f;f=(c[g>>2]|0)-f|0;d=a+12|0;if(!(c[d>>2]|0)){i=C_(e)|0;F3(i|0,b|0,f|0)|0;c[d>>2]=1;b=i}else b=F_(b,e)|0;c[a>>2]=b;c[g>>2]=b+f;c[h>>2]=b+e;return 0}function Vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+4|0;e=c[f>>2]|0;if((e+d|0)>>>0>(c[a+8>>2]|0)>>>0){Uw(a,d)|0;e=c[f>>2]|0}F3(e|0,b|0,d|0)|0;c[f>>2]=(c[f>>2]|0)+d;return d|0}function Ww(a,b){a=a|0;b=b|0;return Vw(a,b,W_(b)|0)|0}function Xw(a){a=a|0;if(c[a+12>>2]|0)D_(c[a>>2]|0);return}function Yw(a){a=a|0;var b=0,e=0;b=a+4|0;e=c[b>>2]|0;if(e>>>0>(c[a>>2]|0)>>>0){c[b>>2]=e+-1;a=d[e>>0]|0}else a=-1;return a|0}function Zw(a,b,d){a=a|0;b=b|0;d=d|0;Qz(c[46171]|0,c[b+8>>2]|0)|0;Qz(c[46171]|0,c[b+12>>2]|0)|0;Ny(c[46171]|0,b);return}function _w(a,b){a=a|0;b=b|0;var c=0;c=yz(a,93334,0)|0;if((b|0)!=0&(c|0)==0){$w(a);c=yz(a,93334,0)|0}return c|0}function $w(a){a=a|0;var b=0,c=0,d=0;d=fz(a)|0;jB(d,d,104,0,1)|0;c=Sy(d)|0;while(1){if(!c)break;bx(a,c);b=Ex(d,c)|0;while(1){if(!b)break;cx(a,b);b=Gx(d,b)|0}c=Ty(d,c)|0}return}function ax(b){b=b|0;var c=0;c=b+24|0;a[c>>0]=a[c>>0]|64;hx(b);c=yA(b)|0;ex((c|0)==0?b:c,b);return}function bx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function cx(a,b){a=a|0;b=b|0;var d=0;d=dx(b)|0;if(!((d|0)!=0?(c[d+8>>2]|0)!=0:0))ex(a,b);return}function dx(a){a=a|0;return yz(a,93322,0)|0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Az(b,93322,16,0)|0;f=fx(a,c[b>>2]&3)|0;e=d+8|0;a:do if(!(c[e>>2]|0)){a=fz(a)|0;c[e>>2]=fx(a,c[b>>2]&3)|0;a=gx(b)|0;d=d+12|0;c[d>>2]=My(ez(b)|0,((a|0)>4?a:4)<<2)|0;a=nb[c[f>>2]&63](f,0,128)|0;while(1){if(!a)break a;e=ez(b)|0;e=Oz(e,c[a+12>>2]|0)|0;c[(c[d>>2]|0)+(c[a+16>>2]<<2)>>2]=e;a=nb[c[f>>2]&63](f,a,8)|0}}while(0);return}function fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;a=_w(a,0)|0;a:do if(!a)a=0;else switch(b|0){case 0:{a=c[a+16>>2]|0;break a}case 1:{a=c[a+8>>2]|0;break a}case 2:case 3:{a=c[a+12>>2]|0;break a}default:{c[d>>2]=b;Pw(1,93347,d)|0;a=0;break a}}while(0);l=e;return a|0}function gx(a){a=a|0;var b=0;b=fz(ez(a)|0)|0;a=fx(b,c[a>>2]&3)|0;if(!a)a=0;else a=Ew(a)|0;return a|0}function hx(a){a=a|0;var b=0,d=0,e=0,f=0;d=Az(a,93334,20,0)|0;e=d+8|0;c[e>>2]=CA(a,18260,c[4563]|0)|0;f=d+12|0;c[f>>2]=CA(a,18260,c[4563]|0)|0;d=d+16|0;c[d>>2]=CA(a,18260,c[4563]|0)|0;b=yA(a)|0;if(!b){b=c[46170]|0;if(!((b|0)==0|(b|0)==(a|0))){b=_w(b,0)|0;ix(c[b+8>>2]|0,c[e>>2]|0,a,1);ix(c[b+12>>2]|0,c[f>>2]|0,a,2);ix(c[b+16>>2]|0,c[d>>2]|0,a,0)}}else{a=_w(b,0)|0;Hw(c[e>>2]|0,c[a+8>>2]|0)|0;Hw(c[f>>2]|0,c[a+12>>2]|0)|0;Hw(c[d>>2]|0,c[a+16>>2]|0)|0}return}function ix(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=nb[c[b>>2]&63](b,0,128)|0;while(1){if(!g)break;h=jx(e,c[g+8>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,f)|0;a[h+22>>0]=a[g+22>>0]|0;a[h+21>>0]=a[g+21>>0]|0;nb[c[d>>2]&63](d,h,1)|0;g=nb[c[b>>2]&63](b,g,8)|0}return}function jx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=My(b,24)|0;a[h+20>>0]=g;c[h+8>>2]=Oz(b,d)|0;c[h+12>>2]=Oz(b,e)|0;c[h+16>>2]=f;return h|0}function kx(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+8>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function lx(a,b){a=a|0;b=b|0;var c=0;c=Hw(a,0)|0;b=kx(a,b)|0;Hw(a,c)|0;return b|0}function mx(a,b){a=a|0;b=b|0;a=dx(a)|0;if(!a)a=0;else a=kx(c[a+8>>2]|0,b)|0;return a|0}function nx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=l;l=l+16|0;g=h;if(!b){b=c[46170]|0;if(!b){a[g>>0]=a[18296]|0;a[g+1>>0]=a[18297]|0;a[g+2>>0]=a[18298]|0;a[g+3>>0]=a[18299]|0;b=Xx(0,g,0)|0;c[46170]=b}}if(!f)b=px(b,d,e)|0;else b=ox(b,d,e,f)|0;l=h;return b|0}function ox(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=fz(a)|0;_w(a,1)|0;g=fx(a,b)|0;f=lx(g,d)|0;a:do if(!f){f=kx(g,d)|0;if(f|0){f=jx(a,d,e,c[f+16>>2]|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;h=16;break}g=fx(i,b)|0;f=jx(a,d,e,Ew(g)|0,b)|0;nb[c[g>>2]&63](g,f,1)|0;switch(b|0){case 0:{jB(i,i,57,f,1)|0;h=16;break a}case 1:{d=Sy(i)|0;while(1){if(!d){h=16;break a}qx(a,d,f);d=Ty(i,d)|0}}case 2:case 3:{g=Sy(i)|0;while(1){if(!g){h=16;break a}d=Ex(i,g)|0;while(1){if(!d)break;qx(a,d,f);d=Gx(i,d)|0}g=Ty(i,g)|0}}default:break a}}else{h=f+12|0;Qz(a,c[h>>2]|0)|0;c[h>>2]=Oz(a,e)|0;h=16}while(0);if((h|0)==16)if((b|0)==0&(f|0)!=0)rx(a,f,e)|0;iz(a,a,f);return f|0}function px(a,b,c){a=a|0;b=b|0;c=c|0;a=fx(a,b)|0;if(!a)a=0;else a=kx(a,c)|0;return a|0}function qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;b=dx(b)|0;f=d+16|0;e=c[f>>2]|0;if((e|0)>3){g=c[a+64>>2]|0;b=b+12|0;e=e<<2;c[b>>2]=ob[c[(c[g>>2]|0)+8>>2]&127](c[g+12>>2]|0,c[b>>2]|0,e,e+4|0)|0}else b=b+12|0;g=Oz(a,c[d+12>>2]|0)|0;c[(c[b>>2]|0)+(c[f>>2]<<2)>>2]=g;return}function rx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=ez(a)|0;g=(dx(a)|0)+12|0;i=b+16|0;Qz(h,c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;f=Oz(h,d)|0;c[(c[g>>2]|0)+(c[i>>2]<<2)>>2]=f;do if(!(c[a>>2]&3)){e=c[(_w(h,0)|0)+16>>2]|0;f=b+8|0;g=lx(e,c[f>>2]|0)|0;if(!g){i=jx(h,c[f>>2]|0,d,c[i>>2]|0,c[a>>2]&3)|0;nb[c[e>>2]&63](e,i,1)|0;break}else{i=g+12|0;Qz(h,c[i>>2]|0)|0;c[i>>2]=Oz(h,d)|0;break}}while(0);iz(h,a,b);return 0}function sx(a,b,d){a=a|0;b=b|0;d=d|0;a=fx(a,b)|0;do if(a){b=c[a>>2]|0;if(!d){a=nb[b&63](a,0,128)|0;break}else{a=nb[b&63](a,d,8)|0;break}}else a=0;while(0);return a|0}function tx(a){a=a|0;var b=0;c[46171]=a;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,c[b>>2]|0)|0}b=_w(a,0)|0;if(b)if(((EA(a,c[b+8>>2]|0)|0)==0?(EA(a,c[b+12>>2]|0)|0)==0:0)?(EA(a,c[b+16>>2]|0)|0)==0:0){Cz(a,c[b>>2]|0)|0;b=0}else b=1;else b=0;return b|0}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=ez(a)|0;e=gx(a)|0;b=b+12|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(e|0))break;Qz(f,c[d+(a<<2)>>2]|0)|0;a=a+1|0}Ny(f,d);return}function vx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function wx(a){a=a|0;var b=0;b=dx(a)|0;if(b|0){ux(a,b);Cz(a,93322)|0}return}function xx(a,b){a=a|0;b=b|0;b=mx(a,b)|0;if(!b)b=0;else{a=c[(dx(a)|0)+12>>2]|0;b=c[a+(c[b+16>>2]<<2)>>2]|0}return b|0}function yx(a,b){a=a|0;b=b|0;a=c[(dx(a)|0)+12>>2]|0;return c[a+(c[b+16>>2]<<2)>>2]|0}function zx(a,b,c){a=a|0;b=b|0;c=c|0;b=mx(a,b)|0;if(!b)b=-1;else{rx(a,b,c)|0;b=0}return b|0}function Ax(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=ez(a)|0;f=nx(f,c[a>>2]&3,b,0)|0;if(!f){f=ez(a)|0;f=nx(f,c[a>>2]&3,b,e)|0}rx(a,f,d)|0;return 0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=ez(a)|0;f=c[a>>2]|0;a:do if(!((c[b>>2]^f)&3)){d=1;e=0;while(1){e=sx(g,f&3,e)|0;if(!e)break a;d=mx(b,c[e+8>>2]|0)|0;if(!d){d=1;break a}f=yx(a,e)|0;rx(b,d,f)|0;if(Rz(f)|0)Sz(yx(b,d)|0);d=0;f=c[a>>2]|0}}else d=1;while(0);return d|0}function Cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;f=c[d+40>>2]|0;if((a|0)==(f|0)){e=(c[b>>2]|0)>>>4;a=(c[d>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}else{e=(c[a>>2]|0)>>>4;a=(c[f>>2]|0)>>>4;if(e>>>0>=a>>>0)if(e>>>0>a>>>0)a=1;else g=6;else a=-1}if((g|0)==6)a=0;return a|0}function Dx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;a=(c[b+40>>2]|0)+8|0;g=c[a>>2]|0;a=c[a+4>>2]|0;f=(c[d+40>>2]|0)+8|0;e=c[f>>2]|0;f=c[f+4>>2]|0;do if(!(a>>>0<f>>>0|(a|0)==(f|0)&g>>>0<e>>>0))if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>e>>>0)a=1;else{e=b+8|0;a=c[e>>2]|0;e=c[e+4>>2]|0;if(!((a|0)==0&(e|0)==0)?(i=d+8|0,h=c[i>>2]|0,i=c[i+4>>2]|0,!((h|0)==0&(i|0)==0)):0){if(e>>>0<i>>>0|(e|0)==(i|0)&a>>>0<h>>>0){a=-1;break}if(e>>>0>i>>>0|(e|0)==(i|0)&a>>>0>h>>>0){a=1;break}}a=0}else a=-1;while(0);return a|0}function Ex(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+32|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+48|0;d=e;if((c[b+24>>2]|0)==(a|0))a=b+28|0;else{c[d+16>>2]=b;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,d,4)|0}l=e;return a|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+32|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Hx(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if(!b)b=0;else{d=a+44|0;a=b+28|0;Dw(c[d>>2]|0,c[a>>2]|0)|0;b=c[d>>2]|0;b=nb[c[b>>2]&63](b,0,128)|0;c[a>>2]=zw(c[d>>2]|0)|0}return b|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0;d=Fx(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;if(!d)a=0;else{e=a+44|0;d=d+28|0;Dw(c[e>>2]|0,c[d>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,b,8)|0;c[d>>2]=zw(c[e>>2]|0)|0}return a|0}function Jx(a,b){a=a|0;b=b|0;var c=0;c=Ex(a,b)|0;if(!c)c=Hx(a,b)|0;return c|0}function Kx(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((c[b>>2]&3|0)==2){b=Gx(a,b)|0;if(!b){b=0;do{if(!b)b=Hx(a,d)|0;else b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0))}}else do{b=Ix(a,b)|0;if(!b){b=0;break a}}while((c[b+40>>2]|0)==(d|0));while(0);return b|0}function Lx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+32|0;f=h+16|0;g=h;if((gy(a)|0)!=0?(c[g>>2]=0,c[g+4>>2]=0,c[g+8>>2]=0,c[g+12>>2]=0,c[f>>2]=c[g>>2],c[f+4>>2]=c[g+4>>2],c[f+8>>2]=c[g+8>>2],c[f+12>>2]=c[g+12>>2],(Px(a,b,e,f)|0)!=0):0)f=0;else f=((d[a+24>>0]|0)>>>2&1^1)&255|(b|0)!=(e|0);l=h;return f|0}function Mx(a,b){a=a|0;b=b|0;Ox(a,b);return}function Nx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;Xy(b,d,1)|0;Xy(b,e,1)|0;h=My(b,96)|0;i=h+48|0;l=_x(b,2)|0;j=c[i>>2]|0;k=c[h>>2]|0;m=h+8|0;c[m>>2]=f;c[m+4>>2]=g;m=h+56|0;c[m>>2]=f;c[m+4>>2]=g;g=l<<4;c[h>>2]=k&12|g|2;c[i>>2]=j&12|g|3;c[h+88>>2]=d;c[h+40>>2]=e;Ox(b,h);if(a[b+24>>0]&64){Az(h,93322,16,0)|0;cx(b,h)}gz(b,h);return h|0}function Ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+16|0;d=i;h=c[b>>2]&3;g=(h|0)==2?b:b+-48|0;h=(h|0)==3?b:b+48|0;e=c[h+40>>2]|0;f=c[g+40>>2]|0;while(1){if(!a)break;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];if(Px(a,e,f,d)|0)break;j=Fx(a,e)|0;m=a+44|0;Qx(c[m>>2]|0,j+32|0,g);k=a+48|0;Qx(c[k>>2]|0,j+24|0,g);j=Fx(a,f)|0;Qx(c[m>>2]|0,j+28|0,h);Qx(c[k>>2]|0,j+20|0,h);a=yA(a)|0}l=i;return}function Px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+48|0;f=h;if(!((b|0)==0|(d|0)==0)?(c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+40>>2]=b,g=Fx(a,d)|0,(g|0)!=0):0){e=a+48|0;g=g+20|0;Dw(c[e>>2]|0,c[g>>2]|0)|0;a=c[e>>2]|0;a=nb[c[a>>2]&63](a,f,4)|0;c[g>>2]=zw(c[e>>2]|0)|0}else a=0;l=h;return a|0}function Qx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,1)|0;c[b>>2]=zw(a)|0;return}function Rx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;i=n+24|0;k=n+16|0;j=n;do if(!(oy(a,2,e,k,0)|0))if(!e){if(f|0?(gy(a)|0)==0:0){m=18;break};c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;m=7}else m=17;else{o=j;c[o>>2]=0;c[o+4>>2]=0;o=k;g=c[o+4>>2]|0;m=j+8|0;c[m>>2]=c[o>>2];c[m+4>>2]=g;c[j>>2]=2;m=7}while(0);a:do if((m|0)==7){c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(a,b,d,i)|0;b:do if(!g){if(fy(a)|0?(c[i>>2]=c[j>>2],c[i+4>>2]=c[j+4>>2],c[i+8>>2]=c[j+8>>2],c[i+12>>2]=c[j+12>>2],h=Px(a,d,b,i)|0,h|0):0){g=h;break}do if(f|0){g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,b,d,i)|0;if(!g){if(!(fy(a)|0))break;g=fz(a)|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];g=Px(g,d,b,i)|0;if(!g)break}Mx(a,g);break b}while(0);m=17;break a}while(0)}while(0);if((m|0)==17)if(!f)g=0;else m=18;if((m|0)==18)if((Lx(a,b,d)|0)!=0?(oy(a,2,e,k,1)|0)!=0:0){g=k;g=Nx(a,b,d,c[g>>2]|0,c[g+4>>2]|0)|0;sy(a,2,g)}else g=0;l=n;return g|0}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=(c[b>>2]&3|0)==3;g=d?b+-48|0:b;d=d?b:b+48|0;b=c[g+40>>2]|0;h=Fx(a,c[d+40>>2]|0)|0;f=a+44|0;Tx(c[f>>2]|0,h+32|0,g);e=a+48|0;Tx(c[e>>2]|0,h+24|0,g);b=Fx(a,b)|0;Tx(c[f>>2]|0,b+28|0,d);Tx(c[e>>2]|0,b+20|0,d);return}function Tx(a,b,d){a=a|0;b=b|0;d=d|0;Dw(a,c[b>>2]|0)|0;nb[c[a>>2]&63](a,d,2)|0;c[b>>2]=zw(a)|0;return}function Ux(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e;d=(c[d>>2]&3|0)==2?d:d+-48|0;g=c[d>>2]&3;h=c[((g|0)==3?d:d+48|0)+40>>2]|0;g=c[((g|0)==2?d:d+-48|0)+40>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];if(Px(b,h,g,f)|0){if((fz(b)|0)==(b|0)){if(a[b+24>>0]&64)wx(d);kz(b,d);Iz(d);h=d+8|0;qy(b,2,c[h>>2]|0,c[h+4>>2]|0)}if(!(jB(b,d,58,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);d=0}else d=0;else d=-1}else d=-1;l=e;return d|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;f=Xy(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0,d)|0;g=Xy(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0,d)|0;do if((f|0)!=0&(g|0)!=0){c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];e=Px(a,f,g,e)|0;f=(e|0)==0;if(!((d|0)!=0&f)){if(f)break}else{Ox(a,b);e=b}d=c[e>>2]&3;l=h;return ((d|0)==(c[b>>2]&3|0)?e:e+(((d|0)==3?-1:1)*48|0)|0)|0}while(0);l=h;return 0}function Wx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+8|0;e=d+8|0;e=t3(c[b>>2]|0,c[b+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;return ((e|0)==0?0:e>>31|1)|0}function Xx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;j=Yx(e)|0;f=lb[c[(c[j>>2]|0)+4>>2]&127](c[j+12>>2]|0,72)|0;c[f>>2]=c[f>>2]&-4;i=f+64|0;c[i>>2]=j;k=f+24|0;d=c[d>>2]|0;c[k>>2]=d;a[k>>0]=d&255|8;c[f+60>>2]=f;e=lb[c[c[j+4>>2]>>2]&127](f,e)|0;c[(c[i>>2]|0)+16>>2]=e;if(oy(f,0,b,g,1)|0){i=g;j=c[i+4>>2]|0;k=f+8|0;c[k>>2]=c[i>>2];c[k+4>>2]=j}k=Zx(f)|0;sy(k,0,f);l=h;return k|0}function Yx(b){b=b|0;var d=0,e=0,f=0,g=0;d=(b|0)!=0;if(d){e=c[b>>2]|0;e=(e|0)==0?18632:e}else e=18632;g=kb[c[e>>2]&63](b)|0;f=lb[c[e+4>>2]&127](g,80)|0;c[f>>2]=e;c[f+12>>2]=g;if(d){g=c[b+4>>2]|0;c[f+4>>2]=(g|0)==0?18508:g;b=c[b+8>>2]|0;b=(b|0)==0?18608:b}else{c[f+4>>2]=18508;b=18608}c[f+8>>2]=b;a[f+52>>0]=1;return f|0}function Zx(b){b=b|0;var d=0,e=0;c[b+36>>2]=CA(b,18688,c[4563]|0)|0;c[b+40>>2]=CA(b,18652,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+44>>2]=CA(b,d?18300:18336,c[4563]|0)|0;d=(fz(b)|0)==(b|0);c[b+48>>2]=CA(b,d?18372:18408,c[4563]|0)|0;c[b+52>>2]=CA(b,18444,c[4563]|0)|0;d=yA(b)|0;if(!((d|0)!=0?(e=_x(d,0)|0,c[b>>2]=c[b>>2]&15|e<<4,e=c[d+52>>2]|0,nb[c[e>>2]&63](e,b,1)|0,!(a[d+24>>0]&64)):0))ax(b);gz(b,b);return b|0}function _x(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;a=z;c[d>>2]=b;c[d+4>>2]=a;z=a;return b|0}function $x(b){b=b|0;var d=0,e=0,f=0,g=0;f=yA(b)|0;g=(f|0)==0;if(g?(d=b+64|0,(c[(c[c[d>>2]>>2]|0)+16>>2]|0)!=0):0){kz(b,b);g=b+8|0;qy(b,0,c[g>>2]|0,c[g+4>>2]|0);d=c[d>>2]|0;tb[c[(c[d>>2]|0)+16>>2]&127](c[d+12>>2]|0);d=0}else e=4;do if((e|0)==4){d=wA(b)|0;while(1){if(!d)break;e=xA(d)|0;$x(d)|0;d=e}d=Sy(b)|0;while(1){if(!d)break;e=Ty(b,d)|0;cz(b,d)|0;d=e}By(b);kz(b,b);if(((((EA(b,c[b+40>>2]|0)|0)==0?(EA(b,c[b+36>>2]|0)|0)==0:0)?(EA(b,c[b+48>>2]|0)|0)==0:0)?(EA(b,c[b+44>>2]|0)|0)==0:0)?(EA(b,c[b+52>>2]|0)|0)==0:0){if(a[b+24>>0]&64?tx(b)|0:0){d=-1;break}Iz(b);e=b+8|0;qy(b,0,c[e>>2]|0,c[e+4>>2]|0);if(!g){zA(f,b)|0;Ny(f,b);d=0;break}d=b+64|0;while(1){e=c[d>>2]|0;f=c[e+48>>2]|0;if(!f)break;nz(b,c[f>>2]|0)|0}tb[c[(c[e+4>>2]|0)+20>>2]&127](c[e+16>>2]|0);if(!(Jz(b)|0)){d=c[d>>2]|0;g=c[d+12>>2]|0;f=(c[d>>2]|0)+12|0;ub[c[f>>2]&63](g,b);ub[c[f>>2]&63](g,d);d=0}else d=-1}else d=-1}while(0);return d|0}function ay(a){a=a|0;return Ew(c[a+40>>2]|0)|0}function by(a){a=a|0;var b=0,c=0,d=0;b=0;c=Sy(a)|0;while(1){if(!c)break;d=(cy(a,c,0,1)|0)+b|0;b=d;c=Ty(a,c)|0}return b|0}function cy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=Fx(a,b)|0;if(f){if(!e)b=0;else b=dy(c[a+44>>2]|0,f+32|0)|0;if(d)b=(dy(c[a+44>>2]|0,f+28|0)|0)+b|0}else b=0;return b|0}function dy(a,b){a=a|0;b=b|0;var d=0;Dw(a,c[b>>2]|0)|0;d=Ew(a)|0;c[b>>2]=zw(a)|0;return d|0}function ey(b){b=b|0;return a[b+24>>0]&1|0}function fy(a){a=a|0;return (ey(a)|0)==0|0}function gy(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}function hy(a,b){a=a|0;b=b|0;return a|0}function iy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){f=1392;d=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=d;c[e+4>>2]=f;f=s3(d|0,f|0,2,0)|0;e=1392;c[e>>2]=f;c[e+4>>2]=z}else{if(!f)a=Lz(a,d)|0;else a=Oz(a,d)|0;c[e>>2]=a;c[e+4>>2]=0}return 1}function jy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}function ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)Qz(a,c)|0;return}function ly(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0)|0}function my(a){a=a|0;return}function ny(a,b,c){a=a|0;b=b|0;c=c|0;return}function oy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(e|0)!=0;do if(i){if((a[e>>0]|0)!=37?(h=c[b+64>>2]|0,h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,e,f,g)|0,h|0):0)break;h=ty(b,d,e,f)|0;if(!h)j=5}else j=5;while(0);if((j|0)==5)if(g){h=c[b+64>>2]|0;h=pb[c[(c[h+4>>2]|0)+4>>2]&127](c[h+16>>2]|0,d,0,f,g)|0;if(i&(h|0)!=0){j=f;uy(b,d,e,c[j>>2]|0,c[j+4>>2]|0)}}else h=0;return h|0}function py(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return ob[c[(c[a+4>>2]|0)+8>>2]&127](c[a+16>>2]|0,b,d,e)|0}function qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;zy(a,b,d,e)|0;a=c[a+64>>2]|0;xb[c[(c[a+4>>2]|0)+12>>2]&31](c[a+16>>2]|0,b,d,e);return}function ry(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=ez(a)|0;f=a+8|0;b=f;b=xy(d,c[a>>2]&3,c[b>>2]|0,c[b+4>>2]|0)|0;do if(!b){b=c[d+64>>2]|0;d=c[(c[b+4>>2]|0)+16>>2]|0;if(d|0?(e=f,e=ob[d&127](c[b+16>>2]|0,c[a>>2]&3,c[e>>2]|0,c[e+4>>2]|0)|0,e|0):0){b=e;break}if((c[a>>2]&3|0)==2)b=0;else{e=c[f>>2]|0;f=c[f+4>>2]|0;c[g>>2]=37;b=g+8|0;c[b>>2]=e;c[b+4>>2]=f;Y0(191693,93374,g)|0;b=191693}}while(0);l=h;return b|0}function sy(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;vb[c[(c[a+4>>2]|0)+24>>2]&127](c[a+16>>2]|0,b,d);return}function ty(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;b=c[(c[a+64>>2]|0)+56+(((b|0)==3?2:b)<<2)>>2]|0;if(((b|0)!=0?(f=Lz(a,d)|0,(f|0)!=0):0)?(c[h+24>>2]=f,g=nb[c[b>>2]&63](b,h,4)|0,(g|0)!=0):0){d=g+16|0;h=c[d+4>>2]|0;b=e;c[b>>2]=c[d>>2];c[b+4>>2]=h;b=1}else b=0;l=i;return b|0}function uy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=My(a,32)|0;g=h+16|0;c[g>>2]=e;c[g+4>>2]=f;c[h+24>>2]=Oz(a,d)|0;e=(b|0)==3?2:b;g=a+64|0;d=c[g>>2]|0;b=c[d+56+(e<<2)>>2]|0;if(!b){f=CA(a,18536,c[4563]|0)|0;c[(c[g>>2]|0)+56+(e<<2)>>2]=f;b=c[g>>2]|0}else{f=b;b=d}b=c[b+68+(e<<2)>>2]|0;if(!b){b=CA(a,18572,c[4563]|0)|0;c[(c[g>>2]|0)+68+(e<<2)>>2]=b}nb[c[f>>2]&63](f,h,1)|0;nb[c[b>>2]&63](b,h,1)|0;return}function vy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+16|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=d+16|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0?1:(a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0)<<31>>31)|0}function wy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b+24>>2]|0;e=c[d+24>>2]|0;return (b>>>0>e>>>0?1:(b>>>0<e>>>0)<<31>>31)|0}function xy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=yy(a,b,d,e)|0;if(!a)a=0;else a=c[a+24>>2]|0;return a|0}function yy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;a=c[(c[a+64>>2]|0)+68+(((b|0)==3?2:b)<<2)>>2]|0;if(!a)a=0;else{b=f+16|0;c[b>>2]=d;c[b+4>>2]=e;a=nb[c[a>>2]&63](a,f,4)|0}l=g;return a|0}function zy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=(b|0)==3?2:b;b=yy(a,f,d,e)|0;if(!b)b=0;else{e=a+64|0;d=c[(c[e>>2]|0)+56+(f<<2)>>2]|0;nb[c[d>>2]&63](d,b,2)|0;e=c[(c[e>>2]|0)+68+(f<<2)>>2]|0;nb[c[e>>2]&63](e,b,2)|0;Qz(a,c[b+24>>2]|0)|0;Ny(a,b);b=1}return b|0}function Ay(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;c[46171]=b;g=c[b+64>>2]|0;f=0;while(1){if((f|0)==3)break;h=g+56+(f<<2)|0;d=c[h>>2]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;e=c[h>>2]|0;e=nb[c[e>>2]&63](e,d,8)|0;if((a[c[d+24>>2]>>0]|0)!=37){d=e;continue}i=d+16|0;zy(b,f,c[i>>2]|0,c[i+4>>2]|0)|0;d=e}}while(0);f=f+1|0}return}function By(a){a=a|0;c[46171]=a;a=a+64|0;Cy((c[a>>2]|0)+56|0);Cy((c[a>>2]|0)+68|0);return}function Cy(a){a=a|0;var b=0,d=0,e=0;b=0;while(1){if((b|0)==3)break;d=a+(b<<2)|0;e=c[d>>2]|0;if(e|0){yw(e)|0;c[d>>2]=0}b=b+1|0}return}function Dy(a,b,c){a=a|0;b=b|0;c=c|0;if(!(O0(b,c,a)|0))a=0;else a=W_(b)|0;return a|0}function Ey(a,b){a=a|0;b=b|0;return D1(b,a)|0}function Fy(a){a=a|0;return w1(a)|0}function Gy(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+32|0;e=b+12|0;d=b;c[4656]=c[4653];c[4657]=c[4654];c[e>>2]=a;c[e+4>>2]=W_(a)|0;c[e+8>>2]=0;c[d>>2]=18632;c[d+4>>2]=18508;c[d+8>>2]=18620;a=TB(e,d)|0;Uz(0);l=b;return a|0}function Hy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=b+8|0,f=c[h>>2]|0,(f|0)<(c[b+4>>2]|0)):0){i=(c[b>>2]|0)+f|0;b=0;g=a[i>>0]|0;f=d;d=i;while(1){d=d+1|0;a[f>>0]=g;b=b+1|0;if(!(g<<24>>24!=10&(b|0)<(e|0)))break;g=a[d>>0]|0;if(!(g<<24>>24))break;else f=f+1|0}c[h>>2]=(c[h>>2]|0)+b}else b=0;return b|0}function Iy(a){a=a|0;return 0}function Jy(a,b){a=a|0;b=b|0;a=C_(b)|0;H3(a|0,0,b|0)|0;return a|0}function Ky(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=F_(b,d)|0;if(d>>>0>c>>>0)H3(a+c|0,0,d-c|0)|0;return a|0}function Ly(a,b){a=a|0;b=b|0;D_(b);return}function My(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;a=c[a+64>>2]|0;a=lb[c[(c[a>>2]|0)+4>>2]&127](c[a+12>>2]|0,b)|0;if(!a)Pw(1,93380,d)|0;l=d;return a|0}function Ny(a,b){a=a|0;b=b|0;if(b|0){a=c[a+64>>2]|0;ub[c[(c[a>>2]|0)+12>>2]&63](c[a+12>>2]|0,b)}return}function Oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+16>>2]|0)+8|0;b=c[a>>2]|0;a=c[a+4>>2]|0;d=(c[d+16>>2]|0)+8|0;e=c[d>>2]|0;d=c[d+4>>2]|0;return (a>>>0<d>>>0|(a|0)==(d|0)&b>>>0<e>>>0?-1:(a>>>0>d>>>0|(a|0)==(d|0)&b>>>0>e>>>0)&1)|0}function Py(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))Ny(c[a+24>>2]|0,b);return}function Qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[c[b+16>>2]>>2]|0)>>>4;e=(c[c[d+16>>2]>>2]|0)>>>4;return (b>>>0<e>>>0?-1:b>>>0>e>>>0&1)|0}function Ry(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=183176;c[e>>2]=b;c[e+4>>2]=d;c[46176]=183168;a=c[a+40>>2]|0;a=nb[c[a>>2]&63](a,184688,4)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Sy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,128)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Ty(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,8)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Uy(a){a=a|0;a=c[a+36>>2]|0;a=nb[c[a>>2]&63](a,0,256)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Vy(a,b){a=a|0;b=b|0;var d=0;b=Fx(a,b)|0;if((b|0)!=0?(d=c[a+36>>2]|0,d=nb[c[d>>2]&63](d,b,16)|0,(d|0)!=0):0)b=c[d+16>>2]|0;else b=0;return b|0}function Wy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=Ry(a,b,c)|0;do if((d|0)!=0&(e|0)==0){e=fz(a)|0;if((e|0)!=(a|0)?(f=Ry(e,b,c)|0,f|0):0){Xy(a,f,1)|0;e=f;break}if(!(py(a,1,b,c)|0))e=0;else{e=_x(a,1)|0;e=Yy(a,b,c,e,z)|0;Zy(a,e);_y(a,e)}}while(0);return e|0}function Xy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=fz(a)|0;if((e|0)==(c[b+24>>2]|0)){e=b+8|0;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if((d|0)!=0&(e|0)==0){e=yA(a)|0;if(!e)e=0;else{d=Xy(e,b,d)|0;$y(a,d);return d|0}}}else e=0;return e|0}function Yy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=My(b,64)|0;h=c[g>>2]|0;i=g+8|0;c[i>>2]=d;c[i+4>>2]=e;c[g>>2]=h&12|f<<4|1;c[g+24>>2]=fz(b)|0;if(a[(fz(b)|0)+24>>0]&64)Az(g,93322,16,0)|0;return g|0}function Zy(a,b){a=a|0;b=b|0;do{$y(a,b);a=yA(a)|0}while((a|0)!=0);return}function _y(b,c){b=b|0;c=c|0;if(a[(fz(b)|0)+24>>0]&64)bx(b,c);gz(b,c);return}function $y(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+40|0;Ew(c[e>>2]|0)|0;if((fz(a)|0)==(a|0))d=b+28|0;else d=My(a,36)|0;c[d+16>>2]=b;e=c[e>>2]|0;nb[c[e>>2]&63](e,d,1)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,d,1)|0;return}function az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;h=fz(a)|0;if(oy(a,1,b,g,0)|0){e=g;e=Ry(a,c[e>>2]|0,c[e+4>>2]|0)|0;if(!e)if(!((d|0)==0|(h|0)==(a|0))?(f=g,f=Ry(h,c[f>>2]|0,c[f+4>>2]|0)|0,(f|0)!=0):0)e=Xy(a,f,1)|0;else i=6}else i=6;if((i|0)==6)if((d|0)!=0?(oy(a,1,b,g,1)|0)!=0:0){i=g;h=c[i>>2]|0;i=c[i+4>>2]|0;e=_x(a,1)|0;e=Yy(a,h,i,e,z)|0;Zy(a,e);_y(a,e);sy(a,1,e)}else e=0;l=j;return e|0}function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[46185]=b;d=Jx(a,b)|0;while(1){if(!d)break;e=Kx(a,d,b)|0;Sx(a,d,0);d=e}e=c[a+40>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;e=c[a+36>>2]|0;nb[c[e>>2]&63](e,184724,2)|0;return}function cz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d+8|0;e=f;if(Ry(b,c[e>>2]|0,c[e+4>>2]|0)|0){if((fz(b)|0)==(b|0)){e=Jx(b,d)|0;while(1){if(!e)break;g=Kx(b,e,d)|0;Ux(b,e)|0;e=g}if(a[b+24>>0]&64)vx(d);kz(b,d);Iz(d);g=f;qy(b,1,c[g>>2]|0,c[g+4>>2]|0)}if(!(jB(b,d,59,0,0)|0))if((fz(b)|0)==(b|0)){Ny(b,d);e=0}else e=0;else e=-1}else e=-1;return e|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h;d=c[b>>2]|0;do if(!(d&3))if((yA(b)|0)==(a|0)){d=c[b>>2]|0;g=5;break}else{Pw(1,93406,e)|0;f=-1;break}else g=5;while(0);a:do if((g|0)==5)switch(d&3){case 1:{f=cz(a,b)|0;break a}case 2:case 3:{f=Ux(a,b)|0;break a}case 0:{f=$x(b)|0;break a}default:{}}while(0);l=h;return f|0}function ez(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=c[(c[a+40>>2]|0)+24>>2]|0;break}case 1:{b=c[a+24>>2]|0;break}case 0:{b=a;break}default:{}}return b|0}function fz(a){a=a|0;var b=0;switch(c[a>>2]&3){case 2:case 3:{b=(c[a+40>>2]|0)+24|0;break}case 1:{b=a+24|0;break}case 0:{b=a+60|0;break}default:{}}return c[b>>2]|0}function gz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,100,0);else hz(b,d,c[e+48>>2]|0);return}function hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){hz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=c[d>>2]|0;break}case 1:{e=(c[d>>2]|0)+12|0;break}case 2:{e=(c[d>>2]|0)+24|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function iz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>>0]|0))qz(b,d,101,e);else jz(b,d,e,c[f+48>>2]|0);return}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e|0){jz(a,b,d,c[e+8>>2]|0);switch(c[b>>2]&3){case 0:{f=(c[e>>2]|0)+4|0;break}case 1:{f=(c[e>>2]|0)+16|0;break}case 2:{f=(c[e>>2]|0)+28|0;break}default:break a}f=c[f>>2]|0;if(f|0)xb[f&31](a,b,c[e+4>>2]|0,d)}while(0);return}function kz(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))qz(b,d,102,0);else lz(b,d,c[e+48>>2]|0);return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d|0){lz(a,b,c[d+8>>2]|0);switch(c[b>>2]&3){case 0:{e=(c[d>>2]|0)+8|0;break}case 1:{e=(c[d>>2]|0)+20|0;break}case 2:{e=(c[d>>2]|0)+32|0;break}default:break a}e=c[e>>2]|0;if(e|0)vb[e&127](a,b,c[d+4>>2]|0)}while(0);return}function mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(a,12)|0;c[e>>2]=b;c[e+4>>2]=d;d=(c[a+64>>2]|0)+48|0;c[e+8>>2]=c[d>>2];c[d>>2]=e;return}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e>>2]|0;a:do if(!d)d=-1;else{if((c[d>>2]|0)!=(b|0)){while(1){if(!d){d=-1;break a}e=d+8|0;f=c[e>>2]|0;if((c[f>>2]|0)==(b|0))break;else d=f}if(f)c[e>>2]=c[f+8>>2]}else c[e>>2]=c[d+8>>2];Ny(a,d);d=0}while(0);return d|0}function oz(a,b){a=a|0;b=b|0;var d=0;d=fz(a)|0;a:do if((d|0)==(fz(b)|0))switch(c[b>>2]&3){case 0:{while(1){if((b|0)==(a|0)){b=1;break a}b=yA(b)|0;if(!b){b=0;break}}break}case 1:{b=b+8|0;b=(Wy(a,c[b>>2]|0,c[b+4>>2]|0,0)|0)!=0;break a}default:{b=(Vx(a,b,0)|0)!=0;break a}}else b=0;while(0);return b&1|0}function pz(a){a=a|0;return c[a>>2]&3|0}function qz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=Az(a,93430,44,0)|0;switch(c|0){case 100:{e=rz(f,b,100)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}case 101:{if(((sz(rz(f,b,100)|0,b)|0)==0?(sz(rz(f,b,102)|0,b)|0)==0:0)?(e=rz(f,b,101)|0,(sz(e,b)|0)==0):0)tz(e,a,b,d)|0;break}case 102:{uz(rz(f,b,100)|0,b);uz(rz(f,b,101)|0,b);e=rz(f,b,102)|0;if(!(sz(e,b)|0))tz(e,a,b,d)|0;break}default:Pw(1,93442,g)|0}l=h;return}function rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;a:do switch(c[b>>2]&3){case 0:switch(d|0){case 100:{d=a+8|0;break a}case 101:{d=a+20|0;break a}case 102:{d=a+32|0;break a}default:{f=14;break a}}case 1:switch(d|0){case 100:{d=a+12|0;break a}case 101:{d=a+24|0;break a}case 102:{d=a+36|0;break a}default:{f=14;break a}}case 2:switch(d|0){case 100:{d=a+16|0;break a}case 101:{d=a+28|0;break a}case 102:{d=a+40|0;break a}default:{f=14;break a}}default:f=14}while(0);if((f|0)==14){Pw(1,93476,e)|0;d=0}a=c[d>>2]|0;if(!a){a=ez(b)|0;a=CA(a,18724,c[4563]|0)|0;c[d>>2]=a}l=g;return a|0}function sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+32|0;e=d;f=vz(b)|0;b=e+8|0;c[b>>2]=f;c[b+4>>2]=z;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function tz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=My(ez(d)|0,32)|0;c[f+20>>2]=d;g=vz(d)|0;d=f+8|0;c[d>>2]=g;c[d+4>>2]=z;c[f+16>>2]=b;if(e|0){g=My(b,8)|0;c[f+24>>2]=g;c[g>>2]=e}nb[c[a>>2]&63](a,f,1)|0;return f|0}function uz(a,b){a=a|0;b=b|0;b=sz(a,b)|0;if(b|0)nb[c[a>>2]&63](a,b,2)|0;return}function vz(a){a=a|0;a=a+8|0;z=c[a+4>>2]|0;return c[a>>2]|0}function wz(a,b,d){a=a|0;b=b|0;d=d|0;xz(b);Ny(c[b+16>>2]|0,b);return}function xz(a){a=a|0;var b=0,d=0;b=a+16|0;a=c[a+24>>2]|0;while(1){if(!a)break;d=c[a+4>>2]|0;Ny(c[b>>2]|0,a);a=d}return}function yz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k;h=c[b+16>>2]|0;f=h;while(1){if(!f){f=0;break}g=c[f>>2]|0;if((g|0)==(d|0)){j=7;break}if((a[d>>0]|0)==(a[g>>0]|0)?(b$(d,g)|0)==0:0){j=7;break}f=c[f+4>>2]|0;if((f|0)==(h|0)){f=0;break}}do if((j|0)==7){if(!(c[b>>2]&4)){if((f|0)==(h|0)&(e|0)==0){f=h;break}zz(b,f,e);break}if(e)if((h|0)==(f|0))f=h;else Pw(1,93501,i)|0}while(0);l=k;return f|0}function zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=d<<2&4;c[a>>2]=e&-5|d;if(e&2|0){e=(e&3|0)==3?-1:1;c[a+(e*48|0)+16>>2]=b;e=a+(e*48|0)|0;c[e>>2]=c[e>>2]&-5|d}return}function Az(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=ez(a)|0;f=yz(a,b,0)|0;a:do if((d|0)!=0&(f|0)==0){d=My(h,d)|0;c[d>>2]=Oz(h,b)|0;switch(c[a>>2]&3){case 0:{Bz(a,d);g=d;break a}case 1:{Bz(a,d);g=d;break a}case 2:case 3:{Bz(a,d);g=d;break a}default:{}}}else g=f;while(0);if(e|0)yz(a,b,1)|0;return g|0}function Bz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a+16>>2]|0;do if(d){e=d+4|0;f=c[e>>2]|0;if((f|0)==(d|0)){c[e>>2]=b;e=d;d=b;break}else{c[b+4>>2]=f;e=b;break}}else{e=b;d=b}while(0);c[d+4>>2]=e;if(!(c[a>>2]&4))zz(a,b,0);return}function Cz(a,b){a=a|0;b=b|0;var d=0,e=0;e=ez(a)|0;d=yz(a,b,0)|0;if(!d)b=-1;else{Dz(a,d);if(!(c[a>>2]&3)){Ez(e,a,d);b=d}else{jB(fz(e)|0,a,60,d,0)|0;b=d}Qz(e,c[d>>2]|0)|0;Ny(e,b);b=0}return b|0}function Dz(a,b){a=a|0;b=b|0;var d=0;a=c[a+16>>2]|0;do{d=a+4|0;a=c[d>>2]|0}while((a|0)!=(b|0));c[d>>2]=c[b+4>>2];return}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>2]|0;zz(b,(a|0)==(d|0)?0:a,0)}return}function Fz(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=(d|0)>-1;g=f?d:0-d|0;a:do switch(b|0){case 0:{Az(a,c,g,e)|0;if(!f){b=wA(a)|0;while(1){if(!b)break a;Fz(b,0,c,d,e);b=xA(b)|0}}break}case 3:case 2:case 1:{d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break a;b:do if(d)Az(b,c,g,e)|0;else{f=Ex(a,b)|0;while(1){if(!f)break b;Az(f,c,g,e)|0;f=Gx(a,f)|0}}while(0);b=Ty(a,b)|0}}default:{}}while(0);return}function Gz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;a:do switch(b|0){case 0:{jB(a,a,61,c,1)|0;break}case 3:case 2:case 1:{e=(b|0)==1;d=Sy(a)|0;while(1){if(!d)break a;b:do if(e)Cz(d,c)|0;else{b=Ex(a,d)|0;while(1){if(!b)break b;Cz(b,c)|0;b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}}default:{}}while(0);return}function Hz(a,b,c){a=a|0;b=b|0;c=c|0;Cz(b,c)|0;return}function Iz(a){a=a|0;var b=0,d=0,e=0;d=ez(a)|0;b=a+16|0;a=c[b>>2]|0;if(a|0)do{e=a;a=c[a+4>>2]|0;Qz(d,c[e>>2]|0)|0;Ny(d,e)}while((a|0)!=(c[b>>2]|0));c[b>>2]=0;return}function Jz(a){a=a|0;return EA(a,Kz(a)|0)|0}function Kz(a){a=a|0;var b=0,d=0;if(!a)d=184760;else d=(c[a+64>>2]|0)+20|0;b=c[d>>2]|0;if(!b){b=CA(a,18760,c[4563]|0)|0;c[d>>2]=b;a=183232;c[a>>2]=-2147483648;c[a+4>>2]=0;a=183240;c[a>>2]=2147483647;c[a+4>>2]=-1}return b|0}function Lz(a,b){a=a|0;b=b|0;return Mz(Kz(a)|0,b)|0}function Mz(a,b){a=a|0;b=b|0;a=Nz(a,b)|0;if(!a)a=0;else a=c[a+16>>2]|0;return a|0}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+32|0;e=d;c[e+16>>2]=b;b=nb[c[a>>2]&63](a,e,4)|0;l=d;return b|0}function Oz(a,b){a=a|0;b=b|0;var d=0,e=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;a=d+8|0;c[a>>2]=1;c[a+4>>2]=0;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{e=d+8|0;b=e;b=s3(c[b>>2]|0,c[b+4>>2]|0,1,0)|0;c[e>>2]=b;c[e+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Pz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!b)d=0;else{e=Kz(a)|0;d=Nz(e,b)|0;if(!d){d=(W_(b)|0)+24|0;if(!a)d=C_(d)|0;else d=My(a,d)|0;g=183232;f=c[g+4>>2]|0;a=d+8|0;c[a>>2]=c[g>>2]|1;c[a+4>>2]=f;a=d+20|0;b0(a,b)|0;c[d+16>>2]=a;nb[c[e>>2]&63](e,d,1)|0}else{g=d+8|0;f=g;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[g>>2]=f;c[g+4>>2]=z}d=c[d+16>>2]|0}return d|0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)!=0?(d=Kz(a)|0,e=Nz(d,b)|0,(e|0)!=0):0)if((c[e+16>>2]|0)==(b|0)?(b=e+8|0,g=b,g=s3(c[g>>2]|0,c[g+4>>2]|0,-1,-1)|0,f=z,b,c[b>>2]=g,c[b+4>>2]=f,b=183240,(g|0)==0&(f|0)==0|(c[b>>2]|0)==0&(c[b+4>>2]|0)==0):0){DA(a,d,e)|0;a=0}else a=0;else a=-1;return a|0}function Rz(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=183232;a=c[b>>2]&c[a>>2]}return a|0}function Sz(a){a=a|0;var b=0,d=0,e=0;if(a|0){d=183232;a=a+-12|0;e=a;b=c[e+4>>2]|c[d+4>>2];c[a>>2]=c[e>>2]|c[d>>2];c[a+4>>2]=b}return}function Tz(a){a=a|0;c[4699]=a;return}function Uz(a){a=a|0;c[46195]=a;c[4699]=1;return}function Vz(a,b){a=a|0;b=b|0;c[46196]=a;c[46197]=b;c[46198]=0;return}function Wz(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!(c[46199]|0)){c[46199]=1;if(!(c[46200]|0))c[46200]=1;if(!(c[46191]|0))c[46191]=c[15621];if(!(c[46192]|0))c[46192]=c[15653];k=c[46201]|0;if(!((k|0)!=0?(c[k>>2]|0)!=0:0)){Xz();k=Yz(c[46191]|0,16384)|0;c[c[46201]>>2]=k}Zz()}a:while(1){j=c[46202]|0;a[j>>0]=a[191725]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;f=j;b:while(1){h=f;while(1){f=c[18800+(d[h>>0]<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=h}c:while(1){g=f&255;do{f=g+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(f<<1)>>1]|0))break c;k=b[64684+(e<<1)>>1]|0;e=k<<16>>16}while(k<<16>>16<=92);f=c[19824+(g<<2)>>2]|0}e=b[64894+(f<<1)>>1]|0;f=h+1|0;if((b[63938+(e<<1)>>1]|0)==219)break;else h=f}d:while(1){k=j;e:while(1){e=b[63752+(e<<1)>>1]|0;if(!(e<<16>>16)){e=b[63752+(c[46203]<<1)>>1]|0;f=c[46204]|0}else e=e<<16>>16;c[46193]=j;i=f;c[46194]=i-k;a[191725]=a[f>>0]|0;a[f>>0]=0;c[46202]=f;f:while(1){switch(e|0){case 1:{m=27;break a}case 12:{m=53;break a}case 13:{m=55;break a}case 14:{m=57;break a}case 15:{m=61;break a}case 16:{m=65;break a}case 17:{m=67;break a}case 18:{m=69;break a}case 19:{m=72;break a}case 20:{m=75;break a}case 21:{m=78;break a}case 23:{m=86;break a}case 33:{m=118;break a}case 39:case 38:case 37:case 36:{l=0;break a}case 2:{m=29;break b}case 3:{m=32;break b}case 4:{m=35;break b}case 5:{m=37;break b}case 6:{m=39;break b}case 7:{m=42;break b}case 8:{m=44;break b}case 9:{m=47;break b}case 10:{m=49;break b}case 11:{m=51;break b}case 22:{m=83;break b}case 24:{m=89;break b}case 25:{m=92;break b}case 26:{m=95;break b}case 27:{m=98;break b}case 28:{m=101;break b}case 29:{m=104;break b}case 30:{m=109;break b}case 31:{m=112;break b}case 32:{m=115;break b}case 34:{m=121;break b}case 0:break f;case 35:break;default:{m=134;break a}}h=c[46193]|0;a[f>>0]=a[191725]|0;e=c[46201]|0;g=c[e>>2]|0;if(!(c[g+44>>2]|0)){n=c[g+16>>2]|0;c[46206]=n;c[g>>2]=c[46191];g=c[e>>2]|0;c[g+44>>2]=1;e=n}else e=c[46206]|0;if((c[46202]|0)>>>0<=((c[g+4>>2]|0)+e|0)>>>0){m=128;break e}switch(gA()|0){case 0:{m=132;break d}case 2:{m=133;break e}case 1:break;default:continue a}c[46202]=c[46193];e=(((c[46200]|0)+-1|0)/2|0)+36|0}a[f>>0]=a[191725]|0;f=c[46204]|0;e=c[46203]|0}if((m|0)==128){m=0;g=i-h|0;h=c[46193]|0;f=h+(g+-1)|0;c[46202]=f;e=eA()|0;i=fA(e)|0;j=c[46193]|0;if(!i)continue;else{m=129;break}}else if((m|0)==133){m=0;f=(c[(c[c[46201]>>2]|0)+4>>2]|0)+(c[46206]|0)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}if((m|0)==129){m=0;f=h+g|0;c[46202]=f;e=i;continue}else if((m|0)==132){m=0;f=(c[46193]|0)+(i-h+-1)|0;c[46202]=f;e=eA()|0;j=c[46193]|0;continue}}switch(m|0){case 29:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 32:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=3;continue a}case 35:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 37:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 39:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;continue a}case 42:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 44:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;_z();continue a}case 47:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 49:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 51:{m=0;e=c[46194]|0;if(!e)continue a;c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;continue a}case 83:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=5;aA();continue a}case 89:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(95669);continue a}case 92:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;cA(93534);continue a}case 95:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[4699]=(c[4699]|0)+1;continue a}case 98:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 101:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=7;c[46205]=1;aA();continue a}case 104:{m=0;e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;n=(c[46205]|0)+-1|0;c[46205]=n;if(!n){m=108;break a}cA(c[46193]|0);continue a}case 109:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46205]=(c[46205]|0)+1;cA(e);continue a}case 112:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);c[4699]=(c[4699]|0)+1;continue a}case 115:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;cA(e);continue a}case 121:{m=0;f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;E1(e,f,1,c[46192]|0)|0;continue a}}}switch(m|0){case 27:{e=c[46194]|0;if(!e)l=-1;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=-1}break}case 53:{e=c[46194]|0;if(!e)l=259;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=259}break}case 55:{e=c[46194]|0;if(!e)l=260;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=260}break}case 57:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=258;l=258}else l=258;break}case 61:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if(!(c[46198]|0)){c[46198]=261;l=261}else l=261;break}case 65:{e=c[46194]|0;if(!e)l=263;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=263}break}case 67:{e=c[46194]|0;if(!e)l=262;else{c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=262}break}case 69:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==261?264:45;break}case 72:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;l=(c[46198]|0)==258?264:45;break}case 75:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;c[46221]=Oz(c[46171]|0,e)|0;l=267;break}case 78:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;if($z()|0){m=(c[46194]|0)+-1|0;a[f>>0]=a[191725]|0;n=j+m|0;c[46202]=n;c[46193]=j;c[46194]=m;a[191725]=a[n>>0]|0;a[n>>0]=0;c[46202]=n}c[46221]=Oz(c[46171]|0,c[46193]|0)|0;l=267;break}case 86:{e=c[46194]|0;if(e|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[(c[46193]|0)+(e+-1)>>0]|0)==10&1;c[46200]=1;bA();l=268;break}case 108:{c[46200]=1;dA();l=268;break}case 118:{f=c[46194]|0;e=c[46193]|0;if(f|0)c[(c[c[46201]>>2]|0)+28>>2]=(a[e+(f+-1)>>0]|0)==10&1;l=a[e>>0]|0;break}case 134:{hA(93537);break}}return l|0}function Xz(){var a=0,b=0,d=0;b=c[46201]|0;do if(!b){a=oA(4)|0;c[46201]=a;if(!a)hA(93895);else{c[a>>2]=0;a=1;d=9;break}}else{a=c[46212]|0;if(0>=(a+-1|0)>>>0){a=a+8|0;b=iA(b,a<<2)|0;c[46201]=b;if(!b)hA(93895);else{d=b+(c[46212]<<2)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;d=9;break}}}while(0);if((d|0)==9)c[46212]=a;return}function Yz(a,b){a=a|0;b=b|0;var d=0;d=oA(48)|0;if(!d)hA(93850);c[d+12>>2]=b;b=oA(b+2|0)|0;c[d+4>>2]=b;if(!b)hA(93850);else{c[d+20>>2]=1;kA(d,a);return d|0}return 0}function Zz(){var b=0,d=0;d=c[46201]|0;b=c[d>>2]|0;c[46206]=c[b+16>>2];b=c[b+8>>2]|0;c[46202]=b;c[46193]=b;c[46191]=c[c[d>>2]>>2];a[191725]=a[b>>0]|0;return}function _z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;d=g+16|0;e=g+12|0;h=c[46193]|0;b=h+1|0;i=(z$(b,93834,4)|0)==0;b=i?h+5|0:b;c[f>>2]=e;c[f+4>>2]=g+20;c[f+8>>2]=d;f=N1(b,93839,f)|0;if((f|0)>0?(c[4699]=(c[e>>2]|0)+-1,(f|0)!=1):0){d=b+(c[d>>2]|0)|0;b=d;a:while(1){e=a[b>>0]|0;switch(e<<24>>24){case 0:case 34:break a;default:{}}b=b+1|0}if((b|0)!=(d|0)&e<<24>>24==34){a[b>>0]=0;nA(d,b-d|0)}}l=g;return}function $z(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+2080|0;i=j+8|0;f=j;b=j+1056|0;d=j+32|0;h=j+16|0;k=a[(c[46193]|0)+((c[46194]|0)+-1)>>0]|0;e=k<<24>>24==46;if(e|((k&255)+-48|0)>>>0<10)if(e?(mA()|0)!=0:0)g=4;else b=0;else g=4;if((g|0)==4){k=c[46195]|0;Tw(h,1024,b);Ww(h,93745)|0;Ww(h,c[46193]|0)|0;c[f>>2]=c[4699];Y0(d,93789,f)|0;Ww(h,d)|0;Ww(h,(k|0)==0?93739:k)|0;Ww(h,93806)|0;d=h+4|0;b=c[d>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[d>>2]|0}a[b>>0]=0;b=c[h>>2]|0;c[d>>2]=b;c[i>>2]=b;Pw(0,93831,i)|0;Xw(h);b=1}l=j;return b|0}function aA(){var b=0;b=c[46207]|0;if(!b){b=C_(1024)|0;c[46207]=b;c[46209]=b+1024}c[46208]=b;a[b>>0]=0;return}function bA(){c[46221]=Oz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function cA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[46208]|0;d=c[46207]|0;if(e>>>0>d>>>0){e=e+-1|0;f=3}a:while(1){if((f|0)==3)c[46208]=e;f=c[46209]|0;g=f;do{h=b;b=b+1|0;h=a[h>>0]|0;i=e;e=e+1|0;a[i>>0]=h;if(!(h<<24>>24))break a}while(e>>>0<f>>>0);c[46208]=e;f=d;i=g-f<<1;d=F_(d,i)|0;c[46207]=d;c[46209]=d+i;e=d+(e-f)|0;f=3}c[46208]=e;return}function dA(){c[46221]=Pz(c[46171]|0,c[46207]|0)|0;a[c[46207]>>0]=0;return}function eA(){var d=0,e=0,f=0,g=0,h=0;h=c[46202]|0;g=c[46193]|0;e=(c[(c[c[46201]>>2]|0)+28>>2]|0)+(c[46200]|0)|0;while(1){if(g>>>0>=h>>>0)break;d=a[g>>0]|0;if(!(d<<24>>24))d=1;else d=c[18800+((d&255)<<2)>>2]|0;if(b[63752+(e<<1)>>1]|0){c[46203]=e;c[46204]=g}a:while(1){f=d&255;do{d=f+(b[63938+(e<<1)>>1]|0)|0;if((e|0)==(b[64148+(d<<1)>>1]|0))break a;d=b[64684+(e<<1)>>1]|0;e=d<<16>>16}while(d<<16>>16<=92);d=c[19824+(f<<2)>>2]|0}g=g+1|0;e=b[64894+(d<<1)>>1]|0}return e|0}function fA(a){a=a|0;var d=0;if(b[63752+(a<<1)>>1]|0){d=c[46202]|0;c[46203]=a;c[46204]=d}while(1){d=(b[63938+(a<<1)>>1]|0)+1|0;if((a|0)==(b[64148+(d<<1)>>1]|0))break;a=b[64684+(a<<1)>>1]|0}d=b[64894+(d<<1)>>1]|0;return (d<<16>>16==92?0:d<<16>>16)|0}function gA(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[46201]|0;g=c[j>>2]|0;i=c[g+4>>2]|0;f=c[46193]|0;l=c[46202]|0;k=l;if(l>>>0>(i+((c[46206]|0)+1)|0)>>>0)hA(93592);h=k-f|0;if(!(c[g+40>>2]|0))b=(h|0)==1?1:2;else{l=h+-1|0;h=i;g=0;while(1){if((g|0)>=(l|0))break;a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0;g=g+1|0}f=c[j>>2]|0;do if((c[f+44>>2]|0)==2){c[46206]=0;c[f+16>>2]=0;e=f;m=17}else{while(1){i=f+12|0;h=c[i>>2]|0;g=h-l+-1|0;if(g|0){m=16;break}g=f+4|0;j=c[g>>2]|0;if(!(c[f+20>>2]|0)){m=12;break}f=h<<1;f=(f|0)==0?(h>>>3)+h|0:f;c[i>>2]=f;f=iA(j,f+2|0)|0;c[g>>2]=f;if(!f)break;j=f+(k-j)|0;c[46202]=j;f=c[c[46201]>>2]|0;k=j}if((m|0)==12)c[g>>2]=0;else if((m|0)==16){d=nb[c[c[(c[46196]|0)+8>>2]>>2]&63](c[46197]|0,(c[f+4>>2]|0)+l|0,g>>>0<8192?g:8192)|0;e=c[c[46201]>>2]|0;c[46206]=d;c[e+16>>2]=d;if(!d){m=17;break}else{b=0;break}}hA(93648)}while(0);do if((m|0)==17)if(!l){jA(c[46191]|0);b=1;d=c[46206]|0;e=c[c[46201]>>2]|0;break}else{c[e+44>>2]=2;b=2;d=0;break}while(0);f=d+l|0;do if(f>>>0>(c[e+12>>2]|0)>>>0){m=iA(c[e+4>>2]|0,f+(d>>>1)|0)|0;d=c[46201]|0;c[(c[d>>2]|0)+4>>2]=m;d=c[(c[d>>2]|0)+4>>2]|0;if(!d)hA(93692);else{n=c[46206]|0;o=d;break}}else{n=d;o=c[e+4>>2]|0}while(0);n=n+l|0;c[46206]=n;a[o+n>>0]=0;o=c[46201]|0;a[(c[(c[o>>2]|0)+4>>2]|0)+((c[46206]|0)+1)>>0]=0;c[46193]=c[(c[o>>2]|0)+4>>2]}return b|0}function hA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=c[15686]|0;c[b>>2]=a;g1(d,93588,b)|0;Sa(2)}function iA(a,b){a=a|0;b=b|0;return F_(a,b)|0}function jA(a){a=a|0;var b=0,d=0,e=0;d=c[46201]|0;if((d|0)!=0?(b=c[d>>2]|0,(b|0)!=0):0)e=4;else{Xz();b=Yz(c[46191]|0,16384)|0;d=c[46201]|0;c[d>>2]=b;if(!d)b=0;else e=4}kA(b,a);Zz();return}function kA(a,b){a=a|0;b=b|0;var d=0;d=c[(O_()|0)>>2]|0;lA(a);c[a>>2]=b;c[a+40>>2]=1;b=c[46201]|0;if(!b)b=0;else b=c[b>>2]|0;if((b|0)!=(a|0)){c[a+32>>2]=1;c[a+36>>2]=0}c[a+24>>2]=0;c[(O_()|0)>>2]=d;return}function lA(b){b=b|0;var d=0;if(b|0){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0]=0;a[(c[d>>2]|0)+1>>0]=0;c[b+8>>2]=c[d>>2];c[b+28>>2]=1;c[b+44>>2]=0;d=c[46201]|0;if(!d)d=0;else d=c[d>>2]|0;if((d|0)==(b|0))Zz()}return}function mA(){var b=0,d=0;d=c[46193]|0;b=(c[46194]|0)+-2|0;while(1){if((b|0)<=-1){b=0;break}if((a[d+b>>0]|0)==46){b=1;break}else b=b+-1|0}return b|0}function nA(a,b){a=a|0;b=b|0;var d=0;d=c[46210]|0;if((d|0)<(b|0)){if(!d)d=C_(b+1|0)|0;else d=F_(c[46211]|0,b+1|0)|0;c[46211]=d;c[46210]=b}else d=c[46211]|0;b0(d,a)|0;c[46195]=c[46211];return}function oA(a){a=a|0;return C_(a)|0}function pA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+2112|0;k=m+32|0;i=m+24|0;h=m+16|0;g=m+8|0;f=m;d=m+56|0;j=m+40|0;Tw(j,1024,m+1080|0);e=c[46195]|0;if(e|0){Ww(j,e)|0;Ww(j,93945)|0}Ww(j,b)|0;c[f>>2]=c[4699];Y0(d,93948,f)|0;Ww(j,d)|0;a:do if(!(a[c[46193]>>0]|0))switch(((c[46200]|0)+-1|0)/2|0|0){case 2:{c[g>>2]=16384;Y0(d,93968,g)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94030)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 3:{c[h>>2]=16384;Y0(d,94049,h)|0;Ww(j,d)|0;b=c[46207]|0;if(!(a[b>>0]|0))break a;i=W_(b)|0;Ww(j,94117)|0;b=c[46207]|0;if((i|0)>80)a[b+80>>0]=0;Ww(j,b)|0;break a}case 1:{c[i>>2]=16384;Y0(d,94136,i)|0;Ww(j,d)|0;break a}default:break a}else{Ww(j,93960)|0;Ww(j,c[46193]|0)|0;d=j+4|0;b=c[d>>2]|0;if(b>>>0>=(c[j+8>>2]|0)>>>0){Uw(j,1)|0;b=c[d>>2]|0}c[d>>2]=b+1;a[b>>0]=39}while(0);e=j+4|0;b=c[e>>2]|0;d=j+8|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}c[e>>2]=b+1;a[b>>0]=10;b=c[e>>2]|0;if(b>>>0>=(c[d>>2]|0)>>>0){Uw(j,1)|0;b=c[e>>2]|0}a[b>>0]=0;i=c[j>>2]|0;c[e>>2]=i;c[k>>2]=i;Pw(1,93831,k)|0;Xw(j);l=m;return}function qA(){rA(c[46193]|0);return}function rA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=c[46202]|0;a[j>>0]=a[191725]|0;i=c[46201]|0;e=c[i>>2]|0;d=c[e+4>>2]|0;if(j>>>0<(d+2|0)>>>0){f=d+((c[46206]|0)+2)|0;g=d+((c[e+12>>2]|0)+2)|0;k=d;h=e;while(1){if(f>>>0<=k>>>0)break;e=f+-1|0;k=g+-1|0;a[k>>0]=a[e>>0]|0;h=c[i>>2]|0;f=e;g=k;k=c[h+4>>2]|0}e=g-f|0;d=j+e|0;j=c[h+12>>2]|0;c[46206]=j;c[h+16>>2]=j;if(d>>>0<(k+2|0)>>>0)hA(94195);else{l=b+e|0;m=d}}else{l=b;m=j}b=m+-1|0;a[b>>0]=64;c[46193]=l;a[191725]=a[b>>0]|0;c[46202]=b;return}function sA(){var a=0;a=c[46201]|0;if(!a)a=0;else a=c[a>>2]|0;lA(a);return}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+80|0;f=e;g=a+52|0;FA(a,c[g>>2]|0,18444);a=f+8|0;c[a>>2]=b;c[a+4>>2]=d;d=c[g>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function uA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=tA(b,d,e)|0;if(!f){f=My(b,72)|0;c[f+64>>2]=c[b+64>>2];g=f+24|0;h=c[b+24>>2]|0;c[g>>2]=h;a[g>>0]=h&255&-9;c[f+56>>2]=b;c[f+60>>2]=c[b+60>>2];b=f+8|0;c[b>>2]=d;c[b+4>>2]=e;Zx(f)|0}return f|0}function vA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;if(!(((b|0)!=0?(oy(a,0,b,f,0)|0)!=0:0)?(e=f,e=tA(a,c[e>>2]|0,c[e+4>>2]|0)|0,(e|0)!=0):0))if((d|0)!=0?(oy(a,0,b,f,1)|0)!=0:0){e=f;e=uA(a,c[e>>2]|0,c[e+4>>2]|0)|0;sy(a,0,e)}else e=0;l=g;return e|0}function wA(a){a=a|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,0,128)|0}function xA(a){a=a|0;var b=0;b=yA(a)|0;if(!b)a=0;else{b=c[b+52>>2]|0;a=nb[c[b>>2]&63](b,a,8)|0}return a|0}function yA(a){a=a|0;return c[a+56>>2]|0}function zA(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return nb[c[a>>2]&63](a,b,2)|0}function AA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[46213]|0;e=(b|0)!=0;do if(!a)if(e){D_(b);a=0;break}else{a=C_(d)|0;break}else if(e){Ny(a,b);a=0;break}else{a=My(a,d)|0;break}while(0);return a|0}function BA(a,b,d){a=a|0;b=b|0;d=d|0;a=c[46213]|0;if(!a)D_(b);else Ny(a,b);return}function CA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[e>>2]=7;c[46213]=a;d=Cw(b,d)|0;c[e>>2]=f;c[46213]=0;return d|0}function DA(a,b,d){a=a|0;b=b|0;d=d|0;c[46213]=a;return nb[c[b>>2]&63](b,d,2)|0}function EA(a,b){a=a|0;b=b|0;var d=0,e=0;d=(Kw(b,0,0)|0)+28|0;e=c[d>>2]|0;c[d>>2]=7;c[46213]=a;if(!(yw(b)|0)){c[d>>2]=e;c[46213]=0;a=0}else a=1;return a|0}function FA(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0?(Kw(b,0,0)|0)!=(c|0):0)Kw(b,c,0)|0;return}function GA(a,b){a=a|0;b=b|0;if(!(Rz(a)|0))b=IA(a,b)|0;else HA(a,b)|0;return b|0}function HA(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;a[c>>0]=60;e=c;while(1){d=e+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;a[d>>0]=f;b=b+1|0;e=d}a[d>>0]=62;a[e+2>>0]=0;return c|0}function IA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){a[d>>0]=34;l=a[b>>0]|0;q=0;g=((l+-45&255)<2|((l&255)+-48|0)>>>0<10)&1;h=0;i=0;j=0;e=d+1|0;f=b+1|0;b:while(1){k=e;while(1){if(!(l<<24>>24))break b;e=l&255;c:do if(l<<24>>24==34){a[k>>0]=92;m=g;n=1;k=k+1|0}else{if(!g){n=l<<24>>24>-1&(l<<24>>24!=95&(M$(e)|0)==0);m=0;n=n?1:h;break}switch(l<<24>>24){case 45:{n=(j|0)==0;m=n?g:0;n=n?h:1;break c}case 46:{n=(i|0)==0;m=n?g:0;n=n?h:1;i=i+1|0;break c}default:{n=(e+-48|0)>>>0<10;m=n?g:0;n=n?h:1;break c}}}while(0);e=k+1|0;a[k>>0]=l;p=f+1|0;o=a[f>>0]|0;j=j+1|0;f=c[5005]|0;if(!f){g=m;h=n;k=e;f=p;l=o;continue}g=o&255;h=o<<24>>24!=0;if((q&h?!(l<<24>>24==92|l<<24>>24>-1&((l+-45&255)>1&(M$(l<<24>>24)|0)==0)^1):0)?!(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)):0)break;if((j|0)<(f|0)|h^1){g=m;h=n;k=e;f=p;l=o;continue}if(l<<24>>24==92|l<<24>>24>-1&((M$(l<<24>>24)|0)==0&(l+-45&255)>1)^1){q=1;g=m;h=n;l=o;f=p;continue b}if(o<<24>>24>-1&((o+-45&255)>1&(M$(g)|0)==0)){q=1;g=m;h=n;l=o;f=p;continue b}a[e>>0]=92;a[k+2>>0]=10;g=m;h=1;j=0;k=k+3|0;f=p;l=o}a[e>>0]=92;a[k+2>>0]=10;q=0;g=m;h=1;j=0;l=o;e=k+3|0;f=p}a[k>>0]=34;a[k+1>>0]=0;if(!h){if((j|0)==1?((a[b>>0]|0)+-45&255)<2:0){b=d;break}else e=20024;while(1){f=c[e>>2]|0;if(!f)break a;if(!(O$(f,b)|0)){b=d;break}else e=e+4|0}}else b=d}else b=94227;while(0);return b|0}function JA(a){a=a|0;return GA(a,KA(a)|0)|0}function KA(a){a=a|0;var b=0;b=((W_(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=c[46215]|0;if(b>>>0>(c[46214]|0)>>>0){if(!a)a=C_(b)|0;else a=F_(a,b)|0;c[46215]=a;c[46214]=b}return a|0}function LA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if((MA(a)|0)==0?Xy(a,b,0)|0:0){a=1;break}a=xA(a)|0}return a|0}function MA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=ry(b)|0;if((h|0)!=0?(a[h>>0]|0)!=37:0)d=0;else e=3;a:do if((e|0)==3){d=dx(b)|0;b:do if(d|0?(f=dx(yA(b)|0)|0,f|0):0){h=Ew(c[(dx(fz(b)|0)|0)+8>>2]|0)|0;g=d+12|0;e=f+12|0;d=0;while(1){if((d|0)>=(h|0))break b;f=c[(c[g>>2]|0)+(d<<2)>>2]|0;if((f|0?(i=c[(c[e>>2]|0)+(d<<2)>>2]|0,i|0):0)?b$(f,i)|0:0){d=0;break a}d=d+1|0}}while(0);d=_w(b,0)|0;if(d)if((Ew(c[d+8>>2]|0)|0)>0)d=0;else return (Ew(c[d+12>>2]|0)|0)<1|0;else d=1}while(0);return d|0}function NA(b,d){b=b|0;d=d|0;var e=0,f=0;c[46216]=0;e=xx(b,94237)|0;if((e|0?((a[e>>0]|0)+-48|0)>>>0<10:0)?(f=i1(e,0,10)|0,(f|0)==0|(f|0)>59):0)c[5005]=f;OA(b,1);if(((PA(b,d,1)|0)!=-1?(QA(b,d)|0)!=-1:0)?(RA(b,d)|0)!=-1:0){c[5005]=128;b=kb[c[(c[(c[b+64>>2]|0)+8>>2]|0)+8>>2]&63](d)|0}else b=-1;return b|0}function OA(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;OA(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function PA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;if((e|0)==0?(yA(b)|0)!=0:0){i=0;g=191979;k=106488}else{k=(a[b+24>>0]&1)==0?191979:94281;g=(gy(b)|0)==0;c[46217]=nx(b,2,108373,0)|0;c[46218]=nx(b,2,108382,0)|0;i=1;g=g?191979:94284}f=ry(b)|0;if((f|0)!=0?(a[f>>0]|0)!=37:0){h=1;j=99578}else{h=0;j=191979;f=191979}do if((SA(b,d)|0)!=-1?(TA(b,d,g)|0)!=-1:0){g=(h|0)==0;if(h|i|0){if((TA(b,d,k)|0)==-1){f=-1;break}if((TA(b,d,99571)|0)==-1){f=-1;break}}if(!g?(cB(b,d,f)|0)==-1:0){f=-1;break}if(((TA(b,d,j)|0)!=-1?(TA(b,d,94292)|0)!=-1:0)?(c[46216]=(c[46216]|0)+1,(hB(b,d,e)|0)!=-1):0){c[b>>2]=c[b>>2]|8;f=0}else f=-1}else f=-1;while(0);return f|0}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if((UA(a,b)|0)==-1)d=-1;else{k=_w(fz(a)|0,0)|0;i=(k|0)==0;j=k+12|0;k=k+8|0;h=Sy(a)|0;while(1){if(!h){d=0;break a}if(VA(a,h,(c[h>>2]|0)>>>4,0)|0){if(i)d=0;else d=c[k>>2]|0;if((WA(h,b,d)|0)==-1){d=-1;break a}}g=Ex(a,h)|0;d=h;while(1){if(!g)break;f=g+-48|0;e=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0;if((d|0)!=(e|0)?(VA(a,e,(c[h>>2]|0)>>>4,0)|0)!=0:0){if(i)d=0;else d=c[k>>2]|0;if((WA(c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0,b,d)|0)==-1){d=-1;break a}d=c[((c[g>>2]&3|0)==2?g:f)+40>>2]|0}if(XA(a,g)|0){if(i)e=0;else e=c[j>>2]|0;if((YA(g,b,e)|0)==-1){d=-1;break a}}g=Gx(a,g)|0}h=Ty(a,h)|0}}while(0);return d|0}function RA(a,b){a=a|0;b=b|0;c[46216]=(c[46216]|0)+-1;if((SA(a,b)|0)==-1)a=-1;else a=((TA(a,b,107982)|0)==-1)<<31>>31;return a|0}function SA(a,b){a=a|0;b=b|0;var d=0;d=c[46216]|0;while(1){if((d|0)<=0){d=0;break}if((TA(a,b,150515)|0)==-1){d=-1;break}else d=d+-1|0}return d|0}function TA(a,b,d){a=a|0;b=b|0;d=d|0;return lb[c[(c[(c[a+64>>2]|0)+8>>2]|0)+4>>2]&127](b,d)|0}function UA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=0;break}if(!(MA(a)|0)){if((PA(a,b,0)|0)==-1){a=-1;break}if((QA(a,b)|0)==-1){a=-1;break}if((RA(a,b)|0)==-1){a=-1;break}}else UA(a,b)|0;a=xA(a)|0}return a|0}function VA(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((LA(a,b)|0)==0?(eB(a,b,c,d)|0)!=0:0)if((fB(a,b)|0)==0?(gB(b)|0)==0:0)e=5;else a=1;else e=5;if((e|0)==5)a=0;return a|0}function WA(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=ez(a)|0;do if((SA(d,b)|0)!=-1?(ZA(a,b)|0)!=-1:0){if(($A(a)|0)==0?(aB(a,b,c)|0)==-1:0){a=-1;break}a=TA(d,b,94248)|0}else a=-1;while(0);return a|0}function XA(a,b){a=a|0;b=b|0;a=wA(a)|0;while(1){if(!a){a=1;break}if((MA(a)|0)==0?Vx(a,b,0)|0:0){a=0;break}a=xA(a)|0}return a|0}function YA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a>>2]&3;g=c[((e|0)==3?a:a+48|0)+40>>2]|0;e=c[((e|0)==2?a:a+-48|0)+40>>2]|0;f=ez(g)|0;do if((((((SA(f,b)|0)!=-1?(ZA(g,b)|0)!=-1:0)?(_A(a,b,c[46217]|0)|0)!=-1:0)?(g=(ey(ez(g)|0)|0)!=0,(TA(f,b,g?97053:97058)|0)!=-1):0)?(ZA(e,b)|0)!=-1:0)?(_A(a,b,c[46218]|0)|0)!=-1:0){if(!($A(a)|0)){if((aB(a,b,d)|0)==-1){a=-1;break}}else if((bB(a,b,1)|0)==-1){a=-1;break}a=TA(f,b,94248)|0}else a=-1;while(0);return a|0}function ZA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i;d=i+8|0;e=ry(a)|0;f=ez(a)|0;if(!e){j=a+8|0;a=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=a;Y0(d,94268,g)|0;if((TA(f,b,d)|0)==-1)a=-1;else h=4}else if((cB(f,b,e)|0)==-1)a=-1;else h=4;if((h|0)==4)a=0;l=i;return a|0}function _A(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if((d|0)!=0?(e=ez(b)|0,f=yx(b,d)|0,(a[f>>0]|0)!=0):0)if((TA(e,c,104958)|0)==-1)b=-1;else{do if(Rz(f)|0){if((cB(e,c,f)|0)==-1){b=-1;break a}}else{b=A$(f,58)|0;if(!b)if((dB(e,c,f,0)|0)==-1){b=-1;break a}else break;a[b>>0]=0;if((dB(e,c,f,0)|0)==-1){b=-1;break a}if((TA(e,c,104958)|0)==-1){b=-1;break a}if((dB(e,c,b+1|0,0)|0)==-1){b=-1;break a}a[b>>0]=58}while(0);b=0}else b=0;while(0);return b|0}function $A(a){a=a|0;return (c[a>>2]|0)>>>3&1|0}function aB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;a:do if(!(c[a>>2]&2)){e=0;k=4}else{switch(bB(a,b,0)|0){case -1:{e=-1;break a}case 0:{e=0;k=4;break a}default:{}}e=1;k=4}while(0);b:do if((k|0)==4){f=dx(a)|0;j=ez(a)|0;c:do if(f){i=f+12|0;h=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!h)break c;do if(c[a>>2]&2){g=c[46217]|0;if(g|0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0)break;g=c[46218]|0;if(!((g|0)!=0?(c[h+16>>2]|0)==(c[g+16>>2]|0):0))k=12}else k=12;while(0);if((k|0)==12){k=0;f=h+16|0;if((c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)!=(c[h+12>>2]|0)){g=e+1|0;if(e){if((TA(j,b,94263)|0)==-1){e=-1;break b}if((SA(j,b)|0)==-1){e=-1;break b}}else{if((SA(j,b)|0)==-1){e=-1;break b}if((TA(j,b,94260)|0)==-1){e=-1;break b}c[46216]=(c[46216]|0)+1}if((cB(j,b,c[h+8>>2]|0)|0)==-1){e=-1;break b}if((TA(j,b,94266)|0)==-1){e=-1;break b}if((cB(j,b,c[(c[i>>2]|0)+(c[f>>2]<<2)>>2]|0)|0)==-1){e=-1;break b}else e=g}}h=nb[c[d>>2]&63](d,h,8)|0}}while(0);if((e|0)>0){if((TA(j,b,94258)|0)==-1){e=-1;break}c[46216]=(c[46216]|0)+-1}c[a>>2]=c[a>>2]|8;e=0}while(0);return e|0}function bB(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;e=ry(b)|0;b=ez(b)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)if((TA(b,c,94251)|0)!=-1?(cB(b,c,e)|0)!=-1:0)if((d|0)!=0?(TA(b,c,94258)|0)==-1:0)b=-1;else{b=1;f=7}else b=-1;else{b=0;f=7}return b|0}function cB(a,b,c){a=a|0;b=b|0;c=c|0;return dB(a,b,c,1)|0}function dB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!d)c=IA(c,KA(c)|0)|0;else c=JA(c)|0;return TA(a,b,c)|0}function eB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a:do if(0<e>>>0|(0==(e|0)?(c[b>>2]|0)>>>4>>>0<d>>>0:0))b=0;else{b=Hx(a,b)|0;while(1){if(!b){b=1;break a}if(0<e>>>0|(0==(e|0)?(c[c[b+40>>2]>>2]|0)>>>4>>>0<d>>>0:0)){b=0;break a}b=Ix(a,b)|0}}while(0);return b|0}function fB(a,b){a=a|0;b=b|0;if(!(Hx(a,b)|0))a=(Ex(a,b)|0)==0&1;else a=0;return a|0}function gB(a){a=a|0;var b=0,d=0,e=0;a=dx(a)|0;a:do if(!a)a=0;else{d=a+8|0;e=c[d>>2]|0;b=a+12|0;a=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!a){a=0;break a}if((c[(c[b>>2]|0)+(c[a+16>>2]<<2)>>2]|0)!=(c[a+12>>2]|0)){a=1;break a}e=c[d>>2]|0;a=nb[c[e>>2]&63](e,a,8)|0}}while(0);return a|0}function hB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=_w(a,0)|0;if(e)if(((iB(a,b,108412,c[e+16>>2]|0,d)|0)!=-1?(iB(a,b,108399,c[e+8>>2]|0,d)|0)!=-1:0)?(iB(a,b,108368,c[e+12>>2]|0,d)|0)!=-1:0)f=5;else a=-1;else f=5;if((f|0)==5)a=0;return a|0}function iB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=(g|0)!=0;if(m)l=0;else l=Hw(f,0)|0;k=(l|0)==0;j=nb[c[f>>2]&63](f,0,128)|0;g=0;while(1){if(!j){n=23;break}i=j+12|0;n=c[i>>2]|0;if((n|0)!=0?(a[n>>0]|0)!=0:0)n=12;else n=7;do if((n|0)==7){n=0;if(!(a[j+22>>0]|0)){if(!k){h=nb[c[l>>2]&63](l,j,4)|0;o=c[h+12>>2]|0;if(o|0?a[o>>0]|0:0){n=12;break}if(!(a[h+22>>0]|0))n=12}}else n=12}while(0);if((n|0)==12){n=0;h=g+1|0;if(g){if((TA(b,d,94263)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}else{if((SA(b,d)|0)==-1){g=-1;break}if((TA(b,d,e)|0)==-1){g=-1;break}if((TA(b,d,94260)|0)==-1){g=-1;break}c[46216]=(c[46216]|0)+1}if((cB(b,d,c[j+8>>2]|0)|0)==-1){g=-1;break}if((TA(b,d,94266)|0)==-1){g=-1;break}if((cB(b,d,c[i>>2]|0)|0)==-1){g=-1;break}else g=h}j=nb[c[f>>2]&63](f,j,8)|0}do if((n|0)==23){if((g|0)>0){c[46216]=(c[46216]|0)+-1;if((g|0)!=1){if((TA(b,d,150517)|0)==-1){g=-1;break}if((SA(b,d)|0)==-1){g=-1;break}}g=(TA(b,d,94295)|0)==-1;if(m|g){g=g<<31>>31;break}}else if(m){g=0;break}Hw(f,l)|0;g=0}while(0);return g|0}function jB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(c[b>>2]&3){case 0:{g=80;break}case 1:{g=81;break}case 3:case 2:{g=82;break}default:{}}b=lb[g&127](a,b)|0;if(!b)b=-1;else{nB(a,b,d,e,g,f);b=0}return b|0}function kB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Vx(a,b,0)|0;return b|0}function lB(a,b){a=a|0;b=b|0;if((ez(b)|0)!=(a|0))b=Xy(a,b,0)|0;return b|0}function mB(a,b){a=a|0;b=b|0;return a|0}function nB(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;h=(f|0)!=0;if(h)vb[c&127](a,b,d);g=wA(a)|0;while(1){if(!g)break;i=lb[e&127](g,b)|0;if(i|0)nB(g,i,c,d,e,f);g=xA(g)|0}if(!h)vb[c&127](a,b,d);return}function oB(){var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1200|0;r=t+800|0;g=t;c[46219]=0;c[46220]=-2;f=r;i=200;n=g;p=0;q=0;o=r;a:while(1){b[o>>1]=p;if((f+(i<<1)+-2|0)>>>0>o>>>0)k=i;else{m=o-f>>1;e=m+1|0;if(i>>>0>9999){s=75;break}k=i<<1;k=k>>>0<1e4?k:1e4;h=C_(k*6|3)|0;if(h){F3(h|0,f|0,e<<1|0)|0;i=h+(k>>>1<<2)|0;F3(i|0,n|0,e<<2|0)|0;if((f|0)==(r|0)){e=0;f=h}else{D_(f);e=0;f=h}}else{e=4;i=n}j=(e|0)==0;h=f+(m<<1)|0;switch((j?((f+(k<<1)+-2|0)>>>0>h>>>0?0:9):e)&15){case 9:{e=1;s=76;break a}case 4:{s=75;break a}case 0:{g=j?i+(m<<2)|0:g;n=i;o=j?h:o;break}default:{e=0;break a}}}if((p|0)==6){e=0;s=76;break}e=a[94299+p>>0]|0;j=e<<24>>24;do if(e<<24>>24!=-18){h=c[46220]|0;if((h|0)==-2){h=Wz()|0;c[46220]=h}if((h|0)>=1)if(h>>>0<269)i=d[94379+h>>0]|0;else i=2;else{c[46220]=0;i=0}h=i+j|0;if(h>>>0<=59?(i|0)==(d[94648+h>>0]|0):0){p=a[94708+h>>0]|0;e=p<<24>>24;if(p<<24>>24<1){h=0-e|0;s=23;break}else{c[46220]=-2;g=g+4|0;c[g>>2]=c[46221];j=(q|0)==0?0:q+-1|0;h=o;break}}else s=22}else s=22;while(0);if((s|0)==22){s=0;p=a[94768+p>>0]|0;h=p&255;if(!(p<<24>>24)){h=c[46220]|0;b:do switch(q|0){case 0:{c[46219]=(c[46219]|0)+1;pA(140679);h=o;break}case 3:if((h|0)<1)if(!h){e=1;s=76;break a}else{h=o;break b}else{c[46220]=-2;h=o;break b}default:h=o}while(0);while(1){if(e<<24>>24==18)break;if((h|0)==(f|0)){e=1;s=76;break a}e=h+-2|0;g=g+-4|0;h=e;e=a[94299+(b[e>>1]|0)>>0]|0}g=g+4|0;c[g>>2]=c[46221];e=1;j=3}else s=23}do if((s|0)==23){s=0;i=d[94848+h>>0]|0;e=c[g+(1-i<<2)>>2]|0;c:do switch(h|0){case 2:{pB();qB();break}case 3:{if(c[46222]|0){pB();qB();$x(c[46222]|0)|0;c[46171]=0;c[46222]=0}break}case 6:{rB(c[g>>2]|0,c[g+-4>>2]|0,c[g+-8>>2]|0);break}case 7:{e=c[g>>2]|0;break}case 8:{e=0;break}case 9:{e=1;break}case 10:{e=0;break}case 11:{e=0;break}case 12:{e=1;break}case 21:if(!(c[g+-4>>2]|0)){tB();break c}else{sB();break c}case 24:{uB();break}case 25:{uB();break}case 26:{e=1;break}case 27:{e=0;break}case 30:{vB(c[g>>2]|0,0,0);break}case 31:{vB(c[g+-8>>2]|0,c[g>>2]|0,0);break}case 32:{vB(c[g+-16>>2]|0,c[g+-8>>2]|0,c[g>>2]|0);break}case 33:{wB(c[g+-8>>2]|0,c[g+-4>>2]|0);break}case 34:{wB(258,0);break}case 35:{e=258;break}case 36:{e=259;break}case 37:{e=260;break}case 38:{e=c[g+-4>>2]|0;break}case 39:{e=0;break}case 48:{xB(c[g+-8>>2]|0,c[g>>2]|0);break}case 49:{xB(c[g>>2]|0,0);break}case 51:{yB(c[g>>2]|0);break}case 52:{zB();break}case 53:{e=c[g>>2]|0;break}case 54:{e=0;break}case 55:{e=0;break}case 59:{e=c[g>>2]|0;break}case 60:{e=c[g>>2]|0;break}case 61:{e=c[g>>2]|0;break}case 62:{e=AB(c[g+-8>>2]|0,c[g>>2]|0)|0;break}default:{}}while(0);i=0-i|0;p=g+(i<<2)|0;i=o+(i<<1)|0;g=p+4|0;c[p+4>>2]=e;e=(d[94911+h>>0]|0)+-24|0;p=b[i>>1]|0;h=p+(a[94974+e>>0]|0)|0;if(h>>>0<60?(d[94648+h>>0]|0)==(p|0):0){e=a[94708+h>>0]|0;j=q;h=i;break}e=a[95009+e>>0]|0;j=q;h=i}while(0);i=k;p=e;q=j;o=h+2|0}if((s|0)==75){pA(137476);e=2;s=76}if((s|0)==76)if((f|0)!=(r|0))D_(f);l=t;return e|0}function pB(){var a=0,b=0;a=c[46223]|0;while(1){if(!a)break;IB(a+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);b=BB(c[46223]|0)|0;c[46223]=b;a=b}return}function qB(){qA();Ay(c[46222]|0);return}function rB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[46222]|0;if(!f){a[184896]=d&1|(e&255)<<1&2|a[184896]&-12|8;f=c[46225]|0;a[g>>0]=a[184896]|0;a[g+1>>0]=a[184897]|0;a[g+2>>0]=a[184898]|0;a[g+3>>0]=a[184899]|0;f=Xx(b,g,f)|0;c[46222]=f}c[46171]=f;c[46223]=CB(c[46223]|0,f)|0;Qz(0,b)|0;l=h;return}function sB(){var b=0,d=0,e=0,f=0,g=0,h=0;HB(2);e=c[46223]|0;f=a[95044]|0;h=0;b=e+24|0;while(1){d=c[b>>2]|0;if(!d)break;if(((c[d>>2]|0)==267?(g=c[d+4>>2]|0,(a[g>>0]|0)==f<<24>>24):0)?(b$(g,95044)|0)==0:0)b=c[d+8>>2]|0;else b=h;h=b;b=d+12|0}b=e+16|0;a:while(1){e=c[b>>2]|0;b=e+12|0;if(!(c[b>>2]|0))break;d=e+4|0;if((c[e>>2]|0)==262){e=c[d>>2]|0;d=Sy(e)|0;while(1){if(!d)continue a;g=Xy(c[c[46223]>>2]|0,d,0)|0;PB(g,0,c[b>>2]|0,h);d=Ty(e,d)|0}}else while(1){d=c[d>>2]|0;if(!d)continue a;PB(c[d+4>>2]|0,c[d+8>>2]|0,c[b>>2]|0,h);d=d+12|0}}IB((c[46223]|0)+8|0);IB((c[46223]|0)+16|0);IB((c[46223]|0)+24|0);c[(c[46223]|0)+4>>2]=0;return}function tB(){var a=0;HB(1);a=(c[46223]|0)+8|0;while(1){a=c[a>>2]|0;if(!a)break;OB(c[a+4>>2]|0);a=a+12|0}IB((c[46223]|0)+8|0);IB((c[46223]|0)+24|0);IB((c[46223]|0)+16|0);c[(c[46223]|0)+4>>2]=0;return}function uB(){var a=0,b=0;a=c[46223]|0;b=c[a+8>>2]|0;if(!b){b=c[a+4>>2]|0;if(!b)b=0;else{b=NB(b)|0;a=c[46223]|0}c[a+4>>2]=0}else{b=MB(b)|0;a=c[46223]|0;c[a+12>>2]=0;c[a+8>>2]=0}if(b|0)EB(a+16|0,b);return}function vB(a,b,d){a=a|0;b=b|0;d=d|0;if(d)b=KB(b,d)|0;d=LB(az(c[c[46223]>>2]|0,a,1)|0,b)|0;EB((c[46223]|0)+8|0,d);Qz(c[46222]|0,a)|0;return}function wB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(d|0)GB();d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;if(!(c[d+8>>2]|0))GB();d=d+12|0}g=(b|0)==260?2:(b|0)==259&1;HB(g);b=c[46223]|0;d=b+24|0;while(1){f=c[d>>2]|0;if(!f)break;do if((c[f>>2]|0)!=267){d=c[f+4>>2]|0;e=c[b>>2]|0;if(!((a[d+21>>0]|0)!=0&(e|0)==(c[46222]|0))){d=nx(e,g,c[d+8>>2]|0,c[f+8>>2]|0)|0;b=c[46223]|0;if((c[b>>2]|0)!=(c[46222]|0))break}a[d+22>>0]=1}while(0);d=f+12|0}IB(b+24|0);return}function xB(a,b){a=a|0;b=b|0;b=DB(a,b)|0;EB((c[46223]|0)+24|0,b);return}function yB(a){a=a|0;var b=0;b=c[46223]|0;c[46223]=CB(b,vA(c[b>>2]|0,a,1)|0)|0;Qz(c[46222]|0,a)|0;return}function zB(){var a=0,b=0;a=c[46223]|0;b=c[a>>2]|0;a=BB(a)|0;c[46223]=a;c[a+4>>2]=b;return}function AB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+1024|0;f=g;d=W_(a)|0;d=d+1+(W_(b)|0)|0;if(d>>>0<1025)d=f;else d=C_(d)|0;b0(d,a)|0;p1(d,b)|0;e=Oz(c[46222]|0,d)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((d|0)!=(f|0))D_(d);l=g;return e|0}function BB(a){a=a|0;var b=0;b=c[(c[46223]|0)+32>>2]|0;Ny(c[46222]|0,a);return b|0}function CB(a,b){a=a|0;b=b|0;var d=0;d=My(c[46222]|0,36)|0;c[d+32>>2]=a;c[d>>2]=b;return d|0}function DB(a,b){a=a|0;b=b|0;return FB(267,a,b)|0}function EB(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=c[d>>2]|0;if(e|0)c[e+12>>2]=b;c[d>>2]=b;if(!(c[a>>2]|0))c[a>>2]=b;return}function FB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=My(c[46222]|0,16)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;return e|0}function GB(){var a=0;a=l;l=l+16|0;Pw(0,95048,a)|0;l=a;return}function HB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=(b|0)==2;d=(c[46223]|0)+24|0;while(1){d=c[d>>2]|0;if(!d)break;e=d+4|0;f=c[e>>2]|0;if(!((g?(a[f>>0]|0)==(a[95044]|0):0)?!(b$(f,95044)|0):0)){h=nx(c[c[46223]>>2]|0,b,f,0)|0;c[e>>2]=h;if(!h)c[e>>2]=nx(c[c[46223]>>2]|0,b,f,191979)|0;c[d>>2]=266;Qz(c[46222]|0,f)|0}d=d+12|0}return}function IB(a){a=a|0;JB(c[a>>2]|0);c[a+4>>2]=0;c[a>>2]=0;return}function JB(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;switch(c[a>>2]|0){case 265:{JB(c[a+4>>2]|0);break}case 266:case 267:{Qz(c[46222]|0,c[a+8>>2]|0)|0;break}default:{}}Ny(c[46222]|0,a);a=b}return}function KB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;f=h;g=h+8|0;d=W_(a)|0;d=d+2+(W_(b)|0)|0;if(d>>>0<1025)e=g;else e=C_(d)|0;c[f>>2]=a;c[f+4>>2]=b;Y0(e,95081,f)|0;d=Oz(c[46222]|0,e)|0;Qz(c[46222]|0,a)|0;Qz(c[46222]|0,b)|0;if((e|0)!=(g|0))D_(e);l=h;return d|0}function LB(a,b){a=a|0;b=b|0;return FB(259,a,b)|0}function MB(a){a=a|0;return FB(265,a,0)|0}function NB(a){a=a|0;return FB(262,a,0)|0}function OB(a){a=a|0;var b=0,d=0;b=(c[46223]|0)+24|0;while(1){b=c[b>>2]|0;if(!b)break;if((c[b>>2]|0)==266?(d=c[b+4>>2]|0,d|0):0)rx(a,d,c[b+8>>2]|0)|0;b=b+12|0}return}function PB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;a:do if((c[d>>2]|0)==262){d=c[f>>2]|0;f=Sy(d)|0;while(1){if(!f)break a;QB(a,b,Xy(c[c[46223]>>2]|0,f,0)|0,0,e);f=Ty(d,f)|0}}else while(1){f=c[f>>2]|0;if(!f)break a;d=Xy(c[c[46223]>>2]|0,c[f+4>>2]|0,0)|0;QB(a,b,d,c[f+8>>2]|0,e);f=f+12|0}while(0);return}function QB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=Rx(c[c[46223]>>2]|0,a,d,f,1)|0;if(d|0){g=c[d>>2]&3;f=c[((g|0)==2?d:d+-48|0)+40>>2]|0;a=(f|0)==(a|0)?(c[((g|0)==3?d:d+48|0)+40>>2]|0)!=(f|0):0;RB(d,108373,a?e:b);RB(d,108382,a?b:e);OB(d)}return}function RB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=nx(c[c[46223]>>2]|0,2,b,0)|0;if(!e)e=nx(c[c[46223]>>2]|0,2,b,191979)|0;rx(a,e,d)|0}return}function SB(a,b,d){a=a|0;b=b|0;d=d|0;c[46191]=b;c[46222]=a;c[46171]=0;a=d|0?d:18496;c[46225]=a;Vz(a,b);oB()|0;a=c[46171]|0;if(!a){sA();a=c[46171]|0}return a|0}function TB(a,b){a=a|0;b=b|0;return SB(0,a,b)|0}function UB(a,b){a=a|0;b=b|0;b=wC(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]|0;c[a+184>>2]=c[b+4>>2];c[a+172>>2]=c[b+12>>2];c[a+176>>2]=c[b>>2];c[a+180>>2]=c[b+16>>2];b=300}return b|0}function VB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;Az(b,134401,280,1)|0;g=b+16|0;c[(c[g>>2]|0)+144>>2]=a;if((fz(b)|0)!=(b|0))c[(c[(fz(b)|0)+16>>2]|0)+144>>2]=a;e=xx(b,95297)|0;d=a+172|0;if((e|0)!=0?(c[d>>2]=0,(UB(a,e)|0)==999):0){d=xC(a,1,e)|0;c[f>>2]=e;c[f+4>>2]=d;Pw(1,95824,f)|0;d=-1}else{e=c[d>>2]|0;if(!e)d=-1;else{CG(1);bH(b,c[c[a+180>>2]>>2]&1);d=c[(c[g>>2]|0)+8>>2]|0;c[(c[(fz(b)|0)+16>>2]|0)+8>>2]=d;LK();d=c[e>>2]|0;if(d|0?(tb[d&127](b),h=c[e+4>>2]|0,h|0):0)c[(c[g>>2]|0)+148>>2]=h;CG(0);d=0}}l=i;return d|0}function WB(a,b){a=a|0;b=b|0;var d=0,e=0;if(Az(b,134401,0,1)|0){d=b+16|0;a=c[d>>2]|0;e=c[a+148>>2]|0;if(e){tb[e&127](b);a=c[d>>2]|0;c[a+148>>2]=0}if(c[a+8>>2]|0)gH(b)}return 0}function XB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;d=c[b+76>>2]|0;f=c[b>>2]|0;if((d|0)!=0?(e=c[d>>2]|0,(e|0)!=0):0){tb[e&127](b);g=12}else g=4;do if((g|0)==4)if((c[b+40>>2]|0)==0?(h=b+36|0,(c[h>>2]|0)==0):0){if(a[f+13>>0]|0)YB(b);d=b+32|0;e=c[d>>2]|0;if(!e){c[h>>2]=c[15653];g=12;break}f=L1(e,103486)|0;c[h>>2]=f;if(!f){j=c[(c[b+12>>2]|0)+16>>2]|0;h=c[d>>2]|0;d=c$(c[(O_()|0)>>2]|0)|0;c[i>>2]=h;c[i+4>>2]=d;ub[j&63](95087,i);d=1}else g=12}else g=12;while(0);if((g|0)==12)if(!(c[b+152>>2]&1024))d=0;else{ub[c[(c[b+12>>2]|0)+16>>2]&63](95125,j);d=1}l=k;return d|0}function YB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+112|0;e=h;g=h+4|0;d=c[b+24>>2]|0;if(!d)a[g>>0]=0;else{c[e>>2]=d+1;Y0(g,95143,e)|0}e=c[b+20>>2]|0;e=e|0?e:95147;d=W_(e)|0;i=W_(g)|0;f=b+52|0;i=d+1+i+(W_(c[f>>2]|0)|0)|0;d=i+11|0;if((c[46226]|0)>>>0<(i+1|0)>>>0){c[46226]=d;d=F_(c[46227]|0,d)|0;c[46227]=d}else d=c[46227]|0;b0(d,e)|0;p1(c[46227]|0,g)|0;d=c[46227]|0;d=d+(W_(d)|0)|0;a[d>>0]=46;a[d+1>>0]=0;d=n1(c[f>>2]|0)|0;f=c[46227]|0;while(1){e=o1(d,58)|0;if(!e)break;p1(f,e+1|0)|0;i=c[46227]|0;g=i+(W_(i)|0)|0;a[g>>0]=46;a[g+1>>0]=0;a[e>>0]=0;f=i}p1(f,d)|0;D_(d);c[b+32>>2]=c[46227];l=h;return}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;f=h;if((b|0)!=0&(d|0)!=0){if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95125,f);Sa(1)}if((_B(a,b,d)|0)==(d|0))e=d;else{f=c[(c[a+12>>2]|0)+16>>2]|0;c[g>>2]=d;ub[f&63](95157,g);Sa(1)}}else e=0;l=h;return e|0}function _B(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=c[(c[b>>2]|0)+104>>2]|0;do if(!f){j=b+40|0;h=c[j>>2]|0;if(!h){e=E1(d,1,e,c[b+36>>2]|0)|0;break}f=b+44|0;i=b+48|0;g=c[i>>2]|0;do if(((c[f>>2]|0)+-1-g|0)>>>0<e>>>0){g=e+4096+g&-4096;c[f>>2]=g;f=F_(h,g)|0;c[j>>2]=f;if(!f){ub[c[(c[b+12>>2]|0)+16>>2]&63](95182,n);Sa(1)}else{k=f;m=c[i>>2]|0;break}}else{k=h;m=g}while(0);F3(k+m|0,d|0,e|0)|0;n=(c[i>>2]|0)+e|0;c[i>>2]=n;a[(c[j>>2]|0)+n>>0]=0}else e=nb[f&63](b,d,e)|0;while(0);l=o;return e|0}function $B(a,b){a=a|0;b=b|0;var c=0;c=W_(b)|0;b=(ZB(a,b,c)|0)==(c|0);return (b?1:-1)|0}function aC(b,c){b=b|0;c=c|0;var d=0,e=0;d=l;l=l+16|0;e=d;a[e>>0]=c;b=(ZB(b,e,1)|0)==1;l=d;return (b?c:-1)|0}function bC(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)==0:0)?(c[(c[b>>2]|0)+104>>2]|0)==0:0)b=w1(d)|0;else b=0;return b|0}function cC(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);bC(a)|0;return}function dC(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=c[a+76>>2]|0;if(c[a+152>>2]&1024|0){ub[c[(c[a+12>>2]|0)+16>>2]&63](95209,e);Sa(1)}if((d|0)!=0?(b=c[d+8>>2]|0,(b|0)!=0):0)tb[b&127](a);else{bC(a)|0;eC(a)}l=e;return}function eC(b){b=b|0;var d=0,e=0,f=0;d=b+32|0;if((c[d>>2]|0?(e=b+36|0,f=c[e>>2]|0,(f|0)!=(c[15653]|0)):0)?(a[b+144>>0]|0)==0:0){if(f|0){s1(f)|0;c[e>>2]=0}c[d>>2]=0}return}function fC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;f=i;h=i+24|0;g=i+8|0;c[g>>2]=d;e=q0(h,1024,b,g)|0;if((e|0)>=0){if((e|0)>1023){e=vH(e+1|0)|0;c[g>>2]=d;f=e;e=Z0(e,b,g)|0}else f=h;ZB(a,f,e)|0;if((f|0)!=(h|0))D_(f)}else{c[f>>2]=c$(c[(O_()|0)>>2]|0)|0;Pw(1,95226,f)|0}l=i;return}function gC(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,b)|0;ZB(a,f,c[e>>2]|0)|0;l=d;return}function hC(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;if(!(d<-1.0e15))if(!(d>1.0e15)){d=d*1.0e4;f=~~((d<0.0?-.5:.5)+d);if(!f){f=135312;e=1}else{l=(f|0)<0;k=4;i=0;e=191746;f=l?0-f|0:f;while(1){if(!((f|0)!=0|(k|0)>0))break;g=(f|0)%10|0;j=(f|0)/10|0;h=e+-1|0;if((g|0)==0&i<<24>>24==0)f=0;else{a[h>>0]=g|48;f=1;e=h}if((k|0)==1)if(!(f<<24>>24))f=1;else{e=e+-1|0;a[e>>0]=46;f=1}k=k+-1|0;i=f;f=j}if(l){e=e+-1|0;a[e>>0]=45}f=e;e=191746-e|0}}else{f=95241;e=18}else{f=95240;e=19}c[b>>2]=e;return f|0}function iC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=hC(e,+h[b>>3])|0;ZB(a,f,c[e>>2]|0)|0;ZB(a,99578,1)|0;b=hC(e,+h[b+8>>3])|0;ZB(a,b,c[e>>2]|0)|0;l=d;return}function jC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;e=0;while(1){h=b+(e<<4)|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];iC(a,f);e=e+1|0;if((e|0)>=(d|0))break;ZB(a,99578,1)|0}l=g;return}function kC(a,b){a=a|0;b=b|0;var d=0;d=uH(392)|0;if(d|0){c[d>>2]=20052;c[d+16>>2]=23;c[d+32>>2]=a;c[d+36>>2]=b}return d|0}function lC(a){a=a|0;var b=0,d=0,e=0,f=0;b=uH(392)|0;d=b;e=a;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));f=b+60|0;e=a+60|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];f=b+80|0;e=a+80|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];return b|0}function mC(a){a=a|0;tC(a);D_(a);return}function nC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46228]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46228]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46228]=d;c[d+32>>2]=b;c[d>>2]=a;return}function oC(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+160|0;d=c[e>>2]|0;if(d){e=c[46229]|0;if(e){d=c[e+4>>2]|0;if(!d){d=uH(632)|0;c[(c[46229]|0)+4>>2]=d}}}else{d=uH(632)|0;c[e>>2]=d;c[a+164>>2]=d}c[46229]=d;c[d+52>>2]=b;c[d>>2]=a;return (wC(a,3,b)|0)!=0|0}function pC(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}function qC(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0;if(d|0?(e=d+52|0,(c[e>>2]|0)==0):0)c[e>>2]=c[b+52>>2];c[a>>2]=d;return d|0}function rC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;f=b+10|0;if((c[e>>2]|0)>(b|0))a=c[a>>2]|0;else{c[e>>2]=f;f=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=f;a=f}c[a+(b<<2)>>2]=d;return}function sC(a){a=a|0;var b=0;b=c[a>>2]|0;if(b|0)D_(b);c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;return}function tC(a){a=a|0;var b=0,d=0,e=0;d=a+160|0;b=c[d>>2]|0;while(1){if(!b)break;e=c[b+4>>2]|0;sC(b+604|0);sC(b+592|0);D_(c[b+584>>2]|0);D_(c[b+588>>2]|0);D_(b);b=e}c[46229]=0;c[46228]=0;c[a+192>>2]=0;c[a+164>>2]=0;c[d>>2]=0;c[a+28>>2]=0;return}function uC(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;k=n+64|0;m=n;U0(k,e,63)|0;i=A$(k,58)|0;if(i|0)a[i>>0]=0;b=b+60+(d<<2)|0;while(1){d=c[b>>2]|0;if(!d){d=b;b=0;break}U0(m,c[d+4>>2]|0,63)|0;d=A$(m,58)|0;if(d|0)a[d>>0]=0;if((b$(k,m)|0)<1){j=9;break}b=c[b>>2]|0}while(1){if((j|0)==9){d=b;b=c[b>>2]|0}if(!b)break;U0(m,c[b+4>>2]|0,63)|0;b=A$(m,58)|0;if(b|0)a[b>>0]=0;if(b$(k,m)|0)break;b=c[d>>2]|0;if((c[b+8>>2]|0)<=(f|0))break;j=9}m=vH(20)|0;c[m>>2]=c[d>>2];c[d>>2]=m;c[m+4>>2]=e;c[m+8>>2]=f;c[m+12>>2]=g;c[m+16>>2]=h;l=n;return 1}function vC(a,b){a=a|0;b=b|0;b=l;l=l+16|0;Pw(1,95321,b)|0;l=b;return 0}function wC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+144|0;r=s;o=s+80|0;p=s+16|0;n=(d+-3|0)>>>0<2?0:d;U0(o,e,63)|0;e=A$(o,58)|0;if(e){f=e+1|0;a[e>>0]=0;e=A$(f,58)|0;if(!e)m=0;else{a[e>>0]=0;m=e+1|0}}else{m=0;f=0}i=(f|0)!=0;j=(m|0)==0;k=(n|0)==(d|0);h=b+60+(d<<2)|0;a:while(1){e=c[h>>2]|0;if(!e){e=0;break}U0(p,c[e+4>>2]|0,63)|0;e=A$(p,58)|0;if(!e)e=0;else{a[e>>0]=0;e=e+1|0}do if(!(b$(p,o)|0)){g=(e|0)!=0;if(i&g?b$(e,f)|0:0)break;if(!j?b$(m,c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2]|0)|0:0)break;if(k|g^1){q=16;break a}if(wC(b,n,e)|0){q=16;break a}}while(0);h=c[h>>2]|0}do if((q|0)==16){e=c[h>>2]|0;if(e){f=e+16|0;if((c[f>>2]|0)==0?(vC(0,0)|0,(c[f>>2]|0)==0):0){e=0;break}if((c[b+8>>2]|0)>0){q=c[15686]|0;o=c[e+4>>2]|0;p=c[(c[e+12>>2]|0)+8>>2]|0;c[r>>2]=c[20064+(d<<2)>>2];c[r+4>>2]=o;c[r+8>>2]=p;g1(q,95352,r)|0}}else e=0}while(0);c[b+80+(d<<2)>>2]=e;l=s;return e|0}function xC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;else{if(c[5021]|0){Tw(184920,0,0);c[5021]=0}h=n1(e)|0;e=A$(h,58)|0;if(e){a[e>>0]=0;f=b+60+(d<<2)|0;e=1;g=f;while(1){b=c[g>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((a[h>>0]|0)!=0?(O$(h,d)|0)!=0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,c[(c[g>>2]|0)+4>>2]|0)|0;e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=58;Ww(184920,c[(c[(c[g>>2]|0)+12>>2]|0)+8>>2]|0)|0;e=0}D_(d);g=c[g>>2]|0}D_(h);if(e<<24>>24){g=0;i=19}}else{D_(h);g=0;f=b+60+(d<<2)|0;e=1;i=19}if((i|0)==19){while(1){b=c[f>>2]|0;if(!b)break;d=n1(c[b+4>>2]|0)|0;b=A$(d,58)|0;if(b|0)a[b>>0]=0;if(!((g|0)!=0?(O$(g,d)|0)==0:0)){e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}c[46231]=e+1;a[e>>0]=32;Ww(184920,d)|0;e=0}g=d;f=c[f>>2]|0;i=19}if(e<<24>>24){e=191979;break}}e=c[46231]|0;if(e>>>0>=(c[46232]|0)>>>0){Uw(184920,1)|0;e=c[46231]|0}a[e>>0]=0;e=c[46230]|0;c[46231]=e}while(0);return e|0}function yC(b){b=b|0;var d=0;if(!b)qa(108182,95369,573,95383);if(!(a[b>>0]|0))qa(108187,95369,574,95383);d=c[46234]|0;if(!d)b=0;else b=nb[c[d>>2]&63](d,b,512)|0;return b|0}function zC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;if(!b)qa(108230,95369,589,95400);g=b+8|0;e=c[g>>2]|0;if(!e)qa(108233,95369,590,95400);if(!(a[e>>0]|0))qa(108242,95369,591,95400);h=b+20|0;f=c[h>>2]|0;do if(!f){d=ZL(e)|0;if(!d){c[i>>2]=c[g>>2];Pw(0,95424,i)|0;d=0;break}i=L1(d,135739)|0;c[h>>2]=i;if(!i){c[j>>2]=c$(c[(O_()|0)>>2]|0)|0;c[j+4>>2]=d;Pw(0,95449,j)|0;d=0;break}d=c[46235]|0;if((d|0)>49){a[b+17>>0]=1;d=1;break}else{c[46235]=d+1;d=1;break}}else{Z1(f,0,0)|0;if(!(c[h>>2]|0))qa(95470,95369,614,95400);else d=1}while(0);l=k;return d|0}function AC(b){b=b|0;var d=0,e=0;if(a[b+17>>0]|0?(d=b+20|0,e=c[d>>2]|0,e|0):0){s1(e)|0;c[d>>2]=0}return}function BC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){e=-1;d=-1}else{e=c[b+48>>2]|0;f=+(e|0);if(!e){g=+h[d>>3];f=+h[d+8>>3]}else{h[d+8>>3]=f;h[d>>3]=f;g=f}e=~~(+((c[b+40>>2]|0)*72|0)/g);d=~~(+((c[b+44>>2]|0)*72|0)/f)}c[a>>2]=e;c[a+4>>2]=d;return}function CC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;f=m+16|0;j=m;k=m+32|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){if((0==0?(g=c[46362]|0,(c[46236]|0)!=(g|0)):0)?(c[46236]=g,i=c[46234]|0,i|0):0){yw(i)|0;c[46234]=0}n=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];n=!(n>=1.0)?96.0:n;h[j+8>>3]=n;h[j>>3]=n;d=DC(e)|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];BC(k,d,f);d=c[k>>2]|0;f=c[k+4>>2]|0}else{d=-1;f=-1}c[b>>2]=d;c[b+4>>2]=f;l=m;return}function DC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;if(!a)qa(108182,95369,638,95476);if(!(c[46234]|0))c[46234]=Cw(20088,c[4563]|0)|0;b=yC(a)|0;a:do if(!b){b=uH(64)|0;if(!b)b=0;else{d=b+8|0;c[d>>2]=Oz(0,a)|0;if(!((zC(b)|0)<<24>>24)){EC(b);b=0;break}if(!(c[b+20>>2]|0))qa(95470,95369,653,95476);do switch(FC(b)|0){case 0:{a=VJ(c[d>>2]|0)|0;c[b+52>>2]=a;if(!a){c[e>>2]=c[d>>2];Pw(0,95493,e)|0;EC(b);b=0;break a}break}case 2:{GC(b);break}case 3:{HC(b);break}case 1:{IC(b);break}case 4:{JC(b);break}case 6:{KC(b);break}case 11:{LC(b);break}case 8:{MC(b);break}case 5:{NC(b);break}case 12:{OC(b);break}default:{}}while(0);AC(b);e=c[46234]|0;nb[c[e>>2]&63](e,b,1)|0}}else AC(b);while(0);l=f;return b|0}function EC(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b|0)Qz(0,b)|0;D_(a);return}function FC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+224|0;f=j+200|0;g=j;h=a+20|0;b=c[h>>2]|0;a:do if((b|0)!=0?(g3(f,1,20,b)|0)==20:0){d=0;while(1){if(d>>>0>=10){i=13;break a}if(!(L0(f,c[20124+(d<<4)>>2]|0,c[20124+(d<<4)+4>>2]|0)|0))break;d=d+1|0}e=a+28|0;c[e>>2]=c[20124+(d<<4)+12>>2];b=c[20124+(d<<4)+8>>2]|0;a=a+24|0;c[a>>2]=b;switch(d|0){case 7:break;case 8:{if(L0(f+8|0,95709,4)|0)break a;c[e>>2]=95714;c[a>>2]=11;b=11;break a}default:break a}while(1){if(!(O0(g,200,c[h>>2]|0)|0)){i=11;break}if(!(L0(g,95704,4)|0)){i=8;break}}if((i|0)==8){c[e>>2]=98777;c[a>>2]=8;b=8;break}else if((i|0)==11){b=c[a>>2]|0;break}}else i=13;while(0);if((i|0)==13){c[a+28>>2]=95719;c[a+24>>2]=0;b=0}l=j;return b|0}function GC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function HC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,16,0)|0;if((PC(c[e>>2]|0,4,b)|0)<<24>>24?(PC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[a+48>>2]=0;g=a+20|0;Z1(c[g>>2]|0,16,0)|0;if((((XC(c[g>>2]|0,2,b)|0)<<24>>24?(XC(c[g>>2]|0,2,d)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,e)|0)<<24>>24:0)?(XC(c[g>>2]|0,2,f)|0)<<24>>24:0){c[a+40>>2]=c[b>>2]<<16|c[d>>2];c[a+44>>2]=c[e>>2]<<16|c[f>>2]}l=h;return}function JC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;b=m+16|0;e=m+12|0;f=m+8|0;h=m+4|0;i=m;c[a+48>>2]=0;j=a+20|0;while(1){if(!((PC(c[j>>2]|0,1,b)|0)<<24>>24))break;d=c[b>>2]|0;if((d|0)==255)continue;if(A$(95692,d)|0)continue;if((d|0)==192){k=6;break}g=c[j>>2]|0;if((d|0)==194){k=11;break}if(!((PC(g,2,e)|0)<<24>>24))break;Z1(c[j>>2]|0,(c[e>>2]|0)+-2|0,1)|0}if((k|0)==6){if(((PC(c[j>>2]|0,3,i)|0)<<24>>24?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}}else if((((k|0)==11?(PC(g,3,i)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,f)|0)<<24>>24:0)?(PC(c[j>>2]|0,2,h)|0)<<24>>24:0){c[a+44>>2]=c[f>>2];c[a+40>>2]=c[h>>2]}l=m;return}function KC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1056|0;j=m;b=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;c[a+48>>2]=72;i=a+20|0;Z1(c[i>>2]|0,0,0)|0;while(1){if(!(O0(b,1024,c[i>>2]|0)|0))break;d=P0(b,95677)|0;if(!d)continue;c[j>>2]=e;c[j+4>>2]=f;c[j+8>>2]=g;c[j+12>>2]=h;if((N1(d,101285,j)|0)==4){k=5;break}}if((k|0)==5){j=c[e>>2]|0;c[a+32>>2]=j;k=c[f>>2]|0;c[a+36>>2]=k;c[a+40>>2]=(c[g>>2]|0)-j;c[a+44>>2]=(c[h>>2]|0)-k}l=m;return}function LC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+4|0;d=g;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,15,0)|0;h=(m3(c[e>>2]|0)|0)==88;f=c[e>>2]|0;if(h){Z1(f,24,0)|0;if((XC(c[e>>2]|0,4,b)|0)<<24>>24?(XC(c[e>>2]|0,4,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}else{Z1(f,26,0)|0;if((XC(c[e>>2]|0,2,b)|0)<<24>>24?(XC(c[e>>2]|0,2,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}}l=g;return}function MC(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+352|0;C=F+80|0;B=F+72|0;E=F+64|0;D=F+56|0;A=F+48|0;d=F+40|0;s=F+32|0;t=F+24|0;u=F+16|0;v=F+8|0;w=F;x=F+328|0;y=F+128|0;z=F+96|0;if(!(c[46237]|0)){if(o2(184952,95562,1)|0){c[d>>2]=95562;Pw(1,95589,d)|0}c[46237]=184952}m=b+20|0;Z1(c[m>>2]|0,0,0)|0;n=z+12|0;o=z+20|0;p=z+8|0;q=z+16|0;r=z+4|0;d=0;g=0;f=0;e=0;a:while(1){if(!(O0(y,200,c[m>>2]|0)|0))break;if(g<<24>>24==0|d<<24>>24==0){i=y;k=e}else break;b:while(1){j=f;c:while(1){while(1){if(a3(184952,i,4,z,0)|0){f=j;e=k;continue a}a[i+(c[n>>2]|0)>>0]=0;a[i+(c[o>>2]|0)>>0]=0;e=i+(c[p>>2]|0)|0;f=i+(c[q>>2]|0)|0;i=i+((c[r>>2]|0)+1)|0;if(!(b$(e,138034)|0))break;if(!(b$(e,137966)|0))break c;if(b$(e,95636)|0)continue;c[C>>2]=t;c[C+4>>2]=u;c[C+8>>2]=v;c[C+12>>2]=w;if((N1(f,95644,C)|0)==4)break b}c[A>>2]=s;c[A+4>>2]=x;if((N1(f,95626,A)|0)!=2){c[D>>2]=s;if((N1(f,98183,D)|0)==1){e=1;f=WC(+h[s>>3],95633)|0}else{e=g;f=j}}else{e=1;f=WC(+h[s>>3],x)|0}if(!(d<<24>>24)){d=0;g=e;j=f}else{g=e;e=k;continue a}}c[E>>2]=s;c[E+4>>2]=x;if((N1(f,95626,E)|0)!=2){c[B>>2]=s;if((N1(f,98183,B)|0)==1){d=1;e=WC(+h[s>>3],95633)|0}else e=k}else{d=1;e=WC(+h[s>>3],x)|0}if(!(g<<24>>24)){g=0;f=j;k=e}else{f=j;continue a}}d=1;g=1;f=~~(+h[v>>3]+1.0-+h[t>>3])>>>0;e=~~(+h[w>>3]+1.0-+h[u>>3])>>>0}c[b+48>>2]=0;c[b+40>>2]=f;c[b+44>>2]=e;l=F;return}function NC(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0;d=l;l=l+32|0;b=d;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,0,0)|0;if(!(QC(c[e>>2]|0,b)|0)){g=+h[b>>3];c[a+32>>2]=~~g;f=+h[b+8>>3];c[a+36>>2]=~~f;c[a+40>>2]=~~(+h[b+16>>3]-g);c[a+44>>2]=~~(+h[b+24>>3]-f)}l=d;return}function OC(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[a+48>>2]=0;e=a+20|0;Z1(c[e>>2]|0,6,0)|0;if((PC(c[e>>2]|0,1,b)|0)<<24>>24?(PC(c[e>>2]|0,1,d)|0)<<24>>24:0){c[a+40>>2]=c[b>>2];c[a+44>>2]=c[d>>2]}l=f;return}function PC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]<<8|f;e=e+1|0}return e|0}function QC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+1040|0;d=h;e=h+16|0;while(1){if(!(O0(e,1024,a)|0)){a=1;break}f=P0(e,95552)|0;if(f|0){g=4;break}}if((g|0)==4){c[d+4>>2]=e;c[d>>2]=f+9;c[d+8>>2]=a;a=RC(d,b)|0}l=h;return a|0}function RC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+1024|0;f=g;SC(b);e=a[c[b>>2]>>0]|0;if(!(e<<24>>24))e=(TC(b)|0)&255;else e=e<<24>>24;if((((e|0)==91?(c[b>>2]=(c[b>>2]|0)+1,UC(b,f),(VC(f,d)|0)==0):0)?(UC(b,f),(VC(f,d+8|0)|0)==0):0)?(UC(b,f),(VC(f,d+16|0)|0)==0):0){UC(b,f);e=(VC(f,d+24|0)|0)!=0&1}else e=1;l=g;return e|0}function SC(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24>>24))d=(TC(b)|0)&255;else d=d<<24>>24;if(!((d&255)<<24>>24))break;if(!(B$(d&255)|0))break;d=(c[b>>2]|0)+1|0;c[b>>2]=d}return}function TC(b){b=b|0;var d=0;d=b+4|0;if(!(O0(c[d>>2]|0,1024,c[b+8>>2]|0)|0))b=0;else{d=c[d>>2]|0;c[b>>2]=d;b=a[d>>0]|0}return b|0}function UC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;SC(b);e=0;f=c[b>>2]|0;while(1){f=a[f>>0]|0;if(!(f<<24>>24))g=(TC(b)|0)&255;else g=f<<24>>24;f=g<<24>>24;if(!f)break;if(!((f|0)==46|(f+-48|0)>>>0<10))break;a[d+e>>0]=g;e=e+1|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;if((e|0)==1023){e=1023;break}}a[d+e>>0]=0;return}function VC(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=l;l=l+16|0;f=e;d=+c2(a,f);if((c[f>>2]|0)==(a|0))a=1;else{h[b>>3]=d;a=0}l=e;return a|0}function WC(a,b){a=+a;b=b|0;var c=0.0;do if(!(b$(b,95660)|0)){a=a*72.0;c=a;a=a>=0.0?.5:-.5}else{if(!(b$(b,95663)|0)){a=a*.75;c=a;a=a>=0.0?.5:-.5;break}if(!(b$(b,95666)|0)){a=a*12.0;c=a;a=a>=0.0?.5:-.5;break}if(b$(b,95633)|0?b$(b,95669)|0:0)if(!(b$(b,95671)|0)){a=a*28.346456664;c=a;a=a>=0.0?.5:-.5;break}else{b=(b$(b,95674)|0)==0;c=a*2.8346456663999997;return (b?~~(c+(c>=0.0?.5:-.5)):0)|0}c=a>=0.0?.5:-.5}while(0);return ~~(a+c)|0}function XC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;e=0;while(1){if(e>>>0>=b>>>0){e=1;break}f=m3(a)|0;if(r1(a)|0){e=0;break}c[d>>2]=c[d>>2]|f<<(e<<3);e=e+1|0}return e|0}function YC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a|0)s1(a)|0;if(c[b+52>>2]|0?(e=c[b+60>>2]|0,e|0):0)tb[e&127](b);D_(b);return}function ZC(){var a=0;nx(0,1,105198,102467)|0;a=kC(0,1)|0;LP(a,0);return a|0}function _C(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0;k=l;l=l+304|0;j=k+24|0;i=k+8|0;f=k;g=k+40|0;if((UB(b,e)|0)!=999)if((VB(b,d)|0)==-1)b=-1;else{b=c[d+16>>2]|0;e=b+16|0;if(!(a[(c[b+8>>2]|0)+81>>0]|0)){p=+h[e>>3];o=+h[b+24>>3];n=+h[b+32>>3];m=+h[b+40>>3];c[j>>2]=~~(p+(p>=0.0?.5:-.5));c[j+4>>2]=~~(o+(o>=0.0?.5:-.5));c[j+8>>2]=~~(n+(n>=0.0?.5:-.5));c[j+12>>2]=~~(m+(m>=0.0?.5:-.5));Y0(g,95873,j)|0}else{m=+h[b+24>>3];n=+h[e>>3];o=+h[b+40>>3];p=+h[b+32>>3];c[i>>2]=~~(m+(m>=0.0?.5:-.5));c[i+4>>2]=~~(n+(n>=0.0?.5:-.5));c[i+8>>2]=~~(o+(o>=0.0?.5:-.5));c[i+12>>2]=~~(p+(p>=0.0?.5:-.5));Y0(g,95873,i)|0}Ax(d,99645,g,191979)|0;b=0}else{b=xC(b,1,e)|0;c[f>>2]=e;c[f+4>>2]=b;Pw(1,95824,f)|0;b=-1}l=k;return b|0}function $C(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){c[b+36>>2]=e;if(!e){h=b+152|0;c[h>>2]=c[h>>2]|134217728}h=DG(a,f)|0;wO(b);tC(a);b=h}l=i;return b|0}function aD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;f=c[b+60>>2]|0;oC(a,d)|0;b=c[a+164>>2]|0;c[b+56>>2]=uO(b,c[b+52>>2]|0)|0;if((Az(f,134401,0,1)|0)!=0?(c[(c[f+16>>2]|0)+8>>2]|0)!=0:0)h=5;else if(!(c[b+152>>2]&67108864)){Sw(95885,g);b=-1}else h=5;if((h|0)==5){nC(a,e);h=DG(a,f)|0;wO(b);dC(b);tC(a);b=h}l=i;return b|0}function bD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+8|0;g=m;b=c[b+60>>2]|0;oC(a,d)|0;j=c[a+164>>2]|0;c[j+56>>2]=uO(j,c[j+52>>2]|0)|0;if((Az(b,134401,0,1)|0)!=0?(c[(c[b+16>>2]|0)+8>>2]|0)!=0:0)k=5;else if(!(c[j+152>>2]&67108864)){Sw(95885,g);b=-1}else k=5;do if((k|0)==5){if(e|0?(i=C_(4096)|0,c[e>>2]=i,i|0):0){g=j+40|0;c[g>>2]=i;c[j+44>>2]=4096;d=j+48|0;c[d>>2]=0;b=DG(a,b)|0;wO(j);if(!b){c[e>>2]=c[g>>2];c[f>>2]=c[d>>2]}tC(a);break}Pw(1,95906,h)|0;b=-1}while(0);l=m;return b|0}function cD(a,b){a=a|0;b=b|0;JP(a,0,b);return}function dD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+4288|0;E=H+8|0;D=H;F=4;G=C_(40)|0;c[G>>2]=0;A=H+4152|0;B=H+4148|0;C=H+4128|0;j=H+4112|0;k=H+16|0;o=0;i=$(24,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;a:do if((h|0)!=1){if(!i){c[d>>2]=0;g=0;break}o=0;n=ca(26,e|0,B|0,A|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;m=$(23,40)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;na(7,C|0,j|0,k|0,24,83);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)!=1){j=C+16|0;i=c[j>>2]|0;g=e;while(1){if(!g)break;o=0;aa(i|0,g|0,0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}o=0;g=aa(84,b|0,g|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){y=0;x=j;w=m;v=n;g=z;m=15;break a}}G=D3(184984,1,G|0,F|0)|0;F=z;o=0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){y=m;x=j;w=m;v=n;g=z;m=15}else{y=m;x=j;w=m;v=n;g=0;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=m;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=n;g=z;m=15}}else{y=0;x=0;w=0;v=0;g=z;m=15}while(0);do if((m|0)==15){b:while(1){c:do if(!g){o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}u=v+(c[B>>2]|0)|0;k=0;m=0;j=0;while(1){if(!e)break;o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){i=E3(c[h>>2]|0,G|0,F|0)|0;if(!i)bb(h|0,p|0);z=p}else i=-1;if((i|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((g|0)==0?(a[(c[e+16>>2]|0)+119>>0]|0)==3:0){if(!m){o=0;c[D>>2]=j;ca(27,u|0,134313,D|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;i=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,i|0,134401,280,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}c[y+(j<<2)>>2]=i;k=1;j=j+1|0}else i=m;o=0;da(54,b|0,e|0,i|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}}else i=m;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}m=i}o=0;e=$(25,b|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}i=10;n=y;q=w;r=w;t=w;while(1){if(!e){m=0;i=r;e=t;break c}o=0;g=aa(c[x>>2]|0,e|0,-1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){m=E3(c[h>>2]|0,G|0,F|0)|0;if(!m)bb(h|0,p|0);z=p}else m=-1;if((m|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if(!g){o=0;c[E>>2]=j;ca(27,u|0,134313,E|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;s=ca(28,b|0,v|0,1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(53,s|0,134401,280,1)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){g=E3(c[h>>2]|0,G|0,F|0)|0;if(!g)bb(h|0,p|0);z=p}else g=-1;if((g|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}o=0;da(54,b|0,e|0,s|0,C|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}if((j|0)==(i|0)){i=j<<1;o=0;m=aa(85,q|0,j<<3|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=m;q=m;r=m;h=m}else{g=n;h=t}c[g+(j<<2)>>2]=s;n=g;j=j+1|0;m=h}else m=t;o=0;e=aa(84,b|0,e|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}t=m}}else{m=1;k=0;n=y;j=0;i=w;e=w}while(0);o=0;ia(105,C|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}if((v|0)!=(A|0)){o=0;ia(103,v|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}}if(!m){o=0;g=aa(85,e|0,j<<2|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue}else{m=58;break}}c[d>>2]=0;g=0;while(1){if((g|0)>=(j|0))break;o=0;$(26,c[n+(g<<2)>>2]|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){e=E3(c[h>>2]|0,G|0,F|0)|0;if(!e)bb(h|0,p|0);z=p}else e=-1;if((e|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15;continue b}g=g+1|0}o=0;ia(103,i|0);g=o;o=0;if((g|0)!=0&(p|0)!=0){h=E3(c[g>>2]|0,G|0,F|0)|0;if(!h)bb(g|0,p|0);z=p}else h=-1;if((h|0)==1){s=v;t=w;u=x;m=y;g=z;v=s;w=t;x=u;y=m;m=15}else{m=56;break}}if((m|0)==56){g=0;break}else if((m|0)==58){c[d>>2]=j;a[f>>0]=k;break}}while(0);D_(G|0);l=H;return g|0}function eD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if(!((a|0)!=0?(nD(a)|0)!=0:0))a=95962;e=W_(a)|0;if((e|0)>=104){d=vH(e+25|0)|0;if(!d)d=0;else f=6}else f=6;if((f|0)==6){b0(d,a)|0;c[b>>2]=e}return d|0}function fD(a,b){a=a|0;b=b|0;Xy(b,a,1)|0;return}function gD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function hD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=d;c[b+4>>2]=d+4096;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;c[a+12>>2]=e;c[a+16>>2]=f;return}function iD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;lD(e,b);i=e+12|0;j=e+16|0;b=0;a:while(1){k=mD(e)|0;if(!k)break;b=b+1|0;f=c[i>>2]|0;if(f|0)ub[f&63](k,d);h=Jx(a,k)|0;while(1){if(!h)continue a;g=c[h>>2]&3;f=c[((g|0)==3?h:h+48|0)+40>>2]|0;if((f|0)==(k|0))f=c[((g|0)==2?h:h+-48|0)+40>>2]|0;if(!(lb[c[j>>2]&127](f,-1)|0))lD(e,f);h=Kx(a,h,k)|0}}return b|0}function jD(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;kD(a);a=b}return}function kD(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function lD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;f=k;g=a+8|0;i=a+4|0;d=c[i>>2]|0;if((c[g>>2]|0)==(c[d+4>>2]|0)){d=c[d+12>>2]|0;do if(!d){e=vH(16)|0;if(!e){Pw(1,95943,f)|0;bb(184984,1)}c[e+8>>2]=c[i>>2];c[e+12>>2]=0;d=vH(4e6)|0;c[e>>2]=d;if(!d){Pw(1,95943,j)|0;bb(184984,1)}else{c[e+4>>2]=d+4e6;c[(c[i>>2]|0)+12>>2]=e;h=e;break}}else h=d;while(0);c[i>>2]=h;c[g>>2]=c[h>>2]}lb[c[a+16>>2]&127](b,1)|0;j=c[g>>2]|0;c[g>>2]=j+4;c[j>>2]=b;l=k;return}function mD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function nD(b){b=b|0;var c=0;a:while(1){c=b;b=b+1|0;c=a[c>>0]|0;switch(c<<24>>24){case 95:continue a;case 0:{b=1;break a}default:{}}if(!(M$(c&255)|0)){b=0;break}}return b|0}function oD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0;B=l;l=l+4272|0;x=B;y=4;A=C_(40)|0;c[A>>2]=0;u=B+4144|0;v=B+4140|0;w=B+4120|0;h=B+4104|0;i=B+8|0;o=0;f=$(24,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){e=E3(c[g>>2]|0,A|0,y|0)|0;if(!e)bb(g|0,p|0);z=p}else e=-1;a:do if((e|0)!=1)if(f){o=0;k=ca(26,d|0,v|0,u|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;j=$(23,40)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;na(7,w|0,h|0,i|0,24,83);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1){h=w+16|0;g=c[h>>2]|0;e=f;while(1){if(!e)break;o=0;aa(g|0,e|0,0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}o=0;e=aa(84,a|0,e|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){t=h;s=j;r=k;e=z;j=14;break a}}A=D3(184984,1,A|0,y|0)|0;y=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){t=h;s=j;r=k;e=z;j=14}else{t=h;s=j;r=k;e=0;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=j;r=k;e=z;j=14}}else{t=0;s=0;r=k;e=z;j=14}}else{d=0;e=0}else{t=0;s=0;r=0;e=z;j=14}while(0);b:do if((j|0)==14){c:while(1){if(e|0){o=0;ia(105,w|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;ia(103,s|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0)){d=0;e=0;break b}o=0;ia(103,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}else{j=19;break}}o=0;f=$(25,a|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,A|0,y|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}q=r+(c[v>>2]|0)|0;h=10;k=s;e=0;j=s;n=s;while(1){if(!f)break;o=0;d=aa(c[t>>2]|0,f|0,-1)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,A|0,y|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if(!d){o=0;c[x>>2]=e;ca(27,q|0,134313,x|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;m=ca(28,a|0,r|0,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(53,m|0,134401,280,1)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}o=0;da(54,a|0,f|0,m|0,w|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}if((e|0)==(h|0)){h=e<<1;o=0;i=aa(85,j|0,e<<3|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}g=i;j=i;d=i}else{g=k;d=n}c[g+(e<<2)>>2]=m;e=e+1|0;k=g;i=d}else i=n;o=0;f=aa(84,a|0,f|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){g=E3(c[d>>2]|0,A|0,y|0)|0;if(!g)bb(d|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue c}n=i}o=0;ia(105,w|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){f=E3(c[d>>2]|0,A|0,y|0)|0;if(!f)bb(d|0,p|0);z=p}else f=-1;if((f|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}o=0;d=aa(85,n|0,e<<2|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14;continue}if((r|0)==(u|0))break b;o=0;ia(103,r|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,A|0,y|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=r;q=s;j=t;e=z;r=n;s=q;t=j;j=14}else{j=39;break}}if((j|0)==19){d=0;e=0;break}else if((j|0)==39)break}while(0);c[b>>2]=e;D_(A|0);l=B;return d|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=0;f=Sy(a)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if(Xy(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,0)|0){Vx(a,e,1)|0;d=d+1|0}e=Gx(b,e)|0}f=Ty(a,f)|0}return d|0}function qD(a){a=a|0;a=yz(a,95967,0)|0;if(!a)qa(95972,95975,529,95984);else return c[a+8>>2]|0;return 0}function rD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+4320|0;s=u+24|0;r=u+8|0;q=u;t=u+4184|0;p=u+4160|0;f=u+40|0;if(ay(b)|0){Fz(b,0,95993,-12,0);Fz(b,1,96005,16,0);o=eD(e,f,t)|0;k=sD(b)|0;m=vH((ay(k)|0)<<2)|0;hD(p,u+4144|0,u+48|0,24,86);h=Sy(k)|0;n=p+16|0;i=o+(c[f>>2]|0)|0;j=c[15686]|0;e=0;while(1){if(!h)break;if(!(lb[c[n>>2]&127](h,-1)|0)){c[q>>2]=e;Y0(i,96907,q)|0;v=vA(k,o,1)|0;w=vA(b,o,1)|0;Az(w,95993,12,0)|0;a[(yz(w,95993,0)|0)+8>>0]=1;f=iD(k,h,v,p)|0;uD(v,w);g=vD(w)|0;wD(b,w);c[m+(e<<2)>>2]=w;dz(k,v)|0;if(0){c[r>>2]=e;c[r+4>>2]=f;c[r+8>>2]=g;g1(j,96017,r)|0}e=e+1|0}h=Ty(k,h)|0}if(0){r=ay(b)|0;v=by(b)|0;w=ry(b)|0;c[s>>2]=r;c[s+4>>2]=v;c[s+8>>2]=e;c[s+12>>2]=w;g1(j,96047,s)|0}$x(k)|0;Gz(b,0,95993);Gz(b,1,96005);jD(p);f=xH(m,e<<2)|0;if((o|0)!=(t|0))D_(o)}else{f=0;e=0}c[d>>2]=e;l=u;return f|0}function sD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;a[h>>0]=a[18492]|0;a[h+1>>0]=a[18493]|0;a[h+2>>0]=a[18494]|0;a[h+3>>0]=a[18495]|0;h=Xx(96094,h,0)|0;zD(h,b);d=Sy(b)|0;while(1){if(!d)break;if(!(c[(yz(d,96005,0)|0)+12>>2]|0)){g=az(h,ry(d)|0,1)|0;Az(g,96005,16,1)|0;c[(c[g+16>>2]|0)+12>>2]=d;c[(yz(d,96005,0)|0)+12>>2]=g}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;f=c[(yz(e,96005,0)|0)+12>>2]|0;d=Ex(b,e)|0;while(1){if(!d)break;g=c[(yz(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,96005,0)|0)+12>>2]|0;do if((g|0)!=(f|0))if(g>>>0>f>>>0){Rx(h,f,g,0,1)|0;break}else{Rx(h,g,f,0,1)|0;break}while(0);d=Gx(b,d)|0}e=Ty(b,e)|0}l=i;return h|0}function tD(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if((d|0)>=0)a[b>>0]=d;return e|0}function uD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=Sy(a)|0;while(1){if(!e)break;f=c[(c[e+16>>2]|0)+12>>2]|0;a:do if((c[f>>2]&3|0)==1)Xy(b,f,1)|0;else{d=Sy(f)|0;while(1){if(!d)break a;Xy(b,d,1)|0;d=Ty(f,d)|0}}while(0);e=Ty(a,e)|0}return}function vD(a){a=a|0;return pD(a,c[a+60>>2]|0)|0}function wD(a,b){a=a|0;b=b|0;xD(a,b,0);return}function xD(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;g=(d|0)==0;b=wA(b)|0;while(1){if(!b)break;if((a[(yz(b,95993,0)|0)+8>>0]|0)==0?(f=yD(b,c,d)|0,f|0):0){if(g)e=(z$(ry(b)|0,104980,7)|0)==0;else e=1;xD(b,f,e&1)}b=xA(b)|0}return}function yD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=0;g=Sy(a)|0;while(1){if(!g)break;f=az(b,ry(g)|0,0)|0;if(f){if(!e)e=vA(b,ry(a)|0,1)|0;Xy(e,f,1)|0}g=Ty(a,g)|0}if((d|0)!=0&(e|0)==0)e=vA(b,ry(a)|0,1)|0;if(e|0?(pD(e,a)|0,Bx(a,e)|0,(z$(ry(e)|0,104980,7)|0)==0):0)c[(Az(e,95967,12,0)|0)+8>>2]=a;return e|0}function zD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+16|0;g=h;d=wA(b)|0;e=c[15686]|0;while(1){if(!d)break;a:do if(!(z$(ry(d)|0,104980,7)|0)){f=az(a,ry(d)|0,1)|0;Az(f,96005,16,1)|0;c[(c[f+16>>2]|0)+12>>2]=d;b=Sy(d)|0;while(1){if(!b)break a;if(c[(yz(b,96005,0)|0)+12>>2]|0){k=ry(b)|0;j=ry(d)|0;i=ry(c[(yz(b,96005,0)|0)+12>>2]|0)|0;c[g>>2]=k;c[g+4>>2]=j;c[g+8>>2]=i;g1(e,96097,g)|0}c[(yz(b,96005,0)|0)+12>>2]=f;b=Ty(d,b)|0}}else zD(a,d);while(0);d=xA(d)|0}l=h;return}function AD(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0;n=+h[a>>3];j=~~(n+(n>=0.0?.5:-.5));n=+h[a+8>>3];a=~~(n+(n>=0.0?.5:-.5));n=+h[b>>3];g=~~(n+(n>=0.0?.5:-.5));n=+h[b+8>>3];f=~~(n+(n>=0.0?.5:-.5));l=g-j|0;i=((l|0)>-1?l:0-l|0)<<1;l=l>>31|1;m=f-a|0;k=((m|0)>-1?m:0-m|0)<<1;m=m>>31|1;a:do if((i|0)>(k|0)){e=0-i|0;d=k-(i>>1)|0;b=j;while(1){BI(c,b,a);if((b|0)==(g|0))break a;j=(d|0)>-1;d=d+k+(j?e:0)|0;b=b+l|0;a=(j?m:0)+a|0}}else{e=0-k|0;d=j;b=i-(k>>1)|0;while(1){BI(c,d,a);if((a|0)==(f|0))break a;k=(b|0)>-1;d=(k?l:0)+d|0;b=b+i+(k?e:0)|0;a=a+m|0}}while(0);return}function BD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;j=n+4|0;do if((a|0)<1)d=0;else{f=e+16|0;if((c[f>>2]|0)>>>0<4){d=CD(a,b,d,e)|0;break}m=vH(a<<5)|0;d=0;while(1){if((d|0)==(a|0))break;g=c[b+(d<<2)>>2]|0;mM(g);h=m+(d<<5)|0;g=(c[g+16>>2]|0)+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];c[h+24>>2]=c[g+24>>2];c[h+28>>2]=c[g+28>>2];d=d+1|0}if((c[f>>2]|0)==4){h=e+28|0;a:do if(c[h>>2]&2|0){f=e+24|0;c[f>>2]=uH(a<<2)|0;d=0;while(1){if((d|0)==(a|0))break a;g=xx(c[b+(d<<2)>>2]|0,96164)|0;if(g|0?(c[k>>2]=j,g=(N1(g,134313,k)|0)>0,i=c[j>>2]|0,g&(i|0)>-1):0)c[(c[f>>2]|0)+(d<<2)>>2]=i;d=d+1|0}}while(0);d=DD(a,m,e)|0;if(c[h>>2]&2)D_(c[e+24>>2]|0)}else d=0;D_(m)}while(0);l=n;return d|0}function CD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0;G=l;l=l+144|0;B=G+136|0;A=G+64|0;F=G+48|0;v=G+40|0;u=G;t=G+120|0;x=G+104|0;C=G+96|0;D=c[f+20>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;a:do if((b|0)>=1){o=(D|0)==0;E=c[15686]|0;p=t+4|0;q=t+8|0;r=t+12|0;y=x+4|0;w=x+8|0;z=x+12|0;n=0;g=0;while(1){if((n|0)==(b|0))break;s=c[d+(n<<2)>>2]|0;mM(s);if(!o?(a[D+n>>0]|0)!=0:0){m=c[s+16>>2]|0;H=+h[m+16>>3];i=~~(H+(H>=0.0?.5:-.5));c[t>>2]=i;H=+h[m+24>>3];j=~~(H+(H>=0.0?.5:-.5));c[p>>2]=j;H=+h[m+32>>3];k=~~(H+(H>=0.0?.5:-.5));c[q>>2]=k;H=+h[m+40>>3];m=~~(H+(H>=0.0?.5:-.5));c[r>>2]=m;if(!g){c[x>>2]=c[t>>2];c[x+4>>2]=c[t+4>>2];c[x+8>>2]=c[t+8>>2];c[x+12>>2]=c[t+12>>2]}else{c[x>>2]=c[((c[x>>2]|0)>(i|0)?t:x)>>2];c[y>>2]=c[((c[y>>2]|0)>(j|0)?t:x)+4>>2];c[w>>2]=c[((c[w>>2]|0)<(k|0)?t:x)+8>>2];c[z>>2]=c[((c[z>>2]|0)<(m|0)?t:x)+12>>2]}g=g+1|0}if(0>2){m=ry(s)|0;s=c[s+16>>2]|0;K=+h[s+16>>3];J=+h[s+24>>3];I=+h[s+32>>3];H=+h[s+40>>3];c[u>>2]=m;h[u+8>>3]=K;h[u+16>>3]=J;h[u+24>>3]=I;h[u+32>>3]=H;g1(E,96231,u)|0}n=n+1|0}q=vH(b<<5)|0;g=0;while(1){if((g|0)==(b|0))break;u=q+(g<<5)|0;t=(c[(c[d+(g<<2)>>2]|0)+16>>2]|0)+16|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];g=g+1|0}o=f+8|0;p=GD(b,q,c[o>>2]|0)|0;if(0){c[v>>2]=p;g1(E,96259,v)|0}if((p|0)>=1){n=(D|0)!=0;if(n){i=((c[w>>2]|0)+(c[x>>2]|0)|0)/2|0;g=((c[z>>2]|0)+(c[y>>2]|0)|0)/2|0}else{i=0;g=0}c[C+4>>2]=g;c[C>>2]=i;m=uH(b<<4)|0;k=f+16|0;g=0;while(1){if((g|0)>=(b|0))break;i=c[d+(g<<2)>>2]|0;j=m+(g<<4)|0;c[m+(g<<4)+12>>2]=g;if((c[k>>2]|0)==3){x=(c[i+16>>2]|0)+16|0;y=c[o>>2]|0;z=ry(i)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];c[A+16>>2]=c[x+16>>2];c[A+20>>2]=c[x+20>>2];c[A+24>>2]=c[x+24>>2];c[A+28>>2]=c[x+28>>2];c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];HD(A,j,p,y,B,z)}else{c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];ID(e,i,j,p,f,B)}g=g+1|0}j=uH(b<<2)|0;g=0;while(1){if((g|0)>=(b|0))break;c[j+(g<<2)>>2]=m+(g<<4);g=g+1|0}_0(j,b,4,87);k=vI()|0;g=uH(b<<3)|0;b:do if(n){i=0;while(1){if((i|0)>=(b|0)){i=0;break}if(a[D+i>>0]|0){e=c[j+(i<<2)>>2]|0;f=g+(c[e+12>>2]<<3)|0;c[B>>2]=c[C>>2];c[B+4>>2]=c[C+4>>2];KD(e,k,f,B)}i=i+1|0}while(1){if((i|0)>=(b|0))break b;if(!(a[D+i>>0]|0)){C=c[j+(i<<2)>>2]|0;LD(i,C,k,g+(c[C+12>>2]<<3)|0,p,c[o>>2]|0,q)}i=i+1|0}}else{i=0;while(1){if((i|0)>=(b|0))break b;D=c[j+(i<<2)>>2]|0;LD(i,D,k,g+(c[D+12>>2]<<3)|0,p,c[o>>2]|0,q);i=i+1|0}}while(0);D_(j);i=0;while(1){if((i|0)>=(b|0))break;D_(c[m+(i<<4)+4>>2]|0);i=i+1|0}D_(m);yI(k);D_(q);if(0>1){i=0;while(1){if((i|0)>=(b|0))break a;C=c[g+(i<<3)>>2]|0;D=c[g+(i<<3)+4>>2]|0;c[F>>2]=i;c[F+4>>2]=C;c[F+8>>2]=D;g1(E,96275,F)|0;i=i+1|0}}}else g=0}else g=0;while(0);l=G;return g|0}function DD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+16|0;g=z;x=uH(a<<3)|0;f=c[d+4>>2]|0;y=d+28|0;e=(f|0)>0;do if(!(c[y>>2]&1))if(e){k=1;w=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=1;w=(a+-1+f|0)/(f|0)|0;break}else if(e){k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}else{f=~~+N(+(+C(+(+(a|0)))));k=0;w=f;f=(a+-1+f|0)/(f|0)|0;break}while(0);if(0){v=c[15686]|0;c[g>>2]=k|0?96170:96180;c[g+4>>2]=w;c[g+8>>2]=f;g1(v,96193,g)|0}t=uH((f<<3)+8|0)|0;u=uH((w<<3)+8|0)|0;v=uH(a*24|0)|0;j=d+8|0;e=0;g=v;while(1){if((e|0)>=(a|0))break;p=+h[b+(e<<5)+8>>3];o=+h[b+(e<<5)+24>>3];q=+((c[j>>2]|0)>>>0);h[g>>3]=+h[b+(e<<5)+16>>3]-+h[b+(e<<5)>>3]+q;h[g+8>>3]=o-p+q;c[g+16>>2]=e;e=e+1|0;g=g+24|0}s=uH(a<<2)|0;e=0;while(1){if((e|0)>=(a|0))break;c[s+(e<<2)>>2]=v+(e*24|0);e=e+1|0}e=c[d+24>>2]|0;if(!e){if(!(c[y>>2]&64))_0(s,a,4,89)}else{c[46285]=e;_0(s,a,4,88)}r=(k|0)==0;e=0;g=0;j=0;while(1){if((j|0)>=(a|0)){i=0.0;e=0;break}k=c[s+(j<<2)>>2]|0;d=t+(g<<3)|0;q=+h[d>>3];p=+h[k>>3];h[d>>3]=q>p?q:p;d=u+(e<<3)|0;p=+h[d>>3];q=+h[k+8>>3];h[d>>3]=p>q?p:q;if(r){e=e+1|0;d=(e|0)==(w|0);e=d?0:e;g=g+(d&1)|0}else{g=g+1|0;d=(g|0)==(f|0);e=e+(d&1)|0;g=d?0:g}j=j+1|0}while(1){if((e|0)>(f|0)){i=0.0;e=w;break}d=t+(e<<3)|0;q=+h[d>>3];h[d>>3]=i;i=q+i;e=e+1|0}while(1){if((e|0)<=0)break;d=e+-1|0;q=+h[u+(d<<3)>>3];h[u+(e<<3)>>3]=i;i=q+i;e=d}h[u>>3]=i;e=0;g=0;d=0;while(1){if((d|0)>=(a|0))break;k=c[(c[s+(d<<2)>>2]|0)+16>>2]|0;i=+h[b+(k<<5)>>3];m=-i;p=+h[b+(k<<5)+8>>3];q=-p;n=+h[b+(k<<5)+16>>3];o=+h[b+(k<<5)+24>>3];j=c[y>>2]|0;do if(!(j&4))if(!(j&8)){i=(m-n+ +h[t+(g<<3)>>3]+ +h[t+(g+1<<3)>>3])*.5;break}else{i=i-n+ +h[t+(g+1<<3)>>3];break}else i=+h[t+(g<<3)>>3];while(0);c[x+(k<<3)>>2]=~~i;do if(!(j&16))if(!(j&32)){i=(q-o+ +h[u+(e<<3)>>3]+ +h[u+(e+1<<3)>>3])*.5;break}else{i=+h[u+(e+1<<3)>>3];break}else i=p-o+ +h[u+(e<<3)>>3];while(0);c[x+(k<<3)+4>>2]=~~i;if(r){e=e+1|0;k=(e|0)==(w|0);e=k?0:e;g=g+(k&1)|0}else{g=g+1|0;k=(g|0)==(f|0);e=e+(k&1)|0;g=k?0:g}d=d+1|0}D_(v);D_(s);D_(t);D_(u);l=z;return x|0}function ED(a,b){a=a|0;b=b|0;var d=0;d=c[46285]|0;a=c[d+(c[(c[a>>2]|0)+16>>2]<<2)>>2]|0;b=c[d+(c[(c[b>>2]|0)+16>>2]<<2)>>2]|0;return ((a|0)>(b|0)?1:((a|0)<(b|0))<<31>>31)|0}function FD(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+h[a>>3]+ +h[a+8>>3];d=+h[b>>3]+ +h[b+8>>3];return (e<d?1:(e>d)<<31>>31)|0}function GD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0;s=l;l=l+96|0;q=s+80|0;r=s+48|0;p=s+8|0;m=s;k=(a*100|0)+-1|0;e=+(d<<1|0);n=0.0;o=0.0;d=0;while(1){if((d|0)>=(a|0))break;j=+h[b+(d<<5)+16>>3]-+h[b+(d<<5)>>3]+e;i=+h[b+(d<<5)+24>>3]-+h[b+(d<<5)+8>>3]+e;n=n-j-i;o=o-i*j;d=d+1|0}i=+(k|0);j=n*n-i*4.0*o;if(!(j<0.0)){e=+C(+j);g=i*2.0;f=(e-n)/g;g=(-n-e)/g;d=~~f;d=(d|0)==0?1:d;if(0>2){m=c[15686]|0;E1(96418,27,1,m)|0;h[p>>3]=i;h[p+8>>3]=n;h[p+16>>3]=o;h[p+24>>3]=j;h[p+32>>3]=e;g1(m,96446,p)|0;c[r>>2]=d;h[r+8>>3]=f;c[r+16>>2]=~~g;h[r+24>>3]=g;g1(m,96472,r)|0;h[q>>3]=(f*i+n)*f+o;h[q+8>>3]=(g*i+n)*g+o;g1(m,96494,q)|0}}else{h[m>>3]=j;Pw(1,96391,m)|0;d=-1}l=s;return d|0}function HD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0.0;u=l;l=l+32|0;t=u+16|0;s=u;p=+h[a>>3];q=+h[a+8>>3];n=+h[a+16>>3];o=+h[a+24>>3];r=vI()|0;j=c[f>>2]|0;a=j-e|0;k=c[f+4>>2]|0;i=k-e|0;j=e-~~(p+(p>=0.0?.5:-.5))+j+~~(n+(n>=0.0?.5:-.5))|0;k=e-~~(q+(q>=0.0?.5:-.5))+k+~~(o+(o>=0.0?.5:-.5))|0;if((a|0)>-1)f=(a|0)/(d|0)|0;else f=((a+1|0)/(d|0)|0)+-1|0;if((i|0)>-1)m=(i|0)/(d|0)|0;else m=((i+1|0)/(d|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(d|0)|0;else j=((j+1|0)/(d|0)|0)+-1|0;if((k|0)>-1)i=(k|0)/(d|0)|0;else i=((k+1|0)/(d|0)|0)+-1|0;while(1){if((f|0)>(j|0))break;else a=m;while(1){if((a|0)>(i|0))break;BI(r,f,a);a=a+1|0}f=f+1|0}k=b+4|0;c[k>>2]=FI(r)|0;j=EI(r)|0;m=b+8|0;c[m>>2]=j;w=+(e<<1|0);v=+(d|0);i=~~+N(+((n+w-p)/v));a=~~+N(+((o+w-q)/v));c[b>>2]=a+i;a:do if(0>2){f=c[15686]|0;c[s>>2]=g;c[s+4>>2]=j;c[s+8>>2]=i;c[s+12>>2]=a;g1(f,96350,s)|0;a=0;while(1){if((a|0)>=(c[m>>2]|0))break a;g=c[k>>2]|0;s=c[g+(a<<3)+4>>2]|0;c[t>>2]=c[g+(a<<3)>>2];c[t+4>>2]=s;g1(f,96377,t)|0;a=a+1|0}}while(0);yI(r);l=u;return}function ID(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,P=0,Q=0.0,R=0.0;P=l;l=l+128|0;F=P+112|0;E=P+104|0;O=P+16|0;M=P;H=P+64|0;I=P+56|0;z=P+40|0;A=P+96|0;y=P+88|0;v=P+24|0;w=P+80|0;x=P+72|0;K=c[f+8>>2]|0;G=c[f+12>>2]|0;C=(a|0)==0?b:a;L=vI()|0;J=b+16|0;B=c[J>>2]|0;t=+h[B+16>>3];D=(c[g>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;t=+h[B+24>>3];B=(c[g+4>>2]|0)-~~(t+(t>=0.0?.5:-.5))|0;a:do if((c[f+16>>2]|0)==1){v=vH((ay(b)|0)<<2)|0;a=0;g=Sy(b)|0;while(1){if(!g)break;x=g+16|0;c[v+(a<<2)>>2]=c[(c[x>>2]|0)+112>>2];c[(c[x>>2]|0)+112>>2]=0;a=a+1|0;g=Ty(b,g)|0}o=D-K|0;p=B-K|0;q=D+K|0;r=B+K|0;n=1;while(1){a=c[J>>2]|0;if((n|0)>(c[a+180>>2]|0))break;m=c[(c[a+184>>2]|0)+(n<<2)>>2]|0;i=c[m+16>>2]|0;t=+h[i+16>>3];a=~~(t+(t>=0.0?.5:-.5));t=+h[i+24>>3];g=~~(t+(t>=0.0?.5:-.5));t=+h[i+32>>3];f=~~(t+(t>=0.0?.5:-.5));t=+h[i+40>>3];i=~~(t+(t>=0.0?.5:-.5));b:do if((f|0)>(a|0)&(i|0)>(g|0)){a=o+a|0;j=p+g|0;f=q+f|0;k=r+i|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)j=(j|0)/(e|0)|0;else j=((j+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)i=(f|0)/(e|0)|0;else i=((f+1|0)/(e|0)|0)+-1|0;if((k|0)>-1)f=(k|0)/(e|0)|0;else f=((k+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=j;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}a=Sy(m)|0;while(1){if(!a)break b;c[(c[a+16>>2]|0)+212>>2]=m;a=Ty(m,a)|0}}while(0);n=n+1|0}r=z+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=A+4|0;p=y+4|0;o=Sy(b)|0;while(1){if(!o)break;WL(z,o);R=+h[z>>3];Q=+h[r>>3];m=D+~~(R+(R>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(Q+(Q>=0.0?.5:-.5))|0;c[s>>2]=n;g=o+16|0;a=c[g>>2]|0;c:do if(!(c[a+212>>2]|0)){c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(A,E,F);a=c[A>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(y,E,F);i=c[y>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}}else{if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break c;if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)){c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G)}a=Gx(C,a)|0}}while(0);o=Ty(b,o)|0}a=0;g=Sy(b)|0;while(1){if(!g)break;c[(c[g+16>>2]|0)+112>>2]=c[v+(a<<2)>>2];a=a+1|0;g=Ty(b,g)|0}D_(v)}else{r=v+8|0;s=H+4|0;t=+(K|0);u=I+4|0;q=w+4|0;p=x+4|0;o=Sy(b)|0;while(1){if(!o)break a;WL(v,o);Q=+h[v>>3];R=+h[r>>3];m=D+~~(Q+(Q>=0.0?.5:-.5))|0;c[H>>2]=m;n=B+~~(R+(R>=0.0?.5:-.5))|0;c[s>>2]=n;a=c[o+16>>2]|0;c[I>>2]=~~((+h[a+96>>3]+ +h[a+88>>3])*.5+t);c[u>>2]=~~(+h[a+80>>3]*.5+t);c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];ND(w,E,F);a=c[w>>2]|0;f=c[q>>2]|0;c[E>>2]=c[H>>2];c[E+4>>2]=c[H+4>>2];c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];OD(x,E,F);i=c[x>>2]|0;j=c[p>>2]|0;if((a|0)>-1)g=(a|0)/(e|0)|0;else g=((a+1|0)/(e|0)|0)+-1|0;if((f|0)>-1)k=(f|0)/(e|0)|0;else k=((f+1|0)/(e|0)|0)+-1|0;if((i|0)>-1)i=(i|0)/(e|0)|0;else i=((i+1|0)/(e|0)|0)+-1|0;if((j|0)>-1)f=(j|0)/(e|0)|0;else f=((j+1|0)/(e|0)|0)+-1|0;while(1){if((g|0)>(i|0))break;else a=k;while(1){if((a|0)>(f|0))break;BI(L,g,a);a=a+1|0}g=g+1|0}if((m|0)>-1)a=(m|0)/(e|0)|0;else a=((m+1|0)/(e|0)|0)+-1|0;c[H>>2]=a;if((n|0)>-1)a=(n|0)/(e|0)|0;else a=((n+1|0)/(e|0)|0)+-1|0;c[s>>2]=a;a=Ex(C,o)|0;while(1){if(!a)break;c[F>>2]=c[H>>2];c[F+4>>2]=c[H+4>>2];PD(a,F,L,D,B,e,G);a=Gx(C,a)|0}o=Ty(b,o)|0}}while(0);i=d+4|0;c[i>>2]=FI(L)|0;j=d+8|0;c[j>>2]=EI(L)|0;g=c[J>>2]|0;Q=+(K<<1|0);R=+(e|0);a=~~+N(+((+h[g+32>>3]+Q-+h[g+16>>3])/R));g=~~+N(+((+h[g+40>>3]+Q-+h[g+24>>3])/R));c[d>>2]=g+a;d:do if(0>2){f=c[15686]|0;d=ry(b)|0;b=c[j>>2]|0;c[M>>2]=d;c[M+4>>2]=b;c[M+8>>2]=a;c[M+12>>2]=g;g1(f,96350,M)|0;a=0;while(1){if((a|0)>=(c[j>>2]|0))break d;b=c[i>>2]|0;M=c[b+(a<<3)+4>>2]|0;c[O>>2]=c[b+(a<<3)>>2];c[O+4>>2]=M;g1(f,96377,O)|0;a=a+1|0}}while(0);yI(L);l=P;return}function JD(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}function KD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;h=j+16|0;i=j;k=c[a+4>>2]|0;g=c[a+8>>2]|0;c[d>>2]=0-(c[e>>2]|0);f=d+4|0;c[f>>2]=0-(c[e+4>>2]|0);a=0;e=k;while(1){if((a|0)>=(g|0))break;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];zI(b,h);a=a+1|0;e=e+8|0}if(0>1){k=c[15686]|0;b=c[d>>2]|0;d=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=b;c[i+8>>2]=d;g1(k,96324,i)|0}l=j;return}function LD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;k=c[b+12>>2]|0;l=+h[i+(k<<5)>>3];m=+h[i+(k<<5)+8>>3];n=+h[i+(k<<5)+16>>3];o=+h[i+(k<<5)+24>>3];if(!((a|0)==0?(q=+(g<<1|0),p=+(f|0),(MD((~~+N(+((q-l+n)/p))|0)/-2|0,(~~+N(+((q-m+o)/p))|0)/-2|0,b,d,e,f,i)|0)!=0):0))j=3;a:do if((j|0)==3?(MD(0,0,b,d,e,f,i)|0)==0:0)if((~~+N(+(n-l))|0)<(~~+N(+(o-m))|0)){k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)<=(j|0)){g=j;break}if(MD(j,a,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)>=(k|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)<=(j|0))break;if(MD(g,a,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)<=0)break;if(!(MD(g,a,b,d,e,f,i)|0))a=a+-1|0;else break a}k=k+1|0}}else{k=1;while(1){j=0-k|0;a=0;while(1){if((a|0)>=(k|0)){g=j;break}if(MD(a,j,b,d,e,f,i)|0)break a;a=a+1|0}while(1){if((g|0)>=(k|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+1|0}while(1){if((a|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;a=a+-1|0}while(1){if((g|0)<=(j|0))break;if(MD(a,g,b,d,e,f,i)|0)break a;g=g+-1|0}while(1){if((a|0)>=0)break;if(!(MD(a,g,b,d,e,f,i)|0))a=a+1|0;else break a}k=k+1|0}}while(0);return}function MD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;t=l;l=l+48|0;r=t+32|0;s=t+8|0;q=t;m=d+4|0;o=c[d+8>>2]|0;p=q+4|0;j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0)){n=5;break}v=j;u=c[v+4>>2]|0;c[q>>2]=(c[v>>2]|0)+a;c[p>>2]=u+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];if(CI(e,r)|0){j=0;break}j=j+8|0;k=k+1|0}if((n|0)==5){d=c[d+12>>2]|0;x=+h[i+(d<<5)>>3];w=+h[i+(d<<5)+8>>3];c[f>>2]=(O(g,a)|0)-~~(x+(x>=0.0?.5:-.5));d=f+4|0;c[d>>2]=(O(g,b)|0)-~~(w+(w>=0.0?.5:-.5));j=c[m>>2]|0;k=0;while(1){if((k|0)>=(o|0))break;u=j;v=c[u+4>>2]|0;c[q>>2]=(c[u>>2]|0)+a;c[p>>2]=v+b;c[r>>2]=c[q>>2];c[r+4>>2]=c[q+4>>2];zI(e,r);j=j+8|0;k=k+1|0}if(0>1){j=c[15686]|0;u=c[f>>2]|0;v=c[d>>2]|0;c[s>>2]=o;c[s+4>>2]=a;c[s+8>>2]=b;c[s+12>>2]=u;c[s+16>>2]=v;g1(j,96290,s)|0;j=1}else j=1}l=t;return j|0}function ND(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;c[a>>2]=(c[b>>2]|0)-(c[d>>2]|0);c[a+4>>2]=e;return}function OD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function PD(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;x=A+96|0;w=A+80|0;r=A+48|0;s=A+32|0;y=A+16|0;z=A;n=A+64|0;h[y>>3]=+(c[b>>2]|0);t=y+8|0;h[t>>3]=+(c[b+4>>2]|0);a:do if((i|0)!=0?(u=a+16|0,m=c[(c[u>>2]|0)+8>>2]|0,(m|0)!=0):0){q=+(e|0);p=+(f|0);o=1.0/+(g|0);n=z+8|0;i=0;while(1){if((i|0)>=(c[m+4>>2]|0))break a;f=c[m>>2]|0;a=c[f+(i*48|0)>>2]|0;b=c[f+(i*48|0)+4>>2]|0;g=c[f+(i*48|0)+8>>2]|0;e=c[f+(i*48|0)+12>>2]|0;m=f+(i*48|0)+16|0;c[r>>2]=c[m>>2];c[r+4>>2]=c[m+4>>2];c[r+8>>2]=c[m+8>>2];c[r+12>>2]=c[m+12>>2];f=f+(i*48|0)+32|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];if(!g){c[y>>2]=c[a>>2];c[y+4>>2]=c[a+4>>2];c[y+8>>2]=c[a+8>>2];c[y+12>>2]=c[a+12>>2];m=a+16|0;c[z>>2]=c[m>>2];c[z+4>>2]=c[m+4>>2];c[z+8>>2]=c[m+8>>2];c[z+12>>2]=c[m+12>>2];m=2}else{c[y>>2]=c[r>>2];c[y+4>>2]=c[r+4>>2];c[y+8>>2]=c[r+8>>2];c[y+12>>2]=c[r+12>>2];c[z>>2]=c[a>>2];c[z+4>>2]=c[a+4>>2];c[z+8>>2]=c[a+8>>2];c[z+12>>2]=c[a+12>>2];m=1}j=+h[y>>3]+q;h[y>>3]=j;k=+h[t>>3]+p;h[t>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[y>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[t>>3]=j;j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d);while(1){if((m|0)>=(b|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];g=a+(m<<4)|0;c[z>>2]=c[g>>2];c[z+4>>2]=c[g+4>>2];c[z+8>>2]=c[g+8>>2];c[z+12>>2]=c[g+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d);m=m+1|0}if(e|0){c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[z>>2]=c[s>>2];c[z+4>>2]=c[s+4>>2];c[z+8>>2]=c[s+8>>2];c[z+12>>2]=c[s+12>>2];j=+h[z>>3]+q;h[z>>3]=j;k=+h[n>>3]+p;h[n>>3]=k;if(!(j>=0.0))j=(j+1.0)*o+-1.0;else j=j*o;h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)*o+-1.0;else j=k*o;h[n>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d)}i=i+1|0;m=c[(c[u>>2]|0)+8>>2]|0}}else v=4;while(0);if((v|0)==4){WL(n,c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0);c[z>>2]=c[n>>2];c[z+4>>2]=c[n+4>>2];c[z+8>>2]=c[n+8>>2];c[z+12>>2]=c[n+12>>2];j=+h[z>>3]+ +(e|0);h[z>>3]=j;m=z+8|0;k=+h[m>>3]+ +(f|0);h[m>>3]=k;if(!(j>=0.0))j=(j+1.0)/+(g|0)+-1.0;else j=j/+(g|0);h[z>>3]=j;if(!(k>=0.0))j=(k+1.0)/+(g|0)+-1.0;else j=k/+(g|0);h[m>>3]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[x>>2]=c[z>>2];c[x+4>>2]=c[z+4>>2];c[x+8>>2]=c[z+8>>2];c[x+12>>2]=c[z+12>>2];AD(w,x,d)}l=A;return}function QD(a,b,d){a=a|0;b=b|0;d=d|0;a:do if((a|0)<1)a=0;else switch(c[d+16>>2]|0){case 4:{a=DD(a,b,d)|0;break a}case 3:{a=RD(a,b,d)|0;break a}default:{a=0;break a}}while(0);return a|0}function RD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+80|0;g=n+64|0;f=n+24|0;m=n+8|0;e=n;h=n+56|0;j=d+8|0;k=GD(a,b,c[j>>2]|0)|0;if(0){i=c[15686]|0;c[e>>2]=k;g1(i,96259,e)|0}a:do if((k|0)>=1){c[h+4>>2]=0;c[h>>2]=0;i=uH(a<<4)|0;d=0;while(1){if((d|0)>=(a|0))break;c[i+(d<<4)+12>>2]=d;o=b+(d<<5)|0;e=c[j>>2]|0;c[f>>2]=c[o>>2];c[f+4>>2]=c[o+4>>2];c[f+8>>2]=c[o+8>>2];c[f+12>>2]=c[o+12>>2];c[f+16>>2]=c[o+16>>2];c[f+20>>2]=c[o+20>>2];c[f+24>>2]=c[o+24>>2];c[f+28>>2]=c[o+28>>2];c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];HD(f,i+(d<<4)|0,k,e,g,191979);d=d+1|0}f=uH(a<<2)|0;d=0;while(1){if((d|0)>=(a|0))break;c[f+(d<<2)>>2]=i+(d<<4);d=d+1|0}_0(f,a,4,87);g=vI()|0;d=uH(a<<3)|0;e=0;while(1){if((e|0)>=(a|0))break;o=c[f+(e<<2)>>2]|0;LD(e,o,g,d+(c[o+12>>2]<<3)|0,k,c[j>>2]|0,b);e=e+1|0}D_(f);e=0;while(1){if((e|0)>=(a|0))break;D_(c[i+(e<<4)+4>>2]|0);e=e+1|0}D_(i);yI(g);if(0>1){f=c[15686]|0;e=0;while(1){if((e|0)>=(a|0))break a;b=c[d+(e<<3)>>2]|0;o=c[d+(e<<3)+4>>2]|0;c[m>>2]=e;c[m+4>>2]=b;c[m+8>>2]=o;g1(f,96275,m)|0;e=e+1|0}}}else d=0;while(0);l=n;return d|0}function SD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;a:do if((a|0)<1)f=0-a|0;else{s=(e|0)==0;q=(f|0)==0;j=0;while(1){if((j|0)==(a|0)){f=0;break a}r=c[b+(j<<2)>>2]|0;g=s?r:e;k=c[d+(j<<3)>>2]|0;l=c[d+(j<<3)+4>>2]|0;m=+(k|0);n=m*.013888888888888888;o=+(l|0);p=o*.013888888888888888;i=Sy(r)|0;while(1){if(!i)break;f=c[i+16>>2]|0;t=c[f+132>>2]|0;h[t>>3]=+h[t>>3]+n;t=t+8|0;h[t>>3]=+h[t>>3]+p;t=f+16|0;h[t>>3]=+h[t>>3]+m;t=f+24|0;h[t>>3]=+h[t>>3]+o;f=c[f+108>>2]|0;if(f|0){t=f+56|0;h[t>>3]=+h[t>>3]+m;t=f+64|0;h[t>>3]=+h[t>>3]+o}b:do if(!q){f=Ex(g,i)|0;while(1){if(!f)break b;TD(f,k,l);f=Gx(g,f)|0}}while(0);i=Ty(r,i)|0}UD(r,k,l);j=j+1|0}}while(0);return f|0}function TD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0.0,m=0,n=0;e=c[a+16>>2]|0;a=c[e+96>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+108>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+100>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}a=c[e+104>>2]|0;if(a|0){m=a+56|0;h[m>>3]=+h[m>>3]+ +(b|0);m=a+64|0;h[m>>3]=+h[m>>3]+ +(d|0)}m=c[e+8>>2]|0;a:do if(m|0){l=+(b|0);j=+(d|0);b=c[m+4>>2]|0;a=0;while(1){if((a|0)>=(b|0))break a;k=c[m>>2]|0;d=c[k+(a*48|0)>>2]|0;f=c[k+(a*48|0)+4>>2]|0;g=c[k+(a*48|0)+8>>2]|0;i=c[k+(a*48|0)+12>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;n=d+(e<<4)|0;h[n>>3]=+h[n>>3]+l;n=d+(e<<4)+8|0;h[n>>3]=+h[n>>3]+j;e=e+1|0}if(g|0){n=k+(a*48|0)+16|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+24|0;h[n>>3]=+h[n>>3]+j}if(i|0){n=k+(a*48|0)+32|0;h[n>>3]=+h[n>>3]+l;n=k+(a*48|0)+40|0;h[n>>3]=+h[n>>3]+j}a=a+1|0}}while(0);return}function UD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0,n=0.0,o=0;j=b+16|0;b=c[j>>2]|0;o=b+16|0;m=b+24|0;f=b+32|0;b=b+40|0;g=+(d|0);l=+h[f>>3]+g;i=+(e|0);n=+h[m>>3]+i;k=+h[b>>3]+i;h[o>>3]=+h[o>>3]+g;h[m>>3]=n;h[f>>3]=l;h[b>>3]=k;b=c[j>>2]|0;f=c[b+12>>2]|0;if((f|0)!=0?(a[f+81>>0]|0)!=0:0){o=f+56|0;h[o>>3]=+h[o>>3]+g;f=f+64|0;h[f>>3]=+h[f>>3]+i;f=1}else f=1;while(1){if((f|0)>(c[b+180>>2]|0))break;UD(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[j>>2]|0}return}function VD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=BD(a,b,d,e)|0;if(!f)a=1;else{a=SD(a,b,f,d,c[e+12>>2]|0)|0;D_(f)}return a|0}function WD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+32|0;o=p;n=VD(a,b,d,e)|0;if(!n){mM(d);m=(c[d+16>>2]|0)+16|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[o+16>>2]=c[m+16>>2];c[o+20>>2]=c[m+20>>2];c[o+24>>2]=c[m+24>>2];c[o+28>>2]=c[m+28>>2];f=o+8|0;g=o+16|0;i=o+24|0;e=0;while(1){if((e|0)>=(a|0))break;k=c[(c[b+(e<<2)>>2]|0)+16>>2]|0;j=c[k+180>>2]|0;k=k+184|0;d=1;while(1){if((d|0)>(j|0))break;r=(c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+16|0;h[o>>3]=+h[(+h[o>>3]<+h[r>>3]?o:r)>>3];r=c[(c[(c[k>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;q=r+16|0;h[f>>3]=+h[(+h[f>>3]<+h[r+24>>3]?o:q)+8>>3];h[g>>3]=+h[(+h[g>>3]>+h[r+32>>3]?o:q)+16>>3];h[i>>3]=+h[(+h[i>>3]>+h[r+40>>3]?o:q)+24>>3];d=d+1|0}e=e+1|0}c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[m+16>>2]=c[o+16>>2];c[m+20>>2]=c[o+20>>2];c[m+24>>2]=c[o+24>>2];c[m+28>>2]=c[o+28>>2]}l=p;return n|0}function XD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=l;l=l+16|0;f=g;if(!e)qa(96508,96514,1400,96521);d=YD(a,d,d)|0;c[e+8>>2]=d;if(0){h=c[15686]|0;c[f>>2]=d;g1(h,96533,f)|0}c[e+12>>2]=0;c[e+20>>2]=0;ZD(a,b,e)|0;l=g;return c[e+16>>2]|0}function YD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=i+4|0;g=xx(b,96663)|0;a:do if(g){c[h>>2]=f;h=(N1(g,134313,h)|0)==1;b=c[f>>2]|0;if(h&(b|0)>-1)d=b;else{switch(a[g>>0]|0){case 84:case 116:break;default:break a}d=e}}while(0);l=i;return d|0}function ZD(a,b,c){a=a|0;b=b|0;c=c|0;return _D(xx(a,96546)|0,b,c)|0}function _D(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+64|0;r=u+40|0;q=u+32|0;t=u+24|0;s=u+16|0;m=u+8|0;k=u;i=u+48|0;j=u+44|0;if(!e)qa(96508,96514,1292,96555);o=e+28|0;c[o>>2]=0;p=e+16|0;c[p>>2]=d;n=e+4|0;c[n>>2]=0;c[e+24>>2]=0;a:do if(b|0?(f=a[b>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:if(!(z$(b,96573,5)|0)){c[p>>2]=4;m=$D(b+5|0,e)|0;c[k>>2]=j;m=(N1(m,134313,k)|0)>0;d=c[j>>2]|0;if(!(m&(d|0)>0))break a;c[n>>2]=d;break a}else{if(z$(b,96579,6)|0)break a;c[p>>2]=5;c[m>>2]=i;m=(N1(b+5|0,96586,m)|0)>0;v=+g[i>>2];g[e>>2]=m&v>0.0?v:1.0;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(b,104980)|0)break a;c[p>>2]=1;break a}case 103:{if(f<<24>>24!=103)break a;if(b$(b,108412)|0)break a;c[p>>2]=3;break a}case 110:{if(f<<24>>24!=110)break a;if(b$(b,108399)|0)break a;c[p>>2]=2;break a}default:break a}while(0);if(0){d=c[15686]|0;E1(96589,11,1,d)|0;c[s>>2]=aE(c[p>>2]|0)|0;g1(d,96601,s)|0;if((c[p>>2]|0)==5){h[t>>3]=+g[e>>2];g1(d,96614,t)|0}c[q>>2]=c[n>>2];g1(d,96627,q)|0;c[r>>2]=c[o>>2];g1(d,96640,r)|0}l=u;return c[p>>2]|0}function $D(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;a:do if((a[b>>0]|0)==95){f=d+28|0;e=1;while(1){b=b+1|0;b:while(1){if(!e)break a;d=a[b>>0]|0;if(!(d<<24>>24))break a;switch(d<<24>>24|0){case 99:{g=10;break b}case 105:{g=9;break b}case 117:{g=11;break b}case 116:{g=12;break b}case 98:{d=32;break b}case 108:{g=7;break b}case 114:{g=8;break b}default:e=0}}if((g|0)==7){g=0;d=4}else if((g|0)==8){g=0;d=8}else if((g|0)==9){g=0;d=64}else if((g|0)==10){g=0;d=1}else if((g|0)==11){g=0;d=2}else if((g|0)==12){g=0;d=16}c[f>>2]=c[f>>2]|d}}while(0);return b|0}function aE(a){a=a|0;switch(a|0){case 1:{a=104980;break}case 2:{a=108399;break}case 3:{a=108412;break}case 4:{a=96573;break}case 5:{a=96579;break}default:a=96653}return a|0}function bE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n;m=n+80|0;do if(a){if(!e){e=E_(1,20)|0;c[e+4>>2]=d>>>0>80?d:80}d=c[e>>2]|0;j=c[e+4>>2]|0;if(!d){h=100;d=a;i=E_(100,j)|0}else{h=d+100|0;i=F_(c[e+8>>2]|0,O(h,j)|0)|0;H3(i+(O(j,d)|0)|0,0,j*100|0)|0;d=a}while(1){d=cE(k,d,b,m)|0;if(!d)break;a=c[e>>2]|0;f=h<<1;g=O(h,j)|0;if((a|0)==(h|0)){i=F_(i,O(f,j)|0)|0;H3(i+g|0,0,g|0)|0;a=c[e>>2]|0}else f=h;a=i+(O(a,j)|0)|0;g=k;h=a+80|0;do{c[a>>2]=c[g>>2];a=a+4|0;g=g+4|0}while((a|0)<(h|0));c[e>>2]=(c[e>>2]|0)+1;h=f}if(c[m>>2]|0){m=e+16|0;c[m>>2]=c[m>>2]|1}d=c[e>>2]|0;if(!d){D_(i);D_(e);e=0;break}else{c[e+8>>2]=F_(i,O(d,j)|0)|0;break}}while(0);l=n;return e|0}function cE(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+80|0;h=j+64|0;i=j;c[f>>2]=0;do{g=a[d>>0]|0;d=d+1|0}while((B$(g)|0)!=0);a:do switch(g|0){case 69:{c[b>>2]=0;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 101:{c[b>>2]=1;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e>>2];break}case 80:{c[b>>2]=2;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 112:{c[b>>2]=3;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+4>>2];break}case 98:{c[b>>2]=4;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 66:{c[b>>2]=5;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+8>>2];break}case 99:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=9;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+24>>2];break a}else{c[b>>2]=14;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 67:{d=fE(d,h)|0;if(!d){c[f>>2]=1;d=0;break a}g=gE(c[h>>2]|0,i)|0;c[h>>2]=g;if(!g){c[f>>2]=1;d=0;break a}if(!(c[i>>2]|0)){c[b>>2]=8;c[b+8>>2]=c[i+8>>2];if(!e)break a;c[b+72>>2]=c[e+20>>2];break a}else{c[b>>2]=13;f=b+8|0;g=i;h=f+64|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(h|0));if(!e)break a;c[b+72>>2]=c[e+40>>2];break a}}case 76:{c[b>>2]=6;d=eE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+12>>2];break}case 84:{c[b>>2]=7;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=iE(d,b+24|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=hE(d,b+32|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+16>>2];break}case 70:{c[b>>2]=10;d=hE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+16|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+28>>2];break}case 83:{c[b>>2]=11;d=fE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+32>>2];break}case 73:{c[b>>2]=12;d=dE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}d=fE(d,b+40|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+36>>2];break}case 116:{c[b>>2]=15;d=jE(d,b+8|0)|0;if(!d){c[f>>2]=1;d=0;break a}if(e)c[b+72>>2]=c[e+44>>2];break}case 0:{d=0;break}default:{c[f>>2]=1;d=0}}while(0);l=j;return d|0}function dE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+16|0;e=i;h[b>>3]=+c2(a,e);f=c[e>>2]|0;if(((f|0)!=(a|0)?(h[b+8>>3]=+c2(f,e),g=c[e>>2]|0,(f|0)!=(g|0)):0)?(h[b+16>>3]=+c2(g,e),d=c[e>>2]|0,(g|0)!=(d|0)):0){h[b+24>>3]=+c2(d,e);a=c[e>>2]|0;a=(d|0)==(a|0)?0:a}else a=0;l=i;return a|0}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;a=kE(a,j)|0;do if(a){d=c[j>>2]|0;i=E_(d,24)|0;c[b>>2]=d;e=i;f=0;while(1){if((f|0)>=(d|0)){d=9;break}h[e>>3]=+c2(a,g);d=c[g>>2]|0;if((a|0)==(d|0)){d=5;break}h[e+8>>3]=+c2(d,g);a=c[g>>2]|0;if((d|0)==(a|0)){d=7;break}h[e+16>>3]=0.0;e=e+24|0;d=c[b>>2]|0;f=f+1|0}if((d|0)==5){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==7){c[j>>2]=f;D_(i);a=0;break}else if((d|0)==9){c[j>>2]=f;c[b+4>>2]=i;break}}else a=0;while(0);l=k;return a|0}function fE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;b=kE(b,i)|0;f=c[i>>2]|0;do if(!((b|0)==0|(f|0)<1)){while(1){h=a[b>>0]|0;e=h<<24>>24==0;if(e^h<<24>>24!=45)b=b+1|0;else break}if(!e){h=E_(f+1|0,1)|0;g=h;e=f;while(1){b=b+1|0;if((e|0)<=0){e=9;break}e=a[b>>0]|0;if(!(e<<24>>24)){e=8;break}a[g>>0]=e;e=(c[i>>2]|0)+-1|0;c[i>>2]=e;g=g+1|0}if((e|0)==8){D_(h);b=0;break}else if((e|0)==9){a[g>>0]=0;c[d>>2]=h;break}}else b=0}else b=0;while(0);l=j;return b|0}function gE(b,d){b=b|0;d=d|0;var e=0;e=a[b>>0]|0;switch(e|0){case 91:{b=lE(b+1|0,d)|0;break}case 40:{b=mE(b+1|0,d)|0;break}case 47:case 35:{c[d>>2]=0;c[d+8>>2]=b;break}default:if(!(M$(e)|0))b=0;else{c[d>>2]=0;c[d+8>>2]=b}}return b|0}function hE(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0;f=l;l=l+16|0;d=f;e=+c2(a,d);d=c[d>>2]|0;if((d|0)==(a|0))d=0;else h[b>>3]=e;l=f;return d|0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;a=kE(a,e)|0;e=c[e>>2]|0;c[b>>2]=(e|0)<0?0:e|0?2:1;l=d;return a|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=C$(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function kE(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[b>>2]=i1(a,e,10)|0;b=c[e>>2]|0;l=d;return ((b|0)==(a|0)?0:b)|0}function lE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;c[b>>2]=1;n=b+8|0;i=hE(a,n)|0;do if(((((i|0)!=0?(j=hE(i,b+16|0)|0,(j|0)!=0):0)?(e=hE(j,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(k=b+40|0,d=kE(f,k)|0,(d|0)!=0):0){b=c[k>>2]|0;f=E_(b,8)|0;e=0;while(1){if((e|0)>=(b|0)){d=13;break}d=hE(d,m)|0;if(!d){d=9;break}g[f+(e<<3)>>2]=+h[m>>3];d=fE(d,f+(e<<3)+4|0)|0;if(!d){d=12;break}e=e+1|0;b=c[k>>2]|0}if((d|0)==9){D_(f);a=0;break}else if((d|0)==12){D_(f);a=0;break}else if((d|0)==13){c[n+36>>2]=f;break}}else a=0;while(0);l=o;return a|0}function mE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;c[b>>2]=2;k=hE(a,b+8|0)|0;do if(((((((k|0)!=0?(m=hE(k,b+16|0)|0,(m|0)!=0):0)?(e=hE(m,b+24|0)|0,(e|0)!=0):0)?(f=hE(e,b+32|0)|0,(f|0)!=0):0)?(i=hE(f,b+40|0)|0,(i|0)!=0):0)?(j=hE(i,b+48|0)|0,(j|0)!=0):0)?(o=b+56|0,d=kE(j,o)|0,(d|0)!=0):0){e=c[o>>2]|0;i=E_(e,8)|0;f=0;while(1){if((f|0)>=(e|0)){d=15;break}d=hE(d,n)|0;if(!d){d=11;break}g[i+(f<<3)>>2]=+h[n>>3];d=fE(d,i+(f<<3)+4|0)|0;if(!d){d=14;break}f=f+1|0;e=c[o>>2]|0}if((d|0)==11){D_(i);a=0;break}else if((d|0)==14){D_(i);a=0;break}else if((d|0)==15){c[b+60>>2]=i;break}}else a=0;while(0);l=p;return a|0}function nE(a,b,c){a=a|0;b=b|0;c=c|0;return bE(a,b,c,0)|0}function oE(a){a=a|0;return nE(a,0,0)|0}function pE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=c[a+12>>2]|0;if(a|0){f=c[a+8>>2]|0;g=a+4|0;h=(e|0)==0;b=0;while(1){if((b|0)>=(c[a>>2]|0))break;d=f+(O(c[g>>2]|0,b)|0)|0;if(!h)tb[e&127](d);qE(d);b=b+1|0}D_(f);D_(a)}return}function qE(a){a=a|0;switch(c[a>>2]|0){case 3:case 2:{D_(c[a+8+4>>2]|0);break}case 5:case 4:{D_(c[a+8+4>>2]|0);break}case 6:{D_(c[a+8+4>>2]|0);break}case 7:{D_(c[a+40>>2]|0);break}case 9:case 8:{D_(c[a+8>>2]|0);break}case 14:case 13:{rE(a+8|0);break}case 10:{D_(c[a+16>>2]|0);break}case 11:{D_(c[a+8>>2]|0);break}case 12:{D_(c[a+40>>2]|0);break}default:{}}return}function rE(a){a=a|0;var b=0,d=0,e=0;switch(c[a>>2]|0){case 1:{e=a+40|0;b=a+8+36|0;a=0;while(1){d=c[b>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[d+(a<<3)+4>>2]|0);a=a+1|0}D_(d);break}case 2:{e=a+56|0;d=a+60|0;a=0;while(1){b=c[d>>2]|0;if((a|0)>=(c[e>>2]|0))break;D_(c[b+(a<<3)+4>>2]|0);a=a+1|0}D_(b);break}default:{}}return}function sE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;k=o+4|0;n=o;c[d>>2]=0;c[e>>2]=(ey(ez(b)|0)|0)!=0&1;f=c[46414]|0;a:do if(f|0?(h=yx(b,f)|0,i=a[h>>0]|0,i<<24>>24):0){f=20284;while(1){g=c[f>>2]|0;if(!g)break a;if(i<<24>>24==(a[g>>0]|0)?(b$(h,g)|0)==0:0)break;f=f+12|0}c[d>>2]=c[f+4>>2];c[e>>2]=c[f+8>>2]}while(0);f=c[46425]|0;if((f|0?(c[e>>2]|0)==1:0)?(j=yx(b,f)|0,a[j>>0]|0):0)tE(j,e);f=c[46426]|0;if((f|0?(c[d>>2]|0)==1:0)?(m=yx(b,f)|0,a[m>>0]|0):0)tE(m,d);if(a[(c[b+16>>2]|0)+153>>0]|0){j=b+-48|0;i=ez(c[((c[b>>2]&3|0)==2?b:j)+40>>2]|0)|0;m=c[b>>2]&3;sE(Rx(i,c[((m|0)==2?b:j)+40>>2]|0,c[((m|0)==3?b:b+48|0)+40>>2]|0,0,0)|0,k,n);c[e>>2]=c[k>>2]|c[e>>2];c[d>>2]=c[n>>2]|c[d>>2]}l=o;return}function tE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;m=o;k=o+4|0;j=0;e=0;a:while(1){c[d>>2]=e;g=(j|0)<4;h=(j|0)==3;i=(j|0)==0;while(1){if(!(g&(a[b>>0]|0)!=0))break a;c[k>>2]=0;f=uE(b,k)|0;e=c[k>>2]|0;if(!e){n=5;break a}b=(e|0)==8;if(!(h&b)){if(!(i&b))break;if(a[f>>0]|0)break}c[k>>2]=0;b=f}e=c[d>>2]|e<<(j<<3);j=j+1|0;b=f}if((n|0)==5){c[m>>2]=b;Pw(0,96668,m)|0}l=o;return}function uE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=0;d=vE(a,20344,e)|0;if((d|0)==(a|0)){while(1){d=vE(a,20360,e)|0;if((a|0)==(d|0))break;else a=d}d=vE(a,20408,e)|0}a=c[e>>2]|0;if((a|0)!=0&(a&15|0)==0){a=a|1;c[e>>2]=a}c[b>>2]=c[b>>2]|a;l=f;return d|0}function vE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;while(1){e=c[b>>2]|0;if(!e)break;f=W_(e)|0;if(!(z$(a,e,f)|0)){g=4;break}b=b+8|0}if((g|0)==4){c[d>>2]=c[d>>2]|c[b+4>>2];a=a+f|0}return a|0}function wE(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0;g=0;d=0.0;while(1){if((g|0)==4)break;f=b>>(g<<3)&15;e=1400;while(1){if(!(c[e+16>>2]|0))break;if((f|0)==(c[e>>2]|0)){i=6;break}e=e+24|0}if((i|0)==6){i=0;d=+h[e+8>>3]+d}g=g+1|0}return +(d*10.0*+LL(a,c[46418]|0,1.0,0.0))}function xE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0;p=l;l=l+96|0;m=p+80|0;o=p;k=f>4.0?f*.0875:.35;i=+h[d+8>>3];n=i*k;j=+h[d>>3];k=j*k;e=+h[b>>3];j=e+j;h[m>>3]=j;f=+h[b+8>>3];i=i+f;h[m+8>>3]=i;d=o+64|0;if(!(g&32)){c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];m=o+32|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];f=i;e=j}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];b=o+32|0;c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2]}h[o+16>>3]=e+n;h[o+24>>3]=f-k;h[o+48>>3]=e-n;h[o+56>>3]=f+k;do if(!(g&64))if(!(g&128)){_O(a,o+16|0,3,g>>>4&1^1);break}else{_O(a,o+32|0,3,g>>>4&1^1);break}else _O(a,o,3,g>>>4&1^1);while(0);l=p;return}function yE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0;x=l;l=l+160|0;n=x+144|0;w=x;q=e*4.0;y=(g&32|0)==0;q=!(q<f)|y?.45:f/q*.45;s=!(f>1.0)|y?0.0:(f+-1.0)*.05/e;u=+h[d+8>>3];r=-u;v=q*r;t=+h[d>>3];q=t*q;r=s*r;s=t*s;p=+h[b>>3];e=p+t;h[n>>3]=e;o=+h[b+8>>3];f=u+o;h[n+8>>3]=f;t=t*.5+p;u=u*.5+o;d=w+128|0;if(y){c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];y=w+64|0;c[y>>2]=c[b>>2];c[y+4>>2]=c[b+4>>2];c[y+8>>2]=c[b+8>>2];c[y+12>>2]=c[b+12>>2];i=o;j=p;k=o;m=p;f=o;e=p}else{c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[w>>2]=c[b>>2];c[w+4>>2]=c[b+4>>2];c[w+8>>2]=c[b+8>>2];c[w+12>>2]=c[b+12>>2];y=w+64|0;c[y>>2]=c[n>>2];c[y+4>>2]=c[n+4>>2];c[y+8>>2]=c[n+8>>2];c[y+12>>2]=c[n+12>>2];i=f+s;j=e+r;k=f-s;m=e-r}h[w+16>>3]=e-v;h[w+24>>3]=f-q;h[w+32>>3]=t-r;h[w+40>>3]=u-s;h[w+48>>3]=m;h[w+56>>3]=k;h[w+80>>3]=j;h[w+88>>3]=i;h[w+96>>3]=t+r;h[w+104>>3]=u+s;h[w+112>>3]=e+v;h[w+120>>3]=f+q;do if(!(g&64))if(!(g&128)){_O(a,w,9,1);break}else{_O(a,w+48|0,6,1);break}else _O(a,w,6,1);while(0);l=x;return}function zE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;q=l;l=l+64|0;p=q;t=+h[d+8>>3];s=+h[d>>3];k=+h[b>>3];e=k+s;m=+h[b+8>>3];f=m+t;i=k+s*.2;j=m+t*.2;k=k+s*.6;m=m+t*.6;h[p>>3]=i-t;h[p+8>>3]=j+s;n=p+16|0;h[n>>3]=i+t;o=p+24|0;h[o>>3]=j-s;h[p+32>>3]=k+t;h[p+40>>3]=m-s;h[p+48>>3]=k-t;h[p+56>>3]=m+s;if(!(g&64)){if(g&128|0){d=2;g=1;r=3}}else{d=3;g=0;r=3}if((r|0)==3){h[p+(g<<4)>>3]=i;h[p+(g<<4)+8>>3]=j;h[p+(d<<4)>>3]=k;h[p+(d<<4)+8>>3]=m}_O(a,p,4,1);c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];h[n>>3]=e;h[o>>3]=f;bP(a,p,2);l=q;return}function AE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+64|0;n=o;j=+h[d+8>>3];r=j*-.4;i=+h[d>>3];q=i*.4;t=+h[b>>3];e=t+i*.8;s=+h[b+8>>3];f=s+j*.8;i=t+i;j=s+j;h[n>>3]=t+r;k=n+8|0;h[k>>3]=s+q;d=n+16|0;h[d>>3]=t-r;m=n+24|0;h[m>>3]=s-q;h[n+32>>3]=e-r;h[n+40>>3]=f-q;h[n+48>>3]=e+r;h[n+56>>3]=f+q;if(!(g&64)){if(g&128|0){c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];d=2;p=5}}else{c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];d=3;p=5}if((p|0)==5){h[n+(d<<4)>>3]=e;h[n+(d<<4)+8>>3]=f}_O(a,n,4,g>>>4&1^1);h[n>>3]=e;h[k>>3]=f;h[n+16>>3]=i;h[m>>3]=j;bP(a,n,2);l=o;return}function BE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;j=l;l=l+80|0;i=j;n=+h[d+8>>3];k=n*-.3333333333333333;p=+h[d>>3];f=p*.3333333333333333;q=+h[b>>3];m=q+p*.5;o=+h[b+8>>3];e=o+n*.5;d=i+64|0;h[i+64>>3]=q+p;h[i+72>>3]=o+n;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];h[i+16>>3]=m+k;h[i+24>>3]=e+f;d=i+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[i+48>>3]=m-k;h[i+56>>3]=e-f;do if(!(g&64)){d=g>>>4&1^1;if(!(g&128)){_O(a,i,4,d);break}else{_O(a,i,3,d);break}}else _O(a,d,3,g>>>4&1^1);while(0);l=j;return}function CE(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+32|0;i=g;k=+h[c>>3];e=+h[c+8>>3];d=+C(+(e*e+k*k))*.5;m=+h[b>>3];k=k*.5;h[i>>3]=m+k-d;j=+h[b+8>>3];e=e*.5;h[i+8>>3]=j-d+e;h[i+16>>3]=m+d+k;h[i+24>>3]=j+d+e;ZO(a,i,2,f>>>4&1^1);l=g;return}function DE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;q=t+48|0;r=t+16|0;s=t;n=f>4.0?f*.125:.5;p=+h[b>>3];o=+h[d>>3];i=+h[b+8>>3];m=+h[d+8>>3];e=m*n;f=o*n;c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];h[r+16>>3]=o+p;h[r+24>>3]=m+i;h[q>>3]=n*(o-m)+p;j=n*(m+o);k=j+i;h[q+8>>3]=k;h[q+48>>3]=j+p;i=n*(m-o)+i;h[q+56>>3]=i;o=e*-.95;m=o+f+p;n=f*1.3333333333333333;if(!(g&32)){e=e*1.3333333333333333;j=f*-.33333333333333326;i=i-e;f=k-e;e=m-n}else{e=e*1.3333333333333333;j=f*2.333333333333333;i=i+e;f=k+e;e=m+n}h[q+16>>3]=e;h[q+24>>3]=f;h[q+32>>3]=j-o+p;h[q+40>>3]=i;bP(a,r,2);if(!(g&64)){if(g&128|0)XL(s,q,3,.5,q,0)}else XL(s,q,3,.5,0,q);aP(a,q,4,0,0,0);l=t;return}function EE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0;g=l;l=l+32|0;i=g;e=+h[d>>3]+ +h[b>>3];f=+h[d+8>>3]+ +h[b+8>>3];c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];h[i+16>>3]=e;h[i+24>>3]=f;bP(a,i,2);l=g;return}function FE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;n=l;l=l+80|0;j=n+72|0;k=n+8|0;m=n;i=+wE(a,g);i=i*i;h[m>>3]=i;c[f+12>>2]=g;g=f+32|0;a=e+3|0;f=b+(a<<4)|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];if((e|0)>(d|0)?(o=+h[b+(e<<4)>>3]-+h[f>>3],p=+h[b+(e<<4)+8>>3]-+h[b+(a<<4)+8>>3],p*p+o*o<i):0)e=e+-3|0;s=k+48|0;r=b+(e<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];q=k+32|0;a=b+(e+1<<4)|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];f=k+16|0;d=b+(e+2<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];c[k+8>>2]=c[g+8>>2];c[k+12>>2]=c[g+12>>2];c[j>>2]=k;c[j+4>>2]=m;MK(j,90,k,1);c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];c[a>>2]=c[q>>2];c[a+4>>2]=c[q+4>>2];c[a+8>>2]=c[q+8>>2];c[a+12>>2]=c[q+12>>2];c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];m=b+(e+3<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];l=n;return e|0}function GE(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;d=+h[b>>3]-+h[f>>3];e=+h[b+8>>3]-+h[f+8>>3];return e*e+d*d<=+h[c[a+4>>2]>>3]|0}function HE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0;o=l;l=l+80|0;k=o+72|0;m=o+8|0;n=o;j=+wE(a,g);j=j*j;h[n>>3]=j;c[f+8>>2]=g;f=f+16|0;a=b+(d<<4)|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];if(!((e|0)>(d|0)?(i=d+3|0,p=+h[a>>3]-+h[b+(i<<4)>>3],q=+h[b+(d<<4)+8>>3]-+h[b+(i<<4)+8>>3],q*q+p*p<j):0))i=d;e=b+(i+3<<4)|0;c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];g=m+16|0;d=b+(i+2<<4)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];r=m+32|0;a=b+(i+1<<4)|0;c[r>>2]=c[a>>2];c[r+4>>2]=c[a+4>>2];c[r+8>>2]=c[a+8>>2];c[r+12>>2]=c[a+12>>2];s=m+48|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];c[k>>2]=s;c[k+4>>2]=n;MK(k,90,m,0);n=b+(i<<4)|0;c[n>>2]=c[s>>2];c[n+4>>2]=c[s+4>>2];c[n+8>>2]=c[s+8>>2];c[n+12>>2]=c[s+12>>2];c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];l=o;return i|0}function IE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0.0,u=0,v=0,w=0;u=(g|0)!=0;l=(i|0)!=0;if(!((e|0)==(d|0)&(u&l))){if(l){j=+wE(a,i);k=+h[b+(e<<4)>>3];p=+h[b+(e<<4)+8>>3];l=e+3|0;r=b+(l<<4)|0;n=+h[r>>3];l=b+(l<<4)+8|0;o=+h[l>>3];t=k-n;s=p-o;t=+C(+(s*s+t*t))*.9;j=j>=t?t:j;if(p==o){m=(k<n?-j:j)+n;j=p}else{m=k;j=(p<o?-j:j)+o}w=e+1|0;h[b+(w<<4)>>3]=k;h[b+(w<<4)+8>>3]=p;e=b+(e+2<<4)|0;h[r>>3]=m;h[l>>3]=j;c[e>>2]=c[r>>2];c[e+4>>2]=c[r+4>>2];c[e+8>>2]=c[r+8>>2];c[e+12>>2]=c[r+12>>2];c[f+12>>2]=i;h[f+32>>3]=n;h[f+40>>3]=o}if(u){m=+wE(a,g);l=b+(d<<4)|0;k=+h[l>>3];j=+h[b+(d<<4)+8>>3];w=d+3|0;o=+h[b+(w<<4)>>3];p=+h[b+(w<<4)+8>>3];t=k-o;s=j-p;t=+C(+(s*s+t*t))*.9;m=m>=t?t:m;if(j==p){n=(k<o?m:-m)+k;m=j}else{n=k;m=(j<p?m:-m)+j}w=d+1|0;v=b+(w<<4)|0;h[v>>3]=n;h[b+(w<<4)+8>>3]=m;c[l>>2]=c[v>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[l+12>>2]=c[v+12>>2];v=d+2|0;h[b+(v<<4)>>3]=o;h[b+(v<<4)+8>>3]=p;v=16}}else{r=b+(e<<4)|0;s=+h[r>>3];t=+h[b+(e<<4)+8>>3];l=e+3|0;u=b+(l<<4)|0;k=+h[u>>3];l=b+(l<<4)+8|0;j=+h[l>>3];m=+wE(a,g);q=+wE(a,i);n=s-k;p=t-j;n=+C(+(p*p+n*n));w=!(q+m>=n);n=n*.3333333333333333;m=w?m:n;n=w?q:n;if(t==j){w=s<k;p=(w?-n:n)+k;q=(w?m:-m)+s;o=t;m=t}else{w=t<j;p=s;q=s;o=(w?m:-m)+t;m=(w?-n:n)+j}w=e+1|0;v=b+(w<<4)|0;h[v>>3]=q;h[b+(w<<4)+8>>3]=o;c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];v=b+(e+2<<4)|0;h[u>>3]=p;h[l>>3]=m;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];c[f+12>>2]=i;h[f+32>>3]=s;h[f+40>>3]=t;v=16}if((v|0)==16){c[f+8>>2]=g;h[f+16>>3]=k;h[f+24>>3]=j}return}function JE(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0;n=+h[b>>3];k=+h[c>>3]-n;o=+h[b+8>>3];l=+h[c+8>>3]-o;j=d*10.0/(+C(+(k*k+l*l))+.0001);k=j*((k>=0.0?.0001:-.0001)+k);j=((l>=0.0?.0001:-.0001)+l)*j;l=k*.5;m=j*.5;i=n-m;f=o-l;n=m+n;l=o+l;o=i+k;m=f+j;k=n+k;j=l+j;g=o>k?o:k;g=n>g?n:g;d=m>j?m:j;d=l>d?l:d;k=o<k?o:k;k=n<k?n:k;j=m<j?m:j;j=l<j?l:j;h[a>>3]=i<k?i:k;h[a+8>>3]=f<j?f:j;h[a+16>>3]=i>g?i:g;h[a+24>>3]=f>d?f:d;return}function KE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0;q=l;l=l+48|0;m=q+32|0;k=q+16|0;p=q;n=(c[a+16>>2]|0)+12|0;o=c[n>>2]|0;c[n>>2]=b;YO(a,c[(c[a>>2]|0)+336>>2]|0);fP(a,g);t=+h[e>>3]-+h[d>>3];b=e+8|0;s=+h[b>>3]-+h[d+8>>3];r=10.0/(+C(+(t*t+s*s))+.0001);h[e>>3]=r*((t>=0.0?.0001:-.0001)+t);h[b>>3]=((s>=0.0?.0001:-.0001)+s)*r;b=0;while(1){if((b|0)>=4)break;j=i>>(b<<3)&255;if(!j)break;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];LE(p,a,k,m,f,g,j);c[d>>2]=c[p>>2];c[d+4>>2]=c[p+4>>2];c[d+8>>2]=c[p+8>>2];c[d+12>>2]=c[p+12>>2];b=b+1|0}c[n>>2]=o;l=q;return}function LE(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+32|0;m=q+16|0;k=q;n=i&15;j=1400;while(1){o=c[j>>2]|0;if(!o)break;if((n|0)==(o|0)){p=4;break}j=j+24|0}if((p|0)==4){r=+h[j+8>>3]*f;h[e>>3]=r*+h[e>>3];o=e+8|0;h[o>>3]=r*+h[o>>3];p=c[j+16>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];c[m>>2]=c[e>>2];c[m+4>>2]=c[e+4>>2];c[m+8>>2]=c[e+8>>2];c[m+12>>2]=c[e+12>>2];wb[p&15](b,k,m,f,g,i);h[d>>3]=+h[e>>3]+ +h[d>>3];p=d+8|0;h[p>>3]=+h[o>>3]+ +h[p>>3]};c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];l=q;return}function ME(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;f=i;d=xx(b,96770)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else{d=xx(b,96782)|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){e=d;h=5}else d=0}if((h|0)==5){d=nE(e,0,120)|0;if(!d){c[f>>2]=ry(b)|0;Pw(0,96789,f)|0;c[g>>2]=e;Pw(3,96842,g)|0}}l=i;return d|0}function NE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=uH(304)|0;if(!f)Pw(1,96850,g)|0;e=a+16|0;a=c[e>>2]|0;c[f>>2]=a;c[e>>2]=f;if(!a){c[f+144>>2]=3;c[f+148>>2]=0;h[f+152>>3]=1.0}else{b=f+16|0;d=a+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));b=f+56|0;d=a+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[f+144>>2]=c[a+144>>2];c[f+148>>2]=c[a+148>>2];h[f+152>>3]=+h[a+152>>3];c[f+136>>2]=c[a+136>>2];b=f+96|0;d=a+96|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0))}l=g;return f|0}function OE(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)qa(96876,96880,117,96887);else{D_(c[b+212>>2]|0);D_(c[b+208>>2]|0);D_(c[b+216>>2]|0);D_(c[b+220>>2]|0);D_(c[b+224>>2]|0);D_(c[b+228>>2]|0);D_(c[b+232>>2]|0);D_(c[b+236>>2]|0);D_(c[b+240>>2]|0);D_(c[b+244>>2]|0);D_(c[b+248>>2]|0);D_(c[b+252>>2]|0);D_(c[b+256>>2]|0);D_(c[b+272>>2]|0);D_(c[b+284>>2]|0);D_(c[b+280>>2]|0);c[a>>2]=c[b>>2];D_(b);return}}function PE(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;l=c[d+16>>2]|0;k=c[d+152>>2]|0;if((e|0)!=0&(k&32768|0)!=0)c[l+192>>2]=e;if(((k&65536|0)!=0?(c[l+212>>2]=pH(i,j)|0,(f|0)!=0):0)?(a[f>>0]|0)!=0:0){c[l+208>>2]=pH(f,j)|0;d=1}else d=0;do if(k&4194304){if(g|0?a[g>>0]|0:0){c[l+228>>2]=pH(g,j)|0;d=l+260|0;b[d>>1]=b[d>>1]|1;d=1;break}e=c[l+192>>2]|0;if(e){c[l+228>>2]=n1(e)|0;d=1}}while(0);if((h|0)!=0&(k&8388608|0)!=0?(a[h>>0]|0)!=0:0){c[l+244>>2]=pH(h,j)|0;d=1}return d|0}function QE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;i=j;h=j+8|0;g=c[(c[b>>2]|0)+168>>2]|0;f=c[(c[(c[g+16>>2]|0)+8>>2]|0)+92>>2]|0;RE(b,e);b=xx(d,137978)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0){Ww(e,b)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}else{if((g|0)!=(d|0)&(f|0)!=0){Ww(e,f)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}c[f>>2]=b+1;a[b>>0]=95}switch(pz(d)|0){case 0:{f=(g|0)==(d|0)?108412:96901;b=(c[d>>2]|0)>>>4;break}case 1:{f=108399;b=(c[d>>2]|0)>>>4;break}case 2:{f=108368;b=(c[d>>2]|0)>>>4;break}default:{f=0;b=0}}Ww(e,f)|0;c[i>>2]=b;Y0(h,96907,i)|0;Ww(e,h)|0;f=e+4|0;b=c[f>>2]|0;if(b>>>0>=(c[e+8>>2]|0)>>>0){Uw(e,1)|0;b=c[f>>2]|0}a[b>>0]=0;b=c[e>>2]|0;c[f>>2]=b}l=j;return b|0}function RE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;h=i;g=i+8|0;e=c[b+160>>2]|0;if((e|0)>1?c[b+152>>2]&64|0:0){Ww(d,c[(c[(c[b>>2]|0)+308>>2]|0)+(e<<2)>>2]|0)|0;f=d+4|0;e=c[f>>2]|0;if(e>>>0>=(c[d+8>>2]|0)>>>0){Uw(d,1)|0;e=c[f>>2]|0}c[f>>2]=e+1;a[e>>0]=95}f=c[b+196>>2]|0;e=c[b+200>>2]|0;if((f|0)>0|(e|0)>0){c[h>>2]=f;c[h+4>>2]=e;Y0(g,96911,h)|0;Ww(d,g)|0}l=i;return}function SE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0.0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;s=l;l=l+48|0;p=s+16|0;f=s+32|0;q=s;r=+h[(c[a+16>>2]|0)+152>>3];o=TE(d,0,f)|0;if((o+-1|0)>>>0>=2){e=+h[b+16>>3];k=(e+ +h[b>>3])*.5;h[q>>3]=k;i=+h[b+24>>3];m=(i+ +h[b+8>>3])*.5;h[q+8>>3]=m;k=e-k;m=i-m;n=r>.5;if(n)fP(a,.5);j=c[f>>2]|0;i=0.0;f=c[j+8>>2]|0;while(1){d=c[f>>2]|0;if(!d)break;b=f+4|0;if(+g[b>>2]==0.0)e=i;else{WO(a,d);if(!(c[f+12>>2]|0))e=6.283185307179586;else e=+g[b>>2]*6.283185307179586+i;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];b=rQ(p,k,m,i,e)|0;aP(a,c[b>>2]|0,c[b+4>>2]|0,0,0,1);nV(b)}i=e;f=f+12|0}if(n)fP(a,r);UE(j)}l=s;return o|0}function TE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r+8|0;n=r;q=uH(12)|0;i=n1(b)|0;a:do if(!d){d=1;f=i;while(1){switch(a[f>>0]|0){case 0:break a;case 58:{d=d+1|0;break}default:{}}f=f+1|0}}while(0);c[q+4>>2]=i;p=uH((d*12|0)+12|0)|0;c[q+8>>2]=p;m=1.0;h=0;d=0;f=i;while(1){f=k1(f,104958)|0;if(!f){f=20;break}j=+VE(f);if(!(j>=0.0)){f=17;break}k=j-m;if(k>0.0)if((c[5130]|0)!=0?!(k<1.0e-05&k>-1.0e-05):0){c[n>>2]=b;Pw(0,96922,n)|0;c[5130]=0;j=m;d=3}else j=m;k=m-j;if(j>0.0)a[p+(h*12|0)+8>>0]=1;if(a[f>>0]|0)c[p+(h*12|0)>>2]=f;f=h+1|0;g[p+(h*12|0)+4>>2]=j;if(k<1.0e-05&k>-1.0e-05){h=f;f=30;break}else{m=k;h=f;f=0}}b:do if((f|0)==17){if(!(c[5130]|0))d=1;else{c[o>>2]=b;Pw(1,96957,o)|0;c[5130]=0;d=2}UE(q)}else if((f|0)==20)if(m>0.0){f=0;i=0;while(1){if((f|0)>=(h|0))break;o=i+(+g[p+(f*12|0)+4>>2]==0.0&1)|0;f=f+1|0;i=o}if((i|0)<=0){f=p+((h+-1|0)*12|0)+4|0;g[f>>2]=m+ +g[f>>2];f=30;break}j=m/+(i|0);f=0;while(1){if((f|0)>=(h|0)){f=30;break b}i=p+(f*12|0)+4|0;if(+g[i>>2]==0.0)g[i>>2]=j;f=f+1|0}}else f=30;while(0);if((f|0)==30){while(1){f=h+-1|0;if((h|0)<=0)break;if(+g[p+(f*12|0)+4>>2]>0.0)break;else h=f}c[p+(h*12|0)>>2]=0;c[q>>2]=h;c[e>>2]=q}l=r;return d|0}function UE(a){a=a|0;D_(c[a+4>>2]|0);D_(c[a+8>>2]|0);D_(a);return}function VE(b){b=b|0;var d=0.0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;b=A$(b,59)|0;if(!b)d=0.0;else{g=b+1|0;a[b>>0]=0;d=+c2(g,e);d=(d>=0.0?(c[e>>2]|0)!=(g|0):0)?d:-1.0}l=f;return +d}function WE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0;t=l;l=l+80|0;i=t+64|0;r=t;s=+h[(c[a+16>>2]|0)+152>>3];q=TE(d,0,i)|0;if((q+-1|0)>>>0>=2){if(!e){c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];p=r+16|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;o=b+32|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+48|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}else{p=b+32|0;c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+16|0;o=b+48|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];p=r+32|0;c[p>>2]=c[b>>2];c[p+4>>2]=c[b+4>>2];c[p+8>>2]=c[b+8>>2];c[p+12>>2]=c[b+12>>2];p=r+48|0;o=b+16|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2]}k=r+16|0;m=+h[k>>3];f=+h[r>>3];n=m-f;o=r+32|0;h[o>>3]=f;h[k>>3]=f;p=s>.5;if(p)fP(a,.5);i=c[i>>2]|0;j=r+48|0;e=c[i+8>>2]|0;while(1){d=c[e>>2]|0;if(!d)break;b=e+4|0;if(!(+g[b>>2]==0.0)){WO(a,d);if(!(c[e+12>>2]|0))f=m;else f=n*+g[b>>2]+ +h[r>>3];h[o>>3]=f;h[k>>3]=f;_O(a,r,4,1);f=+h[k>>3];h[j>>3]=f;h[r>>3]=f}e=e+12|0}if(p)fP(a,s);UE(i)}l=t;return q|0}function XE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;g=f>>>16^2;c[d+264>>2]=g;h=d+268|0;c[h>>2]=g+2;g=d+272|0;D_(c[g>>2]|0);d=uH(c[h>>2]<<4)|0;c[g>>2]=d;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];g=d+16|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function YE(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+144|0;c=q+80|0;e=q+16|0;f=q;k=+h[b>>3];o=a+16|0;m=+h[o>>3];if(!(((((((((!(k>m)?(n=+h[a>>3],!(k<n)):0)?(d=+h[b+8>>3],i=+h[a+24>>3],!(d>i)):0)?(j=+h[a+8>>3],!(d<j)):0)?(k=+h[b+16>>3],!(k>m|k<n)):0)?(k=+h[b+24>>3],!(k>i|k<j)):0)?(k=+h[b+32>>3],!(k>m|k<n)):0)?(k=+h[b+40>>3],!(k>i|k<j)):0)?(k=+h[b+48>>3],!(k>m|k<n)):0)?(n=+h[b+56>>3],!(n>i|n<j)):0))p=11;a:do if((p|0)==11){if(!(ZE(b)|0)){XL(f,b,3,.5,c,e);YE(a,c);YE(a,e);break}f=a+24|0;g=a+8|0;e=0;while(1){if((e|0)==4)break a;d=+h[b+(e<<4)>>3];if(!(d>+h[o>>3])){if(d<+h[a>>3]){c=a;p=16}}else{c=o;p=16}if((p|0)==16){p=0;h[c>>3]=d}d=+h[b+(e<<4)+8>>3];if(!(d>+h[f>>3])){if(d<+h[g>>3]){c=a;p=19}}else{c=o;p=19}if((p|0)==19){p=0;h[c+8>>3]=d}e=e+1|0}}while(0);l=q;return}function ZE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,h=0,i=0;b=l;l=l+48|0;d=b+32|0;e=b+16|0;f=b;i=a+48|0;h=a+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];g=+$G(f,e,d);h=a+32|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];c[d>>2]=c[h>>2];c[d+4>>2]=c[h+4>>2];c[d+8>>2]=c[h+8>>2];c[d+12>>2]=c[h+12>>2];a=g<4.0&+$G(f,e,d)<4.0&1;l=b;return a|0}function _E(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0;D=l;l=l+272|0;u=D+256|0;v=D+224|0;w=D+192|0;x=D+128|0;y=D+64|0;z=D;A=D+160|0;B=D+96|0;C=D+32|0;t=c[d+16>>2]|0;s=c[t+144>>2]|0;r=t+16|0;c[x>>2]=c[r>>2];c[x+4>>2]=c[r+4>>2];c[x+8>>2]=c[r+8>>2];c[x+12>>2]=c[r+12>>2];c[x+16>>2]=c[r+16>>2];c[x+20>>2]=c[r+20>>2];c[x+24>>2]=c[r+24>>2];c[x+28>>2]=c[r+28>>2];t=c[(c[t+8>>2]|0)+88>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[z+24>>2]=0;c[z+28>>2]=0;if(!t){c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}else{d=x+16|0;if(+h[x>>3]==+h[d>>3]?(e=x+8|0,f=x+24|0,+h[e>>3]==+h[f>>3]):0){h[e>>3]=1797693134862315708145274.0e284;h[x>>3]=1797693134862315708145274.0e284;h[f>>3]=-1797693134862315708145274.0e284;h[d>>3]=-1797693134862315708145274.0e284}j=v+8|0;k=v+16|0;m=v+24|0;n=y+16|0;o=y+24|0;p=s+144|0;q=w+16|0;r=t+12|0;d=0;f=c[t+8>>2]|0;e=0;g=0.0;i=0;while(1){if((i|0)>=(c[t>>2]|0))break;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];switch(c[f>>2]|0){case 1:case 0:{H=+h[f+8>>3];I=+h[f+24>>3];h[v>>3]=H-I;F=+h[f+16>>3];G=+h[f+32>>3];h[j>>3]=F-G;h[k>>3]=I+H;h[m>>3]=G+F;E=f+80|0;c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2];E=f+96|0;c[E>>2]=c[k>>2];c[E+4>>2]=c[k+4>>2];c[E+8>>2]=c[k+8>>2];c[E+12>>2]=c[k+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];$E(x,u);c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];$E(x,u);break}case 3:case 2:{E=f+80|0;J=f+8|0;aF(A,c[J+4>>2]|0,c[J>>2]|0,x);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2];c[E+16>>2]=c[A+16>>2];c[E+20>>2]=c[A+20>>2];c[E+24>>2]=c[A+24>>2];c[E+28>>2]=c[A+28>>2];break}case 5:case 4:{J=f+80|0;E=f+8|0;aF(B,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[B>>2];c[J+4>>2]=c[B+4>>2];c[J+8>>2]=c[B+8>>2];c[J+12>>2]=c[B+12>>2];c[J+16>>2]=c[B+16>>2];c[J+20>>2]=c[B+20>>2];c[J+24>>2]=c[B+24>>2];c[J+28>>2]=c[B+28>>2];break}case 6:{J=f+80|0;E=f+8|0;aF(C,c[E+4>>2]|0,c[E>>2]|0,x);c[J>>2]=c[C>>2];c[J+4>>2]=c[C+4>>2];c[J+8>>2]=c[C+8>>2];c[J+12>>2]=c[C+12>>2];c[J+16>>2]=c[C+16>>2];c[J+20>>2]=c[C+20>>2];c[J+24>>2]=c[C+24>>2];c[J+28>>2]=c[C+28>>2];break}case 7:{J=f+112|0;c[J>>2]=uH(56)|0;E=n1(c[f+40>>2]|0)|0;K=c[J>>2]|0;c[K>>2]=E;a[K+48>>0]=a[97003+(c[f+24>>2]|0)>>0]|0;c[y>>2]=e;h[n>>3]=g;c[o>>2]=c[o>>2]&-128|d&127;K=c[p>>2]|0;K=nb[c[K>>2]&63](K,y,1)|0;E=c[J>>2]|0;c[E+4>>2]=K;wL(u,s,E);bF(w,+h[f+8>>3],+h[f+16>>3],c[J>>2]|0);J=f+80|0;c[J>>2]=c[w>>2];c[J+4>>2]=c[w+4>>2];c[J+8>>2]=c[w+8>>2];c[J+12>>2]=c[w+12>>2];c[J+16>>2]=c[w+16>>2];c[J+20>>2]=c[w+20>>2];c[J+24>>2]=c[w+24>>2];c[J+28>>2]=c[w+28>>2];c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];$E(x,u);c[u>>2]=c[q>>2];c[u+4>>2]=c[q+4>>2];c[u+8>>2]=c[q+8>>2];c[u+12>>2]=c[q+12>>2];$E(x,u);if(!(c[r>>2]|0))c[r>>2]=106;break}case 10:{e=c[f+16>>2]|0;g=+h[f+8>>3];break}case 15:{d=c[f+8>>2]|0;break}default:{}}f=f+120|0;i=i+1|0}c[b>>2]=c[x>>2];c[b+4>>2]=c[x+4>>2];c[b+8>>2]=c[x+8>>2];c[b+12>>2]=c[x+12>>2];c[b+16>>2]=c[x+16>>2];c[b+20>>2]=c[x+20>>2];c[b+24>>2]=c[x+24>>2];c[b+28>>2]=c[x+28>>2]}l=D;return}function $E(a,b){a=a|0;b=b|0;var c=0.0,d=0;c=+h[b>>3];d=a+16|0;if(c>+h[d>>3])h[d>>3]=c;if(c<+h[a>>3])h[a>>3]=c;c=+h[b+8>>3];b=a+24|0;if(c>+h[b>>3])h[b>>3]=c;b=a+8|0;if(c<+h[b>>3])h[b>>3]=c;return}function aF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+32|0;n=r;f=+h[b>>3];o=n+16|0;h[o>>3]=f;h[n>>3]=f;f=+h[b+8>>3];p=n+24|0;h[p>>3]=f;m=n+8|0;h[m>>3]=f;j=1;while(1){if((j|0)>=(d|0))break;i=b+24|0;f=+h[i>>3];if(!(f<+h[n>>3])){if(f>+h[o>>3]){g=o;q=5}}else{g=n;q=5}if((q|0)==5){q=0;h[g>>3]=f}f=+h[b+32>>3];if(!(f<+h[m>>3])){if(f>+h[p>>3]){b=o;q=8}}else{b=n;q=8}if((q|0)==8){q=0;h[b+8>>3]=f}j=j+1|0;b=i}c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];$E(e,k);c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];$E(e,k);c[a>>2]=c[n>>2];c[a+4>>2]=c[n+4>>2];c[a+8>>2]=c[n+8>>2];c[a+12>>2]=c[n+12>>2];c[a+16>>2]=c[n+16>>2];c[a+20>>2]=c[n+20>>2];c[a+24>>2]=c[n+24>>2];c[a+28>>2]=c[n+28>>2];l=r;return}function bF(b,c,d,e){b=b|0;c=+c;d=+d;e=e|0;var f=0.0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+16|0;i=n+8|0;j=n;f=+h[e+32>>3];k=+h[e+40>>3];switch(a[e+48>>0]|0){case 108:{h[i>>3]=c;f=f+c;g=j;m=5;break}case 110:{f=f*.5;h[i>>3]=c-f;f=f+c;g=j;m=5;break}case 114:{h[j>>3]=c;f=c-f;g=i;m=5;break}default:{c=0.0;f=0.0}}if((m|0)==5){h[g>>3]=f;c=+h[i>>3];f=+h[j>>3]}d=+h[e+16>>3]+d;h[b>>3]=c;h[b+8>>3]=d-k;h[b+16>>3]=f;h[b+24>>3]=d;l=n;return}function cF(a){a=a|0;if((c[a>>2]|0)==7)mH(c[a+112>>2]|0,1);return}function dF(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0.0;m=l;l=l+16|0;k=m;j=c[b+152>>2]|0;n=+h[b+432>>3];i=+h[b+352>>3]*.013888888888888888;f=i*n;h[b+488>>3]=f;g=+h[b+440>>3];i=i*g;h[b+496>>3]=i;h[b+520>>3]=n*.013888888888888888;e=b+528|0;h[e>>3]=g*.013888888888888888;if(j&4096|c[46369]|0)h[e>>3]=g*-.013888888888888888;e=(c[b+360>>2]|0)==0;n=+((c[b+448>>2]|0)>>>0);g=+((c[b+452>>2]|0)>>>0);h[b+368>>3]=(e?n:g)/f;h[b+376>>3]=(e?g:n)/i;cP(b,NL(d,nx(d,0,98496,0)|0,191979)|0);c[b+160>>2]=0;eF(b,d);if(j&2|0)fF(b,d);e=Sy(d)|0;while(1){if(!e)break;a[(c[e+16>>2]|0)+116>>0]=0;e=Ty(d,e)|0}gF(b,k);while(1){if(!((hF(b)|0)<<24>>24))break;if((iF(b)|0)>1)DO(b);jF(b);while(1){if(!((kF(b)|0)<<24>>24))break;lF(b,d);mF(b)}if((iF(b)|0)>1)EO(b);nF(b,k)}oF(b);l=m;return}function eF(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=0;c[d+8>>2]=b;c[d+12>>2]=0;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);zO(a,b);return}function fF(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;WO(b,131718);d=xx(c,137895)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(c,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);zG(b,c);g=Sy(c)|0;while(1){if(!g)break;d=xx(g,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(g,134647)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(g,98392)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(g,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Ex(c,g)|0;while(1){if(!f)break;d=xx(f,137741)|0;do if(d|0?a[d>>0]|0:0){if(!(A$(d,58)|0)){UO(b,d);break}e=n1(d)|0;d=e;while(1){d=k1(d,104958)|0;if(!d)break;if(!(a[d>>0]|0)){d=0;continue}UO(b,d);d=0}D_(e)}while(0);d=xx(f,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=Gx(c,f)|0}g=Ty(c,g)|0}return}function gF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+8|0;g=i;h=c[a>>2]|0;d=c[h+312>>2]|0;f=a+156|0;c[f>>2]=d;h=c[h+316>>2]|0;if(!h)if((d|0)>1?(c[a+152>>2]&64|0)==0:0){c[e>>2]=c[a+52>>2];Pw(0,97541,e)|0;c[f>>2]=1;e=1;d=0}else{e=1;d=0}else{d=h+4|0;if((c[h>>2]|0)>1?(c[a+152>>2]&64|0)==0:0){c[g>>2]=c[a+52>>2];Pw(0,97541,g)|0;c[h+8>>2]=(c[f>>2]|0)+1}e=c[d>>2]|0;d=h+8|0}c[a+160>>2]=e;c[b>>2]=d;l=i;return}function hF(a){a=a|0;return (c[a+160>>2]|0)<=(c[a+156>>2]|0)|0}function iF(a){a=a|0;var b=0;b=c[(c[a>>2]|0)+316>>2]|0;return c[((b|0)==0?a+156|0:b)>>2]|0}function jF(a){a=a|0;var b=0,d=0;d=a+172|0;b=c[d+4>>2]|0;a=a+196|0;c[a>>2]=c[d>>2];c[a+4>>2]=b;return}function kF(a){a=a|0;var b=0,d=0;d=c[a+196>>2]|0;if(((d|0)>-1?(d|0)<(c[a+164>>2]|0):0)?(b=c[a+200>>2]|0,(b|0)>-1):0)a=(b|0)<(c[a+168>>2]|0)&1;else a=0;return a|0}function lF(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+176|0;k=p;f=p+48|0;m=p+32|0;n=c[d+16>>2]|0;o=c[d+152>>2]|0;if((c[d+160>>2]|0)<=1?(c[d+196>>2]|0)<=0:0)h=0;else{Tw(m,128,f);g=n+212|0;h=c[g>>2]|0;RE(d,m);Ww(m,h)|0;i=m+4|0;f=c[i>>2]|0;if(f>>>0>=(c[m+8>>2]|0)>>>0){Uw(m,1)|0;f=c[i>>2]|0}a[f>>0]=0;f=c[m>>2]|0;c[i>>2]=f;c[g>>2]=f}qQ(xx(e,97006)|0);qF(d);BO(d);UO(d,134232);WO(d,131718);do if(o&4259840|0){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;if(o&655360){i=o&131072;c[n+264>>2]=i>>>16^2;f=uH((i>>>12^32)+32|0)|0;g=d+288|0;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];g=f+16|0;q=d+304|0;c[g>>2]=c[q>>2];c[g+4>>2]=c[q+4>>2];c[g+8>>2]=c[q+8>>2];c[g+12>>2]=c[q+12>>2];if(!i){WG(f);g=4}else g=2}else{f=0;g=0}if(!(o&8192))yO(d,f,f,g)|0;c[n+272>>2]=f;c[n+268>>2]=g}while(0);if(o&32768|0?(j=c[(c[e+16>>2]|0)+12>>2]|0,j|0):0)c[n+192>>2]=c[j>>2];g=(o&4|0)!=0;do if(!g){f=n+208|0;if((c[f>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;q=d+256|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[k+16>>2]=c[q+16>>2];c[k+20>>2]=c[q+20>>2];c[k+24>>2]=c[q+24>>2];c[k+28>>2]=c[q+28>>2];XE(d,k);PO(d,c[f>>2]|0,c[n+228>>2]|0,c[n+244>>2]|0,c[n+212>>2]|0)}while(0);rF(d,e);f=c[(c[e+16>>2]|0)+12>>2]|0;if(f|0)oH(d,4,f);do if(!g){if((c[n+208>>2]|0)==0?(b[n+260>>1]&1)==0:0)break;QO(d)}while(0);sF(d,e,o);CO(d);if(h|0){Xw(m);c[n+212>>2]=h}l=p;return}function mF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;b=h+16|0;j=h+8|0;f=h;g=a+196|0;i=a+188|0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];pF(j,b,d);i=c[j+4>>2]|0;e=g;c[e>>2]=c[j>>2];c[e+4>>2]=i;if(!((kF(a)|0)<<24>>24)){e=a+180|0;if(!(c[a+184>>2]|0))c[a+200>>2]=c[a+176>>2];else c[g>>2]=c[a+172>>2];c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];pF(f,b,d);i=c[f+4>>2]|0;j=g;c[j>>2]=c[f>>2];c[j+4>>2]=i}l=h;return}function nF(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if(!d){d=a+160|0;c[d>>2]=(c[d>>2]|0)+1}else{c[a+160>>2]=c[d>>2];c[b>>2]=d+4}return}function oF(a){a=a|0;AO(a);OE(a);return}function pF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[d+4>>2]|0)+(c[b+4>>2]|0)|0;c[a>>2]=(c[d>>2]|0)+(c[b>>2]|0);c[a+4>>2]=e;return}function qF(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+48|0;n=t+32|0;f=t+24|0;j=t+8|0;k=t+16|0;m=t;r=a+196|0;q=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=q;c[p+4>>2]=r;p=a+164|0;i=c[p>>2]|0;p=c[p+4>>2]|0;s=j;c[s>>2]=i;c[s+4>>2]=p;s=a+360|0;if(!(c[s>>2]|0)){k=q;j=r}else{c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];yG(k,n);r=k;k=c[r>>2]|0;r=c[r+4>>2]|0;p=f;c[p>>2]=k;c[p+4>>2]=r;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];yG(m,n);p=m;i=c[p>>2]|0;p=c[p+4>>2]|0;c[j>>2]=i;c[j+4>>2]=p;j=r}d=+h[a+320>>3];g=d*+(k|0)-+h[a+240>>3];h[a+288>>3]=g;e=+h[a+328>>3];o=e*+(j|0)-+h[a+248>>3];h[a+296>>3]=o;h[a+304>>3]=d+g;h[a+312>>3]=e+o;f=a+472|0;if(!(c[(c[a+12>>2]|0)+28>>2]|0)){r=a+456|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2]}else{q=a+456|0;c[f>>2]=c[((c[f>>2]|0)<(c[q>>2]|0)?f:q)>>2];r=a+476|0;c[r>>2]=c[((c[r>>2]|0)<(c[a+460>>2]|0)?f:q)+4>>2];r=a+480|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+464>>2]|0)?f:q)+8>>2];r=a+484|0;c[r>>2]=c[((c[r>>2]|0)>(c[a+468>>2]|0)?f:q)+12>>2]}m=c[a+152>>2]|0;b=+h[a+336>>3];if(!(m&128)){b=(+(k|0)-+(i|0)*.5)*d+b;h[a+256>>3]=b;g=(+(j|0)-+(p|0)*.5)*e+ +h[a+344>>3];o=g;d=d+b;g=g+e}else{d=+h[a+368>>3]*.5;e=b-d;h[a+256>>3]=e;g=+h[a+344>>3];u=+h[a+376>>3]*.5;o=g-u;d=d+b;g=u+g;b=e}h[a+264>>3]=o;h[a+272>>3]=d;h[a+280>>3]=g;if(!(c[s>>2]|0)){e=+h[a+352>>3];h[a+504>>3]=+h[a+384>>3]/e-b;if(!(m&4096|c[46369])){d=+h[a+392>>3]/e;b=o}else{d=-g;b=+h[a+392>>3]/e}h[a+512>>3]=d-b}else{f=a+384|0;e=+h[a+352>>3];h[a+512>>3]=-g-+h[a+392>>3]/e;if(!(m&4096|c[46369]))d=+h[f>>3]/e;else{d=-d;b=+h[f>>3]/e}h[a+504>>3]=d-b}l=t;return}function rF(b,d){b=b|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s;o=s+40|0;p=s+36|0;r=s+32|0;e=xx(d,137895)|0;if(!e){j=1;e=134116}else{i=(a[e>>0]|0)==0;j=i&1;e=i?134116:e}h=c[b+152>>2]|0;i=(a[e>>0]|0)==116;if(!(h&256))if(i){m=(b$(e,134297)|0)==0;k=m?134116:e;m=m?1:j;n=8}else{k=e;m=j;n=8}else if(!(i?!(b$(e,134297)|0):0)){k=e;m=j;n=8}if((n|0)==8?!((m|0)!=0&(h&33554432|0)!=0):0)if(!((uG(k,o,p)|0)<<24>>24)){WO(b,k);UO(b,134297);r=b+256|0;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];c[q+20>>2]=c[r+20>>2];c[q+24>>2]=c[r+24>>2];c[q+28>>2]=c[r+28>>2];$O(b,q,1)}else{c[r>>2]=0;i=c[o>>2]|0;WO(b,i);UO(b,134297);tG(d,r)|0;e=c[o+4>>2]|0;h=KL(d,c[46373]|0,0,0)|0;f=+g[p>>2];if(!e)XO(b,134232,h,f);else XO(b,e,h,f);r=(c[r>>2]|0)>>>1&1|2;p=b+256|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];c[q+16>>2]=c[p+16>>2];c[q+20>>2]=c[p+20>>2];c[q+24>>2]=c[p+24>>2];c[q+28>>2]=c[p+28>>2];$O(b,q,r);D_(i)}e=c[(c[(c[d+16>>2]|0)+8>>2]|0)+88>>2]|0;if(e|0)wG(b,e);l=s;return}function sF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[a>>2]|0)+28|0;c[g>>2]=(c[g>>2]|0)+1;g=(d&4|0)!=0;if(!g)tF(a,b,d);a:do if(!(d&1)){if(d&16|0){JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a);HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);break}if(!(d&8)){f=Sy(b)|0;while(1){if(!f)break a;uF(a,f);e=Ex(b,f)|0;while(1){if(!e)break;uF(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0);vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}}HO(a);e=Sy(b)|0;while(1){if(!e)break;if((wF(b,e)|0)<<24>>24)uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;if((xF(b,e)|0)<<24>>24)vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}else{HO(a);e=Sy(b)|0;while(1){if(!e)break;uF(a,e);e=Ty(b,e)|0}IO(a);JO(a);f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;vF(a,e);e=Gx(b,e)|0}f=Ty(b,f)|0}KO(a)}while(0);if(g)tF(a,b,d);return}function tF(e,f,i){e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;P=l;l=l+128|0;w=P+72|0;N=P+64|0;H=P+112|0;I=P;J=P+104|0;K=f+16|0;L=(i&4|0)!=0;M=e+16|0;x=I+32|0;y=I+16|0;A=I+8|0;B=I+24|0;C=I+48|0;D=I+40|0;E=I+56|0;F=(i&8|0)==0;G=J+4|0;v=1;while(1){j=c[K>>2]|0;if((v|0)>(c[j+180>>2]|0))break;u=c[(c[j+184>>2]|0)+(v<<2)>>2]|0;if((rG(e,u)|0)<<24>>24){if(L)tF(e,u,i);sG(e,u);r=c[M>>2]|0;s=r+208|0;if(!(c[s>>2]|0))t=(b[r+260>>1]&1)!=0;else t=1;qQ(xx(u,97006)|0);if(!(L|t^1)){q=(c[u+16>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[w+16>>2]=c[q+16>>2];c[w+20>>2]=c[q+20>>2];c[w+24>>2]=c[q+24>>2];c[w+28>>2]=c[q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}c[H>>2]=0;j=tG(u,H)|0;if(!j)p=0;else{YO(e,j);p=c[H>>2]&1}q=u+16|0;j=d[(c[q>>2]|0)+112>>0]|0;do if(!(j&1)){if(j&2|0){j=OL(u,0,103230)|0;k=OL(u,0,103238)|0;O=29;break}if(j&8|0){j=OL(u,0,103246)|0;k=OL(u,0,103254)|0;O=29;break}if(j&4|0){j=OL(u,0,103262)|0;k=OL(u,0,103270)|0;O=29;break}j=xx(u,137741)|0;if(!j)k=0;else k=(a[j>>0]|0)==0?0:j;j=xx(u,134647)|0;if(!j)j=k;else j=(a[j>>0]|0)==0?k:j;m=xx(u,98392)|0;if(m)k=(a[m>>0]|0)==0?k:m;if(!((p|0)!=0&(k|0)!=0)){m=xx(u,137895)|0;if(m|0?a[m>>0]|0:0){k=m;O=29;break}j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;c[J>>2]=0;if(!p)k=0;else O=31}else O=29}else{j=OL(u,0,103214)|0;k=OL(u,0,103222)|0;O=29}while(0);if((O|0)==29){c[J>>2]=0;j=(j|0)==0?134232:j;n=(k|0)==0?131718:k;O=31}if((O|0)==31){O=0;if(!((uG(n,J,w)|0)<<24>>24)){WO(e,n);k=1}else{WO(e,c[J>>2]|0);k=c[G>>2]|0;m=KL(u,c[46373]|0,0,0)|0;o=+g[w>>2];if(!k)XO(e,134232,m,o);else XO(e,k,m,o);k=(c[H>>2]|0)>>>1&1|2}}m=c[46372]|0;if((m|0?(z=yx(u,m)|0,z|0):0)?a[z>>0]|0:0)fP(e,+LL(u,c[46372]|0,1.0,0.0));p=c[H>>2]|0;do if(p&4){m=KL(u,c[46371]|0,1,0)|0;if(m|k|0){n=c[q>>2]|0;Q=n+16|0;c[I>>2]=c[Q>>2];c[I+4>>2]=c[Q+4>>2];c[I+8>>2]=c[Q+8>>2];c[I+12>>2]=c[Q+12>>2];n=n+32|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!m)UO(e,134297);else UO(e,j);EJ(e,I,4,p,k)}}else{if(!(p&64)){if(KL(u,c[46371]|0,1,0)|0){UO(e,j);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}if(!k)break;UO(e,134297);Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,k);break}Q=c[q>>2]|0;p=Q+16|0;c[I>>2]=c[p>>2];c[I+4>>2]=c[p+4>>2];c[I+8>>2]=c[p+8>>2];c[I+12>>2]=c[p+12>>2];Q=Q+32|0;c[x>>2]=c[Q>>2];c[x+4>>2]=c[Q+4>>2];c[x+8>>2]=c[Q+8>>2];c[x+12>>2]=c[Q+12>>2];h[y>>3]=+h[x>>3];h[B>>3]=+h[A>>3];h[C>>3]=+h[I>>3];h[E>>3]=+h[D>>3];if(!(KL(u,c[46371]|0,1,0)|0))UO(e,134297);else UO(e,j);if((WE(e,I,n,0)|0)>1){c[N>>2]=ry(u)|0;Pw(3,97374,N)|0}Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];$O(e,w,0)}while(0);D_(c[J>>2]|0);j=c[(c[q>>2]|0)+12>>2]|0;if(j|0)oH(e,5,j);if(t){if(L){Q=(c[q>>2]|0)+16|0;c[w>>2]=c[Q>>2];c[w+4>>2]=c[Q+4>>2];c[w+8>>2]=c[Q+8>>2];c[w+12>>2]=c[Q+12>>2];c[w+16>>2]=c[Q+16>>2];c[w+20>>2]=c[Q+20>>2];c[w+24>>2]=c[Q+24>>2];c[w+28>>2]=c[Q+28>>2];XE(e,w);PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0)}QO(e)}a:do if(!F){k=Sy(u)|0;while(1){if(!k)break a;uF(e,k);j=Ex(u,k)|0;while(1){if(!j)break;vF(e,j);j=Gx(u,j)|0}k=Ty(u,k)|0}}while(0);vG(e,f);if(!L)tF(e,u,i)}v=v+1|0}l=P;return}function uF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j;h=c[b>>2]|0;i=d+16|0;a:do if(((c[(c[i>>2]|0)+8>>2]|0?(jG(b,ez(d)|0,d)|0)<<24>>24:0)?(k=b+256|0,c[e>>2]=c[k>>2],c[e+4>>2]=c[k+4>>2],c[e+8>>2]=c[k+8>>2],c[e+12>>2]=c[k+12>>2],c[e+16>>2]=c[k+16>>2],c[e+20>>2]=c[k+20>>2],c[e+24>>2]=c[k+24>>2],c[e+28>>2]=c[k+28>>2],(kG(d,e)|0)<<24>>24):0)?(f=(c[i>>2]|0)+116|0,g=c[h+28>>2]|0,(g|0)!=(a[f>>0]|0)):0){a[f>>0]=g;cP(b,ry(d)|0);e=NL(d,c[46399]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46387]|0,191979)|0;b:do if(a[e>>0]|0){AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f)break b;if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);lG(b,d);ub[c[(c[(c[(c[i>>2]|0)+8>>2]|0)+4>>2]|0)+20>>2]&63](b,d);e=c[(c[i>>2]|0)+108>>2]|0;if(e|0?a[e+81>>0]|0:0)oH(b,10,e);mG(b)}while(0);l=j;return}function vF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;e=b+256|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];c[g+16>>2]=c[e+16>>2];c[g+20>>2]=c[e+20>>2];c[g+24>>2]=c[e+24>>2];c[g+28>>2]=c[e+28>>2];a:do if((yF(d,g)|0)<<24>>24?(f=d+-48|0,(zF(b,d)|0)<<24>>24):0){i=d+48|0;e=W_(ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;e=C_(e+3+(W_(ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)|0)|0;b0(e,ry(c[((c[d>>2]&3|0)==3?d:i)+40>>2]|0)|0)|0;i=(ey(ez(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0)==0;g=e+(W_(e)|0)|0;if(i){a[g>>0]=a[138665]|0;a[g+1>>0]=a[138666]|0;a[g+2>>0]=a[138667]|0}else{a[g>>0]=a[134656]|0;a[g+1>>0]=a[134657]|0;a[g+2>>0]=a[134658]|0}p1(e,ry(c[((c[d>>2]&3|0)==2?d:f)+40>>2]|0)|0)|0;cP(b,e);D_(e);e=NL(d,c[46421]|0,191979)|0;if(a[e>>0]|0)cP(b,e);e=NL(d,c[46415]|0,191979)|0;b:do if(!(a[e>>0]|0))e=0;else{AF(e)|0;e=185144;while(1){f=e;e=e+4|0;f=c[f>>2]|0;if(!f){e=185144;break b}if((a[f>>0]|0)!=105)continue;if(!(b$(f,131253)|0))break a}}while(0);BF(b,d,e);CF(b,d,e);DF(b)}while(0);l=h;return}function wF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function xF(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0)){a=1;break}if(!(oz(c[(c[e+184>>2]|0)+(a<<2)>>2]|0,b)|0))a=a+1|0;else{a=0;break}}return a|0}function yF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+64|0;i=j+32|0;f=j;g=b+16|0;b=c[g>>2]|0;e=c[b+8>>2]|0;if((e|0)!=0?(e=e+8|0,c[f>>2]=c[e>>2],c[f+4>>2]=c[e+4>>2],c[f+8>>2]=c[e+8>>2],c[f+12>>2]=c[e+12>>2],c[f+16>>2]=c[e+16>>2],c[f+20>>2]=c[e+20>>2],c[f+24>>2]=c[e+24>>2],c[f+28>>2]=c[e+28>>2],c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(iG(f,i)|0)!=0):0)b=1;else h=3;do if((h|0)==3){e=c[b+96>>2]|0;if(e){c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[i+16>>2]=c[d+16>>2];c[i+20>>2]=c[d+20>>2];c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];if((VM(e,i)|0)<<24>>24){b=1;break}b=c[g>>2]|0}b=c[b+108>>2]|0;if((b|0?a[b+81>>0]|0:0)?(c[i>>2]=c[d>>2],c[i+4>>2]=c[d+4>>2],c[i+8>>2]=c[d+8>>2],c[i+12>>2]=c[d+12>>2],c[i+16>>2]=c[d+16>>2],c[i+20>>2]=c[d+20>>2],c[i+24>>2]=c[d+24>>2],c[i+28>>2]=c[d+28>>2],(VM(b,i)|0)<<24>>24):0){b=1;break}b=0}while(0);l=j;return b|0}function zF(b,d){b=b|0;d=d|0;var e=0,f=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,c[46420]|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=0;while(1){if((e|0)>=2){e=0;break a}f=(e|0)==1;f=NL(c[((c[d>>2]&3|0)==((f?2:3)|0)?d:d+((f?-1:1)*48|0)|0)+40>>2]|0,c[46397]|0,191979)|0;if(!(a[f>>0]|0)){e=1;break a}if(!((eG(b,f)|0)<<24>>24))e=e+1|0;else{e=1;break}}}else e=0;else e=1;while(0);return e|0}function AF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+192|0;o=p+24|0;n=p+16|0;m=p+8|0;k=p;g=p+48|0;j=p+32|0;if(a[97256]|0){Tw(185408,128,191746);a[97256]=0}Tw(j,128,p+56|0);c[g>>2]=b;h=j+4|0;i=j+8|0;d=0;e=0;a:while(1){f=d;b:while(1)switch(cG(g,j)|0){case 0:{d=21;break a}case 40:if(!(f<<24>>24)){f=1;continue b}else{d=7;break a}case 41:if(!(f<<24>>24)){d=9;break a}else{f=0;continue b}default:break b}if(!(f<<24>>24)){if((e|0)==63){d=12;break}d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;c[185144+(e<<2)>>2]=c[46353];e=e+1|0}d=c[h>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(j,1)|0;d=c[h>>2]|0}a[d>>0]=0;d=c[j>>2]|0;c[h>>2]=d;Ww(185408,d)|0;d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}c[46353]=d+1;a[d>>0]=0;d=f}do if((d|0)==7){c[k>>2]=b;Pw(1,97257,k)|0;c[46286]=0;Xw(j)}else if((d|0)==9){c[m>>2]=b;Pw(1,97291,m)|0;c[46286]=0;Xw(j)}else if((d|0)==12){c[n>>2]=b;Pw(0,97319,n)|0;c[46349]=0;Xw(j)}else if((d|0)==21){if(f<<24>>24){c[o>>2]=b;Pw(1,97342,o)|0;c[46286]=0;Xw(j);break}c[185144+(e<<2)>>2]=0;Xw(j);d=c[46353]|0;if(d>>>0>=(c[46354]|0)>>>0){Uw(185408,1)|0;d=c[46353]|0}a[d>>0]=0;c[46353]=c[46352]}while(0);l=p;return 185144}function BF(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+160|0;y=A+24|0;w=A+20|0;v=A+16|0;o=A;p=A+32|0;x=c[d+152>>2]|0;c[y>>2]=0;c[w>>2]=0;c[v>>2]=0;z=NE(d)|0;c[z+4>>2]=3;c[z+8>>2]=f;c[z+12>>2]=9;t=f+16|0;n=c[(c[t>>2]|0)+96>>2]|0;if((n|0?(a[n+82>>0]|0)==0:0)?(RL(xx(f,97079)|0,0)|0)<<24>>24:0){n=z+260|0;b[n>>1]=b[n>>1]|512}if(g|0?c[(c[t>>2]|0)+8>>2]|0:0)YO(d,g);g=c[46436]|0;if((g|0?(i=yx(f,g)|0,i|0):0)?a[i>>0]|0:0)fP(d,+LL(f,c[46436]|0,1.0,0.0));do if(x&16777216|0){g=f+48|0;if((e[(c[(ez(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)|0)+16>>2]|0)+178>>1]|0)>2){m=+h[(c[(c[(c[((c[f>>2]&3|0)==3?f:g)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+176>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);m=+h[(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0)+16>>3]*72.0;h[z+184>>3]=+(~~(m+(m>=0.0?.5:-.5))|0);break}else{n=z+176|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;break}}while(0);if(x&32768|0){n=c[t>>2]|0;g=c[n+96>>2]|0;if(!g)g=c[z+192>>2]|0;else{g=c[g>>2]|0;c[z+192>>2]=g}i=z+196|0;c[i>>2]=g;k=z+204|0;c[k>>2]=g;j=z+200|0;c[j>>2]=g;g=c[n+108>>2]|0;if(g|0)c[i>>2]=c[g>>2];g=c[n+104>>2]|0;if(g|0)c[j>>2]=c[g>>2];g=c[n+100>>2]|0;if(g|0)c[k>>2]=c[g>>2]}if(!(x&65536))j=0;else{Tw(o,128,p);c[z+212>>2]=pH(QE(d,f,o)|0,f)|0;Xw(o);g=xx(f,137973)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else{g=xx(f,108395)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=31;else i=0}if((q|0)==31)i=pH(g,f)|0;g=xx(f,97092)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=36;else q=34;do if((q|0)==34){g=xx(f,97101)|0;if(g|0?a[g>>0]|0:0){q=36;break}if(i|0){g=n1(i)|0;q=39}}while(0);if((q|0)==36){g=pH(g,f)|0;q=39}if((q|0)==39)c[z+208>>2]=g;g=xx(f,97109)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=44;else q=42;do if((q|0)==42){g=xx(f,97119)|0;if(g|0?a[g>>0]|0:0){q=44;break}if(i|0){g=n1(i)|0;q=47}}while(0);if((q|0)==44){g=pH(g,f)|0;q=47}if((q|0)==47)c[z+216>>2]=g;g=xx(f,97128)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=52;else q=50;do if((q|0)==50){g=xx(f,97137)|0;if(g|0?a[g>>0]|0:0){q=52;break}if(i|0)c[z+220>>2]=n1(i)|0}while(0);if((q|0)==52){c[z+220>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|128}g=xx(f,97145)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=59;else q=57;do if((q|0)==57){g=xx(f,97154)|0;if(g|0?a[g>>0]|0:0){q=59;break}if(i|0)c[z+224>>2]=n1(i)|0}while(0);if((q|0)==59){c[z+224>>2]=pH(g,f)|0;q=z+260|0;b[q>>1]=b[q>>1]|256}j=i}do if(x&8388608){g=xx(f,138006)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)i=pH(g,f)|0;else i=0;g=xx(f,97162)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){q=z+260|0;b[q>>1]=b[q>>1]|64;g=pH(g,f)|0;q=72}else q=70;if((q|0)==70?i|0:0){g=n1(i)|0;q=72}if((q|0)==72)c[z+244>>2]=g;g=xx(f,97173)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){g=pH(g,f)|0;q=78}else q=76;if((q|0)==76?i|0:0){g=n1(i)|0;q=78}if((q|0)==78)c[z+248>>2]=g;g=xx(f,97185)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){c[z+252>>2]=pH(g,f)|0;p=z+260|0;b[p>>1]=b[p>>1]|16}else q=82;if((q|0)==82?i|0:0)c[z+252>>2]=n1(i)|0;g=xx(f,97196)|0;if(g|0?a[g>>0]|0:0){q=z+260|0;b[q>>1]=b[q>>1]|32;c[z+256>>2]=pH(g,f)|0;break}if(i)c[z+256>>2]=n1(i)|0;else i=0}else i=0;while(0);do if(x&4194304|0){g=xx(f,138019)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0)q=94;else q=92;do if((q|0)==92){g=xx(f,97207)|0;if(g|0?a[g>>0]|0:0){q=94;break}g=c[z+192>>2]|0;if(g|0)c[z+228>>2]=n1(g)|0}while(0);if((q|0)==94){p=WF(g,f)|0;c[z+228>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|1}g=xx(f,97219)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){p=WF(g,f)|0;c[z+232>>2]=pH(p,f)|0;D_(p);p=z+260|0;b[p>>1]=b[p>>1]|8}else q=100;if((q|0)==100?(r=c[z+192>>2]|0,r|0):0)c[z+232>>2]=n1(r)|0;g=xx(f,97232)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){r=WF(g,f)|0;c[z+236>>2]=pH(r,f)|0;D_(r);r=z+260|0;b[r>>1]=b[r>>1]|2}else q=105;if((q|0)==105?(s=c[z+200>>2]|0,s|0):0)c[z+236>>2]=n1(s)|0;g=xx(f,97244)|0;if(g|0?a[g>>0]|0:0){s=WF(g,f)|0;c[z+240>>2]=pH(s,f)|0;D_(s);s=z+260|0;b[s>>1]=b[s>>1]|4;break}g=c[z+204>>2]|0;if(g|0)c[z+240>>2]=n1(g)|0}while(0);D_(j);D_(i);do if(x&4259840|0?(u=c[(c[t>>2]|0)+8>>2]|0,u|0):0){if(!(c[z+208>>2]|0)){if((x&524288|0)==0|(c[z+228>>2]|0)==0)break}else if(!(x&524288))break;m=+h[(c[d+16>>2]|0)+152>>3]*.5;m=m>2.0?m:2.0;i=c[u+4>>2]|0;g=0;while(1){if((g|0)>=(i|0))break;XF(y,w,v,(c[u>>2]|0)+(g*48|0)|0,m);g=g+1|0}j=c[v>>2]|0;c[z+276>>2]=j;k=c[w>>2]|0;c[z+280>>2]=k;if(!(x&8192)){g=0;i=0;while(1){if((i|0)>=(j|0))break;g=(c[k+(i<<2)>>2]|0)+g|0;i=i+1|0}y=c[y>>2]|0;yO(d,y,y,g)|0;g=y}else g=c[y>>2]|0;c[z+284>>2]=g;c[z+264>>2]=2;c[z+272>>2]=g;c[z+268>>2]=c[k>>2]}while(0);NO(d,f);g=c[z+208>>2]|0;if(!((g|0)==0?!(b[z+260>>1]&1):0))PO(d,g,c[z+228>>2]|0,c[z+244>>2]|0,c[z+212>>2]|0);l=A;return}function CF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0,R=0,S=0;P=l;l=l+240|0;L=P+224|0;K=P+208|0;x=P+128|0;w=P+112|0;O=P+64|0;C=P+48|0;D=P+32|0;E=P+16|0;F=P;G=P+192|0;H=P+176|0;y=P+160|0;B=P+144|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;M=+h[(c[b+16>>2]|0)+152>>3];qQ(xx(e,97006)|0);J=e+16|0;a:do if(c[(c[J>>2]|0)+8>>2]|0){N=+LL(e,c[46418]|0,1.0,0.0);k=NL(e,c[46406]|0,191979)|0;v=(f|0)!=0;b:do if(v){g=f;while(1){i=g;g=g+4|0;i=c[i>>2]|0;if(!i){o=0;break b}if((a[i>>0]|0)!=116)continue;if(!(b$(i,108091)|0)){o=1;break}}}else o=0;while(0);j=k;q=0;i=0;c:while(1){switch(a[j>>0]|0){case 0:break c;case 58:{g=q+1|0;break}case 59:{g=q;i=i+1|0;break}default:g=q}j=j+1|0;q=g}n=(q|0)!=0;if((i|0)!=0&n)if(!(KF(b,e,f,k,q+1|0,N,M)|0))break;else m=134232;else m=k;g=d[(c[J>>2]|0)+115>>0]|0;if(!(g&1))if(!(g&2))if(!(g&8))if(!(g&4)){i=m;j=OL(e,c[46407]|0,m)|0}else{j=103270;g=103262;k=185632;i=185632;p=18}else{j=103254;g=103246;k=185632;i=185632;p=18}else{j=103238;g=103230;k=185632;i=185632;p=18}else{j=103222;g=103214;k=185632;i=185632;p=18}if((p|0)==18){i=c[i>>2]|0;i=OL(e,i,LF(m,g)|0)|0;g=OL(e,c[k>>2]|0,j)|0;if((i|0)==(m|0)){i=m;j=g}else{UO(b,i);j=g}}if((j|0)!=(m|0))WO(b,j);if(o<<24>>24){i=(a[i>>0]|0)==0?134232:i;g=(a[j>>0]|0)==0?134232:j;UO(b,134297);WO(b,i);u=O;r=c[c[(c[J>>2]|0)+8>>2]>>2]|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));J=kL(O,MF(e)|0,M,0,0)|0;_O(b,c[J+8>>2]|0,c[J>>2]|0,1);NF(J);UO(b,i);if((g|0)!=(i|0))WO(b,g);g=c[O+8>>2]|0;if(g|0){I=O+16|0;J=c[O>>2]|0;c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[L>>2]=c[J>>2];c[L+4>>2]=c[J+4>>2];c[L+8>>2]=c[J+8>>2];c[L+12>>2]=c[J+12>>2];KE(b,2,K,L,N,M,g)}g=c[O+12>>2]|0;if(!g)break;J=O+32|0;O=(c[O>>2]|0)+((c[O+4>>2]|0)+-1<<4)|0;c[K>>2]=c[J>>2];c[K+4>>2]=c[J+4>>2];c[K+8>>2]=c[J+8>>2];c[K+12>>2]=c[J+12>>2];c[L>>2]=c[O>>2];c[L+4>>2]=c[O+4>>2];c[L+8>>2]=c[O+8>>2];c[L+12>>2]=c[O+12>>2];KE(b,3,K,L,N,M,g);break}g=c[J>>2]|0;if(!n){do if(!(a[g+115>>0]&3)){if(a[i>>0]|0){UO(b,i);WO(b,j);break}UO(b,134232);if(!(a[j>>0]|0)){WO(b,134232);break}else{WO(b,j);break}}while(0);k=b+152|0;m=O+4|0;n=O+8|0;o=O+12|0;p=O+32|0;q=O+16|0;j=0;while(1){g=c[(c[J>>2]|0)+8>>2]|0;if((j|0)>=(c[g+4>>2]|0))break a;u=O;r=(c[g>>2]|0)+(j*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[O>>2]|0;i=c[m>>2]|0;do if(!(c[k>>2]&16384)){aP(b,g,i,0,0,0);g=c[n>>2]|0;if(g|0){I=c[O>>2]|0;c[K>>2]=c[q>>2];c[K+4>>2]=c[q+4>>2];c[K+8>>2]=c[q+8>>2];c[K+12>>2]=c[q+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,2,K,L,N,M,g)}g=c[o>>2]|0;if(g|0){I=(c[O>>2]|0)+((c[m>>2]|0)+-1<<4)|0;c[K>>2]=c[p>>2];c[K+4>>2]=c[p+4>>2];c[K+8>>2]=c[p+8>>2];c[K+12>>2]=c[p+12>>2];c[L>>2]=c[I>>2];c[L+4>>2]=c[I+4>>2];c[L+8>>2]=c[I+8>>2];c[L+12>>2]=c[I+12>>2];KE(b,3,K,L,N,M,g)}if((c[(c[(c[J>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[n>>2]|0)){if(!(v&(c[o>>2]|0)!=0))break}else if(!v)break;YO(b,f)}}else aP(b,g,i,c[n>>2]|0,c[o>>2]|0,0);while(0);j=j+1|0}}I=c[(c[g+8>>2]|0)+4>>2]|0;A=I*48|0;z=C_(A)|0;A=C_(A)|0;t=+(q+2|0)*.5;v=O+4|0;p=C+8|0;q=D+8|0;e=E+8|0;f=F+8|0;o=0;while(1){if((o|0)>=(I|0))break;u=O;r=(c[c[(c[J>>2]|0)+8>>2]>>2]|0)+(o*48|0)|0;s=u+48|0;do{c[u>>2]=c[r>>2];u=u+4|0;r=r+4|0}while((u|0)<(s|0));g=c[v>>2]|0;c[z+(o*48|0)+4>>2]=g;c[A+(o*48|0)+4>>2]=g;n=g<<4;m=C_(n)|0;c[z+(o*48|0)>>2]=m;n=C_(n)|0;c[A+(o*48|0)>>2]=n;k=c[O>>2]|0;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];k=0;while(1){if((k|0)>=(g+-1|0))break;c[C>>2]=c[F>>2];c[C+4>>2]=c[F+4>>2];c[C+8>>2]=c[F+8>>2];c[C+12>>2]=c[F+12>>2];g=k+1|0;j=(c[O>>2]|0)+(g<<4)|0;c[D>>2]=c[j>>2];c[D+4>>2]=c[j+4>>2];c[D+8>>2]=c[j+8>>2];c[D+12>>2]=c[j+12>>2];j=m+(k<<4)|0;if(!k){c[K>>2]=c[C>>2];c[K+4>>2]=c[C+4>>2];c[K+8>>2]=c[C+8>>2];c[K+12>>2]=c[C+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];OF(G,K,L);c[j>>2]=c[G>>2];c[j+4>>2]=c[G+4>>2];c[j+8>>2]=c[G+8>>2];c[j+12>>2]=c[G+12>>2]}else{c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[D>>2];c[L+4>>2]=c[D+4>>2];c[L+8>>2]=c[D+8>>2];c[L+12>>2]=c[D+12>>2];OF(H,K,L);c[j>>2]=c[H>>2];c[j+4>>2]=c[H+4>>2];c[j+8>>2]=c[H+8>>2];c[j+12>>2]=c[H+12>>2]}R=c[O>>2]|0;s=k+2|0;S=R+(s<<4)|0;c[E>>2]=c[S>>2];c[E+4>>2]=c[S+4>>2];c[E+8>>2]=c[S+8>>2];c[E+12>>2]=c[S+12>>2];u=k+3|0;R=R+(u<<4)|0;c[F>>2]=c[R>>2];c[F+4>>2]=c[R+4>>2];c[F+8>>2]=c[R+8>>2];c[F+12>>2]=c[R+12>>2];Q=m+(g<<4)|0;r=m+(s<<4)|0;c[w>>2]=c[C>>2];c[w+4>>2]=c[C+4>>2];c[w+8>>2]=c[C+8>>2];c[w+12>>2]=c[C+12>>2];c[x>>2]=c[D>>2];c[x+4>>2]=c[D+4>>2];c[x+8>>2]=c[D+8>>2];c[x+12>>2]=c[D+12>>2];c[K>>2]=c[S>>2];c[K+4>>2]=c[S+4>>2];c[K+8>>2]=c[S+8>>2];c[K+12>>2]=c[S+12>>2];c[L>>2]=c[R>>2];c[L+4>>2]=c[R+4>>2];c[L+8>>2]=c[R+8>>2];c[L+12>>2]=c[R+12>>2];PF(y,w,x,K,L);c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[Q>>2]=c[y>>2];c[Q+4>>2]=c[y+4>>2];c[Q+8>>2]=c[y+8>>2];c[Q+12>>2]=c[y+12>>2];h[n+(k<<4)>>3]=+h[C>>3]-+h[j>>3]*t;h[n+(k<<4)+8>>3]=+h[p>>3]-+h[m+(k<<4)+8>>3]*t;h[n+(g<<4)>>3]=+h[D>>3]-+h[Q>>3]*t;h[n+(g<<4)+8>>3]=+h[q>>3]-+h[m+(g<<4)+8>>3]*t;h[n+(s<<4)>>3]=+h[E>>3]-+h[r>>3]*t;h[n+(s<<4)+8>>3]=+h[e>>3]-+h[m+(s<<4)+8>>3]*t;k=u;g=c[v>>2]|0}S=m+(k<<4)|0;c[K>>2]=c[E>>2];c[K+4>>2]=c[E+4>>2];c[K+8>>2]=c[E+8>>2];c[K+12>>2]=c[E+12>>2];c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];OF(B,K,L);c[S>>2]=c[B>>2];c[S+4>>2]=c[B+4>>2];c[S+8>>2]=c[B+8>>2];c[S+12>>2]=c[B+12>>2];h[n+(k<<4)>>3]=+h[F>>3]-+h[S>>3]*t;h[n+(k<<4)+8>>3]=+h[f>>3]-+h[m+(k<<4)+8>>3]*t;o=o+1|0}s=n1(i)|0;f=0;r=i;g=i;j=i;i=s;while(1){i=k1(i,104958)|0;if(!i)break;e=(a[i>>0]|0)==0?134232:i;if((e|0)!=(j|0))if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,e);WO(b,e);j=e}else j=e;m=(f|0)==0;n=f>>>0<2;i=0;while(1){if((i|0)>=(I|0))break;o=c[A+(i*48|0)>>2]|0;p=c[z+(i*48|0)>>2]|0;q=c[A+(i*48|0)+4>>2]|0;k=0;while(1){if((k|0)>=(q|0))break;S=o+(k<<4)|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)>>3];S=o+(k<<4)+8|0;h[S>>3]=+h[S>>3]+ +h[p+(k<<4)+8>>3];k=k+1|0}aP(b,o,q,0,0,0);i=i+1|0}f=f+1|0;r=m?e:r;g=n?e:g;i=0}i=c[O+8>>2]|0;if(!i)i=0;else{if(g){if(!(a[(c[J>>2]|0)+115>>0]&3)){UO(b,g);WO(b,g)}}else g=0;R=O+16|0;S=c[O>>2]|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];KE(b,2,K,L,N,M,i);i=g}j=O+12|0;g=c[j>>2]|0;if(g|0){if((i|0)!=(r|0)?(a[(c[J>>2]|0)+115>>0]&3)==0:0){UO(b,r);WO(b,r);g=c[j>>2]|0}R=O+32|0;S=(c[O>>2]|0)+((c[v>>2]|0)+-1<<4)|0;c[K>>2]=c[R>>2];c[K+4>>2]=c[R+4>>2];c[K+8>>2]=c[R+8>>2];c[K+12>>2]=c[R+12>>2];c[L>>2]=c[S>>2];c[L+4>>2]=c[S+4>>2];c[L+8>>2]=c[S+8>>2];c[L+12>>2]=c[S+12>>2];KE(b,3,K,L,N,M,g)}D_(s);g=0;while(1){if((g|0)>=(I|0))break;D_(c[z+(g*48|0)>>2]|0);D_(c[A+(g*48|0)>>2]|0);g=g+1|0}D_(z);D_(A)}while(0);l=P;return}function DF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;r=x+48|0;u=x+32|0;t=x+16|0;s=x;w=c[a+16>>2]|0;v=c[w+8>>2]|0;q=w+208|0;if(!((c[q>>2]|0)==0?!(b[w+260>>1]&1):0))d=3;a:do if((d|0)==3?(QO(a),p=w+276|0,e=c[p>>2]|0,e|0):0){h=w+280|0;d=c[h>>2]|0;i=w+268|0;j=w+284|0;k=w+272|0;m=w+228|0;n=w+244|0;o=w+212|0;f=c[d>>2]|0;g=1;while(1){if((g|0)>=(e|0))break a;c[i>>2]=c[d+(g<<2)>>2];c[k>>2]=(c[j>>2]|0)+(f<<4);PO(a,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0);QO(a);y=c[h>>2]|0;f=(c[y+(g<<2)>>2]|0)+f|0;g=g+1|0;e=c[p>>2]|0;d=y}}while(0);c[w+268>>2]=0;c[w+272>>2]=0;q=v+16|0;d=c[q>>2]|0;e=c[d+8>>2]|0;if(!e)f=w+260|0;else{p=c[e>>2]|0;d=c[p>>2]|0;y=c[p+8>>2]|0;o=p+16|0;c[t>>2]=c[o>>2];c[t+4>>2]=c[o+4>>2];c[t+8>>2]=c[o+8>>2];c[t+12>>2]=c[o+12>>2];p=p+32|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];if(!y){c[u>>2]=c[d>>2];c[u+4>>2]=c[d+4>>2];c[u+8>>2]=c[d+8>>2];c[u+12>>2]=c[d+12>>2]}else{c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2]}f=w+260|0;p=b[f>>1]|0;o=c[w+220>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(p<<8&65535)<<16>>16>>15&255,o,(p<<14&65535)<<16>>16>>15&255);p=c[(c[q>>2]|0)+8>>2]|0;o=c[p>>2]|0;p=(c[p+4>>2]|0)+-1|0;d=c[o+(p*48|0)>>2]|0;e=c[o+(p*48|0)+4>>2]|0;y=c[o+(p*48|0)+12>>2]|0;n=o+(p*48|0)+16|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];t=o+(p*48|0)+32|0;c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];if(!y){y=d+(e+-1<<4)|0;c[u>>2]=c[y>>2];c[u+4>>2]=c[y+4>>2];c[u+8>>2]=c[y+8>>2];c[u+12>>2]=c[y+12>>2]}else{c[u>>2]=c[s>>2];c[u+4>>2]=c[s+4>>2];c[u+8>>2]=c[s+8>>2];c[u+12>>2]=c[s+12>>2]}d=b[f>>1]|0;y=c[w+224>>2]|0;c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];EF(a,r,(d<<7&65535)<<16>>16>>15&255,y,(d<<13&65535)<<16>>16>>15&255);d=c[q>>2]|0}e=c[d+96>>2]|0;g=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;m=w+216|0;h=c[m>>2]|0;n=w+232|0;i=c[n>>2]|0;o=w+248|0;j=c[o>>2]|0;p=w+212|0;k=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,e,11,g,h,i,j,k,d);j=c[(c[q>>2]|0)+108>>2]|0;k=(b[f>>1]<<12&65535)<<16>>16>>15<<16>>16;i=c[m>>2]|0;h=c[n>>2]|0;e=c[o>>2]|0;g=c[p>>2]|0;if(!((QL(NL(v,c[46416]|0,134226)|0)|0)<<24>>24))d=0;else d=c[(c[q>>2]|0)+8>>2]|0;FF(a,j,11,k,i,h,e,g,d);FF(a,c[(c[q>>2]|0)+100>>2]|0,7,(b[f>>1]<<13&65535)<<16>>16>>15<<16>>16,c[w+224>>2]|0,c[w+240>>2]|0,c[w+256>>2]|0,c[p>>2]|0,0);FF(a,c[(c[q>>2]|0)+104>>2]|0,6,(b[f>>1]<<14&65535)<<16>>16>>15<<16>>16,c[w+220>>2]|0,c[w+236>>2]|0,c[w+252>>2]|0,c[p>>2]|0,0);OO(a);OE(a);l=x;return}function EF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;h=j;i=c[a+16>>2]|0;if(!(e<<24>>24))f=c[i+208>>2]|0;if(!(g<<24>>24==0?((f|0)==0?(b[i+260>>1]&1)==0:0):0)){c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2];JF(a,h)}l=j;return}function FF(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;o=r;q=c[b+152>>2]|0;if(d|0?a[d+81>>0]|0:0){if(!j)n=0;else{n=uH((W_(j)|0)+11|0)|0;switch(e|0){case 11:{m=105198;break}case 7:{m=98557;break}case 6:{m=98567;break}default:qa(135312,96880,2730,97018)}c[o>>2]=j;c[o+4>>2]=m;Y0(n,97034,o)|0}o=b+16|0;j=(c[o>>2]|0)+12|0;p=c[j>>2]|0;c[j>>2]=e;j=(f|0)!=0|(g|0)!=0;m=(q&4|0)==0;if(j&m){GF(b,d);PO(b,g,h,i,n)}oH(b,e,d);if(k|0)HF(b,d,k);if(j){if(!m){GF(b,d);PO(b,g,h,i,n)}QO(b)}D_(n);c[(c[o>>2]|0)+12>>2]=p}l=r;return}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;i=f>>>16^2;c[d+264>>2]=i;j=d+268|0;c[j>>2]=i+2;i=d+272|0;D_(c[i>>2]|0);d=uH(c[j>>2]<<4)|0;c[i>>2]=d;i=b+56|0;j=b+24|0;h[d>>3]=+h[i>>3]-+h[j>>3]*.5;g=b+64|0;b=b+32|0;h[d+8>>3]=+h[g>>3]-+h[b>>3]*.5;h[d+16>>3]=+h[j>>3]*.5+ +h[i>>3];h[d+24>>3]=+h[b>>3]*.5+ +h[g>>3];if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function HF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+96|0;g=o+80|0;i=o+32|0;j=o+16|0;k=o;f=c[d>>2]|0;while(1){m=a[f>>0]|0;if(!(m<<24>>24))break;if(!(B$(m&255)|0)){n=4;break}else f=f+1|0}if((n|0)==4){p=+h[d+24>>3];m=d+56|0;IF(i,+h[m>>3]+p*.5,+h[d+64>>3]-+h[d+32>>3]*.5);n=i+16|0;IF(j,+h[i>>3]-p,+h[i+8>>3]);c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];n=i+32|0;c[g>>2]=c[m>>2];c[g+4>>2]=c[m+4>>2];c[g+8>>2]=c[m+8>>2];c[g+12>>2]=c[m+12>>2];bM(k,e,g);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];YO(b,c[(c[b>>2]|0)+336>>2]|0);UO(b,c[d+8>>2]|0);bP(b,i,3)}l=o;return}function IF(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function JF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0;d=c[a+16>>2]|0;e=c[a+152>>2]|0;if(e&4259840|0){f=e&131072;j=f>>>16^2;c[d+264>>2]=j;k=d+268|0;c[k>>2]=j+2;j=d+272|0;D_(c[j>>2]|0);d=uH(c[k>>2]<<4)|0;c[j>>2]=d;i=+h[b>>3];h[d>>3]=i+-3.0;g=+h[b+8>>3];h[d+8>>3]=g+-3.0;h[d+16>>3]=i+3.0;h[d+24>>3]=g+3.0;if(!(e&8192))yO(a,d,d,2)|0;if(!f)WG(d)}return}function KF(a,b,d,e,f,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;i=+i;var j=0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+256|0;D=J+224|0;C=J+208|0;j=J+192|0;F=J+144|0;G=J+96|0;H=J+48|0;E=J;k=J+240|0;e=TE(e,f,k)|0;if((e|0)>1){z=b+48|0;A=ez(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;z=ry(c[((c[b>>2]&3|0)==3?b:z)+40>>2]|0)|0;A=(ey(A)|0)!=0;B=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[j>>2]=z;c[j+4>>2]=A?97053:97058;c[j+8>>2]=B;Pw(3,97063,j)|0;if((e|0)==2)e=1;else I=4}else if((e|0)==1)e=1;else I=4;if((I|0)==4){B=b+16|0;r=c[k>>2]|0;s=r+8|0;t=H+4|0;u=F+8|0;v=F+12|0;w=(d|0)!=0;q=(d|0)==0;x=F+32|0;y=F+4|0;z=F+16|0;A=E+4|0;e=0;p=0;while(1){f=c[(c[B>>2]|0)+8>>2]|0;if((p|0)>=(c[f+4>>2]|0))break;j=F;f=(c[f>>2]|0)+(p*48|0)|0;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));b=1;m=1.0;o=c[s>>2]|0;a:while(1){f=c[o>>2]|0;if(!f)break;k=o+4|0;n=+g[k>>2];do if(n<1.0e-05&n>-1.0e-05)f=b;else{UO(a,f);n=+g[k>>2];m=m-n;e=c[o>>2]|0;if(b|0){UF(F,n,H,E);k=c[H>>2]|0;aP(a,k,c[t>>2]|0,0,0,0);D_(k);if(m<1.0e-05&m>-1.0e-05){I=11;break a}else{f=0;break}}if(m<1.0e-05&m>-1.0e-05){I=13;break a}j=G;f=E;b=j+48|0;do{c[j>>2]=c[f>>2];j=j+4|0;f=f+4|0}while((j|0)<(b|0));n=+g[k>>2];UF(G,n/(m+n),H,E);D_(c[G>>2]|0);f=c[H>>2]|0;aP(a,f,c[t>>2]|0,0,0,0);D_(f);f=0}while(0);b=f;o=o+12|0}if((I|0)==11){I=0;D_(c[E>>2]|0)}else if((I|0)==13){I=0;o=c[E>>2]|0;aP(a,o,c[A>>2]|0,0,0,0);D_(o)}if(c[u>>2]|0){UO(a,c[c[s>>2]>>2]|0);WO(a,c[c[s>>2]>>2]|0);k=c[F>>2]|0;o=c[u>>2]|0;c[C>>2]=c[z>>2];c[C+4>>2]=c[z+4>>2];c[C+8>>2]=c[z+8>>2];c[C+12>>2]=c[z+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];KE(a,2,C,D,h,i,o)}if(c[v>>2]|0){UO(a,e);WO(a,e);k=(c[F>>2]|0)+((c[y>>2]|0)+-1<<4)|0;o=c[v>>2]|0;c[C>>2]=c[x>>2];c[C+4>>2]=c[x+4>>2];c[C+8>>2]=c[x+8>>2];c[C+12>>2]=c[x+12>>2];c[D>>2]=c[k>>2];c[D+4>>2]=c[k+4>>2];c[D+8>>2]=c[k+8>>2];c[D+12>>2]=c[k+12>>2];KE(a,3,C,D,h,i,o)}do if((c[(c[(c[B>>2]|0)+8>>2]|0)+4>>2]|0)>1){if(!(c[u>>2]|0)){if(!(w&(c[v>>2]|0)!=0))break}else if(q)break;YO(a,d)}while(0);p=p+1|0}UE(r);e=0}l=J;return e|0}function LF(b,d){b=b|0;d=d|0;var e=0,f=0;e=1;a:while(1){switch(a[b>>0]|0){case 0:break a;case 58:{e=e+1|0;break}default:{}}b=b+1|0}f=O((W_(d)|0)+1|0,e)|0;b=f+10|0;if((c[46350]|0)<(f|0)){c[46350]=b;b=F_(c[46351]|0,b)|0;c[46351]=b}else b=c[46351]|0;b0(b,d)|0;while(1){e=e+-1|0;b=c[46351]|0;if(!e)break;f=b+(W_(b)|0)|0;a[f>>0]=58;a[f+1>>0]=0;p1(b,d)|0}return b|0}function MF(b){b=b|0;var d=0,e=0;d=c[46414]|0;a:do if(!d)e=7;else{d=yx(b,d)|0;switch(a[d>>0]|0){case 110:if(!(b$(d,132627)|0)){d=1;break a}else{e=7;break a}case 102:if(!(b$(d,97040)|0)){d=2;break a}else{e=7;break a}case 98:{if(!(b$(d,97048)|0)){d=3;break a}if(!(b$(d,108195)|0)){d=4;break a}else{e=7;break a}}default:{e=7;break a}}}while(0);if((e|0)==7){d=(ey(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0)!=0;d=d?2:1}return d|0}function NF(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function OF(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;e=+h[b>>3]-+h[c>>3];f=+h[b+8>>3]-+h[c+8>>3];d=2.0/+C(+(e*e+.0001+f*f));h[a>>3]=d*f;h[a+8>>3]=-(e*d);return}function PF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0;g=+h[c>>3]-+h[d>>3];i=+h[c+8>>3]-+h[d+8>>3];f=+C(+(i*i+g*g));if(f<.0001){j=+h[b>>3]-+h[e>>3];f=+h[b+8>>3]-+h[e+8>>3];i=f;g=j;f=+C(+(j*j+.0001+f*f))}j=2.0/f;h[a>>3]=i*j;h[a+8>>3]=-(j*g);return}function QF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(1.0-a/b))}function RF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}function SF(a,b,c){a=+a;b=+b;c=+c;return +(c*.5*(a/b))}function TF(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}function UF(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+16|0;o=p;n=c[a+4>>2]|0;j=(n+-1|0)/3|0;if((n+-4|0)>>>0<3){c[d+4>>2]=4;c[d>>2]=uH(64)|0;c[e+4>>2]=4;n=uH(64)|0;c[e>>2]=n;XL(o,c[a>>2]|0,3,b,c[d>>2]|0,n)}else{n=uH(j<<3)|0;g=0;i=c[a>>2]|0;f=0.0;while(1){if((g|0)>=(j|0))break;q=+VF(i);h[n+(g<<3)>>3]=q;g=g+1|0;i=i+48|0;f=q+f}b=f*b;m=0;f=0.0;while(1){if((j|0)<=(m|0))break;f=+h[n+(m<<3)>>3]+f;if(f>=b)break;m=m+1|0}k=m*3|0;g=k+4|0;i=d+4|0;c[i>>2]=g;c[d>>2]=uH(g<<4)|0;g=((j-m|0)*3|0)+1|0;j=e+4|0;c[j>>2]=g;c[e>>2]=uH(g<<4)|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;r=(c[d>>2]|0)+(g<<4)|0;s=(c[a>>2]|0)+(g<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}g=g+-4|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;s=(c[e>>2]|0)+(i<<4)|0;r=(c[a>>2]|0)+(g<<4)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];c[s+12>>2]=c[r+12>>2];g=g+1|0;i=i+1|0}q=+h[n+(m<<3)>>3];XL(o,(c[a>>2]|0)+(k<<4)|0,3,(b-f+q)/q,(c[d>>2]|0)+(k<<4)|0,c[e>>2]|0);D_(n)}l=p;return}function VF(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0;e=+h[a+16>>3];d=+h[a>>3]-e;f=+h[a+24>>3];b=+h[a+8>>3]-f;d=+C(+(b*b+d*d));b=+h[a+32>>3];e=e-b;c=+h[a+40>>3];f=f-c;d=+C(+(f*f+e*e))+d;b=b-+h[a+48>>3];c=c-+h[a+56>>3];return +(d+ +C(+(c*c+b*b)))}function WF(b,d){b=b|0;d=d|0;d=fz(d)|0;if((a[(c[d+16>>2]|0)+115>>0]|0)==1)d=RM(b)|0;else d=OM(b,d)|0;return bG(d)|0}function XF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=l;l=l+1664|0;m=q+1600|0;n=q+800|0;o=q;p=vH(24)|0;c[p+16>>2]=1;j=((c[e+4>>2]|0)+-1|0)/3|0;h=0;i=p;while(1){if((h|0)>=(j|0))break;k=h*3|0;g=0;while(1){if((g|0)==4)break;r=m+(g<<4)|0;s=(c[e>>2]|0)+(g+k<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];g=g+1|0}h=h+1|0;i=YF(m,i)|0}g=0;h=0;i=p;while(1){if(!i){h=p;g=p;break}j=c[i+16>>2]|0;k=n+(g<<4)|0;e=o+(g<<4)|0;ZF(h,i,j,k,e,f);g=g+1|0;if(!((g|0)==50|(j|0)==0)){h=i;i=j;continue}_F(a,b,d,g,n,o);c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];h=i;g=1;i=j}while(1){if(!h)break;s=c[h+16>>2]|0;D_(g);h=s;g=s}l=q;return}function YF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+144|0;f=g+128|0;d=g+64|0;e=g;if(!(ZE(a)|0)){XL(f,a,3,.5,d,e);d=YF(e,YF(d,b)|0)|0}else{d=b+16|0;if((c[d>>2]|0)==1){c[d>>2]=0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2]}d=a+48|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=aG(f,b)|0}l=g;return d|0}function ZF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0;r=l;l=l+96|0;n=r+80|0;m=r+64|0;k=r+48|0;o=r+32|0;p=r+16|0;q=r;c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];do if(a){c[p>>2]=c[a>>2];c[p+4>>2]=c[a+4>>2];c[p+8>>2]=c[a+8>>2];c[p+12>>2]=c[a+12>>2];if(!d){i=+h[o>>3];h[q>>3]=i*2.0-+h[p>>3];j=+h[o+8>>3];h[q+8>>3]=j*2.0-+h[p+8>>3];break}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];j=+h[o+8>>3];break}}else{c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];i=+h[o>>3];h[p>>3]=i*2.0-+h[q>>3];j=+h[o+8>>3];h[p+8>>3]=j*2.0-+h[q+8>>3]}while(0);c[k>>2]=c[p>>2];c[k+4>>2]=c[p+4>>2];c[k+8>>2]=c[p+8>>2];c[k+12>>2]=c[p+12>>2];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[q>>2];c[n+4>>2]=c[q+4>>2];c[n+8>>2]=c[q+8>>2];c[n+12>>2]=c[q+12>>2];t=+$F(k,m,n);s=+E(+t)*g;g=+F(+t)*g;h[e>>3]=i+s;h[e+8>>3]=j+g;h[f>>3]=i-s;h[f+8>>3]=j-g;l=r;return}function _F(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;i=e<<1;j=c[d>>2]|0;h=0;k=0;while(1){if((h|0)>=(j|0))break;l=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+k|0;h=h+1|0;k=l}l=j+1|0;c[d>>2]=l;l=xH(c[b>>2]|0,l<<2)|0;c[b>>2]=l;c[l+(h<<2)>>2]=i;c[a>>2]=xH(c[a>>2]|0,k+i<<4)|0;b=i+-1+k|0;h=0;while(1){if((h|0)>=(e|0))break;l=(c[a>>2]|0)+(h+k<<4)|0;j=f+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];l=(c[a>>2]|0)+(b-h<<4)|0;j=g+(h<<4)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];h=h+1|0}return}function $F(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;f=+h[b+8>>3];d=+h[b>>3];e=+K(+(+h[c+8>>3]-f),+(+h[c>>3]-d));d=+K(+(+h[a+8>>3]-f),+(+h[a>>3]-d));e=e-d;return +((e>0.0?e+-6.283185307179586:e)*.5+d)}function aG(a,b){a=a|0;b=b|0;var d=0;d=vH(24)|0;c[d+16>>2]=0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b+16>>2]=d;return d|0}function bG(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=b;f=b;a:while(1){e=0;while(1){d=c;c=c+1|0;d=a[d>>0]|0;if(!(d<<24>>24))break a;if(e<<24>>24){g=5;break}if(d<<24>>24!=92)break;else e=1}b:do if((g|0)==5){g=0;switch(d<<24>>24|0){case 114:{d=13;break b}case 108:case 110:{d=10;break b}default:break b}}while(0);a[f>>0]=d;f=f+1|0}a[f>>0]=0;return b|0}function cG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b>>2]|0;while(1){g=a[e>>0]|0;if(!(g<<24>>24)){f=0;break}f=g<<24>>24;if(!(g<<24>>24==44|(B$(f)|0)!=0)){h=5;break}e=e+1|0}a:do if((h|0)==5){switch(f|0){case 0:{f=0;break a}case 41:case 40:{e=e+1|0;break a}default:{}}h=d+4|0;i=d+8|0;while(1){if((dG(g<<24>>24)|0)<<24>>24){f=1;break a}f=c[h>>2]|0;if(f>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;f=c[h>>2]|0}c[h>>2]=f+1;a[f>>0]=g;f=e+1|0;e=f;g=a[f>>0]|0}}while(0);c[b>>2]=e;return f|0}function dG(a){a=a|0;switch(a|0){case 0:case 44:case 41:case 40:{a=1;break}default:a=0}return a|0}function eG(a,b){a=a|0;b=b|0;return fG(c[a>>2]|0,c[a+160>>2]|0,c[a+156>>2]|0,b)|0}function fG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+160|0;k=o+20|0;m=o+16|0;n=o;c[k>>2]=0;c[m>>2]=0;Tw(n,128,o+24|0);Ww(n,f)|0;g=n+4|0;f=c[g>>2]|0;if(f>>>0>=(c[n+8>>2]|0)>>>0){Uw(n,1)|0;f=c[g>>2]|0}a[f>>0]=0;h=c[n>>2]|0;c[g>>2]=h;i=b+300|0;j=b+296|0;f=0;g=h;a:while(1){if(f){f=1;break}f=m1(g,c[i>>2]|0,k)|0;if(!f){f=0;break}g=m1(f,c[j>>2]|0,m)|0;h=(g|0)!=0;if(h)f=m1(0,c[j>>2]|0,m)|0;else f=0;switch(((f|0)!=0&1)+(h&1)&3){case 2:{g=gG(b,g,0)|0;f=gG(b,f,e)|0;h=(g|0)>(f|0);f=(f&g|0)>-1&(((h?g:f)|0)>=(d|0)&((h?f:g)|0)<=(d|0));g=0;continue a}case 1:{f=(gG(b,g,d)|0)==(d|0);g=0;continue a}default:{f=0;g=0;continue a}}}Xw(n);l=o;return f|0}function gG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(!(h<<24>>24==97?(b$(d,97370)|0)==0:0))f=3;a:do if((f|0)==3){if((hG(d)|0)<<24>>24){e=a2(d)|0;break}g=c[b+308>>2]|0;if(!g)e=-1;else{b=c[b+312>>2]|0;e=1;while(1){if((e|0)>(b|0)){e=-1;break a}f=c[g+(e<<2)>>2]|0;if(h<<24>>24==(a[f>>0]|0)?(b$(d,f)|0)==0:0)break a;e=e+1|0}}}while(0);return e|0}function hG(b){b=b|0;var c=0;while(1){c=a[b>>0]|0;if(!(c<<24>>24)){b=1;break}if(((c&255)+-48|0)>>>0<10)b=b+1|0;else{b=0;break}}return b|0}function iG(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function jG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((c[b+156>>2]|0)>=2?(f=NL(e,c[46397]|0,191979)|0,(eG(b,f)|0)<<24>>24==0):0)if(!(a[f>>0]|0))if(!(Jx(d,e)|0))f=1;else{f=Jx(d,e)|0;while(1){if(!f){f=0;break a}g=NL(f,c[46420]|0,191979)|0;if(!(a[g>>0]|0)){f=1;break a}if((eG(b,g)|0)<<24>>24){f=1;break a}f=Kx(d,f,e)|0}}else f=0;else f=1;while(0);return f|0}function kG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+64|0;e=d+32|0;f=d;a=(c[a+16>>2]|0)+48|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[f+16>>2]=c[a+16>>2];c[f+20>>2]=c[a+20>>2];c[f+24>>2]=c[a+24>>2];c[f+28>>2]=c[a+28>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[e+20>>2]=c[b+20>>2];c[e+24>>2]=c[b+24>>2];c[e+28>>2]=c[b+28>>2];b=(iG(f,e)|0)&255;l=d;return b|0}function lG(a,d){a=a|0;d=d|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0;r=c[a+152>>2]|0;s=NE(a)|0;c[s+4>>2]=2;c[s+8>>2]=d;c[s+12>>2]=8;if(r&16777216|0){if((e[(c[(ez(d)|0)+16>>2]|0)+178>>1]|0)>2){f=+h[(c[(c[d+16>>2]|0)+132>>2]|0)+16>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0)}else f=0.0;h[s+168>>3]=f}k=d+16|0;nG(a,c[(c[k>>2]|0)+104>>2]|0,d);do if(r&4259840|0){if((c[s+208>>2]|0)==0?(b[s+260>>1]&1)==0:0)break;p=HJ(d)|0;l=c[k>>2]|0;f=+h[l+16>>3];q=+h[l+24>>3];l=oG(d)|0;a:do if((p|2|0)==3){n=c[(c[k>>2]|0)+12>>2]|0;if(!((pG(n)|0)<<24>>24))g=0;else g=(c[n+4>>2]|l|0)!=0;if(!((r&524288|0)==0|((n|0)==0|g))){i=n+8|0;o=c[i>>2]|0;o=(o|0)<3?1:o;j=n+4|0;m=c[j>>2]|0;m=(m|0)>1?m:1;p=c[n+44>>2]|0;g=xx(d,99679)|0;if(!g)g=0;else g=a2(g)|0;g=(g+-4|0)>>>0>56?20:g;if(!(c[j>>2]|l)){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;v=+h[g+88>>3];h[i>>3]=f-v;u=+h[g+80>>3]*.5;h[i+8>>3]=q-u;h[i+16>>3]=v+f;h[i+24>>3]=u+q;g=2;break}i=c[i>>2]|0;if(((i|0)<3?+h[n+32>>3]==0.0:0)?+h[n+24>>3]==0.0:0){i=s+264|0;if(c[n>>2]|0){c[i>>2]=1;i=uH(32)|0;h[i>>3]=f;h[i+8>>3]=q;g=(m<<1)+-1|0;h[i+16>>3]=+h[p+(g<<4)>>3]+f;h[i+24>>3]=+h[p+(g<<4)+8>>3]+q;g=2;break}c[i>>2]=2;i=(m<<1)+-1|0;i=qG(+h[p+(i<<4)>>3],+h[p+(i<<4)+8>>3],g)|0;j=0;while(1){if((j|0)>=(g|0))break a;p=i+(j<<4)|0;h[p>>3]=+h[p>>3]+f;p=i+(j<<4)+8|0;h[p>>3]=+h[p>>3]+q;j=j+1|0}}m=O(i,m+-1|0)|0;c[s+264>>2]=2;if((i|0)<(g|0)){i=uH(o<<4)|0;g=0;while(1){if((g|0)>=(o|0)){g=o;break a}n=g+m|0;h[i+(g<<4)>>3]=+h[p+(n<<4)>>3]+f;h[i+(g<<4)+8>>3]=+h[p+(n<<4)+8>>3]+q;g=g+1|0}}else{l=(i|0)/(g|0)|0;i=uH(g<<4)|0;j=0;k=0;while(1){if((j|0)>=(g|0))break a;o=k+m|0;h[i+(j<<4)>>3]=+h[p+(o<<4)>>3]+f;h[i+(j<<4)+8>>3]=+h[p+(o<<4)+8>>3]+q;j=j+1|0;k=k+l|0}}}else t=31}else t=31;while(0);if((t|0)==31){c[s+264>>2]=0;i=uH(32)|0;g=c[k>>2]|0;h[i>>3]=f-+h[g+88>>3];v=+h[g+80>>3]*.5;h[i+8>>3]=q-v;h[i+16>>3]=+h[g+96>>3]+f;h[i+24>>3]=v+q;g=2}if(!(r&8192))yO(a,i,i,g)|0;c[s+272>>2]=i;c[s+268>>2]=g}while(0);qQ(xx(d,97006)|0);LO(a,d);return}function mG(a){a=a|0;MO(a);OE(a);return}function nG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m;f=xx(e,137973)|0;i=xx(e,138019)|0;k=xx(e,138006)|0;Tw(j,128,m+16|0);if(!d)h=0;else h=c[d>>2]|0;if(!((f|0)!=0?(a[f>>0]|0)!=0:0))f=xx(e,108395)|0;g=QE(b,e,j)|0;if(!i)d=0;else d=WF(i,e)|0;PE(b,h,f,d,k,g,e)|0;D_(d);Xw(j);l=m;return}function oG(b){b=b|0;var d=0,e=0;b=OL(b,c[46387]|0,191979)|0;a:do if(!(a[b>>0]|0))b=0;else{AF(b)|0;b=0;d=185144;while(1){e=c[d>>2]|0;if(!e)break a;e=(b$(e,108075)|0)==0;b=e?1:b;d=d+4|0}}while(0);return b|0}function pG(a){a=a|0;var b=0.0;if(((c[a+8>>2]|0)==4?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function qG(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0,f=0.0,g=0;f=6.283185307179586/+(c|0);g=uH(c<<4)|0;d=0.0;e=0;while(1){if((e|0)>=(c|0))break;h[g+(e<<4)>>3]=+E(+d)*a;h[g+(e<<4)+8>>3]=+F(+d)*b;d=d+f;e=e+1|0}return g|0}function rG(b,d){b=b|0;d=d|0;var e=0;a:do if((c[b+156>>2]|0)>=2?(e=NL(d,nx(d,0,98484,0)|0,191979)|0,(eG(b,e)|0)<<24>>24==0):0)if(!(a[e>>0]|0)){e=Sy(d)|0;while(1){if(!e){e=0;break a}if((jG(b,d,e)|0)<<24>>24){e=1;break a}e=Ty(d,e)|0}}else e=0;else e=1;while(0);return e|0}function sG(a,b){a=a|0;b=b|0;var d=0;d=NE(a)|0;c[d+4>>2]=1;c[d+8>>2]=b;c[d+12>>2]=1;nG(a,c[(c[b+16>>2]|0)+12>>2]|0,b);FO(a,b);return}function tG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=xx(b,138e3)|0;a:do if((b|0)!=0?(a[b>>0]|0)!=0:0){AF(b)|0;e=185144;b=0;while(1){while(1){f=c[e>>2]|0;if(!f){e=185144;break a}if(!(b$(f,108075)|0)){g=10;break}if(!(b$(f,103308)|0)){f=e;g=12;break}if(!(b$(f,103315)|0)){f=e;g=14;break}if(!(b$(f,103290)|0)){f=e;g=16;break}e=e+4|0}if((g|0)==10){e=e+4|0;b=b|1;continue}else if((g|0)==12){while(1){h=f;f=f+4|0;g=c[f>>2]|0;c[h>>2]=g;if(!g)break;else g=12}b=b|3;continue}else if((g|0)==14){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=14}b=b|64;continue}else if((g|0)==16){while(1){g=f;f=f+4|0;h=c[f>>2]|0;c[g>>2]=h;if(!h)break;else g=16}b=b|4;continue}}}else{e=0;b=0}while(0);c[d>>2]=b;return e|0}function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k;j=k+4|0;c[j>>2]=0;m=(TE(b,0,j)|0)==0;j=c[j>>2]|0;if((m?(f=c[j>>2]|0,(f|0)>=2):0)?(h=j+8|0,(c[c[h>>2]>>2]|0)!=0):0){if((f|0)>2)Pw(0,97389,i)|0;m=vH((W_(b)|0)+1|0)|0;c[d>>2]=m;b0(m,c[c[h>>2]>>2]|0)|0;if(!(c[(c[h>>2]|0)+12>>2]|0))c[d+4>>2]=0;else{m=c[d>>2]|0;m=m+((W_(m)|0)+1)|0;c[d+4>>2]=m;b0(m,c[(c[h>>2]|0)+12>>2]|0)|0}b=c[h>>2]|0;do if(!(a[b+8>>0]|0))if(!(a[b+20>>0]|0)){g[e>>2]=0.0;break}else{g[e>>2]=1.0-+g[b+16>>2];break}else c[e>>2]=c[b+4>>2];while(0);UE(j);b=1}else{c[d>>2]=0;UE(j);b=0}l=k;return b|0}function vG(a,b){a=a|0;b=b|0;GO(a,b);OE(a);return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=l;l=l+96|0;p=x+48|0;s=x+16|0;w=x+8|0;v=x;t=x+80|0;c[t>>2]=1e3;f=vH(16e3)|0;u=a+256|0;e=1;j=1;i=0;q=0;r=c[b+8>>2]|0;while(1){if((q|0)>=(c[b>>2]|0))break;d=c[r>>2]|0;a:do switch(d|0){case 1:case 0:{n=r+80|0;c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];c[s+16>>2]=c[n+16>>2];c[s+20>>2]=c[n+20>>2];c[s+24>>2]=c[n+24>>2];c[s+28>>2]=c[n+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{z=r+8|0;A=r+24|0;h[f>>3]=+h[z>>3]-+h[A>>3];n=r+16|0;y=r+32|0;h[f+8>>3]=+h[n>>3]-+h[y>>3];h[f+16>>3]=+h[A>>3]+ +h[z>>3];h[f+24>>3]=+h[y>>3]+ +h[n>>3];ZO(a,f,2,(d|0)==0?j:0);d=j}break}case 3:case 2:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;_O(a,f,c[d>>2]|0,(c[r>>2]|0)==2?j:0);d=j}break}case 5:case 4:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;aP(a,f,c[d>>2]|0,0,0,(c[r>>2]|0)==4?j&255:0);d=j}break}case 6:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{d=r+8|0;f=xG(f,t,c[d+4>>2]|0,c[d>>2]|0)|0;bP(a,f,c[d>>2]|0);d=j}break}case 7:{A=r+80|0;c[s>>2]=c[A>>2];c[s+4>>2]=c[A+4>>2];c[s+8>>2]=c[A+8>>2];c[s+12>>2]=c[A+12>>2];c[s+16>>2]=c[A+16>>2];c[s+20>>2]=c[A+20>>2];c[s+24>>2]=c[A+24>>2];c[s+28>>2]=c[A+28>>2];c[p>>2]=c[u>>2];c[p+4>>2]=c[u+4>>2];c[p+8>>2]=c[u+8>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[u+16>>2];c[p+20>>2]=c[u+20>>2];c[p+24>>2]=c[u+24>>2];c[p+28>>2]=c[u+28>>2];if(!(iG(s,p)|0))d=j;else{h[f>>3]=+h[r+8>>3];h[f+8>>3]=+h[r+16>>3];d=c[r+112>>2]|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];TO(a,p,d);d=j}break}case 8:{WO(a,c[r+8>>2]|0);d=1;break}case 9:{UO(a,c[r+8>>2]|0);d=1;break}case 13:{if((c[r+8>>2]|0)!=2){d=r+16|0;z=c[d+36>>2]|0;A=c[z+12>>2]|0;o=+g[z+8>>2];d=~~(+K(+(+h[r+40>>3]-+h[r+24>>3]),+(+h[r+32>>3]-+h[d>>3]))*57.29577951308232);WO(a,c[z+4>>2]|0);XO(a,A,d,o);d=2;break a}A=c[r+68>>2]|0;j=c[A+4>>2]|0;n=c[A+12>>2]|0;o=+g[A+8>>2];k=+h[r+40>>3];m=+h[r+16>>3];if(k==m?+h[r+48>>3]==+h[r+24>>3]:0)d=0;else d=~~(+H(+((m-k)/+h[r+32>>3]))*57.29577951308232);WO(a,j);XO(a,n,d,o);d=3;break}case 14:{Pw(0,97455,v)|0;d=j;break}case 12:{if(!e){e=0;d=j}else{Pw(0,97495,w)|0;e=0;d=j}break}case 11:{AF(c[r+8>>2]|0)|0;YO(a,185144);i=185144;d=j;break}default:d=j}while(0);j=d;q=q+1|0;r=r+120|0}if(i|0)YO(a,c[(c[a>>2]|0)+336>>2]|0);D_(f);l=x;return}function xG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[b>>2]|0;f=g<<1;f=(f|0)>(e|0)?f:e;if((g|0)<(e|0)){a=xH(a,f<<4)|0;c[b>>2]=f}b=0;while(1){if((b|0)>=(e|0))break;h[a+(b<<4)>>3]=+h[d+(b*24|0)>>3];h[a+(b<<4)+8>>3]=+h[d+(b*24|0)+8>>3];b=b+1|0}return a|0}function yG(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=c[b+4>>2];c[a+4>>2]=d;return}function zG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;f=1;while(1){d=c[g>>2]|0;if((f|0)>(c[d+180>>2]|0))break;e=c[(c[d+184>>2]|0)+(f<<2)>>2]|0;zG(b,e);d=xx(e,137741)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,134647)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,137895)|0;if(d|0?a[d>>0]|0:0)UO(b,d);d=xx(e,98392)|0;if(d|0?a[d>>0]|0:0)WO(b,d);d=xx(e,98420)|0;if(d|0?a[d>>0]|0:0)UO(b,d);f=f+1|0}return}function AG(a){a=a|0;var b=0,d=0,e=0;b=c[46356]|0;if(!b){b=Cw(20524,c[4555]|0)|0;c[46356]=b}if(!(nb[c[b>>2]&63](b,a,4)|0)){d=c[46356]|0;e=c[d>>2]|0;b=n1(a)|0;nb[e&63](d,b,1)|0;b=1}else b=0;return b|0}function BG(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CG(a){a=a|0;var b=0;b=c[46357]|0;if(!a){if((b|0)>0?(b=b+-1|0,c[46357]=b,(b|0)==0):0){J0(1,c[46358]|0)|0;D_(c[46358]|0)}}else{c[46357]=b+1;if(!b){c[46358]=n1(J0(1,0)|0)|0;J0(1,150481)|0}}return}function DG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=l;l=l+96|0;r=u+72|0;q=u+56|0;p=u+48|0;t=u+32|0;s=u+24|0;e=u+8|0;d=u;if(0)EL();do if((Az(b,134401,0,1)|0)!=0?(o=b+16|0,(c[(c[o>>2]|0)+8>>2]|0)!=0):0){EG(b);FG(a,b);GG(a,b);CG(1);j=a+56|0;k=a+184|0;m=a+192|0;n=a+28|0;i=pC(a)|0;a:while(1){if(!i){g=33;break}d=c[j>>2]|0;if(!d){c[i+20>>2]=0;d=0}else{c[i+20>>2]=c[d+8>>2];d=c[d+12>>2]|0}c[i+24>>2]=d;c[i+12>>2]=a;c[i+28>>2]=c[k>>2];c[i+620>>2]=25660;c[i+624>>2]=14;if(!(c[(c[o>>2]|0)+8>>2]|0)){g=13;break}e=i+52|0;g=uO(i,c[e>>2]|0)|0;c[i+56>>2]=g;switch(g|0){case 999:{g=16;break a}case 21:{d=1;break}case 24:{d=520;break}default:d=HG(b)|0}f=i+152|0;c[f>>2]=c[f>>2]|d;d=c[m>>2]|0;do if(!d)g=24;else{if(c[d+152>>2]&32|0?(b$(c[e>>2]|0,c[d+52>>2]|0)|0)==0:0){d=c[46359]|0;if(!d){g=27;break}c[d+8>>2]=i;c[i+36>>2]=c[d+36>>2];g=29;break}wO(d);c[m>>2]=0;c[n>>2]=0;g=24}while(0);if((g|0)==24){c[46359]=0;g=27}if((g|0)==27?(g=0,(vO(i)|0)==0):0){c[m>>2]=i;g=29}if((g|0)==29){c[i+8>>2]=0;c[i+104>>2]=25772;IG(i);JG(i);KG(i,b);LG(i,b);MG(i,b);if(!(c[f>>2]&128))dF(i,b);c[46359]=i}i=qC(a)|0}if((g|0)==13){Pw(1,97653,s)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;s=ry(b)|0;v=+FL();c[t>>2]=s;h[t+8>>3]=v;g1(d,97624,t)|0;d=-1;break}else if((g|0)==16){c[p>>2]=c[e>>2];Pw(1,97674,p)|0;CG(0);if(!0){d=-1;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[q>>2]=t;h[q+8>>3]=v;g1(d,97624,q)|0;d=-1;break}else if((g|0)==33){CG(0);if(!0){d=0;break}d=c[15686]|0;t=ry(b)|0;v=+FL();c[r>>2]=t;h[r+8>>3]=v;g1(d,97624,r)|0;d=0;break}}else g=5;while(0);if((g|0)==5){Pw(1,97576,d)|0;if(!0)d=-1;else{d=c[15686]|0;t=ry(b)|0;v=+FL();c[e>>2]=t;h[e+8>>3]=v;g1(d,97624,e)|0;d=-1}}l=u;return d|0}function EG(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;RG(a,b);b=Ty(a,b)|0}return}function FG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+32|0;k=o+24|0;f=o+16|0;j=o+8|0;n=o;c[b+168>>2]=d;g=b+293|0;a[g>>0]=0;e=xx(d,102470)|0;if(e|0?(c[f>>2]=j,c[f+4>>2]=n,i=N1(e,102477,f)|0,(i|0)>0):0){p=+h[j>>3]*72.0;e=b+208|0;h[e>>3]=p;h[b+200>>3]=p;if((i|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[g>>0]=1}f=b+292|0;a[f>>0]=0;e=xx(d,98076)|0;if(e|0?(c[k>>2]=j,c[k+4>>2]=n,m=N1(e,102477,k)|0,(m|0)>0):0){p=+h[j>>3]*72.0;e=b+224|0;h[e>>3]=p;h[b+216>>3]=p;if((m|0)!=1)h[e>>3]=+h[n>>3]*72.0;a[f>>0]=1}e=b+294|0;a[e>>0]=0;f=b+232|0;g=d+16|0;n=(c[(c[g>>2]|0)+8>>2]|0)+48|0;c[f>>2]=c[n>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];f=c[(c[g>>2]|0)+8>>2]|0;if(+h[f+48>>3]>.001?+h[f+56>>3]>.001:0)a[e>>0]=1;c[b+288>>2]=a[f+81>>0]|0?90:0;e=b+196|0;c[e>>2]=98080;f=xx(d,98083)|0;if(f|0?a[f>>0]|0:0)c[e>>2]=f;n=b+256|0;m=(c[g>>2]|0)+16|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];c[n+24>>2]=c[m+24>>2];c[n+28>>2]=c[m+28>>2];c[46371]=nx(d,0,98446,0)|0;c[46372]=nx(d,0,98437,0)|0;c[b+320>>2]=OL(0,c[46381]|0,104968)|0;h[b+328>>3]=+LL(0,c[46380]|0,14.0,1.0);c[b+336>>2]=20560;c[b+188>>2]=ry(d)|0;l=o;return}function GG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=b+304|0;f=c[e>>2]|0;if(f|0){D_(f);c[e>>2]=0}f=b+308|0;e=c[f>>2]|0;if(e|0){D_(e);c[f>>2]=0}g=b+316|0;e=c[g>>2]|0;if(e|0){D_(e);c[g>>2]=0}e=xx(d,97827)|0;if(e){c[b+312>>2]=PG(b,d,e)|0;e=xx(d,97834)|0;if(e|0?a[e>>0]|0:0)c[g>>2]=QG(b,e)|0}else{c[f>>2]=0;c[b+312>>2]=1}return}function HG(b){b=b|0;b=xx(b,97795)|0;a:do if(!b)b=0;else switch(a[b>>0]|0){case 110:{if(!(b$(b+1|0,97807)|0))b=1;else{b=0;break a}break}case 101:{if(!(b$(b+1|0,97817)|0))b=16;else{b=0;break a}break}default:{b=0;break a}}while(0);return b|0}function IG(b){b=b|0;var d=0.0,e=0;e=c[b>>2]|0;if(!(a[e+292>>0]|0)){if((c[b+56>>2]|0)==300)d=+h[(c[b+68>>2]|0)+8>>3];else d=4.0;h[b+248>>3]=d;h[b+240>>3]=d}else{b=b+240|0;e=e+216|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}return}function JG(b){b=b|0;var d=0;d=c[b>>2]|0;a:do if(!(a[d+293>>0]|0))switch(c[b+56>>2]|0){case 300:{d=b+416|0;b=(c[b+84>>2]|0)+8|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break a}case 30:case 21:case 22:case 4:case 3:case 2:{h[b+424>>3]=36.0;h[b+416>>3]=36.0;break a}default:{d=b+416|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;break a}}else{b=b+416|0;d=d+200|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2]}while(0);return}function KG(b,d){b=b|0;d=d|0;var e=0.0,f=0;f=c[(c[b>>2]|0)+192>>2]|0;e=+h[(c[(c[d+16>>2]|0)+8>>2]|0)+24>>3];do if(!(e!=0.0)){if(f|0?a[f+128>>0]|0:0){b=b+432|0;f=f+112|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[b+12>>2]=c[f+12>>2];break}d=b+432|0;if((c[b+56>>2]|0)==300){b=(c[b+84>>2]|0)+40|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];break}else{h[b+440>>3]=96.0;h[d>>3]=96.0;break}}else{h[b+440>>3]=e;h[b+432>>3]=e}while(0);return}function LG(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+112|0;t=A+80|0;u=A+56|0;s=A+40|0;v=A+32|0;w=A+24|0;x=A+16|0;y=A+8|0;z=A;m=c[b>>2]|0;o=+h[m+272>>3];q=+h[m+280>>3];p=+h[m+256>>3];r=+h[m+264>>3];f=+h[b+240>>3];e=p-f;h[b+208>>3]=e;i=+h[b+248>>3];j=r-i;h[b+216>>3]=j;f=f+o;h[b+224>>3]=f;i=i+q;h[b+232>>3]=i;e=f-e;j=i-j;h[x>>3]=1.0;g=c[(c[d+16>>2]|0)+8>>2]|0;i=+h[g+64>>3];do if(i>.001?(k=+h[g+72>>3],k>.001):0){e=e==0.0?i:e;f=j==0.0?k:j;if(!(i<e|k<f)?!(k>f&(i>e&(a[g+80>>0]|0)!=0)):0){k=e;j=f;i=1.0;break}n=i/e<k/f;i=(n?i:k)/(n?e:f);h[x>>3]=i;k=e;j=f}else{k=e;i=1.0}while(0);f=(p+o)*.5;h[y>>3]=f;e=(r+q)*.5;h[z>>3]=e;c[b+360>>2]=c[m+288>>2];k=i*k;h[v>>3]=k;j=i*j;h[w>>3]=j;g=xx(d,97726)|0;if(g){m=C_((W_(g)|0)+1|0)|0;n=C_((W_(g)|0)+1|0)|0;c[s>>2]=v;c[s+4>>2]=w;c[s+8>>2]=x;c[s+12>>2]=m;do if((N1(g,97735,s)|0)==4){g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}else{c[u>>2]=v;c[u+4>>2]=w;c[u+8>>2]=x;c[u+12>>2]=m;c[u+16>>2]=n;if((N1(g,97755,u)|0)!=4){c[t>>2]=v;c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=y;c[t+16>>2]=z;N1(g,97775,t)|0;break}g=az(c[d+60>>2]|0,m,0)|0;if(g|0){u=c[g+16>>2]|0;h[y>>3]=+h[u+16>>3];h[z>>3]=+h[u+24>>3]}}while(0);D_(m);D_(n);k=+h[v>>3];j=+h[w>>3];i=+h[x>>3];f=+h[y>>3];e=+h[z>>3]}h[b+368>>3]=k;h[b+376>>3]=j;h[b+352>>3]=i;h[b+336>>3]=f;h[b+344>>3]=e;l=A;return}function MG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0,Q=0.0;M=l;l=l+224|0;J=M+200|0;z=M+168|0;E=M+144|0;I=M+120|0;F=M+96|0;G=M+64|0;e=M+184|0;v=M+176|0;w=M+160|0;y=M+136|0;x=M+112|0;A=M+80|0;B=M+48|0;C=M+32|0;D=M+16|0;K=M+8|0;L=M;u=c[b>>2]|0;c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;H=b+368|0;c[I>>2]=c[H>>2];c[I+4>>2]=c[H+4>>2];c[I+8>>2]=c[H+8>>2];c[I+12>>2]=c[H+12>>2];H=b+360|0;if(c[H>>2]|0){c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(e,J);c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2]}t=b+416|0;c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];if((a[u+294>>0]|0)!=0?(c[b+152>>2]&32|0)!=0:0){i=+h[u+232>>3]-+h[F>>3]*2.0;h[E>>3]=i;k=+h[u+240>>3]-+h[F+8>>3]*2.0;p=E+8|0;h[p>>3]=k;if(!(i<.0001)){o=+h[I>>3];e=~~(o/i);f=b+164|0;c[f>>2]=e;if(o-i*+(e|0)>.0001){e=e+1|0;c[f>>2]=e}}else{c[b+164>>2]=1;e=1}if(!(k<.0001)){g=+h[I+8>>3];f=~~(g/k);j=b+168|0;c[j>>2]=f;if(g-k*+(f|0)>.0001){f=f+1|0;c[j>>2]=f}}else{c[b+168>>2]=1;f=1;g=+h[I+8>>3]}c[b+204>>2]=O(f,e)|0;o=+h[(+h[I>>3]<i?I:E)>>3];h[I>>3]=o;e=p;f=I;m=+h[(g<k?I:E)+8>>3];g=o;j=21}else{if(c[b+68>>2]|0){e=c[b+84>>2]|0;i=+h[e+24>>3]-+h[F>>3]*2.0;i=i<0.0?0.0:i;h[E>>3]=i;o=+h[e+32>>3]-+h[F+8>>3]*2.0;e=E+8|0;h[e>>3]=o;if(o<0.0){f=E;j=17}else e=E}else{h[E+8>>3]=0.0;f=E;e=E;j=17}if((j|0)==17){h[e>>3]=0.0;e=f;i=+h[f>>3]}c[b+204>>2]=1;c[b+168>>2]=1;c[b+164>>2]=1;g=+h[I>>3];if(i<g){h[e>>3]=g;i=g}e=E+8|0;k=+h[e>>3];m=+h[I+8>>3];if(k<m){f=E;j=21}else{r=e;m=k}}if((j|0)==21){h[f+8>>3]=m;r=e;m=+h[e>>3]}n=+h[F>>3];s=b+432|0;k=+h[s>>3]*.013888888888888888*(n*2.0+i);c[b+448>>2]=~~(k+(k>=0.0?.5:-.5));q=F+8|0;k=+h[q>>3];t=b+440|0;o=+h[t>>3]*.013888888888888888*(k*2.0+m);c[b+452>>2]=~~(o+(o>=0.0?.5:-.5));j=b+188|0;p=b+180|0;e=b+172|0;f=u+196|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;OG(v,b,a[c[f>>2]>>0]|0);u=v;v=c[u+4>>2]|0;e=p;c[e>>2]=c[u>>2];c[e+4>>2]=v;OG(w,b,a[(c[f>>2]|0)+1>>0]|0);e=w;w=c[e>>2]|0;e=c[e+4>>2]|0;v=j;c[v>>2]=w;c[v+4>>2]=e;w=(c[p>>2]|0)+w|0;if(!((((w|0)>-1?w:0-w|0)|0)==1?(w=(c[b+184>>2]|0)+e|0,(((w|0)>-1?w:0-w|0)|0)==1):0)){OG(y,b,66);v=y;y=c[v+4>>2]|0;w=p;c[w>>2]=c[v>>2];c[w+4>>2]=y;OG(x,b,76);w=x;x=c[w+4>>2]|0;y=j;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[z>>2]=c[f>>2];Pw(0,97706,z)|0}if(a[(c[(c[d+16>>2]|0)+8>>2]|0)+82>>0]|0){if(i>g){m=(i-g)*.5;h[G>>3]=m}else m=0.0;i=+h[r>>3];o=+h[I+8>>3];if(i>o){i=(i-o)*.5;h[G+8>>3]=i}else i=0.0}else{i=0.0;m=0.0}if(!(c[H>>2]|0))j=1;else{c[J>>2]=c[I>>2];c[J+4>>2]=c[I+4>>2];c[J+8>>2]=c[I+8>>2];c[J+12>>2]=c[I+12>>2];NG(A,J);c[I>>2]=c[A>>2];c[I+4>>2]=c[A+4>>2];c[I+8>>2]=c[A+8>>2];c[I+12>>2]=c[A+12>>2];c[J>>2]=c[E>>2];c[J+4>>2]=c[E+4>>2];c[J+8>>2]=c[E+8>>2];c[J+12>>2]=c[E+12>>2];NG(B,J);c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];c[E+8>>2]=c[B+8>>2];c[E+12>>2]=c[B+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];NG(C,J);c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];NG(D,J);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];n=+h[F>>3];m=+h[G>>3];k=+h[q>>3];i=+h[G+8>>3];g=+h[I>>3];j=(c[H>>2]|0)==0}o=m+n;h[b+384>>3]=o;P=i+k;h[b+392>>3]=P;N=m+n+g;h[b+400>>3]=N;Q=+h[I+8>>3];n=i+k+Q;h[b+408>>3]=n;m=+h[b+352>>3];h[b+320>>3]=g/m;h[b+328>>3]=Q/m;m=+h[s>>3];o=o*.013888888888888888*m;f=b+456|0;c[f>>2]=~~(o+(o>=0.0?.5:-.5));o=+h[t>>3];k=P*.013888888888888888*o;c[b+460>>2]=~~(k+(k>=0.0?.5:-.5));m=N*.013888888888888888*m;e=b+464|0;c[e>>2]=~~(m+(m>=0.0?.5:-.5));o=n*.013888888888888888*o;c[b+468>>2]=~~(o+(o>=0.0?.5:-.5));if(!j){c[J>>2]=c[f>>2];c[J+4>>2]=c[f+4>>2];yG(K,J);I=K;K=c[I+4>>2]|0;b=f;c[b>>2]=c[I>>2];c[b+4>>2]=K;c[J>>2]=c[e>>2];c[J+4>>2]=c[e+4>>2];yG(L,J);b=L;K=c[b+4>>2]|0;L=e;c[L>>2]=c[b>>2];c[L+4>>2]=K}l=M;return}function NG(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b>>3];h[a>>3]=+h[b+8>>3];h[a+8>>3]=c;return}function OG(a,b,d){a=a|0;b=b|0;d=d|0;d=(d<<24>>24)+-66|0;switch(d>>>1|d<<31|0){case 9:{c[b+176>>2]=(c[b+168>>2]|0)+-1;b=0;d=-1;break}case 0:{b=0;d=1;break}case 5:{b=1;d=0;break}case 8:{c[b+172>>2]=(c[b+164>>2]|0)+-1;b=-1;d=0;break}default:{b=0;d=0}}c[a>>2]=b;c[a+4>>2]=d;return}function PG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;f=xx(d,97947)|0;i=b+296|0;c[i>>2]=(f|0)==0?97956:f;d=xx(d,97960)|0;f=b+300|0;d=(d|0)==0?97973:d;c[f>>2]=d;d=q1(c[i>>2]|0,d)|0;if(d|0){c[g>>2]=a[d>>0];Pw(0,97975,g)|0;c[f>>2]=191979}d=n1(e)|0;c[b+304>>2]=d;h=b+308|0;f=0;b=0;while(1){e=k1(d,c[i>>2]|0)|0;if(!e)break;g=b+1|0;if((b|0)<(f|0))d=c[h>>2]|0;else{f=f+128|0;d=c[h>>2]|0;if(!d)d=vH(f<<2)|0;else d=xH(d,f<<2)|0;c[h>>2]=d}c[d+(g<<2)>>2]=e;b=g;d=0}if(b|0){i=xH(c[h>>2]|0,(b<<2)+8|0)|0;c[h>>2]=i;c[i>>2]=0;c[(c[h>>2]|0)+(b+1<<2)>>2]=0}l=j;return b|0}function QG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;i=a+312|0;d=vH((c[i>>2]<<2)+8|0)|0;e=0;h=1;while(1){g=c[i>>2]|0;if((h|0)>(g|0))break;f=e+1|0;if((fG(a,h,g,b)|0)<<24>>24){c[d+(f<<2)>>2]=h;e=f}h=h+1|0}if(!e){c[j>>2]=b;Pw(0,97846,j)|0;D_(d);d=0}else{c[d>>2]=e;c[d+(e+1<<2)>>2]=(c[i>>2]|0)+1}l=k;return d|0}function RG(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0;d=c[b+16>>2]|0;g=+h[d+16>>3];h[d+48>>3]=g-+h[d+88>>3];e=+h[d+24>>3];f=+h[d+80>>3]*.5;h[d+56>>3]=e-f;h[d+64>>3]=+h[d+96>>3]+g;h[d+72>>3]=f+e;b=Ex(a,b)|0;while(1){if(!b)break;SG(b);b=Gx(a,b)|0}return}function SG(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a|0)TG(a);return}function TG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+240|0;v=C+192|0;u=C+176|0;w=C+64|0;x=C+32|0;y=C;z=C+144|0;A=C+112|0;B=a+4|0;if((c[B>>2]|0)<=0)qa(98114,96880,3994,98128);b=c[a>>2]|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(x,v);i=x+8|0;j=y+8|0;k=x+16|0;m=y+16|0;n=x+24|0;o=y+24|0;p=w+8|0;q=w+12|0;r=w+32|0;s=w+4|0;t=w+16|0;g=0;while(1){if((g|0)>=(c[B>>2]|0))break;if((g|0)>0){b=(c[a>>2]|0)+(g*48|0)|0;d=w;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));d=v;e=b;f=d+48|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));UG(y,v);h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[p>>2]|0;if(b|0){f=c[w>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];JE(z,u,v,1.0,b);c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[y+16>>2]=c[z+16>>2];c[y+20>>2]=c[z+20>>2];c[y+24>>2]=c[z+24>>2];c[y+28>>2]=c[z+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}b=c[q>>2]|0;if(b|0){f=(c[w>>2]|0)+((c[s>>2]|0)+-1<<4)|0;c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];c[v>>2]=c[f>>2];c[v+4>>2]=c[f+4>>2];c[v+8>>2]=c[f+8>>2];c[v+12>>2]=c[f+12>>2];JE(A,u,v,1.0,b);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2];c[y+20>>2]=c[A+20>>2];c[y+24>>2]=c[A+24>>2];c[y+28>>2]=c[A+28>>2];h[x>>3]=+h[(+h[x>>3]<+h[y>>3]?x:y)>>3];h[i>>3]=+h[(+h[i>>3]<+h[j>>3]?x:y)+8>>3];h[k>>3]=+h[(+h[k>>3]>+h[m>>3]?x:y)+16>>3];h[n>>3]=+h[(+h[n>>3]>+h[o>>3]?x:y)+24>>3]}g=g+1|0}B=a+8|0;c[B>>2]=c[x>>2];c[B+4>>2]=c[x+4>>2];c[B+8>>2]=c[x+8>>2];c[B+12>>2]=c[x+12>>2];c[B+16>>2]=c[x+16>>2];c[B+20>>2]=c[x+20>>2];c[B+24>>2]=c[x+24>>2];c[B+28>>2]=c[x+28>>2];l=C;return}function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0;n=l;l=l+48|0;i=n+32|0;j=n;k=c[b+4>>2]|0;if((k|0)<=0)qa(98144,96880,3968,98156);if(((k>>>0)%3|0|0)!=1)qa(98166,96880,3969,98156);m=j+16|0;d=c[b>>2]|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];e=i+8|0;f=j+8|0;g=j+24|0;b=1;while(1){if((b|0)>=(k|0))break;p=+h[d+(b<<4)+8>>3];t=b+1|0;o=+h[d+(t<<4)+8>>3];r=(+h[d+(t<<4)>>3]+ +h[d+(b<<4)>>3])*.5;h[i>>3]=r;p=(o+p)*.5;h[e>>3]=p;o=+h[(+h[j>>3]<r?j:i)>>3];h[j>>3]=o;s=+h[(+h[f>>3]<p?j:i)+8>>3];h[f>>3]=s;r=+h[(+h[m>>3]>r?m:i)>>3];h[m>>3]=r;p=+h[(+h[g>>3]>p?m:i)+8>>3];h[g>>3]=p;t=d+(b+2<<4)|0;c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];q=+h[i>>3];h[j>>3]=+h[(o<q?j:i)>>3];o=+h[e>>3];h[f>>3]=+h[(s<o?j:i)+8>>3];h[m>>3]=+h[(r>q?m:i)>>3];h[g>>3]=+h[(p>o?m:i)+8>>3];b=b+3|0}c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];c[a+16>>2]=c[j+16>>2];c[a+20>>2]=c[j+20>>2];c[a+24>>2]=c[j+24>>2];c[a+28>>2]=c[j+28>>2];l=n;return}function VG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0;q=+h[a>>3];r=+h[c>>3];k=!(q>=r);if((!k?q<=+h[c+16>>3]:0)?(e=+h[a+8>>3],e>=+h[c+8>>3]):0)i=e<=+h[c+24>>3];else i=0;e=+h[b>>3];if((e>=r?e<=+h[c+16>>3]:0)?(f=+h[b+8>>3],f>=+h[c+8>>3]):0){d=f<=+h[c+24>>3];if(!(i^d))if(i&d)d=1;else l=11;else d=0}else if(i)d=0;else l=11;a:do if((l|0)==11){p=+h[a+8>>3];do if(q==e){r=+h[c+8>>3];if(!(k|p>=r^+h[b+8>>3]>=r^1)?q<=+h[c+16>>3]:0){d=0;break a}}else{j=+h[b+8>>3];if(p==j){if(!(q>=r^e>=r))break;if(!(p>=+h[c+8>>3]))break;if(!(p<=+h[c+24>>3]))break;else{d=0;break a}}o=(j-p)/(e-q);l=q<e;g=l?q:e;e=l?e:q;f=(r-q)*o+p;m=+h[c+8>>3];if(!(!(r>=g)|!(r<=e)|!(f>=m))?f<=+h[c+24>>3]:0){d=0;break a}n=+h[c+16>>3];f=(n-r)*o+f;if(f>=m?!(!(n<=e)|(n>=g?!(f<=+h[c+24>>3]):1)):0){d=0;break a}l=p<j;g=l?p:j;f=l?j:p;e=(m-p)/o+q;if(e>=r?!(!(m<=f)|(!(m>=g)|!(e<=n))):0){d=0;break a}p=+h[c+24>>3];q=(p-m)/o+e;if(q>=r?!(!(p<=f)|(!(p>=g)|!(q<=n))):0){d=0;break a}}while(0);d=-1}while(0);return d|0}function WG(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+48>>3]=c;h[a+40>>3]=+h[a+24>>3];h[a+56>>3]=+h[a+8>>3];h[b>>3]=+h[a>>3];return}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[46360]|0)!=(d|0)){w$(+(d|0)*.15915494309189535,183248,183256);c[46360]=d}g=+h[b>>3];e=+h[22907];f=+h[b+8>>3];i=+h[22906];h[a>>3]=e*g-i*f;h[a+8>>3]=i*g+f*e;return}function YG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=g;e=-e;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,d);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;f=k;e=+h[b>>3];i=b+8|0;g=+h[i>>3];a:do switch(d|0){case 0:{j=11;break}case 90:{h[b>>3]=-g;j=10;break}case 180:{e=-g;j=10;break}case 270:{h[b>>3]=g;j=10;break}default:{if((d|0)<0){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];YG(a,f,0-d|0);break a}if((d|0)>360){c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(a,f,(d>>>0)%360|0);break a}else{c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];XG(a,f,360-d|0);break a}}}while(0);if((j|0)==10){h[i>>3]=e;j=11}if((j|0)==11){c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2]}l=k;return}function _G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>>3];d=+h[c+8>>3];f=d+ +h[b>>3];e=g+ +h[b+24>>3];d=d+ +h[b+16>>3];h[a>>3]=g+ +h[b+8>>3];h[a+8>>3]=f;h[a+16>>3]=e;h[a+24>>3]=d;return}function $G(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;f=+h[a>>3];d=+h[b>>3]-f;g=+h[a+8>>3];e=+h[b+8>>3]-g;f=(+h[c+8>>3]-g)*d-(+h[c>>3]-f)*e;f=f*f;return +(f<1.0e-10?0.0:f/(e*e+d*d))}function aH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;e=g;a=xx(a,b)|0;if(a|0?(c[f>>2]=e,(N1(a,98183,f)|0)>0):0)h[d>>3]=+h[e>>3];l=g;return}function bH(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;g=n+8|0;i=n;e=uH(96)|0;m=b+16|0;c[(c[m>>2]|0)+8>>2]=e;e=xx(b,98187)|0;if(!e){e=Ta(98196)|0;if(e|0)k=3}else k=3;if((k|0)==3)cb(98208,e|0,1)|0;e=(cH(b)|0)&255;a[(c[m>>2]|0)+115>>0]=e;if(0==0?(e=xx(b,98219)|0,c[46362]=e,(e|0)==0):0)c[46362]=c[46361];f=+LL(b,nx(b,0,98229,0)|0,0.0,0.0);h[c[(c[m>>2]|0)+8>>2]>>3]=f;e=xx(b,98237)|0;a:do if(!e)e=0;else{switch(a[e>>0]|0){case 76:{if(!(b$(e,98245)|0)){e=1;break a}break}case 66:{if(!(b$(e,98248)|0)){e=2;break a}break}case 82:{e=(b$(e,98251)|0)==0;e=e?3:0;break a}default:{e=0;break a}}e=0}while(0);c[(c[m>>2]|0)+116>>2]=e<<2|(d<<24>>24==0?0:e);f=+LL(b,nx(b,0,98254,0)|0,.25,.02);h[i>>3]=f;f=f*72.0;c[(c[m>>2]|0)+248>>2]=~~(f+(f>=0.0?.5:-.5));e=NL(b,nx(b,0,98262,0)|0,0)|0;if(e){c[g>>2]=i;if(N1(e,98183,g)|0){f=+h[i>>3];if(f<.02){h[i>>3]=.02;f=.02}}else{h[i>>3]=.5;f=.5}if(P0(e,98270)|0)a[(c[m>>2]|0)+276>>0]=1}else{h[i>>3]=.5;f=.5}f=f*72.0;c[(c[m>>2]|0)+252>>2]=~~(f+(f>=0.0?.5:-.5));i=(KL(b,nx(b,0,98278,0)|0,0,0)|0)&255;a[(c[m>>2]|0)+243>>0]=i;i=aM(NL(b,nx(b,0,98288,0)|0,0)|0,20572,20588)|0;c[(c[m>>2]|0)+244>>2]=i;dH(b);i=eH(b,98298,(c[(c[m>>2]|0)+8>>2]|0)+64|0)|0;e=c[(c[m>>2]|0)+8>>2]|0;a[e+80>>0]=i;eH(b,98303,e+48|0)|0;e=QL(xx(b,98308)|0)|0;a[(c[(c[m>>2]|0)+8>>2]|0)+82>>0]=e;e=xx(b,98315)|0;do if(!e){e=xx(b,98322)|0;if(e|0){e=(a[e>>0]|32)<<24>>24==108&1;k=27;break}e=xx(b,98334)|0;if(e|0){e=QL(e)|0;k=27}}else{e=(a2(e)|0)==90&1;k=27}while(0);if((k|0)==27)a[(c[(c[m>>2]|0)+8>>2]|0)+81>>0]=e;c[46364]=aM(xx(b,98344)|0,20604,20620)|0;a[191874]=QL(xx(b,98356)|0)|0;c[46367]=0;c[46368]=0;h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=0.0;e=xx(b,98368)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0)k=32;else k=30;if(((k|0)==30?(j=xx(b,98372)|0,j|0):0)?a[j>>0]|0:0){e=j;k=32}if((k|0)==32){f=+b2(e);h[(c[(c[m>>2]|0)+8>>2]|0)+24>>3]=f}fH(b);h[22910]=1.e+37;c[46370]=nx(b,0,98383,0)|0;c[46373]=nx(b,0,137952,0)|0;c[46374]=nx(b,0,102470,0)|0;c[46375]=nx(b,1,137966,0)|0;c[46376]=nx(b,1,138034,0)|0;c[46377]=nx(b,1,105204,0)|0;c[46378]=nx(b,1,137741,0)|0;c[46379]=nx(b,1,98392,0)|0;c[46387]=nx(b,1,138e3,0)|0;c[46380]=nx(b,1,98402,0)|0;c[46381]=nx(b,1,98411,0)|0;c[46382]=nx(b,1,98420,0)|0;k=nx(b,1,105198,0)|0;c[46384]=k;if(!k)c[46384]=nx(b,1,105198,102467)|0;c[46385]=nx(b,1,98430,0)|0;c[46388]=nx(b,1,98278,0)|0;c[46402]=nx(b,1,98437,0)|0;c[46391]=nx(b,1,98383,0)|0;c[46383]=nx(b,1,102470,0)|0;c[46389]=nx(b,1,137994,0)|0;c[46390]=nx(b,1,98446,0)|0;c[46393]=nx(b,1,98458,0)|0;c[46392]=nx(b,1,98322,0)|0;c[46394]=nx(b,1,98463,0)|0;c[46395]=nx(b,1,137942,0)|0;c[46396]=nx(b,1,134215,0)|0;c[46386]=nx(b,1,98474,0)|0;c[46397]=nx(b,1,98484,0)|0;c[46398]=nx(b,1,98490,0)|0;c[46399]=nx(b,1,98496,0)|0;c[46400]=nx(b,1,98504,0)|0;c[46401]=nx(b,1,98513,0)|0;c[46403]=nx(b,1,137952,0)|0;c[46404]=nx(b,2,98515,0)|0;c[46406]=nx(b,2,137741,0)|0;c[46407]=nx(b,2,98392,0)|0;c[46409]=nx(b,2,98402,0)|0;c[46410]=nx(b,2,98411,0)|0;c[46411]=nx(b,2,98420,0)|0;c[46412]=nx(b,2,105198,0)|0;c[46413]=nx(b,2,98430,0)|0;c[46422]=nx(b,2,98522,0)|0;c[46414]=nx(b,2,98533,0)|0;c[46425]=nx(b,2,98537,0)|0;c[46426]=nx(b,2,98547,0)|0;c[46427]=nx(b,2,98557,0)|0;c[46428]=nx(b,2,98567,0)|0;c[46429]=nx(b,2,98577,0)|0;c[46430]=nx(b,2,98591,0)|0;c[46431]=nx(b,2,98605,0)|0;c[46432]=nx(b,2,98620,0)|0;c[46433]=nx(b,2,98634,0)|0;c[46405]=nx(b,2,98645,0)|0;c[46417]=nx(b,2,98278,0)|0;c[46415]=nx(b,2,138e3,0)|0;c[46416]=nx(b,2,98652,0)|0;c[46418]=nx(b,2,98661,0)|0;c[46419]=nx(b,2,98671,0)|0;c[46420]=nx(b,2,98484,0)|0;c[46421]=nx(b,2,98496,0)|0;c[46434]=nx(b,2,98682,0)|0;c[46435]=nx(b,2,98691,0)|0;c[46436]=nx(b,2,98437,0)|0;e=ME(b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+88>>2]=e;e=xx(b,137978)|0;if(e|0?a[e>>0]|0:0){b=pH(e,b)|0;c[(c[(c[m>>2]|0)+8>>2]|0)+92>>2]=b}l=n;return}function cH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=OL(a,nx(a,0,98781,0)|0,98789)|0;if(((((((O$(a,98795)|0)!=0?(O$(a,98803)|0)!=0:0)?(O$(a,98810)|0)!=0:0)?(O$(a,98813)|0)!=0:0)?(O$(a,98824)|0)!=0:0)?(O$(a,98835)|0)!=0:0)?(O$(a,98845)|0)!=0:0)if((O$(a,98856)|0)!=0?(O$(a,98862)|0)!=0:0)if((O$(a,98789)|0)!=0?(O$(a,98867)|0)!=0:0){c[b>>2]=a;Pw(0,98872,b)|0;a=0}else a=0;else a=2;else a=1;l=d;return a|0}function dH(b){b=b|0;var d=0.0,e=0,f=0;e=xx(b,98739)|0;a:do if(e|0?(f=a[e>>0]|0,f<<24>>24):0)switch(f<<24>>24|0){case 97:{if(f<<24>>24!=97)break a;if(b$(e,98745)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=4;break a}case 99:{if(f<<24>>24!=99)break a;if(b$(e,98750)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=3;break a}case 101:{if(f<<24>>24!=101)break a;if(b$(e,98759)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=5;break a}case 102:{if(f<<24>>24!=102)break a;if(b$(e,98766)|0)break a;c[(c[(c[b+16>>2]|0)+8>>2]|0)+84>>2]=2;break a}default:{d=+b2(e);if(!(d>0.0))break a;b=c[(c[b+16>>2]|0)+8>>2]|0;c[b+84>>2]=1;h[b+16>>3]=d;break a}}while(0);return}function eH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o+32|0;i=o+16|0;k=o+8|0;j=o;n=o+40|0;a[n>>0]=0;b=xx(b,d)|0;do if(b){c[i>>2]=k;c[i+4>>2]=j;c[i+8>>2]=n;i=(N1(b,98723,i)|0)>1;g=+h[k>>3];f=+h[j>>3];if(i&g>0.0&f>0.0){g=g*72.0;h[e>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);g=f*72.0;h[e+8>>3]=+(~~(g+(g>=0.0?.5:-.5))|0);b=(a[n>>0]|0)==33;break}a[n>>0]=0;c[m>>2]=k;c[m+4>>2]=n;m=(N1(b,98733,m)|0)>0;f=+h[k>>3];if(m&f>0.0){g=f*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);h[e>>3]=g;h[e+8>>3]=g;b=(a[n>>0]|0)==33}else b=0}else b=0;while(0);l=o;return b&1|0}function fH(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0;d=xx(b,105198)|0;do if(d|0?a[d>>0]|0:0){e=(c[(c[b+60>>2]|0)+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|8;e=(Rz(d)|0)!=0;g=+LL(b,nx(b,0,98402,0)|0,14.0,1.0);i=OL(b,nx(b,0,98411,0)|0,104968)|0;d=kH(b,d,e?2:0,g,i,OL(b,nx(b,0,98420,0)|0,134232)|0)|0;i=b+16|0;c[(c[i>>2]|0)+12>>2]=d;d=xx(b,102602)|0;e=(d|0)!=0;do if((fz(b)|0)==(b|0)){if(e?(a[d>>0]|0)==116:0){d=1;break}d=0}else{if(e?(a[d>>0]|0)==98:0){d=0;break}d=1}while(0);e=xx(b,98700)|0;a:do if(e)switch(a[e>>0]|0){case 108:{d=d|2;break a}case 114:{d=d|4;break a}default:break a}while(0);a[(c[i>>2]|0)+275>>0]=d;if((fz(b)|0)!=(b|0)){d=c[(c[i>>2]|0)+12>>2]|0;f=+h[d+24>>3]+16.0;g=+h[d+32>>3]+8.0;b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;d=c[i>>2]|0;e=a[d+275>>0]<<1&2;if(b){b=e&255;h[d+48+(b<<4)>>3]=f;h[d+48+(b<<4)+8>>3]=g;break}else{b=(e^3)&255;h[d+48+(b<<4)>>3]=g;h[d+48+(b<<4)+8>>3]=f;break}}}while(0);return}function gH(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+8>>2]|0;do if(!b)b=d;else{d=c[b+88>>2]|0;if(d){pE(d);d=c[e>>2]|0;b=c[d+8>>2]|0;if(!b){b=d;break}}D_(c[b+92>>2]|0);b=c[e>>2]|0}while(0);D_(c[b+8>>2]|0);e=c[e>>2]|0;c[e+8>>2]=0;nH(c[e+12>>2]|0);Gz(a,0,134401);return}function hH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;switch(a|0){case 0:{a=98945;break}case 1:{a=98813;break}case 2:{a=98951;break}default:{c[b>>2]=a;Pw(1,98915,b)|0;a=98945}}l=d;return a|0}function iH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[d>>2]|0;l=d+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;if(a[f>>0]|0){i=vH((W_(f)|0)+1|0)|0;a[i>>0]=0;j=d+12|0;e=i;a:while(1){b:while(1){h=f+1|0;g=a[f>>0]|0;if(!(g<<24>>24))break a;if(!(g<<24>>24==-1|((g&255)<161|(c[j>>2]|0)!=2))){a[e>>0]=g;h=a[h>>0]|0;g=e+2|0;a[e+1>>0]=h;if(!(h<<24>>24)){e=g;break a}else{e=g;f=f+2|0;continue}}switch(g<<24>>24){case 92:break b;case 10:{k=12;break b}default:{}}a[e>>0]=g;e=e+1|0;f=h}if((k|0)==12){k=0;f=e+1|0;a[e>>0]=0;jH(b,d,i,110);e=f;i=f;f=h;continue}g=a[h>>0]|0;switch(g<<24>>24|0){case 114:case 108:case 110:{g=e+1|0;a[e>>0]=0;jH(b,d,i,a[h>>0]|0);e=g;break}default:{a[e>>0]=g;e=e+1|0;g=i}}i=g;f=(a[h>>0]|0)==0?h:f+2|0}if((i|0)!=(e|0)){a[e>>0]=0;jH(b,d,i,110)}d=d+40|0;c[d>>2]=c[l>>2];c[d+4>>2]=c[l+4>>2];c[d+8>>2]=c[l+8>>2];c[d+12>>2]=c[l+12>>2]}return}function jH(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;q=s+16|0;p=s;r=e+76|0;k=b[r>>1]|0;o=e+72|0;m=c[o>>2]|0;if(!m)n=uH((k*56|0)+112|0)|0;else n=wH(m,k+2|0,56,k+1|0)|0;c[o>>2]=n;k=b[r>>1]|0;m=n+(k*56|0)|0;c[m>>2]=f;a[n+(k*56|0)+48>>0]=g;if((f|0)!=0?(a[f>>0]|0)!=0:0){c[45824]=c[e+4>>2];h[22914]=+h[e+16>>3];g=c[d+144>>2]|0;c[n+(k*56|0)+4>>2]=nb[c[g>>2]&63](g,183296,1)|0;wL(p,d,m);j=+h[p>>3];h[q>>3]=j;i=+h[p+8>>3]}else{h[q>>3]=0.0;i=+(~~(+h[e+16>>3]*1.2)|0);h[n+(k*56|0)+40>>3]=i;j=0.0}b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=e+24|0;h[r>>3]=+h[(+h[r>>3]>j?r:q)>>3];r=e+32|0;h[r>>3]=+h[r>>3]+i;l=s;return}function kH(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;r=u+16|0;q=u+8|0;p=u;t=uH(88)|0;switch(pz(b)|0){case 0:{m=0;s=c[b+60>>2]|0;n=b;o=0;break}case 1:{m=0;s=fz(ez(b)|0)|0;n=0;o=b;break}case 2:{m=b;s=fz(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)|0;n=0;o=0;break}default:{m=0;s=0;n=0;o=0}}c[t+4>>2]=i;c[t+8>>2]=j;h[t+16>>3]=g;k=s+16|0;j=t+12|0;c[j>>2]=d[(c[k>>2]|0)+115>>0];a:do if(f&4){c[t>>2]=n1(e)|0;if(f&2|0)a[t+82>>0]=1}else switch(f|0){case 2:{c[t>>2]=n1(e)|0;a[t+82>>0]=1;if(!(kR(b,t)|0))break a;switch(pz(b)|0){case 0:{c[p>>2]=ry(n)|0;Pw(3,98957,p)|0;break a}case 1:{c[q>>2]=ry(o)|0;Pw(3,98979,q)|0;break a}case 2:{p=ry(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;q=(ey(s)|0)!=0;s=ry(c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=q?134656:138665;c[r+8>>2]=s;Pw(3,99e3,r)|0;break a}default:break a}}case 0:{i=lH(e,b,0)|0;c[t>>2]=i;if((c[j>>2]|0)==1)i=RM(i)|0;else i=OM(i,s)|0;D_(c[t>>2]|0);c[t>>2]=i;iH(c[(c[k>>2]|0)+144>>2]|0,t);break a}default:qa(99027,99043,166,99052)}while(0);l=u;return t|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;switch(pz(d)|0){case 0:{i=ry(d)|0;g=W_(i)|0;f=c[(c[d+16>>2]|0)+12>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;h=2;y=99075;m=99072;j=102467;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 1:{i=ry(ez(d)|0)|0;g=W_(i)|0;j=ry(d)|0;h=W_(j)|0;f=c[(c[d+16>>2]|0)+104>>2]|0;if(f){f=c[f>>2]|0;if(!b){v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=f;x=99069}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=W_(f)|0;w=f;x=99069}}else{v=0;t=2;u=2;s=2;y=99075;m=99072;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}break}case 2:{h=d+48|0;i=ry(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0;g=W_(i)|0;l=ry(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0;k=W_(l)|0;f=d+16|0;q=c[(c[f>>2]|0)+52>>2]|0;if(!q)r=0;else r=W_(q)|0;m=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;f=c[f>>2]|0;o=c[f+92>>2]|0;if(!o)p=0;else p=W_(o)|0;j=W_(m)|0;f=c[f+96>>2]|0;if(f){f=c[f>>2]|0;if(!b)n=2;else n=W_(f)|0}else{n=2;f=99063}x=(ey(fz(ez(c[((c[d>>2]&3|0)==3?d:h)+40>>2]|0)|0)|0)|0)==0;v=1;t=k;u=j;s=k+2+(r|0?r+1|0:0)+j+(p|0?p+1|0:0)|0;h=2;y=l;j=102467;w=f;x=x?138665:134656;break}default:{v=0;t=2;u=2;s=2;h=2;g=2;y=99075;m=99072;j=102467;i=99066;o=191979;q=191979;p=0;r=0;n=2;w=99063;x=99069}}e=(e|0)==0;l=0;f=b;a:while(1){d=f+1|0;b:do switch(a[f>>0]|0){case 0:break a;case 92:{f=f+2|0;switch(a[d>>0]|0){case 78:{k=h;break b}case 71:{k=g;break b}case 69:{k=s;break b}case 72:{k=u;break b}case 84:{k=t;break b}case 76:{k=n;break b}case 92:{if(!e){k=1;break b}break}default:{}}k=2;break}default:{k=1;f=d}}while(0);l=l+k|0}s=vH(l+1|0)|0;n=(v|0)==0;l=(r|0)==0;d=(p|0)==0;f=s;g=b;c:while(1){k=g+1|0;h=a[g>>0]|0;switch(h<<24>>24){case 0:break c;case 92:break;default:{a[f>>0]=h;f=f+1|0;g=k;continue c}}h=g+2|0;g=a[k>>0]|0;switch(g<<24>>24|0){case 71:{g=i;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 78:{g=j;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 69:{if(n){g=h;continue c}else g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(l)g=x;else{a[f>>0]=58;g=q;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=x;break}else g=g+1|0}}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=m;break}g=g+1|0;f=f+1|0}while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24))break;g=g+1|0;f=f+1|0}if(d){g=h;continue c}a[f>>0]=58;g=o;while(1){f=f+1|0;b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}else g=g+1|0}}case 84:{g=y;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}g=g+1|0;f=f+1|0}}case 72:{g=m;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 76:{g=w;while(1){b=a[g>>0]|0;a[f>>0]=b;if(!(b<<24>>24)){g=h;continue c}f=f+1|0;g=g+1|0}}case 92:{if(!e){a[f>>0]=92;f=f+1|0;g=h;continue c}break}default:{}}a[f>>0]=92;a[f+1>>0]=g;f=f+2|0;g=h}a[f>>0]=0;return s|0}function mH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(a|0){d=a;e=0;while(1){if((e|0)>=(b|0))break;if(!e)D_(c[d>>2]|0);g=c[d+8>>2]|0;if(g|0?(f=c[d+12>>2]|0,f|0):0)tb[f&127](g);d=d+56|0;e=e+1|0}D_(a)}return}function nH(d){d=d|0;var e=0;if(d|0){D_(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|0){e=c[e>>2]|0;if(e|0)XQ(e,1)}else mH(c[e>>2]|0,b[d+76>>1]|0);D_(d)}return}function oH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+32|0;q=u+16|0;r=u;k=c[d+16>>2]|0;s=k+12|0;t=c[s>>2]|0;c[s>>2]=e;if(!(a[f+82>>0]|0)){p=f+76|0;if((b[p>>1]|0)>=1){RO(d,0);UO(d,c[f+8>>2]|0);switch(a[f+80>>0]|0){case 116:{j=+h[f+64>>3];g=+h[f+48>>3]*.5+j;break}case 98:{j=+h[f+64>>3];g=+h[f+48>>3]*-.5+j+ +h[f+32>>3];break}default:{j=+h[f+64>>3];g=+h[f+32>>3]*.5+j}}g=g-+h[f+16>>3];o=r+8|0;h[o>>3]=g;if(b[k+260>>1]&512)h[o>>3]=g-j;m=f+72|0;n=f+56|0;i=f+40|0;e=0;while(1){if((e|0)>=(b[p>>1]|0))break;k=c[m>>2]|0;switch(a[k+(e*56|0)+48>>0]|0){case 108:{g=+h[n>>3]-+h[i>>3]*.5;break}case 114:{g=+h[i>>3]*.5+ +h[n>>3];break}default:g=+h[n>>3]}h[r>>3]=g;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];TO(d,q,k+(e*56|0)|0);h[o>>3]=+h[o>>3]-+h[(c[m>>2]|0)+(e*56|0)+40>>3];e=e+1|0}SO(d);i=18}}else{CQ(d,c[f+72>>2]|0,f);i=18}if((i|0)==18)c[s>>2]=t;l=u;return}function pH(a,b){a=a|0;b=b|0;return lH(a,b,1)|0}function qH(a){a=a|0;return rH(a,0)|0}function rH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[46437]|0;if(!e){c[46438]=64;e=vH(64)|0;c[46437]=e}j=d<<24>>24==0;i=0;f=0;h=b;while(1){if(!h)break;d=a[h>>0]|0;if(!(d<<24>>24))break;b=c[46438]|0;if((i|0)>(b+-8|0)){e=b<<1;c[46438]=e;e=xH(c[46437]|0,e)|0;c[46437]=e;e=e+i|0;d=a[h>>0]|0}a:do switch(d<<24>>24){case 38:{if(j?(sH(h)|0)!=0:0)k=18;else{f=5;d=99104}break}case 60:{f=4;d=99127;break}case 62:{f=4;d=99110;break}case 45:{f=5;d=99121;break}default:{if((f|0)!=0&d<<24>>24==32)if((a[f>>0]|0)==32){f=6;d=99097;break a}else{k=18;break a}switch(d<<24>>24){case 34:{f=6;d=99090;break a}case 39:{f=5;d=99115;break a}case 10:if(j){k=18;break a}else{f=5;d=99084;break a}default:{k=18;break a}}}}while(0);if((k|0)==18){k=0;d=j|d<<24>>24!=13;f=d?1:5;d=d?h:99078}g=e+f|0;b=f;while(1){if(!b)break;a[e>>0]=a[d>>0]|0;b=b+-1|0;d=d+1|0;e=e+1|0}b=h;i=f+i|0;e=g;h=h+1|0;f=b}a[e>>0]=0;return c[46437]|0}function sH(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function tH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[46439]|0;if(!d){c[46440]=64;d=vH(64)|0;c[46439]=d;i=0}else i=0;while(1){if(!b)break;e=a[b>>0]|0;if(!(e<<24>>24))break;f=c[46440]|0;if((i|0)>(f+-8|0)){d=f<<1;c[46440]=d;d=xH(c[46439]|0,d)|0;c[46439]=d;d=d+i|0;e=a[b>>0]|0}switch(e<<24>>24){case 38:{if(!(sH(b)|0)){g=5;e=99104}else j=12;break}case 60:{g=4;e=99127;break}case 62:{g=4;e=99110;break}case 34:{g=6;e=99090;break}case 39:{g=5;e=99115;break}default:j=12}if((j|0)==12){j=0;g=1;e=b}h=d+g|0;f=g;while(1){if(!f)break;a[d>>0]=a[e>>0]|0;f=f+-1|0;e=e+1|0;d=d+1|0}i=g+i|0;d=h;b=b+1|0}a[d>>0]=0;return c[46439]|0}function uH(a){a=a|0;var b=0;if(!a)a=0;else{b=vH(a)|0;H3(b|0,0,a|0)|0;a=b}return a|0}function vH(a){a=a|0;if(a){a=C_(a)|0;if(!a){E1(108658,14,1,c[15686]|0)|0;a=0}}else a=0;return a|0}function wH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=F_(a,O(d,b)|0)|0;if(!((b|0)!=0&(a|0)==0)){if(b>>>0>e>>>0)H3(a+(O(e,d)|0)|0,0,O(b-e|0,d)|0)|0}else E1(108658,14,1,c[15686]|0)|0;return a|0}function xH(a,b){a=a|0;b=b|0;a=F_(a,b)|0;if((b|0)!=0&(a|0)==0)E1(108658,14,1,c[15686]|0)|0;return a|0}\nfunction ol(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+320|0;H=M+296|0;G=M+280|0;x=M+136|0;w=M+120|0;n=M+104|0;i=M+88|0;f=M+80|0;E=M+16|0;z=M;j=M+264|0;k=M+248|0;m=M+232|0;o=M+216|0;A=M+200|0;B=M+184|0;y=M+168|0;D=M+152|0;g=pl(xx(a,87703)|0,b)|0;q=pl(xx(a,87709)|0,b)|0;r=(q|0)!=0;b=(g|0)!=0;do if(b|r?(L=a+16|0,e=c[(c[L>>2]|0)+8>>2]|0,e|0):0){if((c[e+4>>2]|0)>1){K=ry(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)|0;L=ry(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)|0;c[f>>2]=K;c[f+4>>2]=L;Pw(0,87715,f)|0;break}I=c[e>>2]|0;e=c[I+4>>2]|0;p=c[a>>2]&3;s=a+-48|0;t=c[((p|0)==2?a:s)+40>>2]|0;u=a+48|0;p=c[((p|0)==3?a:u)+40>>2]|0;J=vH(48)|0;v=I+12|0;c[J+12>>2]=c[v>>2];C=I+8|0;c[J+8>>2]=c[C>>2];do if(b){h=(c[g+16>>2]|0)+16|0;g=(c[t+16>>2]|0)+16|0;c[H>>2]=c[g>>2];c[H+4>>2]=c[g+4>>2];c[H+8>>2]=c[g+8>>2];c[H+12>>2]=c[g+12>>2];if(!(ql(H,h)|0)){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[i>>2]=o;c[i+4>>2]=F;c[i+8>>2]=K;Pw(0,87756,i)|0;K=26;break}b=c[I>>2]|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(ql(H,h)|0){F=(c[p+16>>2]|0)+16|0;c[H>>2]=c[F>>2];c[H+4>>2]=c[F+4>>2];c[H+8>>2]=c[F+8>>2];c[H+12>>2]=c[F+12>>2];if(ql(H,h)|0){o=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;F=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87703)|0;c[n>>2]=o;c[n+4>>2]=F;c[n+8>>2]=K;Pw(0,87799,n)|0;K=26;break}if(!(c[C>>2]|0))qa(87841,87852,369,87863);o=I+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];rl(z,G,H,h);F=(c[I>>2]|0)+48|0;c[F>>2]=c[z>>2];c[F+4>>2]=c[z+4>>2];c[F+8>>2]=c[z+8>>2];c[F+12>>2]=c[z+12>>2];F=(c[I>>2]|0)+16|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(j,G,H);c[F>>2]=c[j>>2];c[F+4>>2]=c[j+4>>2];c[F+8>>2]=c[j+8>>2];c[F+12>>2]=c[j+12>>2];F=c[I>>2]|0;b=F+16|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[o>>2];c[H+4>>2]=c[o+4>>2];c[H+8>>2]=c[o+8>>2];c[H+12>>2]=c[o+12>>2];sl(k,G,H);c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];c[F+8>>2]=c[k+8>>2];c[F+12>>2]=c[k+12>>2];F=c[I>>2]|0;b=F+32|0;F=F+16|0;c[G>>2]=c[F>>2];c[G+4>>2]=c[F+4>>2];c[G+8>>2]=c[F+8>>2];c[G+12>>2]=c[F+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(m,G,H);c[b>>2]=c[m>>2];c[b+4>>2]=c[m+4>>2];c[b+8>>2]=c[m+8>>2];c[b+12>>2]=c[m+12>>2];b=c[v>>2]|0;if(!b){F=3;break}F=(FE(a,c[I>>2]|0,0,0,J,b)|0)+3|0;break}g=e+-1|0;b=0;while(1){if((b|0)>=(g|0))break;if(tl((c[I>>2]|0)+(b<<4)|0,h)|0)break;b=b+3|0}e=c[v>>2]|0;f=(e|0)!=0;if((b|0)==(g|0))if(f){F=J+32|0;m=I+32|0;n=(c[I>>2]|0)+(g<<4)|0;c[G>>2]=c[m>>2];c[G+4>>2]=c[m+4>>2];c[G+8>>2]=c[m+8>>2];c[G+12>>2]=c[m+12>>2];c[H>>2]=c[n>>2];c[H+4>>2]=c[n+4>>2];c[H+8>>2]=c[n+8>>2];c[H+12>>2]=c[n+12>>2];rl(o,G,H,h);c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=g;break}else qa(87880,87852,387,87863);else{if(f)b=FE(a,c[I>>2]|0,0,b,J,e)|0;F=b+3|0;break}}else K=26;while(0);if((K|0)==26){b=e+-1|0;if(!(c[v>>2]|0))F=b;else{F=J+32|0;o=I+32|0;c[F>>2]=c[o>>2];c[F+4>>2]=c[o+4>>2];c[F+8>>2]=c[o+8>>2];c[F+12>>2]=c[o+12>>2];F=b}}do if(r){f=(c[q+16>>2]|0)+16|0;r=(c[p+16>>2]|0)+16|0;c[H>>2]=c[r>>2];c[H+4>>2]=c[r+4>>2];c[H+8>>2]=c[r+8>>2];c[H+12>>2]=c[r+12>>2];if(!(ql(H,f)|0)){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[w>>2]=G;c[w+4>>2]=H;c[w+8>>2]=K;Pw(0,87891,w)|0;K=52;break}b=(c[I>>2]|0)+(F<<4)|0;c[H>>2]=c[b>>2];c[H+4>>2]=c[b+4>>2];c[H+8>>2]=c[b+8>>2];c[H+12>>2]=c[b+12>>2];if(ql(H,f)|0){E=(c[t+16>>2]|0)+16|0;c[H>>2]=c[E>>2];c[H+4>>2]=c[E+4>>2];c[H+8>>2]=c[E+8>>2];c[H+12>>2]=c[E+12>>2];if(ql(H,f)|0){G=ry(c[((c[a>>2]&3|0)==3?a:u)+40>>2]|0)|0;H=ry(c[((c[a>>2]&3|0)==2?a:s)+40>>2]|0)|0;K=xx(a,87709)|0;c[x>>2]=G;c[x+4>>2]=H;c[x+8>>2]=K;Pw(0,87934,x)|0;K=52;break}if(!(c[v>>2]|0))qa(87880,87852,429,87863);x=J+32|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];rl(z,G,H,f);d=F+-3|0;E=(c[I>>2]|0)+(d<<4)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];E=F+-1|0;b=(c[I>>2]|0)+(E<<4)|0;c[G>>2]=c[z>>2];c[G+4>>2]=c[z+4>>2];c[G+8>>2]=c[z+8>>2];c[G+12>>2]=c[z+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(A,G,H);c[b>>2]=c[A>>2];c[b+4>>2]=c[A+4>>2];c[b+8>>2]=c[A+8>>2];c[b+12>>2]=c[A+12>>2];b=c[I>>2]|0;D=b+(F<<4)|0;b=b+(E<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];c[H>>2]=c[x>>2];c[H+4>>2]=c[x+4>>2];c[H+8>>2]=c[x+8>>2];c[H+12>>2]=c[x+12>>2];sl(B,G,H);c[D>>2]=c[B>>2];c[D+4>>2]=c[B+4>>2];c[D+8>>2]=c[B+8>>2];c[D+12>>2]=c[B+12>>2];D=c[I>>2]|0;b=D+(F+-2<<4)|0;E=D+(E<<4)|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[z>>2];c[H+4>>2]=c[z+4>>2];c[H+8>>2]=c[z+8>>2];c[H+12>>2]=c[z+12>>2];sl(y,G,H);c[b>>2]=c[y>>2];c[b+4>>2]=c[y+4>>2];c[b+8>>2]=c[y+8>>2];c[b+12>>2]=c[y+12>>2];b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,d,J,b)|0;break}e=F;while(1){if((e|0)>0)b=0;else break;while(1){if((b|0)==4)break;B=E+(b<<4)|0;A=(c[I>>2]|0)+(e-b<<4)|0;c[B>>2]=c[A>>2];c[B+4>>2]=c[A+4>>2];c[B+8>>2]=c[A+8>>2];c[B+12>>2]=c[A+12>>2];b=b+1|0}if(tl(E,f)|0){b=0;K=43;break}e=e+-3|0}a:do if((K|0)==43)while(1){K=0;if((b|0)==4)break a;K=(c[I>>2]|0)+(e-b<<4)|0;B=E+(b<<4)|0;c[K>>2]=c[B>>2];c[K+4>>2]=c[B+4>>2];c[K+8>>2]=c[B+8>>2];c[K+12>>2]=c[B+12>>2];b=b+1|0;K=43}while(0);if(e|0){d=e+-3|0;b=c[C>>2]|0;if(!b)break;d=HE(a,c[I>>2]|0,d,F+-3|0,J,b)|0;break}if(!(c[C>>2]|0))qa(87841,87852,452,87863);else{d=J+16|0;E=I+16|0;a=c[I>>2]|0;c[G>>2]=c[E>>2];c[G+4>>2]=c[E+4>>2];c[G+8>>2]=c[E+8>>2];c[G+12>>2]=c[E+12>>2];c[H>>2]=c[a>>2];c[H+4>>2]=c[a+4>>2];c[H+8>>2]=c[a+8>>2];c[H+12>>2]=c[a+12>>2];rl(D,G,H,f);c[d>>2]=c[D>>2];c[d+4>>2]=c[D+4>>2];c[d+8>>2]=c[D+8>>2];c[d+12>>2]=c[D+12>>2];d=0;break}}else K=52;while(0);if((K|0)==52)if(!(c[C>>2]|0))d=0;else{d=J+16|0;K=I+16|0;c[d>>2]=c[K>>2];c[d+4>>2]=c[K+4>>2];c[d+8>>2]=c[K+8>>2];c[d+12>>2]=c[K+12>>2];d=0}b=F-d+1|0;e=J+4|0;c[e>>2]=b;c[J>>2]=vH(b<<4)|0;b=0;while(1){if((b|0)>=(c[e>>2]|0))break;K=(c[J>>2]|0)+(b<<4)|0;a=(c[I>>2]|0)+(d<<4)|0;c[K>>2]=c[a>>2];c[K+4>>2]=c[a+4>>2];c[K+8>>2]=c[a+8>>2];c[K+12>>2]=c[a+12>>2];d=d+1|0;b=b+1|0}D_(c[I>>2]|0);D_(I);c[c[(c[L>>2]|0)+8>>2]>>2]=J}while(0);l=M;return}function pl(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if((b|0)!=0?(a[b>>0]|0)!=0:0){d=vM(d,b)|0;if(!d){c[e>>2]=b;Pw(0,88054,e)|0;d=0}}else d=0;l=f;return d|0}function ql(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];if((+h[b>>3]<=d?d<=+h[b+16>>3]:0)?(c=+h[a+8>>3],+h[b+8>>3]<=c):0)a=c<=+h[b+24>>3]&1;else a=0;return a|0}function rl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0;C=l;l=l+464|0;n=C+48|0;B=C+32|0;u=C+16|0;v=C;w=C+364|0;x=C+264|0;z=C+164|0;A=C+64|0;q=+h[b>>3];r=+h[b+8>>3];s=+h[d>>3];t=+h[d+8>>3];c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];c[u+8>>2]=c[e+8>>2];c[u+12>>2]=c[e+12>>2];e=e+16|0;c[v>>2]=c[e>>2];c[v+4>>2]=c[e+4>>2];c[v+8>>2]=c[e+8>>2];c[v+12>>2]=c[e+12>>2];k=+h[u>>3];if((s<k?(f=r+ +(~~((k-q)*(r-t)/(q-s))|0),f>=+h[u+8>>3]):0)?f<=+h[v+8>>3]:0){o=f;p=k}else i=4;do if((i|0)==4){j=+h[v>>3];if(s>j){g=r+ +(~~((j-q)*(r-t)/(q-s))|0);f=+h[u+8>>3];if(g>=f?g<=+h[v+8>>3]:0){o=g;p=j;break}}else f=+h[u+8>>3];if(t<f?(m=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(m>=k)|!(m<=j))):0){o=f;p=m;break}f=+h[v+8>>3];if(t>f?(y=q+ +(~~((f-r)*(q-s)/(r-t))|0),!(!(y>=k)|!(y<=j))):0){o=f;p=y;break};c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];w=yl(n,w)|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];x=yl(n,x)|0;c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];z=yl(n,z)|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];A=yl(n,A)|0;c[B>>2]=w;c[B+4>>2]=x;c[B+8>>2]=z;c[B+12>>2]=A;Pw(1,87976,B)|0;qa(135312,87852,78,88028)}while(0);h[a>>3]=p;h[a+8>>3]=o;l=C;return}function sl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function tl(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;j=m+16|0;k=m;e=0;while(1){if((e|0)==4)break;i=j+(e<<4)|0;g=a+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];e=e+1|0}e=b+8|0;i=b+24|0;d=+ul(a,0.0,1.0,+h[b>>3],+h[e>>3],+h[i>>3]);if(d>=0.0&d<2.0)XL(k,j,3,d,a,0);else d=2.0;g=b+16|0;f=+ul(a,0.0,d>1.0?1.0:d,+h[g>>3],+h[e>>3],+h[i>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}f=+vl(a,0.0,d>1.0?1.0:d,+h[e>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}f=+vl(a,0.0,d>1.0?1.0:d,+h[i>>3],+h[b>>3],+h[g>>3]);if(f>=0.0&f<d){XL(k,j,3,f,a,0);d=f}l=m;return d<2.0|0}function ul(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(xl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+48>>3]-d))<=.005){b=+h[a+56>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+ul(j,b,g,d,e,f);if(!(b>=0.0))b=+ul(k,g,c,d,e,f)}while(0);l=m;return +b}function vl(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+144|0;j=m+80|0;k=m+16|0;i=m;a:do if(!(b==c)){switch(wl(a,d)|0){case 0:{b=-1.0;break a}case 1:{if(+B(+(+h[a+56>>3]-d))<=.005){b=+h[a+48>>3];b=!(b>=e)|!(b<=f)?-1.0:c;break a}break}default:{}}XL(i,a,3,.5,j,k);g=(c+b)*.5;b=+vl(j,b,g,d,e,f);if(!(b>=0.0))b=+vl(k,g,c,d,e,f)}while(0);l=m;return +b}function wl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a+8>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)+8>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function xl(a,b){a=a|0;b=+b;var c=0,d=0,e=0,f=0.0,g=0,i=0;f=+h[a>>3];e=f<b?-1:f>b&1;c=1;d=e;e=(e|0)==0&1;while(1){if((c|0)==4)break;f=+h[a+(c<<4)>>3];i=f<b?-1:f>b&1;g=e+((d|0)!=0&(i|0)!=(d|0)&1)|0;c=c+1|0;d=i;e=g}return e|0}function yl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=l;l=l+16|0;d=c;e=+h[a+8>>3];h[d>>3]=+h[a>>3];h[d+8>>3]=e;Y0(b,88042,d)|0;l=c;return b|0}function zl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;s=v;u=4;t=C_(40)|0;c[t>>2]=0;r=a+16|0;e=c[r>>2]|0;a:do if(((b[e+238>>1]|0)-(b[e+236>>1]|0)|0)>=2){m=1;d=e;e=c[e+196>>2]|0;b:while(1){n=m+1|0;if(!(c[e+(n<<6)>>2]|0)){q=15;break}else k=0;while(1){h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0)){m=n;continue b}j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(20,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break b}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(65,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break b}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,1);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break b}}}e=c[r>>2]|0;k=k+1|0;d=e;e=c[e+196>>2]|0}}c:do if((q|0)==15){while(1){if((m|0)>0)k=0;else break;while(1){e=c[d+196>>2]|0;h=c[e+(m<<6)>>2]|0;if((k|0)>=(h|0))break;j=c[(c[e+(m<<6)+4>>2]|0)+(k<<2)>>2]|0;o=0;d=$(21,j|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,u|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){d=z;break c}if(d<<24>>24){i=k;d=h;while(1){g=i+1|0;if((g|0)>=(d|0))break;o=0;d=aa(66,j|0,c[(c[e+(m<<6)+4>>2]|0)+(g<<2)>>2]|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,t|0,u|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){d=z;break c}if(!(d<<24>>24))break;d=c[(c[r>>2]|0)+196>>2]|0;i=g;e=d;d=c[d+(m<<6)>>2]|0}if((g-k|0)>1){o=0;na(6,a|0,m|0,k|0,i|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;break c}}}k=k+1|0;d=c[r>>2]|0}m=m+-1|0;q=15}t=D3(183936,1,t|0,u|0)|0;u=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else d=0}while(0);d:while(1){if(d){o=0;ca(20,3,88082,s|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}else break}else f=1;while(1){d=c[r>>2]|0;if((f|0)>(c[d+180>>2]|0))break a;o=0;ia(99,c[(c[d+184>>2]|0)+(f<<2)>>2]|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,t|0,u|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue d}f=f+1|0}}}while(0);D_(t|0);l=v;return}function Al(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+176>>2]|0)==1:0)?(c[b+184>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function Bl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+172>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+172>>2]>>2]|0;if(((Al(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+16|0;f=g;a=(c[e+16>>2]|0)+16|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Cl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=a+16|0;q=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(d<<2)>>2]|0;p=d+1|0;m=(f|0)==1;n=q+16|0;l=p;while(1){if((l|0)>(e|0)){g=e;s=p;break}o=c[(c[(c[(c[t>>2]|0)+196>>2]|0)+(b<<6)+4>>2]|0)+(l<<2)>>2]|0;k=o+16|0;a:do if(m)while(1){d=c[k>>2]|0;j=c[c[d+180>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+180>>2]|0;i=j+-48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=8;break}if((c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==8){r=0;d=ph(q,c[((c[j>>2]&3|0)==2?j:i)+40>>2]|0,j)|0}while(1){f=c[c[(c[k>>2]|0)+172>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}else while(1){d=c[k>>2]|0;j=c[c[d+172>>2]>>2]|0;if(!j)break a;h=c[(c[n>>2]|0)+172>>2]|0;i=j+48|0;f=0;while(1){d=c[h+(f<<2)>>2]|0;if(!d){r=17;break}if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0))break;else f=f+1|0}if((r|0)==17){r=0;d=ph(c[((c[j>>2]&3|0)==3?j:i)+40>>2]|0,q,j)|0}while(1){f=c[c[(c[k>>2]|0)+180>>2]>>2]|0;if(!f)break;xh(f,d);kh(f)}kh(j)}while(0);if((c[d+176>>2]|0)!=(0-(c[d+184>>2]|0)|0)){r=23;break}sh(a,o);l=l+1|0}if((r|0)==23)qa(88218,88262,115,88269);while(1){g=g+1|0;d=c[(c[t>>2]|0)+196>>2]|0;f=d+(b<<6)|0;if((g|0)>=(c[f>>2]|0))break;e=c[d+(b<<6)+4>>2]|0;r=c[e+(g<<2)>>2]|0;c[e+(s<<2)>>2]=r;c[(c[r+16>>2]|0)+236>>2]=s;s=s+1|0}c[f>>2]=s;c[(c[d+(b<<6)+4>>2]|0)+(s<<2)>>2]=0;return}function Dl(b){b=b|0;b=c[b+16>>2]|0;if(((a[b+156>>0]|0)==1?(c[b+184>>2]|0)==1:0)?(c[b+176>>2]|0)==1:0)b=(c[b+104>>2]|0)==0&1;else b=0;return b|0}function El(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;h=i+40|0;g=i;e=c[c[(c[a+16>>2]|0)+180>>2]>>2]|0;a=c[c[(c[b+16>>2]|0)+180>>2]>>2]|0;if(((Dl(b)|0)<<24>>24!=0?(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)==(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0):0)?(Hl(e,a)|0)<<24>>24!=0:0){d=(c[a+16>>2]|0)+56|0;f=g;a=(c[e+16>>2]|0)+56|0;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));f=h;a=d;b=f+40|0;do{c[f>>2]=c[a>>2];f=f+4|0;a=a+4|0}while((f|0)<(b|0));a=(jg(g,h)|0)==0&1}else a=0;l=i;return a|0}function Fl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;p=r+16|0;o=r;m=d+16|0;f=c[m>>2]|0;e=b[f+236>>1]|0;while(1){if((e|0)>(b[f+238>>1]|0))break;c[(c[f+268>>2]|0)+(e<<2)>>2]=0;e=e+1|0;f=c[m>>2]|0}xj(d);j=Sy(d)|0;while(1){if(!j)break;Gl(d,j);i=Ex(d,j)|0;while(1){if(!i)break;else f=i;while(1){e=c[(c[f+16>>2]|0)+172>>2]|0;if(!e)break;else f=e}h=i+-48|0;while(1){e=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:h)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;Gl(d,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}i=Gx(d,i)|0}j=Ty(d,j)|0}e=c[m>>2]|0;i=b[e+236>>1]|0;while(1){if((i|0)>(b[e+238>>1]|0)){k=1;n=e;break}e=c[(c[e+268>>2]|0)+(i<<2)>>2]|0;j=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;f=e+16|0;if((c[j+(c[(c[f>>2]|0)+236>>2]<<2)>>2]|0)!=(e|0)){q=17;break}h=c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(i<<6)+4>>2]|0;e=c[m>>2]|0;f=c[e+196>>2]|0;c[f+(i<<6)+4>>2]=h+(c[(c[(c[(c[e+268>>2]|0)+(i<<2)>>2]|0)+16>>2]|0)+236>>2]<<2);e=-1;h=0;a:while(1){if((h|0)>=(c[f+(i<<6)>>2]|0))break;f=c[(c[f+(i<<6)+4>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;b:do if(!(a[g+156>>0]|0))if(!(oz(d,f)|0))break a;else e=h;else{f=c[c[g+172>>2]>>2]|0;while(1){if(!f)break b;g=c[(c[f+16>>2]|0)+116>>2]|0;if(!g)break;else f=g}if(oz(d,c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)|0){j=(oz(d,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)|0)==0;e=j?e:h}}while(0);h=h+1|0;f=c[(c[m>>2]|0)+196>>2]|0}if((e|0)==-1){c[p>>2]=ry(d)|0;c[p+4>>2]=i;Pw(0,88182,p)|0}j=c[m>>2]|0;c[(c[j+196>>2]|0)+(i<<6)>>2]=e+1;i=i+1|0;e=j}if((q|0)==17){p=ry(e)|0;q=c[(c[f>>2]|0)+236>>2]|0;c[o>>2]=p;c[o+4>>2]=q;c[o+8>>2]=i;Pw(1,88124,o)|0;bb(183936,1)}while(1){if((k|0)>(c[n+180>>2]|0))break;Fl(c[(c[n+184>>2]|0)+(k<<2)>>2]|0);k=k+1|0;n=c[m>>2]|0}l=r;return}function Gl(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+16>>2]|0;a=(c[(c[a+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)|0;e=c[a>>2]|0;if(!((e|0)!=0?(c[(c[e+16>>2]|0)+236>>2]|0)<=(c[d+236>>2]|0):0))c[a>>2]=b;return}function Hl(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=c[b+16>>2]|0;if(!(a[f+112>>0]|0))break;b=c[f+116>>2]|0}while(1){e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;d=c[e+116>>2]|0}if((a[f+153>>0]|0)==0?(a[e+153>>0]|0)==0:0){f=c[d>>2]&3;e=c[b>>2]&3;b=(O((c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0,(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)|0)>0&1}else b=0;return b|0}function Il(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+544|0;j=k+528|0;Jl(j,k+512|0,k);e=(a[190690]|0)+1<<24>>24;a[190690]=e<<24>>24==0?1:e;e=c[b+16>>2]|0;c[e+220>>2]=0;c[e+232>>2]=0;e=(d|0)>0;d=Sy(b)|0;while(1){if(!d)break;if(e?(h=c[d+16>>2]|0,i=c[h+212>>2]|0,(i|0)!=0):0){g=c[(c[(c[i+16>>2]|0)+268>>2]|0)+(c[h+232>>2]<<2)>>2]|0;f=7}else f=6;if((f|0)==6?(f=0,(d|0)==(SL(d)|0)):0){g=d;f=7}if((f|0)==7?(0,(a[(c[g+16>>2]|0)+157>>0]|0)!=(a[190690]|0)):0){Kl(b);Ll(j,b,g);Ml(b)}d=Ty(b,d)|0}Nl(j);l=k;return}function Jl(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=d;c[b+4>>2]=d+512;c[b+12>>2]=0;c[b+8>>2]=0;c[a>>2]=b;c[a+4>>2]=b;c[a+8>>2]=d;return}function Kl(a){a=a|0;c[(c[a+16>>2]|0)+192>>2]=0;c[46023]=0;return}function Ll(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q;Ol(b,e);k=p+8|0;m=p+16|0;n=p+24|0;a:while(1){o=Pl(b)|0;if(!o)break;e=o+16|0;if((a[(c[e>>2]|0)+157>>0]|0)==(a[190690]|0))continue;Ql(d,o);h=c[e>>2]|0;g=h+180|0;j=c[g+4>>2]|0;i=p;c[i>>2]=c[g>>2];c[i+4>>2]=j;i=h+172|0;j=c[i+4>>2]|0;g=k;c[g>>2]=c[i>>2];c[g+4>>2]=j;g=h+188|0;j=c[g+4>>2]|0;i=m;c[i>>2]=c[g>>2];c[i+4>>2]=j;h=h+196|0;i=c[h+4>>2]|0;j=n;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=3;while(1){if((j|0)<=-1)continue a;e=c[p+(j<<3)>>2]|0;b:do if(e|0){i=(c[p+(j<<3)+4>>2]|0)+-1|0;h=e+(i<<2)|0;while(1){if((i|0)<=-1)break b;f=c[h>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(o|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;if((a[(c[e+16>>2]|0)+157>>0]|0)!=(a[190690]|0)?(e|0)==(SL(e)|0):0)Ol(b,e);h=h+-4|0;i=i+-1|0}}while(0);j=j+-1|0}}l=q;return}function Ml(a){a=a|0;var b=0,d=0,e=0,f=0;d=a+16|0;b=c[d>>2]|0;f=b+220|0;e=c[f>>2]|0;a=e+1|0;c[f>>2]=a;b=c[b+216>>2]|0;if(!b)a=vH(a<<2)|0;else a=xH(b,a<<2)|0;f=c[d>>2]|0;c[f+216>>2]=a;c[a+(e<<2)>>2]=c[f+192>>2];return}function Nl(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Ol(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;g=k;j=b+8|0;f=c[j>>2]|0;i=b+4|0;b=c[i>>2]|0;if((f|0)==(c[b+4>>2]|0)){f=c[b+12>>2]|0;if(!f){f=uH(16)|0;if(!f)Pw(1,95943,g)|0;c[f+8>>2]=c[i>>2];c[f+12>>2]=0;b=uH(4e6)|0;c[f>>2]=b;if(!b){Pw(1,88282,h)|0;b=c[f>>2]|0}c[f+4>>2]=b+4e6;c[(c[i>>2]|0)+12>>2]=f}c[i>>2]=f;f=c[f>>2]|0;c[j>>2]=f}a[(c[e+16>>2]|0)+157>>0]=(d[190690]|0)+1;c[j>>2]=f+4;c[f>>2]=e;l=k;return}function Pl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+8|0;b=c[f>>2]|0;d=a+4|0;e=c[d>>2]|0;if((b|0)==(c[e>>2]|0))if((e|0)==(c[a>>2]|0))b=0;else{b=c[e+8>>2]|0;c[d>>2]=b;b=c[b+4>>2]|0;c[f>>2]=b;g=4}else g=4;if((g|0)==4){b=b+-4|0;c[f>>2]=b;b=c[b>>2]|0}return b|0}function Ql(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=c[b+16>>2]|0;g=f+232|0;c[g>>2]=(c[g>>2]|0)+1;g=c[d+16>>2]|0;a[g+157>>0]=a[190690]|0;b=c[46023]|0;e=g+168|0;if(!b){c[e>>2]=0;c[f+192>>2]=d}else{c[e>>2]=b;c[(c[b+16>>2]|0)+164>>2]=d}c[46023]=d;c[g+164>>2]=0;return}function Rl(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=b+16|0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+188>>2]|0;a:do if(!e)f=0;else{f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e){f=0;break a}Sl(e);d=c[g>>2]|0;f=f+1|0;e=c[d+188>>2]|0}}while(0);while(1){if((f|0)>=(c[d+208>>2]|0))break;e=c[(c[d+204>>2]|0)+(f<<2)>>2]|0;l=c[e>>2]&3;if((c[(c[(c[((l|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)==(c[(c[(c[((l|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)){Sl(e);d=c[g>>2]|0}f=f+1|0}d=d+164|0}l=c[m>>2]|0;d=c[l+196>>2]|0;if(!((c[d+56>>2]|0)==0?(c[l+180>>2]|0)<=0:0))i=13;b:do if((i|0)==13){i=c[d+4>>2]|0;g=0;c:while(1){d=c[i+(g<<2)>>2]|0;if(!d)break b;e=c[(c[d+16>>2]|0)+196>>2]|0;d=0;while(1){f=c[e+(d<<2)>>2]|0;if(!f)break;l=c[f+16>>2]|0;if(c[l+96>>2]|0?(a[l+113>>0]|0)==0:0)break c;d=d+1|0}g=g+1|0}Tl(b)}while(0);Ji(b);e=0;d=(c[m>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;l=d+16|0;d=c[l>>2]|0;f=c[d+188>>2]|0;d:do if(f){k=0;while(1){g=c[f+(k<<2)>>2]|0;if(!g){k=0;break}i=c[g+16>>2]|0;j=c[i+96>>2]|0;do if(j)if(!(a[i+113>>0]|0)){Ul(g);f=c[l>>2]|0;e=1;d=f;f=c[f+188>>2]|0;break}else{h[i+136>>3]=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?j+24|0:j+32|0)>>3];break}while(0);k=k+1|0}while(1){if((k|0)>=(c[d+208>>2]|0))break d;i=c[(c[d+204>>2]|0)+(k<<2)>>2]|0;j=c[i>>2]&3;g=c[((j|0)==3?i:i+48|0)+40>>2]|0;j=c[((j|0)==2?i:i+-48|0)+40>>2]|0;do if(!((g|0)==(j|0)?1:(c[(c[g+16>>2]|0)+232>>2]|0)!=(c[(c[j+16>>2]|0)+232>>2]|0))){f=i;do{j=c[f+16>>2]|0;f=c[j+172>>2]|0}while((f|0)!=0);f=a[j+113>>0]|0;g=c[i+16>>2]|0;a[g+113>>0]=f;g=c[g+96>>2]|0;if(g)if(!(f<<24>>24)){Ul(i);e=1;d=c[l>>2]|0;break}else{o=+h[((c[(c[m>>2]|0)+116>>2]&1|0)==0?g+24|0:g+32|0)>>3];j=j+136|0;n=+h[j>>3];h[j>>3]=o>n?o:n;break}}while(0);k=k+1|0}}while(0);d=d+164|0}if(e|0){Ch(b);Qh(b)}return e|0}function Sl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)==3?b:b+48|0)+40>>2]|0;f=i+16|0;g=c[(c[f>>2]|0)+236>>2]|0;d=c[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;h=(g|0)<(d|0);e=h?d:g;i=c[(c[(ig(i)|0)+16>>2]|0)+196>>2]|0;f=i+(c[(c[f>>2]|0)+232>>2]<<6)+4|0;d=h?g:d;a:while(1){d=d+1|0;if((d|0)>=(e|0))break;g=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;switch(a[g+156>>0]|0){case 0:break a;case 1:break;default:continue a}if(c[g+104>>2]|0)break}if((d|0)==(e|0))do{i=c[b+16>>2]|0;a[i+113>>0]=1;b=c[i+172>>2]|0}while((b|0)!=0);return}function Tl(a){a=a|0;var d=0,e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;if(b[a+236>>1]|0)qa(88339,88322,190,88358);d=(b[a+238>>1]|0)+3|0;a=c[a+196>>2]|0;if(!a)a=vH(d<<6)|0;else a=xH(a,d<<6)|0;d=a+64|0;a=c[g>>2]|0;c[a+196>>2]=d;a=b[a+238>>1]|0;while(1){if((a|0)<=-1)break;f=a+-1|0;e=d+(a<<6)|0;a=d+(f<<6)|0;d=e+64|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));a=f;d=c[(c[g>>2]|0)+196>>2]|0}c[d+(a<<6)+8>>2]=0;c[d+(a<<6)>>2]=0;e=uH(8)|0;g=c[g>>2]|0;f=c[g+196>>2]|0;c[f+(a<<6)+12>>2]=e;c[f+(a<<6)+4>>2]=e;c[f+(a<<6)+56>>2]=0;h[f+(a<<6)+24>>3]=1.0;h[f+(a<<6)+16>>3]=1.0;h[f+(a<<6)+40>>3]=1.0;h[f+(a<<6)+32>>3]=1.0;g=g+236|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;return}function Ul(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0;j=b+16|0;if(c[(c[j>>2]|0)+96>>2]|0){m=b+48|0;k=ig(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)|0;d=c[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0;l=Vl(k,b)|0;n=k+16|0;e=c[n>>2]|0;g=c[e+196>>2]|0;o=d+-1|0;i=c[c[g+(o<<6)+4>>2]>>2]|0;if(!i)f=+h[g+(d<<6)+24>>3]+ +h[(c[(c[c[g+(d<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +(c[e+252>>2]|0);else f=+h[(c[i+16>>2]|0)+24>>3]-+h[g+(o<<6)+16>>3];d=Wl(k,o,l)|0;k=c[(c[j>>2]|0)+96>>2]|0;q=+h[k+24>>3];p=+h[k+32>>3];j=(c[(c[n>>2]|0)+116>>2]&1|0)==0;r=j?p:q;g=d+16|0;e=c[g>>2]|0;h[e+80>>3]=r;l=~~(r*.5);p=(j?q:p)*.5;h[e+96>>3]=p;h[e+88>>3]=p;c[e+104>>2]=k;h[e+24>>3]=+(l+~~f|0);e=ph(d,c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0,b)|0;e=c[e+16>>2]|0;h[e+16>>3]=-+h[(c[g>>2]|0)+88>>3];h[e+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==3?b:m)+40>>2]|0)+16>>2]|0)+96>>3];a[e+112>>0]=4;e=b+-48|0;d=ph(d,c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0,b)|0;g=c[g>>2]|0;d=c[d+16>>2]|0;h[d+16>>3]=+h[g+96>>3];h[d+56>>3]=+h[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+88>>3];a[d+112>>0]=4;d=c[(c[n>>2]|0)+196>>2]|0;e=d+(o<<6)+16|0;f=+(l|0);if(+h[e>>3]<f)h[e>>3]=f;d=d+(o<<6)+24|0;if(+h[d>>3]<f)h[d>>3]=f;c[g+112>>2]=b}return}function Vl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+8|0;f=n+4|0;g=n;d=c[b>>2]&3;e=c[((d|0)==3?b:b+48|0)+40>>2]|0;k=(c[(c[e+16>>2]|0)+232>>2]|0)+-1|0;a=c[(c[a+16>>2]|0)+196>>2]|0;h=c[a+(k<<6)+4>>2]|0;a=c[a+(k<<6)>>2]|0;k=j+8|0;c[k>>2]=-1;c[j>>2]=-1;m=j+12|0;c[m>>2]=a;i=j+4|0;c[i>>2]=a;Xl(e,c[((d|0)==2?b:b+-48|0)+40>>2]|0,f,g);f=c[f>>2]|0;g=c[g>>2]|0;d=0;e=a;b=-1;while(1){if((d|0)>=(e|0))break;e=e+-1|0;Yl(c[h+(d<<2)>>2]|0,j,f,g);if((d|0)!=(e|0))Yl(c[h+(e<<2)>>2]|0,j,f,g);a=c[i>>2]|0;b=c[j>>2]|0;if((a-b|0)<2)break;else d=d+1|0}if((b|0)>(a|0))a=(c[m>>2]|0)+(c[k>>2]|0)|0;else a=a+b|0;l=n;return (a+1|0)/2|0|0}function Wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=a+16|0;f=c[(c[g>>2]|0)+196>>2]|0;e=f+(b<<6)|0;f=c[f+(b<<6)+4>>2]|0;if(!f)f=vH((c[e>>2]<<2)+8|0)|0;else f=xH(f,(c[e>>2]<<2)+8|0)|0;e=c[(c[g>>2]|0)+196>>2]|0;c[e+(b<<6)+4>>2]=f;e=c[e+(b<<6)>>2]|0;while(1){if((e|0)<=(d|0))break;h=e+-1|0;i=c[f+(h<<2)>>2]|0;c[f+(e<<2)>>2]=i;i=(c[i+16>>2]|0)+236|0;c[i>>2]=(c[i>>2]|0)+1;e=h}h=uh(a)|0;i=f+(d<<2)|0;c[i>>2]=h;h=c[h+16>>2]|0;c[h+236>>2]=d;c[h+232>>2]=b;g=(c[(c[g>>2]|0)+196>>2]|0)+(b<<6)|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[f+(h<<2)>>2]=0;return c[i>>2]|0}function Xl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a=c[(c[a+16>>2]|0)+236>>2]|0;b=c[(c[b+16>>2]|0)+236>>2]|0;f=(a|0)>(b|0);c[d>>2]=f?b:a;c[e>>2]=f?a:b;return}function Yl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+4|0;g=m;b=c[b+16>>2]|0;do if((a[b+156>>0]|0)==1){k=c[b+236>>2]|0;if(c[b+176>>2]|0){i=c[b+180>>2]|0;b=0;g=0;h=0;while(1){j=c[i+(h<<2)>>2]|0;if(!j)break;n=c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=(n|0)>(e|0);b=j?((n|0)<(f|0)?b:1):b;g=j?g:1;h=h+1|0}if(g<<24>>24!=0&b<<24>>24==0){c[d>>2]=k+1;break}if(!(g<<24>>24==0&b<<24>>24!=0))break;c[d+4>>2]=k+-1;break}if((c[b+184>>2]|0)!=2)qa(88302,88322,63,88329);i=c[b+180>>2]|0;n=c[i>>2]|0;i=c[i+4>>2]|0;Xl(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0,c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,h,g);i=c[g>>2]|0;if((i|0)<=(e|0)){c[d>>2]=k;c[d+8>>2]=k;break}b=c[h>>2]|0;if((b|0)>=(f|0)){c[d+4>>2]=k;c[d+12>>2]=k;break}g=(b|0)<(e|0);h=(i|0)>(f|0);if(!(h&g)){if(!(!g?!((i|0)<(f|0)&(b|0)==(e|0)):0))c[d+8>>2]=k;if(!h?!((i|0)==(f|0)&(b|0)>(e|0)):0)break;c[d+12>>2]=k}}while(0);l=m;return}function Zl(a){a=a|0;c[46363]=1;rm(a);c[46363]=0;return}function _l(a){a=a|0;c[46363]=2;rm(a);c[46363]=0;return}function $l(a){a=a|0;var b=0;Az(a,134365,304,1)|0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function am(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+64|0;j=s+48|0;o=s+40|0;k=s+24|0;i=s+8|0;q=s+56|0;m=s;do if((b|0)!=0?(r=e+16|0,p=c[(c[r>>2]|0)+132>>2]|0,g=yx(e,b)|0,(a[g>>0]|0)!=0):0){a[q>>0]=0;b=p+8|0;if((c[46366]|0)>2?(c[i>>2]=p,c[i+4>>2]=b,c[i+8>>2]=p+16,c[i+12>>2]=q,(N1(g,88435,i)|0)>2):0){a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;a:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break a;o=p+(b<<3)|0;h[o>>3]=+h[o>>3]/+h[22908];b=b+1|0}}while(0);if((g|0)>3)Hn(e,f,3);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1;break}c[k>>2]=p;c[k+4>>2]=b;c[k+8>>2]=q;if((N1(g,98723,k)|0)<=1){c[j>>2]=ry(e)|0;c[j+4>>2]=g;Pw(1,88449,j)|0;b=0;break}a[(c[r>>2]|0)+119>>0]=1;g=c[46366]|0;b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)>=(g|0))break b;k=p+(b<<3)|0;h[k>>3]=+h[k>>3]/+h[22908];b=b+1|0}}while(0);do if((g|0)>2){b=c[46401]|0;if((b|0?(n=yx(e,b)|0,n|0):0)?(c[o>>2]=m,(N1(n,98183,o)|0)==1):0){u=+h[22908];t=+h[m>>3];h[p+16>>3]=u>0.0?t/u:t;Hn(e,f,3);break}In(e,f)}while(0);if((a[q>>0]|0)!=33){if(!d){b=1;break}if(!((QL(yx(e,d)|0)|0)<<24>>24)){b=1;break}}a[(c[r>>2]|0)+119>>0]=3;b=1}else b=0;while(0);l=s;return b|0}function bm(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}cm(a);return}function cm(a){a=a|0;if((c[46363]|0)!=0|(c[46025]|0)<0)Fn(a);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;o=q;k=nx(b,0,99611,0)|0;e=nx(b,0,99645,0)|0;p=(RL(xx(b,88493)|0,0)|0)<<24>>24!=0;if(!e)e=nx(b,0,99645,191979)|0;En(b)|0;n=b+16|0;i=0;while(1){j=c[(c[(c[n>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!j){f=12;break}g=j+16|0;f=c[g>>2]|0;if(!(a[f+119>>0]|0)){if(z$(ry(j)|0,104980,7)|0){f=8;break}f=c[g>>2]|0}f=c[f+108>>2]|0;if(f|0)em(j,f,99607);i=i+1|0}a:do if((f|0)==8){p=ry(j)|0;e=ry(b)|0;c[m>>2]=p;c[m+4>>2]=e;Pw(1,88505,m)|0;e=-1}else if((f|0)==12){fm(b,k,e);j=gm(b)|0;e=c[(c[n>>2]|0)+8>>2]|0;if(!(c[e+88>>2]|0))e=0;else{c[e+84>>2]=0;e=1}g=(d|0)!=0;i=(e|0)!=0;if(!(i|g&(c[46363]|0)==1^1)?(tq(b)|0)!=0:0){f=c[(c[n>>2]|0)+12>>2]|0;if(!f)f=1;else{a[f+81>>0]=0;f=1}}else f=0;mM(b);if(i){d=(c[n>>2]|0)+16|0;_E(o,b);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];c[d+16>>2]=c[o+16>>2];c[d+20>>2]=c[o+20>>2];c[d+24>>2]=c[o+24>>2];c[d+28>>2]=c[o+28>>2]}if(!g){c[46367]=1;f=Sy(b)|0;while(1){if(!f)break a;p=c[f+16>>2]|0;o=c[p+132>>2]|0;h[p+16>>3]=+h[o>>3]*72.0;h[p+24>>3]=+h[o+8>>3]*72.0;f=Ty(b,f)|0}}do if(!(p|i)){p=c[n>>2]|0;if(!(+h[p+16>>3]!=0.0)?!(+h[p+24>>3]!=0.0):0)break;cn(b)}while(0);if(!((j|0)!=0&(f|(an(b)|0)<<24>>24!=0))){if((j|0)==2){c[46367]=1;break}}else hm(b);$m(b,0)}while(0);l=q;return e|0}function em(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k+32|0;f=k+24|0;g=k+16|0;i=k;b=xx(b,e)|0;if(b|0?(c[j>>2]=f,c[j+4>>2]=g,(N1(b,102477,j)|0)==2):0){j=d+56|0;km(i,+h[f>>3],+h[g>>3]);c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];a[d+81>>0]=1}l=k;return}function fm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+32|0;f=m+24|0;g=m+16|0;i=m;j=b+16|0;if((d|0?(c[(c[j>>2]|0)+12>>2]|0)!=0:0)?(n=yx(b,d)|0,c[k>>2]=f,c[k+4>>2]=g,(N1(n,102477,k)|0)==2):0){n=(c[(c[j>>2]|0)+12>>2]|0)+56|0;km(i,+h[f>>3],+h[g>>3]);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1}a:do if(e|0){f=wA(b)|0;while(1){if(!f)break a;lm(f,b,d,e);f=xA(f)|0}}while(0);l=m;return}function gm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(by(a)|0){f=nx(a,2,99597,0)|0;if(!((f|0)==0|(c[46363]|0)<2)){b=0;e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=b+((im(f,d)|0)!=0&1)|0;d=Gx(a,d)|0;b=g}e=Ty(a,e)|0}if(b){b=(b|0)==(by(a)|0);b=b?2:1}else b=0}else b=0}else b=2;return b|0}function hm(a){a=a|0;var b=0,d=0,e=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;KM(b);e=b+16|0;nH(c[(c[e>>2]|0)+96>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);nH(c[(c[e>>2]|0)+100>>2]|0);nH(c[(c[e>>2]|0)+104>>2]|0);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;B=l;l=l+96|0;z=B+72|0;x=B+56|0;A=B+48|0;y=B+32|0;w=B+16|0;r=B+88|0;s=B+8|0;t=B;u=B+84|0;v=B+80|0;b=yx(d,b)|0;do if(a[b>>0]|0){sE(d,u,v);q=1;f=0;e=0;j=0.0;i=0.0;k=0.0;g=0.0;a:while(1){c[w>>2]=s;c[w+4>>2]=t;c[w+8>>2]=r;if((N1(b,88542,w)|0)==2){p=1;b=b+(c[r>>2]|0)|0;i=+h[s>>3];g=+h[t>>3]}else p=e;c[y>>2]=s;c[y+4>>2]=t;c[y+8>>2]=r;if((N1(b,88554,y)|0)==2){o=1;b=b+(c[r>>2]|0)|0;j=+h[s>>3];k=+h[t>>3]}else o=f;m=jm(b)|0;if(!((m|0)>3&((m|0)%3|0|0)==1)){e=8;break}n=vH(m<<4)|0;e=n;f=m;while(1){if(!f)break;c[x>>2]=s;c[x+4>>2]=t;c[x+8>>2]=r;if((N1(b,88624,x)|0)<2){e=13;break a}C=b+(c[r>>2]|0)|0;h[e>>3]=+h[s>>3];h[e+8>>3]=+h[t>>3];e=e+16|0;f=f+-1|0;b=C}while(1){e=a[b>>0]|0;f=b+1|0;if(!(B$(e<<24>>24)|0))break;else b=f}C=e<<24>>24==0;b=C?b:f;q=C?0:q;f=PK(d,m)|0;if(p|0){c[f+8>>2]=c[u>>2];h[f+16>>3]=i;h[f+24>>3]=g}if(o|0){c[f+12>>2]=c[v>>2];h[f+32>>3]=j;h[f+40>>3]=k}e=0;while(1){if((e|0)>=(m|0))break;C=(c[f>>2]|0)+(e<<4)|0;D=n+(e<<4)|0;c[C>>2]=c[D>>2];c[C+4>>2]=c[D+4>>2];c[C+8>>2]=c[D+8>>2];c[C+12>>2]=c[D+12>>2];e=e+1|0}D_(n);if(!q){e=26;break}else{f=o;e=p}}if((e|0)==8){KM(d);if(a[190691]|0){b=0;break}a[190691]=1;D=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;b=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[A>>2]=D;c[A+4>>2]=b;Pw(0,88567,A)|0;b=0;break}else if((e|0)==13){if(!(a[190691]|0)){a[190691]=1;C=ry(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;D=ry(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;c[z>>2]=C;c[z+4>>2]=D;Pw(0,88634,z)|0}D_(n);KM(d);b=0;break}else if((e|0)==26){f=d+16|0;b=c[f>>2]|0;e=c[b+96>>2]|0;if(e){em(d,e,99611);b=c[f>>2]|0}e=c[b+108>>2]|0;if(e){em(d,e,99607);b=c[f>>2]|0}e=c[b+100>>2]|0;if(e){em(d,e,99614);b=c[f>>2]|0}b=c[b+104>>2]|0;if(!b){b=1;break}em(d,b,99622);b=1;break}}else b=0;while(0);l=B;return b|0}function jm(b){b=b|0;var c=0,d=0;d=0;do{while(1){c=a[b>>0]|0;if(!(B$(c&255)|0))break;else b=b+1|0}a:do if(!(c<<24>>24))c=0;else{d=d+1|0;while(1){if(!(c<<24>>24)){c=0;break a}if(c<<24>>24==59|(B$(c&255)|0)!=0)break a;c=b+1|0;b=c;c=a[c>>0]|0}}while(0)}while((B$(c&255)|0)!=0);return d|0}function km(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;if((z$(ry(a)|0,104980,7)|0)==0?(mm(a,e,f)|0)!=0:0){Az(a,134401,280,1)|0;i=(c[a+16>>2]|0)+16|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];nm(b,a);fm(a,d,e)}else g=4;a:do if((g|0)==4){a=wA(a)|0;while(1){if(!a)break a;lm(a,b,d,e);a=xA(a)|0}}while(0);l=h;return}function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;i=l;l=l+48|0;j=i+32|0;g=i;k=yx(a,b)|0;a=g+8|0;b=g+24|0;c[j>>2]=g;c[j+4>>2]=a;c[j+8>>2]=g+16;c[j+12>>2]=b;if((N1(k,88682,j)|0)==4){e=+h[a>>3];f=+h[b>>3];if(e>f){h[a>>3]=f;h[b>>3]=e};c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2];c[d+16>>2]=c[g+16>>2];c[d+20>>2]=c[g+20>>2];c[d+24>>2]=c[g+24>>2];c[d+28>>2]=c[g+28>>2];a=1}else a=0;l=i;return a|0}function nm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function om(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n+8|0;k=n;i=n+16|0;j=n+12|0;h=xx(b,88698)|0;do if((h|0)!=0?(g=a[h>>0]|0,g<<24>>24!=0):0){g=g&255;if(!(N$(g)|0))if((e|0)==2|(g+-48|0)>>>0<10)e=h;else break;else{if(!(z$(h,88704,4)|0)){e=0;break}if(!(z$(h,102485,7)|0)){e=1;break}if(z$(h,88709,6)|0)if((e|0)==2)e=h;else break;else e=h+6|0}if(!(((d[e>>0]|0)+-48|0)>>>0<10?(c[k>>2]=j,(N1(e,96907,k)|0)>=1):0)){k=H1()|0;k=(db(0)|0)^k;c[j>>2]=k;c[m>>2]=k;Y0(i,96907,m)|0;zx(b,88698,i)|0}c[f>>2]=c[j>>2];e=2}while(0);l=n;return e|0}function pm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f+4|0;c[e>>2]=1;d=om(a,d,e)|0;if((d|0)!=2&(c[46026]|0)!=0)Pw(0,88716,f)|0;if((d|0)==1)qm(a,b);i2(c[e>>2]|0);l=f;return d|0}function qm(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0.0;g=+(d|0);i=6.283185307179586/g;e=Sy(b)|0;f=0.0;while(1){if(!e)break;l=+E(+f)*g;j=c[e+16>>2]|0;k=c[j+132>>2]|0;h[k>>3]=l;h[k+8>>3]=+F(+f)*g;a[j+119>>0]=1;if((c[46366]|0)>2)In(e,d);e=Ty(b,e)|0;f=f+i}return}function rm(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0;r=l;l=l+80|0;d=r+24|0;n=r+32|0;k=r;p=r+28|0;m=r+64|0;q=+h[22908];do if(c[46363]|0){h[22908]=72.0;sm(b);tm(b);if((dm(b,1)|0)<0){Pw(3,88764,d)|0;break}else{PI(b,0);f=32;break}}else{o=RL(xx(b,88493)|0,0)|0;h[22908]=+ML(b);sm(b);g=um(b)|0;Sp(b,k,0)|0;i=vm(b)|0;j=ZD(b,0,n)|0;d=YD(b,-1,8)|0;c[46025]=d;e=(d|0)<0;do if(!j){if((g|0)!=0&e){c[46025]=8;c[n+16>>2]=2;f=11;break}c[n+16>>2]=2;if((d|0)<=-1){wm(b,g,i);Vp(b,k)|0;tm(b);if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else f=11}else if(e){c[46025]=8;f=11}else f=11;while(0);if((f|0)==11){j=dD(b,p,88792,m)|0;d=c[p>>2]|0;do if((d|0)<=1){wm(b,g,i);Vp(b,k)|0;if(!(o<<24>>24)){hn(b);break}else{xm(b);break}}else{f=o<<24>>24==0;e=0;while(1){if((e|0)>=(d|0))break;d=c[j+(e<<2)>>2]|0;vD(d)|0;wm(d,g,i);Vp(d,k)|0;$M(d,2);if(f)hn(d);else xm(d);e=e+1|0;d=c[p>>2]|0}if(!(a[m>>0]|0))e=0;else{e=uH(d)|0;a[e>>0]=1;d=c[p>>2]|0}c[n+8>>2]=c[46025];c[n+20>>2]=e;c[n+12>>2]=1;VD(d,j,b,n)|0;D_(e)}while(0);mM(b);tm(b);d=0;while(1){if((d|0)>=(c[p>>2]|0))break;n=c[j+(d<<2)>>2]|0;Fn(n);Cz(n,134401)|0;dz(b,n)|0;d=d+1|0}D_(j)}PI(b,o<<24>>24==0&1);f=32}while(0);if((f|0)==32)h[22908]=q;l=r;return}function sm(a){a=a|0;var d=0,e=0,f=0,g=0;$M(a,2);f=KL(a,nx(a,0,89557,0)|0,2,2)|0;d=(KL(a,nx(a,0,90633,0)|0,f,2)|0)&65535;b[(c[(fz(a)|0)+16>>2]|0)+176>>1]=d;d=c[(c[a+60>>2]|0)+16>>2]|0;g=d+176|0;e=b[g>>1]|0;e=(e&65535)<10?e:10;b[g>>1]=e;e=e&65535;c[46366]=e;b[d+178>>1]=(f|0)<(e|0)?f:e;Hm(a);return}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;a:do if((c[46366]|0)>2&(c[46401]|0)!=0){b=Sy(a)|0;while(1){if(!b)break a;h[e>>3]=+h[(c[(c[b+16>>2]|0)+132>>2]|0)+16>>3]*72.0;Y0(d,98183,e)|0;rx(b,c[46401]|0,d)|0;b=Ty(a,b)|0}}while(0);l=f;return}function um(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=xx(b,89477)|0;a:do if(!d)b=1;else{switch(a[d>>0]|0){case 0:{b=1;break a}case 75:{if(!(b$(d,89482)|0)){b=0;break a}break}case 109:{if(!(b$(d,89485)|0)){b=1;break a}break}case 104:{if(!(b$(d,89491)|0)){b=2;break a}break}default:{}}b=ry(b)|0;c[e>>2]=d;c[e+4>>2]=b;Pw(0,89496,e)|0;b=1}while(0);l=f;return b|0}function vm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;e=h;d=xx(b,89260)|0;a:do if(!d)b=0;else{switch(a[d>>0]|0){case 0:{b=0;break a}case 99:{if(!(b$(d,89266)|0)){b=1;break a}break}case 115:{if(!(b$(d,89274)|0)){b=2;break a}if(!(b$(d,89281)|0)){b=0;break a}break}case 109:{if(!(b$(d,89291)|0)){if(nx(b,2,90566,0)|0){b=3;break a}c[e>>2]=ry(b)|0;Pw(0,89295,e)|0;Pw(3,89358,f)|0;b=0;break a}break}default:{}}b=ry(b)|0;c[g>>2]=d;c[g+4>>2]=b;Pw(0,89415,g)|0;b=0}while(0);l=h;return b|0}function wm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=xx(a,90975)|0;if(!e)if((b|0)==1)e=200;else e=(ay(a)|0)*100|0;else e=a2(e)|0;c[46365]=e;e=yn(a,b)|0;do if(!((e|0)<2|(c[46365]|0)<0))if(!b){zm(a,e,d);break}else{ym(a,e,b,d,c[46366]|0);break}while(0);return}function xm(a){a=a|0;mM(a);$m(a,1);return}function ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+40|0;o=u+24|0;n=u;p=u+48|0;t=u+44|0;q=(d|0)==2;i=pm(a,b,q?0:2)|0;j=Gm(a)|0;k=j|4;s=vH(f<<2)|0;c[s>>2]=vH(O(b<<3,f)|0)|0;g=c[46366]|0;f=1;while(1){if((f|0)>=(g|0))break;c[s+(f<<2)>>2]=(c[s>>2]|0)+((O(f,b)|0)<<3);f=f+1|0}g=(i|0)==0;f=g?k:j;if(0){k=c[15686]|0;j=c[46365]|0;m=+h[22909];c[n>>2]=e;c[n+4>>2]=g&1;c[n+8>>2]=f&3;c[n+12>>2]=j;h[n+16>>3]=m;g1(k,89073,n)|0;E1(89130,15,1,k)|0;EL();E1(89146,13,1,k)|0}n=Cm(a,b,p,d,e,t)|0;if(0){k=c[15686]|0;m=+FL();c[o>>2]=b;h[o+8>>3]=m;g1(k,89160,o)|0}if((d|0)!=1){m=+LL(a,nx(a,0,89179,0)|0,0.0,-1797693134862315708145274.0e284);if(q){f=Gq(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0,m)|0;g=12}else g=14}else{f=qn(n,b,c[p>>2]|0,s,c[t>>2]|0,c[46366]|0,f,e,c[46365]|0)|0;g=12}if((g|0)==12)if((f|0)<0)Pw(3,89189,r)|0;else g=14;a:do if((g|0)==14){g=Sy(a)|0;while(1){if(!g)break a;k=c[g+16>>2]|0;i=c[k+120>>2]|0;j=c[46366]|0;k=k+132|0;f=0;while(1){if((f|0)>=(j|0))break;h[(c[k>>2]|0)+(f<<3)>>3]=+h[(c[s+(f<<2)>>2]|0)+(i<<3)>>3];f=f+1|0}g=Ty(a,g)|0}}while(0);br(n);D_(c[s>>2]|0);D_(s);D_(c[t>>2]|0);l=u;return}function zm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;g=l;l=l+48|0;f=g+32|0;e=g;switch(d|0){case 2:{Am(a,b);break}case 1:{if(!(Cq(a,b)|0)){c[e>>2]=ry(a)|0;Pw(0,88802,e)|0;Pw(3,91952,g+8|0)|0;Pw(3,88854,g+16|0)|0;Pw(3,88926,g+24|0)|0;Wn(a,b)}break}default:{Wn(a,b);if((d|0)==3)Bm(a)}}Kn(a,b);Ln(a,b);if(0){e=c[15686]|0;j=c[46365]|0;i=+h[22909];c[f>>2]=d;c[f+4>>2]=j;h[f+8>>3]=i;g1(e,88964,f)|0;EL()}Mn(a,b);l=g;return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+16|0;g=Cm(a,b,j,0,2,0)|0;i=ds(g,b)|0;e=a+16|0;a=0;while(1){if((a|0)>=(b|0))break;f=i+(a<<2)|0;d=0;while(1){if((d|0)==(b|0))break;h[(c[(c[(c[e>>2]|0)+160>>2]|0)+(a<<2)>>2]|0)+(d<<3)>>3]=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a=a+1|0}D_(c[i>>2]|0);D_(i);br(g);l=j;return}function Bm(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0;f=a+16|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;g=c[b>>2]&3;e=(c[c[((g|0)==3?b:b+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?b:b+-48|0)+40>>2]>>2]|0)>>>4;if((e|0)!=(g|0)){j=+h[(c[b+16>>2]|0)+136>>3];i=c[(c[f>>2]|0)+160>>2]|0;h[(c[i+(g<<2)>>2]|0)+(e<<3)>>3]=j;h[(c[i+(e<<2)>>2]|0)+(g<<3)>>3]=j}b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Cm(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0;j=by(a)|0;G=GI()|0;if((f|0)==2){k=0;D=0}else{D=nx(a,2,90566,0)|0;k=(c[46404]|0)!=0&1;D=(D|0)!=0}A=(e|1|0)==3;E=vH(b*20|0)|0;F=vH(b<<2)|0;l=(j<<1)+b<<2;m=vH(l)|0;z=A|D;if(z)f=vH(l)|0;else f=0;C=(k|0)!=0;if(C)j=vH(l)|0;else j=0;if(A)k=vH(l)|0;else k=0;l=0;x=Sy(a)|0;y=0;while(1){if(!x)break;JI(G);if((c[(c[x+16>>2]|0)+120>>2]|0)!=(y|0)){B=12;break}c[F+(y<<2)>>2]=x;u=E+(y*20|0)+4|0;c[u>>2]=m;v=E+(y*20|0)+8|0;c[v>>2]=z?f:0;w=E+(y*20|0)+12|0;c[w>>2]=C?j:0;c[E+(y*20|0)+16>>2]=A?k:0;r=1;t=Jx(a,x)|0;s=1;q=l;m=m+4|0;f=z?f+4|0:f;j=C?j+4|0:j;k=A?k+4|0:k;while(1){if(!t)break;n=c[t>>2]&3;p=t+-48|0;l=t+48|0;do if((c[((n|0)==2?t:p)+40>>2]|0)==(c[((n|0)==3?t:l)+40>>2]|0)){n=r;p=s;l=q}else{n=Dm(G,t,r)|0;if((n|0)!=(r|0)){if(C){p=(c[w>>2]|0)+(n<<2)|0;g[p>>2]=+h[(c[t+16>>2]|0)+128>>3]+ +g[p>>2]}if(!D){n=r;p=s;l=q;break}n=(c[v>>2]|0)+(n<<2)|0;H=+h[(c[t+16>>2]|0)+136>>3];o=+(~~+g[n>>2]|0);g[n>>2]=H>o?H:o;n=r;p=s;l=q;break}I=c[t>>2]&3;l=(I|0)==3?t:l;q=q+1|0;n=r+1|0;r=m+4|0;c[m>>2]=c[(c[(c[((c[l+40>>2]|0)==(x|0)?((I|0)==2?t:p):l)+40>>2]|0)+16>>2]|0)+120>>2];if(C){g[j>>2]=+h[(c[t+16>>2]|0)+128>>3];j=j+4|0}if(D){l=f+4|0;g[f>>2]=+h[(c[t+16>>2]|0)+136>>3];if(A){f=l;B=27}else f=l}else if(A){g[f>>2]=1.0;f=f+4|0;B=27}if((B|0)==27){B=0;l=xx(t,98533)|0;if((l|0)!=0?(z$(l,132627,4)|0)==0:0)o=0.0;else o=(x|0)==(c[((c[t>>2]&3|0)==2?t:p)+40>>2]|0)?1.0:-1.0;g[k>>2]=o;k=k+4|0}p=s+1|0;l=q;m=r}while(0);r=n;t=Kx(a,t,x)|0;s=p;q=l}c[E+(y*20|0)>>2]=s;c[c[u>>2]>>2]=y;l=q;x=Ty(a,x)|0;y=y+1|0}if((B|0)==12)qa(89003,89018,819,89030);if(A)Em(E,b,e,F);n=(l|0)/2|0;a:do if((n|0)!=(by(a)|0)){l=(n<<1)+b<<2;k=xH(c[E+4>>2]|0,l)|0;if(D)f=xH(c[E+8>>2]|0,l)|0;if(C){m=0;j=xH(c[E+12>>2]|0,l)|0}else m=0;while(1){if((m|0)>=(b|0))break a;l=c[E+(m*20|0)>>2]|0;c[E+(m*20|0)+4>>2]=k;if(D){c[E+(m*20|0)+8>>2]=f;f=f+(l<<2)|0}if(C){c[E+(m*20|0)+12>>2]=j;j=j+(l<<2)|0}m=m+1|0;k=k+(l<<2)|0}}while(0);c[d>>2]=n;if(!i)D_(F);else c[i>>2]=F;KI(G);return E|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=c[b>>2]&3;e=c[(c[(c[((f|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;b=c[(c[(c[((f|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+120>>2]|0;f=(e|0)>(b|0);return LI(a,f?b:e,f?e:b,d)|0}function Em(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=0;while(1){if((g|0)>=(d|0)){g=0;break}h=c[(c[f+(g<<2)>>2]|0)+16>>2]|0;a[h+157>>0]=0;a[h+158>>0]=0;g=g+1|0}while(1){if((g|0)>=(d|0))break;if(!(a[(c[(c[f+(g<<2)>>2]|0)+16>>2]|0)+157>>0]|0))Fm(b,g,e,f);g=g+1|0}return}function Fm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0;q=(c[f+(d<<2)>>2]|0)+16|0;l=c[q>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=b+(d*20|0)|0;m=b+(d*20|0)+16|0;n=b+(d*20|0)+4|0;o=(e|0)==3?-1.0:1.0;k=1;a:while(1){if((k|0)>=(c[l>>2]|0)){h=14;break}h=(c[m>>2]|0)+(k<<2)|0;do if(!(+g[h>>2]==1.0)){p=c[(c[n>>2]|0)+(k<<2)>>2]|0;i=c[(c[f+(p<<2)>>2]|0)+16>>2]|0;if(!(a[i+158>>0]|0)){if(a[i+157>>0]|0)break;Fm(b,p,e,f);break}g[h>>2]=o;i=b+(p*20|0)+4|0;j=c[b+(p*20|0)>>2]|0;h=1;while(1){if((h|0)>=(j|0)){h=9;break a}if((c[(c[i>>2]|0)+(h<<2)>>2]|0)==(d|0))break;h=h+1|0}g[(c[b+(p*20|0)+16>>2]|0)+(h<<2)>>2]=-1.0}while(0);k=k+1|0}if((h|0)==9)qa(89044,89018,721,89064);else if((h|0)==14){a[(c[q>>2]|0)+158>>0]=0;return}}function Gm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;a=KL(a,nx(a,0,89205,0)|0,2,0)|0;if((a|0)==0|(a|0)>2){c[b>>2]=89205;Pw(0,89214,b)|0;a=2}l=d;return a|0}function Hm(a){a=a|0;var b=0,d=0,e=0;d=ay(a)|0;c[46026]=nx(a,1,99597,0)|0;e=nx(a,1,90570,0)|0;b=Sy(a)|0;while(1){if(!b)break;$l(b);am(c[46026]|0,e,b,d)|0;b=Ty(a,b)|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Im(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Im(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,1.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=uH(64)|0;e=a+8|0;f=d+8|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));d=c[d+56>>2]|0;c[a+56>>2]=d;b[(c[d+16>>2]|0)+168>>1]=1;return a|0}function Km(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function Lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0<=e>>>0)if(a>>>0>=e>>>0){e=c[b+24>>2]|0;a=c[d+24>>2]|0;if(e>>>0<=a>>>0)if(e>>>0>=a>>>0){a=~~(+h[b+8>>3]-+h[d+8>>3]);if(!a){a=~~(+h[b+16>>3]-+h[d+16>>3]);if(!a){a=~~(+h[b+32>>3]-+h[d+32>>3]);if(!a)a=~~(+h[b+40>>3]-+h[d+40>>3])}}}else a=-1;else a=1}else a=-1;else a=1;return a|0}function Mm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0.0;k=l;l=l+16|0;g=k;h=e+16|0;i=b[(c[h>>2]|0)+168>>1]|0;j=i<<16>>16;if(i<<16>>16!=1&(a[191874]|0)==0){i=vH(j<<2)|0;g=0;while(1){if((g|0)>=(j|0))break;c[i+(g<<2)>>2]=e;e=c[(c[e+16>>2]|0)+172>>2]|0;g=g+1|0}m=+(f|0);YK(d,i,0,j,m,m,17764);e=0;while(1){if((e|0)>=(j|0))break;g=c[i+(e<<2)>>2]|0;h=g+16|0;if(c[(c[h>>2]|0)+96>>2]|0){f=ez(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)|0;kM(f,c[(c[h>>2]|0)+96>>2]|0)}dL(g);e=e+1|0}D_(i)}else{c[g>>2]=e;m=+(f|0);YK(d,g,0,1,m,m,17764);if(c[(c[h>>2]|0)+96>>2]|0){j=ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0;kM(j,c[(c[h>>2]|0)+96>>2]|0)}dL(e)}l=k;return}function Nm(a){a=a|0;return 0}function Om(a){a=a|0;return 0}function Pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+384|0;O=Q+368|0;P=Q+112|0;j=Q+32|0;r=Q+336|0;K=Q+320|0;L=Q+304|0;M=Q+288|0;N=Q+272|0;i=Q+256|0;H=Q+240|0;I=Q+224|0;J=Q+208|0;t=Q+192|0;u=Q+176|0;v=Q+160|0;z=Q+144|0;A=Q+128|0;B=Q+96|0;D=Q+16|0;G=Q;a:do switch(HJ(b)|0){case 3:case 1:{f=uH(8)|0;z=b+16|0;b=c[z>>2]|0;i=c[b+12>>2]|0;do if(!(e<<24>>24)){b=c[i+8>>2]|0;if((b|0)>2){y=0.0;j=c[i+44>>2]|0;e=0;p=+g[d>>2];q=+g[d+4>>2];break}else{y=+k2()*.01;b=8;j=0;e=1;p=0.0;q=0.0;break}}else if(!(c[i+40>>2]&2048)){q=+h[b+88>>3];p=-q;y=+h[b+80>>3];x=y*-.5;h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;y=y*.5;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}else{jM(r,i);p=+h[r>>3];x=+h[r+8>>3];q=+h[r+16>>3];y=+h[r+24>>3];h[j>>3]=p;h[j+8>>3]=x;h[j+16>>3]=q;h[j+24>>3]=x;h[j+32>>3]=q;h[j+40>>3]=y;h[j+48>>3]=p;h[j+56>>3]=y;y=0.0;b=4;e=0;p=0.0;q=0.0;break}while(0);c[f+4>>2]=b;r=uH(b<<4)|0;c[f>>2]=r;s=1.0/+(b|0);t=d+8|0;u=d+4|0;v=(b|0)==4;w=-p;x=-q;i=0;while(1){if((b|0)<=(i|0))break a;do if(e){k=+(i|0)*6.283185307179586*s+y;m=+E(+k);k=+F(+k);if(!(a[t>>0]|0)){P=c[z>>2]|0;n=k*+g[u>>2]*+h[P+80>>3];k=m*+g[d>>2]*(+h[P+96>>3]+ +h[P+88>>3])}else{P=c[z>>2]|0;n=(+h[P+80>>3]+ +g[u>>2])*k;k=(+h[P+96>>3]+ +h[P+88>>3]+ +g[d>>2])*m}o=k*.5;k=n*.5}else{if(!(a[t>>0]|0)){o=+h[j+(i<<4)>>3]*p;k=+h[j+(i<<4)+8>>3]*q;break}if(!v){o=+h[j+(i<<4)>>3];k=+h[j+(i<<4)+8>>3];n=+C(+(k*k+o*o));o=(p/n+1.0)*o;k=(q/n+1.0)*k;break}switch(i|0){case 0:{m=q;k=p;break}case 1:{m=q;k=w;break}case 2:{m=x;k=w;break}case 3:{m=x;k=p;break}default:{m=0.0;k=0.0}}o=+h[j+(i<<4)>>3]+k;k=+h[j+(i<<4)+8>>3]+m}while(0);O=c[z>>2]|0;P=b-i+-1|0;h[r+(P<<4)>>3]=+h[O+16>>3]+o;h[r+(P<<4)+8>>3]=+h[O+24>>3]+k;i=i+1|0}}case 2:{G=b+16|0;f=c[(c[G>>2]|0)+12>>2]|0;k=+h[f+16>>3];o=+h[f+24>>3];m=+h[f+32>>3];n=+h[f+40>>3];f=uH(8)|0;c[f+4>>2]=4;b=uH(64)|0;c[f>>2]=b;G=(c[G>>2]|0)+16|0;c[P>>2]=c[G>>2];c[P+4>>2]=c[G+4>>2];c[P+8>>2]=c[G+8>>2];c[P+12>>2]=c[G+12>>2];if(!(a[d+8>>0]|0)){c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(i,k,o,O,d);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];N=(c[f>>2]|0)+16|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(H,k,n,O,d);c[N>>2]=c[H>>2];c[N+4>>2]=c[H+4>>2];c[N+8>>2]=c[H+8>>2];c[N+12>>2]=c[H+12>>2];N=(c[f>>2]|0)+32|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(I,m,n,O,d);c[N>>2]=c[I>>2];c[N+4>>2]=c[I+4>>2];c[N+8>>2]=c[I+8>>2];c[N+12>>2]=c[I+12>>2];N=(c[f>>2]|0)+48|0;c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(J,m,o,O,d);c[N>>2]=c[J>>2];c[N+4>>2]=c[J+4>>2];c[N+8>>2]=c[J+8>>2];c[N+12>>2]=c[J+12>>2];break a}else{y=k-+g[d>>2];J=d+4|0;x=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(K,y,x,O);c[b>>2]=c[K>>2];c[b+4>>2]=c[K+4>>2];c[b+8>>2]=c[K+8>>2];c[b+12>>2]=c[K+12>>2];K=(c[f>>2]|0)+16|0;x=k-+g[d>>2];y=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(L,x,y,O);c[K>>2]=c[L>>2];c[K+4>>2]=c[L+4>>2];c[K+8>>2]=c[L+8>>2];c[K+12>>2]=c[L+12>>2];L=(c[f>>2]|0)+32|0;y=m+ +g[d>>2];x=n+ +g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(M,y,x,O);c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];M=(c[f>>2]|0)+48|0;x=m+ +g[d>>2];y=o-+g[J>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(N,x,y,O);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];break a}}case 4:{b=b+16|0;f=uH(8)|0;c[f+4>>2]=4;i=uH(64)|0;c[f>>2]=i;j=c[b>>2]|0;N=j+16|0;c[P>>2]=c[N>>2];c[P+4>>2]=c[N+4>>2];c[P+8>>2]=c[N+8>>2];c[P+12>>2]=c[N+12>>2];k=-+h[j+88>>3];if(!(a[d+8>>0]|0)){x=-+h[j+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(A,k,x,O,d);c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];N=(c[f>>2]|0)+16|0;M=c[b>>2]|0;x=-+h[M+88>>3];y=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(B,x,y,O,d);c[N>>2]=c[B>>2];c[N+4>>2]=c[B+4>>2];c[N+8>>2]=c[B+8>>2];c[N+12>>2]=c[B+12>>2];N=(c[f>>2]|0)+32|0;M=c[b>>2]|0;y=+h[M+96>>3];x=+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(D,y,x,O,d);c[N>>2]=c[D>>2];c[N+4>>2]=c[D+4>>2];c[N+8>>2]=c[D+8>>2];c[N+12>>2]=c[D+12>>2];N=(c[f>>2]|0)+48|0;M=c[b>>2]|0;x=+h[M+96>>3];y=-+h[M+80>>3];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Rm(G,x,y,O,d);c[N>>2]=c[G>>2];c[N+4>>2]=c[G+4>>2];c[N+8>>2]=c[G+8>>2];c[N+12>>2]=c[G+12>>2];break a}else{y=k-+g[d>>2];M=d+4|0;x=-+h[j+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(t,y,x,O);c[i>>2]=c[t>>2];c[i+4>>2]=c[t+4>>2];c[i+8>>2]=c[t+8>>2];c[i+12>>2]=c[t+12>>2];N=(c[f>>2]|0)+16|0;L=c[b>>2]|0;x=-+h[L+88>>3]-+g[d>>2];y=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(u,x,y,O);c[N>>2]=c[u>>2];c[N+4>>2]=c[u+4>>2];c[N+8>>2]=c[u+8>>2];c[N+12>>2]=c[u+12>>2];N=(c[f>>2]|0)+32|0;L=c[b>>2]|0;y=+h[L+96>>3]+ +g[d>>2];x=+h[L+80>>3]+ +g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(v,y,x,O);c[N>>2]=c[v>>2];c[N+4>>2]=c[v+4>>2];c[N+8>>2]=c[v+8>>2];c[N+12>>2]=c[v+12>>2];N=(c[f>>2]|0)+48|0;L=c[b>>2]|0;x=+h[L+96>>3]+ +g[d>>2];y=-+h[L+80>>3]-+g[M>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];Qm(z,x,y,O);c[N>>2]=c[z>>2];c[N+4>>2]=c[z+4>>2];c[N+8>>2]=c[z+8>>2];c[N+12>>2]=c[z+12>>2];break a}}default:f=0}while(0);l=Q;return f|0}function Qm(a,b,c,d){a=a|0;b=+b;c=+c;d=d|0;c=+h[d+8>>3]+c;h[a>>3]=+h[d>>3]+b;h[a+8>>3]=c;return}function Rm(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;c=+g[e+4>>2]*c+ +h[d+8>>3];h[a>>3]=+g[e>>2]*b+ +h[d>>3];h[a+8>>3]=c;return}function Sm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+112|0;j=o+88|0;i=o+72|0;k=o+32|0;m=o+16|0;n=o;f=o+56|0;g=o+40|0;h=b+48|0;r=(c[(c[((c[b>>2]&3|0)==3?b:h)+40>>2]|0)+16>>2]|0)+16|0;p=b+16|0;q=(c[p>>2]|0)+16|0;c[i>>2]=c[r>>2];c[i+4>>2]=c[r+4>>2];c[i+8>>2]=c[r+8>>2];c[i+12>>2]=c[r+12>>2];c[j>>2]=c[q>>2];c[j+4>>2]=c[q+4>>2];c[j+8>>2]=c[q+8>>2];c[j+12>>2]=c[q+12>>2];Tm(f,i,j);c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];f=b+-48|0;q=(c[(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16>>2]|0)+16|0;p=(c[p>>2]|0)+56|0;c[i>>2]=c[q>>2];c[i+4>>2]=c[q+4>>2];c[i+8>>2]=c[q+8>>2];c[i+12>>2]=c[q+12>>2];c[j>>2]=c[p>>2];c[j+4>>2]=c[p+4>>2];c[j+8>>2]=c[p+8>>2];c[j+12>>2]=c[p+12>>2];Tm(g,i,j);c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];if(!e){g=-1111;f=-1111}else{r=c[b>>2]&3;g=c[(c[(c[((r|0)==2?b:f)+40>>2]|0)+16>>2]|0)+288>>2]|0;f=c[(c[(c[((r|0)==3?b:h)+40>>2]|0)+16>>2]|0)+288>>2]|0};c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];vU(d,i,f,j,g,k)|0;p=k;q=c[p+4>>2]|0;r=a;c[r>>2]=c[p>>2];c[r+4>>2]=q;l=o;return}function Tm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Um(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+144|0;p=u+104|0;q=u+88|0;o=u+80|0;n=u+72|0;j=u+64|0;s=u+128|0;k=u+32|0;m=u+124|0;t=u+16|0;r=u;i=u+120|0;h=(c[b+16>>2]|0)+144|0;g=c[h>>2]|0;h=c[h+4>>2]|0;v=j;c[v>>2]=g;c[v+4>>2]=h;v=g;c[t>>2]=c[v>>2];c[t+4>>2]=c[v+4>>2];c[t+8>>2]=c[v+8>>2];c[t+12>>2]=c[v+12>>2];h=g+(h+-1<<4)|0;c[r>>2]=c[h>>2];c[r+4>>2]=c[h+4>>2];c[r+8>>2]=c[h+8>>2];c[r+12>>2]=c[h+12>>2];a:do if(!(f<<24>>24)){g=-1111;f=-1111}else{g=-1111;f=-1111;h=0;while(1){if((h|0)>=(e|0))break a;if((f|0)==-1111){f=c[d+(h<<2)>>2]|0;c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];f=(wU(q,p)|0)==0;f=f?-1111:h}if((g|0)==-1111){g=c[d+(h<<2)>>2]|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];g=(wU(q,p)|0)==0;g=g?-1111:h}h=h+1|0}}while(0);Vm(d,e,f,g,i,m);c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;h=c[i>>2]|0;v=c[m>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];if((xU(h,v,p,k,s)|0)<0){t=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;v=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[n>>2]=t;c[n+4>>2]=v;Pw(1,89563,n)|0}else{if(0>1){g=c[15686]|0;n=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;f=b+-48|0;v=ry(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)|0;c[o>>2]=n;c[o+4>>2]=v;g1(g,89611,o)|0;g=b}else{f=b+-48|0;g=b}QK(b,c[((c[g>>2]&3|0)==2?b:f)+40>>2]|0,c[s>>2]|0,c[s+4>>2]|0,17764);D_(h);c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];jL(a,b,q,p)}l=u;return}function Vm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=0;h=0;while(1){if((i|0)>=(b|0))break;if(!((i|0)==(d|0)|(i|0)==(e|0)))h=(c[(c[a+(i<<2)>>2]|0)+4>>2]|0)+h|0;i=i+1|0}o=vH(h<<5)|0;i=0;n=0;while(1){if((n|0)>=(b|0))break;a:do if(!((n|0)==(d|0)|(n|0)==(e|0))){m=a+(n<<2)|0;l=0;while(1){j=c[m>>2]|0;k=c[j+4>>2]|0;if((l|0)>=(k|0))break a;p=l+1|0;q=o+(i<<5)|0;j=(c[j>>2]|0)+(l<<4)|0;c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];j=o+(i<<5)+16|0;k=(c[c[m>>2]>>2]|0)+(((p|0)<(k|0)?p:0)<<4)|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];l=p;i=i+1|0}}while(0);n=n+1|0}if((i|0)==(h|0)){c[f>>2]=o;c[g>>2]=h;return}else qa(89625,89632,77,89647)}function Wm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;k=n+12|0;f=n;uq(f,a);c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;KK(g);g=Gx(a,g)|0}f=Ty(a,f)|0}h=Cw(17728,c[4555]|0)|0;f=Sy(a)|0;while(1){if(!f)break;g=Ex(a,f)|0;while(1){if(!g)break;if((c[46363]|0)>1?(i=c[g+16>>2]|0,(c[i+8>>2]|0)!=0):0){o=i+168|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}else m=14;if((m|0)==14?(m=0,j=Xm(h,g)|0,(j|0)!=(g|0)):0){o=c[j+16>>2]|0;p=o+168|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16;o=o+172|0;c[(c[g+16>>2]|0)+172>>2]=c[o>>2];c[o>>2]=g}g=Gx(a,g)|0}f=Ty(a,f)|0}yw(h)|0;if(!(nb[d&63](a,k,e)|0)){c[46367]=1;f=0}else f=1;l=n;return f|0}function Xm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0,q=0;q=l;l=l+64|0;p=q;e=c[b>>2]&3;i=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;do if(i>>>0>=e>>>0){d=b+16|0;if(i>>>0>e>>>0){d=c[d>>2]|0;o=e;e=i;k=+h[d+16>>3];m=+h[d+24>>3];g=+h[d+56>>3];f=+h[d+64>>3];break}o=c[d>>2]|0;j=+h[o+56>>3];n=+h[o+64>>3];g=+h[o+16>>3];f=+h[o+24>>3];if(!(g<j))if(!(g>j)){d=f>n;if(f<n){o=i;e=i;k=j;m=n}else{o=i;e=i;k=g;m=f;g=d?j:g;f=d?n:f}}else{o=i;e=i;k=g;m=f;g=j;f=n}else{o=i;e=i;k=j;m=n}}else{d=c[b+16>>2]|0;o=i;k=+h[d+56>>3];m=+h[d+64>>3];g=+h[d+16>>3];f=+h[d+24>>3]}while(0);c[p+8>>2]=o;h[p+16>>3]=g;h[p+24>>3]=f;c[p+32>>2]=e;h[p+40>>3]=k;h[p+48>>3]=m;c[p+56>>2]=b;p=c[(nb[c[a>>2]&63](a,p,1)|0)+56>>2]|0;l=q;return p|0}function Ym(a,b){a=a|0;b=b|0;return Wm(a,21,b)|0}function Zm(d,e,f){d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0;F=l;l=l+112|0;B=F+88|0;A=F+72|0;t=F+40|0;q=F+8|0;p=F;u=F+64|0;C=F+48|0;D=F+24|0;i=(c[46363]|0)>1&1;do if((f|0)>5){s=uH((ay(d)|0)<<2)|0;o=(f|0)==8;n=o&1;m=Sy(d)|0;r=0;while(1){if(!m)break;j=Pm(m,e,n)|0;k=(c[m+16>>2]|0)+288|0;if(!j){c[k>>2]=-1111;j=r}else{c[k>>2]=r;c[s+(r<<2)>>2]=j;j=r+1|0}m=Ty(d,m)|0;r=j}if(s){j=ms(s,r)|0;if(j|0){if(o){y=0;z=s;x=s;w=1;break}y=sU(s,r)|0;z=s;x=s;w=1;break}if(o){Pw(0,89661,p)|0;j=0;y=0;z=s;x=s;w=1;break}else{G=+g[e+4>>2];h[q>>3]=+g[e>>2];h[q+8>>3]=G;Pw(0,89739,q)|0;j=0;y=0;z=s;x=s;w=1;break}}else{j=0;y=0;z=0;x=0;w=0}}else{j=0;y=0;z=0;r=0;x=0;w=0}while(0);if(0){k=c[15686]|0;if((f|0)==8&(j|0)!=0)m=89845;else m=(y|0)==0?89831:(f|0)==10?107030:89821;c[t>>2]=m;g1(k,89862,t)|0}v=(y|0)!=0;a:do if(!v){if((f|0)==8&(j|0)!=0){cN(d,0);i=1}}else{k=Sy(d)|0;while(1){if(!k)break a;j=Ex(d,k)|0;while(1){if(!j)break;t=(c[j+16>>2]|0)+144|0;Sm(u,j,y,1,0,0);q=u;s=c[q+4>>2]|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;j=Gx(d,j)|0}k=Ty(d,k)|0}}while(0);p=(i|0)==0;q=d+60|0;s=(f|0)==10;i=0;o=Sy(d)|0;j=0;while(1){if(!o)break;t=o+16|0;e=Ex(d,o)|0;while(1){if(!e)break;n=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;k=e+16|0;m=c[k>>2]|0;if(!p?(c[m+8>>2]|0)!=0:0){H=(c[t>>2]|0)+16|0;u=m+16|0;c[A>>2]=c[H>>2];c[A+4>>2]=c[H+4>>2];c[A+8>>2]=c[H+8>>2];c[A+12>>2]=c[H+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Tm(C,A,B);n=(c[n+16>>2]|0)+16|0;u=(c[k>>2]|0)+56|0;c[A>>2]=c[n>>2];c[A+4>>2]=c[n+4>>2];c[A+8>>2]=c[n+8>>2];c[A+12>>2]=c[n+12>>2];c[B>>2]=c[u>>2];c[B+4>>2]=c[u+4>>2];c[B+8>>2]=c[u+8>>2];c[B+12>>2]=c[u+12>>2];Tm(D,A,B);c[A>>2]=c[C>>2];c[A+4>>2]=c[C+4>>2];c[A+8>>2]=c[C+8>>2];c[A+12>>2]=c[C+12>>2];c[B>>2]=c[D>>2];c[B+4>>2]=c[D+4>>2];c[B+8>>2]=c[D+8>>2];c[B+12>>2]=c[D+12>>2];jL(d,e,A,B)}else E=35;b:do if((E|0)==35){E=0;H=b[m+168>>1]|0;k=H<<16>>16;if(H<<16>>16){if((o|0)==(n|0)){if(!i){j=uH(96)|0;c[j+84>>2]=uH(((ay(d)|0)<<5)+11520|0)|0;i=j}Mm(i,e,c[(c[(c[q>>2]|0)+16>>2]|0)+248>>2]|0);break}if(!v){zJ(d,e,f,17764);break}k=a[191874]|0?1:k;m=e;n=0;while(1){if((n|0)>=(k|0))break b;if(s)Um(d,m,z,r,1);else _m(d,m);m=c[(c[m+16>>2]|0)+172>>2]|0;n=n+1|0}}}while(0);e=Gx(d,e)|0}o=Ty(d,o)|0}if(v)uU(y);if(i|0){D_(c[i+84>>2]|0);D_(j)}if(w){i=0;while(1){if((i|0)>=(r|0))break;D_(c[z+(i<<2)>>2]|0);i=i+1|0}D_(x)}l=F;return 0}function _m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+96|0;g=k+64|0;f=k+48|0;d=k+40|0;h=k+80|0;e=k+32|0;i=k+16|0;j=k;m=(c[b+16>>2]|0)+144|0;n=c[m>>2]|0;m=c[m+4>>2]|0;o=e;c[o>>2]=n;c[o+4>>2]=m;o=n;c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];m=n+(m+-1<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];oV(g,h);if(0>1){o=c[15686]|0;m=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;e=b+-48|0;n=ry(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)|0;c[d>>2]=m;c[d+4>>2]=n;g1(o,89887,d)|0;d=e;e=b}else{d=b+-48|0;e=b}QK(b,c[((c[e>>2]&3|0)==2?b:d)+40>>2]|0,c[h>>2]|0,c[h+4>>2]|0,17764);c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];jL(a,b,f,g);l=k;return}function $m(a,d){a=a|0;d=d|0;var e=0;e=b[(c[a+16>>2]|0)+136>>1]&14;if(d<<24>>24)an(a)|0;if(e<<16>>16)Ym(a,e&65535)|0;return}function an(a){a=a|0;var b=0,d=0,e=0,f=0;d=bn(a)|0;b=Sy(a)|0;while(1){if(!b)break;e=c[b+16>>2]|0;f=c[e+132>>2]|0;h[e+16>>3]=+h[f>>3]*72.0;h[e+24>>3]=+h[f+8>>3]*72.0;b=Ty(a,b)|0}return d|0}function bn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0;a:do if((c[a+60>>2]|0)==(a|0)?(d=a+16|0,e=c[d>>2]|0,(c[(c[e+8>>2]|0)+84>>2]|0)!=0):0){if(!(+h[e+16>>3]!=0.0)?!(+h[e+24>>3]!=0.0):0)b=0;else{cn(a);b=1;e=c[d>>2]|0}j=(c[e+116>>2]&1|0)==0;if(!j){k=e+32|0;i=+h[k>>3];d=e+40|0;h[k>>3]=+h[d>>3];h[d>>3]=i}d=c[e+8>>2]|0;b:do switch(c[d+84>>2]|0){case 2:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(g<1.0|f<1.0)if(g<f){i=1.0;f=f/g;break b}else{i=g/f;f=1.0;break b}else i=g;break}case 5:{f=+h[d+64>>3];if(f<=0.0)break a;g=f/+h[e+32>>3];f=+h[d+72>>3]/+h[e+40>>3];if(!(g>1.0&f>1.0))break a;f=g<f?g:f;i=f;break}case 1:{g=+h[d+16>>3];f=+h[e+40>>3]/+h[e+32>>3];if(f<g){i=1.0;f=g/f;break b}else{i=f/g;f=1.0;break b}}default:break a}while(0);g=j?f:i;f=j?i:f;c:do if((c[46363]|0)>1){d=Sy(a)|0;while(1){if(!d)break c;b=Ex(a,d)|0;while(1){if(!b)break;if(c[(c[b+16>>2]|0)+8>>2]|0)dn(b,f,g);b=Gx(a,b)|0}d=Ty(a,d)|0}}while(0);b=Sy(a)|0;while(1){if(!b)break;k=c[(c[b+16>>2]|0)+132>>2]|0;h[k>>3]=+h[k>>3]*f;k=k+8|0;h[k>>3]=+h[k>>3]*g;b=Ty(a,b)|0}en(a,f,g);b=1}else b=0;while(0);return b|0}function cn(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;k=n+16|0;m=n;d=(c[b+16>>2]|0)+16|0;c[m>>2]=c[d>>2];c[m+4>>2]=c[d+4>>2];c[m+8>>2]=c[d+8>>2];c[m+12>>2]=c[d+12>>2];f=+h[m>>3];g=f*.013888888888888888;i=+h[m+8>>3];j=i*.013888888888888888;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;o=c[e+132>>2]|0;h[o>>3]=+h[o>>3]-g;o=o+8|0;h[o>>3]=+h[o>>3]-j;e=c[e+108>>2]|0;if(e|0?a[e+81>>0]|0:0){o=e+56|0;h[o>>3]=+h[o>>3]-f;o=e+64|0;h[o>>3]=+h[o>>3]-i}d=Ty(b,d)|0}e=Sy(b)|0;while(1){if(!e)break;d=Ex(b,e)|0;while(1){if(!d)break;if(c[(c[d+16>>2]|0)+8>>2]|0){c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];fn(d,k)}d=Gx(b,d)|0}e=Ty(b,e)|0}c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];gn(b,k);l=n;return}function dn(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0;p=c[b>>2]&3;i=c[(c[(c[((p|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=(d+-1.0)*72.0;q=s*+h[i>>3];t=(e+-1.0)*72.0;r=t*+h[i+8>>3];p=c[(c[(c[((p|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;s=s*+h[p>>3];t=t*+h[p+8>>3];p=c[b+16>>2]|0;i=c[p+8>>2]|0;j=c[i+4>>2]|0;k=j+-1|0;b=0;i=c[i>>2]|0;while(1){if((b|0)>=(j|0))break;l=c[i+4>>2]|0;m=l+-1|0;n=(b|0)==(k|0);f=0;g=c[i>>2]|0;while(1){if((f|0)>=(l|0))break;do if(f|b){o=+h[g>>3];if((f|0)==(m|0)&n){h[g>>3]=o+q;u=g+8|0;h[u>>3]=+h[u>>3]+r;break}else{h[g>>3]=o*d;u=g+8|0;h[u>>3]=+h[u>>3]*e;break}}else{h[g>>3]=+h[g>>3]+s;u=g+8|0;h[u>>3]=+h[u>>3]+t}while(0);f=f+1|0;g=g+16|0}if(c[i+8>>2]|0){u=i+16|0;h[u>>3]=+h[u>>3]+s;u=i+24|0;h[u>>3]=+h[u>>3]+t}if(c[i+12>>2]|0){u=i+32|0;h[u>>3]=+h[u>>3]+q;u=i+40|0;h[u>>3]=+h[u>>3]+r}b=b+1|0;i=i+48|0}b=c[p+96>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]*d;u=b+64|0;h[u>>3]=+h[u>>3]*e}b=c[p+100>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+q;u=b+64|0;h[u>>3]=+h[u>>3]+r}b=c[p+104>>2]|0;if(b|0?a[b+81>>0]|0:0){u=b+56|0;h[u>>3]=+h[u>>3]+s;u=b+64|0;h[u>>3]=+h[u>>3]+t}return}function en(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;i=b+16|0;g=c[i>>2]|0;b=g+32|0;h[b>>3]=+h[b>>3]*d;b=g+40|0;h[b>>3]=+h[b>>3]*e;b=g+16|0;h[b>>3]=+h[b>>3]*d;b=g+24|0;h[b>>3]=+h[b>>3]*e;b=c[g+12>>2]|0;if((b|0)!=0?(a[b+81>>0]|0)!=0:0){f=b+56|0;h[f>>3]=+h[f>>3]*d;f=b+64|0;h[f>>3]=+h[f>>3]*e;f=1;b=g}else{f=1;b=g}while(1){if((f|0)>(c[b+180>>2]|0))break;en(c[(c[b+184>>2]|0)+(f<<2)>>2]|0,d,e);f=f+1|0;b=c[i>>2]|0}return}function fn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;k=c[b+16>>2]|0;b=c[k+8>>2]|0;j=c[b+4>>2]|0;l=d+8|0;b=c[b>>2]|0;g=0;while(1){if((g|0)>=(j|0))break;i=c[b+4>>2]|0;e=c[b>>2]|0;f=0;while(1){if((f|0)>=(i|0))break;h[e>>3]=+h[e>>3]-+h[d>>3];m=e+8|0;h[m>>3]=+h[m>>3]-+h[l>>3];e=e+16|0;f=f+1|0}if(c[b+8>>2]|0){m=b+16|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+24|0;h[m>>3]=+h[m>>3]-+h[l>>3]}if(c[b+12>>2]|0){m=b+32|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+40|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=b+48|0;g=g+1|0}b=c[k+96>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+108>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+100>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}b=c[k+104>>2]|0;if(b|0?a[b+81>>0]|0:0){m=b+56|0;h[m>>3]=+h[m>>3]-+h[d>>3];m=b+64|0;h[m>>3]=+h[m>>3]-+h[l>>3]}return}function gn(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;j=k;g=+h[d>>3];i=b+16|0;b=c[i>>2]|0;e=b+32|0;h[e>>3]=+h[e>>3]-g;f=+h[d+8>>3];e=b+40|0;h[e>>3]=+h[e>>3]-f;e=b+16|0;h[e>>3]=+h[e>>3]-g;e=b+24|0;h[e>>3]=+h[e>>3]-f;e=c[b+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){m=e+56|0;h[m>>3]=+h[m>>3]-g;e=e+64|0;h[e>>3]=+h[e>>3]-f;e=1}else e=1;while(1){if((e|0)>(c[b+180>>2]|0))break;m=c[(c[b+184>>2]|0)+(e<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];gn(m,j);e=e+1|0;b=c[i>>2]|0}l=k;return}function hn(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,i=0,j=0;i=l;l=l+16|0;d=i;mM(a);e=a+16|0;b=c[e>>2]|0;f=+h[b+16>>3]*.013888888888888888;g=+h[b+24>>3]*.013888888888888888;b=Sy(a)|0;while(1){if(!b)break;j=c[(c[b+16>>2]|0)+132>>2]|0;h[j>>3]=+h[j>>3]-f;j=j+8|0;h[j>>3]=+h[j>>3]-g;b=Ty(a,b)|0}j=(c[e>>2]|0)+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];jn(a,d);$m(a,1);l=i;return}function jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0;g=l;l=l+16|0;f=g;d=a+16|0;a=1;while(1){e=c[d>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];jn(e,f);a=a+1|0}j=+h[b>>3];f=e+32|0;h[f>>3]=+h[f>>3]-j;i=+h[b+8>>3];b=e+40|0;h[b>>3]=+h[b>>3]-i;b=e+16|0;h[b>>3]=+h[b>>3]-j;b=e+24|0;h[b>>3]=+h[b>>3]-i;l=g;return}function kn(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;p=(e|0)>2;n=0;o=0;j=c[f+4>>2]|0;b=c[f>>2]|0;while(1){if((o|0)>=(d|0)){b=0;break}i=c[(c[g+(o<<2)>>2]|0)+16>>2]|0;l=a[i+119>>0]|0;a:do if(!(l<<24>>24)){k=b+8|0;h[b>>3]=+k2();i=j+8|0;h[j>>3]=+k2();if(p){b=2;while(1){if((b|0)==(e|0)){j=n;b=k;break a}q=+k2();h[(c[f+(b<<2)>>2]|0)+(o<<3)>>3]=q;b=b+1|0}}else{j=n;b=k}}else{k=c[i+132>>2]|0;m=b+8|0;h[b>>3]=+h[k>>3];i=j+8|0;h[j>>3]=+h[k+8>>3];b:do if(p){j=2;b=k+16|0;while(1){if((j|0)==(e|0))break b;h[(c[f+(j<<2)>>2]|0)+(o<<3)>>3]=+h[b>>3];j=j+1|0;b=b+8|0}}while(0);j=(l&255)>1?1:n;b=m}while(0);n=j;o=o+1|0;j=i}while(1){if((b|0)>=(e|0))break;Is(d,c[f+(b<<2)>>2]|0);b=b+1|0}return n|0}function ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;d=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;n=wn(b,b,0.0)|0;o=wn(b,b,0.0)|0;a:do if(!(c[a+8>>2]|0)){e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;m=c[(c[j>>2]|0)+(f<<2)>>2]|0;h[(c[n+(m<<2)>>2]|0)+(e<<3)>>3]=-1.0;h[(c[k>>2]|0)+(m<<3)>>3]=-1.0;f=f+1|0}e=e+1|0}}else{e=0;while(1){if((e|0)>=(b|0))break a;i=c[a+(e*20|0)>>2]|0;j=a+(e*20|0)+4|0;k=a+(e*20|0)+8|0;m=n+(e<<2)|0;f=1;while(1){if((f|0)>=(i|0))break;p=c[(c[j>>2]|0)+(f<<2)>>2]|0;l=-1.0/+g[(c[k>>2]|0)+(f<<2)>>2];h[(c[n+(p<<2)>>2]|0)+(e<<3)>>3]=l;h[(c[m>>2]|0)+(p<<3)>>3]=l;f=f+1|0}e=e+1|0}}while(0);b:do if(!(Bq(b,n,o)|0)){D_(d);d=0}else{f=0;j=0;m=b;while(1){if((j|0)>=(b|0))break b;k=o+(j<<2)|0;e=j;i=f;while(1){if((e|0)==(b|0))break;if((j|0)==(e|0))l=0.0;else{p=c[k>>2]|0;l=+h[(c[o+(e<<2)>>2]|0)+(e<<3)>>3]+ +h[p+(j<<3)>>3]+ +h[p+(e<<3)>>3]*-2.0}g[d+(i<<2)>>2]=l;e=e+1|0;i=i+1|0}f=f+m|0;j=j+1|0;m=m+-1|0}}while(0);xn(n);xn(o);return d|0}function mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;if(c[a+8>>2]|0){d=nn(a,b)|0;f=0.0;e=0;p=0;while(1){if((p|0)>=(b|0))break;e=e+p|0;o=c[a+(p*20|0)>>2]|0;k=a+(p*20|0)+4|0;m=(O(p,b)|0)-e|0;n=a+(p*20|0)+8|0;j=1;while(1){if((j|0)>=(o|0))break;i=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((i|0)>=(p|0)){i=d+(m+i<<2)|0;s=+g[(c[n>>2]|0)+(j<<2)>>2];f=f+ +B(+(+g[i>>2]-s));g[i>>2]=s}j=j+1|0}p=p+1|0}if(0){b=c[15686]|0;h[q>>3]=f;g1(b,89903,q)|0}}else d=0;l=r;return d|0}function nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m;i=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;j=uH(b<<2)|0;zq(h,b);d=0;f=0;k=b;while(1){if((d|0)>=(b|0))break;ir(d,a,b,j);e=d;g=f;while(1){if((e|0)==(b|0))break;c[i+(g<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0;g=g+1|0}d=d+1|0;f=f+k|0;k=k+-1|0}D_(j);Aq(h);l=m;return i|0}function on(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;i=n;j=uH(((O(b+1|0,b)|0)/2|0)<<2)|0;k=uH(b<<2)|0;zq(i,b);d=0;f=0;m=b;while(1){if((d|0)>=(b|0))break;vq(d,a,b,k,i);e=d;h=f;while(1){if((e|0)==(b|0))break;g[j+(h<<2)>>2]=+(c[k+(e<<2)>>2]|0);e=e+1|0;h=h+1|0}d=d+1|0;f=f+m|0;m=m+-1|0}D_(k);Aq(i);l=n;return j|0}function pn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=a+8|0;d=c[r>>2]|0;e=0;f=0;while(1){if((f|0)>=(b|0))break;e=(c[a+(f*20|0)>>2]|0)+e|0;f=f+1|0}f=uH(e<<2)|0;q=uH(b<<2)|0;e=0;while(1){if((e|0)>=(b|0))break;c[q+(e<<2)>>2]=0;e=e+1|0}if(!(c[r>>2]|0)){h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;_r(a,h,q);i=a+(h*20|0)|0;j=c[i>>2]|0;k=a+(h*20|0)+4|0;l=+(j+-1|0);e=1;while(1){if((e|0)>=(j|0))break;p=c[(c[k>>2]|0)+(e<<2)>>2]|0;s=+((c[a+(p*20|0)>>2]|0)+-1|0)+l;g[f+(e<<2)>>2]=s-+((Zr(a,h,p,q)|0)<<1|0);e=e+1|0}$r(a,h,q);f=f+(c[i>>2]<<2)|0;h=h+1|0}f=on(a,b)|0}else{j=0;while(1){if((j|0)>=(b|0))break;_r(a,j,q);k=a+(j*20|0)|0;m=c[k>>2]|0;n=a+(j*20|0)+4|0;o=m+-2|0;p=a+(j*20|0)+8|0;i=1;while(1){if((i|0)>=(m|0))break;e=c[(c[n>>2]|0)+(i<<2)>>2]|0;h=o+(c[a+(e*20|0)>>2]|0)|0;s=+(h-((Zr(a,j,e,q)|0)<<1)|0);l=+g[(c[p>>2]|0)+(i<<2)>>2];if(l<s)l=+(h-((Zr(a,j,e,q)|0)<<1)|0);g[f+(i<<2)>>2]=l;i=i+1|0}$r(a,j,q);c[p>>2]=f;f=f+(c[k>>2]<<2)|0;j=j+1|0}f=nn(a,b)|0}D_(q);D_(c[r>>2]|0);c[r>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;d=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0}}while(0);return f|0}function qn(a,b,e,f,i,j,k,m,n){a=a|0;b=b|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,P=0.0;M=l;l=l+80|0;L=M+56|0;K=M+48|0;A=M+40|0;u=M+32|0;t=M+24|0;s=M+16|0;p=M+8|0;o=M;q=k&4;J=k&3;a:do if((n|0)<0)e=0;else{if(0)EL();k=(m|0)==2;b:do if(k){if(0)E1(91878,24,1,c[15686]|0)|0;e=pn(a,b)|0;w=14}else{switch(m|0){case 1:{e=ln(a,b)|0;if(e|0){I=e;break b}Pw(0,91903,o)|0;Pw(3,91952,p)|0;w=15;break b}case 3:break;default:{w=15;break b}}if(0)E1(92005,21,1,c[15686]|0)|0;e=mn(a,b)|0;w=14}while(0);if((w|0)==14)if(!e)w=15;else I=e;do if((w|0)==15){if(0)E1(92027,26,1,c[15686]|0)|0;if(!(c[a+8>>2]|0)){I=on(a,b)|0;break}else{I=nn(a,b)|0;break}}while(0);if(0){H=c[15686]|0;h[s>>3]=+FL();g1(H,92054,s)|0;E1(92066,25,1,H)|0;EL()}c:do if((b|0)>1&(q|0)!=0)if((rn(a,b,f,j,q,J,k&1)|0)<0){u=0;t=0;e=-1;a=0;s=0;q=0;p=0;o=0;m=0;k=0}else{k=0;while(1){if((k|0)>=(j|0)){y=0;w=35;break c}m=f+(k<<2)|0;r=1.0;e=0;while(1){if((e|0)==(b|0))break;x=+B(+(+h[(c[m>>2]|0)+(e<<3)>>3]));r=x>r?x:r;e=e+1|0}r=1.0/r;e=0;while(1){if((e|0)==(b|0)){e=0;break}H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]*r;e=e+1|0}while(1){if((e|0)==(b|0))break;x=(+k2()+-.5)*1.0e-06;H=(c[m>>2]|0)+(e<<3)|0;h[H>>3]=+h[H>>3]+x;e=e+1|0}Is(b,c[m>>2]|0);k=k+1|0}}else{y=kn(0,b,j,f,i)|0;w=35}while(0);d:do if((w|0)==35){if(0){H=c[15686]|0;h[t>>3]=+FL();g1(H,92092,t)|0}if((b|0)==1|(n|0)==0){e=0;break a}if(0){H=c[15686]|0;h[u>>3]=+FL();g1(H,92054,u)|0;E1(89925,26,1,H)|0;EL()}s=j<<2;H=uH(s)|0;t=b<<2;a=O(t,j)|0;G=uH(a)|0;e=0;while(1){if((e|0)>=(j|0))break;m=G+((O(e,b)|0)<<2)|0;c[H+(e<<2)>>2]=m;o=f+(e<<2)|0;k=0;while(1){if((k|0)>=(b|0))break;g[m+(k<<2)>>2]=+h[(c[o>>2]|0)+(k<<3)>>3];k=k+1|0}e=e+1|0}e:do if(!J){p=b+-1|0;e=0;r=0.0;o=0;while(1){if((o|0)>=(p|0))break e;q=b-o|0;m=e;k=1;while(1){e=m+1|0;if((k|0)>=(q|0))break;m=e;r=+g[I+(e<<2)>>2]+r;k=k+1|0}o=o+1|0}}else r=+(b|0)*.5*+(b+-1|0);while(0);C=(O(b+1|0,b)|0)/2|0;D=(J|0)==2;if(D)ct(C,I);dt(C,I);E=b<<3;m=uH(E)|0;H3(m|0,0,E|0)|0;F=b+-1|0;e=0;o=0;while(1){if((o|0)>=(F|0)){e=b;k=0;o=0;break}p=b-o|0;v=0.0;k=1;while(1){e=e+1|0;if((k|0)>=(p|0))break;x=+g[I+(e<<2)>>2];z=m+(k+o<<3)|0;h[z>>3]=+h[z>>3]-x;v=v+x;k=k+1|0}z=m+(o<<3)|0;h[z>>3]=+h[z>>3]-v;o=o+1|0}while(1){if((k|0)>=(b|0))break;g[I+(o<<2)>>2]=+h[m+(k<<3)>>3];z=e+o|0;e=e+-1|0;k=k+1|0;o=z}z=uH(s)|0;c[z>>2]=uH(a)|0;e=1;while(1){if((e|0)>=(j|0))break;c[z+(e<<2)>>2]=(c[z>>2]|0)+((O(e,b)|0)<<2);e=e+1|0}p=uH(t)|0;o=uH(t)|0;k=uH(C<<2)|0;if(0){w=c[15686]|0;h[A>>3]=+FL();g1(w,92054,A)|0;E1(89952,15,1,w)|0;EL()}w=(y|0)==0;y=c[15686]|0;e=0;q=0;x=1797693134862315708145274.0e284;while(1){if(!(q<<24>>24==0&(e|0)<(n|0)))break;H3(m|0,0,E|0)|0;if(D){et(C,I,k);u=0;a=0}else{u=0;a=0}while(1){if((u|0)>=(F|0)){q=b;s=0;a=0;break}t=b-u+-1|0;at(t,0.0,o);q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;at(t,+g[(c[A>>2]|0)+(u<<2)>>2],p);Xs(t,p,-1.0,(c[A>>2]|0)+(u<<2)+4|0);ct(t,p);Ws(t,p,o,o);q=q+1|0}ft(t,o);q=0;while(1){if((q|0)>=(t|0))break;s=o+(q<<2)|0;v=+g[s>>2];if(v>=3402823466385288598117041.0e14|v<0.0)g[s>>2]=0.0;q=q+1|0}q=a+1|0;a=u+1|0;f:do if(D){v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;A=k+(q<<2)|0;N=+g[A>>2]*+g[o+(s<<2)>>2];g[A>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}else{v=0.0;s=0;while(1){if((s|0)>=(t|0))break f;N=+g[o+(s<<2)>>2];g[k+(q<<2)>>2]=N;A=m+(a+s<<3)|0;h[A>>3]=+h[A>>3]-N;v=v+N;q=q+1|0;s=s+1|0}}while(0);A=m+(u<<3)|0;h[A>>3]=+h[A>>3]-v;u=a;a=q}while(1){if((s|0)>=(b|0)){q=0;break}g[k+(a<<2)>>2]=+h[m+(s<<3)>>3];A=q+a|0;q=q+-1|0;s=s+1|0;a=A}while(1){if((q|0)>=(j|0)){v=0.0;q=0;break}Us(k,b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0);q=q+1|0}while(1){if((q|0)>=(j|0))break;v=+_s(b,c[H+(q<<2)>>2]|0,c[z+(q<<2)>>2]|0)+v;q=q+1|0}v=v*2.0+r;q=0;while(1){if((q|0)>=(j|0))break;A=H+(q<<2)|0;Us(I,b,c[A>>2]|0,p);v=v-+_s(b,c[A>>2]|0,p);q=q+1|0}P=x-v;N=+h[22909];q=(v<N?1:(P>=0.0?P:-P)/x<N)&1;a=0;while(1){if((a|0)>=(j|0))break;t=H+(a<<2)|0;s=c[t>>2]|0;g:do if(w){if((Fq(I,s,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}}else{Zs(b,s,p);if((Fq(I,p,c[z+(a<<2)>>2]|0,b,.001,b)|0)<0){u=z;t=I;e=-1;a=G;s=H;q=z;break d}else s=0;while(1){if((s|0)>=(b|0))break g;if((d[(c[(c[i+(s<<2)>>2]|0)+16>>2]|0)+119>>0]|0)<=1)c[(c[t>>2]|0)+(s<<2)>>2]=c[p+(s<<2)>>2];s=s+1|0}}while(0);a=a+1|0}if(((e|0)%5|0|0)==0&0!=0?(h[K>>3]=v,g1(y,90277,K)|0,((e+5|0)%50|0|0)==0):0)n3(10,y)|0;e=e+1|0;x=v}if(!0)q=0;else{N=+sn(H,I,j,b,J);P=+FL();h[L>>3]=N;c[L+8>>2]=e;h[L+16>>3]=P;g1(y,89968,L)|0;q=0}while(1){if((q|0)>=(j|0)){u=z;t=I;a=G;s=H;q=z;break d}a=H+(q<<2)|0;t=f+(q<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[t>>2]|0)+(s<<3)>>3]=+g[(c[a>>2]|0)+(s<<2)>>2];s=s+1|0}q=q+1|0}}while(0);D_(a);D_(s);D_(t);if(u|0){D_(c[u>>2]|0);D_(q)}D_(p);D_(o);D_(m);D_(k)}while(0);l=M;return e|0}function rn(b,d,e,f,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0.0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;R=l;l=l+32|0;o=R+24|0;Q=R+8|0;H=R+4|0;N=R;M=(d|0)<50?d:50;P=vH(M<<2)|0;G=d<<3;n=vH(O(G,M)|0)|0;m=0;while(1){if((m|0)>=(M|0))break;c[P+(m<<2)>>2]=n+((O(m,d)|0)<<3);m=m+1|0}E=M<<1;E=(E|0)>50?E:50;E=(E|0)>(d|0)?d:E;c[o>>2]=0;sr(b,d,E,o,k);tr(c[o>>2]|0,d,E);mt(c[o>>2]|0,E,d,P,M);D_(c[c[o>>2]>>2]|0);D_(c[o>>2]|0);E=d<<2;L=vH(E)|0;m=0;while(1){if((m|0)>=(d|0))break;c[L+(m<<2)>>2]=-1;m=m+1|0}zq(Q,d);J=c[b+8>>2]|0;I=(k|0)!=0;if(I)es(b,d);C=vH(E)|0;K=vH(160)|0;n=vH(d*160|0)|0;D=vH(160)|0;m=0;while(1){if((m|0)==40)break;c[D+(m<<2)>>2]=n+((O(m,d)|0)<<2);m=m+1|0}m=(g2()|0)%(d|0)|0;c[L+(m<<2)>>2]=0;c[K>>2]=m;n=c[D>>2]|0;if(I){cr(m,b,d,n);n=0;o=0}else{vq(m,b,d,n,Q);n=0;o=0}while(1){if((o|0)>=(d|0)){r=1;break}F=c[(c[D>>2]|0)+(o<<2)>>2]|0;c[C+(o<<2)>>2]=F;A=(F|0)>(n|0);m=A?o:m;n=A?F:n;o=o+1|0}while(1){if((r|0)==40){m=0;break}c[L+(m<<2)>>2]=r;c[K+(r<<2)>>2]=m;t=D+(r<<2)|0;n=c[t>>2]|0;if(I){cr(m,b,d,n);q=0;n=0}else{vq(m,b,d,n,Q);q=0;n=0}while(1){if((q|0)>=(d|0))break;o=C+(q<<2)|0;F=c[o>>2]|0;k=c[(c[t>>2]|0)+(q<<2)>>2]|0;k=(F|0)<(k|0)?F:k;c[o>>2]=k;if((k|0)<=(n|0)){if((k|0)==(n|0)?((g2()|0)%(q+1|0)|0|0)==0:0){n=c[o>>2]|0;m=q}}else{n=k;m=q}q=q+1|0}r=r+1|0}while(1){if((m|0)>=(d|0))break;c[C+(m<<2)>>2]=-1;m=m+1|0}w=vH(E)|0;F=vH(d<<4)|0;x=d+-1|0;y=x<<2;A=0;o=0;k=0;n=0;z=0;while(1){if((z|0)>=(d|0))break;m=L+(z<<2)|0;a:do if((c[m>>2]|0)>-1){t=F+(z<<4)+4|0;c[t>>2]=vH(y)|0;v=vH(y)|0;c[F+(z<<4)+8>>2]=v;c[F+(z<<4)>>2]=x;a[F+(z<<4)+12>>0]=1;r=D+(c[m>>2]<<2)|0;m=0;while(1){if((m|0)==(z|0)){q=z;break}c[(c[t>>2]|0)+(m<<2)>>2]=m;c[v+(m<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];m=m+1|0}while(1){m=q+1|0;if((q|0)==(x|0)){m=x;break a}c[(c[t>>2]|0)+(q<<2)>>2]=m;c[v+(q<<2)>>2]=c[(c[r>>2]|0)+(m<<2)>>2];q=m}}else{if((n|0)<40){k=vH(E)|0;o=vH(E)|0;n=d;m=1}else m=0;a[F+(z<<4)+12>>0]=m;c[F+(z<<4)+4>>2]=k;c[F+(z<<4)+8>>2]=o;c[F+(z<<4)>>2]=40;m=0;while(1){if((m|0)==40)break;c[k+(m<<2)>>2]=c[K+(m<<2)>>2];c[o+(m<<2)>>2]=c[(c[D+(m<<2)>>2]|0)+(z<<2)>>2];m=m+1|0}o=o+160|0;k=k+160|0;n=n+-40|0;m=40}while(0);A=m+A|0;z=z+1|0}D_(C);D_(w);if(D|0){D_(c[D>>2]|0);D_(D)}D=vH(d*20|0)|0;q=A+d<<2;r=vH(q)|0;v=(j|0)==2;q=vH(q)|0;t=0;while(1){if((t|0)>=(d|0))break;c[D+(t*20|0)+4>>2]=r;c[D+(t*20|0)+8>>2]=q;m=(c[F+(t<<4)>>2]|0)+1|0;w=D+(t*20|0)|0;c[w>>2]=m;o=(c[F+(t<<4)+8>>2]|0)+-4|0;k=F+(t<<4)+4|0;b:do if(v){p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=+(c[o+(n<<2)>>2]|0);u=-1.0/(u*u);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}else{p=0.0;n=1;while(1){if((n|0)>=(m|0))break b;c[r+(n<<2)>>2]=c[(c[k>>2]|0)+(n+-1<<2)>>2];u=-1.0/+(c[o+(n<<2)>>2]|0);g[q+(n<<2)>>2]=u;p=p-u;n=n+1|0;m=c[w>>2]|0}}while(0);c[r>>2]=t;g[q>>2]=p;E=c[w>>2]|0;q=q+(E<<2)|0;r=r+(E<<2)|0;t=t+1|0}C=vH(f<<2)|0;c[C>>2]=vH(O(f<<3,M)|0)|0;m=1;while(1){if((m|0)>=(f|0))break;c[C+(m<<2)>>2]=(c[C>>2]|0)+((O(m,M)|0)<<3);m=m+1|0}c:do if(i){m=0;while(1){if((m|0)>=(f|0))break;o=C+(m<<2)|0;n=0;while(1){if((n|0)>=(M|0))break;h[(c[o>>2]|0)+(n<<3)>>3]=0.0;n=n+1|0}m=m+1|0}if((f|0)!=2){m=0;while(1){if((m|0)>=(f|0)){m=0;break c}h[(c[C+(m<<2)>>2]|0)+(m<<3)>>3]=1.0;m=m+1|0}}h[c[C>>2]>>3]=1.0;m=C+4|0;if(!((nt(P,M,d,c[m>>2]|0)|0)<<24>>24)){n=c[m>>2]|0;m=0;while(1){if((m|0)>=(M|0))break;h[n+(m<<3)>>3]=0.0;m=m+1|0}h[n+8>>3]=1.0;m=0}else m=0}else{n=0;while(1){if((n|0)>=(f|0)){m=0;break c}o=C+(n<<2)|0;m=0;while(1){if((m|0)>=(M|0))break;u=+(g2()|0)*4.656612875245797e-10;h[(c[o>>2]|0)+(m<<3)>>3]=u;m=m+1|0}n=n+1|0}}while(0);while(1){if((m|0)>=(f|0))break;Ss(P,d,M,c[C+(m<<2)>>2]|0,c[e+(m<<2)>>2]|0);m=m+1|0}c[H>>2]=0;c[N>>2]=0;Hs(D,P,d,M,H);Fs(P,c[H>>2]|0,M,d,M,N);D_(c[c[H>>2]>>2]|0);D_(c[H>>2]|0);z=vH(G)|0;A=vH(M<<3)|0;m=0;n=0;p=+tn(e,F,f,d,j);d:while(1){if((n|0)<50&m<<24>>24==0)x=0;else break;while(1){if((x|0)>=(f|0))break;y=e+(x<<2)|0;o=0;while(1){if((o|0)>=(d|0))break;q=z+(o<<3)|0;h[q>>3]=0.0;r=(c[F+(o<<4)+8>>2]|0)+-4|0;t=c[D+(o*20|0)+4>>2]|0;v=c[D+(o*20|0)+8>>2]|0;w=D+(o*20|0)|0;s=0.0;k=1;while(1){if((k|0)>=(c[w>>2]|0))break;m=c[t+(k<<2)>>2]|0;u=+gs(e,f,o,m);if(u>1.0e-30){u=-(+g[v+(k<<2)>>2]*+(c[r+(k<<2)>>2]|0))/u;h[q>>3]=u*+h[(c[y>>2]|0)+(m<<3)>>3]+ +h[q>>3];s=s-u}k=k+1|0}h[q>>3]=+h[q>>3]+ +h[(c[y>>2]|0)+(o<<3)>>3]*s;o=o+1|0}Es(P,M,d,z,A);m=C+(x<<2)|0;if(Eq(c[N>>2]|0,c[m>>2]|0,A,M,.001,M,0)|0){n=-1;break d}Ss(P,d,M,c[m>>2]|0,c[y>>2]|0);x=x+1|0}if(!(n&1)){u=+tn(e,F,f,d,j);p=+B(+(u-p))/(u+1.0e-10);m=p<+h[22909]&1;p=u}else m=0;n=n+1|0}D_(A);D_(z);if(I){fs(b,d,J);m=0}else m=0;while(1){if((m|0)>=(d|0))break;if(a[F+(m<<4)+12>>0]|0){D_(c[F+(m<<4)+4>>2]|0);D_(c[F+(m<<4)+8>>2]|0)}m=m+1|0}D_(F);D_(c[D+4>>2]|0);D_(c[D+8>>2]|0);D_(D);D_(L);D_(K);D_(c[C>>2]|0);D_(C);m=c[N>>2]|0;if(m|0){D_(c[m>>2]|0);D_(c[N>>2]|0)}D_(c[P>>2]|0);D_(P);Aq(Q);l=R;return n|0}function sn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;q=e+-1|0;o=(f|0)==2;h=0.0;f=0;m=0;while(1){if((m|0)>=(q|0))break;p=e-m|0;n=1;while(1){f=f+1|0;if((n|0)>=(p|0))break;k=n+m|0;i=0.0;j=0;while(1){if((j|0)>=(d|0))break;r=c[a+(j<<2)>>2]|0;l=+g[r+(m<<2)>>2]-+g[r+(k<<2)>>2];i=i+l*l;j=j+1|0}i=+C(+i);l=+g[b+(f<<2)>>2];if(o){i=1.0/+C(+l)-i;i=i*i}else{i=1.0/l-i;i=i*i}n=n+1|0;h=i*l+h}m=m+1|0}return +h}function tn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0;a:do if((f|0)==2){g=0.0;l=0;while(1){if((l|0)>=(e|0))break a;n=c[b+(l<<4)>>2]|0;o=b+(l<<4)+4|0;m=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(n|0))break;j=c[(c[o>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[m>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/(p*p)+g}k=k+1|0}l=l+1|0}}else{l=0;g=0.0;while(1){if((l|0)>=(e|0))break a;m=c[b+(l<<4)>>2]|0;n=b+(l<<4)+4|0;o=b+(l<<4)+8|0;k=0;while(1){if((k|0)>=(m|0))break;j=c[(c[n>>2]|0)+(k<<2)>>2]|0;if((j|0)>(l|0)){i=0.0;f=0;while(1){if((f|0)>=(d|0))break;q=c[a+(f<<2)>>2]|0;p=+h[q+(l<<3)>>3]-+h[q+(j<<3)>>3];i=p*p+i;f=f+1|0}i=+C(+i);p=+(c[(c[o>>2]|0)+(k<<2)>>2]|0);i=p-i;g=i*i/p+g}k=k+1|0}l=l+1|0}}while(0);return +g}function un(a){a=+a;return +(+C(+a)*a)}function vn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0;g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;i=+h[a+(f<<3)>>3]-+h[b+(f<<3)>>3];h[d+(f<<3)>>3]=i;e=i*i+e;f=f+1|0}return +(+C(+e))}function wn(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=uH(a<<2)|0;f=0;g=uH(O(a<<3,b)|0)|0;while(1){if((f|0)>=(a|0))break;c[i+(f<<2)>>2]=g;e=0;while(1){if((e|0)>=(b|0))break;h[g+(e<<3)>>3]=d;e=e+1|0}f=f+1|0;g=g+(b<<3)|0}return i|0}function xn(a){a=a|0;if(a|0){D_(c[a>>2]|0);D_(a)}return}function yn(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+16|0;n=ay(b)|0;m=by(b)|0;k=nx(b,2,90566,0)|0;a:do if(!d){h[22909]=+(n|0)*.0001;aH(b,105860,183272);g=xx(c[b+60>>2]|0,90006)|0;if(!g)e=.99;else e=+b2(g);h[22911]=e;g=uH((n<<2)+4|0)|0;j=b+16|0;c[(c[j>>2]|0)+152>>2]=g;g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[(c[j>>2]|0)+152>>2]|0)+(g<<2)>>2]=i;p=c[i+16>>2]|0;c[p+120>>2]=g;c[p+124>>2]=-1;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}else{h[22909]=.0001;aH(b,105860,183272);g=0;e=0.0;i=Sy(b)|0;while(1){if(!i)break a;c[(c[i+16>>2]|0)+120>>2]=g;f=+Bn(b,i,k)+e;g=g+1|0;e=f;i=Ty(b,i)|0}}while(0);g=xx(b,90014)|0;if((g|0)!=0?(a[g>>0]|0)!=0:0){e=+h[22909];f=+b2(g);if(!(e>f))e=f}else e=e/+(((m|0)>1?m:1)|0)*+C(+(+(n|0)))+1.0;h[22910]=e;if(!(c[46363]|d)){d=wn(n,n,e)|0;p=b+16|0;c[(c[p>>2]|0)+160>>2]=d;d=wn(n,n,1.0)|0;c[(c[p>>2]|0)+164>>2]=d;d=wn(n,c[46366]|0,1.0)|0;c[(c[p>>2]|0)+168>>2]=d;d=Cn(n,n,c[46366]|0)|0;c[(c[p>>2]|0)+172>>2]=d}l=o;return n|0}function zn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=0;e=0;j=Jx(a,b)|0;a:while(1){if(!j)break;h=c[j>>2]&3;g=c[((h|0)==2?j:j+-48|0)+40>>2]|0;h=c[((h|0)==3?j:j+48|0)+40>>2]|0;do if((g|0)!=(h|0)){i=(h|0)==(b|0);if((e|0)!=1){f=i?g:h;c[d>>2]=f;e=e+1|0;break}if(!((g|0)==(f|0)&i)?!((g|0)==(b|0)&(h|0)==(f|0)):0){e=2;break a}else e=1}while(0);j=Kx(a,j,b)|0}return e|0}function An(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=a+60|0;a:while(1){b:while(1){if(!b)break a;switch(zn(a,b,f)|0){case 0:{e=5;break b}case 1:{e=8;break b}default:b=0}}if((e|0)==5){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=0;continue}else if((e|0)==8){if((d|0)==(b|0))d=Ty(a,d)|0;dz(c[g>>2]|0,b)|0;b=c[f>>2]|0;continue}}l=h;return d|0}function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+8|0;g=k;b=Ex(a,b)|0;e=0.0;while(1){if(!b)break;switch(Dn(b,d,g)|0){case 0:{f=+h[g>>3];break}case 2:{c[i>>2]=ry(a)|0;h[i+8>>3]=1.0;Pw(3,90026,i)|0;j=6;break}default:j=6}if((j|0)==6){j=0;h[g>>3]=1.0;f=1.0}h[(c[b+16>>2]|0)+136>>3]=f;b=Gx(a,b)|0;e=f+e}l=k;return +e}function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0;j=uH((a<<2)+4|0)|0;k=(b<<2)+4|0;l=d<<3;g=0;while(1){if((g|0)>=(a|0))break;i=j+(g<<2)|0;c[i>>2]=uH(k)|0;f=0;while(1){if((f|0)>=(b|0))break;e=uH(l)|0;c[(c[i>>2]|0)+(f<<2)>>2]=e;e=0;while(1){if((e|0)>=(d|0))break;h[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+(e<<3)>>3]=0.0;e=e+1|0}f=f+1|0}c[(c[i>>2]|0)+(f<<2)>>2]=0;g=g+1|0}c[j+(g<<2)>>2]=0;return j|0}function Dn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;do if((d|0)!=0?(f=yx(b,d)|0,(a[f>>0]|0)!=0):0){c[i>>2]=e;if(((N1(f,98183,i)|0)>=1?(g=+h[e>>3],!(g<0.0)):0)?g!=0.0|(c[46363]|0)!=0:0){b=0;break}c[j>>2]=f;Pw(0,90053,j)|0;b=2}else b=1;while(0);l=k;return b|0}function En(a){a=a|0;return yn(a,0)|0}function Fn(a){a=a|0;a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);if(!(c[46363]|0)){xn(c[(c[a>>2]|0)+160>>2]|0);xn(c[(c[a>>2]|0)+164>>2]|0);xn(c[(c[a>>2]|0)+168>>2]|0);Gn(c[(c[a>>2]|0)+172>>2]|0);c[(c[a>>2]|0)+172>>2]=0}return}function Gn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(a|0){f=0;while(1){g=a+(f<<2)|0;b=c[g>>2]|0;if(!b)break;else e=0;while(1){d=c[b+(e<<2)>>2]|0;if(!d)break;D_(d);e=e+1|0;b=c[g>>2]|0}D_(b);f=f+1|0}D_(a)}return}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;e=+(b|0);b=a+16|0;while(1){if((d|0)>=(c[46366]|0))break;f=+k2()*e;h[(c[(c[b>>2]|0)+132>>2]|0)+(d<<3)>>3]=f;d=d+1|0}return}function In(a,b){a=a|0;b=b|0;Hn(a,b,2);return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=+k2()*e;d=a+16|0;h[c[(c[d>>2]|0)+132>>2]>>3]=f;e=+k2()*e;h[(c[(c[d>>2]|0)+132>>2]|0)+8>>3]=e;if((c[46366]|0)>2)In(a,b);return}function Kn(b,d){b=b|0;d=d|0;var e=0,f=0;f=l;l=l+16|0;e=f;if(0)E1(90071,26,1,c[15686]|0)|0;d=pm(b,d,2)|0;a:do if((d|0)!=1){if(!(c[46027]|d)){Pw(0,90098,e)|0;c[46027]=1}e=b+16|0;d=0;while(1){b=c[(c[(c[e>>2]|0)+152>>2]|0)+(d<<2)>>2]|0;if(!b)break a;if(!(a[(c[b+16>>2]|0)+119>>0]|0))Jn(b,1);d=d+1|0}}while(0);l=f;return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;p=q+80|0;n=q;if(0){E1(90147,25,1,c[15686]|0)|0;EL()}o=a+16|0;f=c[o>>2]|0;k=c[f+164>>2]|0;f=c[f+160>>2]|0;m=0;while(1){if((m|0)>=(b|0))break;i=f+(m<<2)|0;j=k+(m<<2)|0;e=0;while(1){if((e|0)==(m|0))break;g=+h[(c[i>>2]|0)+(e<<3)>>3];g=1.0/(g*g);d=c[(c[o>>2]|0)+152>>2]|0;d=Rx(a,c[d+(m<<2)>>2]|0,c[d+(e<<2)>>2]|0,0,0)|0;if(d)g=+h[(c[d+16>>2]|0)+128>>3]*g;h[(c[k+(e<<2)>>2]|0)+(m<<3)>>3]=g;h[(c[j>>2]|0)+(e<<3)>>3]=g;e=e+1|0}m=m+1|0}a=c[46366]|0;e=0;while(1){if((e|0)<(b|0))d=0;else break;while(1){if((d|0)>=(a|0))break;h[(c[(c[(c[o>>2]|0)+168>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}e=e+1|0}i=0;while(1){d=c[(c[(c[o>>2]|0)+152>>2]|0)+(i<<2)>>2]|0;if(!d)break;a=d+16|0;d=0;while(1){if((d|0)>=(b|0))break;a:do if((i|0)!=(d|0)){g=+vn(c[(c[a>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[o>>2]|0)+152>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+132>>2]|0,n);f=c[46366]|0;g=1.0/g;e=0;while(1){if((e|0)>=(f|0))break a;m=c[o>>2]|0;r=+h[n+(e<<3)>>3];r=(r-+h[(c[(c[m+160>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3]*r*g)*+h[(c[(c[m+164>>2]|0)+(i<<2)>>2]|0)+(d<<3)>>3];h[(c[(c[(c[m+172>>2]|0)+(i<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)>>3]=r;m=(c[(c[m+168>>2]|0)+(i<<2)>>2]|0)+(e<<3)|0;h[m>>3]=+h[m>>3]+r;e=e+1|0}}while(0);d=d+1|0}i=i+1|0}if(0){o=c[15686]|0;h[p>>3]=+FL();g1(o,90173,p)|0}l=q;return}function Mn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0;i=l;l=l+32|0;g=i+24|0;f=i+8|0;e=i;j=+h[22909];h[22831]=j*j;while(1){d=Nn(a,b)|0;if(!d)break;On(a,b,d)}if(!0)b=a+16|0;else{d=c[15686]|0;h[e>>3]=+Pn(a,b);g1(d,90183,e)|0;b=a+16|0;k=c[(c[b>>2]|0)+156>>2]|0;e=(k|0)==(c[46365]|0)?90197:191979;j=+FL();c[f>>2]=k;c[f+4>>2]=e;h[f+8>>3]=j;g1(d,90199,f)|0}b=c[(c[b>>2]|0)+156>>2]|0;if((b|0)==(c[46365]|0)){k=ry(a)|0;c[g>>2]=b;c[g+4>>2]=k;Pw(0,90226,g)|0}l=i;return}function Nn(a,b){a=a|0;b=b|0;var e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+16|0;q=r;o=(c[46029]|0)+1|0;c[46029]=o;a=c[a+16>>2]|0;if((c[a+156>>2]|0)<(c[46365]|0)){m=c[46366]|0;n=a+152|0;k=a+168|0;a=0;e=0.0;j=0;while(1){if((j|0)>=(b|0))break;g=c[(c[n>>2]|0)+(j<<2)>>2]|0;if((d[(c[g+16>>2]|0)+119>>0]|0)<=1){i=0.0;f=0;while(1){if((f|0)>=(m|0))break;s=+h[(c[(c[k>>2]|0)+(j<<2)>>2]|0)+(f<<3)>>3];i=s*s+i;f=f+1|0}if(i>e){a=g;e=i}}j=j+1|0}if(!(e<+h[22831])){if(0!=0&((o|0)%100|0|0)==0?(p=c[15686]|0,h[q>>3]=+C(+e),g1(p,90277,q)|0,((c[46029]|0)%1e3|0|0)==0):0)n3(10,p)|0}else a=0}else a=0;l=r;return a|0}function On(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;k=d+16|0;m=c[(c[k>>2]|0)+120>>2]|0;f=c[46028]|0;if(!f){g=c[46366]|0;g=vH(O(g<<3,g)|0)|0}else{g=c[46366]|0;g=xH(f,O(g<<3,g)|0)|0}c[46028]=g;Qn(a,b,m,g);i=c[46366]|0;j=a+16|0;f=0;while(1){if((f|0)>=(i|0))break;h[182656+(f<<3)>>3]=-+h[(c[(c[(c[j>>2]|0)+168>>2]|0)+(m<<2)>>2]|0)+(f<<3)>>3];f=f+1|0}Xt(g,182736,182656,i);f=0;while(1){if((f|0)>=(c[46366]|0))break;e=+h[22911];e=(1.0-e)*2.0*+k2()+e;i=182736+(f<<3)|0;e=e*+h[i>>3];h[i>>3]=e;i=(c[(c[k>>2]|0)+132>>2]|0)+(f<<3)|0;h[i>>3]=+h[i>>3]+e;f=f+1|0}k=(c[j>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;Rn(a,b,m);if(cM()|0){g=c[46366]|0;e=0.0;f=0;while(1){if((f|0)>=(g|0))break;e=+B(+(+h[182736+(f<<3)>>3]))+e;f=f+1|0}e=+C(+e);m=c[15686]|0;c[n>>2]=ry(d)|0;h[n+8>>3]=e;g1(m,90268,n)|0}l=o;return}function Pn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=b+-1|0;n=a+16|0;o=c[46366]|0;g=0;d=0.0;a:while(1){if((g|0)>=(q|0))break;m=c[n>>2]|0;p=c[m+152>>2]|0;j=g+1|0;k=(c[p+(g<<2)>>2]|0)+16|0;l=m+164|0;m=m+160|0;i=j;while(1){if((i|0)>=(b|0)){g=j;continue a}f=(c[p+(i<<2)>>2]|0)+16|0;a=0;e=0.0;while(1){if((a|0)>=(o|0))break;r=+h[(c[(c[k>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];a=a+1|0;e=r*r+e}r=+h[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3];r=((+C(+e)*-2.0+r)*r+e)*+h[(c[(c[l>>2]|0)+(g<<2)>>2]|0)+(i<<3)>>3]+d;i=i+1|0;d=r}}return +d}function Qn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x;v=c[a+16>>2]|0;k=c[v+164>>2]|0;m=c[v+160>>2]|0;v=c[v+152>>2]|0;j=c[v+(d<<2)>>2]|0;g=c[46366]|0;a=0;while(1){if((a|0)>=(g|0))break;i=O(g,a)|0;f=0;while(1){if((f|0)==(g|0))break;h[e+(i+f<<3)>>3]=0.0;f=f+1|0}a=a+1|0}u=c[46366]|0;t=j+16|0;s=k+(d<<2)|0;k=m+(d<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;a:do if((j|0)!=(d|0)){f=(c[v+(j<<2)>>2]|0)+16|0;r=0.0;a=0;while(1){if((a|0)>=(u|0))break;q=+h[(c[(c[t>>2]|0)+132>>2]|0)+(a<<3)>>3]-+h[(c[(c[f>>2]|0)+132>>2]|0)+(a<<3)>>3];h[w+(a<<3)>>3]=q;r=q*q+r;a=a+1|0}n=1.0/+un(r);i=0;while(1){if((i|0)>=(u|0))break a;f=(c[s>>2]|0)+(j<<3)|0;g=(c[k>>2]|0)+(j<<3)|0;o=+h[w+(i<<3)>>3];a=0;while(1){p=+h[f>>3];q=+h[g>>3];if((a|0)==(i|0))break;m=e+((O(u,a)|0)+i<<3)|0;h[m>>3]=+h[m>>3]+p*n*q*o*+h[w+(a<<3)>>3];a=a+1|0}m=e+((O(u,i)|0)+i<<3)|0;h[m>>3]=(1.0-q*n*(r-o*o))*p+ +h[m>>3];i=i+1|0}}while(0);j=j+1|0}f=c[46366]|0;i=1;while(1){if((i|0)>=(f|0))break;g=O(f,i)|0;a=0;while(1){if((a|0)==(i|0))break;h[e+(g+a<<3)>>3]=+h[e+((O(f,a)|0)+i<<3)>>3];a=a+1|0}i=i+1|0}l=x;return}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0;m=l;l=l+80|0;k=m;j=a+16|0;f=c[j>>2]|0;g=c[(c[f+152>>2]|0)+(d<<2)>>2]|0;e=c[46366]|0;f=f+168|0;a=0;while(1){if((a|0)>=(e|0))break;h[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]=0.0;a=a+1|0}f=g+16|0;a=0;while(1){if((a|0)>=(b|0))break;a:do if((a|0)!=(d|0)){i=+vn(c[(c[f>>2]|0)+132>>2]|0,c[(c[(c[(c[(c[j>>2]|0)+152>>2]|0)+(a<<2)>>2]|0)+16>>2]|0)+132>>2]|0,k);g=c[46366]|0;i=1.0/i;e=0;while(1){if((e|0)>=(g|0))break a;n=c[j>>2]|0;q=c[n+172>>2]|0;r=(c[(c[q+(d<<2)>>2]|0)+(a<<2)>>2]|0)+(e<<3)|0;o=+h[k+(e<<3)>>3];o=(o-+h[(c[(c[n+160>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3]*o*i)*+h[(c[(c[n+164>>2]|0)+(d<<2)>>2]|0)+(a<<3)>>3];h[r>>3]=o;n=c[n+168>>2]|0;s=(c[n+(d<<2)>>2]|0)+(e<<3)|0;h[s>>3]=+h[s>>3]+o;q=(c[(c[q+(a<<2)>>2]|0)+(d<<2)>>2]|0)+(e<<3)|0;o=+h[q>>3];p=-+h[r>>3];h[q>>3]=p;n=(c[n+(a<<2)>>2]|0)+(e<<3)|0;h[n>>3]=p-o+ +h[n>>3];e=e+1|0}}while(0);a=a+1|0}l=m;return}function Sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;d=a+16|0;g=c[46030]|0;b=c[(c[d>>2]|0)+124>>2]|0;while(1){if((b|0)<=0)break;i=(b+-1|0)/2|0;j=g+(i<<2)|0;e=c[j>>2]|0;f=e+16|0;if(+h[(c[f>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[j>>2]=a;c[(c[d>>2]|0)+124>>2]=i;c[g+(b<<2)>>2]=e;c[(c[f>>2]|0)+124>>2]=b;b=i}return}function Tn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;i=a+16|0;j=c[46031]|0;k=c[46030]|0;g=c[(c[i>>2]|0)+124>>2]|0;while(1){e=g<<1|1;if((e|0)>=(j|0))break;d=e+1|0;if((d|0)<(j|0)){f=c[k+(d<<2)>>2]|0;b=c[k+(e<<2)>>2]|0;if(+h[(c[f+16>>2]|0)+136>>3]<+h[(c[b+16>>2]|0)+136>>3]){e=d;b=f}else l=6}else{b=c[k+(e<<2)>>2]|0;l=6}if((l|0)==6)l=0;d=b+16|0;if(+h[(c[i>>2]|0)+136>>3]<=+h[(c[d>>2]|0)+136>>3])break;c[k+(e<<2)>>2]=a;c[(c[i>>2]|0)+124>>2]=e;c[k+(g<<2)>>2]=b;c[(c[d>>2]|0)+124>>2]=g;g=e}return}function Un(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=0)qa(90283,90303,643,90311);d=c[46031]|0;c[46031]=d+1;c[b>>2]=d;c[(c[46030]|0)+(d<<2)>>2]=a;if((d|0)>0)Sn(a);return}function Vn(){var a=0,b=0,d=0,e=0;b=c[46031]|0;if(!b)a=0;else{e=c[46030]|0;a=c[e>>2]|0;d=b+-1|0;c[46031]=d;d=c[e+(d<<2)>>2]|0;c[e>>2]=d;c[(c[d+16>>2]|0)+124>>2]=0;if((b|0)>2)Tn(d);c[(c[a+16>>2]|0)+124>>2]=-1}return a|0}function Wn(a,b){a=a|0;b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[46030]=uH((b<<2)+4|0)|0;if(0){E1(90325,28,1,c[15686]|0)|0;EL()}b=Sy(a)|0;while(1){if(!b)break;Xn(a,b);b=Ty(a,b)|0}if(0){a=c[15686]|0;h[d>>3]=+FL();g1(a,90173,d)|0}D_(c[46030]|0);l=e;return}function Xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0;e=c[(c[a+16>>2]|0)+152>>2]|0;f=+h[22910];d=0;while(1){g=c[e+(d<<2)>>2]|0;if(!g)break;h[(c[g+16>>2]|0)+136>>3]=f;d=d+1|0}c[46032]=b;k=c[b+16>>2]|0;h[k+136>>3]=0.0;c[k+128>>2]=0;Un(b);a:while(1){k=Vn()|0;if(!k)break;d=c[46032]|0;j=k+16|0;if((k|0)!=(d|0))Yn(a,d,k,+h[(c[j>>2]|0)+136>>3]);i=Jx(a,k)|0;while(1){if(!i)continue a;d=c[i>>2]&3;b=c[((d|0)==3?i:i+48|0)+40>>2]|0;if((b|0)==(k|0))b=c[((d|0)==2?i:i+-48|0)+40>>2]|0;d=c[j>>2]|0;f=+h[(c[i+16>>2]|0)+136>>3]+ +h[d+136>>3];e=c[b+16>>2]|0;g=e+136|0;do if(+h[g>>3]>f){h[g>>3]=f;if((c[e+124>>2]|0)>-1){Sn(b);break}else{c[e+128>>2]=(c[d+128>>2]|0)+1;Un(b);break}}while(0);i=Kx(a,i,k)|0}}return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;b=c[(c[b+16>>2]|0)+120>>2]|0;d=c[(c[d+16>>2]|0)+120>>2]|0;a=c[(c[a+16>>2]|0)+160>>2]|0;h[(c[a+(d<<2)>>2]|0)+(b<<3)>>3]=e;h[(c[a+(b<<2)>>2]|0)+(d<<3)>>3]=e;return}function Zn(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;_n(a);return}function _n(a){a=a|0;var b=0,d=0,e=0,f=0;b=ay(a)|0;e=uH(b*56|0)|0;b=uH((b<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d*56|0);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;$n(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function $n(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function ao(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+32|0;i=u+24|0;g=u+16|0;j=u;t=u+72|0;p=u+40|0;if(ay(b)|0){Zn(b);f=xx(b,93136)|0;if(f)if(a[f>>0]|0){d=az(b,f,0)|0;if(!d){c[g>>2]=f;Pw(0,90354,g)|0;Pw(3,90394,i)|0;d=0;s=1}else s=0}else{d=0;s=1}else{d=0;s=0}n=nx(b,1,93136,0)|0;o=(n|0)!=0;f=xx(b,137660)|0;if((f|0?a[f>>0]|0:0)?(k=j+8|0,c[m>>2]=j,c[m+4>>2]=k,(N1(f,102477,m)|0)==1):0)h[k>>3]=+h[j>>3];if(ay(b)|0){m=oD(b,t,0)|0;if((c[t>>2]|0)==1){g=(d|0)!=0;do if(g)e=d;else{if(o?(e=bo(b,n)|0,e|0):0)break;e=0}while(0);f=Zt(b,e)|0;if(!((e|0)!=0|o^1))rx(f,n,139381)|0;r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;tq(b)|0;hn(b);d=(s|0)==0|g?d:f}else{XD(b,2,8,p)|0;c[p+12>>2]=0;k=(s|0)==0;j=0;while(1){if((j|0)>=(c[t>>2]|0))break;g=c[m+(j<<2)>>2]|0;e=(d|0)!=0;if(e?(oz(g,d)|0)!=0:0)f=d;else r=23;do if((r|0)==23){r=0;if(o?(q=bo(g,n)|0,q|0):0){f=q;break}f=0}while(0);vD(g)|0;i=Zt(g,f)|0;d=k|e?d:i;if(o?(f|0)==0|(f|0)==(d|0):0)rx(i,n,139381)|0;tq(g)|0;j=j+1|0}r=(Sy(b)|0)+16|0;D_(c[(c[r>>2]|0)+112>>2]|0);c[(c[r>>2]|0)+112>>2]=0;WD(c[t>>2]|0,m,b,p)|0;hn(b)}e=0;while(1){if((e|0)>=(c[t>>2]|0))break;dz(b,c[m+(e<<2)>>2]|0)|0;e=e+1|0}D_(m)}if(s|0)zx(b,93136,ry(d)|0)|0;eJ(b)}l=u;return}function bo(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c){c=0;break}if((QL(yx(c,b)|0)|0)<<24>>24)break;c=Ty(a,c)|0}return c|0}function co(a){a=a|0;var b=0,c=0;b=Sy(a)|0;if(b|0){while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;JM(c);c=Gx(a,c)|0}HM(b);b=Ty(a,b)|0}eo(a)}return}function eo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function fo(a){a=a|0;go(a);if(!((ay(a)|0)==0?!(c[(c[a+16>>2]|0)+180>>2]|0):0)){nu(a);eJ(a)}return}function go(a){a=a|0;c[46377]=nx(a,1,105204,105210)|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;ho(a,0);io(a);return}function ho(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){lo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;mo(b,d);ho(d,0)}else ho(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;g=a+16|0;c[(c[g>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;Az(b,134365,304,1)|0;c[(c[b+16>>2]|0)+112>>2]=f+(d<<2);c[(c[(c[g>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;jo(b);e=Ex(a,b)|0;while(1){if(!e)break;ko(e);e=Gx(a,e)|0}b=Ty(a,b)|0;d=d+1|0}return}function jo(a){a=a|0;zx(a,105204,105210)|0;return}function ko(a){a=a|0;Az(a,134378,304,1)|0;return}function lo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function no(a){a=a|0;var b=0,d=0;b=Sy(a)|0;if(b|0){D_(c[(c[b+16>>2]|0)+112>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}oo(a)}return}function oo(a){a=a|0;D_(c[(c[a+16>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401);return}function po(a){a=a|0;var d=0,e=0,f=0;qo(a);ro(a,0);so(a,0);to(a,0);d=c[a+16>>2]|0;if(!(c[(c[d+8>>2]|0)+84>>2]|0)){d=b[d+136>>1]&14;if(d<<16>>16)Ym(a,d&65535)|0}else{d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+132>>2]|0;h[e>>3]=+h[f+16>>3]*.013888888888888888;h[e+8>>3]=+h[f+24>>3]*.013888888888888888;d=Ty(a,d)|0}$m(a,1)}eJ(a);return}function qo(a){a=a|0;var d=0,e=0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;d=Sy(a)|0;while(1){if(!d)break;$l(d);d=Ty(a,d)|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;Az(d,134378,176,1)|0;eM(d)|0;d=Gx(a,d)|0}e=Ty(a,e)|0}return}function ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;h=(b|0)==0;if(h){yo(g);b=g}d=wA(a)|0;while(1){if(!d)break;if(!(z$(ry(d)|0,104980,7)|0)){Az(d,134401,280,1)|0;fH(d);zo(b,d);ro(d,0)}else ro(d,b);d=xA(d)|0}if(h?(e=c[g+8>>2]|0,f=a+16|0,c[(c[f>>2]|0)+180>>2]=e,e|0):0){h=xH(c[g>>2]|0,(e<<2)+4|0)|0;c[(c[f>>2]|0)+184>>2]=h}l=i;return}function so(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+448|0;G=Q+400|0;F=Q+384|0;P=Q+344|0;O=Q+304|0;N=Q+248|0;D=Q+192|0;x=Q+152|0;y=Q+96|0;o=Q+72|0;d=Q+64|0;I=Q+32|0;J=Q;B=Q+416|0;u=Q+328|0;w=Q+288|0;K=Q+232|0;L=Q+176|0;M=Q+136|0;H=Q+80|0;n=c[a+60>>2]|0;if(0>1){uo(b);E=c[15686]|0;c[d>>2]=ry(a)|0;g1(E,90637,d)|0}E=a+16|0;f=b+1|0;d=1;e=0;while(1){g=c[E>>2]|0;if((d|0)>(c[g+180>>2]|0))break;C=c[(c[g+184>>2]|0)+(d<<2)>>2]|0;so(C,f);d=d+1|0;e=(ay(C)|0)+e|0}p=(ay(a)|0)-e|0;d=c[E>>2]|0;C=(c[d+180>>2]|0)+p|0;v=(C|0)==0;if(v?(c[d+12>>2]|0)==0:0){P=d+16|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;h[d+40>>3]=18.0;h[d+32>>3]=18.0}else{d=B+16|0;do if((XD(a,4,4,B)|0)>>>0>=3)if((c[d>>2]|0)==4?(c[B+28>>2]&2|0)!=0:0){e=nx(n,0,96164,0)|0;d=nx(n,1,96164,0)|0;if((e|0)!=0|(d|0)!=0){c[B+24>>2]=uH(C<<2)|0;break}else{c[o>>2]=ry(a)|0;Pw(0,90483,o)|0;d=0;e=0;break}}else{d=0;e=0}else{c[d>>2]=3;d=0;e=0}while(0);z=uH(C<<5)|0;A=uH(C<<2)|0;s=B+24|0;n=(e|0)!=0;r=0;g=1;while(1){f=c[E>>2]|0;if((g|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(g<<2)>>2]|0;t=z+(r<<5)|0;q=(c[f+16>>2]|0)+16|0;c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[t+16>>2]=c[q+16>>2];c[t+20>>2]=c[q+20>>2];c[t+24>>2]=c[q+24>>2];c[t+28>>2]=c[q+28>>2];if(n&(c[s>>2]|0)!=0){t=KL(f,e,0,0)|0;c[(c[s>>2]|0)+(r<<2)>>2]=t}c[A+(r<<2)>>2]=f;r=r+1|0;g=g+1|0}a:do if((p|0)>0){o=I+16|0;p=I+24|0;q=(d|0)!=0;n=Sy(a)|0;e=r;while(1){if(!n)break a;f=c[n+16>>2]|0;g=f+112|0;if(!(c[g>>2]|0)){c[g>>2]=a;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[I+12>>2]=0;h[o>>3]=+h[f+96>>3]+ +h[f+88>>3];h[p>>3]=+h[f+80>>3];t=z+(e<<5)|0;c[t>>2]=c[I>>2];c[t+4>>2]=c[I+4>>2];c[t+8>>2]=c[I+8>>2];c[t+12>>2]=c[I+12>>2];c[t+16>>2]=c[I+16>>2];c[t+20>>2]=c[I+20>>2];c[t+24>>2]=c[I+24>>2];c[t+28>>2]=c[I+28>>2];if(q&(c[s>>2]|0)!=0){t=KL(n,d,0,0)|0;c[(c[s>>2]|0)+(e<<2)>>2]=t}c[A+(e<<2)>>2]=n;e=e+1|0}n=Ty(a,n)|0}}while(0);t=QD(C,z,B)|0;d=c[s>>2]|0;if(d|0)D_(d);vo(J,2147483647.0,2147483647.0);s=J+16|0;vo(u,-2147483647.0,-2147483647.0);c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];g=I+16|0;n=I+8|0;o=I+24|0;p=J+8|0;q=J+24|0;r=c[15686]|0;d=0;while(1){if((d|0)>=(C|0))break;j=+(c[t+(d<<3)>>2]|0);m=+(c[t+(d<<3)+4>>2]|0);e=z+(d<<5)|0;c[I>>2]=c[e>>2];c[I+4>>2]=c[e+4>>2];c[I+8>>2]=c[e+8>>2];c[I+12>>2]=c[e+12>>2];c[I+16>>2]=c[e+16>>2];c[I+20>>2]=c[e+20>>2];c[I+24>>2]=c[e+24>>2];c[I+28>>2]=c[e+28>>2];i=+h[I>>3]+j;h[I>>3]=i;j=+h[g>>3]+j;h[g>>3]=j;k=+h[n>>3]+m;h[n>>3]=k;m=+h[o>>3]+m;h[o>>3]=m;h[J>>3]=+h[(+h[J>>3]<i?J:I)>>3];h[p>>3]=+h[(+h[p>>3]<k?J:I)+8>>3];h[s>>3]=+h[(+h[s>>3]>j?J:I)+16>>3];h[q>>3]=+h[(+h[q>>3]>m?J:I)+24>>3];e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){u=(c[f>>2]|0)+16|0;c[u>>2]=c[I>>2];c[u+4>>2]=c[I+4>>2];c[u+8>>2]=c[I+8>>2];c[u+12>>2]=c[I+12>>2];c[u+16>>2]=c[I+16>>2];c[u+20>>2]=c[I+20>>2];c[u+24>>2]=c[I+24>>2];c[u+28>>2]=c[I+28>>2];if(0>1){uo(b);c[y>>2]=ry(e)|0;h[y+8>>3]=i;h[y+16>>3]=k;h[y+24>>3]=j;h[y+32>>3]=m;g1(r,90462,y)|0}}else{u=(c[f>>2]|0)+16|0;c[F>>2]=c[I>>2];c[F+4>>2]=c[I+4>>2];c[F+8>>2]=c[I+8>>2];c[F+12>>2]=c[I+12>>2];c[G>>2]=c[g>>2];c[G+4>>2]=c[g+4>>2];c[G+8>>2]=c[g+8>>2];c[G+12>>2]=c[g+12>>2];wo(w,F,G);c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];if(0>1){uo(b);u=ry(e)|0;f=c[f>>2]|0;k=+h[f+16>>3];m=+h[f+24>>3];c[x>>2]=u;h[x+8>>3]=k;h[x+16>>3]=m;g1(r,90450,x)|0}}d=d+1|0}e=c[E>>2]|0;d=c[e+12>>2]|0;if(d|0){i=+h[d+24>>3];if(v){j=+h[d+32>>3];c[J>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;c[J+12>>2]=0;h[s>>3]=i;h[q>>3]=j;j=0.0;k=i}else{j=+h[J>>3];k=+h[s>>3]}m=i-(k-j);i=m*.5;if(m>0.0){h[J>>3]=j-i;h[s>>3]=k+i}}if((b|0)>0)i=+((c[B+8>>2]|0)>>>0)*.5;else i=0.0;j=+h[J>>3]-i;h[J>>3]=j;k=+h[s>>3]+i;h[s>>3]=k;m=-i-+h[e+56>>3]+ +h[p>>3];h[p>>3]=m;i=+h[e+88>>3]+i+ +h[q>>3];h[q>>3]=i;if(0>1){uo(b);c[D>>2]=ry(a)|0;h[D+8>>3]=j;h[D+16>>3]=m;h[D+24>>3]=k;h[D+32>>3]=i;g1(r,90462,D)|0}d=0;while(1){if((d|0)>=(C|0))break;e=c[A+(d<<2)>>2]|0;f=e+16|0;if((d|0)<(c[(c[E>>2]|0)+180>>2]|0)){D=(c[f>>2]|0)+16|0;c[I>>2]=c[D>>2];c[I+4>>2]=c[D+4>>2];c[I+8>>2]=c[D+8>>2];c[I+12>>2]=c[D+12>>2];c[I+16>>2]=c[D+16>>2];c[I+20>>2]=c[D+20>>2];c[I+24>>2]=c[D+24>>2];c[I+28>>2]=c[D+28>>2];c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(I,F,G);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(K,F,G);c[g>>2]=c[K>>2];c[g+4>>2]=c[K+4>>2];c[g+8>>2]=c[K+8>>2];c[g+12>>2]=c[K+12>>2];D=(c[f>>2]|0)+16|0;c[D>>2]=c[I>>2];c[D+4>>2]=c[I+4>>2];c[D+8>>2]=c[I+8>>2];c[D+12>>2]=c[I+12>>2];c[D+16>>2]=c[I+16>>2];c[D+20>>2]=c[I+20>>2];c[D+24>>2]=c[I+24>>2];c[D+28>>2]=c[I+28>>2];if(0>1){uo(b);D=ry(e)|0;i=+h[I>>3];j=+h[n>>3];k=+h[g>>3];m=+h[o>>3];c[N>>2]=D;h[N+8>>3]=i;h[N+16>>3]=j;h[N+24>>3]=k;h[N+32>>3]=m;g1(r,90462,N)|0}}else{D=(c[f>>2]|0)+16|0;c[F>>2]=c[D>>2];c[F+4>>2]=c[D+4>>2];c[F+8>>2]=c[D+8>>2];c[F+12>>2]=c[D+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(L,F,G);c[D>>2]=c[L>>2];c[D+4>>2]=c[L+4>>2];c[D+8>>2]=c[L+8>>2];c[D+12>>2]=c[L+12>>2];if(0>1){uo(b);D=ry(e)|0;B=c[f>>2]|0;k=+h[B+16>>3];m=+h[B+24>>3];c[O>>2]=D;h[O+8>>3]=k;h[O+16>>3]=m;g1(r,90450,O)|0}}d=d+1|0}c[F>>2]=c[s>>2];c[F+4>>2]=c[s+4>>2];c[F+8>>2]=c[s+8>>2];c[F+12>>2]=c[s+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(M,F,G);c[s>>2]=c[M>>2];c[s+4>>2]=c[M+4>>2];c[s+8>>2]=c[M+8>>2];c[s+12>>2]=c[M+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];xo(H,F,G);c[J>>2]=c[H>>2];c[J+4>>2]=c[H+4>>2];c[J+8>>2]=c[H+8>>2];c[J+12>>2]=c[H+12>>2];O=(c[E>>2]|0)+16|0;c[O>>2]=c[J>>2];c[O+4>>2]=c[J+4>>2];c[O+8>>2]=c[J+8>>2];c[O+12>>2]=c[J+12>>2];c[O+16>>2]=c[J+16>>2];c[O+20>>2]=c[J+20>>2];c[O+24>>2]=c[J+24>>2];c[O+28>>2]=c[J+28>>2];if(0>1){uo(b);O=ry(a)|0;i=+h[J>>3];j=+h[p>>3];k=+h[s>>3];m=+h[q>>3];c[P>>2]=O;h[P+8>>3]=i;h[P+16>>3]=j;h[P+24>>3]=k;h[P+32>>3]=m;g1(r,90462,P)|0}D_(z);D_(A);D_(t)}l=Q;return}function to(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;s=t+32|0;i=t+8|0;d=t;r=a+16|0;o=c[r>>2]|0;p=+h[o+16>>3];q=+h[o+24>>3];if(0>1){uo(b);o=c[15686]|0;c[d>>2]=ry(a)|0;g1(o,90435,d)|0}o=(b|0)!=0;a:do if(o){d=Sy(a)|0;e=c[15686]|0;while(1){if(!d)break a;f=d+16|0;g=c[f>>2]|0;if((c[g+112>>2]|0)==(a|0)?(u=g+16|0,h[u>>3]=+h[u>>3]+p,g=g+24|0,h[g>>3]=+h[g>>3]+q,0>1):0){uo(b);u=ry(d)|0;g=c[f>>2]|0;m=+h[g+16>>3];n=+h[g+24>>3];c[i>>2]=u;h[i+8>>3]=m;h[i+16>>3]=n;g1(e,90450,i)|0}d=Ty(a,d)|0}}else e=c[15686]|0;while(0);i=b+1|0;a=1;while(1){d=c[r>>2]|0;if((a|0)>(c[d+180>>2]|0))break;g=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(o){f=g+16|0;d=c[f>>2]|0;j=+h[d+16>>3]+p;k=+h[d+24>>3]+q;m=+h[d+32>>3]+p;n=+h[d+40>>3]+q;if(0>1){uo(b);c[s>>2]=ry(g)|0;h[s+8>>3]=j;h[s+16>>3]=k;h[s+24>>3]=m;h[s+32>>3]=n;g1(e,90462,s)|0;d=c[f>>2]|0}h[d+16>>3]=j;h[d+24>>3]=k;h[d+32>>3]=m;h[d+40>>3]=n}to(g,i);a=a+1|0}l=t;return}function uo(a){a=a|0;var b=0;b=c[15686]|0;while(1){if((a|0)<=0)break;D1(90480,b)|0;a=a+-1|0}return}function vo(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function xo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function yo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Ao(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;HM(b);b=Ty(a,b)|0}Bo(a);return}function Bo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;a=1;while(1){e=c[b>>2]|0;d=c[e+184>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[d+(a<<2)>>2]|0;nH(c[(c[e+16>>2]|0)+12>>2]|0);Bo(e);a=a+1|0}D_(d);return}function Co(a){a=a|0;var b=0,d=0,e=0;Fz(a,1,134365,304,1);sM(a)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;e=a+16|0;c[(c[e>>2]|0)+152>>2]=b;b=0;d=Sy(a)|0;while(1){if(!d)break;Do(d);c[(c[(c[e>>2]|0)+152>>2]|0)+(b<<2)>>2]=d;c[(c[d+16>>2]|0)+120>>2]=b;b=b+1|0;d=Ty(a,d)|0}e=nx(a,2,90566,0)|0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Eo(b,e);b=Gx(a,b)|0}d=Ty(a,d)|0}Fo(a);return}function Do(a){a=a|0;var b=0;dM(a);b=uH((e[(c[(ez(a)|0)+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[a+16>>2]|0)+132>>2]=b;bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);return}function Eo(a,b){a=a|0;b=b|0;var d=0,e=0.0;Az(a,134378,176,1)|0;e=+LL(a,c[46404]|0,1.0,0.0);d=a+16|0;h[(c[d>>2]|0)+128>>3]=e;e=+LL(a,b,+h[1371],0.0);h[(c[d>>2]|0)+136>>3]=e;eM(a)|0;return}function Fo(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+32|0;q=r+16|0;p=r;m=r+24|0;n=nx(b,1,99597,0)|0;a:do if(n|0){o=nx(b,1,90570,0)|0;i=b+16|0;j=(o|0)==0;k=c[15686]|0;g=0;while(1){e=c[(c[(c[i>>2]|0)+152>>2]|0)+(g<<2)>>2]|0;if(!e)break a;b=yx(e,n)|0;do if(a[b>>0]|0){f=e+16|0;d=c[(c[f>>2]|0)+132>>2]|0;a[m>>0]=0;c[p>>2]=d;c[p+4>>2]=d+8;c[p+8>>2]=m;if((N1(b,98723,p)|0)<=1){c[q>>2]=ry(e)|0;c[q+4>>2]=b;g1(k,90574,q)|0;break}b:do if(+h[22908]>0.0){b=0;while(1){if((b|0)==2)break b;s=d+(b<<3)|0;h[s>>3]=+h[s>>3]/+h[22908];b=b+1|0}}while(0);b=c[f>>2]|0;a[b+119>>0]=1;if((a[m>>0]|0)!=33){if(j)break;if(!((QL(yx(e,o)|0)|0)<<24>>24))break;b=c[f>>2]|0}a[b+119>>0]=3}while(0);g=g+1|0}}while(0);l=r;return}function Go(a){a=a|0;var b=0,c=0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}HM(c);c=Ty(a,c)|0}Ho(a);return}function Ho(a){a=a|0;Io(a);a=a+16|0;D_(c[(c[a>>2]|0)+152>>2]|0);D_(c[(c[a>>2]|0)+140>>2]|0);return}function Io(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=1;while(1){e=c[g>>2]|0;b=c[e+184>>2]|0;if((f|0)>(c[e+180>>2]|0))break;e=c[b+(f<<2)>>2]|0;b=e+16|0;nH(c[(c[b>>2]|0)+12>>2]|0);d=c[(c[b>>2]|0)+140>>2]|0;if(d|0){D_(c[d>>2]|0);D_(c[(c[b>>2]|0)+140>>2]|0)}Io(e);f=f+1|0}D_(b);if((fz(a)|0)!=(a|0))Cz(a,134401)|0;return}function Jo(a,b){a=a|0;b=b|0;c[b+4>>2]=nx(a,0,90626,0)|0;c[b+8>>2]=nx(a,0,138034,0)|0;c[b+12>>2]=nx(a,0,137966,0)|0;c[b>>2]=a;c[b+16>>2]=0;c[b+36>>2]=XD(a,2,4,b+20|0)|0;return}function Ko(a){a=a|0;var d=0,e=0;$M(a,2);d=uH(56)|0;e=a+16|0;c[(c[e>>2]|0)+140>>2]=d;d=(KL(a,nx(a,0,90633,0)|0,2,2)|0)&65535;d=(d&65535)<10?d:10;b[(c[e>>2]|0)+176>>1]=d;c[46366]=d&65535;Lo(a,0,a);hp(a);Co(a);return}function Lo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+16|0;j=m;k=(d|0)==0;if(k){Mo(j);d=j}g=e+16|0;f=wA(a)|0;while(1){if(!f)break;if(!(z$(ry(f)|0,104980,7)|0)){Az(f,134401,280,1)|0;n=uH(56)|0;p=c[f+16>>2]|0;c[p+140>>2]=n;o=c[g>>2]|0;b[p+176>>1]=b[o+176>>1]|0;c[n+44>>2]=(c[(c[o+140>>2]|0)+44>>2]|0)+1;c[n+48>>2]=e;No(d,f);Lo(f,0,f)}else Lo(f,d,e);f=xA(f)|0}if(k?(h=c[j+8>>2]|0,i=a+16|0,c[(c[i>>2]|0)+180>>2]=h,h|0):0){p=xH(c[j>>2]|0,(h<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=p}l=m;return}function Mo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function No(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=a+8|0;d=(c[g>>2]|0)+1|0;c[g>>2]=d;e=a+4|0;h=c[e>>2]|0;f=h+10|0;if((d|0)<(h|0))a=c[a>>2]|0;else{c[e>>2]=f;d=xH(c[a>>2]|0,f<<2)|0;c[a>>2]=d;a=d;d=c[g>>2]|0}c[a+(d<<2)>>2]=b;return}function Oo(a){a=a|0;var b=0,c=0;b=l;l=l+64|0;c=b;Jo(a,c);Po(a,c);Qo(a);Ro(a,a);So(a);l=b;return}function Po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0.0,x=0.0;s=l;l=l+64|0;r=s+48|0;e=s+40|0;o=s+56|0;n=s+52|0;m=s;if(0){q=c[15686]|0;c[e>>2]=ry(b)|0;g1(q,90637,e)|0}e=Sy(b)|0;while(1){if(!e)break;c[(c[e+16>>2]|0)+164>>2]=0;e=Ty(b,e)|0}p=To(b,d)|0;q=Iu(p,o,n)|0;e=q;while(1){k=e+4|0;f=c[e>>2]|0;if(!f)break;ip(f,m);e=Sy(f)|0;while(1){if(!e)break;g=Ty(f,e)|0;i=e+16|0;j=c[i>>2]|0;if(c[j+212>>2]|0){v=Uo(e,f)|0;Po(v,d);v=c[(c[v+16>>2]|0)+140>>2]|0;u=+h[v+24>>3];j=c[i>>2]|0;h[j+32>>3]=u;t=+h[v+32>>3];h[j+40>>3]=t;u=u*36.0;h[j+88>>3]=u;h[j+96>>3]=u;h[j+80>>3]=t*72.0;e=g;continue}if(c[(c[j+112>>2]|0)+8>>2]|0){e=g;continue}dz(f,e)|0;e=g}if((ay(f)|0)<=1){e=k;continue}if((c[d>>2]|0)==(b|0))Qp(f)|0;vp(f,m);e=k}e=c[o>>2]|0;if((e|0)<=1)if((e|0)==1){mM(c[q>>2]|0);e=0}else e=0;else{if(!(c[n>>2]|0))f=0;else{f=uH(e)|0;a[f>>0]=1;e=c[o>>2]|0}c[d+40>>2]=f;e=BD(e,q,0,d+20|0)|0;D_(f)}Vo(p,c[o>>2]|0,q,e,b,d);D_(e);f=Sy(p)|0;while(1){if(!f)break;g=c[f+16>>2]|0;e=c[g+212>>2]|0;if(!e){e=c[(c[g+112>>2]|0)+8>>2]|0;if(e|0){o=c[g+132>>2]|0;v=c[(c[e+16>>2]|0)+132>>2]|0;h[v>>3]=+h[o>>3];h[v+8>>3]=+h[o+8>>3]}}else{o=c[g+132>>2]|0;x=+h[g+32>>3];w=+h[o>>3]-x*.5;v=c[(c[e+16>>2]|0)+140>>2]|0;h[v+8>>3]=w;t=+h[g+40>>3];u=+h[o+8>>3]-t*.5;h[v+16>>3]=u;h[v+24>>3]=x+w;h[v+32>>3]=t+u}f=Ty(p,f)|0}v=(c[(c[b+16>>2]|0)+140>>2]|0)+8|0;o=(c[(c[p+16>>2]|0)+140>>2]|0)+8|0;c[v>>2]=c[o>>2];c[v+4>>2]=c[o+4>>2];c[v+8>>2]=c[o+8>>2];c[v+12>>2]=c[o+12>>2];c[v+16>>2]=c[o+16>>2];c[v+20>>2]=c[o+20>>2];c[v+24>>2]=c[o+24>>2];c[v+28>>2]=c[o+28>>2];Wo(p,q);D_(q);if(0){v=c[15686]|0;c[r>>2]=ry(b)|0;g1(v,90648,r)|0}l=s;return}function Qo(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;if(a[e+118>>0]|0){k=c[(c[(c[e+212>>2]|0)+16>>2]|0)+140>>2]|0;j=+h[k+24>>3]-+h[k+8>>3];i=+h[k+32>>3]-+h[k+16>>3];g=j*36.0;f=i*36.0;k=c[e+132>>2]|0;h[k>>3]=j*.5;h[k+8>>3]=i*.5;h[e+32>>3]=j;h[e+40>>3]=i;h[e+96>>3]=g;h[e+88>>3]=g;h[e+80>>3]=i*72.0;e=c[(c[e+12>>2]|0)+44>>2]|0;h[e>>3]=g;h[e+8>>3]=f;i=-g;h[e+16>>3]=i;h[e+24>>3]=f;h[e+32>>3]=i;f=-f;h[e+40>>3]=f;h[e+48>>3]=g;h[e+56>>3]=f}d=Ty(b,d)|0}return}function Ro(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0,o=0.0,p=0;i=a+16|0;j=c[(c[i>>2]|0)+140>>2]|0;f=+h[j+8>>3];g=+h[j+16>>3];j=(a|0)!=(b|0);a:do if(j){d=Sy(a)|0;while(1){if(!d){a=1;break a}e=c[d+16>>2]|0;if((c[e+212>>2]|0)==(a|0)){e=c[e+132>>2]|0;h[e>>3]=+h[e>>3]+f;e=e+8|0;h[e>>3]=+h[e>>3]+g}d=Ty(a,d)|0}}else a=1;while(0);while(1){d=c[i>>2]|0;if((a|0)>(c[d+180>>2]|0))break;d=c[(c[d+184>>2]|0)+(a<<2)>>2]|0;if(j){e=c[(c[d+16>>2]|0)+140>>2]|0;p=e+8|0;n=e+16|0;l=e+24|0;e=e+32|0;o=+h[n>>3]+g;m=+h[l>>3]+f;k=+h[e>>3]+g;h[p>>3]=+h[p>>3]+f;h[n>>3]=o;h[l>>3]=m;h[e>>3]=k}Ro(d,b);a=a+1|0}return}function So(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;b=a+16|0;a=c[b>>2]|0;d=c[a+140>>2]|0;g=+h[d+16>>3]*72.0;f=+h[d+24>>3]*72.0;e=+h[d+32>>3]*72.0;h[a+16>>3]=+h[d+8>>3]*72.0;h[a+24>>3]=g;h[a+32>>3]=f;h[a+40>>3]=e;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;So(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function To(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+160|0;s=y+24|0;t=y+8|0;g=y;f=y+56|0;w=e+16|0;x=c[w>>2]|0;c[w>>2]=x+1;c[s>>2]=x;Y0(f,90710,s)|0;if(0>1){x=c[15686]|0;w=ry(d)|0;c[g>>2]=f;c[g+4>>2]=w;g1(x,90717,g)|0};a[s>>0]=a[18484]|0;a[s+1>>0]=a[18485]|0;a[s+2>>0]=a[18486]|0;a[s+3>>0]=a[18487]|0;x=Xx(91072,s,0)|0;Az(x,134401,280,1)|0;v=uH(56)|0;w=x+16|0;o=c[w>>2]|0;c[o+140>>2]=v;v=d+16|0;b[o+176>>1]=b[(c[v>>2]|0)+176>>1]|0;ap(d,x,91095);ap(d,x,91700);ap(d,x,90983);o=e+4|0;p=s+16|0;q=s+8|0;r=s+24|0;j=0;n=1;while(1){f=c[v>>2]|0;if((n|0)>(c[f+180>>2]|0))break;c[s>>2]=c[332];c[s+4>>2]=c[333];c[s+8>>2]=c[334];c[s+12>>2]=c[335];c[s+16>>2]=c[336];c[s+20>>2]=c[337];c[s+24>>2]=c[338];c[s+28>>2]=c[339];g=c[(c[f+184>>2]|0)+(n<<2)>>2]|0;fH(g);i=bp(x,ry(g)|0)|0;k=i+16|0;f=c[k>>2]|0;c[f+212>>2]=g;m=j+1|0;c[f+120>>2]=j;if(c[o>>2]|0)cp(g,i,e,s);f=Sy(g)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+164>>2]=i;f=Ty(g,f)|0}f=c[k>>2]|0;if(a[f+119>>0]|0){k=c[f+132>>2]|0;h[k>>3]=(+h[p>>3]+ +h[s>>3])*.5;h[k+8>>3]=(+h[r>>3]+ +h[q>>3])*.5}j=m;n=n+1|0}k=Sy(d)|0;while(1){if(!k)break;f=k+16|0;g=c[f>>2]|0;if(!(c[g+164>>2]|0)){i=g+212|0;s=c[i>>2]|0;if(s|0?(s|0)!=(c[(c[(c[v>>2]|0)+140>>2]|0)+48>>2]|0):0){u=18;break}c[i>>2]=d;if(!(a[g+118>>0]|0)){i=bp(x,ry(k)|0)|0;g=c[f>>2]|0;c[g+164>>2]=i;i=c[i+16>>2]|0;c[i+120>>2]=j;h[i+32>>3]=+h[g+32>>3];h[i+40>>3]=+h[g+40>>3];h[i+88>>3]=+h[g+88>>3];h[i+96>>3]=+h[g+96>>3];h[i+80>>3]=+h[g+80>>3];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];f=a[g+119>>0]|0;if(f<<24>>24){e=c[g+132>>2]|0;s=c[i+132>>2]|0;h[s>>3]=+h[e>>3];h[s+8>>3]=+h[e+8>>3];a[i+119>>0]=f}c[(c[i+112>>2]|0)+8>>2]=k;f=j+1|0}else f=j}else f=j;k=Ty(d,k)|0;j=f}if((u|0)==18){e=ry(k)|0;s=ry(d)|0;u=ry(c[(c[f>>2]|0)+212>>2]|0)|0;c[t>>2]=e;c[t+4>>2]=s;c[t+8>>2]=u;Pw(1,90740,t)|0;bb(184132,1)}m=Sy(d)|0;while(1){if(!m)break;n=c[(c[m+16>>2]|0)+164>>2]|0;o=n+16|0;i=Ex(d,m)|0;while(1){if(!i)break;f=c[(c[(c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+164>>2]|0;if((f|0)!=(n|0)){if(f>>>0>n>>>0)k=Rx(x,n,f,0,1)|0;else k=Rx(x,f,n,0,1)|0;Az(k,134378,176,1)|0;g=c[i+16>>2]|0;u=c[k+16>>2]|0;h[u+136>>3]=+h[g+136>>3];h[u+128>>3]=+h[g+128>>3];f=c[(c[f+16>>2]|0)+112>>2]|0;g=f+4|0;c[g>>2]=(c[g>>2]|0)+1;g=c[(c[o>>2]|0)+112>>2]|0;t=g+4|0;c[t>>2]=(c[t>>2]|0)+1;if(!(c[u+172>>2]|0)){c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}dp(k,i)}i=Gx(d,i)|0}m=Ty(d,m)|0}f=c[(c[v>>2]|0)+140>>2]|0;g=c[f>>2]|0;if(g|0){i=uH((c[f+4>>2]<<4)+16|0)|0;c[c[(c[w>>2]|0)+140>>2]>>2]=i;f=0;while(1){if(!(c[g>>2]|0))break;m=c[(c[(c[g+4>>2]|0)+16>>2]|0)+164>>2]|0;if(m){ep(d,g);n=bp(x,190692)|0;o=n+16|0;c[(c[o>>2]|0)+120>>2]=j;if(n>>>0>m>>>0)k=Rx(x,m,n,0,1)|0;else k=Rx(x,n,m,0,1)|0;Az(k,134378,176,1)|0;u=c[g>>2]|0;t=c[u+16>>2]|0;v=c[k+16>>2]|0;h[v+136>>3]=+h[t+136>>3];h[v+128>>3]=+h[t+128>>3];dp(k,u);u=c[(c[o>>2]|0)+112>>2]|0;v=u+4|0;c[v>>2]=(c[v>>2]|0)+1;v=c[(c[m+16>>2]|0)+112>>2]|0;t=v+4|0;c[t>>2]=(c[t>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+1;c[i+4>>2]=n;h[i+8>>3]=+h[g+8>>3];c[i>>2]=k;f=f+1|0;i=i+16|0;j=j+1|0}g=g+16|0}c[(c[(c[w>>2]|0)+140>>2]|0)+4>>2]=f}l=y;return x|0}function Uo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;l=c[a+16>>2]|0;k=c[l+212>>2]|0;l=c[(c[l+112>>2]|0)+4>>2]|0;do if(l|0){j=uH((l<<4)+16|0)|0;f=Zo(a,b)|0;g=f+8|0;b=0;e=f;while(1){if(!(c[e>>2]|0))break;i=e+24|0;if(!(c[i>>2]|0))d=+h[g>>3]+6.283185307179586;else d=+h[e+32>>3];b=_o(a,e,j,b,d)|0;e=i}if((b|0)==(l|0)){a=c[(c[k+16>>2]|0)+140>>2]|0;c[a>>2]=j;c[a+4>>2]=l;D_(f);break}else qa(90656,90666,766,90675)}while(0);return k|0}function Vo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0;B=l;l=l+32|0;x=B+16|0;A=B;m=c[g+8>>2]|0;j=c[g+12>>2]|0;y=(c[g>>2]|0)==(f|0);z=(b|0)!=0;a:do if(z){p=c[(c[d>>2]|0)+16>>2]|0;k=+h[p+16>>3];m=~~(k+(k>=0.0?.5:-.5));c[A>>2]=m;k=+h[p+24>>3];g=~~(k+(k>=0.0?.5:-.5));u=A+4|0;c[u>>2]=g;k=+h[p+32>>3];n=~~(k+(k>=0.0?.5:-.5));v=A+8|0;c[v>>2]=n;k=+h[p+40>>3];p=~~(k+(k>=0.0?.5:-.5));w=A+12|0;c[w>>2]=p;if((b|0)>1){q=c[e>>2]|0;t=c[e+4>>2]|0;m=q+m|0;c[A>>2]=m;b=t+g|0;c[u>>2]=b;n=q+n|0;c[v>>2]=n;q=x+4|0;r=x+8|0;s=x+12|0;o=e;g=d;t=t+p|0;p=b;while(1){g=g+4|0;j=o+8|0;c[w>>2]=t;b=c[g>>2]|0;if(!b){j=0;r=p;s=t;break a}E=c[b+16>>2]|0;G=+h[E+16>>3];i=+h[E+24>>3];k=+h[E+32>>3];H=+h[E+40>>3];E=~~(H+(H>=0.0?.5:-.5));c[s>>2]=E;b=c[j>>2]|0;F=c[o+12>>2]|0;D=b+~~(G+(G>=0.0?.5:-.5))|0;c[x>>2]=D;C=F+~~(i+(i>=0.0?.5:-.5))|0;c[q>>2]=C;b=b+~~(k+(k>=0.0?.5:-.5))|0;c[r>>2]=b;E=F+E|0;c[s>>2]=E;D=c[((m|0)<(D|0)?A:x)>>2]|0;c[A>>2]=D;C=c[((p|0)<(C|0)?A:x)+4>>2]|0;c[u>>2]=C;b=c[((n|0)>(b|0)?A:x)+8>>2]|0;c[v>>2]=b;o=j;t=c[((t|0)>(E|0)?A:x)+12>>2]|0;m=D;p=C;n=b}}else{j=0;r=g;s=p}}else{c[A>>2]=0;c[A+4>>2]=0;n=KL(f,m,54,3)|0;c[A+8>>2]=n;s=KL(f,j,36,3)|0;c[A+12>>2]=s;j=1;m=0;r=0}while(0);b=f+16|0;o=c[b>>2]|0;g=c[o+12>>2]|0;if(g){H=+h[g+24>>3];g=m-n+~~(H+(H>=0.0?.5:-.5))|0;if((g|0)>0){g=g>>>1;m=m-g|0;c[A>>2]=m;n=n+g|0;c[A+8>>2]=n;g=0}else g=0}else g=j;if(y|(g|0)!=0){j=0;g=o}else{j=KL(a,c[46374]|0,8,0)|0;g=c[b>>2]|0}q=j-m|0;p=~~(+h[g+56>>3]+ +(j-r|0));c[A>>2]=0;c[A+4>>2]=0;o=q+j+n|0;c[A+8>>2]=o;b=~~(+h[g+88>>3]+ +(j+p|0)+ +(s|0));c[A+12>>2]=b;b:do if(z){g=e;c:while(1){n=d+4|0;j=c[d>>2]|0;if(!j)break b;if(!g){m=0;d=q;g=p}else{m=g+8|0;d=(c[g>>2]|0)+q|0;g=(c[g+4>>2]|0)+p|0}k=+(d|0)*.013888888888888888;i=+(g|0)*.013888888888888888;d=Sy(j)|0;while(1){if(!d){d=n;g=m;continue c}F=c[(c[d+16>>2]|0)+132>>2]|0;h[F>>3]=+h[F>>3]+k;F=F+8|0;h[F>>3]=+h[F>>3]+i;d=Ty(j,d)|0}}}while(0);F=c[(c[a+16>>2]|0)+140>>2]|0;E=F+8|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;h[F+24>>3]=+(o|0)*.013888888888888888;h[F+32>>3]=+(b|0)*.013888888888888888;l=B;return}function Wo(a,b){a=a|0;b=b|0;var d=0,e=0;while(1){d=c[b>>2]|0;if(!d)break;Xo(d);Cz(d,134401)|0;b=b+4|0}b=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;if(b|0)D_(b);Xo(a);Cz(a,134401)|0;d=Sy(a)|0;while(1){if(!d)break;e=Ty(a,d)|0;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+172>>2]|0);Cz(b,134378)|0;b=Gx(a,b)|0}Yo(d);d=e}$x(a)|0;return}function Xo(a){a=a|0;D_(c[(c[a+16>>2]|0)+140>>2]|0);return}function Yo(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);Cz(a,134365)|0;return}function Zo(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;l=c[c[(c[k>>2]|0)+112>>2]>>2]|0;m=uH((l*24|0)+24|0)|0;i=0;j=Jx(b,a)|0;while(1){if(!j)break;f=c[j>>2]&3;e=c[((f|0)==2?j:j+-48|0)+40>>2]|0;if((e|0)==(a|0))e=c[((f|0)==3?j:j+48|0)+40>>2]|0;e=c[(c[e+16>>2]|0)+132>>2]|0;f=c[(c[k>>2]|0)+132>>2]|0;g=+h[e>>3]-+h[f>>3];d=+h[e+8>>3]-+h[f+8>>3];c[m+(i*24|0)>>2]=j;h[m+(i*24|0)+8>>3]=+K(+d,+g);h[m+(i*24|0)+16>>3]=d*d+g*g;i=i+1|0;j=Kx(b,j,a)|0}if((i|0)!=(l|0))qa(90689,90666,642,90698);_0(m,l,24,67);a:do if((l|0)>1){j=l+-1|0;e=0;b:while(1){if((e|0)>=(j|0))break a;g=+h[m+(e*24|0)+8>>3];f=e+1|0;i=f;while(1){if((i|0)>=(l|0))break;if(!(+h[m+(i*24|0)+8>>3]==g))break;i=i+1|0}if((i|0)==(f|0)){e=f;continue}if((i|0)==(l|0))d=3.141592653589793;else d=+h[m+(i*24|0)+8>>3];d=(d-g)/+(i-e|0);d=d>.03490658503988659?.03490658503988659:d;g=0.0;while(1){if((e|0)>=(i|0))continue b;k=m+(e*24|0)+8|0;h[k>>3]=+h[k>>3]+g;g=g+d;e=e+1|0}}}while(0);return m|0}function _o(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0;k=c[d>>2]|0;n=c[k+16>>2]|0;m=b[n+168>>1]|0;o=m<<16>>16;j=c[k>>2]&3;i=c[((j|0)==2?k:k+-48|0)+40>>2]|0;if((i|0)==(a|0))i=c[((j|0)==3?k:k+48|0)+40>>2]|0;p=+h[d+8>>3];g=(g-p)/+(m<<16>>16);g=g>.03490658503988659?.03490658503988659:g;m=i>>>0>a>>>0;l=m?g:-g;d=m?1:-1;k=0;i=c[n+172>>2]|0;j=m?f:f+-1+o|0;g=m?p:g*+(o+-1|0)+p;while(1){if((k|0)>=(o|0))break;n=c[i>>2]|0;c[e+(j<<4)>>2]=n;m=c[n>>2]&3;q=(m|0)==3?n:n+48|0;c[e+(j<<4)+4>>2]=c[((c[(c[(c[q+40>>2]|0)+16>>2]|0)+164>>2]|0)==(a|0)?q:(m|0)==2?n:n+-48|0)+40>>2];h[e+(j<<4)+8>>3]=g;k=k+1|0;i=i+4|0;j=j+d|0;g=g+l}return o+f|0}function $o(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];if(!(c>d))if(!(c<d)){d=+h[a+16>>3];c=+h[b+16>>3];if(d>c)a=1;else a=(d<c)<<31>>31}else a=-1;else a=1;return a|0}function ap(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=nx(a,0,c,0)|0;do if(d|0){a=yx(a,d)|0;d=nx(b,0,c,0)|0;if(!d){nx(b,0,c,a)|0;break}else{rx(b,d,a)|0;break}}while(0);return}function bp(a,b){a=a|0;b=b|0;var d=0,f=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;f=uH(32)|0;d=b+16|0;c[(c[d>>2]|0)+112>>2]=f;a=vH((e[(c[a+16>>2]|0)+176>>1]|0)<<3)|0;c[(c[d>>2]|0)+132>>2]=a;return b|0}function cp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;n=q+56|0;m=q+32|0;p=q;o=q+64|0;i=c[e+4>>2]|0;k=yx(b,i)|0;do if(a[k>>0]|0){if((c[e>>2]|0)!=(b|0)){e=yx(yA(b)|0,i)|0;if((e|0)==(k|0))break;if(!(b$(k,e)|0))break}a[o>>0]=0;e=p+8|0;i=p+16|0;j=p+24|0;c[m>>2]=p;c[m+4>>2]=e;c[m+8>>2]=i;c[m+12>>2]=j;c[m+16>>2]=o;if((N1(k,90851,m)|0)<=3){c[n>>2]=ry(b)|0;c[n+4>>2]=k;Pw(0,90869,n)|0;break}g=+h[22908];if(g>0.0){h[p>>3]=+h[p>>3]/g;h[e>>3]=+h[e>>3]/g;h[i>>3]=+h[i>>3]/g;h[j>>3]=+h[j>>3]/g}e=a[o>>0]|0;if(e<<24>>24==33)a[(c[d+16>>2]|0)+119>>0]=3;else a[(c[d+16>>2]|0)+119>>0]=e<<24>>24==63?2:1;c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[f+16>>2]=c[p+16>>2];c[f+20>>2]=c[p+20>>2];c[f+24>>2]=c[p+24>>2];c[f+28>>2]=c[p+28>>2]}while(0);l=q;return}function dp(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;a=b[f+168>>1]|0;f=c[f+172>>2]|0;if(!f){a=a<<16>>16;e=a;a=vH((a<<2)+4|0)|0}else{a=a<<16>>16;e=a;a=xH(f,(a<<2)+4|0)|0}c[a+(e<<2)>>2]=d;d=c[g>>2]|0;c[d+172>>2]=a;d=d+168|0;b[d>>1]=(b[d>>1]|0)+1<<16>>16;return}function ep(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+48|0;h=i+24|0;g=i;e=c[b>>2]|0;d=c[e>>2]&3;f=c[((d|0)==2?e:e+-48|0)+40>>2]|0;d=c[((d|0)==3?e:e+48|0)+40>>2]|0;b=W_(ry(a)|0)|0;j=W_(ry(f)|0)|0;j=(b+8+j+(W_(ry(d)|0)|0)|0)>999;b=ry(a)|0;if(j){d=ry(d)|0;j=ry(f)|0;h=(c[e>>2]|0)>>>4;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=j;j=g+16|0;c[j>>2]=h;c[j+4>>2]=0;Y0(190692,90809,g)|0}else{d=c[(c[d+16>>2]|0)+120>>2]|0;j=c[(c[f+16>>2]|0)+120>>2]|0;g=(c[e>>2]|0)>>>4;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=j;j=h+16|0;c[j>>2]=g;c[j+4>>2]=0;Y0(190692,90828,h)|0}l=i;return}function fp(a){a=a|0;var d=0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;j=4;i=C_(40)|0;c[i>>2]=0;g=+h[22908];o=0;f=+Z(1,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){h[22908]=f;o=0;ia(100,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){i=D3(184132,1,i|0,j|0)|0;j=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){d=E3(c[e>>2]|0,i|0,j|0)|0;if(!d)bb(e|0,p|0);z=p}else d=-1;if((d|0)!=1)d=0;else d=z}else d=z}else d=z;while(1){if(d|0)break;o=0;ia(101,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}o=0;$(22,a|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}if(b[(c[a+16>>2]|0)+136>>1]&14){o=0;ia(102,a|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;continue}}o=0;ja(22,a|0,0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,i|0,j|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1)d=z;else{k=12;break}}if((k|0)==12)h[22908]=g;D_(i|0);return}function gp(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i;e=a+16|0;f=b[(c[e>>2]|0)+136>>1]&14;d=f&65535;if((f&65535)>8){if(f<<16>>16==12){if(Wm(a,22,10)|0){c[46363]=2;h=5}}else h=5;do if((h|0)==5)if(!(b[(c[e>>2]|0)+136>>1]&1)){Ym(a,d)|0;break}else{Pw(0,90912,g)|0;d=2;break}while(0);c[46363]=0}if((c[46367]|0)<1)Ym(a,d)|0;l=i;return}function hp(a){a=a|0;var b=0.0,d=0.0,e=0;e=l;l=l+16|0;c[45704]=1;c[45705]=1;c[45707]=-1;c[45709]=50;h[22860]=0.0;h[22855]=0.0;h[22856]=1.0;c[45708]=KL(a,nx(a,0,90975,0)|0,600,0)|0;d=+LL(a,nx(a,0,90983,0)|0,.3,0.0);h[22857]=d;h[1371]=d;if(-1.0==-1.0)b=+LL(a,nx(a,0,90985,0)|0,-1.0,0.0);else b=-1.0;h[22858]=b;c[45706]=1;a=om(a,2,182824)|0;c[45718]=a;if(!a){Pw(0,90988,e)|0;c[45706]=2}c[45734]=(O(c[45708]|0,c[45709]|0)|0)/100|0;d=+h[22857];h[22862]=d*d;if(c[45704]|0){b=+h[22860];if(b<=0.0){b=d*3.0;h[22860]=b}h[22861]=b*b}l=e;return}function ip(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=l;l=l+16|0;d=j;g=c[c[(c[a+16>>2]|0)+140>>2]>>2]|0;i=jp(a,b)|0;kp(d,a,g);e=+h[d>>3];f=+h[d+8>>3];a:do if(!(c[45704]|0)){b=0;while(1){if((b|0)>=(c[45735]|0))break a;np(a,+lp(b),g);b=b+1|0}}else{d=Ku(ay(a)|0)|0;Pu(d,ay(a)|0);b=0;while(1){if((b|0)>=(c[45735]|0))break;mp(a,+lp(b),g,d);b=b+1|0}Ru(d)}while(0);b:do if(e!=0.0|f!=0.0){b=Sy(a)|0;while(1){if(!b)break b;g=c[(c[b+16>>2]|0)+132>>2]|0;h[g>>3]=+h[g>>3]+e;g=g+8|0;h[g>>3]=+h[g>>3]+f;b=Ty(a,b)|0}}while(0);if(i|0)op();l=j;return}function jp(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0;if(+h[22858]==-1.0){i=ay(a)|0;d=+h[22857];h[22858]=+h[22856]*.2*d*+C(+(+(i|0)));i=1}else{i=0;d=+h[22857]}g=c[45734]|0;h[b+8>>3]=+lp(g);h[b+16>>3]=d;h[b+24>>3]=+h[22855];e=c[45708]|0;a=e-g|0;c[b>>2]=a;f=c[45707]|0;do if((f|0)>-1){if((f|0)<=(g|0)){c[45735]=f;a=0;j=10;break}if((f|0)<=(e|0)){c[45735]=g;a=f-g|0;j=10}}else{c[45735]=g;j=10}while(0);if((j|0)==10)c[b+32>>2]=a;return i|0}function kp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0,y=0,z=0;v=ay(d)|0;x=c[(c[(c[d+16>>2]|0)+140>>2]|0)+4>>2]|0;u=Sy(d)|0;q=0;r=0;g=0;k=0;n=0;while(1){if(!u)break;f=c[u+16>>2]|0;if(!(a[f+119>>0]|0))f=r;else{f=c[f+132>>2]|0;i=+h[f>>3];if(!q){k=~~i;g=~~+h[f+8>>3];n=g;f=k}else{p=+(r|0);s=+h[f+8>>3];t=+(g|0);w=+(k|0);o=+(n|0);n=~~(s>o?s:o);f=~~(i<p?i:p);g=~~(s<t?s:t);k=~~(i>w?i:w)}q=q+1|0}u=Ty(d,u)|0;r=f}i=+h[22857]*(+C(+(+(v-x|0)))+1.0);s=i*.6;h[22864]=s;h[22863]=s;if((q|0)!=1)if((q|0)>1){t=+(k+r|0)*.5;w=+(n+g|0)*.5;o=+(k-r|0);p=o*1.2;l=+(n-g|0);m=l*1.2;i=i*2.4*s;j=m*p/i;do if(!(j>=1.0)){if(j>0.0){i=+C(+j)*2.0;j=p/i;h[22863]=j;i=m/i;z=20;break}if(p>0.0){j=o*.6;h[22863]=j;i=i/p*.5;z=20;break}if(m>0.0){j=i/m*.5;h[22863]=j;i=l*.6;z=20}else{i=s;j=s}}else{j=o*.6;h[22863]=j;i=l*.6;z=20}while(0);if((z|0)==20)h[22864]=i;s=+K(+i,+j);j=j/+E(+s);h[22863]=j;i=i/+F(+s);h[22864]=i}else{t=0.0;w=0.0;j=s;i=s}else{t=+(r|0);w=+(g|0);j=s;i=s}h[22865]=j*j;h[22866]=i*i;if((c[45718]|0)==2)f=c[45706]|0;else{f=H1()|0;f=(db(0)|0)^f}i2(f);a:do if(!e){e=Sy(d)|0;if(!q)while(1){if(!e)break a;s=+h[22863];s=(+k2()*2.0+-1.0)*s;z=e+16|0;h[c[(c[z>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[z>>2]|0)+132>>2]|0)+8>>3]=s;e=Ty(d,e)|0}while(1){if(!e)break a;f=e+16|0;g=c[f>>2]|0;if(!(a[g+119>>0]|0)){s=+h[22863];s=(+k2()*2.0+-1.0)*s;h[c[(c[f>>2]|0)+132>>2]>>3]=s;s=+h[22864];s=(+k2()*2.0+-1.0)*s;h[(c[(c[f>>2]|0)+132>>2]|0)+8>>3]=s}else{z=c[g+132>>2]|0;h[z>>3]=+h[z>>3]-t;z=z+8|0;h[z>>3]=+h[z>>3]-w}e=Ty(d,e)|0}}else{while(1){if(!(c[e>>2]|0))break;u=e+8|0;s=+E(+(+h[u>>3]))*+h[22863]+t;x=c[(c[e+4>>2]|0)+16>>2]|0;v=c[x+132>>2]|0;h[v>>3]=s;h[v+8>>3]=+F(+(+h[u>>3]))*+h[22864]+w;a[x+119>>0]=1;e=e+16|0}l=t*.1;m=w*.1;r=Sy(d)|0;while(1){if(!r)break a;q=r+16|0;e=c[q>>2]|0;if(!((c[(c[e+112>>2]|0)+8>>2]|0)==0?!(c[e+212>>2]|0):0))z=32;do if((z|0)==32){z=0;if(a[e+119>>0]|0){x=c[e+132>>2]|0;h[x>>3]=+h[x>>3]-t;x=x+8|0;h[x>>3]=+h[x>>3]-w;break}n=Jx(d,r)|0;e=0;j=0.0;i=0.0;while(1){if(!n)break;k=c[n>>2]&3;f=(k|0)==2?n:n+-48|0;g=c[f+40>>2]|0;k=(k|0)==3?n:n+48|0;do if((g|0)!=(c[k+40>>2]|0)?(y=c[(c[((g|0)==(r|0)?k:f)+40>>2]|0)+16>>2]|0,(a[y+119>>0]|0)!=0):0)if(!e){x=c[y+132>>2]|0;e=1;j=+h[x>>3];i=+h[x+8>>3];break}else{p=+(e|0);x=c[y+132>>2]|0;e=e+1|0;s=+(e|0);j=(+h[x>>3]+j*p)/s;i=(+h[x+8>>3]+i*p)/s;break}while(0);n=Kx(d,n,r)|0}do if((e|0)<=1)if((e|0)==1){f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j*.98+l;i=i*.9+m;break}else{i=+k2()*6.283185307179586;s=+k2()*.9;p=s*+h[22863]*+E(+i);f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=p;i=+h[22864]*s*+F(+i);break}else{f=c[q>>2]|0;e=c[f+132>>2]|0;h[e>>3]=j}while(0);h[e+8>>3]=i;a[f+119>>0]=1}while(0);r=Ty(d,r)|0}}while(0);h[b>>3]=t;h[b+8>>3]=w;return}function lp(a){a=a|0;var b=0;b=c[45708]|0;return +(+h[22858]*+(b-a|0)/+(b|0))}function mp(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;if(!(b<=0.0)){Qu(e);f=Sy(a)|0;while(1){if(!f)break;i=c[f+16>>2]|0;g=(c[i+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;i=c[i+132>>2]|0;j=+h[22860];g=~~+A(+(+h[i>>3]/j));Tu(e,g,~~+A(+(+h[i+8>>3]/j)),f);f=Ty(a,f)|0}g=Sy(a)|0;while(1){if(!g)break;f=Ex(a,g)|0;while(1){if(!f)break;i=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((g|0)!=(i|0))qp(g,i,f);f=Gx(a,f)|0}g=Ty(a,g)|0}Vu(e,23);rp(a,b,d)}return}function np(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0;if(!(b<=0.0)){e=Sy(a)|0;while(1){if(!e)break;g=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;e=Ty(a,e)|0}g=Sy(a)|0;while(1){if(!g)break;else e=g;while(1){e=Ty(a,e)|0;if(!e)break;pp(g,e)}e=Ex(a,g)|0;while(1){if(!e)break;f=c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0;if((g|0)!=(f|0))qp(g,f,e);e=Gx(a,e)|0}g=Ty(a,g)|0}rp(a,b,d)}return}function op(){h[22858]=-1.0;return}function pp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];sp(a,b,d,e,e*e+d*d);return}function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0;j=b+16|0;k=c[(c[j>>2]|0)+132>>2]|0;a=a+16|0;b=c[(c[a>>2]|0)+132>>2]|0;e=+h[k>>3]-+h[b>>3];f=+h[k+8>>3]-+h[b+8>>3];g=e;i=f;e=e*e;f=f*f;while(1){e=e+f;if(!(e==0.0))break;e=+(5-((g2()|0)%10|0)|0);f=+(5-((g2()|0)%10|0)|0);g=e;i=f;e=e*e;f=f*f}f=+C(+e);b=c[d+16>>2]|0;e=+h[b+128>>3];if(!(c[45705]|0))e=e*f/+h[b+136>>3];else e=(f-+h[b+136>>3])*e/f;g=e*g;k=c[(c[j>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]-g;i=e*i;k=k+24|0;h[k>>3]=+h[k>>3]-i;k=c[(c[a>>2]|0)+112>>2]|0;j=k+16|0;h[j>>3]=+h[j>>3]+g;k=k+24|0;h[k>>3]=+h[k>>3]+i;return}function rp(b,d,e){b=b|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0;o=d*d;n=(e|0)==0;m=Sy(b)|0;while(1){if(!m)break;l=c[m+16>>2]|0;if(!(a[l+119>>0]&2)){k=c[l+112>>2]|0;f=+h[k+16>>3];i=+h[k+24>>3];g=i*i+f*f;if(g<o){e=c[l+132>>2]|0;j=+h[e>>3]+f;f=+h[e+8>>3]+i}else{g=d/+C(+g);e=c[l+132>>2]|0;j=+h[e>>3]+g*f;f=+h[e+8>>3]+g*i}do if(!n){g=+C(+(f*f/+h[22866]+j*j/+h[22865]));if((c[k+8>>2]|0)==0?(c[l+212>>2]|0)==0:0){h[e>>3]=j/g;f=f/g;break}if(!(g>=1.0)){h[e>>3]=j;break}else{h[e>>3]=j*.95/g;f=f*.95/g;break}}else h[e>>3]=j;while(0);h[e+8>>3]=f}m=Ty(b,m)|0}return}function sp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0;g=d;d=f;while(1){if(!(d==0.0))break;d=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);g=d;d=e*e+d*d}if(!(c[45705]|0))d=+h[22862]/d;else{f=+C(+d);d=+h[22862]/(f*d)}j=c[a+16>>2]|0;a=c[j+112>>2]|0;if(((c[a+8>>2]|0)==0?(c[j+212>>2]|0)==0:0)?(i=c[b+16>>2]|0,(c[(c[i+112>>2]|0)+8>>2]|0)==0):0)d=(c[i+212>>2]|0)==0?d*10.0:d;f=d*g;j=c[(c[b+16>>2]|0)+112>>2]|0;b=j+16|0;h[b>>3]=+h[b>>3]+f;g=d*e;j=j+24|0;h[j>>3]=+h[j>>3]+g;j=a+16|0;h[j>>3]=+h[j>>3]-f;j=a+24|0;h[j>>3]=+h[j>>3]-g;return}function tp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+8>>2]|0;g=c[b>>2]|0;e=c[b+4>>2]|0;b=f;while(1){if(!b)break;a=f;while(1){if(!a)break;if((b|0)!=(a|0))pp(c[b>>2]|0,c[a>>2]|0);a=c[a+4>>2]|0}b=c[b+4>>2]|0}h=g+-1|0;a=e+-1|0;up(d,h,a,f);up(d,h,e,f);b=e+1|0;up(d,h,b,f);up(d,g,a,f);up(d,g,b,f);g=g+1|0;up(d,g,a,f);up(d,g,e,f);up(d,g,b,f);return 0}function up(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0;a=Wu(a,b,d)|0;if((e|0)!=0&(a|0)!=0){k=a+8|0;do{d=c[e>>2]|0;j=d+16|0;a=k;while(1){a=c[a>>2]|0;if(!a)break;b=c[a>>2]|0;m=c[(c[b+16>>2]|0)+132>>2]|0;l=c[(c[j>>2]|0)+132>>2]|0;f=+h[m>>3]-+h[l>>3];g=+h[m+8>>3]-+h[l+8>>3];i=g*g+f*f;if(i<+h[22861])sp(d,b,f,g,i);a=a+4|0}e=c[e+4>>2]|0}while((e|0)!=0)}return}function vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;e=xx(b,91095)|0;if(0)E1(91032,8,1,c[15686]|0)|0;if(!((e|0)!=0?(a[e>>0]|0)!=0:0))e=91041;f=A$(e,58)|0;do if(!f)f=0;else{if((f|0)!=(e|0)?((a[e>>0]|0)+-48|0)>>>0>=10:0){f=0;break}i=a2(e)|0;e=f+1|0;f=(i|0)>0?i:0}while(0);if(0){i=c[15686]|0;c[g>>2]=f;c[g+4>>2]=e;g1(i,91049,g)|0}if(!((f|0)!=0?!(wp(b,d,f)|0):0))sq(b,e)|0;l=h;return}function wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;t=l;l=l+64|0;r=t;j=t+40|0;s=ay(b)|0;k=by(b)|0;qq(j,b);c[46072]=c[j>>2];c[46073]=c[j+4>>2];c[46074]=c[j+8>>2];if(a[184296]|0){g[46072]=+g[46072]*.013888888888888888;g[46073]=+g[46073]*.013888888888888888}f=xp(b)|0;a:do if(!f)f=0;else{j=r;i=j+40|0;do{c[j>>2]=c[d>>2];j=j+4|0;d=d+4|0}while((j|0)<(i|0));j=r+16|0;q=+h[j>>3];o=+(k|0)*2.0;p=1.0/+(O(s+-1|0,s)|0);i=0;n=q;while(1){if(!((f|0)!=0&(i|0)<(e|0)))break a;yp(s,r);m=+h[22868]*+h[170];h[22869]=m;h[22870]=o*m*p;d=0;while(1){if((d|0)>=(c[45742]|0))break;m=+zp(d);if(m<=0.0)break;f=Ap(b,m)|0;if(!f){f=0;break}else d=d+1|0}m=n+q;h[j>>3]=m;i=i+1|0;n=m}}while(0);l=t;return f|0}function xp(a){a=a|0;var b=0,c=0,d=0,e=0;b=0;e=Sy(a)|0;while(1){if(!e)break;else d=e;while(1){c=Ty(a,d)|0;if(!c)break;d=c;b=(Dp(e,c)|0)+b|0}e=Ty(a,e)|0}return b|0}function yp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0;e=+h[b+16>>3];h[171]=e;c[344]=c[b>>2];f=+h[b+8>>3];h[22872]=f;c[45742]=c[b+32>>2];d=+h[b+24>>3];if(d>0.0)h[170]=d;h[22868]=e*e;if(f==0.0)h[22872]=+C(+(+(a|0)))*.2*e;return}function zp(a){a=a|0;var b=0;b=c[344]|0;return +(+h[22872]*+(b-a|0)/+(b|0))}function Ap(b,d){b=b|0;d=+d;var e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;e=Sy(b)|0;while(1){if(!e)break;j=(c[(c[e+16>>2]|0)+112>>2]|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;e=Ty(b,e)|0}e=0;j=Sy(b)|0;while(1){if(!j)break;else g=j;while(1){f=Ty(b,g)|0;if(!f)break;g=f;e=(Bp(j,f)|0)+e|0}f=Ex(b,j)|0;while(1){if(!f)break;Cp(j,c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0);f=Gx(b,f)|0}j=Ty(b,j)|0}a:do if(!e)e=0;else{m=d*d;g=Sy(b)|0;while(1){if(!g)break a;f=c[g+16>>2]|0;if((a[f+119>>0]|0)!=3){j=c[f+112>>2]|0;k=+h[j+16>>3];i=+h[j+24>>3];l=i*i+k*k;if(l<m){f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k}else{l=+C(+l);f=c[f+132>>2]|0;h[f>>3]=+h[f>>3]+k*d/l;i=i*d/l}j=f+8|0;h[j>>3]=+h[j>>3]+i}g=Ty(b,g)|0}}while(0);return e|0}function Bp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0;g=c[(c[b+16>>2]|0)+132>>2]|0;f=c[(c[a+16>>2]|0)+132>>2]|0;d=+h[g>>3]-+h[f>>3];e=+h[g+8>>3]-+h[f+8>>3];return Fp(a,b,d,e,e*e+d*d)|0}function Cp(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0.0,k=0.0,l=0,m=0;if(!(Dp(a,b)|0)){i=c[b+16>>2]|0;m=c[i+132>>2]|0;f=c[a+16>>2]|0;l=c[f+132>>2]|0;e=+h[m>>3]-+h[l>>3];d=+h[m+8>>3]-+h[l+8>>3];g=+C(+(d*d+e*e));j=+Ep(a);j=+Ep(b)+j;k=g-j;g=k*k/((+h[171]+j)*g);e=g*e;b=c[i+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-e;d=g*d;b=b+24|0;h[b>>3]=+h[b>>3]-d;b=c[f+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]+e;b=b+24|0;h[b>>3]=+h[b>>3]+d}return}function Dp(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0,l=0;k=c[d+16>>2]|0;l=c[k+132>>2]|0;d=c[b+16>>2]|0;b=c[d+132>>2]|0;i=+h[l>>3]-+h[b>>3];j=+h[l+8>>3]-+h[b+8>>3];j=j<0.0?-j:j;b=(a[184296]|0)==0;e=+h[d+32>>3];if(b){f=+g[46072];e=e*.5*f;f=+h[k+32>>3]*.5*f}else{f=+g[46072];e=e*.5+f;f=+h[k+32>>3]*.5+f}if(!((i<0.0?-i:i)<=f+e))d=0;else{e=+h[d+40>>3];if(b){i=+g[46073];f=e*.5*i;e=+h[k+40>>3]*.5*i}else{i=+g[46073];f=e*.5+i;e=+h[k+40>>3]*.5+i}d=j<=e+f&1}return d|0}function Ep(b){b=b|0;var d=0.0,e=0.0;b=c[b+16>>2]|0;d=+h[b+32>>3];if(!(a[184296]|0)){e=d*.5*+g[46072];d=+h[b+40>>3]*.5*+g[46073]}else{e=d*.5+ +g[46072];d=+h[b+40>>3]*.5+ +g[46073]}return +(+C(+(d*d+e*e)))}function Fp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0,i=0;while(1){if(!(f==0.0))break;f=+(5-((g2()|0)%10|0)|0);e=+(5-((g2()|0)%10|0)|0);d=f;f=e*e+f*f}g=Dp(a,b)|0;f=((g|0)==0?+h[22870]:+h[22869])/f;d=f*d;b=c[(c[b+16>>2]|0)+112>>2]|0;i=b+16|0;h[i>>3]=+h[i>>3]+d;f=f*e;b=b+24|0;h[b>>3]=+h[b>>3]+f;b=c[(c[a+16>>2]|0)+112>>2]|0;a=b+16|0;h[a>>3]=+h[a>>3]-d;b=b+24|0;h[b>>3]=+h[b>>3]-f;return g|0}function Gp(a){a=a|0;$M(a,2);b[(c[a+16>>2]|0)+176>>1]=2;c[46366]=2;Hp(a);return}function Hp(a){a=a|0;var b=0,d=0,e=0,f=0;e=uH((ay(a)|0)<<2)|0;b=uH(((ay(a)|0)<<2)+4|0)|0;f=a+16|0;c[(c[f>>2]|0)+152>>2]=b;b=Sy(a)|0;d=0;while(1){if(!b)break;$l(b);c[(c[b+16>>2]|0)+112>>2]=e+(d<<2);c[(c[(c[f>>2]|0)+152>>2]|0)+(d<<2)>>2]=b;b=Ty(a,b)|0;d=d+1|0}d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;Ip(b);b=Gx(a,b)|0}d=Ty(a,d)|0}return}function Ip(a){a=a|0;var b=0.0;Az(a,134378,176,1)|0;eM(a)|0;b=+LL(a,c[46404]|0,1.0,0.0);h[(c[a+16>>2]|0)+128>>3]=b;return}function Jp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+4|0;k=n;a[m>>0]=a[18492]|0;a[m+1>>0]=a[18493]|0;a[m+2>>0]=a[18494]|0;a[m+3>>0]=a[18495]|0;m=Xx(91072,m,0)|0;Az(m,91080,280,1)|0;c[(c[b+16>>2]|0)+140>>2]=m;e=Sy(b)|0;while(1){if(!e)break;f=e+16|0;if(!(c[c[(c[f>>2]|0)+112>>2]>>2]|0)){j=Kp(m,ry(e)|0,e)|0;c[c[(c[f>>2]|0)+112>>2]>>2]=j}e=Ty(b,e)|0}f=Sy(b)|0;while(1){if(!f)break;e=Ex(b,f)|0;while(1){if(!e)break;h=c[e>>2]&3;g=c[c[(c[(c[((h|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;h=c[c[(c[(c[((h|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((g|0)!=(h|0))Az(Rx(m,g,h,0,1)|0,134378,176,1)|0;e=Gx(b,e)|0}f=Ty(b,f)|0}j=oD(m,k,0)|0;f=0;while(1){if((f|0)>=(c[k>>2]|0))break;h=c[j+(f<<2)>>2]|0;e=Sy(h)|0;while(1){if(!e)break;g=Ex(b,c[c[(c[e+16>>2]|0)+112>>2]>>2]|0)|0;while(1){if(!g)break;i=c[c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]>>2]|0;if((e|0)!=(i|0)){i=Rx(m,e,i,0,1)|0;Az(i,134378,176,1)|0;Vx(h,i,1)|0}g=Gx(b,g)|0}e=Ty(h,e)|0}f=f+1|0}e=Sy(m)|0;while(1){if(!e)break;f=Ex(m,e)|0;while(1){if(!f)break;b=uH(8)|0;c[(c[f+16>>2]|0)+120>>2]=b;f=Gx(m,f)|0}e=Ty(m,e)|0}c[d>>2]=c[k>>2];l=n;return j|0}function Kp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=az(a,b,1)|0;Az(b,134365,304,1)|0;e=uH(40)|0;a=b+16|0;c[(c[a>>2]|0)+112>>2]=e;e=uH(c[46366]<<3)|0;a=c[a>>2]|0;c[a+132>>2]=e;e=c[d+16>>2]|0;h[a+88>>3]=+h[e+88>>3];h[a+96>>3]=+h[e+96>>3];h[a+80>>3]=+h[e+80>>3];c[c[a+112>>2]>>2]=d;return b|0}function Lp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;b=h+32|0;e=h;if(ay(a)|0){g=Jp(a,b)|0;f=c[b>>2]|0;b=c[g>>2]|0;if((f|0)==1){Xu(b,a);Mp(c[g>>2]|0);tq(a)|0}else{d=c[b+60>>2]|0;XD(a,2,8,e)|0;b=0;while(1){if((b|0)>=(f|0))break;i=c[g+(b<<2)>>2]|0;Xu(i,a);tq(i)|0;b=b+1|0}WD(f,g,d,e)|0;b=0;while(1){if((b|0)>=(f|0))break;Mp(c[g+(b<<2)>>2]|0);b=b+1|0}}D_(g)}l=h;return}function Mp(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;e=c[d+132>>2]|0;d=c[(c[(c[c[d+112>>2]>>2]|0)+16>>2]|0)+132>>2]|0;h[d>>3]=+h[e>>3];h[d+8>>3]=+h[e+8>>3];b=Ty(a,b)|0}return}function Np(a){a=a|0;if(ay(a)|0){Gp(a);Lp(a);D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);hn(a);eJ(a)}return}function Op(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;if(b|0){e=a+16|0;Pp(c[(c[e>>2]|0)+140>>2]|0);while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;JM(d);d=Gx(a,d)|0}HM(b);b=Ty(a,b)|0}D_(c[(c[e>>2]|0)+152>>2]|0);if((fz(a)|0)!=(a|0))Gz(a,0,134401)}return}function Pp(a){a=a|0;var b=0,d=0;d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;D_(c[(c[b+16>>2]|0)+120>>2]|0);b=Gx(a,b)|0}b=d+16|0;D_(c[(c[b>>2]|0)+112>>2]|0);D_(c[(c[b>>2]|0)+132>>2]|0);d=Ty(a,d)|0}$x(a)|0;return}function Qp(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0.0,p=0.0;m=l;l=l+16|0;k=m;a:do if(Rp(a,k)|0){b=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;g=+h[b>>3];e=+h[b+8>>3];b=Sy(a)|0;while(1){if(!b)break;f=c[(c[b+16>>2]|0)+132>>2]|0;h[f>>3]=+h[f>>3]-g;f=f+8|0;h[f>>3]=+h[f>>3]-e;b=Ty(a,b)|0}b=(g!=0.0|e!=0.0)&1;d=Sy(a)|0;while(1){if(!d)break a;f=Ex(a,d)|0;if(f|0)break;d=Ty(a,d)|0}n=c[f>>2]&3;d=c[(c[(c[((n|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;f=c[(c[(c[((n|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+132>>2]|0;i=+h[f+8>>3];j=+h[f>>3];e=+K(+(+h[d+8>>3]-i),+(+h[d>>3]-j));e=+h[k>>3]-e;h[k>>3]=e;if(e!=0.0){g=+E(+e);e=+F(+e);b=Sy(a)|0;while(1){if(!b){b=1;break a}k=c[(c[b+16>>2]|0)+132>>2]|0;p=+h[k>>3]-j;n=k+8|0;o=+h[n>>3]-i;h[k>>3]=p*g+j-o*e;h[n>>3]=p*e+i+o*g;b=Ty(a,b)|0}}}else b=0;while(0);l=m;return b|0}function Rp(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0;g=l;l=l+16|0;f=g;b=xx(b,91085)|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0){e=+c2(b,f);if((c[f>>2]|0)==(b|0))if(!((QL(b)|0)<<24>>24)){b=0;break}else e=0.0;while(1){if(!(e>180.0))break;e=e+-360.0}while(1){if(!(e<=-180.0))break;e=e+360.0}h[d>>3]=e*.017453292519943295;b=1}else b=0;while(0);l=g;return b|0}function Sp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,91095)|0;return Tp(a,(d|0)==0?(c|0?c:191979):d,b)|0}function Tp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;m=n+16|0;j=n+8|0;i=n;if((d|0)!=0?(a[d>>0]|0)!=0:0){f=17792;while(1){g=c[f+4>>2]|0;if(!g)break;if(!(V$(d,g,c[f+8>>2]|0)|0)){k=6;break}f=f+16|0}if((k|0)==6){if(!(c[f+12>>2]|0)){c[i>>2]=g;Pw(0,91103,i)|0;f=17792}i=c[f>>2]|0;c[e>>2]=i;c[e+4>>2]=c[f+12>>2];if((i|0)==18)Up(b,d+(c[f+8>>2]|0)|0,e)}if(!(c[f+4>>2]|0)){f=RL(d,63)|0;if(f<<24>>24==63){c[j>>2]=d;Pw(0,91145,j)|0;f=0}else f=f&255;f=(f|0)==0;c[e>>2]=f&1;f=f?91192:132627;k=15}}else{c[e>>2]=0;f=132627;k=15}if((k|0)==15)c[e+4>>2]=f;if(0){k=c[15686]|0;j=c[e+8>>2]|0;o=+h[e+16>>3];c[m>>2]=c[e+4>>2];c[m+4>>2]=j;h[m+8>>3]=o;g1(k,91200,m)|0}l=n;return e|0}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=g;f=(N1(b,134313,f)|0)>0;b=c[g>>2]|0;c[d+8>>2]=f&(b|0)>-1?b:1e3;h[d+16>>3]=+LL(a,nx(a,0,91236,0)|0,-4.0,-1.0e10);l=e;return}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h+8|0;f=h;do if((ay(a)|0)>=2){d=Qp(a)|0;d=(Wp(a)|0)+d|0;e=c[b>>2]|0;if(e){if(0){e=c[15686]|0;j=ry(a)|0;i=c[b+4>>2]|0;c[f>>2]=j;c[f+4>>2]=i;g1(e,91565,f)|0;e=c[b>>2]|0}if(e>>>0>2){switch(e|0){case 3:{e=Xq(a,1)|0;break}case 4:{e=Xq(a,0)|0;break}case 6:case 5:{e=0;break}case 10:case 9:case 7:case 8:case 14:case 13:case 11:case 12:{Hq(a,e)|0;e=0;break}case 15:{e=Xq(a,-1)|0;break}default:{c[g>>2]=c[b+4>>2];Pw(0,91588,g)|0;e=0}}d=e+d|0;break}if(Xp(a)|0){Yp();D_(c[46075]|0);c[46075]=0;break}Zp(a);if((c[b>>2]|0)==2)e=_p()|0;else e=$p()|0;if(e|0)aq();Yp();D_(c[46075]|0);c[46075]=0;d=e+d|0}}else d=0;while(0);l=h;return d|0}function Wp(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m+24|0;f=m+16|0;j=m;b=xx(a,137660)|0;a:do if(((b|0)!=0?(k=j+8|0,c[f>>2]=j,c[f+4>>2]=k,e=N1(b,102477,f)|0,(e|0)!=0):0)?(g=+h[j>>3],!(+B(+g)<1.0e-09)):0){if((e|0)!=1){d=+h[k>>3];if(+B(+d)<1.0e-09){b=0;break}}else{h[k>>3]=g;d=g}if(!(d==1.0&g==1.0)){if(0){f=c[15686]|0;h[i>>3]=g;h[i+8>>3]=d;g1(f,91748,i)|0}b=Sy(a)|0;while(1){if(!b){b=1;break a}i=c[(c[b+16>>2]|0)+132>>2]|0;h[i>>3]=+h[i>>3]*+h[j>>3];i=i+8|0;h[i>>3]=+h[i>>3]*+h[k>>3];b=Ty(a,b)|0}}else b=0}else b=0;while(0);l=m;return b|0}function Xp(b){b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;n=l;l=l+16|0;k=n;c[46084]=ay(b)|0;ur();c[46099]=vH((c[46084]|0)*96|0)|0;f=Sy(b)|0;d=c[46099]|0;qq(k,b);i=+g[k>>2];j=+g[k+4>>2];k=(a[k+8>>0]|0)==0;j=k?j:j*.013888888888888888;i=k?i:i*.013888888888888888;k=k?2:1;e=0;while(1){if((e|0)>=(c[46084]|0)){d=0;break}o=c[(c[f+16>>2]|0)+132>>2]|0;h[d+8>>3]=+h[o>>3];h[d+16>>3]=+h[o+8>>3];if(mb[k&3](d+40|0,f,i,j)|0){m=4;break}c[d+24>>2]=e;c[d+28>>2]=1;c[d>>2]=f;c[d+88>>2]=0;d=d+96|0;e=e+1|0;f=Ty(b,f)|0}if((m|0)==4){D_(c[46099]|0);c[46099]=0;d=1}l=n;return d|0}function Yp(){var a=0,b=0;a=c[46099]|0;b=0;while(1){if((b|0)>=(c[46084]|0))break;pt(a+40|0);a=a+96|0;b=b+1|0}ot();Wr();D_(c[46099]|0);return}function Zp(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0;o=l;l=l+32|0;m=o+16|0;n=o;p=c[46099]|0;i=+h[p+8>>3];k=+h[p+16>>3];f=c[46084]|0;d=p;e=1;g=+h[p+40>>3]+i;i=+h[p+56>>3]+i;j=+h[p+48>>3]+k;k=+h[p+64>>3]+k;while(1){if((e|0)>=(f|0))break;s=+h[d+104>>3];q=+h[d+112>>3];t=+h[d+136>>3]+s;r=+h[d+144>>3]+q;s=+h[d+152>>3]+s;q=+h[d+160>>3]+q;d=d+96|0;e=e+1|0;g=t<g?t:g;i=s>i?s:i;j=r<j?r:j;k=q>k?q:k}d=xx(b,91688)|0;if(d|0?a[d>>0]|0:0)h[173]=+b2(d);s=+h[173];t=s*(k-j);s=s*(i-g);h[m>>3]=g-s;h[m+8>>3]=j-t;h[n>>3]=s+i;h[n+8>>3]=t+k;iq(m,n);l=o;return}function _p(){var a=0,b=0,d=0,e=0;d=l;l=l+16|0;b=d;if(bq(0)|0){cq();a=0;do{pq();a=a+1|0}while((bq(a)|0)!=0);if(!0)a=1;else{e=c[15686]|0;c[b>>2]=a;g1(e,91616,b)|0;a=1}}else a=0;l=d;return a|0}function $p(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;g=i;b=bq(0)|0;if(!b)a=0;else{cq();dq(0);Yt(0,1);a=0;e=0;d=0;while(1){fq();d=d+1|0;f=bq(d)|0;if(!f)break;b=(f|0)<(b|0)?0:e+1|0;c[46076]=1;if(b){gq();a=a+1|0}dq(1);Yt(0,1);e=b;b=f}if(0){f=c[15686]|0;c[g>>2]=d;g1(f,91616,g)|0;c[h>>2]=a;g1(f,91643,h)|0}hq();a=1}l=i;return a|0}function aq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=c[46099]|0;b=0;while(1){if((b|0)>=(d|0))break;e=c[(c[(c[a>>2]|0)+16>>2]|0)+132>>2]|0;h[e>>3]=+h[a+8>>3];h[e+8>>3]=+h[a+16>>3];a=a+96|0;b=b+1|0}return}function bq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;o=q+24|0;n=q+8|0;p=q;d=c[46099]|0;e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0)){f=0;b=0;break}c[d+(b*96|0)+32>>2]=0;b=b+1|0}a:while(1){if((b|0)>=(e+-1|0))break;m=d+96|0;b=b+1|0;j=d+8|0;k=d+40|0;i=d+32|0;g=m;h=b;while(1){if((h|0)>=(e|0)){d=m;continue a}e=g+8|0;c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];if(!(yt(n,k,o,g+40|0)|0))d=f;else{c[i>>2]=1;c[g+32>>2]=1;d=f+1|0}g=g+96|0;h=h+1|0;f=d;e=c[46084]|0}}if(0>1){o=c[15686]|0;c[p>>2]=a;c[p+4>>2]=f;g1(o,91669,p)|0}l=q;return f|0}function cq(){var a=0,b=0,d=0,e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0;nq();k=c[46078]|0;l=c[46099]|0;a=c[46075]|0;a:while(1){i=a;if(a>>>0>=k>>>0)break;b=a+4|0;if(b>>>0>=k>>>0){a=b;continue}f=c[b>>2]|0;d=c[a>>2]|0;g=+h[d>>3];if(+h[f>>3]!=g){a=b;continue}e=+h[d+8>>3];if(+h[f+8>>3]!=e){a=b;continue}j=a+8|0;f=2;while(1){if(j>>>0>=k>>>0)break;d=c[j>>2]|0;if(!(+h[d>>3]==g)){m=11;break}if(!(+h[d+8>>3]==e)){m=11;break}j=j+4|0;f=f+1|0}if((m|0)==11){m=0;d=c[j>>2]|0;if(+h[d+8>>3]==e){e=(+h[d>>3]-g)/+(f|0);d=(((j>>>0>b>>>0?j:b)+-1+(0-i)|0)>>>2)+1|0;a=1;while(1){if((a|0)==(d|0)){a=j;continue a}i=c[b>>2]|0;h[i>>3]=+h[i>>3]+e*+(a|0);a=a+1|0;b=b+4|0}}}while(1){if(b>>>0>=j>>>0){a=j;continue a}f=c[a>>2]|0;n=c[f+16>>2]|0;i=c[b>>2]|0;d=c[i+16>>2]|0;h[i>>3]=(+h[l+(n*96|0)+56>>3]-+h[l+(n*96|0)+40>>3]+ +h[l+(d*96|0)+56>>3]-+h[l+(d*96|0)+40>>3])*.5+ +h[f>>3];b=b+4|0;a=a+4|0}}return}function dq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;if(a|0)nq();i=c[46075]|0;j=c[i>>2]|0;d=+h[j>>3];h[22887]=d;k=c[46084]|0;f=1;g=+h[j>>3];while(1){if((f|0)>=(k|0))break;a=c[i+(f<<2)>>2]|0;b=+h[a>>3];if(b<d){h[22887]=b;e=+h[a>>3]}else{e=b;b=d}f=f+1|0;d=b;g=e>g?e:g}e=+h[j+8>>3];h[22888]=e;h[22890]=+h[(c[i+(k+-1<<2)>>2]|0)+8>>3]-e;h[22889]=g-d;return}function eq(){var a=0;a=c[46077]|0;if(a>>>0<(c[46078]|0)>>>0){c[46077]=a+4;a=c[a>>2]|0}else a=0;return a|0}function fq(){var a=0,b=0,d=0;a=c[46099]|0;jq();d=(c[46076]|0)==0;b=0;while(1){if((b|0)>=(c[46084]|0))break;if(!(d?!(c[a+32>>2]|0):0))kq(a);a=a+96|0;b=b+1|0}return}function gq(){var a=0,b=0,c=0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0;a=l;l=l+32|0;c=a+16|0;b=a;j=+h[22883];i=+h[22881];g=+h[22884];e=+h[22882];d=(i-e)*.05;f=(j-g)*.05;h[b>>3]=f+j;h[b+8>>3]=i+d;h[c>>3]=g-f;h[c+8>>3]=e-d;iq(c,b);l=a;return}function hq(){Hr();Jr();Kt();nr();return}function iq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0;f=+h[a>>3];h[22884]=f;e=+h[b>>3];h[22883]=e;c=+h[a+8>>3];h[22882]=c;d=+h[b+8>>3];h[22881]=d;h[22873]=f;h[22875]=f;h[22877]=e;h[22879]=e;h[22880]=d;h[22876]=d;h[22878]=c;h[22874]=c;return}function jq(){var a=0,b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0;m=c[46099]|0;g=m+8|0;f=+vr(g,182984);e=+vr(g,183e3);d=+vr(g,183016);a=1;b=+vr(g,183032);g=m;i=m;j=m;k=m;while(1){l=m+96|0;if((a|0)>=(c[46084]|0))break;q=m+104|0;r=+vr(q,182984);n=r<f;t=+vr(q,183016);p=t<d;s=+vr(q,183e3);o=s<e;u=+vr(q,183032);q=u<b;a=a+1|0;b=q?u:b;d=p?t:d;e=o?s:e;f=n?r:f;g=q?l:g;i=p?l:i;j=o?l:j;k=n?l:k;m=l}Xr(k+8|0,+h[22873],+h[22874]);Xr(i+8|0,+h[22877],+h[22878]);Xr(j+8|0,+h[22875],+h[22876]);Xr(g+8|0,+h[22879],+h[22880]);return}function kq(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0;p=l;l=l+64|0;j=p+48|0;i=p+32|0;g=p+16|0;m=p+8|0;n=p;k=c[a+88>>2]|0;o=k+8|0;b=0.0;d=0.0;e=0.0;k=c[k>>2]|0;while(1){f=c[k>>2]|0;if(!f)break;s=k+8|0;r=f+8|0;c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];q=+lq(g,i,j);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];c[j>>2]=c[r>>2];c[j+4>>2]=c[r+4>>2];c[j+8>>2]=c[r+8>>2];c[j+12>>2]=c[r+12>>2];mq(g,i,j,m,n);b=+h[n>>3]*q+b;d=+h[m>>3]*q+d;e=q+e;k=f}h[a+8>>3]=d/e;h[a+16>>3]=b/e;l=p;return}function lq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0;d=+h[b+8>>3];f=+h[c+8>>3];e=+h[a+8>>3];return +(+B(+((f-e)*+h[b>>3]+(d-f)*+h[a>>3]+ +h[c>>3]*(e-d)))*.5)}function mq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;h[d>>3]=(+h[b>>3]+ +h[a>>3]+ +h[c>>3])*.3333333333333333;h[e>>3]=(+h[b+8>>3]+ +h[a+8>>3]+ +h[c+8>>3])*.3333333333333333;return}function nq(){var a=0,b=0,d=0,e=0;a=c[46075]|0;if(!a){a=vH(c[46084]<<2)|0;c[46075]=a;c[46078]=a+(c[46084]<<2)}d=c[46099]|0;Wr();e=c[46084]|0;b=0;while(1){if((b|0)>=(e|0))break;c[a>>2]=d+8;c[d+88>>2]=0;c[d+28>>2]=1;d=d+96|0;a=a+4|0;b=b+1|0}_0(c[46075]|0,e,4,68);c[46077]=c[46075];return}function oq(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+h[a+8>>3];e=+h[b+8>>3];if(!(d<e))if(!(d>e)){e=+h[a>>3];d=+h[b>>3];if(e<d)a=-1;else a=e>d&1}else a=1;else a=-1;return a|0}function pq(){var a=0,b=0,d=0,e=0;d=c[46084]|0;a=0;b=c[46099]|0;while(1){if((a|0)>=(d|0))break;e=b+8|0;h[e>>3]=+h[e>>3]*1.05;e=b+16|0;h[e>>3]=+h[e>>3]*1.05;a=a+1|0;b=b+96|0}return}function qq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91700)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91704)|0;if(e|0?rq(e,j,.800000011920929,4.0)|0:0)break;g[j+4>>2]=4.0;g[j>>2]=4.0;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91709,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function rq(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;o=l;l=l+16|0;m=o;j=o+12|0;k=o+8|0;while(1){h=a[b>>0]|0;i=b+1|0;if(!(B$(h<<24>>24)|0))break;else b=i}p=h<<24>>24==43;h=d+8|0;a[h>>0]=p&1;c[m>>2]=j;c[m+4>>2]=k;switch(N1(p?i:b,91742,m)|0){case 0:{b=0;break}case 1:{c[k>>2]=c[j>>2];n=5;break}default:n=5}if((n|0)==5){do if(a[h>>0]|0){if(e>1.0){q=+g[j>>2]/e;g[d>>2]=q>f?f:q;e=+g[k>>2]/e;e=e>f?f:e;break}if(e<1.0){q=+g[j>>2]/e;g[d>>2]=q<f?f:q;e=+g[k>>2]/e;e=e<f?f:e;break}else{c[d>>2]=c[j>>2];e=+g[k>>2];break}}else{g[d>>2]=+g[j>>2]/e+1.0;e=+g[k>>2]/e+1.0}while(0);g[d+4>>2]=e;b=1}l=o;return b|0}function sq(a,b){a=a|0;b=b|0;var c=0,d=0;d=l;l=l+32|0;c=d;if((ay(a)|0)<2)a=0;else{Tp(a,b,c)|0;a=Vp(a,c)|0}l=d;return a|0}function tq(a){a=a|0;return sq(a,xx(a,91095)|0)|0}function uq(b,e){b=b|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;m=l;l=l+48|0;k=m;j=m+24|0;f=xx(e,91704)|0;if(!((f|0)!=0?(rq(f,j,1.0,0.0)|0)!=0:0))i=3;do if((i|0)==3){e=xx(e,91700)|0;if(e|0?rq(e,j,1.25,3.200000047683716)|0:0)break;g[j+4>>2]=3.200000047683716;g[j>>2]=3.200000047683716;a[j+8>>0]=1}while(0);if(0){i=c[15686]|0;o=+g[j>>2];n=+g[j+4>>2];c[k>>2]=d[j+8>>0];h[k+8>>3]=o;h[k+16>>3]=n;g1(i,91771,k)|0};c[b>>2]=c[j>>2];c[b+4>>2]=c[j+4>>2];c[b+8>>2]=c[j+8>>2];l=m;return}function vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;o=p;h=0;while(1){if((h|0)>=(d|0))break;c[e+(h<<2)>>2]=-1;h=h+1|0}c[e+(a<<2)>>2]=0;wq(f,a);a:do if(!(c[b+8>>2]|0)){h=2147483647;b:while(1){if(!((xq(f,o)|0)<<24>>24))break a;j=c[o>>2]|0;h=c[e+(j<<2)>>2]|0;i=b+(j*20|0)|0;j=b+(j*20|0)+4|0;k=h+1|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue b;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=k;yq(f,m)|0}a=a+1|0}}}else{h=2147483647;c:while(1){if(!((xq(f,o)|0)<<24>>24))break a;k=c[o>>2]|0;h=c[e+(k<<2)>>2]|0;i=b+(k*20|0)|0;j=b+(k*20|0)+4|0;k=b+(k*20|0)+8|0;a=1;while(1){if((a|0)>=(c[i>>2]|0))continue c;m=c[(c[j>>2]|0)+(a<<2)>>2]|0;n=e+(m<<2)|0;if((c[n>>2]|0)<0){c[n>>2]=h+~~+g[(c[k>>2]|0)+(a<<2)>>2];yq(f,m)|0}a=a+1|0}}}while(0);a=h+10|0;h=0;while(1){if((h|0)>=(d|0))break;i=e+(h<<2)|0;if((c[i>>2]|0)<0)c[i>>2]=a;h=h+1|0}l=p;return}function wq(a,b){a=a|0;b=b|0;c[c[a>>2]>>2]=b;c[a+12>>2]=0;c[a+8>>2]=1;return}function xq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;if((e|0)<(c[a+8>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[b>>2]=c[a+(e<<2)>>2];a=1}else a=0;return a|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+8|0;e=c[d>>2]|0;if((e|0)<(c[a+4>>2]|0)){a=c[a>>2]|0;c[d>>2]=e+1;c[a+(e<<2)>>2]=b;a=1}else a=0;return a|0}function zq(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;c[a+12>>2]=0;return}function Aq(a){a=a|0;D_(c[a>>2]|0);return}function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0;if(!0)g=0;else{E1(91804,25,1,c[15686]|0)|0;g=0}while(1){if((g|0)>=(a|0))break;i=b+(g<<2)|0;f=0;e=0.0;while(1){if((f|0)==(a|0))break;if((g|0)!=(f|0))e=+h[(c[i>>2]|0)+(f<<3)>>3]+e;f=f+1|0}h[(c[i>>2]|0)+(g<<3)>>3]=-e;g=g+1|0}return xs(b,d,a+-1|0)|0}function Cq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0;j=wn(b,b,0.0)|0;k=wn(b,b,0.0)|0;e=Sy(a)|0;while(1){if(!e)break;d=Jx(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;f=(c[c[((g|0)==3?d:d+48|0)+40>>2]>>2]|0)>>>4;g=(c[c[((g|0)==2?d:d+-48|0)+40>>2]>>2]|0)>>>4;if((f|0)!=(g|0)){l=-1.0/+h[(c[d+16>>2]|0)+136>>3];h[(c[j+(g<<2)>>2]|0)+(f<<3)>>3]=l;h[(c[j+(f<<2)>>2]|0)+(g<<3)>>3]=l}d=Kx(a,d,e)|0}e=Ty(a,e)|0}i=Bq(b,j,k)|0;a:do if(i|0){f=a+16|0;e=0;while(1){if((e|0)>=(b|0))break a;g=k+(e<<2)|0;d=0;while(1){if((d|0)==(b|0))break;a=c[g>>2]|0;h[(c[(c[(c[f>>2]|0)+160>>2]|0)+(e<<2)>>2]|0)+(d<<3)>>3]=+h[(c[k+(d<<2)>>2]|0)+(d<<3)>>3]+ +h[a+(e<<3)>>3]+ +h[a+(d<<3)>>3]*-2.0;d=d+1|0}e=e+1|0}}while(0);xn(j);xn(k);return i|0}function Dq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;n=d<<3;o=vH(n)|0;p=vH(n)|0;q=vH(n)|0;k=vH(n)|0;m=vH(n)|0;n=vH(n)|0;Ps(d,c,n);Is(d,n);Is(d,b);Ks(a,d,b,k);Ms(d,n,k,o);Ps(d,o,p);i=f+-1|0;c=0;g=+Qs(d,o,o);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,o)>e)){c=0;break}Ks(a,d,p,q);h=+Qs(d,p,q);if(h==0.0){c=0;break}h=g/h;Os(d,p,h,m);Ns(d,b,m,b);if((c|0)<(i|0)){Os(d,q,h,q);Ms(d,o,q,o);h=+Qs(d,o,o);if(g==0.0){r=7;break}Os(d,p,h/g,p);Ns(d,o,p,p);g=h}c=c+1|0}if((r|0)==7){Pw(1,91830,j)|0;c=1}D_(o);D_(p);D_(q);D_(k);D_(m);D_(n);l=s;return c|0}function Eq(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var h=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;j=s;o=d<<3;p=vH(o)|0;q=vH(o)|0;k=vH(o)|0;m=vH(o)|0;n=vH(o)|0;o=vH(o)|0;Ps(d,c,o);if(g<<24>>24){Is(d,o);Is(d,b)}Ls(a,d,b,m);Ms(d,o,m,p);Ps(d,p,q);g=f+-1|0;c=0;h=+Qs(d,p,p);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+Rs(d,p)>e)){c=0;break}Ls(a,d,q,k);i=+Qs(d,q,k);if(i==0.0){c=0;break}i=h/i;Os(d,q,i,n);Ns(d,b,n,b);if((c|0)<(g|0)){Os(d,k,i,k);Ms(d,p,k,p);i=+Qs(d,p,p);if(h==0.0){r=9;break}Os(d,q,i/h,q);Ns(d,p,q,q);h=i}c=c+1|0}if((r|0)==9){Pw(1,91830,j)|0;c=1}D_(p);D_(q);D_(k);D_(m);D_(n);D_(o);l=s;return c|0}function Fq(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;j=q;k=d<<2;m=uH(k)|0;n=uH(k)|0;o=uH(k)|0;k=uH(k)|0;Ts(d,b);Ts(d,c);Us(a,d,b,k);Ts(d,k);Vs(d,c,k,m);Zs(d,m,n);i=f+-1|0;c=0;g=+_s(d,m,m);while(1){if((c|0)>=(f|0)){c=0;break}if(!(+bt(d,m)>e)){c=0;break}Ts(d,n);Ts(d,b);Ts(d,m);Us(a,d,n,o);Ts(d,o);h=+_s(d,n,o);if(h==0.0){c=0;break}h=g/h;Xs(d,b,h,n);if((c|0)<(i|0)){Xs(d,m,-h,o);h=+_s(d,m,m);if(g==0.0){p=7;break}Ys(d,n,h/g,n);Ws(d,m,n,n);g=h}c=c+1|0}if((p|0)==7){Pw(1,91830,j)|0;c=1}D_(m);D_(n);D_(o);D_(k);l=q;return c|0}function Gq(a,b,d,e,f,i,j,k,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;k=k|0;m=m|0;n=+n;var o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=l;l=l+48|0;F=M+24|0;E=M+16|0;D=M+8|0;C=M;J=M+40|0;K=M+36|0;H=M+32|0;s=j&4;c[J>>2]=0;c[K>>2]=0;a:do if(c[a+16>>2]|0){p=0;o=0;while(1){if((p|0)>=(b|0))break;t=c[a+(p*20|0)>>2]|0;u=a+(p*20|0)+16|0;r=1;while(1){if((r|0)>=(t|0))break;if(!(o<<24>>24))o=+g[(c[u>>2]|0)+(r<<2)>>2]!=0.0;else o=1;r=r+1|0;o=o&1}p=p+1|0}if(o<<24>>24){z=(s|0)!=0;if(z){r=e+4|0;b:do if((i|0)>2){o=i+-1|0;if((qn(a,b,d,r,f,o,j,k,15)|0)<0){o=-1;break a}p=e+(o<<2)|0;o=0;while(1){if((o|0)>=(b|0))break b;h[(c[p>>2]|0)+(o<<3)>>3]=+h[(c[r>>2]|0)+(o<<3)>>3];o=o+1|0}}while(0);y=c[e>>2]|0;w=c[r>>2]|0;if((kt(a,b,w,b)|0)==0?(kv(a,b,.01,.1,w,J,K,H)|0)==0:0){x=c[H>>2]|0;if((x|0)<1){o=qn(a,b,d,e,f,i,j,k,m)|0;break}c:do if(n>0.0){s=c[J>>2]|0;t=c[K>>2]|0;u=x+-1|0;q=0.0;r=0;while(1){if((r|0)>=(x|0))break c;o=c[t+(r<<2)>>2]|0;A=n-q-+h[w+(c[s+(o<<2)>>2]<<3)>>3]+ +h[w+(c[s+(o+-1<<2)>>2]<<3)>>3];q=(A<0.0?0.0:A)+q;if((r|0)<(u|0))p=c[t+(r+1<<2)>>2]|0;else p=b;while(1){if((o|0)>=(p|0))break;I=w+(c[s+(o<<2)>>2]<<3)|0;h[I>>3]=+h[I>>3]+q;o=o+1|0}r=r+1|0}}while(0);if((i|0)==2?(Qt(a,b,w,y,+h[22909])|0)!=0:0){p=0;o=-1}else L=33}else{p=0;o=-1}}else{kn(a,b,i,e,f)|0;if(!(kv(a,b,.01,.1,0,J,K,H)|0))L=33;else{p=0;o=-1}}d:do if((L|0)==33){if((b|0)==1){o=0;break a}I=vH(c[H>>2]<<2)|0;if(!m){o=0;break a}if(0)EL();switch(k|0){case 2:{if(0)E1(91878,24,1,c[15686]|0)|0;o=pn(a,b)|0;L=46;break}case 1:{o=ln(a,b)|0;if(!o){Pw(0,91903,C)|0;Pw(3,91952,D)|0;L=47}else G=o;break}case 3:{if(0)E1(92005,21,1,c[15686]|0)|0;o=mn(a,b)|0;L=46;break}default:L=47}if((L|0)==46)if(!o)L=47;else G=o;if((L|0)==47){if(0)E1(92027,26,1,c[15686]|0)|0;G=on(a,b)|0}if(0){a=c[15686]|0;h[E>>3]=+FL();g1(a,92054,E)|0;E1(92066,25,1,a)|0;EL()}a=b+-1|0;y=(O(a,b)|0)/2|0;E=y+b|0;e:do if(!z){q=1.0;p=0;while(1){if((p|0)>=(i|0))break;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;A=+B(+(+h[(c[r>>2]|0)+(o<<3)>>3]));q=A>q?A:q;o=o+1|0}p=p+1|0}q=1.0/q;p=0;while(1){if((p|0)>=(i|0))break e;r=e+(p<<2)|0;o=0;while(1){if((o|0)>=(b|0))break;D=(c[r>>2]|0)+(o<<3)|0;h[D>>3]=+h[D>>3]*(10.0*q);o=o+1|0}p=p+1|0}}while(0);f:do if(n>0.0){v=+(y|0);o=0;q=0.0;s=0;g:while(1){if((s|0)>=(a|0))break;t=s+1|0;r=o;p=t;while(1){o=r+1|0;if((p|0)>=(b|0)){s=t;continue g}A=+gs(e,i,s,p);r=o;q=A/+g[G+(o<<2)>>2]+q;p=p+1|0}}q=q/v;o=0;while(1){if((o|0)>=(E|0)){o=0;break f}D=G+(o<<2)|0;g[D>>2]=+g[D>>2]*q;o=o+1|0}}else o=0;while(0);while(1){if((o|0)>=(i|0))break;Is(b,c[e+(o<<2)>>2]|0);o=o+1|0}p=c[e+4>>2]|0;q=+h[p>>3];o=0;while(1){if((o|0)>=(b|0))break;D=p+(o<<3)|0;h[D>>3]=+h[D>>3]-q;o=o+1|0}u=i<<2;D=vH(u)|0;x=b<<2;w=O(x,i)|0;r=vH(w)|0;o=0;while(1){if((o|0)>=(i|0))break;s=r+((O(o,b)|0)<<2)|0;c[D+(o<<2)>>2]=s;t=e+(o<<2)|0;p=0;while(1){if((p|0)>=(b|0))break;g[s+(p<<2)>>2]=+h[(c[t>>2]|0)+(p<<3)>>3];p=p+1|0}o=o+1|0}v=+(y|0);if(0){C=c[15686]|0;h[F>>3]=+FL();g1(C,92092,F)|0}ct(E,G);dt(E,G);C=vH(b<<3)|0;$s(b,0.0,C);o=0;r=0;while(1){if((r|0)>=(a|0)){o=b;p=0;r=0;break}s=b-r|0;q=0.0;p=1;while(1){o=o+1|0;if((p|0)>=(s|0))break;A=+g[G+(o<<2)>>2];F=C+(p+r<<3)|0;h[F>>3]=+h[F>>3]-A;q=q+A;p=p+1|0}F=C+(r<<3)|0;h[F>>3]=+h[F>>3]-q;r=r+1|0}while(1){if((p|0)>=(b|0))break;g[G+(r<<2)>>2]=+h[C+(p<<3)>>3];F=o+r|0;o=o+-1|0;p=p+1|0;r=F}k=vH(u)|0;c[k>>2]=vH(w)|0;o=1;while(1){if((o|0)>=(i|0))break;c[k+(o<<2)>>2]=(c[k>>2]|0)+((O(o,b)|0)<<2);o=o+1|0}z=vH(x)|0;f=vH(x)|0;j=vH(E<<2)|0;p=Et(G,b)|0;d=Jt(G,b,c[J>>2]|0,c[K>>2]|0,c[H>>2]|0)|0;y=k+4|0;r=0;A=1797693134862315708145274.0e284;o=0;while(1){if(!(r<<24>>24==0&(o|0)<(m|0)))break;$s(b,0.0,C);et(E,G,j);w=0;t=0;while(1){if((w|0)>=(a|0)){r=0;s=b;t=0;break}x=b-w+-1|0;at(b,0.0,f);r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;at(x,+g[(c[H>>2]|0)+(w<<2)>>2],z);Xs(x,z,-1.0,(c[H>>2]|0)+(w<<2)+4|0);ct(x,z);Ws(x,z,f,f);r=r+1|0}ft(x,f);r=0;while(1){if((r|0)>=(x|0))break;s=f+(r<<2)|0;q=+g[s>>2];if(q>=3402823466385288598117041.0e14|q<0.0)g[s>>2]=0.0;r=r+1|0}u=w+1|0;q=0.0;r=t;s=0;while(1){r=r+1|0;if((s|0)>=(x|0))break;H=j+(r<<2)|0;N=+g[H>>2]*+g[f+(s<<2)>>2];g[H>>2]=N;H=C+(u+s<<3)|0;h[H>>3]=+h[H>>3]-N;q=q+N;s=s+1|0}t=C+(w<<3)|0;h[t>>3]=+h[t>>3]-q;w=u;t=r}while(1){if((r|0)>=(b|0)){r=0;break}g[j+(t<<2)>>2]=+h[C+(r<<3)>>3];H=s+t|0;r=r+1|0;s=s+-1|0;t=H}while(1){if((r|0)>=(i|0)){q=0.0;r=0;break}Us(j,b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0);r=r+1|0}while(1){if((r|0)>=(i|0))break;q=+_s(b,c[D+(r<<2)>>2]|0,c[k+(r<<2)>>2]|0)+q;r=r+1|0}q=q*2.0+v;r=0;while(1){if((r|0)>=(i|0))break;H=D+(r<<2)|0;Us(G,b,c[H>>2]|0,z);q=q-+_s(b,c[H>>2]|0,z);r=r+1|0}N=+B(+(q-A))/+B(+(A+1.0e-10));r=((o|0)>1&q>A|N<+h[22909])&1;s=0;while(1){if((s|0)>=(i|0))break;if((s|0)!=1){if(Fq(G,c[D+(s<<2)>>2]|0,c[k+(s<<2)>>2]|0,b,.001,b)|0){o=-1;break d}}else Ft(d,c[y>>2]|0,D,i,1,15,I,n)|0;s=s+1|0}A=q;o=o+1|0}D_(I);It(d);if(D|0){r=0;while(1){if((r|0)>=(i|0))break;t=D+(r<<2)|0;u=e+(r<<2)|0;s=0;while(1){if((s|0)>=(b|0))break;h[(c[u>>2]|0)+(s<<3)>>3]=+g[(c[t>>2]|0)+(s<<2)>>2];s=s+1|0}r=r+1|0}D_(c[D>>2]|0);D_(D)}if(k|0){D_(c[k>>2]|0);D_(k)}D_(z);D_(f);D_(C);D_(G);D_(j)}while(0);D_(c[J>>2]|0);D_(c[K>>2]|0);if(p){D_(c[p>>2]|0);D_(p)}}else L=10}else L=10;while(0);if((L|0)==10)o=qn(a,b,d,e,f,i,j,k,m)|0;l=M;return o|0}function Hq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+48|0;f=m+24|0;g=m+12|0;d=m;i=ay(a)|0;k=vH(i*48|0)|0;qq(d,a);c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];d=Sy(a)|0;e=k;while(1){if(!d)break;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];Iq(d,e,f);d=Ty(a,d)|0;e=e+48|0}a:do if(!(Jq(k,i)|0))d=0;else{switch(b|0){case 9:{Lq(a,k,i,69,1);Nq(a,k,i,70,1);d=0;e=k;break}case 10:{Nq(a,k,i,70,1);Lq(a,k,i,69,1);d=0;e=k;break}case 7:{Lq(a,k,i,71,1);Nq(a,k,i,70,1);j=9;break}case 8:{j=9;break}case 13:{j=10;break}case 14:{Nq(a,k,i,70,0);Lq(a,k,i,69,0);d=0;e=k;break}case 12:{Nq(a,k,i,72,0);Lq(a,k,i,69,0);d=0;e=k;break}default:{Lq(a,k,i,71,0);Nq(a,k,i,70,0);d=0;e=k}}if((j|0)==9){Nq(a,k,i,72,1);Lq(a,k,i,69,1);j=10}if((j|0)==10){Lq(a,k,i,69,0);Nq(a,k,i,70,0);d=0;e=k}while(1){if((d|0)>=(i|0)){d=1;break a}g=c[e+16>>2]|0;j=c[(c[(c[e+20>>2]|0)+16>>2]|0)+132>>2]|0;h[j>>3]=+(c[e+12>>2]|0)*1.3888888888888887e-03;h[j+8>>3]=+(g|0)*1.3888888888888887e-03;d=d+1|0;e=e+48|0}}while(0);D_(k);l=m;return d|0}function Iq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0.0;f=c[b+16>>2]|0;k=c[f+132>>2]|0;l=+h[k>>3]*720.0;j=~~(l+(l>=0.0?.5:-.5));l=+h[k+8>>3]*720.0;k=~~(l+(l>=0.0?.5:-.5));if(!(a[e+8>>0]|0)){m=+h[f+32>>3]*72.0*(+g[e>>2]*5.0);l=+h[f+40>>3]*72.0*(+g[e+4>>2]*5.0);i=~~(m+(m>=0.0?.5:-.5));f=~~(l+(l>=0.0?.5:-.5))}else{l=+h[f+32>>3]*36.0;m=+h[f+40>>3]*36.0;i=~~((+g[e>>2]+ +(~~(l+(l>=0.0?.5:-.5))|0))*10.0);f=~~((+g[e+4>>2]+ +(~~(m+(m>=0.0?.5:-.5))|0))*10.0)}c[d+12>>2]=j;c[d+16>>2]=k;c[d+20>>2]=b;c[d+32>>2]=j-i;c[d+36>>2]=k-f;c[d+40>>2]=i+j;c[d+44>>2]=f+k;return}function Jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+-1|0;d=0;a:while(1){if((d|0)>=(k|0)){a=0;break}j=a+48|0;d=d+1|0;g=a+32|0;h=a+40|0;i=a+36|0;f=a+44|0;a=j;e=d;while(1){if((e|0)>=(b|0)){a=j;continue a}if((((c[g>>2]|0)<=(c[a+40>>2]|0)?(c[a+32>>2]|0)<=(c[h>>2]|0):0)?(c[i>>2]|0)<=(c[a+44>>2]|0):0)?(c[a+36>>2]|0)<=(c[f>>2]|0):0){a=1;break a}a=a+48|0;e=e+1|0}}return a|0}function Kq(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a=(c[b+36>>2]|0)<=(c[a+44>>2]|0)&1;return a|0}function Lq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+12>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,73)|0;else h=Sq(i,e,73)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+12|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+32|0;c[f>>2]=(c[f>>2]|0)+e;f=b+40|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Mq(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a=(c[b+32>>2]|0)<=(c[a+40>>2]|0)&1;return a|0}function Nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=Cw(18064,c[4558]|0)|0;g=b;h=0;while(1){if((h|0)>=(d|0))break;c[g+8>>2]=c[g+16>>2];nb[c[i>>2]&63](i,g,1)|0;g=g+48|0;h=h+1|0}if(!f)h=Tq(a,i,e,74)|0;else h=Sq(i,e,74)|0;fI(h,2,2147483647)|0;g=0;while(1){if((g|0)>=(d|0))break;f=b+16|0;a=c[(c[(c[b+24>>2]|0)+16>>2]|0)+232>>2]|0;e=a-(c[f>>2]|0)|0;c[f>>2]=a;f=b+36|0;c[f>>2]=(c[f>>2]|0)+e;f=b+44|0;c[f>>2]=(c[f>>2]|0)+e;b=b+48|0;g=g+1|0}Uq(h);yw(i)|0;return}function Oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[a+36>>2]|0)<=(c[b+44>>2]|0)?(c[b+36>>2]|0)<=(c[a+44>>2]|0):0)if((c[a+40>>2]|0)<(c[e>>2]|0))a=1;else{g=Rq(d,e)|0;g=g-(c[b+12>>2]|0)+(c[a+12>>2]|0)|0;b=c[b+16>>2]|0;a=c[a+16>>2]|0;f=(b|0)<(a|0);e=Qq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+32|0;e=b+32|0;if((c[d>>2]|0)<=(c[b+40>>2]|0)?(c[e>>2]|0)<=(c[a+40>>2]|0):0)if((c[a+44>>2]|0)<(c[b+36>>2]|0))a=1;else{g=Qq(d,e)|0;g=g-(c[b+16>>2]|0)+(c[a+16>>2]|0)|0;b=c[b+12>>2]|0;a=c[a+12>>2]|0;f=(b|0)<(a|0);e=Rq(d,e)|0;a=(g|0)<=(e-(f?a:b)+(f?b:a)|0)&1}else a=0;return a|0}function Qq(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+12>>2]|0)-(c[b+4>>2]|0)|0)/2|0|0}function Rq(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2]|0)-(c[b>>2]|0)|0)/2|0|0}function Sq(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;v=x;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;w=Xx(92103,v,0)|0;Az(w,134401,280,1)|0;g=Aw(d)|0;h=-2147483647;u=0;while(1){if(!g)break;s=c[g+8>>2]|0;t=u+((h|0)!=(s|0)&1)|0;g=c[g>>2]|0;h=s;u=t}s=w+16|0;t=(u<<3)+-4|0;n=0;j=0;g=0;h=0;m=0;r=Aw(d)|0;i=-2147483647;while(1){if(!r)break;q=c[r+8>>2]|0;if((i|0)!=(q|0)){p=az(w,ry(c[r+20>>2]|0)|0,1)|0;Az(p,134365,304,1)|0;o=p+16|0;g=c[o>>2]|0;c[g+112>>2]=r;if(!h){c[(c[s>>2]|0)+192>>2]=p;n=p}else{c[(c[n+16>>2]|0)+164>>2]=p;n=h}c[g+176>>2]=0;k=j+1|0;i=uH(k<<2)|0;c[(c[o>>2]|0)+172>>2]=i;if(!m){j=k;k=p;m=p;g=p;h=n;i=q}else{i=m+16|0;c[(c[i>>2]|0)+184>>2]=0;j=uH((m|0)==(n|0)?t:u-j<<2)|0;c[(c[i>>2]|0)+180>>2]=j;j=Rx(w,m,p,0,1)|0;Az(j,134378,176,1)|0;g=c[j+16>>2]|0;b[g+170>>1]=10;c[g+156>>2]=1;g=c[i>>2]|0;h=c[g+180>>2]|0;if(!h)g=vH((c[g+184>>2]<<2)+8|0)|0;else g=xH(h,(c[g+184>>2]<<2)+8|0)|0;m=c[i>>2]|0;c[m+180>>2]=g;m=m+184|0;h=c[m>>2]|0;c[m>>2]=h+1;c[g+(h<<2)>>2]=j;g=c[i>>2]|0;c[(c[g+180>>2]|0)+(c[g+184>>2]<<2)>>2]=0;g=c[o>>2]|0;h=c[g+172>>2]|0;if(!h)g=vH((c[g+176>>2]<<2)+8|0)|0;else g=xH(h,(c[g+176>>2]<<2)+8|0)|0;h=c[o>>2]|0;c[h+172>>2]=g;h=h+176|0;m=c[h>>2]|0;c[h>>2]=m+1;c[g+(m<<2)>>2]=j;j=c[o>>2]|0;c[(c[j+172>>2]|0)+(c[j+176>>2]<<2)>>2]=0;j=k;k=p;m=p;g=p;h=n;i=q}}else{k=g;g=n}c[r+24>>2]=k;n=g;g=k;r=c[r>>2]|0}m=m+16|0;c[(c[m>>2]|0)+184>>2]=0;g=uH(4)|0;c[(c[m>>2]|0)+180>>2]=g;a[v>>0]=a[18484]|0;a[v+1>>0]=a[18485]|0;a[v+2>>0]=a[18486]|0;a[v+3>>0]=a[18487]|0;m=Xx(92150,v,0)|0;g=Aw(d)|0;while(1){if(!g)break;v=az(m,ry(c[g+20>>2]|0)|0,1)|0;Az(v,134365,304,1)|0;c[g+28>>2]=v;c[(c[v+16>>2]|0)+112>>2]=g;g=c[g>>2]|0}g=0;k=Aw(d)|0;h=-2147483647;a:while(1){if(!k)break;j=c[k+8>>2]|0;b:do if((h|0)==(j|0))j=h;else{g=k;while(1){g=c[g>>2]|0;if(!g)break a;if((c[g+8>>2]|0)!=(j|0))break b}}while(0);i=k+28|0;h=g;while(1){if(!h)break;if(lb[e&127](k,h)|0)Rx(m,c[i>>2]|0,c[h+28>>2]|0,0,1)|0;h=c[h>>2]|0}k=c[k>>2]|0;h=j}Vq(m,w,f);$x(m)|0;l=x;return w|0}function Tq(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+16|0;r=s;a[r>>0]=a[18484]|0;a[r+1>>0]=a[18485]|0;a[r+2>>0]=a[18486]|0;a[r+3>>0]=a[18487]|0;r=Xx(92103,r,0)|0;Az(r,134401,280,1)|0;k=r+16|0;h=Aw(e)|0;i=0;while(1){if(!h)break;j=az(r,ry(c[h+20>>2]|0)|0,1)|0;Az(j,134365,304,1)|0;p=j+16|0;n=c[p>>2]|0;c[n+112>>2]=h;c[h+24>>2]=j;c[n+176>>2]=0;n=uH(4)|0;o=c[p>>2]|0;c[o+172>>2]=n;c[o+184>>2]=0;o=uH(4)|0;c[(c[p>>2]|0)+180>>2]=o;if(!i)c[(c[k>>2]|0)+192>>2]=j;else c[(c[i+16>>2]|0)+164>>2]=j;h=c[h>>2]|0;i=j}m=Aw(e)|0;a:while(1){if(!m)break;n=m+32|0;o=m+24|0;p=m+20|0;h=m;while(1){h=c[h>>2]|0;if(!h)break;if(lb[f&127](m,h)|0){i=lb[g&127](n,h+32|0)|0;j=Rx(r,c[o>>2]|0,c[h+24>>2]|0,0,1)|0;Az(j,134378,176,1)|0;if((i|0)>=65536){q=13;break a}k=j+16|0;t=c[k>>2]|0;b[t+170>>1]=i;c[t+156>>2]=1;if(j|0?Rx(d,c[p>>2]|0,c[h+20>>2]|0,0,0)|0:0)c[(c[k>>2]|0)+156>>2]=100}}m=c[m>>2]|0}if((q|0)==13)qa(92106,92122,254,92135);m=Aw(e)|0;while(1){if(!m)break;k=c[m+24>>2]|0;n=k+16|0;k=Ex(r,k)|0;while(1){if(!k)break;h=c[n>>2]|0;i=c[h+180>>2]|0;if(!i)h=vH((c[h+184>>2]<<2)+8|0)|0;else h=xH(i,(c[h+184>>2]<<2)+8|0)|0;i=c[n>>2]|0;c[i+180>>2]=h;i=i+184|0;j=c[i>>2]|0;c[i>>2]=j+1;c[h+(j<<2)>>2]=k;j=c[n>>2]|0;c[(c[j+180>>2]|0)+(c[j+184>>2]<<2)>>2]=0;j=k+-48|0;h=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;i=c[h+172>>2]|0;if(!i)h=vH((c[h+176>>2]<<2)+8|0)|0;else h=xH(i,(c[h+176>>2]<<2)+8|0)|0;c[(c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0)+172>>2]=h;g=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;q=c[g+172>>2]|0;g=g+176|0;t=c[g>>2]|0;c[g>>2]=t+1;c[q+(t<<2)>>2]=k;t=c[(c[((c[k>>2]&3|0)==2?k:j)+40>>2]|0)+16>>2]|0;c[(c[t+172>>2]|0)+(c[t+176>>2]<<2)>>2]=0;k=Gx(r,k)|0}m=c[m>>2]|0}l=s;return r|0}function Uq(a){a=a|0;var b=0,d=0,e=0,f=0;f=Sy(a)|0;while(1){if(!f)break;d=f+16|0;b=c[d>>2]|0;e=c[b+172>>2]|0;if(e){D_(e);b=c[d>>2]|0}b=c[b+180>>2]|0;if(b|0)D_(b);f=Ty(a,f)|0}$x(a)|0;return}function Vq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=Sy(a)|0;while(1){if(!k)break;n=c[(c[k+16>>2]|0)+112>>2]|0;m=c[n+24>>2]|0;n=n+32|0;o=m+16|0;l=Ex(a,k)|0;while(1){if(!l)break;h=c[(c[(c[((c[l>>2]&3|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;p=lb[e&127](n,h+32|0)|0;h=c[h+24>>2]|0;i=Rx(d,m,h,0,1)|0;Az(i,134378,176,1)|0;j=i+16|0;f=c[j>>2]|0;c[f+156>>2]=1;g=b[f+170>>1]|0;if((p|0)>(g&65535|0)){if(!(g<<16>>16)){f=c[o>>2]|0;g=c[f+180>>2]|0;if(!g)f=vH((c[f+184>>2]<<2)+8|0)|0;else f=xH(g,(c[f+184>>2]<<2)+8|0)|0;q=c[o>>2]|0;c[q+180>>2]=f;q=q+184|0;g=c[q>>2]|0;c[q>>2]=g+1;c[f+(g<<2)>>2]=i;f=c[o>>2]|0;c[(c[f+180>>2]|0)+(c[f+184>>2]<<2)>>2]=0;h=h+16|0;f=c[h>>2]|0;g=c[f+172>>2]|0;if(!g)f=vH((c[f+176>>2]<<2)+8|0)|0;else f=xH(g,(c[f+176>>2]<<2)+8|0)|0;g=c[h>>2]|0;c[g+172>>2]=f;g=g+176|0;q=c[g>>2]|0;c[g>>2]=q+1;c[f+(q<<2)>>2]=i;f=c[h>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;f=c[j>>2]|0}b[f+170>>1]=p}l=Gx(a,l)|0}k=Ty(a,k)|0}return}function Wq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]|0)|0}function Xq(b,d){b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;y=l;l=l+64|0;u=y+24|0;s=y+16|0;r=y+52|0;q=y+40|0;t=y;w=ay(b)|0;x=vH(w*72|0)|0;qq(q,b);k=+g[q>>2];m=+g[q+4>>2];q=(a[q+8>>0]|0)!=0;k=q?k*.013888888888888888:k;m=q?m*.013888888888888888:m;n=k*.5;o=m*.5;e=x;f=Sy(b)|0;while(1){if(!f)break;p=c[f+16>>2]|0;i=+h[p+32>>3];if(q){j=+h[p+40>>3]*.5+m;i=i*.5+k}else{j=o*+h[p+40>>3];i=n*i}p=c[p+132>>2]|0;A=+h[p>>3];h[e>>3]=A;z=+h[p+8>>3];h[e+8>>3]=z;h[e+16>>3]=A-i;h[e+24>>3]=z-j;h[e+32>>3]=A+i;h[e+40>>3]=z+j;h[e+48>>3]=i;h[e+56>>3]=j;c[e+64>>2]=f;e=e+72|0;f=Ty(b,f)|0}do if((d|0)<0){i=+Yq(x,w);if(i==0.0){D_(x);e=0;break}if(!0){k=i;j=i;v=19}else{v=c[15686]|0;h[s>>3]=i;g1(v,92153,s)|0;k=i;j=i;v=19}}else{f=Zq(x,w,r)|0;e=c[r>>2]|0;if(!e){D_(f);D_(x);e=0;break}if(!d){$q(t,f,e);i=+h[t>>3];j=+h[t+8>>3]}else{j=+_q(f,e);i=j}D_(f);if(!0){k=i;v=19}else{v=c[15686]|0;h[u>>3]=i;h[u+8>>3]=j;g1(v,92167,u)|0;k=i;v=19}}while(0);if((v|0)==19){e=0;f=x;while(1){if((e|0)>=(w|0))break;v=c[(c[(c[f+64>>2]|0)+16>>2]|0)+132>>2]|0;h[v>>3]=+h[f>>3]*k;h[v+8>>3]=+h[f+8>>3]*j;e=e+1|0;f=f+72|0}D_(x);e=1}l=y;return e|0}function Yq(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;c=0.0;d=0;a:while(1){if((d|0)>=(b|0))break;r=a+72|0;d=d+1|0;m=a+16|0;n=a+8|0;o=a+56|0;p=a+48|0;q=a+32|0;k=a+24|0;l=a+40|0;i=d;j=r;while(1){if((i|0)>=(b|0)){a=r;continue a}if(((+h[m>>3]<=+h[j+32>>3]?+h[j+16>>3]<=+h[q>>3]:0)?+h[k>>3]<=+h[j+40>>3]:0)?+h[j+24>>3]<=+h[l>>3]:0){c=0.0;break a}e=+h[a>>3];f=+h[j>>3];if(e==f)g=t;else{g=+B(+(e-f));g=(+h[j+48>>3]+ +h[p>>3])/g}e=+h[n>>3];f=+h[j+8>>3];if(e==f)e=t;else{e=+B(+(e-f));e=(+h[j+56>>3]+ +h[o>>3])/e}g=e<g?e:g;i=i+1|0;j=j+72|0;c=g>c?g:c}}return +c}function Zq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=vH((b<<4)+16|0)|0;m=0;e=0;n=k;o=b;i=k;a:while(1){if((e|0)>=(b|0))break;z=a+72|0;e=e+1|0;y=a+16|0;r=a+32|0;s=a+24|0;u=a+40|0;v=a+8|0;w=a+56|0;x=a+48|0;p=e;q=z;l=i;while(1){if((p|0)==(b|0)){a=z;i=l;continue a}if(((+h[y>>3]<=+h[q+32>>3]?+h[q+16>>3]<=+h[r>>3]:0)?+h[s>>3]<=+h[q+40>>3]:0)?+h[q+24>>3]<=+h[u>>3]:0){i=o+b|0;if((m|0)==(o|0)){k=xH(k,(i<<4)+16|0)|0;n=k;l=k}else i=o;f=+h[a>>3];g=+h[q>>3];if(!(f==g)){f=(+h[q+48>>3]+ +h[x>>3])/+B(+(f-g));if(f<1.0){f=1.0;A=13}}else{f=t;A=13}if((A|0)==13)A=0;g=+h[v>>3];j=+h[q+8>>3];if(!(g==j)){g=(+h[q+56>>3]+ +h[w>>3])/+B(+(g-j));if(g<1.0){g=1.0;A=16}}else{g=t;A=16}if((A|0)==16)A=0;m=m+1|0;h[n+(m<<4)>>3]=f;h[n+(m<<4)+8>>3]=g}else i=o;p=p+1|0;q=q+72|0;o=i}}A=xH(i,(m<<4)+16|0)|0;c[d>>2]=m;return A|0}function _q(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0,f=0.0,g=0.0;d=1;e=0.0;while(1){c=a+16|0;if((d|0)>(b|0))break;g=+h[c>>3];f=+h[a+24>>3];f=g<f?g:f;d=d+1|0;e=f>e?f:e;a=c}return +e}function $q(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0,g=0,i=0.0;h[b>>3]=1.0;h[b+8>>3]=t;_0(b+16|0,c,16,75);g=vH((c<<4)+16|0)|0;h[g+(c<<4)>>3]=+h[b+(c<<4)>>3];f=c;d=1.0;while(1){h[g+(f<<4)+8>>3]=d;e=f+-1|0;if((f|0)<=0){d=t;e=0;f=0;break}h[g+(e<<4)>>3]=+h[b+(e<<4)>>3];i=+h[(+h[b+(f<<4)+8>>3]>d?b:g)+(f<<4)+8>>3];f=e;d=i}while(1){if((f|0)>(c|0))break;i=+h[g+(f<<4)+8>>3]*+h[g+(f<<4)>>3];b=i<d;d=b?i:d;e=b?f:e;f=f+1|0}if(d<t){i=+h[g+(e<<4)+8>>3];h[a>>3]=+h[g+(e<<4)>>3];h[a+8>>3]=i;return}else qa(92184,92122,832,92204)}function ar(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(c<d))if(!(c>d)){d=+h[a+8>>3];c=+h[b+8>>3];if(d<c)a=-1;else a=d>c&1}else a=1;else a=-1;return a|0}function br(a){a=a|0;var b=0;if(a|0){b=c[a+4>>2]|0;if(b|0)D_(b);b=c[a+8>>2]|0;if(b|0)D_(b);b=c[a+16>>2]|0;if(b|0)D_(b);D_(a)}return}function cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;k=F_(c[46079]|0,d<<2)|0;c[46079]=k;f=0;while(1){if((f|0)>=(d|0))break;c[e+(f<<2)>>2]=2147483647;f=f+1|0}c[e+(a<<2)>>2]=0;h=b+(a*20|0)|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(c[h>>2]|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=~~+g[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}dr(n,a,k,e,d);i=-2147483639;while(1){if(!((er(n,m,c[46079]|0,e)|0)<<24>>24)){f=0;break}f=c[m>>2]|0;a=c[e+(f<<2)>>2]|0;if((a|0)==2147483647){f=0;break}i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))break;fr(n,c[(c[j>>2]|0)+(f<<2)>>2]|0,a+~~+g[(c[h>>2]|0)+(f<<2)>>2]|0,c[46079]|0,e);f=f+1|0}i=a+10|0}while(1){if((f|0)>=(d|0))break;h=e+(f<<2)|0;if((c[h>>2]|0)==2147483647)c[h>>2]=i;f=f+1|0}gr(n);l=o;return}function dr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if((f|0)==1)i=0;else i=vH((f<<2)+-4|0)|0;c[a>>2]=i;j=f+-1|0;c[a+4>>2]=j;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[i+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(j|0)/2|0;while(1){if((g|0)<=-1)break;hr(a,g,d,e);g=g+-1|0}return}function er(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;hr(a,0,d,e);a=1}return a|0}function fr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=f+(b<<2)|0;if((c[g>>2]|0)>(d|0)){j=e+(b<<2)|0;i=c[j>>2]|0;c[g>>2]=d;g=c[a>>2]|0;a=i;while(1){if((a|0)<=0)break;h=a>>>1;i=c[g+(h<<2)>>2]|0;if((c[f+(i<<2)>>2]|0)<=(d|0))break;c[g+(a<<2)>>2]=i;c[e+(i<<2)>>2]=a;a=h}c[g+(a<<2)>>2]=b;c[j>>2]=a}return}function gr(a){a=a|0;a=c[a>>2]|0;if(a|0)D_(a);return}function hr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;while(1){f=b<<1;g=f|1;h=c[i>>2]|0;if(!((f|0)<(h|0)?(j=c[a>>2]|0,(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(b<<2)>>2]<<2)>>2]|0)):0))f=b;if((g|0)<(h|0)){j=c[a>>2]|0;f=(c[e+(c[j+(g<<2)>>2]<<2)>>2]|0)<(c[e+(c[j+(f<<2)>>2]<<2)>>2]|0)?g:f}if((f|0)==(b|0))break;j=c[a>>2]|0;h=j+(f<<2)|0;g=c[h>>2]|0;j=j+(b<<2)|0;c[h>>2]=c[j>>2];c[j>>2]=g;c[d+(c[h>>2]<<2)>>2]=f;c[d+(c[j>>2]<<2)>>2]=b;b=f}return}function ir(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+8|0;n=p;c[n>>2]=0;o=vH(d<<2)|0;f=0;while(1){if((f|0)>=(d|0))break;g[e+(f<<2)>>2]=3402823466385288598117041.0e14;f=f+1|0}g[e+(a<<2)>>2]=0.0;h=c[b+(a*20|0)>>2]|0;i=b+(a*20|0)+8|0;j=b+(a*20|0)+4|0;f=1;while(1){if((f|0)>=(h|0))break;c[e+(c[(c[j>>2]|0)+(f<<2)>>2]<<2)>>2]=c[(c[i>>2]|0)+(f<<2)>>2];f=f+1|0}jr(m,a,o,e,d);a:while(1){if(!((kr(m,n,o,e)|0)<<24>>24))break;f=c[n>>2]|0;k=+g[e+(f<<2)>>2];if(k==3402823466385288598117041.0e14)break;i=b+(f*20|0)|0;j=b+(f*20|0)+4|0;h=b+(f*20|0)+8|0;f=1;while(1){if((f|0)>=(c[i>>2]|0))continue a;lr(m,c[(c[j>>2]|0)+(f<<2)>>2]|0,+g[(c[h>>2]|0)+(f<<2)>>2]+k,o,e);f=f+1|0}}gr(m);D_(o);l=p;return}function jr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=f+-1|0;j=vH(i<<2)|0;c[a>>2]=j;c[a+4>>2]=i;g=0;h=0;while(1){if((h|0)>=(f|0))break;if((h|0)!=(b|0)){c[j+(g<<2)>>2]=h;c[d+(h<<2)>>2]=g;g=g+1|0}h=h+1|0}g=(i|0)/2|0;while(1){if((g|0)<=-1)break;mr(a,g,d,e);g=g+-1|0}return}function kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[f>>2]|0))a=0;else{g=c[a>>2]|0;c[b>>2]=c[g>>2];b=c[g+((c[f>>2]|0)+-1<<2)>>2]|0;c[g>>2]=b;c[d+(b<<2)>>2]=0;c[f>>2]=(c[f>>2]|0)+-1;mr(a,0,d,e);a=1}return a|0}function lr(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var h=0,i=0,j=0,k=0;h=f+(b<<2)|0;if(!(+g[h>>2]<=d)){k=e+(b<<2)|0;j=c[k>>2]|0;g[h>>2]=d;h=c[a>>2]|0;a=j;while(1){if((a|0)<=0)break;i=a>>>1;j=c[h+(i<<2)>>2]|0;if(!(+g[f+(j<<2)>>2]>d))break;c[h+(a<<2)>>2]=j;c[e+(j<<2)>>2]=a;a=i}c[h+(a<<2)>>2]=b;c[k>>2]=a}return}function mr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a+4|0;while(1){f=b<<1;h=f|1;i=c[j>>2]|0;if(!((f|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(f<<2)>>2]<<2)>>2]<+g[e+(c[k+(b<<2)>>2]<<2)>>2]):0))f=b;if((h|0)<(i|0)?(k=c[a>>2]|0,+g[e+(c[k+(h<<2)>>2]<<2)>>2]<+g[e+(c[k+(f<<2)>>2]<<2)>>2]):0)f=h;if((f|0)==(b|0))break;k=c[a>>2]|0;i=k+(f<<2)|0;h=c[i>>2]|0;k=k+(b<<2)|0;c[i>>2]=c[k>>2];c[k>>2]=h;c[d+(c[i>>2]<<2)>>2]=f;c[d+(c[k>>2]<<2)>>2]=b;b=f}return}function nr(){gt(184320,48);c[46083]=0;return}function or(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0;i=it(184320)|0;c[i+32>>2]=a;c[i+36>>2]=b;Pt(a);Pt(b);c[i+24>>2]=0;c[i+28>>2]=0;f=+h[a>>3];g=+h[b>>3]-f;e=+h[a+8>>3];d=+h[b+8>>3]-e;f=d*e+g*f+(d*d+g*g)*.5;b=i+16|0;h[b>>3]=f;if((g>0.0?g:-g)>(d>0.0?d:-d)){h[i>>3]=1.0;e=d/g;d=g;a=i+8|0}else{h[i+8>>3]=1.0;e=g/d;a=i}h[a>>3]=e;h[b>>3]=f/d;b=c[46083]|0;c[i+40>>2]=b;c[46083]=b+1;return i|0}function pr(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0;l=+h[a>>3];a:do if(l==1.0){if(!(+h[a+8>>3]>=0.0)){b=c[a+28>>2]|0;d=c[a+24>>2]|0;if(!d)m=9;else m=5}else{b=c[a+24>>2]|0;d=c[a+28>>2]|0;if(!d)m=9;else m=5}do if((m|0)==5){e=+h[d+8>>3];if(e>+h[22881])break a;f=+h[22882];if(!(e>=f)){i=f;e=+h[a+16>>3]-+h[a+8>>3]*f;break}else{i=e;e=+h[d>>3];break}}else if((m|0)==9){f=+h[22882];i=f;e=+h[a+16>>3]-+h[a+8>>3]*f}while(0);do if(b){g=+h[b+8>>3];if(g<f)break a;f=+h[22881];if(!(g<=f)){g=f;f=+h[a+16>>3]-+h[a+8>>3]*f;break}else{f=+h[b>>3];break}}else{f=+h[22881];g=f;f=+h[a+16>>3]-+h[a+8>>3]*f}while(0);j=+h[22883];b=e>j;d=f>j;k=+h[22884];if(!(b&d|e<k&f<k)){if(b){i=(+h[a+16>>3]-j)/+h[a+8>>3];e=j}if(e<k){i=(+h[a+16>>3]-k)/+h[a+8>>3];e=k}if(d){g=(+h[a+16>>3]-j)/+h[a+8>>3];f=j}if(f<k){g=(+h[a+16>>3]-k)/+h[a+8>>3];f=k;m=46}else m=46}}else{d=c[a+28>>2]|0;b=c[a+24>>2]|0;do if(b){e=+h[b>>3];if(e>+h[22883])break a;g=+h[22884];if(!(e>=g)){i=+h[a+16>>3]-g*l;e=g;break}else{i=+h[b+8>>3];break}}else{g=+h[22884];i=+h[a+16>>3]-g*l;e=g}while(0);do if(d){f=+h[d>>3];if(f<g)break a;j=+h[22883];if(!(f<=j)){g=+h[a+16>>3]-l*j;f=j;break}else{g=+h[d+8>>3];break}}else{f=+h[22883];g=+h[a+16>>3]-l*f}while(0);j=+h[22881];b=i>j;d=g>j;k=+h[22882];if(!(b&d|i<k&g<k)){if(b){i=j;e=(+h[a+16>>3]-j)/l}if(i<k){i=k;e=(+h[a+16>>3]-k)/l}if(d){g=j;f=(+h[a+16>>3]-j)/l}if(g<k){g=k;f=(+h[a+16>>3]-k)/l;m=46}else m=46}}while(0);if((m|0)==46)qr(a,e,i,f,g);return}function qr(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0;g=a+32|0;Xr(c[g>>2]|0,b,d);Xr(c[g>>2]|0,e,f);a=a+36|0;Xr(c[a>>2]|0,b,d);Xr(c[a>>2]|0,e,f);return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Pt(d);if(c[a+24+(1-b<<2)>>2]|0){pr(a);Ot(c[a+32>>2]|0);Ot(c[a+36>>2]|0);jt(a,184320)}return}function sr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;o=p;m=b<<2;h=vH(O(m,d)|0)|0;g=c[e>>2]|0;m=vH(m)|0;n=c[a+8>>2]|0;if(g|0){D_(c[g>>2]|0);D_(g)}k=vH(d<<2)|0;c[e>>2]=k;g=0;while(1){if((g|0)>=(d|0))break;c[k+(g<<2)>>2]=h+((O(g,b)|0)<<2);g=g+1|0}j=(f|0)!=0;if(j)es(a,b);e=(g2()|0)%(b|0)|0;zq(o,b);g=c[k>>2]|0;if(j){cr(e,a,b,g);f=0;g=0}else{vq(e,a,b,g,o);f=0;g=0}while(1){if((g|0)>=(b|0)){i=1;break}h=c[(c[k>>2]|0)+(g<<2)>>2]|0;c[m+(g<<2)>>2]=h;i=(h|0)>(f|0);f=i?h:f;e=i?g:e;g=g+1|0}while(1){if((i|0)>=(d|0))break;h=k+(i<<2)|0;g=c[h>>2]|0;if(j){cr(e,a,b,g);g=0;f=0}else{vq(e,a,b,g,o);g=0;f=0}while(1){if((g|0)>=(b|0))break;s=m+(g<<2)|0;q=c[s>>2]|0;r=c[(c[h>>2]|0)+(g<<2)>>2]|0;r=(q|0)<(r|0)?q:r;c[s>>2]=r;s=(r|0)>(f|0);q=s?g:e;g=g+1|0;f=s?r:f;e=q}i=i+1|0}D_(m);if(j)fs(a,b,n);l=p;return}function tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0,k=0;i=1.0/+(b|0);h=0;while(1){if((h|0)>=(d|0))break;j=a+(h<<2)|0;e=0.0;f=0;while(1){if((f|0)>=(b|0))break;e=e+ +(c[(c[j>>2]|0)+(f<<2)>>2]|0);f=f+1|0}g=~~(e*i);f=0;while(1){if((f|0)>=(b|0))break;k=(c[j>>2]|0)+(f<<2)|0;c[k>>2]=(c[k>>2]|0)-g;f=f+1|0}h=h+1|0}return}function ur(){c[46085]=~~+C(+(+((c[46084]|0)+4|0)));return}function vr(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(d*d+c*c)}function wr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=+h[b+8>>3]-+h[c+8>>3];return}function xr(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=+h[c+8>>3]+ +h[b+8>>3];return}function yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return +((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))}function zr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+32|0;g=e+16|0;h=e;c[h>>2]=c[a>>2];c[h+4>>2]=c[a+4>>2];c[h+8>>2]=c[a+8>>2];c[h+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];d=+yr(h,g,f)>0.0&1;l=e;return d|0}function Ar(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;o=+h[a>>3];p=+h[d+8>>3];q=+h[c+8>>3];m=(p-q)*o;n=+h[b>>3];l=+h[d>>3];k=+h[b+8>>3];i=+h[a+8>>3];j=k-i;f=+h[c>>3];g=m+n*(q-p)+j*l+f*(i-k);if(g==0.0)d=0;else{p=(f*(i-p)+m+(q-i)*l)/g;q=-(f*j+((q-k)*o+(i-q)*n))/g;h[e>>3]=p*(n-o)+o;h[e+8>>3]=j*p+i;d=q<=1.0&(q>=0.0&(p>=0.0&p<=1.0))&1}return d|0}function Br(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0.0,i=0;c[a+20>>2]=b;Pt(b);i=a+24|0;h[i>>3]=+h[b+8>>3]+d;e=c[46086]|0;e=e+((Cr(a)|0)*40|0)|0;while(1){f=e+32|0;e=c[f>>2]|0;if(!e)break;d=+h[i>>3];g=+h[e+24>>3];if(d>g)continue;if(!(d==g))break;if(!(+h[b>>3]>+h[c[e+20>>2]>>3]))break}c[a+32>>2]=e;c[f>>2]=a;c[46087]=(c[46087]|0)+1;return}function Cr(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[46088]|0;e=+(d|0);b=(+h[a+24>>3]-+h[22888])/+h[22890]*e;do if(!(b<0.0))if(!(b>=e)){a=~~b;break}else{a=d+-1|0;break}else a=0;while(0);if((a|0)<(c[46089]|0))c[46089]=a;return a|0}function Dr(a){a=a|0;var b=0,d=0,e=0;d=a+20|0;if(c[d>>2]|0){b=c[46086]|0;b=b+((Cr(a)|0)*40|0)|0;do{e=b+32|0;b=c[e>>2]|0}while((b|0)!=(a|0));c[e>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;Ot(c[d>>2]|0);c[d>>2]=0}return}function Er(){return (c[46087]|0)==0|0}function Fr(a){a=a|0;var b=0,d=0,e=0,f=0.0;b=c[46086]|0;d=c[46089]|0;while(1){e=c[b+(d*40|0)+32>>2]|0;if(e|0)break;e=d+1|0;c[46089]=e;d=e}f=+h[e+24>>3];h[a>>3]=+h[c[e+20>>2]>>3];h[a+8>>3]=f;return}function Gr(){var a=0,b=0;b=(c[46086]|0)+((c[46089]|0)*40|0)+32|0;a=c[b>>2]|0;c[b>>2]=c[a+32>>2];c[46087]=(c[46087]|0)+-1;return a|0}function Hr(){D_(c[46086]|0);c[46086]=0;return}function Ir(){var a=0,b=0,d=0;c[46087]=0;c[46089]=0;a=c[46085]|0;b=a<<2;c[46088]=b;d=c[46086]|0;if(!d){d=vH(a*160|0)|0;c[46086]=d;b=c[46088]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a*40|0)+32>>2]=0;a=a+1|0}return}function Jr(){gt(184368,40);D_(c[46095]|0);c[46095]=0;return}function Kr(){var a=0,b=0,d=0;gt(184368,40);a=c[46085]|0;b=a<<1;c[46096]=b;d=c[46095]|0;if(!d){d=vH(a<<3)|0;c[46095]=d;b=c[46096]|0}a=0;while(1){if((a|0)>=(b|0))break;c[d+(a<<2)>>2]=0;a=a+1|0}c[46090]=Lr(0,0)|0;c[46091]=Lr(0,0)|0;c[c[46090]>>2]=0;d=c[46091]|0;b=c[46090]|0;c[b+4>>2]=d;c[d>>2]=b;c[(c[46091]|0)+4>>2]=0;d=c[46095]|0;c[d>>2]=c[46090];c[d+((c[46096]|0)+-1<<2)>>2]=c[46091];return}function Lr(b,d){b=b|0;d=d|0;var e=0;e=it(184368)|0;c[e+8>>2]=b;a[e+16>>0]=d;c[e+32>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;return e|0}function Mr(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0,p=0.0,q=0.0;i=c[b+8>>2]|0;k=c[d+8>>2]|0;do if((!((i|0)==0|(k|0)==0)?(o=c[i+36>>2]|0,e=c[k+36>>2]|0,(o|0)!=(e|0)):0)?(j=+h[i>>3],f=+h[k+8>>3],g=+h[i+8>>3],l=+h[k>>3],m=f*j-l*g,!(m>-1.0e-10&m<1.0e-10)):0){p=+h[i+16>>3];q=+h[k+16>>3];n=(p*f-q*g)/m;j=(q*j-p*l)/m;f=+h[o+8>>3];g=+h[e+8>>3];do if(f<g)e=o;else{if(f==g?+h[o>>3]<+h[e>>3]:0){e=o;break}b=d}while(0);b=a[b+16>>0]|0;if(!(n>=+h[e>>3])){if(b<<24>>24==1){b=0;break}}else if(!(b<<24>>24)){b=0;break}b=Lt()|0;c[b+20>>2]=0;h[b>>3]=n;h[b+8>>3]=j}else b=0;while(0);return b|0}function Nr(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0,n=0,o=0.0,p=0;n=c[b+8>>2]|0;k=c[n+36>>2]|0;l=+h[d>>3];o=+h[k>>3];m=l>o;p=a[b+16>>0]|0;if(m)if(!(p<<24>>24))b=1;else f=4;else if(p<<24>>24==1)b=0;else f=4;if((f|0)==4){e=+h[n>>3];a:do if(e==1.0){e=+h[d+8>>3];g=e-+h[k+8>>3];i=l-o;j=+h[n+8>>3];d=j<0.0;do if(m?j>=0.0:d){if(g>=j*i){b=1;break a}}else{b=j*e+l>+h[n+16>>3];if(d)if(b){b=0;break a}else break;else if(b)break;else{b=0;break a}}while(0);o=o-+h[c[n+32>>2]>>3];b=j*(i*i-g*g)<o*g*(i*2.0/o+1.0+j*j);if(d)b=b^1}else{i=+h[n+16>>3]-l*e;j=+h[d+8>>3]-i;o=l-o;l=i-+h[k+8>>3];b=j*j>l*l+o*o}while(0);b=(b^p<<24>>24!=0)&1}return b|0}function Or(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>2]>>2]=b;c[a>>2]=b;return}function Pr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[46096]|0;b=~~((+h[a>>3]-+h[22887])/+h[22889]*+(f|0));b=(b|0)>0?b:0;f=(b|0)<(f|0)?b:f+-1|0;b=Qr(f)|0;if(!b){d=1;while(1){b=Qr(f-d|0)|0;if(b|0)break;b=Qr(d+f|0)|0;if(b|0)break;d=d+1|0}c[46097]=(c[46097]|0)+d}c[46098]=(c[46098]|0)+1;e=c[46090]|0;d=c[46091]|0;a:do if((b|0)==(e|0))g=9;else{if((b|0)!=(d|0)?(Nr(b,a)|0)!=0:0){g=9;break}while(1){b=c[b>>2]|0;if((b|0)==(e|0))break a;if(Nr(b,a)|0){e=b;break}}}while(0);if((g|0)==9){while(1){b=c[b+4>>2]|0;if((b|0)==(d|0))break;if(!(Nr(b,a)|0))break;else g=9}e=c[b>>2]|0}if((f|0)>0?(f|0)<((c[46096]|0)+-1|0):0){b=(c[46095]|0)+(f<<2)|0;d=c[b>>2]|0;if(d|0){g=d+12|0;c[g>>2]=(c[g>>2]|0)+-1}c[b>>2]=e;g=e+12|0;c[g>>2]=(c[g>>2]|0)+1}return e|0}function Qr(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[46096]|0)>(a|0)?(d=(c[46095]|0)+(a<<2)|0,b=c[d>>2]|0,(b|0)!=0):0){if((c[b+8>>2]|0)==(-2|0)){c[d>>2]=0;a=b+12|0;d=(c[a>>2]|0)+-1|0;c[a>>2]=d;if(!d){jt(b,184368);b=0}else b=0}}else b=0;return b|0}function Rr(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c[c[b>>2]>>2]=d;c[a+8>>2]=-2;return}function Sr(a){a=a|0;return c[a+4>>2]|0}function Tr(a){a=a|0;return c[a>>2]|0}function Ur(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+32|0:d+36|0;return c[b>>2]|0}function Vr(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)b=184588;else b=(a[b+16>>0]|0)==0?d+36|0:d+32|0;return c[b>>2]|0}function Wr(){gt(184400,24);return}function Xr(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j;g=(c[46099]|0)+((c[a+16>>2]|0)*96|0)+88|0;f=c[g>>2]|0;h[i+8>>3]=b;h[i+16>>3]=d;e=Yr(a,i,f)|0;do if(e|0){if((e|0)<0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[i>>2]=f;c[g>>2]=i;break}while(1){e=c[f>>2]|0;g=Yr(a,i,e)|0;if((g|0)>0)f=e;else break}if(g|0){i=it(184400)|0;h[i+8>>3]=b;h[i+16>>3]=d;c[f>>2]=i;c[i>>2]=e}}while(0);l=j;return}function Yr(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;do if(c){e=+h[b+8>>3];i=+h[c+8>>3];d=+h[b+16>>3];f=+h[c+16>>3];if(!(e==i&d==f)){k=+h[a>>3];j=e-k;e=+h[a+8>>3];g=d-e;i=i-k;d=f-e;if(!(j>=0.0)){if(i>=0.0){b=1;break}e=d/i;d=g/j;if(d<e){b=-1;break}if(d>e){b=1;break}b=j>i?-1:1;break}if(!(i<0.0)){b=i>0.0;if(!(j>0.0)){if(b){b=!(g<=0.0)?1:-1;break}if(g<d){b=!(d<=0.0)?-1:1;break}else{b=!(g<=0.0)?1:-1;break}}else{if(!b){b=d>0.0?-1:1;break}e=d/i;d=g/j;if(d<e){b=-1;break}if(d>e){b=1;break}b=j<i?-1:1;break}}else b=-1}else b=0}else b=-1;while(0);return b|0}function Zr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[a+(d*20|0)>>2]|0;d=a+(d*20|0)+4|0;b=1;a=0;while(1){if((b|0)>=(f|0))break;g=a+((c[e+(c[(c[d>>2]|0)+(b<<2)>>2]<<2)>>2]|0)>0&1)|0;b=b+1|0;a=g}return a|0}function _r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=1;a=a+1|0}return}function $r(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;b=a+(b*20|0)+4|0;a=1;while(1){if((a|0)>=(c[e>>2]|0))break;c[d+(c[(c[b>>2]|0)+(a<<2)>>2]<<2)>>2]=0;a=a+1|0}return}function as(a,b){a=a|0;b=b|0;if(!(c[a+8>>2]|0))a=cs(a,b)|0;else a=bs(a,b)|0;return a|0}function bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=b<<2;e=vH(O(f,b)|0)|0;f=vH(f)|0;d=0;while(1){if((d|0)>=(b|0)){d=0;break}c[f+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}while(1){if((d|0)>=(b|0))break;cr(d,a,b,c[f+(d<<2)>>2]|0);d=d+1|0}return f|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=b<<2;e=vH(O(g,b)|0)|0;g=vH(g)|0;d=0;while(1){if((d|0)>=(b|0))break;c[g+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}zq(f,b);d=0;while(1){if((d|0)>=(b|0))break;vq(d,a,b,c[g+(d<<2)>>2]|0,f);d=d+1|0}Aq(f);l=h;return g|0}function ds(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;es(a,b);d=bs(a,b)|0;fs(a,b,e);return d|0}function es(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=vH(b<<2)|0;d=0;e=0;while(1){if((d|0)>=(b|0))break;k=(c[a+(d*20|0)>>2]|0)+e|0;d=d+1|0;e=k}e=vH(e<<2)|0;d=0;while(1){if((d|0)>=(b|0))break;c[l+(d<<2)>>2]=0;d=d+1|0}f=0;while(1){if((f|0)>=(b|0))break;c[a+(f*20|0)+8>>2]=e;_r(a,f,l);h=a+(f*20|0)|0;i=c[h>>2]|0;j=a+(f*20|0)+4|0;k=i+-2|0;d=1;while(1){if((d|0)>=(i|0))break;m=c[(c[j>>2]|0)+(d<<2)>>2]|0;n=c[a+(m*20|0)>>2]|0;g[e+(d<<2)>>2]=+(k+n-((Zr(a,0,m,l)|0)<<1)|0);d=d+1|0}$r(a,f,l);e=e+(c[h>>2]<<2)|0;f=f+1|0}D_(l);return}function fs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;D_(c[e>>2]|0);c[e>>2]=0;a:do if(d|0){e=0;while(1){if((e|0)>=(b|0))break a;c[a+(e*20|0)+8>>2]=d;f=d+(c[a+(e*20|0)>>2]<<2)|0;e=e+1|0;d=f}}while(0);return}function gs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0;f=0;g=0.0;while(1){if((f|0)>=(b|0))break;j=c[a+(f<<2)>>2]|0;i=+h[j+(d<<3)>>3]-+h[j+(e<<3)>>3];f=f+1|0;g=i*i+g}return +(+C(+g))}function hs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[46103]=a;_0(b+(d<<2)|0,1-d+e|0,4,76)}return}function is(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[46103]|0;e=+g[f+(c[a>>2]<<2)>>2];d=+g[f+(c[b>>2]<<2)>>2];return (e<d?-1:e>d&1)|0}function js(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;if((d|0)<(e|0)){ks(a,b,d,e,f);g=c[f>>2]|0;f=g+-1|0;js(a,b,d,f);g=g+1|0;js(a,b,g,e);if(!(ls(a,b,d,f)|0))js(a,b,d,f);if(!(ls(a,b,g,e)|0))js(a,b,g,e)}l=h;return}function ks(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0.0,m=0,n=0;g=g2()|0;g=b+(((((g2()|0)<<16|g)>>>0)%((1-d+e|0)>>>0)|0)+d<<2)|0;j=c[g>>2]|0;k=b+(d<<2)|0;c[g>>2]=c[k>>2];c[k>>2]=j;l=+h[a+(j<<3)>>3];g=d+1|0;d=e;a:while(1){if((g|0)>=(d|0))break;while(1){if((g|0)>=(d|0))break;if(!(+h[a+(c[b+(g<<2)>>2]<<3)>>3]<=l))break;g=g+1|0}while(1){if((g|0)>=(d|0))continue a;e=b+(d<<2)|0;i=c[e>>2]|0;if(!(+h[a+(i<<3)>>3]>l))break;d=d+-1|0}n=b+(g<<2)|0;m=c[n>>2]|0;c[n>>2]=i;c[e>>2]=m;g=g+1|0;d=d+-1|0}n=g+((+h[a+(c[b+(g<<2)>>2]<<3)>>3]>l)<<31>>31)|0;c[f>>2]=n;n=b+(n<<2)|0;c[k>>2]=c[n>>2];c[n>>2]=j;return}function ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=1;while(1){f=d+1|0;if(!((d|0)<(e|0)&(g|0)!=0))break;g=+h[a+(c[b+(d<<2)>>2]<<3)>>3]>+h[a+(c[b+(f<<2)>>2]<<3)>>3]?0:g;d=f}return g|0}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,A=0.0;x=l;l=l+16|0;v=4;w=C_(40)|0;c[w>>2]=0;t=x;o=0;u=$(23,b*40|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;r=0;while(1){if((d|0)>=(b|0))break;s=(c[(c[a+(d<<2)>>2]|0)+4>>2]|0)+r|0;d=d+1|0;r=s}o=0;s=$(23,r*24|0)|0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)!=1){d=0;m=0;while(1){if((m|0)>=(b|0))break;n=u+(m*40|0)|0;c[n>>2]=s+(d*24|0);q=a+(m<<2)|0;f=0;g=1797693134862315708145274.0e284;i=-1797693134862315708145274.0e284;j=-1797693134862315708145274.0e284;k=1797693134862315708145274.0e284;while(1){e=c[q>>2]|0;if((f|0)>=(c[e+4>>2]|0))break;e=c[e>>2]|0;A=+h[e+(f<<4)>>3];y=+h[e+(f<<4)+8>>3];h[s+(d*24|0)>>3]=A;h[s+(d*24|0)+8>>3]=y;c[s+(d*24|0)+16>>2]=n;c[s+(d*24|0)+20>>2]=0;f=f+1|0;d=d+1|0;g=g<A?g:A;i=i>A?i:A;j=j>y?j:y;k=k<y?k:y}c[u+(m*40|0)+4>>2]=s+((d+-1|0)*24|0);h[u+(m*40|0)+8>>3]=g;h[u+(m*40|0)+16>>3]=k;h[u+(m*40|0)+24>>3]=i;h[u+(m*40|0)+32>>3]=j;m=m+1|0}c[t>>2]=r;c[t+4>>2]=b;w=D3(184416,1,w|0,v|0)|0;v=z;o=0;d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){d=z;q=s;m=s;n=u}else{d=0;q=s;m=s;n=u}}else{d=z;q=0;m=s;n=u}}else{d=z;q=0;m=0;n=0}while(1){if(d|0){o=0;ia(103,u|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);d=o;o=0;if((d|0)!=0&(p|0)!=0){e=E3(c[d>>2]|0,w|0,v|0)|0;if(!e)bb(d|0,p|0);z=p}else e=-1;if((e|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}else{e=17;break}}o=0;d=aa(77,q|0,t|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}if(!d){o=0;d=ca(24,a|0,b|0,n|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}}o=0;ia(103,u|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s;continue}o=0;ia(103,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,v|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=n;r=m;s=q;d=z;n=f;m=r;q=s}else{e=24;break}}if((e|0)==17)d=0;else if((e|0)==24)d=(d|0)==0&1;D_(w|0);l=x;return d|0}function ns(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;q=v;o=v+8|0;p=v+4|0;c[b+8>>2]=0;u=vH(c[b>>2]<<2)|0;f=c[b>>2]|0;e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=a+(e*24|0);e=e+1|0}_0(u,f,4,78);m=0;g=0;f=0;h=0;a:while(1){if((m|0)>=(c[b>>2]|0)){s=0;d=g;t=h;break}n=u+(m<<2)|0;e=c[n>>2]|0;c[o>>2]=e;a=c[e+16>>2]|0;if((c[a>>2]|0)==(e|0))e=c[a+4>>2]|0;else e=e+-24|0;c[p>>2]=e;k=0;a=g;j=h;while(1){if((k|0)>=2)break;switch(ps(o,p)|0){case -1:{g=0;h=a;while(1){if((g|0)>=(j|0))break;i=qs(c[h>>2]|0,e)|0;if(i|0){s=i;d=a;t=j;break a}g=g+1|0;h=c[h+4>>2]|0}g=vH(12)|0;if(!j){f=0;a=g}else c[f+4>>2]=g;c[g+8>>2]=f;c[g>>2]=e;c[g+4>>2]=0;c[e+20>>2]=g;h=j+1|0;break}case 1:{e=e+20|0;g=c[e>>2]|0;if(!g){r=19;break a}do if((j|0)!=1){if((g|0)==(a|0)){a=c[a+4>>2]|0;c[a+8>>2]=0;break}if((g|0)==(f|0)){f=c[f+8>>2]|0;c[f+4>>2]=0;break}else{i=g+4|0;h=c[g+8>>2]|0;c[h+4>>2]=c[i>>2];c[(c[i>>2]|0)+8>>2]=h;break}}else{a=0;f=0}while(0);D_(g);c[e>>2]=0;g=f;h=j+-1|0;break}default:{g=f;h=j}}e=c[n>>2]|0;f=c[e+16>>2]|0;if((e|0)==(c[f+4>>2]|0))f=c[f>>2]|0;else f=e+24|0;c[p>>2]=f;k=k+1|0;f=g;j=h}m=m+1|0;g=a;h=j}if((r|0)==19){Pw(1,92219,q)|0;bb(184416,1)}e=0;while(1){if((e|0)>=(t|0))break;r=c[d+4>>2]|0;D_(d);e=e+1|0;d=r}D_(u);l=v;return s|0}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0.0;D=l;l=l+48|0;o=D+24|0;n=D+16|0;u=D;e=0;a:while(1){if((e|0)>=(b|0)){e=0;break}z=c[a+(e<<2)>>2]|0;A=c[z>>2]|0;c[u>>2]=c[A>>2];c[u+4>>2]=c[A+4>>2];c[u+8>>2]=c[A+8>>2];c[u+12>>2]=c[A+12>>2];A=e+1|0;B=d+(e*40|0)+8|0;p=d+(e*40|0)+24|0;q=d+(e*40|0)+32|0;g=d+(e*40|0)+16|0;e=A;while(1){if((e|0)>=(b|0)){e=A;continue a}i=c[a+(e<<2)>>2]|0;j=+h[B>>3];k=+h[d+(e*40|0)+24>>3];m=!(j<=k);f=+h[d+(e*40|0)+8>>3];if((((!(m|!(j>=f))?(r=+h[g>>3],s=+h[d+(e*40|0)+32>>3],r<=s):0)?(t=+h[d+(e*40|0)+16>>3],r>=t):0)?(E=+h[p>>3],!(!(E<=k)|!(E>=f))):0)?(E=+h[q>>3],!(!(E<=s)|!(E>=t))):0){c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[o>>2]=c[u>>2];c[o+4>>2]=c[u+4>>2];c[o+8>>2]=c[u+8>>2];c[o+12>>2]=c[u+12>>2];if(wU(n,o)|0){e=1;break a}}else C=11;if((((((C|0)==11?(C=0,v=+h[p>>3],!(!(f<=v)|!(f>=j))):0)?(w=+h[d+(e*40|0)+16>>3],x=+h[q>>3],w<=x):0)?(y=+h[g>>3],!(!(w>=y)|(!(k<=v)|m))):0)?(E=+h[d+(e*40|0)+32>>3],!(!(E<=x)|!(E>=y))):0)?(m=c[i>>2]|0,c[n>>2]=c[z>>2],c[n+4>>2]=c[z+4>>2],c[o>>2]=c[m>>2],c[o+4>>2]=c[m+4>>2],c[o+8>>2]=c[m+8>>2],c[o+12>>2]=c[m+12>>2],wU(n,o)|0):0){e=1;break a}e=e+1|0}}l=D;return e|0}function ps(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[e>>3]-+h[a>>3];if(!(d!=0.0)){d=+h[e+8>>3]-+h[a+8>>3];if(d==0.0)a=0;else a=d>0.0?1:-1}else a=d>0.0?1:-1;return a|0}function qs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;g=m+32|0;i=m+24|0;j=m+16|0;k=m;f=m+48|0;rs(a,b,f);d=f+8|0;e=c[d>>2]|0;do if((e|0)>0)d=0;else{if((e|0)<0){rs(b,a,f);d=c[d>>2]|0;if((d|0)>0){d=0;break}if((d|0)<0)d=3;else{d=c[f>>2]|0;d=ss(b,a,(d|0)>-1?d:0-d|0)|0}if(!(ts(a,b,i,j,d)|0)){d=0;break}}else{d=c[f>>2]|0;if((d|0)==(c[f+4>>2]|0)){d=ss(a,b,0)|0;d=(ss(a,b,(d|0)<=(ss(a,b,1)|0)&1)|0)<<1}else d=ss(a,b,(d|0)>-1?d:0-d|0)|0;if(!(ts(a,b,i,j,d)|0)){d=0;break}}h[k>>3]=+h[i>>3];h[k+8>>3]=+h[j>>3];c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];d=us(a,b,g)|0}while(0);l=m;return d|0}function rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;i=+h[a>>3];j=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0)){a=c[e>>2]|0;e=a}else{e=a+24|0;a=a+24|0}g=+h[e>>3]-i;f=+h[a+8>>3]-j;e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0)){a=c[e>>2]|0;e=a}else{e=b+24|0;a=b+24|0}k=+h[e>>3]-i;l=+h[a+8>>3]-j;j=(+h[b+8>>3]-j)*g-(+h[b>>3]-i)*f;b=j==0.0?0:j>0.0?1:-1;c[d>>2]=b;j=l*g-k*f;a=j==0.0?0:j>0.0?1:-1;c[d+4>>2]=a;c[d+8>>2]=O(a,b)|0;return}function ss(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0;k=+h[a>>3];l=+h[a+8>>3];f=c[a+16>>2]|0;if((c[f+4>>2]|0)==(a|0))a=c[f>>2]|0;else a=a+24|0;j=+h[a>>3];i=+h[a+8>>3];do if(d){a=c[b+16>>2]|0;if((c[a+4>>2]|0)==(b|0)){b=c[a>>2]|0;break}else{b=b+24|0;break}}while(0);g=+h[b>>3];e=+h[b+8>>3];if(k==j)if(k==g)b=(ws(l,e,i)|0)!=-1&1;else b=0;else b=ws(k,g,j)|0;return b|0}function ts(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do if((f|0)<1)g=0;else{n=+h[a>>3];p=+h[a+8>>3];g=c[a+16>>2]|0;if((c[g+4>>2]|0)==(a|0))g=c[g>>2]|0;else g=a+24|0;l=+h[g>>3];j=+h[g+8>>3];m=+h[b>>3];o=+h[b+8>>3];g=c[b+16>>2]|0;if((c[g+4>>2]|0)==(b|0))g=c[g>>2]|0;else g=b+24|0;k=+h[g>>3];i=+h[g+8>>3];b:do switch(f|0){case 3:{if(n==l){h[d>>3]=n;i=(o-i)/(m-k)*(n-k)+i;break b}if(m==k){h[d>>3]=m;i=(p-j)/(n-l)*(m-l)+j;break b}else{k=(o-i)/(m-k);l=(p-j)/(n-l);o=o-k*m;p=p-l*n;i=k-l;h[d>>3]=(p-o)/i;i=(k*p-o*l)/i;break b}}case 2:{if((ss(a,b,0)|0)==-1)if((ss(b,a,1)|0)==-1){f=(ss(b,a,0)|0)==-1;l=f?l:n;k=m;j=f?j:p;i=o}else{l=k;k=m;j=i;i=o}else if((ss(a,b,1)|0)!=-1)if((ss(b,a,0)|0)==-1){k=n;i=p}else{g=0;break a}else{l=m;j=o}h[d>>3]=(k+l)*.5;i=(i+j)*.5;break}case 1:if((o-p)*(n-l)==(m-n)*(p-j)){h[d>>3]=m;i=o;break b}else{h[d>>3]=k;break b}default:{g=1;break a}}while(0);h[e>>3]=i;g=1}while(0);return g|0}function us(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;o=+h[a>>3];p=+h[a+8>>3];e=c[a+16>>2]|0;if((c[e+4>>2]|0)==(a|0))e=c[e>>2]|0;else e=a+24|0;m=+h[e>>3];j=+h[e+8>>3];k=+h[b>>3];n=+h[b+8>>3];e=c[b+16>>2]|0;if((c[e+4>>2]|0)==(b|0))e=c[e>>2]|0;else e=b+24|0;i=+h[e>>3];g=+h[e+8>>3];a:do if(!(o!=m&k!=i)){do if(o==m){f=+h[d>>3];if(o==f?p==+h[d+8>>3]:0)break;if(!(m==f)){r=18;break a}if(!(j==+h[d+8>>3])){r=18;break a}}while(0);if(k==i){f=+h[d>>3];if(k==f?n==+h[d+8>>3]:0){e=0;break}if(i==f?g==+h[d+8>>3]:0)e=0;else r=18}else e=0}else r=18;while(0);if((r|0)==18)if(0>1){e=c[15686]|0;p=+h[d+8>>3];h[q>>3]=+h[d>>3];h[q+8>>3]=p;g1(e,92248,q)|0;vs(1,a);vs(2,b);e=1}else e=1;l=s;return e|0}function vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0;k=l;l=l+48|0;j=k;f=c[15686]|0;g=+h[b>>3];i=+h[b+8>>3];d=c[b+16>>2]|0;if((c[d+4>>2]|0)==(b|0)){d=c[d>>2]|0;e=d}else{e=b+24|0;d=b+24|0}n=+h[e>>3];m=+h[d+8>>3];c[j>>2]=a;h[j+8>>3]=g;h[j+16>>3]=i;h[j+24>>3]=n;h[j+32>>3]=m;g1(f,92276,j)|0;l=k;return}function ws(a,b,c){a=+a;b=+b;c=+c;return (a==b|b==c?0:(a<b?b<c:c<b)?1:-1)|0}function xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;a:do if(!(lv(a,d)|0))a=0;else{f=uH(d<<3)|0;a=0;while(1){if((a|0)<(d|0))e=0;else break;while(1){if((e|0)==(d|0))break;h[f+(e<<3)>>3]=0.0;e=e+1|0}h[f+(a<<3)>>3]=1.0;mv(c[b+(a<<2)>>2]|0,f,d);a=a+1|0}D_(f);f=0;while(1){if((f|0)>=(d|0)){a=1;break a}e=b+(f<<2)|0;a=0;while(1){if((a|0)==(f|0))break;j=(c[e>>2]|0)+(a<<3)|0;i=+h[j>>3];g=(c[b+(a<<2)>>2]|0)+(f<<3)|0;h[j>>3]=+h[g>>3];h[g>>3]=i;a=a+1|0}f=f+1|0}}while(0);return a|0}function ys(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0.0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=b<<3;p=vH(q)|0;q=vH(q)|0;r=b*30|0;n=(d|0)<(b|0)?d:b;o=b+-1|0;m=(g|0)==0;d=0;i=0;a:while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;do{b:do if(m)d=0;else{d=0;while(1){if((d|0)==(b|0)){d=0;break b}h[k+(d<<3)>>3]=+((g2()|0)%100|0|0);d=d+1|0}}while(0);while(1){if((d|0)==(i|0))break;g=c[e+(d<<2)>>2]|0;As(k,0,o,-+zs(g,0,o,k),g);d=d+1|0}j=+Bs(k,0,o)}while(j<1.0e-10);Cs(k,0,o,1.0/j,k);d=0;do{Ds(q,0,o,k);Es(a,b,b,k,p);Ds(k,0,o,p);g=0;while(1){if((g|0)==(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}s=d;d=d+1|0;j=+Bs(k,0,o);if(!((s|0)<(r|0)&!(j<1.0e-10)))break a;Cs(k,0,o,1.0/j,k);l=+zs(k,0,o,q)}while(+B(+l)<.999);h[f+(i<<3)>>3]=l*j;i=i+1|0}while(1){if((i|0)>=(n|0))break;k=c[e+(i<<2)>>2]|0;g=0;while(1){if((g|0)>=(b|0)){g=0;break}h[k+(g<<3)>>3]=+((g2()|0)%100|0|0);g=g+1|0}while(1){if((g|0)>=(i|0))break;s=c[e+(g<<2)>>2]|0;As(k,0,o,-+zs(s,0,o,k),s);g=g+1|0}Cs(k,0,o,1.0/+Bs(k,0,o),k);h[f+(i<<3)>>3]=0.0;i=i+1|0}m=n+-1|0;i=0;while(1){if((i|0)>=(m|0))break;a=f+(i<<3)|0;b=i+1|0;j=+h[a>>3];g=i;k=b;while(1){if((k|0)>=(n|0))break;l=+h[f+(k<<3)>>3];s=j<l;j=s?l:j;g=s?k:g;k=k+1|0}if((g|0)==(i|0)){i=b;continue}k=e+(i<<2)|0;Ds(p,0,o,c[k>>2]|0);s=e+(g<<2)|0;Ds(c[k>>2]|0,0,o,c[s>>2]|0);Ds(c[s>>2]|0,0,o,p);h[f+(g<<3)>>3]=+h[a>>3];h[a>>3]=j;i=b}D_(p);D_(q);return (d|0)<=(r|0)|0}function zs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0;f=0.0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;f=+h[d>>3]*+h[c>>3]+f;e=e+-1|0;d=d+8|0;c=c+8|0}return +f}function As(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[c>>3]+ +h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Bs(a,b,c){a=a|0;b=b|0;c=c|0;return +(+C(+(+zs(a,b,c,a))))}function Cs(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;f=1-b+c|0;e=e+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!f)break;h[c>>3]=+h[e>>3]*d;f=f+-1|0;e=e+8|0;c=c+8|0}return}function Ds(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=1-b+c|0;d=d+(b<<3)|0;c=a+(b<<3)|0;while(1){if(!e)break;h[c>>3]=+h[d>>3];e=e+-1|0;d=d+8|0;c=c+8|0}return}function Es(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;g=0.0;i=0;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[k>>2]|0)+(i<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Fs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0;k=c[i>>2]|0;if(!k){o=d<<2;j=C_(O(o,f)|0)|0;o=C_(o)|0}else{o=d<<2;j=F_(c[k>>2]|0,O(o,f)|0)|0;o=F_(k,o)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<2)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){j=0;l=0.0}else break;while(1){if((j|0)>=(e|0))break;p=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0;l=p}g[(c[n>>2]|0)+(k<<2)>>2]=l;k=k+1|0}i=i+1|0}return}function Gs(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,l=0.0,m=0,n=0,o=0;k=c[i>>2]|0;if(!k){j=C_(O(d<<3,f)|0)|0;o=C_(d<<2)|0}else{j=F_(c[k>>2]|0,O(d<<3,f)|0)|0;o=F_(k,d<<2)|0}c[i>>2]=o;k=0;while(1){if((k|0)>=(d|0)){i=0;break}c[o+(k<<2)>>2]=j;k=k+1|0;j=j+(f<<3)|0}while(1){if((i|0)>=(d|0))break;m=a+(i<<2)|0;n=o+(i<<2)|0;k=0;while(1){if((k|0)<(f|0)){l=0.0;j=0}else break;while(1){if((j|0)>=(e|0))break;l=+h[(c[m>>2]|0)+(j<<3)>>3]*+g[(c[b+(j<<2)>>2]|0)+(k<<2)>>2]+l;j=j+1|0}h[(c[n>>2]|0)+(k<<3)>>3]=l;k=k+1|0}i=i+1|0}return}function Hs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0;j=c[f>>2]|0;if(!j){i=C_(O(d*20|0,e)|0)|0;q=C_(d<<2)|0}else{i=F_(c[j>>2]|0,O(d*20|0,e)|0)|0;q=F_(j,d<<2)|0}c[f>>2]=q;j=0;while(1){if((j|0)>=(d|0)){f=0;break}c[q+(j<<2)>>2]=i;j=j+1|0;i=i+(e<<2)|0}while(1){if((f|0)>=(d|0))break;l=c[a+(f*20|0)+4>>2]|0;m=c[a+(f*20|0)+8>>2]|0;n=c[a+(f*20|0)>>2]|0;o=q+(f<<2)|0;i=0;while(1){if((i|0)>=(e|0))break;p=b+(i<<2)|0;k=0.0;j=0;while(1){if((j|0)>=(n|0))break;k=+h[(c[p>>2]|0)+(c[l+(j<<2)>>2]<<3)>>3]*+g[m+(j<<2)>>2]+k;j=j+1|0}g[(c[o>>2]|0)+(i<<2)>>2]=k;i=i+1|0}f=f+1|0}return}function Is(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+h[d>>3]+c;d=d+8|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;h[b>>3]=+h[b>>3]-c;b=b+8|0;a=a+-1|0}return}function Js(a,b){a=a|0;b=b|0;var c=0;c=0;while(1){if((c|0)>=(a|0))break;h[b+(c<<3)>>3]=+((g2()|0)%500|0|0);c=c+1|0}Is(a,b);return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;k=c[a+(j*20|0)>>2]|0;l=a+(j*20|0)+8|0;m=a+(j*20|0)+4|0;f=0.0;i=0;while(1){if((i|0)>=(k|0))break;f=+h[d+(c[(c[m>>2]|0)+(i<<2)>>2]<<3)>>3]*+g[(c[l>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;j=0;while(1){if((j|0)>=(b|0))break;k=a+(j<<2)|0;f=0.0;i=0;while(1){if((i|0)==(b|0))break;f=+h[d+(i<<3)>>3]*+g[(c[k>>2]|0)+(i<<2)>>2]+f;i=i+1|0}h[e+(j<<3)>>3]=f;j=j+1|0}return}function Ms(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]-+h[c+(e<<3)>>3];e=e+1|0}return}function Ns(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[c+(e<<3)>>3]+ +h[b+(e<<3)>>3];e=e+1|0}return}function Os(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;h[d+(e<<3)>>3]=+h[b+(e<<3)>>3]*c;e=e+1|0}return}function Ps(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0}return}function Qs(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=+h[c+(e<<3)>>3]*+h[b+(e<<3)>>3]+d;e=e+1|0}return +d}function Rs(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0;c=0;d=-1.e+50;while(1){if((c|0)>=(a|0))break;e=+B(+(+h[b+(c<<3)>>3]));c=c+1|0;d=e>d?e:d}return +d}function Ss(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0;j=0;while(1){if((j|0)<(b|0)){g=0.0;i=0}else break;while(1){if((i|0)>=(d|0))break;g=+h[e+(i<<3)>>3]*+h[(c[a+(i<<2)>>2]|0)+(j<<3)>>3]+g;i=i+1|0}h[f+(j<<3)>>3]=g;j=j+1|0}return}function Ts(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;c=0.0;d=b;e=a;while(1){if(!e)break;c=+g[d>>2]+c;d=d+4|0;e=e+-1|0}c=c/+(a|0);while(1){if(!a)break;g[b>>2]=+g[b>>2]-c;b=b+4|0;a=a+-1|0}return}function Us(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0.0,o=0,p=0.0;e=0;while(1){if((e|0)>=(b|0)){h=0;j=0;m=b;break}g[d+(e<<2)>>2]=0.0;e=e+1|0}while(1){if((j|0)>=(b|0))break;l=+g[c+(j<<2)>>2];k=j+1|0;f=+g[a+(h<<2)>>2]*l;i=k;e=h;while(1){e=e+1|0;if((i|0)==(b|0))break;p=+g[a+(e<<2)>>2];n=+g[c+(i<<2)>>2]*p+f;o=d+(i<<2)|0;g[o>>2]=+g[o>>2]+p*l;f=n;i=i+1|0}o=d+(j<<2)|0;g[o>>2]=+g[o>>2]+f;h=h+m|0;j=k;m=m+-1|0}return}function Vs(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]-+g[c+(e<<2)>>2];e=e+1|0}return}function Ws(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[c+(e<<2)>>2]+ +g[b+(e<<2)>>2];e=e+1|0}return}function Xs(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;e=0;while(1){if((e|0)>=(a|0))break;f=b+(e<<2)|0;g[f>>2]=+g[d+(e<<2)>>2]*c+ +g[f>>2];e=e+1|0}return}function Ys(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;g[d+(e<<2)>>2]=+g[b+(e<<2)>>2]*c;e=e+1|0}return}function Zs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=0;while(1){if((e|0)>=(a|0))break;c[d+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}return}function _s(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;d=0.0;e=0;while(1){if((e|0)>=(a|0))break;d=d+ +g[c+(e<<2)>>2]*+g[b+(e<<2)>>2];e=e+1|0}return +d}function $s(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;h[c+(d<<3)>>3]=b;d=d+1|0}return}function at(a,b,c){a=a|0;b=+b;c=c|0;var d=0;d=0;while(1){if((d|0)>=(a|0))break;g[c+(d<<2)>>2]=b;d=d+1|0}return}function bt(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;c=-1000000015047466219876688.0e6;d=0;while(1){if((d|0)>=(a|0))break;e=+B(+(+g[b+(d<<2)>>2]));c=e>c?e:c;d=d+1|0}return +c}function ct(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];g[d>>2]=e*e;c=c+1|0}return}function dt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e!=0.0)g[d>>2]=1.0/e;c=c+1|0}return}function et(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0;d=0;while(1){if((d|0)>=(a|0))break;e=+g[b+(d<<2)>>2];if(e>=0.0)g[c+(d<<2)>>2]=+C(+e);d=d+1|0}return}function ft(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;c=0;while(1){if((c|0)>=(a|0))break;d=b+(c<<2)|0;e=+g[d>>2];if(e>0.0)g[d>>2]=1.0/+C(+e);c=c+1|0}return}function gt(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)|0))b=4;else b=O(4/((ht(b)|0)>>>0)|0,b)|0;c[a+8>>2]=b;a=a+4|0;b=c[a>>2]|0;a:do if(b|0)while(1){if(!b)break a;d=c[b>>2]|0;D_(c[b+4>>2]|0);D_(b);b=d}while(0);c[a>>2]=0;return}function ht(a){a=a|0;var b=0,c=0;c=4;a:while(1){b=c;while(1){if((b|0)==(a|0))break a;if((b|0)<=(a|0))break;b=b-a|0}c=b;a=a-b|0}return a|0}function it(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;if(!b){d=c[a+8>>2]|0;e=vH(8)|0;f=vH(O(c[46085]|0,d)|0)|0;c[e+4>>2]=f;b=0;while(1){if((b|0)>=(c[46085]|0))break;jt(f+(O(b,d)|0)|0,a);b=b+1|0}b=a+4|0;c[e>>2]=c[b>>2];c[b>>2]=e;b=c[a>>2]|0}c[a>>2]=c[b>>2];return b|0}function jt(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}function kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=uH(b<<3)|0;l=a+8|0;f=c[l>>2]|0;lt(a,b,m);Js(b,d);h=0;i=0;while(1){if((i|0)>=(b|0))break;h=(c[a+(i*20|0)>>2]|0)+h|0;i=i+1|0}h=vH(h<<2)|0;j=0;while(1){if((j|0)>=(b|0))break;c[a+(j*20|0)+8>>2]=h;k=c[a+(j*20|0)>>2]|0;g[h>>2]=+(1-k|0);i=1;while(1){if((i|0)>=(k|0))break;g[h+(i<<2)>>2]=1.0;i=i+1|0}h=h+(k<<2)|0;j=j+1|0}i=Dq(a,d,m,b,.001,e)|0;D_(c[l>>2]|0);h=0;while(1){if((h|0)>=(b|0))break;c[a+(h*20|0)+8>>2]=f;f=f+(c[a+(h*20|0)>>2]<<2)|0;h=h+1|0}D_(m);return i>>>31|0}function lt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,i=0,j=0,k=0,l=0,m=0;k=a+16|0;i=0;while(1){if((i|0)>=(b|0))break;if(c[k>>2]|0){l=c[a+(i*20|0)>>2]|0;m=a+(i*20|0)+8|0;j=a+(i*20|0)+16|0;e=0.0;f=1;while(1){if((f|0)>=(l|0))break;e=e+ +g[(c[j>>2]|0)+(f<<2)>>2]*+g[(c[m>>2]|0)+(f<<2)>>2];f=f+1|0}h[d+(i<<3)>>3]=e}i=i+1|0}return}function mt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=vH(f<<2)|0;i=b<<3;g=0;while(1){if((g|0)>=(f|0))break;c[r+(g<<2)>>2]=vH(i)|0;g=g+1|0}p=vH(f<<3)|0;q=vH(b<<2)|0;g=vH(O(i,b)|0)|0;i=0;while(1){if((i|0)>=(b|0))break;c[q+(i<<2)>>2]=g;g=g+(b<<3)|0;i=i+1|0}k=0;o=1;while(1){if((k|0)>=(b|0))break;l=a+(k<<2)|0;m=q+(k<<2)|0;i=0;while(1){if((i|0)==(o|0))break;n=a+(i<<2)|0;g=0;j=0.0;while(1){if((g|0)>=(d|0))break;s=j+ +(O(c[(c[n>>2]|0)+(g<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0)|0);g=g+1|0;j=s}h[(c[q+(i<<2)>>2]|0)+(k<<3)>>3]=j;h[(c[m>>2]|0)+(i<<3)>>3]=j;i=i+1|0}k=k+1|0;o=o+1|0}ys(q,b,f,r,p,1)|0;i=0;while(1){if((i|0)>=(f|0)){g=0;break}l=r+(i<<2)|0;m=e+(i<<2)|0;k=0;while(1){if((k|0)<(d|0)){g=0;j=0.0}else break;while(1){if((g|0)>=(b|0))break;s=+h[(c[l>>2]|0)+(g<<3)>>3]*+(c[(c[a+(g<<2)>>2]|0)+(k<<2)>>2]|0)+j;g=g+1|0;j=s}h[(c[m>>2]|0)+(k<<3)>>3]=j;k=k+1|0}i=i+1|0}while(1){if((g|0)>=(f|0))break;D_(c[r+(g<<2)>>2]|0);g=g+1|0}D_(r);D_(p);D_(c[q>>2]|0);D_(q);return}function nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;g=f+16|0;j=f+20|0;i=f+12|0;h=f+8|0;c[g>>2]=e;c[i>>2]=0;c[h>>2]=0;$u(c[a>>2]|0,d,d<<2,j);Hs(c[j>>2]|0,a,d,b,i);Gs(a,c[i>>2]|0,b,d,b,h);D_(c[c[i>>2]>>2]|0);D_(c[i>>2]|0);e=(ys(c[h>>2]|0,b,1,g,f,1)|0)&255;l=f;return e|0}function ot(){c[46143]=0;D_(c[46144]|0);D_(c[46145]|0);D_(c[46146]|0);c[46144]=0;c[46145]=0;c[46146]=0;return}function pt(a){a=a|0;D_(c[a+36>>2]|0);return}function qt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;o=r+64|0;q=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;n=d+16|0;g=c[n>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{g=c[n>>2]|0;j=c[g+12>>2]|0;k=c[j+8>>2]|0;c[q>>2]=k;g=c[c[g+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))p=11;else p=8;break}case 112:{if((b$(g,102695)|0)==0?(rt(c[j+44>>2]|0,k)|0)!=0:0)p=11;else p=8;break}default:p=8}do if((p|0)==8)if((k|0)<3){c[b+40>>2]=(c[j>>2]|0)==0?0:2;p=17;break}else{g=b+40|0;c[g>>2]=0;break}else if((p|0)==11){g=b+40|0;c[g>>2]=1;if((k|0)<=2)p=17}while(0);if((p|0)==17){i=st(d,q,e,f)|0;p=21;break a}i=vH(k<<4)|0;j=j+44|0;if((c[g>>2]|0)==1){p=c[j>>2]|0;s=e;h[i>>3]=+h[p>>3]*.013888888888888888+s;e=f;h[i+8>>3]=+h[p+8>>3]*.013888888888888888+e;h[i+16>>3]=+h[p+16>>3]*.013888888888888888-s;h[i+24>>3]=+h[p+24>>3]*.013888888888888888+e;h[i+32>>3]=+h[p+32>>3]*.013888888888888888-s;h[i+40>>3]=+h[p+40>>3]*.013888888888888888-e;h[i+48>>3]=+h[p+48>>3]*.013888888888888888+s;h[i+56>>3]=+h[p+56>>3]*.013888888888888888-e;p=21;break a}g=0;while(1){if((g|0)>=(k|0)){p=21;break a}p=c[j>>2]|0;u=+h[p+(g<<4)>>3];s=+h[p+(g<<4)+8>>3];t=+C(+(s*s+u*u));h[i+(g<<4)>>3]=(e/t+1.0)*u*.013888888888888888;h[i+(g<<4)+8>>3]=(f/t+1.0)*s*.013888888888888888;g=g+1|0}}case 2:{c[q>>2]=4;p=vH(64)|0;d=c[(c[n>>2]|0)+12>>2]|0;v=+h[d+32>>3];t=+h[d+40>>3];o=~~+h[d+16>>3];d=~~+h[d+24>>3];u=-e;s=-f;tt(i,o,d,u,s);c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];i=p+16|0;n=~~v;tt(j,n,d,e,s);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=p+32|0;d=~~t;tt(k,n,d,e,f);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=p+48|0;tt(m,o,d,u,f);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=p;p=21;break a}case 3:{c[b+40>>2]=2;i=st(d,q,e,f)|0;p=21;break a}default:{c[o>>2]=c[c[(c[n>>2]|0)+8>>2]>>2];Pw(1,92312,o)|0;g=1;break a}}else{c[q>>2]=4;u=+h[g+32>>3]*.5+e;v=+h[g+40>>3]*.5+f;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;p=21}while(0);if((p|0)==21){c[b+36>>2]=i;g=c[q>>2]|0;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function rt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;do if((b|0)==4){c=+h[a+8>>3];b=a+16|0;d=+h[a+24>>3];if(c==d){if(!(+h[a+40>>3]==+h[a+56>>3])){b=0;break}if(!(+h[a>>3]==+h[a+48>>3])){b=0;break}b=+h[b>>3]==+h[a+32>>3];break}if((+h[a>>3]==+h[b>>3]?+h[a+32>>3]==+h[a+48>>3]:0)?c==+h[a+56>>3]:0)b=d==+h[a+40>>3];else b=0}else b=0;while(0);return b&1|0}function st(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0,j=0,k=0.0,l=0;f=xx(a,99679)|0;if(!f)f=0;else f=a2(f)|0;i=(f|0)<3?20:f;j=vH(i<<4)|0;a=a+16|0;g=1.0/+(i|0);f=0;while(1){if((f|0)>=(i|0))break;l=c[a>>2]|0;k=g*+(f|0)*6.283185307179586;h[j+(f<<4)>>3]=(+h[l+32>>3]*.5+d)*+E(+k);h[j+(f<<4)+8>>3]=(+h[l+40>>3]*.5+e)*+F(+k);f=f+1|0}c[b>>2]=i;return j|0}function tt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;h[a>>3]=+(b|0)*.013888888888888888+d;h[a+8>>3]=+(c|0)*.013888888888888888+e;return}function ut(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0.0,m=0.0;j=+h[a>>3];i=+h[a+8>>3];e=1;f=i;g=j;while(1){if((e|0)>=(b|0))break;k=a+16|0;l=+h[k>>3];m=+h[a+24>>3];e=e+1|0;f=m>f?m:f;g=l>g?l:g;i=m<i?m:i;j=l<j?l:j;a=k}h[c>>3]=j;h[c+8>>3]=i;h[d>>3]=g;h[d+8>>3]=f;return}function vt(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0.0;r=l;l=l+80|0;n=r+64|0;p=r+68|0;i=r+48|0;j=r+32|0;k=r+16|0;m=r;o=d+16|0;g=c[o>>2]|0;a:do if(!(c[g+212>>2]|0))switch(HJ(d)|0){case 1:{m=c[(c[o>>2]|0)+12>>2]|0;n=m+8|0;k=c[n>>2]|0;c[p>>2]=k;b:do if((k|0)>2){i=vH(k<<4)|0;j=m+44|0;g=0;while(1){if((g|0)>=(k|0))break b;d=c[j>>2]|0;h[i+(g<<4)>>3]=+h[d+(g<<4)>>3]*.013888888888888888;h[i+(g<<4)+8>>3]=+h[d+(g<<4)+8>>3]*.013888888888888888;g=g+1|0}}else i=st(d,p,0.0,0.0)|0;while(0);g=c[c[(c[o>>2]|0)+8>>2]>>2]|0;switch(a[g>>0]|0){case 98:{if(!(b$(g,105210)|0))g=1;else q=13;break}case 112:{if((b$(g,102695)|0)==0?(rt(i,c[p>>2]|0)|0)!=0:0)g=1;else q=13;break}default:q=13}do if((q|0)==13){if((c[n>>2]|0)<3?c[m>>2]|0:0){g=2;break}g=0}while(0);c[b+40>>2]=g;q=20;break a}case 2:{c[p>>2]=4;q=vH(64)|0;o=c[(c[o>>2]|0)+12>>2]|0;t=+h[o+16>>3];v=+h[o+24>>3];u=+h[o+32>>3];s=+h[o+40>>3];wt(i,t,v);c[q>>2]=c[i>>2];c[q+4>>2]=c[i+4>>2];c[q+8>>2]=c[i+8>>2];c[q+12>>2]=c[i+12>>2];i=q+16|0;wt(j,u,v);c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];i=q+32|0;wt(k,u,s);c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];i=q+48|0;wt(m,t,s);c[i>>2]=c[m>>2];c[i+4>>2]=c[m+4>>2];c[i+8>>2]=c[m+8>>2];c[i+12>>2]=c[m+12>>2];c[b+40>>2]=1;i=q;q=20;break a}case 3:{c[b+40>>2]=2;i=st(d,p,0.0,0.0)|0;q=20;break a}default:{c[n>>2]=c[c[(c[o>>2]|0)+8>>2]>>2];Pw(1,92348,n)|0;g=1;break a}}else{c[p>>2]=4;u=+h[g+32>>3]*.5;v=+h[g+40>>3]*.5;c[b+40>>2]=1;i=vH(64)|0;h[i>>3]=u;h[i+8>>3]=v;t=-u;h[i+16>>3]=t;h[i+24>>3]=v;h[i+32>>3]=t;v=-v;h[i+40>>3]=v;h[i+48>>3]=u;h[i+56>>3]=v;q=20}while(0);if((q|0)==20){g=c[p>>2]|0;if(e!=1.0|f!=1.0)xt(i,g,e,f);c[b+36>>2]=i;c[b+32>>2]=g;ut(i,g,b,b+16|0);if((g|0)>(c[46143]|0)){c[46143]=g;g=0}else g=0}l=r;return g|0}function wt(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b*.013888888888888888;h[a+8>>3]=c*.013888888888888888;return}function xt(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;var e=0,f=0;e=0;while(1){if((e|0)>=(b|0))break;h[a>>3]=+h[a>>3]*c;f=a+8|0;h[f>>3]=+h[f>>3]*d;a=a+16|0;e=e+1|0}return}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0,v=0;r=l;l=l+128|0;o=r+112|0;n=r+96|0;m=r+80|0;f=r+64|0;p=r+48|0;q=r+32|0;j=r+16|0;k=r;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[b>>2];c[o+4>>2]=c[b+4>>2];c[o+8>>2]=c[b+8>>2];c[o+12>>2]=c[b+12>>2];xr(p,n,o);g=b+16|0;c[n>>2]=c[a>>2];c[n+4>>2]=c[a+4>>2];c[n+8>>2]=c[a+8>>2];c[n+12>>2]=c[a+12>>2];c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];xr(q,n,o);c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];c[o+8>>2]=c[e+8>>2];c[o+12>>2]=c[e+12>>2];xr(j,n,o);i=e+16|0;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];c[n+8>>2]=c[d+8>>2];c[n+12>>2]=c[d+12>>2];c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];xr(k,n,o);c[f>>2]=c[p>>2];c[f+4>>2]=c[p+4>>2];c[f+8>>2]=c[p+8>>2];c[f+12>>2]=c[p+12>>2];c[m>>2]=c[q>>2];c[m+4>>2]=c[q+4>>2];c[m+8>>2]=c[q+8>>2];c[m+12>>2]=c[q+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];do if(zt(f,m,n,o)|0){f=c[b+40>>2]|0;if(f&1|0?c[e+40>>2]&1|0:0){f=1;break}if(f&2|0?c[e+40>>2]&2|0:0){s=+h[g>>3]-+h[b>>3]+ +h[i>>3]-+h[e>>3];t=+h[a>>3]-+h[d>>3];u=+h[a+8>>3]-+h[d+8>>3];f=!(u*u+t*t>s*s*.25);break}f=c[46144]|0;if(!f){c[46144]=vH(c[46143]<<4)|0;i=vH(c[46143]<<4)|0;c[46145]=i;f=c[46144]|0}else i=c[46145]|0;v=c[b+36>>2]|0;b=b+32|0;g=c[b>>2]|0;c[o>>2]=c[a>>2];c[o+4>>2]=c[a+4>>2];c[o+8>>2]=c[a+8>>2];c[o+12>>2]=c[a+12>>2];At(v,g,o,f);a=c[e+36>>2]|0;g=e+32|0;e=c[g>>2]|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];At(a,e,o,i);if(!(Bt(f,i,c[b>>2]|0,c[g>>2]|0)|0)){f=c[46144]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[j>>2];c[n+4>>2]=c[j+4>>2];c[n+8>>2]=c[j+8>>2];c[n+12>>2]=c[j+12>>2];c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];if(Ct(m,n,o)|0?(k=c[46145]|0,v=c[g>>2]|0,c[o>>2]=c[f>>2],c[o+4>>2]=c[f+4>>2],c[o+8>>2]=c[f+8>>2],c[o+12>>2]=c[f+12>>2],Dt(k,v,o)|0):0){f=1;break}f=c[46145]|0;c[m>>2]=c[f>>2];c[m+4>>2]=c[f+4>>2];c[m+8>>2]=c[f+8>>2];c[m+12>>2]=c[f+12>>2];c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];if(!(Ct(m,n,o)|0))f=0;else{q=c[46144]|0;v=c[b>>2]|0;c[o>>2]=c[f>>2];c[o+4>>2]=c[f+4>>2];c[o+8>>2]=c[f+8>>2];c[o+12>>2]=c[f+12>>2];f=(Dt(q,v,o)|0)!=0}}else f=1}else f=0;while(0);l=r;return f&1|0}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((+h[a>>3]<=+h[d>>3]?+h[c>>3]<=+h[b>>3]:0)?+h[a+8>>3]<=+h[d+8>>3]:0)a=+h[c+8>>3]<=+h[b+8>>3]&1;else a=0;return a|0}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;f=c+8|0;e=0;while(1){if((e|0)>=(b|0))break;h[d>>3]=+h[c>>3]+ +h[a>>3];h[d+8>>3]=+h[f>>3]+ +h[a+8>>3];e=e+1|0;a=a+16|0;d=d+16|0}return}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+112|0;s=A+96|0;r=A+80|0;q=A+64|0;p=A+48|0;u=A+32|0;v=A+16|0;w=A;x=d+-1|0;y=e+-1|0;z=d<<1;t=e<<1;f=0;g=0;h=0;i=0;while(1){B=a+(f<<4)|0;C=a+(((x+f|0)%(d|0)|0)<<4)|0;c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[C>>2];c[s+4>>2]=c[C+4>>2];c[s+8>>2]=c[C+8>>2];c[s+12>>2]=c[C+12>>2];wr(u,r,s);o=b+(g<<4)|0;n=b+(((y+g|0)%(e|0)|0)<<4)|0;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[n>>2];c[s+4>>2]=c[n+4>>2];c[s+8>>2]=c[n+8>>2];c[s+12>>2]=c[n+12>>2];wr(v,r,s);c[q>>2]=c[45770];c[q+4>>2]=c[45771];c[q+8>>2]=c[45772];c[q+12>>2]=c[45773];c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];c[r+8>>2]=c[u+8>>2];c[r+12>>2]=c[u+12>>2];c[s>>2]=c[v>>2];c[s+4>>2]=c[v+4>>2];c[s+8>>2]=c[v+8>>2];c[s+12>>2]=c[v+12>>2];j=+yr(q,r,s);c[q>>2]=c[C>>2];c[q+4>>2]=c[C+4>>2];c[q+8>>2]=c[C+8>>2];c[q+12>>2]=c[C+12>>2];c[r>>2]=c[B>>2];c[r+4>>2]=c[B+4>>2];c[r+8>>2]=c[B+8>>2];c[r+12>>2]=c[B+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];k=zr(q,r,s)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[r+8>>2]=c[o+8>>2];c[r+12>>2]=c[o+12>>2];c[s>>2]=c[B>>2];c[s+4>>2]=c[B+4>>2];c[s+8>>2]=c[B+8>>2];c[s+12>>2]=c[B+12>>2];m=zr(q,r,s)|0;c[p>>2]=c[C>>2];c[p+4>>2]=c[C+4>>2];c[p+8>>2]=c[C+8>>2];c[p+12>>2]=c[C+12>>2];c[q>>2]=c[B>>2];c[q+4>>2]=c[B+4>>2];c[q+8>>2]=c[B+8>>2];c[q+12>>2]=c[B+12>>2];c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[o>>2];c[s+4>>2]=c[o+4>>2];c[s+8>>2]=c[o+8>>2];c[s+12>>2]=c[o+12>>2];if(Ar(p,q,r,s,w)|0){f=1;break}n=(k|0)==0;o=(m|0)==0;do if(j!=0.0|(m|k|0)!=0)if(!(j>=0.0))if(o){f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{g=(g+1|0)%(e|0)|0;i=i+1|0;break}else if(n){g=(g+1|0)%(e|0)|0;i=i+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0;break}else{f=(f+1|0)%(d|0)|0;h=h+1|0}while(0);if(!((i|0)<(t|0)&((h|0)<(z|0)&((i|0)<(e|0)|(h|0)<(d|0))))){f=0;break}}l=A;return f|0}function Ct(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[a>>3];if((e<=+h[c>>3]?e>=+h[b>>3]:0)?(d=+h[a+8>>3],d<=+h[c+8>>3]):0)a=d>=+h[b+8>>3]&1;else a=0;return a|0}function Dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,l=0;e=c[46146]|0;if(!e){e=vH(c[46143]<<4)|0;c[46146]=e}i=d+8|0;g=0;while(1){if((g|0)>=(b|0))break;h[e+(g<<4)>>3]=+h[a+(g<<4)>>3]-+h[d>>3];h[e+(g<<4)+8>>3]=+h[a+(g<<4)+8>>3]-+h[i>>3];g=g+1|0}d=b+-1|0;f=0.0;a=0;a:while(1){if((a|0)>=(b|0)){l=19;break}g=(d+a|0)%(b|0)|0;j=+h[e+(a<<4)+8>>3];i=j==0.0;if(i?+h[e+(g<<4)+8>>3]==0.0:0){if(+h[e+(g<<4)>>3]*+h[e+(a<<4)>>3]<0.0){e=1;break}}else l=11;do if((l|0)==11){l=0;k=+h[e+(g<<4)+8>>3];if(!(j>=0.0)|!(k<=0.0)?!(k>=0.0)|!(j<=0.0):0)break;j=(k*+h[e+(a<<4)>>3]-j*+h[e+(g<<4)>>3])/(k-j);if(j==0.0){e=1;break a}if(j>0.0)if(k==0.0|i){f=f+.5;break}else{f=f+1.0;break}}while(0);a=a+1|0}if((l|0)==19)e=((~~f|0)%2|0|0)==1&1;return e|0}function Et(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=vH(b<<2)|0;i=O(b,b)|0;d=vH(i<<2)|0;c[j>>2]=d;at(i,0.0,d);d=1;while(1){if((d|0)>=(b|0)){d=0;g=0;i=b;break}c[j+(d<<2)>>2]=(c[j>>2]|0)+((O(d,b)|0)<<2);d=d+1|0}while(1){if((g|0)>=(b|0))break;h=j+(g<<2)|0;e=g;f=d;while(1){if((e|0)==(b|0))break;k=c[a+(f<<2)>>2]|0;c[(c[h>>2]|0)+(e<<2)>>2]=k;c[(c[j+(e<<2)>>2]|0)+(g<<2)>>2]=k;e=e+1|0;f=f+1|0}d=d+i|0;g=g+1|0;i=i+-1|0}return j|0}function Ft(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=+j;var k=0.0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0;M=c[d+(f<<2)>>2]|0;C=c[a+4>>2]|0;D=c[a>>2]|0;E=c[a+48>>2]|0;F=c[a+52>>2]|0;G=c[a+56>>2]|0;a:do if((h|0)<1)d=0;else{Ht(M,C,E,F,G,j);H=c[a+28>>2]|0;I=c[a+32>>2]|0;J=c[a+36>>2]|0;K=c[a+12>>2]|0;L=c[a+16>>2]|0;f=0;e=0;d=-1;while(1){if((f|0)>=(C|0))break;if((f|0)>=(e|0)){d=d+1|0;if((d|0)==(G|0)){e=C;d=G}else e=c[F+(d<<2)>>2]|0}c[L+(c[E+(f<<2)>>2]<<2)>>2]=d;f=f+1|0}z=c[a+40>>2]|0;A=I+(C+-1<<2)|0;d=0;e=0;while(1){if(e<<24>>24==0&(d|0)<(h|0)){k=-1.0e9;f=0;e=1}else break a;b:while(1){x=f;while(1){if((x|0)>=(C|0))break b;f=c[E+(x<<2)>>2]|0;y=+g[M+(f<<2)>>2];l=y;w=x;m=0.0;while(1){g[z+(f<<2)>>2]=m;f=w+1|0;if((f|0)>=(C|0)){v=0;break}l=(c[L+(f<<2)>>2]|0)>(c[L+(w<<2)>>2]|0)?l+j:l;a=c[E+(f<<2)>>2]|0;m=+g[M+(a<<2)>>2];if(+B(+(m-l))>1.0e-09){v=1;break}w=f;m=m-y;f=a}n=x;while(1){if((n|0)>(w|0)){a=0;o=x;break}o=c[E+(n<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;a=0;l=-+g[b+(o<<2)>>2];while(1){if((a|0)>=(C|0))break;if((a|0)!=(o|0))l=+g[M+(a<<2)>>2]*+g[p+(a<<2)>>2]+l;a=a+1|0}g[H+(o<<2)>>2]=l/-+g[p+(o<<2)>>2]-+g[z+(o<<2)>>2];n=n+1|0}c:while(1){if((o|0)>(w|0)){m=0.0;q=0.0;r=0;break}n=c[L+(c[E+(o<<2)>>2]<<2)>>2]|0;if((n|0)==(G|0))r=f;else{r=c[F+(n<<2)>>2]|0;r=(f|0)<(r|0)?f:r}p=o;while(1){if((p|0)>=(r|0)){p=o;break}n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]<y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((p|0)>=(r|0))break;n=c[E+(p<<2)>>2]|0;if(+g[H+(n<<2)>>2]==y){c[K+(a<<2)>>2]=n;a=a+1|0}p=p+1|0}while(1){if((o|0)>=(r|0)){o=r;continue c}n=c[E+(o<<2)>>2]|0;if(+g[H+(n<<2)>>2]>y){c[K+(a<<2)>>2]=n;a=a+1|0}o=o+1|0}}while(1){if((r|0)>=(a|0))break;o=c[K+(r<<2)>>2]|0;p=c[D+(o<<2)>>2]|0;l=0.0;n=0;while(1){if((n|0)==(r|0))break;l=l-+g[p+(c[K+(n<<2)>>2]<<2)>>2];n=n+1|0}N=l*2.0;u=p+(o<<2)|0;s=+g[u>>2];l=N+m;s=(N*y+m*q-+g[H+(o<<2)>>2]*s)/(l-s);g[I+(r<<2)>>2]=s;m=l-+g[u>>2];q=s;r=r+1|0}p=(a|0)==(C|0);if(p)g[A>>2]=y;u=a+-1|0;m=0.0;q=0.0;o=u;while(1){if((o|0)<=-1)break;r=c[K+(o<<2)>>2]|0;t=c[D+(r<<2)>>2]|0;l=0.0;n=o;while(1){n=n+1|0;if((n|0)>=(a|0))break;l=l-+g[t+(c[K+(n<<2)>>2]<<2)>>2]}l=l*2.0;t=t+(r<<2)|0;N=+g[t>>2];s=l+m;N=(l*y+m*q-+g[H+(r<<2)>>2]*N)/(s-N);g[J+(o<<2)>>2]=N;m=s-+g[t>>2];q=N;o=o+-1|0}if(p){g[J>>2]=y;s=0.0;n=-1;p=0}else{s=0.0;n=-1;p=0}while(1){if((a|0)<=(p|0))break;q=+g[J+(p<<2)>>2];if((p|0)>0)l=+g[I+(p+-1<<2)>>2];else l=q;do if(q<l){o=l>y;if(q<y){l=o?y:l;m=l;break}if(o){m=q;l=q}else m=q}else m=q;while(0);N=+B(+(m-y))*+(a-p|0)+ +B(+(l-y))*+(p|0);t=N>s;s=t?N:s;n=t?p:n;p=p+1|0}if((n|0)>-1)break;if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0){k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;x=f;continue}k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];x=f}m=+g[J+(n<<2)>>2];if(!n)q=m;else q=+g[I+(n+-1<<2)>>2];if(v){t=c[E+(f<<2)>>2]|0;l=+g[M+(t<<2)>>2];l=((c[L+(t<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0)?l-j:l)-+g[z+(c[K+(u<<2)>>2]<<2)>>2]}else l=1.0e9;l=m<l?m:l;k=q>k?q:k;do if(l<k){o=k>y;if(l<y){l=o?y:k;m=l;break}if(o)m=l;else{m=l;l=k}}else{m=l;l=k}while(0);o=0;while(1){if((o|0)>=(n|0))break;t=c[K+(o<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+l;o=o+1|0}while(1){if((n|0)>=(a|0))break;t=c[K+(n<<2)>>2]|0;g[M+(t<<2)>>2]=+g[z+(t<<2)>>2]+m;n=n+1|0}if(v?(c[L+(c[E+(f<<2)>>2]<<2)>>2]|0)>(c[L+(c[E+(w<<2)>>2]<<2)>>2]|0):0)k=+g[M+(c[K+(u<<2)>>2]<<2)>>2]+j;else k=+g[M+(c[K+(u<<2)>>2]<<2)>>2];a=x;while(1){if((a|0)>(w|0))break;c[E+(a<<2)>>2]=c[K+(a-x<<2)>>2];a=a+1|0}if(e<<24>>24!=0?+B(+(l-y))<.01:0)e=+B(+(m-y))<.01;else e=0;e=e&1}Ts(C,M);Gt(M,E,F,G,i);d=d+1|0}}while(0);return d|0}function Gt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=0;while(1){if((g|0)>=(e|0))break;c[f+(g<<2)>>2]=c[a+(c[b+((c[d+(g<<2)>>2]|0)+-1<<2)>>2]<<2)>>2];g=g+1|0}return}function Ht(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=+h;var i=0.0,j=0,k=0,l=0,m=0;i=-1.0e9;k=0;j=-1;m=0;while(1){if((m|0)>=(b|0))break;if((m|0)<(k|0))l=k;else{j=j+1|0;if((j|0)==(f|0))k=b;else k=c[e+(j<<2)>>2]|0;if((m|0)>0)i=+g[a+(c[d+(m+-1<<2)>>2]<<2)>>2]+h;else i=-1.0e9;hs(a,d,m,k+-1|0);l=k}k=a+(c[d+(m<<2)>>2]<<2)|0;if(+g[k>>2]<i)g[k>>2]=i;k=l;m=m+1|0}return}function It(a){a=a|0;D_(c[c[a>>2]>>2]|0);D_(c[a>>2]|0);D_(c[a+8>>2]|0);D_(c[a+28>>2]|0);D_(c[a+32>>2]|0);D_(c[a+36>>2]|0);D_(c[a+40>>2]|0);D_(c[a+12>>2]|0);D_(c[a+16>>2]|0);D_(c[a+20>>2]|0);D_(c[a+24>>2]|0);D_(a);return}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=vH(60)|0;c[k>>2]=0;l=k+4|0;c[l>>2]=b;c[k+48>>2]=d;c[k+52>>2]=e;c[k+56>>2]=f;c[k>>2]=Et(a,b)|0;i=b<<2;j=vH(i)|0;c[k+8>>2]=j;h=0;b=0;a=-1;while(1){if((h|0)>=(c[l>>2]|0))break;g=a+1|0;if((h|0)>=(b|0)){b=c[((g|0)==(f|0)?l:e+(g<<2)|0)>>2]|0;a=g}c[j+(c[d+(h<<2)>>2]<<2)>>2]=a;h=h+1|0}c[k+28>>2]=vH(i)|0;c[k+32>>2]=vH(i)|0;c[k+36>>2]=vH(i)|0;c[k+40>>2]=vH(i)|0;c[k+12>>2]=vH(i)|0;c[k+16>>2]=vH(i)|0;c[k+20>>2]=vH(i)|0;c[k+24>>2]=vH(i)|0;return k|0}function Kt(){gt(184592,24);c[46151]=0;return}function Lt(){return it(184592)|0}function Mt(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function Nt(a){a=a|0;var b=0;b=c[46151]|0;c[a+16>>2]=b;c[46151]=b+1;return}function Ot(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;if(!b)jt(a,184592);return}function Pt(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}function Qt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0.0,j=0,k=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+16|0;o=x;c[o>>2]=e;q=b<<2;v=vH(q)|0;m=b<<3;w=vH(m)|0;u=as(a,b)|0;a=0;while(1){if((a|0)>=(b|0))break;k=u+(a<<2)|0;j=0;while(1){if((j|0)==(b|0))break;s=(c[k>>2]|0)+(j<<2)|0;c[s>>2]=c[s>>2]<<8;j=j+1|0}a=a+1|0}if(!d)qa(92381,92389,283,92403);s=vH(m)|0;a=0;while(1){if((a|0)>=(b|0))break;h[s+(a<<3)>>3]=+h[d+(a<<3)>>3];a=a+1|0}Rt(s,b);i=0.0;n=0.0;m=1;while(1){if((m|0)>=(b|0))break;j=u+(m<<2)|0;k=d+(m<<3)|0;a=0;while(1){if((a|0)==(m|0))break;y=c[(c[j>>2]|0)+(a<<2)>>2]|0;r=+h[k>>3]-+h[d+(a<<3)>>3];i=r*r*(1.0/+(O(y,y)|0))+i;n=+B(+r)*(1.0/+(y|0))+n;a=a+1|0}m=m+1|0}r=n/i;a=0;while(1){if((a|0)>=(b|0))break;y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*r;a=a+1|0}St(b,o,f,d,u);k=vH(O(q,b)|0)|0;j=0;while(1){if((j|0)>=(b|0)){k=1;break}m=k+((O(j,b)|0)<<2)|0;c[v+(j<<2)>>2]=m;o=u+(j<<2)|0;i=0.0;a=0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+(c[(c[o>>2]|0)+(a<<2)>>2]|0);p=-1.0/(p*p);g[m+(a<<2)>>2]=p;i=i-p}a=a+1|0}g[m+(j<<2)>>2]=i;j=j+1|0}while(1){if((k|0)>=(b|0)){j=0;break}i=+h[d+(k<<3)>>3];j=u+(k<<2)|0;a=0;while(1){if((a|0)==(k|0))break;y=(c[j>>2]|0)+(a<<2)|0;n=+(c[y>>2]|0);p=i-+h[d+(a<<3)>>3];p=n*n-p*p;q=~~+C(+p);q=p>0.0?q:0;c[(c[u+(a<<2)>>2]|0)+(k<<2)>>2]=q;c[y>>2]=q;a=a+1|0}k=k+1|0}while(1){if((j|0)>=(b|0)){q=0;a=0;break}n=+h[e+(j<<3)>>3];m=w+(j<<3)|0;h[m>>3]=0.0;o=u+(j<<2)|0;k=v+(j<<2)|0;a=0;i=0.0;while(1){if((a|0)==(b|0))break;if((a|0)!=(j|0)){p=+g[(c[k>>2]|0)+(a<<2)>>2]*+(c[(c[o>>2]|0)+(a<<2)>>2]|0);i=i+(n>=+h[e+(a<<3)>>3]?-p:p);h[m>>3]=i}a=a+1|0}j=j+1|0}while(1){if(!(a<<24>>24==0&(q|0)<200)){t=42;break}if((Eq(v,e,w,b,f,b,1)|0)<0){a=1;break}else{a=1;o=0}while(1){if((o|0)>=(b|0))break;p=+h[e+(o<<3)>>3];k=u+(o<<2)|0;m=v+(o<<2)|0;i=0.0;j=0;while(1){if((j|0)==(b|0))break;do if((j|0)!=(o|0)){n=+g[(c[m>>2]|0)+(j<<2)>>2]*+(c[(c[k>>2]|0)+(j<<2)>>2]|0);if(!(p>=+h[e+(j<<3)>>3])){i=i+n;break}else{i=i+-n;break}}while(0);j=j+1|0}j=w+(o<<3)|0;p=+h[j>>3];if(i!=p?+B(+(1.0-i/p))>1.0e-05:0){h[j>>3]=i;a=0}o=o+1|0}q=q+1|0}a:do if((t|0)==42){i=1.0/r;a=0;while(1){if((a|0)>=(b|0)){a=0;break a}y=d+(a<<3)|0;h[y>>3]=+h[y>>3]*i;y=e+(a<<3)|0;h[y>>3]=+h[y>>3]*i;a=a+1|0}}while(0);D_(c[u>>2]|0);D_(u);D_(c[v>>2]|0);D_(v);D_(s);D_(w);l=x;return a|0}function Rt(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0.0,f=0;c=0;d=0.0;while(1){if((c|0)>=(b|0))break;e=+h[a+(c<<3)>>3]+d;c=c+1|0;d=e}d=d/+(b|0);c=0;while(1){if((c|0)>=(b|0))break;f=a+(c<<3)|0;h[f>>3]=+h[f>>3]-d;c=c+1|0}f=b+-1|0;Cs(a,0,f,1.0/+Bs(a,0,f),a);return}function St(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;k=Tt(f,a)|0;l=vH(8)|0;if(!e){f=0;j=0}else{g=vH(a<<3)|0;f=0;while(1){if((f|0)>=(a|0))break;h[g+(f<<3)>>3]=+h[e+(f<<3)>>3];f=f+1|0}Rt(g,a);f=g;j=g}Ut(k,a,b,l,f,d);e=0;while(1){if((e|0)==1)break;g=l+(e<<3)|0;i=b+(e<<2)|0;f=0;while(1){if((f|0)>=(a|0))break;d=+C(+(+B(+(+h[g>>3]))));m=(c[i>>2]|0)+(f<<3)|0;h[m>>3]=+h[m>>3]*d;f=f+1|0}e=e+1|0}D_(c[k>>2]|0);D_(k);D_(l);D_(j);return}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+16|0;f=o;n=b<<2;e=vH(O(n,b)|0)|0;n=vH(n)|0;d=0;while(1){if((d|0)>=(b|0))break;c[n+(d<<2)>>2]=e+((O(d,b)|0)<<2);d=d+1|0}m=Wt(a,b,f)|0;h=+g[f>>2];e=0;k=1;while(1){if((e|0)>=(b|0))break;f=a+(e<<2)|0;i=m+(e<<2)|0;j=n+(e<<2)|0;d=0;while(1){if((d|0)==(k|0))break;p=+(c[(c[f>>2]|0)+(d<<2)>>2]|0);p=+g[m+(d<<2)>>2]+ +g[i>>2]-p*p-h;g[(c[j>>2]|0)+(d<<2)>>2]=p;g[(c[n+(d<<2)>>2]|0)+(e<<2)>>2]=p;d=d+1|0}e=e+1|0;k=k+1|0}D_(m);l=o;return n|0}function Ut(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0;r=b<<3;q=vH(r)|0;r=vH(r)|0;n=1.0-g;o=(b|0)<1?b:1;p=b+-1|0;k=(f|0)==0;j=0;a:while(1){if((j|0)>=(o|0))break;l=c[d+(j<<2)>>2]|0;do{i=0;while(1){if((i|0)==(b|0))break;h[l+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}if(k)i=0;else{As(l,0,p,-+zs(f,0,p,l),f);i=0}while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p)}while(g<1.0e-10);Cs(l,0,p,1.0/g,l);do{Ds(r,0,p,l);Vt(a,b,b,l,q,f);Ds(l,0,p,q);i=0;while(1){if((i|0)==(j|0))break;s=d+(i<<2)|0;m=-+zs(c[s>>2]|0,0,p,l);As(l,0,p,m,c[s>>2]|0);i=i+1|0}g=+Bs(l,0,p);if(g<1.0e-10)break a;Cs(l,0,p,1.0/g,l);m=+zs(l,0,p,r)}while(+B(+m)<n);h[e+(j<<3)>>3]=m*g;j=j+1|0}while(1){if((j|0)>=(o|0))break;k=c[d+(j<<2)>>2]|0;i=0;while(1){if((i|0)>=(b|0)){i=0;break}h[k+(i<<3)>>3]=+((g2()|0)%100|0|0);i=i+1|0}while(1){if((i|0)>=(j|0))break;s=d+(i<<2)|0;n=-+zs(c[s>>2]|0,0,p,k);As(k,0,p,n,c[s>>2]|0);i=i+1|0}Cs(k,0,p,1.0/+Bs(k,0,p),k);h[e+(j<<3)>>3]=0.0;j=j+1|0}l=o+-1|0;j=0;while(1){if((j|0)>=(l|0))break;a=e+(j<<3)|0;f=j+1|0;g=+h[a>>3];i=j;k=f;while(1){if((k|0)>=(o|0))break;n=+h[e+(k<<3)>>3];s=g<n;g=s?n:g;i=s?k:i;k=k+1|0}if((i|0)==(j|0)){j=f;continue}b=d+(j<<2)|0;Ds(q,0,p,c[b>>2]|0);s=d+(i<<2)|0;Ds(c[b>>2]|0,0,p,c[s>>2]|0);Ds(c[s>>2]|0,0,p,q);h[e+(i<<3)>>3]=+h[a>>3];h[a>>3]=g;j=f}D_(q);D_(r);return}function Vt(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0,m=0;j=0;while(1){if((j|0)>=(b|0))break;m=a+(j<<2)|0;k=0.0;l=0;while(1){if((l|0)>=(d|0))break;k=+h[e+(l<<3)>>3]*+g[(c[m>>2]|0)+(l<<2)>>2]+k;l=l+1|0}h[f+(j<<3)>>3]=k;j=j+1|0}j=b+-1|0;if(i|0)As(f,0,j,-+zs(f,0,j,i),i);return}function Wt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;j=vH(b<<2)|0;k=1.0/+(b|0);e=0.0;i=0;while(1){if((i|0)>=(b|0))break;l=a+(i<<2)|0;f=0.0;h=0;while(1){if((h|0)==(b|0))break;m=+(c[(c[l>>2]|0)+(h<<2)>>2]|0);m=m*m;f=m+f;h=h+1|0;e=m+e}g[j+(i<<2)>>2]=k*f;i=i+1|0}g[d>>2]=e/+(O(b,b)|0);return j|0}function Xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;q=O(d,d)|0;r=vH(q<<3)|0;s=vH(d<<3)|0;e=0;while(1){if((e|0)>=(d|0))break;h[s+(e<<3)>>3]=+h[c+(e<<3)>>3];e=e+1|0}e=0;while(1){if((e|0)>=(q|0))break;h[r+(e<<3)>>3]=+h[a+(e<<3)>>3];e=e+1|0}p=d+-1|0;g=0;o=0;a:while(1){if((o|0)<(p|0)){f=0.0;e=o}else{l=21;break}while(1){if((e|0)>=(d|0))break;t=+B(+(+h[a+((O(e,d)|0)+o<<3)>>3]));m=t<f;n=m?g:e;f=m?f:t;e=e+1|0;g=n}if(f<1.0e-10){l=33;break}i=O(g,d)|0;n=O(o,d)|0;e=o;while(1){if((e|0)>=(d|0))break;l=a+(e+i<<3)|0;t=+h[l>>3];m=a+(e+n<<3)|0;h[l>>3]=+h[m>>3];h[m>>3]=t;e=e+1|0}m=c+(g<<3)|0;t=+h[m>>3];j=c+(o<<3)|0;h[m>>3]=+h[j>>3];h[j>>3]=t;m=o+1|0;k=a+(n+o<<3)|0;e=m;while(1){if((e|0)>=(d|0)){o=m;continue a}l=O(e,d)|0;f=+h[a+(l+o<<3)>>3]/+h[k>>3];i=c+(e<<3)|0;h[i>>3]=+h[i>>3]-+h[j>>3]*f;i=0;while(1){if((i|0)>=(d|0))break;u=a+(i+l<<3)|0;h[u>>3]=+h[u>>3]-+h[a+(i+n<<3)>>3]*f;i=i+1|0}e=e+1|0}}if((l|0)==21){f=+h[a+(q+-1<<3)>>3];if(+B(+f)<1.0e-10)l=33;else{h[b+(p<<3)>>3]=+h[c+(p<<3)>>3]/f;e=0;while(1){if((e|0)>=(p|0)){e=0;break}g=d-e|0;i=g+-2|0;f=+h[c+(i<<3)>>3];j=b+(i<<3)|0;h[j>>3]=f;k=O(i,d)|0;g=g+-1|0;while(1){if((g|0)>=(d|0))break;t=f-+h[b+(g<<3)>>3]*+h[a+(g+k<<3)>>3];h[j>>3]=t;g=g+1|0;f=t}h[j>>3]=f/+h[a+(k+i<<3)>>3];e=e+1|0}while(1){if((e|0)>=(d|0)){e=0;break}h[c+(e<<3)>>3]=+h[s+(e<<3)>>3];e=e+1|0}while(1){if((e|0)>=(q|0))break;h[a+(e<<3)>>3]=+h[r+(e<<3)>>3];e=e+1|0}D_(r);D_(s)}}if((l|0)==33){k3(92418)|0;D_(r);D_(s)}return}function Yt(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+16|0;r=s;nr();Kt();Ir();c[46147]=jb[d&3]()|0;Kr();q=r+8|0;p=jb[d&3]()|0;e=0.0;f=0.0;a:while(1){n=(p|0)==0;o=p+8|0;while(1){if(!(Er()|0)){Fr(r);e=+h[r>>3];f=+h[q>>3]}if(!n){if(Er()|0)break;g=+h[o>>3];if(g<f)break;if(g==f?+h[p>>3]<e:0)break}if(Er()|0)break a;t=Gr()|0;b=Tr(t)|0;v=Sr(t)|0;i=Sr(v)|0;m=Ur(t)|0;u=Vr(v)|0;j=c[t+20>>2]|0;Nt(j);rr(c[t+8>>2]|0,a[t+16>>0]|0,j);rr(c[v+8>>2]|0,a[v+16>>0]|0,j);Rr(t);Dr(v);Rr(v);v=+h[m+8>>3]>+h[u+8>>3];t=v&1;k=v?u:m;u=or(k,v?m:u)|0;m=Lr(u,t)|0;Or(b,m);rr(u,(t^1)&255,j);Ot(j);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,k))}b=Mr(m,i)|0;if(!b)continue;Br(m,b,+Mt(b,k))}b=Pr(p)|0;k=Sr(b)|0;i=or(Vr(b)|0,p)|0;m=Lr(i,0)|0;Or(b,m);j=Mr(b,m)|0;if(j|0){Dr(b);Br(b,j,+Mt(j,p))}i=Lr(i,1)|0;Or(m,i);b=Mr(i,k)|0;if(b|0)Br(i,b,+Mt(b,p));p=jb[d&3]()|0}b=c[46090]|0;while(1){b=Sr(b)|0;if((b|0)==(c[46091]|0))break;pr(c[b+8>>2]|0)}l=s;return}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+8|0;e=g;do if((ay(a)|0)!=1){_t(a);if(!b)b=$t(a)|0;d=au(a,b)|0;if(0){h=c[15686]|0;c[e>>2]=ry(b)|0;c[e+4>>2]=d;g1(h,92434,e)|0}if((d|0)<0){Pw(1,92468,f)|0;break}else{bu(a);cu(a,b);du(a,b);eu(a,d);break}}else{h=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0}while(0);l=g;return b|0}function _t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=ay(a)|0;d=O(d,d)|0;b=Sy(a)|0;while(1){if(!b)break;e=b+16|0;f=c[(c[e>>2]|0)+112>>2]|0;g=f+24|0;c[g>>2]=d;c[g+4>>2]=0;h[f+48>>3]=10.0;f=(mu(a,b)|0)==0;e=c[(c[e>>2]|0)+112>>2]|0;c[e>>2]=f?d:0;c[e+4>>2]=f?0:0;b=Ty(a,b)|0}return}function $t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=(ay(a)|0)<3;b=Sy(a)|0;a:do if(!e){while(1){if(!b)break;e=c[(c[b+16>>2]|0)+112>>2]|0;if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)lu(a,b,0);b=Ty(a,b)|0}d=0;b=0;e=Sy(a)|0;while(1){if(!e)break a;h=c[(c[e+16>>2]|0)+112>>2]|0;g=c[h>>2]|0;h=c[h+4>>2]|0;f=((d|0)<0)<<31>>31;f=h>>>0>f>>>0|(h|0)==(f|0)&g>>>0>d>>>0;d=f?g:d;b=f?e:b;e=Ty(a,e)|0}}while(0);return b|0}function au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+112>>2]|0;f=d+24|0;e=c[f>>2]|0;c[f>>2]=0;c[f+4>>2]=0;c[d+32>>2]=0;iu(a,b);d=Sy(a)|0;e=y3(0,e|0,32)|0;f=z;b=0;while(1){if(!d)break;h=(c[(c[d+16>>2]|0)+112>>2]|0)+24|0;g=c[h>>2]|0;h=c[h+4>>2]|0;if((g|0)==(e|0)&(h|0)==(f|0)){b=-1;break}i=((b|0)<0)<<31>>31;b=h>>>0>i>>>0|(h|0)==(i|0)&g>>>0>b>>>0?g:b;d=Ty(a,d)|0}return b|0}function bu(a){a=a|0;var b=0,d=0,e=0,f=0;d=Sy(a)|0;while(1){if(!d)break;b=c[(c[d+16>>2]|0)+112>>2]|0;e=b+16|0;a:do if((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)while(1){e=b+8|0;f=e;f=s3(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;c[e>>2]=f;c[e+4>>2]=z;b=c[b+32>>2]|0;if(!b)break a;b=c[(c[b+16>>2]|0)+112>>2]|0}while(0);d=Ty(a,d)|0}return}function cu(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+40>>3]=6.283185307179586;hu(a,b);return}function du(a,b){a=a|0;b=b|0;h[(c[(c[b+16>>2]|0)+112>>2]|0)+48>>3]=0.0;gu(a,b);return}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+16|0;f=i;g=fu(a,b)|0;if(0){e=c[15686]|0;D1(92524,e)|0;d=0;while(1){if((d|0)>(b|0))break;h[f>>3]=+h[g+(d<<3)>>3];g1(e,92543,f)|0;d=d+1|0}D1(150517,e)|0}d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;e=c[f+112>>2]|0;j=+h[g+(c[e+24>>2]<<3)>>3];e=e+48|0;k=+E(+(+h[e>>3]))*j;f=c[f+132>>2]|0;h[f>>3]=k;h[f+8>>3]=+F(+(+h[e>>3]))*j;d=Ty(a,d)|0}D_(g);l=i;return}function fu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;m=uH((d<<3)+8|0)|0;b=NL(b,nx(c[b+60>>2]|0,0,98262,0)|0,0)|0;a:do if(!b){f=1.0;e=0.0;b=1}else{i=0.0;e=0.0;g=1;b:while(1){if((g|0)>(d|0)){f=i;b=g;break a}f=+c2(b,k);if(!(f>0.0)){f=i;b=g;break a}i=f>.02?f:.02;e=i+e;j=g+1|0;h[m+(g<<3)>>3]=e;b=c[k>>2]|0;while(1){g=a[b>>0]|0;if(!(g<<24>>24)){g=j;continue b}if(!(g<<24>>24==58|(B$(g<<24>>24)|0)!=0)){g=j;continue b}b=b+1|0}}}while(0);while(1){if((b|0)>(d|0))break;i=e+f;h[m+(b<<3)>>3]=i;b=b+1|0;e=i}l=n;return m|0}function gu(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16>>2]|0)+112>>2]|0;if(!(c[d+32>>2]|0))e=0.0;else e=+h[d+48>>3]-+h[d+40>>3]*.5;g=Jx(a,b)|0;while(1){if(!g)break;d=c[g>>2]&3;f=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((f|0)==(b|0))f=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[f+16>>2]|0)+112>>2]|0;if((c[d+32>>2]|0)==(b|0)?(i=d+48|0,!(+h[i>>3]!=10.0)):0){j=+h[d+40>>3];h[i>>3]=j*.5+e;e=j+e;d=d+16|0;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0))gu(a,f)}g=Kx(a,g,b)|0}return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;e=c[(c[b+16>>2]|0)+112>>2]|0;f=e+8|0;g=+h[e+40>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+((c[f+4>>2]|0)>>>0));f=Jx(a,b)|0;while(1){if(!f)break;e=c[f>>2]&3;d=c[((e|0)==3?f:f+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?f:f+-48|0)+40>>2]|0;e=c[(c[d+16>>2]|0)+112>>2]|0;if(((c[e+32>>2]|0)==(b|0)?(i=e+40|0,!(+h[i>>3]!=0.0)):0)?(j=e+8|0,h[i>>3]=g*(+((c[j>>2]|0)>>>0)+4294967296.0*+((c[j+4>>2]|0)>>>0)),e=e+16|0,!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0)):0)hu(a,d);f=Kx(a,f,b)|0}return}function iu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+16|0;n=p;o=nx(b,2,98515,0)|0;c[n+4>>2]=0;c[n>>2]=0;ju(n,d);j=(o|0)==0;a:while(1){k=ku(n)|0;if(!k)break;m=k+16|0;h=c[(c[(c[m>>2]|0)+112>>2]|0)+24>>2]|0;g=Jx(b,k)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)continue a;if(!((!j?(a[(yx(g,o)|0)>>0]|0)==48:0)?!(b$(yx(g,o)|0,135312)|0):0)){d=c[g>>2]&3;e=c[((d|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(k|0))e=c[((d|0)==2?g:g+-48|0)+40>>2]|0;d=c[(c[e+16>>2]|0)+112>>2]|0;f=d+24|0;q=f;r=c[q+4>>2]|0;if(i>>>0<r>>>0|((i|0)==(r|0)?h>>>0<(c[q>>2]|0)>>>0:0)){r=f;c[r>>2]=h;c[r+4>>2]=i;c[d+32>>2]=k;r=(c[(c[m>>2]|0)+112>>2]|0)+16|0;q=r;q=s3(c[q>>2]|0,c[q+4>>2]|0,1,0)|0;c[r>>2]=q;c[r+4>>2]=z;ju(n,e)}}g=Kx(b,g,k)|0}}l=p;return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0;d=uH(8)|0;c[d>>2]=b;b=a+4|0;e=c[b>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=d;c[b>>2]=d;return}function ku(a){a=a|0;var b=0,d=0;d=c[a>>2]|0;if(d){b=c[d>>2]|0;c[a>>2]=c[d+4>>2];D_(d);if(!(c[a>>2]|0))c[a+4>>2]=0}else b=0;return b|0}function lu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=c[c[(c[b+16>>2]|0)+112>>2]>>2]|0;g=Jx(a,b)|0;h=s3(0,h|0,0,1)|0;h=y3(h|0,z|0,32)|0;i=z;while(1){if(!g)break;f=c[g>>2]&3;e=c[((f|0)==3?g:g+48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((f|0)==2?g:g+-48|0)+40>>2]|0;if((e|0)!=(d|0)?(j=c[(c[e+16>>2]|0)+112>>2]|0,f=j,k=c[f+4>>2]|0,i>>>0<k>>>0|((i|0)==(k|0)?h>>>0<(c[f>>2]|0)>>>0:0)):0){k=j;c[k>>2]=h;c[k+4>>2]=i;lu(a,e,b)}g=Kx(a,g,b)|0}return}function mu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=0;g=Jx(a,b)|0;while(1){if(!g){d=1;break}e=c[g>>2]&3;d=c[((e|0)==3?g:g+48|0)+40>>2]|0;if((d|0)==(b|0))d=c[((e|0)==2?g:g+-48|0)+40>>2]|0;if((d|0)!=(b|0)){if(f)if((f|0)==(d|0))d=f;else{d=0;break}}else d=f;f=d;g=Kx(a,g,b)|0}return d|0}function nu(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=l;l=l+32|0;e=b;d=nx(a,1,92551,0)|0;g=nx(a,0,92551,0)|0;a=ou(a,g,d,nx(a,0,92556,0)|0)|0;d=a+16|0;f=+C(+(+h[a>>3]+.1));zu(e,0.0,0.0,f,f);c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];c[d+16>>2]=c[e+16>>2];c[d+20>>2]=c[e+20>>2];c[d+24>>2]=c[e+24>>2];c[d+28>>2]=c[e+28>>2];pu(a);qu(a);ru(a);l=b;return}function ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=uH(72)|0;c[o+60>>2]=0;c[o+56>>2]=a;k=a+16|0;f=0.0;l=0;i=1;j=0;m=0;while(1){g=c[k>>2]|0;if((i|0)>(c[g+180>>2]|0))break;g=ou(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,b,d,e)|0;f=+h[g>>3]+f;if(j|0)c[j+52>>2]=g;l=l+1|0;i=i+1|0;j=g;m=(m|0)==0?g:m}n=Sy(a)|0;g=m;while(1){if(!n)break;i=n+16|0;if(!(c[c[(c[i>>2]|0)+112>>2]>>2]|0)){k=uu(n,d)|0;f=+h[k>>3]+f;if(j|0)c[j+52>>2]=k;c[c[(c[i>>2]|0)+112>>2]>>2]=a;i=l+1|0;j=k;g=(g|0)==0?k:g}else i=l;n=Ty(a,n)|0;l=i}c[o+64>>2]=l;if(!l)f=+wu(a,b);else{h[o+8>>3]=f;f=+vu(o,e)}h[o>>3]=f;c[o+48>>2]=g;return o|0}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;p=l;l=l+176|0;f=p+144|0;n=p+64|0;k=p+32|0;i=p;o=c[a+64>>2]|0;a:do if(o|0){m=uH(o<<2)|0;b=a+48|0;e=0;d=b;while(1){d=c[d>>2]|0;if((e|0)>=(o|0))break;c[m+(e<<2)>>2]=d;e=e+1|0;d=d+52|0}_0(m,o,4,79);j=uH(o<<3)|0;d=0;while(1){if((d|0)>=(o|0))break;h[j+(d<<3)>>3]=+h[c[m+(d<<2)>>2]>>3];d=d+1|0}g=+h[a+8>>3];if(+h[a>>3]==g){i=a+16|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}else{q=+h[a+40>>3];r=+h[a+32>>3];h[i>>3]=+h[a+16>>3];h[i+8>>3]=+h[a+24>>3];s=q-r;g=(r+q-+C(+(g*4.0+s*s)))*.5;h[i+16>>3]=r-g;h[i+24>>3]=q-g;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];c[f+16>>2]=c[i+16>>2];c[f+20>>2]=c[i+20>>2];c[f+24>>2]=c[i+24>>2];c[f+28>>2]=c[i+28>>2];i=xu(o,j,f)|0}if(0){f=c[15686]|0;q=+h[a+24>>3];r=+h[a+32>>3];s=+h[a+40>>3];h[k>>3]=+h[a+16>>3];h[k+8>>3]=q;h[k+16>>3]=r;h[k+24>>3]=s;g1(f,92603,k)|0}e=c[15686]|0;d=0;while(1){if((d|0)>=(o|0))break;k=(c[m+(d<<2)>>2]|0)+16|0;f=i+(d<<5)|0;c[k>>2]=c[f>>2];c[k+4>>2]=c[f+4>>2];c[k+8>>2]=c[f+8>>2];c[k+12>>2]=c[f+12>>2];c[k+16>>2]=c[f+16>>2];c[k+20>>2]=c[f+20>>2];c[k+24>>2]=c[f+24>>2];c[k+28>>2]=c[f+28>>2];if(0){g=+h[f>>3];r=+h[i+(d<<5)+16>>3];u=r*.5;q=+h[i+(d<<5)+8>>3];s=+h[i+(d<<5)+24>>3];t=s*.5;h[n>>3]=+h[j+(d<<3)>>3];h[n+8>>3]=g-u;h[n+16>>3]=q-t;h[n+24>>3]=u+g;h[n+32>>3]=t+q;h[n+40>>3]=s*r;h[n+48>>3]=g;h[n+56>>3]=q;h[n+64>>3]=r;h[n+72>>3]=s;g1(e,92620,n)|0}d=d+1|0}D_(m);D_(j);D_(i);d=0;while(1){b=c[b>>2]|0;if((d|0)>=(o|0))break a;if(!(c[b+60>>2]|0))pu(b);b=b+52|0;d=d+1|0}}while(0);l=p;return}function qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;f=l;l=l+48|0;e=f;if(c[a+60>>2]|0){k=+h[a+24>>3];i=+h[a+32>>3];g=+h[a+40>>3];b=c[a+56>>2]|0;d=b+16|0;j=c[d>>2]|0;h[j+16>>3]=+h[a+16>>3];h[j+24>>3]=k;a=c[d>>2]|0;h[a+32>>3]=i*.013888888888888888;h[a+40>>3]=g*.013888888888888888;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);su(b);if(0){j=c[15686]|0;a=ry(b)|0;d=c[d>>2]|0;m=+h[d+16>>3];g=+h[d+24>>3];i=+h[d+80>>3];k=+h[d+96>>3]+ +h[d+88>>3];c[e>>2]=a;h[e+8>>3]=m;h[e+16>>3]=g;h[e+24>>3]=i;h[e+32>>3]=k;g1(j,92562,e)|0}}else{b=a+48|0;while(1){b=c[b>>2]|0;if(!b)break;qu(b);b=b+52|0}i=+h[a+32>>3];m=+h[a+40>>3];g=+h[a+16>>3]-i*.5;k=+h[a+24>>3]-m*.5;j=c[(c[a+56>>2]|0)+16>>2]|0;h[j+16>>3]=g;h[j+24>>3]=k;h[j+32>>3]=g+i;h[j+40>>3]=k+m}l=f;return}function ru(a){a=a|0;var b=0,d=0,e=0;e=c[a+64>>2]|0;b=a+48|0;d=0;while(1){b=c[b>>2]|0;if((d|0)>=(e|0))break;ru(b);b=b+52|0;d=d+1|0}D_(a);return}function su(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;d=g+8|0;e=c[46380]|0;if(e|0?(a[(yx(b,e)|0)>>0]|0)==0:0){h[f>>3]=+h[(c[b+16>>2]|0)+80>>3]*.7;Y0(d,92597,f)|0;rx(b,c[46380]|0,d)|0}dM(b);l=g;return}function tu(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];return (d<0.0?1:(d>0.0)<<31>>31)|0}function uu(a,b){a=a|0;b=b|0;var d=0;d=uH(72)|0;h[d>>3]=+wu(a,b);c[d+60>>2]=1;c[d+56>>2]=a;return d|0}function vu(a,b){a=a|0;b=b|0;var d=0.0;d=+LL(c[a+56>>2]|0,b,0.0,0.0);if(d==0.0)d=+h[a+8>>3];else{d=+C(+(+h[a+8>>3]))+d*2.0;d=d*d}return +d}function wu(a,b){a=a|0;b=b|0;var c=0.0;c=+LL(a,b,1.0,0.0);return +(c==0.0?1.0e3:c*1.0e3)}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i;e=0;f=0.0;while(1){if((e|0)>=(a|0))break;j=+h[b+(e<<3)>>3]+f;e=e+1|0;f=j}if(f>+h[d+24>>3]*+h[d+16>>3]+.001)e=0;else{e=uH(a<<5)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];c[g+16>>2]=c[d+16>>2];c[g+20>>2]=c[d+20>>2];c[g+24>>2]=c[d+24>>2];c[g+28>>2]=c[d+28>>2];yu(a,b,e,0,0.0,1.0,0.0,1.0,g)}l=i;return e|0}function yu(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=+j;k=k|0;var m=0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0.0;z=l;l=l+112|0;y=z+72|0;u=z+40|0;p=z+32|0;m=z;w=k+16|0;q=+h[w>>3];x=k+24|0;r=+h[x>>3];v=+h[k+16+((!(q<r)&1)<<3)>>3];do if((a|0)>=1){if(0){A=c[15686]|0;B=+h[k+8>>3];h[m>>3]=+h[k>>3];h[m+8>>3]=q;h[m+16>>3]=B;h[m+24>>3]=r;g1(A,92657,m)|0;c[p>>2]=e;g1(A,92703,p)|0}if(!e){i=+h[b>>3];B=v*v;v=i/B;B=B/i;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a,b,d,1,i,i,i,v>B?v:B,y);break}if((a|0)>(e|0)?(t=+h[b+(e<<3)>>3],n=t<f?f:t,s=t>g?g:t,t=t+i,o=t/v,o=o*o,B=o/s,o=n/o,o=B>o?B:o,o<=j):0){c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a,b,d,e+1|0,n,s,t,o,y);break}q=i/v;if(0){A=c[15686]|0;c[u>>2]=e;h[u+8>>3]=i;h[u+16>>3]=v;h[u+24>>3]=q;g1(A,92728,u)|0}n=+h[w>>3];if(v==n){o=1.0/q;p=k+8|0;n=+h[k>>3]-n*.5;m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+24>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+16>>3]=B;h[d+(m<<5)+8>>3]=(+h[x>>3]-q)*.5+ +h[p>>3];h[d+(m<<5)>>3]=B*.5+n;n=B+n;m=m+1|0}h[p>>3]=+h[p>>3]-q*.5;m=1}else{o=1.0/q;n=+h[x>>3]*.5+ +h[k+8>>3];m=0;while(1){if((m|0)>=(e|0))break;h[d+(m<<5)+16>>3]=q;B=+h[b+(m<<3)>>3]*o;h[d+(m<<5)+24>>3]=B;h[d+(m<<5)>>3]=(q-+h[w>>3])*.5+ +h[k>>3];h[d+(m<<5)+8>>3]=n-B*.5;n=n-B;m=m+1|0}h[k>>3]=+h[k>>3]+q*.5;m=0}A=k+16+(m<<3)|0;h[A>>3]=+h[A>>3]-q;c[y>>2]=c[k>>2];c[y+4>>2]=c[k+4>>2];c[y+8>>2]=c[k+8>>2];c[y+12>>2]=c[k+12>>2];c[y+16>>2]=c[k+16>>2];c[y+20>>2]=c[k+20>>2];c[y+24>>2]=c[k+24>>2];c[y+28>>2]=c[k+28>>2];yu(a-e|0,b+(e<<3)|0,d+(e<<5)|0,0,0.0,0.0,0.0,1.0,y)}while(0);l=z;return}function zu(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Au(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;D=l;l=l+96|0;C=D+48|0;B=D+24|0;A=D+16|0;z=D+8|0;u=D+80|0;v=D;w=a+16|0;x=d+4|0;y=u+4|0;s=Sy(a)|0;e=0;f=0;i=0;j=0;while(1){if(!s)break;t=Ex(a,s)|0;q=e;r=j;while(1){if(!t)break;e=(b[(c[t+16>>2]|0)+168>>1]|0)==0;do if((s|0)==(c[((c[t>>2]&3|0)==2?t:t+-48|0)+40>>2]|0))if(e){j=q;e=r}else{if(!f){e=uH(96)|0;c[e+84>>2]=uH(((ay(a)|0)<<5)+11520|0)|0;f=e}else e=r;Mm(f,t,c[(c[w>>2]|0)+248>>2]|0);j=q}else if(!e){i=Bu(t,d)|0;j=i+8|0;if(ms(c[j>>2]|0,c[i>>2]|0)|0){k=sU(c[j>>2]|0,c[i>>2]|0)|0;if(!k){Pw(0,92781,z)|0;j=1;e=r;break}else e=t;while(1){if(!e)break;E=e+16|0;F=(c[E>>2]|0)+144|0;Sm(v,e,k,0,c[j>>2]|0,c[i>>2]|0);H=v;G=c[H+4>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;Um(a,e,c[j>>2]|0,c[i>>2]|0,0);e=c[(c[E>>2]|0)+172>>2]|0}Cu(i);j=q;e=r;break}if(!q){qq(u,a);e=YD(a,8,8)|0;Pw(0,92865,A)|0;n=+(e|0);o=+g[d>>2];p=+g[x>>2];if(!(o>=n)&!(p>=n)){m=+g[u>>2];n=+g[y>>2];if(!(!(m<=o)&!(n<=p))){h[C>>3]=m;h[C+8>>3]=n;h[C+16>>3]=o;h[C+24>>3]=p;Pw(3,92981,C)|0}}else{c[B>>2]=e;h[B+8>>3]=o;h[B+16>>3]=p;Pw(3,92931,B)|0}j=1;e=r}else{j=q;e=r}}else{j=q;e=r}while(0);t=Gx(a,t)|0;q=j;r=e}s=Ty(a,s)|0;e=q;j=r}Du(i);if(f|0){D_(c[f+84>>2]|0);D_(j)}l=D;return e|0}function Bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+16|0;m=p+4|0;n=p;e=c[b>>2]&3;f=c[((e|0)==2?b:b+-48|0)+40>>2]|0;e=c[((e|0)==3?b:b+48|0)+40>>2]|0;q=f+16|0;h=c[(c[q>>2]|0)+212>>2]|0;c[m>>2]=h;i=e+16|0;g=c[(c[i>>2]|0)+212>>2]|0;c[n>>2]=g;k=uH(12)|0;b=h;j=g;if(a[(c[q>>2]|0)+118>>0]|0){b=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2]|0;c[m>>2]=b;f=h;h=b}if(!(a[(c[i>>2]|0)+118>>0]|0))i=j;else{i=c[(c[(c[j+16>>2]|0)+140>>2]|0)+48>>2]|0;c[n>>2]=i;e=g;g=i}h=c[(c[(c[h+16>>2]|0)+140>>2]|0)+44>>2]|0;g=c[(c[(c[g+16>>2]|0)+140>>2]|0)+44>>2]|0;if((h|0)<=(g|0))if((g|0)>(h|0)){Eu(k,g,e,h,n,d);b=c[n>>2]|0;g=b;e=n;o=11}else h=i;else{Eu(k,h,f,g,m,d);b=c[m>>2]|0;f=b;g=e;e=m;o=11}while(1){if((o|0)==11){c[e>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];e=g;b=c[m>>2]|0;h=c[n>>2]|0}if((b|0)==(h|0))break;Fu(k,b,0,f,d);Fu(k,h,e,0,d);c[m>>2]=c[(c[(c[b+16>>2]|0)+140>>2]|0)+48>>2];f=b;g=h;e=n;b=h;o=11}Fu(k,h,e,f,d);l=p;return k|0}function Cu(a){a=a|0;c[a>>2]=0;return}function Du(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Eu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=f;while(1){h=c[i>>2]|0;if((b|0)<=(e|0))break;Fu(a,h,d,0,g);b=b+-1|0;i=(c[(c[h+16>>2]|0)+140>>2]|0)+48|0;d=h}c[f>>2]=d;return}function Fu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=Sy(d)|0;while(1){if(!h)break;i=c[h+16>>2]|0;if(!((h|0)==(f|0)|((h|0)==(e|0)?1:(c[i+212>>2]|0)!=(d|0)))?(a[i+118>>0]|0)==0:0)Gu(b,Pm(h,g,0)|0);h=Ty(d,h)|0}i=d+16|0;d=1;while(1){h=c[i>>2]|0;if((d|0)>(c[h+180>>2]|0))break;h=c[(c[h+184>>2]|0)+(d<<2)>>2]|0;if(!((h|0)==(e|0)|(h|0)==(f|0)))Gu(b,Hu(h,g)|0);d=d+1|0}return}function Gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a+8|0;d=c[g>>2]|0;do if((f|0)==(c[a>>2]|0))if(!d){d=vH(400)|0;c[g>>2]=d;c[e>>2]=100;break}else{c[e>>2]=f<<1;d=xH(d,f<<3)|0;c[g>>2]=d;break}while(0);g=c[a>>2]|0;c[a>>2]=g+1;c[d+(g<<2)>>2]=b;return}function Hu(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0;m=uH(8)|0;b=c[b+16>>2]|0;e=+h[b+16>>3];l=+h[b+24>>3];f=+h[b+32>>3];k=+h[b+40>>3];c[m+4>>2]=4;b=uH(64)|0;c[m>>2]=b;if(!(a[d+8>>0]|0)){p=+g[d>>2];o=+g[d+4>>2];i=(f+e)*.5*(p+-1.0);n=(k+l)*.5*(o+-1.0);j=e*p-i;i=f*p-i;f=k*o-n;e=l*o-n}else{i=+g[d>>2];p=+g[d+4>>2];j=e-i;i=f+i;f=k+p;e=l-p}h[b>>3]=j;h[b+8>>3]=e;h[b+16>>3]=j;h[b+24>>3]=f;h[b+32>>3]=i;h[b+40>>3]=f;h[b+48>>3]=i;h[b+56>>3]=e;return m|0}function Iu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+160|0;n=o+16|0;j=o+8|0;g=o;k=o+24|0;m=uH(ay(b)|0)|0;h=b+16|0;f=c[c[(c[h>>2]|0)+140>>2]>>2]|0;a:do if(!f){g=0;f=0}else{p=ry(b)|0;i=c[46152]|0;c[g>>2]=p;c[g+4>>2]=i;Y0(k,93041,g)|0;i=vA(b,k,1)|0;Az(i,134401,280,1)|0;g=uH(56)|0;c[(c[i+16>>2]|0)+140>>2]=g;c[g>>2]=f;c[g+4>>2]=c[(c[(c[h>>2]|0)+140>>2]|0)+4>>2];while(1){g=c[f+4>>2]|0;if(!g){g=i;f=1;break a}if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,i,m);f=f+16|0}}while(0);h=0;i=Sy(b)|0;while(1){if(!i)break;p=c[i+16>>2]|0;if((a[m+(c[p+120>>2]|0)>>0]|0)==0?(a[p+119>>0]|0)==3:0){if(!g){p=ry(b)|0;g=(c[46152]|0)+f|0;c[j>>2]=p;c[j+4>>2]=g;Y0(k,93041,j)|0;g=vA(b,k,1)|0;Az(g,134401,280,1)|0;p=uH(56)|0;c[(c[g+16>>2]|0)+140>>2]=p;f=f+1|0}Ju(b,i,g,m);h=1}i=Ty(b,i)|0}if(g|0)vD(g)|0;g=Sy(b)|0;while(1){if(!g)break;if(!(a[m+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0)){j=ry(b)|0;p=(c[46152]|0)+f|0;c[n>>2]=j;c[n+4>>2]=p;Y0(k,93049,n)|0;p=vA(b,k,1)|0;Az(p,134401,280,1)|0;j=uH(56)|0;c[(c[p+16>>2]|0)+140>>2]=j;Ju(b,g,p,m);vD(p)|0;f=f+1|0}g=Ty(b,g)|0}D_(m);c[46152]=(c[46152]|0)+f;if(d|0)c[d>>2]=f;if(e|0)c[e>>2]=h;i=uH((f<<2)+4|0)|0;h=i;g=wA(b)|0;while(1){if(!g)break;c[h>>2]=g;h=h+4|0;g=xA(g)|0;f=f+-1|0}if(!f){c[h>>2]=0;l=o;return i|0}else qa(93057,93068,134,93075);return 0}function Ju(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d+16>>2]|0)+120>>2]|0)>>0]=1;Xy(e,d,1)|0;i=Jx(b,d)|0;while(1){if(!i)break;h=c[i>>2]&3;g=c[((h|0)==3?i:i+48|0)+40>>2]|0;if((g|0)==(d|0))g=c[((h|0)==2?i:i+-48|0)+40>>2]|0;if(!(a[f+(c[(c[g+16>>2]|0)+120>>2]|0)>>0]|0))Ju(b,g,e,f);i=Kx(b,i,d)|0}return}function Ku(a){a=a|0;var b=0;b=vH(24)|0;c[46153]=b;c[b>>2]=Cw(18100,c[4555]|0)|0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+4>>2]=Lu(a)|0;return b|0}function Lu(a){a=a|0;var b=0,d=0;b=vH(16)|0;c[b+12>>2]=0;d=vH(a*20|0)|0;c[b>>2]=d;c[b+8>>2]=d+(a*20|0);c[b+4>>2]=d;return b|0}function Mu(a,b,d){a=a|0;b=b|0;d=d|0;d=Ou(c[46153]|0)|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=0;return d|0}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b>>2]|0)-(c[d>>2]|0)|0;if(!a)a=(c[b+4>>2]|0)-(c[d+4>>2]|0)|0;return a|0}function Ou(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+8|0;a=c[f>>2]|0;b=c[a+4>>2]|0;if((b|0)==(c[a+8>>2]|0)){d=a+12|0;e=c[d>>2]|0;if(!e){a=Lu(((b-(c[a>>2]|0)|0)/20|0)<<1)|0;c[d>>2]=a}else a=e;c[f>>2]=a;b=c[a>>2]|0;c[a+4>>2]=b}c[a+4>>2]=b+20;return b|0}function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|0)<(b|0)){e=d<<1;e=(e|0)<(b|0)?b:e;b=a+16|0;d=c[b>>2]|0;if(d|0)D_(d);c[b>>2]=vH(e<<3)|0;c[f>>2]=e}return}function Qu(a){a=a|0;var b=0;b=c[a>>2]|0;nb[c[b>>2]&63](b,0,64)|0;c[a+20>>2]=c[a+16>>2];b=c[a+4>>2]|0;c[a+8>>2]=b;c[b+4>>2]=c[b>>2];return}function Ru(a){a=a|0;yw(c[a>>2]|0)|0;Su(c[a+4>>2]|0);D_(c[a+16>>2]|0);D_(a);return}function Su(a){a=a|0;var b=0;while(1){if(!a)break;b=c[a+12>>2]|0;D_(c[a>>2]|0);D_(a);a=b}return}function Tu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g;h=g+12|0;c[h>>2]=b;c[h+4>>2]=d;i=c[a>>2]|0;h=(nb[c[i>>2]&63](i,h,1)|0)+8|0;c[h>>2]=Uu(a,e,c[h>>2]|0)|0;if(0>2){i=c[15686]|0;h=ry(e)|0;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=h;g1(i,93085,f)|0}l=g;return}function Uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+20|0;a=c[e>>2]|0;c[e>>2]=a+8;c[a>>2]=b;c[a+4>>2]=d;return a|0}function Vu(a,b){a=a|0;b=b|0;Jw(c[a>>2]|0,b,a)|0;return}function Wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+32|0;f=e;c[f>>2]=b;c[f+4>>2]=d;d=c[a>>2]|0;d=nb[c[d>>2]&63](d,f,4)|0;l=e;return d|0}function Xu(a,b){a=a|0;b=b|0;if((ay(a)|0)==1){a=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}else{Yu(a);if(!((QL(xx(b,93102)|0)|0)<<24>>24))b=tv(a,183128)|0;else b=Zu(a)|0;Cv(a,b,183128);_u(b)}return}function Yu(a){a=a|0;var b=0;b=ez(c[c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]>>2]|0)|0;a=c[46154]|0;if((b|0)!=(a|0)){c[45785]=0;c[46154]=b;c[46155]=nx(b,0,93111,0)|0;c[46156]=nx(c[46154]|0,1,93119,0)|0;c[46157]=nx(c[46154]|0,1,93136,0)|0;a=c[46154]|0}c[46158]=xx(a,93136)|0;nv(183128);c[45784]=1;h[22895]=+LL(c[46154]|0,c[46155]|0,1.0,0.0);c[45786]=c[46156];c[45787]=c[46157];c[45788]=c[46158];return}function Zu(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+144|0;e=f;d=f+8|0;b=c[45785]|0;c[45785]=b+1;c[e>>2]=b;Y0(d,93152,e)|0;d=ov(vA(a,d,1)|0)|0;e=d+8|0;b=Sy(a)|0;while(1){if(!b)break;Xy(c[e>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=d;b=Ty(a,b)|0}l=f;return d|0}function _u(a){a=a|0;Bv(a);return}function $u(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;av(f,c);bv(a,b,c,f);cv(b,f,d);dv(f);l=e;return}function av(a,b){a=a|0;b=b|0;c[a>>2]=vH(b<<4)|0;c[a+4>>2]=b;c[a+8>>2]=0;return}function bv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;r=D+32|0;u=D+48|0;v=D+16|0;w=D;t=b<<2;A=vH(t)|0;C=vH(t)|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;s=vH(t)|0;t=vH(t)|0;f=0;while(1){if((f|0)>=(b|0))break;c[s+(f<<2)>>2]=f;f=f+1|0}q=b+-1|0;js(a,s,0,q);f=0;while(1){if((f|0)>=(b|0))break;c[t+(c[s+(f<<2)>>2]<<2)>>2]=f;f=f+1|0}fv(u,a,s,b);f=1;while(1){if((f|0)>=(b|0)){f=0;break}c[A+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(f+-1<<2)>>2];f=f+1|0}while(1){if((f|0)>=(q|0))break;p=f+1|0;c[C+(c[s+(f<<2)>>2]<<2)>>2]=c[s+(p<<2)>>2];f=p}k=e+8|0;m=e+4|0;n=v+4|0;o=w+4|0;p=w+8|0;j=0;while(1){if((j|0)>=(d|0))break;if(!((gv(u,v)|0)<<24>>24))break;f=c[k>>2]|0;b=c[m>>2]|0;if((f|0)<(b|0))b=c[e>>2]|0;else{c[m>>2]=b<<1;b=F_(c[e>>2]|0,b<<5)|0;c[e>>2]=b;f=c[k>>2]|0}c[k>>2]=f+1;f=b+(f<<4)|0;c[f>>2]=c[v>>2];c[f+4>>2]=c[v+4>>2];c[f+8>>2]=c[v+8>>2];c[f+12>>2]=c[v+12>>2];f=c[v>>2]|0;b=c[t+(f<<2)>>2]|0;g=c[n>>2]|0;i=c[t+(g<<2)>>2]|0;if((b|0)>0?(x=c[s+(b+-1<<2)>>2]|0,y=C+(x<<2)|0,(c[t+(c[y>>2]<<2)>>2]|0)<(i|0)):0){c[w>>2]=x;c[o>>2]=g;h[p>>3]=+h[a+(g<<3)>>3]-+h[a+(x<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[y>>2]=g;c[A+(g<<2)>>2]=x}if((i|0)<(q|0)?(z=c[s+(i+1<<2)>>2]|0,B=A+(z<<2)|0,(c[t+(c[B>>2]<<2)>>2]|0)>(b|0)):0){c[w>>2]=f;c[o>>2]=z;h[p>>3]=+h[a+(z<<3)>>3]-+h[a+(f<<3)>>3];c[r>>2]=c[w>>2];c[r+4>>2]=c[w+4>>2];c[r+8>>2]=c[w+8>>2];c[r+12>>2]=c[w+12>>2];hv(u,r);c[B>>2]=f;c[C+(f<<2)>>2]=z}j=j+1|0}D_(A);D_(C);D_(s);D_(t);iv(u);l=D;return}function cv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=vH(a<<2)|0;l=b+8|0;i=c[l>>2]|0;j=(i<<1)+a|0;h=j<<2;e=vH(h)|0;h=vH(h)|0;f=0;while(1){if((f|0)>=(a|0))break;c[k+(f<<2)>>2]=1;f=f+1|0}f=0;while(1){if((f|0)>=(i|0)){f=0;break}n=c[b>>2]|0;m=c[n+(f<<4)+4>>2]|0;n=k+(c[n+(f<<4)>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+1;m=k+(m<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0}while(1){if((f|0)>=(j|0))break;g[h+(f<<2)>>2]=1.0;f=f+1|0}i=vH(a*20|0)|0;c[d>>2]=i;f=0;while(1){if((f|0)>=(a|0))break;c[i+(f*20|0)>>2]=1;c[i+(f*20|0)+8>>2]=h;c[i+(f*20|0)+4>>2]=e;c[e>>2]=f;g[h>>2]=0.0;n=c[k+(f<<2)>>2]|0;h=h+(n<<2)|0;e=e+(n<<2)|0;f=f+1|0}D_(k);while(1){e=c[l>>2]|0;if(!e)break;n=e+-1|0;c[l>>2]=n;m=c[b>>2]|0;ev(i,c[m+(n<<4)>>2]|0,c[m+(n<<4)+4>>2]|0)}return}function dv(a){a=a|0;D_(c[a>>2]|0);return}function ev(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0;f=a+(b*20|0)|0;h=c[f>>2]|0;i=c[a+(b*20|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0)){j=4;break}if((c[i+(e<<2)>>2]|0)==(d|0))break;else e=e+1|0}if((j|0)==4?(c[f>>2]=h+1,c[i+(h<<2)>>2]=d,i=c[a+(d*20|0)+4>>2]|0,h=a+(d*20|0)|0,j=c[h>>2]|0,c[h>>2]=j+1,c[i+(j<<2)>>2]=b,c[a+8>>2]|0):0){j=c[a+(b*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0;j=c[a+(d*20|0)+8>>2]|0;g[j>>2]=+g[j>>2]+-1.0}return}function fv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0,k=0,l=0;f=e+-1|0;c[a+4>>2]=f;c[a+8>>2]=f;c[a>>2]=vH(f<<4)|0;e=0;while(1){if((e|0)>=(f|0))break;l=c[d+(e<<2)>>2]|0;g=e+1|0;k=c[d+(g<<2)>>2]|0;j=+h[b+(k<<3)>>3]-+h[b+(l<<3)>>3];i=c[a>>2]|0;c[i+(e<<4)>>2]=l;c[i+(e<<4)+4>>2]=k;h[i+(e<<4)+8>>3]=j;e=g}e=(f|0)/2|0;while(1){if((e|0)<=-1)break;jv(a,e);e=e+-1|0}return}function gv(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if(!(c[d>>2]|0))a=0;else{e=c[a>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];b=c[a>>2]|0;e=b+((c[d>>2]|0)+-1<<4)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];c[d>>2]=(c[d>>2]|0)+-1;jv(a,0);a=1}return a|0}function hv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;j=a+4|0;g=c[j>>2]|0;d=a+8|0;if((g|0)==(c[d>>2]|0)){c[d>>2]=g<<1;d=F_(c[a>>2]|0,g<<5)|0;c[a>>2]=d;k=a;i=c[j>>2]|0}else{k=a;i=g;d=c[a>>2]|0}c[j>>2]=i+1;j=d+(g<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];while(1){if((g|0)<=0)break;d=c[k>>2]|0;e=+h[d+(g<<4)+8>>3];a=g>>>1;f=+h[d+(a<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((g2()|0)&1))break;d=c[k>>2]|0}j=d+(g<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];b=d+(a<<4)|0;c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];j=(c[k>>2]|0)+(a<<4)|0;c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];g=a}l=n;return}function iv(a){a=a|0;D_(c[a>>2]|0);return}function jv(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m;j=a+4|0;while(1){d=b<<1;g=d|1;if((d|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(d<<4)+8>>3];f=+h[n+(b<<4)+8>>3];if(!(e<f))if(!(e==f?((g2()|0)&1|0)!=0:0))k=6}else k=6;if((k|0)==6){k=0;d=b}do if((g|0)<(c[j>>2]|0)){n=c[a>>2]|0;e=+h[n+(g<<4)+8>>3];f=+h[n+(d<<4)+8>>3];if(!(e<f)){if(!(e==f))break;if(!((g2()|0)&1))break}d=g}while(0);if((d|0)==(b|0))break;g=c[a>>2]|0;n=g+(d<<4)|0;c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];g=g+(b<<4)|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];n=(c[a>>2]|0)+(b<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];b=d}l=m;return}function kv(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0.0;l=(f|0)!=0;if(!l){f=vH(b<<3)|0;if(!(kt(a,b,f,b)|0))m=3;else{a=1;m=17}}else m=3;if((m|0)==3){k=uH(b<<2)|0;c[g>>2]=k;a=0;while(1){if((a|0)>=(b|0))break;c[k+(a<<2)>>2]=a;a=a+1|0}a=b+-1|0;js(f,k,0,a);n=+h[f+(c[k>>2]<<3)>>3];e=(+h[f+(c[k+(a<<2)>>2]<<3)>>3]-n)*e/+(a|0);e=e<d?d:e;a=0;g=1;d=n;while(1){if((g|0)>=(b|0))break;n=+h[f+(c[k+(g<<2)>>2]<<3)>>3];a=a+(n-d>e&1)|0;g=g+1|0;d=n}c[j>>2]=a;a:do if(!a){k=vH(4)|0;c[i>>2]=k;c[k>>2]=b}else{j=vH(a<<2)|0;c[i>>2]=j;a=0;g=1;while(1){if((g|0)>=(b|0))break a;if(+h[f+(c[k+(g<<2)>>2]<<3)>>3]-+h[f+(c[k+(g+-1<<2)>>2]<<3)>>3]>e){c[j+(a<<2)>>2]=g;a=a+1|0}g=g+1|0}}while(0);if(l)a=0;else{a=0;m=17}}if((m|0)==17)D_(f);return a|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=c[46159]|0;if(d|0)xn(d);c[46159]=wn(b,b,0.0)|0;d=c[46160]|0;if(d|0)D_(d);c[46160]=uH(b<<2)|0;d=c[46161]|0;if(d|0)D_(d);n=uH(b<<3)|0;c[46161]=n;o=c[46159]|0;p=c[46160]|0;i=0;while(1){if((i|0)>=(b|0)){e=10;break}e=a+(i<<2)|0;g=o+(i<<2)|0;f=0.0;d=0;while(1){if((d|0)==(b|0))break;j=+h[(c[e>>2]|0)+(d<<3)>>3];h[(c[g>>2]|0)+(d<<3)>>3]=j;j=+B(+j);f=f<j?j:f;d=d+1|0}if(!(f!=0.0)){e=15;break}h[n+(i<<3)>>3]=1.0/f;c[p+(i<<2)>>2]=i;i=i+1|0}a:do if((e|0)==10){m=b+-1|0;d=0;l=0;b:while(1){if((l|0)<(m|0)){e=l;k=d;f=0.0}else break;while(1){if((e|0)>=(b|0))break;a=c[p+(e<<2)>>2]|0;j=+B(+(+h[(c[o+(a<<2)>>2]|0)+(l<<3)>>3]));j=+h[n+(a<<3)>>3]*j;a=f<j;i=a?e:k;e=e+1|0;k=i;f=a?j:f}if(f==0.0){d=0;break a}d=p+(l<<2)|0;if((k|0)!=(l|0)){i=c[d>>2]|0;a=p+(k<<2)|0;c[d>>2]=c[a>>2];c[a>>2]=i}g=c[o+(c[d>>2]<<2)>>2]|0;a=l+1|0;f=1.0/+h[g+(l<<3)>>3];e=a;while(1){if((e|0)>=(b|0)){d=k;l=a;continue b}i=c[o+(c[p+(e<<2)>>2]<<2)>>2]|0;d=i+(l<<3)|0;j=+h[d>>3]*f;h[d>>3]=j;c:do if(j!=0.0){d=a;while(1){if((d|0)>=(b|0))break c;q=i+(d<<3)|0;h[q>>3]=+h[q>>3]-+h[g+(d<<3)>>3]*j;d=d+1|0}}while(0);e=e+1|0}}d=+h[(c[o+(c[p+(m<<2)>>2]<<2)>>2]|0)+(m<<3)>>3]!=0.0&1}else if((e|0)==15){h[n+(i<<3)>>3]=0.0;d=0}while(0);return d|0}function mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0;k=c[46159]|0;l=c[46160]|0;j=0;while(1){if((j|0)>=(d|0)){e=d;break}g=c[l+(j<<2)>>2]|0;i=k+(g<<2)|0;f=0.0;e=0;while(1){if((e|0)==(j|0))break;f=+h[a+(e<<3)>>3]*+h[(c[i>>2]|0)+(e<<3)>>3]+f;e=e+1|0}h[a+(j<<3)>>3]=+h[b+(g<<3)>>3]-f;j=j+1|0}while(1){b=e+-1|0;if((e|0)<=0)break;g=l+(b<<2)|0;f=0.0;while(1){if((e|0)>=(d|0))break;f=+h[a+(e<<3)>>3]*+h[(c[k+(c[g>>2]<<2)>>2]|0)+(e<<3)>>3]+f;e=e+1|0}e=a+(b<<3)|0;h[e>>3]=(+h[e>>3]-f)/+h[(c[k+(c[g>>2]<<2)>>2]|0)+(b<<3)>>3];e=b}return}function nv(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function ov(a){a=a|0;var b=0;b=uH(64)|0;nv(b+36|0);c[b+8>>2]=a;return b|0}function pv(a){a=a|0;if(a|0){Lv(c[a+32>>2]|0);D_(a)}return}function qv(a){a=a|0;return ay(c[a+8>>2]|0)|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0;c[b+4>>2]=0;d=a+4|0;e=c[d>>2]|0;c[((e|0)==0?a:e+4|0)>>2]=b;c[d>>2]=b;return}function sv(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;if(!d){c[a>>2]=b;a=a+4|0}else c[b+4>>2]=d;c[a>>2]=b;return}function tv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;uv(a,b);j=c[b>>2]|0;h=c[j+4>>2]|0;while(1){if(!h)break;k=c[h+8>>2]|0;i=Sy(k)|0;d=c[(c[i+16>>2]|0)+112>>2]|0;a=c[d+16+4>>2]|0;d=c[d+8>>2]|0;f=i;i=Ty(k,i)|0;while(1){if(!i)break;e=c[(c[i+16>>2]|0)+112>>2]|0;g=c[e+16+4>>2]|0;if((g|0)<(a|0)){f=i;d=c[e+8>>2]|0;a=g}i=Ty(k,i)|0}i=c[(c[d+16>>2]|0)+112>>2]|0;k=i+4|0;c[k>>2]=c[k>>2]|8;c[h>>2]=f;k=c[h+4>>2]|0;rv((c[i+12>>2]|0)+36|0,h);h=k}nv(b);return j|0}function uv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;g=i+8|0;e=c[b+24>>2]|0;if(!((e|0)!=0?(d=az(a,e,0)|0,(d|0)!=0):0))f=3;a:do if((f|0)==3){e=b+20|0;b:do if(c[e>>2]|0){d=Sy(a)|0;while(1){if(!d)break b;if((PL(c[c[(c[d+16>>2]|0)+112>>2]>>2]|0,c[e>>2]|0,0)|0)<<24>>24)break a;d=Ty(a,d)|0}}while(0);d=Sy(a)|0}while(0);if(0){f=c[15686]|0;c[h>>2]=ry(d)|0;g1(f,93141,h)|0}c[g+4>>2]=0;c[g>>2]=0;vv(a,d,b,1,g);l=i;return}function vv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+8|0;k=c[l>>2]|0;c[l>>2]=k+1;l=b+16|0;c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]=k;c[(c[(c[l>>2]|0)+112>>2]|0)+24>>2]=k;k=(e|0)==0;j=Jx(a,b)|0;while(1){if(!j)break;e=c[j>>2]&3;g=c[((e|0)==2?j:j+-48|0)+40>>2]|0;if((g|0)==(b|0)){e=c[((e|0)==3?j:j+48|0)+40>>2]|0;g=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[g>>2]|0))c[g>>2]=-1}else{e=c[(c[j+16>>2]|0)+120>>2]|0;if(!(c[e>>2]|0)){c[e>>2]=1;e=g}else e=g}g=e+16|0;h=c[(c[g>>2]|0)+112>>2]|0;i=c[h+16+4>>2]|0;do if(!i){c[h+8>>2]=b;wv(f,j);vv(a,e,d,0,f);i=(c[(c[l>>2]|0)+112>>2]|0)+24|0;c[i>>2]=c[(c[(c[((c[i>>2]|0)<(c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)?b:e)+16>>2]|0)+112>>2]|0)+24>>2];if((c[(c[(c[g>>2]|0)+112>>2]|0)+24>>2]|0)>=(c[(c[(c[l>>2]|0)+112>>2]|0)+16+4>>2]|0)){e=0;do{h=xv(f)|0;g=(c[c[(c[h+16>>2]|0)+120>>2]>>2]|0)==1;g=c[((c[h>>2]&3|0)==((g?2:3)|0)?h:h+((g?-1:1)*48|0)|0)+40>>2]|0;if(!(c[(c[(c[g+16>>2]|0)+112>>2]|0)+12>>2]|0)){if(!e)e=yv(a,d)|0;zv(e,g)}}while((h|0)!=(j|0));if(e|0){if((c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0?(qv(e)|0)>1:0)zv(e,b);if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==(e|0):0){sv(d,e);break}rv(d,e)}}}else{g=c[(c[l>>2]|0)+112>>2]|0;if((c[g+8>>2]|0)!=(e|0)){h=g+24|0;g=c[h>>2]|0;c[h>>2]=(g|0)<(i|0)?g:i}}while(0);j=Kx(a,j,b)|0}if(!k?(c[(c[(c[l>>2]|0)+112>>2]|0)+12>>2]|0)==0:0){l=yv(a,d)|0;zv(l,b);sv(d,l)}return}function wv(a,b){a=a|0;b=b|0;c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2]=c[a>>2];c[a>>2]=b;b=a+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function xv(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)qa(135312,93172,65,93184);d=a+4|0;e=c[d>>2]|0;if((e|0)>0){c[a>>2]=c[(c[(c[b+16>>2]|0)+120>>2]|0)+4>>2];c[d>>2]=e+-1;return b|0}else qa(93162,93172,61,93184);return 0}function yv(a,b){a=a|0;b=b|0;return ov(Av(a,b)|0)|0}function zv(a,b){a=a|0;b=b|0;Xy(c[a+8>>2]|0,b,1)|0;c[(c[(c[b+16>>2]|0)+112>>2]|0)+12>>2]=a;return}function Av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+144|0;f=d;e=d+8|0;g=b+12|0;b=c[g>>2]|0;c[g>>2]=b+1;c[f>>2]=b;Y0(e,93152,f)|0;b=vA(a,e,1)|0;Az(b,134401,280,1)|0;l=d;return b|0}function Bv(a){a=a|0;var b=0,d=0;b=c[a+36>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;Bv(b);b=d}pv(a);return}function Cv(a,b,c){a=a|0;b=b|0;c=c|0;Dv(a,b,+h[c+32>>3]);return}function Dv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;e=b+36|0;f=0;while(1){e=c[e>>2]|0;if(!e)break;Dv(a,e,d);e=e+4|0;f=f+1|0}e=Vv(a,b,d)|0;c[b+32>>2]=e;a=Sv(e)|0;if((f|0)>0)d=+Ev(f,a,e,b,d);else d=3.141592653589793;if((((a|0)==1?(g=c[b>>2]|0,g|0):0)?c[(c[(c[g+16>>2]|0)+112>>2]|0)+8>>2]|0:0)?(i=b+48|0,h[i>>3]=d,d<0.0):0)h[i>>3]=d+6.283185307179586;return}function Ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;t=v;u=uH(a*56|0)|0;c[t+40>>2]=c[e+36>>2];p=e+16|0;j=+h[p>>3];q=t+8|0;h[q>>3]=j;h[t>>3]=j;c[t+44>>2]=c[e>>2];j=6.283185307179586/+(b|0);h[t+16>>3]=j;r=t+24|0;h[r>>3]=-1.0;s=t+32|0;h[s>>3]=-1.0;k=0;o=0;g=0.0;while(1){i=c[d>>2]|0;if(!i)break;d=c[i>>2]|0;if(!(c[(c[(c[d+16>>2]|0)+112>>2]|0)+4>>2]&8))d=o;else{n=u+(o*56|0)|0;c[n>>2]=d;h[u+(o*56|0)+8>>3]=j*+(k|0);d=o+1|0;g=+Fv(n,t,f)}k=k+1|0;o=d;d=i+4|0}a:do switch(o|0){case 1:{h[u+40>>3]=1.0;d=0;break}case 2:{j=+h[u+64>>3]-+h[u+8>>3];Gv(u,u+56|0,j>3.141592653589793?6.283185307179586-j:j);d=0;break}default:{n=u+8|0;m=u;d=0;while(1){if((d|0)>=(o|0)){d=0;break a}d=d+1|0;if((d|0)==(o|0)){i=u;j=+h[n>>3]+6.283185307179586-+h[m+8>>3];k=m+56|0}else{k=m+56|0;i=k;j=+h[m+64>>3]-+h[m+8>>3]}Gv(m,i,j);m=k}}}while(0);while(1){if((d|0)>=(o|0))break;Hv(u+(d*56|0)|0,t,b,f);d=d+1|0}D_(u);if((a|0)==1){f=g+f*.5;Iv(e,-f,0.0,0.0);h[p>>3]=+h[p>>3]+f;u=e+56|0;c[u>>2]=c[u>>2]|1}else h[p>>3]=+h[q>>3];l=v;return +((+h[s>>3]+ +h[r>>3])*.5+-3.141592653589793)}function Fv(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0;i=0;f=0.0;g=0.0;e=b+40|0;while(1){j=c[e>>2]|0;if(!j)break;e=c[j>>2]|0;if(!e)e=0;else e=c[(c[(c[e+16>>2]|0)+112>>2]|0)+8>>2]|0;if((e|0)==(c[a>>2]|0)){k=+h[j+16>>3];e=i+1|0;f=f+d+k*2.0;g=g<k?k:g}else e=i;i=e;e=j+4|0}h[a+32>>3]=f;c[a+48>>2]=i;h[a+16>>3]=g+d+ +h[b>>3];h[a+24>>3]=g;return +g}function Gv(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=+h[b+16>>3];d=+h[a+16>>3];c=(d*+h[b+32>>3]+e*+h[a+32>>3])/(c*2.0*e*d);c=c<1.0?1.0:c;a=a+40|0;if(c>+h[a>>3])h[a>>3]=c;a=b+40|0;if(c>+h[a>>3])h[a>>3]=c;return}function Hv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0.0,g=0.0,i=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0.0,G=0.0;z=b+8|0;y=+h[z>>3];A=b+24|0;k=+h[A>>3];B=b+32|0;j=+h[B>>3];f=+h[a+16>>3]*+h[a+40>>3];x=(d|0)==1;if(x){v=+h[a+32>>3];g=v*.15915494309189535;g=f>g?f:g;f=g*6.283185307179586-v;if(f>0.0){e=f/+(c[a+48>>2]|0)+e;l=0.0;f=g}else{l=0.0;f=g}}else l=+h[a+8>>3]-+h[a+32>>3]/(f*2.0);q=+h[a+24>>3]+f;r=q>y;s=a+48|0;t=((c[s>>2]|0)+1|0)/2|0;u=1.0/f;v=e/f*.5;w=a+8|0;n=b+40|0;o=0;p=0.0;g=l;while(1){n=c[n>>2]|0;if(!n)break;i=c[n>>2]|0;if(!i)i=0;else i=c[(c[(c[i+16>>2]|0)+112>>2]|0)+8>>2]|0;if((i|0)==(c[a>>2]|0)?(Sv(c[n+32>>2]|0)|0)>=1:0){l=+h[n+16>>3];m=l*u;do if(!x)if((c[s>>2]|0)==1){g=+h[w>>3];break}else{g=g+v+m;break}else{if(g!=0.0)g=(c[s>>2]|0)==2?3.141592653589793:m+g;j=g;k=k<0.0?g:k}while(0);G=+E(+g)*f;D=+F(+g)*f;Iv(n,G,D,+Jv(n,G,D,g));g=(x?(l+e)*u:m+v)+g;o=o+1|0;i=o;l=(o|0)==(t|0)?g:p}else{i=o;l=p}n=n+4|0;o=i;p=l}f=r?q:y;if((d|0)>1?(C=c[a>>2]|0,(C|0)==(c[b+44>>2]|0)):0)h[(c[(c[C+16>>2]|0)+112>>2]|0)+24>>3]=p;h[z>>3]=f;h[A>>3]=k;h[B>>3]=j;return}function Iv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;m=c[a+8>>2]|0;n=e!=0.0;f=Sy(m)|0;while(1){if(!f)break;k=c[(c[f+16>>2]|0)+132>>2]|0;i=+h[k>>3];l=k+8|0;g=+h[l>>3];if(n){o=+E(+e);p=+F(+e);j=o*i-p*g;g=p*i+o*g}else j=i;h[k>>3]=j+b;h[l>>3]=g+d;f=Ty(m,f)|0}f=a+36|0;while(1){f=c[f>>2]|0;if(!f)break;Iv(f,b,d,e);f=f+4|0}return}function Jv(a,b,d,e){a=a|0;b=+b;d=+d;e=+e;var f=0.0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;m=c[a+8>>2]|0;f=+h[a+48>>3];do if(!(f>=0.0)){if((Sv(c[a+32>>2]|0)|0)==2){f=e+-1.5707963267948966;break}l=c[a>>2]|0;n=l+16|0;i=c[(c[n>>2]|0)+132>>2]|0;f=+h[i>>3]+b;k=+h[i+8>>3]+d;f=k*k+f*f;i=Sy(m)|0;g=l;while(1){if(!i)break;if((i|0)!=(l|0)?(o=c[(c[i+16>>2]|0)+132>>2]|0,j=+h[o>>3]+b,k=+h[o+8>>3]+d,j=k*k+j*j,j<f):0){f=j;g=i}i=Ty(m,i)|0}if((l|0)!=(g|0)){j=+h[a+24>>3];k=+h[a+16>>3]-j;g=c[n>>2]|0;i=c[g+132>>2]|0;f=+h[i>>3];if(f>-k?(c[a+56>>2]&1|0)!=0:0){d=+C(+(d*d+b*b));b=+K(+(+h[i+8>>3]),+(f+k));f=+E(+b);f=e+1.5707963267948966-b-+I(+((k-j/f)/d*f));break}else{f=+K(+(+h[i+8>>3]),+f);f=e+3.141592653589793-f-+h[(c[g+112>>2]|0)+24>>3];f=f>6.283185307179586?f+-6.283185307179586:f;break}}else f=0.0}else{f=3.141592653589793-f+e;f=f<0.0?f+6.283185307179586:f}while(0);return +f}function Kv(){return uH(12)|0}function Lv(a){a=a|0;var b=0,d=0;if(a|0){b=c[a>>2]|0;while(1){if(!b)break;d=c[b+4>>2]|0;D_(b);b=d}D_(a)}return}function Mv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=Nv(d)|0;d=a+8|0;c[d>>2]=(c[d>>2]|0)+1;d=a+4|0;e=c[d>>2]|0;if((b|0)==0|(e|0)==(b|0)){c[(e|0?e+4|0:a)>>2]=f;c[f+8>>2]=e;e=0}else{e=b+4|0;d=c[e>>2]|0;c[e>>2]=f;c[f+8>>2]=b;e=d;d=d+8|0}c[d>>2]=f;c[f+4>>2]=e;return}function Nv(a){a=a|0;var b=0;b=uH(12)|0;c[b>>2]=a;return b|0}function Ov(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a>>2]|0;d=b;while(1){if(!b)break;g=b+4|0;e=c[g>>2]|0;f=b+8|0;c[g>>2]=c[f>>2];c[f>>2]=e;b=e}f=a+4|0;g=c[f>>2]|0;c[f>>2]=d;c[a>>2]=g;return a|0}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=c[a>>2]|0;if((d|0)!=(b|0)){f=b+8|0;e=c[f>>2]|0;c[a>>2]=b;c[f>>2]=0;b=a+4|0;a=c[b>>2]|0;c[a+4>>2]=d;c[d+8>>2]=a;c[b>>2]=e;c[e+4>>2]=0}return}function Qv(a){a=a|0;var b=0,d=0,e=0;d=Kv()|0;e=d+4|0;b=0;while(1){a=c[a>>2]|0;if(!a)break;Mv(d,b,c[a>>2]|0);b=c[e>>2]|0;a=a+4|0}return d|0}\nfunction Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(a){a=a|0;z=a}function Hb(){return z|0}function Ib(a){a=a|0;c[45884]=a;return 0}function Jb(){return c[45884]|0}function Kb(a,b){a=a|0;b=b|0;Oa(0,a|0,b|0)|0;return}function Lb(a){a=a|0;c[46369]=a;return}function Mb(a){a=a|0;if(a|0)c[46363]=a;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;c[f>>2]=0;h=ZC()|0;cD(h,10976);cD(h,17220);cD(h,17440);Ow(1)|0;Nw(18)|0;Tz(1);while(1){a=Gy(a)|0;e=c[f>>2]|0;if(!a)break;if(!e){_C(h,a,d)|0;bD(h,a,b,f,g)|0;WB(h,a)|0}$x(a)|0;a=191979}l=i;return e|0}function Ob(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;f=c[(c[a+16>>2]|0)+8>>2]|0;a=a+64|0;switch(c[a>>2]|0){case 0:{uI(f);break}case 1:{if(b[(c[f+16>>2]|0)+136>>1]&1)FM(f);break}case 4:case 5:case 6:{rI(f,e,d);Rb(f,c[e>>2]|0,c[d>>2]|0,c[a>>2]|0);break}default:{}}l=g;return}function Pb(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[(c[a+16>>2]|0)+8>>2]|0;if(!(c[45885]|0)){c[45885]=c[4652];c[45886]=57;c[45887]=19}e=d+64|0;f=(c[e>>2]|0)+8|0;b=c[f>>2]|0;c[f>>2]=183540;switch(c[a+64>>2]|0){case 2:{hI(a,d,a,0);break}case 3:{hI(a,d,a,1);break}case 1:case 0:{if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}case 6:case 5:case 4:{Qb(d);if(!(c[a+152>>2]&134217728))NA(d,a)|0;break}default:{}}c[(c[e>>2]|0)+8>>2]=b;return}function Qb(b){b=b|0;var d=0,e=0;d=c[45889]|0;if((d|0)!=(c[45888]|0)){e=c[c[45920]>>2]|0;if(!e){e=LM(b,0,96782,191979)|0;c[c[45920]>>2]=e;d=c[45889]|0}if(d>>>0>=(c[45890]|0)>>>0){Uw(183552,1)|0;d=c[45889]|0}a[d>>0]=0;d=c[45888]|0;c[45889]=d;rx(b,e,d)|0}if(c[(c[b+16>>2]|0)+12>>2]|0){e=c[(c[45920]|0)+4>>2]|0;d=c[45905]|0;if(d>>>0>=(c[45906]|0)>>>0){Uw(183616,1)|0;d=c[45905]|0}a[d>>0]=0;d=c[45904]|0;c[45905]=d;rx(b,e,d)|0}Ax(b,66649,c[(c[45920]|0)+8236>>2]|0,191979)|0;d=0;while(1){if((d|0)==8)break;Xw(183552+(d<<4)|0);d=d+1|0}D_(c[45920]|0);h[1]=1.0;h[5]=1.0;c[45921]=0;c[45925]=0;return}function Rb(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=C_(8240)|0;c[45920]=i;a:do switch(g|0){case 6:{b[i+8232>>1]=14;g=66665;break}case 5:{b[i+8232>>1]=12;g=66669;break}default:{g=xx(d,66649)|0;if((g|0?a[g>>0]|0:0)?(h=Sb(g)|0,(h&65535)>10):0){i=c[45920]|0;b[i+8232>>1]=h;break a}g=Sb(66661)|0;i=c[45920]|0;b[i+8232>>1]=g;g=66661}}while(0);c[i+8236>>2]=g;j=d+16|0;g=c[j>>2]|0;if(!(c[g+180>>2]|0))h=0;else{h=LM(d,0,96782,191979)|0;i=c[45920]|0;g=c[j>>2]|0}c[i>>2]=h;if(!(a[g+113>>0]&8))g=0;else g=LM(d,0,66673,191979)|0;c[(c[45920]|0)+4>>2]=g;i=LM(d,1,96782,191979)|0;c[(c[45920]|0)+8>>2]=i;i=LM(d,1,66673,191979)|0;c[(c[45920]|0)+12>>2]=i;i=LM(d,2,96782,191979)|0;g=c[45920]|0;c[g+16>>2]=i;if(!f)h=0;else{h=LM(d,2,66681,191979)|0;g=c[45920]|0}c[g+20>>2]=h;if(!e)h=0;else{h=LM(d,2,66689,191979)|0;g=c[45920]|0}c[g+24>>2]=h;h=a[(c[j>>2]|0)+113>>0]|0;if(!(h&33))i=0;else{i=LM(d,2,66673,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+28>>2]=i;if(!(h&2))i=0;else{i=LM(d,2,66697,191979)|0;g=c[45920]|0;h=a[(c[j>>2]|0)+113>>0]|0}c[g+32>>2]=i;if(!(h&4))h=0;else{h=LM(d,2,66706,191979)|0;g=c[45920]|0}c[g+36>>2]=h;g=0;while(1){if((g|0)==8)break;Tw(183552+(g<<4)|0,1024,(c[45920]|0)+40+(g<<10)|0);g=g+1|0}return}function Sb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+1040|0;h=j;g=j+8|0;f=0;d=b;a:while(1){do{e=d;d=d+1|0;e=a[e>>0]|0;if(!(e<<24>>24))break a}while(((e<<24>>24)+-48|0)>>>0>=10);if((f|0)>=1023){i=7;break}a[g+f>>0]=e;f=f+1|0}if((i|0)==7){c[h>>2]=b;Pw(0,66715,h)|0}a[g+f>>0]=0;i=(a2(g)|0)&65535;l=j;return i|0}function Tb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[45920]>>2]|0;b=c[45893]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0;if(c[(c[e+16>>2]|0)+12>>2]|0){d=c[(c[45920]|0)+4>>2]|0;b=c[45909]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[2]=1.0;h[6]=1.0;c[45922]=0;c[45926]=0;return}function Ub(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+8>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+12>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}h[9]=1.0;h[11]=1.0;c[45929]=0;c[45931]=0;return}function Vb(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[45893]|0;if((c[45892]|0)!=(b|0)){d=c[(c[45920]|0)+16>>2]|0;if(b>>>0>=(c[45894]|0)>>>0){Uw(183568,1)|0;b=c[45893]|0}a[b>>0]=0;b=c[45892]|0;c[45893]=b;rx(e,d,b)|0}b=c[45897]|0;if((c[45896]|0)!=(b|0)){d=c[(c[45920]|0)+24>>2]|0;if(b>>>0>=(c[45898]|0)>>>0){Uw(183584,1)|0;b=c[45897]|0}a[b>>0]=0;b=c[45896]|0;c[45897]=b;rx(e,d,b)|0}b=c[45901]|0;if((c[45900]|0)!=(b|0)){d=c[(c[45920]|0)+20>>2]|0;if(b>>>0>=(c[45902]|0)>>>0){Uw(183600,1)|0;b=c[45901]|0}a[b>>0]=0;b=c[45900]|0;c[45901]=b;rx(e,d,b)|0}b=c[45909]|0;if((c[45908]|0)!=(b|0)){d=c[(c[45920]|0)+28>>2]|0;if(b>>>0>=(c[45910]|0)>>>0){Uw(183632,1)|0;b=c[45909]|0}a[b>>0]=0;b=c[45908]|0;c[45909]=b;rx(e,d,b)|0}b=c[45913]|0;if((c[45912]|0)!=(b|0)){d=c[(c[45920]|0)+36>>2]|0;if(b>>>0>=(c[45914]|0)>>>0){Uw(183648,1)|0;b=c[45913]|0}a[b>>0]=0;b=c[45912]|0;c[45913]=b;rx(e,d,b)|0}b=c[45917]|0;if((c[45916]|0)!=(b|0)){d=c[(c[45920]|0)+32>>2]|0;if(b>>>0>=(c[45918]|0)>>>0){Uw(183664,1)|0;b=c[45917]|0}a[b>>0]=0;b=c[45916]|0;c[45917]=b;rx(e,d,b)|0}h[10]=1.0;h[12]=1.0;h[3]=1.0;h[4]=1.0;h[7]=1.0;h[8]=1.0;c[45930]=0;c[45932]=0;c[45923]=0;c[45924]=0;c[45927]=0;c[45928]=0;return}function Wb(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+1056|0;j=t+16|0;s=t+8|0;r=t;k=t+32|0;o=c[(c[d+16>>2]|0)+12>>2]|0;p=c[11416+(o<<2)>>2]|0;Ww(p,66812)|0;g=f+4|0;dc(k,+h[(c[g>>2]|0)+16>>3]);Ww(p,k)|0;gc(d,191979,c[c[g>>2]>>2]|0);ac(d);q=a[f+48>>0]|0;q=q<<24>>24==108?-1:q<<24>>24==114&1;g=c[g>>2]|0;if(!g)g=0;else g=c[g+24>>2]&127;i=b[(c[45920]|0)+8232>>1]|0;if((i&65535)>14?(m=c[11464+((i&65535)+-15<<2)>>2]&g,n=183684+(o<<2)|0,(c[n>>2]|0)!=(m|0)):0){c[r>>2]=m;Y0(k,66815,r)|0;Ww(p,k)|0;c[n>>2]=m}r=e+8|0;h[r>>3]=+h[r>>3]+ +h[f+24>>3];Ww(p,66821)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];cc(p,j);c[s>>2]=q;Y0(k,99194,s)|0;Ww(p,k)|0;dc(k,+h[f+32>>3]);Ww(p,k)|0;gc(d,191979,c[f>>2]|0);l=t;return}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+1040|0;f=i;g=i+16|0;e=c[(c[a+16>>2]|0)+12>>2]|0;$b(a);ac(a);if(!d){a=c[11416+(e<<2)>>2]|0;Ww(a,66809)|0}else{if((d|1|0)==3)ic(a,d,b,2);else jc(a);a=c[11416+(e<<2)>>2]|0;Ww(a,66806)|0};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];cc(a,f);dc(g,+h[b+16>>3]-+h[b>>3]);Ww(a,g)|0;dc(g,+h[b+24>>3]-+h[b+8>>3]);Ww(a,g)|0;l=i;return}function Yb(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;$b(a);ac(a);if(!d)bc(a,112,b,c);else{if((d|1|0)==3)ic(a,d,b,c);else jc(a);bc(a,80,b,c)}return}function Zb(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$b(a);ac(a);if(!f)bc(a,66,b,c);else{if((f|1|0)==3)ic(a,f,b,c);else jc(a);bc(a,98,b,c)}return}function _b(a,b,c){a=a|0;b=b|0;c=c|0;$b(a);ac(a);bc(a,76,b,c);return}function $b(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+1184|0;i=n;f=n+24|0;m=n+8|0;Tw(m,1024,n+152|0);j=b+16|0;d=c[j>>2]|0;g=+h[d+152>>3];e=8+(c[d+12>>2]<<3)|0;if(g!=+h[e>>3]){h[e>>3]=g;Ww(m,66778)|0;h[i>>3]=+h[(c[j>>2]|0)+152>>3];Y0(f,66792,i)|0;ec(f,0);Ww(m,f)|0;f=m+4|0;d=c[f>>2]|0;e=m+8|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=41;d=c[f>>2]|0;if(d>>>0>=(c[e>>2]|0)>>>0){Uw(m,1)|0;d=c[f>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[f>>2]=d;gc(b,66797,d);d=c[j>>2]|0}d=c[d+160>>2]|0;if(d|0){j=m+4|0;k=m+8|0;a:while(1){i=d+4|0;d=c[d>>2]|0;if(!d)break;switch(a[d>>0]|0){case 102:{if(!(b$(d,108075)|0)){d=i;continue a}break}case 98:{if(!(b$(d,108057)|0)){d=i;continue a}break}case 115:{if(!(b$(d,108062)|0)){d=i;continue a}break}default:{}}Ww(m,d)|0;do{f=d;d=d+1|0}while((a[f>>0]|0)!=0);if(a[d>>0]|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=40;f=0;while(1){if(!(a[d>>0]|0))break;if(f|0){e=c[j>>2]|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;e=c[j>>2]|0}c[j>>2]=e+1;a[e>>0]=44}Ww(m,d)|0;do{e=d;d=d+1|0}while((a[e>>0]|0)!=0);f=f+1|0}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=41}d=c[j>>2]|0;if(d>>>0>=(c[k>>2]|0)>>>0){Uw(m,1)|0;d=c[j>>2]|0}a[d>>0]=0;d=c[m>>2]|0;c[j>>2]=d;gc(b,66797,d);d=i}Xw(m)}l=n;return}function ac(a){a=a|0;fc((c[a+16>>2]|0)+16|0);gc(a,75730,190678);return}function bc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+1040|0;j=k;i=k+16|0;h=c[11416+(c[(c[b+16>>2]|0)+12>>2]<<2)>>2]|0;g=h+4|0;b=c[g>>2]|0;if(b>>>0>=(c[h+8>>2]|0)>>>0){Uw(h,1)|0;b=c[g>>2]|0}c[g>>2]=b+1;a[b>>0]=d;c[j>>2]=f;Y0(i,66742,j)|0;Ww(h,i)|0;b=0;while(1){if((b|0)>=(f|0))break;i=e+(b<<4)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];cc(h,j);b=b+1|0}l=k;return}function cc(a,b){a=a|0;b=b|0;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,+h[b>>3]);Ww(a,d)|0;dc(d,+gI(+h[b+8>>3]));Ww(a,d)|0;l=c;return}function dc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+16|0;d=c;h[d>>3]=b>-1.0e-08&b<1.0e-08?0.0:b;Y0(a,66747,d)|0;ec(a,1);l=c;return}function ec(b,c){b=b|0;c=c|0;var d=0,e=0;d=A$(b,46)|0;if(!d){if(c|0){d=b+(W_(b)|0)|0;e=10}}else{while(1){b=d+1|0;if(!(a[b>>0]|0))break;else d=b}a:while(1){switch(a[d>>0]|0){case 46:{e=5;break a}case 48:break;default:{e=6;break a}}a[d>>0]=0;d=d+-1|0}if((e|0)==5)a[d>>0]=0;else if((e|0)==6)d=d+1|0;if(c|0)e=10}if((e|0)==10){a[d>>0]=32;a[d+1>>0]=0}return}function fc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j;e=a[b+3>>0]|0;f=d[b>>0]|0;g=d[b+1>>0]|0;b=d[b+2>>0]|0;if(e<<24>>24==-1){c[h>>2]=f;c[h+4>>2]=g;c[h+8>>2]=b;Y0(190678,75610,h)|0}else{c[i>>2]=f;c[i+4>>2]=g;c[i+8>>2]=b;c[i+12>>2]=e&255;Y0(190678,66760,i)|0}l=j;return}function gc(a,b,d){a=a|0;b=b|0;d=d|0;hc(c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0,b,d);return}function hc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+1040|0;h=f;g=f+8|0;i=W_(e)|0;c[h>>2]=d;c[h+4>>2]=i;Y0(g,66753,h)|0;Ww(b,g)|0;Ww(b,e)|0;e=b+4|0;d=c[e>>2]|0;if(d>>>0>=(c[b+8>>2]|0)>>>0){Uw(b,1)|0;d=c[e>>2]|0}c[e>>2]=d+1;a[d>>0]=32;l=f;return}function ic(b,d,f,i){b=b|0;d=d|0;f=f|0;i=i|0;var j=0.0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+1120|0;t=x+64|0;w=x+80|0;k=x+32|0;r=x+16|0;s=x;u=c[b+16>>2]|0;j=+(c[u+136>>2]|0)*.017453292519943295;if((e[(c[45920]|0)+8232>>1]|0)<14)jc(b);else{Tw(w,1024,x+96|0);v=(d|0)==2;if(v){aN(f,k,i,j,2);f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=91;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];cc(w,t);s=k+16|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];cc(w,t)}else{aN(f,k,i,0.0,3);q=+h[k+24>>3];o=+h[k>>3];if(j==0.0){n=+h[k+8>>3];p=q*.25;j=n;m=o}else{p=q*.25;y=p;m=+E(+j)*y+o;n=+h[k+8>>3];j=+F(+j)*y+n}h[r>>3]=m;h[r+8>>3]=j;h[s>>3]=o;h[s+8>>3]=n;f=w+4|0;d=c[f>>2]|0;if(d>>>0>=(c[w+8>>2]|0)>>>0){Uw(w,1)|0;d=c[f>>2]|0}c[f>>2]=d+1;a[d>>0]=40;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];cc(w,t);kc(w,p);c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];cc(w,t);kc(w,q)}Ww(w,66803)|0;d=u+140|0;j=+g[d>>2];f=u+56|0;if(j>0.0){lc(w,j,f);lc(w,+g[d>>2],u+96|0)}else{lc(w,0.0,f);lc(w,1.0,u+96|0)}Yw(w)|0;k=w+4|0;d=c[k>>2]|0;i=w+8|0;f=d>>>0>=(c[i>>2]|0)>>>0;if(v){if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=93}else{if(f){Uw(w,1)|0;d=c[k>>2]|0}c[k>>2]=d+1;a[d>>0]=41}d=c[k>>2]|0;if(d>>>0>=(c[i>>2]|0)>>>0){Uw(w,1)|0;d=c[k>>2]|0}a[d>>0]=0;v=c[w>>2]|0;c[k>>2]=v;gc(b,66800,v);Xw(w)}l=x;return}function jc(a){a=a|0;fc((c[a+16>>2]|0)+56|0);gc(a,66800,190678);return}function kc(a,b){a=a|0;b=+b;var c=0,d=0;c=l;l=l+1024|0;d=c;dc(d,b);Ww(a,d)|0;l=c;return}function lc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;h[f>>3]=b;Y0(e,92597,f)|0;ec(e,1);fc(c);hc(a,e,190678);l=d;return}function mc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0;e=l;l=l+1040|0;i=e;f=e+16|0;g=c[11416+(c[(c[a+16>>2]|0)+12>>2]<<2)>>2]|0;Ww(g,66909)|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];cc(g,i);dc(f,+h[d+16>>3]-+h[d>>3]);Ww(g,f)|0;dc(f,+h[d+24>>3]-+h[d+8>>3]);Ww(g,f)|0;gc(a,191979,c[b+8>>2]|0);l=e;return}function nc(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=lC(c[a>>2]|0)|0;$C(b,c[(c[a+16>>2]|0)+8>>2]|0,67693,0)|0;mC(b);break}case 1:{uI(c[(c[a>>2]|0)+168>>2]|0);break}default:{}}return}function oc(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=c[(c[b+16>>2]|0)+8>>2]|0;if(!(c[45933]|0)){c[45933]=c[4652];c[45934]=57;c[45935]=19}c[(c[e+64>>2]|0)+8>>2]=183732;pc(e,1);c[d>>2]=0;a[d+4>>0]=(a[(c[e+16>>2]|0)+115>>0]|0)==1&1;g=c[b+64>>2]|0;a[d+5>>0]=((g|0)==0|(g|0)==3)&1;a[d+6>>0]=0;qc(e,b,1,d);l=f;return}function pc(a,b){a=a|0;b=b|0;var d=0;c[a>>2]=c[a>>2]&-9;d=wA(a)|0;while(1){if(!d)break;pc(d,0);d=xA(d)|0}a:do if(b|0){b=Sy(a)|0;while(1){if(!b)break a;c[b>>2]=c[b>>2]&-9;d=Ex(a,b)|0;while(1){if(!d)break;c[d>>2]=c[d>>2]&-9;d=Gx(a,d)|0}b=Ty(a,b)|0}}while(0);return}function qc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q+8|0;o=q;n=(d|0)!=0;if(n){m=Cw(11836,c[4555]|0)|0;Fz(a,1,137978,12,0);Fz(a,2,137978,12,0);Fz(a,0,137978,-12,0);f=rc(a,0,m)|0;j=Sy(a)|0;i=0;g=0;while(1){if(!j)break;if(!(z$(ry(j)|0,104980,7)|0)){k=g;g=sc(m,ry(j)|0)|0}else{k=g+1|0;g=g+f|0}c[(yz(j,137978,0)|0)+8>>2]=g;h=Ex(a,j)|0;g=i;while(1){if(!h)break;c[(yz(h,137978,0)|0)+8>>2]=g;h=Gx(a,h)|0;g=g+1|0}j=Ty(a,j)|0;i=g;g=k}yw(m)|0}else f=0;m=c[e>>2]|0;c[e>>2]=m+1;tc(b,m);$B(b,94292)|0;uc(a,b,d,e);vc(a,b,e);$B(b,94263)|0;tc(b,c[e>>2]|0);if(n){c[o>>2]=f;fC(b,66912,o)}else{c[p>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66932,p)}xc(a,b,d,wc(a,b,d,e)|0,e);yc(a,b,d,e);$B(b,150517)|0;p=(c[e>>2]|0)+-1|0;c[e>>2]=p;tc(b,p);if(n)$B(b,107982)|0;else $B(b,75253)|0;l=q;return}function rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((fz(a)|0)!=(a|0)){e=b+1|0;c[(yz(a,137978,0)|0)+8>>2]=b;if(!(z$(ry(a)|0,104980,7)|0)){b=ry(a)|0;Kc(d,b,c[(yz(a,137978,0)|0)+8>>2]|0);b=e}else b=e}e=wA(a)|0;while(1){if(!e)break;a=rc(e,b,d)|0;e=xA(e)|0;b=a}return b|0}function sc(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=-1;else a=c[a+12>>2]|0;return a|0}function tc(a,b){a=a|0;b=b|0;while(1){if((b|0)<=0)break;$B(a,90480)|0;b=b+-1|0}return}function uc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;g=h+16|0;f=h+8|0;i=h;j=ry(a)|0;tc(b,c[e>>2]|0);c[i>>2]=Bc(j,e)|0;fC(b,67020,i);if(d|0){$B(b,94263)|0;tc(b,c[e>>2]|0);j=(ey(a)|0)!=0;c[f>>2]=j?104626:134226;fC(b,67634,f);tc(b,c[e>>2]|0);j=(gy(a)|0)!=0;c[g>>2]=j?104626:134226;fC(b,67651,g)}l=h;return}function vc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;m=o;i=fz(b)|0;j=c[b>>2]&3;f=sx(i,j,0)|0;a:do if(f|0){k=e+5|0;while(1){if(!f)break a;g=yx(b,f)|0;do if(g|0){h=f+8|0;if(!(a[g>>0]|0)){g=c[h>>2]|0;if((a[g>>0]|0)!=108)break;if(b$(g,105198)|0)break}$B(d,94263)|0;tc(d,c[e>>2]|0);c[m>>2]=Bc(c[h>>2]|0,e)|0;fC(d,67070,m);if(a[k>>0]|0?Dc(c[h>>2]|0)|0:0){Ec(yx(b,f)|0,d,e);break}c[n>>2]=Bc(yx(b,f)|0,e)|0;fC(d,67077,n)}while(0);f=sx(i,j,f)|0}}while(0);l=o;return}function wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;f=wA(a)|0;if(f){$B(b,94263)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(b,g);g=(d|0)!=0;if(g){$B(b,66994)|0;a=0;d=f}else{$B(b,67054)|0;tc(b,c[e>>2]|0);a=0;d=f}while(1){if(!d)break;if(!a)a=1;else $B(b,94263)|0;if(g)Cc(d,b,e);else{c[h>>2]=c[(yz(d,137978,0)|0)+8>>2];fC(b,134313,h)}d=xA(d)|0}if(g)a=1;else{c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0;a=1}}else a=0;l=i;return a|0}function xc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=Sy(a)|0;if(!g){if((d|0)!=0&(e|0)!=0){c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}}else{$B(b,94263)|0;h=(d|0)!=0;if(h)if(!e){e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,66994)|0;e=0}else e=0;else{e=c[f>>2]|0;c[f>>2]=e+1;tc(b,e);$B(b,67008)|0;tc(b,c[f>>2]|0);e=0}while(1){if(!g)break;if(z$(ry(g)|0,104980,7)|0){do if(e)if(h){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else e=1;while(0);Ac(g,b,d,f)}g=Ty(a,g)|0}c[f>>2]=(c[f>>2]|0)+-1;$B(b,150517)|0;tc(b,c[f>>2]|0);$B(b,94258)|0}return}function yc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=Sy(a)|0;a:do if(f|0){while(1){if(!f)break a;if(Ex(a,f)|0)break;f=Ty(a,f)|0}$B(b,94263)|0;i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,66944)|0;i=(d|0)!=0;if(i)g=0;else{tc(b,c[e>>2]|0);g=0}while(1){if(!f)break;h=Ex(a,f)|0;while(1){if(!h)break;do if(g)if(i){$B(b,94263)|0;break}else{$B(b,97973)|0;break}else g=1;while(0);zc(h,b,d,e);h=Gx(a,h)|0}f=Ty(a,f)|0}c[e>>2]=(c[e>>2]|0)+-1;$B(b,150517)|0;tc(b,c[e>>2]|0);$B(b,94258)|0}while(0);return}function zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;h=j+16|0;g=j+8|0;f=j;if(!d){c[i>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,i)}else{i=c[e>>2]|0;c[e>>2]=i+1;tc(b,i);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=c[(yz(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66970,g);tc(b,c[e>>2]|0);c[h>>2]=c[(yz(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0,137978,0)|0)+8>>2];fC(b,66983,h);vc(a,b,e);$B(b,150517)|0;i=(c[e>>2]|0)+-1|0;c[e>>2]=i;tc(b,i);$B(b,75253)|0}l=j;return}function Ac(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;g=i+8|0;f=i;if(!d){c[h>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,134313,h)}else{h=c[e>>2]|0;c[e>>2]=h+1;tc(b,h);$B(b,94292)|0;tc(b,c[e>>2]|0);c[f>>2]=c[(yz(a,137978,0)|0)+8>>2];fC(b,66956,f);tc(b,c[e>>2]|0);c[g>>2]=Bc(ry(a)|0,e)|0;fC(b,67020,g);vc(a,b,e);$B(b,150517)|0;h=(c[e>>2]|0)+-1|0;c[e>>2]=h;tc(b,h);$B(b,75253)|0}l=i;return}function Bc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=RM(b)|0;if(!(c[45936]|0)){Tw(183744,1024,0);e=b}else e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:break a;case 34:{Ww(183744,67033)|0;break}case 92:{Ww(183744,93534)|0;break}case 47:{Ww(183744,67036)|0;break}case 8:{Ww(183744,67039)|0;break}case 12:{Ww(183744,67042)|0;break}case 10:{Ww(183744,67045)|0;break}case 13:{Ww(183744,67048)|0;break}case 9:{Ww(183744,67051)|0;break}default:{d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}c[45937]=d+1;a[d>>0]=f}}e=e+1|0}d=c[45937]|0;if(d>>>0>=(c[45938]|0)>>>0){Uw(183744,1)|0;d=c[45937]|0}a[d>>0]=0;d=c[45936]|0;c[45937]=d;if(a[g>>0]|0)D_(b);return d|0}function Cc(a,b,c){a=a|0;b=b|0;c=c|0;qc(a,b,0,c);a=wA(a)|0;while(1){if(!a)break;$B(b,94263)|0;Cc(a,b,c);a=xA(a)|0}return}function Dc(b){b=b|0;var c=0;c=b+1|0;a:do if((a[b>>0]|0)==95){b=(a[c>>0]|0)+-100<<24>>24;switch(((b&255)>>>2|b<<6&255)<<24>>24){case 0:{if(!(b$(c,67591)|0)){b=1;break a}break}case 2:{if(!(b$(c,67597)|0)){b=1;break a}break}case 1:{if(!(b$(c,67604)|0)){b=1;break a}return (b$(c,67618)|0)==0|0}case 4:{if(!(b$(c,67611)|0)){b=1;break a}b=(b$(c,67626)|0)==0&1;break a}default:{b=0;break a}}b=0}else b=0;while(0);return b|0}function Ec(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i;do if(b|0?a[b>>0]|0:0){h=oE(b)|0;if(!h){c[f>>2]=b;Pw(0,67082,f)|0;break}$B(d,150517)|0;g=c[e>>2]|0;c[e>>2]=g+1;tc(d,g);$B(d,67109)|0;g=h+8|0;b=0;f=0;while(1){if((f|0)>=(c[h>>2]|0))break;if(!b)b=1;else $B(d,94263)|0;Fc((c[g>>2]|0)+(f*80|0)|0,d,e);f=f+1|0}c[e>>2]=(c[e>>2]|0)+-1;$B(d,150517)|0;tc(d,c[e>>2]|0);$B(d,94258)|0;pE(h)}while(0);l=i;return}function Fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;A=l;l=l+240|0;y=A+224|0;x=A+216|0;w=A+208|0;v=A+200|0;u=A+192|0;t=A+184|0;s=A+176|0;r=A+152|0;q=A+136|0;p=A+128|0;o=A+112|0;n=A+104|0;m=A+96|0;k=A+88|0;j=A+72|0;i=A+48|0;z=A+40|0;g=A+8|0;f=A;e=c[d>>2]|0;c[d>>2]=e+1;tc(b,e);$B(b,94292)|0;tc(b,c[d>>2]|0);e=c[a>>2]|0;a:do switch(e|0){case 1:case 0:{c[f>>2]=(e|0)==0?69:101;fC(b,67112,f);tc(b,c[d>>2]|0);D=+h[a+16>>3];C=+h[a+24>>3];B=+h[a+32>>3];h[g>>3]=+h[a+8>>3];h[g+8>>3]=D;h[g+16>>3]=C;h[g+24>>3]=B;fC(b,67125,g);break}case 3:case 2:{c[z>>2]=(e|0)==2?80:112;fC(b,67112,z);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 5:case 4:{c[i>>2]=(e|0)==4?66:98;fC(b,67112,i);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 6:{fC(b,67160,A+56|0);tc(b,c[d>>2]|0);Gc(b,a+8|0);break}case 7:{fC(b,67172,A+64|0);tc(b,c[d>>2]|0);D=+h[a+16>>3];h[j>>3]=+h[a+8>>3];h[j+8>>3]=D;fC(b,67184,j);tc(b,c[d>>2]|0);z=c[a+24>>2]|0;c[k>>2]=(z|0)==0?108:(z|0)==1?99:114;fC(b,67206,k);tc(b,c[d>>2]|0);h[m>>3]=+h[a+32>>3];fC(b,67222,m);tc(b,c[d>>2]|0);c[n>>2]=Bc(c[a+40>>2]|0,d)|0;fC(b,67239,n);break}case 9:case 8:{c[o>>2]=(e|0)==8?67:99;fC(b,67112,o);tc(b,c[d>>2]|0);fC(b,67253,A+120|0);tc(b,c[d>>2]|0);c[p>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67270,p);break}case 13:case 14:{c[q>>2]=(e|0)==13?67:99;fC(b,67112,q);tc(b,c[d>>2]|0);switch(c[a+8>>2]|0){case 0:{fC(b,67253,A+144|0);tc(b,c[d>>2]|0);c[r>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67270,r);break a}case 1:{fC(b,67285,A+160|0);tc(b,c[d>>2]|0);Hc(b,a+16|0,d);break a}default:{fC(b,67304,A+168|0);tc(b,c[d>>2]|0);Ic(b,a+16|0,d);break a}}}case 10:{fC(b,67323,s);tc(b,c[d>>2]|0);h[t>>3]=+h[a+8>>3];fC(b,67335,t);tc(b,c[d>>2]|0);c[u>>2]=Bc(c[a+16>>2]|0,d)|0;fC(b,67351,u);break}case 11:{fC(b,67365,v);tc(b,c[d>>2]|0);c[w>>2]=Bc(c[a+8>>2]|0,d)|0;fC(b,67377,w);break}case 15:{fC(b,67392,x);tc(b,c[d>>2]|0);c[y>>2]=c[a+8>>2];fC(b,67404,y);break}default:{}}while(0);z=(c[d>>2]|0)+-1|0;c[d>>2]=z;tc(b,z);$B(b,75253)|0;l=A;return}function Gc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+48|0;i=j+32|0;g=j+16|0;f=j+8|0;e=c[b>>2]|0;d=c[b+4>>2]|0;fC(a,67565,j);b=0;while(1){if((b|0)>=(e|0))break;if((b|0)>0)fC(a,97973,f);k=+h[d+(b*24|0)+8>>3];h[g>>3]=+h[d+(b*24|0)>>3];h[g+8>>3]=k;fC(a,67577,g);b=b+1|0}fC(a,67518,i);l=j;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0;e=l;l=l+32|0;f=e+16|0;i=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=g;fC(a,67521,i);tc(a,c[d>>2]|0);g=+h[b+24>>3];h[f>>3]=+h[b+16>>3];h[f+8>>3]=g;fC(a,67543,f);tc(a,c[d>>2]|0);Jc(a,c[b+32>>2]|0,c[b+36>>2]|0,d);l=e;return}function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=l;l=l+48|0;f=e+24|0;j=e;tc(a,c[d>>2]|0);g=+h[b+8>>3];i=+h[b+16>>3];h[j>>3]=+h[b>>3];h[j+8>>3]=g;h[j+16>>3]=i;fC(a,67420,j);tc(a,c[d>>2]|0);i=+h[b+32>>3];g=+h[b+40>>3];h[f>>3]=+h[b+24>>3];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,67448,f);tc(a,c[d>>2]|0);Jc(a,c[b+48>>2]|0,c[b+52>>2]|0,d);l=e;return}function Jc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+32|0;j=m+16|0;i=m+8|0;fC(a,67476,m);f=0;while(1){if((f|0)>=(b|0))break;if((f|0)>0)fC(a,97973,i);o=+g[d+(f<<3)>>2];n=Bc(c[d+(f<<3)+4>>2]|0,e)|0;h[j>>3]=o;c[j+8>>2]=n;fC(a,67487,j);f=f+1|0}fC(a,67518,k);l=m;return}function Kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;e=nb[c[a>>2]&63](a,b,512)|0;if(e){if((c[e+12>>2]|0)!=(d|0)){c[f>>2]=b;Pw(0,67664,f)|0}}else{f=E_(1,16)|0;c[f+8>>2]=n1(b)|0;c[f+12>>2]=d;nb[c[a>>2]&63](a,f,1)|0}l=g;return}function Lc(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+8>>2]|0);D_(b);return}function Mc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function Nc(a){a=a|0;$B(a,68500)|0;return}function Oc(a){a=a|0;c[45940]=2;return}function Pc(a){a=a|0;c[45940]=1;return}function Qc(a){a=a|0;c[45940]=2;return}function Rc(a){a=a|0;c[45940]=0;return}function Sc(a){a=a|0;c[45940]=2;return}function Tc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;p=l;l=l+80|0;o=p;m=c[(c[b+16>>2]|0)+16>>2]|0;n=c[45940]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;j=c[e>>2]|0;k=g*.3333333333333333*+((W_(j)|0)>>>0);f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;s=a[e+48>>0]|0;r=+h[d>>3];q=+h[d+8>>3];e=bd(j)|0;c[o>>2]=4;c[o+4>>2]=s<<24>>24==108?0:s<<24>>24==114?2:1;c[o+8>>2]=m;c[o+12>>2]=n;c[o+16>>2]=0;c[o+20>>2]=f;h[o+24>>3]=g;h[o+32>>3]=i;c[o+40>>2]=6;h[o+48>>3]=g;h[o+56>>3]=k;c[o+64>>2]=~~(r+(r>=0.0?.5:-.5));c[o+68>>2]=~~(q+(q+-72.0>=0.0?-71.5:-72.5));c[o+72>>2]=e;fC(b,68445,o);l=p;return}function Uc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(ad(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}default:qa(135312,67785,163,67816)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function Vc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45940]|0;_c(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function Wc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45940]|0;_c(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);$c(a,b,d,1);l=f;return}function Xc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;i=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;f=a+16|0;e=c[f>>2]|0;q=~~+h[e+152>>3];r=c[e+16>>2]|0;s=c[45940]|0;if((d|0)<=3)qa(67778,67785,360,67805);t=C_((d*140|0)+140|0)|0;_c(e,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[f>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[i>>2]=~~(E+(E>=0.0?.5:-.5));c[i+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,i)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45940]|0;_c(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);$c(a,b,d,0);l=e;return}function Zc(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function $c(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function ad(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45941]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[187600+(g<<1)>>1]|0)-d|0;n=(b[188112+(g<<1)>>1]|0)-e|0;j=(b[188624+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45941]=k+1;if((k|0)==256)g=i;else{b[187600+(g<<1)>>1]=d;b[188112+(g<<1)>>1]=e;b[188624+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45942]|0;if(!d){c[45943]=64;d=C_(64)|0;c[45942]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45943]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45943]=d;d=F_(c[45942]|0,d)|0;c[45942]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45942]|0}function cd(b){b=b|0;var d=0,e=0,f=0;e=c[b+16>>2]|0;switch(c[b+64>>2]|0){case 0:{$B(b,68116)|0;d=e+208|0;e=c[d>>2]|0;if(e|0?a[e>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,150517)|0}break}case 1:{d=e+208|0;f=c[d>>2]|0;if(f|0?a[f>>0]|0:0){$B(b,68130)|0;$B(b,qH(c[d>>2]|0)|0)|0;$B(b,99578)|0;$B(b,qH(ry(c[e+8>>2]|0)|0)|0)|0;$B(b,150517)|0}break}case 3:{f=qH(ry(c[e+8>>2]|0)|0)|0;$B(b,68139)|0;$B(b,f)|0;$B(b,68149)|0;$B(b,f)|0;$B(b,68104)|0;break}default:{}}return}function dd(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);break}case 3:{fd(a,c[b+264>>2]|0,c[b+272>>2]|0,c[b+268>>2]|0,c[b+208>>2]|0,c[b+228>>2]|0,c[b+244>>2]|0,c[b+212>>2]|0);$B(a,68108)|0;break}default:{}}return}function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2]|0;fd(a,c[g+264>>2]|0,c[g+272>>2]|0,c[g+268>>2]|0,b,d,e,f);return}function fd(b,d,e,f,g,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=l;l=l+128|0;x=y+120|0;u=y+112|0;t=y+96|0;s=y+80|0;r=y+56|0;w=y+48|0;q=y+40|0;v=y+24|0;p=y;a:do if((e|0)!=0&(f|0)!=0){m=f+10|0;if((c[45944]|0)<(f|0)){c[45944]=m;o=F_(c[45945]|0,m<<3)|0;c[45945]=o}else o=c[45945]|0;m=0;while(1){if((m|0)>=(f|0))break;z=+h[e+(m<<4)>>3];c[o+(m<<3)>>2]=~~(z+(z>=0.0?.5:-.5));z=+h[e+(m<<4)+8>>3];c[o+(m<<3)+4>>2]=~~(z+(z>=0.0?.5:-.5));m=m+1|0}n=b+64|0;m=c[n>>2]|0;e=(g|0)!=0;if(e&(m|0)==0){if(!(a[g>>0]|0))break;switch(d|0){case 0:{v=c[o>>2]|0;w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[p>>2]=g;c[p+4>>2]=v;c[p+8>>2]=w;c[p+12>>2]=x;c[p+16>>2]=f;fC(b,67850,p);break a}case 1:{w=c[o>>2]|0;x=c[o+4>>2]|0;f=(c[o+8>>2]|0)-w|0;c[v>>2]=g;c[v+4>>2]=w;c[v+8>>2]=x;c[v+12>>2]=f;fC(b,67871,v);break a}case 2:{c[q>>2]=g;fC(b,67891,q);m=0;while(1){if((m|0)>=(f|0))break;v=c[45945]|0;x=c[v+(m<<3)+4>>2]|0;c[w>>2]=c[v+(m<<3)>>2];c[w+4>>2]=x;fC(b,67899,w);m=m+1|0}$B(b,150517)|0;break a}default:qa(135312,67906,63,67926)}}if(e&(m|0)==1){if(!(a[g>>0]|0))break;if(!d){w=c[o+12>>2]|0;x=c[o+8>>2]|0;f=c[o+4>>2]|0;c[r>>2]=c[o>>2];c[r+4>>2]=w;c[r+8>>2]=x;c[r+12>>2]=f;c[r+16>>2]=g;c[r+20>>2]=i;fC(b,67943,r);break}else qa(135312,67906,75,67926)}if((m&-2|0)==2){switch(d|0){case 1:{$B(b,67976)|0;break}case 0:{$B(b,67997)|0;break}case 2:{$B(b,68016)|0;break}default:qa(135312,67906,91,67926)}if(k|0?a[k>>0]|0:0){$B(b,73496)|0;$B(b,tH(k)|0)|0;$B(b,95669)|0}if(e?a[g>>0]|0:0){$B(b,68035)|0;$B(b,tH(g)|0)|0;$B(b,95669)|0}if(j|0?a[j>>0]|0:0){$B(b,74455)|0;$B(b,qH(j)|0)|0;$B(b,95669)|0}if(i|0?a[i>>0]|0:0){$B(b,68043)|0;$B(b,qH(i)|0)|0;$B(b,95669)|0}$B(b,68052)|0;$B(b,68060)|0;b:do switch(d|0){case 1:{f=c[45945]|0;w=c[f>>2]|0;x=c[f+4>>2]|0;f=(c[f+8>>2]|0)-w|0;c[s>>2]=w;c[s+4>>2]=x;c[s+8>>2]=f;fC(b,68070,s);break}case 0:{v=c[45945]|0;w=c[v+12>>2]|0;x=c[v+8>>2]|0;f=c[v+4>>2]|0;c[t>>2]=c[v>>2];c[t+4>>2]=w;c[t+8>>2]=x;c[t+12>>2]=f;fC(b,68079,t);break}case 2:{w=c[45945]|0;m=c[w+4>>2]|0;c[u>>2]=c[w>>2];c[u+4>>2]=m;fC(b,68091,u);m=1;while(1){if((m|0)>=(f|0))break b;v=c[45945]|0;w=c[v+(m<<3)+4>>2]|0;c[x>>2]=c[v+(m<<3)>>2];c[x+4>>2]=w;fC(b,68097,x);m=m+1|0}}default:{}}while(0);if((c[n>>2]|0)==3){$B(b,73320)|0;break}else{$B(b,68104)|0;break}}}while(0);l=y;return}function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;$B(a,68519)|0;j=c[c[a+12>>2]>>2]|0;i=c[j+4>>2]|0;h=c[j+8>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=i;c[g+8>>2]=h;fC(a,68529,g);c[e>>2]=ry(c[f+8>>2]|0)|0;fC(a,68564,e);c[d>>2]=O(c[a+168>>2]|0,c[a+164>>2]|0)|0;fC(a,68577,d);$B(a,68590)|0;$B(a,68600)|0;$B(a,68608)|0;$B(a,68616)|0;$B(a,68624)|0;$B(a,68632)|0;$B(a,68640)|0;$B(a,68644)|0;$B(a,68649)|0;l=b;return}function hd(a){a=a|0;$B(a,68500)|0;return}function id(a){a=a|0;c[45946]=2;return}function jd(a){a=a|0;c[45946]=1;return}function kd(a){a=a|0;c[45946]=2;return}function ld(a){a=a|0;c[45946]=0;return}function md(a){a=a|0;c[45946]=2;return}function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0,p=0.0,q=0;n=l;l=l+80|0;m=n;j=c[(c[b+16>>2]|0)+16>>2]|0;k=c[45946]|0;f=c[e+4>>2]|0;g=+h[b+352>>3]*+h[f+16>>3];i=c[b+360>>2]|0?1.5707963267948966:0.0;f=c[f+8>>2]|0;if(!f)f=-1;else f=c[f+20>>2]|0;q=a[e+48>>0]|0;p=+h[d>>3];o=+h[d+8>>3];e=xd(c[e>>2]|0)|0;c[m>>2]=4;c[m+4>>2]=q<<24>>24==108?0:q<<24>>24==114?2:1;c[m+8>>2]=j;c[m+12>>2]=k;c[m+16>>2]=0;c[m+20>>2]=f;h[m+24>>3]=g;h[m+32>>3]=i;c[m+40>>2]=4;h[m+48>>3]=0.0;h[m+56>>3]=0.0;c[m+64>>2]=~~(p+(p>=0.0?.5:-.5));c[m+68>>2]=~~(o+(o>=0.0?.5:-.5));c[m+72>>2]=e;fC(b,68445,m);l=n;return}function od(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n;i=n+20|0;m=e+32|0;a:do switch(c[m>>2]|0){case 5:{f=0;while(1){g=c[12724+(f<<2)>>2]|0;if((f|0)==8)break a;h=c[e>>2]|0;if((a[g>>0]|0)==(a[h>>0]|0)?(b$(g,h)|0)==0:0){k=10;break a}f=f+1|0}}case 1:{g=e+1|0;h=e+2|0;f=(wd(i,d[e>>0]|0,d[g>>0]|0,d[h>>0]|0)|0)+32|0;if(!(c[i>>2]|0))k=10;else{o=d[e>>0]|0;i=d[g>>0]|0;k=d[h>>0]|0;c[j>>2]=0;c[j+4>>2]=f;c[j+8>>2]=o;c[j+12>>2]=i;c[j+16>>2]=k;fC(b,68388,j);k=10}break}case 0:{f=0;k=10;break}default:qa(135312,68409,168,68428)}while(0);if((k|0)==10)c[e>>2]=f;c[m>>2]=6;l=n;return}function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0;e=l;l=l+112|0;f=e+8|0;u=e+104|0;t=e;k=c[a+16>>2]|0;s=~~+h[k+152>>3];r=c[k+16>>2]|0;q=c[k+56>>2]|0;p=c[45946]|0;ud(k,u,t);n=+h[b>>3];k=~~(n+(n>=0.0?.5:-.5));m=+h[b+8>>3];j=~~(m+(m>=0.0?.5:-.5));i=+h[b+16>>3];n=i-n;g=+h[b+24>>3];m=g-m;b=c[u>>2]|0;o=+h[t>>3];c[f>>2]=1;c[f+4>>2]=1;c[f+8>>2]=b;c[f+12>>2]=s;c[f+16>>2]=r;c[f+20>>2]=q;c[f+24>>2]=p;c[f+28>>2]=0;c[f+32>>2]=d|0?20:-1;h[f+40>>3]=o;c[f+48>>2]=0;h[f+56>>3]=0.0;c[f+64>>2]=k;c[f+68>>2]=j;c[f+72>>2]=~~(n+(n>=0.0?.5:-.5));c[f+76>>2]=~~(m+(m>=0.0?.5:-.5));c[f+80>>2]=k;c[f+84>>2]=j;c[f+88>>2]=~~(i+(i>=0.0?.5:-.5));c[f+92>>2]=~~(g+(g>=0.0?.5:-.5));fC(a,68323,f);l=e;return}function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;f=l;l=l+96|0;g=f+8|0;o=f+80|0;p=f;q=c[a+16>>2]|0;n=~~+h[q+152>>3];m=c[q+16>>2]|0;k=c[q+56>>2]|0;j=c[45946]|0;ud(q,o,p);o=c[o>>2]|0;i=+h[p>>3];c[g>>2]=2;c[g+4>>2]=3;c[g+8>>2]=o;c[g+12>>2]=n;c[g+16>>2]=m;c[g+20>>2]=k;c[g+24>>2]=j;c[g+28>>2]=0;c[g+32>>2]=e|0?20:-1;h[g+40>>3]=i;c[g+48>>2]=0;c[g+52>>2]=0;c[g+56>>2]=0;c[g+60>>2]=0;c[g+64>>2]=0;c[g+68>>2]=d+1;fC(a,68227,g);vd(a,b,d,1);l=f;return}function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0;C=l;l=l+192|0;B=C+176|0;z=C+168|0;A=C+104|0;y=C+96|0;f=C+88|0;u=C+180|0;v=C+80|0;w=C+16|0;x=C;e=a+16|0;p=c[e>>2]|0;q=~~+h[p+152>>3];r=c[p+16>>2]|0;s=c[45946]|0;t=C_((d*140|0)+140|0)|0;ud(p,u,v);if(!g){o=4;j=0;k=-1}else{o=5;j=c[(c[e>>2]|0)+56>>2]|0;k=20}E=+h[b>>3];n=w+48|0;h[n>>3]=E;D=+h[b+8>>3];h[w+56>>3]=D;c[f>>2]=~~(E+(E>=0.0?.5:-.5));c[f+4>>2]=~~(D+(D>=0.0?.5:-.5));m=x+8|0;e=t+(Y0(t,80995,f)|0)|0;p=1;g=0;while(1){i=g+3|0;if((i|0)>=(d|0))break;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];f=1;while(1){if((f|0)==4){f=1;break}F=f+g|0;h[w+(f<<4)>>3]=+h[b+(F<<4)>>3];h[w+(f<<4)+8>>3]=+h[b+(F<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(x,w,3,+(f|0)*.16666666666666666,0,0);D=+h[x>>3];E=+h[m>>3];c[y>>2]=~~(D+(D>=0.0?.5:-.5));c[y+4>>2]=~~(E+(E>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,y)|0)|0}p=p+6|0;g=i}f=c[u>>2]|0;E=+h[v>>3];c[A>>2]=3;c[A+4>>2]=o;c[A+8>>2]=f;c[A+12>>2]=q;c[A+16>>2]=r;c[A+20>>2]=j;c[A+24>>2]=s;c[A+28>>2]=0;c[A+32>>2]=k;h[A+40>>3]=E;c[A+48>>2]=0;c[A+52>>2]=0;c[A+56>>2]=0;c[A+60>>2]=p;fC(a,68278,A);c[z>>2]=t;fC(a,81002,z);D_(t);f=p+-1|0;e=0;while(1){if((e|0)>=(p|0))break;c[B>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,B);e=e+1|0}$B(a,150517)|0;l=C;return}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0;e=l;l=l+96|0;f=e+8|0;m=e+80|0;n=e;o=c[a+16>>2]|0;k=~~+h[o+152>>3];j=c[o+16>>2]|0;i=c[45946]|0;ud(o,m,n);m=c[m>>2]|0;g=+h[n>>3];c[f>>2]=2;c[f+4>>2]=1;c[f+8>>2]=m;c[f+12>>2]=k;c[f+16>>2]=j;c[f+20>>2]=0;c[f+24>>2]=i;c[f+28>>2]=0;c[f+32>>2]=0;h[f+40>>3]=g;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=d;fC(a,68227,f);vd(a,b,d,0);l=e;return}function td(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,68221,e);l=d;return}function ud(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function vd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function wd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;c[a>>2]=0;k=c[45947]|0;h=195075;g=0;i=-1;while(1){if((g|0)>=(k|0)){l=6;break}m=(b[189136+(g<<1)>>1]|0)-d|0;n=(b[189648+(g<<1)>>1]|0)-e|0;j=(b[190160+(g<<1)>>1]|0)-f|0;j=(O(n,n)|0)+(O(m,m)|0)+(O(j,j)|0)|0;if((j|0)<(h|0))if(!j)break;else{h=j;i=g}g=g+1|0}if((l|0)==6){c[45947]=k+1;if((k|0)==256)g=i;else{b[189136+(g<<1)>>1]=d;b[189648+(g<<1)>>1]=e;b[190160+(g<<1)>>1]=f;c[a>>2]=1}}return g|0}function xd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45948]|0;if(!d){c[45949]=64;d=C_(64)|0;c[45948]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45949]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45949]=d;d=F_(c[45948]|0,d)|0;c[45948]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45948]|0}function yd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d;$B(a,73228)|0;if((c[a+64>>2]|0)==2)$B(a,73243)|0;else $B(a,150517)|0;g=c[c[a+12>>2]>>2]|0;f=c[g+4>>2]|0;e=c[g+8>>2]|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;c[b+8>>2]=e;fC(a,73254,b);l=d;return}function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+8|0;e=g;$B(a,73182)|0;d=a+64|0;b=a+12|0;if((c[d>>2]|0)!=2){c[e>>2]=c[(c[b>>2]|0)+28>>2];fC(a,73193,e)}if((c[(c[b>>2]|0)+20>>2]|0)==0?(c[d>>2]|0)!=2:0){b=c[a+476>>2]|0;d=c[a+480>>2]|0;e=c[a+484>>2]|0;c[f>>2]=c[a+472>>2];c[f+4>>2]=b;c[f+8>>2]=d;c[f+12>>2]=e;fC(a,69562,f)}$B(a,73208)|0;$B(a,73221)|0;l=g;return}function Ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;j=k+24|0;f=k+8|0;i=k;g=c[b+16>>2]|0;a[190688]=0;e=b+12|0;h=g+8|0;if(!(c[(c[e>>2]|0)+28>>2]|0)){c[i>>2]=ry(c[h>>2]|0)|0;fC(b,69493,i);d=b+64|0;if((c[d>>2]|0)==2)$B(b,69526)|0;else $B(b,69508)|0;do if(!(c[(c[e>>2]|0)+20>>2]|0))if((c[d>>2]|0)==2){n=c[b+460>>2]|0;m=c[b+464>>2]|0;d=c[b+468>>2]|0;c[f>>2]=c[b+456>>2];c[f+4>>2]=n;c[f+8>>2]=m;c[f+12>>2]=d;fC(b,69562,f);break}else{$B(b,69538)|0;break}while(0);$B(b,69592)|0;jJ(b,c[(c[e>>2]|0)+24>>2]|0,13e3);lJ(b);d=c[(c[e>>2]|0)+20>>2]|0;if(d|0){c[i>>2]=c[d>>2];c[i+4>>2]=0;jJ(b,0,i)}}c[45950]=(a[(c[(c[h>>2]|0)+16>>2]|0)+115>>0]|0)==1?1:-1;if(!(a[190688]|0)){$B(b,69612)|0;a[190688]=1}d=c[g+208>>2]|0;if(d|0){c[j>>2]=mJ(d,c[45950]|0)|0;fC(b,69625,j)}l=k;return}function Bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=l;l=l+16|0;f=b;c[f>>2]=d;c[f+4>>2]=e;fC(a,69477,f);l=b;return}function Cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0;s=l;l=l+144|0;r=s+128|0;q=s+112|0;p=s+72|0;o=s+56|0;n=s+40|0;m=s+32|0;e=s+24|0;b=s+8|0;d=s;f=c[a+456>>2]|0;j=c[a+460>>2]|0;g=c[a+464>>2]|0;i=c[a+468>>2]|0;k=a+12|0;t=(c[(c[k>>2]|0)+28>>2]|0)+1|0;c[d>>2]=t;c[d+4>>2]=t;fC(a,69104,d);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[b>>2]=f;c[b+4>>2]=j;c[b+8>>2]=g;c[b+12>>2]=i;fC(a,69121,b)}d=a+360|0;c[e>>2]=c[d>>2]|0?69155:69165;fC(a,69174,e);b=a+64|0;if((c[b>>2]|0)==1){c[m>>2]=g;c[m+4>>2]=i;fC(a,69199,m)}m=c[a+200>>2]|0;t=c[a+204>>2]|0;c[n>>2]=c[a+196>>2];c[n+4>>2]=m;c[n+8>>2]=t;fC(a,69238,n);if(!(c[(c[k>>2]|0)+20>>2]|0)){c[o>>2]=f;c[o+4>>2]=j;c[o+8>>2]=g-f;c[o+12>>2]=i-j;fC(a,69258,o)}w=+h[a+496>>3];t=c[d>>2]|0;v=+h[a+504>>3];u=+h[a+512>>3];h[p>>3]=+h[a+488>>3];h[p+8>>3]=w;c[p+16>>2]=t;h[p+24>>3]=v;h[p+32>>3]=u;fC(a,69298,p);if((c[b>>2]|0)==1){if((g|0)>14399|(i|0)>14399){t=c[(c[k>>2]|0)+16>>2]|0;c[q>>2]=g;c[q+4>>2]=i;c[q+8>>2]=14400;ub[t&63](69341,q)}c[r>>2]=f;c[r+4>>2]=j;c[r+8>>2]=g;c[r+12>>2]=i;fC(a,69436,r)}l=s;return}function Dd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=a+12|0;if(c[(c[b>>2]|0)+20>>2]|0){$B(a,69028)|0;jJ(a,0,(c[(c[b>>2]|0)+20>>2]|0)+4|0)}$B(a,69045)|0;$B(a,69072)|0;c[d>>2]=c[(c[b>>2]|0)+28>>2];fC(a,69087,d);l=e;return}function Ed(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,69021,d);$B(a,69014)|0;l=b;return}function Fd(a){a=a|0;$B(a,84457)|0;return}function Gd(a){a=a|0;$B(a,69014)|0;return}function Hd(a){a=a|0;$B(a,84457)|0;return}function Id(a){a=a|0;$B(a,69014)|0;return}function Jd(a){a=a|0;$B(a,84457)|0;return}function Kd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=l;l=l+16|0;d=e;if(b|0?(g=(c[a+16>>2]|0)+272|0,c[g>>2]|0):0){$B(a,68910)|0;jC(a,c[g>>2]|0,2);$B(a,68921)|0;c[d>>2]=mJ(b,c[45950]|0)|0;fC(a,68925,d)}l=e;return}function Ld(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+8|0;k=m;f=c[b+16>>2]|0;if(!(+h[f+40>>3]<.5)){Sd(b,f+16|0);i=e+4|0;gC(b,+h[(c[i>>2]|0)+16>>3]);c[j>>2]=c[c[i>>2]>>2];fC(b,68869,j);i=mJ(c[e>>2]|0,c[45950]|0)|0;switch(a[e+48>>0]|0){case 114:{n=e+32|0;f=n;g=+h[n>>3];break}case 108:{f=e+32|0;g=0.0;break}default:{n=e+32|0;f=n;g=+h[n>>3]*.5}}h[d>>3]=+h[d>>3]-g;n=d+8|0;h[n>>3]=+h[n>>3]+ +h[e+24>>3];c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];iC(b,j);$B(b,68884)|0;gC(b,+h[f>>3]);c[k>>2]=i;fC(b,68893,k)}l=m;return}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;f=g;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];h[f+16>>3]=+h[b+16>>3]-+h[b>>3];h[f+24>>3]=+h[b+24>>3]-+h[b+8>>3];b=a+16|0;if(d|0?(e=c[b>>2]|0,+h[e+80>>3]>.5):0){Sd(a,e+56|0);jC(a,f,2);$B(a,68827)|0}if(+h[(c[b>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[b>>2]|0)+16|0);jC(a,f,2);$B(a,68847)|0}l=g;return}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;i=j;g=a+16|0;if(e|0?(f=c[g>>2]|0,+h[f+80>>3]>.5):0){Sd(a,f+56|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;f=b+(e<<4)|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68793)|0}if(+h[(c[g>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[g>>2]|0)+16|0);$B(a,68748)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];iC(a,i);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;g=b+(e<<4)|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];iC(a,i);$B(a,68766)|0;e=e+1|0}$B(a,68809)|0}l=j;return}function Od(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0;k=l;l=l+16|0;f=k;i=a+16|0;if(g|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68793)|0}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;jC(a,b+(e<<4)|0,3);$B(a,68783)|0;e=e+3|0}$B(a,68775)|0}l=k;return}function Pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;g=l;l=l+16|0;f=g;e=a+16|0;if(+h[(c[e>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[e>>2]|0)+16|0);$B(a,68748)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];iC(a,f);$B(a,68757)|0;e=1;while(1){if((e|0)>=(d|0))break;i=b+(e<<4)|0;c[f>>2]=c[i>>2];c[f+4>>2]=c[i+4>>2];c[f+8>>2]=c[i+8>>2];c[f+12>>2]=c[i+12>>2];iC(a,f);$B(a,68766)|0;e=e+1|0}$B(a,68775)|0}l=g;return}function Qd(a,b){a=a|0;b=b|0;$B(a,68745)|0;$B(a,b)|0;$B(a,150517)|0;return}function Rd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;m=n+8|0;k=n;i=a+16|0;if(f|0?(j=c[i>>2]|0,+h[j+80>>3]>.5):0){Sd(a,j+56|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];iC(a,g);c[k>>2]=e;c[k+4>>2]=b;fC(a,68662,k)}if(+h[(c[i>>2]|0)+40>>3]>.5){Td(a);Sd(a,(c[i>>2]|0)+16|0);$B(a,84352)|0;jC(a,d,e);$B(a,99578)|0;c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];iC(a,g);c[m>>2]=e;c[m+4>>2]=b;fC(a,68678,m)}l=n;return}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=l;l=l+32|0;e=f;if(b|0){switch(c[(c[a+16>>2]|0)+4>>2]|0){case 1:case 0:{d=108412;break}case 2:{d=108399;break}case 3:{d=108368;break}default:d=68714}i=+h[b+8>>3];g=+h[b+16>>3];h[e>>3]=+h[b>>3];h[e+8>>3]=i;h[e+16>>3]=g;c[e+24>>2]=d;fC(a,68721,e)}l=f;return}function Td(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m+8|0;j=m;g=b+16|0;i=c[g>>2]|0;d=c[i+160>>2]|0;gC(b,+h[i+152>>3]);$B(b,68695)|0;while(1){if(!d)break;i=d+4|0;f=c[d>>2]|0;if(!f)break;if(!(b$(f,108062)|0)){d=i;continue}else e=f;while(1){d=e+1|0;if(!(a[e>>0]|0))break;else e=d}a:while(1){if(!(a[d>>0]|0))break;c[j>>2]=d;fC(b,68710,j);while(1){e=d+1|0;if(!(a[d>>0]|0)){d=e;continue a}else d=e}}if(!(b$(f,131253)|0))h[(c[g>>2]|0)+152>>3]=0.0;c[k>>2]=f;fC(b,93588,k);d=i}l=m;return}function Ud(b){b=b|0;var d=0;$B(b,74734)|0;d=xx(c[(c[b>>2]|0)+168>>2]|0,74790)|0;if(d|0?a[d>>0]|0:0){$B(b,74801)|0;$B(b,d)|0;$B(b,74825)|0}$B(b,74846)|0;$B(b,74894)|0;$B(b,74948)|0;d=b+12|0;$B(b,qH(c[c[c[d>>2]>>2]>>2]|0)|0)|0;$B(b,78077)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+4>>2]|0)|0)|0;$B(b,78087)|0;$B(b,qH(c[(c[c[d>>2]>>2]|0)+8>>2]|0)|0)|0;$B(b,75330)|0;$B(b,75354)|0;return}function Vd(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;i=l;l=l+48|0;g=i+16|0;f=i+8|0;e=i;d=c[b+16>>2]|0;$B(b,74569)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,74574,e);e=c[b+452>>2]|0;c[f>>2]=c[b+448>>2];c[f+4>>2]=e;fC(b,74590,f);m=+h[b+392>>3];k=+h[b+400>>3];j=+h[b+408>>3];h[g>>3]=+h[b+384>>3];h[g+8>>3]=m;h[g+16>>3]=k;h[g+24>>3]=j;fC(b,74623,g);$B(b,74654)|0;$B(b,74690)|0;$B(b,76284)|0;l=i;return}function Wd(a){a=a|0;$B(a,74561)|0;return}function Xd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;se(a,b,0,98484,c[(c[a+16>>2]|0)+8>>2]|0);$B(a,76284)|0;return}function Yd(a){a=a|0;$B(a,74409)|0;return}function Zd(b){b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=c[b+16>>2]|0;d=g+8|0;se(b,c[g+212>>2]|0,0,108412,c[d>>2]|0);$B(b,74513)|0;gC(b,+h[b+488>>3]);$B(b,99578)|0;gC(b,+h[b+496>>3]);c[f>>2]=0-(c[b+360>>2]|0);fC(b,74532,f);gC(b,+h[b+504>>3]);$B(b,99578)|0;gC(b,-+h[b+512>>3]);$B(b,74556)|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,74465)|0;$B(b,qH(ry(c[d>>2]|0)|0)|0)|0;$B(b,74473)|0}l=e;return}function _d(a){a=a|0;$B(a,74409)|0;return}function $d(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,104980,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[b>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ae(a){a=a|0;$B(a,74409)|0;return}function be(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((b|0)>1)b=c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0;else b=0;e=d+8|0;se(a,c[d+212>>2]|0,b,108399,c[e>>2]|0);$B(a,76284)|0;$B(a,74465)|0;$B(a,qH(ry(c[e>>2]|0)|0)|0)|0;$B(a,74473)|0;return}function ce(a){a=a|0;$B(a,74409)|0;return}function de(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;se(a,c[d+212>>2]|0,0,108368,c[b>>2]|0);$B(a,76284)|0;$B(a,74465)|0;b=pH(99069,c[b>>2]|0)|0;$B(a,qH(b)|0)|0;D_(b);$B(a,74473)|0;return}function ee(a){a=a|0;$B(a,74409)|0;return}function fe(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;$B(b,74415)|0;if(f|0){$B(b,74418)|0;$B(b,qH(f)|0)|0;$B(b,95669)|0}$B(b,74308)|0;$B(b,76245)|0;if(c|0?a[c>>0]|0:0){$B(b,74426)|0;$B(b,c)|0;$B(b,95669)|0}if(d|0?a[d>>0]|0:0){$B(b,74440)|0;$B(b,rH(d,1)|0)|0;$B(b,95669)|0}if(e|0?a[e>>0]|0:0){$B(b,74455)|0;$B(b,qH(e)|0)|0;$B(b,95669)|0}$B(b,76284)|0;return}function ge(a){a=a|0;$B(a,76239)|0;$B(a,74409)|0;return}function he(e,f,g){e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+176|0;L=M+160|0;K=M+152|0;F=M+136|0;J=M+128|0;E=M+120|0;D=M+112|0;C=M+104|0;B=M+96|0;A=M+88|0;y=M+80|0;w=M+72|0;v=M+64|0;u=M+56|0;t=M+48|0;i=M+40|0;q=M+32|0;s=M+24|0;r=M+16|0;p=M+8|0;o=M;I=c[e+16>>2]|0;$B(e,73940)|0;switch(a[g+48>>0]|0){case 108:{$B(e,73946)|0;break}case 114:{$B(e,73967)|0;break}default:$B(e,73986)|0}H=f+8|0;G=+h[H>>3]+ +h[g+24>>3];h[H>>3]=G;H=I+260|0;if(!(b[H>>1]&512)){$B(e,74008)|0;gC(e,+h[f>>3]);$B(e,74013)|0;gC(e,-G);$B(e,95669)|0}x=g+4|0;f=c[x>>2]|0;n=c[f+8>>2]|0;if(n){switch(c[(c[(c[(c[e>>2]|0)+168>>2]|0)+16>>2]|0)+244>>2]|0){case 1:{m=n;f=n+16|0;i=n+8|0;break}case 2:{m=n+24|0;f=n+32|0;i=n+28|0;break}default:{m=n+4|0;f=n+16|0;i=n+8|0}}j=c[f>>2]|0;f=c[i>>2]|0;k=c[n+12>>2]|0;c[o>>2]=c[m>>2];fC(e,74019,o);i=c[n+24>>2]|0;if(i|0){c[p>>2]=i;fC(e,74036,p)}$B(e,95669)|0;if(f|0){c[r>>2]=f;fC(e,74040,r)}if(k|0){c[s>>2]=k;fC(e,74058,s)}if(!j)j=0;else{c[q>>2]=j;fC(e,74077,q)}}else{c[i>>2]=c[f>>2];fC(e,74094,i);j=0;f=0}i=c[x>>2]|0;if(i|0?(z=c[i+24>>2]|0,z&127|0):0){if(!((f|0)!=0|(z&1|0)==0))fC(e,74112,t);if(!((j|0)!=0|(z&2|0)==0))fC(e,74132,u);if(z&100|0){fC(e,74153,v);if(!(z&4))f=0;else{fC(e,102960,w);f=1}if(z&64){c[y>>2]=f|0?97973:191979;fC(e,74172,y);f=1}if(z&32|0){c[A>>2]=f|0?97973:191979;fC(e,74183,A)}fC(e,95669,B)}if(z&8|0)fC(e,74198,C);if(z&16|0)fC(e,74222,D)}h[E>>3]=+h[(c[x>>2]|0)+16>>3];fC(e,74244,E);f=I+16|0;switch(c[I+48>>2]|0){case 5:{f=c[f>>2]|0;if(O$(f,134232)|0){c[J>>2]=f;fC(e,74262,J)}break}case 1:{E=d[f+1>>0]|0;J=d[f+2>>0]|0;c[F>>2]=d[f>>0];c[F+4>>2]=E;c[F+8>>2]=J;fC(e,74273,F);break}default:qa(135312,73454,486,74295)}$B(e,74308)|0;if(b[H>>1]&512){c[K>>2]=qH(c[I+212>>2]|0)|0;fC(e,74310,K);$B(e,74359)|0;gC(e,-G);$B(e,74377)|0}$B(e,rH(c[g>>2]|0,1)|0)|0;if(b[H>>1]&512)fC(e,74380,L);$B(e,74400)|0;l=M;return}function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=pe(a,b,2)|0;break}case 3:{d=qe(a)|0;break}default:d=0}$B(a,73904)|0;ne(a,c,d);$B(a,73913)|0;gC(a,+h[b>>3]);$B(a,73919)|0;c=b+8|0;gC(a,-+h[c>>3]);$B(a,73926)|0;gC(a,+h[b+16>>3]-+h[b>>3]);$B(a,73933)|0;gC(a,+h[b+24>>3]-+h[c>>3]);$B(a,73320)|0;return}function je(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:{e=pe(a,b,c)|0;break}case 3:{e=qe(a)|0;break}default:e=0}$B(a,73895)|0;ne(a,d,e);$B(a,73310)|0;e=0;while(1){if((e|0)>=(c|0))break;gC(a,+h[b+(e<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(e<<4)+8>>3]);$B(a,99578)|0;e=e+1|0}gC(a,+h[b>>3]);$B(a,97973)|0;gC(a,-+h[b+8>>3]);$B(a,73320)|0;return}function ke(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;g=c[a+16>>2]|0;switch(h|0){case 2:{f=pe(a,d,e)|0;break}case 3:{f=qe(a)|0;break}default:f=0}$B(a,73490)|0;if(b[g+260>>1]&512){$B(a,73496)|0;$B(a,qH(c[g+212>>2]|0)|0)|0;$B(a,73502)|0}ne(a,h,f);$B(a,73507)|0;re(a,d,e);$B(a,73320)|0;return}function le(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;$B(a,73300)|0;ne(a,0,0);$B(a,73310)|0;d=0;while(1){if((d|0)>=(c|0))break;gC(a,+h[b+(d<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(d<<4)+8>>3]);$B(a,99578)|0;d=d+1|0}$B(a,73320)|0;return}function me(a,b){a=a|0;b=b|0;$B(a,73294)|0;$B(a,qH(b)|0)|0;$B(a,75354)|0;return}function ne(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+96|0;k=q+48|0;p=q+40|0;n=q+32|0;o=q+24|0;j=q+16|0;g=q+8|0;f=q;m=c[b+16>>2]|0;$B(b,73325)|0;a:do switch(d|0){case 2:{c[f>>2]=e;fC(b,73333,f);break}case 3:{c[g>>2]=e;fC(b,73344,g);break}case 0:{$B(b,132627)|0;break}default:{d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:break a;default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,73355,j)}}}while(0);$B(b,73374)|0;e=m+16|0;f=k;g=e;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);d=m+152|0;if(+h[d>>3]!=1.0){$B(b,73385)|0;gC(b,+h[d>>3])}switch(c[m+144>>2]|0){case 1:{c[o>>2]=73425;fC(b,73402,o);break}case 2:{c[n>>2]=73429;fC(b,73402,n);break}default:{}}b:do if((c[m+48>>2]|0)==1){d=a[e+3>>0]|0;switch(d<<24>>24){case -1:case 0:break b;default:{}}h[p>>3]=+(d&255)*.00392156862745098;fC(b,73433,p)}while(0);$B(b,95669)|0;l=q;return}function oe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,134297)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,73454,117,73474)}while(0);l=g;return}function pe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+112|0;o=t+64|0;r=t+56|0;n=t+48|0;m=t+40|0;i=t+32|0;k=t;q=c[45952]|0;c[45952]=q+1;p=c[b+16>>2]|0;f=+(c[p+136>>2]|0)*.017453292519943295;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;aN(d,k,e,f,0);c[o>>2]=q;fC(b,73727,o);$B(b,73792)|0;gC(b,+h[k>>3]);$B(b,73797)|0;gC(b,+h[k+8>>3]);$B(b,73804)|0;gC(b,+h[k+16>>3]);$B(b,73811)|0;gC(b,+h[k+24>>3]);$B(b,73818)|0;k=p+140|0;f=+g[k>>2];if(f>0.0){h[i>>3]=f+-.001;fC(b,73823,i)}else $B(b,73599)|0;d=p+56|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;a:do if((c[p+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=7;break a}default:{}}h[m>>3]=+(d&255)*.00392156862745098;fC(b,96586,m)}else s=7;while(0);if((s|0)==7)$B(b,73650)|0;$B(b,73653)|0;f=+g[k>>2];if(f>0.0){h[n>>3]=f;fC(b,73823,n)}else $B(b,73659)|0;d=p+96|0;e=o;i=d;j=e+40|0;do{c[e>>2]=c[i>>2];e=e+4|0;i=i+4|0}while((e|0)<(j|0));oe(b,o);$B(b,73635)|0;b:do if((c[p+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{s=14;break b}default:{}}h[r>>3]=+(d&255)*.00392156862745098;fC(b,96586,r)}else s=14;while(0);if((s|0)==14)$B(b,73650)|0;$B(b,73863)|0;l=t;return q|0}function qe(b){b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;k=q+16|0;o=q+8|0;j=q;n=c[45951]|0;c[45951]=n+1;m=c[b+16>>2]|0;r=+(c[m+136>>2]|0)*.017453292519943295;e=r;if(r==0.0){f=50;d=50}else{f=~~((+E(+e)+1.0)*50.0);d=~~((1.0-+F(+e))*50.0)}c[k>>2]=n;c[k+4>>2]=f;c[k+8>>2]=d;fC(b,73515,k);$B(b,73599)|0;d=m+56|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;a:do if((c[m+88>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=6;break a}default:{}}h[j>>3]=+(d&255)*.00392156862745098;fC(b,96586,j)}else p=6;while(0);if((p|0)==6)$B(b,73650)|0;$B(b,73653)|0;$B(b,73659)|0;d=m+96|0;f=k;g=d;i=f+40|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));oe(b,k);$B(b,73635)|0;b:do if((c[m+128>>2]|0)==1){d=a[d+3>>0]|0;switch(d<<24>>24){case -1:case 0:{p=10;break b}default:{}}h[o>>3]=+(d&255)*.00392156862745098;fC(b,96586,o)}else p=10;while(0);if((p|0)==10)$B(b,73650)|0;$B(b,73695)|0;l=q;return n|0}function re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0;i=l;l=l+16|0;g=i;e=77;f=0;while(1){if((f|0)>=(d|0))break;c[g>>2]=e;fC(a,73512,g);gC(a,+h[b+(f<<4)>>3]);$B(a,97973)|0;gC(a,-+h[b+(f<<4)+8>>3]);e=(f|0)==0?67:32;f=f+1|0}l=i;return}function se(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+16|0;i=j+8|0;h=j;$B(b,74483)|0;$B(b,qH(d)|0)|0;if(e|0){c[h>>2]=qH(e)|0;fC(b,74491,h)}c[i>>2]=f;fC(b,74495,i);d=xx(g,74507)|0;if(d|0?a[d>>0]|0:0){$B(b,99578)|0;$B(b,qH(d)|0)|0}$B(b,95669)|0;l=j;return}function te(a){a=a|0;var b=0;$B(a,75314)|0;b=a+12|0;$B(a,De(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,De(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,75330)|0;return}function ue(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[b+16>>2]|0;$B(b,75291)|0;d=d+8|0;if(a[(ry(c[d>>2]|0)|0)>>0]|0){$B(b,75293)|0;$B(b,De(ry(c[d>>2]|0)|0)|0)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,75302,e);c[45953]=0;l=f;return}function ve(a){a=a|0;c[45953]=1;return}function we(a){a=a|0;c[45953]=-1;return}function xe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;i=n+8|0;m=n;f=c[b+16>>2]|0;if(c[f+144>>2]|0?(k=e+4|0,j=~~(+h[b+352>>3]*+h[(c[k>>2]|0)+16>>3]),j|0):0){Ee(b);$B(b,75230)|0;g=d+8|0;h[g>>3]=+h[g>>3]-+(j|0)*.55;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];iC(b,i);$B(b,75244)|0;$B(b,c[e>>2]|0)|0;$B(b,75253)|0;$B(b,75051)|0;g=i;d=f+16|0;f=g+40|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(f|0));Fe(b,i);$B(b,75255)|0;i=c[k>>2]|0;k=c[i+8>>2]|0;k=c[((k|0)==0?i:k+4|0)>>2]|0;$B(b,95669)|0;$B(b,k)|0;$B(b,95669)|0;c[m>>2]=j;fC(b,75264,m);switch(a[e+48>>0]|0){case 108:{$B(b,75269)|0;break}case 114:{$B(b,75280)|0;break}default:{}}Ge(b);$B(b,150517)|0}l=n;return}function ye(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){n=+h[b>>3];m=+h[b+24>>3];e=b+8|0;k=+h[e>>3];h[b>>3]=n-+h[b+16>>3]+n;h[e>>3]=k-m+k;Ee(a);$B(a,75216)|0;jC(a,b,2);$B(a,75051)|0;do if(!d)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+48|0;f=j;g=c[a+16>>2]|0;i=g+144|0;if(c[i>>2]|0){Ee(a);$B(a,75188)|0;jC(a,b,d);$B(a,75051)|0;do if(!e)if(!(c[45953]|0)){$B(a,94227)|0;break}else{$B(a,134116)|0;break}else{b=f;d=g+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f)}while(0);if((c[45953]|0)==1)c[45953]=0;$B(a,75162)|0;gC(a,+h[g+152>>3]);$B(a,75205)|0;b=f;d=g+16|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Fe(a,f);b=c[i>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[i>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=j;return}function Ae(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0;m=l;l=l+48|0;i=m;j=c[a+16>>2]|0;k=j+144|0;if(c[k>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;e=i;f=j+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Fe(a,i);$B(a,75162)|0;gC(a,+h[j+152>>3]);e=c[k>>2]|0;if((e|0)==1){$B(a,75059)|0;e=c[k>>2]|0}if((e|0)==2)$B(a,75068)|0;$B(a,75171)|0;Ge(a);$B(a,150517)|0}l=m;return}function Be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;g=i;e=c[a+16>>2]|0;h=e+144|0;if(c[h>>2]|0){Ee(a);$B(a,75037)|0;jC(a,b,d);$B(a,75051)|0;f=g;b=e+16|0;d=f+40|0;do{c[f>>2]=c[b>>2];f=f+4|0;b=b+4|0}while((f|0)<(d|0));Fe(a,g);b=c[h>>2]|0;if((b|0)==1){$B(a,75059)|0;b=c[h>>2]|0}if((b|0)==2)$B(a,75068)|0;Ge(a);$B(a,150517)|0}l=i;return}function Ce(a,b){a=a|0;b=b|0;$B(a,75034)|0;$B(a,De(b)|0)|0;$B(a,150517)|0;return}function De(a){a=a|0;return a|0}function Ee(b){b=b|0;if(!(a[b+144>>0]|0))$B(b,75159)|0;else $B(b,c[b+148>>2]|0)|0;return}function Fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,94227)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75077,49,75141)}while(0);l=g;return}function Ge(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;f=c[a+16>>2]|0;switch(c[f+12>>2]|0){case 8:{b=1;d=108399;e=f+8|0;break}case 10:{b=0;d=108399;e=f+8|0;break}case 3:case 2:case 9:{b=1;d=108368;e=f+8|0;break}case 7:case 6:case 11:{b=0;d=108368;e=f+8|0;break}case 0:{b=1;d=108412;e=f+8|0;break}case 4:{b=0;d=75113;e=f+8|0;break}case 1:{b=1;d=108412;e=f+8|0;break}case 5:{b=0;d=108412;e=f+8|0;break}default:qa(135312,75077,106,75096)}f=c[(c[e>>2]|0)+8>>2]|0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=f;fC(a,75125,g);l=h;return}function He(a){a=a|0;var b=0;$B(a,78049)|0;$B(a,78057)|0;b=a+12|0;$B(a,Se(c[c[c[b>>2]>>2]>>2]|0)|0)|0;$B(a,78077)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+4>>2]|0)|0)|0;$B(a,78087)|0;$B(a,Se(c[(c[c[b>>2]>>2]|0)+8>>2]|0)|0)|0;$B(a,78090)|0;return}function Ie(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;i=j+24|0;g=j+16|0;f=j+8|0;e=j;d=c[b+16>>2]|0;c[45957]=~~(+h[b+232>>3]-+h[b+216>>3]);c[45956]=~~(+h[b+224>>3]-+h[b+208>>3]);$B(b,76736)|0;$B(b,76743)|0;d=ry(c[d+8>>2]|0)|0;if(a[d>>0]|0){$B(b,76812)|0;$B(b,Se(d)|0)|0;$B(b,76820)|0}c[e>>2]=O(c[b+168>>2]|0,c[b+164>>2]|0)|0;fC(b,76829,e);$B(b,76849)|0;$B(b,76884)|0;$B(b,76912)|0;$B(b,76918)|0;$B(b,76961)|0;$B(b,77002)|0;$B(b,77021)|0;$B(b,77038)|0;$B(b,77086)|0;$B(b,77139)|0;$B(b,77215)|0;$B(b,77291)|0;$B(b,77300)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77614)|0;$B(b,77323)|0;$B(b,77350)|0;$B(b,77403)|0;$B(b,77570)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77492)|0;$B(b,77518)|0;$B(b,77403)|0;$B(b,77425)|0;$B(b,77470)|0;$B(b,77482)|0;$B(b,77627)|0;$B(b,77635)|0;$B(b,77641)|0;$B(b,77655)|0;$B(b,77663)|0;$B(b,77696)|0;e=(c[45957]|0)+10|0;c[f>>2]=c[45956];c[f+4>>2]=e;fC(b,77773,f);$B(b,77803)|0;$B(b,77812)|0;$B(b,77870)|0;$B(b,77880)|0;$B(b,77945)|0;f=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=f;fC(b,77982,g);g=c[45957]|0;c[i>>2]=c[45956];c[i+4>>2]=g;fC(b,78010,i);l=j;return}function Je(a){a=a|0;$B(a,76287)|0;$B(a,76299)|0;$B(a,76307)|0;$B(a,76370)|0;$B(a,76299)|0;$B(a,76415)|0;$B(a,76464)|0;$B(a,76518)|0;$B(a,76299)|0;$B(a,76618)|0;$B(a,76667)|0;$B(a,76299)|0;$B(a,76719)|0;return}function Ke(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;h=j+8|0;g=j;$B(b,76245)|0;if(d|0?a[d>>0]|0:0){c[g>>2]=Se(d)|0;fC(b,76248,g)}if(e|0?a[e>>0]|0:0){c[h>>2]=Se(e)|0;fC(b,76259,h)}if(f|0?a[f>>0]|0:0){c[i>>2]=Se(f)|0;fC(b,76271,i)}$B(b,76284)|0;l=j;return}function Le(a){a=a|0;$B(a,76239)|0;return}function Me(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0;A=l;l=l+112|0;y=A+96|0;z=A+88|0;w=A+80|0;q=A+72|0;v=A+64|0;t=A+56|0;s=A+48|0;r=A+40|0;p=A+24|0;o=A+8|0;n=A;x=c[b+16>>2]|0;switch(a[f+48>>0]|0){case 108:{j=+h[e>>3];m=+h[f+32>>3];break}case 114:{m=+h[f+32>>3];j=+h[e>>3]-m;break}default:{m=+h[f+32>>3];j=+h[e>>3]-m*.5}}g=f+40|0;i=+h[g>>3];u=f+4|0;k=+h[(c[u>>2]|0)+16>>3];if(i<k){i=k*1.1+1.0;h[g>>3]=i}B=j+-8.0;k=+((c[45957]|0)>>>0)-+h[e+8>>3]-i+k*.2+(k<12.0?1.4:2.0);fC(b,75901,n);h[o>>3]=B;h[o+8>>3]=k;fC(b,75838,o);h[p>>3]=j+8.0+m-B;h[p+8>>3]=i;fC(b,75862,p);$B(b,75936)|0;$B(b,75970)|0;g=c[u>>2]|0;e=c[g+8>>2]|0;if(e){c[r>>2]=c[e+4>>2];fC(b,76060,r);g=c[e+8>>2]|0;if(g|0){c[s>>2]=g;fC(b,76079,s)}g=c[e+12>>2]|0;if(g|0){c[t>>2]=g;fC(b,76096,t)}g=c[e+16>>2]|0;if(g|0){c[v>>2]=g;fC(b,76114,v)}}else{c[q>>2]=c[g>>2];fC(b,76060,q)}h[w>>3]=+h[(c[u>>2]|0)+16>>3];fC(b,76130,w);g=x+16|0;switch(c[x+48>>2]|0){case 5:{g=c[g>>2]|0;if(O$(g,134232)|0){c[z>>2]=g;fC(b,76150,z)}break}case 1:{x=d[g+1>>0]|0;z=d[g+2>>0]|0;c[y>>2]=d[g>>0];c[y+4>>2]=x;c[y+8>>2]=z;fC(b,76160,y);break}default:qa(135312,75624,438,76181)}$B(b,76194)|0;$B(b,Se(c[f>>2]|0)|0)|0;$B(b,76205)|0;$B(b,76228)|0;l=A;return}function Ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,m=0.0;e=l;l=l+32|0;f=e+16|0;j=e;$B(a,75802)|0;m=+h[b>>3];i=+h[b+16>>3]-m;k=+h[b+24>>3];g=k-+h[b+8>>3];k=+((c[45957]|0)>>>0)-k;h[j>>3]=m-i;h[j+8>>3]=k;fC(a,75838,j);h[f>>3]=i*2.0;h[f+8>>3]=g*2.0;fC(a,75862,f);We(a,d);$B(a,75684)|0;Ue(a);$B(a,75890)|0;l=e;return}function Oe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+24|0;j=m+8|0;g=m;$B(a,75407)|0;n=c[45957]|0;c[g>>2]=c[45956];c[g+4>>2]=n;fC(a,75660,g);We(a,e);$B(a,75684)|0;Ue(a);$B(a,75687)|0;g=d+-1|0;e=0;while(1){if((e|0)>=(d|0))break;i=+h[b+(e<<4)>>3];f=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];if(!e){$B(a,75714)|0;h[j>>3]=i;h[j+8>>3]=f;fC(a,75780,j);$B(a,75791)|0}else{h[k>>3]=i;h[k+8>>3]=f;fC(a,75780,k)}if((e|0)==(g|0))$B(a,75794)|0;e=e+1|0}$B(a,75523)|0;l=m;return}function Pe(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;f=l;l=l+16|0;e=f;$B(a,75407)|0;h=c[45957]|0;c[e>>2]=c[45956];c[e+4>>2]=h;fC(a,75660,e);We(a,g);$B(a,75684)|0;Ue(a);$B(a,75687)|0;Xe(a,b,d);$B(a,75700)|0;l=f;return}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;k=l;l=l+48|0;j=k+24|0;i=k+8|0;f=k;$B(a,75407)|0;g=c[45957]|0;c[f>>2]=c[45956];c[f+4>>2]=g;fC(a,75444,f);$B(a,75484)|0;f=d+-1|0;g=b+8|0;e=0;while(1){if((e|0)>=(d|0))break;if(!e){$B(a,75496)|0;m=+((c[45957]|0)>>>0)-+h[g>>3];h[i>>3]=+h[b>>3];h[i+8>>3]=m;fC(a,75500,i);$B(a,75511)|0}else{m=+((c[45957]|0)>>>0)-+h[b+(e<<4)+8>>3];h[j>>3]=+h[b+(e<<4)>>3];h[j+8>>3]=m;fC(a,75500,j)}if((e|0)==(f|0))$B(a,75515)|0;e=e+1|0}$B(a,75519)|0;Ue(a);$B(a,75523)|0;l=k;return}function Re(a,b){a=a|0;b=b|0;$B(a,75342)|0;$B(a,Se(b)|0)|0;$B(a,75354)|0;return}function Se(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;e=u;d=c[45954]|0;if(!d){c[45955]=64;d=vH(64)|0;c[45954]=d}s=e+15|0;r=e+14|0;g=0;q=0;o=0;e=0;f=0;a:while(1){n=(o|0)!=0;k=g;p=b;j=e;b:while(1){if(!p){t=32;break a}e=a[p>>0]|0;if(!(e<<24>>24)){t=32;break a}b=c[45955]|0;if((q|0)>(b+-8|0)){d=b<<1;c[45955]=d;d=xH(c[45954]|0,d)|0;c[45954]=d;d=d+q|0;e=a[p>>0]|0}switch(e<<24>>24){case 60:{e=4;b=99127;t=26;break b}case 62:{e=4;b=99110;t=27;break b}case 38:{t=10;break b}case 45:{e=5;b=99121;i=j;break b}default:{}}if(n&e<<24>>24==32){t=12;break}switch(e<<24>>24){case 34:{e=6;b=99090;t=26;break b}case 39:{e=5;b=99115;t=27;break b}default:{}}if(e<<24>>24<0){i=127;b=0}else{e=1;b=p;t=26;break}while(1){g=i&255;h=e&255;if(g>>>0>=h>>>0)break;e=i&h&255;i=g>>>1;b=b+1|0}if((b|0)<=1){g=A3(j|0,f|0,6)|0;g=s3(g|0,z|0,e&255|0,0)|0;f=z;m=k+-1|0;if((k|0)>1){b=m;e=g}else{t=21;break}}else{b=b+-1|0;e=e&255;f=0}k=b;p=p+1|0;j=e}if((t|0)==10){t=0;b=(Te(p)|0)==0;e=b?5:1;b=b?99104:p;i=j}else if((t|0)==12){t=0;b=(a[o>>0]|0)==32;e=b?6:1;b=b?99097:p;i=j}else if((t|0)==21){t=0;a[s>>0]=59;e=3;h=r;i=g;j=f;while(1){b=x3(i|0,j|0,10,0)|0;g=h+-1|0;a[h>>0]=b|48;b=i;i=w3(i|0,j|0,10,0)|0;f=j;j=z;o=e;e=e+1|0;if((o|0)>11){t=23;break a}if(!(f>>>0>0|(f|0)==0&b>>>0>9))break;else h=g}b=h+-2|0;a[g>>0]=35;a[b>>0]=38;k=m;f=j}else if((t|0)==26){t=0;i=j}else if((t|0)==27){t=0;i=j}h=d+e|0;g=e;while(1){if(!g)break;a[d>>0]=a[b>>0]|0;g=g+-1|0;b=b+1|0;d=d+1|0}g=k;b=p+1|0;q=e+q|0;o=p;d=h;e=i}if((t|0)==23){E1(75360,46,1,c[15686]|0)|0;Sa(1)}else if((t|0)==32){a[d>>0]=0;l=u;return c[45954]|0}return 0}function Te(b){b=b|0;var c=0,d=0;d=b+1|0;c=a[d>>0]|0;a:do if(c<<24>>24==35){d=b+2|0;c=a[d>>0]|0;switch(c<<24>>24){case 88:case 120:break;default:{b=d;while(1){d=b+1|0;if((c+-48&255)>=10)break a;b=d;c=a[d>>0]|0}}}d=b+3|0;while(1){c=a[d>>0]|0;if((c+-48&255)>=10)switch(c<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:break;default:break a}d=d+1|0}}else while(1){b=d+1|0;if(((c&-33)+-65&255)>=26)break a;d=b;c=a[b>>0]|0}while(0);return c<<24>>24==59|0}function Ue(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+48|0;d=k+8|0;j=k;i=c[a+16>>2]|0;$B(a,75535)|0;e=d;f=i+16|0;g=e+40|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));Ve(a,d);b=+h[i+152>>3];if(b!=1.0){h[j>>3]=b;fC(a,75553,j)}switch(c[i+144>>2]|0){case 1:{$B(a,75570)|0;break}case 2:{$B(a,75588)|0;break}default:{}}$B(a,75605)|0;l=k;return}function Ve(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;g=l;l=l+16|0;f=g;a:do switch(c[e+32>>2]|0){case 5:{$B(b,c[e>>2]|0)|0;break}case 1:if(!(a[e+3>>0]|0)){$B(b,132627)|0;break a}else{i=d[e+1>>0]|0;h=d[e+2>>0]|0;c[f>>2]=d[e>>0];c[f+4>>2]=i;c[f+8>>2]=h;fC(b,75610,f);break a}default:qa(135312,75624,94,75644)}while(0);l=g;return}function We(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g;if(!b)$B(a,75763)|0;else{d=c[a+16>>2]|0;$B(a,75733)|0;b=f;d=d+56|0;e=b+40|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));Ve(a,f);$B(a,75760)|0}l=g;return}function Xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0;i=l;l=l+32|0;g=i;e=75714;f=0;while(1){if((f|0)>=(d|0))break;k=+h[b+(f<<4)>>3];j=+((c[45957]|0)>>>0)-+h[b+(f<<4)+8>>3];c[g>>2]=e;h[g+8>>3]=k;h[g+16>>3]=j;fC(a,75717,g);e=(f|0)==0?75730:191979;f=f+1|0}$B(a,95669)|0;l=i;return}function Ye(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+8|0;e=b;$B(a,80347)|0;$B(a,80362)|0;$B(a,80401)|0;$B(a,80450)|0;c[e>>2]=134232;c[e+4>>2]=80538;fC(a,80519,e);c[d>>2]=134116;c[d+4>>2]=80544;fC(a,80519,d);l=b;return}function Ze(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;b=l;l=l+64|0;d=b+8|0;j=b;c[j>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79300,j);i=+h[a+368>>3]*.5*+h[a+488>>3];g=+h[a+376>>3]*.5*+h[a+496>>3];f=+J(+(i*2.0000000949949026e-03))*180.0*.6366197723675814;e=+J(+(g*2.0000000949949026e-03))*180.0*.6366197723675814;h[d>>3]=i;h[d+8>>3]=g;h[d+16>>3]=-500.0;h[d+24>>3]=i;h[d+32>>3]=g;h[d+40>>3]=0.0;h[d+48>>3]=(f>e?f:e)*1.2;fC(a,79322,d);$B(a,79469)|0;$B(a,80299)|0;l=b;return}function _e(a){a=a|0;$B(a,79283)|0;return}function $e(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=e;fC(a,79253,h);g[45958]=+(O(d,-10)|0);l=f;return}function af(a){a=a|0;$B(a,79236)|0;return}function bf(a){a=a|0;$B(a,79218)|0;return}function cf(a){a=a|0;$B(a,79202)|0;return}function df(a){a=a|0;$B(a,79181)|0;g[45958]=+g[45958]+-2.0;return}function ef(a){a=a|0;$B(a,79162)|0;return}function ff(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=ry(c[(c[a+16>>2]|0)+8>>2]|0)|0;fC(a,79140,d);l=b;return}function gf(a){a=a|0;$B(a,79124)|0;return}function hf(a){a=a|0;$B(a,79106)|0;g[45958]=+g[45958]+-5.0;return}function jf(a){a=a|0;$B(a,79090)|0;g[45958]=+g[45958]+5.0;return}function kf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0.0;r=l;l=l+144|0;o=r+104|0;q=r+56|0;m=r+32|0;j=r+24|0;n=r;p=e+4|0;i=c[p>>2]|0;f=+h[i+16>>3];i=c[i>>2]|0;c[n>>2]=c[e>>2];h[n+8>>3]=f;c[n+16>>2]=i;fC(b,78936,n);g[45959]=+g[45958]+-9.0;switch(a[e+48>>0]|0){case 108:{f=+h[d>>3];break}case 114:{i=d;f=+h[d>>3]-+h[e+32>>3];k=5;break}default:{i=d;f=+h[d>>3]-+h[e+32>>3]*.5;k=5}}if((k|0)==5)h[i>>3]=f;u=+h[b+488>>3];t=(+h[b+504>>3]+f)*u;s=(+h[b+512>>3]+ +h[d+8>>3])*+h[b+496>>3];h[j>>3]=+h[(c[p>>2]|0)+16>>3]*u;n=qf(b,78988,j)|0;f=+(c[b+360>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=f;i=qf(b,78205,m)|0;f=+g[45959];h[o>>3]=t;h[o+8>>3]=s;h[o+16>>3]=f;d=qf(b,78237,o)|0;j=o;k=(c[b+16>>2]|0)+16|0;m=j+40|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(m|0));o=rf(b,o,0.0)|0;e=c[e>>2]|0;c[q>>2]=c[c[p>>2]>>2];h[q+8>>3]=.25;h[q+16>>3]=0.0;c[q+24>>2]=e;c[q+28>>2]=79075;c[q+32>>2]=n;c[q+36>>2]=i;c[q+40>>2]=d;c[q+44>>2]=o;q=qf(b,79e3,q)|0;$B(b,q)|0;D_(q);D_(i);D_(o);D_(d);D_(n);l=r;return}function lf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=l;l=l+240|0;x=z+192|0;y=z+152|0;t=z+128|0;r=z+104|0;o=z+80|0;n=z+48|0;e=z+24|0;m=z;$B(a,78813)|0;g[45959]=+g[45958]+-6.0;i=+h[b>>3];j=+h[a+488>>3];p=(+h[a+504>>3]+i)*j;A=+h[b+8>>3];k=+h[a+496>>3];q=(+h[a+512>>3]+A)*k;j=(+h[b+16>>3]-i)*j;k=(+h[b+24>>3]-A)*k;s=a+16|0;A=k+j;i=+h[(c[s>>2]|0)+152>>3]/A*2.5;h[m>>3]=j;h[m+8>>3]=A*.25;h[m+16>>3]=k;b=qf(a,78173,m)|0;m=a+360|0;A=+(c[m>>2]|0);h[e>>3]=90.0;h[e+8>>3]=0.0;h[e+16>>3]=A;e=qf(a,78205,e)|0;A=+g[45959];h[x>>3]=p;h[x+8>>3]=q;h[x+16>>3]=A;f=qf(a,78237,x)|0;u=x;v=(c[s>>2]|0)+16|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));v=rf(a,x,0.0)|0;h[n>>3]=1.0;h[n+8>>3]=i;c[n+16>>2]=b;c[n+20>>2]=e;c[n+24>>2]=f;c[n+28>>2]=v;w=qf(a,78828,n)|0;$B(a,w)|0;D_(b);D_(e);D_(f);D_(v);D_(w);if(d|0){h[o>>3]=j;h[o+8>>3]=k;h[o+16>>3]=1.0;f=qf(a,78173,o)|0;A=+(c[m>>2]|0);h[r>>3]=0.0;h[r+8>>3]=0.0;h[r+16>>3]=A;e=qf(a,78205,r)|0;A=+g[45959];h[t>>3]=p;h[t+8>>3]=q;h[t+16>>3]=A;b=qf(a,78237,t)|0;u=x;v=(c[s>>2]|0)+56|0;w=u+40|0;do{c[u>>2]=c[v>>2];u=u+4|0;v=v+4|0}while((u|0)<(w|0));x=rf(a,x,0.0)|0;h[y>>3]=0.0;h[y+8>>3]=0.0;h[y+16>>3]=0.0;c[y+24>>2]=f;c[y+28>>2]=e;c[y+32>>2]=b;c[y+36>>2]=x;y=qf(a,78874,y)|0;$B(a,y)|0;D_(f);D_(e);D_(b);D_(x);D_(y)}l=z;return}function mf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0.0;K=l;l=l+336|0;B=K+296|0;J=K+288|0;I=K+272|0;H=K+264|0;G=K+240|0;D=K+232|0;A=K+208|0;z=K+184|0;w=K+160|0;v=K+152|0;u=K+136|0;t=K+128|0;s=K+96|0;r=K+88|0;q=K+56|0;f=K+48|0;m=K+24|0;k=K;$B(a,78678)|0;g[45959]=+g[45958]+-2.0;o=a+488|0;p=a+496|0;L=+h[p>>3];h[k>>3]=+h[o>>3];h[k+8>>3]=L;h[k+16>>3]=1.0;k=qf(a,78173,k)|0;y=a+360|0;L=+(c[y>>2]|0);h[m>>3]=0.0;h[m+8>>3]=0.0;h[m+16>>3]=L;m=qf(a,78205,m)|0;L=+g[45959]+-2.0;h[B>>3]=0.0;h[B+8>>3]=0.0;h[B+16>>3]=L;n=qf(a,78237,B)|0;C=a+16|0;i=B;j=(c[C>>2]|0)+16|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,0.0)|0;c[f>>2]=78300;c[f+4>>2]=d+1;E=a+504|0;F=a+512|0;i=0;f=qf(a,78269,f)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];L=+h[(c[C>>2]|0)+152>>3];h[q>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[q+8>>3]=N;h[q+16>>3]=0.0;h[q+24>>3]=L;M=qf(a,78314,q)|0;c[r>>2]=f;c[r+4>>2]=M;x=qf(a,78343,r)|0;D_(M);D_(f);i=i+1|0;f=x}L=+h[F>>3]+ +h[b+8>>3];N=+h[(c[C>>2]|0)+152>>3];h[s>>3]=+h[E>>3]+ +h[b>>3];h[s+8>>3]=L;h[s+16>>3]=0.0;h[s+24>>3]=N;x=qf(a,78314,s)|0;c[t>>2]=f;c[t+4>>2]=x;M=qf(a,78343,t)|0;D_(x);D_(f);c[u>>2]=k;c[u+4>>2]=m;c[u+8>>2]=n;c[u+12>>2]=j;x=qf(a,78693,u)|0;c[v>>2]=M;c[v+4>>2]=x;M=qf(a,78398,v)|0;D_(x);$B(a,M)|0;D_(k);D_(m);D_(n);D_(j);D_(M);if(e|0){N=+h[p>>3];h[w>>3]=+h[o>>3];h[w+8>>3]=N;h[w+16>>3]=1.0;n=qf(a,78173,w)|0;N=+(c[y>>2]|0);h[z>>3]=0.0;h[z+8>>3]=0.0;h[z+16>>3]=N;m=qf(a,78205,z)|0;N=+g[45959]+-2.0;h[A>>3]=0.0;h[A+8>>3]=0.0;h[A+16>>3]=N;k=qf(a,78237,A)|0;i=B;j=(c[C>>2]|0)+56|0;x=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(x|0));j=rf(a,B,.25)|0;c[D>>2]=d;i=0;f=qf(a,78738,D)|0;while(1){if((i|0)>=(d|0))break;N=+h[F>>3]+ +h[b+(i<<4)+8>>3];h[G>>3]=+h[E>>3]+ +h[b+(i<<4)>>3];h[G+8>>3]=N;h[G+16>>3]=0.0;D=qf(a,78753,G)|0;c[H>>2]=f;c[H+4>>2]=D;M=qf(a,78775,H)|0;D_(D);D_(f);i=i+1|0;f=M}c[I>>2]=n;c[I+4>>2]=m;c[I+8>>2]=k;c[I+12>>2]=j;I=qf(a,78785,I)|0;c[J>>2]=f;c[J+4>>2]=I;M=qf(a,78398,J)|0;D_(I);$B(a,M)|0;D_(n);D_(m);D_(k);D_(j);D_(M)}l=K;return}function nf(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;B=l;l=l+208|0;e=B+160|0;A=B+152|0;z=B+136|0;y=B+128|0;x=B+96|0;w=B+88|0;v=B+56|0;k=B+48|0;s=B+24|0;r=B;$B(a,78605)|0;g[45959]=+g[45958]+-4.0;C=+h[a+496>>3];h[r>>3]=+h[a+488>>3];h[r+8>>3]=C;h[r+16>>3]=1.0;r=qf(a,78173,r)|0;C=+(c[a+360>>2]|0);h[s>>3]=0.0;h[s+8>>3]=0.0;h[s+16>>3]=C;s=qf(a,78205,s)|0;C=+g[45959]+-2.0;h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=C;t=qf(a,78237,e)|0;u=a+16|0;f=e;i=(c[u>>2]|0)+56|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));n=rf(a,e,0.0)|0;c[k>>2]=78619;c[k+4>>2]=d+2;o=a+504|0;p=a+512|0;q=d+-1|0;m=0;e=qf(a,78269,k)|0;while(1){if((m|0)>=(d|0))break;f=b+(m<<4)|0;i=b+(m<<4)+8|0;D=+h[p>>3]+ +h[i>>3];C=+h[(c[u>>2]|0)+152>>3];h[v>>3]=+h[o>>3]+ +h[f>>3];h[v+8>>3]=D;h[v+16>>3]=0.0;h[v+24>>3]=C;k=qf(a,78314,v)|0;c[w>>2]=e;c[w+4>>2]=k;j=qf(a,78343,w)|0;D_(k);D_(e);if((m|0)==0|(m|0)==(q|0)){C=+h[p>>3]+ +h[i>>3];D=+h[(c[u>>2]|0)+152>>3];h[x>>3]=+h[o>>3]+ +h[f>>3];h[x+8>>3]=C;h[x+16>>3]=0.0;h[x+24>>3]=D;k=qf(a,78314,x)|0;c[y>>2]=j;c[y+4>>2]=k;e=qf(a,78343,y)|0;D_(k);D_(j)}else e=j;m=m+1|0}c[z>>2]=r;c[z+4>>2]=s;c[z+8>>2]=t;c[z+12>>2]=n;b=qf(a,78628,z)|0;c[A>>2]=e;c[A+4>>2]=b;d=qf(a,78398,A)|0;D_(b);$B(a,d)|0;D_(r);D_(s);D_(t);D_(n);D_(d);l=B;return}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0.0;v=l;l=l+160|0;e=v+120|0;u=v+112|0;t=v+96|0;s=v+88|0;r=v+56|0;m=v+48|0;n=v+24|0;q=v;$B(a,78157)|0;g[45959]=+g[45958]+-6.0;w=+h[a+496>>3];h[q>>3]=+h[a+488>>3];h[q+8>>3]=w;h[q+16>>3]=1.0;q=qf(a,78173,q)|0;w=+(c[a+360>>2]|0);h[n>>3]=0.0;h[n+8>>3]=0.0;h[n+16>>3]=w;n=qf(a,78205,n)|0;w=+g[45959];h[e>>3]=0.0;h[e+8>>3]=0.0;h[e+16>>3]=w;o=qf(a,78237,e)|0;p=a+16|0;f=e;i=(c[p>>2]|0)+16|0;j=f+40|0;do{c[f>>2]=c[i>>2];f=f+4|0;i=i+4|0}while((f|0)<(j|0));i=rf(a,e,0.0)|0;c[m>>2]=78300;c[m+4>>2]=d;j=a+504|0;k=a+512|0;f=0;e=qf(a,78269,m)|0;while(1){if((f|0)>=(d|0))break;y=+h[k>>3]+ +h[b+(f<<4)+8>>3];w=+h[(c[p>>2]|0)+152>>3];h[r>>3]=+h[j>>3]+ +h[b+(f<<4)>>3];h[r+8>>3]=y;h[r+16>>3]=0.0;h[r+24>>3]=w;x=qf(a,78314,r)|0;c[s>>2]=e;c[s+4>>2]=x;m=qf(a,78343,s)|0;D_(x);D_(e);f=f+1|0;e=m}c[t>>2]=q;c[t+4>>2]=n;c[t+8>>2]=o;c[t+12>>2]=i;t=qf(a,78352,t)|0;c[u>>2]=e;c[u+4>>2]=t;x=qf(a,78398,u)|0;D_(t);$B(a,x)|0;D_(q);D_(n);D_(o);D_(i);D_(x);l=v;return}function pf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;fC(a,78138,e);l=d;return}function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+1056|0;h=i;e=i+24|0;f=i+8|0;c[f>>2]=d;g=q0(e,1024,b,f)|0;do if((g|0)>=0)if((g|0)>1023){a=C_(g+1|0)|0;c[f>>2]=d;Z0(a,b,f)|0;break}else{a=n1(e)|0;break}else{a=c[(c[a+12>>2]|0)+16>>2]|0;c[h>>2]=c$(c[(O_()|0)>>2]|0)|0;ub[a&63](78583,h);a=n1(191979)|0}while(0);l=i;return a|0}function rf(a,b,e){a=a|0;b=b|0;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+112|0;o=q+104|0;j=q+96|0;i=q+64|0;n=q+48|0;p=q+32|0;m=q+16|0;k=q;g=c[b+32>>2]|0;a:do switch(g|0){case 5:{f=c[b>>2]|0;if(!(b$(f,133220)|0)){c[k>>2]=78420;h[k+8>>3]=e;f=qf(a,78403,k)|0;break a}if(!(b$(f,130350)|0)){c[m>>2]=78424;h[m+8>>3]=e;f=qf(a,78403,m)|0;break a}if(!(b$(f,128349)|0)){c[p>>2]=78430;h[p+8>>3]=e;f=qf(a,78403,p)|0;break a}else{c[n>>2]=f;h[n+8>>3]=e;f=qf(a,78403,n)|0;break a}}case 1:{s=+(d[b+1>>0]|0)*.00390625;r=+(d[b+2>>0]|0)*.00390625;h[i>>3]=+(d[b>>0]|0)*.00390625;h[i+8>>3]=s;h[i+16>>3]=r;h[i+24>>3]=e;f=qf(a,78435,i)|0;break}default:{p=c[15686]|0;n=c[b>>2]|0;c[j>>2]=g;c[j+4>>2]=n;g1(p,78474,j)|0;qa(135312,78524,436,78544)}}while(0);c[o>>2]=f;p=qf(a,78561,o)|0;D_(f);l=q;return p|0}function sf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=l;l=l+32|0;d=b+24|0;e=b+16|0;g=b;f=c[a+16>>2]|0;h=c[c[a+12>>2]>>2]|0;j=c[h>>2]|0;i=c[h+4>>2]|0;h=c[h+8>>2]|0;c[g>>2]=80990;c[g+4>>2]=j;c[g+8>>2]=i;c[g+12>>2]=h;fC(a,83609,g);f=ry(c[f+8>>2]|0)|0;c[e>>2]=80990;c[e+4>>2]=f;fC(a,83641,e);c[d>>2]=80990;fC(a,83655,d);l=b;return}function tf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=80990;fC(a,83557,d);l=b;return}function uf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+304|0;V=W+296|0;U=W+288|0;T=W+272|0;R=W+264|0;Q=W+256|0;P=W+248|0;O=W+240|0;N=W+232|0;M=W+224|0;L=W+216|0;K=W+208|0;J=W+200|0;I=W+192|0;H=W+184|0;G=W+176|0;F=W+168|0;E=W+160|0;C=W+152|0;A=W+144|0;z=W+136|0;y=W+128|0;x=W+120|0;w=W+112|0;v=W+104|0;u=W+96|0;t=W+88|0;s=W+80|0;r=W+72|0;q=W+64|0;p=W+56|0;o=W+48|0;S=W+40|0;B=W+24|0;n=W+16|0;m=W;g=c[a+456>>2]|0;i=c[a+460>>2]|0;j=c[a+464>>2]|0;k=c[a+468>>2]|0;f=a+360|0;a:do if(c[4025]|0){switch(c[f>>2]|0){case 90:case 0:break a;default:{}}Gf();c[4025]=0}while(0);e=(+(k|0)-+(i|0))*.013888888888888888;b=(+(j|0)-+(g|0))*.013888888888888888;k=(c[f>>2]|0)==90;d=k?e:b;e=k?b:e;h[m>>3]=d;h[m+8>>3]=e;fC(a,81177,m);c[n>>2]=80990;fC(a,81192,n);if(d>0.0){b=+j$(d);h[18829]=b;b=b+3.0-+(~~b|0)}else b=3.0;b=+D(10.0,+b);h[18829]=b;h[B>>3]=b;h[B+8>>3]=b;fC(a,81361,B);c[S>>2]=80990;fC(a,81396,S);c[o>>2]=80990;fC(a,81454,o);c[p>>2]=80990;fC(a,81514,p);c[q>>2]=80990;fC(a,81563,q);c[r>>2]=80990;fC(a,81602,r);c[s>>2]=80990;fC(a,81653,s);c[t>>2]=80990;fC(a,81715,t);c[u>>2]=80990;fC(a,81825,u);c[v>>2]=80990;fC(a,81916,v);c[w>>2]=80990;fC(a,81970,w);c[x>>2]=80990;fC(a,82039,x);fC(a,82075,y);c[z>>2]=80990;fC(a,82200,z);c[A>>2]=80990;fC(a,82229,A);fC(a,82269,C);c[E>>2]=80990;fC(a,82362,E);c[F>>2]=80990;fC(a,82421,F);c[G>>2]=80990;fC(a,82502,G);fC(a,82572,H);c[I>>2]=80990;fC(a,82661,I);c[J>>2]=80990;fC(a,82766,J);c[K>>2]=80990;fC(a,82842,K);c[L>>2]=80990;fC(a,82881,L);c[M>>2]=80990;fC(a,82980,M);c[N>>2]=80990;fC(a,83026,N);fC(a,83115,O);c[P>>2]=80990;fC(a,83156,P);c[Q>>2]=80990;fC(a,83239,Q);c[R>>2]=80990;fC(a,83340,R);h[T>>3]=e;h[T+8>>3]=d;fC(a,83404,T);fC(a,83432,U);fC(a,83440,V);l=W;return}function vf(a){a=a|0;var b=0;b=l;l=l+16|0;fC(a,81170,b);l=b;return}function wf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0.0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+24|0;p=r+8|0;o=r;switch(a[e+48>>0]|0){case 108:{k=d;i=+h[e+32>>3];j=+h[d>>3];break}case 114:{i=+h[e+32>>3];g=i;f=5;break}default:{i=+h[e+32>>3];g=i*.5;f=5}}if((f|0)==5){j=+h[d>>3]-g;h[d>>3]=j;k=d}m=e+4|0;f=c[m>>2]|0;g=+h[f+16>>3];d=d+8|0;n=+h[d>>3]+g*.004629629629629629;h[d>>3]=n;i=j+i*.006944444444444444;h[k>>3]=i;f=c[f>>2]|0;do if(f){d=c[45960]|0;if(d|0?(b$(d,f)|0)==0:0)break;c[o>>2]=Ef(f)|0;fC(b,81069,o);o=c[m>>2]|0;c[45960]=c[o>>2];g=+h[o+16>>3]}while(0);f=~~g;f=(f|0)>1?f:1;if((f|0)!=(c[45961]|0)){j=+h[18829];c[p>>2]=f;h[p+8>>3]=j;fC(b,81077,p);c[45961]=f}c[q>>2]=Ff(c[e>>2]|0)|0;h[q+8>>3]=i;h[q+16>>3]=n;fC(b,81098,q);l=r;return}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[b>>3];k=(+h[b+16>>3]-i)*.027777777777777776;g=+h[b+8>>3];j=(+h[b+24>>3]-g)*.027777777777777776;c[f>>2]=1;c[f+4>>2]=d|0?81011:191979;h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i*.013888888888888888;h[f+32>>3]=g*.013888888888888888;fC(a,81017,f);l=e;return}function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,1);l=e;return}function zf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0;t=l;l=l+128|0;s=t+112|0;q=t+104|0;p=t+96|0;e=t+88|0;n=t+16|0;o=t;k=c[a+16>>2]|0;j=C_((d*140|0)+140|0)|0;Cf(k,t+116|0,t+80|0);v=+h[b>>3];k=n+48|0;h[k>>3]=v;u=+h[b+8>>3];h[n+56>>3]=u;c[e>>2]=~~(v+(v>=0.0?.5:-.5));c[e+4>>2]=~~(u+(u>=0.0?.5:-.5));i=o+8|0;e=j+(Y0(j,80995,e)|0)|0;r=1;g=0;while(1){m=g+3|0;if((m|0)>=(d|0))break;c[n>>2]=c[k>>2];c[n+4>>2]=c[k+4>>2];c[n+8>>2]=c[k+8>>2];c[n+12>>2]=c[k+12>>2];f=1;while(1){if((f|0)==4){f=1;break}w=f+g|0;h[n+(f<<4)>>3]=+h[b+(w<<4)>>3];h[n+(f<<4)+8>>3]=+h[b+(w<<4)+8>>3];f=f+1|0}while(1){if((f|0)==7)break;XL(o,n,3,+(f|0)*.16666666666666666,0,0);u=+h[o>>3];v=+h[i>>3];c[p>>2]=~~(u+(u>=0.0?.5:-.5));c[p+4>>2]=~~(v+(v>=0.0?.5:-.5));f=f+1|0;e=e+(Y0(e,80995,p)|0)|0}r=r+6|0;g=m}c[q>>2]=j;fC(a,81002,q);D_(j);f=r+-1|0;e=0;while(1){if((e|0)>=(r|0))break;c[s>>2]=((e|0)%(f|0)|0|0)!=0&1;fC(a,81007,s);e=e+1|0}$B(a,150517)|0;l=t;return}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;Cf(c[a+16>>2]|0,e+8|0,e);Df(a,b,d,0);l=e;return}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=80990;c[e+4>>2]=b;fC(a,80983,e);l=d;return}function Cf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;switch(c[a+144>>2]|0){case 1:{e=10.0;a=1;break}case 2:{e=10.0;a=2;break}default:{e=0.0;a=0}}c[b>>2]=a;h[d>>3]=e;return}function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+16|0;i=j+8|0;g=j;f=0;while(1){if((f|0)>=(d|0))break;m=+h[b+(f<<4)>>3];k=+h[b+(f<<4)+8>>3];c[g>>2]=~~(m+(m>=0.0?.5:-.5));c[g+4>>2]=~~(k+(k>=0.0?.5:-.5));fC(a,80995,g);f=f+1|0}if(e|0){k=+h[b>>3];m=+h[b+8>>3];c[i>>2]=~~(k+(k>=0.0?.5:-.5));c[i+4>>2]=~~(m+(m>=0.0?.5:-.5));fC(a,80995,i)}$B(a,150517)|0;l=j;return}function Ef(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;a:while(1){d=15828;while(1){e=c[d+4>>2]|0;if(!e)break;if(!(b$(e,b)|0)){g=6;break a}d=d+8|0}c[f>>2]=81151;c[f+4>>2]=b;Pw(1,81125,f)|0;d=o1(b,45)|0;if(!d){d=81168;break}a[d>>0]=0}l=h;return d|0}function Ff(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;d=c[45962]|0;if(!d){c[45963]=64;d=C_(64)|0;c[45962]=d;e=0}else e=0;while(1){g=b+1|0;f=a[b>>0]|0;if(!(f<<24>>24))break;b=c[45963]|0;if((e|0)>(b+-8|0)){d=b<<1;c[45963]=d;d=F_(c[45962]|0,d)|0;c[45962]=d;d=d+e|0}if(f<<24>>24<=-1){a[d>>0]=92;c[h>>2]=f&255;Y0(d+1|0,81120,h)|0;b=g;d=d+4|0;e=e+4|0;continue}if(f<<24>>24==92){a[d>>0]=92;e=e+1|0;d=d+1|0}a[d>>0]=f;b=g;d=d+1|0;e=e+1|0}a[d>>0]=0;l=i;return c[45962]|0}function Gf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=81151;c[b+4>>2]=83548;Pw(0,83530,b)|0;l=a;return}function Hf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0;e=l;l=l+32|0;f=e+8|0;j=e;b=b+8|0;k=c[b>>2]|0;c[j>>2]=k;c[j+4>>2]=k;fC(a,84128,j);i=(+h[d>>3]+ +h[d+16>>3])*.5;g=(+h[d+8>>3]+ +h[d+24>>3])*.5;c[f>>2]=c[b>>2];h[f+8>>3]=i;h[f+16>>3]=g;fC(a,84170,f);l=e;return}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=l;l=l+48|0;f=e;i=+h[d>>3];k=+h[d+16>>3]-i;g=+h[d+24>>3];j=g-+h[d+8>>3];g=+(~~(+h[a+232>>3]-+h[a+216>>3])>>>0)-g;c[f>>2]=c[b+8>>2];h[f+8>>3]=k;h[f+16>>3]=j;h[f+24>>3]=i;h[f+32>>3]=g;fC(a,84215,f);$B(a,84307)|0;l=e;return}function Jf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}function Kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;t=l;l=l+160|0;s=t+152|0;r=t+136|0;q=t+120|0;k=t+112|0;n=t+104|0;m=t+88|0;j=t+72|0;i=t+64|0;o=t;if(!a)qa(108200,84312,212,84331);if(!b)qa(108230,84312,213,84331);p=b+8|0;if(!(c[p>>2]|0))qa(108233,84312,214,84331);if(c[b+52>>2]|0){c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];b=o+32|0;d=d+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];f=+h[o>>3];h[o+16>>3]=f;h[o+24>>3]=+h[o+40>>3];h[o+48>>3]=+h[b>>3];g=+h[o+8>>3];h[o+56>>3]=g;if(e<<24>>24){fC(a,84352,i);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[j>>3]=+h[o+(b<<4)>>3];h[j+8>>3]=u;fC(a,84355,j);b=b+1|0}h[m>>3]=f;h[m+8>>3]=g;fC(a,84355,m);m=c[p>>2]|0;c[n>>2]=4;c[n+4>>2]=m;fC(a,84362,n)}fC(a,84352,k);b=0;while(1){if((b|0)==4)break;u=+h[o+(b<<4)+8>>3];h[q>>3]=+h[o+(b<<4)>>3];h[q+8>>3]=u;fC(a,84355,q);b=b+1|0}h[r>>3]=f;h[r+8>>3]=g;fC(a,84355,r);r=c[p>>2]|0;c[s>>2]=4;c[s+4>>2]=r;fC(a,84377,s)}l=t;return}function Lf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;o=l;l=l+112|0;n=o+24|0;m=o+16|0;k=o;i=o+28|0;if(!b)qa(108200,84312,153,84393);if(!d)qa(108230,84312,154,84393);if(!(c[d+8>>2]|0))qa(108233,84312,155,84393);j=d+52|0;if(c[j>>2]|0){f=d+60|0;g=c[f>>2]|0;if((g|0)==98)g=18;else{tb[g&127](d);c[j>>2]=0;c[f>>2]=0;c[d+56>>2]=0;g=10}}else g=10;do if((g|0)==10){if(!((zC(d)|0)<<24>>24))break;f=j3(c[d+20>>2]|0)|0;if((c[d+24>>2]&-2|0)==6){J1(f,i)|0;i=c[i+36>>2]|0;c[d+56>>2]=i;f=U_(0,i,1,1,f,0)|0;c[j>>2]=f;a[d+16>>0]=1}else f=c[j>>2]|0;if(f|0)c[d+60>>2]=98;AC(d);if(c[j>>2]|0)g=18}while(0);if((g|0)==18){p=+h[e+8>>3]-+(c[d+36>>2]|0);h[k>>3]=+h[e>>3]-+(c[d+32>>2]|0);h[k+8>>3]=p;fC(b,84411,k);if(!(a[d+16>>0]|0)){c[m>>2]=c[d+12>>2];fC(b,84442,m)}else kJ(b,d);fC(b,84457,n)}l=o;return}function Mf(a){a=a|0;S_(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+80|0;f=g+48|0;if(!a)qa(108200,84312,121,84467);e=c[a+16>>2]|0;if(!e)qa(96876,84312,123,84467);if(!b)qa(108230,84312,124,84467);d=b+8|0;if(!(c[d>>2]|0))qa(108233,84312,125,84467);if(!(c[e+8>>2]|0))qa(135797,84312,128,84467);else{fC(a,84487,g);fC(a,84496,g+8|0);fC(a,84523,g+16|0);fC(a,84548,g+24|0);fC(a,84577,g+32|0);fC(a,84605,g+40|0);c[f>>2]=c[d>>2];fC(a,84612,f);fC(a,84651,g+56|0);fC(a,107982,g+64|0);l=g;return}}function Of(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0.0;i=l;l=l+128|0;g=i+80|0;f=i;if(!a)qa(108200,84312,97,84656);if(!b)qa(108230,84312,98,84656);e=c[b+8>>2]|0;if(!e)qa(108233,84312,99,84656);else{m=+h[d>>3];j=~~(m+(m>=0.0?.5:-.5));m=+h[d+8>>3];b=~~(m+(m>=0.0?.5:-.5));m=+h[d+16>>3];k=~~(m+(m>=0.0?.5:-.5));m=+h[d+24>>3];d=~~(m+(m>=0.0?.5:-.5));c[f>>2]=2;c[f+4>>2]=5;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=-1;c[f+24>>2]=1;c[f+28>>2]=-1;c[f+32>>2]=0;h[f+40>>3]=0.0;c[f+48>>2]=0;c[f+52>>2]=0;c[f+56>>2]=0;c[f+60>>2]=0;c[f+64>>2]=0;c[f+68>>2]=5;c[f+72>>2]=0;c[f+76>>2]=e;fC(a,84675,f);c[g>>2]=j;c[g+4>>2]=b;c[g+8>>2]=j;c[g+12>>2]=d;c[g+16>>2]=k;c[g+20>>2]=d;c[g+24>>2]=k;c[g+28>>2]=b;c[g+32>>2]=j;c[g+36>>2]=b;fC(a,84733,g);l=i;return}}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0;o=l;l=l+96|0;n=o+56|0;m=o+32|0;k=o;i=+h[d>>3];j=+h[d+16>>3]-i;f=+h[d+24>>3];g=f-+h[d+8>>3];if(!a)qa(108200,84312,53,84765);if(!b)qa(108230,84312,54,84765);e=b+8|0;if(!(c[e>>2]|0))qa(108233,84312,55,84765);$B(a,84784)|0;$B(a,c[e>>2]|0)|0;e=a+360|0;f=-f;if(!(c[e>>2]|0)){h[n>>3]=j;h[n+8>>3]=g;h[n+16>>3]=i;h[n+24>>3]=f;fC(a,84913,n)}else{h[k>>3]=g;h[k+8>>3]=j;h[k+16>>3]=i;h[k+24>>3]=f;fC(a,84804,k);c[m>>2]=c[e>>2];h[m+8>>3]=i;h[m+16>>3]=f;fC(a,84883,m)}$B(a,84992)|0;l=o;return}function Qf(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;Rf(b);b=Ty(a,b)|0}c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;Sf(b);b=Gx(a,b)|0}c=Ty(a,c)|0}return}function Rf(a){a=a|0;var b=0,d=0;Az(a,134365,304,1)|0;dM(a);bN(a,c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&1);a=a+16|0;c[(c[a>>2]|0)+176>>2]=0;b=uH(20)|0;d=c[a>>2]|0;c[d+172>>2]=b;c[d+184>>2]=0;d=uH(20)|0;b=c[a>>2]|0;c[b+180>>2]=d;c[b+200>>2]=0;b=uH(12)|0;d=c[a>>2]|0;c[d+196>>2]=b;c[d+192>>2]=0;d=uH(12)|0;b=c[a>>2]|0;c[b+188>>2]=d;c[b+208>>2]=0;b=uH(12)|0;a=c[a>>2]|0;c[a+204>>2]=b;c[a+216>>2]=1;return}function Sf(d){d=d|0;var e=0,f=0,g=0,h=0,i=0;Az(d,134378,176,1)|0;eM(d)|0;h=KL(d,c[46404]|0,1,0)|0;g=d+16|0;c[(c[g>>2]|0)+156>>2]=h;h=NL(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,c[46398]|0,191979)|0;i=NL(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,c[46398]|0,191979)|0;e=c[g>>2]|0;f=e+154|0;b[f>>1]=1;b[e+168>>1]=1;if((h|0)==(i|0)&(a[h>>0]|0)!=0){b[f>>1]=1e3;i=e+156|0;c[i>>2]=(c[i>>2]|0)*100}if(Ok(d)|0){i=c[g>>2]|0;b[i+154>>1]=0;c[i+156>>2]=0}i=(KL(d,c[46417]|0,0,0)|0)&255;a[(c[g>>2]|0)+152>>0]=i;i=(KL(d,c[46405]|0,1,0)|0)&65535;b[(c[g>>2]|0)+170>>1]=i;return}function Tf(a){a=a|0;var b=0,d=0;Uf(c[(c[a+16>>2]|0)+192>>2]|0);d=Sy(a)|0;while(1){if(!d)break;b=Ex(a,d)|0;while(1){if(!b)break;JM(b);b=Gx(a,b)|0}Vf(d);d=Ty(a,d)|0}Wf(a);return}function Uf(b){b=b|0;var d=0,e=0,f=0,g=0;while(1){if(!b)break;f=b+16|0;g=c[(c[f>>2]|0)+164>>2]|0;Xf(b);d=c[f>>2]|0;if((a[d+156>>0]|0)!=1){b=g;continue}e=c[d+180>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+172>>2]|0;if(e){D_(e);d=c[f>>2]|0}D_(d);D_(b);b=g}return}function Vf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+180>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+188>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+196>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+204>>2]|0;if(d){D_(d);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);b=c[(c[e>>2]|0)+8>>2]|0;if(b|0)tb[c[(c[b+4>>2]|0)+4>>2]&127](a);Cz(a,134365)|0;return}function Wf(a){a=a|0;var d=0,e=0,f=0;d=wA(a)|0;while(1){if(!d)break;Wf(d);d=xA(d)|0}if(Az(a,134401,0,1)|0){f=a+16|0;d=c[f>>2]|0;e=c[d+184>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+268>>2]|0;if(e){D_(e);d=c[f>>2]|0}e=c[d+216>>2]|0;if(e){D_(e);d=c[f>>2]|0}do if(c[d+196>>2]|0){e=b[d+236>>1]|0;while(1){if((e|0)>(b[d+238>>1]|0))break;D_(c[(c[d+196>>2]|0)+(e<<6)+12>>2]|0);e=e+1|0;d=c[f>>2]|0}e=c[d+196>>2]|0;if((b[d+236>>1]|0)==-1){D_(e+-64|0);break}else{D_(e);break}}while(0);if((fz(a)|0)!=(a|0)){nH(c[(c[f>>2]|0)+12>>2]|0);Cz(a,134401)|0}}return}function Xf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;d=c[e>>2]|0;b=c[d+176>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[d+172>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a;d=c[e>>2]|0}b=c[d+184>>2]|0;while(1){a=b+-1|0;if((b|0)<=0)break;b=c[(c[(c[e>>2]|0)+180>>2]|0)+(a<<2)>>2]|0;kh(b);D_(c[b+16>>2]|0);D_(b);b=a}return}function Yf(a){a=a|0;if(ay(a)|0)Zf(a);eJ(a);return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+48|0;g=h+32|0;f=h;b=YD(a,-1,8)|0;d=ZD(a,0,f)|0;XD(a,2,8,f)|0;d=(d|0)==0;e=(b|0)<0;if(e&d)_f(a);else{if(d)c[f+16>>2]=3;else b=e?8:b;c[f+8>>2]=b;c[f+20>>2]=0;e=rD(a,g,0)|0;b=c[g>>2]|0;do if((b|0)==1){_f(a);b=0}else{if(c[(c[(c[a+16>>2]|0)+8>>2]|0)+84>>2]|0){_f(a);b=0;break}c[f+12>>2]=1;d=0;while(1){if((d|0)>=(b|0))break;b=c[e+(d<<2)>>2]|0;$f(b,a);_f(b);d=d+1|0;b=c[g>>2]|0}ag(a);WD(c[g>>2]|0,e,a,f)|0;bg(a);cg(c[g>>2]|0,e,a);b=0}while(0);while(1){if((b|0)>=(c[g>>2]|0))break;f=e+(b<<2)|0;D_(c[(c[(c[f>>2]|0)+16>>2]|0)+8>>2]|0);Wf(c[f>>2]|0);dz(a,c[f>>2]|0)|0;b=b+1|0}D_(e)}l=h;return}function _f(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+40|0;e=m;i=KL(a,nx(a,0,85007,0)|0,-1,1)|0;$M(a,10);d=Nk(a,e)|0;eg(a,a);Qf(a);f=(i|0)==1;g=e+32|0;h=(i|0)==2;i=(i|0)==3;j=e+28|0;e=e+24|0;while(1){zj(a,d);if(f){d=3;break}if(c[g>>2]|0){Pw(0,85013,k)|0;c[e>>2]=0;d=0}Jh(a,(d|0)!=0&1);if(h){d=7;break}Mi(a,d);if(i){d=9;break}n=(c[j>>2]|0)+-1|0;c[j>>2]=n;if(!((n|0)!=0&(c[e>>2]|0)!=0)){d=11;break}}if((d|0)==3)fg(a,1);else if((d|0)==7)fg(a,2);else if((d|0)==9)fg(a,2);else if((d|0)==11){if(b[(c[a+16>>2]|0)+136>>1]&16)gg(a);tk(a);kg(a);if((QL(xx(a,85104)|0)|0)<<24>>24)nl(a)}l=m;return}function $f(b,d){b=b|0;d=d|0;var e=0,f=0;Az(b,134401,280,1)|0;e=uH(96)|0;b=c[b+16>>2]|0;c[b+8>>2]=e;d=c[d+16>>2]|0;f=c[d+8>>2]|0;h[e>>3]=+h[f>>3];h[e+24>>3]=+h[f+24>>3];c[b+144>>2]=c[d+144>>2];a[b+115>>0]=a[d+115>>0]|0;c[b+116>>2]=c[d+116>>2];c[b+248>>2]=c[d+248>>2];c[b+252>>2]=c[d+252>>2];c[b+244>>2]=c[d+244>>2];return}function ag(a){a=a|0;var b=0,d=0,e=0;b=uH((ay(a)|0)<<4)|0;d=Sy(a)|0;while(1){if(!d)break;e=c[d+16>>2]|0;c[e+132>>2]=b;h[b>>3]=+h[e+16>>3]*.013888888888888888;h[b+8>>3]=+h[e+24>>3]*.013888888888888888;b=b+16|0;d=Ty(a,d)|0}return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0;e=c[(c[(Sy(a)|0)+16>>2]|0)+132>>2]|0;b=e;d=Sy(a)|0;while(1){if(!d)break;f=c[d+16>>2]|0;c[f+132>>2]=0;h[f+16>>3]=+h[b>>3]*72.0;h[f+24>>3]=+h[b+8>>3]*72.0;b=b+16|0;d=Ty(a,d)|0}D_(e);return}function cg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;f=0;while(1){if((e|0)>=(a|0))break;i=(c[(c[(c[b+(e<<2)>>2]|0)+16>>2]|0)+180>>2]|0)+f|0;e=e+1|0;f=i}i=d+16|0;c[(c[i>>2]|0)+180>>2]=f;g=uH((f<<2)+4|0)|0;c[(c[i>>2]|0)+184>>2]=g;g=0;e=1;while(1){if((g|0)>=(a|0))break;h=(c[b+(g<<2)>>2]|0)+16|0;f=1;while(1){d=c[h>>2]|0;if((f|0)>(c[d+180>>2]|0))break;d=qD(c[(c[d+184>>2]|0)+(f<<2)>>2]|0)|0;c[(c[(c[i>>2]|0)+184>>2]|0)+(e<<2)>>2]=d;dg(c[(c[(c[h>>2]|0)+184>>2]|0)+(f<<2)>>2]|0,d);f=f+1|0;e=e+1|0}g=g+1|0}return}function dg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Az(d,134401,280,1)|0;g=d+16|0;d=(c[g>>2]|0)+16|0;f=b+16|0;b=(c[f>>2]|0)+16|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];c[d+24>>2]=c[b+24>>2];c[d+28>>2]=c[b+28>>2];b=c[f>>2]|0;d=c[g>>2]|0;a[d+275>>0]=a[b+275>>0]|0;d=d+48|0;b=b+48|0;e=d+64|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));b=c[(c[f>>2]|0)+180>>2]|0;c[(c[g>>2]|0)+180>>2]=b;d=uH((b<<2)+4|0)|0;c[(c[g>>2]|0)+184>>2]=d;d=1;while(1){e=c[f>>2]|0;if((d|0)>(b|0))break;e=qD(c[(c[e+184>>2]|0)+(d<<2)>>2]|0)|0;c[(c[(c[g>>2]|0)+184>>2]|0)+(d<<2)>>2]=e;dg(c[(c[(c[f>>2]|0)+184>>2]|0)+(d<<2)>>2]|0,e);d=d+1|0}f=e+12|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[f>>2]=0;return}function eg(a,b){a=a|0;b=b|0;if((fz(a)|0)!=(a|0))Az(a,134401,280,1)|0;if((a|0)==(b|0))c[(c[(fz(a)|0)+16>>2]|0)+188>>2]=a;a=wA(a)|0;while(1){if(!a)break;eg(a,b);a=xA(a)|0}return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+1040|0;k=m+8|0;j=m;e=m+16|0;f=nx(a,1,87076,191979)|0;g=nx(a,1,85147,191979)|0;h=(b|0)>0;d=(b|0)==1;b=Sy(a)|0;while(1){if(!b)break;if(h?(i=b+16|0,c[j>>2]=c[(c[i>>2]|0)+232>>2],Y0(e,134313,j)|0,rx(b,f,e)|0,!d):0){c[k>>2]=c[(c[i>>2]|0)+236>>2];Y0(e,134313,k)|0;rx(b,g,e)|0}b=Ty(a,b)|0}l=m;return}function gg(a){a=a|0;var b=0,c=0,d=0;c=vA(a,86580,0)|0;if(c|0){b=Sy(c)|0;while(1){if(!b)break;d=Ty(c,b)|0;sh(a,b);hg(a,b);Vf(b);cz(a,b)|0;b=d}zA(a,c)|0}return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=c[(c[b+16>>2]|0)+232>>2]|0;i=a+16|0;a=c[(c[i>>2]|0)+196>>2]|0;d=c[a+(j<<6)>>2]|0;h=a+(j<<6)+4|0;g=0;e=0;while(1){if((e|0)>=(d|0)){f=7;break}f=c[(c[h>>2]|0)+(e<<2)>>2]|0;e=e+1|0;if((f|0)==(b|0)){f=4;break}else g=f}if((f|0)==4){while(1){if((e|0)>=(d|0))break;f=c[a+(j<<6)+4>>2]|0;c[f+(e+-1<<2)>>2]=c[f+(e<<2)>>2];f=c[(c[i>>2]|0)+196>>2]|0;e=e+1|0;d=c[f+(j<<6)>>2]|0;a=f;f=4}c[a+(j<<6)>>2]=d+-1}else if((f|0)==7?(g|0)!=(b|0):0)qa(85113,85120,248,85130);return}function ig(a){a=a|0;return c[(c[(fz(a)|0)+16>>2]|0)+188>>2]|0}function jg(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d<<24>>24){d=~~(+h[b>>3]-+h[c>>3]);if(!d)d=~~(+h[b+8>>3]-+h[c+8>>3])}else d=-1;else d=d<<24>>24!=0&1;return d|0}function kg(a){a=a|0;lg(a,1);return}function lg(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;Z=l;l=l+656|0;O=Z+592|0;N=Z+552|0;f=Z+544|0;T=Z+96|0;U=Z;Y=Z+632|0;V=d+16|0;X=b[(c[V>>2]|0)+136>>1]&14;P=X&65535;Q=T+16|0;c[Q>>2]=Z+368;R=U+16|0;c[R>>2]=Z+192;do if(X<<16>>16){S=X<<16>>16==4;do if(S){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1))A=9;else{Pw(0,85153,f)|0;A=9}}else if(X<<16>>16==8){mg(d);if(!(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)){cN(d,0);n=0;m=0;k=0;break}else{ng(d);cN(d,1);n=0;m=0;k=0;break}}else A=9;while(0);if((A|0)==9){ll(d);if(qJ()|0)break;W=uH(96)|0;K=c[(c[V>>2]|0)+248>>2]|0;c[Y+8>>2]=(K|0)/4|0;c[Y+12>>2]=K;k=uH(512)|0;F=Y+4|0;c[F>>2]=0;c[Y>>2]=0;j=c[V>>2]|0;C=b[j+236>>1]|0;D=0;L=0;M=k;E=k;m=k;n=k;o=k;H=0;I=0;a:while(1){if((C|0)>(b[j+238>>1]|0))break;p=c[j+196>>2]|0;i=c[p+(C<<6)>>2]|0;G=i+D|0;g=c[p+(C<<6)+4>>2]|0;f=c[g>>2]|0;if(!f)f=H;else{_=+(H|0);f=c[f+16>>2]|0;y=+h[f+16>>3]-+h[f+88>>3];f=~~(y>_?_:y)}if((i|0)!=0?(J=c[g+(i+-1<<2)>>2]|0,(J|0)!=0):0){y=+(I|0);g=c[J+16>>2]|0;_=+h[g+96>>3]+ +h[g+16>>3];g=~~(_<y?y:_)}else g=I;B=f+-16|0;z=g+16|0;x=0;t=L;r=M;q=j;u=E;v=m;g=k;f=p;while(1){if((x|0)>=(i|0))break;k=c[(c[f+(C<<6)+4>>2]|0)+(x<<2)>>2]|0;w=k+16|0;f=c[w>>2]|0;i=c[f+112>>2]|0;if(i){i=i+16|0;j=c[(c[i>>2]|0)+96>>2]|0;if(!j){A=21;break a}s=j+56|0;f=f+16|0;c[s>>2]=c[f>>2];c[s+4>>2]=c[f+4>>2];c[s+8>>2]=c[f+8>>2];c[s+12>>2]=c[f+12>>2];a[(c[(c[i>>2]|0)+96>>2]|0)+81>>0]=1;f=c[w>>2]|0}if((a[f+156>>0]|0)!=0?(kb[c[17300>>2]&63](k)|0)<<24>>24==0:0){q=t;f=r;j=u;k=v;i=o}else{s=0;q=t;j=u;k=v;A=25}b:do if((A|0)==25){while(1){A=0;p=c[w>>2]|0;i=c[(c[p+180>>2]|0)+(s<<2)>>2]|0;if(!i)break;switch(a[(c[i+16>>2]|0)+112>>0]|0){case 6:case 4:{f=q;i=r;break}default:{og(i,1,16,64);f=q+1|0;c[r+(q<<2)>>2]=i;if(!(f&127)){g=xH(g,(q<<2)+516|0)|0;i=g;j=g;k=g;n=g;o=g}else i=r}}s=s+1|0;q=f;r=i;A=25}f=c[p+188>>2]|0;c:do if(!f)i=o;else{s=0;i=o;while(1){f=c[f+(s<<2)>>2]|0;if(!f)break c;og(f,2,0,128);o=q+1|0;c[r+(q<<2)>>2]=f;if(!(o&127)){g=xH(i,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=r;p=c[w>>2]|0;s=s+1|0;q=o;r=f;f=c[p+188>>2]|0}}while(0);f=c[p+204>>2]|0;if(!f)f=r;else{if(!(a[p+156>>0]|0)){v=p+96|0;_=+h[v>>3];s=p+240|0;h[v>>3]=+h[s>>3];h[s>>3]=_;s=0;p=r}else{s=0;p=r}while(1){f=c[f+(s<<2)>>2]|0;if(!f){f=p;break b}og(f,0,0,128);o=q+1|0;c[p+(q<<2)>>2]=f;if(!(o&127)){g=xH(n,(q<<2)+516|0)|0;f=g;j=g;k=g;n=g;i=g}else f=p;s=s+1|0;q=o;p=f;f=c[(c[w>>2]|0)+204>>2]|0}}}while(0);u=c[V>>2]|0;w=c[u+196>>2]|0;x=x+1|0;t=q;r=f;q=u;u=j;v=k;o=i;i=c[w+(C<<6)>>2]|0;f=w}C=C+1|0;D=G;L=t;M=r;E=u;j=q;m=v;k=g;H=B;I=z}if((A|0)==21)qa(85221,85234,313,85247);c[Y>>2]=H;c[F>>2]=I;_0(E,L,4,58);c[W+84>>2]=uH((D<<5)+11520|0)|0;c[Y+16>>2]=uH(C<<5)|0;d:do if(X<<16>>16==2){f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break d;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);f=c[i>>2]|0}f=f+164|0}}while(0);z=U+48|0;A=U+-48|0;B=T+48|0;C=T+-48|0;y=+(K|0);x=0;e:while(1){if((x|0)>=(L|0))break;v=M+(x<<2)|0;r=c[v>>2]|0;s=rg(r)|0;t=r+16|0;g=c[t>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:r;f=g;g=c[g+16>>2]|0}else f=r;i=f+16|0;if(c[g+164>>2]&32){g=c[Q>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=T;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[Q>>2]=g;o=c[f>>2]&3;n=c[T>>2]&3;c[((n|0)==3?T:B)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?T:C)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f;f=T}q=f+16|0;w=1;f=x;while(1){u=f+1|0;if((u|0)>=(L|0))break;j=M+(u<<2)|0;f=c[j>>2]|0;if((s|0)!=(rg(f)|0))break;if(!(a[(c[t>>2]|0)+113>>0]|0)){k=f+16|0;g=c[k>>2]|0;if(!(a[g+44>>0]|0)){g=(a[g+84>>0]|0)==0?s:f;f=g;g=c[g+16>>2]|0}i=f+16|0;if(c[g+164>>2]&32){g=c[R>>2]|0;F3(g|0,c[i>>2]|0,176)|0;n=U;o=f;p=n+48|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));c[R>>2]=g;o=c[f>>2]&3;n=c[U>>2]&3;c[((n|0)==3?U:z)+40>>2]=c[((o|0)==2?f:f+-48|0)+40>>2];c[((n|0)==2?U:A)+40>>2]=c[((o|0)==3?f:f+48|0)+40>>2];n=g+16|0;o=(c[i>>2]|0)+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=g+56|0;o=(c[i>>2]|0)+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));a[g+112>>0]=1;c[g+116>>2]=f}i=c[q>>2]|0;f=g+16|0;n=N;o=i+16|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;f=g+56|0;n=N;o=i+56|0;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));n=O;o=f;p=n+40|0;do{c[n>>2]=c[o>>2];n=n+4|0;o=o+4|0}while((n|0)<(p|0));if(jg(N,O)|0)break;K=c[t>>2]|0;if((c[K+164>>2]&15|0)==2?(c[K+96>>2]|0)!=(c[(c[k>>2]|0)+96>>2]|0):0)break;if(c[(c[(c[j>>2]|0)+16>>2]|0)+164>>2]&64|0)break}w=w+1|0;f=u}if(S){if((w|0)==1)f=O;else f=uH(w<<2)|0;c[f>>2]=rg(c[v>>2]|0)|0;g=1;while(1){if((g|0)>=(w|0))break;c[f+(g<<2)>>2]=c[v+(g<<2)>>2];g=g+1|0}AJ(d,f,w,P,17296);if((w|0)>1)D_(f);x=u;continue}f=c[r>>2]&3;K=c[((f|0)==3?r:r+48|0)+40>>2]|0;f=c[((f|0)==2?r:r+-48|0)+40>>2]|0;g=c[K+16>>2]|0;i=c[g+232>>2]|0;if((K|0)!=(f|0))if((i|0)==(c[(c[f+16>>2]|0)+232>>2]|0)){sg(d,Y,W,M,x,w,P);x=u;continue}else{tg(d,Y,W,M,x,w,P);x=u;continue}f=c[V>>2]|0;do if((i|0)==(b[f+238>>1]|0))if((i|0)>0){f=~~(+h[(c[(c[c[(c[f+196>>2]|0)+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[g+24>>3]);break}else{f=~~+h[g+80>>3];break}else if((i|0)==(b[f+236>>1]|0)){f=~~(+h[g+24>>3]-+h[(c[(c[c[(c[f+196>>2]|0)+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);break}else{f=c[f+196>>2]|0;_=+h[g+24>>3];K=~~(+h[(c[(c[c[f+(i+-1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-_);f=~~(_-+h[(c[(c[c[f+(i+1<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]);f=(K|0)<(f|0)?K:f;break}while(0);YK(W,M,x,w,y,+((f|0)/2|0|0),17296);f=0;while(1){if((f|0)>=(w|0)){x=u;continue e}g=c[(c[(c[M+(f+x<<2)>>2]|0)+16>>2]|0)+96>>2]|0;if(g|0)kM(d,g);f=f+1|0}}f=(c[V>>2]|0)+192|0;while(1){g=c[f>>2]|0;if(!g)break;i=g+16|0;f=c[i>>2]|0;if((a[f+156>>0]|0)==1?(c[f+104>>2]|0)!=0:0){qg(g);kM(d,c[(c[i>>2]|0)+104>>2]|0);f=c[i>>2]|0}f=f+164|0}if(!e){n=W;k=W}else{ug(d);n=W;k=W}}f:do if((c[46427]|0)!=0|(c[46428]|0)!=0?(c[46433]|0)!=0|(c[46432]|0)!=0:0){j=Sy(d)|0;while(1){if(!j)break f;g:do if(c[46427]|0){f=Hx(d,j)|0;while(1){if(!f)break g;g=f+-48|0;i=(c[f>>2]&3|0)==2?f:g;if(c[(c[i+16>>2]|0)+100>>2]|0){eL(i,1)|0;kM(d,c[(c[((c[f>>2]&3|0)==2?f:g)+16>>2]|0)+100>>2]|0)}f=Ix(d,f)|0}}while(0);h:do if(c[46428]|0){f=Ex(d,j)|0;while(1){if(!f)break h;g=f+16|0;if(c[(c[g>>2]|0)+104>>2]|0?eL(f,0)|0:0)kM(d,c[(c[g>>2]|0)+104>>2]|0);f=Gx(d,f)|0}}while(0);j=Ty(d,j)|0}}while(0);switch(X&15){case 4:case 8:break;default:{D_(m);D_(c[n+84>>2]|0);D_(k);D_(c[Y+16>>2]|0);rJ()}}c[46367]=1;c[46368]=1}while(0);l=Z;return}function mg(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=Sy(a)|0;while(1){if(!b)break;d=c[b+16>>2]|0;if(c[d+204>>2]|0){f=d+96|0;e=+h[f>>3];d=d+240|0;h[f>>3]=+h[d>>3];h[d>>3]=e}b=Ty(a,b)|0}return}function ng(b){b=b|0;var d=0,e=0,f=0,g=0;d=(c[b+16>>2]|0)+192|0;a:while(1){f=c[d>>2]|0;if(!f){d=12;break}g=f+16|0;d=c[g>>2]|0;do if((a[d+156>>0]|0)==1){e=c[d+112>>2]|0;if(!e){e=c[d+104>>2]|0;if(!e)break;qg(f);d=e}else{e=c[(c[e+16>>2]|0)+96>>2]|0;if(!e){d=6;break a}f=e+56|0;d=d+16|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];a[e+81>>0]=1;d=e}kM(b,d);d=c[g>>2]|0}while(0);d=d+164|0}if((d|0)==6)qa(85421,85234,234,85440);else if((d|0)==12)return}function og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){g=c[b>>2]&3;d=c[((g|0)==3?b:b+48|0)+40>>2]|0;g=c[((g|0)==2?b:b+-48|0)+40>>2]|0;if((d|0)!=(g|0)){d=(c[(c[d+16>>2]|0)+232>>2]|0)==(c[(c[g+16>>2]|0)+232>>2]|0)?2:1;break}d=c[b+16>>2]|0;if(!(a[d+44>>0]|0))d=(a[d+84>>0]|0)==0?8:4;else d=4}while(0);a:do if(!e)switch(d|0){case 1:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)?16:32;break a}case 2:{e=c[b>>2]&3;e=(c[(c[(c[((e|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[((e|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)?16:32;break a}default:{e=16;break a}}while(0);c[(c[b+16>>2]|0)+164>>2]=d|f|e;return}function pg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+624|0;z=D+584|0;y=D+544|0;s=D+368|0;e=D+192|0;t=D+96|0;v=D;u=t+16|0;c[u>>2]=s;w=v+16|0;c[w>>2]=e;C=c[b>>2]|0;B=c[d>>2]|0;x=C+16|0;q=c[x>>2]|0;d=c[q+164>>2]|0;f=d&15;A=B+16|0;b=c[A>>2]|0;g=c[b+164>>2]&15;do if((g|0)==(f|0)){p=rg(C)|0;r=rg(B)|0;n=c[p>>2]|0;g=n&3;f=c[(c[((g|0)==3?p:p+48|0)+40>>2]|0)+16>>2]|0;g=c[(c[((g|0)==2?p:p+-48|0)+40>>2]|0)+16>>2]|0;i=(c[f+232>>2]|0)-(c[g+232>>2]|0)|0;o=c[r>>2]|0;m=o&3;k=c[(c[((m|0)==3?r:r+48|0)+40>>2]|0)+16>>2]|0;m=c[(c[((m|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0;j=(c[k+232>>2]|0)-(c[m+232>>2]|0)|0;i=(i|0)>-1?i:0-i|0;j=(j|0)>-1?j:0-j|0;if((i|0)!=(j|0)){b=i-j|0;break}g=~~(+h[f+16>>3]-+h[g+16>>3]);g=(g|0)>-1?g:0-g|0;f=~~(+h[k+16>>3]-+h[m+16>>3]);f=(f|0)>-1?f:0-f|0;if((g|0)!=(f|0)){b=g-f|0;break}g=n>>>4;f=o>>>4;if((g|0)!=(f|0)){b=g-f|0;break}if(!(a[q+44>>0]|0)){d=(a[q+84>>0]|0)==0?p:C;g=d;d=c[(c[d+16>>2]|0)+164>>2]|0}else g=C;f=g+16|0;if(d&32){F3(s|0,c[f>>2]|0,176)|0;i=t;j=g;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[u>>2]=s;j=c[g>>2]&3;i=c[t>>2]&3;c[((i|0)==3?t:t+48|0)+40>>2]=c[((j|0)==2?g:g+-48|0)+40>>2];c[((i|0)==2?t:t+-48|0)+40>>2]=c[((j|0)==3?g:g+48|0)+40>>2];i=s+16|0;j=(c[f>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=s+56|0;j=(c[f>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[s+112>>0]=1;c[s+116>>2]=g;g=t;b=c[A>>2]|0}if(!(a[b+44>>0]|0)){b=(a[b+84>>0]|0)==0?r:B;f=b;b=c[b+16>>2]|0}else f=B;d=f+16|0;if(!(c[b+164>>2]&32))e=b;else{F3(e|0,c[d>>2]|0,176)|0;i=v;j=f;k=i+48|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[w>>2]=e;j=c[f>>2]&3;i=c[v>>2]&3;c[((i|0)==3?v:v+48|0)+40>>2]=c[((j|0)==2?f:f+-48|0)+40>>2];c[((i|0)==2?v:v+-48|0)+40>>2]=c[((j|0)==3?f:f+48|0)+40>>2];i=e+16|0;j=(c[d>>2]|0)+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=e+56|0;j=(c[d>>2]|0)+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));a[e+112>>0]=1;c[e+116>>2]=f}d=c[g+16>>2]|0;b=e+16|0;i=y;j=d+16|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){b=e+56|0;i=y;j=d+56|0;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));i=z;j=b;k=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));b=jg(y,z)|0;if(!b){d=c[(c[x>>2]|0)+164>>2]&192;b=c[(c[A>>2]|0)+164>>2]&192;if((d|0)==(b|0)){b=((c[C>>2]|0)>>>4)-((c[B>>2]|0)>>>4)|0;break}else{b=d-b|0;break}}}}else b=g-f|0;while(0);l=D;return b|0}function qg(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if(c[d+176>>2]|0){d=c[d+180>>2]|0;while(1){d=(c[d>>2]|0)+16|0;e=c[d>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}e=c[e+96>>2]|0;g=+h[e+24>>3];i=+h[e+32>>3];e=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=c[f>>2]|0;f=c[(c[d>>2]|0)+96>>2]|0;h[f+56>>3]=(e?i:g)*.5+ +h[b+16>>3];h[f+64>>3]=+h[b+24>>3];a[f+81>>0]=1}return}function rg(a){a=a|0;var b=0,d=0;while(1){b=c[a+16>>2]|0;d=c[b+172>>2]|0;if(!d)break;else a=d}while(1){b=c[b+116>>2]|0;if(!b)break;a=b;b=c[b+16>>2]|0}return a|0}function sg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0;B=l;l=l+1712|0;x=B+1664|0;s=B+1488|0;t=B+1392|0;A=B+1696|0;y=B+696|0;z=B;p=t+16|0;c[p>>2]=s;q=c[f+(g<<2)>>2]|0;r=q+16|0;k=c[r>>2]|0;u=a[k+113>>0]|0;if(c[k+164>>2]&32){F3(s|0,k|0,176)|0;k=t;n=q;o=k+48|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));c[p>>2]=s;k=c[t>>2]&3;c[((k|0)==3?t:t+48|0)+40>>2]=c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2];c[((k|0)==2?t:t+-48|0)+40>>2]=c[((c[q>>2]&3|0)==3?q:q+48|0)+40>>2];k=s+16|0;n=(c[r>>2]|0)+56|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));k=s+56|0;n=(c[r>>2]|0)+16|0;o=k+40|0;do{c[k>>2]=c[n>>2];k=k+4|0;n=n+4|0}while((k|0)<(o|0));a[s+112>>0]=1;c[s+116>>2]=q;q=t}k=1;while(1){if((k|0)>=(i|0)){w=6;break}if(!(a[(c[(c[f+(k+g<<2)>>2]|0)+16>>2]|0)+113>>0]|0))k=k+1|0;else{w=7;break}}a:do if((w|0)==6)if(!(u<<24>>24)){k=c[q+16>>2]|0;if(c[k+96>>2]|0){Sg(b,d,e,q,j);break}if((j|0)==2){A=c[q>>2]&3;Tg(c[((A|0)==3?q:q+48|0)+40>>2]|0,c[((A|0)==2?q:q+-48|0)+40>>2]|0,f,g,i,2);break}t=a[k+49>>0]|0;u=a[k+89>>0]|0;if(!(t<<24>>24==1&u<<24>>24!=4)?!(t<<24>>24!=4&u<<24>>24==1):0){p=c[q>>2]&3;o=c[((p|0)==3?q:q+48|0)+40>>2]|0;p=c[((p|0)==2?q:q+-48|0)+40>>2]|0;k=c[o+16>>2]|0;n=c[k+232>>2]|0;if((n|0)>0){u=c[(c[b+16>>2]|0)+196>>2]|0;t=n+~(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1)|0;m=+h[(c[(c[c[u+(t<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[u+(t<<6)+16>>3]-+h[k+24>>3]-+h[u+(n<<6)+24>>3]}else m=+(c[(c[b+16>>2]|0)+252>>2]|0);C=+(i+1|0);v=+(c[d+12>>2]|0)/C;m=m/C;Vg(b,d,e,o,q,y,1);Vg(b,d,e,p,q,z,0);s=y+52|0;t=z+52|0;p=(j|0)==10;q=e+80|0;k=0;while(1){if((k|0)>=(i|0))break a;r=c[f+(k+g<<2)>>2]|0;o=c[s>>2]|0;n=o+-1|0;G=+h[y+56+(n<<5)>>3];F=+h[y+56+(n<<5)+16>>3];E=+h[y+56+(n<<5)+24>>3];h[18830]=G;h[18831]=E;k=k+1|0;C=+(k|0);D=v*C;h[18832]=F+D;C=E+m*C;h[18833]=C;h[18834]=G;h[18835]=C;n=(c[t>>2]|0)+-1|0;G=+h[z+56+(n<<5)+16>>3];h[18836]=G;h[18837]=C+m;E=+h[z+56+(n<<5)>>3];F=+h[z+56+(n<<5)+24>>3];h[18840]=G;h[18839]=F;h[18838]=E-D;h[18841]=C;n=0;while(1){if((n|0)>=(o|0)){n=0;break}o=y+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);n=n+1|0;o=c[s>>2]|0}while(1){if((n|0)==3)break;j=150640+(n<<5)|0;c[x>>2]=c[j>>2];c[x+4>>2]=c[j+4>>2];c[x+8>>2]=c[j+8>>2];c[x+12>>2]=c[j+12>>2];c[x+16>>2]=c[j+16>>2];c[x+20>>2]=c[j+20>>2];c[x+24>>2]=c[j+24>>2];c[x+28>>2]=c[j+28>>2];SK(e,x);n=n+1|0}o=c[t>>2]|0;while(1){n=o+-1|0;if((o|0)<=0)break;o=z+56+(n<<5)|0;c[x>>2]=c[o>>2];c[x+4>>2]=c[o+4>>2];c[x+8>>2]=c[o+8>>2];c[x+12>>2]=c[o+12>>2];c[x+16>>2]=c[o+16>>2];c[x+20>>2]=c[o+20>>2];c[x+24>>2]=c[o+24>>2];c[x+28>>2]=c[o+28>>2];SK(e,x);o=n}if(p)n=sJ(e,A)|0;else n=yJ(e,A)|0;o=c[A>>2]|0;if(!o)break a;QK(r,c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0,n,o,17296);c[q>>2]=0}}Ug(b,d,e,f,g,i,q,(j|0)==10&1)}else w=7;while(0);if((w|0)==7)Rg(b,f,g,i,q,j);l=B;return}function tg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ba=l;l=l+2576|0;S=ba+2528|0;_=ba+2568|0;k=ba+2352|0;n=ba+2176|0;t=ba+1904|0;Y=ba+1808|0;$=ba+1712|0;T=ba+1016|0;U=ba+320|0;V=ba+256|0;X=ba+2564|0;Z=ba+2560|0;z=ba+288|0;A=ba+224|0;L=ba+192|0;M=ba+160|0;N=ba+128|0;P=ba+96|0;Q=ba+64|0;R=ba+32|0;W=ba;s=t+16|0;c[s>>2]=k;o=Y+16|0;c[o>>2]=n;aa=$+16|0;c[aa>>2]=ba+2e3;if(!(c[45964]|0)){c[45964]=vH(32e3)|0;c[45965]=vH(32e3)|0;c[45966]=2e3;c[45967]=2e3}u=c[f+(g<<2)>>2]|0;K=c[u>>2]&3;p=u+48|0;q=u+-48|0;K=(c[(c[(c[((K|0)==3?u:p)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((K|0)==2?u:q)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0;r=u+16|0;if((((K|0)>-1?K:0-K|0)|0)<=1){k=c[r>>2]|0;if(!(c[k+164>>2]&32)){K=u;n=0}else{n=c[s>>2]|0;F3(n|0,k|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=n;w=c[t>>2]&3;c[((w|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?t:t+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[s>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;n=0;J=12}}else{F3(k|0,c[r>>2]|0,176)|0;w=t;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));w=t+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[s>>2]=k;k=c[r>>2]|0;if(!(c[k+164>>2]&32)){F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=Y+48|0;x=p;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}else{n=c[o>>2]|0;F3(n|0,k|0,176)|0;w=Y;x=u;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[o>>2]=n;w=c[Y>>2]&3;c[((w|0)==3?Y:Y+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];c[((w|0)==2?Y:Y+-48|0)+40>>2]=c[((c[u>>2]&3|0)==3?u:p)+40>>2];w=n+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[o>>2]|0;w=k+56|0;x=(c[r>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=u;o=c[t>>2]|0;c[((o&3|0)==3?t:t+48|0)+40>>2]=c[((c[u>>2]&3|0)==2?u:q)+40>>2];w=(c[s>>2]|0)+16|0;x=(c[r>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0))}k=rg(u)|0;while(1){n=c[(c[k+16>>2]|0)+172>>2]|0;if(!n)break;else k=n}c[((o&3|0)==2?t:t+-48|0)+40>>2]=c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2];k=c[s>>2]|0;a[k+84>>0]=0;a[k+112>>0]=1;n=k+56|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;n=1;J=12}if((J|0)==12){c[k+116>>2]=u;K=t}H=(j|0)==2;if(H?(v=xg(b,K,c[45964]|0,_)|0,c[Z>>2]=v,(v|0)!=0):0)J=63;else J=15;a:do if((J|0)==15){G=(j|0)==10;c[Z>>2]=0;o=c[K>>2]&3;k=c[((o|0)==3?K:K+48|0)+40>>2]|0;o=c[((o|0)==2?K:K+-48|0)+40>>2]|0;c[_>>2]=o;yg(z,b,d,k,0,K);c[T>>2]=c[z>>2];c[T+4>>2]=c[z+4>>2];c[T+8>>2]=c[z+8>>2];c[T+12>>2]=c[z+12>>2];c[T+16>>2]=c[z+16>>2];c[T+20>>2]=c[z+20>>2];c[T+24>>2]=c[z+24>>2];c[T+28>>2]=c[z+28>>2];c[V>>2]=c[z>>2];c[V+4>>2]=c[z+4>>2];c[V+8>>2]=c[z+8>>2];c[V+12>>2]=c[z+12>>2];c[V+16>>2]=c[z+16>>2];c[V+20>>2]=c[z+20>>2];TK(e,K,1,T,zg(k)|0);B=T+52|0;I=(c[B>>2]|0)+-1|0;D=V+24|0;h[D>>3]=+h[T+56+(I<<5)+24>>3];E=V+8|0;h[E>>3]=+h[T+56+(I<<5)+8>>3];I=c[k+16>>2]|0;F=b+16|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(A,S,1,m);c[V>>2]=c[A>>2];c[V+4>>2]=c[A+4>>2];c[V+8>>2]=c[A+8>>2];c[V+12>>2]=c[A+12>>2];c[V+16>>2]=c[A+16>>2];c[V+20>>2]=c[A+20>>2];c[V+24>>2]=c[A+24>>2];c[V+28>>2]=c[A+28>>2];A=V+16|0;if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){I=c[B>>2]|0;c[B>>2]=I+1;I=T+56+(I<<5)|0;c[I>>2]=c[V>>2];c[I+4>>2]=c[V+4>>2];c[I+8>>2]=c[V+8>>2];c[I+12>>2]=c[V+12>>2];c[I+16>>2]=c[V+16>>2];c[I+20>>2]=c[V+20>>2];c[I+24>>2]=c[V+24>>2];c[I+28>>2]=c[V+28>>2]}w=b+60|0;C=U+52|0;x=e+56|0;y=e+69|0;j=e+16|0;z=e+29|0;I=K;q=0;r=-1;b:while(1){s=k;t=0;k=0;u=I;while(1){p=o;v=o;if((a[(c[p+16>>2]|0)+156>>0]|0)!=1)break b;if((kb[c[17300>>2]&63](p)|0)<<24>>24)break b;o=t|1;ca=150640+(t<<5)|0;Bg(L,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[ca>>2]=c[L>>2];c[ca+4>>2]=c[L+4>>2];c[ca+8>>2]=c[L+8>>2];c[ca+12>>2]=c[L+12>>2];c[ca+16>>2]=c[L+16>>2];c[ca+20>>2]=c[L+20>>2];c[ca+24>>2]=c[L+24>>2];c[ca+28>>2]=c[L+28>>2];if(!k){q=Cg(p)|0;k=(q|0)<((a[(c[(c[w>>2]|0)+16>>2]|0)+113>>0]<<1&2)+3&255|0);q=k?q:q+-2|0;r=k?r:1;k=(k^1)&1}if(!((k|0)==0|(r|0)>0))break;ca=150640+(o<<5)|0;yg(M,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[ca>>2]=c[M>>2];c[ca+4>>2]=c[M+4>>2];c[ca+8>>2]=c[M+8>>2];c[ca+12>>2]=c[M+12>>2];c[ca+16>>2]=c[M+16>>2];c[ca+20>>2]=c[M+20>>2];c[ca+24>>2]=c[M+24>>2];c[ca+28>>2]=c[M+28>>2];ca=c[c[(c[v+16>>2]|0)+180>>2]>>2]|0;o=c[ca>>2]&3;s=c[((o|0)==3?ca:ca+48|0)+40>>2]|0;o=c[((o|0)==2?ca:ca+-48|0)+40>>2]|0;c[_>>2]=o;t=t+2|0;r=r+-1|0;u=ca}yg(N,b,d,p,u,c[c[(c[p+16>>2]|0)+180>>2]>>2]|0);c[U>>2]=c[N>>2];c[U+4>>2]=c[N+4>>2];c[U+8>>2]=c[N+8>>2];c[U+12>>2]=c[N+12>>2];c[U+16>>2]=c[N+16>>2];c[U+20>>2]=c[N+20>>2];c[U+24>>2]=c[N+24>>2];c[U+28>>2]=c[N+28>>2];WK(e,u,1,U,zg(c[((c[u>>2]&3|0)==2?u:u+-48|0)+40>>2]|0)|0);ca=U+56+((c[C>>2]|0)+-1<<5)|0;t=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[t+232>>2]<<6)+24>>3]+ +h[t+24>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,4,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[x>>3]=1.5707963267948966;a[y>>0]=1;Dg(e,I,u,T,U,o);if(!G){k=yJ(e,X)|0;o=c[X>>2]|0;if(H&(o|0)>4){ca=k+16|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];ca=k+32|0;o=k+(o+-1<<4)|0;c[ca>>2]=c[o>>2];c[ca+4>>2]=c[o+4>>2];c[ca+8>>2]=c[o+8>>2];c[ca+12>>2]=c[o+12>>2];G3(k+48|0,o|0,16)|0;c[X>>2]=4;o=4}else J=33}else{k=sJ(e,X)|0;o=c[X>>2]|0;J=33}if((J|0)==33){J=0;if(!o)break a}u=c[Z>>2]|0;p=u+o|0;if((p|0)>(c[45966]|0)){c[45966]=p<<1;t=xH(c[45964]|0,p<<5)|0;c[45964]=t;o=c[X>>2]|0}else t=c[45964]|0;s=0;p=u;while(1){if((s|0)>=(o|0))break;ca=t+(p<<4)|0;u=k+(s<<4)|0;c[ca>>2]=c[u>>2];c[ca+4>>2]=c[u+4>>2];c[ca+8>>2]=c[u+8>>2];c[ca+12>>2]=c[u+12>>2];s=s+1|0;p=p+1|0}c[Z>>2]=p;o=Eg(c[c[(c[v+16>>2]|0)+180>>2]>>2]|0,q,t,Z)|0;Fg(I,e);p=c[o>>2]&3;k=c[((p|0)==3?o:o+48|0)+40>>2]|0;p=c[((p|0)==2?o:o+-48|0)+40>>2]|0;c[_>>2]=p;I=k+16|0;yg(P,b,d,k,c[c[(c[I>>2]|0)+172>>2]>>2]|0,o);c[T>>2]=c[P>>2];c[T+4>>2]=c[P+4>>2];c[T+8>>2]=c[P+8>>2];c[T+12>>2]=c[P+12>>2];c[T+16>>2]=c[P+16>>2];c[T+20>>2]=c[P+20>>2];c[T+24>>2]=c[P+24>>2];c[T+28>>2]=c[P+28>>2];TK(e,o,1,T,zg(k)|0);ca=T+56+((c[B>>2]|0)+-1<<5)|0;I=c[I>>2]|0;m=+h[I+24>>3]-+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[I+232>>2]<<6)+16>>3];c[S>>2]=c[ca>>2];c[S+4>>2]=c[ca+4>>2];c[S+8>>2]=c[ca+8>>2];c[S+12>>2]=c[ca+12>>2];c[S+16>>2]=c[ca+16>>2];c[S+20>>2]=c[ca+20>>2];c[S+24>>2]=c[ca+24>>2];c[S+28>>2]=c[ca+28>>2];Ag(V,S,1,m);if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[B>>2]|0;c[B>>2]=ca+1;ca=T+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}h[j>>3]=-1.5707963267948966;a[z>>0]=1;I=o;o=p}k=t|1;r=150640+(t<<5)|0;Bg(Q,d,b,c[(c[s+16>>2]|0)+232>>2]|0);c[r>>2]=c[Q>>2];c[r+4>>2]=c[Q+4>>2];c[r+8>>2]=c[Q+8>>2];c[r+12>>2]=c[Q+12>>2];c[r+16>>2]=c[Q+16>>2];c[r+20>>2]=c[Q+20>>2];c[r+24>>2]=c[Q+24>>2];c[r+28>>2]=c[Q+28>>2];yg(R,b,d,p,u,0);c[U>>2]=c[R>>2];c[U+4>>2]=c[R+4>>2];c[U+8>>2]=c[R+8>>2];c[U+12>>2]=c[R+12>>2];c[U+16>>2]=c[R+16>>2];c[U+20>>2]=c[R+20>>2];c[U+24>>2]=c[R+24>>2];c[U+28>>2]=c[R+28>>2];c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[V+20>>2]=c[R+20>>2];c[V+24>>2]=c[R+24>>2];c[V+28>>2]=c[R+28>>2];r=(n|0)!=0;s=u+-48|0;WK(e,r?Y:u,1,U,zg(c[((c[u>>2]&3|0)==2?u:s)+40>>2]|0)|0);ca=(c[C>>2]|0)+-1|0;h[D>>3]=+h[U+56+(ca<<5)+24>>3];h[E>>3]=+h[U+56+(ca<<5)+8>>3];ca=c[v+16>>2]|0;m=+h[(c[(c[F>>2]|0)+196>>2]|0)+(c[ca+232>>2]<<6)+24>>3]+ +h[ca+24>>3];c[S>>2]=c[V>>2];c[S+4>>2]=c[V+4>>2];c[S+8>>2]=c[V+8>>2];c[S+12>>2]=c[V+12>>2];c[S+16>>2]=c[V+16>>2];c[S+20>>2]=c[V+20>>2];c[S+24>>2]=c[V+24>>2];c[S+28>>2]=c[V+28>>2];Ag(W,S,4,m);c[V>>2]=c[W>>2];c[V+4>>2]=c[W+4>>2];c[V+8>>2]=c[W+8>>2];c[V+12>>2]=c[W+12>>2];c[V+16>>2]=c[W+16>>2];c[V+20>>2]=c[W+20>>2];c[V+24>>2]=c[W+24>>2];c[V+28>>2]=c[W+28>>2];if(+h[V>>3]<+h[A>>3]?+h[E>>3]<+h[D>>3]:0){ca=c[C>>2]|0;c[C>>2]=ca+1;ca=U+56+(ca<<5)|0;c[ca>>2]=c[V>>2];c[ca+4>>2]=c[V+4>>2];c[ca+8>>2]=c[V+8>>2];c[ca+12>>2]=c[V+12>>2];c[ca+16>>2]=c[V+16>>2];c[ca+20>>2]=c[V+20>>2];c[ca+24>>2]=c[V+24>>2];c[ca+28>>2]=c[V+28>>2]}Dg(e,I,u,T,U,k);if(G)q=sJ(e,X)|0;else q=yJ(e,X)|0;k=c[X>>2]|0;if(!(H&(k|0)>4)){if(!k)break}else{ca=q+16|0;c[ca>>2]=c[q>>2];c[ca+4>>2]=c[q+4>>2];c[ca+8>>2]=c[q+8>>2];c[ca+12>>2]=c[q+12>>2];ca=q+32|0;k=q+(k+-1<<4)|0;c[ca>>2]=c[k>>2];c[ca+4>>2]=c[k+4>>2];c[ca+8>>2]=c[k+8>>2];c[ca+12>>2]=c[k+12>>2];G3(q+48|0,k|0,16)|0;c[X>>2]=4;k=4}o=c[Z>>2]|0;n=o+k|0;if((n|0)>(c[45966]|0)){c[45966]=n<<1;p=xH(c[45964]|0,n<<5)|0;c[45964]=p;k=c[X>>2]|0}else p=c[45964]|0;n=0;while(1){if((n|0)>=(k|0))break;ca=p+(o<<4)|0;X=q+(n<<4)|0;c[ca>>2]=c[X>>2];c[ca+4>>2]=c[X+4>>2];c[ca+8>>2]=c[X+8>>2];c[ca+12>>2]=c[X+12>>2];n=n+1|0;o=o+1|0}c[Z>>2]=o;Fg(I,e);if(r)k=(c[Y>>2]&3|0)==2?Y:Y+-48|0;else k=(c[u>>2]&3|0)==2?u:s;c[_>>2]=c[k+40>>2];v=o;J=63}while(0);c:do if((J|0)==63){if((i|0)==1){QK(K,c[_>>2]|0,c[45964]|0,v,17296);break}t=d+12|0;u=v+-1|0;m=+((O(c[t>>2]|0,i+-1|0)|0)/2|0|0);n=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=n+(k<<4)|0;h[ca>>3]=+h[ca>>3]-m;k=k+1|0}k=c[45966]|0;if((k|0)>(c[45967]|0)){c[45967]=k;o=xH(c[45965]|0,k<<4)|0;c[45965]=o;n=c[45964]|0}else o=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=o+(k<<4)|0;d=n+(k<<4)|0;c[ca>>2]=c[d>>2];c[ca+4>>2]=c[d+4>>2];c[ca+8>>2]=c[d+8>>2];c[ca+12>>2]=c[d+12>>2];k=k+1|0}QK(K,c[_>>2]|0,o,v,17296);r=$+48|0;s=$+-48|0;q=1;while(1){if((q|0)>=(i|0))break c;o=c[f+(q+g<<2)>>2]|0;p=o+16|0;k=c[p>>2]|0;if(c[k+164>>2]&32){n=c[aa>>2]|0;F3(n|0,k|0,176)|0;w=$;x=o;y=w+48|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));c[aa>>2]=n;w=c[$>>2]&3;c[((w|0)==3?$:r)+40>>2]=c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2];c[((w|0)==2?$:s)+40>>2]=c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2];w=n+16|0;x=(c[p>>2]|0)+56|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));k=c[aa>>2]|0;w=k+56|0;x=(c[p>>2]|0)+16|0;y=w+40|0;do{c[w>>2]=c[x>>2];w=w+4|0;x=x+4|0}while((w|0)<(y|0));a[k+112>>0]=1;c[k+116>>2]=o;o=$}p=c[45964]|0;k=1;while(1){if((k|0)>=(u|0))break;ca=p+(k<<4)|0;h[ca>>3]=+h[ca>>3]+ +(c[t>>2]|0);k=k+1|0}n=c[45965]|0;k=0;while(1){if((k|0)>=(v|0))break;ca=n+(k<<4)|0;_=p+(k<<4)|0;c[ca>>2]=c[_>>2];c[ca+4>>2]=c[_+4>>2];c[ca+8>>2]=c[_+8>>2];c[ca+12>>2]=c[_+12>>2];k=k+1|0}QK(o,c[((c[o>>2]&3|0)==2?o:o+-48|0)+40>>2]|0,n,v,17296);q=q+1|0}}while(0);l=ba;return}function ug(a){a=a|0;var b=0,d=0,e=0;b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;if((kb[c[4324]&63](d)|0)<<24>>24?(e=c[(c[d+16>>2]|0)+8>>2]|0,e|0):0)vg(e);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function vg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=c[a+4>>2]|0;g=vH(f*48|0)|0;b=g;d=0;e=(c[a>>2]|0)+((f+-1|0)*48|0)|0;while(1){if((d|0)>=(f|0)){b=0;break}wg(e,b);b=b+48|0;d=d+1|0;e=e+-48|0}while(1){d=c[a>>2]|0;if((b|0)>=(f|0))break;D_(c[d+(b*48|0)>>2]|0);b=b+1|0}D_(d);c[a>>2]=g;return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;h=vH(g<<4)|0;d=h;e=0;f=(c[a>>2]|0)+(g+-1<<4)|0;while(1){if((e|0)>=(g|0))break;c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];d=d+16|0;e=e+1|0;f=f+-16|0}c[b>>2]=h;c[b+4>>2]=g;c[b+8>>2]=c[a+12>>2];c[b+12>>2]=c[a+8>>2];h=b+16|0;g=a+32|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];h=b+32|0;g=a+16|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];return}function xg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+96|0;q=x+80|0;s=x+64|0;r=x+48|0;u=x+32|0;v=x+16|0;w=x;m=d;while(1){t=m+16|0;g=c[t>>2]|0;if(!(a[g+112>>0]|0))break;m=c[g+116>>2]|0}g=c[m>>2]&3;o=c[((g|0)==2?m:m+-48|0)+40>>2]|0;g=c[((g|0)==3?m:m+48|0)+40>>2]|0;m=o+16|0;n=g+16|0;y=(c[(c[m>>2]|0)+232>>2]|0)-(c[(c[n>>2]|0)+232>>2]|0)|0;switch(((y|0)>-1?y:0-y|0)|0){case 1:{g=0;break}case 2:{if(!(a[(c[(c[b+60>>2]|0)+16>>2]|0)+113>>0]&1))p=6;else g=0;break}default:p=6}do if((p|0)==6){if((c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)==(g|0)){c[f>>2]=o;y=(c[n>>2]|0)+16|0;p=(c[t>>2]|0)+16|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Pg(u,s,q);p=(c[m>>2]|0)+16|0;y=(c[t>>2]|0)+56|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Pg(v,s,q)}else{c[f>>2]=g;y=(c[m>>2]|0)+16|0;p=(c[t>>2]|0)+56|0;c[s>>2]=c[y>>2];c[s+4>>2]=c[y+4>>2];c[s+8>>2]=c[y+8>>2];c[s+12>>2]=c[y+12>>2];c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];Pg(u,s,q);p=(c[n>>2]|0)+16|0;y=(c[t>>2]|0)+16|0;c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];c[s+8>>2]=c[p+8>>2];c[s+12>>2]=c[p+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];Pg(v,s,q)}g=c[(c[t>>2]|0)+96>>2]|0;if(!g){g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+48|0;y=e+32|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=4;break}j=+h[g+24>>3];i=+h[g+32>>3];p=(c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&1|0)==0;k=p?i:j;y=(c[(c[t>>2]|0)+96>>2]|0)+56|0;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[r>>2]=c[v>>2];c[r+4>>2]=c[v+4>>2];c[r+8>>2]=c[v+8>>2];c[r+12>>2]=c[v+12>>2];c[s>>2]=c[u>>2];c[s+4>>2]=c[u+4>>2];c[s+8>>2]=c[u+8>>2];c[s+12>>2]=c[u+12>>2];c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];y=(Qg(r,s,q)|0)==0;i=(p?j:i)*.5;j=+h[w>>3];if(y){h[w>>3]=j-i;y=w+8|0;h[y>>3]=+h[y>>3]+k*.5}else{h[w>>3]=j+i;y=w+8|0;h[y>>3]=+h[y>>3]-k*.5}g=e+16|0;c[e>>2]=c[u>>2];c[e+4>>2]=c[u+4>>2];c[e+8>>2]=c[u+8>>2];c[e+12>>2]=c[u+12>>2];c[g>>2]=c[u>>2];c[g+4>>2]=c[u+4>>2];c[g+8>>2]=c[u+8>>2];c[g+12>>2]=c[u+12>>2];g=e+32|0;y=e+48|0;u=e+64|0;c[u>>2]=c[w>>2];c[u+4>>2]=c[w+4>>2];c[u+8>>2]=c[w+8>>2];c[u+12>>2]=c[w+12>>2];c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2];g=e+80|0;y=e+96|0;c[y>>2]=c[v>>2];c[y+4>>2]=c[v+4>>2];c[y+8>>2]=c[v+8>>2];c[y+12>>2]=c[v+12>>2];c[g>>2]=c[v>>2];c[g+4>>2]=c[v+4>>2];c[g+8>>2]=c[v+8>>2];c[g+12>>2]=c[v+12>>2];g=7}while(0);l=x;return g|0}function yg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0;q=c[f+16>>2]|0;p=+h[q+16>>3];j=p-+h[q+88>>3];m=j+-4.0;l=Lg(d,f,g,i,-1)|0;if(!l){n=~~(j+(m>=0.0?-3.5:-4.5));k=c[e>>2]|0;k=(k|0)>(n|0)?n:k}else{k=Mg(d,f,l)|0;do if(!k){n=c[l+16>>2]|0;j=+h[n+240>>3]+ +h[n+16>>3];if(!(a[n+156>>0]|0)){j=+(c[(c[d+16>>2]|0)+248>>2]|0)*.5+j;break}else{j=j+ +(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+32>>3]+ +(c[e+8>>2]|0);while(0);o=j<m?j:m;k=~~(o+(o>=0.0?.5:-.5))}o=+(k|0);n=(a[q+156>>0]|0)==1;if(n?(c[q+104>>2]|0)!=0:0)m=p+10.0;else m=p+4.0+ +h[q+96>>3];l=Lg(d,f,g,i,1)|0;if(!l){f=~~(m+(m>=0.0?.5:-.5));k=c[e+4>>2]|0;k=(k|0)<(f|0)?f:k}else{k=Mg(d,f,l)|0;do if(!k){f=c[l+16>>2]|0;j=+h[f+16>>3]-+h[f+88>>3];if(!(a[f+156>>0]|0)){j=j-+(c[(c[d+16>>2]|0)+248>>2]|0)*.5;break}else{j=j-+(c[e+8>>2]|0);break}}else j=+h[(c[k+16>>2]|0)+16>>3]-+(c[e+8>>2]|0);while(0);m=j>m?j:m;k=~~(m+(m>=0.0?.5:-.5))}j=+(k|0);if(n?(c[q+104>>2]|0)!=0:0){j=j-+h[q+96>>3];if(j<o)j=p}p=+h[q+24>>3];d=c[(c[d+16>>2]|0)+196>>2]|0;q=c[q+232>>2]|0;m=p-+h[d+(q<<6)+16>>3];p=+h[d+(q<<6)+24>>3]+p;h[b>>3]=o;h[b+8>>3]=m;h[b+16>>3]=j;h[b+24>>3]=p;return}function zg(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)if((c[b+176>>2]|0)>1)b=1;else b=(c[b+184>>2]|0)>1&1;else b=0;return b|0}function Ag(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=l;l=l+32|0;f=g;switch(d|0){case 1:{Kg(f,+h[b>>3],e,+h[b+16>>3],+h[b+8>>3]);break}case 4:{Kg(f,+h[b>>3],+h[b+24>>3],+h[b+16>>3],e);break}default:{}}c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];c[a+20>>2]=c[f+20>>2];c[a+24>>2]=c[f+24>>2];c[a+28>>2]=c[f+28>>2];l=g;return}function Bg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0;l=c[b+16>>2]|0;k=l+(e<<5)|0;j=+h[k>>3];m=l+(e<<5)+8|0;g=+h[m>>3];n=l+(e<<5)+16|0;f=+h[n>>3];l=l+(e<<5)+24|0;i=+h[l>>3];if(j==f){d=c[(c[d+16>>2]|0)+196>>2]|0;o=e+1|0;j=+(c[b>>2]|0);g=+h[d+(o<<6)+24>>3]+ +h[(c[(c[c[d+(o<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];f=+(c[b+4>>2]|0);i=+h[(c[(c[c[d+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[d+(e<<6)+16>>3];h[k>>3]=j;h[m>>3]=g;h[n>>3]=f;h[l>>3]=i}h[a>>3]=j;h[a+8>>3]=g;h[a+16>>3]=f;h[a+24>>3]=i;return}function Cg(b){b=b|0;var d=0,e=0;b=c[b+16>>2]|0;e=b+16|0;d=0;while(1){b=c[c[b+180>>2]>>2]|0;b=c[(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0;if((a[b+156>>0]|0)!=1)break;if((c[b+184>>2]|0)!=1)break;if((c[b+176>>2]|0)!=1)break;if(+h[b+16>>3]!=+h[e>>3])break;d=d+1|0}return d|0}function Dg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;h=Hg(b,-1)|0;b=Hg(b,1)|0;if(!((h|0)!=0?!(fL(h)|0):0))i=3;do if((i|0)==3){if(b|0?(fL(b)|0)==0:0)break;h=Ig(d,-1)|0;b=Ig(d,1)|0;if(h|0?(fL(h)|0)==0:0)break;if(b|0?(fL(b)|0)==0:0)break;h=e+52|0;b=0;while(1){if((b|0)>=(c[h>>2]|0))break;d=e+56+(b<<5)|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];c[j+16>>2]=c[d+16>>2];c[j+20>>2]=c[d+20>>2];c[j+24>>2]=c[d+24>>2];c[j+28>>2]=c[d+28>>2];SK(a,j);b=b+1|0}h=c[a+80>>2]|0;i=g+-3|0;b=0;while(1){if((b|0)>=(g|0))break;e=150640+(b<<5)|0;c[j>>2]=c[e>>2];c[j+4>>2]=c[e+4>>2];c[j+8>>2]=c[e+8>>2];c[j+12>>2]=c[e+12>>2];c[j+16>>2]=c[e+16>>2];c[j+20>>2]=c[e+20>>2];c[j+24>>2]=c[e+24>>2];c[j+28>>2]=c[e+28>>2];SK(a,j);b=b+1|0}d=h+1|0;i=i+d|0;h=c[f+52>>2]|0;while(1){b=h+-1|0;if((h|0)<=0)break;h=f+56+(b<<5)|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];c[j+20>>2]=c[h+20>>2];c[j+24>>2]=c[h+24>>2];c[j+28>>2]=c[h+28>>2];SK(a,j);h=b}Jg(a,d,i)}while(0);l=k;return}function Eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[e>>2]|0;while(1){if(!b)break;a=c[c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0;b=b+-1|0}c[e>>2]=f+1;g=d+(f<<4)|0;b=d+(f+-1<<4)|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];f=c[e>>2]|0;c[e>>2]=f+1;f=d+(f<<4)|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];f=d+(c[e>>2]<<4)|0;e=(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16|0;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];return a|0}function Fg(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,l=0,m=0;m=d+84|0;l=d+80|0;e=0;d=b;a:while(1){j=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;k=j+16|0;if((a[(c[k>>2]|0)+156>>0]|0)!=1)break;if((kb[c[17300>>2]&63](j)|0)<<24>>24)break;d=c[l>>2]|0;while(1){if((e|0)>=(d|0))break a;if(!(+h[(c[m>>2]|0)+(e<<5)+8>>3]>+h[(c[k>>2]|0)+24>>3]))break;e=e+1|0}d=c[m>>2]|0;b=c[k>>2]|0;do if(!(+h[d+(e<<5)+24>>3]<+h[b+24>>3])){g=+h[d+(e<<5)>>3];i=~~g;f=+h[d+(e<<5)+16>>3];if(!(c[b+104>>2]|0)){Gg(j,i,~~((f+g)*.5),~~f);break}else{Gg(j,i,~~f,~~(+h[b+96>>3]+f));break}}while(0);d=c[c[(c[k>>2]|0)+180>>2]>>2]|0}return}function Gg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+16>>2]|0;h[a+16>>3]=+(d|0);h[a+88>>3]=+(d-b|0);h[a+96>>3]=+(e-d|0);return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180>>2]|0;h=((h|0)==2?a:a+-48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Ig(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=c[(c[(c[((h|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172>>2]|0;h=((h|0)==3?a:a+48|0)+40|0;g=0;a=0;while(1){e=c[i+(g<<2)>>2]|0;if(!e)break;f=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;do if((O(f-(c[(c[(c[h>>2]|0)+16>>2]|0)+236>>2]|0)|0,b)|0)>=1){d=c[e+16>>2]|0;if(!(c[d+8>>2]|0)){d=c[d+116>>2]|0;if(!d)break;if(!(c[(c[d+16>>2]|0)+8>>2]|0))break}if(a|0?(O((c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-f|0,b)|0)<=0:0)break;a=e}while(0);g=g+1|0}return a|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;l=a+84|0;i=b+-1|0;while(1){if((i|0)>(d|0))break;f=c[l>>2]|0;j=f+(i<<5)|0;e=+h[j>>3];if(!(i-b&1)){f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e>=m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}else{f=f+(i<<5)+16|0;m=+h[f>>3];g=~~((m+e)*.5);if(e+16.0>m){h[j>>3]=+(g+-8|0);h[f>>3]=+(g+8|0)}}i=i+1|0}k=(c[a+80>>2]|0)+-1|0;g=0;while(1){if((g|0)>=(k|0))break;i=c[l>>2]|0;f=i+(g<<5)|0;j=g+1|0;a=i+(j<<5)|0;if(!((g|0)<(b|0)|(g|0)>(d|0))?(g-b&1|0)==0:0){e=+h[f>>3]+16.0;f=i+(j<<5)+16|0;if(e>+h[f>>3])h[f>>3]=e;e=+h[i+(g<<5)+16>>3]+-16.0;if(!(e<+h[a>>3])){g=j;continue}h[a>>3]=e;g=j;continue}if(!((g|0)<(d|0)&(j|0)>=(b|0))){g=j;continue}if(j-b&1|0){g=j;continue}e=+h[i+(j<<5)+16>>3];if(+h[f>>3]+16.0>e)h[f>>3]=e+-16.0;f=i+(g<<5)+16|0;e=+h[a>>3];if(!(+h[f>>3]+-16.0<e)){g=j;continue}h[f>>3]=e+16.0;g=j}return}function Kg(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h[a+16>>3]=d;h[a+24>>3]=e;return}function Lg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=c[(c[b+16>>2]|0)+196>>2]|0;h=c[d+16>>2]|0;j=c[h+232>>2]|0;i=k+(j<<6)|0;j=k+(j<<6)+4|0;h=c[h+236>>2]|0;a:do{h=h+g|0;if((h|0)<=-1){b=0;break}if((h|0)>=(c[i>>2]|0)){b=0;break}b=c[(c[j>>2]|0)+(h<<2)>>2]|0;k=c[b+16>>2]|0;switch(a[k+156>>0]|0){case 0:break a;case 1:{if(c[k+104>>2]|0)break a;break}default:{}}}while((Og(b,d,e,f)|0)<<24>>24!=0);return b|0}function Mg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){i=c[d+212>>2]|0;h=i}else{i=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[i>>2]&3;h=c[(c[(c[((g|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;i=c[(c[(c[((g|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0}d=c[e+16>>2]|0;if(!(a[d+156>>0]|0)){e=c[d+212>>2]|0;e=(e|0)==(b|0)?0:e;return ((e|0)==(h|0)|((e|0)==0|(e|0)==(i|0))?0:e)|0}f=c[(c[(c[c[d+180>>2]>>2]|0)+16>>2]|0)+116>>2]|0;g=c[f>>2]&3;d=c[(c[(c[((g|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if(!(!((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))?(Ng(d,e)|0)!=0:0)){d=c[(c[(c[((g|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;d=(d|0)==(b|0)?0:d;if((d|0)==(h|0)|((d|0)==0|(d|0)==(i|0)))d=0;else{e=(Ng(d,e)|0)==0;return (e?0:d)|0}}return d|0}function Ng(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;d=c[a+16>>2]|0;a=c[b+16>>2]|0;f=+h[a+16>>3];if((+h[d+16>>3]<=f?f<=+h[d+32>>3]:0)?(e=+h[a+24>>3],+h[d+24>>3]<=e):0)a=e<=+h[d+40>>3]&1;else a=0;return a|0}function Og(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=c[b+16>>2]|0;j=(c[i+236>>2]|0)>(c[(c[d+16>>2]|0)+236>>2]|0);a:do if((c[i+184>>2]|0)==1){b:do if(f|0){h=0;b=c[c[i+180>>2]>>2]|0;while(1){if((h|0)>=2)break b;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((b|0)==(d|0))break b;g=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[g+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[g+184>>2]|0)!=1)break b;if(!(a[g+156>>0]|0))break b;if((c[b+184>>2]|0)!=1)break b;if(!(a[b+156>>0]|0))break b;h=h+1|0;f=c[c[b+180>>2]>>2]|0;b=c[c[g+180>>2]>>2]|0}}while(0);if(e|0?(c[i+176>>2]|0)==1:0){g=0;d=e;b=c[c[i+172>>2]>>2]|0;while(1){if((g|0)>=2){b=0;break a}b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((b|0)==(d|0)){b=0;break a}f=c[b+16>>2]|0;b=c[d+16>>2]|0;if(j^(c[f+236>>2]|0)>(c[b+236>>2]|0)){b=1;break a}if((c[f+176>>2]|0)!=1){b=0;break a}if(!(a[f+156>>0]|0)){b=0;break a}if((c[b+176>>2]|0)!=1){b=0;break a}if(!(a[b+156>>0]|0)){b=0;break a}g=g+1|0;d=c[c[b+172>>2]>>2]|0;b=c[c[f+172>>2]>>2]|0}}else b=0}else b=0;while(0);return b|0}function Pg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function Qg(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+h[b+8>>3];e=+h[b>>3];return (~~((+h[c>>3]-e)*(+h[a+8>>3]-d)-(+h[a>>3]-e)*(+h[c+8>>3]-d))|0)>0|0}function Rg(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;R=l;l=l+256|0;D=R+232|0;C=R+216|0;P=R+88|0;O=R+80|0;K=R+64|0;L=R+200|0;M=R+184|0;N=R;E=R+168|0;F=R+152|0;G=R+136|0;H=R+120|0;I=R+104|0;B=c[g>>2]&3;J=c[((B|0)==3?g:g+48|0)+40>>2]|0;B=c[((B|0)==2?g:g+-48|0)+40>>2]|0;do if((HJ(J)|0)!=2?(HJ(B)|0)!=2:0){g=0;j=0;k=0;while(1){if((k|0)>=(f|0))break;A=c[(c[d+(k+e<<2)>>2]|0)+16>>2]|0;g=g+((c[A+96>>2]|0)!=0&1)|0;if(!((a[A+44>>0]|0)==0?(a[A+84>>0]|0)==0:0))j=1;k=k+1|0}if(!j)if(!g){Tg(J,B,d,e,f,i);break}else{Yg(J,B,d,e,f,i,g);break}y=uH(156)|0;z=Zg(b,y)|0;t=vA(z,85383,1)|0;Az(t,134401,280,1)|0;zx(t,87076,87090)|0;m=+h[(c[B+16>>2]|0)+16>>3];s=+h[(c[J+16>>2]|0)+16>>3];A=b+16|0;q=(c[(c[A>>2]|0)+116>>2]&1|0)==0;r=q?B:J;q=q?J:B;t=_g(t,q)|0;u=_g(z,r)|0;g=0;p=0;while(1){if((p|0)>=(f|0))break;j=d+(p+e<<2)|0;while(1){o=c[j>>2]|0;n=o+16|0;j=c[n>>2]|0;if(!(a[j+112>>0]|0))break;else j=j+116|0}if((c[((c[o>>2]&3|0)==3?o:o+48|0)+40>>2]|0)==(q|0))k=$g(z,t,u,o)|0;else k=$g(z,u,t,o)|0;j=c[n>>2]|0;c[j+120>>2]=k;if(!g)if((a[j+44>>0]|0)==0?(a[j+84>>0]|0)==0:0){c[(c[k+16>>2]|0)+120>>2]=o;g=k}else g=0;p=p+1|0}if(!g)x=Rx(z,t,u,0,1)|0;else x=g;rx(x,c[46404]|0,85387)|0;g=z+16|0;n=c[g>>2]|0;c[n+144>>2]=c[(c[A>>2]|0)+144>>2];c[n+188>>2]=z;$M(z,i);Qf(z);zj(z,0);Jh(z,0);Mi(z,0);q=q+16|0;i=c[q>>2]|0;n=c[r+16>>2]|0;r=t+16|0;o=c[r>>2]|0;p=o+16|0;v=+(~~m|0);w=+(~~((+h[(c[u+16>>2]|0)+16>>3]+ +h[p>>3])*.5)|0);m=+(~~s|0);s=+(~~((+h[i+16>>3]-+h[i+96>>3]+ +h[n+16>>3]+ +h[n+88>>3])*.5)|0);n=o+24|0;g=(c[g>>2]|0)+192|0;while(1){j=c[g>>2]|0;if(!j)break;do if((j|0)!=(t|0)){g=c[j+16>>2]|0;k=g+24|0;if((j|0)==(u|0)){h[k>>3]=m;h[g+16>>3]=w;break}else{h[k>>3]=s;break}}else{h[n>>3]=v;h[p>>3]=w;g=o}while(0);g=g+164|0}tk(z);lg(z,0);eJ(z);k=c[q>>2]|0;g=c[r>>2]|0;if(!(c[(c[A>>2]|0)+116>>2]&1)){j=g+16|0;m=+h[k+24>>3]-+h[g+24>>3]}else{j=g+24|0;m=+h[g+16>>3]+ +h[k+24>>3]}h[K>>3]=+h[k+16>>3]-+h[j>>3];h[K+8>>3]=m;i=N+16|0;t=N+32|0;u=N+48|0;r=0;while(1){if((r|0)>=(f|0))break;g=d+(r+e<<2)|0;while(1){j=c[g>>2]|0;q=j+16|0;g=c[q>>2]|0;if(!(a[g+112>>0]|0))break;else g=g+116|0}o=c[g+120>>2]|0;p=o+16|0;g=c[p>>2]|0;if(!((o|0)==(x|0)&(c[g+120>>2]|0)==0)){n=c[c[g+8>>2]>>2]|0;o=n+4|0;j=PK(j,c[o>>2]|0)|0;c[j+8>>2]=c[n+8>>2];g=j+16|0;k=n+16|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(L,C,D,S);c[g>>2]=c[L>>2];c[g+4>>2]=c[L+4>>2];c[g+8>>2]=c[L+8>>2];c[g+12>>2]=c[L+12>>2];c[j+12>>2]=c[n+12>>2];g=j+32|0;S=n+32|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(M,C,D,k);c[g>>2]=c[M>>2];c[g+4>>2]=c[M+4>>2];c[g+8>>2]=c[M+8>>2];c[g+12>>2]=c[M+12>>2];g=0;while(1){if((g|0)>=(c[o>>2]|0))break;k=(c[j>>2]|0)+(g<<4)|0;T=(c[n>>2]|0)+(g<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[T>>2];c[C+4>>2]=c[T+4>>2];c[C+8>>2]=c[T+8>>2];c[C+12>>2]=c[T+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(E,C,D,S);c[k>>2]=c[E>>2];c[k+4>>2]=c[E+4>>2];c[k+8>>2]=c[E+8>>2];c[k+12>>2]=c[E+12>>2];c[N>>2]=c[E>>2];c[N+4>>2]=c[E+4>>2];c[N+8>>2]=c[E+8>>2];c[N+12>>2]=c[E+12>>2];k=g+1|0;if((k|0)>=(c[o>>2]|0)){Q=48;break}S=(c[j>>2]|0)+(k<<4)|0;k=(c[n>>2]|0)+(k<<4)|0;T=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(F,C,D,T);c[S>>2]=c[F>>2];c[S+4>>2]=c[F+4>>2];c[S+8>>2]=c[F+8>>2];c[S+12>>2]=c[F+12>>2];c[i>>2]=c[F>>2];c[i+4>>2]=c[F+4>>2];c[i+8>>2]=c[F+8>>2];c[i+12>>2]=c[F+12>>2];S=g+2|0;T=(c[j>>2]|0)+(S<<4)|0;S=(c[n>>2]|0)+(S<<4)|0;k=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[S>>2];c[C+4>>2]=c[S+4>>2];c[C+8>>2]=c[S+8>>2];c[C+12>>2]=c[S+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(G,C,D,k);c[T>>2]=c[G>>2];c[T+4>>2]=c[G+4>>2];c[T+8>>2]=c[G+8>>2];c[T+12>>2]=c[G+12>>2];c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];T=g+3|0;k=(c[n>>2]|0)+(T<<4)|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];c[C+8>>2]=c[k+8>>2];c[C+12>>2]=c[k+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(H,C,D,S);c[u>>2]=c[H>>2];c[u+4>>2]=c[H+4>>2];c[u+8>>2]=c[H+8>>2];c[u+12>>2]=c[H+12>>2];YE((c[A>>2]|0)+16|0,N);g=T}if((Q|0)==48)Q=0;g=c[(c[q>>2]|0)+96>>2]|0;if(g|0){T=g+56|0;p=(c[(c[p>>2]|0)+96>>2]|0)+56|0;S=c[(c[A>>2]|0)+116>>2]&1;c[C>>2]=c[p>>2];c[C+4>>2]=c[p+4>>2];c[C+8>>2]=c[p+8>>2];c[C+12>>2]=c[p+12>>2];c[D>>2]=c[K>>2];c[D+4>>2]=c[K+4>>2];c[D+8>>2]=c[K+8>>2];c[D+12>>2]=c[K+12>>2];ah(I,C,D,S);c[T>>2]=c[I>>2];c[T+4>>2]=c[I+4>>2];c[T+8>>2]=c[I+8>>2];c[T+12>>2]=c[I+12>>2];T=c[(c[q>>2]|0)+96>>2]|0;a[T+81>>0]=1;kM(b,T)}}r=r+1|0}bh(z,y)}else Q=3;while(0);if((Q|0)==3?(c[45968]|0)==0:0){c[45968]=1;Pw(0,85260,O)|0;Q=ry(J)|0;S=(ey(b)|0)!=0;T=ry(B)|0;c[P>>2]=Q;c[P+4>>2]=S?134656:138665;c[P+8>>2]=T;Pw(3,85366,P)|0}l=R;return}function Sg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;z=l;l=l+1600|0;u=z+1552|0;n=z+1536|0;t=z+840|0;v=z+144|0;w=z+1584|0;j=z+32|0;s=z+16|0;o=z;q=c[f>>2]&3;p=c[((q|0)==3?f:f+48|0)+40>>2]|0;x=f+-48|0;q=c[((q|0)==2?f:x)+40>>2]|0;r=f+16|0;k=c[r>>2]|0;i=c[k+172>>2]|0;while(1){m=c[(c[i+16>>2]|0)+172>>2]|0;if(!m)break;else i=m}k=(c[k+96>>2]|0)+56|0;i=(c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)+16|0;m=(c[i>>2]|0)+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[r>>2]|0;a[(c[k+96>>2]|0)+81>>0]=1;if((g|0)!=2){k=c[i>>2]|0;C=+h[k+16>>3];E=C-+h[k+88>>3];C=+h[k+96>>3]+C;B=+h[k+24>>3];D=+h[k+80>>3]*.5+B;k=c[(c[b+16>>2]|0)+196>>2]|0;m=c[p+16>>2]|0;j=c[m+232>>2]|0;B=+(~~(+(~~(B-+h[k+(j<<6)+16>>3]-+h[m+24>>3]+ +h[k+(j<<6)+24>>3])|0)*.16666666666666666)|0);B=D-(B<5.0?5.0:B);Vg(b,d,e,p,f,t,1);Vg(b,d,e,q,f,v,0);j=t+52|0;k=c[j>>2]|0;m=k+-1|0;A=+h[t+56+(m<<5)>>3];h[18830]=A;h[18831]=+h[t+56+(m<<5)+24>>3];h[18832]=E;h[18833]=B;h[18834]=A;h[18835]=B;m=v+52|0;i=(c[m>>2]|0)+-1|0;A=+h[v+56+(i<<5)+16>>3];h[18836]=A;h[18837]=D;h[18838]=C;h[18841]=B;h[18839]=+h[v+56+(i<<5)+24>>3];h[18840]=A;i=0;while(1){if((i|0)>=(k|0)){i=0;break}k=t+56+(i<<5)|0;c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[u+8>>2]=c[k+8>>2];c[u+12>>2]=c[k+12>>2];c[u+16>>2]=c[k+16>>2];c[u+20>>2]=c[k+20>>2];c[u+24>>2]=c[k+24>>2];c[u+28>>2]=c[k+28>>2];SK(e,u);i=i+1|0;k=c[j>>2]|0}while(1){if((i|0)==3)break;t=150640+(i<<5)|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];c[u+8>>2]=c[t+8>>2];c[u+12>>2]=c[t+12>>2];c[u+16>>2]=c[t+16>>2];c[u+20>>2]=c[t+20>>2];c[u+24>>2]=c[t+24>>2];c[u+28>>2]=c[t+28>>2];SK(e,u);i=i+1|0}j=c[m>>2]|0;while(1){i=j+-1|0;if((j|0)<=0)break;j=v+56+(i<<5)|0;c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];c[u+16>>2]=c[j+16>>2];c[u+20>>2]=c[j+20>>2];c[u+24>>2]=c[j+24>>2];c[u+28>>2]=c[j+28>>2];SK(e,u);j=i}if((g|0)==10)j=sJ(e,w)|0;else j=yJ(e,w)|0;i=c[w>>2]|0;if(i|0)y=17}else{i=(c[p+16>>2]|0)+16|0;v=k+16|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];c[u>>2]=c[v>>2];c[u+4>>2]=c[v+4>>2];c[u+8>>2]=c[v+8>>2];c[u+12>>2]=c[v+12>>2];Pg(s,n,u);v=(c[q+16>>2]|0)+16|0;i=(c[r>>2]|0)+56|0;c[n>>2]=c[v>>2];c[n+4>>2]=c[v+4>>2];c[n+8>>2]=c[v+8>>2];c[n+12>>2]=c[v+12>>2];c[u>>2]=c[i>>2];c[u+4>>2]=c[i+4>>2];c[u+8>>2]=c[i+8>>2];c[u+12>>2]=c[i+12>>2];Pg(o,n,u);i=c[(c[r>>2]|0)+96>>2]|0;D=+h[i+56>>3];E=+h[i+64>>3]-+h[i+32>>3]*.5;i=j+16|0;c[j>>2]=c[s>>2];c[j+4>>2]=c[s+4>>2];c[j+8>>2]=c[s+8>>2];c[j+12>>2]=c[s+12>>2];c[i>>2]=c[s>>2];c[i+4>>2]=c[s+4>>2];c[i+8>>2]=c[s+8>>2];c[i+12>>2]=c[s+12>>2];i=j+32|0;v=j+48|0;y=j+64|0;h[j+64>>3]=D;h[j+72>>3]=E;c[v>>2]=c[y>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[v+12>>2]=c[y+12>>2];c[i>>2]=c[y>>2];c[i+4>>2]=c[y+4>>2];c[i+8>>2]=c[y+8>>2];c[i+12>>2]=c[y+12>>2];i=j+80|0;y=j+96|0;c[y>>2]=c[o>>2];c[y+4>>2]=c[o+4>>2];c[y+8>>2]=c[o+8>>2];c[y+12>>2]=c[o+12>>2];c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];c[i+12>>2]=c[o+12>>2];c[w>>2]=7;i=7;y=17}if((y|0)==17)QK(f,c[((c[f>>2]&3|0)==2?f:x)+40>>2]|0,j,i,17296);l=z;return}function Tg(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+352|0;x=N+336|0;w=N+320|0;L=N+128|0;u=N+304|0;y=N+288|0;M=N+112|0;E=N+96|0;F=N+80|0;G=N+64|0;H=N+48|0;I=N+32|0;J=N+16|0;K=N;a=a+16|0;q=(c[a>>2]|0)+16|0;v=(c[d+(e<<2)>>2]|0)+16|0;s=(c[v>>2]|0)+16|0;c[w>>2]=c[q>>2];c[w+4>>2]=c[q+4>>2];c[w+8>>2]=c[q+8>>2];c[w+12>>2]=c[q+12>>2];c[x>>2]=c[s>>2];c[x+4>>2]=c[s+4>>2];c[x+8>>2]=c[s+8>>2];c[x+12>>2]=c[s+12>>2];Pg(u,w,x);C=+h[u>>3];D=+h[u+8>>3];u=(c[b+16>>2]|0)+16|0;v=(c[v>>2]|0)+56|0;c[w>>2]=c[u>>2];c[w+4>>2]=c[u+4>>2];c[w+8>>2]=c[u+8>>2];c[w+12>>2]=c[u+12>>2];c[x>>2]=c[v>>2];c[x+4>>2]=c[v+4>>2];c[x+8>>2]=c[v+8>>2];c[x+12>>2]=c[v+12>>2];Pg(y,w,x);A=+h[y>>3];B=+h[y+8>>3];if((f|0)>1){z=+h[(c[a>>2]|0)+80>>3];i=z*.5;z=z/+(f+-1|0)}else{i=0.0;z=0.0}p=(g|8|0)==10;m=L+8|0;q=L+16|0;r=(A+C*2.0)*.3333333333333333;s=L+32|0;t=(A*2.0+C)*.3333333333333333;n=L+24|0;u=L+48|0;v=L+64|0;w=L+80|0;x=L+96|0;y=L+112|0;k=L+128|0;o=L+136|0;i=D-i;b=0;while(1){if((b|0)>=(f|0))break;j=c[d+(b+e<<2)>>2]|0;h[L>>3]=C;h[m>>3]=D;if(p){Xg(M,r,i);c[q>>2]=c[M>>2];c[q+4>>2]=c[M+4>>2];c[q+8>>2]=c[M+8>>2];c[q+12>>2]=c[M+12>>2];Xg(E,t,i);c[s>>2]=c[E>>2];c[s+4>>2]=c[E+4>>2];c[s+8>>2]=c[E+8>>2];c[s+12>>2]=c[E+12>>2];a=4;g=3}else{h[q>>3]=C;h[n>>3]=D;Xg(F,r,i);c[s>>2]=c[F>>2];c[s+4>>2]=c[F+4>>2];c[s+8>>2]=c[F+8>>2];c[s+12>>2]=c[F+12>>2];Xg(G,r,i);c[u>>2]=c[G>>2];c[u+4>>2]=c[G+4>>2];c[u+8>>2]=c[G+8>>2];c[u+12>>2]=c[G+12>>2];Xg(H,r,i);c[v>>2]=c[H>>2];c[v+4>>2]=c[H+4>>2];c[v+8>>2]=c[H+8>>2];c[v+12>>2]=c[H+12>>2];Xg(I,t,i);c[w>>2]=c[I>>2];c[w+4>>2]=c[I+4>>2];c[w+8>>2]=c[I+8>>2];c[w+12>>2]=c[I+12>>2];Xg(J,t,i);c[x>>2]=c[J>>2];c[x+4>>2]=c[J+4>>2];c[x+8>>2]=c[J+8>>2];c[x+12>>2]=c[J+12>>2];Xg(K,t,i);c[y>>2]=c[K>>2];c[y+4>>2]=c[K+4>>2];c[y+8>>2]=c[K+8>>2];c[y+12>>2]=c[K+12>>2];h[k>>3]=A;h[o>>3]=B;a=10;g=9}h[L+(g<<4)>>3]=A;h[L+(g<<4)+8>>3]=B;QK(j,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0,L,a,17296);i=i+z;b=b+1|0}l=N;return}function Ug(a,d,e,f,g,i,j,k){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;var m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;x=l;l=l+1440|0;t=x+1392|0;v=x+1424|0;w=x+696|0;u=x;r=c[j>>2]&3;q=c[((r|0)==3?j:j+48|0)+40>>2]|0;r=c[((r|0)==2?j:j+-48|0)+40>>2]|0;m=c[q+16>>2]|0;o=c[m+232>>2]|0;p=c[a+16>>2]|0;if((o|0)<(b[p+238>>1]|0)){y=c[p+196>>2]|0;p=o+1|0;n=+h[m+24>>3]-+h[y+(o<<6)+32>>3]-+h[(c[(c[c[y+(p<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[y+(p<<6)+40>>3]}else n=+(c[p+252>>2]|0);z=+(i+1|0);s=+(c[d+12>>2]|0)/z;n=n/z;Wg(a,d,e,q,j,w,1);Wg(a,d,e,r,j,u,0);r=w+52|0;j=u+52|0;a=(k|0)==0;d=e+80|0;m=0;while(1){if((m|0)>=(i|0))break;q=c[f+(m+g<<2)>>2]|0;p=c[r>>2]|0;o=p+-1|0;D=+h[w+56+(o<<5)>>3];B=+h[w+56+(o<<5)+8>>3];C=+h[w+56+(o<<5)+16>>3];h[18830]=D;h[18833]=B;m=m+1|0;z=+(m|0);A=s*z;h[18832]=C+A;z=B-n*z;h[18831]=z;h[18834]=D;h[18837]=z;o=(c[j>>2]|0)+-1|0;D=+h[u+56+(o<<5)+16>>3];h[18836]=D;h[18835]=z-n;B=+h[u+56+(o<<5)>>3];C=+h[u+56+(o<<5)+8>>3];h[18840]=D;h[18841]=C;h[18838]=B-A;h[18839]=z;o=0;while(1){if((o|0)>=(p|0)){o=0;break}p=w+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);o=o+1|0;p=c[r>>2]|0}while(1){if((o|0)==3)break;y=150640+(o<<5)|0;c[t>>2]=c[y>>2];c[t+4>>2]=c[y+4>>2];c[t+8>>2]=c[y+8>>2];c[t+12>>2]=c[y+12>>2];c[t+16>>2]=c[y+16>>2];c[t+20>>2]=c[y+20>>2];c[t+24>>2]=c[y+24>>2];c[t+28>>2]=c[y+28>>2];SK(e,t);o=o+1|0}p=c[j>>2]|0;while(1){o=p+-1|0;if((p|0)<=0)break;p=u+56+(o<<5)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];c[t+20>>2]=c[p+20>>2];c[t+24>>2]=c[p+24>>2];c[t+28>>2]=c[p+28>>2];SK(e,t);p=o}if(a)o=yJ(e,v)|0;else o=sJ(e,v)|0;p=c[v>>2]|0;if(!p)break;QK(q,c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0,o,p,17296);c[d>>2]=0}l=x;return}function Vg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=4;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3]+ +h[e+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,4,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Wg(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+128|0;j=n+96|0;k=n+64|0;o=n+32|0;m=n;yg(o,a,b,e,0,f);c[g>>2]=c[o>>2];c[g+4>>2]=c[o+4>>2];c[g+8>>2]=c[o+8>>2];c[g+12>>2]=c[o+12>>2];c[g+16>>2]=c[o+16>>2];c[g+20>>2]=c[o+20>>2];c[g+24>>2]=c[o+24>>2];c[g+28>>2]=c[o+28>>2];c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];c[k+12>>2]=c[o+12>>2];c[k+16>>2]=c[o+16>>2];c[k+20>>2]=c[o+20>>2];c[k+24>>2]=c[o+24>>2];c[k+28>>2]=c[o+28>>2];c[g+48>>2]=1;if(!(i<<24>>24))WK(d,f,2,g,0);else TK(d,f,2,g,0);b=g+52|0;f=(c[b>>2]|0)+-1|0;o=k+24|0;h[o>>3]=+h[g+56+(f<<5)+24>>3];i=k+8|0;h[i>>3]=+h[g+56+(f<<5)+8>>3];e=c[e+16>>2]|0;p=+h[e+24>>3]-+h[(c[(c[a+16>>2]|0)+196>>2]|0)+(c[e+232>>2]<<6)+24>>3];c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];c[j+16>>2]=c[k+16>>2];c[j+20>>2]=c[k+20>>2];c[j+24>>2]=c[k+24>>2];c[j+28>>2]=c[k+28>>2];Ag(m,j,1,p);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[k+16>>2]=c[m+16>>2];c[k+20>>2]=c[m+20>>2];c[k+24>>2]=c[m+24>>2];c[k+28>>2]=c[m+28>>2];if(+h[k>>3]<+h[k+16>>3]?+h[i>>3]<+h[o>>3]:0){o=c[b>>2]|0;c[b>>2]=o+1;o=g+56+(o<<5)|0;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];c[o+8>>2]=c[k+8>>2];c[o+12>>2]=c[k+12>>2];c[o+16>>2]=c[k+16>>2];c[o+20>>2]=c[k+20>>2];c[o+24>>2]=c[k+24>>2];c[o+28>>2]=c[k+28>>2]}l=n;return}function Xg(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function Yg(b,d,e,f,g,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0;Y=l;l=l+288|0;R=Y+256|0;Q=Y+240|0;P=Y+224|0;V=Y+280|0;W=Y+272|0;X=Y+32|0;S=Y+16|0;T=Y;m=Y+208|0;n=Y+192|0;o=c[e+(f<<2)>>2]|0;U=uH(g<<2)|0;k=0;while(1){if((k|0)>=(g|0))break;c[U+(k<<2)>>2]=c[e+(k+f<<2)>>2];k=k+1|0}_0(U,g,4,59);e=b+16|0;f=(c[e>>2]|0)+16|0;o=o+16|0;C=(c[o>>2]|0)+16|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[C>>2];c[R+4>>2]=c[C+4>>2];c[R+8>>2]=c[C+8>>2];c[R+12>>2]=c[C+12>>2];Pg(m,Q,R);c[S>>2]=c[m>>2];c[S+4>>2]=c[m+4>>2];c[S+8>>2]=c[m+8>>2];c[S+12>>2]=c[m+12>>2];C=d+16|0;f=(c[C>>2]|0)+16|0;o=(c[o>>2]|0)+56|0;c[Q>>2]=c[f>>2];c[Q+4>>2]=c[f+4>>2];c[Q+8>>2]=c[f+8>>2];c[Q+12>>2]=c[f+12>>2];c[R>>2]=c[o>>2];c[R+4>>2]=c[o+4>>2];c[R+8>>2]=c[o+8>>2];c[R+12>>2]=c[o+12>>2];Pg(n,Q,R);c[T>>2]=c[n>>2];c[T+4>>2]=c[n+4>>2];c[T+8>>2]=c[n+8>>2];c[T+12>>2]=c[n+12>>2];w=+h[(c[e>>2]|0)+96>>3]+ +h[S>>3];x=+h[T>>3]-+h[(c[C>>2]|0)+88>>3];u=x+w;v=u*.5;C=c[U>>2]|0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];o=X+16|0;c[o>>2]=c[S>>2];c[o+4>>2]=c[S+4>>2];c[o+8>>2]=c[S+8>>2];c[o+12>>2]=c[S+12>>2];e=X+32|0;c[e>>2]=c[T>>2];c[e+4>>2]=c[T+4>>2];c[e+8>>2]=c[T+8>>2];c[e+12>>2]=c[T+12>>2];f=X+48|0;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];QK(C,c[((c[C>>2]&3|0)==2?C:C+-48|0)+40>>2]|0,X,4,17296);C=c[(c[C+16>>2]|0)+96>>2]|0;h[C+56>>3]=v;z=S+8|0;r=+h[z>>3];s=+h[C+32>>3];h[C+64>>3]=(s+6.0)*.5+r;a[C+81>>0]=1;r=r+3.0;B=+h[C+24>>3];A=(u-B)*.5;B=(B+u)*.5;C=X+24|0;D=X+40|0;E=X+56|0;F=X+64|0;G=T+8|0;H=X+72|0;I=X+80|0;J=X+88|0;K=X+96|0;L=X+104|0;M=X+112|0;N=X+120|0;O=V+4|0;n=(i|0)==6&1;q=0.0;p=0.0;s=s+r;m=1;while(1){if((m|0)>=(j|0)){y=6;break}d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];h[N>>3]=Z;s=+h[(c[(c[d+16>>2]|0)+96>>2]|0)+32>>3];t=Z+s*.5;s=Z+s}else{k=d+16|0;b=c[(c[k>>2]|0)+96>>2]|0;if((m|0)==1){p=+h[b+24>>3];q=(p+u)*.5;p=(u-p)*.5}r=r+-6.0-+h[b+32>>3];c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];t=r+-6.0;h[C>>3]=t;h[e>>3]=+h[T>>3];h[D>>3]=t;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=r;h[K>>3]=p;h[L>>3]=r;h[M>>3]=p;h[N>>3]=+h[z>>3];t=+h[(c[(c[k>>2]|0)+96>>2]|0)+32>>3]*.5+r}c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break;i=c[(c[d+16>>2]|0)+96>>2]|0;h[i+56>>3]=v;h[i+64>>3]=t;a[i+81>>0]=1;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0}a:do if((y|0)==6){v=(x+w*2.0)*.3333333333333333;u=(x*2.0+w)*.3333333333333333;while(1){if((m|0)>=(g|0))break;d=c[U+(m<<2)>>2]|0;if(!(m&1)){c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=A;h[C>>3]=+h[z>>3];h[e>>3]=A;h[D>>3]=s;h[f>>3]=B;h[E>>3]=s;h[F>>3]=B;t=+h[G>>3];h[H>>3]=t;Z=+h[T>>3];h[I>>3]=Z;h[J>>3]=t;h[K>>3]=Z;Z=s+6.0;h[L>>3]=Z;h[M>>3]=+h[S>>3];s=Z;t=p;p=Z}else{y=(m|0)==1;t=y?v:p;q=y?u:q;p=r+-6.0;c[X>>2]=c[S>>2];c[X+4>>2]=c[S+4>>2];c[X+8>>2]=c[S+8>>2];c[X+12>>2]=c[S+12>>2];h[o>>3]=+h[S>>3];r=r+-12.0;h[C>>3]=r;h[e>>3]=+h[T>>3];h[D>>3]=r;c[f>>2]=c[T>>2];c[f+4>>2]=c[T+4>>2];c[f+8>>2]=c[T+8>>2];c[f+12>>2]=c[T+12>>2];h[F>>3]=q;h[H>>3]=+h[G>>3];h[I>>3]=q;h[J>>3]=p;h[K>>3]=t;h[L>>3]=p;h[M>>3]=t;r=p;p=+h[z>>3]}h[N>>3]=p;c[O>>2]=8;c[V>>2]=X;c[P>>2]=c[S>>2];c[P+4>>2]=c[S+4>>2];c[P+8>>2]=c[S+8>>2];c[P+12>>2]=c[S+12>>2];c[Q>>2]=c[T>>2];c[Q+4>>2]=c[T+4>>2];c[Q+8>>2]=c[T+8>>2];c[Q+12>>2]=c[T+12>>2];c[R>>2]=c[V>>2];c[R+4>>2]=c[V+4>>2];k=oJ(P,Q,R,W,n)|0;b=c[W>>2]|0;if(!b)break a;QK(d,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,k,b,17296);m=m+1|0;p=t}D_(U)}while(0);l=Y;return}function Zg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;g=l;l=l+16|0;f=g;j=(ey(b)|0)==0;j=j?18488:18480;a[f>>0]=a[j>>0]|0;a[f+1>>0]=a[j+1>>0]|0;a[f+2>>0]=a[j+2>>0]|0;a[f+3>>0]=a[j+3>>0]|0;f=Xx(85398,f,0)|0;Az(f,134401,280,1)|0;nx(f,0,87076,191979)|0;j=uH(96)|0;e=c[f+16>>2]|0;c[e+8>>2]=j;i=c[b+16>>2]|0;k=c[i+8>>2]|0;h[j>>3]=+h[k>>3];h[j+24>>3]=+h[k+24>>3];a[e+115>>0]=a[i+115>>0]|0;c[e+116>>2]=c[i+116>>2]&1^1;c[e+248>>2]=c[i+248>>2];c[e+252>>2]=c[i+252>>2];e=sx(fz(b)|0,1,0)|0;while(1){if(!e)break;nx(f,1,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,1,e)|0}e=sx(fz(b)|0,2,0)|0;while(1){if(!e)break;nx(f,2,c[e+8>>2]|0,c[e+12>>2]|0)|0;e=sx(fz(b)|0,2,e)|0}if(!(nx(f,2,108382,0)|0))nx(f,2,108382,191979)|0;if(!(nx(f,2,108373,0)|0))nx(f,2,108373,191979)|0;ch(f,d);l=g;return f|0}function _g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;a=az(a,ry(b)|0,1)|0;Az(a,134365,304,1)|0;Bx(b,a)|0;if((HJ(b)|0)==2){f=b+16|0;b=vH((W_(c[c[(c[f>>2]|0)+104>>2]>>2]|0)|0)+3|0)|0;c[d>>2]=c[c[(c[f>>2]|0)+104>>2]>>2];Y0(b,85393,d)|0;zx(a,105198,b)|0}l=e;return a|0}function $g(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=Rx(a,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(d,c)|0;return c|0}function ah(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;g=i+16|0;f=i;if(e|0){j=+h[b>>3];e=b+8|0;h[b>>3]=+h[e>>3];h[e>>3]=-j};c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[g>>2]=c[d>>2];c[g+4>>2]=c[d+4>>2];c[g+8>>2]=c[d+8>>2];c[g+12>>2]=c[d+12>>2];Pg(a,f,g);l=i;return}function bh(a,b){a=a|0;b=b|0;c[46419]=c[b>>2];c[46423]=c[b+4>>2];c[46424]=c[b+8>>2];c[46404]=c[b+12>>2];c[46405]=c[b+16>>2];c[46411]=c[b+20>>2];c[46410]=c[b+24>>2];c[46409]=c[b+28>>2];c[46435]=c[b+32>>2];c[46427]=c[b+36>>2];c[46412]=c[b+40>>2];c[46422]=c[b+44>>2];c[46431]=c[b+48>>2];c[46430]=c[b+52>>2];c[46429]=c[b+56>>2];c[46434]=c[b+60>>2];c[46428]=c[b+64>>2];c[46413]=c[b+68>>2];c[46375]=c[b+72>>2];c[46376]=c[b+76>>2];c[46377]=c[b+80>>2];c[46387]=c[b+84>>2];c[46380]=c[b+88>>2];c[46381]=c[b+92>>2];c[46382]=c[b+96>>2];c[46384]=c[b+100>>2];c[46385]=c[b+104>>2];c[46388]=c[b+108>>2];c[46391]=c[b+112>>2];c[46389]=c[b+116>>2];c[46390]=c[b+120>>2];c[46393]=c[b+124>>2];c[46392]=c[b+128>>2];c[46394]=c[b+132>>2];c[46395]=c[b+136>>2];c[46386]=c[b+140>>2];c[46398]=c[b+144>>2];c[46370]=c[b+148>>2];c[46367]=c[b+152>>2];D_(b);Tf(a);$x(a)|0;return}function ch(a,b){a=a|0;b=b|0;c[b>>2]=c[46419];c[b+4>>2]=c[46423];c[b+8>>2]=c[46424];c[b+12>>2]=c[46404];c[b+16>>2]=c[46405];c[b+20>>2]=c[46411];c[b+24>>2]=c[46410];c[b+28>>2]=c[46409];c[b+32>>2]=c[46435];c[b+36>>2]=c[46427];c[b+40>>2]=c[46412];c[b+44>>2]=c[46422];c[b+48>>2]=c[46431];c[b+52>>2]=c[46430];c[b+56>>2]=c[46429];c[b+60>>2]=c[46434];c[b+64>>2]=c[46428];c[b+68>>2]=c[46413];c[b+72>>2]=c[46375];c[b+76>>2]=c[46376];c[b+80>>2]=c[46377];c[b+84>>2]=c[46387];c[b+88>>2]=c[46380];c[b+92>>2]=c[46381];c[b+96>>2]=c[46382];c[b+100>>2]=c[46384];c[b+104>>2]=c[46385];c[b+108>>2]=c[46388];c[b+112>>2]=c[46391];c[b+116>>2]=c[46389];c[b+120>>2]=c[46390];c[b+124>>2]=c[46393];c[b+128>>2]=c[46392];c[b+132>>2]=c[46394];c[b+136>>2]=c[46395];c[b+140>>2]=c[46386];c[b+144>>2]=c[46398];c[b+152>>2]=c[46367];c[b+148>>2]=c[46370];c[46419]=0;c[46423]=nx(a,2,87317,0)|0;c[46424]=nx(a,2,87326,0)|0;b=nx(a,2,98515,0)|0;c[46404]=b;if(!b)c[46404]=nx(a,2,98515,191979)|0;c[46405]=0;c[46411]=0;c[46410]=nx(a,2,98411,0)|0;c[46409]=nx(a,2,98402,0)|0;c[46435]=nx(a,2,98691,0)|0;c[46427]=0;c[46412]=nx(a,2,105198,0)|0;c[46422]=nx(a,2,85403,0)|0;c[46431]=0;c[46430]=nx(a,2,98591,0)|0;c[46429]=nx(a,2,98577,0)|0;c[46434]=nx(a,2,98682,0)|0;c[46428]=0;c[46413]=0;c[46375]=nx(a,1,137966,0)|0;c[46376]=nx(a,1,138034,0)|0;c[46377]=nx(a,1,105204,0)|0;c[46387]=0;c[46380]=nx(a,1,98402,0)|0;c[46381]=nx(a,1,98411,0)|0;c[46382]=0;c[46384]=nx(a,1,105198,0)|0;c[46385]=0;c[46388]=0;c[46391]=nx(a,1,98383,0)|0;c[46389]=nx(a,1,137994,0)|0;c[46390]=nx(a,1,98446,0)|0;c[46393]=nx(a,1,98458,0)|0;c[46392]=nx(a,1,98322,0)|0;c[46394]=nx(a,1,98463,0)|0;c[46395]=nx(a,1,85415,0)|0;c[46386]=0;c[46398]=0;c[46370]=nx(a,0,98383,0)|0;return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0;d=c[(c[(c[a>>2]|0)+16>>2]|0)+96>>2]|0;a=c[(c[(c[b>>2]|0)+16>>2]|0)+96>>2]|0;b=(a|0)!=0;if(d)if(b?(f=+h[d+24>>3],i=+h[d+32>>3],e=+h[a+24>>3],g=+h[a+32>>3],!(f>e)):0)if(!(f<e))if(i>g)a=-1;else a=i<g&1;else a=1;else a=-1;else a=b&1;return a|0}function eh(a){a=a|0;var b=0,d=0,e=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;d=c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;e=c[d+232>>2]|0;a=c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;b=c[a+232>>2]|0;if((e|0)<=(b|0))if((e|0)<(b|0))a=1;else a=(c[d+236>>2]|0)<(c[a+236>>2]|0)&1;else a=0;return a|0}function fh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+180|0;g=(c[b+16>>2]|0)+172|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=gh(a,f,b,e)|0;l=d;return b|0}function gh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[b+4>>2]|0;a:do if((f|0)>0?(g=c[e+4>>2]|0,(g|0)>0):0)if((f|0)<(g|0)){f=c[b>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)==(d|0))break;else e=e+1|0}}else{f=c[e>>2]|0;e=0;while(1){b=c[f+(e<<2)>>2]|0;if(!b){b=0;break a}if((c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)==(a|0))break;else e=e+1|0}}else b=0;while(0);return b|0}function hh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;e=d+8|0;f=d;h=(c[a+16>>2]|0)+188|0;g=(c[b+16>>2]|0)+196|0;c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];b=gh(a,f,b,e)|0;l=d;return b|0}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+180>>2]|0;if(!b)b=vH((c[d+184>>2]<<2)+8|0)|0;else b=xH(b,(c[d+184>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+180>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;d=c[f+180>>2]|0;f=f+184|0;b=c[f>>2]|0;c[f>>2]=b+1;c[d+(b<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=a+-48|0;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;b=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;b=b+176|0;f=c[b>>2]|0;c[b>>2]=f+1;c[d+(f<<2)>>2]=a;f=c[(c[((c[a>>2]&3|0)==2?a:e)+40>>2]|0)+16>>2]|0;c[(c[f+172>>2]|0)+(c[f+176>>2]<<2)>>2]=0;return a|0}function jh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=a+4|0;f=c[e>>2]|0;d=0;while(1){if((d|0)>=(f|0))break;g=c[a>>2]|0;h=g+(d<<2)|0;if((c[h>>2]|0)==(b|0)){i=4;break}else d=d+1|0}if((i|0)==4){i=f+-1|0;c[e>>2]=i;c[h>>2]=c[g+(i<<2)>>2];c[(c[a>>2]|0)+(i<<2)>>2]=0}return}function kh(a){a=a|0;if(!a)qa(85456,85466,117,85475);else{jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+180|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+172|0,a);return}}function lh(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+48|0;d=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[d+204>>2]|0;if(!b)b=vH((c[d+208>>2]<<2)+8|0)|0;else b=xH(b,(c[d+208>>2]<<2)+8|0)|0;c[(c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0)+204>>2]=b;f=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;b=c[f+204>>2]|0;f=f+208|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b+(d<<2)>>2]=a;e=c[(c[((c[a>>2]&3|0)==3?a:e)+40>>2]|0)+16>>2]|0;c[(c[e+204>>2]|0)+(c[e+208>>2]<<2)>>2]=0;return}function mh(a){a=a|0;nh(a,(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+204|0);return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+4|0;e=c[h>>2]|0;f=c[b>>2]|0;d=0;while(1){if((d|0)>=(e|0)){g=4;break}if((c[f+(d<<2)>>2]|0)==(a|0))break;else d=d+1|0}if((g|0)==4){if(!f)d=vH((e<<2)+8|0)|0;else d=xH(f,(e<<2)+8|0)|0;c[b>>2]=d;f=c[h>>2]|0;g=f+1|0;c[h>>2]=g;c[d+(f<<2)>>2]=a;c[(c[b>>2]|0)+(g<<2)>>2]=0}return}function oh(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=uH(96)|0;g=n+48|0;c[g>>2]=c[g>>2]|3;c[n>>2]=c[n>>2]&-4|2;h=uH(176)|0;m=n+16|0;c[m>>2]=h;c[((c[n>>2]&3|0)==3?n:g)+40>>2]=d;j=n+-48|0;c[((c[n>>2]&3|0)==2?n:j)+40>>2]=e;a[h+112>>0]=1;if(!f){c[h+156>>2]=1;b[h+154>>1]=1;b[h+168>>1]=1;b[h+170>>1]=1}else{c[n>>2]=c[n>>2]&15|c[f>>2]&-16;c[g>>2]=c[g>>2]&15|c[f>>2]&-16;l=f+16|0;i=c[l>>2]|0;b[h+168>>1]=b[i+168>>1]|0;b[h+154>>1]=b[i+154>>1]|0;c[h+156>>2]=c[i+156>>2];b[h+170>>1]=b[i+170>>1]|0;d=c[((c[n>>2]&3|0)==3?n:g)+40>>2]|0;e=c[f>>2]&3;k=f+48|0;if((d|0)!=(c[((e|0)==3?f:k)+40>>2]|0)){g=f+-48|0;if((d|0)==(c[((e|0)==2?f:g)+40>>2]|0)){h=h+16|0;d=i+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=h+16|0;d=i+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));g=f+-48|0}d=c[((c[n>>2]&3|0)==2?n:j)+40>>2]|0;e=c[f>>2]&3;if((d|0)!=(c[((e|0)==2?f:g)+40>>2]|0)){if((d|0)==(c[((e|0)==3?f:k)+40>>2]|0)){h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+16|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}}else{h=(c[m>>2]|0)+56|0;d=(c[l>>2]|0)+56|0;e=h+40|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0))}d=(c[l>>2]|0)+172|0;if(!(c[d>>2]|0))c[d>>2]=n;c[(c[m>>2]|0)+116>>2]=f}return n|0}function ph(a,b,c){a=a|0;b=b|0;c=c|0;return ih(oh(a,b,c)|0)|0}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;f=c[a>>2]|0;d=c[b+16>>2]|0;c[d+164>>2]=f;e=f;if(f|0)c[(c[e+16>>2]|0)+168>>2]=b;c[a>>2]=b;c[d+168>>2]=0;if((e|0)==(b|0))qa(85492,85466,215,85508);else return}function rh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((a|0)==(b|0))qa(85518,85466,220,85525);f=c[b+16>>2]|0;d=f+164|0;if(c[d>>2]|0)qa(85538,85466,221,85525);e=(c[a+16>>2]|0)+164|0;c[d>>2]=c[e>>2];d=c[e>>2]|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=b;c[f+168>>2]=a;c[e>>2]=b;return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0;if(!(th(a,b)|0))qa(85557,85466,231,85578);b=c[b+16>>2]|0;d=c[b+164>>2]|0;e=d;b=b+168|0;if(d|0)c[(c[d+16>>2]|0)+168>>2]=c[b>>2];b=c[b>>2]|0;if(!b)c[(c[a+16>>2]|0)+192>>2]=e;else c[(c[b+16>>2]|0)+164>>2]=e;return}function th(a,b){a=a|0;b=b|0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if((a|0)==0|(a|0)==(b|0))break;a=(c[a+16>>2]|0)+164|0}return a|0}function uh(b){b=b|0;var d=0,e=0,f=0,g=0;d=uH(64)|0;c[d>>2]=c[d>>2]&-4|1;e=d+16|0;c[e>>2]=uH(304)|0;c[d+24>>2]=fz(b)|0;g=c[e>>2]|0;a[g+156>>0]=1;h[g+96>>3]=1.0;h[g+88>>3]=1.0;h[g+80>>3]=1.0;c[g+216>>2]=1;c[g+176>>2]=0;g=uH(20)|0;f=c[e>>2]|0;c[f+172>>2]=g;c[f+184>>2]=0;f=uH(20)|0;c[(c[e>>2]|0)+180>>2]=f;qh(b,d);b=(c[b+16>>2]|0)+232|0;c[b>>2]=(c[b>>2]|0)+1;return d|0}function vh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=d+48|0;e=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[e+188>>2]|0;if(!f)e=vH((c[e+192>>2]<<2)+8|0)|0;else e=xH(f,(c[e+192>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0)+188>>2]=e;h=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;f=c[h+188>>2]|0;h=h+192|0;e=c[h>>2]|0;c[h>>2]=e+1;c[f+(e<<2)>>2]=d;g=c[(c[((c[d>>2]&3|0)==3?d:g)+40>>2]|0)+16>>2]|0;c[(c[g+188>>2]|0)+(c[g+192>>2]<<2)>>2]=0;g=d+-48|0;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;if(!f)e=vH((c[e+200>>2]<<2)+8|0)|0;else e=xH(f,(c[e+200>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+196>>2]=e;e=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;f=c[e+196>>2]|0;e=e+200|0;h=c[e>>2]|0;c[e>>2]=h+1;c[f+(h<<2)>>2]=d;h=c[(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;c[(c[h+196>>2]|0)+(c[h+200>>2]<<2)>>2]=0;a[(c[b+16>>2]|0)+240>>0]=1;a[(c[(ig(b)|0)+16>>2]|0)+240>>0]=1;return}function wh(a){a=a|0;var b=0,d=0;if(!a)qa(85456,85466,269,85595);b=c[(c[a+16>>2]|0)+116>>2]|0;if(b|0?(d=(c[b+16>>2]|0)+172|0,(c[d>>2]|0)==(a|0)):0)c[d>>2]=0;jh((c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+188|0,a);jh((c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+196|0,a);return}function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=(c[a+16>>2]|0)+172|0;e=c[d>>2]|0;do if((e|0)!=(b|0))if(!e){c[d>>2]=b;yh(a,b);break}else qa(87498,85466,340,85633);else Pw(0,85612,f)|0;while(0);l=f;return}function yh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;f=(c[d+16>>2]|0)+170|0;i=c[a+16>>2]|0;a=b[i+170>>1]|0;if((e[f>>1]|0)<(a&65535))b[f>>1]=a;g=i+168|0;h=i+154|0;f=i+156|0;a=d;while(1){if(!a)break;d=c[a+16>>2]|0;i=d+168|0;b[i>>1]=(e[i>>1]|0)+(e[g>>1]|0);i=d+154|0;b[i>>1]=(e[i>>1]|0)+(e[h>>1]|0);i=d+156|0;c[i>>2]=(c[i>>2]|0)+(c[f>>2]|0);a=c[d+172>>2]|0}return}function zh(d){d=d|0;var e=0,f=0,g=0,h=0;f=d+16|0;e=c[(c[f>>2]|0)+172>>2]|0;a:while(1){if(!e)break;Ah(e,d);h=c[e+16>>2]|0;g=c[h+172>>2]|0;if(!(b[h+168>>1]|0))Bh(e);while(1){if((a[(c[e+16>>2]|0)+112>>0]|0)!=1){e=g;continue a}e=c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){e=g;continue a}if((c[e+184>>2]|0)!=1){e=g;continue a}e=c[c[e+180>>2]>>2]|0;Ah(e,d)}}c[(c[f>>2]|0)+172>>2]=0;return}function Ah(a,d){a=a|0;d=d|0;var f=0;f=c[d+16>>2]|0;d=c[a+16>>2]|0;a=d+168|0;b[a>>1]=(e[a>>1]|0)-(e[f+168>>1]|0);a=d+154|0;b[a>>1]=(e[a>>1]|0)-(e[f+154>>1]|0);d=d+156|0;c[d>>2]=(c[d>>2]|0)-(c[f+156>>2]|0);return}function Bh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if(!a)qa(85456,85466,128,85646);g=a+48|0;d=0;while(1){b=c[a>>2]|0;e=(c[(c[((b&3|0)==3?a:g)+40>>2]|0)+16>>2]|0)+180|0;f=c[(c[e>>2]|0)+(d<<2)>>2]|0;if(!f)break;if((f|0)==(a|0))jh(e,a);d=d+1|0}g=a+-48|0;f=0;while(1){d=(c[(c[((b&3|0)==2?a:g)+40>>2]|0)+16>>2]|0)+172|0;e=c[(c[d>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)==(a|0)){jh(d,a);b=c[a>>2]|0}f=f+1|0}return}function Ch(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;p=l;l=l+1040|0;n=p+1032|0;o=p;m=p+8|0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;i=c[d+196>>2]|0;h=i+(j<<6)|0;i=i+(j<<6)+4|0;g=0;d=0;while(1){if((g|0)>=(c[h>>2]|0))break;e=c[(c[i>>2]|0)+(g<<2)>>2]|0;f=e+16|0;if(c[(c[f>>2]|0)+112>>2]|0){if(!d){a[n>>0]=a[18484]|0;a[n+1>>0]=a[18485]|0;a[n+2>>0]=a[18486]|0;a[n+3>>0]=a[18487]|0;d=Xx(85668,n,0)|0}c[o>>2]=g;Y0(m,134313,o)|0;t=az(d,m,1)|0;Az(t,91080,24,1)|0;q=c[(c[f>>2]|0)+180>>2]|0;r=c[q>>2]|0;r=c[(c[(c[((c[r>>2]&3|0)==2?r:r+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;q=c[q+4>>2]|0;q=c[(c[(c[((c[q>>2]&3|0)==2?q:q+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;s=(r|0)>(q|0);f=c[t+16>>2]|0;c[f+12>>2]=s?q:r;c[f+16>>2]=s?r:q;c[f+20>>2]=e}g=g+1|0}if(d|0){if((ay(d)|0)>1)Dh(d,h);$x(d)|0}j=j+1|0;d=c[k>>2]|0}l=p;return}function Dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=0;h=Sy(a)|0;a:while(1){if(!h)break;i=Ty(a,h)|0;j=h+16|0;g=i;while(1){if(!g){h=i;continue a}f=c[g+16>>2]|0;e=c[j>>2]|0;if((c[f+16>>2]|0)>(c[e+12>>2]|0)){if((c[e+16>>2]|0)<=(c[f+12>>2]|0))Rx(a,h,g,0,1)|0}else{Rx(a,g,h,0,1)|0;d=1}g=Ty(a,g)|0}}do if(d|0){h=vA(a,85671,1)|0;j=uH((ay(a)|0)<<2)|0;i=uH((ay(a)|0)<<2)|0;f=b+4|0;e=Sy(a)|0;b:while(1){if(!e){d=23;break}if((c[(c[e+16>>2]|0)+8>>2]|0)==0?cy(a,e,1,1)|0:0){c:do if(Eh(a,e,h,i)|0){g=ay(h)|0;if((Fh(a,h,j)|0)!=(g|0)){d=17;break b}_0(i,g,4,60);d=0;while(1){if((d|0)>=(g|0))break c;b=i+(d<<2)|0;k=c[j+(d<<2)>>2]|0;c[(c[k+16>>2]|0)+236>>2]=c[b>>2];c[(c[f>>2]|0)+(c[b>>2]<<2)>>2]=k;d=d+1|0}}while(0);Hh(h)}e=Ty(a,e)|0}if((d|0)==17)qa(85676,85686,265,85697);else if((d|0)==23){D_(j);break}}while(0);return}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=c[b+16>>2]|0;c[h+8>>2]=1;h=c[(c[(c[h+20>>2]|0)+16>>2]|0)+236>>2]|0;c[e+((ay(d)|0)<<2)>>2]=h;Xy(d,b,1)|0;h=Ex(a,b)|0;f=0;while(1){if(!h)break;j=c[h>>2]&3;g=c[((j|0)==2?h:h+-48|0)+40>>2]|0;i=c[g+16>>2]|0;f=f+((c[(c[(c[i+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[(c[(c[((j|0)==3?h:h+48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[i+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Gx(a,h)|0}h=Hx(a,b)|0;while(1){if(!h)break;i=c[h>>2]&3;g=c[((i|0)==3?h:h+48|0)+40>>2]|0;j=c[g+16>>2]|0;f=f+((c[(c[(c[(c[(c[((i|0)==2?h:h+-48|0)+40>>2]|0)+16>>2]|0)+20>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[j+20>>2]|0)+16>>2]|0)+236>>2]|0)&1)|0;if(!(c[j+8>>2]|0))f=(Eh(a,g,d,e)|0)+f|0;h=Ix(a,h)|0}return f|0}function Fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=0;while(1){e=Ih(a,b)|0;if(!e)break;c[d+(f<<2)>>2]=c[(c[e+16>>2]|0)+20>>2];cz(b,e)|0;e=Ex(a,e)|0;while(1){if(!e)break;g=Gx(a,e)|0;Ux(a,e)|0;e=g}f=f+1|0}return f|0}function Gh(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function Hh(a){a=a|0;var b=0,c=0;b=Sy(a)|0;while(1){if(!b)break;c=Ty(a,b)|0;cz(a,b)|0;b=c}return}function Ih(a,b){a=a|0;b=b|0;var c=0;c=Sy(b)|0;while(1){if(!c){c=0;break}if(!(cy(a,c,1,0)|0))break;c=Ty(b,c)|0}return c|0}function Jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;Kh(b);i=b+16|0;f=0;e=0;while(1){if((f|0)>=(c[(c[i>>2]|0)+220>>2]|0))break;Lh(b,f);f=f+1|0;e=(Mh(b,0,d)|0)+e|0}Nh(b);h=1;while(1){f=c[i>>2]|0;g=c[f+180>>2]|0;if((h|0)>(g|0))break;g=(Oh(c[(c[f+184>>2]|0)+(h<<2)>>2]|0,d)|0)+e|0;h=h+1|0;e=g}do if((g|0)>0){f=xx(b,85711)|0;if(f|0?(QL(f)|0)<<24>>24==0:0)break;ll(b);a[190689]=1;e=Mh(b,2,d)|0}while(0);Ph(b,e);return}function Kh(d){d=d|0;var e=0;if(0)EL();a[190689]=0;c[45971]=d;e=((by(ig(d)|0)|0)<<2)+4|0;c[45970]=uH(e)|0;c[45969]=uH(e)|0;Fi(d);e=d+16|0;if(b[(c[e>>2]|0)+136>>1]&16)Gi(d);Uk(d);Il(d,1);Hi(d);Wh(d);e=c[e>>2]|0;c[45972]=b[e+236>>1];c[45973]=b[e+238>>1];return}function Lh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;a=c[a+16>>2]|0;c[a+192>>2]=c[(c[a+216>>2]|0)+(d<<2)>>2];a:do if((d|0)>0){d=b[a+238>>1]|0;e=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(d|0))break a;f=c[e>>2]|0;g=f+(a<<6)+4|0;f=f+(a<<6)|0;c[g>>2]=(c[g>>2]|0)+(c[f>>2]<<2);c[f>>2]=0;a=a+1|0}}while(0);return}function Mh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o;if((b|0)>1){e=ki(0)|0;li(a)}else e=2147483647;m=c[15686]|0;k=b;f=0;b=e;while(1){if((k|0)>=3)break;f=c[46365]|0;if((k|0)==2)if((e|0)>(b|0)){ni(a);e=b}else e=b;else{e=(f|0)<4?f:4;if((ig(a)|0)==(a|0))mi(a,k);if(!k)Xh(a);Yh(a);g=ki(0)|0;if((g|0)>(b|0)){f=e;e=g}else{li(a);f=e;e=g;b=g}}g=0;j=0;while(1){if((j|0)>=(f|0))break;if(0){c[n>>2]=k;c[n+4>>2]=j;c[n+8>>2]=g;c[n+12>>2]=e;c[n+16>>2]=b;g1(m,86104,n)|0}i=g+1|0;if((e|0)==0|(g|0)>=(c[45974]|0))break;oi(a,j);e=ki(0)|0;if((e|0)>(b|0))g=i;else{li(a);g=+h[22830]*+(b|0)>+(e|0)?0:i;b=e}j=j+1|0}if(!e){e=0;break}else k=k+1|0}if((e|0)>(b|0))ni(a);if((b|0)>0){pi(a,0);e=ki(0)|0}else e=b;a:do if(d|0){b=0;while(1){if((b|0)>=(f|0))break a;qi(a);b=b+1|0}}while(0);l=o;return e|0}function Nh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;n=p;ji(a);k=a+16|0;d=c[k>>2]|0;m=c[15686]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;e=c[d+196>>2]|0;f=c[e+(j<<6)+8>>2]|0;c[e+(j<<6)>>2]=f;g=c[e+(j<<6)+12>>2]|0;c[e+(j<<6)+4>>2]=g;i=0;while(1){if((i|0)>=(f|0))break;h=c[g+(i<<2)>>2]|0;if(!h){o=6;break}c[(c[h+16>>2]|0)+236>>2]=i;i=i+1|0}if((o|0)==6){o=0;if(0){e=ry(a)|0;d=c[(c[(c[k>>2]|0)+196>>2]|0)+(j<<6)>>2]|0;c[n>>2]=e;c[n+4>>2]=j;c[n+8>>2]=i;c[n+12>>2]=d;g1(m,86054,n)|0;d=c[k>>2]|0;e=c[d+196>>2]|0}c[e+(j<<6)>>2]=i}j=j+1|0}l=p;return}function Oh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;fl(a);Wh(a);Xh(a);Yh(a);f=a+16|0;d=Mh(a,2,b)|0;e=1;while(1){g=c[f>>2]|0;if((e|0)>(c[g+180>>2]|0))break;d=(Oh(c[(c[g+184>>2]|0)+(e<<2)>>2]|0,b)|0)+d|0;e=e+1|0}Zh(a);return d|0}function Ph(d,e){d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+16|0;p=q;f=c[45969]|0;if(f|0){D_(f);c[45969]=0}f=c[45970]|0;if(f|0){D_(f);c[45970]=0}o=d+16|0;f=1;while(1){g=c[o>>2]|0;if((f|0)>(c[g+180>>2]|0))break;Qh(c[(c[g+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0}n=b[g+236>>1]|0;f=g;while(1){if((n|0)>(b[f+238>>1]|0))break;else m=0;while(1){f=c[f+196>>2]|0;if((m|0)>=(c[f+(n<<6)>>2]|0))break;k=(c[(c[f+(n<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;f=c[k>>2]|0;c[f+236>>2]=m;f=c[f+188>>2]|0;a:do if(f|0){g=0;while(1){i=c[f+(g<<2)>>2]|0;if(!i)break a;j=i+16|0;if((a[(c[j>>2]|0)+112>>0]|0)==4){wh(i);D_(c[j>>2]|0);D_(i);g=g+-1|0;f=c[(c[k>>2]|0)+188>>2]|0}g=g+1|0}}while(0);m=m+1|0;f=c[o>>2]|0}Rh(c[f+(n<<6)+56>>2]|0);n=n+1|0;f=c[o>>2]|0}if(0){o=c[15686]|0;d=ry(d)|0;r=+FL();c[p>>2]=d;c[p+4>>2]=e;h[p+8>>3]=r;g1(o,85722,p)|0}l=q;return}function Qh(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+16|0;d=1;while(1){f=c[g>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Qh(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}a:do if(c[f+268>>2]|0){e=b[f+236>>1]|0;d=f;while(1){if((e|0)>(b[d+238>>1]|0))break a;j=c[(c[d+268>>2]|0)+(e<<2)>>2]|0;i=Sh(a,j,-1)|0;j=Sh(a,j,1)|0;c[(c[(c[g>>2]|0)+268>>2]|0)+(e<<2)>>2]=i;k=c[(c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0;i=c[(c[i+16>>2]|0)+236>>2]|0;f=c[g>>2]|0;h=c[f+196>>2]|0;c[h+(e<<6)+4>>2]=k+(i<<2);c[h+(e<<6)>>2]=(c[(c[j+16>>2]|0)+236>>2]|0)+1-i;e=e+1|0;d=f}}while(0);return}function Rh(a){a=a|0;if(a|0){D_(c[a+8>>2]|0);D_(a)}return}function Sh(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=b;while(1){b=Th(b,c)|0;if(!b)break;if(Uh(a,b)|0){d=b;continue}e=(Vh(a,b)|0)==0;d=e?d:b}return d|0}function Th(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a)qa(85761,85686,1023,85763);if((b|0)<0){a=c[a+16>>2]|0;e=c[a+236>>2]|0;if((e|0)>0){a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+-1|0;f=7}else g=0}else{a=c[a+16>>2]|0;e=c[a+236>>2]|0;a=(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(c[a+232>>2]<<6)+4|0;d=e+1|0;f=7}if((f|0)==7){a=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(a)if((O((c[(c[a+16>>2]|0)+236>>2]|0)-e|0,b)|0)>0)g=a;else qa(85772,85686,1029,85763);else g=0}return g|0}function Uh(b,d){b=b|0;d=d|0;if(!(a[(c[d+16>>2]|0)+156>>0]|0))b=(oz(b,d)|0)!=0&1;else b=0;return b|0}function Vh(b,d){b=b|0;d=d|0;var e=0,f=0;d=c[d+16>>2]|0;if(((a[d+156>>0]|0)==1?(c[d+176>>2]|0)==1:0)?(c[d+184>>2]|0)==1:0){d=c[d+180>>2]|0;while(1){d=c[d>>2]|0;e=c[d+16>>2]|0;if(!(a[e+112>>0]|0))break;else d=e+116|0}if(oz(b,d)|0)d=1;else f=7}else f=7;if((f|0)==7)d=0;return d|0}function Wh(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=c[46370]|0;a:do if((d|0)!=0|(c[46391]|0)!=0){d=NL(b,d,0)|0;if(d|0){switch(a[d>>0]|0){case 0:break a;case 111:{if(!(b$(d,85974)|0)){ei(b,1);break a}break}case 105:{if(!(b$(d,95660)|0)){ei(b,0);break a}break}default:{}}c[e>>2]=d;Pw(1,85978,e)|0;break}d=wA(b)|0;while(1){if(!d)break;if(!(Rj(d)|0))Wh(d);d=xA(d)|0}if(c[46391]|0)fi(b)}while(0);l=f;return}function Xh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;e=c[k>>2]|0;j=b[e+236>>1]|0;while(1){if((j|0)>(b[e+238>>1]|0))break;else{f=0;i=0}while(1){g=c[e+196>>2]|0;h=c[g+(j<<6)>>2]|0;if((i|0)>=(h|0))break;g=c[(c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;a[g+158>>0]=0;a[g+157>>0]=0;c[g+284>>2]=i;if((f|0)==0&(c[g+192>>2]|0)>0){f=ci(h,h)|0;e=c[k>>2]|0;c[(c[e+196>>2]|0)+(j<<6)+56>>2]=f;f=1}i=i+1|0}a:do if(f){i=0;f=h;while(1){if((i|0)>=(f|0))break a;h=c[(c[g+(j<<6)+4>>2]|0)+(i<<2)>>2]|0;if(!(a[(c[h+16>>2]|0)+157>>0]|0)){di(d,h);e=c[k>>2]|0;f=c[e+196>>2]|0;g=f;f=c[f+(j<<6)>>2]|0}i=i+1|0}}while(0);j=j+1|0}return}function Yh(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=d+16|0;e=c[s>>2]|0;if(a[e+240>>0]|0){h=0;r=b[e+236>>1]|0;q=0;i=0;a:while(1){if((r|0)>(b[e+238>>1]|0))break;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if(!g){g=q;f=i}else{f=c[f+(r<<6)+4>>2]|0;o=c[(c[(c[f>>2]|0)+16>>2]|0)+236>>2]|0;e=0;while(1){if((e|0)>=(g|0))break;a[(c[(c[f+(e<<2)>>2]|0)+16>>2]|0)+157>>0]=0;e=e+1|0}e=(e<<2)+4|0;if(!h)p=vH(e)|0;else p=xH(i,e)|0;m=0;n=0;while(1){e=c[s>>2]|0;f=c[e+196>>2]|0;g=c[f+(r<<6)>>2]|0;if((g|0)<=(n|0))break;j=c[(c[f+(r<<6)+4>>2]|0)+(((c[e+116>>2]&1|0)==0?g+~n|0:n)<<2)>>2]|0;l=j+16|0;e=0;k=0;while(1){i=c[l>>2]|0;if((e|0)>=(c[i+200>>2]|0)){f=0;g=0;e=i;break}i=k+((_h(d,c[(c[i+196>>2]|0)+(e<<2)>>2]|0)|0)!=0&1)|0;e=e+1|0;k=i}while(1){if((g|0)>=(c[e+192>>2]|0))break;i=f+((_h(d,c[(c[e+188>>2]|0)+(g<<2)>>2]|0)|0)!=0&1)|0;f=i;g=g+1|0;e=c[l>>2]|0}if(f|k)if((k|0)==0&(a[e+157>>0]|0)==0)e=($h(d,j,p+(m<<2)|0,r)|0)+m|0;else e=m;else{c[p+(m<<2)>>2]=j;e=m+1|0}m=e;n=n+1|0}b:do if(m){c:do if(!(c[e+116>>2]&1)){f=p;e=p+(m<<2)|0;while(1){e=e+-4|0;if(f>>>0>=e>>>0){g=0;break c}n=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=n;f=f+4|0}}else g=0;while(0);while(1){e=c[s>>2]|0;i=c[e+196>>2]|0;f=c[i+(r<<6)>>2]|0;if((g|0)>=(f|0)){m=0;g=i;break}n=c[p+(g<<2)>>2]|0;c[(c[i+(r<<6)+4>>2]|0)+(g<<2)>>2]=n;c[(c[n+16>>2]|0)+236>>2]=g+o;g=g+1|0}while(1){if((m|0)>=(f|0))break b;l=(c[(c[g+(r<<6)+4>>2]|0)+(m<<2)>>2]|0)+16|0;i=c[(c[l>>2]|0)+188>>2]|0;if(i){k=0;f=i;while(1){g=c[f+(k<<2)>>2]|0;e=c[s>>2]|0;if(!g)break;j=c[g>>2]&3;i=c[(c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;j=c[(c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;if(!(c[e+116>>2]&1))if((i|0)<(j|0))t=36;else e=k;else if((i|0)>(j|0))t=36;else e=k;if((t|0)==36){t=0;if(_h(d,g)|0){t=37;break a}wh(g);ai(d,g);e=k+-1|0;f=c[(c[l>>2]|0)+188>>2]|0}k=e+1|0}f=c[e+196>>2]|0;g=f;f=c[f+(r<<6)>>2]|0}m=m+1|0}}while(0);a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(r<<6)+49>>0]=0;h=p;g=p;f=p}r=r+1|0;q=g;i=f}if((t|0)==37)qa(85820,85686,1561,85859);if(h|0)D_(q)}return}function Zh(a){a=a|0;var d=0,e=0;e=a+16|0;a=c[e>>2]|0;a:do if(c[a+268>>2]|0){d=b[a+236>>1]|0;while(1){if((d|0)>(b[a+238>>1]|0))break a;c[(c[a+268>>2]|0)+(d<<2)>>2]=c[c[(c[a+196>>2]|0)+(d<<6)+4>>2]>>2];d=d+1|0;a=c[e>>2]|0}}while(0);return}function _h(a,b){a=a|0;b=b|0;if((c[(c[b+16>>2]|0)+156>>2]|0)!=0?(bi(a,c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)!=0:0)a=(bi(a,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)!=0&1;else a=0;return a|0}function $h(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=d+16|0;g=c[l>>2]|0;a[g+157>>0]=1;a:do if((c[g+192>>2]|0)>0){h=0;j=0;while(1){i=c[(c[g+188>>2]|0)+(j<<2)>>2]|0;if(!i)break a;if((_h(b,i)|0)!=0?(k=c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]|0,(a[(c[k+16>>2]|0)+157>>0]|0)==0):0)h=($h(b,k,e+(h<<2)|0,f)|0)+h|0;j=j+1|0;g=c[l>>2]|0}}else h=0;while(0);if((c[g+232>>2]|0)==(f|0)){c[e+(h<<2)>>2]=d;return h+1|0}else qa(85872,85686,1490,85888);return 0}function ai(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=c[d>>2]&3;j=c[((i|0)==2?d:d+-48|0)+40>>2]|0;f=c[(c[j+16>>2]|0)+188>>2]|0;a:do if(!f){e=d+48|0;m=15}else{l=d+48|0;g=((i|0)==3?d:l)+40|0;e=0;while(1){h=c[f+(e<<2)>>2]|0;if(!h){e=l;m=15;break a}if((c[((c[h>>2]&3|0)==2?h:h+-48|0)+40>>2]|0)==(c[g>>2]|0))break;else e=e+1|0}xh(d,h);e=(c[d+16>>2]|0)+172|0;if(!(c[e>>2]|0))c[e>>2]=h;e=c[h+16>>2]|0;if((a[e+112>>0]|0)==4?(k=e+116|0,(c[k>>2]|0)==0):0)c[k>>2]=d;e=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;f=c[e+204>>2]|0;if(!f)e=vH((c[e+208>>2]<<2)+8|0)|0;else e=xH(f,(c[e+208>>2]<<2)+8|0)|0;c[(c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0)+204>>2]=e;i=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;j=c[i+204>>2]|0;i=i+208|0;k=c[i>>2]|0;c[i>>2]=k+1;c[j+(k<<2)>>2]=d;d=c[(c[((c[d>>2]&3|0)==3?d:l)+40>>2]|0)+16>>2]|0;c[(c[d+204>>2]|0)+(c[d+208>>2]<<2)>>2]=0}while(0);if((m|0)==15){m=oh(j,c[((i|0)==3?d:e)+40>>2]|0,d)|0;l=c[d+16>>2]|0;d=c[m+16>>2]|0;a[d+112>>0]=(a[l+112>>0]|0)==4?4:3;c[d+96>>2]=c[l+96>>2];vh(b,m)}return}function bi(a,b){a=a|0;b=b|0;var c=0;c=Uh(a,b)|0;return Vh(a,b)|0|c|0}function ci(a,b){a=a|0;b=b|0;var d=0;d=uH(12)|0;c[d>>2]=a;c[d+4>>2]=b;c[d+8>>2]=uH(O(b,a)|0)|0;return d|0}function di(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=d+16|0;l=c[o>>2]|0;k=c[(c[(c[b+16>>2]|0)+196>>2]|0)+(c[l+232>>2]<<6)+56>>2]|0;a[l+157>>0]=1;a[l+158>>0]=1;l=(c[(c[(ig(b)|0)+16>>2]|0)+180>>2]|0)>0;e=c[o>>2]|0;f=c[e+188>>2]|0;a:do if(f){m=k+4|0;n=k+8|0;d=0;b:while(1){j=c[f+(d<<2)>>2]|0;if(!j){p=e;break a}if(l){if((oz(b,c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)|0)!=0?(oz(b,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0)!=0:0)q=7}else q=7;do if((q|0)==7){q=0;h=j+16|0;if(c[(c[h>>2]|0)+156>>2]|0){e=c[j>>2]&3;g=j+-48|0;r=c[(c[((e|0)==2?j:g)+40>>2]|0)+16>>2]|0;i=c[r+284>>2]|0;f=(i|0)<(c[k>>2]|0);if((a[r+158>>0]|0)==1){if(!f){q=10;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=12;break b}a[(c[n>>2]|0)+((O(f,i)|0)+e)>>0]=1;wh(j);d=d+-1|0;if((a[(c[h>>2]|0)+112>>0]|0)==4)break;ai(b,j);break}else{if(!f){q=16;break b}e=c[(c[(c[((e|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+284>>2]|0;f=c[m>>2]|0;if((e|0)>=(f|0)){q=18;break b}a[(c[n>>2]|0)+((O(f,e)|0)+i)>>0]=1;e=c[((c[j>>2]&3|0)==2?j:g)+40>>2]|0;if(a[(c[e+16>>2]|0)+157>>0]|0)break;di(b,e);break}}}while(0);f=c[o>>2]|0;d=d+1|0;e=f;f=c[f+188>>2]|0}if((q|0)==10)qa(85898,85686,1251,85930);else if((q|0)==12)qa(85942,85686,1252,85930);else if((q|0)==16)qa(85898,85686,1260,85930);else if((q|0)==18)qa(85942,85686,1261,85930)}else p=e;while(0);a[p+158>>0]=0;return}function ei(a,b){a=a|0;b=b|0;var c=0;c=Sy(a)|0;while(1){if(!c)break;gi(a,c,b);c=Ty(a,c)|0}return}function fi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g;d=Sy(b)|0;while(1){if(!d)break;e=NL(d,c[46391]|0,0)|0;a:do if(e|0){switch(a[e>>0]|0){case 0:break a;case 111:{if(!(b$(e,85974)|0)){gi(b,d,1);break a}break}case 105:{if(!(b$(e,95660)|0)){gi(b,d,0);break a}break}default:{}}h=ry(d)|0;c[f>>2]=e;c[f+4>>2]=h;Pw(1,86009,f)|0}while(0);d=Ty(b,d)|0}l=g;return}function gi(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=c[45970]|0;h=d+16|0;f=c[h>>2]|0;a:do if(!(c[f+212>>2]|0)){i=(e|0)!=0;b:do if(i){g=0;d=0;e=f;while(1){f=c[(c[e+180>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}else{g=0;d=0;e=f;while(1){f=c[(c[e+172>>2]|0)+(g<<2)>>2]|0;if(!f)break b;if(!(hi(f)|0)){c[j+(d<<2)>>2]=f;d=d+1|0;e=c[h>>2]|0}g=g+1|0}}while(0);if((d|0)>=2){c[j+(d<<2)>>2]=0;_0(j,d,4,61);h=i?2:3;g=i?-1:1;f=1;while(1){d=c[j+(f<<2)>>2]|0;if(!d)break a;e=c[j+(f+-1<<2)>>2]|0;e=c[((c[e>>2]&3|0)==(h|0)?e:e+(g*48|0)|0)+40>>2]|0;d=c[((c[d>>2]&3|0)==(h|0)?d:d+(g*48|0)|0)+40>>2]|0;if(hh(e,d)|0)break a;i=oh(e,d,0)|0;a[(c[i+16>>2]|0)+112>>0]=4;vh(b,i);f=f+1|0}}}while(0);return}function hi(a){a=a|0;var b=0;while(1){b=c[(c[a+16>>2]|0)+116>>2]|0;if(!b)break;else a=b}b=c[a>>2]&3;return (c[(c[(c[((b|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)!=(c[(c[(c[((b|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0)|0}function ii(a,b){a=a|0;b=b|0;return ((c[c[a>>2]>>2]|0)>>>4)-((c[c[b>>2]>>2]|0)>>>4)|0}function ji(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;f=c[a+16>>2]|0;g=f+220|0;h=c[g>>2]|0;if((h|0)>=2){i=f+216|0;a=0;e=0;while(1){if((e|0)>=(h|0))break;d=c[(c[i>>2]|0)+(e<<2)>>2]|0;if(a|0)c[(c[a+16>>2]|0)+164>>2]=d;j=c[d+16>>2]|0;c[j+168>>2]=a;a=d;d=j;while(1){d=c[d+164>>2]|0;if(!d)break;a=d;d=c[d+16>>2]|0}e=e+1|0}c[g>>2]=1;c[f+192>>2]=c[c[f+216>>2]>>2];b[f+236>>1]=c[45972];b[f+238>>1]=c[45973]}return}function ki(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=c[45971]|0;j=i+16|0;f=c[j>>2]|0;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>=(b[f+238>>1]|0))break;d=c[f+196>>2]|0;if(!(a[d+(h<<6)+49>>0]|0)){e=Di(i,h)|0;d=c[j>>2]|0;f=c[d+196>>2]|0;c[f+(h<<6)+52>>2]=e;a[f+(h<<6)+49>>0]=1}else{e=c[d+(h<<6)+52>>2]|0;d=f}g=e+g|0;h=h+1|0;f=d}return g|0}function li(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0;a=c[a+16>>2]|0;g=b[a+238>>1]|0;i=a+196|0;a=b[a+236>>1]|0;while(1){if((a|0)>(g|0))break;f=c[i>>2]|0;e=c[f+(a<<6)>>2]|0;f=f+(a<<6)+4|0;d=0;while(1){if((d|0)>=(e|0))break;j=c[(c[(c[f>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;h[j+16>>3]=+(c[j+236>>2]|0);d=d+1|0}a=a+1|0}return}function mi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+16|0;m=r;n=d+16|0;o=GL(c[(c[n>>2]|0)+232>>2]|0)|0;j=c[n>>2]|0;f=j+192|0;g=f;while(1){g=c[g>>2]|0;if(!g)break;g=c[g+16>>2]|0;a[g+157>>0]=0;g=g+164|0}h=b[j+238>>1]|0;i=j+196|0;g=b[j+236>>1]|0;while(1){if((g|0)>(h|0))break;c[(c[i>>2]|0)+(g<<6)>>2]=0;g=g+1|0}i=(e|0)==0;while(1){g=c[f>>2]|0;if(!g)break;h=g+16|0;f=c[h>>2]|0;if((c[c[(i?f+172|0:f+180|0)>>2]>>2]|0)==0?(k=f+157|0,(a[k>>0]|0)==0):0){a[k>>0]=1;IL(o,g);while(1){f=JL(o)|0;if(!f)break;if((a[(c[f+16>>2]|0)+159>>0]|0)==7){kl(d,f,e,o);continue}else{Bi(d,f);Ci(o,f,e);continue}}f=c[h>>2]|0}f=f+164|0}if(JL(o)|0)Pw(1,86217,m)|0;f=c[n>>2]|0;j=b[f+236>>1]|0;while(1){if((j|0)>(b[f+238>>1]|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(j<<6)+49>>0]=0;if((c[f+116>>2]&1|0)!=0?(p=c[f+196>>2]|0,q=c[p+(j<<6)>>2]|0,(q|0)>0):0){g=c[p+(j<<6)+4>>2]|0;h=q+-1|0;i=(h|0)/2|0;f=0;while(1){if((f|0)>(i|0))break;vi(c[g+(f<<2)>>2]|0,c[g+(h-f<<2)>>2]|0);f=f+1|0}f=c[n>>2]|0}j=j+1|0}if((ig(d)|0)==(d|0)?(ki(0)|0)>0:0)pi(d,0);HL(o);l=r;return}function ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;d=c[n>>2]|0;f=b[d+236>>1]|0;e=b[d+238>>1]|0;l=e<<16>>16;m=d+196|0;g=f;while(1){if((g|0)>(l|0))break;k=c[m>>2]|0;j=c[k+(g<<6)>>2]|0;k=k+(g<<6)+4|0;i=0;while(1){if((i|0)>=(j|0))break;o=c[(c[(c[k>>2]|0)+(i<<2)>>2]|0)+16>>2]|0;c[o+236>>2]=~~+h[o+16>>3];i=i+1|0}g=g+1|0}while(1){if((f|0)>(e<<16>>16|0))break;a[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(f<<6)+49>>0]=0;o=c[d+196>>2]|0;_0(c[o+(f<<6)+4>>2]|0,c[o+(f<<6)>>2]|0,4,62);o=c[n>>2]|0;f=f+1|0;e=b[o+238>>1]|0;d=o}return}function oi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=((d|0)%4|0|0)<2&1;e=c[a+16>>2]|0;if(!(d&1)){d=b[e+236>>1]|0;f=1;e=b[e+238>>1]|0;d=(d<<16>>16<=(b[(c[(c[45971]|0)+16>>2]|0)+236>>1]|0)&1)+(d<<16>>16)|0}else{d=b[e+238>>1]|0;f=-1;e=b[e+236>>1]|0;d=((d<<16>>16>=(b[(c[(c[45971]|0)+16>>2]|0)+238>>1]|0))<<31>>31)+(d<<16>>16)|0}e=f+e|0;while(1){if((d|0)==(e|0))break;yi(a,d,g,(xi(a,d,d-f|0)|0)&255);d=d+f|0}pi(a,g^1);return}function pi(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;g=c[k>>2]|0;i=b[g+236>>1]|0;j=b[g+238>>1]|0;h=g+196|0;f=i<<16>>16;while(1){if((f|0)>(j|0)){h=i;break}a[(c[h>>2]|0)+(f<<6)+48>>0]=1;f=f+1|0}while(1){f=0;h=h<<16>>16;while(1){if((h|0)>(b[g+238>>1]|0))break;if(a[(c[g+196>>2]|0)+(h<<6)+48>>0]|0){f=(wi(d,h,e)|0)+f|0;g=c[k>>2]|0}h=h+1|0}if((f|0)<=0)break;h=b[g+236>>1]|0}return}function qi(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=d+16|0;e=c[o>>2]|0;n=b[e+238>>1]|0;a:while(1){if((n|0)<(b[e+236>>1]|0)){e=16;break}f=c[e+196>>2]|0;a[f+(n<<6)+48>>0]=0;p=(n|0)>0;q=n+1|0;g=0;b:while(1){l=(c[f+(n<<6)>>2]|0)+-1|0;m=f+(n<<6)+4|0;k=f+(q<<6)|0;while(1){if((g|0)>=(l|0))break b;j=c[m>>2]|0;i=c[j+(g<<2)>>2]|0;g=g+1|0;j=c[j+(g<<2)>>2]|0;if((c[(c[i+16>>2]|0)+236>>2]|0)>=(c[(c[j+16>>2]|0)+236>>2]|0)){e=7;break a}if(ri(d,i,j)|0)continue;if(p){f=si(i,j)|0;h=si(j,i)|0}else{f=0;h=0}if((c[k>>2]|0)>0){f=(ti(i,j)|0)+f|0;h=(ti(j,i)|0)+h|0}if((h|0)<=(f|0))break}ui(d,n,i,j);e=c[o>>2]|0;f=c[e+196>>2]|0}n=n+-1|0}if((e|0)==7)qa(86168,85686,721,86194);else if((e|0)==16)return}function ri(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=c[d+16>>2]|0;i=c[j+212>>2]|0;f=c[e+16>>2]|0;g=c[f+212>>2]|0;h=(i|0)!=(g|0);do if(!(a[190689]|0))if((g|0)==0|((i|0)==0|h^1))k=9;else{if((a[j+159>>0]|0)==7?(a[j+156>>0]|0)==1:0){b=0;break}if((a[f+159>>0]|0)==7?(a[f+156>>0]|0)==1:0){b=0;break}b=1}else if(h)b=1;else k=9;while(0);if((k|0)==9){f=c[b+16>>2]|0;b=c[(c[f+196>>2]|0)+(c[j+232>>2]<<6)+56>>2]|0;if(!b)b=0;else{j=(c[f+116>>2]&1|0)==0;k=O(c[b+4>>2]|0,c[(c[(j?d:e)+16>>2]|0)+284>>2]|0)|0;b=a[(c[b+8>>2]|0)+((c[(c[(j?e:d)+16>>2]|0)+284>>2]|0)+k)>>0]|0}}return b|0}function si(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+172>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+16|0;f=c[(c[l>>2]|0)+172>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+16>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ti(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;l=a+16|0;j=c[(c[d+16>>2]|0)+180>>2]|0;d=0;while(1){a=c[j>>2]|0;if(!a)break;i=c[a+16>>2]|0;k=b[i+154>>1]|0;g=c[(c[(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;i=i+56|0;f=c[(c[l>>2]|0)+180>>2]|0;a=d;while(1){d=c[f>>2]|0;if(!d)break;e=(c[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-g|0;if((e|0)<=0){if((e|0)==0?(m=c[d+16>>2]|0,+h[m+56>>3]>+h[i>>3]):0){d=m;n=9}}else{d=c[d+16>>2]|0;n=9}if((n|0)==9){n=0;a=(O(b[d+154>>1]|0,k)|0)+a|0}f=f+4|0}j=j+4|0;d=a}return d|0}function ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=a[(c[e+16>>2]|0)+156>>0]|0;if(i<<24>>24!=(a[(c[f+16>>2]|0)+156>>0]|0)){j=b+16|0;l=c[(c[j>>2]|0)+196>>2]|0;k=c[l+(d<<6)>>2]|0;l=l+(d<<6)+4|0;b=0;g=0;h=0;while(1){if((b|0)>=(k|0))break;o=(a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)==0;b=b+1|0;g=g+(o&1)|0;h=h+((o^1)&1)|0}i=i<<24>>24==0;h=(g|0)<(h|0)?(i?e:f):i?f:e;i=0;b=0;while(1){if((b|0)>=(k|0))break;i=(c[(c[l>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}o=(a[(c[h+16>>2]|0)+156>>0]|0)==0&1;n=0;g=i;while(1){b=g+-1|0;if((g|0)<=0){m=0;b=i;break}if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){m=0;b=i;break}n=n+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[l>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;m=m+1|0}vi(e,f);j=c[(c[j>>2]|0)+196>>2]|0;k=c[j+(d<<6)>>2]|0;j=j+(d<<6)+4|0;b=0;while(1){if((b|0)>=(k|0)){h=0;g=i;break}i=(c[(c[j>>2]|0)+(b<<2)>>2]|0)==(h|0)?b:i;b=b+1|0}while(1){b=g+-1|0;if((g|0)<=0){g=0;b=i;break}if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0)){g=0;b=i;break}h=h+1|0;g=b}while(1){b=b+1|0;if((b|0)>=(k|0))break;if((a[(c[(c[(c[j>>2]|0)+(b<<2)>>2]|0)+16>>2]|0)+156>>0]|0)!=(o|0))break;g=g+1|0}d=h-g|0;o=n-m|0;if((((d|0)>-1?d:0-d|0)|0)>(((o|0)>-1?o:0-o|0)|0))vi(e,f)}return}function vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[a+16>>2]|0;e=c[f+232>>2]|0;f=f+236|0;d=c[f>>2]|0;g=b+16|0;h=c[(c[g>>2]|0)+236>>2]|0;c[f>>2]=h;f=(c[45971]|0)+16|0;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(h<<2)>>2]=a;c[(c[g>>2]|0)+236>>2]=d;c[(c[(c[(c[f>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return}function wi(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=d+16|0;n=c[(c[q>>2]|0)+196>>2]|0;a[n+(e<<6)+48>>0]=0;r=(e|0)>0;s=e+1|0;o=(f|0)!=0;p=e+-1|0;g=0;i=0;f=n;a:while(1){l=(c[f+(e<<6)>>2]|0)+-1|0;m=f+(e<<6)+4|0;h=f+(s<<6)|0;n=g;while(1){if((n|0)>=(l|0)){f=17;break a}k=c[m>>2]|0;j=c[k+(n<<2)>>2]|0;n=n+1|0;k=c[k+(n<<2)>>2]|0;if((c[(c[j+16>>2]|0)+236>>2]|0)>=(c[(c[k+16>>2]|0)+236>>2]|0)){f=5;break a}if(ri(d,j,k)|0)continue;if(r){f=si(j,k)|0;g=si(k,j)|0}else{f=0;g=0}if((c[h>>2]|0)>0){f=(ti(j,k)|0)+f|0;g=(ti(k,j)|0)+g|0}if((f|0)>(g|0))break;if((f|0)==(g|0)&(o&(f|0)>0)){f=g;break}}vi(j,k);i=f-g+i|0;g=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0;a[g+(e<<6)+49>>0]=0;h=c[q>>2]|0;f=c[h+196>>2]|0;a[f+(e<<6)+48>>0]=1;if((b[h+236>>1]|0)<(e|0)){a[g+(p<<6)+49>>0]=0;a[f+(p<<6)+48>>0]=1}if((b[h+238>>1]|0)<=(e|0)){g=n;continue}a[g+(s<<6)+49>>0]=0;a[f+(s<<6)+48>>0]=1;g=n}if((f|0)==5)qa(86168,85686,770,86202);else if((f|0)==17)return i|0;return 0}function xi(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;p=c[45969]|0;q=a+16|0;a=c[(c[q>>2]|0)+196>>2]|0;r=c[a+(e<<6)+4>>2]|0;n=(f|0)>(e|0);o=p+4|0;m=0;while(1){f=c[a+(e<<6)>>2]|0;if((m|0)>=(f|0)){a=0;j=0;break}l=(c[r+(m<<2)>>2]|0)+16|0;a=c[l>>2]|0;a:do if(n){k=c[a+180>>2]|0;a=0;j=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+88>>0];a=a+1|0}j=j+1|0}}else{k=c[a+172>>2]|0;j=0;a=0;while(1){f=c[k+(j<<2)>>2]|0;if(!f)break a;g=c[f+16>>2]|0;if((b[g+154>>1]|0)>0){c[p+(a<<2)>>2]=c[(c[(c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+236>>2]<<8|d[g+48>>0];a=a+1|0}j=j+1|0}}while(0);b:do switch(a|0){case 0:{i=-1.0;break}case 1:{i=+(c[p>>2]|0);break}case 2:{i=+(((c[o>>2]|0)+(c[p>>2]|0)|0)/2|0|0);break}default:{_0(p,a,4,60);f=(a|0)/2|0;if(a&1|0){i=+(c[p+(f<<2)>>2]|0);break b}j=c[p+(f<<2)>>2]|0;g=(c[p+(a+-1<<2)>>2]|0)-j|0;a=c[p+(f+-1<<2)>>2]|0;f=a-(c[p>>2]|0)|0;if((f|0)==(g|0)){i=+((a+j|0)/2|0|0);break b}else{i=+(((O(f,j)|0)+(O(a,g)|0)|0)/(f+g|0)|0|0);break b}}}while(0);h[(c[l>>2]|0)+240>>3]=i;m=m+1|0;a=c[(c[q>>2]|0)+196>>2]|0}while(1){if((j|0)>=(f|0))break;g=c[r+(j<<2)>>2]|0;p=c[g+16>>2]|0;if((c[p+184>>2]|0)==0?(c[p+176>>2]|0)==0:0){a=(zi(g)|0|a&255)&255;f=c[(c[(c[q>>2]|0)+196>>2]|0)+(e<<6)>>2]|0}j=j+1|0}return a|0}function yi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;o=c[(c[b+16>>2]|0)+196>>2]|0;s=c[o+(d<<6)+4>>2]|0;o=c[o+(d<<6)>>2]|0;q=(e|0)!=0;p=(f|e|0)==0;f=0;e=o;o=s+(o<<2)|0;while(1){n=e+-1|0;if((e|0)>0)e=s;else break;a:while(1){b:while(1){if(e>>>0>=o>>>0)break a;while(1){if(e>>>0>=o>>>0)break a;l=c[e>>2]|0;m=+h[(c[l+16>>2]|0)+240>>3];if(!(m<0.0))break;e=e+4|0}k=0;while(1){g=k<<24>>24==0;while(1){e=e+4|0;if(e>>>0>=o>>>0)break a;if(g){g=11;break}i=c[e>>2]|0;if(!(c[(c[i+16>>2]|0)+212>>2]|0)){g=13;break}}if((g|0)==11){i=c[e>>2]|0;j=i}else if((g|0)==13)j=i;if(ri(b,l,j)|0)continue b;g=c[i+16>>2]|0;if(+h[g+240>>3]>=0.0)break;k=(c[g+212>>2]|0)==0?k:1}g=~~m;k=~~+h[(c[i+16>>2]|0)+240>>3];if((g|0)>(k|0)|q&(g|0)==(k|0))break}vi(l,j);f=f+1|0}e=n;o=p?o+-4|0:o}if(f|0?(r=c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0,a[r+(d<<6)+49>>0]=0,(d|0)>0):0)a[r+(d+-1<<6)+49>>0]=0;return}function zi(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0;g=c[a+16>>2]|0;if((c[g+200>>2]|0)>0){f=c[g+196>>2]|0;a=c[f>>2]|0;a=c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0;d=1;while(1){e=c[f+(d<<2)>>2]|0;if(!e)break;e=c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0;a=(c[(c[e+16>>2]|0)+236>>2]|0)>(c[(c[a+16>>2]|0)+236>>2]|0)?e:a;d=d+1|0}b=+h[(c[a+16>>2]|0)+240>>3];if(!(b>=0.0))a=1;else{h[g+240>>3]=b+1.0;a=0}}else if((c[g+192>>2]|0)>0){e=c[g+188>>2]|0;d=c[e>>2]|0;a=1;d=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;while(1){f=c[e+(a<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;a=a+1|0;d=(c[(c[f+16>>2]|0)+236>>2]|0)<(c[(c[d+16>>2]|0)+236>>2]|0)?f:d}b=+h[(c[d+16>>2]|0)+240>>3];if(b>0.0){h[g+240>>3]=b+-1.0;a=0}else a=1}else a=1;return a|0}function Ai(a,b){a=a|0;b=b|0;return (c[(c[(c[a>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[b>>2]|0)+16>>2]|0)+236>>2]|0)|0}function Bi(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+96|0;o=p+64|0;n=p+48|0;h=p+24|0;f=p;j=d+16|0;k=c[(c[j>>2]|0)+232>>2]|0;m=a+16|0;e=c[(c[m>>2]|0)+196>>2]|0;i=c[e+(k<<6)>>2]|0;do if((c[e+(k<<6)+8>>2]|0)>=1){c[(c[e+(k<<6)+4>>2]|0)+(i<<2)>>2]=d;c[(c[j>>2]|0)+236>>2]=i;a=c[m>>2]|0;f=c[a+196>>2]|0;e=f+(k<<6)|0;g=c[e>>2]|0;c[e>>2]=g+1;if((g|0)>=(c[f+(k<<6)+8>>2]|0))qa(86282,85686,1346,86318);g=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;if((i|0)>(g|0)){m=ry(d)|0;n=c[(c[j>>2]|0)+236>>2]|0;o=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]|0;c[h>>2]=1359;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=k;c[h+16>>2]=o;Pw(1,86334,h)|0;break}e=b[a+236>>1]|0;a=b[a+238>>1]|0;if((k|0)<(e|0)|(k|0)>(a<<16>>16|0)){c[n>>2]=1364;c[n+4>>2]=k;c[n+8>>2]=e;c[n+12>>2]=a<<16>>16;Pw(1,86407,n)|0;break}if(((c[f+(k<<6)+4>>2]|0)+(i<<2)|0)>>>0>((c[f+(k<<6)+12>>2]|0)+(g<<2)|0)>>>0){i=ry(d)|0;n=c[(c[m>>2]|0)+196>>2]|0;m=(c[n+(k<<6)+4>>2]|0)+(c[(c[j>>2]|0)+236>>2]<<2)|0;n=(c[n+(k<<6)+12>>2]|0)+(c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(k<<6)+8>>2]<<2)|0;c[o>>2]=1370;c[o+4>>2]=k;c[o+8>>2]=i;c[o+12>>2]=m;c[o+16>>2]=k;c[o+20>>2]=k;c[o+24>>2]=n;Pw(1,86468,o)|0}}else{n=ry(a)|0;o=ry(d)|0;c[f>>2]=1339;c[f+4>>2]=n;c[f+8>>2]=o;c[f+12>>2]=k;c[f+16>>2]=i;Pw(1,86227,f)|0}while(0);l=p;return}function Ci(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=d+16|0;a:do if(!e){g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+184>>2]|0))break a;d=c[(c[d+180>>2]|0)+(g<<2)>>2]|0;e=d+-48|0;f=(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)}g=g+1|0}}else{g=0;while(1){d=c[h>>2]|0;if((g|0)>=(c[d+176>>2]|0))break a;d=c[(c[d+172>>2]|0)+(g<<2)>>2]|0;e=d+48|0;f=(c[(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)+16>>2]|0)+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;IL(b,c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)}g=g+1|0}}while(0);return}function Di(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;u=v;g=d+16|0;f=c[(c[g>>2]|0)+196>>2]|0;s=c[f+(e<<6)+4>>2]|0;t=e+1|0;d=c[(c[(c[(c[45971]|0)+16>>2]|0)+196>>2]|0)+(t<<6)>>2]|0;if((c[45975]|0)>(d|0))q=c[45976]|0;else{d=d+1|0;c[45975]=d;f=c[45976]|0;if(!f)d=vH(d<<2)|0;else d=xH(f,d<<2)|0;c[45976]=d;f=c[(c[g>>2]|0)+196>>2]|0;q=d}r=f+(t<<6)|0;d=0;while(1){if((d|0)>=(c[r>>2]|0))break;c[q+(d<<2)>>2]=0;d=d+1|0}p=f+(e<<6)|0;o=0;h=0;d=0;j=q;while(1){k=c[p>>2]|0;if((o|0)>=(k|0))break;n=c[(c[(c[s+(o<<2)>>2]|0)+16>>2]|0)+180>>2]|0;a:do if((h|0)>0){m=0;while(1){g=c[n+(m<<2)>>2]|0;if(!g)break a;k=g+16|0;i=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;while(1){g=i+1|0;if((i|0)>=(h|0))break;i=g;d=(O(c[j+(g<<2)>>2]|0,b[(c[k>>2]|0)+154>>1]|0)|0)+d|0}m=m+1|0}}while(0);i=0;while(1){g=c[n+(i<<2)>>2]|0;if(!g)break;j=c[(c[(c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0;m=q+(j<<2)|0;c[m>>2]=(c[m>>2]|0)+(b[(c[g+16>>2]|0)+154>>1]|0);h=(j|0)>(h|0)?j:h;i=i+1|0;j=q}o=o+1|0}i=f+(e<<6)+4|0;h=0;while(1){if((h|0)>=(k|0))break;g=c[(c[(c[i>>2]|0)+(h<<2)>>2]|0)+16>>2]|0;if(a[g+145>>0]|0){e=g+180|0;c[u>>2]=c[e>>2];c[u+4>>2]=c[e+4>>2];d=(Ei(u,1)|0)+d|0}h=h+1|0}i=c[r>>2]|0;h=f+(t<<6)+4|0;g=0;while(1){if((g|0)>=(i|0))break;f=c[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+16>>2]|0;if(a[f+145>>0]|0){t=f+172|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];d=(Ei(u,-1)|0)+d|0}g=g+1|0}l=v;return d|0}function Ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;n=(d|0)<1;l=c[a>>2]|0;d=0;a=0;a:while(1){m=c[l+(d<<2)>>2]|0;if(!m)break;d=d+1|0;if(n){j=m+48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+56>>3]-+h[g+56>>3])*+((c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==3?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}else{j=m+-48|0;k=m+16|0;i=d;while(1){e=c[l+(i<<2)>>2]|0;if(!e)continue a;f=c[e+16>>2]|0;g=c[k>>2]|0;if((+h[f+16>>3]-+h[g+16>>3])*+((c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)-(c[(c[(c[((c[m>>2]&3|0)==2?m:j)+40>>2]|0)+16>>2]|0)+236>>2]|0)|0)<0.0)a=(O(b[f+154>>1]|0,b[g+154>>1]|0)|0)+a|0;i=i+1|0}}}return a|0}function Fi(a){a=a|0;var b=0.0,d=0.0;c[45974]=8;c[46365]=24;h[22830]=.995;a=xx(a,86590)|0;if(a|0?(b=+b2(a),b>0.0):0){d=b*+(c[45974]|0);c[45974]=~~(d>1.0?d:1.0);b=b*+(c[46365]|0);c[46365]=~~(b>1.0?b:1.0)}return}function Gi(a){a=a|0;var d=0,e=0;e=(b[(c[a+16>>2]|0)+238>>1]|0)+2|0;d=uH(e<<2)|0;Ii(a,d,e,0)|0;D_(d);return}function Hi(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;i=uH((b[(c[h>>2]|0)+238>>1]<<2)+8|0)|0;g=Sy(a)|0;while(1){if(!g)break;f=i+(c[(c[g+16>>2]|0)+232>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(a,g)|0;while(1){if(!f)break;j=c[f>>2]&3;d=c[(c[(c[((j|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;j=c[(c[(c[((j|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;k=(d|0)>(j|0);e=k?d:j;d=k?j:d;while(1){d=d+1|0;if((d|0)>=(e|0))break;k=i+(d<<2)|0;c[k>>2]=(c[k>>2]|0)+1}f=Gx(a,f)|0}g=Ty(a,g)|0}f=uH((b[(c[h>>2]|0)+238>>1]<<6)+128|0)|0;e=c[h>>2]|0;c[e+196>>2]=f;d=b[e+236>>1]|0;while(1){if((d|0)>(b[e+238>>1]|0))break;j=i+(d<<2)|0;e=c[j>>2]|0;c[f+(d<<6)>>2]=e;c[f+(d<<6)+8>>2]=e;j=uH((c[j>>2]<<2)+4|0)|0;e=c[h>>2]|0;k=c[e+196>>2]|0;c[k+(d<<6)+4>>2]=j;c[k+(d<<6)+12>>2]=j;d=d+1|0;f=k}D_(i);return}function Ii(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0;m=a+16|0;i=1;while(1){g=c[m>>2]|0;if((i|0)>(c[g+180>>2]|0))break;l=Ii(c[(c[g+184>>2]|0)+(i<<2)>>2]|0,d,e,f)|0;i=i+1|0;f=l}a:do if((ig(a)|0)!=(a|0)){H3(d|0,0,e<<2|0)|0;g=Sy(a)|0;while(1){if(!g)break;k=g+16|0;c[d+(c[(c[k>>2]|0)+232>>2]<<2)>>2]=1;i=Ex(a,g)|0;while(1){if(!i)break;l=i+-48|0;j=c[(c[k>>2]|0)+232>>2]|0;while(1){e=j+1|0;if((j|0)>=(c[(c[(c[((c[i>>2]&3|0)==2?i:l)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;c[d+(e<<2)>>2]=1;j=e}i=Gx(a,i)|0}g=Ty(a,g)|0}g=c[m>>2]|0;i=b[g+236>>1]|0;while(1){if((i|0)>(b[g+238>>1]|0))break a;if(!(c[d+(i<<2)>>2]|0)){if(!f)f=vA(ig(a)|0,86580,1)|0;g=az(f,0,1)|0;Az(g,134365,304,1)|0;l=g+16|0;j=c[l>>2]|0;c[j+232>>2]=i;h[j+96>>3]=.5;h[j+88>>3]=.5;h[j+80>>3]=1.0;c[j+216>>2]=1;c[j+176>>2]=0;j=uH(20)|0;k=c[l>>2]|0;c[k+172>>2]=j;c[k+184>>2]=0;k=uH(20)|0;c[(c[l>>2]|0)+180>>2]=k;Xy(a,g,1)|0;g=c[m>>2]|0}i=i+1|0}}while(0);return f|0}function Ji(a){a=a|0;var b=0,d=0;Zh(a);b=a+16|0;a=1;while(1){d=c[b>>2]|0;if((a|0)>(c[d+180>>2]|0))break;Ji(c[(c[d+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}return}function Ki(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=Li(c[((b|0)==3?a:a+48|0)+40>>2]|0)|0;b=c[17308+(d*12|0)+((Li(c[((b|0)==2?a:a+-48|0)+40>>2]|0)|0)<<2)>>2]|0;a=(c[a+16>>2]|0)+156|0;c[a>>2]=O(c[a>>2]|0,b)|0;return}function Li(b){b=b|0;b=c[b+16>>2]|0;if((a[b+156>>0]|0)==1)b=2;else b=(a[b+160>>0]|0)<2&1;return b|0}function Mi(b,d){b=b|0;d=d|0;if(c[(c[b+16>>2]|0)+192>>2]|0){ll(b);Ni(b);if(a[191874]|0)zl(b);Oi(b);if(Rl(b)|0)Ni(b);Pi(b);if(fI(b,2,Qi(b)|0)|0?(Ri(b),fI(b,2,Qi(b)|0)|0):0)qa(86598,86626,134,86637);Si(b);Ti(b,d);Ui(b)}return}function Ni(d){d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;v=d+16|0;e=c[v>>2]|0;w=c[e+196>>2]|0;t=b[e+236>>1]|0;while(1){if((t|0)>(b[e+238>>1]|0))break;n=w+(t<<6)|0;o=w+(t<<6)+4|0;p=w+(t<<6)+40|0;q=w+(t<<6)+24|0;r=w+(t<<6)+32|0;s=w+(t<<6)+16|0;m=0;while(1){if((m|0)>=(c[n>>2]|0))break;l=(c[(c[o>>2]|0)+(m<<2)>>2]|0)+16|0;e=c[l>>2]|0;j=+h[e+80>>3]*.5;i=c[e+204>>2]|0;a:do if(i){g=0;while(1){f=c[i+(g<<2)>>2]|0;if(!f)break a;x=c[f>>2]&3;if((c[((x|0)==3?f:f+48|0)+40>>2]|0)==(c[((x|0)==2?f:f+-48|0)+40>>2]|0)?(u=c[(c[f+16>>2]|0)+96>>2]|0,(u|0)!=0):0){k=+h[u+32>>3]*.5;j=j>k?j:k}g=g+1|0}}while(0);if(+h[p>>3]<j){h[q>>3]=j;h[p>>3]=j}if(+h[r>>3]<j){h[s>>3]=j;h[r>>3]=j}f=c[e+212>>2]|0;if(f|0){if((f|0)==(d|0))g=0;else{g=KL(f,c[46374]|0,8,0)|0;e=c[l>>2]|0}i=c[e+232>>2]|0;f=c[f+16>>2]|0;e=f+128|0;j=j+ +(g|0);if((i|0)==(b[f+236>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}e=f+120|0;if((i|0)==(b[f+238>>1]|0)){k=+h[e>>3];h[e>>3]=k>j?k:j}}m=m+1|0}t=t+1|0;e=c[v>>2]|0}m=tj(d)|0;g=c[v>>2]|0;e=b[g+238>>1]|0;h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[w+(e<<6)+16>>3];f=b[g+236>>1]|0;i=g+252|0;k=0.0;while(1){l=e+-1|0;if((e|0)<=(f|0))break;y=+h[w+(l<<6)+32>>3]+ +h[w+(e<<6)+40>>3]+ +(c[i>>2]|0);j=+h[w+(e<<6)+24>>3]+8.0+ +h[w+(l<<6)+16>>3];j=y>j?y:j;if((c[w+(l<<6)>>2]|0)>0)h[(c[(c[c[w+(l<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+j;k=k>j?k:j;e=l}b:do if((m|0)!=0?(c[g+116>>2]&1|0)!=0:0){uj(d,0);g=c[v>>2]|0;if(a[g+276>>0]|0){e=b[g+238>>1]|0;f=b[g+236>>1]|0;j=+h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];k=0.0;while(1){i=e+-1|0;if((e|0)<=(f|0))break b;z=+h[(c[(c[c[w+(i<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];y=z-j;j=z;k=k>y?k:y;e=i}}}while(0);c:do if(a[g+276>>0]|0){i=b[g+236>>1]|0;f=b[g+238>>1]|0;while(1){e=f+-1|0;if((f|0)<=(i|0))break c;if((c[w+(e<<6)>>2]|0)<=0){f=e;continue}h[(c[(c[c[w+(e<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]=+h[(c[(c[c[w+(f<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+k;f=e}}while(0);e=g+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;h[e+24>>3]=+h[(c[(c[c[w+(c[e+232>>2]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];e=e+164|0}return}function Oi(a){a=a|0;var b=0,d=0,e=0;pj(a);b=(c[a+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+224>>2]|0;if(d){qj(a,d);b=c[e>>2]|0}d=c[b+228>>2]|0;if(!d)d=b;else{qj(a,d);d=c[e>>2]|0}e=c[d+204>>2]|0;if(e|0){b=0;while(1)if(!(c[e+(b<<2)>>2]|0))break;else b=b+1|0}b=d+164|0}return}function Pi(a){a=a|0;bj(a);cj(a);dj(a);ej(a);fj(a);return}function Qi(a){a=a|0;var b=0,c=0.0;b=xx(a,86826)|0;if(!b)a=2147483647;else{c=+b2(b);a=~~(c*+(ay(a)|0))}return a|0}function Ri(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=d+16|0;e=c[r>>2]|0;q=b[e+236>>1]|0;while(1){p=b[e+238>>1]|0;if((q|0)>(p|0)){s=19;break}n=c[e+196>>2]|0;o=n+(q<<6)|0;m=c[o>>2]|0;n=n+(q<<6)+4|0;l=0;f=0;a:while(1){if((l|0)>=(m|0)){s=14;break}f=c[(c[n>>2]|0)+(l<<2)>>2]|0;h=c[f+16>>2]|0;i=c[h+256>>2]|0;b:do if(i|0){g=0;while(1){j=c[i+(g<<2)>>2]|0;if(!j)break b;k=c[j>>2]&3;if((c[(c[(c[((k|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((k|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);h=c[h+248>>2]|0;c:do if(h|0){g=0;while(1){i=c[h+(g<<2)>>2]|0;if(!i)break c;j=c[i>>2]&3;if((c[(c[(c[((j|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;if((c[(c[(c[((j|0)==2?i:i+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(q|0))break a;else g=g+1|0}}while(0);l=l+1|0}if((s|0)==14){s=0;if(f){f=c[c[n>>2]>>2]|0;e=c[c[o+(((q|0)<(p|0)?1:-1)<<6)+4>>2]>>2]|0;if(!e){s=16;break}o=uh(d)|0;p=o+16|0;a[(c[p>>2]|0)+156>>0]=2;$i(o,f,0.0,0)|0;$i(o,e,0.0,0)|0;c[(c[p>>2]|0)+232>>2]=c[(c[((c[(c[f+16>>2]|0)+232>>2]|0)<(c[(c[e+16>>2]|0)+232>>2]|0)?f:e)+16>>2]|0)+232>>2];e=c[r>>2]|0}}q=q+1|0}if((s|0)==16)qa(86734,86626,111,86737);else if((s|0)==19)return}function Si(a){a=a|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0;a=c[a+16>>2]|0;i=c[a+196>>2]|0;e=b[a+238>>1]|0;a=b[a+236>>1]|0;while(1){if((a|0)>(e|0))break;f=c[i+(a<<6)>>2]|0;g=i+(a<<6)+4|0;d=0;while(1){if((d|0)>=(f|0))break;k=c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0;j=k+232|0;h[k+16>>3]=+(c[j>>2]|0);c[j>>2]=a;d=d+1|0}a=a+1|0}return}function Ti(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0;Vi(a,a);g=a+16|0;k=c[g>>2]|0;a:do if((b[k+238>>1]|0)>0?(j=c[k+8>>2]|0,e=c[j+84>>2]|0,e|0):0){o=~~(+h[k+32>>3]-+h[k+16>>3]);m=~~(+h[k+40>>3]-+h[k+24>>3]);p=(c[k+116>>2]&1|0)==0;n=p?m:o;m=p?o:m;if((e|0)==4){e=Wi(a)|0;k=c[g>>2]|0;j=c[k+8>>2]|0}else e=(e|0)==2&1;b:do if(!(e<<24>>24)){switch(c[j+84>>2]|0){case 5:{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+h[k+32>>3];l=+h[j+72>>3]/+h[k+40>>3];f=i<l?i:l;if(i>1.0&l>1.0){l=f;break b}else break a}case 1:break;default:break a}i=+h[j+16>>3];f=+(n|0)/+(m|0);if(f<i){l=1.0;f=i/f;break}else{l=f/i;f=1.0;break}}else{f=+h[j+64>>3];if(f<=0.0)break a;i=f/+(m|0);f=+h[j+72>>3]/+(n|0);if(i<1.0|f<1.0)if(i<f){l=1.0;f=f/i;break}else{l=i/f;f=1.0;break}else l=i}while(0);e=(c[k+116>>2]&1|0)==0;i=e?f:l;f=e?l:f;e=k+192|0;while(1){e=c[e>>2]|0;if(!e)break;e=c[e+16>>2]|0;p=e+16|0;l=+h[p>>3]*f;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);p=e+24|0;l=+h[p>>3]*i;h[p>>3]=+(~~(l+(l>=0.0?.5:-.5))|0);e=e+164|0}Xi(a,f,i)}while(0);if(d|0)Yi(a,d);return}function Ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=b+16|0;b=(c[h>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;g=b+16|0;d=0;while(1){b=c[g>>2]|0;f=c[b+180>>2]|0;e=c[f+(d<<2)>>2]|0;if(!e)break;D_(c[e+16>>2]|0);D_(e);d=d+1|0}if(f){D_(f);b=c[g>>2]|0}d=c[b+172>>2]|0;if(d){D_(d);b=c[g>>2]|0}f=b+256|0;e=c[f+4>>2]|0;b=b+180|0;c[b>>2]=c[f>>2];c[b+4>>2]=e;b=c[g>>2]|0;e=b+248|0;f=c[e+4>>2]|0;b=b+172|0;c[b>>2]=c[e>>2];c[b+4>>2]=f;b=(c[g>>2]|0)+164|0}b=0;d=c[(c[h>>2]|0)+192>>2]|0;a:while(1){g=(b|0)==0;f=b+16|0;b=d;while(1){if(!b)break a;e=c[b+16>>2]|0;d=c[e+164>>2]|0;if((a[e+156>>0]|0)!=2)continue a;if(g)c[(c[h>>2]|0)+192>>2]=d;else c[(c[f>>2]|0)+164>>2]=d;D_(e);D_(b);b=d}}c[(c[(c[(c[h>>2]|0)+192>>2]|0)+16>>2]|0)+168>>2]=0;return}function Vi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;Vi(c[(c[f+184>>2]|0)+(d<<2)>>2]|0,b);d=d+1|0}_i(a,b);return}function Wi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0;s=l;l=l+80|0;e=s+64|0;d=s+48|0;f=s+16|0;m=s;r=s+32|0;a=a+16|0;b=c[(c[a>>2]|0)+8>>2]|0;t=b+48|0;c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];if((!(+h[f>>3]<.001)?(g=f+8|0,!(+h[g>>3]<.001)):0)?(i=b+32|0,c[m>>2]=c[i>>2],c[m+4>>2]=c[i+4>>2],c[m+8>>2]=c[i+8>>2],c[m+12>>2]=c[i+12>>2],c[d>>2]=c[f>>2],c[d+4>>2]=c[f+4>>2],c[d+8>>2]=c[f+8>>2],c[d+12>>2]=c[f+12>>2],c[e>>2]=c[i>>2],c[e+4>>2]=c[i+4>>2],c[e+8>>2]=c[i+8>>2],c[e+12>>2]=c[i+12>>2],Zi(r,d,e),c[f>>2]=c[r>>2],c[f+4>>2]=c[r+4>>2],c[f+8>>2]=c[r+8>>2],c[f+12>>2]=c[r+12>>2],c[d>>2]=c[r>>2],c[d+4>>2]=c[r+4>>2],c[d+8>>2]=c[r+8>>2],c[d+12>>2]=c[r+12>>2],c[e>>2]=c[m>>2],c[e+4>>2]=c[m+4>>2],c[e+8>>2]=c[m+8>>2],c[e+12>>2]=c[m+12>>2],Zi(f,d,e),i=c[a>>2]|0,j=+h[i+32>>3],k=+h[i+40>>3],n=+h[f>>3],o=n/j,p=+h[g>>3],q=p/k,!(o>=1.0&q>=1.0)):0){o=o<q?o:q;o=o>.5?o:.5;q=+N(+(o*k/p))*p/k;p=+N(+(o*j/n))*n/j*j;a=c[i+8>>2]|0;h[a+64>>3]=p;h[a+72>>3]=q*k;a=1}else a=0;l=s;return a|0}function Xi(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=a+16|0;a=1;while(1){f=c[e>>2]|0;if((a|0)>(c[f+180>>2]|0))break;Xi(c[(c[f+184>>2]|0)+(a<<2)>>2]|0,b,d);a=a+1|0}e=f+16|0;h[e>>3]=+h[e>>3]*b;e=f+24|0;h[e>>3]=+h[e>>3]*d;e=f+32|0;h[e>>3]=+h[e>>3]*b;f=f+40|0;h[f>>3]=+h[f>>3]*d;return}function Yi(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;j=m+24|0;g=m+16|0;f=m;n=c[a+16>>2]|0;e=+h[n+32>>3]-+h[n+16>>3];d=+h[n+40>>3]-+h[n+24>>3];i=e/d;if(0){n=c[15686]|0;h[f>>3]=i;h[f+8>>3]=e*.0001*d;g1(n,86650,f)|0;c[g>>2]=zk(a)|0;g1(n,86675,g)|0}d=+h[b>>3];do if(!(i>d*1.1)){a=b+24|0;if(!(i<=d*.8)){c[a>>2]=0;k=9;break}c[a>>2]=-1;if(0){E1(86685,34,1,c[15686]|0)|0;k=9}}else{c[b+24>>2]=~~(d*+((c[b+20>>2]|0)-(c[b+16>>2]|0)|0)/i);k=9}while(0);if((k|0)==9?0:0){n=c[15686]|0;c[j>>2]=c[b+24>>2];g1(n,86720,j)|0}l=m;return}function Zi(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function _i(d,e){d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;s=(ig(d)|0)==(d|0);v=d+16|0;w=c[v>>2]|0;a:do if(s){f=b[w+236>>1]|0;d=b[w+238>>1]|0;q=d<<16>>16;r=w+196|0;s=w+196|0;p=f<<16>>16;i=-2147483647.0;g=2147483647.0;while(1){if((p|0)>(q|0))break;j=c[r>>2]|0;o=c[j+(p<<6)>>2]|0;if((o|0)!=0?(t=c[j+(p<<6)+4>>2]|0,u=c[t>>2]|0,(u|0)!=0):0){l=1;j=u;while(1){j=c[j+16>>2]|0;k=a[j+156>>0]|0;if(!((l|0)<(o|0)&k<<24>>24!=0))break;j=c[t+(l<<2)>>2]|0;l=l+1|0}if(!(k<<24>>24)){m=+h[j+16>>3]-+h[j+88>>3];n=g<m;l=c[(c[s>>2]|0)+(p<<6)+4>>2]|0;k=o+-2|0;j=o+-1|0;while(1){j=c[(c[l+(j<<2)>>2]|0)+16>>2]|0;if(!(a[j+156>>0]|0))break;else{j=k;k=k+-1|0}}x=+h[j+96>>3]+ +h[j+16>>3];i=i>x?i:x;g=n?g:m}}p=p+1|0}k=c[w+180>>2]|0;l=w+184|0;j=1;while(1){if((j|0)>(k|0))break a;u=c[(c[(c[l>>2]|0)+(j<<2)>>2]|0)+16>>2]|0;x=+h[u+16>>3]+-8.0;m=+h[u+32>>3]+8.0;j=j+1|0;i=i>m?i:m;g=g<x?g:x}}else{i=+(c[(c[(c[w+260>>2]|0)+16>>2]|0)+232>>2]|0);g=+(c[(c[(c[w+256>>2]|0)+16>>2]|0)+232>>2]|0);f=b[w+236>>1]|0;d=b[w+238>>1]|0}while(0);e=c[(c[e+16>>2]|0)+196>>2]|0;m=+h[(c[(c[c[e+(d<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]-+h[w+120>>3];x=+h[w+128>>3]+ +h[(c[(c[c[e+(f<<16>>16<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3];h[w+16>>3]=g;h[w+24>>3]=m;e=c[v>>2]|0;h[e+32>>3]=i;h[e+40>>3]=x;return}function $i(a,d,e,f){a=a|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;i=uH(96)|0;j=i+48|0;c[j>>2]=c[j>>2]|3;c[i>>2]=c[i>>2]&-4|2;g=uH(176)|0;h=i+16|0;c[h>>2]=g;c[((c[i>>2]&3|0)==3?i:j)+40>>2]=a;c[((c[i>>2]&3|0)==2?i:i+-48|0)+40>>2]=d;if(e>65535.0){aj(e);e=65535.0;g=c[h>>2]|0}b[g+170>>1]=~~(e+(e>=0.0?.5:-.5));c[g+156>>2]=f;ih(i)|0;return i|0}function aj(a){a=+a;var b=0,d=0;b=l;l=l+16|0;d=b;h[d>>3]=a;c[d+8>>2]=65535;Pw(1,86750,d)|0;l=b;return}function bj(a){a=a|0;var b=0,d=0,e=0,f=0;a=(c[a+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;f=a+16|0;e=c[f>>2]|0;a=e+172|0;d=c[a+4>>2]|0;e=e+248|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;e=c[f>>2]|0;d=e+180|0;a=c[d+4>>2]|0;e=e+256|0;c[e>>2]=c[d>>2];c[e+4>>2]=a;e=c[f>>2]|0;a=c[e+180>>2]|0;d=0;while(1)if(!(c[a+(d<<2)>>2]|0))break;else d=d+1|0;b=c[e+172>>2]|0;a=0;while(1)if(!(c[b+(a<<2)>>2]|0))break;else a=a+1|0;c[e+176>>2]=0;a=uH((a+d<<2)+16|0)|0;e=c[f>>2]|0;c[e+172>>2]=a;c[e+184>>2]=0;e=uH(16)|0;a=c[f>>2]|0;c[a+180>>2]=e;a=a+164|0}return}function cj(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+16|0;w=z;x=d+16|0;u=c[x>>2]|0;y=c[u+196>>2]|0;d=(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1)!=0;v=c[u+248>>2]|0;c[w>>2]=v;c[w+4>>2]=d?5:v;v=b[u+236>>1]|0;d=u;while(1){if((v|0)>(b[d+238>>1]|0))break;r=y+(v<<6)+4|0;c[(c[(c[c[r>>2]>>2]|0)+16>>2]|0)+232>>2]=0;s=y+(v<<6)|0;t=+(c[w+((v&1)<<2)>>2]|0);p=0.0;k=0;a:while(1){if((k|0)>=(c[s>>2]|0))break;f=c[r>>2]|0;m=c[f+(k<<2)>>2]|0;u=m+16|0;d=c[u>>2]|0;i=+h[d+96>>3];h[d+240>>3]=i;if((c[d+208>>2]|0)>0){j=0;f=0;while(1){g=c[(c[d+204>>2]|0)+(j<<2)>>2]|0;if(!g)break;q=c[g>>2]&3;if((c[((q|0)==3?g:g+48|0)+40>>2]|0)==(c[((q|0)==2?g:g+-48|0)+40>>2]|0)){f=(XK(g)|0)+f|0;d=c[u>>2]|0}j=j+1|0}q=d+96|0;i=+h[q>>3]+ +(f|0);h[q>>3]=i;f=c[r>>2]|0}q=k+1|0;f=c[f+(q<<2)>>2]|0;if(f){o=f+16|0;i=i+t+ +h[(c[o>>2]|0)+88>>3];$i(m,f,i,0)|0;d=~~(i+p);c[(c[o>>2]|0)+232>>2]=d;p=+(d|0);d=c[u>>2]|0}f=c[d+112>>2]|0;if(f){j=c[d+256>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;d=(c[(c[(c[((c[k>>2]&3|0)==2?k:k+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0)>(c[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+236>>2]|0);g=d?j:k;j=d?k:j;k=f+16|0;d=c[k>>2]|0;i=+((O(c[(c[x>>2]|0)+248>>2]|0,e[d+170>>1]|0)|0)/2|0|0);o=c[g>>2]&3;f=c[((o|0)==2?g:g+-48|0)+40>>2]|0;g=c[((o|0)==3?g:g+48|0)+40>>2]|0;if(!(nj(g,f)|0))$i(f,g,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[g+16>>2]|0)+88>>3])|0),c[d+156>>2]|0)|0;d=c[j>>2]&3;f=c[((d|0)==3?j:j+48|0)+40>>2]|0;d=c[((d|0)==2?j:j+-48|0)+40>>2]|0;if(!(nj(d,f)|0)){$i(f,d,+(~~(+h[(c[f+16>>2]|0)+96>>3]+i+ +h[(c[d+16>>2]|0)+88>>3])|0),c[(c[k>>2]|0)+156>>2]|0)|0;o=0}else o=0}else o=0;while(1){d=c[u>>2]|0;if((o|0)>=(c[d+192>>2]|0)){k=q;continue a}m=c[(c[d+188>>2]|0)+(o<<2)>>2]|0;k=c[m>>2]&3;g=c[((k|0)==3?m:m+48|0)+40>>2]|0;k=c[((k|0)==2?m:m+-48|0)+40>>2]|0;j=(c[(c[g+16>>2]|0)+236>>2]|0)<(c[(c[k+16>>2]|0)+236>>2]|0);f=j?g:k;g=j?k:g;i=+h[(c[g+16>>2]|0)+88>>3]+ +h[(c[f+16>>2]|0)+96>>3];k=m+16|0;j=~~(i+ +(O(c[(c[x>>2]|0)+248>>2]|0,e[(c[k>>2]|0)+170>>1]|0)|0));n=fh(f,g)|0;if(!n){d=c[k>>2]|0;if(!(c[d+96>>2]|0))$i(f,g,+(j|0),c[d+156>>2]|0)|0}else{A=+(j|0);d=c[k>>2]|0;B=+h[d+136>>3];i=i+ +(c[(c[x>>2]|0)+248>>2]|0)+ +(~~(B+(B>=0.0?.5:-.5))|0);f=~~(i<A?A:i);if((f|0)>65535){aj(+(f|0));f=65535;d=c[k>>2]|0}k=c[n+16>>2]|0;j=k+170|0;g=e[j>>1]|0;b[j>>1]=(f|0)<(g|0)?g:f;k=k+156|0;c[k>>2]=c[(c[((c[k>>2]|0)>(c[d+156>>2]|0)?n:m)+16>>2]|0)+156>>2]}o=o+1|0}}v=v+1|0;d=c[x>>2]|0}l=z;return}function dj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;d=(c[b+16>>2]|0)+192|0;while(1){d=c[d>>2]|0;if(!d)break;g=d+16|0;d=c[g>>2]|0;e=c[d+256>>2]|0;a:do if(e){f=0;while(1){e=c[e+(f<<2)>>2]|0;if(!e)break a;n=uh(b)|0;d=n+16|0;a[(c[d>>2]|0)+156>>0]=2;l=e+16|0;k=c[l>>2]|0;i=~~(+h[k+56>>3]-+h[k+16>>3]);m=(i|0)>0;j=m?0:0-i|0;i=m?i:0;m=e+48|0;$i(n,c[((c[e>>2]&3|0)==3?e:m)+40>>2]|0,+(i+1|0),c[k+156>>2]|0)|0;k=e+-48|0;$i(n,c[((c[e>>2]&3|0)==2?e:k)+40>>2]|0,+(j+1|0),c[(c[l>>2]|0)+156>>2]|0)|0;l=c[e>>2]&3;i=(c[(c[(c[((l|0)==3?e:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-i|0;e=(c[(c[(c[((l|0)==2?e:k)+40>>2]|0)+16>>2]|0)+232>>2]|0)-j|0;c[(c[d>>2]|0)+232>>2]=((i|0)<(e|0)?i:e)+-1;d=c[g>>2]|0;f=f+1|0;e=c[d+256>>2]|0}}while(0);d=d+164|0}return}function ej(a){a=a|0;if((c[(c[a+16>>2]|0)+180>>2]|0)>0){ij(a);jj(a);kj(a);lj(a)}return}function fj(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=a+16|0;f=c[(c[e>>2]|0)+8>>2]|0;if((c[f+84>>2]|0)==3?(b=+h[f+64>>3],d=+h[f+72>>3],!(d*b<=1.0)):0){gj(a);f=c[e>>2]|0;d=(c[f+116>>2]&1|0)==0?b:d;$i(c[f+256>>2]|0,c[f+260>>2]|0,d<65535.0?d:65535.0,1e3)|0}return}function gj(a){a=a|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n;e=KL(a,c[46374]|0,8,0)|0;hj(a);i=a+16|0;g=c[i>>2]|0;j=c[g+256>>2]|0;k=c[g+260>>2]|0;f=+(e|0);e=b[g+236>>1]|0;while(1){if((e|0)>(b[g+238>>1]|0))break;d=c[g+196>>2]|0;do if(c[d+(e<<6)>>2]|0){d=c[c[d+(e<<6)+4>>2]>>2]|0;if(!d){c[m>>2]=ry(a)|0;c[m+4>>2]=e;Pw(1,86834,m)|0;break}else{$i(j,d,+h[(c[d+16>>2]|0)+88>>3]+f+ +h[g+96>>3],0)|0;g=c[i>>2]|0;d=c[g+196>>2]|0;d=c[(c[d+(e<<6)+4>>2]|0)+((c[d+(e<<6)>>2]|0)+-1<<2)>>2]|0;$i(d,k,+h[(c[d+16>>2]|0)+96>>3]+f+ +h[g+64>>3],0)|0;break}}while(0);e=e+1|0;g=c[i>>2]|0}l=n;return}function hj(b){b=b|0;var d=0,e=0,f=0;d=b+16|0;if(!(c[(c[d>>2]|0)+256>>2]|0)){f=uh(ig(b)|0)|0;a[(c[f+16>>2]|0)+156>>0]=2;e=uh(ig(b)|0)|0;a[(c[e+16>>2]|0)+156>>0]=2;if((c[(c[d>>2]|0)+12>>2]|0?(ig(b)|0)!=(b|0):0)?(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0:0){b=c[d>>2]|0;$i(f,e,+(~~+h[b+48+((+h[b+48>>3]>+h[b+80>>3]?0:2)<<4)>>3]|0),0)|0}d=c[d>>2]|0;c[d+256>>2]=f;c[d+260>>2]=e}return}function ij(a){a=a|0;var b=0,d=0;do if((ig(a)|0)!=(a|0)){gj(a);a=a+16|0;b=c[a>>2]|0;b=fh(c[b+256>>2]|0,c[b+260>>2]|0)|0;if(!b){d=c[a>>2]|0;$i(c[d+256>>2]|0,c[d+260>>2]|0,1.0,128)|0;break}else{d=(c[b+16>>2]|0)+156|0;c[d>>2]=(c[d>>2]|0)+128;break}}else a=a+16|0;while(0);b=1;while(1){d=c[a>>2]|0;if((b|0)>(c[d+180>>2]|0))break;ij(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function jj(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;k=KL(d,c[46374]|0,8,0)|0;o=d+16|0;e=c[o>>2]|0;m=+(k|0);k=b[e+236>>1]|0;while(1){if((k|0)>(b[e+238>>1]|0)){f=1;break}e=c[e+196>>2]|0;a:do if(c[e+(k<<6)>>2]|0?(l=c[c[e+(k<<6)+4>>2]>>2]|0,l|0):0){i=l+16|0;f=c[(c[i>>2]|0)+236>>2]|0;while(1){if((f|0)<=0)break;f=f+-1|0;j=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=j+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0)){n=10;break}if(mj(d,j)|0){n=9;break}}if((n|0)==9){e=c[g>>2]|0;n=10}if((n|0)==10){n=0;$i(j,c[(c[o>>2]|0)+256>>2]|0,+h[e+96>>3]+m,0)|0}f=(c[(c[(c[o>>2]|0)+196>>2]|0)+(k<<6)>>2]|0)+(c[(c[i>>2]|0)+236>>2]|0)|0;while(1){if((f|0)>=(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)>>2]|0))break a;i=c[(c[(c[(c[(ig(d)|0)+16>>2]|0)+196>>2]|0)+(k<<6)+4>>2]|0)+(f<<2)>>2]|0;g=i+16|0;e=c[g>>2]|0;if(!(a[e+156>>0]|0))break;if(!(mj(d,i)|0))f=f+1|0;else{n=15;break}}if((n|0)==15){n=0;e=c[g>>2]|0}$i(c[(c[o>>2]|0)+260>>2]|0,i,+h[e+88>>3]+m,0)|0}while(0);k=k+1|0;e=c[o>>2]|0}while(1){if((f|0)>(c[e+180>>2]|0))break;jj(c[(c[e+184>>2]|0)+(f<<2)>>2]|0);f=f+1|0;e=c[o>>2]|0}return}function kj(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0;e=KL(a,c[46374]|0,8,0)|0;hj(a);b=a+16|0;d=+(e|0);a=1;while(1){e=c[b>>2]|0;if((a|0)>(c[e+180>>2]|0))break;e=c[(c[e+184>>2]|0)+(a<<2)>>2]|0;hj(e);f=c[b>>2]|0;g=e+16|0;$i(c[f+256>>2]|0,c[(c[g>>2]|0)+256>>2]|0,+h[f+96>>3]+d,0)|0;f=c[b>>2]|0;$i(c[(c[g>>2]|0)+260>>2]|0,c[f+260>>2]|0,+h[f+64>>3]+d,0)|0;kj(e);a=a+1|0}return}function lj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0;d=KL(a,c[46374]|0,8,0)|0;n=a+16|0;a=1;while(1){f=c[n>>2]|0;e=c[f+180>>2]|0;if((a|0)>(e|0))break;hj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0}m=+(d|0);l=1;a=e;d=f;while(1){if((l|0)>(a|0))break;k=l+1|0;j=k;while(1){e=c[d+184>>2]|0;f=c[e+(l<<2)>>2]|0;if((j|0)>(a|0))break;e=c[e+(j<<2)>>2]|0;g=(b[(c[f+16>>2]|0)+236>>1]|0)>(b[(c[e+16>>2]|0)+236>>1]|0);i=g?e:f;e=g?f:e;f=c[i+16>>2]|0;g=c[e+16>>2]|0;o=b[g+236>>1]|0;h=o<<16>>16;if((b[f+238>>1]|0)>=o<<16>>16){a=(c[(c[(c[c[(c[f+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0)<(c[(c[(c[c[(c[g+196>>2]|0)+(h<<6)+4>>2]>>2]|0)+16>>2]|0)+236>>2]|0);$i(c[(c[(a?i:e)+16>>2]|0)+260>>2]|0,c[(c[(a?e:i)+16>>2]|0)+256>>2]|0,m,0)|0;a=c[n>>2]|0;d=a;a=c[a+180>>2]|0}j=j+1|0}lj(f);d=c[n>>2]|0;l=k;a=c[d+180>>2]|0}return}function mj(b,d){b=b|0;d=d|0;var e=0;d=c[d+16>>2]|0;if((a[d+156>>0]|0)==1){d=c[c[d+256>>2]>>2]|0;while(1){e=c[(c[d+16>>2]|0)+116>>2]|0;if(!e)break;else d=e}if(!(oz(b,c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0))d=(oz(b,c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0)==0&1;else d=0}else d=0;return d|0}function nj(a,b){a=a|0;b=b|0;return oj(a,b)|0}function oj(a,b){a=a|0;b=b|0;var d=0,e=0;a:do if((a|0)==(b|0))a=1;else{d=c[(c[a+16>>2]|0)+180>>2]|0;a=0;while(1){e=c[d+(a<<2)>>2]|0;if(!e){a=0;break a}if(!(oj(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,b)|0))a=a+1|0;else{a=1;break}}}while(0);return a|0}function pj(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=d+16|0;d=c[k>>2]|0;j=b[d+236>>1]|0;while(1){if((j|0)>(b[d+238>>1]|0))break;h=c[d+196>>2]|0;g=c[h+(j<<6)>>2]|0;h=h+(j<<6)+4|0;i=0;f=0;while(1){if((f|0)>=(g|0))break;e=c[(c[(c[h>>2]|0)+(f<<2)>>2]|0)+16>>2]|0;c[e+236>>2]=i;if((a[e+159>>0]|0)==6)e=c[e+216>>2]|0;else e=1;i=e+i|0;f=f+1|0}if((i|0)>(g|0)){d=c[h>>2]|0;if(!d)d=vH((i<<2)+4|0)|0;else d=xH(d,(i<<2)+4|0)|0;f=c[(c[k>>2]|0)+196>>2]|0;c[f+(j<<6)+4>>2]=d;e=c[f+(j<<6)>>2]|0;while(1){d=e+-1|0;if((e|0)<=0)break;h=c[f+(j<<6)+4>>2]|0;e=c[h+(d<<2)>>2]|0;c[h+(c[(c[e+16>>2]|0)+236>>2]<<2)>>2]=e;e=d;f=c[(c[k>>2]|0)+196>>2]|0}c[f+(j<<6)>>2]=i;c[(c[f+(j<<6)+4>>2]|0)+(i<<2)>>2]=0;d=c[k>>2]|0}j=j+1|0}return}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+32|0;m=o+8|0;d=o+24|0;k=o+16|0;j=o;e=b+16|0;f=c[e>>2]|0;a:do if((c[f+216>>2]|0)>=2){c[m>>2]=~~(+h[f+16>>3]-+h[f+88>>3]);c[m+4>>2]=~~+h[f+24>>3];c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];rj(d,b,n);g=d;i=c[g+4>>2]|0;d=m;c[d>>2]=c[g>>2];c[d+4>>2]=i;d=c[e>>2]|0;if((c[d+184>>2]|0)>0){j=c[c[d+180>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;j=Hx(a,c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)|0;while(1){if(!j)break a;i=(c[j>>2]&3|0)==2?j:j+-48|0;e=i+48|0;f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==3?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(k,a,f,n,d);f=k;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+-48|0;e=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;f=c[e+172>>2]|0;if(!f)e=vH((c[e+176>>2]<<2)+8|0)|0;else e=xH(f,(c[e+176>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0)+172>>2]=e;p=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;e=c[p+172>>2]|0;p=p+176|0;f=c[p>>2]|0;c[p>>2]=f+1;c[e+(f<<2)>>2]=i;i=c[(c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0)+16>>2]|0;c[(c[i+172>>2]|0)+(c[i+176>>2]<<2)>>2]=0;d=d+1|0}j=Ix(a,j)|0}}else{i=c[c[d+172>>2]>>2]|0;d=(c[d+236>>2]|0)+1|0;i=Ex(a,c[((c[i>>2]&3|0)==3?i:i+48|0)+40>>2]|0)|0;while(1){if(!i)break a;e=i+-48|0;f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;if((f|0)!=(b|0)?(SL(f)|0)==(b|0):0){f=c[((c[i>>2]&3|0)==2?i:e)+40>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];sj(j,a,f,n,d);f=j;e=c[f+4>>2]|0;g=m;c[g>>2]=c[f>>2];c[g+4>>2]=e;zh(i);g=i+48|0;e=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;f=c[e+180>>2]|0;if(!f)e=vH((c[e+184>>2]<<2)+8|0)|0;else e=xH(f,(c[e+184>>2]<<2)+8|0)|0;c[(c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0)+180>>2]=e;f=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;k=c[f+180>>2]|0;f=f+184|0;p=c[f>>2]|0;c[f>>2]=p+1;c[k+(p<<2)>>2]=i;p=c[(c[((c[i>>2]&3|0)==3?i:g)+40>>2]|0)+16>>2]|0;c[(c[p+180>>2]|0)+(c[p+184>>2]<<2)>>2]=0;d=d+1|0}i=Gx(a,i)|0}}}while(0);l=o;return}function rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0;bN(b,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1);e=c[b+16>>2]|0;h[e+24>>3]=+(c[d+4>>2]|0);f=+h[e+88>>3]+ +(c[d>>2]|0);h[e+16>>3]=f;f=f+ +h[e+96>>3];c[d>>2]=~~(f+ +(c[(c[(ez(b)|0)+16>>2]|0)+248>>2]|0));e=d;b=c[e+4>>2]|0;d=a;c[d>>2]=c[e>>2];c[d+4>>2]=b;return}function sj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;b=ig(b)|0;g=SL(d)|0;if((g|0)!=(d|0))rh(g,d);j=c[d+16>>2]|0;c[j+236>>2]=f;g=c[(c[g+16>>2]|0)+232>>2]|0;c[j+232>>2]=g;c[(c[(c[(c[b+16>>2]|0)+196>>2]|0)+(g<<6)+4>>2]|0)+(f<<2)>>2]=d;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+4>>2];rj(a,d,h);l=i;return}function tj(a){a=a|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n=0.0;m=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))j=8.0;else j=+(KL(a,c[46374]|0,8,0)|0);l=a+16|0;g=c[l>>2]|0;f=0;k=1;e=+h[g+120>>3];d=+h[g+128>>3];while(1){if((k|0)>(c[g+180>>2]|0))break;i=c[(c[g+184>>2]|0)+(k<<2)>>2]|0;f=tj(i)|0|f;i=c[i+16>>2]|0;g=c[l>>2]|0;if((b[i+238>>1]|0)==(b[g+238>>1]|0)){n=+h[i+120>>3]+j;e=e>n?e:n}if((b[i+236>>1]|0)==(b[g+236>>1]|0)){n=+h[i+128>>3]+j;d=d>n?d:n}k=k+1|0}if((ig(a)|0)!=(a|0)?(c[(c[l>>2]|0)+12>>2]|0)!=0:0)if(!(c[(c[(fz(a)|0)+16>>2]|0)+116>>2]&1)){k=c[l>>2]|0;f=1;e=+h[k+56>>3]+e;d=+h[k+88>>3]+d}else f=1;k=c[l>>2]|0;h[k+120>>3]=e;h[k+128>>3]=d;if((ig(a)|0)!=(a|0)){l=c[l>>2]|0;a=m+(b[l+236>>1]<<6)+24|0;n=+h[a>>3];h[a>>3]=n>d?n:d;m=m+(b[l+238>>1]<<6)+16|0;n=+h[m>>3];h[m>>3]=n>e?n:e}return f|0}function uj(a,d){a=a|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0;o=c[(c[(ig(a)|0)+16>>2]|0)+196>>2]|0;if((ig(a)|0)==(a|0))e=0;else e=KL(a,c[46374]|0,8,0)|0;l=a+16|0;i=c[l>>2]|0;m=e+d|0;k=+(e|0);j=1;f=+h[i+128>>3];g=+h[i+120>>3];e=i;while(1){if((j|0)>(c[e+180>>2]|0))break;i=c[(c[e+184>>2]|0)+(j<<2)>>2]|0;uj(i,m);i=c[i+16>>2]|0;e=c[l>>2]|0;if((b[i+238>>1]|0)==(b[e+238>>1]|0)){q=+h[i+120>>3]+k;g=g>q?g:q}if((b[i+236>>1]|0)==(b[e+236>>1]|0)){q=+h[i+128>>3]+k;f=f>q?f:q}j=j+1|0}h[e+120>>3]=g;h[e+128>>3]=f;if(((ig(a)|0)!=(a|0)?(n=c[l>>2]|0,c[n+12>>2]|0):0)?(p=-g-f+ +h[n+48+((+h[n+104>>3]>+h[n+72>>3]?3:1)<<4)+8>>3]-+h[(c[(c[c[o+(b[n+236>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3]+ +h[(c[(c[c[o+(b[n+238>>1]<<6)+4>>2]>>2]|0)+16>>2]|0)+24>>3],p>0.0):0)vj(a,~~p,d);if((ig(a)|0)!=(a|0)){n=c[l>>2]|0;m=o+(b[n+236>>1]<<6)+24|0;q=+h[m>>3];p=+h[n+128>>3];h[m>>3]=q>p?q:p;o=o+(b[n+238>>1]<<6)+16|0;p=+h[o>>3];q=+h[n+120>>3];h[o>>3]=p>q?p:q}return}function vj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0;k=c[(ig(a)|0)+16>>2]|0;q=c[k+196>>2]|0;p=c[a+16>>2]|0;a=b[p+238>>1]|0;f=b[p+236>>1]|0;l=(d+1|0)/2|0;m=p+120|0;n=+h[m>>3];o=+(l|0);i=+(e|0);e=~~(o+i+n-+h[q+(a<<6)+16>>3]);if((e|0)>0){g=+(e|0);while(1){if((a|0)<(f|0))break;if((c[q+(a<<6)>>2]|0)>0){r=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[r>>3]=+h[r>>3]+g}a=a+-1|0}j=+h[p+128>>3];a=e;g=j+ +(d-l|0)}else{j=+h[p+128>>3];a=d-l|0;g=j}a=~~(+(a|0)+i+g-+h[q+(f<<6)+24>>3]);a:do if((a|0)>0){e=b[k+236>>1]|0;g=+(a|0);while(1){a=f+-1|0;if((f|0)<=(e|0))break a;if((c[q+(a<<6)>>2]|0)<=0){f=a;continue}f=(c[(c[c[q+(a<<6)+4>>2]>>2]|0)+16>>2]|0)+24|0;h[f>>3]=+h[f>>3]+g;f=a}}while(0);h[p+128>>3]=j+ +(d-l|0);h[m>>3]=n+o;return}function wj(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+16>>2]|0;f=a[e+84>>0]|0;b=c[d+16>>2]|0;do if(f<<24>>24==(a[b+84>>0]|0)){if(+h[e+56>>3]==+h[b+56>>3]){if(!(f<<24>>24==0?1:+h[e+64>>3]==+h[b+64>>3])){b=0;break}}else if(f<<24>>24){b=0;break}if(+h[e+16>>3]==+h[b+16>>3]?+h[e+24>>3]==+h[b+24>>3]:0){b=1;break}b=(a[e+44>>0]|0)==0&1}else b=0;while(0);return b|0}function xj(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;b[d+236>>1]=32767;b[d+238>>1]=-1;d=0;h=Sy(a)|0;while(1){e=c[i>>2]|0;if(!h)break;f=e+238|0;g=c[(c[h+16>>2]|0)+232>>2]|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;e=e+236|0;if((g|0)<(b[e>>1]|0))b[e>>1]=g;if(!d)d=h;else d=(g|0)<(c[(c[d+16>>2]|0)+232>>2]|0)?h:d;h=Ty(a,h)|0}c[e+264>>2]=d;return}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;b=xx(a,86879)|0;if(!b)b=2147483647;else{g=+b2(b);b=~~(g*+(ay(a)|0))}e=a+16|0;d=0;while(1){f=c[e>>2]|0;if((d|0)>=(c[f+220>>2]|0))break;c[f+192>>2]=c[(c[f+216>>2]|0)+(d<<2)>>2];fI(a,(c[f+180>>2]|0)==0&1,b)|0;d=d+1|0}return}function zj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;if(!(xx(a,86888)|0))Bj(a,d);else{g=(c[a+16>>2]|0)+136|0;b[g>>1]=b[g>>1]|16;Aj(a,d)}if(0){g=c[15686]|0;a=c[a+16>>2]|0;d=b[a+236>>1]|0;c[e>>2]=b[a+238>>1];c[e+4>>2]=d;g1(g,86896,e)|0}l=f;return}function Aj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;h=i;c[45977]=0;a[h>>0]=a[18484]|0;a[h+1>>0]=a[18485]|0;a[h+2>>0]=a[18486]|0;a[h+3>>0]=a[18487]|0;h=Xx(87106,h,0)|0;Az(h,87135,280,1)|0;mz(h,17404,17344);Cj(b);e=xx(b,86879)|0;if(!e)f=2147483647;else{j=+b2(e);f=~~(j*+(ay(b)|0))}Sj(b,0);Tj(b,h);Uj(b,h);Vj(b,h,0,0);Wj(h);g=Xj(h)|0;Yj(h);if(d|0){Mk(h);Ak(h)}e=xx(b,99560)|0;if(!e)e=-1;else e=a2(e)|0;yH(h,1,f,e)|0;Zj(b,h,g);$x(h)|0;l=i;return}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g;Cj(a);do if(!b){Dj(a,a);Pk(a);Ej(d,a);h=d;d=c[h+4>>2]|0;b=e;c[b>>2]=c[h>>2];c[b+4>>2]=d;Il(a,0);b=0}else{Mk(a);Ak(a);Dj(a,a);Pk(a);Ej(d,a);i=d;d=c[i+4>>2]|0;h=e;c[h>>2]=c[i>>2];c[h+4>>2]=d;Il(a,0);h=c[a+16>>2]|0;if((c[h+220>>2]|0)<=1?(c[h+180>>2]|0)<=0:0)break;c[b+32>>2]=1;b=0}while(0);xk(a);c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];if(Fj(a,f)|0)Il(a,0);if(!b)yj(a);else Bk(a,b);Gj(a,b);Hj(a);l=g;return}function Cj(d){d=d|0;var f=0,g=0,h=0;if(a[(c[(c[d+60>>2]|0)+16>>2]|0)+113>>0]&1){g=Sy(d)|0;while(1){if(!g)break;f=Ex(d,g)|0;while(1){if(!f)break;h=(c[f+16>>2]|0)+170|0;b[h>>1]=(e[h>>1]|0)<<1;f=Gx(d,f)|0}g=Ty(d,g)|0}h=(c[d+16>>2]|0)+252|0;c[h>>2]=((c[h>>2]|0)+1|0)/2|0}return}function Dj(a,b){a=a|0;b=b|0;var d=0;b=wA(b)|0;while(1){if(!b)break;d=Pj(b)|0;do if(d)if((d|0)==7&(c[46364]|0)==100){Lj(a,b);break}else{Qj(a,b,d);break}else Dj(a,b);while(0);b=xA(b)|0}return}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=d+16|0;e=c[i>>2]|0;d=c[e+228>>2]|0;e=c[e+224>>2]|0;f=(e|0)==0;if(!d)if(f){j=0;k=0}else g=4;else if(f)g=5;else g=4;if((g|0)==4){d=SL(e)|0;e=c[i>>2]|0;c[e+224>>2]=d;d=c[e+228>>2]|0;if(!d){h=0;d=e;g=12}else g=5}do if((g|0)==5){d=SL(d)|0;e=c[i>>2]|0;c[e+228>>2]=d;if(d){e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==5&1;while(1){d=c[c[d+180>>2]>>2]|0;if(!d){g=11;break}h=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((h|0)!=(SL(h)|0)){g=9;break}wk(d);d=c[e>>2]|0}if((g|0)==9)qa(86999,86939,346,87031);else if((g|0)==11){h=f;d=c[i>>2]|0;g=12;break}}else{h=0;d=e;g=12}}while(0);a:do if((g|0)==12){d=c[d+224>>2]|0;if(!d){j=0;k=h}else{e=d+16|0;d=c[e>>2]|0;f=(a[d+159>>0]|0)==3&1;while(1){d=c[c[d+172>>2]>>2]|0;if(!d){j=f;k=h;break a}i=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((i|0)!=(SL(i)|0))break;wk(d);d=c[e>>2]|0}qa(87044,86939,353,87031)}}while(0);c[b>>2]=j;c[b+4>>2]=k;return}function Fj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=a+16|0;i=c[j>>2]|0;if((c[i+228>>2]|0)==0?(c[i+224>>2]|0)==0:0)d=0;else e=3;a:do if((e|0)==3){g=Sy(a)|0;i=d+4|0;h=c[d>>2]&65535;d=0;while(1){if(!g)break a;if((g|0)==(SL(g)|0)){f=g+16|0;e=c[f>>2]|0;if((c[e+184>>2]|0)==0?(k=c[(c[j>>2]|0)+228>>2]|0,!((k|0)==0|(g|0)==(k|0))):0){d=ph(g,k,0)|0;e=c[d+16>>2]|0;b[e+170>>1]=c[i>>2];c[e+156>>2]=0;e=c[f>>2]|0}if((c[e+176>>2]|0)==0?(l=c[(c[j>>2]|0)+224>>2]|0,!((l|0)==0|(g|0)==(l|0))):0){d=ph(l,g,0)|0;f=c[d+16>>2]|0;b[f+170>>1]=h;c[f+156>>2]=0}}g=Ty(a,g)|0}}while(0);return (d|0)!=0|0}function Gj(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=Sy(d)|0;k=d+16|0;f=c[k>>2]|0;a:do if(g){b[f+236>>1]=32767;b[f+238>>1]=-1;j=(e|0)==0;while(1){if(!g)break;f=SL(g)|0;i=c[g+16>>2]|0;e=c[i+232>>2]|0;do if((f|0)!=(g|0)){if(!j)if(!e)e=0;else break;e=e+(c[(c[f+16>>2]|0)+232>>2]|0)|0;c[i+232>>2]=e}while(0);f=c[k>>2]|0;h=f+238|0;if((e|0)>(b[h>>1]|0))b[h>>1]=e;f=f+236|0;if((e|0)<(b[f>>1]|0))b[f>>1]=e;switch(a[i+159>>0]|0){case 6:case 0:break;default:UL(g)}g=Ty(d,g)|0}if((ig(d)|0)==(d|0)){if((c[46364]|0)==100)e=1;else{Kj(d);break}while(1){f=c[k>>2]|0;if((e|0)>(c[f+180>>2]|0))break a;Jj(c[(c[f+184>>2]|0)+(e<<2)>>2]|0);e=e+1|0}}}else{b[f+238>>1]=0;b[f+236>>1]=0}while(0);return}function Hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=b+16|0;e=0;while(1){d=c[j>>2]|0;if((e|0)>=(c[d+220>>2]|0))break;i=c[(c[d+216>>2]|0)+(e<<2)>>2]|0;c[d+192>>2]=i;d=i;while(1){if(!d)break;i=d+16|0;Ij((c[i>>2]|0)+172|0);Ij((c[i>>2]|0)+180|0);i=c[i>>2]|0;a[i+157>>0]=0;d=c[i+164>>2]|0}e=e+1|0}i=Sy(b)|0;while(1){if(!i)break;h=Ex(b,i)|0;while(1){if(!h)break;f=h+16|0;d=c[f>>2]|0;g=c[d+172>>2]|0;if((g|0)!=0?(k=g+16|0,(h|0)==(c[(c[k>>2]|0)+116>>2]|0)):0){d=Sy(b)|0;while(1){if(!d)break;e=Ex(b,d)|0;while(1){if(!e)break;if((h|0)!=(e|0)?(l=(c[e+16>>2]|0)+172|0,m=c[l>>2]|0,(m|0)!=0&(g|0)==(m|0)):0)c[l>>2]=0;e=Gx(b,e)|0}d=Ty(b,d)|0}D_(c[k>>2]|0);D_(g);d=c[f>>2]|0}c[d+172>>2]=0;h=Gx(b,h)|0}i=Ty(b,i)|0}D_(c[(c[j>>2]|0)+216>>2]|0);m=c[j>>2]|0;c[m+216>>2]=0;c[m+220>>2]=0;return}function Ij(a){a=a|0;var b=0,d=0;d=a+4|0;b=c[d>>2]|0;while(1){if((b|0)<=-1)break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+-1|0}c[d>>2]=0;return}function Jj(a){a=a|0;var d=0,f=0,g=0;d=a+16|0;f=c[d>>2]|0;g=c[(c[(c[f+264>>2]|0)+16>>2]|0)+232>>2]|0;a=f+236|0;b[a>>1]=g+(e[a>>1]|0);a=f+238|0;b[a>>1]=g+(e[a>>1]|0);a=1;while(1){if((a|0)>(c[f+180>>2]|0))break;Jj(c[(c[f+184>>2]|0)+(a<<2)>>2]|0);a=a+1|0;f=c[d>>2]|0}return}function Kj(b){b=b|0;var d=0;d=wA(ig(b)|0)|0;while(1){if(!d)break;if((a[(c[d+16>>2]|0)+274>>0]|0)==7)Lj(b,d);d=xA(d)|0}return}function Lj(a,b){a=a|0;b=b|0;var d=0;d=(c[b+16>>2]|0)+200|0;do if((c[d>>2]|0)==0?(c[d>>2]=a,Mj(a,b),Sy(b)|0):0){Nj(a,b);if((c[46364]|0)==100){Bj(b,0);Oj(b);break}else{xj(b);break}}while(0);return}function Mj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=b+16|0;g=Sy(d)|0;while(1){if(!g)break;i=Ty(d,g)|0;j=g+16|0;if(!(a[(c[j>>2]|0)+159>>0]|0))f=1;else{dz(d,g)|0;g=i;continue}while(1){e=c[h>>2]|0;b=c[e+180>>2]|0;if((f|0)>=(b|0))break;if(oz(c[(c[e+184>>2]|0)+(f<<2)>>2]|0,g)|0){k=7;break}f=f+1|0}if((k|0)==7){k=0;b=c[(c[h>>2]|0)+180>>2]|0}if((f|0)<(b|0))dz(d,g)|0;c[(c[j>>2]|0)+212>>2]=0;g=i}e=Sy(d)|0;while(1){if(!e)break;b=Ex(ig(d)|0,e)|0;while(1){if(!b)break;if(oz(d,c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)Vx(d,b,1)|0;b=Gx(ig(d)|0,b)|0}e=Ty(d,e)|0}return}function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+16|0;d=c[e>>2]|0;g=d+180|0;a=c[g>>2]|0;f=a+1|0;c[g>>2]=f;d=c[d+184>>2]|0;if(!d)a=uH((a<<2)+8|0)|0;else a=wH(d,a+2|0,4,f)|0;c[(c[e>>2]|0)+184>>2]=a;c[a+(f<<2)>>2]=b;fH(b);return}function Oj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[b+16>>2]|0;d=g+192|0;h=0;while(1){d=c[d>>2]|0;if(!d)break;f=c[d+16>>2]|0;if(!(c[f+232>>2]|0))e=(a[f+156>>0]|0)==0?d:h;else e=h;d=f+164|0;h=e}if(!h)qa(86924,86939,238,86946);c[g+264>>2]=h;d=Sy(b)|0;while(1){if(!d){d=13;break}e=d+16|0;if(!((d|0)==(h|0)?1:(c[(c[e>>2]|0)+216>>2]|0)<2)){d=11;break}TL(d,h)|0;a[(c[e>>2]|0)+159>>0]=7;d=Ty(b,d)|0}if((d|0)==11)qa(86961,86939,242,86946);else if((d|0)==13)return}function Pj(b){b=b|0;var d=0;if(!(Rj(b)|0)){d=aM(xx(b,87076)|0,17356,17380)|0;a[(c[b+16>>2]|0)+274>>0]=d;b=d}else b=7;return b|0}function Qj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=Sy(d)|0;a:do if(g|0){j=e&255;i=g+16|0;f=g;h=j;while(1){a[(c[f+16>>2]|0)+159>>0]=h;f=Ty(d,f)|0;if(!f)break;TL(g,f)|0;h=a[(c[i>>2]|0)+159>>0]|0}switch(e|0){case 3:case 2:{b=b+16|0;f=c[b>>2]|0;h=c[f+224>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+224>>2]=g;break}case 5:case 4:{b=b+16|0;f=c[b>>2]|0;h=c[f+228>>2]|0;if(h){g=TL(h,g)|0;f=c[b>>2]|0}c[f+228>>2]=g;break}default:break a}switch(e|0){case 3:{f=f+224|0;break}case 5:{f=f+228|0;break}default:break a}a[(c[(c[f>>2]|0)+16>>2]|0)+159>>0]=j}while(0);return}function Rj(a){a=a|0;return (z$(ry(a)|0,104980,7)|0)==0|0}function Sj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m;if(!(lk(b)|0)){do if(qM(b)|0)if(!d){c[(c[b+16>>2]|0)+204>>2]=0;d=b;break}else{c[(c[b+16>>2]|0)+204>>2]=(c[(c[d+16>>2]|0)+204>>2]|0)+1;mk(b,d);d=b;break}while(0);e=wA(b)|0;while(1){if(!e)break;Sj(e,d);e=xA(e)|0}a:do if(qM(b)|0){e=Sy(b)|0;while(1){if(!e)break a;f=(c[e+16>>2]|0)+212|0;if(!(c[f>>2]|0))c[f>>2]=b;e=Ty(b,e)|0}}while(0);switch(nk(b)|0){case 3:{d=d+16|0;a[(c[d>>2]|0)+241>>0]=1;k=19;break}case 2:{d=d+16|0;k=19;break}case 5:{d=d+16|0;a[(c[d>>2]|0)+242>>0]=1;k=21;break}case 4:{d=d+16|0;k=21;break}case 1:{ok(b)|0;break}case 6:break;default:{e=ry(b)|0;f=xx(b,87076)|0;c[g>>2]=e;c[g+4>>2]=f;Pw(0,87259,g)|0}}if((k|0)==19){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+208>>2]|0)|0;c[(c[d>>2]|0)+208>>2]=k}else if((k|0)==21){k=ok(b)|0;k=pk(k,c[(c[d>>2]|0)+212>>2]|0)|0;c[(c[d>>2]|0)+212>>2]=k}if((qM(b)|0?(h=b+16|0,i=c[h>>2]|0,j=c[i+208>>2]|0,j|0):0)?(j|0)==(c[i+212>>2]|0):0){j=ok(b)|0;k=c[h>>2]|0;c[k+208>>2]=j;c[k+212>>2]=j}}l=m;return}function Tj(a,b){a=a|0;b=b|0;var d=0,e=0;c[45977]=0;d=Sy(a)|0;while(1){if(!d)break;if((_j(d)|0)==(d|0)){e=bk(b,ry(d)|0)|0;c[(c[d+16>>2]|0)+148>>2]=e}d=Ty(a,d)|0}d=Sy(a)|0;while(1){if(!d)break;b=d+16|0;if(!(c[(c[b>>2]|0)+148>>2]|0)){e=c[(c[(_j(d)|0)+16>>2]|0)+148>>2]|0;c[(c[b>>2]|0)+148>>2]=e}d=Ty(a,d)|0}return}function Uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=Sy(a)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+148>>2]|0;i=Ex(a,h)|0;while(1){if(!i)break;do if((gk(i)|0)==0?(j=i+-48|0,k=c[(c[(_j(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)|0)+16>>2]|0)+148>>2]|0,(d|0)!=(k|0)):0){f=c[i>>2]&3;g=i+48|0;e=((f|0)==3?i:g)+40|0;f=c[(c[(c[((f|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0;if(!(hk(i)|0)){if((fk(c[(c[(c[e>>2]|0)+16>>2]|0)+212>>2]|0)|0)==0?(fk(f)|0)==0:0){ik(b,d,k,i);break}jk(b,d,k,i);break}else{f=_j(c[e>>2]|0)|0;e=c[i>>2]&3;if((f|0)!=(c[(c[(c[(c[(c[((e|0)==3?i:g)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+212>>2]|0)?(g=_j(c[((e|0)==2?i:j)+40>>2]|0)|0,(g|0)!=(c[(c[(c[(c[(c[((c[i>>2]&3|0)==2?i:j)+40>>2]|0)+16>>2]|0)+212>>2]|0)+16>>2]|0)+208>>2]|0)):0)e=k;else{e=d;d=k}ik(b,d,e,i);break}}while(0);i=Gx(a,i)|0}h=Ty(a,h)|0}return}function Vj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((qM(a)|0)!=0?(fk(a)|0)!=0:0){g=Sy(a)|0;while(1){if(!g)break;if(!(Hx(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!d)d=bk(b,87157)|0;Rx(b,d,f,0,1)|0}if(!(Ex(a,g)|0)){f=c[(c[(_j(g)|0)+16>>2]|0)+148>>2]|0;if(!e)e=bk(b,87162)|0;Rx(b,f,e,0,1)|0}g=Ty(a,g)|0}if((e|0)!=0&(d|0)!=0){ek(Rx(b,d,e,0,1)|0,0,1e3);f=d}else f=d}else f=d;d=wA(a)|0;while(1){if(!d)break;Vj(d,b,f,e);d=xA(d)|0}return}function Wj(b){b=b|0;var d=0,e=0;d=Sy(b)|0;while(1){if(!d)break;e=c[d+16>>2]|0;a[e+158>>0]=0;a[e+157>>0]=0;d=Ty(b,d)|0}d=Sy(b)|0;while(1){if(!d)break;ck(b,d);d=Ty(b,d)|0}return}function Xj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+128>>2]=0;b=Ty(a,b)|0}b=0;e=Sy(a)|0;while(1){if(!e)break;d=b+1|0;if(!(c[(c[e+16>>2]|0)+128>>2]|0)){ak(a,e,d);b=d}e=Ty(a,e)|0}a:do if((b|0)>1){f=bk(a,87151)|0;d=1;e=Sy(a)|0;while(1){if(!e)break a;if((c[(c[e+16>>2]|0)+128>>2]|0)==(d|0)){Rx(a,f,e,0,1)|0;d=d+1|0}e=Ty(a,e)|0}}while(0);return b|0}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;g=Sy(a)|0;while(1){if(!g)break;h=g+16|0;f=Ex(a,g)|0;while(1){if(!f)break;b=c[h>>2]|0;d=c[b+180>>2]|0;if(!d)b=vH((c[b+184>>2]<<2)+8|0)|0;else b=xH(d,(c[b+184>>2]<<2)+8|0)|0;d=c[h>>2]|0;c[d+180>>2]=b;d=d+184|0;e=c[d>>2]|0;c[d>>2]=e+1;c[b+(e<<2)>>2]=f;e=c[h>>2]|0;c[(c[e+180>>2]|0)+(c[e+184>>2]<<2)>>2]=0;e=f+-48|0;b=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;d=c[b+172>>2]|0;if(!d)b=vH((c[b+176>>2]<<2)+8|0)|0;else b=xH(d,(c[b+176>>2]<<2)+8|0)|0;c[(c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0)+172>>2]=b;i=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;b=c[i+172>>2]|0;i=i+176|0;d=c[i>>2]|0;c[i>>2]=d+1;c[b+(d<<2)>>2]=f;e=c[(c[((c[f>>2]&3|0)==2?f:e)+40>>2]|0)+16>>2]|0;c[(c[e+172>>2]|0)+(c[e+176>>2]<<2)>>2]=0;f=Gx(a,f)|0}g=Ty(a,g)|0}return}function Zj(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=a+16|0;o=c[n>>2]|0;b[o+236>>1]=32767;b[o+238>>1]=-1;a:do if((f|0)>1){h=uH((f<<2)+4|0)|0;g=f+1|0;f=1;while(1){if((f|0)==(g|0)){m=h;o=h;break a}c[h+(f<<2)>>2]=32767;f=f+1|0}}else{m=0;o=0}while(0);i=(m|0)==0;h=Sy(a)|0;while(1){if(!h)break;j=c[(c[(c[(_j(h)|0)+16>>2]|0)+148>>2]|0)+16>>2]|0;k=c[j+232>>2]|0;l=c[h+16>>2]|0;c[l+232>>2]=k;f=c[n>>2]|0;g=f+238|0;if((k|0)>(b[g>>1]|0))b[g>>1]=k;f=f+236|0;if((k|0)<(b[f>>1]|0))b[f>>1]=k;if(!i){j=c[j+128>>2]|0;c[l+128>>2]=j;l=m+(j<<2)|0;j=c[l>>2]|0;c[l>>2]=(j|0)<(k|0)?j:k}h=Ty(a,h)|0}j=(m|0)!=0;b:do if(!j){m=b[(c[n>>2]|0)+236>>1]|0;g=m<<16>>16;if(m<<16>>16>0){f=Sy(a)|0;while(1){if(!f)break;m=(c[f+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-g;f=Ty(a,f)|0}f=c[n>>2]|0;n=f+236|0;b[n>>1]=(e[n>>1]|0)-g;f=f+238|0;b[f>>1]=(e[f>>1]|0)-g;f=0}else f=0}else{f=Sy(a)|0;while(1){if(!f){f=1;break b}l=c[f+16>>2]|0;n=l+232|0;c[n>>2]=(c[n>>2]|0)-(c[m+(c[l+128>>2]<<2)>>2]|0);f=Ty(a,f)|0}}while(0);$j(a,f);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;f=c[g>>2]|0;h=c[f+172>>2]|0;if(h){D_(h);f=c[g>>2]|0}f=c[f+180>>2]|0;if(f|0)D_(f);i=Ty(d,i)|0}D_(c[(c[(Sy(a)|0)+16>>2]|0)+112>>2]|0);f=Sy(a)|0;while(1){if(!f)break;c[(c[f+16>>2]|0)+112>>2]=0;f=Ty(a,f)|0}if(j)D_(o);return}function _j(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;d=(c[b>>2]|0)+152|0;e=c[d>>2]|0;if(e){if((e|0)!=(a|0)){e=_j(e)|0;c[(c[b>>2]|0)+152>>2]=e;return e|0}}else c[d>>2]=a;return a|0}function $j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=a+16|0;e=1;while(1){f=c[i>>2]|0;if((e|0)>(c[f+180>>2]|0))break;$j(c[(c[f+184>>2]|0)+(e<<2)>>2]|0,0);e=e+1|0}if((d|0)!=0|(c[f+200>>2]|0)!=0){b[f+236>>1]=32767;b[f+238>>1]=-1;e=0;h=Sy(a)|0;while(1){if(!h)break;g=c[(c[h+16>>2]|0)+232>>2]|0;d=c[i>>2]|0;f=d+238|0;if((g|0)>(b[f>>1]|0))b[f>>1]=g;d=d+236|0;if((g|0)<(b[d>>1]|0)){b[d>>1]=g;e=h}h=Ty(a,h)|0}c[(c[i>>2]|0)+264>>2]=e}return}function ak(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=(c[b+16>>2]|0)+128|0;a:do if(!(c[e>>2]|0)){c[e>>2]=d;e=Ex(a,b)|0;while(1){if(!e)break;ak(a,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,d);e=Gx(a,e)|0}e=Hx(a,b)|0;while(1){if(!e)break a;ak(a,c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,d);e=Ix(a,e)|0}}while(0);return}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=az(a,b,1)|0;b=f+16|0;c[(c[b>>2]|0)+176>>2]=0;e=uH(20)|0;d=c[b>>2]|0;c[d+172>>2]=e;c[d+184>>2]=0;d=uH(20)|0;b=c[b>>2]|0;c[b+180>>2]=d;d=c[45977]|0;e=b+168|0;if(!d){c[e>>2]=0;c[(c[a+16>>2]|0)+192>>2]=f}else{c[e>>2]=d;c[(c[d+16>>2]|0)+164>>2]=f}c[45977]=f;c[b+164>>2]=0;return f|0}function ck(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=d+16|0;e=c[h>>2]|0;f=e+157|0;if(!(a[f>>0]|0)){a[f>>0]=1;a[e+158>>0]=1;d=Ex(b,d)|0;while(1){if(!d)break;e=Gx(b,d)|0;f=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;g=c[f+16>>2]|0;if(a[g+158>>0]|0){dk(b,d);d=e;continue}if(a[g+157>>0]|0){d=e;continue}ck(b,f);d=e}a[(c[h>>2]|0)+158>>0]=0}return}function dk(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=c[b>>2]&3;g=b+-48|0;f=b+48|0;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,0)|0;if(!d){d=c[b>>2]&3;d=Rx(a,c[((d|0)==2?b:g)+40>>2]|0,c[((d|0)==3?b:f)+40>>2]|0,0,1)|0}g=c[b+16>>2]|0;ek(d,e[g+170>>1]|0,c[g+156>>2]|0);dz(a,b)|0;return}function ek(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0;a=c[a+16>>2]|0;g=a+170|0;h=e[g>>1]|0;b[g>>1]=(h|0)>(d|0)?h:d;d=a+156|0;c[d>>2]=(c[d>>2]|0)+f;return}function fk(a){a=a|0;return (RL(xx(a,87167)|0,0)|0)&255|0}function gk(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function hk(a){a=a|0;var b=0,d=0;d=c[a>>2]&3;b=c[(c[(c[((d|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;a=c[(c[(c[((d|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0)+212>>2]|0;if((b|0)==(a|0))return 1;else{d=kk(b,a)|0;return ((d|0)==(b|0)|(d|0)==(a|0))&1|0}return 0}function ik(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j;g=Rx(a,b,d,0,0)|0;if(!g){g=Rx(a,d,b,0,0)|0;if(!g){g=Rx(a,b,d,0,1)|0;if(!g){b=ry(b)|0;f=ry(d)|0;c[h>>2]=b;c[h+4>>2]=f;Pw(1,87184,h)|0}else i=4}else i=4}else i=4;if((i|0)==4){i=c[f+16>>2]|0;ek(g,e[i+170>>1]|0,c[i+156>>2]|0)}l=j;return}function jk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;j=m;i=m+4|0;h=Hx(a,d)|0;while(1){if(!h){k=6;break}n=Ex(a,c[((c[h>>2]&3|0)==3?h:h+48|0)+40>>2]|0)|0;if(n|0?(c[((c[n>>2]&3|0)==2?n:n+-48|0)+40>>2]|0)==(f|0):0)break;h=Ix(a,h)|0}if((k|0)==6){n=c[45978]|0;c[45978]=n+1;c[j>>2]=n;Y0(i,87175,j)|0;i=bk(a,i)|0;n=Rx(a,i,d,0,1)|0;i=Rx(a,i,f,0,1)|0;f=c[g+16>>2]|0;k=f+156|0;n=(c[n+16>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+((c[k>>2]|0)*1e3|0);n=c[i+16>>2]|0;j=n+170|0;b[j>>1]=b[(c[((e[j>>1]|0)>(e[f+170>>1]|0)?i:g)+16>>2]|0)+170>>1]|0;n=n+156|0;c[n>>2]=(c[n>>2]|0)+(c[k>>2]|0)}l=m;return}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;a:while(1){e=a+16|0;while(1){if((a|0)==(b|0))break a;f=c[e>>2]|0;d=c[b+16>>2]|0;if((c[f+204>>2]|0)>=(c[d+204>>2]|0))break;b=c[d+200>>2]|0}a=c[f+200>>2]|0}return a|0}function lk(a){a=a|0;return (Sy(a)|0)==0|0}function mk(a,b){a=a|0;b=b|0;c[(c[a+16>>2]|0)+200>>2]=b;Nj(b,a);Mj(b,a);return}function nk(b){b=b|0;var c=0;b=xx(b,87076)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)if(b$(b,87086)|0)if(b$(b,87090)|0)if(b$(b,87097)|0)if(b$(b,87101)|0)if(!(b$(b,87081)|0))b=1;else c=8;else b=5;else b=4;else b=3;else b=2;else c=8;if((c|0)==8)b=6;return b|0}function ok(a){a=a|0;var b=0,c=0;c=Sy(a)|0;a:do if(!c)b=0;else{b=_j(c)|0;while(1){c=Ty(a,c)|0;if(!c)break a;pk(b,c)|0}}while(0);return b|0}function pk(a,b){a=a|0;b=b|0;if(b){a=_j(a)|0;c[(c[(_j(b)|0)+16>>2]|0)+152>>2]=a}return a|0}function qk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87135,c[d>>2]|0,1)|0;return}function rk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87302,c[d+4>>2]|0,1)|0;return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;Az(b,87287,c[d+8>>2]|0,1)|0;return}function tk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+240|0;m=p+120|0;n=p;c[46423]=nx(b,2,87317,0)|0;k=nx(b,2,87326,0)|0;c[46424]=k;a:do if((k|0)!=0|(c[46423]|0)!=0){k=Sy(b)|0;while(1){if(!k)break a;j=0;d=0;i=Jx(b,k)|0;while(1){if(!i){f=0;break}e=c[i>>2]|0;g=e&3;f=c[((g|0)==2?i:i+-48|0)+40>>2]|0;h=i+48|0;b:do if((f|0)!=(c[((g|0)==3?i:h)+40>>2]|0)){g=c[46423]|0;do if((f|0)==(k|0)&(g|0)!=0){f=yx(i,g)|0;if(!(a[f>>0]|0)){e=c[i>>2]|0;break}else{e=j;d=uk(m,d,k,i,f)|0;break b}}while(0);f=c[46424]|0;if((f|0?(c[((e&3|0)==3?i:h)+40>>2]|0)==(k|0):0)?(o=yx(i,f)|0,(a[o>>0]|0)!=0):0)e=uk(n,j,k,i,o)|0;else e=j}else e=j;while(0);j=e;i=Kx(b,i,k)|0}while(1){if((f|0)>=(d|0)){e=0;break}e=m+(f*24|0)+4|0;if((c[m+(f*24|0)+8>>2]|0)>1)vk(k,e);e=c[e>>2]|0;if(e|0)D_(e);f=f+1|0}while(1){if((e|0)>=(j|0))break;d=n+(e*24|0)+4|0;if((c[n+(e*24|0)+8>>2]|0)>1)vk(k,d);d=c[d>>2]|0;if(d|0)D_(d);e=e+1|0}k=Ty(b,k)|0}}while(0);l=p;return}function uk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+16|0;k=p;m=p+12|0;n=p+8|0;o=0;while(1){if((o|0)>=(d|0)){j=10;break}j=c[b+(o*24|0)>>2]|0;if((a[j>>0]|0)==(a[g>>0]|0)?(b$(j,g)|0)==0:0){j=5;break}o=o+1|0}do if((j|0)==5){k=b+(o*24|0)+4|0;j=c[k>>2]|0;if(!j){j=b+(o*24|0)+8|0;g=j;j=vH((c[j>>2]<<2)+8|0)|0}else{q=b+(o*24|0)+8|0;g=q;j=xH(j,(c[q>>2]<<2)+8|0)|0}c[k>>2]=j;r=c[g>>2]|0;q=r+1|0;c[g>>2]=q;c[j+(r<<2)>>2]=f;c[(c[k>>2]|0)+(q<<2)>>2]=0;j=13}else if((j|0)==10)if((d|0)>4){r=ry(e)|0;c[k>>2]=5;c[k+4>>2]=r;Pw(1,87335,k)|0;break}else{s=b+(o*24|0)+8|0;c[s>>2]=0;k=uH(8)|0;r=b+(o*24|0)+4|0;c[r>>2]=k;q=c[s>>2]|0;j=q+1|0;c[s>>2]=j;c[k+(q<<2)>>2]=f;c[(c[r>>2]|0)+(j<<2)>>2]=0;c[b+(o*24|0)>>2]=g;c[b+(o*24|0)+12>>2]=0;h[b+(o*24|0)+16>>3]=0.0;d=d+1|0;j=13;break}while(0);if((j|0)==13){sE(f,m,n);j=(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)==(e|0)?c[n>>2]|0:c[m>>2]|0;if(j){r=b+(o*24|0)+12|0;s=c[r>>2]|0;c[r>>2]=s+1;if(!s)i=+wE(f,j);else i=0.0;h[b+(o*24|0)+16>>3]=i}}l=p;return d|0}function vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=l;l=l+80|0;t=x+68|0;u=x+64|0;r=x;v=d+4|0;n=c[v>>2]|0;w=b+16|0;i=0;p=0.0;q=0.0;while(1){if((i|0)>=(n|0))break;f=c[(c[d>>2]|0)+(i<<2)>>2]|0;g=c[f>>2]&3;e=c[((g|0)==2?f:f+-48|0)+40>>2]|0;if((e|0)==(b|0))e=c[((g|0)==3?f:f+48|0)+40>>2]|0;g=c[e+16>>2]|0;s=c[w>>2]|0;k=+h[g+16>>3]-+h[s+16>>3];m=+h[g+24>>3]-+h[s+24>>3];o=+u$(k,m);i=i+1|0;p=k/o+p;q=m/o+q}j=+u$(p,q);s=c[w>>2]|0;k=+h[s+16>>3];m=+h[s+24>>3];y=+h[s+96>>3]+ +h[s+88>>3];o=+h[s+80>>3];s=y>o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0;if(s)o=+h[e+96>>3]+ +h[e+88>>3];else{o=+h[e+80>>3];o=o+ +(c[(c[(ez(b)|0)+16>>2]|0)+252>>2]|0);e=c[w>>2]|0}y=+h[e+16>>3]+o*(p/j);j=+h[e+24>>3]+o*(q/j);h[r>>3]=k;n=r+8|0;h[n>>3]=m;h[r+16>>3]=(y+k*2.0)*.3333333333333333;h[r+24>>3]=(j+m*2.0)*.3333333333333333;h[r+32>>3]=(y*2.0+k)*.3333333333333333;h[r+40>>3]=(j*2.0+m)*.3333333333333333;h[r+48>>3]=y;h[r+56>>3]=j;NK(b,r);s=c[w>>2]|0;j=+h[r>>3]-+h[s+16>>3];k=+h[n>>3]-+h[s+24>>3];j=+(~~(j+(j>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);y=+h[s+88>>3];s=~~((y+j)*256.0/(+h[s+96>>3]+y))&255;r=0;while(1){if((r|0)>=(c[v>>2]|0))break;n=c[(c[d>>2]|0)+(r<<2)>>2]|0;sE(n,t,u);while(1){if(!n)break;else g=n;while(1){if(!g){i=n;break}e=c[g>>2]|0;i=g+-48|0;if((c[((e&3|0)==2?g:i)+40>>2]|0)==(b|0)){e=c[g+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[g>>2]|0}f=g+16|0;if((c[((e&3|0)==3?g:g+48|0)+40>>2]|0)==(b|0)){e=c[f>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[f>>2]|0)+112>>0]|0)!=1){g=0;continue}e=c[(c[((c[g>>2]&3|0)==2?g:i)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){g=0;continue}if((c[e+184>>2]|0)!=1){g=0;continue}g=c[c[e+180>>2]>>2]|0}while(1){if(!i)break;e=c[i>>2]|0;if((c[((e&3|0)==2?i:i+-48|0)+40>>2]|0)==(b|0)){e=c[i+16>>2]|0;h[e+56>>3]=j;h[e+64>>3]=k;h[e+72>>3]=0.0;c[e+80>>2]=0;a[e+84>>0]=1;a[e+85>>0]=0;a[e+86>>0]=0;a[e+87>>0]=0;a[e+88>>0]=s;a[e+89>>0]=0;c[e+92>>2]=0;e=c[i>>2]|0}f=i+48|0;g=i+16|0;if((c[((e&3|0)==3?i:f)+40>>2]|0)==(b|0)){e=c[g>>2]|0;h[e+16>>3]=j;h[e+24>>3]=k;h[e+32>>3]=0.0;c[e+40>>2]=0;a[e+44>>0]=1;a[e+45>>0]=0;a[e+46>>0]=0;a[e+47>>0]=0;a[e+48>>0]=s;a[e+49>>0]=0;c[e+52>>2]=0}if((a[(c[g>>2]|0)+112>>0]|0)!=1){i=0;continue}e=c[(c[((c[i>>2]&3|0)==3?i:f)+40>>2]|0)+16>>2]|0;if((a[e+156>>0]|0)!=1){i=0;continue}if((c[e+176>>2]|0)!=1){i=0;continue}i=c[c[e+172>>2]>>2]|0}n=c[(c[n+16>>2]|0)+172>>2]|0}r=r+1|0}a[(c[w>>2]|0)+145>>0]=1;l=x;return}function wk(a){a=a|0;var b=0,d=0,e=0;kh(a);b=c[a>>2]&3;d=a+-48|0;e=a+48|0;b=fh(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0)|0;if(!b){b=c[a>>2]&3;ph(c[((b|0)==2?a:d)+40>>2]|0,c[((b|0)==3?a:e)+40>>2]|0,a)|0}else xh(a,b);return}function xk(b){b=b|0;var d=0,e=0,f=0,g=0;f=b+16|0;e=0;while(1){b=c[f>>2]|0;if((e|0)>=(c[b+220>>2]|0))break;d=c[(c[b+216>>2]|0)+(e<<2)>>2]|0;c[b+192>>2]=d;b=d;d=b;while(1){if(!d)break;g=c[d+16>>2]|0;a[g+157>>0]=0;d=c[g+164>>2]|0}while(1){if(!b)break;yk(b);b=c[(c[b+16>>2]|0)+164>>2]|0}e=e+1|0}return}function yk(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+16|0;d=c[g>>2]|0;b=d+157|0;if(!(a[b>>0]|0)){a[b>>0]=1;a[d+158>>0]=1;b=0;while(1){f=c[(c[d+180>>2]|0)+(b<<2)>>2]|0;if(!f)break;d=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;e=c[d+16>>2]|0;if(!(a[e+158>>0]|0)){if(!(a[e+157>>0]|0))yk(d)}else{wk(f);b=b+-1|0}b=b+1|0;d=c[g>>2]|0}a[d+158>>0]=0}return}function zk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=Sy(a)|0;b=0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;g=c[d>>2]&3;h=c[(c[(c[((g|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;g=c[(c[(c[((g|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;f=h-g|0;d=Gx(a,d)|0;b=((h|0)==(g|0)?0:((f|0)>-1?f:0-f|0)+-1|0)+b|0}e=Ty(a,e)|0}return b|0}function Ak(b){b=b|0;var d=0,e=0,f=0,g=0;e=Sy(b)|0;while(1){if(!e)break;g=c[e+16>>2]|0;f=c[g+176>>2]|0;g=g+172|0;d=0;while(1){if((d|0)>=(f|0))break;a[(c[(c[(c[g>>2]|0)+(d<<2)>>2]|0)+16>>2]|0)+112>>0]=0;d=d+1|0}e=Ty(b,e)|0}return}function Bk(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;o=q;j=c[b+24>>2]|0;Ck(a);k=(j|0)==-1;m=b+8|0;i=k^1;n=c[15686]|0;f=1797693134862315708145274.0e284;g=0;while(1){if(!(k|(g|0)<(j|0)))break;d=Sy(a)|0;while(1){if(!d)break;c[(c[d+16>>2]|0)+232>>2]=0;d=Ty(a,d)|0}yj(a);e=+Dk(a);h[m>>3]=e;if(0){h[o>>3]=e;g1(n,87387,o)|0;e=+h[m>>3]}if(!(!(e<=+h[b>>3])&(!(f<=e)|i))){p=9;break}Ek(a);f=e;g=g+1|0}if((p|0)==9){p=b+20|0;c[b+16>>2]=c[p>>2];c[p>>2]=g}yj(a);Fk(a);Gk();h[m>>3]=+Dk(a);l=q;return}function Ck(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0;c[45982]=vH((ay(a)|0)*24|0)|0;c[45981]=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+120>>2]=-1;b=Ty(a,b)|0}i=Sy(a)|0;while(1){if(!i)break;j=i+16|0;do if(!(c[(c[j>>2]|0)+216>>2]|0)){f=uH(4)|0;g=c[45982]|0;k=c[45981]|0;c[g+(k*24|0)>>2]=f;c[f>>2]=i;c[g+(k*24|0)+4>>2]=1;j=c[j>>2]|0;h[g+(k*24|0)+8>>3]=+h[j+32>>3];h[g+(k*24|0)+16>>3]=+h[j+40>>3];c[j+120>>2]=k;c[45981]=k+1}else{g=SL(i)|0;k=g+16|0;b=c[k>>2]|0;d=c[b+120>>2]|0;if((d|0)>-1){g=c[45982]|0;f=c[g+(d*24|0)>>2]|0;e=g+(d*24|0)+4|0;k=c[e>>2]|0;c[e>>2]=k+1;c[f+(k<<2)>>2]=i;k=c[j>>2]|0;j=g+(d*24|0)+8|0;h[j>>3]=+h[j>>3]+ +h[k+32>>3];j=g+(d*24|0)+16|0;l=+h[j>>3];m=+h[k+40>>3];h[j>>3]=l<m?m:l;c[k+120>>2]=d;break}d=uH(c[b+216>>2]<<2)|0;e=c[45982]|0;f=c[45981]|0;b=e+(f*24|0)|0;c[b>>2]=d;c[d>>2]=g;if((g|0)==(i|0)){h[e+(f*24|0)+8>>3]=+h[(c[k>>2]|0)+32>>3];d=1;b=i}else{c[(c[b>>2]|0)+4>>2]=i;n=c[k>>2]|0;b=c[j>>2]|0;h[e+(f*24|0)+8>>3]=+h[b+32>>3]+ +h[n+32>>3];d=2;b=+h[n+40>>3]<+h[b+40>>3]?i:g}c[e+(f*24|0)+4>>2]=d;h[e+(f*24|0)+16>>3]=+h[(c[b+16>>2]|0)+40>>3];c[(c[k>>2]|0)+120>>2]=f;c[(c[j>>2]|0)+120>>2]=f;c[45981]=f+1}while(0);i=Ty(a,i)|0}return}function Dk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0,i=0.0,j=0.0;Fk(a);g=c[45979]|0;e=c[a+16>>2]|0;b=+(O(c[e+252>>2]|0,g+-1|0)|0);f=c[45980]|0;e=e+248|0;a=0;d=0.0;while(1){if((a|0)>=(g|0))break;i=+h[f+(a*40|0)+24>>3]+ +(O(c[e>>2]|0,c[f+(a*40|0)+16>>2]|0)|0);j=+h[f+(a*40|0)+32>>3]+b;a=a+1|0;b=j;d=d<i?i:d}return +(d/b)}function Ek(a){a=a|0;var b=0;c[45983]=uH((ay(a)|0)<<2)|0;b=0;while(1){if((b|0)>=(ay(a)|0))break;c[(c[45983]|0)+(b<<2)>>2]=b;b=b+1|0}Fk(a);Hk(a);Ik(a);return}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0;c[45979]=0;b=c[45980]|0;if(b|0){e=0;while(1){if((e|0)>=(c[45981]|0))break;d=c[b+(e*40|0)+4>>2]|0;if(d){D_(d);b=c[45980]|0}d=c[b+(e*40|0)+8>>2]|0;if(d){D_(d);b=c[45980]|0}e=e+1|0}D_(b)}c[45980]=uH((c[45981]|0)*40|0)|0;b=0;while(1){d=c[45981]|0;if((b|0)>=(d|0))break;k=uH(d<<2)|0;c[(c[45980]|0)+(b*40|0)+4>>2]=k;k=uH(c[45981]<<2)|0;l=c[45980]|0;c[l+(b*40|0)+8>>2]=k;c[l+(b*40|0)>>2]=b;c[l+(b*40|0)+12>>2]=0;c[l+(b*40|0)+16>>2]=0;l=l+(b*40|0)+24|0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;b=b+1|0}e=Sy(a)|0;while(1){if(!e)break;d=Ex(a,e)|0;while(1){if(!d)break;i=c[d>>2]|0;f=d+-48|0;g=c[45980]|0;b=c[(c[(c[((i&3|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){b=b+1|0;if((b|0)>=(c[(c[(c[((i&3|0)==2?d:f)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=g+(b*40|0)+16|0;c[i>>2]=(c[i>>2]|0)+1;i=c[d>>2]|0}d=Gx(a,d)|0}e=Ty(a,e)|0}i=c[45981]|0;k=c[45982]|0;l=c[45980]|0;d=a+16|0;b=0;while(1){if((b|0)>=(i|0))break;e=(c[c[k+(b*24|0)>>2]>>2]|0)+16|0;f=c[(c[e>>2]|0)+232>>2]|0;if((f|0)>=(c[45979]|0))c[45979]=f+1;g=l+(f*40|0)+24|0;j=+h[g>>3];h[g>>3]=j+ +h[k+(b*24|0)+8>>3]*72.0+(j>0.0?+(c[(c[d>>2]|0)+248>>2]|0):0.0);g=l+(f*40|0)+32|0;j=+h[k+(b*24|0)+16>>3]*72.0;if(+h[g>>3]<j)h[g>>3]=j;c[(c[l+(f*40|0)+4>>2]|0)+(c[l+(f*40|0)+12>>2]<<2)>>2]=k+(b*24|0);a=l+((c[(c[e>>2]|0)+232>>2]|0)*40|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;b=b+1|0}return}function Gk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=c[45979]|0;l=c[45980]|0;j=0;b=0;a=0;while(1){if((j|0)>=(k|0))break;d=l+(j*40|0)|0;i=c[l+(j*40|0)+12>>2]|0;e=(b|0)==0;a:do if(i)if(!e){if((c[d>>2]|0)>(a|0)){f=l+(j*40|0)+4|0;d=0;while(1){if((d|0)>=(i|0))break a;g=c[(c[f>>2]|0)+(d<<2)>>2]|0;h=c[g+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;m=(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+232|0;c[m>>2]=(c[m>>2]|0)-b;e=e+1|0}d=d+1|0}}}else b=0;else{if(e)a=c[d>>2]|0;b=b+1|0}while(0);j=j+1|0}return}function Hk(a){a=a|0;var b=0;b=c[45983]|0;_0(b,ay(a)|0,4,63);return}function Ik(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0;j=c[45979]|0;k=c[45980]|0;g=c[45983]|0;i=0;while(1){if((i|0)>=(j|0)){e=0;d=0.0;break}e=c[g+(i<<2)>>2]|0;f=i+1|0;if((c[k+(e*40|0)+12>>2]|0)<2)i=f;else{l=4;break}}if((l|0)==4)if((j|0)>(f|0))d=+h[k+((c[g+(f<<2)>>2]|0)*40|0)+24>>3];else d=0.0;a:do if((i|0)!=(j|0)){_0(c[k+(e*40|0)+4>>2]|0,c[k+(e*40|0)+12>>2]|0,4,64);g=c[45980]|0;r=+h[g+(e*40|0)+24>>3];r=!(d<=r*.25)&!(d>=r*.75)?d:r*.5;s=c[g+(e*40|0)+12>>2]|0;q=b+16|0;n=0;o=0;d=0.0;f=0;p=0;while(1){if((p|0)>=(f+s|0))break a;do if(!(c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]|0)){l=c[(c[g+(e*40|0)+4>>2]|0)+(p<<2)>>2]|0;b=l+8|0;m=+h[b>>3]*72.0+d+(d>0.0?+(c[(c[q>>2]|0)+248>>2]|0):0.0);i=(o|0)!=0;if(!(i&!(m<=r))){j=i?n:l;i=i?o:1;d=m;break}j=n+4|0;k=l+4|0;i=0;while(1){if((i|0)<(c[j>>2]|0))g=0;else break;while(1){if((g|0)>=(c[k>>2]|0))break;a[(c[(ph(c[(c[n>>2]|0)+(i<<2)>>2]|0,c[(c[l>>2]|0)+(g<<2)>>2]|0,0)|0)+16>>2]|0)+112>>0]=1;g=g+1|0}i=i+1|0}g=c[45980]|0;c[(c[g+(e*40|0)+8>>2]|0)+(p<<2)>>2]=1;j=g+(e*40|0)+12|0;c[j>>2]=(c[j>>2]|0)+-1;j=g+(e*40|0)+16|0;c[j>>2]=(c[j>>2]|0)+1;j=g+(e*40|0)+24|0;h[j>>3]=+h[b>>3]*-72.0-+(c[(c[q>>2]|0)+248>>2]|0)+ +h[j>>3];j=n;i=o}else{j=n;i=o;f=f+1|0}while(0);n=j;o=i;p=p+1|0}}while(0);return}function Jk(a,b){a=a|0;b=b|0;a=Kk(c[a>>2]|0)|0;b=Kk(c[b>>2]|0)|0;return ((b|0)<(a|0)&1)-((b|0)>(a|0)&1)|0}function Kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[f>>2]|0))break;e=c[(c[a>>2]|0)+(d<<2)>>2]|0;g=ez(e)|0;e=Ex(g,e)|0;while(1){if(!e)break;e=Gx(g,e)|0;b=b+1|0}d=d+1|0}return b|0}function Lk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[45980]|0;e=+h[f+((c[b>>2]|0)*40|0)+24>>3];d=+h[f+((c[a>>2]|0)*40|0)+24>>3];return (e>d&1)-(e<d&1)|0}function Mk(a){a=a|0;var b=0;b=Sy(a)|0;while(1){if(!b)break;c[(c[b+16>>2]|0)+216>>2]=0;b=Ty(a,b)|0}return}function Nk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+32|0;f=g+16|0;e=g+8|0;d=g+20|0;c[d>>2]=5;a=xx(a,96579)|0;if(a|0?(c[e>>2]=g,c[e+4>>2]=d,(N1(a,87402,e)|0)>=1):0)Pw(0,87409,f)|0;c[b+24>>2]=0;c[b+32>>2]=0;l=g;return 0}function Ok(b){b=b|0;var d=0,e=0;d=c[46419]|0;if((((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0)?(QL(e)|0)<<24>>24==0:0)b=1;else b=0;return b|0}function Pk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;il(a);b=Sy(a)|0;while(1){if(!b)break;d=Ex(a,b)|0;while(1){if(!d)break;do if(((c[(c[d+16>>2]|0)+172>>2]|0)==0?(Ok(d)|0)==0:0)?(e=d+48|0,f=SL(c[((c[d>>2]&3|0)==3?d:e)+40>>2]|0)|0,g=d+-48|0,h=SL(c[((c[d>>2]&3|0)==2?d:g)+40>>2]|0)|0,(f|0)!=(h|0)):0){if((c[(c[f+16>>2]|0)+212>>2]|0)==0?(c[(c[h+16>>2]|0)+212>>2]|0)==0:0){i=fh(f,h)|0;if(!i){ph(f,h,d)|0;break}else{xh(d,i);break}}i=c[d>>2]&3;Qk(a,c[((i|0)==3?d:e)+40>>2]|0,c[((i|0)==2?d:g)+40>>2]|0,d)}while(0);d=Gx(a,d)|0}b=Ty(a,b)|0}return}function Qk(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[g>>2]&3;h=c[(c[((j|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)k=0;else k=(c[h+232>>2]|0)-(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)|0;h=c[(c[((j|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0;i=c[h+212>>2]|0;if(!i)h=0;else h=(c[(c[(c[(c[i+16>>2]|0)+264>>2]|0)+16>>2]|0)+232>>2]|0)-(c[h+232>>2]|0)|0;j=g+16|0;k=h+k+(e[(c[j>>2]|0)+170>>1]|0)|0;b=uh(b)|0;a[(c[b+16>>2]|0)+156>>0]=2;i=SL(d)|0;d=SL(f)|0;f=$i(b,i,(k|0)>0?0.0:+(0-k|0),(c[(c[j>>2]|0)+156>>2]|0)*10|0)|0;c[(c[($i(b,d,+(((k|0)>0?k:0)|0),c[(c[j>>2]|0)+156>>2]|0)|0)+16>>2]|0)+116>>2]=g;c[(c[f+16>>2]|0)+116>>2]=g;return}function Rk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=c[d>>2]&3;i=(j|0)==3?d:d+48|0;j=(j|0)==2?d:d+-48|0;j=c[(c[(c[((c[(c[(c[i+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[(c[j+40>>2]|0)+16>>2]|0)+232>>2]|0)?i:j)+40>>2]|0)+16>>2]|0)+232>>2]|0;i=d+16|0;d=(c[i>>2]|0)+172|0;if(c[d>>2]|0)qa(87498,87520,148,87529);c[d>>2]=f;h=(g|0)==0;do{d=c[i>>2]|0;if(h)g=c[f+16>>2]|0;else{g=c[f+16>>2]|0;k=g+168|0;b[k>>1]=(e[k>>1]|0)+(e[d+168>>1]|0)}k=g+154|0;b[k>>1]=(e[k>>1]|0)+(e[d+154>>1]|0);g=g+156|0;c[g>>2]=(c[g>>2]|0)+(c[d+156>>2]|0);d=f+-48|0;g=c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0;if((c[(c[g+16>>2]|0)+232>>2]|0)==(j|0))break;Sk(a,g);f=c[c[(c[(c[((c[f>>2]&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((f|0)!=0);return}function Sk(a,b){a=a|0;b=b|0;var d=0.0;d=+((c[(c[a+16>>2]|0)+248>>2]|0)/2|0|0);b=c[b+16>>2]|0;a=b+88|0;h[a>>3]=+h[a>>3]+d;b=b+96|0;h[b>>3]=+h[b>>3]+d;return}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0;if(((((a|0)!=0&(b|0)!=0?(e=c[a>>2]&3,d=c[b>>2]&3,(c[((e|0)==3?a:a+48|0)+40>>2]|0)==(c[((d|0)==3?b:b+48|0)+40>>2]|0)):0)?(c[((e|0)==2?a:a+-48|0)+40>>2]|0)==(c[((d|0)==2?b:b+-48|0)+40>>2]|0):0)?(c[(c[a+16>>2]|0)+96>>2]|0)==(c[(c[b+16>>2]|0)+96>>2]|0):0)?(wj(a,b)|0)!=0:0)a=1;else a=0;return a|0}function Uk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=b+16|0;d=c[r>>2]|0;c[d+192>>2]=0;c[d+232>>2]=0;il(b);d=1;while(1){e=c[r>>2]|0;if((d|0)>(c[e+180>>2]|0))break;jl(b,c[(c[e+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}h=Sy(b)|0;while(1){if(!h)break;g=Ex(b,h)|0;while(1){if(!g)break;d=c[g>>2]|0;e=(c[(c[((d&3|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+160|0;f=a[e>>0]|0;if(f<<24>>24<3){a[e>>0]=f+1<<24>>24;d=c[g>>2]|0}d=(c[(c[((d&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+160|0;e=a[d>>0]|0;if(e<<24>>24<3)a[d>>0]=e+1<<24>>24;g=Gx(b,g)|0}h=Ty(b,h)|0}m=Sy(b)|0;while(1){if(!m)break;if((c[(c[m+16>>2]|0)+212>>2]|0)==0?(m|0)==(SL(m)|0):0){qh(b,m);l=(c[r>>2]|0)+232|0;c[l>>2]=(c[l>>2]|0)+1}d=0;l=Ex(b,m)|0;while(1){if(!l)break;k=l+16|0;h=c[k>>2]|0;a:do if(!(c[h+172>>2]|0)){if(Vk(l)|0){if(!(Tk(d,l)|0)){Wk(b,l);d=l;break}e=c[(c[d+16>>2]|0)+172>>2]|0;if(e|0){Rk(b,l,e,0);lh(l);break}k=c[l>>2]&3;if((c[(c[(c[((k|0)==3?l:l+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)!=(c[(c[(c[((k|0)==2?l:l+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;xh(l,d);lh(l);break}if(d){i=c[l>>2]&3;e=l+48|0;f=c[((i|0)==3?l:e)+40>>2]|0;g=c[d>>2]&3;if((f|0)==(c[((g|0)==3?d:d+48|0)+40>>2]|0)?(n=c[((i|0)==2?l:l+-48|0)+40>>2]|0,(n|0)==(c[((g|0)==2?d:d+-48|0)+40>>2]|0)):0){if((c[(c[f+16>>2]|0)+232>>2]|0)==(c[(c[n+16>>2]|0)+232>>2]|0)){xh(l,d);lh(l);break}if(((c[h+96>>2]|0)==0?(o=d+16|0,(c[(c[o>>2]|0)+96>>2]|0)==0):0)?(wj(l,d)|0)!=0:0)if(!(a[191874]|0)){Rk(b,l,c[(c[o>>2]|0)+172>>2]|0,1);lh(l);break}else{a[(c[k>>2]|0)+112>>0]=6;break}else i=e}else i=e}else i=l+48|0;h=c[l>>2]&3;e=c[((h|0)==3?l:i)+40>>2]|0;j=l+-48|0;if((e|0)==(c[((h|0)==2?l:j)+40>>2]|0)){lh(l);d=l;break}e=SL(e)|0;f=SL(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)|0;h=c[l>>2]&3;if((c[((h|0)==3?l:i)+40>>2]|0)==(e|0)?(c[((h|0)==2?l:j)+40>>2]|0)==(f|0):0){g=c[(c[e+16>>2]|0)+232>>2]|0;h=c[(c[f+16>>2]|0)+232>>2]|0;if((g|0)==(h|0)){vh(b,l);d=l;break}if((h|0)>(g|0)){Xk(b,e,f,l);d=l;break}e=Rx(b,f,e,0,0)|0;do if(e|0?(p=c[e>>2]&3,q=c[((p|0)==2?e:e+-48|0)+40>>2]|0,(q|0)!=(c[((c[l>>2]&3|0)==2?l:j)+40>>2]|0)):0){f=e+16|0;if(!(c[(c[f>>2]|0)+172>>2]|0))Xk(b,c[((p|0)==3?e:e+48|0)+40>>2]|0,q,e);if((c[(c[k>>2]|0)+96>>2]|0)==0?(c[(c[f>>2]|0)+96>>2]|0)==0:0){if(!(wj(l,e)|0))break;if(!(a[191874]|0)){lh(l);Rk(b,l,c[(c[f>>2]|0)+172>>2]|0,1);break a}else{a[(c[k>>2]|0)+112>>0]=6;a[(c[f>>2]|0)+153>>0]=1;break a}}}while(0);d=c[l>>2]&3;Xk(b,c[((d|0)==2?l:j)+40>>2]|0,c[((d|0)==3?l:i)+40>>2]|0,l);d=l}}else d=l;while(0);l=Gx(b,l)|0}m=Ty(b,m)|0}if((ig(b)|0)!=(b|0)){d=c[(c[r>>2]|0)+216>>2]|0;if(!d)d=vH(4)|0;else d=xH(d,4)|0;r=c[r>>2]|0;c[r+216>>2]=d;c[d>>2]=c[r+192>>2]}return}function Vk(b){b=b|0;var d=0;d=c[b>>2]&3;if((a[(c[(c[((d|0)==3?b:b+48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7)b=1;else b=(a[(c[(c[((d|0)==2?b:b+-48|0)+40>>2]|0)+16>>2]|0)+159>>0]|0)==7&1;return b|0}function Wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=_k(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)|0;g=_k(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)|0;i=(c[(c[f+16>>2]|0)+232>>2]|0)>(c[(c[g+16>>2]|0)+232>>2]|0);e=i?f:g;f=i?g:f;g=f+16|0;i=e+16|0;a:do if((c[(c[g>>2]|0)+212>>2]|0)!=(c[(c[i>>2]|0)+212>>2]|0)){h=fh(f,e)|0;if(h|0){Rk(b,d,h,1);break}if((c[(c[g>>2]|0)+232>>2]|0)!=(c[(c[i>>2]|0)+232>>2]|0)){Xk(b,f,e,d);e=(c[d+16>>2]|0)+172|0;while(1){e=c[e>>2]|0;if(!e)break a;f=e+-48|0;if((c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+232>>2]|0)>(c[(c[i>>2]|0)+232>>2]|0))break a;a[(c[e+16>>2]|0)+112>>0]=5;e=c[(c[(c[((c[e>>2]&3|0)==2?e:f)+40>>2]|0)+16>>2]|0)+180>>2]|0}}}while(0);return}function Xk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;f=c[k>>2]|0;if(!(c[f+96>>2]|0))j=-1;else j=((c[(c[d+16>>2]|0)+232>>2]|0)+(c[(c[b+16>>2]|0)+232>>2]|0)|0)/2|0;if(c[f+172>>2]|0)qa(87541,87520,89,87566);i=d+16|0;h=c[(c[b+16>>2]|0)+232>>2]|0;while(1){g=h+1|0;f=c[(c[i>>2]|0)+232>>2]|0;if((h|0)>=(f|0))break;if((g|0)<(f|0)){if((g|0)==(j|0))f=Yk(a,e)|0;else f=Zk(a)|0;c[(c[f+16>>2]|0)+232>>2]=g}else f=d;Ki(ph(b,f,e)|0);h=g;b=f}if(!(c[(c[k>>2]|0)+172>>2]|0))qa(87577,87520,103,87566);else return}function Yk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0.0;i=d+16|0;g=c[(c[i>>2]|0)+96>>2]|0;e=+h[g+24>>3];f=+h[g+32>>3];g=uh(b)|0;d=g+16|0;c[(c[d>>2]|0)+104>>2]=c[(c[i>>2]|0)+96>>2];j=+(c[(c[(fz(g)|0)+16>>2]|0)+248>>2]|0);h[(c[d>>2]|0)+88>>3]=j;if(!(a[(c[i>>2]|0)+114>>0]|0)){b=(c[(c[(fz(b)|0)+16>>2]|0)+116>>2]&1|0)==0;i=c[d>>2]|0;h[i+80>>3]=b?f:e;h[i+96>>3]=b?e:f}return g|0}function Zk(a){a=a|0;var b=0;b=uh(a)|0;Sk(a,b);return b|0}function _k(b){b=b|0;var d=0;d=c[b+16>>2]|0;if((a[d+159>>0]|0)==7)b=c[(c[(c[(c[d+212>>2]|0)+16>>2]|0)+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;else b=SL(b)|0;return b|0}function $k(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;j=ig(a)|0;h=Sy(a)|0;while(1){if(!h)break;b=Jx(j,h)|0;i=0;while(1){if(!b)break;l=Kx(j,b,h)|0;if(oz(a,b)|0){k=i;b=l;i=k;continue}k=(c[b>>2]&3|0)==2?b:b+-48|0;m=(Tk(i,k)|0)==0;e=c[k>>2]&3;b=c[((e|0)==3?k:k+48|0)+40>>2]|0;d=c[(c[b+16>>2]|0)+232>>2]|0;e=c[((e|0)==2?k:k+-48|0)+40>>2]|0;f=c[(c[e+16>>2]|0)+232>>2]|0;g=(d|0)==(f|0);if(!m){c[(c[k+16>>2]|0)+172>>2]=g?i:0;b=c[(c[i+16>>2]|0)+172>>2]|0;if(!b){m=i;b=l;i=m;continue}Rk(a,k,b,0);mh(k);m=i;b=l;i=m;continue}if(!g)if((f|0)>(d|0)){al(b,e,k);b=l;i=k;continue}else{al(e,b,k);b=l;i=k;continue}b=hh(b,e)|0;if(!b){vh(j,k);b=l;i=k;continue}if((k|0)==(b|0)){m=i;b=l;i=m;continue}mh(k);if(c[(c[k+16>>2]|0)+172>>2]|0){m=i;b=l;i=m;continue}xh(k,b);m=i;b=l;i=m}h=Ty(a,h)|0}return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=bl(a)|0;e=bl(b)|0;cl(f,e,d,c[(c[d+16>>2]|0)+172>>2]|0,(f|0)==(a|0)&(e|0)==(b|0)?1:5);return}function bl(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;e=c[d+212>>2]|0;if((e|0)!=0?(f=c[e+16>>2]|0,(a[f+272>>0]|0)==0):0)b=c[(c[f+268>>2]|0)+(c[d+232>>2]<<2)>>2]|0;return b|0}function cl(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=d+16|0;k=c[(c[n>>2]|0)+232>>2]|0;o=e+16|0;i=c[(c[o>>2]|0)+232>>2]|0;if((i|0)<=(k|0))qa(87602,87630,81,87640);m=c[g>>2]&3;if(!((c[((m|0)==3?g:g+48|0)+40>>2]|0)==(d|0)?(c[((m|0)==2?g:g+-48|0)+40>>2]|0)==(e|0):0))l=5;a:do if((l|0)==5){if((b[(c[g+16>>2]|0)+168>>1]|0)>1){c[(c[f+16>>2]|0)+172>>2]=0;if(((i-k|0)==1?(j=fh(d,e)|0,j|0):0)?wj(f,j)|0:0){xh(f,j);if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}m=h&255;h=d;l=c[(c[n>>2]|0)+232>>2]|0;while(1){i=c[(c[o>>2]|0)+232>>2]|0;if((l|0)>=(i|0))break a;if((l|0)<(i+-1|0)){i=ig(d)|0;j=g+-48|0;i=dl(i,c[((c[g>>2]&3|0)==2?g:j)+40>>2]|0)|0;k=g}else{i=e;j=g+-48|0;k=g}a[(c[(ph(h,i,f)|0)+16>>2]|0)+112>>0]=m;n=(c[g+16>>2]|0)+168|0;b[n>>1]=(b[n>>1]|0)+-1<<16>>16;h=i;l=l+1|0;g=c[c[(c[(c[((c[k>>2]&3|0)==2?g:j)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}}do if((i-k|0)==1){g=fh(d,e)|0;if(g|0?wj(f,g)|0:0){c[(c[f+16>>2]|0)+172>>2]=g;m=c[g+16>>2]|0;a[m+112>>0]=h;m=m+168|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;if(a[(c[n>>2]|0)+156>>0]|0)break;if(a[(c[o>>2]|0)+156>>0]|0)break;lh(f);break}c[(c[f+16>>2]|0)+172>>2]=0;g=ph(d,e,f)|0;a[(c[g+16>>2]|0)+112>>0]=h}while(0);i=c[(c[o>>2]|0)+232>>2]|0;if((i-(c[(c[n>>2]|0)+232>>2]|0)|0)>1){if((c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)==(d|0))l=i;else{n=f+16|0;c[(c[n>>2]|0)+172>>2]=0;l=ph(d,c[((c[g>>2]&3|0)==2?g:g+-48|0)+40>>2]|0,f)|0;c[(c[n>>2]|0)+172>>2]=l;kh(g);g=l;l=c[(c[o>>2]|0)+232>>2]|0}while(1){i=c[g>>2]&3;j=c[((i|0)==2?g:g+-48|0)+40>>2]|0;k=c[j+16>>2]|0;if((c[k+232>>2]|0)==(l|0))break;g=c[c[k+180>>2]>>2]|0}if((j|0)!=(e|0)){a[(c[(ph(c[((i|0)==3?g:g+48|0)+40>>2]|0,e,f)|0)+16>>2]|0)+112>>0]=h;kh(g)}}}while(0);return}function dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=b+16|0;b=c[d>>2]|0;e=c[b+232>>2]|0;el(a,e,c[b+236>>2]|0,2);b=uh(a)|0;d=c[d>>2]|0;f=c[b+16>>2]|0;h[f+88>>3]=+h[d+88>>3];h[f+96>>3]=+h[d+96>>3];c[f+232>>2]=c[d+232>>2];d=(c[d+236>>2]|0)+1|0;c[f+236>>2]=d;c[(c[(c[(c[a+16>>2]|0)+196>>2]|0)+(e<<6)+4>>2]|0)+(d<<2)>>2]=b;return b|0}function el(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+16|0;f=c[(c[h>>2]|0)+196>>2]|0;i=c[f+(b<<6)+4>>2]|0;a:do if((e|0)<1){d=d-e|0;while(1){g=d+1|0;a=c[f+(b<<6)>>2]|0;if((g|0)>=(a|0))break;a=c[i+(g<<2)>>2]|0;f=d+e|0;c[(c[a+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=a;d=g;f=c[(c[h>>2]|0)+196>>2]|0}g=e+-1|0;d=g+a|0;while(1){if((d|0)>=(a|0))break a;c[i+(d<<2)>>2]=0;f=c[(c[h>>2]|0)+196>>2]|0;d=d+1|0;a=c[f+(b<<6)>>2]|0}}else{g=e+-1|0;a=c[f+(b<<6)>>2]|0;while(1){a=a+-1|0;if((a|0)<=(d|0))break;j=c[i+(a<<2)>>2]|0;f=g+a|0;c[(c[j+16>>2]|0)+236>>2]=f;c[i+(f<<2)>>2]=j}f=e+d|0;a=d;while(1){a=a+1|0;if((a|0)>=(f|0))break;c[i+(a<<2)>>2]=0}a=c[(c[h>>2]|0)+196>>2]|0;f=a;a=c[a+(b<<6)>>2]|0}while(0);c[f+(b<<6)>>2]=g+a;return}function fl(a){a=a|0;var b=0;Uk(a);b=c[a+16>>2]|0;c[b+220>>2]=1;c[c[b+216>>2]>>2]=c[b+192>>2];Hi(a);mi(a,0);gl(a);$k(a);hl(a);return}function gl(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=ig(d)|0;l=d+16|0;f=c[l>>2]|0;j=b[f+236>>1]|0;e=j<<16>>16;m=k+16|0;if(j<<16>>16>0)a[(c[(c[m>>2]|0)+196>>2]|0)+(e+-1<<6)+49>>0]=0;j=e;while(1){if((j|0)>(b[f+238>>1]|0))break;i=c[(c[(c[(c[f+268>>2]|0)+(j<<2)>>2]|0)+16>>2]|0)+236>>2]|0;el(k,j,i,c[(c[f+196>>2]|0)+(j<<6)>>2]|0);g=0;h=i;while(1){f=c[l>>2]|0;e=c[f+196>>2]|0;if((g|0)>=(c[e+(j<<6)>>2]|0))break;e=c[(c[e+(j<<6)+4>>2]|0)+(g<<2)>>2]|0;c[(c[(c[(c[m>>2]|0)+196>>2]|0)+(j<<6)+4>>2]|0)+(h<<2)>>2]=e;f=c[e+16>>2]|0;c[f+236>>2]=h;if((a[f+156>>0]|0)==1)c[e+24>>2]=fz(k)|0;sh(d,e);qh(k,e);f=(c[m>>2]|0)+232|0;c[f>>2]=(c[f>>2]|0)+1;g=g+1|0;h=h+1|0}h=c[(c[m>>2]|0)+196>>2]|0;c[e+(j<<6)+4>>2]=(c[h+(j<<6)+4>>2]|0)+(i<<2);a[h+(j<<6)+49>>0]=0;j=j+1|0}e=c[m>>2]|0;if((j|0)<(b[e+238>>1]|0))a[(c[e+196>>2]|0)+(j<<6)+49>>0]=0;a[f+272>>0]=1;return}function hl(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+16|0;d=c[i>>2]|0;h=b[d+236>>1]|0;while(1){if((h|0)>(b[d+238>>1]|0))break;f=c[(c[d+268>>2]|0)+(h<<2)>>2]|0;g=f+16|0;while(1){d=c[g>>2]|0;e=c[c[d+180>>2]>>2]|0;if(!e)break;kh(e)}while(1){d=c[c[d+172>>2]>>2]|0;if(!d)break;kh(d);d=c[g>>2]|0}sh(ig(a)|0,f);c[(c[(c[i>>2]|0)+268>>2]|0)+(h<<2)>>2]=0;h=h+1|0;d=c[i>>2]|0}return}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;f=Sy(b)|0;while(1){if(!f)break;e=f+16|0;d=c[e>>2]|0;if((a[d+159>>0]|0)==7){UL(f);d=c[e>>2]|0}c[d+212>>2]=0;f=Ty(b,f)|0}m=b+16|0;k=1;while(1){d=c[m>>2]|0;if((k|0)>(c[d+180>>2]|0))break;h=c[(c[d+184>>2]|0)+(k<<2)>>2]|0;i=h+16|0;d=Sy(h)|0;a:while(1){if(!d)break;j=Ty(h,d)|0;e=d+16|0;if(a[(c[e>>2]|0)+159>>0]|0){f=ry(d)|0;g=ry(b)|0;c[n>>2]=f;c[n+4>>2]=g;Pw(0,87649,n)|0;dz(h,d)|0;d=j;continue}VL(d,c[(c[i>>2]|0)+264>>2]|0);g=c[e>>2]|0;c[g+212>>2]=h;a[g+159>>0]=7;g=Ex(h,d)|0;while(1){if(!g){d=j;continue a}d=c[(c[g+16>>2]|0)+172>>2]|0;b:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break b;c[f+212>>2]=h;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(h,g)|0}}k=k+1|0}l=o;return}function jl(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=e+16|0;g=uH((b[(c[k>>2]|0)+238>>1]<<2)+8|0)|0;f=c[k>>2]|0;c[f+268>>2]=g;g=0;h=b[f+236>>1]|0;while(1){if((h|0)>(b[f+238>>1]|0))break;f=uh(d)|0;c[(c[(c[k>>2]|0)+268>>2]|0)+(h<<2)>>2]=f;j=c[f+16>>2]|0;c[j+232>>2]=h;a[j+159>>0]=7;c[j+212>>2]=e;if(g|0){j=(c[(ph(g,f,0)|0)+16>>2]|0)+154|0;b[j>>1]=(b[j>>1]|0)*1e3}g=f;h=h+1|0;f=c[k>>2]|0}j=Sy(e)|0;while(1){f=c[k>>2]|0;if(!j)break;h=(c[(c[f+268>>2]|0)+(c[(c[j+16>>2]|0)+232>>2]<<2)>>2]|0)+16|0;f=(c[h>>2]|0)+216|0;c[f>>2]=(c[f>>2]|0)+1;f=Ex(e,j)|0;while(1){if(!f)break;i=c[f>>2]|0;d=f+-48|0;g=c[(c[(c[((i&3|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0;while(1){if((g|0)>=(c[(c[(c[((i&3|0)==2?f:d)+40>>2]|0)+16>>2]|0)+232>>2]|0))break;i=(c[(c[c[(c[h>>2]|0)+180>>2]>>2]|0)+16>>2]|0)+168|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;g=g+1|0;i=c[f>>2]|0}f=Gx(e,f)|0}j=Ty(e,j)|0}d=b[f+238>>1]|0;i=f+268|0;f=b[f+236>>1]|0;while(1){if((f|0)>(d|0))break;g=(c[(c[(c[i>>2]|0)+(f<<2)>>2]|0)+16>>2]|0)+216|0;h=c[g>>2]|0;if((h|0)>1)c[g>>2]=h+-1;f=f+1|0}return}function kl(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=(c[(c[e+16>>2]|0)+212>>2]|0)+16|0;e=c[k>>2]|0;j=f+1|0;if((j|0)!=(a[e+273>>0]|0)){i=b[e+236>>1]|0;while(1){h=b[e+238>>1]|0;if((i|0)>(h<<16>>16|0))break;Bi(d,c[(c[e+268>>2]|0)+(i<<2)>>2]|0);i=i+1|0;e=c[k>>2]|0}i=b[e+236>>1]|0;while(1){if((i|0)>(h<<16>>16|0))break;Ci(g,c[(c[e+268>>2]|0)+(i<<2)>>2]|0,f);d=c[k>>2]|0;i=i+1|0;h=b[d+238>>1]|0;e=d}a[e+273>>0]=j}return}function ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=Sy(b)|0;while(1){if(!h)break;c[(c[h+16>>2]|0)+212>>2]=0;g=Ex(b,h)|0;while(1){if(!g)break;d=c[(c[g+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=d+-48|0;f=c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;c[f+212>>2]=0;d=c[c[(c[(c[((c[d>>2]&3|0)==2?d:e)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);g=Gx(b,g)|0}h=Ty(b,h)|0}ml(b);return}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=b+16|0;d=1;while(1){f=c[e>>2]|0;if((d|0)>(c[f+180>>2]|0))break;ml(c[(c[f+184>>2]|0)+(d<<2)>>2]|0);d=d+1|0}i=Sy(b)|0;while(1){if(!i)break;d=(c[i+16>>2]|0)+212|0;if(!(c[d>>2]|0))c[d>>2]=b;h=Ex(b,i)|0;while(1){if(!h)break;d=c[(c[h+16>>2]|0)+172>>2]|0;a:do if(d|0)do{e=c[d>>2]|0;g=d+-48|0;f=c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0;if((a[f+156>>0]|0)!=1)break a;f=f+212|0;if(!(c[f>>2]|0)){c[f>>2]=b;e=c[d>>2]|0}d=c[c[(c[(c[((e&3|0)==2?d:g)+40>>2]|0)+16>>2]|0)+180>>2]>>2]|0}while((d|0)!=0);while(0);h=Gx(b,h)|0}i=Ty(b,i)|0}return}function nl(a){a=a|0;var b=0,c=0,d=0;d=tM(a)|0;c=Sy(a)|0;while(1){if(!c)break;b=Ex(a,c)|0;while(1){if(!b)break;ol(b,d);b=Gx(a,b)|0}c=Ty(a,c)|0}yw(d)|0;return}\nfunction yH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;r=u+40|0;q=u+32|0;n=u+24|0;m=u;s=4;t=C_(40)|0;c[t>>2]=0;f=u+68|0;g=u+64|0;if(0){o=0;ka(62,a|0,f|0,g|0);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)!=1){j=c[15686]|0;i=c[f>>2]|0;f=c[g>>2]|0;o=0;c[m>>2]=99176;c[m+4>>2]=i;c[m+8>>2]=f;c[m+12>>2]=d;c[m+16>>2]=b;ca(29,j|0,99132,m|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){o=0;ha(1);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1)j=6;else{f=z;j=15}}else{f=z;j=15}}else{f=z;j=15}}else j=6;do if((j|0)==6){o=0;f=$(27,a|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)!=1){if(!f){o=0;ha(2);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}}if((d|0)<1){o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;break}else{c[46441]=(e|0)>-1?e:30;t=D3(185768,1,t|0,s|0)|0;s=z;o=0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;break}f=0;j=15;break}}else{f=z;j=15}}while(0);a:do if((j|0)==15){b:while(1){if(f|0){f=2;break a}o=0;ha(4);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}a=c[15686]|0;m=0;while(1){o=0;j=_(2)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}if(!j)break;o=0;f=$(28,j|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}o=0;ja(25,j|0,f|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}m=m+1|0;do if(((m|0)%100|0|0)==0&0!=0){f=(m|0)%1e3|0;if((f|0)==100){o=0;aa(91,99176,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;c[n>>2]=m;ca(29,a|0,99194,n|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}o=0;c[q>>2]=m;ca(29,a|0,99194,q|0)|0;g=o;o=0;if((g|0)!=0&(p|0)!=0){i=E3(c[g>>2]|0,t|0,s|0)|0;if(!i)bb(g|0,p|0);z=p}else i=-1;if((i|0)==1){f=z;j=15;continue b}if(!f){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}while(0);if((m|0)>=(d|0))break}switch(b|0){case 1:{o=0;ha(5);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}case 2:{o=0;ha(6);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}break}default:{o=0;ha(7);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}o=0;ha(3);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue b}}}if(!0){f=0;break a}if((m|0)>99){o=0;aa(92,10,a|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15;continue}}f=c[46481]|0;g=c[46482]|0;o=0;k=+X(1);i=o;o=0;if((i|0)!=0&(p|0)!=0){j=E3(c[i>>2]|0,t|0,s|0)|0;if(!j)bb(i|0,p|0);z=p}else j=-1;if((j|0)==1){f=z;j=15;continue}o=0;c[r>>2]=99176;c[r+4>>2]=f;c[r+8>>2]=g;c[r+12>>2]=m;h[r+16>>3]=k;ca(29,a|0,99198,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,t|0,s|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){f=z;j=15}else break}f=0}while(0);D_(t|0);l=u;return f|0}function zH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a=(c[a+16>>2]|0)+192|0;e=0;h=0;while(1){a=c[a>>2]|0;if(!a)break;g=c[a+16>>2]|0;f=c[g+180>>2]|0;a=0;while(1){if(!(c[f+(a<<2)>>2]|0))break;a=a+1|0;e=e+1|0}a=g+164|0;h=h+1|0}c[b>>2]=h;c[d>>2]=e;return}function AH(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;c[46484]=b;c[46491]=0;c[46482]=0;c[46481]=0;i=b+16|0;b=(c[i>>2]|0)+192|0;h=0;f=0;while(1){b=c[b>>2]|0;if(!b)break;g=c[b+16>>2]|0;a[g+157>>0]=0;h=h+1|0;c[46481]=h;d=c[g+180>>2]|0;b=0;while(1){if(!(c[d+(b<<2)>>2]|0))break;k=f+1|0;c[46482]=k;b=b+1|0;f=k}b=g+164|0}b=c[46492]|0;if(!b)b=vH(h<<2)|0;else b=xH(b,h<<2)|0;c[46492]=b;c[46493]=0;b=c[46486]|0;if(!b)b=vH(c[46481]<<2)|0;else b=xH(b,c[46481]<<2)|0;c[46486]=b;c[46485]=0;d=1;b=(c[i>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;k=b+16|0;i=c[k>>2]|0;j=i+292|0;c[j>>2]=0;i=c[i+172>>2]|0;h=d;g=0;b=0;while(1){d=c[i+(g<<2)>>2]|0;if(!d)break;f=b+1|0;c[j>>2]=f;b=c[d+16>>2]|0;c[b+160>>2]=0;c[b+164>>2]=-1;if(!h)b=0;else{l=c[d>>2]&3;b=((c[(c[(c[((l|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((l|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)<(e[b+170>>1]|0|0)?0:h}h=b;g=g+1|0;b=f}b=uH((g<<2)+4|0)|0;d=c[k>>2]|0;c[d+264>>2]=b;c[d+268>>2]=0;d=c[d+180>>2]|0;b=0;do{l=b;b=b+1|0}while((c[d+(l<<2)>>2]|0)!=0);d=uH(b<<2)|0;b=c[k>>2]|0;c[b+272>>2]=d;c[b+276>>2]=0;d=h;b=b+164|0}return d|0}function BH(){var a=0,b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o+8|0;k=o;m=GL(c[46481]|0)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b){j=0;break}d=b+16|0;a=c[d>>2]|0;if(!(c[a+292>>2]|0)){IL(m,b);a=c[d>>2]|0}a=a+164|0}while(1){a=JL(m)|0;if(!a)break;i=a+16|0;a=c[i>>2]|0;f=a+232|0;c[f>>2]=0;d=c[a+172>>2]|0;b=0;h=0;while(1){g=c[d+(b<<2)>>2]|0;if(!g){f=0;break}g=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[(c[g+16>>2]|0)+170>>1]|0)|0;g=(h|0)>(g|0)?h:g;c[f>>2]=g;b=b+1|0;h=g}while(1){b=c[(c[a+180>>2]|0)+(f<<2)>>2]|0;if(!b)break;d=b+-48|0;g=(c[(c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0)+16>>2]|0)+292|0;h=c[g>>2]|0;c[g>>2]=h+-1;if((h|0)<2){IL(m,c[((c[b>>2]&3|0)==2?b:d)+40>>2]|0);a=c[i>>2]|0}f=f+1|0}j=j+1|0}a:do if((j|0)!=(c[46481]|0)){Pw(1,99530,k)|0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break a;d=b+16|0;a=c[d>>2]|0;if(c[a+292>>2]|0){k=ry(b)|0;a=c[(c[d>>2]|0)+292>>2]|0;c[n>>2]=k;c[n+4>>2]=a;Pw(3,99552,n)|0;a=c[d>>2]|0}a=a+164|0}}while(0);HL(m);l=o;return}function CH(){var b=0,d=0,e=0;b=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[b>>2]|0;if(!b)break;e=b+16|0;b=c[e>>2]|0;d=c[b+264>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[e>>2]|0}a[b+157>>0]=0;b=b+164|0}return}function DH(){var a=0,b=0,d=0,e=0,f=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){a=c[a>>2]|0;if(!a)break;a=c[a+16>>2]|0;c[a+280>>2]=0;a=a+164|0}f=uH(c[46481]<<2)|0;e=0;a=(c[(c[46484]|0)+16>>2]|0)+192|0;while(1){b=c[a>>2]|0;if(!b)break;d=b+16|0;a=c[d>>2]|0;if(!(c[a+280>>2]|0)){c[f+(e<<2)>>2]=QH(b)|0;b=e+1|0;a=c[d>>2]|0}else b=e;e=b;a=a+164|0}a=RH(f,e)|0;while(1){if((SH(a)|0)<=1)break;WH(a,c[(VH(UH(TH(a)|0)|0)|0)+8>>2]|0)}D_(a);a=0;while(1){if((a|0)>=(e|0))break;D_(c[f+(a<<2)>>2]|0);a=a+1|0}D_(f);if((c[46485]|0)==((c[46481]|0)+-1|0)){XH();return}else qa(99275,99305,523,99310)}function EH(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=c[46491]|0;f=c[46485]|0;j=c[46486]|0;k=c[46441]|0;b=0;a=0;g=i;while(1){if((g|0)>=(f|0)){h=8;break}e=c[j+(g<<2)>>2]|0;d=c[(c[e+16>>2]|0)+160>>2]|0;if((d|0)<0){if(!a)a=e;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(d|0)?e:a;b=b+1|0;if((b|0)>=(k|0))break}e=g+1|0;c[46491]=e;g=e}if((h|0)==8)if((i|0)>0){f=0;while(1){if((f|0)>=(i|0))break;d=c[j+(f<<2)>>2]|0;e=c[(c[d+16>>2]|0)+160>>2]|0;if((e|0)<0){if(!a)a=d;else a=(c[(c[a+16>>2]|0)+160>>2]|0)>(e|0)?d:a;b=b+1|0;if((b|0)>=(k|0))break}f=f+1|0}c[46491]=f}return a|0}function FH(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;a=c[((b|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[d+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0);a=b?d:a;c[46487]=0;c[46488]=2147483647;d=c[a+16>>2]|0;c[46489]=c[d+284>>2];c[46490]=c[d+288>>2];if(b)PH(a);else OH(a);return c[46487]|0}function GH(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;n=o;g=c[b>>2]&3;m=b+-48|0;j=b+48|0;k=b+16|0;g=(c[(c[(c[((g|0)==2?b:m)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((g|0)==3?b:j)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[k>>2]|0)+170>>1]|0)|0;do if((g|0)>0){d=c[a>>2]&3;h=c[((d|0)==3?a:a+48|0)+40>>2]|0;i=c[h+16>>2]|0;if(((c[i+276>>2]|0)+(c[i+268>>2]|0)|0)==1){KH(h,g);break}d=c[((d|0)==2?a:a+-48|0)+40>>2]|0;f=c[d+16>>2]|0;if(((c[f+276>>2]|0)+(c[f+268>>2]|0)|0)==1){KH(d,0-g|0);break}if((c[i+288>>2]|0)<(c[f+288>>2]|0)){KH(h,g);break}else{KH(d,0-g|0);break}}while(0);d=a+16|0;f=c[(c[d>>2]|0)+160>>2]|0;g=c[b>>2]&3;g=LH(c[((g|0)==3?b:j)+40>>2]|0,c[((g|0)==2?b:m)+40>>2]|0,f,1)|0;i=c[b>>2]&3;if((LH(c[((i|0)==2?b:m)+40>>2]|0,c[((i|0)==3?b:j)+40>>2]|0,f,0)|0)==(g|0)){c[(c[k>>2]|0)+160>>2]=0-f;c[(c[d>>2]|0)+160>>2]=0;MH(a,b);n=c[g+16>>2]|0;NH(g,c[n+280>>2]|0,c[n+284>>2]|0)|0;l=o;return}else{Pw(1,99236,n)|0;bb(185768,1)}}function HH(){var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;JH();m=uH((c[46483]<<2)+4|0)|0;d=c[46483]|0;b=0;while(1){if((b|0)>(d|0))break;c[m+(b<<2)>>2]=0;b=b+1|0}b=(c[(c[46484]|0)+16>>2]|0)+192|0;d=b;while(1){d=c[d>>2]|0;if(!d)break;d=c[d+16>>2]|0;if(!(a[d+156>>0]|0)){l=m+(c[d+232>>2]<<2)|0;c[l>>2]=(c[l>>2]|0)+1}d=d+164|0}while(1){b=c[b>>2]|0;if(!b)break;l=b+16|0;b=c[l>>2]|0;if(!(a[b+156>>0]|0)){h=c[46483]|0;f=c[b+172>>2]|0;k=0;j=0;d=0;while(1){g=c[f+(d<<2)>>2]|0;if(!g)break;n=c[g+16>>2]|0;i=(c[(c[(c[((c[g>>2]&3|0)==3?g:g+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)+(e[n+170>>1]|0)|0;k=(c[n+156>>2]|0)+k|0;j=(j|0)>(i|0)?j:i;d=d+1|0}g=c[b+180>>2]|0;i=0;d=0;while(1){f=c[g+(d<<2)>>2]|0;if(!f)break;o=c[f+16>>2]|0;n=(c[(c[(c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[o+170>>1]|0)|0;i=(c[o+156>>2]|0)+i|0;h=(h|0)<(n|0)?h:n;d=d+1|0}d=(j|0)>0?j:0;if((k|0)==(i|0)){g=d;f=d;while(1){d=f+1|0;if((f|0)>=(h|0))break;g=(c[m+(d<<2)>>2]|0)<(c[m+(g<<2)>>2]|0)?d:g;f=d}o=b+232|0;n=m+(c[o>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+-1;n=m+(g<<2)|0;c[n>>2]=(c[n>>2]|0)+1;c[o>>2]=g}d=c[b+264>>2]|0;if(d){D_(d);b=c[l>>2]|0}d=c[b+272>>2]|0;if(d){D_(d);b=c[l>>2]|0}a[b+157>>0]=0}b=b+164|0}D_(m);return}function IH(){var a=0,b=0,d=0,f=0,g=0,h=0;b=0;while(1){if((b|0)>=(c[46485]|0))break;a=c[(c[46486]|0)+(b<<2)>>2]|0;do if(((c[(c[a+16>>2]|0)+160>>2]|0)==0?(d=FH(a)|0,d|0):0)?(f=c[d>>2]&3,f=(c[(c[(c[((f|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((f|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0,(f|0)>=2):0){h=c[a>>2]&3;g=c[((h|0)==3?a:a+48|0)+40>>2]|0;a=c[((h|0)==2?a:a+-48|0)+40>>2]|0;if((c[(c[g+16>>2]|0)+288>>2]|0)<(c[(c[a+16>>2]|0)+288>>2]|0)){KH(g,f>>>1);break}else{KH(a,(f|0)/-2|0);break}}while(0);b=b+1|0}CH();return}function JH(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i;c[h>>2]=0;c[h>>2]=2147483647;c[46483]=-2147483647;b=(c[(c[46484]|0)+16>>2]|0)+192|0;e=b;g=2147483647;f=-2147483647;while(1){d=c[e>>2]|0;if(!d)break;e=c[d+16>>2]|0;if(!(a[e+156>>0]|0)){j=c[e+232>>2]|0;d=(g|0)<(j|0)?g:j;c[h>>2]=d;f=(f|0)>(j|0)?f:j;c[46483]=f}else d=g;e=e+164|0;g=d}if(g|0){while(1){b=c[b>>2]|0;if(!b)break;b=c[b+16>>2]|0;j=b+232|0;c[j>>2]=(c[j>>2]|0)-g;b=b+164|0}c[46483]=f-g;c[h>>2]=0}l=i;return}function KH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;e=a+232|0;c[e>>2]=(c[e>>2]|0)-b;e=0;while(1){d=c[(c[a+272>>2]|0)+(e<<2)>>2]|0;if(!d){e=0;break}if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(c[a+280>>2]|0)){KH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,b);a=c[f>>2]|0}e=e+1|0}return}function LH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(e|0)==0&1;h=0-d|0;f=c[(c[b+16>>2]|0)+288>>2]|0;b=a;while(1){a=c[b+16>>2]|0;if((c[a+284>>2]|0)<=(f|0)?(f|0)<=(c[a+288>>2]|0):0)break;a=c[a+280>>2]|0;i=a+48|0;j=(c[a+16>>2]|0)+160|0;c[j>>2]=(((b|0)==(c[((c[a>>2]&3|0)==3?a:i)+40>>2]|0)?e:g)|0?d:h)+(c[j>>2]|0);j=c[a>>2]&3;i=c[((j|0)==3?a:i)+40>>2]|0;a=c[((j|0)==2?a:a+-48|0)+40>>2]|0;b=(c[(c[i+16>>2]|0)+288>>2]|0)>(c[(c[a+16>>2]|0)+288>>2]|0)?i:a}return b|0}function MH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+16|0;e=(c[i>>2]|0)+164|0;c[(c[b+16>>2]|0)+164>>2]=c[e>>2];c[(c[46486]|0)+(c[e>>2]<<2)>>2]=b;c[(c[i>>2]|0)+164>>2]=-1;i=(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+276|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+272|0;h=0;while(1){if((h|0)>=(f|0)){k=3;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==3)d=c[e+272>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+272>>2]|0)+(j<<2)>>2]=0;i=(c[((c[a>>2]&3|0)==2?a:a+-48|0)+40>>2]|0)+16|0;e=c[i>>2]|0;g=e+268|0;f=c[g>>2]|0;j=f+-1|0;c[g>>2]=j;g=e+264|0;h=0;while(1){if((h|0)>=(f|0)){k=8;break}d=c[g>>2]|0;if((c[d+(h<<2)>>2]|0)==(a|0))break;h=h+1|0}if((k|0)==8)d=c[e+264>>2]|0;c[d+(h<<2)>>2]=c[d+(j<<2)>>2];c[(c[(c[i>>2]|0)+264>>2]|0)+(j<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)+16|0;a=c[k>>2]|0;j=c[a+272>>2]|0;a=a+276|0;i=c[a>>2]|0;c[a>>2]=i+1;c[j+(i<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+272>>2]|0)+(c[k+276>>2]<<2)>>2]=0;k=(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)+16|0;i=c[k>>2]|0;j=c[i+264>>2]|0;i=i+268|0;a=c[i>>2]|0;c[i>>2]=a+1;c[j+(a<<2)>>2]=b;k=c[k>>2]|0;c[(c[k+264>>2]|0)+(c[k+268>>2]<<2)>>2]=0;return}function NH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|0;c[a+280>>2]=b;c[a+284>>2]=d;f=0;while(1){e=c[(c[a+272>>2]|0)+(f<<2)>>2]|0;if(!e){f=0;break}if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}while(1){e=c[(c[a+264>>2]|0)+(f<<2)>>2]|0;if(!e)break;if((e|0)!=(b|0)){d=NH(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0,e,d)|0;a=c[g>>2]|0}f=f+1|0}c[a+288>>2]=d;return d+1|0}function OH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+180>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[b+232>>2]|0)-(c[(c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))OH(b)}g=g+1|0}while(1){b=c[(c[a+264>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){OH(b);a=c[i>>2]|0}d=d+1|0}return}function PH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;g=0;while(1){a=c[i>>2]|0;d=c[(c[a+172>>2]|0)+(g<<2)>>2]|0;if(!d){d=0;break}f=c[d+16>>2]|0;if((c[f+164>>2]|0)<0){a=c[d>>2]&3;b=c[(c[((a|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0;j=c[b+288>>2]|0;if((c[46489]|0)>(j|0)|(j|0)>(c[46490]|0)?(h=(c[(c[(c[((a|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[b+232>>2]|0)-(e[f+170>>1]|0)|0,(h|0)<(c[46488]|0)|(c[46487]|0)==0):0){c[46487]=d;c[46488]=h}}else{b=c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0))PH(b)}g=g+1|0}while(1){b=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!((b|0)!=0&(c[46488]|0)>0))break;b=c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0;if((c[(c[b+16>>2]|0)+288>>2]|0)<(c[a+288>>2]|0)){PH(b);a=c[i>>2]|0}d=d+1|0}return}function QH(a){a=a|0;var b=0;b=uH(16)|0;c[b>>2]=a;c[b+4>>2]=eI(a,b)|0;c[b+12>>2]=b;return b|0}function RH(a,b){a=a|0;b=b|0;var d=0,e=0;e=uH(8)|0;c[e>>2]=a;c[e+4>>2]=b;d=0;while(1){if((d|0)>=(b|0))break;c[(c[a+(d<<2)>>2]|0)+8>>2]=d;d=d+1|0}d=(b|0)/2|0;while(1){if((d|0)<=-1)break;WH(e,d);d=d+-1|0}return e|0}function SH(a){a=a|0;return c[a+4>>2]|0}function TH(a){a=a|0;var b=0,d=0,e=0,f=0;f=c[a>>2]|0;b=c[f>>2]|0;c[b+8>>2]=-1;d=a+4|0;e=(c[d>>2]|0)+-1|0;c[f>>2]=c[f+(e<<2)>>2];f=c[a>>2]|0;c[(c[f>>2]|0)+8>>2]=0;c[f+(e<<2)>>2]=b;c[d>>2]=e;WH(a,0);return b|0}function UH(a){a=a|0;return dI(c[a>>2]|0,0,0)|0}function VH(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0;b=a+16|0;if((c[(c[b>>2]|0)+164>>2]|0)>-1)qa(99324,99305,463,99338);g=a+48|0;d=$H(c[((c[a>>2]&3|0)==3?a:g)+40>>2]|0)|0;i=a+-48|0;f=$H(c[((c[a>>2]&3|0)==2?a:i)+40>>2]|0)|0;h=c[a>>2]&3;b=(c[(c[(c[((h|0)==2?a:i)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?a:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[b>>2]|0)+170>>1]|0)|0;if((c[d+8>>2]|0)==-1)aI(c[d>>2]|0,0,b);else aI(c[f>>2]|0,0,0-b|0);bI(a);return cI(d,f)|0}function WH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c[a+4>>2]|0;while(1){a=b<<1;f=a+2|0;a=a|1;if(!((a|0)<(g|0)?(c[(c[h+(a<<2)>>2]|0)+4>>2]|0)<(c[(c[h+(b<<2)>>2]|0)+4>>2]|0):0))a=b;if((f|0)>=(g|0))break;d=h+(f<<2)|0;e=c[d>>2]|0;if((f|0)==(b|0)?1:(c[e+4>>2]|0)>=(c[(c[h+(a<<2)>>2]|0)+4>>2]|0))break;i=h+(b<<2)|0;a=c[i>>2]|0;c[i>>2]=e;c[d>>2]=a;c[(c[i>>2]|0)+8>>2]=b;c[a+8>>2]=f;b=f}return}function XH(){NH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0,1)|0;YH(c[(c[(c[46484]|0)+16>>2]|0)+192>>2]|0,0);return}function YH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;d=0;while(1){a=c[f>>2]|0;e=c[(c[a+272>>2]|0)+(d<<2)>>2]|0;if(!e){e=0;break}if((e|0)!=(b|0))YH(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,e);d=d+1|0}while(1){d=c[(c[a+264>>2]|0)+(e<<2)>>2]|0;if(!d)break;if((d|0)!=(b|0)){YH(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0,d);a=c[f>>2]|0}e=e+1|0}if(b|0)ZH(b);return}function ZH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>>2]|0;e=c[d+16>>2]|0;if((c[e+280>>2]|0)==(a|0))i=1;else{e=c[((b|0)==2?a:a+-48|0)+40>>2]|0;i=-1;d=e;e=c[e+16>>2]|0}g=c[e+180>>2]|0;b=0;f=0;while(1){h=c[g+(f<<2)>>2]|0;if(!h)break;b=(_H(h,d,i)|0)+b|0;f=f+1|0}g=c[e+172>>2]|0;e=0;while(1){f=c[g+(e<<2)>>2]|0;if(!f)break;b=(_H(f,d,i)|0)+b|0;e=e+1|0}c[(c[a+16>>2]|0)+160>>2]=b;return}function _H(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3;i=(h|0)==3?a:a+48|0;e=c[i+40>>2]|0;if((e|0)==(b|0))e=c[((h|0)==2?a:a+-48|0)+40>>2]|0;g=c[b+16>>2]|0;f=c[(c[e+16>>2]|0)+288>>2]|0;if((c[g+284>>2]|0)<=(f|0)?(f|0)<=(c[g+288>>2]|0):0){f=c[a+16>>2]|0;if((c[f+164>>2]|0)>-1)e=c[f+160>>2]|0;else e=0;g=1;e=e-(c[f+156>>2]|0)|0}else{g=0;e=c[(c[a+16>>2]|0)+156>>2]|0}i=(c[((d|0)>0?((h|0)==2?a:a+-48|0):i)+40>>2]|0)==(b|0)?1:-1;return (((g?i:0-i|0)|0)<0?0-e|0:e)|0}function $H(a){a=a|0;var b=0,d=0;a=c[(c[a+16>>2]|0)+280>>2]|0;while(1){b=a+12|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[d+12>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function aI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;e=c[h>>2]|0;g=e+232|0;c[g>>2]=(c[g>>2]|0)+d;g=0;while(1){f=c[(c[e+264>>2]|0)+(g<<2)>>2]|0;if(!f){g=0;break}f=c[((c[f>>2]&3|0)==3?f:f+48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}while(1){f=c[(c[e+272>>2]|0)+(g<<2)>>2]|0;if(!f)break;f=c[((c[f>>2]&3|0)==2?f:f+-48|0)+40>>2]|0;if((f|0)!=(b|0)){aI(f,a,d);e=c[h>>2]|0}g=g+1|0}return}function bI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=(c[b+16>>2]|0)+164|0;if((c[d>>2]|0)>-1){Pw(1,99427,h)|0;bb(185768,1)}g=c[46485]|0;c[d>>2]=g;d=c[46486]|0;c[46485]=g+1;c[d+(g<<2)>>2]=b;d=c[b>>2]|0;g=b+48|0;e=c[((d&3|0)==3?b:g)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){f=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[f+(d<<2)>>2]=e;d=c[b>>2]|0}f=b+-48|0;e=c[((d&3|0)==2?b:f)+40>>2]|0;if(!(a[(c[e+16>>2]|0)+157>>0]|0)){i=c[46492]|0;d=c[46493]|0;c[46493]=d+1;c[i+(d<<2)>>2]=e;d=c[b>>2]|0}i=(c[((d&3|0)==3?b:g)+40>>2]|0)+16|0;d=c[i>>2]|0;a[d+157>>0]=1;e=c[d+272>>2]|0;d=d+276|0;g=c[d>>2]|0;c[d>>2]=g+1;c[e+(g<<2)>>2]=b;g=c[i>>2]|0;c[(c[g+272>>2]|0)+(c[g+276>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+180>>2]|0)+((c[i+276>>2]|0)+-1<<2)>>2]|0)){Pw(1,99461,h+8|0)|0;bb(185768,1)}i=(c[((c[b>>2]&3|0)==2?b:f)+40>>2]|0)+16|0;e=c[i>>2]|0;a[e+157>>0]=1;f=c[e+264>>2]|0;e=e+268|0;g=c[e>>2]|0;c[e>>2]=g+1;c[f+(g<<2)>>2]=b;b=c[i>>2]|0;c[(c[b+264>>2]|0)+(c[b+268>>2]<<2)>>2]=0;i=c[i>>2]|0;if(!(c[(c[i+172>>2]|0)+((c[i+268>>2]|0)+-1<<2)>>2]|0)){Pw(1,99496,h+16|0)|0;bb(185768,1)}else{l=h;return}}function cI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;while(1){g=a+12|0;d=c[g>>2]|0;if((d|0)==0|(d|0)==(a|0))break;else a=d}while(1){f=b+12|0;d=c[f>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else b=d}if((a|0)!=(b|0)){e=c[a+8>>2]|0;d=c[b+8>>2]|0;do if((e|0)>-1)if((d|0)==-1)h=a;else j=10;else if((d|0)>-1)if((e|0)==-1){h=b;break}else{j=10;break}else qa(99350,99305,327,99397);while(0);if((j|0)==10)h=(c[b+4>>2]|0)<(c[a+4>>2]|0)?a:b;c[f>>2]=h;c[g>>2]=h;c[h+4>>2]=(c[b+4>>2]|0)+(c[a+4>>2]|0);if((c[h+8>>2]|0)>-1)i=h;else qa(99408,99305,335,99397)}else i=a;return i|0}function dI(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=$H(a)|0;if(d){k=c[d>>2]&3;if(((c[(c[(c[((k|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((k|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)!=(e[(c[d+16>>2]|0)+170>>1]|0|0))f=3}else{d=0;f=3}a:do if((f|0)==3){k=a+16|0;j=0;while(1){f=c[k>>2]|0;i=c[(c[f+180>>2]|0)+(j<<2)>>2]|0;if(!i){j=0;break}f=i+16|0;g=i+-48|0;h=c[((c[i>>2]&3|0)==2?i:g)+40>>2]|0;do if((c[(c[f>>2]|0)+164>>2]|0)>-1){if((h|0)!=(b|0))d=dI(h,a,d)|0}else if(($H(h)|0)!=(l|0)){if(d|0?(m=c[i>>2]&3,h=c[d>>2]&3,((c[(c[(c[((m|0)==2?i:g)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?i:i+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[f>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((h|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((h|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=i}while(0);j=j+1|0}while(1){f=c[(c[f+172>>2]|0)+(j<<2)>>2]|0;if(!f)break a;g=f+16|0;h=f+48|0;i=c[((c[f>>2]&3|0)==3?f:h)+40>>2]|0;do if((c[(c[g>>2]|0)+164>>2]|0)>-1){if((i|0)!=(b|0))d=dI(i,a,d)|0}else if(($H(i)|0)!=(l|0)){if(d|0?(i=c[f>>2]&3,m=c[d>>2]&3,((c[(c[(c[((i|0)==2?f:f+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((i|0)==3?f:h)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[g>>2]|0)+170>>1]|0)|0)>=((c[(c[(c[((m|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[(c[(c[((m|0)==3?d:d+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(e[(c[d+16>>2]|0)+170>>1]|0)|0)):0)break;d=f}while(0);j=j+1|0;f=c[k>>2]|0}}while(0);return d|0}function eI(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=a+16|0;d=c[l>>2]|0;c[d+280>>2]=b;a=1;h=0;while(1){g=c[(c[d+172>>2]|0)+(h<<2)>>2]|0;if(!g){h=0;break}f=c[g+16>>2]|0;if(((c[f+164>>2]|0)<=-1?(i=c[g>>2]&3,j=g+48|0,k=c[(c[((i|0)==3?g:j)+40>>2]|0)+16>>2]|0,(c[k+280>>2]|0)==0):0)?((c[(c[(c[((i|0)==2?g:g+-48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)-(c[k+232>>2]|0)|0)==(e[f+170>>1]|0|0):0){bI(g);a=(eI(c[((c[g>>2]&3|0)==3?g:j)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}while(1){f=c[(c[d+180>>2]|0)+(h<<2)>>2]|0;if(!f)break;g=c[f+16>>2]|0;if(((c[g+164>>2]|0)<=-1?(m=c[f>>2]&3,n=f+-48|0,o=c[(c[((m|0)==2?f:n)+40>>2]|0)+16>>2]|0,(c[o+280>>2]|0)==0):0)?((c[o+232>>2]|0)-(c[(c[(c[((m|0)==3?f:f+48|0)+40>>2]|0)+16>>2]|0)+232>>2]|0)|0)==(e[g+170>>1]|0|0):0){bI(f);a=(eI(c[((c[f>>2]&3|0)==2?f:n)+40>>2]|0,b)|0)+a|0;d=c[l>>2]|0}h=h+1|0}return a|0}function fI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=xx(a,99560)|0;if(!d)d=30;else d=a2(d)|0;return yH(a,b,c,d)|0}function gI(a){a=+a;return +((c[46369]|0)==0?a:+h[22916]-a)}function hI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0;r=l;l=l+16|0;q=r;c[46494]=c[(c[(c[d+64>>2]|0)+8>>2]|0)+4>>2];iI(d);i=c[d+16>>2]|0;t=+h[i+32>>3];s=+h[i+40>>3];jI(e,99571,+h[b+352>>3]);jI(e,99578,t*.013888888888888888);jI(e,99578,s*.013888888888888888);kI(e);i=Sy(d)|0;while(1){if(!i)break;g=i+16|0;if(!(a[(c[g>>2]|0)+118>>0]|0)){lI(e,99580,JA(ry(i)|0)|0);p=(c[g>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=c[p+4>>2];c[q+8>>2]=c[p+8>>2];c[q+12>>2]=c[p+12>>2];mI(e,q);if(!(a[(c[(c[g>>2]|0)+104>>2]|0)+82>>0]|0)){b=ez(i)|0;b=nI(b,c[c[(c[g>>2]|0)+104>>2]>>2]|0)|0}else b=JA(yx(i,c[46384]|0)|0)|0;jI(e,99578,+h[(c[g>>2]|0)+32>>3]);jI(e,99578,+h[(c[g>>2]|0)+40>>3]);lI(e,99578,b);lI(e,99578,OL(i,c[46387]|0,108041)|0);lI(e,99578,c[c[(c[g>>2]|0)+8>>2]>>2]|0);lI(e,99578,OL(i,c[46378]|0,134232)|0);b=OL(i,c[46379]|0,191979)|0;if(!(a[b>>0]|0))b=OL(i,c[46378]|0,131718)|0;lI(e,99578,b);kI(e)}i=Ty(d,i)|0}o=f<<24>>24==0;n=Sy(d)|0;while(1){if(!n)break;m=Ex(d,n)|0;while(1){if(!m)break;if(o){f=191979;j=191979}else{j=xx(m,108373)|0;f=xx(m,108382)|0;f=f|0?f:191979;j=j|0?j:191979}p=m+16|0;b=c[p>>2]|0;k=c[b+8>>2]|0;a:do if(k){i=c[k+4>>2]|0;b=0;g=0;while(1){if((b|0)>=(i|0))break;u=(c[(c[k>>2]|0)+(b*48|0)+4>>2]|0)+g|0;b=b+1|0;g=u}lI(e,0,108368);oI(e,c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0,j);oI(e,c[((c[m>>2]&3|0)==2?m:m+-48|0)+40>>2]|0,f);pI(e,g);f=0;while(1){b=c[p>>2]|0;g=c[b+8>>2]|0;if((f|0)>=(c[g+4>>2]|0))break a;i=c[g>>2]|0;g=c[i+(f*48|0)>>2]|0;i=c[i+(f*48|0)+4>>2]|0;b=0;while(1){if((b|0)>=(i|0))break;u=g+(b<<4)|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];mI(e,q);b=b+1|0}f=f+1|0}}while(0);if(c[b+96>>2]|0){u=ez(c[((c[m>>2]&3|0)==3?m:m+48|0)+40>>2]|0)|0;lI(e,99578,nI(u,c[c[(c[p>>2]|0)+96>>2]>>2]|0)|0);u=(c[(c[p>>2]|0)+96>>2]|0)+56|0;c[q>>2]=c[u>>2];c[q+4>>2]=c[u+4>>2];c[q+8>>2]=c[u+8>>2];c[q+12>>2]=c[u+12>>2];mI(e,q)}lI(e,99578,OL(m,c[46415]|0,108041)|0);lI(e,99578,OL(m,c[46406]|0,134232)|0);kI(e);m=Gx(d,m)|0}n=Ty(d,n)|0}qI(99586,e);l=r;return}function iI(a){a=a|0;var b=0.0;if(c[46369]|0){a=c[a+16>>2]|0;b=+h[a+24>>3]+ +h[a+40>>3];h[22916]=b;h[22917]=b*.013888888888888888}return}function jI(a,b,c){a=a|0;b=b|0;c=+c;var d=0,e=0,f=0;f=l;l=l+1040|0;e=f;d=f+8|0;if(b|0)qI(b,a);h[e>>3]=c;Y0(d,99592,e)|0;qI(d,a);l=f;return}function kI(b){b=b|0;a[191875]=10;lb[c[46494]&127](b,191875)|0;return}function lI(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)qI(b,a);qI(c,a);return}function mI(a,b){a=a|0;b=b|0;var d=0.0;jI(a,99578,+h[b>>3]*.013888888888888888);if(!(c[46369]|0))d=+h[b+8>>3];else d=+h[22916]-+h[b+8>>3];jI(a,99578,d*.013888888888888888);return}function nI(a,b){a=a|0;b=b|0;var c=0;c=Oz(a,b)|0;b=JA(c)|0;Qz(a,c)|0;return b|0}function oI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!(a[(c[d+16>>2]|0)+118>>0]|0))d=JA(ry(d)|0)|0;else{f=ez(d)|0;d=nI(f,(A$(ry(d)|0,58)|0)+1|0)|0}lI(b,99578,d);if(e|0?a[e>>0]|0:0)lI(b,104958,JA(e)|0);return}function pI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+1040|0;f=d;e=d+8|0;qI(99578,a);c[f>>2]=b;Y0(e,134313,f)|0;qI(e,a);l=d;return}function qI(a,b){a=a|0;b=b|0;lb[c[46494]&127](b,a)|0;return}function rI(d,f,g){d=d|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+2288|0;W=Y+208|0;V=Y+192|0;U=Y+176|0;T=Y+160|0;S=Y+144|0;R=Y+128|0;P=Y+112|0;O=Y+96|0;N=Y+80|0;M=Y+64|0;L=Y+56|0;K=Y+48|0;X=Y+32|0;Q=Y+24|0;J=Y;G=Y+1264|0;H=Y+224|0;I=d+16|0;C=(e[(c[I>>2]|0)+178>>1]|0)>2;CG(1);iI(d);Tw(H,1024,Y+240|0);LM(d,1,99597,191979)|0;LM(d,1,99601,191979)|0;c[46376]=LM(d,1,138034,191979)|0;c[46375]=LM(d,1,137966,191979)|0;LM(d,2,99597,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0;if(i&16){LM(d,1,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&1){LM(d,2,99611,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&32){LM(d,2,99607,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&2){LM(d,2,99614,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(i&4){LM(d,2,99622,191979)|0;i=a[(c[I>>2]|0)+113>>0]|0}if(!(i&8)){v=0;w=0;x=0}else{x=LM(d,0,99611,191979)|0;w=LM(d,0,99630,191979)|0;v=LM(d,0,99637,191979)|0}z=LM(d,0,99645,191979)|0;A=H+4|0;B=H+8|0;u=0;i=0;y=Sy(d)|0;while(1){if(!y)break;t=y+16|0;k=c[t>>2]|0;o=+h[k+16>>3];j=(c[46369]|0)==0;if(C){if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];q=+h[(c[k+132>>2]|0)+16>>3]*72.0;h[J>>3]=o;h[J+8>>3]=m;h[J+16>>3]=q;Y0(G,99648,J)|0;Ww(H,G)|0;j=3;while(1){if((j|0)>=(e[(c[I>>2]|0)+178>>1]|0))break;h[Q>>3]=+h[(c[(c[t>>2]|0)+132>>2]|0)+(j<<3)>>3]*72.0;Y0(G,99663,Q)|0;Ww(H,G)|0;j=j+1|0}j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;s=c[H>>2]|0;c[A>>2]=s;zx(y,99597,s)|0;s=y}else{if(j)m=+h[k+24>>3];else m=+h[22916]-+h[k+24>>3];h[X>>3]=o;h[X+8>>3]=m;Y0(G,99669,X)|0;zx(y,99597,G)|0;s=y}h[K>>3]=+h[(c[t>>2]|0)+80>>3]*.013888888888888888;Y0(G,99592,K)|0;rx(s,c[46375]|0,G)|0;j=c[t>>2]|0;h[L>>3]=(+h[j+96>>3]+ +h[j+88>>3])*.013888888888888888;Y0(G,99592,L)|0;rx(s,c[46376]|0,G)|0;j=c[t>>2]|0;k=c[j+108>>2]|0;if((k|0)!=0?(a[k+81>>0]|0)!=0:0){q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[M>>3]=+h[k+56>>3];h[M+8>>3]=q;Y0(G,99669,M)|0;zx(s,99607,G)|0;j=c[t>>2]|0}if(b$(c[c[j+8>>2]>>2]|0,103194)|0){if(c[46400]|0?(UJ(y)|0)<<24>>24:0){k=c[(c[t>>2]|0)+12>>2]|0;r=k+8|0;j=c[r>>2]|0;if((j|0)<3){j=xx(s,99679)|0;if(!j)j=8;else j=a2(j)|0;j=(j|0)<3?8:j}p=k+44|0;q=1.0/+(j|0);n=0;while(1){if((n|0)>=(j|0))break;if((n|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32}if((c[r>>2]|0)>2){k=c[p>>2]|0;if(!(c[46369]|0))m=+h[k+(n<<4)+8>>3]*.013888888888888888;else m=+h[22917]-+h[k+(n<<4)+8>>3]*.013888888888888888;h[N>>3]=+h[k+(n<<4)>>3]*.013888888888888888;h[N+8>>3]=m;Y0(G,99692,N)|0}else{k=c[t>>2]|0;m=q*+(n|0)*6.283185307179586;o=+h[k+32>>3]*.5*+E(+m);if(!(c[46369]|0))m=+h[k+40>>3]*.5*+F(+m);else m=+h[22917]-+h[k+40>>3]*.5*+F(+m);h[O>>3]=o;h[O+8>>3]=m;Y0(G,99692,O)|0}Ww(H,G)|0;n=n+1|0}k=c[46400]|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;rx(s,k,t)|0}}else{sI(y,c[j+12>>2]|0,H);Yw(H)|0;j=c[A>>2]|0;if(j>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;j=c[A>>2]|0}a[j>>0]=0;t=c[H>>2]|0;c[A>>2]=t;zx(s,99601,t)|0}a:do if((c[46367]|0)>0){t=Ex(d,y)|0;j=u;while(1){if(!t)break a;s=t+16|0;k=c[s>>2]|0;do if((a[k+112>>0]|0)!=6?(D=c[k+8>>2]|0,(D|0)!=0):0){r=0;k=D;while(1){if((r|0)>=(c[k+4>>2]|0))break;if((r|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=59;k=c[(c[s>>2]|0)+8>>2]|0}k=c[k>>2]|0;if(c[k+(r*48|0)+8>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+24>>3];else m=+h[22916]-+h[k+(r*48|0)+24>>3];h[P>>3]=+h[k+(r*48|0)+16>>3];h[P+8>>3]=m;Y0(G,99702,P)|0;Ww(H,G)|0;i=1;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}if(c[k+(r*48|0)+12>>2]|0){if(!(c[46369]|0))m=+h[k+(r*48|0)+40>>3];else m=+h[22916]-+h[k+(r*48|0)+40>>3];h[R>>3]=+h[k+(r*48|0)+32>>3];h[R+8>>3]=m;Y0(G,99715,R)|0;Ww(H,G)|0;j=1}p=0;while(1){k=c[(c[s>>2]|0)+8>>2]|0;n=c[k>>2]|0;if((p|0)>=(c[n+(r*48|0)+4>>2]|0))break;if((p|0)>0){k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}c[A>>2]=k+1;a[k>>0]=32;k=c[c[(c[s>>2]|0)+8>>2]>>2]|0}else k=n;u=c[k+(r*48|0)>>2]|0;q=+h[u+(p<<4)+8>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[S>>3]=+h[u+(p<<4)>>3];h[S+8>>3]=q;Y0(G,99669,S)|0;Ww(H,G)|0;p=p+1|0}r=r+1|0}k=c[A>>2]|0;if(k>>>0>=(c[B>>2]|0)>>>0){Uw(H,1)|0;k=c[A>>2]|0}a[k>>0]=0;k=c[H>>2]|0;c[A>>2]=k;zx(t,99597,k)|0;k=c[s>>2]|0;n=c[k+96>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[T>>3]=+h[n+56>>3];h[T+8>>3]=q;Y0(G,99669,T)|0;zx(t,99611,G)|0;k=c[s>>2]|0}n=c[k+108>>2]|0;do if(n){if(!(a[n+81>>0]|0))break;q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[U>>3]=+h[n+56>>3];h[U+8>>3]=q;Y0(G,99669,U)|0;zx(t,99607,G)|0;k=c[s>>2]|0}while(0);n=c[k+100>>2]|0;if(n){q=+h[n+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[V>>3]=+h[n+56>>3];h[V+8>>3]=q;Y0(G,99669,V)|0;zx(t,99614,G)|0;k=c[s>>2]|0}k=c[k+104>>2]|0;if(!k)break;q=+h[k+64>>3];q=(c[46369]|0)==0?q:+h[22916]-q;h[W>>3]=+h[k+56>>3];h[W+8>>3]=q;Y0(G,99669,W)|0;zx(t,99622,G)|0}while(0);t=Gx(d,t)|0}}else j=u;while(0);u=j;y=Ty(d,y)|0}tI(d,z,x,w,v);Xw(H);if(b[(c[I>>2]|0)+136>>1]&1)FM(d);c[f>>2]=i;c[g>>2]=u;CG(0);l=Y;return}function sI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+1056|0;k=n;j=n+32|0;m=b+48|0;if(!(c[m>>2]|0)){e=c[a+16>>2]|0;i=+h[e+16>>3];if(!(c[46369]|0)){g=+h[e+24>>3];f=g+ +h[b+24>>3];g=g+ +h[b+40>>3]}else{g=+h[e+24>>3];f=+h[22916]-+h[b+24>>3]-g;g=+h[22916]-+h[b+40>>3]-g}o=i+ +h[b+32>>3];h[k>>3]=i+ +h[b+16>>3];h[k+8>>3]=f;h[k+16>>3]=o;h[k+24>>3]=g;Y0(j,99753,k)|0;Ww(d,j)|0}b=b+56|0;e=0;while(1){if((e|0)>=(c[m>>2]|0))break;sI(a,c[(c[b>>2]|0)+(e<<2)>>2]|0,d);e=e+1|0}l=n;return}function tI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=l;l=l+1088|0;o=s+56|0;q=s+48|0;p=s+32|0;j=s;n=s+64|0;r=b+16|0;i=c[r>>2]|0;if(!(c[46369]|0)){k=+h[i+24>>3];m=+h[i+40>>3]}else{m=+h[22916];k=m-+h[i+24>>3];m=m-+h[i+40>>3]}t=+h[i+32>>3];h[j>>3]=+h[i+16>>3];h[j+8>>3]=k;h[j+16>>3]=t;h[j+24>>3]=m;Y0(n,99728,j)|0;rx(b,d,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;if((i|0)!=0?(a[c[i>>2]>>0]|0)!=0:0){t=+h[i+64>>3];t=(c[46369]|0)==0?t:+h[22916]-t;h[p>>3]=+h[i+56>>3];h[p+8>>3]=t;Y0(n,99669,p)|0;rx(b,e,n)|0;i=c[(c[r>>2]|0)+12>>2]|0;t=+h[i+32>>3];h[q>>3]=+h[i+24>>3]*.013888888888888888;Y0(n,99748,q)|0;rx(b,f,n)|0;h[o>>3]=t*.013888888888888888;Y0(n,99748,o)|0;rx(b,g,n)|0;i=1}else i=1;while(1){j=c[r>>2]|0;if((i|0)>(c[j+180>>2]|0))break;tI(c[(c[j+184>>2]|0)+(i<<2)>>2]|0,d,e,f,g);i=i+1|0}l=s;return}function uI(a){a=a|0;var b=0;b=l;l=l+16|0;rI(a,b,b+4|0);l=b;return}function vI(){return Cw(20636,c[4555]|0)|0}function wI(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function xI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if((a|0)<=(e|0))if((a|0)<(e|0))a=-1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return ((b|0)>(d|0)?1:((b|0)<(d|0))<<31>>31)|0}else a=1;return a|0}function yI(a){a=a|0;yw(a)|0;return}function zI(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];b=AI(e)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=d;return}function AI(a){a=a|0;var b=0,d=0,e=0;b=uH(16)|0;e=a;d=c[e+4>>2]|0;a=b+8|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function BI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[g>>2]=b;c[g+4>>2]=d;c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];b=AI(f)|0;if((nb[c[a>>2]&63](a,b,1)|0)!=(b|0))D_(b);l=e;return}function CI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;e=d;g=b;f=c[g+4>>2]|0;b=e+8|0;c[b>>2]=c[g>>2];c[b+4>>2]=f;b=(nb[c[a>>2]&63](a,e,4)|0)!=0&1;l=d;return b|0}function DI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f+8>>2]=b;c[f+12>>2]=d;d=(nb[c[a>>2]&63](a,f,4)|0)!=0&1;l=e;return d|0}function EI(a){a=a|0;return Ew(a)|0}function FI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH((Ew(a)|0)<<3)|0;b=d;a=Aw(a)|0;while(1){if(!a)break;g=a+8|0;f=c[g+4>>2]|0;e=b;c[e>>2]=c[g>>2];c[e+4>>2]=f;b=b+8|0;a=c[a>>2]|0}return d|0}function GI(){var a=0,b=0,d=0,e=0;a=vH(40)|0;b=a;d=20672;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));c[a+36>>2]=0;return Cw(a,c[4555]|0)|0}function HI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if(!a)a=vH(20)|0;else c[d>>2]=c[a>>2];f=b+8|0;e=c[f+4>>2]|0;d=a+8|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;c[a+16>>2]=c[b+16>>2];return a|0}function II(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;return}function JI(a){a=a|0;nb[c[a>>2]&63](a,0,64)|0;return}function KI(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;yw(a)|0;a=c[b+36>>2]|0;while(1){if(!a)break;d=c[a>>2]|0;D_(a);a=d}D_(b);return}function LI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=l;l=l+32|0;g=f;c[g+8>>2]=b;c[g+12>>2]=d;c[g+16>>2]=e;e=c[(nb[c[a>>2]&63](a,g,1)|0)+16>>2]|0;l=f;return e|0}function MI(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+160|0;q=t+144|0;d=t+48|0;j=t+128|0;k=t+112|0;m=t+96|0;n=t+80|0;o=t+32|0;p=t+16|0;r=t;s=a+16|0;a=c[s>>2]|0;e=+h[a+16>>3];f=+h[a+24>>3];g=+h[a+32>>3];i=+h[a+40>>3];if((b+-1|0)>>>0<2){NI(j,e,i);c[q>>2]=c[j>>2];c[q+4>>2]=c[j+4>>2];c[q+8>>2]=c[j+8>>2];c[q+12>>2]=c[j+12>>2];OI(d,q);p=d+16|0;NI(k,g,f);c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];OI(m,q);c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2]}else{NI(n,e,f);c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];OI(d,q);n=d+16|0;NI(o,g,i);c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];OI(p,q);c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2]}a=(c[s>>2]|0)+16|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];a=c[(c[s>>2]|0)+12>>2]|0;if(!a)a=1;else{a=a+56|0;c[q>>2]=c[a>>2];c[q+4>>2]=c[a+4>>2];c[q+8>>2]=c[a+8>>2];c[q+12>>2]=c[a+12>>2];OI(r,q);c[a>>2]=c[r>>2];c[a+4>>2]=c[r+4>>2];c[a+8>>2]=c[r+8>>2];c[a+12>>2]=c[r+12>>2];a=1}while(1){d=c[s>>2]|0;if((a|0)>(c[d+180>>2]|0))break;MI(c[(c[d+184>>2]|0)+(a<<2)>>2]|0,b);a=a+1|0}l=t;return}function NI(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;e=d;f=(c[46495]|0)*90|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];ZG(e,g,f);c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2];h[b>>3]=+h[b>>3]-+h[22918];e=b+8|0;h[e>>3]=+h[e>>3]-+h[22919];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];l=d;return}function PI(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0.0,k=0.0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+1168|0;s=w+144|0;v=w+96|0;u=w+64|0;t=w+48|0;o=w+32|0;p=w+16|0;q=w;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;r=b+16|0;m=c[(c[r>>2]|0)+116>>2]|0;c[46495]=m&3;m=m&1;a[191877]=m;if(!(m<<24>>24))RI(b);else QI(b);SI(b);m=c[r>>2]|0;e=c[m+12>>2]|0;do if(e|0?(a[e+81>>0]|0)==0:0){g=e+24|0;c[t>>2]=c[g>>2];c[t+4>>2]=c[g+4>>2];c[t+8>>2]=c[g+8>>2];c[t+12>>2]=c[g+12>>2];n=+h[t>>3]+16.0;h[t>>3]=n;g=t+8|0;f=+h[g>>3]+8.0;h[g>>3]=f;g=(a[m+275>>0]&1)!=0;if(a[191877]|0){if(g){i=m+32|0;h[i>>3]=+h[i>>3]+f}else{i=m+16|0;h[i>>3]=+h[i>>3]-f}g=m+40|0;f=+h[g>>3];i=m+24|0;j=+h[i>>3];k=f-j;if(!(n>k))break;n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n;break}i=(c[46495]|0)==0;do if(g)if(i){i=m+40|0;h[i>>3]=+h[i>>3]+f;break}else{i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else if(i){i=m+24|0;h[i>>3]=+h[i>>3]-f;break}else{i=m+40|0;h[i>>3]=+h[i>>3]+f;break}while(0);g=m+32|0;f=+h[g>>3];i=m+16|0;j=+h[i>>3];k=f-j;if(n>k){n=(n-k)*.5;h[i>>3]=j-n;h[g>>3]=f+n}}while(0);if(d){switch(c[46495]|0){case 0:{q=m+16|0;c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}case 1:{NI(o,-+h[m+40>>3],+h[m+16>>3]);c[45836]=c[o>>2];c[45837]=c[o+4>>2];c[45838]=c[o+8>>2];c[45839]=c[o+12>>2];break}case 2:{NI(p,+h[m+16>>3],-+h[m+40>>3]);c[45836]=c[p>>2];c[45837]=c[p+4>>2];c[45838]=c[p+8>>2];c[45839]=c[p+12>>2];break}case 3:{NI(q,+h[m+24>>3],+h[m+16>>3]);c[45836]=c[q>>2];c[45837]=c[q+4>>2];c[45838]=c[q+8>>2];c[45839]=c[q+12>>2];break}default:{}}TI(b);e=c[(c[r>>2]|0)+12>>2]|0}if(e|0?(a[e+81>>0]|0)==0:0){c[s>>2]=c[t>>2];c[s+4>>2]=c[t+4>>2];c[s+8>>2]=c[t+8>>2];c[s+12>>2]=c[t+12>>2];UI(b,s)}if(!0){l=w;return}if(!(a[191877]|0)){n=+h[22919];k=+h[22918];h[v>>3]=n;h[v+8>>3]=k;h[v+16>>3]=n;h[v+24>>3]=k;h[v+32>>3]=-k;h[v+40>>3]=-n;Y0(s,99989,v)|0}else{k=+h[22918];n=+h[22919];h[u>>3]=k;h[u+8>>3]=n;h[u+16>>3]=k;h[u+24>>3]=n;Y0(s,99774,u)|0}n1(s)|0;ab()}function QI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,i=0,j=0;j=b+16|0;if(((fz(b)|0)!=(b|0)?(g=c[j>>2]|0,i=c[g+12>>2]|0,(i|0)!=0):0)?(a[i+81>>0]|0)==0:0){d=a[g+275>>0]|0;if(!(d&1)){f=+h[g+16>>3]+ +h[g+96>>3]*.5;b=g+104|0}else{f=+h[g+32>>3]-+h[g+64>>3]*.5;b=g+72|0}e=+h[b>>3];b=d<<24>>24;do if(!(b&4))if(!(b&2)){e=(+h[g+40>>3]+ +h[g+24>>3])*.5;break}else{e=+h[g+40>>3]-e*.5;break}else e=+h[g+24>>3]+e*.5;while(0);h[i+56>>3]=f;h[i+64>>3]=e;a[(c[(c[j>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[j>>2]|0;if((b|0)>(c[d+180>>2]|0))break;QI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function RI(b){b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k=0;k=b+16|0;if(((fz(b)|0)!=(b|0)?(i=c[k>>2]|0,j=c[i+12>>2]|0,(j|0)!=0):0)?(a[j+81>>0]|0)==0:0){d=a[i+275>>0]|0;if(!(d&1)){g=+h[i+24>>3]+ +h[i+56>>3]*.5;b=i+48|0}else{g=+h[i+40>>3]-+h[i+88>>3]*.5;b=i+80|0}f=+h[b>>3];b=d<<24>>24;do if(!(b&4)){e=+h[i+16>>3];if(!(b&2)){e=(+h[i+32>>3]+e)*.5;break}else{e=e+f*.5;break}}else e=+h[i+32>>3]-f*.5;while(0);h[j+56>>3]=e;h[j+64>>3]=g;a[(c[(c[k>>2]|0)+12>>2]|0)+81>>0]=1;b=1}else b=1;while(1){d=c[k>>2]|0;if((b|0)>(c[d+180>>2]|0))break;RI(c[(c[d+184>>2]|0)+(b<<2)>>2]|0);b=b+1|0}return}function SI(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+544|0;L=S+504|0;R=S+416|0;Q=S+376|0;K=S+352|0;J=S+312|0;I=S+288|0;H=S+248|0;M=S+200|0;B=S+152|0;O=S+96|0;p=S+488|0;C=S+456|0;D=S+424|0;E=S+384|0;F=S+360|0;G=S+320|0;w=S+296|0;x=S+256|0;y=S+232|0;z=S+168|0;A=S+136|0;f=S+56|0;N=S+16|0;P=S;o=e+16|0;u=c[o>>2]|0;g=b[u+136>>1]&14;u=d[u+113>>0]|0;if(!((u&54|0)==0?(u&1|0)==0|(c[46368]|0)!=0:0)){u=g<<16>>16==0;n=Sy(e)|0;h=0;j=0;i=0;while(1){if(!n)break;g=c[(c[n+16>>2]|0)+108>>2]|0;do if(g)if(!(a[g+81>>0]|0)){i=i+1|0;break}else{h=h+1|0;break}while(0);m=Ex(e,n)|0;g=j;while(1){if(!m)break;k=c[m+16>>2]|0;j=c[k+108>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+100>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+104>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);j=c[k+96>>2]|0;do if(j){if(a[j+81>>0]|0){h=h+1|0;break}if(!u)g=g+((c[k+8>>2]|0)!=0&1)|0}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0;j=g}if(!(a[(c[o>>2]|0)+113>>0]&8))o=0;else o=WI(e)|0;t=j+i|0;if(t|0){q=h+j+o+(ay(e)|0)|0;r=uH(q*40|0)|0;s=uH(t*40|0)|0;NI(M,2147483647.0,2147483647.0);g=M+16|0;NI(p,-2147483647.0,-2147483647.0);c[g>>2]=c[p>>2];c[g+4>>2]=c[p+4>>2];c[g+8>>2]=c[p+8>>2];c[g+12>>2]=c[p+12>>2];g=s;i=r;n=Sy(e)|0;while(1){if(!n)break;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];XI(C,n,i,L);c[M>>2]=c[C>>2];c[M+4>>2]=c[C+4>>2];c[M+8>>2]=c[C+8>>2];c[M+12>>2]=c[C+12>>2];c[M+16>>2]=c[C+16>>2];c[M+20>>2]=c[C+20>>2];c[M+24>>2]=c[C+24>>2];c[M+28>>2]=c[C+28>>2];h=c[(c[n+16>>2]|0)+108>>2]|0;do if(h)if(!(a[h+81>>0]|0)){c[L>>2]=c[B>>2];c[L+4>>2]=c[B+4>>2];c[L+8>>2]=c[B+8>>2];c[L+12>>2]=c[B+12>>2];ZI(h,i,g,0,L);g=g+40|0;break}else{i=i+40|0;c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(D,h,i,L);c[M>>2]=c[D>>2];c[M+4>>2]=c[D+4>>2];c[M+8>>2]=c[D+8>>2];c[M+12>>2]=c[D+12>>2];c[M+16>>2]=c[D+16>>2];c[M+20>>2]=c[D+20>>2];c[M+24>>2]=c[D+24>>2];c[M+28>>2]=c[D+28>>2];break}while(0);m=Ex(e,n)|0;i=i+40|0;while(1){if(!m)break;k=m+16|0;h=c[k>>2]|0;j=c[h+96>>2]|0;a:do if(!j)v=52;else{do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(F,e,m);c[L>>2]=c[F>>2];c[L+4>>2]=c[F+4>>2];c[L+8>>2]=c[F+8>>2];c[L+12>>2]=c[F+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[H>>2]=c[j>>2];Pw(0,100801,H)|0;break a}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(E,j,i,L);c[M>>2]=c[E>>2];c[M+4>>2]=c[E+4>>2];c[M+8>>2]=c[E+8>>2];c[M+12>>2]=c[E+12>>2];c[M+16>>2]=c[E+16>>2];c[M+20>>2]=c[E+20>>2];c[M+24>>2]=c[E+24>>2];c[M+28>>2]=c[E+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0;v=52}while(0);b:do if((v|0)==52){v=0;j=c[h+104>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){_I(w,m);c[L>>2]=c[w>>2];c[L+4>>2]=c[w+4>>2];c[L+8>>2]=c[w+8>>2];c[L+12>>2]=c[w+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[I>>2]=c[j>>2];Pw(0,100836,I)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(G,j,i,L);c[M>>2]=c[G>>2];c[M+4>>2]=c[G+4>>2];c[M+8>>2]=c[G+8>>2];c[M+12>>2]=c[G+12>>2];c[M+16>>2]=c[G+16>>2];c[M+20>>2]=c[G+20>>2];c[M+24>>2]=c[G+24>>2];c[M+28>>2]=c[G+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+100>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){$I(y,m);c[L>>2]=c[y>>2];c[L+4>>2]=c[y+4>>2];c[L+8>>2]=c[y+8>>2];c[L+12>>2]=c[y+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[J>>2]=c[j>>2];Pw(0,100876,J)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(x,j,i,L);c[M>>2]=c[x>>2];c[M+4>>2]=c[x+4>>2];c[M+8>>2]=c[x+8>>2];c[M+12>>2]=c[x+12>>2];c[M+16>>2]=c[x+16>>2];c[M+20>>2]=c[x+20>>2];c[M+24>>2]=c[x+24>>2];c[M+28>>2]=c[x+28>>2]}while(0);i=i+40|0;h=c[k>>2]|0}j=c[h+108>>2]|0;if(j){do if(!(a[j+81>>0]|0)){if(!u?c[h+8>>2]|0:0){gL(A,e,m);c[L>>2]=c[A>>2];c[L+4>>2]=c[A+4>>2];c[L+8>>2]=c[A+8>>2];c[L+12>>2]=c[A+12>>2];ZI(j,i,g,1,L);g=g+40|0;break}c[K>>2]=c[j>>2];Pw(0,100916,K)|0;break b}else{c[L>>2]=c[M>>2];c[L+4>>2]=c[M+4>>2];c[L+8>>2]=c[M+8>>2];c[L+12>>2]=c[M+12>>2];c[L+16>>2]=c[M+16>>2];c[L+20>>2]=c[M+20>>2];c[L+24>>2]=c[M+24>>2];c[L+28>>2]=c[M+28>>2];YI(z,j,i,L);c[M>>2]=c[z>>2];c[M+4>>2]=c[z+4>>2];c[M+8>>2]=c[z+8>>2];c[M+12>>2]=c[z+12>>2];c[M+16>>2]=c[z+16>>2];c[M+20>>2]=c[z+20>>2];c[M+24>>2]=c[z+24>>2];c[M+28>>2]=c[z+28>>2]}while(0);i=i+40|0}}while(0);m=Gx(e,m)|0}n=Ty(e,n)|0}if(o|0){c[f>>2]=c[M>>2];c[f+4>>2]=c[M+4>>2];c[f+8>>2]=c[M+8>>2];c[f+12>>2]=c[M+12>>2];c[f+16>>2]=c[M+16>>2];c[f+20>>2]=c[M+20>>2];c[f+24>>2]=c[M+24>>2];c[f+28>>2]=c[M+28>>2];c[f+32>>2]=i;h=L;g=h+40|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));aJ(N,e,L);c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];c[M+16>>2]=c[N+16>>2];c[M+20>>2]=c[N+20>>2];c[M+24>>2]=c[N+24>>2];c[M+28>>2]=c[N+28>>2]}a[O+32>>0]=PL(e,nx(e,0,100952,0)|0,1)|0;c[O>>2]=c[M>>2];c[O+4>>2]=c[M+4>>2];c[O+8>>2]=c[M+8>>2];c[O+12>>2]=c[M+12>>2];c[O+16>>2]=c[M+16>>2];c[O+20>>2]=c[M+20>>2];c[O+24>>2]=c[M+24>>2];c[O+28>>2]=c[M+28>>2];SP(r,q,s,t,O)|0;if(0)bJ(r,q,s,t,O);f=0;g=0;h=s;while(1){if((g|0)>=(t|0))break;if(a[h+36>>0]|0){O=c[h+32>>2]|0;a[O+81>>0]=1;N=O+56|0;cJ(P,h);c[N>>2]=c[P>>2];c[N+4>>2]=c[P+4>>2];c[N+8>>2]=c[P+8>>2];c[N+12>>2]=c[P+12>>2];kM(e,O);f=f+1|0}g=g+1|0;h=h+40|0}if(!0){if((f|0)!=(t|0)){c[R>>2]=f;c[R+4>>2]=t;Pw(0,100997,R)|0}}else{R=c[15686]|0;c[Q>>2]=f;c[Q+4>>2]=t;g1(R,100964,Q)|0}D_(r);D_(s)}}l=S;return}function TI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0;i=l;l=l+48|0;e=i+32|0;f=i+16|0;g=i;if(+h[22918]!=0.0|+h[22919]!=0.0|(c[46495]|0)!=0){d=Sy(a)|0;while(1){if(!d)break;if(c[46495]|0)bN(d,0);b=d+16|0;j=(c[b>>2]|0)+16|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(f,e);c[j>>2]=c[f>>2];c[j+4>>2]=c[f+4>>2];c[j+8>>2]=c[f+8>>2];c[j+12>>2]=c[f+12>>2];b=c[(c[b>>2]|0)+108>>2]|0;if(b|0){j=b+56|0;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];OI(g,e);c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2]}a:do if((c[46367]|0)==1){b=Ex(a,d)|0;while(1){if(!b)break a;VI(b);b=Gx(a,b)|0}}while(0);d=Ty(a,d)|0}MI(a,c[(c[a+16>>2]|0)+116>>2]&3)}l=i;return}function UI(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0,j=0;i=b+16|0;j=c[i>>2]|0;g=a[j+275>>0]|0;b=g<<24>>24;do if(!(b&4)){e=+h[j+16>>3];if(!(b&2)){f=(+h[j+32>>3]+e)*.5;break}else{f=+h[d>>3]*.5+e;break}}else f=+h[j+32>>3]-+h[d>>3]*.5;while(0);if(!(g&1))e=+h[d+8>>3]*.5+ +h[j+24>>3];else e=+h[j+40>>3]-+h[d+8>>3]*.5;j=c[j+12>>2]|0;h[j+56>>3]=f;h[j+64>>3]=e;a[(c[(c[i>>2]|0)+12>>2]|0)+81>>0]=1;return}function VI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+144|0;q=s+120|0;e=s+16|0;i=s+104|0;j=s+88|0;k=s+72|0;m=s+56|0;n=s+40|0;o=s+24|0;r=s;p=b+16|0;d=c[p>>2]|0;f=c[d+8>>2]|0;if(!f){if((a[191874]|0)==0?(a[d+112>>0]|0)!=6:0){q=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;r=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[e>>2]=q;c[e+4>>2]=r;Pw(1,100784,e)|0}}else{h=0;b=f;while(1){if((h|0)>=(c[b+4>>2]|0))break;g=c[b>>2]|0;b=c[g+(h*48|0)>>2]|0;e=c[g+(h*48|0)+4>>2]|0;f=c[g+(h*48|0)+8>>2]|0;g=c[g+(h*48|0)+12>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;t=b+(d<<4)|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(i,q);c[t>>2]=c[i>>2];c[t+4>>2]=c[i+4>>2];c[t+8>>2]=c[i+8>>2];c[t+12>>2]=c[i+12>>2];d=d+1|0}if(f|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+16|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(j,q);c[t>>2]=c[j>>2];c[t+4>>2]=c[j+4>>2];c[t+8>>2]=c[j+8>>2];c[t+12>>2]=c[j+12>>2]}if(g|0){t=(c[c[(c[p>>2]|0)+8>>2]>>2]|0)+(h*48|0)+32|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(k,q);c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2]}d=c[p>>2]|0;h=h+1|0;b=c[d+8>>2]|0}b=c[d+96>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(m,q);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];d=c[p>>2]|0}b=c[d+108>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(n,q);c[d>>2]=c[n>>2];c[d+4>>2]=c[n+4>>2];c[d+8>>2]=c[n+8>>2];c[d+12>>2]=c[n+12>>2];d=c[p>>2]|0}b=c[d+100>>2]|0;if(b){d=b+56|0;c[q>>2]=c[d>>2];c[q+4>>2]=c[d+4>>2];c[q+8>>2]=c[d+8>>2];c[q+12>>2]=c[d+12>>2];OI(o,q);c[d>>2]=c[o>>2];c[d+4>>2]=c[o+4>>2];c[d+8>>2]=c[o+8>>2];c[d+12>>2]=c[o+12>>2];d=c[p>>2]|0}d=c[d+104>>2]|0;if(d|0){t=d+56|0;c[q>>2]=c[t>>2];c[q+4>>2]=c[t+4>>2];c[q+8>>2]=c[t+8>>2];c[q+12>>2]=c[t+12>>2];OI(r,q);c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2]}}l=s;return}function WI(b){b=b|0;var d=0,e=0,f=0;f=b+16|0;if((fz(b)|0)!=(b|0)?(d=c[(c[f>>2]|0)+12>>2]|0,(d|0)!=0):0){e=1;b=(a[d+81>>0]|0)!=0&1}else{e=1;b=0}while(1){d=c[f>>2]|0;if((e|0)>(c[d+180>>2]|0))break;d=(WI(c[(c[d+184>>2]|0)+(e<<2)>>2]|0)|0)+b|0;e=e+1|0;b=d}return b|0}function XI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;d=d+16|0;m=c[d>>2]|0;k=+h[(n?m+32|0:m+40|0)>>3];h[e+16>>3]=k*72.0;j=+h[(n?m+40|0:m+32|0)>>3];h[e+24>>3]=j*72.0;d=(c[d>>2]|0)+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*36.0;d=e+8|0;h[d>>3]=+h[d>>3]-j*36.0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function YI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k=0.0,m=0,n=0;g=l;l=l+32|0;i=g;n=(a[191877]|0)==0;m=d+24|0;k=+h[(n?m:d+32|0)>>3];h[e+16>>3]=k;j=+h[(n?d+32|0:m)>>3];h[e+24>>3]=j;d=d+56|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];h[e>>3]=+h[e>>3]-k*.5;d=e+8|0;h[d>>3]=+h[d>>3]-j*.5;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];c[i+16>>2]=c[f+16>>2];c[i+20>>2]=c[f+20>>2];c[i+24>>2]=c[f+24>>2];c[i+28>>2]=c[f+28>>2];dJ(b,e,i);l=g;return}function ZI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(f|0){f=d+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d>>2]=c[g>>2];c[d+4>>2]=c[g+4>>2];c[d+8>>2]=c[g+8>>2];c[d+12>>2]=c[g+12>>2]}if(!(a[191877]|0)){g=b+24|0;c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2]}else{h[e>>3]=+h[b+32>>3];h[e+8>>3]=+h[b+24>>3]}c[e+32>>2]=b;a[e+36>>0]=0;c[d+32>>2]=e;return}function _I(a,b){a=a|0;b=b|0;b=fL(b)|0;do if(b){b=c[b>>2]|0;if(!(c[b+8>>2]|0)){b=c[b>>2]|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}else{b=b+16|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function $I(a,b){a=a|0;b=b|0;var d=0;b=fL(b)|0;do if(b){d=c[b>>2]|0;b=(c[b+4>>2]|0)+-1|0;if(!(c[d+(b*48|0)+12>>2]|0)){d=(c[d+(b*48|0)>>2]|0)+((c[d+(b*48|0)+4>>2]|0)+-1<<4)|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}else{d=d+(b*48|0)+32|0;c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];break}}else{c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0}while(0);return}function aJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+112|0;k=q+72|0;n=q+32|0;o=q;p=d+16|0;j=1;while(1){f=c[p>>2]|0;if((j|0)>(c[f+180>>2]|0))break;f=c[(c[f+184>>2]|0)+(j<<2)>>2]|0;g=k;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));aJ(n,f,k);g=e;h=n;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));j=j+1|0}if(((fz(d)|0)!=(d|0)?(m=c[(c[p>>2]|0)+12>>2]|0,m|0):0)?a[m+81>>0]|0:0){p=e+32|0;n=c[p>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=c[e+4>>2];c[k+8>>2]=c[e+8>>2];c[k+12>>2]=c[e+12>>2];c[k+16>>2]=c[e+16>>2];c[k+20>>2]=c[e+20>>2];c[k+24>>2]=c[e+24>>2];c[k+28>>2]=c[e+28>>2];YI(o,m,n,k);c[e>>2]=c[o>>2];c[e+4>>2]=c[o+4>>2];c[e+8>>2]=c[o+8>>2];c[e+12>>2]=c[o+12>>2];c[e+16>>2]=c[o+16>>2];c[e+20>>2]=c[o+20>>2];c[e+24>>2]=c[o+24>>2];c[e+28>>2]=c[o+28>>2];c[p>>2]=(c[p>>2]|0)+40}g=b;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));l=q;return}function bJ(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;r=s+96|0;p=s+48|0;o=s;q=c[15686]|0;n=d[g+32>>0]|0;i=+h[g>>3];j=+h[g+8>>3];k=+h[g+16>>3];m=+h[g+24>>3];c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=n;h[o+16>>3]=i;h[o+24>>3]=j;h[o+32>>3]=k;h[o+40>>3]=m;g1(q,101039,o)|0;a:do if(0>=2){E1(101099,8,1,q)|0;o=0;while(1){if((o|0)>=(b|0))break;g=c[a+32>>2]|0;i=+h[a>>3];j=+h[a+8>>3];k=+h[a+16>>3];m=+h[a+24>>3];if(!g)n=191979;else n=c[c[g+32>>2]>>2]|0;c[p>>2]=o;h[p+8>>3]=i;h[p+16>>3]=j;h[p+24>>3]=k;h[p+32>>3]=m;c[p+40>>2]=g;c[p+44>>2]=n;g1(q,101108,p)|0;o=o+1|0;a=a+40|0}E1(101151,8,1,q)|0;g=0;while(1){if((g|0)>=(f|0))break a;b=d[e+36>>0]|0;i=+h[e+16>>3];j=+h[e+24>>3];k=+h[e>>3];m=+h[e+8>>3];p=c[c[e+32>>2]>>2]|0;c[r>>2]=g;c[r+4>>2]=e;c[r+8>>2]=b;h[r+16>>3]=i;h[r+24>>3]=j;h[r+32>>3]=k;h[r+40>>3]=m;c[r+48>>2]=p;g1(q,101160,r)|0;e=e+40|0;g=g+1|0}}while(0);l=s;return}function cJ(a,b){a=a|0;b=b|0;var c=0.0;c=+h[b+8>>3]*.5+ +h[b+24>>3];h[a>>3]=+h[b>>3]*.5+ +h[b+16>>3];h[a+8>>3]=c;return}function dJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0;e=l;l=l+16|0;f=e;j=+h[b>>3];h[d>>3]=+h[(+h[d>>3]<j?d:b)>>3];g=d+8|0;i=+h[b+8>>3];h[g>>3]=+h[(+h[g>>3]<i?d:b)+8>>3];j=+h[b+16>>3]+j;h[f>>3]=j;i=+h[b+24>>3]+i;h[f+8>>3]=i;g=d+16|0;h[g>>3]=+h[(+h[g>>3]>j?g:f)>>3];b=d+24|0;h[b>>3]=+h[(+h[b>>3]>i?g:f)+8>>3];c[a>>2]=c[d>>2];c[a+4>>2]=c[d+4>>2];c[a+8>>2]=c[d+8>>2];c[a+12>>2]=c[d+12>>2];c[a+16>>2]=c[d+16>>2];c[a+20>>2]=c[d+20>>2];c[a+24>>2]=c[d+24>>2];c[a+28>>2]=c[d+28>>2];l=e;return}function eJ(a){a=a|0;PI(a,1);return}function fJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e;b=ZL(xx(a,102500)|0)|0;if(b){b=gJ(b)|0;if(b|0){f=c[b+40>>2]|0;d=c[b+44>>2]|0;g=a+16|0;a=c[g>>2]|0;h[a+32>>3]=+(f|0)*.013888888888888888;h[a+40>>3]=+(d|0)*.013888888888888888;a=uH(12)|0;c[(c[g>>2]|0)+12>>2]=a;c[a>>2]=c[b+12>>2];c[a+4>>2]=((f|0)/-2|0)-(c[b+32>>2]|0);c[a+8>>2]=((d|0)/-2|0)-(c[b+36>>2]|0)}}else{c[d>>2]=ry(a)|0;Pw(0,101208,d)|0}l=e;return}function gJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+1152|0;i=p+24|0;h=p+8|0;e=p;f=p+120|0;j=p+44|0;k=p+40|0;m=p+36|0;n=p+32|0;o=p+28|0;d=c[46496]|0;if(!d){d=Cw(20708,c[4555]|0)|0;c[46496]=d}d=nb[c[d>>2]&63](d,b,512)|0;do if(!d){g=L1(b,135739)|0;if(!g){c[e>>2]=b;Pw(0,101257,e)|0;d=0;break}else{d=0;e=0}while(1){if(!(O0(f,1024,g)|0)){f=11;break}c[h>>2]=k;c[h+4>>2]=m;c[h+8>>2]=n;c[h+12>>2]=o;q=(N1(f,101285,h)|0)==4;e=q?1:e;if((a[f>>0]|0)!=37){q=(P0(f,101314)|0)==0;d=q?d:1}if((e|0)!=0&(d|0)!=0){f=12;break}}if((f|0)==11)if(!e){c[i>>2]=b;Pw(0,101319,i)|0;d=0}else f=12;if((f|0)==12){q=vH(64)|0;k=c[k>>2]|0;c[q+32>>2]=k;m=c[m>>2]|0;c[q+40>>2]=(c[n>>2]|0)-k;c[q+36>>2]=(c[o>>2]|0)-m;c[q+8>>2]=b;o=c[46497]|0;c[46497]=o+1;c[q+12>>2]=o;J1(j3(g)|0,j)|0;o=c[j+36>>2]|0;n=vH(o+1|0)|0;c[q+52>>2]=n;Z1(g,0,0)|0;g3(n,o,1,g)|0;a[n+o>>0]=0;o=c[46496]|0;nb[c[o>>2]&63](o,q,1)|0;a[q+16>>0]=d;d=q}s1(g)|0}while(0);l=p;return d|0}function hJ(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b+52>>2]|0);return}function iJ(a){a=a|0;D_(c[(c[a+16>>2]|0)+12>>2]|0);return}function jJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;m=n+8|0;k=n;j=(d|0)!=0;a:do if(j){h=0;f=0;b:while(1)while(1){if(h)break a;g=c[d+(f<<2)>>2]|0;if(!g){i=6;break a}f=f+1|0;if(!(a[g>>0]|0)){h=1;continue b}}}else i=6;while(0);c:do if((i|0)==6)while(1){f=c[e>>2]|0;if(!f)break c;$B(b,f)|0;$B(b,150517)|0;e=e+4|0;i=6}while(0);d:do if(j){h=0;while(1){f=c[d+(h<<2)>>2]|0;if(!f)break d;do if(a[f>>0]|0){e=ZL(f)|0;if(!e){c[k>>2]=f;Pw(0,101358,k)|0;break}g=L1(e,135739)|0;if(!g){c[m>>2]=e;Pw(0,101386,m)|0;break}while(1){f=YL(g)|0;if(!f)break;$B(b,f)|0}$B(b,150517)|0;s1(g)|0}while(0);h=h+1|0}}while(0);l=n;return}function kJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=c[d+52>>2]|0;a:while(1){e=a[d>>0]|0;b:do switch(e<<24>>24){case 0:break a;case 37:{if((a[d+1>>0]|0)==37){e=d+2|0;if((((V$(e,101414,3)|0)!=0?(V$(e,101418,5)|0)!=0:0)?(V$(e,101424,3)|0)!=0:0)?(V$(e,101428,7)|0)!=0:0){e=37;break b}else g=37;c:while(1){switch(g<<24>>24){case 13:{f=10;break c}case 10:case 0:{f=12;break c}default:{}}g=d+1|0;d=g;g=a[g>>0]|0}if((f|0)==10){e=d+1|0;if((a[e>>0]|0)==10){d=d+2|0;continue a}}else if((f|0)==12)e=d+1|0;d=g<<24>>24==0?d:e;continue a}else e=37;break}default:{}}while(0);d:while(1){switch(e<<24>>24){case 10:case 13:case 0:break d;default:{}}aC(b,e<<24>>24)|0;g=d+1|0;d=g;e=a[g>>0]|0}f=d+1|0;if(e<<24>>24==13?(a[f>>0]|0)==10:0)d=d+2|0;else d=e<<24>>24==0?d:f;aC(b,10)|0}return}function lJ(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f;d=c[46496]|0;a:do if(d|0){d=nb[c[d>>2]&63](d,0,128)|0;while(1){if(!d)break a;if(!(a[d+16>>0]|0)){c[e>>2]=c[d+12>>2];fC(b,101436,e);$B(b,101454)|0;kJ(b,d);$B(b,101472)|0;$B(b,101487)|0}g=c[46496]|0;d=nb[c[g>>2]&63](g,d,8)|0}}while(0);l=f;return}function mJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;a:do switch(d|0){case 0:{f=b;break}case 1:{f=SM(b)|0;break}default:{switch(nJ(b)|0){case 2:break;case 1:{f=SM(b)|0;break a}default:{f=b;break a}}if(!(c[46498]|0)){Pw(0,101499,e)|0;c[46498]=1;f=b}else f=b}}while(0);if(!(c[46499]|0))Tw(185996,0,0);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=40;e=f;b:while(1){switch(a[e>>0]|0){case 0:break b;case 92:case 41:case 40:{d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=92;break}default:{}}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}h=a[e>>0]|0;c[46500]=d+1;a[d>>0]=h;e=e+1|0}d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}c[46500]=d+1;a[d>>0]=41;if((f|0)!=(b|0))D_(f);d=c[46500]|0;if(d>>>0>=(c[46501]|0)>>>0){Uw(185996,1)|0;d=c[46500]|0}a[d>>0]=0;h=c[46499]|0;c[46500]=h;l=g;return h|0}function nJ(b){b=b|0;var c=0,d=0;c=0;a:while(1){while(1){d=a[b>>0]|0;if(!(d<<24>>24))break a;if((d&255)<127)b=b+1|0;else break}if((d&-4)<<24>>24==-64){c=1;b=b+2|0}else{c=2;break}}return c|0}function oJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+96|0;i=n+80|0;j=n+72|0;m=n+64|0;g=n+32|0;k=n;h[g>>3]=+h[a>>3];h[g+8>>3]=+h[a+8>>3];h[g+16>>3]=+h[b>>3];h[g+24>>3]=+h[b+8>>3];do if((TU(d,g,j)|0)>=0){if(!f){b=d+4|0;a=c[b>>2]|0;f=c[46504]|0;if((a|0)>(c[46503]|0)){if(!f)a=vH(a<<5)|0;else a=xH(f,a<<5)|0;c[46504]=a;g=c[b>>2]|0;c[46503]=g;f=a}else g=a;b=c[d>>2]|0;a=0;while(1){if((a|0)>=(g|0))break;o=f+(a<<5)|0;d=b+(a<<4)|0;c[o>>2]=c[d>>2];c[o+4>>2]=c[d+4>>2];c[o+8>>2]=c[d+8>>2];c[o+12>>2]=c[d+12>>2];o=f+(a<<5)+16|0;d=a+1|0;p=b+(((d|0)%(g|0)|0)<<4)|0;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];a=d}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];if((xU(f,g,i,k,m)|0)<0){a=0;break}}else{c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];oV(i,m)}a=m+4|0;if(!(pJ(c[a>>2]|0)|0)){g=c[a>>2]|0;a=c[46505]|0;f=c[m>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=a+(b<<4)|0;o=f+(b<<4)|0;c[p>>2]=c[o>>2];c[p+4>>2]=c[o+4>>2];c[p+8>>2]=c[o+8>>2];c[p+12>>2]=c[o+12>>2];b=b+1|0}c[e>>2]=g}else a=0}else a=0;while(0);l=n;return a|0}function pJ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;b=c[46506]|0;do if((b|0)<(a|0)){a=a+300-((a|0)%300|0)+b|0;b=xH(c[46505]|0,a<<4)|0;c[46505]=b;if(!b){Pw(1,101589,d)|0;a=1;break}else{c[46506]=a;a=0;break}}else a=0;while(0);l=e;return a|0}function qJ(){var a=0,b=0,d=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+1;do if((d|0)<=0){d=vH(4800)|0;c[46505]=d;if(!d){Pw(1,101612,a)|0;a=1;break}c[46506]=300;c[46508]=0;c[46509]=0;if(0){EL();a=0}else a=0}else a=0;while(0);l=b;return a|0}function rJ(){var a=0,b=0,d=0,e=0.0,f=0,g=0;b=l;l=l+16|0;a=b;d=c[46507]|0;c[46507]=d+-1;if((d|0)<=1?(D_(c[46505]|0),0):0){d=c[15686]|0;g=c[46508]|0;f=c[46509]|0;e=+FL();c[a>>2]=g;c[a+4>>2]=f;h[a+8>>3]=e;g1(d,101650,a)|0}l=b;return}function sJ(a,b){a=a|0;b=b|0;return tJ(a,b,0)|0}function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;L=l;l=l+176|0;G=L+168|0;K=L+128|0;x=L+120|0;v=L+112|0;i=L+104|0;s=L+88|0;n=L+72|0;g=L+64|0;t=L+160|0;I=L+152|0;y=L+144|0;u=L+32|0;w=L;J=L+136|0;c[46508]=(c[46508]|0)+1;H=c[b+80>>2]|0;c[46509]=(c[46509]|0)+H;f=b+88|0;while(1){C=c[f>>2]|0;if(!C){D=4;break}f=c[C+16>>2]|0;if(!(a[f+112>>0]|0)){D=5;break}else f=f+116|0}do if((D|0)==4){Pw(1,101693,g)|0;f=0}else if((D|0)==5){B=c[b+84>>2]|0;if(!(uJ(H,B,b)|0)){g=H<<3;if((g|0)>(c[46510]|0)){f=c[46511]|0;if(!f)f=vH(H<<7)|0;else f=xH(f,H<<7)|0;c[46511]=f;c[46510]=g}a:do if((H|0)>1?+h[B+8>>3]>+h[B+40>>3]:0){f=0;while(1){if((f|0)==(H|0)){p=1;break a}z=B+(f<<5)+24|0;m=+h[z>>3];A=B+(f<<5)+8|0;h[z>>3]=-+h[A>>3];h[A>>3]=-m;f=f+1|0}}else p=0;while(0);r=c[C>>2]&3;z=C+48|0;f=c[((r|0)==3?C:z)+40>>2]|0;A=C+-48|0;if((f|0)==(c[((r|0)==2?C:A)+40>>2]|0)){c[i>>2]=ry(f)|0;Pw(1,101800,i)|0;f=0;break}o=H+-1|0;q=c[46511]|0;r=q;f=0;j=0;b:while(1){if((j|0)>=(H|0)){j=o;n=f;break}if((j|0)>0)g=+h[B+(j<<5)+8>>3]>+h[B+(j+-1<<5)+8>>3]?-1:1;else g=0;if((j|0)<(o|0))i=+h[B+(j+1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else i=0;c:do if((g|0)!=(i|0))if((g|0)==1|(i|0)==-1){g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29;break}else{g=B+(j<<5)+16|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+24|0;D=29;break}else{switch(g|0){case -1:break c;case 0:break;default:{D=28;break b}}g=B+(j<<5)|0;h[q+(f<<4)>>3]=+h[g>>3];i=f+1|0;h[q+(f<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(i<<4)>>3]=+h[g>>3];g=B+(j<<5)+8|0;D=29}while(0);if((D|0)==29){D=0;h[q+(i<<4)+8>>3]=+h[g>>3];f=f+2|0}j=j+1|0}if((D|0)==28){c[n>>2]=g;c[n+4>>2]=g;c[n+8>>2]=480;Pw(1,101735,n)|0;f=0;break}d:while(1){if((j|0)<=-1)break;if((j|0)<(o|0))f=+h[B+(j<<5)+8>>3]>+h[B+(j+1<<5)+8>>3]?-1:1;else f=0;if((j|0)>0)g=+h[B+(j+-1<<5)+8>>3]>+h[B+(j<<5)+8>>3]?1:-1;else g=0;e:do if((f|0)!=(g|0))if((f|0)==1|(g|0)==-1){f=B+(j<<5)|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+24>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+8|0;i=2;break}else{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break}else switch(f|0){case 0:{f=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[f>>3];g=n+1|0;h[q+(n<<4)+8>>3]=+h[B+(j<<5)+8>>3];h[q+(g<<4)>>3]=+h[f>>3];f=B+(j<<5)+24|0;i=2;break e}case -1:{N=B+(j<<5)+16|0;h[q+(n<<4)>>3]=+h[N>>3];f=B+(j<<5)+8|0;i=n+1|0;h[q+(n<<4)+8>>3]=+h[f>>3];h[q+(i<<4)>>3]=+h[N>>3];N=B+(j<<5)+24|0;M=n+2|0;h[q+(i<<4)+8>>3]=+h[N>>3];i=B+(j<<5)|0;h[q+(M<<4)>>3]=+h[i>>3];g=n+3|0;h[q+(M<<4)+8>>3]=+h[N>>3];h[q+(g<<4)>>3]=+h[i>>3];i=4;break e}default:{D=42;break d}}while(0);h[q+(g<<4)+8>>3]=+h[f>>3];j=j+-1|0;n=n+i|0}if((D|0)==42){c[s>>2]=f;c[s+4>>2]=f;c[s+8>>2]=513;Pw(1,101735,s)|0;f=0;break}f:do if(!p)f=0;else{f=0;while(1){if((f|0)>=(H|0)){f=0;break}M=B+(f<<5)+24|0;m=+h[M>>3];N=B+(f<<5)+8|0;h[M>>3]=-+h[N>>3];h[N>>3]=-m;f=f+1|0}while(1){if((f|0)>=(n|0)){f=0;break f}N=q+(f<<4)+8|0;h[N>>3]=-+h[N>>3];f=f+1|0}}while(0);while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}c[t>>2]=r;i=t+4|0;c[i>>2]=n;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[b+8>>3];h[u+16>>3]=+h[b+40>>3];h[u+24>>3]=+h[b+48>>3];if((TU(t,u,I)|0)<0){Pw(1,101839,v)|0;f=0;break}if(!e){g=c[i>>2]|0;f=c[46504]|0;if((g|0)>(c[46503]|0)){if(!f)f=vH(g<<5)|0;else f=xH(f,g<<5)|0;c[46504]=f;g=c[i>>2]|0;c[46503]=g}j=c[46511]|0;i=0;while(1){if((i|0)>=(g|0))break;M=f+(i<<5)|0;N=j+(i<<4)|0;c[M>>2]=c[N>>2];c[M+4>>2]=c[N+4>>2];c[M+8>>2]=c[N+8>>2];c[M+12>>2]=c[N+12>>2];M=f+(i<<5)+16|0;N=i+1|0;v=j+(((N|0)%(g|0)|0)<<4)|0;c[M>>2]=c[v>>2];c[M+4>>2]=c[v+4>>2];c[M+8>>2]=c[v+8>>2];c[M+12>>2]=c[v+12>>2];i=N}if(!(a[b+29>>0]|0)){k=0.0;m=0.0}else{m=+h[b+16>>3];k=+E(+m);m=+F(+m)}h[w+8>>3]=m;h[w>>3]=k;if(!(a[b+69>>0]|0)){k=0.0;m=0.0}else{m=+h[b+56>>3];k=-+E(+m);m=-+F(+m)}h[w+24>>3]=m;h[w+16>>3]=k;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];if((xU(f,g,G,w,y)|0)<0){Pw(1,101878,x)|0;f=0;break}}else{c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,y)}n=y+4|0;if(!(pJ(c[n>>2]|0)|0)){f=0;while(1){if((f|0)>=(H|0))break;h[B+(f<<5)>>3]=2147483647.0;h[B+(f<<5)+16>>3]=-2147483648.0;f=f+1|0}i=c[n>>2]|0;j=c[46505]|0;g=c[y>>2]|0;f=0;while(1){if((f|0)>=(i|0)){i=1;f=10;g=0;break}N=j+(f<<4)|0;M=g+(f<<4)|0;c[N>>2]=c[M>>2];c[N+4>>2]=c[M+4>>2];c[N+8>>2]=c[M+8>>2];c[N+12>>2]=c[M+12>>2];f=f+1|0}while(1){if(!((g|0)<15&i<<24>>24!=0))break;vJ(B,H,c[46505]|0,c[n>>2]|0,f);j=0;while(1){if((j|0)>=(H|0))break;if(+h[B+(j<<5)>>3]==2147483647.0){D=82;break}if(+h[B+(j<<5)+16>>3]==-2147483648.0){D=82;break}j=j+1|0}if((D|0)==82){D=0;N=f<<1;f=N;g=(N|0)>(2147483647/(H|0)|0|0)?15:g}i=(j|0)==(H|0)?0:i;g=g+1|0}if(i<<24>>24){M=ry(c[((c[C>>2]&3|0)==3?C:z)+40>>2]|0)|0;N=ry(c[((c[C>>2]&3|0)==2?C:A)+40>>2]|0)|0;c[K>>2]=M;c[K+4>>2]=N;Pw(0,101916,K)|0;c[G>>2]=c[I>>2];c[G+4>>2]=c[I+4>>2];oV(G,J);vJ(B,H,c[J>>2]|0,c[J+4>>2]|0,10);D_(c[J>>2]|0)}c[d>>2]=c[n>>2];f=c[46505]|0}else f=0}else f=0}while(0);l=L;return f|0}function uJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0;R=l;l=l+32|0;I=R+16|0;H=R+8|0;k=R;e=0;j=0;while(1){if((j|0)>=(a|0))break;i=b+(j<<5)|0;s=+h[b+(j<<5)+8>>3]-+h[b+(j<<5)+24>>3];if(!((s>=0.0?s:-s)<.01)?(s=+h[i>>3]-+h[b+(j<<5)+16>>3],!((s>=0.0?s:-s)<.01)):0){if((e|0)!=(j|0)){P=b+(e<<5)|0;c[P>>2]=c[i>>2];c[P+4>>2]=c[i+4>>2];c[P+8>>2]=c[i+8>>2];c[P+12>>2]=c[i+12>>2];c[P+16>>2]=c[i+16>>2];c[P+20>>2]=c[i+20>>2];c[P+24>>2]=c[i+24>>2];c[P+28>>2]=c[i+28>>2]}e=e+1|0}j=j+1|0}J=b+16|0;do if(!(+h[b>>3]>+h[J>>3])?(L=b+8|0,N=b+24|0,!(+h[L>>3]>+h[N>>3])):0){P=e+-1|0;M=c[15686]|0;w=0;while(1){if((w|0)>=(P|0))break;D=w+1|0;E=b+(D<<5)|0;f=+h[E>>3];F=b+(D<<5)+16|0;g=+h[F>>3];if(f>g){Q=16;break}A=b+(D<<5)+8|0;m=+h[A>>3];B=b+(D<<5)+24|0;n=+h[B>>3];if(m>n){Q=16;break}G=b+(w<<5)+16|0;v=+h[G>>3]<f;e=v&1;C=b+(w<<5)|0;u=+h[C>>3]>g;a=u&1;z=b+(w<<5)+24|0;t=+h[z>>3]<m;j=t&1;y=b+(w<<5)+8|0;k=+h[y>>3]>n;i=k&1;x=a+e+j+i|0;o=(x|0)!=0;if(!(0==0|o^1)){c[I>>2]=w;c[I+4>>2]=D;g1(M,102116,I)|0;wJ(d)}a:do if(o){if(!v)if(!u)if(!t){if(k){k=0;o=e;e=B;i=y;Q=24}}else{k=i;j=0;o=e;e=A;i=z;Q=24}else{k=i;a=0;o=e;e=F;i=C;Q=24}else{k=i;o=0;e=E;i=G;Q=24}if((Q|0)==24){Q=0;w=~~+h[i>>3];h[i>>3]=+h[e>>3];h[e>>3]=+(w|0);i=k;e=o}o=x+-1|0;k=0;while(1){if((k|0)>=(o|0))break a;do if((e|0)!=1){if((a|0)==1){s=+(~~((+h[F>>3]+ +h[C>>3])*.5+.5)|0);h[F>>3]=s;h[C>>3]=s;a=0;break}if((j|0)==1){s=+(~~((+h[A>>3]+ +h[z>>3])*.5+.5)|0);h[A>>3]=s;h[z>>3]=s;j=0;break}if((i|0)==1){s=+(~~((+h[B>>3]+ +h[y>>3])*.5+.5)|0);h[B>>3]=s;h[y>>3]=s;i=0}}else{s=+(~~((+h[E>>3]+ +h[G>>3])*.5+.5)|0);h[E>>3]=s;h[G>>3]=s;e=0}while(0);k=k+1|0}}while(0);p=+h[C>>3];q=+h[G>>3];r=+h[E>>3];s=+h[F>>3];i=xJ(~~p,~~q,~~r,~~s)|0;n=+h[y>>3];m=+h[z>>3];g=+h[A>>3];f=+h[B>>3];e=xJ(~~n,~~m,~~g,~~f)|0;if(!((i|0)!=0&(e|0)!=0)){w=D;continue}if((i|0)<(e|0)){B=q-p>s-r;w=q<s;h[(B?(w?G:C):w?E:F)>>3]=B?(w?r:s):w?q:p;w=D;continue}else{B=m-n>f-g;w=m<f;h[(B?(w?G:C):w?E:F)+8>>3]=B?(w?g:f):w?m:n;w=D;continue}}if((Q|0)==16){c[H>>2]=D;Pw(1,102070,H)|0;wJ(d);e=1;break}f=+h[d>>3];g=+h[b>>3];if(!(((!(f<g)?!(f>+h[J>>3]):0)?(K=+h[d+8>>3],!(K<+h[L>>3])):0)?!(K>+h[N>>3]):0)){if(0){E1(102159,42,1,M)|0;wJ(d);g=+h[b>>3];f=+h[d>>3]}if(f<g)h[d>>3]=g;else g=f;f=+h[J>>3];if(g>f)h[d>>3]=f;e=d+8|0;g=+h[e>>3];f=+h[L>>3];if(g<f){h[e>>3]=f;g=f}f=+h[N>>3];if(g>f)h[e>>3]=f}i=d+40|0;f=+h[i>>3];e=b+(P<<5)|0;g=+h[e>>3];if(((!(f<g)?!(f>+h[b+(P<<5)+16>>3]):0)?(O=+h[d+48>>3],!(O<+h[b+(P<<5)+8>>3])):0)?!(O>+h[b+(P<<5)+24>>3]):0){e=0;break}if(0){E1(102202,39,1,M)|0;wJ(d);g=+h[e>>3];f=+h[i>>3]}if(f<g){h[i>>3]=g;f=g}g=+h[b+(P<<5)+16>>3];if(f>g)h[i>>3]=g;e=d+48|0;f=+h[e>>3];g=+h[b+(P<<5)+8>>3];if(f<g)h[e>>3]=g;else g=f;f=+h[b+(P<<5)+24>>3];if(g>f){h[e>>3]=f;e=0}else e=0}else Q=12;while(0);if((Q|0)==12){Pw(1,102025,k)|0;wJ(d);e=1}l=R;return e|0}function vJ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;s=O(e,b)|0;t=1.0/+(s|0);e=0;a:while(1){u=e+3|0;if((u|0)>=(d|0))break;o=c+(e<<4)|0;p=c+(e<<4)+8|0;r=e+1|0;q=c+(r<<4)|0;r=c+(r<<4)+8|0;j=e+2|0;i=c+(j<<4)|0;j=c+(j<<4)+8|0;k=c+(u<<4)|0;l=c+(u<<4)+8|0;g=0;while(1){if((g|0)>(s|0)){e=u;continue a}v=t*+(g|0);m=+h[o>>3];n=+h[p>>3];y=+h[q>>3];w=+h[r>>3];z=+h[i>>3];x=+h[j>>3];m=(y-m)*v+m;n=(w-n)*v+n;y=(z-y)*v+y;w=(x-w)*v+w;m=(y-m)*v+m;n=(w-n)*v+n;m=((z-y+(+h[k>>3]-z)*v)*v+y-m)*v+m;n=((x-w+(+h[l>>3]-x)*v)*v+w-n)*v+n;f=0;while(1){if((f|0)>=(b|0))break;if(n<=+h[a+(f<<5)+24>>3]+.0001?n>=+h[a+(f<<5)+8>>3]+-.0001:0){e=a+(f<<5)|0;if(+h[e>>3]>m)h[e>>3]=m;e=a+(f<<5)+16|0;if(+h[e>>3]<m)h[e>>3]=m}f=f+1|0}g=g+1|0}}return}function wJ(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0;m=l;l=l+112|0;j=m+80|0;k=m+48|0;i=m+8|0;g=m;e=c[15686]|0;f=b+80|0;c[g>>2]=c[f>>2];g1(e,102242,g)|0;g=b+84|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;r=c[g>>2]|0;q=+h[r+(d<<5)>>3];p=+h[r+(d<<5)+8>>3];o=+h[r+(d<<5)+16>>3];n=+h[r+(d<<5)+24>>3];c[i>>2]=d;h[i+8>>3]=q;h[i+16>>3]=p;h[i+24>>3]=o;h[i+32>>3]=n;g1(e,102253,i)|0;d=d+1|0}q=+h[b+8>>3];p=+h[b+16>>3];r=a[b+29>>0]|0?102284:102296;h[k>>3]=+h[b>>3];h[k+8>>3]=q;h[k+16>>3]=p;c[k+24>>2]=r;g1(e,102312,k)|0;p=+h[b+48>>3];q=+h[b+56>>3];r=a[b+69>>0]|0?102284:102296;h[j>>3]=+h[b+40>>3];h[j+8>>3]=p;h[j+16>>3]=q;c[j+24>>2]=r;g1(e,102363,j)|0;l=m;return}function xJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;do if((b|0)>(c|0)&(d|0)>(a|0)){if(!((c|0)>(a|0)|(d|0)<(a|0))){a=d-a|0;break}if((b|0)<(c|0)|(b|0)>(d|0)){b=b-a|0;a=d-c|0;a=(b|0)<(a|0)?b:a;break}else{a=b-c|0;break}}else a=0;while(0);return a|0}function yJ(a,b){a=a|0;b=b|0;return tJ(a,b,1)|0}function zJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+80|0;g=j;i=1;f=b;while(1){h=f;f=c[(c[f+16>>2]|0)+172>>2]|0;if(!((f|0)!=0&(h|0)!=(f|0)))break;else i=i+1|0}if((i|0)>=21)g=uH(i<<2)|0;h=0;f=b;while(1){if((h|0)>=(i|0))break;c[g+(h<<2)>>2]=f;h=h+1|0;f=c[(c[f+16>>2]|0)+172>>2]|0}AJ(a,g,i,d,e);if((i|0)>20)D_(g);l=j;return}function AJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,P=0,Q=0;K=l;l=l+304|0;A=K+272|0;z=K+208|0;G=K+96|0;H=K+32|0;I=K+16|0;J=K;r=K+192|0;y=K+176|0;i=K+160|0;B=K+296|0;D=K+288|0;j=c[d>>2]|0;w=c[j>>2]&3;k=j+-48|0;E=c[((w|0)==2?j:k)+40>>2]|0;t=G+16|0;w=(c[(c[((w|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+16|0;x=j+16|0;F=(c[x>>2]|0)+16|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[F>>2];c[A+4>>2]=c[F+4>>2];c[A+8>>2]=c[F+8>>2];c[A+12>>2]=c[F+12>>2];BJ(r,z,A);c[G>>2]=c[r>>2];c[G+4>>2]=c[r+4>>2];c[G+8>>2]=c[r+8>>2];c[G+12>>2]=c[r+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[I>>2]=c[r>>2];c[I+4>>2]=c[r+4>>2];c[I+8>>2]=c[r+8>>2];c[I+12>>2]=c[r+12>>2];r=G+32|0;F=G+48|0;w=(c[E+16>>2]|0)+16|0;x=(c[x>>2]|0)+56|0;c[z>>2]=c[w>>2];c[z+4>>2]=c[w+4>>2];c[z+8>>2]=c[w+8>>2];c[z+12>>2]=c[w+12>>2];c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];BJ(y,z,A);c[F>>2]=c[y>>2];c[F+4>>2]=c[y+4>>2];c[F+8>>2]=c[y+8>>2];c[F+12>>2]=c[y+12>>2];c[r>>2]=c[y>>2];c[r+4>>2]=c[y+4>>2];c[r+8>>2]=c[y+8>>2];c[r+12>>2]=c[y+12>>2];c[J>>2]=c[y>>2];c[J+4>>2]=c[y+4>>2];c[J+8>>2]=c[y+8>>2];c[J+12>>2]=c[y+12>>2];a:do if((e|0)!=1&(a[191874]|0)==0){m=+h[G>>3];n=+h[F>>3];L=m-n;o=+h[G+8>>3];p=+h[G+56>>3];s=o-p;q=s*s;if(q+L*L<1.0e-06){c[t>>2]=c[G>>2];c[t+4>>2]=c[G+4>>2];c[t+8>>2]=c[G+8>>2];c[t+12>>2]=c[G+12>>2];c[r>>2]=c[F>>2];c[r+4>>2]=c[F+4>>2];c[r+8>>2]=c[F+8>>2];c[r+12>>2]=c[F+12>>2];y=G+24|0;x=G+40|0;n=0.0;m=0.0}else{M=n-m;L=+C(+(q+M*M));w=c[(c[(c[b+60>>2]|0)+16>>2]|0)+248>>2]|0;N=+((O(w,e+-1|0)|0)/2|0|0);q=s*N/L;h[t>>3]=q+m;m=M*N/L;y=G+24|0;h[y>>3]=m+o;h[r>>3]=q+n;x=G+40|0;h[x>>3]=p+m;m=+(0-w|0);n=M*m/L;m=s*m/L}f=(f|0)==6;u=D+4|0;v=B+4|0;j=0;while(1){if((j|0)>=(e|0))break a;w=c[d+(j<<2)>>2]|0;k=w+-48|0;b:do if((c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0)==(E|0)){c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];c[I+8>>2]=c[G+8>>2];c[I+12>>2]=c[G+12>>2];c[J>>2]=c[F>>2];c[J+4>>2]=c[F+4>>2];c[J+8>>2]=c[F+8>>2];c[J+12>>2]=c[F+12>>2];i=0;while(1){if((i|0)==4)break b;P=H+(i<<4)|0;Q=G+(i<<4)|0;c[P>>2]=c[Q>>2];c[P+4>>2]=c[Q+4>>2];c[P+8>>2]=c[Q+8>>2];c[P+12>>2]=c[Q+12>>2];i=i+1|0}}else{c[I>>2]=c[F>>2];c[I+4>>2]=c[F+4>>2];c[I+8>>2]=c[F+8>>2];c[I+12>>2]=c[F+12>>2];c[J>>2]=c[G>>2];c[J+4>>2]=c[G+4>>2];c[J+8>>2]=c[G+8>>2];c[J+12>>2]=c[G+12>>2];i=0;while(1){if((i|0)==4)break b;Q=H+(3-i<<4)|0;P=G+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}}while(0);if(f){c[u>>2]=4;c[D>>2]=z;i=0;while(1){if((i|0)==4)break;Q=z+(i<<4)|0;P=H+(i<<4)|0;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];i=i+1|0}c[A>>2]=c[D>>2];c[A+4>>2]=c[D+4>>2];oV(A,B);QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,c[B>>2]|0,c[v>>2]|0,g)}else QK(w,c[((c[w>>2]&3|0)==2?w:k)+40>>2]|0,H,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,w,z,A);h[t>>3]=+h[t>>3]+m;h[y>>3]=+h[y>>3]+n;h[r>>3]=+h[r>>3]+m;h[x>>3]=+h[x>>3]+n;j=j+1|0}}else{if((f|0)==4){CJ(i,b);c[A>>2]=c[i>>2];c[A+4>>2]=c[i+4>>2];c[A+8>>2]=c[i+8>>2];c[A+12>>2]=c[i+12>>2];DJ(G,A)}QK(j,c[((c[j>>2]&3|0)==2?j:k)+40>>2]|0,G,4,g);c[z>>2]=c[I>>2];c[z+4>>2]=c[I+4>>2];c[z+8>>2]=c[I+8>>2];c[z+12>>2]=c[I+12>>2];c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];jL(b,j,z,A)}while(0);l=K;return}function BJ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function CJ(a,b){a=a|0;b=b|0;b=c[b+16>>2]|0;h[22920]=(+h[b+32>>3]+ +h[b+16>>3])*.5;h[22921]=(+h[b+40>>3]+ +h[b+24>>3])*.5;c[a>>2]=c[45840];c[a+4>>2]=c[45841];c[a+8>>2]=c[45842];c[a+12>>2]=c[45843];return}function DJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;f=+h[a>>3];d=+h[a+48>>3];i=(d+f)*.5;g=+h[a+8>>3];c=+h[a+56>>3];e=(c+g)*.5;f=d-f;g=c-g;f=+C(+(g*g+f*f))*.2;g=+h[b>>3]-i;c=+h[b+8>>3]-e;d=+C(+(c*c+g*g));if(!(d==0.0)){g=i-g/d*f;i=e-c/d*f;h[a+32>>3]=g;h[a+16>>3]=g;h[a+40>>3]=i;h[a+24>>3]=i}return}function EJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,D=0,E=0,F=0.0,G=0,H=0.0,I=0.0,J=0.0;E=l;l=l+208|0;t=E+192|0;s=E+176|0;B=E+32|0;w=E+16|0;x=E;y=E+160|0;z=E+144|0;u=E+128|0;v=E+112|0;g=e&2130706432;A=(e&8|0)==0?((g|0)==0?4:g):8;if((A|0)==436207616)FJ(a,b,d,f);else{D=uH((d<<6)+64|0)|0;p=d+-1|0;q=x+8|0;r=w+8|0;o=12.0;e=0;while(1){if((e|0)>=(d|0))break;n=b+(e<<4)|0;c[w>>2]=c[n>>2];c[w+4>>2]=c[n+4>>2];c[w+8>>2]=c[n+8>>2];c[w+12>>2]=c[n+12>>2];if((e|0)<(p|0)){e=e+1|0;n=b+(e<<4)|0;c[x>>2]=c[n>>2];c[x+4>>2]=c[n+4>>2];c[x+8>>2]=c[n+8>>2];c[x+12>>2]=c[n+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2];e=e+1|0}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=+C(+(F*F+m*m))*.3333333333333333;o=o<m?o:m}k=(g|16777216|0)==83886080;n=(A|0)==4;j=(g|0)==16777216;e=0;i=0;while(1){if((i|0)>=(d|0))break;g=b+(i<<4)|0;c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if((i|0)<(p|0)){g=b+(i+1<<4)|0;c[x>>2]=c[g>>2];c[x+4>>2]=c[g+4>>2];c[x+8>>2]=c[g+8>>2];c[x+12>>2]=c[g+12>>2]}else{c[x>>2]=c[b>>2];c[x+4>>2]=c[b+4>>2];c[x+8>>2]=c[b+8>>2];c[x+12>>2]=c[b+12>>2]}m=+h[x>>3]-+h[w>>3];F=+h[q>>3]-+h[r>>3];m=o/+C(+(F*F+m*m));m=k?m*.3333333333333333:j?m*.5:m;g=D+(e<<4)|0;if(n){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(y,m*.5,s,t);c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2]}else{c[g>>2]=c[w>>2];c[g+4>>2]=c[w+4>>2];c[g+8>>2]=c[w+8>>2];c[g+12>>2]=c[w+12>>2]}g=D+(e+1<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(z,m,s,t);c[g>>2]=c[z>>2];c[g+4>>2]=c[z+4>>2];c[g+8>>2]=c[z+8>>2];c[g+12>>2]=c[z+12>>2];g=e+3|0;G=D+(e+2<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(u,1.0-m,s,t);c[G>>2]=c[u>>2];c[G+4>>2]=c[u+4>>2];c[G+8>>2]=c[u+8>>2];c[G+12>>2]=c[u+12>>2];if(n){G=D+(g<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[t>>2]=c[x>>2];c[t+4>>2]=c[x+4>>2];c[t+8>>2]=c[x+8>>2];c[t+12>>2]=c[x+12>>2];GJ(v,1.0-m*.5,s,t);c[G>>2]=c[v>>2];c[G+4>>2]=c[v+4>>2];c[G+8>>2]=c[v+8>>2];c[G+12>>2]=c[v+12>>2];e=e+4|0}else e=g;i=i+1|0}k=D+(e<<4)|0;c[k>>2]=c[D>>2];c[k+4>>2]=c[D+4>>2];c[k+8>>2]=c[D+8>>2];c[k+12>>2]=c[D+12>>2];k=D+(e+1<<4)|0;j=D+16|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];e=D+(e+2<<4)|0;k=D+32|0;c[e>>2]=c[k>>2];c[e+4>>2]=c[k+4>>2];c[e+8>>2]=c[k+8>>2];c[e+12>>2]=c[k+12>>2];e=A&2147483647;a:do if((e|0)<201326592){if((e|0)>=83886080){if((e|0)<134217728){if((e|0)<100663296){switch(e|0){case 83886080:break;default:break a}if((d|0)==4){G=uH(192)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];p=G+16|0;t=b+16|0;c[p>>2]=c[t>>2];c[p+4>>2]=c[t+4>>2];c[p+8>>2]=c[t+8>>2];c[p+12>>2]=c[t+12>>2];p=D+48|0;t=D+64|0;o=+h[t>>3];n=G+32|0;h[n>>3]=o;q=D+56|0;r=D+72|0;H=+h[r>>3];z=G+40|0;h[z>>3]=H;F=+h[p>>3]+o-+h[k>>3];u=G+48|0;h[u>>3]=F;J=+h[q>>3]+H-+h[D+40>>3];x=G+56|0;h[x>>3]=J;I=+h[t>>3]+F-+h[p>>3];p=G+64|0;h[p>>3]=I;m=+h[r>>3]+J-+h[q>>3];q=G+72|0;h[q>>3]=m;r=G+80|0;h[r>>3]=o+I-F;h[G+88>>3]=H+m-J;t=D+96|0;v=D+80|0;J=+h[v>>3];d=G+144|0;h[d>>3]=J;w=D+104|0;s=D+88|0;m=+h[s>>3];h[G+152>>3]=m;H=+h[t>>3]+J-+h[D+112>>3];y=G+128|0;h[y>>3]=H;F=+h[w>>3]+m-+h[D+120>>3];A=G+136|0;h[A>>3]=F;I=+h[v>>3]+H-+h[t>>3];t=G+112|0;h[t>>3]=I;o=+h[s>>3]+F-+h[w>>3];w=G+120|0;h[w>>3]=o;s=G+96|0;h[s>>3]=J+I-H;v=G+104|0;h[v>>3]=m+o-F;k=G+160|0;j=b+32|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];k=G+176|0;b=b+48|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];_O(a,G,12,f);c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];F=+h[n>>3];o=+h[u>>3];F=F+F-o;u=B+16|0;h[u>>3]=F;m=+h[z>>3];H=+h[x>>3];m=m+m-H;x=B+24|0;h[x>>3]=m;z=B+32|0;h[z>>3]=+h[p>>3]+F-o;b=B+40|0;h[b>>3]=+h[q>>3]+m-H;f=B+48|0;c[f>>2]=c[r>>2];c[f+4>>2]=c[r+4>>2];c[f+8>>2]=c[r+8>>2];c[f+12>>2]=c[r+12>>2];bP(a,B,4);c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];H=+h[s>>3];m=+h[t>>3];H=H-(m-H);h[u>>3]=H;o=+h[v>>3];F=+h[w>>3];o=o-(F-o);h[x>>3]=o;h[z>>3]=+h[y>>3]+H-m;h[b>>3]=+h[A>>3]+o-F;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];bP(a,B,4);D_(G);break}else qa(102412,102423,737,102432)}if((e|0)<117440512){switch(e|0){case 100663296:break;default:break a}y=d+5|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];H=(+h[b>>3]-H)*.625+H;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;v=D+48|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*1.5;h[G+8>>3]=J;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+16>>3]=I;h[G+24>>3]=J;h[G+32>>3]=I;F=+h[A>>3];h[G+40>>3]=(+h[d>>3]-F)*.5+F;I=(+h[k>>3]-+h[v>>3])*.5+I;h[G+48>>3]=I;F=+h[A>>3];h[G+56>>3]=(+h[d>>3]-F)*.5+F;h[G+64>>3]=I;I=+h[A>>3];I=(+h[d>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3]);h[G+72>>3]=I;h[G+80>>3]=H;h[G+88>>3]=I;h[G+96>>3]=H;I=I-(+h[w>>3]-+h[x>>3])*.25;h[G+104>>3]=I;h[G+112>>3]=+h[k>>3]+H-+h[v>>3];h[G+120>>3]=(+h[w>>3]-+h[x>>3])*.5+I;h[G+128>>3]=+h[G>>3];h[G+136>>3]=(+h[w>>3]-+h[x>>3])*.25+J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 117440512:break;default:break a}d=d+1|0;G=uH(d<<4)|0;h[G>>3]=+h[j>>3];z=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[z>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[D+48>>3];J=+h[z>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];B=b+40|0;h[G+40>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];h[G+48>>3]=+h[j>>3];h[G+56>>3]=(+h[z>>3]-+h[A>>3])*.5+ +h[B>>3];J=+h[b+8>>3];h[G+72>>3]=J-(J-+h[b+56>>3])*.5;h[G+64>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}}if((e|0)<167772160)if((e|0)<150994944){switch(e|0){case 134217728:break;default:break a}y=d+4|0;G=uH(y<<4)|0;z=b+16|0;F=+h[z>>3];x=D+48|0;F=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*.25;h[G>>3]=F;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=F;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.5+J;h[G+24>>3]=H;F=(+h[k>>3]-+h[x>>3])*.5+F;h[G+32>>3]=F;h[G+40>>3]=H;h[G+48>>3]=F;F=(+h[v>>3]-+h[w>>3])*.5+H;h[G+56>>3]=F;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=F;h[G+80>>3]=I;h[G+88>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.25;h[G+96>>3]=I;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 150994944:break;default:break a}y=d+2|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];x=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[x>>3])*.75;h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;J=(+h[d>>3]-J)*.5+J;h[G+8>>3]=J;h[G+16>>3]=H;v=D+56|0;w=D+72|0;H=(+h[v>>3]-+h[w>>3])*.25+J;h[G+24>>3]=H;I=+h[z>>3];h[G+32>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*.25;I=(+h[v>>3]-+h[w>>3])*.5+H;h[G+40>>3]=I;F=+h[z>>3];h[G+48>>3]=(+h[b>>3]-F)*.5+F+(+h[k>>3]-+h[x>>3])*-.25;h[G+56>>3]=I;I=+h[z>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[x>>3])*-.75;h[G+64>>3]=I;h[G+72>>3]=H;h[G+80>>3]=I;h[G+88>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else if((e|0)<184549376){switch(e|0){case 167772160:break;default:break a}y=d+1|0;G=uH(y<<4)|0;z=b+16|0;H=+h[z>>3];v=D+48|0;H=+h[k>>3]+H+(+h[b>>3]-H)*.5-+h[v>>3];h[G>>3]=H;A=b+40|0;J=+h[A>>3];d=b+24|0;w=D+56|0;x=D+72|0;J=(+h[d>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*.25;h[G+8>>3]=J;H=H-+h[k>>3]+ +h[v>>3];h[G+16>>3]=H;h[G+24>>3]=+h[w>>3]+J-+h[x>>3];h[G+32>>3]=H;H=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=H;I=+h[z>>3];I=(+h[b>>3]-I)*.25+I;h[G+48>>3]=I;h[G+56>>3]=H;h[G+64>>3]=I;h[G+72>>3]=J;_O(a,G,y,f);h[B>>3]=+h[z>>3];J=+h[A>>3];h[B+8>>3]=(+h[d>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 184549376:break;default:break a}z=d+4|0;G=uH(z<<4)|0;y=b+16|0;H=+h[y>>3];I=+h[b>>3]-H;u=D+48|0;I=I*.125+H+(+h[k>>3]-+h[u>>3]+I)*.5;h[G>>3]=I;w=b+40|0;H=+h[w>>3];x=b+24|0;d=D+56|0;v=D+72|0;H=(+h[x>>3]-H)*.5+H+(+h[d>>3]-+h[v>>3])*.25;h[G+8>>3]=H;J=+h[y>>3];J=(+h[b>>3]-J)*.375+J;h[G+16>>3]=J;h[G+24>>3]=H;h[G+32>>3]=J;H=(+h[d>>3]-+h[v>>3])*.5+H;h[G+40>>3]=H;J=J-(+h[k>>3]-+h[u>>3])*.5;h[G+48>>3]=J;h[G+56>>3]=H;A=G+64|0;h[A>>3]=J;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[d>>3]-+h[v>>3])*-.25;h[G+72>>3]=J;H=I-(+h[k>>3]-+h[u>>3])*.5;h[G+80>>3]=H;h[G+88>>3]=J;h[G+96>>3]=H;J=J-(+h[d>>3]-+h[v>>3])*.5;h[G+104>>3]=J;v=G+112|0;h[v>>3]=I;h[G+120>>3]=J;_O(a,G,z,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[A>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[b>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<33554432){if((e|0)<8){switch(e|0){case 4:break;default:break a}i=vH((d*96|0)+32|0)|0;e=0;g=0;while(1){j=g|1;k=i+(g<<4)|0;if((e|0)>=(d|0))break;b=e<<2;G=D+(b<<4)|0;c[k>>2]=c[G>>2];c[k+4>>2]=c[G+4>>2];c[k+8>>2]=c[G+8>>2];c[k+12>>2]=c[G+12>>2];G=i+(j<<4)|0;B=D+((b|1)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+2<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+3<<4)|0;B=D+((b|2)<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+4<<4)|0;c[G>>2]=c[B>>2];c[G+4>>2]=c[B+4>>2];c[G+8>>2]=c[B+8>>2];c[G+12>>2]=c[B+12>>2];G=i+(g+5<<4)|0;b=D+((b|3)<<4)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];e=e+1|0;g=g+6|0}c[k>>2]=c[i>>2];c[k+4>>2]=c[i+4>>2];c[k+8>>2]=c[i+8>>2];c[k+12>>2]=c[i+12>>2];d=i+(j<<4)|0;G=i+16|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];aP(a,G,j,0,0,f&255);D_(i);break}if((e|0)<16777216){switch(e|0){case 8:break;default:break a}_O(a,b,d,f);g=B+16|0;e=0;while(1){if((e|0)>=(d|0))break a;G=e*3|0;f=D+(G+2<<4)|0;c[B>>2]=c[f>>2];c[B+4>>2]=c[f+4>>2];c[B+8>>2]=c[f+8>>2];c[B+12>>2]=c[f+12>>2];G=D+(G+4<<4)|0;c[g>>2]=c[G>>2];c[g+4>>2]=c[G+4>>2];c[g+8>>2]=c[G+8>>2];c[g+12>>2]=c[G+12>>2];bP(a,B,2);e=e+1|0}}switch(e|0){case 16777216:break;default:break a}g=d+1|0;i=uH(g<<4)|0;e=1;while(1){if((e|0)>=(d|0))break;G=i+(e<<4)|0;A=b+(e<<4)|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];e=e+1|0}b=d*3|0;A=D+(b+1<<4)|0;c[i>>2]=c[A>>2];c[i+4>>2]=c[A+4>>2];c[i+8>>2]=c[A+8>>2];c[i+12>>2]=c[A+12>>2];d=i+(d<<4)|0;G=D+(b+-1<<4)|0;c[d>>2]=c[G>>2];c[d+4>>2]=c[G+4>>2];c[d+8>>2]=c[G+8>>2];c[d+12>>2]=c[G+12>>2];_O(a,i,g,f);D_(i);c[B>>2]=c[G>>2];c[B+4>>2]=c[G+4>>2];c[B+8>>2]=c[G+8>>2];c[B+12>>2]=c[G+12>>2];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];f=B+32|0;h[f>>3]=+h[B>>3]+ +h[G>>3]-+h[D+(b<<4)>>3];h[B+40>>3]=+h[B+8>>3]+ +h[B+24>>3]-+h[D+(b<<4)+8>>3];bP(a,G,2);c[G>>2]=c[f>>2];c[G+4>>2]=c[f+4>>2];c[G+8>>2]=c[f+8>>2];c[G+12>>2]=c[f+12>>2];bP(a,B,2);break}else{if((e|0)<50331648){switch(e|0){case 33554432:break;default:break a}g=d+2|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];j=i+16|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];j=D+48|0;d=D+64|0;h[i+32>>3]=(+h[j>>3]-+h[d>>3])*.3333333333333333+ +h[k>>3];G=D+56|0;e=D+72|0;h[i+40>>3]=(+h[G>>3]-+h[e>>3])*.3333333333333333+ +h[D+40>>3];J=+h[j>>3];h[i+48>>3]=(J-+h[d>>3])*.3333333333333333+J;J=+h[G>>3];h[i+56>>3]=(J-+h[e>>3])*.3333333333333333+J;e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-2<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}_O(a,i,g,f);D_(i);c[B>>2]=c[j>>2];c[B+4>>2]=c[j+4>>2];c[B+8>>2]=c[j+8>>2];c[B+12>>2]=c[j+12>>2];G=B+16|0;c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[G+8>>2]=c[k+8>>2];c[G+12>>2]=c[k+12>>2];bP(a,B,2);break}if((e|0)>=67108864){switch(e|0){case 67108864:break;default:break a}if((d|0)==4){G=uH(96)|0;c[G>>2]=c[b>>2];c[G+4>>2]=c[b+4>>2];c[G+8>>2]=c[b+8>>2];c[G+12>>2]=c[b+12>>2];d=G+16|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2];d=G+32|0;A=D+64|0;c[d>>2]=c[A>>2];c[d+4>>2]=c[A+4>>2];c[d+8>>2]=c[A+8>>2];c[d+12>>2]=c[A+12>>2];d=G+48|0;b=b+32|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];b=G+64|0;d=D+128|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=G+80|0;z=D+160|0;c[b>>2]=c[z>>2];c[b+4>>2]=c[z+4>>2];c[b+8>>2]=c[z+8>>2];c[b+12>>2]=c[z+12>>2];_O(a,G,6,f);D_(G);h[B>>3]=+h[D+176>>3]+ +h[j>>3]-+h[D>>3];h[B+8>>3]=+h[D+184>>3]+ +h[D+24>>3]-+h[D+8>>3];G=B+16|0;c[G>>2]=c[A>>2];c[G+4>>2]=c[A+4>>2];c[G+8>>2]=c[A+8>>2];c[G+12>>2]=c[A+12>>2];bP(a,B,2);c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];bP(a,B,2);c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];c[G+8>>2]=c[D+8>>2];c[G+12>>2]=c[D+12>>2];bP(a,B,2);break}else qa(102412,102423,714,102432)}switch(e|0){case 50331648:break;default:break a}g=d+3|0;i=uH(g<<4)|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];J=+h[b>>3];h[i+16>>3]=J-(J-+h[j>>3])*.25;e=D+56|0;J=(+h[e>>3]-+h[D+72>>3])*.3333333333333333+ +h[b+8>>3];h[i+24>>3]=J;I=+h[b>>3];h[i+32>>3]=I-(I-+h[j>>3])*2.0;h[i+40>>3]=J;J=+h[b>>3];h[i+48>>3]=J-(J-+h[j>>3])*2.25;h[i+56>>3]=+h[e>>3];h[i+64>>3]=+h[D+48>>3];h[i+72>>3]=+h[e>>3];e=4;while(1){if((e|0)>=(g|0))break;G=i+(e<<4)|0;d=b+(e+-3<<4)|0;c[G>>2]=c[d>>2];c[G+4>>2]=c[d+4>>2];c[G+8>>2]=c[d+8>>2];c[G+12>>2]=c[d+12>>2];e=e+1|0}_O(a,i,g,f);D_(i);break}}else if((e|0)<318767104){if((e|0)<251658240){if((e|0)<218103808){switch(e|0){case 201326592:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];h[u>>3]=J;z=b+40|0;I=+h[z>>3];A=b+24|0;y=D+48|0;w=D+56|0;x=D+72|0;I=(+h[A>>3]-I)*.5+I+(+h[w>>3]-+h[x>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[w>>3]-+h[x>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[k>>3]+ +h[v>>3]-+h[y>>3];h[G>>3]=I;J=+h[z>>3];J=(+h[A>>3]-J)*.5+J+(+h[w>>3]-+h[x>>3])*-.625;h[G+8>>3]=J;H=+h[k>>3]-+h[y>>3]+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[w>>3]-+h[x>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[B+16>>3]=+h[b>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<234881024){switch(e|0){case 218103808:break;default:break a}G=d<<4;w=uH(G)|0;J=+h[b>>3];h[w>>3]=J;y=b+40|0;I=+h[y>>3];z=b+24|0;x=D+56|0;A=D+72|0;I=(+h[z>>3]-I)*.5+I+(+h[x>>3]-+h[A>>3])*.125;h[w+8>>3]=I;h[w+16>>3]=J;H=(+h[x>>3]-+h[A>>3])*.5+I;h[w+24>>3]=H;J=J-(+h[x>>3]-+h[A>>3])*2.0;h[w+32>>3]=J;h[w+40>>3]=H;h[w+48>>3]=J;h[w+56>>3]=I;_O(a,w,d,f);D_(w);G=uH(G)|0;I=+h[b>>3]-+h[k>>3]+ +h[D+48>>3];h[G>>3]=I;J=+h[y>>3];J=(+h[z>>3]-J)*.5+J+(+h[x>>3]-+h[A>>3])*-.625;h[G+8>>3]=J;h[G+16>>3]=I;H=(+h[x>>3]-+h[A>>3])*.5+J;h[G+24>>3]=H;I=I-(+h[x>>3]-+h[A>>3]);h[G+32>>3]=I;h[G+40>>3]=H;A=G+48|0;h[A>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[b+16>>3];J=+h[y>>3];h[B+8>>3]=(+h[z>>3]-J)*.5+J;h[B+16>>3]=+h[A>>3];h[B+24>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 234881024:break;default:break a}G=d<<4;y=uH(G)|0;u=b+16|0;I=+h[u>>3];v=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=I;w=b+40|0;J=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*.125;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);y=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*-1.125;h[y>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;h[y+16>>3]=H;h[y+24>>3]=I;h[y+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=I;_O(a,y,d,f);D_(y);y=uH(G)|0;I=+h[u>>3];I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*.125;h[y>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[y+8>>3]=J;H=+h[k>>3]-+h[v>>3]+I;h[y+16>>3]=H;h[y+24>>3]=J;h[y+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[y+40>>3]=J;h[y+48>>3]=I;h[y+56>>3]=J;_O(a,y,d,f);D_(y);G=uH(G)|0;J=+h[u>>3];J=(+h[b>>3]-J)*.5+J+(+h[k>>3]-+h[v>>3])*.125;h[G>>3]=J;I=+h[w>>3];I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[G+8>>3]=I;H=+h[k>>3]-+h[v>>3]+J;y=G+16|0;h[y>>3]=H;h[G+24>>3]=I;h[G+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[G+40>>3]=I;h[G+48>>3]=J;h[G+56>>3]=I;_O(a,G,d,f);h[B>>3]=+h[y>>3];I=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-I)*.5+I;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+I;bP(a,B,2);I=+h[u>>3];h[B>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[v>>3])*-1.125;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=I;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<285212672)if((e|0)<268435456){switch(e|0){case 251658240:break;default:break a}G=d<<4;u=uH(G)|0;v=b+16|0;J=+h[v>>3];y=D+48|0;J=J-+h[k>>3]+(+h[b>>3]-J)*.5+ +h[y>>3];h[u>>3]=J;w=b+40|0;I=+h[w>>3];x=b+24|0;A=D+56|0;z=D+72|0;I=(+h[x>>3]-I)*.5+I+(+h[A>>3]-+h[z>>3])*.125;h[u+8>>3]=I;H=(+h[k>>3]-+h[y>>3])*2.0+J;h[u+16>>3]=H;h[u+24>>3]=I;h[u+32>>3]=H;I=(+h[A>>3]-+h[z>>3])*.5+I;h[u+40>>3]=I;h[u+48>>3]=J;h[u+56>>3]=I;_O(a,u,d,f);D_(u);G=uH(G)|0;I=+h[v>>3];I=I-+h[k>>3]+(+h[b>>3]-I)*.5+ +h[y>>3];h[G>>3]=I;J=+h[w>>3];J=(+h[x>>3]-J)*.5+J+(+h[A>>3]-+h[z>>3])*-.625;h[G+8>>3]=J;H=(+h[k>>3]-+h[y>>3])*2.0+I;y=G+16|0;h[y>>3]=H;h[G+24>>3]=J;h[G+32>>3]=H;J=(+h[A>>3]-+h[z>>3])*.5+J;h[G+40>>3]=J;h[G+48>>3]=I;h[G+56>>3]=J;_O(a,G,d,f);h[B>>3]=+h[y>>3];J=+h[w>>3];y=B+8|0;h[y>>3]=(+h[x>>3]-J)*.5+J;z=B+16|0;h[z>>3]=+h[b>>3];A=b+8|0;d=b+56|0;f=B+24|0;h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);h[B>>3]=+h[v>>3];J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[z>>3]=+h[G>>3];h[f>>3]=(+h[A>>3]-+h[d>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 268435456:break;default:break a}G=uH(d<<4)|0;h[G>>3]=+h[b>>3];v=D+48|0;x=D+56|0;y=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[x>>3]-+h[y>>3])*.5;h[G+16>>3]=+h[v>>3];J=+h[x>>3];h[G+24>>3]=J-(J-+h[y>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[b>>3];h[G+56>>3]=(+h[x>>3]-+h[y>>3])*.5+ +h[z>>3];_O(a,G,d,f);w=b+16|0;J=(+h[k>>3]-+h[v>>3])*.25;I=J+ +h[w>>3];h[B>>3]=I;H=+h[z>>3];u=b+24|0;F=+h[x>>3]-+h[y>>3];H=(+h[u>>3]-H)*.5+H+F*.125;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J+I;f=B+24|0;h[f>>3]=H-F*.25;bP(a,B,2);F=(+h[k>>3]-+h[v>>3])*.25;H=F+ +h[w>>3];h[B>>3]=H;I=+h[z>>3];J=+h[x>>3]-+h[y>>3];I=(+h[u>>3]-I)*.5+I+J*-.125;h[A>>3]=I;h[d>>3]=F+H;h[f>>3]=J*.25+I;bP(a,B,2);I=(+h[k>>3]-+h[v>>3])*.25;h[B>>3]=I+ +h[w>>3];J=(+h[x>>3]-+h[y>>3])*.75+ +h[z>>3];h[A>>3]=J;h[d>>3]=+h[b>>3]-I;h[f>>3]=J;bP(a,B,2);D_(G);break}else if((e|0)<301989888){switch(e|0){case 285212672:break;default:break a}y=uH(d<<4)|0;v=b+16|0;I=+h[v>>3];z=D+48|0;I=(+h[k>>3]-+h[z>>3]+(+h[b>>3]-I))*.5+I;h[y>>3]=I;w=b+40|0;F=+h[w>>3];x=b+24|0;F=(+h[k>>3]-+h[z>>3]+(+h[x>>3]-F))*.5+F;h[y+8>>3]=F;h[y+16>>3]=I;I=+h[w>>3];o=+h[k>>3]-+h[z>>3];I=(+h[x>>3]-I-o)*.5+I;h[y+24>>3]=I;J=+h[v>>3];J=(+h[b>>3]-J-o)*.5+J;h[y+32>>3]=J;h[y+40>>3]=I;h[y+48>>3]=J;h[y+56>>3]=F;_O(a,y,d,f);D_(y);F=+h[v>>3];F=(+h[b>>3]-F)*.5+F;J=+h[k>>3]-+h[z>>3];I=J*.75;o=F+I;h[B>>3]=o;H=+h[w>>3];H=(+h[x>>3]-H)*.5+H;I=H+I;y=B+8|0;h[y>>3]=I;A=B+16|0;h[A>>3]=o;J=J*-.75;H=H+J;G=B+24|0;h[G>>3]=H;J=F+J;h[B+32>>3]=J;h[B+40>>3]=H;h[B+48>>3]=J;h[B+56>>3]=I;d=B+64|0;c[d>>2]=c[B>>2];c[d+4>>2]=c[B+4>>2];c[d+8>>2]=c[B+8>>2];c[d+12>>2]=c[B+12>>2];bP(a,B,5);I=+h[v>>3];J=+h[b>>3];h[B>>3]=(J-I)*.5+I+(+h[k>>3]-+h[z>>3])*.75;I=+h[w>>3];h[y>>3]=(+h[x>>3]-I)*.5+I;h[A>>3]=J;d=b+8|0;f=b+56|0;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+I;bP(a,B,2);I=+h[v>>3];h[B>>3]=I;J=+h[w>>3];h[y>>3]=(+h[x>>3]-J)*.5+J;h[A>>3]=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[z>>3])*-.75;h[G>>3]=(+h[d>>3]-+h[f>>3])*.5+J;bP(a,B,2);break}else{switch(e|0){case 301989888:break;default:break a}A=d+12|0;G=uH(A<<4)|0;x=b+16|0;m=+h[x>>3];s=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[s>>3])*.25;h[G>>3]=m;y=b+40|0;F=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;F=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-F))*.5+F;u=G+8|0;h[u>>3]=F;h[G+16>>3]=m;F=(+h[v>>3]-+h[w>>3])*.125+F;t=G+24|0;h[t>>3]=F;H=m-(+h[k>>3]-+h[s>>3])*.125;d=G+32|0;h[d>>3]=H;o=(+h[v>>3]-+h[w>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;I=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=I;h[G+64>>3]=m;m=(+h[v>>3]-+h[w>>3])*.125+I;h[G+72>>3]=m;h[G+80>>3]=H;h[G+88>>3]=m;H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[G+96>>3]=H;h[G+104>>3]=I;J=H-(+h[k>>3]-+h[s>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[s>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=I;I=(+h[k>>3]-+h[s>>3])*.125+J;h[G+160>>3]=I;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[u>>3];h[G+200>>3]=J;h[G+208>>3]=I;h[G+216>>3]=J;u=G+224|0;h[u>>3]=H;h[G+232>>3]=+h[t>>3];h[G+240>>3]=+h[d>>3];h[G+248>>3]=J;_O(a,G,A,f);J=+h[u>>3];h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[u>>3];h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}else{if((e|0)<369098752){if((e|0)<335544320){switch(e|0){case 318767104:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;H=+h[x>>3];d=D+48|0;H=(+h[b>>3]-H)*.5+H+(+h[k>>3]-+h[d>>3])*.125;h[G>>3]=H;y=b+40|0;J=+h[y>>3];z=b+24|0;v=D+56|0;w=D+72|0;J=(+h[v>>3]-+h[w>>3]+(+h[z>>3]-J))*.5+J;h[G+8>>3]=J;o=(+h[k>>3]-+h[d>>3])*.125+H;h[G+16>>3]=o;I=(+h[v>>3]-+h[w>>3])*.125+J;h[G+24>>3]=I;h[G+32>>3]=o;o=(+h[v>>3]-+h[w>>3])*.25+I;h[G+40>>3]=o;h[G+48>>3]=H;F=(+h[v>>3]-+h[w>>3])*.125+o;h[G+56>>3]=F;H=H-(+h[k>>3]-+h[d>>3])*.25;h[G+64>>3]=H;h[G+72>>3]=F;F=H-(+h[k>>3]-+h[d>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=I;h[G+112>>3]=H;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;H=+h[y>>3];H=(+h[z>>3]-H)*.5+H;A=B+8|0;h[A>>3]=H;d=B+16|0;h[d>>3]=J;f=B+24|0;h[f>>3]=(+h[v>>3]-+h[w>>3])*.125+H;bP(a,B,2);H=+h[x>>3];H=(+h[b>>3]-H)*.5+H;h[B>>3]=H;J=+h[y>>3];I=+h[v>>3]-+h[w>>3];J=(+h[z>>3]-J)*.5+J+I*.25;h[A>>3]=J;h[d>>3]=H;h[f>>3]=I*.125+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}if((e|0)<352321536){switch(e|0){case 335544320:break;default:break a}x=d+12|0;G=uH(x<<4)|0;y=b+16|0;m=+h[y>>3];u=D+48|0;m=(+h[b>>3]-m)*.5+m+(+h[k>>3]-+h[u>>3])*.25;h[G>>3]=m;z=b+40|0;F=+h[z>>3];A=b+24|0;s=D+56|0;t=D+72|0;F=(+h[s>>3]-+h[t>>3]+(+h[A>>3]-F))*.5+F;d=G+8|0;h[d>>3]=F;h[G+16>>3]=m;F=(+h[s>>3]-+h[t>>3])*.125+F;v=G+24|0;h[v>>3]=F;I=m-(+h[k>>3]-+h[u>>3])*.125;w=G+32|0;h[w>>3]=I;o=(+h[s>>3]-+h[t>>3])*.125+F;h[G+40>>3]=o;h[G+48>>3]=m;H=(+h[s>>3]-+h[t>>3])*.125+o;h[G+56>>3]=H;h[G+64>>3]=m;m=(+h[s>>3]-+h[t>>3])*.125+H;h[G+72>>3]=m;h[G+80>>3]=I;h[G+88>>3]=m;I=+h[y>>3];I=(+h[b>>3]-I)*.5+I;h[G+96>>3]=I;h[G+104>>3]=H;J=I-(+h[k>>3]-+h[u>>3])*.125;h[G+112>>3]=J;h[G+120>>3]=m;J=J-(+h[k>>3]-+h[u>>3])*.125;h[G+128>>3]=J;h[G+136>>3]=m;h[G+144>>3]=J;h[G+152>>3]=H;H=(+h[k>>3]-+h[u>>3])*.125+J;h[G+160>>3]=H;h[G+168>>3]=o;h[G+176>>3]=J;h[G+184>>3]=F;h[G+192>>3]=J;J=+h[d>>3];h[G+200>>3]=J;h[G+208>>3]=H;h[G+216>>3]=J;d=G+224|0;h[d>>3]=I;h[G+232>>3]=+h[v>>3];h[G+240>>3]=+h[w>>3];h[G+248>>3]=J;_O(a,G,x,f);c[B>>2]=c[d>>2];c[B+4>>2]=c[d+4>>2];c[B+8>>2]=c[d+8>>2];c[B+12>>2]=c[d+12>>2];d=B+16|0;h[d>>3]=+h[B>>3];J=+h[z>>3];f=B+24|0;h[f>>3]=(+h[A>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[y>>3];J=+h[z>>3];h[B+8>>3]=(+h[A>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}else{switch(e|0){case 352321536:break;default:break a}A=d+4|0;G=uH(A<<4)|0;x=b+16|0;I=+h[x>>3];w=D+48|0;I=(+h[b>>3]-I)*.5+I+(+h[k>>3]-+h[w>>3])*.125;h[G>>3]=I;y=b+40|0;J=+h[y>>3];z=b+24|0;u=D+56|0;v=D+72|0;J=(+h[u>>3]-+h[v>>3]+(+h[z>>3]-J))*.5+J;d=G+8|0;h[d>>3]=J;o=(+h[k>>3]-+h[w>>3])*.125+I;h[G+16>>3]=o;H=(+h[u>>3]-+h[v>>3])*.125+J;h[G+24>>3]=H;h[G+32>>3]=o;o=(+h[u>>3]-+h[v>>3])*.25+H;h[G+40>>3]=o;h[G+48>>3]=I;F=(+h[u>>3]-+h[v>>3])*.125+o;h[G+56>>3]=F;I=I-(+h[k>>3]-+h[w>>3])*.25;h[G+64>>3]=I;h[G+72>>3]=F;F=I-(+h[k>>3]-+h[w>>3])*.125;h[G+80>>3]=F;h[G+88>>3]=o;h[G+96>>3]=F;h[G+104>>3]=H;h[G+112>>3]=I;h[G+120>>3]=J;_O(a,G,A,f);J=+h[x>>3];J=(+h[b>>3]-J)*.5+J;h[B>>3]=J;A=B+8|0;h[A>>3]=+h[d>>3];d=B+16|0;h[d>>3]=J;J=+h[y>>3];f=B+24|0;h[f>>3]=(+h[z>>3]-J)*.5+J;bP(a,B,2);h[B>>3]=+h[x>>3];J=+h[y>>3];h[A>>3]=(+h[z>>3]-J)*.5+J;h[d>>3]=+h[b>>3];h[f>>3]=(+h[b+8>>3]-+h[b+56>>3])*.5+J;bP(a,B,2);D_(G);break}}if((e|0)<402653184)if((e|0)<385875968){switch(e|0){case 369098752:break;default:break a}d=d+5|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=+h[z>>3];J=+h[k>>3];h[G+48>>3]=(J-+h[B>>3])*.5+J;h[G+56>>3]=+h[z>>3];J=+h[k>>3];h[G+64>>3]=(J-+h[B>>3])*.5+J;h[G+72>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+80>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+88>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+104>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+120>>3]=J-(J-+h[z>>3])*.5;h[G+112>>3]=+h[b>>3];h[G+136>>3]=+h[A>>3];h[G+128>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else{switch(e|0){case 385875968:break;default:break a}d=d+3|0;G=uH(d<<4)|0;B=D+48|0;h[G>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;y=D+56|0;A=D+72|0;h[G+8>>3]=+h[D+24>>3]-(+h[y>>3]-+h[A>>3])*.5;h[G+16>>3]=+h[B>>3];J=+h[y>>3];h[G+24>>3]=J-(J-+h[A>>3])*.5;h[G+32>>3]=+h[b+32>>3];z=b+40|0;h[G+40>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+48>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;h[G+56>>3]=(+h[y>>3]-+h[A>>3])*.5+ +h[z>>3];h[G+64>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;z=b+56|0;h[G+72>>3]=+h[z>>3];A=b+8|0;J=+h[A>>3];h[G+88>>3]=J-(J-+h[z>>3])*.5;h[G+80>>3]=+h[b>>3];h[G+104>>3]=+h[A>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[B>>3])*.5;_O(a,G,d,f);D_(G);break}else if((e|0)<419430400){switch(e|0){case 402653184:break;default:break a}d=d+3|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];y=b+8|0;z=D+48|0;A=D+56|0;B=D+72|0;h[G+8>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[z>>3])*.5+J;h[G+24>>3]=+h[y>>3]-(+h[A>>3]-+h[B>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[z>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];y=b+40|0;h[G+56>>3]=J-(J-+h[y>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[z>>3])*.5+J;h[G+72>>3]=+h[y>>3];h[G+88>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[y>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[z>>3])*.5+J;h[G+104>>3]=(+h[A>>3]-+h[B>>3])*.5+ +h[b+56>>3];h[G+96>>3]=+h[b>>3];_O(a,G,d,f);D_(G);break}else{switch(e|0){case 419430400:break;default:break a}d=d+5|0;G=uH(d<<4)|0;h[G>>3]=+h[b>>3];B=b+8|0;A=D+48|0;y=D+56|0;z=D+72|0;h[G+8>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+16>>3]=(J-+h[A>>3])*.5+J;h[G+24>>3]=+h[B>>3]-(+h[y>>3]-+h[z>>3])*.5;J=+h[k>>3];h[G+32>>3]=(J-+h[A>>3])*.5+J;h[G+40>>3]=+h[D+40>>3];h[G+48>>3]=+h[b+16>>3];J=+h[b+24>>3];B=b+40|0;h[G+56>>3]=J-(J-+h[B>>3])*.5;J=+h[k>>3];h[G+64>>3]=(J-+h[A>>3])*.5+J;h[G+72>>3]=+h[B>>3];h[G+88>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];J=+h[k>>3];h[G+80>>3]=(J-+h[A>>3])*.5+J;B=b+56|0;h[G+104>>3]=(+h[y>>3]-+h[z>>3])*.5+ +h[B>>3];h[G+96>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+112>>3]=+h[j>>3]-(+h[k>>3]-+h[A>>3])*.5;h[G+120>>3]=+h[B>>3];h[G+128>>3]=+h[b+48>>3];h[G+136>>3]=+h[B>>3];_O(a,G,d,f);D_(G);break}}while(0);D_(D)}l=E;return}function FJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0;f=l;l=l+112|0;g=f;k=+h[b+8>>3]*2.0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[g+16>>3]=+h[b+16>>3];h[g+24>>3]=k-+h[b+24>>3];h[g+32>>3]=+h[b+32>>3];h[g+40>>3]=k-+h[b+40>>3];h[g+48>>3]=+h[b+48>>3];h[g+56>>3]=k-+h[b+56>>3];h[g+64>>3]=+h[b+64>>3];h[g+72>>3]=k-+h[b+72>>3];h[g+80>>3]=+h[b+80>>3];h[g+88>>3]=k-+h[b+88>>3];i=g+96|0;j=b+96|0;c[i>>2]=c[j>>2];c[i+4>>2]=c[j+4>>2];c[i+8>>2]=c[j+8>>2];c[i+12>>2]=c[j+12>>2];aP(a,b,d,0,0,e&255);aP(a,g,7,0,0,0);l=f;return}function GJ(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[c>>3];e=+h[c+8>>3];e=(+h[d+8>>3]-e)*b+e;h[a>>3]=(+h[d>>3]-f)*b+f;h[a+8>>3]=e;return}function HJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|0;if((a|0)!=89)if((a|0)==92)a=2;else return ((a|0)==91?3:(a|0)==94?4:0)|0;else a=1}else a=0;return a|0}function IJ(b){b=b|0;var d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0,D=0,G=0,H=0,I=0,J=0,L=0,M=0,N=0,P=0.0,Q=0.0,R=0,S=0,T=0.0,U=0.0,V=0.0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;aa=l;l=l+144|0;J=aa+112|0;N=aa+104|0;G=aa+96|0;H=aa+88|0;i=aa+80|0;Y=aa+64|0;_=aa+48|0;R=aa+40|0;S=aa+32|0;j=aa+24|0;p=aa+16|0;D=aa+136|0;A=aa+128|0;L=aa;$=uH(48)|0;Z=b+16|0;W=c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0;g=(W|0)==1616;X=c[W>>2]|0;d=c[W+4>>2]|0;e=c[W+8>>2]|0;m=+h[W+16>>3];n=+h[W+32>>3];o=+h[W+24>>3];X=X|(QL(xx(b,102485)|0)|0)&255;do if(!g){if(!X){W=c[Z>>2]|0;k=+h[W+32>>3]*72.0;f=+h[W+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);k=+(~~(k+(k>=0.0?.5:-.5))|0);break}k=+SJ(b);if(k>0.0)f=k;else{W=c[Z>>2]|0;f=+h[W+32>>3];k=+h[W+40>>3];k=(f<k?f:k)*72.0;k=+(~~(k+(k>=0.0?.5:-.5))|0);f=k}}else{f=0.0;k=0.0}while(0);W=KL(b,c[46390]|0,d,0)|0;V=+LL(b,c[46392]|0,0.0,-360.0)+m;if(!e){U=+LL(b,c[46393]|0,0.0,-100.0);I=KL(b,c[46389]|0,4,0)|0;T=+LL(b,c[46394]|0,0.0,-100.0)}else{I=e;U=n;T=o}d=c[(c[Z>>2]|0)+104>>2]|0;e=d+24|0;c[Y>>2]=c[e>>2];c[Y+4>>2]=c[e+4>>2];c[Y+8>>2]=c[e+8>>2];c[Y+12>>2]=c[e+12>>2];q=+h[Y>>3];if(q>0.0){if(!g)M=11}else if(!(g|!(+h[Y+8>>3]>0.0)))M=11;if((M|0)==11){d=xx(b,102470)|0;do if(d){h[p>>3]=0.0;h[j>>3]=0.0;c[i>>2]=j;c[i+4>>2]=p;d=N1(d,102477,i)|0;m=+h[j>>3];if(m<0.0){h[j>>3]=0.0;m=0.0}n=+h[p>>3];if(n<0.0){h[p>>3]=0.0;o=0.0}else o=n;if((d|0)<=0){n=q+16.0;h[Y>>3]=n;m=8.0;break}m=m*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0);n=q+m;h[Y>>3]=n;if((d|0)!=1){m=o*72.0;m=+(~~(m+(m>=0.0?.5:-.5))<<1|0)}}else{n=q+16.0;h[Y>>3]=n;m=8.0}while(0);d=Y+8|0;h[d>>3]=+h[d>>3]+m;d=c[(c[Z>>2]|0)+104>>2]|0;q=n}s=+h[d+24>>3];m=+h[c[(c[(ez(b)|0)+16>>2]|0)+8>>2]>>3];if(m>0.0){P=m*72.0;P=+(~~(P+(P>=0.0?.5:-.5))|0);Q=+TJ(q,P);h[Y>>3]=Q;p=Y+8|0;h[p>>3]=+TJ(+h[p>>3],P)}else Q=q;d=c[(c[Z>>2]|0)+8>>2]|0;do if(!(a[d+12>>0]|0)){e=xx(b,105999)|0;if((e|0)!=0?(a[e>>0]|0)!=0:0){CC(A,ez(b)|0,e);d=c[A>>2]|0;g=c[A+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[G>>2]=e;c[G+4>>2]=d;Pw(0,102561,G)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}else{d=c[d>>2]|0;if((a[d>>0]|0)==99?(b$(d,102493)|0)==0:0){e=xx(b,102500)|0;CC(D,ez(b)|0,e);d=c[D>>2]|0;g=c[D+4>>2]|0;if((g&d|0)==-1){d=ry(b)|0;c[H>>2]=e|0?e:102510;c[H+4>>2]=d;Pw(0,102516,H)|0;e=0;d=0;break}else{a[(c[(ez(b)|0)+16>>2]|0)+114>>0]=1;e=d+2|0;d=g+2|0;break}}else{e=0;d=0}}while(0);P=+(e|0);h[_>>3]=Q>P?Q:P;P=+h[Y+8>>3];r=+(d|0);d=_+8|0;h[d>>3]=P>r?P:r;e=(I|0)<3&(T!=0.0|U!=0.0)?120:I;g=xx(b,102602)|0;if(!g)i=99;else{i=a[g>>0]|0;i=i<<24>>24==116?116:i<<24>>24==98?98:99}g=c[Z>>2]|0;a[(c[g+104>>2]|0)+80>>0]=i;if((e|0)==4?(T==0.0?((~~(V+(V>=0.0?.5:-.5))|0)%90|0|0)==0:0)&U==0.0:0)p=1;else M=39;do if((M|0)==39){g=c[(c[(c[g+8>>2]|0)+8>>2]|0)+44>>2]|0;if(g|0){p=c[g>>2]|0;c[J>>2]=c[_>>2];c[J+4>>2]=c[_+4>>2];c[J+8>>2]=c[_+8>>2];c[J+12>>2]=c[_+12>>2];ub[p&63](L,J);c[_>>2]=c[L>>2];c[_+4>>2]=c[L+4>>2];c[_+8>>2]=c[L+8>>2];c[_+12>>2]=c[L+12>>2];p=0;break}m=+h[d>>3];n=m*1.4142135623730951;if(f>n&i<<24>>24==99){o=m/f;o=+C(+(1.0/(1.0-o*o)));o=+h[_>>3]*o;h[_>>3]=o}else{o=+h[_>>3]*1.4142135623730951;h[_>>3]=o;h[d>>3]=n;m=n}if((e|0)>2){z=+E(+(3.141592653589793/+(e|0)));h[_>>3]=o/z;h[d>>3]=m/z;p=0}else p=0}while(0);m=+h[d>>3];g=NL(b,c[46395]|0,134226)|0;if((a[g>>0]|0)==115?(b$(g,105204)|0)==0:0){h[_>>3]=k;h[d>>3]=f;N=$+40|0;c[N>>2]=c[N>>2]|2048}else{if(!((QL(g)|0)<<24>>24)){z=+h[_>>3];k=k>z?k:z;h[_>>3]=k;z=+h[d>>3];f=f>z?f:z}else{M=c[(c[Z>>2]|0)+104>>2]|0;if(!(!(k<+h[M+24>>3])?!(f<+h[M+32>>3]):0)){L=ry(b)|0;M=ry(ez(b)|0)|0;c[N>>2]=L;c[N+4>>2]=M;Pw(0,102611,N)|0}h[_>>3]=k}h[d>>3]=f}if(!X){z=f;y=k}else{y=k>f?k:f;h[d>>3]=y;h[_>>3]=y;z=y}do if(!((QL(NL(b,c[46386]|0,134226)|0)|0)<<24>>24)){if(p){f=+h[(Q>+h[_>>3]?Y:_)>>3];break}f=+h[d>>3];if(P<f){f=+h[_>>3]*+C(+(1.0-P*P/(f*f)));f=Q>f?Q:f}else f=Q}else f=Q;while(0);g=c[(c[Z>>2]|0)+104>>2]|0;h[g+40>>3]=s-q+f;A=$+40|0;if(!(c[A>>2]&2048)){x=+h[d>>3]-m;h[g+48>>3]=(P<r?r-P+x:x)+P}j=(W|0)>1;g=j?W:1;a:do if((e|0)<3){g=uH(g<<5)|0;k=+h[_>>3]*.5;f=+h[d>>3]*.5;h[g>>3]=-k;h[g+8>>3]=-f;h[g+16>>3]=k;h[g+24>>3]=f;if(j){e=1;i=2;while(1){if((e|0)==(W|0))break;y=k+4.0;z=f+4.0;h[g+(i<<4)>>3]=-y;h[g+(i<<4)+8>>3]=-z;S=i|1;h[g+(S<<4)>>3]=y;h[g+(S<<4)+8>>3]=z;e=e+1|0;i=i+2|0;k=y;f=z}h[_>>3]=k*2.0;h[d>>3]=f*2.0;e=2}else e=2}else{g=uH(O(g<<4,e)|0)|0;i=c[(c[(c[(c[Z>>2]|0)+8>>2]|0)+8>>2]|0)+44>>2]|0;b:do if(!i){q=6.283185307179586/+(e|0);t=q*.5;r=+F(+t);s=+u$(+B(+U)+ +B(+T),1.0);t=T*1.4142135623730951/+E(+t);u=U*.5;w$((q+-3.141592653589793)*.5,R,S);v=V*.017453292519943295;k=0.0;f=0.0;m=0.0;i=0;n=+h[S>>3]*.5;o=+h[R>>3]*.5;while(1){if((i|0)>=(e|0))break b;m=m+q;w$(m,R,S);n=+h[S>>3]*r+n;o=+h[R>>3]*r+o;x=(o*t+s)*n+u*o;w$(+K(+o,+x)+v,R,S);x=+u$(x,o);w=+h[S>>3]*x*+h[_>>3];x=+h[R>>3]*x*+h[d>>3];ba=+B(+w);f=ba>f?ba:f;ba=+B(+x);k=ba>k?ba:k;h[g+(i<<4)>>3]=w;h[g+(i<<4)+8>>3]=x;if(p)break;else i=i+1|0}ba=-w;h[g+16>>3]=ba;h[g+24>>3]=x;h[g+32>>3]=ba;ba=-x;h[g+40>>3]=ba;h[g+48>>3]=w;h[g+56>>3]=ba}else{ub[c[i+4>>2]&63](g,_);k=+h[d>>3]*.5;f=+h[_>>3]*.5}while(0);f=f*2.0;k=k*2.0;y=y>f?y:f;h[_>>3]=y;ba=z>k?z:k;h[d>>3]=ba;f=y/f;k=ba/k;i=0;while(1){if((i|0)>=(e|0))break;N=g+(i<<4)|0;b=g+(i<<4)+8|0;ba=+h[b>>3]*k;h[N>>3]=+h[N>>3]*f;h[b>>3]=ba;i=i+1|0}if(j){j=e+-1|0;k=+h[g>>3];m=+h[g+8>>3];f=+K(+(m-+h[g+(j<<4)+8>>3]),+(k-+h[g+(j<<4)>>3]));j=0;c:while(1){if((j|0)>=(e|0))break;p=j+1|0;i=(p|0)%(e|0)|0;n=+h[g+(i<<4)>>3];o=+h[g+(i<<4)+8>>3];q=+K(+(o-m),+(n-k));z=(f+3.141592653589793-q)*.5;ba=4.0/+F(+z);w$(f-z,R,S);h[R>>3]=+h[R>>3]*ba;h[S>>3]=+h[S>>3]*ba;i=1;f=m;while(1){if((i|0)==(W|0)){f=q;j=p;k=n;m=o;continue c}z=+h[S>>3]+k;ba=+h[R>>3]+f;b=(O(i,e)|0)+j|0;h[g+(b<<4)>>3]=z;h[g+(b<<4)+8>>3]=ba;i=i+1|0;k=z;f=ba}}j=O(e,W+-1|0)|0;i=0;while(1){if((i|0)>=(e|0))break a;S=i+j|0;z=+h[g+(S<<4)+8>>3];y=+B(+(+h[g+(S<<4)>>3]))*2.0;ba=+h[_>>3];h[_>>3]=y>ba?y:ba;z=+B(+z)*2.0;ba=+h[d>>3];h[d>>3]=z>ba?z:ba;i=i+1|0}}}while(0);c[$>>2]=X;c[$+4>>2]=W;c[$+8>>2]=e;h[$+16>>3]=V;h[$+32>>3]=U;h[$+24>>3]=T;c[$+44>>2]=g;f=+h[_>>3];if(!(c[A>>2]&2048)){e=c[Z>>2]|0;h[e+32>>3]=f*.013888888888888888}else{e=c[Z>>2]|0;h[e+32>>3]=+h[(Q>f?Y:_)>>3]*.013888888888888888;d=(P>+h[d>>3]?Y:_)+8|0}h[e+40>>3]=+h[d>>3]*.013888888888888888;c[e+12>>2]=$;l=aa;return}function JJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+64|0;j=o+40|0;e=o+32|0;k=o+16|0;n=o;d=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]|0)>>>2&1^1;m=a+16|0;f=c[c[(c[m>>2]|0)+104>>2]>>2]|0;c[46512]=f;f=W_(f)|0;f=uH(((f|0)>1?f:1)+1|0)|0;b=LJ(a,d,1,f)|0;if(!b){c[e>>2]=c[c[(c[m>>2]|0)+104>>2]>>2];Pw(1,102446,e)|0;c[46512]=102467;b=LJ(a,d,1,f)|0}D_(f);MJ(j,a,b);d=c[m>>2]|0;i=+h[d+32>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))|0);h[n>>3]=i;g=+h[d+40>>3]*72.0;g=+(~~(g+(g>=0.0?.5:-.5))|0);d=n+8|0;h[d>>3]=g;if(!((QL(NL(a,c[46395]|0,134226)|0)|0)<<24>>24)){i=+h[(+h[b>>3]>i?b:n)>>3];h[n>>3]=i;e=b+8|0;g=+h[(+h[e>>3]>g?b:n)+8>>3];h[d>>3]=g;d=e;e=b}else{d=b+8|0;e=b}a=(QL(NL(a,c[46386]|0,134226)|0)|0)&255;c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2];NJ(b,j,a);OJ(k,i*-.5,g*.5);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];PJ(b,j,15);n=c[m>>2]|0;h[n+32>>3]=+h[e>>3]*.013888888888888888;h[n+40>>3]=(+h[d>>3]+1.0)*.013888888888888888;c[n+12>>2]=b;l=o;return}function KJ(a){a=a|0;var b=0.0,d=0,e=0.0,f=0.0,g=0,i=0,j=0,k=0,l=0.0,m=0;j=uH(48)|0;k=a+16|0;g=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+8>>2]|0)+4>>2]|0;f=+LL(a,c[46376]|0,1797693134862315708145274.0e284,0.0);b=+LL(a,c[46375]|0,1797693134862315708145274.0e284,0.0);f=f<b?f:b;f=b==1797693134862315708145274.0e284&f==1797693134862315708145274.0e284?.05:f>0.0?(f>.0003?f:.0003):f;i=c[k>>2]|0;h[i+40>>3]=f;h[i+32>>3]=f;b=f*72.0;g=KL(a,c[46390]|0,g,0)|0;i=uH((g|0)<1?32:g<<5)|0;f=f*36.0;e=-f;h[i>>3]=e;h[i+8>>3]=e;h[i+16>>3]=f;h[i+24>>3]=f;if((g|0)>1){a=1;d=2;e=f;b=f;while(1){if((a|0)==(g|0))break;l=e+4.0;f=b+4.0;h[i+(d<<4)>>3]=-l;h[i+(d<<4)+8>>3]=-f;m=d|1;h[i+(m<<4)>>3]=l;h[i+(m<<4)+8>>3]=f;a=a+1|0;d=d+2|0;e=l;b=f}b=e*2.0}c[j>>2]=1;c[j+4>>2]=g;c[j+8>>2]=2;m=j+16|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[j+44>>2]=i;l=b*.013888888888888888;m=c[k>>2]|0;h[m+32>>3]=l;h[m+40>>3]=l;c[m+12>>2]=j;return}function LJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=uH(72)|0;n=c[(c[b+16>>2]|0)+104>>2]|0;m=0;i=1;j=c[46512]|0;a:while(1){k=a[j>>0]|0;switch(k<<24>>24){case 0:break a;case 92:{j=j+1|0;k=a[j>>0]|0;switch(k<<24>>24){case 124:case 125:case 123:case 92:{l=m;break}default:E=4}break}default:E=4}if((E|0)==4){E=0;switch(k<<24>>24){case 123:{l=m+1|0;break}case 125:{l=m+-1|0;break}default:{l=m;i=i+((m|0)==0&k<<24>>24==124&1)|0}}if((l|0)<0)break}m=l;j=j+1|0}B=g+56|0;c[B>>2]=uH(i<<2)|0;a[g+64>>0]=d;y=(d|0)==0&1;z=n+82|0;A=f+1|0;v=(e|0)!=0;w=n+16|0;x=n+4|0;u=n+8|0;k=0;m=0;d=0;t=0;l=0;e=0;n=f;i=0;j=0;b:while(1){p=k;k=0;c:while(1){d:while(1){s=e;e:while(1){r=k;o=i;f:while(1){q=m;g:while(1){while(1){if(t){E=78;break b}m=c[46512]|0;i=a[m>>0]|0;if((i+-1&255)>=31)break;c[46512]=m+1}switch(i<<24>>24|0){case 92:{E=53;break d}case 0:case 124:case 125:break e;case 60:break f;case 62:break g;case 123:break;default:{k=d;i=m;break d}}i=m+1|0;c[46512]=i;if(l|0){E=34;break b}if(!(a[i>>0]|0)){E=34;break b}e=LJ(b,y,0,f)|0;c[(c[B>>2]|0)+(q<<2)>>2]=e;if(!e){E=36;break b}else{q=q+1|0;l=4}}if(a[z>>0]|0){k=d;i=m;break d}if(!(l&16)){E=27;break b}if(o>>>0>A>>>0?(C=o+-1|0,(C|0)!=(s|0)):0)i=(a[C>>0]|0)==32?C:o;else i=o;a[i>>0]=0;r=n1(f)|0;c[46512]=(c[46512]|0)+1;m=q;l=l&-17;o=i}if(l&6|0){E=22;break b}if(a[z>>0]|0){k=d;i=m;break d}c[46512]=m+1;m=q;l=l|18;k=r;s=f;i=f}if(!((l&16|0)==0&(v|i<<24>>24!=0))){E=38;break b}if(!(l&4)){k=uH(72)|0;c[(c[B>>2]|0)+(q<<2)>>2]=k;m=q+1|0}else{k=p;m=q}if(r|0)c[k+60>>2]=r;if(!(l&5)){a[f+j>>0]=32;l=l|1;j=j+1|0}i=f+j|0;if(l&1){if((j|0)>1?(D=i+-1|0,(D|0)!=(n|0)):0)i=(a[D>>0]|0)==32?D:i;a[i>>0]=0;n=n1(f)|0;c[k+52>>2]=kH(b,n,a[z>>0]|0?2:0,+h[w>>3],c[x>>2]|0,c[u>>2]|0)|0;a[k+64>>0]=1;n=f;j=0}i=c[46512]|0;switch(a[i>>0]|0){case 0:{t=1;e=s;i=o;continue b}case 125:{E=51;break b}default:{}}c[46512]=i+1;p=k;l=0;k=0;e=s;i=o}h:do if((E|0)==53){E=0;k=f+j|0;i=m+1|0;switch(a[i>>0]|0){case 0:{k=d;i=m;break h}case 62:case 60:case 124:case 125:case 123:{k=d;break}case 32:{if(!(a[z>>0]|0))k=1;else E=55;break}default:E=55}if((E|0)==55){E=0;a[k>>0]=92;k=d;l=l|9;j=j+1|0}c[46512]=i}while(0);d=f+j|0;if(l&4|0?(a[i>>0]|0)!=32:0){E=59;break b}if(!(l&24))l=(a[i>>0]|0)==32?l:l|9;if(!(l&8))if(!(l&16))e=s;else{m=a[i>>0]|0;d=(k|0)!=0;if(!(d|m<<24>>24!=32))if((o|0)!=(f|0))if((a[o+-1>>0]|0)==32)m=o;else E=73;else m=f;else E=73;if((E|0)==73){E=0;a[o>>0]=m;m=o+1|0;i=c[46512]|0}e=d?m+-1|0:s;o=m}else{m=a[i>>0]|0;e=(k|0)!=0;if(!((!(e|m<<24>>24!=32)?(a[d+-1>>0]|0)==32:0)?(a[z>>0]|0)==0:0)){a[d>>0]=m;j=j+1|0}if(e){e=s;n=f+j+-1|0}else e=s}i=i+1|0;c[46512]=i;while(1){if((a[i>>0]|0)>=0){m=q;d=k;k=r;i=o;continue c}s=i+1|0;c[46512]=s;a[f+j>>0]=a[i>>0]|0;j=j+1|0;i=s}}}if((E|0)==22){QJ(g,r);g=0}else if((E|0)==27){QJ(g,r);g=0}else if((E|0)==34){QJ(g,r);g=0}else if((E|0)==36){QJ(g,r);g=0}else if((E|0)==38){QJ(g,r);g=0}else if((E|0)==51){c[46512]=i+1;c[g+48>>2]=m}else if((E|0)==59){QJ(g,r);g=0}else if((E|0)==78)c[g+48>>2]=q;return g|0}function MJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;k=u+48|0;m=u+40|0;n=u+32|0;t=u+16|0;s=u;j=c[e+52>>2]|0;a:do if(!j){n=t+8|0;o=e+48|0;p=e+56|0;q=e+64|0;r=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;j=0;while(1){if((j|0)>=(c[o>>2]|0))break a;MJ(s,d,c[(c[p>>2]|0)+(j<<2)>>2]|0);if(!(a[q>>0]|0)){h[n>>3]=+h[n>>3]+ +h[r>>3];k=t;m=+h[t>>3]>+h[s>>3]?t:s}else{h[t>>3]=+h[t>>3]+ +h[s>>3];k=n;m=(+h[n>>3]>+h[r>>3]?t:s)+8|0}h[k>>3]=+h[m>>3];j=j+1|0}}else{g=+h[j+24>>3];f=+h[j+32>>3];if(g>0.0|f>0.0){j=xx(d,102470)|0;do if(j){c[k>>2]=m;c[k+4>>2]=n;j=N1(j,102477,k)|0;if((j|0)<=0){i=8.0;g=g+16.0;break}i=+h[m>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0);g=g+i;if((j|0)!=1){i=+h[n>>3]*72.0;i=+(~~(i+(i>=0.0?.5:-.5))<<1|0)}}else{i=8.0;g=g+16.0}while(0);f=i+f}h[t>>3]=g;h[t+8>>3]=f}while(0);c[e>>2]=c[t>>2];c[e+4>>2]=c[t+4>>2];c[e+8>>2]=c[t+8>>2];c[e+12>>2]=c[t+12>>2];c[b>>2]=c[t>>2];c[b+4>>2]=c[t+4>>2];c[b+8>>2]=c[t+8>>2];c[b+12>>2]=c[t+12>>2];l=u;return}function NJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0;s=l;l=l+32|0;o=s+16|0;p=s;q=+h[d>>3];i=q-+h[b>>3];r=+h[d+8>>3];f=r-+h[b+8>>3];c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];d=c[b+52>>2]|0;if(!((e|0)!=0|(d|0)==0)){n=d+40|0;h[n>>3]=+h[n>>3]+i;n=d+48|0;h[n>>3]=+h[n>>3]+f}m=b+48|0;d=c[m>>2]|0;a:do if(d|0){n=b+64|0;f=((a[n>>0]|0)==0?f:i)/+(d|0);k=b+56|0;j=0;while(1){if((j|0)>=(d|0))break a;b=c[(c[k>>2]|0)+(j<<2)>>2]|0;g=j+1|0;d=~~(f*+(g|0))-~~(f*+(j|0))|0;if(!(a[n>>0]|0))OJ(p,q,+h[b+8>>3]+ +(d|0));else OJ(p,+h[b>>3]+ +(d|0),r);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];NJ(b,o,e);j=g;d=c[m>>2]|0}}while(0);l=s;return}function OJ(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function PJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;q=l;l=l+48|0;j=q+32|0;n=q+16|0;m=q;a[b+65>>0]=e;k=b+16|0;s=+h[d>>3];p=d+8|0;r=+h[p>>3];OJ(n,s,r-+h[b+8>>3]);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];k=b+32|0;OJ(m,+h[b>>3]+s,r);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];k=c[b+48>>2]|0;m=k+-1|0;n=(e|0)==0;o=b+56|0;i=b+64|0;g=0;while(1){if((g|0)>=(k|0))break;do if(!n){b=(g|0)==0;f=(g|0)==(m|0);if(!(a[i>>0]|0))if(b){b=f?15:14;break}else{b=f?11:10;break}else if(b){b=f?15:13;break}else{b=f?7:5;break}}else b=0;while(0);f=c[(c[o>>2]|0)+(g<<2)>>2]|0;c[j>>2]=c[d>>2];c[j+4>>2]=c[d+4>>2];c[j+8>>2]=c[d+8>>2];c[j+12>>2]=c[d+12>>2];PJ(f,j,b&e);if(!(a[i>>0]|0))h[p>>3]=+h[p>>3]-+h[(c[(c[o>>2]|0)+(g<<2)>>2]|0)+8>>3];else h[d>>3]=+h[c[(c[o>>2]|0)+(g<<2)>>2]>>3]+ +h[d>>3];g=g+1|0}l=q;return}function QJ(a,b){a=a|0;b=b|0;RJ(a);D_(b);return}function RJ(a){a=a|0;var b=0,d=0,e=0;d=a+48|0;e=a+56|0;b=0;while(1){if((b|0)>=(c[d>>2]|0))break;RJ(c[(c[e>>2]|0)+(b<<2)>>2]|0);b=b+1|0}D_(c[a+60>>2]|0);nH(c[a+52>>2]|0);D_(c[e>>2]|0);D_(a);return}function SJ(a){a=a|0;var b=0.0,d=0.0;d=+LL(a,c[46376]|0,0.0,.01);b=+LL(a,c[46375]|0,0.0,.02);b=(d>b?d:b)*72.0;return +(+(~~(b+(b>=0.0?.5:-.5))|0))}function TJ(a,b){a=+a;b=+b;var c=0;c=~~(a/b);return +(+((+(c|0)*b+1.0e-05<a&1)+c|0)*b)}function UJ(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+4>>2]>>2]|0)==89&1;return a|0}function VJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;f=c[46513]|0;a:do if(!f)d=0;else{g=c[46514]|0;e=0;while(1){if((e|0)>=(g|0)){d=0;break a}d=c[f+(e<<2)>>2]|0;h=c[d>>2]|0;if((a[h>>0]|0)==(a[b>>0]|0)?(b$(h,b)|0)==0:0)break a;e=e+1|0}}while(0);return d|0}function WJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;if(ZL(xx(d,102500)|0)|0)if((a[b>>0]|0)==101?(b$(b,102659)|0)==0:0){d=101;g=6}else{b=102493;g=4}else g=4;if((g|0)==4){d=a[b>>0]|0;if(d<<24>>24==99)if(!(b$(b,102493)|0))g=11;else{d=99;g=6}else g=6}a:do if((g|0)==6){e=20744;while(1){f=c[e>>2]|0;if(!f){g=11;break a}if((a[f>>0]|0)==d<<24>>24?(b$(f,b)|0)==0:0){b=e;break a}e=e+16|0}}while(0);if((g|0)==11)b=XJ(b)|0;return b|0}function XJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=VJ(b)|0;if(!d){f=c[46514]|0;d=f+1|0;c[46514]=d;e=c[46513]|0;if(!e)d=vH(d<<2)|0;else d=xH(e,d<<2)|0;c[46513]=d;d=uH(16)|0;c[(c[46513]|0)+(f<<2)>>2]=d;c[d>>2]=c[5186];c[d+4>>2]=c[5187];c[d+8>>2]=c[5188];c[d+12>>2]=c[5189];e=n1(b)|0;c[d>>2]=e;do if(!0){if((a[b>>0]|0)==99?(b$(b,102493)|0)==0:0){e=1;break}c[g>>2]=c[5186];c[g+4>>2]=e;Pw(0,102664,g)|0;e=0}else e=1;while(0);a[d+12>>0]=e}l=h;return d|0}function YJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]*.5257311121191336;c=+h[b+8>>3]*.8944271909999159;c=d>c?d:c;h[a>>3]=c*4.97979656976556;h[a+8>>3]=c*4.73606797749979;return}function ZJ(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0.0,k=0,l=0,m=0.0;d=+h[b>>3];k=b+8|0;e=+h[k>>3];c=e/d;if(!(c>.9510565162951536))if(c<.9510565162951536){j=d;e=d*.9510565162951536}else j=d;else j=e*1.0514622242382672;d=j*.5257311121191336;g=j*.20081141588622725;i=j*.05020285397155681;c=.3141592653589793;f=0;while(1){if((f|0)>=10)break;h[a+(f<<4)>>3]=+E(+c)*d;h[a+(f<<4)+8>>3]=+F(+c)*d-i;m=c+.6283185307179586;l=f|1;h[a+(l<<4)>>3]=+E(+m)*g;h[a+(l<<4)+8>>3]=+F(+m)*g-i;c=c+1.2566370614359172;f=f+2|0}h[b>>3]=j;h[k>>3]=e;return}function _J(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a|0){D_(c[a+44>>2]|0);D_(a)}return}function $J(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+80|0;k=o+40|0;g=o;n=o+64|0;h=o+56|0;if(!(a[e>>0]|0)){g=4208;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}else{i=(f|0)==0?103330:f;c[n>>2]=15;j=d+16|0;f=c[j>>2]|0;do if(a[(c[f+104>>2]|0)+82>>0]|0){f=_Q(d,e,n)|0;if(!f){f=c[j>>2]|0;m=8;break}if(nK(d,f,g,i,c[n>>2]|0,0)|0){c[k>>2]=ry(d)|0;c[k+4>>2]=e;c[k+8>>2]=i;Pw(0,103332,k)|0}}else m=8;while(0);if((m|0)==8){if((c[(c[f+8>>2]|0)+8>>2]|0)==1664)h=0;else{c[h>>2]=d;c[h+4>>2]=0}if(nK(d,0,g,e,c[n>>2]|0,h)|0)oK(d,e)}c[g+36>>2]=0;h=b+40|0;do{c[b>>2]=c[g>>2];b=b+4|0;g=g+4|0}while((b|0)<(h|0))}l=o;return}function aK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0;r=l;l=l+112|0;n=r+96|0;m=r+80|0;p=r+64|0;k=r+48|0;q=r+32|0;o=r;f=r+16|0;if(!a){c[46517]=0;a=0}else{g=c[a+4>>2]|0;a=c[a>>2]|0;i=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+8>>2]=c[b+8>>2];c[n+12>>2]=c[b+12>>2];ZG(f,n,i);c[q>>2]=c[f>>2];c[q+4>>2]=c[f+4>>2];c[q+8>>2]=c[f+8>>2];c[q+12>>2]=c[f+12>>2];a:do if(g){d=+h[g+8>>3];e=+h[g+24>>3];s=+h[q>>3];if((+h[g>>3]<=s?s<=+h[g+16>>3]:0)?(j=+h[q+8>>3],d<=j):0)a=j<=e&1;else a=0}else{if((a|0)==(c[46517]|0)){f=c[46518]|0;g=c[46520]|0;i=c[46519]|0}else{g=c[(c[a+16>>2]|0)+12>>2]|0;c[46521]=g;i=c[g+44>>2]|0;c[46519]=i;f=c[g+8>>2]|0;c[46518]=f;g=O((c[g+4>>2]|0)+-1|0,f)|0;g=(g|0)>0?g:0;c[46520]=g;c[46517]=a}a=0;b=0;while(1){if((a|0)>=(f|0)){a=1;break a}t=i+(g+a<<4)|0;c[o>>2]=c[t>>2];c[o+4>>2]=c[t+4>>2];c[o+8>>2]=c[t+8>>2];c[o+12>>2]=c[t+12>>2];t=i+(g+((a+4|0)%(f|0)|0)<<4)|0;c[k>>2]=c[q>>2];c[k+4>>2]=c[q+4>>2];c[k+8>>2]=c[q+8>>2];c[k+12>>2]=c[q+12>>2];c[p>>2]=c[45844];c[p+4>>2]=c[45845];c[p+8>>2]=c[45846];c[p+12>>2]=c[45847];c[m>>2]=c[o>>2];c[m+4>>2]=c[o+4>>2];c[m+8>>2]=c[o+8>>2];c[m+12>>2]=c[o+12>>2];c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];b=b+((mK(k,p,m,n)|0)==0&1)|0;if((b|0)==2){a=0;break}else a=a+2|0}}while(0)}l=r;return a|0}function bK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((a[(c[e+104>>2]|0)+82>>0]|0)!=0?(a[e+145>>0]|0)!=0:0)b=bR(b,d,0,f,g)|0;else b=0;return b|0}function cK(e,f){e=e|0;f=f|0;var i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0;P=l;l=l+48|0;H=P+24|0;G=P+16|0;A=P+8|0;z=P;L=P+32|0;n=P+28|0;M=c[e+16>>2]|0;N=M+208|0;i=c[N>>2]|0;if((i|0)==0?(b[M+260>>1]&1)==0:0)J=0;else E=4;if((E|0)==4)if(!(c[e+152>>2]&4)){PO(e,i,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);J=1}else J=1;I=f+16|0;i=c[I>>2]|0;r=c[i+12>>2]|0;F=c[r+44>>2]|0;K=c[r+8>>2]|0;r=c[r+4>>2]|0;if((c[46515]|0)<(K|0)){i=K+5|0;c[46515]=i;j=c[46516]|0;if(!j)i=vH(i<<4)|0;else i=xH(j,i<<4)|0;c[46516]=i;i=c[I>>2]|0}D=(c[i+104>>2]|0)+56|0;i=i+16|0;c[D>>2]=c[i>>2];c[D+4>>2]=c[i+4>>2];c[D+8>>2]=c[i+8>>2];c[D+12>>2]=c[i+12>>2];D=c[I>>2]|0;B=+h[D+32>>3]*72.0;B=(+h[D+96>>3]+ +h[D+88>>3])/+(~~(B+(B>=0.0?.5:-.5))|0);C=+h[D+40>>3]*72.0;C=+h[D+80>>3]/+(~~(C+(C>=0.0?.5:-.5))|0);D=dK(e,f)|0;c[L>>2]=0;i=d[(c[I>>2]|0)+117>>0]|0;do if(!(i&1)){if(i&2|0){s=OL(f,0,103230)|0;UO(e,s);WO(e,OL(f,0,103238)|0);j=0;i=1;break}if(i&8|0){s=OL(f,0,103246)|0;UO(e,s);WO(e,OL(f,0,103254)|0);j=0;i=1;break}if(i&4|0){s=OL(f,0,103262)|0;UO(e,s);WO(e,OL(f,0,103270)|0);j=0;i=1;break}if(!(D&1))if(!(D&576)){j=0;i=0}else{j=eK(f)|0;i=1}else{j=eK(f)|0;if(!((uG(j,L,n)|0)<<24>>24)){WO(e,j);i=1}else{WO(e,c[L>>2]|0);i=c[L+4>>2]|0;m=KL(f,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(e,134232,m,k);else XO(e,i,m,k);i=(D&2)>>>1|2}}s=fK(e,f)|0}else{s=OL(f,0,103214)|0;UO(e,s);WO(e,OL(f,0,103222)|0);j=0;i=1}while(0);m=c[(c[I>>2]|0)+8>>2]|0;if(a[m+12>>0]|0){m=c[m>>2]|0;if((a[m>>0]|0)==99){m=(b$(m,102493)|0)==0;E=33}else u=1}else{m=1;E=33}if((E|0)==33){m=m^1;if((r|0)!=0|i<<24>>24==0|m)u=m;else{UO(e,134297);r=1;u=0}}v=(K|0)<3;w=(D&512|0)!=0;y=(D&8|0)==0;x=(D&64|0)==0;p=(D&1024|0)==0;q=(D&2130706444|0)==0;t=0;while(1){if((t|0)>=(r|0))break;n=O(t,K)|0;o=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;R=m+n|0;k=+h[F+(R<<4)+8>>3];Q=c[I>>2]|0;h[o+(m<<4)>>3]=+h[Q+16>>3]+ +h[F+(R<<4)>>3]*B;h[o+(m<<4)+8>>3]=+h[Q+24>>3]+k*C;m=m+1|0}do if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,o,j)|0)>1){c[z>>2]=ry(f)|0;Pw(3,103278,z)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(!y)gK(e,f)}else{if(!x){if((t|0)==0?(WE(e,o,j,1)|0)>1:0){c[A>>2]=ry(f)|0;Pw(3,103278,A)|0}_O(e,c[46516]|0,K,0);break}if(!p){UO(e,134297);_O(e,c[46516]|0,K,i&255);UO(e,s);bP(e,(c[46516]|0)+32|0,2);break}i=i&255;if(q){_O(e,o,K,i);break}else{EJ(e,o,K,D,i);break}}while(0);t=t+1|0;i=0}m=c[(c[I>>2]|0)+8>>2]|0;if(!(a[m+12>>0]|0)){m=xx(f,105999)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{m=c[m>>2]|0;if((a[m>>0]|0)==99?(b$(m,102493)|0)==0:0){m=xx(f,102500)|0;if(m|0?a[m>>0]|0:0){o=m;E=65}}else{o=m;E=65}}if((E|0)==65){n=c[46516]|0;m=0;while(1){if((m|0)>=(K|0))break;k=+h[F+(m<<4)+8>>3];R=c[I>>2]|0;h[n+(m<<4)>>3]=+h[R+16>>3]+ +h[F+(m<<4)>>3]*B;h[n+(m<<4)+8>>3]=+h[R+24>>3]+k*C;m=m+1|0}m=i&255;do if(!(u|i<<24>>24==0)){if(v){if(w&(t|0)==0?(A$(j,58)|0)!=0:0)if((SE(e,n,j)|0)>1){c[G>>2]=ry(f)|0;Pw(3,103278,G)|0;i=0}else i=0;ZO(e,c[46516]|0,K,i&255);if(y)break;gK(e,f);break}if(x)if(!(D&12)){_O(e,n,K,m);break}else{EJ(e,n,K,D,m);break}else{if((WE(e,n,j,1)|0)>1){c[H>>2]=ry(f)|0;Pw(3,103278,H)|0}_O(e,c[46516]|0,K,0);break}}while(0);R=c[46516]|0;dP(e,o,R,K,i,NL(f,c[46396]|0,134226)|0)}D_(c[L>>2]|0);oH(e,10,c[(c[I>>2]|0)+104>>2]|0);if(J){if(c[e+152>>2]&4|0)PO(e,c[N>>2]|0,c[M+228>>2]|0,c[M+244>>2]|0,c[M+212>>2]|0);QO(e)}l=P;return}function dK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;e=jK(d,f)|0;if(e|0)YO(b,e);e=c[46402]|0;if((e|0?(g=yx(d,e)|0,g|0):0)?a[g>>0]|0:0)fP(b,+LL(d,c[46402]|0,1.0,0.0));l=h;return c[f>>2]|0}function eK(a){a=a|0;return iK(a,131718)|0}function fK(b,d){b=b|0;d=d|0;d=OL(d,c[46378]|0,191979)|0;d=a[d>>0]|0?d:134232;UO(b,d);return d|0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0;d=l;l=l+96|0;j=d+80|0;k=d+64|0;e=d+32|0;m=d+16|0;g=d;b=c[b+16>>2]|0;f=+h[b+80>>3];h[m+8>>3]=f*.375;i=+h[b+96>>3];h[m>>3]=i*.6614;b=b+16|0;c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2];c[j>>2]=c[b>>2];c[j+4>>2]=c[b+4>>2];c[j+8>>2]=c[b+8>>2];c[j+12>>2]=c[b+12>>2];hK(g,k,j);c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];g=e+8|0;b=e+24|0;h[b>>3]=+h[g>>3];h[e+16>>3]=+h[e>>3]-i*1.3228;bP(a,e,2);f=+h[g>>3]-f*.75;h[g>>3]=f;h[b>>3]=f;bP(a,e,2);l=d;return}function hK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function iK(b,d){b=b|0;d=d|0;var e=0;e=OL(b,c[46379]|0,191979)|0;if(!(a[e>>0]|0)){e=OL(b,c[46378]|0,191979)|0;return ((a[e>>0]|0)==0?d:e)|0}else return e|0;return 0}function jK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=OL(b,c[46387]|0,191979)|0;a:do if(!(a[e>>0]|0)){g=0;e=0}else{g=AF(e)|0;h=g;e=0;b:while(1){f=c[h>>2]|0;if(!f)break a;switch(a[f>>0]|0){case 102:{if(!(b$(f,108075)|0)){h=h+4|0;e=e|1;continue b}break}case 114:{if(!(b$(f,103290)|0)){f=h;do{j=f;f=f+4|0;i=c[f>>2]|0;c[j>>2]=i}while((i|0)!=0);j=h;e=e|4;h=j;continue b}if(!(b$(f,103308)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|3;h=j;continue b}break}case 100:{if(!(b$(f,103298)|0)){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|8;h=j;continue b}break}case 105:{if(!(b$(f,131253)|0)){h=h+4|0;e=e|32;continue b}break}case 115:{if((b$(f,103315)|0)==0?kK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|64;h=j;continue b}break}case 119:{if((b$(f,103323)|0)==0?lK(b)|0:0){f=h;do{i=f;f=f+4|0;j=c[f>>2]|0;c[i>>2]=j}while((j|0)!=0);j=h;e=e|512;h=j;continue b}break}default:{}}h=h+4|0}}while(0);f=c[(c[(c[b+16>>2]|0)+8>>2]|0)+8>>2]|0;if(f)e=c[f+40>>2]|e;c[d>>2]=e;return g|0}function kK(a){a=a|0;var b=0.0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if((((a|0)!=0?(c[a+8>>2]|0)==4:0)?(b=+h[a+16>>3],((~~(b+(b>=0.0?.5:-.5))|0)%90|0|0)==0):0)?+h[a+24>>3]==0.0:0)a=+h[a+32>>3]==0.0&1;else a=0;return a|0}function lK(a){a=a|0;a=c[(c[(c[a+16>>2]|0)+8>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[a+8>>2]|0)<3&1;return a|0}function mK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;i=+h[c+8>>3];g=-(+h[d+8>>3]-i);f=+h[c>>3];e=+h[d>>3]-f;f=e*i+f*g;return (+h[a+8>>3]*e+ +h[a>>3]*g-f>=0.0^+h[b>>3]*g-f+ +h[b+8>>3]*e>=0.0^1)&1|0}function nK(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;G=l;l=l+192|0;B=G+176|0;E=G+160|0;m=G+144|0;z=G+128|0;A=G+112|0;n=G+96|0;o=G+80|0;p=G+64|0;v=G+48|0;w=G+32|0;x=G+16|0;D=G;if(!d){c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;m=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;C=c[b+16>>2]|0;q=+h[C+80>>3]*.5;j=+h[C+88>>3];t=m?q:j;q=m?j:q;m=0;C=E;j=0.0;k=-q;r=t;F=E+8|0;s=0.0;t=-t}else{k=+h[d>>3];t=+h[d+8>>3];q=+h[d+16>>3];r=+h[d+24>>3];OJ(m,(q+k)*.5,(r+t)*.5);c[E>>2]=c[m>>2];c[E+4>>2]=c[m+4>>2];c[E+8>>2]=c[m+8>>2];c[E+12>>2]=c[m+12>>2];H=E+8|0;m=1;C=E;j=+h[E>>3];F=H;s=+h[H>>3]}u=(q>r?q:r)*4.0;a:do if((f|0)!=0?(y=a[f>>0]|0,y<<24>>24!=0):0){f=f+1|0;switch(y<<24>>24|0){case 99:{p=1;g=0;f=0;n=0;j=0.0;o=0;break a}case 101:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=q;else{pK(z,i,s,u);c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2]}p=0;g=g&2;f=0;n=1;j=0.0;o=0;m=1;break a}case 115:{h[F>>3]=t;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(A,i,-u,j);c[E>>2]=c[A>>2];c[E+4>>2]=c[A+4>>2];c[E+8>>2]=c[A+8>>2];c[E+12>>2]=c[A+12>>2]}p=0;g=g&1;f=0;n=1;j=-1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(n,i,-u,u);c[E>>2]=c[n>>2];c[E+4>>2]=c[n+4>>2];c[E+8>>2]=c[n+8>>2];c[E+12>>2]=c[n+12>>2]}p=0;g=g&3;f=0;n=1;j=-.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{u=-u;pK(o,i,u,u);c[E>>2]=c[o>>2];c[E+4>>2]=c[o+4>>2];c[E+8>>2]=c[o+8>>2];c[E+12>>2]=c[o+12>>2]}p=0;g=g&9;f=0;n=1;j=-2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 119:{if(a[f>>0]|0){p=1;g=0;f=0;n=0;j=0.0;o=1;break a}if(!i)h[C>>3]=k;else{pK(p,i,s,-u);c[E>>2]=c[p>>2];c[E+4>>2]=c[p+4>>2];c[E+8>>2]=c[p+8>>2];c[E+12>>2]=c[p+12>>2]}p=0;g=g&8;f=0;n=1;j=3.141592653589793;o=0;m=1;break a}case 110:{h[F>>3]=r;switch(a[f>>0]|0){case 0:{if(!i)h[C>>3]=j;else{pK(v,i,u,j);c[E>>2]=c[v>>2];c[E+4>>2]=c[v+4>>2];c[E+8>>2]=c[v+8>>2];c[E+12>>2]=c[v+12>>2]}p=0;g=g&4;f=0;n=1;j=1.5707963267948966;o=0;m=1;break a}case 101:{if(!i)h[C>>3]=q;else{pK(w,i,u,u);c[E>>2]=c[w>>2];c[E+4>>2]=c[w+4>>2];c[E+8>>2]=c[w+8>>2];c[E+12>>2]=c[w+12>>2]}p=0;g=g&6;f=0;n=1;j=.7853981633974483;o=0;m=1;break a}case 119:{if(!i)h[C>>3]=k;else{pK(x,i,u,-u);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2]}p=0;g=g&12;f=0;n=1;j=2.356194490192345;o=0;m=1;break a}default:{h[F>>3]=s;p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}case 95:{p=1;f=1;n=0;j=0.0;o=0;break a}default:{p=1;g=0;f=0;n=0;j=0.0;o=1;break a}}}else{p=1;g=0;f=0;n=0;j=0.0;o=0}while(0);H=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)*90|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];YG(D,B,H);c[E>>2]=c[D>>2];c[E+4>>2]=c[D+4>>2];c[E+8>>2]=c[D+8>>2];c[E+12>>2]=c[D+12>>2];if(!(f<<24>>24))g=qK(g,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3)|0;a[e+33>>0]=g;c[e+24>>2]=d;k=+h[C>>3];h[e>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);k=+h[F>>3];h[e+8>>3]=+(~~(k+(k>=0.0?.5:-.5))|0);h[e+16>>3]=+rK(j,c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&3);k=+h[C>>3];j=+h[F>>3];if(k==0.0&j==0.0)g=-128;else{u=+K(+j,+k);t=u+4.71238898038469;g=~~((!(t>=6.283185307179586)?t:u+-1.5707963267948966)*40.74366543152521)&255}a[e+32>>0]=g;a[e+29>>0]=n;a[e+28>>0]=m;a[e+30>>0]=p;a[e+31>>0]=f;l=G;return o|0}function oK(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=ry(a)|0;c[e+4>>2]=b;Pw(0,103393,e)|0;l=d;return}function pK(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+128|0;g=p+112|0;j=p+48|0;k=p+16|0;m=p+32|0;n=p;o=c[b>>2]|0;i=c[(c[(ez(o)|0)+16>>2]|0)+116>>2]&3;h[k>>3]=e;h[k+8>>3]=d;f=(i|0)!=0;if(f){c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];YG(m,g,i*90|0);c[k>>2]=c[m>>2];c[k+4>>2]=c[m+4>>2];c[k+8>>2]=c[m+8>>2];c[k+12>>2]=c[m+12>>2]}m=j+48|0;q=j+32|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[q+8>>2]=c[k+8>>2];c[q+12>>2]=c[k+12>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];MK(b,c[(c[(c[(c[o+16>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0,j,1);if(f){c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];ZG(n,g,i*90|0);c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];c[j+12>>2]=c[n+12>>2]};c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=p;return}function qK(a,b){a=a|0;b=b|0;a:do switch(b|0){case 3:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=1;break a}case 2:{a=4;break a}default:break a}case 2:switch(a|0){case 4:{a=1;break a}case 1:{a=4;break a}default:break a}case 1:switch(a|0){case 4:{a=2;break a}case 1:{a=8;break a}case 8:{a=4;break a}case 2:{a=1;break a}default:break a}default:{}}while(0);return a|0}function rK(a,b){a=+a;b=b|0;switch(b|0){case 3:{if(!(a==3.141592653589793))if(!(a==2.356194490192345))if(!(a==1.5707963267948966))if(!(a==0.0))if(!(a==-.7853981633974483)){if(a==-1.5707963267948966)a=3.141592653589793}else a=2.356194490192345;else a=1.5707963267948966;else a=0.0;else a=-.7853981633974483;else a=-1.5707963267948966;break}case 2:{a=-a;break}case 1:{a=a+-1.5707963267948966;break}default:{}}return +a}function sK(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,i=0,j=0,k=0;e=l;l=l+32|0;k=e+16|0;i=e;a=c[a>>2]|0;j=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];ZG(i,k,j);d=+h[i>>3];g=+h[i+8>>3];a=c[a+16>>2]|0;f=+h[a+80>>3]*.5;if(!(!(g>=-f)|!(g<=f))?d>=-+h[a+88>>3]:0)a=d<=+h[a+96>>3]&1;else a=0;l=e;return a|0}function tK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0.0;n=l;l=l+32|0;m=n;i=c[a+16>>2]|0;j=i+208|0;g=c[j>>2]|0;if(!g)k=(b[i+260>>1]&1)!=0;else k=1;e=d+16|0;d=c[e>>2]|0;f=c[d+12>>2]|0;if(f|0){if(k?(c[a+152>>2]&4|0)==0:0){PO(a,g,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);d=c[e>>2]|0}g=c[a+36>>2]|0;p=+h[d+24>>3]+ +(c[f+8>>2]|0);o=c[f>>2]|0;h[m>>3]=+h[d+16>>3]+ +(c[f+4>>2]|0);h[m+8>>3]=p;c[m+16>>2]=o;g1(g,103424,m)|0;g=c[e>>2]|0;m=(c[g+104>>2]|0)+56|0;g=g+16|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];oH(a,10,c[(c[e>>2]|0)+104>>2]|0);if(k){if(c[a+152>>2]&4|0)PO(a,c[j>>2]|0,c[i+228>>2]|0,c[i+244>>2]|0,c[i+212>>2]|0);QO(a)}}l=n;return}function uK(a){a=a|0;RJ(c[(c[a+16>>2]|0)+12>>2]|0);return}function vK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;k=m+40|0;h=m;if(!(a[f>>0]|0)){h=4208;g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}else{g=(g|0)==0?103330:g;i=c[(c[e+16>>2]|0)+12>>2]|0;j=BK(i,f)|0;if(!j){if(nK(e,i+16|0,h,f,15,0)|0)oK(e,f)}else if(nK(e,j+16|0,h,g,d[j+65>>0]|0,0)|0){c[k>>2]=ry(e)|0;c[k+4>>2]=f;c[k+8>>2]=g;Pw(0,103332,k)|0}g=b+40|0;do{c[b>>2]=c[h>>2];b=b+4|0;h=h+4|0}while((b|0)<(g|0))}l=m;return}function wK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0.0,k=0,m=0,n=0.0;k=l;l=l+32|0;m=k+16|0;i=k;f=c[a+4>>2]|0;a=c[a>>2]|0;g=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[m>>2]=c[b>>2];c[m+4>>2]=c[b+4>>2];c[m+8>>2]=c[b+8>>2];c[m+12>>2]=c[b+12>>2];ZG(i,m,g);c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];if(!f){f=c[(c[a+16>>2]|0)+12>>2]|0;g=f+16|0;a=f+24|0;i=f+32|0;f=f+40|0}else{g=f;a=f+8|0;i=f+16|0;f=f+24|0}e=+h[a>>3];d=+h[f>>3];n=+h[b>>3];if((+h[g>>3]<=n?n<=+h[i>>3]:0)?(j=+h[b+8>>3],e<=j):0)a=j<=d&1;else a=0;l=k;return a|0}function xK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;u=l;l=l+80|0;r=u+64|0;q=u+32|0;t=u;a:do if(!(a[d+28>>0]|0))e=0;else{i=+h[d>>3];p=b+16|0;m=c[(c[p>>2]|0)+12>>2]|0;k=m+48|0;m=m+56|0;d=0;while(1){if((d|0)>=(c[k>>2]|0))break a;n=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[(c[m>>2]|0)+(d<<2)>>2]|0;j=+(~~+h[(n?o+16|0:o+24|0)>>3]|0);if(i>=j?(s=+(~~+h[(n?o+32|0:o+40|0)>>3]|0),i<=s):0)break;d=d+1|0}if(!(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1)){t=c[p>>2]|0;v=+h[t+16>>3];h[f>>3]=v+j;j=+h[t+24>>3];i=+h[t+80>>3];h[f+8>>3]=j-i*.5;h[f+16>>3]=v+s}else{o=(c[(c[m>>2]|0)+(d<<2)>>2]|0)+16|0;b=(c[p>>2]|0)+16|0;c[q>>2]=c[o>>2];c[q+4>>2]=c[o+4>>2];c[q+8>>2]=c[o+8>>2];c[q+12>>2]=c[o+12>>2];c[q+16>>2]=c[o+16>>2];c[q+20>>2]=c[o+20>>2];c[q+24>>2]=c[o+24>>2];c[q+28>>2]=c[o+28>>2];c[r>>2]=c[b>>2];c[r+4>>2]=c[b+4>>2];c[r+8>>2]=c[b+8>>2];c[r+12>>2]=c[b+12>>2];_G(t,q,r);c[f>>2]=c[t>>2];c[f+4>>2]=c[t+4>>2];c[f+8>>2]=c[t+8>>2];c[f+12>>2]=c[t+12>>2];c[f+16>>2]=c[t+16>>2];c[f+20>>2]=c[t+20>>2];c[f+24>>2]=c[t+24>>2];c[f+28>>2]=c[t+28>>2];t=c[p>>2]|0;i=+h[t+80>>3];j=+h[t+24>>3]}h[f+24>>3]=i*.5+j;c[g>>2]=1}while(0);l=u;return e|0}function yK(d,e){d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=l;l=l+144|0;n=w+96|0;p=w+64|0;r=w;s=w+128|0;t=c[d+16>>2]|0;u=t+208|0;f=c[u>>2]|0;if(!f)v=(b[t+260>>1]&1)!=0;else v=1;m=e+16|0;q=c[m>>2]|0;o=c[q+12>>2]|0;j=o+16|0;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[p+20>>2]=c[j+20>>2];c[p+24>>2]=c[j+24>>2];c[p+28>>2]=c[j+28>>2];x=+h[q+16>>3];h[p>>3]=+h[p>>3]+x;k=+h[q+24>>3];q=p+8|0;h[q>>3]=+h[q>>3]+k;q=p+16|0;h[q>>3]=+h[q>>3]+x;j=p+24|0;h[j>>3]=+h[j>>3]+k;if(v?(c[d+152>>2]&4|0)==0:0)PO(d,f,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);f=dK(d,e)|0;fK(d,e)|0;c[s>>2]=0;if(!(f&1))i=0;else{i=eK(e)|0;if(!((uG(i,s,n)|0)<<24>>24)){WO(d,i);i=1}else{WO(d,c[s>>2]|0);i=c[s+4>>2]|0;j=KL(e,c[46403]|0,0,0)|0;k=+g[n>>2];if(!i)XO(d,134232,j,k);else XO(d,i,j,k);i=f>>>1&1|2}}j=c[c[(c[m>>2]|0)+8>>2]>>2]|0;if((a[j>>0]|0)==77){m=(b$(j,103201)|0)==0;f=m?f|4:f}if(!(f&2130706444)){c[n>>2]=c[p>>2];c[n+4>>2]=c[p+4>>2];c[n+8>>2]=c[p+8>>2];c[n+12>>2]=c[p+12>>2];c[n+16>>2]=c[p+16>>2];c[n+20>>2]=c[p+20>>2];c[n+24>>2]=c[p+24>>2];c[n+28>>2]=c[p+28>>2];$O(d,n,i)}else{c[r>>2]=c[p>>2];c[r+4>>2]=c[p+4>>2];c[r+8>>2]=c[p+8>>2];c[r+12>>2]=c[p+12>>2];p=r+32|0;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];c[p+8>>2]=c[q+8>>2];c[p+12>>2]=c[q+12>>2];h[r+16>>3]=+h[p>>3];h[r+24>>3]=+h[r+8>>3];h[r+48>>3]=+h[r>>3];h[r+56>>3]=+h[r+40>>3];EJ(d,r,4,f,i)}zK(d,e,o);D_(c[s>>2]|0);if(v){if(c[d+152>>2]&4|0)PO(d,c[u>>2]|0,c[t+228>>2]|0,c[t+244>>2]|0,c[t+212>>2]|0);QO(d)}l=w;return}function zK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+128|0;o=u+112|0;q=u+16|0;r=u;g=u+96|0;i=u+80|0;s=u+64|0;t=u+48|0;j=e+52|0;f=c[j>>2]|0;if(!f)f=d+16|0;else{n=f+56|0;m=e+16|0;f=e+32|0;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[o+8>>2]=c[m+8>>2];c[o+12>>2]=c[m+12>>2];c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];AK(g,o,p);f=d+16|0;m=(c[f>>2]|0)+16|0;c[o>>2]=c[g>>2];c[o+4>>2]=c[g+4>>2];c[o+8>>2]=c[g+8>>2];c[o+12>>2]=c[g+12>>2];c[p>>2]=c[m>>2];c[p+4>>2]=c[m+4>>2];c[p+8>>2]=c[m+8>>2];c[p+12>>2]=c[m+12>>2];hK(i,o,p);c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];oH(b,10,c[j>>2]|0);fK(b,d)|0}k=(c[f>>2]|0)+16|0;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];k=e+48|0;m=e+64|0;n=q+16|0;j=e+56|0;e=q+16|0;i=0;while(1){if((i|0)>=(c[k>>2]|0))break;if((i|0)>0){f=(c[j>>2]|0)+(i<<2)|0;g=c[f>>2]|0;if(!(a[m>>0]|0)){g=g+32|0;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];c[n+8>>2]=c[g+8>>2];c[n+12>>2]=c[g+12>>2];h[q>>3]=+h[(c[f>>2]|0)+16>>3];f=n;g=0}else{g=g+16|0;c[q>>2]=c[g>>2];c[q+4>>2]=c[g+4>>2];c[q+8>>2]=c[g+8>>2];c[q+12>>2]=c[g+12>>2];h[e>>3]=+h[q>>3];f=(c[f>>2]|0)+32|0;g=1}h[q+(g<<4)+8>>3]=+h[f+8>>3];c[o>>2]=c[q>>2];c[o+4>>2]=c[q+4>>2];c[o+8>>2]=c[q+8>>2];c[o+12>>2]=c[q+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];hK(s,o,p);c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];c[q+8>>2]=c[s+8>>2];c[q+12>>2]=c[s+12>>2];c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];hK(t,o,p);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];bP(b,q,2)}zK(b,d,c[(c[j>>2]|0)+(i<<2)>>2]|0);i=i+1|0}l=u;return}function AK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function BK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!=0?(a[e>>0]|0)==(a[d>>0]|0):0)?(b$(e,d)|0)==0:0))f=4;a:do if((f|0)==4){g=b+56|0;f=c[b+48>>2]|0;e=0;while(1){if((e|0)>=(f|0)){b=0;break a}b=BK(c[(c[g>>2]|0)+(e<<2)>>2]|0,d)|0;if(!b)e=e+1|0;else break}}while(0);return b|0}function CK(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function DK(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0;k=+h[b>>3];f=k*.5;m=+h[b+8>>3];i=m*.5;h[a>>3]=f;e=m*.40909090909090906;h[a+8>>3]=e;h[a+16>>3]=f;g=m*.4592530909090909;h[a+24>>3]=g;j=k*.275892;h[a+32>>3]=j;h[a+40>>3]=i;h[a+48>>3]=0.0;h[a+56>>3]=i;k=k*-.275892;h[a+64>>3]=k;h[a+72>>3]=i;l=-f;h[a+80>>3]=l;h[a+88>>3]=g;d=a+96|0;h[d>>3]=l;h[a+104>>3]=e;b=a+112|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+128|0;h[b>>3]=l;h[a+136>>3]=m*-.40909090909090906;d=a+144|0;c[d>>2]=c[b>>2];c[d+4>>2]=c[b+4>>2];c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];h[a+160>>3]=l;g=-g;h[a+168>>3]=g;h[a+176>>3]=k;i=-i;h[a+184>>3]=i;h[a+192>>3]=0.0;h[a+200>>3]=i;h[a+208>>3]=j;h[a+216>>3]=i;h[a+224>>3]=f;h[a+232>>3]=g;d=a+240|0;h[d>>3]=f;h[a+248>>3]=-e;b=a+256|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];b=a+288|0;d=a+272|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];c[b+8>>2]=c[a+8>>2];c[b+12>>2]=c[a+12>>2];return}function EK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+144|0;u=x+112|0;t=x+96|0;v=x+80|0;s=x+64|0;w=x+32|0;q=x+16|0;r=x;g=x+48|0;do if(a){j=c[a+4>>2]|0;k=c[a>>2]|0;o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&3)*90|0;c[u>>2]=c[b>>2];c[u+4>>2]=c[b+4>>2];c[u+8>>2]=c[b+8>>2];c[u+12>>2]=c[b+12>>2];ZG(g,u,o);c[w>>2]=c[g>>2];c[w+4>>2]=c[g+4>>2];c[w+8>>2]=c[g+8>>2];c[w+12>>2]=c[g+12>>2];if(j|0){d=+h[w>>3];if(!(+h[j>>3]<=d)){a=0;break}if(!(d<=+h[j+16>>3])){a=0;break}d=+h[w+8>>3];if(!(+h[j+8>>3]<=d)){a=0;break}a=d<=+h[j+24>>3];break}if((k|0)==(c[46522]|0)){d=+h[22924];e=+h[22925];i=+h[22926]}else{a=k+16|0;b=c[(c[a>>2]|0)+12>>2]|0;c[46523]=b;c[46524]=c[b+44>>2];c[46525]=c[b+8>>2];if(!(c[b+40>>2]&2048)){n=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;o=c[a>>2]|0;h[(n?183416:183424)>>3]=+h[o+96>>3]+ +h[o+88>>3];h[(n?183424:183416)>>3]=+h[o+80>>3];i=+h[o+32>>3]*72.0;f=+h[o+40>>3]*72.0;f=+(~~(f+(f>=0.0?.5:-.5))|0);i=+(~~(i+(i>=0.0?.5:-.5))|0)}else{jM(u,b);i=+h[u+16>>3]-+h[u>>3];f=+h[u+24>>3]-+h[u+8>>3];o=(c[(c[(ez(k)|0)+16>>2]|0)+116>>2]&1|0)==0;h[(o?183416:183424)>>3]=i;h[(o?183424:183416)>>3]=f}d=+h[22927];if(d==0.0){h[22927]=1.0;d=1.0}e=+h[22928];if(e==0.0){h[22928]=1.0;e=1.0}d=i/d;h[22924]=d;e=f/e;h[22925]=e;i=i*.5;h[22926]=i;h[22929]=f*.5;o=O((c[(c[46523]|0)+4>>2]|0)+-1|0,c[46525]|0)|0;c[46526]=(o|0)>0?o:0;c[46522]=k}f=+h[w>>3]*d;h[w>>3]=f;o=w+8|0;d=+h[o>>3]*e;h[o>>3]=d;if(!(+B(+f)>i)?(e=+B(+d),p=+h[22929],!(e>p)):0){o=c[46525]|0;if((o|0)<3){a=+u$(f/i,d/p)<1.0;break}b=(c[46527]|0)%(o|0)|0;a=(b+1|0)%(o|0)|0;k=c[46524]|0;m=c[46526]|0;n=k+(m+b<<4)|0;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[q+8>>2]=c[n+8>>2];c[q+12>>2]=c[n+12>>2];n=k+(m+a<<4)|0;c[r>>2]=c[n>>2];c[r+4>>2]=c[n+4>>2];c[r+8>>2]=c[n+8>>2];c[r+12>>2]=c[n+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[n>>2];c[u+4>>2]=c[n+4>>2];c[u+8>>2]=c[n+8>>2];c[u+12>>2]=c[n+12>>2];if(mK(s,v,t,u)|0){c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[q>>2];c[v+4>>2]=c[q+4>>2];c[v+8>>2]=c[q+8>>2];c[v+12>>2]=c[q+12>>2];c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[u>>2]=c[45860];c[u+4>>2]=c[45861];c[u+8>>2]=c[45862];c[u+12>>2]=c[45863];n=(mK(s,v,t,u)|0)!=0;if(n?(c[s>>2]=c[w>>2],c[s+4>>2]=c[w+4>>2],c[s+8>>2]=c[w+8>>2],c[s+12>>2]=c[w+12>>2],c[v>>2]=c[r>>2],c[v+4>>2]=c[r+4>>2],c[v+8>>2]=c[r+8>>2],c[v+12>>2]=c[r+12>>2],c[t>>2]=c[45860],c[t+4>>2]=c[45861],c[t+8>>2]=c[45862],c[t+12>>2]=c[45863],c[u>>2]=c[q>>2],c[u+4>>2]=c[q+4>>2],c[u+8>>2]=c[q+8>>2],c[u+12>>2]=c[q+12>>2],(mK(s,v,t,u)|0)!=0):0){a=1;break}else{j=b;b=1}while(1){if((b|0)>=(o|0)){b=31;break}if(n){g=a;a=(a+1|0)%(o|0)|0}else{g=(j+-1+o|0)%(o|0)|0;a=j}q=k+(m+g<<4)|0;r=k+(m+a<<4)|0;c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];c[v>>2]=c[45860];c[v+4>>2]=c[45861];c[v+8>>2]=c[45862];c[v+12>>2]=c[45863];c[t>>2]=c[q>>2];c[t+4>>2]=c[q+4>>2];c[t+8>>2]=c[q+8>>2];c[t+12>>2]=c[q+12>>2];c[u>>2]=c[r>>2];c[u+4>>2]=c[r+4>>2];c[u+8>>2]=c[r+8>>2];c[u+12>>2]=c[r+12>>2];if(!(mK(s,v,t,u)|0)){b=30;break}else{j=g;b=b+1|0}}if((b|0)==30){c[46527]=g;a=0;break}else if((b|0)==31){c[46527]=j;a=1;break}}else a=0}else a=0}else{c[46522]=0;a=0}while(0);l=x;return a&1|0}function FK(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;i=j;if(a){a=c[a>>2]|0;k=(c[(c[(ez(a)|0)+16>>2]|0)+116>>2]&3)*90|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];ZG(i,f,k);g=+h[i>>3];e=+h[i+8>>3];if((a|0)==(c[46530]|0))d=+h[22932];else{i=c[(c[a+16>>2]|0)+12>>2]|0;k=(c[i+4>>2]<<1)+-2|0;d=+h[(c[i+44>>2]|0)+((((k|0)>0?k:0)|1)<<4)>>3];h[22932]=d;c[46530]=a}if(+B(+g)>d|+B(+e)>d)a=0;else a=+u$(g,e)<=d&1}else{c[46530]=0;a=0}l=j;return a|0}function GK(e,f){e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0;t=l;l=l+16|0;j=t;r=c[e+16>>2]|0;s=r+208|0;g=c[s>>2]|0;if((g|0)==0?(b[r+260>>1]&1)==0:0)q=0;else if(!(c[e+152>>2]&4)){PO(e,g,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);q=1}else q=1;n=f+16|0;k=c[(c[n>>2]|0)+12>>2]|0;o=c[k+44>>2]|0;p=c[k+8>>2]|0;k=c[k+4>>2]|0;if((c[46528]|0)<(p|0)){g=p+2|0;c[46528]=g;i=c[46529]|0;if(!i)g=vH(g<<4)|0;else g=xH(i,g<<4)|0;c[46529]=g}jK(f,j)|0;if(!(c[j>>2]&32))YO(e,21916);else YO(e,21912);g=c[46402]|0;if(g|0)fP(e,+LL(f,g,1.0,0.0));g=d[(c[n>>2]|0)+117>>0]|0;do if(!(g&1)){if(g&2|0){UO(e,OL(f,0,103230)|0);g=OL(f,0,103238)|0;WO(e,g);break}if(g&8|0){UO(e,OL(f,0,103246)|0);g=OL(f,0,103254)|0;WO(e,g);break}if(!(g&4)){g=iK(f,134232)|0;WO(e,g);fK(e,f)|0;break}else{UO(e,OL(f,0,103262)|0);g=OL(f,0,103270)|0;WO(e,g);break}}else{UO(e,OL(f,0,103214)|0);g=OL(f,0,103222)|0;WO(e,g)}while(0);if(!k)if(!(a[g>>0]|0))i=1;else{UO(e,g);i=1}else i=k;j=1;f=0;while(1){if((f|0)>=(i|0))break;k=O(f,p)|0;m=c[46529]|0;g=0;while(1){if((g|0)>=(p|0))break;w=g+k|0;u=+h[o+(w<<4)+8>>3];v=c[n>>2]|0;h[m+(g<<4)>>3]=+h[v+16>>3]+ +h[o+(w<<4)>>3];h[m+(g<<4)+8>>3]=+h[v+24>>3]+u;g=g+1|0}ZO(e,m,p,j);j=0;f=f+1|0}if(q){if(c[e+152>>2]&4|0)PO(e,c[s>>2]|0,c[r+228>>2]|0,c[r+244>>2]|0,c[r+212>>2]|0);QO(e)}l=t;return}function HK(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+48|0;h=g;e=IK(b,e,f)|0;c[h+36>>2]=c[f+36>>2];nK(b,c[f+24>>2]|0,h,e,d[f+33>>0]|0,0)|0;b=h;e=a+40|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(e|0));l=g;return}function IK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0;z=l;l=l+32|0;y=z;g=z+24|0;k=z+16|0;x=c[(c[(c[(ez(b)|0)+60>>2]|0)+16>>2]|0)+116>>2]&3;f=b+16|0;w=(c[f>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];JK(g,y,x);w=(c[d+16>>2]|0)+16|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];JK(k,y,x);x=a[e+33>>0]|0;y=x&255;a:do switch(x<<24>>24){case 0:case 15:{d=0;break}default:{d=c[e+24>>2]|0;if(!d){x=(c[(c[(ez(b)|0)+16>>2]|0)+116>>2]&1|0)==0;w=c[f>>2]|0;B=+h[w+80>>3]*.5;A=-B;m=+h[w+88>>3];j=-m;n=x?j:A;i=x?m:B;m=x?B:m;j=x?A:j}else{n=+h[d>>3];i=+h[d+16>>3];m=+h[d+24>>3];j=+h[d+8>>3]}x=c[g>>2]|0;v=c[g+4>>2]|0;w=c[k>>2]|0;s=c[k+4>>2]|0;t=~~j;u=~~((i+n)*.5);r=~~i;q=~~((m+j)*.5);p=~~m;o=~~n;g=0;k=0;d=0;e=0;b=0;while(1){if((k|0)==4)break a;if(1<<k&y){switch(k|0){case 0:{e=u;b=t;break}case 1:{e=r;b=q;break}case 2:{e=u;b=p;break}case 3:{e=o;b=q;break}default:{}}e=x+e|0;b=v+b|0;f=e-w|0;C=b-s|0;f=(O(C,C)|0)+(O(f,f)|0)|0;if((d|0)==0|(f|0)<(g|0))d=c[21924+(k<<2)>>2]|0;else f=g}else f=g;g=f;k=k+1|0}}}while(0);l=z;return d|0}function JK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;switch(d|0){case 0:{f=+h[b>>3];e=+h[b+8>>3];break}case 2:{f=+h[b>>3];e=-+h[b+8>>3];break}case 1:{f=-+h[b+8>>3];e=+h[b>>3];break}case 3:{f=+h[b+8>>3];e=+h[b>>3];break}default:{f=0.0;e=0.0}}c[a>>2]=~~(f+(f>=0.0?.5:-.5));c[a+4>>2]=~~(e+(e>=0.0?.5:-.5));return}function KK(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+80|0;f=i+40|0;h=i;g=b+16|0;e=c[g>>2]|0;d=e+16|0;if(a[e+47>>0]|0){e=c[b>>2]&3;HK(f,c[((e|0)==3?b:b+48|0)+40>>2]|0,c[((e|0)==2?b:b+-48|0)+40>>2]|0,d);e=f;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0));e=c[g>>2]|0}d=e+56|0;if(a[e+87>>0]|0){e=c[b>>2]&3;HK(h,c[((e|0)==2?b:b+-48|0)+40>>2]|0,c[((e|0)==3?b:b+48|0)+40>>2]|0,d);e=h;f=d+40|0;do{c[d>>2]=c[e>>2];d=d+4|0;e=e+4|0}while((d|0)<(f|0))}l=i;return}function LK(){var a=0,b=0,d=0;a=l;l=l+32|0;b=a+16|0;d=a;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];EK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];FK(0,b)|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];aK(0,b)|0;l=a;return}function MK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+192|0;s=z+176|0;x=z+112|0;y=z+48|0;t=z+32|0;u=z+24|0;v=z+16|0;w=z;if(!(e<<24>>24)){k=d+48|0;c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];c[t+8>>2]=c[k+8>>2];c[t+12>>2]=c[k+12>>2];k=u;m=v;n=x;o=0}else{c[t>>2]=c[d>>2];c[t+4>>2]=c[d+4>>2];c[t+8>>2]=c[d+8>>2];c[t+12>>2]=c[d+12>>2];k=v;m=u;n=0;o=x}h[u>>3]=0.0;h[v>>3]=1.0;q=t+8|0;f=0.0;g=1.0;j=0;p=+h[t>>3];while(1){r=+h[q>>3];f=(f+g)*.5;XL(w,d,3,f,n,o);c[t>>2]=c[w>>2];c[t+4>>2]=c[w+4>>2];c[t+8>>2]=c[w+8>>2];c[t+12>>2]=c[w+12>>2];c[s>>2]=c[w>>2];c[s+4>>2]=c[w+4>>2];c[s+8>>2]=c[w+8>>2];c[s+12>>2]=c[w+12>>2];a:do if(!((lb[b&127](a,s)|0)<<24>>24)){e=0;while(1){if((e|0)==4){e=k;j=1;break a}j=y+(e<<4)|0;A=x+(e<<4)|0;c[j>>2]=c[A>>2];c[j+4>>2]=c[A+4>>2];c[j+8>>2]=c[A+8>>2];c[j+12>>2]=c[A+12>>2];e=e+1|0}}else e=m;while(0);h[e>>3]=f;i=+h[t>>3];p=p-i;if(!((p>=0.0?p:-p)>.5)?(r=r-+h[q>>3],!((r>=0.0?r:-r)>.5)):0)break;f=+h[u>>3];g=+h[v>>3];p=i}b:do if(!(j<<24>>24)){e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;y=x+(e<<4)|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];e=e+1|0}}else{e=0;while(1){if((e|0)==4)break b;A=d+(e<<4)|0;x=y+(e<<4)|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[x+4>>2];c[A+8>>2]=c[x+8>>2];c[A+12>>2]=c[x+12>>2];e=e+1|0}}while(0);l=z;return}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+48|0;d=m+16|0;e=m;f=m+32|0;g=a+16|0;i=c[g>>2]|0;j=c[i+8>>2]|0;if(j|0?(k=j+4|0,c[(c[k>>2]|0)+12>>2]|0):0){c[f>>2]=a;c[f+4>>2]=0;n=+h[i+96>>3];h[e>>3]=+h[b>>3]-+h[i+16>>3];h[e+8>>3]=+h[b+8>>3]-+h[i+24>>3];k=c[(c[k>>2]|0)+12>>2]|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];c[d+12>>2]=c[e+12>>2];k=lb[k&127](f,d)|0;h[(c[g>>2]|0)+96>>3]=n;OK(f,a,b,k)}l=m;return}function OK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0.0,m=0,n=0;n=l;l=l+64|0;m=n;j=b+16|0;g=c[j>>2]|0;k=+h[g+96>>3];i=g+16|0;f=g+24|0;b=0;while(1){if((b|0)==4)break;h[m+(b<<4)>>3]=+h[d+(b<<4)>>3]-+h[i>>3];h[m+(b<<4)+8>>3]=+h[d+(b<<4)+8>>3]-+h[f>>3];b=b+1|0}MK(a,c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0,m,e);b=0;while(1){if((b|0)==4)break;e=c[j>>2]|0;h[d+(b<<4)>>3]=+h[e+16>>3]+ +h[m+(b<<4)>>3];h[d+(b<<4)+8>>3]=+h[e+24>>3]+ +h[m+(b<<4)+8>>3];b=b+1|0}h[(c[j>>2]|0)+96>>3]=k;l=n;return}function PK(b,d){b=b|0;d=d|0;var e=0,f=0;while(1){f=b+16|0;b=c[f>>2]|0;if(!(a[b+112>>0]|0))break;b=c[b+116>>2]|0}b=c[b+8>>2]|0;if(!b){b=uH(40)|0;c[(c[f>>2]|0)+8>>2]=b}e=c[b>>2]|0;if(!e)b=vH(((c[b+4>>2]|0)*48|0)+48|0)|0;else b=xH(e,((c[b+4>>2]|0)*48|0)+48|0)|0;f=c[(c[f>>2]|0)+8>>2]|0;c[f>>2]=b;f=f+4|0;e=c[f>>2]|0;c[f>>2]=e+1;f=b+(e*48|0)|0;c[f>>2]=uH(d<<4)|0;c[b+(e*48|0)+4>>2]=d;b=b+(e*48|0)+8|0;e=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));return f|0}function QK(b,e,f,g,i){b=b|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0,F=0.0;D=l;l=l+96|0;A=D+16|0;u=D;x=D+92|0;y=D+88|0;v=D+80|0;m=c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0;z=ez(m)|0;B=PK(b,g)|0;n=b;while(1){o=c[n+16>>2]|0;if(!(a[o+112>>0]|0))break;n=c[o+116>>2]|0}if((a[i+8>>0]|0)==0?(j=c[m+16>>2]|0,k=c[e+16>>2]|0,(c[j+232>>2]|0)==(c[k+232>>2]|0)):0){p=(c[j+236>>2]|0)>(c[k+236>>2]|0);w=p?m:e;m=p?e:m}else w=e;if((m|0)==(c[((c[n>>2]&3|0)==3?n:n+48|0)+40>>2]|0)){j=o+80|0;k=o+40|0;p=d[o+86>>0]|0;e=d[o+46>>0]|0}else{j=o+40|0;k=o+80|0;p=d[o+46>>0]|0;e=d[o+86>>0]|0}o=c[j>>2]|0;j=c[k>>2]|0;if(((e|0)!=0?(r=m+16|0,q=c[(c[r>>2]|0)+8>>2]|0,(q|0)!=0):0)?(c[(c[q+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=m;c[v+4>>2]=j;j=g+-4|0;e=u+8|0;k=0;while(1){if((k|0)>=(j|0))break;n=k+3|0;q=c[r>>2]|0;h[u>>3]=+h[f+(n<<4)>>3]-+h[q+16>>3];h[e>>3]=+h[f+(n<<4)+8>>3]-+h[q+24>>3];q=c[(c[(c[q+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[q&127](v,A)|0)<<24>>24))break;else k=n}c[x>>2]=k;OK(v,m,f+(k<<4)|0,1)}else{c[x>>2]=0;k=0}if(((p|0)!=0?(t=w+16|0,s=c[(c[t>>2]|0)+8>>2]|0,(s|0)!=0):0)?(c[(c[s+4>>2]|0)+12>>2]|0)!=0:0){c[v>>2]=w;c[v+4>>2]=o;m=g+-4|0;e=u+8|0;j=m;while(1){if((j|0)<=0)break;g=c[t>>2]|0;h[u>>3]=+h[f+(j<<4)>>3]-+h[g+16>>3];h[e>>3]=+h[f+(j<<4)+8>>3]-+h[g+24>>3];g=c[(c[(c[g+8>>2]|0)+4>>2]|0)+12>>2]|0;c[A>>2]=c[u>>2];c[A+4>>2]=c[u+4>>2];c[A+8>>2]=c[u+8>>2];c[A+12>>2]=c[u+12>>2];if(!((lb[g&127](v,A)|0)<<24>>24))break;j=j+-3|0}c[y>>2]=j;OK(v,w,f+(j<<4)|0,0)}else{m=g+-4|0;c[y>>2]=m;j=m}while(1){if((k|0)>=(m|0))break;e=k+3|0;E=+h[f+(k<<4)>>3]-+h[f+(e<<4)>>3];F=+h[f+(k<<4)+8>>3]-+h[f+(e<<4)+8>>3];if(F*F+E*E<1.0e-06)k=e;else break}c[x>>2]=k;while(1){if((j|0)<=0)break;v=j+3|0;F=+h[f+(j<<4)>>3]-+h[f+(v<<4)>>3];E=+h[f+(j<<4)+8>>3]-+h[f+(v<<4)+8>>3];if(!(E*E+F*F<1.0e-06))break;j=j+-3|0}c[y>>2]=j;RK(b,w,f,x,y,B,i);r=c[x>>2]|0;n=c[y>>2]|0;m=n+4|0;n=n+3|0;o=A+16|0;p=A+32|0;q=A+48|0;k=z+16|0;j=r;while(1){if((j|0)>=(m|0))break;z=(c[B>>2]|0)+(j-r<<4)|0;e=f+(j<<4)|0;c[z>>2]=c[e>>2];c[z+4>>2]=c[e+4>>2];c[z+8>>2]=c[e+8>>2];c[z+12>>2]=c[e+12>>2];c[A>>2]=c[e>>2];c[A+4>>2]=c[e+4>>2];c[A+8>>2]=c[e+8>>2];c[A+12>>2]=c[e+12>>2];e=j+1|0;if((j|0)>=(n|0)){C=38;break}y=(c[B>>2]|0)+(e-r<<4)|0;z=f+(e<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[o>>2]=c[z>>2];c[o+4>>2]=c[z+4>>2];c[o+8>>2]=c[z+8>>2];c[o+12>>2]=c[z+12>>2];z=j+2|0;y=(c[B>>2]|0)+(z-r<<4)|0;z=f+(z<<4)|0;c[y>>2]=c[z>>2];c[y+4>>2]=c[z+4>>2];c[y+8>>2]=c[z+8>>2];c[y+12>>2]=c[z+12>>2];c[p>>2]=c[z>>2];c[p+4>>2]=c[z+4>>2];c[p+8>>2]=c[z+8>>2];c[p+12>>2]=c[z+12>>2];z=j+3|0;y=f+(z<<4)|0;c[q>>2]=c[y>>2];c[q+4>>2]=c[y+4>>2];c[q+8>>2]=c[y+8>>2];c[q+12>>2]=c[y+12>>2];YE((c[k>>2]|0)+16|0,A);j=z}c[B+4>>2]=m-r;l=D;return}function RK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+16|0;m=p+4|0;n=p;o=b;while(1){j=c[(c[o+16>>2]|0)+116>>2]|0;if(!j)break;else o=j}if(!(a[i+8>>0]|0))j=(kb[c[i>>2]&63](o)|0)&255;else j=0;sE(o,m,n);k=i+4|0;if((kb[c[k>>2]&63](d)|0)<<24>>24)c[n>>2]=0;if((kb[c[k>>2]&63](c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0)<<24>>24)c[m>>2]=0;if(j|0){d=c[m>>2]|0;c[m>>2]=c[n>>2];c[n>>2]=d}if(!(a[i+9>>0]|0)){j=c[m>>2]|0;if(j|0)c[f>>2]=HE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0;j=c[n>>2]|0;if(j|0)c[g>>2]=FE(o,e,c[f>>2]|0,c[g>>2]|0,h,j)|0}else{k=c[n>>2]|0;j=c[m>>2]|0;if(j|k|0)IE(o,e,c[f>>2]|0,c[g>>2]|0,h,j,k)}l=p;return}function SK(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>>3]<+h[b+24>>3]:0){d=c[a+84>>2]|0;e=a+80|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d+(a<<5)|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2]}return}function TK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=l;l=l+112|0;u=x+72|0;o=x+56|0;n=x+16|0;q=x;j=c[d>>2]&3;p=d+48|0;w=c[((j|0)==3?d:p)+40>>2]|0;t=d+16|0;r=c[t>>2]|0;i=r+16|0;if(a[r+47>>0]|0){HK(n,w,c[((j|0)==2?d:d+-48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}r=w+16|0;j=c[r>>2]|0;i=c[j+8>>2]|0;if(!i)n=0;else n=c[(c[i+4>>2]|0)+16>>2]|0;i=j+16|0;j=(c[t>>2]|0)+16|0;c[o>>2]=c[i>>2];c[o+4>>2]=c[i+4>>2];c[o+8>>2]=c[i+8>>2];c[o+12>>2]=c[i+12>>2];c[u>>2]=c[j>>2];c[u+4>>2]=c[j+4>>2];c[u+8>>2]=c[j+8>>2];c[u+12>>2]=c[j+12>>2];UK(q,o,u);c[b>>2]=c[q>>2];c[b+4>>2]=c[q+4>>2];c[b+8>>2]=c[q+8>>2];c[b+12>>2]=c[q+12>>2];if(!(g<<24>>24)){i=c[t>>2]|0;if(!(a[i+45>>0]|0))i=0;else{k=+h[i+32>>3];v=9}}else{k=+VK(c[((c[d>>2]&3|0)==3?d:p)+40>>2]|0);v=9}if((v|0)==9){h[b+16>>3]=k;i=1}a[b+29>>0]=i;c[b+80>>2]=0;c[b+88>>2]=d;q=f+32|0;c[q>>2]=c[b>>2];c[q+4>>2]=c[b+4>>2];c[q+8>>2]=c[b+8>>2];c[q+12>>2]=c[b+12>>2];switch(e|0){case 1:{j=c[r>>2]|0;if((a[j+156>>0]|0)==0?(q=a[(c[t>>2]|0)+49>>0]|0,s=q&255,q<<24>>24!=0):0){c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(s&4)){if(s&1|0){c[f+48>>2]=1;i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}i=f+48|0;if(!(s&8)){c[i>>2]=2;h[u>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{c[i>>2]=8;h[u+16>>3]=+h[b>>3];h[u+8>>3]=+h[j+24>>3]-+h[j+80>>3]*.5;h[u+24>>3]=+h[b+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{c[f+48>>2]=4;k=+h[u>>3];if(+h[b>>3]<+h[j+16>>3]){z=k+-1.0;y=+h[b+8>>3];b=u+16|0;k=+h[b>>3];m=+h[j+80>>3]*.5+ +h[j+24>>3];m=m+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[r>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[u+24>>3]=y;h[u+8>>3]=+h[i+24>>3]-+h[i+80>>3]*.5;h[u>>3]=z;h[f+56>>3]=z;h[f+64>>3]=y;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{m=+h[b+8>>3];i=u+16|0;y=+h[i>>3]+1.0;z=+h[j+80>>3]*.5+ +h[j+24>>3];z=z+ +((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+24>>3]=m;h[u+8>>3]=+h[b+24>>3]-+h[b+80>>3]*.5;h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0}else{j=1;v=47}break}case 2:{s=a[(c[t>>2]|0)+49>>0]|0;j=s&255;if(!(s<<24>>24))v=46;else{c[u>>2]=c[f>>2];c[u+4>>2]=c[f+4>>2];c[u+8>>2]=c[f+8>>2];c[u+12>>2]=c[f+12>>2];c[u+16>>2]=c[f+16>>2];c[u+20>>2]=c[f+20>>2];c[u+24>>2]=c[f+24>>2];c[u+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){i=c[r>>2]|0;z=+h[i+24>>3]-+h[i+80>>3]*.5;i=u+16|0;y=+h[i>>3]+1.0;k=+h[b>>3];m=z-+((c[(c[(ez(w)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[r>>2]|0;h[u>>3]=+h[b+96>>3]+ +h[b+16>>3];h[u+8>>3]=z;h[u+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=y;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=y;h[f+80>>3]=z;i=f+88|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=2;break}else{i=u+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?u+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}k=+h[b>>3];if(!(j&8)){h[u>>3]=k;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3];i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0;i=u+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}else{i=u+16|0;h[i>>3]=k+1.0;e=c[r>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[u+24>>3]=m+k;k=+h[b+8>>3]+-1.0;i=u}else{h[u+8>>3]=k-m;k=+h[b+8>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1;break}}else{i=u+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+8>>3]?u:b)+8>>3];i=f+56|0;c[i>>2]=c[u>>2];c[i+4>>2]=c[u+4>>2];c[i+8>>2]=c[u+8>>2];c[i+12>>2]=c[u+12>>2];c[i+16>>2]=c[u+16>>2];c[i+20>>2]=c[u+20>>2];c[i+24>>2]=c[u+24>>2];c[i+28>>2]=c[u+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((w|0)==(c[((c[d>>2]&3|0)==3?d:d+48|0)+40>>2]|0)?i+16|0:i+56|0)+30>>0]=0;c[f+48>>2]=j}break}default:v=46}if((v|0)==46){j=c[f+48>>2]|0;v=47}a:do if((v|0)==47){if(n){d=f+56|0;i=f+52|0;j=pb[n&127](w,(c[t>>2]|0)+16|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,569,103498);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+8>>3];break a}case 1:{h[f+80>>3]=+h[b+8>>3];c[f+48>>2]=1;break a}default:break a}}while(0);l=x;return}function UK(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function VK(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,i=0,j=0,k=0.0,l=0.0;i=c[a+16>>2]|0;j=c[i+172>>2]|0;f=0.0;g=0;while(1){a=c[j+(g<<2)>>2]|0;if(!a)break;f=+h[(c[(c[((c[a>>2]&3|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0)+16>>3]+f;g=g+1|0}e=c[i+180>>2]|0;b=0.0;a=0;while(1){d=c[e+(a<<2)>>2]|0;if(!d)break;b=+h[(c[(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)+16>>2]|0)+16>>3]+b;a=a+1|0}k=+h[i+16>>3];l=+h[i+24>>3];j=c[j>>2]|0;f=+K(+(l-+h[(c[(c[((c[j>>2]&3|0)==3?j:j+48|0)+40>>2]|0)+16>>2]|0)+24>>3]),+(k-f/+(g|0)));j=c[e>>2]|0;return +((+K(+(+h[(c[(c[((c[j>>2]&3|0)==2?j:j+-48|0)+40>>2]|0)+16>>2]|0)+24>>3]-l),+(b/+(a|0)-k))+f)*.5)}function WK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0;z=l;l=l+112|0;w=z+72|0;p=z+56|0;n=z+16|0;t=z;j=c[d>>2]&3;r=d+-48|0;y=c[((j|0)==2?d:r)+40>>2]|0;u=d+16|0;s=c[u>>2]|0;i=s+56|0;if(a[s+87>>0]|0){HK(n,y,c[((j|0)==3?d:d+48|0)+40>>2]|0,i);j=n;n=i+40|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(n|0))}s=y+16|0;j=c[s>>2]|0;i=c[j+8>>2]|0;if(!i)o=0;else o=c[(c[i+4>>2]|0)+16>>2]|0;n=b+40|0;i=j+16|0;j=(c[u>>2]|0)+56|0;c[p>>2]=c[i>>2];c[p+4>>2]=c[i+4>>2];c[p+8>>2]=c[i+8>>2];c[p+12>>2]=c[i+12>>2];c[w>>2]=c[j>>2];c[w+4>>2]=c[j+4>>2];c[w+8>>2]=c[j+8>>2];c[w+12>>2]=c[j+12>>2];UK(t,p,w);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[n+8>>2]=c[t+8>>2];c[n+12>>2]=c[t+12>>2];if(!(g<<24>>24)){i=c[u>>2]|0;if(!(a[i+85>>0]|0))q=0;else{h[b+56>>3]=+h[i+72>>3];q=1}}else{m=+VK(c[((c[d>>2]&3|0)==2?d:r)+40>>2]|0)+3.141592653589793;h[b+56>>3]=m;if(m<6.283185307179586)q=1;else qa(103508,103488,606,103532)}a[b+69>>0]=q;t=f+32|0;c[t>>2]=c[n>>2];c[t+4>>2]=c[n+4>>2];c[t+8>>2]=c[n+8>>2];c[t+12>>2]=c[n+12>>2];switch(e|0){case 1:{j=c[s>>2]|0;if((a[j+156>>0]|0)==0?(t=a[(c[u>>2]|0)+89>>0]|0,v=t&255,t<<24>>24!=0):0){c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(v&4))if(!(v&1)){i=f+48|0;if(!(v&8)){c[i>>2]=2;h[w>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{c[i>>2]=8;h[w+16>>3]=+h[n>>3];h[w+24>>3]=+h[j+80>>3]*.5+ +h[j+24>>3];h[w+8>>3]=+h[b+48>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{c[f+48>>2]=1;k=+h[w>>3];if(+h[n>>3]<+h[j+16>>3]){B=k+-1.0;m=+h[b+48>>3];b=w+16|0;k=+h[b>>3];A=+h[j+80>>3]*-.5+ +h[j+24>>3];A=A-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[b>>3]=+h[i+16>>3]-+h[i+88>>3];h[w+8>>3]=m;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=B;h[f+56>>3]=B;h[f+64>>3]=A;h[f+72>>3]=k;h[f+80>>3]=m;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{B=+h[b+48>>3];i=w+16|0;A=+h[i>>3]+1.0;m=+h[j+80>>3]*-.5+ +h[j+24>>3];m=m-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);b=c[s>>2]|0;h[w>>3]=+h[b+96>>3]+ +h[b+16>>3];h[w+8>>3]=B;h[w+24>>3]=+h[b+80>>3]*.5+ +h[b+24>>3];h[i>>3]=A;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}}else{c[f+48>>2]=4;i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=v}else{j=4;x=47}break}case 2:{v=a[(c[u>>2]|0)+89>>0]|0;j=v&255;if(!(v<<24>>24))x=46;else{c[w>>2]=c[f>>2];c[w+4>>2]=c[f+4>>2];c[w+8>>2]=c[f+8>>2];c[w+12>>2]=c[f+12>>2];c[w+16>>2]=c[f+16>>2];c[w+20>>2]=c[f+20>>2];c[w+24>>2]=c[f+24>>2];c[w+28>>2]=c[f+28>>2];do if(!(j&4)){if(j&1|0)if((c[f+48>>2]|0)==4){k=+h[w>>3]+-1.0;i=c[s>>2]|0;B=+h[i+24>>3]-+h[i+80>>3]*.5;A=+h[n>>3];m=B-+((c[(c[(ez(y)|0)+16>>2]|0)+252>>2]|0)/2|0|0);i=c[s>>2]|0;h[w+16>>3]=+h[i+16>>3]+-2.0-+h[i+88>>3];h[w+8>>3]=B;h[w+24>>3]=+h[i+80>>3]*.5+ +h[i+24>>3];h[w>>3]=k;h[f+56>>3]=k;h[f+64>>3]=m;h[f+72>>3]=A;h[f+80>>3]=B;i=f+88|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=2;break}else{i=w+24|0;h[i>>3]=+h[(+h[i>>3]>+h[b+8>>3]?w+16|0:b)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}k=+h[n>>3];if(!(j&8)){h[w>>3]=k+-1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3];i=w+16|0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}else{i=w+16|0;h[i>>3]=k+1.0;e=c[s>>2]|0;k=+h[e+24>>3];m=+h[e+80>>3]*.5;if((c[f+48>>2]|0)==4){h[w+24>>3]=m+k;k=+h[b+48>>3]+-1.0;i=w}else{h[w+8>>3]=k-m;k=+h[b+48>>3]+1.0}h[i+8>>3]=k;i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1;break}}else{i=w+8|0;h[i>>3]=+h[(+h[i>>3]<+h[b+48>>3]?w:n)+8>>3];i=f+56|0;c[i>>2]=c[w>>2];c[i+4>>2]=c[w+4>>2];c[i+8>>2]=c[w+8>>2];c[i+12>>2]=c[w+12>>2];c[i+16>>2]=c[w+16>>2];c[i+20>>2]=c[w+20>>2];c[i+24>>2]=c[w+24>>2];c[i+28>>2]=c[w+28>>2];i=1}while(0);c[f+52>>2]=i;while(1){i=c[d+16>>2]|0;if(!(a[i+112>>0]|0))break;d=c[i+116>>2]|0}a[((y|0)==(c[((c[d>>2]&3|0)==2?d:d+-48|0)+40>>2]|0)?i+56|0:i+16|0)+30>>0]=0;c[f+48>>2]=j}break}default:x=46}if((x|0)==46){j=c[f+48>>2]|0;x=47}a:do if((x|0)==47){if(o){d=f+56|0;i=f+52|0;j=pb[o&127](y,(c[u>>2]|0)+56|0,j,d,i)|0;if(j){c[f+48>>2]=j;break}}else{i=f+52|0;d=f+56|0};c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2];c[d+16>>2]=c[f+16>>2];c[d+20>>2]=c[f+20>>2];c[d+24>>2]=c[f+24>>2];c[d+28>>2]=c[f+28>>2];c[i>>2]=1;switch(e|0){case 8:{qa(135312,103488,765,103532);break}case 2:{h[((c[f+48>>2]|0)==4?f+56|0:f+72|0)+8>>3]=+h[b+48>>3];break a}case 1:{h[f+64>>3]=+h[b+48>>3];c[f+48>>2]=4;break a}default:break a}}while(0);l=z;return}function XK(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=c[b+16>>2]|0;i=c[g+96>>2]|0;if((a[g+44>>0]|0)==0?(a[g+84>>0]|0)==0:0)j=6;else{d=a[g+49>>0]|0;e=d&255;if(((e&8|0)==0?(f=a[g+89>>0]|0,(f&8)==0):0)?((e&5|0)==0?1:d<<24>>24!=f<<24>>24):0)j=6;else b=0}if((j|0)==6)if(!i)b=18;else{b=(c[(c[(ez(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)!=0;b=~~(+h[(b?i+32|0:i+24|0)>>3]+18.0)}return b|0}function YK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;h=+h;i=i|0;var j=0,k=0,l=0,m=0;b=c[(c[d+(e<<2)>>2]|0)+16>>2]|0;if((a[b+44>>0]|0)==0?(a[b+84>>0]|0)==0:0)l=6;else l=3;do if((l|0)==3){j=a[b+49>>0]|0;k=j&255;if(!(k&8)){m=a[b+89>>0]|0;if((m&8)==0?((k&5|0)==0?1:j<<24>>24!=m<<24>>24):0){l=6;break}if(!(a[b+89>>0]&8)){if(k&4|0){_K(d,e,f,g,h,i);break}if(!(k&1))qa(135312,103488,1231,103540);else{aL(d,e,f,g,h,i);break}}}if((j&2)==0?(a[b+89>>0]&2)==0:0){$K(d,e,f,g,h,i);break}_K(d,e,f,g,h,i)}while(0);if((l|0)==6)ZK(d,e,f,g,h,i);return}function ZK(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+96>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 65:case 32:{if(F==H)k=0-k|0;break}default:{}}Q=(p-m)*3.0;m=(p-i)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,n*.3333333333333333+E,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=p+C;cL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];cL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,m*.3333333333333333+G,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*.5+p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function _K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0.0,E=0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0;Q=l;l=l+16080|0;M=Q+80|0;N=Q+64|0;O=Q+48|0;P=Q+32|0;K=Q+16|0;L=Q;C=c[b+(e<<2)>>2]|0;q=g*.5/+(f|0);q=q>2.0?q:2.0;E=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;m=c[E>>2]|0;H=+h[m+16>>3];D=+h[m+24>>3];C=c[C+16>>2]|0;k=+h[C+16>>3];p=+h[C+24>>3];F=k+H;G=p+D;g=+h[C+56>>3];o=+h[C+64>>3];H=g+H;I=o+D;n=!(F>=H)?-1.0:1.0;s=+h[m+80>>3]*.5;switch(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0){case 15:{k=(q-g+ +h[m+96>>3])*n;break}case 38:{k=(g+q+ +h[m+88>>3])*n;break}case 41:{k=(q-k+ +h[m+96>>3])*n;break}case 48:{k=(q-k+ +h[m+96>>3])*n;break}case 58:case 57:case 51:case 47:case 37:case 14:{k=n*.3333333333333333*(k-g+ +h[m+88>>3]+ +h[m+96>>3]);break}case 73:{k=(k+q+ +h[m+88>>3])*n;break}case 83:{k=(+h[m+88>>3]+k)*n;break}case 84:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q)*n;break}case 85:case 75:case 74:{k=((k-g+ +h[m+88>>3]+ +h[m+96>>3])*.5+q*2.0)*n;break}default:k=0.0}p=(s-p)*3.0;o=(s-o)*3.0;q=n*q;w=M+8|0;x=M+16|0;y=M+32|0;z=M+48|0;A=(H+F)*.5;B=M+64|0;C=M+80|0;u=M+96|0;v=M+104|0;t=0;g=s;p=s<p?s:p;n=s<o?s:o;while(1){if((t|0)>=(f|0))break;r=e+1|0;e=c[b+(e<<2)>>2]|0;o=g+i;p=p+i;n=n+i;k=k+q;h[M>>3]=F;h[w>>3]=G;s=k+F;cL(N,s,p*.3333333333333333+G);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];R=o+D;cL(O,s,R);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];cL(P,A,R);c[z>>2]=c[P>>2];c[z+4>>2]=c[P+4>>2];c[z+8>>2]=c[P+8>>2];c[z+12>>2]=c[P+12>>2];s=H-k;cL(K,s,R);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];cL(L,s,n*.3333333333333333+I);c[C>>2]=c[L>>2];c[C+4>>2]=c[L+4>>2];c[C+8>>2]=c[L+8>>2];c[C+12>>2]=c[L+12>>2];h[u>>3]=H;h[v>>3]=I;m=e+16|0;if((c[(c[m>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,m=c[(c[m>>2]|0)+96>>2]|0,J=+h[(S?m+32|0:m+24|0)>>3],S=c[E>>2]|0,h[m+64>>3]=J*.5+o+ +h[S+24>>3],h[m+56>>3]=+h[S+16>>3],a[m+81>>0]=1,J>i):0)g=J+g;else g=o;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,M,7,j);e=r;t=t+1|0}l=Q;return}function $K(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0.0,D=0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;B=c[b+(e<<2)>>2]|0;n=i*.5/+(f|0);n=n>2.0?n:2.0;D=(c[((c[B>>2]&3|0)==3?B:B+48|0)+40>>2]|0)+16|0;A=c[D>>2]|0;C=+h[A+16>>3];H=+h[A+24>>3];B=c[B+16>>2]|0;m=+h[B+16>>3];E=m+C;F=+h[B+24>>3]+H;i=+h[B+56>>3];G=i+C;H=+h[B+64>>3]+H;k=!(F>=H)?-1:1;p=+h[A+88>>3];switch(bL(d[B+49>>0]|0,d[B+89>>0]|0)|0){case 67:case 12:{if(F==H)k=0-k|0;break}default:{}}Q=(m+p)*3.0;m=(i+p)*3.0;v=n*+(k|0);u=L+8|0;w=L+16|0;x=L+32|0;y=L+48|0;z=(H+F)*.5;A=L+64|0;B=L+80|0;s=L+96|0;t=L+104|0;r=0;o=0.0;i=p;n=p<Q?p:Q;m=p<m?p:m;while(1){if((r|0)>=(f|0))break;q=e+1|0;e=c[b+(e<<2)>>2]|0;p=i+g;n=n+g;m=m+g;o=o+v;h[L>>3]=E;h[u>>3]=F;Q=o+F;cL(M,E-n*.3333333333333333,Q);c[w>>2]=c[M>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[w+12>>2]=c[M+12>>2];R=C-p;cL(N,R,Q);c[x>>2]=c[N>>2];c[x+4>>2]=c[N+4>>2];c[x+8>>2]=c[N+8>>2];c[x+12>>2]=c[N+12>>2];cL(O,R,z);c[y>>2]=c[O>>2];c[y+4>>2]=c[O+4>>2];c[y+8>>2]=c[O+8>>2];c[y+12>>2]=c[O+12>>2];Q=H-o;cL(J,R,Q);c[A>>2]=c[J>>2];c[A+4>>2]=c[J+4>>2];c[A+8>>2]=c[J+8>>2];c[A+12>>2]=c[J+12>>2];cL(K,G-m*.3333333333333333,Q);c[B>>2]=c[K>>2];c[B+4>>2]=c[K+4>>2];c[B+8>>2]=c[K+8>>2];c[B+12>>2]=c[K+12>>2];h[s>>3]=G;h[t>>3]=H;k=e+16|0;if((c[(c[k>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,k=c[(c[k>>2]|0)+96>>2]|0,I=+h[(S?k+24|0:k+32|0)>>3],S=c[D>>2]|0,h[k+56>>3]=I*-.5-p+ +h[S+16>>3],h[k+64>>3]=+h[S+24>>3],a[k+81>>0]=1,I>g):0)i=I+i;else i=p;QK(e,c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0,L,7,j);e=q;r=r+1|0}l=P;return}function aL(b,e,f,g,i,j){b=b|0;e=e|0;f=f|0;g=+g;i=+i;j=j|0;var k=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0.0,S=0;P=l;l=l+16080|0;L=P+80|0;M=P+64|0;N=P+48|0;O=P+32|0;J=P+16|0;K=P;C=c[b+(e<<2)>>2]|0;B=g*.5/+(f|0);w=(c[((c[C>>2]&3|0)==3?C:C+48|0)+40>>2]|0)+16|0;D=c[w>>2]|0;z=+h[D+16>>3];v=+h[D+24>>3];C=c[C+16>>2]|0;m=+h[C+24>>3];x=+h[C+16>>3]+z;y=m+v;n=+h[C+64>>3];z=+h[C+56>>3]+z;A=n+v;u=!(x>=z)?-1:1;o=+h[D+80>>3]*.5;C=(bL(d[C+49>>0]|0,d[C+89>>0]|0)|0)==67;m=(m+o)*3.0;n=(n+o)*3.0;B=(B>2.0?B:2.0)*+((C?0-u|0:u)|0);u=L+8|0;C=L+16|0;D=L+32|0;E=L+48|0;F=(z+x)*.5;G=L+64|0;H=L+80|0;s=L+96|0;t=L+104|0;g=o;k=0.0;m=o<m?o:m;n=o<n?o:n;q=0;while(1){if((q|0)>=(f|0))break;r=e+1|0;p=c[b+(e<<2)>>2]|0;o=g+i;m=m+i;n=n+i;k=k+B;h[L>>3]=x;h[u>>3]=y;Q=k+x;cL(M,Q,y-m*.3333333333333333);c[C>>2]=c[M>>2];c[C+4>>2]=c[M+4>>2];c[C+8>>2]=c[M+8>>2];c[C+12>>2]=c[M+12>>2];R=v-o;cL(N,Q,R);c[D>>2]=c[N>>2];c[D+4>>2]=c[N+4>>2];c[D+8>>2]=c[N+8>>2];c[D+12>>2]=c[N+12>>2];cL(O,F,R);c[E>>2]=c[O>>2];c[E+4>>2]=c[O+4>>2];c[E+8>>2]=c[O+8>>2];c[E+12>>2]=c[O+12>>2];Q=z-k;cL(J,Q,R);c[G>>2]=c[J>>2];c[G+4>>2]=c[J+4>>2];c[G+8>>2]=c[J+8>>2];c[G+12>>2]=c[J+12>>2];cL(K,Q,A-n*.3333333333333333);c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];h[s>>3]=z;h[t>>3]=A;e=p+16|0;if((c[(c[e>>2]|0)+96>>2]|0)!=0?(S=(c[(c[(ez(c[((c[p>>2]&3|0)==3?p:p+48|0)+40>>2]|0)|0)+16>>2]|0)+116>>2]&1|0)==0,e=c[(c[e>>2]|0)+96>>2]|0,I=+h[(S?e+32|0:e+24|0)>>3],S=c[w>>2]|0,h[e+64>>3]=I*-.5-o+ +h[S+24>>3],h[e+56>>3]=+h[S+16>>3],a[e+81>>0]=1,I>i):0)g=I+g;else g=o;QK(p,c[((c[p>>2]&3|0)==2?p:p+-48|0)+40>>2]|0,L,7,j);e=r;q=q+1|0}l=P;return}function bL(a,b){a=a|0;b=b|0;var d=0;d=0;while(1){if((d|0)>=8){b=-1;break}if((c[21940+(d<<2)>>2]|0)==(b|0)){b=d;break}d=d+1|0}d=0;while(1){if((d|0)>=8){d=-1;break}if((c[21940+(d<<2)>>2]|0)==(a|0))break;d=d+1|0}if((d|b|0)<0)d=0;else d=c[21972+(d<<5)+(b<<2)>>2]|0;return d|0}function cL(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function dL(b){b=b|0;var d=0,e=0;if((c[46433]|0)!=0|(c[46432]|0)!=0){d=b+16|0;e=c[(c[d>>2]|0)+100>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,1)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+100>>2]|0)}e=c[(c[d>>2]|0)+104>>2]|0;if((e|0?(a[e+81>>0]|0)==0:0)?eL(b,0)|0:0){e=ez(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;kM(e,c[(c[d>>2]|0)+104>>2]|0)}}return}function eL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+96|0;o=q+32|0;m=q+16|0;n=q;i=b+16|0;do if((a[(c[i>>2]|0)+112>>0]|0)!=6){e=c[46433]|0;if(!((e|0)!=0?(a[(yx(b,e)|0)>>0]|0)!=0:0)){e=c[46432]|0;if(!e){e=0;break}if(!(a[(yx(b,e)|0)>>0]|0)){e=0;break}}d=d<<24>>24==0;p=c[i>>2]|0;p=c[(d?p+104|0:p+100|0)>>2]|0;e=fL(b)|0;if(e){k=c[e>>2]|0;do if(d){if(c[k+8>>2]|0){e=c[k>>2]|0;j=+h[e>>3];g=+h[k+16>>3];e=e+8|0;f=+h[k+24>>3];break}e=c[k>>2]|0;g=+h[e>>3];f=+h[e+8>>3];e=0;while(1){if((e|0)==4)break;n=o+(e<<4)|0;i=(c[k>>2]|0)+(e<<4)|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];c[n+8>>2]=c[i+8>>2];c[n+12>>2]=c[i+12>>2];e=e+1|0}XL(m,o,3,.1,0,0);j=+h[m>>3];e=m+8|0}else{d=(c[e+4>>2]|0)+-1|0;i=k+(d*48|0)|0;if(c[k+(d*48|0)+12>>2]|0){o=c[i>>2]|0;e=(c[k+(d*48|0)+4>>2]|0)+-1|0;j=+h[o+(e<<4)>>3];g=+h[k+(d*48|0)+32>>3];e=o+(e<<4)+8|0;f=+h[k+(d*48|0)+40>>3];break}m=c[i>>2]|0;d=k+(d*48|0)+4|0;e=(c[d>>2]|0)+-1|0;g=+h[m+(e<<4)>>3];f=+h[m+(e<<4)+8>>3];e=0;while(1){if((e|0)==4)break;m=o+(e<<4)|0;k=(c[i>>2]|0)+(e+-4+(c[d>>2]|0)<<4)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[m+8>>2]=c[k+8>>2];c[m+12>>2]=c[k+12>>2];e=e+1|0}XL(n,o,3,.9,0,0);j=+h[n>>3];e=n+8|0}while(0);r=+K(+(+h[e>>3]-f),+(j-g));r=+LL(b,c[46433]|0,-25.0,-180.0)*.017453292519943295+r;j=+LL(b,c[46432]|0,1.0,0.0)*10.0;h[p+56>>3]=j*+E(+r)+g;h[p+64>>3]=+F(+r)*j+f;a[p+81>>0]=1;e=1}else e=0}else e=0;while(0);l=q;return e|0}function fL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h;d=b;while(1){e=c[d+16>>2]|0;d=c[e+8>>2]|0;if(d|0)break;if(!(a[e+112>>0]|0)){g=5;break}d=c[e+116>>2]|0}if((g|0)==5){g=ry(c[((c[b>>2]&3|0)==3?b:b+48|0)+40>>2]|0)|0;d=ry(c[((c[b>>2]&3|0)==2?b:b+-48|0)+40>>2]|0)|0;c[f>>2]=g;c[f+4>>2]=d;Pw(1,103553,f)|0;d=0}l=h;return d|0}function gL(a,d,e){a=a|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0;s=l;l=l+96|0;m=s+80|0;n=s+64|0;o=s+48|0;p=s+32|0;q=s+16|0;r=s;k=b[(c[d+16>>2]|0)+136>>1]|0;d=e+16|0;hL(c[(c[d>>2]|0)+8>>2]|0,p,q);f=+h[p>>3];g=+h[q>>3];t=f-g;i=+h[p+8>>3];j=+h[q+8>>3];u=i-j;a:do if(u*u+t*t<1.0e-06){c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2]}else switch(k&14){case 4:case 10:{h[n>>3]=(g+f)*.5;h[n+8>>3]=(j+i)*.5;q=c[(c[d>>2]|0)+8>>2]|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];bM(r,q,m);c[o>>2]=c[r>>2];c[o+4>>2]=c[r+4>>2];c[o+8>>2]=c[r+8>>2];c[o+12>>2]=c[r+12>>2];break a}default:{iL(o,c[(c[d>>2]|0)+8>>2]|0,p,q);break a}}while(0);c[a>>2]=c[o>>2];c[a+4>>2]=c[o+4>>2];c[a+8>>2]=c[o+8>>2];c[a+12>>2]=c[o+12>>2];l=s;return}function hL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;g=h+16|0;f=h;j=c[a>>2]|0;e=c[j>>2]|0;i=c[j+8>>2]|0;k=j+16|0;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];c[g+8>>2]=c[k+8>>2];c[g+12>>2]=c[k+12>>2];j=j+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!i){c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[b+12>>2]=c[e+12>>2]}else{c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];c[b+8>>2]=c[g+8>>2];c[b+12>>2]=c[g+12>>2]}i=c[a>>2]|0;j=(c[a+4>>2]|0)+-1|0;e=c[i+(j*48|0)>>2]|0;a=c[i+(j*48|0)+4>>2]|0;k=c[i+(j*48|0)+12>>2]|0;b=i+(j*48|0)+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];j=i+(j*48|0)+32|0;c[f>>2]=c[j>>2];c[f+4>>2]=c[j+4>>2];c[f+8>>2]=c[j+8>>2];c[f+12>>2]=c[j+12>>2];if(!k){k=e+(a+-1<<4)|0;c[d>>2]=c[k>>2];c[d+4>>2]=c[k+4>>2];c[d+8>>2]=c[k+8>>2];c[d+12>>2]=c[k+12>>2]}else{c[d>>2]=c[f>>2];c[d+4>>2]=c[f+4>>2];c[d+8>>2]=c[f+8>>2];c[d+12>>2]=c[f+12>>2]}l=h;return}function iL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0;r=c[b+4>>2]|0;g=0.0;f=0;while(1){if((f|0)>=(r|0))break;l=c[b>>2]|0;k=c[l+(f*48|0)>>2]|0;l=c[l+(f*48|0)+4>>2]|0;i=3;j=0;while(1){if((i|0)>=(l|0))break;q=+h[k+(j<<4)>>3]-+h[k+(i<<4)>>3];p=+h[k+(j<<4)+8>>3]-+h[k+(i<<4)+8>>3];i=i+3|0;j=j+3|0;g=+C(+(p*p+q*q))+g}f=f+1|0}l=0;g=g*.5;a:while(1){if((l|0)>=(r|0)){f=15;break}k=c[b>>2]|0;j=c[k+(l*48|0)>>2]|0;k=c[k+(l*48|0)+4>>2]|0;f=3;i=0;while(1){if((f|0)>=(k|0))break;m=+h[j+(i<<4)>>3];p=+h[j+(i<<4)+8>>3];n=+h[j+(f<<4)>>3];o=+h[j+(f<<4)+8>>3];q=m-n;s=p-o;q=+C(+(s*s+q*q));if(q>=g){f=12;break a}f=f+3|0;i=i+3|0;g=g-q}l=l+1|0}if((f|0)==12){h[d>>3]=m;h[d+8>>3]=p;h[e>>3]=n;h[e+8>>3]=o;s=q-g;h[a>>3]=(s*m+n*g)/q;h[a+8>>3]=(s*p+o*g)/q;return}else if((f|0)==15)qa(135630,103488,1316,103615)}function jL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;dL(b);return}function kL(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,G=0,H=0,I=0,J=0,K=0,L=0;J=lL(b)|0;I=c[J+4>>2]|0;K=c[J>>2]|0;H=I+-1|0;B=+h[K+(H<<6)+16>>3];C=+(I|0);D=(g|0)==2;G=(f|0)!=0;n=0;j=0.0;i=0.0;l=0.0;m=0.0;while(1){if((n|0)>=(I|0))break;b=~~+mL(+(n+-1|0),C);A=n+1|0;L=~~+mL(+(A|0),C);o=K+(n<<6)|0;m=+h[o>>3];z=K+(n<<6)+8|0;l=+h[z>>3];s=K+(n<<6)+16|0;t=+h[s>>3];u=K+(n<<6)+24|0;v=K+(n<<6)+32|0;w=K+(n<<6)+40|0;x=K+(n<<6)+48|0;y=K+(n<<6)+56|0;k=+nL(+h[K+(L<<6)+8>>3]-l,+h[K+(L<<6)>>3]-m);q=+nL(+h[K+(b<<6)+8>>3]-l,+h[K+(b<<6)>>3]-m);r=+hb[d&7](t,B,e);b=(n|0)==0;do if(b|(n|0)==(H|0))if(b){i=k+1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+k)*r;m=m-+E(+k)*r;break}else{i=q+-1.5707963267948966;if(!D){b=0;p=i;j=r;break}b=0;p=i;j=r;l=l-+F(+q)*r;m=m-+E(+q)*r;break}else{p=k-q;p=1.5707963267948966-(p<0.0?p+6.283185307179586:p)*.5;j=+E(+p);j=j==0.0?0.0:r/j;i=k+1.5707963267948966;k=p+i;if(G|j>r*10.0){q=+mL(q+-1.5707963267948966,6.283185307179586);b=1;p=+mL(i,6.283185307179586);j=r;i=q}else{b=0;p=k;i=k}}while(0);h[o>>3]=m;h[z>>3]=l;h[s>>3]=t;a[u>>0]=108;h[v>>3]=i;h[w>>3]=j;c[x>>2]=b;h[y>>3]=p;n=A}o=uH(12)|0;b=0;while(1){if((b|0)>=(I|0))break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];i=+h[K+(b<<6)+32>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;k=+h[K+(b<<6)+56>>3];oL(o,+E(+i)*j+m,+F(+i)*j+l);if(L|0)pL(m,l,j,1,i,k,f,o);b=b+1|0}n=(g|0)==1;k=i+3.141592653589793;if(n)qL(o,m,l,j,i,k);else{oL(o,+E(+k)*j+m,+F(+k)*j+l);i=k}b=I+-2|0;k=m;while(1){if((b|0)<=-1)break;m=+h[K+(b<<6)>>3];l=+h[K+(b<<6)+8>>3];j=+h[K+(b<<6)+40>>3];L=c[K+(b<<6)+48>>2]|0;i=+h[K+(b<<6)+32>>3]+3.141592653589793;k=+h[K+(b<<6)+56>>3]+3.141592653589793;oL(o,+E(+k)*j+m,+F(+k)*j+l);if(L|0)pL(m,l,j,0,i,k,f,o);b=b+-1|0;k=m}if(n)qL(o,k,l,j,i,i+3.141592653589793);rL(J);return o|0}function lL(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;q=l;l=l+144|0;i=q+128|0;h=q+112|0;j=q+96|0;k=q+64|0;m=q;n=q+80|0;o=sL()|0;p=c[a+4>>2]|0;f=c[a>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=c[f+4>>2];c[i+8>>2]=c[f+8>>2];c[i+12>>2]=c[f+12>>2];tL(o,i,0.0);g=m+48|0;c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];d=0;b=0.0;a:while(1){e=d+3|0;if((e|0)>=(p|0))break;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];c[m+12>>2]=c[g+12>>2];a=1;while(1){if((a|0)==4)break;r=m+(a<<4)|0;s=f+(a+d<<4)|0;c[r>>2]=c[s>>2];c[r+4>>2]=c[s+4>>2];c[r+8>>2]=c[s+8>>2];c[r+12>>2]=c[s+12>>2];a=a+1|0}c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];a=1;while(1){if((a|0)==21){d=e;continue a}XL(n,m,3,+(a|0)*.05,0,0);c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];c[k+12>>2]=c[n+12>>2];c[h>>2]=c[j>>2];c[h+4>>2]=c[j+4>>2];c[h+8>>2]=c[j+8>>2];c[h+12>>2]=c[j+12>>2];c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];c[i+12>>2]=c[n+12>>2];t=+uL(h,i)+b;c[i>>2]=c[k>>2];c[i+4>>2]=c[k+4>>2];c[i+8>>2]=c[k+8>>2];c[i+12>>2]=c[k+12>>2];tL(o,i,t);c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[j+12>>2]=c[k+12>>2];a=a+1|0;b=t}}vL(o);l=q;return o|0}function mL(a,b){a=+a;b=+b;var c=0.0;c=a-+A(+(a/b))*b;return +(!(a<0.0)&!(a>=b)?a:c)}function nL(a,b){a=+a;b=+b;if(!(a==0.0&b==0.0)){a=+K(+a,+b);if(!(a>=0.0))a=a+6.283185307179586}else a=0.0;return +a}function oL(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0;e=c[a>>2]|0;f=a+4|0;if((e|0)<(c[f>>2]|0))f=c[a+8>>2]|0;else{c[f>>2]=2e3;e=a+8|0;f=xH(c[e>>2]|0,32e3)|0;c[e>>2]=f;e=c[a>>2]|0}c[a>>2]=e+1;h[f+(e<<4)>>3]=b;h[f+(e<<4)+8>>3]=d;return}function pL(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;var i=0.0;d=(d|0)==0;i=d?e:f;do if((g|0)==1){e=(d?f:e)-i;e=!(e<=1.7453292519943296e-03)?e:e+6.283185307179586;if(e<3.141592653589793){qL(h,a,b,c,e+i,i);break}else{oL(h,+E(+i)*c+a,+F(+i)*c+a);break}}else oL(h,+E(+i)*c+a,+F(+i)*c+a);while(0);return}function qL(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;oL(a,+E(+e)*d+b,+F(+e)*d+c);a:do if(!(d==0.0)){while(1){if(!(f>e))break;f=f+-6.283185307179586}f=e-f;while(1){if(!(f>6.283185307179586))break;f=f+-6.283185307179586}f=f*.05263157894736842;g=1;while(1){if((g|0)==20)break a;h=e-f*+(g|0);oL(a,+E(+h)*d+b,+F(+h)*d+c);g=g+1|0}}while(0);return}function rL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function sL(){var a=0;a=uH(12)|0;c[a+4>>2]=0;c[a+8>>2]=2e3;c[a>>2]=uH(128e3)|0;return a|0}function tL(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2]|0;f=a+8|0;g=c[f>>2]|0;if((e|0)<(g|0))a=c[a>>2]|0;else{c[f>>2]=g<<1;e=xH(c[a>>2]|0,g<<7)|0;c[a>>2]=e;a=e;e=c[i>>2]|0}h[a+(e<<6)>>3]=+h[b>>3];h[a+(e<<6)+8>>3]=+h[b+8>>3];c[i>>2]=e+1;h[a+(e<<6)+16>>3]=d;return}function uL(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3]-+h[b>>3];d=+h[a+8>>3]-+h[b+8>>3];return +(+C(+(d*d+c*c)))}function vL(a){a=a|0;var b=0;b=c[a+4>>2]|0;if((c[a+8>>2]|0)>(b|0))c[a>>2]=xH(c[a>>2]|0,b<<6)|0;return}function wL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+8|0;i=k;g=k+12|0;c[g>>2]=0;h=c[d+4>>2]|0;if(!h)qa(103632,103643,203,103654);e=c[h>>2]|0;if(!e)qa(103668,103643,206,103654);f=h+8|0;if(!(c[f>>2]|0))c[f>>2]=xL(e)|0;if(!0)e=0;else{e=(AG(c[h>>2]|0)|0)==0;e=e?0:g}if(!((OP(b,d,e)|0)<<24>>24))yL(d,e);do if(e|0){f=c[g>>2]|0;b=c[15686]|0;e=c[h>>2]|0;if(!f){c[j>>2]=e;g1(b,103711,j)|0;break}else{c[i>>2]=e;c[i+4>>2]=f;g1(b,103679,i)|0;break}}while(0);j=d+32|0;c[a>>2]=c[j>>2];c[a+4>>2]=c[j+4>>2];c[a+8>>2]=c[j+8>>2];c[a+12>>2]=c[j+12>>2];l=k;return}function xL(a){a=a|0;var b=0;b=c[46531]|0;if((b|0)!=0?(O$(b,a)|0)==0:0)a=c[46540]|0;else{D_(b);c[46531]=n1(a)|0;a=e2(186124,22228,35,36,93)|0;c[46540]=a}return a|0}function yL(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0.0,j=0,k=0.0;j=c[b+4>>2]|0;e=c[j>>2]|0;i=+h[j+16>>3];j=b+32|0;h[j>>3]=0.0;h[b+40>>3]=i*1.2;h[b+16>>3]=0.0;h[b+24>>3]=i*.1;c[b+8>>2]=0;c[b+12>>2]=0;if(V$(e,103745,4)|0)if((V$(e,103750,5)|0)!=0?(V$(e,103756,9)|0)!=0:0){g=4248;e=103766}else{g=8344;e=103802}else{g=6296;e=103783}if(d|0)c[d>>2]=e;e=c[b>>2]|0;if(e|0){f=0.0;while(1){b=a[e>>0]|0;if(!(b<<24>>24))break;k=f+ +h[g+((b&255)<<3)>>3];h[j>>3]=k;e=e+1|0;f=k}h[j>>3]=f*i}return}function zL(a,b){a=a|0;b=b|0;return O$(c[a>>2]|0,c[b>>2]|0)|0}function AL(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>>2]=-1;c[a+120>>2]=30;c[a+124>>2]=63;c[a+128>>2]=55;c[a+132>>2]=0;c[a+136>>2]=0;c[a+140>>2]=0;b=Cw(b,c[4555]|0)|0;c[a+144>>2]=b;return b|0}function BL(a,b,d){a=a|0;b=b|0;d=d|0;d=E_(1,32)|0;a=c[b>>2]|0;if(a|0)c[d>>2]=n1(a)|0;a=c[b+4>>2]|0;if(a|0)c[d+4>>2]=n1(a)|0;c[d+24>>2]=c[b+24>>2]&127;h[d+16>>3]=+h[b+16>>3];c[d+8>>2]=c[b+8>>2];return d|0}function CL(a,b,d){a=a|0;b=b|0;d=d|0;D_(c[b>>2]|0);D_(c[b+4>>2]|0);D_(b);return}function DL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;a=c[b>>2]|0;e=c[d>>2]|0;i=(e|0)==0;if(!a)if(i)j=5;else a=-1;else if(!i){a=b$(a,e)|0;if(!a)j=5}else a=1;do if((j|0)==5){a=c[b+4>>2]|0;e=c[d+4>>2]|0;i=(e|0)==0;if(!a){if(!i){a=-1;break}}else{if(i){a=1;break}a=b$(a,e)|0;if(a|0)break}a=(c[b+24>>2]&127)-(c[d+24>>2]&127)|0;if(!a){g=+h[b+16>>3];f=+h[d+16>>3];if(g<f)a=-1;else a=g>f&1}}while(0);return a|0}function EL(){eb(186164)|0;return}function FL(){var a=0,b=0;b=l;l=l+16|0;a=b;eb(a|0)|0;l=b;return +(+((c[a+4>>2]|0)+(c[a>>2]|0)-(c[46541]|0)-(c[46542]|0)|0)*.016666666666666666)}function GL(a){a=a|0;var b=0,d=0;b=uH(16)|0;a=(a|0)>2?a:2;d=uH(a<<2)|0;c[b>>2]=d;c[b+12>>2]=d;c[b+8>>2]=d;c[b+4>>2]=d+(a<<2);return b|0}function HL(a){a=a|0;D_(c[a>>2]|0);D_(a);return}function IL(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+4;c[e>>2]=b;if((c[d>>2]|0)>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2];return}function JL(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+12>>2]|0)){e=b+4|0;c[d>>2]=e;b=c[b>>2]|0;if(e>>>0>=(c[a+4>>2]|0)>>>0)c[d>>2]=c[a>>2]}else b=0;return b|0}function KL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;if(((d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){d=i1(h,g,10)|0;e=(h|0)==(c[g>>2]|0)?e:(d|0)<(f|0)?f:d}l=i;return e|0}function LL(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0,i=0,j=0.0;i=l;l=l+16|0;g=i;if(((b|0)!=0&(d|0)!=0?(h=yx(b,d)|0,(h|0)!=0):0)?(a[h>>0]|0)!=0:0){j=+c2(h,g);e=(h|0)==(c[g>>2]|0)?e:j<f?f:j}l=i;return +e}function ML(a){a=a|0;var b=0.0;b=+h[22908];if(!(b>0.0)){b=+LL(a,nx(a,0,104612,0)|0,-1.0,0.0);b=b==0.0?72.0:b}return +b}function NL(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=yx(a,b)|0;return c|0}function OL(b,c,d){b=b|0;c=c|0;d=d|0;b=NL(b,c,d)|0;if((b|0)!=0?(a[b>>0]|0)!=0:0)d=b;return d|0}function PL(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)a=c&255;else a=QL(yx(a,b)|0)|0;return a|0}function QL(a){a=a|0;return RL(a,0)|0}function RL(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!=0):0)if((O$(b,134226)|0)!=0?(O$(b,104623)|0)!=0:0)if((O$(b,104626)|0)!=0?(O$(b,104631)|0)!=0:0){if(((d<<24>>24)+-48|0)>>>0<10)c=(a2(b)|0)&255}else c=1;else c=0;return c|0}function SL(a){a=a|0;var b=0,d=0;while(1){b=(c[a+16>>2]|0)+220|0;d=c[b>>2]|0;if(!((d|0)!=(a|0)&(d|0)!=0))break;a=c[(c[d+16>>2]|0)+220>>2]|0;if(!a){a=d;continue}c[b>>2]=a}return a|0}function TL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=(b|0)){d=c[a+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=a;c[d+216>>2]=1}else a=SL(a)|0;d=c[b+16>>2]|0;e=d+220|0;if(!(c[e>>2]|0)){c[e>>2]=b;c[d+216>>2]=1}else{d=SL(b)|0;b=d;d=c[d+16>>2]|0}g=a+16|0;e=c[g>>2]|0;f=b+16|0;h=(c[e+120>>2]|0)>(c[d+120>>2]|0);a=h?b:a;c[(h?e:d)+220>>2]=a;e=(c[(h?f:g)>>2]|0)+216|0;c[e>>2]=(c[e>>2]|0)+(c[(c[(h?g:f)>>2]|0)+216>>2]|0)}return a|0}function UL(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>>0]=0;return}function VL(a,b){a=a|0;b=b|0;if((SL(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220>>2]=b;b=(c[b+16>>2]|0)+216|0;c[b>>2]=(c[b>>2]|0)+(c[a+216>>2]|0);return}else qa(104643,104635,194,104659)}function WL(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h[b+8>>3]*72.0;h[a>>3]=+h[b>>3]*72.0;h[a+8>>3]=d;return}function XL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var i=0,j=0,k=0,m=0.0,n=0,o=0,p=0;o=l;l=l+576|0;n=o;i=0;while(1){if((i|0)>(d|0))break;k=n+(i<<4)|0;j=b+(i<<4)|0;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];c[k+8>>2]=c[j+8>>2];c[k+12>>2]=c[j+12>>2];i=i+1|0}m=1.0-e;i=1;while(1){if((i|0)>(d|0))break;j=d-i|0;k=i+-1|0;b=0;while(1){if((b|0)>(j|0))break;p=b+1|0;h[n+(i*96|0)+(b<<4)>>3]=+h[n+(k*96|0)+(p<<4)>>3]*e+ +h[n+(k*96|0)+(b<<4)>>3]*m;h[n+(i*96|0)+(b<<4)+8>>3]=+h[n+(k*96|0)+(p<<4)+8>>3]*e+ +h[n+(k*96|0)+(b<<4)+8>>3]*m;b=p}i=i+1|0}a:do if(f|0){i=0;while(1){if((i|0)>(d|0))break a;p=f+(i<<4)|0;k=n+(i*96|0)|0;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];i=i+1|0}}while(0);b:do if(g|0){i=0;while(1){if((i|0)>(d|0))break b;p=g+(i<<4)|0;f=n+((d-i|0)*96|0)+(i<<4)|0;c[p>>2]=c[f>>2];c[p+4>>2]=c[f+4>>2];c[p+8>>2]=c[f+8>>2];c[p+12>>2]=c[f+12>>2];i=i+1|0}}while(0);p=n+(d*96|0)|0;c[a>>2]=c[p>>2];c[a+4>>2]=c[p+4>>2];c[a+8>>2]=c[p+8>>2];c[a+12>>2]=c[p+12>>2];l=o;return}function YL(b){b=b|0;var d=0,e=0,f=0,g=0;e=0;do{d=c[46545]|0;f=d+1024|0;if((d-e|0)<1024){c[46545]=f;f=xH(c[46546]|0,f)|0;c[46546]=f;d=c[46545]|0}else f=c[46546]|0;d=O0(f+e|0,d-e|0,b)|0;if(!d){g=6;break}e=(W_(d)|0)+e|0;d=c[46546]|0}while((a[d+(e+-1)>>0]|0)!=10);if((g|0)==6)d=c[46546]|0;return ((e|0)>0?d:0)|0}function ZL(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;do if((b|0)!=0?(a[b>>0]|0)!=0:0)if(!0){d=c[46362]|0;e=c[46548]|0;if((c[46547]|0)==(d|0))d=e;else{if(e){D_(c[e>>2]|0);D_(c[46548]|0);c[46548]=0;d=c[46362]|0}c[46547]=d;if(!d)break;if(!(a[d>>0]|0))break;d=_L(d)|0;c[46548]=d}if(!((a[b>>0]|0)!=47&(d|0)!=0))break;b=$L(d,c[46549]|0,b)|0;break}else S();else b=0;while(0);l=f;return b|0}function _L(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=0;f=0;g=0;b=n1(a)|0;d=0;while(1){b=k1(b,104958)|0;if(!b)break;a=(g<<2)+8|0;if(!f)a=vH(a)|0;else a=xH(d,a)|0;c[a+(g<<2)>>2]=b;f=W_(b)|0;e=e>>>0>f>>>0?e:f;f=a;g=g+1|0;b=0;d=a}c[f+(g<<2)>>2]=0;c[46549]=e;return f|0}function $L(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g;h=c[46550]|0;c[46550]=F_(h,b+2+(W_(d)|0)|0)|0;while(1){b=c[a>>2]|0;if(!b){a=0;break}h=c[46550]|0;c[e>>2]=b;c[e+4>>2]=104956;c[e+8>>2]=d;Y0(h,104949,e)|0;if(!(K1(c[46550]|0,4)|0)){f=4;break}else a=a+4|0}if((f|0)==4)a=c[46550]|0;l=g;return a|0}function aM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(b|0)==0;f=0;while(1){h=c[d+(f<<2)>>2]|0;if(!h)break;if((!g?(a[b>>0]|0)==(a[h>>0]|0):0)?(b$(b,h)|0)==0:0)break;f=f+1|0}return c[e+(f<<2)>>2]|0}function bM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;z=l;l=l+80|0;x=z+16|0;y=z;u=c[b+4>>2]|0;v=c[b>>2]|0;w=d+8|0;f=0;e=-1;g=1.e+38;b=-1;while(1){if((f|0)>=(u|0))break;s=c[v+(f*48|0)>>2]|0;t=c[v+(f*48|0)+4>>2]|0;r=0;while(1){if((r|0)>=(t|0))break;q=+h[s+(r<<4)>>3]-+h[d>>3];p=+h[s+(r<<4)+8>>3]-+h[w>>3];q=p*p+q*q;A=(e|0)==-1|q<g;C=A?r:e;r=r+1|0;b=A?f:b;e=C;g=A?q:g}f=f+1|0}f=c[v+(b*48|0)>>2]|0;e=e+(((e|0)==((c[v+(b*48|0)+4>>2]|0)+-1|0))<<31>>31)|0;e=e-((e|0)%3|0)|0;b=0;while(1){if((b|0)==4)break;C=b+e|0;h[x+(b<<4)>>3]=+h[f+(C<<4)>>3];h[x+(b<<4)+8>>3]=+h[f+(C<<4)+8>>3];b=b+1|0}q=+h[d>>3];k=+h[x>>3]-q;o=+h[w>>3];p=+h[x+8>>3]-o;j=+h[x+48>>3]-q;n=+h[x+56>>3]-o;b=y+8|0;g=1.0;i=0.0;j=n*n+j*j;k=p*p+k*k;while(1){p=(g+i)*.5;XL(y,x,3,p,0,0);m=+h[y>>3];n=+h[b>>3];if(+B(+(k-j))<1.0)break;if(+B(+(g-i))<1.0e-05)break;C=k<j;m=m-q;n=n-o;n=n*n+m*m;g=C?p:g;i=C?i:p;j=C?n:j;k=C?k:n}h[a>>3]=m;h[a+8>>3]=n;l=z;return}function cM(){return 0}function dM(b){b=b|0;var d=0.0,e=0,f=0,g=0,i=0,j=0,k=0,l=0;d=+LL(b,c[46376]|0,.75,.01);g=b+16|0;h[(c[g>>2]|0)+32>>3]=d;d=+LL(b,c[46375]|0,.5,.02);h[(c[g>>2]|0)+40>>3]=d;l=WJ(OL(b,c[46377]|0,104960)|0,b)|0;c[(c[g>>2]|0)+8>>2]=l;l=yx(b,c[46384]|0)|0;d=+LL(b,c[46380]|0,14.0,1.0);e=OL(b,c[46381]|0,104968)|0;f=OL(b,c[46382]|0,134232)|0;i=(Rz(l)|0)!=0;k=(HJ(b)|0)==2;i=kH(b,l,(k?4:0)|(i?2:0),d,e,f)|0;c[(c[g>>2]|0)+104>>2]=i;i=c[46385]|0;if((i|0?(j=yx(b,i)|0,j|0):0)?a[j>>0]|0:0){l=(Rz(j)|0)!=0;l=kH(b,j,l?2:0,d,e,f)|0;c[(c[g>>2]|0)+108>>2]=l;l=(c[(ez(b)|0)+16>>2]|0)+113|0;a[l>>0]=a[l>>0]|16}k=(KL(b,c[46388]|0,0,0)|0)&255;l=c[g>>2]|0;a[l+144>>0]=k;tb[c[c[(c[l+8>>2]|0)+4>>2]>>2]&127](b);return}function eM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+112|0;m=v+96|0;n=v+80|0;s=v+40|0;u=v;r=b+48|0;p=ez(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)|0;g=m+8|0;c[g>>2]=0;o=n+8|0;c[o>>2]=0;d=c[46412]|0;if(((d|0)!=0?(e=yx(b,d)|0,(e|0)!=0):0)?(a[e>>0]|0)!=0:0){fM(b,m);t=(Rz(e)|0)!=0;i=+h[m>>3];f=c[g>>2]|0;d=c[m+12>>2]|0;e=kH(b,e,t?2:0,i,f,d)|0;t=b+16|0;c[(c[t>>2]|0)+96>>2]=e;e=(c[p+16>>2]|0)+113|0;a[e>>0]=a[e>>0]|1;e=QL(NL(b,c[46422]|0,134226)|0)|0;a[(c[t>>2]|0)+114>>0]=e;t=1;e=f}else{t=0;d=0;i=0.0;e=0}f=c[46413]|0;if((f|0?(j=yx(b,f)|0,j|0):0)?a[j>>0]|0:0){if(!e){fM(b,m);i=+h[m>>3];e=c[g>>2]|0;d=c[m+12>>2]|0}g=(Rz(j)|0)!=0;j=kH(b,j,g?2:0,i,e,d)|0;c[(c[b+16>>2]|0)+108>>2]=j;j=(c[p+16>>2]|0)+113|0;a[j>>0]=a[j>>0]|32}d=c[46427]|0;if(((d|0)!=0?(k=yx(b,d)|0,(k|0)!=0):0)?(a[k>>0]|0)!=0:0){gM(b,m,n);j=(Rz(k)|0)!=0;i=+h[n>>3];d=c[o>>2]|0;e=c[n+12>>2]|0;k=kH(b,k,j?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+100>>2]=k;k=(c[p+16>>2]|0)+113|0;a[k>>0]=a[k>>0]|2}else{e=0;i=0.0;d=0}f=c[46428]|0;if((f|0?(q=yx(b,f)|0,q|0):0)?a[q>>0]|0:0){if(!d){gM(b,m,n);e=c[n+12>>2]|0;i=+h[n>>3];d=c[o>>2]|0}o=(Rz(q)|0)!=0;q=kH(b,q,o?2:0,i,d,e)|0;c[(c[b+16>>2]|0)+104>>2]=q;q=(c[p+16>>2]|0)+113|0;a[q>>0]=a[q>>0]|4}d=xx(b,108373)|0;d=d|0?d:191979;if(a[d>>0]|0)a[(c[(c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0)+16>>2]|0)+145>>0]=1;g=b+16|0;f=(c[g>>2]|0)+16|0;e=c[((c[b>>2]&3|0)==3?b:r)+40>>2]|0;hM(s,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=s;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46434]|0)|0)<<24>>24)a[(c[g>>2]|0)+46>>0]=0;d=xx(b,108382)|0;d=d|0?d:191979;if(!(a[d>>0]|0))e=b+-48|0;else{e=b+-48|0;a[(c[(c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0)+16>>2]|0)+145>>0]=1}f=(c[g>>2]|0)+56|0;e=c[((c[b>>2]&3|0)==2?b:e)+40>>2]|0;hM(u,c[(c[(c[(c[e+16>>2]|0)+8>>2]|0)+4>>2]|0)+8>>2]|0,e,d);d=u;e=f+40|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0));if((iM(b,c[46435]|0)|0)<<24>>24)a[(c[g>>2]|0)+86>>0]=0;l=v;return t|0}function fM(a,b){a=a|0;b=b|0;h[b>>3]=+LL(a,c[46409]|0,14.0,1.0);c[b+8>>2]=OL(a,c[46410]|0,104968)|0;c[b+12>>2]=OL(a,c[46411]|0,134232)|0;return}function gM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=b+8|0;if(!(c[e>>2]|0))fM(a,b);h[d>>3]=+LL(a,c[46429]|0,+h[b>>3],1.0);c[d+8>>2]=OL(a,c[46430]|0,c[e>>2]|0)|0;c[d+12>>2]=OL(a,c[46431]|0,c[b+12>>2]|0)|0;return}function hM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+128|0;k=m+80|0;h=m+40|0;g=m;if((f|0)!=0?(j=A$(f,58)|0,(j|0)!=0):0){a[j>>0]=0;i=j+1|0;xb[d&31](h,e,f,i);e=k;g=h;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));a[j>>0]=58;f=i}else{xb[d&31](g,e,f,0);e=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0))}e=b;g=k;d=e+36|0;do{c[e>>2]=c[g>>2];e=e+4|0;g=g+4|0}while((e|0)<(d|0));c[b+36>>2]=f;l=m;return}function iM(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=yx(b,c)|0,(d|0)!=0):0)?(a[d>>0]|0)!=0:0)b=(QL(d)|0)<<24>>24==0&1;else b=0;return b|0}function jM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0.0,o=0.0;k=l;l=l+32|0;i=k;j=c[b+8>>2]|0;d=c[b+4>>2]|0;d=(c[b+44>>2]|0)+((O((d|0)>1?d+-1|0:0,j)|0)<<4)|0;e=i+16|0;c[e>>2]=c[d>>2];c[e+4>>2]=c[d+4>>2];c[e+8>>2]=c[d+8>>2];c[e+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];f=i+8|0;g=i+24|0;b=1;while(1){if((b|0)>=(j|0))break;m=d+(b<<4)|0;o=+h[m>>3];h[i>>3]=+h[(+h[i>>3]<o?i:m)>>3];n=+h[m+8>>3];h[f>>3]=+h[(+h[f>>3]<n?i:m)+8>>3];h[e>>3]=+h[(+h[e>>3]>o?e:m)>>3];h[g>>3]=+h[(+h[g>>3]>n?e:m)+8>>3];b=b+1|0}c[a>>2]=c[i>>2];c[a+4>>2]=c[i+4>>2];c[a+8>>2]=c[i+8>>2];c[a+12>>2]=c[i+12>>2];c[a+16>>2]=c[i+16>>2];c[a+20>>2]=c[i+20>>2];c[a+24>>2]=c[i+24>>2];c[a+28>>2]=c[i+28>>2];l=k;return}function kM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+64|0;g=d+32|0;e=d;f=c[a+16>>2]|0;a=f+16|0;f=c[f+116>>2]&1;c[g>>2]=c[a>>2];c[g+4>>2]=c[a+4>>2];c[g+8>>2]=c[a+8>>2];c[g+12>>2]=c[a+12>>2];c[g+16>>2]=c[a+16>>2];c[g+20>>2]=c[a+20>>2];c[g+24>>2]=c[a+24>>2];c[g+28>>2]=c[a+28>>2];lM(e,g,b,f);c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];c[a+12>>2]=c[e+12>>2];c[a+16>>2]=c[e+16>>2];c[a+20>>2]=c[e+20>>2];c[a+24>>2]=c[e+24>>2];c[a+28>>2]=c[e+28>>2];l=d;return}function lM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0;g=+h[d+56>>3];l=+h[d+64>>3];j=e<<24>>24==0;k=+h[d+24>>3];i=+h[d+32>>3];m=(j?k:i)*.5;f=g-m;g=m+g;if(f<+h[b>>3])h[b>>3]=f;e=b+16|0;if(g>+h[e>>3])h[e>>3]=g;g=(j?i:k)*.5;f=l-g;g=g+l;e=b+8|0;if(f<+h[e>>3])h[e>>3]=f;e=b+24|0;if(g>+h[e>>3])h[e>>3]=g;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];c[a+24>>2]=c[b+24>>2];c[a+28>>2]=c[b+28>>2];return}function mM(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;L=l;l=l+448|0;H=L+416|0;t=L+384|0;u=L+304|0;K=L+256|0;G=L+192|0;B=L+144|0;C=L+96|0;d=L+400|0;e=L+368|0;f=L+352|0;g=L+336|0;v=L+288|0;w=L+224|0;x=L+160|0;y=L+112|0;z=L+64|0;A=L+32|0;I=L;J=b+16|0;if((ay(b)|0)==0?(c[(c[J>>2]|0)+180>>2]|0)==0:0){nM(d,0.0,0.0);c[K>>2]=c[d>>2];c[K+4>>2]=c[d+4>>2];c[K+8>>2]=c[d+8>>2];c[K+12>>2]=c[d+12>>2];K=K+16|0;nM(e,0.0,0.0);c[K>>2]=c[e>>2];c[K+4>>2]=c[e+4>>2];c[K+8>>2]=c[e+8>>2];c[K+12>>2]=c[e+12>>2]}else{nM(f,2147483647.0,2147483647.0);c[K>>2]=c[f>>2];c[K+4>>2]=c[f+4>>2];c[K+8>>2]=c[f+8>>2];c[K+12>>2]=c[f+12>>2];F=K+16|0;nM(g,-2147483647.0,-2147483647.0);c[F>>2]=c[g>>2];c[F+4>>2]=c[g+4>>2];c[F+8>>2]=c[g+8>>2];c[F+12>>2]=c[g+12>>2];o=C+8|0;p=u+16|0;D=K+8|0;q=u+8|0;E=K+24|0;r=u+24|0;s=B+8|0;n=Sy(b)|0;while(1){if(!n)break;WL(B,n);d=n+16|0;m=c[d>>2]|0;h[C>>3]=(+h[m+96>>3]+ +h[m+88>>3])*.5;h[o>>3]=+h[m+80>>3]*.5;c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];oM(u,t,H);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];c[t+8>>2]=c[B+8>>2];c[t+12>>2]=c[B+12>>2];c[H>>2]=c[C>>2];c[H+4>>2]=c[C+4>>2];c[H+8>>2]=c[C+8>>2];c[H+12>>2]=c[C+12>>2];pM(v,t,H);c[p>>2]=c[v>>2];c[p+4>>2]=c[v+4>>2];c[p+8>>2]=c[v+8>>2];c[p+12>>2]=c[v+12>>2];h[K>>3]=+h[(+h[K>>3]<+h[u>>3]?K:u)>>3];h[D>>3]=+h[(+h[D>>3]<+h[q>>3]?K:u)+8>>3];h[F>>3]=+h[(+h[F>>3]>+h[p>>3]?K:u)+16>>3];h[E>>3]=+h[(+h[E>>3]>+h[r>>3]?K:u)+24>>3];d=c[(c[d>>2]|0)+108>>2]|0;if(d|0?a[d+81>>0]|0:0){m=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(w,H,d,m);c[K>>2]=c[w>>2];c[K+4>>2]=c[w+4>>2];c[K+8>>2]=c[w+8>>2];c[K+12>>2]=c[w+12>>2];c[K+16>>2]=c[w+16>>2];c[K+20>>2]=c[w+20>>2];c[K+24>>2]=c[w+24>>2];c[K+28>>2]=c[w+28>>2]}m=Ex(b,n)|0;while(1){if(!m)break;k=m+16|0;d=c[k>>2]|0;j=d+8|0;e=c[j>>2]|0;if(e|0){i=0;while(1){if((i|0)<(c[e+4>>2]|0))g=0;else break;while(1){f=c[e>>2]|0;if((g|0)>=(c[f+(i*48|0)+4>>2]|0))break;e=(c[f+(i*48|0)>>2]|0)+(g<<4)|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];N=+h[B>>3];h[K>>3]=+h[(+h[K>>3]<N?K:B)>>3];M=+h[s>>3];h[D>>3]=+h[(+h[D>>3]<M?K:B)+8>>3];h[F>>3]=+h[(+h[F>>3]>N?F:B)>>3];h[E>>3]=+h[(+h[E>>3]>M?F:B)+8>>3];g=g+1|0;e=c[j>>2]|0}i=i+1|0}e=c[d+96>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(x,H,e,d);c[K>>2]=c[x>>2];c[K+4>>2]=c[x+4>>2];c[K+8>>2]=c[x+8>>2];c[K+12>>2]=c[x+12>>2];c[K+16>>2]=c[x+16>>2];c[K+20>>2]=c[x+20>>2];c[K+24>>2]=c[x+24>>2];c[K+28>>2]=c[x+28>>2];d=c[k>>2]|0}e=c[d+100>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(y,H,e,d);c[K>>2]=c[y>>2];c[K+4>>2]=c[y+4>>2];c[K+8>>2]=c[y+8>>2];c[K+12>>2]=c[y+12>>2];c[K+16>>2]=c[y+16>>2];c[K+20>>2]=c[y+20>>2];c[K+24>>2]=c[y+24>>2];c[K+28>>2]=c[y+28>>2];d=c[k>>2]|0}e=c[d+104>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(z,H,e,d);c[K>>2]=c[z>>2];c[K+4>>2]=c[z+4>>2];c[K+8>>2]=c[z+8>>2];c[K+12>>2]=c[z+12>>2];c[K+16>>2]=c[z+16>>2];c[K+20>>2]=c[z+20>>2];c[K+24>>2]=c[z+24>>2];c[K+28>>2]=c[z+28>>2];d=c[k>>2]|0}d=c[d+108>>2]|0;if(d|0?a[d+81>>0]|0:0){k=c[(c[J>>2]|0)+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(A,H,d,k);c[K>>2]=c[A>>2];c[K+4>>2]=c[A+4>>2];c[K+8>>2]=c[A+8>>2];c[K+12>>2]=c[A+12>>2];c[K+16>>2]=c[A+16>>2];c[K+20>>2]=c[A+20>>2];c[K+24>>2]=c[A+24>>2];c[K+28>>2]=c[A+28>>2]}}m=Gx(b,m)|0}n=Ty(b,n)|0}d=c[J>>2]|0;f=c[d+180>>2]|0;g=d+184|0;i=G+8|0;j=G+16|0;k=G+24|0;e=1;while(1){if((e|0)>(f|0))break;P=+h[(c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0)+16>>3];h[G>>3]=P;C=c[(c[(c[g>>2]|0)+(e<<2)>>2]|0)+16>>2]|0;O=+h[C+24>>3];h[i>>3]=O;M=+h[C+32>>3];h[j>>3]=M;N=+h[C+40>>3];h[k>>3]=N;h[K>>3]=+h[(+h[K>>3]<P?K:G)>>3];h[D>>3]=+h[(+h[D>>3]<O?K:G)+8>>3];h[F>>3]=+h[(+h[F>>3]>M?K:G)+16>>3];h[E>>3]=+h[(+h[E>>3]>N?K:G)+24>>3];e=e+1|0}e=c[d+12>>2]|0;if((e|0)!=0?(a[e+81>>0]|0)!=0:0){d=c[d+116>>2]&1;c[H>>2]=c[K>>2];c[H+4>>2]=c[K+4>>2];c[H+8>>2]=c[K+8>>2];c[H+12>>2]=c[K+12>>2];c[H+16>>2]=c[K+16>>2];c[H+20>>2]=c[K+20>>2];c[H+24>>2]=c[K+24>>2];c[H+28>>2]=c[K+28>>2];lM(I,H,e,d);c[K>>2]=c[I>>2];c[K+4>>2]=c[I+4>>2];c[K+8>>2]=c[I+8>>2];c[K+12>>2]=c[I+12>>2];c[K+16>>2]=c[I+16>>2];c[K+20>>2]=c[I+20>>2];c[K+24>>2]=c[I+24>>2];c[K+28>>2]=c[I+28>>2];d=c[J>>2]|0}J=d+16|0;c[J>>2]=c[K>>2];c[J+4>>2]=c[K+4>>2];c[J+8>>2]=c[K+8>>2];c[J+12>>2]=c[K+12>>2];c[J+16>>2]=c[K+16>>2];c[J+20>>2]=c[K+20>>2];c[J+24>>2]=c[K+24>>2];c[J+28>>2]=c[K+28>>2]}l=L;return}function nM(a,b,c){a=a|0;b=+b;c=+c;h[a>>3]=b;h[a+8>>3]=c;return}function oM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[b+8>>3]-+h[c+8>>3];h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]=d;return}function pM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+h[c+8>>3]+ +h[b+8>>3];h[a>>3]=+h[c>>3]+ +h[b>>3];h[a+8>>3]=d;return}function qM(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(V$(ry(a)|0,104980,7)|0)==0&1;return a|0}function rM(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(pz(b)|0){case 0:{e=nx(a,0,c,191979)|0;break a}case 1:{e=nx(a,1,c,191979)|0;break a}case 2:{e=nx(a,2,c,191979)|0;break a}default:{e=0;break a}}while(0);rx(b,e,d)|0;return e|0}function sM(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+144|0;g=k;i=tM(d)|0;h=Cw(23488,c[4555]|0)|0;j=vA(d,104988,1)|0;Az(j,134401,280,1)|0;Tw(g,128,k+16|0);e=Sy(d)|0;while(1){if(!e)break;a:do if(!(a[(c[e+16>>2]|0)+118>>0]|0)){f=Ex(d,e)|0;while(1){if(!f)break a;uM(f,j,g,h,i);f=Gx(d,f)|0}}while(0);e=Ty(d,e)|0}Xw(g);yw(h)|0;f=ay(j)|0;e=Sy(j)|0;while(1){if(!e)break;h=Ty(j,e)|0;dz(d,e)|0;e=h}$x(j)|0;if(f|0){j=(c[d+16>>2]|0)+136|0;b[j>>1]=b[j>>1]|1}yw(i)|0;l=k;return f|0}function tM(a){a=a|0;var b=0;b=Cw(23524,c[4555]|0)|0;DM(a,b);return b|0}function uM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+32|0;p=t+24|0;s=t+16|0;r=t+8|0;k=t;n=c[b>>2]&3;m=c[((n|0)==3?b:b+48|0)+40>>2]|0;n=c[((n|0)==2?b:b+-48|0)+40>>2]|0;do if(!(a[(c[n+16>>2]|0)+118>>0]|0)){if(!(z$(ry(m)|0,104980,7)|0))o=vM(g,ry(m)|0)|0;else o=0;if(!(z$(ry(n)|0,104980,7)|0))i=vM(g,ry(n)|0)|0;else i=0;h=(o|0)!=0;j=(i|0)!=0;if(h|j){if((o|0)==(i|0)){r=ry(m)|0;s=ry(m)|0;c[k>>2]=r;c[k+4>>2]=s;Pw(0,105003,k)|0;break}g=wM(f,b)|0;if(g|0){xM(b,c[g+16>>2]|0,c[g+20>>2]|0)|0;break}if(!j)if(!(oz(o,n)|0)){zM(f,m,n,xM(b,yM(m,o,e,d)|0,n)|0);break}else{r=ry(n)|0;s=ry(o)|0;c[q>>2]=r;c[q+4>>2]=s;Pw(0,105158,q)|0;break}if(!h)if(!(oz(i,m)|0)){zM(f,m,n,xM(b,m,yM(n,i,e,d)|0)|0);break}else{r=ry(m)|0;s=ry(i)|0;c[p>>2]=r;c[p+4>>2]=s;Pw(0,105121,p)|0;break}if(oz(i,o)|0){q=ry(o)|0;s=ry(i)|0;c[r>>2]=q;c[r+4>>2]=s;Pw(0,105041,r)|0;break}if(!(oz(o,i)|0)){s=yM(m,o,e,d)|0;zM(f,m,n,xM(b,s,yM(n,i,e,d)|0)|0);break}else{q=ry(i)|0;r=ry(o)|0;c[s>>2]=q;c[s+4>>2]=r;Pw(0,105081,s)|0;break}}}while(0);l=t;return}function vM(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else a=c[a+12>>2]|0;return a|0}function wM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d;f=c[b>>2]&3;c[e>>2]=c[((f|0)==3?b:b+48|0)+40>>2];c[e+4>>2]=c[((f|0)==2?b:b+-48|0)+40>>2];b=nb[c[a>>2]&63](a,e,512)|0;l=d;return b|0}function xM(a,b,c){a=a|0;b=b|0;c=c|0;c=Rx(ez(b)|0,b,c,0,1)|0;Az(c,134378,176,1)|0;Bx(a,c)|0;return c|0}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;g=k;j=k+4|0;Ww(e,105195)|0;i=c[46551]|0;c[46551]=i+1;c[g>>2]=i;Y0(j,134313,g)|0;Ww(e,j)|0;j=e+4|0;g=c[j>>2]|0;i=e+8|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}c[j>>2]=g+1;a[g>>0]=58;Ww(e,ry(d)|0)|0;h=fz(d)|0;g=c[j>>2]|0;if(g>>>0>=(c[i>>2]|0)>>>0){Uw(e,1)|0;g=c[j>>2]|0}a[g>>0]=0;e=c[e>>2]|0;c[j>>2]=e;j=az(h,e,1)|0;Az(j,134365,304,1)|0;a[(c[j+16>>2]|0)+118>>0]=1;Xy(d,j,1)|0;Xy(f,b,1)|0;f=ez(j)|0;c[46384]=rM(f,j,105198,191979,c[46384]|0)|0;f=ez(j)|0;c[46387]=rM(f,j,138e3,131253,c[46387]|0)|0;f=ez(j)|0;c[46377]=rM(f,j,105204,105210,c[46377]|0)|0;l=k;return j|0}function zM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;f=l;l=l+32|0;g=f;n=g+8|0;c[n>>2]=b;m=g+12|0;c[m>>2]=d;o=c[e>>2]&3;i=e+48|0;j=g+16|0;c[j>>2]=c[((o|0)==3?e:i)+40>>2];k=e+-48|0;h=g+20|0;c[h>>2]=c[((o|0)==2?e:k)+40>>2];nb[c[a>>2]&63](a,g,1)|0;c[n>>2]=d;c[m>>2]=b;d=c[e>>2]&3;c[j>>2]=c[((d|0)==2?e:k)+40>>2];c[h>>2]=c[((d|0)==3?e:i)+40>>2];nb[c[a>>2]&63](a,g,1)|0;l=f;return}function AM(a,b,d){a=a|0;b=b|0;d=d|0;d=uH(24)|0;c[d+8>>2]=c[b+8>>2];c[d+12>>2]=c[b+12>>2];c[d+16>>2]=c[b+16>>2];c[d+20>>2]=c[b+20>>2];return d|0}function BM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function CM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(a>>>0>=e>>>0)if(a>>>0>e>>>0)a=1;else{b=c[b+4>>2]|0;d=c[d+4>>2]|0;return (b>>>0<d>>>0?-1:b>>>0>d>>>0&1)|0}else a=-1;return a|0}function DM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;g=h;f=a+16|0;e=1;while(1){a=c[f>>2]|0;if((e|0)>(c[a+180>>2]|0))break;a=c[(c[a+184>>2]|0)+(e<<2)>>2]|0;d=ry(a)|0;if(!(nb[c[b>>2]&63](b,d,512)|0)){i=uH(16)|0;c[i+8>>2]=d;c[i+12>>2]=a;nb[c[b>>2]&63](b,i,1)|0}else{c[g>>2]=d;Pw(0,105214,g)|0}DM(a,b);e=e+1|0}l=h;return}function EM(a,b,c){a=a|0;b=b|0;c=c|0;D_(b);return}function FM(a){a=a|0;var b=0,c=0,d=0;d=vA(a,104988,1)|0;Az(d,134401,280,1)|0;b=Sy(a)|0;while(1){if(!b)break;c=Ex(a,b)|0;while(1){if(!c)break;GM(c,d);c=Gx(a,c)|0}b=Ty(a,b)|0}b=Sy(d)|0;while(1){if(!b)break;c=Ty(d,b)|0;HM(b);dz(a,b)|0;b=c}$x(d)|0;return}function GM(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]&3;f=c[((e|0)==3?b:b+48|0)+40>>2]|0;e=c[((e|0)==2?b:b+-48|0)+40>>2]|0;if(!((a[(c[f+16>>2]|0)+118>>0]|0)==0?!(a[(c[e+16>>2]|0)+118>>0]|0):0)){f=IM(f,d)|0;e=xM(b,f,IM(e,d)|0)|0;f=c[b+16>>2]|0;d=f+8|0;e=c[e+16>>2]|0;c[e+8>>2]=c[d>>2];c[d>>2]=0;d=f+96|0;c[e+96>>2]=c[d>>2];c[d>>2]=0;d=f+108|0;c[e+108>>2]=c[d>>2];c[d>>2]=0;d=f+100|0;c[e+100>>2]=c[d>>2];c[d>>2]=0;f=f+104|0;c[e+104>>2]=c[f>>2];c[f>>2]=0;JM(b)}return}function HM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|0;if(d){D_(d);b=c[e>>2]|0}d=c[b+8>>2]|0;if(d){tb[c[(c[d+4>>2]|0)+4>>2]&127](a);b=c[e>>2]|0}nH(c[b+104>>2]|0);nH(c[(c[e>>2]|0)+108>>2]|0);Cz(a,134365)|0;return}function IM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=ez(b)|0;a:do if(a[(c[b+16>>2]|0)+118>>0]|0){Xy(d,b,1)|0;b=A$(ry(b)|0,58)|0;if(!b)qa(108182,104635,1225,105266);d=b+1|0;b=az(f,d,0)|0;if(!b){b=az(f,d,1)|0;Az(b,134365,304,1)|0;d=sx(f,1,0)|0;while(1){if(!d)break a;g=yx(b,d)|0;e=c[d+12>>2]|0;if((g|0)!=(e|0))rx(b,d,e)|0;d=sx(f,1,d)|0}}}while(0);return b|0}function JM(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+144>>2]|0);KM(a);nH(c[(c[b>>2]|0)+96>>2]|0);nH(c[(c[b>>2]|0)+108>>2]|0);nH(c[(c[b>>2]|0)+100>>2]|0);nH(c[(c[b>>2]|0)+104>>2]|0);Cz(a,134378)|0;return}function KM(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;a=c[e>>2]|0;b=c[a+8>>2]|0;if(b){d=0;while(1){a=c[b>>2]|0;if((d|0)>=(c[b+4>>2]|0))break;D_(c[a+(d*48|0)>>2]|0);d=d+1|0;b=c[(c[e>>2]|0)+8>>2]|0}D_(a);D_(c[(c[e>>2]|0)+8>>2]|0);a=c[e>>2]|0}c[a+8>>2]=0;return}function LM(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=nx(a,b,c,0)|0;if(!e)e=nx(a,b,c,d)|0;return e|0}function MM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o;h=o+8|0;j=o+16|0;m=A$(b,59)|0;n=d+4|0;e=c[n>>2]|0;k=d+8|0;if(e>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;e=c[n>>2]|0}c[n>>2]=e+1;a[e>>0]=38;if(((m|0)!=0?(f=m-b|0,(f+-2|0)>>>0<=6):0)?(U0(j,b,f)|0,a[j+f>>0]=0,c[h>>2]=j,g=e2(h,23560,252,8,94)|0,(g|0)!=0):0){c[i>>2]=c[g+4>>2];Y0(j,134313,i)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=35;Ww(d,j)|0;b=c[n>>2]|0;if(b>>>0>=(c[k>>2]|0)>>>0){Uw(d,1)|0;b=c[n>>2]|0}c[n>>2]=b+1;a[b>>0]=59;b=m+1|0}l=o;return b|0}function NM(a,b){a=a|0;b=b|0;return b$(c[a>>2]|0,c[b>>2]|0)|0}function OM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+1072|0;k=q+8|0;j=q;i=q+16|0;o=q+24|0;c[i>>2]=b;if((c[46552]|0)!=(d|0)){c[46552]=d;a[191878]=0}Tw(o,1024,q+40|0);p=o+4|0;n=o+8|0;while(1){f=b+1|0;c[i>>2]=f;e=a[b>>0]|0;if(!(e<<24>>24))break;do if((e&255)<192)if(e<<24>>24==38){f=QM(i)|0;if(!f)e=38;else{if(f>>>0<127){e=f&255;break}b=c[p>>2]|0;e=b>>>0>=(c[n>>2]|0)>>>0;if(f>>>0<2047){if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6|192;e=(f&63|128)&255;break}if(e){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>12|224;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=f>>>6&63|128;e=(f&63|128)&255}}else{h=0;m=9}else if((e&255)>=224)if((e&255)>=240)if((e&255)<248){h=3;m=9}else{if(!(a[191878]|0)){c[j>>2]=ry(d)|0;Pw(0,106681,j)|0;a[191878]=1}h=-1;e=PM(e,o)|0;m=9}else{h=2;m=9}else{h=1;m=9}while(0);do if((m|0)==9){m=0;g=0;while(1){if((g|0)>=(h|0)){m=34;break}if((a[f>>0]&-64)<<24>>24!=-128)break;b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;g=g+1|0;e=a[f>>0]|0;f=f+1|0}if((m|0)==34){m=0;c[i>>2]=f;break}c[i>>2]=f;if(!(a[191878]|0)){g=ry(d)|0;c[k>>2]=h+1;c[k+4>>2]=g;Pw(0,106802,k)|0;a[191878]=1}e=PM(e,o)|0}while(0);b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}c[p>>2]=b+1;a[b>>0]=e;b=c[i>>2]|0}b=c[p>>2]|0;if(b>>>0>=(c[n>>2]|0)>>>0){Uw(o,1)|0;b=c[p>>2]|0}a[b>>0]=0;n=c[o>>2]|0;c[p>>2]=n;p=n1(n)|0;Xw(o);l=q;return p|0}function PM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j;a[g>>0]=b;a[g+1>>0]=0;g=RM(g)|0;h=d+4|0;i=d+8|0;e=W_(g)|0;f=g;while(1){if((e|0)<=1)break;b=c[h>>2]|0;if(b>>>0>=(c[i>>2]|0)>>>0){Uw(d,1)|0;b=c[h>>2]|0}k=a[f>>0]|0;c[h>>2]=b+1;a[b>>0]=k;e=e+-1|0;f=f+1|0}k=a[f>>0]|0;D_(g);l=j;return k|0}function QM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;d=i+8|0;e=c[b>>2]|0;a:do if((a[e>>0]|0)!=35){c[h>>2]=d;g=0;b:while(1){if((g|0)>=8){d=0;break a}f=a[e+g>>0]|0;switch(f<<24>>24){case 0:{d=0;break a}case 59:break b;default:{}}a[d>>0]=f;d=d+1|0;g=g+1|0}a[d>>0]=0;d=e2(h,23560,252,8,94)|0;if(!d)d=0;else{e=e+(g+1)|0;d=c[d+4>>2]|0}}else{h=a[e+1>>0]|0;d=h&255;c:do if((h|32)<<24>>24==120){h=0;g=2;while(1){if((g|0)>=8){f=h;break c}f=a[e+g>>0]|0;d=f&255;if((f+-65&255)>=6)if((f+-97&255)>=6)if((f+-48&255)<10)f=-48;else{f=h;break c}else f=-87;else f=-55;d=f+d|0;h=d+(h<<4)|0;g=g+1|0}}else{f=0;g=1;while(1){if((g|0)>=8)break c;h=a[e+g>>0]|0;d=h&255;if((h+-48&255)>=10)break c;f=(f*10|0)+-48+d|0;g=g+1|0}}while(0);d=(d|0)==59;e=d?e+(g+1)|0:e;d=d?f:0}while(0);c[b>>2]=e;l=i;return d|0}function RM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+1056|0;g=k;i=k+8|0;c[g>>2]=b;Tw(i,1024,k+24|0);j=i+4|0;h=i+8|0;while(1){c[g>>2]=b+1;d=a[b>>0]|0;if(!(d<<24>>24))break;b=d&255;if(d<<24>>24==38){b=QM(g)|0;if(!b){b=38;f=6}else f=5}else f=5;do if((f|0)==5){f=0;if(b>>>0<127)f=6;else{d=c[j>>2]|0;e=d>>>0>=(c[h>>2]|0)>>>0;if(b>>>0<2047){if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6|192;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128;break}if(e){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>12|224;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}c[j>>2]=d+1;a[d>>0]=b>>>6&63|128;d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}b=b&63|128}}while(0);if((f|0)==6){d=c[j>>2]|0;if(d>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;d=c[j>>2]|0}}c[j>>2]=d+1;a[d>>0]=b;b=c[g>>2]|0}b=c[j>>2]|0;if(b>>>0>=(c[h>>2]|0)>>>0){Uw(i,1)|0;b=c[j>>2]|0}a[b>>0]=0;h=c[i>>2]|0;c[j>>2]=h;j=n1(h)|0;Xw(i);l=k;return j|0}function SM(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+1040|0;g=i;Tw(g,1024,i+16|0);h=g+4|0;f=g+8|0;while(1){d=b+1|0;e=a[b>>0]|0;if(!(e<<24>>24))break;if((e&255)<127){b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}c[h>>2]=b+1;a[b>>0]=e;b=d;continue}else{e=a[d>>0]&63|e<<6&255;d=c[h>>2]|0;if(d>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;d=c[h>>2]|0}c[h>>2]=d+1;a[d>>0]=e;b=b+2|0;continue}}b=c[h>>2]|0;if(b>>>0>=(c[f>>2]|0)>>>0){Uw(g,1)|0;b=c[h>>2]|0}a[b>>0]=0;f=c[g>>2]|0;c[h>>2]=f;h=n1(f)|0;Xw(g);l=i;return h|0}function TM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;e=n+48|0;d=n+32|0;f=n+64|0;g=n+16|0;i=n;j=b+16|0;k=a+16|0;m=c[k>>2]|0;if(((+h[j>>3]>=+h[m+48>>3]?+h[m+64>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=+h[m+56>>3]:0)?+h[m+72>>3]>=+h[b+8>>3]:0){m=m+16|0;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];c[d+8>>2]=c[j+8>>2];c[d+12>>2]=c[j+12>>2];c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];UM(g,d,e);c[d>>2]=c[m>>2];c[d+4>>2]=c[m+4>>2];c[d+8>>2]=c[m+8>>2];c[d+12>>2]=c[m+12>>2];c[e>>2]=c[g>>2];c[e+4>>2]=c[g+4>>2];c[e+8>>2]=c[g+8>>2];c[e+12>>2]=c[g+12>>2];oM(i,d,e);c[f>>2]=a;c[f+4>>2]=0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)+12>>2]|0;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];c[e+8>>2]=c[i+8>>2];c[e+12>>2]=c[i+12>>2];d=lb[d&127](f,e)|0}else d=0;l=n;return d|0}function UM(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=(+h[c+8>>3]+ +h[b+8>>3])*.5;h[a>>3]=(+h[c>>3]+ +h[b>>3])*.5;h[a+8>>3]=d;return}function VM(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0,i=0.0,j=0,k=0,m=0,n=0;e=l;l=l+80|0;j=e+64|0;k=e+48|0;m=e;n=e+32|0;g=e+16|0;h[m>>3]=+h[a+24>>3]*.5;h[m+8>>3]=+h[a+32>>3]*.5;a=a+56|0;c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];oM(n,k,j);i=+h[n>>3];f=+h[n+8>>3];c[k>>2]=c[a>>2];c[k+4>>2]=c[a+4>>2];c[k+8>>2]=c[a+8>>2];c[k+12>>2]=c[a+12>>2];c[j>>2]=c[m>>2];c[j+4>>2]=c[m+4>>2];c[j+8>>2]=c[m+8>>2];c[j+12>>2]=c[m+12>>2];pM(g,k,j);d=+h[g+8>>3];if((+h[b+16>>3]>=i?+h[g>>3]>=+h[b>>3]:0)?+h[b+24>>3]>=f:0)a=d>=+h[b+8>>3]&1;else a=0;l=e;return a|0}function WM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;k=n+48|0;j=n;h=a+16|0;a=c[h>>2]|0;i=c[a+8>>2]|0;a:do if((i|0)!=0?(g=i+8|0,c[j>>2]=c[g>>2],c[j+4>>2]=c[g+4>>2],c[j+8>>2]=c[g+8>>2],c[j+12>>2]=c[g+12>>2],c[j+16>>2]=c[g+16>>2],c[j+20>>2]=c[g+20>>2],c[j+24>>2]=c[g+24>>2],c[j+28>>2]=c[g+28>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(XM(j,k)|0)!=0):0){d=i+4|0;a=0;while(1){if((a|0)>=(c[d>>2]|0))break;e=j;f=(c[i>>2]|0)+(a*48|0)|0;g=e+48|0;do{c[e>>2]=c[f>>2];e=e+4|0;f=f+4|0}while((e|0)<(g|0));c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if(!((YM(j,k)|0)<<24>>24))a=a+1|0;else{a=1;break a}}a=c[h>>2]|0;m=7}else m=7;while(0);do if((m|0)==7){a=c[a+96>>2]|0;if(a|0?(c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(VM(a,k)|0)<<24>>24):0){a=1;break}a=0}while(0);l=n;return a|0}function XM(a,b){a=a|0;b=b|0;if((+h[a+16>>3]>=+h[b>>3]?+h[b+16>>3]>=+h[a>>3]:0)?+h[a+24>>3]>=+h[b+8>>3]:0)a=+h[b+24>>3]>=+h[a+8>>3]&1;else a=0;return a|0}function YM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+96|0;k=n+64|0;j=n+48|0;i=n+32|0;f=n+16|0;g=n;m=a+4|0;d=c[m>>2]|0;if(!d)qa(106911,104635,1637,106919);e=c[a>>2]|0;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];c[g+8>>2]=c[e+8>>2];c[g+12>>2]=c[e+12>>2];e=1;while(1){if((e|0)>=(d|0)){h=7;break}d=(c[a>>2]|0)+(e<<4)|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];c[j>>2]=c[g>>2];c[j+4>>2]=c[g+4>>2];c[j+8>>2]=c[g+8>>2];c[j+12>>2]=c[g+12>>2];c[k>>2]=c[b>>2];c[k+4>>2]=c[b+4>>2];c[k+8>>2]=c[b+8>>2];c[k+12>>2]=c[b+12>>2];c[k+16>>2]=c[b+16>>2];c[k+20>>2]=c[b+20>>2];c[k+24>>2]=c[b+24>>2];c[k+28>>2]=c[b+28>>2];if((VG(i,j,k)|0)!=-1){d=1;break};c[g>>2]=c[f>>2];c[g+4>>2]=c[f+4>>2];c[g+8>>2]=c[f+8>>2];c[g+12>>2]=c[f+12>>2];e=e+1|0;d=c[m>>2]|0}do if((h|0)==7){d=c[a+8>>2]|0;if(d|0?(g=a+16|0,h=c[a>>2]|0,c[i>>2]=c[g>>2],c[i+4>>2]=c[g+4>>2],c[i+8>>2]=c[g+8>>2],c[i+12>>2]=c[g+12>>2],c[j>>2]=c[h>>2],c[j+4>>2]=c[h+4>>2],c[j+8>>2]=c[h+8>>2],c[j+12>>2]=c[h+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=c[a+12>>2]|0;if(d|0?(h=a+32|0,m=(c[a>>2]|0)+((c[m>>2]|0)+-1<<4)|0,c[i>>2]=c[h>>2],c[i+4>>2]=c[h+4>>2],c[i+8>>2]=c[h+8>>2],c[i+12>>2]=c[h+12>>2],c[j>>2]=c[m>>2],c[j+4>>2]=c[m+4>>2],c[j+8>>2]=c[m+8>>2],c[j+12>>2]=c[m+12>>2],c[k>>2]=c[b>>2],c[k+4>>2]=c[b+4>>2],c[k+8>>2]=c[b+8>>2],c[k+12>>2]=c[b+12>>2],c[k+16>>2]=c[b+16>>2],c[k+20>>2]=c[b+20>>2],c[k+24>>2]=c[b+24>>2],c[k+28>>2]=c[b+28>>2],(ZM(i,j,d,k)|0)<<24>>24):0){d=1;break}d=0}while(0);l=n;return d|0}function ZM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+160|0;g=m+144|0;f=m+128|0;n=m+96|0;i=m+64|0;j=m+32|0;k=m;o=+h[e+16>>3];c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];JE(n,f,g,1.0,d);if(((o>=+h[n>>3]?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(i,f,g,1.0,d),+h[i+16>>3]>=+h[e>>3]):0)?(o=+h[e+24>>3],c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(j,f,g,1.0,d),o>=+h[j+8>>3]):0)?(c[f>>2]=c[a>>2],c[f+4>>2]=c[a+4>>2],c[f+8>>2]=c[a+8>>2],c[f+12>>2]=c[a+12>>2],c[g>>2]=c[b>>2],c[g+4>>2]=c[b+4>>2],c[g+8>>2]=c[b+8>>2],c[g+12>>2]=c[b+12>>2],JE(k,f,g,1.0,d),+h[k+24>>3]>=+h[e+8>>3]):0)f=1;else f=0;l=m;return f|0}function _M(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;a:do if((b|0)!=0?(e=a[b>>0]|0,e<<24>>24!=0):0){do switch(e<<24>>24|0){case 48:{d=2;break a}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:{d=10;break a}case 67:case 99:{e=b+1|0;if(!(O$(e,106934)|0)){d=4;break a}if(!(O$(e,106940)|0)){d=12;break a}break}case 70:case 102:{if(!(O$(b+1|0,106948)|0)){d=2;break a}break}case 76:case 108:{if(!(O$(b+1|0,106953)|0)){d=2;break a}break}case 78:case 110:{e=b+1|0;if(!(O$(e,106957)|0)){d=0;break a}if(!(O$(e,106961)|0)){d=2;break a}break}case 79:case 111:{if(!(O$(b+1|0,106963)|0)){d=8;break a}break}case 80:case 112:{if(!(O$(b+1|0,106968)|0)){d=6;break a}break}case 83:case 115:{if(!(O$(b+1|0,106976)|0)){d=10;break a}break}case 84:case 116:{if(!(O$(b+1|0,106982)|0)){d=10;break a}break}case 89:case 121:{if(!(O$(b+1|0,106986)|0)){d=10;break a}break}default:{}}while(0);c[f>>2]=b;Pw(0,106989,f)|0}while(0);l=g;return d|0}function $M(d,f){d=d|0;f=f|0;var g=0;g=xx(d,107030)|0;if(g)if(!(a[g>>0]|0))f=0;else f=_M(g,f)|0;d=(c[d+16>>2]|0)+136|0;b[d>>1]=f|e[d>>1];return}function aN(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,m=0,n=0,o=0.0,p=0,q=0.0,r=0,s=0.0,t=0,u=0,v=0,w=0;v=l;l=l+32|0;p=v+16|0;r=v;t=e&1;u=e&2;a:do if((c|0)==2){s=+h[a+16>>3];f=+h[a>>3];j=+h[a+24>>3];i=+h[a+8>>3];f=f-(s-f);h[p>>3]=f;h[r>>3]=s;i=i-(j-i);h[p+8>>3]=i;h[r+8>>3]=j}else{g=+h[a>>3];h[r>>3]=g;h[p>>3]=g;j=+h[a+8>>3];m=r+8|0;h[m>>3]=j;n=p+8|0;h[n>>3]=j;e=0;f=g;i=j;while(1){if((e|0)>=(c|0)){s=g;break a}w=a+(e<<4)|0;q=+h[w>>3];k=+h[(q<f?w:p)>>3];h[p>>3]=k;s=+h[a+(e<<4)+8>>3];o=+h[(s<i?w:p)+8>>3];h[n>>3]=o;q=+h[(q>g?w:r)>>3];h[r>>3]=q;s=+h[(s>j?w:r)+8>>3];h[m>>3]=s;e=e+1|0;f=k;i=o;g=q;j=s}}while(0);g=(s-f)*.5;q=g+f;o=(j-i)*.5;k=o+i;if(!t){f=j-k;j=d;i=+F(+j);j=+E(+j);if(!u){g=i*f-k;f=-k-o*i}else{f=i*f;g=k-f;f=f+k}h[b+8>>3]=g;h[b+24>>3]=f;d=j*(s-q);h[b>>3]=q-d;h[b+16>>3]=d+q}else{d=+C(+(o*o+g*g));h[b+8>>3]=u|0?k:-k;h[b>>3]=q;h[b+16>>3]=d*.25;h[b+24>>3]=d}l=v;return}function bN(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0;e=a+16|0;f=c[e>>2]|0;if(!(b<<24>>24)){d=+h[f+32>>3]*36.0;h[f+88>>3]=d;a=f+40|0}else{d=+h[f+40>>3]*36.0;h[f+88>>3]=d;a=f+32|0}h[f+96>>3]=d;h[(c[e>>2]|0)+80>>3]=+h[a>>3]*72.0;return}function cN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+16|0;j=y+8|0;x=4;w=C_(40)|0;c[w>>2]=0;s=y;o=0;e=$(29,b|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;a:do if((g|0)!=1){o=0;v=$(23,e<<3|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){e=E3(c[f>>2]|0,w|0,x|0)|0;if(!e)bb(f|0,p|0);z=p}else e=-1;if((e|0)!=1){if(!(a[191874]|0))t=0;else{o=0;e=_(3)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){n=0;k=0;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}t=e}o=0;e=aa(95,b|0,107038)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[46553]=0;b:do if(e|0?(i=a[e>>0]|0,i<<24>>24):0){h=e;f=i;g=0;while(1){i=h+1|0;if(!(f<<24>>24))break b;switch(f<<24>>24|0){case 99:{e=8;u=16;break}case 105:{e=18;u=16;break}case 109:{e=1;u=16;break}case 114:{e=4;u=16;break}case 115:{e=2;u=16;break}default:e=g}if((u|0)==16){u=0;e=g|e;c[46553]=e}h=i;f=a[i>>0]|0;g=e}}while(0);if(d|0){o=0;ca(20,0,107042,j|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74;break}}o=0;r=aa(96,b|0,0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){m=c[r+16>>2]|0;if(c[46553]&2|0){o=0;ja(26,c[15686]|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break}}o=0;g=$(25,b|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){n=0;while(1){if(!g)break;o=0;e=aa(97,b|0,g|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}i=n;while(1){if(!e)break;if(!((c[46363]|0)==2?(c[(c[e+16>>2]|0)+8>>2]|0)!=0:0))u=32;c:do if((u|0)==32){u=0;do if(a[191874]|0){k=c[e>>2]&3;j=(c[c[((k|0)==3?e:e+48|0)+40>>2]>>2]|0)>>>4;k=(c[c[((k|0)==2?e:e+-48|0)+40>>2]>>2]|0)>>>4;if(j>>>0>k>>>0){o=0;f=ca(31,t|0,k|0,j|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,k|0,j|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}else{o=0;f=ca(31,t|0,j|0,k|0)|0;h=o;o=0;if((h|0)!=0&(p|0)!=0){d=E3(c[h>>2]|0,w|0,x|0)|0;if(!d)bb(h|0,p|0);z=p}else d=-1;if((d|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}if(f|0)break c;o=0;ka(64,t|0,j|0,k|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}break}}while(0);c[v+(i<<3)+4>>2]=e;o=0;d=$(30,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}c[v+(i<<3)>>2]=d;i=i+1|0}while(0);o=0;e=aa(98,b|0,e|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){h=E3(c[f>>2]|0,w|0,x|0)|0;if(!h)bb(f|0,p|0);z=p}else h=-1;if((h|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}}o=0;g=aa(84,b|0,g|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74;break a}n=i}o=0;j=$(31,n<<3|0)|0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;ma(28,v|0,n|0,8,99);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){g=c[m>>2]|0;o=0;ia(107,g+2|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){i=c[m+16>>2]|0;d=i+(g*40|0)|0;i=i+((g+1|0)*40|0)|0;q=c[15686]|0;h=0;while(1){if((h|0)>=(n|0))break;if((h|0)>0?c[46553]&16|0:0){o=0;ja(26,q|0,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}e=c[v+(h<<3)+4>>2]|0;k=c[e>>2]&3;g=c[(c[(c[((k|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;e=c[(c[(c[((k|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if((g|0)==(e|0)){o=0;ma(29,m|0,g|0,i|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}else{o=0;ka(65,m|0,e|0,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}o=0;ka(65,m|0,g|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}}o=0;e=ca(32,m|0,i|0,d|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}if(e|0){k=t;m=j;i=r;d=v;h=v;break a}e=j+(h<<3)|0;o=0;ma(30,s|0,m|0,d|0,i|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}g=s;k=c[g+4>>2]|0;c[e>>2]=c[g>>2];c[e+4>>2]=k;o=0;ia(108,m|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74;break a}h=h+1|0}o=0;ha(8);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){o=0;e=$(32,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+20>>2]=e;o=0;e=$(33,r|0)|0;f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)!=1){c[r+24>>2]=e;o=0;ka(66,n|0,j|0,r|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){w=D3(186216,1,w|0,x|0)|0;x=z;o=0;e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)!=1){k=t;m=j;i=r;d=v;h=v;e=0;g=q;u=74}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=q;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=j;i=r;d=v;h=v;e=z;g=0;u=74}}else{k=t;m=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=r;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=t;m=0;j=0;i=0;d=v;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=v;e=z;g=0;u=74}}else{n=0;k=0;m=0;j=0;i=0;d=0;h=0;e=z;g=0;u=74}while(0);d:while(1){if((u|0)==74){u=0;if(e|0){q=g;continue}o=0;ia(109,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){A=g;f=h;q=d;r=i;s=j;t=m;v=k;u=n;e=z;g=A;h=f;d=q;i=r;j=s;m=t;k=v;n=u;u=74;continue}if(c[46553]&4|0){o=0;na(8,g|0,i|0,n|0,m|0,d|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}}o=0;oa(10,b|0,i|0,n|0,m|0,d|0,0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){f=g;q=h;r=d;s=i;t=j;v=m;A=k;u=n;e=z;g=f;h=q;d=r;i=s;j=t;m=v;k=A;n=u;u=74;continue}q=g}if(!(a[191874]|0))e=0;else{o=0;ia(110,k|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}e=0}while(1){if((e|0)>=(n|0))break;o=0;ia(103,c[m+(e<<3)+4>>2]|0);f=o;o=0;if((f|0)!=0&(p|0)!=0){g=E3(c[f>>2]|0,w|0,x|0)|0;if(!g)bb(f|0,p|0);z=p}else g=-1;if((g|0)==1){e=z;g=q;u=74;continue d}e=e+1|0}o=0;ia(103,j|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(111,i|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74;continue}o=0;ia(103,h|0);e=o;o=0;if((e|0)!=0&(p|0)!=0){f=E3(c[e>>2]|0,w|0,x|0)|0;if(!f)bb(e|0,p|0);z=p}else f=-1;if((f|0)==1){e=z;g=q;u=74}else break}D_(w|0);l=y;return}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0;q=l;l=l+64|0;p=q+32|0;o=q+16|0;j=q;k=q+48|0;D1(107909,a)|0;D1(107920,a)|0;m=b+16|0;n=j+8|0;i=k+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;d=c[m>>2]|0;e=c[d+(g*40|0)+20>>2]|0;f=c[d+(g*40|0)+24>>2]|0;if((e|0)==(f|0)){YN(j,e);d=~~+h[j>>3];e=~~+h[n>>3]}else{_N(k,(c[e>>2]&1|0)==0?e:f,d+(g*40|0)|0);d=c[k>>2]|0;e=c[i>>2]|0}c[o>>2]=g;c[o+4>>2]=d;c[o+8>>2]=e;g1(a,107940,o)|0;g=g+1|0}f=b+4|0;e=b+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;o=c[e>>2]|0;b=c[o+(d*24|0)+16>>2]|0;r=+h[o+(d*24|0)>>3];c[p>>2]=c[o+(d*24|0)+12>>2];c[p+4>>2]=b;h[p+8>>3]=r;g1(a,107960,p)|0;d=d+1|0}D1(107982,a)|0;l=q;return}function eN(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;f=c[a>>2]&3;e=c[(c[((f|0)==3?a:a+48|0)+40>>2]|0)+16>>2]|0;a=c[(c[((f|0)==2?a:a+-48|0)+40>>2]|0)+16>>2]|0;b=+h[e+16>>3]-+h[a+16>>3];d=+h[e+24>>3]-+h[a+24>>3];return ~~(d*d+b*b)|0}function fN(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}function gN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n;YN(n+16|0,d);k=d+32|0;m=d+36|0;g=0;while(1){if((g|0)>=(c[k>>2]|0))break;h=c[(c[m>>2]|0)+(g<<2)>>2]|0;do if(!(a[h+36>>0]|0)){i=c[h+20>>2]|0;if((i|0)==(d|0)){WN(j,h,c[h+24>>2]|0);pO(b,f,h,0.0)|0;break}else{WN(j,h,i);pO(b,e,h,0.0)|0;break}}while(0);g=g+1|0}c[b>>2]=(c[b>>2]|0)+2;l=n;return}function hN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k;YN(k+16|0,b);i=b+32|0;j=b+36|0;f=0;while(1){if((f|0)>=(c[i>>2]|0))break;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;e=c[g+20>>2]|0;if((e|0)==(b|0))e=c[g+24>>2]|0;WN(h,g,e);pO(a,d,g,0.0)|0;f=f+1|0}c[a>>2]=(c[a>>2]|0)+1;c[d+24>>2]=b;c[d+20>>2]=b;l=k;return}function iN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+128|0;C=H+64|0;n=H+48|0;D=H+32|0;E=H+16|0;F=H;g=0;i=e;while(1){if(!i)break;g=g+1|0;i=c[i+8>>2]|0}B=uH((g*56|0)+-112|0)|0;c[C+52>>2]=0;c[C+48>>2]=0;A=e+8|0;e=c[A>>2]|0;i=c[e+8>>2]|0;g=c[e+20>>2]|0;if(c[g>>2]&1)g=c[e+24>>2]|0;WN(n,e,g);j=e;q=e;p=0.0;o=+h[n>>3];z=0;m=0.0;x=+h[n+8>>3];while(1){y=i+8|0;if(!(c[y>>2]|0))break;v=XN(j,i)|0;NR(d,v,c[q+12>>2]|0);t=q+36|0;u=i+36|0;if((a[t>>0]|0)==(a[u>>0]|0))if((c[y>>2]|0)==(f|0)){WN(E,i,v);e=E;G=12}else{j=q;e=z;k=x}else{YN(D,v);e=D;G=12}if((G|0)==12){G=0;w=+h[e>>3];k=+h[e+8>>3];e=a[t>>0]|0;s=e<<24>>24==0;r=(q|0)==(c[A>>2]|0);if(s){if(!(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?4:2;n=v+48|0;q=g+48|0;j=g+40|0;g=r?0:p>o?4:2}else{if(e<<24>>24==(a[u>>0]|0))e=0;else e=(c[i+20>>2]|0)==(v|0)?1:3;n=v+40|0;q=g+40|0;j=g+48|0;g=r?0:m>x?1:3}ZN(C,s&1,+h[j>>3],+h[q>>3],+h[n>>3],g,e);q=z+1|0;g=B+(z*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));if((a[t>>0]|0)!=(a[u>>0]|0)?(c[y>>2]|0)==(f|0):0){WN(F,i,v);n=(a[u>>0]|0)==0;e=v+40|0;g=v+48|0;p=+h[(n?g:e)>>3];ZN(C,n&1,+h[(n?e:g)>>3],p,p,n?(o>w?4:2):x>k?1:3,0);n=z+2|0;g=B+(q*56|0)|0;e=C;j=g+56|0;do{c[g>>2]=c[e>>2];g=g+4|0;e=e+4|0}while((g|0)<(j|0));g=v;j=i;p=o;o=w;e=n;m=x}else{g=v;j=i;p=o;o=w;e=q;m=x}}v=i;i=c[y>>2]|0;q=j;z=e;x=k;j=v}i=F_(B,z*56|0)|0;e=z+-1|0;g=0;while(1){if((g|0)>=(z|0))break;if((g|0)>0)c[i+(g*56|0)+48>>2]=i+((g+-1|0)*56|0);if((g|0)<(e|0)){G=g+1|0;c[i+(g*56|0)+52>>2]=i+(G*56|0);g=G;continue}else{g=g+1|0;continue}}c[b>>2]=z;c[b+4>>2]=i;l=H;return}function jN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&4)){while(1){d=c[(c[b+36>>2]|0)+8>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+40>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|4;d=c[c[f+36>>2]>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+56>>3];RN(j,g,+h[b+48>>3])}i=i+1|0}return j|0}function kN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=Cw(25588,c[4555]|0)|0;k=a+8|0;i=0;while(1){if((i|0)>=(c[a>>2]|0))break;b=(c[k>>2]|0)+(i*72|0)|0;if(!(c[b>>2]&2)){while(1){d=c[(c[b+36>>2]|0)+12>>2]|0;if(!d)break;d=c[d+20>>2]|0;if(!d)break;if(!(c[d>>2]&1))b=d;else break}g=uH(40)|0;c[g+36>>2]=b;h[g+8>>3]=+h[b+48>>3];f=b;d=c[b>>2]|0;while(1){c[f>>2]=d|2;d=c[(c[f+36>>2]|0)+4>>2]|0;if(!d)break;e=c[d+24>>2]|0;if(!e)break;d=c[e>>2]|0;if(d&1|0)break;else f=e}h[g+16>>3]=+h[f+64>>3];RN(j,g,+h[b+40>>3])}i=i+1|0}return j|0}function lN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=e+20|0;i=e+24|0;e=0;while(1){if((e|0)>=(b|0))break;g=c[d+(e<<3)>>2]|0;h=c[d+(e<<3)+4>>2]|0;f=0;while(1){if((f|0)>=(g|0))break;k=h+(f*56|0)|0;QN(uN(c[((a[k>>0]|0)==0?j:i)>>2]|0,k)|0,k);f=f+1|0}e=e+1|0}return}function mN(a){a=a|0;var b=0,d=0;d=a+20|0;wN(c[d>>2]|0);b=a+24|0;wN(c[b>>2]|0);xN(c[d>>2]|0);xN(c[b>>2]|0);yN(c[d>>2]|0,a);yN(c[b>>2]|0,a);zN(c[d>>2]|0);zN(c[b>>2]|0);return}function nN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0,E=0.0;z=l;l=l+224|0;n=z+176|0;m=z+208|0;x=z+160|0;y=z+128|0;k=z+96|0;t=z+64|0;u=z;o=z+32|0;v=u+8|0;h[v>>3]=1797693134862315708145274.0e284;h[u>>3]=1797693134862315708145274.0e284;w=u+24|0;h[w>>3]=-1797693134862315708145274.0e284;p=u+16|0;h[p>>3]=-1797693134862315708145274.0e284;D1(107157,a)|0;c[n>>2]=10;c[n+4>>2]=10;g1(a,107563,n)|0;D1(135183,a)|0;i=b+4|0;j=b+12|0;q=t+8|0;r=t+16|0;s=t+24|0;g=0;while(1){if((g|0)>=(c[i>>2]|0))break;D=(c[j>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];C=+h[q>>3];B=+h[r>>3];A=+h[s>>3];h[k>>3]=+h[t>>3];h[k+8>>3]=C;h[k+16>>3]=B;h[k+24>>3]=A;g1(a,135202,k)|0;g=g+1|0}g=0;while(1){if((g|0)>=(d|0))break;D=c[f+(g<<3)+4>>2]|0;k=e+(g<<3)|0;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];c[n>>2]=c[u>>2];c[n+4>>2]=c[u+4>>2];c[n+8>>2]=c[u+8>>2];c[n+12>>2]=c[u+12>>2];c[n+16>>2]=c[u+16>>2];c[n+20>>2]=c[u+20>>2];c[n+24>>2]=c[u+24>>2];c[n+28>>2]=c[u+28>>2];vN(o,a,D,m,b,n);c[u>>2]=c[o>>2];c[u+4>>2]=c[o+4>>2];c[u+8>>2]=c[o+8>>2];c[u+12>>2]=c[o+12>>2];c[u+16>>2]=c[o+16>>2];c[u+20>>2]=c[o+20>>2];c[u+24>>2]=c[o+24>>2];c[u+28>>2]=c[o+28>>2];g=g+1|0}D1(107580,a)|0;i=b+8|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;D=(c[i>>2]|0)+(g*72|0)+40|0;c[t>>2]=c[D>>2];c[t+4>>2]=c[D+4>>2];c[t+8>>2]=c[D+8>>2];c[t+12>>2]=c[D+12>>2];c[t+16>>2]=c[D+16>>2];c[t+20>>2]=c[D+20>>2];c[t+24>>2]=c[D+24>>2];c[t+28>>2]=c[D+28>>2];E=+h[t>>3];A=+h[q>>3];B=+h[r>>3];C=+h[s>>3];h[y>>3]=E;h[y+8>>3]=A;h[y+16>>3]=B;h[y+24>>3]=C;g1(a,135239,y)|0;h[u>>3]=+h[(+h[u>>3]<E?u:t)>>3];h[v>>3]=+h[(+h[v>>3]<A?u:t)+8>>3];h[p>>3]=+h[(+h[p>>3]>B?u:t)+16>>3];h[w>>3]=+h[(+h[w>>3]>C?u:t)+24>>3];g=g+1|0}v=~~(+h[v>>3]+10.0);y=~~(+h[p>>3]+10.0);D=~~(+h[w>>3]+10.0);c[x>>2]=~~(+h[u>>3]+10.0);c[x+4>>2]=v;c[x+8>>2]=y;c[x+12>>2]=D;g1(a,107605,x)|0;l=z;return}function oN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;N=l;l=l+112|0;F=N+88|0;E=N+72|0;M=N+32|0;I=N+16|0;J=N;K=N+56|0;L=N+40|0;G=c[15686]|0;w=(i|0)==0;x=J+8|0;y=I+8|0;v=0;m=0;n=0;o=0;p=0;i=0;while(1){if((v|0)>=(e|0))break;z=c[g+(v<<3)+4>>2]|0;A=z+48|0;u=(c[(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)+16>>2]|0)+16|0;B=z+16|0;C=(c[B>>2]|0)+16|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[C>>2];c[F+4>>2]=c[C+4>>2];c[F+8>>2]=c[C+8>>2];c[F+12>>2]=c[C+12>>2];pN(K,E,F);c[I>>2]=c[K>>2];c[I+4>>2]=c[K+4>>2];c[I+8>>2]=c[K+8>>2];c[I+12>>2]=c[K+12>>2];C=z+-48|0;u=(c[(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)+16>>2]|0)+16|0;t=(c[B>>2]|0)+56|0;c[E>>2]=c[u>>2];c[E+4>>2]=c[u+4>>2];c[E+8>>2]=c[u+8>>2];c[E+12>>2]=c[u+12>>2];c[F>>2]=c[t>>2];c[F+4>>2]=c[t+4>>2];c[F+8>>2]=c[t+8>>2];c[F+12>>2]=c[t+12>>2];pN(L,E,F);c[J>>2]=c[L>>2];c[J+4>>2]=c[L+4>>2];c[J+8>>2]=c[L+8>>2];c[J+12>>2]=c[L+12>>2];t=c[f+(v<<3)>>2]|0;u=c[f+(v<<3)+4>>2]|0;s=t*3|0;D=s+1|0;if((s|0)>=(n|0)){if(m|0)D_(i);p=vH(D<<4)|0;m=p;n=D;o=p;i=p}if(!(a[u>>0]|0)){k=+(rN(u,d)|0);j=+h[I>>3]}else{j=+qN(u,d);k=+h[y>>3]}r=m+16|0;h[m+16>>3]=j;h[m+24>>3]=k;c[p>>2]=c[r>>2];c[p+4>>2]=c[r+4>>2];c[p+8>>2]=c[r+8>>2];c[p+12>>2]=c[r+12>>2];r=1;q=u;s=2;while(1){if((r|0)>=(t|0))break;q=u+(r*56|0)|0;if(!(a[q>>0]|0))k=+(rN(q,d)|0);else j=+qN(q,d);O=m+(s+2<<4)|0;Q=m+(s+1<<4)|0;P=m+(s<<4)|0;h[P>>3]=j;h[m+(s<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];c[O>>2]=c[P>>2];c[O+4>>2]=c[P+4>>2];c[O+8>>2]=c[P+8>>2];c[O+12>>2]=c[P+12>>2];r=r+1|0;s=s+3|0}if(!(a[q>>0]|0)){k=+(rN(q,d)|0);j=+h[J>>3]}else{j=+qN(q,d);k=+h[x>>3]}Q=m+(s<<4)|0;O=s+1|0;P=m+(O<<4)|0;h[P>>3]=j;h[m+(O<<4)+8>>3]=k;c[Q>>2]=c[P>>2];c[Q+4>>2]=c[P+4>>2];c[Q+8>>2]=c[P+8>>2];c[Q+12>>2]=c[P+12>>2];if(0>1){P=ry(c[((c[z>>2]&3|0)==3?z:A)+40>>2]|0)|0;Q=ry(c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0)|0;c[M>>2]=P;c[M+4>>2]=Q;g1(G,107116,M)|0}QK(z,c[((c[z>>2]&3|0)==2?z:C)+40>>2]|0,m,D,25576);if((!w?(H=c[(c[B>>2]|0)+96>>2]|0,H|0):0)?(a[H+81>>0]|0)==0:0){c[E>>2]=c[I>>2];c[E+4>>2]=c[I+4>>2];c[E+8>>2]=c[I+8>>2];c[E+12>>2]=c[I+12>>2];c[F>>2]=c[J>>2];c[F+4>>2]=c[J+4>>2];c[F+8>>2]=c[J+8>>2];c[F+12>>2]=c[J+12>>2];jL(b,z,E,F)}v=v+1|0}D_(o);l=N;return}function pN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;h[b>>3]=+h[b>>3]+ +h[d>>3];e=b+8|0;h[e>>3]=+h[e>>3]+ +h[d+8>>3];c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];return}function qN(a,b){a=a|0;b=b|0;var d=0.0,e=0;b=uN(c[b+24>>2]|0,a)|0;e=c[b+36>>2]|0;d=+h[e+40>>3];return +((+h[e+56>>3]-d)*(+(c[a+44>>2]|0)/+((c[b+24>>2]|0)+1|0))+d)}function rN(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=uN(c[b+20>>2]|0,a)|0;b=c[e+36>>2]|0;d=+h[b+48>>3];return ~~((1.0-+(c[a+44>>2]|0)/+((c[e+24>>2]|0)+1|0))*(+h[b+64>>3]-d)+d)|0}function sN(a){a=a|0;return 0}function tN(a){a=a|0;return 0}function uN(a,b){a=a|0;b=b|0;a=nb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)qa(107129,107135,423,107143);a=c[a+16>>2]|0;a=nb[c[a>>2]&63](a,b+16|0,512)|0;if(!a)qa(107154,107135,425,107143);else return a|0;return 0}function vN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0.0,m=0,n=0,o=0,p=0.0,q=0.0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0.0,D=0.0;z=l;l=l+32|0;y=z+16|0;u=z+8|0;m=z;j=c[(c[(c[((c[e>>2]&3|0)==3?e:e+48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;t=c[f+4>>2]|0;if(!(a[t>>0]|0)){k=+h[j+56>>3];s=+h[j+40>>3];j=rN(t,g)|0;k=(s+k)*.5}else{k=+h[j+64>>3];s=+h[j+48>>3];j=~~((s+k)*.5);k=+qN(t,g)}A=~~k;p=+h[i>>3];r=+(A|0);p=p<r?p:r;h[i>>3]=p;v=i+8|0;q=+h[v>>3];s=+(j|0);q=q<s?q:s;h[v>>3]=q;w=i+16|0;k=+h[w>>3];r=k>r?k:r;h[w>>3]=r;x=i+24|0;k=+h[x>>3];s=k>s?k:s;h[x>>3]=s;c[m>>2]=A;c[m+4>>2]=j;g1(d,107656,m)|0;o=c[f>>2]|0;m=t;n=1;f=A;while(1){if((n|0)>=(o|0))break;m=t+(n*56|0)|0;if(!(a[m>>0]|0))j=rN(m,g)|0;else f=~~+qN(m,g);B=+(f|0);D=p<B?p:B;h[i>>3]=D;k=+(j|0);C=q<k?q:k;h[v>>3]=C;B=r>B?r:B;h[w>>3]=B;k=s>k?s:k;h[x>>3]=k;c[u>>2]=f;c[u+4>>2]=j;g1(d,107678,u)|0;n=n+1|0;p=D;q=C;r=B;s=k}j=c[(c[(c[((c[e>>2]&3|0)==2?e:e+-48|0)+40>>2]|0)+16>>2]|0)+112>>2]|0;if(!(a[m>>0]|0)){k=+h[j+56>>3];D=+h[j+40>>3];j=rN(m,g)|0;k=(D+k)*.5}else{k=+h[j+64>>3];D=+h[j+48>>3];j=~~((D+k)*.5);k=+qN(m,g)}A=~~k;C=+(A|0);h[i>>3]=p<C?p:C;D=+(j|0);h[v>>3]=q<D?q:D;h[w>>3]=r>C?r:C;h[x>>3]=s>D?s:D;c[y>>2]=A;c[y+4>>2]=j;g1(d,107692,y)|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[b+8>>2]=c[i+8>>2];c[b+12>>2]=c[i+12>>2];c[b+16>>2]=c[i+16>>2];c[b+20>>2]=c[i+20>>2];c[b+24>>2]=c[i+24>>2];c[b+28>>2]=c[i+28>>2];l=z;return}function wN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;c[b+32>>2]=$N(c[b+24>>2]|0)|0;b=c[b>>2]|0}a=c[a>>2]|0}return}function xN(a){a=a|0;var b=0;a=Aw(a)|0;while(1){if(!a)break;b=Aw(c[a+16>>2]|0)|0;while(1){if(!b)break;if(c[b+24>>2]|0)PN(b);b=c[b>>2]|0}a=c[a>>2]|0}return}function yN(a,b){a=a|0;b=b|0;var d=0;d=Aw(a)|0;while(1){if(!d)break;a=Aw(c[d+16>>2]|0)|0;while(1){if(!a)break;DN(a,b);a=c[a>>2]|0}d=c[d>>2]|0}return}function zN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0;e=Aw(a)|0;while(1){if(!e)break;i=e+8|0;f=Aw(c[e+16>>2]|0)|0;while(1){if(!f)break;a=f+24|0;a:do if(c[a>>2]|0){if(c[46553]&8|0)AN(f,~~+h[i>>3]);g=f+32|0;eO(c[g>>2]|0);b=c[a>>2]|0;d=f+28|0;a=0;while(1){if((a|0)>=(b|0))break a;c[(c[(c[d>>2]|0)+(a<<2)>>2]|0)+44>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+(a*12|0)+4>>2]|0)+1;a=a+1|0}}while(0);f=c[f>>2]|0}e=c[e>>2]|0}return}function AN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0.0,m=0.0;j=l;l=l+32|0;d=j;g=a+24|0;a:do if((c[g>>2]|0)>=2){i=c[15686]|0;m=+h[a+8>>3];k=+h[a+16>>3];c[d>>2]=b;h[d+8>>3]=m;h[d+16>>3]=k;g1(i,107713,d)|0;f=a+32|0;a=a+28|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break a;e=c[(c[(c[f>>2]|0)+4>>2]|0)+(b*12|0)+8>>2]|0;b:do if(Ew(e)|0){BN(i,c[(c[a>>2]|0)+(b<<2)>>2]|0);D1(107733,i)|0;d=nb[c[e>>2]&63](e,0,128)|0;while(1){if(!d)break b;D1(107738,i)|0;BN(i,c[(c[a>>2]|0)+(c[d>>2]<<2)>>2]|0);D1(150517,i)|0;d=nb[c[e>>2]&63](e,d,8)|0}}while(0);b=b+1|0}}while(0);l=j;return}function BN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0.0,m=0.0;g=l;l=l+80|0;f=g+40|0;e=g;if(!(a[d>>0]|0)){m=+h[d+16>>3];j=+h[d+8>>3];k=+h[d+24>>3];i=CN(c[d+32>>2]|0)|0;e=CN(c[d+36>>2]|0)|0;h[f>>3]=m;h[f+8>>3]=j;h[f+16>>3]=k;h[f+24>>3]=j;c[f+32>>2]=i;c[f+36>>2]=e;g1(b,107744,f)|0}else{k=+h[d+8>>3];j=+h[d+16>>3];m=+h[d+24>>3];f=CN(c[d+32>>2]|0)|0;i=CN(c[d+36>>2]|0)|0;h[e>>3]=k;h[e+8>>3]=j;h[e+16>>3]=k;h[e+24>>3]=m;c[e+32>>2]=f;c[e+36>>2]=i;g1(b,107744,e)|0}l=g;return}function CN(a){a=a|0;switch(a|0){case 0:{a=107795;break}case 1:{a=107790;break}case 2:{a=107783;break}case 3:{a=107776;break}case 4:{a=107768;break}default:a=0}return a|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+16|0;r=w+8|0;t=w;u=c[a+32>>2]|0;v=c[a+28>>2]|0;p=a+24|0;m=r+4|0;n=t+4|0;j=0;a=c[p>>2]|0;a:while(1){q=j+1|0;if((q|0)>=(a|0))break;o=v+(j<<2)|0;k=q;while(1){if((k|0)>=(a|0)){j=q;continue a}b:do if(((dO(u,j,k)|0)==0?(dO(u,k,j)|0)==0:0)?(s=v+(k<<2)|0,EN(c[o>>2]|0,c[s>>2]|0)|0):0){f=c[o>>2]|0;a=c[f+48>>2]|0;i=c[s>>2]|0;d=c[i+48>>2]|0;e=(d|0)==0;if(a)if(e)a=1;else a=+h[a+8>>3]!=+h[d+8>>3];else a=e^1;g=a&1;FN(r,f,i,0,g);a=c[r>>2]|0;i=c[m>>2]|0;f=g^1;FN(t,c[o>>2]|0,c[s>>2]|0,1,f);d=c[t>>2]|0;e=c[n>>2]|0;switch(i|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);if((e|0)!=1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}case 0:switch(e|0){case -1:{GN(c[s>>2]|0,c[o>>2]|0,g,0,a,b);GN(c[s>>2]|0,c[o>>2]|0,f,1,d,b);break b}case 0:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);break b}default:break b}case 1:{GN(c[o>>2]|0,c[s>>2]|0,0,g,a,b);GN(c[o>>2]|0,c[s>>2]|0,1,f,d,b);if((e|0)!=-1)break b;HN(c[o>>2]|0,c[s>>2]|0,f,b);break b}default:break b}}while(0);k=k+1|0;a=c[p>>2]|0}}l=w;return}function EN(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))qa(107866,107135,843,107897);if((+h[a+16>>3]==+h[b+16>>3]?+h[a+24>>3]==+h[b+24>>3]:0)?(c[a+32>>2]|0)==(c[b+32>>2]|0):0)a=(c[a+36>>2]|0)==(c[b+36>>2]|0)&1;else a=0;return a|0}function FN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=0;while(1){b=IN(b,e)|0;if(!b){h=0;break}d=IN(d,f)|0;if(!d){i=6;break}if(!(EN(b,d)|0)){i=7;break}g=g+1|0}if((i|0)==6)qa(135312,107135,871,107815);else if((i|0)==7)h=KN(b,JN(b,d)|0,g+1|0,1-e|0)|0;c[a>>2]=g;c[a+4>>2]=h;return}function GN(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=i+20|0;n=i+24|0;i=uN(c[((a[b>>0]|0)==0?o:n)>>2]|0,b)|0;bO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0);k=1;while(1){if((k|0)>(g|0))break;l=IN(b,e)|0;m=IN(d,f)|0;do if(!(a[b>>0]|0)){j=uN(c[n>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==1;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}}else{j=uN(c[o>>2]|0,l)|0;if(+h[l+8>>3]==+h[b+16>>3]){p=(c[b+32>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}}else{p=(c[b+36>>2]|0)==2;i=(dO(c[i+32>>2]|0,c[b+40>>2]|0,c[d+40>>2]|0)|0)!=0;b=c[j+32>>2]|0;if(p)if(i){bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}else{bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else if(i){bO(b,c[l+40>>2]|0,c[m+40>>2]|0);i=j;break}else{bO(b,c[m+40>>2]|0,c[l+40>>2]|0);i=j;break}}}while(0);b=l;d=m;k=k+1|0}return}function HN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;while(1){if(!(EN(b,d)|0))break;g=IN(b,1)|0;d=IN(d,e)|0;b=g}g=c[(uN(c[((a[b>>0]|0)==0?f+20|0:f+24|0)>>2]|0,b)|0)+32>>2]|0;cO(g,c[b+40>>2]|0,c[d+40>>2]|0);return}function IN(a,b){a=a|0;b=b|0;if(!a)qa(107802,107135,798,107806);else return c[((b|0)==0?a+48|0:a+52|0)>>2]|0;return 0}function JN(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;d=a[b>>0]|0;if(d<<24>>24==(a[c>>0]|0)?!(+h[b+8>>3]!=+h[c+8>>3]):0){if(!(d<<24>>24))b=LN(b,c,3,1)|0;else b=LN(b,c,4,2)|0;l=f;return b|0}Pw(1,107828,e)|0;bb(186216,1);return 0}function KN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0;j=1;while(1){if((j|0)>(e|0))break;i=IN(b,f)|0;g=+h[i+8>>3]==+h[b+16>>3];do if(!(a[b>>0]|0))if(g){g=(c[b+32>>2]|0)==1;break}else{g=(c[b+36>>2]|0)==3;break}else if(g){g=(c[b+32>>2]|0)==4;break}else{g=(c[b+36>>2]|0)==2;break}while(0);b=i;j=j+1|0;d=g?0-d|0:d}return d|0}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o=0;j=+h[a+24>>3];k=+h[b+16>>3];do if(!(j<k)?(g=+h[a+16>>3],i=+h[b+24>>3],!(g>i)):0){if(k<j&g<k){b=MN(a,b,d,e)|0;break}if(k<g&g<i){b=0-(MN(b,a,d,e)|0)|0;break}if(!(g==k))if(j==k){d=c[a+36>>2]|0;return ((d|0)==(c[b+32>>2]|0)?0:(d|0)==(e|0)?1:-1)|0}else{d=c[a+32>>2]|0;b=(d|0)==(c[b+36>>2]|0)?0:(d|0)==(e|0)?1:-1;break}if(!(j==i))if(j<i){o=(c[a+36>>2]|0)==(d|0);d=ON(c[b+32>>2]|0,c[a+32>>2]|0,d,e)|0;return (o?d:0-d|0)|0}else{o=(c[b+36>>2]|0)==(e|0);b=ON(c[a+32>>2]|0,c[b+32>>2]|0,d,e)|0;b=o?b:0-b|0;break}o=c[a+32>>2]|0;n=c[b+32>>2]|0;if((o|0)==(n|0)){b=c[b+36>>2]|0;if((c[a+36>>2]|0)==(b|0)){b=0;break}}else b=c[b+36>>2]|0;m=(n|0)==(d|0);if((n|0)==(b|0)){if(m){b=1;break}if((n|0)==(e|0)){b=-1;break}if((o|0)!=(d|0)?(c[a+36>>2]|0)!=(d|0):0){b=1;break}if((o|0)!=(e|0)?(c[a+36>>2]|0)!=(e|0):0){b=-1;break}b=0;break}f=(b|0)==(e|0);if(m&f){b=(c[a+36>>2]|0)==(e|0);if((o|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}l=(b|0)==(d|0);if((n|0)==(e|0)&l){b=(o|0)==(e|0);if((c[a+36>>2]|0)==(d|0)){if(!b){b=-1;break}}else if(b){b=1;break}b=0;break}if(!n){if(l){b=NN(o,c[a+36>>2]|0,d)|0;break}if(f){b=0-(NN(o,c[a+36>>2]|0,e)|0)|0;break}}f=c[a+36>>2]|0;if(m&(b|0)==0){b=NN(f,o,d)|0;break}else{b=0-(NN(f,o,e)|0)|0;break}}else b=0;while(0);return b|0}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0;i=+h[a+24>>3];j=+h[b+24>>3];do if(i<j){a=c[a+36>>2]|0;if((a|0)==(d|0)?(c[b+32>>2]|0)==(e|0):0){a=-1;break}if((a|0)==(e|0)?(c[b+32>>2]|0)==(d|0):0){a=1;break}a=0}else{f=c[b+32>>2]|0;g=(f|0)==(e|0);if(i==j)if(g){a=ON(c[a+36>>2]|0,c[b+36>>2]|0,d,e)|0;break}else{a=0-(ON(c[b+36>>2]|0,c[a+36>>2]|0,d,e)|0)|0;break}if(g?(c[b+36>>2]|0)==(e|0):0){a=-1;break}if((f|0)==(d|0)?(c[b+36>>2]|0)==(d|0):0){a=1;break}a=0}while(0);return a|0}function NN(a,b,c){a=a|0;b=b|0;c=c|0;return ((a|0)==(c|0)?((b|0)==(c|0))<<31>>31:1)|0}function ON(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((a|0)==(d|0)){b=(a|0)==0;if(b)return 0;else b=b&1}return ((a|0)!=0|(b|0)!=(c|0))<<31>>31|0}function PN(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=c[a+28>>2]|0;h=c[a+24>>2]|0;d=c[a+32>>2]|0;a=0;a:while(1){e=a+1|0;if((e|0)>=(h|0))break;f=g+(a<<2)|0;b=e;while(1){if((b|0)==(h|0)){a=e;continue a}switch(JN(c[f>>2]|0,c[g+(b<<2)>>2]|0)|0){case 1:{bO(d,a,b);break}case -1:{bO(d,b,a);break}default:{}}b=b+1|0}}return}function QN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+24|0;e=c[f>>2]|0;d=e+1|0;c[f>>2]=d;c[b+40>>2]=e;e=a+28|0;a=c[e>>2]|0;if(!a)a=vH(d<<2)|0;else a=xH(a,d<<2)|0;c[e>>2]=a;c[a+((c[f>>2]|0)+-1<<2)>>2]=b;return}function RN(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;f=g;h[f>>3]=d;e=nb[c[a>>2]&63](a,f,512)|0;if(!e){e=uH(24)|0;h[e+8>>3]=+h[f>>3];c[e+16>>2]=Cw(25624,c[4555]|0)|0;nb[c[a>>2]&63](a,e,1)|0}f=c[e+16>>2]|0;nb[c[f>>2]&63](f,b,1)|0;l=g;return}function SN(a,b,d){a=a|0;b=b|0;d=d|0;aO(c[b+32>>2]|0);D_(c[b+28>>2]|0);D_(b);return}function TN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];f=+h[c>>3];if(!(e>f))if(e<f)a=!(+h[b+8>>3]>=+h[c+8>>3])<<31>>31;else a=0;else a=!(+h[b+8>>3]<=+h[c+8>>3])&1;return a|0}function UN(a,b,d){a=a|0;b=b|0;d=d|0;yw(c[b+16>>2]|0)|0;D_(b);return}function VN(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];e=+h[c>>3];return (f>e?1:(f<e)<<31>>31)|0}function WN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;i=(a[d+36>>0]|0)!=0;j=e+40|0;do if((c[d+24>>2]|0)==(e|0)){f=+h[j>>3];if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;break}else{g=+h[e+48>>3];f=(+h[e+56>>3]+f)*.5;break}}else if(i){g=(+h[e+64>>3]+ +h[e+48>>3])*.5;f=+h[e+56>>3];break}else{g=+h[e+64>>3];f=(+h[e+56>>3]+ +h[j>>3])*.5;break}while(0);h[b>>3]=f;h[b+8>>3]=g;return}function XN(a,b){a=a|0;b=b|0;var d=0;d=c[a+20>>2]|0;if((d|0)!=(c[b+20>>2]|0)?(d|0)!=(c[b+24>>2]|0):0)d=c[a+24>>2]|0;return d|0}function YN(a,b){a=a|0;b=b|0;var c=0.0;c=(+h[b+64>>3]+ +h[b+48>>3])*.5;h[a>>3]=(+h[b+56>>3]+ +h[b+40>>3])*.5;h[a+8>>3]=c;return}function ZN(b,d,e,f,g,i,j){b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|0;var k=0,l=0;a[b>>0]=d;h[b+8>>3]=e;if(f<g){k=0;l=i;d=j;e=f;f=g}else{k=1;l=j;d=i;e=g}h[b+24>>3]=f;h[b+16>>3]=e;c[b+36>>2]=d;c[b+32>>2]=l;a[b+1>>0]=k;return}function _N(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+36>>2]|0;do if((c[e+4>>2]|0)!=(d|0)){if((c[e+12>>2]|0)==(d|0)){e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+48>>3];break}if((c[e+8>>2]|0)==(d|0)){e=~~+h[b+40>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5);break}if((c[e>>2]|0)==(d|0)){e=~~+h[b+56>>3];d=~~((+h[b+64>>3]+ +h[b+48>>3])*.5)}else{e=0;d=0}}else{e=~~((+h[b+56>>3]+ +h[b+40>>3])*.5);d=~~+h[b+64>>3]}while(0);c[a>>2]=e;c[a+4>>2]=d;return}function $N(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=uH(8)|0;c[d>>2]=a;e=d+4|0;c[e>>2]=uH(a*12|0)|0;b=0;while(1){if((b|0)>=(a|0))break;g=yR()|0;f=c[e>>2]|0;c[f+(b*12|0)+8>>2]=g;c[f+(b*12|0)>>2]=0;b=b+1|0}return d|0}function aO(a){a=a|0;var b=0,d=0,e=0;d=a+4|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[a>>2]|0))break;yw(c[e+(b*12|0)+8>>2]|0)|0;b=b+1|0}D_(e);D_(a);return}function bO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,1)|0;l=e;return}function cO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;c[f>>2]=d;a=a+4|0;g=c[(c[a>>2]|0)+(b*12|0)+8>>2]|0;nb[c[g>>2]&63](g,f,2)|0;c[f>>2]=b;d=c[(c[a>>2]|0)+(d*12|0)+8>>2]|0;nb[c[d>>2]&63](d,f,2)|0;l=e;return}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=c[(c[a+4>>2]|0)+(b*12|0)+8>>2]|0;d=(nb[c[d>>2]&63](d,f,512)|0)!=0&1;l=e;return d|0}function eO(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;switch(b|0){case 0:break;case 1:{c[(c[a+4>>2]|0)+4>>2]=0;break}default:{e=fO(b)|0;f=a+4|0;d=0;b=0;while(1){if((d|0)>=(c[a>>2]|0)){b=0;break}if(!(c[(c[f>>2]|0)+(d*12|0)>>2]|0))b=gO(a,d,b,e)|0;d=d+1|0}while(1){d=hO(e)|0;if((d|0)<=-1)break;c[(c[f>>2]|0)+(d*12|0)+4>>2]=b;b=b+1|0}iO(e)}}return}function fO(a){a=a|0;var b=0;b=uH(8)|0;c[b+4>>2]=uH(a<<2)|0;c[b>>2]=-1;return b|0}function gO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a+4|0;g=c[i>>2]|0;j=g+(b*12|0)|0;c[j>>2]=1;g=c[g+(b*12|0)+8>>2]|0;h=g+4|0;d=d+1|0;g=Aw(g)|0;while(1){if(!g)break;f=c[(c[h>>2]|0)+8>>2]|0;if((f|0)<0)f=c[g+8>>2]|0;else f=g+(0-f)|0;f=c[f>>2]|0;if(!(c[(c[i>>2]|0)+(f*12|0)>>2]|0))d=gO(a,f,d,e)|0;g=c[g>>2]|0}c[j>>2]=2;jO(e,b);return d+1|0}function hO(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if((b|0)==-1)a=-1;else{d=c[(c[a+4>>2]|0)+(b<<2)>>2]|0;c[a>>2]=b+-1;a=d}return a|0}function iO(a){a=a|0;D_(c[a+4>>2]|0);D_(a);return}function jO(a,b){a=a|0;b=b|0;var d=0;d=(c[a>>2]|0)+1|0;c[a>>2]=d;c[(c[a+4>>2]|0)+(d<<2)>>2]=b;return}function kO(a){a=a|0;var d=0,e=0,f=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+4>>2];d=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;f=c[d>>2]|0;b[f+(a*40|0)+18>>1]=b[f+(a*40|0)+16>>1]|0;a=a+1|0}return}function lO(a){a=a|0;var d=0,e=0,f=0;d=c[a+8>>2]|0;c[a>>2]=d;c[a+4>>2]=c[a+12>>2];e=a+16|0;a=0;while(1){if((a|0)>=(d|0))break;f=c[e>>2]|0;b[f+(a*40|0)+16>>1]=b[f+(a*40|0)+18>>1]|0;a=a+1|0}d=d+2|0;while(1){if((a|0)>=(d|0))break;b[(c[e>>2]|0)+(a*40|0)+16>>1]=0;a=a+1|0}return}function mO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=uH(((c[a>>2]|0)*6|0)+(b<<1)<<2)|0;c[a+20>>2]=uH((((c[a>>2]|0)*3|0)+b|0)*24|0)|0;e=c[a>>2]|0;f=a+16|0;a=0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+24|0;a=a+1|0}e=e+2|0;while(1){if((a|0)>=(e|0))break;c[(c[f>>2]|0)+(a*40|0)+28>>2]=d;d=d+(b<<2)|0;a=a+1|0}return}function nO(a){a=a|0;var b=0;b=uH(24)|0;c[b>>2]=0;c[b+16>>2]=uH(a*40|0)|0;return b|0}function oO(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)+32>>2]=b;c[a>>2]=b+1;return d+(b*40|0)|0}function pO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0;g=a+4|0;f=c[g>>2]|0;c[g>>2]=f+1;g=c[a+20>>2]|0;a=g+(f*24|0)|0;c[g+(f*24|0)+12>>2]=c[b+32>>2];c[g+(f*24|0)+16>>2]=c[d+32>>2];h[a>>3]=e;c[g+(f*24|0)+8>>2]=0;qO(b,f);qO(d,f);return a|0}function qO(a,d){a=a|0;d=d|0;var e=0,f=0;e=a+16|0;f=b[e>>1]|0;c[(c[a+28>>2]|0)+(f<<16>>16<<2)>>2]=d;b[e>>1]=f+1<<16>>16;return}function rO(a){a=a|0;var b=0;b=a+16|0;D_(c[(c[b>>2]|0)+28>>2]|0);D_(c[b>>2]|0);D_(c[a+20>>2]|0);D_(a);return}function sO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;i=a+16|0;f=0;while(1){if((f|0)>=(g|0))break;c[(c[i>>2]|0)+(f*40|0)>>2]=-2147483648;f=f+1|0}GR();a:do if(!(JR(d)|0)){c[d+8>>2]=0;c[d>>2]=0;d=a+20|0;b:while(1){g=LR()|0;if(!g){f=0;break a}c[g>>2]=0-(c[g>>2]|0);if((g|0)==(e|0)){f=0;break a}i=g+16|0;j=g+28|0;f=0;while(1){if((f|0)>=(b[i>>1]|0))continue b;k=(c[d>>2]|0)+((c[(c[j>>2]|0)+(f<<2)>>2]|0)*24|0)|0;l=tO(a,k,g)|0;m=c[l>>2]|0;do if((m|0)<0){n=~~-(+h[k>>3]+ +(c[g>>2]|0));if((m|0)==-2147483648){c[l>>2]=n;if(JR(l)|0){f=1;break a}c[l+8>>2]=g;c[l+12>>2]=k;break}else{if((m|0)>=(n|0))break;MR(l,n);c[l+8>>2]=g;c[l+12>>2]=k;break}}while(0);f=f+1|0}}}else f=1;while(0);return f|0}function tO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+12>>2]|0;if((e|0)==(c[d+32>>2]|0))e=c[b+16>>2]|0;return (c[a+16>>2]|0)+(e*40|0)|0}function uO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=c[a>>2]|0;wC(g,3,b)|0;b=c[g+92>>2]|0;do if(b){d=c[b+16>>2]|0;h=c[d+12>>2]|0;c[a+76>>2]=h;e=c[d+16>>2]|0;c[a+84>>2]=e;f=a+80|0;c[f>>2]=c[d>>2];c[a+88>>2]=c[b+4>>2];d=a+152|0;e=c[d>>2]|c[e>>2];c[d>>2]=e;b=c[g+80>>2]|0;if(!b){c[a+60>>2]=0;b=999;break}else{g=c[b+16>>2]|0;c[a+60>>2]=c[g+12>>2];i=c[g+16>>2]|0;c[a+68>>2]=i;c[a+72>>2]=c[b+4>>2];c[d>>2]=e|c[i>>2];c[a+64>>2]=c[((h|0)==0?f:g)>>2];b=300;break}}else b=999;while(0);return b|0}function vO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(XB(a)|0))if((b|0)!=0?(d=c[b>>2]|0,(d|0)!=0):0){tb[d&127](a);a=0}else a=0;else a=1;return a|0}function wO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+4>>2]|0,d|0):0)tb[d&127](a);c[(c[a>>2]|0)+24>>2]=0;dC(a);return}function xO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;e=+h[b+504>>3];f=+h[b+512>>3];i=+h[b+352>>3];if(!(c[b+360>>2]|0)){g=+h[d>>3]+e;d=d+8|0;e=f}else g=-(f+ +h[d+8>>3]);f=+h[b+528>>3]*i*(+h[d>>3]+e);h[a>>3]=+h[b+520>>3]*i*g;h[a+8>>3]=f;return}function yO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0,k=0.0;f=+h[a+504>>3];g=+h[a+512>>3];i=+h[a+352>>3];j=+h[a+520>>3]*i;i=+h[a+528>>3]*i;a:do if(!(c[a+360>>2]|0)){a=0;while(1){if((a|0)>=(e|0))break a;h[d+(a<<4)>>3]=(+h[b+(a<<4)>>3]+f)*j;h[d+(a<<4)+8>>3]=(+h[b+(a<<4)+8>>3]+g)*i;a=a+1|0}}else{a=0;while(1){if((a|0)>=(e|0))break a;k=-(j*(+h[b+(a<<4)+8>>3]+g));h[d+(a<<4)+8>>3]=(+h[b+(a<<4)>>3]+f)*i;h[d+(a<<4)>>3]=k;a=a+1|0}}while(0);return d|0}function zO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+8>>2]|0,d|0):0)tb[d&127](a);return}function AO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+12>>2]|0,d|0):0)tb[d&127](a);cC(a);return}function BO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+24>>2]|0,d|0):0)tb[d&127](a);return}function CO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+28>>2]|0,d|0):0)tb[d&127](a);return}function DO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+16>>2]|0,d|0):0){b=c[a+160>>2]|0;xb[d&31](a,c[(c[(c[a>>2]|0)+308>>2]|0)+(b<<2)>>2]|0,b,c[a+156>>2]|0)}return}function EO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+20>>2]|0,d|0):0)tb[d&127](a);return}function FO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+32>>2]|0,d|0):0)tb[d&127](a);return}function GO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+36>>2]|0,d|0):0)tb[d&127](a);return}function HO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+40>>2]|0,d|0):0)tb[d&127](a);return}function IO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+44>>2]|0,d|0):0)tb[d&127](a);return}function JO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+48>>2]|0,d|0):0)tb[d&127](a);return}function KO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+52>>2]|0,d|0):0)tb[d&127](a);return}function LO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+56>>2]|0,d|0):0)tb[d&127](a);return}function MO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+60>>2]|0,d|0):0)tb[d&127](a);return}function NO(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+64>>2]|0,d|0):0)tb[d&127](a);return}function OO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+68>>2]|0,d|0):0)tb[d&127](a);return}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+60>>2]|0;if(g|0?(h=c[g+72>>2]|0,h|0):0)yb[h&15](a,b,d,e,f);return}function QO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+76>>2]|0,d|0):0)tb[d&127](a);return}function RO(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if(d|0?(e=c[d+80>>2]|0,e|0):0)ub[e&63](a,b);return}function SO(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(b|0?(d=c[b+84>>2]|0,d|0):0)tb[d&127](a);return}function TO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+32|0;h=k;i=k+16|0;j=c[b+60>>2]|0;m=c[e>>2]|0;do if(m|0?a[m>>0]|0:0){m=c[b+16>>2]|0;if(m|0?(c[m+144>>2]|0)==0:0)break;if(!(c[b+152>>2]&8192)){c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];c[f+8>>2]=c[d+8>>2];c[f+12>>2]=c[d+12>>2];xO(i,b,f);c[h>>2]=c[i>>2];c[h+4>>2]=c[i+4>>2];c[h+8>>2]=c[i+8>>2];c[h+12>>2]=c[i+12>>2]}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];c[h+8>>2]=c[d+8>>2];c[h+12>>2]=c[d+12>>2]}if(j|0?(g=c[j+88>>2]|0,g|0):0){c[f>>2]=c[h>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];vb[g&127](b,f,e)}}while(0);l=k;return}function UO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+16|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function VO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;j=k+8|0;i=k;c[d>>2]=b;c[d+32>>2]=5;e=iQ(b)|0;f=c[a+16>>2]|0;if(!((f|0)!=0?(e2(e,f,c[a+20>>2]|0,4,100)|0)!=0:0))h=3;a:do if((h|0)==3){switch(jQ(b,d,c[a+24>>2]|0)|0){case 0:break a;case 1:break;default:{Pw(1,108020,g)|0;break a}}a=vH((W_(b)|0)+16|0)|0;c[i>>2]=b;Y0(a,107985,i)|0;if(AG(a)|0){c[j>>2]=b;Pw(0,107994,j)|0}D_(a)}while(0);l=k;return}function WO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=c[b+60>>2]|0;g=(c[b+16>>2]|0)+56|0;i=A$(d,58)|0;h=(i|0)!=0;if(h)a[i>>0]=0;if(f|0?(VO(c[b+68>>2]|0,d,g),e=c[f+92>>2]|0,e|0):0)ub[e&63](b,g);if(h)a[i>>0]=58;return}function XO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;h=c[a+60>>2]|0;i=a+16|0;j=(c[i>>2]|0)+96|0;if(h|0?(VO(c[a+68>>2]|0,b,j),f=c[h+92>>2]|0,f|0):0)ub[f&63](a,j);j=c[i>>2]|0;c[j+136>>2]=d;g[j+140>>2]=e;return}function YO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;k=m;j=c[b+60>>2]|0;b=c[b+16>>2]|0;c[b+160>>2]=d;a:do if((d|0)!=0&(j|0)!=0){j=b+144|0;i=b+152|0;g=b+148|0;b=d;b:while(1){f=b+4|0;b=c[b>>2]|0;if(!b)break a;c:do switch(a[b>>0]|0){case 115:{if(!(b$(b,108041)|0)){c[j>>2]=3;b=f;continue b}if(!(b$(b,108062)|0)){e=115;while(1){d=b+1|0;if(!(e<<24>>24))break;b=d;e=a[d>>0]|0}h[i>>3]=+b2(d);b=f;continue b}break}case 100:{if(!(b$(b,134245)|0)){c[j>>2]=1;b=f;continue b}if(!(b$(b,134238)|0)){c[j>>2]=2;b=f;continue b}break}case 105:{if(b$(b,131253)|0?b$(b,108047)|0:0)break c;c[j>>2]=0;b=f;continue b}case 98:{if(!(b$(b,108057)|0)){h[i>>3]=2.0;b=f;continue b}break}case 102:{if(!(b$(b,108075)|0)){c[g>>2]=1;b=f;continue b}break}case 117:{if(!(b$(b,108082)|0)){c[g>>2]=0;b=f;continue b}break}case 116:{if(!(b$(b,108091)|0)){b=f;continue b}break}default:{}}while(0);c[k>>2]=b;Pw(0,108099,k)|0;b=f}}while(0);l=m;return}function ZO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+32|0;g=j;d=c[a+60>>2]|0;if((d|0?(i=d+96|0,f=c[i>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){d=b+16|0;h[g>>3]=(+h[d>>3]+ +h[b>>3])*.5;h[g+8>>3]=(+h[b+24>>3]+ +h[b+8>>3])*.5;b=g+16|0;c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];if(!(c[a+152>>2]&8192)){yO(a,g,g,2)|0;f=c[i>>2]|0}vb[f&127](a,g,e)}l=j;return}function _O(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;m=o;f=c[a+60>>2]|0;if((f|0?(n=f+100|0,c[n>>2]|0):0)?(k=a+16|0,j=c[k>>2]|0,c[j+144>>2]|0):0){if(!(e&4)){f=e;g=0}else{f=e&-5;e=j+16|0;g=m;h=e;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=e;h=j+56|0;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));g=1}if(!(c[a+152>>2]&8192)){e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;xb[c[n>>2]&31](a,e,d,f)}else xb[c[n>>2]&31](a,b,d,f);if(g|0){g=(c[k>>2]|0)+16|0;h=m;i=g+40|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0))}}l=o;return}function $O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+64|0;f=e;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];g=f+32|0;b=b+16|0;c[g>>2]=c[b>>2];c[g+4>>2]=c[b+4>>2];c[g+8>>2]=c[b+8>>2];c[g+12>>2]=c[b+12>>2];h[f+16>>3]=+h[f>>3];h[f+24>>3]=+h[f+40>>3];h[f+48>>3]=+h[g>>3];h[f+56>>3]=+h[f+8>>3];_O(a,f,4,d);l=e;return}function aP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=c[a+60>>2]|0;do if((i|0?(j=i+104|0,h=c[j>>2]|0,h|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){zb[h&15](a,b,d,e,f,g&255);break}h=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=h;h=xH(c[46594]|0,h<<4)|0;c[46594]=h}else h=c[46594]|0;yO(a,b,h,d)|0;zb[c[j>>2]&15](a,h,d,e,f,g&255)}while(0);return}function bP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do if((e|0?(g=e+108|0,f=c[g>>2]|0,f|0):0)?c[(c[a+16>>2]|0)+144>>2]|0:0){if(c[a+152>>2]&8192|0){vb[f&127](a,b,d);break}e=d+10|0;if((c[46593]|0)<(d|0)){c[46593]=e;e=xH(c[46594]|0,e<<4)|0;c[46594]=e}else e=c[46594]|0;yO(a,b,e,d)|0;vb[c[g>>2]&127](a,e,d)}while(0);return}function cP(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if((d|0?!((e|0)==0|(a[d>>0]|0)==0):0)?(f=c[e+112>>2]|0,f|0):0)ub[f&63](b,d);return}function dP(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k=0.0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+112|0;B=F+64|0;E=F;n=F+96|0;x=F+48|0;y=F+32|0;C=c[b+60>>2]|0;if(!b)qa(108200,108152,691,108163);if(!d)qa(108182,108152,692,108163);if(!(a[d>>0]|0))qa(108187,108152,693,108163);D=yC(d)|0;if(!D){if((C|0)!=0&(VJ(d)|0)!=0?(m=c[C+116>>2]|0,m|0):0)yb[m&15](b,d,e,f,g&255)}else{s=b+432|0;c[B>>2]=c[s>>2];c[B+4>>2]=c[s+4>>2];c[B+8>>2]=c[s+8>>2];c[B+12>>2]=c[s+12>>2];BC(n,D,B);s=c[n>>2]|0;m=c[n+4>>2]|0;if(!((s|0)<1&(m|0)<1)){n=E+16|0;c[n>>2]=c[e>>2];c[n+4>>2]=c[e+4>>2];c[n+8>>2]=c[e+8>>2];c[n+12>>2]=c[e+12>>2];c[E>>2]=c[e>>2];c[E+4>>2]=c[e+4>>2];c[E+8>>2]=c[e+8>>2];c[E+12>>2]=c[e+12>>2];z=E+8|0;A=E+24|0;d=1;while(1){if((d|0)>=(f|0))break;G=e+(d<<4)|0;v=+h[G>>3];h[E>>3]=+h[(+h[E>>3]<v?E:G)>>3];w=+h[e+(d<<4)+8>>3];h[z>>3]=+h[(+h[z>>3]<w?E:G)+8>>3];h[n>>3]=+h[(+h[n>>3]>v?n:G)>>3];h[A>>3]=+h[(+h[A>>3]>w?n:G)+8>>3];d=d+1|0}k=+h[n>>3];j=+h[E>>3];t=k-j;u=+h[A>>3];v=+h[z>>3];w=u-v;o=+(m|0);p=+(s|0);q=t/p;r=w/o;a:do switch(eP(i)|0){case 1:if(q<r){p=q*p;o=q*o;break a}else{p=r*p;o=r*o;break a}case 2:{p=q*p;break}case 3:{o=r*o;break}case 4:{p=q*p;o=r*o;break}default:{}}while(0);if(p<t){t=(t-p)*.5;j=j+t;h[E>>3]=j;k=k-t;h[n>>3]=k}if(o<w){w=(w-o)*.5;h[z>>3]=v+w;h[A>>3]=u-w}if(!(c[b+152>>2]&8192)){c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];xO(x,b,B);c[E>>2]=c[x>>2];c[E+4>>2]=c[x+4>>2];c[E+8>>2]=c[x+8>>2];c[E+12>>2]=c[x+12>>2];c[B>>2]=c[n>>2];c[B+4>>2]=c[n+4>>2];c[B+8>>2]=c[n+8>>2];c[B+12>>2]=c[n+12>>2];xO(y,b,B);c[n>>2]=c[y>>2];c[n+4>>2]=c[y+4>>2];c[n+8>>2]=c[y+8>>2];c[n+12>>2]=c[y+12>>2];k=+h[n>>3];j=+h[E>>3]}if(j>k){h[E>>3]=k;h[n>>3]=j}j=+h[z>>3];k=+h[A>>3];if(j>k){h[z>>3]=k;h[A>>3]=j}if(C|0){G=c[b+72>>2]|0;c[B>>2]=c[E>>2];c[B+4>>2]=c[E+4>>2];c[B+8>>2]=c[E+8>>2];c[B+12>>2]=c[E+12>>2];c[B+16>>2]=c[E+16>>2];c[B+20>>2]=c[E+20>>2];c[B+24>>2]=c[E+24>>2];c[B+28>>2]=c[E+28>>2];gP(b,D,B,g,G)}}}l=F;return}function eP(b){b=b|0;if(a[b>>0]|0)if(O$(b,138034)|0)if(O$(b,137966)|0)if(!(O$(b,108195)|0))b=4;else b=(QL(b)|0)<<24>>24!=0&1;else b=3;else b=2;else b=0;return b|0}function fP(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;return}\nfunction SX(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=f-e|0;a:do if((h|0)>0){l=b+72|0;switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{c[g>>2]=e;f=0;break a}case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[b+340>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[b+344>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[b+348>>2]&127](b,e)|0)){c[g>>2]=e;f=0;break a}else h=4;break}default:{c[g>>2]=e;f=0;break a}}i=b+328|0;j=b+332|0;k=b+336|0;e=e+h|0;b:while(1){h=f-e|0;if((h|0)<=0){f=-20;break a}switch(a[l+(d[e>>0]|0)>>0]|0){case 29:{h=17;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=28;break b}case 27:case 26:case 25:case 24:case 22:{h=1;break}case 5:{if((h|0)<2){f=-2;break a}if(!(lb[c[i>>2]&127](b,e)|0)){h=20;break b}else h=2;break}case 6:{if((h|0)<3){f=-2;break a}if(!(lb[c[j>>2]&127](b,e)|0)){h=23;break b}else h=3;break}case 7:{if((h|0)<4){f=-2;break a}if(!(lb[c[k>>2]&127](b,e)|0)){h=26;break b}else h=4;break}default:{h=29;break b}}e=e+h|0}if((h|0)==17){c[g>>2]=e;f=0;break}else if((h|0)==20){c[g>>2]=e;f=0;break}else if((h|0)==23){c[g>>2]=e;f=0;break}else if((h|0)==26){c[g>>2]=e;f=0;break}else if((h|0)==28){c[g>>2]=e;f=20;break}else if((h|0)==29){c[g>>2]=e;f=0;break}}else f=-1;while(0);return f|0}function TX(){return 58116}function UX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i;c[g>>2]=d;h=c[b>>2]|0;a=f-(c[e>>2]|0)|0;if((d-h|0)>(a|0)){a=h+a|0;c[g>>2]=a;f=1}else{f=0;a=d}fX(h,g);h=c[g>>2]|0;d=c[b>>2]|0;g=h-d|0;F3(c[e>>2]|0,d|0,g|0)|0;c[b>>2]=(c[b>>2]|0)+g;c[e>>2]=(c[e>>2]|0)+g;l=i;return (f?2:h>>>0<a>>>0&1)|0}function VX(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=d+72|0;k=f;l=h;m=c[e>>2]|0;n=c[g>>2]|0;a:while(1){d=m>>>0<f>>>0;if(!(n>>>0<h>>>0&d)){o=12;break}d=a[m>>0]|0;i=d&255;switch(a[j+i>>0]|0){case 5:{if((k-m|0)<2){d=1;break a}b[n>>1]=(d&31)<<6|a[m+1>>0]&63;m=m+2|0;n=n+2|0;continue a}case 6:{if((k-m|0)<3){d=1;break a}b[n>>1]=(a[m+1>>0]&63)<<6|i<<12|a[m+2>>0]&63;m=m+3|0;n=n+2|0;continue a}case 7:{if((l-n|0)<4){d=2;break a}if((k-m|0)<4){d=1;break a}i=((a[m+1>>0]&63)<<12|(d&7)<<18|(a[m+2>>0]&63)<<6|a[m+3>>0]&63)+-65536|0;b[n>>1]=i>>>10|55296;b[n+2>>1]=i&1023|56320;m=m+4|0;n=n+4|0;continue a}default:{b[n>>1]=d<<24>>24;m=m+1|0;n=n+2|0;continue a}}}if((o|0)==12)d=d?2:0;c[e>>2]=m;c[g>>2]=n;return d|0}function WX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function XX(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140962+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function YX(a,b){a=a|0;b=b|0;return 0}function ZX(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(a>>>2&7)>>0]|0)<<3|a<<1&6|b>>>5&1)<<2)>>2]|0}function _X(b,e){b=b|0;e=e|0;var f=0;f=d[e+1>>0]|0;b=d[e+2>>0]|0;return 1<<(b&31)&c[56836+(((d[140706+(f>>>2&15|a[e>>0]<<4&255)>>0]|0)<<3|f<<1&6|b>>>5&1)<<2)>>2]|0}function $X(a,b){a=a|0;b=b|0;if((d[b>>0]|0)<194)return 1;else{b=d[b+1>>0]|0;return b>>>7^1|(b&192|0)==192|0}return 0}function aY(b,c){b=b|0;c=c|0;var d=0;b=a[c+2>>0]|0;do if(b<<24>>24>-1)b=1;else{d=a[c>>0]|0;if(d<<24>>24==-17?(a[c+1>>0]|0)==-65:0)if((b&255)>189){b=1;break}else{b=191;c=-65}else{if((b&255)>191){b=1;break}c=a[c+1>>0]|0;b=c&255;if(d<<24>>24==-32){b=(c&255)<160|(b&192|0)==192;break}}b=(b&128|0)==0?1:d<<24>>24==-19?(c&255)>159:(b&192|0)==192}while(0);return b&1|0}function bY(b,c){b=b|0;c=c|0;var e=0;e=d[c+3>>0]|0;do if(!((e&128|0)==0|(e&192|0)==192)?(e=d[c+2>>0]|0,!((e&128|0)==0|(e&192|0)==192)):0){e=a[c>>0]|0;b=a[c+1>>0]|0;c=b&255;if(e<<24>>24==-16){b=(b&255)<144|(c&192|0)==192;break}else{b=(c&128|0)==0?1:e<<24>>24==-12?(b&255)>143:(c&192|0)==192;break}}else b=1;while(0);return b&1|0}function cY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e+1>>0]|0;if(!(f<<24>>24)){h=a[e>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=EY(12,b,e+2|0,m,g)|0;break a}case 13:{f=EY(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 16:{f=FY(b,e+4|0,m,g)|0;break a}case 15:{f=AY(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=uY(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+5>>0]|0)==0?(a[e+4>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=GY(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[i+3>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h+1>>0]|0;j=a[h>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[h+3>>0]|0;i=a[k>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function dY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;do switch(f|0){case 2:{f=xY(b,e+2|0,i,g)|0;break a}case 3:{f=tY(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b+1>>0]|0;i=a[b>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[b+3>>0]|0){b=h;continue b}if((a[h>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[b+5>>0]|0){b=h;continue b}if((a[i>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function eY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e+1>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e>>0]|0)>>0]|0;else f=sY(f,a[e>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[e+3>>0]|0)==0?(a[h>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[e+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[e+3>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[h>>0]|0)>>0]|0;else f=sY(f,a[h>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b+1>>0]|0;h=a[b>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function fY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}h=(a[b>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[f+3>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[f+5>>0]|0){h=i;f=b;i=h;continue a}if((a[b>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function gY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function hY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j+1>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=tY(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=uY(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function iY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b+1>>0]|0){b=0;break}if((a[b>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function jY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f+1>>0]|0;e=a[f>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function kY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c+1>>0]|0;e=a[c>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function lY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;i=e+3|0;h=a[i>>0]|0;j=h<<24>>24==0;k=a[l>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+5>>0]|0;b=a[e+4>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function mY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==0?(a[b>>0]|0)==120:0){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c+1>>0]|0)){d=a[c>>0]|0;if(d<<24>>24==59){e=17;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8){e=0;b=d+-48|b<<4}else if((e|0)==9){e=0;b=(b<<4)+-55+d|0}else if((e|0)==10){e=0;b=(b<<4)+-87+d|0}if((b|0)<1114112)c=c+2|0;else{b=-1;break}}}else{d=b;b=0;e=13}while(0);c:do if((e|0)==13)while(1){e=0;if(!(a[d+1>>0]|0)){c=a[d>>0]|0;if(c<<24>>24==59){e=17;break c}c=c<<24>>24}else c=-1;b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;break}else{d=d+2|0;e=13}}while(0);if((e|0)==17)b=jX(b)|0;return b|0}function nY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+3>>0]|0)==0?(a[c+2>>0]|0)==116:0){if(!(a[c+1>>0]|0))b=a[c>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c+1>>0]|0)==0?(a[c>>0]|0)==97:0)?(a[c+3>>0]|0)==0:0)?(a[c+2>>0]|0)==109:0)?(a[c+5>>0]|0)==0:0)?(a[c+4>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c+1>>0]|0))switch(a[c>>0]|0){case 113:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=117){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+3>>0]|0){e=27;break a}if((a[c+2>>0]|0)!=112){e=27;break a}if(a[c+5>>0]|0){e=27;break a}if((a[c+4>>0]|0)!=111){e=27;break a}if(a[c+7>>0]|0){e=27;break a}if((a[c+6>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function oY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e+1>>0]|0;h=a[e>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[e+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function pY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f+-2|0;i=b+72|0;f=e;a:while(1){h=f+2|0;if((j-h|0)<=1){f=1;break}f=a[f+3>>0]|0;b=f<<24>>24==0;e=a[h>>0]|0;if(b)f=d[i+(e&255)>>0]|0;else f=sY(f,e)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{f=h;continue a}case 21:if(b&e<<24>>24==9){k=12;break a}else{f=h;continue a}case 22:case 26:{if(!b){k=12;break a}if(e<<24>>24>=0){f=h;continue a}break}default:if(!b){k=12;break a}}switch(e<<24>>24|0){case 64:case 36:{f=h;break}default:{k=12;break a}}}if((k|0)==12){c[g>>2]=h;f=0}return f|0}function qY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j>>0]|0;b=a[j+1>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[b>>0]|0;f=(o<<4&48|i>>>6|a[j+3>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function rY(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k+1>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0<e>>>0;k=c[h>>2]|0;if(!(j&k>>>0<i>>>0))break;j=((d[g+1>>0]|0)<<8|(d[g>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function sY(a,b){a=a|0;b=b|0;var c=0;switch(a<<24>>24){case -37:case -38:case -39:case -40:{a=7;break}case -33:case -34:case -35:case -36:{a=8;break}case -1:{if((b&255)>253)a=0;else c=4;break}default:c=4}if((c|0)==4)a=29;return a|0}function tY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=vY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[j+3>>0]|0;h=a[i>>0]|0;if(!(b<<24>>24))f=d[k+(h&255)>>0]|0;else f=sY(b,h)|0;switch(f|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else j=i}if((h|0)==22){c[g>>2]=i;b=0;break}else if((h|0)==23){c[g>>2]=i;b=0;break}else if((h|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((h|0)==28){c[g>>2]=j+4;b=9;break}else if((h|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function uY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function vY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e+1>>0]|0;h=a[e>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=wY(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[b+3>>0]|0;f=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function wY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function xY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[e+3>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[i>>0]|0)>>0]|0;else h=sY(h,a[i>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+4|0,f,g)|0;break a}case 20:{h=zY(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=AY(b,e+2|0,f,g)|0;break a}case 17:{h=BY(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h+1>>0]|0;k=a[h>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}k=h+2|0;e=o-k|0;if((e|0)<=1){h=-1;break a}l=a[h+3>>0]|0;i=a[k>>0]|0;if(!(l<<24>>24))j=d[m+(i&255)>>0]|0;else j=sY(l,i)|0;switch(j|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140706+(l&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=k;h=0;break a}case 49:{c[g>>2]=k;h=0;break a}case 50:{if((e|0)<3){h=-2;break a}c[g>>2]=k;h=0;break a}case 52:{if((e|0)<4){h=-2;break a}c[g>>2]=k;h=0;break a}case 54:{c[g>>2]=k;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[h+3>>0]|0;e=a[i>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=CY(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[h+3>>0]|0)==0?(a[i>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function yY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e+1>>0]|0)==0?(a[e>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h+1>>0]|0;b=a[h>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[h+3>>0]|0){h=f;continue b}if((a[f>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[h+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function zY(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b+1>>0]|0){d=0;break}if((a[b>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function AY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;j=o-e|0;a:do if((j|0)>1){f=a[e+1>>0]|0;if(!(f<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(f,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(f&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[k+3>>0]|0;j=a[f>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j+1>>0]|0;h=a[j>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[j+3>>0]|0){j=f;continue c}if((a[f>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(DY(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[k+5>>0]|0)==0?(a[f>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function BY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[b+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[j+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function CY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e+1>>0]|0;j=a[e>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[h>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}e=a[e+3>>0]|0;h=a[i>>0]|0;if(!(e<<24>>24))e=d[o+(h&255)>>0]|0;else e=sY(e,h)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;i=a[j>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e+1>>0]|0;i=a[e>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=tY(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[e+3>>0]|0;j=a[i>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[e+3>>0]|0;m=a[i>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[i+3>>0]|0)==0?(a[h>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function DY(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+1>>0]|0)==0:0){switch(a[b>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+3>>0]|0)){switch(a[b+2>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+5>>0]|0)){switch(a[b+4>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function EY(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f+1>>0]|0;i=a[f>>0]|0;if(!(e<<24>>24))e=d[k+(i&255)>>0]|0;else e=sY(e,i)|0;switch(e|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{i=f+2|0;if((e|0)==(b|0)){l=12;break a}else{f=i;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-i|0)>1){c[h>>2]=i;g=a[f+3>>0]|0;f=a[i>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function FY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e+1>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e>>0]|0)>>0]|0;else h=sY(h,a[e>>0]|0)|0;switch(h|0){case 27:{h=yY(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[e+3>>0]|0;b=a[i>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+5>>0]|0;h=a[e+4>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function GY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e+1>>0]|0;if(!(k<<24>>24)){i=a[e>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}h=a[h+3>>0]|0;i=a[k>>0]|0;if(!(h<<24>>24))j=d[b+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function HY(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=67;c[b+4>>2]=68;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function IY(a){a=a|0;var b=0;a:do if(!a)b=6;else{b=0;while(1){if((b|0)>=6){b=-1;break a}if(qZ(a,c[59964+(b<<2)>>2]|0)|0)break a;b=b+1|0}}while(0);return b|0}function JY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,0,b,c,d)|0}function KY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(58844,a,1,b,c,d)|0}function LY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;BX(58480,b,c,d);return}function MY(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;a:do if(f>>>0<g>>>0){l=c[d+72>>2]|0;i=f+1|0;b:do if((i|0)==(g|0)){i=a[d+69>>0]|0;if(((i<<24>>24)+-3|0)>>>0<3){i=-1;break a}switch(a[f>>0]|0){case 60:case 0:{i=-1;break a}case -17:case -1:case -2:break;default:break b}if(!((e|0)==1&i<<24>>24==0)){i=-1;break a}}else{k=a[f>>0]|0;i=a[i>>0]|0;j=((k&255)<<8|i&255)&65535;c:do if(j<<16>>16<-2){if(j<<16>>16>=-257){switch(j<<16>>16){case -257:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+16>>2];i=14;break a}switch(j<<16>>16){case -4165:break;default:break c}if((e|0)==1)switch(a[d+69>>0]|0){case 0:case 3:case 4:case 5:break b;default:{}}i=f+2|0;if((i|0)==(g|0)){i=-1;break a}if((a[i>>0]|0)!=-65)break b;c[h>>2]=f+3;c[l>>2]=c[b+8>>2];i=14;break a}else{if(j<<16>>16<15360){switch(j<<16>>16){case -2:break;default:break c}if((e|0)==1&(a[d+69>>0]|0)==0)break b;c[h>>2]=f+2;c[l>>2]=c[b+20>>2];i=14;break a}switch(j<<16>>16){case 15360:break;default:break c}i=a[d+69>>0]|0;if(i<<24>>24==4){if((e|0)==1)break b}else if((e|0)==1&i<<24>>24==3)break b;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);if(k<<24>>24){if((e|0)==1|i<<24>>24!=0)break;i=c[b+20>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}if((e|0)==1?(a[d+69>>0]|0)==5:0)break;i=c[b+16>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0;break a}while(0);i=c[b+(a[d+69>>0]<<2)>>2]|0;c[l>>2]=i;i=ob[c[i+(e<<2)>>2]&127](i,f,g,h)|0}else i=-4;while(0);return i|0}function NY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;a:do if(e>>>0<f>>>0){i=e;m=f-i|0;k=(m&1|0)==0;m=m&-2;l=(m|0)==0;m=k|l?f:e+m|0;if(k|l^1){f=a[e>>0]|0;if(!(f<<24>>24)){h=a[e+1>>0]|0;j=h;h=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;j=h;h=sY(f,h)|0}do switch(h|0){case 12:{f=mZ(12,b,e+2|0,m,g)|0;break a}case 13:{f=mZ(13,b,e+2|0,m,g)|0;break a}case 2:{h=e+2|0;if((m-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 16:{f=nZ(b,e+4|0,m,g)|0;break a}case 15:{f=iZ(b,e+4|0,m,g)|0;break a}case 7:case 6:case 5:case 29:case 24:case 22:{c[g>>2]=e;f=29;break a}default:{c[g>>2]=h;f=0;break a}}}case 9:{if((e+2|0)==(m|0)){c[g>>2]=m;f=-15;break a}else i=7;break}case 10:case 21:{i=7;break}case 30:{f=cZ(b,e+2|0,m,g)|0;break a}case 35:{c[g>>2]=e+2;f=38;break a}case 20:{c[g>>2]=e+2;f=25;break a}case 4:{h=e+2|0;f=m-h|0;if((f|0)<=1){f=-26;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){if((f|0)<=3){f=-1;break a}if((a[e+4>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=34;break a}}c[g>>2]=h;f=26;break a}case 31:{c[g>>2]=e+2;f=23;break a}case 32:{h=e+2|0;if((m-h|0)<=1){f=-24;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;switch(f|0){case 33:{c[g>>2]=e+4;f=36;break a}case 15:{c[g>>2]=e+4;f=35;break a}case 34:{c[g>>2]=e+4;f=37;break a}case 32:case 36:case 35:case 11:case 21:case 10:case 9:{c[g>>2]=h;f=24;break a}default:{c[g>>2]=h;f=0;break a}}}case 36:{c[g>>2]=e+2;f=21;break a}case 11:{c[g>>2]=e+2;f=17;break a}case 19:{f=oZ(b,e+2|0,m,g)|0;break a}case 5:{if((m-i|0)<2){f=-2;break a}c[g>>2]=e;f=0;break a}case 6:{if((m-i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((m-i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 24:case 22:{f=18;i=61;break}case 23:case 27:case 26:case 25:{f=19;i=61;break}case 29:{i=f&255;h=j&255;f=h>>>5;h=1<<(h&31);if(!(h&c[56836+((f|d[140706+i>>0]<<3)<<2)>>2]))if(!(c[56836+((d[140962+i>>0]<<3|f)<<2)>>2]&h))i=64;else{f=19;i=61}else{f=18;i=61}break}default:i=64}while(0);if((i|0)==7){k=m;b=b+72|0;j=e;b:while(1){i=j;j=j+2|0;if((k-j|0)<=1){i=28;break}f=a[j>>0]|0;h=a[i+3>>0]|0;if(!(f<<24>>24))f=d[b+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 21:continue b;case 9:break;default:{i=27;break b}}if((i+4|0)==(m|0)){i=27;break}}if((i|0)==27){c[g>>2]=j;f=15;break}else if((i|0)==28){c[g>>2]=j;f=15;break}}else if((i|0)==61){l=b+72|0;h=e+2|0;c:while(1){e=f&255;d:while(1){k=m-h|0;if((k|0)<=1){i=104;break c}i=a[h>>0]|0;j=a[h+1>>0]|0;if(!(i<<24>>24))b=d[l+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 5:{i=73;break c}case 6:{i=74;break c}case 7:{i=76;break c}case 10:case 9:case 21:case 30:case 20:case 36:case 35:case 32:case 11:{i=78;break c}case 34:{i=94;break c}case 33:{i=97;break c}case 15:{i=100;break c}case 29:{k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){i=71;break c}break}case 27:case 26:case 25:case 24:case 22:break;case 23:{k=h+2|0;switch(e&63){case 41:{f=19;h=k;continue c}case 18:break d;default:{h=k;continue d}}}default:{i=103;break c}}h=h+2|0}b=m-k|0;if((b|0)<=1){f=-1;break a}f=a[k>>0]|0;i=a[h+3>>0]|0;if(!(f<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(f,i)|0;switch(j|0){case 5:{i=89;break c}case 6:{i=90;break c}case 7:{i=92;break c}case 29:{e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(f&255)>>0]<<3)<<2)>>2])){i=87;break c}break}case 27:case 26:case 25:case 24:case 22:break;default:{f=19;h=k;continue c}}f=41;h=h+4|0}switch(i|0){case 71:{c[g>>2]=h;f=0;break a}case 73:{c[g>>2]=h;f=0;break a}case 74:{if((k|0)<3){f=-2;break a}c[g>>2]=h;f=0;break a}case 76:{if((k|0)<4){f=-2;break a}c[g>>2]=h;f=0;break a}case 78:{c[g>>2]=h;break a}case 87:{c[g>>2]=k;f=0;break a}case 89:{c[g>>2]=k;f=0;break a}case 90:{if((b|0)<3){f=-2;break a}c[g>>2]=k;f=0;break a}case 92:{if((b|0)<4){f=-2;break a}c[g>>2]=k;f=0;break a}case 94:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=32;break a}case 97:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=31;break a}case 100:if((f|0)==19){c[g>>2]=h;f=0;break a}else{c[g>>2]=h+2;f=30;break a}case 103:{c[g>>2]=h;f=0;break a}case 104:{f=0-f|0;break a}}}else if((i|0)==64){c[g>>2]=e;f=0;break}}else f=-1}else f=-4;while(0);return f|0}function OY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;do switch(f|0){case 2:{f=fZ(b,e+2|0,i,g)|0;break a}case 3:{f=bZ(b,e+2|0,i,g)|0;break a}case 9:{h=e+2|0;if((i-h|0)<=1){f=-3;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 4:{h=e+2|0;if((i-h|0)<=1){f=-5;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-5;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=f;f=0;break a}else f=i}else f=i;break}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:{h=e+2|0;f=i}}while(0);j=b+72|0;b=h;b:while(1){e=f-b|0;if((e|0)<=1){h=52;break}h=a[b>>0]|0;i=a[b+1>>0]|0;if(!(h<<24>>24))h=d[j+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 8:case 1:case 0:case 2:case 3:{h=50;break b}case 5:{b=b+2|0;continue b}case 6:{if((e|0)<3){h=38;break b}b=b+3|0;continue b}case 7:{if((e|0)<4){h=41;break b}b=b+4|0;continue b}case 4:{if((e|0)<=3){h=50;break b}h=b+2|0;if(a[h>>0]|0){b=h;continue b}if((a[b+3>>0]|0)!=93){b=h;continue b}if((e|0)<=5){h=50;break b}i=b+4|0;if(a[i>>0]|0){b=h;continue b}if((a[b+5>>0]|0)==62){h=49;break b}else{b=h;continue b}}default:{b=b+2|0;continue b}}}if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==41){c[g>>2]=b;f=6;break}else if((h|0)==49){c[g>>2]=i;f=0;break}else if((h|0)==50){c[g>>2]=b;f=6;break}else if((h|0)==52){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function PY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if(e>>>0<f>>>0){h=e;i=f-h|0;k=(i&1|0)==0;i=i&-2;j=(i|0)==0;i=k|j?f:e+i|0;if(k|j^1){f=a[e>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+1>>0]|0)>>0]|0;else f=sY(f,a[e+1>>0]|0)|0;switch(f|0){case 4:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}if((a[h>>0]|0)==0?(a[e+3>>0]|0)==93:0){f=e+4|0;if((i-f|0)<=1){f=-1;break a}if((a[f>>0]|0)==0?(a[e+5>>0]|0)==62:0){c[g>>2]=e+6;f=40;break a}}break}case 9:{h=e+2|0;if((i-h|0)<=1){f=-1;break a}f=a[h>>0]|0;if(!(f<<24>>24))f=d[b+72+(d[e+3>>0]|0)>>0]|0;else f=sY(f,a[e+3>>0]|0)|0;c[g>>2]=(f|0)==10?e+4|0:h;f=7;break a}case 10:{c[g>>2]=e+2;f=7;break a}case 5:{f=i;if((f-h|0)<2){f=-2;break a}h=e+2|0;i=f;break}case 6:{f=i;if((f-h|0)<3){f=-2;break a}h=e+3|0;i=f;break}case 7:{f=i;if((f-h|0)<4){f=-2;break a}h=e+4|0;i=f;break}case 8:case 1:case 0:{c[g>>2]=e;f=0;break a}default:h=e+2|0}j=b+72|0;b=h;b:while(1){e=i-b|0;if((e|0)<=1){h=40;break}f=a[b>>0]|0;h=a[b+1>>0]|0;if(!(f<<24>>24))f=d[j+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 10:case 9:case 8:case 1:case 0:case 4:{h=38;break b}case 6:{if((e|0)<3){h=35;break b}else f=3;break}case 7:{if((e|0)<4){h=37;break b}else f=4;break}default:f=2}b=b+f|0}if((h|0)==35){c[g>>2]=b;f=6;break}else if((h|0)==37){c[g>>2]=b;f=6;break}else if((h|0)==38){c[g>>2]=b;f=6;break}else if((h|0)==40){c[g>>2]=b;f=6;break}}else f=-1}else f=-4;while(0);return f|0}function QY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f-e|0;k=(k&1|0)==0?f:e+(k&-2)|0;j=b+72|0;i=0;f=e;a:while(1){h=k-f|0;if((h|0)<=1){f=-1;break}b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[j+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 8:case 1:case 0:{l=12;break a}case 5:{h=i;f=f+2|0;i=h;continue a}case 6:{if((h|0)<3){f=-2;break a}h=i;f=f+3|0;i=h;continue a}case 7:{if((h|0)<4){f=-2;break a}h=i;f=f+4|0;i=h;continue a}case 2:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=33){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}h=(a[f+5>>0]|0)==91;i=i+(h&1)|0;f=h?f+6|0:b;continue a}case 4:{b=f+2|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+3>>0]|0)!=93){h=i;f=b;i=h;continue a}b=f+4|0;if((k-b|0)<=1){f=-1;break a}if(a[b>>0]|0){h=i;f=b;i=h;continue a}if((a[f+5>>0]|0)!=62){h=i;f=b;i=h;continue a}f=f+6|0;if(!i){l=26;break a}i=i+-1|0;continue a}default:{h=i;f=f+2|0;i=h;continue a}}}if((l|0)==12){c[g>>2]=f;f=0}else if((l|0)==26){c[g>>2]=f;f=42}return f|0}function RY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=30;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 2:{i=14;break a}case 10:{i=15;break a}case 9:{i=18;break a}case 21:{i=25;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14){c[g>>2]=j;h=0;break}else if((i|0)==15)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==18){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==25)if((j|0)==(e|0)){c[g>>2]=e+2;h=39;break}else{c[g>>2]=j;h=6;break}else if((i|0)==30){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function SY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;do if(e>>>0<f>>>0){k=f;if((k-e|0)>1){l=b+72|0;j=e;a:while(1){if((k-j|0)<=1){i=29;break}h=a[j>>0]|0;i=a[j+1>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 3:{i=11;break a}case 30:{i=14;break a}case 10:{i=17;break a}case 9:{i=20;break a}case 5:{h=2;break}case 6:{h=3;break}case 7:{h=4;break}default:h=2}j=j+h|0}if((i|0)==11)if((j|0)==(e|0)){h=bZ(b,e+2|0,f,g)|0;break}else{c[g>>2]=j;h=6;break}else if((i|0)==14)if((j|0)==(e|0)){h=cZ(b,e+2|0,f,g)|0;h=(h|0)==22?0:h;break}else{c[g>>2]=j;h=6;break}else if((i|0)==17)if((j|0)==(e|0)){c[g>>2]=e+2;h=7;break}else{c[g>>2]=j;h=6;break}else if((i|0)==20){if((j|0)!=(e|0)){c[g>>2]=j;h=6;break}j=e+2|0;if((k-j|0)<=1){h=-3;break}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;c[g>>2]=(h|0)==10?e+4|0:j;h=7;break}else if((i|0)==29){c[g>>2]=j;h=6;break}}else h=-1}else h=-4;while(0);return h|0}function TY(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=d;b=c;while(1){c=a[e>>0]|0;if(!(c<<24>>24)){g=7;break}if((f-b|0)<2){b=0;break}if(a[b>>0]|0){b=0;break}if((a[b+1>>0]|0)!=c<<24>>24){b=0;break}e=e+1|0;b=b+2|0}if((g|0)==7)b=(b|0)==(d|0)&1;return b|0}function UY(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+72|0;f=c;a:while(1){b=a[f>>0]|0;e=a[f+1>>0]|0;if(!(b<<24>>24))b=d[g+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 5:{b=2;break}case 6:{b=3;break}case 7:{b=4;break}case 27:case 26:case 25:case 24:case 23:case 22:case 29:{b=2;break}default:break a}f=f+b|0}return f-c|0}function VY(b,c){b=b|0;c=c|0;var e=0,f=0;f=b+72|0;a:while(1){b=a[c>>0]|0;e=a[c+1>>0]|0;if(!(b<<24>>24))b=d[f+(e&255)>>0]|0;else b=sY(b,e)|0;switch(b|0){case 21:case 9:case 10:break;default:break a}c=c+2|0}return c|0}function WY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=b+72|0;m=0;n=0;b=1;a:while(1){l=e+2|0;h=a[l>>0]|0;j=h<<24>>24==0;i=e+3|0;k=a[i>>0]|0;if(j)h=d[o+(k&255)>>0]|0;else h=sY(h,k)|0;do switch(h|0){case 5:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 6:{if(b|0){j=b;k=n;l=m;e=i;b=j;n=k;m=l;continue a}if((n|0)>=(f|0)){k=n;l=m;b=1;e=i;n=k;m=l;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;k=n;l=m;b=1;e=i;n=k;m=l;continue a}case 7:{if(!b)if((n|0)<(f|0)){c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;b=1}else b=1;k=n;l=m;e=e+4|0;n=k;m=l;continue a}case 24:case 22:case 29:{if(b|0){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}if((n|0)>=(f|0)){j=n;k=m;b=1;e=l;n=j;m=k;continue a}c[g+(n<<4)>>2]=l;a[g+(n<<4)+12>>0]=1;j=n;k=m;b=1;e=l;n=j;m=k;continue a}case 12:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=12;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=12;b=2;e=l;n=k;continue a}if((m|0)!=12){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=12;n=n+1|0;b=0;e=l;continue a}case 13:{if((b|0)!=2){if((n|0)>=(f|0)){k=n;m=13;b=2;e=l;n=k;continue a}c[g+(n<<4)+4>>2]=e+4;k=n;m=13;b=2;e=l;n=k;continue a}if((m|0)!=13){j=n;k=m;b=2;e=l;n=j;m=k;continue a}if((n|0)<(f|0))c[g+(n<<4)+8>>2]=l;m=13;n=n+1|0;b=0;e=l;continue a}case 3:{if((n|0)>=(f|0)){i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}case 21:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}i=g+(n<<4)+12|0;if(!(a[i>>0]|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}do if(j&(l|0)!=(c[g+(n<<4)+4>>2]|0)&k<<24>>24==32){h=a[e+4>>0]|0;b=a[e+5>>0]|0;if(!(h<<24>>24)){if(b<<24>>24==32)break;b=d[o+(b&255)>>0]|0}else b=sY(h,b)|0;if((b|0)!=(m|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}}while(0);a[i>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 10:case 9:{switch(b|0){case 1:{j=n;k=m;b=0;e=l;n=j;m=k;continue a}case 2:break;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}if((n|0)>=(f|0)){j=n;k=m;b=2;e=l;n=j;m=k;continue a}a[g+(n<<4)+12>>0]=0;j=n;k=m;b=2;e=l;n=j;m=k;continue a}case 17:case 11:if((b|0)==2){j=n;k=m;b=2;e=l;n=j;m=k;continue a}else break a;default:{i=b;j=n;k=m;e=l;b=i;n=j;m=k;continue a}}while(0)}return n|0}function XY(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if(!(a[b>>0]|0))if((a[c+5>>0]|0)==120){c=c+6|0;b=0;while(1){b:while(1){if(!(a[c>>0]|0)){d=a[c+1>>0]|0;if(d<<24>>24==59){e=18;break a}d=d<<24>>24;switch(d|0){case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{e=8;break b}case 70:case 69:case 68:case 67:case 66:case 65:{e=9;break b}case 102:case 101:case 100:case 99:case 98:case 97:{e=10;break b}default:{}}}c=c+2|0}if((e|0)==8)b=d+-48|b<<4;else if((e|0)==9)b=(b<<4)+-55+d|0;else if((e|0)==10)b=(b<<4)+-87+d|0;if((b|0)<1114112)c=c+2|0;else{b=-1;e=19;break}}}else{c=b;b=0;e=13}else{d=b;b=0;c=-1;e=16}while(0);while(1)if((e|0)==13){if(a[c>>0]|0){d=c;c=-1;e=16;continue}if((a[c+1>>0]|0)==59){e=18;continue}d=c;c=a[c+1>>0]|0;e=16;continue}else if((e|0)==16){b=(b*10|0)+-48+c|0;if((b|0)>=1114112){b=-1;e=19;continue}c=d+2|0;e=13;continue}else if((e|0)==18){b=jX(b)|0;e=19;continue}else if((e|0)==19)return b|0;return 0}function YY(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){case 2:{if((a[c+2>>0]|0)==0?(a[c+3>>0]|0)==116:0){if(!(a[c>>0]|0))b=a[c+1>>0]|0;else b=-1;b=(b|0)==108?60:(b|0)==103?62:0}else e=27;break}case 3:{if((((((a[c>>0]|0)==0?(a[c+1>>0]|0)==97:0)?(a[c+2>>0]|0)==0:0)?(a[c+3>>0]|0)==109:0)?(a[c+4>>0]|0)==0:0)?(a[c+5>>0]|0)==112:0)b=38;else e=27;break}case 4:{if(!(a[c>>0]|0))switch(a[c+1>>0]|0){case 113:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=117){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==116){b=34;break a}else{e=27;break a}}case 97:{if(a[c+2>>0]|0){e=27;break a}if((a[c+3>>0]|0)!=112){e=27;break a}if(a[c+4>>0]|0){e=27;break a}if((a[c+5>>0]|0)!=111){e=27;break a}if(a[c+6>>0]|0){e=27;break a}if((a[c+7>>0]|0)==115){b=39;break a}else{e=27;break a}}default:{e=27;break a}}else e=27;break}default:e=27}while(0);if((e|0)==27)b=0;return b|0}function ZY(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=b+72|0;k=g+4|0;while(1){if((f-e|0)<=1)break;b=a[e>>0]|0;h=a[e+1>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;switch(b|0){case 5:{e=e+2|0;break}case 6:{e=e+3|0;break}case 7:{e=e+4|0;break}case 10:{c[k>>2]=-1;c[g>>2]=(c[g>>2]|0)+1;e=e+2|0;break}case 9:{c[g>>2]=(c[g>>2]|0)+1;i=e+2|0;if((f-i|0)>1){b=a[i>>0]|0;h=a[e+3>>0]|0;if(!(b<<24>>24))b=d[j+(h&255)>>0]|0;else b=sY(b,h)|0;e=(b|0)==10?e+4|0:i}else e=i;c[k>>2]=-1;break}default:e=e+2|0}c[k>>2]=(c[k>>2]|0)+1}return}function _Y(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f+-2|0;j=b+72|0;a:while(1){h=e+2|0;if((k-h|0)<=1){f=1;break}f=a[h>>0]|0;i=f<<24>>24==0;b=a[e+3>>0]|0;if(i)f=d[j+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 23:case 19:case 30:case 33:case 16:case 18:case 10:case 9:case 15:case 14:case 17:case 35:case 34:case 32:case 31:case 13:case 27:case 24:case 25:{e=h;continue a}case 21:if(i&b<<24>>24==9){l=12;break a}else{e=h;continue a}case 22:case 26:{if(!i){l=12;break a}if(b<<24>>24>=0){e=h;continue a}break}default:if(!i){l=12;break a}}switch(b<<24>>24|0){case 64:case 36:{e=h;break}default:{l=12;break a}}}if((l|0)==12){c[g>>2]=h;f=0}return f|0}function $Y(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;j=c[e>>2]|0;k=j+(f-j&-2)|0;l=k;m=h;a:while(1){if(j>>>0>=k>>>0){b=0;break}i=a[j+1>>0]|0;b=a[j>>0]|0;f=b&255;switch(b<<24>>24){case 0:{if(i<<24>>24>-1){b=c[g>>2]|0;if((b|0)==(h|0)){b=2;break a}c[g>>2]=b+1;a[b>>0]=i;b=j}else n=7;break}case 7:case 6:case 5:case 4:case 3:case 2:case 1:{n=7;break}case -37:case -38:case -39:case -40:{b=c[g>>2]|0;if((m-b|0)<4){b=2;break a}if((l-j|0)<4){b=1;break a}o=i&255;i=(f<<2&12|o>>>6)+1|0;c[g>>2]=b+1;a[b>>0]=i>>>2|240;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>2&15|i<<4&48|128;b=j+2|0;i=d[j+3>>0]|0;f=(o<<4&48|i>>>6|a[b>>0]<<2&12|128)&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=f;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=i&63|128;break}default:{b=c[g>>2]|0;if((m-b|0)<3){b=2;break a}c[g>>2]=b+1;a[b>>0]=f>>>4|224;o=i&255;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2&60|128;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}}if((n|0)==7){n=0;b=c[g>>2]|0;if((m-b|0)<2){b=2;break}o=i&255;c[g>>2]=b+1;a[b>>0]=o>>>6|f<<2|192;b=c[g>>2]|0;c[g>>2]=b+1;a[b>>0]=o&63|128;b=j}j=b+2|0}c[e>>2]=j;return b|0}function aZ(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;j=c[f>>2]|0;l=g-j&-2;e=j+l|0;if((l|0)>(i-(c[h>>2]|0)|0)){k=e+-2|0;g=(a[k>>0]&-8)<<24>>24==-40;l=g&1;e=g?k:e}else l=0;g=j;while(1){j=g>>>0<e>>>0;k=c[h>>2]|0;if(!(j&k>>>0<i>>>0))break;j=((d[g>>0]|0)<<8|(d[g+1>>0]|0))&65535;c[h>>2]=k+2;b[k>>1]=j;k=(c[f>>2]|0)+2|0;c[f>>2]=k;g=k}return ((k|0)!=(i|0)|j^1?l:2)|0}function bZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=f;j=l-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;b=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;b=0;break a}case 6:{if((j|0)<3){b=-2;break a}c[g>>2]=e;b=0;break a}case 7:{if((j|0)<4){b=-2;break a}c[g>>2]=e;b=0;break a}case 19:{b=dZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;b=0;break a}}k=b+72|0;j=e;b:while(1){i=j+2|0;e=l-i|0;if((e|0)<=1){b=-1;break a}b=a[i>>0]|0;f=a[j+3>>0]|0;if(!(b<<24>>24))h=d[k+(f&255)>>0]|0;else h=sY(b,f)|0;switch(h|0){case 27:case 26:case 25:case 24:case 22:{j=i;continue b}case 5:{f=23;break b}case 6:{f=24;break b}case 7:{f=26;break b}case 18:{f=28;break b}case 29:break;default:{f=29;break b}}e=f&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(b&255)>>0]|0)<<3)<<2)>>2])){f=22;break}else j=i}if((f|0)==22){c[g>>2]=i;b=0;break}else if((f|0)==23){c[g>>2]=i;b=0;break}else if((f|0)==24){if((e|0)<3){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==26){if((e|0)<4){b=-2;break}c[g>>2]=i;b=0;break}else if((f|0)==28){c[g>>2]=j+4;b=9;break}else if((f|0)==29){c[g>>2]=i;b=0;break}}else b=-1;while(0);return b|0}function cZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}case 30:case 9:case 10:case 21:{c[g>>2]=e;f=22;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){k=b+2|0;e=f-k|0;if((e|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))j=d[l+(i&255)>>0]|0;else j=sY(h,i)|0;switch(j|0){case 27:case 26:case 25:case 24:case 22:{b=k;continue b}case 5:{h=23;break b}case 6:{h=24;break b}case 7:{h=26;break b}case 18:{h=28;break b}case 29:break;default:{h=29;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=22;break}else b=k}if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){c[g>>2]=k;f=0;break}else if((h|0)==24){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==26){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==28){c[g>>2]=b+4;f=28;break}else if((h|0)==29){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function dZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=f;a:do if((k-e|0)>1){i=a[e>>0]|0;h=a[e+1>>0]|0;do if(!(i<<24>>24))if(h<<24>>24==120){h=eZ(b,e+2|0,f,g)|0;break a}else{h=d[b+72+(h&255)>>0]|0;break}else h=sY(i,h)|0;while(0);if((h|0)!=25){c[g>>2]=e;h=0;break}j=b+72|0;b=e;b:while(1){i=b+2|0;if((k-i|0)<=1){h=-1;break a}h=a[i>>0]|0;f=a[b+3>>0]|0;if(!(h<<24>>24))h=d[j+(f&255)>>0]|0;else h=sY(h,f)|0;switch(h|0){case 25:{b=i;break}case 18:{f=15;break b}default:{f=16;break b}}}if((f|0)==15){c[g>>2]=b+4;h=10;break}else if((f|0)==16){c[g>>2]=i;h=0;break}}else h=-1;while(0);return h|0}function eZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if((f-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;if((h&-2|0)!=24){c[g>>2]=e;f=0;break}j=b+72|0;b:while(1){i=e+2|0;if((f-i|0)<=1){f=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 25:{e=i;break}case 18:{h=13;break b}default:{h=14;break b}}}if((h|0)==13){c[g>>2]=e+4;f=10;break}else if((h|0)==14){c[g>>2]=i;f=0;break}}else f=-1;while(0);return f|0}function fZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=f;j=o-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{m=i&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;h=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;h=0;break a}case 6:{if((j|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 7:{if((j|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 16:{i=e+2|0;if((o-i|0)<=1){h=-1;break a}h=a[i>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+3>>0]|0)>>0]|0;else h=sY(h,a[e+3>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+4|0,f,g)|0;break a}case 20:{h=hZ(e+4|0,f,g)|0;break a}default:{c[g>>2]=i;h=0;break a}}}case 15:{h=iZ(b,e+2|0,f,g)|0;break a}case 17:{h=jZ(b,e+2|0,f,g)|0;break a}default:{c[g>>2]=e;h=0;break a}}m=b+72|0;l=0;h=e+2|0;b:while(1){c:while(1){i=o-h|0;if((i|0)<=1){h=-1;break a}j=a[h>>0]|0;k=a[h+1>>0]|0;if(!(j<<24>>24))e=d[m+(k&255)>>0]|0;else e=sY(j,k)|0;switch(e|0){case 5:{n=34;break b}case 6:{n=35;break b}case 7:{n=37;break b}case 10:case 9:case 21:{n=55;break b}case 11:{n=69;break b}case 17:break b;case 23:break c;case 29:{e=k&255;if(!(1<<(e&31)&c[56836+((e>>>5|d[140962+(j&255)>>0]<<3)<<2)>>2])){n=32;break b}break}case 27:case 26:case 25:case 24:case 22:break;default:{n=75;break b}}h=h+2|0}if(l|0){n=40;break}e=h+2|0;l=o-e|0;if((l|0)<=1){h=-1;break a}i=a[e>>0]|0;j=a[h+3>>0]|0;if(!(i<<24>>24))k=d[m+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{n=49;break b}case 6:{n=50;break b}case 7:{n=52;break b}case 29:{l=j&255;if(!(1<<(l&31)&c[56836+((l>>>5|d[140706+(i&255)>>0]<<3)<<2)>>2])){n=47;break b}break}case 24:case 22:break;default:{n=54;break b}}l=1;h=h+4|0}d:switch(n|0){case 32:{c[g>>2]=h;h=0;break a}case 34:{c[g>>2]=h;h=0;break a}case 35:{if((i|0)<3){h=-2;break a}c[g>>2]=h;h=0;break a}case 37:{if((i|0)<4){h=-2;break a}c[g>>2]=h;h=0;break a}case 40:{c[g>>2]=h;h=0;break a}case 47:{c[g>>2]=e;h=0;break a}case 49:{c[g>>2]=e;h=0;break a}case 50:{if((l|0)<3){h=-2;break a}c[g>>2]=e;h=0;break a}case 52:{if((l|0)<4){h=-2;break a}c[g>>2]=e;h=0;break a}case 54:{c[g>>2]=e;h=0;break a}case 55:{e:while(1){n=0;i=h+2|0;j=o-i|0;if((j|0)<=1){h=-1;break a}k=a[i>>0]|0;e=a[h+3>>0]|0;if(!(k<<24>>24))l=d[m+(e&255)>>0]|0;else l=sY(k,e)|0;switch(l|0){case 11:{h=i;n=69;break d}case 17:{h=i;break d}case 10:case 9:case 21:{h=i;n=55;break}case 29:{n=60;break e}case 24:case 22:break e;case 5:{n=63;break e}case 6:{n=64;break e}case 7:{n=66;break e}default:{n=68;break e}}}if((n|0)==60){o=e&255;if(!(1<<(o&31)&c[56836+((o>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){c[g>>2]=i;h=0;break a}}else if((n|0)==63){c[g>>2]=i;h=0;break a}else if((n|0)==64){if((j|0)<3){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==66){if((j|0)<4){h=-2;break a}c[g>>2]=i;h=0;break a}else if((n|0)==68){c[g>>2]=i;h=0;break a}h=kZ(b,h+4|0,f,g)|0;break a}case 75:{c[g>>2]=h;h=0;break a}}if((n|0)==69){c[g>>2]=h+2;h=2;break}i=h+2|0;if((o-i|0)>1){if((a[i>>0]|0)==0?(a[h+3>>0]|0)==62:0){c[g>>2]=h+4;h=4;break}c[g>>2]=i;h=0}else h=-1}else h=-1;while(0);return h|0}function gZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f;a:do if((j-e|0)>1){if((a[e>>0]|0)==0?(a[e+1>>0]|0)==45:0){i=b+72|0;h=e+2|0;b:while(1){e=j-h|0;if((e|0)<=1){f=-1;break a}f=a[h>>0]|0;b=a[h+1>>0]|0;if(!(f<<24>>24))f=d[i+(b&255)>>0]|0;else f=sY(f,b)|0;switch(f|0){case 8:case 1:case 0:{k=16;break b}case 5:{h=h+2|0;continue b}case 6:{if((e|0)<3){f=-2;break a}h=h+3|0;continue b}case 7:{if((e|0)<4){f=-2;break a}h=h+4|0;continue b}case 27:{f=h+2|0;if((j-f|0)<=1){f=-1;break a}if(a[f>>0]|0){h=f;continue b}if((a[h+3>>0]|0)==45)break b;else{h=f;continue b}}default:{h=h+2|0;continue b}}}if((k|0)==16){c[g>>2]=h;f=0;break}f=h+4|0;if((j-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[h+5>>0]|0)==62:0){c[g>>2]=h+6;f=13;break}c[g>>2]=f;f=0;break}c[g>>2]=e;f=0}else f=-1;while(0);return f|0}function hZ(b,d,e){b=b|0;d=d|0;e=e|0;if((d-b|0)>11){d=0;while(1){if((d|0)>=6){d=8;break}if(a[b>>0]|0){d=0;break}if((a[b+1>>0]|0)!=(a[141218+d>>0]|0)){d=0;break}d=d+1|0;b=b+2|0}c[e>>2]=b}else d=-1;return d|0}function iZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+16|0;p=q;o=f;i=o-e|0;a:do if((i|0)>1){j=a[e>>0]|0;if(!(j<<24>>24)){h=a[e+1>>0]|0;f=d[b+72+(h&255)>>0]|0}else{h=a[e+1>>0]|0;f=sY(j,h)|0}switch(f|0){case 29:{m=h&255;if(!(1<<(m&31)&c[56836+((m>>>5|d[140706+(j&255)>>0]<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((i|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((i|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}m=b+72|0;k=e;b:while(1){f=k+2|0;h=o-f|0;if((h|0)<=1){f=-1;break a}i=a[f>>0]|0;j=a[k+3>>0]|0;if(!(i<<24>>24))b=d[m+(j&255)>>0]|0;else b=sY(i,j)|0;switch(b|0){case 27:case 26:case 25:case 24:case 22:{k=f;continue b}case 5:{n=22;break b}case 6:{n=23;break b}case 7:{n=25;break b}case 10:case 9:case 21:{n=27;break b}case 15:{n=46;break b}case 29:break;default:break b}k=j&255;if(!(1<<(k&31)&c[56836+((k>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){n=21;break}else k=f}if((n|0)==21){c[g>>2]=f;f=0;break}else if((n|0)==22){c[g>>2]=f;f=0;break}else if((n|0)==23){if((h|0)<3){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==25){if((h|0)<4){f=-2;break}c[g>>2]=f;f=0;break}else if((n|0)==27){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}j=k+4|0;c:while(1){i=o-j|0;if((i|0)<=1){f=-1;break a}f=a[j>>0]|0;h=a[j+1>>0]|0;if(!(f<<24>>24))f=d[m+(h&255)>>0]|0;else f=sY(f,h)|0;switch(f|0){case 8:case 1:case 0:{n=40;break c}case 5:{j=j+2|0;continue c}case 6:{if((i|0)<3){f=-2;break a}j=j+3|0;continue c}case 7:{if((i|0)<4){f=-2;break a}j=j+4|0;continue c}case 15:{f=j+2|0;if((o-f|0)<=1){f=-1;break a}if(a[f>>0]|0){j=f;continue c}if((a[j+3>>0]|0)==62){n=44;break c}else{j=f;continue c}}default:{j=j+2|0;continue c}}}if((n|0)==40){c[g>>2]=j;f=0;break}else if((n|0)==44){c[g>>2]=j+4;f=c[p>>2]|0;break}}else if((n|0)==46){if(!(lZ(e,f,p)|0)){c[g>>2]=f;f=0;break}f=k+4|0;if((o-f|0)<=1){f=-1;break}if((a[f>>0]|0)==0?(a[k+5>>0]|0)==62:0){c[g>>2]=k+6;f=c[p>>2]|0;break}}c[g>>2]=f;f=0}else f=-1;while(0);l=q;return f|0}function jZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{l=i&255;if(!(1<<(l&31)&c[56836+((l>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}l=b+72|0;b=e;b:while(1){j=b+2|0;e=f-j|0;if((e|0)<=1){f=-1;break a}h=a[j>>0]|0;i=a[b+3>>0]|0;if(!(h<<24>>24))k=d[l+(i&255)>>0]|0;else k=sY(h,i)|0;switch(k|0){case 23:case 27:case 26:case 25:case 24:case 22:{b=j;continue b}case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 10:case 9:case 21:{h=27;break b}case 11:{h=34;break b}case 29:break;default:{h=35;break b}}e=i&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(h&255)>>0]|0)<<3)<<2)>>2])){h=21;break}else b=j}if((h|0)==21){c[g>>2]=j;f=0;break}else if((h|0)==22){c[g>>2]=j;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=j;f=0;break}else if((h|0)==27){c:while(1){k=j+2|0;if((f-k|0)<=1){f=-1;break a}h=a[k>>0]|0;i=a[j+3>>0]|0;if(!(h<<24>>24))h=d[l+(i&255)>>0]|0;else h=sY(h,i)|0;switch(h|0){case 10:case 9:case 21:{j=k;h=27;break}case 11:{h=32;break c}default:{h=33;break c}}}if((h|0)==32){c[g>>2]=j+4;f=5;break}else if((h|0)==33){c[g>>2]=k;f=0;break}}else if((h|0)==34){c[g>>2]=b+4;f=5;break}else if((h|0)==35){c[g>>2]=j;f=0;break}}else f=-1;while(0);return f|0}function kZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+16|0;q=s;c[q>>2]=e;r=f;o=b+72|0;h=0;a:while(1){b:while(1){m=r-e|0;if((m|0)<=1){e=-1;break a}i=a[e>>0]|0;j=a[e+1>>0]|0;if(!(i<<24>>24))k=d[o+(j&255)>>0]|0;else k=sY(i,j)|0;switch(k|0){case 5:{p=11;break a}case 6:{p=12;break a}case 7:{p=14;break a}case 23:{p=16;break b}case 10:case 9:case 21:{p=31;break b}case 14:{p=37;break b}case 29:{n=j&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140962+(i&255)>>0]<<3)<<2)>>2])){p=9;break a}break}case 27:case 26:case 25:case 24:case 22:break;default:{p=89;break a}}n=e+2|0;c[q>>2]=n;e=n}c:do if((p|0)==16){p=0;if(h|0){p=17;break a}h=e+2|0;c[q>>2]=h;i=h;j=r-i|0;if((j|0)<=1){e=-1;break a}k=a[h>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=25;break a}case 6:{p=26;break a}case 7:{p=28;break a}case 24:case 22:{h=1;break c}case 29:break;default:{p=30;break a}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=24;break a}else h=1}else if((p|0)==31)while(1){p=0;i=e+2|0;c[q>>2]=i;j=i;if((r-j|0)<=1){e=-1;break a}h=a[i>>0]|0;e=a[e+3>>0]|0;if(!(h<<24>>24))e=d[o+(e&255)>>0]|0;else e=sY(h,e)|0;switch(e|0){case 14:{e=i;p=37;break c}case 9:case 10:case 21:{e=i;p=31;break}default:{p=36;break a}}}while(0);d:do if((p|0)==37){while(1){p=0;j=e+2|0;c[q>>2]=j;k=j;if((r-k|0)<=1){e=-1;break a}h=a[j>>0]|0;i=a[e+3>>0]|0;if(!(h<<24>>24))m=d[o+(i&255)>>0]|0;else m=sY(h,i)|0;if((m|1|0)==13)break;switch(m|0){case 9:case 10:case 21:{e=j;p=37;break}default:{p=43;break a}}}e=e+4|0;c[q>>2]=e;e:while(1){j=r-e|0;if((j|0)<=1){e=-1;break a}h=a[e>>0]|0;i=a[e+1>>0]|0;if(!(h<<24>>24))h=d[o+(i&255)>>0]|0;else h=sY(h,i)|0;if((h|0)==(m|0))break;switch(h|0){case 8:case 1:case 0:{p=56;break a}case 2:{p=61;break a}case 5:{n=e+2|0;c[q>>2]=n;e=n;continue e}case 6:{if((j|0)<3){e=-2;break a}n=e+3|0;c[q>>2]=n;e=n;continue e}case 7:{if((j|0)<4){e=-2;break a}n=e+4|0;c[q>>2]=n;e=n;continue e}case 3:{e=bZ(b,e+2|0,f,q)|0;if((e|0)<1){p=59;break a}e=c[q>>2]|0;continue e}default:{n=e+2|0;c[q>>2]=n;e=n;continue e}}}i=e+2|0;c[q>>2]=i;k=i;if((r-k|0)<=1){e=-1;break a}h=a[i>>0]|0;j=a[e+3>>0]|0;if(!(h<<24>>24))h=d[o+(j&255)>>0]|0;else h=sY(h,j)|0;switch(h|0){case 11:{p=81;break a}case 17:{p=82;break a}case 10:case 9:case 21:{e=i;break}default:{p=68;break a}}f:while(1){i=e+2|0;c[q>>2]=i;h=i;j=r-h|0;if((j|0)<=1){e=-1;break a}k=a[i>>0]|0;m=a[e+3>>0]|0;if(!(k<<24>>24))n=d[o+(m&255)>>0]|0;else n=sY(k,m)|0;switch(n|0){case 5:{p=76;break a}case 6:{p=77;break a}case 7:{p=79;break a}case 11:{p=81;break a}case 17:{p=82;break a}case 24:case 22:{h=0;break d}case 10:case 9:case 21:{e=i;break}case 29:break f;default:{p=87;break a}}}n=m&255;if(!(1<<(n&31)&c[56836+((n>>>5|d[140706+(k&255)>>0]<<3)<<2)>>2])){p=75;break a}else h=0}while(0);e=e+4|0;c[q>>2]=e}switch(p|0){case 9:{c[g>>2]=e;e=0;break}case 11:{c[g>>2]=e;e=0;break}case 12:{if((m|0)<3)e=-2;else{c[g>>2]=e;e=0}break}case 14:{if((m|0)<4)e=-2;else{c[g>>2]=e;e=0}break}case 17:{c[g>>2]=e;e=0;break}case 24:{c[g>>2]=h;e=0;break}case 25:{c[g>>2]=h;e=0;break}case 26:{if((j|0)<3)e=-2;else{c[g>>2]=h;e=0}break}case 28:{if((j|0)<4)e=-2;else{c[g>>2]=h;e=0}break}case 30:{c[g>>2]=i;e=0;break}case 36:{c[g>>2]=j;e=0;break}case 43:{c[g>>2]=k;e=0;break}case 56:{c[g>>2]=e;e=0;break}case 59:{if(!e){c[g>>2]=c[q>>2];e=0}break}case 61:{c[g>>2]=e;e=0;break}case 68:{c[g>>2]=k;e=0;break}case 75:{c[g>>2]=i;e=0;break}case 76:{c[g>>2]=i;e=0;break}case 77:{if((j|0)<3)e=-2;else{c[g>>2]=i;e=0}break}case 79:{if((j|0)<4)e=-2;else{c[g>>2]=i;e=0}break}case 81:{c[g>>2]=e+4;e=1;break}case 82:{h=i+2|0;c[q>>2]=h;e=h;if((r-e|0)>1){if((a[h>>0]|0)==0?(a[i+3>>0]|0)==62:0){c[g>>2]=i+4;e=3;break}c[g>>2]=e;e=0}else e=-1;break}case 87:{c[g>>2]=h;e=0;break}case 89:{c[g>>2]=e;e=0;break}}l=s;return e|0}function lZ(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>>0]|0)==0:0){switch(a[b+1>>0]|0){case 120:{d=0;break}case 88:{d=1;break}default:{d=1;break a}}if(!(a[b+2>>0]|0)){switch(a[b+3>>0]|0){case 109:break;case 77:{d=1;break}default:{d=1;break a}}if(!(a[b+4>>0]|0)){switch(a[b+5>>0]|0){case 108:break;case 76:{d=0;break a}default:{d=1;break a}}if(!d){c[e>>2]=12;d=1}else d=0}else d=1}else d=1}else d=1;while(0);return d|0}function mZ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=e+72|0;a:while(1){b:while(1){j=g-f|0;if((j|0)<=1){f=-1;break a}e=a[f>>0]|0;i=a[f+1>>0]|0;if(!(e<<24>>24))i=d[k+(i&255)>>0]|0;else i=sY(e,i)|0;switch(i|0){case 8:case 1:case 0:{l=10;break a}case 6:{l=9;break b}case 7:{l=19;break b}case 5:{f=f+2|0;continue b}case 13:case 12:{e=f+2|0;if((i|0)==(b|0)){l=12;break a}else{f=e;continue b}}default:{f=f+2|0;continue b}}}if((l|0)==9){l=0;if((j|0)<3){f=-2;break}else{f=f+3|0;continue}}else if((l|0)==19){l=0;if((j|0)<4){f=-2;break}else{f=f+4|0;continue}}}c:do if((l|0)==10){c[h>>2]=f;f=0}else if((l|0)==12)if((g-e|0)>1){c[h>>2]=e;g=a[e>>0]|0;f=a[f+3>>0]|0;if(!(g<<24>>24))f=d[k+(f&255)>>0]|0;else f=sY(g,f)|0;switch(f|0){case 20:case 30:case 11:case 10:case 9:case 21:{f=27;break c}default:{}}f=0}else f=-27;while(0);return f|0}function nZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f;a:do if((k-e|0)>1){h=a[e>>0]|0;if(!(h<<24>>24))h=d[b+72+(d[e+1>>0]|0)>>0]|0;else h=sY(h,a[e+1>>0]|0)|0;switch(h|0){case 27:{h=gZ(b,e+2|0,f,g)|0;break a}case 20:{c[g>>2]=e+2;h=33;break a}case 24:case 22:{j=b+72|0;b:while(1){i=e+2|0;f=k-i|0;if((f|0)<=1){h=-1;break a}h=a[i>>0]|0;b=a[e+3>>0]|0;if(!(h<<24>>24))h=d[j+(b&255)>>0]|0;else h=sY(h,b)|0;switch(h|0){case 24:case 22:{e=i;break}case 30:{l=15;break b}case 10:case 9:case 21:break b;default:{l=22;break b}}}if((l|0)==22){c[g>>2]=i;h=0;break a}c:do if((l|0)==15){if((f|0)<=3){h=-1;break a}b=a[e+4>>0]|0;h=a[e+5>>0]|0;if(!(b<<24>>24))h=d[j+(h&255)>>0]|0;else h=sY(b,h)|0;switch(h|0){case 30:case 10:case 9:case 21:break;default:break c}c[g>>2]=i;h=0;break a}while(0);c[g>>2]=i;h=16;break a}default:{c[g>>2]=e;h=0;break a}}}else h=-1;while(0);return h|0}function oZ(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;j=f-e|0;a:do if((j|0)>1){k=a[e>>0]|0;if(!(k<<24>>24)){i=a[e+1>>0]|0;h=d[b+72+(i&255)>>0]|0}else{i=a[e+1>>0]|0;h=sY(k,i)|0}switch(h|0){case 29:{j=i&255;if(!(1<<(j&31)&c[56836+((j>>>5|(d[140706+(k&255)>>0]|0)<<3)<<2)>>2])){c[g>>2]=e;f=0;break a}break}case 24:case 22:break;case 5:{c[g>>2]=e;f=0;break a}case 6:{if((j|0)<3){f=-2;break a}c[g>>2]=e;f=0;break a}case 7:{if((j|0)<4){f=-2;break a}c[g>>2]=e;f=0;break a}default:{c[g>>2]=e;f=0;break a}}b=b+72|0;k=e;b:while(1){h=k;k=k+2|0;e=f-k|0;if((e|0)<=1){f=-20;break a}j=a[k>>0]|0;h=a[h+3>>0]|0;if(!(j<<24>>24))i=d[b+(h&255)>>0]|0;else i=sY(j,h)|0;switch(i|0){case 27:case 26:case 25:case 24:case 22:continue b;case 5:{h=22;break b}case 6:{h=23;break b}case 7:{h=25;break b}case 36:case 30:case 11:case 32:case 21:case 10:case 9:{h=27;break b}case 29:break;default:{h=28;break b}}e=h&255;if(!(1<<(e&31)&c[56836+((e>>>5|(d[140962+(j&255)>>0]|0)<<3)<<2)>>2])){h=21;break}}if((h|0)==21){c[g>>2]=k;f=0;break}else if((h|0)==22){c[g>>2]=k;f=0;break}else if((h|0)==23){if((e|0)<3){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==25){if((e|0)<4){f=-2;break}c[g>>2]=k;f=0;break}else if((h|0)==27){c[g>>2]=k;f=20;break}else if((h|0)==28){c[g>>2]=k;f=0;break}}else f=-1;while(0);return f|0}function pZ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;while(1){b=c[d>>2]|0;h=b>>>0<e>>>0;i=c[f>>2]|0;if(!(h&i>>>0<g>>>0))break;c[d>>2]=b+1;h=a[b>>0]|0;i=c[f>>2]|0;c[f>>2]=i+1;a[i>>0]=h}return ((i|0)!=(g|0)|h^1?0:2)|0}function qZ(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;a:while(1){f=a[b>>0]|0;g=a[c>>0]|0;f=(f+-97&255)<26?(f&255)+224&255:f;switch((f<<24>>24==((g+-97&255)<26?(g&255)+224&255:g)<<24>>24?(f<<24>>24==0?2:0):1)&3){case 0:{c=c+1|0;b=b+1|0;break}case 1:{e=3;break a}case 2:{d=1;break a}default:{e=5;break a}}}if((e|0)==3)d=0;return d|0}function rZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(36,a,b,c,d,e,f,g,h,i,j)|0}function sZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[58844+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function tZ(a,b,d,e,f,g,h,i,j,k,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+16|0;t=v+8|0;q=v+12|0;o=v+4|0;p=v;c[q>>2]=0;c[o>>2]=0;c[p>>2]=0;u=d+64|0;s=c[u>>2]|0;r=e+(s*5|0)|0;c[t>>2]=r;s=f+(0-(s<<1))|0;r=(uZ(d,r,s,o,p,q,t)|0)!=0;n=c[o>>2]|0;e=n;a:do if(r&(n|0)!=0){r=d+24|0;f=c[p>>2]|0;do if(!(ob[c[r>>2]&127](d,n,f,141258)|0)){if(!b){c[g>>2]=e;e=0;break a}}else{if(h|0)c[h>>2]=c[q>>2];if(!i)e=c[t>>2]|0;else{e=c[t>>2]|0;c[i>>2]=e}if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break a}f=c[o>>2]|0;if(f|0){e=f;n=f;f=c[p>>2]|0;break}if(!b){e=1;break a}c[g>>2]=c[t>>2];e=0;break a}while(0);if(ob[c[r>>2]&127](d,n,f,141266)|0){f=c[q>>2]|0;e=f;if((((vZ(d,f,s)|0)&-33)+-65|0)>>>0>=26){c[g>>2]=e;e=0;break}if(j|0)c[j>>2]=e;e=c[t>>2]|0;if(k|0)c[k>>2]=nb[a&63](d,f,e+(0-(c[u>>2]|0))|0)|0;if(!(uZ(d,e,s,o,p,q,t)|0)){c[g>>2]=c[t>>2];e=0;break}e=c[o>>2]|0;if(!e){e=1;break}n=e;f=c[p>>2]|0}if((b|0)!=0|(ob[c[r>>2]&127](d,n,f,141275)|0)==0){c[g>>2]=e;e=0;break}f=c[q>>2]|0;e=c[t>>2]|0;n=f;if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104631)|0)){if(!(ob[c[r>>2]&127](d,f,e+(0-(c[u>>2]|0))|0,104623)|0)){c[g>>2]=n;e=0;break}if(m)c[m>>2]=0}else if(m)c[m>>2]=1;while(1){if(!(wZ(vZ(d,e,s)|0)|0))break;e=e+(c[u>>2]|0)|0}c[t>>2]=e;if((e|0)==(s|0))e=1;else{c[g>>2]=e;e=0}}else{c[g>>2]=c[t>>2];e=0}while(0);l=v;return e|0}function uZ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;a:do if((b|0)!=(d|0)){if(!(wZ(vZ(a,b,d)|0)|0)){c[h>>2]=b;b=0;break}j=a+64|0;do b=b+(c[j>>2]|0)|0;while((wZ(vZ(a,b,d)|0)|0)!=0);if((b|0)==(d|0)){c[e>>2]=0;b=1;break}c[e>>2]=b;b:while(1){i=vZ(a,b,d)|0;switch(i|0){case -1:{i=11;break b}case 61:{i=12;break b}default:{}}if(wZ(i)|0){i=14;break}b=b+(c[j>>2]|0)|0}if((i|0)==11){c[h>>2]=b;b=0;break}else if((i|0)==12)c[f>>2]=b;else if((i|0)==14){c[f>>2]=b;do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);if((i|0)!=61){c[h>>2]=b;b=0;break}}if((b|0)==(c[e>>2]|0)){c[h>>2]=b;b=0;break}do{b=b+(c[j>>2]|0)|0;i=vZ(a,b,d)|0}while((wZ(i)|0)!=0);switch(i|0){case 34:case 39:break;default:{c[h>>2]=b;b=0;break a}}f=b+(c[j>>2]|0)|0;c[g>>2]=f;b=i<<24>>24;c:while(1){i=vZ(a,f,d)|0;if((i|0)==(b|0)){i=30;break}if((i+-48|0)>>>0>9&((i&-33)+-65|0)>>>0>25)switch(i|0){case 45:case 46:case 95:break;default:{i=28;break c}}f=f+(c[j>>2]|0)|0}if((i|0)==28){c[h>>2]=f;b=0;break}else if((i|0)==30){c[h>>2]=f+(c[j>>2]|0);b=1;break}}else{c[e>>2]=0;b=1}while(0);return b|0}function vZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+1|0)|0;l=h;return ((c[g>>2]|0)==(f|0)?-1:a[f>>0]|0)|0}function wZ(a){a=a|0;switch(a|0){case 9:case 10:case 13:case 32:{a=1;break}default:a=0}return a|0}function xZ(){return 59988}function yZ(b,d,e){b=b|0;d=d|0;e=e|0;e=IY(e)|0;if((e|0)==-1)e=0;else{a[b+69>>0]=e;c[b>>2]=69;c[b+4>>2]=70;c[b+48>>2]=31;c[b+72>>2]=d;c[d>>2]=b;e=1}return e|0}function zZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,0,b,c,d)|0}function AZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return MY(60352,a,1,b,c,d)|0}function BZ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return tZ(37,a,b,c,d,e,f,g,h,i,j)|0}function CZ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+144|0;i=h+4|0;f=h+8|0;g=h;c[i>>2]=d;c[g>>2]=f;pb[c[b+56>>2]&127](b,i,e,g,f+127|0)|0;do if((c[i>>2]|0)==(e|0)){a[c[g>>2]>>0]=0;if(qZ(f,141233)|0?(c[b+64>>2]|0)==2:0)break;b=IY(f)|0;if((b|0)!=-1)b=c[60352+(b<<2)>>2]|0;else b=0}else b=0;while(0);l=h;return b|0}function DZ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=iX(b,c,d,e)|0;if(b|0)a[b+72+58>>0]=23;return b|0}function EZ(a){a=a|0;c[a>>2]=15;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;return}function FZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{c[a>>2]=16;a=0;break}case 12:{c[a>>2]=16;a=1;break}case 11:{c[a>>2]=16;a=55;break}case 13:{c[a>>2]=16;a=56;break}case 14:{a=0;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=9;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function GZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 14:case 15:{a=0;break}case 11:{a=55;break}case 13:{a=56;break}case 16:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]<<1)|0,e,141286)|0))g=7;else{c[a>>2]=17;a=3}break}case 29:{c[a>>2]=18;a=2;break}default:g=7}if((g|0)==7)a=JZ(a,b)|0;return a|0}function HZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 41:case 18:{c[a>>2]=19;a=4;break}default:a=JZ(a,b)|0}return a|0}function IZ(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}function JZ(a,b){a=a|0;b=b|0;if((b|0)==28&(c[a+16>>2]|0)==0)a=59;else{c[a>>2]=18;a=-1}return a|0}function KZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=22;a=3;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=8;else{c[a>>2]=23;a=3}break}default:h=8}while(0);if((h|0)==8)a=JZ(a,b)|0;return a|0}function LZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case -4:case 15:{a=0;break}case 16:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141308)|0){c[a>>2]=24;a=11;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141315)|0){c[a>>2]=25;a=33;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141323)|0){c[a>>2]=26;a=39;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]<<1)|0,e,141331)|0))i=14;else{c[a>>2]=27;a=17}break}case 11:{a=55;break}case 13:{a=56;break}case 28:{a=60;break}case 26:{c[a>>2]=28;a=3;break}default:i=14}while(0);if((i|0)==14)a=JZ(a,b)|0;return a|0}function MZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;f=b+-11|0;switch(f>>>1|f<<31|0){case 2:{a=0;break}case 0:{a=55;break}case 1:{a=56;break}case 9:{c[a>>2]=18;a=2;break}default:a=JZ(a,b)|0}return a|0}function NZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=29;a=5;break}default:a=JZ(a,b)|0}return a|0}function OZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 27:{c[a>>2]=22;a=6;break}default:a=JZ(a,b)|0}return a|0}function PZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 25:{c[a>>2]=20;a=7;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function QZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 22:{c[a>>2]=30;a=11;break}case 18:{c[a>>2]=31;a=9;break}default:a=JZ(a,b)|0}return a|0}function RZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:{c[a>>2]=32;a=34;break}default:a=JZ(a,b)|0}return a|0}function SZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=33;a=40;break}default:a=JZ(a,b)|0}return a|0}function TZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 18:{c[a>>2]=34;a=18;break}default:a=JZ(a,b)|0}return a|0}function UZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=3;break}case 17:{c[a>>2]=21;a=8;break}default:a=JZ(a,b)|0}return a|0}function VZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=17;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=35;a=17;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=6;else{c[a>>2]=36;a=17}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function WZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}default:a=JZ(a,b)|0}return a|0}function XZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=38;a=21;break}default:a=JZ(a,b)|0}return a|0}function YZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=17;break}case 27:{c[a>>2]=37;c[a+8>>2]=17;a=19;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=20;break}default:a=JZ(a,b)|0}return a|0}function ZZ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=c[a+8>>2]|0;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=c[a+8>>2]|0;break}default:a=JZ(a,b)|0}return a|0}function _Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 33:{c[a>>2]=40;d=0;break}case 34:{d=a+12|0;e=c[d>>2]|0;if(!e)g=7;else{c[d>>2]=e+-1;d=0}break}case 15:{d=0;break}case 26:{g=7;break}case -4:{if(!(c[a+12>>2]|0))d=0;else g=7;break}default:d=LZ(a,b,d,e,f)|0}if((g|0)==7)d=JZ(a,b)|0;return d|0}function $Z(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=0;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141340)|0){c[a>>2]=41;a=0;break a}if(!(ob[c[g>>2]&127](f,d,e,141348)|0))h=6;else{c[a>>2]=42;a=0}break}default:h=6}while(0);if((h|0)==6)a=JZ(a,b)|0;return a|0}function a_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=a+12|0;c[a>>2]=(c[a>>2]|0)+1;a=0;break}default:a=JZ(a,b)|0}return a|0}function b_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=0;break}case 25:{c[a>>2]=39;a=58;break}default:a=JZ(a,b)|0}return a|0}function c_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=39;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141355)|0){c[a>>2]=37;c[a+8>>2]=39;a=42;break a}if(!(ob[c[g>>2]&127](f,d,e,141361)|0))h=7;else{c[a>>2]=37;c[a+8>>2]=39;a=41}break}case 23:{c[a>>2]=43;c[a+4>>2]=1;a=44;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function d_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=39;break}case 20:{if(!(ob[c[f+24>>2]&127](f,d+(c[f+64>>2]|0)|0,e,141365)|0))g=9;else{c[a>>2]=44;a=43}break}case 23:{c[a+4>>2]=2;c[a>>2]=45;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:g=9}if((g|0)==9)a=JZ(a,b)|0;return a|0}function e_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{c[a>>2]=37;c[a+8>>2]=39;a=45;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function f_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 23:{a=a+4|0;c[a>>2]=(c[a>>2]|0)+1;a=44;break}case 41:case 18:{c[a>>2]=46;a=51;break}case 30:{c[a>>2]=46;a=53;break}case 31:{c[a>>2]=46;a=52;break}case 32:{c[a>>2]=46;a=54;break}default:a=JZ(a,b)|0}return a|0}function g_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 24:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=45}else a=45;break}case 36:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=46}else a=46;break}case 35:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=47}else a=47;break}case 37:{e=a+4|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){c[a>>2]=37;c[a+8>>2]=39;a=48}else a=48;break}case 38:{c[a>>2]=45;a=50;break}case 21:{c[a>>2]=45;a=49;break}default:a=JZ(a,b)|0}return a|0}function h_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 41:case 18:{c[a>>2]=48;a=51;break}default:a=JZ(a,b)|0}return a|0}function i_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=39;break}case 36:{c[a>>2]=37;c[a+8>>2]=39;a=46;break}case 21:{c[a>>2]=47;a=39;break}default:a=JZ(a,b)|0}return a|0}function j_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=33;break}case 41:case 18:{c[a>>2]=49;a=22;break}default:a=JZ(a,b)|0}return a|0}function k_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a:do switch(b|0){case 15:{g=33;break}case 18:{h=f+24|0;g=0;while(1){i=c[h>>2]|0;if((g|0)>=8)break;if(ob[i&127](f,d,e,c[62200+(g<<2)>>2]|0)|0){j=6;break}g=g+1|0}if((j|0)==6){c[a>>2]=50;g=g+23|0;break a}if(!(ob[i&127](f,d,e,141331)|0))j=10;else{c[a>>2]=51;g=33}break}case 23:{c[a>>2]=52;g=33;break}default:j=10}while(0);if((j|0)==10)g=JZ(a,b)|0;return g|0}function l_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do switch(b|0){case 15:{a=33;break}case 20:{g=f+24|0;h=f+64|0;if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141372)|0){c[a>>2]=32;a=35;break a}if(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141380)|0){c[a>>2]=32;a=36;break a}if(!(ob[c[g>>2]&127](f,d+(c[h>>2]|0)|0,e,141389)|0))i=9;else{c[a>>2]=53;a=33}break}case 27:{c[a>>2]=32;a=37;break}default:i=9}while(0);if((i|0)==9)a=JZ(a,b)|0;return a|0}function m_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 23:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function n_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 41:case 18:case 19:{c[a>>2]=55;a=31;break}default:a=JZ(a,b)|0}return a|0}function o_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=52;a=33;break}default:a=JZ(a,b)|0}return a|0}function p_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 18:{c[a>>2]=56;a=32;break}default:a=JZ(a,b)|0}return a|0}function q_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 24:{c[a>>2]=50;a=33;break}case 21:{c[a>>2]=54;a=33;break}default:a=JZ(a,b)|0}return a|0}function r_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=33;break}case 27:{c[a>>2]=32;a=38;break}default:a=JZ(a,b)|0}return a|0}function s_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=57;a=10;break}default:a=JZ(a,b)|0}return a|0}function t_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=58;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=59;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function u_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=60;a=13;break}default:a=JZ(a,b)|0}return a|0}function v_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=58;a=14;break}default:a=JZ(a,b)|0}return a|0}function w_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}case 18:{if(!(ob[c[f+24>>2]&127](f,d,e,141443)|0))g=5;else{c[a>>2]=61;a=11}break}default:g=5}if((g|0)==5)a=JZ(a,b)|0;return a|0}function x_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 18:{c[a>>2]=37;c[a+8>>2]=11;a=16;break}default:a=JZ(a,b)|0}return a|0}function y_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do switch(b|0){case 15:{a=11;break}case 18:{g=f+24|0;if(ob[c[g>>2]&127](f,d,e,141294)|0){c[a>>2]=62;a=11;break a}if(!(ob[c[g>>2]&127](f,d,e,141301)|0))h=7;else{c[a>>2]=63;a=11}break}case 27:{c[a>>2]=37;c[a+8>>2]=11;a=12;break}default:h=7}while(0);if((h|0)==7)a=JZ(a,b)|0;return a|0}function z_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=64;a=13;break}default:a=JZ(a,b)|0}return a|0}function A_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 27:{c[a>>2]=62;a=14;break}default:a=JZ(a,b)|0}return a|0}function B_(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15:{a=11;break}case 17:{c[a>>2]=c[a+16>>2]|0?20:39;a=15;break}default:a=JZ(a,b)|0}return a|0}function C_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+16|0;p=x;do if(a>>>0<245){m=a>>>0<11?16:a+11&-8;a=m>>>3;o=c[46749]|0;d=o>>>a;if(d&3|0){b=(d&1^1)+a|0;a=187036+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[46749]=o&~(1<<b);else{c[g+12>>2]=a;c[d>>2]=g}w=b<<3;c[e+4>>2]=w|3;w=e+w+4|0;c[w>>2]=c[w>>2]|1;w=f;l=x;return w|0}n=c[46751]|0;if(m>>>0>n>>>0){if(d|0){b=2<<a;b=d<<a&(b|0-b);b=(b&0-b)+-1|0;i=b>>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=187036+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=o&~(1<<e);c[46749]=a}else{c[d+12>>2]=b;c[a>>2]=d;a=o}w=e<<3;h=w-m|0;c[g+4>>2]=m|3;f=g+m|0;c[f+4>>2]=h|1;c[g+w>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=f;w=i;l=x;return w|0}j=c[46750]|0;if(j){d=(j&0-j)+-1|0;i=d>>>12&16;d=d>>>i;h=d>>>5&8;d=d>>>h;k=d>>>2&4;d=d>>>k;e=d>>>1&2;d=d>>>e;a=d>>>1&1;a=c[187300+((h|i|k|e|a)+(d>>>a)<<2)>>2]|0;d=(c[a+4>>2]&-8)-m|0;e=c[a+16+(((c[a+16>>2]|0)==0&1)<<2)>>2]|0;if(!e){k=a;h=d}else{do{i=(c[e+4>>2]&-8)-m|0;k=i>>>0<d>>>0;d=k?i:d;a=k?e:a;e=c[e+16+(((c[e+16>>2]|0)==0&1)<<2)>>2]|0}while((e|0)!=0);k=a;h=d}i=k+m|0;if(i>>>0>k>>>0){f=c[k+24>>2]|0;b=c[k+12>>2]|0;do if((b|0)==(k|0)){a=k+20|0;b=c[a>>2]|0;if(!b){a=k+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[k+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[k+28>>2]|0;a=187300+(b<<2)|0;if((k|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[46750]=j&~(1<<b);break}}else{c[f+16+(((c[f+16>>2]|0)!=(k|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[k+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[k+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(h>>>0<16){w=h+m|0;c[k+4>>2]=w|3;w=k+w+4|0;c[w>>2]=c[w>>2]|1}else{c[k+4>>2]=m|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(n|0){e=c[46754]|0;b=n>>>3;d=187036+(b<<1<<2)|0;b=1<<b;if(!(o&b)){c[46749]=o|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[46751]=h;c[46754]=i}w=k+8|0;l=x;return w|0}else n=m}else n=m}else n=m}else if(a>>>0<=4294967231){a=a+11|0;m=a&-8;k=c[46750]|0;if(k){e=0-m|0;a=a>>>8;if(a)if(m>>>0>16777215)j=31;else{o=(a+1048320|0)>>>16&8;v=a<<o;n=(v+520192|0)>>>16&4;v=v<<n;j=(v+245760|0)>>>16&2;j=14-(n|o|j)+(v<<j>>>15)|0;j=m>>>(j+7|0)&1|j<<1}else j=0;d=c[187300+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;v=57}else{a=0;i=d;h=m<<((j|0)==31?0:25-(j>>>1)|0);d=0;while(1){f=(c[i+4>>2]&-8)-m|0;if(f>>>0<e>>>0)if(!f){e=0;d=i;a=i;v=61;break a}else{a=i;e=f}f=c[i+20>>2]|0;i=c[i+16+(h>>>31<<2)>>2]|0;d=(f|0)==0|(f|0)==(i|0)?d:f;f=(i|0)==0;if(f){v=57;break}else h=h<<((f^1)&1)}}while(0);if((v|0)==57){if((d|0)==0&(a|0)==0){a=2<<j;a=k&(a|0-a);if(!a){n=m;break}o=(a&0-a)+-1|0;i=o>>>12&16;o=o>>>i;h=o>>>5&8;o=o>>>h;j=o>>>2&4;o=o>>>j;n=o>>>1&2;o=o>>>n;d=o>>>1&1;a=0;d=c[187300+((h|i|j|n|d)+(o>>>d)<<2)>>2]|0}if(!d){i=a;h=e}else v=61}if((v|0)==61)while(1){v=0;n=(c[d+4>>2]&-8)-m|0;o=n>>>0<e>>>0;e=o?n:e;a=o?d:a;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){i=a;h=e;break}else v=61}if((i|0)!=0?h>>>0<((c[46751]|0)-m|0)>>>0:0){g=i+m|0;if(g>>>0<=i>>>0){w=0;l=x;return w|0}f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0}else{w=c[i+8>>2]|0;c[w+12>>2]=b;c[b+8>>2]=w}while(0);do if(f){a=c[i+28>>2]|0;d=187300+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=k&~(1<<a);c[46750]=e;break}}else{c[f+16+(((c[f+16>>2]|0)!=(i|0)&1)<<2)>>2]=b;if(!b){e=k;break}}c[b+24>>2]=f;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b;e=k}else e=k}else e=k;while(0);do if(h>>>0>=16){c[i+4>>2]=m|3;c[g+4>>2]=h|1;c[g+h>>2]=h;b=h>>>3;if(h>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=g;c[b+12>>2]=g;c[g+8>>2]=b;c[g+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)b=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=h>>>(b+7|0)&1|b<<1}else b=0;d=187300+(b<<2)|0;c[g+28>>2]=b;a=g+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<<b;if(!(e&a)){c[46750]=e|a;c[d>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}a=h<<((b|0)==31?0:25-(b>>>1)|0);d=c[d>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(h|0)){v=97;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=96;break}else{a=a<<1;d=b}}if((v|0)==96){c[e>>2]=g;c[g+24>>2]=d;c[g+12>>2]=g;c[g+8>>2]=g;break}else if((v|0)==97){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=g;c[v>>2]=g;c[g+8>>2]=w;c[g+12>>2]=d;c[g+24>>2]=0;break}}else{w=h+m|0;c[i+4>>2]=w|3;w=i+w+4|0;c[w>>2]=c[w>>2]|1}while(0);w=i+8|0;l=x;return w|0}else n=m}else n=m}else n=-1;while(0);d=c[46751]|0;if(d>>>0>=n>>>0){b=d-n|0;a=c[46754]|0;if(b>>>0>15){w=a+n|0;c[46754]=w;c[46751]=b;c[w+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=n|3}else{c[46751]=0;c[46754]=0;c[a+4>>2]=d|3;w=a+d+4|0;c[w>>2]=c[w>>2]|1}w=a+8|0;l=x;return w|0}i=c[46752]|0;if(i>>>0>n>>>0){u=i-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}if(!(c[46867]|0)){c[46869]=4096;c[46868]=4096;c[46870]=-1;c[46871]=-1;c[46872]=0;c[46860]=0;c[46867]=p&-16^1431655768;a=4096}else a=c[46869]|0;j=n+48|0;k=n+47|0;h=a+k|0;f=0-a|0;m=h&f;if(m>>>0<=n>>>0){w=0;l=x;return w|0}a=c[46859]|0;if(a|0?(o=c[46857]|0,p=o+m|0,p>>>0<=o>>>0|p>>>0>a>>>0):0){w=0;l=x;return w|0}b:do if(!(c[46860]&4)){d=c[46755]|0;c:do if(d){e=187444;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(s=e+4|0,(a+(c[s>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){v=118;break c}else e=a}b=h-i&f;if(b>>>0<2147483647){a=I3(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[s>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;v=135;break b}}else{e=a;v=126}}else b=0}else v=118;while(0);do if((v|0)==118){d=I3(0)|0;if((d|0)!=(-1|0)?(b=d,q=c[46868]|0,r=q+-1|0,b=((r&b|0)==0?0:(r+b&0-q)-b|0)+m|0,q=c[46857]|0,r=b+q|0,b>>>0>n>>>0&b>>>0<2147483647):0){s=c[46859]|0;if(s|0?r>>>0<=q>>>0|r>>>0>s>>>0:0){b=0;break}a=I3(b|0)|0;if((a|0)==(d|0)){h=b;g=d;v=135;break b}else{e=a;v=126}}else b=0}while(0);do if((v|0)==126){d=0-b|0;if(!(j>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;v=135;break b}a=c[46869]|0;a=k-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;v=135;break b}if((I3(a|0)|0)==(-1|0)){I3(d|0)|0;b=0;break}else{h=a+b|0;g=e;v=135;break b}}while(0);c[46860]=c[46860]|4;v=133}else{b=0;v=133}while(0);if(((v|0)==133?m>>>0<2147483647:0)?(g=I3(m|0)|0,s=I3(0)|0,t=s-g|0,u=t>>>0>(n+40|0)>>>0,!((g|0)==(-1|0)|u^1|g>>>0<s>>>0&((g|0)!=(-1|0)&(s|0)!=(-1|0))^1)):0){h=u?t:b;v=135}if((v|0)==135){b=(c[46857]|0)+h|0;c[46857]=b;if(b>>>0>(c[46858]|0)>>>0)c[46858]=b;j=c[46755]|0;do if(j){b=187444;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){v=143;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((v|0)==143?(c[b+12>>2]&8|0)==0:0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[d>>2]=e+h;w=(c[46752]|0)+h|0;u=j+8|0;u=(u&7|0)==0?0:0-u&7;v=j+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[j+w+4>>2]=40;c[46756]=c[46871];break}if(g>>>0<(c[46753]|0)>>>0)c[46753]=g;a=g+h|0;b=187444;while(1){if((c[b>>2]|0)==(a|0)){v=151;break}b=c[b+8>>2]|0;if(!b){a=187444;break}}if((v|0)==151)if(!(c[b+12>>2]&8)){c[b>>2]=g;m=b+4|0;c[m>>2]=(c[m>>2]|0)+h;m=g+8|0;m=g+((m&7|0)==0?0:0-m&7)|0;b=a+8|0;b=a+((b&7|0)==0?0:0-b&7)|0;k=m+n|0;i=b-m-n|0;c[m+4>>2]=n|3;do if((j|0)!=(b|0)){if((c[46754]|0)==(b|0)){w=(c[46751]|0)+i|0;c[46751]=w;c[46754]=k;c[k+4>>2]=w|1;c[k+w>>2]=w;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;d:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{w=c[b+8>>2]|0;c[w+12>>2]=a;c[a+8>>2]=w}while(0);if(!g)break;d=c[b+28>>2]|0;e=187300+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=a;if(!a)break d}else{c[e>>2]=a;if(a|0)break;c[46750]=c[46750]&~(1<<d);break d}while(0);c[a+24>>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;b=(w+245760|0)>>>16&2;b=14-(u|v|b)+(w<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=187300+(b<<2)|0;c[k+28>>2]=b;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[46750]|0;d=1<<b;if(!(a&d)){c[46750]=a|d;c[e>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){v=192;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=191;break}else{a=a<<1;d=b}}if((v|0)==191){c[e>>2]=k;c[k+24>>2]=d;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((v|0)==192){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=k;c[v>>2]=k;c[k+8>>2]=w;c[k+12>>2]=d;c[k+24>>2]=0;break}}else{w=(c[46752]|0)+i|0;c[46752]=w;c[46755]=k;c[k+4>>2]=w|1}while(0);w=m+8|0;l=x;return w|0}else a=187444;while(1){b=c[a>>2]|0;if(b>>>0<=j>>>0?(w=b+(c[a+4>>2]|0)|0,w>>>0>j>>>0):0)break;a=c[a+8>>2]|0}f=w+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0<f>>>0?j:a;b=a+8|0;d=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=d-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+d+4>>2]=40;c[46756]=c[46871];d=a+4|0;c[d>>2]=27;c[b>>2]=c[46861];c[b+4>>2]=c[46862];c[b+8>>2]=c[46863];c[b+12>>2]=c[46864];c[46861]=g;c[46862]=h;c[46864]=0;c[46863]=b;b=a+24|0;do{v=b;b=b+4|0;c[b>>2]=7}while((v+8|0)>>>0<w>>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{v=(b+1048320|0)>>>16&8;w=b<<v;u=(w+520192|0)>>>16&4;w=w<<u;d=(w+245760|0)>>>16&2;d=14-(u|v|d)+(w<<d>>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=187300+(d<<2)|0;c[j+28>>2]=d;c[j+20>>2]=0;c[f>>2]=0;b=c[46750]|0;a=1<<d;if(!(b&a)){c[46750]=b|a;c[e>>2]=j;c[j+24>>2]=e;c[j+12>>2]=j;c[j+8>>2]=j;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(g|0)){v=213;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){v=212;break}else{a=a<<1;d=b}}if((v|0)==212){c[e>>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}else if((v|0)==213){v=d+8|0;w=c[v>>2]|0;c[w+12>>2]=j;c[v>>2]=j;c[j+8>>2]=w;c[j+12>>2]=d;c[j+24>>2]=0;break}}}else{w=c[46753]|0;if((w|0)==0|g>>>0<w>>>0)c[46753]=g;c[46861]=g;c[46862]=h;c[46864]=0;c[46758]=c[46867];c[46757]=-1;c[46762]=187036;c[46761]=187036;c[46764]=187044;c[46763]=187044;c[46766]=187052;c[46765]=187052;c[46768]=187060;c[46767]=187060;c[46770]=187068;c[46769]=187068;c[46772]=187076;c[46771]=187076;c[46774]=187084;c[46773]=187084;c[46776]=187092;c[46775]=187092;c[46778]=187100;c[46777]=187100;c[46780]=187108;c[46779]=187108;c[46782]=187116;c[46781]=187116;c[46784]=187124;c[46783]=187124;c[46786]=187132;c[46785]=187132;c[46788]=187140;c[46787]=187140;c[46790]=187148;c[46789]=187148;c[46792]=187156;c[46791]=187156;c[46794]=187164;c[46793]=187164;c[46796]=187172;c[46795]=187172;c[46798]=187180;c[46797]=187180;c[46800]=187188;c[46799]=187188;c[46802]=187196;c[46801]=187196;c[46804]=187204;c[46803]=187204;c[46806]=187212;c[46805]=187212;c[46808]=187220;c[46807]=187220;c[46810]=187228;c[46809]=187228;c[46812]=187236;c[46811]=187236;c[46814]=187244;c[46813]=187244;c[46816]=187252;c[46815]=187252;c[46818]=187260;c[46817]=187260;c[46820]=187268;c[46819]=187268;c[46822]=187276;c[46821]=187276;c[46824]=187284;c[46823]=187284;w=h+-40|0;u=g+8|0;u=(u&7|0)==0?0:0-u&7;v=g+u|0;u=w-u|0;c[46755]=v;c[46752]=u;c[v+4>>2]=u|1;c[g+w+4>>2]=40;c[46756]=c[46871]}while(0);b=c[46752]|0;if(b>>>0>n>>>0){u=b-n|0;c[46752]=u;w=c[46755]|0;v=w+n|0;c[46755]=v;c[v+4>>2]=u|1;c[w+4>>2]=n|3;w=w+8|0;l=x;return w|0}}c[(O_()|0)>>2]=12;w=0;l=x;return w|0}function D_(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[46753]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0<f>>>0)return;if((c[46754]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[46751]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<<d);i=h;b=g;break}else{c[a+12>>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=187300+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[46750]=c[46750]&~(1<<b);i=h;b=g;break}}else{c[f+16+(((c[f+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[46755]|0)==(j|0)){j=(c[46752]|0)+b|0;c[46752]=j;c[46755]=i;c[i+4>>2]=j|1;if((i|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(j|0)){j=(c[46751]|0)+b|0;c[46751]=j;c[46754]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[46749]=c[46749]&~(1<<d);break}else{c[b+12>>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){d=j+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){d=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=187300+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[46750]=c[46750]&~(1<<a);break}}else{c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=187036+(a<<1<<2)|0;b=c[46749]|0;a=1<<a;if(!(b&a)){c[46749]=b|a;a=d;b=d+8|0}else{b=d+8|0;a=c[b>>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{h=(a+1048320|0)>>>16&8;j=a<<h;g=(j+520192|0)>>>16&4;j=j<<g;a=(j+245760|0)>>>16&2;a=14-(g|h|a)+(j<<a>>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=187300+(a<<2)|0;c[i+28>>2]=a;c[i+20>>2]=0;c[i+16>>2]=0;b=c[46750]|0;d=1<<a;do if(b&d){b=f<<((a|0)==31?0:25-(a>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){a=73;break}e=d+16+(b>>>31<<2)|0;a=c[e>>2]|0;if(!a){a=72;break}else{b=b<<1;d=a}}if((a|0)==72){c[e>>2]=i;c[i+24>>2]=d;c[i+12>>2]=i;c[i+8>>2]=i;break}else if((a|0)==73){h=d+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=d;c[i+24>>2]=0;break}}else{c[46750]=b|d;c[e>>2]=i;c[i+24>>2]=e;c[i+12>>2]=i;c[i+8>>2]=i}while(0);j=(c[46757]|0)+-1|0;c[46757]=j;if(!j)a=187452;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[46757]=-1;return}function E_(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=C_(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;H3(a|0,0,d|0)|0;return a|0}function F_(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=C_(b)|0;return b|0}if(b>>>0>4294967231){c[(O_()|0)>>2]=12;b=0;return b|0}d=G_(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=C_(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;F3(d|0,a|0,(e>>>0<b>>>0?e:b)|0)|0;D_(a);b=d;return b|0}function G_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[46869]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;H_(k,d);return a|0}if((c[46755]|0)==(i|0)){k=(c[46752]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[46755]=e;c[46752]=d;return a|0}if((c[46754]|0)==(i|0)){e=(c[46751]|0)+d|0;if(e>>>0<b>>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[46751]=d;c[46754]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0<b>>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[46749]=c[46749]&~(1<<f);break}else{c[e+12>>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){f=i+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){f=0;break}else g=f}else g=e;while(1){f=d+20|0;e=c[f>>2]|0;if(e|0){d=e;g=f;continue}e=d+16|0;f=c[e>>2]|0;if(!f)break;else{d=f;g=e}}c[g>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[46750]=c[46750]&~(1<<d);break}}else{c[h+16+(((c[h+16>>2]|0)!=(i|0)&1)<<2)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=j|m&1|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;H_(i,k);return a|0}return 0}function H_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[46754]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[46751]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[46749]=c[46749]&~(1<<e);break}else{c[a+12>>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){e=h+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){a=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=187300+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[46750]=c[46750]&~(1<<d);break}}else{c[g+16+(((c[g+16>>2]|0)!=(h|0)&1)<<2)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[46755]|0)==(i|0)){i=(c[46752]|0)+b|0;c[46752]=i;c[46755]=h;c[h+4>>2]=i|1;if((h|0)!=(c[46754]|0))return;c[46754]=0;c[46751]=0;return}if((c[46754]|0)==(i|0)){i=(c[46751]|0)+b|0;c[46751]=i;c[46754]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[46749]=c[46749]&~(1<<d);break}else{c[a+12>>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){d=i+16|0;a=d+4|0;b=c[a>>2]|0;if(!b){b=c[d>>2]|0;if(!b){d=0;break}else a=d}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=187300+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[46750]=c[46750]&~(1<<b);break}}else{c[g+16+(((c[g+16>>2]|0)!=(i|0)&1)<<2)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[46754]|0)){c[46751]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=187036+(b<<1<<2)|0;a=c[46749]|0;b=1<<b;if(!(a&b)){c[46749]=a|b;b=d;a=d+8|0}else{a=d+8|0;b=c[a>>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)b=31;else{g=(b+1048320|0)>>>16&8;i=b<<g;e=(i+520192|0)>>>16&4;i=i<<e;b=(i+245760|0)>>>16&2;b=14-(e|g|b)+(i<<b>>>15)|0;b=f>>>(b+7|0)&1|b<<1}else b=0;e=187300+(b<<2)|0;c[h+28>>2]=b;c[h+20>>2]=0;c[h+16>>2]=0;a=c[46750]|0;d=1<<b;if(!(a&d)){c[46750]=a|d;c[e>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;return}a=f<<((b|0)==31?0:25-(b>>>1)|0);d=c[e>>2]|0;while(1){if((c[d+4>>2]&-8|0)==(f|0)){b=69;break}e=d+16+(a>>>31<<2)|0;b=c[e>>2]|0;if(!b){b=68;break}else{a=a<<1;d=b}}if((b|0)==68){c[e>>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;return}else if((b|0)==69){g=d+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=d;c[h+24>>2]=0;return}}function I_(a,b){a=a|0;b=b|0;if(a>>>0<9){b=C_(b)|0;return b|0}else{b=J_(a,b)|0;return b|0}return 0}function J_(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0<a>>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(O_()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=C_(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(a+-1&d){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;H_(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;f=b+g|0;c[a>>2]=g|d&1|2;c[f+4>>2]=i|3;h=b+h+4|0;c[h>>2]=c[h>>2]|1;H_(f,i)}i=b+8|0;return i|0}function K_(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(c[a+60>>2]|0)|0;a=N_(Ja(6,d|0)|0)|0;l=b;return a|0}function L_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k;i=k+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;c[f>>2]=c[b+60>>2];c[f+4>>2]=i;c[f+8>>2]=2;f=N_(ya(145,f|0)|0)|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else c[b>>2]=c[b>>2]|f&48^16;l=k;return f|0}function M_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((N_(xa(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function N_(a){a=a|0;if(a>>>0>4294963200){c[(O_()|0)>>2]=0-a;a=-1}return a|0}function O_(){return 187492}function P_(a){a=a|0;return a|0}function Q_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=18;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Ia(54,f|0)|0):0)a[b+75>>0]=-1;f=R_(b,d,e)|0;l=g;return f|0}function R_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=N_(za(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=b+(o<<31>>31)|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=N_(za(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function S_(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ka(91,e|0)|0)|0;l=d;return b|0}function T_(){return}function U_(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=l;l=l+32|0;h=i;do if((g&4095|0)==0&(((g|0)<0)<<31>>31&-4096|0)==0){if(b>>>0>2147483646){c[(O_()|0)>>2]=12;a=-1;break}c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=d;c[h+12>>2]=e;c[h+16>>2]=f;c[h+20>>2]=g>>12;a=N_(Aa(192,h|0)|0)|0}else{c[(O_()|0)>>2]=22;a=-1}while(0);l=i;return a|0}function V_(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(W_(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=O(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function W_(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function X_(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=Ha(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}i=N_(e)|0;l=h;return i|0}function Y_(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[141449+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=141537;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=141537;else{f=141537;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return Z_(f,c[e+20>>2]|0)|0}function Z_(a,b){a=a|0;b=b|0;return __(a,b)|0}function __(a,b){a=a|0;b=b|0;if(!b)b=0;else b=$_(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function $_(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=a$(c[b+8>>2]|0,o)|0;f=a$(c[b+12>>2]|0,o)|0;g=a$(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=a$(c[b+(g<<2)>>2]|0,o)|0;g=a$(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=b$(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=a$(c[b+(f<<2)>>2]|0,o)|0;f=a$(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function a$(a,b){a=a|0;b=b|0;var c=0;c=C3(a|0)|0;return ((b|0)==0?a:c)|0}function b$(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function c$(a){a=a|0;return Y_(a,c[(d$()|0)+188>>2]|0)|0}function d$(){return e$()|0}function e$(){return 62872}function f$(a,b,c){a=+a;b=+b;c=c|0;var d=0.0,e=0.0,f=0.0;f=a*a;d=f*(f*f)*(f*1.58969099521155e-10+-2.5050760253406863e-08)+(f*(f*2.7557313707070068e-06+-1.984126982985795e-04)+.00833333333332249);e=f*a;if(!c)a=e*(f*d+-.16666666666666632)+a;else a=a-(e*.16666666666666632+(f*(b*.5-e*d)-b));return +a}function g$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;m=+h[j>>3]+-1.0;k=m*(m*.5);i=m/(m+2.0);l=i*i;g=l*l;h[j>>3]=m-k;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=m-a-k+i*(k+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));l=a*1.4426950407214463;k=+(e+(f>>>20)|0);i=l+k;a=i+(l+(k-i)+(g*1.4426950407214463+(g+a)*1.6751713164886512e-10))}return +a}function h$(a,b){a=+a;b=b|0;var d=0,e=0,f=0;h[j>>3]=a;d=c[j>>2]|0;e=c[j+4>>2]|0;f=z3(d|0,e|0,52)|0;switch(f&2047){case 0:{if(a!=0.0){a=+h$(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[j>>2]=d;c[j+4>>2]=e&-2146435073|1071644672;a=+h[j>>3]}}return +a}function i$(a,b){a=+a;b=+b;var c=0.0,d=0.0,e=0.0,f=0.0;c=a*a;d=c*c;e=c*.5;f=1.0-e;return +(f+(1.0-f-e+(c*(c*(c*(c*2.480158728947673e-05+-.001388888888887411)+.0416666666666666)+d*d*(c*(2.087572321298175e-09-c*1.1359647557788195e-11)+-2.7557314351390663e-07))-a*b)))}function j$(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;g=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;a=+h[j>>3];g=k-a-i+l*(i+(g*(g*(g*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(g*(g*(g*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=a*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(g*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function k$(a,b){a=+a;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;r=l;l=l+48|0;m=r+16|0;n=r;h[j>>3]=a;d=c[j>>2]|0;i=c[j+4>>2]|0;o=z3(d|0,i|0,63)|0;q=i&2147483647;do if(q>>>0<1074752123)if((i&1048575|0)!=598523){d=(o|0)!=0;if(q>>>0<1073928573)if(d){g=a+1.5707963267341256;k=g+6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+6.077100506506192e-11;d=-1;break}else{g=a+-1.5707963267341256;k=g+-6.077100506506192e-11;h[b>>3]=k;h[b+8>>3]=g-k+-6.077100506506192e-11;d=1;break}else if(d){g=a+3.1415926534682512;k=g+1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.2154201013012384e-10;d=-2;break}else{g=a+-3.1415926534682512;k=g+-1.2154201013012384e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.2154201013012384e-10;d=2;break}}else p=21;else{if(q>>>0<1075594812)if(q>>>0<1075183037){if((q|0)==1074977148){p=21;break}if(!o){g=a+-4.712388980202377;k=g+-1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+-1.8231301519518578e-10;d=3;break}else{g=a+4.712388980202377;k=g+1.8231301519518578e-10;h[b>>3]=k;h[b+8>>3]=g-k+1.8231301519518578e-10;d=-3;break}}else{if((q|0)==1075388923){p=21;break}if(!o){g=a+-6.2831853069365025;k=g+-2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+-2.430840202602477e-10;d=4;break}else{g=a+6.2831853069365025;k=g+2.430840202602477e-10;h[b>>3]=k;h[b+8>>3]=g-k+2.430840202602477e-10;d=-4;break}}if(q>>>0>=1094263291){if(q>>>0>2146435071){k=a-a;h[b+8>>3]=k;h[b>>3]=k;d=0;break}c[j>>2]=d;c[j+4>>2]=i&1048575|1096810496;a=+h[j>>3];d=0;do{k=+(~~a|0);h[m+(d<<3)>>3]=k;a=(a-k)*16777216.0;d=d+1|0}while((d|0)!=2);h[m+16>>3]=a;if(a==0.0){d=1;while(1)if(+h[m+(d<<3)>>3]==0.0)d=d+-1|0;else break}else d=2;d=l$(m,n,(q>>>20)+-1046|0,d+1|0,1)|0;a=+h[n>>3];if(!o){h[b>>3]=a;h[b+8>>3]=+h[n+8>>3];break}else{h[b>>3]=-a;h[b+8>>3]=-+h[n+8>>3];d=0-d|0;break}}else p=21}while(0);if((p|0)==21){g=a*.6366197723675814+6755399441055744.0+-6755399441055744.0;d=~~g;e=a-g*1.5707963267341256;f=g*6.077100506506192e-11;a=e-f;h[b>>3]=a;h[j>>3]=a;p=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;i=q>>>20;if((i-(p&2047)|0)>16){f=g*6.077100506303966e-11;k=e-f;f=g*2.0222662487959506e-21-(e-k-f);a=k-f;h[b>>3]=a;h[j>>3]=a;q=z3(c[j>>2]|0,c[j+4>>2]|0,52)|0;s=g*2.0222662487111665e-21;e=k-s;g=g*8.4784276603689e-32-(k-e-s);if((i-(q&2047)|0)>49){a=e-g;h[b>>3]=a;f=g}else e=k}h[b+8>>3]=e-a-f}l=r;return d|0}function l$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0.0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=l;l=l+560|0;C=H+480|0;z=H+320|0;G=H+160|0;E=H;D=c[63116+(f<<2)>>2]|0;p=e+-1|0;y=(d+-3|0)/24|0;y=(y|0)>0?y:0;B=O(y,-24)|0;j=d+-24+B|0;if((D+p|0)>=0){n=D+e|0;k=y-p|0;m=0;while(1){if((k|0)<0)g=0.0;else g=+(c[63132+(k<<2)>>2]|0);h[z+(m<<3)>>3]=g;m=m+1|0;if((m|0)==(n|0))break;else k=k+1|0}}o=(e|0)>0;n=0;while(1){if(o){m=n+p|0;g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(D|0))n=n+1|0;else break}t=(j|0)>0;u=24-j|0;v=23-j|0;w=(e|0)>0;x=(j|0)==0;k=D;a:while(1){g=+h[E+(k<<3)>>3];o=(k|0)>0;if(o){m=k;n=0;while(1){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(n<<2)>>2]=~~(g-i*16777216.0);s=m;m=m+-1|0;g=+h[E+(m<<3)>>3]+i;if((s|0)<=1)break;else n=n+1|0}}g=+m$(g,j);g=g-+A(+(g*.125))*8.0;m=~~g;g=g-+(m|0);do if(!t)if(!x)if(!(g>=.5)){p=0;s=m;break}else{n=2;F=20;break}else{n=c[C+(k+-1<<2)>>2]>>23;F=19;break}else{s=C+(k+-1<<2)|0;n=c[s>>2]|0;F=n>>u;n=n-(F<<u)|0;c[s>>2]=n;n=n>>v;m=F+m|0;F=19}while(0);if((F|0)==19){F=0;if((n|0)>0)F=20;else{p=n;s=m}}if((F|0)==20){F=0;s=m+1|0;if(o){m=0;r=0;do{p=C+(r<<2)|0;q=c[p>>2]|0;if(!m)if(!q)m=0;else{m=1;o=16777216;F=23}else{o=16777215;F=23}if((F|0)==23){F=0;c[p>>2]=o-q}r=r+1|0}while((r|0)!=(k|0))}else m=0;b:do if(t){switch(j|0){case 1:{o=8388607;break}case 2:{o=4194303;break}default:break b}r=C+(k+-1<<2)|0;c[r>>2]=c[r>>2]&o}while(0);if((n|0)==2){g=1.0-g;if(!m)p=2;else{p=2;g=g-+m$(1.0,j)}}else p=n}if(!(g==0.0)){F=42;break}if((k|0)>(D|0)){m=0;n=k;do{n=n+-1|0;m=c[C+(n<<2)>>2]|m}while((n|0)>(D|0));if(m){F=41;break}else m=1}else m=1;while(1)if(!(c[C+(D-m<<2)>>2]|0))m=m+1|0;else break;o=m+k|0;if((m|0)<=0){k=o;continue}while(1){n=k+1|0;m=k+e|0;h[z+(m<<3)>>3]=+(c[63132+(n+y<<2)>>2]|0);if(w){g=0.0;k=0;do{g=g+ +h[a+(k<<3)>>3]*+h[z+(m-k<<3)>>3];k=k+1|0}while((k|0)!=(e|0))}else g=0.0;h[E+(n<<3)>>3]=g;if((n|0)<(o|0))k=n;else{k=o;continue a}}}if((F|0)==41)while(1){F=0;j=j+-24|0;k=k+-1|0;if(!(c[C+(k<<2)>>2]|0))F=41;else{o=k;break}}else if((F|0)==42){g=+m$(g,0-j|0);if(g>=16777216.0){i=+(~~(g*5.9604644775390625e-08)|0);c[C+(k<<2)>>2]=~~(g-i*16777216.0);j=B+d|0;k=k+1|0;g=i}c[C+(k<<2)>>2]=~~g;o=k}g=+m$(1.0,j);n=(o|0)>-1;if(n){j=o;while(1){h[E+(j<<3)>>3]=g*+(c[C+(j<<2)>>2]|0);if((j|0)>0){g=g*5.9604644775390625e-08;j=j+-1|0}else break}if(n){k=o;while(1){m=o-k|0;j=0;g=0.0;while(1){g=g+ +h[10904+(j<<3)>>3]*+h[E+(j+k<<3)>>3];if((j|0)>=(D|0)|(j|0)>=(m|0))break;else j=j+1|0}h[G+(m<<3)>>3]=g;if((k|0)>0)k=k+-1|0;else break}}}switch(f|0){case 0:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;i=(p|0)==0?g:-g;F=72;break}case 2:case 1:{if(n){g=0.0;j=o;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)>0)j=j+-1|0;else break}}else g=0.0;k=(p|0)==0;h[b>>3]=k?g:-g;g=+h[G>>3]-g;if((o|0)>=1){j=1;while(1){g=g+ +h[G+(j<<3)>>3];if((j|0)==(o|0))break;else j=j+1|0}}i=k?g:-g;b=b+8|0;F=72;break}case 3:{if((o|0)>0){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;i=+h[E>>3];I=g;g=i+g;h[G+(F<<3)>>3]=I+(i-g);h[E>>3]=g}while((F|0)>1);k=(o|0)>1;if(k){j=o;g=+h[G+(o<<3)>>3];do{F=j;j=j+-1|0;E=G+(j<<3)|0;I=+h[E>>3];i=g;g=I+g;h[G+(F<<3)>>3]=i+(I-g);h[E>>3]=g}while((F|0)>2);if(k){j=o;i=0.0;while(1){i=i+ +h[G+(j<<3)>>3];if((j|0)>2)j=j+-1|0;else break}}else i=0.0}else i=0.0}else i=0.0;g=+h[G>>3];if(!p){h[b>>3]=g;g=+h[G+8>>3]}else{h[b>>3]=-g;i=-i;g=-+h[G+8>>3]}h[b+8>>3]=g;b=b+16|0;F=72;break}default:{}}if((F|0)==72)h[b>>3]=i;l=H;return s&7|0}function m$(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=A3(b+1023|0,0,52)|0;e=z;c[j>>2]=d;c[j+4>>2]=e;return +(a*+h[j>>3])}function n$(a){a=+a;var b=0,d=0,e=0,f=0.0,g=0.0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;do if(b>>>0>2146435071)a=a+a;else{if(b>>>0<1048576){h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;b=d&2147483647;if(!b)break;else e=696219795}else e=715094163;c[j>>2]=0;c[j+4>>2]=((b>>>0)/3|0)+e|d&-2147483648;f=+h[j>>3];g=f*f*(f/a);h[j>>3]=(g*(g*g)*(g*.14599619288661245+-.758397934778766)+(g*(g*1.6214297201053545+-1.8849797954337717)+1.87595182427177))*f;d=s3(c[j>>2]|0,c[j+4>>2]|0,-2147483648,0)|0;e=z;c[j>>2]=d&-1073741824;c[j+4>>2]=e;f=+h[j>>3];a=a/(f*f);a=(a-f)/(f+f+a)*f+f}while(0);return +a}function o$(a,b){a=+a;b=+b;var d=0,e=0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;h[j>>3]=b;d=c[j+4>>2]&-2147483648|d&2147483647;c[j>>2]=e;c[j+4>>2]=d;return +(+h[j>>3])}function p$(a,b){a=+a;b=+b;return +(+o$(a,b))}function q$(a,b){a=+a;b=b|0;return +(+m$(a,b))}function r$(a,b){a=+a;b=+b;return +(+s$(a,b))}function s$(a,b){a=+a;b=+b;var d=0,e=0,f=0,g=0,i=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h[j>>3]=a;i=c[j>>2]|0;l=c[j+4>>2]|0;h[j>>3]=b;n=c[j>>2]|0;o=c[j+4>>2]|0;e=z3(i|0,l|0,52)|0;e=e&2047;m=z3(n|0,o|0,52)|0;m=m&2047;p=l&-2147483648;g=A3(n|0,o|0,1)|0;k=z;a:do if(!((g|0)==0&(k|0)==0)?(f=t$(b)|0,d=z&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=A3(i|0,l|0,1)|0;f=z;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>g>>>0))return +((d|0)==(g|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=A3(i|0,l|0,12)|0;f=z;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=A3(d|0,f|0,1)|0;f=z}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;i=A3(i|0,l|0,1-e|0)|0;g=z}else g=l&1048575|1048576;if(!m){f=A3(n|0,o|0,12)|0;k=z;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=A3(f|0,k|0,1)|0;k=z}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=A3(n|0,o|0,1-d|0)|0;m=d;l=z}else l=o&1048575|1048576;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=i;d=g}i=A3(f|0,d|0,1)|0;g=z;e=e+-1|0;f=t3(i|0,g|0,n|0,l|0)|0;d=z;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=g;f=i}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=A3(f|0,d|0,1)|0;d=z;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=s3(f|0,d|0,0,-1048576)|0;d=z;e=A3(e|0,0,52)|0;d=d|z;e=o|e}else{e=z3(f|0,d|0,1-e|0)|0;d=z}c[j>>2]=e;c[j+4>>2]=d|p;b=+h[j>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function t$(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function u$(a,b){a=+a;b=+b;var d=0.0,e=0,f=0,g=0,i=0,k=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+32|0;m=q+24|0;n=q+16|0;o=q+8|0;p=q;h[j>>3]=a;t=c[j>>2]|0;g=c[j+4>>2]|0;h[j>>3]=b;e=c[j>>2]|0;g=g&2147483647;f=c[j+4>>2]&2147483647;i=g>>>0<f>>>0|(g|0)==(f|0)&t>>>0<e>>>0;s=i?e:t;r=i?f:g;e=i?t:e;f=i?g:f;g=z3(s|0,r|0,52)|0;i=z3(e|0,f|0,52)|0;c[j>>2]=s;c[j+4>>2]=r;a=+h[j>>3];c[j>>2]=e;c[j+4>>2]=f;k=+h[j>>3];do if((i|0)!=2047){if(!((e|0)==0&(f|0)==0|(g|0)==2047)){if((g-i|0)>64){a=a+k;break}if((g|0)>1533){d=5260135901548373507240989.0e186;b=a*1.90109156629516e-211;a=k*1.90109156629516e-211}else{t=(i|0)<573;d=t?1.90109156629516e-211:1.0;b=t?a*5260135901548373507240989.0e186:a;a=t?k*5260135901548373507240989.0e186:k}v$(m,n,b);v$(o,p,a);a=d*+C(+(+h[p>>3]+ +h[n>>3]+ +h[o>>3]+ +h[m>>3]))}}else a=k;while(0);l=q;return +a}function v$(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0.0;e=c*134217729.0;e=e+(c-e);d=c-e;c=c*c;h[a>>3]=c;h[b>>3]=d*d+(e*e-c+e*2.0*d);return}function w$(a,b,d){a=+a;b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,k=0,m=0;k=l;l=l+16|0;g=k;h[j>>3]=a;f=c[j+4>>2]&2147483647;do if(f>>>0<1072243196)if(f>>>0<1044816030){h[b>>3]=a;h[d>>3]=1.0;break}else{h[b>>3]=+f$(a,0.0,0);h[d>>3]=+i$(a,0.0);break}else{if(f>>>0>2146435071){i=a-a;h[d>>3]=i;h[b>>3]=i;break}f=k$(a,g)|0;m=g+8|0;e=+f$(+h[g>>3],+h[m>>3],1);a=+i$(+h[g>>3],+h[m>>3]);switch(f&3){case 0:{h[b>>3]=e;i=a;break}case 1:{h[b>>3]=a;i=-e;break}case 2:{h[b>>3]=-e;i=-a;break}case 3:{h[b>>3]=-a;i=e;break}default:{}}h[d>>3]=i}while(0);l=k;return}function x$(a,b){a=+a;b=b|0;return +(+h$(a,b))}function y$(a){a=a|0;if(a>>>0<131072)a=(d[143341+((d[143341+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=0;return a|0}function z$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)f=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);f=(f&255)-(d[c>>0]|0)|0}return f|0}function A$(b,c){b=b|0;c=c|0;b=V_(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function B$(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function C$(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-1,0)|0;return c|0}function D$(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else e=0;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)!=g<<24>>24){f=O(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break c}}else i=11;while(0);if((i|0)==11)if(!e){e=0;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;b=b+1|0;e=e+-1|0;if(!e){e=0;break}}}}while(0);return (e|0?b:0)|0}function E$(a){a=a|0;return (a+-48|0)>>>0<10|0}function F$(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+128|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;G$(h,0);d=H$(h,d,1,e,f)|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+108>>2]|0)-(c[g>>2]|0));l=j;return d|0}function G$(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;c[a+100>>2]=(b|0)!=0&(f|0)>(b|0)?e+b|0:d;return}function H$(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(O_()|0)>>2]=22;h=0;g=0}else{r=b+4|0;q=b+100|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while((B$(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=I$(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((i|32|0)!=120)if(j){e=8;n=46;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if((d[146510+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){G$(b,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{e=16;n=46}}else{e=j?10:e;if(e>>>0>(d[146510+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;G$(b,0);c[(O_()|0)>>2]=22;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;j=e;do{i=(i*10|0)+j|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;j=e+-48|0}while(j>>>0<10&i>>>0<429496729);f=0}else{e=i;i=0;f=0}k=e+-48|0;if(k>>>0<10){j=e;do{e=r3(i|0,f|0,10,0)|0;l=z;m=((k|0)<0)<<31>>31;o=~m;if(l>>>0>o>>>0|(l|0)==(o|0)&e>>>0>~k>>>0){e=10;n=72;break c}i=s3(e|0,l|0,k|0,m|0)|0;f=z;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=I$(b)|0;k=j+-48|0}while(k>>>0<10&(f>>>0<429496729|(f|0)==429496729&i>>>0<2576980378));if(k>>>0>9){j=p;e=f}else{e=10;n=72}}else{j=p;e=f}}else n=46;while(0);d:do if((n|0)==46){if(!(e+-1&e)){n=a[146766+((e*23|0)>>>5&7)>>0]|0;f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k|i<<n;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<134217728&e>>>0>k>>>0);k=0}else{j=i;k=0;i=0}l=z3(-1,-1,n|0)|0;m=z;if(e>>>0<=(f&255)>>>0|(m>>>0<k>>>0|(m|0)==(k|0)&l>>>0<i>>>0)){f=k;n=72;break}else j=k;while(1){i=A3(i|0,j|0,n|0)|0;k=z;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0|(k>>>0>m>>>0|(k|0)==(m|0)&i>>>0>l>>>0)){f=k;n=72;break d}else j=k}}f=a[146510+i>>0]|0;j=f&255;if(e>>>0>j>>>0){i=0;k=j;do{i=k+(O(i,e)|0)|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;k=f&255}while(i>>>0<119304647&e>>>0>k>>>0);k=0}else{j=i;i=0;k=0}if(e>>>0>(f&255)>>>0){n=w3(-1,-1,e|0,0)|0;o=z;m=k;while(1){if(m>>>0>o>>>0|(m|0)==(o|0)&i>>>0>n>>>0){f=m;n=72;break d}k=r3(i|0,m|0,e|0,0)|0;l=z;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=m;n=72;break d}i=s3(k|0,l|0,f|0,0)|0;k=z;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=I$(b)|0;f=a[146510+j>>0]|0;if(e>>>0<=(f&255)>>>0){f=k;n=72;break}else m=k}}else{f=k;n=72}}while(0);if((n|0)==72)if(e>>>0>(d[146510+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0}while(e>>>0>(d[146510+i>>0]|0)>>>0);c[(O_()|0)>>2]=34;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else{j=p;e=f}if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0<h>>>0|(e|0)==(h|0)&i>>>0<g>>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(O_()|0)>>2]=34;g=s3(g|0,h|0,-1,-1)|0;h=z;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(O_()|0)>>2]=34;break}}g=((j|0)<0)<<31>>31;g=t3(i^j|0,e^g|0,j|0,g|0)|0;h=z}while(0);z=h;return g|0}function I$(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=b+104|0;h=c[f>>2]|0;if((h|0)!=0?(c[b+108>>2]|0)>=(h|0):0)i=4;else{e=J$(b)|0;if((e|0)>=0){g=c[f>>2]|0;f=b+8|0;if(g){j=c[f>>2]|0;h=c[b+4>>2]|0;f=g-(c[b+108>>2]|0)|0;g=j;if((j-h|0)<(f|0))f=g;else f=h+(f+-1)|0}else{g=c[f>>2]|0;f=g}c[b+100>>2]=f;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;j=b+108|0;c[j>>2]=g+1-f+(c[j>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else i=4}if((i|0)==4){c[b+100>>2]=0;e=-1}return e|0}function J$(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;if((K$(a)|0)==0?(nb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;l=e;return a|0}function K$(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)nb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function L$(a){a=a|0;return (a+-48|0)>>>0<10|0}function M$(a){a=a|0;if(!(N$(a)|0))a=(E$(a)|0)!=0&1;else a=1;return a|0}function N$(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function O$(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;e=a[b>>0]|0;a:do if(!(e<<24>>24))b=0;else{g=b;b=e;f=e&255;while(1){e=a[c>>0]|0;if(!(e<<24>>24))break a;if(b<<24>>24!=e<<24>>24?(f=P$(f)|0,(f|0)!=(P$(d[c>>0]|0)|0)):0)break;b=g+1|0;c=c+1|0;e=a[b>>0]|0;if(!(e<<24>>24)){b=0;break a}else{g=b;b=e;f=e&255}}b=a[g>>0]|0}while(0);g=P$(b&255)|0;return g-(P$(d[c>>0]|0)|0)|0}function P$(a){a=a|0;var b=0;b=(Q$(a)|0)==0;return (b?a:a|32)|0}function Q$(a){a=a|0;return (a+-65|0)>>>0<26|0}function R$(a){a=a|0;return S$(a,0)|0}function S$(c,f){c=c|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=(f<<1)+-1|0;l=f+-1|0;a:do if(!((c+-43008|0)>>>0<22272|((c+-11776|0)>>>0<30784|((c+-1536|0)>>>0<2560|(T$(c)|0)==0)))){g=(f|0)!=0;if(g&(c+-4256|0)>>>0<46){if((c|0)>4293)switch(c|0){case 4295:case 4301:break;default:break a}c=c+7264|0;break}if((c+-11520|0)>>>0<38&(g^1)){c=c+-7264|0;break}else g=0;do{i=a[66242+(g<<2)+2>>0]|0;j=i<<24>>24;h=c-(e[66242+(g<<2)>>1]|0)|0;if((h-(l&j)|0)>>>0<(d[66242+(g<<2)+3>>0]|0)>>>0){m=11;break}g=g+1|0}while((g|0)!=61);if((m|0)==11)if(i<<24>>24==1){c=f+c-(h&1)|0;break}else{c=(O(k,j)|0)+c|0;break}i=1-f|0;g=b[65754+(i<<1)>>1]|0;b:do if(g<<16>>16){h=0;while(1){if((g&65535|0)==(c|0))break;h=h+1|0;g=b[65754+(h<<2)+(i<<1)>>1]|0;if(!(g<<16>>16))break b}c=e[65754+(h<<2)+(f<<1)>>1]|0;break a}while(0);return ((c+-66600+(f*40|0)|0)>>>0<40?c+-40+(f*80|0)|0:c)|0}while(0);return c|0}function T$(a){a=a|0;if(a>>>0<131072)a=(d[146775+((d[146775+(a>>>8)>>0]|0)<<5|a>>>3&31)>>0]|0)>>>(a&7)&1;else a=a>>>0<196606&1;return a|0}function U$(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function V$(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;if(!e)b=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))b=0;else{h=b;b=f;f=f&255;while(1){e=e+-1|0;g=a[c>>0]|0;if(!((e|0)!=0&g<<24>>24!=0))break a;if(b<<24>>24!=g<<24>>24?(g=P$(f)|0,(g|0)!=(P$(d[c>>0]|0)|0)):0)break;b=h+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){b=0;break a}else{h=b;b=f;f=f&255}}b=a[h>>0]|0}while(0);b=P$(b&255)|0;b=b-(P$(d[c>>0]|0)|0)|0}return b|0}function W$(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|(a+-8234|0)>>>0<47062))a=1;else return (a&65534|0)!=65534&(a+-65532|0)>>>0<1048580&1|0;else a=(a+1&127)>>>0>32&1;return a|0}function X$(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;g=k;i=(f|0)==0?187560:f;f=c[i>>2]|0;a:do if(!d)if(!f)f=0;else j=17;else{h=(b|0)==0?g:b;if(!e)f=-2;else{if(!f){f=a[d>>0]|0;if(f<<24>>24>-1){c[h>>2]=f&255;f=f<<24>>24!=0&1;break}g=(c[c[($$()|0)+188>>2]>>2]|0)==0;f=a[d>>0]|0;if(g){c[h>>2]=f<<24>>24&57343;f=1;break}f=(f&255)+-194|0;if(f>>>0>50){j=17;break}f=c[62280+(f<<2)>>2]|0;g=e+-1|0;if(g){d=d+1|0;j=11}}else{g=e;j=11}b:do if((j|0)==11){b=a[d>>0]|0;m=(b&255)>>>3;if((m+-16|m+(f>>26))>>>0>7){j=17;break a}while(1){d=d+1|0;f=(b&255)+-128|f<<6;g=g+-1|0;if((f|0)>=0)break;if(!g)break b;b=a[d>>0]|0;if((b&-64)<<24>>24!=-128){j=17;break a}}c[i>>2]=0;c[h>>2]=f;f=e-g|0;break a}while(0);c[i>>2]=f;f=-2}}while(0);if((j|0)==17){c[i>>2]=0;c[(O_()|0)>>2]=84;f=-1}l=k;return f|0}function Y$(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Z$(a,b,0)|0;return a|0}function Z$(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(_$()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(O_()|0)>>2]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(O_()|0)>>2]=84;b=-1;break}}else b=1;while(0);return b|0}function _$(){return e$()|0}function $$(){return e$()|0}function a0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+272|0;n=p+8|0;o=p;do if(!(a[d>>0]|0)){d=Ta(149751)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149758+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ta(149830)|0;if(d|0?a[d>>0]|0:0)break;d=149835}while(0);e=0;a:do{switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0}while(e>>>0<15);f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)m=15;else{k=d;m=16}else{d=149835;m=15}if((m|0)==15)if(!(a[d+1>>0]|0))m=18;else{k=d;m=16}b:do if((m|0)==16)if((b$(k,149835)|0)!=0?(b$(k,149843)|0)!=0:0){d=c[46891]|0;if(d|0)do{if(!(b$(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);ta(187568);d=c[46891]|0;c:do if(d|0){while(1){if(!(b$(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}La(187568);break b}while(0);d:do if(((c[46876]|0)==0?(g=Ta(149849)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=V_(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0<i>>>0){F3(n|0,f|0,g|0)|0;f=n+g|0;a[f>>0]=47;F3(f+1|0,k|0,e|0)|0;a[n+(j+g)>>0]=0;f=ua(n|0,o|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){m=41;break d}}d=C_(28)|0;if(!d){S_(f,c[o>>2]|0)|0;m=41;break}else{c[d>>2]=f;c[d+4>>2]=c[o>>2];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d;break}}else m=41;while(0);if((m|0)==41){d=C_(28)|0;if(d){c[d>>2]=c[15558];c[d+4>>2]=c[15559];o=d+8|0;F3(o|0,k|0,e|0)|0;a[o+e>>0]=0;c[d+24>>2]=c[46891];c[46891]=d}}La(187568);d=(b|0)==0&(d|0)==0?62232:d}else{d=k;m=18}while(0);do if((m|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=62232;break}d=0}while(0);l=p;return d|0}function b0(a,b){a=a|0;b=b|0;c0(a,b)|0;return a|0}function c0(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function d0(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function e0(a){a=a|0;if(!a)a=0;else a=(f0(63396,a)|0)!=0&1;return a|0}function f0(a,b){a=a|0;b=b|0;var d=0;if(!b)a=a+((U$(a)|0)<<2)|0;else{while(1){d=c[a>>2]|0;if((d|0)==0|(d|0)==(b|0))break;else a=a+4|0}a=d|0?a:0}return a|0}function g0(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{a=h0(a)|0;break}case 2:{a=T$(a)|0;break}case 3:{a=i0(a)|0;break}case 4:{a=j0(a)|0;break}case 5:{a=L$(a)|0;break}case 6:{a=k0(a)|0;break}case 7:{a=l0(a)|0;break}case 8:{a=W$(a)|0;break}case 9:{a=y$(a)|0;break}case 10:{a=e0(a)|0;break}case 11:{a=m0(a)|0;break}case 12:{a=n0(a)|0;break}default:a=0}while(0);return a|0}function h0(a){a=a|0;if(!(L$(a)|0))a=(T$(a)|0)!=0&1;else a=1;return a|0}function i0(a){a=a|0;return d0(a)|0}function j0(a){a=a|0;return ((a+-65529|0)>>>0<3|((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33)))&1|0}function k0(a){a=a|0;if(!(e0(a)|0))a=(W$(a)|0)!=0&1;else a=0;return a|0}function l0(a){a=a|0;return (R$(a)|0)!=(a|0)|0}function m0(a){a=a|0;return (o0(a)|0)!=(a|0)|0}function n0(a){a=a|0;return ((a+-48|0)>>>0<10|((a|32)+-97|0)>>>0<6)&1|0}function o0(a){a=a|0;return S$(a,1)|0}function p0(a){a=a|0;return (a+-97|0)>>>0<26|0}function q0(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;g=n+124|0;m=n;h=m;i=63484;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;k=4}else{c[(O_()|0)>>2]=75;d=-1}else k=4;if((k|0)==4){k=-2-b|0;k=d>>>0>k>>>0?k:d;c[m+48>>2]=k;g=m+20|0;c[g>>2]=b;c[m+44>>2]=b;d=b+k|0;b=m+16|0;c[b>>2]=d;c[m+28>>2]=d;d=r0(m,e,f)|0;if(k){m=c[g>>2]|0;a[m+(((m|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}l=n;return d|0}function r0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+120|0;p=s+80|0;q=s;r=s+136|0;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[n>>2]=c[e>>2];if((s0(0,d,n,q,p)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=t0(b)|0;else o=0;e=c[b>>2]|0;m=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;f=b+48|0;if(!(c[f>>2]|0)){g=b+44|0;h=c[g>>2]|0;c[g>>2]=r;i=b+28|0;c[i>>2]=r;j=b+20|0;c[j>>2]=r;c[f>>2]=80;k=b+16|0;c[k>>2]=r+80;e=s0(b,d,n,q,p)|0;if(h){nb[c[b+36>>2]&63](b,0,0)|0;e=(c[j>>2]|0)==0?-1:e;c[g>>2]=h;c[f>>2]=0;c[k>>2]=0;c[i>>2]=0;c[j>>2]=0}}else e=s0(b,d,n,q,p)|0;f=c[b>>2]|0;c[b>>2]=f|m;if(o|0)u0(b);e=(f&32|0)==0?e:-1}l=s;return e|0}function s0(d,e,f,g,i){d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+64|0;D=I+16|0;E=I;A=I+24|0;G=I+8|0;H=I+20|0;c[D>>2]=e;w=(d|0)!=0;x=A+40|0;y=x;A=A+39|0;B=G+4|0;j=0;e=0;m=0;a:while(1){do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[(O_()|0)>>2]=75;e=-1;break}else{e=j+e|0;break}while(0);r=c[D>>2]|0;j=a[r>>0]|0;if(!(j<<24>>24)){v=88;break}else k=r;b:while(1){switch(j<<24>>24){case 37:{j=k;v=9;break b}case 0:{j=k;break b}default:{}}u=k+1|0;c[D>>2]=u;j=a[u>>0]|0;k=u}c:do if((v|0)==9)while(1){v=0;if((a[k+1>>0]|0)!=37)break c;j=j+1|0;k=k+2|0;c[D>>2]=k;if((a[k>>0]|0)!=37)break;else v=9}while(0);j=j-r|0;if(w)v0(d,r,j);if(j|0)continue;u=(E$(a[(c[D>>2]|0)+1>>0]|0)|0)==0;k=c[D>>2]|0;if(!u?(a[k+2>>0]|0)==36:0){s=(a[k+1>>0]|0)+-48|0;n=1;j=3}else{s=-1;n=m;j=1}j=k+j|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0;if(u>>>0>31|(1<<u&75913|0)==0)m=0;else{m=0;do{m=1<<(k<<24>>24)+-32|m;j=j+1|0;c[D>>2]=j;k=a[j>>0]|0;u=(k<<24>>24)+-32|0}while(!(u>>>0>31|(1<<u&75913|0)==0))}if(k<<24>>24==42){if((E$(a[j+1>>0]|0)|0)!=0?(F=c[D>>2]|0,(a[F+2>>0]|0)==36):0){j=F+1|0;c[i+((a[j>>0]|0)+-48<<2)>>2]=10;j=c[g+((a[j>>0]|0)+-48<<3)>>2]|0;k=1;n=F+3|0}else{if(n|0){e=-1;break}if(w){u=(c[f>>2]|0)+(4-1)&~(4-1);j=c[u>>2]|0;c[f>>2]=u+4}else j=0;k=0;n=(c[D>>2]|0)+1|0}c[D>>2]=n;t=(j|0)<0;u=t?0-j|0:j;m=t?m|8192:m;t=k;j=n}else{j=w0(D)|0;if((j|0)<0){e=-1;break}u=j;t=n;j=c[D>>2]|0}do if((a[j>>0]|0)==46){if((a[j+1>>0]|0)!=42){c[D>>2]=j+1;p=w0(D)|0;j=c[D>>2]|0;break}if(E$(a[j+2>>0]|0)|0?(C=c[D>>2]|0,(a[C+3>>0]|0)==36):0){p=C+2|0;c[i+((a[p>>0]|0)+-48<<2)>>2]=10;p=c[g+((a[p>>0]|0)+-48<<3)>>2]|0;j=C+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(w){q=(c[f>>2]|0)+(4-1)&~(4-1);j=c[q>>2]|0;c[f>>2]=q+4}else j=0;q=(c[D>>2]|0)+2|0;c[D>>2]=q;p=j;j=q}else p=-1;while(0);q=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j;j=j+1|0;c[D>>2]=j;k=a[(a[k>>0]|0)+-65+(149862+(q*58|0))>>0]|0;n=k&255;if((n+-1|0)>>>0>=8)break;else q=n}if(!(k<<24>>24)){e=-1;break}o=(s|0)>-1;do if(k<<24>>24==19)if(o){e=-1;break a}else v=50;else{if(o){c[i+(s<<2)>>2]=n;o=g+(s<<3)|0;s=c[o+4>>2]|0;v=E;c[v>>2]=c[o>>2];c[v+4>>2]=s;v=50;break}if(!w){e=0;break a}x0(E,n,f);j=c[D>>2]|0}while(0);if((v|0)==50){v=0;if(!w){j=0;m=t;continue}}k=a[j+-1>>0]|0;k=(q|0)!=0&(k&15|0)==3?k&-33:k;j=m&-65537;s=(m&8192|0)==0?m:j;d:do switch(k|0){case 110:switch((q&255)<<24>>24){case 0:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 1:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 2:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}case 3:{b[c[E>>2]>>1]=e;j=0;m=t;continue a}case 4:{a[c[E>>2]>>0]=e;j=0;m=t;continue a}case 6:{c[c[E>>2]>>2]=e;j=0;m=t;continue a}case 7:{j=c[E>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;m=t;continue a}default:{j=0;m=t;continue a}}case 112:{k=120;j=p>>>0>8?p:8;m=s|8;v=62;break}case 88:case 120:{j=p;m=s;v=62;break}case 111:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;o=z0(j,k,x)|0;m=y-o|0;q=0;n=150326;p=(s&8|0)==0|(p|0)>(m|0)?p:m+1|0;m=s;v=68;break}case 105:case 100:{k=E;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=t3(0,0,j|0,k|0)|0;k=z;m=E;c[m>>2]=j;c[m+4>>2]=k;m=1;n=150326;v=67;break d}else{m=(s&2049|0)!=0&1;n=(s&2048|0)==0?((s&1|0)==0?150326:150328):150327;v=67;break d}}case 117:{k=E;m=0;n=150326;j=c[k>>2]|0;k=c[k+4>>2]|0;v=67;break}case 99:{a[A>>0]=c[E>>2];r=A;q=0;n=150326;o=x;k=1;break}case 109:{k=c$(c[(O_()|0)>>2]|0)|0;v=72;break}case 115:{k=c[E>>2]|0;k=k|0?k:150336;v=72;break}case 67:{c[G>>2]=c[E>>2];c[B>>2]=0;c[E>>2]=G;p=-1;m=G;v=76;break}case 83:{j=c[E>>2]|0;if(!p){B0(d,32,u,0,s);j=0;v=85}else{m=j;v=76}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=C0(d,+h[E>>3],u,p,s,k)|0;m=t;continue a}default:{q=0;n=150326;o=x;k=p;j=s}}while(0);e:do if((v|0)==62){s=E;r=c[s>>2]|0;s=c[s+4>>2]|0;o=y0(r,s,x,k&32)|0;n=(m&8|0)==0|(r|0)==0&(s|0)==0;q=n?0:2;n=n?150326:150326+(k>>4)|0;p=j;j=r;k=s;v=68}else if((v|0)==67){o=A0(j,k,x)|0;q=m;m=s;v=68}else if((v|0)==72){v=0;s=D$(k,0,p)|0;m=(s|0)==0;r=k;q=0;n=150326;o=m?k+p|0:s;k=m?p:s-k|0}else if((v|0)==76){v=0;o=m;j=0;k=0;while(1){n=c[o>>2]|0;if(!n)break;k=Y$(H,n)|0;if((k|0)<0|k>>>0>(p-j|0)>>>0)break;j=k+j|0;if(p>>>0>j>>>0)o=o+4|0;else break}if((k|0)<0){e=-1;break a}B0(d,32,u,j,s);if(!j){j=0;v=85}else{n=0;while(1){k=c[m>>2]|0;if(!k){v=85;break e}k=Y$(H,k)|0;n=k+n|0;if((n|0)>(j|0)){v=85;break e}v0(d,H,k);if(n>>>0>=j>>>0){v=85;break}else m=m+4|0}}}while(0);if((v|0)==68){v=0;k=(j|0)!=0|(k|0)!=0;j=(p|0)!=0|k;k=y-o+((k^1)&1)|0;r=j?o:x;o=x;k=j?((p|0)>(k|0)?p:k):p;j=(p|0)>-1?m&-65537:m}else if((v|0)==85){v=0;B0(d,32,u,j,s^8192);j=(u|0)>(j|0)?u:j;m=t;continue}p=o-r|0;o=(k|0)<(p|0)?p:k;s=o+q|0;m=(u|0)<(s|0)?s:u;B0(d,32,m,s,j);v0(d,n,q);B0(d,48,m,s,j^65536);B0(d,48,o,p,0);v0(d,r,p);B0(d,32,m,s,j^8192);j=m;m=t}f:do if((v|0)==88)if(!d)if(m){e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;x0(g+(e<<3)|0,j,f);j=e+1|0;if((e|0)<9)e=j;else{e=j;break}}if((e|0)<10)while(1){if(c[i+(e<<2)>>2]|0){e=-1;break f}if((e|0)<9)e=e+1|0;else{e=1;break}}else e=1}else e=0;while(0);l=I;return e|0}function t0(a){a=a|0;return 0}function u0(a){a=a|0;return}function v0(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))E0(b,d,a)|0;return}function w0(b){b=b|0;var d=0,e=0;if(!(E$(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((E$(a[e>>0]|0)|0)!=0)}return d|0}function x0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[d>>2]=f+8;h[a>>3]=g;break a}default:break a}while(0);while(0);return}function y0(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[150374+(b&15)>>0]|0|f;b=z3(b|0,c|0,4)|0;c=z}while(!((b|0)==0&(c|0)==0));return e|0}function z0(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=z3(b|0,c|0,3)|0;c=z}while(!((b|0)==0&(c|0)==0));return d|0}function A0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){while(1){e=x3(b|0,c|0,10,0)|0;d=d+-1|0;a[d>>0]=e&255|48;e=b;b=w3(b|0,c|0,10,0)|0;if(!(c>>>0>9|(c|0)==9&e>>>0>4294967295))break;else c=z}c=b}else c=b;if(c)while(1){d=d+-1|0;a[d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}return d|0}function B0(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;H3(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{v0(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}v0(a,f,e)}l=g;return}function C0(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+560|0;m=H+8|0;u=H;G=H+524|0;F=G;n=H+512|0;c[u>>2]=0;E=n+12|0;D0(e)|0;if((z|0)<0){e=-e;C=1;B=150343}else{C=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?150344:150349):150346}D0(e)|0;do if(0==0&(z&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;B0(b,32,f,j,h&-65537);v0(b,B,C);v0(b,e!=e|0.0!=0.0?(G?150511:150370):G?150362:150366,3);B0(b,32,f,j,h^8192)}else{r=+x$(e,u)*2.0;j=r!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;w=i|32;if((w|0)==97){p=i&32;s=(p|0)==0?B:B+9|0;q=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[s>>0]|0)==45){e=-(e+(-r-e));break}else{e=r+e-e;break}}else e=r;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=A0(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=n+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;o=j+-2|0;a[o>>0]=i+15;m=(g|0)<1;n=(h&8|0)==0;j=G;do{D=~~e;k=j+1|0;a[j>>0]=p|d[150374+D>>0];e=(e-+(D|0))*16.0;if((k-F|0)==1?!(n&(m&e==0.0)):0){a[k>>0]=46;j=j+2|0}else j=k}while(e!=0.0);if((g|0)!=0?(-2-F+j|0)<(g|0):0){k=j-F|0;j=g+2|0}else{j=j-F|0;k=j}E=E-o|0;F=E+q+j|0;B0(b,32,f,F,h);v0(b,s,q);B0(b,48,f,F,h^65536);v0(b,G,k);B0(b,48,j-k|0,0,0);v0(b,o,E);B0(b,32,f,F,h^8192);j=F;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=r*268435456.0}else{e=r;j=c[u>>2]|0}D=(j|0)<0?m:m+288|0;m=D;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);if((j|0)>0){n=D;p=m;while(1){o=(j|0)<29?j:29;j=p+-4|0;if(j>>>0>=n>>>0){m=0;do{x=A3(c[j>>2]|0,0,o|0)|0;x=s3(x|0,z|0,m|0,0)|0;y=z;v=x3(x|0,y|0,1e9,0)|0;c[j>>2]=v;m=w3(x|0,y|0,1e9,0)|0;j=j+-4|0}while(j>>>0>=n>>>0);if(m){n=n+-4|0;c[n>>2]=m}}m=p;while(1){if(m>>>0<=n>>>0)break;j=m+-4|0;if(!(c[j>>2]|0))m=j;else break}j=(c[u>>2]|0)-o|0;c[u>>2]=j;if((j|0)>0)p=m;else break}}else n=D;if((j|0)<0){g=((k+25|0)/9|0)+1|0;t=(w|0)==102;do{s=0-j|0;s=(s|0)<9?s:9;if(n>>>0<m>>>0){o=(1<<s)+-1|0;p=1e9>>>s;q=0;j=n;do{y=c[j>>2]|0;c[j>>2]=(y>>>s)+q;q=O(y&o,p)|0;j=j+4|0}while(j>>>0<m>>>0);j=(c[n>>2]|0)==0?n+4|0:n;if(!q){n=j;j=m}else{c[m>>2]=q;n=j;j=m+4|0}}else{n=(c[n>>2]|0)==0?n+4|0:n;j=m}m=t?D:n;m=(j-m>>2|0)>(g|0)?m+(g<<2)|0:j;j=(c[u>>2]|0)+s|0;c[u>>2]=j}while((j|0)<0);j=n;g=m}else{j=n;g=m}y=D;if(j>>>0<g>>>0){m=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;m=m+1|0}while(o>>>0>=n>>>0)}}else m=0;t=(w|0)==103;v=(k|0)!=0;n=k-((w|0)!=102?m:0)+((v&t)<<31>>31)|0;if((n|0)<(((g-y>>2)*9|0)+-9|0)){n=n+9216|0;s=D+4+(((n|0)/9|0)+-1024<<2)|0;n=(n|0)%9|0;if((n|0)<8){o=10;while(1){o=o*10|0;if((n|0)<7)n=n+1|0;else break}}else o=10;p=c[s>>2]|0;q=(p>>>0)%(o>>>0)|0;n=(s+4|0)==(g|0);if(!(n&(q|0)==0)){r=(((p>>>0)/(o>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;x=(o|0)/2|0;e=q>>>0<x>>>0?.5:n&(q|0)==(x|0)?1.0:1.5;if(C){x=(a[B>>0]|0)==45;e=x?-e:e;r=x?-r:r}n=p-q|0;c[s>>2]=n;if(r+e!=r){x=n+o|0;c[s>>2]=x;if(x>>>0>999999999){m=s;while(1){n=m+-4|0;c[m>>2]=0;if(n>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[n>>2]|0)+1|0;c[n>>2]=x;if(x>>>0>999999999)m=n;else break}}else n=s;m=(y-j>>2)*9|0;p=c[j>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;m=m+1|0}while(p>>>0>=o>>>0)}}else n=s}else n=s;n=n+4|0;n=g>>>0>n>>>0?n:g;x=j}else{n=g;x=j}w=n;while(1){if(w>>>0<=x>>>0){u=0;break}j=w+-4|0;if(!(c[j>>2]|0))w=j;else{u=1;break}}g=0-m|0;do if(t){j=k+((v^1)&1)|0;if((j|0)>(m|0)&(m|0)>-5){o=i+-1|0;k=j+-1-m|0}else{o=i+-2|0;k=j+-1|0}j=h&8;if(!j){if(u?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){n=0;j=10;do{j=j*10|0;n=n+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else n=0;else n=9;j=((w-y>>2)*9|0)+-9|0;if((o|32|0)==102){s=j-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}else{s=j+m-n|0;s=(s|0)>0?s:0;k=(k|0)<(s|0)?k:s;s=0;break}}else s=j}else{o=i;s=h&8}while(0);t=k|s;p=(t|0)!=0&1;q=(o|32|0)==102;if(q){v=0;j=(m|0)>0?m:0}else{j=(m|0)<0?g:m;j=A0(j,((j|0)<0)<<31>>31,E)|0;n=E;if((n-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((n-j|0)<2);a[j+-1>>0]=(m>>31&2)+43;j=j+-2|0;a[j>>0]=o;v=j;j=n-j|0}j=C+1+k+p+j|0;B0(b,32,f,j,h);v0(b,B,C);B0(b,48,f,j,h^65536);if(q){o=x>>>0>D>>>0?D:x;s=G+9|0;p=s;q=G+8|0;n=o;do{m=A0(c[n>>2]|0,0,s)|0;if((n|0)==(o|0)){if((m|0)==(s|0)){a[q>>0]=48;m=q}}else if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,p-m|0);n=n+4|0}while(n>>>0<=D>>>0);if(t|0)v0(b,150390,1);if(n>>>0<w>>>0&(k|0)>0)while(1){m=A0(c[n>>2]|0,0,s)|0;if(m>>>0>G>>>0){H3(G|0,48,m-F|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}v0(b,m,(k|0)<9?k:9);n=n+4|0;m=k+-9|0;if(!(n>>>0<w>>>0&(k|0)>9)){k=m;break}else k=m}B0(b,48,k+9|0,9,0)}else{t=u?w:x+4|0;if((k|0)>-1){u=G+9|0;s=(s|0)==0;g=u;p=0-F|0;q=G+8|0;o=x;do{m=A0(c[o>>2]|0,0,u)|0;if((m|0)==(u|0)){a[q>>0]=48;m=q}do if((o|0)==(x|0)){n=m+1|0;v0(b,m,1);if(s&(k|0)<1){m=n;break}v0(b,150390,1);m=n}else{if(m>>>0<=G>>>0)break;H3(G|0,48,m+p|0)|0;do m=m+-1|0;while(m>>>0>G>>>0)}while(0);F=g-m|0;v0(b,m,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<t>>>0&(k|0)>-1)}B0(b,48,k+18|0,18,0);v0(b,v,E-v|0)}B0(b,32,f,j,h^8192)}while(0);l=H;return ((j|0)<(f|0)?f:j)|0}function D0(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function E0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(F0(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0<d>>>0){f=nb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)>-1){i=d;while(1){if(!i){h=0;g=b;break b}g=i+-1|0;if((a[b+g>>0]|0)==10)break;else i=g}f=nb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0<i>>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}else{h=0;g=b}while(0);F3(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function F0(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function G0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;F3(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function H0(b){b=b|0;var c=0,d=0,e=0,f=0;e=a[b>>0]|0;c=1;d=150392;f=97;while(1){if(e<<24>>24==f<<24>>24?(b$(b,d)|0)==0:0)break;d=d+6|0;f=a[d>>0]|0;if(!(f<<24>>24)){c=0;break}else c=c+1|0}return c|0}function I0(a){a=a|0;var b=0;b=(p0(a)|0)==0;return (b?a:a&95)|0}function J0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;do if(b>>>0>6)d=0;else{ta(187576);if((b|0)!=6){d=K0(b,d)|0;La(187576);break}if(!d){d=194052;b=0}else{b=g;e=150465;f=b+16|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));f=0;do{b=V_(d,59)|0;e=b-d|0;if((e|0)<16){F3(g|0,d|0,e|0)|0;a[g+e>>0]=0;d=(a[b>>0]|0)==0?d:b+1|0}K0(f,g)|0;f=f+1|0}while((f|0)!=6);d=194052;b=0}while(1){f=c[187536+(b<<2)>>2]|0;f=f|0?f+8|0:150481;e=W_(f)|0;F3(d|0,f|0,e|0)|0;f=d+e|0;a[f>>0]=59;b=b+1|0;if((b|0)==6)break;else d=d+(e+1)|0}a[f>>0]=0;La(187576);d=194052}while(0);l=h;return d|0}function K0(a,b){a=a|0;b=b|0;if(!b)a=c[187536+(a<<2)>>2]|0;else{b=a0(a,b)|0;c[187536+(a<<2)>>2]=b;a=b}return (a|0?a+8|0:150481)|0}function L0(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function M0(a){a=a|0;return N0(a)|0}function N0(a){a=a|0;return B3(a|0)|0}function O0(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=t0(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)u0(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;i=D$(h,10,p)|0;j=(i|0)==0;i=j?p:1-o+i|0;i=i>>>0<g>>>0?i:g;F3(e|0,h|0,i|0)|0;h=(c[k>>2]|0)+i|0;c[k>>2]=h;e=e+i|0;i=g-i|0;if(!(j&(i|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=J$(f)|0;if((g|0)<0)break;else j=g}else{c[k>>2]=h+1;j=d[h>>0]|0}g=i+-1|0;h=e+1|0;a[e>>0]=j;if(!((g|0)!=0&(j&255|0)!=10)){e=h;n=17;break a}else e=h}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)u0(f)}return b|0}function P0(b,c){b=b|0;c=c|0;var d=0;d=a[c>>0]|0;do if(d<<24>>24){b=A$(b,d<<24>>24)|0;if(b){if(a[c+1>>0]|0)if(a[b+1>>0]|0){if(!(a[c+2>>0]|0)){b=Q0(b,c)|0;break}if(a[b+2>>0]|0){if(!(a[c+3>>0]|0)){b=R0(b,c)|0;break}if(a[b+3>>0]|0)if(!(a[c+4>>0]|0)){b=S0(b,c)|0;break}else{b=T0(b,c)|0;break}else b=0}else b=0}else b=0}else b=0}while(0);return b|0}function Q0(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=(d[c>>0]|0)<<8|(d[c+1>>0]|0);f=d[b>>0]|0;while(1){c=b+1|0;e=a[c>>0]|0;if(!(e<<24>>24))break;f=f<<8&65280|e&255;if((f|0)==(g|0))break;else b=c}return (e<<24>>24?b:0)|0}function R0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;e=b+2|0;c=a[e>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(c&255)<<8;if(!((b|0)==(f|0)|c<<24>>24==0))do{e=e+1|0;c=a[e>>0]|0;b=(b|c&255)<<8}while(!((b|0)==(f|0)|c<<24>>24==0));return (c<<24>>24?e+-2|0:0)|0}function S0(b,c){b=b|0;c=c|0;var e=0,f=0;f=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;e=a[c>>0]|0;b=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|e&255;if(!(e<<24>>24==0|(b|0)==(f|0)))do{c=c+1|0;e=a[c>>0]|0;b=b<<8|e&255}while(!(e<<24>>24==0|(b|0)==(f|0)));return (e<<24>>24?c+-3|0:0)|0}function T0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+1056|0;t=v+1024|0;u=v;c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;e=a[d>>0]|0;a:do if(e<<24>>24){s=0;do{if(!(a[b+s>>0]|0)){e=0;break a}r=t+(((e&255)>>>5&255)<<2)|0;c[r>>2]=c[r>>2]|1<<(e&31);s=s+1|0;c[u+((e&255)<<2)>>2]=s;e=a[d+s>>0]|0}while(e<<24>>24!=0);m=s>>>0>1;if(m){f=0;k=-1;g=1;b:while(1){h=1;e=f;while(1){f=g;c:while(1){j=1;while(1){g=a[d+(j+k)>>0]|0;i=a[d+f>>0]|0;if(g<<24>>24!=i<<24>>24)break c;if((j|0)==(h|0))break;j=j+1|0;f=j+e|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}e=h+e|0;f=e+1|0;if(f>>>0>=s>>>0){n=h;e=k;break b}}h=f-k|0;if((g&255)<=(i&255))break;g=f+1|0;if(g>>>0>=s>>>0){n=h;e=k;break b}else e=f}g=e+2|0;if(g>>>0>=s>>>0){n=1;break}else{f=e+1|0;k=e}}if(m){h=0;m=-1;i=1;while(1){f=1;g=h;while(1){h=i;d:while(1){k=1;while(1){i=a[d+(k+m)>>0]|0;j=a[d+h>>0]|0;if(i<<24>>24!=j<<24>>24)break d;if((k|0)==(f|0))break;k=k+1|0;h=k+g|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}g=f+g|0;h=g+1|0;if(h>>>0>=s>>>0){i=n;g=m;h=26;break a}}f=h-m|0;if((i&255)>=(j&255))break;i=h+1|0;if(i>>>0>=s>>>0){i=n;g=m;h=26;break a}else g=h}i=g+2|0;if(i>>>0>=s>>>0){i=n;f=1;h=26;break}else{h=g+1|0;m=g}}}else{i=n;f=1;g=-1;h=26}}else{i=1;e=-1;f=1;g=-1;h=26}}else{i=1;e=-1;s=0;f=1;g=-1;h=26}while(0);e:do if((h|0)==26){q=(g+1|0)>>>0>(e+1|0)>>>0;f=q?f:i;q=q?g:e;r=q+1|0;if(!(L0(d,d+f|0,r)|0))p=s-f|0;else{f=s-q+-1|0;p=0;f=(q>>>0>f>>>0?q:f)+1|0}k=s|63;m=s+-1|0;n=(p|0)!=0;o=s-f|0;e=b;j=0;g=b;while(1){h=e;do if((g-h|0)>>>0<s>>>0){i=D$(g,0,k)|0;if(i)if((i-h|0)>>>0<s>>>0){e=0;break e}else break;else{i=g+k|0;break}}else i=g;while(0);g=a[e+m>>0]|0;f:do if(!(1<<(g&31)&c[t+(((g&255)>>>5&255)<<2)>>2])){h=0;g=s}else{g=s-(c[u+((g&255)<<2)>>2]|0)|0;if(g|0){h=0;g=n&(j|0)!=0&g>>>0<f>>>0?o:g;break}g=r>>>0>j>>>0?r:j;h=a[d+g>>0]|0;g:do if(!(h<<24>>24))g=r;else{while(1){if(h<<24>>24!=(a[e+g>>0]|0))break;g=g+1|0;h=a[d+g>>0]|0;if(!(h<<24>>24)){g=r;break g}}h=0;g=g-q|0;break f}while(0);while(1){if(g>>>0<=j>>>0)break e;g=g+-1|0;if((a[d+g>>0]|0)!=(a[e+g>>0]|0)){h=p;g=f;break}}}while(0);e=e+g|0;j=h;g=i}}while(0);l=v;return e|0}function U0(a,b,c){a=a|0;b=b|0;c=c|0;V0(a,b,c)|0;return a|0}function V0(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else e=0}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);H3(b|0,0,e|0)|0;return b|0}function W0(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{h=f+(((e&255)>>>5&255)<<2)|0;c[h>>2]=c[h>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{if(!(c[f+(((e&255)>>>5&255)<<2)>>2]&1<<(e&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);l=g;return d|0}function X0(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=P_(a)|0;a=Ja(6,d|0)|0;a=N_((a|0)==-4?0:a)|0;l=b;return a|0}function Y0(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=Z0(a,b,f)|0;l=e;return d|0}function Z0(a,b,c){a=a|0;b=b|0;c=c|0;return q0(a,2147483647,b,c)|0}function _0(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0<h>>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)$0(a,d,e,f,j);else b1(a,d,e,k,f,0,j);if((f|0)==1){c1(k,1);f=0;break}else{c1(k,b);f=1;break}}else{$0(a,d,e,f,j);a1(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0<g>>>0)}else{f=1;b=1}b1(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){c1(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;a1(k,1);b1(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);c1(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;b1(h,d,e,k,n,1,j);a=h;f=n;continue}b=d1(k)|0;a1(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function $0(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((lb[d&127](a,g)|0)>-1?(lb[d&127](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((lb[d&127](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);f1(b,m,e);l=n;return}function a1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function b1(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(lb[d&127](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((lb[d&127](g,j)|0)>-1){i=10;break a}if((lb[d&127](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=d1(n)|0;a1(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((lb[d&127](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){f1(b,o,e);$0(a,b,d,f,h)}l=p;return}function c1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<<b;c[a>>2]=d<<b;return}function d1(a){a=a|0;var b=0;b=e1((c[a>>2]|0)+-1|0)|0;if(!b){b=e1(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function e1(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function f1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;F3(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;F3(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function g1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=r0(a,b,f)|0;l=e;return d|0}function h1(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;e=f;sa(0,e|0)|0;d=0;e=(c[e+4>>2]|0)*65537^(e>>>4)+b;while(1){a[b+d>>0]=(e&15)+65|e<<1&32;d=d+1|0;if((d|0)==6)break;else e=e>>>5}l=f;return b|0}function i1(a,b,c){a=a|0;b=b|0;c=c|0;c=F$(a,b,c,-2147483648,0)|0;return c|0}function j1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){H3(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{i=f+(((e&255)>>>5&255)<<2)|0;c[i>>2]=c[i>>2]|1<<(e&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{if(c[f+(((d&255)>>>5&255)<<2)>>2]&1<<(d&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=V_(b,e<<24>>24)|0;l=h;return e-b|0}function k1(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[46896]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[46896]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[46896]=d;if(!(a[d>>0]|0)){c[46896]=0;break}else{c[46896]=d+1;a[d>>0]=0;break}}while(0);return b|0}function l1(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=c&255;do{if(!d){c=0;break}d=d+-1|0;c=b+d|0}while((a[c>>0]|0)!=e<<24>>24);return c|0}function m1(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if(!b){b=c[e>>2]|0;if(!b)b=0;else f=3}else f=3;do if((f|0)==3){b=b+(W0(b,d)|0)|0;if(!(a[b>>0]|0)){c[e>>2]=0;b=0;break}d=b+(j1(b,d)|0)|0;c[e>>2]=d;if(!(a[d>>0]|0)){c[e>>2]=0;break}else{c[e>>2]=d+1;a[d>>0]=0;break}}while(0);return b|0}function n1(a){a=a|0;var b=0,c=0;b=(W_(a)|0)+1|0;c=C_(b)|0;if(!c)a=0;else a=F3(c|0,a|0,b|0)|0;return a|0}function o1(a,b){a=a|0;b=b|0;return l1(a,b,(W_(a)|0)+1|0)|0}function p1(a,b){a=a|0;b=b|0;b0(a+(W_(a)|0)|0,b)|0;return a|0}function q1(b,c){b=b|0;c=c|0;c=b+(j1(b,c)|0)|0;return (a[c>>0]|0?c:0)|0}function r1(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=(c[a>>2]|0)>>>4&1}else a=(c[a>>2]|0)>>>4&1;return a|0}function s1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=t0(a)|0;else f=0;t1(a);g=(c[a>>2]&1|0)!=0;if(!g){e=u1()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;v1()}b=w1(a)|0;b=kb[c[a+12>>2]&63](a)|0|b;d=c[a+92>>2]|0;if(d|0)D_(d);if(g){if(f|0)u0(a)}else D_(a);return b|0}function t1(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;a=a+112|0;if(b|0)c[b+112>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(y1()|0)+232|0;else a=a+116|0;c[a>>2]=b}return}function u1(){ta(187588);return 187596}function v1(){La(187588);return}function w1(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=x1(a)|0;break}d=(t0(a)|0)==0;b=x1(a)|0;if(!d)u0(a)}else{if(!(c[15685]|0))b=0;else b=w1(c[15685]|0)|0;a=c[(u1()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=t0(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=x1(a)|0|b;if(d|0)u0(a);a=c[a+56>>2]|0}while((a|0)!=0);v1()}while(0);return b|0}function x1(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0<g>>>0)nb[c[a+40>>2]&63](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function y1(){return e$()|0}function z1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;j=k+40|0;h=k+24|0;g=k+16|0;f=k;i=k+56|0;if(A$(150498,a[d>>0]|0)|0){e=C_(1156)|0;if(!e)e=0;else{H3(e|0,0,124)|0;if(!(A$(d,43)|0))c[e>>2]=(a[d>>0]|0)==114?8:4;if(A$(d,101)|0){c[f>>2]=b;c[f+4>>2]=2;c[f+8>>2]=1;Ea(221,f|0)|0}if((a[d>>0]|0)==97){c[g>>2]=b;c[g+4>>2]=3;d=Ea(221,g|0)|0;if(!(d&1024)){c[h>>2]=b;c[h+4>>2]=4;c[h+8>>2]=d|1024;Ea(221,h|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+132;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[j>>2]=b,c[j+4>>2]=21523,c[j+8>>2]=i,(Ia(54,j|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=15;c[e+36>>2]=18;c[e+40>>2]=16;c[e+12>>2]=17;if(!(c[46875]|0))c[e+76>>2]=-1;A1(e)|0}}else{c[(O_()|0)>>2]=22;e=0}l=k;return e|0}function A1(a){a=a|0;var b=0,d=0;b=u1()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;v1();return a|0}function B1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(C1()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[62280+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(O_()|0)>>2]=84;b=-1}while(0);l=j;return b|0}function C1(){return e$()|0}function D1(a,b){a=a|0;b=b|0;var c=0;c=W_(a)|0;return ((E1(a,1,c,b)|0)!=(c|0))<<31>>31|0}function E1(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=O(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(t0(e)|0)==0;a=E0(a,f,e)|0;if(!g)u0(e)}else a=E0(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function F1(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(F0(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0<h>>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((nb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);l=m;return f|0}function G1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=N_(Fa(3,f|0)|0)|0;l=e;return d|0}function H1(){var a=0,b=0;b=l;l=l+16|0;a=Da(20,b|0)|0;l=b;return a|0}function I1(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=150483;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function J1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ca(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(Ea(221,e|0)|0)>=0):0){I1(e,a);c[f>>2]=e;c[f+4>>2]=b;b=N_(Ba(195,f|0)|0)|0}else b=N_(d)|0;l=g;return b|0}function K1(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=N_(Ga(33,e|0)|0)|0;l=d;return b|0}function L1(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+48|0;h=i+32|0;g=i+16|0;e=i;if(A$(150498,a[d>>0]|0)|0){f=M1(d)|0;c[e>>2]=b;c[e+4>>2]=f|32768;c[e+8>>2]=438;e=N_(Ha(5,e|0)|0)|0;if((e|0)>=0){if(f&524288|0){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;Ea(221,g|0)|0}b=z1(e,d)|0;if(!b){c[h>>2]=e;Ja(6,h|0)|0;b=0}}else b=0}else{c[(O_()|0)>>2]=22;b=0}l=i;return b|0}function M1(b){b=b|0;var c=0,d=0,e=0;d=(A$(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(A$(b,120)|0)==0;d=e?d:d|128;b=(A$(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function N1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=d;d=O1(a,b,f)|0;l=e;return d|0}function O1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+128|0;e=g;f=e;h=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));c[e+32>>2]=38;c[e+44>>2]=a;c[e+76>>2]=-1;c[e+84>>2]=a;h=Q1(e,b,d)|0;l=g;return h|0}function P1(a,b,c){a=a|0;b=b|0;c=c|0;return Y1(a,b,c)|0}function Q1(b,e,f){b=b|0;e=e|0;f=f|0;var i=0,j=0,k=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+288|0;F=L+8|0;G=L+17|0;H=L;I=L+16|0;if((c[b+76>>2]|0)>-1)K=t0(b)|0;else K=0;i=a[e>>0]|0;a:do if(i<<24>>24){y=b+4|0;A=b+100|0;B=b+108|0;C=b+8|0;D=G+10|0;E=G+33|0;x=F+4|0;p=e;u=0;e=0;j=0;k=i;i=0;b:while(1){c:do if(!(B$(k&255)|0)){k=(a[p>>0]|0)==37;d:do if(k){m=p+1|0;n=a[m>>0]|0;e:do switch(n<<24>>24){case 37:break d;case 42:{w=0;m=p+2|0;break}default:{if(E$(n&255)|0?(a[p+2>>0]|0)==36:0){w=R1(f,(d[m>>0]|0)+-48|0)|0;m=p+3|0;break e}v=(c[f>>2]|0)+(4-1)&~(4-1);w=c[v>>2]|0;c[f>>2]=v+4}}while(0);if(!(E$(d[m>>0]|0)|0))s=0;else{k=0;do{k=(k*10|0)+-48+(d[m>>0]|0)|0;m=m+1|0}while((E$(d[m>>0]|0)|0)!=0);s=k}p=a[m>>0]|0;n=m+1|0;if(p<<24>>24==109){k=(w|0)!=0&1;j=0;m=n;p=a[n>>0]|0;i=0}else k=0;n=m+1|0;switch(p<<24>>24){case 104:{v=(a[n>>0]|0)==104;p=v?-2:-1;m=v?m+2|0:n;break}case 108:{v=(a[n>>0]|0)==108;p=v?3:1;m=v?m+2|0:n;break}case 106:{p=3;m=n;break}case 116:case 122:{p=1;m=n;break}case 76:{p=2;m=n;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{p=0;break}default:{J=136;break b}}r=d[m>>0]|0;t=(r&47|0)==3;r=t?r|32:r;t=t?1:p;q=r&255;switch(q<<24>>24){case 99:{s=(s|0)>1?s:1;break}case 91:break;case 110:{S1(w,t,u,((u|0)<0)<<31>>31);n=u;break c}default:{G$(b,0);do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0}while((B$(n)|0)!=0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}u=(c[B>>2]|0)+u+n-(c[C>>2]|0)|0}}G$(b,s);p=c[y>>2]|0;n=c[A>>2]|0;if(p>>>0<n>>>0)c[y>>2]=p+1;else{if((I$(b)|0)<0){J=136;break b}n=c[A>>2]|0}if(n|0)c[y>>2]=(c[y>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{v=(r|0)==99;g:do if((r|16|0)==115){H3(G|0,-1,257)|0;a[G>>0]=0;if((r|0)==115){a[E>>0]=0;a[D>>0]=0;a[D+1>>0]=0;a[D+2>>0]=0;a[D+3>>0]=0;a[D+4>>0]=0}}else{n=m+1|0;q=(a[n>>0]|0)==94;r=q&1;m=q?m+2|0:n;H3(G|0,r|0,257)|0;a[G>>0]=0;n=a[m>>0]|0;switch(n<<24>>24){case 45:{n=46;J=65;break}case 93:{n=94;J=65;break}default:{}}while(1){if((J|0)==65){J=0;a[G+n>>0]=r^1;n=m+1|0;m=n;n=a[n>>0]|0}h:do switch(n<<24>>24){case 0:{J=136;break b}case 93:break g;case 45:{q=m+1|0;n=a[q>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){p=(r^1)&255;m=m&255;do{m=m+1|0;a[G+m>>0]=p;n=a[q>>0]|0}while((m|0)<(n&255|0));m=q}else m=q;break}default:{}}while(0);n=(n&255)+1|0;J=65}}while(0);n=v?s+1|0:31;r=(t|0)==1;t=(k|0)!=0;i:do if(r){if(t){i=C_(n<<2)|0;if(!i){j=0;i=0;J=136;break b}}else i=w;c[F>>2]=0;c[x>>2]=0;q=n;j=0;j:while(1){p=(i|0)==0;do{k:while(1){n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0))break j;a[I>>0]=n;switch(X$(H,I,1,F)|0){case -1:{j=0;J=136;break b}case -2:break;default:break k}}if(!p){c[i+(j<<2)>>2]=c[H>>2];j=j+1|0}}while(!(t&(j|0)==(q|0)));j=q<<1|1;n=F_(i,j<<2)|0;if(!n){j=0;J=136;break b}else{p=q;q=j;i=n;j=p}}if(!(T1(F)|0)){j=0;J=136;break b}else{q=j;j=0;p=i}}else{if(t){j=C_(n)|0;if(!j){j=0;i=0;J=136;break b}else{p=n;i=0}while(1){do{n=c[y>>2]|0;if(n>>>0<(c[A>>2]|0)>>>0){c[y>>2]=n+1;n=d[n>>0]|0}else n=I$(b)|0;if(!(a[G+(n+1)>>0]|0)){q=i;p=0;i=0;break i}a[j+i>>0]=n;i=i+1|0}while((i|0)!=(p|0));i=p<<1|1;n=F_(j,i)|0;if(!n){i=0;J=136;break b}else{q=p;p=i;j=n;i=q}}}if(!w)while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=0;j=0;p=0;i=0;break i}}else j=0;while(1){i=c[y>>2]|0;if(i>>>0<(c[A>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=I$(b)|0;if(!(a[G+(i+1)>>0]|0)){q=j;j=w;p=0;i=0;break i}a[w+j>>0]=i;j=j+1|0}}while(0);if(!(c[A>>2]|0))n=c[y>>2]|0;else{n=(c[y>>2]|0)+-1|0;c[y>>2]=n}n=n-(c[C>>2]|0)+(c[B>>2]|0)|0;if(!n)break b;if(!((n|0)==(s|0)|v^1))break b;do if(t)if(r){c[w>>2]=p;break}else{c[w>>2]=j;break}while(0);if(!v){if(p|0)c[p+(q<<2)>>2]=0;if(!j){j=0;break f}a[j+q>>0]=0}break}case 120:case 88:case 112:{n=16;J=124;break}case 111:{n=8;J=124;break}case 117:case 100:{n=10;J=124;break}case 105:{n=0;J=124;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{o=+U1(b,t,0);if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if(w)switch(t|0){case 0:{g[w>>2]=o;break f}case 1:{h[w>>3]=o;break f}case 2:{h[w>>3]=o;break f}default:break f}break}default:{}}while(0);do if((J|0)==124){J=0;n=H$(b,n,0,-1,-1)|0;if((c[B>>2]|0)==((c[C>>2]|0)-(c[y>>2]|0)|0))break b;if((w|0)!=0&(r|0)==112){c[w>>2]=n;break}else{S1(w,t,n,z);break}}while(0);e=e+((w|0)!=0&1)|0;n=(c[B>>2]|0)+u+(c[y>>2]|0)-(c[C>>2]|0)|0;break c}while(0);m=p+(k&1)|0;G$(b,0);k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0;if((k|0)!=(d[m>>0]|0)){J=22;break b}n=u+1|0}else{m=p;while(1){k=m+1|0;if(!(B$(d[k>>0]|0)|0))break;else m=k}G$(b,0);do{k=c[y>>2]|0;if(k>>>0<(c[A>>2]|0)>>>0){c[y>>2]=k+1;k=d[k>>0]|0}else k=I$(b)|0}while((B$(k)|0)!=0);if(!(c[A>>2]|0))k=c[y>>2]|0;else{k=(c[y>>2]|0)+-1|0;c[y>>2]=k}n=(c[B>>2]|0)+u+k-(c[C>>2]|0)|0}while(0);p=m+1|0;k=a[p>>0]|0;if(!(k<<24>>24))break a;else u=n}if((J|0)==22){if(c[A>>2]|0)c[y>>2]=(c[y>>2]|0)+-1;if((e|0)!=0|(k|0)>-1)break;else{e=0;J=137}}else if((J|0)==136)if(!e){e=k;J=137}if((J|0)==137){k=e;e=-1}if(k){D_(j);D_(i)}}else e=0;while(0);if(K|0)u0(b);l=L;return e|0}function R1(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}l=e;return a|0}function S1(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function T1(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function U1(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+100|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0}while((B$(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=I$(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;do{if((h|32|0)!=(a[150502+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<8);c:do switch(e|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;do{if((h|32|0)!=(a[150511+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=I$(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|0)==40)e=1;else{if(!(c[n>>2]|0)){g=s;break a}c[o>>2]=(c[o>>2]|0)+-1;g=s;break a}while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=I$(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=s;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}if(!e){g=s;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=s;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=I$(b)|0;if((e|32|0)==120){g=+V1(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+W1(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(O_()|0)>>2]=22;G$(b,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*t}while(0);return +g}function V1(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+100|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=0}else{j=I$(a)|0;l=0}a:while(1){switch(j|0){case 46:{w=8;break a}case 48:break;default:{s=0;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0;l=1;continue}else{j=I$(a)|0;l=1;continue}}if((w|0)==8){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;j=d[i>>0]|0}else j=I$(a)|0;if((j|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;m=d[i>>0]|0}else m=I$(a)|0;l=s3(l|0,j|0,-1,-1)|0;j=z}while((m|0)==48);s=1;n=0;o=1.0;h=0.0;i=0;t=1;v=0;u=0}else{s=1;n=0;o=1.0;h=0.0;i=0;m=j;t=l;v=0;u=0;l=0;j=0}}while(1){q=m+-48|0;p=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=o;r=t;l=u;j=v;q=u;p=v}else{m=46;break}else w=20}else w=20;if((w|0)==20){w=0;m=(m|0)>57?p+-87|0:q;do if(!((v|0)<0|(v|0)==0&u>>>0<8))if((v|0)<0|(v|0)==0&u>>>0<14){o=o*.0625;k=o;h=h+o*+(m|0);break}else{t=(n|0)!=0|(m|0)==0;n=t?n:1;k=o;h=t?h:h+o*.5;break}else{k=o;i=m+(i<<4)|0}while(0);q=s3(u|0,v|0,1,0)|0;r=1;p=z}m=c[y>>2]|0;if(m>>>0<(c[x>>2]|0)>>>0){c[y>>2]=m+1;o=k;m=d[m>>0]|0;t=r;v=p;u=q;continue}else{o=k;m=I$(a)|0;t=r;v=p;u=q;continue}}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(!((s|0)==0|i))c[y>>2]=(c[y>>2]|0)+-1}else G$(a,0);h=+(f|0)*0.0}else{p=(s|0)==0;q=p?u:l;p=p?v:j;if((v|0)<0|(v|0)==0&u>>>0<8){l=u;j=v;while(1){i=i<<4;w=l;l=s3(l|0,j|0,1,0)|0;if(!((j|0)<0|(j|0)==0&w>>>0<7)){n=i;break}else j=z}}else n=i;if((m|32|0)==112){j=X1(a,g)|0;i=z;if((j|0)==0&(i|0)==-2147483648){if(!g){G$(a,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=A3(q|0,p|0,2)|0;l=s3(l|0,z|0,-32,-1)|0;l=s3(l|0,z|0,j|0,i|0)|0;i=z;if(!n){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(O_()|0)>>2]=34;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0<y>>>0){c[(O_()|0)>>2]=34;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((n|0)>-1){j=n;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=s3(l|0,i|0,-1,-1)|0;i=z}while((j|0)>-1);o=h;m=j}else{o=h;m=n}y=((b|0)<0)<<31>>31;e=t3(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=s3(e|0,z|0,l|0,i|0)|0;e=z;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0<b>>>0)if((i|0)>0)w=59;else{j=0;i=84;w=61}else{i=b;w=59}if((w|0)==59)if((i|0)<53){j=i;i=84-i|0;w=61}else{k=0.0;h=+(f|0)}if((w|0)==61){h=+(f|0);k=+p$(+m$(1.0,i),h);i=j}f=(m&1|0)==0&(o!=0.0&(i|0)<32);h=(f?0.0:o)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(O_()|0)>>2]=34;h=+q$(h,l)}while(0);return +h}function W1(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;J=l;l=l+512|0;G=J;H=f+e|0;I=0-H|0;D=a+4|0;E=a+100|0;k=0;a:while(1){switch(b|0){case 46:{A=6;break a}case 48:break;default:{v=0;p=k;q=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0;k=1;continue}else{b=I$(a)|0;k=1;continue}}if((A|0)==6){b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48){k=0;b=0;while(1){k=s3(k|0,b|0,-1,-1)|0;o=z;b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;if((b|0)==48)b=o;else{v=1;p=1;q=k;break}}}else{v=1;p=k;q=0;o=0}}c[G>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){C=G+496|0;w=0;k=0;u=0;x=v;y=p;A=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;q=p;o=n}else break c;else{p=s3(p|0,n|0,1,0)|0;n=z;v=(b|0)!=48;if((k|0)>=125){if(!v)break;c[C>>2]=c[C>>2]|1;break}m=G+(k<<2)|0;if(!w)b=A;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;k=k+(y&1)|0;u=v?p:u;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[E>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=I$(a)|0;A=b+-48|0;m=(b|0)==46;if(!(m|A>>>0<10)){v=x;m=y;A=29;break b}}b=w;m=(y|0)!=0;A=37}else{w=0;k=0;u=0;m=p;p=0;n=0;A=29}while(0);do if((A|0)==29){C=(v|0)==0;q=C?p:q;o=C?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;A=37;break}else{b=w;A=39;break}m=X1(a,h)|0;b=z;if((m|0)==0&(b|0)==-2147483648){if(!h){G$(a,0);i=0.0;break}if(!(c[E>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}y=s3(m|0,b|0,q|0,o|0)|0;b=w;o=z;A=41}while(0);if((A|0)==37)if(c[E>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m){y=q;A=41}else A=40}else A=39;if((A|0)==39)if(m){y=q;A=41}else A=40;do if((A|0)==40){c[(O_()|0)>>2]=22;G$(a,0);i=0.0}else if((A|0)==41){m=c[G>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((y|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;E=((a|0)<0)<<31>>31;if((o|0)>(E|0)|(o|0)==(E|0)&y>>>0>a>>>0){c[(O_()|0)>>2]=34;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;E=((a|0)<0)<<31>>31;if((o|0)<(E|0)|(o|0)==(E|0)&y>>>0<a>>>0){c[(O_()|0)>>2]=34;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=G+(k<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}k=k+1|0}if((u|0)<9?(u|0)<=(y|0)&(y|0)<18:0){if((y|0)==9){i=+(g|0)*+((c[G>>2]|0)>>>0);break}if((y|0)<9){i=+(g|0)*+((c[G>>2]|0)>>>0)/+(c[63608+(8-y<<2)>>2]|0);break}a=e+27+(O(y,-3)|0)|0;b=c[G>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[63608+(y+-10<<2)>>2]|0);break}}b=(y|0)%9|0;if(!b){b=0;n=0}else{u=(y|0)>-1?b:b+9|0;p=c[63608+(8-u<<2)>>2]|0;if(k){q=1e9/(p|0)|0;n=0;o=0;m=y;b=0;do{D=G+(b<<2)|0;E=c[D>>2]|0;a=((E>>>0)/(p>>>0)|0)+n|0;c[D>>2]=a;n=O(q,(E>>>0)%(p>>>0)|0)|0;a=(b|0)==(o|0)&(a|0)==0;m=a?m+-9|0:m;o=a?o+1&127:o;b=b+1|0}while((b|0)!=(k|0));if(!n)n=o;else{c[G+(k<<2)>>2]=n;n=o;k=k+1|0}}else{n=0;k=0;m=y}b=0;y=9-u+m|0}d:while(1){u=(y|0)<18;v=(y|0)==18;w=G+(n<<2)|0;while(1){if(!u){if(!v){m=y;break d}if((c[w>>2]|0)>>>0>=9007199){m=18;break d}}m=0;x=k;k=k+127|0;while(1){o=k&127;p=G+(o<<2)|0;k=A3(c[p>>2]|0,0,29)|0;k=s3(k|0,z|0,m|0,0)|0;m=z;if(m>>>0>0|(m|0)==0&k>>>0>1e9){q=w3(k|0,m|0,1e9,0)|0;k=x3(k|0,m|0,1e9,0)|0}else q=0;c[p>>2]=k;a=(o|0)==(n|0);x=(k|0)==0&(((o|0)!=(x+127&127|0)|a)^1)?o:x;if(a)break;else{m=q;k=o+-1|0}}b=b+-29|0;if(q|0)break;else k=x}n=n+127&127;k=x+127&127;m=G+((x+126&127)<<2)|0;if((n|0)==(x|0))c[m>>2]=c[m>>2]|c[G+(k<<2)>>2];else k=x;c[G+(n<<2)>>2]=q;y=y+9|0}e:while(1){w=k+1&127;x=G+((k+127&127)<<2)|0;while(1){q=(m|0)==18;v=(m|0)>27?9:1;y=n;while(1){p=0;while(1){n=p+y&127;if((n|0)==(k|0)){F=2;A=88;break}n=c[G+(n<<2)>>2]|0;o=c[63640+(p<<2)>>2]|0;if(n>>>0<o>>>0){F=2;A=88;break}if(n>>>0>o>>>0)break;n=p+1|0;if((p|0)<1)p=n;else{F=n;A=88;break}}if((A|0)==88?(A=0,q&(F|0)==2):0){i=0.0;o=0;break e}b=v+b|0;if((y|0)==(k|0))y=k;else break}q=(1<<v)+-1|0;u=1e9>>>v;p=0;n=y;o=y;do{D=G+(o<<2)|0;E=c[D>>2]|0;a=(E>>>v)+p|0;c[D>>2]=a;p=O(E&q,u)|0;a=(o|0)==(n|0)&(a|0)==0;m=a?m+-9|0:m;n=a?n+1&127:n;o=o+1&127}while((o|0)!=(k|0));if(!p)continue;if((w|0)!=(n|0))break;c[x>>2]=c[x>>2]|1}c[G+(k<<2)>>2]=p;k=w}do{n=o+y&127;m=k+1&127;if((n|0)==(k|0)){c[G+(m+-1<<2)>>2]=0;k=m}i=i*1.0e9+ +((c[G+(n<<2)>>2]|0)>>>0);o=o+1|0}while((o|0)!=2);t=+(g|0);j=i*t;o=b+53|0;p=o-f|0;q=(p|0)<(e|0);n=q?((p|0)>0?p:0):e;if((n|0)<53){K=+p$(+m$(1.0,105-n|0),j);r=+r$(j,+m$(1.0,53-n|0));s=K;i=r;r=K+(j-r)}else{s=0.0;i=0.0;r=j}m=y+2&127;if((m|0)!=(k|0)){m=c[G+(m<<2)>>2]|0;do if(m>>>0>=5e8){if((m|0)!=5e8){i=t*.75+i;break}if((y+3&127|0)==(k|0)){i=t*.5+i;break}else{i=t*.75+i;break}}else{if((m|0)==0?(y+3&127|0)==(k|0):0)break;i=t*.25+i}while(0);if((53-n|0)>1?!(+r$(i,1.0)!=0.0):0)j=i+1.0;else j=i}else j=i;i=r+j-s;do if((o&2147483647|0)>(-2-H|0)){H=!(+B(+i)>=9007199254740992.0);b=b+((H^1)&1)|0;i=H?i:i*.5;if((b+50|0)<=(I|0)?!(j!=0.0&(q&((n|0)!=(p|0)|H))):0)break;c[(O_()|0)>>2]=34}while(0);i=+q$(i,b)}while(0);l=J;return +i}function X1(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=a+4|0;e=c[h>>2]|0;i=a+100|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;switch(e|0){case 43:case 45:{f=(e|0)==45&1;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0;if((b|0)!=0&(e+-48|0)>>>0>9?(c[i>>2]|0)!=0:0)c[h>>2]=(c[h>>2]|0)+-1;break}default:f=0}if((e+-48|0)>>>0>9)if(!(c[i>>2]|0)){f=-2147483648;e=0}else{c[h>>2]=(c[h>>2]|0)+-1;f=-2147483648;e=0}else{g=0;do{g=e+-48+(g*10|0)|0;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&(g|0)<214748364);b=((g|0)<0)<<31>>31;if((e+-48|0)>>>0<10)do{b=r3(g|0,b|0,10,0)|0;g=z;e=s3(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;g=s3(e|0,z|0,b|0,g|0)|0;b=z;e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10&((b|0)<21474836|(b|0)==21474836&g>>>0<2061584302));if((e+-48|0)>>>0<10)do{e=c[h>>2]|0;if(e>>>0<(c[i>>2]|0)>>>0){c[h>>2]=e+1;e=d[e>>0]|0}else e=I$(a)|0}while((e+-48|0)>>>0<10);if(c[i>>2]|0)c[h>>2]=(c[h>>2]|0)+-1;i=(f|0)!=0;e=t3(0,0,g|0,b|0)|0;f=i?z:b;e=i?e:g}z=f;return e|0}function Y1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=D$(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0<d>>>0?f:d;F3(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Z1(a,b,c){a=a|0;b=b|0;c=c|0;return _1(a,b,c)|0}function _1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((c[a+76>>2]|0)>-1){e=(t0(a)|0)==0;b=$1(a,b,d)|0;if(!e)u0(a)}else b=$1(a,b,d)|0;return b|0}function $1(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;if((d|0)==1)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;e=a+20|0;f=a+28|0;if((c[e>>2]|0)>>>0>(c[f>>2]|0)>>>0?(nb[c[a+36>>2]&63](a,0,0)|0,(c[e>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[e>>2]=0;if((nb[c[a+40>>2]&63](a,b,d)|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function a2(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(B$(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d<<24>>24|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(E$(b<<24>>24)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((E$(a[c>>0]|0)|0)!=0)}return (g|0?b:0-b|0)|0}function b2(a){a=a|0;return +(+c2(a,0))}function c2(a,b){a=a|0;b=b|0;return +(+d2(a,b,1))}function d2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;h=i;f=h;g=f+124|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=h+4|0;c[f>>2]=a;g=h+8|0;c[g>>2]=-1;c[h+44>>2]=a;c[h+76>>2]=-1;G$(h,0);e=+U1(h,d,1);d=(c[f>>2]|0)-(c[g>>2]|0)+(c[h+108>>2]|0)|0;if(b|0)c[b>>2]=d|0?a+d|0:a;l=i;return +e}function e2(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!c)b=0;else{h=b;while(1){g=c>>>1;b=h+(O(g,d)|0)|0;f=lb[e&127](a,b)|0;if(!f)break a;if((c|0)==1){b=0;break a}f=(f|0)<0;c=f?g:c-g|0;if(!c){b=0;break}else h=f?h:b}}while(0);return b|0}function f2(a,c){a=a|0;c=c|0;var d=0,f=0,g=0;g=a+2|0;f=a+4|0;d=r3((e[c+2>>1]|0)<<16|(e[c>>1]|0)|0,e[c+4>>1]|0|0,(e[g>>1]|0)<<16|(e[a>>1]|0)|0,e[f>>1]|0|0)|0;c=s3(d|0,z|0,e[c+6>>1]|0|0,0)|0;d=z;b[a>>1]=c;a=z3(c|0,d|0,16)|0;b[g>>1]=a;b[f>>1]=d;z=d&65535;return c|0}function g2(){var a=0,b=0,d=0;b=183528;b=r3(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=s3(b|0,z|0,1,0)|0;a=z;d=183528;c[d>>2]=b;c[d+4>>2]=a;a=z3(b|0,a|0,33)|0;return a|0}function h2(a){a=a|0;F3(190672,65740,6)|0;F3(65740,a|0,6)|0;return 190672}function i2(a){a=a|0;var c=0,d=0;c=l;l=l+16|0;d=c;b[d>>1]=13070;b[d+2>>1]=a;b[d+4>>1]=a>>>16;h2(d)|0;l=c;return}function j2(a){a=a|0;var b=0;b=f2(a,65746)|0;b=A3(b|0,z|0,4)|0;a=z|1072693248;c[j>>2]=b;c[j+4>>2]=a;return +(+h[j>>3]+-1.0)}function k2(){return +(+j2(65740))}function l2(a,b){a=a|0;b=b|0;if(!a)b=E_(1,24)|0;else H3(b|0,0,24)|0;return b|0}function m2(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b|0)do{D_(c[b>>2]|0);d=b;b=c[b+4>>2]|0;D_(d)}while((b|0)!=0);D_(a);return}function n2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=a+16|0;a:do if(!(c[h>>2]|0)){k=a+12|0;g=c[k>>2]|0;if(g>>>0<f>>>0){do if(b)if(!d){c[h>>2]=1;b=0;break a}else{h=a+8|0;c[h>>2]=d;g=1024;b=d;break}else{g=f<<3;g=g>>>0>1024?g:1024;j=C_(8)|0;if(!j){c[h>>2]=1;b=0;break a}b=C_(g)|0;c[j>>2]=b;d=b;if(!b){D_(j);c[h>>2]=1;b=0;break a}c[j+4>>2]=0;h=a+4|0;i=c[h>>2]|0;if(i|0)c[i+4>>2]=j;if(!(c[a>>2]|0))c[a>>2]=j;c[h>>2]=j;h=a+8|0;c[h>>2]=d}while(0);c[k>>2]=g}else{h=a+8|0;b=c[h>>2]|0;d=b}d=d+f&3;d=((d|0)==0?0:4-d|0)+f|0;c[h>>2]=b+d;c[k>>2]=g-d;if(e)H3(b|0,0,d|0)|0}else b=0;while(0);return b|0}function o2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;h=v;t=p2()|0;a:do if(!t)b=12;else{u=l2(0,0)|0;if(!u){q2(t);b=12;break}H3(h|0,0,36)|0;c[h>>2]=u;c[h+4>>2]=t;c[h+16>>2]=b;c[h+32>>2]=d;e=h+28|0;c[e>>2]=-1;b=r2(h)|0;b:do if(!b){g=h+20|0;r=c[g>>2]|0;c[a>>2]=r+-1;i=c[h+8>>2]|0;if((c[e>>2]|0)<(r|0)){r=E_(1,68)|0;if(r){q=(c[e>>2]|0)>>>31^1;c[r+60>>2]=q;c[r+64>>2]=0;c[r+28>>2]=c[g>>2];if((d&8|0)==0|(q|0)!=0){b=s2(0,t,i,r)|0;if(b|0){g=r;h=0;i=0;f=0;e=0;break}e=r+40|0;b=c[e>>2]|0;if((b|0)>0){b=C_((b<<2)+4|0)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+32>>2]=b;H3(b|0,-1,(c[e>>2]<<2)+4|0)|0;f=b;b=c[e>>2]|0}else f=0;q=E_(b<<1|1,4)|0;c[r+36>>2]=q;if(!q){g=r;h=0;i=0;b=12;f=0;e=0;break}b=E_(c[g>>2]|0,12)|0;if(!b){g=r;h=0;i=0;b=12;f=0;e=0;break}c[r+16>>2]=b;b=s2(u,t,i,r)|0;if(!b)b=f;else{g=r;h=0;i=0;f=0;e=0;break}}else b=0;p=h+24|0;b=t2(u,t,i,p,b)|0;if(!b){b=c[p>>2]|0;c[p>>2]=b+1;b=u2(u,0,0,b)|0;if((b|0)!=0?(s=v2(u,i,b)|0,(s|0)!=0):0){b=w2(u,t,s)|0;if(!b){o=C_(c[p>>2]<<2)|0;if(o){q=C_(c[p>>2]<<2)|0;if(q){b=c[p>>2]|0;if((b|0)>0)H3(o|0,0,b<<2|0)|0;x2(s,0,o,0)|0;f=c[p>>2]|0;if((f|0)>0){b=0;e=0;do{c[q+(e<<2)>>2]=b;n=o+(e<<2)|0;b=b+1+(c[n>>2]|0)|0;c[n>>2]=0;e=e+1|0}while((e|0)<(f|0));k=b}else k=0;m=E_(k+1|0,32)|0;if(m){c[r>>2]=m;n=r+4|0;c[n>>2]=k;b=x2(s,m,o,q)|0;if(!b){c[r+20>>2]=0;f=s+24|0;b=c[f>>2]|0;e=0;while(1){e=e+1|0;if((c[b>>2]|0)<=-1)break;else b=b+32|0}j=E_(e,32)|0;if(!j){g=r;h=o;i=q;b=12;f=o;e=q}else{c[r+8>>2]=j;f=c[f>>2]|0;e=c[f>>2]|0;if((e|0)>-1){b=0;do{c[j+(b<<5)+8>>2]=m+(c[q+(e<<2)>>2]<<5);c[j+(b<<5)+12>>2]=e;h=j+(b<<5)+16|0;c[h>>2]=0;i=f+12|0;g=c[i>>2]|0;if(g|0){e=0;do{w=e;e=e+1|0}while((c[g+(w<<2)>>2]|0)>-1);e=e<<2;g=C_(e)|0;c[h>>2]=g;if(!g){g=r;h=o;i=q;b=12;f=o;e=q;break b}F3(g|0,c[i>>2]|0,e|0)|0}c[j+(b<<5)+20>>2]=c[f+16>>2];b=b+1|0;f=f+32|0;e=c[f>>2]|0}while((e|0)>-1)}else b=0;c[j+(b<<5)+8>>2]=0;c[n>>2]=k;c[r+12>>2]=m+(c[q+(c[c[s+28>>2]>>2]<<2)>>2]<<5);c[r+52>>2]=c[p>>2];c[r+56>>2]=d;m2(u);q2(t);D_(o);D_(q);c[a+4>>2]=r;b=0;break a}}else{g=r;h=o;i=q;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=q}}else{g=r;h=o;i=q;b=12;f=o;e=0}}else{g=r;h=o;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=r;h=0;i=0;f=0;e=0}}else{g=r;h=0;i=0;b=12;f=0;e=0}}else{g=0;h=0;i=0;b=6;f=0;e=0}}else{g=0;h=0;i=0;f=0;e=0}while(0);m2(u);q2(t);if(h|0)D_(f);if(i|0)D_(e);c[a+4>>2]=g;y2(a)}while(0);l=v;return b|0}function p2(){var a=0,b=0;a=C_(20)|0;do if(a){b=C_(2048)|0;c[a+16>>2]=b;if(!b){D_(a);a=0;break}else{c[a>>2]=512;c[a+4>>2]=1024e3;c[a+8>>2]=128;c[a+12>>2]=0;break}}while(0);return a|0}function q2(a){a=a|0;D_(c[a+16>>2]|0);D_(a);return}function r2(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+16|0;p=u+4|0;q=u;r=c[b+32>>2]&1;s=b+16|0;e=c[s>>2]|0;t=c[b+4>>2]|0;d=C2(t,0)|0;a:do if(!d){m=(r|0)!=0;n=b+8|0;o=b+12|0;d=0;k=1;b:while(1){g=0;h=d;f=0;c:while(1){d=a[e>>0]|0;if(m){if(d<<24>>24==40)break;if((h|0)!=0&d<<24>>24==41)j=13;else j=14}else if(d<<24>>24==92)switch(a[e+1>>0]|0){case 40:break c;case 41:{j=13;break}default:j=14}else j=14;if((j|0)==13){j=0;i=u2(c[b>>2]|0,-1,-1,-1)|0;c[n>>2]=i;if(!i){d=12;break a}else i=f}else if((j|0)==14){j=0;d=R2(b,e)|0;if(d|0)break a;i=f;e=c[o>>2]|0}d:while(1){e:while(1){d=a[e>>0]|0;switch(d<<24>>24){case 42:case 92:break;default:{if(!m)break e;switch(d<<24>>24){case 123:case 63:case 43:break;default:break e}}}d=d<<24>>24==92;if(m&d)break;f=e+1|0;if(d)switch(a[f>>0]|0){case 123:case 63:case 43:break;default:break e}e=d?f:e;if((!m?(e|0)==((c[s>>2]|0)+1|0):0)?(a[e+-1>>0]|0)==94:0)break;if((a[e>>0]|0)==123){e=S2(e+1|0,r,p,q)|0;if(!e){j=28;break b}d=c[q>>2]|0;f=c[b>>2]|0;if(!d)d=u2(f,-1,-1,-1)|0;else j=36}else{c[p>>2]=0;c[q>>2]=-1;d=a[e>>0]|0;if(d<<24>>24==43){c[p>>2]=1;d=a[e>>0]|0}if(d<<24>>24==63){c[q>>2]=1;d=1}else d=-1;e=e+1|0;f=c[b>>2]|0;j=36}if((j|0)==36){j=0;d=M2(f,c[n>>2]|0,c[p>>2]|0,d,0)|0}c[n>>2]=d;if(!d){d=12;break a}}d=v2(c[b>>2]|0,g,c[n>>2]|0)|0;f=a[e>>0]|0;f:do if(m){if(f<<24>>24==124){j=40;break d}if((h|0)!=0&f<<24>>24==41|f<<24>>24==0)j=47;else{g=d;f=i;continue c}}else{switch(f<<24>>24){case 0:{j=47;break f}case 92:break;default:{g=d;f=i;continue c}}switch(a[e+1>>0]|0){case 124:case 41:break;default:{g=d;f=i;continue c}}d=N2(c[b>>2]|0,i,d)|0;if((a[e+1>>0]|0)==124){f=2;break d}if(!h){d=8;break a}e=e+2|0;f=92}while(0);if((j|0)==47){j=0;d=N2(c[b>>2]|0,i,d)|0;e=f<<24>>24==41?e+1|0:e}d=T2(b,d,D2(t)|0)|0;if(d|0)break a;d=f<<24>>24==0;f=(h|0)<1;if(f&d){j=50;break b}if(f|d){d=8;break a}g=E2(t)|0;h=h+-1|0;i=E2(t)|0}if((j|0)==40){f=1;d=N2(c[b>>2]|0,i,d)|0}g=0;e=e+f|0;f=d}d=B2(t,f)|0;if(d|0)break a;d=B2(t,g)|0;if(d|0)break a;d=C2(t,k)|0;if(d|0)break a;d=h+1|0;k=k+1|0;e=m?e+1|0:e+2|0}if((j|0)==28){d=10;break}else if((j|0)==50){c[b+20>>2]=k;d=0;break}}while(0);l=u;return d|0}function s2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;x=A2(d)|0;y=(b|0)==0|(f|0)==0;if(!y){c[f+48>>2]=0;c[c[f+36>>2]>>2]=-1}g=f+28|0;z=C_((c[g>>2]<<3)+8|0)|0;do if(!z)g=12;else{c[z>>2]=-1;A=C_((c[g>>2]<<2)+4|0)|0;if(!A){D_(z);g=12;break}c[A>>2]=-1;B=C_((c[g>>2]<<3)+8|0)|0;if(!B){D_(z);D_(A);g=12;break}h=c[g>>2]|0;g=0;do{c[B+(g<<3)>>2]=-1;g=g+1|0}while(g>>>0<=h>>>0);B2(d,e)|0;g=C2(d,0)|0;a:do if((g|0)!=0|(A2(d)|0)<=(x|0)){e=z;n=0;h=0;m=0;l=-1}else{u=f+32|0;v=f+36|0;w=f+16|0;e=z;n=0;h=0;m=0;t=1;l=-1;s=0;while(1){b:do switch(D2(d)|0){case 6:{i=D2(d)|0;g=0;do{j=e+(g<<2)|0;g=g+1|0}while((c[j>>2]|0)>-1);c[j>>2]=i<<1|1;c[e+(g<<2)>>2]=-1;g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[A+(g+-1<<2)>>2]=-1;g=0;j=t;i=s;break}case 0:{q=E2(d)|0;r=q+12|0;j=c[r>>2]|0;if((j|0)>-1){g=0;do{i=e+(g<<2)|0;g=g+1|0}while((c[i>>2]|0)>-1);c[i>>2]=j<<1;c[e+(g<<2)>>2]=-1;if(!y){g=0;while(1)if((c[A+(g<<2)>>2]|0)>-1)g=g+1|0;else break;c[(c[w>>2]|0)+(j*12|0)+8>>2]=0;if((g|0)>0){g=C_((g<<2)+4|0)|0;if(!g){g=12;j=t;i=s;break b}c[(c[w>>2]|0)+(j*12|0)+8>>2]=g;i=c[A>>2]|0;if((i|0)>-1){k=0;j=g;do{c[j>>2]=i;k=k+1|0;i=c[A+(k<<2)>>2]|0;j=g+(k<<2)|0}while((i|0)>-1);g=j}c[g>>2]=-1}}g=C2(d,c[r>>2]|0)|0;if(g|0){j=t;i=s;break b}g=C2(d,6)|0;if(g|0){j=t;i=s;break b}}c:do switch(c[q>>2]|0){case 0:{p=c[c[q+4>>2]>>2]|0;if((p|0)>-1|(p|0)==-4?(c[e>>2]|0)>-1:0){if(y){c[q+20>>2]=1;g=0}else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=s;n=n+1|0;m=t}else{p=t;g=0;o=s}break}case 1:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;g=B2(d,q)|0;if(!g){g=C2(d,5)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(!g){i=k+20|0;g=C2(d,(c[i>>2]|0)+t|0)|0;if(!g){if((c[i>>2]|0)>0){i=(c[j+20>>2]|0)>0;g=i?t:-1;i=t+(i&1)|0}else{g=-1;i=t}g=C2(d,g)|0;if(!g){g=C2(d,4)|0;if(!g){g=B2(d,k)|0;if(!g){p=i;g=C2(d,0)|0;o=s}else{p=i;o=s}}else{p=i;o=s}}else{p=i;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 2:{i=c[q+4>>2]|0;if(y){if((c[e>>2]|0)>-1)g=1;else g=(a[i+12>>0]&1)!=0;g=C2(d,g&1)|0;if(g|0){p=t;o=s;break c}}else{g=C2(d,m)|0;if(g|0){p=t;o=s;break c}g=C2(d,a[i+12>>0]&1)|0;if(g|0){p=t;o=s;break c}}g=B2(d,q)|0;if(!g){g=C2(d,1)|0;if(!g){g=B2(d,c[i>>2]|0)|0;if(!g){g=C2(d,0)|0;if(!g){if((c[e>>2]|0)<=-1?(a[i+12>>0]&1)==0:0){p=t;g=0;o=0;break c}if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=(a[i+12>>0]&1)==0?s:1;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;p=t+1|0;o=0;n=n+1|0;m=t}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}case 3:{j=c[q+4>>2]|0;k=c[j>>2]|0;j=c[j+4>>2]|0;i=(c[e>>2]|0)>-1;p=t+1|0;g=C2(d,i?p:t)|0;if(!g){g=C2(d,i?t:m)|0;if(!g){g=B2(d,e)|0;if(!g){g=C2(d,(c[e>>2]|0)>>>31^1)|0;if(!g){g=B2(d,q)|0;if(!g){g=B2(d,j)|0;if(!g){g=B2(d,k)|0;if(!g){g=C2(d,3)|0;if(!g){g=B2(d,j)|0;if(!g){g=C2(d,0)|0;if(g|0){p=t;o=s;break c}g=C2(d,2)|0;if(g|0){p=t;o=s;break c}g=B2(d,k)|0;if(g|0){p=t;o=s;break c}g=C2(d,0)|0;if(g|0){p=t;o=s;break c}if((c[e>>2]|0)>-1){if(y)g=0;else{g=O2(b,q,m)|0;c[(c[u>>2]|0)+(m<<2)>>2]=s;if((l|0)>-1){j=c[v>>2]|0;i=0;while(1){k=j+(i<<2)|0;o=i+1|0;if((c[k>>2]|0)>-1)i=o;else break}c[k>>2]=m;c[j+(o<<2)>>2]=l;c[j+(i+2<<2)>>2]=-1;h=h+1|0;l=-1}P2(e,f,m)}c[e>>2]=-1;n=n+1|0;m=t;i=p}else{g=0;i=t}t=(c[q+16>>2]|0)>0;p=t?i+2|0:i;o=s;m=t?i+1|0:m}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}}else{p=t;o=s}break}default:{p=t;g=0;o=s}}while(0);j=c[r>>2]|0;if((j|0)>-1){i=0;do{k=A+(i<<2)|0;i=i+1|0}while((c[k>>2]|0)>-1);c[k>>2]=j;c[A+(i<<2)>>2]=-1;j=p;i=o}else{j=p;i=o}break}case 1:{g=E2(d)|0;if(y){i=c[(c[c[g+4>>2]>>2]|0)+20>>2]|0;c[g+20>>2]=(D2(d)|0)+i;i=0;l=-1}else{q=D2(d)|0;r=D2(d)|0;i=q;l=(q|0)==0?l:r}g=0;j=t;i=y?s:(i|0)==0&1;break}case 4:{i=D2(d)|0;j=D2(d)|0;g=0;m=(i|0)>-1?i:m;i=s;break}case 5:{g=E2(d)|0;if(y){j=c[g+4>>2]|0;c[g+20>>2]=(c[(c[j+4>>2]|0)+20>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);g=0;j=t;i=s}else{g=0;j=t;i=s}break}case 2:{while(1)if((c[e>>2]|0)>-1)e=e+4|0;else{g=0;j=t;i=s;break}break}case 3:{j=E2(d)|0;o=E2(d)|0;g=E2(d)|0;e=D2(d)|0;if(y){r=c[g+4>>2]|0;s=g+16|0;c[g+20>>2]=(c[(c[r>>2]|0)+20>>2]|0)+e+(c[(c[r+4>>2]|0)+20>>2]|0)+((c[s>>2]|0)>0?2:0);g=s}else g=g+16|0;e=E2(d)|0;i=D2(d)|0;k=D2(d)|0;if((c[g>>2]|0)>0){if(y)g=0;else{g=Q2(b,j,i)|0;c[(c[u>>2]|0)+(i<<2)>>2]=1;if(!g)g=Q2(b,o,k)|0;c[(c[u>>2]|0)+(k<<2)>>2]=1}n=n+2|0;j=t;i=1}else{g=0;j=t;i=1}break}default:{g=0;j=t;i=s}}while(0);if((g|0)!=0|(A2(d)|0)<=(x|0))break a;else{t=j;s=i}}}while(0);if(!y?(P2(e,f,m),(l|0)>-1):0){i=c[f+36>>2]|0;e=0;while(1){j=i+(e<<2)|0;k=e+1|0;if((c[j>>2]|0)>-1)e=k;else break}c[j>>2]=m;c[i+(k<<2)>>2]=l;c[i+(e+2<<2)>>2]=-1;h=h+1|0}c[f+48>>2]=n;c[f+40>>2]=n;c[f+44>>2]=h;D_(z);D_(A);D_(B)}while(0);return g|0}function t2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+16|0;t=y+12|0;x=y+8|0;u=y+4|0;v=y;w=A2(b)|0;c[t>>2]=0;c[x>>2]=0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d){b:do if((A2(b)|0)>(w|0)){g=0;i=0;j=0;c:while(1){q=D2(b)|0;r=E2(b)|0;d:do switch(q|0){case 0:{switch(c[r>>2]|0){case 0:{d=c[r+4>>2]|0;r=c[d>>2]|0;if(!((r|0)>-1|(r|0)==-4)){d=j;break d}r=d+8|0;d=(c[r>>2]|0)+j|0;c[r>>2]=d;if((d|0)<=(c[x>>2]|0)){d=j;break d}c[x>>2]=d;d=j;break d}case 3:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 1:{h=c[r+4>>2]|0;d=B2(b,c[h+4>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;break}case 2:{h=c[r+4>>2]|0;d=C2(b,j)|0;if(d|0)break b;d=B2(b,r)|0;if(d|0)break b;d=C2(b,1)|0;if(d|0)break b;d=B2(b,c[h>>2]|0)|0;if(d|0)break b;d=C2(b,0)|0;if(d|0)break b;if((c[h+4>>2]|0)<=1?(c[h+8>>2]|0)<=1:0)d=j;else{c[t>>2]=0;d=0}i=i+1|0;break d}default:{d=j;break d}}d=C2(b,0)|0;if(!d)d=j;else break b;break}case 1:{p=r+4|0;o=c[p>>2]|0;q=D2(b)|0;c[t>>2]=q;n=o+4|0;j=c[n>>2]|0;if((j|0)<=1)if((c[o+8>>2]|0)>1){c[u>>2]=0;if((j|0)>0)s=30;else{d=q;h=0;s=37}}else d=q;else{c[u>>2]=0;s=30}e:do if((s|0)==30){d=L2(a,b,c[o>>2]|0,(j|0)>1?1:2,t,f,v,x)|0;if(!d){h=0;k=q;m=1}else{s=34;break c}while(1){d=c[v>>2]|0;if(!h)h=d;else h=v2(a,h,d)|0;if(!h){d=12;s=34;break c}j=c[n>>2]|0;if((m|0)>=(j|0)){d=k;s=37;break e}k=c[t>>2]|0;m=m+1|0;d=L2(a,b,c[o>>2]|0,(m|0)<(j|0)?1:2,t,f,v,x)|0;if(d|0){s=34;break c}}}while(0);if((s|0)==37){s=0;n=o+8|0;k=c[n>>2]|0;if((k|0)==-1){k=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,u,x)|0;if(d|0)break c;j=M2(a,c[u>>2]|0,0,-1,0)|0;c[u>>2]=j;if(!j){d=12;break c}else d=k}else if((j|0)<(k|0)){k=j;j=0;while(1){m=c[t>>2]|0;d=L2(a,b,c[o>>2]|0,0,t,0,v,x)|0;if(d|0){s=49;break c}if(!j){d=c[v>>2]|0;c[u>>2]=d}else{d=v2(a,c[v>>2]|0,j)|0;c[u>>2]=d}if(!d){d=12;s=49;break c}j=u2(a,-1,-1,-1)|0;if(!j){d=12;s=49;break c}j=N2(a,j,d)|0;c[u>>2]=j;if(!j){d=12;s=49;break c}k=k+1|0;if((k|0)>=(c[n>>2]|0)){d=m;break}}}else j=0;c[t>>2]=d;if(h){if(j){h=v2(a,h,j)|0;s=54}}else{h=j;s=54}if((s|0)==54){s=0;if(!h){d=12;break c}}c[p>>2]=c[h+4>>2];c[r>>2]=c[h>>2]}i=i+-1|0;h=d-q+g|0;if(!i){c[t>>2]=h;g=h;i=0;d=h}else g=h;break}default:d=j}while(0);if((A2(b)|0)>(w|0))j=d;else{d=0;break b}}break a}else{d=0;g=0}while(0);w=(c[e>>2]|0)+g|0;x=c[x>>2]|0;c[e>>2]=(x|0)>(w|0)?x:w}}while(0);l=y;return d|0}function u2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=n2(a,0,0,1,20)|0;a=K2(a,0,f)|0;if(!a)a=0;else{c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=e}return a|0}function v2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,1,e)|0;if(!a)d=0;else{c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}}return d|0}function w2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+16|0;j=o+4|0;k=o;m=A2(b)|0;d=B2(b,d)|0;a:do if(!d){d=C2(b,0)|0;if(!d)if((A2(b)|0)>(m|0)){b:while(1){h=D2(b)|0;i=E2(b)|0;c:do switch(h|0){case 0:switch(c[i>>2]|0){case 0:{g=c[i+4>>2]|0;f=c[g>>2]|0;if((f|0)==-4){c[i+8>>2]=0;d=g+8|0;h=F2(a,c[d>>2]|0,0,1114111,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,0,1114111,0,0,c[g+4>>2]|0)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}d=i+8|0;if((f|0)<0){c[d>>2]=1;h=G2(a)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=G2(a)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}else{c[d>>2]=0;d=g+8|0;e=g+4|0;h=F2(a,c[d>>2]|0,f,c[e>>2]|0,0,0,-1)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=F2(a,c[d>>2]|0,c[g>>2]|0,c[e>>2]|0,c[g+12>>2]|0,c[g+16>>2]|0,-1)|0;c[i+28>>2]=h;if(!h){d=12;break a}else break c}}case 3:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,1)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 1:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,2)|0;if(d|0)break a;e=i+4|0;d=B2(b,c[(c[e>>2]|0)+4>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(d|0)break a;d=B2(b,c[c[e>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}case 2:{d=B2(b,i)|0;if(d|0)break a;d=C2(b,3)|0;if(d|0)break a;d=B2(b,c[c[i+4>>2]>>2]|0)|0;if(d|0)break a;d=C2(b,0)|0;if(!d)break c;else break a}default:break c}case 1:{d=c[i+4>>2]|0;e=c[d>>2]|0;f=d+4|0;g=c[f>>2]|0;if(!(c[e+8>>2]|0))h=(c[g+8>>2]|0)!=0;else h=1;c[i+8>>2]=h&1;h=H2(a,c[e+24>>2]|0,c[g+24>>2]|0,0,0)|0;c[i+24>>2]=h;if(!h){d=12;break a}h=H2(a,c[(c[d>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,0,0)|0;c[i+28>>2]=h;if(!h){d=12;break a}break}case 3:{h=c[i+4>>2]|0;d=c[h>>2]|0;if(!(c[h+4>>2]|0))e=1;else e=(c[d+8>>2]|0)!=0&1;c[i+8>>2]=e;c[i+24>>2]=c[d+24>>2];c[i+28>>2]=c[d+28>>2];break}case 2:{g=c[i+4>>2]|0;d=c[g>>2]|0;e=d+8|0;if(!(c[e>>2]|0))f=0;else f=(c[(c[g+4>>2]|0)+8>>2]|0)!=0;c[i+8>>2]=f&1;if(c[e>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[g>>2]|0,e,k,0)|0;if(d|0){n=45;break b}d=g+4|0;h=i+24|0;c[h>>2]=H2(a,c[(c[d>>2]|0)+24>>2]|0,c[(c[g>>2]|0)+24>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[h>>2]|0)){d=12;break b}else f=d}else{c[i+24>>2]=c[d+24>>2];f=g+4|0}d=c[f>>2]|0;if(c[d+8>>2]|0){d=I2(b,d,0,0,j)|0;if(d|0)break b;e=C_((c[j>>2]<<2)+4|0)|0;if(!e){d=12;break b}c[e>>2]=-1;c[k>>2]=0;d=I2(b,c[f>>2]|0,e,k,0)|0;if(d|0){n=52;break b}i=i+28|0;c[i>>2]=H2(a,c[(c[g>>2]|0)+28>>2]|0,c[(c[f>>2]|0)+28>>2]|0,e,c[k>>2]|0)|0;D_(e);if(!(c[i>>2]|0)){d=12;break b}}else c[i+28>>2]=c[d+28>>2];break}default:{}}while(0);if((A2(b)|0)<=(m|0)){d=0;break a}}if((n|0)==45)D_(e);else if((n|0)==52)D_(e)}else d=0}while(0);l=o;return d|0}function x2(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:while(1){switch(c[a>>2]|0){case 2:{a=c[a+4>>2]|0;if((c[a+8>>2]|0)==-1?(h=c[a>>2]|0,h=z2(c[h+28>>2]|0,c[h+24>>2]|0,b,d,e)|0,(h|0)!=0):0){a=h;break a}break}case 3:{f=c[a+4>>2]|0;a=x2(c[f>>2]|0,b,d,e)|0;if(a|0)break a;a=f+4|0;break}case 1:{f=c[a+4>>2]|0;g=f+4|0;a=z2(c[(c[f>>2]|0)+28>>2]|0,c[(c[g>>2]|0)+24>>2]|0,b,d,e)|0;if(a|0)break a;a=x2(c[f>>2]|0,b,d,e)|0;if(!a)a=g;else break a;break}default:{a=0;break a}}a=c[a>>2]|0}return a|0}function y2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=c[a+4>>2]|0;if(h|0){e=h+4|0;a=c[h>>2]|0;if(c[e>>2]|0){d=0;do{if(c[a+(d<<5)+8>>2]|0){b=c[a+(d<<5)+16>>2]|0;if(b){D_(b);a=c[h>>2]|0}b=c[a+(d<<5)+28>>2]|0;if(b){D_(b);a=c[h>>2]|0}}d=d+1|0}while(d>>>0<(c[e>>2]|0)>>>0)}if(a|0)D_(a);d=h+8|0;a=c[d>>2]|0;if(a|0){if(c[a+8>>2]|0){while(1){b=c[a+16>>2]|0;if(b|0)D_(b);if(!(c[a+40>>2]|0))break;else a=a+32|0}a=c[d>>2]|0}D_(a)}f=h+16|0;a=c[f>>2]|0;if(a|0){g=h+28|0;b=c[g>>2]|0;if(b){e=0;do{d=c[a+(e*12|0)+8>>2]|0;if(d){D_(d);b=c[g>>2]|0;a=c[f>>2]|0}e=e+1|0}while(e>>>0<b>>>0)}D_(a)}a=c[h+32>>2]|0;if(a|0)D_(a);a=c[h+20>>2]|0;if(a|0)D_(a);a=c[h+36>>2]|0;if(a|0)D_(a);D_(h)}return}function z2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=c[a>>2]|0;h=(g|0)>-1;a:do if(!d)if(h){h=b+32|0;do{if((c[b>>2]|0)>-1?(y=e+(g<<2)|0,c[y>>2]=(c[y>>2]|0)+1,(c[h>>2]|0)>-1):0){g=h;do{y=e+(c[a>>2]<<2)|0;c[y>>2]=(c[y>>2]|0)+1;g=g+32|0}while((c[g>>2]|0)>-1)}a=a+32|0;g=c[a>>2]|0}while((g|0)>-1);g=0}else g=0;else if(h)while(1){h=c[b>>2]|0;b:do if((h|0)>-1){p=a+4|0;q=a+8|0;r=a+16|0;s=a+20|0;t=a+24|0;u=a+28|0;v=a+12|0;e=-1;g=b;while(1){o=h;while(1){if((o|0)!=(e|0))break;g=g+32|0;h=c[g>>2]|0;if((h|0)>-1)o=h;else break b}l=d+(c[f+(c[a>>2]<<2)>>2]<<5)|0;while(1){h=l+8|0;if(!(c[h>>2]|0))break;else l=l+32|0}c[l+40>>2]=0;c[l>>2]=c[p>>2];c[l+4>>2]=c[q>>2];c[h>>2]=d+(c[f+(o<<2)>>2]<<5);c[l+12>>2]=o;h=c[s>>2]|0;e=c[g+16>>2]|c[r>>2]|(h|0?4:0)|(c[t>>2]|0?8:0);i=l+20|0;c[i>>2]=e;j=c[u>>2]|0;if((j|0)>-1){c[i>>2]=e|256;h=j}c[l+24>>2]=h;e=c[t>>2]|0;if(!e)c[l+28>>2]=0;else{h=0;do{n=h;h=h+1|0}while((c[e+(n<<2)>>2]|0)!=0);h=C_(h<<2)|0;c[l+28>>2]=h;if(!h){g=12;break a}k=c[t>>2]|0;e=c[k>>2]|0;if(e){j=0;i=h;do{c[i>>2]=e;j=j+1|0;e=c[k+(j<<2)>>2]|0;i=h+(j<<2)|0}while((e|0)!=0);h=i}c[h>>2]=0}e=c[v>>2]|0;if(!e)h=0;else{h=0;while(1)if((c[e+(h<<2)>>2]|0)>-1)h=h+1|0;else break}k=g+12|0;i=c[k>>2]|0;if(!i)e=0;else{e=0;while(1)if((c[i+(e<<2)>>2]|0)>-1)e=e+1|0;else break}j=l+16|0;i=c[j>>2]|0;if(i|0)D_(i);c[j>>2]=0;h=e+h|0;if((h|0)>0){n=C_((h<<2)+4|0)|0;c[j>>2]=n;if(!n){g=12;break a}e=c[v>>2]|0;if((e|0)!=0?(w=c[e>>2]|0,(w|0)>-1):0){h=0;i=w;do{c[n+(h<<2)>>2]=i;h=h+1|0;i=c[e+(h<<2)>>2]|0}while((i|0)>-1);m=h}else m=0;j=c[k>>2]|0;if((j|0)!=0?(x=c[j>>2]|0,(x|0)>-1):0){k=(m|0)>0;h=m;i=0;l=x;do{c:do if(k){e=0;while(1){if((c[n+(e<<2)>>2]|0)==(l|0))break c;e=e+1|0;if((e|0)>=(m|0)){y=39;break}}}else y=39;while(0);if((y|0)==39){y=0;c[n+(h<<2)>>2]=l;h=h+1|0}i=i+1|0;l=c[j+(i<<2)>>2]|0}while((l|0)>-1)}else h=m;c[n+(h<<2)>>2]=-1}g=g+32|0;h=c[g>>2]|0;if((h|0)<=-1)break;else e=o}}while(0);a=a+32|0;if((c[a>>2]|0)<=-1){g=0;break}}else g=0;while(0);return g|0}function A2(a){a=a|0;return c[a+12>>2]|0}function B2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function C2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[f>>2]=b;c[e>>2]=c[f>>2];b=J2(a,e)|0;l=d;return b|0}function D2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function E2(a){a=a|0;var b=0,d=0;b=c[a+16>>2]|0;d=a+12|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;return c[b+(a<<2)>>2]|0}function F2(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;a=n2(a,0,0,1,64)|0;if(!a)a=0;else{c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+20>>2]=f;c[a+24>>2]=g;c[a+28>>2]=h;c[a+32>>2]=-1;c[a+36>>2]=-1;c[a+40>>2]=-1}return a|0}function G2(a){a=a|0;a=n2(a,0,0,1,32)|0;if(!a)a=0;else{c[a>>2]=-1;c[a+4>>2]=-1;c[a+8>>2]=-1}return a|0}function H2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(e|0)==0;if(o)n=0;else{g=0;while(1)if((c[e+(g<<2)>>2]|0)>-1)g=g+1|0;else{n=g;break}}h=0;while(1)if((c[b+(h<<5)>>2]|0)>-1)h=h+1|0;else{g=0;break}while(1)if((c[d+(g<<5)>>2]|0)>-1)g=g+1|0;else break;g=n2(a,0,0,1,(g+h<<5)+32|0)|0;a:do if(!g)g=0;else{h=c[b>>2]|0;if((h|0)>-1){m=(n|0)>0;i=0;while(1){c[g+(i<<5)>>2]=h;c[g+(i<<5)+4>>2]=c[b+(i<<5)+4>>2];c[g+(i<<5)+8>>2]=c[b+(i<<5)+8>>2];c[g+(i<<5)+16>>2]=c[b+(i<<5)+16>>2]|f;c[g+(i<<5)+20>>2]=c[b+(i<<5)+20>>2];c[g+(i<<5)+24>>2]=c[b+(i<<5)+24>>2];c[g+(i<<5)+28>>2]=c[b+(i<<5)+28>>2];l=b+(i<<5)+12|0;j=c[l>>2]|0;h=(j|0)==0;if(o&h)h=0;else{if(h)k=0;else{h=0;while(1)if((c[j+(h<<2)>>2]|0)>-1)h=h+1|0;else{k=h;break}}h=n2(a,0,0,0,(k+n<<2)+4|0)|0;if(!h){g=0;break a}if((k|0)>0){l=c[l>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[l+(j<<2)>>2];j=j+1|0}while((j|0)!=(k|0))}else k=0;if(m){j=0;do{c[h+(j+k<<2)>>2]=c[e+(j<<2)>>2];j=j+1|0}while((j|0)!=(n|0));j=n}else j=0;c[h+(j+k<<2)>>2]=-1}c[g+(i<<5)+12>>2]=h;i=i+1|0;h=c[b+(i<<5)>>2]|0;if((h|0)<=-1){n=i;break}}}else n=0;i=c[d>>2]|0;h=g+(n<<5)|0;if((i|0)>-1){m=0;l=n;do{c[h>>2]=i;c[g+(l<<5)+4>>2]=c[d+(m<<5)+4>>2];c[g+(l<<5)+8>>2]=c[d+(m<<5)+8>>2];c[g+(l<<5)+16>>2]=c[d+(m<<5)+16>>2];c[g+(l<<5)+20>>2]=c[d+(m<<5)+20>>2];c[g+(l<<5)+24>>2]=c[d+(m<<5)+24>>2];c[g+(l<<5)+28>>2]=c[d+(m<<5)+28>>2];j=d+(m<<5)+12|0;h=c[j>>2]|0;if(!h)h=0;else{i=0;while(1)if((c[h+(i<<2)>>2]|0)>-1)i=i+1|0;else break;h=n2(a,0,0,0,(i<<2)+4|0)|0;if(!h){g=0;break a}if((i|0)>0){k=c[j>>2]|0;j=0;do{c[h+(j<<2)>>2]=c[k+(j<<2)>>2];j=j+1|0}while((j|0)!=(i|0))}else i=0;c[h+(i<<2)>>2]=-1}c[g+(l<<5)+12>>2]=h;m=m+1|0;i=c[d+(m<<5)>>2]|0;l=m+n|0;h=g+(l<<5)|0}while((i|0)>-1)}c[h>>2]=-1}while(0);return g|0}function I2(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=A2(a)|0;p=(f|0)!=0;if(p)c[f>>2]=0;b=B2(a,b)|0;a:do if(!b){m=(d|0)==0;l=(e|0)==0;if((A2(a)|0)>(o|0))while(1){b=E2(a)|0;b:do switch(c[b>>2]|0){case 0:{b=c[b+4>>2]|0;switch(c[b>>2]|0){case -3:break;case -2:{if(l)break b;c[e>>2]=c[e>>2]|c[b+4>>2];break b}default:break b}h=c[b+4>>2]|0;if((h|0)>-1){c:do if(!m){b=0;while(1){i=d+(b<<2)|0;j=c[i>>2]|0;if((j|0)<=-1)break;if((j|0)==(h|0))break c;else b=b+1|0}c[i>>2]=h;c[d+(b+1<<2)>>2]=-1}while(0);if(p)c[f>>2]=(c[f>>2]|0)+1}break}case 3:{b=c[b+4>>2]|0;h=c[b>>2]|0;if(c[h+8>>2]|0){k=h;n=6;break b}b=c[b+4>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}case 1:{b=c[b+4>>2]|0;h=B2(a,c[b>>2]|0)|0;if(h|0){g=h;break a}k=c[b+4>>2]|0;n=6;break}case 2:{b=c[c[b+4>>2]>>2]|0;if(c[b+8>>2]|0){k=b;n=6}break}default:{}}while(0);if((n|0)==6?(n=0,g=B2(a,k)|0,g|0):0)break a;if((A2(a)|0)<=(o|0)){g=0;break a}}else g=0}else g=b;while(0);return g|0}function J2(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k;d=a+12|0;e=c[d>>2]|0;j=c[a>>2]|0;if((e|0)>=(j|0)){d=c[a+4>>2]|0;if((j|0)<(d|0)?(f=(c[a+8>>2]|0)+j|0,f=(f|0)>(d|0)?d:f,h=a+16|0,i=F_(c[h>>2]|0,f<<2)|0,(i|0)!=0):0){c[a>>2]=f;c[h>>2]=i;c[g>>2]=c[b>>2];J2(a,g)|0;d=0}else d=12}else{c[(c[a+16>>2]|0)+(e<<2)>>2]=c[b>>2];c[d>>2]=(c[d>>2]|0)+1;d=0}l=k;return d|0}function K2(a,b,d){a=a|0;b=b|0;d=d|0;a=n2(a,0,0,1,32)|0;if((d|0)!=0&(a|0)!=0){c[a+4>>2]=d;c[a>>2]=b;c[a+8>>2]=-1;c[a+12>>2]=-1}else a=0;return a|0}function L2(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=A2(d)|0;B2(d,e)|0;e=C2(d,0)|0;a:do if(!e){q=(f&1|0)==0;p=(f&2|0)!=0;o=0;l=1;e=i;while(1){if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}b:while(1){c:while(1){switch(D2(d)|0){case 1:{i=7;break c}case 0:{e=E2(d)|0;switch(c[e>>2]|0){case 0:{i=9;break b}case 3:{i=19;break b}case 1:{i=26;break b}case 2:{i=33;break c}default:{}}break}default:{}}if((A2(d)|0)<=(r|0)){f=o;e=0;break a}}if((i|0)==7)e=E2(d)|0;else if((i|0)==33){f=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=M2(b,c[f>>2]|0,c[f+4>>2]|0,c[f+8>>2]|0,a[f+12>>0]&1)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}e=c[e+4>>2]|0}if((A2(d)|0)>(r|0))n=e;else{f=o;e=0;break a}}if((i|0)==9){m=c[e+4>>2]|0;i=c[m+8>>2]|0;f=c[m>>2]|0;e=c[m+4>>2]|0;if(!((f|0)>-1|(f|0)==-4))if(q|(f|0)!=-3)if((f|0)==-3)if(p&(l|0)!=0){c[h+(e<<2)>>2]=1;f=-3;k=o;l=0}else{f=-3;k=o}else k=o;else{e=-1;f=-1;i=-1;k=o}else{i=(c[g>>2]|0)+i|0;k=o+1|0}e=u2(b,f,e,i)|0;c[n>>2]=e;if(!e)e=12;else{e=c[e+4>>2]|0;c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];e=0}if((i|0)>(c[j>>2]|0)){c[j>>2]=i;f=n}else f=n}else if((i|0)==19){i=c[e+4>>2]|0;f=i+4|0;e=N2(b,c[i>>2]|0,c[f>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}m=c[e+4>>2]|0;e=B2(d,c[f>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,m+4|0)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}k=o;f=m;e=C2(d,0)|0}else if((i|0)==26){m=c[e+4>>2]|0;i=m+4|0;e=v2(b,c[m>>2]|0,c[i>>2]|0)|0;c[n>>2]=e;if(!e){f=o;e=12;break a}f=c[e+4>>2]|0;c[f>>2]=0;k=f+4|0;c[k>>2]=0;e=B2(d,c[i>>2]|0)|0;if(e|0){f=o;break a}e=C2(d,0)|0;if(e|0){f=o;break a}e=B2(d,k)|0;if(e|0){f=o;break a}e=C2(d,1)|0;if(e|0){f=o;break a}e=B2(d,c[m>>2]|0)|0;if(e|0){f=o;break a}k=o;e=C2(d,0)|0}if(!e){o=k;e=f}else{f=k;break}}}else f=0;while(0);c[g>>2]=(c[g>>2]|0)+f;return e|0}function M2(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=n2(b,0,0,1,16)|0;b=K2(b,2,h)|0;if(!b)b=0;else{c[h>>2]=d;c[h+4>>2]=e;c[h+8>>2]=f;h=h+12|0;a[h>>0]=a[h>>0]&-2|g&1;c[b+16>>2]=c[d+16>>2]}return b|0}function N2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(b){e=n2(a,0,0,1,8)|0;a=K2(a,3,e)|0;if((d|0)!=0&(a|0)!=0){c[e>>2]=b;c[e+4>>2]=d;c[a+16>>2]=(c[d+16>>2]|0)+(c[b+16>>2]|0);d=a}else d=0}return d|0}function O2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e+4>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function P2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=c[a>>2]|0;if((f|0)>-1){g=c[b+16>>2]|0;e=0;b=f;do{f=b>>>1;c[((b&1|0)==0?g+(f*12|0)|0:g+(f*12|0)+4|0)>>2]=d;e=e+1|0;b=c[a+(e<<2)>>2]|0}while((b|0)>-1)}c[a>>2]=-1;return}function Q2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=n2(a,0,0,0,8)|0;if(((e|0)!=0?(d=u2(a,-3,d,-1)|0,c[e+4>>2]=d,(d|0)!=0):0)?(f=n2(a,0,0,0,32)|0,c[e>>2]=f,(f|0)!=0):0){a=b+4|0;c[f+4>>2]=c[a>>2];c[f>>2]=c[b>>2];c[f+8>>2]=-1;c[f+12>>2]=-1;f=f+16|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[a>>2]=e;c[b>>2]=1;a=0}else a=12;return a|0}function R2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;j=m;i=b+32|0;h=c[i>>2]|0;g=h&1;a:do switch(a[d>>0]|0){case 91:{e=V2(b,d+1|0)|0;break}case 92:{e=d+1|0;f=W2(e)|0;if(f|0){e=R2(b,f)|0;c[b+12>>2]=d+2;break a}f=a[e>>0]|0;switch(f|0){case 0:{e=5;break a}case 98:{f=u2(c[b>>2]|0,-2,64,-1)|0;break}case 66:{f=u2(c[b>>2]|0,-2,128,-1)|0;break}case 60:{f=u2(c[b>>2]|0,-2,16,-1)|0;break}case 62:{f=u2(c[b>>2]|0,-2,32,-1)|0;break}case 120:{h=d+2|0;i=(a[h>>0]|0)==123;g=i?8:2;h=i?d+3|0:h;e=0;f=0;do{d=X2(a[h+e>>0]|0)|0;if((d|0)<0)break;f=d+(f<<4)|0;e=e+1|0}while((f|0)<1114112&(e|0)<(g|0));e=h+e|0;if(i){if((a[e>>0]|0)!=125){e=9;break a}e=e+1|0}j=c[b>>2]|0;i=b+24|0;k=c[i>>2]|0;c[i>>2]=k+1;f=u2(j,f,f,k)|0;e=e+-1|0;break}case 63:case 43:case 123:if(!g){e=13;break a}else{k=37;break a}case 124:{if(g|0){k=37;break a}e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45;break a}default:{if(!((g|0)==0&(f+-49|0)>>>0<9)){k=37;break a}j=f+-48|0;k=c[b>>2]|0;i=b+24|0;f=c[i>>2]|0;c[i>>2]=f+1;f=u2(k,-4,j,f)|0;k=b+28|0;i=c[k>>2]|0;c[k>>2]=(j|0)<(i|0)?i:j}}d=e+1|0;e=f;k=45;break}case 46:{e=c[b>>2]|0;g=b+24|0;f=c[g>>2]|0;c[g>>2]=f+1;if(h&4){f=u2(e,0,9,f)|0;k=c[b>>2]|0;e=c[g>>2]|0;c[g>>2]=e+1;e=u2(k,11,1114111,e)|0;if((f|0)!=0&(e|0)!=0)e=N2(c[b>>2]|0,f,e)|0;else e=0}else e=u2(e,0,1114111,f)|0;d=d+1|0;k=45;break}case 94:{if((g|0)==0?(c[b+16>>2]|0)!=(d|0):0){e=d;k=37;break a}d=d+1|0;e=u2(c[b>>2]|0,-2,1,-1)|0;k=45;break}case 36:{e=d+1|0;if((g|0)==0?a[e>>0]|0:0){e=d;k=37;break a}d=e;e=u2(c[b>>2]|0,-2,2,-1)|0;k=45;break}case 63:case 43:case 123:case 42:{if(!g){e=d;k=37}else e=13;break}case 124:{if(!g){e=d;k=37}else k=36;break}case 0:{k=36;break}default:{e=d;k=37}}while(0);if((k|0)==36){e=u2(c[b>>2]|0,-1,-1,-1)|0;k=45}else if((k|0)==37){h=B1(j,e,-1)|0;if((h|0)<0)e=2;else{do if(c[i>>2]&2){if((m0(c[j>>2]|0)|0)==0?(l0(c[j>>2]|0)|0)==0:0){k=43;break}i=c[b>>2]|0;n=R$(c[j>>2]|0)|0;g=R$(c[j>>2]|0)|0;f=b+24|0;g=u2(i,n,g,c[f>>2]|0)|0;n=c[b>>2]|0;i=o0(c[j>>2]|0)|0;d=o0(c[j>>2]|0)|0;d=u2(n,i,d,c[f>>2]|0)|0;if((g|0)!=0&(d|0)!=0)g=N2(c[b>>2]|0,g,d)|0;else g=0}else k=43;while(0);if((k|0)==43){g=c[j>>2]|0;f=b+24|0;g=u2(c[b>>2]|0,g,g,c[f>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+1;d=e+h|0;e=g;k=45}}if((k|0)==45)if(!e)e=12;else{c[b+8>>2]=e;c[b+12>>2]=d;e=0}l=m;return e|0}function S2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;b=U2(b,i)|0;if((a[b>>0]|0)==44){b=U2(b+1|0,g)|0;h=c[g>>2]|0;g=c[i>>2]|0}else{i=c[i>>2]|0;c[g>>2]=i;h=i;g=i}do if(!(g>>>0>255|((h|0)>255|(h|0)>-1&(h|0)<(g|0)))){if(!d)if((a[b>>0]|0)==92)b=b+1|0;else{b=0;break}if((a[b>>0]|0)==125){c[e>>2]=g;c[f>>2]=h;b=b+1|0}else b=0}else b=0;while(0);l=j;return b|0}function T2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[b+12>>2]|0)>-1){e=u2(c[a>>2]|0,-1,-1,-1)|0;if((e|0)!=0?(f=v2(c[a>>2]|0,e,b)|0,(f|0)!=0):0){e=c[b+16>>2]|0;c[f+16>>2]=e;g=6}else e=12}else{f=b;e=c[b+16>>2]|0;g=6}if((g|0)==6){c[f+12>>2]=d;c[f+16>>2]=e+1;c[a+8>>2]=f;e=0}return e|0}function U2(b,d){b=b|0;d=d|0;var e=0;c[d>>2]=-1;a:do if(E$(a[b>>0]|0)|0){c[d>>2]=0;e=0;do{c[d>>2]=(e*10|0)+-48+(a[b>>0]|0);b=b+1|0;if(!(E$(a[b>>0]|0)|0))break a;e=c[d>>2]|0}while((e|0)<=255)}while(0);return b|0}function V2(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+288|0;e=s+264|0;g=s;c[e>>2]=c[b>>2];h=e+8|0;c[h>>2]=0;c[e+12>>2]=32;p=C_(128)|0;r=e+4|0;c[r>>2]=p;if(!p)d=12;else{f=g+4|0;c[f>>2]=0;p=(a[d>>0]|0)==94;c[g>>2]=p&1;d=Y2(b,p?d+1|0:d,e,g)|0;a:do if(!d){p=(c[g>>2]|0)==0;if(!p){_0(c[r>>2]|0,c[h>>2]|0,4,109);d=_2(e)|0;if(!d){d=12;e=0;break}c[d>>2]=1114112;c[d+4>>2]=1114112;c[d+8>>2]=-1;d=c[f>>2]|0;if(d){e=d<<2;f=n2(c[b>>2]|0,0,0,0,e+4|0)|0;if(!f){d=12;e=0;break}F3(f|0,g+8|0,e|0)|0;c[f+(d<<2)>>2]=0}else f=0}else f=0;m=c[h>>2]|0;if((m|0)>0){n=c[r>>2]|0;o=b+24|0;e=0;d=0;k=0;while(1){j=c[n+(k<<2)>>2]|0;g=c[j>>2]|0;h=j+4|0;i=c[h>>2]|0;do if(!p)if((g|0)>(d|0)){c[j>>2]=d;c[h>>2]=g+-1;d=i+1|0;q=14;break}else{j=i+1|0;d=(j|0)>=(d|0)?j:d;break}else q=14;while(0);if((q|0)==14){q=0;c[j+8>>2]=c[o>>2];c[j+16>>2]=f;j=K2(c[b>>2]|0,0,j)|0;e=N2(c[b>>2]|0,e,j)|0;if(!e){d=12;e=0;break a}}k=k+1|0;if((k|0)>=(m|0)){d=0;break}}}else{d=0;e=0}}else e=0;while(0);D_(c[r>>2]|0);r=b+24|0;c[r>>2]=(c[r>>2]|0)+1;c[b+8>>2]=e}l=s;return d|0}function W2(b){b=b|0;var d=0;d=a[b>>0]|0;b=0;while(1){if((a[63648+(b<<3)>>0]|0)==d<<24>>24)break;b=b+1|0;if((b|0)==12){b=12;break}}return c[63648+(b<<3)+4>>2]|0}function X2(a){a=a|0;var b=0;b=a+-48|0;if(b>>>0<10)return b|0;else{b=a|32;return ((b+-97|0)>>>0<6?b+-87|0:-1)|0}return 0}function Y2(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+32|0;o=t;q=t+4|0;i=B1(o,d,-1)|0;g=a[d>>0]|0;a:do if((i|0)>=1){r=f+4|0;n=b+32|0;h=d;j=i;b:while(1){i=(h|0)==(d|0);if(!(i|g<<24>>24!=93)){s=5;break}c:do if(!(i|g<<24>>24!=45)){switch(a[h+1>>0]|0){case 93:break c;case 45:break;default:{g=11;break a}}if((a[h+2>>0]|0)==93){g=11;break a}}while(0);d:do if(g<<24>>24==91){switch(a[h+1>>0]|0){case 61:case 46:{g=3;break a}case 58:break;default:{s=17;break d}}i=h+2|0;g=0;e:while(1){switch(a[i+g>>0]|0){case 0:{s=16;break b}case 58:break e;default:{}}if((g|0)<13)g=g+1|0;else{s=16;break b}}F3(q|0,i|0,g|0)|0;a[q+g>>0]=0;j=H0(q)|0;if(!j){s=16;break b}h=i+(g+2)|0;if((a[i+(g+1)>>0]|0)!=93){s=16;break b}if(!(c[f>>2]|0)){g=1114111;m=0;k=1;s=25}else{g=c[r>>2]|0;if((g|0)>63){g=12;break a}c[r>>2]=g+1;c[f+8+(g<<2)>>2]=j}}else s=17;while(0);if((s|0)==17){s=0;i=c[o>>2]|0;h=h+j|0;if((a[h>>0]|0)==45?(p=h+1|0,(a[p>>0]|0)!=93):0){h=B1(o,p,-1)|0;g=c[o>>2]|0;if((h|0)<1|(i|0)>(g|0)){g=11;break a}j=0;m=i;h=p+h|0;k=0;s=25}else{j=0;g=i;m=i;k=0;s=25}}if((s|0)==25){s=0;i=_2(e)|0;if(!i){g=12;break a}c[i>>2]=m;c[i+4>>2]=g;c[i+12>>2]=j;c[i+8>>2]=-1;if(!(k|(c[n>>2]&2|0)==0)?($2(e,m,g)|0)!=0:0){g=12;break a}}j=B1(o,h,-1)|0;g=a[h>>0]|0;if((j|0)<1){s=3;break a}}if((s|0)==5){c[b+12>>2]=h+1;g=0;break}else if((s|0)==16){g=4;break}}else s=3;while(0);if((s|0)==3)g=g<<24>>24?2:7;l=t;return g|0}function Z2(a,b){a=a|0;b=b|0;return (c[c[a>>2]>>2]|0)-(c[c[b>>2]>>2]|0)|0}function _2(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=a+8|0;d=c[h>>2]|0;e=a+12|0;f=c[e>>2]|0;if((d|0)>=(f|0))if((f|0)<=32767?(c[e>>2]=f<<1,g=a+4|0,b=F_(c[g>>2]|0,f<<3)|0,(b|0)!=0):0){c[g>>2]=b;d=c[h>>2]|0;i=6}else b=0;else{b=c[a+4>>2]|0;i=6}if((i|0)==6){c[h>>2]=d+1;i=n2(c[a>>2]|0,0,0,1,20)|0;c[b+(d<<2)>>2]=i;b=i}return b|0}function $2(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;a:do if((b|0)>(d|0))b=0;else while(1){b:do if(!(l0(b)|0)){if(!(m0(b)|0)){b=b+1|0;break}f=o0(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((o0(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}else{f=R$(b)|0;e=f;while(1){g=b+1|0;e=e+1|0;if((b|0)>=(d|0)){h=f;b=g;g=12;break b}if((R$(g)|0)==(e|0))b=g;else{h=f;b=g;g=12;break}}}while(0);if((g|0)==12){g=0;f=_2(a)|0;if(!f){b=-1;break a}c[f>>2]=h;c[f+4>>2]=e+-1;c[f+8>>2]=-1}if((b|0)>(d|0)){b=0;break}}while(0);return b|0}function a3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;k=n;i=c[a+4>>2]|0;j=i+56|0;h=(c[j>>2]&8|0)==0?d:0;a=c[i+40>>2]|0;if((a|0)>0&(h|0)!=0){a=C_(a<<2)|0;if(!a)a=12;else{g=a;d=a;m=3}}else{g=0;d=0;m=3}if((m|0)==3){if(!(c[i+60>>2]|0))a=c3(i,b,g,f,k)|0;else a=b3(i,b,g,f,k)|0;if(!a)d3(h,e,c[j>>2]|0,i,g,c[k>>2]|0);if(g)D_(d)}l=n;return a|0}function b3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;V=l;l=l+16|0;T=V;c[T>>2]=0;o=e&1;R=e&2;S=a+56|0;n=c[S>>2]&4;U=l2(0,0)|0;a:do if(U){p=n2(U,0,0,0,32)|0;if(!p){m2(U);e=12;break}c[p+24>>2]=0;c[p+28>>2]=0;Q=a+40|0;e=c[Q>>2]|0;if(e){e=C_(e<<2)|0;if(!e){m=0;k=0;j=e;e=12;i=0;h=0;g=0}else{j=e;i=e;C=6}}else{j=0;i=0;C=6}b:do if((C|0)==6){e=c[a+28>>2]|0;if(e){e=C_(e<<3)|0;if(!e){m=e;k=0;e=12;h=0;g=0;break}else{m=e;h=e}}else{m=0;h=0}P=a+52|0;e=c[P>>2]|0;if(e){e=C_(e<<2)|0;if(!e){k=e;e=12;g=0;break}else{k=e;g=e}}else{k=0;g=0}K=a+8|0;L=a+12|0;M=(d|0)==0;N=(d|0)!=0;O=a+32|0;J=(n|0)!=0;I=(o|0)==0;r=b;e=1;q=-1;v=-1;B=0;c:while(1){n=c[Q>>2]|0;if((n|0)>0){o=0;do{c[j+(o<<2)>>2]=-1;if(!M){c[d+(o<<2)>>2]=-1;n=c[Q>>2]|0}o=o+1|0}while((o|0)<(n|0))}n=c[P>>2]|0;if((n|0)>0)H3(g|0,0,n<<2|0)|0;G=e+q|0;e=B1(T,r,4)|0;if((e|0)<1)if((e|0)<0){e=1;break b}else e=1;F=r+e|0;H=c[T>>2]|0;n=c[K>>2]|0;o=n+8|0;if(c[o>>2]|0){w=(G|0)!=0;x=(B|0)==95;y=(G|0)==0;A=J&(B|0)==10;z=(G|0)<1&I;u=n;n=0;t=0;s=o;while(1){r=u+20|0;o=c[r>>2]|0;d:do if(o)if((o&1|0)==0|z|A){if(o&2|0?(E=c[T>>2]|0,!((E|R|0)==0|J&(E|0)==10)):0){q=t;break}do if(o&16|0){if(x){q=t;break d}if(h0(B)|0){q=t;break d}o=c[T>>2]|0;if((o|0)==95)break;if(!(h0(o)|0)){q=t;break d}}while(0);o=c[r>>2]|0;if(o&32){if(x){o=c[T>>2]|0;if((o|0)==95){q=t;break}}else{E=(h0(B)|0)==0;o=c[T>>2]|0;if(E|(o|0)==95){q=t;break}}if(h0(o)|0){q=t;break}o=c[r>>2]|0}q=c[T>>2]|0;do if((q|0)!=0&(w&(o&64|0)!=0)){if(x)o=1;else{o=(h0(B)|0)!=0;q=c[T>>2]|0}if((q|0)==95)if(o){q=t;break d}else break;else if(o^(h0(q)|0)!=0)break;else{q=t;break d}}while(0);if(!(c[r>>2]&128)){C=49;break}o=c[T>>2]|0;if(y|(o|0)==0){q=t;break}if(x)q=1;else{q=(h0(B)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(q){C=49;break}else{q=t;break}else if(q^(h0(o)|0)!=0){q=t;break}else{C=49;break}}else q=t;else C=49;while(0);do if((C|0)==49){C=0;if(!t){n=c[u+16>>2]|0;q=c[s>>2]|0;break}q=p+28|0;o=c[q>>2]|0;if(!o){o=n2(U,0,0,0,32)|0;if(!o){C=53;break c}c[o+24>>2]=p;c[o+28>>2]=0;E=n2(U,0,0,0,c[Q>>2]<<2)|0;c[o+20>>2]=E;if(!E){C=60;break c}c[q>>2]=o;p=o}else p=o;c[p>>2]=G;c[p+4>>2]=F;c[p+8>>2]=c[s>>2];c[p+12>>2]=c[u+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){q=c[p+20>>2]|0;o=0;do{c[q+(o<<2)>>2]=c[j+(o<<2)>>2];o=o+1|0}while((o|0)<(c[Q>>2]|0))}o=c[u+16>>2]|0;if(!o)q=t;else{q=c[o>>2]|0;if((q|0)<=-1){q=t;break}r=c[p+20>>2]|0;do{o=o+4|0;c[r+(q<<2)>>2]=G;q=c[o>>2]|0}while((q|0)>-1);q=t}}while(0);s=u+40|0;if(!(c[s>>2]|0))break;else{u=u+32|0;t=q}}if(n){o=c[n>>2]|0;if((o|0)>-1)do{c[j+(o<<2)>>2]=G;n=n+4|0;o=c[n>>2]|0}while((o|0)>-1)}else n=0;if(!q)C=171;else{s=G;r=F;w=q;x=n;C=79}}else{n=0;C=171}e:while(1){if((C|0)==79){if((w|0)==(c[L>>2]|0)){if((v|0)>=(s|0)){if(!(N&(v|0)==(s|0))){n=x;C=171;continue}n=c[Q>>2]|0;if(!(f3(n,c[O>>2]|0,j,d)|0)){n=x;C=171;continue}}else{if(M){v=s;n=x;C=171;continue}n=c[Q>>2]|0}if((n|0)>0)n=0;else{v=s;n=x;C=171;continue}while(1){c[d+(n<<2)>>2]=c[j+(n<<2)>>2];n=n+1|0;if((n|0)>=(c[Q>>2]|0)){v=s;n=x;C=171;continue e}}}u=w+8|0;if((c[u>>2]|0)!=0?(c[w+20>>2]&256|0)!=0:0){o=c[w+24>>2]|0;d3(o+1|0,m,c[S>>2]&-9,a,j,s);E=c[m+(o<<3)>>2]|0;o=(c[m+(o<<3)+4>>2]|0)-E|0;if(z$(b+E|0,r+-1|0,o)|0){n=x;C=171;continue}E=(o|0)==0;n=E&1;q=c[w+12>>2]|0;if(E?c[k+(q<<2)>>2]|0:0){n=x;C=171;continue}c[k+(q<<2)>>2]=n;o=o+-1|0;r=r+o|0;o=o+s|0;q=c[T>>2]|0;n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;D=r+n|0;E=n}else{q=c[T>>2]|0;if(!q){n=x;C=171;continue}n=B1(T,r,4)|0;if((n|0)<1)if((n|0)<0){e=1;break b}else n=1;o=s;D=r+n|0;E=n}s=o+e|0;if(!(c[u>>2]|0)){e=E;n=x;C=171;continue}y=(s|0)!=0;z=(q|0)==95;A=(s|0)==0;C=J&(q|0)==10;B=(s|0)<1&I;t=0;n=x;while(1){f:do if((c[w>>2]|0)>>>0<=q>>>0){if((c[w+4>>2]|0)>>>0<q>>>0)break;r=w+20|0;e=c[r>>2]|0;do if(e|0){if(!((e&1|0)==0|B|C))break f;if(e&2|0?(x=c[T>>2]|0,!((x|R|0)==0|J&(x|0)==10)):0)break f;do if(e&16|0){if(z)break f;if(h0(q)|0)break f;e=c[T>>2]|0;if((e|0)==95)break;if(!(h0(e)|0))break f}while(0);e=c[r>>2]|0;if(e&32){if(z){e=c[T>>2]|0;if((e|0)==95)break f}else{x=(h0(q)|0)==0;e=c[T>>2]|0;if(x|(e|0)==95)break f}if(h0(e)|0)break f;e=c[r>>2]|0}o=c[T>>2]|0;do if((o|0)!=0&(y&(e&64|0)!=0)){if(z)e=1;else{e=(h0(q)|0)!=0;o=c[T>>2]|0}if((o|0)==95)if(e)break f;else break;else if(e^(h0(o)|0)!=0)break;else break f}while(0);do if(c[r>>2]&128|0){e=c[T>>2]|0;if(A|(e|0)==0)break f;if(z)o=1;else{o=(h0(q)|0)!=0;e=c[T>>2]|0}if((e|0)==95)if(o)break;else break f;else if(o^(h0(e)|0)!=0)break f;else break}while(0);e=c[r>>2]|0;do if(e&4){if(c[S>>2]&2|0)break;if(!(g0(q,c[w+24>>2]|0)|0))break f;e=c[r>>2]|0}while(0);do if(e&4|0){if(!(c[S>>2]&2))break;x=o0(q)|0;e=w+24|0;if(g0(x,c[e>>2]|0)|0)break;x=R$(q)|0;if(!(g0(x,c[e>>2]|0)|0))break f}while(0);if(!(c[r>>2]&8))break;if(e3(c[w+28>>2]|0,q,c[S>>2]&2)|0)break f}while(0);if(!t){t=c[u>>2]|0;n=c[w+16>>2]|0;break}o=p+28|0;e=c[o>>2]|0;if(!e){e=n2(U,0,0,0,32)|0;if(!e){C=145;break c}c[e+24>>2]=p;c[e+28>>2]=0;x=n2(U,0,0,0,c[Q>>2]<<2)|0;c[e+20>>2]=x;if(!x){C=152;break c}c[o>>2]=e;p=e}else p=e;c[p>>2]=s;c[p+4>>2]=D;c[p+8>>2]=c[u>>2];c[p+12>>2]=c[w+12>>2];c[p+16>>2]=c[T>>2];if((c[Q>>2]|0)>0){o=c[p+20>>2]|0;e=0;do{c[o+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)<(c[Q>>2]|0))}e=c[w+16>>2]|0;if(!e)break;o=c[e>>2]|0;if((o|0)<=-1)break;r=c[p+20>>2]|0;do{c[r+(o<<2)>>2]=s;e=e+4|0;o=c[e>>2]|0}while((o|0)>-1)}while(0);u=w+40|0;if(!(c[u>>2]|0))break;else w=w+32|0}if(!t){e=E;C=171;continue}if(n){e=c[n>>2]|0;if((e|0)>-1){do{n=n+4|0;c[j+(e<<2)>>2]=s;e=c[n>>2]|0}while((e|0)>-1);q=v;o=D;e=E}else{q=v;o=D;e=E}}else{q=v;o=D;e=E;n=0}}else if((C|0)==171){C=0;r=c[p+24>>2]|0;if(!r)break;t=c[p+8>>2]|0;if(c[t+20>>2]&256|0)c[k+(c[p+12>>2]<<2)>>2]=0;s=c[p>>2]|0;u=c[p+4>>2]|0;c[T>>2]=c[p+16>>2];q=c[Q>>2]|0;if((q|0)>0){p=c[p+20>>2]|0;o=0;do{c[j+(o<<2)>>2]=c[p+(o<<2)>>2];o=o+1|0}while((o|0)<(q|0));p=r;q=v;o=u}else{p=r;q=v;o=u}}r=o;v=q;w=t;x=n;C=79}n=(v|0)>-1;if(n|(c[T>>2]|0)==0){C=180;break}c[T>>2]=H;r=F;q=G;B=H}if((C|0)==53){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==60){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==145){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==152){m2(U);if(j|0)D_(i);if(m|0)D_(h);if(!k){e=12;break a}D_(g);e=12;break a}else if((C|0)==180){c[f>>2]=v;e=(n^1)&1;break}}while(0);m2(U);if(j|0)D_(i);if(m|0)D_(h);if(k)D_(g)}else e=12;while(0);l=V;return e|0}function c3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+16|0;T=W;c[T>>2]=0;k=e&1;Q=e&2;R=a+56|0;j=c[R>>2]&4;if(!d)N=0;else N=c[a+40>>2]|0;P=N<<2;i=a+52|0;e=c[i>>2]|0;h=e<<3;g=h+8|0;e=P+12+h+(g+(O(P,e)|0)<<1)|0;U=C_(e)|0;if(!U)e=12;else{H3(U|0,0,e|0)|0;e=U+P|0;m=e&3;m=e+((m|0)==0?0:4-m|0)|0;e=m+g|0;n=e&3;n=e+((n|0)==0?0:4-n|0)|0;e=n+g|0;M=e&3;M=e+((M|0)==0?0:4-M|0)|0;e=M+h|0;g=e&3;i=c[i>>2]|0;h=(i|0)>0;if(h){e=e+((g|0)==0?0:4-g|0)|0;g=0;while(1){c[n+(g<<3)+4>>2]=e;e=e+P|0;c[m+(g<<3)+4>>2]=e;g=g+1|0;if((g|0)>=(i|0))break;else e=e+P|0}if(h){e=0;do{c[M+(e<<3)>>2]=-1;e=e+1|0}while((e|0)<(i|0))}}e=B1(T,b,4)|0;if((e|0)<1)if((e|0)<0)e=1;else{i=1;V=11}else{i=e;V=11}a:do if((V|0)==11){L=a+8|0;K=(j|0)!=0;E=(k|0)==0;F=(N|0)>0;G=a+12|0;H=(N|0)<1;I=a+44|0;J=a+32|0;C=a+36|0;D=(N|0)==0;h=0;v=b+i|0;u=0;j=0;e=-1;g=m;A=U;x=m;w=n;while(1){if((e|0)<0){a=c[L>>2]|0;k=a+8|0;b:do if(c[k>>2]|0){p=(u|0)!=0;q=(h|0)==95;r=(u|0)==0;t=K&(h|0)==10;s=(u|0)<1&E;while(1){c:while(1){o=a+12|0;if((c[M+(c[o>>2]<<3)>>2]|0)>=(u|0))break;n=a+20|0;b=c[n>>2]|0;if(!b){V=46;break}d:do if((b&1|0)==0|s|t){if(b&2|0?(B=c[T>>2]|0,!((B|Q|0)==0|K&(B|0)==10)):0)break;do if(b&16|0){if(q)break d;if(h0(h)|0)break d;b=c[T>>2]|0;if((b|0)==95)break;if(!(h0(b)|0))break d}while(0);b=c[n>>2]|0;if(b&32){if(q){b=c[T>>2]|0;if((b|0)==95)break}else{B=(h0(h)|0)==0;b=c[T>>2]|0;if(B|(b|0)==95)break}if(h0(b)|0)break;b=c[n>>2]|0}m=c[T>>2]|0;do if((m|0)!=0&(p&(b&64|0)!=0)){if(q)b=1;else{b=(h0(h)|0)!=0;m=c[T>>2]|0}if((m|0)==95)if(b)break d;else break;else if(b^(h0(m)|0)!=0)break;else break d}while(0);if(!(c[n>>2]&128)){V=46;break c}b=c[T>>2]|0;if(r|(b|0)==0)break;if(q)m=1;else{m=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(m){V=46;break c}else break;else if(m^(h0(b)|0)!=0)break;else{V=46;break c}}while(0);k=a+40|0;if(!(c[k>>2]|0))break b;else a=a+32|0}if((V|0)==46){V=0;c[g>>2]=c[k>>2];if(F)H3(c[g+4>>2]|0,-1,P|0)|0;k=c[a+16>>2]|0;if(k|0?(S=c[k>>2]|0,(S|0)>-1):0){m=g+4|0;b=S;do{if((b|0)<(N|0))c[(c[m>>2]|0)+(b<<2)>>2]=u;k=k+4|0;b=c[k>>2]|0}while((b|0)>-1)}k=(c[g>>2]|0)!=(c[G>>2]|0);if(k|H){j=k?j:1;e=k?e:u;k=g+4|0}else{k=g+4|0;j=c[k>>2]|0;e=0;do{c[d+(e<<2)>>2]=c[j+(e<<2)>>2];e=e+1|0}while((e|0)!=(N|0));j=1;e=u}B=c[o>>2]|0;c[M+(B<<3)>>2]=u;c[M+(B<<3)+4>>2]=k;g=g+8|0}k=a+40|0;if(!(c[k>>2]|0))break;else a=a+32|0}}while(0);c[g>>2]=0;g=c[T>>2]|0;if(!g)break;else h=g}else{if(D)break;h=c[T>>2]|0;if(!((g|0)!=(x|0)&(h|0)!=0))break}B=u+i|0;g=B1(T,v,4)|0;if((g|0)<1)if((g|0)<0){e=1;break a}else i=1;else i=g;z=v+i|0;if((j|0)!=0&(c[I>>2]|0)!=0){if(!(c[x>>2]|0))g=w;else{o=c[C>>2]|0;p=c[o>>2]|0;q=(p|0)>-1;n=x;g=w;do{m=n+4|0;e:do if(q){k=0;b=p;do{a=c[o+((k|1)<<2)>>2]|0;if((b|0)>=(N|0))break e;j=c[m>>2]|0;if((c[j+(a<<2)>>2]|0)==(c[d+(a<<2)>>2]|0)?(c[j+(b<<2)>>2]|0)<(c[d+(b<<2)>>2]|0):0)break e;k=k+2|0;b=c[o+(k<<2)>>2]|0}while((b|0)>-1);k=m;V=75}else{k=m;j=c[m>>2]|0;V=75}while(0);if((V|0)==75){V=0;c[g>>2]=c[n>>2];v=g+4|0;y=c[v>>2]|0;c[v>>2]=j;c[k>>2]=y;g=g+8|0}n=n+8|0}while((c[n>>2]|0)!=0)}c[g>>2]=0;y=x;j=0}else{y=w;w=x}k=c[w>>2]|0;if(!k){k=A;g=y}else{r=(B|0)!=0;s=(h|0)==95;t=(B|0)==0;v=K&(h|0)==10;u=(B|0)<1&E;q=w;a=A;g=y;while(1){b=k+8|0;if(c[b>>2]|0){p=q+4|0;o=a;n=b;while(1){f:do if((c[k>>2]|0)>>>0<=h>>>0?(c[k+4>>2]|0)>>>0>=h>>>0:0){m=k+20|0;a=c[m>>2]|0;do if(a|0){if(!((a&1|0)==0|u|v)){a=o;break f}if(a&2|0?(A=c[T>>2]|0,!((A|Q|0)==0|K&(A|0)==10)):0){a=o;break f}do if(a&16|0){if(s){a=o;break f}if(h0(h)|0){a=o;break f}a=c[T>>2]|0;if((a|0)==95)break;if(!(h0(a)|0)){a=o;break f}}while(0);a=c[m>>2]|0;if(a&32){if(s){a=c[T>>2]|0;if((a|0)==95){a=o;break f}}else{A=(h0(h)|0)==0;a=c[T>>2]|0;if(A|(a|0)==95){a=o;break f}}if(h0(a)|0){a=o;break f}a=c[m>>2]|0}b=c[T>>2]|0;do if((b|0)!=0&(r&(a&64|0)!=0)){if(s)a=1;else{a=(h0(h)|0)!=0;b=c[T>>2]|0}if((b|0)==95)if(a){a=o;break f}else break;else if(a^(h0(b)|0)!=0)break;else{a=o;break f}}while(0);do if(c[m>>2]&128|0){a=c[T>>2]|0;if(t|(a|0)==0){a=o;break f}if(s)b=1;else{b=(h0(h)|0)!=0;a=c[T>>2]|0}if((a|0)==95)if(b)break;else{a=o;break f}else if(b^(h0(a)|0)!=0){a=o;break f}else break}while(0);a=c[m>>2]|0;do if(a&4){if(c[R>>2]&2|0)break;if(!(g0(h,c[k+24>>2]|0)|0)){a=o;break f}a=c[m>>2]|0}while(0);do if(a&4|0){if(!(c[R>>2]&2))break;A=o0(h)|0;a=k+24|0;if(g0(A,c[a>>2]|0)|0)break;A=R$(h)|0;if(!(g0(A,c[a>>2]|0)|0)){a=o;break f}}while(0);if(!(c[m>>2]&8))break;if(e3(c[k+28>>2]|0,h,c[R>>2]&2)|0){a=o;break f}}while(0);if(F){b=c[p>>2]|0;a=0;do{c[o+(a<<2)>>2]=c[b+(a<<2)>>2];a=a+1|0}while((a|0)!=(N|0))}a=c[k+16>>2]|0;do if(a|0){b=c[a>>2]|0;if((b|0)<=-1)break;do{if((b|0)<(N|0))c[o+(b<<2)>>2]=B;a=a+4|0;b=c[a>>2]|0}while((b|0)>-1)}while(0);a=c[k+12>>2]|0;b=M+(a<<3)|0;if((c[b>>2]|0)>=(B|0)){a=c[M+(a<<3)+4>>2]|0;b=c[a>>2]|0;if(!(f3(N,c[J>>2]|0,o,b)|0)){a=o;break}c[a>>2]=o;if((c[n>>2]|0)!=(c[G>>2]|0)){a=b;break}if(F)e=0;else{j=1;a=b;e=B;break}while(1){c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0;if((e|0)==(N|0)){j=1;a=b;e=B;break f}}}A=c[n>>2]|0;c[g>>2]=A;x=g+4|0;m=c[x>>2]|0;c[x>>2]=o;c[b>>2]=B;c[M+(a<<3)+4>>2]=x;do if((c[G>>2]|0)==(A|0)){if((e|0)==-1)if(F)e=0;else{e=B;j=1;break}else{if(!F)break;if((c[o>>2]|0)>(c[d>>2]|0))break;else e=0}do{c[d+(e<<2)>>2]=c[o+(e<<2)>>2];e=e+1|0}while((e|0)<(N|0));e=B;j=1}while(0);a=m;g=g+8|0}else a=o;while(0);n=k+40|0;if(!(c[n>>2]|0))break;else{k=k+32|0;o=a}}}q=q+8|0;k=c[q>>2]|0;if(!k){k=a;break}}}c[g>>2]=0;v=z;u=B;A=k;x=y}c[f>>2]=e;e=e>>>31}while(0);D_(U)}l=W;return e|0}function d3(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((d&8|0)==0&(g|0)>-1?(m=c[e+16>>2]|0,n=c[e+28>>2]|0,l=(a|0)!=0&(n|0)!=0,l):0){k=c[e+48>>2]|0;j=0;do{d=c[m+(j*12|0)>>2]|0;if((d|0)==(k|0))i=g;else i=c[f+(d<<2)>>2]|0;h=b+(j<<3)|0;c[h>>2]=i;d=c[m+(j*12|0)+4>>2]|0;if((d|0)==(k|0))d=g;else d=c[f+(d<<2)>>2]|0;e=b+(j<<3)+4|0;c[e>>2]=d;if((d|0)==-1|(i|0)==-1){c[e>>2]=-1;c[h>>2]=-1}j=j+1|0}while(j>>>0<a>>>0&j>>>0<n>>>0);if(l){d=0;do{i=b+(d<<3)+4|0;j=c[m+(d*12|0)+8>>2]|0;if(j|0?(o=c[j>>2]|0,(o|0)>-1):0){k=b+(d<<3)|0;h=0;f=o;e=c[k>>2]|0;do{if(!((e|0)>=(c[b+(f<<3)>>2]|0)?(c[i>>2]|0)<=(c[b+(f<<3)+4>>2]|0):0)){c[i>>2]=-1;c[k>>2]=-1;e=-1}h=h+1|0;f=c[j+(h<<2)>>2]|0}while((f|0)>-1)}d=d+1|0}while(d>>>0<a>>>0&d>>>0<n>>>0)}else d=0}else d=0;if(d>>>0<a>>>0)H3(b+(d<<3)|0,-1,a-d<<3|0)|0;return}function e3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[a>>2]|0;a:do if(!e)d=0;else{f=(d|0)==0;d=e;while(1){if(f){if(g0(b,d)|0){d=1;break a}}else{e=R$(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}e=o0(b)|0;if(g0(e,c[a>>2]|0)|0){d=1;break a}}a=a+4|0;d=c[a>>2]|0;if(!d){d=0;break}}}while(0);return d|0}function f3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((a|0)>0){f=0;while(1){h=c[d+(f<<2)>>2]|0;g=c[e+(f<<2)>>2]|0;if(!(c[b+(f<<2)>>2]|0)){if((h|0)<(g|0)){f=1;break a}if((h|0)>(g|0)){f=0;break a}}else{if((h|0)>(g|0)){f=1;break a}if((h|0)<(g|0)){f=0;break a}}f=f+1|0;if((f|0)>=(a|0)){f=0;break}}}else f=0;while(0);return f|0}function g3(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=O(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=t0(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0<k>>>0?i:k;F3(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(K$(f)|0)break;h=nb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)u0(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)u0(f);return e|0}function h3(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(t0(a)|0)==0;a=i3(a)|0}else a=i3(a)|0;return a|0}function i3(a){a=a|0;var b=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=nb[c[a+40>>2]&63](a,0,b)|0;if((b|0)>=0)b=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return b|0}function j3(a){a=a|0;(c[a+76>>2]|0)>-1?t0(a)|0:0;return c[a+60>>2]|0}function k3(b){b=b|0;var d=0,e=0,f=0,g=0;f=c[15653]|0;if((c[f+76>>2]|0)>-1)g=t0(f)|0;else g=0;do if((D1(b,f)|0)<0)b=-1;else{if((a[f+75>>0]|0)!=10?(d=f+20|0,e=c[d>>2]|0,e>>>0<(c[f+16>>2]|0)>>>0):0){c[d>>2]=e+1;a[e>>0]=10;b=0;break}b=(F1(f,10)|0)>>31}while(0);if(g|0)u0(f);return b|0}function l3(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;i=k+24|0;h=k+16|0;g=k;d=k+28|0;b=d;e=150604;f=b+20|0;do{a[b>>0]=a[e>>0]|0;b=b+1|0;e=e+1|0}while((b|0)<(f|0));e=d+13|0;b=0;while(1){h1(e)|0;c[g>>2]=d;c[g+4>>2]=32962;c[g+8>>2]=384;f=N_(Ha(5,g|0)|0)|0;if((f|0)>-1){j=4;break}if((b|0)<99)b=b+1|0;else{b=0;break}}if((j|0)==4){c[h>>2]=d;wa(10,h|0)|0;b=z1(f,150624)|0;if(!b){c[i>>2]=f;Ja(6,i|0)|0;b=0}}l=k;return b|0}function m3(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(t0(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=J$(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=J$(a)|0;break}}while(0);return b|0}function n3(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(t0(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=F1(d,b)|0;u0(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=F1(d,b)|0}while(0);return e|0}function o3(a){a=a|0;return h3(a)|0}function p3(){}function q3(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function r3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=q3(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function s3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (z=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function t3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function u3(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}\nfunction v3(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<<i;b=k>>>(m>>>0)&b;g=0;i=l<<i;break}if(!f){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<<m|l>>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<<p&j;i=(k<<p|l>>>(o>>>0))&j|l<<m&i-33>>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=u3(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((u3(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<<i|l>>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<<i;break}if(!f){o=0;p=0;return (z=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=s3(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;t3(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=t3(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function w3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return v3(a,b,c,d,0)|0}function x3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;v3(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function y3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=(b|0)<0?-1:0;return b>>c-32|0}function z3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}z=0;return b>>>c-32|0}function A3(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}z=a<<c-32;return 0}function B3(a){a=a|0;return (a&255)<<8|a>>8&255|0}function C3(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function D3(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;q=q+1|0;c[a>>2]=q;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=q;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;z=e;return d|0}f=f+1|0}e=e*2|0;d=F_(d|0,8*(e+1|0)|0)|0;d=D3(a|0,b|0,d|0,e|0)|0;z=e;return d|0}function E3(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function F3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ra(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function G3(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else F3(b,c,d)|0;return b|0}function H3(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function I3(a){a=a|0;var b=0,d=0;d=c[i>>2]|0;b=d+a|0;if((a|0)>0&(b|0)<(d|0)|(b|0)<0){W()|0;va(12);return -1}c[i>>2]=b;if((b|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=d;va(12);return -1}return d|0}function J3(a){a=a|0;return +gb[a&1]()}function K3(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;return +hb[a&7](+b,+c,+d)}function L3(a,b){a=a|0;b=b|0;return +ib[a&1](b|0)}function M3(a){a=a|0;return jb[a&3]()|0}function N3(a,b){a=a|0;b=b|0;return kb[a&63](b|0)|0}function O3(a,b,c){a=a|0;b=b|0;c=c|0;return lb[a&127](b|0,c|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;return mb[a&3](b|0,c|0,+d,+e)|0}function Q3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nb[a&63](b|0,c|0,d|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ob[a&127](b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return pb[a&127](b|0,c|0,d|0,e|0,f|0)|0}function T3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return qb[a&1](b|0,c|0,d|0,e|0,f|0,g|0)|0}function U3(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return rb[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function V3(a){a=a|0;sb[a&15]()}function W3(a,b){a=a|0;b=b|0;tb[a&127](b|0)}function X3(a,b,c){a=a|0;b=b|0;c=c|0;ub[a&63](b|0,c|0)}function Y3(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vb[a&127](b|0,c|0,d|0)}function Z3(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;g=g|0;wb[a&15](b|0,c|0,d|0,+e,+f,g|0)}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;xb[a&31](b|0,c|0,d|0,e|0)}function $3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;yb[a&15](b|0,c|0,d|0,e|0,f|0)}function a4(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;zb[a&15](b|0,c|0,d|0,e|0,f|0,g|0)}function b4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;Ab[a&0](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function c4(){S(0);return 0.0}function d4(a,b,c){a=+a;b=+b;c=+c;S(1);return 0.0}function e4(a){a=a|0;S(2);return 0.0}function f4(){S(3);return 0}function g4(a){a=a|0;S(4);return 0}function h4(a,b){a=a|0;b=b|0;S(5);return 0}function i4(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;S(6);return 0}function j4(a,b,c){a=a|0;b=b|0;c=c|0;S(7);return 0}function k4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(9);return 0}function m4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(10);return 0}function n4(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;S(11);return 0}function o4(){S(12)}function p4(a){a=a|0;S(13)}function q4(a,b){a=a|0;b=b|0;S(14)}function r4(a,b,c){a=a|0;b=b|0;c=c|0;S(15)}function s4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;S(16)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(17)}function u4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(18)}function v4(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(19)}function w4(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;S(20)}\n\n// EMSCRIPTEN_END_FUNCS\nvar gb=[c4,FL];var hb=[d4,RF,QF,SF,TF,d4,d4,d4];var ib=[e4,ML];var jb=[f4,eq,EH,vI];var kb=[g4,eh,zg,Nm,Om,Fy,Iy,sN,tN,iP,jP,kP,lP,mP,nP,oP,pP,K_,Ib,bC,Al,Dl,an,vH,ay,Sy,$x,AH,FH,by,eN,uH,jN,kN,bV,C_,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4,g4];var lb=[h4,hy,Ey,Jy,EK,FK,wK,sK,aK,KT,LT,MT,NT,OT,PT,RT,ST,TT,UT,VT,WT,XT,YT,ZT,_T,$T,aU,bU,cU,dU,eU,fU,gU,hU,iU,jU,kU,lU,mU,nU,wX,xX,zX,WX,XX,YX,ZX,_X,$X,aY,bY,UY,VY,XY,jY,kY,mY,$B,pg,dh,Gh,ii,Ai,Lk,Jk,Bl,El,$o,oq,Kq,Mq,Oq,Pq,Rq,Qq,ar,is,ns,ps,tu,mB,lB,kB,gD,Ty,xH,tD,JD,ED,FD,GE,D1,n3,zL,NM,xx,PR,Ex,Gx,fN,b$,oQ,JT,ZU,_U,F_,kX,lX,mX,Z2,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4,h4];var mb=[i4,qt,vt,i4];var nb=[j4,Jm,Mu,kw,sw,Bw,Gw,Dy,Hy,HI,AM,zR,AX,YY,nY,L_,M_,Q_,R_,G0,Pw,Zm,Au,tp,os,Iw,eD,Y0,vA,g1,BL,DI,sO,WU,HY,yZ,sZ,CZ,P1,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4,j4];var ob=[k4,Lm,Wq,Nu,mw,uw,Cx,AA,Dx,Wx,jy,ly,wy,vy,Ky,Oy,Qy,xI,CM,VN,TN,PP,BR,XR,WR,pX,qX,rX,sX,tX,uX,vX,yX,CX,NY,OY,PY,QY,RY,SY,TY,WY,_Y,cY,dY,eY,fY,gY,hY,iY,lY,pY,Lw,Az,iD,DL,QV,TV,_V,jW,sW,yW,wW,zW,iX,DZ,XW,JY,KY,zZ,AZ,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4,k4];var pb=[l4,iy,bK,xK,DX,EX,UX,VX,pZ,$Y,aZ,qY,rY,nX,oX,FZ,GZ,HZ,IZ,KZ,LZ,MZ,NZ,OZ,QZ,RZ,SZ,TZ,UZ,PZ,s_,t_,j_,c_,VZ,WZ,XZ,ZZ,YZ,_Z,$Z,a_,b_,d_,e_,f_,g_,h_,i_,k_,l_,m_,n_,r_,p_,o_,q_,y_,u_,v_,w_,x_,z_,A_,B_,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4,l4];var qb=[m4,AU];var rb=[n4,rZ,BZ,n4];var sb=[o4,EL,BH,CH,DH,HH,IH,JH,FR,o4,o4,o4,o4,o4,o4,o4];var tb=[p4,Ob,Pb,Tb,Ub,Vb,nc,oc,Mc,Nc,Oc,Pc,Qc,Rc,Sc,cd,dd,gd,hd,id,jd,kd,ld,md,yd,zd,Ad,Cd,Dd,Ed,Fd,Gd,Hd,Id,Jd,Ud,Vd,Wd,Yd,Zd,_d,$d,ae,be,ce,de,ee,ge,te,ue,ve,we,He,Ie,Je,Le,Ye,Ze,_e,af,bf,cf,df,ef,ff,gf,hf,jf,sf,tf,uf,vf,Yf,Tf,rm,bm,fp,Go,ao,co,Np,Op,Zl,_l,fo,no,po,Ao,my,IJ,_J,KJ,JJ,uK,fJ,iJ,qP,vP,Mf,Fl,Ko,Oo,gp,D_,ax,jD,cF,ER,lO,mN,yI,YR,zU,UU,VU,$U,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4,p4];var ub=[q4,Uc,Zc,od,td,Qd,me,Ce,Re,pf,Bf,Ly,cK,GK,yK,tK,YJ,ZJ,CK,DK,tP,xP,PI,Sw,fD,GH,dN,AT,yU,XU,YU,aV,cV,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4,q4];var vb=[r4,Wb,Xb,_b,Lc,Tc,Vc,Yc,nd,pd,sd,Ld,Md,Pd,he,ie,le,xe,ye,Be,Me,Ne,Qe,kf,lf,of,wf,xf,Af,qk,rk,sk,Km,lw,tw,Zw,ny,Py,wz,BA,YC,BG,wI,II,hJ,BM,EM,UN,SN,rP,sP,uP,wP,yP,AR,nT,mT,qx,Sx,bz,Ez,Hz,zH,CL,BI,hN,lN,oT,qT,rT,zT,BT,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4,r4];var wb=[s4,xE,yE,zE,AE,BE,CE,DE,EE,s4,s4,s4,s4,s4,s4,s4];var xb=[t4,Yb,Wc,qd,Bd,Nd,Xd,je,ze,Oe,$e,mf,yf,Pf,Of,Nf,Lf,Kf,Jf,mc,If,Hf,ky,$J,vK,BX,ZY,oY,_0,gN,iN,LY];var yb=[u4,ed,Kd,Rd,fe,Ke,Cl,hD,nN,u4,u4,u4,u4,u4,u4,u4];var zb=[v4,Zb,Xc,rd,Od,ke,Ae,Pe,nf,zf,oN,v4,v4,v4,v4,v4];var Ab=[w4];return{___errno_location:O_,___muldi3:r3,___udivdi3:w3,___uremdi3:x3,_bitshift64Ashr:y3,_bitshift64Lshr:z3,_bitshift64Shl:A3,_dtextract:zw,_free:D_,_htons:M0,_i64Add:s3,_i64Subtract:t3,_llvm_bswap_i16:B3,_llvm_bswap_i32:C3,_malloc:C_,_memalign:I_,_memcpy:F3,_memmove:G3,_memset:H3,_realloc:F_,_saveSetjmp:D3,_sbrk:I3,_testSetjmp:E3,_vizCreateFile:Kb,_vizLastErrorMessage:Jb,_vizRenderFromString:Nb,_vizSetNop:Mb,_vizSetY_invert:Lb,dynCall_d:J3,dynCall_dddd:K3,dynCall_di:L3,dynCall_i:M3,dynCall_ii:N3,dynCall_iii:O3,dynCall_iiidd:P3,dynCall_iiii:Q3,dynCall_iiiii:R3,dynCall_iiiiii:S3,dynCall_iiiiiii:T3,dynCall_iiiiiiiiiii:U3,dynCall_v:V3,dynCall_vi:W3,dynCall_vii:X3,dynCall_viii:Y3,dynCall_viiiddi:Z3,dynCall_viiii:_3,dynCall_viiiii:$3,dynCall_viiiiii:a4,dynCall_viiiiiiiii:b4,establishStackSpace:Eb,getTempRet0:Hb,runPostSets:p3,setTempRet0:Gb,setThrew:Fb,stackAlloc:Bb,stackRestore:Db,stackSave:Cb}})\n\n\n// EMSCRIPTEN_END_ASM\n(Module.asmGlobalArg,Module.asmLibraryArg,buffer);var ___errno_location=Module[\"___errno_location\"]=asm[\"___errno_location\"];var ___muldi3=Module[\"___muldi3\"]=asm[\"___muldi3\"];var ___udivdi3=Module[\"___udivdi3\"]=asm[\"___udivdi3\"];var ___uremdi3=Module[\"___uremdi3\"]=asm[\"___uremdi3\"];var _bitshift64Ashr=Module[\"_bitshift64Ashr\"]=asm[\"_bitshift64Ashr\"];var _bitshift64Lshr=Module[\"_bitshift64Lshr\"]=asm[\"_bitshift64Lshr\"];var _bitshift64Shl=Module[\"_bitshift64Shl\"]=asm[\"_bitshift64Shl\"];var _dtextract=Module[\"_dtextract\"]=asm[\"_dtextract\"];var _free=Module[\"_free\"]=asm[\"_free\"];var _htons=Module[\"_htons\"]=asm[\"_htons\"];var _i64Add=Module[\"_i64Add\"]=asm[\"_i64Add\"];var _i64Subtract=Module[\"_i64Subtract\"]=asm[\"_i64Subtract\"];var _llvm_bswap_i16=Module[\"_llvm_bswap_i16\"]=asm[\"_llvm_bswap_i16\"];var _llvm_bswap_i32=Module[\"_llvm_bswap_i32\"]=asm[\"_llvm_bswap_i32\"];var _malloc=Module[\"_malloc\"]=asm[\"_malloc\"];var _memalign=Module[\"_memalign\"]=asm[\"_memalign\"];var _memcpy=Module[\"_memcpy\"]=asm[\"_memcpy\"];var _memmove=Module[\"_memmove\"]=asm[\"_memmove\"];var _memset=Module[\"_memset\"]=asm[\"_memset\"];var _realloc=Module[\"_realloc\"]=asm[\"_realloc\"];var _saveSetjmp=Module[\"_saveSetjmp\"]=asm[\"_saveSetjmp\"];var _sbrk=Module[\"_sbrk\"]=asm[\"_sbrk\"];var _testSetjmp=Module[\"_testSetjmp\"]=asm[\"_testSetjmp\"];var _vizCreateFile=Module[\"_vizCreateFile\"]=asm[\"_vizCreateFile\"];var _vizLastErrorMessage=Module[\"_vizLastErrorMessage\"]=asm[\"_vizLastErrorMessage\"];var _vizRenderFromString=Module[\"_vizRenderFromString\"]=asm[\"_vizRenderFromString\"];var _vizSetNop=Module[\"_vizSetNop\"]=asm[\"_vizSetNop\"];var _vizSetY_invert=Module[\"_vizSetY_invert\"]=asm[\"_vizSetY_invert\"];var establishStackSpace=Module[\"establishStackSpace\"]=asm[\"establishStackSpace\"];var getTempRet0=Module[\"getTempRet0\"]=asm[\"getTempRet0\"];var runPostSets=Module[\"runPostSets\"]=asm[\"runPostSets\"];var setTempRet0=Module[\"setTempRet0\"]=asm[\"setTempRet0\"];var setThrew=Module[\"setThrew\"]=asm[\"setThrew\"];var stackAlloc=Module[\"stackAlloc\"]=asm[\"stackAlloc\"];var stackRestore=Module[\"stackRestore\"]=asm[\"stackRestore\"];var stackSave=Module[\"stackSave\"]=asm[\"stackSave\"];var dynCall_d=Module[\"dynCall_d\"]=asm[\"dynCall_d\"];var dynCall_dddd=Module[\"dynCall_dddd\"]=asm[\"dynCall_dddd\"];var dynCall_di=Module[\"dynCall_di\"]=asm[\"dynCall_di\"];var dynCall_i=Module[\"dynCall_i\"]=asm[\"dynCall_i\"];var dynCall_ii=Module[\"dynCall_ii\"]=asm[\"dynCall_ii\"];var dynCall_iii=Module[\"dynCall_iii\"]=asm[\"dynCall_iii\"];var dynCall_iiidd=Module[\"dynCall_iiidd\"]=asm[\"dynCall_iiidd\"];var dynCall_iiii=Module[\"dynCall_iiii\"]=asm[\"dynCall_iiii\"];var dynCall_iiiii=Module[\"dynCall_iiiii\"]=asm[\"dynCall_iiiii\"];var dynCall_iiiiii=Module[\"dynCall_iiiiii\"]=asm[\"dynCall_iiiiii\"];var dynCall_iiiiiii=Module[\"dynCall_iiiiiii\"]=asm[\"dynCall_iiiiiii\"];var dynCall_iiiiiiiiiii=Module[\"dynCall_iiiiiiiiiii\"]=asm[\"dynCall_iiiiiiiiiii\"];var dynCall_v=Module[\"dynCall_v\"]=asm[\"dynCall_v\"];var dynCall_vi=Module[\"dynCall_vi\"]=asm[\"dynCall_vi\"];var dynCall_vii=Module[\"dynCall_vii\"]=asm[\"dynCall_vii\"];var dynCall_viii=Module[\"dynCall_viii\"]=asm[\"dynCall_viii\"];var dynCall_viiiddi=Module[\"dynCall_viiiddi\"]=asm[\"dynCall_viiiddi\"];var dynCall_viiii=Module[\"dynCall_viiii\"]=asm[\"dynCall_viiii\"];var dynCall_viiiii=Module[\"dynCall_viiiii\"]=asm[\"dynCall_viiiii\"];var dynCall_viiiiii=Module[\"dynCall_viiiiii\"]=asm[\"dynCall_viiiiii\"];var dynCall_viiiiiiiii=Module[\"dynCall_viiiiiiiii\"]=asm[\"dynCall_viiiiiiiii\"];Module[\"asm\"]=asm;Module[\"ccall\"]=ccall;Module[\"Pointer_stringify\"]=Pointer_stringify;Module[\"UTF8ToString\"]=UTF8ToString;if(memoryInitializer){if(!isDataURI(memoryInitializer)){if(typeof Module[\"locateFile\"]===\"function\"){memoryInitializer=Module[\"locateFile\"](memoryInitializer)}else if(Module[\"memoryInitializerPrefixURL\"]){memoryInitializer=Module[\"memoryInitializerPrefixURL\"]+memoryInitializer}}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module[\"readBinary\"](memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency(\"memory initializer\");var applyMemoryInitializer=(function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module[\"memoryInitializerRequest\"])delete Module[\"memoryInitializerRequest\"].response;removeRunDependency(\"memory initializer\")});function doBrowserLoad(){Module[\"readAsync\"](memoryInitializer,applyMemoryInitializer,(function(){throw\"could not load memory initializer \"+memoryInitializer}))}var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module[\"memoryInitializerRequest\"]){function useRequest(){var request=Module[\"memoryInitializerRequest\"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module[\"memoryInitializerRequestURL\"]);if(data){response=data.buffer}else{console.warn(\"a problem seems to have happened with Module.memoryInitializerRequest, status: \"+request.status+\", retrying \"+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)}if(Module[\"memoryInitializerRequest\"].response){setTimeout(useRequest,0)}else{Module[\"memoryInitializerRequest\"].addEventListener(\"load\",useRequest)}}else{doBrowserLoad()}}}function ExitStatus(status){this.name=\"ExitStatus\";this.message=\"Program terminated with exit(\"+status+\")\";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;dependenciesFulfilled=function runCaller(){if(!Module[\"calledRun\"])run();if(!Module[\"calledRun\"])dependenciesFulfilled=runCaller};function run(args){args=args||Module[\"arguments\"];if(runDependencies>0){return}preRun();if(runDependencies>0)return;if(Module[\"calledRun\"])return;function doRun(){if(Module[\"calledRun\"])return;Module[\"calledRun\"]=true;if(ABORT)return;ensureInitRuntime();preMain();if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();postRun()}if(Module[\"setStatus\"]){Module[\"setStatus\"](\"Running...\");setTimeout((function(){setTimeout((function(){Module[\"setStatus\"](\"\")}),1);doRun()}),1)}else{doRun()}}Module[\"run\"]=run;function exit(status,implicit){if(implicit&&Module[\"noExitRuntime\"]&&status===0){return}if(Module[\"noExitRuntime\"]){}else{ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(Module[\"onExit\"])Module[\"onExit\"](status)}if(ENVIRONMENT_IS_NODE){process[\"exit\"](status)}Module[\"quit\"](status,new ExitStatus(status))}Module[\"exit\"]=exit;function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}if(what!==undefined){Module.print(what);Module.printErr(what);what=JSON.stringify(what)}else{what=\"\"}ABORT=true;EXITSTATUS=1;throw\"abort(\"+what+\"). Build with -s ASSERTIONS=1 for more info.\"}Module[\"abort\"]=abort;if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}Module[\"noExitRuntime\"]=true;run()\n\n\n\n\n return Module;\n};\n\nfunction render(instance, src, options) {\n var i;\n for (i = 0; i < options.files.length; i++) {\n instance['ccall']('vizCreateFile', 'number', ['string', 'string'], [options.files[i].path, options.files[i].data]);\n }\n\n instance['ccall']('vizSetY_invert', 'number', ['number'], [options.yInvert ? 1 : 0]);\n instance['ccall']('vizSetNop', 'number', ['number'], [options.nop ? options.nop : 0]);\n \n var resultPointer = instance['ccall']('vizRenderFromString', 'number', ['string', 'string', 'string'], [src, options.format, options.engine]);\n var resultString = instance['Pointer_stringify'](resultPointer);\n instance['ccall']('free', 'number', ['number'], [resultPointer]);\n\n var errorMessagePointer = instance['ccall']('vizLastErrorMessage', 'number', [], []);\n var errorMessageString = instance['Pointer_stringify'](errorMessagePointer);\n instance['ccall']('free', 'number', ['number'], [errorMessagePointer]);\n\n if (errorMessageString != '') {\n throw new Error(errorMessageString);\n }\n \n return resultString;\n}\n\nif (typeof importScripts === \"function\") {\n var instance = Module();\n \n onmessage = function(event) {\n var id = event.data.id;\n var src = event.data.src;\n var options = event.data.options;\n \n try {\n var result = render(instance, src, options);\n postMessage({ id: id, result: result });\n } catch (e) {\n var error;\n if (e instanceof Error) {\n error = { message: e.message, fileName: e.fileName, lineNumber: e.lineNumber };\n } else {\n error = { message: e.toString() };\n }\n postMessage({ id: id, error: error });\n }\n }\n}\n\nif (typeof exports === 'object' && typeof module !== 'undefined') {\n module.exports = { render: render, Module: Module };\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return { render: render, Module: Module }; });\n}\n\nif (typeof global.Viz !== 'undefined') {\n global.Viz.render = render;\n global.Viz.Module = Module;\n}\n\n})(typeof self !== 'undefined' ? self : this);\n","/*\nViz.js 2.1.2 (Graphviz 2.40.1, Expat 2.2.5, Emscripten 1.37.36)\nCopyright (c) 2014-2018 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software in object code form:\n\nGraphviz\nLicensed under Eclipse Public License - v 1.0\nhttp://www.graphviz.org\n\nExpat\nCopyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd and Clark Cooper\nCopyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.\nLicensed under MIT license\nhttp://www.libexpat.org\n\nzlib\nCopyright (C) 1995-2013 Jean-loup Gailly and Mark Adler\nhttp://www.zlib.net/zlib_license.html\n*/\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar _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\nvar WorkerWrapper = function () {\n function WorkerWrapper(worker) {\n var _this = this;\n\n classCallCheck(this, WorkerWrapper);\n\n this.worker = worker;\n this.listeners = [];\n this.nextId = 0;\n\n this.worker.addEventListener('message', function (event) {\n var id = event.data.id;\n var error = event.data.error;\n var result = event.data.result;\n\n _this.listeners[id](error, result);\n delete _this.listeners[id];\n });\n }\n\n createClass(WorkerWrapper, [{\n key: 'render',\n value: function render(src, options) {\n var _this2 = this;\n\n return new Promise(function (resolve, reject) {\n var id = _this2.nextId++;\n\n _this2.listeners[id] = function (error, result) {\n if (error) {\n reject(new Error(error.message, error.fileName, error.lineNumber));\n return;\n }\n resolve(result);\n };\n\n _this2.worker.postMessage({ id: id, src: src, options: options });\n });\n }\n }]);\n return WorkerWrapper;\n}();\n\nvar ModuleWrapper = function ModuleWrapper(module, render) {\n classCallCheck(this, ModuleWrapper);\n\n var instance = module();\n this.render = function (src, options) {\n return new Promise(function (resolve, reject) {\n try {\n resolve(render(instance, src, options));\n } catch (error) {\n reject(error);\n }\n });\n };\n};\n\n// https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding\n\n\nfunction b64EncodeUnicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p1) {\n return String.fromCharCode('0x' + p1);\n }));\n}\n\nfunction defaultScale() {\n if ('devicePixelRatio' in window && window.devicePixelRatio > 1) {\n return window.devicePixelRatio;\n } else {\n return 1;\n }\n}\n\nfunction svgXmlToImageElement(svgXml) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$scale = _ref.scale,\n scale = _ref$scale === undefined ? defaultScale() : _ref$scale,\n _ref$mimeType = _ref.mimeType,\n mimeType = _ref$mimeType === undefined ? \"image/png\" : _ref$mimeType,\n _ref$quality = _ref.quality,\n quality = _ref$quality === undefined ? 1 : _ref$quality;\n\n return new Promise(function (resolve, reject) {\n var svgImage = new Image();\n\n svgImage.onload = function () {\n var canvas = document.createElement('canvas');\n canvas.width = svgImage.width * scale;\n canvas.height = svgImage.height * scale;\n\n var context = canvas.getContext(\"2d\");\n context.drawImage(svgImage, 0, 0, canvas.width, canvas.height);\n\n canvas.toBlob(function (blob) {\n var image = new Image();\n image.src = URL.createObjectURL(blob);\n image.width = svgImage.width;\n image.height = svgImage.height;\n\n resolve(image);\n }, mimeType, quality);\n };\n\n svgImage.onerror = function (e) {\n var error;\n\n if ('error' in e) {\n error = e.error;\n } else {\n error = new Error('Error loading SVG');\n }\n\n reject(error);\n };\n\n svgImage.src = 'data:image/svg+xml;base64,' + b64EncodeUnicode(svgXml);\n });\n}\n\nfunction svgXmlToImageElementFabric(svgXml) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref2$scale = _ref2.scale,\n scale = _ref2$scale === undefined ? defaultScale() : _ref2$scale,\n _ref2$mimeType = _ref2.mimeType,\n mimeType = _ref2$mimeType === undefined ? 'image/png' : _ref2$mimeType,\n _ref2$quality = _ref2.quality,\n quality = _ref2$quality === undefined ? 1 : _ref2$quality;\n\n var multiplier = scale;\n\n var format = void 0;\n if (mimeType == 'image/jpeg') {\n format = 'jpeg';\n } else if (mimeType == 'image/png') {\n format = 'png';\n }\n\n return new Promise(function (resolve, reject) {\n fabric.loadSVGFromString(svgXml, function (objects, options) {\n // If there's something wrong with the SVG, Fabric may return an empty array of objects. Graphviz appears to give us at least one <g> element back even given an empty graph, so we will assume an error in this case.\n if (objects.length == 0) {\n reject(new Error('Error loading SVG with Fabric'));\n }\n\n var element = document.createElement(\"canvas\");\n element.width = options.width;\n element.height = options.height;\n\n var canvas = new fabric.Canvas(element, { enableRetinaScaling: false });\n var obj = fabric.util.groupSVGElements(objects, options);\n canvas.add(obj).renderAll();\n\n var image = new Image();\n image.src = canvas.toDataURL({ format: format, multiplier: multiplier, quality: quality });\n image.width = options.width;\n image.height = options.height;\n\n resolve(image);\n });\n });\n}\n\nvar Viz = function () {\n function Viz() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n workerURL = _ref3.workerURL,\n worker = _ref3.worker,\n Module = _ref3.Module,\n render = _ref3.render;\n\n classCallCheck(this, Viz);\n\n if (typeof workerURL !== 'undefined') {\n this.wrapper = new WorkerWrapper(new Worker(workerURL));\n } else if (typeof worker !== 'undefined') {\n this.wrapper = new WorkerWrapper(worker);\n } else if (typeof Module !== 'undefined' && typeof render !== 'undefined') {\n this.wrapper = new ModuleWrapper(Module, render);\n } else if (typeof Viz.Module !== 'undefined' && typeof Viz.render !== 'undefined') {\n this.wrapper = new ModuleWrapper(Viz.Module, Viz.render);\n } else {\n throw new Error('Must specify workerURL or worker option, Module and render options, or include one of full.render.js or lite.render.js after viz.js.');\n }\n }\n\n createClass(Viz, [{\n key: 'renderString',\n value: function renderString(src) {\n var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref4$format = _ref4.format,\n format = _ref4$format === undefined ? 'svg' : _ref4$format,\n _ref4$engine = _ref4.engine,\n engine = _ref4$engine === undefined ? 'dot' : _ref4$engine,\n _ref4$files = _ref4.files,\n files = _ref4$files === undefined ? [] : _ref4$files,\n _ref4$images = _ref4.images,\n images = _ref4$images === undefined ? [] : _ref4$images,\n _ref4$yInvert = _ref4.yInvert,\n yInvert = _ref4$yInvert === undefined ? false : _ref4$yInvert,\n _ref4$nop = _ref4.nop,\n nop = _ref4$nop === undefined ? 0 : _ref4$nop;\n\n for (var i = 0; i < images.length; i++) {\n files.push({\n path: images[i].path,\n data: '<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n<svg width=\"' + images[i].width + '\" height=\"' + images[i].height + '\"></svg>'\n });\n }\n\n return this.wrapper.render(src, { format: format, engine: engine, files: files, images: images, yInvert: yInvert, nop: nop });\n }\n }, {\n key: 'renderSVGElement',\n value: function renderSVGElement(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n var parser = new DOMParser();\n return parser.parseFromString(str, 'image/svg+xml').documentElement;\n });\n }\n }, {\n key: 'renderImageElement',\n value: function renderImageElement(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var scale = options.scale,\n mimeType = options.mimeType,\n quality = options.quality;\n\n\n return this.renderString(src, _extends({}, options, { format: 'svg' })).then(function (str) {\n if ((typeof fabric === 'undefined' ? 'undefined' : _typeof(fabric)) === \"object\" && fabric.loadSVGFromString) {\n return svgXmlToImageElementFabric(str, { scale: scale, mimeType: mimeType, quality: quality });\n } else {\n return svgXmlToImageElement(str, { scale: scale, mimeType: mimeType, quality: quality });\n }\n });\n }\n }, {\n key: 'renderJSONObject',\n value: function renderJSONObject(src) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var format = options.format;\n\n\n if (format !== 'json' || format !== 'json0') {\n format = 'json';\n }\n\n return this.renderString(src, _extends({}, options, { format: format })).then(function (str) {\n return JSON.parse(str);\n });\n }\n }]);\n return Viz;\n}();\n\nexport default Viz;\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","import {connect} from 'react-redux';\nimport {includes, isEmpty} from 'ramda';\nimport React, {useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport TreeContainer from './TreeContainer';\nimport GlobalErrorContainer from './components/error/GlobalErrorContainer.react';\nimport {\n dispatchError,\n hydrateInitialOutputs,\n onError,\n setGraphs,\n setPaths,\n setLayout,\n} from './actions';\nimport {computePaths} from './actions/paths';\nimport {computeGraphs} from './actions/dependencies';\nimport apiThunk from './actions/api';\nimport {EventEmitter} from './actions/utils';\nimport {applyPersistence} from './persistence';\nimport {getAppState} from './reducers/constants';\nimport {STATUS} from './constants/constants';\n\n/**\n * Fire off API calls for initialization\n * @param {*} props props\n * @returns {*} component\n */\nconst UnconnectedContainer = props => {\n const [errorLoading, setErrorLoading] = useState(false);\n\n const events = useRef(null);\n if (!events.current) {\n events.current = new EventEmitter();\n }\n const renderedTree = useRef(false);\n\n useEffect(storeEffect.bind(null, props, events, setErrorLoading));\n\n useEffect(() => {\n if (renderedTree.current) {\n renderedTree.current = false;\n events.current.emit('rendered');\n }\n });\n\n const {\n appLifecycle,\n dependenciesRequest,\n layoutRequest,\n layout,\n config,\n } = props;\n\n let content;\n if (\n layoutRequest.status &&\n !includes(layoutRequest.status, [STATUS.OK, 'loading'])\n ) {\n content = <div className=\"_dash-error\">Error loading layout</div>;\n } else if (\n errorLoading ||\n (dependenciesRequest.status &&\n !includes(dependenciesRequest.status, [STATUS.OK, 'loading']))\n ) {\n content = <div className=\"_dash-error\">Error loading dependencies</div>;\n } else if (appLifecycle === getAppState('HYDRATED')) {\n renderedTree.current = true;\n content = (\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n );\n } else {\n content = <div className=\"_dash-loading\">Loading...</div>;\n }\n\n return config && config.ui === true ? (\n <GlobalErrorContainer>{content}</GlobalErrorContainer>\n ) : (\n content\n );\n};\n\nfunction storeEffect(props, events, setErrorLoading) {\n const {\n appLifecycle,\n dependenciesRequest,\n dispatch,\n error,\n graphs,\n layout,\n layoutRequest,\n } = props;\n\n if (isEmpty(layoutRequest)) {\n dispatch(apiThunk('_dash-layout', 'GET', 'layoutRequest'));\n } else if (layoutRequest.status === STATUS.OK) {\n if (isEmpty(layout)) {\n const finalLayout = applyPersistence(\n layoutRequest.content,\n dispatch\n );\n dispatch(\n setPaths(computePaths(finalLayout, [], null, events.current))\n );\n dispatch(setLayout(finalLayout));\n }\n }\n\n if (isEmpty(dependenciesRequest)) {\n dispatch(apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest'));\n } else if (dependenciesRequest.status === STATUS.OK && isEmpty(graphs)) {\n dispatch(\n setGraphs(\n computeGraphs(\n dependenciesRequest.content,\n dispatchError(dispatch)\n )\n )\n );\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === STATUS.OK &&\n !isEmpty(graphs) &&\n // LayoutRequest and its computed stores\n layoutRequest.status === STATUS.OK &&\n !isEmpty(layout) &&\n // Hasn't already hydrated\n appLifecycle === getAppState('STARTED')\n ) {\n let hasError = false;\n try {\n dispatch(hydrateInitialOutputs(dispatchError(dispatch)));\n } catch (err) {\n // Display this error in devtools, unless we have errors\n // already, in which case we assume this new one is moot\n if (!error.frontEnd.length && !error.backEnd.length) {\n dispatch(onError({type: 'backEnd', error: err}));\n }\n hasError = true;\n } finally {\n setErrorLoading(hasError);\n }\n }\n}\n\nUnconnectedContainer.propTypes = {\n appLifecycle: PropTypes.oneOf([\n getAppState('STARTED'),\n getAppState('HYDRATED'),\n ]),\n dispatch: PropTypes.func,\n dependenciesRequest: PropTypes.object,\n graphs: PropTypes.object,\n layoutRequest: PropTypes.object,\n layout: PropTypes.object,\n history: PropTypes.any,\n error: PropTypes.object,\n config: PropTypes.object,\n};\n\nconst Container = connect(\n // map state to props\n state => ({\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n history: state.history,\n error: state.error,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedContainer);\n\nexport default Container;\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport APIController from './APIController.react';\nimport DocumentTitle from './components/core/DocumentTitle.react';\nimport Loading from './components/core/Loading.react';\nimport Toolbar from './components/core/Toolbar.react';\nimport Reloader from './components/core/Reloader.react';\nimport {setHooks, setConfig} from './actions/index';\nimport {type} from 'ramda';\n\nclass UnconnectedAppContainer extends React.Component {\n constructor(props) {\n super(props);\n if (\n props.hooks.request_pre !== null ||\n props.hooks.request_post !== null\n ) {\n props.dispatch(setHooks(props.hooks));\n }\n }\n\n UNSAFE_componentWillMount() {\n const {dispatch} = this.props;\n const config = JSON.parse(\n document.getElementById('_dash-config').textContent\n );\n\n // preset common request params in the config\n config.fetch = {\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n };\n\n dispatch(setConfig(config));\n }\n\n render() {\n const {config} = this.props;\n if (type(config) === 'Null') {\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n const {show_undo_redo} = config;\n return (\n <React.Fragment>\n {show_undo_redo ? <Toolbar /> : null}\n <APIController />\n <DocumentTitle />\n <Loading />\n <Reloader />\n </React.Fragment>\n );\n }\n}\n\nUnconnectedAppContainer.propTypes = {\n hooks: PropTypes.object,\n dispatch: PropTypes.func,\n config: PropTypes.object,\n};\n\nconst AppContainer = connect(\n state => ({\n history: state.history,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedAppContainer);\n\nexport default AppContainer;\n","import React from 'react';\nimport {Provider} from 'react-redux';\n\nimport initializeStore from './store';\nimport AppContainer from './AppContainer.react';\n\nimport PropTypes from 'prop-types';\n\nconst store = initializeStore();\n\nconst AppProvider = ({hooks}) => {\n return (\n <Provider store={store}>\n <AppContainer hooks={hooks} />\n </Provider>\n );\n};\n\nAppProvider.propTypes = {\n hooks: PropTypes.shape({\n request_pre: PropTypes.func,\n request_post: PropTypes.func,\n }),\n};\n\nAppProvider.defaultProps = {\n hooks: {\n request_pre: null,\n request_post: null,\n },\n};\n\nexport default AppProvider;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport AppProvider from './AppProvider.react';\n\nclass DashRenderer {\n constructor(hooks) {\n // render Dash Renderer upon initialising!\n ReactDOM.render(\n <AppProvider hooks={hooks} />,\n document.getElementById('react-entry-point')\n );\n }\n}\n\nexport {DashRenderer};\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Registry from './registry';\nimport {propTypeErrorHandler} from './exceptions';\nimport {connect} from 'react-redux';\nimport {\n addIndex,\n concat,\n dissoc,\n equals,\n filter,\n has,\n isEmpty,\n isNil,\n keys,\n map,\n mergeRight,\n pick,\n pickBy,\n propOr,\n type,\n} from 'ramda';\nimport {notifyObservers, updateProps} from './actions';\nimport isSimpleComponent from './isSimpleComponent';\nimport {recordUiEdit} from './persistence';\nimport ComponentErrorBoundary from './components/error/ComponentErrorBoundary.react';\nimport checkPropTypes from './checkPropTypes';\nimport {getWatchedKeys, stringifyId} from './actions/dependencies';\n\nfunction validateComponent(componentDefinition) {\n if (type(componentDefinition) === 'Array') {\n throw new Error(\n 'The children property of a component is a list of lists, instead ' +\n 'of just a list. ' +\n 'Check the component that has the following contents, ' +\n 'and remove one of the levels of nesting: \\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n if (\n type(componentDefinition) === 'Object' &&\n !(\n has('namespace', componentDefinition) &&\n has('type', componentDefinition) &&\n has('props', componentDefinition)\n )\n ) {\n throw new Error(\n 'An object was provided as `children` instead of a component, ' +\n 'string, or number (or list of those). ' +\n 'Check the children property that looks something like:\\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n}\n\nconst createContainer = (component, path) =>\n isSimpleComponent(component) ? (\n component\n ) : (\n <AugmentedTreeContainer\n key={\n component && component.props && stringifyId(component.props.id)\n }\n _dashprivate_layout={component}\n _dashprivate_path={path}\n />\n );\n\nfunction CheckedComponent(p) {\n const {element, extraProps, props, children, type} = p;\n\n const errorMessage = checkPropTypes(\n element.propTypes,\n props,\n 'component prop',\n element\n );\n if (errorMessage) {\n propTypeErrorHandler(errorMessage, props, type);\n }\n\n return createElement(element, props, extraProps, children);\n}\n\nCheckedComponent.propTypes = {\n children: PropTypes.any,\n element: PropTypes.any,\n layout: PropTypes.any,\n props: PropTypes.any,\n extraProps: PropTypes.any,\n id: PropTypes.string,\n};\n\nfunction createElement(element, props, extraProps, children) {\n const allProps = mergeRight(props, extraProps);\n if (Array.isArray(children)) {\n return React.createElement(element, allProps, ...children);\n }\n return React.createElement(element, allProps, children);\n}\n\nclass TreeContainer extends Component {\n constructor(props) {\n super(props);\n\n this.setProps = this.setProps.bind(this);\n }\n\n setProps(newProps) {\n const {\n _dashprivate_graphs,\n _dashprivate_dispatch,\n _dashprivate_path,\n _dashprivate_layout,\n } = this.props;\n\n const oldProps = this.getLayoutProps();\n const {id} = oldProps;\n const changedProps = pickBy(\n (val, key) => !equals(val, oldProps[key]),\n newProps\n );\n if (!isEmpty(changedProps)) {\n // Identify the modified props that are required for callbacks\n const watchedKeys = getWatchedKeys(\n id,\n keys(changedProps),\n _dashprivate_graphs\n );\n\n // setProps here is triggered by the UI - record these changes\n // for persistence\n recordUiEdit(_dashprivate_layout, newProps, _dashprivate_dispatch);\n\n // Always update this component's props\n _dashprivate_dispatch(\n updateProps({\n props: changedProps,\n itempath: _dashprivate_path,\n })\n );\n\n // Only dispatch changes to Dash if a watched prop changed\n if (watchedKeys.length) {\n _dashprivate_dispatch(\n notifyObservers({\n id,\n props: pick(watchedKeys, changedProps),\n })\n );\n }\n }\n }\n\n getChildren(components, path) {\n if (isNil(components)) {\n return null;\n }\n\n return Array.isArray(components)\n ? addIndex(map)(\n (component, i) =>\n createContainer(\n component,\n concat(path, ['props', 'children', i])\n ),\n components\n )\n : createContainer(components, concat(path, ['props', 'children']));\n }\n\n getComponent(_dashprivate_layout, children, loading_state, setProps) {\n const {_dashprivate_config} = this.props;\n\n if (isEmpty(_dashprivate_layout)) {\n return null;\n }\n\n if (isSimpleComponent(_dashprivate_layout)) {\n return _dashprivate_layout;\n }\n validateComponent(_dashprivate_layout);\n\n const element = Registry.resolve(_dashprivate_layout);\n\n const props = dissoc('children', _dashprivate_layout.props);\n\n if (type(props.id) === 'Object') {\n // Turn object ids (for wildcards) into unique strings.\n // Because of the `dissoc` above we're not mutating the layout,\n // just the id we pass on to the rendered component\n props.id = stringifyId(props.id);\n }\n const extraProps = {loading_state, setProps};\n\n return (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={props.id}\n key={props.id}\n >\n {_dashprivate_config.props_check ? (\n <CheckedComponent\n children={children}\n element={element}\n props={props}\n extraProps={extraProps}\n type={_dashprivate_layout.type}\n />\n ) : (\n createElement(element, props, extraProps, children)\n )}\n </ComponentErrorBoundary>\n );\n }\n\n shouldComponentUpdate(nextProps) {\n const {_dashprivate_layout, _dashprivate_loadingState} = nextProps;\n return (\n _dashprivate_layout !== this.props._dashprivate_layout ||\n _dashprivate_loadingState.is_loading !==\n this.props._dashprivate_loadingState.is_loading\n );\n }\n\n getLayoutProps() {\n return propOr({}, 'props', this.props._dashprivate_layout);\n }\n\n render() {\n const {\n _dashprivate_layout,\n _dashprivate_loadingState,\n _dashprivate_path,\n } = this.props;\n\n const layoutProps = this.getLayoutProps();\n\n const children = this.getChildren(\n layoutProps.children,\n _dashprivate_path\n );\n\n return this.getComponent(\n _dashprivate_layout,\n children,\n _dashprivate_loadingState,\n this.setProps\n );\n }\n}\n\nTreeContainer.propTypes = {\n _dashprivate_graphs: PropTypes.any,\n _dashprivate_dispatch: PropTypes.func,\n _dashprivate_layout: PropTypes.object,\n _dashprivate_loadingState: PropTypes.object,\n _dashprivate_config: PropTypes.object,\n _dashprivate_path: PropTypes.array,\n};\n\nfunction isLoadingComponent(layout) {\n validateComponent(layout);\n return Registry.resolve(layout)._dashprivate_isLoadingComponent;\n}\n\nfunction getNestedIds(layout) {\n const ids = [];\n const queue = [layout];\n\n while (queue.length) {\n const elementLayout = queue.shift();\n\n const props = elementLayout && elementLayout.props;\n\n if (!props) {\n continue;\n }\n\n const {children, id} = props;\n\n if (id) {\n ids.push(id);\n }\n\n if (children) {\n const filteredChildren = filter(\n child =>\n !isSimpleComponent(child) && !isLoadingComponent(child),\n Array.isArray(children) ? children : [children]\n );\n\n queue.push(...filteredChildren);\n }\n }\n\n return ids;\n}\n\nfunction getLoadingState(layout, pendingCallbacks) {\n const ids = isLoadingComponent(layout)\n ? getNestedIds(layout)\n : layout && layout.props.id && [layout.props.id];\n\n let isLoading = false;\n let loadingProp;\n let loadingComponent;\n\n if (pendingCallbacks && pendingCallbacks.length && ids && ids.length) {\n const idStrs = ids.map(stringifyId);\n\n pendingCallbacks.forEach(cb => {\n const {requestId, requestedOutputs} = cb;\n if (requestId === undefined) {\n return;\n }\n\n idStrs.forEach(idStr => {\n const props = requestedOutputs[idStr];\n if (props) {\n isLoading = true;\n // TODO: what about multiple loading components / props?\n loadingComponent = idStr;\n loadingProp = props[0];\n }\n });\n });\n }\n\n // Set loading state\n return {\n is_loading: isLoading,\n prop_name: loadingProp,\n component_name: loadingComponent,\n };\n}\n\nexport const AugmentedTreeContainer = connect(\n state => ({\n graphs: state.graphs,\n pendingCallbacks: state.pendingCallbacks,\n config: state.config,\n }),\n dispatch => ({dispatch}),\n (stateProps, dispatchProps, ownProps) => ({\n _dashprivate_graphs: stateProps.graphs,\n _dashprivate_dispatch: dispatchProps.dispatch,\n _dashprivate_layout: ownProps._dashprivate_layout,\n _dashprivate_path: ownProps._dashprivate_path,\n _dashprivate_loadingState: getLoadingState(\n ownProps._dashprivate_layout,\n stateProps.pendingCallbacks\n ),\n _dashprivate_config: stateProps.config,\n })\n)(TreeContainer);\n\nexport default AugmentedTreeContainer;\n","import {mergeDeepRight} from 'ramda';\nimport {handleAsyncError, getCSRFHeader} from '../actions';\nimport {urlBase} from './utils';\n\nfunction GET(path, fetchConfig) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'GET',\n headers: getCSRFHeader(),\n })\n );\n}\n\nfunction POST(path, fetchConfig, body = {}) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: body ? JSON.stringify(body) : null,\n })\n );\n}\n\nconst request = {GET, POST};\n\nexport default function apiThunk(endpoint, method, store, id, body) {\n return (dispatch, getState) => {\n const config = getState().config;\n const url = `${urlBase(config)}${endpoint}`;\n\n dispatch({\n type: store,\n payload: {id, status: 'loading'},\n });\n return request[method](url, config.fetch, body)\n .then(res => {\n const contentType = res.headers.get('content-type');\n if (\n contentType &&\n contentType.indexOf('application/json') !== -1\n ) {\n return res.json().then(json => {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id,\n },\n });\n return json;\n });\n }\n return dispatch({\n type: store,\n payload: {\n id,\n status: res.status,\n },\n });\n })\n .catch(err => {\n const message = 'Error from API call: ' + endpoint;\n handleAsyncError(err, message, dispatch);\n });\n };\n}\n","const actionList = {\n ON_PROP_CHANGE: 1,\n SET_REQUEST_QUEUE: 1,\n SET_GRAPHS: 1,\n SET_PATHS: 1,\n SET_LAYOUT: 1,\n SET_APP_LIFECYCLE: 1,\n SET_CONFIG: 1,\n ON_ERROR: 1,\n SET_HOOKS: 1,\n};\n\nexport const getAction = action => {\n if (actionList[action]) {\n return action;\n }\n throw new Error(`${action} is not defined.`);\n};\n","import {DepGraph} from 'dependency-graph';\nimport isNumeric from 'fast-isnumeric';\nimport {\n all,\n any,\n ap,\n assoc,\n clone,\n difference,\n dissoc,\n equals,\n evolve,\n flatten,\n forEachObjIndexed,\n includes,\n intersection,\n isEmpty,\n keys,\n map,\n mergeDeepRight,\n mergeRight,\n mergeWith,\n partition,\n path,\n pickBy,\n pluck,\n propEq,\n props,\n startsWith,\n unnest,\n values,\n zip,\n zipObj,\n} from 'ramda';\n\nconst mergeMax = mergeWith(Math.max);\n\nimport {getPath} from './paths';\n\nimport {crawlLayout} from './utils';\n\nimport Registry from '../registry';\n\n/*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\nexport const isMultiOutputProp = idAndProp => idAndProp.startsWith('..');\n\nconst ALL = {wild: 'ALL', multi: 1};\nconst MATCH = {wild: 'MATCH'};\nconst ALLSMALLER = {wild: 'ALLSMALLER', multi: 1, expand: 1};\nconst wildcards = {ALL, MATCH, ALLSMALLER};\nconst allowedWildcards = {\n Output: {ALL, MATCH},\n Input: wildcards,\n State: wildcards,\n};\nconst wildcardValTypes = ['string', 'number', 'boolean'];\n\nconst idInvalidChars = ['.', '{'];\n\n/*\n * If this ID is a wildcard, it is a stringified JSON object\n * the \"{\" character is disallowed from regular string IDs\n */\nconst isWildcardId = idStr => idStr.startsWith('{');\n\n/*\n * Turn stringified wildcard IDs into objects.\n * Wildcards are encoded as single-item arrays containing the wildcard name\n * as a string.\n */\nfunction parseWildcardId(idStr) {\n return map(\n val => (Array.isArray(val) && wildcards[val[0]]) || val,\n JSON.parse(idStr)\n );\n}\n\n/*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\nfunction parseMultipleOutputs(outputIdAndProp) {\n return outputIdAndProp.substr(2, outputIdAndProp.length - 4).split('...');\n}\n\nfunction splitIdAndProp(idAndProp) {\n // since wildcard ids can have . in them but props can't,\n // look for the last . in the string and split there\n const dotPos = idAndProp.lastIndexOf('.');\n const idStr = idAndProp.substr(0, dotPos);\n return {\n id: parseIfWildcard(idStr),\n property: idAndProp.substr(dotPos + 1),\n };\n}\n\n/*\n * Check if this ID is a stringified object, and if so parse it to that object\n */\nexport function parseIfWildcard(idStr) {\n return isWildcardId(idStr) ? parseWildcardId(idStr) : idStr;\n}\n\nexport const combineIdAndProp = ({id, property}) =>\n `${stringifyId(id)}.${property}`;\n\n/*\n * JSON.stringify - for the object form - but ensuring keys are sorted\n */\nexport function stringifyId(id) {\n if (typeof id !== 'object') {\n return id;\n }\n const stringifyVal = v => (v && v.wild) || JSON.stringify(v);\n const parts = Object.keys(id)\n .sort()\n .map(k => JSON.stringify(k) + ':' + stringifyVal(id[k]));\n return '{' + parts.join(',') + '}';\n}\n\n/*\n * id dict values can be numbers, strings, and booleans.\n * We need a definite ordering that will work across types,\n * even if sane users would not mix types.\n * - numeric strings are treated as numbers\n * - booleans come after numbers, before strings. false, then true.\n * - non-numeric strings come last\n */\nfunction idValSort(a, b) {\n const bIsNumeric = isNumeric(b);\n if (isNumeric(a)) {\n if (bIsNumeric) {\n const aN = Number(a);\n const bN = Number(b);\n return aN > bN ? 1 : aN < bN ? -1 : 0;\n }\n return -1;\n }\n if (bIsNumeric) {\n return 1;\n }\n const aIsBool = typeof a === 'boolean';\n if (aIsBool !== (typeof b === 'boolean')) {\n return aIsBool ? -1 : 1;\n }\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\n/*\n * Provide a value known to be before or after v, according to idValSort\n */\nconst valBefore = v => (isNumeric(v) ? v - 1 : 0);\nconst valAfter = v => (typeof v === 'string' ? v + 'z' : 'z');\n\nfunction addMap(depMap, id, prop, dependency) {\n const idMap = (depMap[id] = depMap[id] || {});\n const callbacks = (idMap[prop] = idMap[prop] || []);\n callbacks.push(dependency);\n}\n\nfunction addPattern(depMap, idSpec, prop, dependency) {\n const keys = Object.keys(idSpec).sort();\n const keyStr = keys.join(',');\n const values = props(keys, idSpec);\n const keyCallbacks = (depMap[keyStr] = depMap[keyStr] || {});\n const propCallbacks = (keyCallbacks[prop] = keyCallbacks[prop] || []);\n let valMatch = false;\n for (let i = 0; i < propCallbacks.length; i++) {\n if (equals(values, propCallbacks[i].values)) {\n valMatch = propCallbacks[i];\n break;\n }\n }\n if (!valMatch) {\n valMatch = {keys, values, callbacks: []};\n propCallbacks.push(valMatch);\n }\n valMatch.callbacks.push(dependency);\n}\n\nfunction validateDependencies(parsedDependencies, dispatchError) {\n const outStrs = {};\n const outObjs = [];\n\n parsedDependencies.forEach(dep => {\n const {inputs, outputs, state} = dep;\n let hasOutputs = true;\n if (outputs.length === 1 && !outputs[0].id && !outputs[0].property) {\n hasOutputs = false;\n dispatchError('A callback is missing Outputs', [\n 'Please provide an output for this callback:',\n JSON.stringify(dep, null, 2),\n ]);\n }\n\n const head =\n 'In the callback for output(s):\\n ' +\n outputs.map(combineIdAndProp).join('\\n ');\n\n if (!inputs.length) {\n dispatchError('A callback is missing Inputs', [\n head,\n 'there are no `Input` elements.',\n 'Without `Input` elements, it will never get called.',\n '',\n 'Subscribing to `Input` components will cause the',\n 'callback to be called whenever their values change.',\n ]);\n }\n\n const spec = [\n [outputs, 'Output'],\n [inputs, 'Input'],\n [state, 'State'],\n ];\n spec.forEach(([args, cls]) => {\n if (cls === 'Output' && !hasOutputs) {\n // just a quirk of how we pass & parse outputs - if you don't\n // provide one, it looks like a single blank output. This is\n // actually useful for graceful failure, so we work around it.\n return;\n }\n\n if (!Array.isArray(args)) {\n dispatchError(`Callback ${cls}(s) must be an Array`, [\n head,\n `For ${cls}(s) we found:`,\n JSON.stringify(args),\n 'but we expected an Array.',\n ]);\n }\n args.forEach((idProp, i) => {\n validateArg(idProp, head, cls, i, dispatchError);\n });\n });\n\n findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs);\n findInOutOverlap(outputs, inputs, head, dispatchError);\n findMismatchedWildcards(outputs, inputs, state, head, dispatchError);\n });\n}\n\nfunction validateArg({id, property}, head, cls, i, dispatchError) {\n if (typeof property !== 'string' || !property) {\n dispatchError('Callback property error', [\n head,\n `${cls}[${i}].property = ${JSON.stringify(property)}`,\n 'but we expected `property` to be a non-empty string.',\n ]);\n }\n\n if (typeof id === 'object') {\n if (isEmpty(id)) {\n dispatchError('Callback item missing ID', [\n head,\n `${cls}[${i}].id = {}`,\n 'Every item linked to a callback needs an ID',\n ]);\n }\n\n forEachObjIndexed((v, k) => {\n if (!k) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id has key \"${k}\"`,\n 'Keys must be non-empty strings.',\n ]);\n }\n\n if (typeof v === 'object' && v.wild) {\n if (allowedWildcards[cls][v.wild] !== v) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id[\"${k}\"] = ${v.wild}`,\n `Allowed wildcards for ${cls}s are:`,\n keys(allowedWildcards[cls]).join(', '),\n ]);\n }\n } else if (!includes(typeof v, wildcardValTypes)) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id[\"${k}\"] = ${JSON.stringify(v)}`,\n 'Wildcard callback ID values must be either wildcards',\n 'or constants of one of these types:',\n wildcardValTypes.join(', '),\n ]);\n }\n }, id);\n } else if (typeof id === 'string') {\n if (!id) {\n dispatchError('Callback item missing ID', [\n head,\n `${cls}[${i}].id = \"${id}\"`,\n 'Every item linked to a callback needs an ID',\n ]);\n }\n const invalidChars = idInvalidChars.filter(c => includes(c, id));\n if (invalidChars.length) {\n dispatchError('Callback invalid ID string', [\n head,\n `${cls}[${i}].id = '${id}'`,\n `characters '${invalidChars.join(\"', '\")}' are not allowed.`,\n ]);\n }\n } else {\n dispatchError('Callback ID type error', [\n head,\n `${cls}[${i}].id = ${JSON.stringify(id)}`,\n 'IDs must be strings or wildcard-compatible objects.',\n ]);\n }\n}\n\nfunction findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs) {\n const newOutputStrs = {};\n const newOutputObjs = [];\n outputs.forEach(({id, property}, i) => {\n if (typeof id === 'string') {\n const idProp = combineIdAndProp({id, property});\n if (newOutputStrs[idProp]) {\n dispatchError('Duplicate callback Outputs', [\n head,\n `Output ${i} (${idProp}) is already used by this callback.`,\n ]);\n } else if (outStrs[idProp]) {\n dispatchError('Duplicate callback outputs', [\n head,\n `Output ${i} (${idProp}) is already in use.`,\n 'Any given output can only have one callback that sets it.',\n 'To resolve this situation, try combining these into',\n 'one callback function, distinguishing the trigger',\n 'by using `dash.callback_context` if necessary.',\n ]);\n } else {\n newOutputStrs[idProp] = 1;\n }\n } else {\n const idObj = {id, property};\n const selfOverlap = wildcardOverlap(idObj, newOutputObjs);\n const otherOverlap = selfOverlap || wildcardOverlap(idObj, outObjs);\n if (selfOverlap || otherOverlap) {\n const idProp = combineIdAndProp(idObj);\n const idProp2 = combineIdAndProp(selfOverlap || otherOverlap);\n dispatchError('Overlapping wildcard callback outputs', [\n head,\n `Output ${i} (${idProp})`,\n `overlaps another output (${idProp2})`,\n `used in ${selfOverlap ? 'this' : 'a different'} callback.`,\n ]);\n } else {\n newOutputObjs.push(idObj);\n }\n }\n });\n keys(newOutputStrs).forEach(k => {\n outStrs[k] = 1;\n });\n newOutputObjs.forEach(idObj => {\n outObjs.push(idObj);\n });\n}\n\nfunction findInOutOverlap(outputs, inputs, head, dispatchError) {\n outputs.forEach((out, outi) => {\n const {id: outId, property: outProp} = out;\n inputs.forEach((in_, ini) => {\n const {id: inId, property: inProp} = in_;\n if (outProp !== inProp || typeof outId !== typeof inId) {\n return;\n }\n if (typeof outId === 'string') {\n if (outId === inId) {\n dispatchError('Same `Input` and `Output`', [\n head,\n `Input ${ini} (${combineIdAndProp(in_)})`,\n `matches Output ${outi} (${combineIdAndProp(out)})`,\n ]);\n }\n } else if (wildcardOverlap(in_, [out])) {\n dispatchError('Same `Input` and `Output`', [\n head,\n `Input ${ini} (${combineIdAndProp(in_)})`,\n 'can match the same component(s) as',\n `Output ${outi} (${combineIdAndProp(out)})`,\n ]);\n }\n });\n });\n}\n\nfunction findMismatchedWildcards(outputs, inputs, state, head, dispatchError) {\n const {anyKeys: out0AnyKeys} = findWildcardKeys(outputs[0].id);\n outputs.forEach((out, outi) => {\n if (outi && !equals(findWildcardKeys(out.id).anyKeys, out0AnyKeys)) {\n dispatchError('Mismatched `MATCH` wildcards across `Output`s', [\n head,\n `Output ${outi} (${combineIdAndProp(out)})`,\n 'does not have MATCH wildcards on the same keys as',\n `Output 0 (${combineIdAndProp(outputs[0])}).`,\n 'MATCH wildcards must be on the same keys for all Outputs.',\n 'ALL wildcards need not match, only MATCH.',\n ]);\n }\n });\n [\n [inputs, 'Input'],\n [state, 'State'],\n ].forEach(([args, cls]) => {\n args.forEach((arg, i) => {\n const {anyKeys, allsmallerKeys} = findWildcardKeys(arg.id);\n const allWildcardKeys = anyKeys.concat(allsmallerKeys);\n const diff = difference(allWildcardKeys, out0AnyKeys);\n if (diff.length) {\n diff.sort();\n dispatchError('`Input` / `State` wildcards not in `Output`s', [\n head,\n `${cls} ${i} (${combineIdAndProp(arg)})`,\n `has MATCH or ALLSMALLER on key(s) ${diff.join(', ')}`,\n `where Output 0 (${combineIdAndProp(outputs[0])})`,\n 'does not have a MATCH wildcard. Inputs and State do not',\n 'need every MATCH from the Output(s), but they cannot have',\n 'extras beyond the Output(s).',\n ]);\n }\n });\n });\n}\n\nconst matchWildKeys = ([a, b]) => {\n const aWild = a && a.wild;\n const bWild = b && b.wild;\n if (aWild && bWild) {\n // Every wildcard combination overlaps except MATCH<->ALLSMALLER\n return !(\n (a === MATCH && b === ALLSMALLER) ||\n (a === ALLSMALLER && b === MATCH)\n );\n }\n return a === b || aWild || bWild;\n};\n\nfunction wildcardOverlap({id, property}, objs) {\n const idKeys = keys(id).sort();\n const idVals = props(idKeys, id);\n for (const obj of objs) {\n const {id: id2, property: property2} = obj;\n if (\n property2 === property &&\n typeof id2 !== 'string' &&\n equals(keys(id2).sort(), idKeys) &&\n all(matchWildKeys, zip(idVals, props(idKeys, id2)))\n ) {\n return obj;\n }\n }\n return false;\n}\n\nexport function validateCallbacksToLayout(state_, dispatchError) {\n const {config, graphs, layout, paths} = state_;\n const {outputMap, inputMap, outputPatterns, inputPatterns} = graphs;\n const validateIds = !config.suppress_callback_exceptions;\n\n function tail(callbacks) {\n return (\n 'This ID was used in the callback(s) for Output(s):\\n ' +\n callbacks\n .map(({outputs}) => outputs.map(combineIdAndProp).join(', '))\n .join('\\n ')\n );\n }\n\n function missingId(id, cls, callbacks) {\n dispatchError('ID not found in layout', [\n `Attempting to connect a callback ${cls} item to component:`,\n ` \"${stringifyId(id)}\"`,\n 'but no components with that id exist in the layout.',\n '',\n 'If you are assigning callbacks to components that are',\n 'generated by other callbacks (and therefore not in the',\n 'initial layout), you can suppress this exception by setting',\n '`suppress_callback_exceptions=True`.',\n tail(callbacks),\n ]);\n }\n\n function validateProp(id, idPath, prop, cls, callbacks) {\n const component = path(idPath, layout);\n const element = Registry.resolve(component);\n\n // note: Flow components do not have propTypes, so we can't validate.\n if (element && element.propTypes && !element.propTypes[prop]) {\n // look for wildcard props (ie data-* etc)\n for (const propName in element.propTypes) {\n const last = propName.length - 1;\n if (\n propName.charAt(last) === '*' &&\n prop.substr(0, last) === propName.substr(0, last)\n ) {\n return;\n }\n }\n const {type, namespace} = component;\n dispatchError('Invalid prop for this component', [\n `Property \"${prop}\" was used with component ID:`,\n ` ${JSON.stringify(id)}`,\n `in one of the ${cls} items of a callback.`,\n `This ID is assigned to a ${namespace}.${type} component`,\n 'in the layout, which does not support this property.',\n tail(callbacks),\n ]);\n }\n }\n\n function validateIdPatternProp(id, property, cls, callbacks) {\n resolveDeps()(paths)({id, property}).forEach(dep => {\n const {id: idResolved, path: idPath} = dep;\n validateProp(idResolved, idPath, property, cls, callbacks);\n });\n }\n\n const callbackIdsCheckedForState = {};\n\n function validateState(callback) {\n const {state, output} = callback;\n\n // ensure we don't check the same callback for state multiple times\n if (callbackIdsCheckedForState[output]) {\n return;\n }\n callbackIdsCheckedForState[output] = 1;\n\n const cls = 'State';\n\n state.forEach(({id, property}) => {\n if (typeof id === 'string') {\n const idPath = getPath(paths, id);\n if (!idPath) {\n if (validateIds) {\n missingId(id, cls, [callback]);\n }\n } else {\n validateProp(id, idPath, property, cls, [callback]);\n }\n }\n // Only validate props for State object ids that we don't need to\n // resolve them to specific inputs or outputs\n else if (!intersection([MATCH, ALLSMALLER], values(id)).length) {\n validateIdPatternProp(id, property, cls, [callback]);\n }\n });\n }\n\n function validateMap(map, cls, doState) {\n for (const id in map) {\n const idProps = map[id];\n const idPath = getPath(paths, id);\n if (!idPath) {\n if (validateIds) {\n missingId(id, cls, flatten(values(idProps)));\n }\n } else {\n for (const property in idProps) {\n const callbacks = idProps[property];\n validateProp(id, idPath, property, cls, callbacks);\n if (doState) {\n // It would be redundant to check state on both inputs\n // and outputs - so only set doState for outputs.\n callbacks.forEach(validateState);\n }\n }\n }\n }\n }\n\n validateMap(outputMap, 'Output', true);\n validateMap(inputMap, 'Input');\n\n function validatePatterns(patterns, cls, doState) {\n for (const keyStr in patterns) {\n const keyPatterns = patterns[keyStr];\n for (const property in keyPatterns) {\n keyPatterns[property].forEach(({keys, values, callbacks}) => {\n const id = zipObj(keys, values);\n validateIdPatternProp(id, property, cls, callbacks);\n if (doState) {\n callbacks.forEach(validateState);\n }\n });\n }\n }\n }\n\n validatePatterns(outputPatterns, 'Output', true);\n validatePatterns(inputPatterns, 'Input');\n}\n\nexport function computeGraphs(dependencies, dispatchError) {\n // multiGraph is just for finding circular deps\n const multiGraph = new DepGraph();\n\n const wildcardPlaceholders = {};\n\n const fixIds = map(evolve({id: parseIfWildcard}));\n const parsedDependencies = map(dep => {\n const {output} = dep;\n const out = evolve({inputs: fixIds, state: fixIds}, dep);\n out.outputs = map(\n outi => assoc('out', true, splitIdAndProp(outi)),\n isMultiOutputProp(output) ? parseMultipleOutputs(output) : [output]\n );\n return out;\n }, dependencies);\n\n let hasError = false;\n const wrappedDE = (message, lines) => {\n hasError = true;\n dispatchError(message, lines);\n };\n validateDependencies(parsedDependencies, wrappedDE);\n\n /*\n * For regular ids, outputMap and inputMap are:\n * {[id]: {[prop]: [callback, ...]}}\n * where callbacks are the matching specs from the original\n * dependenciesRequest, but with outputs parsed to look like inputs,\n * and a list anyKeys added if the outputs have MATCH wildcards.\n * For outputMap there should only ever be one callback per id/prop\n * but for inputMap there may be many.\n *\n * For wildcard ids, outputPatterns and inputPatterns are:\n * {\n * [keystr]: {\n * [prop]: [\n * {keys: [...], values: [...], callbacks: [callback, ...]},\n * {...}\n * ]\n * }\n * }\n * keystr is a stringified ordered list of keys in the id\n * keys is the same ordered list (just copied for convenience)\n * values is an array of explicit or wildcard values for each key in keys\n */\n const outputMap = {};\n const inputMap = {};\n const outputPatterns = {};\n const inputPatterns = {};\n\n const finalGraphs = {\n MultiGraph: multiGraph,\n outputMap,\n inputMap,\n outputPatterns,\n inputPatterns,\n callbacks: parsedDependencies,\n };\n\n if (hasError) {\n // leave the graphs empty if we found an error, so we don't try to\n // execute the broken callbacks.\n return finalGraphs;\n }\n\n parsedDependencies.forEach(dependency => {\n const {outputs, inputs} = dependency;\n\n outputs.concat(inputs).forEach(item => {\n const {id} = item;\n if (typeof id === 'object') {\n forEachObjIndexed((val, key) => {\n if (!wildcardPlaceholders[key]) {\n wildcardPlaceholders[key] = {\n exact: [],\n expand: 0,\n };\n }\n const keyPlaceholders = wildcardPlaceholders[key];\n if (val && val.wild) {\n if (val.expand) {\n keyPlaceholders.expand += 1;\n }\n } else if (keyPlaceholders.exact.indexOf(val) === -1) {\n keyPlaceholders.exact.push(val);\n }\n }, id);\n }\n });\n });\n\n forEachObjIndexed(keyPlaceholders => {\n const {exact, expand} = keyPlaceholders;\n const vals = exact.slice().sort(idValSort);\n if (expand) {\n for (let i = 0; i < expand; i++) {\n if (exact.length) {\n vals.splice(0, 0, [valBefore(vals[0])]);\n vals.push(valAfter(vals[vals.length - 1]));\n } else {\n vals.push(i);\n }\n }\n } else if (!exact.length) {\n // only MATCH/ALL - still need a value\n vals.push(0);\n }\n keyPlaceholders.vals = vals;\n }, wildcardPlaceholders);\n\n function makeAllIds(idSpec, outIdFinal) {\n let idList = [{}];\n forEachObjIndexed((val, key) => {\n const testVals = wildcardPlaceholders[key].vals;\n const outValIndex = testVals.indexOf(outIdFinal[key]);\n let newVals = [val];\n if (val && val.wild) {\n if (val === ALLSMALLER) {\n if (outValIndex > 0) {\n newVals = testVals.slice(0, outValIndex);\n } else {\n // no smaller items - delete all outputs.\n newVals = [];\n }\n } else {\n // MATCH or ALL\n // MATCH *is* ALL for outputs, ie we don't already have a\n // value specified in `outIdFinal`\n newVals =\n outValIndex === -1 || val === ALL\n ? testVals\n : [outIdFinal[key]];\n }\n }\n // replicates everything in idList once for each item in\n // newVals, attaching each value at key.\n idList = ap(ap([assoc(key)], newVals), idList);\n }, idSpec);\n return idList;\n }\n\n parsedDependencies.forEach(function registerDependency(dependency) {\n const {outputs, inputs} = dependency;\n\n // multiGraph - just for testing circularity\n\n function addInputToMulti(inIdProp, outIdProp) {\n multiGraph.addNode(inIdProp);\n multiGraph.addDependency(inIdProp, outIdProp);\n }\n\n function addOutputToMulti(outIdFinal, outIdProp) {\n multiGraph.addNode(outIdProp);\n inputs.forEach(inObj => {\n const {id: inId, property} = inObj;\n if (typeof inId === 'object') {\n const inIdList = makeAllIds(inId, outIdFinal);\n inIdList.forEach(id => {\n addInputToMulti(\n combineIdAndProp({id, property}),\n outIdProp\n );\n });\n } else {\n addInputToMulti(combineIdAndProp(inObj), outIdProp);\n }\n });\n }\n\n // We'll continue to use dep.output as its id, but add outputs as well\n // for convenience and symmetry with the structure of inputs and state.\n // Also collect MATCH keys in the output (all outputs must share these)\n // and ALL keys in the first output (need not be shared but we'll use\n // the first output for calculations) for later convenience.\n const {anyKeys, hasALL} = findWildcardKeys(outputs[0].id);\n const finalDependency = mergeRight(\n {hasALL, anyKeys, outputs},\n dependency\n );\n\n outputs.forEach(outIdProp => {\n const {id: outId, property} = outIdProp;\n if (typeof outId === 'object') {\n const outIdList = makeAllIds(outId, {});\n outIdList.forEach(id => {\n addOutputToMulti(id, combineIdAndProp({id, property}));\n });\n\n addPattern(outputPatterns, outId, property, finalDependency);\n } else {\n addOutputToMulti({}, combineIdAndProp(outIdProp));\n addMap(outputMap, outId, property, finalDependency);\n }\n });\n\n inputs.forEach(inputObject => {\n const {id: inId, property: inProp} = inputObject;\n if (typeof inId === 'object') {\n addPattern(inputPatterns, inId, inProp, finalDependency);\n } else {\n addMap(inputMap, inId, inProp, finalDependency);\n }\n });\n });\n\n return finalGraphs;\n}\n\nfunction findWildcardKeys(id) {\n const anyKeys = [];\n const allsmallerKeys = [];\n let hasALL = false;\n if (typeof id === 'object') {\n forEachObjIndexed((val, key) => {\n if (val === MATCH) {\n anyKeys.push(key);\n } else if (val === ALLSMALLER) {\n allsmallerKeys.push(key);\n } else if (val === ALL) {\n hasALL = true;\n }\n }, id);\n anyKeys.sort();\n allsmallerKeys.sort();\n }\n return {anyKeys, allsmallerKeys, hasALL};\n}\n\n/*\n * Do the given id values `vals` match the pattern `patternVals`?\n * `keys`, `patternVals`, and `vals` are all arrays, and we already know that\n * we're only looking at ids with the same keys as the pattern.\n *\n * Optionally, include another reference set of the same - to ensure the\n * correct matching of MATCH or ALLSMALLER between input and output items.\n */\nfunction idMatch(keys, vals, patternVals, refKeys, refVals, refPatternVals) {\n for (let i = 0; i < keys.length; i++) {\n const val = vals[i];\n const patternVal = patternVals[i];\n if (patternVal.wild) {\n // If we have a second id, compare the wildcard values.\n // Without a second id, all wildcards pass at this stage.\n if (refKeys && patternVal !== ALL) {\n const refIndex = refKeys.indexOf(keys[i]);\n const refPatternVal = refPatternVals[refIndex];\n // Sanity check. Shouldn't ever fail this, if the back end\n // did its job validating callbacks.\n // You can't resolve an input against an input, because\n // two ALLSMALLER's wouldn't make sense!\n if (patternVal === ALLSMALLER && refPatternVal === ALLSMALLER) {\n throw new Error(\n 'invalid wildcard id pair: ' +\n JSON.stringify({\n keys,\n patternVals,\n vals,\n refKeys,\n refPatternVals,\n refVals,\n })\n );\n }\n if (\n idValSort(val, refVals[refIndex]) !==\n (patternVal === ALLSMALLER\n ? -1\n : refPatternVal === ALLSMALLER\n ? 1\n : 0)\n ) {\n return false;\n }\n }\n } else if (val !== patternVal) {\n return false;\n }\n }\n return true;\n}\n\nfunction getAnyVals(patternVals, vals) {\n const matches = [];\n for (let i = 0; i < patternVals.length; i++) {\n if (patternVals[i] === MATCH) {\n matches.push(vals[i]);\n }\n }\n return matches.length ? JSON.stringify(matches) : '';\n}\n\nfunction resolveDeps(refKeys, refVals, refPatternVals) {\n return paths => ({id: idPattern, property}) => {\n if (typeof idPattern === 'string') {\n const path = getPath(paths, idPattern);\n return path ? [{id: idPattern, property, path}] : [];\n }\n const keys = Object.keys(idPattern).sort();\n const patternVals = props(keys, idPattern);\n const keyStr = keys.join(',');\n const keyPaths = paths.objs[keyStr];\n if (!keyPaths) {\n return [];\n }\n const result = [];\n keyPaths.forEach(({values: vals, path}) => {\n if (\n idMatch(\n keys,\n vals,\n patternVals,\n refKeys,\n refVals,\n refPatternVals\n )\n ) {\n result.push({id: zipObj(keys, vals), property, path});\n }\n });\n return result;\n };\n}\n\n/*\n * Create a pending callback object. Includes the original callback definition,\n * its resolved ID (including the value of all MATCH wildcards),\n * accessors to find all inputs, outputs, and state involved in this\n * callback (lazy as not all users will want all of these),\n * placeholders for which other callbacks this one is blockedBy or blocking,\n * and a boolean for whether it has been dispatched yet.\n */\nconst makeResolvedCallback = (callback, resolve, anyVals) => ({\n callback,\n anyVals,\n resolvedId: callback.output + anyVals,\n getOutputs: paths => callback.outputs.map(resolve(paths)),\n getInputs: paths => callback.inputs.map(resolve(paths)),\n getState: paths => callback.state.map(resolve(paths)),\n blockedBy: {},\n blocking: {},\n changedPropIds: {},\n initialCall: false,\n requestId: 0,\n requestedOutputs: {},\n});\n\nconst DIRECT = 2;\nconst INDIRECT = 1;\n\nlet nextRequestId = 0;\n\n/*\n * Give a callback a new requestId.\n */\nexport function setNewRequestId(callback) {\n nextRequestId++;\n return assoc('requestId', nextRequestId, callback);\n}\n\n/*\n * Does this item (input / output / state) support multiple values?\n * string IDs do not; wildcard IDs only do if they contain ALL or ALLSMALLER\n */\nexport function isMultiValued({id}) {\n return typeof id === 'object' && any(v => v.multi, values(id));\n}\n\n/*\n * For a given output id and prop, find the callback generating it.\n * If no callback is found, returns false.\n * If one is found, returns:\n * {\n * callback: the callback spec {outputs, inputs, state etc}\n * anyVals: stringified list of resolved MATCH keys we matched\n * resolvedId: the \"outputs\" id string plus MATCH values we matched\n * getOutputs: accessor function to give all resolved outputs of this\n * callback. Takes `paths` as argument to apply when the callback is\n * dispatched, in case a previous callback has altered the layout.\n * The result is a list of {id (string or object), property (string)}\n * getInputs: same for inputs\n * getState: same for state\n * blockedBy: an object of {[resolvedId]: 1} blocking this callback\n * blocking: an object of {[resolvedId]: 1} this callback is blocking\n * changedPropIds: an object of {[idAndProp]: v} triggering this callback\n * v = DIRECT (2): the prop was changed in the front end, so dependent\n * callbacks *MUST* be executed.\n * v = INDIRECT (1): the prop is expected to be changed by a callback,\n * but if this is prevented, dependent callbacks may be pruned.\n * initialCall: boolean, if true we don't require any changedPropIds\n * to keep this callback around, as it's the initial call to populate\n * this value on page load or changing part of the layout.\n * By default this is true for callbacks generated by\n * getCallbackByOutput, false from getCallbacksByInput.\n * requestId: integer: starts at 0. when this callback is dispatched it will\n * get a unique requestId, but if it gets added again the requestId will\n * be reset to 0, and we'll know to ignore the response of the first\n * request.\n * requestedOutputs: object of {[idStr]: [props]} listing all the props\n * actually requested for update.\n * }\n */\nfunction getCallbackByOutput(graphs, paths, id, prop) {\n let resolve;\n let callback;\n let anyVals = '';\n if (typeof id === 'string') {\n // standard id version\n const callbacks = (graphs.outputMap[id] || {})[prop];\n if (callbacks) {\n callback = callbacks[0];\n resolve = resolveDeps();\n }\n } else {\n // wildcard version\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const patterns = (graphs.outputPatterns[keyStr] || {})[prop];\n if (patterns) {\n for (let i = 0; i < patterns.length; i++) {\n const patternVals = patterns[i].values;\n if (idMatch(keys, vals, patternVals)) {\n callback = patterns[i].callbacks[0];\n resolve = resolveDeps(keys, vals, patternVals);\n anyVals = getAnyVals(patternVals, vals);\n break;\n }\n }\n }\n }\n if (!resolve) {\n return false;\n }\n\n return makeResolvedCallback(callback, resolve, anyVals);\n}\n\n/*\n * If there are ALL keys we need to reduce a set of outputs resolved\n * from an input to one item per combination of MATCH values.\n * That will give one result per callback invocation.\n */\nfunction reduceALLOuts(outs, anyKeys, hasALL) {\n if (!hasALL) {\n return outs;\n }\n if (!anyKeys.length) {\n // If there's ALL but no MATCH, there's only one invocation\n // of the callback, so just base it off the first output.\n return [outs[0]];\n }\n const anySeen = {};\n return outs.filter(i => {\n const matchKeys = JSON.stringify(props(anyKeys, i.id));\n if (!anySeen[matchKeys]) {\n anySeen[matchKeys] = 1;\n return true;\n }\n return false;\n });\n}\n\nfunction addResolvedFromOutputs(callback, outPattern, outs, matches) {\n const out0Keys = Object.keys(outPattern.id).sort();\n const out0PatternVals = props(out0Keys, outPattern.id);\n outs.forEach(({id: outId}) => {\n const outVals = props(out0Keys, outId);\n matches.push(\n makeResolvedCallback(\n callback,\n resolveDeps(out0Keys, outVals, out0PatternVals),\n getAnyVals(out0PatternVals, outVals)\n )\n );\n });\n}\n\n/*\n * For a given id and prop find all callbacks it's an input of.\n *\n * Returns an array of objects:\n * {callback, resolvedId, getOutputs, getInputs, getState}\n * See getCallbackByOutput for details.\n *\n * Note that if the original input contains an ALLSMALLER wildcard,\n * there may be many entries for the same callback, but any given output\n * (with an MATCH corresponding to the input's ALLSMALLER) will only appear\n * in one entry.\n */\nexport function getCallbacksByInput(graphs, paths, id, prop, changeType) {\n const matches = [];\n const idAndProp = combineIdAndProp({id, property: prop});\n\n if (typeof id === 'string') {\n // standard id version\n const callbacks = (graphs.inputMap[id] || {})[prop];\n if (!callbacks) {\n return [];\n }\n\n const baseResolve = resolveDeps();\n callbacks.forEach(callback => {\n const {anyKeys, hasALL} = callback;\n if (anyKeys) {\n const out0Pattern = callback.outputs[0];\n const out0Set = reduceALLOuts(\n baseResolve(paths)(out0Pattern),\n anyKeys,\n hasALL\n );\n addResolvedFromOutputs(callback, out0Pattern, out0Set, matches);\n } else {\n matches.push(makeResolvedCallback(callback, baseResolve, ''));\n }\n });\n } else {\n // wildcard version\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const patterns = (graphs.inputPatterns[keyStr] || {})[prop];\n if (!patterns) {\n return [];\n }\n patterns.forEach(pattern => {\n if (idMatch(keys, vals, pattern.values)) {\n const resolve = resolveDeps(keys, vals, pattern.values);\n pattern.callbacks.forEach(callback => {\n const out0Pattern = callback.outputs[0];\n const {anyKeys, hasALL} = callback;\n const out0Set = reduceALLOuts(\n resolve(paths)(out0Pattern),\n anyKeys,\n hasALL\n );\n\n addResolvedFromOutputs(\n callback,\n out0Pattern,\n out0Set,\n matches\n );\n });\n }\n });\n }\n matches.forEach(match => {\n match.changedPropIds[idAndProp] = changeType || DIRECT;\n });\n return matches;\n}\n\nexport function getWatchedKeys(id, newProps, graphs) {\n if (!(id && graphs && newProps.length)) {\n return [];\n }\n\n if (typeof id === 'string') {\n const inputs = graphs.inputMap[id];\n return inputs ? newProps.filter(newProp => inputs[newProp]) : [];\n }\n\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const keyPatterns = graphs.inputPatterns[keyStr];\n if (!keyPatterns) {\n return [];\n }\n return newProps.filter(prop => {\n const patterns = keyPatterns[prop];\n return (\n patterns &&\n patterns.some(pattern => idMatch(keys, vals, pattern.values))\n );\n });\n}\n\n/*\n * Return a list of all callbacks referencing a chunk of the layout,\n * either as inputs or outputs.\n *\n * opts.outputsOnly: boolean, set true when crawling the *whole* layout,\n * because outputs are enough to get everything.\n * opts.removedArrayInputsOnly: boolean, set true to only look for inputs in\n * wildcard arrays (ALL or ALLSMALLER), no outputs. This gets used to tell\n * when the new *absence* of a given component should trigger a callback.\n * opts.newPaths: paths object after the edit - to be used with\n * removedArrayInputsOnly to determine if the callback still has its outputs\n * opts.chunkPath: path to the new chunk - used to determine if any outputs are\n * outside of this chunk, because this determines whether inputs inside the\n * chunk count as having changed\n *\n * Returns an array of objects:\n * {callback, resolvedId, getOutputs, getInputs, getState, ...etc}\n * See getCallbackByOutput for details.\n */\nexport function getCallbacksInLayout(graphs, paths, layoutChunk, opts) {\n const {outputsOnly, removedArrayInputsOnly, newPaths, chunkPath} = opts;\n const foundCbIds = {};\n const callbacks = [];\n\n function addCallback(callback) {\n if (callback) {\n const foundIndex = foundCbIds[callback.resolvedId];\n if (foundIndex !== undefined) {\n callbacks[foundIndex].changedPropIds = mergeMax(\n callbacks[foundIndex].changedPropIds,\n callback.changedPropIds\n );\n } else {\n foundCbIds[callback.resolvedId] = callbacks.length;\n callbacks.push(callback);\n }\n }\n }\n\n function addCallbackIfArray(idStr) {\n return cb =>\n cb.getInputs(paths).some(ini => {\n if (\n Array.isArray(ini) &&\n ini.some(inij => stringifyId(inij.id) === idStr)\n ) {\n // This callback should trigger even with no changedProps,\n // since the props that changed no longer exist.\n if (flatten(cb.getOutputs(newPaths)).length) {\n cb.initialCall = true;\n cb.changedPropIds = {};\n addCallback(cb);\n }\n return true;\n }\n return false;\n });\n }\n\n function handleOneId(id, outIdCallbacks, inIdCallbacks) {\n if (outIdCallbacks) {\n for (const property in outIdCallbacks) {\n const cb = getCallbackByOutput(graphs, paths, id, property);\n if (cb) {\n // callbacks found in the layout by output should always run\n // ie this is the initial call of this callback even if it's\n // not the page initialization but just a new layout chunk\n cb.initialCall = true;\n addCallback(cb);\n }\n }\n }\n if (!outputsOnly && inIdCallbacks) {\n const maybeAddCallback = removedArrayInputsOnly\n ? addCallbackIfArray(stringifyId(id))\n : addCallback;\n let handleThisCallback = maybeAddCallback;\n if (chunkPath) {\n handleThisCallback = cb => {\n if (\n all(\n startsWith(chunkPath),\n pluck('path', flatten(cb.getOutputs(paths)))\n )\n ) {\n cb.changedPropIds = {};\n }\n maybeAddCallback(cb);\n };\n }\n for (const property in inIdCallbacks) {\n getCallbacksByInput(\n graphs,\n paths,\n id,\n property,\n INDIRECT\n ).forEach(handleThisCallback);\n }\n }\n }\n\n crawlLayout(layoutChunk, child => {\n const id = path(['props', 'id'], child);\n if (id) {\n if (typeof id === 'string' && !removedArrayInputsOnly) {\n handleOneId(id, graphs.outputMap[id], graphs.inputMap[id]);\n } else {\n const keyStr = Object.keys(id)\n .sort()\n .join(',');\n handleOneId(\n id,\n !removedArrayInputsOnly && graphs.outputPatterns[keyStr],\n graphs.inputPatterns[keyStr]\n );\n }\n }\n });\n\n // We still need to follow these forward in order to capture blocks and,\n // if based on a partial layout, any knock-on effects in the full layout.\n const finalCallbacks = followForward(graphs, paths, callbacks);\n\n // Exception to the `initialCall` case of callbacks found by output:\n // if *every* input to this callback is itself an output of another\n // callback earlier in the chain, we remove the `initialCall` flag\n // so that if all of those prior callbacks abort all of their outputs,\n // this later callback never runs.\n // See test inin003 \"callback2 is never triggered, even on initial load\"\n finalCallbacks.forEach(cb => {\n if (cb.initialCall && !isEmpty(cb.blockedBy)) {\n const inputs = flatten(cb.getInputs(paths));\n cb.initialCall = false;\n inputs.forEach(i => {\n const propId = combineIdAndProp(i);\n if (cb.changedPropIds[propId]) {\n cb.changedPropIds[propId] = INDIRECT;\n } else {\n cb.initialCall = true;\n }\n });\n }\n });\n\n return finalCallbacks;\n}\n\nexport function removePendingCallback(\n pendingCallbacks,\n paths,\n removeResolvedId,\n skippedProps\n) {\n const finalPendingCallbacks = [];\n pendingCallbacks.forEach(pending => {\n const {blockedBy, blocking, changedPropIds, resolvedId} = pending;\n if (resolvedId !== removeResolvedId) {\n finalPendingCallbacks.push(\n mergeRight(pending, {\n blockedBy: dissoc(removeResolvedId, blockedBy),\n blocking: dissoc(removeResolvedId, blocking),\n changedPropIds: pickBy(\n (v, k) => v === DIRECT || !includes(k, skippedProps),\n changedPropIds\n ),\n })\n );\n }\n });\n // If any callback no longer has any changed inputs, it shouldn't fire.\n // This will repeat recursively until all unneeded callbacks are pruned\n if (skippedProps.length) {\n for (let i = 0; i < finalPendingCallbacks.length; i++) {\n const cb = finalPendingCallbacks[i];\n if (!cb.initialCall && isEmpty(cb.changedPropIds)) {\n return removePendingCallback(\n finalPendingCallbacks,\n paths,\n cb.resolvedId,\n flatten(cb.getOutputs(paths)).map(combineIdAndProp)\n );\n }\n }\n }\n return finalPendingCallbacks;\n}\n\n/*\n * Split the list of pending callbacks into ready (not blocked by any others)\n * and blocked. Sort the ready callbacks by how many each is blocking, on the\n * theory that the most important ones to dispatch are the ones with the most\n * others depending on them.\n */\nexport function findReadyCallbacks(pendingCallbacks) {\n const [readyCallbacks, blockedCallbacks] = partition(\n pending => isEmpty(pending.blockedBy) && !pending.requestId,\n pendingCallbacks\n );\n readyCallbacks.sort((a, b) => {\n return Object.keys(b.blocking).length - Object.keys(a.blocking).length;\n });\n\n return {readyCallbacks, blockedCallbacks};\n}\n\nfunction addBlock(callbacks, blockingId, blockedId) {\n callbacks.forEach(({blockedBy, blocking, resolvedId}) => {\n if (resolvedId === blockingId || blocking[blockingId]) {\n blocking[blockedId] = 1;\n } else if (resolvedId === blockedId || blockedBy[blockedId]) {\n blockedBy[blockingId] = 1;\n }\n });\n}\n\nfunction collectIds(callbacks) {\n const allResolvedIds = {};\n callbacks.forEach(({resolvedId}, i) => {\n allResolvedIds[resolvedId] = i;\n });\n return allResolvedIds;\n}\n\n/*\n * Take a list of callbacks and follow them all forward, ie see if any of their\n * outputs are inputs of another callback. Any new callbacks get added to the\n * list. All that come after another get marked as blocked by that one, whether\n * they were in the initial list or not.\n */\nexport function followForward(graphs, paths, callbacks_) {\n const callbacks = clone(callbacks_);\n const allResolvedIds = collectIds(callbacks);\n let i;\n let callback;\n\n const followOutput = ({id, property}) => {\n const nextCBs = getCallbacksByInput(\n graphs,\n paths,\n id,\n property,\n INDIRECT\n );\n nextCBs.forEach(nextCB => {\n let existingIndex = allResolvedIds[nextCB.resolvedId];\n if (existingIndex === undefined) {\n existingIndex = callbacks.length;\n callbacks.push(nextCB);\n allResolvedIds[nextCB.resolvedId] = existingIndex;\n } else {\n const existingCB = callbacks[existingIndex];\n existingCB.changedPropIds = mergeMax(\n existingCB.changedPropIds,\n nextCB.changedPropIds\n );\n }\n addBlock(callbacks, callback.resolvedId, nextCB.resolvedId);\n });\n };\n\n // Using a for loop instead of forEach because followOutput may extend the\n // callbacks array, and we want to continue into these new elements.\n for (i = 0; i < callbacks.length; i++) {\n callback = callbacks[i];\n const outputs = unnest(callback.getOutputs(paths));\n outputs.forEach(followOutput);\n }\n return callbacks;\n}\n\nfunction mergeAllBlockers(cb1, cb2) {\n function mergeBlockers(a, b) {\n if (cb1[a][cb2.resolvedId] && !cb2[b][cb1.resolvedId]) {\n cb2[b][cb1.resolvedId] = cb1[a][cb2.resolvedId];\n cb2[b] = mergeMax(cb1[b], cb2[b]);\n cb1[a] = mergeMax(cb2[a], cb1[a]);\n }\n }\n mergeBlockers('blockedBy', 'blocking');\n mergeBlockers('blocking', 'blockedBy');\n}\n\n/*\n * Given two arrays of pending callbacks, merge them into one so that\n * each will only fire once, and any extra blockages from combining the lists\n * will be accounted for.\n */\nexport function mergePendingCallbacks(cb1, cb2) {\n if (!cb2.length) {\n return cb1;\n }\n if (!cb1.length) {\n return cb2;\n }\n const finalCallbacks = clone(cb1);\n const callbacks2 = clone(cb2);\n const allResolvedIds = collectIds(finalCallbacks);\n\n callbacks2.forEach((callback, i) => {\n const existingIndex = allResolvedIds[callback.resolvedId];\n if (existingIndex !== undefined) {\n finalCallbacks.forEach(finalCb => {\n mergeAllBlockers(finalCb, callback);\n });\n callbacks2.slice(i + 1).forEach(cb2 => {\n mergeAllBlockers(cb2, callback);\n });\n finalCallbacks[existingIndex] = mergeDeepRight(\n finalCallbacks[existingIndex],\n callback\n );\n } else {\n allResolvedIds[callback.resolvedId] = finalCallbacks.length;\n finalCallbacks.push(callback);\n }\n });\n\n return finalCallbacks;\n}\n\n/*\n * Remove callbacks whose outputs or changed inputs have been removed\n * from the layout\n */\nexport function pruneRemovedCallbacks(pendingCallbacks, paths) {\n const removeIds = [];\n let cleanedCallbacks = pendingCallbacks.map(callback => {\n const {changedPropIds, getOutputs, resolvedId} = callback;\n if (!flatten(getOutputs(paths)).length) {\n removeIds.push(resolvedId);\n return callback;\n }\n\n let omittedProps = false;\n const newChangedProps = pickBy((_, propId) => {\n if (getPath(paths, splitIdAndProp(propId).id)) {\n return true;\n }\n omittedProps = true;\n return false;\n }, changedPropIds);\n\n return omittedProps\n ? assoc('changedPropIds', newChangedProps, callback)\n : callback;\n });\n\n removeIds.forEach(resolvedId => {\n const cb = cleanedCallbacks.find(propEq('resolvedId', resolvedId));\n if (cb) {\n cleanedCallbacks = removePendingCallback(\n pendingCallbacks,\n paths,\n resolvedId,\n flatten(cb.getOutputs(paths)).map(combineIdAndProp)\n );\n }\n });\n\n return cleanedCallbacks;\n}\n","import {\n concat,\n flatten,\n has,\n isEmpty,\n keys,\n map,\n mergeDeepRight,\n once,\n path,\n pick,\n pickBy,\n pluck,\n propEq,\n type,\n uniq,\n without,\n zip,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\nimport {getAppState} from '../reducers/constants';\nimport {getAction} from './constants';\nimport cookie from 'cookie';\nimport {urlBase} from './utils';\nimport {\n combineIdAndProp,\n findReadyCallbacks,\n followForward,\n getCallbacksByInput,\n getCallbacksInLayout,\n isMultiOutputProp,\n isMultiValued,\n mergePendingCallbacks,\n removePendingCallback,\n parseIfWildcard,\n pruneRemovedCallbacks,\n setNewRequestId,\n stringifyId,\n validateCallbacksToLayout,\n} from './dependencies';\nimport {computePaths, getPath} from './paths';\nimport {STATUS} from '../constants/constants';\nimport {applyPersistence, prunePersistence} from '../persistence';\n\nimport isAppReady from './isAppReady';\n\nexport const updateProps = createAction(getAction('ON_PROP_CHANGE'));\nexport const setPendingCallbacks = createAction('SET_PENDING_CALLBACKS');\nexport const setRequestQueue = createAction(getAction('SET_REQUEST_QUEUE'));\nexport const setGraphs = createAction(getAction('SET_GRAPHS'));\nexport const setPaths = createAction(getAction('SET_PATHS'));\nexport const setAppLifecycle = createAction(getAction('SET_APP_LIFECYCLE'));\nexport const setConfig = createAction(getAction('SET_CONFIG'));\nexport const setHooks = createAction(getAction('SET_HOOKS'));\nexport const setLayout = createAction(getAction('SET_LAYOUT'));\nexport const onError = createAction(getAction('ON_ERROR'));\n\nexport const dispatchError = dispatch => (message, lines) =>\n dispatch(\n onError({\n type: 'backEnd',\n error: {message, html: lines.join('\\n')},\n })\n );\n\nexport function hydrateInitialOutputs() {\n return function(dispatch, getState) {\n validateCallbacksToLayout(getState(), dispatchError(dispatch));\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle(getAppState('HYDRATED')));\n };\n}\n\n/* eslint-disable-next-line no-console */\nconst logWarningOnce = once(console.warn);\n\nexport function getCSRFHeader() {\n try {\n return {\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token,\n };\n } catch (e) {\n logWarningOnce(e);\n return {};\n }\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n const {graphs, paths, layout} = getState();\n\n // overallOrder will assert circular dependencies for multi output.\n try {\n graphs.MultiGraph.overallOrder();\n } catch (err) {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message: 'Circular Dependencies',\n html: err.toString(),\n },\n })\n );\n }\n\n const initialCallbacks = getCallbacksInLayout(graphs, paths, layout, {\n outputsOnly: true,\n });\n dispatch(startCallbacks(initialCallbacks));\n}\n\nexport const redo = moveHistory('REDO');\nexport const undo = moveHistory('UNDO');\nexport const revert = moveHistory('REVERT');\n\nfunction moveHistory(changeType) {\n return function(dispatch, getState) {\n const {history, paths} = getState();\n dispatch(createAction(changeType)());\n const {id, props} =\n (changeType === 'REDO'\n ? history.future[0]\n : history.past[history.past.length - 1]) || {};\n if (id) {\n // Update props\n dispatch(\n createAction('UNDO_PROP_CHANGE')({\n itempath: getPath(paths, id),\n props,\n })\n );\n\n dispatch(notifyObservers({id, props}));\n }\n };\n}\n\nfunction unwrapIfNotMulti(paths, idProps, spec, anyVals, depType) {\n if (isMultiValued(spec)) {\n return idProps;\n }\n if (idProps.length !== 1) {\n if (!idProps.length) {\n if (typeof spec.id === 'string') {\n throw new ReferenceError(\n 'A nonexistent object was used in an `' +\n depType +\n '` of a Dash callback. The id of this object is `' +\n spec.id +\n '` and the property is `' +\n spec.property +\n '`. The string ids in the current layout are: [' +\n keys(paths.strs).join(', ') +\n ']'\n );\n }\n // TODO: unwrapped list of wildcard ids?\n // eslint-disable-next-line no-console\n console.log(paths.objs);\n throw new ReferenceError(\n 'A nonexistent object was used in an `' +\n depType +\n '` of a Dash callback. The id of this object is ' +\n JSON.stringify(spec.id) +\n (anyVals ? ' with MATCH values ' + anyVals : '') +\n ' and the property is `' +\n spec.property +\n '`. The wildcard ids currently available are logged above.'\n );\n }\n throw new ReferenceError(\n 'Multiple objects were found for an `' +\n depType +\n '` of a callback that only takes one value. The id spec is ' +\n JSON.stringify(spec.id) +\n (anyVals ? ' with MATCH values ' + anyVals : '') +\n ' and the property is `' +\n spec.property +\n '`. The objects we found are: ' +\n JSON.stringify(map(pick(['id', 'property']), idProps))\n );\n }\n return idProps[0];\n}\n\nfunction startCallbacks(callbacks) {\n return async function(dispatch, getState) {\n return await fireReadyCallbacks(dispatch, getState, callbacks);\n };\n}\n\nasync function fireReadyCallbacks(dispatch, getState, callbacks) {\n const {readyCallbacks, blockedCallbacks} = findReadyCallbacks(callbacks);\n const {config, hooks, layout, paths} = getState();\n\n // We want to calculate all the outputs only once, but we need them\n // for pendingCallbacks which we're going to dispatch prior to\n // initiating the queue. So first loop over readyCallbacks to\n // generate the output lists, then dispatch pendingCallbacks,\n // then loop again to fire off the requests.\n const outputStash = {};\n const requestedCallbacks = readyCallbacks.map(cb => {\n const cbOut = setNewRequestId(cb);\n\n const {requestId, getOutputs} = cbOut;\n const allOutputs = getOutputs(paths);\n const flatOutputs = flatten(allOutputs);\n const allPropIds = [];\n\n const reqOut = {};\n flatOutputs.forEach(({id, property}) => {\n const idStr = stringifyId(id);\n const idOut = (reqOut[idStr] = reqOut[idStr] || []);\n idOut.push(property);\n allPropIds.push(combineIdAndProp({id: idStr, property}));\n });\n cbOut.requestedOutputs = reqOut;\n\n outputStash[requestId] = {allOutputs, allPropIds};\n\n return cbOut;\n });\n\n const allCallbacks = concat(requestedCallbacks, blockedCallbacks);\n dispatch(setPendingCallbacks(allCallbacks));\n\n const ids = requestedCallbacks.map(cb => [\n cb.getInputs(paths),\n cb.getState(paths),\n ]);\n await isAppReady(layout, paths, uniq(pluck('id', flatten(ids))));\n\n function fireNext() {\n return fireReadyCallbacks(\n dispatch,\n getState,\n getState().pendingCallbacks\n );\n }\n\n let hasClientSide = false;\n\n const queue = requestedCallbacks.map(cb => {\n const {output, inputs, state, clientside_function} = cb.callback;\n const {requestId, resolvedId} = cb;\n const {allOutputs, allPropIds} = outputStash[requestId];\n\n let payload;\n try {\n const outputs = allOutputs.map((out, i) =>\n unwrapIfNotMulti(\n paths,\n map(pick(['id', 'property']), out),\n cb.callback.outputs[i],\n cb.anyVals,\n 'Output'\n )\n );\n\n payload = {\n output,\n outputs: isMultiOutputProp(output) ? outputs : outputs[0],\n inputs: fillVals(paths, layout, cb, inputs, 'Input'),\n changedPropIds: keys(cb.changedPropIds),\n };\n if (cb.callback.state.length) {\n payload.state = fillVals(paths, layout, cb, state, 'State');\n }\n } catch (e) {\n handleError(e);\n return fireNext();\n }\n\n function updatePending(pendingCallbacks, skippedProps) {\n const newPending = removePendingCallback(\n pendingCallbacks,\n getState().paths,\n resolvedId,\n skippedProps\n );\n dispatch(setPendingCallbacks(newPending));\n }\n\n function handleData(data) {\n let {pendingCallbacks} = getState();\n if (!requestIsActive(pendingCallbacks, resolvedId, requestId)) {\n return;\n }\n const updated = [];\n Object.entries(data).forEach(([id, props]) => {\n const parsedId = parseIfWildcard(id);\n\n const {layout: oldLayout, paths: oldPaths} = getState();\n\n const appliedProps = doUpdateProps(\n dispatch,\n getState,\n parsedId,\n props\n );\n if (appliedProps) {\n // doUpdateProps can cause new callbacks to be added\n // via derived props - update pendingCallbacks\n // But we may also need to merge in other callbacks that\n // we found in an earlier interation of the data loop.\n const statePendingCallbacks = getState().pendingCallbacks;\n if (statePendingCallbacks !== pendingCallbacks) {\n pendingCallbacks = mergePendingCallbacks(\n pendingCallbacks,\n statePendingCallbacks\n );\n }\n\n Object.keys(appliedProps).forEach(property => {\n updated.push(combineIdAndProp({id, property}));\n });\n\n if (has('children', appliedProps)) {\n const oldChildren = path(\n concat(getPath(oldPaths, parsedId), [\n 'props',\n 'children',\n ]),\n oldLayout\n );\n // If components changed, need to update paths,\n // check if all pending callbacks are still\n // valid, and add all callbacks associated with\n // new components, either as inputs or outputs,\n // or components removed from ALL/ALLSMALLER inputs\n pendingCallbacks = updateChildPaths(\n dispatch,\n getState,\n pendingCallbacks,\n parsedId,\n appliedProps.children,\n oldChildren\n );\n }\n\n // persistence edge case: if you explicitly update the\n // persistence key, other props may change that require us\n // to fire additional callbacks\n const addedProps = pickBy(\n (v, k) => !(k in props),\n appliedProps\n );\n if (!isEmpty(addedProps)) {\n const {graphs, paths} = getState();\n pendingCallbacks = includeObservers(\n id,\n addedProps,\n graphs,\n paths,\n pendingCallbacks\n );\n }\n }\n });\n updatePending(pendingCallbacks, without(updated, allPropIds));\n }\n\n function handleError(err) {\n const {pendingCallbacks} = getState();\n if (requestIsActive(pendingCallbacks, resolvedId, requestId)) {\n // Skip all prop updates from this callback, and remove\n // it from the pending list so callbacks it was blocking\n // that have other changed inputs will still fire.\n updatePending(pendingCallbacks, allPropIds);\n }\n const outputs = payload\n ? map(combineIdAndProp, flatten([payload.outputs])).join(', ')\n : output;\n let message = `Callback error updating ${outputs}`;\n if (clientside_function) {\n const {namespace: ns, function_name: fn} = clientside_function;\n message += ` via clientside function ${ns}.${fn}`;\n }\n handleAsyncError(err, message, dispatch);\n }\n\n if (clientside_function) {\n try {\n handleData(handleClientside(clientside_function, payload));\n } catch (err) {\n handleError(err);\n }\n hasClientSide = true;\n return null;\n }\n\n return handleServerside(config, payload, hooks)\n .then(handleData)\n .catch(handleError)\n .then(fireNext);\n });\n const done = Promise.all(queue);\n return hasClientSide ? fireNext().then(done) : done;\n}\n\nfunction fillVals(paths, layout, cb, specs, depType) {\n const getter = depType === 'Input' ? cb.getInputs : cb.getState;\n return getter(paths).map((inputList, i) =>\n unwrapIfNotMulti(\n paths,\n inputList.map(({id, property, path: path_}) => ({\n id,\n property,\n value: path(path_, layout).props[property],\n })),\n specs[i],\n cb.anyVals,\n depType\n )\n );\n}\n\nfunction handleServerside(config, payload, hooks) {\n if (hooks.request_pre !== null) {\n hooks.request_pre(payload);\n }\n\n return fetch(\n `${urlBase(config)}_dash-update-component`,\n mergeDeepRight(config.fetch, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: JSON.stringify(payload),\n })\n ).then(res => {\n const {status} = res;\n if (status === STATUS.OK) {\n return res.json().then(data => {\n const {multi, response} = data;\n if (hooks.request_post !== null) {\n hooks.request_post(payload, response);\n }\n\n if (multi) {\n return response;\n }\n\n const {output} = payload;\n const id = output.substr(0, output.lastIndexOf('.'));\n return {[id]: response.props};\n });\n }\n if (status === STATUS.PREVENT_UPDATE) {\n return {};\n }\n throw res;\n });\n}\n\nconst getVals = input =>\n Array.isArray(input) ? pluck('value', input) : input.value;\n\nconst zipIfArray = (a, b) => (Array.isArray(a) ? zip(a, b) : [[a, b]]);\n\nfunction handleClientside(clientside_function, payload) {\n const dc = (window.dash_clientside = window.dash_clientside || {});\n if (!dc.no_update) {\n Object.defineProperty(dc, 'no_update', {\n value: {description: 'Return to prevent updating an Output.'},\n writable: false,\n });\n\n Object.defineProperty(dc, 'PreventUpdate', {\n value: {description: 'Throw to prevent updating all Outputs.'},\n writable: false,\n });\n }\n\n const {inputs, outputs, state} = payload;\n\n let returnValue;\n\n try {\n const {namespace, function_name} = clientside_function;\n let args = inputs.map(getVals);\n if (state) {\n args = concat(args, state.map(getVals));\n }\n returnValue = dc[namespace][function_name](...args);\n } catch (e) {\n if (e === dc.PreventUpdate) {\n return {};\n }\n throw e;\n }\n\n if (type(returnValue) === 'Promise') {\n throw new Error(\n 'The clientside function returned a Promise. ' +\n 'Promises are not supported in Dash clientside ' +\n 'right now, but may be in the future.'\n );\n }\n\n const data = {};\n zipIfArray(outputs, returnValue).forEach(([outi, reti]) => {\n zipIfArray(outi, reti).forEach(([outij, retij]) => {\n const {id, property} = outij;\n const idStr = stringifyId(id);\n const dataForId = (data[idStr] = data[idStr] || {});\n if (retij !== dc.no_update) {\n dataForId[property] = retij;\n }\n });\n });\n return data;\n}\n\nfunction requestIsActive(pendingCallbacks, resolvedId, requestId) {\n const thisCallback = pendingCallbacks.find(\n propEq('resolvedId', resolvedId)\n );\n // could be inactivated if it was requested again, in which case it could\n // potentially even have finished and been removed from the list\n return thisCallback && thisCallback.requestId === requestId;\n}\n\nfunction doUpdateProps(dispatch, getState, id, updatedProps) {\n const {layout, paths} = getState();\n const itempath = getPath(paths, id);\n if (!itempath) {\n return false;\n }\n\n // This is a callback-generated update.\n // Check if this invalidates existing persisted prop values,\n // or if persistence changed, whether this updates other props.\n const updatedProps2 = prunePersistence(\n path(itempath, layout),\n updatedProps,\n dispatch\n );\n\n // In case the update contains whole components, see if any of\n // those components have props to update to persist user edits.\n const {props} = applyPersistence({props: updatedProps2}, dispatch);\n\n dispatch(\n updateProps({\n itempath,\n props,\n source: 'response',\n })\n );\n\n return props;\n}\n\nfunction updateChildPaths(\n dispatch,\n getState,\n pendingCallbacks,\n id,\n children,\n oldChildren\n) {\n const {paths: oldPaths, graphs} = getState();\n const childrenPath = concat(getPath(oldPaths, id), ['props', 'children']);\n const paths = computePaths(children, childrenPath, oldPaths);\n dispatch(setPaths(paths));\n\n const cleanedCallbacks = pruneRemovedCallbacks(pendingCallbacks, paths);\n\n const newCallbacks = getCallbacksInLayout(graphs, paths, children, {\n chunkPath: childrenPath,\n });\n\n // Wildcard callbacks with array inputs (ALL / ALLSMALLER) need to trigger\n // even due to the deletion of components\n const deletedComponentCallbacks = getCallbacksInLayout(\n graphs,\n oldPaths,\n oldChildren,\n {removedArrayInputsOnly: true, newPaths: paths, chunkPath: childrenPath}\n );\n\n const allNewCallbacks = mergePendingCallbacks(\n newCallbacks,\n deletedComponentCallbacks\n );\n return mergePendingCallbacks(cleanedCallbacks, allNewCallbacks);\n}\n\nexport function notifyObservers({id, props}) {\n return async function(dispatch, getState) {\n const {graphs, paths, pendingCallbacks} = getState();\n const finalCallbacks = includeObservers(\n id,\n props,\n graphs,\n paths,\n pendingCallbacks\n );\n dispatch(startCallbacks(finalCallbacks));\n };\n}\n\nfunction includeObservers(id, props, graphs, paths, pendingCallbacks) {\n const changedProps = keys(props);\n let finalCallbacks = pendingCallbacks;\n\n changedProps.forEach(propName => {\n const newCBs = getCallbacksByInput(graphs, paths, id, propName);\n if (newCBs.length) {\n finalCallbacks = mergePendingCallbacks(\n finalCallbacks,\n followForward(graphs, paths, newCBs)\n );\n }\n });\n return finalCallbacks;\n}\n\nexport function handleAsyncError(err, message, dispatch) {\n // Handle html error responses\n if (err && typeof err.text === 'function') {\n err.text().then(text => {\n const error = {message, html: text};\n dispatch(onError({type: 'backEnd', error}));\n });\n } else {\n const error = err instanceof Error ? err : {message, html: err};\n dispatch(onError({type: 'backEnd', error}));\n }\n}\n","import {path} from 'ramda';\nimport {isReady} from '@plotly/dash-component-plugins';\n\nimport Registry from '../registry';\nimport {getPath} from './paths';\nimport {stringifyId} from './dependencies';\n\nexport default (layout, paths, targets) => {\n if (!targets.length) {\n return true;\n }\n const promises = [];\n\n const {events} = paths;\n const rendered = new Promise(resolveRendered => {\n events.once('rendered', resolveRendered);\n });\n\n targets.forEach(id => {\n const pathOfId = getPath(paths, id);\n if (!pathOfId) {\n return;\n }\n\n const target = path(pathOfId, layout);\n if (!target) {\n return;\n }\n\n const component = Registry.resolve(target);\n const ready = isReady(component);\n\n if (ready && typeof ready.then === 'function') {\n promises.push(\n Promise.race([\n ready,\n rendered.then(\n () => document.getElementById(stringifyId(id)) && ready\n ),\n ])\n );\n }\n });\n\n return promises.length ? Promise.all(promises) : true;\n};\n","import {\n concat,\n filter,\n find,\n forEachObjIndexed,\n path,\n propEq,\n props,\n} from 'ramda';\n\nimport {crawlLayout} from './utils';\n\n/*\n * state.paths has structure:\n * {\n * strs: {[id]: path} // for regular string ids\n * objs: {[keyStr]: [{values, path}]} // for wildcard ids\n * }\n * keyStr: sorted keys of the id, joined with ',' into one string\n * values: array of values in the id, in order of keys\n */\n\nexport function computePaths(subTree, startingPath, oldPaths, events) {\n const {strs: oldStrs, objs: oldObjs} = oldPaths || {strs: {}, objs: {}};\n\n const diffHead = path => startingPath.some((v, i) => path[i] !== v);\n\n const spLen = startingPath.length;\n // if we're updating a subtree, clear out all of the existing items\n const strs = spLen ? filter(diffHead, oldStrs) : {};\n const objs = {};\n if (spLen) {\n forEachObjIndexed((oldValPaths, oldKeys) => {\n const newVals = filter(({path}) => diffHead(path), oldValPaths);\n if (newVals.length) {\n objs[oldKeys] = newVals;\n }\n }, oldObjs);\n }\n\n crawlLayout(subTree, function assignPath(child, itempath) {\n const id = path(['props', 'id'], child);\n if (id) {\n if (typeof id === 'object') {\n const keys = Object.keys(id).sort();\n const values = props(keys, id);\n const keyStr = keys.join(',');\n const paths = (objs[keyStr] = objs[keyStr] || []);\n paths.push({values, path: concat(startingPath, itempath)});\n } else {\n strs[id] = concat(startingPath, itempath);\n }\n }\n });\n\n // We include an event emitter here because it will be used along with\n // paths to determine when the app is ready for callbacks.\n return {strs, objs, events: events || oldPaths.events};\n}\n\nexport function getPath(paths, id) {\n if (typeof id === 'object') {\n const keys = Object.keys(id).sort();\n const keyStr = keys.join(',');\n const keyPaths = paths.objs[keyStr];\n if (!keyPaths) {\n return false;\n }\n const values = props(keys, id);\n const pathObj = find(propEq('values', values), keyPaths);\n return pathObj && pathObj.path;\n }\n return paths.strs[id];\n}\n","import {append, concat, has, path, type} from 'ramda';\n\n/*\n * requests_pathname_prefix is the new config parameter introduced in\n * dash==0.18.0. The previous versions just had url_base_pathname\n */\nexport function urlBase(config) {\n const hasUrlBase = has('url_base_pathname', config);\n const hasReqPrefix = has('requests_pathname_prefix', config);\n if (type(config) !== 'Object' || (!hasUrlBase && !hasReqPrefix)) {\n throw new Error(\n `\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in \\`config\\`. \\`config\\` is: `,\n config\n );\n }\n\n const base = hasReqPrefix\n ? config.requests_pathname_prefix\n : config.url_base_pathname;\n\n return base.charAt(base.length - 1) === '/' ? base : base + '/';\n}\n\nconst propsChildren = ['props', 'children'];\n\n// crawl a layout object or children array, apply a function on every object\nexport const crawlLayout = (object, func, currentPath = []) => {\n if (Array.isArray(object)) {\n // children array\n object.forEach((child, i) => {\n crawlLayout(child, func, append(i, currentPath));\n });\n } else if (type(object) === 'Object') {\n func(object, currentPath);\n\n const children = path(propsChildren, object);\n if (children) {\n const newPath = concat(currentPath, propsChildren);\n crawlLayout(children, func, newPath);\n }\n }\n};\n\n// There are packages for this but it's simple enough, I just\n// adapted it from https://gist.github.com/mudge/5830382\nexport class EventEmitter {\n constructor() {\n this._ev = {};\n }\n on(event, listener) {\n const events = (this._ev[event] = this._ev[event] || []);\n events.push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const events = this._ev[event];\n if (events) {\n const idx = events.indexOf(listener);\n if (idx > -1) {\n events.splice(idx, 1);\n }\n }\n }\n emit(event, ...args) {\n const events = this._ev[event];\n if (events) {\n events.forEach(listener => listener.apply(this, args));\n }\n }\n once(event, listener) {\n const remove = this.on(event, (...args) => {\n remove();\n listener.apply(this, args);\n });\n }\n}\n","/*\n * Copied out of prop-types and modified - inspired by check-prop-types, but\n * simplified and tweaked to our needs: we don't need the NODE_ENV check,\n * we report all errors, not just the first one, and we don't need the throwing\n * variant `assertPropTypes`.\n */\nimport ReactPropTypesSecret from 'prop-types/lib/ReactPropTypesSecret';\n\n/**\n * Assert that the values match with the type specs.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @return {string} Any error messsage resulting from checking the types\n */\nexport default function checkPropTypes(\n typeSpecs,\n values,\n location,\n componentName,\n getStack\n) {\n const errors = [];\n for (const typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n let error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n error = Error(\n (componentName || 'React class') +\n ': ' +\n location +\n ' type `' +\n typeSpecName +\n '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' +\n typeof typeSpecs[typeSpecName] +\n '`.'\n );\n error.name = 'Invariant Violation';\n } else {\n error = typeSpecs[typeSpecName](\n values,\n typeSpecName,\n componentName,\n location,\n null,\n ReactPropTypesSecret\n );\n }\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n errors.push(\n (componentName || 'React class') +\n ': type specification of ' +\n location +\n ' `' +\n typeSpecName +\n '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' +\n typeof error +\n '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error) {\n var stack = (getStack && getStack()) || '';\n\n errors.push(\n 'Failed ' + location + ' type: ' + error.message + stack\n );\n }\n }\n }\n return errors.join('\\n\\n');\n}\n","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass DocumentTitle extends Component {\n constructor(props) {\n super(props);\n this.state = {\n initialTitle: document.title,\n };\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n if (props.pendingCallbacks.length) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n\n shouldComponentUpdate() {\n return false;\n }\n\n render() {\n return null;\n }\n}\n\nDocumentTitle.propTypes = {\n pendingCallbacks: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n pendingCallbacks: state.pendingCallbacks,\n}))(DocumentTitle);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Loading(props) {\n if (props.pendingCallbacks.length) {\n return <div className=\"_dash-loading-callback\" />;\n }\n return null;\n}\n\nLoading.propTypes = {\n pendingCallbacks: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n pendingCallbacks: state.pendingCallbacks,\n}))(Loading);\n","import {\n comparator,\n equals,\n forEach,\n has,\n isEmpty,\n lt,\n path,\n pathOr,\n sort,\n} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport apiThunk from '../../actions/api';\n\nclass Reloader extends React.Component {\n constructor(props) {\n super(props);\n if (props.config.hot_reload) {\n const {interval, max_retry} = props.config.hot_reload;\n this.state = {\n interval,\n disabled: false,\n intervalId: null,\n packages: null,\n max_retry,\n };\n } else {\n this.state = {\n disabled: true,\n };\n }\n this._retry = 0;\n this._head = document.querySelector('head');\n this.clearInterval = this.clearInterval.bind(this);\n }\n\n clearInterval() {\n window.clearInterval(this.state.intervalId);\n this.setState({intervalId: null});\n }\n\n static getDerivedStateFromProps(props) {\n /*\n * Save the non-loading requests in the state in order to compare\n * current hashes with previous hashes.\n * Note that if there wasn't a \"loading\" state for the requests,\n * then we could simply compare `props` with `prevProps` in\n * `componentDidUpdate`.\n */\n if (\n !isEmpty(props.reloadRequest) &&\n props.reloadRequest.status !== 'loading'\n ) {\n return {reloadRequest: props.reloadRequest};\n }\n return null;\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {reloadRequest} = this.state;\n const {dispatch} = this.props;\n\n // In the beginning, reloadRequest won't be defined\n if (!reloadRequest) {\n return;\n }\n\n /*\n * When reloadRequest is first defined, prevState won't be defined\n * for one render loop.\n * The first reloadRequest defines the initial/baseline hash -\n * it doesn't require a reload\n */\n if (!has('reloadRequest', prevState)) {\n return;\n }\n\n if (\n reloadRequest.status === 200 &&\n path(['content', 'reloadHash'], reloadRequest) !==\n path(['reloadRequest', 'content', 'reloadHash'], prevState)\n ) {\n // Check for CSS (!content.hard) or new package assets\n if (\n reloadRequest.content.hard ||\n !equals(\n reloadRequest.content.packages.length,\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n ).length\n ) ||\n !equals(\n sort(comparator(lt), reloadRequest.content.packages),\n sort(\n comparator(lt),\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n )\n )\n )\n ) {\n // Look if it was a css file.\n let was_css = false;\n // eslint-disable-next-line prefer-const\n for (let a of reloadRequest.content.files) {\n if (a.is_css) {\n was_css = true;\n const nodesToDisable = [];\n\n // Search for the old file by xpath.\n const it = document.evaluate(\n `//link[contains(@href, \"${a.url}\")]`,\n this._head\n );\n let node = it.iterateNext();\n\n while (node) {\n nodesToDisable.push(node);\n node = it.iterateNext();\n }\n\n forEach(\n n => n.setAttribute('disabled', 'disabled'),\n nodesToDisable\n );\n\n if (a.modified > 0) {\n const link = document.createElement('link');\n link.href = `${a.url}?m=${a.modified}`;\n link.type = 'text/css';\n link.rel = 'stylesheet';\n this._head.appendChild(link);\n // Else the file was deleted.\n }\n } else {\n // If there's another kind of file here do a hard reload.\n was_css = false;\n break;\n }\n }\n if (!was_css) {\n // Assets file have changed\n // or a component lib has been added/removed -\n // Must do a hard reload\n window.top.location.reload();\n }\n } else {\n // Backend code changed - can do a soft reload in place\n dispatch({type: 'RELOAD'});\n }\n } else if (reloadRequest.status === 500) {\n if (this._retry > this.state.max_retry) {\n this.clearInterval();\n // Integrate with dev tools ui?!\n window.alert(\n `\n Reloader failed after ${this._retry} times.\n Please check your application for errors.\n `\n );\n }\n this._retry++;\n }\n }\n\n componentDidMount() {\n const {dispatch, reloadRequest} = this.props;\n const {disabled, interval} = this.state;\n if (!disabled && !this.state.intervalId) {\n const intervalId = window.setInterval(() => {\n // Prevent requests from piling up - reloading can take\n // many seconds (10-30) and the interval is 3s by default\n if (reloadRequest.status !== 'loading') {\n dispatch(apiThunk('_reload-hash', 'GET', 'reloadRequest'));\n }\n }, interval);\n this.setState({intervalId});\n }\n }\n\n componentWillUnmount() {\n if (!this.state.disabled && this.state.intervalId) {\n this.clearInterval();\n }\n }\n\n render() {\n return null;\n }\n}\n\nReloader.defaultProps = {};\n\nReloader.propTypes = {\n id: PropTypes.string,\n config: PropTypes.object,\n reloadRequest: PropTypes.object,\n dispatch: PropTypes.func,\n interval: PropTypes.number,\n};\n\nexport default connect(\n state => ({\n config: state.config,\n reloadRequest: state.reloadRequest,\n }),\n dispatch => ({dispatch})\n)(Reloader);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {mergeRight} from 'ramda';\nimport {redo, undo} from '../../actions/index.js';\nimport Radium from 'radium';\n\nfunction UnconnectedToolbar(props) {\n const {dispatch, history} = props;\n const styles = {\n parentSpanStyle: {\n display: 'inline-block',\n opacity: '0.2',\n ':hover': {\n opacity: 1,\n },\n },\n iconStyle: {\n fontSize: 20,\n },\n labelStyle: {\n fontSize: 15,\n },\n };\n\n const undoLink = (\n <span\n key=\"undoLink\"\n style={mergeRight(\n {\n color: history.past.length ? '#0074D9' : 'grey',\n cursor: history.past.length ? 'pointer' : 'default',\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(undo)}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(270deg)'},\n styles.iconStyle\n )}\n >\n ↺\n </div>\n <div style={styles.labelStyle}>undo</div>\n </span>\n );\n\n const redoLink = (\n <span\n key=\"redoLink\"\n style={mergeRight(\n {\n color: history.future.length ? '#0074D9' : 'grey',\n cursor: history.future.length ? 'pointer' : 'default',\n marginLeft: 10,\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(redo)}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(90deg)'},\n styles.iconStyle\n )}\n >\n ↻\n </div>\n <div style={styles.labelStyle}>redo</div>\n </span>\n );\n\n return (\n <div\n className=\"_dash-undo-redo\"\n style={{\n position: 'fixed',\n bottom: '30px',\n left: '30px',\n fontSize: '20px',\n textAlign: 'center',\n zIndex: '9999',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <div\n style={{\n position: 'relative',\n }}\n >\n {history.past.length > 0 ? undoLink : null}\n {history.future.length > 0 ? redoLink : null}\n </div>\n </div>\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst Toolbar = connect(\n state => ({\n history: state.history,\n }),\n dispatch => ({dispatch})\n)(Radium(UnconnectedToolbar));\n\nexport default Toolbar;\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./CallbackGraphContainer.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","import React, {useEffect, useRef} from 'react';\nimport PropTypes from 'prop-types';\n\nimport './CallbackGraphContainer.css';\n\nimport Viz from 'viz.js';\nimport {Module, render} from 'viz.js/full.render';\n\nimport {stringifyId} from '../../../actions/dependencies';\n\nconst CallbackGraphContainer = ({graphs}) => {\n const el = useRef(null);\n\n const viz = useRef(null);\n\n const makeViz = () => {\n viz.current = new Viz({Module, render});\n };\n\n if (!viz.current) {\n makeViz();\n }\n\n useEffect(() => {\n const {callbacks} = graphs;\n const elements = {};\n const callbacksOut = [];\n const links = callbacks.map(({inputs, outputs}, i) => {\n callbacksOut.push(`cb${i};`);\n function recordAndReturn({id, property}) {\n const idClean = stringifyId(id)\n .replace(/[\\{\\}\".;\\[\\]()]/g, '')\n .replace(/:/g, '-')\n .replace(/,/g, '_');\n elements[idClean] = elements[idClean] || {};\n elements[idClean][property] = true;\n return `\"${idClean}.${property}\"`;\n }\n const out_nodes = outputs.map(recordAndReturn).join(', ');\n const in_nodes = inputs.map(recordAndReturn).join(', ');\n return `{${in_nodes}} -> cb${i} -> {${out_nodes}};`;\n });\n\n const dot = `digraph G {\n overlap = false; fontname=\"Arial\"; fontcolor=\"#333333\";\n edge [color=\"#888888\"];\n node [shape=box, fontname=\"Arial\", style=filled, color=\"#109DFF\", fontcolor=white];\n graph [penwidth=0];\n subgraph callbacks {\n node [shape=circle, width=0.3, label=\"\", color=\"#00CC96\"];\n ${callbacksOut.join('\\n')} }\n\n ${Object.entries(elements)\n .map(\n ([id, props], i) => `\n subgraph cluster_${i} {\n bgcolor=\"#B9C2CE\";\n ${Object.keys(props)\n .map(p => `\"${id}.${p}\" [label=\"${p}\"];`)\n .join('\\n')}\n label = \"${id}\"; }`\n )\n .join('\\n')}\n\n ${links.join('\\n')} }`;\n\n viz.current\n .renderSVGElement(dot)\n .then(vizEl => {\n el.current.innerHTML = '';\n el.current.appendChild(vizEl);\n })\n .catch(e => {\n // https://github.com/mdaines/viz.js/wiki/Caveats\n makeViz();\n // eslint-disable-next-line no-console\n console.error(e);\n el.current.innerHTML = 'Error creating callback graph';\n });\n });\n\n return <div className=\"dash-callback-dag--container\" ref={el} />;\n};\n\nCallbackGraphContainer.propTypes = {\n graphs: PropTypes.object,\n};\n\nexport {CallbackGraphContainer};\n","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {onError, revert} from '../../actions';\n\nclass UnconnectedComponentErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n myID: props.componentId,\n oldChildren: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(_) {\n return {hasError: true};\n }\n\n componentDidCatch(error, info) {\n const {dispatch} = this.props;\n dispatch(\n onError({\n myID: this.state.myID,\n type: 'frontEnd',\n error,\n info,\n })\n );\n dispatch(revert);\n }\n\n componentDidUpdate(prevProps, prevState) {\n const prevChildren = prevProps.children;\n if (\n !this.state.hasError &&\n prevChildren !== prevState.oldChildren &&\n prevChildren !== this.props.children\n ) {\n /* eslint-disable-next-line react/no-did-update-set-state */\n this.setState({\n oldChildren: prevChildren,\n });\n }\n }\n\n render() {\n const {hasError, oldChildren} = this.state;\n return hasError ? oldChildren : this.props.children;\n }\n}\n\nUnconnectedComponentErrorBoundary.propTypes = {\n children: PropTypes.object,\n componentId: PropTypes.string,\n error: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst ComponentErrorBoundary = connect(\n state => ({\n error: state.error,\n }),\n dispatch => {\n return {dispatch};\n }\n)(Radium(UnconnectedComponentErrorBoundary));\n\nexport default ComponentErrorBoundary;\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./FrontEndError.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","import {connect} from 'react-redux';\nimport './FrontEndError.css';\nimport {Component} from 'react';\nimport CollapseIcon from '../icons/CollapseIcon.svg';\nimport PropTypes from 'prop-types';\nimport '../Percy.css';\nimport {urlBase} from '../../../actions/utils';\n\nimport werkzeugCss from '../werkzeugcss';\n\nclass FrontEndError extends Component {\n constructor(props) {\n super(props);\n this.state = {\n collapsed: this.props.isListItem,\n };\n }\n\n render() {\n const {e, inAlertsTray} = this.props;\n const {collapsed} = this.state;\n\n const cardClasses =\n 'dash-error-card__content' +\n (inAlertsTray ? ' dash-error-card--alerts-tray' : '');\n\n /* eslint-disable no-inline-comments */\n const errorHeader = (\n <div\n className=\"dash-fe-error-top test-devtools-error-toggle\"\n onClick={() => this.setState({collapsed: !collapsed})}\n >\n <span className=\"dash-fe-error-top__group\">\n ⛑️\n <span className=\"dash-fe-error__title\">\n {e.error.message || 'Error'}\n </span>\n </span>\n <span className=\"dash-fe-error-top__group\">\n <span className=\"dash-fe-error__timestamp percy-hide\">\n {`${e.timestamp.toLocaleTimeString()}`}\n </span>\n <span className=\"dash-fe-error__timestamp percy-show\">\n {/* Special percy timestamp for visual testing.\n * Hidden during regular usage.\n */}\n 00:00:00 PM\n </span>\n\n <CollapseIcon\n className={`dash-fe-error__collapse ${\n collapsed ? 'dash-fe-error__collapse--flipped' : ''\n }`}\n onClick={() => this.setState({collapsed: !collapsed})}\n />\n </span>\n </div>\n );\n /* eslint-enable no-inline-comments */\n\n return collapsed ? (\n <div className=\"dash-error-card__list-item\">{errorHeader}</div>\n ) : (\n <div className={cardClasses}>\n {errorHeader}\n <ErrorContent error={e.error} />\n </div>\n );\n }\n}\n\nconst MAX_MESSAGE_LENGTH = 40;\n/* eslint-disable no-inline-comments */\nfunction UnconnectedErrorContent({error, base}) {\n return (\n <div className=\"error-container\">\n {/*\n * 40 is a rough heuristic - if longer than 40 then the\n * message might overflow into ellipses in the title above &\n * will need to be displayed in full in this error body\n */}\n {typeof error.message !== 'string' ||\n error.message.length < MAX_MESSAGE_LENGTH ? null : (\n <div className=\"dash-fe-error__st\">\n <div className=\"dash-fe-error__info dash-fe-error__curved\">\n {error.message}\n </div>\n </div>\n )}\n\n {typeof error.stack !== 'string' ? null : (\n <div className=\"dash-fe-error__st\">\n <div className=\"dash-fe-error__info\">\n <details>\n <summary>\n <i>\n (This error originated from the built-in\n JavaScript code that runs Dash apps. Click\n to see the full stack trace or open your\n browser's console.)\n </i>\n </summary>\n\n {error.stack.split('\\n').map((line, i) => (\n <p key={i}>{line}</p>\n ))}\n </details>\n </div>\n </div>\n )}\n {/* Backend Error */}\n {typeof error.html !== 'string' ? null : error.html.indexOf(\n '<!DOCTYPE HTML'\n ) === 0 ? (\n <div className=\"dash-be-error__st\">\n <div className=\"dash-backend-error\">\n {/* Embed werkzeug debugger in an iframe to prevent\n CSS leaking - werkzeug HTML includes a bunch\n of CSS on base html elements like `<body/>`\n */}\n\n <iframe\n srcDoc={error.html\n .replace(\n '</head>',\n `<style type=\"text/css\">${werkzeugCss}</style></head>`\n )\n .replace(\n '=\"?__debugger__',\n `=\"${base}?__debugger__`\n )}\n style={{\n /*\n * 67px of padding and margin between this\n * iframe and the parent container.\n * 67 was determined manually in the\n * browser's dev tools.\n */\n width: 'calc(600px - 67px)',\n height: '75vh',\n border: 'none',\n }}\n />\n </div>\n </div>\n ) : (\n <div className=\"dash-be-error__str\">\n <div className=\"dash-backend-error\">{error.html}</div>\n </div>\n )}\n </div>\n );\n}\n/* eslint-enable no-inline-comments */\n\nconst errorPropTypes = PropTypes.shape({\n message: PropTypes.string,\n\n /* front-end error messages */\n stack: PropTypes.string,\n\n /* backend error messages */\n html: PropTypes.string,\n});\n\nUnconnectedErrorContent.propTypes = {\n error: errorPropTypes,\n base: PropTypes.string,\n};\n\nconst ErrorContent = connect(state => ({base: urlBase(state.config)}))(\n UnconnectedErrorContent\n);\n\nFrontEndError.propTypes = {\n e: PropTypes.shape({\n timestamp: PropTypes.object,\n error: errorPropTypes,\n }),\n inAlertsTray: PropTypes.bool,\n isListItem: PropTypes.bool,\n};\n\nFrontEndError.defaultProps = {\n inAlertsTray: false,\n isListItem: false,\n};\n\nexport {FrontEndError};\n","import React, {Component} from 'react';\nimport './FrontEndError.css';\nimport PropTypes from 'prop-types';\nimport {FrontEndError} from './FrontEndError.react';\n\nclass FrontEndErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const errorsLength = this.props.errors.length;\n if (errorsLength === 0) {\n return null;\n }\n\n const inAlertsTray = this.props.inAlertsTray;\n let cardClasses = 'dash-error-card dash-error-card--container';\n\n const errorElements = this.props.errors.map((error, i) => {\n return <FrontEndError e={error} isListItem={true} key={i} />;\n });\n if (inAlertsTray) {\n cardClasses += ' dash-error-card--alerts-tray';\n }\n return (\n <div className={cardClasses}>\n <div className=\"dash-error-card__topbar\">\n <div className=\"dash-error-card__message\">\n 🛑 Errors (\n <strong className=\"test-devtools-error-count\">\n {errorsLength}\n </strong>\n )\n </div>\n </div>\n <div className=\"dash-error-card__list\">{errorElements}</div>\n </div>\n );\n }\n}\n\nFrontEndErrorContainer.propTypes = {\n errors: PropTypes.array,\n inAlertsTray: PropTypes.any,\n};\n\nFrontEndErrorContainer.propTypes = {\n inAlertsTray: PropTypes.any,\n};\n\nexport {FrontEndErrorContainer};\n","import {connect} from 'react-redux';\nimport React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {DebugMenu} from './menu/DebugMenu.react';\n\nclass UnconnectedGlobalErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {error, graphs, children} = this.props;\n return (\n <div id=\"_dash-global-error-container\">\n <DebugMenu error={error} graphs={graphs}>\n <div id=\"_dash-app-content\">{children}</div>\n </DebugMenu>\n </div>\n );\n }\n}\n\nUnconnectedGlobalErrorContainer.propTypes = {\n children: PropTypes.object,\n error: PropTypes.object,\n graphs: PropTypes.object,\n};\n\nconst GlobalErrorContainer = connect(state => ({\n error: state.error,\n graphs: state.graphs,\n}))(Radium(UnconnectedGlobalErrorContainer));\n\nexport default GlobalErrorContainer;\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./GlobalErrorOverlay.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport {concat} from 'ramda';\n\nimport './GlobalErrorOverlay.css';\nimport {FrontEndErrorContainer} from './FrontEnd/FrontEndErrorContainer.react';\n\nexport default class GlobalErrorOverlay extends Component {\n constructor(props) {\n super(props);\n }\n\n render() {\n const {visible, error, toastsEnabled} = this.props;\n\n let frontEndErrors;\n if (toastsEnabled) {\n const errors = concat(error.frontEnd, error.backEnd);\n\n frontEndErrors = <FrontEndErrorContainer errors={errors} />;\n }\n return (\n <div>\n <div>{this.props.children}</div>\n <div className=\"dash-error-menu\">\n <div className={visible ? 'dash-fe-errors' : ''}>\n {frontEndErrors}\n </div>\n </div>\n </div>\n );\n }\n}\n\nGlobalErrorOverlay.propTypes = {\n children: PropTypes.object,\n visible: PropTypes.bool,\n error: PropTypes.object,\n toastsEnabled: PropTypes.any,\n};\n","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!./Percy.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z\",\n fill: \"#fff\"\n});\n\nfunction SvgBellIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 28,\n height: 27,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgBellIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.107 2.44L6.2.533C3 2.973.893 6.733.707 11h2.666a11.26 11.26 0 014.734-8.56zM24.627 11h2.666c-.2-4.267-2.306-8.027-5.493-10.467L19.907 2.44a11.327 11.327 0 014.72 8.56zM22 11.667c0-4.094-2.187-7.52-6-8.427V.333h-4V3.24c-3.827.907-6 4.32-6 8.427v6.666L3.333 21v1.333h21.333V21L22 18.333v-6.666zm-8 14.666c.187 0 .36-.013.533-.053a2.705 2.705 0 001.92-1.573c.134-.32.2-.667.2-1.04H11.32A2.686 2.686 0 0014 26.333z\",\n fill: \"#B9C2CE\"\n});\n\nfunction SvgBellIconGrey(props) {\n return React.createElement(\"svg\", _extends({\n width: 28,\n height: 27,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgBellIconGrey;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 1l4 4 4-4\",\n stroke: \"#A2B1C6\"\n});\n\nfunction SvgCollapseIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 10,\n height: 6,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgCollapseIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.85 21.197L5.616 12l9.225-9.197L12.028 0 0 12l12.037 12 2.813-2.803zm12.3 0L36.375 12 27.15 2.803 29.963 0 42 12 29.962 24l-2.812-2.803z\",\n fill: \"#fff\"\n});\n\nfunction SvgDebugIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 42,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgDebugIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M0 4a4 4 0 118 0 4 4 0 11-8 0zm5.44 2L6 5.44 4.56 4 6 2.56 5.44 2 4 3.44 2.56 2 2 2.56 3.44 4 2 5.44l.56.56L4 4.56 5.44 6z\",\n fill: \"#fff\"\n});\n\nfunction SvgErrorIconWhite(props) {\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 8 8\",\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgErrorIconWhite;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z\",\n fill: \"#fff\"\n});\n\nfunction SvgGraphIcon(props) {\n return React.createElement(\"svg\", _extends({\n width: 22,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgGraphIcon;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.103 17.005c-.908 0-1.756.302-2.362.905l-8.657-5.005c.06-.302.12-.543.12-.845 0-.301-.06-.543-.12-.844l8.537-4.944a3.644 3.644 0 002.482.964c1.998 0 3.633-1.628 3.633-3.618S20.1 0 18.103 0 14.47 1.628 14.47 3.618c0 .302.06.543.122.845L6.055 9.407a3.644 3.644 0 00-2.483-.965C1.574 8.442 0 10.071 0 12.06c0 1.99 1.635 3.618 3.633 3.618.968 0 1.816-.361 2.482-.964l8.598 5.005c-.061.24-.121.482-.121.784A3.507 3.507 0 0018.102 24a3.507 3.507 0 003.511-3.497 3.507 3.507 0 00-3.51-3.498z\",\n fill: \"#B9C2CE\"\n});\n\nfunction SvgGraphIconGrey(props) {\n return React.createElement(\"svg\", _extends({\n width: 22,\n height: 24,\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgGraphIconGrey;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport * as React from \"react\";\n\nvar _ref = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 1l12 12m0-12L1 13\",\n stroke: \"#fff\",\n strokeWidth: 2\n});\n\nfunction SvgWhiteCloseIcon(props) {\n return React.createElement(\"svg\", _extends({\n viewBox: \"0 0 14 14\",\n fill: \"none\"\n }, props), _ref);\n}\n\nexport default SvgWhiteCloseIcon;","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./DebugAlertContainer.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","import './DebugAlertContainer.css';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport ErrorIconWhite from '../icons/ErrorIconWhite.svg';\n\nclass DebugAlertContainer extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n const {alertsOpened} = this.props;\n return (\n <div\n className={`dash-debug-alert-container${\n alertsOpened ? ' dash-debug-alert-container--opened' : ''\n }`}\n onClick={this.props.onClick}\n >\n <div className=\"dash-debug-alert\">\n {alertsOpened ? (\n <ErrorIconWhite className=\"dash-debug-alert-container__icon\" />\n ) : (\n '🛑 '\n )}\n {this.props.errors.length}\n </div>\n </div>\n );\n }\n}\n\nDebugAlertContainer.propTypes = {\n errors: PropTypes.object,\n alertsOpened: PropTypes.bool,\n onClick: PropTypes.func,\n};\n\nexport {DebugAlertContainer};\n","var api = require(\"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../../node_modules/css-loader/dist/cjs.js!./DebugMenu.css\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\nvar exported = content.locals ? content.locals : {};\n\n\n\nmodule.exports = exported;","import React, {Component} from 'react';\nimport {concat, isEmpty} from 'ramda';\nimport './DebugMenu.css';\n\nimport DebugIcon from '../icons/DebugIcon.svg';\nimport WhiteCloseIcon from '../icons/WhiteCloseIcon.svg';\nimport BellIcon from '../icons/BellIcon.svg';\nimport BellIconGrey from '../icons/BellIconGrey.svg';\nimport GraphIcon from '../icons/GraphIcon.svg';\nimport GraphIconGrey from '../icons/GraphIconGrey.svg';\nimport PropTypes from 'prop-types';\nimport {DebugAlertContainer} from './DebugAlertContainer.react';\nimport GlobalErrorOverlay from '../GlobalErrorOverlay.react';\nimport {CallbackGraphContainer} from '../CallbackGraph/CallbackGraphContainer.react';\n\nclass DebugMenu extends Component {\n constructor(props) {\n super(props);\n\n this.state = {\n opened: false,\n alertsOpened: false,\n callbackGraphOpened: false,\n toastsEnabled: true,\n };\n }\n render() {\n const {\n opened,\n alertsOpened,\n toastsEnabled,\n callbackGraphOpened,\n } = this.state;\n const {error, graphs} = this.props;\n\n const menuClasses = opened\n ? 'dash-debug-menu dash-debug-menu--opened'\n : 'dash-debug-menu dash-debug-menu--closed';\n\n const menuContent = opened ? (\n <div className=\"dash-debug-menu__content\">\n {callbackGraphOpened ? (\n <CallbackGraphContainer graphs={graphs} />\n ) : null}\n {error.frontEnd.length > 0 || error.backEnd.length > 0 ? (\n <div className=\"dash-debug-menu__button-container\">\n <DebugAlertContainer\n errors={concat(error.frontEnd, error.backEnd)}\n alertsOpened={alertsOpened}\n onClick={() =>\n this.setState({alertsOpened: !alertsOpened})\n }\n />\n </div>\n ) : null}\n <div className=\"dash-debug-menu__button-container\">\n <div\n className={`dash-debug-menu__button ${\n callbackGraphOpened\n ? 'dash-debug-menu__button--enabled'\n : ''\n }`}\n onClick={() =>\n this.setState({\n callbackGraphOpened: !callbackGraphOpened,\n })\n }\n >\n {callbackGraphOpened ? (\n <GraphIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--graph\" />\n ) : (\n <GraphIconGrey className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n )}\n </div>\n <label className=\"dash-debug-menu__button-label\">\n Callback Graph\n </label>\n </div>\n <div className=\"dash-debug-menu__button-container\">\n <div\n className={`dash-debug-menu__button ${\n toastsEnabled\n ? 'dash-debug-menu__button--enabled'\n : ''\n }`}\n onClick={() =>\n this.setState({\n toastsEnabled: !toastsEnabled,\n })\n }\n >\n {toastsEnabled ? (\n <BellIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n ) : (\n <BellIconGrey className=\"dash-debug-menu__icon dash-debug-menu__icon--bell\" />\n )}\n </div>\n <label className=\"dash-debug-menu__button-label\">\n Errors\n </label>\n </div>\n <div className=\"dash-debug-menu__button-container\">\n <div\n className=\"dash-debug-menu__button dash-debug-menu__button--small\"\n onClick={e => {\n e.stopPropagation();\n this.setState({opened: false});\n }}\n >\n <WhiteCloseIcon className=\"dash-debug-menu__icon--close\" />\n </div>\n </div>\n </div>\n ) : (\n <DebugIcon className=\"dash-debug-menu__icon dash-debug-menu__icon--debug\" />\n );\n\n const alertsLabel =\n error.frontEnd.length + error.backEnd.length > 0 && !opened ? (\n <div className=\"dash-debug-alert-label\">\n <div className=\"dash-debug-alert\">\n 🛑  {error.frontEnd.length + error.backEnd.length}\n </div>\n </div>\n ) : null;\n\n return (\n <div>\n {alertsLabel}\n <div\n className={menuClasses}\n onClick={() => this.setState({opened: true})}\n >\n {menuContent}\n </div>\n <GlobalErrorOverlay\n error={error}\n visible={\n !(isEmpty(error.backEnd) && isEmpty(error.frontEnd))\n }\n toastsEnabled={toastsEnabled}\n >\n {this.props.children}\n </GlobalErrorOverlay>\n </div>\n );\n }\n}\n\nDebugMenu.propTypes = {\n children: PropTypes.object,\n error: PropTypes.object,\n graphs: PropTypes.object,\n};\n\nexport {DebugMenu};\n","// Werkzeug css included as a string, because we want to inject\n// it into an iframe srcDoc\n\nexport default `\nbody {\n margin: 0px;\n margin-top: 10px;\n}\n\n.error-container {\n font-family: Roboto;\n}\n\n.traceback {\n background-color: white;\n border: 2px solid #dfe8f3;\n border-radius: 0px 0px 4px 4px;\n color: #506784;\n}\n\nh2.traceback {\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n border-bottom: 0px;\n box-sizing: border-box;\n border-radius: 4px 4px 0px 0px;\n color: #506784;\n}\n\nh2.traceback em {\n color: #506784;\n font-weight: 100;\n}\n\n.traceback pre, .debugger textarea {\n background-color: #F3F6FA;\n}\n\n.debugger h1 {\n color: #506784;\n font-family: Roboto;\n}\n\n.explanation {\n color: #A2B1C6;\n}\n\n/* Hide the Don't Panic! footer */\n.debugger .footer {\n display: none;\n}\n\n/* Hide all of the Dash traceback stuff that leads up to the call */\n.line.before {\n display: none;\n}\n\ndiv.debugger {\n padding: 0px;\n}\n\n.debugger h1 {\n display: none;\n}\n\n.debugger .errormsg {\n margin: 0;\n color: #506784;\n font-size: 16px;\n background-color: #f3f6fa;\n border: 2px solid #dfe8f3;\n box-sizing: border-box;\n border-radius: 4px;\n padding: 10px;\n}\n\n.debugger .pastemessage input {\n display: none;\n}\n\n.debugger .explanation {\n display: none;\n}\n\n.debugger div.plain {\n border-radius: 4px;\n border-width: 2px;\n color: #506784;\n}\n\n.plain {\n display: block !important;\n}\n.plain > form > p {\n display: none;\n}\n.plain pre {\n padding: 15px !important;\n overflow-x: scroll;\n}\n\n.debugger div.traceback pre {\n cursor: default;\n}\n\n.debugger .traceback .source pre.line img {\n display: none;\n}\n`;\n","export const REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nexport const OAUTH_COOKIE_NAME = 'plotly_oauth_token';\n\nexport const STATUS = {\n OK: 200,\n PREVENT_UPDATE: 204,\n CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR',\n};\n","import {has, includes} from 'ramda';\n\nexport function propTypeErrorHandler(message, props, type) {\n /*\n * propType error messages are constructed in\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js\n * (Version 15.7.2)\n *\n * Parse these exception objects to remove JS source code and improve\n * the clarity.\n *\n * If wrong prop type was passed in, message looks like:\n *\n * Error: \"Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) {\n * var id = props.id ? props.id : generateId();\n * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, {\n * id: id\n * }));\n * }`, expected `boolean`.\"\n *\n *\n * If a required prop type was omitted, message looks like:\n *\n * \"Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) {\n * var _this;\n *\n * _classCallCheck(this, Checklist);\n *\n * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props));\n * _this.state = {\n * values: props.values\n * };\n * return _this;\n * }`, but its value is `undefined`.\"\n *\n */\n\n const messageParts = message.split('`');\n let errorMessage;\n if (includes('is marked as required', message)) {\n const invalidPropPath = messageParts[1];\n errorMessage = `${invalidPropPath} in ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += ` is required but it was not provided.`;\n } else if (includes('Bad object', message)) {\n /*\n * Handle .exact errors\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442\n */\n errorMessage =\n message.split('supplied to ')[0] +\n `supplied to ${type}` +\n '.\\nBad' +\n message.split('.\\nBad')[1];\n } else if (\n includes('Invalid ', message) &&\n includes(' supplied to ', message)\n ) {\n const invalidPropPath = messageParts[1];\n\n errorMessage = `Invalid argument \\`${invalidPropPath}\\` passed into ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += '.';\n\n /*\n * Not all error messages include the expected value.\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(', expected ', message)) {\n const expectedPropType = message.split(', expected ')[1];\n errorMessage += `\\nExpected ${expectedPropType}`;\n }\n\n /*\n * Not all error messages include the type\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(' of type `', message)) {\n const invalidPropTypeProvided = message\n .split(' of type `')[1]\n .split('`')[0];\n errorMessage += `\\nWas supplied type \\`${invalidPropTypeProvided}\\`.`;\n }\n\n if (has(invalidPropPath, props)) {\n /*\n * invalidPropPath may be nested like `options[0].value`.\n * For now, we won't try to unpack these nested options\n * but we could in the future.\n */\n const jsonSuppliedValue = JSON.stringify(\n props[invalidPropPath],\n null,\n 2\n );\n if (jsonSuppliedValue) {\n if (includes('\\n', jsonSuppliedValue)) {\n errorMessage += `\\nValue provided: \\n${jsonSuppliedValue}`;\n } else {\n errorMessage += `\\nValue provided: ${jsonSuppliedValue}`;\n }\n }\n }\n } else {\n /*\n * Not aware of other prop type warning messages.\n * But, if they exist, then at least throw the default\n * react prop types error\n */\n throw new Error(message);\n }\n\n throw new Error(errorMessage);\n}\n","import {DashRenderer} from './DashRenderer';\n\n// make DashRenderer globally available\nwindow.DashRenderer = DashRenderer;\n","import {includes, type} from 'ramda';\n\nconst SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean'];\n\nexport default component => includes(type(component), SIMPLE_COMPONENT_TYPES);\n","/**\n * Generalized persistence for component props\n *\n * When users input new prop values, they can be stored and reapplied later,\n * when the component is recreated (changing `Tab` for example) or when the\n * page is reloaded (depending on `persistence_type`). Storage is tied to\n * component ID, and the prop values will not be stored with components\n * without an ID.\n *\n * Renderer handles the mechanics, but components must define a few props:\n *\n * - `persistence`: boolean, string, or number. For simple usage, set to `true`\n * to enable persistence, omit or set `false` to disable. For more complex\n * scenarios, use any truthy value, and change to a *different* truthy value\n * when you want the persisted values cleared. (modeled off `uirevision` in)\n * plotly.js\n * Typically should have no default, but the other persistence props should\n * have defaults, so all a user needs to do to enable persistence is set this\n * one prop.\n *\n * - `persisted_props`: array of prop names or \"nested prop IDs\" allowed to\n * persist. Normally should default to the full list of supported props,\n * so they can all be enabled at once. The main exception to this is if\n * there's a prop that *can* be persisted but most users wouldn't want this.\n * A nested prop ID describes *part* of a prop to store. It must be\n * \"<propName>.<piece>\" where propName is the prop that has this info, and\n * piece may or may not map to the exact substructure being stored but is\n * meaningful to the user. For example, in `dash_table`, `columns.name`\n * stores `columns[i].name` for all columns `i`. Nested props also need\n * entries in `persistenceTransforms` - see below.\n *\n * - `persistence_type`: one of \"local\", \"session\", or \"memory\", just like\n * `dcc.Store`. But the default here should be \"local\" because the main use\n * case is to maintain settings across reloads.\n *\n * If any `persisted_props` are nested prop IDs, the component should define a\n * class property (not a React prop) `persistenceTransforms`, as an object:\n * {\n * [propName]: {\n * [piece]: {\n * extract: propValue => valueToStore,\n * apply: (storedValue, propValue) => newPropValue\n * }\n * }\n * }\n * - `extract` turns a prop value into a reduced value to store.\n * - `apply` puts an extracted value back into the prop. Make sure this creates\n * a new object rather than mutating `proValue`, and that if there are\n * multiple `piece` entries for one `propName`, their `apply` functions\n * commute - which should not be an issue if they extract and apply\n * non-intersecting parts of the full prop.\n * You only need to define these for the props that need them.\n * It's important that `extract` pulls out *only* the relevant pieces of the\n * prop, because persistence is only maintained if the extracted value of the\n * prop before applying persistence is the same as it was before the user's\n * changes.\n */\n\nimport {\n equals,\n filter,\n forEach,\n keys,\n lensPath,\n mergeRight,\n set,\n type,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\n\nimport Registry from './registry';\n\nexport const storePrefix = '_dash_persistence.';\n\nfunction err(e) {\n const error = typeof e === 'string' ? new Error(e) : e;\n\n return createAction('ON_ERROR')({\n type: 'frontEnd',\n error,\n });\n}\n\n/*\n * Does a key fit this prefix? Must either be an exact match\n * or, if a separator is provided, a scoped match - exact prefix\n * followed by the separator (then anything else)\n */\nfunction keyPrefixMatch(prefix, separator) {\n const fullStr = prefix + separator;\n const fullLen = fullStr.length;\n return key => key === prefix || key.substr(0, fullLen) === fullStr;\n}\n\nconst UNDEFINED = 'U';\nconst _parse = val => (val === UNDEFINED ? undefined : JSON.parse(val || null));\nconst _stringify = val => (val === undefined ? UNDEFINED : JSON.stringify(val));\n\nclass WebStore {\n constructor(backEnd) {\n this._name = backEnd;\n this._storage = window[backEnd];\n }\n\n hasItem(key) {\n return this._storage.getItem(storePrefix + key) !== null;\n }\n\n getItem(key) {\n // note: _storage.getItem returns null on missing keys\n // and JSON.parse(null) returns null as well\n return _parse(this._storage.getItem(storePrefix + key));\n }\n\n _setItem(key, value) {\n // unprotected version of setItem, for use by tryGetWebStore\n this._storage.setItem(storePrefix + key, _stringify(value));\n }\n /*\n * In addition to the regular key->value to set, setItem takes\n * dispatch as a parameter, so it can report OOM to devtools\n */\n setItem(key, value, dispatch) {\n try {\n this._setItem(key, value);\n } catch (e) {\n dispatch(\n err(\n `${key} failed to save in ${this._name}. Persisted props may be lost.`\n )\n );\n // TODO: at some point we may want to convert this to fall back\n // on memory, pulling out all persistence keys and putting them\n // in a MemStore that gets used from then onward.\n }\n }\n\n removeItem(key) {\n this._storage.removeItem(storePrefix + key);\n }\n\n /*\n * clear matching keys matching (optionally followed by a dot and more\n * characters) - or all keys associated with this store if no prefix.\n */\n clear(keyPrefix) {\n const fullPrefix = storePrefix + (keyPrefix || '');\n const keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : '');\n const keysToRemove = [];\n // 2-step process, so we don't depend on any particular behavior of\n // key order while removing some\n for (let i = 0; i < this._storage.length; i++) {\n const fullKey = this._storage.key(i);\n if (keyMatch(fullKey)) {\n keysToRemove.push(fullKey);\n }\n }\n forEach(k => this._storage.removeItem(k), keysToRemove);\n }\n}\n\nclass MemStore {\n constructor() {\n this._data = {};\n }\n\n hasItem(key) {\n return key in this._data;\n }\n\n getItem(key) {\n // run this storage through JSON too so we know we get a fresh object\n // each retrieval\n return _parse(this._data[key]);\n }\n\n setItem(key, value) {\n this._data[key] = _stringify(value);\n }\n\n removeItem(key) {\n delete this._data[key];\n }\n\n clear(keyPrefix) {\n if (keyPrefix) {\n forEach(\n key => delete this._data[key],\n filter(keyPrefixMatch(keyPrefix, '.'), keys(this._data))\n );\n } else {\n this._data = {};\n }\n }\n}\n\n// Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage.\n// That should be plenty for common persistence use cases,\n// without getting anywhere near typical browser limits\nconst pow = 16;\nfunction longString() {\n let s = 'Spam';\n for (let i = 2; i < pow; i++) {\n s += s;\n }\n return s;\n}\n\nexport const stores = {\n memory: new MemStore(),\n // Defer testing & making local/session stores until requested.\n // That way if we have errors here they can show up in devtools.\n};\n\nconst backEnds = {\n local: 'localStorage',\n session: 'sessionStorage',\n};\n\nfunction tryGetWebStore(backEnd, dispatch) {\n const store = new WebStore(backEnd);\n const fallbackStore = stores.memory;\n const storeTest = longString();\n const testKey = storePrefix + 'x.x';\n try {\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n dispatch(\n err(`${backEnd} init failed set/get, falling back to memory`)\n );\n return fallbackStore;\n }\n store.removeItem(testKey);\n return store;\n } catch (e) {\n dispatch(\n err(`${backEnd} init first try failed; clearing and retrying`)\n );\n }\n try {\n store.clear();\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n throw new Error('nope');\n }\n store.removeItem(testKey);\n dispatch(err(`${backEnd} init set/get succeeded after clearing!`));\n return store;\n } catch (e) {\n dispatch(err(`${backEnd} init still failed, falling back to memory`));\n return fallbackStore;\n }\n}\n\nfunction getStore(type, dispatch) {\n if (!stores[type]) {\n stores[type] = tryGetWebStore(backEnds[type], dispatch);\n }\n return stores[type];\n}\n\nconst noopTransform = {\n extract: propValue => propValue,\n apply: (storedValue, _propValue) => storedValue,\n};\n\nconst getTransform = (element, propName, propPart) =>\n propPart\n ? element.persistenceTransforms[propName][propPart]\n : noopTransform;\n\nconst getValsKey = (id, persistedProp, persistence) =>\n `${id}.${persistedProp}.${JSON.stringify(persistence)}`;\n\nconst getProps = layout => {\n const {props, type, namespace} = layout;\n if (!type || !namespace) {\n // not a real component - just need the props for recursion\n return {props};\n }\n const {id, persistence} = props;\n\n const element = Registry.resolve(layout);\n const getVal = prop => props[prop] || (element.defaultProps || {})[prop];\n const persisted_props = getVal('persisted_props');\n const persistence_type = getVal('persistence_type');\n const canPersist = id && persisted_props && persistence_type;\n\n return {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n };\n};\n\nexport function recordUiEdit(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(layout);\n if (!canPersist || !persistence) {\n return;\n }\n\n forEach(persistedProp => {\n const [propName, propPart] = persistedProp.split('.');\n if (newProps[propName] !== undefined) {\n const storage = getStore(persistence_type, dispatch);\n const {extract} = getTransform(element, propName, propPart);\n\n const valsKey = getValsKey(id, persistedProp, persistence);\n let originalVal = extract(props[propName]);\n const newVal = extract(newProps[propName]);\n\n // mainly for nested props with multiple persisted parts, it's\n // possible to have the same value as before - should not store\n // in this case.\n if (originalVal !== newVal) {\n if (storage.hasItem(valsKey)) {\n originalVal = storage.getItem(valsKey)[1];\n }\n const vals =\n originalVal === undefined\n ? [newVal]\n : [newVal, originalVal];\n storage.setItem(valsKey, vals, dispatch);\n }\n }\n }, persisted_props);\n}\n\n/*\n * Used for entire layouts (on load) or partial layouts (from children\n * callbacks) to apply previously-stored UI edits to components\n */\nexport function applyPersistence(layout, dispatch) {\n if (type(layout) !== 'Object' || !layout.props) {\n return layout;\n }\n\n return persistenceMods(layout, layout, [], dispatch);\n}\n\nconst UNDO = true;\nfunction modProp(key, storage, element, props, persistedProp, update, undo) {\n if (storage.hasItem(key)) {\n const [newVal, originalVal] = storage.getItem(key);\n const fromVal = undo ? newVal : originalVal;\n const toVal = undo ? originalVal : newVal;\n const [propName, propPart] = persistedProp.split('.');\n const transform = getTransform(element, propName, propPart);\n\n if (equals(fromVal, transform.extract(props[propName]))) {\n update[propName] = transform.apply(\n toVal,\n propName in update ? update[propName] : props[propName]\n );\n } else {\n // clear this saved edit - we've started with the wrong\n // value for this persistence ID\n storage.removeItem(key);\n }\n }\n}\n\nfunction persistenceMods(layout, component, path, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(component);\n\n let layoutOut = layout;\n if (canPersist && persistence) {\n const storage = getStore(persistence_type, dispatch);\n const update = {};\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update\n ),\n persisted_props\n );\n\n for (const propName in update) {\n layoutOut = set(\n lensPath(path.concat('props', propName)),\n update[propName],\n layoutOut\n );\n }\n }\n\n // recurse inward\n const {children} = props;\n if (Array.isArray(children)) {\n children.forEach((child, i) => {\n if (type(child) === 'Object' && child.props) {\n layoutOut = persistenceMods(\n layoutOut,\n child,\n path.concat('props', 'children', i),\n dispatch\n );\n }\n });\n } else if (type(children) === 'Object' && children.props) {\n layoutOut = persistenceMods(\n layoutOut,\n children,\n path.concat('props', 'children'),\n dispatch\n );\n }\n return layoutOut;\n}\n\n/*\n * When we receive new explicit props from a callback,\n * these override UI-driven edits of those exact props\n * but not for props nested inside children\n */\nexport function prunePersistence(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n persistence,\n persisted_props,\n persistence_type,\n element,\n } = getProps(layout);\n\n const getFinal = (propName, prevVal) =>\n propName in newProps ? newProps[propName] : prevVal;\n const finalPersistence = getFinal('persistence', persistence);\n\n if (!canPersist || !(persistence || finalPersistence)) {\n return newProps;\n }\n\n const finalPersistenceType = getFinal('persistence_type', persistence_type);\n const finalPersistedProps = getFinal('persisted_props', persisted_props);\n const persistenceChanged =\n finalPersistence !== persistence ||\n finalPersistenceType !== persistence_type ||\n finalPersistedProps !== persisted_props;\n\n const notInNewProps = persistedProp =>\n !(persistedProp.split('.')[0] in newProps);\n\n const update = {};\n\n let depersistedProps = props;\n\n if (persistenceChanged && persistence) {\n // clear previously-applied persistence\n const storage = getStore(persistence_type, dispatch);\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update,\n UNDO\n ),\n filter(notInNewProps, persisted_props)\n );\n depersistedProps = mergeRight(props, update);\n }\n\n if (finalPersistence) {\n const finalStorage = getStore(finalPersistenceType, dispatch);\n\n if (persistenceChanged) {\n // apply new persistence\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, finalPersistence),\n finalStorage,\n element,\n depersistedProps,\n persistedProp,\n update\n ),\n filter(notInNewProps, finalPersistedProps)\n );\n }\n\n // now the main point - clear any edit of a prop that changed\n // note that this is independent of the new prop value.\n const transforms = element.persistenceTransforms || {};\n for (const propName in newProps) {\n const propTransforms = transforms[propName];\n if (propTransforms) {\n for (const propPart in propTransforms) {\n finalStorage.removeItem(\n getValsKey(\n id,\n `${propName}.${propPart}`,\n finalPersistence\n )\n );\n }\n } else {\n finalStorage.removeItem(\n getValsKey(id, propName, finalPersistence)\n );\n }\n }\n }\n return persistenceChanged ? mergeRight(newProps, update) : newProps;\n}\n","import {assoc, assocPath, mergeRight} from 'ramda';\n\nexport default function createApiReducer(store) {\n return function ApiReducer(state = {}, action) {\n let newState = state;\n if (action.type === store) {\n const {id, status, content} = action.payload;\n const newRequest = {status, content};\n if (Array.isArray(id)) {\n newState = assocPath(id, newRequest, state);\n } else if (id) {\n newState = assoc(id, newRequest, state);\n } else {\n newState = mergeRight(state, newRequest);\n }\n }\n return newState;\n };\n}\n","import {getAction} from '../actions/constants';\nimport {getAppState} from './constants';\n\nfunction appLifecycle(state = getAppState('STARTED'), action) {\n switch (action.type) {\n case getAction('SET_APP_LIFECYCLE'):\n return getAppState(action.payload);\n default:\n return state;\n }\n}\n\nexport default appLifecycle;\n","import {getAction} from '../actions/constants';\n\nexport default function config(state = null, action) {\n if (action.type === getAction('SET_CONFIG')) {\n return action.payload;\n }\n return state;\n}\n","export function getAppState(state) {\n const stateList = {\n STARTED: 'STARTED',\n HYDRATED: 'HYDRATED',\n };\n if (stateList[state]) {\n return stateList[state];\n }\n throw new Error(`${state} is not a valid app state.`);\n}\n","const initialGraph = {};\n\nconst graphs = (state = initialGraph, action) => {\n if (action.type === 'SET_GRAPHS') {\n return action.payload;\n }\n return state;\n};\n\nexport default graphs;\n","import {mergeRight} from 'ramda';\n\nconst initialError = {\n frontEnd: [],\n backEnd: [],\n};\n\nexport default function error(state = initialError, action) {\n switch (action.type) {\n case 'ON_ERROR': {\n // log errors to the console for stack tracing and so they're\n // available even with debugging off\n /* eslint-disable-next-line no-console */\n console.error(action.payload.error);\n\n if (action.payload.type === 'frontEnd') {\n return {\n frontEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.frontEnd,\n ],\n backEnd: state.backEnd,\n };\n } else if (action.payload.type === 'backEnd') {\n return {\n frontEnd: state.frontEnd,\n backEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.backEnd,\n ],\n };\n }\n return state;\n }\n\n default: {\n return state;\n }\n }\n}\n","const initialHistory = {\n past: [],\n present: {},\n future: [],\n};\n\nfunction history(state = initialHistory, action) {\n switch (action.type) {\n case 'UNDO': {\n const {past, present, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present, ...future],\n };\n }\n\n case 'REDO': {\n const {past, present, future} = state;\n const next = future[0];\n const newFuture = future.slice(1);\n return {\n past: [...past, present],\n present: next,\n future: newFuture,\n };\n }\n\n case 'REVERT': {\n const {past, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [...future],\n };\n }\n\n default: {\n return state;\n }\n }\n}\n\nexport default history;\n","const customHooks = (\n state = {request_pre: null, request_post: null, bear: false},\n action\n) => {\n switch (action.type) {\n case 'SET_HOOKS':\n return action.payload;\n default:\n return state;\n }\n};\n\nexport default customHooks;\n","import {append, assocPath, includes, lensPath, mergeRight, view} from 'ramda';\n\nimport {getAction} from '../actions/constants';\n\nconst layout = (state = {}, action) => {\n if (action.type === getAction('SET_LAYOUT')) {\n return action.payload;\n } else if (\n includes(action.type, [\n 'UNDO_PROP_CHANGE',\n 'REDO_PROP_CHANGE',\n getAction('ON_PROP_CHANGE'),\n ])\n ) {\n const propPath = append('props', action.payload.itempath);\n const existingProps = view(lensPath(propPath), state);\n const mergedProps = mergeRight(existingProps, action.payload.props);\n return assocPath(propPath, mergedProps, state);\n }\n\n return state;\n};\n\nexport default layout;\n","import {getAction} from '../actions/constants';\n\nconst initialPaths = {strs: {}, objs: {}};\n\nconst paths = (state = initialPaths, action) => {\n if (action.type === getAction('SET_PATHS')) {\n return action.payload;\n }\n return state;\n};\n\nexport default paths;\n","const pendingCallbacks = (state = [], action) => {\n switch (action.type) {\n case 'SET_PENDING_CALLBACKS':\n return action.payload;\n\n default:\n return state;\n }\n};\n\nexport default pendingCallbacks;\n","import {forEach, isEmpty, keys, path} from 'ramda';\nimport {combineReducers} from 'redux';\n\nimport {getCallbacksByInput} from '../actions/dependencies';\n\nimport layout from './layout';\nimport graphs from './dependencyGraph';\nimport paths from './paths';\nimport pendingCallbacks from './pendingCallbacks';\nimport appLifecycle from './appLifecycle';\nimport history from './history';\nimport error from './error';\nimport hooks from './hooks';\nimport createApiReducer from './api';\nimport config from './config';\n\nexport const apiRequests = [\n 'dependenciesRequest',\n 'layoutRequest',\n 'reloadRequest',\n 'loginRequest',\n];\n\nfunction mainReducer() {\n const parts = {\n appLifecycle,\n layout,\n graphs,\n paths,\n pendingCallbacks,\n config,\n history,\n error,\n hooks,\n };\n forEach(r => {\n parts[r] = createApiReducer(r);\n }, apiRequests);\n\n return combineReducers(parts);\n}\n\nfunction getInputHistoryState(itempath, props, state) {\n const {graphs, layout, paths} = state;\n const idProps = path(itempath.concat(['props']), layout);\n const {id} = idProps || {};\n let historyEntry;\n if (id) {\n historyEntry = {id, props: {}};\n keys(props).forEach(propKey => {\n if (getCallbacksByInput(graphs, paths, id, propKey).length) {\n historyEntry.props[propKey] = idProps[propKey];\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function(state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE') {\n const {itempath, props} = action.payload;\n const historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n const nextState = reducer(state, action);\n\n if (\n action.type === 'ON_PROP_CHANGE' &&\n action.payload.source !== 'response'\n ) {\n const {itempath, props} = action.payload;\n /*\n * if the prop change is an input, then\n * record it so that it can be played back\n */\n const historyEntry = getInputHistoryState(\n itempath,\n props,\n nextState\n );\n if (historyEntry && !isEmpty(historyEntry.props)) {\n nextState.history = {\n past: [...nextState.history.past, state.history.present],\n present: historyEntry,\n future: [],\n };\n }\n }\n\n return nextState;\n };\n}\n\nfunction reloaderReducer(reducer) {\n return function(state, action) {\n const {history, config, hooks} = state || {};\n let newState = state;\n if (action.type === 'RELOAD') {\n newState = {history, config, hooks};\n } else if (action.type === 'SET_CONFIG') {\n // new config also reloads, and even clears history,\n // in case there's a new user or even a totally different app!\n // hooks are set at an even higher level than config though.\n newState = {hooks};\n }\n return reducer(newState, action);\n };\n}\n\nexport function createReducer() {\n return reloaderReducer(recordHistory(mainReducer()));\n}\n","export default {\n resolve: component => {\n const {type, namespace} = component;\n\n const ns = window[namespace];\n\n if (ns) {\n if (ns[type]) {\n return ns[type];\n }\n\n throw new Error(`Component ${type} not found in ${namespace}`);\n }\n\n throw new Error(`${namespace} was not found.`);\n },\n};\n","import {createStore, applyMiddleware} from 'redux';\nimport thunk from 'redux-thunk';\nimport {createReducer} from './reducers/reducer';\n\nlet store;\n\n/**\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\n *\n * @param {bool} reset: discard any previous store\n *\n * @returns {Store<GenericStoreEnhancer>}\n * An initialized redux store with middleware and possible hot reloading of reducers\n */\nconst initializeStore = reset => {\n if (store && !reset) {\n return store;\n }\n\n const reducer = createReducer();\n\n // eslint-disable-next-line no-process-env\n if (process.env.NODE_ENV === 'production') {\n store = createStore(reducer, applyMiddleware(thunk));\n } else {\n // only attach logger to middleware in non-production mode\n const reduxDTEC = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\n if (reduxDTEC) {\n store = createStore(reducer, reduxDTEC(applyMiddleware(thunk)));\n } else {\n store = createStore(reducer, applyMiddleware(thunk));\n }\n }\n\n if (!reset) {\n // TODO - Protect this under a debug mode?\n window.store = store;\n }\n\n if (module.hot) {\n // Enable hot module replacement for reducers\n module.hot.accept('./reducers/reducer', () => {\n const nextRootReducer = require('./reducers/reducer').createReducer();\n\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n};\n\nexport default initializeStore;\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","(function() { module.exports = window[\"PropTypes\"]; }());","(function() { module.exports = window[\"React\"]; }());","(function() { module.exports = window[\"ReactDOM\"]; }());"],"sourceRoot":""} \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js new file mode 100644 index 00000000..d3e403a5 --- /dev/null +++ b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js @@ -0,0 +1,20 @@ +window.dash_renderer=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=54)}([function(e,t){e.exports=window.React},function(e,t){e.exports=window.PropTypes},,function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(r)return[e,t];return e},e.exports=t.default},function(e,t,r){"use strict";var n=r(12),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function s(e){return n.isMemo(e)?a:u[e.$$typeof]||o}u[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0};var c=Object.defineProperty,f=Object.getOwnPropertyNames,l=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,y=Object.prototype;e.exports=function e(t,r,n){if("string"!=typeof r){if(y){var o=d(r);o&&o!==y&&e(t,o,n)}var a=f(r);l&&(a=a.concat(l(r)));for(var u=s(t),h=s(r),m=0;m<a.length;++m){var v=a[m];if(!(i[v]||n&&n[v]||h&&h[v]||u&&u[v])){var b=p(r,v);try{c(t,v,b)}catch(e){}}}return t}return t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return"string"==typeof e&&n.test(e)};var n=/-webkit-|-moz-|-ms-/;e.exports=t.default},function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return b})),r.d(t,"b",(function(){return g}));var n=r(24),o=r.n(n),i=r(25),a=r.n(i),u=r(8),s=r.n(u),c=r(26),f=r(39),l=r(9);function p(e){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var d=o()(c.a),y=a()(f.a,d);var h,m;function v(t){var r=t||e&&e.navigator&&e.navigator.userAgent;return m&&r===h||(m="all"===r?{prefix:d,prefixedKeyframes:"keyframes"}:new y({userAgent:r}),h=r),m}function b(e){return v(e).prefixedKeyframes||"keyframes"}function g(e,t){var r=function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return Array.isArray(n)?n=n.join(";"+r+":"):n&&"object"===p(n)&&"function"==typeof n.toString&&(n=n.toString()),t[r]=n,t}),{})}(e);return function(e){return Object.keys(e).reduce((function(t,r){var n=e[r];return Array.isArray(n)&&(n=s.a.canUseDOM?n[n.length-1].toString():n.join(";".concat(Object(l.a)(r),":"))),t[r]=n,t}),{})}(v(t).prefix(r))}}).call(this,r(14))},function(e,t){e.exports=window.ReactDOM},function(e,t,r){var n; +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),i={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(n=function(){return i}.call(t,r,t,e))||(e.exports=n)}()},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=/([a-z])?([A-Z])/g,o=function(e,t,r){return(t||"")+"-"+r.toLowerCase()},i=function(e){return e.replace(n,o)};t.b=function(e){return Object.keys(e).reduce((function(t,r){var n=i(r);return/^ms-/.test(n)&&(n="-".concat(n)),t[n]=e[r],t}),{})}},function(e,t,r){"use strict";var n=r(58);e.exports=function(e){var t=typeof e;if("string"===t){var r=e;if(0===(e=+e)&&n(r))return!1}else if("number"!==t)return!1;return e-e<1}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},e.exports=t.default},function(e,t,r){"use strict";e.exports=r(56)},function(e,t,r){"use strict";(function(e,n){var o,i=r(19);o="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:n;var a=Object(i.a)(o);t.a=a}).call(this,r(14),r(57)(e))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"==typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n,o){for(var i=0,a=e.length;i<a;++i){var u=e[i](t,r,n,o);if(u)return u}},e.exports=t.default},function(e,t,r){"use strict";function n(e,t){-1===e.indexOf(t)&&e.push(t)}Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(Array.isArray(t))for(var r=0,o=t.length;r<o;++r)n(e,t[r]);else n(e,t)},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return e instanceof Object&&!Array.isArray(e)},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return(0,i.default)(e)};var n,o=r(64),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";function n(e){var t,r=e.Symbol;return"function"==typeof r?r.observable?t=r.observable:(t=r("observable"),r.observable=t):t="@@observable",t}r.d(t,"a",(function(){return n}))},function(e,t){function r(e,t,r,n){var i={};return function(a){if(!i[a]){var u={},s=[],c=[];for(c.push({node:a,processed:!1});c.length>0;){var f=c[c.length-1],l=f.processed,p=f.node;if(l)c.pop(),s.pop(),u[p]=!1,i[p]=!0,t&&0!==e[p].length||r.push(p);else{if(i[p]){c.pop();continue}if(u[p]){if(n){c.pop();continue}throw s.push(p),new o(s)}u[p]=!0,s.push(p);for(var d=e[p],y=d.length-1;y>=0;y--)c.push({node:d[y],processed:!1});f.processed=!0}}}}}var n=t.DepGraph=function(e){this.nodes={},this.outgoingEdges={},this.incomingEdges={},this.circular=e&&!!e.circular};n.prototype={size:function(){return Object.keys(this.nodes).length},addNode:function(e,t){this.hasNode(e)||(2===arguments.length?this.nodes[e]=t:this.nodes[e]=e,this.outgoingEdges[e]=[],this.incomingEdges[e]=[])},removeNode:function(e){this.hasNode(e)&&(delete this.nodes[e],delete this.outgoingEdges[e],delete this.incomingEdges[e],[this.incomingEdges,this.outgoingEdges].forEach((function(t){Object.keys(t).forEach((function(r){var n=t[r].indexOf(e);n>=0&&t[r].splice(n,1)}),this)})))},hasNode:function(e){return this.nodes.hasOwnProperty(e)},getNodeData:function(e){if(this.hasNode(e))return this.nodes[e];throw new Error("Node does not exist: "+e)},setNodeData:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);this.nodes[e]=t},addDependency:function(e,t){if(!this.hasNode(e))throw new Error("Node does not exist: "+e);if(!this.hasNode(t))throw new Error("Node does not exist: "+t);return-1===this.outgoingEdges[e].indexOf(t)&&this.outgoingEdges[e].push(t),-1===this.incomingEdges[t].indexOf(e)&&this.incomingEdges[t].push(e),!0},removeDependency:function(e,t){var r;this.hasNode(e)&&(r=this.outgoingEdges[e].indexOf(t))>=0&&this.outgoingEdges[e].splice(r,1),this.hasNode(t)&&(r=this.incomingEdges[t].indexOf(e))>=0&&this.incomingEdges[t].splice(r,1)},clone:function(){var e=this,t=new n;return Object.keys(e.nodes).forEach((function(r){t.nodes[r]=e.nodes[r],t.outgoingEdges[r]=e.outgoingEdges[r].slice(0),t.incomingEdges[r]=e.incomingEdges[r].slice(0)})),t},dependenciesOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.outgoingEdges,t,n,this.circular)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},dependantsOf:function(e,t){if(this.hasNode(e)){var n=[];r(this.incomingEdges,t,n,this.circular)(e);var o=n.indexOf(e);return o>=0&&n.splice(o,1),n}throw new Error("Node does not exist: "+e)},overallOrder:function(e){var t=this,n=[],o=Object.keys(this.nodes);if(0===o.length)return n;if(!this.circular){var i=r(this.outgoingEdges,!1,[],this.circular);o.forEach((function(e){i(e)}))}var a=r(this.outgoingEdges,e,n,this.circular);return o.filter((function(e){return 0===t.incomingEdges[e].length})).forEach((function(e){a(e)})),this.circular&&o.filter((function(e){return-1===n.indexOf(e)})).forEach((function(e){a(e)})),n}};var o=t.DepGraphCycleError=function(e){var t="Dependency Cycle Found: "+e.join(" -> "),r=new Error(t);return r.cyclePath=e,Object.setPrototypeOf(r,Object.getPrototypeOf(this)),Error.captureStackTrace&&Error.captureStackTrace(r,o),r};o.prototype=Object.create(Error.prototype,{constructor:{value:Error,enumerable:!1,writable:!0,configurable:!0}}),Object.setPrototypeOf(o,Error)},function(e,t,r){"use strict"; +/*! + * cookie + * Copyright(c) 2012-2014 Roman Shtylman + * Copyright(c) 2015 Douglas Christopher Wilson + * MIT Licensed + */t.parse=function(e,t){if("string"!=typeof e)throw new TypeError("argument str must be a string");for(var r={},o=t||{},a=e.split(i),s=o.decode||n,c=0;c<a.length;c++){var f=a[c],l=f.indexOf("=");if(!(l<0)){var p=f.substr(0,l).trim(),d=f.substr(++l,f.length).trim();'"'==d[0]&&(d=d.slice(1,-1)),null==r[p]&&(r[p]=u(d,s))}}return r},t.serialize=function(e,t,r){var n=r||{},i=n.encode||o;if("function"!=typeof i)throw new TypeError("option encode is invalid");if(!a.test(e))throw new TypeError("argument name is invalid");var u=i(t);if(u&&!a.test(u))throw new TypeError("argument val is invalid");var s=e+"="+u;if(null!=n.maxAge){var c=n.maxAge-0;if(isNaN(c))throw new Error("maxAge should be a Number");s+="; Max-Age="+Math.floor(c)}if(n.domain){if(!a.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!a.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if("function"!=typeof n.expires.toUTCString)throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}n.httpOnly&&(s+="; HttpOnly");n.secure&&(s+="; Secure");if(n.sameSite){switch("string"==typeof n.sameSite?n.sameSite.toLowerCase():n.sameSite){case!0:s+="; SameSite=Strict";break;case"lax":s+="; SameSite=Lax";break;case"strict":s+="; SameSite=Strict";break;case"none":s+="; SameSite=None";break;default:throw new TypeError("option sameSite is invalid")}}return s};var n=decodeURIComponent,o=encodeURIComponent,i=/; */,a=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/;function u(e,t){try{return t(e)}catch(t){return e}}},function(e,t,r){"use strict";e.exports=function(e,t,r,n,o,i,a,u){if(!e){var s;if(void 0===t)s=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[r,n,o,i,a,u],f=0;(s=new Error(t.replace(/%s/g,(function(){return c[f++]})))).name="Invariant Violation"}throw s.framesToPop=1,s}}},function(e,t,r){var n;window,e.exports=(n=r(0),function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=n},function(e,t,r){"use strict";r.r(t);var n=r(0),o=function(e,t){var r,o={isReady:new Promise((function(e){r=e})),get:Object(n.lazy)((function(){return Promise.resolve(t()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(r(!0));case 2:o.isReady=!0;case 3:case"end":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return o.isReady}}),o.get},i=function(e,t){Object.defineProperty(e,"_dashprivate_isLazyComponentReady",{get:function(){return a(t)}})},a=function(e){return e&&e._dashprivate_isLazyComponentReady};function u(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var s="_dashprivate_historychange",c=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,r;return t=e,(r=[{key:"dispatchChangeEvent",value:function(){window.dispatchEvent(new CustomEvent(s))}},{key:"onChange",value:function(e){return window.addEventListener(s,e),function(){return window.removeEventListener(s,e)}}}])&&u(t,r),e}();r.d(t,"asyncDecorator",(function(){return o})),r.d(t,"inheritAsyncDecorator",(function(){return i})),r.d(t,"isReady",(function(){return a})),r.d(t,"History",(function(){return c}))}]))},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=e.prefixMap,r=e.plugins;return function e(u){for(var s in u){var c=u[s];if((0,a.default)(c))u[s]=e(c);else if(Array.isArray(c)){for(var f=[],l=0,p=c.length;l<p;++l){var d=(0,o.default)(r,s,c[l],u,t);(0,i.default)(f,d||c[l])}f.length>0&&(u[s]=f)}else{var y=(0,o.default)(r,s,c,u,t);y&&(u[s]=y),u=(0,n.default)(t,s,u)}}return u}};var n=u(r(59)),o=u(r(15)),i=u(r(16)),a=u(r(17));function u(e){return e&&e.__esModule?e:{default:e}}e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.default=function(e){var t=e.prefixMap,r=e.plugins,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return e};return function(){function e(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};l(this,e);var n="undefined"!=typeof navigator?navigator.userAgent:void 0;if(this._userAgent=r.userAgent||n,this._keepUnprefixed=r.keepUnprefixed||!1,this._userAgent&&(this._browserInfo=(0,o.default)(this._userAgent)),!this._browserInfo||!this._browserInfo.cssPrefix)return this._useFallback=!0,!1;this.prefixedKeyframes=(0,i.default)(this._browserInfo.browserName,this._browserInfo.browserVersion,this._browserInfo.cssPrefix);var a=this._browserInfo.browserName&&t[this._browserInfo.browserName];if(a){for(var u in this._requiresPrefix={},a)a[u]>=this._browserInfo.browserVersion&&(this._requiresPrefix[u]=!0);this._hasPropsRequiringPrefix=Object.keys(this._requiresPrefix).length>0}else this._useFallback=!0;this._metaData={browserVersion:this._browserInfo.browserVersion,browserName:this._browserInfo.browserName,cssPrefix:this._browserInfo.cssPrefix,jsPrefix:this._browserInfo.jsPrefix,keepUnprefixed:this._keepUnprefixed,requiresPrefix:this._requiresPrefix}}return n(e,[{key:"prefix",value:function(e){return this._useFallback?f(e):this._hasPropsRequiringPrefix?this._prefixStyle(e):e}},{key:"_prefixStyle",value:function(e){for(var t in e){var n=e[t];if((0,s.default)(n))e[t]=this.prefix(n);else if(Array.isArray(n)){for(var o=[],i=0,f=n.length;i<f;++i){var l=(0,c.default)(r,t,n[i],e,this._metaData);(0,u.default)(o,l||n[i])}o.length>0&&(e[t]=o)}else{var p=(0,c.default)(r,t,n,e,this._metaData);p&&(e[t]=p),this._requiresPrefix.hasOwnProperty(t)&&(e[this._browserInfo.jsPrefix+(0,a.default)(t)]=n,this._keepUnprefixed||delete e[t])}}return e}}],[{key:"prefixAll",value:function(e){return f(e)}}]),e}()};var o=f(r(60)),i=f(r(63)),a=f(r(11)),u=f(r(16)),s=f(r(17)),c=f(r(15));function f(e){return e&&e.__esModule?e:{default:e}}function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}e.exports=t.default},function(e,t,r){"use strict";var n=r(27),o=r.n(n),i=r(28),a=r.n(i),u=r(29),s=r.n(u),c=r(30),f=r.n(c),l=r(31),p=r.n(l),d=r(32),y=r.n(d),h=r(33),m=r.n(h),v=r(34),b=r.n(v),g=r(35),w=r.n(g),O=r(36),S=r.n(O),_=r(37),x=r.n(_),k=r(38),E=r.n(k),j=["Webkit"],P=["Moz"],C=["ms"],A=["Webkit","Moz"],T=["Webkit","ms"],I=["Webkit","Moz","ms"];t.a={plugins:[o.a,a.a,s.a,f.a,p.a,y.a,m.a,b.a,w.a,S.a,x.a,E.a],prefixMap:{transform:T,transformOrigin:T,transformOriginX:T,transformOriginY:T,backfaceVisibility:j,perspective:j,perspectiveOrigin:j,transformStyle:j,transformOriginZ:j,animation:j,animationDelay:j,animationDirection:j,animationFillMode:j,animationDuration:j,animationIterationCount:j,animationName:j,animationPlayState:j,animationTimingFunction:j,appearance:A,userSelect:I,fontKerning:j,textEmphasisPosition:j,textEmphasis:j,textEmphasisStyle:j,textEmphasisColor:j,boxDecorationBreak:j,clipPath:j,maskImage:j,maskMode:j,maskRepeat:j,maskPosition:j,maskClip:j,maskOrigin:j,maskSize:j,maskComposite:j,mask:j,maskBorderSource:j,maskBorderMode:j,maskBorderSlice:j,maskBorderWidth:j,maskBorderOutset:j,maskBorderRepeat:j,maskBorder:j,maskType:j,textDecorationStyle:A,textDecorationSkip:A,textDecorationLine:A,textDecorationColor:A,filter:j,fontFeatureSettings:A,breakAfter:I,breakBefore:I,breakInside:I,columnCount:A,columnFill:A,columnGap:A,columnRule:A,columnRuleColor:A,columnRuleStyle:A,columnRuleWidth:A,columns:A,columnSpan:A,columnWidth:A,writingMode:T,flex:T,flexBasis:j,flexDirection:T,flexGrow:j,flexFlow:T,flexShrink:j,flexWrap:T,alignContent:j,alignItems:j,alignSelf:j,justifyContent:j,order:j,transitionDelay:j,transitionDuration:j,transitionProperty:j,transitionTimingFunction:j,backdropFilter:j,scrollSnapType:T,scrollSnapPointsX:T,scrollSnapPointsY:T,scrollSnapDestination:T,scrollSnapCoordinate:T,shapeImageThreshold:j,shapeImageMargin:j,shapeImageOutside:j,hyphens:I,flowInto:T,flowFrom:T,regionFragment:T,boxSizing:P,textAlignLast:P,tabSize:P,wrapFlow:C,wrapThrough:C,wrapMargin:C,touchAction:C,gridTemplateColumns:C,gridTemplateRows:C,gridTemplateAreas:C,gridTemplate:C,gridAutoColumns:C,gridAutoRows:C,gridAutoFlow:C,grid:C,gridRowStart:C,gridColumnStart:C,gridRowEnd:C,gridRow:C,gridColumn:C,gridColumnEnd:C,gridColumnGap:C,gridRowGap:C,gridArea:C,gridGap:C,textSizeAdjust:T,borderImage:j,borderImageOutset:j,borderImageRepeat:j,borderImageSlice:j,borderImageSource:j,borderImageWidth:j}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("calc(")>-1)return a.map((function(e){return t.replace(/calc\(/g,e+"calc(")}))};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-","-moz-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("cross-fade(")>-1)return a.map((function(e){return t.replace(/cross-fade\(/g,e+"cross-fade(")}))};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("cursor"===e&&o.hasOwnProperty(t))return n.map((function(e){return e+t}))};var n=["-webkit-","-moz-",""],o={"zoom-in":!0,"zoom-out":!0,grab:!0,grabbing:!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("filter(")>-1)return a.map((function(e){return t.replace(/filter\(/g,e+"filter(")}))};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("display"===e&&n.hasOwnProperty(t))return n[t]};var n={flex:["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex","flex"],"inline-flex":["-webkit-inline-box","-moz-inline-box","-ms-inline-flexbox","-webkit-inline-flex","inline-flex"]};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end"},o={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal");o.hasOwnProperty(e)&&(r[o[e]]=n[t]||t)};var n={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},o={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&u.test(t))return a.map((function(e){return t.replace(u,(function(t){return e+t}))}))};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-","-moz-",""],u=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("string"==typeof t&&!(0,i.default)(t)&&t.indexOf("image-set(")>-1)return a.map((function(e){return t.replace(/image-set\(/g,e+"image-set(")}))};var n,o=r(5),i=(n=o)&&n.__esModule?n:{default:n};var a=["-webkit-",""];e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if("position"===e&&"sticky"===t)return["-webkit-sticky","sticky"]},e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){if(o.hasOwnProperty(e)&&i.hasOwnProperty(t))return n.map((function(e){return e+t}))};var n=["-webkit-","-moz-",""],o={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},i={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,a){if("string"==typeof t&&u.hasOwnProperty(e)){var c=function(e,t){if((0,o.default)(e))return e;for(var r=e.split(/,(?![^()]*(?:\([^()]*\))?\))/g),i=0,a=r.length;i<a;++i){var u=r[i],c=[u];for(var f in t){var l=(0,n.default)(f);if(u.indexOf(l)>-1&&"order"!==l)for(var p=t[f],d=0,y=p.length;d<y;++d)c.unshift(u.replace(l,s[p[d]]+l))}r[i]=c.join(",")}return r.join(",")}(t,a),f=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter((function(e){return!/-moz-|-ms-/.test(e)})).join(",");if(e.indexOf("Webkit")>-1)return f;var l=c.split(/,(?![^()]*(?:\([^()]*\))?\))/g).filter((function(e){return!/-webkit-|-ms-/.test(e)})).join(",");return e.indexOf("Moz")>-1?l:(r["Webkit"+(0,i.default)(e)]=f,r["Moz"+(0,i.default)(e)]=l,c)}};var n=a(r(18)),o=a(r(5)),i=a(r(11));function a(e){return e&&e.__esModule?e:{default:e}}var u={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},s={Webkit:"-webkit-",Moz:"-moz-",ms:"-ms-"};e.exports=t.default},function(e,t,r){"use strict";var n=r(40),o=r.n(n),i=r(41),a=r.n(i),u=r(42),s=r.n(u),c=r(43),f=r.n(c),l=r(44),p=r.n(l),d=r(45),y=r.n(d),h=r(46),m=r.n(h),v=r(47),b=r.n(v),g=r(48),w=r.n(g),O=r(49),S=r.n(O),_=r(50),x=r.n(_),k=r(51),E=r.n(k);t.a={plugins:[o.a,a.a,s.a,f.a,p.a,y.a,m.a,b.a,w.a,S.a,x.a,E.a],prefixMap:{chrome:{transform:35,transformOrigin:35,transformOriginX:35,transformOriginY:35,backfaceVisibility:35,perspective:35,perspectiveOrigin:35,transformStyle:35,transformOriginZ:35,animation:42,animationDelay:42,animationDirection:42,animationFillMode:42,animationDuration:42,animationIterationCount:42,animationName:42,animationPlayState:42,animationTimingFunction:42,appearance:66,userSelect:53,fontKerning:32,textEmphasisPosition:66,textEmphasis:66,textEmphasisStyle:66,textEmphasisColor:66,boxDecorationBreak:66,clipPath:54,maskImage:66,maskMode:66,maskRepeat:66,maskPosition:66,maskClip:66,maskOrigin:66,maskSize:66,maskComposite:66,mask:66,maskBorderSource:66,maskBorderMode:66,maskBorderSlice:66,maskBorderWidth:66,maskBorderOutset:66,maskBorderRepeat:66,maskBorder:66,maskType:66,textDecorationStyle:56,textDecorationSkip:56,textDecorationLine:56,textDecorationColor:56,filter:52,fontFeatureSettings:47,breakAfter:49,breakBefore:49,breakInside:49,columnCount:49,columnFill:49,columnGap:49,columnRule:49,columnRuleColor:49,columnRuleStyle:49,columnRuleWidth:49,columns:49,columnSpan:49,columnWidth:49,writingMode:47},safari:{flex:8,flexBasis:8,flexDirection:8,flexGrow:8,flexFlow:8,flexShrink:8,flexWrap:8,alignContent:8,alignItems:8,alignSelf:8,justifyContent:8,order:8,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8,transformOrigin:8,transformOriginX:8,transformOriginY:8,backfaceVisibility:8,perspective:8,perspectiveOrigin:8,transformStyle:8,transformOriginZ:8,animation:8,animationDelay:8,animationDirection:8,animationFillMode:8,animationDuration:8,animationIterationCount:8,animationName:8,animationPlayState:8,animationTimingFunction:8,appearance:11,userSelect:11,backdropFilter:11,fontKerning:9,scrollSnapType:10.1,scrollSnapPointsX:10.1,scrollSnapPointsY:10.1,scrollSnapDestination:10.1,scrollSnapCoordinate:10.1,textEmphasisPosition:7,textEmphasis:7,textEmphasisStyle:7,textEmphasisColor:7,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8,breakAfter:8,breakInside:8,regionFragment:11,columnCount:8,columnFill:8,columnGap:8,columnRule:8,columnRuleColor:8,columnRuleStyle:8,columnRuleWidth:8,columns:8,columnSpan:8,columnWidth:8,writingMode:10.1},firefox:{appearance:60,userSelect:60,boxSizing:28,textAlignLast:48,textDecorationStyle:35,textDecorationSkip:35,textDecorationLine:35,textDecorationColor:35,tabSize:60,hyphens:42,fontFeatureSettings:33,breakAfter:51,breakBefore:51,breakInside:51,columnCount:51,columnFill:51,columnGap:51,columnRule:51,columnRuleColor:51,columnRuleStyle:51,columnRuleWidth:51,columns:51,columnSpan:51,columnWidth:51},opera:{flex:16,flexBasis:16,flexDirection:16,flexGrow:16,flexFlow:16,flexShrink:16,flexWrap:16,alignContent:16,alignItems:16,alignSelf:16,justifyContent:16,order:16,transform:22,transformOrigin:22,transformOriginX:22,transformOriginY:22,backfaceVisibility:22,perspective:22,perspectiveOrigin:22,transformStyle:22,transformOriginZ:22,animation:29,animationDelay:29,animationDirection:29,animationFillMode:29,animationDuration:29,animationIterationCount:29,animationName:29,animationPlayState:29,animationTimingFunction:29,appearance:50,userSelect:40,fontKerning:19,textEmphasisPosition:50,textEmphasis:50,textEmphasisStyle:50,textEmphasisColor:50,boxDecorationBreak:50,clipPath:41,maskImage:50,maskMode:50,maskRepeat:50,maskPosition:50,maskClip:50,maskOrigin:50,maskSize:50,maskComposite:50,mask:50,maskBorderSource:50,maskBorderMode:50,maskBorderSlice:50,maskBorderWidth:50,maskBorderOutset:50,maskBorderRepeat:50,maskBorder:50,maskType:50,textDecorationStyle:43,textDecorationSkip:43,textDecorationLine:43,textDecorationColor:43,filter:39,fontFeatureSettings:34,breakAfter:36,breakBefore:36,breakInside:36,columnCount:36,columnFill:36,columnGap:36,columnRule:36,columnRuleColor:36,columnRuleStyle:36,columnRuleWidth:36,columns:36,columnSpan:36,columnWidth:36,writingMode:34},ie:{flex:10,flexDirection:10,flexFlow:10,flexWrap:10,transform:9,transformOrigin:9,transformOriginX:9,transformOriginY:9,userSelect:11,wrapFlow:11,wrapThrough:11,wrapMargin:11,scrollSnapType:11,scrollSnapPointsX:11,scrollSnapPointsY:11,scrollSnapDestination:11,scrollSnapCoordinate:11,touchAction:10,hyphens:11,flowInto:11,flowFrom:11,breakBefore:11,breakAfter:11,breakInside:11,regionFragment:11,gridTemplateColumns:11,gridTemplateRows:11,gridTemplateAreas:11,gridTemplate:11,gridAutoColumns:11,gridAutoRows:11,gridAutoFlow:11,grid:11,gridRowStart:11,gridColumnStart:11,gridRowEnd:11,gridRow:11,gridColumn:11,gridColumnEnd:11,gridColumnGap:11,gridRowGap:11,gridArea:11,gridGap:11,textSizeAdjust:11,writingMode:11},edge:{userSelect:17,wrapFlow:17,wrapThrough:17,wrapMargin:17,scrollSnapType:17,scrollSnapPointsX:17,scrollSnapPointsY:17,scrollSnapDestination:17,scrollSnapCoordinate:17,hyphens:17,flowInto:17,flowFrom:17,breakBefore:17,breakAfter:17,breakInside:17,regionFragment:17,gridTemplateColumns:15,gridTemplateRows:15,gridTemplateAreas:15,gridTemplate:15,gridAutoColumns:15,gridAutoRows:15,gridAutoFlow:15,grid:15,gridRowStart:15,gridColumnStart:15,gridRowEnd:15,gridRow:15,gridColumn:15,gridColumnEnd:15,gridColumnGap:15,gridRowGap:15,gridArea:15,gridGap:15},ios_saf:{flex:8.1,flexBasis:8.1,flexDirection:8.1,flexGrow:8.1,flexFlow:8.1,flexShrink:8.1,flexWrap:8.1,alignContent:8.1,alignItems:8.1,alignSelf:8.1,justifyContent:8.1,order:8.1,transition:6,transitionDelay:6,transitionDuration:6,transitionProperty:6,transitionTimingFunction:6,transform:8.1,transformOrigin:8.1,transformOriginX:8.1,transformOriginY:8.1,backfaceVisibility:8.1,perspective:8.1,perspectiveOrigin:8.1,transformStyle:8.1,transformOriginZ:8.1,animation:8.1,animationDelay:8.1,animationDirection:8.1,animationFillMode:8.1,animationDuration:8.1,animationIterationCount:8.1,animationName:8.1,animationPlayState:8.1,animationTimingFunction:8.1,appearance:11,userSelect:11,backdropFilter:11,fontKerning:11,scrollSnapType:10.3,scrollSnapPointsX:10.3,scrollSnapPointsY:10.3,scrollSnapDestination:10.3,scrollSnapCoordinate:10.3,boxDecorationBreak:11,clipPath:11,maskImage:11,maskMode:11,maskRepeat:11,maskPosition:11,maskClip:11,maskOrigin:11,maskSize:11,maskComposite:11,mask:11,maskBorderSource:11,maskBorderMode:11,maskBorderSlice:11,maskBorderWidth:11,maskBorderOutset:11,maskBorderRepeat:11,maskBorder:11,maskType:11,textSizeAdjust:11,textDecorationStyle:11,textDecorationSkip:11,textDecorationLine:11,textDecorationColor:11,shapeImageThreshold:10,shapeImageMargin:10,shapeImageOutside:10,filter:9,hyphens:11,flowInto:11,flowFrom:11,breakBefore:8.1,breakAfter:8.1,breakInside:8.1,regionFragment:11,columnCount:8.1,columnFill:8.1,columnGap:8.1,columnRule:8.1,columnRuleColor:8.1,columnRuleStyle:8.1,columnRuleWidth:8.1,columns:8.1,columnSpan:8.1,columnWidth:8.1,writingMode:10.3},android:{borderImage:4.2,borderImageOutset:4.2,borderImageRepeat:4.2,borderImageSlice:4.2,borderImageSource:4.2,borderImageWidth:4.2,flex:4.2,flexBasis:4.2,flexDirection:4.2,flexGrow:4.2,flexFlow:4.2,flexShrink:4.2,flexWrap:4.2,alignContent:4.2,alignItems:4.2,alignSelf:4.2,justifyContent:4.2,order:4.2,transition:4.2,transitionDelay:4.2,transitionDuration:4.2,transitionProperty:4.2,transitionTimingFunction:4.2,transform:4.4,transformOrigin:4.4,transformOriginX:4.4,transformOriginY:4.4,backfaceVisibility:4.4,perspective:4.4,perspectiveOrigin:4.4,transformStyle:4.4,transformOriginZ:4.4,animation:4.4,animationDelay:4.4,animationDirection:4.4,animationFillMode:4.4,animationDuration:4.4,animationIterationCount:4.4,animationName:4.4,animationPlayState:4.4,animationTimingFunction:4.4,appearance:62,userSelect:4.4,fontKerning:4.4,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,clipPath:4.4,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62,filter:4.4,fontFeatureSettings:4.4,breakAfter:4.4,breakBefore:4.4,breakInside:4.4,columnCount:4.4,columnFill:4.4,columnGap:4.4,columnRule:4.4,columnRuleColor:4.4,columnRuleStyle:4.4,columnRuleWidth:4.4,columns:4.4,columnSpan:4.4,columnWidth:4.4,writingMode:4.4},and_chr:{appearance:62,textEmphasisPosition:62,textEmphasis:62,textEmphasisStyle:62,textEmphasisColor:62,boxDecorationBreak:62,maskImage:62,maskMode:62,maskRepeat:62,maskPosition:62,maskClip:62,maskOrigin:62,maskSize:62,maskComposite:62,mask:62,maskBorderSource:62,maskBorderMode:62,maskBorderSlice:62,maskBorderWidth:62,maskBorderOutset:62,maskBorderRepeat:62,maskBorder:62,maskType:62},and_uc:{flex:11.4,flexBasis:11.4,flexDirection:11.4,flexGrow:11.4,flexFlow:11.4,flexShrink:11.4,flexWrap:11.4,alignContent:11.4,alignItems:11.4,alignSelf:11.4,justifyContent:11.4,order:11.4,transform:11.4,transformOrigin:11.4,transformOriginX:11.4,transformOriginY:11.4,backfaceVisibility:11.4,perspective:11.4,perspectiveOrigin:11.4,transformStyle:11.4,transformOriginZ:11.4,animation:11.4,animationDelay:11.4,animationDirection:11.4,animationFillMode:11.4,animationDuration:11.4,animationIterationCount:11.4,animationName:11.4,animationPlayState:11.4,animationTimingFunction:11.4,appearance:11.4,userSelect:11.4,textEmphasisPosition:11.4,textEmphasis:11.4,textEmphasisStyle:11.4,textEmphasisColor:11.4,clipPath:11.4,maskImage:11.4,maskMode:11.4,maskRepeat:11.4,maskPosition:11.4,maskClip:11.4,maskOrigin:11.4,maskSize:11.4,maskComposite:11.4,mask:11.4,maskBorderSource:11.4,maskBorderMode:11.4,maskBorderSlice:11.4,maskBorderWidth:11.4,maskBorderOutset:11.4,maskBorderRepeat:11.4,maskBorder:11.4,maskType:11.4,textSizeAdjust:11.4,filter:11.4,hyphens:11.4,fontFeatureSettings:11.4,breakAfter:11.4,breakBefore:11.4,breakInside:11.4,columnCount:11.4,columnFill:11.4,columnGap:11.4,columnRule:11.4,columnRuleColor:11.4,columnRuleStyle:11.4,columnRuleWidth:11.4,columns:11.4,columnSpan:11.4,columnWidth:11.4,writingMode:11.4},op_mini:{}}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,u=n.cssPrefix,s=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("calc(")>-1&&("firefox"===o&&a<15||"chrome"===o&&a<25||"safari"===o&&a<6.1||"ios_saf"===o&&a<7))return(0,i.default)(t.replace(/calc\(/g,u+"calc("),t,s)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,u=n.cssPrefix,s=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("cross-fade(")>-1&&("chrome"===o||"opera"===o||"and_chr"===o||("ios_saf"===o||"safari"===o)&&a<10))return(0,i.default)(t.replace(/cross-fade\(/g,u+"cross-fade("),t,s)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,s=n.browserVersion,c=n.cssPrefix,f=n.keepUnprefixed;if("cursor"===e&&a[t]&&("firefox"===o||"chrome"===o||"safari"===o||"opera"===o))return(0,i.default)(c+t,t,f);if("cursor"===e&&u[t]&&("firefox"===o&&s<24||"chrome"===o&&s<37||"safari"===o&&s<9||"opera"===o&&s<24))return(0,i.default)(c+t,t,f)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a={grab:!0,grabbing:!0},u={"zoom-in":!0,"zoom-out":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.browserVersion,u=n.cssPrefix,s=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("filter(")>-1&&("ios_saf"===o||"safari"===o&&a<9.1))return(0,i.default)(t.replace(/filter\(/g,u+"filter("),t,s)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,u=n.browserVersion,s=n.cssPrefix,c=n.keepUnprefixed;if("display"===e&&a[t]&&("chrome"===o&&u<29&&u>20||("safari"===o||"ios_saf"===o)&&u<9&&u>6||"opera"===o&&(15===u||16===u)))return(0,i.default)(s+t,t,c)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a={flex:!0,"inline-flex":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,s=n.browserVersion,c=n.cssPrefix,f=n.keepUnprefixed,l=n.requiresPrefix;if((u.hasOwnProperty(e)||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("ie_mob"===o||"ie"===o)&&10===s){if(delete l[e],f||Array.isArray(r[e])||delete r[e],"display"===e&&a.hasOwnProperty(t))return(0,i.default)(c+a[t],t,f);u.hasOwnProperty(e)&&(r[u[e]]=a[t]||t)}};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a={"space-around":"distribute","space-between":"justify","flex-start":"start","flex-end":"end",flex:"flexbox","inline-flex":"inline-flexbox"},u={alignContent:"msFlexLinePack",alignSelf:"msFlexItemAlign",alignItems:"msFlexAlign",justifyContent:"msFlexPack",order:"msFlexOrder",flexGrow:"msFlexPositive",flexShrink:"msFlexNegative",flexBasis:"msFlexPreferredSize"};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,c=n.browserVersion,f=n.cssPrefix,l=n.keepUnprefixed,p=n.requiresPrefix;if((s.indexOf(e)>-1||"display"===e&&"string"==typeof t&&t.indexOf("flex")>-1)&&("firefox"===o&&c<22||"chrome"===o&&c<21||("safari"===o||"ios_saf"===o)&&c<=6.1||"android"===o&&c<4.4||"and_uc"===o)){if(delete p[e],l||Array.isArray(r[e])||delete r[e],"flexDirection"===e&&"string"==typeof t&&(t.indexOf("column")>-1?r.WebkitBoxOrient="vertical":r.WebkitBoxOrient="horizontal",t.indexOf("reverse")>-1?r.WebkitBoxDirection="reverse":r.WebkitBoxDirection="normal"),"display"===e&&a.hasOwnProperty(t))return(0,i.default)(f+a[t],t,l);u.hasOwnProperty(e)&&(r[u[e]]=a[t]||t)}};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a={"space-around":"justify","space-between":"justify","flex-start":"start","flex-end":"end","wrap-reverse":"multiple",wrap:"multiple",flex:"box","inline-flex":"inline-box"},u={alignItems:"WebkitBoxAlign",justifyContent:"WebkitBoxPack",flexWrap:"WebkitBoxLines",flexGrow:"WebkitBoxFlex"},s=Object.keys(u).concat(["alignContent","alignSelf","order","flexGrow","flexShrink","flexBasis","flexDirection"]);e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,u=n.browserVersion,s=n.cssPrefix,c=n.keepUnprefixed;if("string"==typeof t&&a.test(t)&&("firefox"===o&&u<16||"chrome"===o&&u<26||("safari"===o||"ios_saf"===o)&&u<7||("opera"===o||"op_mini"===o)&&u<12.1||"android"===o&&u<4.4||"and_uc"===o))return(0,i.default)(t.replace(a,(function(e){return s+e})),t,c)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a=/linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.cssPrefix,u=n.keepUnprefixed;if("string"==typeof t&&t.indexOf("image-set(")>-1&&("chrome"===o||"opera"===o||"and_chr"===o||"and_uc"===o||"ios_saf"===o||"safari"===o))return(0,i.default)(t.replace(/image-set\(/g,a+"image-set("),t,u)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.browserName,a=n.cssPrefix,u=n.keepUnprefixed;if("position"===e&&"sticky"===t&&("safari"===o||"ios_saf"===o))return(0,i.default)(a+t,t,u)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.cssPrefix,s=n.keepUnprefixed;if(a.hasOwnProperty(e)&&u.hasOwnProperty(t))return(0,i.default)(o+t,t,s)};var n,o=r(3),i=(n=o)&&n.__esModule?n:{default:n};var a={maxHeight:!0,maxWidth:!0,width:!0,height:!0,columnWidth:!0,minWidth:!0,minHeight:!0},u={"min-content":!0,"max-content":!0,"fill-available":!0,"fit-content":!0,"contain-floats":!0};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r,n){var o=n.cssPrefix,s=n.keepUnprefixed,c=n.requiresPrefix;if("string"==typeof t&&a.hasOwnProperty(e)){u||(u=Object.keys(c).map((function(e){return(0,i.default)(e)})));var f=t.split(/,(?![^()]*(?:\([^()]*\))?\))/g);return u.forEach((function(e){f.forEach((function(t,r){t.indexOf(e)>-1&&"order"!==e&&(f[r]=t.replace(e,o+e)+(s?","+t:""))}))})),f.join(",")}};var n,o=r(18),i=(n=o)&&n.__esModule?n:{default:n};var a={transition:!0,transitionProperty:!0,WebkitTransition:!0,WebkitTransitionProperty:!0,MozTransition:!0,MozTransitionProperty:!0},u=void 0;e.exports=t.default},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},,function(e,t,r){r(55),e.exports=r(65)},function(e,t,r){"use strict";r.r(t),r.d(t,"Headers",(function(){return d})),r.d(t,"Request",(function(){return w})),r.d(t,"Response",(function(){return S})),r.d(t,"DOMException",(function(){return x})),r.d(t,"fetch",(function(){return k}));var n="URLSearchParams"in self,o="Symbol"in self&&"iterator"in Symbol,i="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(e){return!1}}(),a="FormData"in self,u="ArrayBuffer"in self;if(u)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(e){return e&&s.indexOf(Object.prototype.toString.call(e))>-1};function f(e){if("string"!=typeof e&&(e=String(e)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(e))throw new TypeError("Invalid character in header field name");return e.toLowerCase()}function l(e){return"string"!=typeof e&&(e=String(e)),e}function p(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return o&&(t[Symbol.iterator]=function(){return t}),t}function d(e){this.map={},e instanceof d?e.forEach((function(e,t){this.append(t,e)}),this):Array.isArray(e)?e.forEach((function(e){this.append(e[0],e[1])}),this):e&&Object.getOwnPropertyNames(e).forEach((function(t){this.append(t,e[t])}),this)}function y(e){if(e.bodyUsed)return Promise.reject(new TypeError("Already read"));e.bodyUsed=!0}function h(e){return new Promise((function(t,r){e.onload=function(){t(e.result)},e.onerror=function(){r(e.error)}}))}function m(e){var t=new FileReader,r=h(t);return t.readAsArrayBuffer(e),r}function v(e){if(e.slice)return e.slice(0);var t=new Uint8Array(e.byteLength);return t.set(new Uint8Array(e)),t.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(e){var t;this._bodyInit=e,e?"string"==typeof e?this._bodyText=e:i&&Blob.prototype.isPrototypeOf(e)?this._bodyBlob=e:a&&FormData.prototype.isPrototypeOf(e)?this._bodyFormData=e:n&&URLSearchParams.prototype.isPrototypeOf(e)?this._bodyText=e.toString():u&&i&&((t=e)&&DataView.prototype.isPrototypeOf(t))?(this._bodyArrayBuffer=v(e.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):u&&(ArrayBuffer.prototype.isPrototypeOf(e)||c(e))?this._bodyArrayBuffer=v(e):this._bodyText=e=Object.prototype.toString.call(e):this._bodyText="",this.headers.get("content-type")||("string"==typeof e?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):n&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i&&(this.blob=function(){var e=y(this);if(e)return e;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?y(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(m)}),this.text=function(){var e,t,r,n=y(this);if(n)return n;if(this._bodyBlob)return e=this._bodyBlob,t=new FileReader,r=h(t),t.readAsText(e),r;if(this._bodyArrayBuffer)return Promise.resolve(function(e){for(var t=new Uint8Array(e),r=new Array(t.length),n=0;n<t.length;n++)r[n]=String.fromCharCode(t[n]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},a&&(this.formData=function(){return this.text().then(O)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(e,t){e=f(e),t=l(t);var r=this.map[e];this.map[e]=r?r+", "+t:t},d.prototype.delete=function(e){delete this.map[f(e)]},d.prototype.get=function(e){return e=f(e),this.has(e)?this.map[e]:null},d.prototype.has=function(e){return this.map.hasOwnProperty(f(e))},d.prototype.set=function(e,t){this.map[f(e)]=l(t)},d.prototype.forEach=function(e,t){for(var r in this.map)this.map.hasOwnProperty(r)&&e.call(t,this.map[r],r,this)},d.prototype.keys=function(){var e=[];return this.forEach((function(t,r){e.push(r)})),p(e)},d.prototype.values=function(){var e=[];return this.forEach((function(t){e.push(t)})),p(e)},d.prototype.entries=function(){var e=[];return this.forEach((function(t,r){e.push([r,t])})),p(e)},o&&(d.prototype[Symbol.iterator]=d.prototype.entries);var g=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(e,t){var r,n,o=(t=t||{}).body;if(e instanceof w){if(e.bodyUsed)throw new TypeError("Already read");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new d(e.headers)),this.method=e.method,this.mode=e.mode,this.signal=e.signal,o||null==e._bodyInit||(o=e._bodyInit,e.bodyUsed=!0)}else this.url=String(e);if(this.credentials=t.credentials||this.credentials||"same-origin",!t.headers&&this.headers||(this.headers=new d(t.headers)),this.method=(r=t.method||this.method||"GET",n=r.toUpperCase(),g.indexOf(n)>-1?n:r),this.mode=t.mode||this.mode||null,this.signal=t.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function O(e){var t=new FormData;return e.trim().split("&").forEach((function(e){if(e){var r=e.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");t.append(decodeURIComponent(n),decodeURIComponent(o))}})),t}function S(e,t){t||(t={}),this.type="default",this.status=void 0===t.status?200:t.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in t?t.statusText:"OK",this.headers=new d(t.headers),this.url=t.url||"",this._initBody(e)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(S.prototype),S.prototype.clone=function(){return new S(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},S.error=function(){var e=new S(null,{status:0,statusText:""});return e.type="error",e};var _=[301,302,303,307,308];S.redirect=function(e,t){if(-1===_.indexOf(t))throw new RangeError("Invalid status code");return new S(null,{status:t,headers:{location:e}})};var x=self.DOMException;try{new x}catch(e){(x=function(e,t){this.message=e,this.name=t;var r=Error(e);this.stack=r.stack}).prototype=Object.create(Error.prototype),x.prototype.constructor=x}function k(e,t){return new Promise((function(r,n){var o=new w(e,t);if(o.signal&&o.signal.aborted)return n(new x("Aborted","AbortError"));var a=new XMLHttpRequest;function u(){a.abort()}a.onload=function(){var e,t,n={status:a.status,statusText:a.statusText,headers:(e=a.getAllResponseHeaders()||"",t=new d,e.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(e){var r=e.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();t.append(n,o)}})),t)};n.url="responseURL"in a?a.responseURL:n.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;r(new S(o,n))},a.onerror=function(){n(new TypeError("Network request failed"))},a.ontimeout=function(){n(new TypeError("Network request failed"))},a.onabort=function(){n(new x("Aborted","AbortError"))},a.open(o.method,o.url,!0),"include"===o.credentials?a.withCredentials=!0:"omit"===o.credentials&&(a.withCredentials=!1),"responseType"in a&&i&&(a.responseType="blob"),o.headers.forEach((function(e,t){a.setRequestHeader(t,e)})),o.signal&&(o.signal.addEventListener("abort",u),a.onreadystatechange=function(){4===a.readyState&&o.signal.removeEventListener("abort",u)}),a.send(void 0===o._bodyInit?null:o._bodyInit)}))}k.polyfill=!0,self.fetch||(self.fetch=k,self.Headers=d,self.Request=w,self.Response=S)},function(e,t,r){"use strict"; +/** @license React v16.11.0 + * react-is.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */Object.defineProperty(t,"__esModule",{value:!0});var n="function"==typeof Symbol&&Symbol.for,o=n?Symbol.for("react.element"):60103,i=n?Symbol.for("react.portal"):60106,a=n?Symbol.for("react.fragment"):60107,u=n?Symbol.for("react.strict_mode"):60108,s=n?Symbol.for("react.profiler"):60114,c=n?Symbol.for("react.provider"):60109,f=n?Symbol.for("react.context"):60110,l=n?Symbol.for("react.async_mode"):60111,p=n?Symbol.for("react.concurrent_mode"):60111,d=n?Symbol.for("react.forward_ref"):60112,y=n?Symbol.for("react.suspense"):60113,h=n?Symbol.for("react.suspense_list"):60120,m=n?Symbol.for("react.memo"):60115,v=n?Symbol.for("react.lazy"):60116,b=n?Symbol.for("react.fundamental"):60117,g=n?Symbol.for("react.responder"):60118,w=n?Symbol.for("react.scope"):60119;function O(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case l:case p:case a:case s:case u:case y:return e;default:switch(e=e&&e.$$typeof){case f:case d:case c:return e;default:return t}}case v:case m:case i:return t}}}function S(e){return O(e)===p}t.typeOf=O,t.AsyncMode=l,t.ConcurrentMode=p,t.ContextConsumer=f,t.ContextProvider=c,t.Element=o,t.ForwardRef=d,t.Fragment=a,t.Lazy=v,t.Memo=m,t.Portal=i,t.Profiler=s,t.StrictMode=u,t.Suspense=y,t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===p||e===s||e===u||e===y||e===h||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===m||e.$$typeof===c||e.$$typeof===f||e.$$typeof===d||e.$$typeof===b||e.$$typeof===g||e.$$typeof===w)},t.isAsyncMode=function(e){return S(e)||O(e)===l},t.isConcurrentMode=S,t.isContextConsumer=function(e){return O(e)===f},t.isContextProvider=function(e){return O(e)===c},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return O(e)===d},t.isFragment=function(e){return O(e)===a},t.isLazy=function(e){return O(e)===v},t.isMemo=function(e){return O(e)===m},t.isPortal=function(e){return O(e)===i},t.isProfiler=function(e){return O(e)===s},t.isStrictMode=function(e){return O(e)===u},t.isSuspense=function(e){return O(e)===y}},function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},function(e,t,r){"use strict";e.exports=function(e){for(var t,r=e.length,n=0;n<r;n++)if(((t=e.charCodeAt(n))<9||t>13)&&32!==t&&133!==t&&160!==t&&5760!==t&&6158!==t&&(t<8192||t>8205)&&8232!==t&&8233!==t&&8239!==t&&8287!==t&&8288!==t&&12288!==t&&65279!==t)return!1;return!0}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if(e.hasOwnProperty(t)){for(var n={},o=e[t],a=(0,i.default)(t),u=Object.keys(r),s=0;s<u.length;s++){var c=u[s];if(c===t)for(var f=0;f<o.length;f++)n[o[f]+a]=r[t];n[c]=r[c]}return n}return r};var n,o=r(11),i=(n=o)&&n.__esModule?n:{default:n};e.exports=t.default},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){var t=i.default._detect(e);t.yandexbrowser&&(t=i.default._detect(e.replace(/YaBrowser\/[0-9.]*/,"")));for(var r in a)if(t.hasOwnProperty(r)){var n=a[r];t.jsPrefix=n,t.cssPrefix="-"+n.toLowerCase()+"-";break}t.browserName=function(e){if(e.firefox)return"firefox";if(e.mobile||e.tablet){if(e.ios)return"ios_saf";if(e.android)return"android";if(e.opera)return"op_mini"}for(var t in u)if(e.hasOwnProperty(t))return u[t]}(t),t.version?t.browserVersion=parseFloat(t.version):t.browserVersion=parseInt(parseFloat(t.osversion),10);t.osVersion=parseFloat(t.osversion),"ios_saf"===t.browserName&&t.browserVersion>t.osVersion&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.chrome&&t.browserVersion>37&&(t.browserName="and_chr");"android"===t.browserName&&t.osVersion<5&&(t.browserVersion=t.osVersion);"android"===t.browserName&&t.samsungBrowser&&(t.browserName="and_chr",t.browserVersion=44);return t};var n,o=r(61),i=(n=o)&&n.__esModule?n:{default:n};var a={chrome:"Webkit",safari:"Webkit",ios:"Webkit",android:"Webkit",phantom:"Webkit",opera:"Webkit",webos:"Webkit",blackberry:"Webkit",bada:"Webkit",tizen:"Webkit",chromium:"Webkit",vivaldi:"Webkit",firefox:"Moz",seamoney:"Moz",sailfish:"Moz",msie:"ms",msedge:"ms"},u={chrome:"chrome",chromium:"chrome",safari:"safari",firfox:"firefox",msedge:"edge",opera:"opera",vivaldi:"opera",msie:"ie"};e.exports=t.default},function(e,t,r){var n;n=function(){var e=!0;function t(t){function r(e){var r=t.match(e);return r&&r.length>1&&r[1]||""}function n(e){var r=t.match(e);return r&&r.length>1&&r[2]||""}var o,a=r(/(ipod|iphone|ipad)/i).toLowerCase(),u=!/like android/i.test(t)&&/android/i.test(t),s=/nexus\s*[0-6]\s*/i.test(t),c=!s&&/nexus\s*[0-9]+/i.test(t),f=/CrOS/.test(t),l=/silk/i.test(t),p=/sailfish/i.test(t),d=/tizen/i.test(t),y=/(web|hpw)(o|0)s/i.test(t),h=/windows phone/i.test(t),m=(/SamsungBrowser/i.test(t),!h&&/windows/i.test(t)),v=!a&&!l&&/macintosh/i.test(t),b=!u&&!p&&!d&&!y&&/linux/i.test(t),g=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),w=r(/version\/(\d+(\.\d+)?)/i),O=/tablet/i.test(t)&&!/tablet pc/i.test(t),S=!O&&/[^-]mobi/i.test(t),_=/xbox/i.test(t);/opera/i.test(t)?o={name:"Opera",opera:e,version:w||r(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(t)?o={name:"Opera",opera:e,version:r(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||w}:/SamsungBrowser/i.test(t)?o={name:"Samsung Internet for Android",samsungBrowser:e,version:w||r(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/Whale/i.test(t)?o={name:"NAVER Whale browser",whale:e,version:r(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)}:/MZBrowser/i.test(t)?o={name:"MZ Browser",mzbrowser:e,version:r(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/coast/i.test(t)?o={name:"Opera Coast",coast:e,version:w||r(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/focus/i.test(t)?o={name:"Focus",focus:e,version:r(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)}:/yabrowser/i.test(t)?o={name:"Yandex Browser",yandexbrowser:e,version:w||r(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(t)?o={name:"UC Browser",ucbrowser:e,version:r(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(t)?o={name:"Maxthon",maxthon:e,version:r(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(t)?o={name:"Epiphany",epiphany:e,version:r(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(t)?o={name:"Puffin",puffin:e,version:r(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(t)?o={name:"Sleipnir",sleipnir:e,version:r(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(t)?o={name:"K-Meleon",kMeleon:e,version:r(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:h?(o={name:"Windows Phone",osname:"Windows Phone",windowsphone:e},g?(o.msedge=e,o.version=g):(o.msie=e,o.version=r(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(t)?o={name:"Internet Explorer",msie:e,version:r(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:f?o={name:"Chrome",osname:"Chrome OS",chromeos:e,chromeBook:e,chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(t)?o={name:"Microsoft Edge",msedge:e,version:g}:/vivaldi/i.test(t)?o={name:"Vivaldi",vivaldi:e,version:r(/vivaldi\/(\d+(\.\d+)?)/i)||w}:p?o={name:"Sailfish",osname:"Sailfish OS",sailfish:e,version:r(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(t)?o={name:"SeaMonkey",seamonkey:e,version:r(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(t)?(o={name:"Firefox",firefox:e,version:r(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(t)&&(o.firefoxos=e,o.osname="Firefox OS")):l?o={name:"Amazon Silk",silk:e,version:r(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(t)?o={name:"PhantomJS",phantom:e,version:r(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(t)?o={name:"SlimerJS",slimer:e,version:r(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(t)||/rim\stablet/i.test(t)?o={name:"BlackBerry",osname:"BlackBerry OS",blackberry:e,version:w||r(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:y?(o={name:"WebOS",osname:"WebOS",webos:e,version:w||r(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(t)&&(o.touchpad=e)):/bada/i.test(t)?o={name:"Bada",osname:"Bada",bada:e,version:r(/dolfin\/(\d+(\.\d+)?)/i)}:d?o={name:"Tizen",osname:"Tizen",tizen:e,version:r(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||w}:/qupzilla/i.test(t)?o={name:"QupZilla",qupzilla:e,version:r(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||w}:/chromium/i.test(t)?o={name:"Chromium",chromium:e,version:r(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||w}:/chrome|crios|crmo/i.test(t)?o={name:"Chrome",chrome:e,version:r(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:u?o={name:"Android",version:w}:/safari|applewebkit/i.test(t)?(o={name:"Safari",safari:e},w&&(o.version=w)):a?(o={name:"iphone"==a?"iPhone":"ipad"==a?"iPad":"iPod"},w&&(o.version=w)):o=/googlebot/i.test(t)?{name:"Googlebot",googlebot:e,version:r(/googlebot\/(\d+(\.\d+))/i)||w}:{name:r(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!o.msedge&&/(apple)?webkit/i.test(t)?(/(apple)?webkit\/537\.36/i.test(t)?(o.name=o.name||"Blink",o.blink=e):(o.name=o.name||"Webkit",o.webkit=e),!o.version&&w&&(o.version=w)):!o.opera&&/gecko\//i.test(t)&&(o.name=o.name||"Gecko",o.gecko=e,o.version=o.version||r(/gecko\/(\d+(\.\d+)?)/i)),o.windowsphone||!u&&!o.silk?!o.windowsphone&&a?(o[a]=e,o.ios=e,o.osname="iOS"):v?(o.mac=e,o.osname="macOS"):_?(o.xbox=e,o.osname="Xbox"):m?(o.windows=e,o.osname="Windows"):b&&(o.linux=e,o.osname="Linux"):(o.android=e,o.osname="Android");var x="";o.windows?x=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}(r(/Windows ((NT|XP)( \d\d?.\d)?)/i)):o.windowsphone?x=r(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i):o.mac?x=(x=r(/Mac OS X (\d+([_\.\s]\d+)*)/i)).replace(/[_\s]/g,"."):a?x=(x=r(/os (\d+([_\s]\d+)*) like mac os x/i)).replace(/[_\s]/g,"."):u?x=r(/android[ \/-](\d+(\.\d+)*)/i):o.webos?x=r(/(?:web|hpw)os\/(\d+(\.\d+)*)/i):o.blackberry?x=r(/rim\stablet\sos\s(\d+(\.\d+)*)/i):o.bada?x=r(/bada\/(\d+(\.\d+)*)/i):o.tizen&&(x=r(/tizen[\/\s](\d+(\.\d+)*)/i)),x&&(o.osversion=x);var k=!o.windows&&x.split(".")[0];return O||c||"ipad"==a||u&&(3==k||k>=4&&!S)||o.silk?o.tablet=e:(S||"iphone"==a||"ipod"==a||u||s||o.blackberry||o.webos||o.bada)&&(o.mobile=e),o.msedge||o.msie&&o.version>=10||o.yandexbrowser&&o.version>=15||o.vivaldi&&o.version>=1||o.chrome&&o.version>=20||o.samsungBrowser&&o.version>=4||o.whale&&1===i([o.version,"1.0"])||o.mzbrowser&&1===i([o.version,"6.0"])||o.focus&&1===i([o.version,"1.0"])||o.firefox&&o.version>=20||o.safari&&o.version>=6||o.opera&&o.version>=10||o.ios&&o.osversion&&o.osversion.split(".")[0]>=6||o.blackberry&&o.version>=10.1||o.chromium&&o.version>=20?o.a=e:o.msie&&o.version<10||o.chrome&&o.version<20||o.firefox&&o.version<20||o.safari&&o.version<6||o.opera&&o.version<10||o.ios&&o.osversion&&o.osversion.split(".")[0]<6||o.chromium&&o.version<20?o.c=e:o.x=e,o}var r=t("undefined"!=typeof navigator&&navigator.userAgent||"");function n(e){return e.split(".").length}function o(e,t){var r,n=[];if(Array.prototype.map)return Array.prototype.map.call(e,t);for(r=0;r<e.length;r++)n.push(t(e[r]));return n}function i(e){for(var t=Math.max(n(e[0]),n(e[1])),r=o(e,(function(e){var r=t-n(e);return o((e+=new Array(r+1).join(".0")).split("."),(function(e){return new Array(20-e.length).join("0")+e})).reverse()}));--t>=0;){if(r[0][t]>r[1][t])return 1;if(r[0][t]!==r[1][t])return-1;if(0===t)return 0}}function a(e,n,o){var a=r;"string"==typeof n&&(o=n,n=void 0),void 0===n&&(n=!1),o&&(a=t(o));var u=""+a.version;for(var s in e)if(e.hasOwnProperty(s)&&a[s]){if("string"!=typeof e[s])throw new Error("Browser version in the minVersion map should be a string: "+s+": "+String(e));return i([u,e[s]])<0}return n}return r.test=function(e){for(var t=0;t<e.length;++t){var n=e[t];if("string"==typeof n&&n in r)return!0}return!1},r.isUnsupportedBrowser=a,r.compareVersions=i,r.check=function(e,t,r){return!a(e,t,r)},r._detect=t,r.detect=t,r},e.exports?e.exports=n():r(62)("bowser",n)},function(e,t){e.exports=function(){throw new Error("define cannot be used indirect")}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,r){if("chrome"===e&&t<43||("safari"===e||"ios_saf"===e)&&t<9||"opera"===e&&t<30||"android"===e&&t<=4.4||"and_uc"===e)return r+"keyframes";return"keyframes"},e.exports=t.default},function(e,t,r){"use strict";r.r(t);var n=/[A-Z]/g,o=/^ms-/,i={};function a(e){return"-"+e.toLowerCase()}t.default=function(e){if(i.hasOwnProperty(e))return i[e];var t=e.replace(n,a);return i[e]=o.test(t)?"-"+t:t}},function(e,t,r){"use strict";r.r(t);var n=r(0),o=r.n(n),i=r(7),a=r.n(i),u=r(1),s=r.n(u),c=o.a.createContext(null);var f=function(e){e()},l={notify:function(){}};function p(){var e=f,t=null,r=null;return{clear:function(){t=null,r=null},notify:function(){e((function(){for(var e=t;e;)e.callback(),e=e.next}))},get:function(){for(var e=[],r=t;r;)e.push(r),r=r.next;return e},subscribe:function(e){var n=!0,o=r={callback:e,next:null,prev:r};return o.prev?o.prev.next=o:t=o,function(){n&&null!==t&&(n=!1,o.next?o.next.prev=o.prev:r=o.prev,o.prev?o.prev.next=o.next:t=o.next)}}}}var d=function(){function e(e,t){this.store=e,this.parentSub=t,this.unsubscribe=null,this.listeners=l,this.handleChangeWrapper=this.handleChangeWrapper.bind(this)}var t=e.prototype;return t.addNestedSub=function(e){return this.trySubscribe(),this.listeners.subscribe(e)},t.notifyNestedSubs=function(){this.listeners.notify()},t.handleChangeWrapper=function(){this.onStateChange&&this.onStateChange()},t.isSubscribed=function(){return Boolean(this.unsubscribe)},t.trySubscribe=function(){this.unsubscribe||(this.unsubscribe=this.parentSub?this.parentSub.addNestedSub(this.handleChangeWrapper):this.store.subscribe(this.handleChangeWrapper),this.listeners=p())},t.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null,this.listeners.clear(),this.listeners=l)},e}();var y=function(e){var t=e.store,r=e.context,i=e.children,a=Object(n.useMemo)((function(){var e=new d(t);return e.onStateChange=e.notifyNestedSubs,{store:t,subscription:e}}),[t]),u=Object(n.useMemo)((function(){return t.getState()}),[t]);Object(n.useEffect)((function(){var e=a.subscription;return e.trySubscribe(),u!==t.getState()&&e.notifyNestedSubs(),function(){e.tryUnsubscribe(),e.onStateChange=null}}),[a,u]);var s=r||c;return o.a.createElement(s.Provider,{value:a},i)};function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function m(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}var v=r(4),b=r.n(v),g=r(12),w="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?n.useLayoutEffect:n.useEffect,O=[],S=[null,null];function _(e,t){var r=e[1];return[t.payload,r+1]}function x(e,t,r){w((function(){return e.apply(void 0,t)}),r)}function k(e,t,r,n,o,i,a){e.current=n,t.current=o,r.current=!1,i.current&&(i.current=null,a())}function E(e,t,r,n,o,i,a,u,s,c){if(e){var f=!1,l=null,p=function(){if(!f){var e,r,p=t.getState();try{e=n(p,o.current)}catch(e){r=e,l=e}r||(l=null),e===i.current?a.current||s():(i.current=e,u.current=e,a.current=!0,c({type:"STORE_UPDATED",payload:{error:r}}))}};r.onStateChange=p,r.trySubscribe(),p();return function(){if(f=!0,r.tryUnsubscribe(),r.onStateChange=null,l)throw l}}}var j=function(){return[null,0]};function P(e,t){void 0===t&&(t={});var r=t,i=r.getDisplayName,a=void 0===i?function(e){return"ConnectAdvanced("+e+")"}:i,u=r.methodName,s=void 0===u?"connectAdvanced":u,f=r.renderCountProp,l=void 0===f?void 0:f,p=r.shouldHandleStateChanges,y=void 0===p||p,v=r.storeKey,w=void 0===v?"store":v,P=(r.withRef,r.forwardRef),C=void 0!==P&&P,A=r.context,T=void 0===A?c:A,I=m(r,["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"]),R=T;return function(t){var r=t.displayName||t.name||"Component",i=a(r),u=h({},I,{getDisplayName:a,methodName:s,renderCountProp:l,shouldHandleStateChanges:y,storeKey:w,displayName:i,wrappedComponentName:r,WrappedComponent:t}),c=I.pure;var f=c?n.useMemo:function(e){return e()};function p(r){var i=Object(n.useMemo)((function(){var e=r.forwardedRef,t=m(r,["forwardedRef"]);return[r.context,e,t]}),[r]),a=i[0],s=i[1],c=i[2],l=Object(n.useMemo)((function(){return a&&a.Consumer&&Object(g.isContextConsumer)(o.a.createElement(a.Consumer,null))?a:R}),[a,R]),p=Object(n.useContext)(l),v=Boolean(r.store)&&Boolean(r.store.getState)&&Boolean(r.store.dispatch);Boolean(p)&&Boolean(p.store);var b=v?r.store:p.store,w=Object(n.useMemo)((function(){return function(t){return e(t.dispatch,u)}(b)}),[b]),P=Object(n.useMemo)((function(){if(!y)return S;var e=new d(b,v?null:p.subscription),t=e.notifyNestedSubs.bind(e);return[e,t]}),[b,v,p]),C=P[0],A=P[1],T=Object(n.useMemo)((function(){return v?p:h({},p,{subscription:C})}),[v,p,C]),I=Object(n.useReducer)(_,O,j),M=I[0][0],D=I[1];if(M&&M.error)throw M.error;var N=Object(n.useRef)(),B=Object(n.useRef)(c),F=Object(n.useRef)(),L=Object(n.useRef)(!1),q=f((function(){return F.current&&c===B.current?F.current:w(b.getState(),c)}),[b,M,c]);x(k,[B,N,L,c,q,F,A]),x(E,[y,b,C,w,B,N,L,F,A,D],[b,C,w]);var U=Object(n.useMemo)((function(){return o.a.createElement(t,h({},q,{ref:s}))}),[s,t,q]);return Object(n.useMemo)((function(){return y?o.a.createElement(l.Provider,{value:T},U):U}),[l,U,T])}var v=c?o.a.memo(p):p;if(v.WrappedComponent=t,v.displayName=i,C){var P=o.a.forwardRef((function(e,t){return o.a.createElement(v,h({},e,{forwardedRef:t}))}));return P.displayName=i,P.WrappedComponent=t,b()(P,t)}return b()(v,t)}}function C(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}function A(e,t){if(C(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var o=0;o<r.length;o++)if(!Object.prototype.hasOwnProperty.call(t,r[o])||!C(e[r[o]],t[r[o]]))return!1;return!0}var T=r(13),I=function(){return Math.random().toString(36).substring(7).split("").join(".")},R={INIT:"@@redux/INIT"+I(),REPLACE:"@@redux/REPLACE"+I(),PROBE_UNKNOWN_ACTION:function(){return"@@redux/PROBE_UNKNOWN_ACTION"+I()}};function M(e){if("object"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function D(e,t,r){var n;if("function"==typeof t&&"function"==typeof r||"function"==typeof r&&"function"==typeof arguments[3])throw new Error("It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.");if("function"==typeof t&&void 0===r&&(r=t,t=void 0),void 0!==r){if("function"!=typeof r)throw new Error("Expected the enhancer to be a function.");return r(D)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var o=e,i=t,a=[],u=a,s=!1;function c(){u===a&&(u=a.slice())}function f(){if(s)throw new Error("You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return i}function l(e){if("function"!=typeof e)throw new Error("Expected the listener to be a function.");if(s)throw new Error("You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribelistener for more details.");var t=!0;return c(),u.push(e),function(){if(t){if(s)throw new Error("You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribelistener for more details.");t=!1,c();var r=u.indexOf(e);u.splice(r,1),a=null}}}function p(e){if(!M(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(s)throw new Error("Reducers may not dispatch actions.");try{s=!0,i=o(i,e)}finally{s=!1}for(var t=a=u,r=0;r<t.length;r++){(0,t[r])()}return e}function d(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");o=e,p({type:R.REPLACE})}function y(){var e,t=l;return(e={subscribe:function(e){if("object"!=typeof e||null===e)throw new TypeError("Expected the observer to be an object.");function r(){e.next&&e.next(f())}return r(),{unsubscribe:t(r)}}})[T.a]=function(){return this},e}return p({type:R.INIT}),(n={dispatch:p,subscribe:l,getState:f,replaceReducer:d})[T.a]=y,n}function N(e,t){var r=t&&t.type;return"Given "+(r&&'action "'+String(r)+'"'||"an action")+', reducer "'+e+'" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function B(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++){var o=t[n];0,"function"==typeof e[o]&&(r[o]=e[o])}var i,a=Object.keys(r);try{!function(e){Object.keys(e).forEach((function(t){var r=e[t];if(void 0===r(void 0,{type:R.INIT}))throw new Error('Reducer "'+t+"\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.");if(void 0===r(void 0,{type:R.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer "'+t+"\" returned undefined when probed with a random type. Don't try to handle "+R.INIT+' or other actions in "redux/*" namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.')}))}(r)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var n=!1,o={},u=0;u<a.length;u++){var s=a[u],c=r[s],f=e[s],l=c(f,t);if(void 0===l){var p=N(s,t);throw new Error(p)}o[s]=l,n=n||l!==f}return(n=n||a.length!==Object.keys(e).length)?o:e}}function F(e,t){return function(){return t(e.apply(this,arguments))}}function L(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function q(e,t){var r=Object.keys(e);return Object.getOwnPropertySymbols&&r.push.apply(r,Object.getOwnPropertySymbols(e)),t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r}function U(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?q(r,!0).forEach((function(t){L(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):q(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function W(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce((function(e,t){return function(){return e(t.apply(void 0,arguments))}}))}function z(e){return function(t,r){var n=e(t,r);function o(){return n}return o.dependsOnOwnProps=!1,o}}function K(e){return null!==e.dependsOnOwnProps&&void 0!==e.dependsOnOwnProps?Boolean(e.dependsOnOwnProps):1!==e.length}function G(e,t){return function(t,r){r.displayName;var n=function(e,t){return n.dependsOnOwnProps?n.mapToProps(e,t):n.mapToProps(e)};return n.dependsOnOwnProps=!0,n.mapToProps=function(t,r){n.mapToProps=e,n.dependsOnOwnProps=K(e);var o=n(t,r);return"function"==typeof o&&(n.mapToProps=o,n.dependsOnOwnProps=K(o),o=n(t,r)),o},n}}var H=[function(e){return"function"==typeof e?G(e):void 0},function(e){return e?void 0:z((function(e){return{dispatch:e}}))},function(e){return e&&"object"==typeof e?z((function(t){return function(e,t){if("function"==typeof e)return F(e,t);if("object"!=typeof e||null===e)throw new Error("bindActionCreators expected an object or a function, instead received "+(null===e?"null":typeof e)+'. Did you write "import ActionCreators from" instead of "import * as ActionCreators from"?');var r={};for(var n in e){var o=e[n];"function"==typeof o&&(r[n]=F(o,t))}return r}(e,t)})):void 0}];var V=[function(e){return"function"==typeof e?G(e):void 0},function(e){return e?void 0:z((function(){return{}}))}];function $(e,t,r){return h({},r,{},e,{},t)}var Q=[function(e){return"function"==typeof e?function(e){return function(t,r){r.displayName;var n,o=r.pure,i=r.areMergedPropsEqual,a=!1;return function(t,r,u){var s=e(t,r,u);return a?o&&i(s,n)||(n=s):(a=!0,n=s),n}}}(e):void 0},function(e){return e?void 0:function(){return $}}];function Y(e,t,r,n){return function(o,i){return r(e(o,i),t(n,i),i)}}function J(e,t,r,n,o){var i,a,u,s,c,f=o.areStatesEqual,l=o.areOwnPropsEqual,p=o.areStatePropsEqual,d=!1;function y(o,d){var y,h,m=!l(d,a),v=!f(o,i);return i=o,a=d,m&&v?(u=e(i,a),t.dependsOnOwnProps&&(s=t(n,a)),c=r(u,s,a)):m?(e.dependsOnOwnProps&&(u=e(i,a)),t.dependsOnOwnProps&&(s=t(n,a)),c=r(u,s,a)):v?(y=e(i,a),h=!p(y,u),u=y,h&&(c=r(u,s,a)),c):c}return function(o,f){return d?y(o,f):(u=e(i=o,a=f),s=t(n,a),c=r(u,s,a),d=!0,c)}}function X(e,t){var r=t.initMapStateToProps,n=t.initMapDispatchToProps,o=t.initMergeProps,i=m(t,["initMapStateToProps","initMapDispatchToProps","initMergeProps"]),a=r(e,i),u=n(e,i),s=o(e,i);return(i.pure?J:Y)(a,u,s,e,i)}function Z(e,t,r){for(var n=t.length-1;n>=0;n--){var o=t[n](e);if(o)return o}return function(t,n){throw new Error("Invalid value of type "+typeof e+" for "+r+" argument when connecting component "+n.wrappedComponentName+".")}}function ee(e,t){return e===t}function te(e){var t=void 0===e?{}:e,r=t.connectHOC,n=void 0===r?P:r,o=t.mapStateToPropsFactories,i=void 0===o?V:o,a=t.mapDispatchToPropsFactories,u=void 0===a?H:a,s=t.mergePropsFactories,c=void 0===s?Q:s,f=t.selectorFactory,l=void 0===f?X:f;return function(e,t,r,o){void 0===o&&(o={});var a=o,s=a.pure,f=void 0===s||s,p=a.areStatesEqual,d=void 0===p?ee:p,y=a.areOwnPropsEqual,v=void 0===y?A:y,b=a.areStatePropsEqual,g=void 0===b?A:b,w=a.areMergedPropsEqual,O=void 0===w?A:w,S=m(a,["pure","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","areMergedPropsEqual"]),_=Z(e,i,"mapStateToProps"),x=Z(t,u,"mapDispatchToProps"),k=Z(r,c,"mergeProps");return n(l,h({methodName:"connect",getDisplayName:function(e){return"Connect("+e+")"},shouldHandleStateChanges:Boolean(e),initMapStateToProps:_,initMapDispatchToProps:x,initMergeProps:k,pure:f,areStatesEqual:d,areOwnPropsEqual:v,areStatePropsEqual:g,areMergedPropsEqual:O},S))}}var re=te();var ne;function oe(e){return function(t){var r=t.dispatch,n=t.getState;return function(t){return function(o){return"function"==typeof o?o(r,n,e):t(o)}}}}ne=i.unstable_batchedUpdates,f=ne;var ie=oe();ie.withExtraArgument=oe;var ae=ie,ue=Array.isArray||function(e){return null!=e&&e.length>=0&&"[object Array]"===Object.prototype.toString.call(e)};function se(e,t){return function(){var r=arguments.length;if(0===r)return t();var n=arguments[r-1];return ue(n)||"function"!=typeof n[e]?t.apply(this,arguments):n[e].apply(n,Array.prototype.slice.call(arguments,0,r-1))}}function ce(e){return null!=e&&"object"==typeof e&&!0===e["@@functional/placeholder"]}function fe(e){return function t(r){return 0===arguments.length||ce(r)?t:e.apply(this,arguments)}}function le(e){return function t(r,n){switch(arguments.length){case 0:return t;case 1:return ce(r)?t:fe((function(t){return e(r,t)}));default:return ce(r)&&ce(n)?t:ce(r)?fe((function(t){return e(t,n)})):ce(n)?fe((function(t){return e(r,t)})):e(r,n)}}}var pe=le(se("forEach",(function(e,t){for(var r=t.length,n=0;n<r;)e(t[n]),n+=1;return t}))),de=Number.isInteger||function(e){return e<<0===e};function ye(e){return"[object String]"===Object.prototype.toString.call(e)}var he=le((function(e,t){var r=e<0?t.length+e:e;return ye(t)?t.charAt(r):t[r]})),me=le((function(e,t){return e.map((function(e){for(var r,n=t,o=0;o<e.length;){if(null==n)return;r=e[o],n=de(r)?he(r,n):n[r],o+=1}return n}))})),ve=le((function(e,t){return me([e],t)[0]}));function be(e,t){return Object.prototype.hasOwnProperty.call(t,e)}var ge=Object.prototype.toString,we=function(){return"[object Arguments]"===ge.call(arguments)?function(e){return"[object Arguments]"===ge.call(e)}:function(e){return be("callee",e)}}(),Oe=!{toString:null}.propertyIsEnumerable("toString"),Se=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],_e=function(){return arguments.propertyIsEnumerable("length")}(),xe=function(e,t){for(var r=0;r<e.length;){if(e[r]===t)return!0;r+=1}return!1},ke="function"!=typeof Object.keys||_e?fe((function(e){if(Object(e)!==e)return[];var t,r,n=[],o=_e&&we(e);for(t in e)!be(t,e)||o&&"length"===t||(n[n.length]=t);if(Oe)for(r=Se.length-1;r>=0;)be(t=Se[r],e)&&!xe(n,t)&&(n[n.length]=t),r-=1;return n})):fe((function(e){return Object(e)!==e?[]:Object.keys(e)}));function Ee(e){return"[object Object]"===Object.prototype.toString.call(e)}var je=fe((function(e){return null!=e&&"function"==typeof e["fantasy-land/empty"]?e["fantasy-land/empty"]():null!=e&&null!=e.constructor&&"function"==typeof e.constructor["fantasy-land/empty"]?e.constructor["fantasy-land/empty"]():null!=e&&"function"==typeof e.empty?e.empty():null!=e&&null!=e.constructor&&"function"==typeof e.constructor.empty?e.constructor.empty():ue(e)?[]:ye(e)?"":Ee(e)?{}:we(e)?function(){return arguments}():void 0}));function Pe(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}function Ce(e,t,r){for(var n=0,o=r.length;n<o;){if(e(t,r[n]))return!0;n+=1}return!1}var Ae="function"==typeof Object.is?Object.is:function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},Te=fe((function(e){return null===e?"Null":void 0===e?"Undefined":Object.prototype.toString.call(e).slice(8,-1)}));function Ie(e,t,r,n){var o=Pe(e);function i(e,t){return Re(e,t,r.slice(),n.slice())}return!Ce((function(e,t){return!Ce(i,t,e)}),Pe(t),o)}function Re(e,t,r,n){if(Ae(e,t))return!0;var o=Te(e);if(o!==Te(t))return!1;if(null==e||null==t)return!1;if("function"==typeof e["fantasy-land/equals"]||"function"==typeof t["fantasy-land/equals"])return"function"==typeof e["fantasy-land/equals"]&&e["fantasy-land/equals"](t)&&"function"==typeof t["fantasy-land/equals"]&&t["fantasy-land/equals"](e);if("function"==typeof e.equals||"function"==typeof t.equals)return"function"==typeof e.equals&&e.equals(t)&&"function"==typeof t.equals&&t.equals(e);switch(o){case"Arguments":case"Array":case"Object":if("function"==typeof e.constructor&&"Promise"===function(e){var t=String(e).match(/^function (\w*)/);return null==t?"":t[1]}(e.constructor))return e===t;break;case"Boolean":case"Number":case"String":if(typeof e!=typeof t||!Ae(e.valueOf(),t.valueOf()))return!1;break;case"Date":if(!Ae(e.valueOf(),t.valueOf()))return!1;break;case"Error":return e.name===t.name&&e.message===t.message;case"RegExp":if(e.source!==t.source||e.global!==t.global||e.ignoreCase!==t.ignoreCase||e.multiline!==t.multiline||e.sticky!==t.sticky||e.unicode!==t.unicode)return!1}for(var i=r.length-1;i>=0;){if(r[i]===e)return n[i]===t;i-=1}switch(o){case"Map":return e.size===t.size&&Ie(e.entries(),t.entries(),r.concat([e]),n.concat([t]));case"Set":return e.size===t.size&&Ie(e.values(),t.values(),r.concat([e]),n.concat([t]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var a=ke(e);if(a.length!==ke(t).length)return!1;var u=r.concat([e]),s=n.concat([t]);for(i=a.length-1;i>=0;){var c=a[i];if(!be(c,t)||!Re(t[c],e[c],u,s))return!1;i-=1}return!0}var Me=le((function(e,t){return Re(e,t,[],[])})),De=fe((function(e){return null!=e&&Me(e,je(e))})),Ne=r(20),Be=r(10),Fe=r.n(Be);function Le(e){return function t(r,n,o){switch(arguments.length){case 0:return t;case 1:return ce(r)?t:le((function(t,n){return e(r,t,n)}));case 2:return ce(r)&&ce(n)?t:ce(r)?le((function(t,r){return e(t,n,r)})):ce(n)?le((function(t,n){return e(r,t,n)})):fe((function(t){return e(r,n,t)}));default:return ce(r)&&ce(n)&&ce(o)?t:ce(r)&&ce(n)?le((function(t,r){return e(t,r,o)})):ce(r)&&ce(o)?le((function(t,r){return e(t,n,r)})):ce(n)&&ce(o)?le((function(t,n){return e(r,t,n)})):ce(r)?fe((function(t){return e(t,n,o)})):ce(n)?fe((function(t){return e(r,t,o)})):ce(o)?fe((function(t){return e(r,n,t)})):e(r,n,o)}}}var qe=Le((function(e,t,r){var n,o={};for(n in t)be(n,t)&&(o[n]=be(n,r)?e(n,t[n],r[n]):t[n]);for(n in r)be(n,r)&&!be(n,o)&&(o[n]=r[n]);return o})),Ue=Le((function(e,t,r){return qe((function(t,r,n){return e(r,n)}),t,r)}));function We(e){return null!=e&&"function"==typeof e["@@transducer/step"]}function ze(e,t,r){return function(){if(0===arguments.length)return r();var n=Array.prototype.slice.call(arguments,0),o=n.pop();if(!ue(o)){for(var i=0;i<e.length;){if("function"==typeof o[e[i]])return o[e[i]].apply(o,n);i+=1}if(We(o)){var a=t.apply(null,n);return a(o)}}return r.apply(this,arguments)}}function Ke(e,t){for(var r=0,n=t.length,o=Array(n);r<n;)o[r]=e(t[r]),r+=1;return o}var Ge=fe((function(e){return!!ue(e)||!!e&&("object"==typeof e&&(!ye(e)&&(1===e.nodeType?!!e.length:0===e.length||e.length>0&&(e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1)))))})),He=function(){function e(e){this.f=e}return e.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},e.prototype["@@transducer/result"]=function(e){return e},e.prototype["@@transducer/step"]=function(e,t){return this.f(e,t)},e}();function Ve(e,t){switch(e){case 0:return function(){return t.apply(this,arguments)};case 1:return function(e){return t.apply(this,arguments)};case 2:return function(e,r){return t.apply(this,arguments)};case 3:return function(e,r,n){return t.apply(this,arguments)};case 4:return function(e,r,n,o){return t.apply(this,arguments)};case 5:return function(e,r,n,o,i){return t.apply(this,arguments)};case 6:return function(e,r,n,o,i,a){return t.apply(this,arguments)};case 7:return function(e,r,n,o,i,a,u){return t.apply(this,arguments)};case 8:return function(e,r,n,o,i,a,u,s){return t.apply(this,arguments)};case 9:return function(e,r,n,o,i,a,u,s,c){return t.apply(this,arguments)};case 10:return function(e,r,n,o,i,a,u,s,c,f){return t.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}var $e=le((function(e,t){return Ve(e.length,(function(){return e.apply(t,arguments)}))}));function Qe(e,t,r){for(var n=r.next();!n.done;){if((t=e["@@transducer/step"](t,n.value))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n=r.next()}return e["@@transducer/result"](t)}function Ye(e,t,r,n){return e["@@transducer/result"](r[n]($e(e["@@transducer/step"],e),t))}var Je="undefined"!=typeof Symbol?Symbol.iterator:"@@iterator";function Xe(e,t,r){if("function"==typeof e&&(e=function(e){return new He(e)}(e)),Ge(r))return function(e,t,r){for(var n=0,o=r.length;n<o;){if((t=e["@@transducer/step"](t,r[n]))&&t["@@transducer/reduced"]){t=t["@@transducer/value"];break}n+=1}return e["@@transducer/result"](t)}(e,t,r);if("function"==typeof r["fantasy-land/reduce"])return Ye(e,t,r,"fantasy-land/reduce");if(null!=r[Je])return Qe(e,t,r[Je]());if("function"==typeof r.next)return Qe(e,t,r);if("function"==typeof r.reduce)return Ye(e,t,r,"reduce");throw new TypeError("reduce: list must be array or iterable")}var Ze={init:function(){return this.xf["@@transducer/init"]()},result:function(e){return this.xf["@@transducer/result"](e)}},et=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=Ze.result,e.prototype["@@transducer/step"]=function(e,t){return this.xf["@@transducer/step"](e,this.f(t))},e}(),tt=le((function(e,t){return new et(e,t)}));var rt=le((function(e,t){return 1===e?fe(t):Ve(e,function e(t,r,n){return function(){for(var o=[],i=0,a=t,u=0;u<r.length||i<arguments.length;){var s;u<r.length&&(!ce(r[u])||i>=arguments.length)?s=r[u]:(s=arguments[i],i+=1),o[u]=s,ce(s)||(a-=1),u+=1}return a<=0?n.apply(this,o):Ve(a,e(t,o,n))}}(e,[],t))})),nt=le(ze(["fantasy-land/map","map"],tt,(function(e,t){switch(Object.prototype.toString.call(t)){case"[object Function]":return rt(t.length,(function(){return e.call(this,t.apply(this,arguments))}));case"[object Object]":return Xe((function(r,n){return r[n]=e(t[n]),r}),{},ke(t));default:return Ke(e,t)}}))),ot=le((function(e,t){return e.map((function(e){return ve([e],t)}))})),it=le((function(e,t){for(var r=ke(t),n=0;n<r.length;){var o=r[n];e(t[o],o,t),n+=1}return t}));function at(e,t){return function(e,t,r){var n,o;if("function"==typeof e.indexOf)switch(typeof t){case"number":if(0===t){for(n=1/t;r<e.length;){if(0===(o=e[r])&&1/o===n)return r;r+=1}return-1}if(t!=t){for(;r<e.length;){if("number"==typeof(o=e[r])&&o!=o)return r;r+=1}return-1}return e.indexOf(t,r);case"string":case"boolean":case"function":case"undefined":return e.indexOf(t,r);case"object":if(null===t)return e.indexOf(t,r)}for(;r<e.length;){if(Me(e[r],t))return r;r+=1}return-1}(t,e,0)>=0}var ut=le(at);function st(e,t,r){var n,o=typeof e;switch(o){case"string":case"number":return 0===e&&1/e==-1/0?!!r._items["-0"]||(t&&(r._items["-0"]=!0),!1):null!==r._nativeSet?t?(n=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===n):r._nativeSet.has(e):o in r._items?e in r._items[o]||(t&&(r._items[o][e]=!0),!1):(t&&(r._items[o]={},r._items[o][e]=!0),!1);case"boolean":if(o in r._items){var i=e?1:0;return!!r._items[o][i]||(t&&(r._items[o][i]=!0),!1)}return t&&(r._items[o]=e?[!1,!0]:[!0,!1]),!1;case"function":return null!==r._nativeSet?t?(n=r._nativeSet.size,r._nativeSet.add(e),r._nativeSet.size===n):r._nativeSet.has(e):o in r._items?!!at(e,r._items[o])||(t&&r._items[o].push(e),!1):(t&&(r._items[o]=[e]),!1);case"undefined":return!!r._items[o]||(t&&(r._items[o]=!0),!1);case"object":if(null===e)return!!r._items.null||(t&&(r._items.null=!0),!1);default:return(o=Object.prototype.toString.call(e))in r._items?!!at(e,r._items[o])||(t&&r._items[o].push(e),!1):(t&&(r._items[o]=[e]),!1)}}var ct=function(){function e(){this._nativeSet="function"==typeof Set?new Set:null,this._items={}}return e.prototype.add=function(e){return!st(e,!0,this)},e.prototype.has=function(e){return st(e,!1,this)},e}(),ft=le((function(e,t){for(var r=[],n=0,o=e.length,i=t.length,a=new ct,u=0;u<i;u+=1)a.add(t[u]);for(;n<o;)a.add(e[n])&&(r[r.length]=e[n]),n+=1;return r}));function lt(e){return e&&e["@@transducer/reduced"]?e:{"@@transducer/value":e,"@@transducer/reduced":!0}}var pt=function(){function e(e,t){this.xf=t,this.f=e,this.all=!0}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=function(e){return this.all&&(e=this.xf["@@transducer/step"](e,!0)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)||(this.all=!1,e=lt(this.xf["@@transducer/step"](e,!1))),e},e}(),dt=le(ze(["all"],le((function(e,t){return new pt(e,t)})),(function(e,t){for(var r=0;r<t.length;){if(!e(t[r]))return!1;r+=1}return!0}))),yt=le((function(e,t){for(var r=[],n=0,o=Math.min(e.length,t.length);n<o;)r[n]=[e[n],t[n]],n+=1;return r}));function ht(e,t){for(var r=0,n=t.length,o=[];r<n;)e(t[r])&&(o[o.length]=t[r]),r+=1;return o}var mt=fe((function(e){return rt(e.length,(function(t,r){var n=Array.prototype.slice.call(arguments,0);return n[0]=r,n[1]=t,e.apply(this,n)}))}));function vt(e){return e}var bt=fe(vt),gt=le((function(e,t){for(var r,n,o=new ct,i=[],a=0;a<t.length;)r=e(n=t[a]),o.add(r)&&i.push(n),a+=1;return i}))(bt),wt=le((function(e,t){var r,n;return e.length>t.length?(r=e,n=t):(r=t,n=e),gt(ht(mt(at)(r),n))})),Ot=fe((function(e){for(var t=ke(e),r=t.length,n=[],o=0;o<r;)n[o]=e[t[o]],o+=1;return n}));function St(e){return function t(r){for(var n,o,i,a=[],u=0,s=r.length;u<s;){if(Ge(r[u]))for(i=0,o=(n=e?t(r[u]):r[u]).length;i<o;)a[a.length]=n[i],i+=1;else a[a.length]=r[u];u+=1}return a}}var _t=fe(St(!0)),xt=le((function(e,t){for(var r=0,n=Math.min(e.length,t.length),o={};r<n;)o[e[r]]=t[r],r+=1;return o})),kt=le((function e(t,r){var n,o,i,a=r instanceof Array?[]:{};for(o in r)i=typeof(n=t[o]),a[o]="function"===i?n(r[o]):n&&"object"===i?e(n,r[o]):r[o];return a})),Et=Le((function(e,t,r){var n={};for(var o in r)n[o]=r[o];return n[e]=t,n}));function jt(e,t){var r;t=t||[];var n=(e=e||[]).length,o=t.length,i=[];for(r=0;r<n;)i[i.length]=e[r],r+=1;for(r=0;r<o;)i[i.length]=t[r],r+=1;return i}var Pt=le((function(e,t){return"function"==typeof t["fantasy-land/ap"]?t["fantasy-land/ap"](e):"function"==typeof e.ap?e.ap(t):"function"==typeof e?function(r){return e(r)(t(r))}:Xe((function(e,r){return jt(e,nt(r,t))}),[],e)}));var Ct="function"==typeof Object.assign?Object.assign:function(e){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1,n=arguments.length;r<n;){var o=arguments[r];if(null!=o)for(var i in o)be(i,o)&&(t[i]=o[i]);r+=1}return t},At=le((function(e,t){return Ct({},e,t)})),Tt=function(){function e(e,t){this.xf=t,this.f=e,this.any=!1}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=function(e){return this.any||(e=this.xf["@@transducer/step"](e,!1)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.any=!0,e=lt(this.xf["@@transducer/step"](e,!0))),e},e}(),It=le(ze(["any"],le((function(e,t){return new Tt(e,t)})),(function(e,t){for(var r=0;r<t.length;){if(e(t[r]))return!0;r+=1}return!1}))),Rt=function(){function e(e,t){this.xf=t,this.n=e,this.i=0}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=Ze.result,e.prototype["@@transducer/step"]=function(e,t){this.i+=1;var r=0===this.n?e:this.xf["@@transducer/step"](e,t);return this.n>=0&&this.i>=this.n?lt(r):r},e}(),Mt=le((function(e,t){return new Rt(e,t)})),Dt=Le(se("slice",(function(e,t,r){return Array.prototype.slice.call(r,e,t)}))),Nt=le(ze(["take"],Mt,(function(e,t){return Dt(0,e<0?1/0:e,t)}))),Bt=le((function(e,t){return Me(Nt(e.length,t),e)})),Ft=le((function(e,t){return ve([e],t)})),Lt=le((function(e,t){return nt(Ft(e),t)})),qt=le((function(e,t){var r={};for(var n in t)r[n]=t[n];return delete r[e],r})),Ut=le((function(e,t){var r={};for(var n in t)e(t[n],n,t)&&(r[n]=t[n]);return r})),Wt=function(){function e(e,t){this.xf=t,this.f=e}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=Ze.result,e.prototype["@@transducer/step"]=function(e,t){return this.f(t)?this.xf["@@transducer/step"](e,t):e},e}(),zt=le(ze(["filter"],le((function(e,t){return new Wt(e,t)})),(function(e,t){return Ee(t)?Xe((function(r,n){return e(t[n])&&(r[n]=t[n]),r}),{},ke(t)):ht(e,t)}))),Kt=le((function(e,t){return t>e?t:e})),Gt=Le(Xe),Ht=le((function(e,t){return rt(Gt(Kt,0,Lt("length",t)),(function(){var r=arguments,n=this;return e.apply(n,Ke((function(e){return e.apply(n,r)}),t))}))})),Vt=fe((function(e){return Ht((function(){return Array.prototype.slice.call(arguments,0)}),e)}));var $t=le((function(e,t){return zt((r=e,function(){return!r.apply(this,arguments)}),t);var r})),Qt=Vt([zt,$t]);function Yt(e,t,r,n){var o,i=function(o){for(var i=t.length,a=0;a<i;){if(e===t[a])return r[a];a+=1}for(var u in t[a+1]=e,r[a+1]=o,e)o[u]=n?Yt(e[u],t,r,!0):e[u];return o};switch(Te(e)){case"Object":return i({});case"Array":return i([]);case"Date":return new Date(e.valueOf());case"RegExp":return o=e,new RegExp(o.source,(o.global?"g":"")+(o.ignoreCase?"i":"")+(o.multiline?"m":"")+(o.sticky?"y":"")+(o.unicode?"u":""));default:return e}}var Jt=fe((function(e){return null!=e&&"function"==typeof e.clone?e.clone():Yt(e,[],[],!0)}));var Xt=function(e){var t=function(e){return{"@@transducer/init":Ze.init,"@@transducer/result":function(t){return e["@@transducer/result"](t)},"@@transducer/step":function(t,r){var n=e["@@transducer/step"](t,r);return n["@@transducer/reduced"]?{"@@transducer/value":n,"@@transducer/reduced":!0}:n}}}(e);return{"@@transducer/init":Ze.init,"@@transducer/result":function(e){return t["@@transducer/result"](e)},"@@transducer/step":function(e,r){return Ge(r)?Xe(t,e,r):Xe(t,e,[r])}}},Zt=le(ze(["fantasy-land/chain","chain"],le((function(e,t){return nt(e,Xt(t))})),(function(e,t){return"function"==typeof t?function(r){return e(t(r))(r)}:St(!1)(nt(e,t))})))(vt),er=Le((function e(t,r,n){return qe((function(r,n,o){return Ee(n)&&Ee(o)?e(t,n,o):t(r,n,o)}),r,n)})),tr=le((function(e,t){return er((function(e,t,r){return r}),e,t)})),rr=Le((function(e,t,r){return Me(t,r[e])}));function nr(e){var t=Object.prototype.toString.call(e);return"[object Function]"===t||"[object AsyncFunction]"===t||"[object GeneratorFunction]"===t||"[object AsyncGeneratorFunction]"===t}function or(e){return'"'+e.replace(/\\/g,"\\\\").replace(/[\b]/g,"\\b").replace(/\f/g,"\\f").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(/\v/g,"\\v").replace(/\0/g,"\\0").replace(/"/g,'\\"')+'"'}var ir=function(e){return(e<10?"0":"")+e},ar="function"==typeof Date.prototype.toISOString?function(e){return e.toISOString()}:function(e){return e.getUTCFullYear()+"-"+ir(e.getUTCMonth()+1)+"-"+ir(e.getUTCDate())+"T"+ir(e.getUTCHours())+":"+ir(e.getUTCMinutes())+":"+ir(e.getUTCSeconds())+"."+(e.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};var ur=fe((function(e){return function e(t,r){var n=function(n){var o=r.concat([t]);return at(n,o)?"<Circular>":e(n,o)},o=function(e,t){return Ke((function(t){return or(t)+": "+n(e[t])}),t.slice().sort())};switch(Object.prototype.toString.call(t)){case"[object Arguments]":return"(function() { return arguments; }("+Ke(n,t).join(", ")+"))";case"[object Array]":return"["+Ke(n,t).concat(o(t,$t((function(e){return/^\d+$/.test(e)}),ke(t)))).join(", ")+"]";case"[object Boolean]":return"object"==typeof t?"new Boolean("+n(t.valueOf())+")":t.toString();case"[object Date]":return"new Date("+(isNaN(t.valueOf())?n(NaN):or(ar(t)))+")";case"[object Null]":return"null";case"[object Number]":return"object"==typeof t?"new Number("+n(t.valueOf())+")":1/t==-1/0?"-0":t.toString(10);case"[object String]":return"object"==typeof t?"new String("+n(t.valueOf())+")":or(t);case"[object Undefined]":return"undefined";default:if("function"==typeof t.toString){var i=t.toString();if("[object Object]"!==i)return i}return"{"+o(t,ke(t)).join(", ")+"}"}}(e,[])})),sr=le((function(e,t){if(ue(e)){if(ue(t))return e.concat(t);throw new TypeError(ur(t)+" is not an array")}if(ye(e)){if(ye(t))return e+t;throw new TypeError(ur(t)+" is not a string")}if(null!=e&&nr(e["fantasy-land/concat"]))return e["fantasy-land/concat"](t);if(null!=e&&nr(e.concat))return e.concat(t);throw new TypeError(ur(e)+' does not have a method named "concat" or "fantasy-land/concat"')})),cr=function(){function e(e,t){this.xf=t,this.f=e,this.found=!1}return e.prototype["@@transducer/init"]=Ze.init,e.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,void 0)),this.xf["@@transducer/result"](e)},e.prototype["@@transducer/step"]=function(e,t){return this.f(t)&&(this.found=!0,e=lt(this.xf["@@transducer/step"](e,t))),e},e}(),fr=le(ze(["find"],le((function(e,t){return new cr(e,t)})),(function(e,t){for(var r=0,n=t.length;r<n;){if(e(t[r]))return t[r];r+=1}}))),lr=fe((function(e){return null==e})),pr=le((function(e,t){if(0===e.length||lr(t))return!1;for(var r=t,n=0;n<e.length;){if(lr(r)||!be(e[n],r))return!1;r=r[e[n]],n+=1}return!0})),dr=le((function(e,t){return pr([e],t)})),yr=le((function(e,t){return jt(t,[e])}));function hr(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function mr(e){var t=dr("url_base_pathname",e),r=dr("requests_pathname_prefix",e);if("Object"!==Te(e)||!t&&!r)throw new Error('\n Trying to make an API request but neither\n "url_base_pathname" nor "requests_pathname_prefix"\n is in `config`. `config` is: ',e);var n=r?e.requests_pathname_prefix:e.url_base_pathname;return"/"===n.charAt(n.length-1)?n:n+"/"}var vr=["props","children"],br=function e(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(Array.isArray(t))t.forEach((function(t,o){e(t,r,yr(o,n))}));else if("Object"===Te(t)){r(t,n);var o=ve(vr,t);if(o){var i=sr(n,vr);e(o,r,i)}}},gr=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ev={}}var t,r,n;return t=e,(r=[{key:"on",value:function(e,t){var r=this;return(this._ev[e]=this._ev[e]||[]).push(t),function(){return r.removeListener(e,t)}}},{key:"removeListener",value:function(e,t){var r=this._ev[e];if(r){var n=r.indexOf(t);n>-1&&r.splice(n,1)}}},{key:"emit",value:function(e){for(var t=this,r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];var i=this._ev[e];i&&i.forEach((function(e){return e.apply(t,n)}))}},{key:"once",value:function(e,t){var r=this,n=this.on(e,(function(){n();for(var e=arguments.length,o=new Array(e),i=0;i<e;i++)o[i]=arguments[i];t.apply(r,o)}))}}])&&hr(t.prototype,r),n&&hr(t,n),e}();function wr(e){return(wr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Or(e,t,r,n){var o=r||{strs:{},objs:{}},i=o.strs,a=o.objs,u=function(e){return t.some((function(t,r){return e[r]!==t}))},s=t.length,c=s?zt(u,i):{},f={};return s&&it((function(e,t){var r=zt((function(e){var t=e.path;return u(t)}),e);r.length&&(f[t]=r)}),a),br(e,(function(e,r){var n=ve(["props","id"],e);if(n)if("object"===wr(n)){var o=Object.keys(n).sort(),i=ot(o,n),a=o.join(",");(f[a]=f[a]||[]).push({values:i,path:sr(t,r)})}else c[n]=sr(t,r)})),{strs:c,objs:f,events:n||r.events}}function Sr(e,t){if("object"===wr(t)){var r=Object.keys(t).sort(),n=r.join(","),o=e.objs[n];if(!o)return!1;var i=ot(r,t),a=fr(rr("values",i),o);return a&&a.path}return e.strs[t]}var _r=function(e){var t=e.type,r=e.namespace,n=window[r];if(n){if(n[t])return n[t];throw new Error("Component ".concat(t," not found in ").concat(r))}throw new Error("".concat(r," was not found."))};function xr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function kr(e){return(kr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var Er=Ue(Math.max),jr=function(e){return e.startsWith("..")},Pr={wild:"ALL",multi:1},Cr={wild:"MATCH"},Ar={wild:"ALLSMALLER",multi:1,expand:1},Tr={ALL:Pr,MATCH:Cr,ALLSMALLER:Ar},Ir={Output:{ALL:Pr,MATCH:Cr},Input:Tr,State:Tr},Rr=["string","number","boolean"],Mr=[".","{"];function Dr(e){var t=e.lastIndexOf(".");return{id:Nr(e.substr(0,t)),property:e.substr(t+1)}}function Nr(e){return function(e){return e.startsWith("{")}(e)?function(e){return nt((function(e){return Array.isArray(e)&&Tr[e[0]]||e}),JSON.parse(e))}(e):e}var Br=function(e){var t=e.id,r=e.property;return"".concat(Fr(t),".").concat(r)};function Fr(e){if("object"!==kr(e))return e;return"{"+Object.keys(e).sort().map((function(t){return JSON.stringify(t)+":"+((r=e[t])&&r.wild||JSON.stringify(r));var r})).join(",")+"}"}function Lr(e,t){var r=Fe()(t);if(Fe()(e)){if(r){var n=Number(e),o=Number(t);return n>o?1:n<o?-1:0}return-1}if(r)return 1;var i="boolean"==typeof e;return i!==("boolean"==typeof t)?i?-1:1:e>t?1:e<t?-1:0}var qr=function(e){return"string"==typeof e?e+"z":"z"};function Ur(e,t,r,n){var o=e[t]=e[t]||{};(o[r]=o[r]||[]).push(n)}function Wr(e,t,r,n){for(var o=Object.keys(t).sort(),i=o.join(","),a=ot(o,t),u=e[i]=e[i]||{},s=u[r]=u[r]||[],c=!1,f=0;f<s.length;f++)if(Me(a,s[f].values)){c=s[f];break}c||(c={keys:o,values:a,callbacks:[]},s.push(c)),c.callbacks.push(n)}function zr(e,t){var r={},n=[];e.forEach((function(e){var o=e.inputs,i=e.outputs,a=e.state,u=!0;1!==i.length||i[0].id||i[0].property||(u=!1,t("A callback is missing Outputs",["Please provide an output for this callback:",JSON.stringify(e,null,2)]));var s="In the callback for output(s):\n "+i.map(Br).join("\n ");o.length||t("A callback is missing Inputs",[s,"there are no `Input` elements.","Without `Input` elements, it will never get called.","","Subscribing to `Input` components will cause the","callback to be called whenever their values change."]),[[i,"Output"],[o,"Input"],[a,"State"]].forEach((function(e){var r=xr(e,2),n=r[0],o=r[1];("Output"!==o||u)&&(Array.isArray(n)||t("Callback ".concat(o,"(s) must be an Array"),[s,"For ".concat(o,"(s) we found:"),JSON.stringify(n),"but we expected an Array."]),n.forEach((function(e,r){!function(e,t,r,n,o){var i=e.id,a=e.property;"string"==typeof a&&a||o("Callback property error",[t,"".concat(r,"[").concat(n,"].property = ").concat(JSON.stringify(a)),"but we expected `property` to be a non-empty string."]);if("object"===kr(i))De(i)&&o("Callback item missing ID",[t,"".concat(r,"[").concat(n,"].id = {}"),"Every item linked to a callback needs an ID"]),it((function(e,i){i||o("Callback wildcard ID error",[t,"".concat(r,"[").concat(n,'].id has key "').concat(i,'"'),"Keys must be non-empty strings."]),"object"===kr(e)&&e.wild?Ir[r][e.wild]!==e&&o("Callback wildcard ID error",[t,"".concat(r,"[").concat(n,'].id["').concat(i,'"] = ').concat(e.wild),"Allowed wildcards for ".concat(r,"s are:"),ke(Ir[r]).join(", ")]):ut(kr(e),Rr)||o("Callback wildcard ID error",[t,"".concat(r,"[").concat(n,'].id["').concat(i,'"] = ').concat(JSON.stringify(e)),"Wildcard callback ID values must be either wildcards","or constants of one of these types:",Rr.join(", ")])}),i);else if("string"==typeof i){i||o("Callback item missing ID",[t,"".concat(r,"[").concat(n,'].id = "').concat(i,'"'),"Every item linked to a callback needs an ID"]);var u=Mr.filter((function(e){return ut(e,i)}));u.length&&o("Callback invalid ID string",[t,"".concat(r,"[").concat(n,"].id = '").concat(i,"'"),"characters '".concat(u.join("', '"),"' are not allowed.")])}else o("Callback ID type error",[t,"".concat(r,"[").concat(n,"].id = ").concat(JSON.stringify(i)),"IDs must be strings or wildcard-compatible objects."])}(e,s,o,r,t)})))})),function(e,t,r,n,o){var i={},a=[];e.forEach((function(e,u){var s=e.id,c=e.property;if("string"==typeof s){var f=Br({id:s,property:c});i[f]?r("Duplicate callback Outputs",[t,"Output ".concat(u," (").concat(f,") is already used by this callback.")]):n[f]?r("Duplicate callback outputs",[t,"Output ".concat(u," (").concat(f,") is already in use."),"Any given output can only have one callback that sets it.","To resolve this situation, try combining these into","one callback function, distinguishing the trigger","by using `dash.callback_context` if necessary."]):i[f]=1}else{var l={id:s,property:c},p=Gr(l,a),d=p||Gr(l,o);if(p||d){var y=Br(l),h=Br(p||d);r("Overlapping wildcard callback outputs",[t,"Output ".concat(u," (").concat(y,")"),"overlaps another output (".concat(h,")"),"used in ".concat(p?"this":"a different"," callback.")])}else a.push(l)}})),ke(i).forEach((function(e){n[e]=1})),a.forEach((function(e){o.push(e)}))}(i,s,t,r,n),function(e,t,r,n){e.forEach((function(e,o){var i=e.id,a=e.property;t.forEach((function(t,u){var s=t.id,c=t.property;a===c&&kr(i)===kr(s)&&("string"==typeof i?i===s&&n("Same `Input` and `Output`",[r,"Input ".concat(u," (").concat(Br(t),")"),"matches Output ".concat(o," (").concat(Br(e),")")]):Gr(t,[e])&&n("Same `Input` and `Output`",[r,"Input ".concat(u," (").concat(Br(t),")"),"can match the same component(s) as","Output ".concat(o," (").concat(Br(e),")")]))}))}))}(i,o,s,t),function(e,t,r,n,o){var i=Hr(e[0].id).anyKeys;e.forEach((function(t,r){r&&!Me(Hr(t.id).anyKeys,i)&&o("Mismatched `MATCH` wildcards across `Output`s",[n,"Output ".concat(r," (").concat(Br(t),")"),"does not have MATCH wildcards on the same keys as","Output 0 (".concat(Br(e[0]),")."),"MATCH wildcards must be on the same keys for all Outputs.","ALL wildcards need not match, only MATCH."])})),[[t,"Input"],[r,"State"]].forEach((function(t){var r=xr(t,2),a=r[0],u=r[1];a.forEach((function(t,r){var a=Hr(t.id),s=a.anyKeys,c=a.allsmallerKeys,f=s.concat(c),l=ft(f,i);l.length&&(l.sort(),o("`Input` / `State` wildcards not in `Output`s",[n,"".concat(u," ").concat(r," (").concat(Br(t),")"),"has MATCH or ALLSMALLER on key(s) ".concat(l.join(", ")),"where Output 0 (".concat(Br(e[0]),")"),"does not have a MATCH wildcard. Inputs and State do not","need every MATCH from the Output(s), but they cannot have","extras beyond the Output(s)."]))}))}))}(i,o,a,s,t)}))}var Kr=function(e){var t=xr(e,2),r=t[0],n=t[1],o=r&&r.wild,i=n&&n.wild;return o&&i?!(r===Cr&&n===Ar||r===Ar&&n===Cr):r===n||o||i};function Gr(e,t){var r=e.id,n=e.property,o=ke(r).sort(),i=ot(o,r),a=!0,u=!1,s=void 0;try{for(var c,f=t[Symbol.iterator]();!(a=(c=f.next()).done);a=!0){var l=c.value,p=l.id;if(l.property===n&&"string"!=typeof p&&Me(ke(p).sort(),o)&&dt(Kr,yt(i,ot(o,p))))return l}}catch(e){u=!0,s=e}finally{try{a||null==f.return||f.return()}finally{if(u)throw s}}return!1}function Hr(e){var t=[],r=[],n=!1;return"object"===kr(e)&&(it((function(e,o){e===Cr?t.push(o):e===Ar?r.push(o):e===Pr&&(n=!0)}),e),t.sort(),r.sort()),{anyKeys:t,allsmallerKeys:r,hasALL:n}}function Vr(e,t,r,n,o,i){for(var a=0;a<e.length;a++){var u=t[a],s=r[a];if(s.wild){if(n&&s!==Pr){var c=n.indexOf(e[a]),f=i[c];if(s===Ar&&f===Ar)throw new Error("invalid wildcard id pair: "+JSON.stringify({keys:e,patternVals:r,vals:t,refKeys:n,refPatternVals:i,refVals:o}));if(Lr(u,o[c])!==(s===Ar?-1:f===Ar?1:0))return!1}}else if(u!==s)return!1}return!0}function $r(e,t){for(var r=[],n=0;n<e.length;n++)e[n]===Cr&&r.push(t[n]);return r.length?JSON.stringify(r):""}function Qr(e,t,r){return function(n){return function(o){var i=o.id,a=o.property;if("string"==typeof i){var u=Sr(n,i);return u?[{id:i,property:a,path:u}]:[]}var s=Object.keys(i).sort(),c=ot(s,i),f=s.join(","),l=n.objs[f];if(!l)return[];var p=[];return l.forEach((function(n){var o=n.values,i=n.path;Vr(s,o,c,e,t,r)&&p.push({id:xt(s,o),property:a,path:i})})),p}}}var Yr=function(e,t,r){return{callback:e,anyVals:r,resolvedId:e.output+r,getOutputs:function(r){return e.outputs.map(t(r))},getInputs:function(r){return e.inputs.map(t(r))},getState:function(r){return e.state.map(t(r))},blockedBy:{},blocking:{},changedPropIds:{},initialCall:!1,requestId:0,requestedOutputs:{}}},Jr=0;function Xr(e){return Jr++,Et("requestId",Jr,e)}function Zr(e,t,r,n){var o,i,a="";if("string"==typeof r){var u=(e.outputMap[r]||{})[n];u&&(i=u[0],o=Qr())}else{var s=Object.keys(r).sort(),c=ot(s,r),f=s.join(","),l=(e.outputPatterns[f]||{})[n];if(l)for(var p=0;p<l.length;p++){var d=l[p].values;if(Vr(s,c,d)){i=l[p].callbacks[0],o=Qr(s,c,d),a=$r(d,c);break}}}return!!o&&Yr(i,o,a)}function en(e,t,r){if(!r)return e;if(!t.length)return[e[0]];var n={};return e.filter((function(e){var r=JSON.stringify(ot(t,e.id));return!n[r]&&(n[r]=1,!0)}))}function tn(e,t,r,n){var o=Object.keys(t.id).sort(),i=ot(o,t.id);r.forEach((function(t){var r=t.id,a=ot(o,r);n.push(Yr(e,Qr(o,a,i),$r(i,a)))}))}function rn(e,t,r,n,o){var i=[],a=Br({id:r,property:n});if("string"==typeof r){var u=(e.inputMap[r]||{})[n];if(!u)return[];var s=Qr();u.forEach((function(e){var r=e.anyKeys,n=e.hasALL;if(r){var o=e.outputs[0];tn(e,o,en(s(t)(o),r,n),i)}else i.push(Yr(e,s,""))}))}else{var c=Object.keys(r).sort(),f=ot(c,r),l=c.join(","),p=(e.inputPatterns[l]||{})[n];if(!p)return[];p.forEach((function(e){if(Vr(c,f,e.values)){var r=Qr(c,f,e.values);e.callbacks.forEach((function(e){var n=e.outputs[0],o=e.anyKeys,a=e.hasALL;tn(e,n,en(r(t)(n),o,a),i)}))}}))}return i.forEach((function(e){e.changedPropIds[a]=o||2})),i}function nn(e,t,r,n){var o=n.outputsOnly,i=n.removedArrayInputsOnly,a=n.newPaths,u=n.chunkPath,s={},c=[];function f(e){if(e){var t=s[e.resolvedId];void 0!==t?c[t].changedPropIds=Er(c[t].changedPropIds,e.changedPropIds):(s[e.resolvedId]=c.length,c.push(e))}}function l(r,n,s){if(n)for(var c in n){var l=Zr(e,0,r,c);l&&(l.initialCall=!0,f(l))}if(!o&&s){var p=i?(h=Fr(r),function(e){return e.getInputs(t).some((function(t){return!(!Array.isArray(t)||!t.some((function(e){return Fr(e.id)===h}))||(_t(e.getOutputs(a)).length&&(e.initialCall=!0,e.changedPropIds={},f(e)),0))}))}):f,d=p;for(var y in u&&(d=function(e){dt(Bt(u),Lt("path",_t(e.getOutputs(t))))&&(e.changedPropIds={}),p(e)}),s)rn(e,t,r,y,1).forEach(d)}var h}br(r,(function(t){var r=ve(["props","id"],t);if(r)if("string"!=typeof r||i){var n=Object.keys(r).sort().join(",");l(r,!i&&e.outputPatterns[n],e.inputPatterns[n])}else l(r,e.outputMap[r],e.inputMap[r])}));var p=sn(e,t,c);return p.forEach((function(e){if(e.initialCall&&!De(e.blockedBy)){var r=_t(e.getInputs(t));e.initialCall=!1,r.forEach((function(t){var r=Br(t);e.changedPropIds[r]?e.changedPropIds[r]=1:e.initialCall=!0}))}})),p}function on(e,t,r,n){var o=[];if(e.forEach((function(e){var t=e.blockedBy,i=e.blocking,a=e.changedPropIds;e.resolvedId!==r&&o.push(At(e,{blockedBy:qt(r,t),blocking:qt(r,i),changedPropIds:Ut((function(e,t){return 2===e||!ut(t,n)}),a)}))})),n.length)for(var i=0;i<o.length;i++){var a=o[i];if(!a.initialCall&&De(a.changedPropIds))return on(o,t,a.resolvedId,_t(a.getOutputs(t)).map(Br))}return o}function an(e){var t=xr(Qt((function(e){return De(e.blockedBy)&&!e.requestId}),e),2),r=t[0],n=t[1];return r.sort((function(e,t){return Object.keys(t.blocking).length-Object.keys(e.blocking).length})),{readyCallbacks:r,blockedCallbacks:n}}function un(e){var t={};return e.forEach((function(e,r){var n=e.resolvedId;t[n]=r})),t}function sn(e,t,r){var n,o,i=Jt(r),a=un(i),u=function(r){var n=r.id,u=r.property;rn(e,t,n,u,1).forEach((function(e){var t=a[e.resolvedId];if(void 0===t)t=i.length,i.push(e),a[e.resolvedId]=t;else{var r=i[t];r.changedPropIds=Er(r.changedPropIds,e.changedPropIds)}!function(e,t,r){e.forEach((function(e){var n=e.blockedBy,o=e.blocking,i=e.resolvedId;i===t||o[t]?o[r]=1:(i===r||n[r])&&(n[t]=1)}))}(i,o.resolvedId,e.resolvedId)}))};for(n=0;n<i.length;n++){o=i[n],Zt(o.getOutputs(t)).forEach(u)}return i}function cn(e,t){function r(r,n){e[r][t.resolvedId]&&!t[n][e.resolvedId]&&(t[n][e.resolvedId]=e[r][t.resolvedId],t[n]=Er(e[n],t[n]),e[r]=Er(t[r],e[r]))}r("blockedBy","blocking"),r("blocking","blockedBy")}function fn(e,t){if(!t.length)return e;if(!e.length)return t;var r=Jt(e),n=Jt(t),o=un(r);return n.forEach((function(e,t){var i=o[e.resolvedId];void 0!==i?(r.forEach((function(t){cn(t,e)})),n.slice(t+1).forEach((function(t){cn(t,e)})),r[i]=tr(r[i],e)):(o[e.resolvedId]=r.length,r.push(e))})),r}var ln=function(e){return{value:e,"fantasy-land/map":function(){return this}}},pn=le((function(e,t){return e(ln)(t).value})),dn=Le((function e(t,r,n){if(0===t.length)return r;var o=t[0];if(t.length>1){var i=!lr(n)&&be(o,n)?n[o]:de(t[1])?[]:{};r=e(Array.prototype.slice.call(t,1),r,i)}if(de(o)&&ue(n)){var a=[].concat(n);return a[o]=r,a}return Et(o,r,n)})),yn=le((function(e,t){return function(r){return function(n){return nt((function(e){return t(e,n)}),r(e(n)))}}})),hn=fe((function(e){return yn(ve(e),dn(e))})),mn={ON_PROP_CHANGE:1,SET_REQUEST_QUEUE:1,SET_GRAPHS:1,SET_PATHS:1,SET_LAYOUT:1,SET_APP_LIFECYCLE:1,SET_CONFIG:1,ON_ERROR:1,SET_HOOKS:1},vn=function(e){if(mn[e])return e;throw new Error("".concat(e," is not defined."))},bn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;if(t.type===vn("SET_LAYOUT"))return t.payload;if(ut(t.type,["UNDO_PROP_CHANGE","REDO_PROP_CHANGE",vn("ON_PROP_CHANGE")])){var r=yr("props",t.payload.itempath),n=pn(hn(r),e),o=At(n,t.payload.props);return dn(r,o,e)}return e},gn={},wn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:gn,t=arguments.length>1?arguments[1]:void 0;return"SET_GRAPHS"===t.type?t.payload:e},On={strs:{},objs:{}},Sn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:On,t=arguments.length>1?arguments[1]:void 0;return t.type===vn("SET_PATHS")?t.payload:e},_n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_PENDING_CALLBACKS":return t.payload;default:return e}};function xn(e){var t={STARTED:"STARTED",HYDRATED:"HYDRATED"};if(t[e])return t[e];throw new Error("".concat(e," is not a valid app state."))}var kn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xn("STARTED"),t=arguments.length>1?arguments[1]:void 0;switch(t.type){case vn("SET_APP_LIFECYCLE"):return xn(t.payload);default:return e}};function En(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var jn={past:[],present:{},future:[]};var Pn=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:jn,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"UNDO":var r=e.past,n=e.present,o=e.future,i=r[r.length-1],a=r.slice(0,r.length-1);return{past:a,present:i,future:[n].concat(En(o))};case"REDO":var u=e.past,s=e.present,c=e.future,f=c[0],l=c.slice(1);return{past:[].concat(En(u),[s]),present:f,future:l};case"REVERT":var p=e.past,d=e.future,y=p[p.length-1],h=p.slice(0,p.length-1);return{past:h,present:y,future:En(d)};default:return e}};function Cn(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var An={frontEnd:[],backEnd:[]};function Tn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:An,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"ON_ERROR":return console.error(t.payload.error),"frontEnd"===t.payload.type?{frontEnd:[At(t.payload,{timestamp:new Date})].concat(Cn(e.frontEnd)),backEnd:e.backEnd}:"backEnd"===t.payload.type?{frontEnd:e.frontEnd,backEnd:[At(t.payload,{timestamp:new Date})].concat(Cn(e.backEnd))}:e;default:return e}}var In=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{request_pre:null,request_post:null,bear:!1},t=arguments.length>1?arguments[1]:void 0;switch(t.type){case"SET_HOOKS":return t.payload;default:return e}};function Rn(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;return t.type===vn("SET_CONFIG")?t.payload:e}function Mn(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}var Dn,Nn=["dependenciesRequest","layoutRequest","reloadRequest","loginRequest"];function Bn(){var e={appLifecycle:kn,layout:bn,graphs:wn,paths:Sn,pendingCallbacks:_n,config:Rn,history:Pn,error:Tn,hooks:In};return pe((function(t){var r;e[t]=(r=t,function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=e;if(t.type===r){var o=t.payload,i=o.id,a=o.status,u=o.content,s={status:a,content:u};n=Array.isArray(i)?dn(i,s,e):i?Et(i,s,e):At(e,s)}return n})}),Nn),B(e)}function Fn(e,t,r){var n,o=r.graphs,i=r.layout,a=r.paths,u=ve(e.concat(["props"]),i),s=(u||{}).id;return s&&(n={id:s,props:{}},ke(t).forEach((function(e){rn(o,a,s,e).length&&(n.props[e]=u[e])}))),n}function Ln(){return function(e){return function(t,r){var n=t||{},o=n.history,i=n.config,a=n.hooks,u=t;return"RELOAD"===r.type?u={history:o,config:i,hooks:a}:"SET_CONFIG"===r.type&&(u={hooks:a}),e(u,r)}}((e=Bn(),function(t,r){if("ON_PROP_CHANGE"===r.type){var n=r.payload,o=Fn(n.itempath,n.props,t);o&&!De(o.props)&&(t.history.present=o)}var i=e(t,r);if("ON_PROP_CHANGE"===r.type&&"response"!==r.payload.source){var a=r.payload,u=Fn(a.itempath,a.props,i);u&&!De(u.props)&&(i.history={past:[].concat(Mn(i.history.past),[t.history.present]),present:u,future:[]})}return i}));var e}var qn=function(e){if(Dn&&!e)return Dn;var t=Ln();return Dn=D(t,function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return function(e){return function(){var r=e.apply(void 0,arguments),n=function(){throw new Error("Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.")},o={getState:r.getState,dispatch:function(){return n.apply(void 0,arguments)}},i=t.map((function(e){return e(o)}));return U({},r,{dispatch:n=W.apply(void 0,i)(r.dispatch)})}}}(ae)),e||(window.store=Dn),Dn};var Un=le((function(e,t){for(var r={},n=0;n<e.length;)e[n]in t&&(r[e[n]]=t[e[n]]),n+=1;return r})),Wn=fe((function(e){return rt(e.length,(function(){var t=0,r=arguments[0],n=arguments[arguments.length-1],o=Array.prototype.slice.call(arguments,0);return o[0]=function(){var e=r.apply(this,jt(arguments,[t,n]));return t+=1,e},e.apply(this,o)}))})),zn=le((function(e,t){return null==t||t!=t?e:t})),Kn=Le((function(e,t,r){return zn(e,ve(t,r))})),Gn=Le((function(e,t,r){return Kn(e,[t],r)})),Hn=fe((function(e){var t,r=!1;return Ve(e.length,(function(){return r?t:(r=!0,t=e.apply(this,arguments))}))})),Vn=le((function(e,t){return $t(mt(at)(e),t)})),$n=r(22),Qn=r.n($n),Yn=function(e){return"function"==typeof e},Jn=function(e){return e},Xn=function(e){return null===e};function Zn(e,t,r){void 0===t&&(t=Jn),Qn()(Yn(t)||Xn(t),"Expected payloadCreator to be a function, undefined or null");var n=Xn(t)||t===Jn?Jn:function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return e instanceof Error?e:t.apply(void 0,[e].concat(n))},o=Yn(r),i=e.toString(),a=function(){var t=n.apply(void 0,arguments),i={type:e};return t instanceof Error&&(i.error=!0),void 0!==t&&(i.payload=t),o&&(i.meta=r.apply(void 0,arguments)),i};return a.toString=function(){return i},a}var eo=r(21),to=r.n(eo),ro=200,no=204,oo=fe((function(e){return function(){return e}})),io=function(e){return{value:e,map:function(t){return io(t(e))}}},ao=Le((function(e,t,r){return e((function(e){return io(t(e))}))(r).value})),uo=Le((function(e,t,r){return ao(e,oo(t),r)}));function so(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function co(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fo(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function lo(e,t,r){return t&&fo(e.prototype,t),r&&fo(e,r),e}var po="_dash_persistence.";function yo(e){var t="string"==typeof e?new Error(e):e;return Zn("ON_ERROR")({type:"frontEnd",error:t})}function ho(e,t){var r=e+t,n=r.length;return function(t){return t===e||t.substr(0,n)===r}}var mo=function(e){return"U"===e?void 0:JSON.parse(e||null)},vo=function(e){return void 0===e?"U":JSON.stringify(e)},bo=function(){function e(t){co(this,e),this._name=t,this._storage=window[t]}return lo(e,[{key:"hasItem",value:function(e){return null!==this._storage.getItem(po+e)}},{key:"getItem",value:function(e){return mo(this._storage.getItem(po+e))}},{key:"_setItem",value:function(e,t){this._storage.setItem(po+e,vo(t))}},{key:"setItem",value:function(e,t,r){try{this._setItem(e,t)}catch(t){r(yo("".concat(e," failed to save in ").concat(this._name,". Persisted props may be lost.")))}}},{key:"removeItem",value:function(e){this._storage.removeItem(po+e)}},{key:"clear",value:function(e){for(var t=this,r=ho(po+(e||""),e?".":""),n=[],o=0;o<this._storage.length;o++){var i=this._storage.key(o);r(i)&&n.push(i)}pe((function(e){return t._storage.removeItem(e)}),n)}}]),e}();var go={memory:new(function(){function e(){co(this,e),this._data={}}return lo(e,[{key:"hasItem",value:function(e){return e in this._data}},{key:"getItem",value:function(e){return mo(this._data[e])}},{key:"setItem",value:function(e,t){this._data[e]=vo(t)}},{key:"removeItem",value:function(e){delete this._data[e]}},{key:"clear",value:function(e){var t=this;e?pe((function(e){return delete t._data[e]}),zt(ho(e,"."),ke(this._data))):this._data={}}}]),e}())},wo={local:"localStorage",session:"sessionStorage"};function Oo(e,t){return go[e]||(go[e]=function(e,t){var r=new bo(e),n=go.memory,o=function(){for(var e="Spam",t=2;t<16;t++)e+=e;return e}(),i=po+"x.x";try{return r._setItem(i,o),r.getItem(i)!==o?(t(yo("".concat(e," init failed set/get, falling back to memory"))),n):(r.removeItem(i),r)}catch(r){t(yo("".concat(e," init first try failed; clearing and retrying")))}try{if(r.clear(),r._setItem(i,o),r.getItem(i)!==o)throw new Error("nope");return r.removeItem(i),t(yo("".concat(e," init set/get succeeded after clearing!"))),r}catch(r){return t(yo("".concat(e," init still failed, falling back to memory"))),n}}(wo[e],t)),go[e]}var So={extract:function(e){return e},apply:function(e,t){return e}},_o=function(e,t,r){return r?e.persistenceTransforms[t][r]:So},xo=function(e,t,r){return"".concat(e,".").concat(t,".").concat(JSON.stringify(r))},ko=function(e){var t=e.props,r=e.type,n=e.namespace;if(!r||!n)return{props:t};var o=t.id,i=t.persistence,a=_r(e),u=function(e){return t[e]||(a.defaultProps||{})[e]},s=u("persisted_props"),c=u("persistence_type");return{canPersist:o&&s&&c,id:o,props:t,element:a,persistence:i,persisted_props:s,persistence_type:c}};function Eo(e,t){return"Object"===Te(e)&&e.props?function e(t,r,n,o){var i=ko(r),a=i.canPersist,u=i.id,s=i.props,c=i.element,f=i.persistence,l=i.persisted_props,p=i.persistence_type,d=t;if(a&&f){var y=Oo(p,o),h={};for(var m in pe((function(e){return jo(xo(u,e,f),y,c,s,e,h)}),l),h)d=uo(hn(n.concat("props",m)),h[m],d)}var v=s.children;Array.isArray(v)?v.forEach((function(t,r){"Object"===Te(t)&&t.props&&(d=e(d,t,n.concat("props","children",r),o))})):"Object"===Te(v)&&v.props&&(d=e(d,v,n.concat("props","children"),o));return d}(e,e,[],t):e}function jo(e,t,r,n,o,i,a){if(t.hasItem(e)){var u=so(t.getItem(e),2),s=u[0],c=u[1],f=a?s:c,l=a?c:s,p=so(o.split("."),2),d=p[0],y=p[1],h=_o(r,d,y);Me(f,h.extract(n[d]))?i[d]=h.apply(l,d in i?i[d]:n[d]):t.removeItem(e)}}var Po=r(23),Co=function(e,t,r){if(!r.length)return!0;var n=[],o=t.events,i=new Promise((function(e){o.once("rendered",e)}));return r.forEach((function(r){var o=Sr(t,r);if(o){var a=ve(o,e);if(a){var u=_r(a),s=Object(Po.isReady)(u);s&&"function"==typeof s.then&&n.push(Promise.race([s,i.then((function(){return document.getElementById(Fr(r))&&s}))]))}}})),!n.length||Promise.all(n)};function Ao(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function To(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function Io(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function Ro(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){Io(i,n,o,a,u,"next",e)}function u(e){Io(i,n,o,a,u,"throw",e)}a(void 0)}))}}var Mo=Zn(vn("ON_PROP_CHANGE")),Do=Zn("SET_PENDING_CALLBACKS"),No=(Zn(vn("SET_REQUEST_QUEUE")),Zn(vn("SET_GRAPHS"))),Bo=Zn(vn("SET_PATHS")),Fo=Zn(vn("SET_APP_LIFECYCLE")),Lo=Zn(vn("SET_CONFIG")),qo=Zn(vn("SET_HOOKS")),Uo=Zn(vn("SET_LAYOUT")),Wo=Zn(vn("ON_ERROR")),zo=function(e){return function(t,r){return e(Wo({type:"backEnd",error:{message:t,html:r.join("\n")}}))}};function Ko(){return function(e,t){!function(e,t){var r=e.config,n=e.graphs,o=e.layout,i=e.paths,a=n.outputMap,u=n.inputMap,s=n.outputPatterns,c=n.inputPatterns,f=!r.suppress_callback_exceptions;function l(e){return"This ID was used in the callback(s) for Output(s):\n "+e.map((function(e){return e.outputs.map(Br).join(", ")})).join("\n ")}function p(e,r,n){t("ID not found in layout",["Attempting to connect a callback ".concat(r," item to component:"),' "'.concat(Fr(e),'"'),"but no components with that id exist in the layout.","","If you are assigning callbacks to components that are","generated by other callbacks (and therefore not in the","initial layout), you can suppress this exception by setting","`suppress_callback_exceptions=True`.",l(n)])}function d(e,r,n,i,a){var u=ve(r,o),s=_r(u);if(s&&s.propTypes&&!s.propTypes[n]){for(var c in s.propTypes){var f=c.length-1;if("*"===c.charAt(f)&&n.substr(0,f)===c.substr(0,f))return}var p=u.type,d=u.namespace;t("Invalid prop for this component",['Property "'.concat(n,'" was used with component ID:')," ".concat(JSON.stringify(e)),"in one of the ".concat(i," items of a callback."),"This ID is assigned to a ".concat(d,".").concat(p," component"),"in the layout, which does not support this property.",l(a)])}}function y(e,t,r,n){Qr()(i)({id:e,property:t}).forEach((function(e){d(e.id,e.path,t,r,n)}))}var h={};function m(e){var t=e.state,r=e.output;if(!h[r]){h[r]=1;t.forEach((function(t){var r=t.id,n=t.property;if("string"==typeof r){var o=Sr(i,r);o?d(r,o,n,"State",[e]):f&&p(r,"State",[e])}else wt([Cr,Ar],Ot(r)).length||y(r,n,"State",[e])}))}}function v(e,t,r){for(var n in e){var o=e[n],a=Sr(i,n);if(a)for(var u in o){var s=o[u];d(n,a,u,t,s),r&&s.forEach(m)}else f&&p(n,t,_t(Ot(o)))}}function b(e,t,r){for(var n in e){var o=e[n],i=function(e){o[e].forEach((function(n){var o=n.keys,i=n.values,a=n.callbacks;y(xt(o,i),e,t,a),r&&a.forEach(m)}))};for(var a in o)i(a)}}v(a,"Output",!0),v(u,"Input"),b(s,"Output",!0),b(c,"Input")}(t(),zo(e)),function(e,t){var r=t(),n=r.graphs,o=r.paths,i=r.layout;try{n.MultiGraph.overallOrder()}catch(t){e(Wo({type:"backEnd",error:{message:"Circular Dependencies",html:t.toString()}}))}var a=nn(n,o,i,{outputsOnly:!0});e(Xo(a))}(e,t),e(Fo(xn("HYDRATED")))}}var Go=Hn(console.warn);function Ho(){try{return{"X-CSRFToken":to.a.parse(document.cookie)._csrf_token}}catch(e){return Go(e),{}}}var Vo=Yo("REDO"),$o=Yo("UNDO"),Qo=Yo("REVERT");function Yo(e){return function(t,r){var n=r(),o=n.history,i=n.paths;t(Zn(e)());var a=("REDO"===e?o.future[0]:o.past[o.past.length-1])||{},u=a.id,s=a.props;u&&(t(Zn("UNDO_PROP_CHANGE")({itempath:Sr(i,u),props:s})),t(ci({id:u,props:s})))}}function Jo(e,t,r,n,o){if("object"===kr(i=r.id)&&It((function(e){return e.multi}),Ot(i)))return t;var i;if(1!==t.length){if(!t.length){if("string"==typeof r.id)throw new ReferenceError("A nonexistent object was used in an `"+o+"` of a Dash callback. The id of this object is `"+r.id+"` and the property is `"+r.property+"`. The string ids in the current layout are: ["+ke(e.strs).join(", ")+"]");throw console.log(e.objs),new ReferenceError("A nonexistent object was used in an `"+o+"` of a Dash callback. The id of this object is "+JSON.stringify(r.id)+(n?" with MATCH values "+n:"")+" and the property is `"+r.property+"`. The wildcard ids currently available are logged above.")}throw new ReferenceError("Multiple objects were found for an `"+o+"` of a callback that only takes one value. The id spec is "+JSON.stringify(r.id)+(n?" with MATCH values "+n:"")+" and the property is `"+r.property+"`. The objects we found are: "+JSON.stringify(nt(Un(["id","property"]),t)))}return t[0]}function Xo(e){return function(){var t=Ro(regeneratorRuntime.mark((function t(r,n){return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Zo(r,n,e);case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()}function Zo(e,t,r){return ei.apply(this,arguments)}function ei(){return(ei=Ro(regeneratorRuntime.mark((function e(t,r,n){var o,i,a,u,s,c,f,l,p,d,y,h,m,v,b,g;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return m=function(){return Zo(t,r,r().pendingCallbacks)},o=an(n),i=o.readyCallbacks,a=o.blockedCallbacks,u=r(),s=u.config,c=u.hooks,f=u.layout,l=u.paths,p={},d=i.map((function(e){var t=Xr(e),r=t.requestId,n=(0,t.getOutputs)(l),o=_t(n),i=[],a={};return o.forEach((function(e){var t=e.id,r=e.property,n=Fr(t);(a[n]=a[n]||[]).push(r),i.push(Br({id:n,property:r}))})),t.requestedOutputs=a,p[r]={allOutputs:n,allPropIds:i},t})),y=sr(d,a),t(Do(y)),h=d.map((function(e){return[e.getInputs(l),e.getState(l)]})),e.next=10,Co(f,l,gt(Lt("id",_t(h))));case 10:return v=!1,b=d.map((function(e){var n,o=e.callback,i=o.output,a=o.inputs,u=o.state,d=o.clientside_function,y=e.requestId,h=e.resolvedId,b=p[y],g=b.allOutputs,w=b.allPropIds;try{var O=g.map((function(t,r){return Jo(l,nt(Un(["id","property"]),t),e.callback.outputs[r],e.anyVals,"Output")}));n={output:i,outputs:jr(i)?O:O[0],inputs:ti(l,f,e,a,"Input"),changedPropIds:ke(e.changedPropIds)},e.callback.state.length&&(n.state=ti(l,f,e,u,"State"))}catch(e){return x(e),m()}function S(e,n){var o=on(e,r().paths,h,n);t(Do(o))}function _(e){var n=r().pendingCallbacks;if(ai(n,h,y)){var o=[];Object.entries(e).forEach((function(e){var i=Ao(e,2),a=i[0],u=i[1],s=Nr(a),c=r(),f=c.layout,l=c.paths,p=ui(t,r,s,u);if(p){var d=r().pendingCallbacks;if(d!==n&&(n=fn(n,d)),Object.keys(p).forEach((function(e){o.push(Br({id:a,property:e}))})),dr("children",p)){var y=ve(sr(Sr(l,s),["props","children"]),f);n=si(t,r,n,s,p.children,y)}var h=Ut((function(e,t){return!(t in u)}),p);if(!De(h)){var m=r(),v=m.graphs,b=m.paths;n=fi(a,h,v,b,n)}}})),S(n,Vn(o,w))}}function x(e){var o=r().pendingCallbacks;ai(o,h,y)&&S(o,w);var a=n?nt(Br,_t([n.outputs])).join(", "):i,u="Callback error updating ".concat(a);if(d){var s=d.namespace,c=d.function_name;u+=" via clientside function ".concat(s,".").concat(c)}li(e,u,t)}if(d){try{_(ii(d,n))}catch(e){x(e)}return v=!0,null}return ri(s,n,c).then(_).catch(x).then(m)})),g=Promise.all(b),e.abrupt("return",v?m().then(g):g);case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ti(e,t,r,n,o){return("Input"===o?r.getInputs:r.getState)(e).map((function(i,a){return Jo(e,i.map((function(e){var r=e.id,n=e.property,o=e.path;return{id:r,property:n,value:ve(o,t).props[n]}})),n[a],r.anyVals,o)}))}function ri(e,t,r){return null!==r.request_pre&&r.request_pre(t),fetch("".concat(mr(e),"_dash-update-component"),tr(e.fetch,{method:"POST",headers:Ho(),body:JSON.stringify(t)})).then((function(e){var n=e.status;if(n===ro)return e.json().then((function(e){var n=e.multi,o=e.response;if(null!==r.request_post&&r.request_post(t,o),n)return o;var i,a,u,s=t.output,c=s.substr(0,s.lastIndexOf("."));return i={},a=c,u=o.props,a in i?Object.defineProperty(i,a,{value:u,enumerable:!0,configurable:!0,writable:!0}):i[a]=u,i}));if(n===no)return{};throw e}))}var ni=function(e){return Array.isArray(e)?Lt("value",e):e.value},oi=function(e,t){return Array.isArray(e)?yt(e,t):[[e,t]]};function ii(e,t){var r=window.dash_clientside=window.dash_clientside||{};r.no_update||(Object.defineProperty(r,"no_update",{value:{description:"Return to prevent updating an Output."},writable:!1}),Object.defineProperty(r,"PreventUpdate",{value:{description:"Throw to prevent updating all Outputs."},writable:!1}));var n,o=t.inputs,i=t.outputs,a=t.state;try{var u,s=e.namespace,c=e.function_name,f=o.map(ni);a&&(f=sr(f,a.map(ni))),n=(u=r[s])[c].apply(u,To(f))}catch(e){if(e===r.PreventUpdate)return{};throw e}if("Promise"===Te(n))throw new Error("The clientside function returned a Promise. Promises are not supported in Dash clientside right now, but may be in the future.");var l={};return oi(i,n).forEach((function(e){var t=Ao(e,2),n=t[0],o=t[1];oi(n,o).forEach((function(e){var t=Ao(e,2),n=t[0],o=t[1],i=n.id,a=n.property,u=Fr(i),s=l[u]=l[u]||{};o!==r.no_update&&(s[a]=o)}))})),l}function ai(e,t,r){var n=e.find(rr("resolvedId",t));return n&&n.requestId===r}function ui(e,t,r,n){var o=t(),i=o.layout,a=Sr(o.paths,r);if(!a)return!1;var u=Eo({props:function(e,t,r){var n=ko(e),o=n.canPersist,i=n.id,a=n.props,u=n.persistence,s=n.persisted_props,c=n.persistence_type,f=n.element,l=function(e,r){return e in t?t[e]:r},p=l("persistence",u);if(!o||!u&&!p)return t;var d=l("persistence_type",c),y=l("persisted_props",s),h=p!==u||d!==c||y!==s,m=function(e){return!(e.split(".")[0]in t)},v={},b=a;if(h&&u){var g=Oo(c,r);pe((function(e){return jo(xo(i,e,u),g,f,a,e,v,!0)}),zt(m,s)),b=At(a,v)}if(p){var w=Oo(d,r);h&&pe((function(e){return jo(xo(i,e,p),w,f,b,e,v)}),zt(m,y));var O=f.persistenceTransforms||{};for(var S in t){var _=O[S];if(_)for(var x in _)w.removeItem(xo(i,"".concat(S,".").concat(x),p));else w.removeItem(xo(i,S,p))}}return h?At(t,v):t}(ve(a,i),n,e)},e).props;return e(Mo({itempath:a,props:u,source:"response"})),u}function si(e,t,r,n,o,i){var a=t(),u=a.paths,s=a.graphs,c=sr(Sr(u,n),["props","children"]),f=Or(o,c,u);e(Bo(f));var l=function(e,t){var r=[],n=e.map((function(e){var n=e.changedPropIds,o=e.getOutputs,i=e.resolvedId;if(!_t(o(t)).length)return r.push(i),e;var a=!1,u=Ut((function(e,r){return!!Sr(t,Dr(r).id)||(a=!0,!1)}),n);return a?Et("changedPropIds",u,e):e}));return r.forEach((function(r){var o=n.find(rr("resolvedId",r));o&&(n=on(e,t,r,_t(o.getOutputs(t)).map(Br)))})),n}(r,f),p=fn(nn(s,f,o,{chunkPath:c}),nn(s,u,i,{removedArrayInputsOnly:!0,newPaths:f,chunkPath:c}));return fn(l,p)}function ci(e){var t=e.id,r=e.props;return(function(){var e=Ro(regeneratorRuntime.mark((function e(n,o){var i,a,u,s,c;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:i=o(),a=i.graphs,u=i.paths,s=i.pendingCallbacks,c=fi(t,r,a,u,s),n(Xo(c));case 3:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}())}function fi(e,t,r,n,o){var i=ke(t),a=o;return i.forEach((function(t){var o=rn(r,n,e,t);o.length&&(a=fn(a,sn(r,n,o)))})),a}function li(e,t,r){if(e&&"function"==typeof e.text)e.text().then((function(e){r(Wo({type:"backEnd",error:{message:t,html:e}}))}));else{var n=e instanceof Error?e:{message:t,html:e};r(Wo({type:"backEnd",error:n}))}}var pi=["String","Number","Null","Boolean"],di=function(e){return ut(Te(e),pi)},yi={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};function hi(e,t){return!yi[e]&&"number"==typeof t&&0!==t?t+"px":t}function mi(e,t){return Object.keys(e).reduce((function(r,n){return r[n]=t(e[n],n),r}),{})}function vi(e){return mi(e,(function(t,r){return hi(r,e[r])+" !important"}))}var bi=r(9),gi=r(6);function wi(e,t,r){if(!t)return"";var n,o=mi(t,(function(e,t){return hi(t,e)})),i=Object(gi.b)(o,r),a=Object(bi.b)(i);return e+"{"+(n=a,Object.keys(n).map((function(e){return e+": "+n[e]+";"})).join("\n"))+"}"}var Oi=function(e){return null==e?"main":e.toString()},Si=function(e,t,r){var n=Oi(t);return!!e&&!!e._radiumStyleState&&!!e._radiumStyleState[n]&&e._radiumStyleState[n][r]},_i=function(e){return"string"==typeof e.ref?e.ref:e.key},xi=function(e){return e._lastRadiumState||e.state&&e.state._radiumStyleState||{}};function ki(e){if(!e)return"";for(var t=5381,r=e.length-1;r;)t=33*t^e.charCodeAt(r),r-=1;return(t>>>0).toString(16)}function Ei(e){return(Ei="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ji(e){return e&&e.constructor===Object&&e.toString===Object.prototype.toString}function Pi(e){var t={};return e.forEach((function(e){e&&"object"===Ei(e)&&(Array.isArray(e)&&(e=Pi(e)),Object.keys(e).forEach((function(r){if(ji(e[r])&&ji(t[r])){if(0===r.indexOf("@media"))for(var n=r;;)if(!t[n+=" "])return void(t[n]=e[r]);t[r]=Pi([t[r],e[r]])}else t[r]=e[r]})))})),t}var Ci=[],Ai=!1;function Ti(){Ci.forEach((function(e){e()}))}var Ii,Ri=function(e){return-1===Ci.indexOf(e)&&Ci.push(e),Ai||(window.addEventListener("mouseup",Ti),Ai=!0),{remove:function(){var t=Ci.indexOf(e);Ci.splice(t,1),0===Ci.length&&Ai&&(window.removeEventListener("mouseup",Ti),Ai=!1)}}},Mi=function(e){return":hover"===e||":active"===e||":focus"===e};function Di(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ni(e,t){return Object.keys(e).filter((function(r){return t(e[r],r)})).reduce((function(t,r){return t[r]=e[r],t}),{})}var Bi={checkProps:function(){},keyframes:function(e){var t=e.addCSS,r=e.config,n=e.style,o=function(e){var n=e.__process(r.userAgent),o=n.animationName,i=n.css;return t(i),o};return{style:Object.keys(n).reduce((function(e,t){var r=n[t],i=Array.isArray(r);return"animationName"===t&&r&&(r.__radiumKeyframes||i)&&(r=i?r.map(o).join(", "):o(r)),e[t]=r,e}),{})}},mergeStyleArray:function(e){var t=e.style,r=e.mergeStyles;return{style:Array.isArray(t)?r(t):t}},prefix:function(e){var t=e.config,r=e.style;return{style:Object(gi.b)(r,t.userAgent)}},removeNestedStyles:function(e){var t=e.isNestedStyle,r=e.style;return{style:Object.keys(r).reduce((function(e,n){var o=r[n];return t(o)||(e[n]=o),e}),{})}},resolveInteractionStyles:function(e){var t=e.ExecutionEnvironment,r=e.getComponentField,n=e.getState,o=e.mergeStyles,i=e.props,a=e.setState,u=e.style,s={},c={};if(u[":hover"]){var f=i.onMouseEnter;c.onMouseEnter=function(e){f&&f(e),a(":hover",!0)};var l=i.onMouseLeave;c.onMouseLeave=function(e){l&&l(e),a(":hover",!1)}}if(u[":active"]){var p=i.onMouseDown;c.onMouseDown=function(e){p&&p(e),s._lastMouseDown=Date.now(),a(":active","viamousedown")};var d=i.onKeyDown;c.onKeyDown=function(e){d&&d(e)," "!==e.key&&"Enter"!==e.key||a(":active","viakeydown")};var y=i.onKeyUp;c.onKeyUp=function(e){y&&y(e)," "!==e.key&&"Enter"!==e.key||a(":active",!1)}}if(u[":focus"]){var h=i.onFocus;c.onFocus=function(e){h&&h(e),a(":focus",!0)};var m=i.onBlur;c.onBlur=function(e){m&&m(e),a(":focus",!1)}}u[":active"]&&!r("_radiumMouseUpListener")&&t.canUseEventListeners&&(s._radiumMouseUpListener=Ri((function(){Object.keys(r("state")._radiumStyleState).forEach((function(e){"viamousedown"===n(":active",e)&&a(":active",!1,e)}))})));var v=i.disabled?[u[":disabled"]]:Object.keys(u).filter((function(e){return Mi(e)&&n(e)})).map((function(e){return u[e]})),b=o([u].concat(v));return b=Object.keys(b).reduce((function(e,t){return Mi(t)||":disabled"===t||(e[t]=b[t]),e}),{}),{componentFields:s,props:c,style:b}},resolveMediaQueries:function(e){var t=e.ExecutionEnvironment,r=e.addCSS,n=e.appendImportantToEachValue,o=e.config,i=e.cssRuleSetToString,a=e.getComponentField,u=e.getGlobalState,s=e.hash,c=e.isNestedStyle,f=e.mergeStyles,l=e.props,p=e.setState,d=e.style,y=function(e){return Object.keys(e).reduce((function(t,r){return 0!==r.indexOf("@media")&&(t[r]=e[r]),t}),{})}(d),h=function(e){var t=e.addCSS,r=e.appendImportantToEachValue,n=e.cssRuleSetToString,o=e.hash,i=e.isNestedStyle,a=e.style,u=e.userAgent,s="";return Object.keys(a).filter((function(e){return 0===e.indexOf("@media")})).map((function(e){var c=r(Ni(a[e],(function(e){return!i(e)})));if(Object.keys(c).length){var f=n("",c,u),l="rmq-"+o(e+f);t(e+"{ ."+l+f+"}"),s+=(s?" ":"")+l}})),s}({addCSS:r,appendImportantToEachValue:n,cssRuleSetToString:i,hash:s,isNestedStyle:c,style:d,userAgent:o.userAgent}),m=h?{className:h+(l.className?" "+l.className:"")}:null,v=o.matchMedia||function(e){return void 0===Ii&&(Ii=!!e.canUseDOM&&!!window&&!!window.matchMedia&&function(e){return window.matchMedia(e)}||null),Ii}(t);if(!v)return{props:m,style:y};var b=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){Di(e,t,r[t])}))}return e}({},a("_radiumMediaQueryListenersByQuery")),g=u("mediaQueryListsByQuery")||{};return Object.keys(d).filter((function(e){return 0===e.indexOf("@media")})).map((function(e){var t=Ni(d[e],c);if(Object.keys(t).length){var r=function(e){var t=e.listener,r=e.listenersByQuery,n=e.matchMedia,o=e.mediaQueryListsByQuery,i=e.query,a=o[i=i.replace("@media ","")];return!a&&n&&(o[i]=a=n(i)),r&&r[i]||(a.addListener(t),r[i]={remove:function(){a.removeListener(t)}}),a}({listener:function(){return p(e,r.matches,"_all")},listenersByQuery:b,matchMedia:v,mediaQueryListsByQuery:g,query:e});r.matches&&(y=f([y,t]))}})),{componentFields:{_radiumMediaQueryListenersByQuery:b},globalState:{mediaQueryListsByQuery:g},props:m,style:y}},visited:function(e){var t=e.addCSS,r=e.appendImportantToEachValue,n=e.config,o=e.cssRuleSetToString,i=e.hash,a=e.props,u=e.style,s=a.className,c=Object.keys(u).reduce((function(e,a){var c=u[a];if(":visited"===a){c=r(c);var f=o("",c,n.userAgent),l="rad-"+i(f);t("."+l+":visited"+f),s=(s?s+" ":"")+l}else e[a]=c;return e}),{});return{props:s===a.className?null:{className:s},style:c}}},Fi=r(8),Li=r.n(Fi);function qi(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){Ui(e,t,r[t])}))}return e}function Ui(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Wi(e){return(Wi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var zi={plugins:[Bi.mergeStyleArray,Bi.checkProps,Bi.resolveMediaQueries,Bi.resolveInteractionStyles,Bi.keyframes,Bi.visited,Bi.removeNestedStyles,Bi.prefix,Bi.checkProps]},Ki={},Gi=null,Hi=function(e){return e.type&&!e.type._isRadiumEnhanced},Vi=function(e){var t=e.children,r=e.component,n=e.config,i=e.existingKeyMap,a=e.extraStateKeyMap;if(!t)return t;var u=Wi(t);if("string"===u||"number"===u)return t;if("function"===u)return function(){var e=t.apply(this,arguments);if(o.a.isValidElement(e)){var u=_i(e);delete a[u];var s=Gi(r,e,n,i,!0,a),c=s.element;return c}return e};if(1===o.a.Children.count(t)&&t.type){var s=o.a.Children.only(t),c=_i(s);return delete a[c],Gi(r,s,n,i,!0,a).element}return o.a.Children.map(t,(function(e){if(o.a.isValidElement(e)){var t=_i(e);return delete a[t],Gi(r,e,n,i,!0,a).element}return e}))},$i=function(e){var t=e.component,r=e.config,n=e.existingKeyMap,i=e.props,a=e.extraStateKeyMap,u=i;return Object.keys(i).forEach((function(e){if("children"!==e){var s=i[e];if(o.a.isValidElement(s)){var c=_i(s);delete a[c],u=qi({},u);var f=Gi(t,s,r,n,!0,a).element;u[e]=f}}})),u},Qi=function(e){var t=e.component,r=e.config,n=e.existingKeyMap,i=e.props,a=e.renderedElement;if(!o.a.isValidElement(a)||"string"!=typeof a.type||!i.style)return i;var u=i,s=r.plugins||zi.plugins,c=t.constructor.displayName||t.constructor.name,f=function(e){var t=e.componentName,r=e.existingKeyMap,n=e.renderedElement,o=_i(n),i=Oi(o),a=!1;return function(){if(a)return i;var e;if(a=!0,r[i])throw"string"==typeof n.type?e=n.type:n.type.constructor&&(e=n.type.constructor.displayName||n.type.constructor.name),new Error("Radium requires each element with interactive styles to have a unique key, set using either the ref or key prop. "+(o?'Key "'+o+'" is a duplicate.':"Multiple elements have no key specified.")+' Component: "'+t+'". '+(e?'Element: "'+e+'".':""));return r[i]=!0,i}}({renderedElement:a,existingKeyMap:n,componentName:c}),l=function(e){return t[e]},p=function(e){return Ki[e]},d=function(e,r){return Si(t.state,r||f(),e)},y=function(e,r,n){return function(e,t,r,n){if(e._radiumIsMounted){var o={_radiumStyleState:qi({},xi(e))};o._radiumStyleState[t]=qi({},o._radiumStyleState[t]),o._radiumStyleState[t][r]=n,e._lastRadiumState=o._radiumStyleState,e.setState(o)}}(t,n||f(),e,r)},h=function(e){var r=t._radiumStyleKeeper;if(!r)throw new Error("To use plugins requiring `addCSS` (e.g. keyframes, media queries), please wrap your application in the StyleRoot component. Component name: `"+c+"`.");return r.addCSS(e)},m=i.style;return s.forEach((function(e){var n=e({ExecutionEnvironment:Li.a,addCSS:h,appendImportantToEachValue:vi,componentName:c,config:r,cssRuleSetToString:wi,getComponentField:l,getGlobalState:p,getState:d,hash:ki,mergeStyles:Pi,props:u,setState:y,isNestedStyle:ji,style:m})||{};m=n.style||m,u=n.props&&Object.keys(n.props).length?qi({},u,n.props):u;var o=n.componentFields||{};Object.keys(o).forEach((function(e){t[e]=o[e]}));var i=n.globalState||{};Object.keys(i).forEach((function(e){Ki[e]=i[e]}))})),m!==i.style&&(u=qi({},u,{style:m})),u},Yi=function(e,t,r){return"string"==typeof e.type&&(t=qi({},t,{"data-radium":!0})),o.a.cloneElement(e,t,r)},Ji=Gi=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:zi,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments.length>5?arguments[5]:void 0;if(!i){var a=xi(e);i=Object.keys(a).reduce((function(e,t){return"main"!==t&&(e[t]=!0),e}),{})}if(Array.isArray(t)&&!t.props){var u=t.map((function(t){if(i){var a=_i(t);delete i[a]}return Gi(e,t,r,n,o,i).element}));return{extraStateKeyMap:i,element:u}}if(!t||t.props&&t.props["data-radium"]||o&&!Hi(t))return{extraStateKeyMap:i,element:t};var s=t.props.children,c=Vi({children:s,component:e,config:r,existingKeyMap:n,extraStateKeyMap:i}),f=$i({component:e,config:r,existingKeyMap:n,extraStateKeyMap:i,props:t.props});if(f=Qi({component:e,config:r,existingKeyMap:n,props:f,renderedElement:t}),c===s&&f===t.props)return{extraStateKeyMap:i,element:t};var l=Yi(t,f!==t.props?f:{},c);return{extraStateKeyMap:i,element:l}};function Xi(){return(Xi=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var Zi=o.a.createContext(void 0),ea=o.a.createContext(void 0);function ta(e){var t=o.a.forwardRef((function(t,r){var i=Object(n.useContext)(ea),a=Object(n.useContext)(Zi);return o.a.createElement(e,Xi({ref:r},t,{radiumConfigContext:i,styleKeeperContext:a}))}));return t.displayName="withRadiumContexts(".concat(e.displayName||e.name||"Component",")"),b()(t,e)}function ra(e){return(ra="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function na(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function oa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ia(e,t){return!t||"object"!==ra(t)&&"function"!=typeof t?aa(e):t}function aa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ua(e,t,r){return(ua="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,r){var n=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=sa(e)););return e}(e,t);if(n){var o=Object.getOwnPropertyDescriptor(n,t);return o.get?o.get.call(r):o.value}})(e,t,r||e)}function sa(e){return(sa=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ca(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&fa(e,t)}function fa(e,t){return(fa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function la(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function pa(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){da(e,t,r[t])}))}return e}function da(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ya(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function ha(e){var t=function(e,t){if("object"!==ra(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!==ra(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===ra(t)?t:String(t)}var ma,va,ba=["arguments","callee","caller","length","name","prototype","type"];function ga(e){var t=e.prototype||{};return!(e.isReactComponent||t.isReactComponent||e.render||t.render)}function wa(e){return"function"==typeof e&&/^\s*class\s+/.test(e.toString())}function Oa(e,t){va.forEach((function(r){var n=Object.getOwnPropertyDescriptor(e,r),o=(n||{}).value;if(o){var i=(Object.getOwnPropertyDescriptor(ma,r)||{}).value;t.prototype[r]||o===i||(n&&Object.defineProperty(t.prototype,r,n),delete e[r])}}))}function Sa(e){if(e._extraRadiumStateKeys&&e._extraRadiumStateKeys.length>0){var t=e._extraRadiumStateKeys.reduce((function(e,t){e[t];return ya(e,[t].map(ha))}),xi(e));e._lastRadiumState=t,e.setState({_radiumStyleState:t})}}function _a(e){var t=e._radiumMouseUpListener,r=e._radiumMediaQueryListenersByQuery;e._radiumIsMounted=!1,t&&t.remove(),r&&Object.keys(r).forEach((function(e){r[e].remove()}),e)}function xa(e,t,r){var n=e||t||r;return r&&n!==r&&(n=pa({},r,n)),n}function ka(e,t,r,n){var i=Ji(e,t,r),a=i.extraStateKeyMap,u=i.element;return e._extraRadiumStateKeys=Object.keys(a),n?o.a.createElement(ea.Provider,{value:n},u):u}function Ea(e,t){var r=o.a.forwardRef((function(r,o){var i=r.radiumConfig,a=ya(r,["radiumConfig"]),u=Object(n.useContext)(ea),s=Object(n.useContext)(Zi),c=la(Object(n.useState)({}),2),f=c[0],l=c[1],p=Object(n.useRef)({state:f,setState:l,_radiumMediaQueryListenersByQuery:void 0,_radiumMouseUpListener:void 0,_radiumIsMounted:!0,_lastRadiumState:void 0,_extraRadiumStateKeys:void 0,_radiumStyleKeeper:s}).current;p.state=f,Object(n.useEffect)((function(){return function(){_a(p)}}),[p]);var d=p._extraRadiumStateKeys&&p._extraRadiumStateKeys.length>0;Object(n.useEffect)((function(){Sa(p)}),[d,p]);var y=e(a,o),h=xa(i,u,t);return ka(p,y,h,i)}));return r._isRadiumEnhanced=!0,r.defaultProps=e.defaultProps,b()(r,e)}function ja(e,t,r){var n,o,i=function(e){function n(){var e;na(this,n),(e=ia(this,sa(n).apply(this,arguments))).state=e.state||{},e._radiumStyleKeeper=e.props.styleKeeperContext,e._radiumMediaQueryListenersByQuery=e._radiumMediaQueryListenersByQuery,e._radiumMouseUpListener=e._radiumMouseUpListener,e._radiumIsMounted=!0,e._lastRadiumState=void 0,e._extraRadiumStateKeys=void 0,e.state._radiumStyleState={};var r=aa(e);return Oa(r,t),e}var o,i,a;return ca(n,e),o=n,(i=[{key:"componentDidUpdate",value:function(e,t,r){ua(sa(n.prototype),"componentDidUpdate",this)&&ua(sa(n.prototype),"componentDidUpdate",this).call(this,e,t,r),Sa(this)}},{key:"componentWillUnmount",value:function(){ua(sa(n.prototype),"componentWillUnmount",this)&&ua(sa(n.prototype),"componentWillUnmount",this).call(this),_a(this)}},{key:"render",value:function(){return ka(this,ua(sa(n.prototype),"render",this).call(this),xa(this.props.radiumConfig,this.props.radiumConfigContext,r),this.props.radiumConfig)}}])&&oa(o.prototype,i),a&&oa(o,a),n}(t);return i._isRadiumEnhanced=!0,ma=i.prototype,va=Object.getOwnPropertyNames(ma).filter((function(e){return"constructor"!==e&&"function"==typeof ma[e]})),n=e,o=i,Object.getOwnPropertyNames(n).forEach((function(e){if(ba.indexOf(e)<0&&!o.hasOwnProperty(e)){var t=Object.getOwnPropertyDescriptor(n,e);t&&Object.defineProperty(o,e,t)}})),i.propTypes&&i.propTypes.style&&(i.propTypes=pa({},i.propTypes,{style:s.a.oneOfType([s.a.array,s.a.object])})),i.displayName=e.displayName||e.name||"Component",ta(i)}function Pa(e){return e=function(e){function t(){var t=Reflect.construct(e,arguments,this.constructor);return t}return Reflect.setPrototypeOf(t.prototype,e.prototype),Reflect.setPrototypeOf(t,e),t}(e)}var Ca=Object(n.forwardRef)((function(){return null})).$$typeof;function Aa(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Ca&&e.$$typeof===Ca)return Ea(e.render,t);if("function"!=typeof e)return Ta(t,e);var r=e;if(ga(r))return Ea(r,t);var n=r;return wa(n)&&(n=Pa(n)),n===r&&(n=function(e){function t(){return na(this,t),ia(this,sa(t).apply(this,arguments))}return ca(t,e),t}(n)),ja(r,n,t)}function Ta(e,t){var r=pa({},e,t);return function(e){return Aa(e,r)}}function Ia(e){return(Ia="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ra(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ma(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Da(e,t){return!t||"object"!==Ia(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Na(e){return(Na=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ba(e,t){return(Ba=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Fa=function(e){function t(){return Ra(this,t),Da(this,Na(t).apply(this,arguments))}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ba(e,t)}(t,e),r=t,(n=[{key:"_buildStyles",value:function(e){var t=this,r=this.props.radiumConfig&&this.props.radiumConfig.userAgent||this.props.radiumConfigContext&&this.props.radiumConfigContext.userAgent,n=this.props.scopeSelector,o=Object.keys(e).reduce((function(t,r){return"object"!==Ia(e[r])&&(t[r]=e[r]),t}),{});return(Object.keys(o).length?wi(n||"",o,r):"")+Object.keys(e).reduce((function(o,i){var a=e[i];return"mediaQueries"===i?o+=t._buildMediaQueryString(a):"object"===Ia(e[i])&&(o+=wi(n?i.split(",").map((function(e){return n+" "+e.trim()})).join(","):i,a,r)),o}),"")}},{key:"_buildMediaQueryString",value:function(e){var t=this,r="";return Object.keys(e).forEach((function(n){r+="@media "+n+"{"+t._buildStyles(e[n])+"}"})),r}},{key:"render",value:function(){if(!this.props.rules)return null;var e=this._buildStyles(this.props.rules);return o.a.createElement("style",{dangerouslySetInnerHTML:{__html:e}})}}])&&Ma(r.prototype,n),i&&Ma(r,i),t}(n.PureComponent);Fa.propTypes={radiumConfig:s.a.object,rules:s.a.object,scopeSelector:s.a.string},Fa.defaultProps={scopeSelector:""};var La=ta(Fa);function qa(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}var Ua=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._userAgent=void 0,this._listeners=void 0,this._cssSet=void 0,this._userAgent=t,this._listeners=[],this._cssSet={}}var t,r,n;return t=e,(r=[{key:"subscribe",value:function(e){var t=this;return-1===this._listeners.indexOf(e)&&this._listeners.push(e),{remove:function(){var r=t._listeners.indexOf(e);r>-1&&t._listeners.splice(r,1)}}}},{key:"addCSS",value:function(e){var t=this;return this._cssSet[e]||(this._cssSet[e]=!0,this._emitChange()),{remove:function(){delete t._cssSet[e],t._emitChange()}}}},{key:"getCSS",value:function(){return Object.keys(this._cssSet).join("\n")}},{key:"_emitChange",value:function(){this._listeners.forEach((function(e){return e()}))}}])&&qa(t.prototype,r),n&&qa(t,n),e}();function Wa(e){return(Wa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function za(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ka(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function Ga(e,t){return!t||"object"!==Wa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ha(e){return(Ha=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Va(e,t){return(Va=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var $a=ta(function(e){function t(){var e;if(za(this,t),(e=Ga(this,Ha(t).apply(this,arguments))).styleKeeper=void 0,e._subscription=void 0,e._root=void 0,e._css=void 0,e._onChange=function(){var t=e.styleKeeper.getCSS();if(t!==e._css){if(!e._root)throw new Error("No root style object found, even after StyleSheet mount.");e._root.innerHTML=t,e._css=t}},!e.props.styleKeeperContext)throw new Error("StyleRoot is required to use StyleSheet");return e.styleKeeper=e.props.styleKeeperContext,e._css=e.styleKeeper.getCSS(),e}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Va(e,t)}(t,e),r=t,(n=[{key:"componentDidMount",value:function(){this._subscription=this.styleKeeper.subscribe(this._onChange),this._onChange()}},{key:"shouldComponentUpdate",value:function(){return!1}},{key:"componentWillUnmount",value:function(){this._subscription&&this._subscription.remove()}},{key:"render",value:function(){var e=this;return o.a.createElement("style",{dangerouslySetInnerHTML:{__html:this._css},ref:function(t){e._root=t}})}}])&&Ka(r.prototype,n),i&&Ka(r,i),t}(n.Component));function Qa(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var Ya=Aa((function(e){var t=e.children,r=Qa(e,["children"]);return o.a.createElement("div",r,t,o.a.createElement($a,null))})),Ja=function(e){var t=e.radiumConfig,r=Object(n.useContext)(ea),i=Object(n.useRef)(function(e,t){var r=e&&e.userAgent||t&&t.userAgent;return new Ua(r)}(t,r));return o.a.createElement(Zi.Provider,{value:i.current},o.a.createElement(Ya,e))};function Xa(e){return Aa(e)}Xa.Plugins=Bi,Xa.Style=La,Xa.StyleRoot=Ja,Xa.getState=Si,Xa.keyframes=function(e,t){return{__radiumKeyframes:!0,__process:function(r){var n=Object(gi.a)(r),o=Object.keys(e).map((function(t){return wi(t,e[t],r)})).join("\n"),i=(t?t+"-":"")+"radium-animation-"+ki(o);return{css:"@"+n+" "+i+" {\n"+o+"\n}\n",animationName:i}}}};var Za=Xa;function eu(e){return(eu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ru(e,t){return!t||"object"!==eu(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function nu(e){return(nu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ou(e,t){return(ou=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var iu=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=ru(this,nu(t).call(this,e))).state={myID:e.componentId,oldChildren:null,hasError:!1},r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ou(e,t)}(t,e),r=t,o=[{key:"getDerivedStateFromError",value:function(e){return{hasError:!0}}}],(n=[{key:"componentDidCatch",value:function(e,t){var r=this.props.dispatch;r(Wo({myID:this.state.myID,type:"frontEnd",error:e,info:t})),r(Qo)}},{key:"componentDidUpdate",value:function(e,t){var r=e.children;this.state.hasError||r===t.oldChildren||r===this.props.children||this.setState({oldChildren:r})}},{key:"render",value:function(){var e=this.state,t=e.hasError,r=e.oldChildren;return t?r:this.props.children}}])&&tu(r.prototype,n),o&&tu(r,o),t}(n.Component);iu.propTypes={children:s.a.object,componentId:s.a.string,error:s.a.object,dispatch:s.a.func};var au=re((function(e){return{error:e.error}}),(function(e){return{dispatch:e}}))(Za(iu)),uu=r(52),su=r.n(uu);function cu(e){return(cu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fu(e){return(fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function lu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function pu(e){return(pu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function du(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yu(e,t){return(yu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hu(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function mu(e){if("Array"===Te(e))throw new Error("The children property of a component is a list of lists, instead of just a list. Check the component that has the following contents, and remove one of the levels of nesting: \n"+JSON.stringify(e,null,2));if("Object"===Te(e)&&!(dr("namespace",e)&&dr("type",e)&&dr("props",e)))throw new Error("An object was provided as `children` instead of a component, string, or number (or list of those). Check the children property that looks something like:\n"+JSON.stringify(e,null,2))}var vu=function(e,t){return di(e)?e:o.a.createElement(_u,{key:e&&e.props&&Fr(e.props.id),_dashprivate_layout:e,_dashprivate_path:t})};function bu(e){var t=e.element,r=e.extraProps,n=e.props,o=e.children,i=e.type,a=function(e,t,r,n,o){var i=[];for(var a in e)if(e.hasOwnProperty(a)){var u=void 0;try{"function"!=typeof e[a]?(u=Error((n||"React class")+": "+r+" type `"+a+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+cu(e[a])+"`.")).name="Invariant Violation":u=e[a](t,a,n,r,null,su.a)}catch(e){u=e}if(!u||u instanceof Error||i.push((n||"React class")+": type specification of "+r+" `"+a+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+cu(u)+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),u instanceof Error){var s=o&&o()||"";i.push("Failed "+r+" type: "+u.message+s)}}return i.join("\n\n")}(t.propTypes,n,"component prop",t);return a&&function(e,t,r){var n,o=e.split("`");if(ut("is marked as required",e)){var i=o[1];n="".concat(i," in ").concat(r),t.id&&(n+=' with ID "'.concat(t.id,'"')),n+=" is required but it was not provided."}else if(ut("Bad object",e))n=e.split("supplied to ")[0]+"supplied to ".concat(r)+".\nBad"+e.split(".\nBad")[1];else{if(!ut("Invalid ",e)||!ut(" supplied to ",e))throw new Error(e);var a=o[1];if(n="Invalid argument `".concat(a,"` passed into ").concat(r),t.id&&(n+=' with ID "'.concat(t.id,'"')),n+=".",ut(", expected ",e)){var u=e.split(", expected ")[1];n+="\nExpected ".concat(u)}if(ut(" of type `",e)){var s=e.split(" of type `")[1].split("`")[0];n+="\nWas supplied type `".concat(s,"`.")}if(dr(a,t)){var c=JSON.stringify(t[a],null,2);c&&(ut("\n",c)?n+="\nValue provided: \n".concat(c):n+="\nValue provided: ".concat(c))}}throw new Error(n)}(a,n,i),gu(t,n,r,o)}function gu(e,t,r,n){var i=At(t,r);return Array.isArray(n)?o.a.createElement.apply(o.a,[e,i].concat(hu(n))):o.a.createElement(e,i,n)}bu.propTypes={children:s.a.any,element:s.a.any,layout:s.a.any,props:s.a.any,extraProps:s.a.any,id:s.a.string};var wu=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=function(e,t){return!t||"object"!==fu(t)&&"function"!=typeof t?du(e):t}(this,pu(t).call(this,e))).setProps=r.setProps.bind(du(r)),r}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&yu(e,t)}(t,e),r=t,(n=[{key:"setProps",value:function(e){var t=this.props,r=t._dashprivate_graphs,n=t._dashprivate_dispatch,o=t._dashprivate_path,i=t._dashprivate_layout,a=this.getLayoutProps(),u=a.id,s=Ut((function(e,t){return!Me(e,a[t])}),e);if(!De(s)){var c=function(e,t,r){if(!(e&&r&&t.length))return[];if("string"==typeof e){var n=r.inputMap[e];return n?t.filter((function(e){return n[e]})):[]}var o=Object.keys(e).sort(),i=ot(o,e),a=o.join(","),u=r.inputPatterns[a];return u?t.filter((function(e){var t=u[e];return t&&t.some((function(e){return Vr(o,i,e.values)}))})):[]}(u,ke(s),r);!function(e,t,r){var n=ko(e),o=n.canPersist,i=n.id,a=n.props,u=n.element,s=n.persistence,c=n.persisted_props,f=n.persistence_type;o&&s&&pe((function(e){var n=so(e.split("."),2),o=n[0],c=n[1];if(void 0!==t[o]){var l=Oo(f,r),p=_o(u,o,c).extract,d=xo(i,e,s),y=p(a[o]),h=p(t[o]);if(y!==h){l.hasItem(d)&&(y=l.getItem(d)[1]);var m=void 0===y?[h]:[h,y];l.setItem(d,m,r)}}}),c)}(i,e,n),n(Mo({props:s,itempath:o})),c.length&&n(ci({id:u,props:Un(c,s)}))}}},{key:"getChildren",value:function(e,t){return lr(e)?null:Array.isArray(e)?Wn(nt)((function(e,r){return vu(e,sr(t,["props","children",r]))}),e):vu(e,sr(t,["props","children"]))}},{key:"getComponent",value:function(e,t,r,n){var i=this.props._dashprivate_config;if(De(e))return null;if(di(e))return e;mu(e);var a=_r(e),u=qt("children",e.props);"Object"===Te(u.id)&&(u.id=Fr(u.id));var s={loading_state:r,setProps:n};return o.a.createElement(au,{componentType:e.type,componentId:u.id,key:u.id},i.props_check?o.a.createElement(bu,{children:t,element:a,props:u,extraProps:s,type:e.type}):gu(a,u,s,t))}},{key:"shouldComponentUpdate",value:function(e){var t=e._dashprivate_layout,r=e._dashprivate_loadingState;return t!==this.props._dashprivate_layout||r.is_loading!==this.props._dashprivate_loadingState.is_loading}},{key:"getLayoutProps",value:function(){return Gn({},"props",this.props._dashprivate_layout)}},{key:"render",value:function(){var e=this.props,t=e._dashprivate_layout,r=e._dashprivate_loadingState,n=e._dashprivate_path,o=this.getLayoutProps(),i=this.getChildren(o.children,n);return this.getComponent(t,i,r,this.setProps)}}])&&lu(r.prototype,n),i&&lu(r,i),t}(n.Component);function Ou(e){return mu(e),_r(e)._dashprivate_isLoadingComponent}function Su(e,t){var r,n,o=Ou(e)?function(e){for(var t=[],r=[e];r.length;){var n=r.shift(),o=n&&n.props;if(o){var i=o.children,a=o.id;if(a&&t.push(a),i){var u=zt((function(e){return!di(e)&&!Ou(e)}),Array.isArray(i)?i:[i]);r.push.apply(r,hu(u))}}}return t}(e):e&&e.props.id&&[e.props.id],i=!1;if(t&&t.length&&o&&o.length){var a=o.map(Fr);t.forEach((function(e){var t=e.requestId,o=e.requestedOutputs;void 0!==t&&a.forEach((function(e){var t=o[e];t&&(i=!0,n=e,r=t[0])}))}))}return{is_loading:i,prop_name:r,component_name:n}}wu.propTypes={_dashprivate_graphs:s.a.any,_dashprivate_dispatch:s.a.func,_dashprivate_layout:s.a.object,_dashprivate_loadingState:s.a.object,_dashprivate_config:s.a.object,_dashprivate_path:s.a.array};var _u=re((function(e){return{graphs:e.graphs,pendingCallbacks:e.pendingCallbacks,config:e.config}}),(function(e){return{dispatch:e}}),(function(e,t,r){return{_dashprivate_graphs:e.graphs,_dashprivate_dispatch:t.dispatch,_dashprivate_layout:r._dashprivate_layout,_dashprivate_path:r._dashprivate_path,_dashprivate_loadingState:Su(r._dashprivate_layout,e.pendingCallbacks),_dashprivate_config:e.config}}))(wu),xu=_u;function ku(e){return(ku="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Eu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function ju(e,t){return!t||"object"!==ku(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Pu(e){return(Pu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Cu(e,t){return(Cu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Au=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),ju(this,Pu(t).call(this,e))}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Cu(e,t)}(t,e),r=t,(n=[{key:"render",value:function(){return o.a.createElement("div",{id:"_dash-app-content"},this.props.children)}}])&&Eu(r.prototype,n),i&&Eu(r,i),t}(n.Component);Au.propTypes={children:s.a.object};var Tu=Au;var Iu={GET:function(e,t){return fetch(e,tr(t,{method:"GET",headers:Ho()}))},POST:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return fetch(e,tr(t,{method:"POST",headers:Ho(),body:r?JSON.stringify(r):null}))}};function Ru(e,t,r,n,o){return function(i,a){var u=a().config,s="".concat(mr(u)).concat(e);return i({type:r,payload:{id:n,status:"loading"}}),Iu[t](s,u.fetch,o).then((function(e){var t=e.headers.get("content-type");return t&&-1!==t.indexOf("application/json")?e.json().then((function(t){return i({type:r,payload:{status:e.status,content:t,id:n}}),t})):i({type:r,payload:{id:n,status:e.status}})})).catch((function(t){li(t,"Error from API call: "+e,i)}))}}function Mu(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,u=e[Symbol.iterator]();!(n=(a=u.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==u.return||u.return()}finally{if(o)throw i}}return r}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var Du=function(e){var t=Mu(Object(n.useState)(!1),2),r=t[0],i=t[1],a=Object(n.useRef)(null);a.current||(a.current=new gr);var u=Object(n.useRef)(!1);Object(n.useEffect)(Nu.bind(null,e,a,i)),Object(n.useEffect)((function(){u.current&&(u.current=!1,a.current.emit("rendered"))}));var s,c=e.appLifecycle,f=e.dependenciesRequest,l=e.layoutRequest,p=e.layout,d=e.config;return l.status&&!ut(l.status,[ro,"loading"])?s=o.a.createElement("div",{className:"_dash-error"},"Error loading layout"):r||f.status&&!ut(f.status,[ro,"loading"])?s=o.a.createElement("div",{className:"_dash-error"},"Error loading dependencies"):c===xn("HYDRATED")?(u.current=!0,s=o.a.createElement(xu,{_dashprivate_layout:p,_dashprivate_path:[]})):s=o.a.createElement("div",{className:"_dash-loading"},"Loading..."),d&&!0===d.ui?o.a.createElement(Tu,null,s):s};function Nu(e,t,r){var n=e.appLifecycle,o=e.dependenciesRequest,i=e.dispatch,a=e.error,u=e.graphs,s=e.layout,c=e.layoutRequest;if(De(c))i(Ru("_dash-layout","GET","layoutRequest"));else if(c.status===ro&&De(s)){var f=Eo(c.content,i);i(Bo(Or(f,[],null,t.current))),i(Uo(f))}if(De(o)?i(Ru("_dash-dependencies","GET","dependenciesRequest")):o.status===ro&&De(u)&&i(No(function(e,t){var r=new Ne.DepGraph,n={},o=nt(kt({id:Nr})),i=nt((function(e){var t,r=e.output,n=kt({inputs:o,state:o},e);return n.outputs=nt((function(e){return Et("out",!0,Dr(e))}),jr(r)?(t=r).substr(2,t.length-4).split("..."):[r]),n}),e),a=!1;zr(i,(function(e,r){a=!0,t(e,r)}));var u={},s={},c={},f={},l={MultiGraph:r,outputMap:u,inputMap:s,outputPatterns:c,inputPatterns:f,callbacks:i};if(a)return l;function p(e,t){var r=[{}];return it((function(e,o){var i=n[o].vals,a=i.indexOf(t[o]),u=[e];e&&e.wild&&(u=e===Ar?a>0?i.slice(0,a):[]:-1===a||e===Pr?i:[t[o]]),r=Pt(Pt([Et(o)],u),r)}),e),r}return i.forEach((function(e){var t=e.outputs,r=e.inputs;t.concat(r).forEach((function(e){var t=e.id;"object"===kr(t)&&it((function(e,t){n[t]||(n[t]={exact:[],expand:0});var r=n[t];e&&e.wild?e.expand&&(r.expand+=1):-1===r.exact.indexOf(e)&&r.exact.push(e)}),t)}))})),it((function(e){var t,r=e.exact,n=e.expand,o=r.slice().sort(Lr);if(n)for(var i=0;i<n;i++)r.length?(o.splice(0,0,[(t=o[0],Fe()(t)?t-1:0)]),o.push(qr(o[o.length-1]))):o.push(i);else r.length||o.push(0);e.vals=o}),n),i.forEach((function(e){var t=e.outputs,n=e.inputs;function o(e,t){r.addNode(e),r.addDependency(e,t)}function i(e,t){r.addNode(t),n.forEach((function(r){var n=r.id,i=r.property;"object"===kr(n)?p(n,e).forEach((function(e){o(Br({id:e,property:i}),t)})):o(Br(r),t)}))}var a=Hr(t[0].id),l=a.anyKeys,d=a.hasALL,y=At({hasALL:d,anyKeys:l,outputs:t},e);t.forEach((function(e){var t=e.id,r=e.property;"object"===kr(t)?(p(t,{}).forEach((function(e){i(e,Br({id:e,property:r}))})),Wr(c,t,r,y)):(i({},Br(e)),Ur(u,t,r,y))})),n.forEach((function(e){var t=e.id,r=e.property;"object"===kr(t)?Wr(f,t,r,y):Ur(s,t,r,y)}))})),l}(o.content,zo(i)))),o.status===ro&&!De(u)&&c.status===ro&&!De(s)&&n===xn("STARTED")){var l=!1;try{i(Ko(zo(i)))}catch(e){a.frontEnd.length||a.backEnd.length||i(Wo({type:"backEnd",error:e})),l=!0}finally{r(l)}}}Du.propTypes={appLifecycle:s.a.oneOf([xn("STARTED"),xn("HYDRATED")]),dispatch:s.a.func,dependenciesRequest:s.a.object,graphs:s.a.object,layoutRequest:s.a.object,layout:s.a.object,history:s.a.any,error:s.a.object,config:s.a.object};var Bu=re((function(e){return{appLifecycle:e.appLifecycle,dependenciesRequest:e.dependenciesRequest,layoutRequest:e.layoutRequest,layout:e.layout,graphs:e.graphs,history:e.history,error:e.error,config:e.config}}),(function(e){return{dispatch:e}}))(Du);function Fu(e){return(Fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Lu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function qu(e,t){return!t||"object"!==Fu(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Uu(e){return(Uu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wu(e,t){return(Wu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var zu=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(r=qu(this,Uu(t).call(this,e))).state={initialTitle:document.title},r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wu(e,t)}(t,e),r=t,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.pendingCallbacks.length?document.title="Updating...":document.title=this.state.initialTitle}},{key:"shouldComponentUpdate",value:function(){return!1}},{key:"render",value:function(){return null}}])&&Lu(r.prototype,n),o&&Lu(r,o),t}(n.Component);zu.propTypes={pendingCallbacks:s.a.array.isRequired};var Ku=re((function(e){return{pendingCallbacks:e.pendingCallbacks}}))(zu);function Gu(e){return e.pendingCallbacks.length?o.a.createElement("div",{className:"_dash-loading-callback"}):null}Gu.propTypes={pendingCallbacks:s.a.array.isRequired};var Hu=re((function(e){return{pendingCallbacks:e.pendingCallbacks}}))(Gu);function Vu(e){var t=e.dispatch,r=e.history,n={parentSpanStyle:{display:"inline-block",opacity:"0.2",":hover":{opacity:1}},iconStyle:{fontSize:20},labelStyle:{fontSize:15}},i=o.a.createElement("span",{key:"undoLink",style:At({color:r.past.length?"#0074D9":"grey",cursor:r.past.length?"pointer":"default"},n.parentSpanStyle),onClick:function(){return t($o)}},o.a.createElement("div",{style:At({transform:"rotate(270deg)"},n.iconStyle)},"↺"),o.a.createElement("div",{style:n.labelStyle},"undo")),a=o.a.createElement("span",{key:"redoLink",style:At({color:r.future.length?"#0074D9":"grey",cursor:r.future.length?"pointer":"default",marginLeft:10},n.parentSpanStyle),onClick:function(){return t(Vo)}},o.a.createElement("div",{style:At({transform:"rotate(90deg)"},n.iconStyle)},"↻"),o.a.createElement("div",{style:n.labelStyle},"redo"));return o.a.createElement("div",{className:"_dash-undo-redo",style:{position:"fixed",bottom:"30px",left:"30px",fontSize:"20px",textAlign:"center",zIndex:"9999",backgroundColor:"rgba(255, 255, 255, 0.9)"}},o.a.createElement("div",{style:{position:"relative"}},r.past.length>0?i:null,r.future.length>0?a:null))}Vu.propTypes={history:s.a.object,dispatch:s.a.func};var $u=re((function(e){return{history:e.history}}),(function(e){return{dispatch:e}}))(Za(Vu)),Qu=le((function(e,t){return Array.prototype.slice.call(t,0).sort(e)})),Yu=fe((function(e){return function(t,r){return e(t,r)?-1:e(r,t)?1:0}})),Ju=le((function(e,t){return e<t}));function Xu(e){return(Xu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zu(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function es(e){return(es=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ts(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function rs(e,t){return(rs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ns=function(e){function t(e){var r;if(function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=function(e,t){return!t||"object"!==Xu(t)&&"function"!=typeof t?ts(e):t}(this,es(t).call(this,e)),e.config.hot_reload){var n=e.config.hot_reload,o=n.interval,i=n.max_retry;r.state={interval:o,disabled:!1,intervalId:null,packages:null,max_retry:i}}else r.state={disabled:!0};return r._retry=0,r._head=document.querySelector("head"),r.clearInterval=r.clearInterval.bind(ts(r)),r}var r,n,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&rs(e,t)}(t,e),r=t,o=[{key:"getDerivedStateFromProps",value:function(e){return De(e.reloadRequest)||"loading"===e.reloadRequest.status?null:{reloadRequest:e.reloadRequest}}}],(n=[{key:"clearInterval",value:function(){window.clearInterval(this.state.intervalId),this.setState({intervalId:null})}},{key:"componentDidUpdate",value:function(e,t){var r=this.state.reloadRequest,n=this.props.dispatch;if(r&&dr("reloadRequest",t))if(200===r.status&&ve(["content","reloadHash"],r)!==ve(["reloadRequest","content","reloadHash"],t))if(!r.content.hard&&Me(r.content.packages.length,Kn([],["reloadRequest","content","packages"],t).length)&&Me(Qu(Yu(Ju),r.content.packages),Qu(Yu(Ju),Kn([],["reloadRequest","content","packages"],t))))n({type:"RELOAD"});else{var o=!1,i=!0,a=!1,u=void 0;try{for(var s,c=r.content.files[Symbol.iterator]();!(i=(s=c.next()).done);i=!0){var f=s.value;if(!f.is_css){o=!1;break}o=!0;for(var l=[],p=document.evaluate('//link[contains(@href, "'.concat(f.url,'")]'),this._head),d=p.iterateNext();d;)l.push(d),d=p.iterateNext();if(pe((function(e){return e.setAttribute("disabled","disabled")}),l),f.modified>0){var y=document.createElement("link");y.href="".concat(f.url,"?m=").concat(f.modified),y.type="text/css",y.rel="stylesheet",this._head.appendChild(y)}}}catch(e){a=!0,u=e}finally{try{i||null==c.return||c.return()}finally{if(a)throw u}}o||window.top.location.reload()}else 500===r.status&&(this._retry>this.state.max_retry&&(this.clearInterval(),window.alert("\n Reloader failed after ".concat(this._retry," times.\n Please check your application for errors.\n "))),this._retry++)}},{key:"componentDidMount",value:function(){var e=this.props,t=e.dispatch,r=e.reloadRequest,n=this.state,o=n.disabled,i=n.interval;if(!o&&!this.state.intervalId){var a=window.setInterval((function(){"loading"!==r.status&&t(Ru("_reload-hash","GET","reloadRequest"))}),i);this.setState({intervalId:a})}}},{key:"componentWillUnmount",value:function(){!this.state.disabled&&this.state.intervalId&&this.clearInterval()}},{key:"render",value:function(){return null}}])&&Zu(r.prototype,n),o&&Zu(r,o),t}(o.a.Component);ns.defaultProps={},ns.propTypes={id:s.a.string,config:s.a.object,reloadRequest:s.a.object,dispatch:s.a.func,interval:s.a.number};var os=re((function(e){return{config:e.config,reloadRequest:e.reloadRequest}}),(function(e){return{dispatch:e}}))(ns);function is(e){return(is="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function as(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function us(e,t){return!t||"object"!==is(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ss(e){return(ss=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cs(e,t){return(cs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var fs=function(e){function t(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),r=us(this,ss(t).call(this,e)),null===e.hooks.request_pre&&null===e.hooks.request_post||e.dispatch(qo(e.hooks)),r}var r,n,i;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&cs(e,t)}(t,e),r=t,(n=[{key:"UNSAFE_componentWillMount",value:function(){var e=this.props.dispatch,t=JSON.parse(document.getElementById("_dash-config").textContent);t.fetch={credentials:"same-origin",headers:{Accept:"application/json","Content-Type":"application/json"}},e(Lo(t))}},{key:"render",value:function(){var e=this.props.config;if("Null"===Te(e))return o.a.createElement("div",{className:"_dash-loading"},"Loading...");var t=e.show_undo_redo;return o.a.createElement(o.a.Fragment,null,t?o.a.createElement($u,null):null,o.a.createElement(Bu,null),o.a.createElement(Ku,null),o.a.createElement(Hu,null),o.a.createElement(os,null))}}])&&as(r.prototype,n),i&&as(r,i),t}(o.a.Component);fs.propTypes={hooks:s.a.object,dispatch:s.a.func,config:s.a.object};var ls=re((function(e){return{history:e.history,config:e.config}}),(function(e){return{dispatch:e}}))(fs),ps=qn(),ds=function(e){var t=e.hooks;return o.a.createElement(y,{store:ps},o.a.createElement(ls,{hooks:t}))};ds.propTypes={hooks:s.a.shape({request_pre:s.a.func,request_post:s.a.func})},ds.defaultProps={hooks:{request_pre:null,request_post:null}};var ys=ds;window.DashRenderer=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),a.a.render(o.a.createElement(ys,{hooks:t}),document.getElementById("react-entry-point"))}}]); \ No newline at end of file diff --git a/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js.map b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js.map new file mode 100644 index 00000000..32965314 --- /dev/null +++ b/inst/lib/dash-renderer@1.4.1/dash-renderer/dash_renderer.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://dash_renderer/webpack/bootstrap","webpack://dash_renderer/external \"React\"","webpack://dash_renderer/external \"PropTypes\"","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedValue.js","webpack://dash_renderer/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://dash_renderer/./node_modules/radium/es/prefixer.js","webpack://dash_renderer/external \"ReactDOM\"","webpack://dash_renderer/./node_modules/exenv/index.js","webpack://dash_renderer/./node_modules/radium/es/camel-case-props-to-dash-case.js","webpack://dash_renderer/./node_modules/fast-isnumeric/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/capitalizeString.js","webpack://dash_renderer/./node_modules/react-is/index.js","webpack://dash_renderer/./node_modules/symbol-observable/es/index.js","webpack://dash_renderer/(webpack)/buildin/global.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixValue.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/addNewValuesOnly.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/isObject.js","webpack://dash_renderer/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://dash_renderer/./node_modules/symbol-observable/es/ponyfill.js","webpack://dash_renderer/./node_modules/dependency-graph/lib/dep_graph.js","webpack://dash_renderer/./node_modules/cookie/index.js","webpack://dash_renderer/./node_modules/invariant/browser.js","webpack://dash_renderer/./node_modules/@plotly/dash-component-plugins/dist/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/createPrefixer.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/createPrefixer.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/static.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/static/plugins/transition.js","webpack://dash_renderer/./node_modules/radium/es/prefix-data/dynamic.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/calc.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/crossFade.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/cursor.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/filter.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flex.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxIE.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/flexboxOld.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/gradient.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/imageSet.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/position.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/sizing.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/dynamic/plugins/transition.js","webpack://dash_renderer/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://dash_renderer/./node_modules/whatwg-fetch/fetch.js","webpack://dash_renderer/./node_modules/react-is/cjs/react-is.production.min.js","webpack://dash_renderer/(webpack)/buildin/harmony-module.js","webpack://dash_renderer/./node_modules/is-string-blank/index.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/prefixProperty.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getBrowserInformation.js","webpack://dash_renderer/./node_modules/bowser/src/bowser.js","webpack://dash_renderer/(webpack)/buildin/amd-define.js","webpack://dash_renderer/./node_modules/inline-style-prefixer/utils/getPrefixedKeyframes.js","webpack://dash_renderer/./node_modules/hyphenate-style-name/index.js","webpack://dash_renderer/./node_modules/react-redux/es/components/Context.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/batch.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/Subscription.js","webpack://dash_renderer/./node_modules/react-redux/es/components/Provider.js","webpack://dash_renderer/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://dash_renderer/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://dash_renderer/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://dash_renderer/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://dash_renderer/./node_modules/redux/es/redux.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/mergeProps.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://dash_renderer/./node_modules/react-redux/es/connect/connect.js","webpack://dash_renderer/./node_modules/react-redux/es/hooks/useSelector.js","webpack://dash_renderer/./node_modules/redux-thunk/es/index.js","webpack://dash_renderer/./node_modules/react-redux/es/index.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArray.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_checkForMethod.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isPlaceholder.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry1.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry2.js","webpack://dash_renderer/./node_modules/ramda/es/forEach.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isInteger.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isString.js","webpack://dash_renderer/./node_modules/ramda/es/nth.js","webpack://dash_renderer/./node_modules/ramda/es/paths.js","webpack://dash_renderer/./node_modules/ramda/es/path.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_has.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArguments.js","webpack://dash_renderer/./node_modules/ramda/es/keys.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isObject.js","webpack://dash_renderer/./node_modules/ramda/es/empty.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arrayFromIterator.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includesWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectIs.js","webpack://dash_renderer/./node_modules/ramda/es/type.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_equals.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_functionName.js","webpack://dash_renderer/./node_modules/ramda/es/equals.js","webpack://dash_renderer/./node_modules/ramda/es/isEmpty.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curry3.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeWith.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isTransformer.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_dispatchable.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_map.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isArrayLike.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xwrap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_arity.js","webpack://dash_renderer/./node_modules/ramda/es/bind.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduce.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfBase.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xmap.js","webpack://dash_renderer/./node_modules/ramda/es/curryN.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_curryN.js","webpack://dash_renderer/./node_modules/ramda/es/map.js","webpack://dash_renderer/./node_modules/ramda/es/props.js","webpack://dash_renderer/./node_modules/ramda/es/forEachObjIndexed.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_indexOf.js","webpack://dash_renderer/./node_modules/ramda/es/includes.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_Set.js","webpack://dash_renderer/./node_modules/ramda/es/difference.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_reduced.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xall.js","webpack://dash_renderer/./node_modules/ramda/es/all.js","webpack://dash_renderer/./node_modules/ramda/es/zip.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_filter.js","webpack://dash_renderer/./node_modules/ramda/es/flip.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_identity.js","webpack://dash_renderer/./node_modules/ramda/es/identity.js","webpack://dash_renderer/./node_modules/ramda/es/uniq.js","webpack://dash_renderer/./node_modules/ramda/es/uniqBy.js","webpack://dash_renderer/./node_modules/ramda/es/intersection.js","webpack://dash_renderer/./node_modules/ramda/es/values.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_makeFlat.js","webpack://dash_renderer/./node_modules/ramda/es/flatten.js","webpack://dash_renderer/./node_modules/ramda/es/zipObj.js","webpack://dash_renderer/./node_modules/ramda/es/evolve.js","webpack://dash_renderer/./node_modules/ramda/es/assoc.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_concat.js","webpack://dash_renderer/./node_modules/ramda/es/ap.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_objectAssign.js","webpack://dash_renderer/./node_modules/ramda/es/mergeRight.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xany.js","webpack://dash_renderer/./node_modules/ramda/es/any.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xtake.js","webpack://dash_renderer/./node_modules/ramda/es/slice.js","webpack://dash_renderer/./node_modules/ramda/es/take.js","webpack://dash_renderer/./node_modules/ramda/es/startsWith.js","webpack://dash_renderer/./node_modules/ramda/es/prop.js","webpack://dash_renderer/./node_modules/ramda/es/pluck.js","webpack://dash_renderer/./node_modules/ramda/es/dissoc.js","webpack://dash_renderer/./node_modules/ramda/es/pickBy.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfilter.js","webpack://dash_renderer/./node_modules/ramda/es/filter.js","webpack://dash_renderer/./node_modules/ramda/es/max.js","webpack://dash_renderer/./node_modules/ramda/es/reduce.js","webpack://dash_renderer/./node_modules/ramda/es/converge.js","webpack://dash_renderer/./node_modules/ramda/es/juxt.js","webpack://dash_renderer/./node_modules/ramda/es/reject.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_complement.js","webpack://dash_renderer/./node_modules/ramda/es/partition.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_clone.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_cloneRegExp.js","webpack://dash_renderer/./node_modules/ramda/es/clone.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_flatCat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_forceReduced.js","webpack://dash_renderer/./node_modules/ramda/es/unnest.js","webpack://dash_renderer/./node_modules/ramda/es/chain.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xchain.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepWithKey.js","webpack://dash_renderer/./node_modules/ramda/es/mergeDeepRight.js","webpack://dash_renderer/./node_modules/ramda/es/propEq.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_isFunction.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_quote.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toISOString.js","webpack://dash_renderer/./node_modules/ramda/es/toString.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_toString.js","webpack://dash_renderer/./node_modules/ramda/es/concat.js","webpack://dash_renderer/./node_modules/ramda/es/internal/_xfind.js","webpack://dash_renderer/./node_modules/ramda/es/find.js","webpack://dash_renderer/./node_modules/ramda/es/isNil.js","webpack://dash_renderer/./node_modules/ramda/es/hasPath.js","webpack://dash_renderer/./node_modules/ramda/es/has.js","webpack://dash_renderer/./node_modules/ramda/es/append.js","webpack://dash_renderer/./src/actions/utils.js","webpack://dash_renderer/./src/actions/paths.js","webpack://dash_renderer/./src/registry.js","webpack://dash_renderer/./src/actions/dependencies.js","webpack://dash_renderer/./node_modules/ramda/es/view.js","webpack://dash_renderer/./node_modules/ramda/es/assocPath.js","webpack://dash_renderer/./node_modules/ramda/es/lens.js","webpack://dash_renderer/./node_modules/ramda/es/lensPath.js","webpack://dash_renderer/./src/actions/constants.js","webpack://dash_renderer/./src/reducers/layout.js","webpack://dash_renderer/./src/reducers/dependencyGraph.js","webpack://dash_renderer/./src/reducers/paths.js","webpack://dash_renderer/./src/reducers/pendingCallbacks.js","webpack://dash_renderer/./src/reducers/constants.js","webpack://dash_renderer/./src/reducers/appLifecycle.js","webpack://dash_renderer/./src/reducers/history.js","webpack://dash_renderer/./src/reducers/error.js","webpack://dash_renderer/./src/reducers/hooks.js","webpack://dash_renderer/./src/reducers/config.js","webpack://dash_renderer/./src/reducers/reducer.js","webpack://dash_renderer/./src/store.js","webpack://dash_renderer/./src/reducers/api.js","webpack://dash_renderer/./node_modules/ramda/es/pick.js","webpack://dash_renderer/./node_modules/ramda/es/addIndex.js","webpack://dash_renderer/./node_modules/ramda/es/defaultTo.js","webpack://dash_renderer/./node_modules/ramda/es/pathOr.js","webpack://dash_renderer/./node_modules/ramda/es/propOr.js","webpack://dash_renderer/./node_modules/ramda/es/once.js","webpack://dash_renderer/./node_modules/ramda/es/without.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isFunction.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/identity.js","webpack://dash_renderer/./node_modules/redux-actions/es/utils/isNull.js","webpack://dash_renderer/./node_modules/redux-actions/es/createAction.js","webpack://dash_renderer/./src/constants/constants.js","webpack://dash_renderer/./node_modules/ramda/es/always.js","webpack://dash_renderer/./node_modules/ramda/es/over.js","webpack://dash_renderer/./node_modules/ramda/es/set.js","webpack://dash_renderer/./src/persistence.js","webpack://dash_renderer/./src/actions/isAppReady.js","webpack://dash_renderer/./src/actions/index.js","webpack://dash_renderer/./src/isSimpleComponent.js","webpack://dash_renderer/./node_modules/radium/es/append-px-if-needed.js","webpack://dash_renderer/./node_modules/radium/es/map-object.js","webpack://dash_renderer/./node_modules/radium/es/append-important-to-each-value.js","webpack://dash_renderer/./node_modules/radium/es/css-rule-set-to-string.js","webpack://dash_renderer/./node_modules/radium/es/clean-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-state.js","webpack://dash_renderer/./node_modules/radium/es/get-state-key.js","webpack://dash_renderer/./node_modules/radium/es/get-radium-style-state.js","webpack://dash_renderer/./node_modules/radium/es/hash.js","webpack://dash_renderer/./node_modules/radium/es/merge-styles.js","webpack://dash_renderer/./node_modules/radium/es/plugins/mouse-up-listener.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-media-queries-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/resolve-interaction-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/index.js","webpack://dash_renderer/./node_modules/radium/es/plugins/check-props-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/keyframes-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/merge-style-array-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/prefix-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/remove-nested-styles-plugin.js","webpack://dash_renderer/./node_modules/radium/es/plugins/visited-plugin.js","webpack://dash_renderer/./node_modules/radium/es/resolve-styles.js","webpack://dash_renderer/./node_modules/radium/es/context.js","webpack://dash_renderer/./node_modules/radium/es/enhancer.js","webpack://dash_renderer/./node_modules/radium/es/components/style.js","webpack://dash_renderer/./node_modules/radium/es/style-keeper.js","webpack://dash_renderer/./node_modules/radium/es/components/style-sheet.js","webpack://dash_renderer/./node_modules/radium/es/components/style-root.js","webpack://dash_renderer/./node_modules/radium/es/index.js","webpack://dash_renderer/./node_modules/radium/es/keyframes.js","webpack://dash_renderer/./src/components/error/ComponentErrorBoundary.react.js","webpack://dash_renderer/./src/TreeContainer.js","webpack://dash_renderer/./src/checkPropTypes.js","webpack://dash_renderer/./src/exceptions.js","webpack://dash_renderer/./src/components/error/GlobalErrorContainerPassthrough.react.js","webpack://dash_renderer/./src/actions/api.js","webpack://dash_renderer/./src/APIController.react.js","webpack://dash_renderer/./src/components/core/DocumentTitle.react.js","webpack://dash_renderer/./src/components/core/Loading.react.js","webpack://dash_renderer/./src/components/core/Toolbar.react.js","webpack://dash_renderer/./node_modules/ramda/es/sort.js","webpack://dash_renderer/./node_modules/ramda/es/comparator.js","webpack://dash_renderer/./node_modules/ramda/es/lt.js","webpack://dash_renderer/./src/components/core/Reloader.react.js","webpack://dash_renderer/./src/AppContainer.react.js","webpack://dash_renderer/./src/AppProvider.react.js","webpack://dash_renderer/./src/index.js","webpack://dash_renderer/./src/DashRenderer.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","window","default","prefixedValue","keepUnprefixed","ReactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","KNOWN_STATICS","length","caller","callee","arguments","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","getOwnPropertyNames","getOwnPropertySymbols","getOwnPropertyDescriptor","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","concat","targetStatics","sourceStatics","descriptor","e","regex","test","_typeof","obj","iterator","constructor","prefixAll","InlineStylePrefixer","_lastUserAgent","_cachedPrefixer","getPrefixer","userAgent","actualUserAgent","global","navigator","prefix","prefixedKeyframes","getPrefixedKeyframes","getPrefixedStyle","style","styleWithFallbacks","reduce","newStyle","Array","isArray","join","toString","transformValues","val","canUseDOM","flattenStyleValues","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","_camelCaseRegex","_camelCaseReplacer","match","p1","p2","toLowerCase","camelCaseToDashCase","replace","prefixedStyle","result","dashCaseKey","allBlankCharCodes","original","str","charAt","toUpperCase","slice","root","self","g","this","Function","plugins","metaData","len","processedValue","addIfNew","list","indexOf","push","values","_hyphenateStyleName2","_hyphenateStyleName","symbolObservablePonyfill","observable","createDFS","edges","leavesOnly","circular","visited","start","inCurrentPath","currentPath","todo","node","processed","current","pop","DepGraphCycleError","nodeEdges","DepGraph","opts","nodes","outgoingEdges","incomingEdges","size","addNode","data","hasNode","removeNode","forEach","edgeList","idx","splice","getNodeData","Error","setNodeData","addDependency","from","to","removeDependency","clone","source","dependenciesOf","DFS","dependantsOf","overallOrder","CycleDFS","filter","cyclePath","message","instance","setPrototypeOf","captureStackTrace","writable","configurable","parse","options","TypeError","opt","pairs","split","pairSplitRegExp","dec","decode","pair","eq_idx","substr","trim","undefined","tryDecode","serialize","enc","encode","fieldContentRegExp","maxAge","isNaN","Math","floor","domain","path","expires","toUTCString","httpOnly","secure","sameSite","decodeURIComponent","encodeURIComponent","condition","format","a","b","f","error","args","argIndex","framesToPop","isReady","Promise","lazy","resolve","then","setTimeout","regeneratorRuntime","async","prev","next","awrap","stop","u","_dashprivate_isLazyComponentReady","dispatchEvent","CustomEvent","removeEventListener","_ref","prefixMap","_isObject2","combinedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_createClass","defineProperties","target","props","Constructor","protoProps","staticProps","fallback","Prefixer","_classCallCheck","defaultUserAgent","_userAgent","_keepUnprefixed","_browserInfo","_getBrowserInformation2","cssPrefix","_useFallback","_getPrefixedKeyframes2","browserName","browserVersion","prefixData","_requiresPrefix","_hasPropsRequiringPrefix","_metaData","jsPrefix","requiresPrefix","_prefixStyle","_capitalizeString2","styles","w","ms","wm","wms","wmms","transform","transformOrigin","transformOriginX","transformOriginY","backfaceVisibility","perspective","perspectiveOrigin","transformStyle","transformOriginZ","animation","animationDelay","animationDirection","animationFillMode","animationDuration","animationIterationCount","animationName","animationPlayState","animationTimingFunction","appearance","userSelect","fontKerning","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","textDecorationLine","textDecorationColor","fontFeatureSettings","breakAfter","breakBefore","breakInside","columnCount","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columns","columnSpan","columnWidth","writingMode","flex","flexBasis","flexDirection","flexGrow","flexFlow","flexShrink","flexWrap","alignContent","alignItems","alignSelf","justifyContent","order","transitionDelay","transitionDuration","transitionProperty","transitionTimingFunction","backdropFilter","scrollSnapType","scrollSnapPointsX","scrollSnapPointsY","scrollSnapDestination","scrollSnapCoordinate","shapeImageThreshold","shapeImageMargin","shapeImageOutside","hyphens","flowInto","flowFrom","regionFragment","boxSizing","textAlignLast","tabSize","wrapFlow","wrapThrough","wrapMargin","touchAction","gridTemplateColumns","gridTemplateRows","gridTemplateAreas","gridTemplate","gridAutoColumns","gridAutoRows","gridAutoFlow","grid","gridRowStart","gridColumnStart","gridRowEnd","gridRow","gridColumn","gridColumnEnd","gridColumnGap","gridRowGap","gridArea","gridGap","textSizeAdjust","borderImage","borderImageOutset","borderImageRepeat","borderImageSlice","borderImageSource","borderImageWidth","_isPrefixedValue2","prefixes","map","_isPrefixedValue","grab","grabbing","alternativeProps","alternativeValues","WebkitBoxOrient","WebkitBoxDirection","wrap","grad","properties","maxHeight","maxWidth","width","height","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","j","pLen","unshift","prefixMapping","prefixValue","webkitOutput","mozOutput","transition","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","chrome","safari","firefox","opera","ie","edge","ios_saf","android","and_chr","and_uc","op_mini","_getPrefixedValue2","_getPrefixedValue","grabValues","zoomValues","requiresPrefixDashCased","prop","index","_hyphenateProperty","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","String","normalizeValue","iteratorFor","items","shift","done","Headers","headers","append","header","consumed","body","bodyUsed","reject","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","Uint8Array","byteLength","set","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","text","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","json","JSON","oldValue","has","callback","thisArg","entries","methods","Request","input","method","upcased","url","credentials","signal","referrer","form","bytes","Response","bodyInit","status","ok","statusText","response","redirectStatuses","redirect","RangeError","location","DOMException","err","stack","fetch","init","request","aborted","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","onabort","open","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill","for","h","k","q","v","x","y","$$typeof","z","typeOf","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isValidElementType","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","originalModule","webpackPolyfill","children","charCodeAt","prefixProperties","requiredPrefixes","capitalizedProperty","styleProperty","_capitalizeString","browserInfo","_bowser2","_detect","yandexbrowser","browser","prefixByBrowser","mobile","tablet","ios","browserByCanIuseAlias","getBrowserName","version","parseFloat","parseInt","osversion","osVersion","samsungBrowser","_bowser","phantom","webos","blackberry","bada","tizen","chromium","vivaldi","seamoney","sailfish","msie","msedge","firfox","definition","detect","ua","getFirstMatch","getSecondMatch","iosdevice","nexusMobile","nexusTablet","chromeos","silk","windowsphone","windows","mac","linux","edgeVersion","versionIdentifier","xbox","whale","mzbrowser","coast","focus","ucbrowser","maxthon","epiphany","puffin","sleipnir","kMeleon","osname","chromeBook","seamonkey","firefoxos","slimer","touchpad","qupzilla","googlebot","blink","webkit","gecko","getWindowsVersion","osMajorVersion","compareVersions","bowser","getVersionPrecision","arr","versions","precision","max","chunks","delta","chunk","reverse","isUnsupportedBrowser","minVersions","strictMode","browserList","browserItem","check","uppercasePattern","msPattern","cache","toHyphenLower","hName","ReactReduxContext","createContext","nullListeners","notify","createListenerCollection","batch","first","last","clear","listener","listeners","subscribe","isSubscribed","Subscription","store","parentSub","unsubscribe","handleChangeWrapper","_proto","addNestedSub","trySubscribe","notifyNestedSubs","onStateChange","Boolean","tryUnsubscribe","context","contextValue","subscription","previousState","getState","Context","Provider","_extends","assign","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","useIsomorphicLayoutEffect","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","state","action","updateCount","payload","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","forwardRef","_ref2$context","connectOptions","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","forwardedRef","propsContext","ContextToUse","Consumer","didStoreComeFromProps","dispatch","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","previousStateUpdateResult","renderedWrappedComponent","ref","Connect","memo","forwarded","is","shallowEqual","objA","objB","keysA","keysB","randomString","random","substring","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","getUndefinedStateErrorMessage","actionType","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","_i","_key","previousStateForKey","nextStateForKey","errorMessage","bindActionCreator","actionCreator","_defineProperty","ownKeys","enumerableOnly","sym","_objectSpread2","getOwnPropertyDescriptors","compose","_len","funcs","arg","wrapMapToPropsConstant","getConstant","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","actionCreators","boundActionCreators","bindActionCreators","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","factories","strictEqual","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","newBatch","createThunkMiddleware","extraArgument","thunk","withExtraArgument","_checkForMethod","methodname","fn","_isArray","_isPlaceholder","_curry1","f1","_curry2","f2","_b","_a","Number","_isString","offset","pathsArray","paths","_isInteger","pathAr","_has","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","hasArgsEnumBug","contains","item","nIdx","ks","checkArgsLength","_isObject","empty","_arrayFromIterator","iter","_includesWith","pred","_uniqContentEquals","aIterator","bIterator","stackA","stackB","eq","_equals","aItem","typeA","equals","_functionName","valueOf","ignoreCase","multiline","sticky","unicode","extendedStackA","extendedStackB","_curry3","f3","_c","_","_l","_r","_isTransformer","_dispatchable","methodNames","xf","transducer","_map","functor","nodeType","XWrap","acc","_arity","a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","thisObj","_iterableReduce","step","_methodReduce","symIterator","_reduce","_xwrap","_arrayReduce","XMap","_xfBase","_curryN","received","combined","argsIdx","left","combinedIdx","ps","keyList","_includes","inf","_indexOf","hasOrAdd","shouldAdd","prevSize","Infinity","_items","_nativeSet","add","bIdx","_Set","Set","second","out","firstLen","secondLen","toFilterOut","_reduced","XAll","all","rv","min","_filter","_identity","appliedItem","list1","list2","lookupList","filteredList","vals","_makeFlat","recursive","flatt","jlen","ilen","evolve","transformations","transformation","_concat","set1","set2","len1","len2","applyF","applyX","ap","output","nextKey","XAny","any","XTake","ret","fromIndex","toIndex","xs","XFilter","filterable","after","fns","_clone","refFrom","refTo","deep","pattern","copy","copiedValue","Date","RegExp","rxf","preservingReduced","monad","mergeDeepWithKey","lObj","rObj","lVal","rVal","_isFunction","_quote","pad","toISOString","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","getUTCMilliseconds","toFixed","_toString","seen","recur","mapPairs","sort","NaN","repr","XFind","found","_path","el","urlBase","config","hasUrlBase","hasReqPrefix","base","requests_pathname_prefix","url_base_pathname","propsChildren","crawlLayout","func","child","newPath","EventEmitter","_ev","event","removeListener","events","remove","on","computePaths","subTree","startingPath","oldPaths","strs","objs","oldStrs","oldObjs","diffHead","some","spLen","forEachObjIndexed","oldValPaths","oldKeys","newVals","itempath","id","keyStr","getPath","keyPaths","pathObj","find","propEq","namespace","mergeMax","mergeWith","isMultiOutputProp","idAndProp","startsWith","ALL","wild","multi","MATCH","ALLSMALLER","expand","wildcards","allowedWildcards","Output","Input","State","wildcardValTypes","idInvalidChars","splitIdAndProp","dotPos","lastIndexOf","parseIfWildcard","idStr","isWildcardId","parseWildcardId","combineIdAndProp","stringifyId","stringify","idValSort","bIsNumeric","isNumeric","aN","bN","aIsBool","valAfter","addMap","depMap","dependency","idMap","addPattern","idSpec","keyCallbacks","propCallbacks","valMatch","callbacks","validateDependencies","parsedDependencies","dispatchError","outStrs","outObjs","dep","inputs","outputs","hasOutputs","head","cls","idProp","isEmpty","includes","invalidChars","validateArg","newOutputStrs","newOutputObjs","idObj","selfOverlap","wildcardOverlap","otherOverlap","idProp2","findDuplicateOutputs","outi","outId","outProp","in_","ini","inId","inProp","findInOutOverlap","out0AnyKeys","findWildcardKeys","anyKeys","allsmallerKeys","allWildcardKeys","diff","difference","findMismatchedWildcards","matchWildKeys","aWild","bWild","idKeys","idVals","id2","zip","hasALL","idMatch","patternVals","refKeys","refVals","refPatternVals","patternVal","refIndex","refPatternVal","getAnyVals","matches","resolveDeps","idPattern","zipObj","makeResolvedCallback","anyVals","resolvedId","getOutputs","getInputs","blockedBy","blocking","changedPropIds","initialCall","requestId","requestedOutputs","nextRequestId","setNewRequestId","assoc","getCallbackByOutput","graphs","outputMap","patterns","outputPatterns","reduceALLOuts","outs","anySeen","matchKeys","addResolvedFromOutputs","outPattern","out0Keys","out0PatternVals","outVals","getCallbacksByInput","changeType","inputMap","baseResolve","out0Pattern","inputPatterns","getCallbacksInLayout","layoutChunk","outputsOnly","removedArrayInputsOnly","newPaths","chunkPath","foundCbIds","addCallback","foundIndex","handleOneId","outIdCallbacks","inIdCallbacks","cb","maybeAddCallback","inij","flatten","handleThisCallback","pluck","finalCallbacks","followForward","propId","removePendingCallback","pendingCallbacks","removeResolvedId","skippedProps","finalPendingCallbacks","pending","mergeRight","dissoc","pickBy","findReadyCallbacks","partition","readyCallbacks","blockedCallbacks","collectIds","allResolvedIds","callbacks_","followOutput","nextCB","existingIndex","existingCB","blockingId","blockedId","addBlock","unnest","mergeAllBlockers","cb1","cb2","mergeBlockers","mergePendingCallbacks","callbacks2","finalCb","mergeDeepRight","Const","lens","assocPath","nextObj","setter","toFunctorFn","actionList","ON_PROP_CHANGE","SET_REQUEST_QUEUE","SET_GRAPHS","SET_PATHS","SET_LAYOUT","SET_APP_LIFECYCLE","SET_CONFIG","ON_ERROR","SET_HOOKS","getAction","layout","propPath","existingProps","lensPath","initialGraph","initialPaths","getAppState","stateList","STARTED","HYDRATED","appLifecycle","initialHistory","past","present","future","history","previous","newPast","newFuture","initialError","frontEnd","backEnd","console","timestamp","customHooks","request_pre","request_post","bear","apiRequests","mainReducer","hooks","newState","content","newRequest","getInputHistoryState","historyEntry","idProps","propKey","createReducer","reloaderReducer","initializeStore","reset","middlewares","_dispatch","middlewareAPI","chain","middleware","applyMiddleware","names","origFn","called","createAction","payloadCreator","metaCreator","isFunction","isNull","finalPayloadCreator","hasMeta","typeString","meta","STATUS","Identity","storePrefix","keyPrefixMatch","separator","fullStr","fullLen","_parse","_stringify","WebStore","_name","_storage","getItem","setItem","_setItem","removeItem","keyPrefix","keyMatch","keysToRemove","fullKey","stores","memory","_data","backEnds","local","session","getStore","fallbackStore","storeTest","longString","testKey","tryGetWebStore","noopTransform","extract","propValue","storedValue","_propValue","getTransform","element","propName","propPart","persistenceTransforms","getValsKey","persistedProp","persistence","getProps","Registry","getVal","persisted_props","persistence_type","canPersist","applyPersistence","persistenceMods","layoutOut","storage","update","modProp","undo","hasItem","newVal","originalVal","fromVal","toVal","targets","promises","rendered","resolveRendered","once","pathOfId","ready","race","getElementById","updateProps","setPendingCallbacks","setGraphs","setPaths","setAppLifecycle","setConfig","setHooks","setLayout","onError","lines","html","hydrateInitialOutputs","state_","validateIds","suppress_callback_exceptions","tail","missingId","validateProp","idPath","validateIdPatternProp","callbackIdsCheckedForState","validateState","intersection","validateMap","doState","validatePatterns","keyPatterns","validateCallbacksToLayout","MultiGraph","initialCallbacks","startCallbacks","triggerDefaultState","logWarningOnce","warn","getCSRFHeader","cookie","_csrf_token","redo","moveHistory","revert","notifyObservers","unwrapIfNotMulti","spec","depType","ReferenceError","log","pick","fireReadyCallbacks","fireNext","outputStash","requestedCallbacks","cbOut","allOutputs","flatOutputs","allPropIds","reqOut","allCallbacks","ids","isAppReady","uniq","hasClientSide","queue","clientside_function","fillVals","handleError","updatePending","newPending","handleData","requestIsActive","updated","parsedId","oldLayout","appliedProps","doUpdateProps","statePendingCallbacks","oldChildren","updateChildPaths","addedProps","includeObservers","without","function_name","handleAsyncError","handleClientside","handleServerside","specs","inputList","path_","res","getVals","zipIfArray","dc","dash_clientside","no_update","description","returnValue","PreventUpdate","reti","outij","retij","dataForId","thisCallback","updatedProps","newProps","getFinal","prevVal","finalPersistence","finalPersistenceType","finalPersistedProps","persistenceChanged","notInNewProps","depersistedProps","finalStorage","transforms","propTransforms","prunePersistence","childrenPath","cleanedCallbacks","removeIds","omittedProps","newChangedProps","pruneRemovedCallbacks","allNewCallbacks","changedProps","newCBs","SIMPLE_COMPONENT_TYPES","isUnitlessNumber","boxFlex","boxFlexGroup","boxOrdinalGroup","flexPositive","flexNegative","flexOrder","gridRowSpan","gridColumnSpan","fontWeight","lineClamp","lineHeight","opacity","orphans","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","appendPxIfNeeded","propertyName","mapObject","mapper","appendImportantToEachValue","cssRuleSetToString","selector","rules","rulesWithPx","prefixedRules","cssPrefixedRules","elementKey","_radiumStyleState","renderedElement","_lastRadiumState","hash","hashValue","isNestedStyle","newKey","_callbacks","_mouseUpListenerIsActive","_handleMouseUp","_windowMatchMedia","_isInteractiveStyleField","styleFieldName","_filterObject","predicate","checkProps","keyframes","addCSS","processKeyframeStyle","_keyframesValue$__pro","__process","css","newStyleInProgress","isKeyframeArray","__radiumKeyframes","mergeStyleArray","mergeStyles","removeNestedStyles","resolveInteractionStyles","getComponentField","setState","newComponentFields","existingOnMouseEnter","onMouseEnter","existingOnMouseLeave","onMouseLeave","existingOnMouseDown","onMouseDown","_lastMouseDown","now","existingOnKeyDown","onKeyDown","existingOnKeyUp","onKeyUp","existingOnFocus","onFocus","existingOnBlur","onBlur","_radiumMouseUpListener","interactionStyles","disabled","styleWithoutInteractions","componentFields","resolveMediaQueries","getGlobalState","styleWithoutMedia","_removeMediaQueries","mediaQueryClassNames","className","query","topLevelRules","ruleCSS","mediaQueryClassName","_topLevelRulesToCSS","matchMedia","mediaQueryString","_getWindowMatchMedia","listenersByQuery","mediaQueryListsByQuery","nestedRules","mql","addListener","_subscribeToMediaQuery","_radiumMediaQueryListenersByQuery","globalState","visitedClassName","DEFAULT_CONFIG","_resolveStyles5","_shouldResolveStyles","_isRadiumEnhanced","existingKeyMap","extraStateKeyMap","childrenType","isValidElement","_resolveStyles","Children","count","onlyChild","only","_key2","_key3","_key4","_ref4","componentName","getKey","originalKey","alreadyGotKey","elementName","componentGetState","stateKey","_radiumIsMounted","styleKeeper","_radiumStyleKeeper","plugin","fieldName","newGlobalState","newChildren","cloneElement","shouldCheckBeforeResolve","elements","_key5","StyleKeeperContext","RadiumConfigContext","withRadiumContexts","WithRadiumContexts","radiumConfigContext","styleKeeperContext","_possibleConstructorReturn","_assertThisInitialized","_get","receiver","Reflect","_getPrototypeOf","_superPropBase","desc","__proto__","_inherits","subClass","superClass","_setPrototypeOf","_arr","_n","_d","_e","_s","_objectWithoutProperties","sourceSymbolKeys","_toPropertyKey","hint","prim","toPrimitive","_toPrimitive","RADIUM_PROTO","RADIUM_METHODS","KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES","isStateless","isReactComponent","isNativeClass","copyArrowFuncs","enhancedSelf","ComposedComponent","thisDesc","thisMethod","radiumProtoMethod","trimRadiumState","_extraRadiumStateKeys","trimmedRadiumState","cleanUpEnhancer","resolveConfig","propConfig","contextConfig","hocConfig","renderRadiumComponent","resolvedConfig","createEnhancedFunctionComponent","origComponent","RadiumEnhancer","radiumConfig","otherProps","_useState2","enhancerApi","hasExtraStateKeys","currentConfig","createEnhancedClassComponent","_ComposedComponent","_this","prevProps","prevState","snapshot","oneOfType","array","createComposedFromNativeClass","OrigComponent","NewComponent","construct","ReactForwardRefSymbol","enhanceWithRadium","configOrComposedComponent","createFactoryFromConfig","_ComposedComponent2","_ComposedComponent3","newConfig","configOrComponent","_PureComponent","Style","scopeSelector","rootRules","accumulator","_buildMediaQueryString","part","stylesByMediaQuery","_this2","_buildStyles","dangerouslySetInnerHTML","__html","string","StyleKeeper","_listeners","_cssSet","listenerIndex","_emitChange","_Component","StyleSheet","_subscription","_root","_css","_onChange","nextCSS","getCSS","innerHTML","StyleRootInner","configContext","configProp","getStyleKeeper","Radium","Plugins","StyleRoot","keyframeRules","keyframesPrefixed","percentage","UnconnectedComponentErrorBoundary","myID","componentId","hasError","info","prevChildren","Component","PropTypes","ComponentErrorBoundary","connect","validateComponent","componentDefinition","createContainer","isSimpleComponent","AugmentedTreeContainer","_dashprivate_layout","_dashprivate_path","CheckedComponent","extraProps","typeSpecs","getStack","errors","typeSpecName","ReactPropTypesSecret","ex","checkPropTypes","messageParts","invalidPropPath","expectedPropType","invalidPropTypeProvided","jsonSuppliedValue","propTypeErrorHandler","allProps","React","TreeContainer","setProps","_dashprivate_graphs","_dashprivate_dispatch","oldProps","getLayoutProps","watchedKeys","newProp","getWatchedKeys","valsKey","recordUiEdit","components","isNil","addIndex","loading_state","_dashprivate_config","componentType","props_check","nextProps","_dashprivate_loadingState","is_loading","propOr","layoutProps","getChildren","getComponent","isLoadingComponent","_dashprivate_isLoadingComponent","getLoadingState","loadingProp","loadingComponent","elementLayout","filteredChildren","getNestedIds","isLoading","idStrs","prop_name","component_name","GlobalErrorContainer","GET","fetchConfig","POST","apiThunk","endpoint","contentType","UnconnectedContainer","useState","errorLoading","setErrorLoading","useRef","renderedTree","useEffect","storeEffect","emit","dependenciesRequest","layoutRequest","ui","finalLayout","multiGraph","wildcardPlaceholders","fixIds","outputIdAndProp","finalGraphs","makeAllIds","outIdFinal","idList","testVals","outValIndex","exact","keyPlaceholders","addInputToMulti","inIdProp","outIdProp","addOutputToMulti","inObj","finalDependency","inputObject","computeGraphs","oneOf","Container","DocumentTitle","initialTitle","title","isRequired","Loading","UnconnectedToolbar","parentSpanStyle","display","iconStyle","fontSize","labelStyle","undoLink","color","cursor","onClick","redoLink","marginLeft","position","bottom","textAlign","backgroundColor","Toolbar","comparator","Reloader","hot_reload","interval","max_retry","intervalId","packages","_retry","_head","querySelector","clearInterval","reloadRequest","hard","pathOr","lt","was_css","files","is_css","nodesToDisable","it","evaluate","iterateNext","setAttribute","modified","link","href","rel","appendChild","top","reload","alert","setInterval","number","UnconnectedAppContainer","textContent","Accept","show_undo_redo","AppContainer","AppProvider","shape","DashRenderer","ReactDOM"],"mappings":"iCACE,IAAIA,EAAmB,GAGvB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,IAUV,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,QA0Df,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,KAKhEZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,KAQvDrB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,SAC/C,WAA8B,OAAOA,GAEtC,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAGzG/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,I,gBClFvChC,EAAOD,QAAUkC,OAAc,O,cCA/BjC,EAAOD,QAAUkC,OAAkB,W,8BCEjDtB,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAA0BC,EAAejB,EAAOkB,GAC9C,GAAIA,EACF,MAAO,CAACD,EAAejB,GAEzB,OAAOiB,GAETnC,EAAOD,QAAUA,EAAiB,S,6BCNlC,IAAIsC,EAAU,EAAQ,IAClBC,EAAgB,CAChBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACdC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,0BAA0B,EAC1BC,0BAA0B,EAC1BC,QAAQ,EACRC,WAAW,EACXC,MAAM,GAGNC,EAAgB,CAChB1C,MAAM,EACN2C,QAAQ,EACRtB,WAAW,EACXuB,QAAQ,EACRC,QAAQ,EACRC,WAAW,EACXC,OAAO,GAWPC,EAAe,CACf,UAAY,EACZC,SAAS,EACTf,cAAc,EACdC,aAAa,EACbK,WAAW,EACXC,MAAM,GAGNS,EAAe,GAGnB,SAASC,EAAWC,GAChB,OAAIvB,EAAQwB,OAAOD,GACRJ,EAEJE,EAAaE,EAAoB,WAAMtB,EANlDoB,EAAarB,EAAQyB,YAlBK,CACtB,UAAY,EACZC,QAAQ,EACRrB,cAAc,EACdC,aAAa,EACbK,WAAW,GAsBf,IAAIpC,EAAiBD,OAAOC,eACxBoD,EAAsBrD,OAAOqD,oBAC7BC,EAAwBtD,OAAOsD,sBAC/BC,EAA2BvD,OAAOuD,yBAClCC,EAAiBxD,OAAOwD,eACxBC,EAAkBzD,OAAOkB,UAuC7B7B,EAAOD,QArCP,SAASsE,EAAqBC,EAAiBC,EAAiBC,GAC5D,GAA+B,iBAApBD,EAA8B,CAGrC,GAAIH,EAAiB,CACjB,IAAIK,EAAqBN,EAAeI,GACpCE,GAAsBA,IAAuBL,GAC7CC,EAAqBC,EAAiBG,EAAoBD,GAIlE,IAAIE,EAAOV,EAAoBO,GAE3BN,IACAS,EAAOA,EAAKC,OAAOV,EAAsBM,KAM7C,IAHA,IAAIK,EAAgBjB,EAAWW,GAC3BO,EAAgBlB,EAAWY,GAEtBtE,EAAI,EAAGA,EAAIyE,EAAKvB,SAAUlD,EAAG,CAClC,IAAIuB,EAAMkD,EAAKzE,GACf,KAAKiD,EAAc1B,IAAUgD,GAAaA,EAAUhD,IAAWqD,GAAiBA,EAAcrD,IAAWoD,GAAiBA,EAAcpD,IAAO,CAC3I,IAAIsD,EAAaZ,EAAyBK,EAAiB/C,GAC3D,IAEIZ,EAAe0D,EAAiB9C,EAAKsD,GACvC,MAAOC,MAIjB,OAAOT,EAGX,OAAOA,I,6BCjGX3D,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAGR,SAAyBhB,GACvB,MAAwB,iBAAVA,GAAsB8D,EAAMC,KAAK/D,IAHjD,IAAI8D,EAAQ,sBAKZhF,EAAOD,QAAUA,EAAiB,S,8BCXlC,sKAASmF,EAAQC,GAAwT,OAAtOD,EAArD,mBAAXlE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAcxV,IAAIG,EAAY,IAAqB,KACjCC,EAAsB,IAAsB,IAAaD,GA0D7D,IAEIE,EAEAC,EAEJ,SAASC,EAAYC,GACnB,IAAIC,EAAkBD,GAAaE,GAAUA,EAAOC,WAAaD,EAAOC,UAAUH,UA2BlF,OAfwCF,GAAmBG,IAAoBJ,IAE3EC,EADsB,QAApBG,EACgB,CAChBG,OAAQT,EACRU,kBAAmB,aAGH,IAAIT,EAAoB,CACxCI,UAAWC,IAIfJ,EAAiBI,GAGZH,EAGF,SAASQ,EAAqBN,GACnC,OAAOD,EAAYC,GAAWK,mBAAqB,YAI9C,SAASE,EAAiBC,EAAOR,GACtC,IAAIS,EAnGN,SAAyBD,GACvB,OAAOxF,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUC,EAAU9E,GACnD,IAAIN,EAAQiF,EAAM3E,GASlB,OAPI+E,MAAMC,QAAQtF,GAChBA,EAAQA,EAAMuF,KAAK,IAAMjF,EAAM,KACtBN,GAA4B,WAAnBgE,EAAQhE,IAAiD,mBAAnBA,EAAMwF,WAC9DxF,EAAQA,EAAMwF,YAGhBJ,EAAS9E,GAAON,EACToF,IACN,IAuFsBK,CAAgBR,GAIzC,OA5EF,SAA4BA,GAC1B,OAAOxF,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUC,EAAU9E,GACnD,IAAIoF,EAAMT,EAAM3E,GAuBhB,OArBI+E,MAAMC,QAAQI,KAMdA,EALE,IAAqBC,UAKjBD,EAAIA,EAAIzD,OAAS,GAAGuD,WAUpBE,EAAIH,KAAK,IAAI9B,OAAO,YAAoBnD,GAAM,OAIxD8E,EAAS9E,GAAOoF,EACTN,IACN,IAiDkBQ,CAFNpB,EAAYC,GACEI,OAAOK,O,gCCtHxBpG,EAAOD,QAAUkC,OAAiB,U,gBCAhD;;;;;GAOC,WACA,aAEA,IAAI4E,IACe,oBAAX5E,SACPA,OAAO8E,WACP9E,OAAO8E,SAASC,eAGbC,EAAuB,CAE1BJ,UAAWA,EAEXK,cAAiC,oBAAXC,OAEtBC,qBACCP,MAAgB5E,OAAOoF,mBAAoBpF,OAAOqF,aAEnDC,eAAgBV,KAAe5E,OAAOuF,aAOrC,KAFD,aACC,OAAOP,GACP,8BAzBH,I,6BCPA,sCAAIQ,EAAkB,mBAElBC,EAAqB,SAA4BC,EAAOC,EAAIC,GAC9D,OAAQD,GAAM,IAAM,IAAMC,EAAGC,eAGpBC,EAAsB,SAA6B/F,GAC5D,OAAOA,EAAEgG,QAAQP,EAAiBC,IAkBrB,IAfgB,SAAkCO,GAG/D,OAAOtH,OAAO+D,KAAKuD,GAAe5B,QAAO,SAAU6B,EAAQ1G,GACzD,IAAI2G,EAAcJ,EAAoBvG,GAOtC,MALI,OAAOyD,KAAKkD,KACdA,EAAc,IAAIxD,OAAOwD,IAG3BD,EAAOC,GAAeF,EAAczG,GAC7B0G,IACN,M,6BCZL,IAAIE,EAAoB,EAAQ,IAEhCpI,EAAOD,QAAU,SAAS2B,GACtB,IAAIuB,SAAcvB,EAClB,GAAY,WAATuB,EAAmB,CAClB,IAAIoF,EAAW3G,EAGf,GAAO,KAFPA,GAAKA,IAEO0G,EAAkBC,GAAW,OAAO,OAE/C,GAAY,WAATpF,EAAmB,OAAO,EAElC,OAAOvB,EAAIA,EAAI,I,6BCpBnBf,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAA0BoG,GACxB,OAAOA,EAAIC,OAAO,GAAGC,cAAgBF,EAAIG,MAAM,IAEjDzI,EAAOD,QAAUA,EAAiB,S,6BCNhCC,EAAOD,QAAU,EAAQ,K,8BCH3B,kBAGI2I,EAHJ,QAMEA,EADkB,oBAATC,KACFA,KACoB,oBAAX1G,OACTA,YACoB,IAAX4D,EACTA,EAEA7F,EAKT,IAAIkI,EAAS,YAASQ,GACP,Q,yCClBf,IAAIE,EAGJA,EAAI,WACH,OAAOC,KADJ,GAIJ,IAECD,EAAIA,GAAK,IAAIE,SAAS,cAAb,GACR,MAAO/D,GAEc,iBAAX9C,SAAqB2G,EAAI3G,QAOrCjC,EAAOD,QAAU6I,G,6BCjBjBjI,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAAqB6G,EAASnH,EAAUV,EAAOiF,EAAO6C,GACpD,IAAK,IAAI/I,EAAI,EAAGgJ,EAAMF,EAAQ5F,OAAQlD,EAAIgJ,IAAOhJ,EAAG,CAClD,IAAIiJ,EAAiBH,EAAQ9I,GAAG2B,EAAUV,EAAOiF,EAAO6C,GAIxD,GAAIE,EACF,OAAOA,IAIblJ,EAAOD,QAAUA,EAAiB,S,6BCXlC,SAASoJ,EAASC,EAAMlI,IACO,IAAzBkI,EAAKC,QAAQnI,IACfkI,EAAKE,KAAKpI,GANdP,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAOR,SAA0BkH,EAAMG,GAC9B,GAAIhD,MAAMC,QAAQ+C,GAChB,IAAK,IAAItJ,EAAI,EAAGgJ,EAAMM,EAAOpG,OAAQlD,EAAIgJ,IAAOhJ,EAC9CkJ,EAASC,EAAMG,EAAOtJ,SAGxBkJ,EAASC,EAAMG,IAGnBvJ,EAAOD,QAAUA,EAAiB,S,6BCnBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAAkBhB,GAChB,OAAOA,aAAiBP,SAAW4F,MAAMC,QAAQtF,IAEnDlB,EAAOD,QAAUA,EAAiB,S,6BCPlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAA2BN,GACzB,OAAO,EAAI4H,EAAqBtH,SAASN,IAP3C,IAIgCuD,EAJ5BsE,EAAsB,EAAQ,IAE9BD,GAE4BrE,EAFkBsE,IAEGtE,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAKvFnF,EAAOD,QAAUA,EAAiB,S,6BChBnB,SAAS2J,EAAyBhB,GAChD,IAAIR,EACAlH,EAAS0H,EAAK1H,OAalB,MAXsB,mBAAXA,EACNA,EAAO2I,WACVzB,EAASlH,EAAO2I,YAEhBzB,EAASlH,EAAO,cAChBA,EAAO2I,WAAazB,GAGrBA,EAAS,eAGHA,EAfR,mC,cCeA,SAAS0B,EAAUC,EAAOC,EAAY5B,EAAQ6B,GAC5C,IAAIC,EAAU,GACd,OAAO,SAASC,GACd,IAAID,EAAQC,GAAZ,CAGA,IAAIC,EAAgB,GAChBC,EAAc,GACdC,EAAO,GAEX,IADAA,EAAKd,KAAK,CAAEe,KAAMJ,EAAOK,WAAW,IAC7BF,EAAKjH,OAAS,GAAG,CACtB,IAAIoH,EAAUH,EAAKA,EAAKjH,OAAS,GAC7BmH,EAAYC,EAAQD,UACpBD,EAAOE,EAAQF,KACnB,GAAKC,EA0BHF,EAAKI,MACLL,EAAYK,MACZN,EAAcG,IAAQ,EACtBL,EAAQK,IAAQ,EACXP,GAAqC,IAAvBD,EAAMQ,GAAMlH,QAC7B+E,EAAOoB,KAAKe,OA/BA,CAEd,GAAIL,EAAQK,GAAO,CACjBD,EAAKI,MACL,SACK,GAAIN,EAAcG,GAAO,CAE9B,GAAIN,EAAU,CACZK,EAAKI,MAEL,SAGF,MADAL,EAAYb,KAAKe,GACX,IAAII,EAAmBN,GAG/BD,EAAcG,IAAQ,EACtBF,EAAYb,KAAKe,GAGjB,IAFA,IAAIK,EAAYb,EAAMQ,GAEbpK,EAAIyK,EAAUvH,OAAS,EAAGlD,GAAK,EAAGA,IACzCmK,EAAKd,KAAK,CAAEe,KAAMK,EAAUzK,GAAIqK,WAAW,IAE7CC,EAAQD,WAAY,MAkB5B,IAAIK,EAAY5K,EAAQ4K,SAAW,SAAkBC,GACnD/B,KAAKgC,MAAQ,GACbhC,KAAKiC,cAAgB,GACrBjC,KAAKkC,cAAgB,GACrBlC,KAAKkB,SAAWa,KAAUA,EAAKb,UAEjCY,EAAS9I,UAAY,CAInBmJ,KAAM,WACJ,OAAOrK,OAAO+D,KAAKmE,KAAKgC,OAAO1H,QAKjC8H,QAAS,SAASZ,EAAMa,GACjBrC,KAAKsC,QAAQd,KAES,IAArB/G,UAAUH,OACZ0F,KAAKgC,MAAMR,GAAQa,EAEnBrC,KAAKgC,MAAMR,GAAQA,EAErBxB,KAAKiC,cAAcT,GAAQ,GAC3BxB,KAAKkC,cAAcV,GAAQ,KAM/Be,WAAY,SAASf,GACfxB,KAAKsC,QAAQd,YACRxB,KAAKgC,MAAMR,UACXxB,KAAKiC,cAAcT,UACnBxB,KAAKkC,cAAcV,GAC1B,CAACxB,KAAKkC,cAAelC,KAAKiC,eAAeO,SAAQ,SAASC,GACxD3K,OAAO+D,KAAK4G,GAAUD,SAAQ,SAAS7J,GACrC,IAAI+J,EAAMD,EAAS9J,GAAK6H,QAAQgB,GAC5BkB,GAAO,GACTD,EAAS9J,GAAKgK,OAAOD,EAAK,KAE3B1C,WAOTsC,QAAS,SAASd,GAChB,OAAOxB,KAAKgC,MAAM/I,eAAeuI,IAKnCoB,YAAa,SAASpB,GACpB,GAAIxB,KAAKsC,QAAQd,GACf,OAAOxB,KAAKgC,MAAMR,GAElB,MAAM,IAAIqB,MAAM,wBAA0BrB,IAM9CsB,YAAa,SAAStB,EAAMa,GAC1B,IAAIrC,KAAKsC,QAAQd,GAGf,MAAM,IAAIqB,MAAM,wBAA0BrB,GAF1CxB,KAAKgC,MAAMR,GAAQa,GASvBU,cAAe,SAASC,EAAMC,GAC5B,IAAKjD,KAAKsC,QAAQU,GAChB,MAAM,IAAIH,MAAM,wBAA0BG,GAE5C,IAAKhD,KAAKsC,QAAQW,GAChB,MAAM,IAAIJ,MAAM,wBAA0BI,GAQ5C,OAN8C,IAA1CjD,KAAKiC,cAAce,GAAMxC,QAAQyC,IACnCjD,KAAKiC,cAAce,GAAMvC,KAAKwC,IAEc,IAA1CjD,KAAKkC,cAAce,GAAIzC,QAAQwC,IACjChD,KAAKkC,cAAce,GAAIxC,KAAKuC,IAEvB,GAKTE,iBAAkB,SAASF,EAAMC,GAC/B,IAAIP,EACA1C,KAAKsC,QAAQU,KACfN,EAAM1C,KAAKiC,cAAce,GAAMxC,QAAQyC,KAC5B,GACTjD,KAAKiC,cAAce,GAAML,OAAOD,EAAK,GAIrC1C,KAAKsC,QAAQW,KACfP,EAAM1C,KAAKkC,cAAce,GAAIzC,QAAQwC,KAC1B,GACThD,KAAKkC,cAAce,GAAIN,OAAOD,EAAK,IAQzCS,MAAO,WACL,IAAIC,EAASpD,KACTX,EAAS,IAAIyC,EAOjB,OANWhK,OAAO+D,KAAKuH,EAAOpB,OACzBQ,SAAQ,SAAS3J,GACpBwG,EAAO2C,MAAMnJ,GAAKuK,EAAOpB,MAAMnJ,GAC/BwG,EAAO4C,cAAcpJ,GAAKuK,EAAOnB,cAAcpJ,GAAG+G,MAAM,GACxDP,EAAO6C,cAAcrJ,GAAKuK,EAAOlB,cAAcrJ,GAAG+G,MAAM,MAEnDP,GAUTgE,eAAgB,SAAS7B,EAAMP,GAC7B,GAAIjB,KAAKsC,QAAQd,GAAO,CACtB,IAAInC,EAAS,GACH0B,EACRf,KAAKiC,cACLhB,EACA5B,EACAW,KAAKkB,SAEPoC,CAAI9B,GACJ,IAAIkB,EAAMrD,EAAOmB,QAAQgB,GAIzB,OAHIkB,GAAO,GACTrD,EAAOsD,OAAOD,EAAK,GAEdrD,EAEP,MAAM,IAAIwD,MAAM,wBAA0BrB,IAU9C+B,aAAc,SAAS/B,EAAMP,GAC3B,GAAIjB,KAAKsC,QAAQd,GAAO,CACtB,IAAInC,EAAS,GACH0B,EACRf,KAAKkC,cACLjB,EACA5B,EACAW,KAAKkB,SAEPoC,CAAI9B,GACJ,IAAIkB,EAAMrD,EAAOmB,QAAQgB,GAIzB,OAHIkB,GAAO,GACTrD,EAAOsD,OAAOD,EAAK,GAEdrD,EAEP,MAAM,IAAIwD,MAAM,wBAA0BrB,IAU9CgC,aAAc,SAASvC,GACrB,IAAInB,EAAOE,KACPX,EAAS,GACTxD,EAAO/D,OAAO+D,KAAKmE,KAAKgC,OAC5B,GAAoB,IAAhBnG,EAAKvB,OACP,OAAO+E,EAEP,IAAKW,KAAKkB,SAAU,CAGlB,IAAIuC,EAAW1C,EAAUf,KAAKiC,eAAe,EAAO,GAAIjC,KAAKkB,UAC7DrF,EAAK2G,SAAQ,SAAS3J,GACpB4K,EAAS5K,MAIb,IAAIyK,EAAMvC,EACRf,KAAKiC,cACLhB,EACA5B,EACAW,KAAKkB,UAyBP,OArBArF,EACG6H,QAAO,SAASlC,GACf,OAA2C,IAApC1B,EAAKoC,cAAcV,GAAMlH,UAEjCkI,SAAQ,SAAS3J,GAChByK,EAAIzK,MAMJmH,KAAKkB,UACPrF,EACG6H,QAAO,SAASlC,GACf,OAAiC,IAA1BnC,EAAOmB,QAAQgB,MAEvBgB,SAAQ,SAAS3J,GAChByK,EAAIzK,MAIHwG,IAQb,IAAIuC,EAAsB1K,EAAQ0K,mBAAqB,SAAS+B,GAC9D,IAAIC,EAAU,2BAA6BD,EAAU/F,KAAK,QACtDiG,EAAW,IAAIhB,MAAMe,GAMzB,OALAC,EAASF,UAAYA,EACrB7L,OAAOgM,eAAeD,EAAU/L,OAAOwD,eAAe0E,OAClD6C,MAAMkB,mBACRlB,MAAMkB,kBAAkBF,EAAUjC,GAE7BiC,GAETjC,EAAmB5I,UAAYlB,OAAOY,OAAOmK,MAAM7J,UAAW,CAC5DwD,YAAa,CACXnE,MAAOwK,MACP7K,YAAY,EACZgM,UAAU,EACVC,cAAc,KAGlBnM,OAAOgM,eAAelC,EAAoBiB,Q;;;;;;GCxT1C3L,EAAQgN,MAkCR,SAAezE,EAAK0E,GAClB,GAAmB,iBAAR1E,EACT,MAAM,IAAI2E,UAAU,iCAQtB,IALA,IAAI9H,EAAM,GACN+H,EAAMF,GAAW,GACjBG,EAAQ7E,EAAI8E,MAAMC,GAClBC,EAAMJ,EAAIK,QAAUA,EAEftN,EAAI,EAAGA,EAAIkN,EAAMhK,OAAQlD,IAAK,CACrC,IAAIuN,EAAOL,EAAMlN,GACbwN,EAASD,EAAKnE,QAAQ,KAG1B,KAAIoE,EAAS,GAAb,CAIA,IAAIjM,EAAMgM,EAAKE,OAAO,EAAGD,GAAQE,OAC7B/G,EAAM4G,EAAKE,SAASD,EAAQD,EAAKrK,QAAQwK,OAGzC,KAAO/G,EAAI,KACbA,EAAMA,EAAI6B,MAAM,GAAI,IAIlBmF,MAAazI,EAAI3D,KACnB2D,EAAI3D,GAAOqM,EAAUjH,EAAK0G,KAI9B,OAAOnI,GAlETpF,EAAQ+N,UAqFR,SAAmBtN,EAAMoG,EAAKoG,GAC5B,IAAIE,EAAMF,GAAW,GACjBe,EAAMb,EAAIc,QAAUA,EAExB,GAAmB,mBAARD,EACT,MAAM,IAAId,UAAU,4BAGtB,IAAKgB,EAAmBhJ,KAAKzE,GAC3B,MAAM,IAAIyM,UAAU,4BAGtB,IAAI/L,EAAQ6M,EAAInH,GAEhB,GAAI1F,IAAU+M,EAAmBhJ,KAAK/D,GACpC,MAAM,IAAI+L,UAAU,2BAGtB,IAAI3E,EAAM9H,EAAO,IAAMU,EAEvB,GAAI,MAAQgM,EAAIgB,OAAQ,CACtB,IAAIA,EAAShB,EAAIgB,OAAS,EAC1B,GAAIC,MAAMD,GAAS,MAAM,IAAIxC,MAAM,6BACnCpD,GAAO,aAAe8F,KAAKC,MAAMH,GAGnC,GAAIhB,EAAIoB,OAAQ,CACd,IAAKL,EAAmBhJ,KAAKiI,EAAIoB,QAC/B,MAAM,IAAIrB,UAAU,4BAGtB3E,GAAO,YAAc4E,EAAIoB,OAG3B,GAAIpB,EAAIqB,KAAM,CACZ,IAAKN,EAAmBhJ,KAAKiI,EAAIqB,MAC/B,MAAM,IAAItB,UAAU,0BAGtB3E,GAAO,UAAY4E,EAAIqB,KAGzB,GAAIrB,EAAIsB,QAAS,CACf,GAAuC,mBAA5BtB,EAAIsB,QAAQC,YACrB,MAAM,IAAIxB,UAAU,6BAGtB3E,GAAO,aAAe4E,EAAIsB,QAAQC,cAGhCvB,EAAIwB,WACNpG,GAAO,cAGL4E,EAAIyB,SACNrG,GAAO,YAGT,GAAI4E,EAAI0B,SAAU,CAIhB,OAHuC,iBAAjB1B,EAAI0B,SACtB1B,EAAI0B,SAAS9G,cAAgBoF,EAAI0B,UAGnC,KAAK,EACHtG,GAAO,oBACP,MACF,IAAK,MACHA,GAAO,iBACP,MACF,IAAK,SACHA,GAAO,oBACP,MACF,IAAK,OACHA,GAAO,kBACP,MACF,QACE,MAAM,IAAI2E,UAAU,+BAI1B,OAAO3E,GA9JT,IAAIiF,EAASsB,mBACTb,EAASc,mBACTzB,EAAkB,MAUlBY,EAAqB,wCA6JzB,SAASJ,EAAUvF,EAAKiF,GACtB,IACE,OAAOA,EAAOjF,GACd,MAAOvD,GACP,OAAOuD,K,6BCnJXtI,EAAOD,QA5BS,SAASgP,EAAWC,EAAQC,EAAGC,EAAG5O,EAAGC,EAAGwE,EAAGoK,GAOzD,IAAKJ,EAAW,CACd,IAAIK,EACJ,QAAexB,IAAXoB,EACFI,EAAQ,IAAI1D,MACV,qIAGG,CACL,IAAI2D,EAAO,CAACJ,EAAGC,EAAG5O,EAAGC,EAAGwE,EAAGoK,GACvBG,EAAW,GACfF,EAAQ,IAAI1D,MACVsD,EAAOhH,QAAQ,OAAO,WAAa,OAAOqH,EAAKC,UAE3C9O,KAAO,sBAIf,MADA4O,EAAMG,YAAc,EACdH,K,gBC5CkR,IAAUrK,EAAjB9C,OAApNjC,EAAOD,SAA8NgF,EAApN,EAAQ,GAAsN,SAASA,GAAG,IAAIrD,EAAE,GAAG,SAASP,EAAEJ,GAAG,GAAGW,EAAEX,GAAG,OAAOW,EAAEX,GAAGhB,QAAQ,IAAIW,EAAEgB,EAAEX,GAAG,CAACd,EAAEc,EAAEb,GAAE,EAAGH,QAAQ,IAAI,OAAOgF,EAAEhE,GAAGX,KAAKM,EAAEX,QAAQW,EAAEA,EAAEX,QAAQoB,GAAGT,EAAER,GAAE,EAAGQ,EAAEX,QAAQ,OAAOoB,EAAEd,EAAE0E,EAAE5D,EAAEb,EAAEoB,EAAEP,EAAEZ,EAAE,SAASwE,EAAErD,EAAEX,GAAGI,EAAET,EAAEqE,EAAErD,IAAIf,OAAOC,eAAemE,EAAErD,EAAE,CAACb,YAAW,EAAGC,IAAIC,KAAKI,EAAEJ,EAAE,SAASgE,GAAG,oBAAoB/D,QAAQA,OAAOC,aAAaN,OAAOC,eAAemE,EAAE/D,OAAOC,YAAY,CAACC,MAAM,WAAWP,OAAOC,eAAemE,EAAE,aAAa,CAAC7D,OAAM,KAAMC,EAAEA,EAAE,SAAS4D,EAAErD,GAAG,GAAG,EAAEA,IAAIqD,EAAE5D,EAAE4D,IAAI,EAAErD,EAAE,OAAOqD,EAAE,GAAG,EAAErD,GAAG,iBAAiBqD,GAAGA,GAAGA,EAAE1D,WAAW,OAAO0D,EAAE,IAAIhE,EAAEJ,OAAOY,OAAO,MAAM,GAAGJ,EAAEJ,EAAEA,GAAGJ,OAAOC,eAAeG,EAAE,UAAU,CAACF,YAAW,EAAGK,MAAM6D,IAAI,EAAErD,GAAG,iBAAiBqD,EAAE,IAAI,IAAIrE,KAAKqE,EAAE5D,EAAEZ,EAAEQ,EAAEL,EAAE,SAASgB,GAAG,OAAOqD,EAAErD,IAAID,KAAK,KAAKf,IAAI,OAAOK,GAAGI,EAAEO,EAAE,SAASqD,GAAG,IAAIrD,EAAEqD,GAAGA,EAAE1D,WAAW,WAAW,OAAO0D,EAAE7C,SAAS,WAAW,OAAO6C,GAAG,OAAO5D,EAAEZ,EAAEmB,EAAE,IAAIA,GAAGA,GAAGP,EAAET,EAAE,SAASqE,EAAErD,GAAG,OAAOf,OAAOkB,UAAUC,eAAe1B,KAAK2E,EAAErD,IAAIP,EAAEY,EAAE,GAAGZ,EAAEA,EAAEa,EAAE,GAAj5B,CAAq5B,CAAC,SAASN,EAAEP,GAAGO,EAAE3B,QAAQgF,GAAG,SAASA,EAAErD,EAAEP,GAAG,aAAaA,EAAEJ,EAAEW,GAAG,IAAIX,EAAEI,EAAE,GAAGT,EAAE,SAASqE,EAAErD,GAAG,IAAIP,EAAET,EAAE,CAAC8O,QAAQ,IAAIC,SAAQ,SAAU1K,GAAG5D,EAAE4D,KAAKjE,IAAIH,OAAOI,EAAE2O,KAAT/O,EAAe,WAAY,OAAO8O,QAAQE,QAAQjO,KAAKkO,MAAK,SAAU7K,GAAG,OAAO8K,YAAW,WAAY,OAAOC,mBAAmBC,OAAM,SAAUhL,GAAG,OAAO,OAAOA,EAAEiL,KAAKjL,EAAEkL,MAAM,KAAK,EAAE,OAAOlL,EAAEkL,KAAK,EAAEH,mBAAmBI,MAAM/O,GAAE,IAAK,KAAK,EAAET,EAAE8O,SAAQ,EAAG,KAAK,EAAE,IAAI,MAAM,OAAOzK,EAAEoL,aAAa,GAAGpL,SAAS,OAAOpE,OAAOC,eAAemE,EAAE,oCAAoC,CAACjE,IAAI,WAAW,OAAOJ,EAAE8O,WAAW9O,EAAEI,KAAKb,EAAE,SAAS8E,EAAErD,GAAGf,OAAOC,eAAemE,EAAE,oCAAoC,CAACjE,IAAI,WAAW,OAAOsP,EAAE1O,OAAO0O,EAAE,SAASrL,GAAG,OAAOA,GAAGA,EAAEsL,mCAAmC,SAASpB,EAAElK,EAAErD,GAAG,IAAI,IAAIP,EAAE,EAAEA,EAAEO,EAAEyB,OAAOhC,IAAI,CAAC,IAAIJ,EAAEW,EAAEP,GAAGJ,EAAEF,WAAWE,EAAEF,aAAY,EAAGE,EAAE+L,cAAa,EAAG,UAAU/L,IAAIA,EAAE8L,UAAS,GAAIlM,OAAOC,eAAemE,EAAEhE,EAAES,IAAIT,IAAI,IAAIT,EAAE,6BAA6B6O,EAAE,WAAW,SAASpK,KAAK,SAASA,EAAErD,GAAG,KAAKqD,aAAarD,GAAG,MAAM,IAAIuL,UAAU,qCAAvD,CAA6FpE,KAAK9D,GAAG,IAAIrD,EAAIX,EAAE,OAAOW,EAAEqD,GAAEhE,EAAE,CAAC,CAACS,IAAI,sBAAsBN,MAAM,WAAWe,OAAOqO,cAAc,IAAIC,YAAYjQ,MAAM,CAACkB,IAAI,WAAWN,MAAM,SAAS6D,GAAG,OAAO9C,OAAOoF,iBAAiB/G,EAAEyE,GAAG,WAAW,OAAO9C,OAAOuO,oBAAoBlQ,EAAEyE,SAAqCkK,EAAEvN,EAAEX,GAAGgE,EAA9Y,GAAmZ5D,EAAEZ,EAAEmB,EAAE,kBAAiB,WAAY,OAAOhB,KAAKS,EAAEZ,EAAEmB,EAAE,yBAAwB,WAAY,OAAOzB,KAAKkB,EAAEZ,EAAEmB,EAAE,WAAU,WAAY,OAAO0O,KAAKjP,EAAEZ,EAAEmB,EAAE,WAAU,WAAY,OAAOyN,U,6BCEzqFxO,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAoBR,SAAwBuO,GACtB,IAAIC,EAAYD,EAAKC,UACjB3H,EAAU0H,EAAK1H,QAuCnB,OArCA,SAASzD,EAAUa,GACjB,IAAK,IAAIvE,KAAYuE,EAAO,CAC1B,IAAIjF,EAAQiF,EAAMvE,GAGlB,IAAI,EAAI+O,EAAWzO,SAAShB,GAC1BiF,EAAMvE,GAAY0D,EAAUpE,QAEvB,GAAIqF,MAAMC,QAAQtF,GAAQ,CAG/B,IAFA,IAAI0P,EAAgB,GAEX3Q,EAAI,EAAGgJ,EAAM/H,EAAMiC,OAAQlD,EAAIgJ,IAAOhJ,EAAG,CAChD,IAAIiJ,GAAiB,EAAI2H,EAAc3O,SAAS6G,EAASnH,EAAUV,EAAMjB,GAAIkG,EAAOuK,IACpF,EAAII,EAAmB5O,SAAS0O,EAAe1H,GAAkBhI,EAAMjB,IAKrE2Q,EAAczN,OAAS,IACzBgD,EAAMvE,GAAYgP,OAEf,CACL,IAAIG,GAAkB,EAAIF,EAAc3O,SAAS6G,EAASnH,EAAUV,EAAOiF,EAAOuK,GAI9EK,IACF5K,EAAMvE,GAAYmP,GAGpB5K,GAAQ,EAAI6K,EAAiB9O,SAASwO,EAAW9O,EAAUuE,IAI/D,OAAOA,IAxDX,IAEI6K,EAAmBC,EAFD,EAAQ,KAM1BJ,EAAgBI,EAFD,EAAQ,KAMvBH,EAAqBG,EAFD,EAAQ,KAM5BN,EAAaM,EAFD,EAAQ,KAIxB,SAASA,EAAuB9L,GAAO,OAAOA,GAAOA,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GA6CvFnF,EAAOD,QAAUA,EAAiB,S,6BClElCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAGT,IAAIgQ,EAAe,WAAc,SAASC,EAAiBC,EAAQC,GAAS,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAMlO,OAAQlD,IAAK,CAAE,IAAI6E,EAAauM,EAAMpR,GAAI6E,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWgI,cAAe,EAAU,UAAWhI,IAAYA,EAAW+H,UAAW,GAAMlM,OAAOC,eAAewQ,EAAQtM,EAAWtD,IAAKsD,IAAiB,OAAO,SAAUwM,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYJ,EAAiBG,EAAYzP,UAAW0P,GAAiBC,GAAaL,EAAiBG,EAAaE,GAAqBF,GAA7gB,GAEnBvR,EAAQmC,QA8BR,SAAwBuO,GACtB,IAAIC,EAAYD,EAAKC,UACjB3H,EAAU0H,EAAK1H,QACf0I,EAAWnO,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,GAAmBA,UAAU,GAAK,SAAU6C,GAC3F,OAAOA,GAGT,OAAO,WAML,SAASuL,IACP,IAAI1E,EAAU1J,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,GAAmBA,UAAU,GAAK,GAElFqO,EAAgB9I,KAAM6I,GAEtB,IAAIE,EAAwC,oBAAd9L,UAA4BA,UAAUH,eAAYiI,EAUhF,GARA/E,KAAKgJ,WAAa7E,EAAQrH,WAAaiM,EACvC/I,KAAKiJ,gBAAkB9E,EAAQ5K,iBAAkB,EAE7CyG,KAAKgJ,aACPhJ,KAAKkJ,cAAe,EAAIC,EAAwB9P,SAAS2G,KAAKgJ,cAI5DhJ,KAAKkJ,eAAgBlJ,KAAKkJ,aAAaE,UAIzC,OADApJ,KAAKqJ,cAAe,GACb,EAHPrJ,KAAK7C,mBAAoB,EAAImM,EAAuBjQ,SAAS2G,KAAKkJ,aAAaK,YAAavJ,KAAKkJ,aAAaM,eAAgBxJ,KAAKkJ,aAAaE,WAMlJ,IAAIK,EAAazJ,KAAKkJ,aAAaK,aAAe1B,EAAU7H,KAAKkJ,aAAaK,aAC9E,GAAIE,EAAY,CAGd,IAAK,IAAI1Q,KAFTiH,KAAK0J,gBAAkB,GAEFD,EACfA,EAAW1Q,IAAaiH,KAAKkJ,aAAaM,iBAC5CxJ,KAAK0J,gBAAgB3Q,IAAY,GAIrCiH,KAAK2J,yBAA2B7R,OAAO+D,KAAKmE,KAAK0J,iBAAiBpP,OAAS,OAE3E0F,KAAKqJ,cAAe,EAGtBrJ,KAAK4J,UAAY,CACfJ,eAAgBxJ,KAAKkJ,aAAaM,eAClCD,YAAavJ,KAAKkJ,aAAaK,YAC/BH,UAAWpJ,KAAKkJ,aAAaE,UAC7BS,SAAU7J,KAAKkJ,aAAaW,SAC5BtQ,eAAgByG,KAAKiJ,gBACrBa,eAAgB9J,KAAK0J,iBA6EzB,OAzEArB,EAAaQ,EAAU,CAAC,CACtBlQ,IAAK,SACLN,MAAO,SAAgBiF,GAErB,OAAI0C,KAAKqJ,aACAT,EAAStL,GAIb0C,KAAK2J,yBAIH3J,KAAK+J,aAAazM,GAHhBA,IAKV,CACD3E,IAAK,eACLN,MAAO,SAAsBiF,GAC3B,IAAK,IAAIvE,KAAYuE,EAAO,CAC1B,IAAIjF,EAAQiF,EAAMvE,GAGlB,IAAI,EAAI+O,EAAWzO,SAAShB,GAC1BiF,EAAMvE,GAAYiH,KAAK9C,OAAO7E,QAEzB,GAAIqF,MAAMC,QAAQtF,GAAQ,CAG/B,IAFA,IAAI0P,EAAgB,GAEX3Q,EAAI,EAAGgJ,EAAM/H,EAAMiC,OAAQlD,EAAIgJ,IAAOhJ,EAAG,CAChD,IAAIiJ,GAAiB,EAAI2H,EAAc3O,SAAS6G,EAASnH,EAAUV,EAAMjB,GAAIkG,EAAO0C,KAAK4J,YACzF,EAAI3B,EAAmB5O,SAAS0O,EAAe1H,GAAkBhI,EAAMjB,IAKrE2Q,EAAczN,OAAS,IACzBgD,EAAMvE,GAAYgP,OAEf,CACL,IAAIG,GAAkB,EAAIF,EAAc3O,SAAS6G,EAASnH,EAAUV,EAAOiF,EAAO0C,KAAK4J,WAInF1B,IACF5K,EAAMvE,GAAYmP,GAIhBlI,KAAK0J,gBAAgBzQ,eAAeF,KACtCuE,EAAM0C,KAAKkJ,aAAaW,UAAW,EAAIG,EAAmB3Q,SAASN,IAAaV,EAC3E2H,KAAKiJ,wBACD3L,EAAMvE,KAMrB,OAAOuE,KASP,CAAC,CACH3E,IAAK,YACLN,MAAO,SAAmB4R,GACxB,OAAOrB,EAASqB,OAIbpB,EA9HF,IAnCT,IAEIM,EAA0Bf,EAFD,EAAQ,KAMjCkB,EAAyBlB,EAFD,EAAQ,KAMhC4B,EAAqB5B,EAFD,EAAQ,KAM5BH,EAAqBG,EAFD,EAAQ,KAM5BN,EAAaM,EAFD,EAAQ,KAMpBJ,EAAgBI,EAFD,EAAQ,KAI3B,SAASA,EAAuB9L,GAAO,OAAOA,GAAOA,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,SAASwM,EAAgBjF,EAAU4E,GAAe,KAAM5E,aAAoB4E,GAAgB,MAAM,IAAIrE,UAAU,qCA0IhHjN,EAAOD,QAAUA,EAAiB,S,6BC9KlC,gNAYIgT,EAAI,CAAC,UACL1S,EAAI,CAAC,OACL2S,EAAK,CAAC,MACNC,EAAK,CAAC,SAAU,OAChBC,EAAM,CAAC,SAAU,MACjBC,EAAO,CAAC,SAAU,MAAO,MACd,KACbpK,QAAS,CAAC,IAAM,IAAW,IAAQ,IAAQ,IAAM,IAAW,IAAY,IAAU,IAAU,IAAU,IAAQ,KAC9G2H,UAAW,CACT0C,UAAWF,EACXG,gBAAiBH,EACjBI,iBAAkBJ,EAClBK,iBAAkBL,EAClBM,mBAAoBT,EACpBU,YAAaV,EACbW,kBAAmBX,EACnBY,eAAgBZ,EAChBa,iBAAkBb,EAClBc,UAAWd,EACXe,eAAgBf,EAChBgB,mBAAoBhB,EACpBiB,kBAAmBjB,EACnBkB,kBAAmBlB,EACnBmB,wBAAyBnB,EACzBoB,cAAepB,EACfqB,mBAAoBrB,EACpBsB,wBAAyBtB,EACzBuB,WAAYrB,EACZsB,WAAYpB,EACZqB,YAAazB,EACb0B,qBAAsB1B,EACtB2B,aAAc3B,EACd4B,kBAAmB5B,EACnB6B,kBAAmB7B,EACnB8B,mBAAoB9B,EACpB+B,SAAU/B,EACVgC,UAAWhC,EACXiC,SAAUjC,EACVkC,WAAYlC,EACZmC,aAAcnC,EACdoC,SAAUpC,EACVqC,WAAYrC,EACZsC,SAAUtC,EACVuC,cAAevC,EACfwC,KAAMxC,EACNyC,iBAAkBzC,EAClB0C,eAAgB1C,EAChB2C,gBAAiB3C,EACjB4C,gBAAiB5C,EACjB6C,iBAAkB7C,EAClB8C,iBAAkB9C,EAClB+C,WAAY/C,EACZgD,SAAUhD,EACViD,oBAAqB/C,EACrBgD,mBAAoBhD,EACpBiD,mBAAoBjD,EACpBkD,oBAAqBlD,EACrB1G,OAAQwG,EACRqD,oBAAqBnD,EACrBoD,WAAYlD,EACZmD,YAAanD,EACboD,YAAapD,EACbqD,YAAavD,EACbwD,WAAYxD,EACZyD,UAAWzD,EACX0D,WAAY1D,EACZ2D,gBAAiB3D,EACjB4D,gBAAiB5D,EACjB6D,gBAAiB7D,EACjB8D,QAAS9D,EACT+D,WAAY/D,EACZgE,YAAahE,EACbiE,YAAahE,EACbiE,KAAMjE,EACNkE,UAAWrE,EACXsE,cAAenE,EACfoE,SAAUvE,EACVwE,SAAUrE,EACVsE,WAAYzE,EACZ0E,SAAUvE,EACVwE,aAAc3E,EACd4E,WAAY5E,EACZ6E,UAAW7E,EACX8E,eAAgB9E,EAChB+E,MAAO/E,EACPgF,gBAAiBhF,EACjBiF,mBAAoBjF,EACpBkF,mBAAoBlF,EACpBmF,yBAA0BnF,EAC1BoF,eAAgBpF,EAChBqF,eAAgBlF,EAChBmF,kBAAmBnF,EACnBoF,kBAAmBpF,EACnBqF,sBAAuBrF,EACvBsF,qBAAsBtF,EACtBuF,oBAAqB1F,EACrB2F,iBAAkB3F,EAClB4F,kBAAmB5F,EACnB6F,QAASzF,EACT0F,SAAU3F,EACV4F,SAAU5F,EACV6F,eAAgB7F,EAChB8F,UAAW3Y,EACX4Y,cAAe5Y,EACf6Y,QAAS7Y,EACT8Y,SAAUnG,EACVoG,YAAapG,EACbqG,WAAYrG,EACZsG,YAAatG,EACbuG,oBAAqBvG,EACrBwG,iBAAkBxG,EAClByG,kBAAmBzG,EACnB0G,aAAc1G,EACd2G,gBAAiB3G,EACjB4G,aAAc5G,EACd6G,aAAc7G,EACd8G,KAAM9G,EACN+G,aAAc/G,EACdgH,gBAAiBhH,EACjBiH,WAAYjH,EACZkH,QAASlH,EACTmH,WAAYnH,EACZoH,cAAepH,EACfqH,cAAerH,EACfsH,WAAYtH,EACZuH,SAAUvH,EACVwH,QAASxH,EACTyH,eAAgBvH,EAChBwH,YAAa3H,EACb4H,kBAAmB5H,EACnB6H,kBAAmB7H,EACnB8H,iBAAkB9H,EAClB+H,kBAAmB/H,EACnBgI,iBAAkBhI,K,6BC/ItBpS,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QASR,SAAcN,EAAUV,GACtB,GAAqB,iBAAVA,KAAuB,EAAI8Z,EAAkB9Y,SAAShB,IAAUA,EAAMmI,QAAQ,UAAY,EACnG,OAAO4R,EAASC,KAAI,SAAUnV,GAC5B,OAAO7E,EAAM8G,QAAQ,UAAWjC,EAAS,aAV/C,IAIgCZ,EAJ5BgW,EAAmB,EAAQ,GAE3BH,GAE4B7V,EAFegW,IAEMhW,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAI8V,EAAW,CAAC,WAAY,QAAS,IAQrCjb,EAAOD,QAAUA,EAAiB,S,6BCnBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAUR,SAAmBN,EAAUV,GAC3B,GAAqB,iBAAVA,KAAuB,EAAI8Z,EAAkB9Y,SAAShB,IAAUA,EAAMmI,QAAQ,gBAAkB,EACzG,OAAO4R,EAASC,KAAI,SAAUnV,GAC5B,OAAO7E,EAAM8G,QAAQ,gBAAiBjC,EAAS,mBAXrD,IAIgCZ,EAJ5BgW,EAAmB,EAAQ,GAE3BH,GAE4B7V,EAFegW,IAEMhW,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAGvF,IAAI8V,EAAW,CAAC,WAAY,IAQ5Bjb,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAUR,SAAgBN,EAAUV,GACxB,GAAiB,WAAbU,GAAyB2H,EAAOzH,eAAeZ,GACjD,OAAO+Z,EAASC,KAAI,SAAUnV,GAC5B,OAAOA,EAAS7E,MAZtB,IAAI+Z,EAAW,CAAC,WAAY,QAAS,IAEjC1R,EAAS,CACX,WAAW,EACX,YAAY,EACZ6R,MAAM,EACNC,UAAU,GAUZrb,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAUR,SAAgBN,EAAUV,GACxB,GAAqB,iBAAVA,KAAuB,EAAI8Z,EAAkB9Y,SAAShB,IAAUA,EAAMmI,QAAQ,YAAc,EACrG,OAAO4R,EAASC,KAAI,SAAUnV,GAC5B,OAAO7E,EAAM8G,QAAQ,YAAajC,EAAS,eAXjD,IAIgCZ,EAJ5BgW,EAAmB,EAAQ,GAE3BH,GAE4B7V,EAFegW,IAEMhW,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAGvF,IAAI8V,EAAW,CAAC,WAAY,IAQ5Bjb,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAMR,SAAcN,EAAUV,GACtB,GAAiB,YAAbU,GAA0B2H,EAAOzH,eAAeZ,GAClD,OAAOqI,EAAOrI,IAPlB,IAAIqI,EAAS,CACX4N,KAAM,CAAC,cAAe,WAAY,cAAe,eAAgB,QACjE,cAAe,CAAC,qBAAsB,kBAAmB,qBAAsB,sBAAuB,gBAQxGnX,EAAOD,QAAUA,EAAiB,S,6BCdlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAkBR,SAAmBN,EAAUV,EAAOiF,GAC9BmV,EAAiBxZ,eAAeF,KAClCuE,EAAMmV,EAAiB1Z,IAAa2Z,EAAkBra,IAAUA,IAnBpE,IAAIqa,EAAoB,CACtB,eAAgB,aAChB,gBAAiB,UACjB,aAAc,QACd,WAAY,OAEVD,EAAmB,CACrB5D,aAAc,iBACdE,UAAW,kBACXD,WAAY,cACZE,eAAgB,aAChBC,MAAO,cACPR,SAAU,iBACVE,WAAY,iBACZJ,UAAW,uBAQbpX,EAAOD,QAAUA,EAAiB,S,6BC1BlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAmBR,SAAoBN,EAAUV,EAAOiF,GAClB,kBAAbvE,GAAiD,iBAAVV,IACrCA,EAAMmI,QAAQ,WAAa,EAC7BlD,EAAMqV,gBAAkB,WAExBrV,EAAMqV,gBAAkB,aAEtBta,EAAMmI,QAAQ,YAAc,EAC9BlD,EAAMsV,mBAAqB,UAE3BtV,EAAMsV,mBAAqB,UAG3BH,EAAiBxZ,eAAeF,KAClCuE,EAAMmV,EAAiB1Z,IAAa2Z,EAAkBra,IAAUA,IAhCpE,IAAIqa,EAAoB,CACtB,eAAgB,UAChB,gBAAiB,UACjB,aAAc,QACd,WAAY,MACZ,eAAgB,WAChBG,KAAM,WACNvE,KAAM,MACN,cAAe,cAGbmE,EAAmB,CACrB3D,WAAY,iBACZE,eAAgB,gBAChBJ,SAAU,iBACVH,SAAU,iBAoBZtX,EAAOD,QAAUA,EAAiB,S,6BCvClCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAYR,SAAkBN,EAAUV,GAC1B,GAAqB,iBAAVA,KAAuB,EAAI8Z,EAAkB9Y,SAAShB,IAAUqI,EAAOtE,KAAK/D,GACrF,OAAO+Z,EAASC,KAAI,SAAUnV,GAC5B,OAAO7E,EAAM8G,QAAQuB,GAAQ,SAAUoS,GACrC,OAAO5V,EAAS4V,SAdxB,IAIgCxW,EAJ5BgW,EAAmB,EAAQ,GAE3BH,GAE4B7V,EAFegW,IAEMhW,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAI8V,EAAW,CAAC,WAAY,QAAS,IAEjC1R,EAAS,wFAWbvJ,EAAOD,QAAUA,EAAiB,S,6BCxBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAUR,SAAkBN,EAAUV,GAC1B,GAAqB,iBAAVA,KAAuB,EAAI8Z,EAAkB9Y,SAAShB,IAAUA,EAAMmI,QAAQ,eAAiB,EACxG,OAAO4R,EAASC,KAAI,SAAUnV,GAC5B,OAAO7E,EAAM8G,QAAQ,eAAgBjC,EAAS,kBAXpD,IAIgCZ,EAJ5BgW,EAAmB,EAAQ,GAE3BH,GAE4B7V,EAFegW,IAEMhW,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAGvF,IAAI8V,EAAW,CAAC,WAAY,IAQ5Bjb,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAAkBN,EAAUV,GAC1B,GAAiB,aAAbU,GAAqC,WAAVV,EAC7B,MAAO,CAAC,iBAAkB,WAG9BlB,EAAOD,QAAUA,EAAiB,S,6BCTlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAoBR,SAAgBN,EAAUV,GACxB,GAAI0a,EAAW9Z,eAAeF,IAAa2H,EAAOzH,eAAeZ,GAC/D,OAAO+Z,EAASC,KAAI,SAAUnV,GAC5B,OAAOA,EAAS7E,MAtBtB,IAAI+Z,EAAW,CAAC,WAAY,QAAS,IAEjCW,EAAa,CACfC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,EACR/E,aAAa,EACbgF,UAAU,EACVC,WAAW,GAET3S,EAAS,CACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GAUpBvJ,EAAOD,QAAUA,EAAiB,S,6BC9BlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QA6DR,SAAoBN,EAAUV,EAAOiF,EAAOgW,GAE1C,GAAqB,iBAAVjb,GAAsB0a,EAAW9Z,eAAeF,GAAW,CACpE,IAAIwa,EAhCR,SAAqBlb,EAAOib,GAC1B,IAAI,EAAInB,EAAkB9Y,SAAShB,GACjC,OAAOA,EAMT,IAFA,IAAImb,EAAiBnb,EAAMkM,MAAM,iCAExBnN,EAAI,EAAGgJ,EAAMoT,EAAelZ,OAAQlD,EAAIgJ,IAAOhJ,EAAG,CACzD,IAAIqc,EAAcD,EAAepc,GAC7BsJ,EAAS,CAAC+S,GACd,IAAK,IAAI1a,KAAYua,EAAmB,CACtC,IAAII,GAAmB,EAAIC,EAAoBta,SAASN,GAExD,GAAI0a,EAAYjT,QAAQkT,IAAqB,GAA0B,UAArBA,EAEhD,IADA,IAAItB,EAAWkB,EAAkBva,GACxB6a,EAAI,EAAGC,EAAOzB,EAAS9X,OAAQsZ,EAAIC,IAAQD,EAElDlT,EAAOoT,QAAQL,EAAYtU,QAAQuU,EAAkBK,EAAc3B,EAASwB,IAAMF,IAKxFF,EAAepc,GAAKsJ,EAAO9C,KAAK,KAGlC,OAAO4V,EAAe5V,KAAK,KAMPoW,CAAY3b,EAAOib,GAEjCW,EAAeV,EAAYhP,MAAM,iCAAiCb,QAAO,SAAU3F,GACrF,OAAQ,aAAa3B,KAAK2B,MACzBH,KAAK,KAER,GAAI7E,EAASyH,QAAQ,WAAa,EAChC,OAAOyT,EAGT,IAAIC,EAAYX,EAAYhP,MAAM,iCAAiCb,QAAO,SAAU3F,GAClF,OAAQ,gBAAgB3B,KAAK2B,MAC5BH,KAAK,KAER,OAAI7E,EAASyH,QAAQ,QAAU,EACtB0T,GAGT5W,EAAM,UAAW,EAAI0M,EAAmB3Q,SAASN,IAAakb,EAC9D3W,EAAM,OAAQ,EAAI0M,EAAmB3Q,SAASN,IAAamb,EACpDX,KAlFX,IAEII,EAAsBvL,EAFD,EAAQ,KAM7B+J,EAAoB/J,EAFD,EAAQ,IAM3B4B,EAAqB5B,EAFD,EAAQ,KAIhC,SAASA,EAAuB9L,GAAO,OAAOA,GAAOA,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIyW,EAAa,CACfoB,YAAY,EACZ/E,oBAAoB,EACpBgF,kBAAkB,EAClBC,0BAA0B,EAC1BC,eAAe,EACfC,uBAAuB,GAIrBR,EAAgB,CAClBS,OAAQ,WACRC,IAAK,QACLtK,GAAI,QA0DNhT,EAAOD,QAAUA,EAAiB,S,6BC5FlC,gNAYe,KACbgJ,QAAS,CAAC,IAAM,IAAW,IAAQ,IAAQ,IAAM,IAAW,IAAY,IAAU,IAAU,IAAU,IAAQ,KAC9G2H,UAAW,CACT6M,OAAQ,CACNnK,UAAW,GACXC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,mBAAoB,GACpBC,YAAa,GACbC,kBAAmB,GACnBC,eAAgB,GAChBC,iBAAkB,GAClBC,UAAW,GACXC,eAAgB,GAChBC,mBAAoB,GACpBC,kBAAmB,GACnBC,kBAAmB,GACnBC,wBAAyB,GACzBC,cAAe,GACfC,mBAAoB,GACpBC,wBAAyB,GACzBC,WAAY,GACZC,WAAY,GACZC,YAAa,GACbC,qBAAsB,GACtBC,aAAc,GACdC,kBAAmB,GACnBC,kBAAmB,GACnBC,mBAAoB,GACpBC,SAAU,GACVC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,GACVC,oBAAqB,GACrBC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrB5J,OAAQ,GACR6J,oBAAqB,GACrBC,WAAY,GACZC,YAAa,GACbC,YAAa,GACbC,YAAa,GACbC,WAAY,GACZC,UAAW,GACXC,WAAY,GACZC,gBAAiB,GACjBC,gBAAiB,GACjBC,gBAAiB,GACjBC,QAAS,GACTC,WAAY,GACZC,YAAa,GACbC,YAAa,IAEfsG,OAAQ,CACNrG,KAAM,EACNC,UAAW,EACXC,cAAe,EACfC,SAAU,EACVC,SAAU,EACVC,WAAY,EACZC,SAAU,EACVC,aAAc,EACdC,WAAY,EACZC,UAAW,EACXC,eAAgB,EAChBC,MAAO,EACPkF,WAAY,EACZjF,gBAAiB,EACjBC,mBAAoB,EACpBC,mBAAoB,EACpBC,yBAA0B,EAC1B9E,UAAW,EACXC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBC,mBAAoB,EACpBC,YAAa,EACbC,kBAAmB,EACnBC,eAAgB,EAChBC,iBAAkB,EAClBC,UAAW,EACXC,eAAgB,EAChBC,mBAAoB,EACpBC,kBAAmB,EACnBC,kBAAmB,EACnBC,wBAAyB,EACzBC,cAAe,EACfC,mBAAoB,EACpBC,wBAAyB,EACzBC,WAAY,GACZC,WAAY,GACZ4D,eAAgB,GAChB3D,YAAa,EACb4D,eAAgB,KAChBC,kBAAmB,KACnBC,kBAAmB,KACnBC,sBAAuB,KACvBC,qBAAsB,KACtB/D,qBAAsB,EACtBC,aAAc,EACdC,kBAAmB,EACnBC,kBAAmB,EACnBC,mBAAoB,GACpBC,SAAU,GACVC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,GACVC,oBAAqB,GACrBC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrBsC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBpM,OAAQ,EACRqM,QAAS,GACTC,SAAU,GACVC,SAAU,GACVxC,YAAa,EACbD,WAAY,EACZE,YAAa,EACbwC,eAAgB,GAChBvC,YAAa,EACbC,WAAY,EACZC,UAAW,EACXC,WAAY,EACZC,gBAAiB,EACjBC,gBAAiB,EACjBC,gBAAiB,EACjBC,QAAS,EACTC,WAAY,EACZC,YAAa,EACbC,YAAa,MAEfuG,QAAS,CACPnJ,WAAY,GACZC,WAAY,GACZyE,UAAW,GACXC,cAAe,GACfjD,oBAAqB,GACrBC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrB+C,QAAS,GACTN,QAAS,GACTxC,oBAAqB,GACrBC,WAAY,GACZC,YAAa,GACbC,YAAa,GACbC,YAAa,GACbC,WAAY,GACZC,UAAW,GACXC,WAAY,GACZC,gBAAiB,GACjBC,gBAAiB,GACjBC,gBAAiB,GACjBC,QAAS,GACTC,WAAY,GACZC,YAAa,IAEfyG,MAAO,CACLvG,KAAM,GACNC,UAAW,GACXC,cAAe,GACfC,SAAU,GACVC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,aAAc,GACdC,WAAY,GACZC,UAAW,GACXC,eAAgB,GAChBC,MAAO,GACP1E,UAAW,GACXC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,mBAAoB,GACpBC,YAAa,GACbC,kBAAmB,GACnBC,eAAgB,GAChBC,iBAAkB,GAClBC,UAAW,GACXC,eAAgB,GAChBC,mBAAoB,GACpBC,kBAAmB,GACnBC,kBAAmB,GACnBC,wBAAyB,GACzBC,cAAe,GACfC,mBAAoB,GACpBC,wBAAyB,GACzBC,WAAY,GACZC,WAAY,GACZC,YAAa,GACbC,qBAAsB,GACtBC,aAAc,GACdC,kBAAmB,GACnBC,kBAAmB,GACnBC,mBAAoB,GACpBC,SAAU,GACVC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,GACVC,oBAAqB,GACrBC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrB5J,OAAQ,GACR6J,oBAAqB,GACrBC,WAAY,GACZC,YAAa,GACbC,YAAa,GACbC,YAAa,GACbC,WAAY,GACZC,UAAW,GACXC,WAAY,GACZC,gBAAiB,GACjBC,gBAAiB,GACjBC,gBAAiB,GACjBC,QAAS,GACTC,WAAY,GACZC,YAAa,GACbC,YAAa,IAEfyG,GAAI,CACFxG,KAAM,GACNE,cAAe,GACfE,SAAU,GACVE,SAAU,GACVrE,UAAW,EACXC,gBAAiB,EACjBC,iBAAkB,EAClBC,iBAAkB,EAClBgB,WAAY,GACZ4E,SAAU,GACVC,YAAa,GACbC,WAAY,GACZjB,eAAgB,GAChBC,kBAAmB,GACnBC,kBAAmB,GACnBC,sBAAuB,GACvBC,qBAAsB,GACtBc,YAAa,GACbV,QAAS,GACTC,SAAU,GACVC,SAAU,GACVxC,YAAa,GACbD,WAAY,GACZE,YAAa,GACbwC,eAAgB,GAChBQ,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,aAAc,GACdC,gBAAiB,GACjBC,aAAc,GACdC,aAAc,GACdC,KAAM,GACNC,aAAc,GACdC,gBAAiB,GACjBC,WAAY,GACZC,QAAS,GACTC,WAAY,GACZC,cAAe,GACfC,cAAe,GACfC,WAAY,GACZC,SAAU,GACVC,QAAS,GACTC,eAAgB,GAChBvD,YAAa,IAEf0G,KAAM,CACJrJ,WAAY,GACZ4E,SAAU,GACVC,YAAa,GACbC,WAAY,GACZjB,eAAgB,GAChBC,kBAAmB,GACnBC,kBAAmB,GACnBC,sBAAuB,GACvBC,qBAAsB,GACtBI,QAAS,GACTC,SAAU,GACVC,SAAU,GACVxC,YAAa,GACbD,WAAY,GACZE,YAAa,GACbwC,eAAgB,GAChBQ,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBC,aAAc,GACdC,gBAAiB,GACjBC,aAAc,GACdC,aAAc,GACdC,KAAM,GACNC,aAAc,GACdC,gBAAiB,GACjBC,WAAY,GACZC,QAAS,GACTC,WAAY,GACZC,cAAe,GACfC,cAAe,GACfC,WAAY,GACZC,SAAU,GACVC,QAAS,IAEXqD,QAAS,CACP1G,KAAM,IACNC,UAAW,IACXC,cAAe,IACfC,SAAU,IACVC,SAAU,IACVC,WAAY,IACZC,SAAU,IACVC,aAAc,IACdC,WAAY,IACZC,UAAW,IACXC,eAAgB,IAChBC,MAAO,IACPkF,WAAY,EACZjF,gBAAiB,EACjBC,mBAAoB,EACpBC,mBAAoB,EACpBC,yBAA0B,EAC1B9E,UAAW,IACXC,gBAAiB,IACjBC,iBAAkB,IAClBC,iBAAkB,IAClBC,mBAAoB,IACpBC,YAAa,IACbC,kBAAmB,IACnBC,eAAgB,IAChBC,iBAAkB,IAClBC,UAAW,IACXC,eAAgB,IAChBC,mBAAoB,IACpBC,kBAAmB,IACnBC,kBAAmB,IACnBC,wBAAyB,IACzBC,cAAe,IACfC,mBAAoB,IACpBC,wBAAyB,IACzBC,WAAY,GACZC,WAAY,GACZ4D,eAAgB,GAChB3D,YAAa,GACb4D,eAAgB,KAChBC,kBAAmB,KACnBC,kBAAmB,KACnBC,sBAAuB,KACvBC,qBAAsB,KACtB3D,mBAAoB,GACpBC,SAAU,GACVC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,GACV0E,eAAgB,GAChBzE,oBAAqB,GACrBC,mBAAoB,GACpBC,mBAAoB,GACpBC,oBAAqB,GACrBsC,oBAAqB,GACrBC,iBAAkB,GAClBC,kBAAmB,GACnBpM,OAAQ,EACRqM,QAAS,GACTC,SAAU,GACVC,SAAU,GACVxC,YAAa,IACbD,WAAY,IACZE,YAAa,IACbwC,eAAgB,GAChBvC,YAAa,IACbC,WAAY,IACZC,UAAW,IACXC,WAAY,IACZC,gBAAiB,IACjBC,gBAAiB,IACjBC,gBAAiB,IACjBC,QAAS,IACTC,WAAY,IACZC,YAAa,IACbC,YAAa,MAEf4G,QAAS,CACPpD,YAAa,IACbC,kBAAmB,IACnBC,kBAAmB,IACnBC,iBAAkB,IAClBC,kBAAmB,IACnBC,iBAAkB,IAClB5D,KAAM,IACNC,UAAW,IACXC,cAAe,IACfC,SAAU,IACVC,SAAU,IACVC,WAAY,IACZC,SAAU,IACVC,aAAc,IACdC,WAAY,IACZC,UAAW,IACXC,eAAgB,IAChBC,MAAO,IACPkF,WAAY,IACZjF,gBAAiB,IACjBC,mBAAoB,IACpBC,mBAAoB,IACpBC,yBAA0B,IAC1B9E,UAAW,IACXC,gBAAiB,IACjBC,iBAAkB,IAClBC,iBAAkB,IAClBC,mBAAoB,IACpBC,YAAa,IACbC,kBAAmB,IACnBC,eAAgB,IAChBC,iBAAkB,IAClBC,UAAW,IACXC,eAAgB,IAChBC,mBAAoB,IACpBC,kBAAmB,IACnBC,kBAAmB,IACnBC,wBAAyB,IACzBC,cAAe,IACfC,mBAAoB,IACpBC,wBAAyB,IACzBC,WAAY,GACZC,WAAY,IACZC,YAAa,IACbC,qBAAsB,GACtBC,aAAc,GACdC,kBAAmB,GACnBC,kBAAmB,GACnBC,mBAAoB,GACpBC,SAAU,IACVC,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,GACVxJ,OAAQ,IACR6J,oBAAqB,IACrBC,WAAY,IACZC,YAAa,IACbC,YAAa,IACbC,YAAa,IACbC,WAAY,IACZC,UAAW,IACXC,WAAY,IACZC,gBAAiB,IACjBC,gBAAiB,IACjBC,gBAAiB,IACjBC,QAAS,IACTC,WAAY,IACZC,YAAa,IACbC,YAAa,KAEf6G,QAAS,CACPzJ,WAAY,GACZG,qBAAsB,GACtBC,aAAc,GACdC,kBAAmB,GACnBC,kBAAmB,GACnBC,mBAAoB,GACpBE,UAAW,GACXC,SAAU,GACVC,WAAY,GACZC,aAAc,GACdC,SAAU,GACVC,WAAY,GACZC,SAAU,GACVC,cAAe,GACfC,KAAM,GACNC,iBAAkB,GAClBC,eAAgB,GAChBC,gBAAiB,GACjBC,gBAAiB,GACjBC,iBAAkB,GAClBC,iBAAkB,GAClBC,WAAY,GACZC,SAAU,IAEZiI,OAAQ,CACN7G,KAAM,KACNC,UAAW,KACXC,cAAe,KACfC,SAAU,KACVC,SAAU,KACVC,WAAY,KACZC,SAAU,KACVC,aAAc,KACdC,WAAY,KACZC,UAAW,KACXC,eAAgB,KAChBC,MAAO,KACP1E,UAAW,KACXC,gBAAiB,KACjBC,iBAAkB,KAClBC,iBAAkB,KAClBC,mBAAoB,KACpBC,YAAa,KACbC,kBAAmB,KACnBC,eAAgB,KAChBC,iBAAkB,KAClBC,UAAW,KACXC,eAAgB,KAChBC,mBAAoB,KACpBC,kBAAmB,KACnBC,kBAAmB,KACnBC,wBAAyB,KACzBC,cAAe,KACfC,mBAAoB,KACpBC,wBAAyB,KACzBC,WAAY,KACZC,WAAY,KACZE,qBAAsB,KACtBC,aAAc,KACdC,kBAAmB,KACnBC,kBAAmB,KACnBE,SAAU,KACVC,UAAW,KACXC,SAAU,KACVC,WAAY,KACZC,aAAc,KACdC,SAAU,KACVC,WAAY,KACZC,SAAU,KACVC,cAAe,KACfC,KAAM,KACNC,iBAAkB,KAClBC,eAAgB,KAChBC,gBAAiB,KACjBC,gBAAiB,KACjBC,iBAAkB,KAClBC,iBAAkB,KAClBC,WAAY,KACZC,SAAU,KACV0E,eAAgB,KAChBlO,OAAQ,KACRqM,QAAS,KACTxC,oBAAqB,KACrBC,WAAY,KACZC,YAAa,KACbC,YAAa,KACbC,YAAa,KACbC,WAAY,KACZC,UAAW,KACXC,WAAY,KACZC,gBAAiB,KACjBC,gBAAiB,KACjBC,gBAAiB,KACjBC,QAAS,KACTC,WAAY,KACZC,YAAa,KACbC,YAAa,MAEf+G,QAAS,M,6BC7nBbtd,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAcN,EAAUV,EAAOiF,EAAOsK,GACpC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAqB,iBAAVlB,GAAsBA,EAAMmI,QAAQ,UAAY,IAAsB,YAAhB+I,GAA6BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,KAAuB,YAAhBD,GAA6BC,EAAiB,GACxQ,OAAO,EAAI6L,EAAmBhc,SAAShB,EAAM8G,QAAQ,UAAWiK,EAAY,SAAU/Q,EAAOkB,IAbjG,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAYvFnF,EAAOD,QAAUA,EAAiB,S,6BCrBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAmBN,EAAUV,EAAOiF,EAAOsK,GACzC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAqB,iBAAVlB,GAAsBA,EAAMmI,QAAQ,gBAAkB,IAAsB,WAAhB+I,GAA4C,UAAhBA,GAA2C,YAAhBA,IAA8C,YAAhBA,GAA6C,WAAhBA,IAA6BC,EAAiB,IACrO,OAAO,EAAI6L,EAAmBhc,SAAShB,EAAM8G,QAAQ,gBAAiBiK,EAAY,eAAgB/Q,EAAOkB,IAb7G,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAYvFnF,EAAOD,QAAUA,EAAiB,S,6BCrBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAmBR,SAAgBN,EAAUV,EAAOiF,EAAOsK,GACtC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAK1B,GAAiB,WAAbR,GAAyBwc,EAAWld,KAA2B,YAAhBkR,GAA6C,WAAhBA,GAA4C,WAAhBA,GAA4C,UAAhBA,GACtI,OAAO,EAAI8L,EAAmBhc,SAAS+P,EAAY/Q,EAAOA,EAAOkB,GAGnE,GAAiB,WAAbR,GAAyByc,EAAWnd,KAA2B,YAAhBkR,GAA6BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,GAAqB,UAAhBD,GAA2BC,EAAiB,IACtP,OAAO,EAAI6L,EAAmBhc,SAAS+P,EAAY/Q,EAAOA,EAAOkB,IA/BrE,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIiZ,EAAa,CACfhD,MAAM,EACNC,UAAU,GAIRgD,EAAa,CACf,WAAW,EACX,YAAY,GAoBdre,EAAOD,QAAUA,EAAiB,S,6BCvClCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAgBN,EAAUV,EAAOiF,EAAOsK,GACtC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAqB,iBAAVlB,GAAsBA,EAAMmI,QAAQ,YAAc,IAAsB,YAAhB+I,GAA6C,WAAhBA,GAA4BC,EAAiB,KAC3I,OAAO,EAAI6L,EAAmBhc,SAAShB,EAAM8G,QAAQ,YAAaiK,EAAY,WAAY/Q,EAAOkB,IAbrG,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAYvFnF,EAAOD,QAAUA,EAAiB,S,6BCrBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAYR,SAAcN,EAAUV,EAAOiF,EAAOsK,GACpC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAiB,YAAbR,GAA0B2H,EAAOrI,KAA2B,WAAhBkR,GAA4BC,EAAiB,IAAMA,EAAiB,KAAuB,WAAhBD,GAA4C,YAAhBA,IAA8BC,EAAiB,GAAKA,EAAiB,GAAqB,UAAhBD,IAA+C,KAAnBC,GAA4C,KAAnBA,IACpR,OAAO,EAAI6L,EAAmBhc,SAAS+P,EAAY/Q,EAAOA,EAAOkB,IAjBrE,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIoE,EAAS,CACX4N,MAAM,EACN,eAAe,GAYjBnX,EAAOD,QAAUA,EAAiB,S,6BCzBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QA4BR,SAAmBN,EAAUV,EAAOiF,EAAOsK,GACzC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eACtBuQ,EAAiBlC,EAAKkC,eAE1B,IAAK2I,EAAiBxZ,eAAeF,IAA0B,YAAbA,GAA2C,iBAAVV,GAAsBA,EAAMmI,QAAQ,SAAW,KAAuB,WAAhB+I,GAA4C,OAAhBA,IAA4C,KAAnBC,EAAuB,CAMnN,UALOM,EAAe/Q,GAEjBQ,GAAmBmE,MAAMC,QAAQL,EAAMvE,YACnCuE,EAAMvE,GAEE,YAAbA,GAA0B2Z,EAAkBzZ,eAAeZ,GAC7D,OAAO,EAAIgd,EAAmBhc,SAAS+P,EAAYsJ,EAAkBra,GAAQA,EAAOkB,GAElFkZ,EAAiBxZ,eAAeF,KAClCuE,EAAMmV,EAAiB1Z,IAAa2Z,EAAkBra,IAAUA,KA3CtE,IAIgCiE,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIoW,EAAoB,CACtB,eAAgB,aAChB,gBAAiB,UACjB,aAAc,QACd,WAAY,MACZpE,KAAM,UACN,cAAe,kBAGbmE,EAAmB,CACrB5D,aAAc,iBACdE,UAAW,kBACXD,WAAY,cACZE,eAAgB,aAChBC,MAAO,cACPR,SAAU,iBACVE,WAAY,iBACZJ,UAAW,uBAwBbpX,EAAOD,QAAUA,EAAiB,S,6BCpDlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QA8BR,SAAoBN,EAAUV,EAAOiF,EAAOsK,GAC1C,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eACtBuQ,EAAiBlC,EAAKkC,eAE1B,IAAKiJ,EAAWvS,QAAQzH,IAAa,GAAkB,YAAbA,GAA2C,iBAAVV,GAAsBA,EAAMmI,QAAQ,SAAW,KAAuB,YAAhB+I,GAA6BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,KAAuB,WAAhBD,GAA4C,YAAhBA,IAA8BC,GAAkB,KAAuB,YAAhBD,GAA6BC,EAAiB,KAAuB,WAAhBD,GAA2B,CAkB1Y,UAjBOO,EAAe/Q,GAEjBQ,GAAmBmE,MAAMC,QAAQL,EAAMvE,YACnCuE,EAAMvE,GAEE,kBAAbA,GAAiD,iBAAVV,IACrCA,EAAMmI,QAAQ,WAAa,EAC7BlD,EAAMqV,gBAAkB,WAExBrV,EAAMqV,gBAAkB,aAEtBta,EAAMmI,QAAQ,YAAc,EAC9BlD,EAAMsV,mBAAqB,UAE3BtV,EAAMsV,mBAAqB,UAGd,YAAb7Z,GAA0B2Z,EAAkBzZ,eAAeZ,GAC7D,OAAO,EAAIgd,EAAmBhc,SAAS+P,EAAYsJ,EAAkBra,GAAQA,EAAOkB,GAElFkZ,EAAiBxZ,eAAeF,KAClCuE,EAAMmV,EAAiB1Z,IAAa2Z,EAAkBra,IAAUA,KAzDtE,IAIgCiE,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIoW,EAAoB,CACtB,eAAgB,UAChB,gBAAiB,UACjB,aAAc,QACd,WAAY,MACZ,eAAgB,WAChBG,KAAM,WACNvE,KAAM,MACN,cAAe,cAIbmE,EAAmB,CACrB3D,WAAY,iBACZE,eAAgB,gBAChBJ,SAAU,iBACVH,SAAU,iBAIRsE,EAAajb,OAAO+D,KAAK4W,GAAkB3W,OAD9B,CAAC,eAAgB,YAAa,QAAS,WAAY,aAAc,YAAa,kBAoC/F3E,EAAOD,QAAUA,EAAiB,S,6BClElCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QASR,SAAkBN,EAAUV,EAAOiF,EAAOsK,GACxC,IAAI2B,EAAc3B,EAAK2B,YACnBC,EAAiB5B,EAAK4B,eACtBJ,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAqB,iBAAVlB,GAAsBqI,EAAOtE,KAAK/D,KAA2B,YAAhBkR,GAA6BC,EAAiB,IAAsB,WAAhBD,GAA4BC,EAAiB,KAAuB,WAAhBD,GAA4C,YAAhBA,IAA8BC,EAAiB,IAAsB,UAAhBD,GAA2C,YAAhBA,IAA8BC,EAAiB,MAAwB,YAAhBD,GAA6BC,EAAiB,KAAuB,WAAhBD,GACtX,OAAO,EAAI8L,EAAmBhc,SAAShB,EAAM8G,QAAQuB,GAAQ,SAAUoS,GACrE,OAAO1J,EAAY0J,KACjBza,EAAOkB,IAhBf,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIoE,EAAS,wFAabvJ,EAAOD,QAAUA,EAAiB,S,6BCxBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAkBN,EAAUV,EAAOiF,EAAOsK,GACxC,IAAI2B,EAAc3B,EAAK2B,YACnBH,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAqB,iBAAVlB,GAAsBA,EAAMmI,QAAQ,eAAiB,IAAsB,WAAhB+I,GAA4C,UAAhBA,GAA2C,YAAhBA,GAA6C,WAAhBA,GAA4C,YAAhBA,GAA6C,WAAhBA,GACjN,OAAO,EAAI8L,EAAmBhc,SAAShB,EAAM8G,QAAQ,eAAgBiK,EAAY,cAAe/Q,EAAOkB,IAZ3G,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAWvFnF,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAkBN,EAAUV,EAAOiF,EAAOsK,GACxC,IAAI2B,EAAc3B,EAAK2B,YACnBH,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAE1B,GAAiB,aAAbR,GAAqC,WAAVV,IAAuC,WAAhBkR,GAA4C,YAAhBA,GAChF,OAAO,EAAI8L,EAAmBhc,SAAS+P,EAAY/Q,EAAOA,EAAOkB,IAZrE,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAWvFnF,EAAOD,QAAUA,EAAiB,S,6BCpBlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QA0BN,SAAgBN,EAAUV,EAAOiF,EAAOsK,GACxC,IAAIwB,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eAI1B,GAAIwZ,EAAW9Z,eAAeF,IAAa2H,EAAOzH,eAAeZ,GAC/D,OAAO,EAAIgd,EAAmBhc,SAAS+P,EAAY/Q,EAAOA,EAAOkB,IA/BrE,IAIgC+C,EAJ5BgZ,EAAoB,EAAQ,GAE5BD,GAE4B/Y,EAFgBgZ,IAEKhZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIyW,EAAa,CACfC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,EACR/E,aAAa,EACbgF,UAAU,EACVC,WAAW,GAGT3S,EAAS,CACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,kBAAkB,GAapBvJ,EAAOD,QAAUA,EAAiB,S,6BCvClCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAoBR,SAAoBN,EAAUV,EAAOiF,EAAOsK,GAC1C,IAAIwB,EAAYxB,EAAKwB,UACjB7P,EAAiBqO,EAAKrO,eACtBuQ,EAAiBlC,EAAKkC,eAE1B,GAAqB,iBAAVzR,GAAsB0a,EAAW9Z,eAAeF,GAAW,CAE/D0c,IACHA,EAA0B3d,OAAO+D,KAAKiO,GAAgBuI,KAAI,SAAUqD,GAClE,OAAO,EAAI/B,EAAoBta,SAASqc,OAK5C,IAAIlC,EAAiBnb,EAAMkM,MAAM,iCAUjC,OARAkR,EAAwBjT,SAAQ,SAAUkT,GACxClC,EAAehR,SAAQ,SAAUzE,EAAK4X,GAChC5X,EAAIyC,QAAQkV,IAAS,GAAc,UAATA,IAC5BlC,EAAemC,GAAS5X,EAAIoB,QAAQuW,EAAMtM,EAAYsM,IAASnc,EAAiB,IAAMwE,EAAM,WAK3FyV,EAAe5V,KAAK,OA1C/B,IAIgCtB,EAJ5BsZ,EAAqB,EAAQ,IAE7BjC,GAE4BrX,EAFiBsZ,IAEItZ,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIyW,EAAa,CACfoB,YAAY,EACZ/E,oBAAoB,EACpBgF,kBAAkB,EAClBC,0BAA0B,EAC1BC,eAAe,EACfC,uBAAuB,GAIrBkB,OAA0B,EA6B9Bte,EAAOD,QAAUA,EAAiB,S,6BCzClCC,EAAOD,QAFoB,gD,qECT3B,uNAAI2e,EACY,oBAAqB/V,KADjC+V,EAEQ,WAAY/V,MAAQ,aAAc3H,OAF1C0d,EAIA,eAAgB/V,MAChB,SAAUA,MACV,WACE,IAEE,OADA,IAAIgW,MACG,EACP,MAAO5Z,GACP,OAAO,GALX,GANA2Z,EAcQ,aAAc/V,KAdtB+V,EAeW,gBAAiB/V,KAOhC,GAAI+V,EACF,IAAIE,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAAS5Z,GACP,OAAOA,GAAOyZ,EAAYvV,QAAQ1I,OAAOkB,UAAU6E,SAAStG,KAAK+E,KAAS,GAIhF,SAAS6Z,EAAcxe,GAIrB,GAHoB,iBAATA,IACTA,EAAOye,OAAOze,IAEZ,4BAA4ByE,KAAKzE,GACnC,MAAM,IAAIyM,UAAU,0CAEtB,OAAOzM,EAAKsH,cAGd,SAASoX,EAAehe,GAItB,MAHqB,iBAAVA,IACTA,EAAQ+d,OAAO/d,IAEVA,EAIT,SAASie,EAAYC,GACnB,IAAIha,EAAW,CACb6K,KAAM,WACJ,IAAI/O,EAAQke,EAAMC,QAClB,MAAO,CAACC,UAAgB1R,IAAV1M,EAAqBA,MAAOA,KAU9C,OANIwd,IACFtZ,EAASpE,OAAOoE,UAAY,WAC1B,OAAOA,IAIJA,EAGF,SAASma,EAAQC,GACtB3W,KAAKqS,IAAM,GAEPsE,aAAmBD,EACrBC,EAAQnU,SAAQ,SAASnK,EAAOV,GAC9BqI,KAAK4W,OAAOjf,EAAMU,KACjB2H,MACMtC,MAAMC,QAAQgZ,GACvBA,EAAQnU,SAAQ,SAASqU,GACvB7W,KAAK4W,OAAOC,EAAO,GAAIA,EAAO,MAC7B7W,MACM2W,GACT7e,OAAOqD,oBAAoBwb,GAASnU,SAAQ,SAAS7K,GACnDqI,KAAK4W,OAAOjf,EAAMgf,EAAQhf,MACzBqI,MAgEP,SAAS8W,EAASC,GAChB,GAAIA,EAAKC,SACP,OAAOpQ,QAAQqQ,OAAO,IAAI7S,UAAU,iBAEtC2S,EAAKC,UAAW,EAGlB,SAASE,EAAgBC,GACvB,OAAO,IAAIvQ,SAAQ,SAASE,EAASmQ,GACnCE,EAAOC,OAAS,WACdtQ,EAAQqQ,EAAO9X,SAEjB8X,EAAOE,QAAU,WACfJ,EAAOE,EAAO5Q,WAKpB,SAAS+Q,EAAsBC,GAC7B,IAAIJ,EAAS,IAAIK,WACbC,EAAUP,EAAgBC,GAE9B,OADAA,EAAOO,kBAAkBH,GAClBE,EAoBT,SAASE,EAAYC,GACnB,GAAIA,EAAIhY,MACN,OAAOgY,EAAIhY,MAAM,GAEjB,IAAIiY,EAAO,IAAIC,WAAWF,EAAIG,YAE9B,OADAF,EAAKG,IAAI,IAAIF,WAAWF,IACjBC,EAAKI,OAIhB,SAASC,IA0FP,OAzFAlY,KAAKgX,UAAW,EAEhBhX,KAAKmY,UAAY,SAASpB,GAhM5B,IAAoBza,EAiMhB0D,KAAKoY,UAAYrB,EACZA,EAEsB,iBAATA,EAChB/W,KAAKqY,UAAYtB,EACRlB,GAAgBC,KAAK9c,UAAUsf,cAAcvB,GACtD/W,KAAKuY,UAAYxB,EACRlB,GAAoB2C,SAASxf,UAAUsf,cAAcvB,GAC9D/W,KAAKyY,cAAgB1B,EACZlB,GAAwB6C,gBAAgB1f,UAAUsf,cAAcvB,GACzE/W,KAAKqY,UAAYtB,EAAKlZ,WACbgY,GAAuBA,KA5MlBvZ,EA4M6Cya,IA3MjD4B,SAAS3f,UAAUsf,cAAchc,KA4M3C0D,KAAK4Y,iBAAmBjB,EAAYZ,EAAKkB,QAEzCjY,KAAKoY,UAAY,IAAItC,KAAK,CAAC9V,KAAK4Y,oBACvB/C,IAAwBI,YAAYjd,UAAUsf,cAAcvB,IAASf,EAAkBe,IAChG/W,KAAK4Y,iBAAmBjB,EAAYZ,GAEpC/W,KAAKqY,UAAYtB,EAAOjf,OAAOkB,UAAU6E,SAAStG,KAAKwf,GAhBvD/W,KAAKqY,UAAY,GAmBdrY,KAAK2W,QAAQ1e,IAAI,kBACA,iBAAT8e,EACT/W,KAAK2W,QAAQqB,IAAI,eAAgB,4BACxBhY,KAAKuY,WAAavY,KAAKuY,UAAUne,KAC1C4F,KAAK2W,QAAQqB,IAAI,eAAgBhY,KAAKuY,UAAUne,MACvCyb,GAAwB6C,gBAAgB1f,UAAUsf,cAAcvB,IACzE/W,KAAK2W,QAAQqB,IAAI,eAAgB,qDAKnCnC,IACF7V,KAAKuX,KAAO,WACV,IAAIsB,EAAW/B,EAAS9W,MACxB,GAAI6Y,EACF,OAAOA,EAGT,GAAI7Y,KAAKuY,UACP,OAAO3R,QAAQE,QAAQ9G,KAAKuY,WACvB,GAAIvY,KAAK4Y,iBACd,OAAOhS,QAAQE,QAAQ,IAAIgP,KAAK,CAAC9V,KAAK4Y,oBACjC,GAAI5Y,KAAKyY,cACd,MAAM,IAAI5V,MAAM,wCAEhB,OAAO+D,QAAQE,QAAQ,IAAIgP,KAAK,CAAC9V,KAAKqY,cAI1CrY,KAAK8Y,YAAc,WACjB,OAAI9Y,KAAK4Y,iBACA9B,EAAS9W,OAAS4G,QAAQE,QAAQ9G,KAAK4Y,kBAEvC5Y,KAAKuX,OAAOxQ,KAAKuQ,KAK9BtX,KAAK+Y,KAAO,WACV,IA3FoBxB,EAClBJ,EACAM,EAyFEoB,EAAW/B,EAAS9W,MACxB,GAAI6Y,EACF,OAAOA,EAGT,GAAI7Y,KAAKuY,UACP,OAjGkBhB,EAiGIvX,KAAKuY,UAhG3BpB,EAAS,IAAIK,WACbC,EAAUP,EAAgBC,GAC9BA,EAAO6B,WAAWzB,GACXE,EA8FE,GAAIzX,KAAK4Y,iBACd,OAAOhS,QAAQE,QA5FrB,SAA+B8Q,GAI7B,IAHA,IAAIC,EAAO,IAAIC,WAAWF,GACtBqB,EAAQ,IAAIvb,MAAMma,EAAKvd,QAElBlD,EAAI,EAAGA,EAAIygB,EAAKvd,OAAQlD,IAC/B6hB,EAAM7hB,GAAKgf,OAAO8C,aAAarB,EAAKzgB,IAEtC,OAAO6hB,EAAMrb,KAAK,IAqFSub,CAAsBnZ,KAAK4Y,mBAC7C,GAAI5Y,KAAKyY,cACd,MAAM,IAAI5V,MAAM,wCAEhB,OAAO+D,QAAQE,QAAQ9G,KAAKqY,YAI5BxC,IACF7V,KAAKoZ,SAAW,WACd,OAAOpZ,KAAK+Y,OAAOhS,KAAKrC,KAI5B1E,KAAKqZ,KAAO,WACV,OAAOrZ,KAAK+Y,OAAOhS,KAAKuS,KAAKpV,QAGxBlE,KA1MT0W,EAAQ1d,UAAU4d,OAAS,SAASjf,EAAMU,GACxCV,EAAOwe,EAAcxe,GACrBU,EAAQge,EAAehe,GACvB,IAAIkhB,EAAWvZ,KAAKqS,IAAI1a,GACxBqI,KAAKqS,IAAI1a,GAAQ4hB,EAAWA,EAAW,KAAOlhB,EAAQA,GAGxDqe,EAAQ1d,UAAkB,OAAI,SAASrB,UAC9BqI,KAAKqS,IAAI8D,EAAcxe,KAGhC+e,EAAQ1d,UAAUf,IAAM,SAASN,GAE/B,OADAA,EAAOwe,EAAcxe,GACdqI,KAAKwZ,IAAI7hB,GAAQqI,KAAKqS,IAAI1a,GAAQ,MAG3C+e,EAAQ1d,UAAUwgB,IAAM,SAAS7hB,GAC/B,OAAOqI,KAAKqS,IAAIpZ,eAAekd,EAAcxe,KAG/C+e,EAAQ1d,UAAUgf,IAAM,SAASrgB,EAAMU,GACrC2H,KAAKqS,IAAI8D,EAAcxe,IAAS0e,EAAehe,IAGjDqe,EAAQ1d,UAAUwJ,QAAU,SAASiX,EAAUC,GAC7C,IAAK,IAAI/hB,KAAQqI,KAAKqS,IAChBrS,KAAKqS,IAAIpZ,eAAetB,IAC1B8hB,EAASliB,KAAKmiB,EAAS1Z,KAAKqS,IAAI1a,GAAOA,EAAMqI,OAKnD0W,EAAQ1d,UAAU6C,KAAO,WACvB,IAAI0a,EAAQ,GAIZ,OAHAvW,KAAKwC,SAAQ,SAASnK,EAAOV,GAC3B4e,EAAM9V,KAAK9I,MAEN2e,EAAYC,IAGrBG,EAAQ1d,UAAU0H,OAAS,WACzB,IAAI6V,EAAQ,GAIZ,OAHAvW,KAAKwC,SAAQ,SAASnK,GACpBke,EAAM9V,KAAKpI,MAENie,EAAYC,IAGrBG,EAAQ1d,UAAU2gB,QAAU,WAC1B,IAAIpD,EAAQ,GAIZ,OAHAvW,KAAKwC,SAAQ,SAASnK,EAAOV,GAC3B4e,EAAM9V,KAAK,CAAC9I,EAAMU,OAEbie,EAAYC,IAGjBV,IACFa,EAAQ1d,UAAUb,OAAOoE,UAAYma,EAAQ1d,UAAU2gB,SAqJzD,IAAIC,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAOpD,SAASC,EAAQC,EAAO3V,GAE7B,IAPuB4V,EACnBC,EAMAjD,GADJ5S,EAAUA,GAAW,IACF4S,KAEnB,GAAI+C,aAAiBD,EAAS,CAC5B,GAAIC,EAAM9C,SACR,MAAM,IAAI5S,UAAU,gBAEtBpE,KAAKia,IAAMH,EAAMG,IACjBja,KAAKka,YAAcJ,EAAMI,YACpB/V,EAAQwS,UACX3W,KAAK2W,QAAU,IAAID,EAAQoD,EAAMnD,UAEnC3W,KAAK+Z,OAASD,EAAMC,OACpB/Z,KAAKzH,KAAOuhB,EAAMvhB,KAClByH,KAAKma,OAASL,EAAMK,OACfpD,GAA2B,MAAnB+C,EAAM1B,YACjBrB,EAAO+C,EAAM1B,UACb0B,EAAM9C,UAAW,QAGnBhX,KAAKia,IAAM7D,OAAO0D,GAYpB,GATA9Z,KAAKka,YAAc/V,EAAQ+V,aAAela,KAAKka,aAAe,eAC1D/V,EAAQwS,SAAY3W,KAAK2W,UAC3B3W,KAAK2W,QAAU,IAAID,EAAQvS,EAAQwS,UAErC3W,KAAK+Z,QAjCkBA,EAiCO5V,EAAQ4V,QAAU/Z,KAAK+Z,QAAU,MAhC3DC,EAAUD,EAAOpa,cACdia,EAAQpZ,QAAQwZ,IAAY,EAAIA,EAAUD,GAgCjD/Z,KAAKzH,KAAO4L,EAAQ5L,MAAQyH,KAAKzH,MAAQ,KACzCyH,KAAKma,OAAShW,EAAQgW,QAAUna,KAAKma,OACrCna,KAAKoa,SAAW,MAEK,QAAhBpa,KAAK+Z,QAAoC,SAAhB/Z,KAAK+Z,SAAsBhD,EACvD,MAAM,IAAI3S,UAAU,6CAEtBpE,KAAKmY,UAAUpB,GAOjB,SAASrS,EAAOqS,GACd,IAAIsD,EAAO,IAAI7B,SAYf,OAXAzB,EACGjS,OACAP,MAAM,KACN/B,SAAQ,SAAS8X,GAChB,GAAIA,EAAO,CACT,IAAI/V,EAAQ+V,EAAM/V,MAAM,KACpB5M,EAAO4M,EAAMiS,QAAQrX,QAAQ,MAAO,KACpC9G,EAAQkM,EAAM3G,KAAK,KAAKuB,QAAQ,MAAO,KAC3Ckb,EAAKzD,OAAO5Q,mBAAmBrO,GAAOqO,mBAAmB3N,QAGxDgiB,EAqBF,SAASE,EAASC,EAAUrW,GAC5BA,IACHA,EAAU,IAGZnE,KAAK5F,KAAO,UACZ4F,KAAKya,YAA4B1V,IAAnBZ,EAAQsW,OAAuB,IAAMtW,EAAQsW,OAC3Dza,KAAK0a,GAAK1a,KAAKya,QAAU,KAAOza,KAAKya,OAAS,IAC9Cza,KAAK2a,WAAa,eAAgBxW,EAAUA,EAAQwW,WAAa,KACjE3a,KAAK2W,QAAU,IAAID,EAAQvS,EAAQwS,SACnC3W,KAAKia,IAAM9V,EAAQ8V,KAAO,GAC1Bja,KAAKmY,UAAUqC,GAjDjBX,EAAQ7gB,UAAUmK,MAAQ,WACxB,OAAO,IAAI0W,EAAQ7Z,KAAM,CAAC+W,KAAM/W,KAAKoY,aAmCvCF,EAAK3gB,KAAKsiB,EAAQ7gB,WAgBlBkf,EAAK3gB,KAAKgjB,EAASvhB,WAEnBuhB,EAASvhB,UAAUmK,MAAQ,WACzB,OAAO,IAAIoX,EAASva,KAAKoY,UAAW,CAClCqC,OAAQza,KAAKya,OACbE,WAAY3a,KAAK2a,WACjBhE,QAAS,IAAID,EAAQ1W,KAAK2W,SAC1BsD,IAAKja,KAAKia,OAIdM,EAAShU,MAAQ,WACf,IAAIqU,EAAW,IAAIL,EAAS,KAAM,CAACE,OAAQ,EAAGE,WAAY,KAE1D,OADAC,EAASxgB,KAAO,QACTwgB,GAGT,IAAIC,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CN,EAASO,SAAW,SAASb,EAAKQ,GAChC,IAA0C,IAAtCI,EAAiBra,QAAQia,GAC3B,MAAM,IAAIM,WAAW,uBAGvB,OAAO,IAAIR,EAAS,KAAM,CAACE,OAAQA,EAAQ9D,QAAS,CAACqE,SAAUf,MAG1D,IAAIgB,EAAenb,KAAKmb,aAC/B,IACE,IAAIA,EACJ,MAAOC,IACPD,EAAe,SAASrX,EAASjM,GAC/BqI,KAAK4D,QAAUA,EACf5D,KAAKrI,KAAOA,EACZ,IAAI4O,EAAQ1D,MAAMe,GAClB5D,KAAKmb,MAAQ5U,EAAM4U,QAERniB,UAAYlB,OAAOY,OAAOmK,MAAM7J,WAC7CiiB,EAAajiB,UAAUwD,YAAcye,EAGhC,SAASG,EAAMtB,EAAOuB,GAC3B,OAAO,IAAIzU,SAAQ,SAASE,EAASmQ,GACnC,IAAIqE,EAAU,IAAIzB,EAAQC,EAAOuB,GAEjC,GAAIC,EAAQnB,QAAUmB,EAAQnB,OAAOoB,QACnC,OAAOtE,EAAO,IAAIgE,EAAa,UAAW,eAG5C,IAAIO,EAAM,IAAIC,eAEd,SAASC,IACPF,EAAIG,QAGNH,EAAIpE,OAAS,WACX,IAxFgBwE,EAChBjF,EAuFIxS,EAAU,CACZsW,OAAQe,EAAIf,OACZE,WAAYa,EAAIb,WAChBhE,SA3FciF,EA2FQJ,EAAIK,yBAA2B,GA1FvDlF,EAAU,IAAID,EAGQkF,EAAWzc,QAAQ,eAAgB,KACzCoF,MAAM,SAAS/B,SAAQ,SAASsZ,GAClD,IAAIC,EAAQD,EAAKvX,MAAM,KACnB5L,EAAMojB,EAAMvF,QAAQ1R,OACxB,GAAInM,EAAK,CACP,IAAIN,EAAQ0jB,EAAMne,KAAK,KAAKkH,OAC5B6R,EAAQC,OAAOje,EAAKN,OAGjBse,IAgFHxS,EAAQ8V,IAAM,gBAAiBuB,EAAMA,EAAIQ,YAAc7X,EAAQwS,QAAQ1e,IAAI,iBAC3E,IAAI8e,EAAO,aAAcyE,EAAMA,EAAIZ,SAAWY,EAAIS,aAClDnV,EAAQ,IAAIyT,EAASxD,EAAM5S,KAG7BqX,EAAInE,QAAU,WACZJ,EAAO,IAAI7S,UAAU,4BAGvBoX,EAAIU,UAAY,WACdjF,EAAO,IAAI7S,UAAU,4BAGvBoX,EAAIW,QAAU,WACZlF,EAAO,IAAIgE,EAAa,UAAW,gBAGrCO,EAAIY,KAAKd,EAAQvB,OAAQuB,EAAQrB,KAAK,GAEV,YAAxBqB,EAAQpB,YACVsB,EAAIa,iBAAkB,EACW,SAAxBf,EAAQpB,cACjBsB,EAAIa,iBAAkB,GAGpB,iBAAkBb,GAAO3F,IAC3B2F,EAAIc,aAAe,QAGrBhB,EAAQ3E,QAAQnU,SAAQ,SAASnK,EAAOV,GACtC6jB,EAAIe,iBAAiB5kB,EAAMU,MAGzBijB,EAAQnB,SACVmB,EAAQnB,OAAO3b,iBAAiB,QAASkd,GAEzCF,EAAIgB,mBAAqB,WAEA,IAAnBhB,EAAIiB,YACNnB,EAAQnB,OAAOxS,oBAAoB,QAAS+T,KAKlDF,EAAIkB,UAAkC,IAAtBpB,EAAQlD,UAA4B,KAAOkD,EAAQlD,cAIvEgD,EAAMuB,UAAW,EAEZ7c,KAAKsb,QACRtb,KAAKsb,MAAQA,EACbtb,KAAK4W,QAAUA,EACf5W,KAAK+Z,QAAUA,EACf/Z,KAAKya,SAAWA,I;;;;;;;;GCzfLziB,OAAOC,eAAeb,EAAQ,aAAa,CAACmB,OAAM,IAC/D,IAAIgO,EAAE,mBAAoBlO,QAAQA,OAAOykB,IAAInlB,EAAE4O,EAAElO,OAAOykB,IAAI,iBAAiB,MAAMllB,EAAE2O,EAAElO,OAAOykB,IAAI,gBAAgB,MAAM1gB,EAAEmK,EAAElO,OAAOykB,IAAI,kBAAkB,MAAMtW,EAAED,EAAElO,OAAOykB,IAAI,qBAAqB,MAAM7c,EAAEsG,EAAElO,OAAOykB,IAAI,kBAAkB,MAAMC,EAAExW,EAAElO,OAAOykB,IAAI,kBAAkB,MAAME,EAAEzW,EAAElO,OAAOykB,IAAI,iBAAiB,MAAMvlB,EAAEgP,EAAElO,OAAOykB,IAAI,oBAAoB,MAAMplB,EAAE6O,EAAElO,OAAOykB,IAAI,yBAAyB,MAAM/jB,EAAEwN,EAAElO,OAAOykB,IAAI,qBAAqB,MAAM1jB,EAAEmN,EAAElO,OAAOykB,IAAI,kBAAkB,MAAMG,EAAE1W,EAAElO,OAAOykB,IAAI,uBACpf,MAAM1kB,EAAEmO,EAAElO,OAAOykB,IAAI,cAAc,MAAMtkB,EAAE+N,EAAElO,OAAOykB,IAAI,cAAc,MAAMI,EAAE3W,EAAElO,OAAOykB,IAAI,qBAAqB,MAAM1S,EAAE7D,EAAElO,OAAOykB,IAAI,mBAAmB,MAAMK,EAAE5W,EAAElO,OAAOykB,IAAI,eAAe,MAAM,SAASM,EAAE9W,GAAG,GAAG,iBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAImB,EAAEnB,EAAE+W,SAAS,OAAO5V,GAAG,KAAK9P,EAAE,OAAO2O,EAAEA,EAAEhM,MAAQ,KAAK/C,EAAE,KAAKG,EAAE,KAAK0E,EAAE,KAAK6D,EAAE,KAAKuG,EAAE,KAAKpN,EAAE,OAAOkN,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAE+W,UAAY,KAAKL,EAAE,KAAKjkB,EAAE,KAAKgkB,EAAE,OAAOzW,EAAE,QAAQ,OAAOmB,GAAG,KAAKjP,EAAE,KAAKJ,EAAE,KAAKR,EAAE,OAAO6P,IAAI,SAAS6V,EAAEhX,GAAG,OAAO8W,EAAE9W,KAAK5O,EACxeN,EAAQmmB,OAAOH,EAAEhmB,EAAQomB,UAAUjmB,EAAEH,EAAQqmB,eAAe/lB,EAAEN,EAAQsmB,gBAAgBV,EAAE5lB,EAAQumB,gBAAgBZ,EAAE3lB,EAAQwmB,QAAQjmB,EAAEP,EAAQ+D,WAAWpC,EAAE3B,EAAQymB,SAASzhB,EAAEhF,EAAQ0mB,KAAKtlB,EAAEpB,EAAQ2mB,KAAK3lB,EAAEhB,EAAQ4mB,OAAOpmB,EAAER,EAAQ6mB,SAAShe,EAAE7I,EAAQ8mB,WAAW1X,EAAEpP,EAAQ+mB,SAAS/kB,EACpRhC,EAAQgnB,mBAAmB,SAAS9X,GAAG,MAAM,iBAAkBA,GAAG,mBAAoBA,GAAGA,IAAIlK,GAAGkK,IAAI5O,GAAG4O,IAAIrG,GAAGqG,IAAIE,GAAGF,IAAIlN,GAAGkN,IAAI2W,GAAG,iBAAkB3W,GAAG,OAAOA,IAAIA,EAAE+W,WAAW7kB,GAAG8N,EAAE+W,WAAWjlB,GAAGkO,EAAE+W,WAAWN,GAAGzW,EAAE+W,WAAWL,GAAG1W,EAAE+W,WAAWtkB,GAAGuN,EAAE+W,WAAWH,GAAG5W,EAAE+W,WAAWjT,GAAG9D,EAAE+W,WAAWF,IAAI/lB,EAAQinB,YAAY,SAAS/X,GAAG,OAAOgX,EAAEhX,IAAI8W,EAAE9W,KAAK/O,GAAGH,EAAQknB,iBAAiBhB,EAAElmB,EAAQmnB,kBAAkB,SAASjY,GAAG,OAAO8W,EAAE9W,KAAK0W,GAAG5lB,EAAQonB,kBAAkB,SAASlY,GAAG,OAAO8W,EAAE9W,KAAKyW,GACje3lB,EAAQqnB,UAAU,SAASnY,GAAG,MAAM,iBAAkBA,GAAG,OAAOA,GAAGA,EAAE+W,WAAW1lB,GAAGP,EAAQsnB,aAAa,SAASpY,GAAG,OAAO8W,EAAE9W,KAAKvN,GAAG3B,EAAQunB,WAAW,SAASrY,GAAG,OAAO8W,EAAE9W,KAAKlK,GAAGhF,EAAQwnB,OAAO,SAAStY,GAAG,OAAO8W,EAAE9W,KAAK9N,GAAGpB,EAAQ8D,OAAO,SAASoL,GAAG,OAAO8W,EAAE9W,KAAKlO,GAAGhB,EAAQynB,SAAS,SAASvY,GAAG,OAAO8W,EAAE9W,KAAK1O,GAAGR,EAAQ0nB,WAAW,SAASxY,GAAG,OAAO8W,EAAE9W,KAAKrG,GAAG7I,EAAQ2nB,aAAa,SAASzY,GAAG,OAAO8W,EAAE9W,KAAKE,GAAGpP,EAAQ4nB,WAAW,SAAS1Y,GAAG,OAAO8W,EAAE9W,KAAKlN,I,cCd1c/B,EAAOD,QAAU,SAAS6nB,GACzB,IAAKA,EAAeC,gBAAiB,CACpC,IAAI7nB,EAASW,OAAOY,OAAOqmB,GAEtB5nB,EAAO8nB,WAAU9nB,EAAO8nB,SAAW,IACxCnnB,OAAOC,eAAeZ,EAAQ,SAAU,CACvCa,YAAY,EACZC,IAAK,WACJ,OAAOd,EAAOE,KAGhBS,OAAOC,eAAeZ,EAAQ,KAAM,CACnCa,YAAY,EACZC,IAAK,WACJ,OAAOd,EAAOC,KAGhBU,OAAOC,eAAeZ,EAAQ,UAAW,CACxCa,YAAY,IAEbb,EAAO6nB,gBAAkB,EAE1B,OAAO7nB,I,6BCDRA,EAAOD,QAAU,SAASuI,GAGtB,IAFA,IACI2G,EADA/O,EAAIoI,EAAInF,OAEJlD,EAAI,EAAGA,EAAIC,EAAGD,IAElB,KADAgP,EAAI3G,EAAIyf,WAAW9nB,IACX,GAAKgP,EAAI,KAAc,KAANA,GAAoB,MAANA,GAAqB,MAANA,GAC3C,OAANA,GAAsB,OAANA,IAAgBA,EAAI,MAAQA,EAAI,OAC1C,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAAsB,OAANA,GAC1C,OAANA,GAAsB,QAANA,GAAuB,QAANA,EAC9B,OAAO,EAGnB,OAAO,I,6BC/BXtO,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAQR,SAAwB8lB,EAAkBpmB,EAAUuE,GAClD,GAAI6hB,EAAiBlmB,eAAeF,GAAW,CAK7C,IAJA,IAAI0E,EAAW,GACX2hB,EAAmBD,EAAiBpmB,GACpCsmB,GAAsB,EAAIrV,EAAmB3Q,SAASN,GACtD8C,EAAO/D,OAAO+D,KAAKyB,GACdlG,EAAI,EAAGA,EAAIyE,EAAKvB,OAAQlD,IAAK,CACpC,IAAIkoB,EAAgBzjB,EAAKzE,GACzB,GAAIkoB,IAAkBvmB,EACpB,IAAK,IAAI6a,EAAI,EAAGA,EAAIwL,EAAiB9kB,OAAQsZ,IAC3CnW,EAAS2hB,EAAiBxL,GAAKyL,GAAuB/hB,EAAMvE,GAGhE0E,EAAS6hB,GAAiBhiB,EAAMgiB,GAElC,OAAO7hB,EAET,OAAOH,GAvBT,IAIgChB,EAJ5BijB,EAAoB,EAAQ,IAE5BvV,GAE4B1N,EAFgBijB,IAEKjjB,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAqBvFnF,EAAOD,QAAUA,EAAiB,S,6BC9BlCY,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QAmER,SAA+ByD,GAC7B,IAAI0iB,EAAcC,EAASpmB,QAAQqmB,QAAQ5iB,GAEvC0iB,EAAYG,gBACdH,EAAcC,EAASpmB,QAAQqmB,QAAQ5iB,EAAUqC,QAAQ,qBAAsB,MAGjF,IAAK,IAAIygB,KAAWC,EAClB,GAAIL,EAAYvmB,eAAe2mB,GAAU,CACvC,IAAI1iB,EAAS2iB,EAAgBD,GAE7BJ,EAAY3V,SAAW3M,EACvBsiB,EAAYpW,UAAY,IAAMlM,EAAO+B,cAAgB,IACrD,MAIJugB,EAAYjW,YA5Cd,SAAwBiW,GACtB,GAAIA,EAAY5K,QACd,MAAO,UAGT,GAAI4K,EAAYM,QAAUN,EAAYO,OAAQ,CAC5C,GAAIP,EAAYQ,IACd,MAAO,UACF,GAAIR,EAAYvK,QACrB,MAAO,UACF,GAAIuK,EAAY3K,MACrB,MAAO,UAIX,IAAK,IAAI+K,KAAWK,EAClB,GAAIT,EAAYvmB,eAAe2mB,GAC7B,OAAOK,EAAsBL,GA2BPM,CAAeV,GAGrCA,EAAYW,QACdX,EAAYhW,eAAiB4W,WAAWZ,EAAYW,SAEpDX,EAAYhW,eAAiB6W,SAASD,WAAWZ,EAAYc,WAAY,IAG3Ed,EAAYe,UAAYH,WAAWZ,EAAYc,WAMf,YAA5Bd,EAAYjW,aAA6BiW,EAAYhW,eAAiBgW,EAAYe,YACpFf,EAAYhW,eAAiBgW,EAAYe,WAKX,YAA5Bf,EAAYjW,aAA6BiW,EAAY9K,QAAU8K,EAAYhW,eAAiB,KAC9FgW,EAAYjW,YAAc,WAMI,YAA5BiW,EAAYjW,aAA6BiW,EAAYe,UAAY,IACnEf,EAAYhW,eAAiBgW,EAAYe,WAKX,YAA5Bf,EAAYjW,aAA6BiW,EAAYgB,iBACvDhB,EAAYjW,YAAc,UAC1BiW,EAAYhW,eAAiB,IAG/B,OAAOgW,GAzHT,IAIgCljB,EAJ5BmkB,EAAU,EAAQ,IAElBhB,GAE4BnjB,EAFMmkB,IAEenkB,EAAI9D,WAAa8D,EAAM,CAAEjD,QAASiD,GAEvF,IAAIujB,EAAkB,CACpBnL,OAAQ,SACRC,OAAQ,SACRqL,IAAK,SACL/K,QAAS,SACTyL,QAAS,SACT7L,MAAO,SACP8L,MAAO,SACPC,WAAY,SACZC,KAAM,SACNC,MAAO,SACPC,SAAU,SACVC,QAAS,SACTpM,QAAS,MACTqM,SAAU,MACVC,SAAU,MACVC,KAAM,KACNC,OAAQ,MAINnB,EAAwB,CAC1BvL,OAAQ,SACRqM,SAAU,SACVpM,OAAQ,SACR0M,OAAQ,UACRD,OAAQ,OACRvM,MAAO,QACPmM,QAAS,QACTG,KAAM,MAwFRhqB,EAAOD,QAAUA,EAAiB,S,gBC5HjC,IAAsBoqB,IAIL,WAKhB,IAAIhpB,GAAI,EAER,SAASipB,EAAOC,GAEd,SAASC,EAActlB,GACrB,IAAI2C,EAAQ0iB,EAAG1iB,MAAM3C,GACrB,OAAQ2C,GAASA,EAAMxE,OAAS,GAAKwE,EAAM,IAAO,GAGpD,SAAS4iB,EAAevlB,GACtB,IAAI2C,EAAQ0iB,EAAG1iB,MAAM3C,GACrB,OAAQ2C,GAASA,EAAMxE,OAAS,GAAKwE,EAAM,IAAO,GAGpD,IAoBIO,EApBAsiB,EAAYF,EAAc,uBAAuBxiB,cAEjDgW,GADc,gBAAgB7Y,KAAKolB,IACT,WAAWplB,KAAKolB,GAC1CI,EAAc,oBAAoBxlB,KAAKolB,GACvCK,GAAeD,GAAe,kBAAkBxlB,KAAKolB,GACrDM,EAAW,OAAO1lB,KAAKolB,GACvBO,EAAO,QAAQ3lB,KAAKolB,GACpBN,EAAW,YAAY9kB,KAAKolB,GAC5BV,EAAQ,SAAS1kB,KAAKolB,GACtBb,EAAQ,mBAAmBvkB,KAAKolB,GAChCQ,EAAe,iBAAiB5lB,KAAKolB,GAErCS,GADiB,kBAAkB7lB,KAAKolB,IAC7BQ,GAAgB,WAAW5lB,KAAKolB,IAC3CU,GAAOP,IAAcI,GAAQ,aAAa3lB,KAAKolB,GAC/CW,GAASlN,IAAYiM,IAAaJ,IAAUH,GAAS,SAASvkB,KAAKolB,GACnEY,EAAcV,EAAe,iCAC7BW,EAAoBZ,EAAc,2BAClC1B,EAAS,UAAU3jB,KAAKolB,KAAQ,aAAaplB,KAAKolB,GAClD1B,GAAUC,GAAU,YAAY3jB,KAAKolB,GACrCc,EAAO,QAAQlmB,KAAKolB,GAGpB,SAASplB,KAAKolB,GAEhBniB,EAAS,CACP1H,KAAM,QACNkd,MAAOvc,EACP6nB,QAASkC,GAAqBZ,EAAc,4CAErC,eAAerlB,KAAKolB,GAE7BniB,EAAS,CACP1H,KAAM,QACJkd,MAAOvc,EACP6nB,QAASsB,EAAc,sCAAwCY,GAG5D,kBAAkBjmB,KAAKolB,GAC9BniB,EAAS,CACP1H,KAAM,+BACJ6oB,eAAgBloB,EAChB6nB,QAASkC,GAAqBZ,EAAc,2CAGzC,SAASrlB,KAAKolB,GACrBniB,EAAS,CACP1H,KAAM,sBACJ4qB,MAAOjqB,EACP6nB,QAASsB,EAAc,oCAGpB,aAAarlB,KAAKolB,GACzBniB,EAAS,CACP1H,KAAM,aACJ6qB,UAAWlqB,EACX6nB,QAASsB,EAAc,wCAGpB,SAASrlB,KAAKolB,GACrBniB,EAAS,CACP1H,KAAM,cACJ8qB,MAAOnqB,EACP6nB,QAASkC,GAAqBZ,EAAc,kCAGzC,SAASrlB,KAAKolB,GACrBniB,EAAS,CACP1H,KAAM,QACJ+qB,MAAOpqB,EACP6nB,QAASsB,EAAc,oCAGpB,aAAarlB,KAAKolB,GACzBniB,EAAS,CACP1H,KAAM,iBACNgoB,cAAernB,EACf6nB,QAASkC,GAAqBZ,EAAc,sCAGvC,aAAarlB,KAAKolB,GACzBniB,EAAS,CACL1H,KAAM,aACNgrB,UAAWrqB,EACX6nB,QAASsB,EAAc,wCAGpB,SAASrlB,KAAKolB,GACrBniB,EAAS,CACP1H,KAAM,UACJirB,QAAStqB,EACT6nB,QAASsB,EAAc,oCAGpB,YAAYrlB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJkrB,SAAUvqB,EACV6nB,QAASsB,EAAc,uCAGpB,UAAUrlB,KAAKolB,GACtBniB,EAAS,CACP1H,KAAM,SACJmrB,OAAQxqB,EACR6nB,QAASsB,EAAc,qCAGpB,YAAYrlB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJorB,SAAUzqB,EACV6nB,QAASsB,EAAc,uCAGpB,YAAYrlB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJqrB,QAAS1qB,EACT6nB,QAASsB,EAAc,uCAGpBO,GACP3iB,EAAS,CACP1H,KAAM,gBACNsrB,OAAQ,gBACRjB,aAAc1pB,GAEZ8pB,GACF/iB,EAAO+hB,OAAS9oB,EAChB+G,EAAO8gB,QAAUiC,IAGjB/iB,EAAO8hB,KAAO7oB,EACd+G,EAAO8gB,QAAUsB,EAAc,8BAG1B,gBAAgBrlB,KAAKolB,GAC5BniB,EAAS,CACP1H,KAAM,oBACNwpB,KAAM7oB,EACN6nB,QAASsB,EAAc,gCAEhBK,EACTziB,EAAS,CACP1H,KAAM,SACNsrB,OAAQ,YACRnB,SAAUxpB,EACV4qB,WAAY5qB,EACZoc,OAAQpc,EACR6nB,QAASsB,EAAc,0CAEhB,iBAAiBrlB,KAAKolB,GAC/BniB,EAAS,CACP1H,KAAM,iBACNypB,OAAQ9oB,EACR6nB,QAASiC,GAGJ,WAAWhmB,KAAKolB,GACvBniB,EAAS,CACP1H,KAAM,UACJqpB,QAAS1oB,EACT6nB,QAASsB,EAAc,4BAA8BY,GAGlDnB,EACP7hB,EAAS,CACP1H,KAAM,WACNsrB,OAAQ,cACR/B,SAAU5oB,EACV6nB,QAASsB,EAAc,uCAGlB,eAAerlB,KAAKolB,GAC3BniB,EAAS,CACP1H,KAAM,YACNwrB,UAAW7qB,EACX6nB,QAASsB,EAAc,8BAGlB,2BAA2BrlB,KAAKolB,IACvCniB,EAAS,CACP1H,KAAM,UACNid,QAAStc,EACT6nB,QAASsB,EAAc,mDAErB,wCAAwCrlB,KAAKolB,KAC/CniB,EAAO+jB,UAAY9qB,EACnB+G,EAAO4jB,OAAS,eAGXlB,EACP1iB,EAAU,CACR1H,KAAM,cACNoqB,KAAMzpB,EACN6nB,QAAUsB,EAAc,yBAGnB,WAAWrlB,KAAKolB,GACvBniB,EAAS,CACP1H,KAAM,YACN+oB,QAASpoB,EACT6nB,QAASsB,EAAc,8BAGlB,YAAYrlB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJ0rB,OAAQ/qB,EACR6nB,QAASsB,EAAc,6BAGpB,sBAAsBrlB,KAAKolB,IAAO,eAAeplB,KAAKolB,GAC7DniB,EAAS,CACP1H,KAAM,aACNsrB,OAAQ,gBACRrC,WAAYtoB,EACZ6nB,QAASkC,GAAqBZ,EAAc,oCAGvCd,GACPthB,EAAS,CACP1H,KAAM,QACNsrB,OAAQ,QACRtC,MAAOroB,EACP6nB,QAASkC,GAAqBZ,EAAc,sCAE9C,cAAcrlB,KAAKolB,KAAQniB,EAAOikB,SAAWhrB,IAEtC,QAAQ8D,KAAKolB,GACpBniB,EAAS,CACP1H,KAAM,OACNsrB,OAAQ,OACRpC,KAAMvoB,EACN6nB,QAASsB,EAAc,2BAGlBX,EACPzhB,EAAS,CACP1H,KAAM,QACNsrB,OAAQ,QACRnC,MAAOxoB,EACP6nB,QAASsB,EAAc,yCAA2CY,GAG7D,YAAYjmB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJ4rB,SAAUjrB,EACV6nB,QAASsB,EAAc,uCAAyCY,GAG7D,YAAYjmB,KAAKolB,GACxBniB,EAAS,CACP1H,KAAM,WACJopB,SAAUzoB,EACV6nB,QAASsB,EAAc,uCAAyCY,GAG7D,qBAAqBjmB,KAAKolB,GACjCniB,EAAS,CACP1H,KAAM,SACJ+c,OAAQpc,EACR6nB,QAASsB,EAAc,0CAGpBxM,EACP5V,EAAS,CACP1H,KAAM,UACJwoB,QAASkC,GAGN,sBAAsBjmB,KAAKolB,IAClCniB,EAAS,CACP1H,KAAM,SACNgd,OAAQrc,GAEN+pB,IACFhjB,EAAO8gB,QAAUkC,IAGZV,GACPtiB,EAAS,CACP1H,KAAoB,UAAbgqB,EAAwB,SAAwB,QAAbA,EAAsB,OAAS,QAGvEU,IACFhjB,EAAO8gB,QAAUkC,IAInBhjB,EADM,aAAajD,KAAKolB,GACf,CACP7pB,KAAM,YACN6rB,UAAWlrB,EACX6nB,QAASsB,EAAc,6BAA+BY,GAI/C,CACP1qB,KAAM8pB,EAAc,gBACpBtB,QAASuB,EAAe,kBAKvBriB,EAAO+hB,QAAU,kBAAkBhlB,KAAKolB,IACvC,2BAA2BplB,KAAKolB,IAClCniB,EAAO1H,KAAO0H,EAAO1H,MAAQ,QAC7B0H,EAAOokB,MAAQnrB,IAEf+G,EAAO1H,KAAO0H,EAAO1H,MAAQ,SAC7B0H,EAAOqkB,OAASprB,IAEb+G,EAAO8gB,SAAWkC,IACrBhjB,EAAO8gB,QAAUkC,KAEThjB,EAAOwV,OAAS,WAAWzY,KAAKolB,KAC1CniB,EAAO1H,KAAO0H,EAAO1H,MAAQ,QAC7B0H,EAAOskB,MAAQrrB,EACf+G,EAAO8gB,QAAU9gB,EAAO8gB,SAAWsB,EAAc,0BAI9CpiB,EAAO2iB,eAAiB/M,IAAW5V,EAAO0iB,MAGnC1iB,EAAO2iB,cAAgBL,GACjCtiB,EAAOsiB,GAAarpB,EACpB+G,EAAO2gB,IAAM1nB,EACb+G,EAAO4jB,OAAS,OACPf,GACT7iB,EAAO6iB,IAAM5pB,EACb+G,EAAO4jB,OAAS,SACPX,GACTjjB,EAAOijB,KAAOhqB,EACd+G,EAAO4jB,OAAS,QACPhB,GACT5iB,EAAO4iB,QAAU3pB,EACjB+G,EAAO4jB,OAAS,WACPd,IACT9iB,EAAO8iB,MAAQ7pB,EACf+G,EAAO4jB,OAAS,UAjBhB5jB,EAAO4V,QAAU3c,EACjB+G,EAAO4jB,OAAS,WAoClB,IAAI1C,EAAY,GACZlhB,EAAO4iB,QACT1B,EAnBF,SAA4BpnB,GAC1B,OAAQA,GACN,IAAK,KAAM,MAAO,KAClB,IAAK,KAAM,MAAO,KAClB,IAAK,SAAU,MAAO,OACtB,IAAK,SAAU,MAAO,KACtB,IAAK,SAAU,MAAO,OACtB,IAAK,SAAU,MAAO,QACtB,IAAK,SAAU,MAAO,IACtB,IAAK,SAAU,MAAO,IACtB,IAAK,SAAU,MAAO,MACtB,IAAK,UAAW,MAAO,KACvB,QAAS,QAOCyqB,CAAkBnC,EAAc,mCACnCpiB,EAAO2iB,aAChBzB,EAAYkB,EAAc,0CACjBpiB,EAAO6iB,IAEhB3B,GADAA,EAAYkB,EAAc,iCACJtiB,QAAQ,SAAU,KAC/BwiB,EAETpB,GADAA,EAAYkB,EAAc,uCACJtiB,QAAQ,SAAU,KAC/B8V,EACTsL,EAAYkB,EAAc,+BACjBpiB,EAAOshB,MAChBJ,EAAYkB,EAAc,iCACjBpiB,EAAOuhB,WAChBL,EAAYkB,EAAc,mCACjBpiB,EAAOwhB,KAChBN,EAAYkB,EAAc,wBACjBpiB,EAAOyhB,QAChBP,EAAYkB,EAAc,8BAExBlB,IACFlhB,EAAOihB,UAAYC,GAIrB,IAAIsD,GAAkBxkB,EAAO4iB,SAAW1B,EAAUhc,MAAM,KAAK,GAqD7D,OAnDKwb,GACA8B,GACa,QAAbF,GACC1M,IAA8B,GAAlB4O,GAAwBA,GAAkB,IAAM/D,IAC7DzgB,EAAO0iB,KAEV1iB,EAAO0gB,OAASznB,GAEbwnB,GACa,UAAb6B,GACa,QAAbA,GACA1M,GACA2M,GACAviB,EAAOuhB,YACPvhB,EAAOshB,OACPthB,EAAOwhB,QAEVxhB,EAAOygB,OAASxnB,GAKd+G,EAAO+hB,QACN/hB,EAAO8hB,MAAQ9hB,EAAO8gB,SAAW,IACjC9gB,EAAOsgB,eAAiBtgB,EAAO8gB,SAAW,IAC5C9gB,EAAO2hB,SAAW3hB,EAAO8gB,SAAW,GAClC9gB,EAAOqV,QAAUrV,EAAO8gB,SAAW,IACnC9gB,EAAOmhB,gBAAkBnhB,EAAO8gB,SAAW,GAC3C9gB,EAAOkjB,OAAsD,IAA7CuB,EAAgB,CAACzkB,EAAO8gB,QAAS,SACjD9gB,EAAOmjB,WAA0D,IAA7CsB,EAAgB,CAACzkB,EAAO8gB,QAAS,SACrD9gB,EAAOqjB,OAAsD,IAA7CoB,EAAgB,CAACzkB,EAAO8gB,QAAS,SACjD9gB,EAAOuV,SAAWvV,EAAO8gB,SAAW,IACpC9gB,EAAOsV,QAAUtV,EAAO8gB,SAAW,GACnC9gB,EAAOwV,OAASxV,EAAO8gB,SAAW,IAClC9gB,EAAO2gB,KAAO3gB,EAAOihB,WAAajhB,EAAOihB,UAAU/b,MAAM,KAAK,IAAM,GACpElF,EAAOuhB,YAAcvhB,EAAO8gB,SAAW,MACpC9gB,EAAO0hB,UAAY1hB,EAAO8gB,SAAW,GAE3C9gB,EAAO+G,EAAI9N,EAEH+G,EAAO8hB,MAAQ9hB,EAAO8gB,QAAU,IACrC9gB,EAAOqV,QAAUrV,EAAO8gB,QAAU,IAClC9gB,EAAOuV,SAAWvV,EAAO8gB,QAAU,IACnC9gB,EAAOsV,QAAUtV,EAAO8gB,QAAU,GAClC9gB,EAAOwV,OAASxV,EAAO8gB,QAAU,IACjC9gB,EAAO2gB,KAAO3gB,EAAOihB,WAAajhB,EAAOihB,UAAU/b,MAAM,KAAK,GAAK,GAChElF,EAAO0hB,UAAY1hB,EAAO8gB,QAAU,GAE1C9gB,EAAO5H,EAAIa,EACN+G,EAAO4d,EAAI3kB,EAEX+G,EAGT,IAAI0kB,EAASxC,EAA4B,oBAAdtkB,WAA4BA,UAAUH,WAAkB,IAuBnF,SAASknB,EAAoB7D,GAC3B,OAAOA,EAAQ5b,MAAM,KAAKjK,OAU5B,SAAS+X,EAAI4R,EAAK1nB,GAChB,IAAiBnF,EAAbiI,EAAS,GACb,GAAI3B,MAAM1E,UAAUqZ,IAClB,OAAO3U,MAAM1E,UAAUqZ,IAAI9a,KAAK0sB,EAAK1nB,GAEvC,IAAKnF,EAAI,EAAGA,EAAI6sB,EAAI3pB,OAAQlD,IAC1BiI,EAAOoB,KAAKlE,EAAS0nB,EAAI7sB,KAE3B,OAAOiI,EAeT,SAASykB,EAAgBI,GAgBvB,IAdA,IAAIC,EAAY5e,KAAK6e,IAAIJ,EAAoBE,EAAS,IAAKF,EAAoBE,EAAS,KACpFG,EAAShS,EAAI6R,GAAU,SAAU/D,GACnC,IAAImE,EAAQH,EAAYH,EAAoB7D,GAM5C,OAAO9N,GAHP8N,GAAoB,IAAIziB,MAAM4mB,EAAQ,GAAG1mB,KAAK,OAG3B2G,MAAM,MAAM,SAAUggB,GACvC,OAAO,IAAI7mB,MAAM,GAAK6mB,EAAMjqB,QAAQsD,KAAK,KAAO2mB,KAC/CC,eAIIL,GAAa,GAAG,CAEvB,GAAIE,EAAO,GAAGF,GAAaE,EAAO,GAAGF,GACnC,OAAO,EAEJ,GAAIE,EAAO,GAAGF,KAAeE,EAAO,GAAGF,GAO1C,OAAQ,EANR,GAAkB,IAAdA,EAEF,OAAO,GA2Bf,SAASM,EAAqBC,EAAaC,EAAYnD,GACrD,IAAIf,EAAUsD,EAGY,iBAAfY,IACTnD,EAAKmD,EACLA,OAAa,QAGI,IAAfA,IACFA,GAAa,GAEXnD,IACFf,EAAUc,EAAOC,IAGnB,IAAIrB,EAAU,GAAKM,EAAQN,QAC3B,IAAK,IAAIP,KAAW8E,EAClB,GAAIA,EAAYzrB,eAAe2mB,IACzBa,EAAQb,GAAU,CACpB,GAAoC,iBAAzB8E,EAAY9E,GACrB,MAAM,IAAI/c,MAAM,6DAA+D+c,EAAU,KAAOxJ,OAAOsO,IAIzG,OAAOZ,EAAgB,CAAC3D,EAASuE,EAAY9E,KAAa,EAKhE,OAAO+E,EA+BT,OAvKAZ,EAAO3nB,KAAO,SAAUwoB,GACtB,IAAK,IAAIxtB,EAAI,EAAGA,EAAIwtB,EAAYtqB,SAAUlD,EAAG,CAC3C,IAAIytB,EAAcD,EAAYxtB,GAC9B,GAA0B,iBAAfytB,GACLA,KAAed,EACjB,OAAO,EAIb,OAAO,GA8ITA,EAAOU,qBAAuBA,EAC9BV,EAAOD,gBAAkBA,EACzBC,EAAOe,MANP,SAAeJ,EAAaC,EAAYnD,GACtC,OAAQiD,EAAqBC,EAAaC,EAAYnD,IAYxDuC,EAAOrE,QAAU6B,EAMjBwC,EAAOxC,OAASA,EACTwC,GA3nB6B5sB,EAAOD,QAASC,EAAOD,QAAUoqB,IACjB,MAE9C,SAF2DA,I,cCRnEnqB,EAAOD,QAAU,WAChB,MAAM,IAAI2L,MAAM,oC,6BCCjB/K,OAAOC,eAAeb,EAAS,aAAc,CAC3CmB,OAAO,IAETnB,EAAQmC,QACR,SAA8BkQ,EAAaC,EAAgBJ,GAGzD,GAAoB,WAAhBG,GAA4BC,EAAiB,KAAuB,WAAhBD,GAA4C,YAAhBA,IAA8BC,EAAiB,GAAqB,UAAhBD,GAA2BC,EAAiB,IAAsB,YAAhBD,GAA6BC,GAAkB,KAAuB,WAAhBD,EAC9O,OAAOH,EAHe,YAKxB,MALwB,aAO1BjS,EAAOD,QAAUA,EAAiB,S,6BCdlC,OACA,IAAI6tB,EAAmB,SACnBC,EAAY,OACZC,EAAQ,GAEZ,SAASC,EAAcpmB,GACrB,MAAO,IAAMA,EAAMG,cAYN,UATf,SAA4BtH,GAC1B,GAAIstB,EAAMhsB,eAAetB,GACvB,OAAOstB,EAAMttB,GAGf,IAAIwtB,EAAQxtB,EAAKwH,QAAQ4lB,EAAkBG,GAC3C,OAAQD,EAAMttB,GAAQqtB,EAAU5oB,KAAK+oB,GAAS,IAAMA,EAAQA,I,wFCdnDC,EAEX,IAAMC,cAAc,MCEpB,IAAI,EAJJ,SAA0B5L,GACxBA,KCEE6L,EAAgB,CAClBC,OAAQ,cAGV,SAASC,IACP,IAAIC,EDGG,ECFHC,EAAQ,KACRC,EAAO,KACX,MAAO,CACLC,MAAO,WACLF,EAAQ,KACRC,EAAO,MAETJ,OAAQ,WACNE,GAAM,WAGJ,IAFA,IAAII,EAAWH,EAERG,GACLA,EAASpM,WACToM,EAAWA,EAASze,SAI1BnP,IAAK,WAIH,IAHA,IAAI6tB,EAAY,GACZD,EAAWH,EAERG,GACLC,EAAUrlB,KAAKolB,GACfA,EAAWA,EAASze,KAGtB,OAAO0e,GAETC,UAAW,SAAmBtM,GAC5B,IAAIuM,GAAe,EACfH,EAAWF,EAAO,CACpBlM,SAAUA,EACVrS,KAAM,KACND,KAAMwe,GASR,OANIE,EAAS1e,KACX0e,EAAS1e,KAAKC,KAAOye,EAErBH,EAAQG,EAGH,WACAG,GAA0B,OAAVN,IACrBM,GAAe,EAEXH,EAASze,KACXye,EAASze,KAAKD,KAAO0e,EAAS1e,KAE9Bwe,EAAOE,EAAS1e,KAGd0e,EAAS1e,KACX0e,EAAS1e,KAAKC,KAAOye,EAASze,KAE9Bse,EAAQG,EAASze,SAO3B,IAAI6e,EAEJ,WACE,SAASA,EAAaC,EAAOC,GAC3BnmB,KAAKkmB,MAAQA,EACblmB,KAAKmmB,UAAYA,EACjBnmB,KAAKomB,YAAc,KACnBpmB,KAAK8lB,UAAYR,EACjBtlB,KAAKqmB,oBAAsBrmB,KAAKqmB,oBAAoBztB,KAAKoH,MAG3D,IAAIsmB,EAASL,EAAajtB,UAqC1B,OAnCAstB,EAAOC,aAAe,SAAsBV,GAE1C,OADA7lB,KAAKwmB,eACExmB,KAAK8lB,UAAUC,UAAUF,IAGlCS,EAAOG,iBAAmB,WACxBzmB,KAAK8lB,UAAUP,UAGjBe,EAAOD,oBAAsB,WACvBrmB,KAAK0mB,eACP1mB,KAAK0mB,iBAITJ,EAAON,aAAe,WACpB,OAAOW,QAAQ3mB,KAAKomB,cAGtBE,EAAOE,aAAe,WACfxmB,KAAKomB,cACRpmB,KAAKomB,YAAcpmB,KAAKmmB,UAAYnmB,KAAKmmB,UAAUI,aAAavmB,KAAKqmB,qBAAuBrmB,KAAKkmB,MAAMH,UAAU/lB,KAAKqmB,qBACtHrmB,KAAK8lB,UAAYN,MAIrBc,EAAOM,eAAiB,WAClB5mB,KAAKomB,cACPpmB,KAAKomB,cACLpmB,KAAKomB,YAAc,KACnBpmB,KAAK8lB,UAAUF,QACf5lB,KAAK8lB,UAAYR,IAIdW,EA9CT,GCvBe,MA9Cf,SAAkBre,GAChB,IAAIse,EAAQte,EAAKse,MACbW,EAAUjf,EAAKif,QACf5H,EAAWrX,EAAKqX,SAChB6H,EAAe,mBAAQ,WACzB,IAAIC,EAAe,IAAId,EAAaC,GAEpC,OADAa,EAAaL,cAAgBK,EAAaN,iBACnC,CACLP,MAAOA,EACPa,aAAcA,KAEf,CAACb,IACAc,EAAgB,mBAAQ,WAC1B,OAAOd,EAAMe,aACZ,CAACf,IACJ,qBAAU,WACR,IAAIa,EAAeD,EAAaC,aAOhC,OANAA,EAAaP,eAETQ,IAAkBd,EAAMe,YAC1BF,EAAaN,mBAGR,WACLM,EAAaH,iBACbG,EAAaL,cAAgB,QAE9B,CAACI,EAAcE,IAClB,IAAIE,EAAUL,GAAWzB,EACzB,OAAO,IAAMjnB,cAAc+oB,EAAQC,SAAU,CAC3C9uB,MAAOyuB,GACN7H,ICpCU,SAASmI,IAetB,OAdAA,EAAWtvB,OAAOuvB,QAAU,SAAU9e,GACpC,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CACzC,IAAIgM,EAAS3I,UAAUrD,GAEvB,IAAK,IAAIuB,KAAOyK,EACVtL,OAAOkB,UAAUC,eAAe1B,KAAK6L,EAAQzK,KAC/C4P,EAAO5P,GAAOyK,EAAOzK,IAK3B,OAAO4P,IAGO+e,MAAMtnB,KAAMvF,WCff,SAAS8sB,EAA8BnkB,EAAQokB,GAC5D,GAAc,MAAVpkB,EAAgB,MAAO,GAC3B,IAEIzK,EAAKvB,EAFLmR,EAAS,GACTkf,EAAa3vB,OAAO+D,KAAKuH,GAG7B,IAAKhM,EAAI,EAAGA,EAAIqwB,EAAWntB,OAAQlD,IACjCuB,EAAM8uB,EAAWrwB,GACbowB,EAAShnB,QAAQ7H,IAAQ,IAC7B4P,EAAO5P,GAAOyK,EAAOzK,IAGvB,OAAO4P,E,4BCHEmf,EAA8C,oBAAXtuB,aAAqD,IAApBA,OAAO8E,eAAqE,IAAlC9E,OAAO8E,SAASC,cAAgC,kBAAkB,YCAvLwpB,EAAc,GACdC,EAAwB,CAAC,KAAM,MAUnC,SAASC,EAAyBC,EAAOC,GACvC,IAAIC,EAAcF,EAAM,GACxB,MAAO,CAACC,EAAOE,QAASD,EAAc,GAGxC,SAASE,EAAkCC,EAAYC,EAAYC,GACjEX,GAA0B,WACxB,OAAOS,EAAWb,WAAM,EAAQc,KAC/BC,GAGL,SAASC,EAAoBC,EAAkBC,EAAgBC,EAAmBC,EAAcC,EAAkBC,EAA2BnC,GAE3I8B,EAAiB7mB,QAAUgnB,EAC3BF,EAAe9mB,QAAUinB,EACzBF,EAAkB/mB,SAAU,EAExBknB,EAA0BlnB,UAC5BknB,EAA0BlnB,QAAU,KACpC+kB,KAIJ,SAASoC,EAAiBC,EAA0B5C,EAAOa,EAAcgC,EAAoBR,EAAkBC,EAAgBC,EAAmBG,EAA2BnC,EAAkBuC,GAE7L,GAAKF,EAAL,CAEA,IAAIG,GAAiB,EACjBC,EAAkB,KAElBC,EAAkB,WACpB,IAAIF,EAAJ,CAMA,IACIG,EAAe7iB,EADf8iB,EAAmBnD,EAAMe,WAG7B,IAGEmC,EAAgBL,EAAmBM,EAAkBd,EAAiB7mB,SACtE,MAAOxF,GACPqK,EAAQrK,EACRgtB,EAAkBhtB,EAGfqK,IACH2iB,EAAkB,MAIhBE,IAAkBZ,EAAe9mB,QAC9B+mB,EAAkB/mB,SACrB+kB,KAOF+B,EAAe9mB,QAAU0nB,EACzBR,EAA0BlnB,QAAU0nB,EACpCX,EAAkB/mB,SAAU,EAE5BsnB,EAA6B,CAC3B5uB,KAAM,gBACN6tB,QAAS,CACP1hB,MAAOA,QAOfwgB,EAAaL,cAAgByC,EAC7BpC,EAAaP,eAGb2C,IAiBA,OAfyB,WAKvB,GAJAF,GAAiB,EACjBlC,EAAaH,iBACbG,EAAaL,cAAgB,KAEzBwC,EAMF,MAAMA,IAOZ,IAAII,EAAmB,WACrB,MAAO,CAAC,KAAM,IAGD,SAASC,EAexBC,EACA5hB,QACe,IAATA,IACFA,EAAO,IAGT,IAAI6hB,EAAQ7hB,EACR8hB,EAAuBD,EAAME,eAC7BA,OAA0C,IAAzBD,EAAkC,SAAU/xB,GAC/D,MAAO,mBAAqBA,EAAO,KACjC+xB,EACAE,EAAmBH,EAAMI,WACzBA,OAAkC,IAArBD,EAA8B,kBAAoBA,EAC/DE,EAAwBL,EAAMM,gBAC9BA,OAA4C,IAA1BD,OAAmC/kB,EAAY+kB,EACjEE,EAAwBP,EAAMX,yBAC9BA,OAAqD,IAA1BkB,GAA0CA,EACrEC,EAAiBR,EAAMS,SACvBA,OAA8B,IAAnBD,EAA4B,QAAUA,EAGjDE,GAFgBV,EAAMW,QAEHX,EAAMY,YACzBA,OAAkC,IAArBF,GAAsCA,EACnDG,EAAgBb,EAAM5C,QACtBA,OAA4B,IAAlByD,EAA2BlF,EAAoBkF,EACzDC,EAAiBhD,EAA8BkC,EAAO,CAAC,iBAAkB,aAAc,kBAAmB,2BAA4B,WAAY,UAAW,aAAc,YAkB3KvC,EAAUL,EACd,OAAO,SAAyB2D,GAK9B,IAAIC,EAAuBD,EAAiB1wB,aAAe0wB,EAAiB7yB,MAAQ,YAChFmC,EAAc6vB,EAAec,GAE7BC,EAAyBtD,EAAS,GAAImD,EAAgB,CACxDZ,eAAgBA,EAChBE,WAAYA,EACZE,gBAAiBA,EACjBjB,yBAA0BA,EAC1BoB,SAAUA,EACVpwB,YAAaA,EACb2wB,qBAAsBA,EACtBD,iBAAkBA,IAGhBG,EAAOJ,EAAeI,KAS1B,IAAIC,EAAkBD,EAAO,UAAU,SAAUlR,GAC/C,OAAOA,KAGT,SAASoR,EAAgBriB,GACvB,IAAIsiB,EAAW,mBAAQ,WAIrB,IAAIC,EAAeviB,EAAMuiB,aACrBrC,EAAenB,EAA8B/e,EAAO,CAAC,iBAEzD,MAAO,CAACA,EAAMqe,QAASkE,EAAcrC,KACpC,CAAClgB,IACAwiB,EAAeF,EAAS,GACxBC,EAAeD,EAAS,GACxBpC,EAAeoC,EAAS,GAExBG,EAAe,mBAAQ,WAGzB,OAAOD,GAAgBA,EAAaE,UAAY,4BAAkB,IAAM/sB,cAAc6sB,EAAaE,SAAU,OAASF,EAAe9D,IACpI,CAAC8D,EAAc9D,IAEdJ,EAAe,qBAAWmE,GAI1BE,EAAwBxE,QAAQne,EAAM0d,QAAUS,QAAQne,EAAM0d,MAAMe,WAAaN,QAAQne,EAAM0d,MAAMkF,UAC3EzE,QAAQG,IAAiBH,QAAQG,EAAaZ,OAO5E,IAAIA,EAAQiF,EAAwB3iB,EAAM0d,MAAQY,EAAaZ,MAC3D6C,EAAqB,mBAAQ,WAG/B,OA/CJ,SAA6B7C,GAC3B,OAAOsD,EAAgBtD,EAAMkF,SAAUV,GA8C9BW,CAAoBnF,KAC1B,CAACA,IAEAoF,EAAY,mBAAQ,WACtB,IAAKxC,EAA0B,OAAOlB,EAGtC,IAAIb,EAAe,IAAId,EAAaC,EAAOiF,EAAwB,KAAOrE,EAAaC,cAKnFN,EAAmBM,EAAaN,iBAAiB7tB,KAAKmuB,GAC1D,MAAO,CAACA,EAAcN,KACrB,CAACP,EAAOiF,EAAuBrE,IAC9BC,EAAeuE,EAAU,GACzB7E,EAAmB6E,EAAU,GAI7BC,EAAyB,mBAAQ,WACnC,OAAIJ,EAIKrE,EAKFM,EAAS,GAAIN,EAAc,CAChCC,aAAcA,MAEf,CAACoE,EAAuBrE,EAAcC,IAGrCyE,EAAc,qBAAW3D,EAA0BF,EAAa2B,GAEhEmC,EADeD,EAAY,GACc,GACzCxC,EAA+BwC,EAAY,GAG/C,GAAIC,GAA6BA,EAA0BllB,MACzD,MAAMklB,EAA0BllB,MAIlC,IAAIiiB,EAAiB,mBACjBD,EAAmB,iBAAOG,GAC1BE,EAA4B,mBAC5BH,EAAoB,kBAAO,GAC3BE,EAAmBiC,GAAgB,WAOrC,OAAIhC,EAA0BlnB,SAAWgnB,IAAiBH,EAAiB7mB,QAClEknB,EAA0BlnB,QAO5BqnB,EAAmB7C,EAAMe,WAAYyB,KAC3C,CAACxC,EAAOuF,EAA2B/C,IAItCR,EAAkCI,EAAqB,CAACC,EAAkBC,EAAgBC,EAAmBC,EAAcC,EAAkBC,EAA2BnC,IAExKyB,EAAkCW,EAAkB,CAACC,EAA0B5C,EAAOa,EAAcgC,EAAoBR,EAAkBC,EAAgBC,EAAmBG,EAA2BnC,EAAkBuC,GAA+B,CAAC9C,EAAOa,EAAcgC,IAG/Q,IAAI2C,EAA2B,mBAAQ,WACrC,OAAO,IAAMvtB,cAAcqsB,EAAkBpD,EAAS,GAAIuB,EAAkB,CAC1EgD,IAAKZ,OAEN,CAACA,EAAcP,EAAkB7B,IAepC,OAZoB,mBAAQ,WAC1B,OAAIG,EAIK,IAAM3qB,cAAc8sB,EAAa9D,SAAU,CAChD9uB,MAAOkzB,GACNG,GAGEA,IACN,CAACT,EAAcS,EAA0BH,IAK9C,IAAIK,EAAUjB,EAAO,IAAMkB,KAAKhB,GAAmBA,EAInD,GAHAe,EAAQpB,iBAAmBA,EAC3BoB,EAAQ9xB,YAAcA,EAElBuwB,EAAY,CACd,IAAIyB,EAAY,IAAMzB,YAAW,SAA2B7hB,EAAOmjB,GACjE,OAAO,IAAMxtB,cAAcytB,EAASxE,EAAS,GAAI5e,EAAO,CACtDuiB,aAAcY,QAKlB,OAFAG,EAAUhyB,YAAcA,EACxBgyB,EAAUtB,iBAAmBA,EACtB,IAAasB,EAAWtB,GAGjC,OAAO,IAAaoB,EAASpB,IC9WjC,SAASuB,EAAG9O,EAAGC,GACb,OAAID,IAAMC,EACK,IAAND,GAAiB,IAANC,GAAW,EAAID,GAAM,EAAIC,EAEpCD,GAAMA,GAAKC,GAAMA,EAIb,SAAS8O,EAAaC,EAAMC,GACzC,GAAIH,EAAGE,EAAMC,GAAO,OAAO,EAE3B,GAAoB,iBAATD,GAA8B,OAATA,GAAiC,iBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIC,EAAQr0B,OAAO+D,KAAKowB,GACpBG,EAAQt0B,OAAO+D,KAAKqwB,GACxB,GAAIC,EAAM7xB,SAAW8xB,EAAM9xB,OAAQ,OAAO,EAE1C,IAAK,IAAIlD,EAAI,EAAGA,EAAI+0B,EAAM7xB,OAAQlD,IAChC,IAAKU,OAAOkB,UAAUC,eAAe1B,KAAK20B,EAAMC,EAAM/0B,MAAQ20B,EAAGE,EAAKE,EAAM/0B,IAAK80B,EAAKC,EAAM/0B,KAC1F,OAAO,EAIX,OAAO,E,YCjBLi1B,EAAe,WACjB,OAAO9mB,KAAK+mB,SAASzuB,SAAS,IAAI0uB,UAAU,GAAGhoB,MAAM,IAAI3G,KAAK,MAG5D4uB,EAAc,CAChBC,KAAM,eAAiBJ,IACvBK,QAAS,kBAAoBL,IAC7BM,qBAAsB,WACpB,MAAO,+BAAiCN,MAQ5C,SAASO,EAActwB,GACrB,GAAmB,iBAARA,GAA4B,OAARA,EAAc,OAAO,EAGpD,IAFA,IAAIuwB,EAAQvwB,EAE4B,OAAjCxE,OAAOwD,eAAeuxB,IAC3BA,EAAQ/0B,OAAOwD,eAAeuxB,GAGhC,OAAO/0B,OAAOwD,eAAegB,KAASuwB,EA6BxC,SAASC,EAAYC,EAASC,EAAgBC,GAC5C,IAAIxD,EAEJ,GAA8B,mBAAnBuD,GAAqD,mBAAbC,GAA+C,mBAAbA,GAAmD,mBAAjBxyB,UAAU,GAC/H,MAAM,IAAIoI,MAAM,uJAQlB,GAL8B,mBAAnBmqB,QAAqD,IAAbC,IACjDA,EAAWD,EACXA,OAAiBjoB,QAGK,IAAbkoB,EAA0B,CACnC,GAAwB,mBAAbA,EACT,MAAM,IAAIpqB,MAAM,2CAGlB,OAAOoqB,EAASH,EAATG,CAAsBF,EAASC,GAGxC,GAAuB,mBAAZD,EACT,MAAM,IAAIlqB,MAAM,0CAGlB,IAAIqqB,EAAiBH,EACjBI,EAAeH,EACfI,EAAmB,GACnBC,EAAgBD,EAChBE,GAAgB,EASpB,SAASC,IACHF,IAAkBD,IACpBC,EAAgBD,EAAiBxtB,SAUrC,SAASqnB,IACP,GAAIqG,EACF,MAAM,IAAIzqB,MAAM,wMAGlB,OAAOsqB,EA2BT,SAASpH,EAAUF,GACjB,GAAwB,mBAAbA,EACT,MAAM,IAAIhjB,MAAM,2CAGlB,GAAIyqB,EACF,MAAM,IAAIzqB,MAAM,6TAGlB,IAAImjB,GAAe,EAGnB,OAFAuH,IACAF,EAAc5sB,KAAKolB,GACZ,WACL,GAAKG,EAAL,CAIA,GAAIsH,EACF,MAAM,IAAIzqB,MAAM,kKAGlBmjB,GAAe,EACfuH,IACA,IAAI5X,EAAQ0X,EAAc7sB,QAAQqlB,GAClCwH,EAAc1qB,OAAOgT,EAAO,GAC5ByX,EAAmB,OA8BvB,SAAShC,EAASrD,GAChB,IAAK6E,EAAc7E,GACjB,MAAM,IAAIllB,MAAM,2EAGlB,QAA2B,IAAhBklB,EAAO3tB,KAChB,MAAM,IAAIyI,MAAM,sFAGlB,GAAIyqB,EACF,MAAM,IAAIzqB,MAAM,sCAGlB,IACEyqB,GAAgB,EAChBH,EAAeD,EAAeC,EAAcpF,GAC5C,QACAuF,GAAgB,EAKlB,IAFA,IAAIxH,EAAYsH,EAAmBC,EAE1Bj2B,EAAI,EAAGA,EAAI0uB,EAAUxrB,OAAQlD,IAAK,EAEzCyuB,EADeC,EAAU1uB,MAI3B,OAAO2wB,EAcT,SAASyF,EAAeC,GACtB,GAA2B,mBAAhBA,EACT,MAAM,IAAI5qB,MAAM,8CAGlBqqB,EAAiBO,EAKjBrC,EAAS,CACPhxB,KAAMoyB,EAAYE,UAWtB,SAAS5rB,IACP,IAAI8G,EAEA8lB,EAAiB3H,EACrB,OAAOne,EAAO,CASZme,UAAW,SAAmB4H,GAC5B,GAAwB,iBAAbA,GAAsC,OAAbA,EAClC,MAAM,IAAIvpB,UAAU,0CAGtB,SAASwpB,IACHD,EAASvmB,MACXumB,EAASvmB,KAAK6f,KAMlB,OAFA2G,IAEO,CACLxH,YAFgBsH,EAAeE,OAK7B,KAAgB,WACtB,OAAO5tB,MACN4H,EASL,OAHAwjB,EAAS,CACPhxB,KAAMoyB,EAAYC,QAEbhD,EAAQ,CACb2B,SAAUA,EACVrF,UAAWA,EACXkB,SAAUA,EACVuG,eAAgBA,IACT,KAAgB1sB,EAAY2oB,EA0BvC,SAASoE,EAA8Bl1B,EAAKovB,GAC1C,IAAI+F,EAAa/F,GAAUA,EAAO3tB,KAElC,MAAO,UADiB0zB,GAAc,WAAc1X,OAAO0X,GAAc,KAAQ,aAC3C,cAAiBn1B,EAAM,iLAgE/D,SAASo1B,EAAgBC,GAIvB,IAHA,IAAIC,EAAcn2B,OAAO+D,KAAKmyB,GAC1BE,EAAgB,GAEX92B,EAAI,EAAGA,EAAI62B,EAAY3zB,OAAQlD,IAAK,CAC3C,IAAIuB,EAAMs1B,EAAY72B,GAElB,EAMyB,mBAAlB42B,EAASr1B,KAClBu1B,EAAcv1B,GAAOq1B,EAASr1B,IAIlC,IASIw1B,EATAC,EAAmBt2B,OAAO+D,KAAKqyB,GAWnC,KAjEF,SAA4BF,GAC1Bl2B,OAAO+D,KAAKmyB,GAAUxrB,SAAQ,SAAU7J,GACtC,IAAIo0B,EAAUiB,EAASr1B,GAKvB,QAA4B,IAJTo0B,OAAQhoB,EAAW,CACpC3K,KAAMoyB,EAAYC,OAIlB,MAAM,IAAI5pB,MAAM,YAAelK,EAAM,iRAGvC,QAEO,IAFIo0B,OAAQhoB,EAAW,CAC5B3K,KAAMoyB,EAAYG,yBAElB,MAAM,IAAI9pB,MAAM,YAAelK,EAAM,6EAAqF6zB,EAAYC,KAAO,kTAoD/I4B,CAAmBH,GACnB,MAAOhyB,GACPiyB,EAAsBjyB,EAGxB,OAAO,SAAqB4rB,EAAOC,GAKjC,QAJc,IAAVD,IACFA,EAAQ,IAGNqG,EACF,MAAMA,EAcR,IAX2C,IAQvCG,GAAa,EACbC,EAAY,GAEPC,EAAK,EAAGA,EAAKJ,EAAiB9zB,OAAQk0B,IAAM,CACnD,IAAIC,EAAOL,EAAiBI,GACxBzB,EAAUmB,EAAcO,GACxBC,EAAsB5G,EAAM2G,GAC5BE,EAAkB5B,EAAQ2B,EAAqB3G,GAEnD,QAA+B,IAApB4G,EAAiC,CAC1C,IAAIC,EAAef,EAA8BY,EAAM1G,GACvD,MAAM,IAAIllB,MAAM+rB,GAGlBL,EAAUE,GAAQE,EAClBL,EAAaA,GAAcK,IAAoBD,EAIjD,OADAJ,EAAaA,GAAcF,EAAiB9zB,SAAWxC,OAAO+D,KAAKisB,GAAOxtB,QACtDi0B,EAAYzG,GAIpC,SAAS+G,EAAkBC,EAAe1D,GACxC,OAAO,WACL,OAAOA,EAAS0D,EAAcxH,MAAMtnB,KAAMvF,aAgD9C,SAASs0B,EAAgBzyB,EAAK3D,EAAKN,GAYjC,OAXIM,KAAO2D,EACTxE,OAAOC,eAAeuE,EAAK3D,EAAK,CAC9BN,MAAOA,EACPL,YAAY,EACZiM,cAAc,EACdD,UAAU,IAGZ1H,EAAI3D,GAAON,EAGNiE,EAGT,SAAS0yB,EAAQl2B,EAAQm2B,GACvB,IAAIpzB,EAAO/D,OAAO+D,KAAK/C,GASvB,OAPIhB,OAAOsD,uBACTS,EAAK4E,KAAK6mB,MAAMzrB,EAAM/D,OAAOsD,sBAAsBtC,IAGjDm2B,IAAgBpzB,EAAOA,EAAK6H,QAAO,SAAUwrB,GAC/C,OAAOp3B,OAAOuD,yBAAyBvC,EAAQo2B,GAAKl3B,eAE/C6D,EAGT,SAASszB,EAAe5mB,GACtB,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CACzC,IAAIgM,EAAyB,MAAhB3I,UAAUrD,GAAaqD,UAAUrD,GAAK,GAE/CA,EAAI,EACN43B,EAAQ5rB,GAAQ,GAAMZ,SAAQ,SAAU7J,GACtCo2B,EAAgBxmB,EAAQ5P,EAAKyK,EAAOzK,OAE7Bb,OAAOs3B,0BAChBt3B,OAAOwQ,iBAAiBC,EAAQzQ,OAAOs3B,0BAA0BhsB,IAEjE4rB,EAAQ5rB,GAAQZ,SAAQ,SAAU7J,GAChCb,OAAOC,eAAewQ,EAAQ5P,EAAKb,OAAOuD,yBAAyB+H,EAAQzK,OAKjF,OAAO4P,EAaT,SAAS8mB,IACP,IAAK,IAAIC,EAAO70B,UAAUH,OAAQi1B,EAAQ,IAAI7xB,MAAM4xB,GAAOb,EAAO,EAAGA,EAAOa,EAAMb,IAChFc,EAAMd,GAAQh0B,UAAUg0B,GAG1B,OAAqB,IAAjBc,EAAMj1B,OACD,SAAUk1B,GACf,OAAOA,GAIU,IAAjBD,EAAMj1B,OACDi1B,EAAM,GAGRA,EAAM/xB,QAAO,SAAU4I,EAAGC,GAC/B,OAAO,WACL,OAAOD,EAAEC,EAAEihB,WAAM,EAAQ7sB,gBCtlBxB,SAASg1B,EAAuBC,GACrC,OAAO,SAA8BtE,EAAUjnB,GAC7C,IAAIwrB,EAAWD,EAAYtE,EAAUjnB,GAErC,SAASyrB,IACP,OAAOD,EAIT,OADAC,EAAiBC,mBAAoB,EAC9BD,GAUJ,SAASE,EAAqBC,GACnC,OAAwC,OAAjCA,EAAWF,wBAA+D9qB,IAAjCgrB,EAAWF,kBAAkClJ,QAAQoJ,EAAWF,mBAA2C,IAAtBE,EAAWz1B,OAc3I,SAAS01B,EAAmBD,EAAYlG,GAC7C,OAAO,SAA2BuB,EAAUxjB,GACxBA,EAAK9N,YAAvB,IAEIm2B,EAAQ,SAAyBC,EAAiBC,GACpD,OAAOF,EAAMJ,kBAAoBI,EAAMF,WAAWG,EAAiBC,GAAYF,EAAMF,WAAWG,IAqBlG,OAjBAD,EAAMJ,mBAAoB,EAE1BI,EAAMF,WAAa,SAAgCG,EAAiBC,GAClEF,EAAMF,WAAaA,EACnBE,EAAMJ,kBAAoBC,EAAqBC,GAC/C,IAAIvnB,EAAQynB,EAAMC,EAAiBC,GASnC,MAPqB,mBAAV3nB,IACTynB,EAAMF,WAAavnB,EACnBynB,EAAMJ,kBAAoBC,EAAqBtnB,GAC/CA,EAAQynB,EAAMC,EAAiBC,IAI1B3nB,GAGFynB,GC5CI,OAfR,SAA0CG,GAC/C,MAAqC,mBAAvBA,EAAoCJ,EAAmBI,QAA4CrrB,GAE5G,SAAyCqrB,GAC9C,OAAQA,OAIHrrB,EAJwB0qB,GAAuB,SAAUrE,GAC5D,MAAO,CACLA,SAAUA,OAIT,SAAwCgF,GAC7C,OAAOA,GAAoD,iBAAvBA,EAAkCX,GAAuB,SAAUrE,GACrG,OFweJ,SAA4BiF,EAAgBjF,GAC1C,GAA8B,mBAAnBiF,EACT,OAAOxB,EAAkBwB,EAAgBjF,GAG3C,GAA8B,iBAAnBiF,GAAkD,OAAnBA,EACxC,MAAM,IAAIxtB,MAAM,0EAA+F,OAAnBwtB,EAA0B,cAAgBA,GAAkB,8FAG1J,IAAIC,EAAsB,GAE1B,IAAK,IAAI33B,KAAO03B,EAAgB,CAC9B,IAAIvB,EAAgBuB,EAAe13B,GAEN,mBAAlBm2B,IACTwB,EAAoB33B,GAAOk2B,EAAkBC,EAAe1D,IAIhE,OAAOkF,EE3fEC,CAAmBH,EAAoBhF,WAC3CrmB,ICNQ,OARR,SAAuCyrB,GAC5C,MAAkC,mBAApBA,EAAiCR,EAAmBQ,QAAsCzrB,GAEnG,SAAsCyrB,GAC3C,OAAQA,OAEHzrB,EAFqB0qB,GAAuB,WAC/C,MAAO,QCJJ,SAASgB,EAAkBC,EAAYC,EAAeR,GAC3D,OAAO/I,EAAS,GAAI+I,EAAU,GAAIO,EAAY,GAAIC,GAgCrC,OARR,SAAkCC,GACvC,MAA6B,mBAAfA,EAvBT,SAA4BA,GACjC,OAAO,SAA6BxF,EAAUxjB,GAC1BA,EAAK9N,YAAvB,IAII+2B,EAHAlG,EAAO/iB,EAAK+iB,KACZmG,EAAsBlpB,EAAKkpB,oBAC3BC,GAAa,EAEjB,OAAO,SAAyBL,EAAYC,EAAeR,GACzD,IAAIa,EAAkBJ,EAAWF,EAAYC,EAAeR,GAU5D,OARIY,EACGpG,GAASmG,EAAoBE,EAAiBH,KAAcA,EAAcG,IAE/ED,GAAa,EACbF,EAAcG,GAITH,IAK+BI,CAAmBL,QAAc7rB,GAEtE,SAAiC6rB,GACtC,OAAQA,OAEJ7rB,EAFiB,WACnB,OAAO0rB,KC9BJ,SAASS,EAAgCV,EAAiBJ,EAAoBQ,EAAYxF,GAC/F,OAAO,SAAkCtD,EAAOqI,GAC9C,OAAOS,EAAWJ,EAAgB1I,EAAOqI,GAAWC,EAAmBhF,EAAU+E,GAAWA,IAGzF,SAASgB,EAA8BX,EAAiBJ,EAAoBQ,EAAYxF,EAAUxjB,GACvG,IAIIkgB,EACAqI,EACAO,EACAC,EACAE,EARAO,EAAiBxpB,EAAKwpB,eACtBC,EAAmBzpB,EAAKypB,iBACxBC,EAAqB1pB,EAAK0pB,mBAC1BC,GAAoB,EAuCxB,SAASC,EAAsBjD,EAAWkD,GACxC,IARIC,EACAC,EAOAC,GAAgBP,EAAiBI,EAActB,GAC/C0B,GAAgBT,EAAe7C,EAAWzG,GAG9C,OAFAA,EAAQyG,EACR4B,EAAWsB,EACPG,GAAgBC,GA1BpBnB,EAAaF,EAAgB1I,EAAOqI,GAChCC,EAAmBP,oBAAmBc,EAAgBP,EAAmBhF,EAAU+E,IACvFU,EAAcD,EAAWF,EAAYC,EAAeR,IAyBhDyB,GApBApB,EAAgBX,oBAAmBa,EAAaF,EAAgB1I,EAAOqI,IACvEC,EAAmBP,oBAAmBc,EAAgBP,EAAmBhF,EAAU+E,IACvFU,EAAcD,EAAWF,EAAYC,EAAeR,IAmBhD0B,GAdAH,EAAiBlB,EAAgB1I,EAAOqI,GACxCwB,GAAqBL,EAAmBI,EAAgBhB,GAC5DA,EAAagB,EACTC,IAAmBd,EAAcD,EAAWF,EAAYC,EAAeR,IACpEU,GAWAA,EAGT,OAAO,SAAgCtC,EAAWkD,GAChD,OAAOF,EAAoBC,EAAsBjD,EAAWkD,IAzC5Df,EAAaF,EAFb1I,EA2C4FyG,EA1C5F4B,EA0CuGsB,GAxCvGd,EAAgBP,EAAmBhF,EAAU+E,GAC7CU,EAAcD,EAAWF,EAAYC,EAAeR,GACpDoB,GAAoB,EACbV,IA6CI,SAASiB,EAA0B1G,EAAU3B,GAC1D,IAAIsI,EAAsBtI,EAAMsI,oBAC5BC,EAAyBvI,EAAMuI,uBAC/BC,EAAiBxI,EAAMwI,eACvB9tB,EAAUojB,EAA8BkC,EAAO,CAAC,sBAAuB,yBAA0B,mBAEjG+G,EAAkBuB,EAAoB3G,EAAUjnB,GAChDisB,EAAqB4B,EAAuB5G,EAAUjnB,GACtDysB,EAAaqB,EAAe7G,EAAUjnB,GAO1C,OADsBA,EAAQwmB,KAAOwG,EAAgCD,GAC9CV,EAAiBJ,EAAoBQ,EAAYxF,EAAUjnB,GC5DpF,SAASrF,EAAM0wB,EAAK0C,EAAWv6B,GAC7B,IAAK,IAAIP,EAAI86B,EAAU53B,OAAS,EAAGlD,GAAK,EAAGA,IAAK,CAC9C,IAAIiI,EAAS6yB,EAAU96B,GAAGo4B,GAC1B,GAAInwB,EAAQ,OAAOA,EAGrB,OAAO,SAAU+rB,EAAUjnB,GACzB,MAAM,IAAItB,MAAM,gCAAkC2sB,EAAM,QAAU73B,EAAO,uCAAyCwM,EAAQsmB,qBAAuB,MAIrJ,SAAS0H,GAAY/rB,EAAGC,GACtB,OAAOD,IAAMC,EAKR,SAAS+rB,GAAcC,GAC5B,IAAIzqB,OAAiB,IAAVyqB,EAAmB,GAAKA,EAC/BC,EAAkB1qB,EAAK2qB,WACvBA,OAAiC,IAApBD,EAA6B/I,EAAkB+I,EAC5DE,EAAwB5qB,EAAK6qB,yBAC7BA,OAAqD,IAA1BD,EAAmC,EAAkCA,EAChGE,EAAwB9qB,EAAK+qB,4BAC7BA,OAAwD,IAA1BD,EAAmC,EAAqCA,EACtGE,EAAwBhrB,EAAKirB,oBAC7BA,OAAgD,IAA1BD,EAAmC,EAA6BA,EACtFE,EAAuBlrB,EAAK4hB,gBAC5BA,OAA2C,IAAzBsJ,EAAkC,EAAyBA,EAEjF,OAAO,SAAiBtC,EAAiBJ,EAAoBQ,EAAYnH,QACzD,IAAVA,IACFA,EAAQ,IAGV,IAAIsJ,EAAQtJ,EACRuJ,EAAaD,EAAMpI,KACnBA,OAAsB,IAAfqI,GAA+BA,EACtCC,EAAuBF,EAAM3B,eAC7BA,OAA0C,IAAzB6B,EAAkCd,GAAcc,EACjEC,EAAwBH,EAAM1B,iBAC9BA,OAA6C,IAA1B6B,EAAmClH,EAAekH,EACrEC,EAAwBJ,EAAMzB,mBAC9BA,OAA+C,IAA1B6B,EAAmCnH,EAAemH,EACvEC,EAAwBL,EAAMjC,oBAC9BA,OAAgD,IAA1BsC,EAAmCpH,EAAeoH,EACxEC,EAAe9L,EAA8BwL,EAAO,CAAC,OAAQ,iBAAkB,mBAAoB,qBAAsB,wBAEzHhB,EAAsBjzB,EAAM0xB,EAAiBiC,EAA0B,mBACvET,EAAyBlzB,EAAMsxB,EAAoBuC,EAA6B,sBAChFV,EAAiBnzB,EAAM8xB,EAAYiC,EAAqB,cAC5D,OAAON,EAAW/I,EAAiBpC,EAAS,CAE1CyC,WAAY,UAEZF,eAAgB,SAAwBhyB,GACtC,MAAO,WAAaA,EAAO,KAG7BmxB,yBAA0BnC,QAAQ6J,GAElCuB,oBAAqBA,EACrBC,uBAAwBA,EACxBC,eAAgBA,EAChBtH,KAAMA,EACNyG,eAAgBA,EAChBC,iBAAkBA,EAClBC,mBAAoBA,EACpBR,oBAAqBA,GACpBuC,KAKP,OAAAjB,KC8BO,If1HiCkB,GgBPxC,SAASC,GAAsBC,GAC7B,OAAO,SAAU5rB,GACf,IAAIwjB,EAAWxjB,EAAKwjB,SAChBnE,EAAWrf,EAAKqf,SACpB,OAAO,SAAU7f,GACf,OAAO,SAAU2gB,GACf,MAAsB,mBAAXA,EACFA,EAAOqD,EAAUnE,EAAUuM,GAG7BpsB,EAAK2gB,MhBHoBuL,GiBG/B,0BjBFA,EAAQA,GgBQjB,IAAIG,GAAQF,KACZE,GAAMC,kBAAoBH,GAEX,UEPA,GAAA71B,MAAA,qBACb,OAAc,MAAPK,GAAeA,EAAIzD,QAAU,GAA6C,mBAAxCxC,OAAOkB,UAAU6E,SAAStG,KAAKwG,ICD3D,SAAS41B,GAAgBC,EAAYC,GAClD,OAAO,WACL,IAAIv5B,EAASG,UAAUH,OAEvB,GAAe,IAAXA,EACF,OAAOu5B,IAGT,IAAIv3B,EAAM7B,UAAUH,EAAS,GAC7B,OAAOw5B,GAASx3B,IAAmC,mBAApBA,EAAIs3B,GAA6BC,EAAGvM,MAAMtnB,KAAMvF,WAAa6B,EAAIs3B,GAAYtM,MAAMhrB,EAAKoB,MAAM1E,UAAU4G,MAAMrI,KAAKkD,UAAW,EAAGH,EAAS,KCrB9J,SAASy5B,GAAe3tB,GACrC,OAAY,MAALA,GAA0B,iBAANA,IAAoD,IAAlCA,EAAE,4BCSlC,SAAS4tB,GAAQH,GAC9B,OAAO,SAASI,EAAG7tB,GACjB,OAAyB,IAArB3L,UAAUH,QAAgBy5B,GAAe3tB,GACpC6tB,EAEAJ,EAAGvM,MAAMtnB,KAAMvF,YCJb,SAASy5B,GAAQL,GAC9B,OAAO,SAASM,EAAG/tB,EAAGC,GACpB,OAAQ5L,UAAUH,QAChB,KAAK,EACH,OAAO65B,EAET,KAAK,EACH,OAAOJ,GAAe3tB,GAAK+tB,EAAKH,IAAQ,SAAUI,GAChD,OAAOP,EAAGztB,EAAGguB,MAGjB,QACE,OAAOL,GAAe3tB,IAAM2tB,GAAe1tB,GAAK8tB,EAAKJ,GAAe3tB,GAAK4tB,IAAQ,SAAUK,GACzF,OAAOR,EAAGQ,EAAIhuB,MACX0tB,GAAe1tB,GAAK2tB,IAAQ,SAAUI,GACzC,OAAOP,EAAGztB,EAAGguB,MACVP,EAAGztB,EAAGC,KCUnB,IAgBe,GAdf6tB,GAEAP,GAAgB,WAAW,SAAiBE,EAAItzB,GAI9C,IAHA,IAAIH,EAAMG,EAAKjG,OACXoI,EAAM,EAEHA,EAAMtC,GACXyzB,EAAGtzB,EAAKmC,IACRA,GAAO,EAGT,OAAOnC,MC1CM,GAAA+zB,OAAA,uBACb,OAAOz7B,GAAK,IAAMA,GCTL,SAAS07B,GAAUtX,GAChC,MAA6C,oBAAtCnlB,OAAOkB,UAAU6E,SAAStG,KAAK0lB,GC4BxC,IAOe,GALfiX,IAAQ,SAAaM,EAAQj0B,GAC3B,IAAImC,EAAM8xB,EAAS,EAAIj0B,EAAKjG,OAASk6B,EAASA,EAC9C,OAAOD,GAAUh0B,GAAQA,EAAKb,OAAOgD,GAAOnC,EAAKmC,MCWpC,GApBfwxB,IAAQ,SAAeO,EAAYn4B,GACjC,OAAOm4B,EAAWpiB,KAAI,SAAUqiB,GAK9B,IAJA,IAEIx7B,EAFA6E,EAAMzB,EACNoG,EAAM,EAGHA,EAAMgyB,EAAMp6B,QAAQ,CACzB,GAAW,MAAPyD,EACF,OAGF7E,EAAIw7B,EAAMhyB,GACV3E,EAAM42B,GAAWz7B,GAAK,GAAIA,EAAG6E,GAAOA,EAAI7E,GACxCwJ,GAAO,EAGT,OAAO3E,QCXI,GAJfm2B,IAAQ,SAAcU,EAAQt4B,GAC5B,OAAO,GAAM,CAACs4B,GAASt4B,GAAK,MC1Bf,SAASu4B,GAAKnf,EAAMpZ,GACjC,OAAOxE,OAAOkB,UAAUC,eAAe1B,KAAK+E,EAAKoZ,GCAnD,IAAI,GAAW5d,OAAOkB,UAAU6E,SAYjB,GARf,WACE,MAAoC,uBAA7B,GAAStG,KAAKkD,WAAsC,SAAsBwiB,GAC/E,MAA4B,uBAArB,GAAS1lB,KAAK0lB,IACnB,SAAsBA,GACxB,OAAO4X,GAAK,SAAU5X,IAJ1B,GCDI6X,IAEJ,CACEj3B,SAAU,MACVk3B,qBAAqB,YACnBC,GAAqB,CAAC,cAAe,UAAW,gBAAiB,WAAY,uBAAwB,iBAAkB,kBAEvHC,GAEJ,WAGE,OAAOx6B,UAAUs6B,qBAAqB,UAHxC,GAMIG,GAAW,SAAkB30B,EAAM40B,GAGrC,IAFA,IAAIzyB,EAAM,EAEHA,EAAMnC,EAAKjG,QAAQ,CACxB,GAAIiG,EAAKmC,KAASyyB,EAChB,OAAO,EAGTzyB,GAAO,EAGT,OAAO,GA4DM,GAtCmB,mBAAhB5K,OAAO+D,MAAwBo5B,GAMjDjB,IAAQ,SAAc13B,GACpB,GAAIxE,OAAOwE,KAASA,EAClB,MAAO,GAGT,IAAIoZ,EAAM0f,EACNC,EAAK,GAELC,EAAkBL,IAAkB,GAAa34B,GAErD,IAAKoZ,KAAQpZ,GACPu4B,GAAKnf,EAAMpZ,IAAUg5B,GAA4B,WAAT5f,IAC1C2f,EAAGA,EAAG/6B,QAAUob,GAIpB,GAAIof,GAGF,IAFAM,EAAOJ,GAAmB16B,OAAS,EAE5B86B,GAAQ,GAGTP,GAFJnf,EAAOsf,GAAmBI,GAEX94B,KAAS44B,GAASG,EAAI3f,KACnC2f,EAAGA,EAAG/6B,QAAUob,GAGlB0f,GAAQ,EAIZ,OAAOC,KAlCTrB,IAAQ,SAAc13B,GACpB,OAAOxE,OAAOwE,KAASA,EAAM,GAAKxE,OAAO+D,KAAKS,MCvDjC,SAASi5B,GAAUtY,GAChC,MAA6C,oBAAtCnlB,OAAOkB,UAAU6E,SAAStG,KAAK0lB,GC4BxC,IASe,GAPf+W,IAAQ,SAAe/W,GACrB,OAAY,MAALA,GAAgD,mBAA5BA,EAAE,sBAAuCA,EAAE,wBAA+B,MAALA,GAA8B,MAAjBA,EAAEzgB,aAAsE,mBAAxCygB,EAAEzgB,YAAY,sBAAuCygB,EAAEzgB,YAAY,wBAA+B,MAALygB,GAAgC,mBAAZA,EAAEuY,MAAuBvY,EAAEuY,QAAe,MAALvY,GAA8B,MAAjBA,EAAEzgB,aAAsD,mBAAxBygB,EAAEzgB,YAAYg5B,MAAuBvY,EAAEzgB,YAAYg5B,QAAU1B,GAAS7W,GAAK,GAAKsX,GAAUtX,GAAK,GAAKsY,GAAUtY,GAAK,GAAK,GAAaA,GAAK,WACxd,OAAOxiB,UADid,QAEpd,KClCO,SAASg7B,GAAmBC,GAIzC,IAHA,IACItuB,EADA7G,EAAO,KAGF6G,EAAOsuB,EAAKtuB,QAAQqP,MAC3BlW,EAAKE,KAAK2G,EAAK/O,OAGjB,OAAOkI,ECRM,SAASo1B,GAAcC,EAAM3Y,EAAG1c,GAI7C,IAHA,IAAImC,EAAM,EACNtC,EAAMG,EAAKjG,OAERoI,EAAMtC,GAAK,CAChB,GAAIw1B,EAAK3Y,EAAG1c,EAAKmC,IACf,OAAO,EAGTA,GAAO,EAGT,OAAO,ECCM,8CAZf,SAAmB0D,EAAGC,GAEpB,OAAID,IAAMC,EAGK,IAAND,GAAW,EAAIA,GAAM,EAAIC,EAGzBD,GAAMA,GAAKC,GAAMA,GCwBb,GAJf2tB,IAAQ,SAAcj2B,GACpB,OAAe,OAARA,EAAe,YAAiBgH,IAARhH,EAAoB,YAAcjG,OAAOkB,UAAU6E,SAAStG,KAAKwG,GAAK6B,MAAM,GAAI,MCZjH,SAASi2B,GAAmBC,EAAWC,EAAWC,EAAQC,GACxD,IAAI7vB,EAAIqvB,GAAmBK,GAI3B,SAASI,EAAG7B,EAAID,GACd,OAAO+B,GAAQ9B,EAAID,EAAI4B,EAAOp2B,QAASq2B,EAAOr2B,SAIhD,OAAQ+1B,IAAc,SAAUtvB,EAAG+vB,GACjC,OAAQT,GAAcO,EAAIE,EAAO/vB,KAR3BovB,GAAmBM,GASrB3vB,GAGO,SAAS+vB,GAAQ/vB,EAAGC,EAAG2vB,EAAQC,GAC5C,GAAI,GAAU7vB,EAAGC,GACf,OAAO,EAGT,IAAIgwB,EAAQ,GAAKjwB,GAEjB,GAAIiwB,IAAU,GAAKhwB,GACjB,OAAO,EAGT,GAAS,MAALD,GAAkB,MAALC,EACf,OAAO,EAGT,GAAwC,mBAA7BD,EAAE,wBAA6E,mBAA7BC,EAAE,uBAC7D,MAA2C,mBAA7BD,EAAE,wBAAyCA,EAAE,uBAAuBC,IAA0C,mBAA7BA,EAAE,wBAAyCA,EAAE,uBAAuBD,GAGrK,GAAwB,mBAAbA,EAAEkwB,QAA6C,mBAAbjwB,EAAEiwB,OAC7C,MAA2B,mBAAblwB,EAAEkwB,QAAyBlwB,EAAEkwB,OAAOjwB,IAA0B,mBAAbA,EAAEiwB,QAAyBjwB,EAAEiwB,OAAOlwB,GAGrG,OAAQiwB,GACN,IAAK,YACL,IAAK,QACL,IAAK,SACH,GAA6B,mBAAlBjwB,EAAE5J,aAA+D,YC5DnE,SAAuB8J,GAEpC,IAAIxH,EAAQsX,OAAO9P,GAAGxH,MAAM,mBAC5B,OAAgB,MAATA,EAAgB,GAAKA,EAAM,GDyDay3B,CAAcnwB,EAAE5J,aACzD,OAAO4J,IAAMC,EAGf,MAEF,IAAK,UACL,IAAK,SACL,IAAK,SACH,UAAaD,UAAaC,IAAK,GAAUD,EAAEowB,UAAWnwB,EAAEmwB,WACtD,OAAO,EAGT,MAEF,IAAK,OACH,IAAK,GAAUpwB,EAAEowB,UAAWnwB,EAAEmwB,WAC5B,OAAO,EAGT,MAEF,IAAK,QACH,OAAOpwB,EAAEzO,OAAS0O,EAAE1O,MAAQyO,EAAExC,UAAYyC,EAAEzC,QAE9C,IAAK,SACH,GAAMwC,EAAEhD,SAAWiD,EAAEjD,QAAUgD,EAAEpJ,SAAWqJ,EAAErJ,QAAUoJ,EAAEqwB,aAAepwB,EAAEowB,YAAcrwB,EAAEswB,YAAcrwB,EAAEqwB,WAAatwB,EAAEuwB,SAAWtwB,EAAEswB,QAAUvwB,EAAEwwB,UAAYvwB,EAAEuwB,QAC/J,OAAO,EAQb,IAFA,IAAIl0B,EAAMszB,EAAO17B,OAAS,EAEnBoI,GAAO,GAAG,CACf,GAAIszB,EAAOtzB,KAAS0D,EAClB,OAAO6vB,EAAOvzB,KAAS2D,EAGzB3D,GAAO,EAGT,OAAQ2zB,GACN,IAAK,MACH,OAAIjwB,EAAEjE,OAASkE,EAAElE,MAIV0zB,GAAmBzvB,EAAEuT,UAAWtT,EAAEsT,UAAWqc,EAAOl6B,OAAO,CAACsK,IAAK6vB,EAAOn6B,OAAO,CAACuK,KAEzF,IAAK,MACH,OAAID,EAAEjE,OAASkE,EAAElE,MAIV0zB,GAAmBzvB,EAAE1F,SAAU2F,EAAE3F,SAAUs1B,EAAOl6B,OAAO,CAACsK,IAAK6vB,EAAOn6B,OAAO,CAACuK,KAEvF,IAAK,YACL,IAAK,QACL,IAAK,SACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,OACL,IAAK,QACL,IAAK,SACL,IAAK,YACL,IAAK,aACL,IAAK,oBACL,IAAK,aACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,eACL,IAAK,cACH,MAEF,QAEE,OAAO,EAGX,IAAI8lB,EAAQ,GAAK/lB,GAEjB,GAAI+lB,EAAM7xB,SAAW,GAAK+L,GAAG/L,OAC3B,OAAO,EAGT,IAAIu8B,EAAiBb,EAAOl6B,OAAO,CAACsK,IAChC0wB,EAAiBb,EAAOn6B,OAAO,CAACuK,IAGpC,IAFA3D,EAAMypB,EAAM7xB,OAAS,EAEdoI,GAAO,GAAG,CACf,IAAI/J,EAAMwzB,EAAMzpB,GAEhB,IAAMmyB,GAAKl8B,EAAK0N,KAAM8vB,GAAQ9vB,EAAE1N,GAAMyN,EAAEzN,GAAMk+B,EAAgBC,GAC5D,OAAO,EAGTp0B,GAAO,EAGT,OAAO,EExIT,IAMe,GAJfwxB,IAAQ,SAAgB9tB,EAAGC,GACzB,OAAO8vB,GAAQ/vB,EAAGC,EAAG,GAAI,OCAZ,GAJf2tB,IAAQ,SAAiB/W,GACvB,OAAY,MAALA,GAAa,GAAOA,EAAG,GAAMA,O,6BChBvB,SAAS8Z,GAAQlD,GAC9B,OAAO,SAASmD,EAAG5wB,EAAGC,EAAG5O,GACvB,OAAQgD,UAAUH,QAChB,KAAK,EACH,OAAO08B,EAET,KAAK,EACH,OAAOjD,GAAe3tB,GAAK4wB,EAAK9C,IAAQ,SAAUE,EAAI6C,GACpD,OAAOpD,EAAGztB,EAAGguB,EAAI6C,MAGrB,KAAK,EACH,OAAOlD,GAAe3tB,IAAM2tB,GAAe1tB,GAAK2wB,EAAKjD,GAAe3tB,GAAK8tB,IAAQ,SAAUG,EAAI4C,GAC7F,OAAOpD,EAAGQ,EAAIhuB,EAAG4wB,MACdlD,GAAe1tB,GAAK6tB,IAAQ,SAAUE,EAAI6C,GAC7C,OAAOpD,EAAGztB,EAAGguB,EAAI6C,MACdjD,IAAQ,SAAUiD,GACrB,OAAOpD,EAAGztB,EAAGC,EAAG4wB,MAGpB,QACE,OAAOlD,GAAe3tB,IAAM2tB,GAAe1tB,IAAM0tB,GAAet8B,GAAKu/B,EAAKjD,GAAe3tB,IAAM2tB,GAAe1tB,GAAK6tB,IAAQ,SAAUG,EAAID,GACvI,OAAOP,EAAGQ,EAAID,EAAI38B,MACfs8B,GAAe3tB,IAAM2tB,GAAet8B,GAAKy8B,IAAQ,SAAUG,EAAI4C,GAClE,OAAOpD,EAAGQ,EAAIhuB,EAAG4wB,MACdlD,GAAe1tB,IAAM0tB,GAAet8B,GAAKy8B,IAAQ,SAAUE,EAAI6C,GAClE,OAAOpD,EAAGztB,EAAGguB,EAAI6C,MACdlD,GAAe3tB,GAAK4tB,IAAQ,SAAUK,GACzC,OAAOR,EAAGQ,EAAIhuB,EAAG5O,MACds8B,GAAe1tB,GAAK2tB,IAAQ,SAAUI,GACzC,OAAOP,EAAGztB,EAAGguB,EAAI38B,MACds8B,GAAet8B,GAAKu8B,IAAQ,SAAUiD,GACzC,OAAOpD,EAAGztB,EAAGC,EAAG4wB,MACbpD,EAAGztB,EAAGC,EAAG5O,KCjBtB,IAqBe,GAnBfs/B,IAAQ,SAAsBlD,EAAIx8B,EAAGa,GACnC,IACI4kB,EADAzd,EAAS,GAGb,IAAKyd,KAAKzlB,EACJw9B,GAAK/X,EAAGzlB,KACVgI,EAAOyd,GAAK+X,GAAK/X,EAAG5kB,GAAK27B,EAAG/W,EAAGzlB,EAAEylB,GAAI5kB,EAAE4kB,IAAMzlB,EAAEylB,IAInD,IAAKA,KAAK5kB,EACJ28B,GAAK/X,EAAG5kB,KAAO28B,GAAK/X,EAAGzd,KACzBA,EAAOyd,GAAK5kB,EAAE4kB,IAIlB,OAAOzd,KCZM,GANf03B,IAAQ,SAAmBlD,EAAIx8B,EAAGa,GAChC,OAAO,IAAa,SAAUg/B,EAAGC,EAAIC,GACnC,OAAOvD,EAAGsD,EAAIC,KACb//B,EAAGa,MC/BO,SAASm/B,GAAe/6B,GACrC,OAAc,MAAPA,GAAmD,mBAA7BA,EAAI,qBCgBpB,SAASg7B,GAAcC,EAAaC,EAAI3D,GACrD,OAAO,WACL,GAAyB,IAArBp5B,UAAUH,OACZ,OAAOu5B,IAGT,IAAIrtB,EAAO9I,MAAM1E,UAAU4G,MAAMrI,KAAKkD,UAAW,GAC7C6B,EAAMkK,EAAK7E,MAEf,IAAKmyB,GAASx3B,GAAM,CAGlB,IAFA,IAAIoG,EAAM,EAEHA,EAAM60B,EAAYj9B,QAAQ,CAC/B,GAAqC,mBAA1BgC,EAAIi7B,EAAY70B,IACzB,OAAOpG,EAAIi7B,EAAY70B,IAAM4kB,MAAMhrB,EAAKkK,GAG1C9D,GAAO,EAGT,GAAI20B,GAAe/6B,GAAM,CACvB,IAAIm7B,EAAaD,EAAGlQ,MAAM,KAAM9gB,GAChC,OAAOixB,EAAWn7B,IAItB,OAAOu3B,EAAGvM,MAAMtnB,KAAMvF,YC3CX,SAASi9B,GAAK7D,EAAI8D,GAK/B,IAJA,IAAIj1B,EAAM,EACNtC,EAAMu3B,EAAQr9B,OACd+E,EAAS3B,MAAM0C,GAEZsC,EAAMtC,GACXf,EAAOqD,GAAOmxB,EAAG8D,EAAQj1B,IACzBA,GAAO,EAGT,OAAOrD,ECWT,IAkCe,GAhCf20B,IAAQ,SAAqB/W,GAC3B,QAAI6W,GAAS7W,MAIRA,IAIY,iBAANA,KAIPsX,GAAUtX,KAIK,IAAfA,EAAE2a,WACK3a,EAAE3iB,OAGI,IAAb2iB,EAAE3iB,QAIF2iB,EAAE3iB,OAAS,IACN2iB,EAAEhkB,eAAe,IAAMgkB,EAAEhkB,eAAegkB,EAAE3iB,OAAS,UCjD1Du9B,GAEJ,WACE,SAASA,EAAMhE,GACb7zB,KAAKsG,EAAIutB,EAeX,OAZAgE,EAAM7+B,UAAU,qBAAuB,WACrC,MAAM,IAAI6J,MAAM,kCAGlBg1B,EAAM7+B,UAAU,uBAAyB,SAAU8+B,GACjD,OAAOA,GAGTD,EAAM7+B,UAAU,qBAAuB,SAAU8+B,EAAK7a,GACpD,OAAOjd,KAAKsG,EAAEwxB,EAAK7a,IAGd4a,EAjBT,GCFe,SAASE,GAAOl/B,EAAGg7B,GAEhC,OAAQh7B,GACN,KAAK,EACH,OAAO,WACL,OAAOg7B,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,GACf,OAAOnE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,GACnB,OAAOpE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,GACvB,OAAOrE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,GAC3B,OAAOtE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,GAC/B,OAAOvE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACnC,OAAOxE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACvC,OAAOzE,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAC3C,OAAO1E,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,EACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAC/C,OAAO3E,EAAGvM,MAAMtnB,KAAMvF,YAG1B,KAAK,GACH,OAAO,SAAUu9B,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GACnD,OAAO5E,EAAGvM,MAAMtnB,KAAMvF,YAG1B,QACE,MAAM,IAAIoI,MAAM,gFClCtB,IAQe,GANfqxB,IAAQ,SAAcL,EAAI6E,GACxB,OAAOX,GAAOlE,EAAGv5B,QAAQ,WACvB,OAAOu5B,EAAGvM,MAAMoR,EAASj+B,iBCP7B,SAASk+B,GAAgBnB,EAAIM,EAAKpC,GAGhC,IAFA,IAAIkD,EAAOlD,EAAKtuB,QAERwxB,EAAKniB,MAAM,CAGjB,IAFAqhB,EAAMN,EAAG,qBAAqBM,EAAKc,EAAKvgC,SAE7By/B,EAAI,wBAAyB,CACtCA,EAAMA,EAAI,sBACV,MAGFc,EAAOlD,EAAKtuB,OAGd,OAAOowB,EAAG,uBAAuBM,GAGnC,SAASe,GAAcrB,EAAIM,EAAKx7B,EAAKutB,GACnC,OAAO2N,EAAG,uBAAuBl7B,EAAIutB,GAAY,GAAK2N,EAAG,qBAAsBA,GAAKM,IAGtF,IAAIgB,GAAgC,oBAAX3gC,OAAyBA,OAAOoE,SAAW,aACrD,SAASw8B,GAAQlF,EAAIiE,EAAKv3B,GAKvC,GAJkB,mBAAPszB,IACTA,EHxBW,SAAgBA,GAC7B,OAAO,IAAIgE,GAAMhE,GGuBVmF,CAAOnF,IAGV,GAAatzB,GACf,OA9CJ,SAAsBi3B,EAAIM,EAAKv3B,GAI7B,IAHA,IAAImC,EAAM,EACNtC,EAAMG,EAAKjG,OAERoI,EAAMtC,GAAK,CAGhB,IAFA03B,EAAMN,EAAG,qBAAqBM,EAAKv3B,EAAKmC,MAE7Bo1B,EAAI,wBAAyB,CACtCA,EAAMA,EAAI,sBACV,MAGFp1B,GAAO,EAGT,OAAO80B,EAAG,uBAAuBM,GA+BxBmB,CAAapF,EAAIiE,EAAKv3B,GAG/B,GAA2C,mBAAhCA,EAAK,uBACd,OAAOs4B,GAAchF,EAAIiE,EAAKv3B,EAAM,uBAGtC,GAAyB,MAArBA,EAAKu4B,IACP,OAAOH,GAAgB9E,EAAIiE,EAAKv3B,EAAKu4B,OAGvC,GAAyB,mBAAdv4B,EAAK6G,KACd,OAAOuxB,GAAgB9E,EAAIiE,EAAKv3B,GAGlC,GAA2B,mBAAhBA,EAAK/C,OACd,OAAOq7B,GAAchF,EAAIiE,EAAKv3B,EAAM,UAGtC,MAAM,IAAI6D,UAAU,0CCrEP,QACbiX,KAAM,WACJ,OAAOrb,KAAKw3B,GAAG,wBAEjBn4B,OAAQ,SAAUA,GAChB,OAAOW,KAAKw3B,GAAG,uBAAuBn4B,KCFtC,GAEJ,WACE,SAAS65B,EAAK5yB,EAAGkxB,GACfx3B,KAAKw3B,GAAKA,EACVx3B,KAAKsG,EAAIA,EAUX,OAPA4yB,EAAKlgC,UAAU,qBAAuBmgC,GAAQ9d,KAC9C6d,EAAKlgC,UAAU,uBAAyBmgC,GAAQ95B,OAEhD65B,EAAKlgC,UAAU,qBAAuB,SAAUqG,EAAQya,GACtD,OAAO9Z,KAAKw3B,GAAG,qBAAqBn4B,EAAQW,KAAKsG,EAAEwT,KAG9Cof,EAbT,GAsBe,GAJfhF,IAAQ,SAAe5tB,EAAGkxB,GACxB,OAAO,IAAI,GAAKlxB,EAAGkxB,MCuBrB,IAUe,GARftD,IAAQ,SAAgB55B,EAAQu5B,GAC9B,OAAe,IAAXv5B,EACK05B,GAAQH,GAGVkE,GAAOz9B,ECzCD,SAAS8+B,EAAQ9+B,EAAQ++B,EAAUxF,GAChD,OAAO,WAML,IALA,IAAIyF,EAAW,GACXC,EAAU,EACVC,EAAOl/B,EACPm/B,EAAc,EAEXA,EAAcJ,EAAS/+B,QAAUi/B,EAAU9+B,UAAUH,QAAQ,CAClE,IAAI+E,EAEAo6B,EAAcJ,EAAS/+B,UAAYy5B,GAAesF,EAASI,KAAiBF,GAAW9+B,UAAUH,QACnG+E,EAASg6B,EAASI,IAElBp6B,EAAS5E,UAAU8+B,GACnBA,GAAW,GAGbD,EAASG,GAAep6B,EAEnB00B,GAAe10B,KAClBm6B,GAAQ,GAGVC,GAAe,EAGjB,OAAOD,GAAQ,EAAI3F,EAAGvM,MAAMtnB,KAAMs5B,GAAYvB,GAAOyB,EAAMJ,EAAQ9+B,EAAQg/B,EAAUzF,KDejEuF,CAAQ9+B,EAAQ,GAAIu5B,OEW7B,GApBfK,GAEAoD,GAAc,CAAC,mBAAoB,OAAQ,IAAO,SAAazD,EAAI8D,GACjE,OAAQ7/B,OAAOkB,UAAU6E,SAAStG,KAAKogC,IACrC,IAAK,oBACH,OAAO,GAAOA,EAAQr9B,QAAQ,WAC5B,OAAOu5B,EAAGt8B,KAAKyI,KAAM23B,EAAQrQ,MAAMtnB,KAAMvF,eAG7C,IAAK,kBACH,OAAOs+B,IAAQ,SAAUjB,EAAKn/B,GAE5B,OADAm/B,EAAIn/B,GAAOk7B,EAAG8D,EAAQh/B,IACfm/B,IACN,GAAI,GAAKH,IAEd,QACE,OAAOD,GAAK7D,EAAI8D,QC9BP,GANfzD,IAAQ,SAAewF,EAAIp9B,GACzB,OAAOo9B,EAAGrnB,KAAI,SAAUnZ,GACtB,OAAO,GAAK,CAACA,GAAIoD,SCaN,GAbf43B,IAAQ,SAA2BL,EAAIv3B,GAIrC,IAHA,IAAIq9B,EAAU,GAAKr9B,GACfoG,EAAM,EAEHA,EAAMi3B,EAAQr/B,QAAQ,CAC3B,IAAI3B,EAAMghC,EAAQj3B,GAClBmxB,EAAGv3B,EAAI3D,GAAMA,EAAK2D,GAClBoG,GAAO,EAGT,OAAOpG,KCpCM,SAASs9B,GAAUxzB,EAAG7F,GACnC,OCDa,SAAkBA,EAAM6F,EAAG1D,GACxC,IAAIm3B,EAAK1E,EAET,GAA4B,mBAAjB50B,EAAKC,QACd,cAAe4F,GACb,IAAK,SACH,GAAU,IAANA,EAAS,CAIX,IAFAyzB,EAAM,EAAIzzB,EAEH1D,EAAMnC,EAAKjG,QAAQ,CAGxB,GAAa,KAFb66B,EAAO50B,EAAKmC,KAEM,EAAIyyB,IAAS0E,EAC7B,OAAOn3B,EAGTA,GAAO,EAGT,OAAQ,EACH,GAAI0D,GAAMA,EAAG,CAElB,KAAO1D,EAAMnC,EAAKjG,QAAQ,CAGxB,GAAoB,iBAFpB66B,EAAO50B,EAAKmC,KAEoByyB,GAASA,EACvC,OAAOzyB,EAGTA,GAAO,EAGT,OAAQ,EAIV,OAAOnC,EAAKC,QAAQ4F,EAAG1D,GAGzB,IAAK,SACL,IAAK,UACL,IAAK,WACL,IAAK,YACH,OAAOnC,EAAKC,QAAQ4F,EAAG1D,GAEzB,IAAK,SACH,GAAU,OAAN0D,EAEF,OAAO7F,EAAKC,QAAQ4F,EAAG1D,GAO/B,KAAOA,EAAMnC,EAAKjG,QAAQ,CACxB,GAAI,GAAOiG,EAAKmC,GAAM0D,GACpB,OAAO1D,EAGTA,GAAO,EAGT,OAAQ,ED/DDo3B,CAASv5B,EAAM6F,EAAG,IAAM,EEuBjC,IAIe,GAFf8tB,GAAQ0F,ICaR,SAASG,GAAS5E,EAAM6E,EAAWhiB,GACjC,IACIiiB,EADA7/B,SAAc+6B,EAGlB,OAAQ/6B,GACN,IAAK,SACL,IAAK,SAEH,OAAa,IAAT+6B,GAAc,EAAIA,IAAU+E,MAC1BliB,EAAImiB,OAAO,QAGTH,IACFhiB,EAAImiB,OAAO,OAAQ,IAGd,GAKY,OAAnBniB,EAAIoiB,WACFJ,GACFC,EAAWjiB,EAAIoiB,WAAWj4B,KAE1B6V,EAAIoiB,WAAWC,IAAIlF,GAETnd,EAAIoiB,WAAWj4B,OACN83B,GAEZjiB,EAAIoiB,WAAW5gB,IAAI2b,GAGtB/6B,KAAQ4d,EAAImiB,OAOPhF,KAAQnd,EAAImiB,OAAO//B,KAGxB4/B,IACFhiB,EAAImiB,OAAO//B,GAAM+6B,IAAQ,IAGpB,IAbH6E,IACFhiB,EAAImiB,OAAO//B,GAAQ,GACnB4d,EAAImiB,OAAO//B,GAAM+6B,IAAQ,IAGpB,GAYb,IAAK,UAGH,GAAI/6B,KAAQ4d,EAAImiB,OAAQ,CACtB,IAAIG,EAAOnF,EAAO,EAAI,EAEtB,QAAInd,EAAImiB,OAAO//B,GAAMkgC,KAGfN,IACFhiB,EAAImiB,OAAO//B,GAAMkgC,IAAQ,IAGpB,GAOT,OAJIN,IACFhiB,EAAImiB,OAAO//B,GAAQ+6B,EAAO,EAAC,GAAO,GAAQ,EAAC,GAAM,KAG5C,EAGX,IAAK,WAEH,OAAuB,OAAnBnd,EAAIoiB,WACFJ,GACFC,EAAWjiB,EAAIoiB,WAAWj4B,KAE1B6V,EAAIoiB,WAAWC,IAAIlF,GAETnd,EAAIoiB,WAAWj4B,OACN83B,GAEZjiB,EAAIoiB,WAAW5gB,IAAI2b,GAGtB/6B,KAAQ4d,EAAImiB,SAQbP,GAAUzE,EAAMnd,EAAImiB,OAAO//B,MAC1B4/B,GACFhiB,EAAImiB,OAAO//B,GAAMqG,KAAK00B,IAGjB,IAZH6E,IACFhiB,EAAImiB,OAAO//B,GAAQ,CAAC+6B,KAGf,GAcb,IAAK,YACH,QAAInd,EAAImiB,OAAO//B,KAGT4/B,IACFhiB,EAAImiB,OAAO//B,IAAQ,IAGd,GAGX,IAAK,SACH,GAAa,OAAT+6B,EACF,QAAKnd,EAAImiB,OAAa,OAChBH,IACFhiB,EAAImiB,OAAa,MAAI,IAGhB,GAQb,QAKE,OAFA//B,EAAOtC,OAAOkB,UAAU6E,SAAStG,KAAK49B,MAExBnd,EAAImiB,SASbP,GAAUzE,EAAMnd,EAAImiB,OAAO//B,MAC1B4/B,GACFhiB,EAAImiB,OAAO//B,GAAMqG,KAAK00B,IAGjB,IAbH6E,IACFhiB,EAAImiB,OAAO//B,GAAQ,CAAC+6B,KAGf,IAiBA,OApMf,WACE,SAASoF,IAEPv6B,KAAKo6B,WAA4B,mBAARI,IAAqB,IAAIA,IAAQ,KAC1Dx6B,KAAKm6B,OAAS,GA6BhB,OAtBAI,EAAKvhC,UAAUqhC,IAAM,SAAUlF,GAC7B,OAAQ4E,GAAS5E,GAAM,EAAMn1B,OAO/Bu6B,EAAKvhC,UAAUwgB,IAAM,SAAU2b,GAC7B,OAAO4E,GAAS5E,GAAM,EAAOn1B,OAaxBu6B,EAjCT,GC2Ce,GAtBfrG,IAAQ,SAAoBxO,EAAO+U,GAOjC,IANA,IAAIC,EAAM,GACNh4B,EAAM,EACNi4B,EAAWjV,EAAMprB,OACjBsgC,EAAYH,EAAOngC,OACnBugC,EAAc,IAAI,GAEbzjC,EAAI,EAAGA,EAAIwjC,EAAWxjC,GAAK,EAClCyjC,EAAYR,IAAII,EAAOrjC,IAGzB,KAAOsL,EAAMi4B,GACPE,EAAYR,IAAI3U,EAAMhjB,MACxBg4B,EAAIA,EAAIpgC,QAAUorB,EAAMhjB,IAG1BA,GAAO,EAGT,OAAOg4B,KC5CM,SAASI,GAAS7d,GAC/B,OAAOA,GAAKA,EAAE,wBAA0BA,EAAI,CAC1C,qBAAsBA,EACtB,wBAAwB,GCC5B,IAAI,GAEJ,WACE,SAAS8d,EAAKz0B,EAAGkxB,GACfx3B,KAAKw3B,GAAKA,EACVx3B,KAAKsG,EAAIA,EACTtG,KAAKg7B,KAAM,EAsBb,OAnBAD,EAAK/hC,UAAU,qBAAuBmgC,GAAQ9d,KAE9C0f,EAAK/hC,UAAU,uBAAyB,SAAUqG,GAKhD,OAJIW,KAAKg7B,MACP37B,EAASW,KAAKw3B,GAAG,qBAAqBn4B,GAAQ,IAGzCW,KAAKw3B,GAAG,uBAAuBn4B,IAGxC07B,EAAK/hC,UAAU,qBAAuB,SAAUqG,EAAQya,GAMtD,OALK9Z,KAAKsG,EAAEwT,KACV9Z,KAAKg7B,KAAM,EACX37B,EAASy7B,GAAS96B,KAAKw3B,GAAG,qBAAqBn4B,GAAQ,KAGlDA,GAGF07B,EA1BT,GCwCe,GAhBf7G,GAEAoD,GAAc,CAAC,ODKfpD,IAAQ,SAAe5tB,EAAGkxB,GACxB,OAAO,IAAI,GAAKlxB,EAAGkxB,OCNS,SAAa3D,EAAItzB,GAG7C,IAFA,IAAImC,EAAM,EAEHA,EAAMnC,EAAKjG,QAAQ,CACxB,IAAKu5B,EAAGtzB,EAAKmC,IACX,OAAO,EAGTA,GAAO,EAGT,OAAO,MCPM,GAbfwxB,IAAQ,SAAa9tB,EAAGC,GAKtB,IAJA,IAAI40B,EAAK,GACLv4B,EAAM,EACNtC,EAAMmF,KAAK21B,IAAI90B,EAAE9L,OAAQ+L,EAAE/L,QAExBoI,EAAMtC,GACX66B,EAAGv4B,GAAO,CAAC0D,EAAE1D,GAAM2D,EAAE3D,IACrBA,GAAO,EAGT,OAAOu4B,KCjCM,SAASE,GAAQtH,EAAItzB,GAKlC,IAJA,IAAImC,EAAM,EACNtC,EAAMG,EAAKjG,OACX+E,EAAS,GAENqD,EAAMtC,GACPyzB,EAAGtzB,EAAKmC,MACVrD,EAAOA,EAAO/E,QAAUiG,EAAKmC,IAG/BA,GAAO,EAGT,OAAOrD,ECUT,IAWe,GATf20B,IAAQ,SAAcH,GACpB,OAAO,GAAOA,EAAGv5B,QAAQ,SAAU8L,EAAGC,GACpC,IAAIG,EAAO9I,MAAM1E,UAAU4G,MAAMrI,KAAKkD,UAAW,GAGjD,OAFA+L,EAAK,GAAKH,EACVG,EAAK,GAAKJ,EACHytB,EAAGvM,MAAMtnB,KAAMwG,SC9BX,SAAS40B,GAAUne,GAChC,OAAOA,ECqBT,IAIe,GAFf+W,GAAQoH,ICDO,GCAflH,IAAQ,SAAgBL,EAAItzB,GAM1B,IALA,IAGI86B,EAAalG,EAHbnd,EAAM,IAAI,GACV3Y,EAAS,GACTqD,EAAM,EAGHA,EAAMnC,EAAKjG,QAEhB+gC,EAAcxH,EADdsB,EAAO50B,EAAKmC,IAGRsV,EAAIqiB,IAAIgB,IACVh8B,EAAOoB,KAAK00B,GAGdzyB,GAAO,EAGT,OAAOrD,IDlBT,CAAO,IEiBQ,GAdf60B,IAAQ,SAAsBoH,EAAOC,GACnC,IAAIC,EAAYC,EAUhB,OARIH,EAAMhhC,OAASihC,EAAMjhC,QACvBkhC,EAAaF,EACbG,EAAeF,IAEfC,EAAaD,EACbE,EAAeH,GAGV,GAAKH,GAAQ,GAAKvB,GAAL,CAAgB4B,GAAaC,OCApC,GAdfzH,IAAQ,SAAgB13B,GAMtB,IALA,IAAIkM,EAAQ,GAAKlM,GACb8D,EAAMoI,EAAMlO,OACZohC,EAAO,GACPh5B,EAAM,EAEHA,EAAMtC,GACXs7B,EAAKh5B,GAAOpG,EAAIkM,EAAM9F,IACtBA,GAAO,EAGT,OAAOg5B,KCzBM,SAASC,GAAUC,GAChC,OAAO,SAASC,EAAMt7B,GAMpB,IALA,IAAIlI,EAAOyjC,EAAMloB,EACbvU,EAAS,GACTqD,EAAM,EACNq5B,EAAOx7B,EAAKjG,OAEToI,EAAMq5B,GAAM,CACjB,GAAI,GAAax7B,EAAKmC,IAKpB,IAHAkR,EAAI,EACJkoB,GAFAzjC,EAAQujC,EAAYC,EAAMt7B,EAAKmC,IAAQnC,EAAKmC,IAE/BpI,OAENsZ,EAAIkoB,GACTz8B,EAAOA,EAAO/E,QAAUjC,EAAMub,GAC9BA,GAAK,OAGPvU,EAAOA,EAAO/E,QAAUiG,EAAKmC,GAG/BA,GAAO,EAGT,OAAOrD,GCZX,IAMe,GAJf20B,GAEA2H,IAAU,ICUK,GAbfzH,IAAQ,SAAgBr4B,EAAM6E,GAK5B,IAJA,IAAIgC,EAAM,EACNtC,EAAMmF,KAAK21B,IAAIr/B,EAAKvB,OAAQoG,EAAOpG,QACnCogC,EAAM,GAEHh4B,EAAMtC,GACXs6B,EAAI7+B,EAAK6G,IAAQhC,EAAOgC,GACxBA,GAAO,EAGT,OAAOg4B,KCaM,GAbfxG,IAAQ,SAAS8H,EAAOC,EAAiBnjC,GACvC,IACIojC,EAAgBvjC,EAAKyB,EADrBiF,EAASvG,aAAkB4E,MAAQ,GAAK,GAG5C,IAAK/E,KAAOG,EAEVsB,SADA8hC,EAAiBD,EAAgBtjC,IAEjC0G,EAAO1G,GAAgB,aAATyB,EAAsB8hC,EAAepjC,EAAOH,IAAQujC,GAA2B,WAAT9hC,EAAoB4hC,EAAOE,EAAgBpjC,EAAOH,IAAQG,EAAOH,GAGvJ,OAAO0G,KCNM,GAXf03B,IAAQ,SAAerhB,EAAM3X,EAAKzB,GAChC,IAAI+C,EAAS,GAEb,IAAK,IAAInG,KAAKoD,EACZ+C,EAAOnG,GAAKoD,EAAIpD,GAIlB,OADAmG,EAAOqW,GAAQ3X,EACRsB,KCrBM,SAAS88B,GAAQC,EAAMC,GAGpC,IAAI35B,EADJ25B,EAAOA,GAAQ,GAEf,IAAIC,GAHJF,EAAOA,GAAQ,IAGC9hC,OACZiiC,EAAOF,EAAK/hC,OACZ+E,EAAS,GAGb,IAFAqD,EAAM,EAECA,EAAM45B,GACXj9B,EAAOA,EAAO/E,QAAU8hC,EAAK15B,GAC7BA,GAAO,EAKT,IAFAA,EAAM,EAECA,EAAM65B,GACXl9B,EAAOA,EAAO/E,QAAU+hC,EAAK35B,GAC7BA,GAAO,EAGT,OAAOrD,ECDT,IAUe,GARf60B,IAAQ,SAAYsI,EAAQC,GAC1B,MAA4C,mBAA9BA,EAAO,mBAAoCA,EAAO,mBAAmBD,GAA+B,mBAAdA,EAAOE,GAAoBF,EAAOE,GAAGD,GAA4B,mBAAXD,EAAwB,SAAUvf,GAC1L,OAAOuf,EAAOvf,EAAPuf,CAAUC,EAAOxf,KACtB8b,IAAQ,SAAUjB,EAAKxxB,GACzB,OAAO61B,GAAQrE,EAAK,GAAIxxB,EAAGm2B,MAC1B,GAAID,MCVM,sDA1Bf,SAAuBj0B,GACrB,GAAc,MAAVA,EACF,MAAM,IAAInE,UAAU,8CAOtB,IAJA,IAAIu4B,EAAS7kC,OAAOyQ,GAChB7F,EAAM,EACNpI,EAASG,UAAUH,OAEhBoI,EAAMpI,GAAQ,CACnB,IAAI8I,EAAS3I,UAAUiI,GAEvB,GAAc,MAAVU,EACF,IAAK,IAAIw5B,KAAWx5B,EACdyxB,GAAK+H,EAASx5B,KAChBu5B,EAAOC,GAAWx5B,EAAOw5B,IAK/Bl6B,GAAO,EAGT,OAAOi6B,GCOM,GAJfzI,IAAQ,SAAoB78B,EAAGa,GAC7B,OAAO,GAAc,GAAIb,EAAGa,MCzB1B,GAEJ,WACE,SAAS2kC,EAAKv2B,EAAGkxB,GACfx3B,KAAKw3B,GAAKA,EACVx3B,KAAKsG,EAAIA,EACTtG,KAAK88B,KAAM,EAsBb,OAnBAD,EAAK7jC,UAAU,qBAAuBmgC,GAAQ9d,KAE9CwhB,EAAK7jC,UAAU,uBAAyB,SAAUqG,GAKhD,OAJKW,KAAK88B,MACRz9B,EAASW,KAAKw3B,GAAG,qBAAqBn4B,GAAQ,IAGzCW,KAAKw3B,GAAG,uBAAuBn4B,IAGxCw9B,EAAK7jC,UAAU,qBAAuB,SAAUqG,EAAQya,GAMtD,OALI9Z,KAAKsG,EAAEwT,KACT9Z,KAAK88B,KAAM,EACXz9B,EAASy7B,GAAS96B,KAAKw3B,GAAG,qBAAqBn4B,GAAQ,KAGlDA,GAGFw9B,EA1BT,GCyCe,GAhBf3I,GAEAoD,GAAc,CAAC,ODIfpD,IAAQ,SAAe5tB,EAAGkxB,GACxB,OAAO,IAAI,GAAKlxB,EAAGkxB,OCLS,SAAa3D,EAAItzB,GAG7C,IAFA,IAAImC,EAAM,EAEHA,EAAMnC,EAAKjG,QAAQ,CACxB,GAAIu5B,EAAGtzB,EAAKmC,IACV,OAAO,EAGTA,GAAO,EAGT,OAAO,MCxCL,GAEJ,WACE,SAASq6B,EAAMlkC,EAAG2+B,GAChBx3B,KAAKw3B,GAAKA,EACVx3B,KAAKnH,EAAIA,EACTmH,KAAK5I,EAAI,EAYX,OATA2lC,EAAM/jC,UAAU,qBAAuBmgC,GAAQ9d,KAC/C0hB,EAAM/jC,UAAU,uBAAyBmgC,GAAQ95B,OAEjD09B,EAAM/jC,UAAU,qBAAuB,SAAUqG,EAAQya,GACvD9Z,KAAK5I,GAAK,EACV,IAAI4lC,EAAiB,IAAXh9B,KAAKnH,EAAUwG,EAASW,KAAKw3B,GAAG,qBAAqBn4B,EAAQya,GACvE,OAAO9Z,KAAKnH,GAAK,GAAKmH,KAAK5I,GAAK4I,KAAKnH,EAAIiiC,GAASkC,GAAOA,GAGpDD,EAhBT,GAyBe,GAJf7I,IAAQ,SAAgBr7B,EAAG2+B,GACzB,OAAO,IAAI,GAAM3+B,EAAG2+B,MCOP,GANfT,GAEApD,GAAgB,SAAS,SAAesJ,EAAWC,EAAS38B,GAC1D,OAAO7C,MAAM1E,UAAU4G,MAAMrI,KAAKgJ,EAAM08B,EAAWC,OCwBtC,GANfhJ,GAEAoD,GAAc,CAAC,QAAS,IAAQ,SAAcz+B,EAAGskC,GAC/C,OAAO,GAAM,EAAGtkC,EAAI,EAAIqhC,IAAWrhC,EAAGskC,OCrBzB,GAJfjJ,IAAQ,SAAUh3B,EAAQqD,GACxB,OAAO,GAAO,GAAKrD,EAAO5C,OAAQiG,GAAOrD,MCC5B,GAJfg3B,IAAQ,SAAch7B,EAAGoD,GACvB,OAAO,GAAK,CAACpD,GAAIoD,MCUJ,GAJf43B,IAAQ,SAAeh7B,EAAGqH,GACxB,OAAO,GAAI,GAAKrH,GAAIqH,MCHP,GAXf2zB,IAAQ,SAAgBxe,EAAMpZ,GAC5B,IAAI+C,EAAS,GAEb,IAAK,IAAInG,KAAKoD,EACZ+C,EAAOnG,GAAKoD,EAAIpD,GAIlB,cADOmG,EAAOqW,GACPrW,KCQM,GAZf60B,IAAQ,SAAgB93B,EAAME,GAC5B,IAAI+C,EAAS,GAEb,IAAK,IAAIqW,KAAQpZ,EACXF,EAAKE,EAAIoZ,GAAOA,EAAMpZ,KACxB+C,EAAOqW,GAAQpZ,EAAIoZ,IAIvB,OAAOrW,KC9BL,GAEJ,WACE,SAAS+9B,EAAQ92B,EAAGkxB,GAClBx3B,KAAKw3B,GAAKA,EACVx3B,KAAKsG,EAAIA,EAUX,OAPA82B,EAAQpkC,UAAU,qBAAuBmgC,GAAQ9d,KACjD+hB,EAAQpkC,UAAU,uBAAyBmgC,GAAQ95B,OAEnD+9B,EAAQpkC,UAAU,qBAAuB,SAAUqG,EAAQya,GACzD,OAAO9Z,KAAKsG,EAAEwT,GAAS9Z,KAAKw3B,GAAG,qBAAqBn4B,EAAQya,GAASza,GAGhE+9B,EAbT,GC6Ce,GAbflJ,GAEAoD,GAAc,CAAC,UDhBfpD,IAAQ,SAAkB5tB,EAAGkxB,GAC3B,OAAO,IAAI,GAAQlxB,EAAGkxB,OCeY,SAAU5B,EAAMyH,GAClD,OAAO9H,GAAU8H,GAActE,IAAQ,SAAUjB,EAAKn/B,GAKpD,OAJIi9B,EAAKyH,EAAW1kC,MAClBm/B,EAAIn/B,GAAO0kC,EAAW1kC,IAGjBm/B,IACN,GAAI,GAAKuF,IACZlC,GAAQvF,EAAMyH,OCtBD,GAJfnJ,IAAQ,SAAa9tB,EAAGC,GACtB,OAAOA,EAAID,EAAIC,EAAID,KC+BN,GAFf2wB,GAAQgC,ICJO,GAVf7E,IAAQ,SAAkBoJ,EAAOC,GAC/B,OAAO,GAAO,GAAO,GAAK,EAAG,GAAM,SAAUA,KAAO,WAClD,IAAI/2B,EAAO/L,UACPosB,EAAU7mB,KACd,OAAOs9B,EAAMhW,MAAMT,EAAS6Q,IAAK,SAAU7D,GACzC,OAAOA,EAAGvM,MAAMT,EAASrgB,KACxB+2B,UCfQ,GANfvJ,IAAQ,SAAcuJ,GACpB,OAAO,IAAS,WACd,OAAO7/B,MAAM1E,UAAU4G,MAAMrI,KAAKkD,UAAW,KAC5C8iC,MCGL,IAMe,GAJfrJ,IAAQ,SAAgB0B,EAAMyH,GAC5B,OAAO,IC/B2B/2B,ED+BRsvB,EC9BnB,WACL,OAAQtvB,EAAEghB,MAAMtnB,KAAMvF,aD6BS4iC,GC/BpB,IAAqB/2B,KC+BrB,GADf,GAAK,CAAC,GAAQ,KCjBC,SAASk3B,GAAOnlC,EAAOolC,EAASC,EAAOC,GACpD,ICdmCC,EDc/BC,EAAO,SAAcC,GAIvB,IAHA,IAAI19B,EAAMq9B,EAAQnjC,OACdoI,EAAM,EAEHA,EAAMtC,GAAK,CAChB,GAAI/H,IAAUolC,EAAQ/6B,GACpB,OAAOg7B,EAAMh7B,GAGfA,GAAO,EAMT,IAAK,IAAI/J,KAHT8kC,EAAQ/6B,EAAM,GAAKrK,EACnBqlC,EAAMh7B,EAAM,GAAKo7B,EAEDzlC,EACdylC,EAAYnlC,GAAOglC,EAAOH,GAAOnlC,EAAMM,GAAM8kC,EAASC,GAAO,GAAQrlC,EAAMM,GAG7E,OAAOmlC,GAGT,OAAQ,GAAKzlC,IACX,IAAK,SACH,OAAOwlC,EAAK,IAEd,IAAK,QACH,OAAOA,EAAK,IAEd,IAAK,OACH,OAAO,IAAIE,KAAK1lC,EAAMm+B,WAExB,IAAK,SACH,OC/C+BoH,ED+CXvlC,EC9CjB,IAAI2lC,OAAOJ,EAAQx6B,QAASw6B,EAAQ5gC,OAAS,IAAM,KAAO4gC,EAAQnH,WAAa,IAAM,KAAOmH,EAAQlH,UAAY,IAAM,KAAOkH,EAAQjH,OAAS,IAAM,KAAOiH,EAAQhH,QAAU,IAAM,KDgDxL,QACE,OAAOv+B,GE1Bb,IAMe,GAJf27B,IAAQ,SAAe37B,GACrB,OAAgB,MAATA,GAAwC,mBAAhBA,EAAM8K,MAAuB9K,EAAM8K,QAAUq6B,GAAOnlC,EAAO,GAAI,IAAI,MCtBpG,IA0Be,GAbA,SAAem/B,GAC5B,IAAIyG,EAdkB,SAAUzG,GAChC,MAAO,CACL,oBAAqB2B,GAAQ9d,KAC7B,sBAAuB,SAAUhc,GAC/B,OAAOm4B,EAAG,uBAAuBn4B,IAEnC,oBAAqB,SAAUA,EAAQya,GACrC,IAAIkjB,EAAMxF,EAAG,qBAAqBn4B,EAAQya,GAC1C,OAAOkjB,EAAI,wBCZR,CACL,qBDWqDA,ECVrD,wBAAwB,GDUoCA,IAMpDkB,CAAkB1G,GAC5B,MAAO,CACL,oBAAqB2B,GAAQ9d,KAC7B,sBAAuB,SAAUhc,GAC/B,OAAO4+B,EAAI,uBAAuB5+B,IAEpC,oBAAqB,SAAUA,EAAQya,GACrC,OAAQ,GAAaA,GAAyCif,GAAQkF,EAAK5+B,EAAQya,GAArDif,GAAQkF,EAAK5+B,EAAQ,CAACya,OEH3C,GCWfoa,GAEAoD,GAAc,CAAC,qBAAsB,SC9BrCpD,IAAQ,SAAiB5tB,EAAGkxB,GAC1B,OAAO,GAAIlxB,EAAG,GAASkxB,QD6B+B,SAAe3D,EAAIsK,GACzE,MAAqB,mBAAVA,EACF,SAAUlhB,GACf,OAAO4W,EAAGsK,EAAMlhB,GAAT4W,CAAa5W,IAIjB0e,IAAU,EAAVA,CAAiB,GAAI9H,EAAIsK,ODrBlC,CAAM/C,IGsBS,GAVfrE,IAAQ,SAASqH,EAAiBvK,EAAIwK,EAAMC,GAC1C,OAAO,IAAa,SAAUxhB,EAAGyhB,EAAMC,GACrC,OAAIjJ,GAAUgJ,IAAShJ,GAAUiJ,GACxBJ,EAAiBvK,EAAI0K,EAAMC,GAE3B3K,EAAG/W,EAAGyhB,EAAMC,KAEpBH,EAAMC,MCTI,GANfpK,IAAQ,SAAwBmK,EAAMC,GACpC,OAAO,IAAiB,SAAUxhB,EAAGyhB,EAAMC,GACzC,OAAOA,IACNH,EAAMC,MCKI,GAJfvH,IAAQ,SAAgBp/B,EAAMoG,EAAKzB,GACjC,OAAO,GAAOyB,EAAKzB,EAAI3E,OC/BV,SAAS8mC,GAAYxhB,GAClC,IAAI7iB,EAAOtC,OAAOkB,UAAU6E,SAAStG,KAAK0lB,GAC1C,MAAgB,sBAAT7iB,GAAyC,2BAATA,GAA8C,+BAATA,GAAkD,oCAATA,ECFxG,SAASskC,GAAOvlC,GAG7B,MAAO,IAFOA,EAAEgG,QAAQ,MAAO,QAAQA,QAAQ,QAAS,OACvDA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OAAOA,QAAQ,MAAO,OACzGA,QAAQ,KAAM,OAAS,ICA9C,IAAIw/B,GAAM,SAAa9lC,GACrB,OAAQA,EAAI,GAAK,IAAM,IAAMA,GAShB,GAN0C,mBAA/BklC,KAAK/kC,UAAU4lC,YAA6B,SAAsBlnC,GAC1F,OAAOA,EAAEknC,eACP,SAAsBlnC,GACxB,OAAOA,EAAEmnC,iBAAmB,IAAMF,GAAIjnC,EAAEonC,cAAgB,GAAK,IAAMH,GAAIjnC,EAAEqnC,cAAgB,IAAMJ,GAAIjnC,EAAEsnC,eAAiB,IAAML,GAAIjnC,EAAEunC,iBAAmB,IAAMN,GAAIjnC,EAAEwnC,iBAAmB,KAAOxnC,EAAEynC,qBAAuB,KAAMC,QAAQ,GAAGx/B,MAAM,EAAG,GAAK,KC6BrP,IAMe,GAJfo0B,IAAQ,SAAkBj2B,GACxB,OCpCa,SAASshC,EAAUpiB,EAAGqiB,GACnC,IAAIC,EAAQ,SAAeriB,GACzB,IAAIigB,EAAKmC,EAAKxjC,OAAO,CAACmhB,IACtB,OAAO2c,GAAU1c,EAAGigB,GAAM,aAAekC,EAAUniB,EAAGigB,IAIpDqC,EAAW,SAAUljC,EAAKT,GAC5B,OAAO67B,IAAK,SAAU5a,GACpB,OAAO4hB,GAAO5hB,GAAK,KAAOyiB,EAAMjjC,EAAIwgB,MACnCjhB,EAAK+D,QAAQ6/B,SAGlB,OAAQ3nC,OAAOkB,UAAU6E,SAAStG,KAAK0lB,IACrC,IAAK,qBACH,MAAO,qCAAuCya,GAAK6H,EAAOtiB,GAAGrf,KAAK,MAAQ,KAE5E,IAAK,iBACH,MAAO,IAAM85B,GAAK6H,EAAOtiB,GAAGnhB,OAAO0jC,EAASviB,EAAG,IAAO,SAAUH,GAC9D,MAAO,QAAQ1gB,KAAK0gB,KACnB,GAAKG,MAAMrf,KAAK,MAAQ,IAE7B,IAAK,mBACH,MAAoB,iBAANqf,EAAiB,eAAiBsiB,EAAMtiB,EAAEuZ,WAAa,IAAMvZ,EAAEpf,WAE/E,IAAK,gBACH,MAAO,aAAeyH,MAAM2X,EAAEuZ,WAAa+I,EAAMG,KAAOhB,GAAO,GAAazhB,KAAO,IAErF,IAAK,gBACH,MAAO,OAET,IAAK,kBACH,MAAoB,iBAANA,EAAiB,cAAgBsiB,EAAMtiB,EAAEuZ,WAAa,IAAM,EAAIvZ,IAAOid,IAAW,KAAOjd,EAAEpf,SAAS,IAEpH,IAAK,kBACH,MAAoB,iBAANof,EAAiB,cAAgBsiB,EAAMtiB,EAAEuZ,WAAa,IAAMkI,GAAOzhB,GAEnF,IAAK,qBACH,MAAO,YAET,QACE,GAA0B,mBAAfA,EAAEpf,SAAyB,CACpC,IAAI8hC,EAAO1iB,EAAEpf,WAEb,GAAa,oBAAT8hC,EACF,OAAOA,EAIX,MAAO,IAAMH,EAASviB,EAAG,GAAKA,IAAIrf,KAAK,MAAQ,KDb5CyhC,CAAUthC,EAAK,OEsBT,GA5Bfm2B,IAAQ,SAAgB9tB,EAAGC,GACzB,GAAIytB,GAAS1tB,GAAI,CACf,GAAI0tB,GAASztB,GACX,OAAOD,EAAEtK,OAAOuK,GAGlB,MAAM,IAAIjC,UAAU,GAASiC,GAAK,oBAGpC,GAAIkuB,GAAUnuB,GAAI,CAChB,GAAImuB,GAAUluB,GACZ,OAAOD,EAAIC,EAGb,MAAM,IAAIjC,UAAU,GAASiC,GAAK,oBAGpC,GAAS,MAALD,GAAaq4B,GAAYr4B,EAAE,wBAC7B,OAAOA,EAAE,uBAAuBC,GAGlC,GAAS,MAALD,GAAaq4B,GAAYr4B,EAAEtK,QAC7B,OAAOsK,EAAEtK,OAAOuK,GAGlB,MAAM,IAAIjC,UAAU,GAASgC,GAAK,sECzDhC,GAEJ,WACE,SAASw5B,EAAMt5B,EAAGkxB,GAChBx3B,KAAKw3B,GAAKA,EACVx3B,KAAKsG,EAAIA,EACTtG,KAAK6/B,OAAQ,EAsBf,OAnBAD,EAAM5mC,UAAU,qBAAuBmgC,GAAQ9d,KAE/CukB,EAAM5mC,UAAU,uBAAyB,SAAUqG,GAKjD,OAJKW,KAAK6/B,QACRxgC,EAASW,KAAKw3B,GAAG,qBAAqBn4B,OAAQ,IAGzCW,KAAKw3B,GAAG,uBAAuBn4B,IAGxCugC,EAAM5mC,UAAU,qBAAuB,SAAUqG,EAAQya,GAMvD,OALI9Z,KAAKsG,EAAEwT,KACT9Z,KAAK6/B,OAAQ,EACbxgC,EAASy7B,GAAS96B,KAAKw3B,GAAG,qBAAqBn4B,EAAQya,KAGlDza,GAGFugC,EA1BT,GCuCe,GAff1L,GAEAoD,GAAc,CAAC,QDKfpD,IAAQ,SAAgB5tB,EAAGkxB,GACzB,OAAO,IAAI,GAAMlxB,EAAGkxB,OCNU,SAAc3D,EAAItzB,GAIhD,IAHA,IAAImC,EAAM,EACNtC,EAAMG,EAAKjG,OAERoI,EAAMtC,GAAK,CAChB,GAAIyzB,EAAGtzB,EAAKmC,IACV,OAAOnC,EAAKmC,GAGdA,GAAO,OChBI,GAJfsxB,IAAQ,SAAe/W,GACrB,OAAY,MAALA,KCyBM,GApBfiX,IAAQ,SAAiB4L,EAAOxjC,GAC9B,GAAqB,IAAjBwjC,EAAMxlC,QAAgB,GAAMgC,GAC9B,OAAO,EAMT,IAHA,IAAIyB,EAAMzB,EACNoG,EAAM,EAEHA,EAAMo9B,EAAMxlC,QAAQ,CACzB,GAAK,GAAMyD,KAAQ82B,GAAKiL,EAAMp9B,GAAM3E,GAIlC,OAAO,EAHPA,EAAMA,EAAI+hC,EAAMp9B,IAChBA,GAAO,EAMX,OAAO,KCXM,GAJfwxB,IAAQ,SAAaxe,EAAMpZ,GACzB,OAAO,GAAQ,CAACoZ,GAAOpZ,MCDV,GAJf43B,IAAQ,SAAgB6L,EAAIx/B,GAC1B,OAAO47B,GAAQ57B,EAAM,CAACw/B,O,uKCpBjB,SAASC,GAAQC,GACpB,IAAMC,EAAa1mB,GAAI,oBAAqBymB,GACtCE,EAAe3mB,GAAI,2BAA4BymB,GACrD,GAAqB,WAAjB7lC,GAAK6lC,KAA0BC,IAAeC,EAC9C,MAAM,IAAIt9B,MAAJ,qKAKFo9B,GAIR,IAAMG,EAAOD,EACPF,EAAOI,yBACPJ,EAAOK,kBAEb,MAAwC,MAAjCF,EAAK1gC,OAAO0gC,EAAK9lC,OAAS,GAAa8lC,EAAOA,EAAO,IAGhE,IAAMG,GAAgB,CAAC,QAAS,YAGnBC,GAAc,SAAdA,EAAe1nC,EAAQ2nC,GAA2B,IAArBn/B,EAAqB,uDAAP,GACpD,GAAI5D,MAAMC,QAAQ7E,GAEdA,EAAO0J,SAAQ,SAACk+B,EAAOtpC,GACnBopC,EAAYE,EAAOD,EAAM7pB,GAAOxf,EAAGkK,YAEpC,GAAqB,WAAjBlH,GAAKtB,GAAsB,CAClC2nC,EAAK3nC,EAAQwI,GAEb,IAAM2d,EAAWvZ,GAAK66B,GAAeznC,GACrC,GAAImmB,EAAU,CACV,IAAM0hB,EAAU7kC,GAAOwF,EAAai/B,IACpCC,EAAYvhB,EAAUwhB,EAAME,MAO3BC,GAAb,WACI,c,4FAAc,SACV5gC,KAAK6gC,IAAM,G,UAFnB,O,EAAA,G,EAAA,0BAIOC,EAAOjb,GAAU,WAGhB,OAFgB7lB,KAAK6gC,IAAIC,GAAS9gC,KAAK6gC,IAAIC,IAAU,IAC9CrgC,KAAKolB,GACL,kBAAM,EAAKkb,eAAeD,EAAOjb,MAPhD,qCASmBib,EAAOjb,GAClB,IAAMmb,EAAShhC,KAAK6gC,IAAIC,GACxB,GAAIE,EAAQ,CACR,IAAMt+B,EAAMs+B,EAAOxgC,QAAQqlB,GACvBnjB,GAAO,GACPs+B,EAAOr+B,OAAOD,EAAK,MAdnC,2BAkBSo+B,GAAgB,kCAANt6B,EAAM,iCAANA,EAAM,kBACjB,IAAMw6B,EAAShhC,KAAK6gC,IAAIC,GACpBE,GACAA,EAAOx+B,SAAQ,SAAAqjB,GAAQ,OAAIA,EAASyB,MAAM,EAAM9gB,QArB5D,2BAwBSs6B,EAAOjb,GAAU,WACZob,EAASjhC,KAAKkhC,GAAGJ,GAAO,WAC1BG,IADuC,2BAATz6B,EAAS,yBAATA,EAAS,gBAEvCqf,EAASyB,MAAM,EAAM9gB,W,6BA3BjC,K,uOC1BO,SAAS26B,GAAaC,EAASC,EAAcC,EAAUN,GAAQ,MAC3BM,GAAY,CAACC,KAAM,GAAIC,KAAM,IAAvDC,EADqD,EAC3DF,KAAqBG,EADsC,EAC5CF,KAEhBG,EAAW,SAAAj8B,GAAI,OAAI27B,EAAaO,MAAK,SAAC5kB,EAAG5lB,GAAJ,OAAUsO,EAAKtO,KAAO4lB,MAE3D6kB,EAAQR,EAAa/mC,OAErBinC,EAAOM,EAAQn+B,GAAOi+B,EAAUF,GAAW,GAC3CD,EAAO,GA2Bb,OA1BIK,GACAC,IAAkB,SAACC,EAAaC,GAC5B,IAAMC,EAAUv+B,IAAO,gBAAEgC,EAAF,EAAEA,KAAF,OAAYi8B,EAASj8B,KAAOq8B,GAC/CE,EAAQ3nC,SACRknC,EAAKQ,GAAWC,KAErBP,GAGPlB,GAAYY,GAAS,SAAoBV,EAAOwB,GAC5C,IAAMC,EAAKz8B,GAAK,CAAC,QAAS,MAAOg7B,GACjC,GAAIyB,EACA,GAAkB,WAAd,GAAOA,GAAiB,CACxB,IAAMtmC,EAAO/D,OAAO+D,KAAKsmC,GAAI1C,OACvB/+B,EAAS8H,GAAM3M,EAAMsmC,GACrBC,EAASvmC,EAAK+B,KAAK,MACV4jC,EAAKY,GAAUZ,EAAKY,IAAW,IACxC3hC,KAAK,CAACC,SAAQgF,KAAM5J,GAAOulC,EAAca,UAE/CX,EAAKY,GAAMrmC,GAAOulC,EAAca,MAOrC,CAACX,OAAMC,OAAMR,OAAQA,GAAUM,EAASN,QAG5C,SAASqB,GAAQ3N,EAAOyN,GAC3B,GAAkB,WAAd,GAAOA,GAAiB,CACxB,IAAMtmC,EAAO/D,OAAO+D,KAAKsmC,GAAI1C,OACvB2C,EAASvmC,EAAK+B,KAAK,KACnB0kC,EAAW5N,EAAM8M,KAAKY,GAC5B,IAAKE,EACD,OAAO,EAEX,IAAM5hC,EAAS8H,GAAM3M,EAAMsmC,GACrBI,EAAUC,GAAKC,GAAO,SAAU/hC,GAAS4hC,GAC/C,OAAOC,GAAWA,EAAQ78B,KAE9B,OAAOgvB,EAAM6M,KAAKY,GCxEP,OACF,SAAApnC,GAAa,IACXX,EAAmBW,EAAnBX,KAAMsoC,EAAa3nC,EAAb2nC,UAEPjqC,EAAKW,OAAOspC,GAElB,GAAIjqC,EAAI,CACJ,GAAIA,EAAG2B,GACH,OAAO3B,EAAG2B,GAGd,MAAM,IAAIyI,MAAJ,oBAAuBzI,EAAvB,yBAA4CsoC,IAGtD,MAAM,IAAI7/B,MAAJ,UAAa6/B,EAAb,qB,8tBCqBd,IAAMC,GAAWC,GAAUr9B,KAAK6e,KAcnBye,GAAoB,SAAAC,GAAS,OAAIA,EAAUC,WAAW,OAE7DC,GAAM,CAACC,KAAM,MAAOC,MAAO,GAC3BC,GAAQ,CAACF,KAAM,SACfG,GAAa,CAACH,KAAM,aAAcC,MAAO,EAAGG,OAAQ,GACpDC,GAAY,CAACN,OAAKG,SAAOC,eACzBG,GAAmB,CACrBC,OAAQ,CAACR,OAAKG,UACdM,MAAOH,GACPI,MAAOJ,IAELK,GAAmB,CAAC,SAAU,SAAU,WAExCC,GAAiB,CAAC,IAAK,KA8B7B,SAASC,GAAef,GAGpB,IAAMgB,EAAShB,EAAUiB,YAAY,KAErC,MAAO,CACH5B,GAAI6B,GAFMlB,EAAUj+B,OAAO,EAAGi/B,IAG9B/qC,SAAU+pC,EAAUj+B,OAAOi/B,EAAS,IAOrC,SAASE,GAAgBC,GAC5B,OAvCiB,SAAAA,GAAK,OAAIA,EAAMlB,WAAW,KAuCpCmB,CAAaD,GAhCxB,SAAyBA,GACrB,OAAO5xB,IACH,SAAAtU,GAAG,OAAKL,MAAMC,QAAQI,IAAQulC,GAAUvlC,EAAI,KAAQA,IACpDub,KAAKpV,MAAM+/B,IA6BcE,CAAgBF,GAASA,EAGnD,IAAMG,GAAmB,SAAC,GAAD,IAAEjC,EAAF,EAAEA,GAAIppC,EAAN,EAAMA,SAAN,gBACzBsrC,GAAYlC,GADa,YACNppC,IAKnB,SAASsrC,GAAYlC,GACxB,GAAkB,WAAd,GAAOA,GACP,OAAOA,EAMX,MAAO,IAHOrqC,OAAO+D,KAAKsmC,GACrB1C,OACAptB,KAAI,SAAAyK,GAAC,OAAIxD,KAAKgrB,UAAUxnB,GAAK,MAHbE,EAGgCmlB,EAAGrlB,KAHxBE,EAAEimB,MAAS3pB,KAAKgrB,UAAUtnB,IAArC,IAAAA,KAIFpf,KAAK,KAAO,IAWnC,SAAS2mC,GAAUn+B,EAAGC,GAClB,IAAMm+B,EAAaC,KAAUp+B,GAC7B,GAAIo+B,KAAUr+B,GAAI,CACd,GAAIo+B,EAAY,CACZ,IAAME,EAAKpQ,OAAOluB,GACZu+B,EAAKrQ,OAAOjuB,GAClB,OAAOq+B,EAAKC,EAAK,EAAID,EAAKC,GAAM,EAAI,EAExC,OAAQ,EAEZ,GAAIH,EACA,OAAO,EAEX,IAAMI,EAAuB,kBAANx+B,EACvB,OAAIw+B,KAA0B,kBAANv+B,GACbu+B,GAAW,EAAI,EAEnBx+B,EAAIC,EAAI,EAAID,EAAIC,GAAK,EAAI,EAMpC,IACMw+B,GAAW,SAAA7nB,GAAC,MAAkB,iBAANA,EAAiBA,EAAI,IAAM,KAEzD,SAAS8nB,GAAOC,EAAQ5C,EAAIzsB,EAAMsvB,GAC9B,IAAMC,EAASF,EAAO5C,GAAM4C,EAAO5C,IAAO,IACvB8C,EAAMvvB,GAAQuvB,EAAMvvB,IAAS,IACtCjV,KAAKukC,GAGnB,SAASE,GAAWH,EAAQI,EAAQzvB,EAAMsvB,GAOtC,IANA,IAAMnpC,EAAO/D,OAAO+D,KAAKspC,GAAQ1F,OAC3B2C,EAASvmC,EAAK+B,KAAK,KACnB8C,EAAS8H,GAAM3M,EAAMspC,GACrBC,EAAgBL,EAAO3C,GAAU2C,EAAO3C,IAAW,GACnDiD,EAAiBD,EAAa1vB,GAAQ0vB,EAAa1vB,IAAS,GAC9D4vB,GAAW,EACNluC,EAAI,EAAGA,EAAIiuC,EAAc/qC,OAAQlD,IACtC,GAAIk/B,GAAO51B,EAAQ2kC,EAAcjuC,GAAGsJ,QAAS,CACzC4kC,EAAWD,EAAcjuC,GACzB,MAGHkuC,IACDA,EAAW,CAACzpC,OAAM6E,SAAQ6kC,UAAW,IACrCF,EAAc5kC,KAAK6kC,IAEvBA,EAASC,UAAU9kC,KAAKukC,GAG5B,SAASQ,GAAqBC,EAAoBC,GAC9C,IAAMC,EAAU,GACVC,EAAU,GAEhBH,EAAmBjjC,SAAQ,SAAAqjC,GAAO,IACvBC,EAA0BD,EAA1BC,OAAQC,EAAkBF,EAAlBE,QAASje,EAAS+d,EAAT/d,MACpBke,GAAa,EACM,IAAnBD,EAAQzrC,QAAiByrC,EAAQ,GAAG5D,IAAO4D,EAAQ,GAAGhtC,WACtDitC,GAAa,EACbN,EAAc,gCAAiC,CAC3C,8CACApsB,KAAKgrB,UAAUuB,EAAK,KAAM,MAIlC,IAAMI,EACF,qCACAF,EAAQ1zB,IAAI+xB,IAAkBxmC,KAAK,QAElCkoC,EAAOxrC,QACRorC,EAAc,+BAAgC,CAC1CO,EACA,iCACA,sDACA,GACA,mDACA,wDAIK,CACT,CAACF,EAAS,UACV,CAACD,EAAQ,SACT,CAAChe,EAAO,UAEPtlB,SAAQ,YAAiB,cAAfgE,EAAe,KAAT0/B,EAAS,MACd,WAARA,GAAqBF,KAOpBtoC,MAAMC,QAAQ6I,IACfk/B,EAAc,YAAD,OAAaQ,EAAb,wBAAwC,CACjDD,EADiD,cAE1CC,EAF0C,iBAGjD5sB,KAAKgrB,UAAU99B,GACf,8BAGRA,EAAKhE,SAAQ,SAAC2jC,EAAQ/uC,IAWlC,WAAqC6uC,EAAMC,EAAK9uC,EAAGsuC,GAAe,IAA5CvD,EAA4C,EAA5CA,GAAIppC,EAAwC,EAAxCA,SACE,iBAAbA,GAA0BA,GACjC2sC,EAAc,0BAA2B,CACrCO,EADqC,UAElCC,EAFkC,YAE3B9uC,EAF2B,wBAEVkiB,KAAKgrB,UAAUvrC,IAC1C,yDAIR,GAAkB,WAAd,GAAOopC,GACHiE,GAAQjE,IACRuD,EAAc,2BAA4B,CACtCO,EADsC,UAEnCC,EAFmC,YAE5B9uC,EAF4B,aAGtC,gDAIR0qC,IAAkB,SAAC9kB,EAAGF,GACbA,GACD4oB,EAAc,6BAA8B,CACxCO,EADwC,UAErCC,EAFqC,YAE9B9uC,EAF8B,yBAEZ0lB,EAFY,KAGxC,oCAIS,WAAb,GAAOE,IAAkBA,EAAEimB,KACvBM,GAAiB2C,GAAKlpB,EAAEimB,QAAUjmB,GAClC0oB,EAAc,6BAA8B,CACxCO,EADwC,UAErCC,EAFqC,YAE9B9uC,EAF8B,iBAEpB0lB,EAFoB,gBAEXE,EAAEimB,MAFS,gCAGfiD,EAHe,UAIxCrqC,GAAK0nC,GAAiB2C,IAAMtoC,KAAK,QAGjCyoC,GAAS,GAAOrpB,GAAG2mB,KAC3B+B,EAAc,6BAA8B,CACxCO,EADwC,UAErCC,EAFqC,YAE9B9uC,EAF8B,iBAEpB0lB,EAFoB,gBAEXxD,KAAKgrB,UAAUtnB,IAC5C,uDACA,sCACA2mB,GAAiB/lC,KAAK,UAG/BukC,QACA,GAAkB,iBAAPA,EAAiB,CAC1BA,GACDuD,EAAc,2BAA4B,CACtCO,EADsC,UAEnCC,EAFmC,YAE5B9uC,EAF4B,mBAEhB+qC,EAFgB,KAGtC,gDAGR,IAAMmE,EAAe1C,GAAelgC,QAAO,SAAAjM,GAAC,OAAI4uC,GAAS5uC,EAAG0qC,MACxDmE,EAAahsC,QACborC,EAAc,6BAA8B,CACxCO,EADwC,UAErCC,EAFqC,YAE9B9uC,EAF8B,mBAElB+qC,EAFkB,2BAGzBmE,EAAa1oC,KAAK,QAHO,6BAOhD8nC,EAAc,yBAA0B,CACpCO,EADoC,UAEjCC,EAFiC,YAE1B9uC,EAF0B,kBAEfkiB,KAAKgrB,UAAUnC,IACpC,wDA5EIoE,CAAYJ,EAAQF,EAAMC,EAAK9uC,EAAGsuC,UAiFlD,SAA8BK,EAASE,EAAMP,EAAeC,EAASC,GACjE,IAAMY,EAAgB,GAChBC,EAAgB,GACtBV,EAAQvjC,SAAQ,WAAiBpL,GAAM,IAArB+qC,EAAqB,EAArBA,GAAIppC,EAAiB,EAAjBA,SAClB,GAAkB,iBAAPopC,EAAiB,CACxB,IAAMgE,EAAS/B,GAAiB,CAACjC,KAAIppC,aACjCytC,EAAcL,GACdT,EAAc,6BAA8B,CACxCO,EADwC,iBAE9B7uC,EAF8B,aAExB+uC,EAFwB,yCAIrCR,EAAQQ,GACfT,EAAc,6BAA8B,CACxCO,EADwC,iBAE9B7uC,EAF8B,aAExB+uC,EAFwB,wBAGxC,4DACA,sDACA,oDACA,mDAGJK,EAAcL,GAAU,MAEzB,CACH,IAAMO,EAAQ,CAACvE,KAAIppC,YACb4tC,EAAcC,GAAgBF,EAAOD,GACrCI,EAAeF,GAAeC,GAAgBF,EAAOd,GAC3D,GAAIe,GAAeE,EAAc,CAC7B,IAAMV,EAAS/B,GAAiBsC,GAC1BI,EAAU1C,GAAiBuC,GAAeE,GAChDnB,EAAc,wCAAyC,CACnDO,EADmD,iBAEzC7uC,EAFyC,aAEnC+uC,EAFmC,wCAGvBW,EAHuB,uBAIxCH,EAAc,OAAS,cAJiB,qBAOvDF,EAAchmC,KAAKimC,OAI/B7qC,GAAK2qC,GAAehkC,SAAQ,SAAAsa,GACxB6oB,EAAQ7oB,GAAK,KAEjB2pB,EAAcjkC,SAAQ,SAAAkkC,GAClBd,EAAQnlC,KAAKimC,MA1HbK,CAAqBhB,EAASE,EAAMP,EAAeC,EAASC,GA8HpE,SAA0BG,EAASD,EAAQG,EAAMP,GAC7CK,EAAQvjC,SAAQ,SAACk4B,EAAKsM,GAAS,IAChBC,EAA4BvM,EAAhCyH,GAAqB+E,EAAWxM,EAArB3hC,SAClB+sC,EAAOtjC,SAAQ,SAAC2kC,EAAKC,GAAQ,IACdC,EAA0BF,EAA9BhF,GAAoBmF,EAAUH,EAApBpuC,SACbmuC,IAAYI,GAAU,GAAOL,KAAP,GAAwBI,KAG7B,iBAAVJ,EACHA,IAAUI,GACV3B,EAAc,4BAA6B,CACvCO,EADuC,gBAE9BmB,EAF8B,aAEtBhD,GAAiB+C,GAFK,8BAGrBH,EAHqB,aAGZ5C,GAAiB1J,GAHL,OAMxCkM,GAAgBO,EAAK,CAACzM,KAC7BgL,EAAc,4BAA6B,CACvCO,EADuC,gBAE9BmB,EAF8B,aAEtBhD,GAAiB+C,GAFK,KAGvC,qCAHuC,iBAI7BH,EAJ6B,aAIpB5C,GAAiB1J,GAJG,cA9InD6M,CAAiBxB,EAASD,EAAQG,EAAMP,GAyJhD,SAAiCK,EAASD,EAAQhe,EAAOme,EAAMP,GAAe,IAC1D8B,EAAeC,GAAiB1B,EAAQ,GAAG5D,IAApDuF,QACP3B,EAAQvjC,SAAQ,SAACk4B,EAAKsM,GACdA,IAAS1Q,GAAOmR,GAAiB/M,EAAIyH,IAAIuF,QAASF,IAClD9B,EAAc,gDAAiD,CAC3DO,EAD2D,iBAEjDe,EAFiD,aAExC5C,GAAiB1J,GAFuB,KAG3D,oDAH2D,oBAI9C0J,GAAiB2B,EAAQ,IAJqB,MAK3D,4DACA,iDAIZ,CACI,CAACD,EAAQ,SACT,CAAChe,EAAO,UACVtlB,SAAQ,YAAiB,cAAfgE,EAAe,KAAT0/B,EAAS,KACvB1/B,EAAKhE,SAAQ,SAACgtB,EAAKp4B,GAAM,MACaqwC,GAAiBjY,EAAI2S,IAAhDuF,EADc,EACdA,QAASC,EADK,EACLA,eACVC,EAAkBF,EAAQ5rC,OAAO6rC,GACjCE,EAAOC,GAAWF,EAAiBJ,GACrCK,EAAKvtC,SACLutC,EAAKpI,OACLiG,EAAc,+CAAgD,CAC1DO,EAD0D,UAEvDC,EAFuD,YAEhD9uC,EAFgD,aAE1CgtC,GAAiB5U,GAFyB,iDAGrBqY,EAAKjqC,KAAK,OAHW,0BAIvCwmC,GAAiB2B,EAAQ,IAJc,KAK1D,0DACA,4DACA,wCAvLZgC,CAAwBhC,EAASD,EAAQhe,EAAOme,EAAMP,MA8L9D,IAAMsC,GAAgB,SAAC,GAAW,cAAV5hC,EAAU,KAAPC,EAAO,KACxB4hC,EAAQ7hC,GAAKA,EAAE68B,KACfiF,EAAQ7hC,GAAKA,EAAE48B,KACrB,OAAIgF,GAASC,IAGJ9hC,IAAM+8B,IAAS98B,IAAM+8B,IACrBh9B,IAAMg9B,IAAc/8B,IAAM88B,IAG5B/8B,IAAMC,GAAK4hC,GAASC,GAG/B,SAAStB,GAAT,EAAyCpF,GAAM,IAArBW,EAAqB,EAArBA,GAAIppC,EAAiB,EAAjBA,SACpBovC,EAAStsC,GAAKsmC,GAAI1C,OAClB2I,EAAS5/B,GAAM2/B,EAAQhG,GAFc,uBAG3C,YAAkBX,EAAlB,+CAAwB,KAAbllC,EAAa,QACT+rC,EAA4B/rC,EAAhC6lC,GACP,GADuC7lC,EAAvBvD,WAEEA,GACC,iBAARsvC,GACP/R,GAAOz6B,GAAKwsC,GAAK5I,OAAQ0I,IACzBnN,GAAIgN,GAAeM,GAAIF,EAAQ5/B,GAAM2/B,EAAQE,KAE7C,OAAO/rC,GAX4B,kFAc3C,OAAO,EA+VX,SAASmrC,GAAiBtF,GACtB,IAAMuF,EAAU,GACVC,EAAiB,GACnBY,GAAS,EAcb,MAbkB,WAAd,GAAOpG,KACPL,IAAkB,SAAC/jC,EAAKpF,GAChBoF,IAAQolC,GACRuE,EAAQjnC,KAAK9H,GACNoF,IAAQqlC,GACfuE,EAAelnC,KAAK9H,GACboF,IAAQilC,KACfuF,GAAS,KAEdpG,GACHuF,EAAQjI,OACRkI,EAAelI,QAEZ,CAACiI,UAASC,iBAAgBY,UAWrC,SAASC,GAAQ3sC,EAAM6/B,EAAM+M,EAAaC,EAASC,EAASC,GACxD,IAAK,IAAIxxC,EAAI,EAAGA,EAAIyE,EAAKvB,OAAQlD,IAAK,CAClC,IAAM2G,EAAM29B,EAAKtkC,GACXyxC,EAAaJ,EAAYrxC,GAC/B,GAAIyxC,EAAW5F,MAGX,GAAIyF,GAAWG,IAAe7F,GAAK,CAC/B,IAAM8F,EAAWJ,EAAQloC,QAAQ3E,EAAKzE,IAChC2xC,EAAgBH,EAAeE,GAKrC,GAAID,IAAezF,IAAc2F,IAAkB3F,GAC/C,MAAM,IAAIvgC,MACN,6BACIyW,KAAKgrB,UAAU,CACXzoC,OACA4sC,cACA/M,OACAgN,UACAE,iBACAD,aAIhB,GACIpE,GAAUxmC,EAAK4qC,EAAQG,OACtBD,IAAezF,IACT,EACD2F,IAAkB3F,GAClB,EACA,GAEN,OAAO,QAGZ,GAAIrlC,IAAQ8qC,EACf,OAAO,EAGf,OAAO,EAGX,SAASG,GAAWP,EAAa/M,GAE7B,IADA,IAAMuN,EAAU,GACP7xC,EAAI,EAAGA,EAAIqxC,EAAYnuC,OAAQlD,IAChCqxC,EAAYrxC,KAAO+rC,IACnB8F,EAAQxoC,KAAKi7B,EAAKtkC,IAG1B,OAAO6xC,EAAQ3uC,OAASgf,KAAKgrB,UAAU2E,GAAW,GAGtD,SAASC,GAAYR,EAASC,EAASC,GACnC,OAAO,SAAAlU,GAAK,OAAI,YAA+B,IAAzByU,EAAyB,EAA7BhH,GAAeppC,EAAc,EAAdA,SAC7B,GAAyB,iBAAdowC,EAAwB,CAC/B,IAAMzjC,EAAO28B,GAAQ3N,EAAOyU,GAC5B,OAAOzjC,EAAO,CAAC,CAACy8B,GAAIgH,EAAWpwC,WAAU2M,SAAS,GAEtD,IAAM7J,EAAO/D,OAAO+D,KAAKstC,GAAW1J,OAC9BgJ,EAAcjgC,GAAM3M,EAAMstC,GAC1B/G,EAASvmC,EAAK+B,KAAK,KACnB0kC,EAAW5N,EAAM8M,KAAKY,GAC5B,IAAKE,EACD,MAAO,GAEX,IAAMjjC,EAAS,GAef,OAdAijC,EAAS9/B,SAAQ,YAA0B,IAAhBk5B,EAAgB,EAAxBh7B,OAAcgF,EAAU,EAAVA,KAEzB8iC,GACI3sC,EACA6/B,EACA+M,EACAC,EACAC,EACAC,IAGJvpC,EAAOoB,KAAK,CAAC0hC,GAAIiH,GAAOvtC,EAAM6/B,GAAO3iC,WAAU2M,YAGhDrG,IAYf,IAAMgqC,GAAuB,SAAC5vB,EAAU3S,EAASwiC,GAApB,MAAiC,CAC1D7vB,WACA6vB,UACAC,WAAY9vB,EAASkjB,OAAS2M,EAC9BE,WAAY,SAAA9U,GAAK,OAAIjb,EAASssB,QAAQ1zB,IAAIvL,EAAQ4tB,KAClD+U,UAAW,SAAA/U,GAAK,OAAIjb,EAASqsB,OAAOzzB,IAAIvL,EAAQ4tB,KAChDzN,SAAU,SAAAyN,GAAK,OAAIjb,EAASqO,MAAMzV,IAAIvL,EAAQ4tB,KAC9CgV,UAAW,GACXC,SAAU,GACVC,eAAgB,GAChBC,aAAa,EACbC,UAAW,EACXC,iBAAkB,KAMlBC,GAAgB,EAKb,SAASC,GAAgBxwB,GAE5B,OADAuwB,KACOE,GAAM,YAAaF,GAAevwB,GA6C7C,SAAS0wB,GAAoBC,EAAQ1V,EAAOyN,EAAIzsB,GAC5C,IAAI5O,EACA2S,EACA6vB,EAAU,GACd,GAAkB,iBAAPnH,EAAiB,CAExB,IAAMoD,GAAa6E,EAAOC,UAAUlI,IAAO,IAAIzsB,GAC3C6vB,IACA9rB,EAAW8rB,EAAU,GACrBz+B,EAAUoiC,UAEX,CAEH,IAAMrtC,EAAO/D,OAAO+D,KAAKsmC,GAAI1C,OACvB/D,EAAOlzB,GAAM3M,EAAMsmC,GACnBC,EAASvmC,EAAK+B,KAAK,KACnB0sC,GAAYF,EAAOG,eAAenI,IAAW,IAAI1sB,GACvD,GAAI40B,EACA,IAAK,IAAIlzC,EAAI,EAAGA,EAAIkzC,EAAShwC,OAAQlD,IAAK,CACtC,IAAMqxC,EAAc6B,EAASlzC,GAAGsJ,OAChC,GAAI8nC,GAAQ3sC,EAAM6/B,EAAM+M,GAAc,CAClChvB,EAAW6wB,EAASlzC,GAAGmuC,UAAU,GACjCz+B,EAAUoiC,GAAYrtC,EAAM6/B,EAAM+M,GAClCa,EAAUN,GAAWP,EAAa/M,GAClC,QAKhB,QAAK50B,GAIEuiC,GAAqB5vB,EAAU3S,EAASwiC,GAQnD,SAASkB,GAAcC,EAAM/C,EAASa,GAClC,IAAKA,EACD,OAAOkC,EAEX,IAAK/C,EAAQptC,OAGT,MAAO,CAACmwC,EAAK,IAEjB,IAAMC,EAAU,GAChB,OAAOD,EAAK/mC,QAAO,SAAAtM,GACf,IAAMuzC,EAAYrxB,KAAKgrB,UAAU97B,GAAMk/B,EAAStwC,EAAE+qC,KAClD,OAAKuI,EAAQC,KACTD,EAAQC,GAAa,GACd,MAMnB,SAASC,GAAuBnxB,EAAUoxB,EAAYJ,EAAMxB,GACxD,IAAM6B,EAAWhzC,OAAO+D,KAAKgvC,EAAW1I,IAAI1C,OACtCsL,EAAkBviC,GAAMsiC,EAAUD,EAAW1I,IACnDsI,EAAKjoC,SAAQ,YAAiB,IAAXykC,EAAW,EAAf9E,GACL6I,EAAUxiC,GAAMsiC,EAAU7D,GAChCgC,EAAQxoC,KACJ4oC,GACI5vB,EACAyvB,GAAY4B,EAAUE,EAASD,GAC/B/B,GAAW+B,EAAiBC,QAkBrC,SAASC,GAAoBb,EAAQ1V,EAAOyN,EAAIzsB,EAAMw1B,GACzD,IAAMjC,EAAU,GACVnG,EAAYsB,GAAiB,CAACjC,KAAIppC,SAAU2c,IAElD,GAAkB,iBAAPysB,EAAiB,CAExB,IAAMoD,GAAa6E,EAAOe,SAAShJ,IAAO,IAAIzsB,GAC9C,IAAK6vB,EACD,MAAO,GAGX,IAAM6F,EAAclC,KACpB3D,EAAU/iC,SAAQ,SAAAiX,GAAY,IACnBiuB,EAAmBjuB,EAAnBiuB,QAASa,EAAU9uB,EAAV8uB,OAChB,GAAIb,EAAS,CACT,IAAM2D,EAAc5xB,EAASssB,QAAQ,GAMrC6E,GAAuBnxB,EAAU4xB,EALjBb,GACZY,EAAY1W,EAAZ0W,CAAmBC,GACnB3D,EACAa,GAEmDU,QAEvDA,EAAQxoC,KAAK4oC,GAAqB5vB,EAAU2xB,EAAa,YAG9D,CAEH,IAAMvvC,EAAO/D,OAAO+D,KAAKsmC,GAAI1C,OACvB/D,EAAOlzB,GAAM3M,EAAMsmC,GACnBC,EAASvmC,EAAK+B,KAAK,KACnB0sC,GAAYF,EAAOkB,cAAclJ,IAAW,IAAI1sB,GACtD,IAAK40B,EACD,MAAO,GAEXA,EAAS9nC,SAAQ,SAAAo7B,GACb,GAAI4K,GAAQ3sC,EAAM6/B,EAAMkC,EAAQl9B,QAAS,CACrC,IAAMoG,EAAUoiC,GAAYrtC,EAAM6/B,EAAMkC,EAAQl9B,QAChDk9B,EAAQ2H,UAAU/iC,SAAQ,SAAAiX,GACtB,IAAM4xB,EAAc5xB,EAASssB,QAAQ,GAC9B2B,EAAmBjuB,EAAnBiuB,QAASa,EAAU9uB,EAAV8uB,OAOhBqC,GACInxB,EACA4xB,EARYb,GACZ1jC,EAAQ4tB,EAAR5tB,CAAeukC,GACf3D,EACAa,GAOAU,UASpB,OAHAA,EAAQzmC,SAAQ,SAAA1D,GACZA,EAAM8qC,eAAe9G,GAAaoI,GAzM3B,KA2MJjC,EAgDJ,SAASsC,GAAqBnB,EAAQ1V,EAAO8W,EAAazpC,GAAM,IAC5D0pC,EAA4D1pC,EAA5D0pC,YAAaC,EAA+C3pC,EAA/C2pC,uBAAwBC,EAAuB5pC,EAAvB4pC,SAAUC,EAAa7pC,EAAb6pC,UAChDC,EAAa,GACbtG,EAAY,GAElB,SAASuG,EAAYryB,GACjB,GAAIA,EAAU,CACV,IAAMsyB,EAAaF,EAAWpyB,EAAS8vB,iBACpBxkC,IAAfgnC,EACAxG,EAAUwG,GAAYnC,eAAiBjH,GACnC4C,EAAUwG,GAAYnC,eACtBnwB,EAASmwB,iBAGbiC,EAAWpyB,EAAS8vB,YAAchE,EAAUjrC,OAC5CirC,EAAU9kC,KAAKgZ,KAyB3B,SAASuyB,EAAY7J,EAAI8J,EAAgBC,GACrC,GAAID,EACA,IAAK,IAAMlzC,KAAYkzC,EAAgB,CACnC,IAAME,EAAKhC,GAAoBC,EAAQ1V,EAAOyN,EAAIppC,GAC9CozC,IAIAA,EAAGtC,aAAc,EACjBiC,EAAYK,IAIxB,IAAKV,GAAeS,EAAe,CAC/B,IAAME,EAAmBV,GAlCLzH,EAmCKI,GAAYlC,GAlClC,SAAAgK,GAAE,OACLA,EAAG1C,UAAU/U,GAAOkN,MAAK,SAAAwF,GACrB,SACI1pC,MAAMC,QAAQypC,KACdA,EAAIxF,MAAK,SAAAyK,GAAI,OAAIhI,GAAYgI,EAAKlK,MAAQ8B,OAItCqI,GAAQH,EAAG3C,WAAWmC,IAAWrxC,SACjC6xC,EAAGtC,aAAc,EACjBsC,EAAGvC,eAAiB,GACpBkC,EAAYK,IAET,SAsBTL,EACFS,EAAqBH,EAczB,IAAK,IAAMrzC,KAbP6yC,IACAW,EAAqB,SAAAJ,GAEbnR,GACI+H,GAAW6I,GACXY,GAAM,OAAQF,GAAQH,EAAG3C,WAAW9U,QAGxCyX,EAAGvC,eAAiB,IAExBwC,EAAiBD,KAGFD,EACnBjB,GACIb,EACA1V,EACAyN,EACAppC,EAtUH,GAwUCyJ,QAAQ+pC,GA1DtB,IAA4BtI,EA+D5BzD,GAAYgL,GAAa,SAAA9K,GACrB,IAAMyB,EAAKz8B,GAAK,CAAC,QAAS,MAAOg7B,GACjC,GAAIyB,EACA,GAAkB,iBAAPA,GAAoBuJ,EAExB,CACH,IAAMtJ,EAAStqC,OAAO+D,KAAKsmC,GACtB1C,OACA7hC,KAAK,KACVouC,EACI7J,GACCuJ,GAA0BtB,EAAOG,eAAenI,GACjDgI,EAAOkB,cAAclJ,SARzB4J,EAAY7J,EAAIiI,EAAOC,UAAUlI,GAAKiI,EAAOe,SAAShJ,OAgBlE,IAAMsK,EAAiBC,GAActC,EAAQ1V,EAAO6Q,GAuBpD,OAfAkH,EAAejqC,SAAQ,SAAA2pC,GACnB,GAAIA,EAAGtC,cAAgBzD,GAAQ+F,EAAGzC,WAAY,CAC1C,IAAM5D,EAASwG,GAAQH,EAAG1C,UAAU/U,IACpCyX,EAAGtC,aAAc,EACjB/D,EAAOtjC,SAAQ,SAAApL,GACX,IAAMu1C,EAASvI,GAAiBhtC,GAC5B+0C,EAAGvC,eAAe+C,GAClBR,EAAGvC,eAAe+C,GAhXrB,EAkXGR,EAAGtC,aAAc,SAM1B4C,EAGJ,SAASG,GACZC,EACAnY,EACAoY,EACAC,GAEA,IAAMC,EAAwB,GAkB9B,GAjBAH,EAAiBrqC,SAAQ,SAAAyqC,GAAW,IACzBvD,EAAmDuD,EAAnDvD,UAAWC,EAAwCsD,EAAxCtD,SAAUC,EAA8BqD,EAA9BrD,eAA8BqD,EAAd1D,aACzBuD,GACfE,EAAsBvsC,KAClBysC,GAAWD,EAAS,CAChBvD,UAAWyD,GAAOL,EAAkBpD,GACpCC,SAAUwD,GAAOL,EAAkBnD,GACnCC,eAAgBwD,IACZ,SAACpwB,EAAGF,GAAJ,OA3YT,IA2YmBE,IAAiBqpB,GAASvpB,EAAGiwB,KACvCnD,SAQhBmD,EAAazyC,OACb,IAAK,IAAIlD,EAAI,EAAGA,EAAI41C,EAAsB1yC,OAAQlD,IAAK,CACnD,IAAM+0C,EAAKa,EAAsB51C,GACjC,IAAK+0C,EAAGtC,aAAezD,GAAQ+F,EAAGvC,gBAC9B,OAAOgD,GACHI,EACAtY,EACAyX,EAAG5C,WACH+C,GAAQH,EAAG3C,WAAW9U,IAAQriB,IAAI+xB,KAKlD,OAAO4I,EASJ,SAASK,GAAmBR,GAAkB,SACNS,IACvC,SAAAL,GAAO,OAAI7G,GAAQ6G,EAAQvD,aAAeuD,EAAQnD,YAClD+C,GAH6C,GAC1CU,EAD0C,KAC1BC,EAD0B,KASjD,OAJAD,EAAe9N,MAAK,SAACr5B,EAAGC,GACpB,OAAOvO,OAAO+D,KAAKwK,EAAEsjC,UAAUrvC,OAASxC,OAAO+D,KAAKuK,EAAEujC,UAAUrvC,UAG7D,CAACizC,iBAAgBC,oBAa5B,SAASC,GAAWlI,GAChB,IAAMmI,EAAiB,GAIvB,OAHAnI,EAAU/iC,SAAQ,WAAepL,GAAM,IAAnBmyC,EAAmB,EAAnBA,WAChBmE,EAAenE,GAAcnyC,KAE1Bs2C,EASJ,SAAShB,GAActC,EAAQ1V,EAAOiZ,GACzC,IAEIv2C,EACAqiB,EAHE8rB,EAAYpiC,GAAMwqC,GAClBD,EAAiBD,GAAWlI,GAI5BqI,EAAe,SAAC,GAAmB,IAAlBzL,EAAkB,EAAlBA,GAAIppC,EAAc,EAAdA,SACPkyC,GACZb,EACA1V,EACAyN,EACAppC,EAxdK,GA2dDyJ,SAAQ,SAAAqrC,GACZ,IAAIC,EAAgBJ,EAAeG,EAAOtE,YAC1C,QAAsBxkC,IAAlB+oC,EACAA,EAAgBvI,EAAUjrC,OAC1BirC,EAAU9kC,KAAKotC,GACfH,EAAeG,EAAOtE,YAAcuE,MACjC,CACH,IAAMC,EAAaxI,EAAUuI,GAC7BC,EAAWnE,eAAiBjH,GACxBoL,EAAWnE,eACXiE,EAAOjE,iBAhD3B,SAAkBrE,EAAWyI,EAAYC,GACrC1I,EAAU/iC,SAAQ,YAAuC,IAArCknC,EAAqC,EAArCA,UAAWC,EAA0B,EAA1BA,SAAUJ,EAAgB,EAAhBA,WACjCA,IAAeyE,GAAcrE,EAASqE,GACtCrE,EAASsE,GAAa,GACf1E,IAAe0E,GAAavE,EAAUuE,MAC7CvE,EAAUsE,GAAc,MA8CxBE,CAAS3I,EAAW9rB,EAAS8vB,WAAYsE,EAAOtE,gBAMxD,IAAKnyC,EAAI,EAAGA,EAAImuC,EAAUjrC,OAAQlD,IAAK,CACnCqiB,EAAW8rB,EAAUnuC,GACL+2C,GAAO10B,EAAS+vB,WAAW9U,IACnClyB,QAAQorC,GAEpB,OAAOrI,EAGX,SAAS6I,GAAiBC,EAAKC,GAC3B,SAASC,EAAcnoC,EAAGC,GAClBgoC,EAAIjoC,GAAGkoC,EAAI/E,cAAgB+E,EAAIjoC,GAAGgoC,EAAI9E,cACtC+E,EAAIjoC,GAAGgoC,EAAI9E,YAAc8E,EAAIjoC,GAAGkoC,EAAI/E,YACpC+E,EAAIjoC,GAAKs8B,GAAS0L,EAAIhoC,GAAIioC,EAAIjoC,IAC9BgoC,EAAIjoC,GAAKu8B,GAAS2L,EAAIloC,GAAIioC,EAAIjoC,KAGtCmoC,EAAc,YAAa,YAC3BA,EAAc,WAAY,aAQvB,SAASC,GAAsBH,EAAKC,GACvC,IAAKA,EAAIh0C,OACL,OAAO+zC,EAEX,IAAKA,EAAI/zC,OACL,OAAOg0C,EAEX,IAAM7B,EAAiBtpC,GAAMkrC,GACvBI,EAAatrC,GAAMmrC,GACnBZ,EAAiBD,GAAWhB,GAqBlC,OAnBAgC,EAAWjsC,SAAQ,SAACiX,EAAUriB,GAC1B,IAAM02C,EAAgBJ,EAAej0B,EAAS8vB,iBACxBxkC,IAAlB+oC,GACArB,EAAejqC,SAAQ,SAAAksC,GACnBN,GAAiBM,EAASj1B,MAE9Bg1B,EAAW7uC,MAAMxI,EAAI,GAAGoL,SAAQ,SAAA8rC,GAC5BF,GAAiBE,EAAK70B,MAE1BgzB,EAAeqB,GAAiBa,GAC5BlC,EAAeqB,GACfr0B,KAGJi0B,EAAej0B,EAAS8vB,YAAckD,EAAenyC,OACrDmyC,EAAehsC,KAAKgZ,OAIrBgzB,EC39CX,IAAImC,GAAQ,SAAU3xB,GACpB,MAAO,CACL5kB,MAAO4kB,EACP,mBAAoB,WAClB,OAAOjd,QAmCE,GANfk0B,IAAQ,SAAc2a,EAAM5xB,GAG1B,OAAO4xB,EAAKD,GAALC,CAAY5xB,GAAG5kB,SCgBT,GArBf0+B,IAAQ,SAAS+X,EAAUppC,EAAM3H,EAAKzB,GACpC,GAAoB,IAAhBoJ,EAAKpL,OACP,OAAOyD,EAGT,IAAI2E,EAAMgD,EAAK,GAEf,GAAIA,EAAKpL,OAAS,EAAG,CACnB,IAAIy0C,GAAW,GAAMzyC,IAAQu4B,GAAKnyB,EAAKpG,GAAOA,EAAIoG,GAAOiyB,GAAWjvB,EAAK,IAAM,GAAK,GACpF3H,EAAM+wC,EAAUpxC,MAAM1E,UAAU4G,MAAMrI,KAAKmO,EAAM,GAAI3H,EAAKgxC,GAG5D,GAAIpa,GAAWjyB,IAAQoxB,GAASx3B,GAAM,CACpC,IAAI2nB,EAAM,GAAGnoB,OAAOQ,GAEpB,OADA2nB,EAAIvhB,GAAO3E,EACJkmB,EAEP,OAAO,GAAMvhB,EAAK3E,EAAKzB,MCZZ,GAVf43B,IAAQ,SAAct8B,EAAQo3C,GAC5B,OAAO,SAAUC,GACf,OAAO,SAAU1mC,GACf,OAAO,IAAI,SAAUma,GACnB,OAAOssB,EAAOtsB,EAAOna,KACpB0mC,EAAYr3C,EAAO2Q,UCEb,GAJfyrB,IAAQ,SAAkB96B,GACxB,OAAO,GAAK,GAAKA,GAAI,GAAUA,OChC3Bg2C,GAAa,CACfC,eAAgB,EAChBC,kBAAmB,EACnBC,WAAY,EACZC,UAAW,EACXC,WAAY,EACZC,kBAAmB,EACnBC,WAAY,EACZC,SAAU,EACVC,UAAW,GAGFC,GAAY,SAAA7nB,GACrB,GAAImnB,GAAWnnB,GACX,OAAOA,EAEX,MAAM,IAAIllB,MAAJ,UAAaklB,EAAb,sBCOK8nB,GAnBA,WAAwB,IAAvB/nB,EAAuB,uDAAf,GAAIC,EAAW,uCACnC,GAAIA,EAAO3tB,OAASw1C,GAAU,cAC1B,OAAO7nB,EAAOE,QACX,GACHoe,GAASte,EAAO3tB,KAAM,CAClB,mBACA,mBACAw1C,GAAU,oBAEhB,CACE,IAAME,EAAWl5B,GAAO,QAASmR,EAAOE,QAAQia,UAC1C6N,EAAgBl4B,GAAKm4B,GAASF,GAAWhoB,GACzC+I,EAAcqc,GAAW6C,EAAehoB,EAAOE,QAAQzf,OAC7D,OAAOsmC,GAAUgB,EAAUjf,EAAa/I,GAG5C,OAAOA,GCpBLmoB,GAAe,GASN7F,GAPA,WAAkC,IAAjCtiB,EAAiC,uDAAzBmoB,GAAcloB,EAAW,uCAC7C,MAAoB,eAAhBA,EAAO3tB,KACA2tB,EAAOE,QAEXH,GCJLooB,GAAe,CAAC3O,KAAM,GAAIC,KAAM,IASvB9M,GAPD,WAAkC,IAAjC5M,EAAiC,uDAAzBooB,GAAcnoB,EAAW,uCAC5C,OAAIA,EAAO3tB,OAASw1C,GAAU,aACnB7nB,EAAOE,QAEXH,GCEI+kB,GAVU,WAAwB,IAAvB/kB,EAAuB,uDAAf,GAAIC,EAAW,uCAC7C,OAAQA,EAAO3tB,MACX,IAAK,wBACD,OAAO2tB,EAAOE,QAElB,QACI,OAAOH,ICNZ,SAASqoB,GAAYroB,GACxB,IAAMsoB,EAAY,CACdC,QAAS,UACTC,SAAU,YAEd,GAAIF,EAAUtoB,GACV,OAAOsoB,EAAUtoB,GAErB,MAAM,IAAIjlB,MAAJ,UAAailB,EAAb,+BCIKyoB,OATf,WAA8D,IAAxCzoB,EAAwC,uDAAhCqoB,GAAY,WAAYpoB,EAAQ,uCAC1D,OAAQA,EAAO3tB,MACX,KAAKw1C,GAAU,qBACX,OAAOO,GAAYpoB,EAAOE,SAC9B,QACI,OAAOH,I,sVCRnB,IAAM0oB,GAAiB,CACnBC,KAAM,GACNC,QAAS,GACTC,OAAQ,IA4CGC,OAzCf,WAAiD,IAAhC9oB,EAAgC,uDAAxB0oB,GAAgBzoB,EAAQ,uCAC7C,OAAQA,EAAO3tB,MACX,IAAK,OAAQ,IACFq2C,EAAyB3oB,EAAzB2oB,KAAMC,EAAmB5oB,EAAnB4oB,QAASC,EAAU7oB,EAAV6oB,OAChBE,EAAWJ,EAAKA,EAAKn2C,OAAS,GAC9Bw2C,EAAUL,EAAK7wC,MAAM,EAAG6wC,EAAKn2C,OAAS,GAC5C,MAAO,CACHm2C,KAAMK,EACNJ,QAASG,EACTF,OAAQ,CAACD,GAAH,UAAeC,KAI7B,IAAK,OAAQ,IACFF,EAAyB3oB,EAAzB2oB,KAAMC,EAAmB5oB,EAAnB4oB,QAASC,EAAU7oB,EAAV6oB,OAChBvpC,EAAOupC,EAAO,GACdI,EAAYJ,EAAO/wC,MAAM,GAC/B,MAAO,CACH6wC,KAAM,GAAF,UAAMA,GAAN,CAAYC,IAChBA,QAAStpC,EACTupC,OAAQI,GAIhB,IAAK,SAAU,IACJN,EAAgB3oB,EAAhB2oB,KAAME,EAAU7oB,EAAV6oB,OACPE,EAAWJ,EAAKA,EAAKn2C,OAAS,GAC9Bw2C,EAAUL,EAAK7wC,MAAM,EAAG6wC,EAAKn2C,OAAS,GAC5C,MAAO,CACHm2C,KAAMK,EACNJ,QAASG,EACTF,OAAQ,GAAIA,IAIpB,QACI,OAAO7oB,I,sVCxCnB,IAAMkpB,GAAe,CACjBC,SAAU,GACVC,QAAS,IAGE,SAAS3qC,KAAoC,IAA9BuhB,EAA8B,uDAAtBkpB,GAAcjpB,EAAQ,uCACxD,OAAQA,EAAO3tB,MACX,IAAK,WAMD,OAFA+2C,QAAQ5qC,MAAMwhB,EAAOE,QAAQ1hB,OAED,aAAxBwhB,EAAOE,QAAQ7tB,KACR,CACH62C,SAAU,CACN/D,GAAWnlB,EAAOE,QAAS,CAACmpB,UAAW,IAAIrT,QADvC,UAEDjW,EAAMmpB,WAEbC,QAASppB,EAAMopB,SAEY,YAAxBnpB,EAAOE,QAAQ7tB,KACf,CACH62C,SAAUnpB,EAAMmpB,SAChBC,QAAS,CACLhE,GAAWnlB,EAAOE,QAAS,CAACmpB,UAAW,IAAIrT,QADxC,UAEAjW,EAAMopB,WAIdppB,EAGX,QACI,OAAOA,GCpCnB,IAYeupB,GAZK,WAGf,IAFDvpB,EAEC,uDAFO,CAACwpB,YAAa,KAAMC,aAAc,KAAMC,MAAM,GACtDzpB,EACC,uCACD,OAAQA,EAAO3tB,MACX,IAAK,YACD,OAAO2tB,EAAOE,QAClB,QACI,OAAOH,ICNJ,SAASmY,KAA6B,IAAtBnY,EAAsB,uDAAd,KAAMC,EAAQ,uCACjD,OAAIA,EAAO3tB,OAASw1C,GAAU,cACnB7nB,EAAOE,QAEXH,E,sVCUJ,ICZH5B,GDYSurB,GAAc,CACvB,sBACA,gBACA,gBACA,gBAGJ,SAASC,KACL,IAAM31B,EAAQ,CACVw0B,gBACAV,UACAzF,UACA1V,SACAmY,oBACA5M,UACA2Q,WACArqC,SACAorC,UAMJ,OAJAnvC,IAAQ,SAAAtK,GEjCG,IAA0BguB,EFkCjCnK,EAAM7jB,IElC2BguB,EFkCLhuB,EEjCzB,WAAwC,IAApB4vB,EAAoB,uDAAZ,GAAIC,EAAQ,uCACvC6pB,EAAW9pB,EACf,GAAIC,EAAO3tB,OAAS8rB,EAAO,OACO6B,EAAOE,QAA9Bka,EADgB,EAChBA,GAAI1nB,EADY,EACZA,OAAQo3B,EADI,EACJA,QACbC,EAAa,CAACr3B,SAAQo3B,WAExBD,EADAl0C,MAAMC,QAAQwkC,GACH2M,GAAU3M,EAAI2P,EAAYhqB,GAC9Bqa,EACI+H,GAAM/H,EAAI2P,EAAYhqB,GAEtBolB,GAAWplB,EAAOgqB,GAGrC,OAAOF,MFqBRH,IAEI1jB,EAAgBhS,GAG3B,SAASg2B,GAAqB7P,EAAU15B,EAAOsf,GAAO,IAI9CkqB,EAHG5H,EAAyBtiB,EAAzBsiB,OAAQyF,EAAiB/nB,EAAjB+nB,OAAQnb,EAAS5M,EAAT4M,MACjBud,EAAUvsC,GAAKw8B,EAASpmC,OAAO,CAAC,UAAW+zC,GAC1C1N,GAAM8P,GAAW,IAAjB9P,GAUP,OARIA,IACA6P,EAAe,CAAC7P,KAAI35B,MAAO,IAC3B3M,GAAK2M,GAAOhG,SAAQ,SAAA0vC,GACZjH,GAAoBb,EAAQ1V,EAAOyN,EAAI+P,GAAS53C,SAChD03C,EAAaxpC,MAAM0pC,GAAWD,EAAQC,QAI3CF,EA2DJ,SAASG,KACZ,OAjBJ,SAAyBplB,GACrB,OAAO,SAASjF,EAAOC,GAAQ,MACMD,GAAS,GAAnC8oB,EADoB,EACpBA,QAAS3Q,EADW,EACXA,OAAQ0R,EADG,EACHA,MACpBC,EAAW9pB,EASf,MARoB,WAAhBC,EAAO3tB,KACPw3C,EAAW,CAAChB,UAAS3Q,SAAQ0R,SACN,eAAhB5pB,EAAO3tB,OAIdw3C,EAAW,CAACD,UAET5kB,EAAQ6kB,EAAU7pB,IAKtBqqB,EAzDYrlB,EAyDkB2kB,KAxD9B,SAAS5pB,EAAOC,GAEnB,GAAoB,mBAAhBA,EAAO3tB,KAA2B,OACR2tB,EAAOE,QAC3B+pB,EAAeD,GAFa,EAC3B7P,SAD2B,EACjB15B,MAC0Csf,GACvDkqB,IAAiB5L,GAAQ4L,EAAaxpC,SACtCsf,EAAM8oB,QAAQF,QAAUsB,GAIhC,IAAMzjB,EAAYxB,EAAQjF,EAAOC,GAEjC,GACoB,mBAAhBA,EAAO3tB,MACmB,aAA1B2tB,EAAOE,QAAQ7kB,OACjB,OAC4B2kB,EAAOE,QAK3B+pB,EAAeD,GANvB,EACS7P,SADT,EACmB15B,MAQb+lB,GAEAyjB,IAAiB5L,GAAQ4L,EAAaxpC,SACtC+lB,EAAUqiB,QAAU,CAChBH,KAAM,GAAF,UAAMliB,EAAUqiB,QAAQH,MAAxB,CAA8B3oB,EAAM8oB,QAAQF,UAChDA,QAASsB,EACTrB,OAAQ,KAKpB,OAAOpiB,KApCf,IAAuBxB,EC5CvB,IAqCeslB,GArCS,SAAAC,GACpB,GAAIpsB,KAAUosB,EACV,OAAOpsB,GAGX,IAAM6G,EAAUolB,KA6BhB,OAzBIjsB,GAAQ4G,EAAYC,E5IslB5B,WACE,IAAK,IAAIuC,EAAO70B,UAAUH,OAAQi4C,EAAc,IAAI70C,MAAM4xB,GAAOb,EAAO,EAAGA,EAAOa,EAAMb,IACtF8jB,EAAY9jB,GAAQh0B,UAAUg0B,GAGhC,OAAO,SAAU3B,GACf,OAAO,WACL,IAAI5G,EAAQ4G,EAAYxF,WAAM,EAAQ7sB,WAElC+3C,EAAY,WACd,MAAM,IAAI3vC,MAAM,2HAGd4vC,EAAgB,CAClBxrB,SAAUf,EAAMe,SAChBmE,SAAU,WACR,OAAOonB,EAAUlrB,WAAM,EAAQ7sB,aAG/Bi4C,EAAQH,EAAYlgC,KAAI,SAAUsgC,GACpC,OAAOA,EAAWF,MAGpB,OAAOtjB,EAAe,GAAIjJ,EAAO,CAC/BkF,SAFFonB,EAAYnjB,EAAQ/H,WAAM,EAAQorB,EAAtBrjB,CAA6BnJ,EAAMkF,c4I5mBhBwnB,CAAgBnf,KAW5C6e,IAEDl5C,OAAO8sB,MAAQA,IAYZA,IE5BX,IAiBe,GAffgO,IAAQ,SAAc2e,EAAOv2C,GAI3B,IAHA,IAAI+C,EAAS,GACTqD,EAAM,EAEHA,EAAMmwC,EAAMv4C,QACbu4C,EAAMnwC,KAAQpG,IAChB+C,EAAOwzC,EAAMnwC,IAAQpG,EAAIu2C,EAAMnwC,KAGjCA,GAAO,EAGT,OAAOrD,KCaM,GAjBf20B,IAAQ,SAAkBH,GACxB,OAAO,GAAOA,EAAGv5B,QAAQ,WACvB,IAAIoI,EAAM,EACNowC,EAASr4C,UAAU,GACnB8F,EAAO9F,UAAUA,UAAUH,OAAS,GACpCkM,EAAO9I,MAAM1E,UAAU4G,MAAMrI,KAAKkD,UAAW,GAQjD,OANA+L,EAAK,GAAK,WACR,IAAInH,EAASyzC,EAAOxrB,MAAMtnB,KAAMm8B,GAAQ1hC,UAAW,CAACiI,EAAKnC,KAEzD,OADAmC,GAAO,EACArD,GAGFw0B,EAAGvM,MAAMtnB,KAAMwG,SCZX,GAJf0tB,IAAQ,SAAmBx8B,EAAGslB,GAC5B,OAAY,MAALA,GAAaA,GAAMA,EAAItlB,EAAIslB,KCCrB,GAJf+Z,IAAQ,SAAgBr/B,EAAGwB,EAAGoD,GAC5B,OAAO,GAAU5E,EAAG,GAAKwB,EAAGoD,OCSf,GAJfy6B,IAAQ,SAAgBh5B,EAAK7E,EAAGoD,GAC9B,OAAO,GAAOyB,EAAK,CAAC7E,GAAIoD,MCMX,GAdf03B,IAAQ,SAAcH,GACpB,IACIx0B,EADA0zC,GAAS,EAEb,OAAOhb,GAAOlE,EAAGv5B,QAAQ,WACvB,OAAIy4C,EACK1zC,GAGT0zC,GAAS,EACT1zC,EAASw0B,EAAGvM,MAAMtnB,KAAMvF,kBCHb,GAJfy5B,IAAQ,SAAUiJ,EAAI58B,GACpB,OAAO,GAAO,GAAKq5B,GAAL,CAAgBuD,GAAK58B,M,oBC3BrB,eACd,MAAwB,mBAAVlI,GCDA,eACd,OAAOA,GCDO,eACd,OAAiB,OAAVA,GCGM,SAAS26C,GAAa54C,EAAM64C,EAAgBC,QAClC,IAAnBD,IACFA,EAAiB,IAGnB,KAAUE,GAAWF,IAAmBG,GAAOH,GAAiB,+DAChE,IAAII,EAAsBD,GAAOH,IAAmBA,IAAmB,GAAW,GAAW,SAAUhN,GACrG,IAAK,IAAI3W,EAAO70B,UAAUH,OAAQkM,EAAO,IAAI9I,MAAM4xB,EAAO,EAAIA,EAAO,EAAI,GAAIb,EAAO,EAAGA,EAAOa,EAAMb,IAClGjoB,EAAKioB,EAAO,GAAKh0B,UAAUg0B,GAG7B,OAAOwX,aAAgBpjC,MAAQojC,EAAOgN,EAAe3rB,WAAM,EAAQ,CAAC2e,GAAMnqC,OAAO0K,KAE/E8sC,EAAUH,GAAWD,GACrBK,EAAan5C,EAAKyD,WAElBixB,EAAgB,WAClB,IAAI7G,EAAUorB,EAAoB/rB,WAAM,EAAQ7sB,WAC5CstB,EAAS,CACX3tB,KAAMA,GAeR,OAZI6tB,aAAmBplB,QACrBklB,EAAOxhB,OAAQ,QAGDxB,IAAZkjB,IACFF,EAAOE,QAAUA,GAGfqrB,IACFvrB,EAAOyrB,KAAON,EAAY5rB,WAAM,EAAQ7sB,YAGnCstB,GAOT,OAJA+G,EAAcjxB,SAAW,WACvB,OAAO01C,GAGFzkB,E,wBC1CI2kB,GACL,IADKA,GAEO,ICwBL,GANfzf,IAAQ,SAAgBj2B,GACtB,OAAO,WACL,OAAOA,MCtBP21C,GAAW,SAAUz2B,GACvB,MAAO,CACL5kB,MAAO4kB,EACP5K,IAAK,SAAU/L,GACb,OAAOotC,GAASptC,EAAE2W,OAuCT,GATf8Z,IAAQ,SAAc8X,EAAMvoC,EAAG2W,GAI7B,OAAO4xB,GAAK,SAAU3xB,GACpB,OAAOw2B,GAASptC,EAAE4W,MADb2xB,CAEJ5xB,GAAG5kB,SCXO,GAJf0+B,IAAQ,SAAa8X,EAAM7xB,EAAGC,GAC5B,OAAO,GAAK4xB,EAAM,GAAO7xB,GAAIC,M,yzBC2CxB,IAAM02B,GAAc,qBAE3B,SAASz4B,GAAIhf,GACT,IAAMqK,EAAqB,iBAANrK,EAAiB,IAAI2G,MAAM3G,GAAKA,EAErD,OAAO82C,GAAa,WAAbA,CAAyB,CAC5B54C,KAAM,WACNmM,UASR,SAASqtC,GAAe12C,EAAQ22C,GAC5B,IAAMC,EAAU52C,EAAS22C,EACnBE,EAAUD,EAAQx5C,OACxB,OAAO,SAAA3B,GAAG,OAAIA,IAAQuE,GAAUvE,EAAIkM,OAAO,EAAGkvC,KAAaD,GAG/D,IACME,GAAS,SAAAj2C,GAAG,MADA,MACKA,OAAoBgH,EAAYuU,KAAKpV,MAAMnG,GAAO,OACnEk2C,GAAa,SAAAl2C,GAAG,YAAagH,IAARhH,EAFT,IAEyCub,KAAKgrB,UAAUvmC,IAEpEm2C,G,WACF,WAAYhD,GAAS,WACjBlxC,KAAKm0C,MAAQjD,EACblxC,KAAKo0C,SAAWh7C,OAAO83C,G,2CAGnBv4C,GACJ,OAAoD,OAA7CqH,KAAKo0C,SAASC,QAAQV,GAAch7C,K,8BAGvCA,GAGJ,OAAOq7C,GAAOh0C,KAAKo0C,SAASC,QAAQV,GAAch7C,M,+BAG7CA,EAAKN,GAEV2H,KAAKo0C,SAASE,QAAQX,GAAch7C,EAAKs7C,GAAW57C,M,8BAMhDM,EAAKN,EAAO+yB,GAChB,IACIprB,KAAKu0C,SAAS57C,EAAKN,GACrB,MAAO6D,GACLkvB,EACIlQ,GAAI,GAAD,OACIviB,EADJ,8BAC6BqH,KAAKm0C,MADlC,uC,iCAUJx7C,GACPqH,KAAKo0C,SAASI,WAAWb,GAAch7C,K,4BAOrC87C,GAMF,IANa,WAEPC,EAAWd,GADED,IAAec,GAAa,IACHA,EAAY,IAAM,IACxDE,EAAe,GAGZv9C,EAAI,EAAGA,EAAI4I,KAAKo0C,SAAS95C,OAAQlD,IAAK,CAC3C,IAAMw9C,EAAU50C,KAAKo0C,SAASz7C,IAAIvB,GAC9Bs9C,EAASE,IACTD,EAAal0C,KAAKm0C,GAG1BpyC,IAAQ,SAAAsa,GAAC,OAAI,EAAKs3B,SAASI,WAAW13B,KAAI63B,O,KAmD3C,IAAME,GAAS,CAClBC,OAAQ,I,WA/CR,aAAc,WACV90C,KAAK+0C,MAAQ,G,2CAGTp8C,GACJ,OAAOA,KAAOqH,KAAK+0C,Q,8BAGfp8C,GAGJ,OAAOq7C,GAAOh0C,KAAK+0C,MAAMp8C,M,8BAGrBA,EAAKN,GACT2H,KAAK+0C,MAAMp8C,GAAOs7C,GAAW57C,K,iCAGtBM,UACAqH,KAAK+0C,MAAMp8C,K,4BAGhB87C,GAAW,WACTA,EACAjyC,IACI,SAAA7J,GAAG,cAAW,EAAKo8C,MAAMp8C,KACzB+K,GAAOkwC,GAAea,EAAW,KAAM54C,GAAKmE,KAAK+0C,SAGrD/0C,KAAK+0C,MAAQ,O,OAuBnBC,GAAW,CACbC,MAAO,eACPC,QAAS,kBAsCb,SAASC,GAAS/6C,EAAMgxB,GAIpB,OAHKypB,GAAOz6C,KACRy6C,GAAOz6C,GArCf,SAAwB82C,EAAS9lB,GAC7B,IAAMlF,EAAQ,IAAIguB,GAAShD,GACrBkE,EAAgBP,GAAOC,OACvBO,EAtBV,WAEI,IADA,IAAIl8C,EAAI,OACC/B,EAAI,EAAGA,EAHR,GAGiBA,IACrB+B,GAAKA,EAET,OAAOA,EAiBWm8C,GACZC,EAAU5B,GAAc,MAC9B,IAEI,OADAztB,EAAMquB,SAASgB,EAASF,GACpBnvB,EAAMmuB,QAAQkB,KAAaF,GAC3BjqB,EACIlQ,GAAI,GAAD,OAAIg2B,EAAJ,kDAEAkE,IAEXlvB,EAAMsuB,WAAWe,GACVrvB,GACT,MAAOhqB,GACLkvB,EACIlQ,GAAI,GAAD,OAAIg2B,EAAJ,mDAGX,IAGI,GAFAhrB,EAAMN,QACNM,EAAMquB,SAASgB,EAASF,GACpBnvB,EAAMmuB,QAAQkB,KAAaF,EAC3B,MAAM,IAAIxyC,MAAM,QAIpB,OAFAqjB,EAAMsuB,WAAWe,GACjBnqB,EAASlQ,GAAI,GAAD,OAAIg2B,EAAJ,6CACLhrB,EACT,MAAOhqB,GAEL,OADAkvB,EAASlQ,GAAI,GAAD,OAAIg2B,EAAJ,gDACLkE,GAMQI,CAAeR,GAAS56C,GAAOgxB,IAE3CypB,GAAOz6C,GAGlB,IAAMq7C,GAAgB,CAClBC,QAAS,SAAAC,GAAS,OAAIA,GACtBruB,MAAO,SAACsuB,EAAaC,GAAd,OAA6BD,IAGlCE,GAAe,SAACC,EAASC,EAAUC,GAApB,OACjBA,EACMF,EAAQG,sBAAsBF,GAAUC,GACxCR,IAEJU,GAAa,SAAChU,EAAIiU,EAAeC,GAApB,gBACZlU,EADY,YACNiU,EADM,YACW98B,KAAKgrB,UAAU+R,KAEvCC,GAAW,SAAAzG,GAAU,IAChBrnC,EAA0BqnC,EAA1BrnC,MAAOpO,EAAmBy1C,EAAnBz1C,KAAMsoC,EAAamN,EAAbnN,UACpB,IAAKtoC,IAASsoC,EAEV,MAAO,CAACl6B,SAJW,IAMhB25B,EAAmB35B,EAAnB25B,GAAIkU,EAAe7tC,EAAf6tC,YAELN,EAAUQ,GAAiB1G,GAC3B2G,EAAS,SAAA9gC,GAAI,OAAIlN,EAAMkN,KAAUqgC,EAAQl8C,cAAgB,IAAI6b,IAC7D+gC,EAAkBD,EAAO,mBACzBE,EAAmBF,EAAO,oBAGhC,MAAO,CACHG,WAHexU,GAAMsU,GAAmBC,EAIxCvU,KACA35B,QACAutC,UACAM,cACAI,kBACAC,qBAiDD,SAASE,GAAiB/G,EAAQzkB,GACrC,MAAqB,WAAjBhxB,GAAKy1C,IAAyBA,EAAOrnC,MA6B7C,SAASquC,EAAgBhH,EAAQ90C,EAAW2K,EAAM0lB,GAAU,MASpDkrB,GAASv7C,GAPT47C,EAFoD,EAEpDA,WACAxU,EAHoD,EAGpDA,GACA35B,EAJoD,EAIpDA,MACAutC,EALoD,EAKpDA,QACAM,EANoD,EAMpDA,YACAI,EAPoD,EAOpDA,gBACAC,EARoD,EAQpDA,iBAGAI,EAAYjH,EAChB,GAAI8G,GAAcN,EAAa,CAC3B,IAAMU,EAAU5B,GAASuB,EAAkBtrB,GACrC4rB,EAAS,GAcf,IAAK,IAAMhB,KAbXxzC,IACI,SAAA4zC,GAAa,OACTa,GACId,GAAWhU,EAAIiU,EAAeC,GAC9BU,EACAhB,EACAvtC,EACA4tC,EACAY,KAERP,GAGmBO,EACnBF,EAAY9+B,GACRg4B,GAAStqC,EAAK5J,OAAO,QAASk6C,IAC9BgB,EAAOhB,GACPc,GAhC4C,IAsCjD73B,EAAYzW,EAAZyW,SACHvhB,MAAMC,QAAQshB,GACdA,EAASzc,SAAQ,SAACk+B,EAAOtpC,GACD,WAAhBgD,GAAKsmC,IAAuBA,EAAMl4B,QAClCsuC,EAAYD,EACRC,EACApW,EACAh7B,EAAK5J,OAAO,QAAS,WAAY1E,GACjCg0B,OAIc,WAAnBhxB,GAAK6kB,IAA0BA,EAASzW,QAC/CsuC,EAAYD,EACRC,EACA73B,EACAvZ,EAAK5J,OAAO,QAAS,YACrBsvB,IAGR,OAAO0rB,EAnFAD,CAAgBhH,EAAQA,EAAQ,GAAIzkB,GAHhCykB,EAOf,SAASoH,GAAQt+C,EAAKo+C,EAAShB,EAASvtC,EAAO4tC,EAAeY,EAAQE,GAClE,GAAIH,EAAQI,QAAQx+C,GAAM,UACQo+C,EAAQ1C,QAAQ17C,GADxB,GACfy+C,EADe,KACPC,EADO,KAEhBC,EAAUJ,EAAOE,EAASC,EAC1BE,EAAQL,EAAOG,EAAcD,EAHb,KAIOhB,EAAc7xC,MAAM,KAJ3B,GAIfyxC,EAJe,KAILC,EAJK,KAKhB1rC,EAAYurC,GAAaC,EAASC,EAAUC,GAE9C3f,GAAOghB,EAAS/sC,EAAUmrC,QAAQltC,EAAMwtC,KACxCgB,EAAOhB,GAAYzrC,EAAU+c,MACzBiwB,EACAvB,KAAYgB,EAASA,EAAOhB,GAAYxtC,EAAMwtC,IAKlDe,EAAQvC,WAAW77C,I,aC1WhB,YAACk3C,EAAQnb,EAAO8iB,GAC3B,IAAKA,EAAQl9C,OACT,OAAO,EAEX,IAAMm9C,EAAW,GAEVzW,EAAUtM,EAAVsM,OACD0W,EAAW,IAAI9wC,SAAQ,SAAA+wC,GACzB3W,EAAO4W,KAAK,WAAYD,MA6B5B,OA1BAH,EAAQh1C,SAAQ,SAAA2/B,GACZ,IAAM0V,EAAWxV,GAAQ3N,EAAOyN,GAChC,GAAK0V,EAAL,CAIA,IAAMtvC,EAAS7C,GAAKmyC,EAAUhI,GAC9B,GAAKtnC,EAAL,CAIA,IAAMxN,EAAYw7C,GAAiBhuC,GAC7BuvC,EAAQnxC,mBAAQ5L,GAElB+8C,GAA+B,mBAAfA,EAAM/wC,MACtB0wC,EAASh3C,KACLmG,QAAQmxC,KAAK,CACTD,EACAJ,EAAS3wC,MACL,kBAAM7I,SAAS85C,eAAe3T,GAAYlC,KAAQ2V,cAO/DL,EAASn9C,QAASsM,QAAQo0B,IAAIyc,I,6oCCElC,IAAMQ,GAAcjF,GAAapD,GAAU,mBACrCsI,GAAsBlF,GAAa,yBAEnCmF,IADkBnF,GAAapD,GAAU,sBAC7BoD,GAAapD,GAAU,gBACnCwI,GAAWpF,GAAapD,GAAU,cAClCyI,GAAkBrF,GAAapD,GAAU,sBACzC0I,GAAYtF,GAAapD,GAAU,eACnC2I,GAAWvF,GAAapD,GAAU,cAClC4I,GAAYxF,GAAapD,GAAU,eACnC6I,GAAUzF,GAAapD,GAAU,aAEjClK,GAAgB,SAAAta,GAAQ,OAAI,SAACxnB,EAAS80C,GAAV,OACrCttB,EACIqtB,GAAQ,CACJr+C,KAAM,UACNmM,MAAO,CAAC3C,UAAS+0C,KAAMD,EAAM96C,KAAK,YAIvC,SAASg7C,KACZ,OAAO,SAASxtB,EAAUnE,IpC+YvB,SAAmC4xB,EAAQnT,GAAe,IACtDzF,EAAiC4Y,EAAjC5Y,OAAQmK,EAAyByO,EAAzBzO,OAAQyF,EAAiBgJ,EAAjBhJ,OAAQnb,EAASmkB,EAATnkB,MACxB2V,EAAsDD,EAAtDC,UAAWc,EAA2Cf,EAA3Ce,SAAUZ,EAAiCH,EAAjCG,eAAgBe,EAAiBlB,EAAjBkB,cACtCwN,GAAe7Y,EAAO8Y,6BAE5B,SAASC,EAAKzT,GACV,MACI,yDACAA,EACKlzB,KAAI,qBAAE0zB,QAAqB1zB,IAAI+xB,IAAkBxmC,KAAK,SACtDA,KAAK,QAIlB,SAASq7C,EAAU9W,EAAI+D,EAAKX,GACxBG,EAAc,yBAA0B,CAAC,oCAAD,OACAQ,EADA,oCAE9B7B,GAAYlC,GAFkB,KAGpC,sDACA,GACA,wDACA,yDACA,8DACA,uCACA6W,EAAKzT,KAIb,SAAS2T,EAAa/W,EAAIgX,EAAQzjC,EAAMwwB,EAAKX,GACzC,IAAMxqC,EAAY2K,GAAKyzC,EAAQtJ,GACzBkG,EAAUQ,GAAiBx7C,GAGjC,GAAIg7C,GAAWA,EAAQ57C,YAAc47C,EAAQ57C,UAAUub,GAAO,CAE1D,IAAK,IAAMsgC,KAAYD,EAAQ57C,UAAW,CACtC,IAAMwrB,EAAOqwB,EAAS17C,OAAS,EAC/B,GAC8B,MAA1B07C,EAASt2C,OAAOimB,IAChBjQ,EAAK7Q,OAAO,EAAG8gB,KAAUqwB,EAASnxC,OAAO,EAAG8gB,GAE5C,OARkD,IAWnDvrB,EAAmBW,EAAnBX,KAAMsoC,EAAa3nC,EAAb2nC,UACbgD,EAAc,kCAAmC,CAAC,aAAD,OAChChwB,EADgC,6CAExC4D,KAAKgrB,UAAUnC,IAFyB,wBAG5B+D,EAH4B,4DAIjBxD,EAJiB,YAIJtoC,EAJI,cAK7C,uDACA4+C,EAAKzT,MAKjB,SAAS6T,EAAsBjX,EAAIppC,EAAUmtC,EAAKX,GAC9C2D,KAAcxU,EAAdwU,CAAqB,CAAC/G,KAAIppC,aAAWyJ,SAAQ,SAAAqjC,GAEzCqT,EADuCrT,EAAhC1D,GAAgC0D,EAAhBngC,KACU3M,EAAUmtC,EAAKX,MAIxD,IAAM8T,EAA6B,GAEnC,SAASC,EAAc7/B,GAAU,IACtBqO,EAAiBrO,EAAjBqO,MAAO6U,EAAUljB,EAAVkjB,OAGd,IAAI0c,EAA2B1c,GAA/B,CAGA0c,EAA2B1c,GAAU,EAIrC7U,EAAMtlB,SAAQ,YAAoB,IAAlB2/B,EAAkB,EAAlBA,GAAIppC,EAAc,EAAdA,SAChB,GAAkB,iBAAPopC,EAAiB,CACxB,IAAMgX,EAAS9W,GAAQ3N,EAAOyN,GACzBgX,EAKDD,EAAa/W,EAAIgX,EAAQpgD,EAVzB,QAUwC,CAAC0gB,IAJrCq/B,GACAG,EAAU9W,EAPd,QAOuB,CAAC1oB,SAQtB8/B,GAAa,CAACpW,GAAOC,IAAa1iC,GAAOyhC,IAAK7nC,QACpD8+C,EAAsBjX,EAAIppC,EAhBtB,QAgBqC,CAAC0gB,QAKtD,SAAS+/B,EAAYnnC,EAAK6zB,EAAKuT,GAC3B,IAAK,IAAMtX,KAAM9vB,EAAK,CAClB,IAAM4/B,EAAU5/B,EAAI8vB,GACdgX,EAAS9W,GAAQ3N,EAAOyN,GAC9B,GAAKgX,EAKD,IAAK,IAAMpgD,KAAYk5C,EAAS,CAC5B,IAAM1M,EAAY0M,EAAQl5C,GAC1BmgD,EAAa/W,EAAIgX,EAAQpgD,EAAUmtC,EAAKX,GACpCkU,GAGAlU,EAAU/iC,QAAQ82C,QAVtBR,GACAG,EAAU9W,EAAI+D,EAAKoG,GAAQ5rC,GAAOuxC,MAmBlD,SAASyH,EAAiBpP,EAAUpE,EAAKuT,GACrC,IAAK,IAAMrX,KAAUkI,EAAU,CAC3B,IAAMqP,EAAcrP,EAASlI,GADF,WAEhBrpC,GACP4gD,EAAY5gD,GAAUyJ,SAAQ,YAA+B,IAA7B3G,EAA6B,EAA7BA,KAAM6E,EAAuB,EAAvBA,OAAQ6kC,EAAe,EAAfA,UAE1C6T,EADWhQ,GAAOvtC,EAAM6E,GACE3H,EAAUmtC,EAAKX,GACrCkU,GACAlU,EAAU/iC,QAAQ82C,OAL9B,IAAK,IAAMvgD,KAAY4gD,EAAa,EAAzB5gD,IANnBygD,EAAYnP,EAAW,UAAU,GACjCmP,EAAYrO,EAAU,SAiBtBuO,EAAiBnP,EAAgB,UAAU,GAC3CmP,EAAiBpO,EAAe,SoCthB5BsO,CAA0B3yB,IAAYye,GAActa,IAoB5D,SAA6BA,EAAUnE,GAAU,MACbA,IAAzBmjB,EADsC,EACtCA,OAAQ1V,EAD8B,EAC9BA,MAAOmb,EADuB,EACvBA,OAGtB,IACIzF,EAAOyP,WAAWr2C,eACpB,MAAO0X,GACLkQ,EACIqtB,GAAQ,CACJr+C,KAAM,UACNmM,MAAO,CACH3C,QAAS,wBACT+0C,KAAMz9B,EAAIrd,eAM1B,IAAMi8C,EAAmBvO,GAAqBnB,EAAQ1V,EAAOmb,EAAQ,CACjEpE,aAAa,IAEjBrgB,EAAS2uB,GAAeD,IAxCpBE,CAAoB5uB,EAAUnE,GAC9BmE,EAASitB,GAAgBlI,GAAY,eAK7C,IAAM8J,GAAiBrC,GAAKzG,QAAQ+I,MAE7B,SAASC,KACZ,IACI,MAAO,CACH,cAAeC,KAAOl2C,MAAMhG,SAASk8C,QAAQC,aAEnD,MAAOn+C,GAEL,OADA+9C,GAAe/9C,GACR,IA4BR,IAAMo+C,GAAOC,GAAY,QACnBrD,GAAOqD,GAAY,QACnBC,GAASD,GAAY,UAElC,SAASA,GAAYrP,GACjB,OAAO,SAAS9f,EAAUnE,GAAU,MACPA,IAAlB2pB,EADyB,EACzBA,QAASlc,EADgB,EAChBA,MAChBtJ,EAAS4nB,GAAa9H,EAAb8H,IAFuB,OAIZ,SAAf9H,EACK0F,EAAQD,OAAO,GACfC,EAAQH,KAAKG,EAAQH,KAAKn2C,OAAS,KAAO,GAH7C6nC,EAHyB,EAGzBA,GAAI35B,EAHqB,EAGrBA,MAIP25B,IAEA/W,EACI4nB,GAAa,mBAAbA,CAAiC,CAC7B9Q,SAAUG,GAAQ3N,EAAOyN,GACzB35B,WAIR4iB,EAASqvB,GAAgB,CAACtY,KAAI35B,aAK1C,SAASkyC,GAAiBhmB,EAAOud,EAAS0I,EAAMrR,EAASsR,GACrD,GpC+zBqB,WAAd,GADoBzY,EoC9zBTwY,EpC8zBSxY,KACMrF,IAAI,SAAA9f,GAAC,OAAIA,EAAEkmB,QAAOxiC,GAAOyhC,IoC9zBtD,OAAO8P,EpC6zBR,IAAwB9P,EoC3zB3B,GAAuB,IAAnB8P,EAAQ33C,OAAc,CACtB,IAAK23C,EAAQ33C,OAAQ,CACjB,GAAuB,iBAAZqgD,EAAKxY,GACZ,MAAM,IAAI0Y,eACN,wCACID,EACA,mDACAD,EAAKxY,GACL,0BACAwY,EAAK5hD,SACL,iDACA8C,GAAK64B,EAAM6M,MAAM3jC,KAAK,MACtB,KAMZ,MADAuzC,QAAQ2J,IAAIpmB,EAAM8M,MACZ,IAAIqZ,eACN,wCACID,EACA,kDACAthC,KAAKgrB,UAAUqW,EAAKxY,KACnBmH,EAAU,sBAAwBA,EAAU,IAC7C,yBACAqR,EAAK5hD,SACL,6DAGZ,MAAM,IAAI8hD,eACN,uCACID,EACA,6DACAthC,KAAKgrB,UAAUqW,EAAKxY,KACnBmH,EAAU,sBAAwBA,EAAU,IAC7C,yBACAqR,EAAK5hD,SACL,gCACAugB,KAAKgrB,UAAUjyB,GAAI0oC,GAAK,CAAC,KAAM,aAAc9I,KAGzD,OAAOA,EAAQ,GAGnB,SAAS8H,GAAexU,GACpB,oDAAO,WAAena,EAAUnE,GAAzB,gGACU+zB,GAAmB5vB,EAAUnE,EAAUse,GADjD,mFAAP,wD,SAKWyV,G,2FAAf,WAAkC5vB,EAAUnE,EAAUse,GAAtD,4BAyCa0V,EAzCb,6FAyCaA,EAzCb,WA0CQ,OAAOD,GACH5vB,EACAnE,EACAA,IAAW4lB,mBA7CvB,EAC+CQ,GAAmB9H,GAAvDgI,EADX,EACWA,eAAgBC,EAD3B,EAC2BA,iBAD3B,EAE2CvmB,IAAhCgZ,EAFX,EAEWA,OAAQ0R,EAFnB,EAEmBA,MAAO9B,EAF1B,EAE0BA,OAAQnb,EAFlC,EAEkCA,MAOxBwmB,EAAc,GACdC,EAAqB5N,EAAel7B,KAAI,SAAA85B,GAC1C,IAAMiP,EAAQnR,GAAgBkC,GAEvBrC,EAAyBsR,EAAzBtR,UACDuR,GAAa7R,EADa4R,EAAd5R,YACY9U,GACxB4mB,EAAchP,GAAQ+O,GACtBE,EAAa,GAEbC,EAAS,GAWf,OAVAF,EAAY94C,SAAQ,YAAoB,IAAlB2/B,EAAkB,EAAlBA,GAAIppC,EAAc,EAAdA,SAChBkrC,EAAQI,GAAYlC,IACXqZ,EAAOvX,GAASuX,EAAOvX,IAAU,IAC1CxjC,KAAK1H,GACXwiD,EAAW96C,KAAK2jC,GAAiB,CAACjC,GAAI8B,EAAOlrC,iBAEjDqiD,EAAMrR,iBAAmByR,EAEzBN,EAAYpR,GAAa,CAACuR,aAAYE,cAE/BH,KAGLK,EAAe3/C,GAAOq/C,EAAoB3N,GAChDpiB,EAAS8sB,GAAoBuD,IAEvBC,EAAMP,EAAmB9oC,KAAI,SAAA85B,GAAE,MAAI,CACrCA,EAAG1C,UAAU/U,GACbyX,EAAGllB,SAASyN,OArCpB,UAuCUinB,GAAW9L,EAAQnb,EAAOknB,GAAKpP,GAAM,KAAMF,GAAQoP,MAvC7D,eAiDQG,GAAgB,EAEdC,EAAQX,EAAmB9oC,KAAI,SAAA85B,GAAM,IAKnClkB,EALmC,EACckkB,EAAG1yB,SAAjDkjB,EADgC,EAChCA,OAAQmJ,EADwB,EACxBA,OAAQhe,EADgB,EAChBA,MAAOi0B,EADS,EACTA,oBACvBjS,EAAyBqC,EAAzBrC,UAAWP,EAAc4C,EAAd5C,WAFqB,EAGN2R,EAAYpR,GAAtCuR,EAHgC,EAGhCA,WAAYE,EAHoB,EAGpBA,WAGnB,IACI,IAAMxV,EAAUsV,EAAWhpC,KAAI,SAACqoB,EAAKtjC,GAAN,OAC3BsjD,GACIhmB,EACAriB,GAAI0oC,GAAK,CAAC,KAAM,aAAcrgB,GAC9ByR,EAAG1yB,SAASssB,QAAQ3uC,GACpB+0C,EAAG7C,QACH,aAIRrhB,EAAU,CACN0U,SACAoJ,QAASlD,GAAkBlG,GAAUoJ,EAAUA,EAAQ,GACvDD,OAAQkW,GAAStnB,EAAOmb,EAAQ1D,EAAIrG,EAAQ,SAC5C8D,eAAgB/tC,GAAKswC,EAAGvC,iBAExBuC,EAAG1yB,SAASqO,MAAMxtB,SAClB2tB,EAAQH,MAAQk0B,GAAStnB,EAAOmb,EAAQ1D,EAAIrkB,EAAO,UAEzD,MAAO5rB,GAEL,OADA+/C,EAAY//C,GACL++C,IAGX,SAASiB,EAAcrP,EAAkBE,GACrC,IAAMoP,EAAavP,GACfC,EACA5lB,IAAWyN,MACX6U,EACAwD,GAEJ3hB,EAAS8sB,GAAoBiE,IAGjC,SAASC,EAAW/5C,GAAM,IACjBwqC,EAAoB5lB,IAApB4lB,iBACL,GAAKwP,GAAgBxP,EAAkBtD,EAAYO,GAAnD,CAGA,IAAMwS,EAAU,GAChBxkD,OAAO6hB,QAAQtX,GAAMG,SAAQ,YAAiB,cAAf2/B,EAAe,KAAX35B,EAAW,KACpC+zC,EAAWvY,GAAgB7B,GADS,EAGGlb,IAA9Bu1B,EAH2B,EAGnC3M,OAA0BvO,EAHS,EAGhB5M,MAEpB+nB,EAAeC,GACjBtxB,EACAnE,EACAs1B,EACA/zC,GAEJ,GAAIi0C,EAAc,CAKd,IAAME,EAAwB11B,IAAW4lB,iBAYzC,GAXI8P,IAA0B9P,IAC1BA,EAAmB2B,GACf3B,EACA8P,IAIR7kD,OAAO+D,KAAK4gD,GAAcj6C,SAAQ,SAAAzJ,GAC9BujD,EAAQ77C,KAAK2jC,GAAiB,CAACjC,KAAIppC,iBAGnCygB,GAAI,WAAYijC,GAAe,CAC/B,IAAMG,EAAcl3C,GAChB5J,GAAOumC,GAAQf,EAAUib,GAAW,CAChC,QACA,aAEJC,GAOJ3P,EAAmBgQ,GACfzxB,EACAnE,EACA4lB,EACA0P,EACAE,EAAax9B,SACb29B,GAOR,IAAME,EAAa1P,IACf,SAACpwB,EAAGF,GAAJ,QAAYA,KAAKtU,KACjBi0C,GAEJ,IAAKrW,GAAQ0W,GAAa,OACE71B,IAAjBmjB,EADe,EACfA,OAAQ1V,EADO,EACPA,MACfmY,EAAmBkQ,GACf5a,EACA2a,EACA1S,EACA1V,EACAmY,QAKhBqP,EAAcrP,EAAkBmQ,GAAQV,EAASf,KAGrD,SAASU,EAAY/gC,GAAK,IACf2xB,EAAoB5lB,IAApB4lB,iBACHwP,GAAgBxP,EAAkBtD,EAAYO,IAI9CoS,EAAcrP,EAAkB0O,GAEpC,IAAMxV,EAAU9d,EACV5V,GAAI+xB,GAAkBkI,GAAQ,CAACrkB,EAAQ8d,WAAWnoC,KAAK,MACvD++B,EACF/4B,EAAU,2BAAH,OAA8BmiC,GACzC,GAAIgW,EAAqB,KACHtjD,EAAyBsjD,EAApCrZ,UAA8B7O,EAAMkoB,EAArBkB,cACtBr5C,GAAW,4BAAJ,OAAgCnL,EAAhC,YAAsCo7B,GAEjDqpB,GAAiBhiC,EAAKtX,EAASwnB,GAGnC,GAAI2wB,EAAqB,CACrB,IACIK,EAAWe,GAAiBpB,EAAqB9zB,IACnD,MAAO/M,GACL+gC,EAAY/gC,GAGhB,OADA2gC,GAAgB,EACT,KAGX,OAAOuB,GAAiBnd,EAAQhY,EAAS0pB,GACpC5qC,KAAKq1C,GADH,MAEIH,GACNl1C,KAAKk0C,MAERxkC,EAAO7P,QAAQo0B,IAAI8gB,GA7M7B,kBA8MWD,EAAgBZ,IAAWl0C,KAAK0P,GAAQA,GA9MnD,6C,sBAiNA,SAASulC,GAAStnB,EAAOmb,EAAQ1D,EAAIkR,EAAOzC,GAExC,OAD2B,UAAZA,EAAsBzO,EAAG1C,UAAY0C,EAAGllB,UACzCyN,GAAOriB,KAAI,SAACirC,EAAWlmD,GAAZ,OACrBsjD,GACIhmB,EACA4oB,EAAUjrC,KAAI,gBAAE8vB,EAAF,EAAEA,GAAIppC,EAAN,EAAMA,SAAgBwkD,EAAtB,EAAgB73C,KAAhB,MAAkC,CAC5Cy8B,KACAppC,WACAV,MAAOqN,GAAK63C,EAAO1N,GAAQrnC,MAAMzP,OAErCskD,EAAMjmD,GACN+0C,EAAG7C,QACHsR,MAKZ,SAASwC,GAAiBnd,EAAQhY,EAAS0pB,GAKvC,OAJ0B,OAAtBA,EAAML,aACNK,EAAML,YAAYrpB,GAGf7M,MAAM,GAAD,OACL4kB,GAAQC,GADH,0BAER0O,GAAe1O,EAAO7kB,MAAO,CACzBrB,OAAQ,OACRpD,QAASwjC,KACTpjC,KAAMuC,KAAKgrB,UAAUrc,MAE3BlhB,MAAK,SAAAy2C,GAAO,IACH/iC,EAAU+iC,EAAV/iC,OACP,GAAIA,IAAWg5B,GACX,OAAO+J,EAAInkC,OAAOtS,MAAK,SAAA1E,GAAQ,IACpB6gC,EAAmB7gC,EAAnB6gC,MAAOtoB,EAAYvY,EAAZuY,SAKd,GAJ2B,OAAvB+2B,EAAMJ,cACNI,EAAMJ,aAAatpB,EAASrN,GAG5BsoB,EACA,OAAOtoB,EAPgB,I,MAUpB+hB,EAAU1U,EAAV0U,OACDwF,EAAKxF,EAAO93B,OAAO,EAAG83B,EAAOoH,YAAY,MAC/C,O,EAAA,G,EAAS5B,E,EAAKvnB,EAASpS,M,kGAG/B,GAAIiS,IAAWg5B,GACX,MAAO,GAEX,MAAM+J,KAId,IAAMC,GAAU,SAAA3jC,GAAK,OACjBpc,MAAMC,QAAQmc,GAAS0yB,GAAM,QAAS1yB,GAASA,EAAMzhB,OAEnDqlD,GAAa,SAACt3C,EAAGC,GAAJ,OAAW3I,MAAMC,QAAQyI,GAAKkiC,GAAIliC,EAAGC,GAAK,CAAC,CAACD,EAAGC,KAElE,SAAS82C,GAAiBpB,EAAqB9zB,GAC3C,IAAM01B,EAAMvkD,OAAOwkD,gBAAkBxkD,OAAOwkD,iBAAmB,GAC1DD,EAAGE,YACJ/lD,OAAOC,eAAe4lD,EAAI,YAAa,CACnCtlD,MAAO,CAACylD,YAAa,yCACrB95C,UAAU,IAGdlM,OAAOC,eAAe4lD,EAAI,gBAAiB,CACvCtlD,MAAO,CAACylD,YAAa,0CACrB95C,UAAU,KAVkC,IAgBhD+5C,EAFGjY,EAA0B7d,EAA1B6d,OAAQC,EAAkB9d,EAAlB8d,QAASje,EAASG,EAATH,MAIxB,IAAI,MACO4a,EAA4BqZ,EAA5BrZ,UAAWua,EAAiBlB,EAAjBkB,cACdz2C,EAAOs/B,EAAOzzB,IAAIorC,IAClB31B,IACAthB,EAAO1K,GAAO0K,EAAMshB,EAAMzV,IAAIorC,MAElCM,GAAc,EAAAJ,EAAGjb,IAAWua,GAAd,WAAgCz2C,IAChD,MAAOtK,GACL,GAAIA,IAAMyhD,EAAGK,cACT,MAAO,GAEX,MAAM9hD,EAGV,GAA0B,YAAtB9B,GAAK2jD,GACL,MAAM,IAAIl7C,MACN,kIAMR,IAAMR,EAAO,GAWb,OAVAq7C,GAAW3X,EAASgY,GAAav7C,SAAQ,YAAkB,cAAhBwkC,EAAgB,KAAViX,EAAU,KACvDP,GAAW1W,EAAMiX,GAAMz7C,SAAQ,YAAoB,cAAlB07C,EAAkB,KAAXC,EAAW,KACxChc,EAAgB+b,EAAhB/b,GAAIppC,EAAYmlD,EAAZnlD,SACLkrC,EAAQI,GAAYlC,GACpBic,EAAa/7C,EAAK4hC,GAAS5hC,EAAK4hC,IAAU,GAC5Cka,IAAUR,EAAGE,YACbO,EAAUrlD,GAAYolD,SAI3B97C,EAGX,SAASg6C,GAAgBxP,EAAkBtD,EAAYO,GACnD,IAAMuU,EAAexR,EAAiBrK,KAClCC,GAAO,aAAc8G,IAIzB,OAAO8U,GAAgBA,EAAavU,YAAcA,EAGtD,SAAS4S,GAActxB,EAAUnE,EAAUkb,EAAImc,GAAc,MACjCr3B,IAAjB4oB,EADkD,EAClDA,OACD3N,EAAWG,GAFwC,EAC1C3N,MACiByN,GAChC,IAAKD,EACD,OAAO,EAMX,IAQO15B,EAASouC,GAAiB,CAACpuC,MFpG/B,SAA0BqnC,EAAQ0O,EAAUnzB,GAAU,MASrDkrB,GAASzG,GAPT8G,EAFqD,EAErDA,WACAxU,EAHqD,EAGrDA,GACA35B,EAJqD,EAIrDA,MACA6tC,EALqD,EAKrDA,YACAI,EANqD,EAMrDA,gBACAC,EAPqD,EAOrDA,iBACAX,EARqD,EAQrDA,QAGEyI,EAAW,SAACxI,EAAUyI,GAAX,OACbzI,KAAYuI,EAAWA,EAASvI,GAAYyI,GAC1CC,EAAmBF,EAAS,cAAenI,GAEjD,IAAKM,IAAgBN,IAAeqI,EAChC,OAAOH,EAGX,IAAMI,EAAuBH,EAAS,mBAAoB9H,GACpDkI,EAAsBJ,EAAS,kBAAmB/H,GAClDoI,EACFH,IAAqBrI,GACrBsI,IAAyBjI,GACzBkI,IAAwBnI,EAEtBqI,EAAgB,SAAA1I,GAAa,QAC7BA,EAAc7xC,MAAM,KAAK,KAAMg6C,IAE/BvH,EAAS,GAEX+H,EAAmBv2C,EAEvB,GAAIq2C,GAAsBxI,EAAa,CAEnC,IAAMU,EAAU5B,GAASuB,EAAkBtrB,GAC3C5oB,IACI,SAAA4zC,GAAa,OACTa,GACId,GAAWhU,EAAIiU,EAAeC,GAC9BU,EACAhB,EACAvtC,EACA4tC,EACAY,GApIP,KAuIDtzC,GAAOo7C,EAAerI,IAE1BsI,EAAmB7R,GAAW1kC,EAAOwuC,GAGzC,GAAI0H,EAAkB,CAClB,IAAMM,EAAe7J,GAASwJ,EAAsBvzB,GAEhDyzB,GAEAr8C,IACI,SAAA4zC,GAAa,OACTa,GACId,GAAWhU,EAAIiU,EAAesI,GAC9BM,EACAjJ,EACAgJ,EACA3I,EACAY,KAERtzC,GAAOo7C,EAAeF,IAM9B,IAAMK,EAAalJ,EAAQG,uBAAyB,GACpD,IAAK,IAAMF,KAAYuI,EAAU,CAC7B,IAAMW,EAAiBD,EAAWjJ,GAClC,GAAIkJ,EACA,IAAK,IAAMjJ,KAAYiJ,EACnBF,EAAaxK,WACT2B,GACIhU,EADM,UAEH6T,EAFG,YAESC,GACfyI,SAKZM,EAAaxK,WACT2B,GAAWhU,EAAI6T,EAAU0I,KAKzC,OAAOG,EAAqB3R,GAAWqR,EAAUvH,GAAUuH,EEDrCY,CAClBz5C,GAAKw8B,EAAU2N,GACfyO,EACAlzB,IAKqDA,GAAlD5iB,MAUP,OARA4iB,EACI6sB,GAAY,CACR/V,WACA15B,QACApF,OAAQ,cAIToF,EAGX,SAASq0C,GACLzxB,EACAnE,EACA4lB,EACA1K,EACAljB,EACA29B,GACF,MACoC31B,IAApBqa,EADhB,EACS5M,MAAiB0V,EAD1B,EAC0BA,OAClBgV,EAAetjD,GAAOumC,GAAQf,EAAUa,GAAK,CAAC,QAAS,aACvDzN,EAAQyM,GAAaliB,EAAUmgC,EAAc9d,GACnDlW,EAASgtB,GAAS1jB,IAElB,IAAM2qB,EpC86BH,SAA+BxS,EAAkBnY,GACpD,IAAM4qB,EAAY,GACdD,EAAmBxS,EAAiBx6B,KAAI,SAAAoH,GAAY,IAC7CmwB,EAA0CnwB,EAA1CmwB,eAAgBJ,EAA0B/vB,EAA1B+vB,WAAYD,EAAc9vB,EAAd8vB,WACnC,IAAK+C,GAAQ9C,EAAW9U,IAAQp6B,OAE5B,OADAglD,EAAU7+C,KAAK8oC,GACR9vB,EAGX,IAAI8lC,GAAe,EACbC,EAAkBpS,IAAO,SAAClW,EAAGyV,GAC/B,QAAItK,GAAQ3N,EAAOmP,GAAe8I,GAAQxK,MAG1Cod,GAAe,GACR,KACR3V,GAEH,OAAO2V,EACDrV,GAAM,iBAAkBsV,EAAiB/lC,GACzCA,KAeV,OAZA6lC,EAAU98C,SAAQ,SAAA+mC,GACd,IAAM4C,EAAKkT,EAAiB7c,KAAKC,GAAO,aAAc8G,IAClD4C,IACAkT,EAAmBzS,GACfC,EACAnY,EACA6U,EACA+C,GAAQH,EAAG3C,WAAW9U,IAAQriB,IAAI+xB,SAKvCib,EoCj9BkBI,CAAsB5S,EAAkBnY,GAe3DgrB,EAAkBlR,GAbHjD,GAAqBnB,EAAQ1V,EAAOzV,EAAU,CAC/D2sB,UAAWwT,IAKmB7T,GAC9BnB,EACA9I,EACAsb,EACA,CAAClR,wBAAwB,EAAMC,SAAUjX,EAAOkX,UAAWwT,KAO/D,OAAO5Q,GAAsB6Q,EAAkBK,GAG5C,SAASjF,GAAT,GAAsC,IAAZtY,EAAY,EAAZA,GAAI35B,EAAQ,EAARA,MACjC,oDAAO,WAAe4iB,EAAUnE,GAAzB,gGACuCA,IAAnCmjB,EADJ,EACIA,OAAQ1V,EADZ,EACYA,MAAOmY,EADnB,EACmBA,iBAChBJ,EAAiBsQ,GACnB5a,EACA35B,EACA4hC,EACA1V,EACAmY,GAEJzhB,EAAS2uB,GAAetN,IATrB,2CAAP,yDAaJ,SAASsQ,GAAiB5a,EAAI35B,EAAO4hC,EAAQ1V,EAAOmY,GAChD,IAAM8S,EAAe9jD,GAAK2M,GACtBikC,EAAiBI,EAWrB,OATA8S,EAAan9C,SAAQ,SAAAwzC,GACjB,IAAM4J,EAAS3U,GAAoBb,EAAQ1V,EAAOyN,EAAI6T,GAClD4J,EAAOtlD,SACPmyC,EAAiB+B,GACb/B,EACAC,GAActC,EAAQ1V,EAAOkrB,QAIlCnT,EAGJ,SAASyQ,GAAiBhiC,EAAKtX,EAASwnB,GAE3C,GAAIlQ,GAA2B,mBAAbA,EAAInC,KAClBmC,EAAInC,OAAOhS,MAAK,SAAAgS,GAEZqS,EAASqtB,GAAQ,CAACr+C,KAAM,UAAWmM,MADrB,CAAC3C,UAAS+0C,KAAM5/B,aAG/B,CACH,IAAMxS,EAAQ2U,aAAerY,MAAQqY,EAAM,CAACtX,UAAS+0C,KAAMz9B,GAC3DkQ,EAASqtB,GAAQ,CAACr+C,KAAM,UAAWmM,YCjnB3C,IAAMs5C,GAAyB,CAAC,SAAU,SAAU,OAAQ,WAE7C,YAAA9kD,GAAS,OAAIsrC,GAASjsC,GAAKW,GAAY8kD,KCDlDC,GAAmB,CACrBz0C,yBAAyB,EACzByG,mBAAmB,EACnBE,kBAAkB,EAClBE,kBAAkB,EAClB6tC,SAAS,EACTC,cAAc,EACdC,iBAAiB,EACjBtyC,aAAa,EACbO,SAAS,EACTI,MAAM,EACNG,UAAU,EACVyxC,cAAc,EACdvxC,YAAY,EACZwxC,cAAc,EACdC,WAAW,EACX1uC,UAAU,EACVL,SAAS,EACTD,YAAY,EACZivC,aAAa,EACbnvC,cAAc,EACdI,YAAY,EACZC,eAAe,EACf+uC,gBAAgB,EAChBnvC,iBAAiB,EACjBovC,YAAY,EACZC,WAAW,EACXC,YAAY,EACZC,SAAS,EACTzxC,OAAO,EACP0xC,SAAS,EACTtwC,SAAS,EACTuwC,QAAQ,EACRC,QAAQ,EACRC,MAAM,EAENC,aAAa,EACbC,cAAc,EACdC,aAAa,EACbC,iBAAiB,EACjBC,kBAAkB,EAClBC,kBAAkB,EAClBC,eAAe,EACfC,aAAa,GAEA,SAASC,GAAiBC,EAAcnpD,GAErD,OADqBynD,GAAiB0B,IAAkC,iBAAVnpD,GAAgC,IAAVA,EAC7DA,EAAQ,KAAOA,EClDzB,SAASopD,GAAU3oD,EAAQ4oD,GACxC,OAAO5pD,OAAO+D,KAAK/C,GAAQ0E,QAAO,SAAU6B,EAAQ1G,GAElD,OADA0G,EAAO1G,GAAO+oD,EAAO5oD,EAAOH,GAAMA,GAC3B0G,IACN,ICFU,SAASsiD,GAA2BrkD,GACjD,OAAOmkD,GAAUnkD,GAAO,SAAU+B,EAAQ1G,GACxC,OAAO4oD,GAAiB5oD,EAAK2E,EAAM3E,IAAQ,iB,oBCOhC,SAASipD,GAAmBC,EAAUC,EAAOhlD,GAC1D,IAAKglD,EACH,MAAO,GAGT,IAX6BxkD,EAWzBykD,EAAcN,GAAUK,GAAO,SAAUzpD,EAAOM,GAClD,OAAO4oD,GAAiB5oD,EAAKN,MAE3B2pD,EAAgB,aAAiBD,EAAajlD,GAC9CmlD,EAAmB,aAAyBD,GAEhD,OAAOH,EAAW,KAjBWvkD,EAgBe2kD,EAfrCnqD,OAAO+D,KAAKyB,GAAO+U,KAAI,SAAUtZ,GACtC,OAAOA,EAAW,KAAOuE,EAAMvE,GAAY,OAC1C6E,KAAK,OAckC,ICrB5C,IAIe,GAJK,SAAuBjF,GACzC,OAAOA,QAA6C,OAASA,EAAIkF,YCKpD,GALA,SAAkBiqB,EAAOo6B,EAAY7pD,GAClD,IAAIM,EAAM,GAAcupD,GACxB,QAASp6B,KAAWA,EAAMq6B,qBAAuBr6B,EAAMq6B,kBAAkBxpD,IAAQmvB,EAAMq6B,kBAAkBxpD,GAAKN,ICAjG,GAJG,SAAqB+pD,GACrC,MAAsC,iBAAxBA,EAAgBz2B,IAAmBy2B,EAAgBz2B,IAAMy2B,EAAgBzpD,KCG1E,GAJW,SAA6BoC,GACrD,OAAOA,EAAUsnD,kBAAoBtnD,EAAU+sB,OAAS/sB,EAAU+sB,MAAMq6B,mBAAqB,ICEhF,SAASG,GAAKvpC,GAC3B,IAAKA,EACH,MAAO,GAMT,IAHA,IAAIwpC,EAAY,KACZ5sC,EAAQoD,EAAKze,OAAS,EAEnBqb,GACL4sC,EAAwB,GAAZA,EAAiBxpC,EAAKmG,WAAWvJ,GAC7CA,GAAS,EAGX,OAAQ4sC,IAAc,GAAG1kD,SAAS,IChBpC,SAAS,GAAQvB,GAAwT,OAAtO,GAArD,mBAAXnE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAEjV,SAASkmD,GAAcnqD,GAG5B,OAAOA,GAASA,EAAMmE,cAAgB1E,QAAUO,EAAMwF,WAAa/F,OAAOkB,UAAU6E,SAG/E,SAAS,GAAYoM,GAC1B,IAAI5K,EAAS,GAsCb,OArCA4K,EAAOzH,SAAQ,SAAUlF,GAClBA,GAA4B,WAAnB,GAAQA,KAIlBI,MAAMC,QAAQL,KAChBA,EAAQ,GAAYA,IAGtBxF,OAAO+D,KAAKyB,GAAOkF,SAAQ,SAAU7J,GAEnC,GAAK6pD,GAAcllD,EAAM3E,KAAU6pD,GAAcnjD,EAAO1G,IAAxD,CASA,GAA8B,IAA1BA,EAAI6H,QAAQ,UAGd,IAFA,IAAIiiD,EAAS9pD,IAKX,IAAK0G,EAFLojD,GAAU,KAIR,YADApjD,EAAOojD,GAAUnlD,EAAM3E,IAO7B0G,EAAO1G,GAAO,GAAY,CAAC0G,EAAO1G,GAAM2E,EAAM3E,UAtB5C0G,EAAO1G,GAAO2E,EAAM3E,UAyBnB0G,EC/CT,IAAIqjD,GAAa,GACbC,IAA2B,EAE/B,SAASC,KACPF,GAAWlgD,SAAQ,SAAUiX,GAC3BA,OAIJ,ICLIopC,GD6BW,GAxBC,SAAmBppC,GAUjC,OATsC,IAAlCipC,GAAWliD,QAAQiZ,IACrBipC,GAAWjiD,KAAKgZ,GAGbkpC,KACHvpD,OAAOoF,iBAAiB,UAAWokD,IACnCD,IAA2B,GAGtB,CACL1hB,OAAQ,WACN,IAAItrB,EAAQ+sC,GAAWliD,QAAQiZ,GAE/BipC,GAAW//C,OAAOgT,EAAO,GAEC,IAAtB+sC,GAAWpoD,QAAgBqoD,KAC7BvpD,OAAOuO,oBAAoB,UAAWi7C,IACtCD,IAA2B,MEzB/BG,GAA2B,SAAkCC,GAC/D,MAA0B,WAAnBA,GAAkD,YAAnBA,GAAmD,WAAnBA,GDDxE,SAAS,GAAgBzmD,EAAK3D,EAAKN,GAAiK,OAApJM,KAAO2D,EAAOxE,OAAOC,eAAeuE,EAAK3D,EAAK,CAAEN,MAAOA,EAAOL,YAAY,EAAMiM,cAAc,EAAMD,UAAU,IAAkB1H,EAAI3D,GAAON,EAAgBiE,EAc3M,SAAS0mD,GAAc1mD,EAAK2mD,GAC1B,OAAOnrD,OAAO+D,KAAKS,GAAKoH,QAAO,SAAU/K,GACvC,OAAOsqD,EAAU3mD,EAAI3D,GAAMA,MAC1B6E,QAAO,SAAU6B,EAAQ1G,GAE1B,OADA0G,EAAO1G,GAAO2D,EAAI3D,GACX0G,IACN,IEbU,QACb6jD,WCJgB,aDKhBC,UEXa,SAAyBv7C,GACtC,IAAIw7C,EAASx7C,EAAKw7C,OACdnjB,EAASr4B,EAAKq4B,OACd3iC,EAAQsK,EAAKtK,MAEb+lD,EAAuB,SAA8BhrD,GACvD,IAEIirD,EAFiBjrD,EAEsBkrD,UAAUtjB,EAAOnjC,WACxDwO,EAAgBg4C,EAAsBh4C,cACtCk4C,EAAMF,EAAsBE,IAGhC,OADAJ,EAAOI,GACAl4C,GAkBT,MAAO,CACLhO,MAhBaxF,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUimD,EAAoB9qD,GACrE,IAAIN,EAAQiF,EAAM3E,GACd+qD,EAAkBhmD,MAAMC,QAAQtF,GAWpC,MATY,kBAARM,GAA2BN,IAAUA,EAAMsrD,mBAAqBD,KAEhErrD,EADEqrD,EACMrrD,EAAMga,IAAIgxC,GAAsBzlD,KAAK,MAErCylD,EAAqBhrD,IAIjCorD,EAAmB9qD,GAAON,EACnBorD,IACN,MFlBHG,gBGV0B,SAA+Bh8C,GACzD,IAAItK,EAAQsK,EAAKtK,MACbumD,EAAcj8C,EAAKi8C,YAGvB,MAAO,CACLvmD,MAFaI,MAAMC,QAAQL,GAASumD,EAAYvmD,GAASA,IHO3DJ,OIZa,SAAsB0K,GACnC,IAAIq4B,EAASr4B,EAAKq4B,OACd3iC,EAAQsK,EAAKtK,MAEjB,MAAO,CACLA,MAFa,aAAiBA,EAAO2iC,EAAOnjC,aJU9CgnD,mBKda,SAA4Bl8C,GACzC,IAAI46C,EAAgB56C,EAAK46C,cACrBllD,EAAQsK,EAAKtK,MAWjB,MAAO,CACLA,MAVaxF,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUimD,EAAoB9qD,GACrE,IAAIN,EAAQiF,EAAM3E,GAMlB,OAJK6pD,EAAcnqD,KACjBorD,EAAmB9qD,GAAON,GAGrBorD,IACN,MLGHM,yBDT6B,SAAkC9jB,GAC/D,IAAI7hC,EAAuB6hC,EAAO7hC,qBAC9B4lD,EAAoB/jB,EAAO+jB,kBAC3B/8B,EAAWgZ,EAAOhZ,SAClB48B,EAAc5jB,EAAO4jB,YACrBr7C,EAAQy3B,EAAOz3B,MACfy7C,EAAWhkB,EAAOgkB,SAClB3mD,EAAQ2iC,EAAO3iC,MACf4mD,EAAqB,GACrB3F,EAAW,GAEf,GAAIjhD,EAAM,UAAW,CAInB,IAAI6mD,EAAuB37C,EAAM47C,aAEjC7F,EAAS6F,aAAe,SAAUloD,GAChCioD,GAAwBA,EAAqBjoD,GAC7C+nD,EAAS,UAAU,IAGrB,IAAII,EAAuB77C,EAAM87C,aAEjC/F,EAAS+F,aAAe,SAAUpoD,GAChCmoD,GAAwBA,EAAqBnoD,GAC7C+nD,EAAS,UAAU,IAIvB,GAAI3mD,EAAM,WAAY,CACpB,IAAIinD,EAAsB/7C,EAAMg8C,YAEhCjG,EAASiG,YAAc,SAAUtoD,GAC/BqoD,GAAuBA,EAAoBroD,GAC3CgoD,EAAmBO,eAAiB1mB,KAAK2mB,MACzCT,EAAS,UAAW,iBAGtB,IAAIU,EAAoBn8C,EAAMo8C,UAE9BrG,EAASqG,UAAY,SAAU1oD,GAC7ByoD,GAAqBA,EAAkBzoD,GAEzB,MAAVA,EAAEvD,KAAyB,UAAVuD,EAAEvD,KACrBsrD,EAAS,UAAW,eAIxB,IAAIY,EAAkBr8C,EAAMs8C,QAE5BvG,EAASuG,QAAU,SAAU5oD,GAC3B2oD,GAAmBA,EAAgB3oD,GAErB,MAAVA,EAAEvD,KAAyB,UAAVuD,EAAEvD,KACrBsrD,EAAS,WAAW,IAK1B,GAAI3mD,EAAM,UAAW,CACnB,IAAIynD,EAAkBv8C,EAAMw8C,QAE5BzG,EAASyG,QAAU,SAAU9oD,GAC3B6oD,GAAmBA,EAAgB7oD,GACnC+nD,EAAS,UAAU,IAGrB,IAAIgB,EAAiBz8C,EAAM08C,OAE3B3G,EAAS2G,OAAS,SAAUhpD,GAC1B+oD,GAAkBA,EAAe/oD,GACjC+nD,EAAS,UAAU,IAInB3mD,EAAM,aAAe0mD,EAAkB,2BAA6B5lD,EAAqBG,uBAC3F2lD,EAAmBiB,uBAAyB,IAA0B,WACpErtD,OAAO+D,KAAKmoD,EAAkB,SAAS7B,mBAAmB3/C,SAAQ,SAAU7J,GACzC,iBAA7BsuB,EAAS,UAAWtuB,IACtBsrD,EAAS,WAAW,EAAOtrD,UAOnC,IAAIysD,EAAoB58C,EAAM68C,SAAW,CAAC/nD,EAAM,cAAgBxF,OAAO+D,KAAKyB,GAAOoG,QAAO,SAAU/L,GAClG,OAAOmrD,GAAyBnrD,IAASsvB,EAAStvB,MACjD0a,KAAI,SAAU1a,GACf,OAAO2F,EAAM3F,MAEX8F,EAAWomD,EAAY,CAACvmD,GAAOxB,OAAOspD,IAS1C,OAPA3nD,EAAW3F,OAAO+D,KAAK4B,GAAUD,QAAO,SAAU8nD,EAA0B3tD,GAK1E,OAJKmrD,GAAyBnrD,IAAkB,cAATA,IACrC2tD,EAAyB3tD,GAAQ8F,EAAS9F,IAGrC2tD,IACN,IACI,CACLC,gBAAiBrB,EACjB17C,MAAO+1C,EACPjhD,MAAOG,IC9FT+nD,oBF0Ea,SAA6BzyB,GAC1C,IAAI30B,EAAuB20B,EAAM30B,qBAC7BglD,EAASrwB,EAAMqwB,OACfzB,EAA6B5uB,EAAM4uB,2BACnC1hB,EAASlN,EAAMkN,OACf2hB,EAAqB7uB,EAAM6uB,mBAC3BoC,EAAoBjxB,EAAMixB,kBAC1ByB,EAAiB1yB,EAAM0yB,eACvBnD,EAAOvvB,EAAMuvB,KACbE,EAAgBzvB,EAAMyvB,cACtBqB,EAAc9wB,EAAM8wB,YACpBr7C,EAAQuqB,EAAMvqB,MACdy7C,EAAWlxB,EAAMkxB,SACjB3mD,EAAQy1B,EAAMz1B,MAGdG,EAjFN,SAA6BH,GAC3B,OAAOxF,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUkoD,EAAmB/sD,GAK5D,OAJ8B,IAA1BA,EAAI6H,QAAQ,YACdklD,EAAkB/sD,GAAO2E,EAAM3E,IAG1B+sD,IACN,IA0EYC,CAAoBroD,GAE/BsoD,EAzEN,SAA6Bh+C,GAC3B,IAAIw7C,EAASx7C,EAAKw7C,OACdzB,EAA6B/5C,EAAK+5C,2BAClCC,EAAqBh6C,EAAKg6C,mBAC1BU,EAAO16C,EAAK06C,KACZE,EAAgB56C,EAAK46C,cACrBllD,EAAQsK,EAAKtK,MACbR,EAAY8K,EAAK9K,UACjB+oD,EAAY,GAmBhB,OAlBA/tD,OAAO+D,KAAKyB,GAAOoG,QAAO,SAAU/L,GAClC,OAAkC,IAA3BA,EAAK6I,QAAQ,aACnB6R,KAAI,SAAUyzC,GACf,IAAIC,EAAgBpE,EAA2BqB,GAAc1lD,EAAMwoD,IAAQ,SAAUztD,GACnF,OAAQmqD,EAAcnqD,OAGxB,GAAKP,OAAO+D,KAAKkqD,GAAezrD,OAAhC,CAIA,IAAI0rD,EAAUpE,EAAmB,GAAImE,EAAejpD,GAEhDmpD,EAAsB,OAAS3D,EAAKwD,EAAQE,GAEhD5C,EADU0C,EAAQ,MAAQG,EAAsBD,EAAU,KAE1DH,IAAcA,EAAY,IAAM,IAAMI,MAEjCJ,EA8CoBK,CAAoB,CAC7C9C,OAAQA,EACRzB,2BAA4BA,EAC5BC,mBAAoBA,EACpBU,KAAMA,EACNE,cAAeA,EACfllD,MAAOA,EACPR,UAAWmjC,EAAOnjC,YAGhByhD,EAAWqH,EAAuB,CACpCC,UAAWD,GAAwBp9C,EAAMq9C,UAAY,IAAMr9C,EAAMq9C,UAAY,KAC3E,KAEAM,EAAalmB,EAAOkmB,YApH1B,SAA8B/nD,GAO5B,YAN0B2G,IAAtB89C,KACFA,KAAsBzkD,EAAqBJ,aAAe5E,UAAYA,OAAO+sD,YAAc,SAAUC,GACnG,OAAOhtD,OAAO+sD,WAAWC,KACtB,MAGAvD,GA6G+BwD,CAAqBjoD,GAE3D,IAAK+nD,EACH,MAAO,CACL39C,MAAO+1C,EACPjhD,MAAOG,GAIX,IAAI6oD,EAnIN,SAAuB/9C,GAAU,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CAAE,IAAIgM,EAAyB,MAAhB3I,UAAUrD,GAAaqD,UAAUrD,GAAK,GAAQ43B,EAAUl3B,OAAO+D,KAAKuH,GAAqD,mBAAjCtL,OAAOsD,wBAAwC4zB,EAAUA,EAAQlzB,OAAOhE,OAAOsD,sBAAsBgI,GAAQM,QAAO,SAAUwrB,GAAO,OAAOp3B,OAAOuD,yBAAyB+H,EAAQ8rB,GAAKl3B,gBAAmBg3B,EAAQxsB,SAAQ,SAAU7J,GAAO,GAAgB4P,EAAQ5P,EAAKyK,EAAOzK,OAAa,OAAO4P,EAmI/b,CAAc,GAAIy7C,EAAkB,sCAEvDuC,EAAyBd,EAAe,2BAA6B,GAyBzE,OAxBA3tD,OAAO+D,KAAKyB,GAAOoG,QAAO,SAAU/L,GAClC,OAAkC,IAA3BA,EAAK6I,QAAQ,aACnB6R,KAAI,SAAUyzC,GACf,IAAIU,EAAcxD,GAAc1lD,EAAMwoD,GAAQtD,GAE9C,GAAK1qD,OAAO+D,KAAK2qD,GAAalsD,OAA9B,CAIA,IAAImsD,EA9ER,SAAgCh9B,GAC9B,IAAI5D,EAAW4D,EAAM5D,SACjBygC,EAAmB78B,EAAM68B,iBACzBH,EAAa18B,EAAM08B,WACnBI,EAAyB98B,EAAM88B,uBAC/BT,EAAQr8B,EAAMq8B,MAEdW,EAAMF,EADVT,EAAQA,EAAM3mD,QAAQ,UAAW,KAgBjC,OAbKsnD,GAAON,IACVI,EAAuBT,GAASW,EAAMN,EAAWL,IAG9CQ,GAAqBA,EAAiBR,KACzCW,EAAIC,YAAY7gC,GAChBygC,EAAiBR,GAAS,CACxB7kB,OAAQ,WACNwlB,EAAI1lB,eAAelb,MAKlB4gC,EAwDKE,CAAuB,CAC/B9gC,SAAU,WACR,OAAOo+B,EAAS6B,EAAOW,EAAIxd,QAAS,SAEtCqd,iBAAkBA,EAClBH,WAAYA,EACZI,uBAAwBA,EACxBT,MAAOA,IAILW,EAAIxd,UACNxrC,EAAWomD,EAAY,CAACpmD,EAAU+oD,SAG/B,CACLjB,gBAAiB,CACfqB,kCAAmCN,GAErCO,YAAa,CACXN,uBAAwBA,GAE1B/9C,MAAO+1C,EACPjhD,MAAOG,IErJT0D,QMjBa,SAAiByG,GAC9B,IAAIw7C,EAASx7C,EAAKw7C,OACdzB,EAA6B/5C,EAAK+5C,2BAClC1hB,EAASr4B,EAAKq4B,OACd2hB,EAAqBh6C,EAAKg6C,mBAC1BU,EAAO16C,EAAK06C,KACZ95C,EAAQZ,EAAKY,MACblL,EAAQsK,EAAKtK,MAEbuoD,EAAYr9C,EAAMq9C,UAClBpoD,EAAW3F,OAAO+D,KAAKyB,GAAOE,QAAO,SAAUimD,EAAoB9qD,GACrE,IAAIN,EAAQiF,EAAM3E,GAElB,GAAY,aAARA,EAAoB,CACtBN,EAAQspD,EAA2BtpD,GACnC,IAAI2tD,EAAUpE,EAAmB,GAAIvpD,EAAO4nC,EAAOnjC,WAC/CgqD,EAAmB,OAASxE,EAAK0D,GAErC5C,EADU,IAAM0D,EAAmB,WAAad,GAEhDH,GAAaA,EAAYA,EAAY,IAAM,IAAMiB,OAEjDrD,EAAmB9qD,GAAON,EAG5B,OAAOorD,IACN,IACH,MAAO,CACLj7C,MAAOq9C,IAAcr9C,EAAMq9C,UAAY,KAAO,CAC5CA,UAAWA,GAEbvoD,MAAOG,K,mBC9BX,SAAS,GAAc8K,GAAU,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CAAE,IAAIgM,EAAyB,MAAhB3I,UAAUrD,GAAaqD,UAAUrD,GAAK,GAAQ43B,EAAUl3B,OAAO+D,KAAKuH,GAAqD,mBAAjCtL,OAAOsD,wBAAwC4zB,EAAUA,EAAQlzB,OAAOhE,OAAOsD,sBAAsBgI,GAAQM,QAAO,SAAUwrB,GAAO,OAAOp3B,OAAOuD,yBAAyB+H,EAAQ8rB,GAAKl3B,gBAAmBg3B,EAAQxsB,SAAQ,SAAU7J,GAAO,GAAgB4P,EAAQ5P,EAAKyK,EAAOzK,OAAa,OAAO4P,EAExd,SAAS,GAAgBjM,EAAK3D,EAAKN,GAAiK,OAApJM,KAAO2D,EAAOxE,OAAOC,eAAeuE,EAAK3D,EAAK,CAAEN,MAAOA,EAAOL,YAAY,EAAMiM,cAAc,EAAMD,UAAU,IAAkB1H,EAAI3D,GAAON,EAAgBiE,EAE3M,SAAS,GAAQA,GAAwT,OAAtO,GAArD,mBAAXnE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAcxV,IAAIyqD,GAAiB,CACnB7mD,QAAS,CAAC,GAAQ0jD,gBAAiB,GAAQV,WAAY,GAAQsC,oBAAqB,GAAQzB,yBAA0B,GAAQZ,UAAW,GAAQhiD,QAAS,GAAQ2iD,mBAAoB,GAAQ5mD,OAAQ,GAAQgmD,aAG5M2D,GAAc,GAIdG,GAAkB,KAElBC,GAAuB,SAA8BlsD,GACvD,OAAOA,EAAUX,OAASW,EAAUX,KAAK8sD,mBAGvC,GAAmB,SAA0Bt/C,GAC/C,IAAIqX,EAAWrX,EAAKqX,SAChBlkB,EAAY6M,EAAK7M,UACjBklC,EAASr4B,EAAKq4B,OACdknB,EAAiBv/C,EAAKu/C,eACtBC,EAAmBx/C,EAAKw/C,iBAE5B,IAAKnoC,EACH,OAAOA,EAGT,IAAIooC,EAAe,GAAQpoC,GAE3B,GAAqB,WAAjBooC,GAA8C,WAAjBA,EAE/B,OAAOpoC,EAGT,GAAqB,aAAjBooC,EAEF,OAAO,WACL,IAAIhoD,EAAS4f,EAASqI,MAAMtnB,KAAMvF,WAElC,GAAI,IAAM6sD,eAAejoD,GAAS,CAChC,IAAIovB,EAAO,GAAYpvB,UAEhB+nD,EAAiB34B,GAExB,IAAI84B,EAAiBP,GAAgBjsD,EAAWsE,EAAQ4gC,EAAQknB,GAAgB,EAAMC,GAClFrR,EAAUwR,EAAexR,QAE7B,OAAOA,EAGT,OAAO12C,GAIX,GAAuC,IAAnC,IAAMmoD,SAASC,MAAMxoC,IAAmBA,EAAS7kB,KAAM,CAGzD,IAAIstD,EAAY,IAAMF,SAASG,KAAK1oC,GAEhC2oC,EAAQ,GAAYF,GAOxB,cALON,EAAiBQ,GAEFZ,GAAgBjsD,EAAW2sD,EAAWznB,EAAQknB,GAAgB,EAAMC,GAC5DrR,QAKhC,OAAO,IAAMyR,SAASn1C,IAAI4M,GAAU,SAAUyhB,GAC5C,GAAI,IAAM4mB,eAAe5mB,GAAQ,CAC/B,IAAImnB,EAAQ,GAAYnnB,GAOxB,cALO0mB,EAAiBS,GAEFb,GAAgBjsD,EAAW2lC,EAAOT,EAAQknB,GAAgB,EAAMC,GACvDrR,QAKjC,OAAOrV,MAKP,GAAgB,SAAuBjX,GACzC,IAAI1uB,EAAY0uB,EAAM1uB,UAClBklC,EAASxW,EAAMwW,OACfknB,EAAiB19B,EAAM09B,eACvB3+C,EAAQihB,EAAMjhB,MACd4+C,EAAmB39B,EAAM29B,iBACzB7I,EAAW/1C,EAqBf,OApBA1Q,OAAO+D,KAAK2M,GAAOhG,SAAQ,SAAUkT,GAEnC,GAAa,aAATA,EAAJ,CAIA,IAAIigC,EAAYntC,EAAMkN,GAEtB,GAAI,IAAM4xC,eAAe3R,GAAY,CACnC,IAAImS,EAAQ,GAAYnS,UAEjByR,EAAiBU,GACxBvJ,EAAW,GAAc,GAAIA,GAE7B,IACIxI,EADkBiR,GAAgBjsD,EAAW46C,EAAW1V,EAAQknB,GAAgB,EAAMC,GAC5DrR,QAE9BwI,EAAS7oC,GAAQqgC,OAGdwI,GAuDL,GAAc,SAAqBwJ,GACrC,IAAIhtD,EAAYgtD,EAAMhtD,UAClBklC,EAAS8nB,EAAM9nB,OACfknB,EAAiBY,EAAMZ,eACvB3+C,EAAQu/C,EAAMv/C,MACd45C,EAAkB2F,EAAM3F,gBAI5B,IAAK,IAAMkF,eAAelF,IAAoD,iBAAzBA,EAAgBhoD,OAAsBoO,EAAMlL,MAC/F,OAAOkL,EAGT,IAAI+1C,EAAW/1C,EACXtI,EAAU+/B,EAAO//B,SAAW6mD,GAAe7mD,QAC3C8nD,EAAgBjtD,EAAUyB,YAAY1C,aAAeiB,EAAUyB,YAAY7E,KAE3EswD,EArEa,SAAsBl1B,GACvC,IAAIi1B,EAAgBj1B,EAAMi1B,cACtBb,EAAiBp0B,EAAMo0B,eACvB/E,EAAkBrvB,EAAMqvB,gBAIxB8F,EAAc,GAAY9F,GAC1BzpD,EAAM,GAAcuvD,GACpBC,GAAgB,EAyBpB,OAvBa,WACX,GAAIA,EACF,OAAOxvD,EAMP,IAAIyvD,EADN,GAFAD,GAAgB,EAEZhB,EAAexuD,GASjB,KANoC,iBAAzBypD,EAAgBhoD,KACzBguD,EAAchG,EAAgBhoD,KACrBgoD,EAAgBhoD,KAAKoC,cAC9B4rD,EAAchG,EAAgBhoD,KAAKoC,YAAY1C,aAAesoD,EAAgBhoD,KAAKoC,YAAY7E,MAG3F,IAAIkL,MAAM,qHAA4HqlD,EAAc,QAAUA,EAAc,oBAAsB,4CAA8C,gBAAuBF,EAAgB,OAASI,EAAc,aAAeA,EAAc,KAAO,KAI1V,OADAjB,EAAexuD,IAAO,EACfA,GAsCI,CAAa,CACxBypD,gBAAiBA,EACjB+E,eAAgBA,EAChBa,cAAeA,IAGbhE,EAAoB,SAA2BrrD,GACjD,OAAOoC,EAAUpC,IAGf8sD,EAAiB,SAAwB9sD,GAC3C,OAAOkuD,GAAYluD,IAGjB0vD,EAAoB,SAA2BC,EAAUpG,GAC3D,OAAO,GAASnnD,EAAU+sB,MAAOo6B,GAAc+F,IAAUK,IAGvDrE,EAAW,SAAkBqE,EAAUjwD,EAAO6pD,GAChD,OAnDiB,SAAwBnnD,EAAWpC,EAAK2vD,EAAUjwD,GACrE,GAAK0C,EAAUwtD,iBAAf,CAIA,IACIzgC,EAAQ,CACVq6B,kBAAmB,GAAc,GAFpB,GAAoBpnD,KAInC+sB,EAAMq6B,kBAAkBxpD,GAAO,GAAc,GAAImvB,EAAMq6B,kBAAkBxpD,IACzEmvB,EAAMq6B,kBAAkBxpD,GAAK2vD,GAAYjwD,EACzC0C,EAAUsnD,iBAAmBv6B,EAAMq6B,kBACnCpnD,EAAUkpD,SAASn8B,IAuCV,CAAe/sB,EAAWmnD,GAAc+F,IAAUK,EAAUjwD,IAGjE+qD,EAAS,SAAgBI,GAC3B,IAAIgF,EAAcztD,EAAU0tD,mBAE5B,IAAKD,EAOH,MAAM,IAAI3lD,MAAM,gJAA4JmlD,EAAgB,MAG9L,OAAOQ,EAAYpF,OAAOI,IAGxB/lD,EAAW+K,EAAMlL,MAqCrB,OApCA4C,EAAQsC,SAAQ,SAAUkmD,GACxB,IAAIrpD,EAASqpD,EAAO,CAClBtqD,qBAAsB,KACtBglD,OAAQA,EACRzB,2BAA4BA,GAC5BqG,cAAeA,EACf/nB,OAAQA,EACR2hB,mBAAoBA,GACpBoC,kBAAmBA,EACnByB,eAAgBA,EAChBx+B,SAAUohC,EACV/F,KAAMA,GACNuB,YAAa,GACbr7C,MAAO+1C,EACP0F,SAAUA,EACVzB,cAAeA,GACfllD,MAAOG,KACH,GACNA,EAAW4B,EAAO/B,OAASG,EAC3B8gD,EAAWl/C,EAAOmJ,OAAS1Q,OAAO+D,KAAKwD,EAAOmJ,OAAOlO,OAAS,GAAc,GAAIikD,EAAUl/C,EAAOmJ,OAAS+1C,EAC1G,IAAI2F,EAAqB7kD,EAAOkmD,iBAAmB,GACnDztD,OAAO+D,KAAKqoD,GAAoB1hD,SAAQ,SAAUmmD,GAChD5tD,EAAU4tD,GAAazE,EAAmByE,MAE5C,IAAIC,EAAiBvpD,EAAOwnD,aAAe,GAC3C/uD,OAAO+D,KAAK+sD,GAAgBpmD,SAAQ,SAAU7J,GAC5CkuD,GAAYluD,GAAOiwD,EAAejwD,SAIlC8E,IAAa+K,EAAMlL,QACrBihD,EAAW,GAAc,GAAIA,EAAU,CACrCjhD,MAAOG,KAIJ8gD,GAML,GAAgB,SAAuB6D,EAAiB7D,EAAUsK,GAQpE,MANoC,iBAAzBzG,EAAgBhoD,OACzBmkD,EAAW,GAAc,GAAIA,EAAU,CACrC,eAAe,KAIZ,IAAMuK,aAAa1G,EAAiB7D,EAAUsK,IA6HxC,GAjHf7B,GAAkB,SAAuBjsD,EAAWqnD,GAClD,IAAIniB,EAASxlC,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,GAAmBA,UAAU,GAAKssD,GAC7EI,EAAiB1sD,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,GAAmBA,UAAU,GAAK,GACrFsuD,EAA2BtuD,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,IAAmBA,UAAU,GAC1F2sD,EAAmB3sD,UAAUH,OAAS,EAAIG,UAAU,QAAKsK,EAK7D,IAAKqiD,EAAkB,CACrB,IAAIt/B,EAAQ,GAAoB/sB,GAChCqsD,EAAmBtvD,OAAO+D,KAAKisB,GAAOtqB,QAAO,SAAUs6B,EAAKn/B,GAS1D,MAJY,SAARA,IACFm/B,EAAIn/B,IAAO,GAGNm/B,IACN,IAGL,GAAIp6B,MAAMC,QAAQykD,KAAqBA,EAAgB55C,MAAO,CAC5D,IAAIwgD,EAAW5G,EAAgB/vC,KAAI,SAAU0jC,GAE3C,GAAIqR,EAAkB,CACpB,IAAI6B,EAAQ,GAAYlT,UAEjBqR,EAAiB6B,GAK1B,OAAOjC,GAAgBjsD,EAAWg7C,EAAS9V,EAAQknB,EAAgB4B,EAA0B3B,GAAkBrR,WAEjH,MAAO,CACLqR,iBAAkBA,EAClBrR,QAASiT,GAKb,IAAK5G,GAILA,EAAgB55C,OAAS45C,EAAgB55C,MAAM,gBAE/CugD,IAA6B9B,GAAqB7E,GAChD,MAAO,CACLgF,iBAAkBA,EAClBrR,QAASqM,GAIb,IAAInjC,EAAWmjC,EAAgB55C,MAAMyW,SAEjC4pC,EAAc,GAAiB,CACjC5pC,SAAUA,EACVlkB,UAAWA,EACXklC,OAAQA,EACRknB,eAAgBA,EAChBC,iBAAkBA,IAGhB7I,EAAW,GAAc,CAC3BxjD,UAAWA,EACXklC,OAAQA,EACRknB,eAAgBA,EAChBC,iBAAkBA,EAClB5+C,MAAO45C,EAAgB55C,QAazB,GAVA+1C,EAAW,GAAY,CACrBxjD,UAAWA,EACXklC,OAAQA,EACRknB,eAAgBA,EAChB3+C,MAAO+1C,EACP6D,gBAAiBA,IAKfyG,IAAgB5pC,GAAYs/B,IAAa6D,EAAgB55C,MAC3D,MAAO,CACL4+C,iBAAkBA,EAClBrR,QAASqM,GAIb,IAAIrM,EAAU,GAAcqM,EAAiB7D,IAAa6D,EAAgB55C,MAAQ+1C,EAAW,GAAIsK,GAEjG,MAAO,CACLzB,iBAAkBA,EAClBrR,QAASA,IC9Yb,SAAS,KAA2Q,OAA9P,GAAWj+C,OAAOuvB,QAAU,SAAU9e,GAAU,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CAAE,IAAIgM,EAAS3I,UAAUrD,GAAI,IAAK,IAAIuB,KAAOyK,EAActL,OAAOkB,UAAUC,eAAe1B,KAAK6L,EAAQzK,KAAQ4P,EAAO5P,GAAOyK,EAAOzK,IAAY,OAAO4P,IAA2B+e,MAAMtnB,KAAMvF,WAKzS,IAAIyuD,GAAqB,IAAM7jC,mBAActgB,GACzCokD,GAAsB,IAAM9jC,mBAActgB,GAC9C,SAASqkD,GAAmB5+B,GACjC,IAAI6+B,EAAqB,IAAMh/B,YAAW,SAAU7hB,EAAOmjB,GACzD,IAAI29B,EAAsB,qBAAWH,IACjCI,EAAqB,qBAAWL,IACpC,OAAO,IAAM/qD,cAAcqsB,EAAkB,GAAS,CACpDmB,IAAKA,GACJnjB,EAAO,CACR8gD,oBAAqBA,EACrBC,mBAAoBA,QAIxB,OADAF,EAAmBvvD,YAAc,sBAAsBgC,OAAO0uB,EAAiB1wB,aAAe0wB,EAAiB7yB,MAAQ,YAAa,KAC7H,IAAa0xD,EAAoB7+B,GCnB1C,SAAS,GAAQluB,GAAwT,OAAtO,GAArD,mBAAXnE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAExV,SAAS,GAAgBuH,EAAU4E,GAAe,KAAM5E,aAAoB4E,GAAgB,MAAM,IAAIrE,UAAU,qCAEhH,SAAS,GAAkBmE,EAAQC,GAAS,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAMlO,OAAQlD,IAAK,CAAE,IAAI6E,EAAauM,EAAMpR,GAAI6E,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWgI,cAAe,EAAU,UAAWhI,IAAYA,EAAW+H,UAAW,GAAMlM,OAAOC,eAAewQ,EAAQtM,EAAWtD,IAAKsD,IAI7S,SAASutD,GAA2B1pD,EAAMvI,GAAQ,OAAIA,GAA2B,WAAlB,GAAQA,IAAsC,mBAATA,EAA8CkyD,GAAuB3pD,GAAtCvI,EAEnI,SAASkyD,GAAuB3pD,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+6C,eAAe,6DAAgE,OAAO/6C,EAE/J,SAAS4pD,GAAKnhD,EAAQxP,EAAU4wD,GAAuV,OAAtRD,GAA9B,oBAAZE,SAA2BA,QAAQ3xD,IAAc2xD,QAAQ3xD,IAAqB,SAAcsQ,EAAQxP,EAAU4wD,GAAY,IAAIvpB,EAErL,SAAwBtnC,EAAQC,GAAY,MAAQjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,IAA8D,QAAjDD,EAAS+wD,GAAgB/wD,MAAuC,OAAOA,EAFOgxD,CAAevhD,EAAQxP,GAAW,GAAKqnC,EAAL,CAAmB,IAAI2pB,EAAOjyD,OAAOuD,yBAAyB+kC,EAAMrnC,GAAW,OAAIgxD,EAAK9xD,IAAc8xD,EAAK9xD,IAAIV,KAAKoyD,GAAoBI,EAAK1xD,SAAwBkQ,EAAQxP,EAAU4wD,GAAYphD,GAIja,SAASshD,GAAgBhyD,GAAwJ,OAAnJgyD,GAAkB/xD,OAAOgM,eAAiBhM,OAAOwD,eAAiB,SAAyBzD,GAAK,OAAOA,EAAEmyD,WAAalyD,OAAOwD,eAAezD,KAA8BA,GAExM,SAASoyD,GAAUC,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/lD,UAAU,sDAAyD8lD,EAASlxD,UAAYlB,OAAOY,OAAOyxD,GAAcA,EAAWnxD,UAAW,CAAEwD,YAAa,CAAEnE,MAAO6xD,EAAUlmD,UAAU,EAAMC,cAAc,KAAekmD,GAAYC,GAAgBF,EAAUC,GAEnX,SAASC,GAAgBvyD,EAAGqB,GAA+G,OAA1GkxD,GAAkBtyD,OAAOgM,gBAAkB,SAAyBjM,EAAGqB,GAAsB,OAAjBrB,EAAEmyD,UAAY9wD,EAAUrB,IAA6BA,EAAGqB,GAErK,SAAS,GAAe+qB,EAAK7sB,GAAK,OAMlC,SAAyB6sB,GAAO,GAAIvmB,MAAMC,QAAQsmB,GAAM,OAAOA,EANtB,CAAgBA,IAIzD,SAA+BA,EAAK7sB,GAAK,IAAIizD,EAAO,GAAQC,GAAK,EAAUC,GAAK,EAAWC,OAAKzlD,EAAW,IAAM,IAAK,IAAiC0lD,EAA7Bj8B,EAAKvK,EAAI9rB,OAAOoE,cAAmB+tD,GAAMG,EAAKj8B,EAAGpnB,QAAQqP,QAAoB4zC,EAAK5pD,KAAKgqD,EAAGpyD,QAAYjB,GAAKizD,EAAK/vD,SAAWlD,GAA3DkzD,GAAK,IAAoE,MAAOpvC,GAAOqvC,GAAK,EAAMC,EAAKtvC,EAAO,QAAU,IAAWovC,GAAsB,MAAhB97B,EAAW,QAAWA,EAAW,SAAO,QAAU,GAAI+7B,EAAI,MAAMC,GAAQ,OAAOH,EAJjV,CAAsBpmC,EAAK7sB,IAE5F,WAA8B,MAAM,IAAIgN,UAAU,wDAFgD,GAQlG,SAAS,GAAcmE,GAAU,IAAK,IAAInR,EAAI,EAAGA,EAAIqD,UAAUH,OAAQlD,IAAK,CAAE,IAAIgM,EAAyB,MAAhB3I,UAAUrD,GAAaqD,UAAUrD,GAAK,GAAQ43B,EAAUl3B,OAAO+D,KAAKuH,GAAqD,mBAAjCtL,OAAOsD,wBAAwC4zB,EAAUA,EAAQlzB,OAAOhE,OAAOsD,sBAAsBgI,GAAQM,QAAO,SAAUwrB,GAAO,OAAOp3B,OAAOuD,yBAAyB+H,EAAQ8rB,GAAKl3B,gBAAmBg3B,EAAQxsB,SAAQ,SAAU7J,GAAO,GAAgB4P,EAAQ5P,EAAKyK,EAAOzK,OAAa,OAAO4P,EAExd,SAAS,GAAgBjM,EAAK3D,EAAKN,GAAiK,OAApJM,KAAO2D,EAAOxE,OAAOC,eAAeuE,EAAK3D,EAAK,CAAEN,MAAOA,EAAOL,YAAY,EAAMiM,cAAc,EAAMD,UAAU,IAAkB1H,EAAI3D,GAAON,EAAgBiE,EAE3M,SAASouD,GAAyBtnD,EAAQokB,GAAY,GAAc,MAAVpkB,EAAgB,MAAO,GAAI,IAAkEzK,EAAKvB,EAAnEmR,EAEzF,SAAuCnF,EAAQokB,GAAY,GAAc,MAAVpkB,EAAgB,MAAO,GAAI,IAA2DzK,EAAKvB,EAA5DmR,EAAS,GAAQkf,EAAa3vB,OAAO+D,KAAKuH,GAAqB,IAAKhM,EAAI,EAAGA,EAAIqwB,EAAWntB,OAAQlD,IAAOuB,EAAM8uB,EAAWrwB,GAAQowB,EAAShnB,QAAQ7H,IAAQ,IAAa4P,EAAO5P,GAAOyK,EAAOzK,IAAQ,OAAO4P,EAFxM,CAA8BnF,EAAQokB,GAAuB,GAAI1vB,OAAOsD,sBAAuB,CAAE,IAAIuvD,EAAmB7yD,OAAOsD,sBAAsBgI,GAAS,IAAKhM,EAAI,EAAGA,EAAIuzD,EAAiBrwD,OAAQlD,IAAOuB,EAAMgyD,EAAiBvzD,GAAQowB,EAAShnB,QAAQ7H,IAAQ,GAAkBb,OAAOkB,UAAU+7B,qBAAqBx9B,KAAK6L,EAAQzK,KAAgB4P,EAAO5P,GAAOyK,EAAOzK,IAAU,OAAO4P,EAIne,SAASqiD,GAAep7B,GAAO,IAAI72B,EAEnC,SAAsBmhB,EAAO+wC,GAAQ,GAAuB,WAAnB,GAAQ/wC,IAAiC,OAAVA,EAAgB,OAAOA,EAAO,IAAIgxC,EAAOhxC,EAAM3hB,OAAO4yD,aAAc,QAAahmD,IAAT+lD,EAAoB,CAAE,IAAItN,EAAMsN,EAAKvzD,KAAKuiB,EAAO+wC,GAAQ,WAAY,GAAqB,WAAjB,GAAQrN,GAAmB,OAAOA,EAAK,MAAM,IAAIp5C,UAAU,gDAAmD,OAAiB,WAATymD,EAAoBz0C,OAASke,QAAQxa,GAF3UkxC,CAAax7B,EAAK,UAAW,MAAwB,WAAjB,GAAQ72B,GAAoBA,EAAMyd,OAAOzd,GAWtH,IACIsyD,GACAC,GAFAC,GAAyC,CAAC,YAAa,SAAU,SAAU,SAAU,OAAQ,YAAa,QAiB9G,SAASC,GAAYrwD,GACnB,IAAI8xB,EAAQ9xB,EAAU/B,WAAa,GACnC,QAAQ+B,EAAUswD,kBAAqBx+B,EAAMw+B,kBAAqBtwD,EAAUG,QAAW2xB,EAAM3xB,QAK/F,SAASowD,GAAcvwD,GACrB,MAA4B,mBAAdA,GAA4B,eAAeqB,KAAKrB,EAAU8C,YAO1E,SAAS0tD,GAAeC,EAAcC,GACpCP,GAAe1oD,SAAQ,SAAU7K,GAC/B,IAAI+zD,EAAW5zD,OAAOuD,yBAAyBmwD,EAAc7zD,GACzDg0D,GAAcD,GAAY,IAAIrzD,MAElC,GAAKszD,EAAL,CAIA,IACIC,GADa9zD,OAAOuD,yBAAyB4vD,GAActzD,IACxB,IAAIU,MACpBozD,EAAkBzyD,UAAUrB,IAK1Bg0D,IAAeC,IAEtCF,GAAY5zD,OAAOC,eAAe0zD,EAAkBzyD,UAAWrB,EAAM+zD,UAG9DF,EAAa7zD,QAK1B,SAASk0D,GAAgB5+B,GACvB,GAAIA,EAAS6+B,uBAAyB7+B,EAAS6+B,sBAAsBxxD,OAAS,EAAG,CAC/E,IAAIyxD,EAAqB9+B,EAAS6+B,sBAAsBtuD,QAAO,SAAUsqB,EAAOnvB,GAE1DmvB,EAAMnvB,GAG1B,OAFqB+xD,GAAyB5iC,EAAO,CAACnvB,GAAK0Z,IAAIu4C,OAG9D,GAAoB39B,IAEvBA,EAASo1B,iBAAmB0J,EAC5B9+B,EAASg3B,SAAS,CAChB9B,kBAAmB4J,KAKzB,SAASC,GAAgB/+B,GACvB,IAAIk4B,EAAyBl4B,EAASk4B,uBAClCyB,EAAoC35B,EAAS25B,kCACjD35B,EAASs7B,kBAAmB,EAExBpD,GACFA,EAAuBlkB,SAGrB2lB,GACF9uD,OAAO+D,KAAK+qD,GAAmCpkD,SAAQ,SAAUsjD,GAC/Dc,EAAkCd,GAAO7kB,WACxChU,GAIP,SAASg/B,GAAcC,EAAYC,EAAeC,GAChD,IAAInsB,EAASisB,GAAcC,GAAiBC,EAM5C,OAJIA,GAAansB,IAAWmsB,IAC1BnsB,EAAS,GAAc,GAAImsB,EAAWnsB,IAGjCA,EAGT,SAASosB,GAAsBp/B,EAAUm1B,EAAiBkK,EAAgBJ,GACxE,IAAI3E,EAAiB,GAAct6B,EAAUm1B,EAAiBkK,GAC1DlF,EAAmBG,EAAeH,iBAClCrR,EAAUwR,EAAexR,QAI7B,OAFA9oB,EAAS6+B,sBAAwBh0D,OAAO+D,KAAKurD,GAEzC8E,EACK,IAAM/tD,cAAcgrD,GAAoBhiC,SAAU,CACvD9uB,MAAO6zD,GACNnW,GAGEA,EAGT,SAASwW,GAAgCC,EAAevsB,GACtD,IAAIwsB,EAAiB,IAAMpiC,YAAW,SAAU7hB,EAAOmjB,GACrD,IAAI+gC,EAAelkD,EAAMkkD,aACrBC,EAAajC,GAAyBliD,EAAO,CAAC,iBAE9C8gD,EAAsB,qBAAWH,IACjCI,EAAqB,qBAAWL,IAGhC0D,EAAa,GADD,mBAAS,IACkB,GACvC9kC,EAAQ8kC,EAAW,GACnB3I,EAAW2I,EAAW,GAEtBC,EAAc,iBAAO,CACvB/kC,MAAOA,EACPm8B,SAAUA,EACV2C,uCAAmC7hD,EACnCogD,4BAAwBpgD,EACxBwjD,kBAAkB,EAClBlG,sBAAkBt9C,EAClB+mD,2BAAuB/mD,EACvB0jD,mBAAoBc,IACnB7nD,QAGHmrD,EAAY/kC,MAAQA,EACpB,qBAAU,WACR,OAAO,WACLkkC,GAAgBa,MAEjB,CAACA,IACJ,IAAIC,EAAoBD,EAAYf,uBAAyBe,EAAYf,sBAAsBxxD,OAAS,EACxG,qBAAU,WACRuxD,GAAgBgB,KACf,CAACC,EAAmBD,IACvB,IAAIzK,EAAkBoK,EAAcG,EAAYhhC,GAC5CohC,EAAgBd,GAAcS,EAAcpD,EAAqBrpB,GACrE,OAAOosB,GAAsBQ,EAAazK,EAAiB2K,EAAeL,MAI5E,OAFAD,EAAevF,mBAAoB,EACnCuF,EAAe5yD,aAAe2yD,EAAc3yD,aACrC,IAAa4yD,EAAgBD,GAGtC,SAASQ,GAA6BR,EAAef,EAAmBxrB,GACtE,IA9JsB78B,EAAQmF,EA8J1BkkD,EAEJ,SAAUQ,GAQR,SAASR,IACP,IAAIS,EAEJ,GAAgBltD,KAAMysD,IAEtBS,EAAQ1D,GAA2BxpD,KAAM6pD,GAAgB4C,GAAgBnlC,MAAMtnB,KAAMvF,aAC/EqtB,MAAQolC,EAAMplC,OAAS,GAC7BolC,EAAMzE,mBAAqByE,EAAM1kD,MAAM+gD,mBACvC2D,EAAMtG,kCAAoCsG,EAAMtG,kCAChDsG,EAAM/H,uBAAyB+H,EAAM/H,uBACrC+H,EAAM3E,kBAAmB,EACzB2E,EAAM7K,sBAAmB,EACzB6K,EAAMpB,2BAAwB,EAC9BoB,EAAMplC,MAAMq6B,kBAAoB,GAEhC,IAAIriD,EAAO2pD,GAAuByD,GAIlC,OADA3B,GAAezrD,EAAM2rD,GACdyB,EA1Ob,IAAsBzkD,EAAaC,EAAYC,EAyQ3C,OAzDAshD,GAAUwC,EAAgBQ,GAhNRxkD,EA6OLgkD,GA7OkB/jD,EA6OF,CAAC,CAC5B/P,IAAK,qBACLN,MAAO,SAA4B80D,EAAWC,EAAWC,GACnD3D,GAAKG,GAAgB4C,EAAezzD,WAAY,qBAAsBgH,OACxE0pD,GAAKG,GAAgB4C,EAAezzD,WAAY,qBAAsBgH,MAAMzI,KAAKyI,KAAMmtD,EAAWC,EAAWC,GAG/GxB,GAAgB7rD,QAEjB,CACDrH,IAAK,uBACLN,MAAO,WACDqxD,GAAKG,GAAgB4C,EAAezzD,WAAY,uBAAwBgH,OAC1E0pD,GAAKG,GAAgB4C,EAAezzD,WAAY,uBAAwBgH,MAAMzI,KAAKyI,MAGrFgsD,GAAgBhsD,QAEjB,CACDrH,IAAK,SACLN,MAAO,WAIL,OAAOg0D,GAAsBrsD,KAHP0pD,GAAKG,GAAgB4C,EAAezzD,WAAY,SAAUgH,MAAMzI,KAAKyI,MAEvEisD,GAAcjsD,KAAKwI,MAAMkkD,aAAc1sD,KAAKwI,MAAM8gD,oBAAqBrpB,GACxBjgC,KAAKwI,MAAMkkD,mBArQR,GAAkBjkD,EAAYzP,UAAW0P,GAAiBC,GAAa,GAAkBF,EAAaE,GAyQzK8jD,EA1DT,CA2DEhB,GA8BF,OA3BAgB,EAAevF,mBAAoB,EACnC+D,GAAewB,EAAezzD,UAC9BkyD,GAAiBpzD,OAAOqD,oBAAoB8vD,IAAcvnD,QAAO,SAAU7K,GACzE,MAAa,gBAANA,GAAkD,mBAApBoyD,GAAapyD,MAjO9BuK,EAuOPopD,EAvOejkD,EAuOAkkD,EAtO9B30D,OAAOqD,oBAAoBiI,GAAQZ,SAAQ,SAAU7J,GACnD,GAAIwyD,GAAuC3qD,QAAQ7H,GAAO,IAAM4P,EAAOtP,eAAeN,GAAM,CAC1F,IAAIsD,EAAanE,OAAOuD,yBAAyB+H,EAAQzK,GACzDsD,GAAcnE,OAAOC,eAAewQ,EAAQ5P,EAAKsD,OA6OjDwwD,EAAetyD,WAAasyD,EAAetyD,UAAUmD,QACvDmvD,EAAetyD,UAAY,GAAc,GAAIsyD,EAAetyD,UAAW,CACrEmD,MAAO,IAAUgwD,UAAU,CAAC,IAAUC,MAAO,IAAUz0D,YAK3D2zD,EAAe3yD,YAAc0yD,EAAc1yD,aAAe0yD,EAAc70D,MAAQ,YACzEyxD,GAAmBqD,GAG5B,SAASe,GAA8B/B,GAerC,OAdAA,EAAoB,SAAUgC,GAC5B,SAASC,IAEP,IAAIpxD,EAAMstD,QAAQ+D,UAAUF,EAAehzD,UAAWuF,KAAKxD,aAC3D,OAAOF,EAOT,OAHAstD,QAAQ9lD,eAAe4pD,EAAa10D,UAAWy0D,EAAcz0D,WAE7D4wD,QAAQ9lD,eAAe4pD,EAAcD,GAC9BC,EAXW,CAYlBjC,GAKJ,IAAImC,GAAwB,sBAAW,WACrC,OAAO,QACNzwC,SACY,SAAS0wC,GAAkBC,GACxC,IAAI7tB,EAASxlC,UAAUH,OAAS,QAAsByK,IAAjBtK,UAAU,GAAmBA,UAAU,GAAK,GAEjF,GAAImzD,IAAyBE,EAA0B3wC,WAAaywC,GAClE,OAAOrB,GAAgCuB,EAA0B5yD,OAAQ+kC,GAG3E,GAAyC,mBAA9B6tB,EACT,OAAOC,GAAwB9tB,EAAQ6tB,GAGzC,IAAItB,EAAgBsB,EAEpB,GAAI1C,GAAYoB,GACd,OAAOD,GAAgCC,EAAevsB,GAGxD,IAAI+tB,EAAsBxB,EAyB1B,OArBIlB,GAAc0C,KAChBA,EAAsBR,GAA8BQ,IAIlDA,IAAwBxB,IAC1BwB,EAEA,SAAUC,GAGR,SAASxC,IAGP,OAFA,GAAgBzrD,KAAMyrD,GAEfjC,GAA2BxpD,KAAM6pD,GAAgB4B,GAAmBnkC,MAAMtnB,KAAMvF,YAGzF,OARAwvD,GAAUwB,EAAmBwC,GAQtBxC,EATT,CAUEuC,IAGGhB,GAA6BR,EAAewB,EAAqB/tB,GAG1E,SAAS8tB,GAAwB9tB,EAAQ6tB,GACvC,IAAII,EAAY,GAAc,GAAIjuB,EAAQ6tB,GAE1C,OAAO,SAAUK,GACf,OAAON,GAAkBM,EAAmBD,ICvXhD,SAAS,GAAQ5xD,GAAwT,OAAtO,GAArD,mBAAXnE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAExV,SAAS,GAAgBuH,EAAU4E,GAAe,KAAM5E,aAAoB4E,GAAgB,MAAM,IAAIrE,UAAU,qCAEhH,SAAS,GAAkBmE,EAAQC,GAAS,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAMlO,OAAQlD,IAAK,CAAE,IAAI6E,EAAauM,EAAMpR,GAAI6E,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWgI,cAAe,EAAU,UAAWhI,IAAYA,EAAW+H,UAAW,GAAMlM,OAAOC,eAAewQ,EAAQtM,EAAWtD,IAAKsD,IAI7S,SAAS,GAA2B6D,EAAMvI,GAAQ,OAAIA,GAA2B,WAAlB,GAAQA,IAAsC,mBAATA,EAEpG,SAAgCuI,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+6C,eAAe,6DAAgE,OAAO/6C,EAFb,CAAuBA,GAAtCvI,EAInI,SAAS,GAAgBM,GAAwJ,OAAnJ,GAAkBC,OAAOgM,eAAiBhM,OAAOwD,eAAiB,SAAyBzD,GAAK,OAAOA,EAAEmyD,WAAalyD,OAAOwD,eAAezD,KAA8BA,GAIxM,SAAS,GAAgBA,EAAGqB,GAA+G,OAA1G,GAAkBpB,OAAOgM,gBAAkB,SAAyBjM,EAAGqB,GAAsB,OAAjBrB,EAAEmyD,UAAY9wD,EAAUrB,IAA6BA,EAAGqB,GAOrK,IAAI,GAEJ,SAAUk1D,GAGR,SAASC,IAGP,OAFA,GAAgBruD,KAAMquD,GAEf,GAA2BruD,KAAM,GAAgBquD,GAAO/mC,MAAMtnB,KAAMvF,YAzB/E,IAAsBgO,EAAaC,EAAYC,EAsF7C,OA9EF,SAAmBuhD,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/lD,UAAU,sDAAyD8lD,EAASlxD,UAAYlB,OAAOY,OAAOyxD,GAAcA,EAAWnxD,UAAW,CAAEwD,YAAa,CAAEnE,MAAO6xD,EAAUlmD,UAAU,EAAMC,cAAc,KAAekmD,GAAY,GAAgBD,EAAUC,GAYjX,CAAUkE,EAAOD,GApBG3lD,EA4BP4lD,GA5BoB3lD,EA4Bb,CAAC,CACnB/P,IAAK,eACLN,MAAO,SAAsB4R,GAC3B,IAAIijD,EAAQltD,KAERlD,EAAYkD,KAAKwI,MAAMkkD,cAAgB1sD,KAAKwI,MAAMkkD,aAAa5vD,WAAakD,KAAKwI,MAAM8gD,qBAAuBtpD,KAAKwI,MAAM8gD,oBAAoBxsD,UAC7IwxD,EAAgBtuD,KAAKwI,MAAM8lD,cAC3BC,EAAYz2D,OAAO+D,KAAKoO,GAAQzM,QAAO,SAAUgxD,EAAa3M,GAKhE,MAJkC,WAA9B,GAAQ53C,EAAO43C,MACjB2M,EAAY3M,GAAY53C,EAAO43C,IAG1B2M,IACN,IAEH,OADiB12D,OAAO+D,KAAK0yD,GAAWj0D,OAASsnD,GAAmB0M,GAAiB,GAAIC,EAAWzxD,GAAa,IAC7FhF,OAAO+D,KAAKoO,GAAQzM,QAAO,SAAUgxD,EAAa3M,GACpE,IAAIC,EAAQ73C,EAAO43C,GAWnB,MATiB,iBAAbA,EACF2M,GAAetB,EAAMuB,uBAAuB3M,GACL,WAA9B,GAAQ73C,EAAO43C,MAIxB2M,GAAe5M,GAHQ0M,EAAgBzM,EAASt9C,MAAM,KAAK8N,KAAI,SAAUq8C,GACvE,OAAOJ,EAAgB,IAAMI,EAAK5pD,UACjClH,KAAK,KAAOikD,EACqCC,EAAOhlD,IAGtD0xD,IACN,MAEJ,CACD71D,IAAK,yBACLN,MAAO,SAAgCs2D,GACrC,IAAIC,EAAS5uD,KAETomD,EAAmB,GAIvB,OAHAtuD,OAAO+D,KAAK8yD,GAAoBnsD,SAAQ,SAAUsjD,GAChDM,GAAoB,UAAYN,EAAQ,IAAM8I,EAAOC,aAAaF,EAAmB7I,IAAU,OAE1FM,IAER,CACDztD,IAAK,SACLN,MAAO,WACL,IAAK2H,KAAKwI,MAAMs5C,MACd,OAAO,KAGT,IAAI73C,EAASjK,KAAK6uD,aAAa7uD,KAAKwI,MAAMs5C,OAE1C,OAAO,IAAM3jD,cAAc,QAAS,CAClC2wD,wBAAyB,CACvBC,OAAQ9kD,UAhF4D,GAAkBxB,EAAYzP,UAAW0P,GAAiBC,GAAa,GAAkBF,EAAaE,GAsF3K0lD,EAnET,CAoEE,iBAEF,GAAMl0D,UAAY,CAChBuyD,aAAc,IAAU5zD,OACxBgpD,MAAO,IAAUhpD,OACjBw1D,cAAe,IAAUU,QAE3B,GAAMn1D,aAAe,CACnBy0D,cAAe,IAEF,OAAAlF,GAAmB,ICrGlC,SAAS,GAAkB7gD,EAAQC,GAAS,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAMlO,OAAQlD,IAAK,CAAE,IAAI6E,EAAauM,EAAMpR,GAAI6E,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWgI,cAAe,EAAU,UAAWhI,IAAYA,EAAW+H,UAAW,GAAMlM,OAAOC,eAAewQ,EAAQtM,EAAWtD,IAAKsD,IAI7S,IAAIgzD,GAEJ,WACE,SAASA,EAAYnyD,IATvB,SAAyB+G,EAAU4E,GAAe,KAAM5E,aAAoB4E,GAAgB,MAAM,IAAIrE,UAAU,qCAU5G,CAAgBpE,KAAMivD,GAEtBjvD,KAAKgJ,gBAAa,EAClBhJ,KAAKkvD,gBAAa,EAClBlvD,KAAKmvD,aAAU,EACfnvD,KAAKgJ,WAAalM,EAClBkD,KAAKkvD,WAAa,GAClBlvD,KAAKmvD,QAAU,GAbnB,IAAsB1mD,EAAaC,EAAYC,EAsE7C,OAtEoBF,EAgBPwmD,GAhBoBvmD,EAgBP,CAAC,CACzB/P,IAAK,YACLN,MAAO,SAAmBwtB,GACxB,IAAIqnC,EAAQltD,KAMZ,OAJ2C,IAAvCA,KAAKkvD,WAAW1uD,QAAQqlB,IAC1B7lB,KAAKkvD,WAAWzuD,KAAKolB,GAGhB,CAELob,OAAQ,WACN,IAAImuB,EAAgBlC,EAAMgC,WAAW1uD,QAAQqlB,GAEzCupC,GAAiB,GACnBlC,EAAMgC,WAAWvsD,OAAOysD,EAAe,OAK9C,CACDz2D,IAAK,SACLN,MAAO,SAAgBmrD,GACrB,IAAIoL,EAAS5uD,KAQb,OANKA,KAAKmvD,QAAQ3L,KAChBxjD,KAAKmvD,QAAQ3L,IAAO,EAEpBxjD,KAAKqvD,eAGA,CAELpuB,OAAQ,kBACC2tB,EAAOO,QAAQ3L,GAEtBoL,EAAOS,kBAIZ,CACD12D,IAAK,SACLN,MAAO,WACL,OAAOP,OAAO+D,KAAKmE,KAAKmvD,SAASvxD,KAAK,QAEvC,CACDjF,IAAK,cACLN,MAAO,WACL2H,KAAKkvD,WAAW1sD,SAAQ,SAAUqjB,GAChC,OAAOA,YAjE+D,GAAkBpd,EAAYzP,UAAW0P,GAAiBC,GAAa,GAAkBF,EAAaE,GAsE3KsmD,EAlET,GCRA,SAAS,GAAQ3yD,GAAwT,OAAtO,GAArD,mBAAXnE,QAAoD,iBAApBA,OAAOoE,SAAmC,SAAiBD,GAAO,cAAcA,GAA2B,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXnE,QAAyBmE,EAAIE,cAAgBrE,QAAUmE,IAAQnE,OAAOa,UAAY,gBAAkBsD,IAAyBA,GAExV,SAAS,GAAgBuH,EAAU4E,GAAe,KAAM5E,aAAoB4E,GAAgB,MAAM,IAAIrE,UAAU,qCAEhH,SAAS,GAAkBmE,EAAQC,GAAS,IAAK,IAAIpR,EAAI,EAAGA,EAAIoR,EAAMlO,OAAQlD,IAAK,CAAE,IAAI6E,EAAauM,EAAMpR,GAAI6E,EAAWjE,WAAaiE,EAAWjE,aAAc,EAAOiE,EAAWgI,cAAe,EAAU,UAAWhI,IAAYA,EAAW+H,UAAW,GAAMlM,OAAOC,eAAewQ,EAAQtM,EAAWtD,IAAKsD,IAI7S,SAAS,GAA2B6D,EAAMvI,GAAQ,OAAIA,GAA2B,WAAlB,GAAQA,IAAsC,mBAATA,EAEpG,SAAgCuI,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI+6C,eAAe,6DAAgE,OAAO/6C,EAFb,CAAuBA,GAAtCvI,EAInI,SAAS,GAAgBM,GAAwJ,OAAnJ,GAAkBC,OAAOgM,eAAiBhM,OAAOwD,eAAiB,SAAyBzD,GAAK,OAAOA,EAAEmyD,WAAalyD,OAAOwD,eAAezD,KAA8BA,GAIxM,SAAS,GAAgBA,EAAGqB,GAA+G,OAA1G,GAAkBpB,OAAOgM,gBAAkB,SAAyBjM,EAAGqB,GAAsB,OAAjBrB,EAAEmyD,UAAY9wD,EAAUrB,IAA6BA,EAAGqB,GAMrK,IA8Ee,GAAAkwD,GA5Ef,SAAUkG,GAIR,SAASC,IACP,IAAIrC,EAwBJ,GAtBA,GAAgBltD,KAAMuvD,IAEtBrC,EAAQ,GAA2BltD,KAAM,GAAgBuvD,GAAYjoC,MAAMtnB,KAAMvF,aAC3E+tD,iBAAc,EACpB0E,EAAMsC,mBAAgB,EACtBtC,EAAMuC,WAAQ,EACdvC,EAAMwC,UAAO,EAEbxC,EAAMyC,UAAY,WAChB,IAAIC,EAAU1C,EAAM1E,YAAYqH,SAEhC,GAAID,IAAY1C,EAAMwC,KAAM,CAC1B,IAAIxC,EAAMuC,MAGR,MAAM,IAAI5sD,MAAM,4DAFhBqqD,EAAMuC,MAAMK,UAAYF,EAK1B1C,EAAMwC,KAAOE,KAIZ1C,EAAM1kD,MAAM+gD,mBACf,MAAM,IAAI1mD,MAAM,2CAKlB,OAFAqqD,EAAM1E,YAAc0E,EAAM1kD,MAAM+gD,mBAChC2D,EAAMwC,KAAOxC,EAAM1E,YAAYqH,SACxB3C,EArDX,IAAsBzkD,EAAaC,EAAYC,EA2F7C,OAnFF,SAAmBuhD,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/lD,UAAU,sDAAyD8lD,EAASlxD,UAAYlB,OAAOY,OAAOyxD,GAAcA,EAAWnxD,UAAW,CAAEwD,YAAa,CAAEnE,MAAO6xD,EAAUlmD,UAAU,EAAMC,cAAc,KAAekmD,GAAY,GAAgBD,EAAUC,GAWjX,CAAUoF,EAAYD,GAnBF7mD,EAwDP8mD,GAxDoB7mD,EAwDR,CAAC,CACxB/P,IAAK,oBACLN,MAAO,WACL2H,KAAKwvD,cAAgBxvD,KAAKwoD,YAAYziC,UAAU/lB,KAAK2vD,WAErD3vD,KAAK2vD,cAEN,CACDh3D,IAAK,wBACLN,MAAO,WACL,OAAO,IAER,CACDM,IAAK,uBACLN,MAAO,WACD2H,KAAKwvD,eACPxvD,KAAKwvD,cAAcvuB,WAGtB,CACDtoC,IAAK,SACLN,MAAO,WACL,IAAIu2D,EAAS5uD,KAEb,OAAO,IAAM7B,cAAc,QAAS,CAClC2wD,wBAAyB,CACvBC,OAAQ/uD,KAAK0vD,MAEf/jC,IAAK,SAAal0B,GAChBm3D,EAAOa,MAAQh4D,UArFqD,GAAkBgR,EAAYzP,UAAW0P,GAAiBC,GAAa,GAAkBF,EAAaE,GA2F3K4mD,EAzET,CA0EE,cClGF,SAAS,GAAyBnsD,EAAQokB,GAAY,GAAc,MAAVpkB,EAAgB,MAAO,GAAI,IAAkEzK,EAAKvB,EAAnEmR,EAEzF,SAAuCnF,EAAQokB,GAAY,GAAc,MAAVpkB,EAAgB,MAAO,GAAI,IAA2DzK,EAAKvB,EAA5DmR,EAAS,GAAQkf,EAAa3vB,OAAO+D,KAAKuH,GAAqB,IAAKhM,EAAI,EAAGA,EAAIqwB,EAAWntB,OAAQlD,IAAOuB,EAAM8uB,EAAWrwB,GAAQowB,EAAShnB,QAAQ7H,IAAQ,IAAa4P,EAAO5P,GAAOyK,EAAOzK,IAAQ,OAAO4P,EAFxM,CAA8BnF,EAAQokB,GAAuB,GAAI1vB,OAAOsD,sBAAuB,CAAE,IAAIuvD,EAAmB7yD,OAAOsD,sBAAsBgI,GAAS,IAAKhM,EAAI,EAAGA,EAAIuzD,EAAiBrwD,OAAQlD,IAAOuB,EAAMgyD,EAAiBvzD,GAAQowB,EAAShnB,QAAQ7H,IAAQ,GAAkBb,OAAOkB,UAAU+7B,qBAAqBx9B,KAAK6L,EAAQzK,KAAgB4P,EAAO5P,GAAOyK,EAAOzK,IAAU,OAAO4P,EAene,IAAIwnD,GAAiB,IAAS,SAAUnoD,GACtC,IAAIqX,EAAWrX,EAAKqX,SAChB0tC,EAAa,GAAyB/kD,EAAM,CAAC,aAEjD,OAAO,IAAMzJ,cAAc,MAAOwuD,EAAY1tC,EAAU,IAAM9gB,cAAc,GAAY,UAgB3E,GAbC,SAAmBqK,GAKjC,IAAIkkD,EAAelkD,EAAMkkD,aACrBsD,EAAgB,qBAAW7G,IAC3BX,EAAc,iBAnBpB,SAAwByH,EAAYD,GAClC,IAAIlzD,EAAYmzD,GAAcA,EAAWnzD,WAAakzD,GAAiBA,EAAclzD,UACrF,OAAO,IAAImyD,GAAYnyD,GAiBEozD,CAAexD,EAAcsD,IACtD,OAAO,IAAM7xD,cAAc+qD,GAAmB/hC,SAAU,CACtD9uB,MAAOmwD,EAAY9mD,SAClB,IAAMvD,cAAc4xD,GAAgBvnD,KCxBzC,SAAS2nD,GAAO1E,GACd,OAAO,GAASA,GASlB0E,GAAOC,QAAU,GACjBD,GAAO9B,MAAQ,GACf8B,GAAOE,UAAY,GACnBF,GAAOlpC,SAAW,GAClBkpC,GAAOhN,UCnBQ,SAAmBmN,EAAe34D,GAC/C,MAAO,CACLgsD,mBAAmB,EACnBJ,UAAW,SAAmBzmD,GAC5B,IAAIyzD,EAAoB,aAAqBzzD,GACzCglD,EAAQhqD,OAAO+D,KAAKy0D,GAAej+C,KAAI,SAAUm+C,GACnD,OAAO5O,GAAmB4O,EAAYF,EAAcE,GAAa1zD,MAChEc,KAAK,MACJ0N,GAAiB3T,EAAOA,EAAO,IAAM,IAAM,oBAAsB2qD,GAAKR,GAE1E,MAAO,CACL0B,IAFQ,IAAM+M,EAAoB,IAAMjlD,EAAgB,OAASw2C,EAAQ,QAGzEx2C,cAAeA,MDiBR,U,ozBE1BTmlD,G,YACF,WAAYjoD,GAAO,a,4FAAA,UACf,0BAAMA,KACDsf,MAAQ,CACT4oC,KAAMloD,EAAMmoD,YACZ/T,YAAa,KACbgU,UAAU,GALC,E,gTASa15B,GAC5B,MAAO,CAAC05B,UAAU,O,2CAGJrqD,EAAOsqD,GAAM,IACpBzlC,EAAYprB,KAAKwI,MAAjB4iB,SACPA,EACIqtB,GAAQ,CACJiY,KAAM1wD,KAAK8nB,MAAM4oC,KACjBt2D,KAAM,WACNmM,QACAsqD,UAGRzlC,EAASovB,M,yCAGM2S,EAAWC,GAC1B,IAAM0D,EAAe3D,EAAUluC,SAE1Bjf,KAAK8nB,MAAM8oC,UACZE,IAAiB1D,EAAUxQ,aAC3BkU,IAAiB9wD,KAAKwI,MAAMyW,UAG5Bjf,KAAKikD,SAAS,CACVrH,YAAakU,M,+BAKhB,MAC2B9wD,KAAK8nB,MAA9B8oC,EADF,EACEA,SAAUhU,EADZ,EACYA,YACjB,OAAOgU,EAAWhU,EAAc58C,KAAKwI,MAAMyW,c,gCA3CH8xC,aA+ChDN,GAAkCt2D,UAAY,CAC1C8kB,SAAU+xC,IAAUl4D,OACpB63D,YAAaK,IAAUhC,OACvBzoD,MAAOyqD,IAAUl4D,OACjBsyB,SAAU4lC,IAAUvwB,MAGxB,IASewwB,GATgBC,IAC3B,SAAAppC,GAAK,MAAK,CACNvhB,MAAOuhB,EAAMvhB,UAEjB,SAAA6kB,GACI,MAAO,CAACA,cALe8lC,CAO7Bf,GAAOM,K,4zCCtCT,SAASU,GAAkBC,GACvB,GAAkC,UAA9Bh3D,GAAKg3D,GACL,MAAM,IAAIvuD,MACN,oLAIIyW,KAAKgrB,UAAU8sB,EAAqB,KAAM,IAGtD,GACkC,WAA9Bh3D,GAAKg3D,MAED53C,GAAI,YAAa43C,IACjB53C,GAAI,OAAQ43C,IACZ53C,GAAI,QAAS43C,IAGjB,MAAM,IAAIvuD,MACN,8JAGIyW,KAAKgrB,UAAU8sB,EAAqB,KAAM,IAK1D,IAAMC,GAAkB,SAACt2D,EAAW2K,GAAZ,OACpB4rD,GAAkBv2D,GACdA,EAEA,kBAACw2D,GAAD,CACI54D,IACIoC,GAAaA,EAAUyN,OAAS67B,GAAYtpC,EAAUyN,MAAM25B,IAEhEqvB,oBAAqBz2D,EACrB02D,kBAAmB/rD,KAI/B,SAASgsD,GAAiBx4D,GAAG,IAClB68C,EAA8C78C,EAA9C68C,QAAS4b,EAAqCz4D,EAArCy4D,WAAYnpD,EAAyBtP,EAAzBsP,MAAOyW,EAAkB/lB,EAAlB+lB,SAAU7kB,EAAQlB,EAARkB,KAEvCw0B,ECtDK,SACXgjC,EACAlxD,EACAsa,EACAgtC,EACA6J,GAEA,IAAMC,EAAS,GACf,IAAK,IAAMC,KAAgBH,EACvB,GAAIA,EAAU34D,eAAe84D,GAAe,CACxC,IAAIxrD,OAAK,EAIT,IAG2C,mBAA5BqrD,EAAUG,IACjBxrD,EAAQ1D,OACHmlD,GAAiB,eACd,KACAhtC,EACA,UACA+2C,EACA,6FALJ,GAOWH,EAAUG,IACjB,OAEFp6D,KAAO,sBAEb4O,EAAQqrD,EAAUG,GACdrxD,EACAqxD,EACA/J,EACAhtC,EACA,KACAg3C,MAGV,MAAOC,GACL1rD,EAAQ0rD,EAkBZ,IAhBI1rD,GAAWA,aAAiB1D,OAC5BivD,EAAOrxD,MACFunD,GAAiB,eACd,2BACAhtC,EACA,KACA+2C,EACA,2FALJ,GAOWxrD,GACP,kKAMRA,aAAiB1D,MAAO,CACxB,IAAIsY,EAAS02C,GAAYA,KAAe,GAExCC,EAAOrxD,KACH,UAAYua,EAAW,UAAYzU,EAAM3C,QAAUuX,IAKnE,OAAO22C,EAAOl0D,KAAK,QDdEs0D,CACjBnc,EAAQ57C,UACRqO,EACA,iBACAutC,GAMJ,OAJInnB,GE5ED,SAA8BhrB,EAAS4E,EAAOpO,GAmCjD,IACIw0B,EADEujC,EAAevuD,EAAQW,MAAM,KAEnC,GAAI8hC,GAAS,wBAAyBziC,GAAU,CAC5C,IAAMwuD,EAAkBD,EAAa,GACrCvjC,EAAe,GAAH,OAAMwjC,EAAN,eAA4Bh4D,GACpCoO,EAAM25B,KACNvT,GAAgB,aAAJ,OAAiBpmB,EAAM25B,GAAvB,MAEhBvT,GAAgB,6CACb,GAAIyX,GAAS,aAAcziC,GAK9BgrB,EACIhrB,EAAQW,MAAM,gBAAgB,GAA9B,sBACenK,GACf,SACAwJ,EAAQW,MAAM,UAAU,OACzB,KACH8hC,GAAS,WAAYziC,KACrByiC,GAAS,gBAAiBziC,GAyD1B,MAAM,IAAIf,MAAMe,GAvDhB,IAAMwuD,EAAkBD,EAAa,GAarC,GAXAvjC,EAAe,qBAAH,OAAyBwjC,EAAzB,yBAA0Dh4D,GAClEoO,EAAM25B,KACNvT,GAAgB,aAAJ,OAAiBpmB,EAAM25B,GAAvB,MAEhBvT,GAAgB,IAOZyX,GAAS,cAAeziC,GAAU,CAClC,IAAMyuD,EAAmBzuD,EAAQW,MAAM,eAAe,GACtDqqB,GAAgB,cAAJ,OAAkByjC,GAQlC,GAAIhsB,GAAS,aAAcziC,GAAU,CACjC,IAAM0uD,EAA0B1uD,EAC3BW,MAAM,cAAc,GACpBA,MAAM,KAAK,GAChBqqB,GAAgB,wBAAJ,OAA6B0jC,EAA7B,MAGhB,GAAI94C,GAAI44C,EAAiB5pD,GAAQ,CAM7B,IAAM+pD,EAAoBj5C,KAAKgrB,UAC3B97B,EAAM4pD,GACN,KACA,GAEAG,IACIlsB,GAAS,KAAMksB,GACf3jC,GAAgB,uBAAJ,OAA2B2jC,GAEvC3jC,GAAgB,qBAAJ,OAAyB2jC,KAarD,MAAM,IAAI1vD,MAAM+rB,GFvCZ4jC,CAAqB5jC,EAAcpmB,EAAOpO,GAGvC+D,GAAc43C,EAASvtC,EAAOmpD,EAAY1yC,GAYrD,SAAS9gB,GAAc43C,EAASvtC,EAAOmpD,EAAY1yC,GAC/C,IAAMwzC,EAAWvlB,GAAW1kC,EAAOmpD,GACnC,OAAIj0D,MAAMC,QAAQshB,GACPyzC,IAAMv0D,cAAN,MAAAu0D,IAAK,CAAe3c,EAAS0c,GAAxB,UAAqCxzC,KAE9CyzC,IAAMv0D,cAAc43C,EAAS0c,EAAUxzC,GAdlDyyC,GAAiBv3D,UAAY,CACzB8kB,SAAU+xC,IAAUl0B,IACpBiZ,QAASib,IAAUl0B,IACnB+S,OAAQmhB,IAAUl0B,IAClBt0B,MAAOwoD,IAAUl0B,IACjB60B,WAAYX,IAAUl0B,IACtBqF,GAAI6uB,IAAUhC,Q,IAWZ2D,G,YACF,WAAYnqD,GAAO,a,4FAAA,UACf,E,uEAAA,sBAAMA,KAEDoqD,SAAW,EAAKA,SAASh6D,KAAd,OAHD,E,iSAMV2lD,GAAU,MAMXv+C,KAAKwI,MAJLqqD,EAFW,EAEXA,oBACAC,EAHW,EAGXA,sBACArB,EAJW,EAIXA,kBACAD,EALW,EAKXA,oBAGEuB,EAAW/yD,KAAKgzD,iBACf7wB,EAAM4wB,EAAN5wB,GACDwd,EAAevS,IACjB,SAACrvC,EAAKpF,GAAN,OAAe29B,GAAOv4B,EAAKg1D,EAASp6D,MACpC4lD,GAEJ,IAAKnY,GAAQuZ,GAAe,CAExB,IAAMsT,EpEwgCX,SAAwB9wB,EAAIoc,EAAUnU,GACzC,KAAMjI,GAAMiI,GAAUmU,EAASjkD,QAC3B,MAAO,GAGX,GAAkB,iBAAP6nC,EAAiB,CACxB,IAAM2D,EAASsE,EAAOe,SAAShJ,GAC/B,OAAO2D,EAASyY,EAAS76C,QAAO,SAAAwvD,GAAO,OAAIptB,EAAOotB,MAAY,GAGlE,IAAMr3D,EAAO/D,OAAO+D,KAAKsmC,GAAI1C,OACvB/D,EAAOlzB,GAAM3M,EAAMsmC,GACnBC,EAASvmC,EAAK+B,KAAK,KACnB+7C,EAAcvP,EAAOkB,cAAclJ,GACzC,OAAKuX,EAGE4E,EAAS76C,QAAO,SAAAgS,GACnB,IAAM40B,EAAWqP,EAAYjkC,GAC7B,OACI40B,GACAA,EAAS1I,MAAK,SAAAhE,GAAO,OAAI4K,GAAQ3sC,EAAM6/B,EAAMkC,EAAQl9B,cANlD,GoEvhCiByyD,CAChBhxB,EACAtmC,GAAK8jD,GACLkT,IlC2KT,SAAsBhjB,EAAQ0O,EAAUnzB,GAAU,MASjDkrB,GAASzG,GAPT8G,EAFiD,EAEjDA,WACAxU,EAHiD,EAGjDA,GACA35B,EAJiD,EAIjDA,MACAutC,EALiD,EAKjDA,QACAM,EANiD,EAMjDA,YACAI,EAPiD,EAOjDA,gBACAC,EARiD,EAQjDA,iBAECC,GAAeN,GAIpB7zC,IAAQ,SAAA4zC,GAAiB,SACQA,EAAc7xC,MAAM,KAD5B,GACdyxC,EADc,KACJC,EADI,KAErB,QAA2BlxC,IAAvBw5C,EAASvI,GAAyB,CAClC,IAAMe,EAAU5B,GAASuB,EAAkBtrB,GACpCsqB,EAAWI,GAAaC,EAASC,EAAUC,GAA3CP,QAED0d,EAAUjd,GAAWhU,EAAIiU,EAAeC,GAC1CgB,EAAc3B,EAAQltC,EAAMwtC,IAC1BoB,EAAS1B,EAAQ6I,EAASvI,IAKhC,GAAIqB,IAAgBD,EAAQ,CACpBL,EAAQI,QAAQic,KAChB/b,EAAcN,EAAQ1C,QAAQ+e,GAAS,IAE3C,IAAM13B,OACc32B,IAAhBsyC,EACM,CAACD,GACD,CAACA,EAAQC,GACnBN,EAAQzC,QAAQ8e,EAAS13B,EAAMtQ,OAGxCqrB,GkC5MK4c,CAAa7B,EAAqBjT,EAAUuU,GAG5CA,EACI7a,GAAY,CACRzvC,MAAOm3C,EACPzd,SAAUuvB,KAKdwB,EAAY34D,QACZw4D,EACIrY,GAAgB,CACZtY,KACA35B,MAAOuyC,GAAKkY,EAAatT,S,kCAOjC2T,EAAY5tD,GACpB,OAAI6tD,GAAMD,GACC,KAGJ51D,MAAMC,QAAQ21D,GACfE,GAASnhD,GAATmhD,EACI,SAACz4D,EAAW3D,GAAZ,OACIi6D,GACIt2D,EACAe,GAAO4J,EAAM,CAAC,QAAS,WAAYtO,OAE3Ck8D,GAEJjC,GAAgBiC,EAAYx3D,GAAO4J,EAAM,CAAC,QAAS,gB,mCAGhD8rD,EAAqBvyC,EAAUw0C,EAAeb,GAAU,IAC1Dc,EAAuB1zD,KAAKwI,MAA5BkrD,oBAEP,GAAIttB,GAAQorB,GACR,OAAO,KAGX,GAAIF,GAAkBE,GAClB,OAAOA,EAEXL,GAAkBK,GAElB,IAAMzb,EAAUQ,GAAiBib,GAE3BhpD,EAAQ2kC,GAAO,WAAYqkB,EAAoBhpD,OAE9B,WAAnBpO,GAAKoO,EAAM25B,MAIX35B,EAAM25B,GAAKkC,GAAY77B,EAAM25B,KAEjC,IAAMwvB,EAAa,CAAC8B,gBAAeb,YAEnC,OACI,kBAAC,GAAD,CACIe,cAAenC,EAAoBp3D,KACnCu2D,YAAanoD,EAAM25B,GACnBxpC,IAAK6P,EAAM25B,IAEVuxB,EAAoBE,YACjB,kBAAClC,GAAD,CACIzyC,SAAUA,EACV82B,QAASA,EACTvtC,MAAOA,EACPmpD,WAAYA,EACZv3D,KAAMo3D,EAAoBp3D,OAG9B+D,GAAc43C,EAASvtC,EAAOmpD,EAAY1yC,M,4CAMpC40C,GAAW,IACtBrC,EAAkDqC,EAAlDrC,oBAAqBsC,EAA6BD,EAA7BC,0BAC5B,OACItC,IAAwBxxD,KAAKwI,MAAMgpD,qBACnCsC,EAA0BC,aACtB/zD,KAAKwI,MAAMsrD,0BAA0BC,a,uCAK7C,OAAOC,GAAO,GAAI,QAASh0D,KAAKwI,MAAMgpD,uB,+BAGjC,MAKDxxD,KAAKwI,MAHLgpD,EAFC,EAEDA,oBACAsC,EAHC,EAGDA,0BACArC,EAJC,EAIDA,kBAGEwC,EAAcj0D,KAAKgzD,iBAEnB/zC,EAAWjf,KAAKk0D,YAClBD,EAAYh1C,SACZwyC,GAGJ,OAAOzxD,KAAKm0D,aACR3C,EACAvyC,EACA60C,EACA9zD,KAAK4yD,e,gCAlJW7B,aAgK5B,SAASqD,GAAmBvkB,GAExB,OADAshB,GAAkBthB,GACX0G,GAAiB1G,GAAQwkB,gCAoCpC,SAASC,GAAgBzkB,EAAQhD,GAC7B,IAKI0nB,EACAC,EANE9Y,EAAM0Y,GAAmBvkB,GAlCnC,SAAsBA,GAIlB,IAHA,IAAM6L,EAAM,GACNI,EAAQ,CAACjM,GAERiM,EAAMxhD,QAAQ,CACjB,IAAMm6D,EAAgB3Y,EAAMtlC,QAEtBhO,EAAQisD,GAAiBA,EAAcjsD,MAE7C,GAAKA,EAAL,CALiB,IASVyW,EAAgBzW,EAAhByW,SAAUkjB,EAAM35B,EAAN25B,GAMjB,GAJIA,GACAuZ,EAAIj7C,KAAK0hC,GAGTljB,EAAU,CACV,IAAMy1C,EAAmBhxD,IACrB,SAAAg9B,GAAK,OACA4wB,GAAkB5wB,KAAW0zB,GAAmB1zB,KACrDhjC,MAAMC,QAAQshB,GAAYA,EAAW,CAACA,IAG1C68B,EAAMr7C,KAAN,MAAAq7C,EAAK,GAAS4Y,MAItB,OAAOhZ,EAKDiZ,CAAa9kB,GACbA,GAAUA,EAAOrnC,MAAM25B,IAAM,CAAC0N,EAAOrnC,MAAM25B,IAE7CyyB,GAAY,EAIhB,GAAI/nB,GAAoBA,EAAiBvyC,QAAUohD,GAAOA,EAAIphD,OAAQ,CAClE,IAAMu6D,EAASnZ,EAAIrpC,IAAIgyB,IAEvBwI,EAAiBrqC,SAAQ,SAAA2pC,GAAM,IACpBrC,EAA+BqC,EAA/BrC,UAAWC,EAAoBoC,EAApBpC,sBACAhlC,IAAd+kC,GAIJ+qB,EAAOryD,SAAQ,SAAAyhC,GACX,IAAMz7B,EAAQuhC,EAAiB9F,GAC3Bz7B,IACAosD,GAAY,EAEZJ,EAAmBvwB,EACnBswB,EAAc/rD,EAAM,UAOpC,MAAO,CACHurD,WAAYa,EACZE,UAAWP,EACXQ,eAAgBP,GAjFxB7B,GAAcx4D,UAAY,CACtB04D,oBAAqB7B,IAAUl0B,IAC/Bg2B,sBAAuB9B,IAAUvwB,KACjC+wB,oBAAqBR,IAAUl4D,OAC/Bg7D,0BAA2B9C,IAAUl4D,OACrC46D,oBAAqB1C,IAAUl4D,OAC/B24D,kBAAmBT,IAAUzD,OA+E1B,IAAMgE,GAAyBL,IAClC,SAAAppC,GAAK,MAAK,CACNsiB,OAAQtiB,EAAMsiB,OACdyC,iBAAkB/kB,EAAM+kB,iBACxB5M,OAAQnY,EAAMmY,WAElB,SAAA7U,GAAQ,MAAK,CAACA,eACd,SAACsF,EAAYC,EAAeR,GAA5B,MAA0C,CACtC0iC,oBAAqBniC,EAAW0Z,OAChC0oB,sBAAuBniC,EAAcvF,SACrComC,oBAAqBrhC,EAASqhC,oBAC9BC,kBAAmBthC,EAASshC,kBAC5BqC,0BAA2BQ,GACvBnkC,EAASqhC,oBACT9gC,EAAWmc,kBAEf6mB,oBAAqBhjC,EAAWuP,UAhBFixB,CAkBpCyB,IAEapB,M,ozBGnWTyD,G,YACF,WAAYxsD,GAAO,O,4FAAA,iCACTA,I,iSAGN,OAAO,yBAAK25B,GAAG,qBAAqBniC,KAAKwI,MAAMyW,e,gCALpB8xC,aASnCiE,GAAqB76D,UAAY,CAC7B8kB,SAAU+xC,IAAUl4D,QAGTk8D,UCSf,IAAM15C,GAAU,CAAC25C,IArBjB,SAAavvD,EAAMwvD,GACf,OAAO95C,MACH1V,EACAipC,GAAeumB,EAAa,CACxBn7C,OAAQ,MACRpD,QAASwjC,SAgBCgb,KAXtB,SAAczvD,EAAMwvD,GAAwB,IAAXn+C,EAAW,uDAAJ,GACpC,OAAOqE,MACH1V,EACAipC,GAAeumB,EAAa,CACxBn7C,OAAQ,OACRpD,QAASwjC,KACTpjC,KAAMA,EAAOuC,KAAKgrB,UAAUvtB,GAAQ,UAOjC,SAASq+C,GAASC,EAAUt7C,EAAQmM,EAAOic,EAAIprB,GAC1D,OAAO,SAACqU,EAAUnE,GACd,IAAMgZ,EAAShZ,IAAWgZ,OACpBhmB,EAAM,GAAH,OAAM+lB,GAAQC,IAAd,OAAwBo1B,GAMjC,OAJAjqC,EAAS,CACLhxB,KAAM8rB,EACN+B,QAAS,CAACka,KAAI1nB,OAAQ,aAEnBa,GAAQvB,GAAQE,EAAKgmB,EAAO7kB,MAAOrE,GACrChQ,MAAK,SAAAy2C,GACF,IAAM8X,EAAc9X,EAAI7mC,QAAQ1e,IAAI,gBACpC,OACIq9D,IAC6C,IAA7CA,EAAY90D,QAAQ,oBAEbg9C,EAAInkC,OAAOtS,MAAK,SAAAsS,GASnB,OARA+R,EAAS,CACLhxB,KAAM8rB,EACN+B,QAAS,CACLxN,OAAQ+iC,EAAI/iC,OACZo3B,QAASx4B,EACT8oB,QAGD9oB,KAGR+R,EAAS,CACZhxB,KAAM8rB,EACN+B,QAAS,CACLka,KACA1nB,OAAQ+iC,EAAI/iC,aAvBrB,OA2BI,SAAAS,GAEHgiC,GAAiBhiC,EADD,wBAA0Bm6C,EACXjqC,O,ufCtC/C,IAAMmqC,GAAuB,SAAA/sD,GAAS,SACMgtD,oBAAS,GADf,GAC3BC,EAD2B,KACbC,EADa,KAG5B10B,EAAS20B,iBAAO,MACjB30B,EAAOt/B,UACRs/B,EAAOt/B,QAAU,IAAIk/B,IAEzB,IAAMg1B,EAAeD,kBAAO,GAE5BE,oBAAUC,GAAYl9D,KAAK,KAAM4P,EAAOw4B,EAAQ00B,IAEhDG,qBAAU,WACFD,EAAal0D,UACbk0D,EAAal0D,SAAU,EACvBs/B,EAAOt/B,QAAQq0D,KAAK,gBAdM,IA0B9BlkB,EAPAtB,EAKA/nC,EALA+nC,aACAylB,EAIAxtD,EAJAwtD,oBACAC,EAGAztD,EAHAytD,cACApmB,EAEArnC,EAFAqnC,OACA5P,EACAz3B,EADAy3B,OA2BJ,OAtBIg2B,EAAcx7C,SACb4rB,GAAS4vB,EAAcx7C,OAAQ,CAACg5B,GAAW,YAE5C5B,EAAU,yBAAKgU,UAAU,eAAf,wBAEV4P,GACCO,EAAoBv7C,SAChB4rB,GAAS2vB,EAAoBv7C,OAAQ,CAACg5B,GAAW,YAEtD5B,EAAU,yBAAKgU,UAAU,eAAf,8BACHtV,IAAiBJ,GAAY,aACpCylB,EAAal0D,SAAU,EACvBmwC,EACI,kBAAC,GAAD,CACI2f,oBAAqB3hB,EACrB4hB,kBAAmB,MAI3B5f,EAAU,yBAAKgU,UAAU,iBAAf,cAGP5lB,IAAwB,IAAdA,EAAOi2B,GACpB,kBAAC,GAAD,KAAuBrkB,GAEvBA,GAIR,SAASikB,GAAYttD,EAAOw4B,EAAQ00B,GAAiB,IAE7CnlB,EAOA/nC,EAPA+nC,aACAylB,EAMAxtD,EANAwtD,oBACA5qC,EAKA5iB,EALA4iB,SACA7kB,EAIAiC,EAJAjC,MACA6jC,EAGA5hC,EAHA4hC,OACAyF,EAEArnC,EAFAqnC,OACAomB,EACAztD,EADAytD,cAGJ,GAAI7vB,GAAQ6vB,GACR7qC,EAASgqC,GAAS,eAAgB,MAAO,uBACtC,GAAIa,EAAcx7C,SAAWg5B,IAC5BrN,GAAQyJ,GAAS,CACjB,IAAMsmB,EAAcvf,GAChBqf,EAAcpkB,QACdzmB,GAEJA,EACIgtB,GAASjX,GAAag1B,EAAa,GAAI,KAAMn1B,EAAOt/B,WAExD0pB,EAASotB,GAAU2d,IAiB3B,GAbI/vB,GAAQ4vB,GACR5qC,EAASgqC,GAAS,qBAAsB,MAAO,wBACxCY,EAAoBv7C,SAAWg5B,IAAarN,GAAQgE,IAC3Dhf,EACI+sB,GzE0eL,SAAuB9vB,EAAcqd,GAExC,IAAM0wB,EAAa,IAAIt0D,YAEjBu0D,EAAuB,GAEvBC,EAASjkD,GAAI2pB,GAAO,CAACmG,GAAI6B,MACzByB,EAAqBpzB,IAAI,SAAAwzB,GAAO,IA3gBZ0wB,EA4gBf55B,EAAUkJ,EAAVlJ,OACDjC,EAAMsB,GAAO,CAAC8J,OAAQwwB,EAAQxuC,MAAOwuC,GAASzwB,GAKpD,OAJAnL,EAAIqL,QAAU1zB,IACV,SAAA20B,GAAI,OAAIkD,GAAM,OAAO,EAAMrG,GAAemD,MAC1CnE,GAAkBlG,IAhhBA45B,EAghB+B55B,GA/gBlC93B,OAAO,EAAG0xD,EAAgBj8D,OAAS,GAAGiK,MAAM,OA+gBA,CAACo4B,IAEzDjC,IACRrS,GAECuoC,GAAW,EAKfprB,GAAqBC,GAJH,SAAC7hC,EAAS80C,GACxBkY,GAAW,EACXlrB,EAAc9hC,EAAS80C,MA0B3B,IAAMrO,EAAY,GACZc,EAAW,GACXZ,EAAiB,GACjBe,EAAgB,GAEhBkrB,EAAc,CAChB3c,WAAYuc,EACZ/rB,YACAc,WACAZ,iBACAe,gBACA/F,UAAWE,GAGf,GAAImrB,EAGA,OAAO4F,EAgDX,SAASC,EAAWtxB,EAAQuxB,GACxB,IAAIC,EAAS,CAAC,IA2Bd,OA1BA70B,IAAkB,SAAC/jC,EAAKpF,GACpB,IAAMi+D,EAAWP,EAAqB19D,GAAK+iC,KACrCm7B,EAAcD,EAASp2D,QAAQk2D,EAAW/9D,IAC5CspC,EAAU,CAAClkC,GACXA,GAAOA,EAAIklC,OAGHhB,EAFJlkC,IAAQqlC,GACJyzB,EAAc,EACJD,EAASh3D,MAAM,EAAGi3D,GAGlB,IAOO,IAAjBA,GAAsB94D,IAAQilC,GACxB4zB,EACA,CAACF,EAAW/9D,KAK9Bg+D,EAASj6B,GAAGA,GAAG,CAACwN,GAAMvxC,IAAOspC,GAAU00B,KACxCxxB,GACIwxB,EAmEX,OA5IAlxB,EAAmBjjC,SAAQ,SAAAwiC,GAAc,IAC9Be,EAAmBf,EAAnBe,QAASD,EAAUd,EAAVc,OAEhBC,EAAQjqC,OAAOgqC,GAAQtjC,SAAQ,SAAA2yB,GAAQ,IAC5BgN,EAAMhN,EAANgN,GACW,WAAd,GAAOA,IACPL,IAAkB,SAAC/jC,EAAKpF,GACf09D,EAAqB19D,KACtB09D,EAAqB19D,GAAO,CACxBm+D,MAAO,GACPzzB,OAAQ,IAGhB,IAAM0zB,EAAkBV,EAAqB19D,GACzCoF,GAAOA,EAAIklC,KACPllC,EAAIslC,SACJ0zB,EAAgB1zB,QAAU,IAEiB,IAAxC0zB,EAAgBD,MAAMt2D,QAAQzC,IACrCg5D,EAAgBD,MAAMr2D,KAAK1C,KAEhCokC,SAKfL,IAAkB,SAAAi1B,GAAmB,IA1hBvB/5C,EA2hBH85C,EAAiBC,EAAjBD,MAAOzzB,EAAU0zB,EAAV1zB,OACR3H,EAAOo7B,EAAMl3D,QAAQ6/B,KAAK8E,IAChC,GAAIlB,EACA,IAAK,IAAIjsC,EAAI,EAAGA,EAAIisC,EAAQjsC,IACpB0/D,EAAMx8D,QACNohC,EAAK/4B,OAAO,EAAG,EAAG,EAhiBpBqa,EAgiB+B0e,EAAK,GAhiB9B+I,KAAUznB,GAAKA,EAAI,EAAI,KAiiB3B0e,EAAKj7B,KAAKokC,GAASnJ,EAAKA,EAAKphC,OAAS,MAEtCohC,EAAKj7B,KAAKrJ,QAGV0/D,EAAMx8D,QAEdohC,EAAKj7B,KAAK,GAEds2D,EAAgBr7B,KAAOA,IACxB26B,GAiCH5wB,EAAmBjjC,SAAQ,SAA4BwiC,GAAY,IACxDe,EAAmBf,EAAnBe,QAASD,EAAUd,EAAVc,OAIhB,SAASkxB,EAAgBC,EAAUC,GAC/Bd,EAAWh0D,QAAQ60D,GACnBb,EAAWrzD,cAAck0D,EAAUC,GAGvC,SAASC,EAAiBT,EAAYQ,GAClCd,EAAWh0D,QAAQ80D,GACnBpxB,EAAOtjC,SAAQ,SAAA40D,GAAS,IACT/vB,EAAkB+vB,EAAtBj1B,GAAUppC,EAAYq+D,EAAZr+D,SACG,WAAhB,GAAOsuC,GACUovB,EAAWpvB,EAAMqvB,GACzBl0D,SAAQ,SAAA2/B,GACb60B,EACI5yB,GAAiB,CAACjC,KAAIppC,aACtBm+D,MAIRF,EAAgB5yB,GAAiBgzB,GAAQF,MAvBU,MAiCrCzvB,GAAiB1B,EAAQ,GAAG5D,IAA/CuF,EAjCwD,EAiCxDA,QAASa,EAjC+C,EAiC/CA,OACV8uB,EAAkBnqB,GACpB,CAAC3E,SAAQb,UAAS3B,WAClBf,GAGJe,EAAQvjC,SAAQ,SAAA00D,GAAa,IACdjwB,EAAmBiwB,EAAvB/0B,GAAWppC,EAAYm+D,EAAZn+D,SACG,WAAjB,GAAOkuC,IACWwvB,EAAWxvB,EAAO,IAC1BzkC,SAAQ,SAAA2/B,GACdg1B,EAAiBh1B,EAAIiC,GAAiB,CAACjC,KAAIppC,iBAG/CmsC,GAAWqF,EAAgBtD,EAAOluC,EAAUs+D,KAE5CF,EAAiB,GAAI/yB,GAAiB8yB,IACtCpyB,GAAOuF,EAAWpD,EAAOluC,EAAUs+D,OAI3CvxB,EAAOtjC,SAAQ,SAAA80D,GAAe,IACfjwB,EAA0BiwB,EAA9Bn1B,GAAoBmF,EAAUgwB,EAApBv+D,SACG,WAAhB,GAAOsuC,GACPnC,GAAWoG,EAAejE,EAAMC,EAAQ+vB,GAExCvyB,GAAOqG,EAAU9D,EAAMC,EAAQ+vB,SAKpCb,EyEvrBKe,CACIvB,EAAoBnkB,QACpBnM,GAActa,MAQ1B4qC,EAAoBv7C,SAAWg5B,KAC9BrN,GAAQgE,IAET6rB,EAAcx7C,SAAWg5B,KACxBrN,GAAQyJ,IAETU,IAAiBJ,GAAY,WAC/B,CACE,IAAIygB,GAAW,EACf,IACIxlC,EAASwtB,GAAsBlT,GAActa,KAC/C,MAAOlQ,GAGA3U,EAAM0qC,SAAS32C,QAAWiM,EAAM2qC,QAAQ52C,QACzC8wB,EAASqtB,GAAQ,CAACr+C,KAAM,UAAWmM,MAAO2U,KAE9C01C,GAAW,EARf,QAUI8E,EAAgB9E,KAK5B2E,GAAqBp7D,UAAY,CAC7Bo2C,aAAcygB,IAAUwG,MAAM,CAC1BrnB,GAAY,WACZA,GAAY,cAEhB/kB,SAAU4lC,IAAUvwB,KACpBu1B,oBAAqBhF,IAAUl4D,OAC/BsxC,OAAQ4mB,IAAUl4D,OAClBm9D,cAAejF,IAAUl4D,OACzB+2C,OAAQmhB,IAAUl4D,OAClB83C,QAASogB,IAAUl0B,IACnBv2B,MAAOyqD,IAAUl4D,OACjBmnC,OAAQ+wB,IAAUl4D,QAGtB,IAee2+D,GAfGvG,IAEd,SAAAppC,GAAK,MAAK,CACNyoB,aAAczoB,EAAMyoB,aACpBylB,oBAAqBluC,EAAMkuC,oBAC3BC,cAAenuC,EAAMmuC,cACrBpmB,OAAQ/nB,EAAM+nB,OACdzF,OAAQtiB,EAAMsiB,OACdwG,QAAS9oB,EAAM8oB,QACfrqC,MAAOuhB,EAAMvhB,MACb05B,OAAQnY,EAAMmY,WAElB,SAAA7U,GAAQ,MAAK,CAACA,cAZA8lC,CAahBqE,I,ozBC7KImC,G,YACF,WAAYlvD,GAAO,a,4FAAA,UACf,0BAAMA,KACDsf,MAAQ,CACT6vC,aAAcz5D,SAAS05D,OAHZ,E,yTAOcpvD,GACzBA,EAAMqkC,iBAAiBvyC,OACvB4D,SAAS05D,MAAQ,cAEjB15D,SAAS05D,MAAQ53D,KAAK8nB,MAAM6vC,e,8CAKhC,OAAO,I,+BAIP,OAAO,U,gCArBa5G,aAyB5B2G,GAAcv9D,UAAY,CACtB0yC,iBAAkBmkB,IAAUzD,MAAMsK,YAGvB3G,WAAQ,SAAAppC,GAAK,MAAK,CAC7B+kB,iBAAkB/kB,EAAM+kB,oBADbqkB,CAEXwG,IC/BJ,SAASI,GAAQtvD,GACb,OAAIA,EAAMqkC,iBAAiBvyC,OAChB,yBAAKurD,UAAU,2BAEnB,KAGXiS,GAAQ39D,UAAY,CAChB0yC,iBAAkBmkB,IAAUzD,MAAMsK,YAGvB3G,WAAQ,SAAAppC,GAAK,MAAK,CAC7B+kB,iBAAkB/kB,EAAM+kB,oBADbqkB,CAEX4G,ICVJ,SAASC,GAAmBvvD,GAAO,IACxB4iB,EAAqB5iB,EAArB4iB,SAAUwlB,EAAWpoC,EAAXooC,QACX3mC,EAAS,CACX+tD,gBAAiB,CACbC,QAAS,eACTvX,QAAS,MACT,SAAU,CACNA,QAAS,IAGjBwX,UAAW,CACPC,SAAU,IAEdC,WAAY,CACRD,SAAU,KAIZE,EACF,0BACI1/D,IAAI,WACJ2E,MAAO4vC,GACH,CACIorB,MAAO1nB,EAAQH,KAAKn2C,OAAS,UAAY,OACzCi+D,OAAQ3nB,EAAQH,KAAKn2C,OAAS,UAAY,WAE9C2P,EAAO+tD,iBAEXQ,QAAS,kBAAMptC,EAAS8rB,MAExB,yBACI55C,MAAO4vC,GACH,CAAC3iC,UAAW,kBACZN,EAAOiuD,YAHf,KAQA,yBAAK56D,MAAO2M,EAAOmuD,YAAnB,SAIFK,EACF,0BACI9/D,IAAI,WACJ2E,MAAO4vC,GACH,CACIorB,MAAO1nB,EAAQD,OAAOr2C,OAAS,UAAY,OAC3Ci+D,OAAQ3nB,EAAQD,OAAOr2C,OAAS,UAAY,UAC5Co+D,WAAY,IAEhBzuD,EAAO+tD,iBAEXQ,QAAS,kBAAMptC,EAASkvB,MAExB,yBACIh9C,MAAO4vC,GACH,CAAC3iC,UAAW,iBACZN,EAAOiuD,YAHf,KAQA,yBAAK56D,MAAO2M,EAAOmuD,YAAnB,SAIR,OACI,yBACIvS,UAAU,kBACVvoD,MAAO,CACHq7D,SAAU,QACVC,OAAQ,OACRp/B,KAAM,OACN2+B,SAAU,OACVU,UAAW,SACXhY,OAAQ,OACRiY,gBAAiB,6BAGrB,yBACIx7D,MAAO,CACHq7D,SAAU,aAGb/nB,EAAQH,KAAKn2C,OAAS,EAAI+9D,EAAW,KACrCznB,EAAQD,OAAOr2C,OAAS,EAAIm+D,EAAW,OAMxDV,GAAmB59D,UAAY,CAC3By2C,QAASogB,IAAUl4D,OACnBsyB,SAAU4lC,IAAUvwB,MAGxB,IAOes4B,GAPC7H,IACZ,SAAAppC,GAAK,MAAK,CACN8oB,QAAS9oB,EAAM8oB,YAEnB,SAAAxlB,GAAQ,MAAK,CAACA,cAJF8lC,CAKdf,GAAO4H,KCjFM,GAJf7jC,IAAQ,SAAc8kC,EAAYz4D,GAChC,OAAO7C,MAAM1E,UAAU4G,MAAMrI,KAAKgJ,EAAM,GAAGk/B,KAAKu5B,MCQnC,GANfhlC,IAAQ,SAAoB4B,GAC1B,OAAO,SAAUxvB,EAAGC,GAClB,OAAOuvB,EAAKxvB,EAAGC,IAAM,EAAIuvB,EAAKvvB,EAAGD,GAAK,EAAI,MCA/B,GAJf8tB,IAAQ,SAAY9tB,EAAGC,GACrB,OAAOD,EAAIC,K,+uBCVP4yD,G,YACF,WAAYzwD,GAAO,MAEf,G,4FAFe,SACf,E,uEAAA,sBAAMA,IACFA,EAAMy3B,OAAOi5B,WAAY,OACK1wD,EAAMy3B,OAAOi5B,WAApCC,EADkB,EAClBA,SAAUC,EADQ,EACRA,UACjB,EAAKtxC,MAAQ,CACTqxC,WACA9T,UAAU,EACVgU,WAAY,KACZC,SAAU,KACVF,kBAGJ,EAAKtxC,MAAQ,CACTu9B,UAAU,GAbH,OAgBf,EAAKkU,OAAS,EACd,EAAKC,MAAQt7D,SAASu7D,cAAc,QACpC,EAAKC,cAAgB,EAAKA,cAAc9gE,KAAnB,OAlBN,E,gTA0Ba4P,GAQ5B,OACK49B,GAAQ59B,EAAMmxD,gBACgB,YAA/BnxD,EAAMmxD,cAAcl/C,OAIjB,KAFI,CAACk/C,cAAenxD,EAAMmxD,mB,yCAhBjCvgE,OAAOsgE,cAAc15D,KAAK8nB,MAAMuxC,YAChCr5D,KAAKikD,SAAS,CAACoV,WAAY,S,yCAoBZlM,EAAWC,GAAW,IAC9BuM,EAAiB35D,KAAK8nB,MAAtB6xC,cACAvuC,EAAYprB,KAAKwI,MAAjB4iB,SAGP,GAAKuuC,GAUAngD,GAAI,gBAAiB4zC,GAI1B,GAC6B,MAAzBuM,EAAcl/C,QACd/U,GAAK,CAAC,UAAW,cAAei0D,KAC5Bj0D,GAAK,CAAC,gBAAiB,UAAW,cAAe0nD,GAGrD,IACIuM,EAAc9nB,QAAQ+nB,MACrBtjC,GACGqjC,EAAc9nB,QAAQynB,SAASh/D,OAC/Bu/D,GACI,GACA,CAAC,gBAAiB,UAAW,YAC7BzM,GACF9yD,SAELg8B,GACGmJ,GAAKu5B,GAAWc,IAAKH,EAAc9nB,QAAQynB,UAC3C75B,GACIu5B,GAAWc,IACXD,GACI,GACA,CAAC,gBAAiB,UAAW,YAC7BzM,KAoDZhiC,EAAS,CAAChxB,KAAM,eAhDlB,CAEE,IAAI2/D,GAAU,EAFhB,uBAIE,YAAcJ,EAAc9nB,QAAQmoB,MAApC,+CAA2C,KAAlC5zD,EAAkC,QACvC,IAAIA,EAAE6zD,OA6BC,CAEHF,GAAU,EACV,MA/BAA,GAAU,EAUV,IATA,IAAMG,EAAiB,GAGjBC,EAAKj8D,SAASk8D,SAAT,kCACoBh0D,EAAE6T,IADtB,OAEPja,KAAKw5D,OAELh4D,EAAO24D,EAAGE,cAEP74D,GACH04D,EAAez5D,KAAKe,GACpBA,EAAO24D,EAAGE,cAQd,GALA73D,IACI,SAAA3J,GAAC,OAAIA,EAAEyhE,aAAa,WAAY,cAChCJ,GAGA9zD,EAAEm0D,SAAW,EAAG,CAChB,IAAMC,EAAOt8D,SAASC,cAAc,QACpCq8D,EAAKC,KAAL,UAAer0D,EAAE6T,IAAjB,cAA0B7T,EAAEm0D,UAC5BC,EAAKpgE,KAAO,WACZogE,EAAKE,IAAM,aACX16D,KAAKw5D,MAAMmB,YAAYH,KA/BrC,kFAwCOT,GAID3gE,OAAOwhE,IAAI5/C,SAAS6/C,cAMI,MAAzBlB,EAAcl/C,SACjBza,KAAKu5D,OAASv5D,KAAK8nB,MAAMsxC,YACzBp5D,KAAK05D,gBAELtgE,OAAO0hE,MAAP,sDAE4B96D,KAAKu5D,OAFjC,kGAOJv5D,KAAKu5D,Y,0CAIO,MACkBv5D,KAAKwI,MAAhC4iB,EADS,EACTA,SAAUuuC,EADD,EACCA,cADD,EAEa35D,KAAK8nB,MAA3Bu9B,EAFS,EAETA,SAAU8T,EAFD,EAECA,SACjB,IAAK9T,IAAarlD,KAAK8nB,MAAMuxC,WAAY,CACrC,IAAMA,EAAajgE,OAAO2hE,aAAY,WAGL,YAAzBpB,EAAcl/C,QACd2Q,EAASgqC,GAAS,eAAgB,MAAO,oBAE9C+D,GACHn5D,KAAKikD,SAAS,CAACoV,kB,8CAKdr5D,KAAK8nB,MAAMu9B,UAAYrlD,KAAK8nB,MAAMuxC,YACnCr5D,KAAK05D,kB,+BAKT,OAAO,U,gCAjLQhH,IAAM3B,WAqL7BkI,GAASp/D,aAAe,GAExBo/D,GAAS9+D,UAAY,CACjBgoC,GAAI6uB,IAAUhC,OACd/uB,OAAQ+wB,IAAUl4D,OAClB6gE,cAAe3I,IAAUl4D,OACzBsyB,SAAU4lC,IAAUvwB,KACpB04B,SAAUnI,IAAUgK,QAGT9J,WACX,SAAAppC,GAAK,MAAK,CACNmY,OAAQnY,EAAMmY,OACd05B,cAAe7xC,EAAM6xC,kBAEzB,SAAAvuC,GAAQ,MAAK,CAACA,cALH8lC,CAMb+H,I,ozBC1MIgC,G,YACF,WAAYzyD,GAAO,a,4FAAA,SACf,0BAAMA,IAE0B,OAA5BA,EAAMmpC,MAAML,aACiB,OAA7B9oC,EAAMmpC,MAAMJ,cAEZ/oC,EAAM4iB,SAASmtB,GAAS/vC,EAAMmpC,QANnB,E,oTAUS,IACjBvmB,EAAYprB,KAAKwI,MAAjB4iB,SACD6U,EAAS3mB,KAAKpV,MAChBhG,SAAS85C,eAAe,gBAAgBkjB,aAI5Cj7B,EAAO7kB,MAAQ,CACXlB,YAAa,cACbvD,QAAS,CACLwkD,OAAQ,mBACR,eAAgB,qBAIxB/vC,EAASktB,GAAUrY,M,+BAGd,IACEA,EAAUjgC,KAAKwI,MAAfy3B,OACP,GAAqB,SAAjB7lC,GAAK6lC,GACL,OAAO,yBAAK4lB,UAAU,iBAAf,cAHN,IAKEuV,EAAkBn7B,EAAlBm7B,eACP,OACI,kBAAC,IAAMz9C,SAAP,KACKy9C,EAAiB,kBAAC,GAAD,MAAc,KAChC,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,MACA,kBAAC,GAAD,Y,gCAzCsB1I,IAAM3B,WA+C5CkK,GAAwB9gE,UAAY,CAChCw3C,MAAOqf,IAAUl4D,OACjBsyB,SAAU4lC,IAAUvwB,KACpBR,OAAQ+wB,IAAUl4D,QAGtB,IAQeuiE,GARMnK,IACjB,SAAAppC,GAAK,MAAK,CACN8oB,QAAS9oB,EAAM8oB,QACf3Q,OAAQnY,EAAMmY,WAElB,SAAA7U,GAAQ,MAAK,CAACA,cALG8lC,CAMnB+J,IC9DI/0C,GAAQmsB,KAERipB,GAAc,SAAC,GAAY,IAAX3pB,EAAW,EAAXA,MAClB,OACI,kBAAC,EAAD,CAAUzrB,MAAOA,IACb,kBAAC,GAAD,CAAcyrB,MAAOA,MAKjC2pB,GAAYnhE,UAAY,CACpBw3C,MAAOqf,IAAUuK,MAAM,CACnBjqB,YAAa0f,IAAUvwB,KACvB8Q,aAAcyf,IAAUvwB,QAIhC66B,GAAYzhE,aAAe,CACvB83C,MAAO,CACHL,YAAa,KACbC,aAAc,OAIP+pB,UC7BfliE,OAAOoiE,aCEH,WAAY7pB,I,4FAAO,SAEf8pB,IAASvgE,OACL,kBAAC,GAAD,CAAay2C,MAAOA,IACpBzzC,SAAS85C,eAAe","file":"dash_renderer.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 54);\n","(function() { module.exports = window[\"React\"]; }());","(function() { module.exports = window[\"PropTypes\"]; }());","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedValue;\nfunction getPrefixedValue(prefixedValue, value, keepUnprefixed) {\n if (keepUnprefixed) {\n return [prefixedValue, value];\n }\n return prefixedValue;\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar ReactIs = require('react-is');\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\n\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\n\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\n\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\n\nvar TYPE_STATICS = {};\nTYPE_STATICS[ReactIs.ForwardRef] = FORWARD_REF_STATICS;\n\nfunction getStatics(component) {\n if (ReactIs.isMemo(component)) {\n return MEMO_STATICS;\n }\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\n\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n\n return targetComponent;\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isPrefixedValue;\nvar regex = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && regex.test(value);\n}\nmodule.exports = exports['default'];","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Based on https://github.com/jsstyles/css-vendor, but without having to\n * convert between different cases all the time.\n *\n * \n */\nimport createStaticPrefixer from 'inline-style-prefixer/static/createPrefixer';\nimport createDynamicPrefixer from 'inline-style-prefixer/dynamic/createPrefixer';\nimport ExecutionEnvironment from 'exenv';\nimport staticData from './prefix-data/static';\nimport dynamicData from './prefix-data/dynamic';\nimport { camelCaseToDashCase } from './camel-case-props-to-dash-case';\nvar prefixAll = createStaticPrefixer(staticData);\nvar InlineStylePrefixer = createDynamicPrefixer(dynamicData, prefixAll);\n\nfunction transformValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var value = style[key];\n\n if (Array.isArray(value)) {\n value = value.join(';' + key + ':');\n } else if (value && _typeof(value) === 'object' && typeof value.toString === 'function') {\n value = value.toString();\n }\n\n newStyle[key] = value;\n return newStyle;\n }, {});\n} // Flatten prefixed values that are arrays to strings.\n//\n// We get prefixed styles back in the form of:\n// - `display: \"flex\"` OR\n// - `display: \"-webkit-flex\"` OR\n// - `display: [/* ... */, \"-webkit-flex\", \"flex\"]\n//\n// The last form is problematic for eventual use in the browser and server\n// render. More confusingly, we have to do **different** things on the\n// browser and server (noted inline below).\n//\n// https://github.com/FormidableLabs/radium/issues/958\n\n\nfunction flattenStyleValues(style) {\n return Object.keys(style).reduce(function (newStyle, key) {\n var val = style[key];\n\n if (Array.isArray(val)) {\n if (ExecutionEnvironment.canUseDOM) {\n // For the **browser**, when faced with multiple values, we just take\n // the **last** one, which is the original passed in value before\n // prefixing. This _should_ work, because `inline-style-prefixer`\n // we're just passing through what would happen without ISP.\n val = val[val.length - 1].toString();\n } else {\n // For the **server**, we just concatenate things together and convert\n // the style object values into a hacked-up string of like `display:\n // \"-webkit-flex;display:flex\"` that will SSR render correctly to like\n // `\"display:-webkit-flex;display:flex\"` but would otherwise be\n // totally invalid values.\n // We convert keys to dash-case only for the serialize values and\n // leave the real key camel-cased so it's as expected to React and\n // other parts of the processing chain.\n val = val.join(\";\".concat(camelCaseToDashCase(key), \":\"));\n }\n }\n\n newStyle[key] = val;\n return newStyle;\n }, {});\n}\n\nvar _hasWarnedAboutUserAgent = false;\n\nvar _lastUserAgent;\n\nvar _cachedPrefixer;\n\nfunction getPrefixer(userAgent) {\n var actualUserAgent = userAgent || global && global.navigator && global.navigator.userAgent;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!actualUserAgent && !_hasWarnedAboutUserAgent) {\n /* eslint-disable no-console */\n console.warn('Radium: userAgent should be supplied for server-side rendering. See ' + 'https://github.com/FormidableLabs/radium/tree/master/docs/api#radium ' + 'for more information.');\n /* eslint-enable no-console */\n\n _hasWarnedAboutUserAgent = true;\n }\n }\n\n if (process.env.NODE_ENV === 'test' || !_cachedPrefixer || actualUserAgent !== _lastUserAgent) {\n if (actualUserAgent === 'all') {\n _cachedPrefixer = {\n prefix: prefixAll,\n prefixedKeyframes: 'keyframes'\n };\n } else {\n _cachedPrefixer = new InlineStylePrefixer({\n userAgent: actualUserAgent\n });\n }\n\n _lastUserAgent = actualUserAgent;\n }\n\n return _cachedPrefixer;\n}\n\nexport function getPrefixedKeyframes(userAgent) {\n return getPrefixer(userAgent).prefixedKeyframes || 'keyframes';\n} // Returns a new style object with vendor prefixes added to property names and\n// values.\n\nexport function getPrefixedStyle(style, userAgent) {\n var styleWithFallbacks = transformValues(style);\n var prefixer = getPrefixer(userAgent);\n var prefixedStyle = prefixer.prefix(styleWithFallbacks);\n var flattenedStyle = flattenStyleValues(prefixedStyle);\n return flattenedStyle;\n}","(function() { module.exports = window[\"ReactDOM\"]; }());","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","var _camelCaseRegex = /([a-z])?([A-Z])/g;\n\nvar _camelCaseReplacer = function _camelCaseReplacer(match, p1, p2) {\n return (p1 || '') + '-' + p2.toLowerCase();\n};\n\nexport var camelCaseToDashCase = function camelCaseToDashCase(s) {\n return s.replace(_camelCaseRegex, _camelCaseReplacer);\n};\n\nvar camelCasePropsToDashCase = function camelCasePropsToDashCase(prefixedStyle) {\n // Since prefix is expected to work on inline style objects, we must\n // translate the keys to dash case for rendering to CSS.\n return Object.keys(prefixedStyle).reduce(function (result, key) {\n var dashCaseKey = camelCaseToDashCase(key); // Fix IE vendor prefix\n\n if (/^ms-/.test(dashCaseKey)) {\n dashCaseKey = \"-\".concat(dashCaseKey);\n }\n\n result[dashCaseKey] = prefixedStyle[key];\n return result;\n }, {});\n};\n\nexport default camelCasePropsToDashCase;","/**\n * inspired by is-number <https://github.com/jonschlinkert/is-number>\n * but significantly simplified and sped up by ignoring number and string constructors\n * ie these return false:\n * new Number(1)\n * new String('1')\n */\n\n'use strict';\n\nvar allBlankCharCodes = require('is-string-blank');\n\nmodule.exports = function(n) {\n var type = typeof n;\n if(type === 'string') {\n var original = n;\n n = +n;\n // whitespace strings cast to zero - filter them out\n if(n===0 && allBlankCharCodes(original)) return false;\n }\n else if(type !== 'number') return false;\n\n return n - n < 1;\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = hyphenateProperty;\n\nvar _hyphenateStyleName = require('hyphenate-style-name');\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2.default)(property);\n}\nmodule.exports = exports['default'];","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","/**\n * A simple dependency graph\n */\n\n/**\n * Helper for creating a Topological Sort using Depth-First-Search on a set of edges.\n *\n * Detects cycles and throws an Error if one is detected (unless the \"circular\"\n * parameter is \"true\" in which case it ignores them).\n *\n * @param edges The set of edges to DFS through\n * @param leavesOnly Whether to only return \"leaf\" nodes (ones who have no edges)\n * @param result An array in which the results will be populated\n * @param circular A boolean to allow circular dependencies\n */\nfunction createDFS(edges, leavesOnly, result, circular) {\n var visited = {};\n return function(start) {\n if (visited[start]) {\n return;\n }\n var inCurrentPath = {};\n var currentPath = [];\n var todo = []; // used as a stack\n todo.push({ node: start, processed: false });\n while (todo.length > 0) {\n var current = todo[todo.length - 1]; // peek at the todo stack\n var processed = current.processed;\n var node = current.node;\n if (!processed) {\n // Haven't visited edges yet (visiting phase)\n if (visited[node]) {\n todo.pop();\n continue;\n } else if (inCurrentPath[node]) {\n // It's not a DAG\n if (circular) {\n todo.pop();\n // If we're tolerating cycles, don't revisit the node\n continue;\n }\n currentPath.push(node);\n throw new DepGraphCycleError(currentPath);\n }\n\n inCurrentPath[node] = true;\n currentPath.push(node);\n var nodeEdges = edges[node];\n // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation)\n for (var i = nodeEdges.length - 1; i >= 0; i--) {\n todo.push({ node: nodeEdges[i], processed: false });\n }\n current.processed = true;\n } else {\n // Have visited edges (stack unrolling phase)\n todo.pop();\n currentPath.pop();\n inCurrentPath[node] = false;\n visited[node] = true;\n if (!leavesOnly || edges[node].length === 0) {\n result.push(node);\n }\n }\n }\n };\n}\n\n/**\n * Simple Dependency Graph\n */\nvar DepGraph = (exports.DepGraph = function DepGraph(opts) {\n this.nodes = {}; // Node -> Node/Data (treated like a Set)\n this.outgoingEdges = {}; // Node -> [Dependency Node]\n this.incomingEdges = {}; // Node -> [Dependant Node]\n this.circular = opts && !!opts.circular; // Allows circular deps\n});\nDepGraph.prototype = {\n /**\n * The number of nodes in the graph.\n */\n size: function() {\n return Object.keys(this.nodes).length;\n },\n /**\n * Add a node to the dependency graph. If a node already exists, this method will do nothing.\n */\n addNode: function(node, data) {\n if (!this.hasNode(node)) {\n // Checking the arguments length allows the user to add a node with undefined data\n if (arguments.length === 2) {\n this.nodes[node] = data;\n } else {\n this.nodes[node] = node;\n }\n this.outgoingEdges[node] = [];\n this.incomingEdges[node] = [];\n }\n },\n /**\n * Remove a node from the dependency graph. If a node does not exist, this method will do nothing.\n */\n removeNode: function(node) {\n if (this.hasNode(node)) {\n delete this.nodes[node];\n delete this.outgoingEdges[node];\n delete this.incomingEdges[node];\n [this.incomingEdges, this.outgoingEdges].forEach(function(edgeList) {\n Object.keys(edgeList).forEach(function(key) {\n var idx = edgeList[key].indexOf(node);\n if (idx >= 0) {\n edgeList[key].splice(idx, 1);\n }\n }, this);\n });\n }\n },\n /**\n * Check if a node exists in the graph\n */\n hasNode: function(node) {\n return this.nodes.hasOwnProperty(node);\n },\n /**\n * Get the data associated with a node name\n */\n getNodeData: function(node) {\n if (this.hasNode(node)) {\n return this.nodes[node];\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Set the associated data for a given node name. If the node does not exist, this method will throw an error\n */\n setNodeData: function(node, data) {\n if (this.hasNode(node)) {\n this.nodes[node] = data;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Add a dependency between two nodes. If either of the nodes does not exist,\n * an Error will be thrown.\n */\n addDependency: function(from, to) {\n if (!this.hasNode(from)) {\n throw new Error(\"Node does not exist: \" + from);\n }\n if (!this.hasNode(to)) {\n throw new Error(\"Node does not exist: \" + to);\n }\n if (this.outgoingEdges[from].indexOf(to) === -1) {\n this.outgoingEdges[from].push(to);\n }\n if (this.incomingEdges[to].indexOf(from) === -1) {\n this.incomingEdges[to].push(from);\n }\n return true;\n },\n /**\n * Remove a dependency between two nodes.\n */\n removeDependency: function(from, to) {\n var idx;\n if (this.hasNode(from)) {\n idx = this.outgoingEdges[from].indexOf(to);\n if (idx >= 0) {\n this.outgoingEdges[from].splice(idx, 1);\n }\n }\n\n if (this.hasNode(to)) {\n idx = this.incomingEdges[to].indexOf(from);\n if (idx >= 0) {\n this.incomingEdges[to].splice(idx, 1);\n }\n }\n },\n /**\n * Return a clone of the dependency graph. If any custom data is attached\n * to the nodes, it will only be shallow copied.\n */\n clone: function() {\n var source = this;\n var result = new DepGraph();\n var keys = Object.keys(source.nodes);\n keys.forEach(function(n) {\n result.nodes[n] = source.nodes[n];\n result.outgoingEdges[n] = source.outgoingEdges[n].slice(0);\n result.incomingEdges[n] = source.incomingEdges[n].slice(0);\n });\n return result;\n },\n /**\n * Get an array containing the nodes that the specified node depends on (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned\n * in the array.\n */\n dependenciesOf: function(node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(\n this.outgoingEdges,\n leavesOnly,\n result,\n this.circular\n );\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * get an array containing the nodes that depend on the specified node (transitively).\n *\n * Throws an Error if the graph has a cycle, or the specified node does not exist.\n *\n * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array.\n */\n dependantsOf: function(node, leavesOnly) {\n if (this.hasNode(node)) {\n var result = [];\n var DFS = createDFS(\n this.incomingEdges,\n leavesOnly,\n result,\n this.circular\n );\n DFS(node);\n var idx = result.indexOf(node);\n if (idx >= 0) {\n result.splice(idx, 1);\n }\n return result;\n } else {\n throw new Error(\"Node does not exist: \" + node);\n }\n },\n /**\n * Construct the overall processing order for the dependency graph.\n *\n * Throws an Error if the graph has a cycle.\n *\n * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned.\n */\n overallOrder: function(leavesOnly) {\n var self = this;\n var result = [];\n var keys = Object.keys(this.nodes);\n if (keys.length === 0) {\n return result; // Empty graph\n } else {\n if (!this.circular) {\n // Look for cycles - we run the DFS starting at all the nodes in case there\n // are several disconnected subgraphs inside this dependency graph.\n var CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular);\n keys.forEach(function(n) {\n CycleDFS(n);\n });\n }\n\n var DFS = createDFS(\n this.outgoingEdges,\n leavesOnly,\n result,\n this.circular\n );\n // Find all potential starting points (nodes with nothing depending on them) an\n // run a DFS starting at these points to get the order\n keys\n .filter(function(node) {\n return self.incomingEdges[node].length === 0;\n })\n .forEach(function(n) {\n DFS(n);\n });\n\n // If we're allowing cycles - we need to run the DFS against any remaining\n // nodes that did not end up in the initial result (as they are part of a\n // subgraph that does not have a clear starting point)\n if (this.circular) {\n keys\n .filter(function(node) {\n return result.indexOf(node) === -1;\n })\n .forEach(function(n) {\n DFS(n);\n });\n }\n\n return result;\n }\n }\n};\n\n/**\n * Cycle error, including the path of the cycle.\n */\nvar DepGraphCycleError = (exports.DepGraphCycleError = function(cyclePath) {\n var message = \"Dependency Cycle Found: \" + cyclePath.join(\" -> \");\n var instance = new Error(message);\n instance.cyclePath = cyclePath;\n Object.setPrototypeOf(instance, Object.getPrototypeOf(this));\n if (Error.captureStackTrace) {\n Error.captureStackTrace(instance, DepGraphCycleError);\n }\n return instance;\n});\nDepGraphCycleError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: Error,\n enumerable: false,\n writable: true,\n configurable: true\n }\n});\nObject.setPrototypeOf(DepGraphCycleError, Error);\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\nvar pairSplitRegExp = /; */;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(pairSplitRegExp);\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var eq_idx = pair.indexOf('=');\n\n // skip things that don't look like key=value\n if (eq_idx < 0) {\n continue;\n }\n\n var key = pair.substr(0, eq_idx).trim()\n var val = pair.substr(++eq_idx, pair.length).trim();\n\n // quoted values\n if ('\"' == val[0]) {\n val = val.slice(1, -1);\n }\n\n // only assign once\n if (undefined == obj[key]) {\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n if (isNaN(maxAge)) throw new Error('maxAge should be a Number');\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","!function(e,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],n):\"object\"==typeof exports?exports[\"dash-component-plugins\"]=n(require(\"react\")):e[\"dash-component-plugins\"]=n(e.React)}(window,(function(e){return function(e){var n={};function t(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,t),o.l=!0,o.exports}return t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&n&&\"string\"!=typeof e)for(var o in e)t.d(r,o,function(n){return e[n]}.bind(null,o));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,\"a\",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p=\"\",t(t.s=1)}([function(n,t){n.exports=e},function(e,n,t){\"use strict\";t.r(n);var r=t(0),o=function(e,n){var t,o={isReady:new Promise((function(e){t=e})),get:Object(r.lazy)((function(){return Promise.resolve(n()).then((function(e){return setTimeout((function(){return regeneratorRuntime.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,regeneratorRuntime.awrap(t(!0));case 2:o.isReady=!0;case 3:case\"end\":return e.stop()}}))}),0),e}))}))};return Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return o.isReady}}),o.get},i=function(e,n){Object.defineProperty(e,\"_dashprivate_isLazyComponentReady\",{get:function(){return u(n)}})},u=function(e){return e&&e._dashprivate_isLazyComponentReady};function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var c=\"_dashprivate_historychange\",f=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError(\"Cannot call a class as a function\")}(this,e)}var n,t,r;return n=e,r=[{key:\"dispatchChangeEvent\",value:function(){window.dispatchEvent(new CustomEvent(c))}},{key:\"onChange\",value:function(e){return window.addEventListener(c,e),function(){return window.removeEventListener(c,e)}}}],(t=null)&&a(n.prototype,t),r&&a(n,r),e}();t.d(n,\"asyncDecorator\",(function(){return o})),t.d(n,\"inheritAsyncDecorator\",(function(){return i})),t.d(n,\"isReady\",(function(){return u})),t.d(n,\"History\",(function(){return f}))}])}));","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('../utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n function prefixAll(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefixAll(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n }\n\n return prefixAll;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nexports.default = createPrefixer;\n\nvar _getBrowserInformation = require('../utils/getBrowserInformation');\n\nvar _getBrowserInformation2 = _interopRequireDefault(_getBrowserInformation);\n\nvar _getPrefixedKeyframes = require('../utils/getPrefixedKeyframes');\n\nvar _getPrefixedKeyframes2 = _interopRequireDefault(_getPrefixedKeyframes);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nvar _addNewValuesOnly = require('../utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('../utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nvar _prefixValue = require('../utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n var fallback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function (style) {\n return style;\n };\n\n return function () {\n /**\n * Instantiante a new prefixer\n * @param {string} userAgent - userAgent to gather prefix information according to caniuse.com\n * @param {string} keepUnprefixed - keeps unprefixed properties and values\n */\n function Prefixer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Prefixer);\n\n var defaultUserAgent = typeof navigator !== 'undefined' ? navigator.userAgent : undefined;\n\n this._userAgent = options.userAgent || defaultUserAgent;\n this._keepUnprefixed = options.keepUnprefixed || false;\n\n if (this._userAgent) {\n this._browserInfo = (0, _getBrowserInformation2.default)(this._userAgent);\n }\n\n // Checks if the userAgent was resolved correctly\n if (this._browserInfo && this._browserInfo.cssPrefix) {\n this.prefixedKeyframes = (0, _getPrefixedKeyframes2.default)(this._browserInfo.browserName, this._browserInfo.browserVersion, this._browserInfo.cssPrefix);\n } else {\n this._useFallback = true;\n return false;\n }\n\n var prefixData = this._browserInfo.browserName && prefixMap[this._browserInfo.browserName];\n if (prefixData) {\n this._requiresPrefix = {};\n\n for (var property in prefixData) {\n if (prefixData[property] >= this._browserInfo.browserVersion) {\n this._requiresPrefix[property] = true;\n }\n }\n\n this._hasPropsRequiringPrefix = Object.keys(this._requiresPrefix).length > 0;\n } else {\n this._useFallback = true;\n }\n\n this._metaData = {\n browserVersion: this._browserInfo.browserVersion,\n browserName: this._browserInfo.browserName,\n cssPrefix: this._browserInfo.cssPrefix,\n jsPrefix: this._browserInfo.jsPrefix,\n keepUnprefixed: this._keepUnprefixed,\n requiresPrefix: this._requiresPrefix\n };\n }\n\n _createClass(Prefixer, [{\n key: 'prefix',\n value: function prefix(style) {\n // use static prefixer as fallback if userAgent can not be resolved\n if (this._useFallback) {\n return fallback(style);\n }\n\n // only add prefixes if needed\n if (!this._hasPropsRequiringPrefix) {\n return style;\n }\n\n return this._prefixStyle(style);\n }\n }, {\n key: '_prefixStyle',\n value: function _prefixStyle(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = this.prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, this._metaData);\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, this._metaData);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n // add prefixes to properties\n if (this._requiresPrefix.hasOwnProperty(property)) {\n style[this._browserInfo.jsPrefix + (0, _capitalizeString2.default)(property)] = value;\n if (!this._keepUnprefixed) {\n delete style[property];\n }\n }\n }\n }\n\n return style;\n }\n\n /**\n * Returns a prefixed version of the style object using all vendor prefixes\n * @param {Object} styles - Style object that gets prefixed properties added\n * @returns {Object} - Style object with prefixed properties and values\n */\n\n }], [{\n key: 'prefixAll',\n value: function prefixAll(styles) {\n return fallback(styles);\n }\n }]);\n\n return Prefixer;\n }();\n}\nmodule.exports = exports['default'];","import calc from 'inline-style-prefixer/static/plugins/calc';\nimport crossFade from 'inline-style-prefixer/static/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/static/plugins/cursor';\nimport filter from 'inline-style-prefixer/static/plugins/filter';\nimport flex from 'inline-style-prefixer/static/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/static/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/static/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/static/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/static/plugins/imageSet';\nimport position from 'inline-style-prefixer/static/plugins/position';\nimport sizing from 'inline-style-prefixer/static/plugins/sizing';\nimport transition from 'inline-style-prefixer/static/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar ms = ['ms'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n transform: wms,\n transformOrigin: wms,\n transformOriginX: wms,\n transformOriginY: wms,\n backfaceVisibility: w,\n perspective: w,\n perspectiveOrigin: w,\n transformStyle: w,\n transformOriginZ: w,\n animation: w,\n animationDelay: w,\n animationDirection: w,\n animationFillMode: w,\n animationDuration: w,\n animationIterationCount: w,\n animationName: w,\n animationPlayState: w,\n animationTimingFunction: w,\n appearance: wm,\n userSelect: wmms,\n fontKerning: w,\n textEmphasisPosition: w,\n textEmphasis: w,\n textEmphasisStyle: w,\n textEmphasisColor: w,\n boxDecorationBreak: w,\n clipPath: w,\n maskImage: w,\n maskMode: w,\n maskRepeat: w,\n maskPosition: w,\n maskClip: w,\n maskOrigin: w,\n maskSize: w,\n maskComposite: w,\n mask: w,\n maskBorderSource: w,\n maskBorderMode: w,\n maskBorderSlice: w,\n maskBorderWidth: w,\n maskBorderOutset: w,\n maskBorderRepeat: w,\n maskBorder: w,\n maskType: w,\n textDecorationStyle: wm,\n textDecorationSkip: wm,\n textDecorationLine: wm,\n textDecorationColor: wm,\n filter: w,\n fontFeatureSettings: wm,\n breakAfter: wmms,\n breakBefore: wmms,\n breakInside: wmms,\n columnCount: wm,\n columnFill: wm,\n columnGap: wm,\n columnRule: wm,\n columnRuleColor: wm,\n columnRuleStyle: wm,\n columnRuleWidth: wm,\n columns: wm,\n columnSpan: wm,\n columnWidth: wm,\n writingMode: wms,\n flex: wms,\n flexBasis: w,\n flexDirection: wms,\n flexGrow: w,\n flexFlow: wms,\n flexShrink: w,\n flexWrap: wms,\n alignContent: w,\n alignItems: w,\n alignSelf: w,\n justifyContent: w,\n order: w,\n transitionDelay: w,\n transitionDuration: w,\n transitionProperty: w,\n transitionTimingFunction: w,\n backdropFilter: w,\n scrollSnapType: wms,\n scrollSnapPointsX: wms,\n scrollSnapPointsY: wms,\n scrollSnapDestination: wms,\n scrollSnapCoordinate: wms,\n shapeImageThreshold: w,\n shapeImageMargin: w,\n shapeImageOutside: w,\n hyphens: wmms,\n flowInto: wms,\n flowFrom: wms,\n regionFragment: wms,\n boxSizing: m,\n textAlignLast: m,\n tabSize: m,\n wrapFlow: ms,\n wrapThrough: ms,\n wrapMargin: ms,\n touchAction: ms,\n gridTemplateColumns: ms,\n gridTemplateRows: ms,\n gridTemplateAreas: ms,\n gridTemplate: ms,\n gridAutoColumns: ms,\n gridAutoRows: ms,\n gridAutoFlow: ms,\n grid: ms,\n gridRowStart: ms,\n gridColumnStart: ms,\n gridRowEnd: ms,\n gridRow: ms,\n gridColumn: ms,\n gridColumnEnd: ms,\n gridColumnGap: ms,\n gridRowGap: ms,\n gridArea: ms,\n gridGap: ms,\n textSizeAdjust: wms,\n borderImage: w,\n borderImageOutset: w,\n borderImageRepeat: w,\n borderImageSlice: w,\n borderImageSource: w,\n borderImageWidth: w\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\nfunction calc(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('calc(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/calc\\(/g, prefix + 'calc(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('cross-fade(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/cross-fade\\(/g, prefix + 'cross-fade(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('filter(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/filter\\(/g, prefix + 'filter(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\nvar values = {\n flex: ['-webkit-box', '-moz-box', '-ms-flexbox', '-webkit-flex', 'flex'],\n 'inline-flex': ['-webkit-inline-box', '-moz-inline-box', '-ms-inline-flexbox', '-webkit-inline-flex', 'inline-flex']\n};\n\nfunction flex(property, value) {\n if (property === 'display' && values.hasOwnProperty(value)) {\n return values[value];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end'\n};\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style) {\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nfunction flexboxOld(property, value, style) {\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\n\nfunction gradient(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && values.test(value)) {\n return prefixes.map(function (prefix) {\n return value.replace(values, function (grad) {\n return prefix + grad;\n });\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}\nmodule.exports = exports['default'];","import calc from 'inline-style-prefixer/dynamic/plugins/calc';\nimport crossFade from 'inline-style-prefixer/dynamic/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/dynamic/plugins/cursor';\nimport filter from 'inline-style-prefixer/dynamic/plugins/filter';\nimport flex from 'inline-style-prefixer/dynamic/plugins/flex';\nimport flexboxIE from 'inline-style-prefixer/dynamic/plugins/flexboxIE';\nimport flexboxOld from 'inline-style-prefixer/dynamic/plugins/flexboxOld';\nimport gradient from 'inline-style-prefixer/dynamic/plugins/gradient';\nimport imageSet from 'inline-style-prefixer/dynamic/plugins/imageSet';\nimport position from 'inline-style-prefixer/dynamic/plugins/position';\nimport sizing from 'inline-style-prefixer/dynamic/plugins/sizing';\nimport transition from 'inline-style-prefixer/dynamic/plugins/transition';\nexport default {\n plugins: [calc, crossFade, cursor, filter, flex, flexboxIE, flexboxOld, gradient, imageSet, position, sizing, transition],\n prefixMap: {\n chrome: {\n transform: 35,\n transformOrigin: 35,\n transformOriginX: 35,\n transformOriginY: 35,\n backfaceVisibility: 35,\n perspective: 35,\n perspectiveOrigin: 35,\n transformStyle: 35,\n transformOriginZ: 35,\n animation: 42,\n animationDelay: 42,\n animationDirection: 42,\n animationFillMode: 42,\n animationDuration: 42,\n animationIterationCount: 42,\n animationName: 42,\n animationPlayState: 42,\n animationTimingFunction: 42,\n appearance: 66,\n userSelect: 53,\n fontKerning: 32,\n textEmphasisPosition: 66,\n textEmphasis: 66,\n textEmphasisStyle: 66,\n textEmphasisColor: 66,\n boxDecorationBreak: 66,\n clipPath: 54,\n maskImage: 66,\n maskMode: 66,\n maskRepeat: 66,\n maskPosition: 66,\n maskClip: 66,\n maskOrigin: 66,\n maskSize: 66,\n maskComposite: 66,\n mask: 66,\n maskBorderSource: 66,\n maskBorderMode: 66,\n maskBorderSlice: 66,\n maskBorderWidth: 66,\n maskBorderOutset: 66,\n maskBorderRepeat: 66,\n maskBorder: 66,\n maskType: 66,\n textDecorationStyle: 56,\n textDecorationSkip: 56,\n textDecorationLine: 56,\n textDecorationColor: 56,\n filter: 52,\n fontFeatureSettings: 47,\n breakAfter: 49,\n breakBefore: 49,\n breakInside: 49,\n columnCount: 49,\n columnFill: 49,\n columnGap: 49,\n columnRule: 49,\n columnRuleColor: 49,\n columnRuleStyle: 49,\n columnRuleWidth: 49,\n columns: 49,\n columnSpan: 49,\n columnWidth: 49,\n writingMode: 47\n },\n safari: {\n flex: 8,\n flexBasis: 8,\n flexDirection: 8,\n flexGrow: 8,\n flexFlow: 8,\n flexShrink: 8,\n flexWrap: 8,\n alignContent: 8,\n alignItems: 8,\n alignSelf: 8,\n justifyContent: 8,\n order: 8,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8,\n transformOrigin: 8,\n transformOriginX: 8,\n transformOriginY: 8,\n backfaceVisibility: 8,\n perspective: 8,\n perspectiveOrigin: 8,\n transformStyle: 8,\n transformOriginZ: 8,\n animation: 8,\n animationDelay: 8,\n animationDirection: 8,\n animationFillMode: 8,\n animationDuration: 8,\n animationIterationCount: 8,\n animationName: 8,\n animationPlayState: 8,\n animationTimingFunction: 8,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 9,\n scrollSnapType: 10.1,\n scrollSnapPointsX: 10.1,\n scrollSnapPointsY: 10.1,\n scrollSnapDestination: 10.1,\n scrollSnapCoordinate: 10.1,\n textEmphasisPosition: 7,\n textEmphasis: 7,\n textEmphasisStyle: 7,\n textEmphasisColor: 7,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8,\n breakAfter: 8,\n breakInside: 8,\n regionFragment: 11,\n columnCount: 8,\n columnFill: 8,\n columnGap: 8,\n columnRule: 8,\n columnRuleColor: 8,\n columnRuleStyle: 8,\n columnRuleWidth: 8,\n columns: 8,\n columnSpan: 8,\n columnWidth: 8,\n writingMode: 10.1\n },\n firefox: {\n appearance: 60,\n userSelect: 60,\n boxSizing: 28,\n textAlignLast: 48,\n textDecorationStyle: 35,\n textDecorationSkip: 35,\n textDecorationLine: 35,\n textDecorationColor: 35,\n tabSize: 60,\n hyphens: 42,\n fontFeatureSettings: 33,\n breakAfter: 51,\n breakBefore: 51,\n breakInside: 51,\n columnCount: 51,\n columnFill: 51,\n columnGap: 51,\n columnRule: 51,\n columnRuleColor: 51,\n columnRuleStyle: 51,\n columnRuleWidth: 51,\n columns: 51,\n columnSpan: 51,\n columnWidth: 51\n },\n opera: {\n flex: 16,\n flexBasis: 16,\n flexDirection: 16,\n flexGrow: 16,\n flexFlow: 16,\n flexShrink: 16,\n flexWrap: 16,\n alignContent: 16,\n alignItems: 16,\n alignSelf: 16,\n justifyContent: 16,\n order: 16,\n transform: 22,\n transformOrigin: 22,\n transformOriginX: 22,\n transformOriginY: 22,\n backfaceVisibility: 22,\n perspective: 22,\n perspectiveOrigin: 22,\n transformStyle: 22,\n transformOriginZ: 22,\n animation: 29,\n animationDelay: 29,\n animationDirection: 29,\n animationFillMode: 29,\n animationDuration: 29,\n animationIterationCount: 29,\n animationName: 29,\n animationPlayState: 29,\n animationTimingFunction: 29,\n appearance: 50,\n userSelect: 40,\n fontKerning: 19,\n textEmphasisPosition: 50,\n textEmphasis: 50,\n textEmphasisStyle: 50,\n textEmphasisColor: 50,\n boxDecorationBreak: 50,\n clipPath: 41,\n maskImage: 50,\n maskMode: 50,\n maskRepeat: 50,\n maskPosition: 50,\n maskClip: 50,\n maskOrigin: 50,\n maskSize: 50,\n maskComposite: 50,\n mask: 50,\n maskBorderSource: 50,\n maskBorderMode: 50,\n maskBorderSlice: 50,\n maskBorderWidth: 50,\n maskBorderOutset: 50,\n maskBorderRepeat: 50,\n maskBorder: 50,\n maskType: 50,\n textDecorationStyle: 43,\n textDecorationSkip: 43,\n textDecorationLine: 43,\n textDecorationColor: 43,\n filter: 39,\n fontFeatureSettings: 34,\n breakAfter: 36,\n breakBefore: 36,\n breakInside: 36,\n columnCount: 36,\n columnFill: 36,\n columnGap: 36,\n columnRule: 36,\n columnRuleColor: 36,\n columnRuleStyle: 36,\n columnRuleWidth: 36,\n columns: 36,\n columnSpan: 36,\n columnWidth: 36,\n writingMode: 34\n },\n ie: {\n flex: 10,\n flexDirection: 10,\n flexFlow: 10,\n flexWrap: 10,\n transform: 9,\n transformOrigin: 9,\n transformOriginX: 9,\n transformOriginY: 9,\n userSelect: 11,\n wrapFlow: 11,\n wrapThrough: 11,\n wrapMargin: 11,\n scrollSnapType: 11,\n scrollSnapPointsX: 11,\n scrollSnapPointsY: 11,\n scrollSnapDestination: 11,\n scrollSnapCoordinate: 11,\n touchAction: 10,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 11,\n breakAfter: 11,\n breakInside: 11,\n regionFragment: 11,\n gridTemplateColumns: 11,\n gridTemplateRows: 11,\n gridTemplateAreas: 11,\n gridTemplate: 11,\n gridAutoColumns: 11,\n gridAutoRows: 11,\n gridAutoFlow: 11,\n grid: 11,\n gridRowStart: 11,\n gridColumnStart: 11,\n gridRowEnd: 11,\n gridRow: 11,\n gridColumn: 11,\n gridColumnEnd: 11,\n gridColumnGap: 11,\n gridRowGap: 11,\n gridArea: 11,\n gridGap: 11,\n textSizeAdjust: 11,\n writingMode: 11\n },\n edge: {\n userSelect: 17,\n wrapFlow: 17,\n wrapThrough: 17,\n wrapMargin: 17,\n scrollSnapType: 17,\n scrollSnapPointsX: 17,\n scrollSnapPointsY: 17,\n scrollSnapDestination: 17,\n scrollSnapCoordinate: 17,\n hyphens: 17,\n flowInto: 17,\n flowFrom: 17,\n breakBefore: 17,\n breakAfter: 17,\n breakInside: 17,\n regionFragment: 17,\n gridTemplateColumns: 15,\n gridTemplateRows: 15,\n gridTemplateAreas: 15,\n gridTemplate: 15,\n gridAutoColumns: 15,\n gridAutoRows: 15,\n gridAutoFlow: 15,\n grid: 15,\n gridRowStart: 15,\n gridColumnStart: 15,\n gridRowEnd: 15,\n gridRow: 15,\n gridColumn: 15,\n gridColumnEnd: 15,\n gridColumnGap: 15,\n gridRowGap: 15,\n gridArea: 15,\n gridGap: 15\n },\n ios_saf: {\n flex: 8.1,\n flexBasis: 8.1,\n flexDirection: 8.1,\n flexGrow: 8.1,\n flexFlow: 8.1,\n flexShrink: 8.1,\n flexWrap: 8.1,\n alignContent: 8.1,\n alignItems: 8.1,\n alignSelf: 8.1,\n justifyContent: 8.1,\n order: 8.1,\n transition: 6,\n transitionDelay: 6,\n transitionDuration: 6,\n transitionProperty: 6,\n transitionTimingFunction: 6,\n transform: 8.1,\n transformOrigin: 8.1,\n transformOriginX: 8.1,\n transformOriginY: 8.1,\n backfaceVisibility: 8.1,\n perspective: 8.1,\n perspectiveOrigin: 8.1,\n transformStyle: 8.1,\n transformOriginZ: 8.1,\n animation: 8.1,\n animationDelay: 8.1,\n animationDirection: 8.1,\n animationFillMode: 8.1,\n animationDuration: 8.1,\n animationIterationCount: 8.1,\n animationName: 8.1,\n animationPlayState: 8.1,\n animationTimingFunction: 8.1,\n appearance: 11,\n userSelect: 11,\n backdropFilter: 11,\n fontKerning: 11,\n scrollSnapType: 10.3,\n scrollSnapPointsX: 10.3,\n scrollSnapPointsY: 10.3,\n scrollSnapDestination: 10.3,\n scrollSnapCoordinate: 10.3,\n boxDecorationBreak: 11,\n clipPath: 11,\n maskImage: 11,\n maskMode: 11,\n maskRepeat: 11,\n maskPosition: 11,\n maskClip: 11,\n maskOrigin: 11,\n maskSize: 11,\n maskComposite: 11,\n mask: 11,\n maskBorderSource: 11,\n maskBorderMode: 11,\n maskBorderSlice: 11,\n maskBorderWidth: 11,\n maskBorderOutset: 11,\n maskBorderRepeat: 11,\n maskBorder: 11,\n maskType: 11,\n textSizeAdjust: 11,\n textDecorationStyle: 11,\n textDecorationSkip: 11,\n textDecorationLine: 11,\n textDecorationColor: 11,\n shapeImageThreshold: 10,\n shapeImageMargin: 10,\n shapeImageOutside: 10,\n filter: 9,\n hyphens: 11,\n flowInto: 11,\n flowFrom: 11,\n breakBefore: 8.1,\n breakAfter: 8.1,\n breakInside: 8.1,\n regionFragment: 11,\n columnCount: 8.1,\n columnFill: 8.1,\n columnGap: 8.1,\n columnRule: 8.1,\n columnRuleColor: 8.1,\n columnRuleStyle: 8.1,\n columnRuleWidth: 8.1,\n columns: 8.1,\n columnSpan: 8.1,\n columnWidth: 8.1,\n writingMode: 10.3\n },\n android: {\n borderImage: 4.2,\n borderImageOutset: 4.2,\n borderImageRepeat: 4.2,\n borderImageSlice: 4.2,\n borderImageSource: 4.2,\n borderImageWidth: 4.2,\n flex: 4.2,\n flexBasis: 4.2,\n flexDirection: 4.2,\n flexGrow: 4.2,\n flexFlow: 4.2,\n flexShrink: 4.2,\n flexWrap: 4.2,\n alignContent: 4.2,\n alignItems: 4.2,\n alignSelf: 4.2,\n justifyContent: 4.2,\n order: 4.2,\n transition: 4.2,\n transitionDelay: 4.2,\n transitionDuration: 4.2,\n transitionProperty: 4.2,\n transitionTimingFunction: 4.2,\n transform: 4.4,\n transformOrigin: 4.4,\n transformOriginX: 4.4,\n transformOriginY: 4.4,\n backfaceVisibility: 4.4,\n perspective: 4.4,\n perspectiveOrigin: 4.4,\n transformStyle: 4.4,\n transformOriginZ: 4.4,\n animation: 4.4,\n animationDelay: 4.4,\n animationDirection: 4.4,\n animationFillMode: 4.4,\n animationDuration: 4.4,\n animationIterationCount: 4.4,\n animationName: 4.4,\n animationPlayState: 4.4,\n animationTimingFunction: 4.4,\n appearance: 62,\n userSelect: 4.4,\n fontKerning: 4.4,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n clipPath: 4.4,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62,\n filter: 4.4,\n fontFeatureSettings: 4.4,\n breakAfter: 4.4,\n breakBefore: 4.4,\n breakInside: 4.4,\n columnCount: 4.4,\n columnFill: 4.4,\n columnGap: 4.4,\n columnRule: 4.4,\n columnRuleColor: 4.4,\n columnRuleStyle: 4.4,\n columnRuleWidth: 4.4,\n columns: 4.4,\n columnSpan: 4.4,\n columnWidth: 4.4,\n writingMode: 4.4\n },\n and_chr: {\n appearance: 62,\n textEmphasisPosition: 62,\n textEmphasis: 62,\n textEmphasisStyle: 62,\n textEmphasisColor: 62,\n boxDecorationBreak: 62,\n maskImage: 62,\n maskMode: 62,\n maskRepeat: 62,\n maskPosition: 62,\n maskClip: 62,\n maskOrigin: 62,\n maskSize: 62,\n maskComposite: 62,\n mask: 62,\n maskBorderSource: 62,\n maskBorderMode: 62,\n maskBorderSlice: 62,\n maskBorderWidth: 62,\n maskBorderOutset: 62,\n maskBorderRepeat: 62,\n maskBorder: 62,\n maskType: 62\n },\n and_uc: {\n flex: 11.4,\n flexBasis: 11.4,\n flexDirection: 11.4,\n flexGrow: 11.4,\n flexFlow: 11.4,\n flexShrink: 11.4,\n flexWrap: 11.4,\n alignContent: 11.4,\n alignItems: 11.4,\n alignSelf: 11.4,\n justifyContent: 11.4,\n order: 11.4,\n transform: 11.4,\n transformOrigin: 11.4,\n transformOriginX: 11.4,\n transformOriginY: 11.4,\n backfaceVisibility: 11.4,\n perspective: 11.4,\n perspectiveOrigin: 11.4,\n transformStyle: 11.4,\n transformOriginZ: 11.4,\n animation: 11.4,\n animationDelay: 11.4,\n animationDirection: 11.4,\n animationFillMode: 11.4,\n animationDuration: 11.4,\n animationIterationCount: 11.4,\n animationName: 11.4,\n animationPlayState: 11.4,\n animationTimingFunction: 11.4,\n appearance: 11.4,\n userSelect: 11.4,\n textEmphasisPosition: 11.4,\n textEmphasis: 11.4,\n textEmphasisStyle: 11.4,\n textEmphasisColor: 11.4,\n clipPath: 11.4,\n maskImage: 11.4,\n maskMode: 11.4,\n maskRepeat: 11.4,\n maskPosition: 11.4,\n maskClip: 11.4,\n maskOrigin: 11.4,\n maskSize: 11.4,\n maskComposite: 11.4,\n mask: 11.4,\n maskBorderSource: 11.4,\n maskBorderMode: 11.4,\n maskBorderSlice: 11.4,\n maskBorderWidth: 11.4,\n maskBorderOutset: 11.4,\n maskBorderRepeat: 11.4,\n maskBorder: 11.4,\n maskType: 11.4,\n textSizeAdjust: 11.4,\n filter: 11.4,\n hyphens: 11.4,\n fontFeatureSettings: 11.4,\n breakAfter: 11.4,\n breakBefore: 11.4,\n breakInside: 11.4,\n columnCount: 11.4,\n columnFill: 11.4,\n columnGap: 11.4,\n columnRule: 11.4,\n columnRuleColor: 11.4,\n columnRuleStyle: 11.4,\n columnRuleWidth: 11.4,\n columns: 11.4,\n columnSpan: 11.4,\n columnWidth: 11.4,\n writingMode: 11.4\n },\n op_mini: {}\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = calc;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction calc(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('calc(') > -1 && (browserName === 'firefox' && browserVersion < 15 || browserName === 'chrome' && browserVersion < 25 || browserName === 'safari' && browserVersion < 6.1 || browserName === 'ios_saf' && browserVersion < 7)) {\n return (0, _getPrefixedValue2.default)(value.replace(/calc\\(/g, cssPrefix + 'calc('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction crossFade(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('cross-fade(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || (browserName === 'ios_saf' || browserName === 'safari') && browserVersion < 10)) {\n return (0, _getPrefixedValue2.default)(value.replace(/cross-fade\\(/g, cssPrefix + 'cross-fade('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar grabValues = {\n grab: true,\n grabbing: true\n};\n\n\nvar zoomValues = {\n 'zoom-in': true,\n 'zoom-out': true\n};\n\nfunction cursor(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // adds prefixes for firefox, chrome, safari, and opera regardless of\n // version until a reliable browser support info can be found\n // see: https://github.com/rofrischmann/inline-style-prefixer/issues/79\n if (property === 'cursor' && grabValues[value] && (browserName === 'firefox' || browserName === 'chrome' || browserName === 'safari' || browserName === 'opera')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n\n if (property === 'cursor' && zoomValues[value] && (browserName === 'firefox' && browserVersion < 24 || browserName === 'chrome' && browserVersion < 37 || browserName === 'safari' && browserVersion < 9 || browserName === 'opera' && browserVersion < 24)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction filter(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('filter(') > -1 && (browserName === 'ios_saf' || browserName === 'safari' && browserVersion < 9.1)) {\n return (0, _getPrefixedValue2.default)(value.replace(/filter\\(/g, cssPrefix + 'filter('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flex;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = {\n flex: true,\n 'inline-flex': true\n};\nfunction flex(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'display' && values[value] && (browserName === 'chrome' && browserVersion < 29 && browserVersion > 20 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 && browserVersion > 6 || browserName === 'opera' && (browserVersion === 15 || browserVersion === 16))) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxIE;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'distribute',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n flex: 'flexbox',\n 'inline-flex': 'inline-flexbox'\n};\n\nvar alternativeProps = {\n alignContent: 'msFlexLinePack',\n alignSelf: 'msFlexItemAlign',\n alignItems: 'msFlexAlign',\n justifyContent: 'msFlexPack',\n order: 'msFlexOrder',\n flexGrow: 'msFlexPositive',\n flexShrink: 'msFlexNegative',\n flexBasis: 'msFlexPreferredSize'\n};\n\nfunction flexboxIE(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((alternativeProps.hasOwnProperty(property) || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'ie_mob' || browserName === 'ie') && browserVersion === 10) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = flexboxOld;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar alternativeValues = {\n 'space-around': 'justify',\n 'space-between': 'justify',\n 'flex-start': 'start',\n 'flex-end': 'end',\n 'wrap-reverse': 'multiple',\n wrap: 'multiple',\n flex: 'box',\n 'inline-flex': 'inline-box'\n};\n\n\nvar alternativeProps = {\n alignItems: 'WebkitBoxAlign',\n justifyContent: 'WebkitBoxPack',\n flexWrap: 'WebkitBoxLines',\n flexGrow: 'WebkitBoxFlex'\n};\n\nvar otherProps = ['alignContent', 'alignSelf', 'order', 'flexGrow', 'flexShrink', 'flexBasis', 'flexDirection'];\nvar properties = Object.keys(alternativeProps).concat(otherProps);\n\nfunction flexboxOld(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if ((properties.indexOf(property) > -1 || property === 'display' && typeof value === 'string' && value.indexOf('flex') > -1) && (browserName === 'firefox' && browserVersion < 22 || browserName === 'chrome' && browserVersion < 21 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion <= 6.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n delete requiresPrefix[property];\n\n if (!keepUnprefixed && !Array.isArray(style[property])) {\n delete style[property];\n }\n if (property === 'flexDirection' && typeof value === 'string') {\n if (value.indexOf('column') > -1) {\n style.WebkitBoxOrient = 'vertical';\n } else {\n style.WebkitBoxOrient = 'horizontal';\n }\n if (value.indexOf('reverse') > -1) {\n style.WebkitBoxDirection = 'reverse';\n } else {\n style.WebkitBoxDirection = 'normal';\n }\n }\n if (property === 'display' && alternativeValues.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + alternativeValues[value], value, keepUnprefixed);\n }\n if (alternativeProps.hasOwnProperty(property)) {\n style[alternativeProps[property]] = alternativeValues[value] || value;\n }\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = gradient;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar values = /linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient/gi;\nfunction gradient(property, value, style, _ref) {\n var browserName = _ref.browserName,\n browserVersion = _ref.browserVersion,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && values.test(value) && (browserName === 'firefox' && browserVersion < 16 || browserName === 'chrome' && browserVersion < 26 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 7 || (browserName === 'opera' || browserName === 'op_mini') && browserVersion < 12.1 || browserName === 'android' && browserVersion < 4.4 || browserName === 'and_uc')) {\n return (0, _getPrefixedValue2.default)(value.replace(values, function (grad) {\n return cssPrefix + grad;\n }), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction imageSet(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (typeof value === 'string' && value.indexOf('image-set(') > -1 && (browserName === 'chrome' || browserName === 'opera' || browserName === 'and_chr' || browserName === 'and_uc' || browserName === 'ios_saf' || browserName === 'safari')) {\n return (0, _getPrefixedValue2.default)(value.replace(/image-set\\(/g, cssPrefix + 'image-set('), value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction position(property, value, style, _ref) {\n var browserName = _ref.browserName,\n cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n if (property === 'position' && value === 'sticky' && (browserName === 'safari' || browserName === 'ios_saf')) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\n\nvar _getPrefixedValue = require('../../utils/getPrefixedValue');\n\nvar _getPrefixedValue2 = _interopRequireDefault(_getPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\n\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n\n // TODO: chrome & opera support it\n};function sizing(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed;\n\n // This might change in the future\n // Keep an eye on it\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return (0, _getPrefixedValue2.default)(cssPrefix + value, value, keepUnprefixed);\n }\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\n\nvar requiresPrefixDashCased = void 0;\n\nfunction transition(property, value, style, _ref) {\n var cssPrefix = _ref.cssPrefix,\n keepUnprefixed = _ref.keepUnprefixed,\n requiresPrefix = _ref.requiresPrefix;\n\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n // memoize the prefix array for later use\n if (!requiresPrefixDashCased) {\n requiresPrefixDashCased = Object.keys(requiresPrefix).map(function (prop) {\n return (0, _hyphenateProperty2.default)(prop);\n });\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n requiresPrefixDashCased.forEach(function (prop) {\n multipleValues.forEach(function (val, index) {\n if (val.indexOf(prop) > -1 && prop !== 'order') {\n multipleValues[index] = val.replace(prop, cssPrefix + prop) + (keepUnprefixed ? ',' + val : '');\n }\n });\n });\n\n return multipleValues.join(',');\n }\n}\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob()\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n}\n\nfunction isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n}\n\nif (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ]\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n }\n}\n\nfunction normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name)\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n}\n\nfunction normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value)\n }\n return value\n}\n\n// Build a destructive iterator for the value list\nfunction iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift()\n return {done: value === undefined, value: value}\n }\n }\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n }\n }\n\n return iterator\n}\n\nexport function Headers(headers) {\n this.map = {}\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value)\n }, this)\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1])\n }, this)\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name])\n }, this)\n }\n}\n\nHeaders.prototype.append = function(name, value) {\n name = normalizeName(name)\n value = normalizeValue(value)\n var oldValue = this.map[name]\n this.map[name] = oldValue ? oldValue + ', ' + value : value\n}\n\nHeaders.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)]\n}\n\nHeaders.prototype.get = function(name) {\n name = normalizeName(name)\n return this.has(name) ? this.map[name] : null\n}\n\nHeaders.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n}\n\nHeaders.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value)\n}\n\nHeaders.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this)\n }\n }\n}\n\nHeaders.prototype.keys = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push(name)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.values = function() {\n var items = []\n this.forEach(function(value) {\n items.push(value)\n })\n return iteratorFor(items)\n}\n\nHeaders.prototype.entries = function() {\n var items = []\n this.forEach(function(value, name) {\n items.push([name, value])\n })\n return iteratorFor(items)\n}\n\nif (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries\n}\n\nfunction consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true\n}\n\nfunction fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result)\n }\n reader.onerror = function() {\n reject(reader.error)\n }\n })\n}\n\nfunction readBlobAsArrayBuffer(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsArrayBuffer(blob)\n return promise\n}\n\nfunction readBlobAsText(blob) {\n var reader = new FileReader()\n var promise = fileReaderReady(reader)\n reader.readAsText(blob)\n return promise\n}\n\nfunction readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf)\n var chars = new Array(view.length)\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i])\n }\n return chars.join('')\n}\n\nfunction bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength)\n view.set(new Uint8Array(buf))\n return view.buffer\n }\n}\n\nfunction Body() {\n this.bodyUsed = false\n\n this._initBody = function(body) {\n this._bodyInit = body\n if (!body) {\n this._bodyText = ''\n } else if (typeof body === 'string') {\n this._bodyText = body\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString()\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer)\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer])\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body)\n } else {\n this._bodyText = body = Object.prototype.toString.call(body)\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8')\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type)\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8')\n }\n }\n }\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n }\n }\n\n this.text = function() {\n var rejected = consumed(this)\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n }\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n }\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n }\n\n return this\n}\n\n// HTTP methods whose capitalization should be normalized\nvar methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT']\n\nfunction normalizeMethod(method) {\n var upcased = method.toUpperCase()\n return methods.indexOf(upcased) > -1 ? upcased : method\n}\n\nexport function Request(input, options) {\n options = options || {}\n var body = options.body\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url\n this.credentials = input.credentials\n if (!options.headers) {\n this.headers = new Headers(input.headers)\n }\n this.method = input.method\n this.mode = input.mode\n this.signal = input.signal\n if (!body && input._bodyInit != null) {\n body = input._bodyInit\n input.bodyUsed = true\n }\n } else {\n this.url = String(input)\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin'\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers)\n }\n this.method = normalizeMethod(options.method || this.method || 'GET')\n this.mode = options.mode || this.mode || null\n this.signal = options.signal || this.signal\n this.referrer = null\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body)\n}\n\nRequest.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n}\n\nfunction decode(body) {\n var form = new FormData()\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=')\n var name = split.shift().replace(/\\+/g, ' ')\n var value = split.join('=').replace(/\\+/g, ' ')\n form.append(decodeURIComponent(name), decodeURIComponent(value))\n }\n })\n return form\n}\n\nfunction parseHeaders(rawHeaders) {\n var headers = new Headers()\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ')\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':')\n var key = parts.shift().trim()\n if (key) {\n var value = parts.join(':').trim()\n headers.append(key, value)\n }\n })\n return headers\n}\n\nBody.call(Request.prototype)\n\nexport function Response(bodyInit, options) {\n if (!options) {\n options = {}\n }\n\n this.type = 'default'\n this.status = options.status === undefined ? 200 : options.status\n this.ok = this.status >= 200 && this.status < 300\n this.statusText = 'statusText' in options ? options.statusText : 'OK'\n this.headers = new Headers(options.headers)\n this.url = options.url || ''\n this._initBody(bodyInit)\n}\n\nBody.call(Response.prototype)\n\nResponse.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n}\n\nResponse.error = function() {\n var response = new Response(null, {status: 0, statusText: ''})\n response.type = 'error'\n return response\n}\n\nvar redirectStatuses = [301, 302, 303, 307, 308]\n\nResponse.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n}\n\nexport var DOMException = self.DOMException\ntry {\n new DOMException()\n} catch (err) {\n DOMException = function(message, name) {\n this.message = message\n this.name = name\n var error = Error(message)\n this.stack = error.stack\n }\n DOMException.prototype = Object.create(Error.prototype)\n DOMException.prototype.constructor = DOMException\n}\n\nexport function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init)\n\n if (request.signal && request.signal.aborted) {\n return reject(new DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest()\n\n function abortXhr() {\n xhr.abort()\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL')\n var body = 'response' in xhr ? xhr.response : xhr.responseText\n resolve(new Response(body, options))\n }\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'))\n }\n\n xhr.onabort = function() {\n reject(new DOMException('Aborted', 'AbortError'))\n }\n\n xhr.open(request.method, request.url, true)\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob'\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value)\n })\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr)\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr)\n }\n }\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit)\n })\n}\n\nfetch.polyfill = true\n\nif (!self.fetch) {\n self.fetch = fetch\n self.Headers = Headers\n self.Request = Request\n self.Response = Response\n}\n","/** @license React v16.11.0\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});\nvar b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?Symbol.for(\"react.suspense_list\"):\n60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.fundamental\"):60117,w=b?Symbol.for(\"react.responder\"):60118,x=b?Symbol.for(\"react.scope\"):60119;function y(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case h:return a;default:return u}}case t:case r:case d:return u}}}function z(a){return y(a)===m}\nexports.typeOf=y;exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===v||a.$$typeof===w||a.$$typeof===x)};exports.isAsyncMode=function(a){return z(a)||y(a)===l};exports.isConcurrentMode=z;exports.isContextConsumer=function(a){return y(a)===k};exports.isContextProvider=function(a){return y(a)===h};\nexports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return y(a)===n};exports.isFragment=function(a){return y(a)===e};exports.isLazy=function(a){return y(a)===t};exports.isMemo=function(a){return y(a)===r};exports.isPortal=function(a){return y(a)===d};exports.isProfiler=function(a){return y(a)===g};exports.isStrictMode=function(a){return y(a)===f};exports.isSuspense=function(a){return y(a)===p};\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\r\n\r\n/**\r\n * Is this string all whitespace?\r\n * This solution kind of makes my brain hurt, but it's significantly faster\r\n * than !str.trim() or any other solution I could find.\r\n *\r\n * whitespace codes from: http://en.wikipedia.org/wiki/Whitespace_character\r\n * and verified with:\r\n *\r\n * for(var i = 0; i < 65536; i++) {\r\n * var s = String.fromCharCode(i);\r\n * if(+s===0 && !s.trim()) console.log(i, s);\r\n * }\r\n *\r\n * which counts a couple of these as *not* whitespace, but finds nothing else\r\n * that *is* whitespace. Note that charCodeAt stops at 16 bits, but it appears\r\n * that there are no whitespace characters above this, and code points above\r\n * this do not map onto white space characters.\r\n */\r\n\r\nmodule.exports = function(str){\r\n var l = str.length,\r\n a;\r\n for(var i = 0; i < l; i++) {\r\n a = str.charCodeAt(i);\r\n if((a < 9 || a > 13) && (a !== 32) && (a !== 133) && (a !== 160) &&\r\n (a !== 5760) && (a !== 6158) && (a < 8192 || a > 8205) &&\r\n (a !== 8232) && (a !== 8233) && (a !== 8239) && (a !== 8287) &&\r\n (a !== 8288) && (a !== 12288) && (a !== 65279)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n if (prefixProperties.hasOwnProperty(property)) {\n var newStyle = {};\n var requiredPrefixes = prefixProperties[property];\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n var keys = Object.keys(style);\n for (var i = 0; i < keys.length; i++) {\n var styleProperty = keys[i];\n if (styleProperty === property) {\n for (var j = 0; j < requiredPrefixes.length; j++) {\n newStyle[requiredPrefixes[j] + capitalizedProperty] = style[property];\n }\n }\n newStyle[styleProperty] = style[styleProperty];\n }\n return newStyle;\n }\n return style;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getBrowserInformation;\n\nvar _bowser = require('bowser');\n\nvar _bowser2 = _interopRequireDefault(_bowser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar prefixByBrowser = {\n chrome: 'Webkit',\n safari: 'Webkit',\n ios: 'Webkit',\n android: 'Webkit',\n phantom: 'Webkit',\n opera: 'Webkit',\n webos: 'Webkit',\n blackberry: 'Webkit',\n bada: 'Webkit',\n tizen: 'Webkit',\n chromium: 'Webkit',\n vivaldi: 'Webkit',\n firefox: 'Moz',\n seamoney: 'Moz',\n sailfish: 'Moz',\n msie: 'ms',\n msedge: 'ms'\n};\n\n\nvar browserByCanIuseAlias = {\n chrome: 'chrome',\n chromium: 'chrome',\n safari: 'safari',\n firfox: 'firefox',\n msedge: 'edge',\n opera: 'opera',\n vivaldi: 'opera',\n msie: 'ie'\n};\n\nfunction getBrowserName(browserInfo) {\n if (browserInfo.firefox) {\n return 'firefox';\n }\n\n if (browserInfo.mobile || browserInfo.tablet) {\n if (browserInfo.ios) {\n return 'ios_saf';\n } else if (browserInfo.android) {\n return 'android';\n } else if (browserInfo.opera) {\n return 'op_mini';\n }\n }\n\n for (var browser in browserByCanIuseAlias) {\n if (browserInfo.hasOwnProperty(browser)) {\n return browserByCanIuseAlias[browser];\n }\n }\n}\n\n/**\n * Uses bowser to get default browser browserInformation such as version and name\n * Evaluates bowser browserInfo and adds vendorPrefix browserInformation\n * @param {string} userAgent - userAgent that gets evaluated\n */\nfunction getBrowserInformation(userAgent) {\n var browserInfo = _bowser2.default._detect(userAgent);\n\n if (browserInfo.yandexbrowser) {\n browserInfo = _bowser2.default._detect(userAgent.replace(/YaBrowser\\/[0-9.]*/, ''));\n }\n\n for (var browser in prefixByBrowser) {\n if (browserInfo.hasOwnProperty(browser)) {\n var prefix = prefixByBrowser[browser];\n\n browserInfo.jsPrefix = prefix;\n browserInfo.cssPrefix = '-' + prefix.toLowerCase() + '-';\n break;\n }\n }\n\n browserInfo.browserName = getBrowserName(browserInfo);\n\n // For cordova IOS 8 the version is missing, set truncated osversion to prevent NaN\n if (browserInfo.version) {\n browserInfo.browserVersion = parseFloat(browserInfo.version);\n } else {\n browserInfo.browserVersion = parseInt(parseFloat(browserInfo.osversion), 10);\n }\n\n browserInfo.osVersion = parseFloat(browserInfo.osversion);\n\n // iOS forces all browsers to use Safari under the hood\n // as the Safari version seems to match the iOS version\n // we just explicitely use the osversion instead\n // https://github.com/rofrischmann/inline-style-prefixer/issues/72\n if (browserInfo.browserName === 'ios_saf' && browserInfo.browserVersion > browserInfo.osVersion) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // seperate native android chrome\n // https://github.com/rofrischmann/inline-style-prefixer/issues/45\n if (browserInfo.browserName === 'android' && browserInfo.chrome && browserInfo.browserVersion > 37) {\n browserInfo.browserName = 'and_chr';\n }\n\n // For android < 4.4 we want to check the osversion\n // not the chrome version, see issue #26\n // https://github.com/rofrischmann/inline-style-prefixer/issues/26\n if (browserInfo.browserName === 'android' && browserInfo.osVersion < 5) {\n browserInfo.browserVersion = browserInfo.osVersion;\n }\n\n // Samsung browser are basically build on Chrome > 44\n // https://github.com/rofrischmann/inline-style-prefixer/issues/102\n if (browserInfo.browserName === 'android' && browserInfo.samsungBrowser) {\n browserInfo.browserName = 'and_chr';\n browserInfo.browserVersion = 44;\n }\n\n return browserInfo;\n}\nmodule.exports = exports['default'];","/*!\n * Bowser - a browser detector\n * https://github.com/ded/bowser\n * MIT License | (c) Dustin Diaz 2015\n */\n\n!function (root, name, definition) {\n if (typeof module != 'undefined' && module.exports) module.exports = definition()\n else if (typeof define == 'function' && define.amd) define(name, definition)\n else root[name] = definition()\n}(this, 'bowser', function () {\n /**\n * See useragents.js for examples of navigator.userAgent\n */\n\n var t = true\n\n function detect(ua) {\n\n function getFirstMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[1]) || '';\n }\n\n function getSecondMatch(regex) {\n var match = ua.match(regex);\n return (match && match.length > 1 && match[2]) || '';\n }\n\n var iosdevice = getFirstMatch(/(ipod|iphone|ipad)/i).toLowerCase()\n , likeAndroid = /like android/i.test(ua)\n , android = !likeAndroid && /android/i.test(ua)\n , nexusMobile = /nexus\\s*[0-6]\\s*/i.test(ua)\n , nexusTablet = !nexusMobile && /nexus\\s*[0-9]+/i.test(ua)\n , chromeos = /CrOS/.test(ua)\n , silk = /silk/i.test(ua)\n , sailfish = /sailfish/i.test(ua)\n , tizen = /tizen/i.test(ua)\n , webos = /(web|hpw)(o|0)s/i.test(ua)\n , windowsphone = /windows phone/i.test(ua)\n , samsungBrowser = /SamsungBrowser/i.test(ua)\n , windows = !windowsphone && /windows/i.test(ua)\n , mac = !iosdevice && !silk && /macintosh/i.test(ua)\n , linux = !android && !sailfish && !tizen && !webos && /linux/i.test(ua)\n , edgeVersion = getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.\\d+)?)/i)\n , versionIdentifier = getFirstMatch(/version\\/(\\d+(\\.\\d+)?)/i)\n , tablet = /tablet/i.test(ua) && !/tablet pc/i.test(ua)\n , mobile = !tablet && /[^-]mobi/i.test(ua)\n , xbox = /xbox/i.test(ua)\n , result\n\n if (/opera/i.test(ua)) {\n // an old Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: versionIdentifier || getFirstMatch(/(?:opera|opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n } else if (/opr\\/|opios/i.test(ua)) {\n // a new Opera\n result = {\n name: 'Opera'\n , opera: t\n , version: getFirstMatch(/(?:opr|opios)[\\s\\/](\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/SamsungBrowser/i.test(ua)) {\n result = {\n name: 'Samsung Internet for Android'\n , samsungBrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/Whale/i.test(ua)) {\n result = {\n name: 'NAVER Whale browser'\n , whale: t\n , version: getFirstMatch(/(?:whale)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/MZBrowser/i.test(ua)) {\n result = {\n name: 'MZ Browser'\n , mzbrowser: t\n , version: getFirstMatch(/(?:MZBrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/coast/i.test(ua)) {\n result = {\n name: 'Opera Coast'\n , coast: t\n , version: versionIdentifier || getFirstMatch(/(?:coast)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/focus/i.test(ua)) {\n result = {\n name: 'Focus'\n , focus: t\n , version: getFirstMatch(/(?:focus)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/yabrowser/i.test(ua)) {\n result = {\n name: 'Yandex Browser'\n , yandexbrowser: t\n , version: versionIdentifier || getFirstMatch(/(?:yabrowser)[\\s\\/](\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/ucbrowser/i.test(ua)) {\n result = {\n name: 'UC Browser'\n , ucbrowser: t\n , version: getFirstMatch(/(?:ucbrowser)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/mxios/i.test(ua)) {\n result = {\n name: 'Maxthon'\n , maxthon: t\n , version: getFirstMatch(/(?:mxios)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/epiphany/i.test(ua)) {\n result = {\n name: 'Epiphany'\n , epiphany: t\n , version: getFirstMatch(/(?:epiphany)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/puffin/i.test(ua)) {\n result = {\n name: 'Puffin'\n , puffin: t\n , version: getFirstMatch(/(?:puffin)[\\s\\/](\\d+(?:\\.\\d+)?)/i)\n }\n }\n else if (/sleipnir/i.test(ua)) {\n result = {\n name: 'Sleipnir'\n , sleipnir: t\n , version: getFirstMatch(/(?:sleipnir)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (/k-meleon/i.test(ua)) {\n result = {\n name: 'K-Meleon'\n , kMeleon: t\n , version: getFirstMatch(/(?:k-meleon)[\\s\\/](\\d+(?:\\.\\d+)+)/i)\n }\n }\n else if (windowsphone) {\n result = {\n name: 'Windows Phone'\n , osname: 'Windows Phone'\n , windowsphone: t\n }\n if (edgeVersion) {\n result.msedge = t\n result.version = edgeVersion\n }\n else {\n result.msie = t\n result.version = getFirstMatch(/iemobile\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/msie|trident/i.test(ua)) {\n result = {\n name: 'Internet Explorer'\n , msie: t\n , version: getFirstMatch(/(?:msie |rv:)(\\d+(\\.\\d+)?)/i)\n }\n } else if (chromeos) {\n result = {\n name: 'Chrome'\n , osname: 'Chrome OS'\n , chromeos: t\n , chromeBook: t\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n } else if (/edg([ea]|ios)/i.test(ua)) {\n result = {\n name: 'Microsoft Edge'\n , msedge: t\n , version: edgeVersion\n }\n }\n else if (/vivaldi/i.test(ua)) {\n result = {\n name: 'Vivaldi'\n , vivaldi: t\n , version: getFirstMatch(/vivaldi\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (sailfish) {\n result = {\n name: 'Sailfish'\n , osname: 'Sailfish OS'\n , sailfish: t\n , version: getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/seamonkey\\//i.test(ua)) {\n result = {\n name: 'SeaMonkey'\n , seamonkey: t\n , version: getFirstMatch(/seamonkey\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/firefox|iceweasel|fxios/i.test(ua)) {\n result = {\n name: 'Firefox'\n , firefox: t\n , version: getFirstMatch(/(?:firefox|iceweasel|fxios)[ \\/](\\d+(\\.\\d+)?)/i)\n }\n if (/\\((mobile|tablet);[^\\)]*rv:[\\d\\.]+\\)/i.test(ua)) {\n result.firefoxos = t\n result.osname = 'Firefox OS'\n }\n }\n else if (silk) {\n result = {\n name: 'Amazon Silk'\n , silk: t\n , version : getFirstMatch(/silk\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/phantom/i.test(ua)) {\n result = {\n name: 'PhantomJS'\n , phantom: t\n , version: getFirstMatch(/phantomjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/slimerjs/i.test(ua)) {\n result = {\n name: 'SlimerJS'\n , slimer: t\n , version: getFirstMatch(/slimerjs\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (/blackberry|\\bbb\\d+/i.test(ua) || /rim\\stablet/i.test(ua)) {\n result = {\n name: 'BlackBerry'\n , osname: 'BlackBerry OS'\n , blackberry: t\n , version: versionIdentifier || getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (webos) {\n result = {\n name: 'WebOS'\n , osname: 'WebOS'\n , webos: t\n , version: versionIdentifier || getFirstMatch(/w(?:eb)?osbrowser\\/(\\d+(\\.\\d+)?)/i)\n };\n /touchpad\\//i.test(ua) && (result.touchpad = t)\n }\n else if (/bada/i.test(ua)) {\n result = {\n name: 'Bada'\n , osname: 'Bada'\n , bada: t\n , version: getFirstMatch(/dolfin\\/(\\d+(\\.\\d+)?)/i)\n };\n }\n else if (tizen) {\n result = {\n name: 'Tizen'\n , osname: 'Tizen'\n , tizen: t\n , version: getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.\\d+)?)/i) || versionIdentifier\n };\n }\n else if (/qupzilla/i.test(ua)) {\n result = {\n name: 'QupZilla'\n , qupzilla: t\n , version: getFirstMatch(/(?:qupzilla)[\\s\\/](\\d+(?:\\.\\d+)+)/i) || versionIdentifier\n }\n }\n else if (/chromium/i.test(ua)) {\n result = {\n name: 'Chromium'\n , chromium: t\n , version: getFirstMatch(/(?:chromium)[\\s\\/](\\d+(?:\\.\\d+)?)/i) || versionIdentifier\n }\n }\n else if (/chrome|crios|crmo/i.test(ua)) {\n result = {\n name: 'Chrome'\n , chrome: t\n , version: getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.\\d+)?)/i)\n }\n }\n else if (android) {\n result = {\n name: 'Android'\n , version: versionIdentifier\n }\n }\n else if (/safari|applewebkit/i.test(ua)) {\n result = {\n name: 'Safari'\n , safari: t\n }\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if (iosdevice) {\n result = {\n name : iosdevice == 'iphone' ? 'iPhone' : iosdevice == 'ipad' ? 'iPad' : 'iPod'\n }\n // WTF: version is not part of user agent in web apps\n if (versionIdentifier) {\n result.version = versionIdentifier\n }\n }\n else if(/googlebot/i.test(ua)) {\n result = {\n name: 'Googlebot'\n , googlebot: t\n , version: getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i) || versionIdentifier\n }\n }\n else {\n result = {\n name: getFirstMatch(/^(.*)\\/(.*) /),\n version: getSecondMatch(/^(.*)\\/(.*) /)\n };\n }\n\n // set webkit or gecko flag for browsers based on these engines\n if (!result.msedge && /(apple)?webkit/i.test(ua)) {\n if (/(apple)?webkit\\/537\\.36/i.test(ua)) {\n result.name = result.name || \"Blink\"\n result.blink = t\n } else {\n result.name = result.name || \"Webkit\"\n result.webkit = t\n }\n if (!result.version && versionIdentifier) {\n result.version = versionIdentifier\n }\n } else if (!result.opera && /gecko\\//i.test(ua)) {\n result.name = result.name || \"Gecko\"\n result.gecko = t\n result.version = result.version || getFirstMatch(/gecko\\/(\\d+(\\.\\d+)?)/i)\n }\n\n // set OS flags for platforms that have multiple browsers\n if (!result.windowsphone && (android || result.silk)) {\n result.android = t\n result.osname = 'Android'\n } else if (!result.windowsphone && iosdevice) {\n result[iosdevice] = t\n result.ios = t\n result.osname = 'iOS'\n } else if (mac) {\n result.mac = t\n result.osname = 'macOS'\n } else if (xbox) {\n result.xbox = t\n result.osname = 'Xbox'\n } else if (windows) {\n result.windows = t\n result.osname = 'Windows'\n } else if (linux) {\n result.linux = t\n result.osname = 'Linux'\n }\n\n function getWindowsVersion (s) {\n switch (s) {\n case 'NT': return 'NT'\n case 'XP': return 'XP'\n case 'NT 5.0': return '2000'\n case 'NT 5.1': return 'XP'\n case 'NT 5.2': return '2003'\n case 'NT 6.0': return 'Vista'\n case 'NT 6.1': return '7'\n case 'NT 6.2': return '8'\n case 'NT 6.3': return '8.1'\n case 'NT 10.0': return '10'\n default: return undefined\n }\n }\n\n // OS version extraction\n var osVersion = '';\n if (result.windows) {\n osVersion = getWindowsVersion(getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i))\n } else if (result.windowsphone) {\n osVersion = getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i);\n } else if (result.mac) {\n osVersion = getFirstMatch(/Mac OS X (\\d+([_\\.\\s]\\d+)*)/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (iosdevice) {\n osVersion = getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i);\n osVersion = osVersion.replace(/[_\\s]/g, '.');\n } else if (android) {\n osVersion = getFirstMatch(/android[ \\/-](\\d+(\\.\\d+)*)/i);\n } else if (result.webos) {\n osVersion = getFirstMatch(/(?:web|hpw)os\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.blackberry) {\n osVersion = getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i);\n } else if (result.bada) {\n osVersion = getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i);\n } else if (result.tizen) {\n osVersion = getFirstMatch(/tizen[\\/\\s](\\d+(\\.\\d+)*)/i);\n }\n if (osVersion) {\n result.osversion = osVersion;\n }\n\n // device type extraction\n var osMajorVersion = !result.windows && osVersion.split('.')[0];\n if (\n tablet\n || nexusTablet\n || iosdevice == 'ipad'\n || (android && (osMajorVersion == 3 || (osMajorVersion >= 4 && !mobile)))\n || result.silk\n ) {\n result.tablet = t\n } else if (\n mobile\n || iosdevice == 'iphone'\n || iosdevice == 'ipod'\n || android\n || nexusMobile\n || result.blackberry\n || result.webos\n || result.bada\n ) {\n result.mobile = t\n }\n\n // Graded Browser Support\n // http://developer.yahoo.com/yui/articles/gbs\n if (result.msedge ||\n (result.msie && result.version >= 10) ||\n (result.yandexbrowser && result.version >= 15) ||\n\t\t (result.vivaldi && result.version >= 1.0) ||\n (result.chrome && result.version >= 20) ||\n (result.samsungBrowser && result.version >= 4) ||\n (result.whale && compareVersions([result.version, '1.0']) === 1) ||\n (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||\n (result.focus && compareVersions([result.version, '1.0']) === 1) ||\n (result.firefox && result.version >= 20.0) ||\n (result.safari && result.version >= 6) ||\n (result.opera && result.version >= 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] >= 6) ||\n (result.blackberry && result.version >= 10.1)\n || (result.chromium && result.version >= 20)\n ) {\n result.a = t;\n }\n else if ((result.msie && result.version < 10) ||\n (result.chrome && result.version < 20) ||\n (result.firefox && result.version < 20.0) ||\n (result.safari && result.version < 6) ||\n (result.opera && result.version < 10.0) ||\n (result.ios && result.osversion && result.osversion.split(\".\")[0] < 6)\n || (result.chromium && result.version < 20)\n ) {\n result.c = t\n } else result.x = t\n\n return result\n }\n\n var bowser = detect(typeof navigator !== 'undefined' ? navigator.userAgent || '' : '')\n\n bowser.test = function (browserList) {\n for (var i = 0; i < browserList.length; ++i) {\n var browserItem = browserList[i];\n if (typeof browserItem=== 'string') {\n if (browserItem in bowser) {\n return true;\n }\n }\n }\n return false;\n }\n\n /**\n * Get version precisions count\n *\n * @example\n * getVersionPrecision(\"1.10.3\") // 3\n *\n * @param {string} version\n * @return {number}\n */\n function getVersionPrecision(version) {\n return version.split(\".\").length;\n }\n\n /**\n * Array::map polyfill\n *\n * @param {Array} arr\n * @param {Function} iterator\n * @return {Array}\n */\n function map(arr, iterator) {\n var result = [], i;\n if (Array.prototype.map) {\n return Array.prototype.map.call(arr, iterator);\n }\n for (i = 0; i < arr.length; i++) {\n result.push(iterator(arr[i]));\n }\n return result;\n }\n\n /**\n * Calculate browser version weight\n *\n * @example\n * compareVersions(['1.10.2.1', '1.8.2.1.90']) // 1\n * compareVersions(['1.010.2.1', '1.09.2.1.90']); // 1\n * compareVersions(['1.10.2.1', '1.10.2.1']); // 0\n * compareVersions(['1.10.2.1', '1.0800.2']); // -1\n *\n * @param {Array<String>} versions versions to compare\n * @return {Number} comparison result\n */\n function compareVersions(versions) {\n // 1) get common precision for both versions, for example for \"10.0\" and \"9\" it should be 2\n var precision = Math.max(getVersionPrecision(versions[0]), getVersionPrecision(versions[1]));\n var chunks = map(versions, function (version) {\n var delta = precision - getVersionPrecision(version);\n\n // 2) \"9\" -> \"9.0\" (for precision = 2)\n version = version + new Array(delta + 1).join(\".0\");\n\n // 3) \"9.0\" -> [\"000000000\"\", \"000000009\"]\n return map(version.split(\".\"), function (chunk) {\n return new Array(20 - chunk.length).join(\"0\") + chunk;\n }).reverse();\n });\n\n // iterate in reverse order by reversed chunks array\n while (--precision >= 0) {\n // 4) compare: \"000000009\" > \"000000010\" = false (but \"9\" > \"10\" = true)\n if (chunks[0][precision] > chunks[1][precision]) {\n return 1;\n }\n else if (chunks[0][precision] === chunks[1][precision]) {\n if (precision === 0) {\n // all version chunks are same\n return 0;\n }\n }\n else {\n return -1;\n }\n }\n }\n\n /**\n * Check if browser is unsupported\n *\n * @example\n * bowser.isUnsupportedBrowser({\n * msie: \"10\",\n * firefox: \"23\",\n * chrome: \"29\",\n * safari: \"5.1\",\n * opera: \"16\",\n * phantom: \"534\"\n * });\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function isUnsupportedBrowser(minVersions, strictMode, ua) {\n var _bowser = bowser;\n\n // make strictMode param optional with ua param usage\n if (typeof strictMode === 'string') {\n ua = strictMode;\n strictMode = void(0);\n }\n\n if (strictMode === void(0)) {\n strictMode = false;\n }\n if (ua) {\n _bowser = detect(ua);\n }\n\n var version = \"\" + _bowser.version;\n for (var browser in minVersions) {\n if (minVersions.hasOwnProperty(browser)) {\n if (_bowser[browser]) {\n if (typeof minVersions[browser] !== 'string') {\n throw new Error('Browser version in the minVersion map should be a string: ' + browser + ': ' + String(minVersions));\n }\n\n // browser version and min supported version.\n return compareVersions([version, minVersions[browser]]) < 0;\n }\n }\n }\n\n return strictMode; // not found\n }\n\n /**\n * Check if browser is supported\n *\n * @param {Object} minVersions map of minimal version to browser\n * @param {Boolean} [strictMode = false] flag to return false if browser wasn't found in map\n * @param {String} [ua] user agent string\n * @return {Boolean}\n */\n function check(minVersions, strictMode, ua) {\n return !isUnsupportedBrowser(minVersions, strictMode, ua);\n }\n\n bowser.isUnsupportedBrowser = isUnsupportedBrowser;\n bowser.compareVersions = compareVersions;\n bowser.check = check;\n\n /*\n * Set our detect method to the main bowser object so we can\n * reuse it to test other user agents.\n * This is needed to implement future tests.\n */\n bowser._detect = detect;\n\n /*\n * Set our detect public method to the main bowser object\n * This is needed to implement bowser in server side\n */\n bowser.detect = detect;\n return bowser\n});\n","module.exports = function() {\n\tthrow new Error(\"define cannot be used indirect\");\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = getPrefixedKeyframes;\nfunction getPrefixedKeyframes(browserName, browserVersion, cssPrefix) {\n var prefixedKeyframes = 'keyframes';\n\n if (browserName === 'chrome' && browserVersion < 43 || (browserName === 'safari' || browserName === 'ios_saf') && browserVersion < 9 || browserName === 'opera' && browserVersion < 30 || browserName === 'android' && browserVersion <= 4.4 || browserName === 'and_uc') {\n return cssPrefix + prefixedKeyframes;\n }\n return prefixedKeyframes;\n}\nmodule.exports = exports['default'];","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","import React from 'react';\nexport var ReactReduxContext =\n/*#__PURE__*/\nReact.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nvar nullListeners = {\n notify: function notify() {}\n};\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(store, parentSub) {\n this.store = store;\n this.parentSub = parentSub;\n this.unsubscribe = null;\n this.listeners = nullListeners;\n this.handleChangeWrapper = this.handleChangeWrapper.bind(this);\n }\n\n var _proto = Subscription.prototype;\n\n _proto.addNestedSub = function addNestedSub(listener) {\n this.trySubscribe();\n return this.listeners.subscribe(listener);\n };\n\n _proto.notifyNestedSubs = function notifyNestedSubs() {\n this.listeners.notify();\n };\n\n _proto.handleChangeWrapper = function handleChangeWrapper() {\n if (this.onStateChange) {\n this.onStateChange();\n }\n };\n\n _proto.isSubscribed = function isSubscribed() {\n return Boolean(this.unsubscribe);\n };\n\n _proto.trySubscribe = function trySubscribe() {\n if (!this.unsubscribe) {\n this.unsubscribe = this.parentSub ? this.parentSub.addNestedSub(this.handleChangeWrapper) : this.store.subscribe(this.handleChangeWrapper);\n this.listeners = createListenerCollection();\n }\n };\n\n _proto.tryUnsubscribe = function tryUnsubscribe() {\n if (this.unsubscribe) {\n this.unsubscribe();\n this.unsubscribe = null;\n this.listeners.clear();\n this.listeners = nullListeners;\n }\n };\n\n return Subscription;\n}();\n\nexport { Subscription as default };","import React, { useMemo, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport Subscription from '../utils/Subscription';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = new Subscription(store);\n subscription.onStateChange = subscription.notifyNestedSubs;\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useEffect(function () {\n var subscription = contextValue.subscription;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","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}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var forwardedRef = props.forwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, [\"forwardedRef\"]);\n\n return [props.context, forwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n forwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer(React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a <Provider>, \") + \"or pass a custom React context provider to <Provider> and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n var subscription = new Subscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: forwardedRef\n }));\n }, [forwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return React.createElement(Connect, _extends({}, props, {\n forwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n/**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error('It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error('You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected the listener to be a function.');\n }\n\n if (isDispatching) {\n throw new Error('You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error('You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api-reference/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionDescription = actionType && \"action \\\"\" + String(actionType) + \"\\\"\" || 'an action';\n return \"Given \" + actionDescription + \", reducer \\\"\" + key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\";\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(\"Reducer \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle \" + ActionTypes.INIT + \" or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(\"bindActionCreators expected an object or a function, instead received \" + (actionCreators === null ? 'null' : typeof actionCreators) + \". \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n keys.push.apply(keys, Object.getOwnPropertySymbols(object));\n }\n\n if (enumerableOnly) keys = keys.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(source, true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(source).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error('Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread2({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore };\n","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import { bindActionCreators } from 'redux';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, {}, stateProps, {}, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"]);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"]);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default\n/*#__PURE__*/\ncreateConnect();","import { useReducer, useRef, useMemo, useContext } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport Subscription from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return new Subscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestSelectedState = useRef();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || latestSubscriptionCallbackError.current) {\n selectedState = selector(store.getState());\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newSelectedState = latestSelector.current(store.getState());\n\n if (equalityFn(newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = newSelectedState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender({});\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production' && !selector) {\n throw new Error(\"You must pass a selector to useSelectors\");\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n return useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector =\n/*#__PURE__*/\ncreateSelectorHook();","function createThunkMiddleware(extraArgument) {\n return function (_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n if (typeof action === 'function') {\n return action(dispatch, getState, extraArgument);\n }\n\n return next(action);\n };\n };\n };\n}\n\nvar thunk = createThunkMiddleware();\nthunk.withExtraArgument = createThunkMiddleware;\n\nexport default thunk;","import Provider from './components/Provider';\nimport connectAdvanced from './components/connectAdvanced';\nimport { ReactReduxContext } from './components/Context';\nimport connect from './connect/connect';\nimport { useDispatch, createDispatchHook } from './hooks/useDispatch';\nimport { useSelector, createSelectorHook } from './hooks/useSelector';\nimport { useStore, createStoreHook } from './hooks/useStore';\nimport { setBatch } from './utils/batch';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport shallowEqual from './utils/shallowEqual';\nsetBatch(batch);\nexport { Provider, connectAdvanced, ReactReduxContext, connect, batch, useDispatch, createDispatchHook, useSelector, createSelectorHook, useStore, createStoreHook, shallowEqual };","/**\n * Tests whether or not an object is an array.\n *\n * @private\n * @param {*} val The object to test.\n * @return {Boolean} `true` if `val` is an array, `false` otherwise.\n * @example\n *\n * _isArray([]); //=> true\n * _isArray(null); //=> false\n * _isArray({}); //=> false\n */\nexport default Array.isArray || function _isArray(val) {\n return val != null && val.length >= 0 && Object.prototype.toString.call(val) === '[object Array]';\n};","import _isArray from \"./_isArray.js\";\n/**\n * This checks whether a function has a [methodname] function. If it isn't an\n * array it will execute that function otherwise it will default to the ramda\n * implementation.\n *\n * @private\n * @param {Function} fn ramda implemtation\n * @param {String} methodname property to check for a custom implementation\n * @return {Object} Whatever the return value of the method is.\n */\n\nexport default function _checkForMethod(methodname, fn) {\n return function () {\n var length = arguments.length;\n\n if (length === 0) {\n return fn();\n }\n\n var obj = arguments[length - 1];\n return _isArray(obj) || typeof obj[methodname] !== 'function' ? fn.apply(this, arguments) : obj[methodname].apply(obj, Array.prototype.slice.call(arguments, 0, length - 1));\n };\n}","export default function _isPlaceholder(a) {\n return a != null && typeof a === 'object' && a['@@functional/placeholder'] === true;\n}","import _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal one-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry1(fn) {\n return function f1(a) {\n if (arguments.length === 0 || _isPlaceholder(a)) {\n return f1;\n } else {\n return fn.apply(this, arguments);\n }\n };\n}","import _curry1 from \"./_curry1.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal two-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry2(fn) {\n return function f2(a, b) {\n switch (arguments.length) {\n case 0:\n return f2;\n\n case 1:\n return _isPlaceholder(a) ? f2 : _curry1(function (_b) {\n return fn(a, _b);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f2 : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b);\n }) : fn(a, b);\n }\n };\n}","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Iterate over an input `list`, calling a provided function `fn` for each\n * element in the list.\n *\n * `fn` receives one argument: *(value)*.\n *\n * Note: `R.forEach` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.forEach` method. For more\n * details on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach#Description\n *\n * Also note that, unlike `Array.prototype.forEach`, Ramda's `forEach` returns\n * the original array. In some libraries this function is named `each`.\n *\n * Dispatches to the `forEach` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.1\n * @category List\n * @sig (a -> *) -> [a] -> [a]\n * @param {Function} fn The function to invoke. Receives one argument, `value`.\n * @param {Array} list The list to iterate over.\n * @return {Array} The original list.\n * @see R.addIndex\n * @example\n *\n * const printXPlusFive = x => console.log(x + 5);\n * R.forEach(printXPlusFive, [1, 2, 3]); //=> [1, 2, 3]\n * // logs 6\n * // logs 7\n * // logs 8\n * @symb R.forEach(f, [a, b, c]) = [a, b, c]\n */\n\nvar forEach =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_checkForMethod('forEach', function forEach(fn, list) {\n var len = list.length;\n var idx = 0;\n\n while (idx < len) {\n fn(list[idx]);\n idx += 1;\n }\n\n return list;\n}));\n\nexport default forEach;","/**\n * Determine if the passed argument is an integer.\n *\n * @private\n * @param {*} n\n * @category Type\n * @return {Boolean}\n */\nexport default Number.isInteger || function _isInteger(n) {\n return n << 0 === n;\n};","export default function _isString(x) {\n return Object.prototype.toString.call(x) === '[object String]';\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the nth element of the given list or string. If n is negative the\n * element at index length + n is returned.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> a | Undefined\n * @sig Number -> String -> String\n * @param {Number} offset\n * @param {*} list\n * @return {*}\n * @example\n *\n * const list = ['foo', 'bar', 'baz', 'quux'];\n * R.nth(1, list); //=> 'bar'\n * R.nth(-1, list); //=> 'quux'\n * R.nth(-99, list); //=> undefined\n *\n * R.nth(2, 'abc'); //=> 'c'\n * R.nth(3, 'abc'); //=> ''\n * @symb R.nth(-1, [a, b, c]) = c\n * @symb R.nth(0, [a, b, c]) = a\n * @symb R.nth(1, [a, b, c]) = b\n */\n\nvar nth =\n/*#__PURE__*/\n_curry2(function nth(offset, list) {\n var idx = offset < 0 ? list.length + offset : offset;\n return _isString(list) ? list.charAt(idx) : list[idx];\n});\n\nexport default nth;","import _curry2 from \"./internal/_curry2.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport nth from \"./nth.js\";\n/**\n * Retrieves the values at given paths of an object.\n *\n * @func\n * @memberOf R\n * @since v0.27.0\n * @category Object\n * @typedefn Idx = [String | Int]\n * @sig [Idx] -> {a} -> [a | Undefined]\n * @param {Array} pathsArray The array of paths to be fetched.\n * @param {Object} obj The object to retrieve the nested properties from.\n * @return {Array} A list consisting of values at paths specified by \"pathsArray\".\n * @see R.path\n * @example\n *\n * R.paths([['a', 'b'], ['p', 0, 'q']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, 3]\n * R.paths([['a', 'b'], ['p', 'r']], {a: {b: 2}, p: [{q: 3}]}); //=> [2, undefined]\n */\n\nvar paths =\n/*#__PURE__*/\n_curry2(function paths(pathsArray, obj) {\n return pathsArray.map(function (paths) {\n var val = obj;\n var idx = 0;\n var p;\n\n while (idx < paths.length) {\n if (val == null) {\n return;\n }\n\n p = paths[idx];\n val = _isInteger(p) ? nth(p, val) : val[p];\n idx += 1;\n }\n\n return val;\n });\n});\n\nexport default paths;","import _curry2 from \"./internal/_curry2.js\";\nimport paths from \"./paths.js\";\n/**\n * Retrieve the value at a given path.\n *\n * @func\n * @memberOf R\n * @since v0.2.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> a | Undefined\n * @param {Array} path The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path`.\n * @see R.prop, R.nth\n * @example\n *\n * R.path(['a', 'b'], {a: {b: 2}}); //=> 2\n * R.path(['a', 'b'], {c: {b: 2}}); //=> undefined\n * R.path(['a', 'b', 0], {a: {b: [1, 2, 3]}}); //=> 1\n * R.path(['a', 'b', -2], {a: {b: [1, 2, 3]}}); //=> 2\n */\n\nvar path =\n/*#__PURE__*/\n_curry2(function path(pathAr, obj) {\n return paths([pathAr], obj)[0];\n});\n\nexport default path;","export default function _has(prop, obj) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}","import _has from \"./_has.js\";\nvar toString = Object.prototype.toString;\n\nvar _isArguments =\n/*#__PURE__*/\nfunction () {\n return toString.call(arguments) === '[object Arguments]' ? function _isArguments(x) {\n return toString.call(x) === '[object Arguments]';\n } : function _isArguments(x) {\n return _has('callee', x);\n };\n}();\n\nexport default _isArguments;","import _curry1 from \"./internal/_curry1.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArguments from \"./internal/_isArguments.js\"; // cover IE < 9 keys issues\n\nvar hasEnumBug = !\n/*#__PURE__*/\n{\n toString: null\n}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['constructor', 'valueOf', 'isPrototypeOf', 'toString', 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString']; // Safari bug\n\nvar hasArgsEnumBug =\n/*#__PURE__*/\nfunction () {\n 'use strict';\n\n return arguments.propertyIsEnumerable('length');\n}();\n\nvar contains = function contains(list, item) {\n var idx = 0;\n\n while (idx < list.length) {\n if (list[idx] === item) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n};\n/**\n * Returns a list containing the names of all the enumerable own properties of\n * the supplied object.\n * Note that the order of the output array is not guaranteed to be consistent\n * across different JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [k]\n * @param {Object} obj The object to extract properties from\n * @return {Array} An array of the object's own properties.\n * @see R.keysIn, R.values\n * @example\n *\n * R.keys({a: 1, b: 2, c: 3}); //=> ['a', 'b', 'c']\n */\n\n\nvar keys = typeof Object.keys === 'function' && !hasArgsEnumBug ?\n/*#__PURE__*/\n_curry1(function keys(obj) {\n return Object(obj) !== obj ? [] : Object.keys(obj);\n}) :\n/*#__PURE__*/\n_curry1(function keys(obj) {\n if (Object(obj) !== obj) {\n return [];\n }\n\n var prop, nIdx;\n var ks = [];\n\n var checkArgsLength = hasArgsEnumBug && _isArguments(obj);\n\n for (prop in obj) {\n if (_has(prop, obj) && (!checkArgsLength || prop !== 'length')) {\n ks[ks.length] = prop;\n }\n }\n\n if (hasEnumBug) {\n nIdx = nonEnumerableProps.length - 1;\n\n while (nIdx >= 0) {\n prop = nonEnumerableProps[nIdx];\n\n if (_has(prop, obj) && !contains(ks, prop)) {\n ks[ks.length] = prop;\n }\n\n nIdx -= 1;\n }\n }\n\n return ks;\n});\nexport default keys;","export default function _isObject(x) {\n return Object.prototype.toString.call(x) === '[object Object]';\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _isArguments from \"./internal/_isArguments.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _isString from \"./internal/_isString.js\";\n/**\n * Returns the empty value of its argument's type. Ramda defines the empty\n * value of Array (`[]`), Object (`{}`), String (`''`), and Arguments. Other\n * types are supported if they define `<Type>.empty`,\n * `<Type>.prototype.empty` or implement the\n * [FantasyLand Monoid spec](https://github.com/fantasyland/fantasy-land#monoid).\n *\n * Dispatches to the `empty` method of the first argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig a -> a\n * @param {*} x\n * @return {*}\n * @example\n *\n * R.empty(Just(42)); //=> Nothing()\n * R.empty([1, 2, 3]); //=> []\n * R.empty('unicorns'); //=> ''\n * R.empty({x: 1, y: 2}); //=> {}\n */\n\nvar empty =\n/*#__PURE__*/\n_curry1(function empty(x) {\n return x != null && typeof x['fantasy-land/empty'] === 'function' ? x['fantasy-land/empty']() : x != null && x.constructor != null && typeof x.constructor['fantasy-land/empty'] === 'function' ? x.constructor['fantasy-land/empty']() : x != null && typeof x.empty === 'function' ? x.empty() : x != null && x.constructor != null && typeof x.constructor.empty === 'function' ? x.constructor.empty() : _isArray(x) ? [] : _isString(x) ? '' : _isObject(x) ? {} : _isArguments(x) ? function () {\n return arguments;\n }() : void 0 // else\n ;\n});\n\nexport default empty;","export default function _arrayFromIterator(iter) {\n var list = [];\n var next;\n\n while (!(next = iter.next()).done) {\n list.push(next.value);\n }\n\n return list;\n}","export default function _includesWith(pred, x, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (pred(x, list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}","// Based on https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\nfunction _objectIs(a, b) {\n // SameValue algorithm\n if (a === b) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return a !== 0 || 1 / a === 1 / b;\n } else {\n // Step 6.a: NaN == NaN\n return a !== a && b !== b;\n }\n}\n\nexport default typeof Object.is === 'function' ? Object.is : _objectIs;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Gives a single-word string description of the (native) type of a value,\n * returning such answers as 'Object', 'Number', 'Array', or 'Null'. Does not\n * attempt to distinguish user Object types any further, reporting them all as\n * 'Object'.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Type\n * @sig (* -> {*}) -> String\n * @param {*} val The value to test\n * @return {String}\n * @example\n *\n * R.type({}); //=> \"Object\"\n * R.type(1); //=> \"Number\"\n * R.type(false); //=> \"Boolean\"\n * R.type('s'); //=> \"String\"\n * R.type(null); //=> \"Null\"\n * R.type([]); //=> \"Array\"\n * R.type(/[A-z]/); //=> \"RegExp\"\n * R.type(() => {}); //=> \"Function\"\n * R.type(undefined); //=> \"Undefined\"\n */\n\nvar type =\n/*#__PURE__*/\n_curry1(function type(val) {\n return val === null ? 'Null' : val === undefined ? 'Undefined' : Object.prototype.toString.call(val).slice(8, -1);\n});\n\nexport default type;","import _arrayFromIterator from \"./_arrayFromIterator.js\";\nimport _includesWith from \"./_includesWith.js\";\nimport _functionName from \"./_functionName.js\";\nimport _has from \"./_has.js\";\nimport _objectIs from \"./_objectIs.js\";\nimport keys from \"../keys.js\";\nimport type from \"../type.js\";\n/**\n * private _uniqContentEquals function.\n * That function is checking equality of 2 iterator contents with 2 assumptions\n * - iterators lengths are the same\n * - iterators values are unique\n *\n * false-positive result will be returned for comparision of, e.g.\n * - [1,2,3] and [1,2,3,4]\n * - [1,1,1] and [1,2,3]\n * */\n\nfunction _uniqContentEquals(aIterator, bIterator, stackA, stackB) {\n var a = _arrayFromIterator(aIterator);\n\n var b = _arrayFromIterator(bIterator);\n\n function eq(_a, _b) {\n return _equals(_a, _b, stackA.slice(), stackB.slice());\n } // if *a* array contains any element that is not included in *b*\n\n\n return !_includesWith(function (b, aItem) {\n return !_includesWith(eq, aItem, b);\n }, b, a);\n}\n\nexport default function _equals(a, b, stackA, stackB) {\n if (_objectIs(a, b)) {\n return true;\n }\n\n var typeA = type(a);\n\n if (typeA !== type(b)) {\n return false;\n }\n\n if (a == null || b == null) {\n return false;\n }\n\n if (typeof a['fantasy-land/equals'] === 'function' || typeof b['fantasy-land/equals'] === 'function') {\n return typeof a['fantasy-land/equals'] === 'function' && a['fantasy-land/equals'](b) && typeof b['fantasy-land/equals'] === 'function' && b['fantasy-land/equals'](a);\n }\n\n if (typeof a.equals === 'function' || typeof b.equals === 'function') {\n return typeof a.equals === 'function' && a.equals(b) && typeof b.equals === 'function' && b.equals(a);\n }\n\n switch (typeA) {\n case 'Arguments':\n case 'Array':\n case 'Object':\n if (typeof a.constructor === 'function' && _functionName(a.constructor) === 'Promise') {\n return a === b;\n }\n\n break;\n\n case 'Boolean':\n case 'Number':\n case 'String':\n if (!(typeof a === typeof b && _objectIs(a.valueOf(), b.valueOf()))) {\n return false;\n }\n\n break;\n\n case 'Date':\n if (!_objectIs(a.valueOf(), b.valueOf())) {\n return false;\n }\n\n break;\n\n case 'Error':\n return a.name === b.name && a.message === b.message;\n\n case 'RegExp':\n if (!(a.source === b.source && a.global === b.global && a.ignoreCase === b.ignoreCase && a.multiline === b.multiline && a.sticky === b.sticky && a.unicode === b.unicode)) {\n return false;\n }\n\n break;\n }\n\n var idx = stackA.length - 1;\n\n while (idx >= 0) {\n if (stackA[idx] === a) {\n return stackB[idx] === b;\n }\n\n idx -= 1;\n }\n\n switch (typeA) {\n case 'Map':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.entries(), b.entries(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Set':\n if (a.size !== b.size) {\n return false;\n }\n\n return _uniqContentEquals(a.values(), b.values(), stackA.concat([a]), stackB.concat([b]));\n\n case 'Arguments':\n case 'Array':\n case 'Object':\n case 'Boolean':\n case 'Number':\n case 'String':\n case 'Date':\n case 'Error':\n case 'RegExp':\n case 'Int8Array':\n case 'Uint8Array':\n case 'Uint8ClampedArray':\n case 'Int16Array':\n case 'Uint16Array':\n case 'Int32Array':\n case 'Uint32Array':\n case 'Float32Array':\n case 'Float64Array':\n case 'ArrayBuffer':\n break;\n\n default:\n // Values of other types are only equal if identical.\n return false;\n }\n\n var keysA = keys(a);\n\n if (keysA.length !== keys(b).length) {\n return false;\n }\n\n var extendedStackA = stackA.concat([a]);\n var extendedStackB = stackB.concat([b]);\n idx = keysA.length - 1;\n\n while (idx >= 0) {\n var key = keysA[idx];\n\n if (!(_has(key, b) && _equals(b[key], a[key], extendedStackA, extendedStackB))) {\n return false;\n }\n\n idx -= 1;\n }\n\n return true;\n}","export default function _functionName(f) {\n // String(x => x) evaluates to \"x => x\", so the pattern may not match.\n var match = String(f).match(/^function (\\w*)/);\n return match == null ? '' : match[1];\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _equals from \"./internal/_equals.js\";\n/**\n * Returns `true` if its arguments are equivalent, `false` otherwise. Handles\n * cyclical data structures.\n *\n * Dispatches symmetrically to the `equals` methods of both arguments, if\n * present.\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Relation\n * @sig a -> b -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @example\n *\n * R.equals(1, 1); //=> true\n * R.equals(1, '1'); //=> false\n * R.equals([1, 2, 3], [1, 2, 3]); //=> true\n *\n * const a = {}; a.v = a;\n * const b = {}; b.v = b;\n * R.equals(a, b); //=> true\n */\n\nvar equals =\n/*#__PURE__*/\n_curry2(function equals(a, b) {\n return _equals(a, b, [], []);\n});\n\nexport default equals;","import _curry1 from \"./internal/_curry1.js\";\nimport empty from \"./empty.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the given value is its type's empty value; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Logic\n * @sig a -> Boolean\n * @param {*} x\n * @return {Boolean}\n * @see R.empty\n * @example\n *\n * R.isEmpty([1, 2, 3]); //=> false\n * R.isEmpty([]); //=> true\n * R.isEmpty(''); //=> true\n * R.isEmpty(null); //=> false\n * R.isEmpty({}); //=> true\n * R.isEmpty({length: 0}); //=> false\n */\n\nvar isEmpty =\n/*#__PURE__*/\n_curry1(function isEmpty(x) {\n return x != null && equals(x, empty(x));\n});\n\nexport default isEmpty;","import _curry1 from \"./_curry1.js\";\nimport _curry2 from \"./_curry2.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Optimized internal three-arity curry function.\n *\n * @private\n * @category Function\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curry3(fn) {\n return function f3(a, b, c) {\n switch (arguments.length) {\n case 0:\n return f3;\n\n case 1:\n return _isPlaceholder(a) ? f3 : _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n });\n\n case 2:\n return _isPlaceholder(a) && _isPlaceholder(b) ? f3 : _isPlaceholder(a) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _curry1(function (_c) {\n return fn(a, b, _c);\n });\n\n default:\n return _isPlaceholder(a) && _isPlaceholder(b) && _isPlaceholder(c) ? f3 : _isPlaceholder(a) && _isPlaceholder(b) ? _curry2(function (_a, _b) {\n return fn(_a, _b, c);\n }) : _isPlaceholder(a) && _isPlaceholder(c) ? _curry2(function (_a, _c) {\n return fn(_a, b, _c);\n }) : _isPlaceholder(b) && _isPlaceholder(c) ? _curry2(function (_b, _c) {\n return fn(a, _b, _c);\n }) : _isPlaceholder(a) ? _curry1(function (_a) {\n return fn(_a, b, c);\n }) : _isPlaceholder(b) ? _curry1(function (_b) {\n return fn(a, _b, c);\n }) : _isPlaceholder(c) ? _curry1(function (_c) {\n return fn(a, b, _c);\n }) : fn(a, b, c);\n }\n };\n}","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the key\n * and the values associated with the key in each object, with the result being\n * used as the value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWithKey, R.merge, R.mergeWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeWithKey(concatValues,\n * { a: true, thing: 'foo', values: [10, 20] },\n * { b: true, thing: 'bar', values: [15, 35] });\n * //=> { a: true, b: true, thing: 'bar', values: [10, 20, 15, 35] }\n * @symb R.mergeWithKey(f, { x: 1, y: 2 }, { y: 5, z: 3 }) = { x: 1, y: f('y', 2, 5), z: 3 }\n */\n\nvar mergeWithKey =\n/*#__PURE__*/\n_curry3(function mergeWithKey(fn, l, r) {\n var result = {};\n var k;\n\n for (k in l) {\n if (_has(k, l)) {\n result[k] = _has(k, r) ? fn(k, l[k], r[k]) : l[k];\n }\n }\n\n for (k in r) {\n if (_has(k, r) && !_has(k, result)) {\n result[k] = r[k];\n }\n }\n\n return result;\n});\n\nexport default mergeWithKey;","import _curry3 from \"./internal/_curry3.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects. If\n * a key exists in both objects, the provided function is applied to the values\n * associated with the key in each object, with the result being used as the\n * value associated with the key in the returned object.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @sig ((a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeDeepWith, R.merge, R.mergeWithKey\n * @example\n *\n * R.mergeWith(R.concat,\n * { a: true, values: [10, 20] },\n * { b: true, values: [15, 35] });\n * //=> { a: true, b: true, values: [10, 20, 15, 35] }\n */\n\nvar mergeWith =\n/*#__PURE__*/\n_curry3(function mergeWith(fn, l, r) {\n return mergeWithKey(function (_, _l, _r) {\n return fn(_l, _r);\n }, l, r);\n});\n\nexport default mergeWith;","export default function _isTransformer(obj) {\n return obj != null && typeof obj['@@transducer/step'] === 'function';\n}","import _isArray from \"./_isArray.js\";\nimport _isTransformer from \"./_isTransformer.js\";\n/**\n * Returns a function that dispatches with different strategies based on the\n * object in list position (last argument). If it is an array, executes [fn].\n * Otherwise, if it has a function with one of the given method names, it will\n * execute that function (functor case). Otherwise, if it is a transformer,\n * uses transducer [xf] to return a new transformer (transducer case).\n * Otherwise, it will default to executing [fn].\n *\n * @private\n * @param {Array} methodNames properties to check for a custom implementation\n * @param {Function} xf transducer to initialize if object is transformer\n * @param {Function} fn default ramda implementation\n * @return {Function} A function that dispatches on object in list position\n */\n\nexport default function _dispatchable(methodNames, xf, fn) {\n return function () {\n if (arguments.length === 0) {\n return fn();\n }\n\n var args = Array.prototype.slice.call(arguments, 0);\n var obj = args.pop();\n\n if (!_isArray(obj)) {\n var idx = 0;\n\n while (idx < methodNames.length) {\n if (typeof obj[methodNames[idx]] === 'function') {\n return obj[methodNames[idx]].apply(obj, args);\n }\n\n idx += 1;\n }\n\n if (_isTransformer(obj)) {\n var transducer = xf.apply(null, args);\n return transducer(obj);\n }\n }\n\n return fn.apply(this, arguments);\n };\n}","export default function _map(fn, functor) {\n var idx = 0;\n var len = functor.length;\n var result = Array(len);\n\n while (idx < len) {\n result[idx] = fn(functor[idx]);\n idx += 1;\n }\n\n return result;\n}","import _curry1 from \"./_curry1.js\";\nimport _isArray from \"./_isArray.js\";\nimport _isString from \"./_isString.js\";\n/**\n * Tests whether or not an object is similar to an array.\n *\n * @private\n * @category Type\n * @category List\n * @sig * -> Boolean\n * @param {*} x The object to test.\n * @return {Boolean} `true` if `x` has a numeric length property and extreme indices defined; `false` otherwise.\n * @example\n *\n * _isArrayLike([]); //=> true\n * _isArrayLike(true); //=> false\n * _isArrayLike({}); //=> false\n * _isArrayLike({length: 10}); //=> false\n * _isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true\n */\n\nvar _isArrayLike =\n/*#__PURE__*/\n_curry1(function isArrayLike(x) {\n if (_isArray(x)) {\n return true;\n }\n\n if (!x) {\n return false;\n }\n\n if (typeof x !== 'object') {\n return false;\n }\n\n if (_isString(x)) {\n return false;\n }\n\n if (x.nodeType === 1) {\n return !!x.length;\n }\n\n if (x.length === 0) {\n return true;\n }\n\n if (x.length > 0) {\n return x.hasOwnProperty(0) && x.hasOwnProperty(x.length - 1);\n }\n\n return false;\n});\n\nexport default _isArrayLike;","var XWrap =\n/*#__PURE__*/\nfunction () {\n function XWrap(fn) {\n this.f = fn;\n }\n\n XWrap.prototype['@@transducer/init'] = function () {\n throw new Error('init not implemented on XWrap');\n };\n\n XWrap.prototype['@@transducer/result'] = function (acc) {\n return acc;\n };\n\n XWrap.prototype['@@transducer/step'] = function (acc, x) {\n return this.f(acc, x);\n };\n\n return XWrap;\n}();\n\nexport default function _xwrap(fn) {\n return new XWrap(fn);\n}","export default function _arity(n, fn) {\n /* eslint-disable no-unused-vars */\n switch (n) {\n case 0:\n return function () {\n return fn.apply(this, arguments);\n };\n\n case 1:\n return function (a0) {\n return fn.apply(this, arguments);\n };\n\n case 2:\n return function (a0, a1) {\n return fn.apply(this, arguments);\n };\n\n case 3:\n return function (a0, a1, a2) {\n return fn.apply(this, arguments);\n };\n\n case 4:\n return function (a0, a1, a2, a3) {\n return fn.apply(this, arguments);\n };\n\n case 5:\n return function (a0, a1, a2, a3, a4) {\n return fn.apply(this, arguments);\n };\n\n case 6:\n return function (a0, a1, a2, a3, a4, a5) {\n return fn.apply(this, arguments);\n };\n\n case 7:\n return function (a0, a1, a2, a3, a4, a5, a6) {\n return fn.apply(this, arguments);\n };\n\n case 8:\n return function (a0, a1, a2, a3, a4, a5, a6, a7) {\n return fn.apply(this, arguments);\n };\n\n case 9:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8) {\n return fn.apply(this, arguments);\n };\n\n case 10:\n return function (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9) {\n return fn.apply(this, arguments);\n };\n\n default:\n throw new Error('First argument to _arity must be a non-negative integer no greater than ten');\n }\n}","import _arity from \"./internal/_arity.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a function that is bound to a context.\n * Note: `R.bind` does not provide the additional argument-binding capabilities of\n * [Function.prototype.bind](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind).\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Function\n * @category Object\n * @sig (* -> *) -> {*} -> (* -> *)\n * @param {Function} fn The function to bind to context\n * @param {Object} thisObj The context to bind `fn` to\n * @return {Function} A function that will execute in the context of `thisObj`.\n * @see R.partial\n * @example\n *\n * const log = R.bind(console.log, console);\n * R.pipe(R.assoc('a', 2), R.tap(log), R.assoc('a', 3))({a: 1}); //=> {a: 3}\n * // logs {a: 2}\n * @symb R.bind(f, o)(a, b) = f.call(o, a, b)\n */\n\nvar bind =\n/*#__PURE__*/\n_curry2(function bind(fn, thisObj) {\n return _arity(fn.length, function () {\n return fn.apply(thisObj, arguments);\n });\n});\n\nexport default bind;","import _isArrayLike from \"./_isArrayLike.js\";\nimport _xwrap from \"./_xwrap.js\";\nimport bind from \"../bind.js\";\n\nfunction _arrayReduce(xf, acc, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n acc = xf['@@transducer/step'](acc, list[idx]);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n idx += 1;\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _iterableReduce(xf, acc, iter) {\n var step = iter.next();\n\n while (!step.done) {\n acc = xf['@@transducer/step'](acc, step.value);\n\n if (acc && acc['@@transducer/reduced']) {\n acc = acc['@@transducer/value'];\n break;\n }\n\n step = iter.next();\n }\n\n return xf['@@transducer/result'](acc);\n}\n\nfunction _methodReduce(xf, acc, obj, methodName) {\n return xf['@@transducer/result'](obj[methodName](bind(xf['@@transducer/step'], xf), acc));\n}\n\nvar symIterator = typeof Symbol !== 'undefined' ? Symbol.iterator : '@@iterator';\nexport default function _reduce(fn, acc, list) {\n if (typeof fn === 'function') {\n fn = _xwrap(fn);\n }\n\n if (_isArrayLike(list)) {\n return _arrayReduce(fn, acc, list);\n }\n\n if (typeof list['fantasy-land/reduce'] === 'function') {\n return _methodReduce(fn, acc, list, 'fantasy-land/reduce');\n }\n\n if (list[symIterator] != null) {\n return _iterableReduce(fn, acc, list[symIterator]());\n }\n\n if (typeof list.next === 'function') {\n return _iterableReduce(fn, acc, list);\n }\n\n if (typeof list.reduce === 'function') {\n return _methodReduce(fn, acc, list, 'reduce');\n }\n\n throw new TypeError('reduce: list must be array or iterable');\n}","export default {\n init: function () {\n return this.xf['@@transducer/init']();\n },\n result: function (result) {\n return this.xf['@@transducer/result'](result);\n }\n};","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XMap =\n/*#__PURE__*/\nfunction () {\n function XMap(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XMap.prototype['@@transducer/init'] = _xfBase.init;\n XMap.prototype['@@transducer/result'] = _xfBase.result;\n\n XMap.prototype['@@transducer/step'] = function (result, input) {\n return this.xf['@@transducer/step'](result, this.f(input));\n };\n\n return XMap;\n}();\n\nvar _xmap =\n/*#__PURE__*/\n_curry2(function _xmap(f, xf) {\n return new XMap(f, xf);\n});\n\nexport default _xmap;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _curryN from \"./internal/_curryN.js\";\n/**\n * Returns a curried equivalent of the provided function, with the specified\n * arity. The curried function has two unusual capabilities. First, its\n * arguments needn't be provided one at a time. If `g` is `R.curryN(3, f)`, the\n * following are equivalent:\n *\n * - `g(1)(2)(3)`\n * - `g(1)(2, 3)`\n * - `g(1, 2)(3)`\n * - `g(1, 2, 3)`\n *\n * Secondly, the special placeholder value [`R.__`](#__) may be used to specify\n * \"gaps\", allowing partial application of any combination of arguments,\n * regardless of their positions. If `g` is as above and `_` is [`R.__`](#__),\n * the following are equivalent:\n *\n * - `g(1, 2, 3)`\n * - `g(_, 2, 3)(1)`\n * - `g(_, _, 3)(1)(2)`\n * - `g(_, _, 3)(1, 2)`\n * - `g(_, 2)(1)(3)`\n * - `g(_, 2)(1, 3)`\n * - `g(_, 2)(_, 3)(1)`\n *\n * @func\n * @memberOf R\n * @since v0.5.0\n * @category Function\n * @sig Number -> (* -> a) -> (* -> a)\n * @param {Number} length The arity for the returned function.\n * @param {Function} fn The function to curry.\n * @return {Function} A new, curried function.\n * @see R.curry\n * @example\n *\n * const sumArgs = (...args) => R.sum(args);\n *\n * const curriedAddFourNumbers = R.curryN(4, sumArgs);\n * const f = curriedAddFourNumbers(1, 2);\n * const g = f(3);\n * g(4); //=> 10\n */\n\nvar curryN =\n/*#__PURE__*/\n_curry2(function curryN(length, fn) {\n if (length === 1) {\n return _curry1(fn);\n }\n\n return _arity(length, _curryN(length, [], fn));\n});\n\nexport default curryN;","import _arity from \"./_arity.js\";\nimport _isPlaceholder from \"./_isPlaceholder.js\";\n/**\n * Internal curryN function.\n *\n * @private\n * @category Function\n * @param {Number} length The arity of the curried function.\n * @param {Array} received An array of arguments received thus far.\n * @param {Function} fn The function to curry.\n * @return {Function} The curried function.\n */\n\nexport default function _curryN(length, received, fn) {\n return function () {\n var combined = [];\n var argsIdx = 0;\n var left = length;\n var combinedIdx = 0;\n\n while (combinedIdx < received.length || argsIdx < arguments.length) {\n var result;\n\n if (combinedIdx < received.length && (!_isPlaceholder(received[combinedIdx]) || argsIdx >= arguments.length)) {\n result = received[combinedIdx];\n } else {\n result = arguments[argsIdx];\n argsIdx += 1;\n }\n\n combined[combinedIdx] = result;\n\n if (!_isPlaceholder(result)) {\n left -= 1;\n }\n\n combinedIdx += 1;\n }\n\n return left <= 0 ? fn.apply(this, combined) : _arity(left, _curryN(length, combined, fn));\n };\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _map from \"./internal/_map.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xmap from \"./internal/_xmap.js\";\nimport curryN from \"./curryN.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a function and\n * a [functor](https://github.com/fantasyland/fantasy-land#functor),\n * applies the function to each of the functor's values, and returns\n * a functor of the same shape.\n *\n * Ramda provides suitable `map` implementations for `Array` and `Object`,\n * so this function may be applied to `[1, 2, 3]` or `{x: 1, y: 2, z: 3}`.\n *\n * Dispatches to the `map` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * Also treats functions as functors and will compose them together.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => (a -> b) -> f a -> f b\n * @param {Function} fn The function to be called on every element of the input `list`.\n * @param {Array} list The list to be iterated over.\n * @return {Array} The new list.\n * @see R.transduce, R.addIndex\n * @example\n *\n * const double = x => x * 2;\n *\n * R.map(double, [1, 2, 3]); //=> [2, 4, 6]\n *\n * R.map(double, {x: 1, y: 2, z: 3}); //=> {x: 2, y: 4, z: 6}\n * @symb R.map(f, [a, b]) = [f(a), f(b)]\n * @symb R.map(f, { x: a, y: b }) = { x: f(a), y: f(b) }\n * @symb R.map(f, functor_o) = functor_o.map(f)\n */\n\nvar map =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/map', 'map'], _xmap, function map(fn, functor) {\n switch (Object.prototype.toString.call(functor)) {\n case '[object Function]':\n return curryN(functor.length, function () {\n return fn.call(this, functor.apply(this, arguments));\n });\n\n case '[object Object]':\n return _reduce(function (acc, key) {\n acc[key] = fn(functor[key]);\n return acc;\n }, {}, keys(functor));\n\n default:\n return _map(fn, functor);\n }\n}));\n\nexport default map;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Acts as multiple `prop`: array of keys in, array of values out. Preserves\n * order.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> [v]\n * @param {Array} ps The property names to fetch\n * @param {Object} obj The object to query\n * @return {Array} The corresponding values or partially applied function.\n * @example\n *\n * R.props(['x', 'y'], {x: 1, y: 2}); //=> [1, 2]\n * R.props(['c', 'a', 'b'], {b: 2, a: 1}); //=> [undefined, 1, 2]\n *\n * const fullName = R.compose(R.join(' '), R.props(['first', 'last']));\n * fullName({last: 'Bullet-Tooth', age: 33, first: 'Tony'}); //=> 'Tony Bullet-Tooth'\n */\n\nvar props =\n/*#__PURE__*/\n_curry2(function props(ps, obj) {\n return ps.map(function (p) {\n return path([p], obj);\n });\n});\n\nexport default props;","import _curry2 from \"./internal/_curry2.js\";\nimport keys from \"./keys.js\";\n/**\n * Iterate over an input `object`, calling a provided function `fn` for each\n * key and value in the object.\n *\n * `fn` receives three argument: *(value, key, obj)*.\n *\n * @func\n * @memberOf R\n * @since v0.23.0\n * @category Object\n * @sig ((a, String, StrMap a) -> Any) -> StrMap a -> StrMap a\n * @param {Function} fn The function to invoke. Receives three argument, `value`, `key`, `obj`.\n * @param {Object} obj The object to iterate over.\n * @return {Object} The original object.\n * @example\n *\n * const printKeyConcatValue = (value, key) => console.log(key + ':' + value);\n * R.forEachObjIndexed(printKeyConcatValue, {x: 1, y: 2}); //=> {x: 1, y: 2}\n * // logs x:1\n * // logs y:2\n * @symb R.forEachObjIndexed(f, {x: a, y: b}) = {x: a, y: b}\n */\n\nvar forEachObjIndexed =\n/*#__PURE__*/\n_curry2(function forEachObjIndexed(fn, obj) {\n var keyList = keys(obj);\n var idx = 0;\n\n while (idx < keyList.length) {\n var key = keyList[idx];\n fn(obj[key], key, obj);\n idx += 1;\n }\n\n return obj;\n});\n\nexport default forEachObjIndexed;","import _indexOf from \"./_indexOf.js\";\nexport default function _includes(a, list) {\n return _indexOf(list, a, 0) >= 0;\n}","import equals from \"../equals.js\";\nexport default function _indexOf(list, a, idx) {\n var inf, item; // Array.prototype.indexOf doesn't exist below IE9\n\n if (typeof list.indexOf === 'function') {\n switch (typeof a) {\n case 'number':\n if (a === 0) {\n // manually crawl the list to distinguish between +0 and -0\n inf = 1 / a;\n\n while (idx < list.length) {\n item = list[idx];\n\n if (item === 0 && 1 / item === inf) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } else if (a !== a) {\n // NaN\n while (idx < list.length) {\n item = list[idx];\n\n if (typeof item === 'number' && item !== item) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n } // non-zero numbers can utilise Set\n\n\n return list.indexOf(a, idx);\n // all these types can utilise Set\n\n case 'string':\n case 'boolean':\n case 'function':\n case 'undefined':\n return list.indexOf(a, idx);\n\n case 'object':\n if (a === null) {\n // null can utilise Set\n return list.indexOf(a, idx);\n }\n\n }\n } // anything else not covered above, defer to R.equals\n\n\n while (idx < list.length) {\n if (equals(list[idx], a)) {\n return idx;\n }\n\n idx += 1;\n }\n\n return -1;\n}","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the specified value is equal, in [`R.equals`](#equals)\n * terms, to at least one element of the given list; `false` otherwise.\n * Works also with strings.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category List\n * @sig a -> [a] -> Boolean\n * @param {Object} a The item to compare against.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if an equivalent item is in the list, `false` otherwise.\n * @see R.any\n * @example\n *\n * R.includes(3, [1, 2, 3]); //=> true\n * R.includes(4, [1, 2, 3]); //=> false\n * R.includes({ name: 'Fred' }, [{ name: 'Fred' }]); //=> true\n * R.includes([42], [[42]]); //=> true\n * R.includes('ba', 'banana'); //=>true\n */\n\nvar includes =\n/*#__PURE__*/\n_curry2(_includes);\n\nexport default includes;","import _includes from \"./_includes.js\";\n\nvar _Set =\n/*#__PURE__*/\nfunction () {\n function _Set() {\n /* globals Set */\n this._nativeSet = typeof Set === 'function' ? new Set() : null;\n this._items = {};\n }\n\n // until we figure out why jsdoc chokes on this\n // @param item The item to add to the Set\n // @returns {boolean} true if the item did not exist prior, otherwise false\n //\n _Set.prototype.add = function (item) {\n return !hasOrAdd(item, true, this);\n }; //\n // @param item The item to check for existence in the Set\n // @returns {boolean} true if the item exists in the Set, otherwise false\n //\n\n\n _Set.prototype.has = function (item) {\n return hasOrAdd(item, false, this);\n }; //\n // Combines the logic for checking whether an item is a member of the set and\n // for adding a new item to the set.\n //\n // @param item The item to check or add to the Set instance.\n // @param shouldAdd If true, the item will be added to the set if it doesn't\n // already exist.\n // @param set The set instance to check or add to.\n // @return {boolean} true if the item already existed, otherwise false.\n //\n\n\n return _Set;\n}();\n\nfunction hasOrAdd(item, shouldAdd, set) {\n var type = typeof item;\n var prevSize, newSize;\n\n switch (type) {\n case 'string':\n case 'number':\n // distinguish between +0 and -0\n if (item === 0 && 1 / item === -Infinity) {\n if (set._items['-0']) {\n return true;\n } else {\n if (shouldAdd) {\n set._items['-0'] = true;\n }\n\n return false;\n }\n } // these types can all utilise the native Set\n\n\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = {};\n set._items[type][item] = true;\n }\n\n return false;\n } else if (item in set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][item] = true;\n }\n\n return false;\n }\n }\n\n case 'boolean':\n // set._items['boolean'] holds a two element array\n // representing [ falseExists, trueExists ]\n if (type in set._items) {\n var bIdx = item ? 1 : 0;\n\n if (set._items[type][bIdx]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type][bIdx] = true;\n }\n\n return false;\n }\n } else {\n if (shouldAdd) {\n set._items[type] = item ? [false, true] : [true, false];\n }\n\n return false;\n }\n\n case 'function':\n // compare functions for reference equality\n if (set._nativeSet !== null) {\n if (shouldAdd) {\n prevSize = set._nativeSet.size;\n\n set._nativeSet.add(item);\n\n newSize = set._nativeSet.size;\n return newSize === prevSize;\n } else {\n return set._nativeSet.has(item);\n }\n } else {\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n }\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n\n case 'undefined':\n if (set._items[type]) {\n return true;\n } else {\n if (shouldAdd) {\n set._items[type] = true;\n }\n\n return false;\n }\n\n case 'object':\n if (item === null) {\n if (!set._items['null']) {\n if (shouldAdd) {\n set._items['null'] = true;\n }\n\n return false;\n }\n\n return true;\n }\n\n /* falls through */\n\n default:\n // reduce the search size of heterogeneous sets by creating buckets\n // for each type.\n type = Object.prototype.toString.call(item);\n\n if (!(type in set._items)) {\n if (shouldAdd) {\n set._items[type] = [item];\n }\n\n return false;\n } // scan through all previously applied items\n\n\n if (!_includes(item, set._items[type])) {\n if (shouldAdd) {\n set._items[type].push(item);\n }\n\n return false;\n }\n\n return true;\n }\n} // A simple Set type that honours R.equals semantics\n\n\nexport default _Set;","import _curry2 from \"./internal/_curry2.js\";\nimport _Set from \"./internal/_Set.js\";\n/**\n * Finds the set (i.e. no duplicates) of all elements in the first list not\n * contained in the second list. Objects and Arrays are compared in terms of\n * value equality, not reference equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The elements in `list1` that are not in `list2`.\n * @see R.differenceWith, R.symmetricDifference, R.symmetricDifferenceWith, R.without\n * @example\n *\n * R.difference([1,2,3,4], [7,6,5,4,3]); //=> [1,2]\n * R.difference([7,6,5,4,3], [1,2,3,4]); //=> [7,6,5]\n * R.difference([{a: 1}, {b: 2}], [{a: 1}, {c: 3}]) //=> [{b: 2}]\n */\n\nvar difference =\n/*#__PURE__*/\n_curry2(function difference(first, second) {\n var out = [];\n var idx = 0;\n var firstLen = first.length;\n var secondLen = second.length;\n var toFilterOut = new _Set();\n\n for (var i = 0; i < secondLen; i += 1) {\n toFilterOut.add(second[i]);\n }\n\n while (idx < firstLen) {\n if (toFilterOut.add(first[idx])) {\n out[out.length] = first[idx];\n }\n\n idx += 1;\n }\n\n return out;\n});\n\nexport default difference;","export default function _reduced(x) {\n return x && x['@@transducer/reduced'] ? x : {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAll =\n/*#__PURE__*/\nfunction () {\n function XAll(f, xf) {\n this.xf = xf;\n this.f = f;\n this.all = true;\n }\n\n XAll.prototype['@@transducer/init'] = _xfBase.init;\n\n XAll.prototype['@@transducer/result'] = function (result) {\n if (this.all) {\n result = this.xf['@@transducer/step'](result, true);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAll.prototype['@@transducer/step'] = function (result, input) {\n if (!this.f(input)) {\n this.all = false;\n result = _reduced(this.xf['@@transducer/step'](result, false));\n }\n\n return result;\n };\n\n return XAll;\n}();\n\nvar _xall =\n/*#__PURE__*/\n_curry2(function _xall(f, xf) {\n return new XAll(f, xf);\n});\n\nexport default _xall;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xall from \"./internal/_xall.js\";\n/**\n * Returns `true` if all elements of the list match the predicate, `false` if\n * there are any that don't.\n *\n * Dispatches to the `all` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by every element, `false`\n * otherwise.\n * @see R.any, R.none, R.transduce\n * @example\n *\n * const equals3 = R.equals(3);\n * R.all(equals3)([3, 3, 3, 3]); //=> true\n * R.all(equals3)([3, 3, 1, 3]); //=> false\n */\n\nvar all =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['all'], _xall, function all(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (!fn(list[idx])) {\n return false;\n }\n\n idx += 1;\n }\n\n return true;\n}));\n\nexport default all;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new list out of the two supplied by pairing up equally-positioned\n * items from both lists. The returned list is truncated to the length of the\n * shorter of the two input lists.\n * Note: `zip` is equivalent to `zipWith(function(a, b) { return [a, b] })`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b] -> [[a,b]]\n * @param {Array} list1 The first array to consider.\n * @param {Array} list2 The second array to consider.\n * @return {Array} The list made by pairing up same-indexed elements of `list1` and `list2`.\n * @example\n *\n * R.zip([1, 2, 3], ['a', 'b', 'c']); //=> [[1, 'a'], [2, 'b'], [3, 'c']]\n * @symb R.zip([a, b, c], [d, e, f]) = [[a, d], [b, e], [c, f]]\n */\n\nvar zip =\n/*#__PURE__*/\n_curry2(function zip(a, b) {\n var rv = [];\n var idx = 0;\n var len = Math.min(a.length, b.length);\n\n while (idx < len) {\n rv[idx] = [a[idx], b[idx]];\n idx += 1;\n }\n\n return rv;\n});\n\nexport default zip;","export default function _filter(fn, list) {\n var idx = 0;\n var len = list.length;\n var result = [];\n\n while (idx < len) {\n if (fn(list[idx])) {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Returns a new function much like the supplied one, except that the first two\n * arguments' order is reversed.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b, c, ...) -> z) -> (b -> a -> c -> ... -> z)\n * @param {Function} fn The function to invoke with its first two parameters reversed.\n * @return {*} The result of invoking `fn` with its first two parameters' order reversed.\n * @example\n *\n * const mergeThree = (a, b, c) => [].concat(a, b, c);\n *\n * mergeThree(1, 2, 3); //=> [1, 2, 3]\n *\n * R.flip(mergeThree)(1, 2, 3); //=> [2, 1, 3]\n * @symb R.flip(f)(a, b, c) = f(b, a, c)\n */\n\nvar flip =\n/*#__PURE__*/\n_curry1(function flip(fn) {\n return curryN(fn.length, function (a, b) {\n var args = Array.prototype.slice.call(arguments, 0);\n args[0] = b;\n args[1] = a;\n return fn.apply(this, args);\n });\n});\n\nexport default flip;","export default function _identity(x) {\n return x;\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _identity from \"./internal/_identity.js\";\n/**\n * A function that does nothing but return the parameter supplied to it. Good\n * as a default or placeholder function.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> a\n * @param {*} x The value to return.\n * @return {*} The input value, `x`.\n * @example\n *\n * R.identity(1); //=> 1\n *\n * const obj = {};\n * R.identity(obj) === obj; //=> true\n * @symb R.identity(a) = a\n */\n\nvar identity =\n/*#__PURE__*/\n_curry1(_identity);\n\nexport default identity;","import identity from \"./identity.js\";\nimport uniqBy from \"./uniqBy.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list. [`R.equals`](#equals) is used to determine equality.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a]\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniq([1, 1, 2, 1]); //=> [1, 2]\n * R.uniq([1, '1']); //=> [1, '1']\n * R.uniq([[42], [42]]); //=> [[42]]\n */\n\nvar uniq =\n/*#__PURE__*/\nuniqBy(identity);\nexport default uniq;","import _Set from \"./internal/_Set.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing only one copy of each element in the original\n * list, based upon the value returned by applying the supplied function to\n * each list element. Prefers the first item if the supplied function produces\n * the same value on two items. [`R.equals`](#equals) is used for comparison.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category List\n * @sig (a -> b) -> [a] -> [a]\n * @param {Function} fn A function used to produce a value to use during comparisons.\n * @param {Array} list The array to consider.\n * @return {Array} The list of unique items.\n * @example\n *\n * R.uniqBy(Math.abs, [-1, -5, 2, 10, 1, 2]); //=> [-1, -5, 2, 10]\n */\n\nvar uniqBy =\n/*#__PURE__*/\n_curry2(function uniqBy(fn, list) {\n var set = new _Set();\n var result = [];\n var idx = 0;\n var appliedItem, item;\n\n while (idx < list.length) {\n item = list[idx];\n appliedItem = fn(item);\n\n if (set.add(appliedItem)) {\n result.push(item);\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default uniqBy;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _filter from \"./internal/_filter.js\";\nimport flip from \"./flip.js\";\nimport uniq from \"./uniq.js\";\n/**\n * Combines two lists into a set (i.e. no duplicates) composed of those\n * elements common to both lists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig [*] -> [*] -> [*]\n * @param {Array} list1 The first list.\n * @param {Array} list2 The second list.\n * @return {Array} The list of elements found in both `list1` and `list2`.\n * @see R.innerJoin\n * @example\n *\n * R.intersection([1,2,3,4], [7,6,5,4,3]); //=> [4, 3]\n */\n\nvar intersection =\n/*#__PURE__*/\n_curry2(function intersection(list1, list2) {\n var lookupList, filteredList;\n\n if (list1.length > list2.length) {\n lookupList = list1;\n filteredList = list2;\n } else {\n lookupList = list2;\n filteredList = list1;\n }\n\n return uniq(_filter(flip(_includes)(lookupList), filteredList));\n});\n\nexport default intersection;","import _curry1 from \"./internal/_curry1.js\";\nimport keys from \"./keys.js\";\n/**\n * Returns a list of all the enumerable own properties of the supplied object.\n * Note that the order of the output array is not guaranteed across different\n * JS platforms.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {k: v} -> [v]\n * @param {Object} obj The object to extract values from\n * @return {Array} An array of the values of the object's own properties.\n * @see R.valuesIn, R.keys\n * @example\n *\n * R.values({a: 1, b: 2, c: 3}); //=> [1, 2, 3]\n */\n\nvar values =\n/*#__PURE__*/\n_curry1(function values(obj) {\n var props = keys(obj);\n var len = props.length;\n var vals = [];\n var idx = 0;\n\n while (idx < len) {\n vals[idx] = obj[props[idx]];\n idx += 1;\n }\n\n return vals;\n});\n\nexport default values;","import _isArrayLike from \"./_isArrayLike.js\";\n/**\n * `_makeFlat` is a helper function that returns a one-level or fully recursive\n * function based on the flag passed in.\n *\n * @private\n */\n\nexport default function _makeFlat(recursive) {\n return function flatt(list) {\n var value, jlen, j;\n var result = [];\n var idx = 0;\n var ilen = list.length;\n\n while (idx < ilen) {\n if (_isArrayLike(list[idx])) {\n value = recursive ? flatt(list[idx]) : list[idx];\n j = 0;\n jlen = value.length;\n\n while (j < jlen) {\n result[result.length] = value[j];\n j += 1;\n }\n } else {\n result[result.length] = list[idx];\n }\n\n idx += 1;\n }\n\n return result;\n };\n}","import _curry1 from \"./internal/_curry1.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\n/**\n * Returns a new list by pulling every item out of it (and all its sub-arrays)\n * and putting them in a new array, depth-first.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [b]\n * @param {Array} list The array to consider.\n * @return {Array} The flattened list.\n * @see R.unnest\n * @example\n *\n * R.flatten([1, 2, [3, 4], 5, [6, [7, 8, [9, [10, 11], 12]]]]);\n * //=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n */\n\nvar flatten =\n/*#__PURE__*/\n_curry1(\n/*#__PURE__*/\n_makeFlat(true));\n\nexport default flatten;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new object out of a list of keys and a list of values.\n * Key/value pairing is truncated to the length of the shorter of the two lists.\n * Note: `zipObj` is equivalent to `pipe(zip, fromPairs)`.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig [String] -> [*] -> {String: *}\n * @param {Array} keys The array that will be properties on the output object.\n * @param {Array} values The list of values on the output object.\n * @return {Object} The object made by pairing up same-indexed elements of `keys` and `values`.\n * @example\n *\n * R.zipObj(['a', 'b', 'c'], [1, 2, 3]); //=> {a: 1, b: 2, c: 3}\n */\n\nvar zipObj =\n/*#__PURE__*/\n_curry2(function zipObj(keys, values) {\n var idx = 0;\n var len = Math.min(keys.length, values.length);\n var out = {};\n\n while (idx < len) {\n out[keys[idx]] = values[idx];\n idx += 1;\n }\n\n return out;\n});\n\nexport default zipObj;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Creates a new object by recursively evolving a shallow copy of `object`,\n * according to the `transformation` functions. All non-primitive properties\n * are copied by reference.\n *\n * A `transformation` function will not be invoked if its corresponding key\n * does not exist in the evolved object.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Object\n * @sig {k: (v -> v)} -> {k: v} -> {k: v}\n * @param {Object} transformations The object specifying transformation functions to apply\n * to the object.\n * @param {Object} object The object to be transformed.\n * @return {Object} The transformed object.\n * @example\n *\n * const tomato = {firstName: ' Tomato ', data: {elapsed: 100, remaining: 1400}, id:123};\n * const transformations = {\n * firstName: R.trim,\n * lastName: R.trim, // Will not get invoked.\n * data: {elapsed: R.add(1), remaining: R.add(-1)}\n * };\n * R.evolve(transformations, tomato); //=> {firstName: 'Tomato', data: {elapsed: 101, remaining: 1399}, id:123}\n */\n\nvar evolve =\n/*#__PURE__*/\n_curry2(function evolve(transformations, object) {\n var result = object instanceof Array ? [] : {};\n var transformation, key, type;\n\n for (key in object) {\n transformation = transformations[key];\n type = typeof transformation;\n result[key] = type === 'function' ? transformation(object[key]) : transformation && type === 'object' ? evolve(transformation, object[key]) : object[key];\n }\n\n return result;\n});\n\nexport default evolve;","import _curry3 from \"./internal/_curry3.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the specified\n * property with the given value. Note that this copies and flattens prototype\n * properties onto the new object as well. All non-primitive properties are\n * copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig String -> a -> {k: v} -> {k: v}\n * @param {String} prop The property name to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except for the changed property.\n * @see R.dissoc, R.pick\n * @example\n *\n * R.assoc('c', 3, {a: 1, b: 2}); //=> {a: 1, b: 2, c: 3}\n */\n\nvar assoc =\n/*#__PURE__*/\n_curry3(function assoc(prop, val, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n result[prop] = val;\n return result;\n});\n\nexport default assoc;","/**\n * Private `concat` function to merge two array-like objects.\n *\n * @private\n * @param {Array|Arguments} [set1=[]] An array-like object.\n * @param {Array|Arguments} [set2=[]] An array-like object.\n * @return {Array} A new, merged array.\n * @example\n *\n * _concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n */\nexport default function _concat(set1, set2) {\n set1 = set1 || [];\n set2 = set2 || [];\n var idx;\n var len1 = set1.length;\n var len2 = set2.length;\n var result = [];\n idx = 0;\n\n while (idx < len1) {\n result[result.length] = set1[idx];\n idx += 1;\n }\n\n idx = 0;\n\n while (idx < len2) {\n result[result.length] = set2[idx];\n idx += 1;\n }\n\n return result;\n}","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport map from \"./map.js\";\n/**\n * ap applies a list of functions to a list of values.\n *\n * Dispatches to the `ap` method of the second argument, if present. Also\n * treats curried functions as applicatives.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category Function\n * @sig [a -> b] -> [a] -> [b]\n * @sig Apply f => f (a -> b) -> f a -> f b\n * @sig (r -> a -> b) -> (r -> a) -> (r -> b)\n * @param {*} applyF\n * @param {*} applyX\n * @return {*}\n * @example\n *\n * R.ap([R.multiply(2), R.add(3)], [1,2,3]); //=> [2, 4, 6, 4, 5, 6]\n * R.ap([R.concat('tasty '), R.toUpper], ['pizza', 'salad']); //=> [\"tasty pizza\", \"tasty salad\", \"PIZZA\", \"SALAD\"]\n *\n * // R.ap can also be used as S combinator\n * // when only two functions are passed\n * R.ap(R.concat, R.toUpper)('Ramda') //=> 'RamdaRAMDA'\n * @symb R.ap([f, g], [a, b]) = [f(a), f(b), g(a), g(b)]\n */\n\nvar ap =\n/*#__PURE__*/\n_curry2(function ap(applyF, applyX) {\n return typeof applyX['fantasy-land/ap'] === 'function' ? applyX['fantasy-land/ap'](applyF) : typeof applyF.ap === 'function' ? applyF.ap(applyX) : typeof applyF === 'function' ? function (x) {\n return applyF(x)(applyX(x));\n } : _reduce(function (acc, f) {\n return _concat(acc, map(f, applyX));\n }, [], applyF);\n});\n\nexport default ap;","import _has from \"./_has.js\"; // Based on https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\nfunction _objectAssign(target) {\n if (target == null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n var idx = 1;\n var length = arguments.length;\n\n while (idx < length) {\n var source = arguments[idx];\n\n if (source != null) {\n for (var nextKey in source) {\n if (_has(nextKey, source)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n\n idx += 1;\n }\n\n return output;\n}\n\nexport default typeof Object.assign === 'function' ? Object.assign : _objectAssign;","import _objectAssign from \"./internal/_objectAssign.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Create a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects,\n * the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @sig {k: v} -> {k: v} -> {k: v}\n * @param {Object} l\n * @param {Object} r\n * @return {Object}\n * @see R.mergeLeft, R.mergeDeepRight, R.mergeWith, R.mergeWithKey\n * @example\n *\n * R.mergeRight({ 'name': 'fred', 'age': 10 }, { 'age': 40 });\n * //=> { 'name': 'fred', 'age': 40 }\n *\n * const withDefaults = R.mergeRight({x: 0, y: 0});\n * withDefaults({y: 2}); //=> {x: 0, y: 2}\n * @symb R.mergeRight(a, b) = {...a, ...b}\n */\n\nvar mergeRight =\n/*#__PURE__*/\n_curry2(function mergeRight(l, r) {\n return _objectAssign({}, l, r);\n});\n\nexport default mergeRight;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XAny =\n/*#__PURE__*/\nfunction () {\n function XAny(f, xf) {\n this.xf = xf;\n this.f = f;\n this.any = false;\n }\n\n XAny.prototype['@@transducer/init'] = _xfBase.init;\n\n XAny.prototype['@@transducer/result'] = function (result) {\n if (!this.any) {\n result = this.xf['@@transducer/step'](result, false);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XAny.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.any = true;\n result = _reduced(this.xf['@@transducer/step'](result, true));\n }\n\n return result;\n };\n\n return XAny;\n}();\n\nvar _xany =\n/*#__PURE__*/\n_curry2(function _xany(f, xf) {\n return new XAny(f, xf);\n});\n\nexport default _xany;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xany from \"./internal/_xany.js\";\n/**\n * Returns `true` if at least one of the elements of the list match the predicate,\n * `false` otherwise.\n *\n * Dispatches to the `any` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> Boolean\n * @param {Function} fn The predicate function.\n * @param {Array} list The array to consider.\n * @return {Boolean} `true` if the predicate is satisfied by at least one element, `false`\n * otherwise.\n * @see R.all, R.none, R.transduce\n * @example\n *\n * const lessThan0 = R.flip(R.lt)(0);\n * const lessThan2 = R.flip(R.lt)(2);\n * R.any(lessThan0)([1, 2]); //=> false\n * R.any(lessThan2)([1, 2]); //=> true\n */\n\nvar any =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['any'], _xany, function any(fn, list) {\n var idx = 0;\n\n while (idx < list.length) {\n if (fn(list[idx])) {\n return true;\n }\n\n idx += 1;\n }\n\n return false;\n}));\n\nexport default any;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XTake =\n/*#__PURE__*/\nfunction () {\n function XTake(n, xf) {\n this.xf = xf;\n this.n = n;\n this.i = 0;\n }\n\n XTake.prototype['@@transducer/init'] = _xfBase.init;\n XTake.prototype['@@transducer/result'] = _xfBase.result;\n\n XTake.prototype['@@transducer/step'] = function (result, input) {\n this.i += 1;\n var ret = this.n === 0 ? result : this.xf['@@transducer/step'](result, input);\n return this.n >= 0 && this.i >= this.n ? _reduced(ret) : ret;\n };\n\n return XTake;\n}();\n\nvar _xtake =\n/*#__PURE__*/\n_curry2(function _xtake(n, xf) {\n return new XTake(n, xf);\n});\n\nexport default _xtake;","import _checkForMethod from \"./internal/_checkForMethod.js\";\nimport _curry3 from \"./internal/_curry3.js\";\n/**\n * Returns the elements of the given list or string (or object with a `slice`\n * method) from `fromIndex` (inclusive) to `toIndex` (exclusive).\n *\n * Dispatches to the `slice` method of the third argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Number -> Number -> [a] -> [a]\n * @sig Number -> Number -> String -> String\n * @param {Number} fromIndex The start index (inclusive).\n * @param {Number} toIndex The end index (exclusive).\n * @param {*} list\n * @return {*}\n * @example\n *\n * R.slice(1, 3, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(1, Infinity, ['a', 'b', 'c', 'd']); //=> ['b', 'c', 'd']\n * R.slice(0, -1, ['a', 'b', 'c', 'd']); //=> ['a', 'b', 'c']\n * R.slice(-3, -1, ['a', 'b', 'c', 'd']); //=> ['b', 'c']\n * R.slice(0, 3, 'ramda'); //=> 'ram'\n */\n\nvar slice =\n/*#__PURE__*/\n_curry3(\n/*#__PURE__*/\n_checkForMethod('slice', function slice(fromIndex, toIndex, list) {\n return Array.prototype.slice.call(list, fromIndex, toIndex);\n}));\n\nexport default slice;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xtake from \"./internal/_xtake.js\";\nimport slice from \"./slice.js\";\n/**\n * Returns the first `n` elements of the given list, string, or\n * transducer/transformer (or object with a `take` method).\n *\n * Dispatches to the `take` method of the second argument, if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Number -> [a] -> [a]\n * @sig Number -> String -> String\n * @param {Number} n\n * @param {*} list\n * @return {*}\n * @see R.drop\n * @example\n *\n * R.take(1, ['foo', 'bar', 'baz']); //=> ['foo']\n * R.take(2, ['foo', 'bar', 'baz']); //=> ['foo', 'bar']\n * R.take(3, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(4, ['foo', 'bar', 'baz']); //=> ['foo', 'bar', 'baz']\n * R.take(3, 'ramda'); //=> 'ram'\n *\n * const personnel = [\n * 'Dave Brubeck',\n * 'Paul Desmond',\n * 'Eugene Wright',\n * 'Joe Morello',\n * 'Gerry Mulligan',\n * 'Bob Bates',\n * 'Joe Dodge',\n * 'Ron Crotty'\n * ];\n *\n * const takeFive = R.take(5);\n * takeFive(personnel);\n * //=> ['Dave Brubeck', 'Paul Desmond', 'Eugene Wright', 'Joe Morello', 'Gerry Mulligan']\n * @symb R.take(-1, [a, b]) = [a, b]\n * @symb R.take(0, [a, b]) = []\n * @symb R.take(1, [a, b]) = [a]\n * @symb R.take(2, [a, b]) = [a, b]\n */\n\nvar take =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['take'], _xtake, function take(n, xs) {\n return slice(0, n < 0 ? Infinity : n, xs);\n}));\n\nexport default take;","import _curry2 from \"./internal/_curry2.js\";\nimport equals from \"./equals.js\";\nimport take from \"./take.js\";\n/**\n * Checks if a list starts with the provided sublist.\n *\n * Similarly, checks if a string starts with the provided substring.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category List\n * @sig [a] -> [a] -> Boolean\n * @sig String -> String -> Boolean\n * @param {*} prefix\n * @param {*} list\n * @return {Boolean}\n * @see R.endsWith\n * @example\n *\n * R.startsWith('a', 'abc') //=> true\n * R.startsWith('b', 'abc') //=> false\n * R.startsWith(['a'], ['a', 'b', 'c']) //=> true\n * R.startsWith(['b'], ['a', 'b', 'c']) //=> false\n */\n\nvar startsWith =\n/*#__PURE__*/\n_curry2(function (prefix, list) {\n return equals(take(prefix.length, list), prefix);\n});\n\nexport default startsWith;","import _curry2 from \"./internal/_curry2.js\";\nimport path from \"./path.js\";\n/**\n * Returns a function that when supplied an object returns the indicated\n * property of that object, if it exists.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig Idx -> {s: a} -> a | Undefined\n * @param {String|Number} p The property name or array index\n * @param {Object} obj The object to query\n * @return {*} The value at `obj.p`.\n * @see R.path, R.nth\n * @example\n *\n * R.prop('x', {x: 100}); //=> 100\n * R.prop('x', {}); //=> undefined\n * R.prop(0, [100]); //=> 100\n * R.compose(R.inc, R.prop('x'))({ x: 3 }) //=> 4\n */\n\nvar prop =\n/*#__PURE__*/\n_curry2(function prop(p, obj) {\n return path([p], obj);\n});\n\nexport default prop;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\nimport prop from \"./prop.js\";\n/**\n * Returns a new list by plucking the same named property off all objects in\n * the list supplied.\n *\n * `pluck` will work on\n * any [functor](https://github.com/fantasyland/fantasy-land#functor) in\n * addition to arrays, as it is equivalent to `R.map(R.prop(k), f)`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Functor f => k -> f {k: v} -> f v\n * @param {Number|String} key The key name to pluck off of each object.\n * @param {Array} f The array or functor to consider.\n * @return {Array} The list of values for the given key.\n * @see R.props\n * @example\n *\n * var getAges = R.pluck('age');\n * getAges([{name: 'fred', age: 29}, {name: 'wilma', age: 27}]); //=> [29, 27]\n *\n * R.pluck(0, [[1, 2], [3, 4]]); //=> [1, 3]\n * R.pluck('val', {a: {val: 3}, b: {val: 5}}); //=> {a: 3, b: 5}\n * @symb R.pluck('x', [{x: 1, y: 2}, {x: 3, y: 4}, {x: 5, y: 6}]) = [1, 3, 5]\n * @symb R.pluck(0, [[1, 2], [3, 4], [5, 6]]) = [1, 3, 5]\n */\n\nvar pluck =\n/*#__PURE__*/\n_curry2(function pluck(p, list) {\n return map(prop(p), list);\n});\n\nexport default pluck;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new object that does not contain a `prop` property.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Object\n * @sig String -> {k: v} -> {k: v}\n * @param {String} prop The name of the property to dissociate\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original but without the specified property\n * @see R.assoc, R.omit\n * @example\n *\n * R.dissoc('b', {a: 1, b: 2, c: 3}); //=> {a: 1, c: 3}\n */\n\nvar dissoc =\n/*#__PURE__*/\n_curry2(function dissoc(prop, obj) {\n var result = {};\n\n for (var p in obj) {\n result[p] = obj[p];\n }\n\n delete result[prop];\n return result;\n});\n\nexport default dissoc;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object containing only the keys that satisfy\n * the supplied predicate.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @sig ((v, k) -> Boolean) -> {k: v} -> {k: v}\n * @param {Function} pred A predicate to determine whether or not a key\n * should be included on the output object.\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties that satisfy `pred`\n * on it.\n * @see R.pick, R.filter\n * @example\n *\n * const isUpperCase = (val, key) => key.toUpperCase() === key;\n * R.pickBy(isUpperCase, {a: 1, b: 2, A: 3, B: 4}); //=> {A: 3, B: 4}\n */\n\nvar pickBy =\n/*#__PURE__*/\n_curry2(function pickBy(test, obj) {\n var result = {};\n\n for (var prop in obj) {\n if (test(obj[prop], prop, obj)) {\n result[prop] = obj[prop];\n }\n }\n\n return result;\n});\n\nexport default pickBy;","import _curry2 from \"./_curry2.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFilter =\n/*#__PURE__*/\nfunction () {\n function XFilter(f, xf) {\n this.xf = xf;\n this.f = f;\n }\n\n XFilter.prototype['@@transducer/init'] = _xfBase.init;\n XFilter.prototype['@@transducer/result'] = _xfBase.result;\n\n XFilter.prototype['@@transducer/step'] = function (result, input) {\n return this.f(input) ? this.xf['@@transducer/step'](result, input) : result;\n };\n\n return XFilter;\n}();\n\nvar _xfilter =\n/*#__PURE__*/\n_curry2(function _xfilter(f, xf) {\n return new XFilter(f, xf);\n});\n\nexport default _xfilter;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _filter from \"./internal/_filter.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport _reduce from \"./internal/_reduce.js\";\nimport _xfilter from \"./internal/_xfilter.js\";\nimport keys from \"./keys.js\";\n/**\n * Takes a predicate and a `Filterable`, and returns a new filterable of the\n * same type containing the members of the given filterable which satisfy the\n * given predicate. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * Dispatches to the `filter` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array} Filterable\n * @see R.reject, R.transduce, R.addIndex\n * @example\n *\n * const isEven = n => n % 2 === 0;\n *\n * R.filter(isEven, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.filter(isEven, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar filter =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['filter'], _xfilter, function (pred, filterable) {\n return _isObject(filterable) ? _reduce(function (acc, key) {\n if (pred(filterable[key])) {\n acc[key] = filterable[key];\n }\n\n return acc;\n }, {}, keys(filterable)) : // else\n _filter(pred, filterable);\n}));\n\nexport default filter;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the larger of its two arguments.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> a\n * @param {*} a\n * @param {*} b\n * @return {*}\n * @see R.maxBy, R.min\n * @example\n *\n * R.max(789, 123); //=> 789\n * R.max('a', 'b'); //=> 'b'\n */\n\nvar max =\n/*#__PURE__*/\n_curry2(function max(a, b) {\n return b > a ? b : a;\n});\n\nexport default max;","import _curry3 from \"./internal/_curry3.js\";\nimport _reduce from \"./internal/_reduce.js\";\n/**\n * Returns a single item by iterating through the list, successively calling\n * the iterator function and passing it an accumulator value and the current\n * value from the array, and then passing the result to the next call.\n *\n * The iterator function receives two values: *(acc, value)*. It may use\n * [`R.reduced`](#reduced) to shortcut the iteration.\n *\n * The arguments' order of [`reduceRight`](#reduceRight)'s iterator function\n * is *(value, acc)*.\n *\n * Note: `R.reduce` does not skip deleted or unassigned indices (sparse\n * arrays), unlike the native `Array.prototype.reduce` method. For more details\n * on this behavior, see:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce#Description\n *\n * Dispatches to the `reduce` method of the third argument, if present. When\n * doing so, it is up to the user to handle the [`R.reduced`](#reduced)\n * shortcuting, as this is not implemented by `reduce`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, b) -> a) -> a -> [b] -> a\n * @param {Function} fn The iterator function. Receives two values, the accumulator and the\n * current element from the array.\n * @param {*} acc The accumulator value.\n * @param {Array} list The list to iterate over.\n * @return {*} The final, accumulated value.\n * @see R.reduced, R.addIndex, R.reduceRight\n * @example\n *\n * R.reduce(R.subtract, 0, [1, 2, 3, 4]) // => ((((0 - 1) - 2) - 3) - 4) = -10\n * // - -10\n * // / \\ / \\\n * // - 4 -6 4\n * // / \\ / \\\n * // - 3 ==> -3 3\n * // / \\ / \\\n * // - 2 -1 2\n * // / \\ / \\\n * // 0 1 0 1\n *\n * @symb R.reduce(f, a, [b, c, d]) = f(f(f(a, b), c), d)\n */\n\nvar reduce =\n/*#__PURE__*/\n_curry3(_reduce);\n\nexport default reduce;","import _curry2 from \"./internal/_curry2.js\";\nimport _map from \"./internal/_map.js\";\nimport curryN from \"./curryN.js\";\nimport max from \"./max.js\";\nimport pluck from \"./pluck.js\";\nimport reduce from \"./reduce.js\";\n/**\n * Accepts a converging function and a list of branching functions and returns\n * a new function. The arity of the new function is the same as the arity of\n * the longest branching function. When invoked, this new function is applied\n * to some arguments, and each branching function is applied to those same\n * arguments. The results of each branching function are passed as arguments\n * to the converging function to produce the return value.\n *\n * @func\n * @memberOf R\n * @since v0.4.2\n * @category Function\n * @sig ((x1, x2, ...) -> z) -> [((a, b, ...) -> x1), ((a, b, ...) -> x2), ...] -> (a -> b -> ... -> z)\n * @param {Function} after A function. `after` will be invoked with the return values of\n * `fn1` and `fn2` as its arguments.\n * @param {Array} functions A list of functions.\n * @return {Function} A new function.\n * @see R.useWith\n * @example\n *\n * const average = R.converge(R.divide, [R.sum, R.length])\n * average([1, 2, 3, 4, 5, 6, 7]) //=> 4\n *\n * const strangeConcat = R.converge(R.concat, [R.toUpper, R.toLower])\n * strangeConcat(\"Yodel\") //=> \"YODELyodel\"\n *\n * @symb R.converge(f, [g, h])(a, b) = f(g(a, b), h(a, b))\n */\n\nvar converge =\n/*#__PURE__*/\n_curry2(function converge(after, fns) {\n return curryN(reduce(max, 0, pluck('length', fns)), function () {\n var args = arguments;\n var context = this;\n return after.apply(context, _map(function (fn) {\n return fn.apply(context, args);\n }, fns));\n });\n});\n\nexport default converge;","import _curry1 from \"./internal/_curry1.js\";\nimport converge from \"./converge.js\";\n/**\n * juxt applies a list of functions to a list of values.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Function\n * @sig [(a, b, ..., m) -> n] -> ((a, b, ..., m) -> [n])\n * @param {Array} fns An array of functions\n * @return {Function} A function that returns a list of values after applying each of the original `fns` to its parameters.\n * @see R.applySpec\n * @example\n *\n * const getRange = R.juxt([Math.min, Math.max]);\n * getRange(3, 4, 9, -3); //=> [-3, 9]\n * @symb R.juxt([f, g, h])(a, b) = [f(a, b), g(a, b), h(a, b)]\n */\n\nvar juxt =\n/*#__PURE__*/\n_curry1(function juxt(fns) {\n return converge(function () {\n return Array.prototype.slice.call(arguments, 0);\n }, fns);\n});\n\nexport default juxt;","import _complement from \"./internal/_complement.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport filter from \"./filter.js\";\n/**\n * The complement of [`filter`](#filter).\n *\n * Acts as a transducer if a transformer is given in list position. Filterable\n * objects include plain objects or any object that has a filter method such\n * as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> f a\n * @param {Function} pred\n * @param {Array} filterable\n * @return {Array}\n * @see R.filter, R.transduce, R.addIndex\n * @example\n *\n * const isOdd = (n) => n % 2 === 1;\n *\n * R.reject(isOdd, [1, 2, 3, 4]); //=> [2, 4]\n *\n * R.reject(isOdd, {a: 1, b: 2, c: 3, d: 4}); //=> {b: 2, d: 4}\n */\n\nvar reject =\n/*#__PURE__*/\n_curry2(function reject(pred, filterable) {\n return filter(_complement(pred), filterable);\n});\n\nexport default reject;","export default function _complement(f) {\n return function () {\n return !f.apply(this, arguments);\n };\n}","import filter from \"./filter.js\";\nimport juxt from \"./juxt.js\";\nimport reject from \"./reject.js\";\n/**\n * Takes a predicate and a list or other `Filterable` object and returns the\n * pair of filterable objects of the same type of elements which do and do not\n * satisfy, the predicate, respectively. Filterable objects include plain objects or any object\n * that has a filter method such as `Array`.\n *\n * @func\n * @memberOf R\n * @since v0.1.4\n * @category List\n * @sig Filterable f => (a -> Boolean) -> f a -> [f a, f a]\n * @param {Function} pred A predicate to determine which side the element belongs to.\n * @param {Array} filterable the list (or other filterable) to partition.\n * @return {Array} An array, containing first the subset of elements that satisfy the\n * predicate, and second the subset of elements that do not satisfy.\n * @see R.filter, R.reject\n * @example\n *\n * R.partition(R.includes('s'), ['sss', 'ttt', 'foo', 'bars']);\n * // => [ [ 'sss', 'bars' ], [ 'ttt', 'foo' ] ]\n *\n * R.partition(R.includes('s'), { a: 'sss', b: 'ttt', foo: 'bars' });\n * // => [ { a: 'sss', foo: 'bars' }, { b: 'ttt' } ]\n */\n\nvar partition =\n/*#__PURE__*/\njuxt([filter, reject]);\nexport default partition;","import _cloneRegExp from \"./_cloneRegExp.js\";\nimport type from \"../type.js\";\n/**\n * Copies an object.\n *\n * @private\n * @param {*} value The value to be copied\n * @param {Array} refFrom Array containing the source references\n * @param {Array} refTo Array containing the copied source references\n * @param {Boolean} deep Whether or not to perform deep cloning.\n * @return {*} The copied value.\n */\n\nexport default function _clone(value, refFrom, refTo, deep) {\n var copy = function copy(copiedValue) {\n var len = refFrom.length;\n var idx = 0;\n\n while (idx < len) {\n if (value === refFrom[idx]) {\n return refTo[idx];\n }\n\n idx += 1;\n }\n\n refFrom[idx + 1] = value;\n refTo[idx + 1] = copiedValue;\n\n for (var key in value) {\n copiedValue[key] = deep ? _clone(value[key], refFrom, refTo, true) : value[key];\n }\n\n return copiedValue;\n };\n\n switch (type(value)) {\n case 'Object':\n return copy({});\n\n case 'Array':\n return copy([]);\n\n case 'Date':\n return new Date(value.valueOf());\n\n case 'RegExp':\n return _cloneRegExp(value);\n\n default:\n return value;\n }\n}","export default function _cloneRegExp(pattern) {\n return new RegExp(pattern.source, (pattern.global ? 'g' : '') + (pattern.ignoreCase ? 'i' : '') + (pattern.multiline ? 'm' : '') + (pattern.sticky ? 'y' : '') + (pattern.unicode ? 'u' : ''));\n}","import _clone from \"./internal/_clone.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Creates a deep copy of the value which may contain (nested) `Array`s and\n * `Object`s, `Number`s, `String`s, `Boolean`s and `Date`s. `Function`s are\n * assigned by reference rather than copied\n *\n * Dispatches to a `clone` method if present.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig {*} -> {*}\n * @param {*} value The object or array to clone\n * @return {*} A deeply cloned copy of `val`\n * @example\n *\n * const objects = [{}, {}, {}];\n * const objectsClone = R.clone(objects);\n * objects === objectsClone; //=> false\n * objects[0] === objectsClone[0]; //=> false\n */\n\nvar clone =\n/*#__PURE__*/\n_curry1(function clone(value) {\n return value != null && typeof value.clone === 'function' ? value.clone() : _clone(value, [], [], true);\n});\n\nexport default clone;","import _forceReduced from \"./_forceReduced.js\";\nimport _isArrayLike from \"./_isArrayLike.js\";\nimport _reduce from \"./_reduce.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar preservingReduced = function (xf) {\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return xf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n var ret = xf['@@transducer/step'](result, input);\n return ret['@@transducer/reduced'] ? _forceReduced(ret) : ret;\n }\n };\n};\n\nvar _flatCat = function _xcat(xf) {\n var rxf = preservingReduced(xf);\n return {\n '@@transducer/init': _xfBase.init,\n '@@transducer/result': function (result) {\n return rxf['@@transducer/result'](result);\n },\n '@@transducer/step': function (result, input) {\n return !_isArrayLike(input) ? _reduce(rxf, result, [input]) : _reduce(rxf, result, input);\n }\n };\n};\n\nexport default _flatCat;","export default function _forceReduced(x) {\n return {\n '@@transducer/value': x,\n '@@transducer/reduced': true\n };\n}","import _identity from \"./internal/_identity.js\";\nimport chain from \"./chain.js\";\n/**\n * Shorthand for `R.chain(R.identity)`, which removes one level of nesting from\n * any [Chain](https://github.com/fantasyland/fantasy-land#chain).\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain c => c (c a) -> c a\n * @param {*} list\n * @return {*}\n * @see R.flatten, R.chain\n * @example\n *\n * R.unnest([1, [2], [[3]]]); //=> [1, 2, [3]]\n * R.unnest([[1, 2], [3, 4], [5, 6]]); //=> [1, 2, 3, 4, 5, 6]\n */\n\nvar unnest =\n/*#__PURE__*/\nchain(_identity);\nexport default unnest;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _makeFlat from \"./internal/_makeFlat.js\";\nimport _xchain from \"./internal/_xchain.js\";\nimport map from \"./map.js\";\n/**\n * `chain` maps a function over a list and concatenates the results. `chain`\n * is also known as `flatMap` in some libraries.\n *\n * Dispatches to the `chain` method of the second argument, if present,\n * according to the [FantasyLand Chain spec](https://github.com/fantasyland/fantasy-land#chain).\n *\n * If second argument is a function, `chain(f, g)(x)` is equivalent to `f(g(x), x)`.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.3.0\n * @category List\n * @sig Chain m => (a -> m b) -> m a -> m b\n * @param {Function} fn The function to map with\n * @param {Array} list The list to map over\n * @return {Array} The result of flat-mapping `list` with `fn`\n * @example\n *\n * const duplicate = n => [n, n];\n * R.chain(duplicate, [1, 2, 3]); //=> [1, 1, 2, 2, 3, 3]\n *\n * R.chain(R.append, R.head)([1, 2, 3]); //=> [1, 2, 3, 1]\n */\n\nvar chain =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['fantasy-land/chain', 'chain'], _xchain, function chain(fn, monad) {\n if (typeof monad === 'function') {\n return function (x) {\n return fn(monad(x))(x);\n };\n }\n\n return _makeFlat(false)(map(fn, monad));\n}));\n\nexport default chain;","import _curry2 from \"./_curry2.js\";\nimport _flatCat from \"./_flatCat.js\";\nimport map from \"../map.js\";\n\nvar _xchain =\n/*#__PURE__*/\n_curry2(function _xchain(f, xf) {\n return map(f, _flatCat(xf));\n});\n\nexport default _xchain;","import _curry3 from \"./internal/_curry3.js\";\nimport _isObject from \"./internal/_isObject.js\";\nimport mergeWithKey from \"./mergeWithKey.js\";\n/**\n * Creates a new object with the own properties of the two provided objects.\n * If a key exists in both objects:\n * - and both associated values are also objects then the values will be\n * recursively merged.\n * - otherwise the provided function is applied to the key and associated values\n * using the resulting value as the new value associated with the key.\n * If a key only exists in one object, the value will be associated with the key\n * of the resulting object.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig ((String, a, a) -> a) -> {a} -> {a} -> {a}\n * @param {Function} fn\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.mergeWithKey, R.mergeDeepWith\n * @example\n *\n * let concatValues = (k, l, r) => k == 'values' ? R.concat(l, r) : r\n * R.mergeDeepWithKey(concatValues,\n * { a: true, c: { thing: 'foo', values: [10, 20] }},\n * { b: true, c: { thing: 'bar', values: [15, 35] }});\n * //=> { a: true, b: true, c: { thing: 'bar', values: [10, 20, 15, 35] }}\n */\n\nvar mergeDeepWithKey =\n/*#__PURE__*/\n_curry3(function mergeDeepWithKey(fn, lObj, rObj) {\n return mergeWithKey(function (k, lVal, rVal) {\n if (_isObject(lVal) && _isObject(rVal)) {\n return mergeDeepWithKey(fn, lVal, rVal);\n } else {\n return fn(k, lVal, rVal);\n }\n }, lObj, rObj);\n});\n\nexport default mergeDeepWithKey;","import _curry2 from \"./internal/_curry2.js\";\nimport mergeDeepWithKey from \"./mergeDeepWithKey.js\";\n/**\n * Creates a new object with the own properties of the first object merged with\n * the own properties of the second object. If a key exists in both objects:\n * - and both values are objects, the two values will be recursively merged\n * - otherwise the value from the second object will be used.\n *\n * @func\n * @memberOf R\n * @since v0.24.0\n * @category Object\n * @sig {a} -> {a} -> {a}\n * @param {Object} lObj\n * @param {Object} rObj\n * @return {Object}\n * @see R.merge, R.mergeDeepLeft, R.mergeDeepWith, R.mergeDeepWithKey\n * @example\n *\n * R.mergeDeepRight({ name: 'fred', age: 10, contact: { email: 'moo@example.com' }},\n * { age: 40, contact: { email: 'baa@example.com' }});\n * //=> { name: 'fred', age: 40, contact: { email: 'baa@example.com' }}\n */\n\nvar mergeDeepRight =\n/*#__PURE__*/\n_curry2(function mergeDeepRight(lObj, rObj) {\n return mergeDeepWithKey(function (k, lVal, rVal) {\n return rVal;\n }, lObj, rObj);\n});\n\nexport default mergeDeepRight;","import _curry3 from \"./internal/_curry3.js\";\nimport equals from \"./equals.js\";\n/**\n * Returns `true` if the specified object property is equal, in\n * [`R.equals`](#equals) terms, to the given value; `false` otherwise.\n * You can test multiple properties with [`R.whereEq`](#whereEq).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig String -> a -> Object -> Boolean\n * @param {String} name\n * @param {*} val\n * @param {*} obj\n * @return {Boolean}\n * @see R.whereEq, R.propSatisfies, R.equals\n * @example\n *\n * const abby = {name: 'Abby', age: 7, hair: 'blond'};\n * const fred = {name: 'Fred', age: 12, hair: 'brown'};\n * const rusty = {name: 'Rusty', age: 10, hair: 'brown'};\n * const alois = {name: 'Alois', age: 15, disposition: 'surly'};\n * const kids = [abby, fred, rusty, alois];\n * const hasBrownHair = R.propEq('hair', 'brown');\n * R.filter(hasBrownHair, kids); //=> [fred, rusty]\n */\n\nvar propEq =\n/*#__PURE__*/\n_curry3(function propEq(name, val, obj) {\n return equals(val, obj[name]);\n});\n\nexport default propEq;","export default function _isFunction(x) {\n var type = Object.prototype.toString.call(x);\n return type === '[object Function]' || type === '[object AsyncFunction]' || type === '[object GeneratorFunction]' || type === '[object AsyncGeneratorFunction]';\n}","export default function _quote(s) {\n var escaped = s.replace(/\\\\/g, '\\\\\\\\').replace(/[\\b]/g, '\\\\b') // \\b matches word boundary; [\\b] matches backspace\n .replace(/\\f/g, '\\\\f').replace(/\\n/g, '\\\\n').replace(/\\r/g, '\\\\r').replace(/\\t/g, '\\\\t').replace(/\\v/g, '\\\\v').replace(/\\0/g, '\\\\0');\n return '\"' + escaped.replace(/\"/g, '\\\\\"') + '\"';\n}","/**\n * Polyfill from <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString>.\n */\nvar pad = function pad(n) {\n return (n < 10 ? '0' : '') + n;\n};\n\nvar _toISOString = typeof Date.prototype.toISOString === 'function' ? function _toISOString(d) {\n return d.toISOString();\n} : function _toISOString(d) {\n return d.getUTCFullYear() + '-' + pad(d.getUTCMonth() + 1) + '-' + pad(d.getUTCDate()) + 'T' + pad(d.getUTCHours()) + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds()) + '.' + (d.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) + 'Z';\n};\n\nexport default _toISOString;","import _curry1 from \"./internal/_curry1.js\";\nimport _toString from \"./internal/_toString.js\";\n/**\n * Returns the string representation of the given value. `eval`'ing the output\n * should result in a value equivalent to the input value. Many of the built-in\n * `toString` methods do not satisfy this requirement.\n *\n * If the given value is an `[object Object]` with a `toString` method other\n * than `Object.prototype.toString`, this method is invoked with no arguments\n * to produce the return value. This means user-defined constructor functions\n * can provide a suitable `toString` method. For example:\n *\n * function Point(x, y) {\n * this.x = x;\n * this.y = y;\n * }\n *\n * Point.prototype.toString = function() {\n * return 'new Point(' + this.x + ', ' + this.y + ')';\n * };\n *\n * R.toString(new Point(1, 2)); //=> 'new Point(1, 2)'\n *\n * @func\n * @memberOf R\n * @since v0.14.0\n * @category String\n * @sig * -> String\n * @param {*} val\n * @return {String}\n * @example\n *\n * R.toString(42); //=> '42'\n * R.toString('abc'); //=> '\"abc\"'\n * R.toString([1, 2, 3]); //=> '[1, 2, 3]'\n * R.toString({foo: 1, bar: 2, baz: 3}); //=> '{\"bar\": 2, \"baz\": 3, \"foo\": 1}'\n * R.toString(new Date('2001-02-03T04:05:06Z')); //=> 'new Date(\"2001-02-03T04:05:06.000Z\")'\n */\n\nvar toString =\n/*#__PURE__*/\n_curry1(function toString(val) {\n return _toString(val, []);\n});\n\nexport default toString;","import _includes from \"./_includes.js\";\nimport _map from \"./_map.js\";\nimport _quote from \"./_quote.js\";\nimport _toISOString from \"./_toISOString.js\";\nimport keys from \"../keys.js\";\nimport reject from \"../reject.js\";\nexport default function _toString(x, seen) {\n var recur = function recur(y) {\n var xs = seen.concat([x]);\n return _includes(y, xs) ? '<Circular>' : _toString(y, xs);\n }; // mapPairs :: (Object, [String]) -> [String]\n\n\n var mapPairs = function (obj, keys) {\n return _map(function (k) {\n return _quote(k) + ': ' + recur(obj[k]);\n }, keys.slice().sort());\n };\n\n switch (Object.prototype.toString.call(x)) {\n case '[object Arguments]':\n return '(function() { return arguments; }(' + _map(recur, x).join(', ') + '))';\n\n case '[object Array]':\n return '[' + _map(recur, x).concat(mapPairs(x, reject(function (k) {\n return /^\\d+$/.test(k);\n }, keys(x)))).join(', ') + ']';\n\n case '[object Boolean]':\n return typeof x === 'object' ? 'new Boolean(' + recur(x.valueOf()) + ')' : x.toString();\n\n case '[object Date]':\n return 'new Date(' + (isNaN(x.valueOf()) ? recur(NaN) : _quote(_toISOString(x))) + ')';\n\n case '[object Null]':\n return 'null';\n\n case '[object Number]':\n return typeof x === 'object' ? 'new Number(' + recur(x.valueOf()) + ')' : 1 / x === -Infinity ? '-0' : x.toString(10);\n\n case '[object String]':\n return typeof x === 'object' ? 'new String(' + recur(x.valueOf()) + ')' : _quote(x);\n\n case '[object Undefined]':\n return 'undefined';\n\n default:\n if (typeof x.toString === 'function') {\n var repr = x.toString();\n\n if (repr !== '[object Object]') {\n return repr;\n }\n }\n\n return '{' + mapPairs(x, keys(x)).join(', ') + '}';\n }\n}","import _curry2 from \"./internal/_curry2.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isFunction from \"./internal/_isFunction.js\";\nimport _isString from \"./internal/_isString.js\";\nimport toString from \"./toString.js\";\n/**\n * Returns the result of concatenating the given lists or strings.\n *\n * Note: `R.concat` expects both arguments to be of the same type,\n * unlike the native `Array.prototype.concat` method. It will throw\n * an error if you `concat` an Array with a non-Array value.\n *\n * Dispatches to the `concat` method of the first argument, if present.\n * Can also concatenate two members of a [fantasy-land\n * compatible semigroup](https://github.com/fantasyland/fantasy-land#semigroup).\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @sig String -> String -> String\n * @param {Array|String} firstList The first list\n * @param {Array|String} secondList The second list\n * @return {Array|String} A list consisting of the elements of `firstList` followed by the elements of\n * `secondList`.\n *\n * @example\n *\n * R.concat('ABC', 'DEF'); // 'ABCDEF'\n * R.concat([4, 5, 6], [1, 2, 3]); //=> [4, 5, 6, 1, 2, 3]\n * R.concat([], []); //=> []\n */\n\nvar concat =\n/*#__PURE__*/\n_curry2(function concat(a, b) {\n if (_isArray(a)) {\n if (_isArray(b)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(b) + ' is not an array');\n }\n\n if (_isString(a)) {\n if (_isString(b)) {\n return a + b;\n }\n\n throw new TypeError(toString(b) + ' is not a string');\n }\n\n if (a != null && _isFunction(a['fantasy-land/concat'])) {\n return a['fantasy-land/concat'](b);\n }\n\n if (a != null && _isFunction(a.concat)) {\n return a.concat(b);\n }\n\n throw new TypeError(toString(a) + ' does not have a method named \"concat\" or \"fantasy-land/concat\"');\n});\n\nexport default concat;","import _curry2 from \"./_curry2.js\";\nimport _reduced from \"./_reduced.js\";\nimport _xfBase from \"./_xfBase.js\";\n\nvar XFind =\n/*#__PURE__*/\nfunction () {\n function XFind(f, xf) {\n this.xf = xf;\n this.f = f;\n this.found = false;\n }\n\n XFind.prototype['@@transducer/init'] = _xfBase.init;\n\n XFind.prototype['@@transducer/result'] = function (result) {\n if (!this.found) {\n result = this.xf['@@transducer/step'](result, void 0);\n }\n\n return this.xf['@@transducer/result'](result);\n };\n\n XFind.prototype['@@transducer/step'] = function (result, input) {\n if (this.f(input)) {\n this.found = true;\n result = _reduced(this.xf['@@transducer/step'](result, input));\n }\n\n return result;\n };\n\n return XFind;\n}();\n\nvar _xfind =\n/*#__PURE__*/\n_curry2(function _xfind(f, xf) {\n return new XFind(f, xf);\n});\n\nexport default _xfind;","import _curry2 from \"./internal/_curry2.js\";\nimport _dispatchable from \"./internal/_dispatchable.js\";\nimport _xfind from \"./internal/_xfind.js\";\n/**\n * Returns the first element of the list which matches the predicate, or\n * `undefined` if no element matches.\n *\n * Dispatches to the `find` method of the second argument, if present.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig (a -> Boolean) -> [a] -> a | undefined\n * @param {Function} fn The predicate function used to determine if the element is the\n * desired one.\n * @param {Array} list The array to consider.\n * @return {Object} The element found, or `undefined`.\n * @see R.transduce\n * @example\n *\n * const xs = [{a: 1}, {a: 2}, {a: 3}];\n * R.find(R.propEq('a', 2))(xs); //=> {a: 2}\n * R.find(R.propEq('a', 4))(xs); //=> undefined\n */\n\nvar find =\n/*#__PURE__*/\n_curry2(\n/*#__PURE__*/\n_dispatchable(['find'], _xfind, function find(fn, list) {\n var idx = 0;\n var len = list.length;\n\n while (idx < len) {\n if (fn(list[idx])) {\n return list[idx];\n }\n\n idx += 1;\n }\n}));\n\nexport default find;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Checks if the input value is `null` or `undefined`.\n *\n * @func\n * @memberOf R\n * @since v0.9.0\n * @category Type\n * @sig * -> Boolean\n * @param {*} x The value to test.\n * @return {Boolean} `true` if `x` is `undefined` or `null`, otherwise `false`.\n * @example\n *\n * R.isNil(null); //=> true\n * R.isNil(undefined); //=> true\n * R.isNil(0); //=> false\n * R.isNil([]); //=> false\n */\n\nvar isNil =\n/*#__PURE__*/\n_curry1(function isNil(x) {\n return x == null;\n});\n\nexport default isNil;","import _curry2 from \"./internal/_curry2.js\";\nimport _has from \"./internal/_has.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Returns whether or not a path exists in an object. Only the object's\n * own properties are checked.\n *\n * @func\n * @memberOf R\n * @since v0.26.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> {a} -> Boolean\n * @param {Array} path The path to use.\n * @param {Object} obj The object to check the path in.\n * @return {Boolean} Whether the path exists.\n * @see R.has\n * @example\n *\n * R.hasPath(['a', 'b'], {a: {b: 2}}); // => true\n * R.hasPath(['a', 'b'], {a: {b: undefined}}); // => true\n * R.hasPath(['a', 'b'], {a: {c: 2}}); // => false\n * R.hasPath(['a', 'b'], {}); // => false\n */\n\nvar hasPath =\n/*#__PURE__*/\n_curry2(function hasPath(_path, obj) {\n if (_path.length === 0 || isNil(obj)) {\n return false;\n }\n\n var val = obj;\n var idx = 0;\n\n while (idx < _path.length) {\n if (!isNil(val) && _has(_path[idx], val)) {\n val = val[_path[idx]];\n idx += 1;\n } else {\n return false;\n }\n }\n\n return true;\n});\n\nexport default hasPath;","import _curry2 from \"./internal/_curry2.js\";\nimport hasPath from \"./hasPath.js\";\n/**\n * Returns whether or not an object has an own property with the specified name\n *\n * @func\n * @memberOf R\n * @since v0.7.0\n * @category Object\n * @sig s -> {s: x} -> Boolean\n * @param {String} prop The name of the property to check for.\n * @param {Object} obj The object to query.\n * @return {Boolean} Whether the property exists.\n * @example\n *\n * const hasName = R.has('name');\n * hasName({name: 'alice'}); //=> true\n * hasName({name: 'bob'}); //=> true\n * hasName({}); //=> false\n *\n * const point = {x: 0, y: 0};\n * const pointHas = R.has(R.__, point);\n * pointHas('x'); //=> true\n * pointHas('y'); //=> true\n * pointHas('z'); //=> false\n */\n\nvar has =\n/*#__PURE__*/\n_curry2(function has(prop, obj) {\n return hasPath([prop], obj);\n});\n\nexport default has;","import _concat from \"./internal/_concat.js\";\nimport _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a new list containing the contents of the given list, followed by\n * the given element.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig a -> [a] -> [a]\n * @param {*} el The element to add to the end of the new list.\n * @param {Array} list The list of elements to add a new item to.\n * list.\n * @return {Array} A new list containing the elements of the old list followed by `el`.\n * @see R.prepend\n * @example\n *\n * R.append('tests', ['write', 'more']); //=> ['write', 'more', 'tests']\n * R.append('tests', []); //=> ['tests']\n * R.append(['tests'], ['write', 'more']); //=> ['write', 'more', ['tests']]\n */\n\nvar append =\n/*#__PURE__*/\n_curry2(function append(el, list) {\n return _concat(list, [el]);\n});\n\nexport default append;","import {append, concat, has, path, type} from 'ramda';\n\n/*\n * requests_pathname_prefix is the new config parameter introduced in\n * dash==0.18.0. The previous versions just had url_base_pathname\n */\nexport function urlBase(config) {\n const hasUrlBase = has('url_base_pathname', config);\n const hasReqPrefix = has('requests_pathname_prefix', config);\n if (type(config) !== 'Object' || (!hasUrlBase && !hasReqPrefix)) {\n throw new Error(\n `\n Trying to make an API request but neither\n \"url_base_pathname\" nor \"requests_pathname_prefix\"\n is in \\`config\\`. \\`config\\` is: `,\n config\n );\n }\n\n const base = hasReqPrefix\n ? config.requests_pathname_prefix\n : config.url_base_pathname;\n\n return base.charAt(base.length - 1) === '/' ? base : base + '/';\n}\n\nconst propsChildren = ['props', 'children'];\n\n// crawl a layout object or children array, apply a function on every object\nexport const crawlLayout = (object, func, currentPath = []) => {\n if (Array.isArray(object)) {\n // children array\n object.forEach((child, i) => {\n crawlLayout(child, func, append(i, currentPath));\n });\n } else if (type(object) === 'Object') {\n func(object, currentPath);\n\n const children = path(propsChildren, object);\n if (children) {\n const newPath = concat(currentPath, propsChildren);\n crawlLayout(children, func, newPath);\n }\n }\n};\n\n// There are packages for this but it's simple enough, I just\n// adapted it from https://gist.github.com/mudge/5830382\nexport class EventEmitter {\n constructor() {\n this._ev = {};\n }\n on(event, listener) {\n const events = (this._ev[event] = this._ev[event] || []);\n events.push(listener);\n return () => this.removeListener(event, listener);\n }\n removeListener(event, listener) {\n const events = this._ev[event];\n if (events) {\n const idx = events.indexOf(listener);\n if (idx > -1) {\n events.splice(idx, 1);\n }\n }\n }\n emit(event, ...args) {\n const events = this._ev[event];\n if (events) {\n events.forEach(listener => listener.apply(this, args));\n }\n }\n once(event, listener) {\n const remove = this.on(event, (...args) => {\n remove();\n listener.apply(this, args);\n });\n }\n}\n","import {\n concat,\n filter,\n find,\n forEachObjIndexed,\n path,\n propEq,\n props,\n} from 'ramda';\n\nimport {crawlLayout} from './utils';\n\n/*\n * state.paths has structure:\n * {\n * strs: {[id]: path} // for regular string ids\n * objs: {[keyStr]: [{values, path}]} // for wildcard ids\n * }\n * keyStr: sorted keys of the id, joined with ',' into one string\n * values: array of values in the id, in order of keys\n */\n\nexport function computePaths(subTree, startingPath, oldPaths, events) {\n const {strs: oldStrs, objs: oldObjs} = oldPaths || {strs: {}, objs: {}};\n\n const diffHead = path => startingPath.some((v, i) => path[i] !== v);\n\n const spLen = startingPath.length;\n // if we're updating a subtree, clear out all of the existing items\n const strs = spLen ? filter(diffHead, oldStrs) : {};\n const objs = {};\n if (spLen) {\n forEachObjIndexed((oldValPaths, oldKeys) => {\n const newVals = filter(({path}) => diffHead(path), oldValPaths);\n if (newVals.length) {\n objs[oldKeys] = newVals;\n }\n }, oldObjs);\n }\n\n crawlLayout(subTree, function assignPath(child, itempath) {\n const id = path(['props', 'id'], child);\n if (id) {\n if (typeof id === 'object') {\n const keys = Object.keys(id).sort();\n const values = props(keys, id);\n const keyStr = keys.join(',');\n const paths = (objs[keyStr] = objs[keyStr] || []);\n paths.push({values, path: concat(startingPath, itempath)});\n } else {\n strs[id] = concat(startingPath, itempath);\n }\n }\n });\n\n // We include an event emitter here because it will be used along with\n // paths to determine when the app is ready for callbacks.\n return {strs, objs, events: events || oldPaths.events};\n}\n\nexport function getPath(paths, id) {\n if (typeof id === 'object') {\n const keys = Object.keys(id).sort();\n const keyStr = keys.join(',');\n const keyPaths = paths.objs[keyStr];\n if (!keyPaths) {\n return false;\n }\n const values = props(keys, id);\n const pathObj = find(propEq('values', values), keyPaths);\n return pathObj && pathObj.path;\n }\n return paths.strs[id];\n}\n","export default {\n resolve: component => {\n const {type, namespace} = component;\n\n const ns = window[namespace];\n\n if (ns) {\n if (ns[type]) {\n return ns[type];\n }\n\n throw new Error(`Component ${type} not found in ${namespace}`);\n }\n\n throw new Error(`${namespace} was not found.`);\n },\n};\n","import {DepGraph} from 'dependency-graph';\nimport isNumeric from 'fast-isnumeric';\nimport {\n all,\n any,\n ap,\n assoc,\n clone,\n difference,\n dissoc,\n equals,\n evolve,\n flatten,\n forEachObjIndexed,\n includes,\n intersection,\n isEmpty,\n keys,\n map,\n mergeDeepRight,\n mergeRight,\n mergeWith,\n partition,\n path,\n pickBy,\n pluck,\n propEq,\n props,\n startsWith,\n unnest,\n values,\n zip,\n zipObj,\n} from 'ramda';\n\nconst mergeMax = mergeWith(Math.max);\n\nimport {getPath} from './paths';\n\nimport {crawlLayout} from './utils';\n\nimport Registry from '../registry';\n\n/*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\nexport const isMultiOutputProp = idAndProp => idAndProp.startsWith('..');\n\nconst ALL = {wild: 'ALL', multi: 1};\nconst MATCH = {wild: 'MATCH'};\nconst ALLSMALLER = {wild: 'ALLSMALLER', multi: 1, expand: 1};\nconst wildcards = {ALL, MATCH, ALLSMALLER};\nconst allowedWildcards = {\n Output: {ALL, MATCH},\n Input: wildcards,\n State: wildcards,\n};\nconst wildcardValTypes = ['string', 'number', 'boolean'];\n\nconst idInvalidChars = ['.', '{'];\n\n/*\n * If this ID is a wildcard, it is a stringified JSON object\n * the \"{\" character is disallowed from regular string IDs\n */\nconst isWildcardId = idStr => idStr.startsWith('{');\n\n/*\n * Turn stringified wildcard IDs into objects.\n * Wildcards are encoded as single-item arrays containing the wildcard name\n * as a string.\n */\nfunction parseWildcardId(idStr) {\n return map(\n val => (Array.isArray(val) && wildcards[val[0]]) || val,\n JSON.parse(idStr)\n );\n}\n\n/*\n * If this update is for multiple outputs, then it has\n * starting & trailing `..` and each propId pair is separated\n * by `...`, e.g.\n * \"..output-1.value...output-2.value...output-3.value...output-4.value..\"\n */\nfunction parseMultipleOutputs(outputIdAndProp) {\n return outputIdAndProp.substr(2, outputIdAndProp.length - 4).split('...');\n}\n\nfunction splitIdAndProp(idAndProp) {\n // since wildcard ids can have . in them but props can't,\n // look for the last . in the string and split there\n const dotPos = idAndProp.lastIndexOf('.');\n const idStr = idAndProp.substr(0, dotPos);\n return {\n id: parseIfWildcard(idStr),\n property: idAndProp.substr(dotPos + 1),\n };\n}\n\n/*\n * Check if this ID is a stringified object, and if so parse it to that object\n */\nexport function parseIfWildcard(idStr) {\n return isWildcardId(idStr) ? parseWildcardId(idStr) : idStr;\n}\n\nexport const combineIdAndProp = ({id, property}) =>\n `${stringifyId(id)}.${property}`;\n\n/*\n * JSON.stringify - for the object form - but ensuring keys are sorted\n */\nexport function stringifyId(id) {\n if (typeof id !== 'object') {\n return id;\n }\n const stringifyVal = v => (v && v.wild) || JSON.stringify(v);\n const parts = Object.keys(id)\n .sort()\n .map(k => JSON.stringify(k) + ':' + stringifyVal(id[k]));\n return '{' + parts.join(',') + '}';\n}\n\n/*\n * id dict values can be numbers, strings, and booleans.\n * We need a definite ordering that will work across types,\n * even if sane users would not mix types.\n * - numeric strings are treated as numbers\n * - booleans come after numbers, before strings. false, then true.\n * - non-numeric strings come last\n */\nfunction idValSort(a, b) {\n const bIsNumeric = isNumeric(b);\n if (isNumeric(a)) {\n if (bIsNumeric) {\n const aN = Number(a);\n const bN = Number(b);\n return aN > bN ? 1 : aN < bN ? -1 : 0;\n }\n return -1;\n }\n if (bIsNumeric) {\n return 1;\n }\n const aIsBool = typeof a === 'boolean';\n if (aIsBool !== (typeof b === 'boolean')) {\n return aIsBool ? -1 : 1;\n }\n return a > b ? 1 : a < b ? -1 : 0;\n}\n\n/*\n * Provide a value known to be before or after v, according to idValSort\n */\nconst valBefore = v => (isNumeric(v) ? v - 1 : 0);\nconst valAfter = v => (typeof v === 'string' ? v + 'z' : 'z');\n\nfunction addMap(depMap, id, prop, dependency) {\n const idMap = (depMap[id] = depMap[id] || {});\n const callbacks = (idMap[prop] = idMap[prop] || []);\n callbacks.push(dependency);\n}\n\nfunction addPattern(depMap, idSpec, prop, dependency) {\n const keys = Object.keys(idSpec).sort();\n const keyStr = keys.join(',');\n const values = props(keys, idSpec);\n const keyCallbacks = (depMap[keyStr] = depMap[keyStr] || {});\n const propCallbacks = (keyCallbacks[prop] = keyCallbacks[prop] || []);\n let valMatch = false;\n for (let i = 0; i < propCallbacks.length; i++) {\n if (equals(values, propCallbacks[i].values)) {\n valMatch = propCallbacks[i];\n break;\n }\n }\n if (!valMatch) {\n valMatch = {keys, values, callbacks: []};\n propCallbacks.push(valMatch);\n }\n valMatch.callbacks.push(dependency);\n}\n\nfunction validateDependencies(parsedDependencies, dispatchError) {\n const outStrs = {};\n const outObjs = [];\n\n parsedDependencies.forEach(dep => {\n const {inputs, outputs, state} = dep;\n let hasOutputs = true;\n if (outputs.length === 1 && !outputs[0].id && !outputs[0].property) {\n hasOutputs = false;\n dispatchError('A callback is missing Outputs', [\n 'Please provide an output for this callback:',\n JSON.stringify(dep, null, 2),\n ]);\n }\n\n const head =\n 'In the callback for output(s):\\n ' +\n outputs.map(combineIdAndProp).join('\\n ');\n\n if (!inputs.length) {\n dispatchError('A callback is missing Inputs', [\n head,\n 'there are no `Input` elements.',\n 'Without `Input` elements, it will never get called.',\n '',\n 'Subscribing to `Input` components will cause the',\n 'callback to be called whenever their values change.',\n ]);\n }\n\n const spec = [\n [outputs, 'Output'],\n [inputs, 'Input'],\n [state, 'State'],\n ];\n spec.forEach(([args, cls]) => {\n if (cls === 'Output' && !hasOutputs) {\n // just a quirk of how we pass & parse outputs - if you don't\n // provide one, it looks like a single blank output. This is\n // actually useful for graceful failure, so we work around it.\n return;\n }\n\n if (!Array.isArray(args)) {\n dispatchError(`Callback ${cls}(s) must be an Array`, [\n head,\n `For ${cls}(s) we found:`,\n JSON.stringify(args),\n 'but we expected an Array.',\n ]);\n }\n args.forEach((idProp, i) => {\n validateArg(idProp, head, cls, i, dispatchError);\n });\n });\n\n findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs);\n findInOutOverlap(outputs, inputs, head, dispatchError);\n findMismatchedWildcards(outputs, inputs, state, head, dispatchError);\n });\n}\n\nfunction validateArg({id, property}, head, cls, i, dispatchError) {\n if (typeof property !== 'string' || !property) {\n dispatchError('Callback property error', [\n head,\n `${cls}[${i}].property = ${JSON.stringify(property)}`,\n 'but we expected `property` to be a non-empty string.',\n ]);\n }\n\n if (typeof id === 'object') {\n if (isEmpty(id)) {\n dispatchError('Callback item missing ID', [\n head,\n `${cls}[${i}].id = {}`,\n 'Every item linked to a callback needs an ID',\n ]);\n }\n\n forEachObjIndexed((v, k) => {\n if (!k) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id has key \"${k}\"`,\n 'Keys must be non-empty strings.',\n ]);\n }\n\n if (typeof v === 'object' && v.wild) {\n if (allowedWildcards[cls][v.wild] !== v) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id[\"${k}\"] = ${v.wild}`,\n `Allowed wildcards for ${cls}s are:`,\n keys(allowedWildcards[cls]).join(', '),\n ]);\n }\n } else if (!includes(typeof v, wildcardValTypes)) {\n dispatchError('Callback wildcard ID error', [\n head,\n `${cls}[${i}].id[\"${k}\"] = ${JSON.stringify(v)}`,\n 'Wildcard callback ID values must be either wildcards',\n 'or constants of one of these types:',\n wildcardValTypes.join(', '),\n ]);\n }\n }, id);\n } else if (typeof id === 'string') {\n if (!id) {\n dispatchError('Callback item missing ID', [\n head,\n `${cls}[${i}].id = \"${id}\"`,\n 'Every item linked to a callback needs an ID',\n ]);\n }\n const invalidChars = idInvalidChars.filter(c => includes(c, id));\n if (invalidChars.length) {\n dispatchError('Callback invalid ID string', [\n head,\n `${cls}[${i}].id = '${id}'`,\n `characters '${invalidChars.join(\"', '\")}' are not allowed.`,\n ]);\n }\n } else {\n dispatchError('Callback ID type error', [\n head,\n `${cls}[${i}].id = ${JSON.stringify(id)}`,\n 'IDs must be strings or wildcard-compatible objects.',\n ]);\n }\n}\n\nfunction findDuplicateOutputs(outputs, head, dispatchError, outStrs, outObjs) {\n const newOutputStrs = {};\n const newOutputObjs = [];\n outputs.forEach(({id, property}, i) => {\n if (typeof id === 'string') {\n const idProp = combineIdAndProp({id, property});\n if (newOutputStrs[idProp]) {\n dispatchError('Duplicate callback Outputs', [\n head,\n `Output ${i} (${idProp}) is already used by this callback.`,\n ]);\n } else if (outStrs[idProp]) {\n dispatchError('Duplicate callback outputs', [\n head,\n `Output ${i} (${idProp}) is already in use.`,\n 'Any given output can only have one callback that sets it.',\n 'To resolve this situation, try combining these into',\n 'one callback function, distinguishing the trigger',\n 'by using `dash.callback_context` if necessary.',\n ]);\n } else {\n newOutputStrs[idProp] = 1;\n }\n } else {\n const idObj = {id, property};\n const selfOverlap = wildcardOverlap(idObj, newOutputObjs);\n const otherOverlap = selfOverlap || wildcardOverlap(idObj, outObjs);\n if (selfOverlap || otherOverlap) {\n const idProp = combineIdAndProp(idObj);\n const idProp2 = combineIdAndProp(selfOverlap || otherOverlap);\n dispatchError('Overlapping wildcard callback outputs', [\n head,\n `Output ${i} (${idProp})`,\n `overlaps another output (${idProp2})`,\n `used in ${selfOverlap ? 'this' : 'a different'} callback.`,\n ]);\n } else {\n newOutputObjs.push(idObj);\n }\n }\n });\n keys(newOutputStrs).forEach(k => {\n outStrs[k] = 1;\n });\n newOutputObjs.forEach(idObj => {\n outObjs.push(idObj);\n });\n}\n\nfunction findInOutOverlap(outputs, inputs, head, dispatchError) {\n outputs.forEach((out, outi) => {\n const {id: outId, property: outProp} = out;\n inputs.forEach((in_, ini) => {\n const {id: inId, property: inProp} = in_;\n if (outProp !== inProp || typeof outId !== typeof inId) {\n return;\n }\n if (typeof outId === 'string') {\n if (outId === inId) {\n dispatchError('Same `Input` and `Output`', [\n head,\n `Input ${ini} (${combineIdAndProp(in_)})`,\n `matches Output ${outi} (${combineIdAndProp(out)})`,\n ]);\n }\n } else if (wildcardOverlap(in_, [out])) {\n dispatchError('Same `Input` and `Output`', [\n head,\n `Input ${ini} (${combineIdAndProp(in_)})`,\n 'can match the same component(s) as',\n `Output ${outi} (${combineIdAndProp(out)})`,\n ]);\n }\n });\n });\n}\n\nfunction findMismatchedWildcards(outputs, inputs, state, head, dispatchError) {\n const {anyKeys: out0AnyKeys} = findWildcardKeys(outputs[0].id);\n outputs.forEach((out, outi) => {\n if (outi && !equals(findWildcardKeys(out.id).anyKeys, out0AnyKeys)) {\n dispatchError('Mismatched `MATCH` wildcards across `Output`s', [\n head,\n `Output ${outi} (${combineIdAndProp(out)})`,\n 'does not have MATCH wildcards on the same keys as',\n `Output 0 (${combineIdAndProp(outputs[0])}).`,\n 'MATCH wildcards must be on the same keys for all Outputs.',\n 'ALL wildcards need not match, only MATCH.',\n ]);\n }\n });\n [\n [inputs, 'Input'],\n [state, 'State'],\n ].forEach(([args, cls]) => {\n args.forEach((arg, i) => {\n const {anyKeys, allsmallerKeys} = findWildcardKeys(arg.id);\n const allWildcardKeys = anyKeys.concat(allsmallerKeys);\n const diff = difference(allWildcardKeys, out0AnyKeys);\n if (diff.length) {\n diff.sort();\n dispatchError('`Input` / `State` wildcards not in `Output`s', [\n head,\n `${cls} ${i} (${combineIdAndProp(arg)})`,\n `has MATCH or ALLSMALLER on key(s) ${diff.join(', ')}`,\n `where Output 0 (${combineIdAndProp(outputs[0])})`,\n 'does not have a MATCH wildcard. Inputs and State do not',\n 'need every MATCH from the Output(s), but they cannot have',\n 'extras beyond the Output(s).',\n ]);\n }\n });\n });\n}\n\nconst matchWildKeys = ([a, b]) => {\n const aWild = a && a.wild;\n const bWild = b && b.wild;\n if (aWild && bWild) {\n // Every wildcard combination overlaps except MATCH<->ALLSMALLER\n return !(\n (a === MATCH && b === ALLSMALLER) ||\n (a === ALLSMALLER && b === MATCH)\n );\n }\n return a === b || aWild || bWild;\n};\n\nfunction wildcardOverlap({id, property}, objs) {\n const idKeys = keys(id).sort();\n const idVals = props(idKeys, id);\n for (const obj of objs) {\n const {id: id2, property: property2} = obj;\n if (\n property2 === property &&\n typeof id2 !== 'string' &&\n equals(keys(id2).sort(), idKeys) &&\n all(matchWildKeys, zip(idVals, props(idKeys, id2)))\n ) {\n return obj;\n }\n }\n return false;\n}\n\nexport function validateCallbacksToLayout(state_, dispatchError) {\n const {config, graphs, layout, paths} = state_;\n const {outputMap, inputMap, outputPatterns, inputPatterns} = graphs;\n const validateIds = !config.suppress_callback_exceptions;\n\n function tail(callbacks) {\n return (\n 'This ID was used in the callback(s) for Output(s):\\n ' +\n callbacks\n .map(({outputs}) => outputs.map(combineIdAndProp).join(', '))\n .join('\\n ')\n );\n }\n\n function missingId(id, cls, callbacks) {\n dispatchError('ID not found in layout', [\n `Attempting to connect a callback ${cls} item to component:`,\n ` \"${stringifyId(id)}\"`,\n 'but no components with that id exist in the layout.',\n '',\n 'If you are assigning callbacks to components that are',\n 'generated by other callbacks (and therefore not in the',\n 'initial layout), you can suppress this exception by setting',\n '`suppress_callback_exceptions=True`.',\n tail(callbacks),\n ]);\n }\n\n function validateProp(id, idPath, prop, cls, callbacks) {\n const component = path(idPath, layout);\n const element = Registry.resolve(component);\n\n // note: Flow components do not have propTypes, so we can't validate.\n if (element && element.propTypes && !element.propTypes[prop]) {\n // look for wildcard props (ie data-* etc)\n for (const propName in element.propTypes) {\n const last = propName.length - 1;\n if (\n propName.charAt(last) === '*' &&\n prop.substr(0, last) === propName.substr(0, last)\n ) {\n return;\n }\n }\n const {type, namespace} = component;\n dispatchError('Invalid prop for this component', [\n `Property \"${prop}\" was used with component ID:`,\n ` ${JSON.stringify(id)}`,\n `in one of the ${cls} items of a callback.`,\n `This ID is assigned to a ${namespace}.${type} component`,\n 'in the layout, which does not support this property.',\n tail(callbacks),\n ]);\n }\n }\n\n function validateIdPatternProp(id, property, cls, callbacks) {\n resolveDeps()(paths)({id, property}).forEach(dep => {\n const {id: idResolved, path: idPath} = dep;\n validateProp(idResolved, idPath, property, cls, callbacks);\n });\n }\n\n const callbackIdsCheckedForState = {};\n\n function validateState(callback) {\n const {state, output} = callback;\n\n // ensure we don't check the same callback for state multiple times\n if (callbackIdsCheckedForState[output]) {\n return;\n }\n callbackIdsCheckedForState[output] = 1;\n\n const cls = 'State';\n\n state.forEach(({id, property}) => {\n if (typeof id === 'string') {\n const idPath = getPath(paths, id);\n if (!idPath) {\n if (validateIds) {\n missingId(id, cls, [callback]);\n }\n } else {\n validateProp(id, idPath, property, cls, [callback]);\n }\n }\n // Only validate props for State object ids that we don't need to\n // resolve them to specific inputs or outputs\n else if (!intersection([MATCH, ALLSMALLER], values(id)).length) {\n validateIdPatternProp(id, property, cls, [callback]);\n }\n });\n }\n\n function validateMap(map, cls, doState) {\n for (const id in map) {\n const idProps = map[id];\n const idPath = getPath(paths, id);\n if (!idPath) {\n if (validateIds) {\n missingId(id, cls, flatten(values(idProps)));\n }\n } else {\n for (const property in idProps) {\n const callbacks = idProps[property];\n validateProp(id, idPath, property, cls, callbacks);\n if (doState) {\n // It would be redundant to check state on both inputs\n // and outputs - so only set doState for outputs.\n callbacks.forEach(validateState);\n }\n }\n }\n }\n }\n\n validateMap(outputMap, 'Output', true);\n validateMap(inputMap, 'Input');\n\n function validatePatterns(patterns, cls, doState) {\n for (const keyStr in patterns) {\n const keyPatterns = patterns[keyStr];\n for (const property in keyPatterns) {\n keyPatterns[property].forEach(({keys, values, callbacks}) => {\n const id = zipObj(keys, values);\n validateIdPatternProp(id, property, cls, callbacks);\n if (doState) {\n callbacks.forEach(validateState);\n }\n });\n }\n }\n }\n\n validatePatterns(outputPatterns, 'Output', true);\n validatePatterns(inputPatterns, 'Input');\n}\n\nexport function computeGraphs(dependencies, dispatchError) {\n // multiGraph is just for finding circular deps\n const multiGraph = new DepGraph();\n\n const wildcardPlaceholders = {};\n\n const fixIds = map(evolve({id: parseIfWildcard}));\n const parsedDependencies = map(dep => {\n const {output} = dep;\n const out = evolve({inputs: fixIds, state: fixIds}, dep);\n out.outputs = map(\n outi => assoc('out', true, splitIdAndProp(outi)),\n isMultiOutputProp(output) ? parseMultipleOutputs(output) : [output]\n );\n return out;\n }, dependencies);\n\n let hasError = false;\n const wrappedDE = (message, lines) => {\n hasError = true;\n dispatchError(message, lines);\n };\n validateDependencies(parsedDependencies, wrappedDE);\n\n /*\n * For regular ids, outputMap and inputMap are:\n * {[id]: {[prop]: [callback, ...]}}\n * where callbacks are the matching specs from the original\n * dependenciesRequest, but with outputs parsed to look like inputs,\n * and a list anyKeys added if the outputs have MATCH wildcards.\n * For outputMap there should only ever be one callback per id/prop\n * but for inputMap there may be many.\n *\n * For wildcard ids, outputPatterns and inputPatterns are:\n * {\n * [keystr]: {\n * [prop]: [\n * {keys: [...], values: [...], callbacks: [callback, ...]},\n * {...}\n * ]\n * }\n * }\n * keystr is a stringified ordered list of keys in the id\n * keys is the same ordered list (just copied for convenience)\n * values is an array of explicit or wildcard values for each key in keys\n */\n const outputMap = {};\n const inputMap = {};\n const outputPatterns = {};\n const inputPatterns = {};\n\n const finalGraphs = {\n MultiGraph: multiGraph,\n outputMap,\n inputMap,\n outputPatterns,\n inputPatterns,\n callbacks: parsedDependencies,\n };\n\n if (hasError) {\n // leave the graphs empty if we found an error, so we don't try to\n // execute the broken callbacks.\n return finalGraphs;\n }\n\n parsedDependencies.forEach(dependency => {\n const {outputs, inputs} = dependency;\n\n outputs.concat(inputs).forEach(item => {\n const {id} = item;\n if (typeof id === 'object') {\n forEachObjIndexed((val, key) => {\n if (!wildcardPlaceholders[key]) {\n wildcardPlaceholders[key] = {\n exact: [],\n expand: 0,\n };\n }\n const keyPlaceholders = wildcardPlaceholders[key];\n if (val && val.wild) {\n if (val.expand) {\n keyPlaceholders.expand += 1;\n }\n } else if (keyPlaceholders.exact.indexOf(val) === -1) {\n keyPlaceholders.exact.push(val);\n }\n }, id);\n }\n });\n });\n\n forEachObjIndexed(keyPlaceholders => {\n const {exact, expand} = keyPlaceholders;\n const vals = exact.slice().sort(idValSort);\n if (expand) {\n for (let i = 0; i < expand; i++) {\n if (exact.length) {\n vals.splice(0, 0, [valBefore(vals[0])]);\n vals.push(valAfter(vals[vals.length - 1]));\n } else {\n vals.push(i);\n }\n }\n } else if (!exact.length) {\n // only MATCH/ALL - still need a value\n vals.push(0);\n }\n keyPlaceholders.vals = vals;\n }, wildcardPlaceholders);\n\n function makeAllIds(idSpec, outIdFinal) {\n let idList = [{}];\n forEachObjIndexed((val, key) => {\n const testVals = wildcardPlaceholders[key].vals;\n const outValIndex = testVals.indexOf(outIdFinal[key]);\n let newVals = [val];\n if (val && val.wild) {\n if (val === ALLSMALLER) {\n if (outValIndex > 0) {\n newVals = testVals.slice(0, outValIndex);\n } else {\n // no smaller items - delete all outputs.\n newVals = [];\n }\n } else {\n // MATCH or ALL\n // MATCH *is* ALL for outputs, ie we don't already have a\n // value specified in `outIdFinal`\n newVals =\n outValIndex === -1 || val === ALL\n ? testVals\n : [outIdFinal[key]];\n }\n }\n // replicates everything in idList once for each item in\n // newVals, attaching each value at key.\n idList = ap(ap([assoc(key)], newVals), idList);\n }, idSpec);\n return idList;\n }\n\n parsedDependencies.forEach(function registerDependency(dependency) {\n const {outputs, inputs} = dependency;\n\n // multiGraph - just for testing circularity\n\n function addInputToMulti(inIdProp, outIdProp) {\n multiGraph.addNode(inIdProp);\n multiGraph.addDependency(inIdProp, outIdProp);\n }\n\n function addOutputToMulti(outIdFinal, outIdProp) {\n multiGraph.addNode(outIdProp);\n inputs.forEach(inObj => {\n const {id: inId, property} = inObj;\n if (typeof inId === 'object') {\n const inIdList = makeAllIds(inId, outIdFinal);\n inIdList.forEach(id => {\n addInputToMulti(\n combineIdAndProp({id, property}),\n outIdProp\n );\n });\n } else {\n addInputToMulti(combineIdAndProp(inObj), outIdProp);\n }\n });\n }\n\n // We'll continue to use dep.output as its id, but add outputs as well\n // for convenience and symmetry with the structure of inputs and state.\n // Also collect MATCH keys in the output (all outputs must share these)\n // and ALL keys in the first output (need not be shared but we'll use\n // the first output for calculations) for later convenience.\n const {anyKeys, hasALL} = findWildcardKeys(outputs[0].id);\n const finalDependency = mergeRight(\n {hasALL, anyKeys, outputs},\n dependency\n );\n\n outputs.forEach(outIdProp => {\n const {id: outId, property} = outIdProp;\n if (typeof outId === 'object') {\n const outIdList = makeAllIds(outId, {});\n outIdList.forEach(id => {\n addOutputToMulti(id, combineIdAndProp({id, property}));\n });\n\n addPattern(outputPatterns, outId, property, finalDependency);\n } else {\n addOutputToMulti({}, combineIdAndProp(outIdProp));\n addMap(outputMap, outId, property, finalDependency);\n }\n });\n\n inputs.forEach(inputObject => {\n const {id: inId, property: inProp} = inputObject;\n if (typeof inId === 'object') {\n addPattern(inputPatterns, inId, inProp, finalDependency);\n } else {\n addMap(inputMap, inId, inProp, finalDependency);\n }\n });\n });\n\n return finalGraphs;\n}\n\nfunction findWildcardKeys(id) {\n const anyKeys = [];\n const allsmallerKeys = [];\n let hasALL = false;\n if (typeof id === 'object') {\n forEachObjIndexed((val, key) => {\n if (val === MATCH) {\n anyKeys.push(key);\n } else if (val === ALLSMALLER) {\n allsmallerKeys.push(key);\n } else if (val === ALL) {\n hasALL = true;\n }\n }, id);\n anyKeys.sort();\n allsmallerKeys.sort();\n }\n return {anyKeys, allsmallerKeys, hasALL};\n}\n\n/*\n * Do the given id values `vals` match the pattern `patternVals`?\n * `keys`, `patternVals`, and `vals` are all arrays, and we already know that\n * we're only looking at ids with the same keys as the pattern.\n *\n * Optionally, include another reference set of the same - to ensure the\n * correct matching of MATCH or ALLSMALLER between input and output items.\n */\nfunction idMatch(keys, vals, patternVals, refKeys, refVals, refPatternVals) {\n for (let i = 0; i < keys.length; i++) {\n const val = vals[i];\n const patternVal = patternVals[i];\n if (patternVal.wild) {\n // If we have a second id, compare the wildcard values.\n // Without a second id, all wildcards pass at this stage.\n if (refKeys && patternVal !== ALL) {\n const refIndex = refKeys.indexOf(keys[i]);\n const refPatternVal = refPatternVals[refIndex];\n // Sanity check. Shouldn't ever fail this, if the back end\n // did its job validating callbacks.\n // You can't resolve an input against an input, because\n // two ALLSMALLER's wouldn't make sense!\n if (patternVal === ALLSMALLER && refPatternVal === ALLSMALLER) {\n throw new Error(\n 'invalid wildcard id pair: ' +\n JSON.stringify({\n keys,\n patternVals,\n vals,\n refKeys,\n refPatternVals,\n refVals,\n })\n );\n }\n if (\n idValSort(val, refVals[refIndex]) !==\n (patternVal === ALLSMALLER\n ? -1\n : refPatternVal === ALLSMALLER\n ? 1\n : 0)\n ) {\n return false;\n }\n }\n } else if (val !== patternVal) {\n return false;\n }\n }\n return true;\n}\n\nfunction getAnyVals(patternVals, vals) {\n const matches = [];\n for (let i = 0; i < patternVals.length; i++) {\n if (patternVals[i] === MATCH) {\n matches.push(vals[i]);\n }\n }\n return matches.length ? JSON.stringify(matches) : '';\n}\n\nfunction resolveDeps(refKeys, refVals, refPatternVals) {\n return paths => ({id: idPattern, property}) => {\n if (typeof idPattern === 'string') {\n const path = getPath(paths, idPattern);\n return path ? [{id: idPattern, property, path}] : [];\n }\n const keys = Object.keys(idPattern).sort();\n const patternVals = props(keys, idPattern);\n const keyStr = keys.join(',');\n const keyPaths = paths.objs[keyStr];\n if (!keyPaths) {\n return [];\n }\n const result = [];\n keyPaths.forEach(({values: vals, path}) => {\n if (\n idMatch(\n keys,\n vals,\n patternVals,\n refKeys,\n refVals,\n refPatternVals\n )\n ) {\n result.push({id: zipObj(keys, vals), property, path});\n }\n });\n return result;\n };\n}\n\n/*\n * Create a pending callback object. Includes the original callback definition,\n * its resolved ID (including the value of all MATCH wildcards),\n * accessors to find all inputs, outputs, and state involved in this\n * callback (lazy as not all users will want all of these),\n * placeholders for which other callbacks this one is blockedBy or blocking,\n * and a boolean for whether it has been dispatched yet.\n */\nconst makeResolvedCallback = (callback, resolve, anyVals) => ({\n callback,\n anyVals,\n resolvedId: callback.output + anyVals,\n getOutputs: paths => callback.outputs.map(resolve(paths)),\n getInputs: paths => callback.inputs.map(resolve(paths)),\n getState: paths => callback.state.map(resolve(paths)),\n blockedBy: {},\n blocking: {},\n changedPropIds: {},\n initialCall: false,\n requestId: 0,\n requestedOutputs: {},\n});\n\nconst DIRECT = 2;\nconst INDIRECT = 1;\n\nlet nextRequestId = 0;\n\n/*\n * Give a callback a new requestId.\n */\nexport function setNewRequestId(callback) {\n nextRequestId++;\n return assoc('requestId', nextRequestId, callback);\n}\n\n/*\n * Does this item (input / output / state) support multiple values?\n * string IDs do not; wildcard IDs only do if they contain ALL or ALLSMALLER\n */\nexport function isMultiValued({id}) {\n return typeof id === 'object' && any(v => v.multi, values(id));\n}\n\n/*\n * For a given output id and prop, find the callback generating it.\n * If no callback is found, returns false.\n * If one is found, returns:\n * {\n * callback: the callback spec {outputs, inputs, state etc}\n * anyVals: stringified list of resolved MATCH keys we matched\n * resolvedId: the \"outputs\" id string plus MATCH values we matched\n * getOutputs: accessor function to give all resolved outputs of this\n * callback. Takes `paths` as argument to apply when the callback is\n * dispatched, in case a previous callback has altered the layout.\n * The result is a list of {id (string or object), property (string)}\n * getInputs: same for inputs\n * getState: same for state\n * blockedBy: an object of {[resolvedId]: 1} blocking this callback\n * blocking: an object of {[resolvedId]: 1} this callback is blocking\n * changedPropIds: an object of {[idAndProp]: v} triggering this callback\n * v = DIRECT (2): the prop was changed in the front end, so dependent\n * callbacks *MUST* be executed.\n * v = INDIRECT (1): the prop is expected to be changed by a callback,\n * but if this is prevented, dependent callbacks may be pruned.\n * initialCall: boolean, if true we don't require any changedPropIds\n * to keep this callback around, as it's the initial call to populate\n * this value on page load or changing part of the layout.\n * By default this is true for callbacks generated by\n * getCallbackByOutput, false from getCallbacksByInput.\n * requestId: integer: starts at 0. when this callback is dispatched it will\n * get a unique requestId, but if it gets added again the requestId will\n * be reset to 0, and we'll know to ignore the response of the first\n * request.\n * requestedOutputs: object of {[idStr]: [props]} listing all the props\n * actually requested for update.\n * }\n */\nfunction getCallbackByOutput(graphs, paths, id, prop) {\n let resolve;\n let callback;\n let anyVals = '';\n if (typeof id === 'string') {\n // standard id version\n const callbacks = (graphs.outputMap[id] || {})[prop];\n if (callbacks) {\n callback = callbacks[0];\n resolve = resolveDeps();\n }\n } else {\n // wildcard version\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const patterns = (graphs.outputPatterns[keyStr] || {})[prop];\n if (patterns) {\n for (let i = 0; i < patterns.length; i++) {\n const patternVals = patterns[i].values;\n if (idMatch(keys, vals, patternVals)) {\n callback = patterns[i].callbacks[0];\n resolve = resolveDeps(keys, vals, patternVals);\n anyVals = getAnyVals(patternVals, vals);\n break;\n }\n }\n }\n }\n if (!resolve) {\n return false;\n }\n\n return makeResolvedCallback(callback, resolve, anyVals);\n}\n\n/*\n * If there are ALL keys we need to reduce a set of outputs resolved\n * from an input to one item per combination of MATCH values.\n * That will give one result per callback invocation.\n */\nfunction reduceALLOuts(outs, anyKeys, hasALL) {\n if (!hasALL) {\n return outs;\n }\n if (!anyKeys.length) {\n // If there's ALL but no MATCH, there's only one invocation\n // of the callback, so just base it off the first output.\n return [outs[0]];\n }\n const anySeen = {};\n return outs.filter(i => {\n const matchKeys = JSON.stringify(props(anyKeys, i.id));\n if (!anySeen[matchKeys]) {\n anySeen[matchKeys] = 1;\n return true;\n }\n return false;\n });\n}\n\nfunction addResolvedFromOutputs(callback, outPattern, outs, matches) {\n const out0Keys = Object.keys(outPattern.id).sort();\n const out0PatternVals = props(out0Keys, outPattern.id);\n outs.forEach(({id: outId}) => {\n const outVals = props(out0Keys, outId);\n matches.push(\n makeResolvedCallback(\n callback,\n resolveDeps(out0Keys, outVals, out0PatternVals),\n getAnyVals(out0PatternVals, outVals)\n )\n );\n });\n}\n\n/*\n * For a given id and prop find all callbacks it's an input of.\n *\n * Returns an array of objects:\n * {callback, resolvedId, getOutputs, getInputs, getState}\n * See getCallbackByOutput for details.\n *\n * Note that if the original input contains an ALLSMALLER wildcard,\n * there may be many entries for the same callback, but any given output\n * (with an MATCH corresponding to the input's ALLSMALLER) will only appear\n * in one entry.\n */\nexport function getCallbacksByInput(graphs, paths, id, prop, changeType) {\n const matches = [];\n const idAndProp = combineIdAndProp({id, property: prop});\n\n if (typeof id === 'string') {\n // standard id version\n const callbacks = (graphs.inputMap[id] || {})[prop];\n if (!callbacks) {\n return [];\n }\n\n const baseResolve = resolveDeps();\n callbacks.forEach(callback => {\n const {anyKeys, hasALL} = callback;\n if (anyKeys) {\n const out0Pattern = callback.outputs[0];\n const out0Set = reduceALLOuts(\n baseResolve(paths)(out0Pattern),\n anyKeys,\n hasALL\n );\n addResolvedFromOutputs(callback, out0Pattern, out0Set, matches);\n } else {\n matches.push(makeResolvedCallback(callback, baseResolve, ''));\n }\n });\n } else {\n // wildcard version\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const patterns = (graphs.inputPatterns[keyStr] || {})[prop];\n if (!patterns) {\n return [];\n }\n patterns.forEach(pattern => {\n if (idMatch(keys, vals, pattern.values)) {\n const resolve = resolveDeps(keys, vals, pattern.values);\n pattern.callbacks.forEach(callback => {\n const out0Pattern = callback.outputs[0];\n const {anyKeys, hasALL} = callback;\n const out0Set = reduceALLOuts(\n resolve(paths)(out0Pattern),\n anyKeys,\n hasALL\n );\n\n addResolvedFromOutputs(\n callback,\n out0Pattern,\n out0Set,\n matches\n );\n });\n }\n });\n }\n matches.forEach(match => {\n match.changedPropIds[idAndProp] = changeType || DIRECT;\n });\n return matches;\n}\n\nexport function getWatchedKeys(id, newProps, graphs) {\n if (!(id && graphs && newProps.length)) {\n return [];\n }\n\n if (typeof id === 'string') {\n const inputs = graphs.inputMap[id];\n return inputs ? newProps.filter(newProp => inputs[newProp]) : [];\n }\n\n const keys = Object.keys(id).sort();\n const vals = props(keys, id);\n const keyStr = keys.join(',');\n const keyPatterns = graphs.inputPatterns[keyStr];\n if (!keyPatterns) {\n return [];\n }\n return newProps.filter(prop => {\n const patterns = keyPatterns[prop];\n return (\n patterns &&\n patterns.some(pattern => idMatch(keys, vals, pattern.values))\n );\n });\n}\n\n/*\n * Return a list of all callbacks referencing a chunk of the layout,\n * either as inputs or outputs.\n *\n * opts.outputsOnly: boolean, set true when crawling the *whole* layout,\n * because outputs are enough to get everything.\n * opts.removedArrayInputsOnly: boolean, set true to only look for inputs in\n * wildcard arrays (ALL or ALLSMALLER), no outputs. This gets used to tell\n * when the new *absence* of a given component should trigger a callback.\n * opts.newPaths: paths object after the edit - to be used with\n * removedArrayInputsOnly to determine if the callback still has its outputs\n * opts.chunkPath: path to the new chunk - used to determine if any outputs are\n * outside of this chunk, because this determines whether inputs inside the\n * chunk count as having changed\n *\n * Returns an array of objects:\n * {callback, resolvedId, getOutputs, getInputs, getState, ...etc}\n * See getCallbackByOutput for details.\n */\nexport function getCallbacksInLayout(graphs, paths, layoutChunk, opts) {\n const {outputsOnly, removedArrayInputsOnly, newPaths, chunkPath} = opts;\n const foundCbIds = {};\n const callbacks = [];\n\n function addCallback(callback) {\n if (callback) {\n const foundIndex = foundCbIds[callback.resolvedId];\n if (foundIndex !== undefined) {\n callbacks[foundIndex].changedPropIds = mergeMax(\n callbacks[foundIndex].changedPropIds,\n callback.changedPropIds\n );\n } else {\n foundCbIds[callback.resolvedId] = callbacks.length;\n callbacks.push(callback);\n }\n }\n }\n\n function addCallbackIfArray(idStr) {\n return cb =>\n cb.getInputs(paths).some(ini => {\n if (\n Array.isArray(ini) &&\n ini.some(inij => stringifyId(inij.id) === idStr)\n ) {\n // This callback should trigger even with no changedProps,\n // since the props that changed no longer exist.\n if (flatten(cb.getOutputs(newPaths)).length) {\n cb.initialCall = true;\n cb.changedPropIds = {};\n addCallback(cb);\n }\n return true;\n }\n return false;\n });\n }\n\n function handleOneId(id, outIdCallbacks, inIdCallbacks) {\n if (outIdCallbacks) {\n for (const property in outIdCallbacks) {\n const cb = getCallbackByOutput(graphs, paths, id, property);\n if (cb) {\n // callbacks found in the layout by output should always run\n // ie this is the initial call of this callback even if it's\n // not the page initialization but just a new layout chunk\n cb.initialCall = true;\n addCallback(cb);\n }\n }\n }\n if (!outputsOnly && inIdCallbacks) {\n const maybeAddCallback = removedArrayInputsOnly\n ? addCallbackIfArray(stringifyId(id))\n : addCallback;\n let handleThisCallback = maybeAddCallback;\n if (chunkPath) {\n handleThisCallback = cb => {\n if (\n all(\n startsWith(chunkPath),\n pluck('path', flatten(cb.getOutputs(paths)))\n )\n ) {\n cb.changedPropIds = {};\n }\n maybeAddCallback(cb);\n };\n }\n for (const property in inIdCallbacks) {\n getCallbacksByInput(\n graphs,\n paths,\n id,\n property,\n INDIRECT\n ).forEach(handleThisCallback);\n }\n }\n }\n\n crawlLayout(layoutChunk, child => {\n const id = path(['props', 'id'], child);\n if (id) {\n if (typeof id === 'string' && !removedArrayInputsOnly) {\n handleOneId(id, graphs.outputMap[id], graphs.inputMap[id]);\n } else {\n const keyStr = Object.keys(id)\n .sort()\n .join(',');\n handleOneId(\n id,\n !removedArrayInputsOnly && graphs.outputPatterns[keyStr],\n graphs.inputPatterns[keyStr]\n );\n }\n }\n });\n\n // We still need to follow these forward in order to capture blocks and,\n // if based on a partial layout, any knock-on effects in the full layout.\n const finalCallbacks = followForward(graphs, paths, callbacks);\n\n // Exception to the `initialCall` case of callbacks found by output:\n // if *every* input to this callback is itself an output of another\n // callback earlier in the chain, we remove the `initialCall` flag\n // so that if all of those prior callbacks abort all of their outputs,\n // this later callback never runs.\n // See test inin003 \"callback2 is never triggered, even on initial load\"\n finalCallbacks.forEach(cb => {\n if (cb.initialCall && !isEmpty(cb.blockedBy)) {\n const inputs = flatten(cb.getInputs(paths));\n cb.initialCall = false;\n inputs.forEach(i => {\n const propId = combineIdAndProp(i);\n if (cb.changedPropIds[propId]) {\n cb.changedPropIds[propId] = INDIRECT;\n } else {\n cb.initialCall = true;\n }\n });\n }\n });\n\n return finalCallbacks;\n}\n\nexport function removePendingCallback(\n pendingCallbacks,\n paths,\n removeResolvedId,\n skippedProps\n) {\n const finalPendingCallbacks = [];\n pendingCallbacks.forEach(pending => {\n const {blockedBy, blocking, changedPropIds, resolvedId} = pending;\n if (resolvedId !== removeResolvedId) {\n finalPendingCallbacks.push(\n mergeRight(pending, {\n blockedBy: dissoc(removeResolvedId, blockedBy),\n blocking: dissoc(removeResolvedId, blocking),\n changedPropIds: pickBy(\n (v, k) => v === DIRECT || !includes(k, skippedProps),\n changedPropIds\n ),\n })\n );\n }\n });\n // If any callback no longer has any changed inputs, it shouldn't fire.\n // This will repeat recursively until all unneeded callbacks are pruned\n if (skippedProps.length) {\n for (let i = 0; i < finalPendingCallbacks.length; i++) {\n const cb = finalPendingCallbacks[i];\n if (!cb.initialCall && isEmpty(cb.changedPropIds)) {\n return removePendingCallback(\n finalPendingCallbacks,\n paths,\n cb.resolvedId,\n flatten(cb.getOutputs(paths)).map(combineIdAndProp)\n );\n }\n }\n }\n return finalPendingCallbacks;\n}\n\n/*\n * Split the list of pending callbacks into ready (not blocked by any others)\n * and blocked. Sort the ready callbacks by how many each is blocking, on the\n * theory that the most important ones to dispatch are the ones with the most\n * others depending on them.\n */\nexport function findReadyCallbacks(pendingCallbacks) {\n const [readyCallbacks, blockedCallbacks] = partition(\n pending => isEmpty(pending.blockedBy) && !pending.requestId,\n pendingCallbacks\n );\n readyCallbacks.sort((a, b) => {\n return Object.keys(b.blocking).length - Object.keys(a.blocking).length;\n });\n\n return {readyCallbacks, blockedCallbacks};\n}\n\nfunction addBlock(callbacks, blockingId, blockedId) {\n callbacks.forEach(({blockedBy, blocking, resolvedId}) => {\n if (resolvedId === blockingId || blocking[blockingId]) {\n blocking[blockedId] = 1;\n } else if (resolvedId === blockedId || blockedBy[blockedId]) {\n blockedBy[blockingId] = 1;\n }\n });\n}\n\nfunction collectIds(callbacks) {\n const allResolvedIds = {};\n callbacks.forEach(({resolvedId}, i) => {\n allResolvedIds[resolvedId] = i;\n });\n return allResolvedIds;\n}\n\n/*\n * Take a list of callbacks and follow them all forward, ie see if any of their\n * outputs are inputs of another callback. Any new callbacks get added to the\n * list. All that come after another get marked as blocked by that one, whether\n * they were in the initial list or not.\n */\nexport function followForward(graphs, paths, callbacks_) {\n const callbacks = clone(callbacks_);\n const allResolvedIds = collectIds(callbacks);\n let i;\n let callback;\n\n const followOutput = ({id, property}) => {\n const nextCBs = getCallbacksByInput(\n graphs,\n paths,\n id,\n property,\n INDIRECT\n );\n nextCBs.forEach(nextCB => {\n let existingIndex = allResolvedIds[nextCB.resolvedId];\n if (existingIndex === undefined) {\n existingIndex = callbacks.length;\n callbacks.push(nextCB);\n allResolvedIds[nextCB.resolvedId] = existingIndex;\n } else {\n const existingCB = callbacks[existingIndex];\n existingCB.changedPropIds = mergeMax(\n existingCB.changedPropIds,\n nextCB.changedPropIds\n );\n }\n addBlock(callbacks, callback.resolvedId, nextCB.resolvedId);\n });\n };\n\n // Using a for loop instead of forEach because followOutput may extend the\n // callbacks array, and we want to continue into these new elements.\n for (i = 0; i < callbacks.length; i++) {\n callback = callbacks[i];\n const outputs = unnest(callback.getOutputs(paths));\n outputs.forEach(followOutput);\n }\n return callbacks;\n}\n\nfunction mergeAllBlockers(cb1, cb2) {\n function mergeBlockers(a, b) {\n if (cb1[a][cb2.resolvedId] && !cb2[b][cb1.resolvedId]) {\n cb2[b][cb1.resolvedId] = cb1[a][cb2.resolvedId];\n cb2[b] = mergeMax(cb1[b], cb2[b]);\n cb1[a] = mergeMax(cb2[a], cb1[a]);\n }\n }\n mergeBlockers('blockedBy', 'blocking');\n mergeBlockers('blocking', 'blockedBy');\n}\n\n/*\n * Given two arrays of pending callbacks, merge them into one so that\n * each will only fire once, and any extra blockages from combining the lists\n * will be accounted for.\n */\nexport function mergePendingCallbacks(cb1, cb2) {\n if (!cb2.length) {\n return cb1;\n }\n if (!cb1.length) {\n return cb2;\n }\n const finalCallbacks = clone(cb1);\n const callbacks2 = clone(cb2);\n const allResolvedIds = collectIds(finalCallbacks);\n\n callbacks2.forEach((callback, i) => {\n const existingIndex = allResolvedIds[callback.resolvedId];\n if (existingIndex !== undefined) {\n finalCallbacks.forEach(finalCb => {\n mergeAllBlockers(finalCb, callback);\n });\n callbacks2.slice(i + 1).forEach(cb2 => {\n mergeAllBlockers(cb2, callback);\n });\n finalCallbacks[existingIndex] = mergeDeepRight(\n finalCallbacks[existingIndex],\n callback\n );\n } else {\n allResolvedIds[callback.resolvedId] = finalCallbacks.length;\n finalCallbacks.push(callback);\n }\n });\n\n return finalCallbacks;\n}\n\n/*\n * Remove callbacks whose outputs or changed inputs have been removed\n * from the layout\n */\nexport function pruneRemovedCallbacks(pendingCallbacks, paths) {\n const removeIds = [];\n let cleanedCallbacks = pendingCallbacks.map(callback => {\n const {changedPropIds, getOutputs, resolvedId} = callback;\n if (!flatten(getOutputs(paths)).length) {\n removeIds.push(resolvedId);\n return callback;\n }\n\n let omittedProps = false;\n const newChangedProps = pickBy((_, propId) => {\n if (getPath(paths, splitIdAndProp(propId).id)) {\n return true;\n }\n omittedProps = true;\n return false;\n }, changedPropIds);\n\n return omittedProps\n ? assoc('changedPropIds', newChangedProps, callback)\n : callback;\n });\n\n removeIds.forEach(resolvedId => {\n const cb = cleanedCallbacks.find(propEq('resolvedId', resolvedId));\n if (cb) {\n cleanedCallbacks = removePendingCallback(\n pendingCallbacks,\n paths,\n resolvedId,\n flatten(cb.getOutputs(paths)).map(combineIdAndProp)\n );\n }\n });\n\n return cleanedCallbacks;\n}\n","import _curry2 from \"./internal/_curry2.js\"; // `Const` is a functor that effectively ignores the function given to `map`.\n\nvar Const = function (x) {\n return {\n value: x,\n 'fantasy-land/map': function () {\n return this;\n }\n };\n};\n/**\n * Returns a \"view\" of the given data structure, determined by the given lens.\n * The lens's focus determines which portion of the data structure is visible.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> s -> a\n * @param {Lens} lens\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.view(xLens, {x: 4, y: 2}); //=> 4\n */\n\n\nvar view =\n/*#__PURE__*/\n_curry2(function view(lens, x) {\n // Using `Const` effectively ignores the setter function of the `lens`,\n // leaving the value returned by the getter function unmodified.\n return lens(Const)(x).value;\n});\n\nexport default view;","import _curry3 from \"./internal/_curry3.js\";\nimport _has from \"./internal/_has.js\";\nimport _isArray from \"./internal/_isArray.js\";\nimport _isInteger from \"./internal/_isInteger.js\";\nimport assoc from \"./assoc.js\";\nimport isNil from \"./isNil.js\";\n/**\n * Makes a shallow clone of an object, setting or overriding the nodes required\n * to create the given path, and placing the specific value at the tail end of\n * that path. Note that this copies and flattens prototype properties onto the\n * new object as well. All non-primitive properties are copied by reference.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig [Idx] -> a -> {a} -> {a}\n * @param {Array} path the path to set\n * @param {*} val The new value\n * @param {Object} obj The object to clone\n * @return {Object} A new object equivalent to the original except along the specified path.\n * @see R.dissocPath\n * @example\n *\n * R.assocPath(['a', 'b', 'c'], 42, {a: {b: {c: 0}}}); //=> {a: {b: {c: 42}}}\n *\n * // Any missing or non-object keys in path will be overridden\n * R.assocPath(['a', 'b', 'c'], 42, {a: 5}); //=> {a: {b: {c: 42}}}\n */\n\nvar assocPath =\n/*#__PURE__*/\n_curry3(function assocPath(path, val, obj) {\n if (path.length === 0) {\n return val;\n }\n\n var idx = path[0];\n\n if (path.length > 1) {\n var nextObj = !isNil(obj) && _has(idx, obj) ? obj[idx] : _isInteger(path[1]) ? [] : {};\n val = assocPath(Array.prototype.slice.call(path, 1), val, nextObj);\n }\n\n if (_isInteger(idx) && _isArray(obj)) {\n var arr = [].concat(obj);\n arr[idx] = val;\n return arr;\n } else {\n return assoc(idx, val, obj);\n }\n});\n\nexport default assocPath;","import _curry2 from \"./internal/_curry2.js\";\nimport map from \"./map.js\";\n/**\n * Returns a lens for the given getter and setter functions. The getter \"gets\"\n * the value of the focus; the setter \"sets\" the value of the focus. The setter\n * should not mutate the data structure.\n *\n * @func\n * @memberOf R\n * @since v0.8.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig (s -> a) -> ((a, s) -> s) -> Lens s a\n * @param {Function} getter\n * @param {Function} setter\n * @return {Lens}\n * @see R.view, R.set, R.over, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lens(R.prop('x'), R.assoc('x'));\n *\n * R.view(xLens, {x: 1, y: 2}); //=> 1\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.over(xLens, R.negate, {x: 1, y: 2}); //=> {x: -1, y: 2}\n */\n\nvar lens =\n/*#__PURE__*/\n_curry2(function lens(getter, setter) {\n return function (toFunctorFn) {\n return function (target) {\n return map(function (focus) {\n return setter(focus, target);\n }, toFunctorFn(getter(target)));\n };\n };\n});\n\nexport default lens;","import _curry1 from \"./internal/_curry1.js\";\nimport assocPath from \"./assocPath.js\";\nimport lens from \"./lens.js\";\nimport path from \"./path.js\";\n/**\n * Returns a lens whose focus is the specified path.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category Object\n * @typedefn Idx = String | Int\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig [Idx] -> Lens s a\n * @param {Array} path The path to use.\n * @return {Lens}\n * @see R.view, R.set, R.over\n * @example\n *\n * const xHeadYLens = R.lensPath(['x', 0, 'y']);\n *\n * R.view(xHeadYLens, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> 2\n * R.set(xHeadYLens, 1, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: 1, z: 3}, {y: 4, z: 5}]}\n * R.over(xHeadYLens, R.negate, {x: [{y: 2, z: 3}, {y: 4, z: 5}]});\n * //=> {x: [{y: -2, z: 3}, {y: 4, z: 5}]}\n */\n\nvar lensPath =\n/*#__PURE__*/\n_curry1(function lensPath(p) {\n return lens(path(p), assocPath(p));\n});\n\nexport default lensPath;","const actionList = {\n ON_PROP_CHANGE: 1,\n SET_REQUEST_QUEUE: 1,\n SET_GRAPHS: 1,\n SET_PATHS: 1,\n SET_LAYOUT: 1,\n SET_APP_LIFECYCLE: 1,\n SET_CONFIG: 1,\n ON_ERROR: 1,\n SET_HOOKS: 1,\n};\n\nexport const getAction = action => {\n if (actionList[action]) {\n return action;\n }\n throw new Error(`${action} is not defined.`);\n};\n","import {append, assocPath, includes, lensPath, mergeRight, view} from 'ramda';\n\nimport {getAction} from '../actions/constants';\n\nconst layout = (state = {}, action) => {\n if (action.type === getAction('SET_LAYOUT')) {\n return action.payload;\n } else if (\n includes(action.type, [\n 'UNDO_PROP_CHANGE',\n 'REDO_PROP_CHANGE',\n getAction('ON_PROP_CHANGE'),\n ])\n ) {\n const propPath = append('props', action.payload.itempath);\n const existingProps = view(lensPath(propPath), state);\n const mergedProps = mergeRight(existingProps, action.payload.props);\n return assocPath(propPath, mergedProps, state);\n }\n\n return state;\n};\n\nexport default layout;\n","const initialGraph = {};\n\nconst graphs = (state = initialGraph, action) => {\n if (action.type === 'SET_GRAPHS') {\n return action.payload;\n }\n return state;\n};\n\nexport default graphs;\n","import {getAction} from '../actions/constants';\n\nconst initialPaths = {strs: {}, objs: {}};\n\nconst paths = (state = initialPaths, action) => {\n if (action.type === getAction('SET_PATHS')) {\n return action.payload;\n }\n return state;\n};\n\nexport default paths;\n","const pendingCallbacks = (state = [], action) => {\n switch (action.type) {\n case 'SET_PENDING_CALLBACKS':\n return action.payload;\n\n default:\n return state;\n }\n};\n\nexport default pendingCallbacks;\n","export function getAppState(state) {\n const stateList = {\n STARTED: 'STARTED',\n HYDRATED: 'HYDRATED',\n };\n if (stateList[state]) {\n return stateList[state];\n }\n throw new Error(`${state} is not a valid app state.`);\n}\n","import {getAction} from '../actions/constants';\nimport {getAppState} from './constants';\n\nfunction appLifecycle(state = getAppState('STARTED'), action) {\n switch (action.type) {\n case getAction('SET_APP_LIFECYCLE'):\n return getAppState(action.payload);\n default:\n return state;\n }\n}\n\nexport default appLifecycle;\n","const initialHistory = {\n past: [],\n present: {},\n future: [],\n};\n\nfunction history(state = initialHistory, action) {\n switch (action.type) {\n case 'UNDO': {\n const {past, present, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [present, ...future],\n };\n }\n\n case 'REDO': {\n const {past, present, future} = state;\n const next = future[0];\n const newFuture = future.slice(1);\n return {\n past: [...past, present],\n present: next,\n future: newFuture,\n };\n }\n\n case 'REVERT': {\n const {past, future} = state;\n const previous = past[past.length - 1];\n const newPast = past.slice(0, past.length - 1);\n return {\n past: newPast,\n present: previous,\n future: [...future],\n };\n }\n\n default: {\n return state;\n }\n }\n}\n\nexport default history;\n","import {mergeRight} from 'ramda';\n\nconst initialError = {\n frontEnd: [],\n backEnd: [],\n};\n\nexport default function error(state = initialError, action) {\n switch (action.type) {\n case 'ON_ERROR': {\n // log errors to the console for stack tracing and so they're\n // available even with debugging off\n /* eslint-disable-next-line no-console */\n console.error(action.payload.error);\n\n if (action.payload.type === 'frontEnd') {\n return {\n frontEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.frontEnd,\n ],\n backEnd: state.backEnd,\n };\n } else if (action.payload.type === 'backEnd') {\n return {\n frontEnd: state.frontEnd,\n backEnd: [\n mergeRight(action.payload, {timestamp: new Date()}),\n ...state.backEnd,\n ],\n };\n }\n return state;\n }\n\n default: {\n return state;\n }\n }\n}\n","const customHooks = (\n state = {request_pre: null, request_post: null, bear: false},\n action\n) => {\n switch (action.type) {\n case 'SET_HOOKS':\n return action.payload;\n default:\n return state;\n }\n};\n\nexport default customHooks;\n","import {getAction} from '../actions/constants';\n\nexport default function config(state = null, action) {\n if (action.type === getAction('SET_CONFIG')) {\n return action.payload;\n }\n return state;\n}\n","import {forEach, isEmpty, keys, path} from 'ramda';\nimport {combineReducers} from 'redux';\n\nimport {getCallbacksByInput} from '../actions/dependencies';\n\nimport layout from './layout';\nimport graphs from './dependencyGraph';\nimport paths from './paths';\nimport pendingCallbacks from './pendingCallbacks';\nimport appLifecycle from './appLifecycle';\nimport history from './history';\nimport error from './error';\nimport hooks from './hooks';\nimport createApiReducer from './api';\nimport config from './config';\n\nexport const apiRequests = [\n 'dependenciesRequest',\n 'layoutRequest',\n 'reloadRequest',\n 'loginRequest',\n];\n\nfunction mainReducer() {\n const parts = {\n appLifecycle,\n layout,\n graphs,\n paths,\n pendingCallbacks,\n config,\n history,\n error,\n hooks,\n };\n forEach(r => {\n parts[r] = createApiReducer(r);\n }, apiRequests);\n\n return combineReducers(parts);\n}\n\nfunction getInputHistoryState(itempath, props, state) {\n const {graphs, layout, paths} = state;\n const idProps = path(itempath.concat(['props']), layout);\n const {id} = idProps || {};\n let historyEntry;\n if (id) {\n historyEntry = {id, props: {}};\n keys(props).forEach(propKey => {\n if (getCallbacksByInput(graphs, paths, id, propKey).length) {\n historyEntry.props[propKey] = idProps[propKey];\n }\n });\n }\n return historyEntry;\n}\n\nfunction recordHistory(reducer) {\n return function(state, action) {\n // Record initial state\n if (action.type === 'ON_PROP_CHANGE') {\n const {itempath, props} = action.payload;\n const historyEntry = getInputHistoryState(itempath, props, state);\n if (historyEntry && !isEmpty(historyEntry.props)) {\n state.history.present = historyEntry;\n }\n }\n\n const nextState = reducer(state, action);\n\n if (\n action.type === 'ON_PROP_CHANGE' &&\n action.payload.source !== 'response'\n ) {\n const {itempath, props} = action.payload;\n /*\n * if the prop change is an input, then\n * record it so that it can be played back\n */\n const historyEntry = getInputHistoryState(\n itempath,\n props,\n nextState\n );\n if (historyEntry && !isEmpty(historyEntry.props)) {\n nextState.history = {\n past: [...nextState.history.past, state.history.present],\n present: historyEntry,\n future: [],\n };\n }\n }\n\n return nextState;\n };\n}\n\nfunction reloaderReducer(reducer) {\n return function(state, action) {\n const {history, config, hooks} = state || {};\n let newState = state;\n if (action.type === 'RELOAD') {\n newState = {history, config, hooks};\n } else if (action.type === 'SET_CONFIG') {\n // new config also reloads, and even clears history,\n // in case there's a new user or even a totally different app!\n // hooks are set at an even higher level than config though.\n newState = {hooks};\n }\n return reducer(newState, action);\n };\n}\n\nexport function createReducer() {\n return reloaderReducer(recordHistory(mainReducer()));\n}\n","import {createStore, applyMiddleware} from 'redux';\nimport thunk from 'redux-thunk';\nimport {createReducer} from './reducers/reducer';\n\nlet store;\n\n/**\n * Initialize a Redux store with thunk, plus logging (only in development mode) middleware\n *\n * @param {bool} reset: discard any previous store\n *\n * @returns {Store<GenericStoreEnhancer>}\n * An initialized redux store with middleware and possible hot reloading of reducers\n */\nconst initializeStore = reset => {\n if (store && !reset) {\n return store;\n }\n\n const reducer = createReducer();\n\n // eslint-disable-next-line no-process-env\n if (process.env.NODE_ENV === 'production') {\n store = createStore(reducer, applyMiddleware(thunk));\n } else {\n // only attach logger to middleware in non-production mode\n const reduxDTEC = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;\n if (reduxDTEC) {\n store = createStore(reducer, reduxDTEC(applyMiddleware(thunk)));\n } else {\n store = createStore(reducer, applyMiddleware(thunk));\n }\n }\n\n if (!reset) {\n // TODO - Protect this under a debug mode?\n window.store = store;\n }\n\n if (module.hot) {\n // Enable hot module replacement for reducers\n module.hot.accept('./reducers/reducer', () => {\n const nextRootReducer = require('./reducers/reducer').createReducer();\n\n store.replaceReducer(nextRootReducer);\n });\n }\n\n return store;\n};\n\nexport default initializeStore;\n","import {assoc, assocPath, mergeRight} from 'ramda';\n\nexport default function createApiReducer(store) {\n return function ApiReducer(state = {}, action) {\n let newState = state;\n if (action.type === store) {\n const {id, status, content} = action.payload;\n const newRequest = {status, content};\n if (Array.isArray(id)) {\n newState = assocPath(id, newRequest, state);\n } else if (id) {\n newState = assoc(id, newRequest, state);\n } else {\n newState = mergeRight(state, newRequest);\n }\n }\n return newState;\n };\n}\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a partial copy of an object containing only the keys specified. If\n * the key does not exist, the property is ignored.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Object\n * @sig [k] -> {k: v} -> {k: v}\n * @param {Array} names an array of String property names to copy onto a new object\n * @param {Object} obj The object to copy from\n * @return {Object} A new object with only properties from `names` on it.\n * @see R.omit, R.props\n * @example\n *\n * R.pick(['a', 'd'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1, d: 4}\n * R.pick(['a', 'e', 'f'], {a: 1, b: 2, c: 3, d: 4}); //=> {a: 1}\n */\n\nvar pick =\n/*#__PURE__*/\n_curry2(function pick(names, obj) {\n var result = {};\n var idx = 0;\n\n while (idx < names.length) {\n if (names[idx] in obj) {\n result[names[idx]] = obj[names[idx]];\n }\n\n idx += 1;\n }\n\n return result;\n});\n\nexport default pick;","import _concat from \"./internal/_concat.js\";\nimport _curry1 from \"./internal/_curry1.js\";\nimport curryN from \"./curryN.js\";\n/**\n * Creates a new list iteration function from an existing one by adding two new\n * parameters to its callback function: the current index, and the entire list.\n *\n * This would turn, for instance, [`R.map`](#map) function into one that\n * more closely resembles `Array.prototype.map`. Note that this will only work\n * for functions in which the iteration callback function is the first\n * parameter, and where the list is the last parameter. (This latter might be\n * unimportant if the list parameter is not used.)\n *\n * @func\n * @memberOf R\n * @since v0.15.0\n * @category Function\n * @category List\n * @sig ((a ... -> b) ... -> [a] -> *) -> ((a ..., Int, [a] -> b) ... -> [a] -> *)\n * @param {Function} fn A list iteration function that does not pass index or list to its callback\n * @return {Function} An altered list iteration function that passes (item, index, list) to its callback\n * @example\n *\n * const mapIndexed = R.addIndex(R.map);\n * mapIndexed((val, idx) => idx + '-' + val, ['f', 'o', 'o', 'b', 'a', 'r']);\n * //=> ['0-f', '1-o', '2-o', '3-b', '4-a', '5-r']\n */\n\nvar addIndex =\n/*#__PURE__*/\n_curry1(function addIndex(fn) {\n return curryN(fn.length, function () {\n var idx = 0;\n var origFn = arguments[0];\n var list = arguments[arguments.length - 1];\n var args = Array.prototype.slice.call(arguments, 0);\n\n args[0] = function () {\n var result = origFn.apply(this, _concat(arguments, [idx, list]));\n idx += 1;\n return result;\n };\n\n return fn.apply(this, args);\n });\n});\n\nexport default addIndex;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns the second argument if it is not `null`, `undefined` or `NaN`;\n * otherwise the first argument is returned.\n *\n * @func\n * @memberOf R\n * @since v0.10.0\n * @category Logic\n * @sig a -> b -> a | b\n * @param {a} default The default value.\n * @param {b} val `val` will be returned instead of `default` unless `val` is `null`, `undefined` or `NaN`.\n * @return {*} The second value if it is not `null`, `undefined` or `NaN`, otherwise the default value\n * @example\n *\n * const defaultTo42 = R.defaultTo(42);\n *\n * defaultTo42(null); //=> 42\n * defaultTo42(undefined); //=> 42\n * defaultTo42(false); //=> false\n * defaultTo42('Ramda'); //=> 'Ramda'\n * // parseInt('string') results in NaN\n * defaultTo42(parseInt('string')); //=> 42\n */\n\nvar defaultTo =\n/*#__PURE__*/\n_curry2(function defaultTo(d, v) {\n return v == null || v !== v ? d : v;\n});\n\nexport default defaultTo;","import _curry3 from \"./internal/_curry3.js\";\nimport defaultTo from \"./defaultTo.js\";\nimport path from \"./path.js\";\n/**\n * If the given, non-null object has a value at the given path, returns the\n * value at that path. Otherwise returns the provided default value.\n *\n * @func\n * @memberOf R\n * @since v0.18.0\n * @category Object\n * @typedefn Idx = String | Int\n * @sig a -> [Idx] -> {a} -> a\n * @param {*} d The default value.\n * @param {Array} p The path to use.\n * @param {Object} obj The object to retrieve the nested property from.\n * @return {*} The data at `path` of the supplied object or the default value.\n * @example\n *\n * R.pathOr('N/A', ['a', 'b'], {a: {b: 2}}); //=> 2\n * R.pathOr('N/A', ['a', 'b'], {c: {b: 2}}); //=> \"N/A\"\n */\n\nvar pathOr =\n/*#__PURE__*/\n_curry3(function pathOr(d, p, obj) {\n return defaultTo(d, path(p, obj));\n});\n\nexport default pathOr;","import _curry3 from \"./internal/_curry3.js\";\nimport pathOr from \"./pathOr.js\";\n/**\n * If the given, non-null object has an own property with the specified name,\n * returns the value of that property. Otherwise returns the provided default\n * value.\n *\n * @func\n * @memberOf R\n * @since v0.6.0\n * @category Object\n * @sig a -> String -> Object -> a\n * @param {*} val The default value.\n * @param {String} p The name of the property to return.\n * @param {Object} obj The object to query.\n * @return {*} The value of given property of the supplied object or the default value.\n * @example\n *\n * const alice = {\n * name: 'ALICE',\n * age: 101\n * };\n * const favorite = R.prop('favoriteLibrary');\n * const favoriteWithDefault = R.propOr('Ramda', 'favoriteLibrary');\n *\n * favorite(alice); //=> undefined\n * favoriteWithDefault(alice); //=> 'Ramda'\n */\n\nvar propOr =\n/*#__PURE__*/\n_curry3(function propOr(val, p, obj) {\n return pathOr(val, [p], obj);\n});\n\nexport default propOr;","import _arity from \"./internal/_arity.js\";\nimport _curry1 from \"./internal/_curry1.js\";\n/**\n * Accepts a function `fn` and returns a function that guards invocation of\n * `fn` such that `fn` can only ever be called once, no matter how many times\n * the returned function is invoked. The first value calculated is returned in\n * subsequent invocations.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig (a... -> b) -> (a... -> b)\n * @param {Function} fn The function to wrap in a call-only-once wrapper.\n * @return {Function} The wrapped function.\n * @example\n *\n * const addOneOnce = R.once(x => x + 1);\n * addOneOnce(10); //=> 11\n * addOneOnce(addOneOnce(50)); //=> 11\n */\n\nvar once =\n/*#__PURE__*/\n_curry1(function once(fn) {\n var called = false;\n var result;\n return _arity(fn.length, function () {\n if (called) {\n return result;\n }\n\n called = true;\n result = fn.apply(this, arguments);\n return result;\n });\n});\n\nexport default once;","import _includes from \"./internal/_includes.js\";\nimport _curry2 from \"./internal/_curry2.js\";\nimport flip from \"./flip.js\";\nimport reject from \"./reject.js\";\n/**\n * Returns a new list without values in the first argument.\n * [`R.equals`](#equals) is used to determine equality.\n *\n * Acts as a transducer if a transformer is given in list position.\n *\n * @func\n * @memberOf R\n * @since v0.19.0\n * @category List\n * @sig [a] -> [a] -> [a]\n * @param {Array} list1 The values to be removed from `list2`.\n * @param {Array} list2 The array to remove values from.\n * @return {Array} The new array without values in `list1`.\n * @see R.transduce, R.difference, R.remove\n * @example\n *\n * R.without([1, 2], [1, 2, 1, 3, 4]); //=> [3, 4]\n */\n\nvar without =\n/*#__PURE__*/\n_curry2(function (xs, list) {\n return reject(flip(_includes)(xs), list);\n});\n\nexport default without;","export default (function (value) {\n return typeof value === 'function';\n});","export default (function (value) {\n return value;\n});","export default (function (value) {\n return value === null;\n});","import invariant from 'invariant';\nimport isFunction from './utils/isFunction';\nimport identity from './utils/identity';\nimport isNull from './utils/isNull';\nexport default function createAction(type, payloadCreator, metaCreator) {\n if (payloadCreator === void 0) {\n payloadCreator = identity;\n }\n\n invariant(isFunction(payloadCreator) || isNull(payloadCreator), 'Expected payloadCreator to be a function, undefined or null');\n var finalPayloadCreator = isNull(payloadCreator) || payloadCreator === identity ? identity : function (head) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return head instanceof Error ? head : payloadCreator.apply(void 0, [head].concat(args));\n };\n var hasMeta = isFunction(metaCreator);\n var typeString = type.toString();\n\n var actionCreator = function actionCreator() {\n var payload = finalPayloadCreator.apply(void 0, arguments);\n var action = {\n type: type\n };\n\n if (payload instanceof Error) {\n action.error = true;\n }\n\n if (payload !== undefined) {\n action.payload = payload;\n }\n\n if (hasMeta) {\n action.meta = metaCreator.apply(void 0, arguments);\n }\n\n return action;\n };\n\n actionCreator.toString = function () {\n return typeString;\n };\n\n return actionCreator;\n}","export const REDIRECT_URI_PATHNAME = '/_oauth2/callback';\nexport const OAUTH_COOKIE_NAME = 'plotly_oauth_token';\n\nexport const STATUS = {\n OK: 200,\n PREVENT_UPDATE: 204,\n CLIENTSIDE_ERROR: 'CLIENTSIDE_ERROR',\n};\n","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Returns a function that always returns the given value. Note that for\n * non-primitives the value returned is a reference to the original value.\n *\n * This function is known as `const`, `constant`, or `K` (for K combinator) in\n * other languages and libraries.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig a -> (* -> a)\n * @param {*} val The value to wrap in a function\n * @return {Function} A Function :: * -> val.\n * @example\n *\n * const t = R.always('Tee');\n * t(); //=> 'Tee'\n */\n\nvar always =\n/*#__PURE__*/\n_curry1(function always(val) {\n return function () {\n return val;\n };\n});\n\nexport default always;","import _curry3 from \"./internal/_curry3.js\"; // `Identity` is a functor that holds a single value, where `map` simply\n// transforms the held value with the provided function.\n\nvar Identity = function (x) {\n return {\n value: x,\n map: function (f) {\n return Identity(f(x));\n }\n };\n};\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the result of applying the given function to\n * the focused value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> (a -> a) -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const headLens = R.lensIndex(0);\n *\n * R.over(headLens, R.toUpper, ['foo', 'bar', 'baz']); //=> ['FOO', 'bar', 'baz']\n */\n\n\nvar over =\n/*#__PURE__*/\n_curry3(function over(lens, f, x) {\n // The value returned by the getter function is first transformed with `f`,\n // then set as the value of an `Identity`. This is then mapped over with the\n // setter function of the lens.\n return lens(function (y) {\n return Identity(f(y));\n })(x).value;\n});\n\nexport default over;","import _curry3 from \"./internal/_curry3.js\";\nimport always from \"./always.js\";\nimport over from \"./over.js\";\n/**\n * Returns the result of \"setting\" the portion of the given data structure\n * focused by the given lens to the given value.\n *\n * @func\n * @memberOf R\n * @since v0.16.0\n * @category Object\n * @typedefn Lens s a = Functor f => (a -> f a) -> s -> f s\n * @sig Lens s a -> a -> s -> s\n * @param {Lens} lens\n * @param {*} v\n * @param {*} x\n * @return {*}\n * @see R.prop, R.lensIndex, R.lensProp\n * @example\n *\n * const xLens = R.lensProp('x');\n *\n * R.set(xLens, 4, {x: 1, y: 2}); //=> {x: 4, y: 2}\n * R.set(xLens, 8, {x: 1, y: 2}); //=> {x: 8, y: 2}\n */\n\nvar set =\n/*#__PURE__*/\n_curry3(function set(lens, v, x) {\n return over(lens, always(v), x);\n});\n\nexport default set;","/**\n * Generalized persistence for component props\n *\n * When users input new prop values, they can be stored and reapplied later,\n * when the component is recreated (changing `Tab` for example) or when the\n * page is reloaded (depending on `persistence_type`). Storage is tied to\n * component ID, and the prop values will not be stored with components\n * without an ID.\n *\n * Renderer handles the mechanics, but components must define a few props:\n *\n * - `persistence`: boolean, string, or number. For simple usage, set to `true`\n * to enable persistence, omit or set `false` to disable. For more complex\n * scenarios, use any truthy value, and change to a *different* truthy value\n * when you want the persisted values cleared. (modeled off `uirevision` in)\n * plotly.js\n * Typically should have no default, but the other persistence props should\n * have defaults, so all a user needs to do to enable persistence is set this\n * one prop.\n *\n * - `persisted_props`: array of prop names or \"nested prop IDs\" allowed to\n * persist. Normally should default to the full list of supported props,\n * so they can all be enabled at once. The main exception to this is if\n * there's a prop that *can* be persisted but most users wouldn't want this.\n * A nested prop ID describes *part* of a prop to store. It must be\n * \"<propName>.<piece>\" where propName is the prop that has this info, and\n * piece may or may not map to the exact substructure being stored but is\n * meaningful to the user. For example, in `dash_table`, `columns.name`\n * stores `columns[i].name` for all columns `i`. Nested props also need\n * entries in `persistenceTransforms` - see below.\n *\n * - `persistence_type`: one of \"local\", \"session\", or \"memory\", just like\n * `dcc.Store`. But the default here should be \"local\" because the main use\n * case is to maintain settings across reloads.\n *\n * If any `persisted_props` are nested prop IDs, the component should define a\n * class property (not a React prop) `persistenceTransforms`, as an object:\n * {\n * [propName]: {\n * [piece]: {\n * extract: propValue => valueToStore,\n * apply: (storedValue, propValue) => newPropValue\n * }\n * }\n * }\n * - `extract` turns a prop value into a reduced value to store.\n * - `apply` puts an extracted value back into the prop. Make sure this creates\n * a new object rather than mutating `proValue`, and that if there are\n * multiple `piece` entries for one `propName`, their `apply` functions\n * commute - which should not be an issue if they extract and apply\n * non-intersecting parts of the full prop.\n * You only need to define these for the props that need them.\n * It's important that `extract` pulls out *only* the relevant pieces of the\n * prop, because persistence is only maintained if the extracted value of the\n * prop before applying persistence is the same as it was before the user's\n * changes.\n */\n\nimport {\n equals,\n filter,\n forEach,\n keys,\n lensPath,\n mergeRight,\n set,\n type,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\n\nimport Registry from './registry';\n\nexport const storePrefix = '_dash_persistence.';\n\nfunction err(e) {\n const error = typeof e === 'string' ? new Error(e) : e;\n\n return createAction('ON_ERROR')({\n type: 'frontEnd',\n error,\n });\n}\n\n/*\n * Does a key fit this prefix? Must either be an exact match\n * or, if a separator is provided, a scoped match - exact prefix\n * followed by the separator (then anything else)\n */\nfunction keyPrefixMatch(prefix, separator) {\n const fullStr = prefix + separator;\n const fullLen = fullStr.length;\n return key => key === prefix || key.substr(0, fullLen) === fullStr;\n}\n\nconst UNDEFINED = 'U';\nconst _parse = val => (val === UNDEFINED ? undefined : JSON.parse(val || null));\nconst _stringify = val => (val === undefined ? UNDEFINED : JSON.stringify(val));\n\nclass WebStore {\n constructor(backEnd) {\n this._name = backEnd;\n this._storage = window[backEnd];\n }\n\n hasItem(key) {\n return this._storage.getItem(storePrefix + key) !== null;\n }\n\n getItem(key) {\n // note: _storage.getItem returns null on missing keys\n // and JSON.parse(null) returns null as well\n return _parse(this._storage.getItem(storePrefix + key));\n }\n\n _setItem(key, value) {\n // unprotected version of setItem, for use by tryGetWebStore\n this._storage.setItem(storePrefix + key, _stringify(value));\n }\n /*\n * In addition to the regular key->value to set, setItem takes\n * dispatch as a parameter, so it can report OOM to devtools\n */\n setItem(key, value, dispatch) {\n try {\n this._setItem(key, value);\n } catch (e) {\n dispatch(\n err(\n `${key} failed to save in ${this._name}. Persisted props may be lost.`\n )\n );\n // TODO: at some point we may want to convert this to fall back\n // on memory, pulling out all persistence keys and putting them\n // in a MemStore that gets used from then onward.\n }\n }\n\n removeItem(key) {\n this._storage.removeItem(storePrefix + key);\n }\n\n /*\n * clear matching keys matching (optionally followed by a dot and more\n * characters) - or all keys associated with this store if no prefix.\n */\n clear(keyPrefix) {\n const fullPrefix = storePrefix + (keyPrefix || '');\n const keyMatch = keyPrefixMatch(fullPrefix, keyPrefix ? '.' : '');\n const keysToRemove = [];\n // 2-step process, so we don't depend on any particular behavior of\n // key order while removing some\n for (let i = 0; i < this._storage.length; i++) {\n const fullKey = this._storage.key(i);\n if (keyMatch(fullKey)) {\n keysToRemove.push(fullKey);\n }\n }\n forEach(k => this._storage.removeItem(k), keysToRemove);\n }\n}\n\nclass MemStore {\n constructor() {\n this._data = {};\n }\n\n hasItem(key) {\n return key in this._data;\n }\n\n getItem(key) {\n // run this storage through JSON too so we know we get a fresh object\n // each retrieval\n return _parse(this._data[key]);\n }\n\n setItem(key, value) {\n this._data[key] = _stringify(value);\n }\n\n removeItem(key) {\n delete this._data[key];\n }\n\n clear(keyPrefix) {\n if (keyPrefix) {\n forEach(\n key => delete this._data[key],\n filter(keyPrefixMatch(keyPrefix, '.'), keys(this._data))\n );\n } else {\n this._data = {};\n }\n }\n}\n\n// Make a string 2^16 characters long (*2 bytes/char = 130kB), to test storage.\n// That should be plenty for common persistence use cases,\n// without getting anywhere near typical browser limits\nconst pow = 16;\nfunction longString() {\n let s = 'Spam';\n for (let i = 2; i < pow; i++) {\n s += s;\n }\n return s;\n}\n\nexport const stores = {\n memory: new MemStore(),\n // Defer testing & making local/session stores until requested.\n // That way if we have errors here they can show up in devtools.\n};\n\nconst backEnds = {\n local: 'localStorage',\n session: 'sessionStorage',\n};\n\nfunction tryGetWebStore(backEnd, dispatch) {\n const store = new WebStore(backEnd);\n const fallbackStore = stores.memory;\n const storeTest = longString();\n const testKey = storePrefix + 'x.x';\n try {\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n dispatch(\n err(`${backEnd} init failed set/get, falling back to memory`)\n );\n return fallbackStore;\n }\n store.removeItem(testKey);\n return store;\n } catch (e) {\n dispatch(\n err(`${backEnd} init first try failed; clearing and retrying`)\n );\n }\n try {\n store.clear();\n store._setItem(testKey, storeTest);\n if (store.getItem(testKey) !== storeTest) {\n throw new Error('nope');\n }\n store.removeItem(testKey);\n dispatch(err(`${backEnd} init set/get succeeded after clearing!`));\n return store;\n } catch (e) {\n dispatch(err(`${backEnd} init still failed, falling back to memory`));\n return fallbackStore;\n }\n}\n\nfunction getStore(type, dispatch) {\n if (!stores[type]) {\n stores[type] = tryGetWebStore(backEnds[type], dispatch);\n }\n return stores[type];\n}\n\nconst noopTransform = {\n extract: propValue => propValue,\n apply: (storedValue, _propValue) => storedValue,\n};\n\nconst getTransform = (element, propName, propPart) =>\n propPart\n ? element.persistenceTransforms[propName][propPart]\n : noopTransform;\n\nconst getValsKey = (id, persistedProp, persistence) =>\n `${id}.${persistedProp}.${JSON.stringify(persistence)}`;\n\nconst getProps = layout => {\n const {props, type, namespace} = layout;\n if (!type || !namespace) {\n // not a real component - just need the props for recursion\n return {props};\n }\n const {id, persistence} = props;\n\n const element = Registry.resolve(layout);\n const getVal = prop => props[prop] || (element.defaultProps || {})[prop];\n const persisted_props = getVal('persisted_props');\n const persistence_type = getVal('persistence_type');\n const canPersist = id && persisted_props && persistence_type;\n\n return {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n };\n};\n\nexport function recordUiEdit(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(layout);\n if (!canPersist || !persistence) {\n return;\n }\n\n forEach(persistedProp => {\n const [propName, propPart] = persistedProp.split('.');\n if (newProps[propName] !== undefined) {\n const storage = getStore(persistence_type, dispatch);\n const {extract} = getTransform(element, propName, propPart);\n\n const valsKey = getValsKey(id, persistedProp, persistence);\n let originalVal = extract(props[propName]);\n const newVal = extract(newProps[propName]);\n\n // mainly for nested props with multiple persisted parts, it's\n // possible to have the same value as before - should not store\n // in this case.\n if (originalVal !== newVal) {\n if (storage.hasItem(valsKey)) {\n originalVal = storage.getItem(valsKey)[1];\n }\n const vals =\n originalVal === undefined\n ? [newVal]\n : [newVal, originalVal];\n storage.setItem(valsKey, vals, dispatch);\n }\n }\n }, persisted_props);\n}\n\n/*\n * Used for entire layouts (on load) or partial layouts (from children\n * callbacks) to apply previously-stored UI edits to components\n */\nexport function applyPersistence(layout, dispatch) {\n if (type(layout) !== 'Object' || !layout.props) {\n return layout;\n }\n\n return persistenceMods(layout, layout, [], dispatch);\n}\n\nconst UNDO = true;\nfunction modProp(key, storage, element, props, persistedProp, update, undo) {\n if (storage.hasItem(key)) {\n const [newVal, originalVal] = storage.getItem(key);\n const fromVal = undo ? newVal : originalVal;\n const toVal = undo ? originalVal : newVal;\n const [propName, propPart] = persistedProp.split('.');\n const transform = getTransform(element, propName, propPart);\n\n if (equals(fromVal, transform.extract(props[propName]))) {\n update[propName] = transform.apply(\n toVal,\n propName in update ? update[propName] : props[propName]\n );\n } else {\n // clear this saved edit - we've started with the wrong\n // value for this persistence ID\n storage.removeItem(key);\n }\n }\n}\n\nfunction persistenceMods(layout, component, path, dispatch) {\n const {\n canPersist,\n id,\n props,\n element,\n persistence,\n persisted_props,\n persistence_type,\n } = getProps(component);\n\n let layoutOut = layout;\n if (canPersist && persistence) {\n const storage = getStore(persistence_type, dispatch);\n const update = {};\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update\n ),\n persisted_props\n );\n\n for (const propName in update) {\n layoutOut = set(\n lensPath(path.concat('props', propName)),\n update[propName],\n layoutOut\n );\n }\n }\n\n // recurse inward\n const {children} = props;\n if (Array.isArray(children)) {\n children.forEach((child, i) => {\n if (type(child) === 'Object' && child.props) {\n layoutOut = persistenceMods(\n layoutOut,\n child,\n path.concat('props', 'children', i),\n dispatch\n );\n }\n });\n } else if (type(children) === 'Object' && children.props) {\n layoutOut = persistenceMods(\n layoutOut,\n children,\n path.concat('props', 'children'),\n dispatch\n );\n }\n return layoutOut;\n}\n\n/*\n * When we receive new explicit props from a callback,\n * these override UI-driven edits of those exact props\n * but not for props nested inside children\n */\nexport function prunePersistence(layout, newProps, dispatch) {\n const {\n canPersist,\n id,\n props,\n persistence,\n persisted_props,\n persistence_type,\n element,\n } = getProps(layout);\n\n const getFinal = (propName, prevVal) =>\n propName in newProps ? newProps[propName] : prevVal;\n const finalPersistence = getFinal('persistence', persistence);\n\n if (!canPersist || !(persistence || finalPersistence)) {\n return newProps;\n }\n\n const finalPersistenceType = getFinal('persistence_type', persistence_type);\n const finalPersistedProps = getFinal('persisted_props', persisted_props);\n const persistenceChanged =\n finalPersistence !== persistence ||\n finalPersistenceType !== persistence_type ||\n finalPersistedProps !== persisted_props;\n\n const notInNewProps = persistedProp =>\n !(persistedProp.split('.')[0] in newProps);\n\n const update = {};\n\n let depersistedProps = props;\n\n if (persistenceChanged && persistence) {\n // clear previously-applied persistence\n const storage = getStore(persistence_type, dispatch);\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, persistence),\n storage,\n element,\n props,\n persistedProp,\n update,\n UNDO\n ),\n filter(notInNewProps, persisted_props)\n );\n depersistedProps = mergeRight(props, update);\n }\n\n if (finalPersistence) {\n const finalStorage = getStore(finalPersistenceType, dispatch);\n\n if (persistenceChanged) {\n // apply new persistence\n forEach(\n persistedProp =>\n modProp(\n getValsKey(id, persistedProp, finalPersistence),\n finalStorage,\n element,\n depersistedProps,\n persistedProp,\n update\n ),\n filter(notInNewProps, finalPersistedProps)\n );\n }\n\n // now the main point - clear any edit of a prop that changed\n // note that this is independent of the new prop value.\n const transforms = element.persistenceTransforms || {};\n for (const propName in newProps) {\n const propTransforms = transforms[propName];\n if (propTransforms) {\n for (const propPart in propTransforms) {\n finalStorage.removeItem(\n getValsKey(\n id,\n `${propName}.${propPart}`,\n finalPersistence\n )\n );\n }\n } else {\n finalStorage.removeItem(\n getValsKey(id, propName, finalPersistence)\n );\n }\n }\n }\n return persistenceChanged ? mergeRight(newProps, update) : newProps;\n}\n","import {path} from 'ramda';\nimport {isReady} from '@plotly/dash-component-plugins';\n\nimport Registry from '../registry';\nimport {getPath} from './paths';\nimport {stringifyId} from './dependencies';\n\nexport default (layout, paths, targets) => {\n if (!targets.length) {\n return true;\n }\n const promises = [];\n\n const {events} = paths;\n const rendered = new Promise(resolveRendered => {\n events.once('rendered', resolveRendered);\n });\n\n targets.forEach(id => {\n const pathOfId = getPath(paths, id);\n if (!pathOfId) {\n return;\n }\n\n const target = path(pathOfId, layout);\n if (!target) {\n return;\n }\n\n const component = Registry.resolve(target);\n const ready = isReady(component);\n\n if (ready && typeof ready.then === 'function') {\n promises.push(\n Promise.race([\n ready,\n rendered.then(\n () => document.getElementById(stringifyId(id)) && ready\n ),\n ])\n );\n }\n });\n\n return promises.length ? Promise.all(promises) : true;\n};\n","import {\n concat,\n flatten,\n has,\n isEmpty,\n keys,\n map,\n mergeDeepRight,\n once,\n path,\n pick,\n pickBy,\n pluck,\n propEq,\n type,\n uniq,\n without,\n zip,\n} from 'ramda';\nimport {createAction} from 'redux-actions';\nimport {getAppState} from '../reducers/constants';\nimport {getAction} from './constants';\nimport cookie from 'cookie';\nimport {urlBase} from './utils';\nimport {\n combineIdAndProp,\n findReadyCallbacks,\n followForward,\n getCallbacksByInput,\n getCallbacksInLayout,\n isMultiOutputProp,\n isMultiValued,\n mergePendingCallbacks,\n removePendingCallback,\n parseIfWildcard,\n pruneRemovedCallbacks,\n setNewRequestId,\n stringifyId,\n validateCallbacksToLayout,\n} from './dependencies';\nimport {computePaths, getPath} from './paths';\nimport {STATUS} from '../constants/constants';\nimport {applyPersistence, prunePersistence} from '../persistence';\n\nimport isAppReady from './isAppReady';\n\nexport const updateProps = createAction(getAction('ON_PROP_CHANGE'));\nexport const setPendingCallbacks = createAction('SET_PENDING_CALLBACKS');\nexport const setRequestQueue = createAction(getAction('SET_REQUEST_QUEUE'));\nexport const setGraphs = createAction(getAction('SET_GRAPHS'));\nexport const setPaths = createAction(getAction('SET_PATHS'));\nexport const setAppLifecycle = createAction(getAction('SET_APP_LIFECYCLE'));\nexport const setConfig = createAction(getAction('SET_CONFIG'));\nexport const setHooks = createAction(getAction('SET_HOOKS'));\nexport const setLayout = createAction(getAction('SET_LAYOUT'));\nexport const onError = createAction(getAction('ON_ERROR'));\n\nexport const dispatchError = dispatch => (message, lines) =>\n dispatch(\n onError({\n type: 'backEnd',\n error: {message, html: lines.join('\\n')},\n })\n );\n\nexport function hydrateInitialOutputs() {\n return function(dispatch, getState) {\n validateCallbacksToLayout(getState(), dispatchError(dispatch));\n triggerDefaultState(dispatch, getState);\n dispatch(setAppLifecycle(getAppState('HYDRATED')));\n };\n}\n\n/* eslint-disable-next-line no-console */\nconst logWarningOnce = once(console.warn);\n\nexport function getCSRFHeader() {\n try {\n return {\n 'X-CSRFToken': cookie.parse(document.cookie)._csrf_token,\n };\n } catch (e) {\n logWarningOnce(e);\n return {};\n }\n}\n\nfunction triggerDefaultState(dispatch, getState) {\n const {graphs, paths, layout} = getState();\n\n // overallOrder will assert circular dependencies for multi output.\n try {\n graphs.MultiGraph.overallOrder();\n } catch (err) {\n dispatch(\n onError({\n type: 'backEnd',\n error: {\n message: 'Circular Dependencies',\n html: err.toString(),\n },\n })\n );\n }\n\n const initialCallbacks = getCallbacksInLayout(graphs, paths, layout, {\n outputsOnly: true,\n });\n dispatch(startCallbacks(initialCallbacks));\n}\n\nexport const redo = moveHistory('REDO');\nexport const undo = moveHistory('UNDO');\nexport const revert = moveHistory('REVERT');\n\nfunction moveHistory(changeType) {\n return function(dispatch, getState) {\n const {history, paths} = getState();\n dispatch(createAction(changeType)());\n const {id, props} =\n (changeType === 'REDO'\n ? history.future[0]\n : history.past[history.past.length - 1]) || {};\n if (id) {\n // Update props\n dispatch(\n createAction('UNDO_PROP_CHANGE')({\n itempath: getPath(paths, id),\n props,\n })\n );\n\n dispatch(notifyObservers({id, props}));\n }\n };\n}\n\nfunction unwrapIfNotMulti(paths, idProps, spec, anyVals, depType) {\n if (isMultiValued(spec)) {\n return idProps;\n }\n if (idProps.length !== 1) {\n if (!idProps.length) {\n if (typeof spec.id === 'string') {\n throw new ReferenceError(\n 'A nonexistent object was used in an `' +\n depType +\n '` of a Dash callback. The id of this object is `' +\n spec.id +\n '` and the property is `' +\n spec.property +\n '`. The string ids in the current layout are: [' +\n keys(paths.strs).join(', ') +\n ']'\n );\n }\n // TODO: unwrapped list of wildcard ids?\n // eslint-disable-next-line no-console\n console.log(paths.objs);\n throw new ReferenceError(\n 'A nonexistent object was used in an `' +\n depType +\n '` of a Dash callback. The id of this object is ' +\n JSON.stringify(spec.id) +\n (anyVals ? ' with MATCH values ' + anyVals : '') +\n ' and the property is `' +\n spec.property +\n '`. The wildcard ids currently available are logged above.'\n );\n }\n throw new ReferenceError(\n 'Multiple objects were found for an `' +\n depType +\n '` of a callback that only takes one value. The id spec is ' +\n JSON.stringify(spec.id) +\n (anyVals ? ' with MATCH values ' + anyVals : '') +\n ' and the property is `' +\n spec.property +\n '`. The objects we found are: ' +\n JSON.stringify(map(pick(['id', 'property']), idProps))\n );\n }\n return idProps[0];\n}\n\nfunction startCallbacks(callbacks) {\n return async function(dispatch, getState) {\n return await fireReadyCallbacks(dispatch, getState, callbacks);\n };\n}\n\nasync function fireReadyCallbacks(dispatch, getState, callbacks) {\n const {readyCallbacks, blockedCallbacks} = findReadyCallbacks(callbacks);\n const {config, hooks, layout, paths} = getState();\n\n // We want to calculate all the outputs only once, but we need them\n // for pendingCallbacks which we're going to dispatch prior to\n // initiating the queue. So first loop over readyCallbacks to\n // generate the output lists, then dispatch pendingCallbacks,\n // then loop again to fire off the requests.\n const outputStash = {};\n const requestedCallbacks = readyCallbacks.map(cb => {\n const cbOut = setNewRequestId(cb);\n\n const {requestId, getOutputs} = cbOut;\n const allOutputs = getOutputs(paths);\n const flatOutputs = flatten(allOutputs);\n const allPropIds = [];\n\n const reqOut = {};\n flatOutputs.forEach(({id, property}) => {\n const idStr = stringifyId(id);\n const idOut = (reqOut[idStr] = reqOut[idStr] || []);\n idOut.push(property);\n allPropIds.push(combineIdAndProp({id: idStr, property}));\n });\n cbOut.requestedOutputs = reqOut;\n\n outputStash[requestId] = {allOutputs, allPropIds};\n\n return cbOut;\n });\n\n const allCallbacks = concat(requestedCallbacks, blockedCallbacks);\n dispatch(setPendingCallbacks(allCallbacks));\n\n const ids = requestedCallbacks.map(cb => [\n cb.getInputs(paths),\n cb.getState(paths),\n ]);\n await isAppReady(layout, paths, uniq(pluck('id', flatten(ids))));\n\n function fireNext() {\n return fireReadyCallbacks(\n dispatch,\n getState,\n getState().pendingCallbacks\n );\n }\n\n let hasClientSide = false;\n\n const queue = requestedCallbacks.map(cb => {\n const {output, inputs, state, clientside_function} = cb.callback;\n const {requestId, resolvedId} = cb;\n const {allOutputs, allPropIds} = outputStash[requestId];\n\n let payload;\n try {\n const outputs = allOutputs.map((out, i) =>\n unwrapIfNotMulti(\n paths,\n map(pick(['id', 'property']), out),\n cb.callback.outputs[i],\n cb.anyVals,\n 'Output'\n )\n );\n\n payload = {\n output,\n outputs: isMultiOutputProp(output) ? outputs : outputs[0],\n inputs: fillVals(paths, layout, cb, inputs, 'Input'),\n changedPropIds: keys(cb.changedPropIds),\n };\n if (cb.callback.state.length) {\n payload.state = fillVals(paths, layout, cb, state, 'State');\n }\n } catch (e) {\n handleError(e);\n return fireNext();\n }\n\n function updatePending(pendingCallbacks, skippedProps) {\n const newPending = removePendingCallback(\n pendingCallbacks,\n getState().paths,\n resolvedId,\n skippedProps\n );\n dispatch(setPendingCallbacks(newPending));\n }\n\n function handleData(data) {\n let {pendingCallbacks} = getState();\n if (!requestIsActive(pendingCallbacks, resolvedId, requestId)) {\n return;\n }\n const updated = [];\n Object.entries(data).forEach(([id, props]) => {\n const parsedId = parseIfWildcard(id);\n\n const {layout: oldLayout, paths: oldPaths} = getState();\n\n const appliedProps = doUpdateProps(\n dispatch,\n getState,\n parsedId,\n props\n );\n if (appliedProps) {\n // doUpdateProps can cause new callbacks to be added\n // via derived props - update pendingCallbacks\n // But we may also need to merge in other callbacks that\n // we found in an earlier interation of the data loop.\n const statePendingCallbacks = getState().pendingCallbacks;\n if (statePendingCallbacks !== pendingCallbacks) {\n pendingCallbacks = mergePendingCallbacks(\n pendingCallbacks,\n statePendingCallbacks\n );\n }\n\n Object.keys(appliedProps).forEach(property => {\n updated.push(combineIdAndProp({id, property}));\n });\n\n if (has('children', appliedProps)) {\n const oldChildren = path(\n concat(getPath(oldPaths, parsedId), [\n 'props',\n 'children',\n ]),\n oldLayout\n );\n // If components changed, need to update paths,\n // check if all pending callbacks are still\n // valid, and add all callbacks associated with\n // new components, either as inputs or outputs,\n // or components removed from ALL/ALLSMALLER inputs\n pendingCallbacks = updateChildPaths(\n dispatch,\n getState,\n pendingCallbacks,\n parsedId,\n appliedProps.children,\n oldChildren\n );\n }\n\n // persistence edge case: if you explicitly update the\n // persistence key, other props may change that require us\n // to fire additional callbacks\n const addedProps = pickBy(\n (v, k) => !(k in props),\n appliedProps\n );\n if (!isEmpty(addedProps)) {\n const {graphs, paths} = getState();\n pendingCallbacks = includeObservers(\n id,\n addedProps,\n graphs,\n paths,\n pendingCallbacks\n );\n }\n }\n });\n updatePending(pendingCallbacks, without(updated, allPropIds));\n }\n\n function handleError(err) {\n const {pendingCallbacks} = getState();\n if (requestIsActive(pendingCallbacks, resolvedId, requestId)) {\n // Skip all prop updates from this callback, and remove\n // it from the pending list so callbacks it was blocking\n // that have other changed inputs will still fire.\n updatePending(pendingCallbacks, allPropIds);\n }\n const outputs = payload\n ? map(combineIdAndProp, flatten([payload.outputs])).join(', ')\n : output;\n let message = `Callback error updating ${outputs}`;\n if (clientside_function) {\n const {namespace: ns, function_name: fn} = clientside_function;\n message += ` via clientside function ${ns}.${fn}`;\n }\n handleAsyncError(err, message, dispatch);\n }\n\n if (clientside_function) {\n try {\n handleData(handleClientside(clientside_function, payload));\n } catch (err) {\n handleError(err);\n }\n hasClientSide = true;\n return null;\n }\n\n return handleServerside(config, payload, hooks)\n .then(handleData)\n .catch(handleError)\n .then(fireNext);\n });\n const done = Promise.all(queue);\n return hasClientSide ? fireNext().then(done) : done;\n}\n\nfunction fillVals(paths, layout, cb, specs, depType) {\n const getter = depType === 'Input' ? cb.getInputs : cb.getState;\n return getter(paths).map((inputList, i) =>\n unwrapIfNotMulti(\n paths,\n inputList.map(({id, property, path: path_}) => ({\n id,\n property,\n value: path(path_, layout).props[property],\n })),\n specs[i],\n cb.anyVals,\n depType\n )\n );\n}\n\nfunction handleServerside(config, payload, hooks) {\n if (hooks.request_pre !== null) {\n hooks.request_pre(payload);\n }\n\n return fetch(\n `${urlBase(config)}_dash-update-component`,\n mergeDeepRight(config.fetch, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: JSON.stringify(payload),\n })\n ).then(res => {\n const {status} = res;\n if (status === STATUS.OK) {\n return res.json().then(data => {\n const {multi, response} = data;\n if (hooks.request_post !== null) {\n hooks.request_post(payload, response);\n }\n\n if (multi) {\n return response;\n }\n\n const {output} = payload;\n const id = output.substr(0, output.lastIndexOf('.'));\n return {[id]: response.props};\n });\n }\n if (status === STATUS.PREVENT_UPDATE) {\n return {};\n }\n throw res;\n });\n}\n\nconst getVals = input =>\n Array.isArray(input) ? pluck('value', input) : input.value;\n\nconst zipIfArray = (a, b) => (Array.isArray(a) ? zip(a, b) : [[a, b]]);\n\nfunction handleClientside(clientside_function, payload) {\n const dc = (window.dash_clientside = window.dash_clientside || {});\n if (!dc.no_update) {\n Object.defineProperty(dc, 'no_update', {\n value: {description: 'Return to prevent updating an Output.'},\n writable: false,\n });\n\n Object.defineProperty(dc, 'PreventUpdate', {\n value: {description: 'Throw to prevent updating all Outputs.'},\n writable: false,\n });\n }\n\n const {inputs, outputs, state} = payload;\n\n let returnValue;\n\n try {\n const {namespace, function_name} = clientside_function;\n let args = inputs.map(getVals);\n if (state) {\n args = concat(args, state.map(getVals));\n }\n returnValue = dc[namespace][function_name](...args);\n } catch (e) {\n if (e === dc.PreventUpdate) {\n return {};\n }\n throw e;\n }\n\n if (type(returnValue) === 'Promise') {\n throw new Error(\n 'The clientside function returned a Promise. ' +\n 'Promises are not supported in Dash clientside ' +\n 'right now, but may be in the future.'\n );\n }\n\n const data = {};\n zipIfArray(outputs, returnValue).forEach(([outi, reti]) => {\n zipIfArray(outi, reti).forEach(([outij, retij]) => {\n const {id, property} = outij;\n const idStr = stringifyId(id);\n const dataForId = (data[idStr] = data[idStr] || {});\n if (retij !== dc.no_update) {\n dataForId[property] = retij;\n }\n });\n });\n return data;\n}\n\nfunction requestIsActive(pendingCallbacks, resolvedId, requestId) {\n const thisCallback = pendingCallbacks.find(\n propEq('resolvedId', resolvedId)\n );\n // could be inactivated if it was requested again, in which case it could\n // potentially even have finished and been removed from the list\n return thisCallback && thisCallback.requestId === requestId;\n}\n\nfunction doUpdateProps(dispatch, getState, id, updatedProps) {\n const {layout, paths} = getState();\n const itempath = getPath(paths, id);\n if (!itempath) {\n return false;\n }\n\n // This is a callback-generated update.\n // Check if this invalidates existing persisted prop values,\n // or if persistence changed, whether this updates other props.\n const updatedProps2 = prunePersistence(\n path(itempath, layout),\n updatedProps,\n dispatch\n );\n\n // In case the update contains whole components, see if any of\n // those components have props to update to persist user edits.\n const {props} = applyPersistence({props: updatedProps2}, dispatch);\n\n dispatch(\n updateProps({\n itempath,\n props,\n source: 'response',\n })\n );\n\n return props;\n}\n\nfunction updateChildPaths(\n dispatch,\n getState,\n pendingCallbacks,\n id,\n children,\n oldChildren\n) {\n const {paths: oldPaths, graphs} = getState();\n const childrenPath = concat(getPath(oldPaths, id), ['props', 'children']);\n const paths = computePaths(children, childrenPath, oldPaths);\n dispatch(setPaths(paths));\n\n const cleanedCallbacks = pruneRemovedCallbacks(pendingCallbacks, paths);\n\n const newCallbacks = getCallbacksInLayout(graphs, paths, children, {\n chunkPath: childrenPath,\n });\n\n // Wildcard callbacks with array inputs (ALL / ALLSMALLER) need to trigger\n // even due to the deletion of components\n const deletedComponentCallbacks = getCallbacksInLayout(\n graphs,\n oldPaths,\n oldChildren,\n {removedArrayInputsOnly: true, newPaths: paths, chunkPath: childrenPath}\n );\n\n const allNewCallbacks = mergePendingCallbacks(\n newCallbacks,\n deletedComponentCallbacks\n );\n return mergePendingCallbacks(cleanedCallbacks, allNewCallbacks);\n}\n\nexport function notifyObservers({id, props}) {\n return async function(dispatch, getState) {\n const {graphs, paths, pendingCallbacks} = getState();\n const finalCallbacks = includeObservers(\n id,\n props,\n graphs,\n paths,\n pendingCallbacks\n );\n dispatch(startCallbacks(finalCallbacks));\n };\n}\n\nfunction includeObservers(id, props, graphs, paths, pendingCallbacks) {\n const changedProps = keys(props);\n let finalCallbacks = pendingCallbacks;\n\n changedProps.forEach(propName => {\n const newCBs = getCallbacksByInput(graphs, paths, id, propName);\n if (newCBs.length) {\n finalCallbacks = mergePendingCallbacks(\n finalCallbacks,\n followForward(graphs, paths, newCBs)\n );\n }\n });\n return finalCallbacks;\n}\n\nexport function handleAsyncError(err, message, dispatch) {\n // Handle html error responses\n if (err && typeof err.text === 'function') {\n err.text().then(text => {\n const error = {message, html: text};\n dispatch(onError({type: 'backEnd', error}));\n });\n } else {\n const error = err instanceof Error ? err : {message, html: err};\n dispatch(onError({type: 'backEnd', error}));\n }\n}\n","import {includes, type} from 'ramda';\n\nconst SIMPLE_COMPONENT_TYPES = ['String', 'Number', 'Null', 'Boolean'];\n\nexport default component => includes(type(component), SIMPLE_COMPONENT_TYPES);\n","// Copied from https://github.com/facebook/react/blob/\n// b87aabdfe1b7461e7331abb3601d9e6bb27544bc/\n// packages/react-dom/src/shared/CSSProperty.js\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridArea: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nexport default function appendPxIfNeeded(propertyName, value) {\n var needsPxSuffix = !isUnitlessNumber[propertyName] && typeof value === 'number' && value !== 0;\n return needsPxSuffix ? value + 'px' : value;\n}","export default function mapObject(object, mapper) {\n return Object.keys(object).reduce(function (result, key) {\n result[key] = mapper(object[key], key);\n return result;\n }, {});\n}","import appendPxIfNeeded from './append-px-if-needed';\nimport mapObject from './map-object';\nexport default function appendImportantToEachValue(style) {\n return mapObject(style, function (result, key) {\n return appendPxIfNeeded(key, style[key]) + ' !important';\n });\n}","import appendPxIfNeeded from './append-px-if-needed';\nimport camelCasePropsToDashCase from './camel-case-props-to-dash-case';\nimport mapObject from './map-object';\nimport { getPrefixedStyle } from './prefixer';\n\nfunction createMarkupForStyles(style) {\n return Object.keys(style).map(function (property) {\n return property + ': ' + style[property] + ';';\n }).join('\\n');\n}\n\nexport default function cssRuleSetToString(selector, rules, userAgent) {\n if (!rules) {\n return '';\n }\n\n var rulesWithPx = mapObject(rules, function (value, key) {\n return appendPxIfNeeded(key, value);\n });\n var prefixedRules = getPrefixedStyle(rulesWithPx, userAgent);\n var cssPrefixedRules = camelCasePropsToDashCase(prefixedRules);\n var serializedRules = createMarkupForStyles(cssPrefixedRules);\n return selector + '{' + serializedRules + '}';\n}","/* flow */\nvar cleanStateKey = function cleanStateKey(key) {\n return key === null || typeof key === 'undefined' ? 'main' : key.toString();\n};\n\nexport default cleanStateKey;","import cleanStateKey from './clean-state-key';\n\nvar getState = function getState(state, elementKey, value) {\n var key = cleanStateKey(elementKey);\n return !!state && !!state._radiumStyleState && !!state._radiumStyleState[key] && state._radiumStyleState[key][value];\n};\n\nexport default getState;","var getStateKey = function getStateKey(renderedElement) {\n return typeof renderedElement.ref === 'string' ? renderedElement.ref : renderedElement.key;\n};\n\nexport default getStateKey;","var getRadiumStyleState = function getRadiumStyleState(component) {\n return component._lastRadiumState || component.state && component.state._radiumStyleState || {};\n};\n\nexport default getRadiumStyleState;","// a simple djb2 hash based on hash-string:\n// https://github.com/MatthewBarker/hash-string/blob/master/source/hash-string.js\n// returns a hex-encoded hash\nexport default function hash(text) {\n if (!text) {\n return '';\n }\n\n var hashValue = 5381;\n var index = text.length - 1;\n\n while (index) {\n hashValue = hashValue * 33 ^ text.charCodeAt(index);\n index -= 1;\n }\n\n return (hashValue >>> 0).toString(16);\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nexport function isNestedStyle(value) {\n // Don't merge objects overriding toString, since they should be converted\n // to string values.\n return value && value.constructor === Object && value.toString === Object.prototype.toString;\n} // Merge style objects. Deep merge plain object values.\n\nexport function mergeStyles(styles) {\n var result = {};\n styles.forEach(function (style) {\n if (!style || _typeof(style) !== 'object') {\n return;\n }\n\n if (Array.isArray(style)) {\n style = mergeStyles(style);\n }\n\n Object.keys(style).forEach(function (key) {\n // Simple case, nothing nested\n if (!isNestedStyle(style[key]) || !isNestedStyle(result[key])) {\n result[key] = style[key];\n return;\n } // If nested media, don't merge the nested styles, append a space to the\n // end (benign when converted to CSS). This way we don't end up merging\n // media queries that appear later in the chain with those that appear\n // earlier.\n\n\n if (key.indexOf('@media') === 0) {\n var newKey = key; // eslint-disable-next-line no-constant-condition\n\n while (true) {\n newKey += ' ';\n\n if (!result[newKey]) {\n result[newKey] = style[key];\n return;\n }\n }\n } // Merge all other nested styles recursively\n\n\n result[key] = mergeStyles([result[key], style[key]]);\n });\n });\n return result;\n}","var _callbacks = [];\nvar _mouseUpListenerIsActive = false;\n\nfunction _handleMouseUp() {\n _callbacks.forEach(function (callback) {\n callback();\n });\n}\n\nvar subscribe = function subscribe(callback) {\n if (_callbacks.indexOf(callback) === -1) {\n _callbacks.push(callback);\n }\n\n if (!_mouseUpListenerIsActive) {\n window.addEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = true;\n }\n\n return {\n remove: function remove() {\n var index = _callbacks.indexOf(callback);\n\n _callbacks.splice(index, 1);\n\n if (_callbacks.length === 0 && _mouseUpListenerIsActive) {\n window.removeEventListener('mouseup', _handleMouseUp);\n _mouseUpListenerIsActive = false;\n }\n }\n };\n};\n\nexport default {\n subscribe: subscribe,\n __triggerForTests: _handleMouseUp\n};","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _windowMatchMedia;\n\nfunction _getWindowMatchMedia(ExecutionEnvironment) {\n if (_windowMatchMedia === undefined) {\n _windowMatchMedia = !!ExecutionEnvironment.canUseDOM && !!window && !!window.matchMedia && function (mediaQueryString) {\n return window.matchMedia(mediaQueryString);\n } || null;\n }\n\n return _windowMatchMedia;\n}\n\nfunction _filterObject(obj, predicate) {\n return Object.keys(obj).filter(function (key) {\n return predicate(obj[key], key);\n }).reduce(function (result, key) {\n result[key] = obj[key];\n return result;\n }, {});\n}\n\nfunction _removeMediaQueries(style) {\n return Object.keys(style).reduce(function (styleWithoutMedia, key) {\n if (key.indexOf('@media') !== 0) {\n styleWithoutMedia[key] = style[key];\n }\n\n return styleWithoutMedia;\n }, {});\n}\n\nfunction _topLevelRulesToCSS(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n isNestedStyle = _ref.isNestedStyle,\n style = _ref.style,\n userAgent = _ref.userAgent;\n var className = '';\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var topLevelRules = appendImportantToEachValue(_filterObject(style[query], function (value) {\n return !isNestedStyle(value);\n }));\n\n if (!Object.keys(topLevelRules).length) {\n return;\n }\n\n var ruleCSS = cssRuleSetToString('', topLevelRules, userAgent); // CSS classes cannot start with a number\n\n var mediaQueryClassName = 'rmq-' + hash(query + ruleCSS);\n var css = query + '{ .' + mediaQueryClassName + ruleCSS + '}';\n addCSS(css);\n className += (className ? ' ' : '') + mediaQueryClassName;\n });\n return className;\n}\n\nfunction _subscribeToMediaQuery(_ref2) {\n var listener = _ref2.listener,\n listenersByQuery = _ref2.listenersByQuery,\n matchMedia = _ref2.matchMedia,\n mediaQueryListsByQuery = _ref2.mediaQueryListsByQuery,\n query = _ref2.query;\n query = query.replace('@media ', '');\n var mql = mediaQueryListsByQuery[query];\n\n if (!mql && matchMedia) {\n mediaQueryListsByQuery[query] = mql = matchMedia(query);\n }\n\n if (!listenersByQuery || !listenersByQuery[query]) {\n mql.addListener(listener);\n listenersByQuery[query] = {\n remove: function remove() {\n mql.removeListener(listener);\n }\n };\n }\n\n return mql;\n}\n\nexport default function resolveMediaQueries(_ref3) {\n var ExecutionEnvironment = _ref3.ExecutionEnvironment,\n addCSS = _ref3.addCSS,\n appendImportantToEachValue = _ref3.appendImportantToEachValue,\n config = _ref3.config,\n cssRuleSetToString = _ref3.cssRuleSetToString,\n getComponentField = _ref3.getComponentField,\n getGlobalState = _ref3.getGlobalState,\n hash = _ref3.hash,\n isNestedStyle = _ref3.isNestedStyle,\n mergeStyles = _ref3.mergeStyles,\n props = _ref3.props,\n setState = _ref3.setState,\n style = _ref3.style;\n\n // eslint-disable-line no-shadow\n var newStyle = _removeMediaQueries(style);\n\n var mediaQueryClassNames = _topLevelRulesToCSS({\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n cssRuleSetToString: cssRuleSetToString,\n hash: hash,\n isNestedStyle: isNestedStyle,\n style: style,\n userAgent: config.userAgent\n });\n\n var newProps = mediaQueryClassNames ? {\n className: mediaQueryClassNames + (props.className ? ' ' + props.className : '')\n } : null;\n\n var matchMedia = config.matchMedia || _getWindowMatchMedia(ExecutionEnvironment);\n\n if (!matchMedia) {\n return {\n props: newProps,\n style: newStyle\n };\n }\n\n var listenersByQuery = _objectSpread({}, getComponentField('_radiumMediaQueryListenersByQuery'));\n\n var mediaQueryListsByQuery = getGlobalState('mediaQueryListsByQuery') || {};\n Object.keys(style).filter(function (name) {\n return name.indexOf('@media') === 0;\n }).map(function (query) {\n var nestedRules = _filterObject(style[query], isNestedStyle);\n\n if (!Object.keys(nestedRules).length) {\n return;\n }\n\n var mql = _subscribeToMediaQuery({\n listener: function listener() {\n return setState(query, mql.matches, '_all');\n },\n listenersByQuery: listenersByQuery,\n matchMedia: matchMedia,\n mediaQueryListsByQuery: mediaQueryListsByQuery,\n query: query\n }); // Apply media query states\n\n\n if (mql.matches) {\n newStyle = mergeStyles([newStyle, nestedRules]);\n }\n });\n return {\n componentFields: {\n _radiumMediaQueryListenersByQuery: listenersByQuery\n },\n globalState: {\n mediaQueryListsByQuery: mediaQueryListsByQuery\n },\n props: newProps,\n style: newStyle\n };\n}","import MouseUpListener from './mouse-up-listener';\n\nvar _isInteractiveStyleField = function _isInteractiveStyleField(styleFieldName) {\n return styleFieldName === ':hover' || styleFieldName === ':active' || styleFieldName === ':focus';\n};\n\nvar resolveInteractionStyles = function resolveInteractionStyles(config) {\n var ExecutionEnvironment = config.ExecutionEnvironment,\n getComponentField = config.getComponentField,\n getState = config.getState,\n mergeStyles = config.mergeStyles,\n props = config.props,\n setState = config.setState,\n style = config.style;\n var newComponentFields = {};\n var newProps = {}; // Only add handlers if necessary\n\n if (style[':hover']) {\n // Always call the existing handler if one is already defined.\n // This code, and the very similar ones below, could be abstracted a bit\n // more, but it hurts readability IMO.\n var existingOnMouseEnter = props.onMouseEnter;\n\n newProps.onMouseEnter = function (e) {\n existingOnMouseEnter && existingOnMouseEnter(e);\n setState(':hover', true);\n };\n\n var existingOnMouseLeave = props.onMouseLeave;\n\n newProps.onMouseLeave = function (e) {\n existingOnMouseLeave && existingOnMouseLeave(e);\n setState(':hover', false);\n };\n }\n\n if (style[':active']) {\n var existingOnMouseDown = props.onMouseDown;\n\n newProps.onMouseDown = function (e) {\n existingOnMouseDown && existingOnMouseDown(e);\n newComponentFields._lastMouseDown = Date.now();\n setState(':active', 'viamousedown');\n };\n\n var existingOnKeyDown = props.onKeyDown;\n\n newProps.onKeyDown = function (e) {\n existingOnKeyDown && existingOnKeyDown(e);\n\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', 'viakeydown');\n }\n };\n\n var existingOnKeyUp = props.onKeyUp;\n\n newProps.onKeyUp = function (e) {\n existingOnKeyUp && existingOnKeyUp(e);\n\n if (e.key === ' ' || e.key === 'Enter') {\n setState(':active', false);\n }\n };\n }\n\n if (style[':focus']) {\n var existingOnFocus = props.onFocus;\n\n newProps.onFocus = function (e) {\n existingOnFocus && existingOnFocus(e);\n setState(':focus', true);\n };\n\n var existingOnBlur = props.onBlur;\n\n newProps.onBlur = function (e) {\n existingOnBlur && existingOnBlur(e);\n setState(':focus', false);\n };\n }\n\n if (style[':active'] && !getComponentField('_radiumMouseUpListener') && ExecutionEnvironment.canUseEventListeners) {\n newComponentFields._radiumMouseUpListener = MouseUpListener.subscribe(function () {\n Object.keys(getComponentField('state')._radiumStyleState).forEach(function (key) {\n if (getState(':active', key) === 'viamousedown') {\n setState(':active', false, key);\n }\n });\n });\n } // Merge the styles in the order they were defined\n\n\n var interactionStyles = props.disabled ? [style[':disabled']] : Object.keys(style).filter(function (name) {\n return _isInteractiveStyleField(name) && getState(name);\n }).map(function (name) {\n return style[name];\n });\n var newStyle = mergeStyles([style].concat(interactionStyles)); // Remove interactive styles\n\n newStyle = Object.keys(newStyle).reduce(function (styleWithoutInteractions, name) {\n if (!_isInteractiveStyleField(name) && name !== ':disabled') {\n styleWithoutInteractions[name] = newStyle[name];\n }\n\n return styleWithoutInteractions;\n }, {});\n return {\n componentFields: newComponentFields,\n props: newProps,\n style: newStyle\n };\n};\n\nexport default resolveInteractionStyles;","/* eslint-disable block-scoped-const */\nimport checkPropsPlugin from './check-props-plugin';\nimport keyframesPlugin from './keyframes-plugin';\nimport mergeStyleArrayPlugin from './merge-style-array-plugin';\nimport prefixPlugin from './prefix-plugin';\nimport removeNestedStylesPlugin from './remove-nested-styles-plugin';\nimport resolveInteractionStylesPlugin from './resolve-interaction-styles-plugin';\nimport resolveMediaQueriesPlugin from './resolve-media-queries-plugin';\nimport visitedPlugin from './visited-plugin';\nexport default {\n checkProps: checkPropsPlugin,\n keyframes: keyframesPlugin,\n mergeStyleArray: mergeStyleArrayPlugin,\n prefix: prefixPlugin,\n removeNestedStyles: removeNestedStylesPlugin,\n resolveInteractionStyles: resolveInteractionStylesPlugin,\n resolveMediaQueries: resolveMediaQueriesPlugin,\n visited: visitedPlugin\n};","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _checkProps = function checkProps() {};\n\nif (process.env.NODE_ENV !== 'production') {\n // Warn if you use longhand and shorthand properties in the same style\n // object.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Shorthand_properties\n var shorthandPropertyExpansions = {\n background: ['backgroundAttachment', 'backgroundBlendMode', 'backgroundClip', 'backgroundColor', 'backgroundImage', 'backgroundOrigin', 'backgroundPosition', 'backgroundPositionX', 'backgroundPositionY', 'backgroundRepeat', 'backgroundRepeatX', 'backgroundRepeatY', 'backgroundSize'],\n border: ['borderBottom', 'borderBottomColor', 'borderBottomStyle', 'borderBottomWidth', 'borderColor', 'borderLeft', 'borderLeftColor', 'borderLeftStyle', 'borderLeftWidth', 'borderRight', 'borderRightColor', 'borderRightStyle', 'borderRightWidth', 'borderStyle', 'borderTop', 'borderTopColor', 'borderTopStyle', 'borderTopWidth', 'borderWidth'],\n borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],\n borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],\n font: ['fontFamily', 'fontKerning', 'fontSize', 'fontStretch', 'fontStyle', 'fontVariant', 'fontVariantLigatures', 'fontWeight', 'lineHeight'],\n listStyle: ['listStyleImage', 'listStylePosition', 'listStyleType'],\n margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],\n padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],\n transition: ['transitionDelay', 'transitionDuration', 'transitionProperty', 'transitionTimingFunction']\n };\n\n _checkProps = function checkProps(config) {\n var componentName = config.componentName,\n style = config.style;\n\n if (_typeof(style) !== 'object' || !style) {\n return;\n }\n\n var styleKeys = Object.keys(style);\n styleKeys.forEach(function (styleKey) {\n if (Array.isArray(shorthandPropertyExpansions[styleKey]) && shorthandPropertyExpansions[styleKey].some(function (sp) {\n return styleKeys.indexOf(sp) !== -1;\n })) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable no-console */\n console.warn('Radium: property \"' + styleKey + '\" in style object', style, ': do not mix longhand and ' + 'shorthand properties in the same style object. Check the render ' + 'method of ' + componentName + '.', 'See https://github.com/FormidableLabs/radium/issues/95 for more ' + 'information.');\n /* eslint-enable no-console */\n }\n }\n });\n styleKeys.forEach(function (k) {\n return _checkProps(_objectSpread({}, config, {\n style: style[k]\n }));\n });\n return;\n };\n}\n\nexport default _checkProps;","export default function keyframesPlugin(_ref) {\n var addCSS = _ref.addCSS,\n config = _ref.config,\n style = _ref.style;\n\n var processKeyframeStyle = function processKeyframeStyle(value) {\n var keyframesValue = value;\n\n var _keyframesValue$__pro = keyframesValue.__process(config.userAgent),\n animationName = _keyframesValue$__pro.animationName,\n css = _keyframesValue$__pro.css;\n\n addCSS(css);\n return animationName;\n };\n\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n var isKeyframeArray = Array.isArray(value);\n\n if (key === 'animationName' && value && (value.__radiumKeyframes || isKeyframeArray)) {\n if (isKeyframeArray) {\n value = value.map(processKeyframeStyle).join(', ');\n } else {\n value = processKeyframeStyle(value);\n }\n }\n\n newStyleInProgress[key] = value;\n return newStyleInProgress;\n }, {});\n return {\n style: newStyle\n };\n}","// Convenient syntax for multiple styles: `style={[style1, style2, etc]}`\n// Ignores non-objects, so you can do `this.state.isCool && styles.cool`.\nvar mergeStyleArrayPlugin = function mergeStyleArrayPlugin(_ref) {\n var style = _ref.style,\n mergeStyles = _ref.mergeStyles;\n // eslint-disable-line no-shadow\n var newStyle = Array.isArray(style) ? mergeStyles(style) : style;\n return {\n style: newStyle\n };\n};\n\nexport default mergeStyleArrayPlugin;","import { getPrefixedStyle } from '../prefixer';\nexport default function prefixPlugin(_ref) {\n var config = _ref.config,\n style = _ref.style;\n var newStyle = getPrefixedStyle(style, config.userAgent);\n return {\n style: newStyle\n };\n}","export default function removeNestedStyles(_ref) {\n var isNestedStyle = _ref.isNestedStyle,\n style = _ref.style;\n // eslint-disable-line no-shadow\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n\n if (!isNestedStyle(value)) {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n return {\n style: newStyle\n };\n}","export default function visited(_ref) {\n var addCSS = _ref.addCSS,\n appendImportantToEachValue = _ref.appendImportantToEachValue,\n config = _ref.config,\n cssRuleSetToString = _ref.cssRuleSetToString,\n hash = _ref.hash,\n props = _ref.props,\n style = _ref.style;\n // eslint-disable-line no-shadow\n var className = props.className;\n var newStyle = Object.keys(style).reduce(function (newStyleInProgress, key) {\n var value = style[key];\n\n if (key === ':visited') {\n value = appendImportantToEachValue(value);\n var ruleCSS = cssRuleSetToString('', value, config.userAgent);\n var visitedClassName = 'rad-' + hash(ruleCSS);\n var css = '.' + visitedClassName + ':visited' + ruleCSS;\n addCSS(css);\n className = (className ? className + ' ' : '') + visitedClassName;\n } else {\n newStyleInProgress[key] = value;\n }\n\n return newStyleInProgress;\n }, {});\n return {\n props: className === props.className ? null : {\n className: className\n },\n style: newStyle\n };\n}","function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport appendImportantToEachValue from './append-important-to-each-value';\nimport cssRuleSetToString from './css-rule-set-to-string';\nimport getState from './get-state';\nimport getStateKey from './get-state-key';\nimport cleanStateKey from './clean-state-key';\nimport getRadiumStyleState from './get-radium-style-state';\nimport hash from './hash';\nimport { isNestedStyle, mergeStyles } from './merge-styles';\nimport Plugins from './plugins/';\nimport ExecutionEnvironment from 'exenv';\nimport React from 'react';\nimport StyleKeeper from './style-keeper';\nvar DEFAULT_CONFIG = {\n plugins: [Plugins.mergeStyleArray, Plugins.checkProps, Plugins.resolveMediaQueries, Plugins.resolveInteractionStyles, Plugins.keyframes, Plugins.visited, Plugins.removeNestedStyles, Plugins.prefix, Plugins.checkProps]\n}; // Gross\n\nvar globalState = {}; // Only for use by tests\n\nvar __isTestModeEnabled = false;\n// Declare early for recursive helpers.\nvar _resolveStyles5 = null;\n\nvar _shouldResolveStyles = function _shouldResolveStyles(component) {\n return component.type && !component.type._isRadiumEnhanced;\n};\n\nvar _resolveChildren = function _resolveChildren(_ref) {\n var children = _ref.children,\n component = _ref.component,\n config = _ref.config,\n existingKeyMap = _ref.existingKeyMap,\n extraStateKeyMap = _ref.extraStateKeyMap;\n\n if (!children) {\n return children;\n }\n\n var childrenType = _typeof(children);\n\n if (childrenType === 'string' || childrenType === 'number') {\n // Don't do anything with a single primitive child\n return children;\n }\n\n if (childrenType === 'function') {\n // Wrap the function, resolving styles on the result\n return function () {\n var result = children.apply(this, arguments);\n\n if (React.isValidElement(result)) {\n var _key = getStateKey(result);\n\n delete extraStateKeyMap[_key];\n\n var _resolveStyles = _resolveStyles5(component, result, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles.element;\n\n return element;\n }\n\n return result;\n };\n }\n\n if (React.Children.count(children) === 1 && children.type) {\n // If a React Element is an only child, don't wrap it in an array for\n // React.Children.map() for React.Children.only() compatibility.\n var onlyChild = React.Children.only(children);\n\n var _key2 = getStateKey(onlyChild);\n\n delete extraStateKeyMap[_key2];\n\n var _resolveStyles2 = _resolveStyles5(component, onlyChild, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles2.element;\n\n return element;\n }\n\n return React.Children.map(children, function (child) {\n if (React.isValidElement(child)) {\n var _key3 = getStateKey(child);\n\n delete extraStateKeyMap[_key3];\n\n var _resolveStyles3 = _resolveStyles5(component, child, config, existingKeyMap, true, extraStateKeyMap),\n _element = _resolveStyles3.element;\n\n return _element;\n }\n\n return child;\n });\n}; // Recurse over props, just like children\n\n\nvar _resolveProps = function _resolveProps(_ref2) {\n var component = _ref2.component,\n config = _ref2.config,\n existingKeyMap = _ref2.existingKeyMap,\n props = _ref2.props,\n extraStateKeyMap = _ref2.extraStateKeyMap;\n var newProps = props;\n Object.keys(props).forEach(function (prop) {\n // We already recurse over children above\n if (prop === 'children') {\n return;\n }\n\n var propValue = props[prop];\n\n if (React.isValidElement(propValue)) {\n var _key4 = getStateKey(propValue);\n\n delete extraStateKeyMap[_key4];\n newProps = _objectSpread({}, newProps);\n\n var _resolveStyles4 = _resolveStyles5(component, propValue, config, existingKeyMap, true, extraStateKeyMap),\n element = _resolveStyles4.element;\n\n newProps[prop] = element;\n }\n });\n return newProps;\n};\n\nvar _buildGetKey = function _buildGetKey(_ref3) {\n var componentName = _ref3.componentName,\n existingKeyMap = _ref3.existingKeyMap,\n renderedElement = _ref3.renderedElement;\n // We need a unique key to correlate state changes due to user interaction\n // with the rendered element, so we know to apply the proper interactive\n // styles.\n var originalKey = getStateKey(renderedElement);\n var key = cleanStateKey(originalKey);\n var alreadyGotKey = false;\n\n var getKey = function getKey() {\n if (alreadyGotKey) {\n return key;\n }\n\n alreadyGotKey = true;\n\n if (existingKeyMap[key]) {\n var elementName;\n\n if (typeof renderedElement.type === 'string') {\n elementName = renderedElement.type;\n } else if (renderedElement.type.constructor) {\n elementName = renderedElement.type.constructor.displayName || renderedElement.type.constructor.name;\n }\n\n throw new Error('Radium requires each element with interactive styles to have a unique ' + 'key, set using either the ref or key prop. ' + (originalKey ? 'Key \"' + originalKey + '\" is a duplicate.' : 'Multiple elements have no key specified.') + ' ' + 'Component: \"' + componentName + '\". ' + (elementName ? 'Element: \"' + elementName + '\".' : ''));\n }\n\n existingKeyMap[key] = true;\n return key;\n };\n\n return getKey;\n};\n\nvar _setStyleState = function _setStyleState(component, key, stateKey, value) {\n if (!component._radiumIsMounted) {\n return;\n }\n\n var existing = getRadiumStyleState(component);\n var state = {\n _radiumStyleState: _objectSpread({}, existing)\n };\n state._radiumStyleState[key] = _objectSpread({}, state._radiumStyleState[key]);\n state._radiumStyleState[key][stateKey] = value;\n component._lastRadiumState = state._radiumStyleState;\n component.setState(state);\n};\n\nvar _runPlugins = function _runPlugins(_ref4) {\n var component = _ref4.component,\n config = _ref4.config,\n existingKeyMap = _ref4.existingKeyMap,\n props = _ref4.props,\n renderedElement = _ref4.renderedElement;\n\n // Don't run plugins if renderedElement is not a simple ReactDOMElement or has\n // no style.\n if (!React.isValidElement(renderedElement) || typeof renderedElement.type !== 'string' || !props.style) {\n return props;\n }\n\n var newProps = props;\n var plugins = config.plugins || DEFAULT_CONFIG.plugins;\n var componentName = component.constructor.displayName || component.constructor.name;\n\n var getKey = _buildGetKey({\n renderedElement: renderedElement,\n existingKeyMap: existingKeyMap,\n componentName: componentName\n });\n\n var getComponentField = function getComponentField(key) {\n return component[key];\n };\n\n var getGlobalState = function getGlobalState(key) {\n return globalState[key];\n };\n\n var componentGetState = function componentGetState(stateKey, elementKey) {\n return getState(component.state, elementKey || getKey(), stateKey);\n };\n\n var setState = function setState(stateKey, value, elementKey) {\n return _setStyleState(component, elementKey || getKey(), stateKey, value);\n };\n\n var addCSS = function addCSS(css) {\n var styleKeeper = component._radiumStyleKeeper;\n\n if (!styleKeeper) {\n if (__isTestModeEnabled) {\n return {\n remove: function remove() {}\n };\n }\n\n throw new Error('To use plugins requiring `addCSS` (e.g. keyframes, media queries), ' + 'please wrap your application in the StyleRoot component. Component ' + 'name: `' + componentName + '`.');\n }\n\n return styleKeeper.addCSS(css);\n };\n\n var newStyle = props.style;\n plugins.forEach(function (plugin) {\n var result = plugin({\n ExecutionEnvironment: ExecutionEnvironment,\n addCSS: addCSS,\n appendImportantToEachValue: appendImportantToEachValue,\n componentName: componentName,\n config: config,\n cssRuleSetToString: cssRuleSetToString,\n getComponentField: getComponentField,\n getGlobalState: getGlobalState,\n getState: componentGetState,\n hash: hash,\n mergeStyles: mergeStyles,\n props: newProps,\n setState: setState,\n isNestedStyle: isNestedStyle,\n style: newStyle\n }) || {};\n newStyle = result.style || newStyle;\n newProps = result.props && Object.keys(result.props).length ? _objectSpread({}, newProps, result.props) : newProps;\n var newComponentFields = result.componentFields || {};\n Object.keys(newComponentFields).forEach(function (fieldName) {\n component[fieldName] = newComponentFields[fieldName];\n });\n var newGlobalState = result.globalState || {};\n Object.keys(newGlobalState).forEach(function (key) {\n globalState[key] = newGlobalState[key];\n });\n });\n\n if (newStyle !== props.style) {\n newProps = _objectSpread({}, newProps, {\n style: newStyle\n });\n }\n\n return newProps;\n}; // Wrapper around React.cloneElement. To avoid processing the same element\n// twice, whenever we clone an element add a special prop to make sure we don't\n// process this element again.\n\n\nvar _cloneElement = function _cloneElement(renderedElement, newProps, newChildren) {\n // Only add flag if this is a normal DOM element\n if (typeof renderedElement.type === 'string') {\n newProps = _objectSpread({}, newProps, {\n 'data-radium': true\n });\n }\n\n return React.cloneElement(renderedElement, newProps, newChildren);\n}; //\n// The nucleus of Radium. resolveStyles is called on the rendered elements\n// before they are returned in render. It iterates over the elements and\n// children, rewriting props to add event handlers required to capture user\n// interactions (e.g. mouse over). It also replaces the style prop because it\n// adds in the various interaction styles (e.g. :hover).\n//\n\n/* eslint-disable max-params */\n\n\n_resolveStyles5 = function resolveStyles(component, renderedElement) {\n var config = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_CONFIG;\n var existingKeyMap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var shouldCheckBeforeResolve = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var extraStateKeyMap = arguments.length > 5 ? arguments[5] : undefined;\n\n // The extraStateKeyMap is for determining which keys should be erased from\n // the state (i.e. which child components are unmounted and should no longer\n // have a style state).\n if (!extraStateKeyMap) {\n var state = getRadiumStyleState(component);\n extraStateKeyMap = Object.keys(state).reduce(function (acc, key) {\n // 'main' is the auto-generated key when there is only one element with\n // interactive styles and if a custom key is not assigned. Because of\n // this, it is impossible to know which child is 'main', so we won't\n // count this key when generating our extraStateKeyMap.\n if (key !== 'main') {\n acc[key] = true;\n }\n\n return acc;\n }, {});\n }\n\n if (Array.isArray(renderedElement) && !renderedElement.props) {\n var elements = renderedElement.map(function (element) {\n // element is in-use, so remove from the extraStateKeyMap\n if (extraStateKeyMap) {\n var _key5 = getStateKey(element);\n\n delete extraStateKeyMap[_key5];\n } // this element is an array of elements,\n // so return an array of elements with resolved styles\n\n\n return _resolveStyles5(component, element, config, existingKeyMap, shouldCheckBeforeResolve, extraStateKeyMap).element;\n });\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: elements\n };\n } // ReactElement\n\n\n if (!renderedElement || // Bail if we've already processed this element. This ensures that only the\n // owner of an element processes that element, since the owner's render\n // function will be called first (which will always be the case, since you\n // can't know what else to render until you render the parent component).\n renderedElement.props && renderedElement.props['data-radium'] || // Bail if this element is a radium enhanced element, because if it is,\n // then it will take care of resolving its own styles.\n shouldCheckBeforeResolve && !_shouldResolveStyles(renderedElement)) {\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: renderedElement\n };\n }\n\n var children = renderedElement.props.children;\n\n var newChildren = _resolveChildren({\n children: children,\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap\n });\n\n var newProps = _resolveProps({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n extraStateKeyMap: extraStateKeyMap,\n props: renderedElement.props\n });\n\n newProps = _runPlugins({\n component: component,\n config: config,\n existingKeyMap: existingKeyMap,\n props: newProps,\n renderedElement: renderedElement\n }); // If nothing changed, don't bother cloning the element. Might be a bit\n // wasteful, as we add the sentinel to stop double-processing when we clone.\n // Assume benign double-processing is better than unneeded cloning.\n\n if (newChildren === children && newProps === renderedElement.props) {\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: renderedElement\n };\n }\n\n var element = _cloneElement(renderedElement, newProps !== renderedElement.props ? newProps : {}, newChildren);\n\n return {\n extraStateKeyMap: extraStateKeyMap,\n element: element\n };\n};\n/* eslint-enable max-params */\n// Only for use by tests\n\n\nif (process.env.NODE_ENV !== 'production') {\n _resolveStyles5.__clearStateForTests = function () {\n globalState = {};\n };\n\n _resolveStyles5.__setTestMode = function (isEnabled) {\n __isTestModeEnabled = isEnabled;\n };\n}\n\nexport default _resolveStyles5;","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport React, { useContext } from 'react';\nimport hoistStatics from 'hoist-non-react-statics';\nimport StyleKeeper from './style-keeper';\nexport var StyleKeeperContext = React.createContext(undefined);\nexport var RadiumConfigContext = React.createContext(undefined);\nexport function withRadiumContexts(WrappedComponent) {\n var WithRadiumContexts = React.forwardRef(function (props, ref) {\n var radiumConfigContext = useContext(RadiumConfigContext);\n var styleKeeperContext = useContext(StyleKeeperContext);\n return React.createElement(WrappedComponent, _extends({\n ref: ref\n }, props, {\n radiumConfigContext: radiumConfigContext,\n styleKeeperContext: styleKeeperContext\n }));\n });\n WithRadiumContexts.displayName = \"withRadiumContexts(\".concat(WrappedComponent.displayName || WrappedComponent.name || 'Component', \")\");\n return hoistStatics(WithRadiumContexts, WrappedComponent);\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return _typeof(key) === \"symbol\" ? key : String(key); }\n\nfunction _toPrimitive(input, hint) { if (_typeof(input) !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (_typeof(res) !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n\nimport React, { useState, useContext, useRef, useEffect, forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport hoistStatics from 'hoist-non-react-statics';\nimport resolveStyles from './resolve-styles';\nimport getRadiumStyleState from './get-radium-style-state';\nimport { RadiumConfigContext, withRadiumContexts } from './context';\nimport { StyleKeeperContext } from './context';\nvar KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES = ['arguments', 'callee', 'caller', 'length', 'name', 'prototype', 'type'];\nvar RADIUM_PROTO;\nvar RADIUM_METHODS;\n\nfunction copyProperties(source, target) {\n Object.getOwnPropertyNames(source).forEach(function (key) {\n if (KEYS_TO_IGNORE_WHEN_COPYING_PROPERTIES.indexOf(key) < 0 && !target.hasOwnProperty(key)) {\n var descriptor = Object.getOwnPropertyDescriptor(source, key);\n descriptor && Object.defineProperty(target, key, descriptor);\n }\n });\n} // Handle scenarios of:\n// - Inherit from `React.Component` in any fashion\n// See: https://github.com/FormidableLabs/radium/issues/738\n// - There's an explicit `render` field defined\n\n\nfunction isStateless(component) {\n var proto = component.prototype || {};\n return !component.isReactComponent && !proto.isReactComponent && !component.render && !proto.render;\n} // Check if value is a real ES class in Native / Node code.\n// See: https://stackoverflow.com/a/30760236\n\n\nfunction isNativeClass(component) {\n return typeof component === 'function' && /^\\s*class\\s+/.test(component.toString());\n} // Handle es7 arrow functions on React class method names by detecting\n// and transfering the instance method to original class prototype.\n// (Using a copy of the class).\n// See: https://github.com/FormidableLabs/radium/issues/738\n\n\nfunction copyArrowFuncs(enhancedSelf, ComposedComponent) {\n RADIUM_METHODS.forEach(function (name) {\n var thisDesc = Object.getOwnPropertyDescriptor(enhancedSelf, name);\n var thisMethod = (thisDesc || {}).value; // Only care if have instance method.\n\n if (!thisMethod) {\n return;\n }\n\n var radiumDesc = Object.getOwnPropertyDescriptor(RADIUM_PROTO, name);\n var radiumProtoMethod = (radiumDesc || {}).value;\n var superProtoMethod = ComposedComponent.prototype[name]; // Allow transfer when:\n // 1. have an instance method\n // 2. the super class prototype doesn't have any method\n // 3. it is not already the radium prototype's\n\n if (!superProtoMethod && thisMethod !== radiumProtoMethod) {\n // Transfer dynamic render component to Component prototype (copy).\n thisDesc && Object.defineProperty(ComposedComponent.prototype, name, thisDesc); // Remove instance property, leaving us to have a contrived\n // inheritance chain of (1) radium, (2) superclass.\n\n delete enhancedSelf[name];\n }\n });\n}\n\nfunction trimRadiumState(enhancer) {\n if (enhancer._extraRadiumStateKeys && enhancer._extraRadiumStateKeys.length > 0) {\n var trimmedRadiumState = enhancer._extraRadiumStateKeys.reduce(function (state, key) {\n // eslint-disable-next-line no-unused-vars\n var extraStateKey = state[key],\n remainingState = _objectWithoutProperties(state, [key].map(_toPropertyKey));\n\n return remainingState;\n }, getRadiumStyleState(enhancer));\n\n enhancer._lastRadiumState = trimmedRadiumState;\n enhancer.setState({\n _radiumStyleState: trimmedRadiumState\n });\n }\n}\n\nfunction cleanUpEnhancer(enhancer) {\n var _radiumMouseUpListener = enhancer._radiumMouseUpListener,\n _radiumMediaQueryListenersByQuery = enhancer._radiumMediaQueryListenersByQuery;\n enhancer._radiumIsMounted = false;\n\n if (_radiumMouseUpListener) {\n _radiumMouseUpListener.remove();\n }\n\n if (_radiumMediaQueryListenersByQuery) {\n Object.keys(_radiumMediaQueryListenersByQuery).forEach(function (query) {\n _radiumMediaQueryListenersByQuery[query].remove();\n }, enhancer);\n }\n}\n\nfunction resolveConfig(propConfig, contextConfig, hocConfig) {\n var config = propConfig || contextConfig || hocConfig;\n\n if (hocConfig && config !== hocConfig) {\n config = _objectSpread({}, hocConfig, config);\n }\n\n return config;\n}\n\nfunction renderRadiumComponent(enhancer, renderedElement, resolvedConfig, propConfig) {\n var _resolveStyles = resolveStyles(enhancer, renderedElement, resolvedConfig),\n extraStateKeyMap = _resolveStyles.extraStateKeyMap,\n element = _resolveStyles.element;\n\n enhancer._extraRadiumStateKeys = Object.keys(extraStateKeyMap);\n\n if (propConfig) {\n return React.createElement(RadiumConfigContext.Provider, {\n value: propConfig\n }, element);\n }\n\n return element;\n}\n\nfunction createEnhancedFunctionComponent(origComponent, config) {\n var RadiumEnhancer = React.forwardRef(function (props, ref) {\n var radiumConfig = props.radiumConfig,\n otherProps = _objectWithoutProperties(props, [\"radiumConfig\"]);\n\n var radiumConfigContext = useContext(RadiumConfigContext);\n var styleKeeperContext = useContext(StyleKeeperContext);\n\n var _useState = useState({}),\n _useState2 = _slicedToArray(_useState, 2),\n state = _useState2[0],\n setState = _useState2[1];\n\n var enhancerApi = useRef({\n state: state,\n setState: setState,\n _radiumMediaQueryListenersByQuery: undefined,\n _radiumMouseUpListener: undefined,\n _radiumIsMounted: true,\n _lastRadiumState: undefined,\n _extraRadiumStateKeys: undefined,\n _radiumStyleKeeper: styleKeeperContext\n }).current; // result of useRef is never recreated and is designed to be mutable\n // we need to make sure the latest state is attached to it\n\n enhancerApi.state = state;\n useEffect(function () {\n return function () {\n cleanUpEnhancer(enhancerApi);\n };\n }, [enhancerApi]);\n var hasExtraStateKeys = enhancerApi._extraRadiumStateKeys && enhancerApi._extraRadiumStateKeys.length > 0;\n useEffect(function () {\n trimRadiumState(enhancerApi);\n }, [hasExtraStateKeys, enhancerApi]);\n var renderedElement = origComponent(otherProps, ref);\n var currentConfig = resolveConfig(radiumConfig, radiumConfigContext, config);\n return renderRadiumComponent(enhancerApi, renderedElement, currentConfig, radiumConfig);\n });\n RadiumEnhancer._isRadiumEnhanced = true;\n RadiumEnhancer.defaultProps = origComponent.defaultProps;\n return hoistStatics(RadiumEnhancer, origComponent);\n}\n\nfunction createEnhancedClassComponent(origComponent, ComposedComponent, config) {\n var RadiumEnhancer =\n /*#__PURE__*/\n function (_ComposedComponent) {\n _inherits(RadiumEnhancer, _ComposedComponent);\n\n // need to attempt to assign to this.state in case\n // super component is setting state on construction,\n // otherwise class properties reinitialize to undefined\n // need to assign the following methods to this.xxx as\n // tests attempt to set this on the original component\n function RadiumEnhancer() {\n var _this;\n\n _classCallCheck(this, RadiumEnhancer);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(RadiumEnhancer).apply(this, arguments));\n _this.state = _this.state || {};\n _this._radiumStyleKeeper = _this.props.styleKeeperContext;\n _this._radiumMediaQueryListenersByQuery = _this._radiumMediaQueryListenersByQuery;\n _this._radiumMouseUpListener = _this._radiumMouseUpListener;\n _this._radiumIsMounted = true;\n _this._lastRadiumState = void 0;\n _this._extraRadiumStateKeys = void 0;\n _this.state._radiumStyleState = {};\n\n var self = _assertThisInitialized(_this); // Handle es7 arrow functions on React class method\n\n\n copyArrowFuncs(self, ComposedComponent);\n return _this;\n }\n\n _createClass(RadiumEnhancer, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState, snapshot) {\n if (_get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentDidUpdate\", this)) {\n _get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentDidUpdate\", this).call(this, prevProps, prevState, snapshot);\n }\n\n trimRadiumState(this);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (_get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentWillUnmount\", this)) {\n _get(_getPrototypeOf(RadiumEnhancer.prototype), \"componentWillUnmount\", this).call(this);\n }\n\n cleanUpEnhancer(this);\n }\n }, {\n key: \"render\",\n value: function render() {\n var renderedElement = _get(_getPrototypeOf(RadiumEnhancer.prototype), \"render\", this).call(this);\n\n var currentConfig = resolveConfig(this.props.radiumConfig, this.props.radiumConfigContext, config);\n return renderRadiumComponent(this, renderedElement, currentConfig, this.props.radiumConfig);\n }\n }]);\n\n return RadiumEnhancer;\n }(ComposedComponent); // Lazy infer the method names of the Enhancer.\n\n\n RadiumEnhancer._isRadiumEnhanced = true;\n RADIUM_PROTO = RadiumEnhancer.prototype;\n RADIUM_METHODS = Object.getOwnPropertyNames(RADIUM_PROTO).filter(function (n) {\n return n !== 'constructor' && typeof RADIUM_PROTO[n] === 'function';\n }); // Class inheritance uses Object.create and because of __proto__ issues\n // with IE <10 any static properties of the superclass aren't inherited and\n // so need to be manually populated.\n // See http://babeljs.io/docs/advanced/caveats/#classes-10-and-below-\n\n copyProperties(origComponent, RadiumEnhancer);\n\n if (process.env.NODE_ENV !== 'production') {\n // This also fixes React Hot Loader by exposing the original components top\n // level prototype methods on the Radium enhanced prototype as discussed in\n // https://github.com/FormidableLabs/radium/issues/219.\n copyProperties(ComposedComponent.prototype, RadiumEnhancer.prototype);\n } // add Radium propTypes to enhanced component's propTypes\n\n\n if (RadiumEnhancer.propTypes && RadiumEnhancer.propTypes.style) {\n RadiumEnhancer.propTypes = _objectSpread({}, RadiumEnhancer.propTypes, {\n style: PropTypes.oneOfType([PropTypes.array, PropTypes.object])\n });\n } // copy display name to enhanced component\n\n\n RadiumEnhancer.displayName = origComponent.displayName || origComponent.name || 'Component';\n return withRadiumContexts(RadiumEnhancer);\n}\n\nfunction createComposedFromNativeClass(ComposedComponent) {\n ComposedComponent = function (OrigComponent) {\n function NewComponent() {\n // Use Reflect.construct to simulate 'new'\n var obj = Reflect.construct(OrigComponent, arguments, this.constructor);\n return obj;\n } // $FlowFixMe\n\n\n Reflect.setPrototypeOf(NewComponent.prototype, OrigComponent.prototype); // $FlowFixMe\n\n Reflect.setPrototypeOf(NewComponent, OrigComponent);\n return NewComponent;\n }(ComposedComponent);\n\n return ComposedComponent;\n}\n\nvar ReactForwardRefSymbol = forwardRef(function () {\n return null;\n}).$$typeof;\nexport default function enhanceWithRadium(configOrComposedComponent) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (ReactForwardRefSymbol && configOrComposedComponent.$$typeof === ReactForwardRefSymbol) {\n return createEnhancedFunctionComponent(configOrComposedComponent.render, config);\n }\n\n if (typeof configOrComposedComponent !== 'function') {\n return createFactoryFromConfig(config, configOrComposedComponent);\n }\n\n var origComponent = configOrComposedComponent; // Handle stateless components\n\n if (isStateless(origComponent)) {\n return createEnhancedFunctionComponent(origComponent, config);\n }\n\n var _ComposedComponent2 = origComponent; // Radium is transpiled in npm, so it isn't really using es6 classes at\n // runtime. However, the user of Radium might be. In this case we have\n // to maintain forward compatibility with native es classes.\n\n if (isNativeClass(_ComposedComponent2)) {\n _ComposedComponent2 = createComposedFromNativeClass(_ComposedComponent2);\n } // Shallow copy composed if still original (we may mutate later).\n\n\n if (_ComposedComponent2 === origComponent) {\n _ComposedComponent2 =\n /*#__PURE__*/\n function (_ComposedComponent3) {\n _inherits(ComposedComponent, _ComposedComponent3);\n\n function ComposedComponent() {\n _classCallCheck(this, ComposedComponent);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(ComposedComponent).apply(this, arguments));\n }\n\n return ComposedComponent;\n }(_ComposedComponent2);\n }\n\n return createEnhancedClassComponent(origComponent, _ComposedComponent2, config);\n}\n\nfunction createFactoryFromConfig(config, configOrComposedComponent) {\n var newConfig = _objectSpread({}, config, configOrComposedComponent);\n\n return function (configOrComponent) {\n return enhanceWithRadium(configOrComponent, newConfig);\n };\n}","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport cssRuleSetToString from '../css-rule-set-to-string';\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRadiumContexts } from '../context';\n\nvar Style =\n/*#__PURE__*/\nfunction (_PureComponent) {\n _inherits(Style, _PureComponent);\n\n function Style() {\n _classCallCheck(this, Style);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Style).apply(this, arguments));\n }\n\n _createClass(Style, [{\n key: \"_buildStyles\",\n value: function _buildStyles(styles) {\n var _this = this;\n\n var userAgent = this.props.radiumConfig && this.props.radiumConfig.userAgent || this.props.radiumConfigContext && this.props.radiumConfigContext.userAgent;\n var scopeSelector = this.props.scopeSelector;\n var rootRules = Object.keys(styles).reduce(function (accumulator, selector) {\n if (_typeof(styles[selector]) !== 'object') {\n accumulator[selector] = styles[selector];\n }\n\n return accumulator;\n }, {});\n var rootStyles = Object.keys(rootRules).length ? cssRuleSetToString(scopeSelector || '', rootRules, userAgent) : '';\n return rootStyles + Object.keys(styles).reduce(function (accumulator, selector) {\n var rules = styles[selector];\n\n if (selector === 'mediaQueries') {\n accumulator += _this._buildMediaQueryString(rules);\n } else if (_typeof(styles[selector]) === 'object') {\n var completeSelector = scopeSelector ? selector.split(',').map(function (part) {\n return scopeSelector + ' ' + part.trim();\n }).join(',') : selector;\n accumulator += cssRuleSetToString(completeSelector, rules, userAgent);\n }\n\n return accumulator;\n }, '');\n }\n }, {\n key: \"_buildMediaQueryString\",\n value: function _buildMediaQueryString(stylesByMediaQuery) {\n var _this2 = this;\n\n var mediaQueryString = '';\n Object.keys(stylesByMediaQuery).forEach(function (query) {\n mediaQueryString += '@media ' + query + '{' + _this2._buildStyles(stylesByMediaQuery[query]) + '}';\n });\n return mediaQueryString;\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!this.props.rules) {\n return null;\n }\n\n var styles = this._buildStyles(this.props.rules);\n\n return React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: styles\n }\n });\n }\n }]);\n\n return Style;\n}(PureComponent);\n\nStyle.propTypes = {\n radiumConfig: PropTypes.object,\n rules: PropTypes.object,\n scopeSelector: PropTypes.string\n};\nStyle.defaultProps = {\n scopeSelector: ''\n};\nexport default withRadiumContexts(Style);","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar StyleKeeper =\n/*#__PURE__*/\nfunction () {\n function StyleKeeper(userAgent) {\n _classCallCheck(this, StyleKeeper);\n\n this._userAgent = void 0;\n this._listeners = void 0;\n this._cssSet = void 0;\n this._userAgent = userAgent;\n this._listeners = [];\n this._cssSet = {};\n }\n\n _createClass(StyleKeeper, [{\n key: \"subscribe\",\n value: function subscribe(listener) {\n var _this = this;\n\n if (this._listeners.indexOf(listener) === -1) {\n this._listeners.push(listener);\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n var listenerIndex = _this._listeners.indexOf(listener);\n\n if (listenerIndex > -1) {\n _this._listeners.splice(listenerIndex, 1);\n }\n }\n };\n }\n }, {\n key: \"addCSS\",\n value: function addCSS(css) {\n var _this2 = this;\n\n if (!this._cssSet[css]) {\n this._cssSet[css] = true;\n\n this._emitChange();\n }\n\n return {\n // Must be fat arrow to capture `this`\n remove: function remove() {\n delete _this2._cssSet[css];\n\n _this2._emitChange();\n }\n };\n }\n }, {\n key: \"getCSS\",\n value: function getCSS() {\n return Object.keys(this._cssSet).join('\\n');\n }\n }, {\n key: \"_emitChange\",\n value: function _emitChange() {\n this._listeners.forEach(function (listener) {\n return listener();\n });\n }\n }]);\n\n return StyleKeeper;\n}();\n\nexport { StyleKeeper as default };","function _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nimport React, { Component } from 'react';\nimport StyleKeeper from '../style-keeper';\nimport { withRadiumContexts } from '../context';\n\nvar StyleSheet =\n/*#__PURE__*/\nfunction (_Component) {\n _inherits(StyleSheet, _Component);\n\n // eslint-disable-next-line react/sort-comp\n function StyleSheet() {\n var _this;\n\n _classCallCheck(this, StyleSheet);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(StyleSheet).apply(this, arguments));\n _this.styleKeeper = void 0;\n _this._subscription = void 0;\n _this._root = void 0;\n _this._css = void 0;\n\n _this._onChange = function () {\n var nextCSS = _this.styleKeeper.getCSS();\n\n if (nextCSS !== _this._css) {\n if (_this._root) {\n _this._root.innerHTML = nextCSS;\n } else {\n throw new Error('No root style object found, even after StyleSheet mount.');\n }\n\n _this._css = nextCSS;\n }\n };\n\n if (!_this.props.styleKeeperContext) {\n throw new Error('StyleRoot is required to use StyleSheet');\n }\n\n _this.styleKeeper = _this.props.styleKeeperContext;\n _this._css = _this.styleKeeper.getCSS();\n return _this;\n }\n\n _createClass(StyleSheet, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._subscription = this.styleKeeper.subscribe(this._onChange);\n\n this._onChange();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate() {\n return false;\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this._subscription) {\n this._subscription.remove();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n return React.createElement(\"style\", {\n dangerouslySetInnerHTML: {\n __html: this._css\n },\n ref: function ref(c) {\n _this2._root = c;\n }\n });\n }\n }]);\n\n return StyleSheet;\n}(Component);\n\nexport default withRadiumContexts(StyleSheet);","function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React, { useContext, useRef } from 'react';\nimport Enhancer from '../enhancer';\nimport StyleKeeper from '../style-keeper';\nimport StyleSheet from './style-sheet';\nimport { StyleKeeperContext, RadiumConfigContext } from '../context';\n\nfunction getStyleKeeper(configProp, configContext) {\n var userAgent = configProp && configProp.userAgent || configContext && configContext.userAgent;\n return new StyleKeeper(userAgent);\n}\n\nvar StyleRootInner = Enhancer(function (_ref) {\n var children = _ref.children,\n otherProps = _objectWithoutProperties(_ref, [\"children\"]);\n\n return React.createElement(\"div\", otherProps, children, React.createElement(StyleSheet, null));\n});\n\nvar StyleRoot = function StyleRoot(props) {\n /* eslint-disable no-unused-vars */\n // Pass down all props except config to the rendered div.\n\n /* eslint-enable no-unused-vars */\n var radiumConfig = props.radiumConfig;\n var configContext = useContext(RadiumConfigContext);\n var styleKeeper = useRef(getStyleKeeper(radiumConfig, configContext));\n return React.createElement(StyleKeeperContext.Provider, {\n value: styleKeeper.current\n }, React.createElement(StyleRootInner, props));\n};\n\nexport default StyleRoot;","import Enhancer from './enhancer';\nimport Plugins from './plugins';\nimport Style from './components/style';\nimport StyleRoot from './components/style-root';\nimport getState from './get-state';\nimport keyframes from './keyframes';\nimport resolveStyles from './resolve-styles';\n\nfunction Radium(ComposedComponent) {\n return Enhancer(ComposedComponent);\n} // Legacy object support.\n//\n// Normally it would be disfavored to attach these to the `Radium` object\n// because it defeats tree-shaking, using instead the ESM exports. But,\n// the `Radium` `Enhancer` uses **all** of these, so there's no extra \"cost\"\n// to them being explicitly on the `Radium` object.\n\n\nRadium.Plugins = Plugins;\nRadium.Style = Style;\nRadium.StyleRoot = StyleRoot;\nRadium.getState = getState;\nRadium.keyframes = keyframes;\n\nif (process.env.NODE_ENV !== 'production') {\n Radium.TestMode = {\n clearState: resolveStyles.__clearStateForTests,\n disable: resolveStyles.__setTestMode.bind(null, false),\n enable: resolveStyles.__setTestMode.bind(null, true)\n };\n}\n\nexport default Radium; // ESM re-exports\n\nexport { Plugins, Style, StyleRoot, getState, keyframes };","import cssRuleSetToString from './css-rule-set-to-string';\nimport hash from './hash';\nimport { getPrefixedKeyframes } from './prefixer';\nexport default function keyframes(keyframeRules, name) {\n return {\n __radiumKeyframes: true,\n __process: function __process(userAgent) {\n var keyframesPrefixed = getPrefixedKeyframes(userAgent);\n var rules = Object.keys(keyframeRules).map(function (percentage) {\n return cssRuleSetToString(percentage, keyframeRules[percentage], userAgent);\n }).join('\\n');\n var animationName = (name ? name + '-' : '') + 'radium-animation-' + hash(rules);\n var css = '@' + keyframesPrefixed + ' ' + animationName + ' {\\n' + rules + '\\n}\\n';\n return {\n css: css,\n animationName: animationName\n };\n }\n };\n}","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Radium from 'radium';\nimport {onError, revert} from '../../actions';\n\nclass UnconnectedComponentErrorBoundary extends Component {\n constructor(props) {\n super(props);\n this.state = {\n myID: props.componentId,\n oldChildren: null,\n hasError: false,\n };\n }\n\n static getDerivedStateFromError(_) {\n return {hasError: true};\n }\n\n componentDidCatch(error, info) {\n const {dispatch} = this.props;\n dispatch(\n onError({\n myID: this.state.myID,\n type: 'frontEnd',\n error,\n info,\n })\n );\n dispatch(revert);\n }\n\n componentDidUpdate(prevProps, prevState) {\n const prevChildren = prevProps.children;\n if (\n !this.state.hasError &&\n prevChildren !== prevState.oldChildren &&\n prevChildren !== this.props.children\n ) {\n /* eslint-disable-next-line react/no-did-update-set-state */\n this.setState({\n oldChildren: prevChildren,\n });\n }\n }\n\n render() {\n const {hasError, oldChildren} = this.state;\n return hasError ? oldChildren : this.props.children;\n }\n}\n\nUnconnectedComponentErrorBoundary.propTypes = {\n children: PropTypes.object,\n componentId: PropTypes.string,\n error: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst ComponentErrorBoundary = connect(\n state => ({\n error: state.error,\n }),\n dispatch => {\n return {dispatch};\n }\n)(Radium(UnconnectedComponentErrorBoundary));\n\nexport default ComponentErrorBoundary;\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport Registry from './registry';\nimport {propTypeErrorHandler} from './exceptions';\nimport {connect} from 'react-redux';\nimport {\n addIndex,\n concat,\n dissoc,\n equals,\n filter,\n has,\n isEmpty,\n isNil,\n keys,\n map,\n mergeRight,\n pick,\n pickBy,\n propOr,\n type,\n} from 'ramda';\nimport {notifyObservers, updateProps} from './actions';\nimport isSimpleComponent from './isSimpleComponent';\nimport {recordUiEdit} from './persistence';\nimport ComponentErrorBoundary from './components/error/ComponentErrorBoundary.react';\nimport checkPropTypes from './checkPropTypes';\nimport {getWatchedKeys, stringifyId} from './actions/dependencies';\n\nfunction validateComponent(componentDefinition) {\n if (type(componentDefinition) === 'Array') {\n throw new Error(\n 'The children property of a component is a list of lists, instead ' +\n 'of just a list. ' +\n 'Check the component that has the following contents, ' +\n 'and remove one of the levels of nesting: \\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n if (\n type(componentDefinition) === 'Object' &&\n !(\n has('namespace', componentDefinition) &&\n has('type', componentDefinition) &&\n has('props', componentDefinition)\n )\n ) {\n throw new Error(\n 'An object was provided as `children` instead of a component, ' +\n 'string, or number (or list of those). ' +\n 'Check the children property that looks something like:\\n' +\n JSON.stringify(componentDefinition, null, 2)\n );\n }\n}\n\nconst createContainer = (component, path) =>\n isSimpleComponent(component) ? (\n component\n ) : (\n <AugmentedTreeContainer\n key={\n component && component.props && stringifyId(component.props.id)\n }\n _dashprivate_layout={component}\n _dashprivate_path={path}\n />\n );\n\nfunction CheckedComponent(p) {\n const {element, extraProps, props, children, type} = p;\n\n const errorMessage = checkPropTypes(\n element.propTypes,\n props,\n 'component prop',\n element\n );\n if (errorMessage) {\n propTypeErrorHandler(errorMessage, props, type);\n }\n\n return createElement(element, props, extraProps, children);\n}\n\nCheckedComponent.propTypes = {\n children: PropTypes.any,\n element: PropTypes.any,\n layout: PropTypes.any,\n props: PropTypes.any,\n extraProps: PropTypes.any,\n id: PropTypes.string,\n};\n\nfunction createElement(element, props, extraProps, children) {\n const allProps = mergeRight(props, extraProps);\n if (Array.isArray(children)) {\n return React.createElement(element, allProps, ...children);\n }\n return React.createElement(element, allProps, children);\n}\n\nclass TreeContainer extends Component {\n constructor(props) {\n super(props);\n\n this.setProps = this.setProps.bind(this);\n }\n\n setProps(newProps) {\n const {\n _dashprivate_graphs,\n _dashprivate_dispatch,\n _dashprivate_path,\n _dashprivate_layout,\n } = this.props;\n\n const oldProps = this.getLayoutProps();\n const {id} = oldProps;\n const changedProps = pickBy(\n (val, key) => !equals(val, oldProps[key]),\n newProps\n );\n if (!isEmpty(changedProps)) {\n // Identify the modified props that are required for callbacks\n const watchedKeys = getWatchedKeys(\n id,\n keys(changedProps),\n _dashprivate_graphs\n );\n\n // setProps here is triggered by the UI - record these changes\n // for persistence\n recordUiEdit(_dashprivate_layout, newProps, _dashprivate_dispatch);\n\n // Always update this component's props\n _dashprivate_dispatch(\n updateProps({\n props: changedProps,\n itempath: _dashprivate_path,\n })\n );\n\n // Only dispatch changes to Dash if a watched prop changed\n if (watchedKeys.length) {\n _dashprivate_dispatch(\n notifyObservers({\n id,\n props: pick(watchedKeys, changedProps),\n })\n );\n }\n }\n }\n\n getChildren(components, path) {\n if (isNil(components)) {\n return null;\n }\n\n return Array.isArray(components)\n ? addIndex(map)(\n (component, i) =>\n createContainer(\n component,\n concat(path, ['props', 'children', i])\n ),\n components\n )\n : createContainer(components, concat(path, ['props', 'children']));\n }\n\n getComponent(_dashprivate_layout, children, loading_state, setProps) {\n const {_dashprivate_config} = this.props;\n\n if (isEmpty(_dashprivate_layout)) {\n return null;\n }\n\n if (isSimpleComponent(_dashprivate_layout)) {\n return _dashprivate_layout;\n }\n validateComponent(_dashprivate_layout);\n\n const element = Registry.resolve(_dashprivate_layout);\n\n const props = dissoc('children', _dashprivate_layout.props);\n\n if (type(props.id) === 'Object') {\n // Turn object ids (for wildcards) into unique strings.\n // Because of the `dissoc` above we're not mutating the layout,\n // just the id we pass on to the rendered component\n props.id = stringifyId(props.id);\n }\n const extraProps = {loading_state, setProps};\n\n return (\n <ComponentErrorBoundary\n componentType={_dashprivate_layout.type}\n componentId={props.id}\n key={props.id}\n >\n {_dashprivate_config.props_check ? (\n <CheckedComponent\n children={children}\n element={element}\n props={props}\n extraProps={extraProps}\n type={_dashprivate_layout.type}\n />\n ) : (\n createElement(element, props, extraProps, children)\n )}\n </ComponentErrorBoundary>\n );\n }\n\n shouldComponentUpdate(nextProps) {\n const {_dashprivate_layout, _dashprivate_loadingState} = nextProps;\n return (\n _dashprivate_layout !== this.props._dashprivate_layout ||\n _dashprivate_loadingState.is_loading !==\n this.props._dashprivate_loadingState.is_loading\n );\n }\n\n getLayoutProps() {\n return propOr({}, 'props', this.props._dashprivate_layout);\n }\n\n render() {\n const {\n _dashprivate_layout,\n _dashprivate_loadingState,\n _dashprivate_path,\n } = this.props;\n\n const layoutProps = this.getLayoutProps();\n\n const children = this.getChildren(\n layoutProps.children,\n _dashprivate_path\n );\n\n return this.getComponent(\n _dashprivate_layout,\n children,\n _dashprivate_loadingState,\n this.setProps\n );\n }\n}\n\nTreeContainer.propTypes = {\n _dashprivate_graphs: PropTypes.any,\n _dashprivate_dispatch: PropTypes.func,\n _dashprivate_layout: PropTypes.object,\n _dashprivate_loadingState: PropTypes.object,\n _dashprivate_config: PropTypes.object,\n _dashprivate_path: PropTypes.array,\n};\n\nfunction isLoadingComponent(layout) {\n validateComponent(layout);\n return Registry.resolve(layout)._dashprivate_isLoadingComponent;\n}\n\nfunction getNestedIds(layout) {\n const ids = [];\n const queue = [layout];\n\n while (queue.length) {\n const elementLayout = queue.shift();\n\n const props = elementLayout && elementLayout.props;\n\n if (!props) {\n continue;\n }\n\n const {children, id} = props;\n\n if (id) {\n ids.push(id);\n }\n\n if (children) {\n const filteredChildren = filter(\n child =>\n !isSimpleComponent(child) && !isLoadingComponent(child),\n Array.isArray(children) ? children : [children]\n );\n\n queue.push(...filteredChildren);\n }\n }\n\n return ids;\n}\n\nfunction getLoadingState(layout, pendingCallbacks) {\n const ids = isLoadingComponent(layout)\n ? getNestedIds(layout)\n : layout && layout.props.id && [layout.props.id];\n\n let isLoading = false;\n let loadingProp;\n let loadingComponent;\n\n if (pendingCallbacks && pendingCallbacks.length && ids && ids.length) {\n const idStrs = ids.map(stringifyId);\n\n pendingCallbacks.forEach(cb => {\n const {requestId, requestedOutputs} = cb;\n if (requestId === undefined) {\n return;\n }\n\n idStrs.forEach(idStr => {\n const props = requestedOutputs[idStr];\n if (props) {\n isLoading = true;\n // TODO: what about multiple loading components / props?\n loadingComponent = idStr;\n loadingProp = props[0];\n }\n });\n });\n }\n\n // Set loading state\n return {\n is_loading: isLoading,\n prop_name: loadingProp,\n component_name: loadingComponent,\n };\n}\n\nexport const AugmentedTreeContainer = connect(\n state => ({\n graphs: state.graphs,\n pendingCallbacks: state.pendingCallbacks,\n config: state.config,\n }),\n dispatch => ({dispatch}),\n (stateProps, dispatchProps, ownProps) => ({\n _dashprivate_graphs: stateProps.graphs,\n _dashprivate_dispatch: dispatchProps.dispatch,\n _dashprivate_layout: ownProps._dashprivate_layout,\n _dashprivate_path: ownProps._dashprivate_path,\n _dashprivate_loadingState: getLoadingState(\n ownProps._dashprivate_layout,\n stateProps.pendingCallbacks\n ),\n _dashprivate_config: stateProps.config,\n })\n)(TreeContainer);\n\nexport default AugmentedTreeContainer;\n","/*\n * Copied out of prop-types and modified - inspired by check-prop-types, but\n * simplified and tweaked to our needs: we don't need the NODE_ENV check,\n * we report all errors, not just the first one, and we don't need the throwing\n * variant `assertPropTypes`.\n */\nimport ReactPropTypesSecret from 'prop-types/lib/ReactPropTypesSecret';\n\n/**\n * Assert that the values match with the type specs.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @return {string} Any error messsage resulting from checking the types\n */\nexport default function checkPropTypes(\n typeSpecs,\n values,\n location,\n componentName,\n getStack\n) {\n const errors = [];\n for (const typeSpecName in typeSpecs) {\n if (typeSpecs.hasOwnProperty(typeSpecName)) {\n let error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n error = Error(\n (componentName || 'React class') +\n ': ' +\n location +\n ' type `' +\n typeSpecName +\n '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' +\n typeof typeSpecs[typeSpecName] +\n '`.'\n );\n error.name = 'Invariant Violation';\n } else {\n error = typeSpecs[typeSpecName](\n values,\n typeSpecName,\n componentName,\n location,\n null,\n ReactPropTypesSecret\n );\n }\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n errors.push(\n (componentName || 'React class') +\n ': type specification of ' +\n location +\n ' `' +\n typeSpecName +\n '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' +\n typeof error +\n '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error) {\n var stack = (getStack && getStack()) || '';\n\n errors.push(\n 'Failed ' + location + ' type: ' + error.message + stack\n );\n }\n }\n }\n return errors.join('\\n\\n');\n}\n","import {has, includes} from 'ramda';\n\nexport function propTypeErrorHandler(message, props, type) {\n /*\n * propType error messages are constructed in\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js\n * (Version 15.7.2)\n *\n * Parse these exception objects to remove JS source code and improve\n * the clarity.\n *\n * If wrong prop type was passed in, message looks like:\n *\n * Error: \"Failed component prop type: Invalid component prop `animate` of type `number` supplied to `function GraphWithDefaults(props) {\n * var id = props.id ? props.id : generateId();\n * return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(PlotlyGraph, _extends({}, props, {\n * id: id\n * }));\n * }`, expected `boolean`.\"\n *\n *\n * If a required prop type was omitted, message looks like:\n *\n * \"Failed component prop type: The component prop `options[0].value` is marked as required in `function Checklist(props) {\n * var _this;\n *\n * _classCallCheck(this, Checklist);\n *\n * _this = _possibleConstructorReturn(this, _getPrototypeOf(Checklist).call(this, props));\n * _this.state = {\n * values: props.values\n * };\n * return _this;\n * }`, but its value is `undefined`.\"\n *\n */\n\n const messageParts = message.split('`');\n let errorMessage;\n if (includes('is marked as required', message)) {\n const invalidPropPath = messageParts[1];\n errorMessage = `${invalidPropPath} in ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += ` is required but it was not provided.`;\n } else if (includes('Bad object', message)) {\n /*\n * Handle .exact errors\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L438-L442\n */\n errorMessage =\n message.split('supplied to ')[0] +\n `supplied to ${type}` +\n '.\\nBad' +\n message.split('.\\nBad')[1];\n } else if (\n includes('Invalid ', message) &&\n includes(' supplied to ', message)\n ) {\n const invalidPropPath = messageParts[1];\n\n errorMessage = `Invalid argument \\`${invalidPropPath}\\` passed into ${type}`;\n if (props.id) {\n errorMessage += ` with ID \"${props.id}\"`;\n }\n errorMessage += '.';\n\n /*\n * Not all error messages include the expected value.\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(', expected ', message)) {\n const expectedPropType = message.split(', expected ')[1];\n errorMessage += `\\nExpected ${expectedPropType}`;\n }\n\n /*\n * Not all error messages include the type\n * In particular, oneOfType.\n * https://github.com/facebook/prop-types/blob/v15.7.2/factoryWithTypeCheckers.js#L388\n */\n if (includes(' of type `', message)) {\n const invalidPropTypeProvided = message\n .split(' of type `')[1]\n .split('`')[0];\n errorMessage += `\\nWas supplied type \\`${invalidPropTypeProvided}\\`.`;\n }\n\n if (has(invalidPropPath, props)) {\n /*\n * invalidPropPath may be nested like `options[0].value`.\n * For now, we won't try to unpack these nested options\n * but we could in the future.\n */\n const jsonSuppliedValue = JSON.stringify(\n props[invalidPropPath],\n null,\n 2\n );\n if (jsonSuppliedValue) {\n if (includes('\\n', jsonSuppliedValue)) {\n errorMessage += `\\nValue provided: \\n${jsonSuppliedValue}`;\n } else {\n errorMessage += `\\nValue provided: ${jsonSuppliedValue}`;\n }\n }\n }\n } else {\n /*\n * Not aware of other prop type warning messages.\n * But, if they exist, then at least throw the default\n * react prop types error\n */\n throw new Error(message);\n }\n\n throw new Error(errorMessage);\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass GlobalErrorContainer extends Component {\n constructor(props) {\n super(props);\n }\n render() {\n return <div id=\"_dash-app-content\">{this.props.children}</div>;\n }\n}\n\nGlobalErrorContainer.propTypes = {\n children: PropTypes.object,\n};\n\nexport default GlobalErrorContainer;\n","import {mergeDeepRight} from 'ramda';\nimport {handleAsyncError, getCSRFHeader} from '../actions';\nimport {urlBase} from './utils';\n\nfunction GET(path, fetchConfig) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'GET',\n headers: getCSRFHeader(),\n })\n );\n}\n\nfunction POST(path, fetchConfig, body = {}) {\n return fetch(\n path,\n mergeDeepRight(fetchConfig, {\n method: 'POST',\n headers: getCSRFHeader(),\n body: body ? JSON.stringify(body) : null,\n })\n );\n}\n\nconst request = {GET, POST};\n\nexport default function apiThunk(endpoint, method, store, id, body) {\n return (dispatch, getState) => {\n const config = getState().config;\n const url = `${urlBase(config)}${endpoint}`;\n\n dispatch({\n type: store,\n payload: {id, status: 'loading'},\n });\n return request[method](url, config.fetch, body)\n .then(res => {\n const contentType = res.headers.get('content-type');\n if (\n contentType &&\n contentType.indexOf('application/json') !== -1\n ) {\n return res.json().then(json => {\n dispatch({\n type: store,\n payload: {\n status: res.status,\n content: json,\n id,\n },\n });\n return json;\n });\n }\n return dispatch({\n type: store,\n payload: {\n id,\n status: res.status,\n },\n });\n })\n .catch(err => {\n const message = 'Error from API call: ' + endpoint;\n handleAsyncError(err, message, dispatch);\n });\n };\n}\n","import {connect} from 'react-redux';\nimport {includes, isEmpty} from 'ramda';\nimport React, {useEffect, useRef, useState} from 'react';\nimport PropTypes from 'prop-types';\nimport TreeContainer from './TreeContainer';\nimport GlobalErrorContainer from './components/error/GlobalErrorContainer.react';\nimport {\n dispatchError,\n hydrateInitialOutputs,\n onError,\n setGraphs,\n setPaths,\n setLayout,\n} from './actions';\nimport {computePaths} from './actions/paths';\nimport {computeGraphs} from './actions/dependencies';\nimport apiThunk from './actions/api';\nimport {EventEmitter} from './actions/utils';\nimport {applyPersistence} from './persistence';\nimport {getAppState} from './reducers/constants';\nimport {STATUS} from './constants/constants';\n\n/**\n * Fire off API calls for initialization\n * @param {*} props props\n * @returns {*} component\n */\nconst UnconnectedContainer = props => {\n const [errorLoading, setErrorLoading] = useState(false);\n\n const events = useRef(null);\n if (!events.current) {\n events.current = new EventEmitter();\n }\n const renderedTree = useRef(false);\n\n useEffect(storeEffect.bind(null, props, events, setErrorLoading));\n\n useEffect(() => {\n if (renderedTree.current) {\n renderedTree.current = false;\n events.current.emit('rendered');\n }\n });\n\n const {\n appLifecycle,\n dependenciesRequest,\n layoutRequest,\n layout,\n config,\n } = props;\n\n let content;\n if (\n layoutRequest.status &&\n !includes(layoutRequest.status, [STATUS.OK, 'loading'])\n ) {\n content = <div className=\"_dash-error\">Error loading layout</div>;\n } else if (\n errorLoading ||\n (dependenciesRequest.status &&\n !includes(dependenciesRequest.status, [STATUS.OK, 'loading']))\n ) {\n content = <div className=\"_dash-error\">Error loading dependencies</div>;\n } else if (appLifecycle === getAppState('HYDRATED')) {\n renderedTree.current = true;\n content = (\n <TreeContainer\n _dashprivate_layout={layout}\n _dashprivate_path={[]}\n />\n );\n } else {\n content = <div className=\"_dash-loading\">Loading...</div>;\n }\n\n return config && config.ui === true ? (\n <GlobalErrorContainer>{content}</GlobalErrorContainer>\n ) : (\n content\n );\n};\n\nfunction storeEffect(props, events, setErrorLoading) {\n const {\n appLifecycle,\n dependenciesRequest,\n dispatch,\n error,\n graphs,\n layout,\n layoutRequest,\n } = props;\n\n if (isEmpty(layoutRequest)) {\n dispatch(apiThunk('_dash-layout', 'GET', 'layoutRequest'));\n } else if (layoutRequest.status === STATUS.OK) {\n if (isEmpty(layout)) {\n const finalLayout = applyPersistence(\n layoutRequest.content,\n dispatch\n );\n dispatch(\n setPaths(computePaths(finalLayout, [], null, events.current))\n );\n dispatch(setLayout(finalLayout));\n }\n }\n\n if (isEmpty(dependenciesRequest)) {\n dispatch(apiThunk('_dash-dependencies', 'GET', 'dependenciesRequest'));\n } else if (dependenciesRequest.status === STATUS.OK && isEmpty(graphs)) {\n dispatch(\n setGraphs(\n computeGraphs(\n dependenciesRequest.content,\n dispatchError(dispatch)\n )\n )\n );\n }\n\n if (\n // dependenciesRequest and its computed stores\n dependenciesRequest.status === STATUS.OK &&\n !isEmpty(graphs) &&\n // LayoutRequest and its computed stores\n layoutRequest.status === STATUS.OK &&\n !isEmpty(layout) &&\n // Hasn't already hydrated\n appLifecycle === getAppState('STARTED')\n ) {\n let hasError = false;\n try {\n dispatch(hydrateInitialOutputs(dispatchError(dispatch)));\n } catch (err) {\n // Display this error in devtools, unless we have errors\n // already, in which case we assume this new one is moot\n if (!error.frontEnd.length && !error.backEnd.length) {\n dispatch(onError({type: 'backEnd', error: err}));\n }\n hasError = true;\n } finally {\n setErrorLoading(hasError);\n }\n }\n}\n\nUnconnectedContainer.propTypes = {\n appLifecycle: PropTypes.oneOf([\n getAppState('STARTED'),\n getAppState('HYDRATED'),\n ]),\n dispatch: PropTypes.func,\n dependenciesRequest: PropTypes.object,\n graphs: PropTypes.object,\n layoutRequest: PropTypes.object,\n layout: PropTypes.object,\n history: PropTypes.any,\n error: PropTypes.object,\n config: PropTypes.object,\n};\n\nconst Container = connect(\n // map state to props\n state => ({\n appLifecycle: state.appLifecycle,\n dependenciesRequest: state.dependenciesRequest,\n layoutRequest: state.layoutRequest,\n layout: state.layout,\n graphs: state.graphs,\n history: state.history,\n error: state.error,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedContainer);\n\nexport default Container;\n","import {connect} from 'react-redux';\nimport {Component} from 'react';\nimport PropTypes from 'prop-types';\n\nclass DocumentTitle extends Component {\n constructor(props) {\n super(props);\n this.state = {\n initialTitle: document.title,\n };\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n if (props.pendingCallbacks.length) {\n document.title = 'Updating...';\n } else {\n document.title = this.state.initialTitle;\n }\n }\n\n shouldComponentUpdate() {\n return false;\n }\n\n render() {\n return null;\n }\n}\n\nDocumentTitle.propTypes = {\n pendingCallbacks: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n pendingCallbacks: state.pendingCallbacks,\n}))(DocumentTitle);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction Loading(props) {\n if (props.pendingCallbacks.length) {\n return <div className=\"_dash-loading-callback\" />;\n }\n return null;\n}\n\nLoading.propTypes = {\n pendingCallbacks: PropTypes.array.isRequired,\n};\n\nexport default connect(state => ({\n pendingCallbacks: state.pendingCallbacks,\n}))(Loading);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {mergeRight} from 'ramda';\nimport {redo, undo} from '../../actions/index.js';\nimport Radium from 'radium';\n\nfunction UnconnectedToolbar(props) {\n const {dispatch, history} = props;\n const styles = {\n parentSpanStyle: {\n display: 'inline-block',\n opacity: '0.2',\n ':hover': {\n opacity: 1,\n },\n },\n iconStyle: {\n fontSize: 20,\n },\n labelStyle: {\n fontSize: 15,\n },\n };\n\n const undoLink = (\n <span\n key=\"undoLink\"\n style={mergeRight(\n {\n color: history.past.length ? '#0074D9' : 'grey',\n cursor: history.past.length ? 'pointer' : 'default',\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(undo)}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(270deg)'},\n styles.iconStyle\n )}\n >\n ↺\n </div>\n <div style={styles.labelStyle}>undo</div>\n </span>\n );\n\n const redoLink = (\n <span\n key=\"redoLink\"\n style={mergeRight(\n {\n color: history.future.length ? '#0074D9' : 'grey',\n cursor: history.future.length ? 'pointer' : 'default',\n marginLeft: 10,\n },\n styles.parentSpanStyle\n )}\n onClick={() => dispatch(redo)}\n >\n <div\n style={mergeRight(\n {transform: 'rotate(90deg)'},\n styles.iconStyle\n )}\n >\n ↻\n </div>\n <div style={styles.labelStyle}>redo</div>\n </span>\n );\n\n return (\n <div\n className=\"_dash-undo-redo\"\n style={{\n position: 'fixed',\n bottom: '30px',\n left: '30px',\n fontSize: '20px',\n textAlign: 'center',\n zIndex: '9999',\n backgroundColor: 'rgba(255, 255, 255, 0.9)',\n }}\n >\n <div\n style={{\n position: 'relative',\n }}\n >\n {history.past.length > 0 ? undoLink : null}\n {history.future.length > 0 ? redoLink : null}\n </div>\n </div>\n );\n}\n\nUnconnectedToolbar.propTypes = {\n history: PropTypes.object,\n dispatch: PropTypes.func,\n};\n\nconst Toolbar = connect(\n state => ({\n history: state.history,\n }),\n dispatch => ({dispatch})\n)(Radium(UnconnectedToolbar));\n\nexport default Toolbar;\n","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns a copy of the list, sorted according to the comparator function,\n * which should accept two values at a time and return a negative number if the\n * first value is smaller, a positive number if it's larger, and zero if they\n * are equal. Please note that this is a **copy** of the list. It does not\n * modify the original.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category List\n * @sig ((a, a) -> Number) -> [a] -> [a]\n * @param {Function} comparator A sorting function :: a -> b -> Int\n * @param {Array} list The list to sort\n * @return {Array} a new array with its elements sorted by the comparator function.\n * @example\n *\n * const diff = function(a, b) { return a - b; };\n * R.sort(diff, [4,2,7,5]); //=> [2, 4, 5, 7]\n */\n\nvar sort =\n/*#__PURE__*/\n_curry2(function sort(comparator, list) {\n return Array.prototype.slice.call(list, 0).sort(comparator);\n});\n\nexport default sort;","import _curry1 from \"./internal/_curry1.js\";\n/**\n * Makes a comparator function out of a function that reports whether the first\n * element is less than the second.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Function\n * @sig ((a, b) -> Boolean) -> ((a, b) -> Number)\n * @param {Function} pred A predicate function of arity two which will return `true` if the first argument\n * is less than the second, `false` otherwise\n * @return {Function} A Function :: a -> b -> Int that returns `-1` if a < b, `1` if b < a, otherwise `0`\n * @example\n *\n * const byAge = R.comparator((a, b) => a.age < b.age);\n * const people = [\n * { name: 'Emma', age: 70 },\n * { name: 'Peter', age: 78 },\n * { name: 'Mikhail', age: 62 },\n * ];\n * const peopleByIncreasingAge = R.sort(byAge, people);\n * //=> [{ name: 'Mikhail', age: 62 },{ name: 'Emma', age: 70 }, { name: 'Peter', age: 78 }]\n */\n\nvar comparator =\n/*#__PURE__*/\n_curry1(function comparator(pred) {\n return function (a, b) {\n return pred(a, b) ? -1 : pred(b, a) ? 1 : 0;\n };\n});\n\nexport default comparator;","import _curry2 from \"./internal/_curry2.js\";\n/**\n * Returns `true` if the first argument is less than the second; `false`\n * otherwise.\n *\n * @func\n * @memberOf R\n * @since v0.1.0\n * @category Relation\n * @sig Ord a => a -> a -> Boolean\n * @param {*} a\n * @param {*} b\n * @return {Boolean}\n * @see R.gt\n * @example\n *\n * R.lt(2, 1); //=> false\n * R.lt(2, 2); //=> false\n * R.lt(2, 3); //=> true\n * R.lt('a', 'z'); //=> true\n * R.lt('z', 'a'); //=> false\n */\n\nvar lt =\n/*#__PURE__*/\n_curry2(function lt(a, b) {\n return a < b;\n});\n\nexport default lt;","import {\n comparator,\n equals,\n forEach,\n has,\n isEmpty,\n lt,\n path,\n pathOr,\n sort,\n} from 'ramda';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {connect} from 'react-redux';\nimport apiThunk from '../../actions/api';\n\nclass Reloader extends React.Component {\n constructor(props) {\n super(props);\n if (props.config.hot_reload) {\n const {interval, max_retry} = props.config.hot_reload;\n this.state = {\n interval,\n disabled: false,\n intervalId: null,\n packages: null,\n max_retry,\n };\n } else {\n this.state = {\n disabled: true,\n };\n }\n this._retry = 0;\n this._head = document.querySelector('head');\n this.clearInterval = this.clearInterval.bind(this);\n }\n\n clearInterval() {\n window.clearInterval(this.state.intervalId);\n this.setState({intervalId: null});\n }\n\n static getDerivedStateFromProps(props) {\n /*\n * Save the non-loading requests in the state in order to compare\n * current hashes with previous hashes.\n * Note that if there wasn't a \"loading\" state for the requests,\n * then we could simply compare `props` with `prevProps` in\n * `componentDidUpdate`.\n */\n if (\n !isEmpty(props.reloadRequest) &&\n props.reloadRequest.status !== 'loading'\n ) {\n return {reloadRequest: props.reloadRequest};\n }\n return null;\n }\n\n componentDidUpdate(prevProps, prevState) {\n const {reloadRequest} = this.state;\n const {dispatch} = this.props;\n\n // In the beginning, reloadRequest won't be defined\n if (!reloadRequest) {\n return;\n }\n\n /*\n * When reloadRequest is first defined, prevState won't be defined\n * for one render loop.\n * The first reloadRequest defines the initial/baseline hash -\n * it doesn't require a reload\n */\n if (!has('reloadRequest', prevState)) {\n return;\n }\n\n if (\n reloadRequest.status === 200 &&\n path(['content', 'reloadHash'], reloadRequest) !==\n path(['reloadRequest', 'content', 'reloadHash'], prevState)\n ) {\n // Check for CSS (!content.hard) or new package assets\n if (\n reloadRequest.content.hard ||\n !equals(\n reloadRequest.content.packages.length,\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n ).length\n ) ||\n !equals(\n sort(comparator(lt), reloadRequest.content.packages),\n sort(\n comparator(lt),\n pathOr(\n [],\n ['reloadRequest', 'content', 'packages'],\n prevState\n )\n )\n )\n ) {\n // Look if it was a css file.\n let was_css = false;\n // eslint-disable-next-line prefer-const\n for (let a of reloadRequest.content.files) {\n if (a.is_css) {\n was_css = true;\n const nodesToDisable = [];\n\n // Search for the old file by xpath.\n const it = document.evaluate(\n `//link[contains(@href, \"${a.url}\")]`,\n this._head\n );\n let node = it.iterateNext();\n\n while (node) {\n nodesToDisable.push(node);\n node = it.iterateNext();\n }\n\n forEach(\n n => n.setAttribute('disabled', 'disabled'),\n nodesToDisable\n );\n\n if (a.modified > 0) {\n const link = document.createElement('link');\n link.href = `${a.url}?m=${a.modified}`;\n link.type = 'text/css';\n link.rel = 'stylesheet';\n this._head.appendChild(link);\n // Else the file was deleted.\n }\n } else {\n // If there's another kind of file here do a hard reload.\n was_css = false;\n break;\n }\n }\n if (!was_css) {\n // Assets file have changed\n // or a component lib has been added/removed -\n // Must do a hard reload\n window.top.location.reload();\n }\n } else {\n // Backend code changed - can do a soft reload in place\n dispatch({type: 'RELOAD'});\n }\n } else if (reloadRequest.status === 500) {\n if (this._retry > this.state.max_retry) {\n this.clearInterval();\n // Integrate with dev tools ui?!\n window.alert(\n `\n Reloader failed after ${this._retry} times.\n Please check your application for errors.\n `\n );\n }\n this._retry++;\n }\n }\n\n componentDidMount() {\n const {dispatch, reloadRequest} = this.props;\n const {disabled, interval} = this.state;\n if (!disabled && !this.state.intervalId) {\n const intervalId = window.setInterval(() => {\n // Prevent requests from piling up - reloading can take\n // many seconds (10-30) and the interval is 3s by default\n if (reloadRequest.status !== 'loading') {\n dispatch(apiThunk('_reload-hash', 'GET', 'reloadRequest'));\n }\n }, interval);\n this.setState({intervalId});\n }\n }\n\n componentWillUnmount() {\n if (!this.state.disabled && this.state.intervalId) {\n this.clearInterval();\n }\n }\n\n render() {\n return null;\n }\n}\n\nReloader.defaultProps = {};\n\nReloader.propTypes = {\n id: PropTypes.string,\n config: PropTypes.object,\n reloadRequest: PropTypes.object,\n dispatch: PropTypes.func,\n interval: PropTypes.number,\n};\n\nexport default connect(\n state => ({\n config: state.config,\n reloadRequest: state.reloadRequest,\n }),\n dispatch => ({dispatch})\n)(Reloader);\n","import {connect} from 'react-redux';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport APIController from './APIController.react';\nimport DocumentTitle from './components/core/DocumentTitle.react';\nimport Loading from './components/core/Loading.react';\nimport Toolbar from './components/core/Toolbar.react';\nimport Reloader from './components/core/Reloader.react';\nimport {setHooks, setConfig} from './actions/index';\nimport {type} from 'ramda';\n\nclass UnconnectedAppContainer extends React.Component {\n constructor(props) {\n super(props);\n if (\n props.hooks.request_pre !== null ||\n props.hooks.request_post !== null\n ) {\n props.dispatch(setHooks(props.hooks));\n }\n }\n\n UNSAFE_componentWillMount() {\n const {dispatch} = this.props;\n const config = JSON.parse(\n document.getElementById('_dash-config').textContent\n );\n\n // preset common request params in the config\n config.fetch = {\n credentials: 'same-origin',\n headers: {\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n },\n };\n\n dispatch(setConfig(config));\n }\n\n render() {\n const {config} = this.props;\n if (type(config) === 'Null') {\n return <div className=\"_dash-loading\">Loading...</div>;\n }\n const {show_undo_redo} = config;\n return (\n <React.Fragment>\n {show_undo_redo ? <Toolbar /> : null}\n <APIController />\n <DocumentTitle />\n <Loading />\n <Reloader />\n </React.Fragment>\n );\n }\n}\n\nUnconnectedAppContainer.propTypes = {\n hooks: PropTypes.object,\n dispatch: PropTypes.func,\n config: PropTypes.object,\n};\n\nconst AppContainer = connect(\n state => ({\n history: state.history,\n config: state.config,\n }),\n dispatch => ({dispatch})\n)(UnconnectedAppContainer);\n\nexport default AppContainer;\n","import React from 'react';\nimport {Provider} from 'react-redux';\n\nimport initializeStore from './store';\nimport AppContainer from './AppContainer.react';\n\nimport PropTypes from 'prop-types';\n\nconst store = initializeStore();\n\nconst AppProvider = ({hooks}) => {\n return (\n <Provider store={store}>\n <AppContainer hooks={hooks} />\n </Provider>\n );\n};\n\nAppProvider.propTypes = {\n hooks: PropTypes.shape({\n request_pre: PropTypes.func,\n request_post: PropTypes.func,\n }),\n};\n\nAppProvider.defaultProps = {\n hooks: {\n request_pre: null,\n request_post: null,\n },\n};\n\nexport default AppProvider;\n","import {DashRenderer} from './DashRenderer';\n\n// make DashRenderer globally available\nwindow.DashRenderer = DashRenderer;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport AppProvider from './AppProvider.react';\n\nclass DashRenderer {\n constructor(hooks) {\n // render Dash Renderer upon initialising!\n ReactDOM.render(\n <AppProvider hooks={hooks} />,\n document.getElementById('react-entry-point')\n );\n }\n}\n\nexport {DashRenderer};\n"],"sourceRoot":""} \ No newline at end of file diff --git a/man/Dash.Rd b/man/Dash.Rd index bf7e9aa4..57b3823c 100644 --- a/man/Dash.Rd +++ b/man/Dash.Rd @@ -26,14 +26,15 @@ routes_pathname_prefix = NULL, requests_pathname_prefix = NULL, external_scripts = NULL, external_stylesheets = NULL, -suppress_callback_exceptions = FALSE +suppress_callback_exceptions = FALSE, +show_undo_redo = FALSE ) } \section{Arguments}{ \tabular{lll}{ -\code{name} \tab \tab Character. The name of the Dash application (placed in the \code{<title>} +\code{name} \tab \tab Character. The name of the Dash application (placed in the title of the HTML page). DEPRECATED; please use \code{index_string()} or \code{interpolate_index()} instead.\cr \code{server} \tab \tab The web server used to power the application. Must be a \link[fiery:Fire]{fiery::Fire} object.\cr @@ -48,6 +49,9 @@ immediate loading. Ignored files will still be served if specifically requested. cannot use this to prevent access to sensitive files. \cr \code{serve_locally} \tab \tab Logical. Whether to serve HTML dependencies locally or remotely (via URL).\cr +\code{compress} \tab \tab Logical. Whether to try to compress files and data served by Fiery. +By default, \code{brotli} is attempted first, then \code{gzip}, then the \code{deflate} algorithm, before falling +back to \code{identity}.\cr \code{meta_tags} \tab \tab List of lists. HTML \code{<meta>}tags to be added to the index page. Each list element should have the attributes and values for one tag, eg: \code{list(name = 'description', content = 'My App')}.\cr @@ -63,7 +67,9 @@ to serve JavaScript source for rendered pages.\cr \code{external_stylesheets} \tab \tab List. An optional list of valid URLs from which to serve CSS for rendered pages.\cr \code{suppress_callback_exceptions} \tab \tab Logical. Whether to relay warnings about -possible layout mis-specifications when registering a callback. +possible layout mis-specifications when registering a callback.\cr +\code{show_undo_redo} \tab \tab Logical. Set to \code{TRUE} to enable undo and redo buttons for +stepping through the history of the app state. } } @@ -101,18 +107,24 @@ The \code{callback} method has three formal arguments: \describe{ \item{output}{a named list including a component \code{id} and \code{property}} \item{params}{an unnamed list of \link{input} and \link{state} statements, each with defined \code{id} and \code{property}} -\item{func}{any valid R function which generates \link{output} provided \link{input} and/or \link{state} arguments, or a call to \link{clientsideFunction} including \code{namespace} and \code{function_name} arguments for a locally served JavaScript function} +\item{func}{any valid R function which generates \link{output} provided \link{input} and/or \link{state} arguments, +a character string containing valid JavaScript, or a call to \link{clientsideFunction} including \code{namespace} +and \code{function_name} arguments for a locally served JavaScript function} } The \code{output} argument defines which layout component property should receive the results (via the \link{output} object). The events that trigger the callback are then described by the \link{input} (and/or \link{state}) object(s) (which should reference layout components), which become argument values for R callback handlers defined in \code{func}. Here \code{func} may -either be an anonymous R function, or a call to \code{clientsideFunction()}, which -describes a locally served JavaScript function instead. The latter defines a -"clientside callback", which updates components without passing data to and +either be an anonymous R function, a JavaScript function provided as a +character string, or a call to \code{clientsideFunction()}, which describes a +locally served JavaScript function instead. The latter two methods define +a "clientside callback", which updates components without passing data to and from the Dash backend. The latter may offer improved performance relative -to callbacks written in R. +to callbacks written purely in R. +} +\item{\code{title("dash")}}{ +The title of the app. If no title is supplied, Dash for R will use 'dash'. } \item{\code{title("dash")}}{ The title of the app. If no title is supplied, Dash for R will use 'dash'. @@ -131,6 +143,29 @@ but this is configurable via the \code{prefix} parameter. Note: this method will present a warning and return \code{NULL} if the Dash app was not loaded via \code{source()} if the \code{DASH_APP_PATH} environment variable is undefined. } +\item{\code{get_relative_path(path, requests_pathname_prefix)}}{ +The \code{get_relative_path} method simplifies the handling of URLs and pathnames for apps +running locally and on a deployment server such as Dash Enterprise. It handles the prefix +for requesting assets similar to the \code{get_asset_url} method, but can also be used for URL handling +in components such as \code{dccLink} or \code{dccLocation}. For example, \code{app$get_relative_url("/page/")} +would return \code{/app/page/} for an app running on a deployment server. The path must be prefixed with +a \code{/}. +\describe{ +\item{path}{Character. A path string prefixed with a leading \code{/} which directs at a path or asset directory.} +\item{requests_pathname_prefix}{Character. The pathname prefix for the app on a deployed application. Defaults to the environment variable set by the server, or \code{""} if run locally.} +} +} +\item{\code{strip_relative_path(path, requests_pathname_prefix)}}{ +The \code{strip_relative_path} method simplifies the handling of URLs and pathnames for apps +running locally and on a deployment server such as Dash Enterprise. It acts almost opposite the \code{get_relative_path} +method, by taking a \code{relative path} as an input, and returning the \code{path} stripped of the \code{requests_pathname_prefix}, +and any leading or trailing \code{/}. For example, a path string \code{/app/homepage/}, would be returned as +\code{homepage}. This is particularly useful for \code{dccLocation} URL routing. +\describe{ +\item{path}{Character. A path string prefixed with a leading \code{/} and \code{requests_pathname_prefix} which directs at a path or asset directory.} +\item{requests_pathname_prefix}{Character. The pathname prefix for the app on a deployed application. Defaults to the environment variable set by the server, or \code{""} if run locally.} +} +} \item{\code{index_string(string)}}{ The \code{index_string} method allows the specification of a custom index by changing the default \code{HTML} template that is generated by the Dash UI. Meta tags, CSS, Javascript, @@ -176,9 +211,9 @@ by assigning them to variables present in the template. This is similar to the \ but offers the ability to change the default components of the Dash index as seen in the example below: \preformatted{ app$interpolate_index( - template_index, - metas = "<meta_charset='UTF-8'/>", - renderer = renderer, + template_index, + metas = "<meta_charset='UTF-8'/>", + renderer = renderer, config = config) } \describe{ @@ -194,7 +229,7 @@ The \code{run_server} method has 13 formal arguments, several of which are optio \item{port}{Integer. Specifies the port number on which the server should listen (default is \code{8050}). Environment variable: \code{PORT}.} \item{block}{Logical. Start the server while blocking console input? Default is \code{TRUE}.} \item{showcase}{Logical. Load the Dash application into the default web browser when server starts? Default is \code{FALSE}.} -\item{use_viewer}{Logical. Load the Dash application into RStudio's viewer pane? Requires that \code{host} is either \code{127.0.0.1} or \code{localhost}, and that Dash application is started within RStudio; if \code{use_viewer = TRUE} and these conditions are not satsified, the user is warned and the app opens in the default browser instead. Default is \code{FALSE}.} +\item{use_viewer}{Logical. Load the Dash application into RStudio's viewer pane? Requires that \code{host} is either \code{127.0.0.1} or \code{localhost}, and that Dash application is started within RStudio; if \code{use_viewer = TRUE} and these conditions are not satisfied, the user is warned and the app opens in the default browser instead. Default is \code{FALSE}.} \item{debug}{Logical. Enable/disable all the dev tools unless overridden by the arguments or environment variables. Default is \code{FALSE} when called via \code{run_server}. Environment variable: \code{DASH_DEBUG}.} \item{dev_tools_ui}{Logical. Show Dash's dev tools UI? Default is \code{TRUE} if \code{debug == TRUE}, \code{FALSE} otherwise. Environment variable: \code{DASH_UI}.} \item{dev_tools_hot_reload}{Logical. Activate hot reloading when app, assets, and component files change? Default is \code{TRUE} if \code{debug == TRUE}, \code{FALSE} otherwise. Requires that the Dash application is loaded using \code{source()}, so that \code{srcref} attributes are available for executed code. Environment variable: \code{DASH_HOT_RELOAD}.} diff --git a/man/clientsideFunction.Rd b/man/clientsideFunction.Rd index a82438db..771be8de 100644 --- a/man/clientsideFunction.Rd +++ b/man/clientsideFunction.Rd @@ -14,6 +14,8 @@ for the function at \code{window[namespace][function_name]}.)} } \description{ Create a callback that updates the output by calling a clientside (JavaScript) function instead of an R function. +Note that it is also possible to specify JavaScript as a character string instead of passing \code{clientsideFunction}. +In this case Dash will inline your JavaScript automatically, without needing to save a script inside \code{assets}. } \details{ With this signature, Dash's front-end will call \code{window.my_clientside_library.my_function} with the current @@ -39,5 +41,14 @@ app$callback( namespace = 'my_clientside_library', function_name = 'my_function' ) +) + +# Passing JavaScript as a character string +app$callback( + output('output-clientside', 'children'), + params=list(input('input', 'value')), + "function (value) { + return 'Client says \\"' + value + '\\"'; + }" )} } diff --git a/tests/integration/clientside/test_clientside_inline.py b/tests/integration/clientside/test_clientside_inline.py new file mode 100644 index 00000000..86edd808 --- /dev/null +++ b/tests/integration/clientside/test_clientside_inline.py @@ -0,0 +1,72 @@ +from selenium.webdriver.support.select import Select +import time, os + +app = """ +library(dash) +library(dashCoreComponents) +library(dashHtmlComponents) + +app <- Dash$new() + +app$layout(htmlDiv(list( + dccInput(id='input'), + htmlDiv(id='output-clientside'), + htmlDiv(id='output-serverside') + ) + ) +) + +app$callback( + output(id = "output-serverside", property = "children"), + params = list( + input(id = "input", property = "value") + ), + function(value) { + sprintf("Server says %s", value) + } +) + +app$callback( + output('output-clientside', 'children'), + params=list(input('input', 'value')), + " + function (value) { + return 'Client says \\"' + value + '\\"'; + }" +) + +app$run_server() +""" + + +def test_rscc001_clientside(dashr): + dashr.start_server(app) + dashr.wait_for_text_to_equal( + '#output-clientside', + 'Client says "undefined"' + ) + dashr.wait_for_text_to_equal( + "#output-serverside", + "Server says NULL" + ) + input1 = dashr.find_element("#input") + dashr.clear_input(input1) + input1.send_keys("Clientside") + dashr.wait_for_text_to_equal( + '#output-clientside', + 'Client says "Clientside"' + ) + dashr.wait_for_text_to_equal( + "#output-serverside", + "Server says Clientside" + ) + dashr.clear_input(input1) + input1.send_keys("Callbacks") + dashr.wait_for_text_to_equal( + '#output-clientside', + 'Client says "Callbacks"' + ) + dashr.wait_for_text_to_equal( + "#output-serverside", + "Server says Callbacks" + ) diff --git a/tests/integration/test_generation.py b/tests/integration/test_generation.py new file mode 100644 index 00000000..3e60f71a --- /dev/null +++ b/tests/integration/test_generation.py @@ -0,0 +1,68 @@ +from selenium.webdriver.support.select import Select +from selenium.webdriver.support.ui import WebDriverWait + +app = """ +library(dash) +library(dashHtmlComponents) +library(dashGeneratorTestComponentNested) +library(dashGeneratorTestComponentStandard) + +app <- Dash$new() +app$layout(htmlDiv(list( + dgtc_standardMyStandardComponent(id="standard", value="Standard"), + dgtc_nestedMyNestedComponent(id="nested", value="Nested") +))) + +app$run_server() +""" + +styled_app = """ +library(dash) +library(dashHtmlComponents) +library(dashGeneratorTestComponentStandard) + +app <- Dash$new() +app$layout(htmlDiv(list( + htmlButton(id='btn', list('Click')), + htmlDiv(id='container') +))) + +app$callback(output(id = 'container', property = 'children'), + list(input(id = 'btn', property = 'n_clicks')), + function(n_clicks) { + if (is.null(unlist(n_clicks))) { + return(dashNoUpdate()) + } else { + return(list(dgtc_standardMyStandardComponent(id="standard", value="Standard", style=list(fontFamily="godfather")))) + } + }) + +app$run_server() +""" + + +def test_gene001_simple_callback(dashr): + dashr.start_server(app) + + assert dashr.wait_for_element("#standard").text == "Standard" + assert dashr.wait_for_element("#nested").text == "Nested" + + dashr.percy_snapshot("gene001-simple-callback") + + +def test_gene002_arbitrary_resources(dashr): + dashr.start_server(styled_app) + + assert ( + dashr.driver.execute_script("return document.fonts.check('1em godfather')") + is False + ) + + dashr.wait_for_element("#btn").click() + assert dashr.wait_for_element("#standard").text == "Standard" + + WebDriverWait(dashr.driver, 10).until( + lambda _: dashr.driver.execute_script("return document.fonts.check('1em godfather')") is True, + ) + + dashr.percy_snapshot("gene002-arbitrary-resource") \ No newline at end of file diff --git a/tests/integration/test_render.py b/tests/integration/test_render.py new file mode 100644 index 00000000..07c0293b --- /dev/null +++ b/tests/integration/test_render.py @@ -0,0 +1,62 @@ +def click_undo(self): + undo_selector = "._dash-undo-redo span:first-child div:last-child" + undo = self.wait_for_element_by_css_selector(undo_selector) + self.wait_for_text_to_equal(undo_selector, "undo") + undo.click() + + +def click_redo(self): + redo_selector = "._dash-undo-redo span:last-child div:last-child" + self.wait_for_text_to_equal(redo_selector, "redo") + redo = self.wait_for_element_by_css_selector(redo_selector) + redo.click() + + +app = ''' +library(dash) +library(dashHtmlComponents) +library(dashCoreComponents) +app <- Dash$new(show_undo_redo=TRUE) + +app$layout(htmlDiv(list(dccInput(id="a"), htmlDiv(id="b")))) + +app$callback( + output("b", "children"), + list(input("a", "value")), + function(a) { + return(a) + } +) + +app$run_server() +''' + + +def test_rstr001r_undo_redo(dashr): + dashr.start_server(app) + dashr.wait_for_element_by_css_selector( + "#a" + ) + input1 = dashr.find_element("#a") + input1.send_keys("xyz") + dashr.wait_for_text_to_equal( + "#b", "xyz", timeout=1 + ) + click_undo(dashr) + dashr.wait_for_text_to_equal( + "#b", "xy", timeout=1 + ) + click_undo(dashr) + dashr.wait_for_text_to_equal( + "#b", "x", timeout=1 + ) + click_redo(dashr) + dashr.wait_for_text_to_equal( + "#b", "xy", timeout=1 + ) + dashr.percy_snapshot(name="undo-redo") + click_undo(dashr) + click_undo(dashr) + dashr.wait_for_text_to_equal( + "#b", "", timeout=1 + ) diff --git a/tests/testthat/test-components.R b/tests/testthat/test-components.R new file mode 100644 index 00000000..d1ef450e --- /dev/null +++ b/tests/testthat/test-components.R @@ -0,0 +1,93 @@ +context("components") + +test_that("Components work recursively (components can be children of components)", { + + # div inside a div + x <- dashHtmlComponents::htmlDiv(id = "one", htmlDiv(id = "two")) + expect_true(dash:::is.component(x)) + expect_true(dash:::is.component(x[[1]]$children)) + + # slider inside a div + x <- htmlDiv( + dashCoreComponents::dccSlider( + id = "h", + min = 1, + max = 100, + value = 48 + ) + ) + + expect_true(dash:::is.component(x)) + expect_true(dash:::is.component(x[[1]]$children)) + slider <- x$props + expect_true(slider$children$props[["id"]] == "h") + expect_true(slider$children$props[["min"]] == 1) + expect_true(slider$children$props[["max"]] == 100) + expect_true(slider$children$props[["value"]] == 48) +}) + +test_that("Component constructors behave as intended", { + + # components have three main keys + # (1) props: or the main properties, which are recursive (component) + # (2) type: or the 'name' of the component + # (3) namespace: is this a core/html component? + + expect_component_names <- function(component) { + diff <- dash:::setdiffsym(names(component), c("props", "type", "namespace", "propNames", "package")) + expect_length(diff, 0) + } + + expect_component_names(dashHtmlComponents::htmlA()) + expect_component_names(dashCoreComponents::dccDropdown()) + + expect_equal( + htmlH2("A header")$props$children[[1]], "A header" + ) + + # test akin to this one https://github.com/plotly/dash-renderer/blob/851d717b/tests/test_render.py#L25-L38 + vals <- list("Basic string", 3.14, NULL, htmlDiv("Just a test")) + prop_vals <- htmlH2(vals)$props + expect_identical(prop_vals$children[[1]], vals[[1]]) + + # TODO: test the rendered DOM! + +}) + + +test_that("Giving nonsense arguments to components yields error", { + expect_error( + htmlA(nonsense = "string", gibberish = "string"), + "The following props are not valid in this component: 'nonsense, gibberish'", + fixed = TRUE + ) +}) + +# test_that("Can identify whether a component contains a component of a given type", { +# g <- dashCoreComponents::dccGraph() +# s <- dashCoreComponents::dccSlider() +# expect_true(dash:::component_contains_type(g, "dashCoreComponents", "Graph")) +# expect_false(dash:::component_contains_type(g, "dash", "Graph")) +# expect_false(dash:::component_contains_type(s, "dashCoreComponents", "Graph")) +# expect_true(dash:::component_contains_type(htmlDiv(children=list(s, htmlDiv(g))), "dashCoreComponents", "Graph")) +# }) + +test_that("wildcard attributes work with children", { + s1 <- htmlSpan("hmm", className = "value-output", `data-icon` = "fa-pencil") + s2 <- htmlSpan(children = list("hmm"), className = "value-output", `data-icon` = "fa-pencil") + + expect_equal(s1$props$children, "hmm") + expect_equal(s1$props$`data-icon`, "fa-pencil") + expect_equal(s2$props$children, list("hmm")) + expect_equal(s2$props$`data-icon`, "fa-pencil") +}) + +# test_that("Can translate arbitrary HTML string", { +# skip_if_not_installed("dashDangerouslySetInnerHtml") +# +# html <- "<div> 1 </div>" +# expect_is( +# dashDangerouslySetInnerHtml::DangerouslySetInnerHTML(HTML(html)), +# "dash_component" +# ) +# }) diff --git a/tests/testthat/test-dash.R b/tests/testthat/test-dash.R new file mode 100644 index 00000000..e7779dc2 --- /dev/null +++ b/tests/testthat/test-dash.R @@ -0,0 +1,28 @@ +context("dash-api") + +test_that("Can access fiery server within a dash app", { + + d <- Dash$new() + expect_is(d, c("Dash", "R6")) + expect_is(d$server, c("Fiery", "R6")) + +}) + +test_that("Can set/get layout", { + + d <- Dash$new() + div <- htmlDiv("A div", id = "An id") + + # rendered layout has a container div + d$layout(div) + l <- d$layout_get() + expect_true(dash:::is.layout(l)) + expect_identical(l$props$children[[1]], div) + + # dynamic layouts + d$layout(function() { div }) + l2 <- d$layout_get() + expect_identical(l, l2) + expect_is(d$layout_get(render = FALSE), "function") + +}) diff --git a/tests/testthat/test-layout.R b/tests/testthat/test-layout.R new file mode 100644 index 00000000..4bc783ff --- /dev/null +++ b/tests/testthat/test-layout.R @@ -0,0 +1,12 @@ +context("layout") + +test_that("layout IDs must be unique", { + + app <- Dash$new() + + expect_error( + app$layout(htmlA(id = "a"), htmlA(id = "a")), + "layout ids must be unique -- the following id was duplicated: 'a'" + ) + +}) diff --git a/tests/testthat/test-wildcards.R b/tests/testthat/test-wildcards.R new file mode 100644 index 00000000..5f35ab22 --- /dev/null +++ b/tests/testthat/test-wildcards.R @@ -0,0 +1,28 @@ +context("wildcards") + +test_that("HTML `data-*` & `aria-* ` wildcards work", { + x <- htmlDiv(`data-foo` = 1) + expect_equal(x$props$`data-foo`, 1) + expect_true("data-foo" %in% x$propNames) + + x <- htmlDiv(`aria-bar` = "b") + expect_equal(x$props$`aria-bar`, "b") + expect_true("aria-bar" %in% x$propNames) + + x <- htmlDiv(`data-foo` = NA, `aria-bar` = 1:10) + expect_equal(x$props$`data-foo`, NA) + expect_equal(x$props$`aria-bar`, 1:10) + expect_true("data-foo" %in% x$propNames) + expect_true("aria-bar" %in% x$propNames) +}) + + +test_that("HTML `data-*` & `aria-* ` wildcards are passed along to layout appropriately ", { + app <- Dash$new() + app$layout(htmlDiv(id = "foo", `data-foo` = 1)) + x <- app$layout_get() + expect_equal(x$props$children[[1]]$props$`data-foo`, 1) +}) + +# TODO: test NULL values aren't rendered on the HTML div +# https://github.com/plotly/dash/pull/237/files#r179251041